:root{--bg-0:#0a0c0f;--bg-1:#111419;--bg-2:#171b21;--bg-3:#1e232b;--line:#262c35;--text-0:#e8ebef;--text-1:#9aa4b2;--text-2:#5f6b7a;--accent:#ff5c33;--accent-dim:#7a3322;--ok:#34d399;--warn:#fbbf24;--crit:#ff5c33;--mono:"SF Mono", "Cascadia Code", "Consolas", monospace;--sans:-apple-system, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-0);color:var(--text-0);font-family:var(--sans);font-size:13px;line-height:1.5}code,.mono{font-family:var(--mono)}.app-shell{height:100vh;display:flex}.sidebar{background:var(--bg-1);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:220px;padding:16px 0;display:flex}.brand{border-bottom:1px solid var(--line);margin-bottom:12px;padding:0 16px 16px}.brand .title{font-family:var(--mono);letter-spacing:.5px;font-size:15px;font-weight:700}.brand .title .slash{color:var(--accent)}.brand .tagline{color:var(--text-2);margin-top:4px;font-size:10.5px}.nav-item{color:var(--text-1);cursor:pointer;letter-spacing:.2px;border-left:2px solid #0000;padding:9px 16px;font-size:12.5px}.nav-item:hover{color:var(--text-0);background:var(--bg-2)}.nav-item.active{color:var(--text-0);border-left-color:var(--accent);background:var(--bg-2)}.nav-section-label{color:var(--text-2);text-transform:uppercase;letter-spacing:1px;padding:14px 16px 4px;font-size:10px}.main{flex:1;padding:20px 28px;overflow-y:auto}.page-header{margin-bottom:18px}.page-header h1{letter-spacing:.2px;margin:0 0 4px;font-size:17px;font-weight:600}.page-header .sub{color:var(--text-1);font-size:12px}.grid-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:20px;display:grid}.metric-card{background:var(--bg-1);border:1px solid var(--line);padding:12px 14px}.metric-card .label{color:var(--text-2);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:10px}.metric-card .value{font-family:var(--mono);font-size:22px;font-weight:600}.metric-card .value.accent{color:var(--accent)}.metric-card .value.ok{color:var(--ok)}.metric-card .value.warn{color:var(--warn)}table{border-collapse:collapse;width:100%;font-size:12px}thead th{text-align:left;color:var(--text-2);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--line);padding:8px 10px;font-size:10px;font-weight:500}tbody td{border-bottom:1px solid var(--line);color:var(--text-0);padding:9px 10px}tbody tr{cursor:pointer}tbody tr:hover{background:var(--bg-2)}.badge{letter-spacing:.4px;text-transform:uppercase;font-size:10px;font-weight:600;font-family:var(--mono);border:1px solid;padding:2px 7px;display:inline-block}.badge-block{color:var(--crit);border-color:var(--accent-dim);background:#ff5c3314}.badge-allow{color:var(--ok);background:#34d39914;border-color:#1f5b47}.badge-review{color:var(--warn);background:#fbbf2414;border-color:#6b5217}.badge-satisfied{color:var(--ok);border-color:#1f5b47}.badge-failed{color:var(--crit);border-color:var(--accent-dim)}.badge-replayable{color:var(--ok);border-color:#1f5b47}.badge-partially_replayable{color:var(--warn);border-color:#6b5217}.badge-non_replayable{color:var(--crit);border-color:var(--accent-dim)}.panel{background:var(--bg-1);border:1px solid var(--line);margin-bottom:16px}.panel-header{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.8px;color:var(--text-1);padding:10px 14px;font-size:11px}.panel-body{padding:14px}.two-col{grid-template-columns:1.3fr 1fr;align-items:start;gap:16px;display:grid}.evidence-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;font-size:12px;display:flex}.evidence-row:last-child{border-bottom:none}.evidence-id{font-family:var(--mono);color:var(--text-0);width:34px;font-weight:600}.evidence-meta{color:var(--text-1);flex:1;padding:0 10px}.evidence-bar-track{background:var(--bg-3);width:90px;height:5px;position:relative}.evidence-bar-fill{background:var(--accent);height:5px}button.btn{background:var(--bg-3);color:var(--text-0);border:1px solid var(--line);cursor:pointer;letter-spacing:.3px;font-size:11.5px;font-family:var(--sans);text-transform:uppercase;padding:6px 12px}button.btn:hover{border-color:var(--accent);color:var(--accent)}button.btn.primary{background:var(--accent);border-color:var(--accent);color:#1a0d08;font-weight:700}button.btn.primary:hover{color:#1a0d08;opacity:.9}button.btn:disabled{opacity:.4;cursor:not-allowed}button.btn.small{padding:3px 8px;font-size:10px}.mutation-row{align-items:center;gap:8px;padding:6px 0;display:flex}select,input[type=text],input[type=number]{background:var(--bg-2);color:var(--text-0);border:1px solid var(--line);font-size:12px;font-family:var(--mono);padding:5px 8px}.diff-table td.changed{color:var(--accent);font-weight:700}.causal-banner{border-left:3px solid var(--accent);background:#ff5c330f;margin-bottom:14px;padding:12px 14px;font-size:12.5px}.causal-banner.irrelevant{border-left-color:var(--text-2);background:var(--bg-2)}.causal-status-tag{font-family:var(--mono);letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.lineage-node{border:1px solid var(--line);background:var(--bg-2);font-size:11px;font-family:var(--mono);align-items:center;gap:6px;margin:3px;padding:5px 10px;display:inline-flex}.lineage-type{color:var(--text-2);text-transform:uppercase;font-size:9px}.lineage-row{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;display:flex}.lineage-arrow{color:var(--text-2)}.empty-state{color:var(--text-2);text-align:center;border:1px dashed var(--line);padding:30px;font-size:12px}.error-banner{color:var(--crit);border:1px solid var(--accent-dim);background:#ff5c3314;margin-bottom:14px;padding:10px 14px;font-size:12px}.loading{color:var(--text-2);padding:20px;font-size:12px}.footer-note{color:var(--text-2);border-top:1px solid var(--line);margin-top:24px;padding-top:12px;font-size:10.5px}
