@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600;700&display=swap');
:root{--ink:#243e43;--purple:#7952c8;--gold:#ffdb77;--cream:#fffdf2;--leaf:#3f8a66;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);font-synthesis:none;background:#376a57}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;touch-action:manipulation}button:disabled{cursor:default}button,input,select,a{outline-offset:5px}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:4px solid #c070ee}button{transition:transform .16s,filter .16s}button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-3px)}button:active:not(:disabled){transform:translateY(2px)}h1,h2,h3,p{margin:0}h1,h2,h3,.game-logo,.gold-button,.portal-sign strong,.answer-number,.long-answer,.question-equation,.long-result,.math-digit{font-family:'Fredoka',ui-rounded,'Trebuchet MS',sans-serif;font-weight:500}h1{font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.12}h2{font-size:2rem;line-height:1.15}p{line-height:1.65}svg{vertical-align:middle}button>svg{width:21px;height:21px;flex-shrink:0}.skip-link{position:fixed;left:20px;top:-60px;z-index:100;background:#fff;padding:12px;border-radius:12px}.skip-link:focus{top:12px}.game-shell{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:linear-gradient(180deg,#234a3c24,#2e54411a),url('./assets/world.png') center center/cover fixed}.game-shell:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#153d3b36,transparent 32%,transparent 72%,#244b3752);z-index:-1;pointer-events:none}.game-hud{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1500px;margin:auto;padding:23px 36px}.game-logo{display:flex;align-items:center;gap:12px;color:#fffced;background:transparent;text-align:left;font-size:1.95rem;text-shadow:0 3px 2px #173e4866;letter-spacing:-.035em}.game-logo img{width:43px;height:43px;filter:drop-shadow(0 3px 0 #233b2d30);border-radius:14px}.game-logo small{font-family:'DM Sans',sans-serif;display:block;font-size:.6rem;font-weight:700;letter-spacing:.16em;margin-top:4px;text-shadow:0 1px 3px #173e48}.rank-pill{display:flex;align-items:center;gap:11px;background:#fffcebeb;border:2px solid #fff9ce;border-radius:24px;padding:9px 17px;box-shadow:0 4px 0 #49785d45;font-size:.8rem;font-weight:700;min-width:223px}.rank-star{font-size:1.8rem;color:#d5a635}.rank-pill>span:nth-child(2){flex:1}.rank-track{display:block;height:6px;background:#dfddca;border-radius:8px;margin-top:6px;overflow:hidden}.rank-track i{display:block;height:100%;background:#90bd67;border-radius:8px}.rank-pill>b{font-size:1rem}.hud-tools{display:flex;gap:10px;align-items:center}.seed-wallet{display:flex;align-items:center;gap:8px;font-size:1.1rem;padding:10px 16px;border-radius:20px;background:#fff8df;border:2px solid #ffeac0;box-shadow:0 4px 0 #47685155}.round-button{height:43px;width:43px;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:#fffbed;border:2px solid #fff;box-shadow:0 4px 0 #44644c40}.round-button svg{height:21px;width:21px}.small-ribbon{display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.17em;color:#376c54;background:#fff8dfe8;padding:8px 15px;border-radius:9px;box-shadow:0 2px 8px #365e2410}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.12em}.map-scene{position:relative;min-height:calc(100svh - 99px);height:700px;max-height:calc(100svh - 99px);max-width:1500px;margin:auto}.map-title{text-align:center;padding-top:6px;color:#fffced;text-shadow:0 3px 8px #274e4277}.map-title h1{margin:12px 0 7px;font-size:2.6rem}.map-title p{font-size:.95rem}.map-title .small-ribbon{text-shadow:none}.map-level{position:absolute;right:38px;top:32px}.difficulty-label{display:flex;flex-direction:column;gap:6px;font-size:.73rem;font-weight:700;color:#486148}.map-level .difficulty-label{color:white;text-shadow:0 2px 5px #254c31}.difficulty-label select{border:2px solid #fff9dd;border-radius:14px;background:#fffbed;color:#345b47;padding:10px 27px 10px 12px;font-size:.87rem;font-weight:700;box-shadow:0 4px 0 #3c634335;max-width:100%}.map-worlds{position:absolute;inset:123px 0 150px}.world-portal{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:166px;background:transparent;display:flex;flex-direction:column;align-items:center;padding:0;z-index:2}.portal-orb{display:flex;align-items:center;justify-content:center;position:relative;width:99px;height:99px;border-radius:35px;background:radial-gradient(circle at 36% 20%,#fffffff5,var(--accent) 66%);border:4px solid #ffffffd9;box-shadow:0 7px 0 #32593e61,0 14px 20px #34523c47,inset 0 -5px 1px #446d4222;animation:none}.portal-emoji{font-size:2.7rem;filter:drop-shadow(0 2px 1px #3b6b4926)}.portal-orb>b{position:absolute;right:-8px;bottom:-3px;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#fffcf0;box-shadow:0 3px 0 #6e765c55;font:600 1.6rem 'Fredoka',sans-serif;color:#335d50}.portal-sign{position:relative;z-index:2;margin-top:13px;background:#fffced;border:2px solid #fff;padding:9px 12px;border-radius:14px;box-shadow:0 4px 0 #3c5f454d;min-width:165px}.portal-sign strong{font-size:1.04rem;white-space:nowrap;display:block}.portal-sign small{font-size:.69rem;display:block;margin-top:3px;color:#6f7965}.portal-stars{display:flex;gap:5px;margin-top:7px;font-size:.9rem;filter:drop-shadow(0 2px 1px #315b4155)}.portal-stars i{font-style:normal;color:#fffcee8c}.portal-stars .earned{color:#ffe380}.portal-glow{position:absolute;width:150px;height:50px;top:71px;background:#ecffa177;filter:blur(13px);border-radius:50%}.map-companion{position:absolute;bottom:109px;left:4%;display:flex;align-items:center;z-index:3}.pip{object-fit:contain;display:block;width:120px;height:130px;filter:drop-shadow(0 10px 5px #173d3933);user-select:none;-webkit-user-drag:none;animation:pet-breathe 4.5s ease-in-out infinite;transform-origin:50% 95%}.map-companion>.pip{width:145px;height:158px}.emoji-pet{font-size:6rem;display:block;filter:drop-shadow(0 8px 4px #23493344);animation:pet-breathe 4s ease-in-out infinite}.speech{position:relative;background:#fffdf0;border:3px solid #fff;padding:17px 21px;border-radius:21px 21px 21px 4px;box-shadow:0 5px 0 #29584230;margin-left:-5px;font-size:.84rem;max-width:265px}.speech strong,.speech span{display:block}.speech strong{font-family:'Fredoka',sans-serif;font-size:1.1rem;margin-bottom:5px}.speech span{color:#6a7766;line-height:1.5}.daily-quest{position:absolute;right:4%;bottom:140px;background:#fff8de;border:3px solid #ffedd2;border-radius:20px;padding:17px;display:flex;align-items:center;gap:14px;text-align:left;box-shadow:0 6px 0 #41673e40;max-width:330px;transform:rotate(2deg)}.daily-quest:hover:not(:disabled){transform:rotate(0) translateY(-3px)}.daily-icon{font-size:2.5rem}.daily-quest strong{display:block;font-family:'Fredoka',sans-serif;font-size:1.17rem;margin:5px 0}.daily-quest small{font-size:.58rem;letter-spacing:.1em;color:#967a32;font-weight:800}.daily-quest>span>span{font-size:.7rem;color:#81784f;line-height:1.5;display:block}.daily-quest>i svg{width:17px;height:17px;color:#a28449}.gold-button:hover{filter:brightness(1.04)}.soft-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fffdf1e8;border:2px solid #fff;border-radius:14px;padding:11px 17px;font-size:.86rem;font-weight:700;box-shadow:0 4px 0 #79907835}.text-button{background:none;padding:12px;color:#675089;font-size:.86rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px}.wide{width:100%}.fireflies{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}.fireflies i{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:#fff8b5;box-shadow:0 0 8px 3px #ffea7866;animation:firefly 8s var(--delay) ease-in-out infinite;opacity:0}.effects{position:fixed;inset:0;pointer-events:none;z-index:100;overflow:hidden}.spark-burst{position:absolute;font-size:24px;font-style:normal;animation:burst .8s ease-out forwards}.falling-star{position:absolute;top:-40px;font-style:normal;font-size:28px;animation:fall 2.1s var(--delay) ease-in forwards}.storage-note{position:relative;z-index:4;text-align:center;padding:10px;background:#fff1be;color:#775819;font-size:.82rem}
/* The playable clearing */
body:not([data-view=map]) .game-shell:after{content:'';position:absolute;inset:0;background:#2c67542e;backdrop-filter:blur(3px);z-index:-1}main{position:relative;z-index:2}.play-scene,.long-scene,.learn-scene{max-width:1180px;margin:0 auto;padding:2px 32px 22px;min-height:calc(100svh - 98px)}.play-top{display:flex;align-items:center;gap:15px;margin:3px 0 17px}.play-title{color:#fffeed;text-shadow:0 2px 4px #2b5c4977}.play-title h1{font-size:1.6rem;margin-top:4px}.play-title .eyebrow{font-size:.61rem}.trail-progress{margin-left:auto;background:#fff8dfeb;border:2px solid #fff6d7;box-shadow:0 4px 0 #325e3d40;border-radius:20px;padding:10px 15px;display:flex;align-items:center;gap:6px}.trail-progress i{width:15px;height:15px;border-radius:50%;background:#dddfc9;font-style:normal;text-align:center;font-size:.65rem;line-height:15px;color:#aaad8d}.trail-progress .complete{background:#f3c658;color:#78591e}.trail-progress .current{background:#fff6cd;box-shadow:0 0 0 2px #c49947}.trail-progress span{font-size:.7rem;font-weight:700;margin-left:7px;white-space:nowrap}.question-plaque{position:relative;margin:0 auto;text-align:center;background:#fffdf1f5;max-width:540px;padding:17px 30px 13px;border-radius:26px;border:3px solid #fff;box-shadow:0 7px 0 #47683f33,0 12px 30px #244e3c22;z-index:3}.question-instruction{font-weight:700;font-size:.85rem;color:#6c755b}.question-equation{display:flex;justify-content:center;align-items:center;gap:20px;font-size:3.7rem;line-height:1.4;letter-spacing:.02em;color:#3c5a4e;font-variant-numeric:tabular-nums}.question-equation>span{color:#8a9579;font-weight:400}.question-equation>b{font-weight:500;color:#8560c3;background:#eee5fb;border-radius:16px;padding:0 18px;line-height:1.13;min-width:67px}.tiny-groups{font-size:1rem;color:#7ac6a4;letter-spacing:4px}.tiny-groups span:last-child{color:#b698e2}.tiny-array{display:grid;grid-template-columns:repeat(var(--columns),8px);justify-content:center;gap:4px;margin-top:5px}.tiny-array i{width:8px;height:8px;border-radius:50%;background:#bd9adc}.answer-arena{position:relative;height:280px;margin:0 auto;max-width:1040px;isolation:isolate}.answer-row{height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,72px);position:relative;z-index:3;padding:25px}.answer-target{position:relative;width:clamp(100px,11.7vw,148px);height:clamp(100px,11.7vw,148px);flex-shrink:0;border-radius:50%;background:radial-gradient(circle at 36% 24%,#ffffff9c,transparent 45%),radial-gradient(circle at 65% 80%,#ffffff60,transparent 40%),linear-gradient(135deg,var(--color),#ffffff68);border:3px solid #ffffffc7;box-shadow:inset 0 -8px 12px #fff8,0 10px 25px #28544d30,0 0 20px #ffffff38;animation:bubble-float calc(3.5s + var(--i)*.4s) ease-in-out infinite;animation-delay:calc(var(--i)*-.7s);color:#344e69}.answer-target:hover:not(:disabled){transform:scale(1.08)}.answer-number{position:relative;z-index:3;font-size:clamp(2rem,4vw,3.3rem);text-shadow:0 2px 0 #fffc;font-variant-numeric:tabular-nums}.answer-target small{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:.61rem;font-weight:800;color:#4461778f}.answer-shine{position:absolute;left:20%;top:12%;width:23%;height:12%;border-radius:50%;background:#fff9;transform:rotate(-35deg)}.choice-1{top:-22px}.choice-2{top:16px}.choice-3{top:-9px}.arena-hint{position:absolute;bottom:0;left:0;right:0;text-align:center;color:#fffef1;font-size:.75rem;font-weight:700;text-shadow:0 2px 3px #224c4266;z-index:3}.answer-target.tried,.long-answer.tried{opacity:.3;animation:none;filter:saturate(.4)}.answer-target.correct-choice{background:radial-gradient(circle at 35% 20%,#fff,#b1f6d3);border-color:#faffd8;box-shadow:0 0 0 5px #b8ed9c77,0 0 40px #eaffb660;animation:none}.popping{animation:pop-out .4s ease-out forwards!important}.celebrating{animation:celebrate .4s ease-out!important}.game-feedback{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;min-height:75px;text-align:center;background:#fffbebeb;border:2px solid #fff6d6;border-radius:19px;padding:14px 20px;max-width:870px;margin:16px auto 0;font-size:.87rem;box-shadow:0 4px 0 #45634026}.game-feedback strong{font-family:'Fredoka',sans-serif;font-size:1.16rem;display:block}.game-feedback>span{font-size:.82rem;color:#6e795e;line-height:1.5}.game-feedback.success{border-color:#daf6bd;background:#f4ffe7}.game-feedback.retry{background:#fff2d8;border-color:#ffe5b0}.game-feedback .gold-button{font-size:.94rem;padding:10px 16px}.play-bottom{display:flex;align-items:center;justify-content:space-between;max-width:930px;margin:6px auto 0;gap:15px}.small-companion{display:flex;align-items:center;gap:8px}.small-companion .pip{width:76px;height:83px}.small-companion .emoji-pet{font-size:4rem}.small-companion>span{background:#fff6daed;padding:9px 15px;border-radius:15px;font-size:.72rem;line-height:1.6;color:#756947}.game-actions{display:flex;gap:10px;flex-wrap:wrap}.strategy-card{background:#fffcf0;border:2px solid #e6d4f6;padding:16px 21px;border-radius:17px;max-width:850px;margin:15px auto;color:#6b508d;font-size:.92rem;line-height:1.7}.ribbon-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;overflow:visible}.ribbon-canvas path{fill:none;stroke:#e366c5;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 0 #81418166) drop-shadow(0 0 5px #ffd0f4)}.ribbon-arena{touch-action:none}.ribbon-target{background:radial-gradient(circle at 35% 25%,#fffef4,var(--color));border-radius:43% 57% 44% 56%;border:4px solid #fff;box-shadow:0 7px 0 #52725545,0 13px 24px #365a464d;animation:flower-sway 5s calc(var(--i)*-.8s) ease-in-out infinite}.answer-ribbon{position:absolute;inset:-14%;width:128%;height:128%;fill:none;stroke:#ec79c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:440;stroke-dashoffset:440;pointer-events:none}.correct-choice .answer-ribbon{animation:wrap-ribbon .7s ease-out forwards}.bridge-arena .arena-scenery{position:absolute;inset:60px -30px 5px;background:linear-gradient(180deg,#8ee2d6bb,#389cbbbd);border:3px solid #bef9e87d;border-radius:55% 35% 35% 40%;transform:rotate(-2deg);box-shadow:inset 0 7px 0 #f1fff233,0 10px 25px #22544522}.bridge-target{border-radius:44% 48% 42% 46%;height:100px;background:radial-gradient(at 30% 10%,#fcffe3,#e3e7c4 45%,#c4d5b7);border:3px solid #f7ffe1;box-shadow:0 12px 0 #799a82,0 19px 13px #296b7866,inset 0 -4px #acbfa955;animation:stone-bob 4s calc(var(--i)*-.5s) ease-in-out infinite}.bridge-target:before{content:'';position:absolute;left:15%;top:-5px;width:35%;height:10px;background:#89b98e;border-radius:70% 30% 30% 70%;opacity:.8}.bridge-target small{bottom:8px}.bridge-target .answer-shine{display:none}.bridge-arena{height:315px}.bridge-arena .answer-row{align-items:start;padding-top:38px}.hop-trail{position:absolute;bottom:30px;left:7%;right:7%;display:flex;align-items:end;justify-content:space-between;height:60px;z-index:4;pointer-events:none}.hop-trail>i{width:34px;height:16px;border-radius:50%;background:#93b99e;border:2px solid #d5e6ba;box-shadow:0 5px 0 #427869}.hop-trail>i.lit{background:#dff591}.hopping-friend{position:absolute;bottom:10px;transform:translateX(-50%);transition:left .5s}.hopping-friend .pip{width:57px;height:63px}.hopping-friend .emoji-pet{font-size:2.9rem}.bridge-arena .arena-hint{bottom:-6px}
/* Long division is a diagram you can play with. */
.division-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);gap:24px;align-items:start;max-width:1080px;margin:auto}.division-parchment{background:#fffdf0f5;border:4px solid #fff7d7;border-radius:27px;box-shadow:0 8px 0 #48644544,0 18px 30px #2a554d30;padding:19px 22px;overflow:hidden}.division-label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-family:'Fredoka',sans-serif;font-size:1.3rem;border-bottom:2px dashed #d3d9b9;padding-bottom:13px}.division-label>span{font-family:'DM Sans',sans-serif;font-size:.68rem;color:#76836c}.division-board{max-width:420px;margin:10px auto 0}.division-svg{width:100%;height:auto;max-height:64svh;overflow:visible;touch-action:none}.math-digit{font-size:32px;font-weight:500;font-variant-numeric:tabular-nums}.math-sign{font-size:26px;fill:#84968a}.active-source{filter:drop-shadow(0 0 5px #e9dd9670)}.ghost-digit{opacity:.28}.source-ring{animation:source-pulse 1.8s infinite}.bring-arrow{animation:arrow-flow 1.2s linear infinite}.traveling-digit{opacity:.9}.bringing .traveling-digit{filter:drop-shadow(0 0 9px #b787ec)}.target-cell rect{animation:target-pulse 1.7s infinite}.digit-cell.dragging{filter:drop-shadow(0 6px 2px #7561a288)}.division-guide{background:#fffdf0f5;border:3px solid #fff9dc;padding:23px;border-radius:27px;box-shadow:0 7px 0 #3c624d3d}.step-wheel{display:flex;gap:5px;justify-content:space-between;margin-bottom:23px}.step-wheel>span{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:.64rem;color:#93a090;text-align:center;flex:1}.step-wheel b{display:grid;place-items:center;background:#e7ebdb;color:#99a388;border-radius:12px;width:34px;height:34px;font-family:'Fredoka',sans-serif;font-size:1rem}.step-wheel .current{color:var(--c);font-weight:800}.step-wheel .current b{background:var(--c);color:#fff;box-shadow:0 3px 0 #263d4d20,0 0 0 4px #ece4c6}.step-instruction .eyebrow{color:var(--step-color);font-size:.65rem}.step-instruction h2{color:var(--step-color);margin:8px 0 12px;font-size:2rem}.step-instruction p{font-size:1.06rem;line-height:1.6}.long-answers{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:23px 0 18px}.long-answer{position:relative;min-height:74px;background:#f0e7ff;border:2px solid #fff;border-radius:18px;box-shadow:0 5px 0 #baa3d8;color:#654795;font-size:1.8rem;padding:8px 4px 20px}.long-answer small{position:absolute;font-family:'DM Sans',sans-serif;font-size:.57rem;bottom:6px;left:50%;transform:translateX(-50%);opacity:.6}.long-feedback{font-size:.83rem;line-height:1.65;color:#6a775f;padding:14px;background:#eef1df;border-radius:14px;margin-bottom:15px}.division-guide .game-actions .soft-button{font-size:.77rem;padding:9px 11px}.guide-companion{display:flex;align-items:center;gap:10px;margin-top:15px}.guide-companion .pip{width:66px;height:73px}.guide-companion .emoji-pet{font-size:3.4rem}.guide-companion>span{font-size:.77rem;color:#6c7c61;font-weight:600;line-height:1.5}.bring-instruction{position:relative;text-align:center;background:#f0e5ff;border:2px dashed #c5a3e7;border-radius:20px;padding:18px 15px;margin:18px 0}.moving-digit{display:inline-grid;place-items:center;background:#9564d5;color:white;border:3px solid #fff;border-radius:16px;height:59px;width:59px;font:500 2.5rem 'Fredoka',sans-serif;animation:bring-bob 2s infinite;margin-bottom:12px}.bring-instruction p{font-size:.84rem;color:#77509c;margin:3px 0 15px}.bring-instruction small{display:block;font-size:.7rem;margin-top:14px;color:#7d6790}.long-result{font-size:1.75rem;margin:20px 0;line-height:1.5}.long-result b{color:#7e59b4;font-weight:500}.division-guide>p{font-size:.91rem;color:#6b7a60}.earned-tag{color:#92812d;background:#fff1c7;border-radius:12px;padding:12px;margin:18px 0;font-size:.87rem;font-weight:700}.division-guide>.wide{margin-top:10px}
/* A persistent garden and the reward moment. */
.garden-scene{max-width:1250px;margin:auto;padding:8px 30px 30px;text-align:center}.garden-heading{color:#fffced;text-shadow:0 2px 4px #244b4188}.garden-heading h1{font-size:2.45rem;margin:12px 0}.garden-heading p{font-size:.88rem}.garden-heading .small-ribbon{text-shadow:none}.garden-layout{display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:start;margin:27px auto}.garden-bed{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:22px;background:#fff4d415;border:2px solid #f7ffcb55;border-radius:28px;backdrop-filter:blur(5px)}.garden-plot{position:relative;border-radius:46%;height:127px;background:radial-gradient(at 30% 20%,#e5ca9b,#b99a72);border:4px solid #bdc896;box-shadow:0 8px 0 #607b43,0 12px 17px #34533c44;display:flex;align-items:center;justify-content:center;flex-direction:column}.garden-plot>span:first-child{font-size:2rem;color:#856740}.garden-plot>small{font-size:.62rem;color:#715938;max-width:95px;line-height:1.3;z-index:3}.garden-plot.planted{background:radial-gradient(at 30% 15%,#c8dc9b,#85a764);border-color:#cce3a5}.garden-plot .plant-visual{line-height:1.2;font-size:3.1rem!important;filter:drop-shadow(0 4px 2px #47693c44);transform-origin:bottom center;animation:plant-sway 5s ease-in-out infinite}.garden-plot .growth-2{font-size:3.5rem!important}.garden-plot .growth-3{font-size:4rem!important}.garden-plot.planted small{background:#fff5d9bd;padding:3px 7px;border-radius:7px;font-weight:700;margin-top:2px}.growth-dots{font-size:.6rem;color:#ffe393;letter-spacing:3px;position:absolute;bottom:-21px}.garden-shop{background:#fffbedf5;border:3px solid #fff7d7;border-radius:25px;box-shadow:0 6px 0 #32583e44;padding:18px;text-align:left}.garden-tabs{display:flex;gap:8px;background:#e9eedb;padding:5px;border-radius:14px}.garden-tabs button{flex:1;padding:9px;border-radius:10px;background:none;color:#7f8b70;font-weight:700;font-size:.85rem}.garden-tabs .active{background:#fffef4;color:#5c7d4e;box-shadow:0 3px 0 #c7d0b2}.shop-note{font-size:.75rem;color:#7c886d;padding:15px 0;line-height:1.6}.seed-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.seed-packet{padding:8px 5px;background:#f3f2dd;border:2px solid transparent;border-radius:13px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}.seed-packet>span{font-size:1.75rem}.seed-packet>strong{font-size:.63rem;font-weight:600;line-height:1.35}.seed-packet>small{font-size:.63rem;color:#7e8f5b}.seed-packet.selected{background:#ece0fa;border-color:#b895d8}.garden-message{font-size:.75rem;line-height:1.6;color:#7b6854;padding:15px 1px 0;min-height:59px}.friend-catalog{display:grid;grid-template-columns:1fr 1fr;gap:10px}.friend-card{background:#f1f0d8;border:2px solid #f1f0d8;border-radius:16px;padding:15px 8px;display:flex;align-items:center;flex-direction:column;gap:7px}.friend-card>span{font-size:2.4rem}.friend-card>strong{font-family:'Fredoka',sans-serif;font-size:1.1rem}.friend-card>small{font-size:.64rem;color:#7a8064}.friend-card.selected{border-color:#b395d1;background:#ece0fa}.garden-return{margin-top:8px}.reward-scene{max-width:1000px;margin:12px auto 0;position:relative;min-height:calc(100svh - 126px);padding:40px 30px;display:flex;align-items:center;justify-content:center}.reward-pet{position:relative;z-index:3;margin-right:-40px;align-self:end;margin-bottom:20px}.reward-pet .pip{width:230px;height:260px}.reward-pet .emoji-pet{font-size:9rem}.reward-card{background:#fffdf0f5;border:4px solid #fff9d3;border-radius:32px;padding:36px 38px;box-shadow:0 9px 0 #4266404d;text-align:center;max-width:640px}.reward-card h1{font-size:2.6rem;margin:20px 0 16px}.reward-card>p{font-size:.89rem;color:#7f8367}.reward-stats{display:flex;gap:27px;justify-content:center;margin:29px 0}.reward-stats span{display:flex;flex-direction:column;gap:8px;font-size:.77rem;color:#898870}.reward-stats b{font-family:'Fredoka',sans-serif;font-size:1.9rem;font-weight:500;color:#94703d}.reward-buttons{display:flex;justify-content:center;gap:13px;flex-wrap:wrap}.reward-buttons .text-button{width:100%}.rest-note{font-size:.74rem!important;margin-top:19px;line-height:1.6}.happy .pip,.pip.happy{animation:pet-hop 1s ease-in-out infinite}
/* Hands-on lessons stay part of the adventure. */
.learn-scene{position:relative}.learning-workbench{text-align:center;margin:15px auto 25px;background:#fffdf0f5;border:4px solid #fff7d5;border-radius:28px;max-width:820px;padding:28px;box-shadow:0 7px 0 #46653c55}.learning-workbench h1{font-size:1.55rem;margin:18px 0 10px}.learning-model{padding:25px 20px;background:#eef2de;border:2px dashed #d4dfba;border-radius:20px;margin:16px 0}.counter-group{display:flex;justify-content:center;align-items:center;gap:25px;flex-wrap:wrap}.counter-bowl{display:flex;flex-direction:column;align-items:center;gap:12px}.counters{display:flex;flex-wrap:wrap;gap:7px;max-width:220px;justify-content:center;min-height:18px}.counter{width:23px;height:23px;border-radius:45%;background:#7bbe99;box-shadow:0 3px 0 #56916d;display:inline-block;animation:seed-pop .3s ease-out}.counter.purple{background:#b39cdb;box-shadow:0 3px 0 #9076bd}.counter.removed{background:transparent;border:2px dashed #bcbd98;box-shadow:none}.counter.ten{width:13px;height:46px;border-radius:4px}.counter.hundred{width:42px;height:42px;border-radius:6px}.counter-bowl strong{font-size:.81rem;color:#6d7b5a}.big-operator{font-size:2rem;font-weight:500;color:#859776}.lesson-array{display:grid;grid-template-columns:repeat(var(--columns),30px);justify-content:center;gap:9px}.seed-flower{font-size:1.6rem;color:#b6c598;line-height:1;display:block}.seed-flower.bloomed{animation:seed-pop .35s ease-out}.sharing-pots{display:flex;justify-content:center;flex-wrap:wrap;gap:15px}.sharing-pot{padding:13px 12px;background:#f5e1cc;border:3px solid #d9b996;border-radius:10px 10px 25px 25px;min-width:95px;max-width:150px}.sharing-pot .counter{width:16px;height:16px}.sharing-pot strong{font-size:.68rem;display:block;margin-top:12px;color:#8f7152}.block-legend{font-size:.74rem;color:#819270;margin-top:16px}.lesson-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.lesson-status{font-size:.82rem;color:#7e8b6b;margin-bottom:17px}.lesson-pip{position:absolute;right:0;bottom:15px;pointer-events:none}.lesson-pip .pip{width:115px;height:125px}
/* Menus are little game sheets, not separate web pages. */
dialog{border:3px solid #fff9d9;border-radius:28px;padding:30px;max-width:580px;width:calc(100% - 32px);max-height:90svh;background:#fffdf0;color:var(--ink);box-shadow:0 12px 0 #5a70454d,0 30px 90px #122e4680;overflow:auto}dialog::backdrop{background:#133e4c7a;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:15px;top:15px;height:34px;width:34px;box-shadow:none;background:#eeefdc;border:0;border-radius:12px;z-index:3}.world-intro{text-align:center;padding:5px 0 16px}.world-medallion{display:grid;place-items:center;width:73px;height:73px;margin:0 auto 16px;background:var(--accent,#e0efce);border:3px solid #fff;border-radius:25px;font-size:2.3rem;box-shadow:0 5px 0 #9aae7c35}.world-intro>.eyebrow{font-size:.67rem;color:#91a079}.world-intro h2{margin:7px 0 12px}.world-intro p{font-size:.88rem;color:#7a8467;max-width:380px;margin:auto}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.mode-option{display:flex;align-items:center;flex-direction:column;gap:5px;padding:15px 10px;background:#f0efda;border:2px solid transparent;border-radius:17px}.mode-option>span{font-size:1.7rem}.mode-option strong{font-family:'Fredoka',sans-serif;font-size:1.05rem;font-weight:500}.mode-option small{font-size:.67rem;color:#83866a}.mode-option.selected{background:#ede0fb;border-color:#b59ad9;box-shadow:0 3px 0 #baa0d4}.world-intro~.difficulty-label{align-items:center}.world-intro~.text-button{width:100%;margin-top:12px}.long-launch{display:flex;flex-direction:column;gap:17px;margin-top:25px}.long-launch p{font-size:.82rem;text-align:center;color:#8a8b70}.setting-row{margin:23px 0 15px}.setting-description{font-size:.83rem;line-height:1.75;color:#7a836d;margin:16px 0}.setting-toggle{background:#eeefd9;border-radius:14px;padding:15px 18px;display:flex;width:100%;justify-content:space-between;font-size:.87rem;margin:13px 0}.setting-toggle b{color:#7d58aa}dialog>h2{margin:10px 20px 20px 0}dialog>p{font-size:.9rem;color:#77826b;margin:15px 0}.danger{color:#ac4867}dialog .wide{margin-top:12px}.pause-pet{display:flex;justify-content:center}.pause-pet .pip{width:120px;height:130px}#type-form{display:flex;flex-direction:column;align-items:center;gap:15px}#type-form label{font-size:.85rem;color:#748264}#typed-answer{max-width:100%;width:180px;text-align:center;border:3px solid #d7c0ed;border-radius:18px;font:500 3rem 'Fredoka',sans-serif;background:#faf3ff;color:#6e4ba0;padding:15px}.math-digit{font-family:'Fredoka',sans-serif}
@keyframes portal-bob{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes pet-breathe{50%{transform:scale(1.025,1.04) rotate(-2deg)}}@keyframes bubble-float{50%{transform:translateY(-15px) rotate(3deg)}}@keyframes flower-sway{50%{transform:rotate(4deg) translateY(-6px)}}@keyframes stone-bob{50%{transform:translateY(-4px)}}@keyframes firefly{15%,75%{opacity:.8}50%{transform:translate(20px,-32px)}100%{transform:translate(-12px,-65px);opacity:0}}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) scale(.1);opacity:0}}@keyframes fall{to{transform:translateY(110svh) rotate(360deg);opacity:0}}@keyframes pop-out{40%{transform:scale(1.18)}100%{transform:scale(1.5);opacity:0}}@keyframes celebrate{50%{transform:translateY(-15px) scale(1.1)}}@keyframes wrap-ribbon{to{stroke-dashoffset:0}}@keyframes arrow-flow{to{stroke-dashoffset:-28}}@keyframes target-pulse{50%{stroke-opacity:.5;fill-opacity:.2}}@keyframes source-pulse{50%{stroke-width:4}}@keyframes bring-bob{50%{transform:translateY(7px)}}@keyframes plant-sway{50%{transform:rotate(4deg)}}@keyframes seed-pop{0%{transform:scale(.2)}70%{transform:scale(1.15)}100%{transform:scale(1)}}@keyframes pet-hop{50%{transform:translateY(-13px) rotate(4deg)}}
@media(min-width:1600px){.map-scene{height:calc(100svh - 100px);max-height:none}.map-worlds{inset:155px 0 200px}.portal-orb{width:115px;height:115px}.map-companion{bottom:135px}.daily-quest{bottom:160px}.map-title{padding-top:25px}.map-title h1{font-size:3.1rem}}
@media(max-width:1050px){.game-hud{padding:20px 24px;gap:15px}.game-logo{font-size:1.6rem}.rank-pill{min-width:195px;font-size:.73rem}.map-title h1{font-size:2.2rem}.map-level{right:25px;top:15px}.map-title p{font-size:.82rem}.map-title .small-ribbon{font-size:.58rem}.map-worlds{inset:133px 0 155px}.world-portal{width:135px}.portal-orb{width:80px;height:80px;border-radius:29px}.portal-emoji{font-size:2.3rem}.portal-sign{min-width:140px;padding:8px}.portal-sign strong{font-size:.9rem}.portal-sign small{font-size:.61rem}.portal-orb>b{width:31px;height:31px;font-size:1.35rem;border-radius:11px}.map-companion{left:3%;bottom:115px}.map-companion>.pip{width:115px;height:125px}.speech{font-size:.73rem;padding:13px;max-width:210px}.speech strong{font-size:.94rem}.daily-quest{right:3%;bottom:130px;max-width:286px;padding:12px;gap:10px}.daily-quest strong{font-size:1rem}.daily-icon{font-size:2rem}.daily-quest>span>span{font-size:.62rem}.division-stage{gap:18px;grid-template-columns:minmax(0,1fr) minmax(315px,.93fr)}.division-guide{padding:19px}.garden-layout{grid-template-columns:1fr 300px;gap:20px}.garden-bed{gap:16px;padding:18px;grid-template-columns:repeat(3,1fr)}.garden-plot{height:110px}.garden-plot>small{font-size:.6rem}.reward-pet .pip{width:180px;height:205px}}
@media(max-width:800px){.game-hud{padding:17px 20px}.game-logo{font-size:1.4rem;gap:9px}.game-logo img{width:37px;height:37px}.game-logo small{font-size:.5rem;letter-spacing:.09em}.rank-pill{display:none}.hud-tools{gap:8px}.seed-wallet{font-size:.95rem;padding:9px 12px}.round-button{height:39px;width:39px;border-radius:13px}.map-scene{height:calc(100svh - 85px);max-height:none;min-height:650px}.map-title{padding-top:18px}.map-title h1{font-size:2.2rem}.map-title p{font-size:.83rem}.map-level{top:119px;right:23px;z-index:4}.map-level .difficulty-label{font-size:.6rem}.map-level select{font-size:.75rem;padding:8px 21px 8px 10px}.map-worlds{inset:164px 0 156px}.world-portal{width:120px}.portal-sign{min-width:120px;border-radius:12px;padding:8px 5px}.portal-sign strong{font-size:.8rem}.portal-sign small{font-size:.56rem}.portal-orb{width:73px;height:73px;border-radius:26px}.portal-emoji{font-size:2rem}.map-companion{bottom:112px}.map-companion>.pip{width:90px;height:101px}.speech{padding:11px;font-size:.66rem;max-width:174px}.speech strong{font-size:.84rem}.daily-quest{max-width:230px;bottom:125px;padding:10px;gap:7px}.daily-icon{font-size:1.8rem}.daily-quest strong{font-size:.89rem}.daily-quest small{font-size:.52rem}.daily-quest>span>span{font-size:.57rem}.daily-quest>i{display:none}.play-scene,.long-scene,.learn-scene{padding:4px 20px 20px}.play-top{gap:12px}.play-title h1{font-size:1.35rem}.trail-progress{padding:9px 12px;gap:4px}.trail-progress i{width:10px;height:10px;line-height:10px;font-size:.55rem}.trail-progress span{font-size:.64rem}.question-plaque{max-width:475px;padding:14px 20px 10px}.question-equation{font-size:3.3rem}.answer-arena{height:250px}.answer-row{gap:27px;padding:20px 10px}.answer-target{width:115px;height:115px}.answer-number{font-size:2.7rem}.bridge-arena{height:300px}.bridge-target{height:91px}.play-bottom{padding:4px 8px}.division-stage{grid-template-columns:1fr 1fr;gap:15px}.division-parchment{padding:15px 12px}.division-label{font-size:1.1rem}.division-label>span{display:none}.division-guide{padding:16px}.step-instruction h2{font-size:1.65rem}.step-instruction p{font-size:.94rem}.long-answers{gap:7px}.long-answer{font-size:1.6rem;min-height:65px}.guide-companion .pip{width:51px;height:60px}.guide-companion>span{font-size:.68rem}.garden-layout{grid-template-columns:1fr 275px;gap:17px}.garden-bed{gap:19px 12px;padding:17px 12px}.garden-plot{height:92px}.garden-plot .plant-visual{font-size:2.5rem!important}.garden-plot .growth-3{font-size:3rem!important}.garden-plot>small{font-size:.5rem}.garden-scene{padding:10px 20px 25px}.garden-heading h1{font-size:2rem}.garden-heading p{font-size:.78rem}.reward-scene{padding:35px 20px}.reward-pet{margin-right:-40px}.reward-pet .pip{width:150px;height:180px}.reward-card{padding:30px;max-width:550px}.reward-card h1{font-size:2.1rem}.reward-stats{gap:23px}}
@media(max-width:600px){.game-hud{padding:15px 15px;gap:7px}.game-logo{font-size:1.3rem;gap:8px}.game-logo img{width:32px;height:32px}.game-logo small{display:none}.hud-tools{gap:6px}.hud-tools .round-button{height:34px;width:34px;border-radius:12px}.seed-wallet{padding:7px 10px;font-size:.85rem;border-radius:14px}.map-scene{height:calc(100svh - 75px);min-height:730px}.map-title{padding:19px 10px 0}.map-title h1{font-size:1.95rem;margin:10px 0 6px}.map-title p{font-size:.78rem}.small-ribbon{font-size:.53rem;padding:7px 10px}.map-level{top:117px;right:16px}.map-level .difficulty-label{font-size:.55rem;gap:4px}.map-level select{font-size:.7rem;padding:7px 17px 7px 8px;border-radius:10px}.map-worlds{inset:152px 12px 193px}.world-portal{width:132px}.portal-orb{width:68px;height:68px;border-width:3px;border-radius:24px}.portal-sign{min-width:123px;margin-top:9px;border-width:2px;padding:6px 8px}.portal-sign strong{font-size:.84rem}.portal-sign small{font-size:.57rem;margin-top:2px}.portal-stars{margin-top:5px;font-size:.76rem}.portal-orb>b{width:27px;height:27px;font-size:1.2rem;border-radius:9px;right:-6px}.portal-glow{top:48px;width:105px}.map-companion{bottom:102px;left:7%;}.map-companion>.pip{width:76px;height:87px}.speech{display:none}.daily-quest{top:143px;bottom:auto;left:15px;right:auto;width:150px;padding:9px;gap:7px;transform:rotate(-3deg);border-width:2px;border-radius:15px}.daily-icon{font-size:1.6rem}.daily-quest small{font-size:.45rem}.daily-quest strong{font-size:.76rem;margin:3px 0}.daily-quest>span>span{display:none}.play-scene,.long-scene,.learn-scene{padding:4px 14px 20px}.play-top{flex-wrap:wrap;gap:11px;margin-bottom:17px}.play-title h1{font-size:1.25rem}.play-title .eyebrow{font-size:.53rem}.trail-progress{margin-left:auto;gap:4px;padding:9px}.trail-progress i{width:8px;height:8px;font-size:.45rem;line-height:8px}.trail-progress span{font-size:.6rem;margin-left:4px}.play-top>.round-button{width:34px;height:34px}.question-plaque{padding:13px 14px 10px;border-radius:22px;width:100%;max-width:395px}.question-instruction{font-size:.78rem}.question-equation{font-size:2.9rem;gap:14px;line-height:1.5}.question-equation>b{min-width:53px;border-radius:13px;padding:0 12px}.answer-arena{height:360px;max-width:370px}.answer-row{display:grid;grid-template-columns:repeat(2,118px);justify-content:center;align-content:center;gap:38px 54px;padding:25px 15px}.answer-target{width:118px;height:118px;top:0}.choice-1,.choice-3{top:9px}.answer-number{font-size:2.7rem}.answer-target small{font-size:.6rem}.arena-hint{font-size:.66rem;line-height:1.5;bottom:0;padding:0 10px}.ribbon-arena{height:360px}.ribbon-arena .answer-row{gap:32px 59px}.ribbon-target{width:107px;height:107px}.bridge-arena{height:365px}.bridge-arena .answer-row{grid-template-columns:repeat(2,115px);gap:40px 57px;align-content:start;padding-top:20px}.bridge-target{width:115px;height:84px;top:0}.bridge-arena .arena-scenery{inset:30px -10px 15px;transform:rotate(3deg)}.bridge-arena .answer-number{font-size:2.4rem}.hop-trail{left:8%;right:8%;bottom:42px;height:45px}.hop-trail>i{width:22px;height:12px}.hopping-friend .pip{width:46px;height:53px}.bridge-arena .arena-hint{bottom:1px}.game-feedback{margin-top:14px;padding:12px 13px;gap:6px;min-height:75px;border-radius:18px}.game-feedback strong{font-size:1rem}.game-feedback>span{font-size:.75rem}.game-feedback .gold-button{font-size:.88rem;padding:10px 13px;margin-top:5px}.play-bottom{align-items:center;padding:6px 0 0;gap:8px}.small-companion{gap:4px}.small-companion .pip{width:53px;height:62px}.small-companion>span{font-size:.58rem;padding:7px 10px}.game-actions{gap:7px;justify-content:end}.game-actions .soft-button{font-size:.68rem;padding:9px 10px;border-radius:12px}.game-actions .soft-button>svg{width:17px;height:17px}.strategy-card{font-size:.84rem;padding:14px 15px}.long-scene .play-top .trail-progress{width:100%;justify-content:center;order:3;margin-top:3px;padding:8px}.long-scene .trail-progress i{width:12px;height:12px;font-size:.55rem;line-height:12px}.division-stage{grid-template-columns:1fr;gap:16px}.division-parchment{padding:15px 19px;max-width:480px;width:100%;margin:auto}.division-label{font-size:1.2rem}.division-label>span{display:block;font-size:.63rem}.division-board{max-width:310px}.division-svg{max-height:46svh}.division-guide{padding:20px;border-radius:23px}.step-wheel{margin-bottom:19px}.step-wheel>span{font-size:.65rem}.step-instruction h2{font-size:1.9rem;margin:8px 0}.step-instruction p{font-size:1rem}.long-answers{margin:18px 0;gap:13px}.long-answer{font-size:1.9rem;min-height:73px}.long-feedback{font-size:.82rem}.division-guide .game-actions{justify-content:start}.division-guide .game-actions .soft-button{font-size:.8rem}.guide-companion .pip{width:56px;height:65px}.guide-companion>span{font-size:.75rem}.bring-instruction{padding:17px}.bring-instruction .gold-button{font-size:1.1rem}.garden-scene{padding:10px 15px 27px}.garden-heading h1{font-size:1.85rem;max-width:290px;margin:13px auto}.garden-heading p{font-size:.76rem;max-width:330px;margin:auto}.garden-layout{grid-template-columns:1fr;gap:26px;margin-top:23px}.garden-bed{grid-template-columns:repeat(3,1fr);gap:22px 14px;padding:19px 14px 30px}.garden-plot{height:98px}.garden-plot>small{font-size:.56rem}.garden-shop{padding:18px;max-width:440px;margin:auto;width:100%}.seed-catalog{gap:10px}.seed-packet{padding:12px 8px}.seed-packet>span{font-size:2rem}.seed-packet>strong{font-size:.71rem}.seed-packet>small{font-size:.7rem}.shop-note,.garden-message{font-size:.8rem}.garden-tabs button{font-size:.88rem}.reward-scene{padding:25px 14px 30px;display:block}.reward-pet{position:absolute;right:18px;bottom:7px;margin:0}.reward-pet .pip{width:100px;height:110px}.reward-card{padding:28px 18px 55px;border-radius:27px;margin-bottom:35px}.reward-card h1{font-size:2.1rem;max-width:280px;margin:20px auto 15px}.reward-card>p{font-size:.82rem}.reward-stats{gap:20px;margin:25px 0}.reward-stats b{font-size:1.6rem}.reward-stats span{font-size:.65rem}.reward-buttons{gap:12px}.reward-buttons>button{font-size:.92rem}.reward-buttons>.gold-button{width:100%;padding:15px}.rest-note{font-size:.7rem!important;max-width:280px;margin:15px auto 0}.learning-workbench{padding:23px 15px;border-radius:24px}.learning-workbench h1{font-size:1.4rem;line-height:1.35}.learning-model{padding:23px 12px}.counter-group{gap:14px}.counter-bowl .counters{max-width:110px;gap:5px}.counter{width:17px;height:17px}.counter-bowl strong{font-size:.69rem}.lesson-array{grid-template-columns:repeat(var(--columns),22px);gap:7px}.seed-flower{font-size:1.27rem}.sharing-pots{gap:10px}.sharing-pot{min-width:73px;padding:10px 7px;max-width:98px}.sharing-pot .counter{height:13px;width:13px}.sharing-pot strong{font-size:.62rem}.lesson-pip{display:none}.lesson-controls{gap:10px}.lesson-controls>button{font-size:.87rem}.lesson-status{font-size:.77rem}.block-legend{font-size:.66rem}.learn-scene .trail-progress{display:none}dialog{padding:26px 21px;border-radius:24px}.world-intro h2{font-size:1.85rem}.world-intro p{font-size:.84rem}.mode-picker{gap:10px}.mode-option{padding:14px 8px}.mode-option small{font-size:.62rem}.mode-option strong{font-size:1rem}.setting-description{font-size:.81rem}.setting-toggle{font-size:.83rem}.setting-row select{font-size:.85rem}dialog>p{font-size:.86rem}.gold-button{font-size:1rem}}
@media(max-width:360px){.game-logo{font-size:1.13rem}.game-logo img{width:27px;height:27px}.hud-tools{gap:4px}.seed-wallet{padding:6px 8px;font-size:.78rem}.hud-tools .round-button{width:31px;height:31px}.map-title h1{font-size:1.8rem}.portal-sign{min-width:114px}.portal-sign strong{font-size:.78rem}.answer-row{gap:30px 35px}.ribbon-arena .answer-row{gap:35px 50px}.bridge-arena .answer-row{gap:40px 38px}.question-equation{font-size:2.6rem;gap:10px}.play-title h1{font-size:1.1rem}.trail-progress{padding:8px}.trail-progress i{width:6px;height:6px}.small-companion>span{display:none}.play-bottom .game-actions{gap:6px}.long-answer{font-size:1.7rem}}
body[data-motion=off] *,body[data-motion=off] *:before,body[data-motion=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body[data-motion=off] .traveling-digit{display:none}body[data-motion=off] .correct-choice .answer-ribbon{stroke-dashoffset:0}body[data-motion=off] .fireflies{display:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.traveling-digit,.fireflies{display:none}.correct-choice .answer-ribbon{stroke-dashoffset:0}}

@media(min-width:601px) and (max-height:800px){.question-plaque{padding:10px 25px}.question-equation{font-size:3.1rem;line-height:1.3}.answer-arena{height:225px}.bridge-arena{height:265px}.play-top{margin-bottom:13px}.game-feedback{min-height:60px;margin-top:13px;padding:11px 18px}.play-bottom{margin-top:2px}.small-companion .pip{height:65px;width:59px}.game-hud{padding-top:18px;padding-bottom:18px}}
.traveling-digit{pointer-events:none}

/* Six destinations, always read left to right in three rows of two. */
.map-scene { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,480px) minmax(0,1fr); grid-template-rows:auto auto; gap:24px 24px; height:auto; min-height:calc(100svh - 99px); max-height:none; max-width:1200px; padding:6px 26px 32px; }
.map-title { position:relative; inset:auto; grid-column:1 / -1; grid-row:1; margin:0; }
.map-level { top:20px; right:26px; }
.map-worlds { position:relative; inset:auto; grid-column:2; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(3,auto); gap:22px 32px; align-items:start; justify-items:center; width:100%; height:auto; max-width:none; margin:0; }
.world-portal { position:relative; left:auto; top:auto; width:166px; }
.portal-orb { width:82px; height:82px; border-radius:29px; }
.portal-emoji { font-size:2.3rem; }
.portal-sign { margin-top:11px; padding:8px 10px; }
.portal-sign strong { font-size:.95rem; }
.portal-long { grid-column:auto; }
.garden-progress { display:block; min-height:19px; margin-top:7px; padding:2px 8px; border-radius:9px; background:#fff7dfe8; color:#527544; font-size:.62rem; font-weight:700; }
.portal-garden .portal-orb>b { font-size:1.1rem; }
.map-companion { position:relative; inset:auto; grid-column:1; grid-row:2; align-self:end; justify-self:start; display:flex; flex-direction:column; align-items:center; width:100%; max-width:220px; margin-bottom:12px; }
.map-companion>.pip { width:110px; height:125px; }
.map-companion .speech { max-width:100%; margin:8px 0 0; padding:14px; text-align:center; border-radius:20px; }
.map-companion .speech strong { font-size:.97rem; }
.daily-quest { position:relative; inset:auto; grid-column:3; grid-row:2; align-self:center; justify-self:end; width:100%; max-width:250px; transform:none; padding:13px; gap:10px; }
.daily-icon { font-size:2rem; }
.daily-quest strong { font-size:1rem; }
.daily-quest>span>span { display:block; font-size:.62rem; }
.daily-quest i { display:block; }
@media (min-width:1001px) and (max-height:800px) {
  .map-scene { padding-top:2px; padding-bottom:20px; row-gap:18px; }
  .map-title h1 { font-size:2.1rem; margin:9px 0 5px; }
  .map-worlds { row-gap:18px; }
  .portal-orb { width:68px; height:68px; border-radius:24px; }
  .portal-emoji { font-size:2rem; }
  .portal-sign { min-width:155px; margin-top:9px; padding:6px 9px; line-height:1.1; }
  .portal-sign strong { font-size:.9rem; }
  .portal-stars { margin-top:5px; line-height:1; }
  .garden-progress { margin-top:5px; }
}
@media (max-width:1000px) {
  .map-scene { display:flex; flex-direction:column; gap:0; padding:12px 16px 28px; min-height:calc(100svh - 85px); }
  .map-title { order:0; }
  .map-level { position:relative; inset:auto; order:1; align-self:center; margin:14px 0; }
  .map-level .difficulty-label { text-align:center; }
  .daily-quest { order:2; align-self:center; max-width:390px; margin:4px 0 28px; }
  .map-worlds { order:3; max-width:480px; margin:0 auto; gap:24px 24px; }
  .map-companion { display:none; }
}
@media (max-width:600px) {
  .map-scene { padding:12px 13px 25px; }
  .map-title h1 { margin:12px 0 5px; }
  .map-level { margin:10px 0 14px; }
  .daily-quest { max-width:350px; padding:13px 15px; }
  .map-worlds { max-width:390px; gap:25px 10px; }
  .world-portal { width:145px; }
  .portal-orb { width:68px; height:68px; border-radius:24px; }
  .portal-emoji { font-size:2rem; }
  .portal-sign { padding:6px 8px; margin-top:9px; }
  .portal-sign strong { font-size:.84rem; }
  .garden-progress { margin-top:5px; font-size:.57rem; }
}

/* A small pop gives feedback without moving a destination out from under a pointer. */
.world-portal { --portal-position:translate(0,0); transform:var(--portal-position); transition:transform 160ms ease,filter 160ms ease; }
.world-portal:hover:not(:disabled),.world-portal:focus-visible { transform:var(--portal-position) scale(1.035); filter:brightness(1.025); }
.world-portal:active:not(:disabled) { transform:var(--portal-position) scale(1.015); }
.map-scene button:not(.world-portal):hover:not(:disabled) { transform:scale(1.025); }
.map-scene button:not(.world-portal):active:not(:disabled) { transform:scale(.99); }
