:root{--bg:#0b0d11;--bg-1:#0f1216;--bg-2:#14181f;--bg-3:#1b2029;--line:#232831;--line-2:#2a3140;--ink:#e8ecf2;--ink-2:#b8c0cc;--ink-3:#7c8492;--ink-4:#545b67;--accent:#6cc2ff;--accent-2:#4ea7e8;--accent-soft:#6cc2ff1f;--warn:#fbbf24;--warn-soft:#fbbf241f;--bad:#ff6b6b;--bad-soft:#ff6b6b1f;--good:#4ade80;--good-soft:#4ade801f;--purple:#a78bfa;--purple-soft:#a78bfa24;--svc:#14b8a6;--sys:#6cc2ff;--dat:#c4a574;--agt:#4ade80;--flw:#a78bfa;--radius:6px;--radius-lg:10px;--font-sans:"Inter Tight", "SF Pro Display", system-ui, -apple-system, Segoe UI, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--font-display:"Inter Tight", "SF Pro Display", system-ui, sans-serif}*{box-sizing:border-box}.swarm-v2{background:var(--bg);color:var(--ink);font-family:var(--font-sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.5}.swarm-v2 a{color:var(--accent);text-decoration:none}.swarm-v2 a:hover{text-decoration:underline}.app-top{border-bottom:1px solid var(--line);background:var(--bg-1)}.app-top-row{align-items:center;gap:28px;max-width:1400px;margin:0 auto;padding:14px 28px;display:flex}.brand{letter-spacing:-.01em;font-size:15px;font-weight:700}.global-nav{color:var(--ink-3);align-items:center;gap:18px;font-size:13px;display:flex}.global-nav a{color:var(--ink-3);text-decoration:none}.global-nav a:hover{color:var(--ink)}.global-nav .sep{color:var(--ink-4)}.global-nav .active{color:var(--ink)}.capture-bar{border-bottom:1px solid var(--line);max-width:1400px;color:var(--ink-3);background:var(--bg-1);align-items:center;gap:10px;margin:0 auto;padding:10px 28px;font-size:13px;display:flex}.capture-bar .pencil{color:var(--ink-4);font-size:14px}.capture-bar .placeholder{flex:1}.capture-bar .kbd{font-family:var(--font-mono);color:var(--ink-3);border:1px solid var(--line-2);background:var(--bg-2);border-radius:4px;padding:2px 6px;font-size:11px}.tabstrip-wrap{background:var(--bg-1);border-bottom:1px solid var(--line)}.tabstrip{gap:28px;max-width:1400px;margin:0 auto;padding:0 28px;display:flex}.tab{cursor:pointer;border-bottom:2px solid #0000;flex-direction:column;gap:2px;margin-bottom:-1px;padding:14px 0 12px;display:flex}.tab .name{color:var(--ink-3);font-size:14px;font-weight:500}.tab .kicker{letter-spacing:.08em;color:var(--ink-4);text-transform:uppercase;font-size:10px}.tab.active{border-bottom-color:var(--accent)}.tab.active .name{color:var(--ink)}.tab.active .kicker{color:var(--accent)}.tab:hover .name{color:var(--ink)}.page{max-width:1400px;margin:0 auto;padding:36px 28px 80px}.page-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-bottom:12px;font-size:10px}.page-title{letter-spacing:-.02em;font-size:38px;font-weight:700;line-height:1.1;font-family:var(--font-display);margin:0 0 12px}.page-lede{color:var(--ink-2);max-width:720px;margin:0 0 32px;font-size:14px;line-height:1.55}.page-lede.tight{margin-bottom:24px}.kpi-strip{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px;display:grid}.kpi{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 18px 16px;position:relative}.kpi .num{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1}.kpi .num.muted{color:var(--ink-4)}.kpi .label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:10px;font-size:10px}.kpi .sub{color:var(--ink-4);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px}.kpi .sub.warn{color:var(--warn)}.kpi .sub.bad{color:var(--bad)}.kpi-strip.three{grid-template-columns:repeat(3,1fr)}.kpi-strip.five{grid-template-columns:repeat(5,1fr)}.legend-row{color:var(--ink-3);align-items:center;gap:18px;padding:12px 0;font-size:11px;display:flex}.legend-row .label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-right:4px;font-size:10px}.legend-row .item{align-items:center;gap:6px;display:inline-flex}.legend-row .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-row .chip{font-family:var(--font-mono);letter-spacing:.02em;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:600}.chip-ext{color:#fb923c;background:#fb923c29}.chip-cld{color:var(--accent);background:#6cc2ff24}.chip-free{color:var(--good);background:#4ade8024}.findings-strip{grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0 24px;display:grid}.finding-chip{background:var(--bg-1);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);cursor:pointer;padding:10px 12px 11px;transition:background .15s}.finding-chip:hover{background:var(--bg-2)}.finding-chip .head{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;margin-bottom:5px;font-size:9px;font-weight:600;display:flex}.finding-chip .head .pip{border-radius:50%;width:6px;height:6px}.finding-chip .body{color:var(--ink);font-size:12px;font-weight:500;line-height:1.35}.finding-chip .body .id{font-family:var(--font-mono);color:var(--ink-2);font-size:11px}.finding-chip.signal{border-left-color:var(--bad)}.finding-chip.run{border-left-color:var(--accent)}.finding-chip.bonus{border-left-color:var(--warn)}.finding-chip.touched,.finding-chip.pattern{border-left-color:var(--purple)}.section{margin-top:36px}.section-head{border-left:3px solid var(--accent);justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-left:12px;display:flex}.section-title{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:600}.section-meta{color:var(--ink-4);font-variant-numeric:tabular-nums;font-size:11px}.verdict{letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700;font-family:var(--font-mono);border-radius:3px;padding:2px 7px;display:inline-block}.verdict.pass{background:var(--good-soft);color:var(--good)}.verdict.concerns{background:var(--warn-soft);color:var(--warn)}.verdict.rework,.verdict.fail{background:var(--bad-soft);color:var(--bad)}.verdict.pending{color:var(--ink-3);background:#ffffff0f}.verdict.null{color:var(--ink-4);background:#ffffff0a}.sev{letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600;font-family:var(--font-mono);border-radius:3px;padding:1px 6px;display:inline-block}.sev.high{background:var(--bad-soft);color:var(--bad)}.sev.normal{background:var(--warn-soft);color:var(--warn)}.agent-chip{background:var(--bg-2);border:1px solid var(--line);font-family:var(--font-mono);color:var(--ink-2);border-radius:12px;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-size:11px;display:inline-flex}.agent-chip .emj{font-family:var(--font-sans);font-size:11px}.agent-chip:hover{background:var(--bg-3);color:var(--ink)}.id-chip{font-family:var(--font-mono);border:1px solid var(--line);color:var(--ink-2);background:#ffffff0a;border-radius:3px;padding:2px 6px;font-size:11px}.id-chip.svc{color:var(--svc);background:#14b8a614;border-color:#14b8a64d}.id-chip.sys{color:var(--sys);background:#6cc2ff14;border-color:#6cc2ff4d}.id-chip.dat{color:var(--dat);background:#c4a57414;border-color:#c4a5744d}.id-chip.agt{color:var(--agt);background:#4ade8014;border-color:#4ade804d}.id-chip.flw{color:var(--flw);background:#a78bfa14;border-color:#a78bfa4d}.id-chip.sig{color:var(--bad);background:#ff6b6b14;border-color:#ff6b6b4d}.id-chip.pat{color:var(--purple);background:#a78bfa14;border-color:#a78bfa4d}.id-chip.run{color:var(--ink);border-color:var(--line-2)}.run-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;margin-bottom:12px;padding:18px 22px;transition:background .15s,border-color .15s}.run-card:hover{background:var(--bg-2);border-color:var(--line-2)}.run-card .head{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.run-card .num{font-family:var(--font-mono);color:var(--ink-3);font-size:13px;font-weight:600}.run-card .title{color:var(--ink);letter-spacing:-.01em;font-size:18px;font-weight:600}.run-card .verdict{margin-left:auto}.run-card .summary{color:var(--ink-2);max-width:880px;margin:6px 0 14px;font-size:13px;line-height:1.55}.run-card .meta-row{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.run-card .meta-row .agents{flex-wrap:wrap;gap:4px;display:flex}.run-card .meta-row .nodes{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.run-card .meta-row .sep{color:var(--ink-4);margin:0 6px}.run-card .stats-row{color:var(--ink-3);gap:18px;margin-top:10px;font-size:11px;display:flex}.run-card .stats-row b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.run-card .subset-reason{color:var(--ink-4);margin-top:8px;font-size:11px;font-style:italic;line-height:1.5}.run-card .phase-strip{gap:3px;margin-top:10px;display:flex}.run-card .phase-strip .dot{background:var(--line-2);border-radius:2px;width:22px;height:4px}.run-card .phase-strip .dot.done{background:var(--good)}.run-card .phase-strip .dot.skipped{background:var(--ink-4);opacity:.5}.tier{letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:600;font-family:var(--font-mono);border-radius:3px;padding:1px 6px;display:inline-block}.tier.t1{color:var(--ink-3);background:#ffffff0d}.tier.t2{color:var(--accent);background:#6cc2ff24}.tier.t3{color:var(--purple);background:#a78bfa29}.tier.t4{color:var(--warn);background:#fbbf2424}.tier.t5{color:var(--warn);border:1px solid var(--warn);background:#fbbf2433}.app-footer{border-top:1px solid var(--line);color:var(--ink-4);text-align:center;margin-top:60px;padding:24px 28px;font-size:12px}.dash-grid{grid-template-columns:1fr 320px;gap:28px;display:grid}.dash-main{min-width:0}.dash-side{flex-direction:column;gap:20px;display:flex}.side-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 18px}.side-card .head{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px;font-size:10px;font-weight:600}.signal-mini{border-bottom:1px solid var(--line);padding:8px 0}.signal-mini:last-child{border-bottom:0;padding-bottom:0}.signal-mini .top{align-items:center;gap:6px;margin-bottom:4px;display:flex}.signal-mini .id{font-family:var(--font-mono);color:var(--ink);font-size:11px;font-weight:500}.signal-mini .desc{color:var(--ink-3);font-size:11px;line-height:1.45}.signal-mini .ev{color:var(--ink-4);font-size:10px;font-family:var(--font-mono);margin-top:3px}.health-list .row{color:var(--ink-2);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;display:flex}.health-list .row:last-child{border-bottom:0}.health-list .row .name{font-family:var(--font-mono);font-size:11px}.health-list .pulse-dot{border-radius:50%;width:8px;height:8px}.health-list .pulse-dot.green{background:var(--good);box-shadow:0 0 8px #4ade8080}.health-list .pulse-dot.amber{background:var(--warn);box-shadow:0 0 8px #fbbf2480}.health-list .pulse-dot.red{background:var(--bad);animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 8px #ff6b6b99}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1;box-shadow:0 0 14px #ff6b6be6}}.lb-tier-legend{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.lb-tier-legend .item{color:var(--ink-3);align-items:center;gap:6px;font-size:11px;display:inline-flex}.lb-tier-legend .range{color:var(--ink-4);font-size:10px;font-family:var(--font-mono);margin-left:8px}.lb-rankings{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.lb-row{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr 320px 120px 240px;align-items:center;gap:14px;padding:14px 18px;display:grid;position:relative}.lb-row:last-child{border-bottom:0}.lb-row:hover{background:var(--bg-2)}.lb-row .rank{font-family:var(--font-mono);color:var(--ink-4);text-align:center;font-size:12px}.lb-row .rank.top{color:var(--accent);font-weight:700}.lb-row .agent-block{flex-direction:column;gap:3px;display:flex}.lb-row .agent-block .name{color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.lb-row .agent-block .role{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:500}.lb-bar-wrap{align-items:center;gap:12px;display:flex}.lb-bar{background:var(--bg-3);border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.lb-bar .fill{background:linear-gradient(90deg, var(--accent), #818cf8);border-radius:4px;height:100%;box-shadow:0 0 12px #6cc2ff66}.lb-bar.tier-2 .fill{background:linear-gradient(90deg, var(--purple), #c084fc);box-shadow:0 0 12px #a78bfa66}.lb-row .score{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.lb-row .gr{color:var(--ink-4);font-size:10px;font-family:var(--font-mono);flex-direction:column;gap:2px;display:flex}.lb-row .gr b{color:var(--ink-2);font-weight:600}.lb-row .last-run{font-family:var(--font-mono);color:var(--ink-4);text-align:right;font-size:10px}.lb-row .last-run b{color:var(--ink-2);font-weight:500;display:block}.cur-table{border-collapse:collapse;background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;font-size:12px;overflow:hidden}.cur-table th{text-align:left;background:var(--bg-2);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);padding:10px 14px;font-size:10px;font-weight:600}.cur-table td{border-bottom:1px solid var(--line);color:var(--ink-2);vertical-align:middle;padding:10px 14px}.cur-table tr:last-child td{border-bottom:0}.cur-table tr:hover td{background:var(--bg-2)}.cur-table .from-to{font-family:var(--font-mono);color:var(--ink);font-size:11px}.cur-table .from-to .arrow{color:var(--ink-4);margin:0 4px}.cur-table .desc{color:var(--ink-2);max-width:480px}.cur-table .score-cell{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.cur-table .score-cell .pts{color:var(--good)}.cur-table .score-cell .mult{color:var(--warn);margin-left:6px;font-size:10px;font-weight:600}.cur-table .score-cell .mult.x5{color:#fde68a;text-shadow:0 0 8px #fbbf2499}.flow-viz{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}.flow-viz svg{width:100%;height:320px;display:block}.how-it-works{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:1fr 1fr;gap:32px;margin-top:24px;padding:18px 22px;display:grid}.how-it-works h4{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:10px}.how-it-works .row{color:var(--ink-2);margin-bottom:5px;font-size:12px;line-height:1.5}.how-it-works .row b{font-family:var(--font-mono);color:var(--ink);margin-right:8px;font-weight:700}.nb-grid{grid-template-columns:1fr 380px;gap:28px;display:grid}.nb-main{min-width:0}.nb-side{flex-direction:column;gap:18px;display:flex}.nb-run-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:10px;padding:18px 22px}.nb-run-card .head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.nb-run-card .num{font-family:var(--font-mono);color:var(--ink-4);font-size:12px;font-weight:600}.nb-run-card .title{color:var(--ink);font-size:16px;font-weight:600}.nb-run-card .archive{margin-left:auto;font-size:11px}.nb-run-card .agents{flex-wrap:wrap;gap:5px;display:flex}.agent-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.agent-tile{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;padding:14px 16px;transition:background .15s}.agent-tile:hover{background:var(--bg-2)}.agent-tile .top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.agent-tile .emj{font-size:16px}.agent-tile .name{color:var(--ink);flex:1;font-size:14px;font-weight:600}.agent-tile .count{font-family:var(--font-mono);color:var(--ink-3);font-size:11px}.agent-tile .role-shape{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px;font-size:10px;font-weight:500}.agent-tile .runs{flex-wrap:wrap;gap:4px;display:flex}.s6-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px}.s6-card .grid{grid-template-columns:1fr 1fr;gap:14px 22px;margin-top:10px;display:grid}.s6-card .item .label{font-family:var(--font-mono);color:var(--accent);margin-bottom:2px;font-size:11px;font-weight:600}.s6-card .item .text{color:var(--ink-3);font-size:11px;line-height:1.45}.s6-card .src{color:var(--ink-4);font-size:10px;font-family:var(--font-mono);border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.pattern-list .row{border-bottom:1px solid var(--line);padding:12px 0}.pattern-list .row:last-child{border-bottom:0}.pattern-list .name{font-family:var(--font-mono);color:var(--purple);margin-bottom:4px;font-size:11px}.pattern-list .desc{color:var(--ink-3);margin-bottom:4px;font-size:11px;line-height:1.45}.pattern-list .runs{color:var(--ink-4);font-size:10px;font-family:var(--font-mono)}.approvals-toolbar{align-items:center;gap:12px;margin-bottom:18px;display:flex}.approvals-toolbar .filter-group{background:var(--bg-1);border:1px solid var(--line);border-radius:6px;gap:4px;padding:3px;display:flex}.approvals-toolbar .filter{color:var(--ink-3);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:11px;font-weight:500}.approvals-toolbar .filter.active{background:var(--bg-3);color:var(--ink)}.approvals-toolbar .count{color:var(--ink-4);font-size:11px;font-family:var(--font-mono);margin-left:auto}.proposal-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:14px;overflow:hidden}.proposal-card.high{border-color:#ff6b6b4d}.proposal-card .top{border-bottom:1px solid var(--line);padding:16px 22px 14px}.proposal-card .top-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;display:flex}.proposal-card .top-meta .when{color:var(--ink-4);font-family:var(--font-mono);margin-left:auto;font-size:10px}.proposal-card .title{color:var(--ink);letter-spacing:-.01em;margin-bottom:6px;font-size:17px;font-weight:600}.proposal-card .affects{color:var(--ink-3);font-size:11px}.proposal-card .affects b{color:var(--ink-2);font-family:var(--font-mono);font-weight:500}.proposal-card .nodes-row{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.proposal-body{grid-template-columns:1fr 1fr;gap:24px;padding:16px 22px;display:grid}.proposal-body .block .label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:10px;font-weight:600}.proposal-body .block.problem{border-left:2px solid var(--bad);padding-left:12px}.proposal-body .block.why{border-left:2px solid var(--good);padding-left:12px}.proposal-body .block.risk{border-left:2px solid var(--warn);padding-left:12px}.proposal-body .block .text{color:var(--ink-2);font-size:12px;line-height:1.55}.proposal-body .span2{grid-column:span 2}.proposal-edit{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);color:var(--ink-2);white-space:pre-wrap;max-height:180px;margin:14px 22px;padding:12px 14px;font-size:11px;line-height:1.5;overflow:auto}.proposal-edit .add{color:var(--good)}.proposal-edit .del{color:var(--bad)}.proposal-edit .ctx{color:var(--ink-4)}.proposal-actions{border-top:1px solid var(--line);align-items:center;gap:10px;padding:14px 22px;display:flex}.proposal-actions .reversibility{color:var(--ink-4);margin-right:auto;font-size:11px;font-style:italic}.btn{border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink-2);cursor:pointer;letter-spacing:-.005em;border-radius:5px;padding:7px 14px;font-size:12px;font-weight:600}.btn:hover{background:var(--bg-3);color:var(--ink)}.btn.approve{background:var(--good-soft);color:var(--good);border-color:#4ade8066}.btn.approve:hover{background:#4ade8033}.btn.reject{background:var(--bad-soft);color:var(--bad);border-color:#ff6b6b66}.btn.reject:hover{background:#ff6b6b33}.btn.defer{background:var(--bg-2)}.btn.gh-link{border:1px solid var(--line);background:0 0}.canvas-toolbar{align-items:center;gap:10px;margin:14px 0 10px;display:flex}.canvas-toolbar .search{background:var(--bg-1);border:1px solid var(--line);color:var(--ink-3);font-size:12px;font-family:var(--font-mono);border-radius:6px;flex:1;align-items:center;gap:8px;padding:8px 12px;display:flex}.canvas-toolbar .search .icon{color:var(--ink-4)}.canvas-toolbar .search .kbd{font-family:var(--font-mono);color:var(--ink-4);border:1px solid var(--line);border-radius:3px;margin-left:auto;padding:1px 5px;font-size:10px}.canvas-toolbar .toggle{border:1px solid var(--line);background:var(--bg-1);color:var(--ink-3);cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:7px 11px;font-size:11px;display:flex}.canvas-toolbar .toggle.on{color:var(--accent);background:#6cc2ff14;border-color:#6cc2ff66}.canvas-toolbar .zoom{border:1px solid var(--line);background:var(--bg-1);border-radius:5px;display:flex;overflow:hidden}.canvas-toolbar .zoom button{color:var(--ink-3);cursor:pointer;background:0 0;border:0;padding:6px 10px;font-size:12px}.canvas-toolbar .zoom button:hover{background:var(--bg-2);color:var(--ink)}.canvas-frame{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);height:800px;position:relative;overflow:hidden}.canvas-hint{color:var(--ink-4);font-size:11px;font-family:var(--font-mono);z-index:5;position:absolute;top:12px;left:14px}.canvas-svg{width:100%;height:100%;display:block}.brick{background:var(--bg-2);border:1px solid var(--line-2);border-left:2px solid var(--ink-4);border-radius:5px;width:100%;height:100%;padding:7px 9px;position:relative;overflow:hidden}.brick.svc{border-left-color:var(--svc)}.brick.sys{border-left-color:var(--sys)}.brick.dat{border-left-color:var(--dat)}.brick.flw{border-left-color:var(--flw)}.brick .kicker{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.02em;font-size:8.5px;line-height:1}.brick .name{font-family:var(--font-mono);color:var(--ink);margin-top:2px;font-size:11px;font-weight:700;line-height:1.1}.brick .purpose{color:var(--ink-3);margin-top:4px;font-size:9.5px;line-height:1.3}.brick.has-signal-high{border-color:#ff6b6b99;animation:2.4s ease-in-out infinite brick-pulse-high;box-shadow:0 0 0 1px #ff6b6b4d,0 0 16px #ff6b6b40}.brick.has-signal-normal{border-color:#fbbf2480;box-shadow:0 0 0 1px #fbbf2440,0 0 14px #fbbf2433}@keyframes brick-pulse-high{0%,to{box-shadow:0 0 0 1px #ff6b6b4d,0 0 12px #ff6b6b2e}50%{box-shadow:0 0 0 1px #ff6b6b80,0 0 22px #ff6b6b66}}.brick .badges{gap:3px;display:flex;position:absolute;top:4px;right:4px}.brick .b-dot{border-radius:50%;width:5px;height:5px}.brick .b-dot.sig{background:var(--bad);box-shadow:0 0 6px var(--bad)}.brick .b-dot.app{background:var(--warn);box-shadow:0 0 6px var(--warn)}.brick .cost{font-family:var(--font-mono);letter-spacing:0;font-size:8px;font-weight:600;position:absolute;bottom:5px;right:6px}.brick .cost.ext{color:#fb923c}.brick .cost.cld{color:var(--accent)}.brick .cost.free{color:var(--good)}.agent-cluster{border:1px solid var(--line);background:#0f1216eb;border-radius:8px;flex-direction:column;height:100%;padding:10px 12px;display:flex}.agent-cluster .ck-head{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:9px;font-weight:600;font-family:var(--font-mono);margin-bottom:8px}.agent-cluster .ck-grid{flex:1;grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.agent-cluster .ck-cell{border:1px solid var(--line);background:#ffffff06;border-radius:4px;padding:5px 6px;position:relative}.agent-cluster .ck-cell .nm{color:var(--ink);font-size:9.5px;font-weight:600;font-family:var(--font-mono);margin-bottom:3px;line-height:1}.agent-cluster .ck-cell .role{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);margin-bottom:4px;font-size:7.5px}.agent-cluster .ck-cell .bar{background:var(--bg-3);border-radius:1px;height:3px;margin-bottom:3px;overflow:hidden}.agent-cluster .ck-cell .bar .fill{background:linear-gradient(90deg, var(--accent), var(--good));border-radius:1px;height:100%}.agent-cluster .ck-cell .pts{color:var(--ink-3);font-size:8.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.flows-legend{border:1px solid var(--line);background:#0f1216eb;border-radius:6px;padding:9px 10px}.flows-legend .head{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:8px;font-weight:600;font-family:var(--font-mono);margin-bottom:6px}.flows-legend .row{color:var(--ink-2);font-size:10px;font-family:var(--font-mono);align-items:center;gap:6px;margin-bottom:3px;display:flex}.flows-legend .row .swatch{border-radius:1px;width:14px;height:2px}.run-timeline{border:1px solid var(--line);background:#0f1216eb;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.run-timeline .label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:9px;font-weight:600;font-family:var(--font-mono);margin-right:4px}.run-timeline .dot{cursor:pointer;border-radius:50%;width:9px;height:9px;transition:transform .15s}.run-timeline .dot:hover{transform:scale(1.5)}.run-timeline .dot.pass{background:var(--good)}.run-timeline .dot.concerns{background:var(--warn)}.run-timeline .dot.fail{background:var(--bad)}.run-timeline .dot.pending{background:var(--ink-3)}.canvas-zone-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;fill:var(--ink-4);font-size:9px;font-weight:600}.drawer{background:var(--bg-1);border-left:1px solid var(--line-2);z-index:20;width:460px;padding:20px 24px 28px;position:absolute;top:0;bottom:0;right:0;overflow:auto;box-shadow:-8px 0 32px #00000080}.drawer .close{background:var(--bg-2);border:1px solid var(--line);width:26px;height:26px;color:var(--ink-3);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:14px;right:14px}.drawer .close:hover{background:var(--bg-3);color:var(--ink)}.drawer .d-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-family:var(--font-mono);margin-bottom:8px}.drawer .d-title{letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:700}.drawer .d-purpose{color:var(--ink-2);margin:0 0 16px;font-size:13px;line-height:1.5}.drawer .d-meta-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:16px;padding:12px 0;display:grid}.drawer .d-meta-grid .k{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-size:10px;font-weight:600}.drawer .d-meta-grid .v{color:var(--ink);font-size:12px;font-family:var(--font-mono)}.drawer .d-section{margin-top:18px}.drawer .d-section h4{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-size:10px;font-weight:600}.drawer .signal-row{background:var(--bg-2);border:1px solid var(--line);border-left:2px solid var(--bad);border-radius:4px;margin-bottom:6px;padding:10px 12px}.drawer .signal-row.normal{border-left-color:var(--warn)}.drawer .signal-row .sig-id{font-family:var(--font-mono);color:var(--ink);margin-bottom:4px;font-size:11px;font-weight:600}.drawer .signal-row .sig-desc{color:var(--ink-2);font-size:11px;line-height:1.45}.drawer .signal-row .sig-meta{color:var(--ink-4);font-size:10px;font-family:var(--font-mono);gap:10px;margin-top:6px;display:flex}.drawer .lifecycle{gap:4px;margin-top:6px;display:flex}.drawer .lifecycle .step{letter-spacing:.08em;background:var(--bg-3);color:var(--ink-4);font-size:9px;font-family:var(--font-mono);border-radius:3px;padding:2px 6px;font-weight:600}.drawer .lifecycle .step.active{background:var(--accent-soft);color:var(--accent)}.drawer .artifact-row{border-bottom:1px solid var(--line);padding:8px 0;font-size:12px}.drawer .artifact-row:last-child{border-bottom:0}.drawer .artifact-row .a-name{color:var(--ink);font-weight:500}.drawer .artifact-row .a-meta{color:var(--ink-4);font-size:10px;font-family:var(--font-mono);margin-top:2px}
