*{box-sizing:border-box}:root{--ink: #f4eeff;--soft: #cfc3ea;--gold: #ffc46b;--cyan: #7ef3ff;--panel: rgba(12, 7, 28, .82);--line: rgba(255, 196, 107, .4)}html,body{margin:0;height:100%;background:#2b1b3d;color:var(--ink);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}.screen{position:absolute;inset:0;display:grid;place-content:center;align-content:center;gap:.7rem;text-align:center;padding:1.2rem;z-index:10;overflow-y:auto;background:radial-gradient(ellipse at center,#1c1030bd,#080514ed)}.screen[hidden]{display:none}#title-screen{background:radial-gradient(ellipse at 50% 45%,#180c2c99,#08051438)}.eyebrow{margin:0 auto;padding:.2rem .8rem;border-radius:999px;background:#080514b8;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan)}h1{margin:0;font-size:clamp(2.6rem,10vw,5.2rem);line-height:1;letter-spacing:-.02em;color:var(--gold);text-shadow:0 2px 24px rgba(255,120,60,.45)}h2{margin:0;font-size:clamp(1.8rem,6vw,3rem);color:var(--gold);line-height:1.1}.lede{margin:0 auto;max-width:36rem;color:#e6dcf8;line-height:1.5}.primary{justify-self:center;padding:.8rem 2rem;border-radius:999px;border:1px solid var(--gold);background:var(--gold);color:#2b1b3d;font:inherit;font-weight:800;font-size:1rem;cursor:pointer}.primary:hover{background:#ffd890}.ghost{padding:.8rem 1.5rem;border-radius:999px;border:1px solid #a99ac8;background:#0c071c80;color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.row{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}.hint{margin:0 auto;font-size:.82rem;color:var(--soft);line-height:1.5;max-width:40rem}kbd{background:#ffffff24;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:0 .35em;font-size:.9em;font-family:inherit}#levels{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center}#levels button{display:grid;gap:.15rem;min-width:8.2rem;padding:.6rem .9rem;border-radius:.9rem;border:1px solid #66548f;background:#0c071cbf;color:var(--ink);cursor:pointer;font:inherit}#levels button[aria-checked=true]{border-color:var(--gold);background:#ffc46b29;box-shadow:0 0 0 1px var(--gold) inset}.lv-name{font-weight:700}.lv-meta{font-size:.74rem;color:var(--soft)}.stars{margin:0;font-size:2rem;letter-spacing:.25em;color:var(--gold)}.score-line{margin:0;font-weight:700;color:var(--cyan)}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}#hud{position:absolute;inset:0;pointer-events:none;z-index:5;padding:max(.6rem,env(safe-area-inset-top)) .75rem .6rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}#hud[hidden]{display:none}.hud-top{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center}.chip{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.24rem .7rem;font-size:.8rem;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.chip.hot{color:#ffd0a0;border-color:#ff8b4d}.chip.cold{color:#ffb4b4;border-color:#ff6b6b}.sun-bar{display:inline-block;width:64px;height:8px;border-radius:999px;background:#fff3;overflow:hidden}#hud-sun-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff8b4d,#ffc46b)}.chip-btn{pointer-events:auto;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:.24rem .8rem;cursor:pointer;font:inherit;font-size:.8rem}#route{position:relative;width:min(30rem,88vw);height:12px;border-radius:999px;background:#0c071cb3;border:1px solid var(--line);flex:none}#route i{position:absolute;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--cyan)}#route i.hit{background:#5be39a}#route i.miss{background:#6b5f88}#route i.storm{background:#ff6b6b;border-radius:1px;transform:rotate(45deg)}#route i.draft{background:#5ab8ff;border-radius:1px;width:14px;height:4px;margin-top:-2px;margin-left:0}#route i.field{background:var(--gold);width:4px;height:14px;margin-top:-7px;border-radius:1px}#route #route-glider{width:12px;height:12px;margin:-6px 0 0 -6px;background:#fff;box-shadow:0 0 8px #fff;z-index:2}#warn-banner{margin:0;padding:.4rem 1rem;border-radius:999px;background:#be2828f0;border:1px solid #ffd45a;color:#fff;font-weight:700;font-size:.88rem;text-align:center;max-width:92vw;animation:pulse .7s ease-in-out infinite alternate}#warn-banner.draft{background:#145aa0f2}#warn-banner[hidden]{display:none}@keyframes pulse{to{transform:scale(1.04)}}#hud-msg{margin:0;min-height:1.4em;padding:.15rem .8rem;border-radius:999px;background:#0c071c9e;text-align:center;font-size:1rem;font-weight:700;color:var(--cyan);text-shadow:0 1px 6px rgba(0,0,0,.8);max-width:92vw}#hud-msg:empty{background:none;padding:0}.touch-controls{position:absolute;left:0;right:0;bottom:0;padding:0 .8rem max(1rem,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}.touch-controls[hidden]{display:none}.pad{display:grid;gap:.6rem}.pad-left{grid-auto-flow:column}.touch-btn{pointer-events:auto;min-width:4.2rem;min-height:3.6rem;border-radius:1rem;cursor:pointer;border:1px solid rgba(126,243,255,.6);background:#0c071ca8;color:var(--cyan);font:inherit;font-size:1.1rem;font-weight:800;touch-action:none;user-select:none;-webkit-user-select:none}.touch-btn.held{background:#7ef3ff59;color:#fff}.flare-btn{border-color:var(--gold);color:var(--gold);font-size:.85rem;min-width:5.4rem;margin-bottom:.2rem}.flare-btn:disabled{opacity:.45}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at center,transparent 58%,rgba(6,3,16,.5))}@media(max-width:520px){.chip{font-size:.74rem;padding:.2rem .55rem}.sun-bar{width:48px}#levels button{min-width:6.4rem;padding:.5rem .6rem}.controls-hint{display:none}}@media(max-height:560px){.lede{display:none}.screen{gap:.45rem}}@media(prefers-reduced-motion:reduce){#warn-banner{animation:none}}#end-screen{background:radial-gradient(ellipse at center,#1c1030c7,#08051480)}
