/* LabIB — interactive workflow layer */
.lbx{--warn:#D9871F;--bad:#DC4A38;--dim:rgba(108,79,216,.10)}

/* ── hero live demo ── */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes blink{50%{opacity:0}}
.chipf{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;padding:5px 10px;border-radius:999px;background:var(--ind-soft);color:var(--ind-2);border:1px solid rgba(108,79,216,.16);animation:rise .5s both;animation-delay:calc(var(--i)*.1s)}
.chipf svg{opacity:.75}
.hst{display:grid;gap:10px}
.hst__area{position:relative;height:566px}
.hv{position:absolute;inset:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;transform-origin:bottom right;transition:transform .6s cubic-bezier(.3,.9,.3,1),box-shadow .5s,border-radius .5s;z-index:2}
.hst.staged .hv{transform:translate(-12px,-12px) scale(.46);border-radius:46px;box-shadow:0 44px 90px -22px rgba(14,17,22,.55),0 0 0 1px rgba(14,17,22,.07)}
.hst.staged .hv__bar{padding:24px 28px;gap:16px}
.hst.staged .hv__av{width:58px;height:58px;border-radius:19px;font-size:23px}
.hst.staged .hv__who b{font-size:25px}
.hst.staged .hv__who span{font-size:20px}
.hst.staged .hv__st{font-size:16px;gap:10px}
.hst.staged .hv__st s{width:10px;height:10px}
.hst.staged .hv__vw{opacity:0;pointer-events:none}
.hst.staged .hv__stream{padding:24px;gap:15px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 46px);mask-image:linear-gradient(180deg,transparent 0,#000 46px)}
.hst.staged .hv__msg{font-size:25px;line-height:1.42;padding:17px 22px;border-radius:30px 30px 10px 30px;max-width:96%}
.hst.staged .hv__msg--in{border-radius:30px 30px 30px 10px}
.hst.staged .hv__msg em{font-size:19px;margin-top:10px}
.hst.staged .hv__msg--vc>svg{width:20px;height:20px}
.hst.staged .hv__dots{border-radius:30px 30px 30px 10px;padding:21px 24px;gap:8px}
.hst.staged .hv__dots i{width:10px;height:10px}
.hst.staged .hv__upd{font-size:23px;gap:13px;line-height:1.4}
.hst.staged .hv__upd s{width:10px;height:10px;margin-top:9px}
.hst.staged .hv__comp{padding:19px 22px;gap:16px}
.hst.staged .hv__in{font-size:23px;min-height:60px;padding:13px 24px}
.hst.staged .hv__car{width:3px;height:27px}
.hst.staged .hv__send{width:60px;height:60px}
.hst.staged .hv__send svg{width:27px;height:27px}
.hst .hv__povs{border:1px solid var(--line);border-radius:999px;box-shadow:var(--sh-1);border-top:1px solid var(--line)}
.hst__proc{position:absolute;inset:0;z-index:1;border-radius:var(--r);overflow:hidden;opacity:0;transform:scale(.99);transition:opacity .45s,transform .5s;pointer-events:none}
.hst.staged .hst__proc{opacity:1;transform:none}
.proc{height:100%;background:#0B1220;color:#E8EBF3;font-family:var(--mono);display:grid;grid-template-rows:auto auto auto auto 1fr auto;gap:10px;padding:13px}
.proc__ttl{display:flex;align-items:center;gap:9px;padding-right:44%;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.proc__ttl b{color:#fff;font-weight:500;letter-spacing:0;text-transform:none;font-size:12px;font-family:var(--sans,inherit)}
.proc__ttl u{margin-left:auto;text-decoration:none;color:#B6A6FF}
.proc__main{background:var(--bg);border-radius:14px;padding:13px;overflow:hidden;position:relative;min-height:0;margin-right:calc(46% - 8px);transition:margin-right .5s}
.proc__main .viz{background:transparent;border:0;padding:0;min-height:0;gap:11px}
.proc .cons__log{height:44px}
.proc .cons__foot{padding-right:48%}
/* hero — figma-style flow board */
.fbd{position:absolute;inset:0;overflow:hidden;background-color:#F7F6FC;background-image:radial-gradient(rgba(108,79,216,.17) 1px,transparent 1px);background-size:22px 22px}
.fbd__cam{position:absolute;left:0;top:0;transform-origin:0 0;transition:transform .95s cubic-bezier(.4,.02,.18,1);will-change:transform}
.fbd__svg{position:absolute;left:0;top:0;overflow:visible}
.ed{fill:none;stroke:#DBD5F1;stroke-width:2.4}
.ed--alt{stroke:#E4E0EE;stroke-dasharray:8 8}
.edl{fill:none;stroke:var(--ind);stroke-width:3.2;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 6px rgba(108,79,216,.45))}
.edl.fin{stroke-width:2.6;opacity:.62;filter:none}
.edd{fill:#8B83A6;font-family:var(--mono);font-size:13px;letter-spacing:.02em}
.fnd{position:absolute;background:var(--card);border:1.5px solid var(--line);border-radius:17px;padding:13px 15px;display:grid;grid-template-rows:auto auto 1fr;gap:9px;align-content:start;box-shadow:0 3px 10px rgba(14,17,22,.05);transition:border-color .45s,box-shadow .55s,opacity .5s,background .45s}
.fnd::before,.fnd::after{content:"";position:absolute;top:calc(50% - 5px);width:10px;height:10px;border-radius:50%;background:#fff;border:2.5px solid #DBD5F1}
.fnd::before{left:-6px}
.fnd::after{right:-6px}
.fnd--edge,.fnd--alt{grid-template-rows:auto}
.fnd--gate{grid-template-rows:auto auto}
.fnd__h{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:11px;align-items:center}
.fnd__ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--bg);color:var(--muted);transition:background .4s,color .4s}
.fnd__t b{display:block;font-size:15px;font-weight:600;letter-spacing:-.015em;line-height:1.24;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fnd__t small{display:block;font-size:12px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnd__st{font-style:normal;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);white-space:nowrap}
.fnd__b{display:grid;gap:7px;align-content:start;border-top:1px solid var(--line);padding-top:10px;opacity:.45;transition:opacity .4s}
.fnd.run .fnd__b,.fnd.done .fnd__b{opacity:1}
.fnd__r{display:grid;grid-template-columns:17px minmax(0,1fr);gap:9px;align-items:center;font-size:12.5px;color:var(--muted);transition:color .3s}
.fnd__r span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnd__r i{width:17px;height:17px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:transparent;transition:.3s}
.fnd__r.on{color:var(--ink)}
.fnd__r.on i{background:rgba(43,150,102,.14);border-color:transparent;color:var(--ok)}
.fnd__r.is-bad.on i{background:rgba(220,74,56,.14);color:var(--bad)}
.fnd__r.is-warn.on i{background:rgba(217,135,31,.16);color:var(--warn)}
.fnd__res{align-self:end;font-size:12.5px;line-height:1.35;color:var(--ind-2);background:var(--ind-soft);border-radius:10px;padding:8px 11px;display:none}
.fnd.done .fnd__res{display:block;animation:pop .32s both}
.fnd.run{border-color:rgba(108,79,216,.55);box-shadow:0 0 0 4px rgba(108,79,216,.09),0 22px 46px -20px rgba(108,79,216,.65)}
.fnd.run .fnd__ic{background:var(--ind);color:#fff}
.fnd.run .fnd__st{color:var(--ind-2)}
.fnd.run::before,.fnd.run::after{border-color:var(--ind)}
.fnd.done .fnd__ic{background:rgba(43,150,102,.12);color:var(--ok)}
.fnd.done .fnd__st{color:var(--ok)}
.fnd--dim{opacity:.4;border-style:dashed;box-shadow:none}
.fbd.forked .fnd--dim{opacity:.62}
.fnd--gate.hold{border-color:rgba(217,135,31,.6);background:#FFFCF6;box-shadow:0 22px 46px -22px rgba(217,135,31,.5)}
.fnd--gate.hold .fnd__ic{background:rgba(217,135,31,.14);color:var(--warn)}
.fnd--gate.hold .fnd__st{color:var(--warn)}
.fnd__act{display:flex;gap:8px;align-items:center}
.fnd__act i{font-style:normal;font-size:12px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2)}
.fnd--gate.hold .fnd__act i:first-child{background:var(--ind);border-color:var(--ind);color:#fff}
.fbd__bar{position:absolute;left:13px;top:12px;right:13px;z-index:3;background:rgba(250,249,254,.86);backdrop-filter:blur(7px);border:1px solid var(--line);border-radius:999px;padding:6px 13px;pointer-events:none;white-space:nowrap;overflow:hidden}
.fbd__bar b{flex:0 0 auto;white-space:nowrap}
.fbd__bar span{flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* hero — workflow diagram surface */
.flw{height:100%;padding:14px;display:grid;grid-template-rows:auto 1fr;gap:12px;background-color:#FAF9FE;background-image:radial-gradient(rgba(108,79,216,.15) 1px,transparent 1px);background-size:16px 16px}
.flw__bar{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--ink-2)}
.flw__bar s{width:6px;height:6px;border-radius:50%;background:var(--ind);text-decoration:none;animation:pulse 1.6s infinite;flex-shrink:0}
.flw__bar b{font-size:12.5px;color:var(--ink);font-weight:600}
.flw__bar span{color:var(--muted)}
.flw__bar u{margin-left:auto;text-decoration:none;font-family:var(--mono);font-size:10px;color:var(--ind-2);background:var(--ind-soft);border-radius:999px;padding:3px 9px;white-space:nowrap}
.flw__body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;min-height:0}
.flw__spine{display:grid;align-content:start;gap:9px;min-height:0}
.fnode{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:7px 9px 8px;box-shadow:0 1px 2px rgba(14,17,22,.04);opacity:.5;transition:opacity .4s,border-color .4s,box-shadow .4s,transform .4s;animation:pop .4s both;animation-delay:calc(var(--i)*.06s)}
.fnode+.fnode::before{content:"";position:absolute;left:21px;top:-10px;width:2px;height:10px;background:var(--line);transition:background .4s}
.fnode__ic{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--bg);color:var(--muted);transition:background .35s,color .35s}
.fnode__tx b{display:block;font-size:11.6px;font-weight:600;letter-spacing:-.01em;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnode--gate .fnode__tx b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}
.fnode__tx small{display:block;font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fnode__st{font-style:normal;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fnode__pg{position:absolute;left:10px;right:10px;bottom:3px;height:2px;border-radius:2px;background:rgba(108,79,216,.14);overflow:hidden;opacity:0}
.fnode__pg u{display:block;height:100%;width:0;background:var(--ind);text-decoration:none}
.fnode.run{opacity:1;border-color:rgba(108,79,216,.42);box-shadow:0 0 0 3px rgba(108,79,216,.09),0 8px 20px -10px rgba(108,79,216,.55);transform:translateX(3px)}
.fnode.run .fnode__ic{background:var(--ind);color:#fff}
.fnode.run .fnode__st{color:var(--ind-2)}
.fnode.run .fnode__pg{opacity:1}
.fnode.run .fnode__pg u{animation:fgrow 2.3s linear forwards}
@keyframes fgrow{to{width:100%}}
.fnode.done{opacity:1}
.fnode.done .fnode__ic{background:rgba(43,150,102,.12);color:var(--ok)}
.fnode.done .fnode__st{color:var(--ok)}
.fnode.done+.fnode::before,.fnode.run::before{background:linear-gradient(180deg,rgba(108,79,216,.9),rgba(108,79,216,.25))}
.fnode--gate.hold{opacity:1;border-style:dashed;border-color:rgba(217,135,31,.5);background:#FFFCF6}
.fnode--gate.hold .fnode__ic{background:rgba(217,135,31,.14);color:var(--warn)}
.fnode--gate.hold .fnode__st{color:var(--warn)}
.fbr{grid-column:2/-1;display:none;gap:6px;margin-top:4px}
.fnode--gate.hold .fbr{display:flex;animation:pop .35s both}
.fbr i{font-style:normal;font-size:10px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2)}
.fbr i:first-child{background:var(--ind);border-color:var(--ind);color:#fff}
.flw__panel{align-self:start;height:232px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh-1);display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:7px;padding:11px 12px;overflow:hidden}
.flw__phead span{display:block;font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ind-2);margin-bottom:3px}
.flw__phead b{font-size:12px;font-weight:600;line-height:1.28;display:block}
.flw__viz{min-height:0;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent)}
.flw__viz .viz{background:transparent;border:0;padding:0;gap:10px;min-height:0;transform:scale(.58);transform-origin:top left;width:172.4%;height:172.4%}
.flw__out{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.flw__note{display:flex;gap:6px;align-items:center;font-size:10.5px;line-height:1.35;color:var(--ink-2);animation:pop .3s both;min-width:0}
.flw__note span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flw__note s{width:5px;height:5px;border-radius:50%;background:var(--ok);text-decoration:none;flex-shrink:0}
.flw__note:empty{display:none}
/* settings floater */
.lsw{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.lsw__panel{width:260px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-2);padding:15px;display:none}
.lsw.open .lsw__panel{display:block;animation:pop .28s both}
.lsw__btn{height:42px;padding:0 17px;border-radius:999px;background:var(--ink);color:#fff;border:0;font-size:13px;font-weight:500;box-shadow:var(--sh-2);display:flex;align-items:center;gap:8px;cursor:pointer}
.lsw__row{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.lsw__row>span{font-size:13px;color:var(--ink-2)}
.lsw__row>span em{font-style:normal;color:var(--muted)}
.lbx .seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px;gap:2px;flex-wrap:wrap;row-gap:2px}
.lbx .seg button{border:0;background:transparent;border-radius:999px;padding:5px 10px;font-size:11.5px;color:var(--ink-2);white-space:nowrap;cursor:pointer}
.lbx .seg button[aria-pressed=true]{background:var(--ind);color:#fff}
@media(max-width:760px){.lsw{right:12px;bottom:12px}.flw__body{grid-template-columns:1fr}.flw__panel{display:none}.fbd__bar{font-size:10px}}
.hv__bar{display:flex;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line);z-index:2}
.hv__av{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:12.5px;font-weight:600;background:var(--ind-soft);color:var(--ind-2);flex-shrink:0}
.hv__who{display:grid;line-height:1.32;min-width:0}
.hv__who b{font-size:13.5px;font-weight:600;letter-spacing:-.012em}
.hv__who span{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hv__st{margin-left:auto;display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;flex-shrink:0}
.hv__vw{display:flex;gap:2px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px;flex-shrink:0}
.hv__vw button{width:27px;height:23px;border-radius:999px;display:grid;place-items:center;color:var(--muted);transition:background .18s,color .18s}
.hv__vw button:hover{color:var(--ink)}
.hv__vw button[aria-selected="true"]{background:var(--ink);color:#fff}
.hv__mid{position:relative;min-height:0;display:grid;overflow:hidden}
.hv__upd{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;line-height:1.45;color:var(--ink-2);animation:pop .3s both;padding-right:8px}
.hv__upd s{width:5px;height:5px;border-radius:50%;background:var(--ok);text-decoration:none;margin-top:5px;flex-shrink:0}
.cons__bar{display:flex;align-items:center;gap:8px;font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.cons__bar b{color:#fff;font-weight:500;letter-spacing:.04em}
.cons__bar s{width:6px;height:6px;border-radius:50%;background:#7CE0A9;text-decoration:none;animation:pulse 1.6s infinite;flex-shrink:0}
.cons.fin .cons__bar s{animation:none}
.cons__bar u{margin-left:auto;text-decoration:none;color:#B6A6FF}
.cons__lanes{display:grid;gap:6px}
.lane2{display:grid;grid-template-columns:20px 92px 1fr 52px;gap:8px;align-items:center;font-size:10.5px;color:rgba(255,255,255,.52);animation:pop .3s both;animation-delay:calc(var(--i)*.07s)}
.lane2 .tool{color:#C7BAFF;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lane2 .bar{height:4px;border-radius:2px;background:rgba(255,255,255,.1);overflow:hidden;position:relative}
.lane2 .bar em{position:absolute;inset:0;width:36%;background:#7A5CF0;border-radius:2px;animation:slide2 1.4s linear infinite;animation-delay:calc(var(--i)*.2s)}
.lane2.ok .bar em{animation:none;width:100%;background:#3FBF80}
.lane2 .stt{text-align:right;font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.56)}
.lane2.ok .stt{color:#7CE0A9}
@keyframes slide2{0%{transform:translateX(-110%)}100%{transform:translateX(300%)}}
.cons__log{overflow:hidden;min-height:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.56);border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
.cons__log div{animation:pop .22s both;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cons__log b{color:#C7BAFF;font-weight:400}
.cons__log i{font-style:normal;color:#7CE0A9}
.cons__foot{display:flex;gap:10px;flex-wrap:nowrap;overflow:hidden;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.56);border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
.cons__foot span{white-space:nowrap}
.hv__att{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.hv__att span{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:5px 9px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.hv__att span svg{color:var(--ind);opacity:.8}
.hv__st s{width:6px;height:6px;border-radius:50%;background:var(--ok);text-decoration:none;animation:pulse 2s infinite}
.hv__st--work s{background:var(--ind)}
.hv__st--wait s{background:var(--warn)}
.hv__stream{padding:15px;display:flex;flex-direction:column;justify-content:flex-end;gap:9px;overflow:hidden;min-height:0;transition:opacity .3s,padding .5s,gap .5s;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30px);mask-image:linear-gradient(180deg,transparent 0,#000 30px)}
.hv.swap .hv__stream{opacity:0}
.hv__msg{max-width:89%;padding:10px 13px;font-size:13.5px;line-height:1.5;animation:pop .34s cubic-bezier(.2,.9,.3,1) both}
.hv__msg--out{background:var(--ind);color:#fff;align-self:flex-end;border-radius:15px 15px 5px 15px}
.hv__msg--in{background:var(--bg);border:1px solid var(--line);align-self:flex-start;border-radius:15px 15px 15px 5px;color:var(--ink-2)}
.hv__msg--in b{color:var(--ink);font-weight:600}
.hv__msg--ar{direction:rtl;text-align:right}
.hv__msg em{display:block;margin-top:6px;font-style:normal;font-size:11.5px;opacity:.62;direction:ltr;text-align:left}
.hv__vn{display:flex;align-items:center;gap:9px;min-width:210px}
.hv__vn>svg{flex-shrink:0}
.hv__vn .wv{display:flex;align-items:center;gap:2px;height:20px;flex:1}
.hv__vn .wv i{flex:1;background:currentColor;border-radius:1px;opacity:.55;height:var(--h)}
.hv__vn u{text-decoration:none;font-family:var(--mono);font-size:10.5px;opacity:.8}
.hv__dots{align-self:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:15px 15px 15px 5px;padding:12px 14px;display:flex;gap:4px;animation:pop .3s both}
.hv__dots i{width:5px;height:5px;border-radius:50%;background:var(--muted);animation:bnc 1.1s infinite}
.hv__dots i:nth-child(2){animation-delay:.15s}.hv__dots i:nth-child(3){animation-delay:.3s}
@keyframes bnc{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.hv__work{align-self:stretch;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:11px;display:grid;gap:7px;animation:pop .34s both}
.hv__work>h6{margin:0 0 1px;font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:400;display:flex;align-items:center;gap:7px}
.hv__work>h6 s{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--dim);border-top-color:var(--ind);animation:spin .7s linear infinite;text-decoration:none}
.hv__work.fin>h6 s{border:0;background:var(--ok);animation:none}
.trk{display:grid;grid-template-columns:22px 1fr auto;gap:9px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;animation:pop .3s both;animation-delay:calc(var(--i)*.09s);transition:border-color .3s}
.trk__ic{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--ind-soft);color:var(--ind);transition:.3s}
.trk.done .trk__ic{background:rgba(34,192,122,.13);color:var(--ok)}
.trk b{font-size:12.5px;font-weight:500;display:block;letter-spacing:-.01em;line-height:1.3}
.trk small{font-size:10.5px;color:var(--muted);font-family:var(--mono);letter-spacing:.01em}
.trk.done small{color:var(--ok)}
.trk__sp{width:13px;height:13px;border-radius:50%;border:1.6px solid var(--dim);border-top-color:var(--ind);animation:spin .7s linear infinite;flex-shrink:0}
.trk.done .trk__sp{border:0;width:15px;height:15px;animation:none;color:var(--ok);display:grid;place-items:center}
.hv__chips{display:flex;flex-wrap:wrap;gap:5px;align-self:flex-start}
.hv__chips .chipf{white-space:nowrap;font-size:11px}
.hv__gate{align-self:stretch;background:var(--card);border:1px solid var(--ind);box-shadow:0 0 0 3px rgba(108,79,216,.09);border-radius:13px;padding:12px;display:grid;gap:9px;animation:pop .38s both}
.hv__gate h6{margin:0;font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ind);font-weight:400;display:flex;align-items:center;gap:6px}
.hv__gate p{margin:0;font-size:13px;line-height:1.45;letter-spacing:-.012em}
.hv__gate div{display:flex;gap:7px}
.hv__gate div i{font-style:normal;font-size:11.5px;font-weight:500;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card)}
.hv__gate div i:first-child{background:var(--ind);border-color:var(--ind);color:#fff}
.hv__comp{border-top:1px solid var(--line);padding:11px 12px;display:flex;align-items:center;gap:9px}
.hv__in{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:8px 14px;min-height:36px;display:flex;align-items:center;gap:1px;font-size:13px;line-height:1.35;overflow:hidden}
.hv__in.ph{color:var(--muted)}
.hv__in.ph::before{content:"Message LabIB…"}
.hv__in.ar{direction:rtl}
.hv__car{width:1.5px;height:15px;background:var(--ind);display:inline-block;flex-shrink:0;animation:blink 1.05s steps(1) infinite}
.hv__in.ph .hv__car,.hv__in.rec .hv__car{display:none}
.hv__in.rec,.hv__in--call{flex-wrap:nowrap;height:36px;padding-block:0}
.hv__in.rec{color:var(--ind);gap:9px}
.hv__in.rec .wv,.hv__in--call .wv{display:flex;align-items:center;gap:2px;height:16px;flex:1 1 30px;min-width:0;overflow:hidden}
.hv__in.rec .wv i,.hv__in--call .wv i{flex:1;background:var(--ind);border-radius:1px;height:30%;animation:wv .8s ease-in-out infinite;animation-delay:calc(var(--j)*.06s)}
.hv__in--call.hv__in--end .wv i{animation:none;height:18%;background:var(--muted)}
.hv__in--call{color:var(--ink);gap:10px;border-color:rgba(108,79,216,.3);background:var(--ind-soft)}
.hv__in--call b{font-size:12.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.hv__in--call u{text-decoration:none;font-family:var(--mono);font-size:11px;color:var(--ind-2);margin-left:auto}
.hv__in--call s{width:7px;height:7px;border-radius:50%;background:var(--ind);text-decoration:none;flex-shrink:0;animation:pulse 1.3s infinite}
.hv__in--call.hv__in--end{background:var(--bg);border-color:var(--line);color:var(--muted)}
.hv__in--call.hv__in--end s{background:var(--muted);animation:none}
.hv__in--call.hv__in--end u{color:var(--muted)}
.hv__msg--vc>svg{opacity:.5;margin-right:7px;vertical-align:-2px}
.hv__send.end{background:var(--bad)}
.hv__send{width:34px;height:34px;border-radius:50%;background:var(--ind);color:#fff;display:grid;place-items:center;flex-shrink:0;opacity:.32;transition:opacity .25s,transform .18s}
.hv__send.on{opacity:1}
.hv__send.hit{transform:scale(.84)}
.hv__povs{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);background:var(--card);align-items:center}
.hv__povs button{display:grid;grid-template-columns:26px 0fr;align-items:center;padding:3px;border-radius:999px;background:var(--bg);border:1px solid var(--line);position:relative;overflow:hidden;transition:grid-template-columns .3s cubic-bezier(.3,.9,.3,1),background .22s,border-color .22s}
.hv__povs button s{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:600;text-decoration:none;background:var(--card);color:var(--muted);transition:.22s}
.hv__povs button span{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;font-size:12px;font-weight:500;letter-spacing:-.012em;color:#fff;opacity:0;transition:opacity .22s}
.hv__povs button span em{font-style:normal;padding-right:11px;overflow:hidden;text-overflow:ellipsis}
.hv__povs button span svg{flex-shrink:0;margin-left:9px;opacity:.7}
.hv__povs button:hover{background:var(--card);border-color:rgba(108,79,216,.35)}
.hv__povs button:hover s{color:var(--ink)}
.hv__povs button[aria-selected="true"]{grid-template-columns:26px 1fr;background:var(--ink);border-color:var(--ink)}
.hv__povs button[aria-selected="true"] s{background:rgba(255,255,255,.16);color:#fff}
.hv__povs button[aria-selected="true"] span{opacity:1}
.hv__povs button i{position:absolute;left:0;bottom:0;height:2px;background:rgba(255,255,255,.45);width:0}
.hv__povs button[aria-selected="true"] i{animation:fill var(--scene,17s) linear forwards}
.p-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.p-chips span{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 14px;box-shadow:var(--sh-1)}
.p-chips svg{color:var(--ind);flex-shrink:0}

/* ── beats ── */
.beats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.beat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);padding:28px 26px}
.beat h3{margin:14px 0 10px;font-size:19px;font-weight:600;letter-spacing:-.025em;max-width:22ch}
.beat p{margin:0;font-size:14.5px;line-height:1.65;color:var(--ink-2)}
.beat p+p{margin-top:10px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.split>div{background:var(--ind-soft);border:1px solid rgba(108,79,216,.14);border-radius:var(--r);padding:24px 26px}
.split h4{margin:0 0 8px;font-size:16px;font-weight:600;letter-spacing:-.02em}
.split p{margin:0;font-size:14.5px;line-height:1.65;color:var(--ink-2)}

/* ── workflow explorer ── */
.wf{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);overflow:hidden}
.wf__inds{display:flex;gap:4px;padding:10px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.wf__inds::-webkit-scrollbar{display:none}
.ind-tab{display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:12px;border:1px solid transparent;background:transparent;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap;transition:.16s}
.ind-tab svg{opacity:.55;flex-shrink:0}
.ind-tab:hover{background:var(--bg)}
.ind-tab[aria-selected="true"]{background:var(--ind);border-color:var(--ind);color:#fff}
.ind-tab[aria-selected="true"] svg{opacity:1}
.wf__body{display:grid;grid-template-columns:320px 1fr;gap:0}
.wf__side{padding:clamp(20px,2.4vw,28px);border-right:1px solid var(--line);display:grid;gap:16px;align-content:start;background:var(--bg)}
.wf__side>p.blurb{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}
.wf__pick{display:grid;gap:8px}
.wf-btn{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;transition:.16s;display:grid;gap:4px}
.wf-btn:hover{border-color:rgba(108,79,216,.4)}
.wf-btn[aria-selected="true"]{border-color:var(--ind);box-shadow:0 0 0 3px rgba(108,79,216,.12)}
.wf-btn strong{font-size:15.5px;font-weight:600;letter-spacing:-.02em;display:block}
.wf-btn span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.wf-btn[aria-selected="true"] span{color:var(--ind)}
.wf__today{border-top:1px solid var(--line);padding-top:16px}
.wf__today h5{margin:0 0 8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:400}
.wf__today p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.wf__note{font-size:12.5px;line-height:1.55;color:var(--ink-2);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.wf__more{margin-top:2px}
.wf__stage{padding:clamp(18px,2.2vw,26px);display:grid;gap:14px;align-content:start;min-width:0}
.stage__trigger{border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:36px 1fr;gap:13px;background:var(--bg)}
.stage__trigger .tic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--ind);color:#fff}
.stage__trigger h6{margin:0 0 4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:400}
.stage__trigger p{margin:0;font-size:15px;line-height:1.5;letter-spacing:-.015em;color:var(--ink)}
.stage__trigger p.ar{direction:rtl;text-align:right}
.stage__trigger em{display:block;margin-top:6px;font-style:normal;font-size:13px;color:var(--muted)}
.stage__grid{display:grid;grid-template-columns:262px 1fr;gap:14px;min-width:0}
.steps{display:grid;gap:3px;align-content:start;margin:0;padding:0;list-style:none}
.step{display:grid;grid-template-columns:24px 1fr;gap:11px;padding:10px 11px;border-radius:11px;cursor:pointer;transition:.16s;border:1px solid transparent;align-items:start}
.step:hover{background:var(--bg)}
.step__n{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--bg);color:var(--muted);font-family:var(--mono);font-size:11px;transition:.2s}
.step b{font-size:13.5px;font-weight:500;letter-spacing:-.01em;color:var(--ink-2);display:block;line-height:1.35}
.step small{display:none;font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:5px}
.step[aria-current="true"]{background:var(--card);border-color:var(--line);box-shadow:var(--sh-1)}
.step[aria-current="true"] .step__n{background:var(--ind);color:#fff}
.step[aria-current="true"] b{color:var(--ink);font-weight:600}
.step[aria-current="true"] small{display:block}
.step.done .step__n{background:var(--ind-soft);color:var(--ind)}
.step__bar{grid-column:1/-1;height:2px;border-radius:2px;background:var(--line);overflow:hidden;margin-top:9px;display:none}
.step[aria-current="true"] .step__bar{display:block}
.step__bar i{display:block;height:100%;background:var(--ind);width:0}
.step[aria-current="true"].run .step__bar i{animation:fill var(--dur,4200ms) linear forwards}
@keyframes fill{to{width:100%}}

/* ── viz ── */
.viz{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:18px;min-height:326px;display:grid;align-content:start;gap:12px;position:relative;overflow:hidden;min-width:0}
.viz__h{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.viz__h svg{color:var(--ind)}
.viz__h u{margin-left:auto;text-decoration:none;color:var(--ind);display:flex;align-items:center;gap:5px}
.viz__h u s{width:5px;height:5px;border-radius:50%;background:var(--ind);text-decoration:none;animation:pulse 1.4s infinite}
.row{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:11px 13px;display:flex;align-items:center;gap:11px;font-size:13px;animation:rise .42s both;animation-delay:calc(var(--i)*.11s)}
.row .lbl{font-weight:500;letter-spacing:-.01em}
.row .val{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--muted);text-align:right}
.dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--ok)}
.dot--warn{background:var(--warn)}.dot--bad{background:var(--bad)}
.tick{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:rgba(34,192,122,.13);color:var(--ok)}
.tick--warn{background:rgba(217,135,31,.14);color:var(--warn)}
.tick--bad{background:rgba(220,74,56,.13);color:var(--bad)}
.lanes{display:grid;gap:8px}
.lane{display:grid;grid-template-columns:1fr 84px;gap:12px;align-items:center;font-size:13px;animation:rise .4s both;animation-delay:calc(var(--i)*.06s)}
.lane span{font-weight:500;letter-spacing:-.01em}
.lane i{height:6px;border-radius:3px;background:var(--dim);display:block;overflow:hidden;position:relative}
.lane i::after{content:"";position:absolute;left:0;top:0;bottom:0;background:var(--ind);border-radius:3px;width:0;animation:grow 1.5s cubic-bezier(.3,.8,.4,1) forwards;animation-delay:calc(.15s + var(--i)*.05s)}
@keyframes grow{to{width:100%}}
.lane.done i::after{animation:none;width:100%}
.par-note{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px;margin-top:2px}
.par-note b{color:var(--ind);font-weight:600}
.viz .call{display:grid;grid-template-columns:30px 1fr auto;gap:11px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 13px;animation:rise .4s both;animation-delay:calc(var(--i)*.14s)}
.viz .call__ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ind-soft);color:var(--ind)}
.viz .call.live .call__ic{background:var(--ind);color:#fff;animation:ring .9s infinite}
@keyframes ring{0%,100%{transform:rotate(0)}25%{transform:rotate(-11deg)}75%{transform:rotate(11deg)}}
.viz .call b{font-size:13.5px;font-weight:500;display:block;letter-spacing:-.01em}
.viz .call small{font-size:11.5px;color:var(--muted);font-family:var(--mono)}
.wave{display:flex;align-items:center;gap:2px;height:18px}
.wave i{width:2px;background:var(--ind);border-radius:1px;height:20%;opacity:.35}
.viz .call.live .wave i{animation:wv .7s ease-in-out infinite;opacity:1;animation-delay:calc(var(--j)*.08s)}
@keyframes wv{0%,100%{height:20%}50%{height:100%}}
.viz .call .res{font-size:11.5px;font-family:var(--mono);color:var(--ok);text-align:right;max-width:140px;line-height:1.35}
.viz .call .res--no{color:var(--muted)}
.docs{display:flex;gap:9px;flex-wrap:wrap}
.doc{width:74px;height:94px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 7px;position:relative;overflow:hidden;animation:rise .4s both;animation-delay:calc(var(--i)*.1s)}
.doc u{display:block;height:3px;background:var(--line);border-radius:2px;margin-bottom:4px;text-decoration:none}
.doc u:nth-child(2n){width:70%}.doc u:nth-child(3n){width:85%}
.doc em{position:absolute;left:6px;right:6px;bottom:6px;font-style:normal;font-size:8.5px;line-height:1.25;color:var(--muted);font-family:var(--mono)}
.doc::after{content:"";position:absolute;left:0;right:0;height:16px;background:linear-gradient(180deg,transparent,rgba(108,79,216,.28),transparent);top:-16px;animation:scan 1.7s linear infinite;animation-delay:calc(var(--i)*.18s)}
@keyframes scan{0%{top:-16px}100%{top:100%}}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{font-size:11.5px;font-family:var(--mono);letter-spacing:.01em;padding:6px 10px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--ink-2);animation:rise .4s both;animation-delay:calc(.5s + var(--i)*.13s)}
.cites{display:grid;gap:7px}
.cite{background:var(--card);border:1px solid var(--line);border-left:2px solid var(--ind);border-radius:9px;padding:10px 12px;font-size:12.5px;color:var(--ink-2);animation:rise .42s both;animation-delay:calc(var(--i)*.16s)}
.brow{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.brow__bar{display:flex;align-items:center;gap:6px;padding:9px 11px;border-bottom:1px solid var(--line);background:var(--bg)}
.brow__bar i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.brow__bar span{margin-left:8px;font-family:var(--mono);font-size:10.5px;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:3px 9px}
.brow__body{padding:13px;display:grid;gap:8px}
.field{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;font-size:12.5px;animation:rise .4s both;animation-delay:calc(.25s + var(--i)*.22s)}
.field b{color:var(--muted);font-weight:400}
.field span{background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-family:var(--mono);font-size:11.5px}
.field.hit span{border-color:var(--bad);color:var(--bad)}
.cursor{position:absolute;right:26px;bottom:24px;color:var(--ind);animation:cur 2.6s ease-in-out infinite}
@keyframes cur{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,-30px)}}
.calc{display:grid;gap:4px;padding:6px 2px}
.calc__n{font-size:clamp(34px,4.6vw,54px);font-weight:600;letter-spacing:-.045em;line-height:1;display:flex;align-items:baseline;gap:8px}
.calc__n small{font-size:16px;font-weight:500;color:var(--muted);letter-spacing:0}
.calc__l{font-size:13px;color:var(--muted)}
.calc__s{display:grid;gap:6px;margin-top:12px}
.calc__s div{font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:8px;animation:rise .4s both;animation-delay:calc(.35s + var(--i)*.14s)}
.calc__s div::before{content:"";width:14px;height:1px;background:var(--ind);flex-shrink:0}
.art{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:11px}
.art__h{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;letter-spacing:-.015em}
.art__h svg{color:var(--ind)}
.art__h span{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--muted);font-weight:400}
.sheet{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}
.sheet i{height:15px;border-radius:3px;background:var(--bg);animation:cell .5s both;animation-delay:calc(var(--i)*.035s)}
.sheet i.hd{background:var(--dim)}
.sheet i.acc{background:rgba(108,79,216,.32)}
@keyframes cell{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.page{display:grid;gap:5px;background:var(--bg);border-radius:8px;padding:13px}
.page i{height:5px;border-radius:3px;background:var(--line);animation:rise .4s both;animation-delay:calc(var(--i)*.07s)}
.page i.t{height:9px;width:52%;background:var(--dim)}
.page i:nth-child(4n){width:78%}
.art__n{font-size:12.5px;color:var(--ink-2);line-height:1.5}
.gate{background:var(--card);border:1px solid var(--ind);border-radius:14px;padding:16px;display:grid;gap:11px;box-shadow:0 0 0 4px rgba(108,79,216,.09);animation:rise .45s both}
.gate h6{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ind);font-weight:400}
.gate p{margin:0;font-size:15px;line-height:1.45;letter-spacing:-.015em}
.gate .who{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px}
.gate__act{display:flex;gap:8px;margin-top:2px}
.gate__act i{font-style:normal;font-size:12.5px;font-weight:500;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card)}
.gate__act i:first-child{background:var(--ind);border-color:var(--ind);color:#fff}
.viz__foot{margin-top:auto;padding-top:10px;font-size:12.5px;color:var(--muted);line-height:1.5}

/* ── stage output ── */
.stage__out{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:12px}
.prod{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.prod>h6{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-right:4px}
.prod .chipf{animation:none;opacity:.32;transition:opacity .45s}
.prod .chipf.on{opacity:1}
.stage__line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:space-between}
.stage__line q{font-size:16px;line-height:1.45;letter-spacing:-.02em;quotes:"“" "”"}
.play{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:12.5px;font-weight:500;color:var(--ink-2);white-space:nowrap}
.play:hover{border-color:var(--ind);color:var(--ind)}
.play svg{flex-shrink:0}

/* ── artifacts ── */
.arts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.artc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);padding:20px;display:grid;gap:12px;align-content:start}
.artc__v{background:var(--bg);border-radius:12px;height:96px;padding:12px;display:grid;align-content:center;gap:4px;overflow:hidden}
.artc h4{margin:0;font-size:15.5px;font-weight:600;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.artc h4 svg{color:var(--ind)}
.artc p{margin:0;font-size:13px;line-height:1.55;color:var(--ink-2)}

/* ── departments ── */
.dep{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);display:grid;grid-template-columns:250px 1fr;overflow:hidden}
.dep__rail{border-right:1px solid var(--line);background:var(--bg);padding:10px;display:grid;gap:2px;align-content:start}
.dep-tab{text-align:left;background:transparent;border:1px solid transparent;border-radius:11px;padding:12px 14px;font-size:14px;font-weight:500;color:var(--ink-2);transition:.16s}
.dep-tab:hover{background:var(--card)}
.dep-tab[aria-selected="true"]{background:var(--card);border-color:var(--line);color:var(--ink);box-shadow:var(--sh-1)}
.dep__body{padding:clamp(20px,2.4vw,30px);display:grid;gap:20px;min-width:0}
.dep__chats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dep__list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.dep__list>div{padding:14px 0;border-top:1px solid var(--line)}
.dep__list b{font-size:14px;font-weight:600;letter-spacing:-.015em;display:block;margin-bottom:5px}
.dep__list p{margin:0;font-size:13px;line-height:1.55;color:var(--ink-2)}
.dep__list p i{font-style:normal;color:var(--muted)}
.dep__list em{font-style:normal;color:var(--ink-2)}
.tg{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:var(--ind-soft);color:var(--ind-2);margin-left:6px;vertical-align:1px}
.gt{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-top:6px}
.gt svg{color:var(--ind);flex-shrink:0}
.dep__key{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted);margin-top:4px}
.dep__key span{display:flex;align-items:center;gap:6px}

/* ── connectors ── */
.conn{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.conn__box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1);padding:26px}
.conn__box h3{margin:0 0 6px;font-size:18px;font-weight:600;letter-spacing:-.025em}
.conn__box>p{margin:0 0 16px;font-size:14px;line-height:1.6;color:var(--ink-2);max-width:46ch}
.chans{display:flex;flex-wrap:wrap;gap:7px}
.chan{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;padding:9px 14px;border-radius:999px;background:var(--bg);border:1px solid var(--line);font-weight:500}
.chan--hi{background:var(--ind);border-color:var(--ind);color:#fff}
.conn__list{display:grid;gap:12px}
.conn__list div{display:grid;grid-template-columns:auto 1fr;gap:11px;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.conn__list b{color:var(--ink);font-weight:600}
.conn__list svg{color:var(--ind);margin-top:3px}

/* ── compounding block ── */
.comp{background:#0B1220;color:#fff;border-radius:var(--r);padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(24px,4vw,52px)}
.comp h2{margin:12px 0 0;font-size:clamp(26px,3.3vw,40px);line-height:1.06;letter-spacing:-.035em;font-weight:600;max-width:15ch}
.comp>div>p{margin:18px 0 0;font-size:15px;line-height:1.7;color:rgba(255,255,255,.6);max-width:40ch}
.comp__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;align-content:start}
.comp__grid h4{margin:0 0 8px;font-size:15.5px;font-weight:600;letter-spacing:-.015em}
.comp__grid p{margin:0;font-size:13.5px;line-height:1.65;color:rgba(255,255,255,.62)}
.comp__grid b{color:#fff;font-weight:500}
.comp__q{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.13);padding-top:20px;margin-top:2px;font-size:16px;line-height:1.5;letter-spacing:-.02em;color:rgba(255,255,255,.9)}

/* ── pricing ── */
.tier--sm .amt{font-size:32px}
.tier .amt em{font-style:normal;font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0}
.tier__meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.price-note{margin-top:14px;font-size:13.5px;color:var(--ink-2);display:flex;gap:8px;align-items:center}

@media(max-width:1080px){.wf__body,.stage__grid,.dep{grid-template-columns:1fr}.wf__side{border-right:0;border-bottom:1px solid var(--line)}.dep__rail{border-right:0;border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.dep-tab{white-space:nowrap}.arts{grid-template-columns:repeat(2,1fr)}.comp,.conn{grid-template-columns:1fr}.comp__grid{grid-template-columns:1fr}}
@media(max-width:900px){.beats,.split,.hv__fan,.dep__chats,.dep__list{grid-template-columns:1fr}.viz{min-height:0}}

/* board — drafting, mid-run changes, and the chat coming back up to answer */
.fnd{transition:border-color .45s,box-shadow .55s,opacity .5s,background .45s,transform .5s}
.fnd--ghost{opacity:0;transform:translateY(10px) scale(.97)}
.fnd--draft{border-style:dashed;border-color:#CFC7EA;background:rgba(255,255,255,.72);box-shadow:none}
.fnd--draft .fnd__b,.fnd--draft .fnd__res,.fnd--draft .fnd__act,.fnd--draft .fnd__st{opacity:0}
.fnd--draft .fnd__ic{background:rgba(108,79,216,.08)}
.ed--new{opacity:0}
.ed--skip{stroke:#E6E3EE!important;stroke-dasharray:5 9;opacity:.85;transition:stroke .5s}
text.ed--skip{fill:#BEB8CE!important;text-decoration:line-through}
.fbd__bar.plan s{background:var(--ind)}
.fbd__bar.plan u{color:var(--ind-2)}
.hst.staged.ask .hv{transform:translate(-14px,-14px) scale(.72);border-radius:34px;box-shadow:0 60px 120px -30px rgba(14,17,22,.5),0 0 0 1px rgba(14,17,22,.08)}
.hst.staged.ask .hst__proc{opacity:.82;filter:saturate(.72)}
.hst.staged.ask .hv__stream{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 34px);mask-image:linear-gradient(180deg,transparent 0,#000 34px)}
/* board — prism thinking scene */
.prz{position:absolute;inset:0;z-index:5;opacity:0;transition:opacity .7s;background:radial-gradient(70% 60% at 55% 42%,rgba(255,255,255,.96),rgba(247,246,252,.93))}
.prz.on{opacity:1}
.prz svg{display:block;overflow:visible}
.pz-hd{font-size:10px;fill:#8C86A2;font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em}
.pz-pk{font-size:9.5px;fill:#A6A0BA;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}
.pz-pv{font-size:11.5px;fill:#2C2840;font-weight:600}
.pz-in path{fill:none;stroke:url(#pzTeal);stroke-width:1.5;stroke-linecap:round;opacity:.8}
.pz-body path{mix-blend-mode:multiply}
.pz-body{animation:pzHue 5s ease-in-out infinite}
@keyframes pzHue{0%,100%{filter:hue-rotate(0deg) drop-shadow(0 0 7px rgba(154,139,230,.4))}50%{filter:hue-rotate(48deg) drop-shadow(0 0 12px rgba(62,203,228,.5))}}
.pz-out{fill:none;stroke:url(#pzRing);stroke-linejoin:round;stroke-linecap:round;opacity:.9}
.prz.hot .pz-out{opacity:1}
.pz-trunk,.pz-seg{fill:none;stroke:url(#pzMag);stroke-width:1.6;stroke-linecap:round}
.pz-seg{stroke:url(#pzTeal)}
.pz-chip{opacity:0;transition:opacity .4s,transform .4s;transform:translateX(-5px)}
.pz-chip.lit{opacity:1;transform:none}
.pz-chip rect{fill:#fff;stroke:#E2DDF0;stroke-width:1}
.pz-chip circle{fill:#C9C2E6}
.pz-chip text{font-size:11px;fill:#3B3652;font-weight:500}
.pz-chip--in rect{fill:#F7F5FE}
.pz-chip--in circle,.pz-chip--step circle{fill:var(--ind)}
.pz-chip--gate rect{stroke:rgba(217,135,31,.45);fill:#FFFCF6}
.pz-chip--gate circle{fill:var(--warn)}
.pz-chip--out circle{fill:var(--ok)}
.pz-ft{font-size:9.5px;fill:#A6A0BA;font-family:var(--mono);opacity:0;transition:opacity .5s}
.prz.done .pz-ft{opacity:1}
