@layer components{.patch-game-card{position:relative}.patch-tier-tabs{border-bottom:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.patch-tier-tab{border-right:1px solid var(--line);min-width:0;min-height:64px;color:var(--muted);text-align:left;flex-direction:column;justify-content:center;gap:3px;padding:12px 16px;transition:background-color .16s,color .16s;display:flex;position:relative}.patch-tier-tab:last-child{border-right:0}.patch-tier-tab:hover,.patch-tier-tab.is-active{background:var(--well);color:var(--ink)}.patch-tier-tab.is-active:after{content:"";background:var(--garden-water);height:2px;position:absolute;bottom:-1px;left:16px;right:16px}.patch-tier-name{font-size:.82rem;font-weight:700}.patch-tier-meta,.patch-tier-summary{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;letter-spacing:.05em;text-transform:uppercase;font-size:.62rem}.patch-round-panel{border-bottom:1px solid var(--line);background:var(--surface);padding:12px 14px 14px}.patch-tier-summary{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:9px;display:flex}.patch-round-rail{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;display:grid}.patch-round-tab{border:1px solid var(--line);border-radius:var(--r-1);background:var(--surface);min-width:0;min-height:38px;color:var(--muted);font-family:var(--font-jetbrains-mono), ui-monospace, monospace;justify-content:center;align-items:center;gap:5px;font-size:.62rem;font-weight:700;transition:border-color .16s,background-color .16s,color .16s;display:flex}.patch-round-tab:hover{border-color:var(--line-2);background:var(--well);color:var(--ink)}.patch-round-tab.is-active{border-color:var(--garden-water);background:var(--garden-water-bg);color:var(--garden-water)}.patch-round-status{border:1px solid var(--line-2);border-radius:50%;place-items:center;width:14px;height:14px;display:grid}.patch-round-tab.is-complete .patch-round-status{border-color:var(--good);background:var(--good-bg);color:var(--good-deep)}.garden-workbench{background:var(--well)}.patch-route-goal{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;gap:6px;margin:-2px 0 12px;font-size:.62rem;display:flex}.patch-route-goal strong{color:var(--garden-water)}.patch-board-shell{width:min(100%,520px);margin-inline:auto;padding-block:64px 78px;position:relative}.patch-board-shell[data-grid-columns="3"]{width:min(100%,390px)}.patch-board{grid-template-columns:repeat(var(--patch-grid-columns), minmax(0, 1fr));border:1px solid var(--garden-chassis-line);border-radius:var(--r-2);background:var(--garden-chassis);gap:5px;width:min(100%,520px);margin-inline:auto;padding:8px;display:grid}.patch-board>div{min-width:0}.patch-board>div>.conduit-tile{width:100%;display:block}.patch-last-tap .conduit-tile{outline:3px solid var(--garden-water);outline-offset:-3px}.patch-view-controls{border-bottom:1px solid var(--line);font:11px var(--font-mono);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.patch-focus{z-index:80;padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));background:var(--paper);position:fixed;inset:0;overflow:auto;max-width:none!important;margin:0!important}body:has(.patch-focus){overflow:hidden}main:has(>.patch-focus)>:not(.patch-focus){display:none!important}body:has(.patch-focus) footer{display:none!important}body:has(.patch-focus) nav[aria-label=Primary]{display:none!important}.patch-focus>header,.patch-focus .patch-tier-tabs,.patch-focus .patch-round-panel,.patch-focus .garden-workbench>aside,.patch-focus .patch-route-goal,.patch-focus .garden-workbench>div>.mb-3,.patch-focus .garden-workbench>div>.mt-4{display:none!important}.patch-focus .patch-game-card{max-width:700px;margin:0 auto}.patch-focus .garden-workbench{padding:4px 8px!important;display:block!important}.patch-focus .patch-board-shell{width:min(100%,max(240px,66.67dvh - 160.008px));padding-block:48px 58px}.patch-focus .patch-board-shell[data-grid-rows="4"]{width:min(100%,max(240px,100dvh - 240px))}@media (max-width:639px){main.vibesolid-wide:has(.patch-room){padding-inline:8px}.patch-room .garden-workbench{padding:12px 6px}.patch-room .patch-board{gap:3px;padding:4px}}.conduit-tile{aspect-ratio:1;border:1px solid var(--garden-chassis-line);border-radius:var(--r-1);background:var(--garden-chassis-2);min-width:0;color:var(--garden-pipe);transition:border-color .16s,background-color .16s,transform .12s;position:relative;overflow:hidden}.conduit-tile:hover{border-color:var(--garden-pipe);background:#45494c}.conduit-tile:active{transform:scale(.96)}.conduit-tile:disabled{cursor:default;opacity:1}.conduit-tile.is-wet{border-color:var(--garden-water-bright)}.conduit-pipe{transform-origin:50%;width:100%;height:100%;transition:transform .2s cubic-bezier(.2,.7,.3,1);position:absolute;inset:0;overflow:visible}.conduit-pipe-shell,.conduit-pipe-core,.conduit-water-highlight{fill:none;stroke-linecap:butt;stroke-linejoin:round}.conduit-pipe-shell{stroke:#17191a;stroke-width:32px}.conduit-pipe-core{stroke:var(--garden-pipe);stroke-width:18px;transition:stroke .18s}.is-wet .conduit-pipe-core{stroke:var(--garden-water)}.conduit-water-highlight{stroke:var(--garden-water-bright);stroke-width:3px;stroke-dasharray:7 9;animation:.8s linear infinite conduit-flow}.conduit-tile.is-flow-reversed .conduit-water-highlight{animation-direction:reverse}.conduit-screw{z-index:2;background:#8e9294;border:1px solid #1b1d1f;border-radius:50%;width:4px;height:4px;position:absolute}.conduit-screw-one{top:5px;left:5px}.conduit-screw-two{bottom:5px;right:5px}.conduit-leds{z-index:2;gap:2px;display:inline-flex;position:absolute;top:5px;right:5px}.conduit-leds span{background:#9b7724;border-radius:1px;width:4px;height:4px}.conduit-leds span:last-child{background:#73777a}.is-wet .conduit-leds span:first-child{background:var(--garden-water-bright)}.is-wet .conduit-leds span:last-child{background:var(--garden-leaf)}.patch-pump{z-index:3;left:var(--patch-source-left);border-radius:var(--r-2) var(--r-2) 0 0;background:var(--garden-water);color:#ecfbfd;border:2px solid #174d59;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:54px;height:54px;display:flex;position:absolute;top:7px;transform:translate(-50%)}.patch-pump:after{content:"";background:var(--garden-water);border-inline:2px solid #174d59;width:18px;height:11px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.patch-pump span{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;font-size:.52rem;font-weight:700}.patch-plant{z-index:3;bottom:0;right:auto;left:var(--patch-sink-left);width:58px;position:absolute;transform:translate(-50%)}.patch-plant-stem{fill:none;stroke:var(--garden-leaf);stroke-width:4px;stroke-linecap:round}.patch-plant-leaf,.patch-plant-bud{fill:var(--garden-leaf-soft);stroke:var(--garden-leaf);stroke-width:3px}.patch-plant-pot{fill:#7a6047;stroke:#3f3328;stroke-width:3px}.patch-plant-soil{fill:none;stroke:var(--garden-soil);stroke-width:7px;stroke-linecap:round}.patch-flower{fill:var(--garden-sun-soft);stroke:var(--garden-sun);stroke-width:2px;transform-box:fill-box;transform-origin:50%;animation:.42s cubic-bezier(.22,1,.36,1) both garden-bloom}.patch-flower .patch-flower-centre{fill:var(--garden-sun)}.patch-completion-content{text-align:center;width:min(100%,680px);margin-inline:auto}.patch-completion-icon{border:1px solid color-mix(in srgb, var(--good) 30%, transparent);border-radius:var(--r-2);background:var(--good-bg);width:48px;height:48px;color:var(--good-deep);place-items:center;margin-inline:auto;display:grid}.patch-win-kicker{font-family:var(--font-jetbrains-mono), ui-monospace, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--garden-water);margin-top:14px;font-size:.66rem;font-weight:700}.patch-completion-title{letter-spacing:-.025em;margin-top:12px;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.patch-completion-content.is-modal .patch-completion-title{margin-top:6px}.patch-completion-summary{max-width:560px;color:var(--muted);margin:10px auto 0;font-size:.9rem;line-height:1.65}.patch-win-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px;display:grid}.patch-win-overlay{z-index:90;background:#0e0e1085;place-items:center;padding:20px;animation:.18s ease-out both patch-overlay-in;display:grid;position:fixed;inset:0;overflow:hidden}.patch-win-modal{z-index:2;border:1px solid var(--line-2);border-radius:var(--r-3);background:var(--surface);width:min(100%,620px);max-height:min(720px,100vh - 40px);padding:42px 42px 36px;animation:.24s cubic-bezier(.2,.72,.3,1) both patch-modal-in;position:relative;overflow:auto;box-shadow:0 24px 70px #0e0e102e}.patch-win-close{border:1px solid var(--line);border-radius:var(--r-1);background:var(--surface);width:40px;height:40px;color:var(--muted);place-items:center;transition:border-color .16s,color .16s,background-color .16s;display:grid;position:absolute;top:12px;right:12px}.patch-win-close:hover{border-color:var(--line-2);background:var(--well);color:var(--ink)}.patch-confetti{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.patch-confetti-piece{background:var(--garden-water);opacity:0;width:9px;height:15px;animation:patch-confetti-burst 1.1s cubic-bezier(.16, .74, .3, 1) var(--confetti-delay) both;border-radius:2px;position:absolute;top:50%;left:50%;box-shadow:0 1px 1px #0e0e1014}.patch-confetti-piece:nth-child(3n+2){background:var(--garden-leaf);width:12px;height:8px}.patch-confetti-piece:nth-child(3n){background:var(--brand-bright);width:8px;height:13px}.patch-board-shell.is-complete .patch-board{animation:.62s ease-out both patch-rack-online}@keyframes conduit-flow{to{stroke-dashoffset:-16px}}@keyframes garden-bloom{0%{opacity:0;transform:scale(.55)rotate(-12deg)}}@keyframes patch-overlay-in{0%{opacity:0}}@keyframes patch-modal-in{0%{opacity:0;transform:translateY(10px)scale(.985)}}@keyframes patch-confetti-burst{0%{opacity:0;transform:translate(-50%, -50%) rotate(var(--confetti-angle)) translateY(0) rotate(0deg) scale(.6)}14%{opacity:1}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--confetti-angle)) translateY(var(--confetti-distance)) rotate(var(--confetti-turn)) scale(1)}}@keyframes patch-rack-online{0%,to{transform:scale(1)}45%{transform:scale(1.012)}}@media (max-width:480px){.patch-tier-tab{min-height:58px;padding:9px 10px}.patch-tier-meta{font-size:.54rem}.patch-tier-summary{align-items:flex-start;font-size:.55rem}.patch-round-rail{grid-template-columns:repeat(5,minmax(0,1fr))}.patch-round-tab{min-height:42px}.patch-board-shell{padding-block:54px 65px}.patch-board{gap:4px;padding:6px}.patch-pump{width:42px;height:44px}.patch-pump:after{width:14px;height:10px}.patch-plant{width:45px}.patch-win-overlay{align-items:end;padding:12px}.patch-win-modal{max-height:calc(100vh - 24px);padding:42px 18px 20px}.patch-win-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.patch-confetti{display:none}.patch-board-shell.is-complete .patch-board,.patch-flower,.conduit-water-highlight,.patch-win-overlay,.patch-win-modal{animation:none}}}
