*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b1e33;color:#eaf3f8;font-family:system-ui,-apple-system,Segoe UI,sans-serif}#app{position:relative;height:100%;overflow:hidden}#stage{display:block;width:100%;height:100%}[hidden]{display:none!important}.screen{position:absolute;inset:0;display:grid;place-content:center;padding:1rem;z-index:5;text-align:center;background:radial-gradient(ellipse at center,#050e1a59,#050e1ac7);overflow-y:auto}.screen[hidden]{display:none}.card{margin:auto;max-width:38rem;display:grid;gap:.7rem;padding:1.4rem 1.5rem;border-radius:1.2rem;background:#06101de6;border:1px solid #2b4f6e;box-shadow:0 18px 60px #00000080}.eyebrow{margin:0;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:#7fe0ff}h1{margin:0;font-size:clamp(2.4rem,9vw,4.4rem);line-height:1;letter-spacing:-.02em}h2{margin:0;font-size:clamp(1.7rem,6vw,2.6rem);line-height:1.1}.lede{margin:0 auto;max-width:34rem;color:#c9d9e4}.rules{margin:0 auto;max-width:34rem;color:#c9d9e4;font-size:.9rem;line-height:1.45}.rules strong{color:#fff}.hint{margin:0;font-size:.78rem;color:#a9bfce}.primary{justify-self:center;padding:.75rem 1.7rem;border-radius:999px;border:1px solid #7fe0ff;background:#7fe0ff;color:#04121c;font-weight:700;font-size:1rem;cursor:pointer}.ghost{padding:.75rem 1.4rem;border-radius:999px;border:1px solid #7f9fb5;background:transparent;color:#eaf3f8;font-weight:600;cursor:pointer}.row{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center}.stars{margin:0;font-size:2rem;letter-spacing:.25em;color:#ffd36b}.score-line{margin:0;font-weight:700}button:focus-visible{outline:3px solid #ffd36b;outline-offset:3px}#levels{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:center}#levels button{display:grid;gap:.15rem;min-width:7.2rem;padding:.6rem .9rem;border-radius:.9rem;border:1px solid #2b4f6e;background:#0e2236e6;color:#eaf3f8;cursor:pointer;font:inherit}#levels button[aria-checked=true]{border-color:#7fe0ff;background:#7fe0ff29;box-shadow:0 0 0 1px #7fe0ff inset}.lv-name{font-weight:700}.lv-meta{font-size:.72rem;color:#bcd0de}#hud{position:absolute;inset:0;z-index:4;pointer-events:none;display:grid;grid-template-rows:auto auto 1fr auto;gap:.4rem;padding:max(.6rem,env(safe-area-inset-top)) .6rem max(.6rem,env(safe-area-inset-bottom))}.hud-top{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;align-items:center}.hud-top span,.hud-btn{background:#06101dd1;border:1px solid #2b4f6e;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;white-space:nowrap;color:#eaf3f8}.hud-top span.hot{color:#ffd0a0;border-color:#ff9a5a}.hud-btn{pointer-events:auto;cursor:pointer;font-family:inherit}#banner{grid-row:2;justify-self:center;margin:0;padding:.4rem 1rem;border-radius:999px;font-weight:700;font-size:.85rem;text-align:center;max-width:94vw;background:#06101de0;border:1px solid #7fe0ff;color:#eaf3f8}#banner.warn{background:#a02418f0;border-color:#ffd36b;color:#fff;animation:pulse .7s ease-in-out infinite alternate}#banner.good{border-color:#ffd36b;color:#ffe9a8}@keyframes pulse{to{transform:scale(1.04)}}.bottom{grid-row:4;display:flex;justify-content:space-between;align-items:flex-end;gap:.6rem}.abilities{display:flex;gap:.6rem;margin-left:auto;pointer-events:auto}.abilities button{display:grid;gap:.05rem;min-width:5.2rem;padding:.55rem 1rem;border-radius:1rem;border:1px solid #7fe0ff;background:#06101ddb;color:#eaf3f8;font:inherit;font-weight:700;cursor:pointer;touch-action:manipulation;position:relative;overflow:hidden}.abilities small{font-weight:500;color:#bcd0de;font-size:.7rem}.abilities button.ready{background:#7fe0ff;color:#04121c}.abilities button.ready small{color:#0b2a3c}.abilities button:disabled{opacity:.55}#btn-whistle:after{content:"";position:absolute;left:0;bottom:0;height:4px;width:var(--cd, 0%);background:#ffd36b}#dpad{display:grid;grid-template-columns:repeat(3,3.3rem);grid-template-rows:repeat(2,3.3rem);gap:.25rem;pointer-events:auto}#dpad button{background:#06101dc7;border:1px solid #3a6285;border-radius:.7rem;color:#eaf3f8;font-size:1.1rem;cursor:pointer;touch-action:none}#dpad button[data-dir=up]{grid-column:2;grid-row:1}#dpad button[data-dir=left]{grid-column:1;grid-row:2}#dpad button[data-dir=down]{grid-column:2;grid-row:2}#dpad button[data-dir=right]{grid-column:3;grid-row:2}@media(max-width:480px){#levels button{min-width:5.8rem;padding:.5rem}.hud-top span,.hud-btn{font-size:.74rem;padding:.2rem .55rem}.card{padding:1.1rem}}@media(prefers-reduced-motion:reduce){#banner.warn{animation:none}}
