:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#10141d;--panel:#171e2b;--raised:#1d2534;--line:#2b3548;--line-soft:#222a3c;--text:#e9edf4;--muted:#94a0b8;--thread:#f2b33d;--data:#5ac8dc;--compute:#96a5f2;--ok:#4cd07d;--warn:#e0973b;--bad:#f26d6d;--font-display:"Rajdhani", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box}body{background:var(--ink);color:var(--text);font:13.5px/1.55 var(--font-mono);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Crect x='13' y='13' width='1.5' height='1.5' fill='%23222a3c'/%3E%3C/svg%3E");min-height:100vh;margin:0}#root{max-width:1440px;margin:0 auto;padding:24px 24px 48px}.layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(280px,340px);align-items:start;gap:14px;margin-top:16px;display:grid}.col{flex-direction:column;gap:14px;min-width:0;display:flex}@media (width<=1100px){.layout{grid-template-columns:1fr}}h1{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--thread);margin:0 0 2px;font-size:30px;font-weight:700}h1 .dim{color:var(--muted);letter-spacing:.12em;font-size:16px;font-weight:600}h2{font-family:var(--font-display);color:var(--muted);text-transform:uppercase;letter-spacing:.16em;margin:24px 0 10px;font-size:13px;font-weight:700}.weave{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:24px;margin:10px 0 0;padding:7px 2px;display:flex}.knot{background:var(--data);flex:none;width:8px;height:8px;transition:background .4s;animation:.3s both knotIn;transform:rotate(45deg)}.knot-compute{background:var(--compute)}.knot-spark{background:var(--thread)}.knot-dim{background:var(--line);animation:1.4s both knotOut}@keyframes knotIn{0%{transform:rotate(45deg)scale(0)}to{transform:rotate(45deg)scale(1)}}@keyframes knotOut{0%{background:var(--bad)}to{background:var(--line)}}.weave .weave-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.panel{background:var(--panel);border:1px solid var(--line-soft);border-radius:8px;padding:16px;position:relative}.panel:before,.panel:after{content:"";pointer-events:none;width:9px;height:9px;position:absolute}.panel:before{border-top:1px solid var(--line);border-left:1px solid var(--line);top:5px;left:5px}.panel:after{border-bottom:1px solid var(--line);border-right:1px solid var(--line);bottom:5px;right:5px}.panel h2{margin-top:0}h2{align-items:center;gap:10px;display:flex}h2:after{content:"";border-top:1px solid var(--line-soft);flex:1}h2 .count{color:var(--thread);border:1px solid var(--thread);border-radius:4px;padding:0 7px;font-size:12px;line-height:1.5}.roomcode{font-family:var(--font-display);letter-spacing:.4em;color:var(--thread);margin:2px 0 10px;font-size:32px;font-weight:700}.steps{margin:0;padding-left:20px;font-size:12.5px;line-height:1.85}.steps li{margin-bottom:6px}.steps li::marker{color:var(--thread);font-weight:600}.live-dot{background:var(--ok);border-radius:50%;width:7px;height:7px;animation:1.6s steps(2,start) infinite blink;display:inline-block}.row{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.row>*{flex:300px}button{background:var(--raised);color:var(--text);border:1px solid var(--line);font:500 13px var(--font-mono);cursor:pointer;border-radius:6px;padding:8px 14px;transition:border-color .15s,color .15s}button:hover{border-color:var(--thread);color:var(--thread)}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible{outline:2px solid var(--thread);outline-offset:2px}code{color:var(--data);word-break:break-all}.log{border:1px solid var(--line-soft);white-space:pre-wrap;background:#0b0f17;border-radius:8px;height:230px;padding:12px;font-size:12.5px;line-height:1.7;overflow-y:auto}.log .l-spark{color:var(--thread);font-weight:600}.log .l-ok{color:var(--ok)}.log .l-bad{color:var(--bad)}.log .l-node{color:var(--compute)}.node-card{border:1px solid var(--line-soft);border-left:3px solid var(--line);background:var(--panel);border-radius:8px;flex-direction:column;gap:8px;padding:13px 14px;animation:.3s both rise;display:flex}.node-card:hover{border-left-color:var(--thread)}.node-card.busy{border-color:var(--compute);border-left-color:var(--compute);animation:1.1s ease-in-out infinite busyPulse}@keyframes busyPulse{0%,to{border-color:var(--compute)}50%{border-color:var(--line-soft)}}.node-card.stale{opacity:.45;filter:saturate(.4)}.node-card strong{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;font-size:16px}.badge{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px;padding:2px 9px;font-size:11px;font-weight:500;display:inline-block}.badge.p2p{color:var(--ok);border-color:var(--ok)}.badge.relay{color:var(--warn);border-color:var(--warn)}.badge.status-open{color:var(--ok);border-color:var(--ok)}.badge.status-connecting,.badge.status-reconnecting{color:var(--warn);border-color:var(--warn)}.badge.status-closed{color:var(--bad);border-color:var(--bad)}.badge.chip-data{color:var(--data);border-color:var(--data)}.badge.chip-compute{color:var(--compute);border-color:var(--compute)}.badge.chip-human{color:var(--thread);border-color:var(--thread)}.badge.pulse{animation:1.1s steps(2,start) infinite blink}.stats{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:8px;margin:12px 0 0;display:flex}.stat{border:1px solid var(--line-soft);color:var(--muted);background:var(--panel);border-radius:6px;padding:4px 12px;font-size:12px}.stat b{color:var(--text);margin-left:5px;font-weight:600}.stat.stat-zero{border-color:var(--ok)}.stat.stat-zero b{color:var(--ok)}.qr{background:#fff;border-radius:8px;width:168px;height:168px;padding:8px}.dim{color:var(--muted)}.nodes-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.banner{z-index:50;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--panel);border-bottom:2px solid var(--line);margin:-24px -24px 16px;padding:12px 24px;font-size:17px;font-weight:700;animation:.25s both bannerIn;position:sticky;top:0}.banner.b-compiling{color:var(--compute);border-bottom-color:var(--compute)}.banner.b-registered,.banner.b-swapped{color:var(--thread);border-bottom-color:var(--thread)}.banner.b-replanning{color:var(--warn);border-bottom-color:var(--warn)}.banner.b-degraded{color:var(--bad);border-bottom-color:var(--bad)}@keyframes bannerIn{0%{transform:translateY(-100%)}to{transform:none}}.flow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.flow-arrow{color:var(--muted)}.flow-stage{border:1px solid var(--line);border-radius:6px;flex-direction:column;padding:4px 10px;line-height:1.35;display:inline-flex}.flow-stage b{font-size:12px;font-weight:600}.flow-stage small{color:var(--muted);font-size:10.5px}.flow-stage.fs-running{border-color:var(--compute)}.flow-stage.fs-running b{color:var(--compute)}.flow-stage.fs-done{border-color:var(--ok)}.flow-stage.fs-done b{color:var(--ok)}.flow-stage.fs-failed{border-color:var(--bad)}.flow-stage.fs-failed b{color:var(--bad)}.preview-img{border:1px solid var(--line);border-radius:6px;width:100%;display:block}.topo-edge{stroke-width:1.5px}.topo-edge.topo-busy{stroke-width:2.5px;stroke-dasharray:6 5;animation:.7s linear infinite edgeFlow}@keyframes edgeFlow{to{stroke-dashoffset:-11px}}.topo-knot-busy{animation:1.1s steps(2,start) infinite blink}.topo-label{font:600 10.5px var(--font-mono);fill:var(--text);text-anchor:middle}.topo-host{fill:var(--thread)}.topo-edge-label{font:500 9px var(--font-mono);fill:var(--muted);text-anchor:middle}.agent-row{align-items:baseline;gap:8px;margin:4px 0;font-size:12px;display:flex}.agent-row code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.agent-args{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.raw-surface pre{border:1px solid var(--line-soft);background:#0b0f17;border-radius:6px;max-height:220px;margin:8px 0 0;padding:10px;font-size:11px;overflow:auto}.raw-surface summary{cursor:pointer;color:var(--muted);font-size:12px}.tool-name-btn{cursor:pointer}.tool-name-btn:hover code{color:var(--thread)}.tool-pipe{margin:4px 0 8px 14px}@keyframes rise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:.45}}.toast{border-left:3px solid var(--thread);padding:12px 16px;font-size:15px;animation:.25s both rise}.human-card{border:2px solid var(--thread);animation:1.4s ease-in-out infinite framePulse}.human-card button{padding:14px 16px;font-size:15px}@keyframes framePulse{0%,to{border-color:var(--thread)}50%{border-color:var(--line)}}.tool-row{animation:.35s both rise}@media (width<=520px){body{font-size:15px}.badge{padding:3px 10px;font-size:13px}.log{height:260px;font-size:13.5px}button{padding:11px 16px;font-size:14.5px}}@media (prefers-reduced-motion:reduce){.node-card,.node-card.busy,.badge.pulse,.tool-row{animation:none}button{transition:none}}
