:root{color-scheme:light;--page: #f9f9f7;--surface-1: #fcfcfb;--surface-2: #f0efec;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--accent: #2a78d6;--accent-ink: #ffffff;--good: #0ca30c;--critical: #d03b3b;--warning: #fab219;--band: rgba(42, 120, 214, .08);--band-strong: rgba(42, 120, 214, .16);--series-1: #2a78d6;--series-2: #eb6834;--font: system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--page: #0d0d0d;--surface-1: #1a1a19;--surface-2: #262624;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--band: rgba(57, 135, 229, .1);--band-strong: rgba(57, 135, 229, .2);--series-1: #3987e5;--series-2: #d95926}}:root[data-theme=dark]{color-scheme:dark;--page: #0d0d0d;--surface-1: #1a1a19;--surface-2: #262624;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--band: rgba(57, 135, 229, .1);--band-strong: rgba(57, 135, 229, .2);--series-1: #3987e5;--series-2: #d95926}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page);color:var(--text-primary);font:14px/1.45 var(--font)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}code,.mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.topbar{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--surface-1);border-bottom:1px solid var(--border)}.topbar h1{font-size:15px;margin:0;font-weight:600;white-space:nowrap}.tabs{display:flex;gap:4px}.tab{border:1px solid transparent;background:none;padding:5px 12px;border-radius:6px;cursor:pointer;color:var(--text-secondary)}.tab[aria-selected=true]{background:var(--surface-2);color:var(--text-primary);border-color:var(--border)}.spacer{flex:1}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.small{font-size:12px}.btn{border:1px solid var(--border);background:var(--surface-1);padding:4px 10px;border-radius:6px;cursor:pointer}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.danger{color:var(--critical)}.btn:disabled{opacity:.5;cursor:default}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:2px 9px;background:var(--surface-1);cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none}.chip[aria-pressed=false]{opacity:.45}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}.graph-tab{display:grid;grid-template-rows:auto auto 1fr;height:100%;min-height:0}.slider-bar{background:var(--surface-1);border-bottom:1px solid var(--border);padding:8px 16px 6px}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:6px 16px;background:var(--surface-1);border-bottom:1px solid var(--border);font-size:12px}.filter-bar label{display:inline-flex;align-items:center;gap:6px}.graph-body{display:grid;grid-template-columns:1fr 380px;min-height:0}.cy{position:relative;min-height:0;background:var(--surface-1)}.cy-inner{position:absolute;top:0;right:0;bottom:0;left:0}.cy-status{position:absolute;left:12px;bottom:10px;font-size:12px;color:var(--text-muted);background:var(--surface-1);padding:2px 6px;border-radius:4px}.detail{border-left:1px solid var(--border);background:var(--surface-1);overflow:auto;padding:12px 14px}.detail h2{font-size:14px;margin:0 0 4px}.detail h3{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:14px 0 6px;font-weight:600}.kv{display:grid;grid-template-columns:130px 1fr;gap:2px 10px;font-size:12px}.kv dt{color:var(--text-muted)}.kv dd{margin:0;overflow-wrap:anywhere}.evidence{border:1px solid var(--border);border-radius:6px;padding:8px 10px;margin:6px 0;background:var(--page)}.evidence blockquote{margin:0 0 6px;padding-left:8px;border-left:3px solid var(--axis);font-size:12.5px}.rel-list{list-style:none;padding:0;margin:0;font-size:12px}.rel-list li{padding:2px 0}.rel-list button{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;text-align:left}.dropdown{position:relative}.dropdown>summary{list-style:none;cursor:pointer}.dropdown>summary::-webkit-details-marker{display:none}.dropdown-panel{position:absolute;z-index:10;top:calc(100% + 4px);left:0;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:8px 10px;max-height:320px;overflow:auto;min-width:240px;box-shadow:0 6px 20px #0000001f}.dropdown-panel label{display:flex;gap:6px;padding:2px 0}.page{overflow:auto;padding:16px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.card h2{font-size:13px;margin:0 0 8px;font-weight:600}.tile .value{font-size:26px;font-weight:600;line-height:1.1}.tile .label{color:var(--text-secondary);font-size:12px}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px;margin-bottom:12px}table.data{border-collapse:collapse;width:100%;font-size:12px}table.data th,table.data td{text-align:left;padding:4px 8px;border-bottom:1px solid var(--grid)}table.data th{color:var(--text-muted);font-weight:600}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.legend{display:flex;gap:14px;font-size:12px;color:var(--text-secondary);margin:4px 0 6px;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:6px}.tooltip{position:fixed;pointer-events:none;z-index:50;background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:12px;box-shadow:0 4px 14px #00000026;white-space:nowrap}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.review{display:grid;grid-template-columns:380px 1fr;height:100%;min-height:0}.review-side{border-right:1px solid var(--border);background:var(--surface-1);display:grid;grid-template-rows:auto 1fr;min-height:0}.review-filters{padding:10px 12px;display:grid;gap:6px;border-bottom:1px solid var(--border);font-size:12px}.review-filters .row{display:flex;gap:6px}.review-filters select,.review-filters input{flex:1;min-width:0;padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--page)}.queue{overflow:auto}.queue-item{padding:7px 12px;border-bottom:1px solid var(--grid);cursor:pointer;font-size:12px}.queue-item[aria-current=true]{background:var(--band-strong)}.queue-item .spo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-main{overflow:auto;padding:16px;display:grid;gap:12px;align-content:start}.spo-card{font-size:15px;display:grid;gap:4px}.spo-card .pred{font-family:ui-monospace,Consolas,monospace;color:var(--accent);font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}kbd{border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-size:11px;background:var(--page)}pre.context{white-space:pre-wrap;background:var(--page);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;max-height:280px;overflow:auto;margin:0}.edit-grid{display:grid;grid-template-columns:140px 1fr;gap:6px 10px;font-size:12px;align-items:center}.edit-grid input,.edit-grid select{padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--page)}.msg{font-size:12px;padding:6px 10px;border-radius:6px;background:var(--surface-2)}.msg.error{color:var(--critical)}.bar{height:6px;border-radius:3px;background:var(--grid);overflow:hidden;display:flex;gap:2px}.bar>span{display:block;height:100%}@media (max-width: 900px){.graph-body{grid-template-columns:1fr;grid-template-rows:1fr 260px}.detail{border-left:none;border-top:1px solid var(--border)}.review,.two-col{grid-template-columns:1fr}}.login-screen{display:grid;place-items:center;height:100%;padding:16px;background:var(--page)}.login-card{width:min(360px,100%);display:grid;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:20px 22px}.page>.login-card{margin:40px auto}.login-card input{margin-top:4px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--page);color:var(--text-primary);font:inherit}.role-badge{font-size:12px;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;padding:2px 9px}
