@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#283d36;background:#faf7ee;font-synthesis:none;--ink:#283d36;--muted:#69736a;--accent:#287765;--soft:#e5efdf;--line:#e1e3d6;--vh:100dvh}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,a{-webkit-touch-callout:none;touch-action:manipulation}button{font:inherit;cursor:pointer;border:0;color:inherit}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #246bcc;outline-offset:4px}button:not(:disabled):active{transform:translateY(2px)}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Fredoka','Trebuchet MS',sans-serif;font-weight:500;letter-spacing:-.035em}h1{font-size:clamp(2.3rem,4vw,3.9rem);line-height:1.04}h2{font-size:2rem;line-height:1.1}p{line-height:1.55}button{transition:background .16s,transform .16s}.home,.game-shell{max-width:1440px;margin:auto;padding:22px 5vw max(20px,env(safe-area-inset-bottom));min-height:100svh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.home-link{display:flex;align-items:center;gap:9px;font-weight:700;min-height:44px;font-size:.95rem}.home .home-link{visibility:hidden}.tiny-label,.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.14em;line-height:1.5}.tiny-label{text-transform:uppercase;color:var(--muted)}.tools{display:flex;gap:9px}.icon-button{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:#fffdf5;position:relative}.icon-button:hover{background:#eeeadd}.medal-count{position:absolute;right:-3px;top:-3px;background:var(--ink);color:#fff;font-size:.65rem;border-radius:10px;min-width:18px;height:18px;line-height:18px}.home-intro{position:relative;padding:27px 0 34px}.home-intro .eyebrow{color:var(--accent)}.home-intro h1{font-size:clamp(3rem,5vw,4.6rem);margin:12px 0 16px;line-height:1.02}.sun-dot{color:#d89c38}.home-intro p{color:var(--muted);font-size:1.05rem}.doodle{position:absolute;right:12%;top:45px;color:#e8b75b;font-size:115px;transform:rotate(12deg);font-family:serif}.game-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.game-card{border:1px solid #dddcd0;border-radius:24px;overflow:hidden;background:#fffdf7;transition:transform .2s,box-shadow .2s;display:block}.game-card:hover{transform:translateY(-5px);box-shadow:0 16px 28px #3d4a3110}.card-scene{height:220px;position:relative;background:#dcebcf;display:grid;place-items:center;overflow:hidden}.garden .card-scene{background:#e9e2f1}.pizza .card-scene{background:#f6dfc9}.world-no{position:absolute;top:20px;left:24px;font-size:.68rem;font-weight:700;letter-spacing:.13em;opacity:.6}.card-scene>svg{width:190px;height:175px;z-index:1;margin-top:10px;transition:transform .3s}.game-card:hover .card-scene>svg{transform:rotate(-4deg) scale(1.04)}.scene-ground{position:absolute;width:360px;height:140px;border-radius:50%;background:#ffffff40;bottom:-94px}.scene-spark{position:absolute;color:#659166;font-size:30px}.spark-one{left:18%;top:42%}.spark-two{right:15%;top:20%;font-size:22px}.garden .scene-spark{color:#9680b5}.pizza .scene-spark{color:#c99151}.card-copy{padding:23px 25px 18px}.card-copy>.eyebrow{color:var(--muted);font-size:.65rem}.card-copy h2{margin:8px 0 11px;font-size:2rem}.card-copy p{font-size:.95rem;color:var(--muted);min-height:49px}.card-bottom{margin-top:25px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--muted)}.play-circle{width:38px;height:38px;border-radius:50%;background:#e6efdc;color:#287765;display:grid;place-items:center}.garden .play-circle{background:#eee7f5;color:#7962a0}.pizza .play-circle{background:#fae9d9;color:#b76346}.home-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px;font-size:.8rem;color:var(--muted)}.home-footer a{display:flex;gap:7px;align-items:center;font-weight:700;min-height:44px}.home-footer .icon{width:17px}.garden{--accent:#77639f;--soft:#ece6f3}.pizza{--accent:#b8543c;--soft:#f9e6d6}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 0 22px}.game-heading .eyebrow{color:var(--muted);font-size:.64rem}.game-heading h1{margin-top:5px;font-size:2.9rem}.title-dot{color:var(--accent)}.star-progress{display:flex;gap:7px}.star-progress>span{width:32px;height:32px;display:block}.star-progress svg{width:100%;height:100%;fill:#e6e4d7;stroke:#d7d4c5;stroke-width:1}.star-progress .earned svg{fill:#efbb53;stroke:#cf9737;animation:star-pop .3s ease-out}.play-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:28px;align-items:start}.level-tabs{display:flex;padding:5px;background:#eeece2;border-radius:14px;gap:3px}.level-tabs button{flex:1;min-height:40px;border-radius:10px;background:transparent;font-size:.8rem;font-weight:700}.level-tabs button[aria-pressed=true]{background:#fffdf6;color:var(--accent);box-shadow:0 2px 5px #3c3b2910}.level-note{font-size:.72rem;color:var(--muted);margin:8px 3px 17px}.mission-card{background:#fffdf7;border:1px solid #e0dfd3;border-radius:22px;padding:23px}.mission-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.mission-top>.eyebrow{font-size:.65rem;color:var(--accent)}.read-button{width:40px;height:40px;flex:0 0 40px}.mission-card h2{font-size:2.1rem}.mission-card p{font-size:1rem;color:var(--muted);margin-top:14px}.challenge-equation{font-family:'Fredoka',sans-serif;font-size:2rem;font-weight:500;background:var(--soft);border-radius:14px;text-align:center;padding:18px 5px;margin-top:22px;color:var(--accent)}.round-number{display:block;margin-top:18px;font-size:.74rem;text-align:center;color:var(--muted)}.mission-links{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.mission-links button{background:transparent;min-height:44px;display:flex;align-items:center;gap:6px;font-size:.79rem;font-weight:600;padding:5px 0}.mission-links .icon{width:18px}.guide{background:var(--soft);border-radius:16px;padding:18px;margin-top:14px;color:var(--ink);font-size:.9rem}.guide strong{display:block;margin-bottom:8px}.guide p+p{margin-top:10px}.mini-equation{font-family:'Fredoka',sans-serif;font-size:1.3rem;line-height:1.4;background:#ffffff65;border-radius:10px;padding:10px;text-align:center;margin:10px 0}.play-side{min-width:0}.world{border-radius:24px;overflow:hidden;position:relative;min-height:450px}.world-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:21px 25px 0;font-size:.7rem;font-weight:700;letter-spacing:.1em}.world-caption>span:last-child{letter-spacing:0;font-weight:500}.pond{background:#e0eddc}.pond-scenery{height:195px;position:relative;background:linear-gradient(180deg,transparent 57%,#cee4d9 58%);overflow:hidden}.frog-island{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:155px;z-index:2}.frog-island .frog-art{width:100%;display:block}.frog-number{position:absolute;right:-24px;top:10px;background:#fffdf3;border:1px solid #bfd2b6;border-radius:14px 14px 14px 2px;padding:7px 14px;font-weight:700;font-family:'Fredoka',sans-serif;font-size:1.8rem}.cloud{position:absolute;background:#fffdf2;opacity:.75;width:65px;height:16px;border-radius:30px}.cloud:before{content:'';position:absolute;width:25px;height:25px;background:inherit;border-radius:50%;left:15px;bottom:3px}.cloud-one{left:14%;top:60px}.cloud-two{right:15%;top:77px;transform:scale(.7)}.sun{position:absolute;width:40px;height:40px;border-radius:50%;background:#ebc776;right:19%;top:23px}.reeds{position:absolute;width:5px;height:35px;background:#75a97b;bottom:18px;border-radius:4px;box-shadow:9px 8px #85b080,18px -9px #8cb480,-9px -7px #8cb480}.reeds-one{left:8%}.reeds-two{right:8%;transform:scale(.85)}.water-ring{border:2px solid #b6d3c3;border-radius:50%;position:absolute;width:70px;height:15px;bottom:20px;left:20%}.ring-two{left:auto;right:23%;bottom:45px;width:45px}.ring-three{left:12%;bottom:60px;width:25px}.number-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a4c4aa transparent;padding:0 16px 4px;background:#cee4d9}.number-line{display:flex;gap:5px;min-width:max-content;padding:10px 2px 3px}.number-stop{width:46px;min-height:77px;flex-shrink:0;display:flex;align-items:center;flex-direction:column;position:relative;color:#315c46}.lily{width:38px;height:25px;background:#b0cbb0;border-radius:50%;display:block;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 50%,40% 50%)}.number-stop b{margin-top:5px;font-size:.9rem;font-weight:600}.number-stop small{font-size:.65rem;line-height:1.2}.number-stop.current .lily{background:#397b55;box-shadow:0 0 0 3px #fff}.number-stop.current b{background:#285f47;color:#fff;border-radius:20px;min-width:25px;text-align:center}.number-stop.origin:not(.current) b{text-decoration:underline;text-underline-offset:3px}.hop-history{min-height:44px;display:flex;justify-content:center;align-items:center;gap:5px;padding:6px 10px;font-size:.75rem;color:#567561;text-align:center}.hop-history span{padding:3px 9px;background:#ffffff70;border-radius:12px}.hop-controls{display:flex;justify-content:space-evenly;gap:12px;padding:0 22px 23px}.hop-controls>div>span{display:block;font-size:.72rem;color:#53715b;text-align:center;margin-bottom:8px}.hop-controls>div>div{display:flex;gap:7px}.hop-controls button{width:58px;min-height:45px;background:#fffdf4;border-radius:12px;border-bottom:3px solid #b7cdb4;font-family:'Fredoka',sans-serif;font-size:1.2rem}.hop-controls button:hover:not(:disabled){background:#f0f7df}.answer-bar{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:19px 4px 0;min-height:94px}.answer-bar>div{min-width:0}.answer-bar strong{display:flex;align-items:center;font-size:1rem;gap:8px;margin-bottom:5px}.answer-bar strong svg{width:21px;height:21px;fill:#e9b64a}.answer-bar span{color:var(--muted);font-size:.86rem;line-height:1.5;display:block}.primary,.secondary{border-radius:14px;padding:14px 22px;min-height:48px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;gap:13px;white-space:nowrap}.primary{background:var(--accent);color:#fff;box-shadow:0 3px 0 color-mix(in srgb,var(--accent),#000 20%)}.primary:hover{filter:brightness(1.08)}.secondary{background:#eeece1;color:var(--ink)}.answer-bar.success strong{color:var(--accent)}.garden-world{background:#e9e3ef}.garden-scene{display:flex;justify-content:center;align-items:center;gap:12px;padding:23px 25px 0}.garden-buddy{width:130px;flex-shrink:1;text-align:center;align-self:center}.garden-buddy svg{width:100%}.garden-buddy>span{display:inline-block;font-family:'Fredoka',sans-serif;background:#fffaf2;border-radius:12px;padding:7px 14px;font-size:1rem;transform:rotate(-5deg)}.garden-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-width:328px;width:100%;padding:11px;background:#c7baa5;border:4px solid #ab947b;border-radius:15px;box-shadow:0 5px 0 #97826c}.soil{display:grid;place-items:center;aspect-ratio:1;min-width:0;width:100%;padding:0;background:#9f846b;border-radius:7px;box-shadow:inset 0 2px 0 #856e5825}.soil:disabled{opacity:1}.soil.planted{background:#8d7c56}.seed-dot{width:5px;height:5px;background:#ceb395;border-radius:50%}.flower{position:relative;width:30px;height:32px;display:block;animation:grow .25s ease-out}.flower:after{content:'';position:absolute;left:14px;top:12px;width:3px;height:21px;background:#91b979;border-radius:3px}.flower>i{position:absolute;top:1px;left:9px;width:13px;height:13px;background:#f7d575;border-radius:50%;box-shadow:-6px 3px #e9ac68,6px 3px #e9ac68,0 9px #e9ac68;z-index:2}.flower>b{position:absolute;left:2px;bottom:2px;width:14px;height:8px;border-radius:0 10px 0 10px;background:#95bc7a;z-index:1}.world-instruction{font-size:.78rem;text-align:center;color:#665b70;margin:16px 15px 10px}.garden-adjust{display:flex;gap:30px;justify-content:center}.garden-adjust>div>span{font-size:.72rem;text-align:center;display:block;margin-bottom:6px}.stepper{display:flex;gap:5px;align-items:center;background:#fffcf280;border-radius:12px}.stepper button{background:#fffdf6;width:44px;height:42px;border-radius:12px;font-size:1.2rem}.stepper b{min-width:28px;text-align:center;font-size:1rem}.live-math{text-align:center;font-size:.95rem;padding:13px 8px 18px;color:#67567f}.pizza-world{background:#f5e3d0}.pizza-table{position:relative;width:100%;max-width:400px;margin:9px auto 0;display:flex;justify-content:center;background:repeating-linear-gradient(0deg,transparent,transparent 33px,#ffffff25 33px,#ffffff25 66px),repeating-linear-gradient(90deg,transparent,transparent 33px,#ffffff25 33px,#ffffff25 66px);border-radius:50%}.pizza-board{display:block;width:300px;height:300px;position:relative;z-index:1;overflow:visible}.pizza-slice{cursor:pointer;touch-action:manipulation}.pizza-slice:focus-visible{outline:none}.pizza-slice:focus-visible>path:first-child{stroke:#285bd1;stroke-width:5}.pizza-slice:hover>path{filter:brightness(.97)}.pizza-slice.selected>path:first-child{animation:star-pop .2s}.pizza-slice[aria-disabled=true]{cursor:default}.table-leaf{width:35px;height:60px;background:#86a979;position:absolute;border-radius:100% 0 100% 0;left:0;top:40px;transform:rotate(-35deg)}.leaf-b{left:auto;right:0;top:auto;bottom:35px;transform:rotate(50deg)}.pizza-counter{display:flex;justify-content:center;align-items:center;gap:15px;padding-top:0}.fraction{display:flex;flex-direction:column;align-items:stretch;text-align:center;font-family:'Fredoka',sans-serif;font-size:1.65rem;color:#ae593c;line-height:1.05;width:37px}.fraction>b{font-weight:500;padding:3px}.fraction>b:first-child{border-bottom:2px solid #bd7854}.pizza-counter strong{display:block;font-size:.95rem;margin-bottom:4px}.pizza-counter>div>span{font-size:.8rem;color:#8d735e}.pizza-world .world-instruction{color:#8d735e;margin-bottom:22px}.fraction-guide{display:flex;gap:3px;height:26px;margin:12px 0}.fraction-guide span{flex:1;background:#fff7eb;border:1px solid #dab896;border-radius:4px}.fraction-guide .filled{background:#e8aa5c}.finish{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(100svh - 100px);padding:30px 10px;gap:20px;overflow:hidden}.big-medal{width:115px;height:115px;border-radius:50%;background:#f5e4b9;border:6px solid #edd195;display:grid;place-items:center;box-shadow:0 5px 0 #d9b869;color:#a67822;animation:grow .5s}.big-medal .icon{width:67px;height:67px}.finish>.eyebrow{margin-top:10px;color:var(--accent)}.finish h1{font-size:clamp(2.6rem,5vw,4rem)}.finish p{color:var(--muted)}.finish-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:480px;margin-top:10px}.text-link{width:100%;padding:14px;text-decoration:underline;text-underline-offset:5px;font-size:.9rem}.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.confetti i{position:absolute;left:calc(var(--i)*6.2%);top:-20px;background:var(--color);width:8px;height:13px;border-radius:2px;animation:fall 1.4s calc(var(--i)*.026s) ease-in both}.medals-dialog{border:1px solid #dbd9cc;border-radius:26px;background:#fffaf0;color:var(--ink);padding:30px;max-width:570px;width:calc(100% - 30px);max-height:90dvh;overflow:auto}.medals-dialog::backdrop{background:#213b3455;backdrop-filter:blur(4px)}.dialog-close{float:right;padding:9px 16px;min-height:42px}.medals-dialog>.eyebrow{display:block;padding-top:10px}.medals-dialog h2{clear:both;font-size:2.5rem;margin:25px 0 15px}.medals-dialog>p{color:var(--muted);font-size:.95rem}.medal-grid section{margin-top:25px}.medal-grid h3{font-size:1.3rem;margin-bottom:15px}.medal-grid section>div{display:flex;gap:10px}.medal-item{flex:1;border-radius:15px;background:#eeece5;text-align:center;display:flex;align-items:center;flex-direction:column;padding:12px 5px;color:#898c80;gap:6px}.medal-item .icon{height:38px;width:38px}.medal-item b{font-size:.8rem}.medal-item small{font-size:.65rem}.medal-item.unlocked{background:#f8e8ba;color:#91661e}@keyframes star-pop{from{transform:scale(.8)}to{transform:scale(1)}}@keyframes grow{from{transform:scale(.5) translateY(5px);opacity:.3}to{transform:scale(1);opacity:1}}@keyframes fall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}@media(min-width:1200px){.game-shell{padding-left:6vw;padding-right:6vw}.play-layout{gap:40px}.world{min-height:480px}.pond-scenery{height:220px}.garden-scene{padding-top:30px}.garden-grid{max-width:340px}.garden-buddy{width:160px}.pizza-board{width:315px;height:315px}.pizza-table{margin-top:18px}}@media(max-width:950px){.home,.game-shell{padding-left:25px;padding-right:25px}.game-cards{gap:16px}.card-copy{padding:20px}.card-copy h2{font-size:1.75rem}.card-scene{height:190px}.card-scene>svg{width:160px}.play-layout{grid-template-columns:250px minmax(0,1fr);gap:20px}.garden-buddy{display:none}.garden-grid{max-width:310px}.hop-controls{padding-left:10px;padding-right:10px;gap:10px}.hop-controls button{width:46px}.answer-bar{align-items:stretch}.answer-bar .primary{padding:12px 18px}.game-heading h1{font-size:2.6rem}}
@media(max-width:680px){.home,.game-shell{padding:12px 16px max(24px,env(safe-area-inset-bottom))}.topbar{min-height:44px}.tiny-label{display:none}.home .tiny-label{display:block}.home .home-link{display:none}.home-intro{padding:23px 0}.home-intro h1{font-size:3.3rem}.home-intro .eyebrow{font-size:.61rem}.home-intro p{font-size:.9rem;max-width:235px}.doodle{right:0;top:70px;font-size:65px}.game-cards{grid-template-columns:1fr;gap:16px}.game-card{display:grid;grid-template-columns:34% 1fr;border-radius:21px;min-height:192px}.card-scene{height:100%;min-height:192px}.card-scene>svg{width:120px;max-width:105%;height:140px}.world-no{left:15px;top:16px;font-size:.55rem}.spark-one{left:6%;top:68%;font-size:18px}.spark-two{right:8%;top:25%;font-size:17px}.card-copy{padding:18px 18px 12px}.card-copy>.eyebrow{font-size:.58rem;letter-spacing:.08em}.card-copy h2{font-size:1.8rem;margin:5px 0 8px}.card-copy p{font-size:.8rem;line-height:1.4;min-height:0}.card-bottom{margin-top:12px;padding-top:9px;font-size:.67rem}.play-circle{height:28px;width:28px}.play-circle .icon{width:17px}.home-footer{margin-top:18px;align-items:start;flex-direction:column;gap:4px;font-size:.73rem}.game-heading{padding:17px 0 15px}.game-heading .eyebrow{font-size:.56rem;letter-spacing:.1em}.game-heading h1{font-size:2.2rem}.star-progress{gap:3px}.star-progress>span{width:23px;height:23px}.play-layout{display:flex;flex-direction:column;gap:14px}.mission{width:100%}.level-tabs{padding:4px}.level-tabs button{min-height:36px}.level-note{font-size:.65rem;margin:4px 3px 9px}.mission-card{padding:15px 17px;border-radius:18px;position:relative}.mission-top{margin-bottom:4px;min-height:23px;padding-right:35px}.mission-top .eyebrow{font-size:.59rem}.read-button{position:absolute;top:11px;right:12px;width:36px;height:36px}.mission-card h2{font-size:1.65rem;max-width:85%}.mission-card p{font-size:.9rem;margin-top:6px}.challenge-equation{font-size:1.35rem;margin-top:12px;padding:10px;width:calc(100% - 112px)}.round-number{position:absolute;right:18px;bottom:24px;margin:0;font-size:.68rem}.mission-links{margin-top:5px}.mission-links button{min-height:36px;font-size:.75rem}.play-side{width:100%}.world{border-radius:20px;min-height:0}.world-caption{padding:15px 18px 0;font-size:.62rem}.pond-scenery{height:146px}.frog-island{width:115px;bottom:2px}.frog-number{font-size:1.4rem;right:-26px}.cloud-one{top:40px}.cloud-two{top:45px}.sun{width:30px;height:30px;top:18px}.number-line{padding-top:5px}.number-stop{min-height:68px}.number-scroll{padding-left:9px;padding-right:9px}.hop-history{font-size:.68rem;min-height:36px}.hop-controls{padding:0 12px 17px;justify-content:space-between}.hop-controls button{width:43px;min-height:44px;font-size:1.1rem}.hop-controls>div>div{gap:6px}.hop-controls>div>span{font-size:.68rem;margin-bottom:6px}.answer-bar{padding:15px 1px 6px;gap:10px;align-items:center}.answer-bar strong{font-size:.9rem}.answer-bar span{font-size:.75rem}.answer-bar .primary{font-size:.85rem;padding:13px 16px;gap:6px}.answer-bar.success{flex-direction:column;align-items:stretch;background:#f0f0e4;border-radius:16px;padding:15px;margin-top:13px}.answer-bar.success .primary{margin-top:4px}.garden-scene{padding:17px 14px 0}.garden-grid{width:100%;max-width:310px;gap:3px;padding:8px;border-width:3px}.world-instruction{font-size:.72rem;margin-top:12px}.garden-adjust{gap:22px}.stepper button{height:44px}.live-math{padding-bottom:15px;font-size:.9rem}.pizza-board{width:260px;height:260px}.pizza-table{max-width:325px;margin-top:4px}.pizza-counter{gap:12px}.fraction{font-size:1.5rem}.pizza-world .world-instruction{margin-bottom:17px}.guide{font-size:.85rem;padding:15px}.finish{min-height:calc(100svh - 80px);gap:18px}.finish-actions{flex-direction:column;width:100%;max-width:320px}.medals-dialog{padding:22px}.medals-dialog h2{font-size:2.1rem}}
@media(max-width:355px){.home,.game-shell{padding-left:10px;padding-right:10px}.hop-controls button{width:40px}.hop-controls>div>div{gap:4px}.game-heading h1{font-size:2rem}.star-progress>span{width:20px}.card-copy{padding-left:13px;padding-right:13px}.card-copy h2{font-size:1.55rem}.card-copy p{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.confetti{display:none}}
/* Keep the game and its answer controls together on shorter screens. */
@media(min-width:681px) and (max-height:800px){.game-shell{padding-top:12px;padding-bottom:16px}.game-heading{padding:12px 0 15px}.game-heading h1{font-size:2.25rem}.world{min-height:0}.pond-scenery{height:135px}.frog-island{width:120px}.hop-controls{padding-bottom:17px}.garden-scene{padding-top:15px}.garden-grid{max-width:270px}.garden-buddy{width:120px}.garden-adjust{gap:20px}.world-instruction{margin:10px 12px 8px}.live-math{padding:9px 5px 12px}.pizza-board{width:260px;height:260px}.pizza-table{margin-top:5px}.world-caption{padding-top:15px}.pizza-world .world-instruction{margin-bottom:14px}.answer-bar{padding-top:13px;min-height:75px}}
@media(max-width:680px){.game-heading{padding:10px 0 12px}.game-heading h1{font-size:2rem}.level-note{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%)}.level-tabs{margin-bottom:10px}.mission-card{padding:12px 15px}.mission-card h2{font-size:1.5rem}.mission-card p{margin-top:4px;font-size:.86rem}.mission-top{margin-bottom:2px;min-height:20px}.challenge-equation{margin-top:9px;padding:7px 4px;font-size:1.25rem}.round-number{bottom:20px}.mission-links{margin-top:2px}.play-layout{gap:7px}.pizza-board{width:230px;height:230px}.pizza-counter .fraction{font-size:1.3rem}.pizza-world .world-instruction{margin-top:9px;margin-bottom:13px}.garden-adjust{display:none}.garden-grid{max-width:302px}.garden-world .world-instruction{margin-bottom:3px}.live-math{padding-top:6px}.answer-bar{min-height:74px;padding-top:12px}.pond-scenery{height:132px}}
@media(max-width:680px){.answer-bar{position:sticky;bottom:0;z-index:5;background:#faf7eef5;backdrop-filter:blur(8px);border-radius:14px;padding:12px 10px max(12px,env(safe-area-inset-bottom));box-shadow:0 -5px 15px #283d3608}.garden-buddy{display:block;position:absolute;width:54px;right:9px;top:1px;pointer-events:none}.garden-buddy>span{display:none}.garden-world .world-caption{padding-right:70px}}
.how-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#fffdf3b3;border-radius:12px;padding:8px 10px;min-height:40px;font-size:.8rem;font-weight:600;letter-spacing:0;white-space:nowrap}.how-button .icon{width:18px;height:18px}.world-caption{padding-top:12px}.how-dialog{border:1px solid #dedbcd;border-radius:24px;padding:26px;max-width:480px;width:calc(100% - 28px);max-height:90dvh;overflow:auto;background:#fffaf0;color:var(--ink)}.how-dialog::backdrop{background:#213b3460;backdrop-filter:blur(4px)}.how-dialog h2{margin:8px 0 18px;font-size:2.25rem}.how-dialog ol{padding-left:24px;margin:0 0 20px;line-height:1.5;font-size:1rem}.how-dialog li{padding-left:5px;margin-bottom:12px}.how-dialog li::marker{font-weight:700;color:var(--accent)}.how-example{padding:17px;border-radius:16px;background:var(--soft);margin-bottom:20px}.how-example>.eyebrow{font-size:.7rem}.how-example p{font-size:.95rem;margin-top:12px}.how-dialog>.primary{width:100%;white-space:normal}.hop-demo{display:flex;align-items:center;justify-content:center;gap:9px;margin:20px 0 10px}.hop-demo>b{background:#397b55;color:white;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.hop-demo>span{font-size:.85rem;font-weight:700}.array-demo{display:grid;grid-template-columns:repeat(4,36px);gap:5px;justify-content:center;margin:18px 0}.array-demo>span{height:36px;display:grid;place-items:center;background:#b69b7e;border-radius:7px;color:#d9c5a7}.array-demo>.filled{background:#85704c;color:#ffd37e;font-size:1.5rem}.array-demo>.tap-here{outline:3px solid #564493;outline-offset:1px;background:#ffdf94;color:#283d36}.share-demo{width:115px;height:115px;border:7px solid #c08d4b;border-radius:50%;margin:18px auto;background:linear-gradient(0deg,transparent calc(50% - 1px),#fff7ea calc(50% - 1px),#fff7ea calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(90deg,#edac51 calc(50% - 1px),#fff7ea calc(50% - 1px),#fff7ea calc(50% + 1px),#fff0c6 calc(50% + 1px))}
@media(max-width:680px){.how-button{font-size:.75rem;padding:6px 8px;min-height:36px;gap:4px}.world-caption{padding-top:9px;padding-left:14px;padding-right:14px}.garden-world .world-caption{padding-right:65px}.answer-bar .primary{font-size:.8rem;padding-left:12px;padding-right:12px}.answer-bar .primary .icon{width:17px}.how-dialog{padding:22px}.how-dialog h2{font-size:2rem}.how-example{padding:14px}.world-instruction{line-height:1.4}}
/* Three new worlds share the same touch controls and calm, readable play space. */
.train{--accent:#966b29;--soft:#f4e8c8}.clock{--accent:#397b9c;--soft:#dfedf0}.shapes{--accent:#a45576;--soft:#f2e0e8}
.train .card-scene,.train-world{background:#f0e3bd}.clock .card-scene,.clock-world{background:#dcecf0}.shapes .card-scene,.shapes-world{background:#f0dee5}
.train .play-circle,.clock .play-circle,.shapes .play-circle{background:var(--soft);color:var(--accent)}
.train-track{display:flex;gap:15px;align-items:stretch;margin:25px 25px 20px;padding-bottom:19px;border-bottom:7px double #b69d72}
.wagon{flex:1;min-width:0;position:relative;border:3px solid #b49a61;border-radius:15px;background:#fffaf0;box-shadow:0 7px 0 #c3a675}
.wagon:before,.wagon:after{content:'';position:absolute;bottom:-16px;width:19px;height:19px;background:#746d55;border:4px solid #ece4ce;border-radius:50%}.wagon:before{left:12px}.wagon:after{right:12px}
.wagon-label{display:block;padding:12px 4px 9px;text-align:center;text-transform:capitalize;font-weight:700}.wagon-label small{display:block;font-weight:500;font-size:.75rem;color:#847458;margin-top:4px}
.cargo{height:166px;overflow:auto;display:flex;flex-wrap:wrap;align-content:start;justify-content:center;gap:5px;padding:8px}.empty-cargo{font-size:.8rem;color:#8f8570;margin:auto}
.base-block{display:grid;flex:none;border:1px solid #976e31;animation:grow .18s}.base-block.ones{width:14px;height:14px;background:#d6a550}.base-block.tens{width:11px;height:90px;grid-template-rows:repeat(10,1fr);background:#d6a550}.base-block.hundreds{width:47px;height:47px;grid-template-columns:repeat(10,1fr);background:#8aafa0;border-color:#4d7e6d}.base-block b{border:1px solid #fff7d560;border-width:0 1px 1px 0}
.wagon-controls{display:flex;align-items:center;justify-content:space-around;border-top:1px solid #e9dfc5;padding:8px 2px;gap:2px}.wagon-controls button{min-width:44px;min-height:44px;border-radius:10px;background:#f1e7cf;font-size:1.4rem}.wagon-controls b{font-size:1.15rem}
.trade-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0 12px}.trade-buttons button{border-radius:12px;padding:12px;min-height:44px;background:#fff9e9;border:1px solid #c7ac75;font-size:.83rem}.cargo-total{text-align:center;font-family:'Fredoka',sans-serif;font-size:1.8rem;padding:15px 10px 22px;color:#846026}
.clock-stage{position:relative;max-width:310px;margin:4px auto 8px}.teaching-clock{display:block;width:100%;height:auto}.clock-digital{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);font-family:'Fredoka',sans-serif;font-size:1.25rem;background:#e8f0ed;border-radius:7px;padding:3px 12px;color:#3f697d}.clock-controls{display:flex;gap:22px;justify-content:center;padding:0 14px}.clock-controls>div>span{display:block;text-align:center;font-size:.74rem;margin-bottom:8px;color:#4a7281}.clock-controls>div>div{display:flex;gap:7px}.clock-controls button{min-height:46px;padding:8px 14px;border-radius:12px;background:#fffaf0;border-bottom:3px solid #b6d2d7;font-weight:700}.clock-world .world-instruction{color:#50727c;margin-bottom:20px}
.shape-board{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:8px 25px}.shape-tile{position:relative;display:flex;flex-direction:column;align-items:center;background:#fff9ef;border:3px solid transparent;border-radius:16px;padding:8px 4px 12px;min-height:145px;box-shadow:0 3px 0 #c5acb4}.shape-tile svg{width:88px;height:88px;fill:var(--shape-color);stroke:#665365;stroke-width:1.3}.shape-tile>span{font-size:.8rem;font-weight:600}.shape-tile>b{position:absolute;right:7px;top:6px;border:1px solid #d4c0c5;width:22px;height:22px;border-radius:50%;font-size:.9rem;color:#947488}.shape-tile.chosen{border-color:#986082;background:#fff1f7}.shape-tile.chosen>b{background:#986082;color:white;border-color:#986082}.shape-tile:disabled{opacity:1}.shape-count{text-align:center;padding:13px;font-weight:600;color:#875b74}.shapes .challenge-equation{font-size:1.35rem}.medal-grid{padding-bottom:8px}
@media(max-width:680px){.train-track{margin:15px 12px 15px;gap:8px}.wagon{border-width:2px;border-radius:12px}.wagon-label{font-size:.83rem;padding:9px 2px 4px}.wagon-label small{font-size:.64rem}.cargo{height:125px;padding:6px 3px;gap:3px}.base-block.ones{width:12px;height:12px}.base-block.tens{height:70px;width:9px}.base-block.hundreds{width:36px;height:36px}.wagon-controls button{min-width:30px;width:36px;min-height:44px;padding:0}.wagon-controls b{font-size:.95rem}.cargo-total{font-size:1.45rem;padding:11px 8px 16px}.clock-stage{max-width:235px;margin:0 auto 5px}.clock-digital{bottom:29px;font-size:1rem;padding:2px 10px}.clock-controls{gap:12px}.clock-controls button{padding:8px 11px;font-size:.83rem}.clock-controls>div>span{font-size:.65rem}.shape-board{gap:9px;padding:7px 13px}.shape-tile{min-height:112px;padding-bottom:9px}.shape-tile svg{width:70px;height:70px}.shape-tile>span{font-size:.7rem}.shape-tile>b{width:19px;height:19px;right:3px;top:3px}.shape-count{padding:12px}.shapes .challenge-equation{font-size:1.05rem}.train .mission-card h2,.clock .mission-card h2,.shapes .mission-card h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.base-block{animation:none}}
.parent-page{max-width:900px;margin:auto;padding:25px 24px 60px}.parent-page>.eyebrow{display:block;margin:35px 0 12px}.parent-page h1{margin:18px 0}.parent-page h2{font-size:1.75rem;margin:34px 0 15px}.parent-page p,.parent-page li{font-size:1.08rem;line-height:1.7;color:#53675e}.parent-page p+p{margin-top:18px}.parent-page li{margin:12px 0}.parent-page li a,.parent-links a{text-decoration:underline;text-underline-offset:4px}.parent-hero{display:flex;align-items:center;gap:30px;margin:30px 0}.parent-hero>div:first-child{flex:2}.parent-art{flex:1}.parent-art svg{width:100%}.parent-subtitle{margin:10px 0 22px}.parent-links{margin-top:35px}.home-footer>span>a{display:inline;font-size:inherit;text-decoration:underline}.home-footer>span{line-height:1.8}@media(max-width:600px){.parent-hero{gap:10px}.parent-art{max-width:100px}.parent-page h1{font-size:2.5rem}.parent-page p,.parent-page li{font-size:1rem}}
/* Keep the digital readout outside the face so it never hides 6 or a hand. */
.clock-stage{max-width:285px}.clock-digital{position:static;transform:none;width:max-content;margin:3px auto 8px}.teaching-clock{max-width:285px}@media(max-width:680px){.clock-stage{max-width:215px}.clock-digital{font-size:1rem;padding:2px 12px;margin-top:1px}}
/* One persistent, in-flow ad after the hub or game. Never sticky or over play. */
.publisher-ad{display:block;width:calc(100% - 32px);max-width:728px;margin:48px auto max(28px,env(safe-area-inset-bottom));padding-top:16px;border-top:1px solid #dddcd2;text-align:center;min-height:118px}
.publisher-ad[hidden]{display:none}.publisher-ad-label{display:block;font:500 10px/1.5 'DM Sans',system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#74786d;margin-bottom:12px}
.sandbox-display-unit{display:block;width:100%}.publisher-ad-preview{min-height:90px;border:1px dashed #c7ccbe;border-radius:9px;background:#f0f0e8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:15px;color:#687363}.publisher-ad-preview strong{font-size:14px;font-weight:600}.publisher-ad-preview span{font-size:12px}.publisher-ad-preview small{font-size:10px;color:#818577}
@media(max-width:680px){.publisher-ad{margin-top:48px;min-height:108px}.publisher-ad-preview{min-height:90px}.publisher-ad-preview span{font-size:11px}}

.discovery-link{margin:28px 0;padding:22px;border-radius:20px;background:#e8ead8;color:#334b3b;font-weight:700;line-height:1.6}.discovery-link a{color:inherit;text-decoration:none}

.catalog-card .card-scene{background:var(--card-wash,#e4e8d1)}.catalog-art{font-size:110px;position:relative;z-index:1;display:block;line-height:1.4;margin:auto}.catalog-card .play-circle{background:var(--card-wash)}@media(max-width:600px){.topbar{flex-wrap:wrap}.topbar .tiny-label{display:none}.tools{gap:4px}.tools .icon-button{width:36px;min-width:36px}}

/* Literal skills, optional spoken help, and controls that stay separate from play. */
.level-tabs button{white-space:normal;line-height:1.2;padding:7px 4px;min-height:52px}
.level-tabs button small{display:block;margin-top:4px;font-size:.65rem;font-weight:500;color:var(--muted)}
.guide-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.guide-actions button,.read-help,.digital-help,.hop-options{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:9px 12px;border-radius:12px;background:#fffaf0;border:1px solid #d8d8c7;font-size:.8rem;font-weight:600}
.read-help{margin-bottom:14px;width:100%}.read-help .icon,.guide-actions .icon{width:18px;height:18px}
.hop-options{display:flex;margin:0 auto 12px;background:#ffffff80;font-size:.75rem}.hop-controls .hop-options{width:auto}
.hop-controls{flex-wrap:wrap}.hop-controls.expanded .hop-options{flex-basis:100%;max-width:220px;margin-bottom:0}
.hop-controls.basic>div:first-child{order:0}.hop-controls.basic>div:nth-child(2){order:2}.hop-controls.basic .hop-options{order:1;margin:0;align-self:flex-end}
.clock-modes,.clock-choices{display:flex;justify-content:center;gap:8px;padding:12px 12px 4px}
.clock-modes button,.clock-choices button{min-height:44px;padding:10px 14px;border:2px solid transparent;border-radius:12px;background:#fffaf0;font-size:.82rem;font-weight:600}
.clock-modes button[aria-pressed=true],.clock-choices button[aria-pressed=true]{border-color:var(--accent);background:#eff8fa}
.digital-help{display:flex;margin:0 auto 12px}.clock-choices button{font-size:1.2rem;min-width:72px}
.clock-stage{margin-top:4px}.clock-world .world-instruction{line-height:1.4}
@media(max-width:680px){
 .level-tabs button{font-size:.72rem;min-height:52px}.level-tabs button small{font-size:.6rem}
 .level-note{position:static;width:auto;height:auto;overflow:visible;clip-path:none;margin:0 3px 7px;font-size:.64rem}
 .level-tabs{margin-bottom:5px}.mission-links button,.how-button{min-height:44px}
 .read-button{width:44px;height:44px}.mission-top{min-height:30px;padding-right:46px}.mission-card h2{max-width:85%}
 .garden-adjust{display:flex;gap:18px;padding:8px 8px 0}.garden-adjust>div>span{font-size:.72rem;margin-bottom:5px}
 .stepper button{width:44px;height:44px}.stepper b{min-width:24px}
 .wagon-controls{display:grid;grid-template-columns:repeat(2,minmax(44px,1fr));gap:4px;padding:5px 2px}
 .wagon-controls b{grid-column:1/-1;grid-row:1;text-align:center}.wagon-controls button{width:100%;min-width:44px;min-height:44px}
 .tools .icon-button{width:44px;min-width:44px}.tools{gap:4px}
 .answer-bar{position:static;box-shadow:none;backdrop-filter:none}
 .clock-stage{max-width:200px}.clock-modes{padding-top:10px}.clock-controls{gap:10px}
 .clock-controls button{padding:8px 10px;min-width:56px;min-height:44px}
 .frog .game-heading{padding:5px 0 8px}.frog .game-heading .eyebrow{display:none}.frog .game-heading h1{font-size:1.65rem}
 .frog .mission-card{padding:10px 14px}.frog .mission-card h2{font-size:1.3rem}.frog .mission-card p{font-size:.8rem;line-height:1.35}
 .frog .challenge-equation{margin-top:6px;padding:5px 4px}.frog .round-number{bottom:17px}
 .frog .pond-scenery{height:64px}.frog .frog-island{width:66px;bottom:0}.frog .frog-number{font-size:1.1rem;right:-31px;top:1px;padding:5px 9px}
 .frog .cloud-one,.frog .cloud-two{display:none}.frog .sun{width:24px;height:24px;top:10px}.frog .reeds{height:20px}
 .frog .number-stop{min-height:56px}.frog .lily{height:18px}.frog .number-stop b{margin-top:2px}
 .frog .hop-history{min-height:30px;font-size:.65rem}.frog .hop-controls{padding:0 12px 10px;justify-content:space-evenly}
 .frog .hop-controls button{width:44px;min-height:44px}.frog .hop-controls>div>span{margin-bottom:4px}
 .frog .hop-options{margin-bottom:0;min-height:44px;padding:8px 12px}.frog .hop-controls.basic{gap:8px}
 .frog .answer-bar{padding-top:9px;min-height:64px}.frog .answer-bar span{font-size:.7rem}
}

/* Frog feedback: tappable pads, directional hops and a pond celebration. */
.frog .number-line{position:relative;padding-top:42px}.frog .number-stop{background:transparent;padding:0;border-radius:12px;min-width:46px}.frog .number-stop:disabled{opacity:1}.frog .number-stop.visited .lily{background:#e8bb50}.frog .number-stop.current .lily{background:#397b55}.hop-arcs{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.latest-hop{stroke-dasharray:240;animation:draw-hop .45s ease-out}.pad-pip{position:absolute;bottom:calc(100% - 3px);width:36px;height:30px;pointer-events:none;animation:pad-hop .45s ease-out}.pad-pip svg{width:100%;height:100%}.frog .pond-scenery{position:relative}.frog-celebration{position:absolute;inset:8px 8px auto;text-align:center;z-index:2;pointer-events:none;color:#285f47}.frog-celebration span{display:block;color:#a76b10;font-size:1.3rem;letter-spacing:12px}.frog-celebration strong{display:block;font-family:Fredoka,sans-serif;font-size:2rem}.frog-celebration small{display:block;font-weight:700}.frog-cheer{animation:happy-pip .6s ease-out 2}.frog .hop-history span{white-space:nowrap}
@keyframes draw-hop{from{stroke-dashoffset:240}to{stroke-dashoffset:0}}@keyframes pad-hop{from{transform:translateY(-25px) scale(.8)}to{transform:translateY(0) scale(1)}}@keyframes happy-pip{50%{transform:translateY(-20px) rotate(-8deg)}}
@media(max-width:680px){.frog-celebration strong{font-size:1.5rem}.frog-celebration small{font-size:.65rem}.frog-celebration{inset:0 2px auto}.frog .hop-history{flex-wrap:wrap}}

@media(max-width:680px){.frog .pond:not(.celebrating) .pond-scenery{height:24px}.frog .pond:not(.celebrating) .frog-island{display:none}.frog .hop-controls .hop-options{width:auto;max-width:120px;font-size:.75rem}.frog .hop-controls.expanded{flex-wrap:wrap}}

@media(max-width:680px){.frog .celebrating .frog-island{display:none}.frog-celebration span{font-size:1rem;line-height:1.2}.frog-celebration strong{line-height:1.1}.frog-celebration small{line-height:1.3}}
