:root{--paper:#f8f7ef;--ink:#243d35;--muted:#7c867d;--green:#255c4b;--mint:#e5eee2;--gold:#edbd58;--line:#e3e6dc;--orange:#df805a;--purple:#9883bb;--font:ui-rounded,'Trebuchet MS',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #dcab40;outline-offset:4px}button{border:0;background:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon.filled{fill:currentColor;stroke-width:1.2}.icon.tiny{width:13px;height:13px}.symbol-sheet{position:absolute;width:0;height:0;overflow:hidden}.app-shell{max-width:1400px;margin:0 auto;padding:0 48px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:23px;font-weight:800;line-height:1;letter-spacing:-1px}.brand-sub{display:block;font-size:9px;letter-spacing:4px;font-weight:700;margin-top:7px}.brand-mark{position:relative;display:grid;place-items:center;background:var(--green);color:var(--gold);width:45px;height:48px;border-radius:14px 14px 17px 5px;transform:rotate(-5deg)}.brand-mark .icon{width:29px;height:29px;fill:currentColor;stroke-width:.6}.brand-spark{position:absolute;right:-7px;top:-6px;color:var(--orange);font-size:24px}.grade-tabs{padding:5px;background:#eeeee5;border:1px solid #e5e7db;border-radius:30px;display:flex;gap:3px}.grade-tab{height:38px;padding:0 22px;border-radius:24px;color:#7c8478;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.grade-tab.selected{background:white;color:var(--green);box-shadow:0 2px 6px #273c3010}.header-tools{display:flex;gap:13px;align-items:center}.bank-pill{display:flex;align-items:center;gap:7px;padding:10px 15px;background:#f2e9cd;border:1px solid #eee1b6;border-radius:24px;font-size:12px}.bank-pill .icon{color:#dca42e;width:18px;height:18px}.bank-pill b{font-size:16px}.icon-button{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:#728075}.icon-button:hover{background:#e8ede3;color:var(--green)}.icon-button:disabled{opacity:.35}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:39px 0 29px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:800;color:#7b8b7b;display:flex;gap:9px;align-items:center}.little-line{width:19px;height:2px;background:#d59b4f;display:block}h1{font-size:clamp(29px,3.3vw,43px);font-weight:800;line-height:1.22;letter-spacing:-1.8px;margin-top:10px;position:relative;display:inline-block}h1 span{color:#5f916d}h1 .title-spark{width:25px;height:25px;fill:#dfb25a;position:absolute;right:-35px;top:0;transform:rotate(12deg)}.page-intro p{color:#7d877e;margin-top:10px;font-size:13px}.journey-summary{display:flex;align-items:center;gap:13px;padding:14px 17px;border:1px solid var(--line);border-radius:14px;background:#fcfbf5}.summary-icon{display:grid;place-items:center;background:#eceddf;border-radius:11px;width:39px;height:39px;color:#7d936c}.journey-summary b{display:block;font-size:15px}.journey-summary div>span{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.game-card{background:#fff;border:1px solid #dde4d9;border-radius:21px;box-shadow:0 10px 28px #31473806;overflow:hidden;position:relative}.game-topbar{height:77px;padding:0 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.mission-heading{display:flex;align-items:center;gap:12px}.mission-number{border:1px solid #e0e9db;border-radius:11px;background:#f0f5ea;color:#6a8f66;width:36px;height:38px;display:grid;place-items:center;font-weight:800;font-size:13px}.small-label{font-size:8px;letter-spacing:1.7px;color:#889186;font-weight:800;display:block;margin-bottom:4px}.mission-heading h2{font-size:14px;font-weight:800;letter-spacing:-.2px}.game-objective{display:flex;align-items:center;gap:9px;margin-left:auto;font-size:12px;color:#8e968c}.game-objective>b,.game-objective b{color:#48573e}.game-objective .icon{width:21px;height:21px;color:#e9b646}.goal-track{width:95px;height:5px;background:#eef0e7;border-radius:3px;margin-left:7px;overflow:hidden}.goal-track span{display:block;width:0;height:100%;background:var(--gold);border-radius:3px;transition:width .2s}.game-tools{display:flex;gap:3px;margin-left:9px;padding-left:16px;border-left:1px solid #eef0e8}.playfield{height:auto;aspect-ratio:2.17;position:relative;overflow:hidden;background:#e4eee9;outline:none;isolation:isolate}.playfield canvas{width:100%;height:100%;display:block}.scene-label{position:absolute;top:20px;left:25px;display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1.8px;font-weight:800;color:#739084;background:#fbfff9bd;backdrop-filter:blur(8px);border:1px solid #fff8;padding:9px 12px;border-radius:20px;pointer-events:none}.scene-dot{width:5px;height:5px;background:#6ea285;border-radius:50%}.start-overlay{position:absolute;left:44px;top:50%;transform:translateY(-44%);width:355px;background:#fffef5ed;backdrop-filter:blur(14px);border:1px solid #fff;border-radius:18px;padding:26px 28px;box-shadow:0 10px 32px #365b3512}.start-eyebrow{display:flex;align-items:center;gap:5px;font-size:8px;letter-spacing:1.2px;color:#9b8e59;font-weight:800}.start-eyebrow .icon{width:13px;height:13px;color:#d6a13f}.start-overlay h3{margin-top:15px;font-size:34px;letter-spacing:-1.3px;line-height:1.17;font-weight:800}.start-overlay h3 em{font-family:Georgia,serif;font-size:38px;font-weight:500;color:#688e63}.start-overlay p{font-size:11px;color:#7a8576;line-height:1.85;margin:12px 0 19px}.primary-button{background:var(--green);color:white;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:11px;min-height:48px;font-weight:700;font-size:13px;transition:transform .15s,background .15s;box-shadow:0 4px 0 #163b30}.primary-button:hover{background:#1f4e40;transform:translateY(-1px)}.primary-button:active{transform:translateY(2px);box-shadow:0 2px 0 #163b30}.primary-button .icon{width:17px;height:17px}.start-overlay .primary-button{width:100%;justify-content:space-between}.start-note{display:block;font-size:8px;color:#99a08f;text-align:center;margin-top:13px;letter-spacing:.25px}.world-tip{position:absolute;right:21px;bottom:17px;display:flex;align-items:center;gap:6px;color:#4e6d52;background:#f5f6e8e8;border:1px solid #fff8;border-radius:8px;padding:8px 12px;font-size:9px;box-shadow:0 2px 9px #354d2810}.world-tip .icon{width:15px;height:15px;color:#799367}.toast{position:absolute;left:50%;bottom:25px;transform:translate(-50%,12px);background:#254c3ff2;color:white;max-width:90%;width:max-content;padding:11px 18px;border-radius:14px;box-shadow:0 5px 16px #1c352b20;font-size:12px;text-align:center;pointer-events:none;opacity:0;transition:.2s;z-index:7}.toast.visible{transform:translate(-50%,0);opacity:1}.running-status{position:absolute;top:20px;right:20px;border:1px solid #fff9;border-radius:20px;display:flex;gap:7px;align-items:center;background:#ffffeddd;padding:9px 13px;color:#637c61;font-size:9px}.status-light{width:6px;height:6px;border-radius:50%;background:#dea260}.running-status.safe{color:#3b7851}.running-status.safe .status-light{background:#68a479}.pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:#e8f1e673;backdrop-filter:blur(4px);font-size:22px;font-weight:800}.control-bar{min-height:83px;display:flex;align-items:center;justify-content:space-between;padding:13px 23px;gap:13px;border-top:1px solid #e9ede4;background:#fffffc}.movement-controls{display:flex;align-items:center;gap:5px}.move-button{width:40px;height:39px;border:1px solid #e4e8de;border-bottom:3px solid #dfe4d8;background:#f7f8f0;border-radius:10px;display:grid;place-items:center;user-select:none;touch-action:none}.move-button .icon{width:19px;height:19px}.move-button.pressed,.move-button:active{background:#dce8d5;transform:translateY(1px);border-bottom-width:2px}.control-caption{font-size:10px;color:#899283;margin-left:6px}.ability-controls{display:flex;align-items:center;gap:25px}.ability-button{display:flex;align-items:center;gap:8px;padding:4px 0;text-align:left;position:relative;touch-action:none}.ability-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;position:relative;border:1px solid #ffffff50}.ability-icon.green{background:#eaf1e2;color:#688663}.ability-icon.orange{background:#f9ecdb;color:#d39a4b}.ability-icon.purple{background:#eeebf5;color:#9583b2}.ability-icon .icon{width:21px;height:21px}.ability-icon>b{position:absolute;right:-3px;bottom:-3px;border-radius:8px;min-width:16px;height:16px;text-align:center;background:white;border:1px solid #dfdfd4;font-size:8px;display:grid;place-items:center;color:#666e62}.ability-text{font-size:11px;font-weight:700}.ability-text small{font-size:8px;display:block;font-weight:400;color:#99a08e;margin-top:4px;white-space:nowrap}.ability-button kbd{margin-left:5px}kbd{font-family:var(--font);font-size:9px;display:inline-grid;place-items:center;background:#f7f8f0;border:1px solid #e5e7db;border-bottom:2px solid #e0e4d5;color:#a0a48e;border-radius:5px;min-width:20px;height:21px;padding:0 4px}.ability-button.active .ability-icon{outline:2px solid #94b88a;outline-offset:2px}.ability-button.cooling .ability-icon{opacity:.55}.jump-button{display:flex;align-items:center;justify-content:center;gap:8px;background:#e7efdd;color:#587342;padding:11px 12px;min-height:42px;border:1px solid #dce5ce;border-bottom:3px solid #d1dfbf;border-radius:10px;touch-action:none;font-size:10px;font-weight:800;user-select:none}.jump-button .icon{width:19px;height:19px}.jump-button kbd{background:#f7faed}.jump-button:active{transform:translateY(1px);border-bottom-width:2px}.level-section{padding:34px 0 30px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px;gap:15px}.section-heading h2{font-size:21px;letter-spacing:-.65px;margin-top:7px;font-weight:800}.section-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.chapter-progress{font-size:10px;color:#859077;margin-bottom:2px;padding:6px 11px;border:1px solid var(--line);border-radius:20px;white-space:nowrap}.level-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;position:relative}.level-card{text-align:left;background:#fcfcf6;border:1px solid #e2e5d9;border-radius:14px;padding:15px 13px;min-height:146px;position:relative;display:flex;flex-direction:column;gap:9px;transition:.15s;overflow:hidden}.level-card:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px 20px #3150270a;border-color:#9fb698}.level-card.current{background:#eaf1e1;border-color:#b2c59e}.level-card.locked{background:#f5f5ed;color:#8d9484}.level-card-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.level-card .level-badge{height:27px;min-width:27px;border-radius:8px;display:grid;place-items:center;background:#e8eadf;color:#8c9783;font-size:11px;font-weight:800}.level-card.current .level-badge{background:#d6e2c7;color:#547b48}.level-card.completed .level-badge{background:#dcead4;color:#5d8053}.level-card .icon{width:15px;height:15px;color:#aab0a0}.level-card.current .icon{color:#718b5e}.level-card .level-stars{color:#dfb351;display:flex;gap:2px}.level-stars .icon{color:inherit;width:12px;height:12px;fill:currentColor}.level-card-title{display:block;font-size:11px;font-weight:800;line-height:1.4;letter-spacing:-.1px}.level-card-topic{font-size:8px;line-height:1.55;color:#96a08a;margin-top:auto}.level-card.current .level-card-topic{color:#7e946a}.level-card.locked:after{content:'';position:absolute;width:60px;height:60px;right:-25px;bottom:-30px;border-radius:50%;border:10px solid #e9ebdf70}.chapter-notice{display:flex;align-items:center;gap:9px;font-size:12px;color:#8d7c57;margin:-4px 0 18px;line-height:1.7}.chapter-notice .icon{width:17px;height:17px}.backpack-section{display:grid;grid-template-columns:1fr 2.25fr;gap:32px;padding:26px 0 30px;border-top:1px solid var(--line)}.backpack-intro .eyebrow{font-size:8px;letter-spacing:1.2px}.backpack-intro h2{font-size:21px;letter-spacing:-.7px;margin:8px 0 9px}.backpack-intro p{font-size:10px;color:#949b8b;line-height:1.75;max-width:265px}.backpack-note{display:flex;align-items:center;gap:5px;font-size:8px;color:#a2a88f;margin-top:11px}.backpack-note .icon{width:12px;height:12px}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade-card{border:1px solid #e0e5d6;background:#fbfcf5;border-radius:14px;padding:17px 15px;display:flex;flex-direction:column;gap:8px}.upgrade-title{display:flex;align-items:center;gap:9px}.upgrade-title .ability-icon{width:30px;height:30px;border-radius:9px}.upgrade-title .icon{width:17px;height:17px}.upgrade-title strong{font-size:10px}.upgrade-tier{font-size:8px;color:#a3a68d;display:block;margin-top:4px}.upgrade-card p{font-size:9px;color:#919b84;line-height:1.6;min-height:29px}.upgrade-buy{display:flex;gap:7px;align-items:center;justify-content:center;margin-top:auto;border:1px solid #d8e1ca;background:#eaf0e1;border-radius:8px;min-height:32px;font-size:9px;font-weight:800;color:#658454}.upgrade-buy:disabled{opacity:.55}.upgrade-buy .icon{width:12px;height:12px;color:#c7a14d}.upgrade-buy:not(:disabled):hover{background:#dce9ce}.upgrade-max{margin-top:auto;padding:8px 0;text-align:center;font-size:9px;color:#6e946a}.upgrade-max .icon{width:13px;height:13px;vertical-align:middle}footer{border-top:1px solid var(--line);padding:21px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#a1a794;font-size:9px;line-height:1.8}footer>span{display:flex;align-items:center;gap:7px}footer .icon{width:14px;height:14px;color:#93a184}.text-button{color:#7c8b6e;text-decoration:underline;text-underline-offset:3px;font-size:inherit;padding:0 0 0 3px}dialog{border:1px solid #e4e9dc;border-radius:26px;padding:0;color:var(--ink);background:#fffef7;width:min(93vw,525px);max-height:92dvh;overflow:auto;box-shadow:0 30px 100px #12332235}dialog::backdrop{background:#233f366b;backdrop-filter:blur(8px)}.modal-inner{padding:32px;position:relative}.modal-close{position:absolute;top:17px;right:16px}.modal-symbol{display:grid;place-items:center;width:57px;height:57px;border-radius:18px;background:#e8f0e0;color:#6d965b;margin:0 auto 17px;transform:rotate(-5deg)}.modal-symbol .icon{width:31px;height:31px}.modal-symbol.gold{background:#fbefd3;color:#d3a03d}.modal-symbol.purple{background:#eee8f7;color:#9c80b8}.modal-eyebrow{text-align:center;color:#8c9c7d;font-size:9px;letter-spacing:1.7px;font-weight:800;margin-bottom:8px}.modal-inner h2{text-align:center;font-size:26px;letter-spacing:-.8px;margin-bottom:10px;line-height:1.25}.modal-copy{font-size:12px;line-height:1.8;color:#849079;text-align:center}.modal-inner>.primary-button{width:100%;margin-top:24px}.question-stem{font-size:14px;line-height:1.7;text-align:center;max-width:390px;margin:16px auto;color:#6b795f}.equation{display:flex;align-items:center;justify-content:center;gap:17px;font-size:44px;font-weight:800;letter-spacing:-1px;margin:22px 0;color:#304f3e;flex-wrap:wrap}.equation .unknown{background:#ebf1e1;color:#85a26f;border:2px dashed #b4c79e;border-radius:13px;min-width:55px;min-height:58px;text-align:center}.equation.sequence{gap:11px;font-size:30px}.equation.sequence .unknown{min-width:46px;min-height:44px}.count-stars{display:flex;align-items:center;justify-content:center;gap:9px;margin:24px 0}.count-stars .icon{width:38px;height:38px;fill:var(--gold);color:#daa43b}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.answer-button{background:#f5f7ed;border:1px solid #e0e7d5;border-bottom:4px solid #dce5cc;border-radius:13px;padding:15px;font-weight:800;font-size:27px;color:#60834d;min-height:69px}.answer-button:hover{background:#e8f0dc}.answer-button.correct{background:#dceecf;border-color:#97b97b;color:#4d773b}.answer-button.wrong{background:#fbeddb;border-color:#dfc396;color:#b7915d}.answer-button:disabled{cursor:default}.question-feedback{min-height:26px;margin-top:16px;text-align:center;color:#688b53;font-size:12px;line-height:1.6}.hint-box{background:#f5efdf;color:#9b855b;border-radius:10px;padding:12px;font-size:12px;line-height:1.7;margin-top:12px}.hint-button{display:block;margin:8px auto 0;color:#9ca28c;text-decoration:underline;text-underline-offset:4px;font-size:11px;padding:6px 10px}.visual-aid{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0;flex-wrap:wrap}.dot-group{display:flex;gap:4px;flex-wrap:wrap;max-width:150px;justify-content:center}.count-dot{display:block;width:14px;height:14px;background:#88ae73;border-radius:50%}.count-dot.second{background:#e7b761}.count-dot.crossed{background:#dddcca;position:relative}.count-dot.crossed:after{content:'';position:absolute;left:1px;top:6px;width:12px;height:2px;background:#ba9e7a;transform:rotate(-45deg)}.win-stars{display:flex;gap:12px;justify-content:center;margin:22px 0}.win-stars .icon{width:45px;height:45px;fill:#e8ba54;color:#d8a139}.win-stars .icon.empty{fill:#ecebdc;color:#dcded1}.win-reward{text-align:center;color:#8e9b7c;font-size:12px;background:#edf2e3;padding:13px;border-radius:12px}.secondary-button{border:1px solid #dfe5d6;background:#f8f9f0;display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:10px 15px;border-radius:11px;font-size:12px;color:#82916f;width:100%;margin-top:10px}.help-steps{display:grid;gap:14px;margin:23px 0}.help-step{display:flex;gap:12px;align-items:flex-start}.help-step .ability-icon{flex-shrink:0;width:33px;height:33px;border-radius:10px}.help-step p{font-size:11px;color:#87957a;line-height:1.7}.help-step strong{display:block;font-size:12px;color:#52694a;margin-bottom:2px}.help-controls{font-size:10px;line-height:2.3;color:#95a087;background:#f2f5e9;border-radius:11px;padding:12px;text-align:center}.parent-list{padding-left:19px;color:#7e8d71;font-size:12px;line-height:1.9;margin:22px 0}.parent-list li{padding-left:4px;margin-bottom:9px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.save-warning{color:#b7784d!important}.game-card:fullscreen{display:flex;flex-direction:column;border:0;border-radius:0;background:#fff;width:100%;height:100%}.game-card:fullscreen .game-topbar{height:64px;min-height:64px}.game-card:fullscreen .playfield{flex:1;min-height:0;aspect-ratio:auto}.game-card:fullscreen .control-bar{min-height:74px}.game-card.theater{position:fixed;inset:0;z-index:40;border:0;border-radius:0;display:flex;flex-direction:column;height:100dvh}.game-card.theater .playfield{flex:1;min-height:0;aspect-ratio:auto}body.theater-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1500px){.app-shell{max-width:1440px;padding:0 54px}.playfield{aspect-ratio:2.25}.start-overlay{left:52px;padding:30px;width:375px}.start-overlay h3{font-size:37px}}
@media(max-width:1150px){.app-shell{padding:0 28px}.ability-controls{gap:14px}.ability-text small{font-size:7px}.control-caption{display:none}.ability-button kbd{display:none}.start-overlay{left:28px;width:310px;padding:23px}.start-overlay h3{font-size:30px}.start-overlay h3 em{font-size:34px}.page-intro p span{display:none}.level-card{padding:13px 10px}.level-card-title{font-size:10px}.upgrade-card{padding:15px 12px}.backpack-section{gap:23px}.header-tools{gap:6px}.playfield{aspect-ratio:1.95}}
@media(max-width:850px){.app-shell{padding:0 20px}.site-header{height:87px;gap:14px}.brand{font-size:20px}.brand-mark{width:39px;height:43px}.brand-sub{font-size:7px}.grade-tab{padding:0 16px;font-size:11px;height:34px}.bank-label{display:none}.bank-pill{padding:9px 12px}.header-tools{gap:4px}.header-tools .icon-button{width:32px}.page-intro{padding:29px 0 24px}.journey-summary{padding:10px 12px;gap:10px}.journey-summary div>span{font-size:8px}.summary-icon{width:30px;height:32px}.summary-icon .icon{width:19px}.playfield{aspect-ratio:1.65}.start-overlay{left:23px;transform:translateY(-42%);width:300px}.ability-controls{gap:14px}.ability-text{font-size:9px}.ability-text small{display:none}.ability-icon{width:34px;height:35px}.control-bar{padding:13px 15px;gap:8px;min-height:77px}.movement-controls{gap:5px}.move-button{width:37px;height:39px}.jump-button{padding:11px 10px;gap:4px}.jump-button kbd{display:none}.level-grid{grid-template-columns:repeat(3,1fr);gap:10px}.level-card{min-height:125px;padding:13px 14px}.level-card-title{font-size:11px}.level-card-topic{font-size:9px}.backpack-section{grid-template-columns:1fr}.backpack-intro p{max-width:none}.backpack-note{margin-top:6px}.backpack-intro h2{font-size:21px}.upgrade-card p{min-height:0}.backpack-section{gap:20px}.section-heading h2{font-size:20px}footer{font-size:8px;align-items:flex-start}footer>span:last-child{display:block;text-align:right}.start-overlay p{font-size:10px}}
@media(max-width:580px){.app-shell{padding:0 13px}.site-header{height:77px;gap:8px;flex-wrap:wrap;position:relative;padding-right:0}.brand{font-size:17px;gap:9px}.brand-mark{width:33px;height:37px;border-radius:10px 10px 14px 4px}.brand-mark .icon{width:23px;height:23px}.brand-spark{font-size:18px;right:-5px;top:-5px}.brand-sub{font-size:6px;letter-spacing:3px;margin-top:5px}.grade-tabs{padding:3px;margin-left:auto}.grade-tab{font-size:10px;padding:0 11px;height:30px;gap:3px}.grade-tab .tiny{width:10px;height:10px}.header-tools{gap:0}.header-tools .icon-button{width:28px;height:32px}.header-tools .icon{width:18px;height:18px}.bank-pill{padding:5px 8px;gap:4px;margin-right:3px}.bank-pill b{font-size:12px}.bank-pill .icon{width:13px;height:13px}#sound{display:none}.page-intro{padding:25px 2px 19px;gap:8px}.page-intro h1{font-size:29px;letter-spacing:-1.3px;margin-top:8px}.page-intro .eyebrow{font-size:7px;letter-spacing:1.2px}.little-line{width:12px}.page-intro p{font-size:10px;margin-top:8px}.title-spark{display:none}.journey-summary{padding:7px;gap:6px;border:0;background:none}.journey-summary b{font-size:12px;white-space:nowrap}.journey-summary div>span{font-size:7px;max-width:70px}.summary-icon{display:none}.game-card{border-radius:16px}.game-topbar{height:67px;padding:0 12px;gap:7px}.mission-number{width:30px;height:32px;border-radius:9px;font-size:10px}.mission-heading{gap:8px}.mission-heading h2{font-size:11px;max-width:174px}.small-label{font-size:6px;letter-spacing:1.2px}.game-objective{gap:5px;font-size:10px}.game-objective .icon{width:16px;height:16px}.goal-track{display:none}.game-tools{margin-left:1px;padding-left:5px;gap:0}.game-tools .icon-button{width:26px;height:30px}.game-tools .icon{width:17px;height:17px}.playfield{aspect-ratio:auto;height:390px;height:clamp(335px,50svh,460px)}.scene-label{font-size:6px;letter-spacing:1.1px;padding:7px 9px;top:12px;left:12px}.running-status{top:42px;right:10px;font-size:7px;padding:7px 9px}.start-overlay{left:16px;top:49%;width:calc(100% - 32px);max-width:310px;padding:22px;transform:translateY(-43%);background:#fffef4f0}.start-overlay h3{font-size:29px;margin-top:11px}.start-overlay h3 em{font-size:34px}.start-overlay p{font-size:10px;margin:10px 0 16px}.start-note{font-size:7px}.start-eyebrow{font-size:7px}.start-overlay .primary-button{font-size:12px;min-height:45px;padding:13px}.world-tip{font-size:7px;bottom:11px;right:11px;padding:7px 9px;gap:4px}.world-tip .icon{width:12px;height:12px}.control-bar{padding:11px 10px;min-height:89px;gap:7px;align-items:center;flex-wrap:nowrap}.movement-controls{gap:5px}.move-button{width:38px;height:48px;border-radius:11px}.move-button .icon{width:20px;height:20px}.ability-controls{gap:10px;margin:0 auto}.ability-button{display:block;text-align:center;max-width:42px}.ability-icon{width:32px;height:32px;border-radius:10px;margin:auto}.ability-icon .icon{width:18px;height:18px}.ability-text{font-size:6px;font-weight:700;display:block;margin-top:7px;white-space:nowrap}.ability-icon>b{width:14px;height:14px;min-width:14px;font-size:7px}.jump-button{width:57px;min-height:53px;flex-direction:column;border-radius:12px;font-size:7px;padding:8px 5px;gap:3px}.jump-button .icon{width:24px;height:24px}.level-section{padding:28px 1px 24px}.section-heading{margin-bottom:16px;align-items:center;gap:8px}.section-heading .eyebrow{font-size:7px;letter-spacing:1px}.section-heading h2{font-size:17px;letter-spacing:-.6px}.chapter-progress{font-size:8px;padding:5px 8px}.level-grid{grid-template-columns:repeat(2,1fr);gap:9px}.level-card{min-height:124px;padding:12px 13px}.level-card-title{font-size:11px}.level-card-topic{font-size:8px}.backpack-section{padding:22px 1px 25px;gap:18px}.backpack-intro .eyebrow{font-size:7px}.backpack-intro h2{font-size:20px}.backpack-intro p{font-size:10px}.backpack-note{font-size:8px}.upgrade-grid{gap:8px}.upgrade-card{padding:11px 9px;border-radius:12px;gap:9px}.upgrade-title{flex-direction:column;align-items:flex-start;gap:7px}.upgrade-title strong{font-size:9px}.upgrade-tier{font-size:7px}.upgrade-card p{font-size:8px;min-height:39px}.upgrade-buy{font-size:8px;gap:4px;min-height:35px;padding:4px}.upgrade-buy .icon{width:11px;height:11px}.upgrade-max{font-size:8px}.toast{font-size:10px;bottom:18px;max-width:92%;padding:11px 13px}.modal-inner{padding:27px 22px}.modal-inner h2{font-size:24px}.modal-symbol{width:50px;height:50px;margin-bottom:14px}.modal-copy{font-size:11px}.equation{font-size:39px;gap:12px}.equation.sequence{font-size:26px;gap:8px}.answer-button{min-height:63px;padding:12px;font-size:26px}.question-stem{font-size:13px}.answer-grid{margin-top:16px}.hint-box{font-size:11px}.question-feedback{font-size:11px}.help-step p{font-size:10px}.help-step strong{font-size:11px}footer{padding:17px 1px 23px;gap:11px;flex-direction:column;font-size:8px}footer>span:last-child{text-align:left}.chapter-notice{font-size:10px;margin-bottom:14px}.fullscreen-button{display:grid}}
@media(max-width:360px){.app-shell{padding:0 9px}.brand{font-size:15px}.brand-mark{width:29px;height:34px}.grade-tab{padding:0 8px;font-size:9px}.bank-pill{padding:5px 7px}.header-tools .icon-button{width:25px}.page-intro h1{font-size:26px}.control-bar{gap:5px;padding:10px 8px}.move-button{width:33px}.ability-controls{gap:7px}.ability-icon{width:29px;height:31px}.jump-button{width:48px}.mission-heading h2{max-width:143px;font-size:10px}}
@media(orientation:landscape) and (max-height:530px){.game-card:fullscreen .game-topbar,.game-card.theater .game-topbar{min-height:48px;height:48px}.game-card:fullscreen .control-bar,.game-card.theater .control-bar{min-height:64px;padding:6px 18px}.game-card:fullscreen .playfield,.game-card.theater .playfield{height:auto}.game-card:fullscreen .start-overlay,.game-card.theater .start-overlay{max-width:320px;top:49%;padding:18px}.start-overlay h3{font-size:25px}.start-overlay h3 em{font-size:28px}.start-overlay p{margin:8px 0 12px}.scene-label{top:9px}.start-note{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.level-card:hover{transform:none!important}}
/* Keep the important touch controls readable and easy to hit on small screens. */
@media(max-width:580px){
  .ability-controls{gap:5px}
  .ability-button{min-width:46px;min-height:57px;max-width:none}
  .ability-text{font-size:9px}
  .jump-button{font-size:9px}
  .small-label{font-size:8px;letter-spacing:.7px}
  .level-card-title{font-size:12px}
  .level-card-topic{font-size:10px}
  .upgrade-title strong{font-size:10px}
  .upgrade-card p{font-size:10px;min-height:49px}
  .upgrade-buy{font-size:10px;min-height:40px}
}
/* Seasons, the school-year path and the pen-friendly learning studio. */
.game-menu-button{color:#607f55}
.writing-preview-glyph{width:20px;height:29px;display:block}
.month-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 14px;scrollbar-width:thin;scrollbar-color:#c8d4ba transparent;margin-bottom:8px}
.month-chip{min-width:88px;border:1px solid #e1e5d8;border-radius:13px;background:#f9faf2;padding:11px 10px;text-align:left;display:flex;flex-direction:column;gap:7px;flex-shrink:0}
.month-chip.active{background:#e7efdb;border-color:#a9bd93}.month-chip:focus-visible{outline-offset:-3px}
.month-top{display:flex;align-items:center;justify-content:space-between;font-size:16px}.month-chip b{font-size:10px}.month-chip small{font-size:8px;color:#96a086}.month-chip .month-done{font-size:9px;color:#8b9b7b}
.level-grid{grid-template-columns:repeat(5,1fr)}.level-card .day-subject{font-size:8px;font-weight:800;letter-spacing:.6px;color:#8a9b76}.level-card.current .day-subject{color:#738b5c}
.learning-studio{border-top:1px solid var(--line);padding:27px 0 29px}.studio-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:16px}.studio-note{font-size:10px;color:#97a086}.studio-card{background:#fdfdf5;border:1px solid #e0e6d7;border-radius:16px;padding:21px 20px;display:flex;gap:14px;position:relative}.studio-symbol{width:45px;height:45px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;font-size:32px;color:#7a9b7b;background:#e7efdf}.writing-studio .studio-symbol{color:#a890b2;background:#f0eaf5}.studio-card h3{font-size:15px;letter-spacing:-.3px;margin:2px 0 7px}.studio-card p{font-size:11px;line-height:1.7;color:#8e9983;max-width:310px}.studio-button{display:inline-flex;gap:8px;align-items:center;border:1px solid #dce5cf;background:#edf3e4;border-radius:8px;min-height:37px;font-weight:700;font-size:10px;padding:8px 12px;margin-top:14px}.studio-button .icon{width:15px;height:15px}.studio-button:hover{background:#e2edda}.studio-count{position:absolute;top:15px;right:15px;font-size:8px;color:#a7ae98}.writing-entry-buttons{display:flex;gap:7px}.writing-entry-buttons .studio-button{padding:8px 10px}.learning-clock{display:block;width:218px;max-width:70%;margin:17px auto 6px}.clock-answer{font-size:22px}.clock-legend{display:flex;justify-content:center;gap:17px;font-size:10px;color:#8d9b7d;margin:10px 0}.clock-legend span{display:flex;gap:6px;align-items:center}.hand-dot{width:9px;height:9px;display:inline-block;background:#75aabd;border-radius:50%}.hand-dot.hour{background:#42624f}.practice-select,.writing-text{display:block;width:100%;border:1px solid #dbe3cf;border-radius:10px;background:#f7f9ef;color:#536b47;min-height:47px;font:inherit;padding:11px 12px;margin:9px 0 17px;font-size:14px}.field-label{font-size:12px;color:#89987b;display:block;margin-top:20px;font-weight:700}.practice-finish{font-size:16px;color:#7c9a6b;text-align:center;padding:17px 10px;background:#edf4e2;border-radius:13px;margin-top:22px}.writing-mode-tabs{display:flex;gap:6px;margin:21px 0 13px;background:#edf0e3;padding:5px;border-radius:12px}.writing-mode-tabs button{flex:1;padding:11px 9px;border-radius:9px;font-size:12px;color:#8a997b}.writing-mode-tabs button.selected{background:#fffdf3;color:#587a48;box-shadow:0 2px 5px #3851290a}.writing-example{font-size:32px;font-weight:800;color:#799369;text-align:center;padding:13px;background:#f3f6e8;border-radius:13px;letter-spacing:3px}.writing-form-note{font-size:11px;line-height:1.7;color:#a1a88f;margin-top:8px}.writing-error{font-size:12px;color:#b38859;min-height:20px;line-height:1.6}.writing-dialog{width:min(95vw,800px)}.writing-dialog .modal-inner{padding:27px 32px}.writing-dialog h2{font-size:24px}.writing-target{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin:18px 0 13px;line-height:1.7;font-size:22px;font-weight:700}.writing-target span{padding:1px 3px;border-radius:5px;min-width:15px;text-align:center}.writing-target .writing-space{width:8px;min-width:8px}.writing-target .written{color:#71945d;background:#e9f1df}.writing-target .current-letter{background:#f0dfb6;color:#88743f;box-shadow:0 2px 0 #d5bd83}.writing-target .future-letter{color:#bbc2ad}.writing-status{text-align:center;font-size:12px;color:#9aa58b;margin-bottom:12px}.writing-canvas-wrap{border:1px solid #d9e1d0;border-radius:15px;overflow:hidden;position:relative;background:#fffef8}.writing-canvas{display:block;width:100%;height:300px;touch-action:none;user-select:none;cursor:crosshair}.writing-canvas-note{position:absolute;left:12px;top:10px;color:#adb69c;font-size:9px;pointer-events:none}.writing-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:13px}.writing-tools-left{display:flex;gap:8px}.writing-small-button{background:#f0f4e6;border:1px solid #dfe7d1;border-radius:9px;min-height:39px;padding:9px 12px;font-size:11px;color:#7e946b}.pen-option{display:flex;align-items:center;gap:7px;font-size:11px;color:#99a28a}.pen-option input{accent-color:#64854e;width:17px;height:17px}.writing-feedback{font-size:12px;color:#73935d;text-align:center;line-height:1.7;min-height:40px;margin-top:15px}.writing-feedback.writing-retry{color:#ae8d5c}.writing-template-note{font-size:10px;line-height:1.7;color:#adb39f;text-align:center}.writing-dialog .modal-eyebrow{font-size:8px}.writing-dialog .modal-copy{font-size:11px}.practice-back{margin-top:10px;font-size:11px;display:block;text-align:center;color:#94a384;text-decoration:underline;text-underline-offset:3px;padding:9px}
@media(max-width:850px){.level-grid{grid-template-columns:repeat(3,1fr)}.studio-grid{grid-template-columns:1fr}.studio-card p{max-width:none}.studio-count{font-size:10px}.month-chip{min-width:81px}.studio-note{font-size:9px}}
@media(max-width:580px){.month-chip{min-width:76px;padding:10px 9px}.month-chip b{font-size:10px}.month-chip small{font-size:9px}.month-strip{gap:7px;margin-bottom:5px}.level-grid{grid-template-columns:repeat(2,1fr)}.studio-note{display:none}.studio-card{padding:20px 15px;gap:12px}.studio-card h3{font-size:14px}.studio-card p{font-size:11px}.studio-symbol{width:36px;height:39px;font-size:29px}.studio-count{font-size:9px;top:9px;right:12px}.studio-button{font-size:11px;min-height:42px}.writing-entry-buttons{gap:5px;flex-wrap:wrap}.writing-entry-buttons .studio-button{padding:8px 10px}.clock-answer{font-size:21px}.learning-clock{width:195px}.writing-dialog .modal-inner{padding:25px 17px}.writing-dialog h2{font-size:21px}.writing-target{font-size:19px;gap:1px}.writing-target span{min-width:13px;padding:1px 2px}.writing-target .writing-space{width:6px;min-width:6px}.writing-canvas{height:280px}.writing-tools{gap:10px}.writing-small-button{padding:9px 11px;min-height:42px}.writing-tools-left{gap:6px}.pen-option{font-size:10px}.writing-template-note{font-size:9px}.writing-status{font-size:11px}.writing-mode-tabs button{font-size:11px}.writing-text{font-size:13px}.learning-studio{padding:24px 0}.day-subject{font-size:8px}.clock-legend{font-size:9px}}
@media(orientation:landscape) and (max-height:530px){.writing-canvas{height:210px}.writing-dialog .modal-inner{padding-top:22px}.writing-target{margin:10px 0 8px}.writing-tools{margin-top:9px}.writing-feedback{margin-top:8px}.writing-dialog .modal-copy{display:none}}
/* The play screen owns the viewport. HUD and touch controls sit over the scene. */
body.play-screen-open{overflow:hidden;overscroll-behavior:none}
.game-card.immersive{position:fixed;inset:0;z-index:50;width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;border:0;border-radius:0;background:#e4eee4;overscroll-behavior:none}
.game-card.immersive:fullscreen{padding:0;display:flex}
.immersive .playfield{flex:1;min-height:0;height:100%;width:100%;aspect-ratio:auto;touch-action:none}
.immersive .game-topbar{position:absolute;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));height:49px;min-height:0;padding:0;z-index:12;pointer-events:none;gap:15px}
.immersive .mission-heading{background:#fffef0ed;border:1px solid #fff9;border-radius:13px;padding:7px 12px 7px 8px;box-shadow:0 3px 13px #24452c0b;max-width:56%;gap:9px}
.immersive .mission-heading h2{font-size:13px;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.immersive .mission-heading>div{min-width:0}.immersive .small-label{font-size:8px;letter-spacing:.8px}.immersive .mission-number{height:30px;width:30px;flex-shrink:0;font-size:12px}
.immersive .game-objective{background:#fff9e1eb;border:1px solid #fff9;border-radius:13px;padding:12px 14px;gap:8px;font-size:13px}.immersive .goal-track{width:70px}.immersive .game-tools{border:0;padding:0;margin:0;pointer-events:auto;gap:0}
.immersive #pause,.immersive #fullscreen{display:none}.immersive .game-menu-button{width:48px;height:47px;border-radius:13px;background:#fffef1f2;border:1px solid #fff9;box-shadow:0 3px 13px #24452c0b}.immersive .game-menu-button .icon{width:25px;height:25px}
.immersive .scene-label{top:71px;left:max(18px,env(safe-area-inset-left));font-size:8px;background:#fffde8ad;padding:7px 11px}.immersive .running-status{display:none!important}
.immersive .control-bar{position:absolute;left:max(0px,env(safe-area-inset-left));right:max(0px,env(safe-area-inset-right));bottom:max(11px,env(safe-area-inset-bottom));height:70px;min-height:0;padding:0 22px;border:0;background:none;z-index:6;pointer-events:none;gap:16px}
.immersive .control-bar button{pointer-events:auto;box-shadow:0 3px 12px #395c2510}.immersive .movement-controls{gap:9px}.immersive .move-button{width:61px;height:58px;background:#fffef0e6;border-color:#fff8;border-bottom-color:#c4d3b8;border-radius:16px}.immersive .move-button .icon{width:27px;height:27px}.immersive .control-caption{display:none}
.immersive .ability-controls{gap:13px;margin:0 auto}.immersive .ability-button{padding:7px 12px;background:#fffef0e6;border:1px solid #fff8;border-radius:14px;gap:8px;max-width:none;min-height:51px}.immersive .ability-text{font-size:11px;margin:0}.immersive .ability-text small{display:none}.immersive .ability-icon{width:33px;height:33px}.immersive .ability-button kbd{display:none}.immersive .ability-icon>b{font-size:9px;min-width:17px;height:17px}
.immersive .jump-button{background:#e9f3dbed;width:95px;height:64px;min-height:64px;border-radius:17px;font-size:11px;gap:5px;flex-direction:column}.immersive .jump-button .icon{width:26px;height:26px}.immersive .jump-button kbd{display:none}.immersive .toast{bottom:auto;top:104px;max-width:75%;font-size:11px;padding:10px 15px}.immersive .world-tip{display:none}
.launch-overlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#e8f0e578;backdrop-filter:blur(5px)}.launch-card{display:flex;align-items:center;flex-direction:column;text-align:center;padding:25px 25px 22px;border:1px solid #fffff4;background:#fffdf0f0;border-radius:23px;box-shadow:0 12px 40px #42603d13;max-width:min(89%,430px)}.rotate-phone{width:96px;height:83px;margin-bottom:8px}.launch-card .eyebrow{font-size:9px;color:#a49c77}.launch-card h3{font-size:27px;letter-spacing:-.8px;margin:9px 0 12px}.launch-card p{font-size:12px;line-height:1.8;color:#839477}.rotate-tip{font-size:9px;color:#a5ad93;margin:14px 0 16px;line-height:1.7}.launch-card .text-button{font-size:10px;min-height:30px}.countdown-overlay{background:#eaf1e465}.countdown-card{background:#fffdf0ed;border:1px solid #fff9;border-radius:26px;padding:21px 36px 28px;min-width:240px;text-align:center;max-width:85%;box-shadow:0 16px 48px #375a3014}.countdown-number{display:block;font-size:105px;font-weight:800;line-height:1.2;color:#779a63;letter-spacing:-7px;padding-right:7px}.countdown-card h3{font-size:22px;letter-spacing:-.6px;margin-bottom:9px}.countdown-card p{color:#8e9c7d;font-size:12px;line-height:1.7;max-width:355px}
.game-menu-dialog{width:min(94vw,555px)}.menu-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.menu-heading h2{text-align:left;margin:0;font-size:24px}.menu-bank{display:flex;align-items:center;gap:5px;font-weight:800;color:#baa258;font-size:13px;margin-right:34px}.menu-bank .icon{width:17px;height:17px}.menu-section-label{font-size:10px;letter-spacing:1px;font-weight:800;color:#99a18b;margin:23px 0 11px}.menu-abilities{display:grid;grid-template-columns:1fr 1fr;gap:9px}.menu-ability{display:flex;align-items:center;gap:9px;min-height:59px;border:1px solid #e0e7d4;background:#f3f7e9;border-radius:12px;padding:10px;text-align:left}.menu-ability:disabled{opacity:.5}.menu-ability strong{font-size:12px;display:block}.menu-ability small{font-size:10px;color:#9ba78b;display:block;margin-top:4px}.menu-upgrades{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.menu-upgrade{border:1px solid #e1e6d8;border-radius:11px;padding:11px 8px;text-align:center;background:#fcfcf4}.menu-upgrade strong{font-size:11px;display:block;margin-bottom:6px}.menu-upgrade span{font-size:9px;color:#9ba68c;display:block}.menu-upgrade button{margin-top:9px;border-radius:8px;background:#e8efda;min-height:35px;width:100%;font-size:10px;font-weight:700}.menu-upgrade button:disabled{opacity:.5}.menu-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.menu-tools button{display:flex;gap:8px;align-items:center;justify-content:center;background:#f1f5e7;border:1px solid #e3e8d9;border-radius:10px;min-height:43px;font-size:11px}.menu-tools .icon{width:17px;height:17px}.menu-switch{display:flex;align-items:center;justify-content:space-between;margin-top:15px;color:#8b9a7a;font-size:12px;padding:9px 2px}.menu-switch input{width:19px;height:19px;accent-color:#7b9a64}.finale-preview{display:flex;gap:10px;align-items:center;border:1px solid #e9ddb9;background:#fbf4e0;border-radius:12px;padding:11px 12px;margin-top:16px}.finale-preview>span{font-size:27px}.finale-preview strong{display:block;font-size:12px;color:#94834e}.finale-preview small{display:block;font-size:10px;line-height:1.6;color:#a39870;margin-top:4px}.level-card.finale-card{border-color:#dfd2a8;background:#fcf6e7}.level-card.finale-card.current{background:#f0ecd5;border-color:#c2b777}.finale-card .day-subject{color:#ac9862}
.calendar-card{background:#f7f8ec;border:1px solid #e3e7d8;border-radius:12px;padding:16px;margin-top:13px}.calendar-card h3{font-size:14px;line-height:1.5;margin-bottom:6px}.calendar-card p{font-size:11px;line-height:1.8;color:#8d9b7d}.calendar-date{font-size:10px;color:#b0a070;margin:7px 0}.calendar-source{font-size:9px;text-decoration:underline;text-underline-offset:3px;color:#99a18c;display:inline-block;margin-top:7px}.calendar-summary{font-size:34px;text-align:center;padding:17px}.calendar-fact{font-size:12px;text-align:center;line-height:1.8;color:#9b956f;background:#f8f0d9;border-radius:13px;padding:14px}.calendar-answer{font-size:16px;line-height:1.5;min-height:67px}.calendar-intro{margin-top:20px}.finale-tag{font-size:9px;color:#aa975a;letter-spacing:.5px}
@media(max-width:850px){.immersive .ability-button{padding:8px 9px;display:flex}.immersive .ability-text{font-size:10px}.immersive .ability-controls{gap:9px}.immersive .move-button{width:54px;height:55px}.immersive .jump-button{width:75px}.immersive .goal-track{display:none}.immersive .mission-heading{max-width:53%}.immersive .game-topbar{gap:10px}.immersive .game-menu-button{width:46px}.immersive .control-bar{padding:0 15px}}
@media(orientation:portrait) and (max-width:600px){.immersive .mission-heading{max-width:64%}.immersive .mission-heading h2{font-size:11px}.immersive .game-objective{padding:12px 9px;gap:4px;font-size:11px}.immersive .game-topbar{left:10px;right:10px;gap:7px}.immersive .scene-label{font-size:7px;top:75px}.immersive .control-bar{padding:0 10px;gap:6px}.immersive .move-button{width:37px;height:50px}.immersive .movement-controls{gap:5px}.immersive .ability-controls{gap:5px}.immersive .ability-button{display:block;min-width:40px;padding:6px 3px;min-height:55px}.immersive .ability-text{font-size:7px;margin-top:5px}.immersive .ability-icon{width:29px;height:29px}.immersive .jump-button{width:51px;height:58px;min-height:58px;font-size:8px}.immersive .toast{font-size:10px;max-width:86%}.launch-card{padding:23px 19px}.launch-card h3{font-size:25px}.countdown-number{font-size:88px}.countdown-card{padding:17px 23px 22px}.countdown-card h3{font-size:20px}.countdown-card p{font-size:11px}}
@media(orientation:landscape) and (max-height:500px){.immersive .game-topbar{top:7px;height:43px}.immersive .mission-heading{padding:5px 9px 5px 6px}.immersive .mission-heading h2{font-size:11px}.immersive .small-label{font-size:7px}.immersive .game-menu-button{height:43px;width:45px}.immersive .game-objective{padding:10px 12px;font-size:12px}.immersive .scene-label{top:61px;font-size:7px;padding:6px 10px}.immersive .toast{top:87px;font-size:10px}.immersive .control-bar{bottom:max(8px,env(safe-area-inset-bottom));height:62px}.immersive .move-button{height:51px;width:57px}.immersive .ability-button{min-height:46px;padding:5px 9px}.immersive .ability-icon{width:31px;height:31px}.immersive .ability-text{font-size:9px}.immersive .jump-button{min-height:57px;height:57px;width:78px;font-size:9px}.countdown-number{font-size:73px}.countdown-card{padding:12px 28px 18px;max-width:65%}.countdown-card h3{font-size:20px;margin:0 0 6px}.countdown-card p{font-size:11px}.menu-heading h2{font-size:22px}.launch-card{padding:15px 23px}.rotate-phone{height:60px;margin-bottom:0}}

/* Keep the actual task and every answer reachable in a phone's landscape view. */
dialog{max-height:calc(var(--dialog-height,100dvh) - 16px);overscroll-behavior:contain;scroll-padding:12px}
dialog.question-dialog,dialog.writing-active{position:fixed;inset:auto;left:50%;top:calc(var(--dialog-top,0px) + var(--dialog-height,100dvh)/2);transform:translate(-50%,-50%);margin:0;max-height:calc(var(--dialog-height,100dvh) - 16px);width:min(94vw,900px)}
.question-dialog .modal-inner{padding:21px 25px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 26px;align-items:center}
.question-intro{grid-column:1/-1;text-align:center}.question-intro .modal-eyebrow{font-size:8px;letter-spacing:1.3px}.question-dialog .question-intro h2{font-size:22px;margin:10px 0 6px}.question-intro .modal-copy{font-size:10px;line-height:1.5;margin:0}.question-prompt{grid-column:1;min-width:0}.question-response{grid-column:2;min-width:0}.question-dialog .question-stem{font-size:12px;line-height:1.5;margin:0 0 10px}.question-dialog .equation{font-size:39px;gap:12px;margin:15px 0 6px;flex-wrap:nowrap}.question-dialog .equation .unknown{min-width:43px;min-height:47px;border-radius:10px}.question-dialog .equation.sequence{font-size:25px;gap:7px}.question-dialog .equation.sequence .unknown{min-width:33px;min-height:37px}.question-dialog .count-stars{margin:12px 0}.question-dialog .count-stars .icon{width:23px;height:23px}.question-dialog .answer-grid{margin:0;gap:9px}.question-dialog .answer-button{min-height:51px;font-size:25px;padding:9px;border-radius:10px}.question-dialog .calendar-answer{font-size:11px;line-height:1.4;min-height:56px}.question-dialog .clock-answer{font-size:18px}.question-dialog .question-feedback{min-height:18px;font-size:10px;line-height:1.5;margin:10px 0 0}.question-dialog .hint-button{font-size:10px;min-height:32px;margin:3px auto 0;padding:6px}.question-dialog .hint-box{margin-top:7px;padding:10px;font-size:10px}.question-dialog .learning-clock{width:153px;max-width:80%;margin:4px auto}.question-dialog .clock-legend{font-size:8px;gap:10px;margin:6px 0}.question-dialog .calendar-summary{font-size:38px;margin:7px 0}.question-dialog .calendar-fact{font-size:11px;margin:5px 0}
@media(orientation:portrait){dialog.question-dialog{width:min(94vw,525px)}.question-dialog .modal-inner{grid-template-columns:1fr;gap:15px;padding:23px}.question-prompt,.question-response{grid-column:1}.question-dialog .question-intro h2{font-size:22px}.question-dialog .equation{margin:12px 0;font-size:35px}.question-dialog .answer-button{min-height:54px;font-size:25px}.question-dialog .calendar-answer{font-size:12px}.question-dialog .clock-answer{font-size:20px}.question-dialog .learning-clock{width:175px}.question-dialog .question-stem{font-size:12px}.question-dialog .count-stars .icon{width:26px;height:26px}}
@media(orientation:landscape) and (max-height:430px){.question-dialog .modal-inner{padding:15px 21px;gap:12px 23px}.question-dialog .question-intro h2{font-size:19px;margin:7px 0 4px}.question-intro .modal-copy{font-size:9px}.question-intro .modal-eyebrow{font-size:7px}.question-dialog .learning-clock{width:130px}.question-dialog .question-stem{font-size:11px;margin-bottom:6px}.question-dialog .equation{font-size:34px;margin:10px 0 4px}.question-dialog .answer-button{min-height:48px;padding:8px;font-size:23px}.question-dialog .calendar-answer{font-size:10px;min-height:51px}.question-dialog .clock-answer{font-size:18px}.question-dialog .question-feedback{font-size:9px;margin-top:7px}.question-dialog .hint-button{font-size:9px;min-height:30px}}
@media(orientation:landscape) and (max-height:560px){.writing-active .modal-inner{padding:17px 24px;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr);gap:7px 22px;align-items:center}.writing-active .modal-eyebrow{grid-column:1;grid-row:1;font-size:7px}.writing-active h2{grid-column:1;grid-row:2;font-size:20px;margin:2px 0}.writing-active .modal-copy{grid-column:1;grid-row:3;display:block;font-size:9px;line-height:1.5;margin:4px 0}.writing-active .writing-target{grid-column:1;grid-row:4;margin:5px 0;font-size:19px;gap:2px}.writing-active .writing-status{grid-column:1;grid-row:5;font-size:10px;margin:3px 0}.writing-active .writing-canvas-wrap{grid-column:2;grid-row:1/6}.writing-active .writing-canvas{height:clamp(145px,calc(var(--dialog-height,100dvh) - 130px),270px)}.writing-active .writing-tools{grid-column:2;grid-row:6/8;margin:0;gap:7px;justify-content:center}.writing-active .writing-small-button{min-height:34px;padding:7px 9px;font-size:9px}.writing-active .pen-option{font-size:9px}.writing-active .writing-feedback{grid-column:1;grid-row:6;min-height:25px;font-size:10px;margin:0;line-height:1.5}.writing-active .writing-template-note{display:none}.writing-active .practice-back{grid-column:1;grid-row:7;font-size:9px;margin:0;padding:5px}}
