:root{--void0:#04050b;--void1:#090b15;--panel:#0c0e1ad1;--line:#6ff0ff47;--line-strong:#6ff0ffb3;--text:#e8ecff;--muted:#9aa2c4;--cyan:#38e6ff;--rim:#6ff0ff;--violet:#9a5cff;--violet-hot:#d6b8ff;--amber:#ffb030;--danger:#ff2a6d;--font:"Bahnschrift", "DIN Alternate", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, sans-serif;--cut:14px}*{box-sizing:border-box}html,body{background:var(--void0);height:100%;color:var(--text);font-family:var(--font);margin:0;overflow:hidden}body{-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#app{position:fixed;inset:0}#stage{touch-action:none;-webkit-tap-highlight-color:transparent;position:absolute;inset:0}#stage canvas{display:block}.hidden{display:none!important}.logo{letter-spacing:.32em;text-transform:uppercase;padding-left:.32em;font-size:clamp(34px,6vw,56px);font-weight:700;line-height:1;display:inline-flex}.logo span{background:linear-gradient(#fff 0%,#c9d4ff 45%,#6d74a8 100%);color:#0000;filter:drop-shadow(0 0 18px #6ff0ff40);-webkit-background-clip:text;background-clip:text}.logo .logo-b{background:linear-gradient(#f1e6ff 0%,#b28bff 50%,#6a3fd0 100%);filter:drop-shadow(0 0 22px #9a5cff8c);-webkit-background-clip:text;background-clip:text;font-style:italic;transform:skew(-8deg)}.logo.big{font-size:clamp(34px,min(5.4vw,10.5vh),78px)}.screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:16px;display:flex;position:absolute;inset:0;overflow:hidden auto}.screen.dim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:radial-gradient(#04050b8c,#04050bdb)}#scr-loading{background:var(--void0)}#scr-title{background:linear-gradient(90deg,#04050b33 0%,#04050b8c 55%,#04050bbf 100%);align-items:flex-end}.title-wrap{flex-direction:column;align-items:center;gap:16px;max-width:min(560px,100%);margin-right:clamp(0px,6vw,90px);display:flex}.kicker{letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px}.kicker strong{color:var(--rim);font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.footnote{color:#6f7699;max-width:460px;margin:0;font-size:12px}.controls{color:var(--muted);margin:0;font-size:14px}kbd{border:1px solid var(--line);color:var(--text);background:#6ff0ff0f;border-radius:3px;padding:1px 7px;font-family:inherit;font-size:.85em}.card,.panel{background:var(--panel);border:1px solid var(--line);clip-path:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));padding:20px 24px;position:relative;box-shadow:inset 0 1px #6ff0ff26,0 0 40px #9a5cff14}.card{text-align:left;width:100%}.card:before,.panel:before{content:"";background:var(--rim);width:44px;height:2px;box-shadow:0 0 12px var(--rim);position:absolute;top:0;left:0}.card-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.chip{letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--line);color:var(--rim);padding:4px 9px;font-size:11px}.chip.warn{color:var(--amber);border-color:#ffb03073}.brief{color:#c6cbe4;margin:0 0 10px;font-size:15px;line-height:1.5}.record{color:var(--muted);letter-spacing:.04em;font-size:13px}.record b{color:var(--text);font-weight:600}.panel{min-width:min(360px,92vw);max-width:92vw}.panel.wide{width:min(640px,94vw)}.panel h2{letter-spacing:.24em;text-transform:uppercase;margin:0 0 6px;font-size:26px;font-weight:600}.panel h2.win{color:#fff;text-shadow:0 0 24px #6ff0ff99}.stack{flex-direction:column;gap:10px;margin-top:16px;display:flex}.row-actions{flex-flow:wrap;justify-content:flex-end}.actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn{letter-spacing:.22em;text-transform:uppercase;color:var(--text);border:1px solid var(--line);cursor:pointer;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:#141828e6;min-height:48px;padding:13px 26px;font-family:inherit;font-size:15px;transition:background .15s,border-color .15s,box-shadow .15s,transform 80ms}.btn:hover{border-color:var(--line-strong);background:#1e263ef2}.btn:active{transform:translateY(1px)}.btn:focus-visible{border-color:var(--rim);box-shadow:0 0 0 2px var(--rim), 0 0 18px #6ff0ff80;outline:none}.btn.primary{background:linear-gradient(#6b3ee0,#3d1f94);border-color:#d6b8ffb3;min-width:200px;box-shadow:0 0 24px #9a5cff59}.btn.primary:hover{background:linear-gradient(#7d52f0,#4a28aa)}.btn.ghost{background:0 0}.icon-btn{font:inherit;border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);background:#0c0e1a99;place-items:center;display:grid}.icon-btn svg{fill:currentColor}.icon-btn:hover{border-color:var(--line-strong)}.grid{text-align:left;gap:4px;margin:14px 0 8px;display:grid}.row{cursor:pointer;border-bottom:1px solid #6ff0ff14;grid-template-columns:1fr minmax(140px,1.3fr) 56px;align-items:center;gap:14px;padding:9px 4px;font-size:15px;display:grid}.row output{font-variant-numeric:tabular-nums;color:var(--rim);text-align:right;font-size:13px}input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--violet), var(--rim));opacity:.7;height:3px}input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--violet), var(--rim));opacity:.7;height:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--violet);background:#fff;width:16px;height:16px;margin-top:-6.5px;transform:rotate(45deg)}input[type=range]::-moz-range-thumb{border:2px solid var(--violet);background:#fff;border-radius:0;width:12px;height:12px;transform:rotate(45deg)}input[type=range]:focus-visible{outline:2px solid var(--rim);outline-offset:2px}select{font:inherit;color:var(--text);border:1px solid var(--line);letter-spacing:.08em;background:#11152a;padding:8px 10px;font-size:14px}select:focus-visible{outline:2px solid var(--rim)}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle i{border:1px solid var(--line);background:#0d1020;grid-column:3;justify-self:end;width:44px;height:22px;position:relative}.toggle i:after{content:"";background:var(--muted);width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.toggle input:checked+i{border-color:var(--rim);background:#6ff0ff1a}.toggle input:checked+i:after{background:var(--rim);box-shadow:0 0 8px var(--rim);transform:translate(22px)}.toggle input:focus-visible+i{outline:2px solid var(--rim);outline-offset:2px}.toggle span{grid-column:1/3}#hud{pointer-events:none;position:absolute;inset:0}#hud>*{position:absolute}.hud-left{top:max(14px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 8px #000;font-size:15px}.hud-label{color:var(--muted);font-size:12px}#hud-attempt{font-variant-numeric:tabular-nums;font-weight:600}.hud-progress{top:max(16px, env(safe-area-inset-top));align-items:center;gap:10px;width:min(420px,48vw);display:flex;left:50%;transform:translate(-50%)}.hud-track{clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%);background:#ffffff1a;flex:1;height:4px;overflow:hidden}#hud-bar{transform-origin:0;background:linear-gradient(90deg, var(--violet), var(--rim));width:100%;height:100%;box-shadow:0 0 10px var(--rim);transform:scaleX(0)}#hud-pct{font-variant-numeric:tabular-nums;text-align:right;width:40px;color:var(--rim);letter-spacing:.06em;font-size:13px}#btn-pause{top:max(10px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));pointer-events:auto}.hud-tag{bottom:max(12px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));letter-spacing:.22em;text-transform:uppercase;color:#6f7699;font-size:11px}#prompt{text-align:center;pointer-events:none;width:min(92vw,720px);position:absolute;bottom:16%;left:50%;transform:translate(-50%)}.prompt-main{letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 0 14px #9a5cffcc,0 1px 3px #000;font-size:clamp(15px,2.2vw,20px);animation:1.6s ease-in-out infinite breathe}.prompt-attempt{letter-spacing:.3em;text-transform:uppercase;color:var(--rim);min-height:1em;margin-bottom:6px;font-size:12px}@keyframes breathe{50%{opacity:.65}}#countdown{color:#fff;text-shadow:0 0 30px #6ff0ffb3;pointer-events:none;background:#04050b40;place-items:center;font-size:clamp(64px,12vw,140px);font-weight:700;display:grid;position:absolute;inset:0}.loading-bar{background:#ffffff14;width:min(320px,70vw);height:3px;overflow:hidden}#loading-fill{background:linear-gradient(90deg, var(--violet), var(--rim));width:0;height:100%;box-shadow:0 0 10px var(--rim);transition:width .25s}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 10px;display:grid}.stats div{border:1px solid #6ff0ff24;flex-direction:column;gap:4px;padding:10px 6px;display:flex}.stats span{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600}.stats small{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}#toast{background:var(--panel);color:#ffd79a;border:1px solid #ffb03080;max-width:92vw;padding:10px 16px;font-size:14px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.rotate-icon{border:3px solid var(--rim);border-radius:10px;width:60px;height:96px;animation:2s ease-in-out infinite rot;box-shadow:0 0 20px #6ff0ff66}@keyframes rot{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media (max-height:520px){.screen{gap:10px}.logo.big{font-size:44px}.brief{font-size:13px}.card{padding:12px 16px}.panel{padding:14px 18px}.stack{gap:8px;margin-top:10px}.btn{min-height:42px;padding:9px 20px}.row{padding:5px 4px}.title-wrap{gap:10px}.footnote{display:none}}@media (max-width:760px){#scr-title{align-items:center}.title-wrap{margin-right:0}}@media (prefers-reduced-motion:reduce){.prompt-main,.rotate-icon{animation:none}.btn{transition:none}}.hud-near{top:calc(max(14px, env(safe-area-inset-top)) + 24px);left:max(16px, env(safe-area-inset-left));letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 8px #000;font-size:15px}#hud-near{font-variant-numeric:tabular-nums;color:var(--rim);font-weight:600}.hud-track{position:relative;overflow:visible}#hud-best{background:#ffe6a8;width:2px;height:12px;margin-left:-1px;position:absolute;top:-4px;box-shadow:0 0 8px #ffb030}#hud-best.beaten{background:#fff;box-shadow:0 0 12px #fff}.prompt-sub{letter-spacing:.08em;color:var(--muted);text-shadow:0 1px 3px #000;margin-top:8px;font-size:clamp(11px,1.4vw,13px)}#prompt kbd{font-size:.8em}#banner{text-align:center;pointer-events:none;position:absolute;top:17%;left:50%;transform:translate(-50%)}#banner-kick{letter-spacing:.34em;text-transform:uppercase;color:var(--rim);font-size:12px}#banner-main{letter-spacing:.22em;text-transform:uppercase;color:#fff;text-shadow:0 0 18px #6ff0ff8c,0 2px 4px #000;font-size:clamp(22px,3.4vw,36px);font-weight:700}#banner.strong #banner-kick{color:#ffe6a8}#banner.strong #banner-main{text-shadow:0 0 22px #ffb03099,0 2px 4px #000}#banner.show{animation:1.8s ease-out forwards banner-in}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,8px)scale(.96)}10%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-6px)}}@media (prefers-reduced-motion:reduce){#banner.show{animation:1.8s linear forwards banner-fade}@keyframes banner-fade{0%,80%{opacity:1}to{opacity:0}}}
