:root{color-scheme:dark;--bg: #101318;--panel: #191e26;--border: #2a3140;--text: #d7dde7;--muted: #8b95a7;--accent: #4f8ef7;--ok: #3fb26f;--warn: #d9a13d;--err: #d95c4a;font-family:ui-sans-serif,system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--accent);text-decoration:none}code,pre,textarea.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px}.layout{display:flex;min-height:100vh}nav.side{width:190px;flex-shrink:0;border-right:1px solid var(--border);padding:16px 0;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}nav.side .brand{font-weight:700;padding:0 16px 14px;font-size:15px}nav.side a{color:var(--muted);padding:7px 16px;border-left:2px solid transparent}nav.side a.active{color:var(--text);border-left-color:var(--accent);background:var(--panel)}nav.side .spacer{flex:1}nav.side .who{padding:10px 16px;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}main{flex:1;min-width:0;padding:24px 28px;max-width:1100px}h1{font-size:18px;margin:0 0 16px}h2{font-size:14px;margin:20px 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:12px}tr:hover td{background:#ffffff05}button{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:7px 14px;cursor:pointer;font-size:13px}button.secondary{background:var(--panel);border:1px solid var(--border);color:var(--text)}button.danger{background:var(--err)}button:disabled{opacity:.5;cursor:default}input,textarea,select{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:7px 10px;font-size:13px;width:100%}textarea{min-height:220px;resize:vertical}label{display:block;margin:10px 0 4px;color:var(--muted);font-size:12px}form.inline{display:flex;gap:8px;align-items:flex-end}form.inline>*{width:auto}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:14px}.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11.5px;background:var(--border)}.badge.running{background:#24466e;color:#9ec3ff}.badge.waiting{background:#6e5824;color:#ffd98e}.badge.paused{background:#4c4c55}.badge.completed{background:#1e4632;color:#8fe3b4}.badge.failed{background:#5c2620;color:#ffb0a3}.badge.cancelled{background:#4c4c55;color:var(--muted)}.error{color:var(--err);margin:8px 0}.ok{color:var(--ok)}.muted{color:var(--muted)}.warn{color:#ffd98e;margin:8px 0;padding-left:20px}.log{max-height:320px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px}.log div{padding:1.5px 0}.request{border-top:1px solid var(--border);padding-top:10px;margin-top:10px}.request:first-of-type{border-top:0;padding-top:0;margin-top:0}.request h3{margin:0 0 8px;font-size:14px}.warnings{margin:0;padding-left:18px}.warnings li{padding:1.5px 0}.tokens{white-space:pre-wrap;word-break:break-word;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;max-height:200px;overflow-y:auto}.login{max-width:380px;margin:12vh auto}.result{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow-x:auto}.row{display:flex;gap:16px;align-items:center}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 14px}.fields label{margin-top:0}.fields select{width:100%}nav.side .project{padding:0 12px 12px;margin-bottom:8px;border-bottom:1px solid var(--border)}nav.side .project select{width:100%;padding:6px 8px;font-size:13px}nav.side .project .fixed{color:var(--muted);font-size:12px}nav.side .group{padding:14px 16px 4px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.wayfinding{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:14px;min-height:18px}.wayfinding a{color:var(--muted)}.wayfinding a:hover,.wayfinding .back{color:var(--text)}.wayfinding .crumb{display:inline-flex;align-items:center;gap:8px}.wayfinding .sep{opacity:.55}.wayfinding .current{color:var(--text)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.page-head h1{margin:0 0 2px}.page-head p{margin:0;font-size:12.5px}.page-head .actions{display:flex;gap:8px;flex-shrink:0}.empty{border:1px dashed var(--border);border-radius:8px;padding:22px;text-align:center}.empty strong{display:block;margin-bottom:6px}.empty .muted{font-size:12.5px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.toolbar input[type=search]{max-width:260px}.toolbar .filters{display:flex;gap:4px;margin-left:auto}.toolbar .filters button{background:transparent;border:1px solid var(--border);color:var(--muted);padding:4px 10px}.toolbar .filters button.on{background:var(--panel);color:var(--text);border-color:var(--accent)}.badge.source-project{background:#24466e;color:#9ec3ff}.badge.source-library{background:#4a3a63;color:#d4bdf5}.badge.source-embedded{background:#33404c;color:var(--muted)}.badge.tone-ok{background:#1e4632;color:#8fe3b4}.badge.tone-busy{background:#24466e;color:#9ec3ff}.badge.tone-warn{background:#6e5824;color:#ffd98e}.badge.tone-bad{background:#5c2620;color:#ffb0a3}.badge.tone-muted{background:#4c4c55;color:var(--muted)}.badge-button{background:none;border:0;padding:0;cursor:pointer;line-height:inherit}.badge-button:hover .badge{filter:brightness(1.25)}.badge-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}.badge-button:disabled{cursor:default;opacity:.6}.detail{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}@media(max-width:900px){.detail{grid-template-columns:minmax(0,1fr)}}.rail{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:12px}.rail h3{margin:0 0 8px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.rail ul{margin:0;padding:0;list-style:none}.rail li{padding:3px 0;font-size:12.5px}.rail p{margin:0;font-size:12.5px}.ref .kind{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.ref.broken{color:var(--err)}.ref.dynamic{color:var(--muted)}.tree{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:12.5px}.tree .node{border-left:1px solid var(--border);padding:4px 0 4px 12px;margin-left:4px}.tree .node>.head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.tree .node .stepid{color:var(--muted);min-width:56px}.tree .node .nodekind{color:var(--accent)}.tree .node .refs{display:flex;gap:10px;flex-wrap:wrap;margin-left:64px}.tree .node .refs a,.tree .node .refs span{font-size:12px}td.id{font-family:ui-monospace,Consolas,monospace}td.tight{white-space:nowrap}tr.selected td{background:#4f8ef714}.count{color:var(--muted);font-size:12px}th button.sort-button{background:none;border:0;padding:0;margin:0;cursor:pointer;color:inherit;font:inherit;text-align:inherit;width:100%;display:inline-flex;align-items:baseline;gap:4px}th button.sort-button:hover{color:var(--text)}th button.sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}th button.sort-button .arrow{font-size:9px;min-width:9px;color:var(--accent)}th[aria-sort=none] button.sort-button .arrow{color:transparent}th.rung,td.rung{width:230px}td.rung select{width:auto;min-width:170px;max-width:100%}.field{margin-bottom:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pill-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.cards .card{margin:0;display:flex;flex-direction:column;gap:6px}.cards .card h3{margin:0;font-size:14px}.cards .card p{margin:0;font-size:12.5px}.counts{display:flex;gap:20px;flex-wrap:wrap}.counts div{display:flex;flex-direction:column}.counts .n{font-size:20px;font-weight:600}.counts .k{color:var(--muted);font-size:12px}pre.contract{white-space:pre-wrap;word-break:break-word;margin:0;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:12px;max-height:70vh;overflow-y:auto;line-height:1.45}:root{--accent-dim: rgba(79, 142, 247, .12);--ok-dim: rgba(63, 178, 111, .12);--warn-dim: rgba(217, 161, 61, .12);--err-dim: rgba(217, 92, 74, .12);--line-strong: rgba(255, 255, 255, .14);--sunken: #0c0f14}.flow-timeline{--flow-line: 4px;display:flex;flex-direction:column;align-items:center;width:100%}.flow-entry{width:100%;display:flex;flex-direction:column;align-items:center}.flow-entry+.flow-entry:before{content:"";width:var(--flow-line);height:22px;background:var(--line-strong);border-radius:999px}.flow-node{width:min(100%,560px);border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:10px 12px;line-height:1.45;animation:flow-enter .18s cubic-bezier(.4,0,.2,1)}.flow-timeline--compact .flow-node{width:100%}.flow-node--compact{width:100%;padding:8px 10px}.flow-node--map{background:var(--accent-dim);border-color:#4f8ef759}.flow-node--leaf{background:var(--sunken)}.flow-node--waiting{background:var(--warn-dim);border-color:#d9a13d59}.flow-node--result{background:var(--ok-dim);border-color:#3fb26f59}.flow-node--error{background:var(--err-dim);border-color:#d95c4a59}.flow-node--user{background:var(--accent-dim);border-color:#4f8ef759}.flow-node p{margin:4px 0 0;overflow-wrap:anywhere}.flow-node-header{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:12px}.flow-kicker{font-weight:600;color:var(--text);opacity:.85;overflow-wrap:anywhere}.flow-meta{color:var(--muted)}.model-calls{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;min-width:0}.model-chip{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:11px;cursor:help;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-summary{overflow-x:auto}.flow-count{margin-left:auto;font-family:ui-monospace,Cascadia Code,Consolas,monospace;white-space:nowrap}.flow-status{width:20px;height:20px;flex:0 0 auto;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;background:var(--bg);color:var(--accent);border:1px solid var(--border)}.flow-status[data-status=completed]{color:var(--ok)}.flow-status[data-status=failed]{color:var(--err)}.flow-status[data-status=waiting]{color:var(--warn);animation:flow-pulse 1.4s ease-in-out infinite}.flow-status[data-status=pending]{opacity:.5}.flow-status[data-status=running]{border:2px solid var(--border);border-top-color:var(--accent);animation:flow-spin .9s linear infinite}.fanout-tree{--fanout-columns: 1;width:min(100%,860px);display:flex;flex-direction:column;align-items:center}.flow-timeline--compact .fanout-tree{width:100%}.fanout-stem{width:var(--flow-line);height:20px;background:var(--line-strong);border-radius:999px}.fanout-rail{width:calc((100% + 8px) * (var(--fanout-columns) - 1) / var(--fanout-columns));height:var(--flow-line);background:var(--line-strong);border-radius:999px}.fanout-leaves{width:100%;display:grid;grid-template-columns:repeat(var(--fanout-columns),minmax(0,1fr));gap:8px}.fanout-leaf{min-width:0;display:flex;flex-direction:column;align-items:center}.fanout-drop{width:var(--flow-line);height:16px;background:var(--line-strong);border-radius:999px}.fanout-leaf--overflow .flow-node{border-style:dashed}@keyframes flow-spin{to{transform:rotate(360deg)}}@keyframes flow-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes flow-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}pre.plan-diagram{margin:0;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--sunken);white-space:pre;overflow-x:auto;max-width:100%;line-height:1.45;font-size:12px}.plan-legend{color:var(--muted);font-size:11.5px;line-height:1.5}.run-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;margin-bottom:16px}.run-grid>.card{margin-bottom:0}@media(max-width:1000px){.run-grid{grid-template-columns:minmax(0,1fr)}}details.card>summary{cursor:pointer;list-style:none}details.card>summary::-webkit-details-marker{display:none}.tree .glyph{font-family:ui-monospace,Cascadia Code,Consolas,monospace;color:var(--accent);width:1ch;display:inline-block}.tree .role{color:var(--muted);font-size:12px;font-style:italic}.tree .node[data-status=running]{background:var(--accent-dim);border-radius:4px}.tree .node[data-status=waiting]{background:var(--warn-dim);border-radius:4px}.tree .node[data-status=failed]{background:var(--err-dim);border-radius:4px}.tree .node[data-status=completed] .head{opacity:.75}.tree-summary{color:var(--muted);font-size:12px;margin-bottom:8px}.copilot-spacer{flex:0 0 auto}aside.copilot{position:fixed;top:0;right:0;bottom:0;z-index:20;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--border);max-width:100vw}.copilot-handle{position:absolute;left:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:1}.copilot-handle:hover,.copilot-handle:focus{background:var(--accent-dim);outline:none}.copilot-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.copilot-head button{padding:3px 9px}.copilot-target{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.copilot-transcript{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.copilot-intro{font-size:13px;line-height:1.5}.copilot-starters{display:flex;flex-direction:column;gap:6px;margin-top:10px}.copilot-starters button{text-align:left}.copilot-turn{display:flex;flex-direction:column;gap:8px}.copilot-turn--user{align-self:flex-end;max-width:85%;background:var(--accent-dim);border:1px solid rgba(79,142,247,.35);border-radius:8px;padding:7px 10px}.copilot-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.copilot-text pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px;overflow-x:auto;white-space:pre}.copilot-proposal{border:1px solid var(--border);border-radius:8px;padding:10px;background:var(--bg);display:flex;flex-direction:column;gap:8px}.copilot-summary{margin:0}.copilot-errors{margin:0;padding-left:18px;color:var(--warn);font-size:12.5px}.copilot-actions{flex-wrap:wrap;gap:6px}.copilot-actions button{padding:5px 10px}.warn-text{color:var(--warn);font-size:12px}.copilot-progress{border-top:1px dashed var(--border);padding-top:10px}.copilot-composer{border-top:1px solid var(--border);padding:10px}.copilot-composer textarea{min-height:64px;resize:none}
