:root{color-scheme:dark;font-family:Manrope,system-ui,sans-serif;color:#eef1f8;background:#070a11;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 38% 38%,#18213a 0,#0b0f1b 32%,#070a11 72%)}button,input{font:inherit}button{color:inherit}:focus-visible{outline:2px solid #ffb844;outline-offset:3px}#app{min-height:100svh;display:flex;flex-direction:column;padding:20px clamp(12px,3vw,48px) 16px}.site-info{max-width:760px;margin:0 auto;padding:28px 24px 48px;color:#a5aec0;font-size:14px;line-height:1.8}.site-info h1{color:#eef1f8;font-size:28px}.site-info summary{cursor:pointer;color:#eef1f8}.site-info summary:focus-visible{outline:2px solid #ffb844;outline-offset:4px}.site-info li+li{margin-top:8px}header{display:flex;justify-content:space-between;align-items:center;gap:24px}.app-title{font-size:24px;line-height:42px;white-space:nowrap}h1,h2{margin:0;letter-spacing:-.045em}h1{font-size:clamp(30px,4vw,52px)}h2{font-size:28px}.eyebrow{color:#98a2b8;font:500 10px/1.8 DM Mono,monospace;letter-spacing:.22em}.ghost{border:1px solid #30384a;background:#101522;border-radius:9px;padding:9px 14px;cursor:pointer}.ghost:hover{border-color:#626d84}main{width:100%;flex:1;display:flex;flex-direction:column}.stage{width:100%;flex:1;min-height:440px;position:relative;display:grid;place-items:center}#wheel-canvas{width:100%;height:calc(100% - 170px);position:absolute;top:0;left:0;touch-action:pan-y pinch-zoom}.wheel-glow{position:absolute;width:60%;aspect-ratio:1;border-radius:50%;background:#5a75c422;filter:blur(55px)}.spin-button{--charge:0;position:absolute;bottom:1%;width:min(280px,65%);height:60px;overflow:hidden;isolation:isolate;border:1px solid #68748d;border-radius:999px;background:#171d2b;cursor:pointer;font:500 12px DM Mono,monospace;letter-spacing:.16em;box-shadow:0 14px 34px #0008;touch-action:none}.spin-button,.spin-button *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.spin-button i{--charge:0;position:absolute;z-index:-1;inset:0;transform-origin:left;transform:scaleX(var(--charge));background:linear-gradient(90deg,#da6427,#ffbd3d);transition:transform .04s linear}.spin-button.charging{border-color:#ffbf52;box-shadow:0 0 34px #ff9b2850}.editor{width:min(560px,calc(100% - 24px));max-height:calc(100svh - 32px);margin:auto;color:inherit;border:1px solid #364057;border-radius:20px;padding:24px;background:#0d121d;box-shadow:0 24px 90px #000a;overflow:auto}.editor::backdrop{background:#03060bc9;backdrop-filter:blur(8px)}body:has(.editor[open]){overflow:hidden}.hint:empty{display:none}.panel-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.editor-list{max-height:390px;overflow:auto;padding:3px;scrollbar-width:thin}.editor-row{display:grid;grid-template-columns:1fr repeat(3,30px);gap:5px;margin-bottom:7px}.editor-row input{min-width:0;height:38px;border:1px solid #69758b;border-radius:8px;padding:0 11px;color:#e7ebf4;background:#121824}.editor-row button{border:0;border-radius:7px;color:#9da7ba;background:#171e2c;cursor:pointer}.editor-row button:hover:not(:disabled){color:#fff;background:#293247}.editor-row button:disabled{opacity:.2;cursor:default}.editor-actions{display:flex;gap:8px;margin-top:14px}.editor-actions button{flex:1;border:1px solid #384156;border-radius:9px;padding:10px;background:#171e2c;cursor:pointer}.reset-actions{margin-top:14px}#reset-wheel{width:100%;border:1px solid #873f49;border-radius:9px;padding:10px;color:#ff9ba6;background:#341b24;cursor:pointer}#reset-wheel:hover:not(:disabled){border-color:#e66c7c;background:#48212d}.hint{color:#a5aec0;font-size:12px;line-height:1.55;margin:20px 0 0}.unsupported{max-width:500px;padding:34px;text-align:center;border:1px solid #4b3540;border-radius:16px;background:#25151b}.unsupported strong{font-size:24px}.unsupported p{color:#c6aeb7}@media(max-width:820px){#app{padding-top:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}fieldset{border:0;margin:0;padding:0;min-width:0}button:disabled{opacity:.4;cursor:default}.header-actions,.secondary-spin{display:flex;gap:8px}.header-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.actions-menu{position:relative}#wheel-actions{display:flex;gap:8px}#toggle-actions{display:none}.header-actions button{height:42px;line-height:22px;white-space:nowrap;flex-shrink:0}#edit-wheel{width:106px}#share-wheel{width:78px}#show-history{width:120px}#mute,#show-info{width:50px}.spin-controls{position:absolute;bottom:0;display:grid;justify-items:center;gap:10px;width:100%}.spin-button{position:relative;bottom:auto;font-family:Manrope,system-ui,sans-serif;font-size:16px;font-weight:700;text-transform:uppercase}.secondary-spin button,details button,.unsupported button{border:1px solid #384156;border-radius:8px;padding:8px 12px;background:#171e2c;cursor:pointer}.secondary-spin{font-size:12px}details{border-top:1px solid #293143;margin-top:16px;padding-top:12px;font-size:12px}summary{cursor:pointer}details label{display:block;margin:12px 0 6px;color:#a5aec0}textarea{width:100%;color:#e7ebf4;background:#121824;border:1px solid #69758b;border-radius:8px;padding:8px;font:inherit}textarea{resize:vertical}details>button{margin-top:8px}.unsupported{z-index:3}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.share-link-panel{margin-top:16px;font-size:12px;color:#a5aec0}.share-link-panel input{width:100%;margin-top:6px;padding:8px;border:1px solid #69758b;border-radius:8px;color:#e7ebf4;background:#121824}@media(max-width:820px){header{flex-wrap:nowrap;gap:8px}.app-title{font-size:20px}.header-actions{flex-wrap:nowrap;gap:6px}.header-actions button{height:44px;padding:10px;font-size:14px;line-height:22px}#toggle-actions{display:grid;place-items:center}#toggle-actions,#mute,#show-info{width:44px}#wheel-actions{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:5;width:180px;padding:6px;border:1px solid #384156;border-radius:12px;background:#101522;box-shadow:0 12px 32px #0008}#wheel-actions.open{display:flex;flex-direction:column;gap:4px}#wheel-actions button{width:100%;text-align:left;border-color:transparent}#wheel-actions button:hover:not(:disabled){background:#293247}}@media(max-width:480px){.editor{padding:18px}}@media(max-width:360px){.app-title{font-size:16px}}.spin-history{list-style:none;margin:12px 0 0;padding:0;padding-inline-end:12px;max-height:360px;overflow:auto}.spin-history li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #293143}.spin-history li:first-child{border-top:0}.spin-history li>div{flex:1;min-width:0}.spin-history strong,.spin-history time{display:block;overflow-wrap:anywhere}.spin-history time{color:#8792a8;font-size:11px;margin-top:4px}.spin-history button{flex-shrink:0;border:1px solid #384156;border-radius:8px;padding:8px 12px;background:#171e2c;cursor:pointer}#batch-editor label{display:block;margin-bottom:8px;color:#a5aec0;font-size:12px}#bulk-choices{max-height:50svh;line-height:1.6}#batch-error{display:block;min-height:3.1em;margin-top:4px;color:#ff808b}#batch-editor .editor-actions{margin-top:6px}#bulk-choices[aria-invalid=true]{border-color:#ec9f32}#mute,#show-info{display:grid;place-items:center}#mute .sound-off,#mute[aria-pressed=true] .sound-on{display:none}#mute[aria-pressed=true] .sound-off{display:initial}.editor-row input[aria-invalid=true]{border-color:#ec9f32}.wheel-info .panel-heading{align-items:center;gap:16px}.wheel-info h2{font-size:24px}.wheel-info p{color:#b9c2d4;font-size:15px;line-height:1.7}.wheel-info p:last-child{margin-bottom:0}#result{min-height:1.5em;max-width:100%;overflow-wrap:anywhere;text-align:center;font-weight:700}#spin-help{margin:0;max-width:340px;color:#a5aec0;text-align:center;font-size:12px;line-height:1.5}#choice-hint{margin:0 0 12px}.spin-button.charging{color:#070a11;background:#ffbd3d}.editor-list{padding:6px}@media(prefers-reduced-motion:reduce){.spin-button i{display:none}}@media(forced-colors:active){button,input,textarea{border:1px solid ButtonText}:focus-visible{outline:2px solid Highlight}}.wheel-info .site-info{max-width:none;margin:0;padding:0}.wheel-info .site-info details{border:0;margin:0;padding:0;font-size:15px}.wheel-info .site-info summary{font-weight:700}.wheel-info .site-info li{color:#b9c2d4;line-height:1.7}.wheel-info h3{border-top:1px solid #293143;padding-top:20px;margin-top:24px}.wheel-info h4{font-size:15px}
