:root{color-scheme:dark;--bg:#121619;--panel:#211f1d;--line:#3d3732;--ink:#f5eee7;--muted:#b8b0a8;--accent:#e99a4c;--secondary:#dcb48f;--orange:#ffc28f;font-family:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);min-height:100dvh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--secondary);outline-offset:4px}button{border:0;color:inherit}a{color:inherit;text-decoration:none}.header{max-width:1040px;margin:auto;padding:30px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;font-size:21px;letter-spacing:-.7px;font-weight:900}.brand-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:var(--accent);color:var(--bg);font-size:31px;margin-right:11px;line-height:1}.brand-dot{color:var(--accent)}.icon-button{background:transparent;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;width:44px;height:44px;font-size:27px;color:var(--muted)}main{max-width:976px;margin:20px auto 0;padding:0 0 32px;min-height:calc(100dvh - 210px)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--muted);text-transform:uppercase}.topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.pill{background:#30251c;color:var(--accent);border:1px solid #59402a;border-radius:100px;padding:9px 13px;font-size:12px;font-weight:700}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}.hero h1{font-size:clamp(44px,6vw,65px);line-height:1.04;letter-spacing:-3px;margin:0 0 18px;font-weight:900}.hero h1 span{color:var(--accent)}.subcopy{color:var(--muted);line-height:1.65;font-size:15px;max-width:345px;margin:0}.mission{border:1px solid var(--line);border-radius:24px;padding:26px;background:var(--panel);position:relative}.mission-top{display:flex;justify-content:space-between;align-items:center}.mini-badge{color:var(--secondary);font-weight:800;font-size:11px;letter-spacing:1px}.table-display{display:flex;gap:24px;align-items:center;margin:26px 0}.table-orb{width:110px;height:110px;flex-shrink:0;border-radius:50%;border:7px solid #543d29;display:grid;place-items:center;color:var(--accent);font-size:62px;font-weight:900;letter-spacing:-4px;box-shadow:inset 0 0 0 1px #785337}.mission h2{font-size:23px;letter-spacing:-.6px;margin:0 0 6px}.mission p{font-size:13px;color:var(--muted);margin:0;line-height:1.6}.check-dots{display:flex;gap:6px;margin-top:12px}.check-dot{height:7px;width:32px;background:#493b31;border-radius:10px}.check-dot.done{background:var(--accent)}.primary{display:flex;align-items:center;justify-content:space-between;background:var(--accent);color:#24180e;border-radius:13px;min-height:54px;padding:14px 20px;font-weight:850;font-size:16px;width:100%}.primary .arrow{font-size:25px;line-height:1}.primary:hover{background:#f5b06a}.secondary{background:transparent;border:1px solid var(--line);border-radius:12px;padding:14px 18px;min-height:48px;font-weight:700}.secondary:hover{background:#302a25}.path{margin-top:46px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-heading h2{font-size:18px;letter-spacing:-.5px;margin:0}.section-heading span{font-size:12px;color:var(--muted)}.level-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.level{min-height:100px;border:1px solid var(--line);border-radius:16px;background:var(--panel);text-align:left;padding:15px;position:relative}.level strong{font-size:29px;font-weight:900;letter-spacing:-1px}.level small{display:block;margin-top:8px;font-size:10px;letter-spacing:.5px;color:var(--muted)}.level .level-symbol{position:absolute;right:13px;top:16px;font-size:13px}.level.locked{background:transparent;color:#727b80;border-color:#293034}.level.locked small{color:#727b80}.level.active{border-color:var(--accent);background:#30251c;color:var(--accent)}.level.mastered{color:var(--secondary);border-color:#554336}.level:hover:not(:disabled){transform:translateY(-2px)}.how{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;padding-top:25px;border-top:1px solid var(--line)}.how-item{display:flex;gap:12px;align-items:flex-start}.step{color:var(--secondary);font-size:12px;font-weight:800;border:1px solid #554336;border-radius:8px;padding:6px 8px}.how strong{display:block;font-size:12px;margin:1px 0 5px}.how p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.remix{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #554336;background:#2b241e;border-radius:16px;padding:20px;margin-top:22px}.remix h3{font-size:16px;margin:0 0 5px}.remix p{font-size:12px;color:var(--muted);margin:0}.remix button{flex-shrink:0}footer{max-width:976px;margin:0 auto;padding:22px 0 28px;display:flex;align-items:center;gap:8px;border-top:1px solid #293034;font-size:9px;letter-spacing:1.5px;color:#a79b90;font-weight:700}.status-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.footer-right{margin-left:auto}.play{max-width:480px;margin:auto}.back{background:transparent;color:var(--muted);font-size:13px;padding:10px 0;min-height:44px}.play-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:12px}.progress-track{height:5px;display:flex;gap:3px}.progress-segment{flex:1;background:#31393d;border-radius:5px}.progress-segment.correct{background:var(--accent)}.progress-segment.incorrect{background:var(--orange)}.question-card{text-align:center;margin:28px 0 18px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px 20px 20px}.equation{font-size:clamp(44px,10vw,66px);letter-spacing:-3px;font-weight:900;display:flex;justify-content:center;align-items:center;gap:14px;margin:20px 0 22px;line-height:1.1}.equation .operator{color:var(--secondary);font-size:.7em}.answer-input{width:100%;height:76px;text-align:center;background:#121619;border:2px solid #6b482d;border-radius:14px;color:var(--accent);font-size:38px;font-weight:850;caret-color:var(--accent);outline-offset:2px}.answer-input::placeholder{color:#596264}.feedback{min-height:52px;padding-top:15px;font-size:14px;line-height:1.5;color:var(--muted)}.feedback.good{color:var(--accent)}.feedback.learn{color:var(--orange)}.feedback strong{font-weight:850}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.key{background:#292522;border:1px solid #403830;border-radius:12px;height:54px;font-size:24px;font-weight:750;touch-action:manipulation}.key:active{background:#4a3b2f;transform:scale(.97)}.key.subtle{font-size:13px;color:var(--muted)}.keypad.disabled{opacity:.35}.submit-answer{margin-top:12px}.submit-answer:disabled{background:#3b2e23;color:#a39688}.play-tip{text-align:center;font-size:11px;color:var(--muted);line-height:1.6;margin:16px 0 0}.result{max-width:480px;margin:auto;text-align:center}.result-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:#392a1e;color:var(--accent);font-size:38px;font-weight:900;margin:20px auto}.result h1{font-size:40px;letter-spacing:-1.8px;line-height:1.1;margin:18px 0 14px}.result>p{font-size:14px;line-height:1.65;color:var(--muted)}.score-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:25px;margin:24px 0}.score-big{font-size:68px;letter-spacing:-3px;color:var(--accent);font-weight:900;line-height:1.1}.score-card p{font-size:12px;color:var(--muted)}.result .secondary{width:100%;margin-top:10px}.missed-list{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.missed-fact{background:#2e2a24;color:var(--orange);font-size:13px;border-radius:8px;padding:8px 10px}.success-streak{color:var(--secondary);font-weight:700;font-size:13px;margin-top:15px}dialog{max-width:500px;width:calc(100% - 32px);border:1px solid #5b4b3e;border-radius:22px;background:var(--panel);padding:24px;color:var(--ink);max-height:85dvh}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dialog-heading h2{font-size:24px;margin:0;letter-spacing:-.8px}dialog p{color:var(--muted);font-size:13px;line-height:1.6}dialog h3{font-size:15px;margin-top:25px}.parent-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.parent-stat{border:1px solid var(--line);border-radius:12px;padding:15px}.parent-stat strong{font-size:26px;display:block;color:var(--accent)}.parent-stat small{color:var(--muted);font-size:11px}.tricky-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.tricky-row span:last-child{color:var(--orange)}.reset-area{margin-top:22px;border-top:1px solid var(--line);padding-top:8px}.reset-area input{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:12px;width:100%;margin:8px 0}.reset-area button{width:100%;color:var(--orange)}.reset-area button:disabled{opacity:.4}.storage-warning{background:#453325;color:var(--orange);padding:12px;text-align:center;font-size:13px}.parent-note{font-size:11px!important}button,a,input{touch-action:manipulation}
@media(max-width:1040px){main{padding:0 32px 32px}footer{margin:0 32px}.hero{gap:28px}.level-grid{grid-template-columns:repeat(6,1fr)}}
@media(max-width:700px){.header{padding:20px 22px}.brand{font-size:19px}main{padding:0 22px 28px;margin-top:12px}.topline{margin-bottom:22px}.hero{grid-template-columns:1fr;gap:26px}.hero h1{font-size:46px;letter-spacing:-2px;margin-bottom:12px}.subcopy{font-size:14px;max-width:100%}.mission{padding:23px}.table-display{margin:22px 0}.table-orb{width:92px;height:92px;font-size:53px}.path{margin-top:30px}.level-grid{grid-template-columns:repeat(4,1fr);gap:8px}.level{padding:12px;min-height:92px}.level strong{font-size:27px}.level small{font-size:9px}.level .level-symbol{right:10px;top:12px}.how{grid-template-columns:1fr;gap:16px}.how p{font-size:12px}.how-item{gap:13px}.remix{padding:16px}.remix .secondary{font-size:12px;padding:10px 12px}footer{margin:0 22px;font-size:8px;letter-spacing:1px;padding:20px 0 24px}.question-card{margin-top:23px}.play main{padding-bottom:16px}.play-nav{margin-bottom:12px}.result h1{font-size:36px}}
@media(max-width:370px){.header{padding:16px}.hero h1{font-size:42px}main{padding:0 16px 24px}.level-grid{grid-template-columns:repeat(3,1fr)}footer{margin:0 16px}.key{height:49px}.equation{font-size:46px;gap:11px}.question-card{padding:21px 15px 16px}.footer-right{font-size:7px}.topline .eyebrow{letter-spacing:1px}.pill{padding:8px 10px;font-size:11px}}
@media(max-height:750px){.play .question-card{margin:16px 0 12px;padding:20px 18px 12px}.play .equation{margin:13px 0 16px;font-size:50px}.play .answer-input{height:62px}.play .key{height:46px}.play .feedback{min-height:48px}.play .play-nav{margin-bottom:8px}.play .play-tip{margin-top:10px}.header{padding-top:16px;padding-bottom:16px}}
@media(prefers-reduced-motion:no-preference){.mission,.question-card,.result{animation:arrive .25s ease-out}.level{transition:transform .15s}.result-icon{animation:arrive .45s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}}
.answer-input.incorrect-answer{color:#b8b0a8;border-color:#514239;text-decoration:line-through;font-size:28px;height:58px}
.feedback.learn{margin-top:18px;padding:18px 12px;background:#1b2d25;border:1px solid #4b6b57;border-radius:16px;color:var(--ink)}
.correction-label{display:block;color:#a9e6c2;font-size:12px;font-weight:850;letter-spacing:1.5px;text-transform:uppercase}
.correction-equation{display:flex;align-items:center;justify-content:center;gap:10px;font-size:27px;font-weight:800;letter-spacing:-.7px;margin:12px 0}
.correct-answer{display:inline-block;background:#a9e6c2;color:#15241b;padding:3px 13px;border-radius:10px;font-size:38px;font-weight:900;line-height:1.3}
.correction-tip{display:block;color:#d1dbd4;font-size:12px;line-height:1.6}
.keypad[hidden]{display:none}
