:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#d8ebe4;--panel:#f4faf7;--text:#1f3d34;--muted:#4f6f64;--accent:#2f7f8f;--accent-strong:#1f6573;--water:#4aa3c7;--water-glow:#9ad7ef;--pipe-outer:#2d5244;--pipe-inner:#d4e8dc;--pipe-water:#4aa3c7;--pipe-water-inner:#2f7f8f;--pipe-water-light:#9ad7ef;--seed:#7a8f3a;--bloom:#e07a5f;--bloom-soft:#f2b8a7;--tile:#eef6f1;--tile-border:#8fb6a8;--danger:#c45c5c;--shadow:#1f3d341f;--radius:14px;--board-gap:clamp(4px, 1.2vw, 8px);--font:"Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;--glass-bg:#ffffffe0;--glass-bg-solid:#fcfdfcf5;--glass-border:#ffffffb8;--garden-veil-teal:#0f231e6b;--bed-inset:#1f3d3424;--tile-lift:#1f3d341a}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(circle at top, #9ad7ef59, transparent 45%), linear-gradient(180deg, #cfe6dc 0%, var(--bg) 55%, #c7dfd3 100%);color:var(--text);font-family:var(--font);line-height:1.5}#app{min-height:100vh;padding:clamp(12px,3vw,24px)}.app-shell{flex-direction:column;gap:16px;max-width:720px;min-height:calc(100vh - clamp(24px,6vw,48px));margin:0 auto;display:flex}.screen{flex-direction:column;flex:1;gap:16px;display:flex}.screen-card{background:color-mix(in srgb, var(--panel) 92%, white);border:1px solid color-mix(in srgb, var(--tile-border) 70%, white);border-radius:calc(var(--radius) + 4px);box-shadow:0 12px 30px var(--shadow);padding:clamp(16px,4vw,28px)}.title-mark{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.title-mark h1{letter-spacing:.08em;margin:0;font-size:clamp(1.8rem,6vw,2.6rem)}.title-mark p{color:var(--muted);max-width:28rem;margin:0}.status-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.status-item{border-radius:var(--radius);background:#ffffffa6;border:1px solid #8fb6a873;padding:10px 12px}.status-item span{color:var(--muted);font-size:.78rem;display:block}.status-item strong{font-size:clamp(1rem,3.5vw,1.2rem)}.status-item.is-urgent strong{color:var(--danger)}.rain-countdown{--rain-progress:1;border-radius:var(--radius);background:#ffffffb8;border:1px solid #ffffffb8;padding:10px 12px 12px;transition:border-color .18s,box-shadow .18s;box-shadow:0 4px 12px #0a1e181f,inset 0 1px #ffffff9e}.rain-countdown-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:7px;display:flex}.rain-countdown-kicker{color:var(--muted);letter-spacing:.08em;font-size:.72rem;font-weight:800}.rain-countdown-state{color:var(--accent-strong);font-size:.82rem}.rain-countdown-meter{background:repeating-linear-gradient(90deg,#ffffff14 0 12px,#0000 12px 20px),#1f3d344d;border:1px solid #1f3d3438;border-radius:999px;height:12px;overflow:hidden;box-shadow:inset 0 2px 4px #0f231e38}.rain-countdown-fill{background:linear-gradient(90deg, #d89057 0%, #e4b465 22%, var(--water) 58%, #67b9d4 100%);border-radius:inherit;height:100%;transform:scaleX(var(--rain-progress));transform-origin:0;transition:transform .1s linear;display:block;box-shadow:0 0 8px #4aa3c76b,inset 0 1px #ffffff7a}.rain-countdown.is-urgent{border-color:#d89057b8;box-shadow:0 0 0 2px #d8905729,0 5px 16px #592d1b29}.rain-countdown.is-urgent .rain-countdown-state{color:#a94f3d;animation:.62s ease-in-out infinite rainUrgentPulse}.rain-countdown.is-resolving .rain-countdown-fill{background:linear-gradient(90deg, var(--water), var(--water-glow), var(--water));animation:.72s ease-in-out infinite alternate rainResolveSweep;transform:scaleX(1)}.board-container{--entry-row:0;--entry-col:2;--entry-edge:0;--cell-size:calc((100% - 4 * var(--board-gap)) / 5);--entry-size:min(42px, calc(var(--cell-size) * .75));max-width:min(100%,420px);padding:calc(var(--entry-size) * .45);width:100%;margin-inline:auto;position:relative}.board-entry{height:var(--entry-size);left:calc(var(--entry-col) * (var(--cell-size) + var(--board-gap)) + (var(--cell-size) - var(--entry-size)) / 2);pointer-events:none;top:calc(var(--entry-row) * (var(--cell-size) + var(--board-gap)) + (var(--cell-size) - var(--entry-size)) / 2);width:var(--entry-size);z-index:2;position:absolute}.board-container[data-entry-edge="0"] .board-entry{left:calc(var(--entry-col) * (var(--cell-size) + var(--board-gap)) + (var(--cell-size) - var(--entry-size)) / 2);top:calc(var(--entry-row) * (var(--cell-size) + var(--board-gap)) - var(--entry-size) + 6px)}.board-container[data-entry-edge="1"] .board-entry{left:calc((var(--entry-col) + 1) * (var(--cell-size) + var(--board-gap)) - 8px);top:calc(var(--entry-row) * (var(--cell-size) + var(--board-gap)) + (var(--cell-size) - var(--entry-size)) / 2)}.board-container[data-entry-edge="2"] .board-entry{left:calc(var(--entry-col) * (var(--cell-size) + var(--board-gap)) + (var(--cell-size) - var(--entry-size)) / 2);top:calc((var(--entry-row) + 1) * (var(--cell-size) + var(--board-gap)) - 6px)}.board-container[data-entry-edge="3"] .board-entry{left:calc(var(--entry-col) * (var(--cell-size) + var(--board-gap)) - var(--entry-size) + 6px);top:calc(var(--entry-row) * (var(--cell-size) + var(--board-gap)) + (var(--cell-size) - var(--entry-size)) / 2)}.board-entry svg{width:100%;height:100%;display:block}.entry-droplet,.entry-arrow path,.tile-button.is-seed .tile-icon svg .plant-stem{vector-effect:non-scaling-stroke}.board-wrap{gap:var(--board-gap);grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tile-button,.primary-button,.secondary-button{font:inherit}.tile-button{aspect-ratio:1;background:var(--tile);border:2px solid var(--tile-border);color:var(--text);cursor:pointer;isolation:isolate;touch-action:manipulation;border-radius:12px;place-items:center;min-width:0;min-height:56px;padding:6px;transition:transform .16s,border-color .16s,background .16s;display:grid;position:relative}.tile-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, white);outline-offset:2px}.tile-button:not(:disabled):hover{transform:translateY(-1px)}.tile-button:disabled{cursor:default}.tile-button.is-empty{opacity:.75;background:#ffffff59;border-style:dashed}.tile-button.is-seed{background:color-mix(in srgb, var(--seed) 18%, white)}.tile-button.is-seed.is-flower{background:color-mix(in srgb, var(--bloom-soft) 55%, white);border-color:var(--bloom)}.tile-button.is-seed.is-growth-0{background:#f1e7e0}.tile-button.is-seed.is-growth-1,.tile-button.is-seed.is-growth-2{background:color-mix(in srgb, var(--seed) 18%, white)}.tile-button.is-water{background:color-mix(in srgb, var(--water) 22%, white);border-color:var(--water);box-shadow:inset 0 0 0 2px #9ad7ef73}.tile-button.is-locked{opacity:.92}.tile-icon{z-index:2;width:72%;height:72%;position:relative}.tile-icon svg{width:100%;height:100%;display:block}.pipe-ports{pointer-events:none;z-index:1;position:absolute;inset:0}.pipe-port{--port-inner:var(--pipe-inner);background:var(--pipe-outer);border-radius:999px;position:absolute;box-shadow:0 1px 2px #1f3d343d}.pipe-port:after{background:var(--port-inner);border-radius:inherit;content:"";position:absolute;inset:3px}.pipe-port.is-open{--port-inner:#d6a15a;filter:saturate(.82)}.pipe-port.is-open:after{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--port-inner) 76%, white) 0 3px, var(--port-inner) 3px 6px)}.pipe-port--n,.pipe-port--s{width:clamp(10px,18%,14px);height:calc(25% + 6px);left:50%;transform:translate(-50%)}.pipe-port--e,.pipe-port--w{width:calc(25% + 6px);height:clamp(10px,18%,14px);top:50%;transform:translateY(-50%)}.pipe-port--n{top:-6px}.pipe-port--e{right:-6px}.pipe-port--s{bottom:-6px}.pipe-port--w{left:-6px}.tile-button.is-just-rotated .tile-icon{animation:.22s cubic-bezier(.2,.85,.35,1.2) pipeSettle}.tile-button.is-water .pipe-port.is-connected:after{background:var(--pipe-water-inner);box-shadow:0 0 5px var(--water-glow)}.tile-button.is-water .pipe-port.is-leaking{--port-inner:var(--pipe-water-inner);filter:none;outline-offset:1px;outline:2px solid #e99b48}.pipe-port.is-leaking:before{background:linear-gradient(145deg, var(--water-glow), var(--water));content:"";z-index:2;border:1px solid #fffc;border-radius:65% 35% 68% 32%;width:9px;height:9px;position:absolute;box-shadow:0 0 6px #4aa3c7b8}.pipe-port--n.is-leaking:before{top:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.pipe-port--e.is-leaking:before{top:50%;right:-10px;transform:translateY(-50%)rotate(45deg)}.pipe-port--s.is-leaking:before{bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}.pipe-port--w.is-leaking:before{top:50%;left:-10px;transform:translateY(-50%)rotate(45deg)}.tile-button.has-water-leak{border-color:#e99b48;box-shadow:inset 0 0 0 2px #e99b4873,0 0 14px #4aa3c752}.seed-progress{color:var(--text);pointer-events:none;white-space:nowrap;z-index:3;background:#ffffffd1;border:1px solid #8fb6a88c;border-radius:999px;padding:2px 6px;font-size:clamp(.55rem,2.2vw,.68rem);font-weight:700;line-height:1.1;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.pipe-outer,.pipe-inner,.pipe-highlight,.pipe-flow{vector-effect:non-scaling-stroke}line.pipe-outer,line.pipe-inner,line.pipe-highlight,line.pipe-flow,path.pipe-outer,path.pipe-inner,path.pipe-highlight,path.pipe-flow{fill:none}.pipe-inner--water{stroke:var(--pipe-water-inner)}.tile-button.is-water .pipe-flow{stroke-dasharray:7 5;animation:.65s linear infinite pipeFlow}.primary-button,.secondary-button{cursor:pointer;touch-action:manipulation;border:none;border-radius:999px;min-height:48px;padding:12px 20px;font-weight:700}.primary-button{background:linear-gradient(180deg, var(--accent), var(--accent-strong));color:#fff}.secondary-button{border:1px solid var(--tile-border);color:var(--text);background:#fff}.primary-button:focus-visible,.secondary-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, white);outline-offset:2px}.actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.message-banner{border-radius:var(--radius);color:var(--accent-strong);text-align:center;background:#4aa3c724;border:1px solid #4aa3c759;padding:10px 14px;font-weight:700}.message-banner--leak{color:#8d4c18;background:#e99b482e;border-color:#c571227a}.results-grid{gap:12px;display:grid}.results-grid div{border-radius:var(--radius);background:#ffffffa6;padding:12px 14px}.results-grid span{color:var(--muted);font-size:.82rem;display:block}.results-grid strong{font-size:clamp(1.1rem,4vw,1.5rem)}.rating-badge{color:var(--accent-strong);font-size:clamp(1.3rem,4.5vw,1.8rem)}@media (width>=720px){.status-bar{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=390px){.tile-button{min-height:52px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.tile-button:not(:disabled):hover{transform:none}.tile-button.is-water .pipe-flow{stroke-dasharray:none;opacity:1}}.tile-button.is-resolving.is-water{animation:.9s ease-in-out infinite waterPulse}.tile-button.is-resolving.is-seed.is-watered-this-round{animation:.7s ease-out bloomPop}@keyframes pipeFlow{to{stroke-dashoffset:-12px}}@keyframes rainUrgentPulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes rainResolveSweep{0%{filter:brightness(.88)}to{filter:brightness(1.18)}}@keyframes pipeSettle{0%{transform:scale(.84)rotate(-9deg)}68%{transform:scale(1.05)rotate(2deg)}to{transform:scale(1)rotate(0)}}@keyframes waterPulse{0%,to{box-shadow:inset 0 0 0 2px #9ad7ef59}50%{box-shadow:inset 0 0 0 4px #4aa3c78c}}@keyframes bloomPop{0%{transform:scale(.96)}60%{transform:scale(1.04)}to{transform:scale(1)}}.title-home-screen{border-radius:calc(var(--radius) + 6px);background:linear-gradient(#0f231e9e,#0f231e9e),url(../assets/title-garden-bg.webp) 50% 42%/cover no-repeat;justify-content:center;align-items:center;min-height:min(72vh,560px);padding:clamp(20px,5vw,36px);overflow:hidden}.title-home-screen .screen-card{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe6;border:1px solid #ffffffa6;width:100%;max-width:26rem;box-shadow:0 16px 40px #0a1e1847}.title-home-screen .screen-card h1{color:var(--text)}.title-home-screen .screen-card p{color:var(--muted)}.mode-actions{flex-direction:column;gap:12px;width:min(100%,320px);display:flex}.mode-actions .primary-button,.mode-actions .secondary-button{width:100%}@media (width<=390px){.title-home-screen{background-position:50% 36%;min-height:min(68vh,520px)}}.puzzle-campaign-growth{border-radius:var(--radius);color:var(--text);text-align:center;background:#ffffffb8;border:1px solid #8fb6a873;padding:10px 14px;font-weight:700}.puzzle-progress-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.puzzle-progress-summary div{border-radius:calc(var(--radius) - 4px);text-align:center;background:#ffffffad;border:1px solid #8fb6a859;padding:9px 10px}.puzzle-progress-summary span{color:var(--muted);font-size:.75rem;display:block}.puzzle-progress-summary strong{color:var(--accent-strong);font-size:1.05rem}.puzzle-stage-list{gap:10px;display:grid}.puzzle-challenge-heading{border-top:1px solid #8fb6a88c;gap:3px;margin-top:8px;padding:16px 4px 2px;display:grid}.puzzle-challenge-heading strong{color:var(--accent-strong);font-size:1.05rem}.puzzle-challenge-heading span{color:var(--muted);font-size:.82rem}.puzzle-stage-button{border-radius:var(--radius);color:var(--text);cursor:pointer;text-align:left;touch-action:manipulation;background:#ffffffc7;border:1px solid #8fb6a88c;gap:4px;width:100%;min-height:56px;padding:12px 14px;display:grid}.puzzle-stage-button:not(.is-locked):hover{border-color:var(--accent)}.puzzle-stage-button.is-locked{cursor:not-allowed;opacity:.55}.puzzle-stage-button:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, white);outline-offset:2px}.puzzle-stage-title{font-size:clamp(1rem,3.8vw,1.15rem);font-weight:700}.puzzle-stage-meta{color:var(--muted);font-size:.82rem}.puzzle-hud{border-radius:var(--radius);background:#ffffffb8;border:1px solid #8fb6a873;gap:12px;padding:12px 14px;display:grid}.puzzle-stage-heading h2{margin:0 0 4px;font-size:clamp(1.1rem,4vw,1.35rem)}.puzzle-stage-heading p{color:var(--muted);margin:0}.puzzle-stage-heading .puzzle-rule-badge{color:#7a451b;background:#e99b4829;border:1px solid #c5712261;border-radius:999px;align-items:center;gap:6px;width:fit-content;margin-top:9px;padding:5px 10px;font-size:.78rem;display:inline-flex}.puzzle-challenge-heading--leak strong{color:#8d4c18}.puzzle-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.puzzle-stats div{border-radius:calc(var(--radius) - 4px);background:#ffffffa6;padding:8px 10px}.puzzle-stats span{color:var(--muted);font-size:.75rem;display:block}.puzzle-stats strong{font-size:clamp(1rem,3.5vw,1.15rem)}.puzzle-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.puzzle-actions .primary-button,.puzzle-actions .puzzle-menu-exit-button{grid-column:1/-1}.puzzle-menu-actions{grid-template-columns:1fr;width:100%;display:grid}.puzzle-menu-actions button{width:100%}.puzzle-reset-trigger{color:var(--muted)}.puzzle-reset-confirmation{text-align:center;border-color:#c571226b}.puzzle-reset-confirmation h3{margin:0;font-size:clamp(1.05rem,4vw,1.25rem)}.puzzle-reset-confirmation p{color:var(--muted);margin:8px 0 0;line-height:1.5}.puzzle-reset-confirmation-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.puzzle-reset-confirm{color:#913d2c;border-color:#ad4a337a}.puzzle-final-card{border:2px solid color-mix(in srgb, var(--accent) 55%, white);text-align:center;background:linear-gradient(#ffffffeb 0%,#e2f4ecf2 100%);box-shadow:0 8px 20px #2f7f8f1f}.puzzle-final-card h2{color:var(--accent-strong);margin:0;font-size:clamp(1.35rem,5vw,1.7rem)}.puzzle-final-copy{color:var(--muted);margin:10px 0 0;font-size:clamp(.88rem,3.4vw,1rem);line-height:1.5}.puzzle-cleared-actions--final{grid-template-columns:1fr;gap:10px;width:100%;display:grid}.puzzle-cleared-actions--final .primary-button,.puzzle-cleared-actions--final .secondary-button{width:100%}.puzzle-clear-card{text-align:center}.puzzle-clear-stars{color:#c58a1f;letter-spacing:.12em;margin:0;font-size:clamp(1.6rem,6vw,2rem)}.puzzle-clear-moves{margin:8px 0 0;font-size:clamp(1rem,3.8vw,1.2rem);font-weight:700}.puzzle-growth-message{color:var(--accent-strong);margin:12px 0 0;font-weight:700}.tile-button.is-rock{background:#dee0e2;border-color:#6b7078}.tile-button.is-fixed-pipe{box-shadow:inset 0 0 0 2px #2f7f8f59}.tile-button.is-fixed-pipe:after{color:#1f6573f2;content:"固定";pointer-events:none;border:2px solid #1f6573bf;border-radius:999px;padding:2px 5px;font-size:clamp(.5rem,2vw,.62rem);font-weight:700;line-height:1;position:absolute;top:4px;right:4px}@media (width<=390px){.puzzle-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.game-screen--puzzle-play .puzzle-actions{margin-top:-6px}}.app-shell--speed,.app-shell--puzzle{isolation:isolate;position:relative}.app-shell--speed:before,.app-shell--puzzle:before{background:linear-gradient(180deg, #0a1c2061 0%, var(--garden-veil-teal) 55%, #0c201c85 100%), radial-gradient(ellipse 120% 80% at 50% -10%, #4aa3c72e, transparent 55%), linear-gradient(var(--garden-veil-teal), var(--garden-veil-teal)), url(../assets/title-garden-bg.webp) center 42% / cover no-repeat;content:"";opacity:.72;pointer-events:none;z-index:-1;position:fixed;inset:0}.game-screen{min-width:0;max-width:100%}.game-toolbar{z-index:1;justify-content:flex-end;min-height:48px;display:flex;position:relative}.sound-toggle{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;font:inherit;touch-action:manipulation;background:#0f3031c7;border:1px solid #ffffff6b;border-radius:999px;min-height:48px;padding:10px 16px;font-size:.78rem;font-weight:700;box-shadow:0 4px 14px #0a1e1833,inset 0 1px #ffffff2e}.sound-toggle:focus-visible{outline:3px solid var(--water-glow);outline-offset:2px}.game-screen .screen-card,.game-screen .status-item,.game-screen .puzzle-hud,.game-screen .puzzle-campaign-growth,.game-screen .puzzle-stage-button,.game-screen .message-banner,.game-screen .results-grid div{background:var(--glass-bg);border:1px solid var(--glass-border)}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.game-screen .screen-card,.game-screen .status-item,.game-screen .puzzle-hud,.game-screen .puzzle-campaign-growth,.game-screen .puzzle-stage-button,.game-screen .message-banner,.game-screen .results-grid div{-webkit-backdrop-filter:blur(8px)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.game-screen .screen-card,.game-screen .status-item,.game-screen .puzzle-hud,.game-screen .puzzle-campaign-growth,.game-screen .puzzle-stage-button,.game-screen .message-banner,.game-screen .results-grid div{background:var(--glass-bg-solid)}}.game-screen .screen-card{box-shadow:0 12px 32px #0a1e1838,inset 0 1px #ffffff8c}.game-screen .status-item{box-shadow:inset 0 1px #ffffff73}.game-screen .puzzle-stats div{background:color-mix(in srgb, var(--glass-bg) 88%, #fff6);border:1px solid color-mix(in srgb, var(--glass-border) 80%, transparent);border-radius:calc(var(--radius) - 4px)}.game-screen .puzzle-challenge-heading{background:color-mix(in srgb, var(--glass-bg) 72%, #2f7f8f14);border:1px solid color-mix(in srgb, var(--glass-border) 70%, var(--accent) 12%);border-radius:var(--radius);border-top:none;margin-top:12px;padding:14px 12px 8px;box-shadow:inset 0 1px #fff6}.game-screen .puzzle-challenge-heading strong{letter-spacing:.04em}.game-screen .puzzle-stage-button{box-shadow:0 4px 14px var(--tile-lift), inset 0 1px 0 #ffffff80;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px 12px;padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s}.puzzle-stage-number{background:linear-gradient(180deg, var(--accent), var(--accent-strong));color:#fff;letter-spacing:.04em;border:1px solid #ffffff80;border-radius:12px;grid-row:1/3;justify-content:center;align-items:center;width:44px;height:44px;font-size:.78rem;font-weight:800;display:flex;box-shadow:0 3px 9px #1f657338}.puzzle-stage-copy{gap:2px;min-width:0;display:grid}.puzzle-stage-tags{flex-wrap:wrap;grid-column:2;gap:5px;display:flex}.puzzle-stage-tags span{color:var(--accent-strong);background:#2f7f8f17;border:1px solid #2f7f8f2e;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:700;line-height:1}.game-screen .puzzle-stage-button.is-locked .puzzle-stage-number{box-shadow:none;background:linear-gradient(#80928b,#5d7069)}.game-screen .puzzle-stage-button:not(.is-locked):hover{transform:translateY(-1px);box-shadow:0 6px 18px #1f3d3429,inset 0 1px #ffffff8c}.game-screen .message-banner{color:var(--accent-strong);box-shadow:inset 0 0 0 1px #4aa3c733}.game-screen .board-container{border-radius:calc(var(--radius) + 8px);box-shadow:inset 0 5px 14px var(--bed-inset), inset 0 -3px 8px #ffffff1f, 0 10px 28px #0a1e182e;background:linear-gradient(#ffffff0f 0%,#1f3d341a 100%),linear-gradient(145deg,#1f3d341f,#1f3d3438);border:1px solid #8fb6a866}.game-screen .tile-button{box-shadow:0 3px 8px var(--tile-lift), 0 1px 2px #1f3d341a, inset 0 1px 0 #ffffff6b}.game-screen .tile-button:not(:disabled):hover{box-shadow:0 5px 12px #1f3d3424, 0 2px 4px var(--tile-lift), inset 0 1px 0 #ffffff7a}.game-screen .tile-button.is-empty{box-shadow:inset 0 4px 10px var(--bed-inset);background:#ffffff38}.game-screen .tile-button.is-water{animation:waterTileReveal .3s ease-out var(--water-delay,0s) both, waterPulse .9s ease-in-out calc(var(--water-delay,0s) + .3s) infinite;box-shadow:inset 0 0 0 2px #9ad7ef73, 0 0 14px #4aa3c752, 0 0 4px var(--water-glow)}.game-screen .tile-button.is-water .pipe-inner--water,.game-screen .tile-button.is-water .pipe-port.is-connected:after{animation:waterLineReveal .26s ease-out var(--water-delay,0s) both}.game-screen .tile-button.is-water .pipe-flow{animation:waterLineReveal .26s ease-out var(--water-delay,0s) both, pipeFlow .65s linear calc(var(--water-delay,0s) + .26s) infinite}.game-screen .tile-button.is-rock{box-shadow:inset 0 3px 8px #1f3d3438,0 2px 6px #1f3d342e}.game-screen .tile-button.is-fixed-pipe{box-shadow:inset 0 0 0 2px #2f7f8f59,inset 0 3px 8px #1f3d3433,0 2px 6px #1f3d3429}.game-screen .primary-button{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 82%, white), var(--accent-strong));min-height:48px;box-shadow:0 4px 14px #1f657357,inset 0 1px #ffffff47}.game-screen .secondary-button{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 2px 8px var(--tile-lift), inset 0 1px 0 #ffffff73;min-height:48px}@supports ((-webkit-backdrop-filter:blur(6px)) or (backdrop-filter:blur(6px))){.game-screen .secondary-button{-webkit-backdrop-filter:blur(6px)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.game-screen .secondary-button{background:var(--glass-bg-solid)}}.game-screen .puzzle-final-card{border:2px solid color-mix(in srgb, var(--accent) 50%, white);background:linear-gradient(165deg,#fffffff0 0%,#e2f4eceb 48%,#9ad7ef2e 100%);box-shadow:0 12px 32px #2f7f8f2e,inset 0 1px #ffffffa6}.game-screen .puzzle-clear-card{background:linear-gradient(180deg, var(--glass-bg-solid) 0%, color-mix(in srgb, var(--glass-bg) 88%, #e2f4ec80) 100%);position:relative;overflow:hidden;box-shadow:0 10px 28px #0a1e1829,inset 0 1px #ffffff8c}.game-screen .puzzle-clear-card>:not(.clear-celebration){z-index:1;position:relative}.clear-celebration{pointer-events:none;position:absolute;inset:0;overflow:hidden}.clear-petal,.clear-drop{animation:3.2s ease-in infinite clearCelebrationFall;display:block;position:absolute;top:-18px}.clear-petal{background:linear-gradient(145deg,#f5b49f,#d86b59);border-radius:80% 20% 70% 30%;width:8px;height:11px;transform:rotate(28deg);box-shadow:0 1px 2px #78372c33}.clear-drop{background:linear-gradient(180deg, var(--water-glow), var(--water));border-radius:65% 65% 72% 28%;width:10px;height:10px;transform:rotate(45deg)}.game-screen .puzzle-clear-stars{text-shadow:0 2px 8px #c58a1f59}@keyframes waterTileReveal{0%{background:var(--tile);border-color:var(--tile-border);box-shadow:0 3px 8px var(--tile-lift), 0 1px 2px #1f3d341a, inset 0 1px 0 #ffffff6b;filter:brightness(.92)saturate(.72)}to{background:color-mix(in srgb, var(--water) 22%, white);border-color:var(--water);box-shadow:inset 0 0 0 2px #9ad7ef73, 0 0 14px #4aa3c752, 0 0 4px var(--water-glow);filter:brightness()saturate()}}@keyframes waterLineReveal{0%{opacity:0}to{opacity:1}}@keyframes clearCelebrationFall{0%{opacity:0;translate:0 -8px}12%{opacity:.72}to{opacity:0;translate:var(--celebration-drift,12px) 190px;rotate:220deg}}@media (width<=390px){.game-screen{overflow-x:hidden}.game-screen .board-container{max-width:100%;padding:calc(var(--entry-size) * .35)}.game-screen .tile-button,.game-screen .puzzle-stage-button{min-height:48px}.puzzle-stage-number{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.game-screen .puzzle-stage-button:not(.is-locked):hover{transform:none}}
