@font-face{font-family:Sprout;src:local('Avenir Next Rounded'),local('Avenir Next'),local('Nunito')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#faf7ed;color:#314b3b;font-family:Sprout,'Trebuchet MS',system-ui,sans-serif;font-size:16px;line-height:1.55}button,input,select{font:inherit}button,a,select,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #ad5936;outline-offset:5px}button{touch-action:manipulation}button[hidden],[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-80px;left:20px;z-index:10;background:#fff;padding:16px}.skip:focus{top:10px}.site-header{max-width:1240px;margin:auto;padding:26px 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:32px;font-weight:850;letter-spacing:-1.5px;line-height:1.05}.brand small{display:block;font-size:11px;letter-spacing:.04em;font-weight:600;margin-top:6px}.brand-dot{color:#bc8f35}.site-header nav{display:flex;align-items:center;gap:30px}.adult-link{font-size:13px;text-decoration:none}.language{display:flex;align-items:center;gap:6px;border:1px solid #dfdeca;border-radius:30px;padding:5px 12px;background:#fffdf6}.language select{min-height:38px;border:0;background:none;max-width:118px;color:inherit;font-size:13px}main{max-width:1164px;margin:auto;padding:0 30px}.intro{text-align:center;padding:35px 10px 27px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:750;color:#596a52}.intro h1{font-size:clamp(2.3rem,5vw,3.5rem);line-height:1.12;letter-spacing:-.045em;margin:12px 0}.intro>p:last-child{font-size:16px;color:#596a52;margin:0}.playground{background:#fffdf8;border:1px solid #e8e2cf;box-shadow:0 12px 42px #796b3a08;border-radius:34px;padding:21px;overflow:hidden;position:relative}.play-top{display:flex;justify-content:space-between;align-items:center;gap:15px;position:relative;z-index:2}.fruit-picker{display:flex;padding:4px;gap:5px;background:#f2efdf;border-radius:22px}.fruit-picker button{display:flex;align-items:center;gap:7px;min-height:48px;border:0;background:transparent;padding:4px 18px 4px 8px;border-radius:18px;font-weight:700;font-size:14px}.fruit-picker svg{width:35px;height:35px}.fruit-picker button[aria-pressed=true]{background:#fff;box-shadow:0 2px 6px #6c654514}.round-button{width:48px;height:48px;border-radius:50%;border:1px solid #e0e3d1;background:#f6f7ea;font-size:22px;font-weight:700}.world{position:relative;margin-top:10px;background:#edf2df;border-radius:25px;overflow:hidden;min-height:460px;background-image:radial-gradient(ellipse at 50% 95%,#dfe9c8 0,transparent 65%)}.tree-world{position:relative;min-height:460px;max-width:820px;margin:auto}.tree-caption{position:absolute;top:20px;left:26px;font-size:11px;letter-spacing:.1em;color:#596a52}.orchard-art{display:block;width:100%;height:460px}.tree-sway{transform-origin:360px 420px}.tree-fruits{position:absolute;inset:0;pointer-events:none;transform-origin:50% 91%}.tree-fruit{pointer-events:auto;position:absolute;width:64px;height:72px;border:0;background:none;padding:0;filter:drop-shadow(0 5px 2px #4b5b3220);transition:transform .16s}.tree-fruit:hover{transform:scale(1.15) rotate(6deg)}.tree-fruit svg{width:100%;height:100%}.fruit-one{left:31%;top:26%}.fruit-two{left:52%;top:23%}.fruit-three{left:42%;top:45%}.fruit-four{left:61%;top:45%}.tree-instruction{position:absolute;bottom:9px;left:0;right:0;margin:0;text-align:center;font-size:13px;color:#5a704c;display:flex;align-items:center;justify-content:center;gap:8px}.hand{font-size:24px}.world.shaking .tree-sway{animation:shake-svg .7s ease}.world.shaking .tree-fruits{animation:shake-fruits .7s ease}.world.shaking .tree-fruit{filter:drop-shadow(0 8px 3px #52603720)}@keyframes shake-svg{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}75%{transform:rotate(-1.5deg)}}@keyframes shake-fruits{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}75%{transform:rotate(-1.5deg)}}.fruit-world{position:relative;min-height:460px}.back-button{position:absolute;left:16px;top:14px;z-index:2;display:flex;align-items:center;gap:7px;border:0;background:#fffdf4dd;border-radius:25px;min-height:44px;padding:7px 14px;font-size:12px}.back-button span:first-child{font-size:24px}canvas{display:block;width:100%;height:460px;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.fruit-world.entering canvas{animation:fruit-in .45s ease-out}@keyframes fruit-in{from{opacity:0;transform:scale(.45) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.stage-instruction{position:absolute;bottom:12px;left:15px;right:15px;margin:0;text-align:center;pointer-events:none;font-size:13px;color:#62794c}.play-bottom{padding:20px 10px 4px;text-align:center}.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;min-width:115px;border-radius:22px;border:1px solid #dfdfcc;background:#faf8ed;padding:12px 21px;font-size:15px;font-weight:750}.pill>span:first-child{font-size:24px;line-height:1}.pill.primary{background:#f1d36a;border-color:#e8c450;color:#4b4b2e;box-shadow:0 3px 0 #cfb14c}.pill:hover{transform:translateY(-1px)}.pill.primary:active{transform:translateY(2px);box-shadow:none}#tree-controls p{font-size:12px;color:#596a52;margin:13px 0 0}.action-row{display:flex;justify-content:center;gap:10px}.split-control{display:flex;align-items:center;justify-content:center;gap:12px;margin:19px auto 4px;max-width:350px;font-size:12px}.split-control input{width:70%;accent-color:#628653;min-height:28px}.seed-area{padding:10px 0 0}.seed-area>p{font-size:13px;margin:9px 0}.seed-buttons{display:flex;gap:12px;justify-content:center}.seed-button{width:48px;height:48px;border:1px dashed #b3bd9d;border-radius:50%;background:#f1f2e5;position:relative}.seed-button svg{width:20px;height:28px;transform:rotate(25deg)}.seed-button.found{background:#dce9cd;border:2px solid #789363}.seed-button.found:after{content:'✓';position:absolute;right:-3px;bottom:-2px;background:#4f7853;color:#fff;border-radius:50%;font-size:12px;width:19px;height:19px}#seed-status{min-height:21px;font-weight:700;color:#547349}.section-heading{text-align:center;margin:50px 0 25px}.section-heading h2{font-size:29px;letter-spacing:-.035em;margin:5px 0}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.fact-card{display:flex;align-items:flex-start;gap:15px;border:1px solid #e7e3cf;border-radius:22px;background:#f6f3e6;padding:22px}.fact-visual{width:66px;height:66px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:#fffbee}.fact-visual svg{width:50px;height:50px}.fact-card h3{font-size:17px;margin:1px 0 6px}.fact-card p{font-size:13px;line-height:1.7;color:#596a52;margin:0}.story-section{margin-top:58px}.story-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.story-card{position:relative;background:#fffdf7;border:1px solid #e8e2d0;border-radius:24px;padding:24px 22px;text-align:center}.story-card>svg{width:100px;height:100px}.story-number{position:absolute;left:15px;top:15px;border-radius:50%;display:grid;place-items:center;width:25px;height:25px;background:#eef0dc;font-size:12px;font-weight:bold}.story-card h3{font-size:16px;margin:10px 0 7px}.story-card p{font-size:13px;color:#596a52;line-height:1.7;margin:0}.origin-section{margin:45px 0 0;border-radius:24px;background:#eaf0df;padding:25px 35px;display:flex;align-items:center;gap:30px}.origin-section>svg{width:90px;height:90px;flex-shrink:0}.origin-section h2{font-size:20px;margin:0 0 7px}.origin-section p{font-size:14px;color:#66775d;margin:0;max-width:700px}.grownups{margin:35px 0 45px;font-size:14px}.grownups details{border-top:1px solid #e0e2d0;padding:18px 10px}.grownups summary{cursor:pointer;font-weight:750}.grownups p,.grownups li{max-width:850px;line-height:1.8}.grownups h3{font-size:16px;margin-top:25px}footer{max-width:1164px;margin:0 auto;padding:10px 30px 32px;display:flex;align-items:center;gap:25px;font-size:11px;color:#596a52}.footer-brand{display:flex;gap:5px;align-items:center;font-size:20px;font-weight:800;text-decoration:none;color:#3e5a40}footer p{flex:1}dialog{border:0;border-radius:28px;background:#fffdf5;color:#3f593f;max-width:460px;width:calc(100% - 40px);padding:30px}dialog::backdrop{background:#304a3a66}dialog .round-button{float:right}dialog h2{font-size:24px}.help-step{display:flex;align-items:center;gap:20px;margin:24px 0}.help-step>span{font-size:24px;min-width:90px;text-align:center}.help-step p{font-size:14px}.symbols{position:absolute;width:0;height:0;overflow:hidden}.fallback{padding:55px 20px 50px;text-align:center;min-height:460px}.fallback svg{display:block;margin:auto;width:min(100%,500px);height:270px}.fallback p{font-size:12px}.fallback .cut{opacity:0}.fallback.open .cut{opacity:1}.fallback.open #fallback-left{transform:translateX(-45px)}.fallback.open #fallback-right{transform:translateX(45px)}.noscript{margin:30px auto;max-width:800px;padding:25px}.privacy-page{max-width:800px;padding:30px;margin:20px auto}.privacy-page h1{font-size:38px}.privacy-page section{margin:30px 0}.privacy-page h2{font-size:22px}@media(max-width:760px){.site-header{padding:20px}.brand{font-size:27px}.brand img{width:48px;height:48px}.brand small{font-size:9px}.site-header nav{gap:8px}.adult-link{display:none}main{padding:0 15px}.intro{padding:25px 0}.intro h1{font-size:35px}.intro>p:last-child{font-size:14px}.playground{padding:12px;border-radius:25px}.world,.tree-world,.fruit-world{min-height:370px}.orchard-art,canvas{height:370px}.tree-caption{top:13px;left:17px;font-size:10px}.fruit-one{left:25%;top:29%}.fruit-two{left:52%;top:25%}.fruit-three{left:37%;top:46%}.fruit-four{left:64%;top:48%}.tree-fruit{width:54px;height:62px}.tree-instruction{font-size:12px}.fruit-picker button{padding-right:13px}.back-button{font-size:11px;top:9px;left:9px}.fact-grid{grid-template-columns:1fr}.fact-card{padding:17px 20px}.fact-card p{font-size:14px}.story-grid{grid-template-columns:repeat(2,1fr);gap:12px}.story-card{padding:24px 13px}.story-section{margin-top:35px}.section-heading{margin-top:35px}.section-heading h2{font-size:26px}.origin-section{padding:22px;gap:18px}.origin-section>svg{width:60px;height:60px}.origin-section h2{font-size:18px}.action-row{gap:7px}.pill{padding:9px 14px;min-width:88px;font-size:13px}.stage-instruction{font-size:12px}.play-bottom{padding:17px 0 5px}footer{flex-wrap:wrap;padding:0 22px 25px;gap:8px 20px}footer p{min-width:180px}.fallback{min-height:370px;padding-top:55px}.fallback svg{height:210px}}@media(max-width:370px){.brand small{max-width:120px}.brand{font-size:24px}.site-header{padding:16px 12px}.language{padding:3px 6px}.language select{max-width:88px}.fruit-picker button{font-size:12px}.seed-buttons{gap:8px}.origin-section{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep controls and fruit together on small screens; reserve room for instructions. */
.fruit-world{padding:46px 0 36px}.fruit-world canvas{height:378px}
.fruit-world.entering canvas{animation:fruit-arrive .65s cubic-bezier(.2,.8,.25,1) both}
@keyframes fruit-arrive{0%{opacity:0;transform:translate(var(--pick-x,0px),var(--pick-y,0px)) scale(.15) rotate(-12deg)}65%{opacity:1;transform:scale(1.035) rotate(2deg)}100%{opacity:1;transform:none}}
.pill{transition:transform .16s,background .16s}.tree-fruit:active{transform:scale(.9)}
.seed-button.found svg{animation:seed-pop .35s ease-out}
@keyframes seed-pop{50%{transform:translateY(-5px) rotate(12deg) scale(1.2)}}
.stage-instruction{bottom:10px;color:#526345}.split-control input{min-height:44px}
@media(max-width:760px){
 .site-header{padding:14px 16px;gap:10px}.intro{padding:12px 0 20px}.intro h1{font-size:32px;margin:8px 0}.intro .eyebrow{margin:5px 0}
 main{padding:0 10px}.playground{padding:10px;border-radius:24px}.world{border-radius:20px}
 .world,.tree-world,.fruit-world{min-height:0}.tree-world,.orchard-art{height:clamp(280px,45svh,350px)}
 .fruit-world{padding:49px 0 34px}.fruit-world canvas{height:clamp(235px,35svh,300px)}
 .tree-fruit{width:48px;height:56px}.tree-caption{top:10px}.tree-instruction{bottom:6px}
 .play-bottom{padding:12px 0 2px}.action-row{gap:6px}.action-row .pill{flex:1;min-width:0;padding:9px 8px;gap:6px;min-height:48px}
 .split-control{margin:8px auto 0}.fruit-picker button{padding-right:12px;font-size:13px}.fruit-picker svg{width:30px;height:30px}
 .section-heading{margin:28px 0 18px}.story-card p{font-size:14px}.seed-area{padding-top:2px}
}
@media(prefers-reduced-motion:reduce){.fruit-world.entering canvas,.seed-button.found svg{animation:none}}

/* Disable accidental double-tap zoom, while retaining pinch-to-zoom. */
html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.language select{font-size:16px}
.world{--stage-height:460px;min-height:var(--stage-height)}
.tree-world,.orchard-art,.fruit-world{height:var(--stage-height);min-height:var(--stage-height)}
.fruit-world{padding:49px 0 34px}.fruit-world canvas{height:calc(var(--stage-height) - 83px)}
.seed-area.is-concealed{visibility:hidden;pointer-events:none}
#seed-status{display:flex;align-items:center;justify-content:center;min-height:64px;max-width:360px;margin:10px auto;padding:10px 14px;border:2px solid transparent;border-radius:18px;line-height:1.4}
#seed-status.complete{background:#e4efce;border-color:#abc58a;color:#2f5239;font-size:17px;animation:well-done .4s ease-out}
@keyframes well-done{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
/* A gentle entrance affects only the fruit, never the page scale. */
@keyframes fruit-arrive{from{opacity:0;transform:translateY(10px) rotate(-3deg)}to{opacity:1;transform:none}}
@media(max-width:760px){.world{--stage-height:clamp(310px,42svh,370px)}}
@media(prefers-reduced-motion:reduce){#seed-status.complete{animation:none}}

.tree-fruit.landed{top:74%;left:var(--ground-x);transform:none}
.world.shaking .tree-fruits{animation:none}
.world.dropping .tree-fruit{pointer-events:none;transition:none}
.tree-fruit.landed:hover{transform:translateY(-4px) rotate(-5deg)}
.tree-fruit.landed:active{transform:scale(.94)}

/* Short, readable learning cards and a handwritten-style invitation. */
.fact-card h3,.story-card h3{font-size:22px;line-height:1.3}
.fact-card p,.story-card p,.origin-section p{font-size:18px;line-height:1.55;color:#465a43}
.fact-card{align-items:center}.story-card{padding:26px 18px}.origin-section h2{font-size:23px}
.inside-note{position:absolute;z-index:2;bottom:34px;left:50%;transform:translateX(-50%) rotate(-2deg);width:max-content;max-width:94%;padding:8px 10px;min-height:48px;border:0;background:none;box-shadow:none;color:#365333;font-family:'Chalkboard SE','Comic Sans MS',Sprout,'Trebuchet MS',system-ui,sans-serif;font-size:clamp(20px,2.4vw,27px);font-weight:750;line-height:1.3;cursor:pointer}
.inside-note #open-label{background:linear-gradient(transparent 72%,#f5dd83 72%,#f5dd83 94%,transparent 94%);padding:0 3px}
.note-star{display:inline-block;color:#a76d25;margin-right:6px}.note-arrow{display:inline-block;margin-left:6px;color:#698653}
.inside-note:hover .note-arrow{transform:translate(2px,-2px)}.inside-note:active{transform:translateX(-50%) rotate(0deg)}
.fruit-world{padding-bottom:88px}.fruit-world canvas{height:calc(var(--stage-height) - 137px)}
.stage-instruction{font-size:15px;bottom:10px}.section-heading .eyebrow{display:none}
@media(max-width:760px){
 .story-grid{grid-template-columns:1fr;gap:12px}
 .story-card{display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:18px;text-align:left;padding:22px 18px 22px 34px;align-items:center}
 .story-card>svg{grid-column:1;grid-row:1 / 3;width:80px;height:80px}
 .story-card h3{grid-column:2;margin:0 0 5px}.story-card p{grid-column:2;margin:0}
 .story-number{left:8px;top:8px;width:22px;height:22px}
 .fact-card{padding:20px 16px;gap:14px}.fact-visual{width:54px;height:54px}
 .origin-section{align-items:flex-start;padding:22px 18px;gap:14px}.origin-section>svg{width:44px;height:44px}
 .inside-note{font-size:21px}.section-heading h2{font-size:28px}
}

.orchard-art{touch-action:pan-y;cursor:grab}.orchard-art:active{cursor:grabbing}
.world.shaking:not(.dropping) .tree-fruits{animation:shake-fruits .7s ease}
#tree-controls p{min-height:19px}
.tree-instruction{font-size:16px;font-weight:650}.tree-instruction .hand{display:none}

.inside-note{margin:0;cursor:default;font-size:clamp(19px,2.3vw,25px)}
.inside-note:active{transform:translateX(-50%) rotate(-2deg)}
.pull-handle{position:absolute;top:62%;z-index:3;width:48px;height:48px;border:2px dashed #92a878;border-radius:50%;background:#fffbedee;color:#4c6a40;font-size:27px;touch-action:none;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.pull-left{left:22%}.pull-right{right:22%}.pull-handle:active{background:#f9e8a3;border-style:solid}
@media(max-width:760px){.inside-note{font-size:19px}.note-star,.note-arrow{margin:0 3px}}

/* Watermelons begin in their own ground-level vine patch. */
#tree-world[data-growing=ground]>.orchard-art,#tree-world[data-growing=ground]>.tree-fruits,#tree-world[data-growing=ground]>.tree-caption{display:none}
.ground-world{position:absolute;inset:0}.ground-art{width:100%;height:100%;display:block}
.ground-caption{position:absolute;top:18px;left:22px;font-size:15px;color:#596a52}
.ground-fruits{position:absolute;inset:0;pointer-events:none}
.ground-fruit{position:absolute;width:94px;height:86px;padding:0;border:0;background:none;pointer-events:auto;filter:drop-shadow(0 7px 3px #53673a20);transition:transform .18s}
.ground-fruit svg{width:100%;height:100%}.ground-fruit:hover{transform:translateY(-5px) rotate(-3deg)}.ground-fruit:active{transform:scale(.94)}
.melon-one{left:22%;top:57%}.melon-two{left:44%;top:65%}.melon-three{left:65%;top:53%}
.fruit-picker{min-width:0;overflow-x:auto;scrollbar-width:thin}.fruit-picker button{flex-shrink:0}
.fruit-world{padding-bottom:66px}.fruit-world canvas{height:calc(var(--stage-height) - 115px)}
.inside-note{bottom:13px}.pull-handle{top:62%}
@media(max-width:760px){
 .play-top{gap:8px}.fruit-picker{flex:1;gap:2px;border-radius:18px}.fruit-picker button{flex-direction:column;gap:1px;padding:4px 8px;min-width:67px;font-size:12px;min-height:62px;line-height:1.3}.fruit-picker button:last-child{min-width:96px}.fruit-picker svg{width:28px;height:28px}.round-button{flex-shrink:0;width:43px;height:43px}
 .ground-fruit{width:68px;height:63px}.melon-one{left:13%;top:58%}.melon-two{left:41%;top:65%}.melon-three{left:67%;top:55%}.ground-caption{font-size:13px;top:12px;left:15px}
}

/* Seed feedback lives in the viewport, independent of page scroll. */
.seed-toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 18px);transform:translateX(-50%);z-index:25;display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:calc(100% - 32px);padding:12px 20px;border:2px solid #d7e2bf;border-radius:24px;background:#fffdf4;color:#365437;box-shadow:0 8px 25px #314b3b24;font-size:20px;font-weight:750;line-height:1.4;pointer-events:none}
.seed-sparkle{color:#a97928;font-size:28px}.seed-toast.popping{animation:seed-toast-in .25s ease-out}
@keyframes seed-toast-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.seed-celebration{inset:0;margin:auto;max-width:400px;width:calc(100% - 36px);max-height:calc(100dvh - 36px);overflow:auto;padding:28px 22px 30px;text-align:center;border:2px solid #dce6c6;box-shadow:0 18px 70px #243c3a30}
.seed-celebration::backdrop{background:#304a3a77}.seed-celebration[open]{animation:seed-celebrate-in .35s ease-out}
.seed-celebration h2{font-size:34px;line-height:1.15;margin:8px 0 12px}.seed-celebration>p{font-size:23px;line-height:1.4;margin:0;color:#3f593f;font-weight:650}
.reward-stars{display:flex;align-items:center;justify-content:center;gap:15px;color:#b28a36;font-size:38px}.reward-stars svg{width:105px;height:105px}.reward-stars span:last-child{transform:translateY(15px)}
.reward-seeds{margin:17px 0 22px;color:#608653;font-size:21px;font-weight:bold}.seed-celebration .pill{min-width:190px;font-size:17px;min-height:52px}
@keyframes seed-celebrate-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:370px){.seed-toast{font-size:18px;padding:10px 16px}.seed-celebration h2{font-size:30px}.seed-celebration>p{font-size:21px}}
@media(prefers-reduced-motion:reduce){.seed-toast.popping,.seed-celebration[open]{animation:none}}

/* Carry a shared fruit character from its growing scene into the close-up. */
.fruit-world.entering canvas,.fruit-world.entering .fallback{animation:fruit-reveal .3s ease-out both}
.fruit-world.entering.travelling canvas,.fruit-world.entering.travelling .fallback{animation:fruit-reveal .48s .2s ease-out both}
.fruit-world.entering .pull-handle,.fruit-world.entering .inside-note{animation:fruit-controls-reveal .28s .35s ease-out both}
@keyframes fruit-reveal{from{opacity:0}to{opacity:1}}
@keyframes fruit-controls-reveal{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
.sound-toggle{position:absolute;top:12px;right:12px;z-index:5;display:flex;align-items:center;justify-content:center;gap:4px;min-width:64px;min-height:44px;padding:7px 10px;border:1px solid #d9dfc4;border-radius:22px;background:#fffdf3e8;color:#4b6443;font-weight:700;font-size:12px;line-height:1.2}
.sound-toggle>span:first-child{font-size:21px}.sound-toggle[aria-pressed=true]{background:#f8e6a5;border-color:#dfc575}.sound-toggle[aria-pressed=false]>span:first-child{opacity:.55}.sound-toggle:disabled{opacity:.5}
@media(prefers-reduced-motion:reduce){.fruit-world.entering canvas,.fruit-world.entering .fallback,.fruit-world.entering .pull-handle,.fruit-world.entering .inside-note{animation:none}}

/* A dedicated control row keeps the fruit and every seed unobstructed. */
.fruit-world{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 52px 42px;padding:52px 0 4px}
.fruit-world canvas{grid-column:1;grid-row:1;width:100%;height:100%;min-height:0}
.fruit-world .fallback{grid-column:1;grid-row:1;min-height:0;height:100%;padding:0 12px}
.fruit-world .fallback svg{height:calc(100% - 34px);min-height:0}.fruit-world .fallback p{margin:0;font-size:12px;line-height:1.3}
.pull-controls{grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:center;gap:clamp(90px,25vw,180px);min-width:0}
.pull-controls .pull-handle{position:static;top:auto;left:auto;right:auto;width:48px;height:48px;flex:0 0 48px;margin:0}
.fruit-world .inside-note{position:static;grid-column:1;grid-row:3;align-self:center;justify-self:center;left:auto;bottom:auto;transform:rotate(-2deg);width:max-content;max-width:94%;min-height:0;margin:0;padding:4px 5px;text-align:center;font-size:clamp(18px,2.3vw,25px);line-height:1.35}
.fruit-world .inside-note:active{transform:rotate(-2deg)}
@media(max-width:370px){.fruit-world .inside-note{font-size:17px}.pull-controls{gap:80px}}

/* A little more life, without moving or resizing the page. */
.world.shaking .tree-sway{animation:sprout-shake .72s cubic-bezier(.36,.07,.19,.97)}
.world.shaking:not(.dropping) .tree-fruits{animation:sprout-shake-fruits .72s ease-in-out}
@keyframes sprout-shake{0%,100%{transform:rotate(0)}15%{transform:rotate(calc(-6deg * var(--shake-strength,1)))}32%{transform:rotate(calc(7deg * var(--shake-strength,1)))}49%{transform:rotate(calc(-5deg * var(--shake-strength,1)))}66%{transform:rotate(calc(4deg * var(--shake-strength,1)))}82%{transform:rotate(-2deg)}}
@keyframes sprout-shake-fruits{0%,100%{transform:rotate(0)}18%{transform:rotate(calc(-6deg * var(--shake-strength,1)))}35%{transform:rotate(calc(7deg * var(--shake-strength,1)))}53%{transform:rotate(-4deg)}72%{transform:rotate(3deg)}}
.fruit-world.entering canvas,.fruit-world.entering .fallback{animation:fruit-settle .6s cubic-bezier(.2,.8,.3,1) both}
.fruit-world.entering.travelling canvas,.fruit-world.entering.travelling .fallback{animation:fruit-settle .6s .2s cubic-bezier(.2,.8,.3,1) both}
@keyframes fruit-settle{0%{opacity:0;transform:translateY(-9px) scale(.94)}65%{opacity:1;transform:translateY(2px) scale(1.015)}100%{opacity:1;transform:none}}
.puzzle-launch{background:#edf0dd;border-color:#d5dfbf}.seed-celebration .pill{margin:5px 0}.reward-stars svg{animation:happy-star 1.1s ease-in-out 2}
@keyframes happy-star{0%,100%{transform:rotate(0)}30%{transform:rotate(-9deg) scale(1.08)}65%{transform:rotate(8deg)}}
.puzzle-dialog{max-width:480px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:24px;overflow:auto;text-align:center;border:2px solid #e0e6cb}
.puzzle-close{position:absolute;right:12px;top:12px;float:none;width:42px;height:42px;z-index:2}
#puzzle-root{position:relative}.puzzle-dialog h2{font-size:30px;line-height:1.2;margin:8px 40px 10px}.puzzle-dialog p{margin:8px 0;font-size:18px;line-height:1.45}
.puzzle-board{display:flex;width:min(270px,100%);aspect-ratio:1;margin:18px auto;border-radius:24px;background:#eaf0da;padding:12px;overflow:hidden;position:relative}
.puzzle-slot{flex:1;min-width:0;position:relative;border:2px dashed #a8b78d;border-radius:12px;background:#f9faed;padding:0;overflow:hidden;min-height:44px}
.puzzle-slot+.puzzle-slot{margin-left:3px}.puzzle-slot svg{display:block;width:100%;height:100%}.puzzle-slot:not(.is-placed) svg{opacity:.2;filter:grayscale(1)}
.puzzle-slot.is-placed{border-color:transparent;background:none}.puzzle-board.is-complete{background:#e2edce}
.puzzle-tray{display:flex;align-items:center;justify-content:center;gap:12px;min-height:110px;margin:12px 0}
.puzzle-piece{position:relative;width:72px;height:100px;max-width:29%;padding:5px;border:2px solid #dfe3cc;border-radius:15px;background:#fffbed;touch-action:none;user-select:none;cursor:grab;transition:background .15s,border-color .15s}
.puzzle-piece svg{display:block;width:100%;height:100%;pointer-events:none}.puzzle-piece.is-selected{border-color:#b58c37;background:#fae7a8;box-shadow:0 0 0 3px #edce6d55}.puzzle-piece.is-placed{visibility:hidden}.puzzle-piece.puzzle-dragging{opacity:.35}
.puzzle-status{min-height:29px;color:#537548;font-weight:750}.puzzle-replay{min-height:48px;border:1px solid #d5debf;border-radius:22px;background:#f5efd3;padding:10px 22px;font-weight:750;color:inherit}
.puzzle-match{animation:puzzle-fit .4s ease-out}.puzzle-mistake{animation:puzzle-wiggle .3s ease-in-out}
@keyframes puzzle-fit{0%{transform:scale(.92)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes puzzle-wiggle{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:370px){.puzzle-dialog{padding:20px 15px}.puzzle-dialog h2{font-size:25px}.puzzle-dialog p{font-size:16px}.puzzle-board{width:225px}.puzzle-piece{height:84px}.puzzle-tray{min-height:90px;gap:10px}.action-row .pill{font-size:12px;padding:9px 6px;gap:5px}}
@media(prefers-reduced-motion:reduce){.world.shaking .tree-sway,.world.shaking .tree-fruits,.fruit-world.entering canvas,.fruit-world.entering .fallback,.reward-stars svg,.puzzle-match,.puzzle-mistake{animation:none}}
.puzzle-eyebrow{font-size:12px;letter-spacing:.08em;font-weight:750;color:#75825d}.puzzle-title{font-size:28px;line-height:1.2;margin:8px 30px 10px}.puzzle-art{display:block;width:100%;height:100%;pointer-events:none}.puzzle-art svg{width:100%;height:100%;display:block}.puzzle-space-number,.puzzle-piece-number{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);font-size:12px;line-height:20px;min-width:20px;border-radius:50%;background:#fffbee;color:#65794e;font-weight:750}.puzzle-slot.is-placed .puzzle-space-number{display:none}.puzzle-message{min-height:27px;color:#537548;font-weight:750}.puzzle-footer{display:flex;justify-content:center;align-items:center;gap:18px}.puzzle-progress{font-size:20px;font-weight:750}.puzzle-slot.is-target{background:#f9e5a2;border-color:#b5903b}.puzzle-drag-ghost{position:fixed;left:0;top:0;z-index:20;pointer-events:none;border-radius:12px;background:#fffbedde;filter:drop-shadow(0 6px 8px #425a3b30);padding:5px}.puzzle-drag-ghost svg{display:block;width:100%;height:100%}.puzzle-piece{width:54px;height:126px}.fruit-puzzle.is-complete .puzzle-board{background:#e2edce}
@media(max-width:370px){.puzzle-title{font-size:25px}.puzzle-piece{width:46px;height:108px}.puzzle-tray{min-height:112px}}
/* Five visible choices, with a second row when little screens need room. */
.fruit-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible}.fruit-picker button{min-width:0}.fruit-picker button:last-child{min-width:0}
.puzzle-title{min-height:2.4em}.puzzle-close{position:sticky;top:0;float:right;margin:-10px -10px -32px 0}
@media(max-width:760px){.play-top{align-items:center}.fruit-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.fruit-picker button{min-width:0;padding:4px 6px;font-size:11px}.fruit-picker button:last-child{min-width:0}}
@media(max-width:440px){.fruit-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.fruit-picker button{font-size:12px;min-height:56px}.fruit-picker svg{width:27px;height:27px}.puzzle-title{min-height:2.4em}}
.learn-together{margin:35px 0;border-radius:24px;padding:24px;background:#f1eedf}.learn-together h2{font-size:23px;margin:0 0 14px}.learn-together nav{display:flex;flex-wrap:wrap;gap:10px}.learn-together a{display:inline-flex;gap:12px;align-items:center;border:1px solid #dce0c8;background:#fffdf5;border-radius:18px;padding:10px 18px;text-decoration:none;font-size:17px;font-weight:700;min-height:46px}.learn-together a:hover{background:#f8e9ad}
.lesson-page{max-width:840px;margin:0 auto;padding:20px 28px 45px}.lesson-page h1{font-size:clamp(35px,6vw,52px);line-height:1.13;letter-spacing:-.04em}.lesson-page h2{font-size:28px;line-height:1.25;margin:30px 0 12px}.lesson-page h3{font-size:21px}.lesson-page p,.lesson-page li{font-size:18px;line-height:1.7}.lesson-page section{margin:28px 0}.lesson-page .lesson-lead{font-size:21px}.lesson-page .lesson-card{border-radius:24px;background:#f0f2e2;border:1px solid #dfe5ca;padding:22px}.lesson-page .lesson-card>h2{margin-top:0}.lesson-page .lesson-meta{font-size:14px;color:#68785c}.lesson-page .lesson-hero{max-width:180px;display:block;margin:15px auto}.lesson-page .lesson-hero svg{width:100%;height:auto}.lesson-page .lesson-nav{display:flex;flex-wrap:wrap;gap:10px}.lesson-page .lesson-nav a{padding:9px 14px;border:1px solid #dce0c8;border-radius:15px;background:#fffdf5;text-decoration:none}.lesson-page .pill{text-decoration:none}.lesson-page ul,.lesson-page ol{padding-left:25px}
@media(max-width:440px){.lesson-page{padding:14px 20px 35px}.lesson-page p,.lesson-page li{font-size:17px}.lesson-page .lesson-card{padding:18px}.learn-together{padding:20px 17px}.learn-together h2{font-size:21px}}
.lesson-page .lesson-hero{max-width:none;margin:15px 0 28px}.lesson-page .lesson-hero>svg{display:block;width:160px;height:160px;margin:0 auto 16px}.lesson-page .lesson-nav h2{flex-basis:100%;margin-bottom:5px}
.intro-lessons { display: inline-block; padding: 10px 6px; font-size: 15px; }
.field-box {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #a7b597;
  border-radius: 12px;
  background: #fffdf7;
}
@media print {
  body:has(.field-note) { background: white; color: black; }
  body:has(.field-note) > :not(main), main:has(.field-note) > :not(.field-note) { display: none; }
  main.lesson-page:has(.field-note) { max-width: none; padding: 0; }
  .lesson-page .field-note { margin: 0; padding: 0; border: 0; background: none; break-inside: avoid; }
  .field-note > p:not(.eyebrow) { display: none; }
  .field-note .field-box { min-height: 44mm; color: black; background: none; border-color: #555; }
}
/* Music and help share the space beside the fruit choices. */
.play-tools{display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0}
.music-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:70px;min-height:52px;padding:5px 7px;border:1px solid #dce2c9;border-radius:18px;background:#f5f5e6;color:#496342;font-weight:750;line-height:1.15}
.music-heading{display:flex;align-items:center;justify-content:center;gap:4px;font-size:12px}.music-note{font-size:23px;line-height:1}.music-toggle small{font-size:11px;font-weight:600;line-height:1.25}.music-toggle[aria-pressed=true]{background:#f6e4a3;border-color:#d6bc68}.music-toggle[aria-pressed=true] .music-note{animation:music-sway 1.5s ease-in-out infinite}.music-toggle:disabled{opacity:.5}
.music-settings{border-top:1px solid #e1e4ce;margin-top:22px;padding-top:18px}.music-settings label{display:block;font-size:17px;font-weight:750}.music-settings input{display:block;width:100%;min-height:44px;accent-color:#698652;margin:4px 0}.music-settings p{font-size:14px;line-height:1.5;color:#617352;margin:4px 0}
@keyframes music-sway{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@media(max-width:760px){.music-toggle{width:61px}.music-heading{font-size:11px;gap:3px}.music-note{font-size:21px}}
@media(max-width:440px){.play-tools{flex-direction:column;gap:7px;width:54px}.music-toggle{width:54px;min-height:51px;padding:4px}.music-heading{font-size:10px}.music-toggle small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.music-toggle[aria-pressed=true] .music-note{animation:none}}
@media(min-width:601px) and (max-width:1000px){.fruit-picker{flex:1}.fruit-picker button{flex-direction:column;min-height:60px;gap:1px;padding:4px 6px;font-size:12px}.fruit-picker svg{width:30px;height:30px;flex-shrink:0}}
@media(min-width:441px) and (max-width:600px){.fruit-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;flex:1}.fruit-picker button{font-size:12px;min-height:56px}.fruit-picker svg{width:27px;height:27px}.play-tools{flex-direction:column;gap:7px;width:54px}.music-toggle{width:54px;min-height:51px;padding:4px}.music-heading{font-size:10px}.music-toggle small{font-size:10px}}
