:root{--bg: #10141c;--panel: #1a2130;--panel-2: #232c3f;--text: #e8edf6;--muted: #8b96ab;--accent: #ffd166;--good: #2ecc71;--bad: #ff6b6b;--radius: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}#app{max-width:560px;margin:0 auto;padding:12px;min-height:100%;display:flex;flex-direction:column;justify-content:center}.screen{display:flex;flex-direction:column;gap:14px}.hidden{display:none!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.screen:not(.hidden){animation:fade-in .25s ease}.stage-wrap,.timer-wrap,.prompt,.pad{transition:opacity .18s ease}.stage-wrap.fading,.timer-wrap.fading,.prompt.fading,.pad.fading{opacity:0}@media (prefers-reduced-motion: reduce){.screen:not(.hidden){animation:none}.stage-wrap,.timer-wrap,.prompt,.pad{transition:none}}#screen-start{position:relative;padding-inline:40px}#screen-start .logo{font-size:clamp(1.4rem,5vw,2.4rem)}.logo-wrap{position:relative}.logo{font-size:2.4rem;letter-spacing:-.5px;text-align:center}.logo-accent{color:var(--accent)}.start-aliens{position:absolute;inset:0;pointer-events:none}.start-alien{position:absolute;pointer-events:auto;width:34px;height:34px;opacity:.85}.start-alien img{position:absolute;inset:0;width:100%;height:100%;transition:opacity .2s ease}.start-alien .alien-open,.start-aliens.awake .alien-closed,.start-alien:hover .alien-closed{opacity:0}.start-aliens.awake .alien-open,.start-alien:hover .alien-open{opacity:1}@media (prefers-reduced-motion: reduce){.start-alien img{transition:none}}.tagline{text-align:center;color:var(--muted);font-size:1.05rem;line-height:1.5}.rules{list-style:none;background:var(--panel);border:1px solid var(--panel-2);border-radius:var(--radius);padding:14px 18px;display:grid;gap:8px;color:var(--muted);font-size:.95rem}.rules li{padding-left:1.3em;position:relative}.rules li:before{content:"✦";position:absolute;left:0;color:var(--accent);opacity:.8}.rules b{color:var(--text)}.rules em{color:var(--accent);font-style:normal}.btn-primary{background:var(--accent);color:#1a1400;border:none;border-radius:999px;padding:14px 0;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .08s ease,filter .15s ease}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:active{transform:scale(.98)}.btn-donate{display:block;text-align:center;text-decoration:none;background:transparent;border:1px solid var(--panel-2);color:var(--muted);border-radius:999px;padding:12px 0;font-size:1rem;font-weight:600;cursor:pointer;transition:color .15s ease,border-color .15s ease}.btn-donate:hover{color:var(--text);border-color:var(--accent)}.btn-donate:active{transform:scale(.98)}.menu-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}.menu-links .btn-donate{flex:1 1 8em;padding-inline:14px}.btn-discord:hover{color:var(--text);border-color:#5865f2}.btn-mute{display:block;margin:0 auto;background:transparent;border:1px solid var(--panel-2);color:var(--muted);border-radius:999px;width:44px;height:44px;font-size:1.15rem;cursor:pointer;transition:color .15s ease,border-color .15s ease}.btn-mute:hover{color:var(--text);border-color:var(--accent)}.btn-mute:active{transform:scale(.96)}.btn-mute.muted{color:var(--bad);border-color:var(--bad)}.sound-row{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:4px}.sound-row-game{margin:0 0 0 auto}.sound-row .btn-mute{margin:0}.music-vol{width:80px;accent-color:var(--accent);cursor:pointer}.btn-preset{width:auto;min-width:44px;padding:0 12px;font-size:.85rem;font-weight:600;letter-spacing:.02em}.highscore-form{display:grid;gap:10px}.highscore-form input{width:100%;padding:12px;border:1px solid var(--muted);border-radius:var(--radius);background:var(--panel);color:var(--text);font:inherit}.highscore-list{list-style:none;display:grid;gap:4px;background:var(--panel);border:1px solid var(--panel-2);border-radius:var(--radius);padding:10px 14px;font-size:.95rem}.highscore-list:empty{display:none}.score-row{display:grid;grid-template-columns:2.5em auto 1fr;gap:8px;align-items:baseline;padding:3px 6px;border-radius:8px}.score-row.scored{background:#ffd16624}.score-rank{color:var(--muted);font-variant-numeric:tabular-nums}.score-level{color:var(--text);font-weight:700}.score-name{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-row.scored .score-rank,.score-row.scored .score-name{color:var(--text)}.score-empty{color:var(--muted);text-align:center}.hud{display:flex;justify-content:space-between;align-items:center}.hud-left{display:flex;align-items:baseline;gap:10px}.hud-right{display:flex;align-items:center;gap:12px}.level{color:var(--text);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.08em}.prompt-row{display:flex;justify-content:center}.prompt{background:var(--panel);border:1px solid var(--panel-2);border-radius:999px;padding:10px 22px;font-size:1.15rem;text-align:center}.prompt .target-color{font-weight:800;text-transform:capitalize;padding:1px 8px;border-radius:6px}.prompt .target-shape{font-weight:800;text-transform:capitalize}.prompt .target-icon{width:1.3em;height:1.3em;vertical-align:-.35em;margin:0 1px}.timer-wrap{position:relative;height:6px;background:var(--panel-2);border-radius:999px}.timer{height:100%;width:100%;background:var(--good);border-radius:999px;overflow:hidden;transition:width .25s linear,background-color .3s ease}.timer-rocket{position:absolute;top:50%;left:100%;transform:translate(-50%,-50%) rotate(90deg);font-size:15px;line-height:1;pointer-events:none;transition:left .25s linear}.timer-rocket.urgent{animation:rocket-wobble .4s ease-in-out infinite}@keyframes rocket-wobble{0%,to{transform:translate(-50%,-50%) rotate(90deg) scale(1)}50%{transform:translate(-50%,-55%) rotate(96deg) scale(1.08)}}@media (prefers-reduced-motion: reduce){.timer-rocket{transition:none}.timer-rocket.urgent{animation:none}}.stage-wrap{position:relative}#stage{width:100%;aspect-ratio:1 / .95;background:var(--panel);border:1px solid var(--panel-2);border-radius:var(--radius);display:block;touch-action:manipulation}.feedback{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);animation:fade-in .18s ease;background:#0a0d13e0;border:2px solid var(--panel-2);border-radius:16px;padding:18px 26px;text-align:center;font-size:1.15rem;min-width:240px;z-index:5;box-shadow:0 10px 30px #00000080}.feedback .fb-title{font-size:1.4rem;font-weight:800;display:block}.feedback.good .fb-title{color:var(--good)}.feedback.bad .fb-title{color:var(--bad)}.feedback .fb-sub{color:var(--muted);font-size:.95rem;margin-top:4px}.pad{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.option-btn{background:radial-gradient(circle at 30% 25%,var(--panel-2),var(--panel));border:1px solid var(--panel-2);color:var(--text);border-radius:22px;padding:20px 0;font-size:1.6rem;font-weight:800;cursor:pointer;transition:background .15s ease,transform .06s ease,border-color .15s ease,box-shadow .15s ease;user-select:none;touch-action:manipulation}.option-btn.text{font-size:1.05rem;padding:18px 6px;line-height:1.25}.option-btn:hover{border-color:var(--accent);box-shadow:0 0 0 1px #ffd1664d,0 0 18px #ffd16659}.option-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ffd16673,0 0 18px #ffd16666}.option-btn:active{transform:scale(.96)}.option-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.option-btn.correct{background:var(--good);border-color:var(--good);color:#06230f;box-shadow:0 0 22px #2ecc7180}.option-btn.wrong{background:var(--bad);border-color:var(--bad);color:#2a0505;box-shadow:0 0 22px #ff6b6b80}
