.pawe-game--gardenpuzzle{max-width:1040px;margin:auto;background:linear-gradient(130deg,#fffaf0,#f0f3e4)}.gp-heading h2{font-size:24px;color:#536b42;margin:4px 0}.gp-toolbar,.gp-actions,.gp-controls,.gp-slides{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.gp-toolbar{justify-content:space-between}.gp-stats{display:flex;gap:24px}.gp-stats div{text-align:center}.gp-stats small{font-size:10px;display:block;color:#78607e}.gp-stats strong{font-size:22px;color:#664477;font-variant-numeric:tabular-nums}.gp-stats .urgent{color:#a13c45}.pawe-game--gardenpuzzle button:not(.gp-pipe):not(.gp-log),.pawe-game--gardenpuzzle select{min-height:44px;padding:9px 12px;background:#fffaf1;border:1px solid #cdb7d3;border-radius:11px;font:800 13px Nunito,sans-serif;color:#68457c;cursor:pointer}.pawe-game--gardenpuzzle button:disabled{opacity:.5;cursor:default}.gp-controls button[data-direction]{width:48px;height:46px;font-size:22px!important;padding:4px!important}.gp-message,.gp-status,.gp-note{font-size:12px;text-align:center;color:#715879;margin:2px 0;line-height:1.4}.gp-message{min-height:18px}.gp-frame{position:relative;width:var(--gp-size,350px);max-width:100%;margin:3px auto;background:#c7b087;padding:8px;border-radius:20px;box-sizing:border-box;box-shadow:0 4px 0 #ad9878;overflow:hidden}.gp-board{position:relative;aspect-ratio:1}.gp-board.covered{visibility:hidden}.gp-water{display:grid;grid-template-columns:repeat(var(--gp-n),1fr);gap:4px}.gp-pipe{position:relative;display:grid;place-items:center;min-width:0;min-height:0;padding:0;border:1px solid #d5c9a8;border-radius:10px;background:#faf4df;cursor:pointer;touch-action:manipulation}.gp-pipe svg{width:100%;height:100%;overflow:hidden}.gp-pipe path{fill:none;stroke-linecap:butt}.pipe-rim{stroke:#bca88a;stroke-width:11}.pipe-core{stroke:#ead7ae;stroke-width:6}.pipe-joint{fill:#ead7ae}.gp-pipe.flowing .pipe-core{stroke:#61b8cf;stroke-dasharray:2 1;animation:gp-flow 1.5s linear infinite}.gp-pipe.flowing .pipe-joint{fill:#61b8cf}.gp-pipe:disabled,.gp-log:disabled{opacity:1!important;filter:none}.gp-pipe:focus-visible{outline:3px solid #86619d;outline-offset:-4px}.gp-source{position:absolute;left:50%;top:50%;width:20%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#3e95ba;border:2px solid #d2f1ef;box-shadow:0 0 0 2px #7eabb3}.gp-flower{position:absolute;right:1px;top:0;color:#ba87ad;text-shadow:0 1px #fff;font-size:clamp(16px,3vw,25px);line-height:1}.gp-pipe.flowing .gp-flower{color:#815da0}.gp-frame.blocks{padding-right:26px}.gp-blocks{background-color:#e8dfbe;background-image:linear-gradient(to right,#c7b98d88 1px,transparent 1px),linear-gradient(to bottom,#c7b98d88 1px,transparent 1px);background-size:16.6667% 16.6667%;border-radius:10px;overflow:visible}.gp-blocks::after{content:'→';position:absolute;right:-22px;top:33.333%;height:16.667%;display:grid;place-items:center;color:#46663b;font-size:28px;font-weight:900}.gp-log{position:absolute;padding:4px;border:3px solid #eadfbe;border-radius:14px;background:linear-gradient(90deg,#b59468,#d1b080,#b69466);color:#6a5038;cursor:grab;touch-action:none;user-select:none;transition:left .13s ease,top .13s ease;box-shadow:inset 0 0 0 2px #8e6b46aa}.gp-log.selected{outline:3px solid #8a64a0;outline-offset:-4px;z-index:2}.gp-grain{display:block;width:100%;height:100%;border-radius:12px;background:repeating-linear-gradient(0deg,transparent,transparent 9px,#8d6c4633 10px,transparent 12px)}.gp-pip{background:#e8d9eb;box-shadow:inset 0 0 0 2px #b398c3}.gp-pip svg{height:100%;max-width:100%;fill:#fff9eb;stroke:#b7a2bb;stroke-width:2}.gp-cover{position:absolute;inset:0;z-index:5;background:linear-gradient(135deg,#f5edf6,#fff7e8);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;padding:20px;text-align:center;border-radius:20px}.gp-cover strong{font-size:24px;color:#68477d}.gp-cover span{font-size:13px;color:#765b7d}.gp-result{text-align:center;padding:10px;border-radius:12px;color:#4d653e;font-size:15px;font-weight:900;background:#e3ecd4}.gp-note{font-size:11px}.gp-celebrating .gp-frame{animation:gp-win .8s ease}@keyframes gp-flow{to{stroke-dashoffset:-6}}@keyframes gp-win{50%{box-shadow:0 0 25px #b8c98a}}
@media(max-width:600px){.gp-heading h2{font-size:19px}.gp-toolbar{justify-content:center;gap:6px}.gp-actions{width:100%;gap:6px}.gp-stats{width:100%;justify-content:space-around;gap:8px}.gp-stats strong{font-size:20px}.gp-stats small{font-size:9px}.gp-message,.gp-status{font-size:11px}.gp-note{font-size:10px}.gp-cover strong{font-size:21px}.gp-cover span{font-size:12px}.gp-log{border-width:2px;border-radius:10px}.gp-pipe{border-radius:7px}.pawe-game--gardenpuzzle button:not(.gp-pipe):not(.gp-log),.pawe-game--gardenpuzzle select{font-size:12px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.gp-log{transition:none}.gp-pipe.flowing .pipe-core,.gp-won .gp-frame{animation:none}}

/* Completion effects are decorative and never intercept the next-level controls. */
.gp-flower{display:block;width:34%;max-width:34px;aspect-ratio:1;right:0;top:0;font-size:0;line-height:0;transform:scale(.55);transform-origin:center}.gp-flower svg{display:block;overflow:visible}.gp-pipe.flowing .gp-flower{transform:scale(.75)}.gp-won .gp-pipe .gp-flower{transform:scale(1.2)}
.gp-celebrating .gp-flower{animation:gp-flower-bloom 1.8s cubic-bezier(.2,.8,.3,1) var(--bloom-delay,0ms) both}.gp-celebrating .gp-pipe{animation:gp-water-wake 1.5s ease var(--sweep-delay,0ms) both}
.gp-celebration-layer{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden;border-radius:inherit}.gp-bloom-spark{position:absolute;width:7px;height:10px;border-radius:80% 10% 80% 10%;background:#c8a1d3;opacity:0;animation:gp-bloom-spark 1.8s ease-out var(--spark-delay) both}.gp-bloom-spark:nth-child(3n){background:#d8ba69}.gp-bloom-spark:nth-child(3n + 1){background:#9fb878}
.gp-blocks::after{content:'';right:-24px;top:41.6667%;width:26px;height:35px;transform:translateY(-50%);border-radius:60% 60% 25% 25%;background:radial-gradient(ellipse at 50% 70%,#584032 52%,#9c794f 54%);box-shadow:inset 0 0 0 3px #95724e,0 -4px 0 #829963}
.gp-pip-home .gp-pip svg{opacity:0}.gp-arrival{position:absolute;z-index:3;width:22px;height:24px;pointer-events:none;transition:opacity .2s ease}.gp-arrival svg,.gp-pip-hop svg{display:block;width:100%;height:100%;fill:#fff9eb;stroke:#b7a2bb;stroke-width:2}.gp-celebrating .gp-arrival{opacity:0}.gp-pip-hop{position:absolute;display:block;animation:gp-pip-home 1.9s cubic-bezier(.3,.1,.45,1) .2s both;transform-origin:bottom center}
@keyframes gp-flower-bloom{0%{transform:scale(.35) rotate(-25deg)}45%{transform:scale(1.4) rotate(9deg)}70%{transform:scale(1.1) rotate(-4deg)}100%{transform:scale(1.2) rotate(0)}}
@keyframes gp-water-wake{45%{background:#e1f0dc;box-shadow:inset 0 0 0 2px #a1c990}100%{box-shadow:none}}
@keyframes gp-bloom-spark{0%{opacity:0;transform:translate(0,0) scale(.4)}15%,65%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),-38px) rotate(80deg) scale(.3)}}
@keyframes gp-pip-home{0%{opacity:1;transform:translate(0,0) scale(1)}23%{opacity:1;transform:translate(calc(var(--hop-x) * .25),-13px) rotate(-7deg) scale(1.03)}44%{opacity:1;transform:translate(calc(var(--hop-x) * .5),0) rotate(0) scale(1)}65%{opacity:1;transform:translate(calc(var(--hop-x) * .78),-9px) rotate(5deg) scale(.9)}84%{opacity:1;transform:translate(var(--hop-x),0) scale(.7)}100%{opacity:0;transform:translate(var(--hop-x),3px) scale(.15)}}
@media(prefers-reduced-motion:reduce){.gp-celebrating .gp-frame,.gp-celebrating .gp-flower,.gp-celebrating .gp-pipe,.gp-pip-hop,.gp-bloom-spark{animation:none}.gp-arrival{transition:none}}

@media(prefers-reduced-motion:reduce){.gp-celebration-layer{display:none}.gp-celebrating .gp-arrival{opacity:1}}

.gp-pip-home .gp-pip{transition:none}
.gp-celebrating .gp-arrival{transition:none}
