:root{--bg:#080c14;--sidebar-bg:#0d121c;--card:#111722;--card-soft:#151b27;--border:#202838;--border-strong:#2d374b;--text:#e6edf3;--muted:#8894a7;--muted-strong:#b5bfce;--teal:#54c6d8;--teal-strong:#38b6cc;--teal-soft:#54c6d824;--blue:#60a5fa;--amber:#fbbf24;--purple:#a78bfa;--green:#34d399;--danger:#fb7185;--warning:#fbbf24;--shadow:#00000042;color:var(--text);font-family:DM Sans,Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{background:var(--teal);color:#061016;cursor:pointer;border:0;border-radius:10px;padding:.72rem .95rem;font-weight:800;transition:background .15s,border-color .15s,transform .15s}button:hover{background:var(--teal-strong);transform:translateY(-1px)}button.secondary,.link-button{color:var(--text);border:1px solid var(--border);background:#171f2d}button.secondary:hover,.link-button:hover{border-color:var(--teal);background:#1a2636}.link-button{border-radius:10px;justify-content:center;align-items:center;padding:.72rem .95rem;font-size:.88rem;font-weight:800;text-decoration:none;display:inline-flex}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#0b111b;border-radius:10px;outline:none;padding:.82rem .92rem}input:focus,select:focus,textarea:focus{border-color:#54c6d8b8;box-shadow:0 0 0 3px #54c6d81f}textarea{resize:vertical;min-height:128px}label{color:var(--muted-strong);font-size:.82rem;font-weight:700}code{overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid var(--border);color:var(--teal);background:#0a1019;border-radius:10px;padding:.85rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.82rem;display:block}h1,h2,h3,p{margin-top:0}h1,h2,.brand-lockup strong{font-family:Cabinet Grotesk,Space Grotesk,DM Sans,sans-serif}.app-shell{background:var(--bg);min-height:100vh}.loading{min-height:100vh;color:var(--teal);place-items:center;font-weight:800;display:grid}.auth-card{flex-direction:column;justify-content:center;width:min(480px,100vw - 2rem);min-height:100vh;margin:0 auto;padding:3rem 0;display:flex}.auth-card .brand-lockup{margin:0 auto 1.8rem}.auth-card h1{text-align:center;letter-spacing:-.04em;margin:0 0 .6rem;font-size:clamp(2rem,5vw,3rem)}.hero-copy{max-width:36rem;color:var(--muted);text-align:center;margin:0 auto 1.5rem;line-height:1.7}.auth-form,.stack,.command-stack{gap:.8rem;display:grid}.auth-form{border:1px solid var(--border);background:var(--card);box-shadow:0 18px 50px var(--shadow);border-radius:18px;margin-bottom:.9rem;padding:1rem}.link-button{width:100%}.brand-lockup{align-items:center;gap:.72rem;display:flex}.brand-lockup.compact{border-bottom:1px solid var(--border);padding:1rem 1rem .95rem}.brand-lockup>div{gap:.02rem;display:grid}.brand-lockup strong{color:var(--text);letter-spacing:-.01em;font-size:1.02rem;font-weight:800;line-height:1;display:block}.brand-lockup small{color:var(--teal);letter-spacing:.24em;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:900;line-height:1;display:block}.brand-badge{object-fit:contain;flex:none;width:42px;height:42px;display:block}.brand-lockup.compact .brand-badge{width:38px;height:38px}.dashboard-shell{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);grid-template-rows:auto 1fr auto;height:100vh;display:grid;position:sticky;top:0}.nav-list{align-content:start;gap:.28rem;padding:1rem .65rem;display:grid}.nav-item{width:100%;color:var(--muted-strong);text-align:left;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:.72rem;padding:.72rem .78rem;font-size:.9rem;font-weight:700;display:flex}.nav-item:hover{background:#151b27}.nav-item.active{background:var(--teal);color:#061016}.nav-item span{width:25px;height:25px;color:inherit;background:#ffffff0f;border-radius:7px;place-items:center;font-family:JetBrains Mono,monospace;font-size:.66rem;display:grid}.sidebar-footer{border-top:1px solid var(--border);gap:.72rem;padding:1rem;display:grid}.user-card{gap:.18rem;min-width:0;display:grid}.user-card strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.full-width{width:100%}.network-status{color:var(--muted);align-items:center;gap:.45rem;margin:0;font-size:.8rem;display:flex}.main-workspace{min-width:0;padding:clamp(1.1rem,2.5vw,2rem)}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;display:flex}.page-header h1{letter-spacing:-.04em;margin:0 0 .35rem;font-size:clamp(1.7rem,3vw,2.35rem)}.page-header p,.muted,small{color:var(--muted)}.live-pill,.badge{border:1px solid var(--border);width:fit-content;color:var(--muted-strong);background:#111824;border-radius:999px;align-items:center;gap:.38rem;padding:.35rem .58rem;font-size:.75rem;font-weight:800;display:inline-flex}.live-pill.online,.badge.success{color:var(--green);background:#34d3991c;border-color:#34d39938}.badge.warning,.warning{color:var(--warning);background:#fbbf241a;border-color:#fbbf243d}.eyebrow{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .32rem;font-size:.72rem;font-weight:900}.view-stack{gap:1rem;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.stat-card,.panel{border:1px solid var(--border);background:var(--card);border-radius:14px;box-shadow:0 16px 40px #0000001f}.stat-card{gap:.35rem;min-height:120px;padding:1rem;display:grid;position:relative;overflow:hidden}.stat-card small{font-size:.78rem}.stat-card strong{font-family:JetBrains Mono,monospace;font-size:2rem;line-height:1}.stat-card>span:not(.stat-icon){color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.8rem}.stat-icon{background:#ffffff0d;border-radius:10px;place-items:center;width:35px;height:35px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:grid;position:absolute;top:1rem;right:1rem}.stat-card.teal strong,.stat-card.teal .stat-icon{color:var(--teal)}.stat-card.blue strong,.stat-card.blue .stat-icon{color:var(--blue)}.stat-card.amber strong,.stat-card.amber .stat-icon{color:var(--amber)}.stat-card.purple strong,.stat-card.purple .stat-icon{color:var(--purple)}.stat-card.green strong,.stat-card.green .stat-icon{color:var(--green)}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:1rem;display:grid}.panel{padding:1rem}.panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.panel h2{letter-spacing:-.02em;margin:0;font-size:1.08rem}.connect-panel{max-width:960px}.command-stack{margin:1rem 0}.setup-downloads{flex-wrap:wrap;gap:.6rem;display:flex}.setup-downloads.compact{justify-content:flex-end;margin-left:auto}.setup-downloads.compact .link-button{padding:.5rem .68rem;font-size:.76rem}.setup-note{color:var(--muted);margin:-.2rem 0 .2rem;font-size:.9rem;line-height:1.5}.warning,.error{border:1px solid #0000;border-radius:10px;padding:.75rem}.error{color:var(--danger);background:#fb71851a;border-color:#fb718540}.agent-list,.channel-list,.compact-list{gap:.65rem;margin-top:1rem;display:grid}.agent-pill,.channel-row,.compact-list article{border:1px solid var(--border);background:var(--card-soft);width:100%;color:var(--text);text-align:left;border-radius:12px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.agent-pill{justify-content:flex-start}.agent-pill>div,.channel-row span,.compact-list article>div{gap:.12rem;min-width:0;display:grid}.agent-pill small,.channel-row small,.compact-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.agent-pill .status-dot{margin-left:auto}.agent-avatar{width:34px;height:34px;color:var(--teal);background:#54c6d82e;border-radius:9px;flex:none;place-items:center;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:900;display:grid}.status-dot{background:#566173;border-radius:50%;flex:none;width:8px;height:8px}.status-dot.online{background:var(--green);box-shadow:0 0 12px #34d3998c}.channel-row{justify-content:space-between}.channel-row.active{background:var(--teal-soft);border-color:#54c6d873}.chat-workspace{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:1rem;display:grid}.chat-panel{grid-template-rows:auto minmax(0,1fr) auto auto;min-height:calc(100vh - 8.5rem);display:grid}.chat-panel.empty{text-align:center;flex-direction:column;justify-content:center;display:flex}.messages{flex-direction:column;gap:.75rem;min-height:0;padding:.25rem 0 .8rem;display:flex;overflow:auto}.message{border:1px solid var(--border);background:#0b111b;border-radius:14px;max-width:82%;padding:.82rem .95rem}.message.user{background:#141d2b}.message.agent{background:var(--teal-soft);border-color:#54c6d847;align-self:flex-end}.message.system{background:#a78bfa17;max-width:100%}.message-meta{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.78rem;display:flex}.message p{white-space:pre-wrap;margin:.45rem 0 0;line-height:1.55}.composer{grid-template-columns:1fr auto;gap:.75rem;display:grid}.agent-tile-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.72rem;display:grid}.agent-tile{border:1px solid var(--border);background:var(--card-soft);text-align:center;border-radius:12px;justify-items:center;gap:.4rem;padding:1rem .7rem;display:grid}.agent-tile.online{border-color:#34d39938}.agent-tile strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.compact-list article{justify-content:space-between}.swarm-shell{gap:.85rem;min-height:calc(100vh - 8.5rem);display:grid}.swarm-toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.swarm-toolbar>div:first-child{gap:.12rem;display:grid}.swarm-toolbar-actions{align-items:center;gap:.5rem;display:flex}.icon-button{place-items:center;width:38px;height:38px;padding:0;font-family:JetBrains Mono,monospace;display:inline-grid}.swarm-canvas{border:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;background:#0a0e17;border-radius:16px;height:calc(100vh - 12.5rem);min-height:640px;position:relative;overflow:hidden}.swarm-grid{opacity:.68;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.swarm-layer{transform-origin:0 0;position:absolute;inset:0}.swarm-edges{width:1px;height:1px;position:absolute;overflow:visible}.swarm-edge-path{stroke:#a78bfa6b;stroke-width:1.8px}.swarm-node-position{position:absolute}.swarm-node{background:var(--card-soft);cursor:grab;border:1px solid #ffffff12;border-radius:14px;width:200px;height:110px;padding:.62rem .72rem;transition:border-color .15s,box-shadow .15s,transform .15s,opacity .15s;position:relative;overflow:hidden;box-shadow:0 16px 34px #00000038}.swarm-node.coordinator{border-color:#a78bfa3d}.swarm-node.selected{border-color:#a78bfa80;box-shadow:0 0 0 2px #a78bfa47,0 16px 34px #0000003d}.swarm-node.dragging{opacity:.84;cursor:grabbing;transform:scale(1.04);box-shadow:0 0 0 2px #a78bfa33,0 22px 44px #00000052}.swarm-node-main{align-items:center;gap:.45rem;min-width:0;display:flex}.swarm-node-handle{color:#b5bfce6b;cursor:grab;background:0 0;border-radius:5px;flex:none;place-items:center;width:16px;height:24px;padding:0;display:grid}.swarm-node-handle:hover{color:var(--muted-strong);background:#ffffff0f;transform:none}.swarm-node-handle:active{cursor:grabbing}.swarm-avatar{background:#a78bfa21;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid;overflow:hidden}.swarm-avatar svg{width:100%;height:100%;display:block}.swarm-avatar.fallback{color:var(--purple);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:900}.swarm-node-title{gap:.1rem;min-width:0;display:grid}.swarm-node-name,.swarm-node-model{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.swarm-node-name{color:var(--text);font-size:.76rem;line-height:1.1}.swarm-node-model{color:#b5bfce8a;font-size:.58rem;line-height:1.1}.swarm-node-desc{color:#b5bfcea8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.42rem 0 0;font-size:.66rem;line-height:1.25;display:-webkit-box;overflow:hidden}.swarm-node-badges,.swarm-node-tools{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.swarm-node-badges{margin-top:.45rem}.swarm-node-tools{max-height:16px;margin-top:.38rem;overflow:hidden}.swarm-role-badge{text-transform:uppercase;border-radius:4px;padding:.16rem .34rem;font-size:.55rem;font-weight:900;line-height:1}.swarm-role-badge.coordinator{color:var(--purple);background:#a78bfa29}.swarm-role-badge.worker{color:var(--muted-strong);background:#ffffff0f}.swarm-tool-chip{color:#b5bfce94;background:#ffffff09;border:1px solid #ffffff0d;border-radius:4px;padding:.08rem .28rem;font-size:.5rem;line-height:1.1}.swarm-tool-chip.muted{color:#b5bfce57;background:0 0;border-color:#0000}.swarm-node-status{background:#566173;border-radius:50%;flex:none;width:8px;height:8px;margin-left:auto}.swarm-node-delete{color:var(--danger);background:#fb71851a;border:1px solid #fb71853d;border-radius:6px;padding:.22rem .4rem;font-size:.62rem;position:absolute;bottom:.42rem;right:.42rem}.swarm-node-delete:hover{background:#fb718529;border-color:#fb718570;transform:none}.swarm-empty{color:var(--muted);text-align:center;pointer-events:none;place-content:center;justify-items:center;gap:.55rem;padding:1.5rem;display:grid;position:absolute;inset:0}.swarm-empty h3{color:var(--text);margin:0}.swarm-empty p{max-width:22rem;margin:0;line-height:1.55}.swarm-empty button{pointer-events:auto}.swarm-modal-scrim{z-index:80;background:#03060cb8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.swarm-modal{border:1px solid var(--border);background:var(--card);border-radius:14px;width:min(560px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1rem;overflow:auto;box-shadow:0 24px 70px #0000006b}.swarm-modal label,.swarm-avatar-row{gap:.38rem;display:grid}.swarm-avatar-row{grid-template-columns:auto 1fr;align-items:center}button:disabled{cursor:not-allowed;opacity:.62;transform:none}@media (width<=1100px){.dashboard-shell{grid-template-columns:1fr}.app-sidebar{height:auto;position:static}.brand-lockup.compact{border-bottom:0}.nav-list{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:0}.sidebar-footer{grid-template-columns:1fr auto auto;align-items:center}.stat-grid,.dashboard-grid,.chat-workspace{grid-template-columns:1fr}.chat-panel{min-height:65vh}}@media (width<=680px){.page-header,.panel-header,.composer,.sidebar-footer{grid-template-columns:1fr}.page-header,.panel-header{display:grid}.nav-list,.stat-grid{grid-template-columns:1fr}}
