:root{--farm-ink:#29423d;--farm-cream:#fff8e5;--farm-purple:#7b5bb2;--farm-blue:#4eabc8;--farm-gold:#f5c553;--farm-good:#4f9562;--farm-warn:#a84f54}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:"Trebuchet MS","Arial Rounded MT Bold",system-ui,sans-serif;background:#64c9e7;color:var(--farm-ink)}button,a{font:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.farm-shell,.farm-world{width:100%;height:100svh;min-height:0;overflow:hidden}.farm-world{position:relative;isolation:isolate}.farm-scene{--scene-ratio:1.7777778;position:absolute;left:50%;top:50%;width:max(100%,calc(100svh * var(--scene-ratio)));aspect-ratio:16/9;transform:translate(-50%,-50%);overflow:clip;isolation:isolate}.farm-art{position:absolute;z-index:0;inset:0;background:var(--pw-cloudberry-bg,url('/cloudberry-farm-storybook.webp')) center/100% 100% no-repeat;transform:scale(1.006)}.farm-back,.farm-wallet{position:absolute;z-index:25;top:2.2%;height:48px;display:flex;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.88);border-radius:999px;background:rgba(255,249,229,.96);box-shadow:0 5px 0 rgba(70,88,66,.28),0 14px 25px rgba(39,75,79,.15);color:#385a56;text-decoration:none}.farm-back{left:2%;gap:7px;padding:7px 14px}.farm-back span{font-size:23px}.farm-back b{font-size:12px}.farm-wallet{right:2%;min-width:86px;gap:6px;padding:6px 14px;font-size:20px}.farm-wallet span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f3c75a;color:#694d1c;font-weight:1000}.farm-prompt{position:absolute;z-index:24;left:50%;top:2.2%;max-width:48%;min-height:54px;display:grid;place-items:center;padding:11px 24px;border:3px solid #fff4c5;border-radius:25px;background:rgba(54,76,73,.95);box-shadow:0 6px 0 rgba(43,61,60,.3),0 16px 30px rgba(35,70,78,.17);color:white;font-size:clamp(17px,1.6vw,24px);font-weight:1000;line-height:1.15;text-align:center;transform:translateX(-50%)}.farm-progress{position:absolute;z-index:24;left:50%;top:10.5%;transform:translateX(-50%)}#farm-round-dots{display:flex;gap:7px}#farm-round-dots i{width:11px;height:11px;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(48,83,75,.45);box-shadow:0 2px 4px rgba(36,61,56,.25)}#farm-round-dots i.done{background:#ffe77d}#farm-round-dots i.current{background:#fff;transform:scale(1.35)}.customer-area{position:absolute;z-index:9;right:7%;top:21%;width:19%;height:35%;pointer-events:none}.farm-customer{position:absolute;right:8%;bottom:0;width:68%;height:78%;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;filter:drop-shadow(0 8px 5px rgba(40,69,58,.27));touch-action:manipulation}.farm-customer img{width:100%;height:100%;object-fit:contain;object-position:50% 100%}.farm-customer:focus-visible{outline:4px solid #fff2a6;outline-offset:3px;border-radius:45%}.customer-order{position:absolute;right:46%;top:-2%;width:max-content;max-width:190px;padding:11px 15px;border:3px solid #fff3c8;border-radius:21px 21px 5px 21px;background:rgba(255,251,234,.97);box-shadow:0 5px 0 rgba(91,79,65,.22),0 12px 24px rgba(52,75,69,.16);text-align:center}.customer-order small{display:block;color:#826c8f;font-size:9px;font-weight:1000;letter-spacing:.12em}.customer-order strong{font-size:clamp(14px,1.25vw,19px)}.work-cash{position:absolute;z-index:12;left:46%;top:19%;display:grid;place-items:center;min-width:92px;padding:7px 13px;border:3px solid rgba(255,248,209,.92);border-radius:18px;background:rgba(77,99,86,.91);box-shadow:0 5px 0 rgba(54,70,62,.28);color:white}.work-cash small{font-size:8px;letter-spacing:.12em;font-weight:1000}.work-cash strong{color:#ffe37b;font-size:21px}.seed-bench{position:absolute;z-index:13;left:3.2%;top:25%;width:31%;height:34%}.seed-bag{position:absolute;width:25%;min-width:72px;aspect-ratio:.84;padding:15px 5px 9px;border:3px solid #f4d8a3;border-radius:44% 44% 28% 28%;background:linear-gradient(150deg,#9b73c0,#5d478c 70%);box-shadow:inset 0 0 0 3px rgba(255,255,255,.13),0 8px 0 #4f3d72,0 12px 20px rgba(43,53,42,.24);color:white;text-shadow:0 2px 2px rgba(52,39,73,.55);cursor:pointer;touch-action:none;transition:filter .18s,transform .18s,opacity .18s}.seed-bag:nth-child(1){left:3%;top:17%;transform:rotate(-4deg)}.seed-bag:nth-child(2){left:27%;top:30%;transform:rotate(3deg)}.seed-bag:nth-child(3){left:52%;top:12%;transform:rotate(-2deg)}.seed-bag:nth-child(4){left:74%;top:31%;transform:rotate(4deg)}.seed-bag::before{content:"";position:absolute;left:34%;right:34%;top:-5px;height:12px;border-radius:50%;background:#e8c989;box-shadow:0 3px 0 #765c4d}.seed-bag small,.seed-bag strong{display:block}.seed-bag small{font-size:clamp(9px,.82vw,13px);font-weight:1000;letter-spacing:.04em}.seed-bag strong{margin-top:2px;color:#fff1a6;font-size:clamp(15px,1.35vw,22px)}.seed-bag:hover,.seed-bag:focus-visible{filter:brightness(1.12);transform:translateY(-5px) rotate(0)}.seed-bag[aria-pressed="true"]{opacity:.5;filter:saturate(.65);transform:translateY(5px) scale(.94)}.seed-bag:focus-visible,.watering-can:focus-visible,.sale-pouch:focus-visible,.profit-sack:focus-visible,.reserve-jar:focus-visible{outline:4px solid #fff2a6;outline-offset:4px}.garden-bed{position:absolute;z-index:8;left:34%;top:27%;width:39%;height:36%;border-radius:45%;pointer-events:none}.garden-bed.peblet-coach-destination{box-shadow:inset 0 0 35px rgba(255,238,137,.55)}.garden-selection{position:absolute;left:9%;right:9%;bottom:13%;height:41%;display:flex;align-items:flex-end;justify-content:center;gap:2%;pointer-events:auto}.garden-token{width:18%;min-width:58px;aspect-ratio:.9;display:grid;place-items:center;padding:6px;border:2px solid #f6d99d;border-radius:45% 45% 31% 31%;background:linear-gradient(145deg,#9271b9,#5d4b8f);box-shadow:0 5px 0 #4a3d6b;color:#fff;font-size:10px;font-weight:1000;cursor:pointer;touch-action:manipulation}.garden-token strong{display:block;color:#fff1a1;font-size:14px}.sprouts{position:absolute;inset:4% 5% 12%;pointer-events:none}.sprouts i{position:absolute;bottom:14%;width:20px;height:48px;opacity:0;transform:translateY(25px) scale(.2);transform-origin:50% 100%}.sprouts i::before{content:"";position:absolute;left:8px;bottom:0;width:5px;height:36px;border-radius:5px;background:#4f9b56}.sprouts i::after{content:"☘";position:absolute;left:-4px;top:-12px;color:#6ab86b;font-size:28px;text-shadow:0 2px 0 #3d7948}.sprouts i:nth-child(1){left:9%}.sprouts i:nth-child(2){left:25%;bottom:27%}.sprouts i:nth-child(3){left:40%}.sprouts i:nth-child(4){left:55%;bottom:27%}.sprouts i:nth-child(5){left:70%}.sprouts i:nth-child(6){left:84%;bottom:27%}.farm-scene.is-growing .sprouts i,.farm-scene.has-crop .sprouts i{animation:sproutGrow .7s cubic-bezier(.2,.8,.2,1.25) forwards}.farm-scene.is-growing .sprouts i:nth-child(2),.farm-scene.has-crop .sprouts i:nth-child(2){animation-delay:.12s}.farm-scene.is-growing .sprouts i:nth-child(3),.farm-scene.has-crop .sprouts i:nth-child(3){animation-delay:.22s}.farm-scene.is-growing .sprouts i:nth-child(4),.farm-scene.has-crop .sprouts i:nth-child(4){animation-delay:.32s}.farm-scene.is-growing .sprouts i:nth-child(5),.farm-scene.has-crop .sprouts i:nth-child(5){animation-delay:.42s}.farm-scene.is-growing .sprouts i:nth-child(6),.farm-scene.has-crop .sprouts i:nth-child(6){animation-delay:.52s}.watering-can{position:absolute;z-index:14;left:50.5%;top:18.7%;width:75px;height:67px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#7ff1ff;font-size:41px;text-shadow:0 3px 0 #367f9a,0 0 15px white;cursor:pointer;touch-action:manipulation;animation:waterBob 2.5s ease-in-out infinite}.watering-can[aria-disabled="true"]{opacity:.45}.reserve-jars{position:absolute;z-index:18;left:33%;bottom:8%;width:34%;height:18%;display:flex;align-items:flex-end;justify-content:center;gap:6%}.reserve-jar{position:relative;width:22%;min-width:82px;height:84%;padding:20px 5px 8px;border:4px solid #a68863;border-radius:20px 20px 38% 38%;background:linear-gradient(145deg,#d9c7a4,#8d7f68);box-shadow:inset 0 0 0 4px rgba(255,255,255,.16),0 7px 0 #675b4b;color:white;text-shadow:0 2px 2px rgba(60,49,38,.6);cursor:pointer;touch-action:manipulation}.reserve-jar::before{content:"";position:absolute;left:15%;right:15%;top:-10px;height:21px;border-radius:50%;background:#806a4d;border:3px solid #b89a6b}.reserve-jar small{display:block;font-size:9px;font-weight:1000}.reserve-jar strong{font-size:23px}.sale-pouch{position:absolute;z-index:18;right:22%;top:42%;width:88px;height:83px;padding:15px 6px 8px;border:4px solid #e7c780;border-radius:44% 44% 32% 32%;background:linear-gradient(145deg,#c99a55,#8a5f33);box-shadow:0 7px 0 #654426,0 12px 20px rgba(50,55,44,.2);color:white;cursor:pointer;touch-action:none}.sale-pouch::before{content:"";position:absolute;left:28%;right:28%;top:-8px;height:16px;border-radius:50%;background:#e0b568}.sale-pouch span,.sale-pouch strong{display:block}.sale-pouch span{font-size:9px;letter-spacing:.1em}.sale-pouch strong{color:#fff0a0;font-size:22px}.farm-till{position:absolute;z-index:11;right:12%;top:34%;width:20%;height:20%;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;cursor:default}.farm-till #farm-till-money{position:absolute;left:50%;top:50%;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;background:#f2cb57;border:4px solid #fff1a9;box-shadow:0 5px 0 #9c7730;color:#6b4f1b;font-size:23px;font-weight:1000;opacity:0;transform:translate(-50%,-50%) scale(.4);transition:.3s}.farm-scene.has-sale #farm-till-money{opacity:1;transform:translate(-50%,-50%) scale(1)}.profit-equation{position:absolute;z-index:18;left:50%;bottom:20%;display:flex;align-items:center;gap:10px;padding:10px 17px;border:4px solid #9b754f;border-radius:18px;background:rgba(79,57,40,.95);box-shadow:0 6px 0 #563f2e;color:#fff8d3;transform:translateX(-50%)}.profit-equation span{display:grid;place-items:center;font-size:9px;font-weight:1000;letter-spacing:.07em}.profit-equation b{font-size:21px;color:#ffe173}.profit-equation i{font-size:22px;font-style:normal}.profit-sacks{position:absolute;z-index:19;left:31%;right:31%;bottom:4.8%;height:15%;display:flex;align-items:flex-end;justify-content:center;gap:7%}.profit-sack{position:relative;width:24%;min-width:78px;height:92%;padding:22px 5px 8px;border:4px solid #e8cb8d;border-radius:44% 44% 31% 31%;background:linear-gradient(145deg,#b98a52,#7c5836);box-shadow:0 7px 0 #5d4029;color:#fff3aa;font-size:23px;font-weight:1000;cursor:pointer;touch-action:manipulation}.profit-sack::before{content:"";position:absolute;left:29%;right:29%;top:-8px;height:17px;border-radius:50%;background:#dfb979}.profit-sack:hover,.profit-sack:focus-visible{transform:translateY(-6px);filter:brightness(1.1)}.farm-feedback{position:absolute;z-index:28;left:50%;bottom:2%;max-width:52%;min-height:0;padding:0;border-radius:999px;background:rgba(73,50,53,.94);box-shadow:0 5px 0 rgba(53,36,38,.25);color:white;font-size:15px;font-weight:1000;text-align:center;transform:translateX(-50%);pointer-events:none}.farm-feedback:not(:empty){padding:10px 18px}.farm-feedback.good{background:rgba(55,108,72,.95)}.drag-ghost{position:fixed;z-index:999;width:88px;height:88px;display:grid;place-items:center;border-radius:44%;background:#74579e;color:white;font-weight:1000;box-shadow:0 12px 30px rgba(29,38,40,.3);opacity:.9;transform:translate(-50%,-50%);pointer-events:none}.farm-scene[data-phase="reserve"] .seed-bench,.farm-scene[data-phase="reserve"] .watering-can,.farm-scene[data-phase="reserve"] .sale-pouch,.farm-scene[data-phase="reserve"] .profit-equation,.farm-scene[data-phase="reserve"] .profit-sacks{pointer-events:none;opacity:.42}.farm-scene[data-phase="sale"] .seed-bench,.farm-scene[data-phase="sale"] .watering-can,.farm-scene[data-phase="profit"] .seed-bench,.farm-scene[data-phase="profit"] .watering-can{pointer-events:none;opacity:.55}
@keyframes sproutGrow{to{opacity:1;transform:translateY(0) scale(1)}}@keyframes waterBob{50%{transform:translateY(-5px) rotate(5deg)}}
@media(max-width:900px) and (orientation:portrait){.farm-scene{height:100%;width:calc(100svh * var(--scene-ratio));max-width:none}.farm-back{left:calc((100% - 100vw)/2 + 14px);top:calc(env(safe-area-inset-top) + 10px)}.farm-wallet{right:calc((100% - 100vw)/2 + 14px);top:calc(env(safe-area-inset-top) + 10px)}.farm-prompt{top:calc(env(safe-area-inset-top) + 9px);max-width:40%;font-size:16px}.farm-progress{top:11%}.seed-bag{min-width:64px}.customer-order{font-size:12px}.farm-feedback{max-width:44%;font-size:13px}.reserve-jars{left:37%;width:29%}.profit-sacks{left:35%;right:35%}.profit-equation{bottom:19%}}
@media(max-width:760px) and (orientation:landscape){.farm-back,.farm-wallet{height:42px}.farm-back b{display:none}.farm-prompt{min-height:46px;font-size:15px}.seed-bag{min-width:56px}.sale-pouch{transform:scale(.88)}.profit-equation{transform:translateX(-50%) scale(.88)}.farm-feedback{font-size:12px}}
@media(prefers-reduced-motion:reduce){.seed-bag,.farm-till #farm-till-money{transition:none}.watering-can,.farm-scene.is-growing .sprouts i,.farm-scene.has-crop .sprouts i{animation:none}.farm-scene.is-growing .sprouts i,.farm-scene.has-crop .sprouts i{opacity:1;transform:none}}
.farm-world{background:radial-gradient(circle at 50% 46%,#cef6fb 0,#79d5ea 55%,#4bb7dc 100%)}
.farm-scene{height:auto;width:min(100%,calc(100svh * var(--scene-ratio)));max-width:100%}
@media(max-width:900px) and (orientation:portrait){.farm-back{left:14px;top:10px}.farm-wallet{right:14px;top:10px}.farm-prompt{top:9px}}

/* Kid-test pass: one readable instruction and physical money objects. */
.farm-prompt{min-height:58px;max-width:52%;padding:12px 25px;font-size:clamp(20px,1.7vw,26px);cursor:pointer;user-select:none}
.farm-prompt.good{background:rgba(48,112,69,.97);border-color:#eaffbf}
.farm-prompt.error{background:rgba(132,61,66,.97);border-color:#ffe1c2}
.farm-prompt:focus-visible{outline:5px solid #fff3a6;outline-offset:4px}
.customer-order{max-width:230px;padding:12px 17px}
.customer-order strong{font-size:clamp(18px,1.45vw,23px);line-height:1.15}
.work-cash{min-width:108px;padding:9px 15px 9px 24px}
.work-cash::before{content:"$";position:absolute;left:-18px;bottom:-3px;width:39px;height:39px;display:grid;place-items:center;border:4px double #916d29;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff7bc 0 8%,#f1cf61 34%,#bf8e31 82%);box-shadow:8px -5px 0 -2px #e5ba4f,13px -9px 0 -3px #ad7b28;color:#674b19;font-size:18px;font-weight:1000;transform:rotate(-7deg)}
.work-cash small{font-size:12px;letter-spacing:.08em}
.work-cash strong{font-size:clamp(25px,2vw,31px)}
.work-cash.is-over{background:rgba(139,54,59,.96);animation:cashWarn .42s ease}
.seed-bag{min-width:78px;min-height:92px}
.seed-bag small{font-size:clamp(12px,.92vw,15px);line-height:1.05}
.seed-bag strong{font-size:clamp(21px,1.6vw,27px)}
.garden-token{min-width:64px;min-height:72px;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;gap:0 4px;padding:8px;font-size:12px}
.garden-token>span{grid-row:1/3;font-size:22px;color:#e6c8ff}.garden-token small{font-size:12px}.garden-token strong{font-size:19px}
.garden-token:focus-visible{outline:4px solid #fff2a6;outline-offset:3px}

.farm-customer{right:0;bottom:0;width:100%;height:100%;overflow:visible;filter:none;touch-action:none}
.farm-customer img{position:absolute;left:50%;bottom:0;width:auto;height:var(--customer-canvas-h,clamp(144px,34.66vmin,275px));max-width:none;max-height:none;object-fit:contain;object-position:center bottom;translate:calc(-50% + var(--character-drag-x,0px)) calc(var(--sprite-foot-gap,11%) + var(--character-drag-y,0px));filter:drop-shadow(0 8px 5px rgba(40,69,58,.27));user-select:none}
.farm-customer:focus,.farm-customer:focus-visible{outline:0!important;box-shadow:none!important}
.farm-customer:focus-visible img{filter:drop-shadow(0 0 9px #fff3a6) drop-shadow(0 8px 5px rgba(40,69,58,.27))}

.reserve-jar{min-width:88px;min-height:88px}
.reserve-jar small{font-size:12px;letter-spacing:.03em}.reserve-jar strong{font-size:27px}
.reserve-jars.is-kept{left:22%;bottom:3%;width:13%;height:14%;justify-content:flex-start;pointer-events:none}
.reserve-jars.is-kept .reserve-jar{width:100%;min-width:82px;height:100%;padding-top:18px;filter:saturate(.85)}
.reserve-jars.is-kept .reserve-jar small{font-size:10px}
.reserve-jar.chosen{border-color:#fff0a6;box-shadow:inset 0 0 0 4px rgba(255,255,255,.2),0 7px 0 #675b4b,0 0 0 5px rgba(255,231,117,.32)}
.sale-pouch{width:104px;height:92px}.sale-pouch span{font-size:12px;letter-spacing:.04em}.sale-pouch strong{font-size:27px}
.profit-equation{gap:13px;padding:12px 20px}
.profit-equation span{font-size:12px;letter-spacing:.04em}.profit-equation small{font-size:12px}.profit-equation b{font-size:27px}.profit-equation i{font-size:27px}
.profit-sack{min-width:88px;min-height:86px;font-size:28px}

/* The can is a painted tool, not another text button. */
.watering-can{width:92px;height:78px;color:inherit;text-shadow:none;animation:waterBob 2.5s ease-in-out infinite;filter:drop-shadow(0 6px 3px rgba(42,75,75,.28));overflow:visible}
.watering-can .can-body{position:absolute;left:28px;top:24px;width:47px;height:42px;border:4px solid #2d7584;border-radius:12px 15px 18px 18px;background:linear-gradient(145deg,#b8f4ef 0,#58b8c6 62%,#398eaa 100%);box-shadow:inset 5px 5px 0 rgba(255,255,255,.34)}
.watering-can .can-handle{position:absolute;left:43px;top:5px;width:38px;height:35px;border:7px solid #367f91;border-bottom-color:transparent;border-radius:50%;transform:rotate(8deg)}
.watering-can .can-spout{position:absolute;left:4px;top:31px;width:38px;height:14px;border:4px solid #2d7584;border-radius:11px 2px 2px 11px;background:linear-gradient(#8edbd7,#4faabd);transform:rotate(-17deg);transform-origin:100% 50%}
.watering-can .can-spout::before{content:"";position:absolute;left:-8px;top:-7px;width:13px;height:23px;border:4px solid #2d7584;border-radius:7px;background:#71c8c9}
.watering-can .can-drop{position:absolute;left:2px;top:51px;font-size:25px;opacity:0;transform:translateY(-7px);transition:opacity .2s,transform .2s}
.watering-can[data-ready="true"]{filter:drop-shadow(0 0 10px rgba(255,238,136,.95)) drop-shadow(0 6px 3px rgba(42,75,75,.28));animation:canReady 1.35s ease-in-out infinite}
.watering-can[data-ready="true"] .can-drop{opacity:1;transform:translateY(0)}
.watering-can:hover,.watering-can:focus-visible{filter:brightness(1.08) drop-shadow(0 0 12px rgba(255,238,136,.95))}

/* Grow exactly the number the customer asked for. */
.sprouts{inset:3% 5% 9%;display:grid;grid-template-columns:repeat(5,minmax(20px,1fr));grid-auto-rows:1fr;align-items:end;align-content:end;gap:0 3%;padding:2% 4%}
.sprouts i{position:relative;left:auto;bottom:auto;justify-self:center;width:25px;height:49px;opacity:0;transform:translateY(22px) scale(.2);transform-origin:50% 100%}
.sprouts i:nth-child(even){align-self:start;margin-top:12px}.sprouts i:nth-child(odd){align-self:end}
.sprouts i::before{left:10px;width:5px;height:35px;background:#4a9758;box-shadow:-7px -10px 0 -2px #74bd66,8px -18px 0 -2px #69ae5e}
.sprouts i::after{content:"●";left:0;top:-5px;color:#8150b4;font-size:24px;line-height:1;text-shadow:-8px 7px 0 #9c70cb,8px 7px 0 #71429e,0 14px 0 #a07ad0,0 2px 0 #d8b9f2}
.farm-scene.is-growing .sprouts i,.farm-scene.has-crop .sprouts i{animation:sproutGrow .72s cubic-bezier(.2,.8,.2,1.25) var(--sprout-delay,0s) forwards}

.farm-till:disabled{pointer-events:none}.farm-till:not(:disabled){cursor:pointer}
.farm-till:not(:disabled):focus-visible{outline:0;filter:drop-shadow(0 0 12px #fff3a6)}
.farm-scene[data-phase="reserve"] .seed-bench,.farm-scene[data-phase="reserve"] .watering-can,.farm-scene[data-phase="reserve"] .sale-pouch,.farm-scene[data-phase="reserve"] .profit-equation,.farm-scene[data-phase="reserve"] .profit-sacks,
.farm-scene[data-phase="sale"] .seed-bench,.farm-scene[data-phase="sale"] .watering-can,.farm-scene[data-phase="sale"] .work-cash,
.farm-scene[data-phase="profit"] .seed-bench,.farm-scene[data-phase="profit"] .watering-can,.farm-scene[data-phase="profit"] .work-cash{visibility:hidden;opacity:0}

@keyframes cashWarn{35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
@keyframes canReady{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-7deg)}}

@media(max-width:900px) and (orientation:portrait){
  .farm-prompt{top:9px;max-width:55%;min-height:58px;font-size:20px}
  .farm-progress{top:13%}.customer-order strong{font-size:18px}.seed-bag{min-width:70px}.reserve-jars{left:33%;width:34%}.reserve-jars.is-kept{left:22%;width:13%}.profit-sacks{left:31%;right:31%}
}
@media(max-width:760px) and (orientation:landscape){
  .farm-prompt{min-height:50px;font-size:18px}.customer-order strong{font-size:17px}.work-cash small,.seed-bag small,.sale-pouch span,.profit-equation small{font-size:11px}.seed-bag{min-width:60px;min-height:76px}.profit-equation{transform:translateX(-50%) scale(.94)}
}
html[data-motion="reduced"] .watering-can,html[data-motion="reduced"] .farm-scene.is-growing .sprouts i,html[data-motion="reduced"] .farm-scene.has-crop .sprouts i{animation:none}
html[data-motion="reduced"] .farm-scene.is-growing .sprouts i,html[data-motion="reduced"] .farm-scene.has-crop .sprouts i{opacity:1;transform:none}

/* Portrait iPads use a tall composition around the same uncropped 16:9 art. */
@media(orientation:portrait){
  .farm-scene{left:0;top:0;width:100%;height:100svh;max-width:none;aspect-ratio:auto;transform:none}
  .farm-art{background-size:100% auto;background-position:center 15%;background-repeat:no-repeat;transform:none}
  .farm-back{left:14px;top:calc(env(safe-area-inset-top) + 10px)}.farm-wallet{right:14px;top:calc(env(safe-area-inset-top) + 10px)}
  .farm-prompt{top:calc(env(safe-area-inset-top) + 9px);max-width:55%;font-size:clamp(20px,2.6vw,25px)}.farm-progress{top:8%}
  .customer-area{right:1%;top:14%;width:31%;height:24%}.customer-order{right:45%;top:0;max-width:230px}.customer-order strong{font-size:clamp(18px,2.4vw,22px)}
  .work-cash{left:43%;top:17%}.seed-bench{left:2%;top:19%;width:45%;height:18%}.garden-bed{left:38%;top:19%;width:60%;height:21%}.watering-can{left:61%;top:16.5%}
  .reserve-jars{left:11%;top:40%;bottom:auto;width:78%;height:9%;gap:5%}.reserve-jars.is-kept{left:23%;top:39%;bottom:auto;width:15%;height:9%}
  .sale-pouch{right:18%;top:27%}.farm-till{right:0;top:23%;width:38%;height:12%}
  .profit-equation{top:39%;bottom:auto;max-width:92%;white-space:nowrap}.profit-sacks{left:10%;right:10%;top:43%;bottom:auto;height:9%}
}

/* Storybook watering pass: a real illustrated tool, staged growth, and phase-only money. */
.profit-equation[hidden],.profit-sacks[hidden],.sale-pouch[hidden],.reserve-jars[hidden],.watering-can[hidden]{display:none!important}
.watering-can{
  left:58%;top:38%;width:clamp(118px,12%,176px);height:clamp(74px,9%,106px);
  border-radius:0;overflow:visible;transform-origin:27% 68%;
  filter:drop-shadow(0 8px 5px rgba(42,58,52,.34));
}
.watering-can img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.watering-stream{position:absolute;right:-1%;bottom:-33%;width:30%;height:61%;opacity:0;transform:rotate(-10deg);transform-origin:50% 0;pointer-events:none;background:repeating-radial-gradient(ellipse at 50% 0,rgba(185,245,255,.95) 0 4px,rgba(94,196,226,.8) 5px 8px,transparent 9px 17px);filter:drop-shadow(0 2px 2px rgba(43,139,178,.38))}
.farm-scene.is-growing .watering-can img{animation:canPour 1.55s cubic-bezier(.25,.72,.31,1) both}
.farm-scene.is-growing .watering-stream{animation:waterStream 1.55s ease-in-out both}
.watering-can[data-ready="true"]{animation:canReady 1.35s ease-in-out infinite}
.watering-can[data-ready="true"] img{filter:drop-shadow(0 0 8px rgba(255,239,137,.95))}

.sprouts{inset:4% 5% 8%;display:block;padding:0}
.sprouts i{position:absolute;bottom:12%;width:clamp(44px,4vw,64px);height:clamp(80px,6.25vw,100px);margin:0!important;opacity:0;translate:-50% 0;transform:translateY(30px) scale(.16);transform-origin:50% 100%;filter:drop-shadow(0 4px 2px rgba(40,67,42,.28))}
.sprouts i::before{content:"";position:absolute;left:calc(50% - 3px);bottom:0;width:6px;height:70%;border-radius:5px;background:linear-gradient(#6fb768,#367e47);box-shadow:-9px -12px 0 -2px #74bd66,9px -23px 0 -2px #62a95b;transform:rotate(-1deg)}
.sprouts i::after{content:"";position:absolute;left:0;top:-2px;width:100%;height:50%;background:radial-gradient(circle at 26% 28%,#ebcbff 0 8%,#9b68c9 10% 22%,transparent 24%),radial-gradient(circle at 72% 30%,#d4a8f1 0 9%,#7545a8 11% 24%,transparent 26%),radial-gradient(circle at 48% 63%,#e5c3fa 0 9%,#8a55b9 11% 25%,transparent 27%),radial-gradient(circle at 17% 75%,#ba89dc 0 8%,#6c3d98 10% 22%,transparent 24%);filter:drop-shadow(0 2px 1px rgba(57,54,45,.3))}
.farm-scene.is-growing .sprouts i,.farm-scene.has-crop .sprouts i{animation:sproutGrowStory .86s cubic-bezier(.16,.78,.25,1.2) var(--sprout-delay,0s) forwards}

@keyframes canPour{0%,12%{transform:rotate(0) translate(0,0)}33%,73%{transform:rotate(-24deg) translate(-3px,7px)}100%{transform:rotate(0) translate(0,0)}}
@keyframes waterStream{0%,20%,88%,100%{opacity:0;transform:rotate(-10deg) scaleY(.2)}32%,76%{opacity:1;transform:rotate(-10deg) scaleY(1)}}
@keyframes sproutGrowStory{0%{opacity:0;transform:translateY(30px) scale(.16)}60%{opacity:1;transform:translateY(-5px) scale(1.08)}100%{opacity:1;transform:translateY(0) scale(1)}}

@media(orientation:portrait){
  .watering-can{left:61%;top:30%;width:15%;height:11%}
}
@media(prefers-reduced-motion:reduce){
  .farm-scene.is-growing .watering-can img,.farm-scene.is-growing .watering-stream{animation:none}
  .farm-scene.is-growing .watering-stream{opacity:.75;transform:none}
}

/* Illustrated seed packets sit at the stall; growth is rooted in all three soil beds. */
.seed-bag{display:grid;align-content:end;justify-items:center;padding:0 10% 9%;border:0;border-radius:15%;background:var(--pw-cloudberry-seed,url('/cloudberry-seed-packet.webp')) center/contain no-repeat;box-shadow:none;text-shadow:0 2px 3px #382718;filter:drop-shadow(0 7px 4px rgba(47,43,35,.28));overflow:visible}
.seed-bag::before,.seed-bag::after{display:none}
.seed-packet-label{position:absolute;z-index:1;left:17%;right:13%;bottom:7%;height:38%;display:block;padding:0;border:0;background:none;box-shadow:none;white-space:nowrap;overflow:visible}
.seed-packet-label small,.seed-packet-label strong{position:absolute;left:50%;z-index:1;display:block;margin:0;line-height:1;text-align:center;transform:translate(-50%,-50%);text-shadow:0 2px 3px #382718,0 0 4px rgba(56,39,24,.72)}.seed-packet-label small{top:27%;font-size:clamp(12px,1vw,16px);font-weight:1000;letter-spacing:-.03em}.seed-packet-label strong{top:73%;font-size:clamp(18px,1.4vw,23px);color:#fff2a4}
.garden-token{position:relative;width:18%;min-width:72px;min-height:0;aspect-ratio:.84;display:block;padding:0;border:0;border-radius:15%;background:var(--pw-cloudberry-seed,url('/cloudberry-seed-packet.webp')) center/contain no-repeat;box-shadow:none;color:#fff;filter:drop-shadow(0 7px 4px rgba(47,43,35,.28));cursor:pointer;touch-action:manipulation}.garden-token .seed-packet-label{left:17%;right:13%;bottom:7%;height:38%}.garden-token:hover,.garden-token:focus-visible{filter:brightness(1.08) drop-shadow(0 0 10px rgba(255,238,136,.9));transform:translateY(-4px)}
.seed-drag-ghost{width:88px;height:105px;border:0;border-radius:15%;background:var(--pw-cloudberry-seed,url('/cloudberry-seed-packet.webp')) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 9px 6px rgba(35,43,39,.35));opacity:.94}.seed-drag-ghost .seed-packet-label{left:17%;right:13%;bottom:7%;height:38%}
.sale-pouch{width:clamp(94px,9%,132px);height:clamp(88px,10%,126px);padding:0;border:0;border-radius:18%;background:none;box-shadow:none;filter:drop-shadow(0 8px 5px rgba(56,45,35,.34));overflow:visible}.sale-pouch::before{display:none}.sale-pouch img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.sale-pouch strong{position:absolute;left:50%;bottom:8%;min-width:48px;padding:3px 8px;border:2px solid #fff1a8;border-radius:999px;background:rgba(72,48,31,.9);color:#fff2a4;font-size:clamp(19px,1.65vw,27px);line-height:1;transform:translateX(-50%);text-shadow:0 2px 2px #382718}.wallet-drag-ghost{width:104px;height:100px;border:0;border-radius:18%;background:none;box-shadow:none;filter:drop-shadow(0 10px 6px rgba(35,43,39,.38));opacity:.95}.wallet-drag-ghost img{display:block;width:100%;height:100%;object-fit:contain}.wallet-drag-ghost strong{position:absolute;left:50%;bottom:8%;min-width:46px;padding:3px 7px;border:2px solid #fff1a8;border-radius:999px;background:rgba(72,48,31,.9);color:#fff2a4;font-size:22px;line-height:1;transform:translateX(-50%)}
.seed-bag:hover,.seed-bag:focus-visible{filter:brightness(1.08) drop-shadow(0 0 10px rgba(255,238,136,.9));transform:translateY(-5px) rotate(0)}
.garden-bed{left:21.5%;top:35%;width:53.5%;height:31%;border-radius:28%}
.garden-selection{left:9%;right:9%;bottom:5%;height:34%}
.watering-can{left:39.5%;top:30.5%;width:clamp(106px,10%,150px);height:clamp(66px,8%,94px)}
.work-cash{left:auto;right:8%;top:55%}
@media(orientation:portrait){
  .farm-scene{left:0;top:0;width:100vw;height:100svh;max-width:none;aspect-ratio:auto;transform:none}
  .farm-art{background-size:100% auto;background-position:center top;background-repeat:no-repeat;transform:none}
  .farm-back{left:14px;top:calc(env(safe-area-inset-top) + 10px)}.farm-wallet{right:14px;top:calc(env(safe-area-inset-top) + 10px)}
  .farm-prompt{top:calc(env(safe-area-inset-top) + 9px);max-width:55%;font-size:clamp(19px,2.6vw,25px)}.farm-progress{top:7vw}
  .customer-area{right:1%;top:10vw;width:25%;height:25vw}.customer-order{right:45%;top:0;max-width:220px}
  .seed-bench{left:2%;top:15vw;width:36%;height:22vw}
  .garden-bed{left:21.5%;top:19.5vw;width:53.5%;height:17.5vw}
  .watering-can{left:39.5%;top:17.2vw;width:11%;height:9vw}
  .work-cash{left:auto;right:5%;top:36vw}
  .reserve-jars{left:11%;top:60vw;bottom:auto;width:78%;height:10vw}.reserve-jars.is-kept{left:23%;top:39vw;bottom:auto;width:15%;height:9vw}
  .sale-pouch{right:18%;top:25vw}.farm-till{right:0;top:21vw;width:38%;height:12vw}
  .profit-equation{top:60vw;bottom:auto;max-width:92%;white-space:nowrap}.profit-sacks{left:10%;right:10%;top:72vw;bottom:auto;height:11vw}
}
@media(max-width:500px) and (orientation:portrait){
  .seed-bench{left:1%;width:70%}.seed-bag{width:24%;min-width:44px;top:12%!important}.seed-bag:nth-child(1){left:0}.seed-bag:nth-child(2){left:25%}.seed-bag:nth-child(3){left:50%}.seed-bag:nth-child(4){left:75%}
}

/* A planted crop has a stable visible state after growth, navigation or resume. */
.garden-selection{z-index:1;transition:opacity .2s ease}
.sprouts{z-index:3;overflow:visible}
.sprouts[data-growth="soil"] .cloudberry-plant{visibility:hidden}
.farm-scene.is-growing .sprouts[data-growth="growing"] .cloudberry-plant{visibility:visible;animation:sproutGrowStory .86s cubic-bezier(.16,.78,.25,1.2) var(--sprout-delay,0s) forwards}
.farm-scene.has-crop .garden-selection{opacity:0;visibility:hidden;pointer-events:none}
.farm-scene.has-crop .sprouts[data-growth="grown"] .cloudberry-plant{visibility:visible;opacity:1;transform:translateY(0) scale(1);animation:none}
@media(prefers-reduced-motion:reduce){.garden-selection{transition:none}.farm-scene.is-growing .sprouts[data-growth="growing"] .cloudberry-plant{animation:none;opacity:1;transform:none}}
html[data-motion="reduced"] .garden-selection{transition:none}
html[data-motion="reduced"] .farm-scene.is-growing .sprouts[data-growth="growing"] .cloudberry-plant{animation:none;opacity:1;transform:none}
