:root{--bg:#f4f5f7;--surface:#fff;--surface-2:#f0f1f4;--border:#dcdfe5;--text:#1c1f26;--muted:#6b7280;--accent:#2563eb;--accent-text:#fff;--ok:#15803d;--ok-bg:#dcfce7;--bad:#b91c1c;--bad-bg:#fee2e2;--warn:#b45309;--warn-bg:#fef3c7;--live:#1d4ed8;--live-bg:#dbeafe;--muted-bg:#e5e7eb;--code-bg:#0f172a;--code-text:#e2e8f0;--chart-1:#2563eb;--chart-2:#d97706;--chart-3:#0d9488;--chart-4:#9333ea;--radius:8px;--sidebar:220px;--mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#111318;--surface:#1a1d24;--surface-2:#22262f;--border:#2e333d;--text:#e6e8ee;--muted:#9aa3b2;--accent:#3b82f6;--ok:#4ade80;--ok-bg:#14532d;--bad:#f87171;--bad-bg:#7f1d1d;--warn:#fbbf24;--warn-bg:#78350f;--live:#93c5fd;--live-bg:#1e3a8a;--muted-bg:#2e333d;--code-bg:#0b0e14;--chart-1:#3b82f6;--chart-2:#d97706;--chart-3:#0d9488;--chart-4:#a855f7}}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 12px;font-size:22px}h2{margin:0;font-size:15px}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px;font-size:13px}code,.mono{font-family:var(--mono);font-size:12.5px}.inline-code{background:var(--surface-2);word-break:break-all;border-radius:4px;padding:1px 5px}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;height:100vh;display:flex;position:sticky;top:0}.brand{flex-direction:column;padding:18px 16px 12px;display:flex}.brand-title{font-size:16px;font-weight:700}.brand-sub{color:var(--muted);font-size:12px}.sidebar nav{flex-direction:column;padding:0 8px;display:flex}.nav-link{color:var(--text);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.nav-link:hover{background:var(--surface-2);text-decoration:none}.nav-link.active{background:var(--accent);color:var(--accent-text)}.pill{background:var(--live-bg);color:var(--live);border-radius:10px;padding:0 7px;font-size:11px;font-weight:600}.nav-link.active .pill{color:#fff;background:#ffffff40}.sidebar-footer{margin-top:auto;padding:12px 16px;font-size:12px}.content{flex:1;min-width:0;padding:20px 28px 48px}.page{flex-direction:column;gap:14px;max-width:1280px;display:flex}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header h1{margin-bottom:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.card-actions{align-items:center;gap:8px;display:flex}.card-error{border-color:var(--bad)}details.card summary{cursor:pointer;font-weight:600}details.card[open] summary{margin-bottom:10px}.grid{gap:12px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1000px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.sidebar{display:none}.content{padding:16px}}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:7px 8px}.table th{color:var(--muted);font-size:12px;font-weight:600}.table tbody tr:hover{background:var(--surface-2)}.table-compact th,.table-compact td{padding:4px 6px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.kv{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.kv-row{display:contents}.kv dt{color:var(--muted)}.kv dd{word-break:break-word;margin:0}.badge{white-space:nowrap;border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-live{background:var(--live-bg);color:var(--live)}.badge-muted{background:var(--muted-bg);color:var(--muted)}.model-tag{letter-spacing:.04em;color:#fff;background:#64748b;border-radius:4px;padding:0 6px;font-size:11px;font-weight:700;display:inline-block}.model-lpm{background:#7c3aed}.model-lsm{background:#0891b2}.model-lrm{background:#d97706}.text-bad{color:var(--bad)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.muted{color:var(--muted)}.small{font-size:12px}.empty{color:var(--muted);margin:6px 0}.banner{border-radius:6px;margin:6px 0;padding:8px 12px}.banner-error{background:var(--bad-bg);color:var(--bad);white-space:pre-wrap}.banner-warn{background:var(--warn-bg);color:var(--warn)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;width:100%;padding:6px 8px}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}input.mono{font-family:var(--mono)}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:12px}.field-label code{color:var(--text)}.field-help{color:var(--muted);font-size:11.5px}.fieldset{flex-direction:column;gap:10px;display:flex}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filters label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.filters input,.filters select{width:auto;min-width:140px}.checkbox{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.checkbox input{width:auto;margin-top:3px}.checks{flex-direction:column;gap:6px;margin-top:8px;display:flex}.param-group+.param-group{margin-top:8px}.actions{gap:10px;display:flex}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;padding:7px 14px}.btn:hover:not(:disabled){background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn-danger{color:var(--bad);border-color:var(--bad)}.btn-danger:hover:not(:disabled){background:var(--bad-bg)}.btn-small{padding:3px 9px;font-size:12px}.segmented{border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.segmented button{font:inherit;background:var(--surface);color:var(--text);cursor:pointer;border:none;padding:6px 12px}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--accent);color:var(--accent-text)}.segmented button:disabled{opacity:.5;cursor:default}.pager{align-items:center;gap:8px;display:flex}.json,.log{font-family:var(--mono);background:var(--code-bg);color:var(--code-text);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:420px;margin:0;padding:10px 12px;font-size:12px;overflow:auto}.log{white-space:pre;height:420px;max-height:none}.log-short{white-space:pre;height:auto;max-height:260px}.json-details summary{cursor:pointer;color:var(--muted);font-size:12px}.log-viewer{flex-direction:column;gap:6px;display:flex}.log-toolbar{align-items:center;gap:14px;font-size:12px;display:flex}.log-toolbar .checkbox{align-items:center}.chart-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.chart{border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:0;margin:0;padding:8px 6px 4px}.chart-title{color:var(--muted);padding:0 8px 4px;font-size:12px}.chart-plot{width:100%;height:180px}.bars{grid-template-columns:minmax(80px,max-content) 1fr max-content;align-items:center;gap:4px 10px;font-size:12px;display:grid}.bars .bar-label{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bars .bar-track{background:var(--surface-2);border-radius:4px;height:10px;overflow:hidden}.bars .bar-fill{background:var(--chart-1);border-radius:4px;min-width:2px;height:100%}.bars .bar-count{font-family:var(--mono);color:var(--muted);text-align:right}.stat-row{flex-wrap:wrap;gap:10px;margin:6px 0 12px;display:flex}.stat{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;flex:140px;padding:8px 12px}.stat .stat-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.stat .stat-label{color:var(--muted);font-size:12px}.card-warn{border-color:var(--warn)}.nowrap{white-space:nowrap}.row-link{cursor:pointer}.table-llm .preview{max-width:420px;font-size:12.5px}.table-llm .col-phases{vertical-align:middle;width:150px;min-width:110px}.phase{flex-direction:column;gap:8px;display:flex}.phase-bar{background:var(--surface-2);border-radius:5px;height:10px;display:flex;overflow:hidden}.card .phase-bar{height:10px}.phase-seg{min-width:2px;height:100%}.phase-live .phase-seg:last-child{animation:1.2s ease-in-out infinite phase-pulse}@keyframes phase-pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.phase-live .phase-seg:last-child{animation:none}}.phase-wait{background:var(--chart-2)}.phase-reasoning{background:var(--chart-4)}.phase-answer{background:var(--chart-1)}.phase-tail{background:var(--muted)}.phase-dot{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.phase-legend{flex-wrap:wrap;gap:4px 18px;margin:0 0 12px;padding:0;font-size:13px;list-style:none;display:flex}.phase-legend-inline{flex-wrap:wrap;gap:16px;display:flex}.msg-list{flex-direction:column;gap:10px;display:flex}.msg{border:1px solid var(--border);border-left:4px solid var(--muted);background:var(--surface);border-radius:6px;min-width:0;padding:8px 12px}.msg+.msg{margin-top:0}.msg-user{border-left-color:var(--chart-1)}.msg-assistant{border-left-color:var(--chart-3)}.msg-system{border-left-color:var(--chart-2)}.msg-tool{border-left-color:var(--chart-4)}.msg-header{cursor:default;align-items:center;gap:10px;margin-bottom:6px;display:flex}details.msg>summary.msg-header{cursor:pointer;margin-bottom:0}details.msg[open]>summary.msg-header{margin-bottom:6px}.role-tag{text-transform:uppercase;letter-spacing:.04em;background:var(--muted-bg);color:var(--text);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.msg-text{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.text-block{white-space:pre-wrap;word-break:break-word;width:100%;max-height:560px;margin:0;font:13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:auto}.msg-reasoning{background:var(--surface-2);border-radius:6px;margin:0 0 8px;padding:6px 10px}.msg-reasoning summary{cursor:pointer;color:var(--muted);font-size:12px}.msg-reasoning .text-block{color:var(--muted);margin-top:6px}.tool-calls{flex-direction:column;gap:8px;margin-top:8px;display:flex}.tool-call .json{max-height:260px;margin-top:4px}.model-switcher{margin-bottom:10px}.model-switcher select{min-width:260px}.alias-field{color:var(--muted);flex-direction:column;flex:320px;gap:4px;font-size:12px;display:flex}.alias-row{gap:8px;display:flex}.filters .alias-row input{min-width:180px;color:var(--text);flex:1;font-size:14px}.switch-steps{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:4px 0 10px;padding:0;font-size:12px;list-style:none;display:flex}.switch-steps li:before{content:"○ "}.switch-steps li.done{color:var(--ok)}.switch-steps li.done:before{content:"✓ "}.switch-steps li.current{color:var(--live);font-weight:600}.switch-steps li.current:before{content:"● "}.progress{background:var(--muted-bg);border-radius:3px;max-width:420px;height:6px;overflow:hidden}.progress-fill{background:var(--live);height:100%;transition:width .4s}.log-tail{white-space:pre-wrap;word-break:break-all;max-height:220px;font-size:11px}
