.water-hub-art{background:#d8ece8}.water-hub-art img{width:100%;height:100%;object-fit:cover;border-radius:16px}
[data-water-drag],[data-river-wheel],[data-pipe-card],.pipe-cell.has-pipe{touch-action:none!important;user-select:none;-webkit-user-select:none}
.river-lesson.explore-lesson{grid-template-rows:40px minmax(0,1fr) 170px}.explore-lesson .river-controls{display:grid;grid-template-rows:9px 60px minmax(0,1fr);gap:7px;align-content:stretch;justify-items:center;width:100%;height:100%;min-height:0}.explore-lesson .river-controls>p{height:100%;min-height:0;display:grid;place-items:center;max-width:100%;overflow-wrap:anywhere}.explore-tool-slot{height:100%;min-height:0;width:100%;display:grid;place-items:center}.explore-lesson .river-answers{grid-row:3;height:100%;min-height:0}.explore-lesson .river-controls>.water-secondary{grid-row:3}.explore-tool-slot:has(+.river-answers),.explore-tool-slot:has(+.water-secondary){display:none}
.explore-bridge i.placed{border-radius:999px!important;border:2px solid #735238!important;background:linear-gradient(180deg,#d3aa70,#bd8d51 48%,#9f703f 50%,#c0955b 78%,#dfbb80)!important;box-shadow:inset 9px 0 0 #e0ba80,0 3px 4px #1b4d4655!important}
@media(max-height:650px) and (orientation:portrait){.river-lesson.explore-lesson{grid-template-rows:40px minmax(0,1fr) 142px}.explore-lesson .river-controls{grid-template-rows:9px 52px minmax(0,1fr);gap:5px}}
.water-drop-spot{position:absolute;transform:translate(-50%,-50%);width:22%;height:13%;min-height:44px;border:3px dashed #fff1bc;background:#467e7133;border-radius:50%;display:grid;place-items:center;color:#fff8cf;font-size:30px;pointer-events:none}
.water-game[aria-busy="true"] button{cursor:wait}.water-game[aria-busy="true"] .river-controls{opacity:.7}
.water-wide .water-heading{display:none}.water-game.water-wide{grid-template-rows:minmax(0,1fr) auto;gap:0}
/* Shared cell size keeps the six square cards, board and endpoints in one view. */
.water-pipes{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr);gap:0}
.pipe-title{display:flex;align-items:center;gap:10px;min-width:0}.pipe-title h1{font:800 clamp(18px,3vw,28px)/1 Arial,sans-serif;letter-spacing:.035em;margin:0;flex:1}.pipe-level{font-size:14px;white-space:nowrap}.pipe-title>button{width:44px;height:44px;flex:none;border:1px solid #c0d0b8;border-radius:50%;background:#fffdf2;font-size:24px!important}.pipe-title .water-points{font-size:18px;padding:4px 10px}
.pipe-play{container-type:size;min-height:0;min-width:0;display:grid;place-items:center}
.pipe-layout{--pipe-scenes-width:clamp(110px,min(calc(100cqh * .48),calc(100cqw * .18)),160px);--pipe-unit:min(calc((100cqh - 36px)/3),calc((100cqw - var(--pipe-scenes-width) - var(--pipe-tool-size) - 56px)/6));--pipe-card-size:var(--pipe-unit);--pipe-tool-size:min(62px,calc((100cqh - 18px)/4));display:grid;grid-template-columns:var(--pipe-tool-size) calc(3 * var(--pipe-unit) + 8px) calc(3 * var(--pipe-unit) + 24px) var(--pipe-scenes-width);gap:8px;align-items:center;width:max-content;min-height:0}
.pipe-palette{min-width:0;display:flex;flex-direction:column;gap:6px;align-items:center}.pipe-tray{display:grid;grid-template-columns:repeat(3,var(--pipe-unit));grid-template-rows:var(--pipe-card-size) var(--pipe-unit) var(--pipe-card-size);gap:4px;justify-items:center;align-items:center}.pipe-card{position:relative;width:var(--pipe-card-size);height:var(--pipe-card-size);border:2px solid #becbae;border-radius:7px;background:#fffdf1;padding:2px;box-shadow:0 2px 0 #cbd6bd}.pipe-card svg{display:block;width:100%;height:100%}.pipe-card.is-selected{border-color:#d2a133;background:#ffe8a4;box-shadow:0 0 0 3px #e9cc7c}.pipe-card-check{position:absolute;right:1px;bottom:1px;background:#568572;color:white;border-radius:50%;width:18px;height:18px;font-size:13px}.pipe-card-price{position:absolute;right:2px;bottom:1px;background:#fff1b7;border-radius:6px;padding:1px 3px;font-size:11px;font-weight:800;color:#99762e}.pipe-card-cost{font-weight:800;font-size:28px;color:#a68232}.pipe-source-end{grid-row:2;grid-column:1}.pipe-target-end{grid-row:2;grid-column:3}.pipe-direction{grid-row:2;grid-column:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:clamp(28px,6vw,48px);font-weight:800;color:#4592a0}.pipe-tray-page{display:grid;place-items:center;padding:6px;color:#365c53}.pipe-tray-page svg{width:min(38px,calc(var(--pipe-tool-size) * .62));height:min(32px,calc(var(--pipe-tool-size) * .52))}
.pipe-sidebar{height:calc(100cqh - 8px);min-height:0;display:grid;grid-template-rows:minmax(0,1fr);gap:4px}.pipe-sidebar .water-points{font-size:14px;text-align:center;padding:3px;border-radius:7px}.pipe-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:3px;min-height:0}.pipe-scene-card{position:relative;min-width:0;min-height:0;padding:0;border:1px solid #b6c7a9;border-radius:5px;background:#e9f3dd;overflow:hidden}.pipe-scene-card>svg{display:block;width:100%;height:100%}.pipe-scene-card.is-active{border:3px solid #ce9c35;background:#ffebae}.pipe-scene-check{position:absolute;right:0;bottom:0;background:#568572;color:#fff;font-size:11px;border-radius:4px;padding:0 2px}.pipe-screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pipe-controls{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:var(--pipe-tool-size);max-height:100cqh}.pipe-controls .water-points,.pipe-help,.pipe-controls .pipe-tray-page{width:var(--pipe-tool-size);height:var(--pipe-tool-size);min-width:var(--pipe-tool-size);min-height:var(--pipe-tool-size);flex:none;box-sizing:border-box;border:2px solid #b4c7a7;background:#fffdf2;border-radius:7px;padding:4px;box-shadow:0 2px 0 #cbd6bd}.pipe-help{font-size:min(32px,calc(var(--pipe-tool-size) * .52))!important;font-weight:800!important}.pipe-controls .water-points{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:#f6dd91;border-color:#d3ba73;font-size:18px;line-height:1}.pipe-balance-row{display:flex;align-items:center;justify-content:space-between;gap:3px;width:100%;height:calc((var(--pipe-tool-size) - 12px)/2);line-height:1}.pipe-balance-row>svg{width:min(21px,calc(var(--pipe-tool-size) * .34));height:min(21px,calc(var(--pipe-tool-size) * .34));flex:none}.pipe-balance-row>span:first-child{font-size:min(22px,calc(var(--pipe-tool-size) * .36))}.pipe-point-count{font-size:min(22px,calc(var(--pipe-tool-size) * .36));line-height:1}.pipe-point-count.is-long{font-size:13px}
.pipe-controls .water-primary{padding:7px 10px;min-height:44px;border-radius:8px;font-size:13px!important;line-height:1.2}.pipe-earn-hint{display:flex;align-items:center;gap:5px;font-size:21px;font-weight:800;color:#957532}.pipe-earn-hint>span{max-width:65px;font-size:11px;line-height:1.2}
.pipe-board-frame{display:grid;place-items:center;padding:18px 12px;min-width:0;min-height:0}.pipe-board{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:0;width:calc(3 * var(--pipe-unit));height:calc(3 * var(--pipe-unit));background:#e6ead7;outline:3px solid #98b6a1;border-radius:9px;box-shadow:0 3px 0 3px #b8cab0;overflow:visible}
.pipe-cell{padding:0;min-width:0;min-height:0;border:1px solid #bacbb8;background:transparent;position:relative;overflow:hidden}.pipe-cell:nth-child(1){border-top-left-radius:9px}.pipe-cell:nth-child(3){border-top-right-radius:9px}.pipe-cell:nth-child(7){border-bottom-left-radius:9px}.pipe-cell:nth-child(9){border-bottom-right-radius:9px}.pipe-cell svg{width:100%;height:100%;display:block}.pipe-empty{font-size:28px;color:#adc1ac}.pipe-cell.is-selected{background:#f9e4a5}.pipe-cell.is-leaking{background:#f2c8aa;box-shadow:inset 0 0 0 3px #db9269}.pipe-guide{display:block;width:100%;height:100%;opacity:.22}.pipe-end{position:absolute;z-index:2;transform:translate(-50%,-50%);background:#fff9e5;border:2px solid #669f9c;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:18px;pointer-events:none;box-shadow:0 2px 3px #36595022}.pipe-end-out{border-color:#c09b4b;background:#ffefb9}
.pipe-endpoints{display:flex;flex-direction:column;align-items:center;gap:10px}.pipe-endpoint{display:flex;flex-direction:column;gap:3px;align-items:center;width:100%}.pipe-endpoint>strong{font:800 clamp(10px,1.4vw,14px)/1.2 Arial,sans-serif;text-align:center;overflow-wrap:anywhere;min-height:17px}.pipe-endpoint-art,.pipe-situation{width:var(--pipe-unit);height:var(--pipe-unit);position:relative;background:#e9f3dd;border-radius:7px;overflow:hidden}.pipe-endpoint-art>svg,.pipe-situation>svg,.pipe-before>svg{display:block;width:100%;height:100%}.pipe-before{position:absolute;inset:0;pointer-events:none;animation:pipe-result 1s .4s ease-out forwards}.pipe-success{position:absolute;right:3px;top:1px;color:#467d60;font-size:24px}
.water-pipes button:disabled{cursor:default;opacity:.5}.water-pipes .pipe-cell:disabled{opacity:1}
.pipe-water{stroke-dasharray:150;stroke-dashoffset:var(--fill-from,150);animation:pipe-fill .65s var(--fill-delay,0s) linear forwards}.pipe-flow-dashes{animation:pipe-flow 1s linear infinite}.pipe-wheel-spin{animation:pipe-spin 2s linear infinite}.is-paused .pipe-water,.is-paused .pipe-flow-dashes,.is-paused .pipe-wheel-spin,.is-paused .pipe-before{animation-play-state:paused}
@keyframes pipe-fill{to{stroke-dashoffset:0}}@keyframes pipe-flow{to{stroke-dashoffset:-22}}@keyframes pipe-spin{to{transform:rotate(360deg)}}@keyframes pipe-result{to{opacity:0}}
@media(orientation:landscape) and (max-height:420px){.water-pipes{grid-template-rows:minmax(0,1fr);gap:0}.pipe-title{gap:7px}.pipe-title>button{height:40px}.pipe-title h1{font-size:19px}.pipe-title .water-points{font-size:16px}}
@media(orientation:landscape) and (max-width:640px){.pipe-title h1{font-size:16px}.pipe-title{gap:5px}.pipe-title>button{width:40px}.pipe-earn-hint>span{display:none}.pipe-controls .water-primary{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.pipe-water{animation:none!important;stroke-dashoffset:0}.pipe-flow-dashes,.pipe-wheel-spin{animation:none!important}.pipe-before{display:none}}
body.water-active{height:100dvh;overflow:hidden;overscroll-behavior:none;background:#edf2e6}
body.water-active .app-shell{height:100dvh;min-height:0;width:100%;max-width:530px;padding:max(5px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:flex;flex-direction:column}
.water-active .site-header{flex:none}.water-active .site-header .brand-wordmark{max-width:95px}.water-active .site-header .brand-toad{width:42px;height:42px}.water-active .site-footer{display:none}.water-active #main{flex:1;min-height:0;overflow:hidden}.water-active #portrait-game,.water-game-root{height:100%;min-height:0}
.water-game{height:100%;display:grid;grid-template-rows:30px minmax(0,1fr) auto;gap:8px;color:#2b514a}.water-game button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}.water-game button:focus-visible{outline:4px solid #d7a63c;outline-offset:3px}.water-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:700}.water-points{background:#f6dd91;color:#735819;border-radius:14px;padding:5px 12px;font-size:19px;white-space:nowrap}.water-feedback{font-size:12px;line-height:1.3;min-height:0;margin:0;text-align:center}.water-feedback:empty{display:none}.water-reading-word{font-family:Arial,sans-serif;font-size:clamp(30px,7vw,42px);font-weight:800;letter-spacing:.08em;line-height:1;margin:0;color:#294e46}
.water-picker{position:relative;min-height:0;display:grid;grid-template-rows:60px minmax(0,1fr);gap:10px}.water-pick-prompt{display:flex;align-items:center;justify-content:center;gap:10px}.water-pick-prompt img{width:52px;height:52px;object-fit:contain}.water-pick-prompt h1{font-size:clamp(17px,4.6vw,23px);line-height:1.2;margin:0;flex:1}.water-listen{display:grid;place-items:center;flex:none;border:1px solid #acc1ac;border-radius:50%;width:44px;height:44px;background:#fffdf2;font-size:26px!important;font-weight:800}.water-choices{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;min-height:0;padding-bottom:4px}.water-choice{display:grid;grid-template-rows:32px minmax(0,1fr);gap:5px;min-height:0;overflow:hidden;border:2px solid #d4dfc5;border-radius:23px;padding:7px;background:#fffef6;box-shadow:0 4px 0 #cfdbc3}.water-choice strong{font-family:Arial,sans-serif;font-size:28px;letter-spacing:.08em;font-weight:800;line-height:1.1}.water-choice img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 42%;border-radius:15px;pointer-events:none}.water-choice:active{transform:translateY(2px);box-shadow:0 2px 0 #cfdbc3}.water-choice:disabled{cursor:default}.water-wrong{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edf2e6f5;border-radius:24px;gap:10px;padding:14px}.water-wrong p{font-size:19px;font-weight:700;text-align:center;margin:0}.water-primary{border:0;background:#3d725c;color:#fffdf2!important;min-height:48px;border-radius:16px;padding:12px 18px;box-shadow:0 4px 0 #254c3b;font-weight:800!important;font-size:16px!important;letter-spacing:.025em}.water-shrug{width:min(230px,70%);aspect-ratio:1;position:relative}.water-shrug img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.water-preview{min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr) auto auto;gap:12px;text-align:center}.water-preview>img{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:24px}.water-preview>p{font-size:17px;margin:0}.water-preview-actions{display:flex;justify-content:center;gap:12px}
.river-lesson{height:100%;min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr) auto;gap:8px}.river-title{display:flex;align-items:center;justify-content:space-between}.water-back{border:1px solid #c0d0b8;background:#fffdf2;border-radius:50%;width:40px;height:40px;font-size:24px!important}.river-stage-frame{container-type:size;min-height:0;min-width:0;display:grid;place-items:center}.river-scene{position:relative;width:min(100cqw,calc(100cqh * 4 / 5));height:min(100cqh,calc(100cqw * 5 / 4));aspect-ratio:4/5;overflow:hidden;border-radius:22px;background:#afd5c5;box-shadow:0 3px 10px #31544320}.river-background,.river-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.river-overlay{pointer-events:none}.river-release{position:absolute;left:22%;top:42%;width:32%;height:17%;border:0;background:transparent;display:grid;place-items:center;padding:0}.river-release svg{width:55px;height:42px;filter:drop-shadow(0 2px 3px #183b39)}.river-release span{font-size:28px;font-weight:800;color:#fffdf0;position:absolute;bottom:0;text-shadow:0 2px 4px #254a4a;animation:river-tap 1.2s ease-in-out infinite}.river-wheel-target{position:absolute;transform:translate(-50%,-50%);width:23%;aspect-ratio:1;min-width:48px;min-height:48px;border:3px dashed #fff0b8;border-radius:50%;background:#294c4045;color:#fffdf0!important;font-size:36px!important;font-weight:800}.river-wheel-target.is-ready{background:#efd36777;animation:river-ready 1s ease-in-out infinite}.river-controls{display:flex;flex-direction:column;align-items:center;gap:7px;min-height:34px}.river-controls>p{margin:0;font-size:15px;font-weight:700;line-height:1.3;text-align:center}.river-wheel-item{border:2px solid #ccb784;border-radius:18px;background:#ffefcc;padding:7px;min-width:130px;display:flex;flex-direction:column;align-items:center;gap:3px;touch-action:none!important}.river-wheel-item strong{font-family:Arial,sans-serif;font-size:16px;letter-spacing:.04em}.river-wheel-item svg{width:75px;height:75px}.river-wheel-item[aria-pressed=true]{border-color:#527654;background:#ecde9f}.river-answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:360px}.river-answers button{border:2px solid #cbdac0;border-radius:18px;background:#fffdf2;display:grid;gap:4px;padding:6px}.river-answers strong{font-family:Arial,sans-serif;letter-spacing:.045em;font-size:18px}.river-answers svg{width:100%;height:75px}.river-wheel-spin{animation:river-wheel-turn 2.4s linear infinite;transform-box:fill-box;transform-origin:center}.river-flour{animation:river-flour-fall 1s linear infinite;opacity:.9}.river-result{position:absolute;left:6%;right:6%;bottom:7%;padding:13px 12px;border-radius:22px;background:#fffdf2f2;text-align:center;display:grid;gap:7px;box-shadow:0 5px 20px #294f4130}.river-reward{font-size:38px;font-weight:800;color:#b58b23}.river-result h2{font-size:18px;margin:0;color:#2c654e}.river-result p{font-size:12px;margin:0}.river-result .water-primary{font-size:14px!important;min-height:44px;padding:10px}.water-drag-ghost{position:fixed;z-index:50;transform:translate(-50%,-115%);pointer-events:none;width:80px;opacity:.88;filter:drop-shadow(0 4px 3px #2b4d4850)}.water-drag-ghost svg,.water-drag-ghost img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.is-paused *{animation-play-state:paused!important}@keyframes river-wheel-turn{to{transform:rotate(360deg)}}@keyframes river-flour-fall{0%{transform:translateY(0);opacity:0}40%{opacity:1}100%{transform:translateY(10px);opacity:0}}@keyframes river-tap{50%{transform:translateY(4px)}}@keyframes river-ready{50%{box-shadow:0 0 0 8px #f6d77950}}
.water-later{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px;align-items:center;text-align:center}.water-later h1{grid-column:1/-1;font-size:26px;margin:0}.water-later>img{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:22px}.water-later>div{padding:12px}.water-later p{font-size:17px;line-height:1.4}.water-later .water-listen{margin:12px auto}
@media(orientation:landscape){body.water-active .app-shell{max-width:1000px}.water-game{grid-template-rows:30px minmax(0,1fr) auto}.water-later h1{font-size:23px}.water-later p{font-size:15px}}
@media(max-height:650px) and (orientation:portrait){.water-game{gap:5px}.water-picker{grid-template-rows:44px minmax(0,1fr);gap:6px}.water-pick-prompt img{width:42px;height:42px}.water-choices{gap:7px}.water-choice{grid-template-rows:29px minmax(0,1fr);padding:5px}.water-choice strong{font-size:26px}.river-wheel-item{padding:5px}.river-wheel-item svg{width:60px;height:60px}.river-answers svg{height:60px}.river-controls>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.water-game *{animation:none!important;transition:none!important}}
.water-lesson-menu{display:grid;grid-template-rows:44px minmax(0,1fr) 48px;gap:10px;min-height:0}.water-lesson-cards{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;min-height:0}.water-lesson-cards>button{position:relative;display:grid;grid-template-rows:32px minmax(0,1fr);gap:5px;border:2px solid #d4dfc5;border-radius:22px;background:#fffdf2;padding:9px;min-height:0;overflow:hidden;box-shadow:0 3px 0 #cfdbc3}.water-lesson-cards strong{font-family:Arial,sans-serif;font-size:24px;letter-spacing:.04em;line-height:1.2}.water-lesson-cards>button>div{display:grid;place-items:center;min-height:0;border-radius:14px;background:#e5edd8}.water-lesson-cards svg{height:100%;max-width:75%;max-height:135px}.lesson-star{position:absolute;right:16px;bottom:12px;font-size:29px;color:#b18a2c}.water-secondary{background:#fffdf2;border:2px solid #bdcead;border-radius:14px;min-height:44px;padding:7px 13px;font-weight:800!important}.explore-item,.explore-decor{position:absolute;transform:translate(-50%,-50%);aspect-ratio:140/110;display:grid;place-items:center;padding:0;border:0;background:transparent;min-width:48px;min-height:48px}.explore-item svg,.explore-decor svg{width:100%;height:100%;filter:drop-shadow(0 2px 1px #264c3d55)}.explore-item:disabled{cursor:default}.explore-decor{pointer-events:none;min-width:0;min-height:0}.explore-tool{display:grid;place-items:center;border:2px solid #c6b184;border-radius:16px;background:#fff0cb;min-width:120px;padding:5px}.explore-tool strong{font-family:Arial,sans-serif;font-size:19px;letter-spacing:.045em}.explore-tool svg{height:65px;width:95px}.lesson-dots{display:flex;gap:6px;justify-content:center;height:9px}.lesson-dots i{width:8px;height:8px;background:#c9d6ba;border-radius:50%}.lesson-dots i.complete{background:#537b59}.water-target{opacity:.65}.bridge-target{opacity:1;outline:0;border:0;background:transparent;height:9%;aspect-ratio:auto;min-height:44px;border-radius:14px}.bridge-target svg{visibility:hidden}.explore-bridge{position:absolute;left:29%;top:42%;width:54%;height:9%;transform:rotate(-10deg);display:flex;flex-direction:column;gap:2px;pointer-events:none}.explore-bridge i{flex:1;border:2px dashed #f5e8b388;border-radius:3px}.explore-bridge i.placed{background:repeating-linear-gradient(90deg,#d2a46b 0,#d2a46b 10%,#aa7d47 11%,#d2a46b 12%);border:2px solid #745034;box-shadow:0 3px 4px #1b4d4655}.explore-toad{position:absolute;left:21%;top:39%;width:19%;border:0;background:transparent;padding:0;min-height:48px}.explore-toad img{width:100%;height:auto}.explore-toad.has-crossed{left:74%;animation:toad-cross 2s ease-in-out}.garden-thirsty svg{filter:sepia(.7) saturate(.4);transform:rotate(23deg) scale(.65);transform-origin:bottom}.garden-grown{animation:garden-grow 1.5s ease-out}.bucket-full:after{content:'';position:absolute;right:3px;bottom:2px;width:10px;height:15px;border-radius:70% 30% 55% 55%;background:#7bbdc8;transform:rotate(25deg)}.found:after{content:'✓';position:absolute;right:-6px;top:-6px;background:#fff6d3;color:#406b48;border-radius:50%;font-size:21px;font-weight:bold;width:28px;height:28px}.fish-swim{animation:fish-swim 3.8s ease-in-out infinite}.dragonfly-hover{animation:dragonfly-hover 1.6s ease-in-out infinite}.picked-up{transform:translate(-50%,-50%) rotate(-15deg)}.sea-wave{transform:translate(-50%,-50%) scale(.4);aspect-ratio:420/90;min-height:0;opacity:.85;animation:wave-idle 2.6s ease-in-out infinite}.sea-wave svg{filter:none}.sea-wave-breaking{transform:translate(-50%,-50%) scale(1.05);animation:wave-arrives 2.6s ease-out forwards}.sea-wave-settled{transform:translate(-50%,-50%) scale(1.05);animation:none;opacity:.15}.shell-arrived{animation:shell-arrives .8s ease-out 1.5s backwards}.fishing-rig{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.ship-sailing{animation:ship-sails 3s ease-in-out forwards}.lesson-sea-cargo.step-7 .explore-decor{animation:ship-sails 3s ease-in-out forwards}.salt-appears{animation:salt-appears 1.5s ease-out}.water-shrug{overflow:visible}.shrug-body{clip-path:polygon(0 0,100% 0,100% 39.6%,79.5% 39.6%,79.5% 53%,73% 64%,100% 64%,100% 100%,0 100%,0 64%,27% 64%,20.5% 53%,20.5% 39.6%,0 39.6%);z-index:2}.shrug-left{clip-path:polygon(0 39.6%,20.5% 39.6%,20.5% 53%,31% 57%,29% 64%,0 64%);z-index:1;transform-origin:30% 58%;animation:water-shrug-left .6s ease-in-out 4}.shrug-right{clip-path:polygon(100% 39.6%,79.5% 39.6%,79.5% 53%,69% 57%,71% 64%,100% 64%);z-index:1;transform-origin:70% 58%;animation:water-shrug-right .6s ease-in-out 4}@keyframes water-shrug-left{50%{transform:translateY(-2px) rotate(2deg)}}@keyframes water-shrug-right{50%{transform:translateY(-2px) rotate(-2deg)}}
@keyframes toad-cross{from{left:21%}to{left:74%}}@keyframes garden-grow{from{transform:translate(-50%,-50%) scale(.65);filter:sepia(.7)}to{transform:translate(-50%,-50%) scale(1);filter:none}}@keyframes fish-swim{50%{transform:translate(-35%,-50%) rotate(4deg)}}@keyframes dragonfly-hover{50%{transform:translate(-50%,-62%)}}@keyframes wave-idle{0%,100%{transform:translate(-50%,-50%) scale(.4)}50%{transform:translate(-50%,-55%) scale(.42)}}@keyframes wave-arrives{0%{top:42%;transform:translate(-50%,-50%) scale(.4);opacity:.65}65%{top:61%;transform:translate(-50%,-50%) scale(.85);opacity:.9}100%{top:65%;transform:translate(-50%,-50%) scale(1.05);opacity:.15}}@keyframes shell-arrives{from{transform:translate(-50%,-81%)}to{transform:translate(-50%,-50%)}}@keyframes ship-sails{to{transform:translate(160%,-90%) scale(.7);opacity:0}}@keyframes salt-appears{from{opacity:0;transform:translate(-50%,-50%) scale(.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-height:650px) and (orientation:portrait){.water-lesson-cards strong{font-size:21px}.explore-tool svg{height:48px}.river-controls{gap:5px}}
@media(prefers-reduced-motion:reduce){.water-game *{animation:none!important;transition:none!important}.ship-sailing{opacity:.35}}



.water-game.water-wide{grid-template-rows:minmax(0,1fr) auto;gap:0}

.water-game.water-wide{position:relative}.water-wide>.water-feedback{position:absolute;z-index:5;bottom:5px;left:8%;right:8%;padding:5px 9px;border-radius:10px;background:#fff6ddf2;pointer-events:none}

@media(orientation:landscape){body.water-active .site-header .brand-toad{width:34px;height:34px}}

@media(orientation:landscape){body.water-active .app-shell{max-width:none;padding-left:max(4px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}}



.pipe-help[aria-pressed="true"]{background:#cce4b8;border-color:#63944c;color:#315d2e}

.pipe-cell.is-blocked{background:#dce4ca;border-color:#b3c29e;opacity:1;cursor:default}.pipe-obstacle{width:88%;height:88%;pointer-events:none}

/* Portrait messages get their own stable row; controls fit inside their row. */
.water-game.water-tall{grid-template-rows:30px minmax(0,1fr) minmax(40px,max-content)}
.water-tall>.water-feedback{display:grid;align-content:center;box-sizing:border-box;min-height:40px;padding:4px 6px;line-height:1.35;overflow-wrap:anywhere}
.explore-lesson .river-answers button{height:100%;min-height:0;box-sizing:border-box;grid-template-rows:auto minmax(0,1fr)}
.explore-lesson .river-answers strong,.explore-tool strong{line-height:1.2}
.explore-lesson .river-answers svg{height:100%;min-height:0;max-height:75px}
.explore-tool{height:100%;min-height:0;box-sizing:border-box;grid-template-rows:auto minmax(0,1fr);gap:2px}
.explore-tool svg{height:100%;min-height:0;max-height:65px}

/* Keep one visible copy of a held object without collapsing its slot. */
.water-drag-source{visibility:hidden!important}
