*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0a1024;color:#f0ead0;font-family:system-ui,-apple-system,sans-serif}#app{position:relative;height:100%;overflow:hidden}#stage{display:block;width:100%;height:100%;touch-action:none}#frost-veil{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(ellipse at center,#b4dcff00 42%,#aad7ff61 78%,#e6f5ffc7)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 58%,rgba(4,6,16,.5))}.screen{position:absolute;inset:0;display:grid;place-content:center;gap:.7rem;text-align:center;padding:1.5rem 1.25rem;z-index:10;overflow-y:auto;background:radial-gradient(ellipse at center,#0a10249e,#060916e6)}.screen[hidden]{display:none}.eyebrow{margin:0;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:#fc6}h1{margin:0;font-size:clamp(2.4rem,9vw,5rem);line-height:1;letter-spacing:-.02em;color:#ffeeb0;text-shadow:0 0 28px rgba(255,200,100,.35)}h2{margin:0;font-size:clamp(1.8rem,6vw,3rem);line-height:1.1;color:#ffeeb0}.lede{margin:0 auto;max-width:34rem;color:#d6d0b4}.rules{margin:0 auto;max-width:36rem;font-size:.88rem;line-height:1.45;color:#cfd6e4}.rules strong{color:#ffdf8e}.hint{margin:0;font-size:.78rem;color:#a9b7cc}.primary{justify-self:center;padding:.7rem 1.6rem;border-radius:999px;border:1px solid #ffcc66;background:#fc6;color:#1a0f00;font-weight:700;font-size:1rem;cursor:pointer}.primary.alt{background:#9fe0ff;border-color:#9fe0ff}.primary[hidden]{display:none}.ghost{padding:.7rem 1.4rem;border-radius:999px;border:1px solid #8fa0bc;background:transparent;color:#eef0f6;font-weight:600;font-size:1rem;cursor:pointer}.row{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}.stars{margin:0;font-size:2rem;letter-spacing:.25em;color:#ffcf6a}.score-line{margin:0;font-weight:700}button:focus-visible{outline:3px solid #ffe08a;outline-offset:3px}#levels{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}#levels button{display:grid;gap:.15rem;min-width:7.8rem;padding:.6rem .9rem;border-radius:.9rem;border:1px solid #4a5a82;background:#0e1630cc;color:#f2eedc;cursor:pointer;font:inherit}#levels button[aria-checked=true]{border-color:#fc6;background:#ffcc6629;box-shadow:0 0 0 1px #fc6 inset}.lv-name{font-weight:700}.lv-meta{font-size:.74rem;color:#c3cde0}#hud{position:absolute;inset:0;z-index:4;pointer-events:none;display:flex;flex-direction:column;gap:.4rem;padding:max(.6rem,env(safe-area-inset-top)) .75rem max(.6rem,env(safe-area-inset-bottom))}#hud[hidden]{display:none}.hud-top{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.hud-top span{background:#080c1cd1;border:1px solid #4a5a82;border-radius:999px;padding:.25rem .7rem;font-size:.82rem;font-weight:600;white-space:nowrap}.hud-top span.hot{color:#ffd98a;border-color:#fc6}.hud-top span.dim{color:#b9c4d8}#mute-btn{pointer-events:auto;margin-left:auto;padding:.3rem .75rem;border-radius:999px;border:1px solid #7fd6c0;background:#080c1cd1;color:#8fe6d0;cursor:pointer;font-size:.8rem}.frost-wrap{display:flex;align-items:center;gap:.5rem}.frost-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#cfe6ff;text-shadow:0 1px 4px #000}.frost-bar{flex:1;height:14px;background:#080c1ccc;border-radius:999px;overflow:hidden;border:1px solid rgba(190,220,255,.5)}#hud-frost-fill{height:100%;width:0%;background:#90e0c0}#banner{margin:0 auto;padding:.4rem 1rem;border-radius:999px;background:#224682f0;border:1px solid #bfe4ff;color:#fff;font-weight:700;font-size:.88rem;text-align:center;max-width:94vw;animation:pulse .8s ease-in-out infinite alternate}#banner.danger{background:#962828f0;border-color:#ffb0a0}#banner[hidden]{display:none}@keyframes pulse{to{transform:scale(1.04)}}#hud-status{margin:0;text-align:center;font-size:.85rem;color:#e6dfc0;text-shadow:0 1px 4px #000;min-height:1.1em}#pops{position:absolute;inset:0;overflow:hidden}.pop{position:absolute;transform:translate(-50%,-50%);font-weight:800;font-size:1.05rem;color:#fff3b0;text-shadow:0 1px 6px #000,0 0 10px rgba(255,200,80,.7);white-space:nowrap;opacity:0}.pop.gold{color:#ffd23a;font-size:1.3rem}.touch-controls{pointer-events:none;display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;margin-top:auto}.touch-controls[hidden]{display:none}#dpad{pointer-events:auto;display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,56px);gap:4px}#dpad .dpad-btn{border-radius:12px;border:1px solid rgba(255,255,255,.4);background:#0a1024b3;color:#ffeeb0;font-size:1.2rem;display:grid;place-items:center;touch-action:none}.dpad-btn[data-dx="-1"]{grid-column:1;grid-row:2}.dpad-btn[data-dx="0"][data-dz="-1"]{grid-column:2;grid-row:1}.dpad-btn[data-dx="0"][data-dz="1"]{grid-column:2;grid-row:2}.dpad-btn[data-dx="1"]{grid-column:3;grid-row:2}.dpad-btn.on{background:#fc66}#flare-btn{pointer-events:auto;width:92px;height:92px;border-radius:50%;border:2px solid #ffcc66;background:#fc63;color:#fff3c8;font-weight:800;font-size:.95rem;touch-action:none}#flare-btn.ready{background:#fc6;color:#1a0f00}#flare-btn:disabled{opacity:.55}@media(prefers-reduced-motion:reduce){#banner{animation:none}*{transition:none!important}}
