*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b1026;color:#e8eef7;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}#app{position:relative;height:100%;overflow:hidden}#stage{display:block;width:100%;height:100%;touch-action:none}#flash{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#ff5a3c00 40%,#ff46288c);transition:opacity .35s ease-out}#flash.on{opacity:1;transition:none}.screen{position:absolute;inset:0;display:grid;place-content:center;gap:.8rem;text-align:center;padding:1.5rem;z-index:10;background:radial-gradient(ellipse at center,#070a1c85,#030512e0);overflow-y:auto}.screen[hidden],#hud[hidden],#touch-controls[hidden],#banner[hidden]{display:none}.eyebrow{margin:0;font-size:.75rem;letter-spacing:.32em;text-transform:uppercase;color:#8fd8ff}h1{margin:0;font-size:clamp(2.6rem,10vw,5.2rem);line-height:.95;letter-spacing:-.02em;text-shadow:0 0 28px rgba(143,216,255,.45)}h2{margin:0;font-size:clamp(1.8rem,6vw,3.2rem);line-height:1.1}.lede{margin:0 auto;max-width:36rem;color:#c3cde2;line-height:1.45}.primary{justify-self:center;padding:.8rem 1.8rem;border-radius:999px;border:1px solid #8fd8ff;background:#c8ecff;color:#05101f;font:inherit;font-weight:800;cursor:pointer}.ghost{padding:.8rem 1.4rem;border-radius:999px;border:1px solid #8fd8ff;background:transparent;color:#c8ecff;font:inherit;font-weight:700;cursor:pointer}.hint{margin:0;font-size:.8rem;color:#a3b1cc}.row{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}button:focus-visible{outline:3px solid #ffe9a8;outline-offset:3px}#levels{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}#levels button{display:grid;gap:.15rem;min-width:8.4rem;padding:.6rem .9rem;border-radius:.9rem;border:1px solid #3c4a78;background:#0f1634cc;color:#eef3fb;cursor:pointer;font:inherit}#levels button[aria-checked=true]{border-color:#8fd8ff;background:#8fd8ff29;box-shadow:0 0 0 1px #8fd8ff inset}.lv-name{font-weight:700}.lv-meta{font-size:.75rem;color:#b6c4de}.stars{margin:0;font-size:2rem;letter-spacing:.25em;color:#ffd978}.score-line{margin:0;font-weight:700;color:#ffe9a8}#hud{position:absolute;inset:0 0 auto;padding:max(.6rem,env(safe-area-inset-top)) .8rem 0;z-index:5;pointer-events:none}.hud-top{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center;font-weight:700;font-variant-numeric:tabular-nums}.chip{background:#070a1cd1;border:1px solid #34457a;border-radius:999px;padding:.22rem .7rem;font-size:.82rem;color:#eef3fb}.chip.hot{border-color:#ffe9a8;color:#ffe9a8}.chip.warn{border-color:#ff9a8a;color:#ffb3a6}#mute-btn{pointer-events:auto;padding:.25rem .8rem;border-radius:999px;border:1px solid #8fd8ff;background:#070a1cd1;color:#c8ecff;font:inherit;font-size:.8rem;cursor:pointer}.goal{height:8px;margin:.5rem auto 0;max-width:34rem;background:#ffffff24;border-radius:99px;overflow:hidden}#goal-fill{height:100%;width:0%;background:linear-gradient(90deg,#8fd8ff,#ffe9a8);transition:width .2s}.tilt{position:relative;height:6px;margin:.4rem auto 0;max-width:14rem;background:#ffffff29;border-radius:99px}.tilt-safe{position:absolute;top:0;bottom:0;left:var(--lo, 15%);right:var(--lo, 15%);background:#8fd8ff59;border-radius:99px}#tilt-dot{position:absolute;top:-3px;width:12px;height:12px;margin-left:-6px;left:50%;border-radius:50%;background:#ffe9a8;box-shadow:0 0 6px #ffe9a8}#tilt-dot.over{background:#ff8a76;box-shadow:0 0 8px #ff6a50}#banner{margin:.6rem auto 0;width:fit-content;max-width:92vw;padding:.4rem 1rem;border-radius:999px;background:#be321eeb;border:1px solid #ffd45a;color:#fff;font-weight:800;font-size:.88rem;text-align:center;animation:pulse .6s ease-in-out infinite alternate}#banner.gale{background:#145a96f0;border-color:#8fd8ff}@keyframes pulse{to{transform:scale(1.05)}}#hud-msg{margin:.5rem 0 0;text-align:center;min-height:1.4em;color:#d7efff;font-weight:700;font-size:.9rem;text-shadow:0 1px 6px #000}#touch-controls{position:absolute;bottom:max(1rem,env(safe-area-inset-bottom));left:1rem;right:1rem;display:none;justify-content:space-between;align-items:flex-end;z-index:6}#touch-controls button{width:76px;height:76px;border-radius:50%;border:1px solid #8fd8ff;background:#0b1026bd;color:#d7efff;font:inherit;font-size:1.6rem;touch-action:none;user-select:none;-webkit-user-select:none}#touch-controls #touch-steady{width:auto;height:56px;border-radius:999px;padding:0 1.3rem;font-size:.9rem;font-weight:800;border-color:#ffe9a8;color:#ffe9a8}#touch-controls #touch-steady:disabled{opacity:.45}@media(pointer:coarse){#touch-controls:not([hidden]){display:flex}}@media(max-width:520px){.chip{font-size:.74rem;padding:.18rem .55rem}#mute-btn{font-size:.74rem}}@media(prefers-reduced-motion:reduce){#goal-fill{transition:none}#banner{animation:none}#flash{transition:none}}
