:root{--bg: #070818;--ink: #f2f2f7;--dim: #9a9fc8;--accent: #ffe066;--danger: #ff5a5a;--panel: rgba(7, 8, 24, .82);--border: #3a3f78;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,Consolas,Courier New,monospace;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#app{display:grid;place-items:center;height:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}#stage{position:relative;aspect-ratio:16 / 9;width:min(100vw,calc(100dvh * 16 / 9));max-height:100dvh;container-type:inline-size;overflow:hidden;touch-action:none;box-shadow:0 0 0 1px #1c1f44,0 20px 60px #0009}#game{display:block;width:100%;height:100%}#hud{position:absolute;inset:0 0 auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:1.4cqw 2cqw;pointer-events:none;text-shadow:.2cqw .2cqw 0 #000}#hud[hidden]{display:none}.big{font-size:3.6cqw;font-weight:800;line-height:1;color:var(--accent)}.small{font-size:1.4cqw;font-weight:700;letter-spacing:.15em;color:var(--dim)}.hud-chase{text-align:center}.chase-bar{width:24cqw;height:1.4cqw;margin-top:.5cqw;border:.25cqw solid var(--ink);background:#2a0a12}#hud-gap{height:100%;width:50%;background:#6fd06f;transition:width .12s linear}#hud-gap.warn{background:#f0c040}#hud-gap.danger{background:var(--danger);animation:blink .3s steps(2) infinite}.hud-lids{justify-self:end;text-align:right}.lids{display:flex;gap:.6cqw;justify-content:flex-end;margin-top:.5cqw}.lids span{width:2.2cqw;height:.9cqw;border-radius:50%;background:#b4bcc8;box-shadow:0 .2cqw #5f6674}.lids span.empty{background:transparent;border:.2cqw dashed #5f6674;box-shadow:none}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none}.overlay:empty{display:none}.panel{pointer-events:auto;min-width:46cqw;max-width:80cqw;padding:2.4cqw 3.2cqw;text-align:center;background:var(--panel);border:.3cqw solid var(--border);box-shadow:0 0 0 .3cqw #000,.8cqw .8cqw #000}.panel h1{margin:0;font-size:6cqw;line-height:1;letter-spacing:.04em;color:var(--accent);text-shadow:.4cqw .4cqw 0 #8a3a12,.8cqw .8cqw 0 #000}.panel h1 .alt{color:#c4c6d4;text-shadow:.4cqw .4cqw 0 #4b4d5c,.8cqw .8cqw 0 #000}.panel h2{margin:0;font-size:4.4cqw;color:var(--danger);text-shadow:.4cqw .4cqw 0 #000}.panel p{margin:1.2cqw 0 0;font-size:1.7cqw;color:var(--dim)}.panel .score{margin-top:1cqw;font-size:5cqw;font-weight:800;color:var(--ink)}.panel .badge{display:inline-block;margin-top:.8cqw;padding:.3cqw 1cqw;font-size:1.6cqw;font-weight:800;color:#000;background:var(--accent)}.controls,.breakdown{display:grid;grid-template-columns:auto auto;gap:.5cqw 2cqw;justify-content:center;margin-top:1.6cqw;font-size:1.7cqw;text-align:left}.controls kbd{color:var(--accent);font-family:inherit;font-weight:800}.breakdown span:nth-child(2n){color:var(--accent);text-align:right}.cta{margin-top:2cqw;font-size:2cqw;font-weight:800;color:var(--ink);animation:blink 1s steps(2) infinite}.cta.wait{visibility:hidden}.touch-only{display:none}.row{display:flex;gap:1.2cqw;justify-content:center;margin-top:1.6cqw}.btn{padding:.7cqw 1.8cqw;font:inherit;font-size:1.6cqw;font-weight:800;letter-spacing:.1em;color:var(--ink);background:#1c1f44;border:.25cqw solid var(--border);box-shadow:.4cqw .4cqw #000;cursor:pointer}.btn:hover,.btn:focus-visible{border-color:var(--accent);outline:none}.btn:active{transform:translate(.2cqw,.2cqw);box-shadow:.2cqw .2cqw #000}.btn.primary{color:#000;background:var(--accent);border-color:#fff3b0}.btn:disabled{opacity:.5;cursor:default}.panel h2.gold{color:var(--accent)}.panel.wide{min-width:70cqw;max-height:52cqw}.results{display:grid;grid-template-columns:1fr 1.15fr;gap:0 3cqw;align-items:start}.results .col{min-width:0}.results .span{grid-column:1 / -1}.results .breakdown{margin-top:1cqw;font-size:1.5cqw}.results .score{font-size:4.2cqw}.prompt{margin:.5cqw 0 0!important;font-size:2cqw!important;font-weight:800;letter-spacing:.12em;color:var(--ink)!important}.placement{color:var(--accent)!important;font-weight:800;font-size:1.8cqw!important}.picker{display:flex;gap:1.6cqw;justify-content:center;margin-top:1.4cqw}.slot{display:grid;justify-items:center;gap:.3cqw;cursor:ns-resize;touch-action:none}.wheel{display:grid;justify-items:center;padding:.4cqw 1.2cqw;border-radius:.8cqw;background:#3a3f7840}.slot.active .wheel{background:#ffe0661f}.wheel .near{font-size:2.2cqw;font-weight:800;line-height:1.1;color:#4a4f88}.slot .letter{display:block;width:6.4cqw;padding:.4cqw 0;font-size:5.2cqw;font-weight:800;line-height:1;color:var(--ink);border-bottom:.5cqw solid #3a3f78}.slot.active .letter{color:var(--accent);border-bottom-color:var(--accent);animation:blink .8s steps(2) infinite}.nudge{width:5cqw;padding:.2cqw 0;font:inherit;font-size:1.4cqw;color:var(--dim);background:transparent;border:0;cursor:pointer}.nudge:hover{color:var(--accent)}.picker-msg{min-height:2.2cqw;margin-top:.8cqw;font-size:1.5cqw;color:var(--dim)}.picker-msg.error{color:var(--danger)}.picker-actions{display:flex;gap:1.2cqw;justify-content:center;margin-top:.6cqw}.tabs{display:flex;gap:.6cqw;justify-content:center}.tabs button{flex:1;padding:.6cqw 1cqw;font:inherit;font-size:1.5cqw;font-weight:800;letter-spacing:.12em;color:var(--dim);background:transparent;border:0;border-bottom:.3cqw solid #2a2e5a;cursor:pointer}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.board{touch-action:pan-y;max-height:30cqw;margin:.8cqw 0 0;padding:0 .6cqw 0 0;overflow-y:auto;list-style:none;font-size:1.6cqw;scrollbar-width:thin}.board li{display:grid;grid-template-columns:3.4cqw 5cqw 1fr 1fr;gap:1cqw;padding:.35cqw .6cqw;text-align:right}.board li:nth-child(odd){background:#3a3f7838}.board li .pos{color:var(--dim)}.board li .ini{text-align:left;font-weight:800;letter-spacing:.1em}.board li .dist{color:var(--dim)}.board li.me{color:#000;background:var(--accent)}.board li.me .pos,.board li.me .dist{color:#3a2a00}.board li.empty{display:block;padding:2cqw 0;text-align:center;color:var(--dim);background:none}.board-host{margin-top:.6cqw}@keyframes blink{50%{opacity:.35}}#btn-mute{position:absolute;left:1.6cqw;bottom:1.6cqw;width:4.4cqw;height:4.4cqw;padding:0;border:.25cqw solid rgba(242,242,247,.5);border-radius:50%;background:#0708188c center / 60% no-repeat;cursor:pointer}#btn-mute{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4z' fill='%23f2f2f7'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M19 5a10 10 0 0 1 0 14'/%3E%3C/svg%3E")}#btn-mute.muted{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4z' fill='%23f2f2f7'/%3E%3Cpath d='m22 9-6 6M16 9l6 6'/%3E%3C/svg%3E");opacity:.7}#btn-fullscreen{position:absolute;left:7.4cqw;bottom:1.6cqw;width:4.4cqw;height:4.4cqw;padding:0;border:.25cqw solid rgba(242,242,247,.5);border-radius:50%;background:#0708188c center / 55% no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E");cursor:pointer}#btn-fullscreen[hidden]{display:none}#btn-fullscreen.active{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2f2f7' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5'/%3E%3C/svg%3E")}.panel p.greeting{margin-top:.6cqw;font-size:2cqw;font-weight:800;color:#ffb347}.panel p.tip{color:var(--accent)}@media(pointer:coarse){.nudge{font-size:2.6cqw;padding:.6cqw 0}.touch-only{display:block}.controls.touch-only{display:grid}.key-only{display:none}}@media(prefers-reduced-motion:reduce){.cta,#hud-gap.danger{animation:none}}
