.pipe{margin-top:40px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--surface) 0,var(--surface-2) 100%);padding:26px 26px 20px;overflow:hidden;position:relative}.pipe__rail{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;position:relative}.pipe__rail:before{content:"";position:absolute;left:6px;right:6px;bottom:3px;height:1px;background:var(--line-strong)}.pipe__stage{display:flex;flex-direction:column;gap:3px;padding-bottom:16px;position:relative}.pipe__labelrow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pipe__info{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;border:1px solid var(--line-strong);border-radius:999px;padding:2px 9px 3px;font:400 10.5px var(--mono);letter-spacing:.04em;color:var(--accent-deep);white-space:nowrap;transition:border-color .15s ease,background .15s ease;position:relative;background:var(--accent-tint);border-color:#9ecdf0}.pipe__info:hover{border-color:var(--accent);background:#eff7fd}.pipe__info-short{display:none}.pipe__info:after{animation-delay:calc(var(--i, 0) * -.6s)}.pipe__info:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.pipe__info{transition:none}}.pipe__modal{width:min(1180px,94vw);max-width:none;max-height:90vh;padding:0;border:0;border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 50px 90px -34px rgba(13,23,38,.55);overflow:hidden}.pipe__modal::-webkit-backdrop{background:rgba(11,22,38,.55)}.pipe__modal::backdrop{background:rgba(11,22,38,.55)}.pipe__modal-inner{display:flex;flex-direction:column;max-height:90vh}.pipe__modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px;border-bottom:1px solid var(--line-2);background:var(--surface);flex:none}.pipe__modal-body{padding:24px 26px 30px;overflow-y:auto}.pipe__detail-n{color:var(--accent-deep)}.pipe__lede{font-size:15.5px;color:var(--ink-2);max-width:78ch;margin:0 0 20px}.pipe__modal-body .cols{margin-top:0}.pipe__modal-body .band__close{margin-top:22px}.pipe__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;cursor:pointer;border:1px solid var(--line-strong);border-radius:6px;padding:6px 14px;font:400 13px var(--sans);color:var(--ink-2);flex:none}.pipe__close:hover{border-color:var(--accent);color:var(--accent-deep)}.pipe__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:760px){.pipe__modal{width:96vw}.pipe__modal,.pipe__modal-inner{max-height:92vh}.pipe__modal-head{padding:14px 16px}.pipe__modal-body{padding:18px 16px 24px}}.pipe__n{font:500 10px var(--mono);color:var(--accent);letter-spacing:.1em}.pipe__label{font-weight:600;font-size:13.5px;color:var(--ink)}.pipe__sub{font:400 11.5px var(--mono);color:var(--muted)}.pipe__tick{position:absolute;left:0;bottom:0;width:7px;height:7px;border-radius:50%;background:var(--surface);border:1.5px solid var(--line-strong);transform:translateY(3px);animation:pipe-tick 9s var(--delay,0s) infinite;--delay:calc(var(--i) * .55s)}@keyframes pipe-tick{0%,8%{border-color:var(--line-strong);background:var(--surface)}12%,30%{border-color:var(--accent);background:var(--accent)}40%,to{border-color:var(--line-strong);background:var(--surface)}}.pipe__stage:first-child .pipe__n{color:var(--accent-dark)}.pipe__track{position:relative;height:108px;margin-top:14px}.pipe__mol{position:absolute;top:8px;left:0;width:76px;height:60px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);box-shadow:0 6px 18px -14px rgba(13,23,38,.5);animation:pipe-run 9s cubic-bezier(.45,0,.3,1) infinite;animation-delay:calc(var(--i) * 1.125s)}.pipe__mol img{width:66px;height:50px;opacity:.85}@keyframes pipe-run{0%{left:-8%;opacity:0;transform:scale(.94)}4%{left:-2%;opacity:1;transform:scale(1)}84%{left:82%;opacity:1;transform:scale(1)}96%{left:92%;opacity:1;transform:scale(1)}to{left:92%;opacity:0;transform:scale(.97)}}.pipe__mol--drops{animation-name:pipe-drop}@keyframes pipe-drop{0%{left:-8%;opacity:0;transform:translateY(0) scale(.94)}4%{left:-2%;opacity:1;transform:translateY(0) scale(1)}50%{left:48%;opacity:1;transform:translateY(0) scale(1)}60%{left:54%;opacity:0;transform:translateY(38px) scale(.9)}to{left:54%;opacity:0;transform:translateY(38px) scale(.9)}}.pipe__mol--flagged:after{content:"";position:absolute;top:-4px;right:-4px;width:11px;height:11px;border-radius:50%;background:var(--amber-bg);border:1.5px solid #d9b25c;opacity:0;animation:pipe-flag 9s infinite;animation-delay:calc(var(--i) * 1.125s)}@keyframes pipe-flag{0%,62%{opacity:0;transform:scale(.6)}68%,96%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.pipe__mol--kept{animation-name:pipe-run,pipe-kept-tile;animation-duration:9s,9s;animation-timing-function:cubic-bezier(.45,0,.3,1),ease;animation-iteration-count:infinite,infinite}@keyframes pipe-kept-tile{0%,82%{border-color:var(--line-2);background:var(--surface)}88%,to{border-color:var(--pass-ink);background:#f1fbf5}}.pipe__mol--kept:before{content:"";position:absolute;top:-5px;right:-5px;width:13px;height:13px;border-radius:50%;background:var(--pass-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /9px 9px no-repeat;opacity:0;z-index:1;animation:pipe-kept-tick 9s infinite;animation-delay:calc(var(--i) * 1.125s)}@keyframes pipe-kept-tick{0%,84%{opacity:0;transform:scale(.5)}90%,to{opacity:1;transform:scale(1)}}.pipe__mol--kept img{animation:pipe-green 9s infinite;animation-delay:calc(var(--i) * 1.125s)}@keyframes pipe-green{0%,82%{filter:none}88%,to{filter:brightness(0) saturate(100%) invert(52%) sepia(64%) saturate(520%) hue-rotate(93deg) brightness(94%) contrast(92%)}}.pipe__key{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line-2);display:flex;flex-wrap:wrap;gap:8px 26px}.pipe__key li{display:flex;align-items:baseline;gap:8px;font-size:12.5px;line-height:1.5;color:var(--muted)}.pipe__key b{color:var(--ink-2);font-weight:600}.pipe__key-mark{flex:none;width:11px;height:11px;border-radius:50%;transform:translateY(1px)}.pipe__key-mark--kept{background:var(--pass-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.9' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center /8px 8px no-repeat}.pipe__key-mark--flag{background:var(--amber-bg);border:1.5px solid #d9b25c}.pipe__key-mark--drop{background:var(--line-2);border:1.5px solid var(--line-strong);opacity:.55}@media (max-width:760px){.pipe__key{gap:8px 16px}.pipe__key li{font-size:12px}}.pipe__caption{font:400 12px var(--mono);color:var(--muted);margin-top:4px;border-top:1px solid var(--line-3);padding-top:13px}@media (max-width:720px){.pipe{padding:20px 14px 16px}.pipe__rail{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.pipe__label{font-size:11px;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere}.pipe__info{padding:2px 6px 3px}.pipe__info-long{display:none}.pipe__info-short{display:inline}.pipe__sub{display:none}.pipe__track{height:86px}.pipe__mol{width:58px;height:46px}.pipe__mol img{width:50px;height:38px}}@media (prefers-reduced-motion:reduce){.pipe__mol,.pipe__mol--drops,.pipe__mol--flagged:after,.pipe__mol--kept img,.pipe__mol--kept:before,.pipe__tick{animation:none}.pipe__mol--kept{border-color:var(--pass-ink);background:#f1fbf5}.pipe__mol--kept:before{opacity:1;transform:scale(1)}.pipe__mol--kept img{filter:brightness(0) saturate(100%) invert(52%) sepia(64%) saturate(520%) hue-rotate(93deg) brightness(94%) contrast(92%)}.pipe__mol{left:calc(2% + (var(--i) * (58% / var(--n))));opacity:1}.pipe__mol--kept{left:calc(78% + var(--i) * 1.7%)}.pipe__mol--flagged{left:calc(62% + var(--i) * 1.2%)}.pipe__mol--drops{left:46%;opacity:.28;transform:translateY(26px)}.pipe__mol--flagged:after{opacity:1;transform:scale(1)}.pipe__tick{border-color:var(--accent);background:var(--accent)}}