:root{--brand: #ffcc00;--brand-strong: #ff8c00;--brand-gradient: linear-gradient(135deg, #ffcc00 0%, #ff8c00 100%);--accent: var(--brand);--accent-subtle: rgba(255, 204, 0, .14);--on-brand: #212121;--bg: #0a0b0d;--surface: #131417;--surface-raised: #17181c;--surface-hover: #202024;--border: #202020;--border-strong: #2e2e30;--text: #ffffff;--text-body: #f9f9f9;--text-muted: #9ca3af;--text-subtle: #6b7280;--status-running: #0091ea;--status-running-bg: rgba(0, 145, 234, .16);--status-waiting: #ffab00;--status-waiting-bg: rgba(255, 171, 0, .16);--status-success: #00c853;--status-success-bg: rgba(0, 200, 83, .14);--status-failed: #d50000;--status-failed-bg: rgba(213, 0, 0, .16);--status-idle: #9ca3af;--status-idle-bg: rgba(156, 163, 175, .12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 8px;--radius: 10px;--radius-lg: 12px;--radius-pill: 999px;--font-sans: Poppins, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--weight-body: 300;--weight-bold: 700;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 15px;--text-lg: 20px;--text-xl: 26px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .28);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .44)}@media(prefers-color-scheme:light){:root{--bg: #ffffff;--surface: #f7f8fa;--surface-raised: #ffffff;--surface-hover: #f2f2f2;--border: #e5e7eb;--border-strong: #d3d7de;--text: #212121;--text-body: #3e3e3e;--text-muted: #6b7280;--text-subtle: #8b93a1;--accent-subtle: rgba(255, 204, 0, .22);--status-running: #0072b8;--status-running-bg: rgba(0, 145, 234, .12);--status-waiting: #8a5b00;--status-waiting-bg: rgba(255, 171, 0, .18);--status-success: #00893a;--status-success-bg: rgba(0, 200, 83, .14);--status-failed: #c00000;--status-failed-bg: rgba(213, 0, 0, .1);--status-idle: #6b7280;--status-idle-bg: rgba(107, 114, 128, .1);--shadow-sm: 0 1px 2px rgba(16, 21, 28, .06);--shadow: 0 1px 2px rgba(16, 21, 28, .06), 0 4px 12px rgba(16, 21, 28, .08);--shadow-lg: 0 8px 32px rgba(16, 21, 28, .12)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-body);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:var(--weight-bold)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.shell{display:grid;grid-template-columns:216px 1fr;min-height:100%}.content{min-width:0;display:flex;flex-direction:column}.sidebar{border-right:1px solid var(--border);background:var(--surface);padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-5)}.brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2)}.brand-mark{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--brand-gradient);color:var(--on-brand);display:flex;align-items:center;justify-content:center;flex:none;font-weight:var(--weight-bold);font-size:var(--text-sm);letter-spacing:-.02em}.brand-text{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text);line-height:1.2}.brand-text span{display:block;font-weight:var(--weight-body);color:var(--text-subtle);font-size:var(--text-xs)}.nav{display:flex;flex-direction:column;gap:2px}.nav a{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--text-muted);font-size:var(--text-base);transition:background .15s,color .15s;position:relative}.nav a svg{flex:none;opacity:.75}.nav-spacer{margin-left:auto}.nav a:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav a.active{background:var(--accent-subtle);color:var(--text);font-weight:var(--weight-bold)}.nav a.active svg{color:var(--brand);opacity:1}.nav a.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:var(--radius-pill);background:var(--brand-gradient)}.nav-count{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--status-waiting-bg);color:var(--status-waiting);border-radius:var(--radius-pill);padding:1px var(--space-2)}.main{padding:var(--space-5) var(--space-6);max-width:1400px;width:100%;overflow-x:hidden}.page-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.page-head h1{font-size:var(--text-lg);font-weight:var(--weight-bold);margin:0}.page-head p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--text-sm)}.panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.panel-head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.panel-head h2{margin:0;font-size:var(--text-base);font-weight:var(--weight-bold)}.panel-body{padding:var(--space-4)}.metric-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.metric-row.secondary{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:var(--space-5)}.metric{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);box-shadow:var(--shadow-sm)}.metric-icon{width:34px;height:34px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex:none;color:var(--status-idle);background:var(--status-idle-bg)}.metric.running .metric-icon{color:var(--status-running);background:var(--status-running-bg)}.metric.waiting .metric-icon{color:var(--status-waiting);background:var(--status-waiting-bg)}.metric.success .metric-icon{color:var(--status-success);background:var(--status-success-bg)}.metric.failed .metric-icon{color:var(--status-failed);background:var(--status-failed-bg)}.metric-body{min-width:0}.metric-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle)}.metric-value{font-size:var(--text-xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--text);line-height:1.15}.metric-row.secondary .metric-value{font-size:var(--text-md)}.metric-value.unset{font-size:var(--text-sm);font-weight:var(--weight-body);color:var(--text-subtle)}.metric.attention{border-color:var(--status-waiting)}.metric.attention .metric-value{color:var(--status-waiting)}.table-wrap{overflow-x:auto}table.runs{width:100%;border-collapse:collapse;font-size:var(--text-base)}table.runs th{text-align:left;font-weight:var(--weight-bold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap}table.runs td{padding:var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}table.runs tbody tr:hover{background:var(--surface-hover)}table.runs tbody tr:last-child td{border-bottom:none}.cell-id{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted)}.cell-num{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor;flex:none}.badge.running{color:var(--status-running);background:var(--status-running-bg)}.badge.waiting{color:var(--status-waiting);background:var(--status-waiting-bg)}.badge.success{color:var(--status-success);background:var(--status-success-bg)}.badge.failed{color:var(--status-failed);background:var(--status-failed-bg)}.badge.idle{color:var(--status-idle);background:var(--status-idle-bg)}.badge.running .badge-dot{animation:pulse 1.8s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.badge.running .badge-dot{animation:none}}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:grid;grid-template-columns:68px 20px 1fr;gap:var(--space-3);padding:var(--space-2) 0;position:relative}.timeline-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle);padding-top:3px;text-align:right;font-variant-numeric:tabular-nums}.timeline-marker{display:flex;justify-content:center;position:relative}.timeline-marker:before{content:"";position:absolute;top:12px;bottom:-12px;width:1px;background:var(--border)}.timeline-item:last-child .timeline-marker:before{display:none}.timeline-dot{width:8px;height:8px;border-radius:var(--radius-pill);margin-top:5px;background:var(--status-idle);z-index:1;flex:none}.timeline-dot.info{background:var(--status-running)}.timeline-dot.warn{background:var(--status-waiting)}.timeline-dot.error{background:var(--status-failed)}.timeline-body{min-width:0}.timeline-summary{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;width:100%;background:none;border:none;padding:0;color:inherit;text-align:left;font:inherit}.timeline-type{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle)}.timeline-message{color:var(--text);overflow-wrap:anywhere}.timeline-duration{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle);margin-left:auto;font-variant-numeric:tabular-nums}.timeline-detail{margin:var(--space-2) 0 var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;overflow-x:auto;color:var(--text-muted)}.approval{border:1px solid var(--status-waiting);background:var(--status-waiting-bg);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3)}.approval h3{margin:0 0 var(--space-1);font-size:var(--text-md);font-weight:var(--weight-bold)}.approval-meta{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3)}.approval-context{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap;overflow-x:auto;margin-bottom:var(--space-3)}.approval-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}textarea.response{width:100%;min-height:64px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font:inherit;resize:vertical;margin-bottom:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:36px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text);font-size:var(--text-base);font-weight:var(--weight-bold);transition:background .15s,border-color .15s,color .15s}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand-gradient);border-color:transparent;color:var(--on-brand)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-primary:disabled{background:var(--surface-hover);color:var(--text-subtle)}.btn-quiet{margin-top:var(--space-2);background:transparent;border-color:transparent;color:var(--text-muted)}.btn-quiet:hover:not(:disabled){color:var(--text);border-color:var(--border)}.btn-danger{color:var(--status-failed);border-color:var(--status-failed);background:var(--status-failed-bg)}.filters{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.filters select,.filters input{padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font:inherit}.state{padding:var(--space-7) var(--space-4);text-align:center;color:var(--text-muted)}.state h3{margin:0 0 var(--space-2);font-size:var(--text-md);color:var(--text);font-weight:var(--weight-bold)}.state p{margin:0 auto;max-width:46ch;font-size:var(--text-sm)}.state.error h3{color:var(--status-failed)}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-hover) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius);height:14px;margin-bottom:var(--space-3)}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.gate{min-height:100vh;display:grid;place-items:center;padding:var(--space-4)}.gate form{width:min(420px,100%);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow)}.gate h1{font-size:var(--text-md);margin:0 0 var(--space-2)}.gate p{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-4)}.gate input{width:100%;padding:var(--space-3);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);font-family:var(--font-mono);margin-bottom:var(--space-3)}.gate .error{color:var(--status-failed);font-size:var(--text-sm);margin-bottom:var(--space-3)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3) var(--space-5);margin-bottom:var(--space-5)}.field-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);margin-bottom:2px}.field-value{overflow-wrap:anywhere}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);overflow-x:auto}.tab{padding:var(--space-2) var(--space-3);border:none;background:none;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:var(--weight-bold)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.artifact{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap}.artifact-type{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-subtle);text-transform:uppercase}.tool-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.chip{font-family:var(--font-mono);font-size:var(--text-xs);padding:2px var(--space-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted)}@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:var(--space-4);overflow-x:auto;padding:var(--space-3)}.nav{flex-direction:row;gap:var(--space-1)}.brand span{display:none}.main{padding:var(--space-4)}table.runs thead{display:none}table.runs,table.runs tbody,table.runs tr,table.runs td{display:block;width:100%}table.runs tr{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-3);padding:var(--space-2)}table.runs td{border:none;padding:var(--space-1) var(--space-2);display:flex;justify-content:space-between;gap:var(--space-3)}table.runs td:before{content:attr(data-label);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle)}.timeline-item{grid-template-columns:20px 1fr}.timeline-time{display:none}}.connection-banner{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--status-failed);background:var(--status-failed-bg);margin-bottom:var(--space-5)}.connection-banner.warn{border-color:var(--status-waiting);background:var(--status-waiting-bg)}.connection-banner strong{color:var(--text);font-size:var(--text-base)}.connection-banner span{color:var(--text-muted);font-size:var(--text-sm)}.connection-target{color:var(--text-subtle)!important;word-break:break-all}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-title{font-size:var(--text-md);font-weight:var(--weight-bold);color:var(--text);margin:0}.topbar-actions{display:flex;align-items:center;gap:var(--space-3)}.freshness{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap}.freshness-dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--status-success);flex:none}.freshness.stale .freshness-dot{background:var(--status-idle)}.freshness.live .freshness-dot{animation:pulse 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.freshness.live .freshness-dot{animation:none}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-muted);transition:color .15s,background .15s}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn.spinning svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.state-icon{width:48px;height:48px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-3);color:var(--text-subtle);background:var(--status-idle-bg)}.state.error .state-icon{color:var(--status-failed);background:var(--status-failed-bg)}
