@import "https://fonts.googleapis.com/css2?family=Nunito:wght@500;600;700;800;900&display=swap";:root{color:#f3f0e8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#0d0f11;font-family:Nunito,Trebuchet MS,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible{outline-offset:3px;outline:4px solid #f4c95d}#root{min-width:0;min-height:100vh}:root{--bg:#0d0f11;--panel:#15191e;--panel-raised:#1b2026;--line:#2a3038;--text:#f3f0e8;--muted:#8e969f;--accent:#d8bd6b;--success:#4fc494}.game-shell{background:var(--bg);max-width:1180px;min-height:100vh;color:var(--text);margin:0 auto}.topbar{border-bottom:1px solid var(--line);background:#0d0f11f0;justify-content:space-between;align-items:center;height:70px;padding:14px clamp(18px,5vw,58px);display:flex}.brand,.back-button{color:var(--text);background:0 0;border:0;font-weight:900}.brand{align-items:center;gap:10px;font-size:20px;display:flex}.brand-mark{width:32px;height:32px;color:var(--bg);background:var(--accent);border-radius:50%;place-items:center;font-size:16px;display:grid}.language-picker select{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 11px;font-weight:800}.screen{padding:42px clamp(18px,7vw,82px)}.home-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:25px;min-height:calc(100vh - 70px);display:flex}.home-copy{max-width:620px}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin:0 0 9px;font-size:11px;font-weight:900}.home-copy h1,h1{color:var(--text);letter-spacing:-1.5px;margin:0;font-size:clamp(34px,6vw,62px);line-height:1.02}.home-gem-orbit{justify-content:center;align-items:center;gap:16px;width:180px;height:108px;display:flex}.home-gem-orbit>span{align-items:center;gap:9px;display:flex}.gemstone{fill:var(--gem-primary);stroke:var(--gem-secondary);stroke-width:4px;stroke-linejoin:round;filter:drop-shadow(0 9px 6px #00000057);overflow:visible}.gemstone path{fill:none;stroke:var(--gem-secondary);stroke-width:3px;stroke-linecap:round}.gemstone .gem-highlight{fill:var(--gem-highlight);stroke:none;opacity:.8}.gemstone-tiny{filter:none;stroke-width:3px;width:20px;height:25px}.gemstone-small{width:34px;height:42px}.gemstone-medium{width:58px;height:70px}.gemstone-large{width:76px;height:92px}.today-card{border:1px solid var(--line);background:var(--panel);text-align:left;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;width:min(500px,100%);padding:17px 20px;display:flex}.card-label{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:900;display:block}.today-card strong,.stat-panel strong{color:var(--text);font-size:30px;line-height:1;display:block}.today-card>div:first-child>span:last-child,.stat-panel>span:last-child{color:var(--muted);font-size:12px}.today-gem-row{color:var(--text);flex-wrap:wrap;justify-content:flex-end;gap:8px 12px;font-weight:900;display:flex}.today-gem-row span{align-items:center;gap:3px;display:flex}.home-actions{flex-wrap:wrap;justify-content:center;gap:10px;width:100%;display:flex}.primary-button,.outline-button,.secondary-button{border-radius:11px;min-height:50px;padding:12px 20px;font-weight:900;transition:transform .15s,background .15s}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#17140c}.outline-button,.secondary-button{border:1px solid var(--line);background:var(--panel);color:var(--text)}.primary-button:hover,.outline-button:hover,.secondary-button:hover,.module-card:hover{transform:translateY(-2px)}.primary-button span,.outline-button span{color:#1a160c;margin-right:8px}.outline-button span{color:var(--accent)}.round-completion{text-align:center;align-content:center;justify-items:center;gap:16px;min-height:540px;padding:32px 20px;display:grid}.round-completion h1{color:var(--text);margin:0}.completed-exercises{gap:10px;display:flex}.completed-exercises span{border:1px solid var(--success);width:38px;height:38px;color:var(--success);border-radius:50%;place-items:center;font-size:22px;display:grid}.completion-message,.completion-bonus-label{color:var(--muted);margin:0}.bonus-gemstones{justify-content:center;align-items:center;gap:4px;min-height:112px;display:flex}.bonus-gemstone{animation:.6s ease-out both bonus-gemstone-pop;display:inline-block}.bonus-gemstone:nth-child(2){animation-delay:.12s}.completion-button{min-width:220px;margin-top:8px}@keyframes bonus-gemstone-pop{0%{opacity:0;transform:translateY(10px)scale(.7)rotate(-8deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}.inner-screen{max-width:1000px;margin:0 auto}.back-button{width:42px;height:42px;color:var(--muted);padding:0;font-size:30px;line-height:1}.back-button:hover{color:var(--text)}.section-heading{margin:34px 0 25px}.compact-heading{margin-top:25px}.practice-screen .section-heading{margin:10px 0 16px}.practice-screen .section-heading h1{letter-spacing:-1px;font-size:clamp(30px,4vw,46px)}.module-list{gap:11px;display:grid}.module-card{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--text);text-align:left;border-radius:15px;align-items:center;gap:16px;padding:17px 19px;transition:transform .15s,border-color .15s,background .15s;display:flex}.module-card:hover{background:var(--panel-raised);border-color:#555d66}.module-card>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.module-card strong{font-size:21px}.module-card em{color:var(--accent);font-size:13px;font-style:normal;font-weight:800}.arrow{color:var(--muted);margin-left:auto;font-size:28px}.puzzle-board{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:20px;min-width:0;display:grid}.clue-area,.answer-area,.reward-area{border:1px solid var(--line);background:var(--panel);border-radius:17px;min-width:0;padding:20px}.clue-area{background:#11151a;min-height:300px}.clue-title{color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:900}.clue-row{color:var(--text);text-align:center;border:1px solid #272e36;border-radius:11px;margin:11px 0;padding:14px 12px;font-size:clamp(24px,3vw,35px);font-weight:900;transition:background .2s,border-color .2s,transform .2s}.clue-row.hinted{background:#252115;border-color:#766632;transform:scale(1.02)}.substituted{color:var(--success);text-decoration:underline;text-decoration-thickness:3px}.answer-area{text-align:center}.select-label{color:var(--muted);margin:2px 0 8px;font-size:12px;font-weight:900}.symbol-list{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.symbol-choice{min-width:54px;color:var(--text);background:#11151a;border:2px solid #2d343d;border-radius:10px;padding:7px;font-size:27px;font-weight:900;transition:all .2s}.symbol-choice small{color:var(--muted);font-size:11px;display:block}.symbol-choice.active{border-color:var(--accent);background:#262319;transform:translateY(-2px)}.symbol-choice.solved{color:var(--success);background:#14231e;border-color:#2f8061}.attempt-meter{justify-content:center;gap:5px;min-height:9px;margin:13px 0 15px;display:flex}.attempt-meter span{background:#3a424c;border-radius:50%;width:7px;height:7px}.attempt-meter span.used{background:#b37070}.number-pad{grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:7px;width:100%;min-width:0;max-width:360px;margin-inline:auto;display:grid}.answer-button{width:100%;min-width:0;min-height:48px;color:var(--text);background:#11151a;border:2px solid #2d343d;border-radius:10px;font-size:22px;font-weight:900}.answer-button:hover:not(:disabled){border-color:var(--accent);background:#262319}.answer-button:disabled{cursor:not-allowed;opacity:.5}.hint-button{width:100%;color:var(--accent);background:#211d12;border:1px solid #675b36;border-radius:10px;margin-top:15px;padding:10px;font-weight:900}.hint-copy{color:#c5ad69;margin:10px 0 0;font-size:13px;font-weight:800}.answer-message{min-height:18px;color:var(--success);margin-top:11px;font-size:18px;font-weight:900}.answer-message.wrong{color:#b37070}.round-progress{color:var(--muted);margin:6px 0 0;font-size:13px;font-weight:800}.subtraction-clue{flex-direction:column;justify-content:center;display:flex}.equation{color:var(--text);letter-spacing:-2px;justify-content:center;align-items:center;gap:clamp(10px,2vw,20px);margin:5px 0 22px;font-size:clamp(38px,6vw,66px);font-weight:900;display:flex}.equation b{color:var(--accent);font-weight:700}.object-scene{background:#15191e;border:1px solid #272e36;border-radius:13px;padding:15px 10px}.object-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.object-group{text-align:center;background:#11151a;border-radius:10px;min-width:0;padding:10px}.object-label{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:800;display:block}.objects{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:48px;display:flex}.math-object{width:42px;min-width:42px;height:42px;color:inherit;background:0 0;border:1px solid #0000;border-radius:9px;place-items:center;font-size:31px;line-height:1;display:inline-grid}.object-group button.math-object{cursor:pointer}.object-group button.math-object:hover{border-color:var(--accent);background:#262319}.math-object.removed{opacity:.45;text-decoration:line-through}.returning .math-object{animation:.55s ease-out both return-object}.return-note{color:var(--accent);text-align:center;margin-top:10px;font-size:13px;font-weight:800}.subtraction-hint{text-align:center}.subtraction-answer .answer-button.selected{border-color:var(--accent);background:#262319;box-shadow:0 0 0 2px #d8bd6b26}.confirm-button{border:1px solid var(--accent);background:var(--accent);color:#17140c;border-radius:10px;width:min(100%,220px);min-height:46px;margin-top:13px;padding:9px 16px;font-weight:900}.confirm-button:disabled{cursor:not-allowed;opacity:.42}.missing-minuend-equation-hinted{background:#252115;border-radius:12px;padding:6px 12px;box-shadow:0 0 0 1px #766632}.reward-area{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:390px;display:flex;overflow:hidden}.reward-chest{width:150px;animation:.45s ease-out both reward-arrive}.reward-chest svg{width:100%;display:block}.reward-chest .chest-lid{transform-origin:90px 60px;animation:.7s ease-out .35s both lid-open}.chest-lid,.chest-body{fill:#a7693b;stroke:#613a25;stroke-width:5px}.chest-body{fill:#8e522e}.chest-band{fill:none;stroke:#d5ae5a;stroke-width:7px}.chest-lock{fill:var(--accent);stroke:#806c31;stroke-width:3px}.reward-area>.gemstone{animation:.8s cubic-bezier(.2,1.6,.4,1) .55s both gem-pop}.reward-amount{color:var(--text);font-size:20px}.stat-panels{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.stat-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:19px}.today-panel{background:#14231e;border-color:#295a4a}.collection-section{margin-top:34px}.collection-section h2{color:var(--text);margin:0 0 14px;font-size:20px}.gem-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.gem-card{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:142px;padding:11px 7px;display:flex}.gem-card>div{flex-direction:column;gap:2px;display:flex}.gem-card strong{color:var(--text);font-size:13px}.gem-card span{color:var(--muted);font-size:20px;font-weight:900}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes reward-arrive{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes lid-open{0%{transform:translateY(0)rotate(0)}to{transform:translateY(-15px)rotate(-5deg)}}@keyframes gem-pop{0%{opacity:0;transform:translateY(20px)scale(.5)rotate(-12deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes return-object{0%{opacity:.35;transform:translateY(12px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}.missing-minuend-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:2px 0 8px;display:grid;position:relative}.missing-step{text-align:center;background:#15191e;border:1px solid #2d343d;border-radius:13px;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:13px 9px;display:flex}.missing-step-title{min-height:34px;color:var(--text);justify-content:center;align-items:center;font-size:clamp(13px,1.7vw,17px);font-weight:900;line-height:1.15;display:flex}.missing-step-removed{border-color:#665734}.missing-step-remaining{border-color:#315a4d}.missing-step-visual{justify-content:center;align-items:center;width:100%;min-height:82px;display:flex}.mystery-visual{color:var(--accent);font-size:clamp(48px,7vw,72px);font-weight:900;line-height:1}.missing-step-objects{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}.missing-step-objects .math-object{width:34px;min-width:34px;height:34px;font-size:25px}.missing-step-removed .missing-step-objects .math-object{opacity:.58;filter:grayscale(.15);transform:translateY(3px)rotate(-5deg)}.missing-step-remaining .missing-step-objects .math-object{transform:translateY(-2px)}.step-placeholder{color:#58616b;letter-spacing:5px;font-size:23px}.step-zero{color:var(--muted);font-size:26px;font-weight:900}.missing-step-bridge{color:var(--accent);text-align:center;background:#252115;border:1px solid #766632;border-radius:10px;grid-column:1/-1;padding:9px 14px;font-size:clamp(20px,3vw,30px);font-weight:900}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1100px){.number-pad{grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}}@media (width<=900px){.puzzle-board{grid-template-columns:minmax(0,1fr)}.clue-area{min-height:0}}@media (width<=760px){.screen{padding:28px 18px}.home-screen{min-height:calc(100vh - 70px)}.today-card{flex-direction:column;align-items:stretch}.today-gem-row{justify-content:space-between}.section-heading{margin-top:24px}.gem-grid{grid-template-columns:repeat(3,1fr)}.gem-card:last-child{grid-column:2}.object-groups{grid-template-columns:1fr}.equation{margin-bottom:16px}}@media (width<=820px){.missing-minuend-steps{grid-template-columns:1fr}.missing-step{min-height:118px}.missing-step-visual{min-height:62px}}@media (width<=440px){.gem-grid{grid-template-columns:repeat(2,1fr)}.gem-card:last-child{grid-column:auto}.stat-panels{grid-template-columns:1fr}.module-card{gap:11px;padding:15px}.module-card strong{font-size:19px}.module-card .gemstone-medium{width:48px;height:58px}}.topbar-actions{align-items:center;gap:8px;display:flex}.settings-toggle,.update-button{border:1px solid var(--line);background:var(--panel);min-height:42px;color:var(--text);border-radius:9px;font-weight:900}.settings-toggle{width:42px;padding:0;font-size:20px}.update-button{color:var(--accent);padding:7px 11px}.backup-panel{border-bottom:1px solid var(--line);background:#11151a;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:10px clamp(18px,5vw,58px);display:flex}.backup-action{min-height:40px;padding:8px 12px}.backup-action input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.backup-message{color:var(--muted);font-size:13px;font-weight:800}.rabbits-screen .puzzle-board{align-items:stretch}.rabbits-screen .rabbit-clue,.rabbits-screen .rabbit-answer{min-height:0}.rabbits-screen .rabbit-clue{flex-direction:column;justify-content:center;display:flex}.rabbits-screen .rabbit-scene{min-height:178px}.rabbits-screen .number-pad{max-width:330px}.rabbits-screen .hint-copy{margin-top:7px}@media (height<=760px) and (width>=821px){.screen{padding-top:22px;padding-bottom:22px}.practice-screen .section-heading{margin-top:4px;margin-bottom:10px}.practice-screen .section-heading h1{font-size:clamp(27px,3.7vw,38px)}.clue-area,.answer-area,.reward-area{padding:15px}.rabbits-screen .rabbit-scene{min-height:140px}.missing-step{padding:9px 7px}.missing-step-visual{min-height:58px}.missing-step-objects .math-object{width:29px;min-width:29px;height:29px;font-size:21px}}@media (width<=820px){.rabbits-screen .puzzle-board{gap:12px}.rabbits-screen .rabbit-clue,.rabbits-screen .rabbit-answer{padding:14px}.rabbits-screen .rabbit-scene{min-height:145px}.rabbits-screen .equation{margin-bottom:9px}}@media (width<=520px){.topbar{height:auto;min-height:64px}.topbar-actions{gap:5px}.update-button{max-width:92px;padding-inline:7px;font-size:12px}.backup-panel{justify-content:stretch}.backup-action{text-align:center;flex:145px}.rabbits-screen .rabbit-scene{min-height:120px}.subtraction-screen{padding-top:18px}.subtraction-screen .section-heading{margin-top:12px;margin-bottom:10px}.subtraction-screen .section-heading h1{font-size:30px}.subtraction-screen .clue-area,.subtraction-screen .answer-area{padding:12px}.missing-step{gap:4px;min-height:92px;padding:7px 6px}.missing-step-title{min-height:29px;font-size:13px}.missing-step-visual{min-height:42px}.missing-step-objects .math-object{width:30px;min-width:30px;height:30px;font-size:22px}.missing-step-bridge{padding:7px 10px}.subtraction-hint{margin-top:6px}}@media (width>=521px) and (width<=820px){.missing-step{min-height:100px;padding:9px 8px}.missing-step-visual{min-height:50px}}.rabbit-clue{flex-direction:column;justify-content:flex-start;gap:10px;display:flex;overflow:hidden}.rabbit-total{color:var(--muted);border:1px solid #0000;border-radius:999px;align-self:center;padding:7px 15px;font-size:16px;font-weight:800;transition:all .2s}.rabbit-total strong{color:var(--text);font-size:24px}.rabbit-total.highlighted{color:var(--accent);background:#252115;border-color:#766632}.rabbit-total.highlighted strong{color:var(--accent)}.rabbit-scene{width:100%;max-width:620px;margin:0 auto;padding:5px 0 0}.rabbit-scene svg{width:100%;height:auto;max-height:255px;display:block}.rabbit-ground{fill:none;stroke:#3b443b;stroke-width:5px;stroke-linecap:round}.rabbit-bush-shadow{fill:#1b2b25;opacity:.8}.rabbit-bush{fill:#315c47;stroke:#4e8765;stroke-width:4px}.rabbit-visible .rabbit-body,.rabbit-visible .rabbit-head{fill:#eee9dd;stroke:#bcb6aa;stroke-width:2px}.rabbit-visible .rabbit-ear,.rabbit-visible .rabbit-tail{fill:#d9d1c2;stroke:#bcb6aa;stroke-width:2px}.rabbit-visible .rabbit-eye{fill:#332b2b}.highlight-visible .rabbit-visible{filter:drop-shadow(0 0 5px #f4c95d)}.rabbit-hidden{opacity:0;transition:opacity .35s,transform .35s}.rabbit-hidden .rabbit-body,.rabbit-hidden .rabbit-head{fill:#f1d4d0;stroke:#c6817e;stroke-width:2px}.rabbit-hidden .rabbit-ear,.rabbit-hidden .rabbit-tail{fill:#e2aaa6;stroke:#c6817e;stroke-width:2px}.rabbit-hidden .rabbit-eye{fill:#452627}.reveal-hidden .rabbit-hidden{opacity:1}.rabbit-equation{margin:0;font-size:clamp(38px,5vw,60px)}.rabbit-equation .missing-box,.rabbit-equation .revealed-answer{border:3px solid var(--accent);min-width:1.05em;min-height:1.05em;color:var(--accent);background:#262319;border-radius:9px;place-items:center;padding:0 .08em;display:inline-grid}.rabbit-equation .revealed-answer{border-color:var(--success);color:var(--success);background:#14231e}.rabbit-hint{text-align:center;align-self:center;max-width:36em}.rabbit-level-3 .rabbit-equation{transform:scale(1.04)}.rabbit-answer{align-self:stretch}.rabbit-answer .hint-button{margin-top:15px}.answer-button.correct-feedback{border-color:var(--success);color:var(--success);background:#14231e;transform:translateY(-2px);box-shadow:0 0 0 3px #4fc49424}.answer-button.incorrect-feedback{color:#f0a4ac;background:#28191c;border-color:#a85d67}.answer-message.incorrect{color:#b37070}.object-art{width:100%;height:100%;font-size:inherit;place-items:center;line-height:1;display:inline-grid}.object-art[data-asset-id]{object-fit:contain}.chest-presentation{justify-content:center;align-items:center;min-height:390px;position:relative}.chest-presentation.chest-hidden{opacity:0}.chest-presentation.chest-appearing{animation:.25s ease-out both reward-arrive}.chest-art-button{color:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.chest-art-button:focus-visible{outline:4px solid var(--accent);outline-offset:6px;border-radius:12px}.chest-presentation .reward-chest{width:180px;height:140px}.chest-presentation.chest-opening .chest-lid,.chest-presentation.chest-reward-reveal .chest-lid,.chest-presentation.chest-completed .chest-lid{transform-origin:90px 60px;animation:.7s ease-out both lid-open}.chest-presentation.chest-reward-reveal .reward-chest,.chest-presentation.chest-completed .reward-chest{animation:.3s ease-out both reward-arrive}.reward-loading{min-height:25px;color:var(--accent);font-size:23px}.reward-next-button:disabled{opacity:.4}.chest-skip{color:var(--muted);background:0 0;border:0;padding:4px 9px;font-size:12px;font-weight:800}.chest-skip:hover{color:var(--text)}.game-shell.answer-feedback-correct{box-shadow:inset 0 0 0 3px #4fc49447}.game-shell.answer-feedback-incorrect{box-shadow:inset 0 0 0 3px #b3707042}.answer-message.incorrect,.answer-message.wrong{color:#b37070}.sound-setting{border:1px solid var(--line);min-height:40px;color:var(--text);border-radius:9px;align-items:center;gap:7px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.sound-setting input{width:18px;height:18px;accent-color:var(--accent)}@media (prefers-reduced-motion:reduce){.game-shell.answer-feedback-correct,.game-shell.answer-feedback-incorrect{transition:none}}
