:root{--bg: #0e1116;--surface: #171c24;--surface-2: #1f2630;--border: #2a323d;--text: #e6edf3;--muted: #8b97a7;--accent: #5b8cff;--accent-2: #7c5cff;--block: #ff5c6c;--warn: #ffb454;--note: #58c4dc;--ok: #3fb37f;--radius: 10px;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h3,h4{margin:0 0 8px}a{color:var(--accent);text-decoration:none}.muted{color:var(--muted)}.small{font-size:12px}code,pre,.cid{font-family:var(--mono)}.boot,.login{height:100%;display:grid;place-items:center}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px;text-align:center;max-width:380px}.brand-mark{width:52px;height:52px;border-radius:12px;margin:0 auto 16px;display:grid;place-items:center;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.brand-mark.sm{width:28px;height:28px;border-radius:7px;font-size:12px;margin:0}button,.btn{font:inherit;cursor:pointer;border-radius:8px;padding:8px 14px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}button:hover,.btn:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}.btn.primary,button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;color:#fff;font-weight:600;padding:10px 18px}.btn.ghost{background:transparent}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;gap:24px;padding:12px 22px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:8px}.brand-name{font-weight:700}.brand-sub{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.tabs{display:flex;gap:4px}.tab{background:transparent;border:none;color:var(--muted);padding:8px 12px}.tab.active{color:var(--text);background:var(--surface-2)}.user{margin-left:auto;display:flex;align-items:center;gap:10px}main{padding:22px;max-width:1080px;width:100%;margin:0 auto}.view{display:flex;flex-direction:column;gap:18px}.dropzone{border:2px dashed var(--border);border-radius:14px;padding:44px;text-align:center;cursor:pointer;transition:.15s;background:var(--surface)}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--surface-2)}.dz-title{font-size:18px;font-weight:600;margin-bottom:6px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel-head .actions{display:flex;gap:8px}.actions{display:flex;gap:10px;align-items:center}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 16px;min-width:92px}.stat-value{font-size:22px;font-weight:700}.stat-label{color:var(--muted);font-size:12px}.stat-accent .stat-value{color:var(--accent)}.stat-block .stat-value{color:var(--block)}.stat-warn .stat-value{color:var(--warn)}.stat-note .stat-value{color:var(--note)}.stat-ok .stat-value{color:var(--ok)}.mode-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg-btn{border:none;border-radius:0;background:var(--surface);color:var(--muted);padding:6px 14px}.seg-btn.on{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.seg-btn:disabled{opacity:.4;cursor:not-allowed}.model-pick{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.model-select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:.85rem;max-width:320px}.model-select:disabled{opacity:.5;cursor:not-allowed}.history-table{width:100%;font-size:.85rem}.history-row{cursor:pointer}.history-row:hover{background:var(--surface)}.verdict-mini{padding:2px 7px;border-radius:6px;font-size:.78rem;white-space:nowrap}.verdict-mini.v-block{background:#dc3c3c26;color:var(--block)}.verdict-mini.v-warn{background:#dca02826;color:var(--warn)}.verdict-mini.v-pass{background:#3cb45a26;color:var(--note)}.btn.tiny{padding:1px 7px;font-size:.8rem}.chip{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border)}.tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.chip.tag{background:var(--surface-2);color:var(--muted)}.chip.tag.pick{cursor:pointer}.chip.tag.pick.on{background:#5b8cff29;color:var(--accent);border-color:var(--accent)}.sev-block{background:#ff5c6c26;color:var(--block);border-color:transparent}.sev-warn{background:#ffb45426;color:var(--warn);border-color:transparent}.sev-note{background:#58c4dc26;color:var(--note);border-color:transparent}.det-mechanical{background:#3fb37f26;color:var(--ok);border-color:transparent}.det-mixed{background:#7c5cff26;color:var(--accent-2);border-color:transparent}.det-llm{background:#5b8cff26;color:var(--accent);border-color:transparent}.muted-chip{background:var(--surface-2);color:var(--muted)}.banner{padding:10px 14px;border-radius:8px;margin-top:12px}.banner.error{background:#ff5c6c1f;color:var(--block)}.banner.warn{background:#ffb4541f;color:var(--warn)}.banner.ok{background:#3fb37f1f;color:var(--ok)}.event-log{list-style:none;padding:0;margin:0;font-family:var(--mono);font-size:12px}.spinner-wrap{display:inline-flex;align-items:center;gap:8px}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.cat-group{margin-top:14px}.cat-group h4{color:var(--muted);text-transform:lowercase;font-size:13px;letter-spacing:.03em}.finding{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-top:1px solid var(--border);flex-wrap:wrap}.finding .cid{color:var(--text);font-size:12px}.finding .target{color:var(--muted);font-family:var(--mono);font-size:11px}.finding .msg{color:var(--text);flex:1 1 320px}.empty{color:var(--muted);padding:24px;text-align:center}.pending{margin-top:14px}.pending summary{cursor:pointer;color:var(--muted)}.pending-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search,select,input,textarea{font:inherit;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px}.search{flex:1 1 240px}.registry-split{display:grid;grid-template-columns:360px 1fr;gap:16px}.check-list{display:flex;flex-direction:column;gap:6px;max-height:70vh;overflow:auto}.check-row{padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer;background:var(--surface)}.check-row:hover{border-color:var(--accent)}.check-row.active{border-color:var(--accent);background:var(--surface-2)}.check-row-main{display:flex;align-items:center;gap:8px;justify-content:space-between}.check-detail{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px}.md-body{white-space:pre-wrap;word-break:break-word;background:var(--surface-2);padding:14px;border-radius:8px;font-size:12.5px}.form{display:flex;flex-direction:column;gap:12px;margin-top:10px}.form label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}.form input,.form textarea,.form select{color:var(--text)}.form-row{display:grid;grid-template-columns:1fr 1fr 140px;gap:12px}.tag-picker{display:flex;gap:6px;flex-wrap:wrap}.verdict{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;margin:6px 0 12px;border:1px solid var(--border)}.verdict-label{font-size:16px;font-weight:700}.verdict-note{color:var(--muted);font-size:13px}.v-block{background:#ff5c6c1f;border-color:var(--block)}.v-block .verdict-label{color:var(--block)}.v-warn{background:#ffb4541f;border-color:var(--warn)}.v-warn .verdict-label{color:var(--warn)}.v-pass{background:#3fb37f1f;border-color:var(--ok)}.v-pass .verdict-label{color:var(--ok)}.ledger{margin-top:12px}.ledger summary{cursor:pointer;color:var(--muted)}.ledger-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px}.ledger-table th{text-align:left;color:var(--muted);font-weight:500;padding:5px 8px;border-bottom:1px solid var(--border)}.ledger-table td{padding:5px 8px;border-bottom:1px solid var(--border);vertical-align:top}.run-log{margin-top:12px}.run-log summary{cursor:pointer;color:var(--muted)}.trace{background:var(--surface-2);padding:12px;border-radius:8px;font-size:11.5px;max-height:320px;overflow:auto;white-space:pre;color:var(--muted)}.dimensions{margin:14px 0}.dimensions h4{color:var(--muted);font-size:13px}.dim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.dim{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:help}.dim-name{font-size:13px}.dim-grade{font-size:11px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:999px}.grade-strong .dim-grade{background:#3fb37f2e;color:var(--ok)}.grade-acceptable .dim-grade{background:#58c4dc2e;color:var(--note)}.grade-weak .dim-grade{background:#ffb4542e;color:var(--warn)}.grade-block .dim-grade{background:#ff5c6c2e;color:var(--block)}.grade-na .dim-grade{background:var(--surface);color:var(--muted)}.issues{width:100%;border-collapse:collapse;margin-top:12px;font-size:13px}.issues th{text-align:left;color:var(--muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--border)}.issues td{padding:7px 8px;border-bottom:1px solid var(--border);vertical-align:top}@media (max-width: 760px){.registry-split,.form-row{grid-template-columns:1fr}.tabs{overflow:auto}}
