*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b1e1c;color:#e8f0ee;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#app{position:relative;height:100%;overflow:hidden}#stage{display:block;width:100%;height:100%;touch-action:none}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 58%,rgba(4,14,13,.5))}.screen{position:absolute;inset:0;display:grid;place-content:center;align-content:center;gap:.75rem;text-align:center;padding:1.2rem;z-index:6;overflow-y:auto;background:radial-gradient(ellipse at center,#0b1e1c99,#050e0de6)}.screen[hidden],.hud[hidden],.touch-controls[hidden],#surge-banner[hidden]{display:none}.eyebrow{margin:0;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:#6fd6c0}h1{margin:0;font-size:clamp(2.4rem,9vw,5rem);line-height:1;letter-spacing:-.02em}h2{margin:0;font-size:clamp(1.8rem,6vw,3rem);line-height:1.1}.lede{margin:0 auto;max-width:36rem;color:#c3cfd4;line-height:1.45}.hint{margin:0;font-size:.8rem;color:#a9b8bf}.primary{justify-self:center;padding:.7rem 1.6rem;border-radius:999px;border:1px solid #6fd6c0;background:#6fd6c0;color:#05100e;font-weight:700;font-size:1rem;cursor:pointer;min-height:44px;font-family:inherit}.primary:active{transform:scale(.97)}.ghost{padding:.7rem 1.4rem;border-radius:999px;border:1px solid #8fa2a8;background:transparent;color:#e8f0ee;font-weight:600;font-size:1rem;cursor:pointer;min-height:44px;font-family:inherit}button:focus-visible{outline:2px solid #ffd45a;outline-offset:3px}#levels{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}#levels button{display:grid;gap:.15rem;min-width:7.6rem;padding:.6rem .9rem;border-radius:.9rem;border:1px solid #355c57;background:#0b1e1ccc;color:#f0f6f4;cursor:pointer;font:inherit}#levels button[aria-checked=true]{border-color:#6fd6c0;background:#6fd6c029;box-shadow:0 0 0 1px #6fd6c0 inset}.lv-name{font-weight:700}.lv-meta{font-size:.74rem;color:#e6f0f0}.row{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}.stars{margin:0;font-size:2rem;letter-spacing:.25em;color:#ffc65a}.score-line{margin:0;font-weight:700}.hud{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:.4rem;padding:.6rem .75rem;pointer-events:none}.hud-top,.hud-row{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-variant-numeric:tabular-nums;font-size:.82rem}.hud-top span,.hud-row span{background:#071413d1;border:1px solid #355c57;padding:.22rem .65rem;border-radius:999px}.hud-top span.hot,.hud-row span.hot{color:#ffb36a;border-color:#ff9a4a}.hud button{pointer-events:auto;background:#071413e0;color:#e8f0ee;border:1px solid #6fd6c0;border-radius:999px;padding:.3rem .8rem;cursor:pointer;min-height:36px;font-size:.8rem;font-family:inherit}.meter{position:relative;height:18px;background:#071413d9;border:1px solid #355c57;border-radius:999px}#level-fill{height:100%;width:10%;background:linear-gradient(90deg,#2a7fa8,#6fd6c0);border-radius:999px}.meter .band{position:absolute;top:0;bottom:0;left:var(--bmin, 57%);width:var(--bw, 26%);background:#51ff7a4d;border-left:1px solid #51ff7a;border-right:1px solid #51ff7a}.meter .mark{position:absolute;top:-4px;bottom:-4px;left:70%;width:4px;margin-left:-2px;background:#51ff7a;border-radius:2px;box-shadow:0 0 8px #51ff7a}.meter .gtick{position:absolute;top:-7px;bottom:-7px;left:50%;width:3px;margin-left:-1px;background:#ffd45a;border-radius:2px;box-shadow:0 0 6px #ffd45a}.meter .gtick.bad{background:#ff6a5a;box-shadow:0 0 8px #ff6a5a}.holdbox{display:inline-block;width:74px;height:14px;padding:0;position:relative;overflow:hidden}#hold-fill{position:absolute;inset:0 auto 0 0;width:100%;background:#7fb8ff}.holdbox.lock #hold-fill{background:#6a7a86}#message{margin:.1rem auto 0;text-align:center;font-size:.9rem;font-weight:600;color:#e9fff6;background:#071413d1;padding:.28rem .9rem;border-radius:999px;max-width:94vw}#message.warn{color:#ffd0c8;background:#781e14e0}#message.go{color:#052;background:#7dff9e}#surge-banner{align-self:center;margin:0;padding:.4rem 1rem;border-radius:999px;background:#be3c1ef0;border:1px solid #ffd45a;color:#fff;font-weight:700;font-size:.85rem;white-space:nowrap;animation:pulse .7s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.05)}}.touch-controls{position:absolute;left:.75rem;right:.75rem;bottom:calc(.9rem + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;gap:.75rem;pointer-events:none}.touch-controls button{pointer-events:auto;touch-action:manipulation;min-height:64px;min-width:96px;border-radius:16px;font-size:1.1rem;font-weight:800}#hold-btn{border:1px solid #7fb8ff;background:#7fb8ff33;color:#e8f2ff}#hold-btn.on{background:#7fb8ff;color:#04101c}.touch-controls .gate{min-width:150px}@media(prefers-reduced-motion:reduce){#surge-banner{animation:none}*{transition:none!important}}#gate-btn{background:#6fd6c0;color:#05100e;border-color:#6fd6c0}
