.g-pipe-maze{--pm-metal:#b8bfcc;--pm-metal-dark:#7d8799;--pm-empty:#e4e8ef;--pm-water:#2196f3;--pm-water-deep:#0b79d0;--pm-tile:#f6f8fb;--pm-tile-alt:#eef2f8;--pm-soil:#8d6e4f;--pm-leaf:#4caf50;gap:var(--sp-3)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .g-pipe-maze{--pm-metal:#5d677a;--pm-metal-dark:#454e5e;--pm-empty:#2a323f;--pm-tile:#1b222c;--pm-tile-alt:#212a36}}:root[data-theme=dark] .g-pipe-maze{--pm-metal:#5d677a;--pm-metal-dark:#454e5e;--pm-empty:#2a323f;--pm-tile:#1b222c;--pm-tile-alt:#212a36}.g-pipe-maze :focus-visible{outline:3px solid var(--c-focus);outline-offset:-3px}.g-pipe-maze .pm-stage{justify-content:center;align-items:center;gap:2px;width:100%;display:flex}.g-pipe-maze .pm-tap,.g-pipe-maze .pm-garden{flex:none;width:clamp(34px,11vw,56px)}.g-pipe-maze .pm-decor{aspect-ratio:1;width:100%;height:auto;display:block}.g-pipe-maze .pm-tapbody{fill:var(--pm-metal);stroke:var(--pm-metal-dark);stroke-width:3px}.g-pipe-maze .pm-taphandle{fill:#e0453a}.g-pipe-maze .pm-drop{fill:var(--pm-water);opacity:0}.g-pipe-maze .pm-tap.is-on .pm-drop{opacity:1}.g-pipe-maze .pm-soil{fill:var(--pm-soil)}.g-pipe-maze .pm-stem{fill:none;stroke:var(--pm-leaf);stroke-width:5px;stroke-linecap:round}.g-pipe-maze .pm-petal{fill:#f2c23a}.g-pipe-maze .pm-petal2{fill:#ec6fae}.g-pipe-maze .pm-heart{fill:#b45309}.g-pipe-maze .pm-garden .pm-petal,.g-pipe-maze .pm-garden .pm-petal2,.g-pipe-maze .pm-garden .pm-stem{opacity:.35;filter:grayscale()}.g-pipe-maze .pm-garden.is-watered .pm-petal,.g-pipe-maze .pm-garden.is-watered .pm-petal2,.g-pipe-maze .pm-garden.is-watered .pm-stem{opacity:1;filter:none}.g-pipe-maze .pm-grid{grid-template-columns:repeat(var(--cols,4), 1fr);width:min(100%, calc(var(--cols,4) * 62px));border-radius:var(--r-md);box-shadow:0 0 0 3px var(--pm-metal-dark);gap:0;display:grid;overflow:hidden}.g-pipe-maze .pm-cell{aspect-ratio:1;background:var(--pm-tile);cursor:pointer;border:0;place-items:center;min-width:0;padding:0;display:grid;position:relative}.g-pipe-maze .pm-cell[data-dark="1"]{background:var(--pm-tile-alt)}.g-pipe-maze .pm-pipe{width:100%;height:100%;transform:rotate(calc(var(--turn,0) * 90deg));display:block}.g-pipe-maze .pm-shell,.g-pipe-maze .pm-hubshell{fill:none;stroke:var(--pm-metal-dark);stroke-width:34px;stroke-linecap:round}.g-pipe-maze .pm-hubshell{fill:var(--pm-metal-dark);stroke:none}.g-pipe-maze .pm-core,.g-pipe-maze .pm-hub{fill:none;stroke:var(--pm-empty);stroke-width:20px;stroke-linecap:round}.g-pipe-maze .pm-hub{fill:var(--pm-empty);stroke:none}.g-pipe-maze .pm-cell.is-wet .pm-core,.g-pipe-maze .pm-cell.is-wet .pm-hub{stroke:var(--pm-water);fill:var(--pm-water)}.g-pipe-maze .pm-cell.is-wet .pm-hub{fill:var(--pm-water-deep)}.g-pipe-maze .pm-cell.is-empty,.g-pipe-maze .pm-cell.is-fixed{cursor:default}.g-pipe-maze .pm-cell.is-source:after,.g-pipe-maze .pm-cell.is-sink:after{content:"";border:3px dashed var(--c-brand);border-radius:var(--r-sm);pointer-events:none;position:absolute;inset:12%}.g-pipe-maze .pm-cell.is-sink:after{border-color:var(--pm-leaf)}.g-pipe-maze .pm-cell.is-hinted{outline:4px solid var(--c-accent);outline-offset:-4px}.g-pipe-maze .pm-cell:disabled{cursor:default}.g-pipe-maze.is-done .pm-grid{box-shadow:0 0 0 3px var(--c-good)}.g-pipe-maze .pm-msg{max-width:36ch;min-height:2.6em;color:var(--c-text-dim);font-size:var(--fs-md);font-weight:var(--fw-med);line-height:var(--lh-snug);text-align:center;text-wrap:balance;margin:0}.g-pipe-maze .pm-msg.is-good{color:var(--c-good);font-weight:var(--fw-bold)}.g-pipe-maze .pm-note{max-width:40ch;color:var(--c-text-faint);font-size:var(--fs-xs);text-align:center;margin:0}.g-pipe-maze.is-done .pm-note{visibility:hidden}.g-pipe-maze .pm-pipe,.g-pipe-maze .pm-core,.g-pipe-maze .pm-hub,.g-pipe-maze .pm-petal,.g-pipe-maze .pm-petal2{transition:none}@media (prefers-reduced-motion:no-preference){.g-pipe-maze.is-motion .pm-pipe{transition:transform var(--dur) var(--ease-bounce)}.g-pipe-maze.is-motion .pm-core,.g-pipe-maze.is-motion .pm-hub{transition:stroke var(--dur) var(--ease), fill var(--dur) var(--ease)}.g-pipe-maze.is-motion .pm-petal,.g-pipe-maze.is-motion .pm-petal2,.g-pipe-maze.is-motion .pm-stem{transition:opacity var(--dur-slow) var(--ease), filter var(--dur-slow) var(--ease)}.g-pipe-maze.is-motion .pm-garden.is-watered .pm-decor{animation:pm-bloom var(--dur-slow) var(--ease-bounce)}@keyframes pm-bloom{0%{transform:scale(.85)}to{transform:scale(1)}}}
