:root{--void: #050507;--surface: #0c0c10;--lift: #13131a;--border: rgba(255, 255, 255, .06);--border-active: rgba(255, 255, 255, .14);--text-primary: #e8e8f0;--text-mid: rgba(232, 232, 240, .62);--text-dim: rgba(232, 232, 240, .38);--accent-cyan: #06b6d4;--accent-cyan-dim: rgba(6, 182, 212, .18);--accent-ember: #ef4444;--accent-ember-dim: rgba(239, 68, 68, .15);--accent-green: #22c55e;--accent-green-dim: rgba(34, 197, 94, .14);--accent-blue: #3b82f6;--accent-blue-dim: rgba(59, 130, 246, .14);--accent-purple: #a855f7;--accent-purple-dim:rgba(168, 85, 247, .14);--font-brand: "Bebas Neue", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-prose: "Epilogue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;background:var(--void);color:var(--text-primary);font-family:var(--font-prose);font-weight:200;overflow:hidden;cursor:default;-webkit-user-select:none;user-select:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.028;pointer-events:none;z-index:9999}.shell{display:grid;grid-template-rows:52px 1fr 72px;grid-template-columns:220px 1fr 320px;height:100vh;width:100vw}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:#050507eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100}.topbar-left,.topbar-center,.topbar-right{display:flex;align-items:center;gap:24px}.brand{font-family:var(--font-brand);font-size:22px;letter-spacing:.12em;color:var(--accent-cyan)}.brand span{color:var(--text-dim);font-size:10px;font-family:var(--font-mono);letter-spacing:.2em;margin-left:10px;font-weight:300}.divider-v{width:1px;height:24px;background:var(--border)}.status-pill{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-mid);letter-spacing:.08em}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-green);box-shadow:0 0 8px var(--accent-green);animation:pulse 2s infinite}.status-dot.ok{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green)}.status-dot.fail{background:var(--accent-ember);box-shadow:0 0 8px var(--accent-ember)}.sys-metric{display:flex;flex-direction:column;align-items:center}.sys-metric-val{font-family:var(--font-mono);font-size:16px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.sys-metric-val.ok{color:var(--accent-green)}.sys-metric-val.warn{color:var(--accent-cyan)}.sys-metric-val.bad{color:var(--accent-ember)}.sys-metric-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.16em;text-transform:uppercase}.time-display{font-family:var(--font-mono);font-size:13px;color:var(--text-mid);font-variant-numeric:tabular-nums}.left-rail{border-right:1px solid var(--border);padding:16px 0;overflow-y:auto}.rail-section-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;padding:12px 24px 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 24px;cursor:pointer;font-size:13px;color:var(--text-mid);border-left:2px solid transparent;transition:all .15s}.nav-item:hover{color:var(--text-primary);background:#ffffff05}.nav-item.active{color:var(--accent-cyan);border-left-color:var(--accent-cyan);background:var(--accent-cyan-dim)}.nav-icon{width:16px;height:16px;flex-shrink:0}.nav-label{flex:1}.nav-badge{font-family:var(--font-mono);font-size:10px;background:#ffffff14;padding:2px 6px;border-radius:3px;color:var(--text-mid)}.nav-badge.red{background:var(--accent-ember-dim);color:var(--accent-ember)}.canvas{position:relative;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,rgba(245,158,11,.03) 0%,transparent 50%),radial-gradient(ellipse at 70% 70%,rgba(59,130,246,.02) 0%,transparent 50%),var(--void)}.canvas-label{position:absolute;top:16px;left:24px;font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em;z-index:10}.canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.canvas-empty button{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;padding:10px 18px;background:var(--accent-cyan-dim);border:1px solid var(--accent-cyan);color:var(--accent-cyan);border-radius:3px;cursor:pointer}.canvas-empty button:hover{background:var(--accent-cyan);color:var(--void)}.session-orb{position:absolute;border-radius:50%;cursor:pointer;transition:transform .25s cubic-bezier(.2,.9,.3,1);display:flex;align-items:center;justify-content:center}.session-orb:hover{transform:scale(1.05)}.session-orb.selected .orb-inner{box-shadow:0 0 0 1px var(--accent-cyan),0 0 40px #f59e0b66}.orb-glow{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;border-radius:50%;filter:blur(40px);opacity:.4;pointer-events:none}.orb-glow.running{background:radial-gradient(circle,var(--accent-green),transparent 70%)}.orb-glow.waiting{background:radial-gradient(circle,var(--accent-cyan),transparent 70%)}.orb-glow.paused{background:radial-gradient(circle,var(--accent-blue),transparent 70%)}.orb-glow.complete{background:radial-gradient(circle,var(--accent-purple),transparent 70%)}.orb-glow.error{background:radial-gradient(circle,var(--accent-ember),transparent 70%)}.orb-glow.idle{background:radial-gradient(circle,rgba(255,255,255,.1),transparent 70%)}.orb-ring{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;top:-12px;right:-12px;bottom:-12px;left:-12px;animation:orb-spin 18s linear infinite;pointer-events:none}.orb-ring:after{content:"";position:absolute;top:-3px;left:calc(50% - 3px);width:6px;height:6px;background:currentColor;border-radius:50%;box-shadow:0 0 8px currentColor}@keyframes orb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb-inner{position:relative;width:78%;height:78%;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.05),var(--lift) 70%);border:1px solid var(--border-active);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:14px;overflow:hidden}.orb-state-tag{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-family:var(--font-mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;border-radius:2px}.orb-state-tag.running{background:var(--accent-green-dim);color:var(--accent-green)}.orb-state-tag.waiting{background:var(--accent-cyan-dim);color:var(--accent-cyan)}.orb-state-tag.paused{background:var(--accent-blue-dim);color:var(--accent-blue)}.orb-state-tag.complete{background:var(--accent-purple-dim);color:var(--accent-purple)}.orb-state-tag.error{background:var(--accent-ember-dim);color:var(--accent-ember)}.orb-state-tag.idle{background:#ffffff0f;color:var(--text-dim)}.state-dot-inner{width:5px;height:5px;border-radius:50%;background:currentColor}.orb-state-tag.running .state-dot-inner{animation:pulse 1.4s infinite}.orb-name{font-family:var(--font-brand);font-size:17px;letter-spacing:.08em;margin-top:6px;color:var(--text-primary)}.orb-sub{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.06em;margin-top:2px}.orb-progress{font-family:var(--font-mono);font-size:10px;color:var(--text-mid);margin-top:8px;font-variant-numeric:tabular-nums}.detail-panel{border-left:1px solid var(--border);padding:20px 18px;display:flex;flex-direction:column;gap:20px;overflow-y:auto}.panel-empty{color:var(--text-dim);font-family:var(--font-mono);font-size:11px;text-align:center;padding:40px 0}.panel-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.panel-session-name{font-family:var(--font-brand);font-size:20px;letter-spacing:.08em;color:var(--text-primary)}.panel-session-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);letter-spacing:.04em;margin-top:4px}.control-strip{display:flex;gap:8px}.ctrl-btn{flex:1;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:8px 10px;background:var(--lift);border:1px solid var(--border-active);color:var(--text-primary);border-radius:3px;cursor:pointer;transition:all .15s}.ctrl-btn:hover{background:var(--surface)}.ctrl-btn:disabled{opacity:.4;cursor:not-allowed}.ctrl-btn.primary{background:var(--accent-cyan-dim);border-color:var(--accent-cyan);color:var(--accent-cyan)}.ctrl-btn.primary:hover{background:var(--accent-cyan);color:var(--void)}.ctrl-btn.danger{color:var(--accent-ember);border-color:var(--accent-ember-dim)}.ctrl-btn.danger:hover{background:var(--accent-ember-dim)}.metrics-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric-cell{background:var(--lift);border:1px solid var(--border);padding:10px 12px;border-radius:3px}.metric-val{font-family:var(--font-mono);font-size:15px;color:var(--text-primary);font-variant-numeric:tabular-nums}.metric-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;margin-top:2px}.agent-list-label,.feed-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}.agent-row{display:flex;align-items:start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.agent-state-pip{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}.agent-state-pip.pip-queued{background:var(--text-dim)}.agent-state-pip.pip-running{background:var(--accent-green);box-shadow:0 0 6px var(--accent-green)}.agent-state-pip.pip-pause{background:var(--accent-blue)}.agent-state-pip.pip-complete{background:var(--accent-purple)}.agent-state-pip.pip-failed{background:var(--accent-ember)}.agent-state-pip.pip-wait{background:var(--accent-cyan);box-shadow:0 0 6px var(--accent-cyan)}.agent-info{flex:1;min-width:0}.agent-name{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);font-weight:400}.agent-task{font-size:11px;color:var(--text-dim);margin-top:2px;line-height:1.4}.agent-tokens{font-family:var(--font-mono);font-size:10px;color:var(--text-mid);font-variant-numeric:tabular-nums}.bottombar{grid-column:1 / -1;display:flex;align-items:center;gap:20px;padding:0 24px;border-top:1px solid var(--border);background:#050507eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottombar-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.2em}.global-controls{display:flex;gap:8px}.global-btn{font-family:var(--font-mono);font-size:10px;padding:6px 12px;background:transparent;border:1px solid var(--border-active);color:var(--text-mid);border-radius:3px;cursor:pointer;letter-spacing:.08em}.global-btn:hover{color:var(--text-primary);border-color:#ffffff4d}.global-btn.cyan{color:var(--accent-cyan);border-color:var(--accent-cyan-dim)}.global-btn.ember{color:var(--accent-ember);border-color:var(--accent-ember-dim)}.cost-ticker{margin-left:auto;display:flex;align-items:center;gap:20px}.ticker-item{display:flex;flex-direction:column}.ticker-val{font-family:var(--font-mono);font-size:14px;color:var(--text-primary);font-variant-numeric:tabular-nums}.ticker-val.cyan{color:var(--accent-cyan)}.ticker-label{font-family:var(--font-mono);font-size:8px;color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase}.shell-drawer{position:fixed;bottom:72px;left:220px;right:320px;height:55vh;background:var(--void);border-top:1px solid var(--border-active);border-left:1px solid var(--border);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:200;animation:drawer-up .3s cubic-bezier(.2,.9,.3,1)}@keyframes drawer-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.drawer-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--text-mid)}.drawer-title strong{color:var(--accent-cyan)}.drawer-close{background:none;border:none;font-family:var(--font-mono);font-size:14px;color:var(--text-dim);cursor:pointer}.drawer-close:hover{color:var(--text-primary)}.drawer-actions{display:flex;align-items:center;gap:12px}.drawer-action{font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;padding:5px 10px;background:var(--accent-cyan-dim);border:1px solid var(--accent-cyan);color:var(--accent-cyan);border-radius:3px;cursor:pointer}.drawer-action:hover{background:var(--accent-cyan);color:var(--void)}.drawer-action.danger{background:var(--accent-ember-dim);border-color:var(--accent-ember);color:var(--accent-ember)}.drawer-action.danger:hover{background:var(--accent-ember);color:var(--void)}.drawer-err{font-family:var(--font-mono);font-size:10px;color:var(--accent-ember);background:var(--accent-ember-dim);padding:6px 20px;letter-spacing:.08em;border-bottom:1px solid var(--accent-ember)}.tab-live{margin-left:6px;font-family:var(--font-mono);font-size:8px;letter-spacing:.18em;background:var(--accent-green-dim);color:var(--accent-green);padding:1px 5px;border-radius:2px}.drawer-tabs{display:flex;padding:0 20px;gap:0;background:var(--surface);border-bottom:1px solid var(--border)}.drawer-tab{font-family:var(--font-mono);font-size:11px;padding:10px 16px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;gap:8px}.drawer-tab:hover{color:var(--text-mid)}.drawer-tab.active{color:var(--accent-cyan);border-bottom-color:var(--accent-cyan)}.tab-pip{width:6px;height:6px;border-radius:50%;background:var(--text-dim)}.tab-pip.running{background:var(--accent-green)}.tab-pip.paused{background:var(--accent-blue)}.tab-pip.complete{background:var(--accent-purple)}.tab-pip.failed{background:var(--accent-ember)}.tab-pip.waiting{background:var(--accent-cyan)}.drawer-body{flex:1;background:#000;overflow:hidden;position:relative}.drawer-terminal{width:100%;height:100%;padding:12px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.workflows-view{position:absolute;top:0;right:0;bottom:0;left:0;padding:48px 56px 24px;overflow-y:auto}.workflows-header{margin-bottom:28px}.workflows-title{font-family:var(--font-brand);font-size:22px;letter-spacing:.14em;color:var(--accent-cyan)}.workflows-sub{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-top:6px;letter-spacing:.04em}.workflows-error{font-family:var(--font-mono);font-size:11px;color:var(--accent-ember);background:var(--accent-ember-dim);border:1px solid var(--accent-ember);padding:8px 12px;border-radius:3px;margin-bottom:16px;letter-spacing:.08em}.workflow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px}.workflow-card{background:var(--lift);border:1px solid var(--border);border-radius:4px;padding:20px;display:flex;flex-direction:column;gap:12px;transition:border-color .15s}.workflow-card:hover{border-color:var(--border-active)}.workflow-card.open{border-color:var(--accent-cyan-dim)}.workflow-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.workflow-card-name{font-family:var(--font-brand);font-size:16px;letter-spacing:.08em;color:var(--text-primary)}.workflow-card-count{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;color:var(--text-dim)}.workflow-card-desc{font-size:12px;line-height:1.5;color:var(--text-mid)}.workflow-card-toggle{align-self:flex-start;background:none;border:none;padding:0;font-family:var(--font-mono);font-size:11px;color:var(--accent-cyan);cursor:pointer;letter-spacing:.06em}.workflow-card-toggle:hover{color:var(--text-primary)}.workflow-agent-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.workflow-agent-row{padding:8px 0;border-bottom:1px solid var(--border)}.workflow-agent-row:last-child{border-bottom:none}.workflow-agent-name{font-family:var(--font-mono);font-size:11px;color:var(--text-primary);letter-spacing:.04em}.workflow-agent-task{font-size:11px;color:var(--text-dim);line-height:1.4;margin-top:2px}.workflow-start-btn{margin-top:auto}.workflows-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.default-provider{display:flex;flex-direction:column;gap:4px}.default-provider label{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;color:var(--text-dim)}.default-provider select,.workflow-agent-provider{font-family:var(--font-mono);font-size:11px;background:var(--surface);border:1px solid var(--border-active);color:var(--text-primary);padding:5px 8px;border-radius:3px;letter-spacing:.04em}.default-provider select:focus,.workflow-agent-provider:focus{outline:none;border-color:var(--accent-cyan)}.workflow-agent-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.workflow-agent-provider{flex-shrink:0;min-width:160px}.monitor-view{position:absolute;top:0;right:0;bottom:0;left:0;padding:48px 56px 24px;overflow-y:auto}.monitor-header{margin-bottom:24px}.monitor-title{font-family:var(--font-brand);font-size:22px;letter-spacing:.14em;color:var(--accent-cyan)}.monitor-sub{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-top:6px;letter-spacing:.04em}.monitor-section-label{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);letter-spacing:.2em;margin:24px 0 10px}.monitor-empty{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);padding:24px 0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.kpi-cell{background:var(--lift);border:1px solid var(--border);border-radius:4px;padding:16px 18px}.kpi-val{font-family:var(--font-mono);font-size:22px;color:var(--text-primary);font-variant-numeric:tabular-nums}.kpi-val.cyan{color:var(--accent-cyan)}.kpi-label{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);letter-spacing:.18em;margin-top:4px}.monitor-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px}.monitor-table th{text-align:left;font-size:9px;letter-spacing:.18em;color:var(--text-dim);padding:10px 12px;border-bottom:1px solid var(--border)}.monitor-table th.num,.monitor-table td.num{text-align:right;font-variant-numeric:tabular-nums}.monitor-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.monitor-table td.cyan{color:var(--accent-cyan)}.timeline-list{list-style:none;padding:0;margin:0}.timeline-row{display:grid;grid-template-columns:14px 90px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:start}.timeline-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--text-dim)}.timeline-dot.running{background:var(--accent-green);box-shadow:0 0 8px var(--accent-green)}.timeline-dot.complete{background:var(--accent-purple)}.timeline-dot.failed{background:var(--accent-ember)}.timeline-dot.paused{background:var(--accent-blue)}.timeline-time{font-family:var(--font-mono);font-size:11px;color:var(--text-mid);font-variant-numeric:tabular-nums;padding-top:2px}.timeline-headline{font-size:13px;color:var(--text-primary)}.timeline-agent{font-weight:500}.timeline-wf{font-family:var(--font-mono);font-size:11px;color:var(--text-mid)}.timeline-sep{color:var(--text-dim);margin:0 6px}.timeline-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);margin-top:4px;letter-spacing:.04em}.timeline-sub code{color:var(--text-mid);background:var(--lift);padding:1px 5px;border-radius:2px}.timeline-status.complete{color:var(--accent-purple)}.timeline-status.running{color:var(--accent-green)}.timeline-status.failed{color:var(--accent-ember)}.timeline-status.paused{color:var(--accent-blue)}@media (max-width: 768px){.shell{grid-template-columns:1fr;grid-template-rows:52px 1fr 60px}.left-rail,.detail-panel{display:none}.topbar{padding:0 12px}.topbar-left{gap:12px}.topbar-center{display:none}.topbar-right{gap:8px}.brand{font-size:18px}.brand span,.sys-metric,.divider-v{display:none}.bottombar{padding:0 12px;gap:10px}.bottombar-label,.global-controls{display:none}.cost-ticker{margin-left:0;gap:12px}.ticker-item{flex-direction:row;align-items:baseline;gap:6px}.ticker-val{font-size:13px}.ticker-label{font-size:7px}.shell-drawer{left:0;right:0;bottom:64px;height:75vh;border-radius:16px 16px 0 0;border-left:none;border-right:none}.drawer-header{padding:14px 16px;border-radius:16px 16px 0 0}.drawer-title{font-size:12px}.drawer-close{font-size:18px;padding:8px}.drawer-actions{gap:8px}.drawer-action{padding:10px 14px;font-size:11px}.drawer-tabs{padding:0 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.drawer-tabs::-webkit-scrollbar{display:none}.drawer-tab{padding:12px 16px;white-space:nowrap;flex-shrink:0}.drawer-terminal{padding:8px}.canvas-label{left:12px}.session-orb{transform:scale(.8)}.workflows-view,.monitor-view{padding:24px 16px}.workflows-header{flex-direction:column;align-items:stretch}.workflow-grid{grid-template-columns:1fr}.workflow-agent-top{flex-direction:column;align-items:stretch;gap:6px}.workflow-agent-provider{min-width:unset}.kpi-grid{grid-template-columns:repeat(2,1fr)}.timeline-row{grid-template-columns:10px 1fr}.timeline-time{display:none}}@media (pointer: coarse){.nav-item{padding:14px 24px}.ctrl-btn{padding:12px 14px}.drawer-tab{padding:12px 16px}.global-btn{padding:10px 16px}.drawer-action{padding:8px 14px}.session-orb{min-width:80px;min-height:80px}}.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--void);z-index:9999;overflow:hidden}.login-gate:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,var(--accent-cyan-dim) 0%,transparent 70%);animation:login-pulse 4s ease-in-out infinite;pointer-events:none}@keyframes login-pulse{0%,to{transform:scale(.8);opacity:.3}50%{transform:scale(1.2);opacity:.5}}.login-box{position:relative;width:100%;max-width:400px;padding:48px 40px;background:#0f0f12e6;border:1px solid var(--border);border-radius:16px;text-align:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-icon-container{position:relative;width:140px;height:140px;margin:0 auto 24px}.login-icon-main{width:100%;height:100%;filter:drop-shadow(0 0 30px var(--accent-cyan)) drop-shadow(0 0 60px rgba(6,182,212,.4))}.icon-locust{animation:locust-pulse 3s ease-in-out infinite;transform-origin:center}@keyframes locust-pulse{0%,to{opacity:1;filter:brightness(1) drop-shadow(0 0 10px rgba(6,182,212,.5))}50%{opacity:.9;filter:brightness(1.2) drop-shadow(0 0 25px rgba(6,182,212,.8))}}.sparkle{position:absolute;width:4px;height:4px;background:var(--accent-cyan);border-radius:50%;box-shadow:0 0 6px var(--accent-cyan),0 0 12px var(--accent-cyan);animation:sparkle-float 3s ease-in-out infinite}.sparkle.s1{top:10%;left:20%;animation-delay:0s}.sparkle.s2{top:15%;right:15%;animation-delay:.5s}.sparkle.s3{top:50%;left:5%;animation-delay:1s}.sparkle.s4{top:50%;right:5%;animation-delay:1.5s}.sparkle.s5{bottom:15%;left:15%;animation-delay:2s}.sparkle.s6{bottom:10%;right:20%;animation-delay:2.5s}@keyframes sparkle-float{0%,to{transform:scale(1) translateY(0);opacity:1}25%{transform:scale(1.5) translateY(-5px);opacity:.6}50%{transform:scale(.8) translateY(3px);opacity:1}75%{transform:scale(1.3) translateY(-3px);opacity:.7}}.login-brand{font-family:var(--font-brand);font-size:38px;letter-spacing:.2em;color:var(--accent-cyan);margin-bottom:6px;text-shadow:0 0 30px var(--accent-cyan-dim)}.login-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.3em;color:var(--text-dim);text-transform:uppercase;margin-bottom:40px}.login-field{margin-bottom:20px;text-align:left}.login-field label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--text-mid);margin-bottom:8px;text-transform:uppercase}.login-field input{width:100%;padding:14px 16px;font-family:var(--font-mono);font-size:14px;background:var(--lift);border:1px solid var(--border-active);border-radius:6px;color:var(--text-primary);transition:border-color .15s}.login-field input:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 3px var(--accent-cyan-dim)}.login-field input::placeholder{color:var(--text-dim)}.login-org-input{display:flex;align-items:stretch}.login-org-input input{border-radius:6px 0 0 6px;border-right:none;text-align:right;padding-right:8px}.login-org-suffix{display:flex;align-items:center;padding:0 14px;background:var(--surface);border:1px solid var(--border-active);border-left:none;border-radius:0 6px 6px 0;font-family:var(--font-mono);font-size:13px;color:var(--text-dim);white-space:nowrap}.login-error{font-family:var(--font-mono);font-size:12px;color:var(--accent-ember);background:var(--accent-ember-dim);padding:12px 14px;border-radius:6px;margin-bottom:20px;text-align:left}.login-btn{width:100%;padding:16px;font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;background:var(--accent-cyan);border:none;border-radius:6px;color:var(--void);cursor:pointer;font-weight:600;transition:all .15s}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.login-qr-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:12px;background:transparent;border:1px solid var(--border);border-radius:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--text-mid);cursor:pointer;transition:all .15s}.login-qr-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.login-qr-code{display:inline-block;padding:16px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d}.login-qr-hint{margin-top:20px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim);line-height:1.6}.login-qr-hint strong{color:var(--accent-cyan)}.login-back-btn{margin-top:20px;padding:10px 20px;background:transparent;border:none;font-family:var(--font-mono);font-size:12px;color:var(--text-mid);cursor:pointer}.login-back-btn:hover{color:var(--text-primary)}.login-qr-code svg{display:block}.login-sent{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:24px}.login-sent-title{font-size:18px;font-weight:600;color:var(--text-primary)}.login-sent-text{font-family:var(--font-mono);font-size:13px;color:var(--text-mid);line-height:1.6}.login-sent-text strong{color:var(--accent-cyan);display:block;margin-top:4px}.login-hint{margin-top:20px;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);line-height:1.5}@media (max-width: 480px){.login-box{margin:16px;padding:36px 24px;border-radius:12px}.login-icon-container{width:120px;height:120px;margin-bottom:20px}.login-brand{font-size:32px}.login-sub{font-size:10px;margin-bottom:32px}.login-field input{padding:16px;font-size:16px}.login-btn{padding:18px;font-size:14px}.login-gate:before{width:400px;height:400px}}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--surface);border-top:1px solid var(--border);z-index:300}@media (max-width: 768px){.mobile-nav{display:flex;align-items:center;justify-content:space-around;padding:0 8px}.mobile-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;background:none;border:none;color:var(--text-dim);cursor:pointer}.mobile-nav button.active{color:var(--accent-cyan)}.mobile-nav button svg{width:22px;height:22px}.mobile-nav button span{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em}.mobile-nav .add-btn{flex:0 0 56px;height:56px;border-radius:50%;background:var(--accent-cyan);color:var(--void);margin:-20px 8px 0;box-shadow:0 4px 16px #06b6d466}.mobile-nav .add-btn svg{width:28px;height:28px}.mobile-nav .add-btn span{display:none}.mobile-nav .add-btn:disabled{opacity:.5}.bottombar{display:none}.shell{grid-template-rows:52px 1fr;padding-bottom:64px}}.orch-view{padding:24px;height:100%;overflow-y:auto}.orch-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.orch-title{font-family:var(--font-brand);font-size:18px;letter-spacing:.15em;color:var(--text-primary)}.orch-controls{display:flex;align-items:center;gap:12px}.orch-select{font-family:var(--font-mono);font-size:12px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary)}.orch-btn{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:8px 14px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-mid);cursor:pointer;transition:all .15s}.orch-btn:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.orch-btn.recording{border-color:var(--accent-ember);color:var(--accent-ember)}.rec-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.rec-dot.active{background:var(--accent-ember);animation:rec-pulse 1s infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.4}}.orch-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:20px}.orch-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px}.graph-panel{grid-row:span 2}.metrics-panel{grid-column:span 2}.panel-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;color:var(--text-dim);margin-bottom:16px}.orch-empty,.orch-offline{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;color:var(--text-dim)}.orch-empty-icon svg{width:64px;height:64px;color:var(--border-active);margin-bottom:16px}.orch-empty-text{font-family:var(--font-mono);font-size:14px;color:var(--text-mid);margin-bottom:8px}.orch-empty-sub{font-family:var(--font-mono);font-size:11px}.orch-recording-badge{position:fixed;bottom:90px;right:340px;display:flex;align-items:center;gap:8px;background:var(--accent-ember-dim);border:1px solid var(--accent-ember);padding:8px 14px;border-radius:6px;font-family:var(--font-mono);font-size:11px;color:var(--accent-ember);z-index:100}.coord-graph{width:100%;height:300px}.coord-graph-empty{display:flex;align-items:center;justify-content:center;height:200px;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.coord-edge{opacity:.6}.coord-node .node-bg{fill:var(--void);stroke:var(--border);stroke-width:1}.coord-node .node-fill{fill:var(--surface);transition:fill .3s}.coord-node.node-queued .node-fill{fill:var(--surface)}.coord-node.node-running .node-fill{fill:var(--accent-cyan-dim);stroke:var(--accent-cyan);stroke-width:2}.coord-node.node-complete .node-fill{fill:var(--accent-purple-dim, rgba(168, 85, 247, .2));stroke:var(--accent-purple);stroke-width:1}.coord-node.node-failed .node-fill{fill:var(--accent-ember-dim);stroke:var(--accent-ember);stroke-width:1}.coord-node.current .node-bg{stroke:var(--accent-cyan);stroke-width:2}.coord-node .node-label{font-family:var(--font-mono);font-size:9px;fill:var(--text-primary);pointer-events:none}.coord-node .node-pulse{fill:none;stroke:var(--accent-cyan);stroke-width:2;opacity:0;animation:node-pulse-anim 1.5s infinite}@keyframes node-pulse-anim{0%{r:26;opacity:.6}to{r:40;opacity:0}}.coord-legend .legend-text{font-family:var(--font-mono);font-size:8px;fill:var(--text-dim)}.workflow-progress{padding:8px 0}.wp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.wp-title{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.wp-stats{font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.wp-bar{height:6px;background:var(--lift);border-radius:3px;overflow:hidden;margin-bottom:20px}.wp-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-purple));border-radius:3px;transition:width .3s ease}.wp-steps{display:flex;flex-direction:column;gap:8px}.wp-step{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--lift);border-radius:6px;border-left:3px solid var(--border)}.wp-step.step-complete{border-left-color:var(--accent-purple)}.wp-step.step-running{border-left-color:var(--accent-cyan);background:var(--accent-cyan-dim)}.wp-step.step-failed{border-left-color:var(--accent-ember)}.wp-step.current{box-shadow:0 0 0 1px var(--accent-cyan)}.step-indicator{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface);font-family:var(--font-mono);font-size:10px;color:var(--text-dim)}.step-complete .step-indicator{background:var(--accent-purple-dim, rgba(168,85,247,.2));color:var(--accent-purple)}.step-running .step-indicator{background:var(--accent-cyan-dim);color:var(--accent-cyan)}.step-failed .step-indicator{background:var(--accent-ember-dim);color:var(--accent-ember)}.step-indicator svg{width:14px;height:14px}.step-spinner{width:14px;height:14px;border:2px solid var(--accent-cyan-dim);border-top-color:var(--accent-cyan);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.step-label{flex:1;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.step-tokens{font-family:var(--font-mono);font-size:10px;color:var(--text-dim)}.live-metrics{padding:8px 0}.lm-header{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;color:var(--text-dim);margin-bottom:16px}.lm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.lm-card{background:var(--lift);border-radius:8px;padding:14px;text-align:center}.lm-card-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:var(--text-dim);margin-bottom:6px}.lm-card-value{font-family:var(--font-mono);font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.lm-card-value.accent{color:var(--accent-cyan)}.lm-card-sub{font-family:var(--font-mono);font-size:9px;color:var(--text-dim)}.lm-status-row{display:flex;gap:12px;margin-bottom:20px}.lm-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--lift);border-radius:4px;font-family:var(--font-mono);font-size:10px}.lm-badge.running{background:var(--accent-cyan-dim);color:var(--accent-cyan)}.lm-badge.complete{background:var(--accent-purple-dim, rgba(168,85,247,.15));color:var(--accent-purple)}.lm-badge.failed{background:var(--accent-ember-dim);color:var(--accent-ember)}.lm-badge-count{font-weight:600}.lm-badge-label{color:inherit;opacity:.8}.lm-agents-header{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;color:var(--text-dim);margin-bottom:10px}.lm-agent-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.lm-agent-row:last-child{border-bottom:none}.lm-agent-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.lm-agent-dot.running{background:var(--accent-cyan)}.lm-agent-dot.complete{background:var(--accent-purple)}.lm-agent-dot.failed{background:var(--accent-ember)}.lm-agent-name{flex:1;font-family:var(--font-mono);font-size:12px;color:var(--text-primary)}.lm-agent-tokens{font-family:var(--font-mono);font-size:11px;color:var(--text-mid);min-width:50px;text-align:right}.lm-agent-time{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);min-width:40px;text-align:right}@media (max-width: 768px){.orch-grid{grid-template-columns:1fr}.graph-panel{grid-row:auto}.metrics-panel{grid-column:auto}.lm-grid{grid-template-columns:repeat(2,1fr)}.orch-recording-badge{right:16px;bottom:80px}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}
