:root{--bg-canvas:#0a0a0b;--bg-surface-1:#121214;--bg-surface-2:#16161a;--bg-surface-3:#1b1b20;--bg-inset:#0d0d10;--border-hairline:#ffffff14;--border-strong:#ffffff26;--border-violet:#9b8af56b;--border-allowed:#58b88961;--border-withheld:#e07a5f70;--border-warning:#d99b5270;--text-primary:#efede8;--text-secondary:#b9b6bf;--text-muted:#8b8992;--accent-violet:#9b8af5;--accent-violet-soft:#9b8af521;--status-allowed:#58b889;--status-allowed-soft:#58b8891f;--status-withheld:#e07a5f;--status-withheld-soft:#e07a5f21;--status-warning:#d99b52;--status-warning-soft:#d99b5221;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", "JetBrains Mono", ui-monospace, Menlo, Monaco, Consolas, monospace;--radius-sm:4px;--radius-md:6px;--radius-lg:8px}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.45}button,select{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-violet);outline-offset:2px}.mono{font-family:var(--font-mono);letter-spacing:-.01em;font-size:12px}.app-shell{flex-direction:column;max-width:1480px;min-height:100vh;margin:0 auto;padding:0 20px 40px;display:flex}.status-strip{border-bottom:1px solid var(--border-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 0;display:flex}.brand-cluster{align-items:baseline;gap:10px;display:flex}.brand-mark{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);align-items:center;gap:8px;font-size:18px;font-weight:600;display:inline-flex}.aperture-glyph{flex-shrink:0;width:16px;height:16px}.brand-subtitle{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px}.strip-pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.strip-pill{border-radius:var(--radius-sm);background:var(--bg-surface-1);border:1px solid var(--border-hairline);color:var(--text-secondary);align-items:center;gap:5px;padding:2px 7px;font-size:11.5px;display:inline-flex}.strip-pill--violet{border-color:var(--border-violet);background:var(--accent-violet-soft);color:var(--text-primary)}.strip-pill--warning{border-color:var(--border-warning);background:var(--status-warning-soft);color:var(--text-primary)}.status-dot{background:var(--accent-violet);border-radius:50%;width:6px;height:6px}.status-dot--warning{background:var(--status-warning)}.controls-panel{background:var(--bg-surface-1);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);flex-direction:column;gap:10px;margin-top:12px;padding:12px 16px;display:flex}.controls-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.thesis-line{color:var(--text-secondary);max-width:760px;margin:0;font-size:13px}.thesis-line strong{color:var(--text-primary);font-weight:600}.action-cluster{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.persona-box{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-md);align-items:center;gap:8px;padding:4px 8px;display:inline-flex}.fixture-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px}.persona-select{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;padding:4px 8px;font-size:12px}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-surface-2);color:var(--text-primary);justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-surface-3);border-color:#ffffff47}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent-violet);border-color:var(--accent-violet);color:#0b0a10;font-weight:600}.btn--primary:hover:not(:disabled){background:#afa1f8;border-color:#afa1f8}.btn--subtle{color:var(--text-secondary);padding:5px 10px;font-size:12px}.btn--warning{border-color:var(--border-warning);background:var(--status-warning-soft)}.query-strip{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:8px 12px;display:flex}.query-strip-main{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.query-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px}.query-text{color:var(--text-primary);font-size:13px}.advanced-drawer{border-top:1px solid var(--border-hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:8px;display:flex}.advanced-note{color:var(--text-muted);font-size:12px}.banner{border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:9px 14px;font-size:13px;display:flex}.banner--error{background:var(--status-withheld-soft);border:1px solid var(--border-withheld);color:var(--text-primary)}.banner--warning{background:var(--status-warning-soft);border:1px solid var(--border-warning);color:var(--text-primary)}.view-switcher{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.tab-group{gap:6px;display:inline-flex}.tab-btn{border-radius:var(--radius-sm);border:1px solid var(--border-hairline);background:var(--bg-surface-1);color:var(--text-secondary);cursor:pointer;padding:5px 11px;font-size:12px}.tab-btn--active{border-color:var(--border-violet);background:var(--accent-violet-soft);color:var(--text-primary)}.paired-section{margin-top:12px}.empty-stage{background:var(--bg-surface-1);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);grid-template-columns:1.2fr 1fr;align-items:center;gap:20px;padding:22px 20px;display:grid}.empty-stage h2{font-family:var(--font-display);margin:0 0 6px;font-size:20px;font-weight:500}.empty-stage p{color:var(--text-secondary);margin:0 0 10px;font-size:13px}.fixture-preview-cards{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fixture-mini-card{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:10px 12px;font-size:12px}.fixture-mini-card--allowed{border-left:2px solid var(--status-allowed)}.fixture-mini-card--foreign{border-left:2px solid var(--status-withheld)}.paired-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.paired-grid--single{grid-template-columns:1fr}.lane-card{background:var(--bg-surface-1);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.lane-card--governed{border-color:var(--border-violet)}.lane-card--control{border-color:#d99b5247}.lane-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.lane-title-group h2{margin:0;font-size:15px;font-weight:600}.lane-warning-note{color:var(--status-warning);margin-top:2px;font-size:11px}.verdict-badge{border-radius:var(--radius-sm);border:1px solid var(--border-hairline);align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.verdict-badge--allowed{background:var(--status-allowed-soft);border-color:var(--border-allowed);color:#8ee0b5}.verdict-badge--withheld{background:var(--status-withheld-soft);border-color:var(--border-withheld);color:#f3a693}.verdict-badge--warning{background:var(--status-warning-soft);border-color:var(--border-warning);color:#f0c288}.lane-metrics-row{color:var(--text-secondary);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.lane-metric-chip{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);padding:2px 8px}.steps-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.step-item{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);flex-direction:column;gap:2px;padding:7px 9px;display:flex}.step-item--interrupted{border-color:var(--border-violet);background:#9b8af512}.step-item--contaminated{border-color:var(--border-warning)}.step-item--withheld{border-color:var(--border-withheld)}.step-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.step-name{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px}.step-state-tag{font-family:var(--font-mono);color:var(--text-secondary);font-size:10px}.step-summary{color:var(--text-primary);font-size:12px}.reply-box{background:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:var(--radius-md);padding:9px 11px;font-size:12.5px}.reply-box-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);justify-content:space-between;margin-bottom:4px;font-size:11px;display:flex}.reply-box-body{color:var(--text-primary);margin:0}.workspace-lower-grid{grid-template-columns:1.35fr 1fr;align-items:start;gap:14px;margin-top:14px;display:grid}.panel-card{background:var(--bg-surface-1);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);padding:14px 16px}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-header h3{margin:0;font-size:14px;font-weight:600}.graph-svg-wrap{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-md);width:100%;padding:8px;overflow-x:auto}.causal-svg{width:100%;min-width:620px;height:auto;display:block}.graph-node-group{cursor:pointer}.graph-node-group:focus-visible rect{stroke:var(--accent-violet);stroke-width:2.2px}@keyframes edgePulseOnce{0%{stroke-dashoffset:24px;opacity:.45}to{stroke-dashoffset:0;opacity:1}}.edge-animated{animation:.65s ease-out edgePulseOnce}@media (prefers-reduced-motion:reduce){.edge-animated{animation:none!important}.btn{transition:none!important}}.node-inspector{background:var(--bg-surface-2);border:1px solid var(--border-hairline);border-radius:var(--radius-md);margin-top:10px;padding:10px 12px}.node-inspector-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;font-size:12px;display:grid}.kv-pair{flex-direction:column;display:flex}.kv-key{color:var(--text-muted);font-size:11px}.kv-val{color:var(--text-primary);overflow-wrap:anywhere;word-break:normal}.evidence-outcome{background:var(--bg-inset);border-left:2px solid var(--accent-violet);border-radius:var(--radius-sm);color:var(--text-primary);margin:0 0 10px;padding:9px 11px;font-size:12.5px}.digest-list{border-top:1px solid var(--border-hairline);flex-direction:column;gap:5px;margin-top:10px;padding-top:10px;display:flex}.digest-row{justify-content:space-between;gap:10px;font-size:12px;display:flex}.digest-row span:first-child{color:var(--text-muted)}.coverage-section{border-top:1px solid var(--border-hairline);margin-top:12px;padding-top:10px}.coverage-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 6px;font-size:12px}.compact-list{color:var(--text-secondary);margin:0;padding-left:16px;font-size:12px}.compact-list li{margin-bottom:3px}.raw-json-pre{background:var(--bg-inset);border:1px solid var(--border-hairline);border-radius:var(--radius-sm);max-height:240px;font-family:var(--font-mono);color:var(--text-secondary);margin-top:10px;padding:10px;font-size:11px;overflow:auto}.scoped-lab-wrapper{margin-top:16px}.limitation-callout{border:1px solid var(--border-violet);border-radius:var(--radius-sm);color:var(--text-primary);background:#9b8af517;margin-bottom:12px;padding:8px 12px;font-size:12px;font-weight:500}.scoped-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:12px}.scoped-table th,.scoped-table td{text-align:left;border-bottom:1px solid var(--border-hairline);padding:7px 9px}.scoped-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px}.scoped-row--foreign{background:#e07a5f12}@media (max-width:1160px){.paired-grid,.workspace-lower-grid,.empty-stage{grid-template-columns:1fr}}@media (max-width:680px){.app-shell{padding:0 12px 28px}.steps-list,.kv-grid,.fixture-preview-cards{grid-template-columns:1fr}}
