/* Focused play surface. Decorative effects live above it and never receive input. */
.in-game .shell>aside{height:74px}.in-game nav,.in-game .crew-level,.in-game footer{display:none}.in-game main{padding:24px 0 30px;min-height:0}.in-game .brand small{display:none}.in-game .brand{font-size:16px}.in-game .brand-mark{scale:.85}.in-game .ambient{opacity:.5}.play-page{max-width:600px}.play-top{margin-bottom:13px}.play-top .tag{color:var(--muted);font-size:9px}.exit-game{border:1px solid var(--line);background:#ffffff05;border-radius:30px;padding:8px 17px;font-size:11px;min-height:36px}.play-heading{margin-bottom:19px}.play-heading h1{font-size:34px;font-weight:550;letter-spacing:-1.6px;margin:0}.game-hud{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;align-items:center}.game-hud small{display:block;font:9px monospace;letter-spacing:1.4px;color:var(--muted)}.hud-score strong{display:block;font:500 42px/1.15 var(--font);letter-spacing:-2px;transform-origin:left center;color:var(--ink)}.hud-clock{text-align:right}.hud-clock .timer{font-size:32px;line-height:1.5;font-weight:400}.timer span{font-size:10px}.hud-streak{text-align:center}.hud-streak>span{font-size:15px;font-weight:600;color:#cbd1db}.hud-streak small{font:10px/1.5 var(--font);letter-spacing:0;min-height:15px;margin-top:4px}.hud-streak.on-streak>span{color:var(--accent);text-shadow:0 0 20px #d3ff7244}.hud-streak.on-streak:before{content:'✦';display:inline-block;color:var(--accent);margin-right:6px}.time-track{height:3px;margin:13px 0 18px;background:#ffffff12}.time-track i{background:linear-gradient(90deg,#7eab49,#d3ff72);box-shadow:0 0 10px #d3ff7244}.final-seconds .timer{color:#ffb49c}.rule-strip{border:1px solid #ffffff14;background:linear-gradient(135deg,#ffffff07,#ffffff02);border-radius:13px;padding:11px 15px;display:flex;align-items:center;gap:12px;margin-bottom:14px;min-height:51px}.rule-strip #phase{font:8px monospace;letter-spacing:1px;border-right:1px solid #ffffff24;padding-right:12px;color:#adb6bc;max-width:90px}.rule-strip p{font-size:13px;font-weight:500;margin:0;color:#e4e9ea;line-height:1.5}.arena-wrap{position:relative;isolation:isolate}.game-arena{position:relative;border-radius:23px;padding:20px;background:radial-gradient(ellipse at 50% 0,#6b8a7620,transparent 70%),linear-gradient(140deg,#ffffff09,#ffffff02);border:1px solid #ffffff22;box-shadow:inset 0 1px 0 #ffffff0c,0 15px 35px #0003;min-height:360px}.effects-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:23px;z-index:5}.play-overlay{position:absolute;inset:0;border-radius:23px;background:#10171ce8;backdrop-filter:blur(14px);z-index:7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:1px solid #ffffff1a;text-align:center}.play-overlay[hidden]{display:none}.play-overlay>span{font:10px monospace;letter-spacing:3px;color:var(--muted)}.play-overlay>strong{font:600 clamp(45px,8vw,72px)/1 var(--font);letter-spacing:-3px;color:var(--accent)}.play-overlay .button{margin-top:15px;min-width:140px}.paused .game-arena{pointer-events:none;filter:blur(5px)}.play-controls{margin-top:16px;gap:8px}.play-controls .button{font-size:10px;min-height:38px;padding:9px 14px;border-radius:30px}.input-hint{font-size:10px;color:var(--muted);margin-left:auto;max-width:50%;text-align:right;line-height:1.6}.play-controls [aria-pressed=true]{border-color:#d3ff7244;color:var(--accent)}
.pad-grid{gap:12px}.pad{position:relative;min-height:105px;border-radius:19px;background:linear-gradient(145deg,#ffffff09,#ffffff02);border:1px solid #ffffff19;box-shadow:inset 0 1px 0 #ffffff10,0 4px 0 #06090c55;transition:background .1s,border-color .1s,box-shadow .1s;touch-action:manipulation}.pad small{font:11px monospace;color:#87929b}.pad.target{box-shadow:inset 1px 2px 4px #ffffff25,0 3px 0 #0005,0 0 24px #8cc9ff15;text-shadow:0 1px 2px #0004;border-width:1px}.tone0{background:linear-gradient(145deg,#5e8dbd,#284367);color:#e0f5ff;border-color:#96d3ff66}.tone1{background:linear-gradient(145deg,#b47161,#653b35);color:#ffe6df;border-color:#ffbda766}.pattern1{background-image:repeating-linear-gradient(45deg,transparent,transparent 6px,#ffffff1c 6px,#ffffff1c 11px),linear-gradient(145deg,#ffffff22,#0002)}.pad.lit{background:linear-gradient(135deg,#e0d5ff,#a68be5);border-color:#e8dfff;box-shadow:0 0 25px #bba0ff44,inset 0 1px 0 #fff8,0 4px 0 #624c8b;color:#2b1d4c}.pad.pressed{background:#b29ae93b;border-color:#c7afff;box-shadow:0 0 18px #b29ae922;color:#e9dfff}.game-memory .memory-note{font-size:11px;min-height:23px;margin-bottom:12px;color:#d3c3ef}.game-memory .pad:disabled{opacity:1}.game-memory .pad:not(.lit):disabled{color:#a0a7b0}.game-memory .game-arena{background:radial-gradient(ellipse at 50% 0,#9e7cdb22,transparent 70%),linear-gradient(140deg,#ffffff09,#ffffff02)}.game-memory .pad{font-size:25px;font-weight:400}
.game-aim .game-arena{padding:0;min-height:0;background:#101a24}.game-aim canvas{border-radius:22px}.game-aim .rule-strip{background:linear-gradient(135deg,#8ec9ff10,#ffffff02)}.game-aim .effects-layer{mix-blend-mode:screen}.math-question{font-size:clamp(30px,5vw,42px);font-weight:550;letter-spacing:-1px;min-height:110px;display:flex;align-items:center;justify-content:center;padding:12px 8px;margin:5px 0 20px}.game-math .game-arena{background:radial-gradient(ellipse at 50% 0,#d6b56518,transparent 70%),linear-gradient(140deg,#ffffff09,#ffffff02)}.answers{gap:12px}.answers button{position:relative;min-height:90px;border-radius:16px;background:linear-gradient(135deg,#ffffff0d,#ffffff03);box-shadow:inset 0 1px 0 #ffffff14,0 4px 0 #05060866;border:1px solid #ffffff20;color:#eff3e9;transition:background .18s,border-color .18s;touch-action:manipulation;font-size:23px}.answers small{position:absolute;left:12px;top:9px;color:#89939a;font:9px monospace}.answers button:disabled{opacity:1}.answers .answer-correct{background:linear-gradient(135deg,#d3ff723b,#5c87351a);border-color:#d3ff72b0;color:#e1ffb2;box-shadow:inset 0 1px 0 #e8ffc94d,0 0 25px #d3ff7214}.answers .answer-correct:after{content:'✓';position:absolute;right:11px;top:8px;font-size:12px;color:var(--accent)}.answers .answer-wrong{border-color:#ec9d8766;background:#ec9d8712;color:#ffbaa7}.answers .answer-dim{color:#747f88;border-color:#ffffff0b;background:#ffffff02;box-shadow:none}.game-math .fine{min-height:19px;margin:16px 0 0;font-size:10px!important}
.game-sort .game-arena{padding:15px;background:radial-gradient(ellipse at 50% 100%,#72dfb217,transparent 70%),linear-gradient(140deg,#ffffff09,#ffffff02)}.fall-zone{height:280px;border-bottom:1px dashed #ffffff26;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),#ffffff04 calc(20% - 1px),#ffffff04 20%);border-radius:12px}.fall-item{width:52px;height:53px;border-radius:13px;box-shadow:inset 0 1px 2px #fff5,0 5px 0 #060d1380,0 8px 14px #0004;border-width:1px;font-size:29px}.fall-item.selected{outline-color:#d3ff72;outline-offset:4px;box-shadow:0 0 22px #d3ff7220,inset 0 1px 2px #fff4}.bins{gap:8px}.bin{min-height:72px;border-radius:12px;background:linear-gradient(135deg,#a7f4cd19,#71a68b05);border:1px solid #8fe7bb40;border-top:3px solid #a1e8bd66;box-shadow:inset 0 5px 20px #0005;color:#ceebda;line-height:1.6}.bin:hover{border-color:#d3ff72}.sort-ghost{position:absolute;display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#bceccf;color:#184a35;font-size:28px;box-shadow:0 0 20px #a4ecc744;transform:translate(-50%,-50%);pointer-events:none}.game-timing .game-arena{display:flex;align-items:center;background:radial-gradient(ellipse at 50% 0,#dd8db222,transparent 70%),linear-gradient(140deg,#ffffff09,#ffffff02)}.timing-lanes{width:100%;gap:25px;padding:10px 4px}.lane{grid-template-columns:1fr 76px;gap:10px 15px}.lane>span{font:9px monospace;color:#bbc0cc;letter-spacing:1.6px}.lane-track{height:48px;background:linear-gradient(#ffffff08,#ffffff03);border:1px solid #ffffff20;border-radius:24px;overflow:visible;box-shadow:inset 0 3px 7px #0005,0 1px 0 #ffffff0b}.hit-zone{height:100%;border-radius:7px;background:#df9ab62b;border-color:#e6adcc99;box-shadow:0 0 18px #e6adcc11}.lane-track i{top:8px;width:7px;height:30px;border-radius:10px;margin-left:-3px;background:linear-gradient(#fff3fc,#d694b4);box-shadow:0 0 14px #ffd3ec77;border:1px solid #ffdef4}.lane button{background:linear-gradient(145deg,#f0c4db,#be8ba9);color:#342233;min-height:46px;border-radius:14px;box-shadow:inset 0 1px 0 #fff9,0 3px 0 #67435b4d;letter-spacing:1px;font:10px monospace}.lane button:disabled{opacity:1}.lane-hit .lane-track{border-color:#d3ff7260;box-shadow:0 0 22px #d3ff7215}.lane-hit .hit-zone{background:#d3ff7240;border-color:#d3ff72}.lane-hit button{background:#d3ff721a;color:var(--accent);box-shadow:none;border:1px solid #d3ff7244}.lane-miss button{background:#ffb69e0d;color:#e8b4aa;border:1px solid #ffb69e33;box-shadow:none}
.score-pop{position:absolute;transform:translate(-50%,-50%);font:700 23px var(--font);letter-spacing:-.8px;white-space:nowrap;text-shadow:0 2px 9px #000b;animation:score-rise .75s cubic-bezier(.2,.7,.2,1) both;z-index:2}.score-pop.hit{color:#e1ffb0}.score-pop.miss{color:#ffbda8;font-size:19px}.hit-ring{position:absolute;width:28px;height:28px;transform:translate(-50%,-50%);border:2px solid #d3ff72;border-radius:50%;box-shadow:0 0 10px #d3ff7233;animation:ring-expand .5s ease-out both}.hit-ring.miss{border-color:#f0a890;box-shadow:none}.hit-particle{position:absolute;width:4px;height:4px;background:#dcffa6;border-radius:1px;animation:spark-out .55s ease-out both;box-shadow:0 0 6px #d3ff7244}.result-panel{animation:result-enter .5s ease-out both}.result-score{position:relative;background:radial-gradient(ellipse at 50% 45%,#d3ff7220,transparent 70%),linear-gradient(135deg,#ffffff06,#ffffff02);overflow:hidden;box-shadow:inset 0 1px 0 #ffffff12}.result-score:before{content:'';position:absolute;width:170px;height:170px;border:1px solid #d3ff7244;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);animation:finish-ring 1.1s ease-out both;pointer-events:none}.result-stats{padding:12px 0}.result-stats strong{font-size:28px;font-weight:500}.result-panel .button.primary{min-height:52px}
@keyframes score-rise{0%{opacity:0;translate:0 0;scale:.7}15%{opacity:1;scale:1.1}35%{scale:1}75%{opacity:1}100%{opacity:0;translate:0 -55px}}@keyframes ring-expand{0%{scale:.5;opacity:.9}100%{scale:3;opacity:0}}@keyframes spark-out{from{opacity:1;translate:0 0}to{opacity:0;translate:var(--dx) var(--dy);rotate:110deg}}@keyframes result-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes finish-ring{from{opacity:.8;scale:.6}to{opacity:0;scale:2.3}}
@media(max-width:760px){.in-game .shell{padding:0 16px}.in-game .shell>aside{height:54px;padding:9px 0;flex-wrap:nowrap;align-content:normal}.in-game .brand{font-size:14px}.in-game .brand-mark{width:30px;height:31px;font-size:26px}.in-game .brand-mark span{font-size:21px;top:9px;left:17px}.in-game .avatar{min-width:30px;height:30px;font-size:9px}.in-game main{padding:13px 0 20px}.play-top{margin-bottom:8px}.exit-game{padding:6px 14px;min-height:34px}.play-heading{margin-bottom:14px}.play-heading h1{font-size:28px;letter-spacing:-1px}.game-hud{gap:6px}.game-hud small{font-size:8px;letter-spacing:1px}.hud-score strong{font-size:34px}.hud-clock .timer{font-size:29px}.hud-streak>span{font-size:13px}.hud-streak small{font-size:9px;letter-spacing:0}.time-track{margin:9px 0 12px}.rule-strip{padding:9px 11px;gap:9px;min-height:48px;margin-bottom:11px}.rule-strip p{font-size:11px}.rule-strip #phase{font-size:7px;letter-spacing:.5px;padding-right:9px;max-width:60px}.game-arena{padding:14px;min-height:305px;border-radius:19px}.effects-layer,.play-overlay{border-radius:19px}.pad-grid{gap:10px}.pad{min-height:80px;border-radius:15px}.game-memory .pad{font-size:23px}.game-memory .memory-note{font-size:10px;margin-bottom:9px;min-height:19px}.game-aim .game-arena{padding:0;min-height:0}.play-controls{margin-top:12px;gap:7px}.play-controls .button{padding:8px 12px;min-height:38px;font-size:9px}.input-hint{font-size:9px;max-width:44%}.math-question{font-size:29px;min-height:83px;margin:0 0 13px}.answers button{min-height:73px;font-size:22px;padding:15px 10px}.answers{gap:10px}.game-math .fine{font-size:9px!important;margin-top:14px}.fall-zone{height:230px}.fall-item{width:44px;height:45px;font-size:25px}.game-sort .game-arena{padding:12px}.bins{gap:6px;margin-top:12px}.bin{font-size:9px;min-height:62px}.timing-lanes{gap:23px;padding:8px 0}.lane{grid-template-columns:1fr 67px;gap:9px 12px}.lane-track{height:42px}.lane-track i{height:27px;top:6px}.lane button{font-size:9px;min-height:44px;border-radius:12px}.lane>span{font-size:8px}.score-pop{font-size:21px}.result-panel{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.score-pop{animation:none!important;translate:0 -16px;opacity:1}.hit-ring,.hit-particle,.result-score:before{display:none}.result-panel{animation:none!important}}
