.pipe-page{padding-top:20px}.pipe-intro{margin-bottom:16px}.pipe-intro h1{font-size:42px;letter-spacing:-1.4px;margin:4px 0 10px}.pipe-intro p{font-size:15px;color:#4c5747}.pipe-panel{max-width:470px;padding:20px}.pipe-stats{padding-bottom:8px}.pipe-status{min-height:38px;margin:0 0 8px}.pipe-board-wrap{max-width:330px;margin:auto}.pipe-endpoints{display:grid;grid-template-columns:repeat(3,1fr);font-size:12px;font-weight:800;letter-spacing:1px;height:28px;align-items:center}.pipe-source{color:#cceff5}.pipe-exit{grid-column:3;color:#e2f58a}.pipe-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#122a31;padding:4px;border-radius:14px;border:1px solid #6c9095}.pipe-tile{position:relative;aspect-ratio:1;width:100%;min-width:0;padding:0;border:1px solid #65878c;border-radius:7px;background:#29434a;color:#9eb5b8;touch-action:manipulation;overflow:hidden}.pipe-tile:disabled{opacity:1}.pipe-tile svg{display:block;width:100%;height:100%;pointer-events:none}.pipe-shadow{fill:none;stroke:#132d35;stroke-width:25}.pipe-line{fill:none;stroke:#afbec0;stroke-width:14}.pipe-tile.flowing .pipe-line{stroke:#76dcef}.pipe-tile circle{fill:#718e93}.pipe-tile.flowing circle{fill:#e6fbff}.pipe-tile:focus-visible{outline:3px solid #e2f58a;outline-offset:1px;z-index:1}.pipe-turn{position:absolute;right:5px;bottom:1px;font-size:14px;pointer-events:none;color:#d1dedf}.pipe-controls{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.pipe-controls button{flex:1;min-width:100px;min-height:44px}.pipe-controls [hidden]{display:none}.pipe-help{font-size:11px;line-height:1.5;text-align:center;color:#c4d6d9;margin:12px 0 0}.pipe-result{margin-top:14px;padding:14px}.pipe-result h2{font-size:20px}.pipe-result p{font-size:13px}.pipe-panel [hidden]{display:none}@media(max-width:600px){.pipe-page{padding-top:14px}.pipe-intro h1{font-size:34px;margin:0 0 8px}.pipe-intro p{font-size:13px}.pipe-panel{padding:14px;margin-bottom:30px}.pipe-status{font-size:12px}.pipe-board-wrap{max-width:300px}.pipe-endpoints{height:24px;font-size:10px}.pipe-controls{margin-top:10px}.pipe-help{font-size:10px}}@media(max-width:350px){.pipe-panel{padding:12px}.pipe-board{gap:3px;padding:3px}.pipe-controls button{font-size:12px;padding:9px}.pipe-status{min-height:34px}}@media(prefers-reduced-motion:reduce){.pipe-tile{transition:none}}
