:root{color-scheme:dark;--ink:#f7f4eb;--muted:#c3c9dc;--night:#0a0c13;--panel:#141722;--panel-raised:#1d2232;--line:#34394a;--lime:#d1f36b;--mint:#78dfbe;--violet:#554fe3;--danger:#ffb7ae;--focus:#f8d66d}*{box-sizing:border-box}html{min-height:100%;background:var(--night)}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% -35%,#1b2040 0,var(--night) 57%);color:var(--ink);font-family:Trebuchet MS,Arial Rounded MT Bold,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a,button{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{background:var(--lime);color:#141820}input{caret-color:var(--lime)}.landing-shell{width:min(100% - 56px,1240px);min-height:100svh;margin:0 auto;display:flex;flex-direction:column}.landing-header{min-height:94px;display:flex;align-items:center;border-bottom:1px solid #2b3040}.landing-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-size:1.35rem;font-weight:900;letter-spacing:-.045em;text-decoration:none}.landing-brand img{width:44px;height:44px;border:1px solid #484b65;border-radius:14px;object-fit:cover}.landing-main{flex:1 1;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;grid-gap:clamp(36px,7vw,92px);gap:clamp(36px,7vw,92px);padding:54px 0 70px}.landing-intro{max-width:510px}.landing-intro h1{max-width:8ch;font-size:clamp(4rem,8vw,7rem);line-height:.96;letter-spacing:-.055em;text-wrap:balance}.landing-copy{max-width:38ch;margin:25px 0 30px;color:#d2d7e5;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.65}.landing-cta{min-width:166px;min-height:60px;padding:0 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid #d1f36b;border-radius:15px;background:var(--lime);color:#151b20;font-size:1.1rem;font-weight:900;text-decoration:none;transition:transform .16s ease,background-color .16s ease}.landing-cta:hover{transform:translateY(-2px);background:#e0ff91}.landing-cta:active{transform:translateY(0)}.landing-cta svg{width:22px;height:22px}.landing-preview{min-width:0;margin:0}.landing-scene{position:relative;height:clamp(340px,43vw,530px);overflow:hidden;border:1px solid #3a4052;border-radius:25px;background:#11151c;box-shadow:0 24px 56px rgba(0,0,0,.34)}.landing-preview figcaption{margin:14px 2px 0;color:#d2d7e5;font-size:.9rem}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--night)}::-webkit-scrollbar-thumb{border:2px solid var(--night);border-radius:999px;background:#525a70}.app-shell{width:min(100% - 40px,960px);min-height:100vh;margin:0 auto;padding:0 0 32px}.topbar{min-height:84px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #2b3040}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;color:var(--ink);text-decoration:none;font-size:1.2rem;font-weight:800;letter-spacing:-.035em;white-space:nowrap}.brand-icon{width:42px;height:42px;border:1px solid #484b65;border-radius:14px;object-fit:cover}.main-nav{display:flex;align-items:center;gap:6px}.back-link,.nav-button,.text-button{border:0;background:transparent;color:var(--muted);cursor:pointer;text-decoration:none}.nav-button{min-height:42px;padding:0 14px;border-radius:999px;font-size:.92rem;font-weight:700;transition:color .15s ease,background-color .15s ease,transform .15s ease}.nav-button:hover{color:var(--ink);background:#202438}.nav-button:active{transform:translateY(1px)}.nav-button.selected{color:#13203a;background:var(--lime)}.status-line{margin:18px 0 0;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #526b35;border-radius:12px;background:#202b1c;color:#e2f8b4;font-size:.93rem}.status-line.error{border-color:#844d52;background:#351e25;color:#ffe1d9}.status-line button{padding:4px 10px;border:1px solid;border-radius:8px;background:transparent;cursor:pointer;font-weight:700}.status-line button:disabled{cursor:wait;opacity:.65}.game-screen,.settings-screen{padding:38px 0 18px}.game-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}h1{margin:0;color:var(--ink);font-size:clamp(2rem,4vw,2.55rem);line-height:1.13;letter-spacing:-.045em;font-weight:800}.game-subtitle,.screen-heading p{margin:9px 0 0;color:var(--muted);font-size:1rem}.best-score{display:flex;align-items:baseline;gap:5px;flex:0 0 auto;padding:9px 13px;border:1px solid #35394a;border-radius:14px;background:#151925;color:#e6e9f2;font-size:.92rem}.best-score strong{color:var(--lime);font-size:1.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.best-score span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.09em}.best-score small{color:var(--muted);font-size:.8rem}.game-search{width:min(100%,590px);margin:0 0 18px}.game-search>label{display:block;margin:0 0 7px 2px;color:#e7e9f2;font-size:.85rem;font-weight:800}.search-field{min-height:48px;padding:0 14px;display:flex;align-items:center;gap:11px;border:1px solid #3c4154;border-radius:13px;background:#151925;transition:border-color .15s ease,background-color .15s ease}.search-field:focus-within{border-color:var(--lime);background:#1a1d2b}.search-field svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:#bfc6dc;stroke-linecap:round;stroke-width:1.8}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.search-field input::placeholder{color:#b9c0d3;opacity:1}.search-field input::-webkit-search-cancel-button{filter:grayscale(1) brightness(2);cursor:pointer}.search-empty,.search-hint{margin:7px 2px 0;color:var(--muted);font-size:.82rem}.search-empty{color:#ffd4c6}.game-picker-heading{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px}.game-picker-heading p{margin:0;color:var(--muted);font-size:.82rem}.game-picker-heading strong{color:var(--ink)}.browse-games-button{min-height:38px;padding:0 10px;border:1px solid #49516a;border-radius:10px;background:#1c2130;color:var(--lime);cursor:pointer;font-size:.8rem;font-weight:800}.browse-games-button:hover{border-color:var(--lime);background:#242a39}.browse-games-button:disabled{cursor:not-allowed;opacity:.55}.game-option-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.game-option{width:100%;min-height:68px;padding:10px 12px;display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;grid-gap:3px 10px;gap:3px 10px;border:1px solid #34394a;border-radius:12px;background:#151925;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s ease,background-color .15s ease}.game-option:hover{border-color:#6c7183;background:#1b2030}.game-option.selected{border-color:#91b64b;background:#202b20}.game-option:disabled{cursor:not-allowed;opacity:.58}.game-option-topic{grid-row:1/3;color:#d4ed9a;font-size:.74rem;font-weight:800;line-height:1.25}.game-option-copy{min-width:0;display:grid;grid-gap:2px;gap:2px}.game-option-copy strong{font-size:.9rem}.game-option-copy small{color:#c3c9dc;font-size:.73rem;line-height:1.3}.game-option-action{color:var(--lime);font-size:.72rem;font-weight:900}.game-room-hint{grid-column:1/-1}.math-game-panel{margin-top:20px;padding:20px;border:1px solid #34394a;border-radius:19px;background:linear-gradient(145deg,#1a2030,#141722 82%)}.math-game-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.math-game-heading h2{margin:0;color:var(--ink);font-size:1.35rem;line-height:1.2;letter-spacing:-.025em}.math-game-heading .eyebrow{margin-bottom:6px}.math-game-score{display:grid;justify-items:end;color:var(--muted);font-size:.76rem}.math-game-score strong{color:var(--lime);font-size:1.25rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.math-game-ready,.math-game-result{margin-top:15px}.math-game-ready p,.math-game-result p{max-width:60ch;margin:0 0 14px;color:var(--muted)}.math-game-progress{min-height:36px;margin:13px 0 18px;display:flex;align-items:center;gap:14px}.math-game-progress>div{height:9px;flex:1 1;overflow:hidden;border-radius:999px;background:#33394b}.math-game-progress>div span{height:100%;display:block;border-radius:inherit;background:var(--lime);transition:width .18s ease}.math-game-untimed{color:var(--muted);font-size:.82rem}.math-game-clock{min-width:48px;color:var(--ink);font-size:.95rem;font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.math-game-clock.urgent{color:#ffb7ae}.math-game-question{display:grid;grid-gap:12px;gap:12px}.math-question-label{margin:0;color:var(--ink);font-size:1.15rem;font-weight:900;line-height:1.35}.math-game-question input{width:100%;min-height:48px;padding:0 13px;border:1px solid #4a5065;border-radius:11px;background:#10131d;color:var(--ink);font:inherit}.math-game-question input::placeholder{color:#b9c0d3;opacity:1}.math-game-question input:focus{border-color:var(--lime);outline:2px solid transparent;box-shadow:0 0 0 2px rgba(209,243,107,.22)}.math-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.math-choice{min-height:46px;border:1px solid #43495e;border-radius:11px;background:#171b28;color:var(--ink);cursor:pointer;font:inherit;font-weight:800}.math-choice:hover{border-color:#848b9c;background:#202638}.math-choice.selected{border-color:var(--lime);background:#263324;color:#efffc9}.math-game-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.math-game-actions .text-button{margin-left:0}.math-game-feedback{margin:12px 0 0;color:#d9f0a0;font-size:.87rem}.math-game-feedback.error-text{color:#ffc9bd}.answer-celebration{position:relative;width:min(100%,240px);height:68px;margin:6px auto 0;display:flex;align-items:center;justify-content:center;overflow:hidden}.answer-celebration-art{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:16px;color:#fff;font-size:2rem;font-weight:950;line-height:1;box-shadow:0 8px 22px rgba(0,0,0,.22)}.answer-celebration-spark{position:absolute;color:#efffc9;font-size:1.05rem;animation:celebration-spark .68s ease-out both}.answer-celebration-spark.spark-one{left:calc(50% - 43px);top:10px}.answer-celebration-spark.spark-two{right:calc(50% - 43px);bottom:8px;animation-delay:70ms}.win-fast-math .answer-celebration-art{background:#556c23;animation:celebration-zap .62s cubic-bezier(.2,.75,.25,1.2) both}.win-math-test .answer-celebration-art{border-radius:50%;background:#315c83;animation:celebration-stamp .56s cubic-bezier(.2,.8,.25,1.25) both}.win-times-table .answer-celebration-art{background:#665117;color:#fff0a8;animation:celebration-trek .72s cubic-bezier(.2,.75,.25,1.2) both}.win-fraction-flip .answer-celebration-art{background:#563d80;animation:celebration-flip .76s cubic-bezier(.2,.7,.25,1.15) both}.win-pattern-path .answer-celebration-art{background:#235d59;color:#baffea;animation:celebration-path .7s cubic-bezier(.2,.75,.25,1.2) both}.win-equation-escape .answer-celebration-art{transform-origin:left center;background:#74442a;font-size:1.3rem;animation:celebration-door .74s cubic-bezier(.2,.75,.25,1.2) both}.win-shape-scout .answer-celebration-art{border-radius:50%;background:#285d78;color:#b7f4ff;animation:celebration-scout .78s cubic-bezier(.2,.75,.25,1.2) both}.win-place-value .answer-celebration-art{border-radius:50%;background:#74501e;color:#ffe6a6;animation:celebration-vault .76s cubic-bezier(.2,.75,.25,1.2) both}@keyframes celebration-zap{0%{transform:scale(.3) rotate(-18deg);opacity:0}45%{transform:scale(1.22) rotate(14deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes celebration-stamp{0%{transform:translateY(-22px) scale(1.5) rotate(-18deg);opacity:0}60%{transform:translateY(3px) scale(.9) rotate(7deg);opacity:1}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}@keyframes celebration-trek{0%{transform:translate(-30px,12px) rotate(-28deg);opacity:0}55%{transform:translate(8px,-5px) rotate(11deg);opacity:1}to{transform:translate(0) rotate(0);opacity:1}}@keyframes celebration-flip{0%{transform:perspective(220px) rotateY(0) scale(.8);opacity:0}55%{transform:perspective(220px) rotateY(210deg) scale(1.08);opacity:1}to{transform:perspective(220px) rotateY(1turn) scale(1);opacity:1}}@keyframes celebration-path{0%{transform:translateX(-26px) rotate(-35deg) scale(.65);opacity:0}45%{transform:translateX(8px) rotate(14deg) scale(1.12);opacity:1}to{transform:translateX(0) rotate(0) scale(1);opacity:1}}@keyframes celebration-door{0%{transform:perspective(220px) rotateY(0);opacity:.4}45%{transform:perspective(220px) rotateY(-74deg);opacity:1}to{transform:perspective(220px) rotateY(0);opacity:1}}@keyframes celebration-scout{0%{transform:scale(.45) rotate(-80deg);opacity:0}55%{transform:scale(1.15) rotate(18deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes celebration-vault{0%{transform:rotate(-100deg) scale(.7);opacity:0}55%{transform:rotate(28deg) scale(1.12);opacity:1}to{transform:rotate(0) scale(1);opacity:1}}@keyframes celebration-spark{0%{transform:scale(.3) rotate(-30deg);opacity:0}45%{transform:scale(1.3) rotate(18deg);opacity:1}to{transform:scale(.85) rotate(0);opacity:.7}}.math-game-result-score{margin-bottom:10px;display:flex;align-items:baseline;gap:8px}.math-game-result-score strong{color:var(--lime);font-size:2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.math-game-result-score span{color:var(--muted)}.mini-game-privacy{margin-top:20px}.playfield{position:relative;isolation:isolate;height:330px;overflow:hidden;border:1px solid #45445f;border-radius:22px;background:linear-gradient(140deg,#222747,#141b30 56%,#221f45)}.playfield:before{inset:0;background-image:radial-gradient(circle,#8298b8 1.5px,transparent 2px),radial-gradient(circle,#8298b8 1px,transparent 1.5px);background-size:118px 96px,167px 131px;background-position:13px 11px,72px 51px;opacity:.18}.playfield:after,.playfield:before{position:absolute;z-index:-1;content:""}.playfield:after{right:0;bottom:0;left:0;height:38%;background:#10182a}.playfield-label{position:absolute;top:18px;left:20px;color:#bdcbe0;font-size:.72rem;font-weight:800;letter-spacing:.1em}.playfield.is-playing .playfield-label{display:none}.platformer-canvas{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%}.platformer-load-error,.platformer-loading{position:absolute;z-index:2;top:50%;left:50%;width:max-content;max-width:calc(100% - 32px);margin:0;padding:9px 13px;border:1px solid rgba(206,214,241,.24);border-radius:12px;background:rgba(17,22,42,.88);color:#f0eff8;font-size:.86rem;text-align:center;transform:translate(-50%,-50%)}.platformer-load-error{border-color:rgba(255,154,154,.5)}.platformer-touch-controls{position:absolute;z-index:4;right:14px;bottom:12px;left:14px;display:flex;justify-content:space-between;pointer-events:none}.platformer-touch-controls button{width:48px;height:48px;border:1px solid rgba(234,238,255,.45);border-radius:15px;background:rgba(18,25,45,.78);color:#fff;cursor:pointer;font-size:1.35rem;font-weight:800;pointer-events:auto;touch-action:none}@media (hover:hover) and (pointer:fine){.platformer-touch-controls{display:none}}.round-hud{position:absolute;z-index:3;top:14px;right:18px;left:20px;display:flex;justify-content:space-between;color:#f0eff8;font-size:.88rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.round-hud b{color:var(--lime)}.play-controls,.result-panel,.round-controls{width:min(100%,520px);margin:22px auto 0;text-align:center}.round-controls{display:grid;justify-items:center;grid-gap:9px;gap:9px}.platform-math-form{display:grid;width:min(100%,420px);grid-gap:9px;gap:9px;color:var(--ink);text-align:left}.platform-math-form>label{color:var(--muted);font-size:.92rem}.platform-math-form>label strong{display:block;margin-top:3px;color:var(--ink);font-size:1.12rem}.platform-answer-row{display:flex;gap:9px}.platform-answer-row input{width:min(38%,130px);min-height:48px;padding:0 12px;border:1px solid #67648a;border-radius:12px;background:#171b2c;color:var(--ink);font-size:1rem}.platform-answer-row .outline-button{min-height:48px}.platform-answer-row .outline-button:disabled{cursor:default;opacity:.76}.platform-feedback{min-height:1.35em;margin:0;color:var(--muted);font-size:.88rem}.rock-roll-celebration{position:relative;width:148px;height:52px;margin:-3px auto 0;display:grid;place-items:center;overflow:hidden;border-radius:999px;background:radial-gradient(ellipse,rgba(207,245,105,.16),rgba(207,245,105,0) 72%)}.rock-roll-celebration span{font-size:2.25rem;filter:drop-shadow(0 0 12px rgba(207,245,105,.82));animation:rock-roll-unlock .72s cubic-bezier(.2,.75,.25,1.2) both}.rock-roll-celebration i{position:absolute;color:#eaffab;font-size:.8rem;font-style:normal;animation:celebration-spark .68s ease-out both}.rock-roll-celebration i:nth-child(2){left:22px;top:2px}.rock-roll-celebration i:nth-child(3){right:22px;bottom:2px;animation-delay:80ms}@keyframes rock-roll-unlock{0%{transform:translateX(-24px) rotate(-100deg) scale(.65);opacity:0}50%{transform:translateX(4px) rotate(170deg) scale(1.18);opacity:1}to{transform:translateX(0) rotate(1turn) scale(1);opacity:1}}.keyboard-hint{margin:0;color:var(--muted);font-size:.8rem}.play-controls p{margin:0 auto 17px;color:var(--muted)}.play-controls p b{color:var(--ink)}.jump-button,.primary-button{min-height:54px;padding:0 23px;border:0;border-radius:14px;background:var(--lime);color:#152340;cursor:pointer;font-size:1rem;font-weight:900;transition:transform .15s ease,background-color .15s ease,box-shadow .15s ease}.primary-button{min-width:196px}.primary-button span{margin-left:14px;font-size:1.2rem}.jump-button:hover,.primary-button:hover{transform:translateY(-2px);background:#dcf69b;box-shadow:0 7px 0 rgba(2,12,28,.28)}.jump-button:active,.primary-button:active{transform:translateY(1px);box-shadow:none}.jump-button:disabled,.primary-button:disabled{cursor:wait;opacity:.65;transform:none}.progress-track{height:8px;margin:0 0 16px;overflow:hidden;border-radius:999px;background:#363b52}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--lime);transition:width .15s linear}.jump-button{width:min(100%,340px);min-height:62px;font-size:1.08rem;letter-spacing:.04em;touch-action:manipulation}.jump-button span{margin-left:10px;font-size:1.25rem}.result-panel{padding:17px 0 0}.result-panel>div{display:flex;justify-content:center;align-items:baseline;gap:9px}.result-panel strong{color:var(--lime);font-size:1.4rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.result-panel span{color:var(--muted)}.result-panel p{margin:6px 0 16px;color:var(--ink)}.profile-strip{display:flex;align-items:center;gap:9px;min-height:52px;margin-top:24px;padding:0 2px;color:var(--muted);border-top:1px solid #2d3241;font-size:.9rem}.profile-strip b{color:var(--ink)}.skin-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.08)}.text-button{margin-left:auto;padding:8px 0 8px 12px;color:var(--lime);font-size:.88rem;font-weight:800}.back-link:hover,.text-button:hover{color:#e0f6a8;text-decoration:underline;text-underline-offset:4px}.profile-hint{margin-left:auto;color:#c0c6d8;font-size:.78rem;text-align:right}.privacy-note{margin:8px 0 0;color:#c0c6d8;font-size:.82rem;line-height:1.45}.screen-heading{margin-bottom:26px}.settings-screen{max-width:680px;margin:0 auto}.skin-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.skin-choice{width:100%;min-height:132px;padding:15px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;align-items:end;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#202438,#151821 78%);cursor:pointer;text-align:left;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.skin-choice:hover{background:linear-gradient(145deg,#2a2d47,#191c29 78%);transform:translateY(-1px)}.skin-choice:disabled{cursor:wait;opacity:.65}.skin-choice.chosen{border-color:var(--lime);background:linear-gradient(145deg,#253c32,#171f23 78%)}.skin-preview{position:relative;grid-column:1/-1;width:66px;height:66px;border:2px solid rgba(255,255,255,.62);border-radius:50%;background-color:var(--skin);background-image:radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.58) 0,transparent 48%),linear-gradient(145deg,var(--skin) 30%,var(--skin-accent));box-shadow:inset -5px -7px 9px rgba(5,10,16,.38),inset 3px 3px 8px rgba(255,255,255,.18),0 9px 15px rgba(0,0,0,.32)}.skin-preview i{position:absolute;top:7px;left:7px;width:12px;height:7px;border-radius:50%;background:var(--skin-light);transform:rotate(-28deg)}.skin-preview.pattern-scales{background-image:radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),repeating-radial-gradient(ellipse at 50% 0,transparent 0 7px,var(--skin-accent) 8px 9px,transparent 10px 14px),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.62) 0,transparent 48%),linear-gradient(145deg,var(--skin) 30%,var(--skin-accent))}.skin-preview.pattern-stripes{background-image:repeating-linear-gradient(112deg,transparent 0 12px,var(--skin-accent) 13px 17px,transparent 18px 23px),radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.58) 0,transparent 48%),linear-gradient(145deg,var(--skin) 30%,var(--skin-accent))}.skin-preview.pattern-cosmic{background-image:radial-gradient(circle at 26% 30%,#fff 0 1px,transparent 2px),radial-gradient(circle at 69% 43%,var(--skin-light) 0 1.5px,transparent 2.5px),radial-gradient(circle at 48% 71%,#fff 0 1px,transparent 2px),radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.5) 0,transparent 48%),linear-gradient(145deg,var(--skin) 30%,var(--skin-accent))}.skin-preview.pattern-cracks,.skin-preview.pattern-storm{background-image:repeating-linear-gradient(130deg,transparent 0 17px,var(--skin-accent) 18px 19px,transparent 20px 28px),radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.58) 0,transparent 48%),linear-gradient(145deg,var(--skin) 30%,var(--skin-accent))}.skin-preview.pattern-crystal,.skin-preview.pattern-frost{background-image:repeating-linear-gradient(58deg,transparent 0 22px,rgba(255,255,255,.5) 23px 24px,transparent 25px 35px),repeating-linear-gradient(128deg,transparent 0 27px,var(--skin-accent) 28px 29px,transparent 30px 40px),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.48) 0,transparent 48%),linear-gradient(145deg,var(--skin-light),var(--skin) 62%,var(--skin-accent))}.skin-preview.pattern-brushed,.skin-preview.pattern-metal{background-image:repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.22) 6px 7px,transparent 8px 12px),radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),linear-gradient(145deg,var(--skin-light),var(--skin) 55%,var(--skin-accent))}.skin-preview.pattern-bubbles{background-image:radial-gradient(circle at 25% 35%,transparent 0 5px,var(--skin-light) 6px 7px,transparent 8px),radial-gradient(circle at 70% 60%,transparent 0 8px,var(--skin-accent) 9px 10px,transparent 11px),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.54) 0,transparent 48%),linear-gradient(145deg,var(--skin-light),var(--skin) 55%,var(--skin-accent))}.skin-preview.pattern-marble{background-image:repeating-linear-gradient(148deg,transparent 0 15px,var(--skin-accent) 16px 17px,transparent 18px 25px),radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.48) 0,transparent 48%),linear-gradient(145deg,var(--skin-light),var(--skin) 55%)}.skin-preview.pattern-camo{background-image:radial-gradient(ellipse at 25% 28%,var(--skin-light) 0 13%,transparent 14%),radial-gradient(ellipse at 70% 44%,var(--skin-accent) 0 16%,transparent 17%),radial-gradient(ellipse at 38% 74%,var(--skin-accent) 0 14%,transparent 15%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.5) 0,transparent 48%),linear-gradient(145deg,var(--skin),var(--skin-light))}.skin-preview.pattern-sunset,.skin-preview.pattern-swirl{background-image:repeating-linear-gradient(165deg,transparent 0 15px,var(--skin-accent) 16px 19px,transparent 20px 28px),radial-gradient(ellipse at 28% 19%,var(--skin-light) 0,transparent 26%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.52) 0,transparent 48%),linear-gradient(145deg,var(--skin) 30%,var(--skin-accent))}.skin-preview.pattern-leaves{background-image:radial-gradient(ellipse at 25% 33%,var(--skin-light) 0 8%,transparent 9%),radial-gradient(ellipse at 62% 44%,var(--skin-accent) 0 8%,transparent 9%),radial-gradient(ellipse at 42% 74%,var(--skin-light) 0 9%,transparent 10%),radial-gradient(ellipse at 70% 79%,rgba(0,0,0,.5) 0,transparent 48%),linear-gradient(145deg,var(--skin),var(--skin-accent))}.skin-preview.feature-atomic-kaiju:before,.skin-preview.feature-kaiju:before{position:absolute;top:-8px;left:14px;width:36px;height:20px;content:"";background:var(--skin-accent);-webkit-clip-path:polygon(0 100%,13% 28%,25% 100%,41% 0,55% 100%,70% 25%,84% 100%,94% 42%,100% 100%);clip-path:polygon(0 100%,13% 28%,25% 100%,41% 0,55% 100%,70% 25%,84% 100%,94% 42%,100% 100%);filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}.skin-preview.feature-atomic-kaiju{box-shadow:inset -5px -7px 9px rgba(5,10,16,.32),inset 3px 3px 8px rgba(255,255,255,.2),0 0 13px rgba(57,245,225,.3),0 9px 15px rgba(0,0,0,.32)}.skin-preview.feature-crystal:before{position:absolute;top:-7px;left:22px;width:20px;height:27px;content:"";background:linear-gradient(145deg,#fff,var(--skin-accent) 62%,var(--skin));-webkit-clip-path:polygon(50% 0,100% 34%,78% 100%,20% 88%,0 26%);clip-path:polygon(50% 0,100% 34%,78% 100%,20% 88%,0 26%);filter:drop-shadow(0 3px 3px rgba(0,0,0,.5))}.skin-name{color:var(--ink);font-weight:800}.choice-mark{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:#151b20;font-size:.82rem;font-weight:900}.skin-choice:not(.chosen) .choice-mark{background:transparent}.back-link{margin-top:25px;padding:5px 0;color:var(--lime);font-weight:800}.setting-row{min-height:90px;padding:17px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(110deg,#202438,#151821)}.setting-row>div{display:grid;grid-gap:4px;gap:4px}.setting-row strong{color:var(--ink)}.setting-row span{color:var(--muted);font-size:.9rem}.setting-select-row select{width:min(210px,48%);min-height:44px;padding:0 34px 0 12px;border:1px solid #4a5065;border-radius:11px;background:#10131d;color:var(--ink);font:inherit;font-weight:700}.setting-select-row select:focus{border-color:var(--lime);outline:2px solid transparent;box-shadow:0 0 0 2px rgba(209,243,107,.22)}.setting-select-row select:disabled{cursor:wait;opacity:.65}.operation-options{min-width:0;margin:14px 0 0;padding:15px;border:1px solid var(--line);border-radius:15px;background:#141722}.operation-options legend{padding:0 7px;color:var(--ink);font-weight:900}.operation-options>p{margin:0 0 12px;color:var(--muted);font-size:.85rem}.operation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.operation-option{min-height:44px;padding:8px 10px;display:flex;align-items:center;gap:9px;border:1px solid #34394a;border-radius:10px;background:#191d29;color:var(--ink);cursor:pointer;font-size:.84rem;font-weight:700}.operation-option:hover{border-color:#707789}.operation-option input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--lime)}.operation-options:disabled{opacity:.65}.toggle{width:80px;min-height:42px;padding:4px;display:flex;align-items:center;gap:6px;border:1px solid #62687b;border-radius:999px;background:#34394b;cursor:pointer;transition:background-color .15s ease}.toggle.on{justify-content:flex-end;border-color:#b7d85d;background:#9dcc52}.toggle:disabled{cursor:wait;opacity:.65}.toggle-knob{width:30px;height:30px;flex:0 0 auto;border-radius:50%;background:#f7f4eb;box-shadow:0 1px 3px rgba(0,0,0,.2)}.toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.welcome-note{margin:14px 0 0;padding:12px 15px;border-left:3px solid var(--lime);border-radius:0 12px 12px 0;background:#171d25;color:#e5e9f1;font-size:.93rem}.outline-button,.signin-button,.signout-button{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #596079;border-radius:12px;background:#202438;color:var(--ink);cursor:pointer;font-size:.84rem;font-weight:800;text-decoration:none}.signin-button{border-color:#bedc65;background:var(--lime);color:#172136}.signin-button:hover{background:#e0f69b}.outline-button:hover,.signout-button:hover{border-color:var(--lime);background:#292f43}.topbar form{margin:0}.nav-button:disabled{cursor:not-allowed;opacity:.6}.multiplayer-panel,.parent-panel{margin-top:28px;padding:20px;border:1px solid #34394a;border-radius:19px;background:linear-gradient(145deg,#1a2030,#141722 82%)}.multiplayer-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.multiplayer-heading h2,.parent-panel h2{margin:0;color:var(--ink);font-size:1.35rem;line-height:1.2;letter-spacing:-.025em}.eyebrow{margin:0 0 5px;color:var(--lime);font-size:.68rem;font-weight:900;letter-spacing:.12em}.room-state-pill{flex:0 0 auto;padding:5px 9px;border:1px solid #50566b;border-radius:999px;color:#d0d4df;font-size:.7rem;font-weight:800}.room-state-pill.enabled{border-color:#627b39;background:#25321e;color:#d9f0a0}.multiplayer-copy,.parent-form>p,.parent-locked p{margin:8px 0 15px;color:var(--muted);font-size:.88rem}.room-locked-note{margin:13px 0 0;color:#d4d8e5;font-size:.87rem}.inline-link{padding:0;border:0;background:none;color:var(--lime);cursor:pointer;font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px}.room-signin{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:5px;color:var(--muted);font-size:.87rem}.room-actions{display:grid;justify-items:start;grid-gap:16px;gap:16px;padding-top:3px}.join-room-form{width:min(100%,480px)}.join-room-form label,.parent-form label{display:block;margin:0 0 6px;color:#e8eaf2;font-size:.82rem;font-weight:800}.join-room-form>div{display:flex;gap:8px}.join-room-form input,.parent-form input{width:100%;min-width:0;min-height:44px;padding:0 12px;border:1px solid #4a5065;border-radius:11px;background:#10131d;color:var(--ink);font:inherit}.join-room-form input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em}.join-room-form input:focus,.parent-form input:focus{border-color:var(--lime);outline:2px solid transparent;box-shadow:0 0 0 2px rgba(209,243,107,.22)}.outline-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.room-live{margin-top:15px}.room-code-box{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #454b60;border-radius:14px;background:#10141e}.room-code-box>div{display:grid;grid-gap:2px;gap:2px}.room-code-box span{color:var(--muted);font-size:.66rem;font-weight:900;letter-spacing:.12em}.room-code-box strong{color:var(--lime);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;letter-spacing:.14em}.room-players{margin:12px 0;padding:0;list-style:none}.room-players li{min-height:56px;padding:8px 1px;display:grid;grid-template-columns:13px minmax(0,1fr) auto auto;align-items:center;grid-gap:9px;gap:9px;border-bottom:1px solid #303545}.room-player-dot{width:11px;height:11px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:#34394b}.room-players li>span:nth-child(2){display:grid;color:var(--ink);font-size:.86rem;font-weight:800}.room-players small{color:var(--muted);font-size:.72rem;font-weight:500}.room-players b{color:var(--lime);font-size:.82rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.room-players em{min-width:73px;color:#ccd1df;font-size:.7rem;font-style:normal;text-align:right}.room-waiting-player{opacity:.7}.room-ready-button{width:100%;margin-top:5px}.room-feedback,.room-playing-note{margin:11px 0 0;color:#dce4c2;font-size:.82rem}.room-leave-button{margin-top:8px}.room-feedback.error-text{color:#ffc9bd}.parent-panel{margin-top:24px;padding:19px}.parent-panel h2{margin-bottom:10px}.parent-form{display:grid;grid-gap:8px;gap:8px;justify-items:start}.parent-form>p{margin:0 0 3px}.parent-form input{max-width:360px;margin-bottom:3px}.parent-form .outline-button,.parent-form .primary-button{min-height:46px}.parent-locked{display:grid;justify-items:start}.privacy-note{max-width:76ch}.math-help-panel{margin-top:28px;padding:20px;border:1px solid #34394a;border-radius:19px;background:linear-gradient(145deg,#1a2030,#141722 82%)}.math-help-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.math-help-heading h2{margin:0;color:var(--ink);font-size:1.35rem;line-height:1.2;letter-spacing:-.025em}.math-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid #53623a;border-radius:13px;background:#25321e;color:var(--lime);font-size:1.45rem;font-weight:900}.math-help-copy{margin:8px 0 15px;color:var(--muted);font-size:.88rem}.math-answer label,.math-help-form label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 6px;color:#e8eaf2;font-size:.82rem;font-weight:800}.math-answer textarea,.math-help-form textarea{width:100%;min-height:92px;padding:11px 12px;resize:vertical;border:1px solid #4a5065;border-radius:11px;background:#10131d;color:var(--ink);font:inherit;line-height:1.5}.math-help-form textarea::placeholder{color:#adb5ca;opacity:1}.math-answer textarea:focus,.math-help-form textarea:focus{border-color:var(--lime);outline:2px solid transparent;box-shadow:0 0 0 2px rgba(209,243,107,.22)}.math-help-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.math-help-footer>span{color:var(--muted);font-size:.76rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.math-privacy-note{margin:11px 0 0;color:#c0c6d8;font-size:.8rem;line-height:1.45}.math-feedback{margin:10px 0 0;color:#dce4c2;font-size:.85rem}.math-feedback.error-text{color:#ffc9bd}.math-answer{margin-top:16px}.math-answer label span{color:var(--muted);font-size:.75rem;font-weight:500}.math-answer textarea{min-height:132px}@media (max-width:560px){.landing-shell{width:min(100% - 36px,500px)}.landing-header{min-height:72px}.landing-brand{gap:9px;font-size:1.14rem}.landing-brand img{width:38px;height:38px;border-radius:12px}.landing-main{grid-template-columns:minmax(0,1fr);gap:35px;padding:48px 0 40px}.landing-intro h1{max-width:none;font-size:clamp(3.5rem,16vw,4.5rem)}.landing-copy{max-width:36ch;margin:20px 0 24px;font-size:1rem}.landing-cta{min-height:56px}.landing-scene{height:min(86vw,340px);min-height:260px;border-radius:20px}.landing-preview figcaption{margin-top:11px;font-size:.82rem}.app-shell{width:min(100% - 28px,500px);padding-bottom:24px}.topbar{min-height:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px 8px;gap:10px 8px;padding:11px 0}.brand{gap:7px;font-size:1.02rem}.brand-icon{width:35px;height:35px;border-radius:10px}.main-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:0}.topbar>form{grid-column:2;grid-row:1}.signin-button,.signout-button{min-height:38px;padding:0 11px;font-size:.78rem}.nav-button{min-height:38px;padding:0 9px;font-size:.82rem}.game-screen,.settings-screen{padding-top:30px}.game-heading-row{align-items:start;gap:8px;margin-bottom:18px}h1{font-size:1.62rem;line-height:1.18}.game-subtitle,.screen-heading p{max-width:32ch;font-size:.92rem}.best-score{display:grid;grid-template-columns:auto auto;grid-column-gap:5px;column-gap:5px;justify-content:end;text-align:right}.best-score strong{font-size:1.15rem}.best-score small{grid-column:1/-1}.game-search{margin-bottom:15px}.game-search>label{margin-bottom:5px}.search-field{min-height:45px}.game-picker-heading{min-height:42px;gap:8px}.game-picker-heading p{font-size:.78rem}.browse-games-button{min-height:36px;padding:0 8px;font-size:.74rem}.game-option-grid{grid-template-columns:minmax(0,1fr);gap:6px}.game-option{min-height:62px;grid-template-columns:64px minmax(0,1fr);padding:9px 10px}.game-option-topic{font-size:.7rem}.game-option-copy strong{font-size:.86rem}.game-option-copy small{font-size:.72rem}.math-game-panel{margin-top:16px;padding:15px;border-radius:16px}.math-game-heading h2{font-size:1.2rem}.math-game-ready p,.math-game-result p{font-size:.88rem}.math-question-label{font-size:1.04rem}.math-game-actions{align-items:stretch}.math-game-actions .primary-button{min-height:44px}.playfield{height:254px;border-radius:18px}.play-controls{margin-top:18px}.play-controls p{max-width:34ch;font-size:.92rem}.platform-math-form>label{font-size:.86rem}.keyboard-hint{font-size:.76rem}.play-controls .primary-button,.result-panel .primary-button{width:min(100%,340px)}.profile-strip{flex-wrap:wrap;padding:10px 2px}.profile-hint{max-width:48%}.text-button{font-size:.82rem}.status-line{align-items:start;font-size:.86rem}.skin-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.skin-choice{min-height:126px;padding:12px;border-radius:16px}.skin-preview{width:56px;height:56px}.setting-row{padding:14px}.setting-select-row{align-items:stretch;flex-direction:column}.setting-select-row select{width:100%}.operation-options{margin-top:11px;padding:12px}.operation-grid{grid-template-columns:minmax(0,1fr)}.welcome-note{margin-top:10px;padding:10px 12px;font-size:.84rem}.multiplayer-panel,.parent-panel{margin-top:22px;padding:15px;border-radius:16px}.multiplayer-heading h2,.parent-panel h2{font-size:1.2rem}.math-help-panel{margin-top:22px;padding:15px;border-radius:16px}.math-help-heading h2{font-size:1.2rem}.math-help-copy{font-size:.82rem}.math-help-footer .primary-button{min-height:44px;padding:0 13px}.multiplayer-copy,.parent-form>p,.parent-locked p{font-size:.82rem}.room-state-pill{padding:4px 7px;font-size:.64rem}.room-signin{align-items:flex-start;flex-direction:column}.room-code-box{padding:10px}.room-code-box strong{font-size:1.12rem;letter-spacing:.1em}.room-players li{grid-template-columns:12px minmax(0,1fr) auto;gap:7px}.room-players em{grid-column:2/-1;grid-row:2;margin-top:-4px;text-align:left}.room-players b{grid-column:3;grid-row:1}.join-room-form>div{gap:6px}.join-room-form .outline-button{padding:0 10px;white-space:nowrap}.room-feedback{line-height:1.45}}@media (max-width:370px){.landing-shell{width:min(100% - 28px,500px)}.landing-main{gap:30px;padding-top:38px}.landing-intro h1{font-size:3.25rem}.landing-copy{font-size:.94rem}.app-shell{width:min(100% - 22px,500px)}.topbar{gap:4px}.brand{font-size:.94rem}.brand-icon{width:32px;height:32px}.nav-button{padding:0 7px;font-size:.78rem}.game-heading-row{gap:5px}h1{font-size:1.48rem}.best-score{padding:7px 9px}.room-code-box{align-items:flex-start;flex-direction:column}.join-room-form>div{align-items:stretch;flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}