:root{--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:18px;--fs-3xl:20px;--fs-4xl:24px;--fs-5xl:28px;--lh-tight:1.2;--lh-normal:1.4;--lh-relaxed:1.5;--tracking-tight:-.01em;--tracking-normal:0;--tracking-uppercase:.06em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--space-9:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--border-w:1px;--border-w-thick:2px;--border-w-accent:3px;--z-base:1;--z-sticky:10;--z-dropdown:50;--z-popover:70;--z-modal-backdrop:200;--z-modal:201;--z-toast:300;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 8px #00000014;--shadow-lg:0 12px 32px #0000002e;--status-good:#16a34a;--status-good-strong:#15803d;--status-good-bg:#16a34a1f;--status-good-border:color-mix(in srgb, #16a34a 30%, var(--border));--status-warn:#d97706;--status-warn-strong:#b45309;--status-warn-bg:#d977061f;--status-warn-border:color-mix(in srgb, #d97706 30%, var(--border));--status-bad:#dc2626;--status-bad-strong:#b91c1c;--status-bad-bg:#dc26261f;--status-bad-border:color-mix(in srgb, #dc2626 30%, var(--border));--status-info:#2563eb;--status-info-strong:#1d4ed8;--status-info-bg:#2563eb1f;--status-info-border:color-mix(in srgb, #2563eb 30%, var(--border));--status-neutral:#6b7280;--status-neutral-bg:#6b72801a;--status-neutral-border:var(--border);--text-m:#4b5563;--focus-ring:0 0 0 2px var(--accent);--focus-ring-offset:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--text-m:#c4cad6;--status-good:#22c55e;--status-good-strong:#16a34a;--status-good-bg:#22c55e29;--status-good-border:color-mix(in srgb, #22c55e 35%, var(--border));--status-warn:#f59e0b;--status-warn-strong:#d97706;--status-warn-bg:#f59e0b29;--status-warn-border:color-mix(in srgb, #f59e0b 35%, var(--border));--status-bad:#ef4444;--status-bad-strong:#dc2626;--status-bad-bg:#ef444429;--status-bad-border:color-mix(in srgb, #ef4444 35%, var(--border));--status-info:#60a5fa;--status-info-strong:#3b82f6;--status-info-bg:#60a5fa29;--status-info-border:color-mix(in srgb, #60a5fa 35%, var(--border));--status-neutral:#9ca3af;--status-neutral-bg:#9ca3af1f;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 8px #0006;--shadow-lg:0 12px 32px #0000008c}}:root[data-theme=dark]{--text-m:#c4cad6;--status-good:#22c55e;--status-good-strong:#16a34a;--status-good-bg:#22c55e29;--status-good-border:color-mix(in srgb, #22c55e 35%, var(--border));--status-warn:#f59e0b;--status-warn-strong:#d97706;--status-warn-bg:#f59e0b29;--status-warn-border:color-mix(in srgb, #f59e0b 35%, var(--border));--status-bad:#ef4444;--status-bad-strong:#dc2626;--status-bad-bg:#ef444429;--status-bad-border:color-mix(in srgb, #ef4444 35%, var(--border));--status-info:#60a5fa;--status-info-strong:#3b82f6;--status-info-bg:#60a5fa29;--status-info-border:color-mix(in srgb, #60a5fa 35%, var(--border));--status-neutral:#9ca3af;--status-neutral-bg:#9ca3af1f;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 8px #0006;--shadow-lg:0 12px 32px #0000008c}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s;--duration-slow:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}:root{--text:#374151;--text-h:#0f172a;--muted:#6b7280;--bg:#fafafa;--border:#e5e7eb;--accent:#6366f1;--card-bg:#fff;--card-bg-elevated:#fff;--paper-bg:#fff;--sans:system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--text:#d1d5db;--text-h:#f8fafc;--muted:#9ca3af;--bg:#0b0d12;--border:#1f2937;--accent:#818cf8;--card-bg:#11141a;--card-bg-elevated:#161a23;--paper-bg:#1a1f2b}}:root[data-theme=dark]{--text:#d1d5db;--text-h:#f8fafc;--muted:#9ca3af;--bg:#0b0d12;--border:#1f2937;--accent:#818cf8;--card-bg:#11141a;--card-bg-elevated:#161a23;--paper-bg:#1a1f2b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}#root{min-height:100vh}h1,h2,h3{color:var(--text-h);letter-spacing:-.01em;font-weight:600}p{margin:0}button{font-family:inherit}code{font-family:var(--mono)}a{color:var(--accent)}.ui-button{justify-content:center;align-items:center;gap:var(--space-1);font-family:inherit;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);border-radius:var(--radius-md);border:var(--border-w) solid transparent;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);white-space:nowrap;-webkit-user-select:none;user-select:none;display:inline-flex}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-button--xs{padding:2px var(--space-2);font-size:var(--fs-xs);line-height:var(--lh-tight)}.ui-button--sm{padding:4px var(--space-3);font-size:var(--fs-sm);line-height:var(--lh-tight)}.ui-button--md{padding:var(--space-2) var(--space-4);font-size:var(--fs-md);line-height:var(--lh-tight)}.ui-button--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.ui-button--primary:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(1.06)}.ui-button--primary:active:not(:disabled){filter:brightness(.95)}.ui-button--secondary{color:var(--text-h);border-color:var(--border);background:0 0}.ui-button--secondary:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb, var(--text-h) 5%, transparent)}.ui-button--secondary:active:not(:disabled){background:color-mix(in srgb, var(--text-h) 9%, transparent)}.ui-button--ghost{color:var(--text-m);background:0 0;border-color:#0000}.ui-button--ghost:hover:not(:disabled):not([aria-disabled=true]){color:var(--text-h);background:color-mix(in srgb, var(--text-h) 5%, transparent)}.ui-button--danger{color:var(--text-m);border-color:var(--border);background:0 0}.ui-button--danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--status-bad-bg);color:var(--status-bad);border-color:var(--status-bad-border)}.ui-button[aria-busy=true]{cursor:progress}.ui-icon-button{border:var(--border-w) solid transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--text-m);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}.ui-icon-button:hover:not(:disabled){color:var(--text-h);background:color-mix(in srgb, var(--text-h) 6%, transparent)}.ui-icon-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-icon-button--sm{width:24px;height:24px;font-size:var(--fs-md)}.ui-icon-button--md{width:32px;height:32px;font-size:var(--fs-lg)}.ui-card{background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-xl);display:block}.ui-card--padded-sm{padding:var(--space-3)}.ui-card--padded-md{padding:var(--space-4)}.ui-card--padded-lg{padding:var(--space-5)}.ui-card--accent{border-left-width:var(--border-w-accent);border-left-color:var(--status-info)}.ui-pill{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-uppercase);border:var(--border-w) solid var(--border);white-space:nowrap;align-items:center;display:inline-flex}.ui-pill--xs{padding:1px var(--space-2);font-size:10.5px}.ui-pill--sm{font-size:var(--fs-xs)}.ui-pill--good{color:var(--status-good);background:var(--status-good-bg);border-color:var(--status-good-border)}.ui-pill--warn{color:var(--status-warn);background:var(--status-warn-bg);border-color:var(--status-warn-border)}.ui-pill--bad{color:var(--status-bad);background:var(--status-bad-bg);border-color:var(--status-bad-border)}.ui-pill--info{color:var(--status-info);background:var(--status-info-bg);border-color:var(--status-info-border)}.ui-pill--neutral{color:var(--status-neutral);background:var(--status-neutral-bg);border-color:var(--status-neutral-border)}.ui-spinner{border-style:solid;border-color:var(--border);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite ui-spinner-rotate;display:inline-block}.ui-spinner--sm{border-width:2px;width:14px;height:14px}.ui-spinner--md{border-width:2px;width:20px;height:20px}.ui-spinner--lg{border-width:3px;width:32px;height:32px}@keyframes ui-spinner-rotate{to{transform:rotate(360deg)}}.ui-empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-5);text-align:center;color:var(--text-m);flex-direction:column;display:flex}.ui-empty-state__title{font-size:var(--fs-xl);font-weight:var(--weight-semibold);color:var(--text-h);letter-spacing:var(--tracking-tight);margin:0}.ui-empty-state__body{font-size:var(--fs-md);line-height:var(--lh-relaxed);max-width:480px;margin:0}.ui-empty-state__actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.ui-input,.ui-textarea{width:100%;font:inherit;font-size:var(--fs-md);line-height:var(--lh-normal);padding:var(--space-2) var(--space-3);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);color:var(--text-h);box-sizing:border-box;transition:border-color var(--duration-fast) var(--ease-out);display:block}.ui-input:focus-visible,.ui-textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--status-bad)}.ui-input:disabled,.ui-textarea:disabled{opacity:.6;cursor:not-allowed}.ui-input--sm{padding:var(--space-1) var(--space-2);font-size:var(--fs-sm)}.ui-textarea{resize:vertical;min-height:60px}.ui-form-field{gap:var(--space-1);flex-direction:column;display:flex}.ui-form-field__label{font-size:var(--fs-xs);font-weight:var(--weight-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-uppercase)}.ui-form-field__error{font-size:var(--fs-sm);color:var(--status-bad);margin:0}.ui-form-field__helper{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-normal);margin:0}.ui-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal-backdrop);padding:var(--space-4);animation:ui-modal-backdrop-fade var(--duration-base) var(--ease-out);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes ui-modal-backdrop-fade{0%{opacity:0}to{opacity:1}}.ui-modal{background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:var(--z-modal);max-height:calc(100dvh - var(--space-7));width:100%;animation:ui-modal-slide var(--duration-base) var(--ease-out);flex-direction:column;display:flex}.ui-modal--sm{max-width:480px}.ui-modal--md{max-width:680px}.ui-modal--lg{max-width:960px}.ui-modal--xl{max-width:1300px}.ui-modal--full{max-width:calc(100vw - var(--space-7));height:calc(100dvh - var(--space-7))}@keyframes ui-modal-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ui-modal__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:var(--border-w) solid var(--border);flex-shrink:0;display:flex}.ui-modal__title{font-size:var(--fs-2xl);font-weight:var(--weight-semibold);color:var(--text-h);letter-spacing:var(--tracking-tight);margin:0}.ui-modal__subtitle{margin:var(--space-1) 0 0;font-size:var(--fs-sm);color:var(--muted)}.ui-modal__body{padding:var(--space-5);flex:1;min-height:0;overflow-y:auto}.ui-popover{z-index:var(--z-popover);background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1);min-width:240px;max-height:320px;animation:ui-popover-fade var(--duration-fast) var(--ease-out);flex-direction:column;gap:1px;display:flex;position:fixed;overflow-y:auto}@keyframes ui-popover-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.ui-tabs{border-bottom:var(--border-w) solid var(--border);gap:2px;display:flex}.ui-tabs__tab{border:0;border-bottom:var(--border-w-thick) solid transparent;padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--fs-md);font-weight:var(--weight-medium);color:var(--muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0}.ui-tabs__tab:hover{color:var(--text-h)}.ui-tabs__tab[aria-selected=true]{color:var(--text-h);border-bottom-color:var(--accent)}.ui-tabs__tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-sm)}.ui-toast{right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--border);border-left-width:var(--border-w-accent);border-radius:var(--radius-lg);background:var(--card-bg);color:var(--text-h);box-shadow:var(--shadow-md);font-size:var(--fs-md);max-width:min(440px, calc(100vw - var(--space-7)));transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);display:flex;position:fixed}.ui-toast.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.ui-toast.is-visible{opacity:1;transform:translateY(0)}.ui-toast--info{border-left-color:var(--status-info)}.ui-toast--good{border-left-color:var(--status-good)}.ui-toast--warn{border-left-color:var(--status-warn)}.ui-toast--bad{border-left-color:var(--status-bad)}.ui-toast__message{min-width:0;line-height:var(--lh-normal);flex:1}.ui-toast__action{border:var(--border-w) solid var(--border);border-radius:var(--radius-md);font:inherit;font-size:var(--fs-sm);font-weight:var(--weight-semibold);color:var(--accent);padding:2px var(--space-2);cursor:pointer;white-space:nowrap;background:0 0}.ui-toast__action:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}.ui-toast__close{font-size:var(--fs-xl);color:var(--muted);cursor:pointer;padding:0 var(--space-1);background:0 0;border:0;line-height:1}.ui-toast__close:hover{color:var(--text-h)}.ui-kbd{padding:1px var(--space-1);border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--text-h) 4%, transparent);font-family:var(--mono);color:var(--text-m);font-size:11px;line-height:var(--lh-tight);align-items:center;display:inline-flex}.page{max-width:1320px;padding:16px 24px calc(96px + env(safe-area-inset-bottom,0px));box-sizing:border-box;flex-direction:column;gap:12px;height:100dvh;margin:0 auto;display:flex;overflow:hidden}.topbar{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.detector-inspector{flex-direction:column;width:100%;max-width:760px;max-height:80vh;display:flex}.detector-inspector-summary{color:var(--text);margin:0 16px 12px;font-size:12.5px;line-height:1.5}.detector-inspector-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;padding:0 16px;display:flex}.triage-health-subtabs{flex-wrap:wrap;gap:4px;padding:0 16px 8px;display:flex}.triage-health-subtab{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-family:inherit;font-size:12px;display:inline-flex}.triage-health-subtab:hover{color:var(--text)}.triage-health-subtab.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast,#fff)}.triage-health-subtab-count{background:#00000014;border-radius:999px;padding:1px 6px;font-size:10px}.triage-health-subtab.is-active .triage-health-subtab-count{background:#ffffff40}.detector-inspector-body{flex-direction:column;gap:18px;padding:0 16px 16px;display:flex;overflow-y:auto}.detector-inspector-category{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;padding:12px 14px}.detector-inspector-category>header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.detector-inspector-category>header h3{margin:0;font-size:14px}.detector-inspector-cat-desc{margin:4px 0 10px;font-size:11.5px;line-height:1.5}.detector-inspector-category ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.detector-inspector-row{border:1px solid var(--border);background:var(--card-bg-elevated);border-radius:6px;padding:8px 10px}.detector-inspector-row.is-fired{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 5%, var(--card-bg-elevated))}.detector-inspector-row.is-not-fired{opacity:.55}.detector-inspector-dot{vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.detector-inspector-dot.severity-high{background:var(--status-bad)}.detector-inspector-dot.severity-medium{background:var(--status-warn)}.detector-inspector-dot.severity-low{background:var(--accent)}.detector-inspector-dot.severity-ok{background:var(--status-good)}.detector-inspector-meta{font-family:var(--mono);color:var(--muted);align-items:baseline;gap:8px;font-size:10px;display:inline-flex}.detector-inspector-contrib{cursor:help;font-weight:600}.detector-inspector-contrib.pos{color:var(--status-bad)}.detector-inspector-contrib.neg{color:var(--status-good)}.detector-inspector-pai{cursor:help}.detector-inspector-row-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.detector-inspector-name{color:var(--text-h);font-size:12.5px;font-weight:600}.detector-inspector-weight{font-family:var(--mono);color:var(--muted);cursor:help;flex-shrink:0;font-size:10px}.detector-inspector-desc{margin:4px 0;font-size:11.5px;line-height:1.5}.detector-inspector-id{letter-spacing:.02em;opacity:.7;margin-top:4px;font-size:10px;display:inline-block}.triage-modal{flex-direction:column;width:100%;display:flex}.modal.triage-modal{max-width:1100px;max-height:85vh}.modal.triage-modal>.triage-layout,.modal.triage-modal .triage-body{flex:1;min-height:0;overflow-y:auto}.triage-filename{margin:2px 0 0;font-size:12px}.triage-calibration{border-bottom:var(--border-w) solid var(--border);background:var(--surface-2,#00000005);flex-shrink:0}.triage-calibration-summary{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:8px 16px;font-family:inherit;font-size:13px;display:flex}.triage-calibration-summary:hover{background:#00000008}.triage-calibration-summary-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.triage-calibration-summary-meta{flex-shrink:0;font-size:11px;font-style:italic}.triage-calibration-caret{color:var(--muted);flex-shrink:0;font-size:10px}.triage-calibration-controls{border-top:1px solid var(--border);padding:4px 16px 12px}.triage-calibration-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:8px;display:flex}.triage-calibration-field{flex-direction:column;gap:2px;min-width:180px;font-size:12px;display:flex}.triage-calibration-field select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:4px;padding:4px 6px;font-family:inherit;font-size:13px}.triage-calibration-source{color:var(--muted);font-size:11px;font-style:italic}.triage-calibration-reset{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:4px;height:28px;padding:4px 10px;font-family:inherit;font-size:12px}.triage-calibration-reset:hover{color:var(--text);border-color:var(--accent)}.triage-calibration-presets{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.triage-preset{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-family:inherit;font-size:12px}.triage-preset.is-active{background:var(--accent);color:var(--accent-contrast,#fff);border-color:var(--accent)}.triage-observation-contest-form{flex-direction:column;gap:6px;margin-top:8px;display:flex}.triage-observation-contest-form textarea{border:1px solid var(--border);resize:vertical;background:var(--surface);width:100%;color:var(--text);border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.triage-observation-contest-actions{gap:6px;display:flex}.triage-observation-contest-actions button{border:1px solid var(--border);background:var(--accent);color:var(--accent-contrast,#fff);cursor:pointer;border-radius:4px;padding:4px 12px;font-family:inherit;font-size:12px}.triage-observation-contest-cancel{color:var(--muted)!important;background:0 0!important}.triage-observation-contest-reason{margin-top:4px;font-size:12px;font-style:italic}.triage-card{flex-direction:column;min-width:0;max-height:520px;padding:0;display:flex;overflow:hidden}.triage-card-head{padding:var(--space-3) var(--space-4) var(--space-2);border-bottom:var(--border-w) solid var(--border);flex-shrink:0}.triage-card-head h3{font-size:var(--fs-md);font-weight:var(--weight-semibold);margin:0}.triage-card .triage-body{scrollbar-gutter:stable;flex:1;min-height:0;max-height:none;overflow-y:auto}.triage-tabs{gap:var(--space-1);padding:0 var(--space-4);border-bottom:var(--border-w) solid var(--border);flex-shrink:0;display:flex}.triage-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px;font-family:inherit;font-size:13px}.triage-tab.is-active{color:var(--text-h);border-bottom-color:var(--accent)}.triage-body{flex:1;min-height:0;padding:16px;overflow-y:auto}.triage-observations{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.triage-observation{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;padding:12px 14px}.triage-observation.confidence-high{border-left:3px solid var(--status-good)}.triage-observation.confidence-medium{border-left:3px solid var(--status-warn)}.triage-observation.confidence-low{border-left:3px solid var(--status-bad)}.triage-observation.is-contested{opacity:.55;text-decoration:line-through}.triage-observation-text{color:var(--text-h);margin:0 0 6px;font-size:13px;line-height:1.5}.triage-observation-meta{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:11px;display:flex}.triage-observation-confidence{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.triage-observation-contest{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:2px 8px;font-family:inherit;font-size:11px}.triage-observation-contest[aria-pressed=true]{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--accent)}.triage-section{margin-bottom:18px}.triage-section h3{margin:0 0 8px;font-size:14px}.triage-engine-output{border:1px solid var(--border);border-radius:6px;margin-bottom:10px;padding:8px 12px}.triage-provenance-findings{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.triage-finding{border-left:3px solid var(--border);background:var(--card-bg);padding:6px 10px}.triage-finding.level-error{border-left-color:var(--status-bad)}.triage-finding.level-degraded{border-left-color:var(--status-warn)}.triage-finding.level-warning{border-left-color:#facc15}.triage-finding.level-ok{border-left-color:var(--status-good)}.triage-finding p{margin:4px 0 0;font-size:11.5px;line-height:1.4}.triage-engine-output summary{cursor:pointer;font-size:13px}.triage-engine-json{font-family:var(--mono);background:color-mix(in srgb, var(--text-h) 4%, transparent);border-radius:4px;max-height:240px;margin:8px 0 0;padding:8px;font-size:10.5px;line-height:1.4;overflow-x:auto}.syntactic-appendix{flex-direction:column;gap:8px;margin-top:8px;display:flex}.syntactic-section{border:1px solid var(--border);border-radius:4px;padding:6px 10px}.syntactic-section>summary{cursor:pointer;font-size:12.5px}.syntactic-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:11.5px}.syntactic-table th,.syntactic-table td{text-align:left;border-bottom:1px dotted var(--border);padding:3px 8px 3px 0}.syntactic-table th{color:var(--text-h);font-weight:600}.syntactic-subline{margin:6px 0 0;font-size:11px;line-height:1.5}.syntactic-flags{margin:6px 0 0;padding-left:20px;font-size:11.5px;line-height:1.45;list-style:outside}.syntactic-flags li{margin-bottom:3px}.syntactic-incomplete-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;font-size:11.5px;line-height:1.5;list-style:none;display:flex}.syntactic-incomplete-list em{font-style:italic}.syntactic-trace{flex-direction:column;gap:4px;max-height:320px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.syntactic-trace-row{border:1px solid #0000;border-radius:4px}.syntactic-trace-row.is-open{border-color:var(--border)}.syntactic-trace-toggle{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:6px;padding:4px 8px;font-size:11.5px;display:flex}.syntactic-trace-toggle:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.syntactic-trace-meta{font-size:10.5px}.syntactic-trace-text{color:var(--text-m);flex:100%;font-size:11px}.syntactic-trace-detail{color:var(--text-m);flex-direction:column;gap:4px;padding:6px 10px 8px;font-size:11px;line-height:1.5;display:flex}.syntactic-tag{text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--text-h) 8%, transparent);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.syntactic-tag.tag-simple{background:color-mix(in srgb, var(--status-good) 24%, transparent);color:#166534}.syntactic-tag.tag-compound{background:color-mix(in srgb, var(--status-info) 22%, transparent);color:#1e3a8a}.syntactic-tag.tag-complex{background:color-mix(in srgb, var(--status-warn) 22%, transparent);color:#78350f}.syntactic-tag.tag-compound-complex{color:#6b21a8;background:#c026d338}.syntactic-tag.tag-incomplete{background:color-mix(in srgb, var(--status-bad) 24%, transparent);color:#7f1d1d}.syntactic-tag-inline{font-family:var(--mono);color:var(--text-m);margin-right:6px;font-size:10.5px;display:inline-block}.verdict-secondary{background:var(--card-bg);filter:saturate(.85)}.verdict-section-label{text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px;font-size:10.5px;font-weight:600}.app-shell{--side-nav-w:64px;min-height:100dvh;display:block}.app-shell>.page{padding-left:calc(var(--side-nav-w) + 24px);padding-right:calc(var(--side-nav-w) + 24px)}.side-nav{width:var(--side-nav-w);border-right:1px solid var(--border);background:var(--card-bg);z-index:5;flex-direction:column;align-items:center;gap:12px;padding:16px 8px;display:flex;position:fixed;top:0;bottom:0;left:0}.side-nav-brand{justify-content:center;align-items:center;width:28px;height:28px;margin-bottom:4px;display:flex}.side-nav-brand .brand-mark{width:28px;height:28px}.side-nav-list{flex-direction:column;gap:4px;width:100%;margin:0;padding:0;list-style:none;display:flex}.side-nav-link{color:var(--muted);border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:10.5px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.side-nav-badge{background:var(--status-warn-strong);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;line-height:18px;position:absolute;top:2px;right:2px}.side-nav-link:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h)}.side-nav-link.is-active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--text-h)}.side-nav-icon{font-size:18px;line-height:1}.side-nav-label{letter-spacing:.01em;font-size:10.5px}.students-page{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;padding:16px 24px;display:flex}.students-class-group{margin-top:12px}.students-class-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 6px;font-size:13px}.teacher-page{flex-direction:column;gap:16px;max-width:1100px;margin:0 auto;padding:16px 24px;display:flex}.teacher-topbar-nav{align-items:center;gap:14px;display:flex}.teacher-nav-link{color:var(--text-h);border:1px solid var(--border);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none}.teacher-nav-link:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.teacher-empty{padding:24px}.teacher-empty h2{margin:0 0 10px}.teacher-empty-head{justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.teacher-empty-head h2{margin:0}.teacher-create-class{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 16px;padding:12px;display:flex}.teacher-create-class-input{border:1px solid var(--border);background:var(--card-bg);min-width:200px;color:var(--text-h);border-radius:6px;flex:1;padding:7px 10px;font-family:inherit;font-size:13px}.teacher-create-class-input:focus{outline:2px solid var(--accent);outline-offset:1px}.teacher-create-class .roster-error{flex-basis:100%}.teacher-roster-import-btn{margin-left:auto}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.teacher-empty-line{margin-top:12px;font-size:12.5px}.teacher-class-list{flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.teacher-class-button{border:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-radius:6px;justify-content:space-between;align-items:baseline;width:100%;padding:10px 14px;font-size:14px;display:flex}.teacher-class-button:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.teacher-class-name{font-weight:600}.teacher-class-term{font-size:11px}.class-upload-card{flex-direction:column;gap:8px;display:flex}.class-upload-dropzone{border:2px dashed var(--border);background:var(--card-bg);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;transition:border-color .12s,background .12s;display:flex}.class-upload-dropzone:hover,.class-upload-dropzone.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--card-bg))}.class-upload-dropzone-main{flex-direction:column;gap:2px;display:flex}.class-upload-dropzone-main strong{font-size:14px}.class-upload-dropzone-main p{margin:0;font-size:12px;line-height:1.4}.class-upload-progress{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.class-upload-progress-summary{align-items:center;gap:12px;font-size:12px;display:flex}.class-upload-inbox-link{color:var(--accent);margin-left:auto;font-size:12px;font-weight:600;text-decoration:none}.class-upload-inbox-link:hover{text-decoration:underline}.class-upload-progress-summary .link-button{margin-left:0}.class-upload-list{flex-direction:column;gap:2px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.class-upload-row{border-bottom:1px dotted var(--border);justify-content:space-between;align-items:center;gap:12px;padding:4px 0;font-size:12.5px;display:flex}.class-upload-row:last-child{border-bottom:0}.class-upload-row--processing .class-upload-row-name{color:var(--accent)}.class-upload-row--error .class-upload-row-name{color:var(--status-bad)}.class-upload-row-name{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.class-upload-row-status{flex-shrink:0;align-items:center;gap:6px;display:flex}.class-upload-row-error{color:var(--status-bad);font-size:11.5px}.class-upload-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.class-upload-chip{border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.class-upload-chip--high{color:var(--status-good);border-color:color-mix(in srgb, var(--status-good) 30%, var(--border));background:color-mix(in srgb, var(--status-good) 10%, transparent)}.class-upload-chip--low{color:var(--status-warn);border-color:color-mix(in srgb, var(--status-warn) 30%, var(--border));background:color-mix(in srgb, var(--status-warn) 10%, transparent)}.class-upload-chip--none{color:var(--muted)}.class-upload-chip--assignment{color:var(--text-h);background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, var(--border))}.class-upload-chip--no-assignment{font-style:italic}.assignment-menu{display:inline-block;position:relative}.assignment-menu-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-family:inherit;font-size:11px;font-weight:600}.assignment-menu-btn:hover{border-color:var(--accent);color:var(--text-h)}.assignment-menu-btn.is-set{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 25%, var(--border));color:var(--text-h)}.assignment-menu-btn.is-compact{padding:1px 8px;font-size:10.5px}.assignment-menu-popover{z-index:70;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:1px;min-width:240px;max-height:320px;padding:6px;display:flex;overflow-y:auto;box-shadow:0 12px 32px #0000002e}.assignment-menu-input{border:1px solid var(--border);font:inherit;background:var(--card-bg);color:var(--text-h);border-radius:6px;margin-bottom:4px;padding:6px 8px;font-size:12px}.assignment-menu-input:focus{outline:2px solid var(--accent);outline-offset:1px}.assignment-menu-option{text-align:left;cursor:pointer;font:inherit;color:var(--text-h);background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 8px;font-size:12.5px;display:flex}.assignment-menu-option:hover{background:color-mix(in srgb, var(--text-h) 6%, transparent)}.assignment-menu-option.is-active{background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:600}.assignment-menu-option-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.assignment-menu-option-due{font-variant-numeric:tabular-nums;font-size:11px}.assignment-menu-clear{color:var(--status-warn);font-size:11.5px}.assignment-menu-empty{margin:0;padding:6px 8px;font-size:12px}.class-detail-tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:-8px;display:flex}.class-detail-tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 16px;font-size:13px;font-weight:500;transition:color .12s,border-color .12s}.class-detail-tab:hover{color:var(--text-h)}.class-detail-tab.is-active{color:var(--text-h);border-bottom-color:var(--accent)}.teacher-assignments-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.teacher-assignment-row{display:block}.teacher-assignment-card{border:1px solid var(--border);background:var(--card-bg);border-radius:8px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.teacher-assignment-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.teacher-assignment-name{margin:0;font-size:16px}.teacher-assignment-meta{align-items:center;gap:12px;font-size:12px;display:flex}.teacher-assignment-due{color:var(--text-m);font-weight:500}.teacher-assignment-due.is-overdue{color:var(--status-bad);font-weight:600}.teacher-assignment-prompt{color:var(--text);border-left:3px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 4%, transparent);white-space:pre-wrap;border-radius:4px;margin:0;padding:8px 12px;font-size:13px;line-height:1.5}.teacher-assignment-notes{margin:0;font-size:12px;line-height:1.4}.teacher-assignment-actions{gap:6px;display:flex}.teacher-assignment-form{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 4%, transparent);border-radius:8px;flex-direction:column;gap:12px;padding:16px;display:flex}.teacher-assignment-form-row{flex-wrap:wrap;gap:12px;display:flex}.teacher-assignment-form-row>*{flex:1;min-width:200px}.teacher-assignment-form-due{flex:0 0 200px}.teacher-assignment-form-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;display:flex}.teacher-assignment-form-label>input,.teacher-assignment-form-label>textarea{text-transform:none;letter-spacing:0;color:var(--text-h);font-weight:400}.teacher-assignment-textarea{font:inherit;border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);resize:vertical;border-radius:6px;min-height:60px;padding:7px 10px;font-family:inherit;font-size:13px}.teacher-assignment-textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.teacher-assignment-form-actions{justify-content:flex-end;gap:8px;display:flex}.teacher-roster{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;padding:18px 20px;display:flex}.teacher-roster-head{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.teacher-roster-head h2{margin:0}.teacher-roster-head-main{flex-wrap:wrap;flex:1;align-items:baseline;gap:14px;min-width:0;display:flex}.teacher-roster-head-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.teacher-roster-name{cursor:text;border-radius:4px;margin:-2px -4px;padding:2px 4px}.teacher-roster-name:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.teacher-roster-term{cursor:text;border-radius:4px;padding:2px 4px}.teacher-roster-term:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.teacher-roster-archived-tag{font-size:12px;font-style:italic}.teacher-roster-edit-input{font:inherit;border:1px solid var(--accent);background:var(--card-bg);color:var(--text-h);box-sizing:border-box;border-radius:4px;outline:none;width:100%;padding:4px 8px}.teacher-roster-name-input{width:auto;min-width:240px;font-size:18px;font-weight:700}.teacher-roster-term-input{width:auto;min-width:140px;font-size:13px}.teacher-roster-toolbar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;display:flex}.teacher-roster-search{border:1px solid var(--border);background:var(--card-bg);min-width:220px;color:var(--text-h);border-radius:6px;flex:1;padding:7px 10px;font-family:inherit;font-size:13px}.teacher-roster-search:focus{outline:2px solid var(--accent);outline-offset:1px}.teacher-roster-sort{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px}.teacher-roster-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:4px;font-size:12px;display:flex}.teacher-roster-bulkbar{background:color-mix(in srgb, var(--accent) 8%, transparent);border-radius:6px;padding:8px 12px}.teacher-roster-bulkbar-count{margin-right:8px;font-weight:600}.teacher-roster-bulkbar-cancel{margin-left:auto}.teacher-add-student{margin-bottom:4px}.teacher-roster-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.teacher-roster-table{border-collapse:collapse;width:100%;font-size:13px}.teacher-roster-table thead th{background:color-mix(in srgb, var(--text-h) 4%, transparent);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.teacher-roster-table th.teacher-roster-cell-num,.teacher-roster-table td.teacher-roster-cell-num{text-align:right;font-variant-numeric:tabular-nums}.teacher-roster-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px 10px}.teacher-roster-row:hover td{background:color-mix(in srgb, var(--text-h) 3%, transparent)}.teacher-roster-row.is-selected td{background:color-mix(in srgb, var(--accent) 10%, transparent)}.teacher-roster-row--unenrolled td{opacity:.6}.teacher-roster-row--archived td{opacity:.45;font-style:italic}.teacher-roster-cell-select{text-align:center;width:32px}.teacher-roster-cell-name{cursor:text;font-weight:600}.teacher-roster-cell-contact{cursor:text;text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.teacher-roster-name-link{color:var(--text-h);text-decoration:none}.teacher-roster-name-link:hover{text-decoration:underline}.teacher-roster-empty{text-align:center;padding:24px 12px}.teacher-status-pill{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.teacher-status-active{color:var(--status-good);border-color:color-mix(in srgb, var(--status-good) 30%, var(--border));background:color-mix(in srgb, var(--status-good) 10%, transparent)}.teacher-status-unenrolled{color:var(--status-warn);border-color:color-mix(in srgb, var(--status-warn) 30%, var(--border));background:color-mix(in srgb, var(--status-warn) 10%, transparent)}.teacher-status-archived{color:var(--muted)}.teacher-flagged-pill{background:color-mix(in srgb, var(--status-warn) 18%, transparent);min-width:22px;color:var(--status-warn);text-align:center;border-radius:9px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.teacher-late-pill{background:color-mix(in srgb, var(--status-bad) 14%, transparent);color:var(--status-bad);border-radius:9px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.teacher-pending-hint{color:var(--status-warn-strong);white-space:nowrap;margin-left:4px;font-size:10.5px;font-weight:600}.teacher-multiclass-chip{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--text-h);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--border));border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;text-decoration:none;display:inline-block}.teacher-multiclass-chip:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.teacher-roster-cell-actions{text-align:right;background:var(--card-bg);width:32px;z-index:var(--z-sticky);position:sticky;right:0}.teacher-roster-row:hover .teacher-roster-cell-actions{background:color-mix(in srgb, var(--text-h) 3%, var(--card-bg))}.teacher-roster-row.is-selected .teacher-roster-cell-actions{background:color-mix(in srgb, var(--accent) 10%, var(--card-bg))}.teacher-roster-table thead th.teacher-roster-cell-actions{z-index:calc(var(--z-sticky) + 1);background:color-mix(in srgb, var(--text-h) 4%, var(--card-bg))}.teacher-roster-actions{display:inline-block;position:relative}.teacher-roster-kebab{cursor:pointer;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 8px;font-size:16px;line-height:1}.teacher-roster-kebab:hover{border-color:var(--border);color:var(--text-h)}.teacher-roster-menu{z-index:30;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1px;min-width:200px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 32px #0000002e}.teacher-roster-menu-item{text-align:left;font:inherit;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px 10px;font-size:13px;text-decoration:none;display:block}.teacher-roster-menu-item:hover{background:color-mix(in srgb, var(--text-h) 6%, transparent)}.teacher-roster-menu-danger{color:var(--status-bad)}.teacher-roster-menu-danger:hover{background:color-mix(in srgb, var(--status-bad) 12%, transparent)}.teacher-merge-modal{width:100%;max-width:540px}.teacher-merge-candidates{flex-direction:column;gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.teacher-merge-candidates li label{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.teacher-merge-candidates li label:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.teacher-merge-candidate-name{font-weight:600}.teacher-merge-candidate-meta{font-size:12px}.teacher-merge-summary{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:4px;padding:10px 12px;font-size:12.5px;line-height:1.5}.modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.teacher-student-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.teacher-student-link{border:1px solid var(--border);color:var(--text-h);border-radius:6px;padding:8px 12px;font-size:13px;text-decoration:none;display:block}.teacher-student-link:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.teacher-baseline-stats{background:color-mix(in srgb, var(--text-h) 4%, transparent);border-radius:6px;flex-wrap:wrap;gap:16px;padding:10px 12px;font-size:12.5px;display:flex}.teacher-section-head{margin:12px 0 6px;font-size:13px}.teacher-submission-list{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.teacher-submission-list li{border-bottom:1px dotted var(--border);gap:12px;padding:6px 0;display:flex}.teacher-submission-date{color:var(--muted);min-width:90px;font-size:11.5px}.teacher-submission-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.teacher-submission-row{border-bottom:1px dotted var(--border);flex-direction:column;gap:4px;padding:8px 0;display:flex}.teacher-submission-row-main{align-items:center;gap:12px;font-size:13px;display:flex}.teacher-submission-row-actions{gap:12px;font-size:12px;display:flex}.teacher-confidence-badge{border:1px solid var(--border);border-radius:999px;padding:1px 7px;font-size:11px;display:inline-block}.teacher-confidence-high{background:color-mix(in srgb, var(--status-good) 12%, transparent);border-color:color-mix(in srgb, var(--status-good) 30%, var(--border))}.teacher-confidence-low{background:color-mix(in srgb, var(--status-warn) 12%, transparent);border-color:color-mix(in srgb, var(--status-warn) 30%, var(--border))}.teacher-confidence-none{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.teacher-baseline-stale{border:1px dashed color-mix(in srgb, var(--status-bad) 40%, var(--border));color:var(--status-bad);border-radius:999px;padding:1px 7px;font-size:11px;display:inline-block}.teacher-link-btn{color:var(--text-h);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.teacher-link-btn:hover{text-decoration:none}.teacher-audit-log{background:color-mix(in srgb, var(--text-h) 4%, transparent);border-radius:4px;flex-direction:column;gap:3px;margin:4px 0 0;padding:6px 10px;font-size:11.5px;list-style:none;display:flex}.teacher-audit-event{flex-wrap:wrap;gap:8px;display:flex}.teacher-audit-when{font-family:var(--mono);color:var(--muted);flex:none}.teacher-audit-kind{font-weight:600}.teacher-audit-reason{color:var(--muted);flex:100%;padding-left:12px}.teacher-reattribute-modal{flex-direction:column;gap:10px;width:min(540px,92vw);display:flex}.teacher-reattribute-list{border:1px solid var(--border);border-radius:6px;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.teacher-reattribute-row{cursor:pointer;border-bottom:1px dotted var(--border);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.teacher-reattribute-row:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.teacher-reattribute-reason{flex-direction:column;gap:4px;font-size:12px;display:flex}.teacher-reattribute-reason input{border:1px solid var(--border);border-radius:4px;padding:6px 8px;font-size:13px}.teacher-unenrolled-banner{background:color-mix(in srgb, var(--text-h) 5%, transparent);border-left:3px solid var(--muted);border-radius:4px;margin:0;padding:8px 12px;font-size:12.5px}.students-class-meta{margin-top:2px;font-size:11.5px;display:block}.students-unenrolled-badge{color:var(--status-warn-strong)}.teacher-merge-modal{flex-direction:column;gap:10px;width:min(540px,92vw);display:flex}.teacher-merge-list{border:1px solid var(--border);border-radius:6px;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.teacher-merge-row{cursor:pointer;border-bottom:1px dotted var(--border);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.teacher-merge-row:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.teacher-pending{border:1px solid color-mix(in srgb, var(--status-warn) 40%, var(--border));background:color-mix(in srgb, var(--status-warn) 6%, transparent);border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.teacher-pending-head h3{margin:0;font-size:14px}.teacher-pending-head-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.teacher-pending-rematch{white-space:nowrap;padding:4px 10px;font-size:12px}.teacher-pending-blurb{margin:0;font-size:12px;line-height:1.45}.teacher-pending-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.teacher-pending-row{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:10px 12px;font-size:13px;display:grid}.teacher-pending-main{flex-direction:column;gap:2px;min-width:0;display:flex}.teacher-pending-file{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.teacher-pending-suggestion{color:var(--muted);font-size:12px}.teacher-pending-meta{flex-wrap:wrap;align-items:baseline;gap:12px;font-size:12px;display:flex}.teacher-pending-age{font-family:var(--mono);color:var(--muted);font-size:11px}.teacher-pending-age.is-stale{color:var(--status-warn-strong);font-weight:600}.teacher-pending-row.is-stale{border-left:3px solid color-mix(in srgb, var(--status-warn-strong) 50%, var(--border))}.teacher-pending-alternates{margin:4px 0 0;font-size:11.5px}.teacher-pending-alternate-name{font-weight:600}.teacher-pending-signals{flex-direction:column;grid-column:1/-1;gap:3px;margin:0;padding:0;font-size:11.5px;list-style:none;display:flex}.teacher-pending-signals .signal{gap:8px;padding:3px 0;display:flex}.teacher-pending-signals .signal-kind{font-family:var(--mono);color:var(--muted);flex:none;min-width:180px}.teacher-pending-signals .signal-detail{color:var(--text-h);flex:1}.teacher-pending-actions{flex-direction:column;align-items:stretch;gap:4px;display:flex}.teacher-pending-action{white-space:nowrap;padding:5px 10px;font-size:12px}.teacher-pending-history-toggle{text-align:left;grid-column:1/-1;margin-top:4px;font-size:11.5px}.teacher-audit-empty{color:var(--muted);margin:4px 0 0;font-size:11.5px}.roster-import{flex-direction:column;gap:12px;width:min(640px,92vw);max-height:86vh;display:flex}.roster-help{margin:0 0 4px;font-size:12px;line-height:1.5}.roster-input-row{align-items:center;gap:8px;display:flex}.roster-textarea{width:100%;font-family:var(--mono);border:1px solid var(--border);resize:vertical;border-radius:4px;min-height:120px;padding:8px;font-size:12px}.roster-error{border-left:3px solid var(--status-bad);background:color-mix(in srgb, var(--status-bad) 8%, transparent);margin:0;padding:8px 10px;font-size:12px}.roster-preview{border-top:1px solid var(--border);padding-top:10px}.roster-preview h3{margin:0 0 6px;font-size:13px}.roster-preview-stats{flex-direction:column;gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.roster-warning{color:var(--status-warn);font-weight:500}.roster-warnings{margin-top:8px;font-size:11.5px}.roster-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.roster-result-headline{color:var(--status-good);margin:0 0 8px;font-weight:600}.roster-result-detail{margin:0 0 8px;padding-left:18px;font-size:12.5px}.document-findings{border-left:var(--border-w-accent) solid var(--status-info);padding:var(--space-4) var(--space-4);flex-direction:column;min-height:0;max-height:320px;display:flex}.document-findings-scroll{min-height:0;padding-right:var(--space-1);flex:1;overflow-y:auto}.document-findings-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.document-findings-head h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-m);margin:0;font-size:12.5px;font-weight:600}.document-findings-triage-link{color:var(--status-info);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.document-findings-triage-link:hover{text-decoration:underline}.document-findings-stats{color:var(--text-m);margin:0 0 8px;font-size:12px}.forensic-statistic{--stat-color:var(--muted);border-left:3px solid var(--stat-color);background:color-mix(in srgb, var(--stat-color) 6%, transparent);border-radius:4px;align-items:baseline;gap:10px;margin:0 0 10px;padding:8px 12px;display:flex}.forensic-statistic.tier-none{--stat-color:var(--muted)}.forensic-statistic.tier-low,.forensic-statistic.tier-medium{--stat-color:var(--status-warn)}.forensic-statistic.tier-high{--stat-color:var(--status-bad)}.forensic-statistic-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-m);font-size:11px;font-weight:600}.forensic-statistic-num{font-variant-numeric:tabular-nums;color:var(--stat-color);font-size:22px;font-weight:700;line-height:1}.forensic-statistic-breakdown{margin-left:auto;font-size:11px}.file-row-flag-count{--flag-color:var(--muted);background:color-mix(in srgb, var(--flag-color) 18%, transparent);min-width:22px;height:18px;color:var(--flag-color);font-variant-numeric:tabular-nums;cursor:help;border-radius:9px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.file-row-flag-count.severity-none{--flag-color:var(--muted)}.file-row-flag-count.severity-low,.file-row-flag-count.severity-medium{--flag-color:var(--status-warn)}.file-row-flag-count.severity-high{--flag-color:var(--status-bad)}.document-findings-bucket{border-top:1px dotted var(--border);margin:6px 0 4px;padding-top:6px}.document-findings-bucket:first-of-type{border-top:none;padding-top:0}.document-findings-bucket-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);cursor:help;margin:0 0 3px;font-size:10.5px;font-weight:600}.document-finding-label{font-weight:600}.document-findings-list{flex-direction:column;gap:6px;margin:0 0 8px;padding:0;list-style:none;display:flex}.document-finding{background:color-mix(in srgb, var(--text-h) 4%, transparent);border-radius:4px;padding:6px 10px;font-size:13px;line-height:1.5}.document-finding.tone-warn{border-left:2px solid var(--status-warn);background:color-mix(in srgb, var(--status-warn) 8%, transparent)}.document-findings-note{margin:0;font-size:11.5px;line-height:1.45}.classifier-shadow-block{border-left:2px solid var(--border);background:color-mix(in srgb, var(--text-h) 3%, transparent);margin-top:8px;padding:8px 10px;font-size:11.5px;line-height:1.5}.classifier-shadow-block p{margin:0 0 4px}.classifier-shadow-block .classifier-warning{border-left:2px solid var(--status-warn);color:var(--text-m);padding-left:6px}.toast{background:var(--card-bg);color:var(--text-h);border:1px solid var(--border);z-index:9999;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 20px #00000026}.toast-visible{opacity:1;transform:translateY(0)}.toast-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.toast-close:hover{color:var(--text-h)}.theme-btn{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:14px;display:flex}.theme-btn:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h)}.help-wrap{position:relative}.help-btn{border:1px solid var(--border);width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:13px;display:flex}.help-btn:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h)}.help-popover{z-index:50;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:10px;width:320px;padding:14px 16px;font-size:12.5px;line-height:1.5;position:absolute;top:32px;right:0;box-shadow:0 12px 32px #00000026}@media (prefers-color-scheme:dark){.help-popover{background:var(--card-bg)}}.help-popover strong{color:var(--text-h);margin-bottom:6px;font-size:13px;display:block}.help-popover p{margin:6px 0}.help-popover-shortcuts{flex-direction:column;gap:4px;margin:6px 0;padding:0;list-style:none;display:flex}.help-popover-shortcuts li{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.help-popover-shortcuts kbd{font-family:var(--mono);color:var(--muted);background:color-mix(in srgb, var(--text-h) 6%, transparent);border:1px solid var(--border);text-align:center;border-radius:3px;min-width:14px;padding:1px 5px;font-size:10px;line-height:1.3}.help-popover-divider{border:0;border-top:1px solid var(--border);margin:12px 0 8px}.help-popover-action{border:1px solid var(--border);width:100%;color:var(--text-h);cursor:pointer;text-align:left;background:0 0;border-radius:6px;margin-bottom:6px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:500;display:block}.help-popover-action:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.help-popover-storage{border:1px solid var(--border);background:var(--surface-2,#00000005);border-radius:6px;margin-bottom:8px;padding:10px}.help-popover-storage strong{margin-bottom:4px;font-size:12px;display:block}.help-popover-storage-rows{flex-direction:column;gap:2px;margin-bottom:8px;font-size:11px;display:flex}.help-popover-clear{border:1px solid color-mix(in srgb, var(--status-bad) 35%, var(--border));width:100%;color:var(--status-bad);cursor:pointer;background:0 0;border-radius:6px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:500}.help-popover-clear:hover{background:color-mix(in srgb, var(--status-bad) 10%, transparent)}.help-popover-clear:disabled{opacity:.6;cursor:not-allowed}.help-popover-clear-hint{font-size:11px;line-height:1.4;margin:6px 0 0!important}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:url(/icon.svg) 50%/contain no-repeat;border-radius:6px;flex-shrink:0;width:24px;height:24px;display:inline-block}.brand h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.brand-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-left:4px;font-size:11px}.card{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:12px;padding:12px 14px}@media (prefers-color-scheme:dark){.card{background:var(--card-bg)}}.card h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:11px;font-weight:600}.dropzone{text-align:center;border:1.5px dashed var(--border);cursor:pointer;background:var(--card-bg,#fff);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:64px 24px;transition:border-color .12s,background .12s;display:flex}@media (prefers-color-scheme:dark){.dropzone{background:var(--card-bg)}}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.dropzone-title{color:var(--text-h);margin:0;font-size:18px;font-weight:500}.dropzone-sub{color:var(--muted);margin:0;font-size:13px}.dropzone-tag{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:12px 0 0;font-size:11px}.dropzone-samples{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;margin-top:16px;padding:6px 14px;font-family:inherit;font-size:12.5px;font-weight:500}.dropzone-samples:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent)}.dropzone-samples:disabled{cursor:progress;color:var(--muted);opacity:.7}.status{align-items:center;gap:12px;display:flex}.status p{color:var(--muted);margin:0}.status.error{border-color:color-mix(in srgb, var(--status-bad) 40%, var(--border));background:color-mix(in srgb, var(--status-bad) 5%, transparent);flex-direction:column;align-items:flex-start;gap:12px}.status.error p{color:var(--text-h)}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn-secondary{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;padding:5px 12px;font-size:13px;transition:background .12s}.btn-secondary:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.results{flex-direction:column;gap:16px;display:flex}.verdict{background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);flex-direction:column;flex-shrink:0;max-height:320px;display:flex;position:relative;overflow-y:auto}@media (prefers-color-scheme:dark){.verdict{background:var(--card-bg)}}.verdict:before{content:"";background:var(--band-color,var(--border));height:3px;position:absolute;inset:0 0 auto}.verdict.band-likely-authentic{--band-color:var(--status-good)}.verdict.band-review{--band-color:var(--status-warn)}.verdict.band-high-suspicion{--band-color:var(--status-bad)}.verdict.band-insufficient-data{--band-color:var(--muted)}.verdict-main{min-width:0}.detail-file-header{flex-direction:column;gap:4px;padding:6px 0;display:flex}.detail-file-header-row{align-items:center;gap:12px;display:flex}.detail-file-error{background:color-mix(in srgb, var(--status-bad) 8%, transparent);border-left:3px solid var(--status-bad);color:var(--status-bad-strong);border-radius:4px;margin:0;padding:6px 10px;font-size:12px}.detail-file-name{font-family:var(--mono);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:12.5px;overflow:hidden}.detail-file-actions{flex-shrink:0;gap:4px;display:flex}.detail-file-action{border:1px solid var(--border);color:var(--text-m);cursor:pointer;background:0 0;border-radius:4px;padding:3px 9px;font-size:11px;font-weight:500;transition:background .12s,color .12s,border-color .12s}.detail-file-action:hover:not(:disabled){background:color-mix(in srgb, var(--text-h) 6%, transparent);color:var(--text-h)}.detail-file-action:disabled{opacity:.45;cursor:not-allowed}.detail-file-action-delete:hover:not(:disabled){background:color-mix(in srgb, var(--status-bad) 12%, transparent);color:var(--status-bad);border-color:color-mix(in srgb, var(--status-bad) 30%, var(--border))}.verdict-secondary-label{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:11px;font-weight:600}.verdict-main h2{letter-spacing:-.02em;color:var(--band-color,var(--text-h));margin:0;font-size:20px;line-height:1.2}.verdict-score{align-items:baseline;gap:4px;margin-top:4px;display:flex}.verdict-num{color:var(--band-color,var(--text-h));letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.verdict-of{color:var(--muted);font-size:12px}.verdict-channels{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.verdict-channel{--channel-color:var(--muted);border:1px solid var(--border);border-left:3px solid var(--channel-color);background:color-mix(in srgb, var(--channel-color) 5%, transparent);border-radius:6px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.verdict-channel.band-likely-authentic{--channel-color:var(--status-good)}.verdict-channel.band-review{--channel-color:var(--status-warn)}.verdict-channel.band-high-suspicion{--channel-color:var(--status-bad)}.verdict-channel.band-insufficient-data{--channel-color:var(--muted)}.verdict-channel-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-m);align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.verdict-channel-bias-tag{background:var(--status-warn);color:#fff;cursor:help;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;display:inline-flex}.verdict-channel-cautioned{border-left-color:var(--status-warn)}.verdict-disclosure{margin-top:var(--space-2)}.verdict-disclosure-summary{cursor:pointer;font-size:var(--fs-sm);font-weight:var(--weight-semibold);color:var(--muted);padding:var(--space-1) 0;align-items:center;gap:var(--space-1);-webkit-user-select:none;user-select:none;list-style:none;display:inline-flex}.verdict-disclosure-summary::-webkit-details-marker{display:none}.verdict-disclosure-summary:before{content:"▸";color:var(--muted);transition:transform var(--duration-fast) var(--ease-out);font-size:10px;display:inline-block}.verdict-disclosure[open] .verdict-disclosure-summary:before{transform:rotate(90deg)}.verdict-disclosure-summary:hover{color:var(--text-h)}.verdict-disclosure-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.verdict-disclosure-body{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.verdict-bias-warning{padding:var(--space-2) var(--space-3);border-left:var(--border-w-accent) solid var(--status-warn);background:var(--status-warn-bg);font-size:var(--fs-sm);line-height:var(--lh-normal);border-radius:var(--radius-sm);color:var(--text);margin:0}.verdict-bias-warning strong{color:var(--status-warn)}.verdict-channel-hint{width:16px;height:16px;margin-left:var(--space-1);border:var(--border-w) solid var(--border);border-radius:var(--radius-pill);color:var(--muted);font-size:10px;font-weight:var(--weight-semibold);cursor:help;transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;display:inline-flex}.verdict-channel-hint:hover,.verdict-channel-hint:focus-visible{color:var(--text-h);border-color:var(--accent);outline:none}.verdict-channel-agreement{margin:8px 0 0;font-size:11.5px;font-style:italic;line-height:1.4}.verdict-channel-num{color:var(--channel-color);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1}.verdict-channel-band{color:var(--channel-color);font-size:12px;font-weight:600}.verdict-channel-meta{font-size:10.5px}.verdict-channel-empty-hint{color:var(--muted);margin-top:2px;font-size:11.5px;line-height:1.35}.verdict-channel-track{background:color-mix(in srgb, var(--text-h) 8%, transparent);border-radius:2px;height:4px;margin-top:2px;position:relative;overflow:hidden}.verdict-channel-fill{background:var(--channel-color);height:100%;transition:width .2s;position:absolute;top:0;left:0}.verdict-channel-ci{background:color-mix(in srgb, var(--channel-color) 30%, transparent);border-left:1px solid var(--channel-color);border-right:1px solid var(--channel-color);height:100%;position:absolute;top:0}.verdict-prompt-fit{letter-spacing:.02em;text-transform:uppercase;cursor:help;white-space:nowrap;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:600}.verdict-prompt-fit.fit-low{color:var(--status-bad);background:color-mix(in srgb, var(--status-bad) 12%, transparent)}.verdict-prompt-fit.fit-mid{color:var(--status-warn);background:color-mix(in srgb, var(--status-warn) 12%, transparent)}.verdict-prompt-fit.fit-high{color:var(--status-good);background:color-mix(in srgb, var(--status-good) 12%, transparent)}.verdict-baseline{cursor:help;border-radius:6px;align-items:center;gap:6px;margin:8px 0 0;padding:3px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.verdict-baseline-icon{font-size:13px;font-weight:700;line-height:1}.verdict-baseline.baseline-match{color:var(--status-good);background:color-mix(in srgb, var(--status-good) 10%, transparent)}.verdict-baseline.baseline-drift{color:var(--status-warn);background:color-mix(in srgb, var(--status-warn) 10%, transparent)}.verdict-baseline.baseline-mismatch{color:var(--status-bad);background:color-mix(in srgb, var(--status-bad) 10%, transparent)}.verdict-track{background:var(--border);border-radius:999px;height:5px;margin-top:8px;position:relative}.verdict-fill{background:var(--band-color,var(--muted));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.2,0,0,1)}.verdict-track-ci{background:color-mix(in srgb, var(--band-color,var(--muted)) 22%, transparent);border:1px solid color-mix(in srgb, var(--band-color,var(--muted)) 60%, transparent);pointer-events:none;border-radius:999px;height:9px;position:absolute;top:-2px}.verdict-stats{color:var(--muted);font-variant-numeric:tabular-nums;cursor:help;margin:8px 0 0;font-size:11px}.verdict-blurb{font-size:var(--fs-sm);color:var(--text-m);line-height:var(--lh-normal);margin:0}.verdict-export{align-self:flex-start;margin-top:10px;padding:4px 12px;font-size:11.5px}.verdict-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.verdict-actions .btn-secondary{padding:4px 12px;font-size:11.5px}.verdict-delete{color:var(--status-bad);border-color:color-mix(in srgb, var(--status-bad) 35%, var(--border));margin-left:auto}.verdict-delete:hover{background:color-mix(in srgb, var(--status-bad) 10%, transparent)}.notes-panel{flex-shrink:0}.notes-panel h3{margin:0 0 8px}.notes-textarea{border:1px solid var(--border);width:100%;min-height:60px;color:var(--text-h);font-family:var(--sans);resize:vertical;box-sizing:border-box;background:0 0;border-radius:6px;padding:8px 10px;font-size:13px;line-height:1.5}.notes-textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:-1px}.notes-status{text-align:right;font-variant-numeric:tabular-nums;margin-top:6px;font-size:10.5px}.notes-saved{color:var(--status-good);font-weight:600}.ocr-banner{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.ocr-banner-title{color:var(--text-h);margin:0;font-size:12.5px;font-weight:600}.ocr-banner-sub{color:var(--muted);margin:2px 0 0;font-size:11.5px;line-height:1.4}.ocr-banner.ocr-running{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));background:color-mix(in srgb, var(--accent) 5%, transparent);align-items:center}.ocr-banner.ocr-running p{color:var(--text-h);margin:0;font-size:12.5px}.ocr-banner.ocr-error{border-color:color-mix(in srgb, var(--status-bad) 30%, var(--border));background:color-mix(in srgb, var(--status-bad) 5%, transparent)}.ocr-banner.ocr-error p{color:var(--text-h);margin:0;font-size:12.5px}.preview-modal{width:100%;max-width:1300px;height:calc(100dvh - var(--space-7));background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.preview-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:var(--border-w) solid var(--border);flex-shrink:0;display:flex}.preview-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.preview-mode-switch{border:1px solid var(--border);background:color-mix(in srgb, var(--text-h) 4%, transparent);border-radius:8px;padding:2px;display:inline-flex}.preview-mode-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-family:inherit;font-size:11.5px}.preview-mode-btn.is-active{background:var(--card-bg,#fff);color:var(--text-h);font-weight:600;box-shadow:0 1px 2px #0000001a}@media (prefers-color-scheme:dark){.preview-mode-btn.is-active{background:var(--paper-bg)}}.preview-title{align-items:center;gap:10px;min-width:0;display:flex}.preview-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.preview-name{font-family:var(--mono);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.preview-body-wrap{flex:1;min-height:0;display:flex}.preview-body{background:color-mix(in srgb, var(--text-h) 4%, transparent);flex:1;min-width:0;min-height:0;overflow:auto}.preview-annotations-rail{border-left:var(--border-w) solid var(--border);background:var(--card-bg);width:248px;padding:var(--space-4);flex-shrink:0;overflow-y:auto}.preview-annotations-rail h3{margin:0 0 4px;font-size:13px}.preview-annotations-summary{margin:0 0 12px;font-size:11px}.preview-annotations-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.preview-annotations-row.is-muted{opacity:.4}.preview-annotations-toggle-row{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:0;font-family:inherit;display:flex}.preview-annotations-swatch{border:1px solid var(--border);border-radius:3px;flex-shrink:0;width:14px;height:14px}.preview-annotations-label{color:var(--text-h);flex:1;font-size:12.5px;font-weight:500}.preview-annotations-count{font-family:var(--mono);color:var(--muted);background:color-mix(in srgb, var(--text-h) 7%, transparent);border-radius:999px;padding:1px 6px;font-size:10.5px}.preview-annotations-desc{margin:4px 0 0 22px;font-size:11px;line-height:1.4}.preview-annotations-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;margin-right:8px;padding:5px 10px;font-family:inherit;font-size:12px}.preview-annotations-toggle:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.preview-annotations-toggle.is-active{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));color:var(--accent)}@media (width<=900px){.preview-annotations-rail{display:none}}.renderer-loading,.renderer-error,.renderer-note{padding:12px 16px;font-size:12px}.renderer-text-wrap{width:100%;max-width:880px;padding:16px 24px}.math-block{margin:var(--space-3) 0;text-align:center;display:block;overflow-x:auto}.math-inline{vertical-align:middle;display:inline-block}.math-error{color:var(--status-bad);background:var(--status-bad-bg);padding:0 var(--space-1);border-radius:var(--radius-sm);font-family:var(--mono);font-size:.92em}@media (prefers-color-scheme:dark){.katex{color:var(--text-h)}}.renderer-tex{width:100%;max-width:880px;padding:var(--space-4) var(--space-5);font-family:var(--sans);color:var(--text-h);font-size:14px;line-height:1.6}.renderer-tex h1,.renderer-tex h2,.renderer-tex h3,.renderer-tex h4{margin-top:var(--space-5);margin-bottom:var(--space-2);color:var(--text-h)}.renderer-tex h1{font-size:var(--fs-3xl)}.renderer-tex h2{font-size:var(--fs-2xl)}.renderer-tex h3{font-size:var(--fs-xl)}.renderer-tex h4{font-size:var(--fs-lg)}.renderer-tex p{margin:0 0 var(--space-3)}.renderer-tex ul,.renderer-tex ol{padding-left:var(--space-5);margin:0 0 var(--space-3)}.renderer-tex .tex-author{margin-top:calc(-1 * var(--space-2));margin-bottom:var(--space-4);font-style:italic}.pages-renderer{width:100%;padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.pages-renderer-note{width:100%;max-width:760px;font-size:var(--fs-sm)}.pages-renderer-page{background:var(--card-bg);border:var(--border-w) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2);width:100%;max-width:880px}.pages-renderer-image{border-radius:var(--radius-sm);width:100%;height:auto;display:block}.renderer-text{font-family:var(--sans);color:var(--text-h);white-space:pre-wrap;word-break:break-word;background:0 0;margin:0;padding:0;font-size:13.5px;line-height:1.6}.renderer-markdown{background:var(--card-bg,#fff);width:100%;max-width:760px;color:var(--text-h);border-radius:6px;margin:16px;padding:24px 32px;font-size:14px;line-height:1.65}@media (prefers-color-scheme:dark){.renderer-markdown{background:var(--card-bg-elevated)}}.renderer-markdown h1,.renderer-markdown h2,.renderer-markdown h3{margin-top:1.4em;margin-bottom:.4em}.renderer-markdown h1{font-size:1.6em}.renderer-markdown h2{font-size:1.3em}.renderer-markdown h3{font-size:1.1em}.renderer-markdown code{background:color-mix(in srgb, var(--text-h) 8%, transparent);font-size:.9em;font-family:var(--mono);border-radius:3px;padding:1px 5px}.renderer-markdown pre{background:color-mix(in srgb, var(--text-h) 6%, transparent);border-radius:6px;padding:12px;font-size:12.5px;overflow-x:auto}.renderer-markdown ul,.renderer-markdown ol{padding-left:1.6em}.renderer-markdown blockquote{border-left:3px solid var(--border);color:var(--muted);margin:.6em 0;padding-left:12px}.renderer-docx-wrap{justify-content:center;width:100%;max-width:800px;padding:24px;display:flex}.renderer-docx{background:var(--card-bg,#fff);width:100%;color:var(--text-h);border-radius:4px;padding:56px 64px;font-family:Times New Roman,Georgia,serif;font-size:14px;line-height:1.6;box-shadow:0 2px 8px #00000014}@media (prefers-color-scheme:dark){.renderer-docx{background:var(--paper-bg);box-shadow:0 2px 8px #0000004d}}.renderer-docx h1,.renderer-docx h2,.renderer-docx h3{font-family:var(--sans);margin-top:1em;margin-bottom:.4em}.renderer-docx p{margin:0 0 1em}.renderer-docx ul,.renderer-docx ol{margin:0 0 1em;padding-left:1.6em}.renderer-docx table{border-collapse:collapse;margin:1em 0}.renderer-docx td,.renderer-docx th{border:1px solid var(--border);padding:6px 10px}.renderer-pdf-wrap{flex-direction:column;align-items:center;width:100%;padding:16px 0;display:flex}.renderer-pdf{flex-direction:column;align-items:center;gap:12px;display:flex}.renderer-pdf-page{background:#fff;position:relative;box-shadow:0 2px 8px #00000026}.renderer-pdf-page canvas{display:block}.renderer-pdf-textlayer{pointer-events:auto;-webkit-user-select:text;user-select:text;color:#0000;line-height:1;position:absolute;top:0;left:0}.renderer-pdf-textlayer mark{color:#0000;background:#facc1599;border-radius:1px}.renderer-pdf-textlayer mark.is-active{outline:2px solid color-mix(in srgb, var(--status-warn) 70%, transparent);background:#facc15e6}.renderer-xlsx-wrap{flex-direction:column;gap:8px;width:100%;padding:12px;display:flex;overflow:auto}.renderer-xlsx-tabs{flex-wrap:wrap;gap:4px;padding:0 4px;display:flex}.renderer-xlsx-tab{border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-bottom-color:#0000;border-radius:4px 4px 0 0;padding:4px 12px;font-family:inherit;font-size:12px}.renderer-xlsx-tab.is-active{background:var(--card-bg,#fff);color:var(--text-h);font-weight:600}@media (prefers-color-scheme:dark){.renderer-xlsx-tab.is-active{background:var(--paper-bg)}}.renderer-xlsx{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:0 6px 6px;max-width:100%;overflow:auto}@media (prefers-color-scheme:dark){.renderer-xlsx{background:var(--paper-bg)}}.renderer-xlsx table{border-collapse:collapse;font-size:12px;font-family:var(--mono)}.renderer-xlsx td,.renderer-xlsx th{border:1px solid var(--border);white-space:nowrap;color:var(--text-h);padding:4px 8px}.renderer-xlsx tr:first-child td{background:color-mix(in srgb, var(--text-h) 4%, transparent);font-weight:600}.renderer-xlsx-grid-wrap{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:0 6px 6px;flex:1;min-height:400px;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.renderer-xlsx-grid-wrap{background:var(--paper-bg)}}.renderer-xlsx-grid-wrap .rg-cell{font-size:12px;font-family:var(--sans);border-color:var(--border)!important}.renderer-xlsx-grid-wrap .rg-pane{background:var(--card-bg,#fff)}@media (prefers-color-scheme:dark){.renderer-xlsx-grid-wrap .rg-pane{background:var(--paper-bg)}.renderer-xlsx-grid-wrap .rg-cell{color:var(--text-h)}}.renderer-pptx-wrap{flex-direction:column;gap:12px;width:100%;max-width:880px;padding:16px;display:flex}.renderer-pptx{flex-direction:column;gap:16px;display:flex}.renderer-pptx-slide{background:var(--card-bg,#fff);border:1px solid var(--border);aspect-ratio:16/9;border-radius:8px;flex-direction:column;width:100%;padding:32px 40px 24px;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014}@media (prefers-color-scheme:dark){.renderer-pptx-slide{background:var(--paper-bg)}}.renderer-pptx-slide-num{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:600;position:absolute;top:10px;right:14px}.renderer-pptx-slide-body{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex;overflow:auto}.renderer-pptx-slide-images{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.renderer-pptx-slide-images img{border:1px solid var(--border);object-fit:contain;border-radius:4px;max-width:100%;max-height:50%}.renderer-pptx-slide-text{font-size:18px;line-height:1.45}.renderer-pptx-slide-text p{color:var(--text-h);margin:0 0 10px}.renderer-pptx-slide-text p:first-child{margin-bottom:18px;font-size:28px;font-weight:700;line-height:1.2}.renderer-docx mark,.renderer-markdown mark,.renderer-text+mark,.renderer-text mark,pre.renderer-text mark{color:inherit;background:#facc1580;border-radius:2px;padding:0 2px}.renderer-docx mark.is-active,.renderer-markdown mark.is-active,pre.renderer-text mark.is-active{outline:2px solid color-mix(in srgb, var(--status-warn) 60%, transparent);background:#facc15e6}.verdict-concerns{border-left:1px solid var(--border);flex-direction:column;padding-left:24px;display:flex}.verdict-concerns h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:600}.verdict-concerns ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.verdict-concerns li{align-items:center;gap:8px;font-size:13px;display:flex}.concern-label{color:var(--text-h);flex:1;font-weight:500}.concern-points{font-family:var(--mono);color:var(--band-color,var(--muted));font-variant-numeric:tabular-nums;font-size:12px}.verdict-concerns p{margin:0;font-size:13px}.detail-grid{grid-template-columns:1fr 1.2fr;align-items:start;gap:16px;display:grid}@container (width<=720px){.detail-grid{grid-template-columns:1fr}}.verdict{container-type:inline-size}@container (width<=560px){.verdict{grid-template-columns:1fr;gap:16px}.verdict-concerns{border-left:none;border-top:1px solid var(--border);padding-top:16px;padding-left:0}}.metadata{container-type:inline-size}.severity-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.severity-dot.severity-high{background:var(--status-bad)}.severity-dot.severity-medium{background:var(--status-warn)}.severity-dot.severity-low{background:var(--accent)}.severity-dot.severity-ok{background:var(--status-good)}.detail-panel .signals{flex:1;min-height:0;overflow-y:auto}.signals-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.signals-header h3{margin:0}.signals-toggle-all{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:12px}.signals-toggle-all:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h)}.signals-categories{flex-direction:column;gap:8px;display:flex}.signal-category{border:1px solid var(--border);background:var(--card-bg,#fff);border-radius:10px;overflow:hidden}.signal-channel-file-forensic{border-left:3px solid var(--status-warn)}.signal-channel-text-forensic{border-left:3px solid var(--status-info)}@media (prefers-color-scheme:dark){.signal-category{background:var(--card-bg-elevated)}}.signal-category.severity-high{border-color:color-mix(in srgb, var(--status-bad) 35%, var(--border));box-shadow:inset 4px 0 0 0 var(--status-bad)}.signal-category.severity-medium{border-color:color-mix(in srgb, var(--status-warn) 35%, var(--border));box-shadow:inset 4px 0 0 0 var(--status-warn)}.signal-category.severity-low{border-color:color-mix(in srgb, var(--accent) 30%, var(--border));box-shadow:inset 4px 0 0 0 var(--accent)}.signal-category.severity-ok{box-shadow:inset 4px 0 #0000}.signal-category-head{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px 14px 22px;font-family:inherit;display:grid}.signal-category-head:hover{background:color-mix(in srgb, var(--text-h) 3%, transparent)}.signal-category.is-open .signal-category-head{border-bottom:1px solid var(--border)}.signal-category-text{flex-direction:column;gap:4px;min-width:0;display:flex}.signal-category-name{color:var(--text-h);letter-spacing:-.01em;font-size:14.5px;font-weight:600;line-height:1.2}.signal-category-preview{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12.5px;line-height:1.3;overflow:hidden}.signal-category-meta{align-items:center;gap:12px;display:inline-flex}.signal-category-count{color:var(--muted);font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--text-h) 7%, transparent);text-align:center;border-radius:999px;min-width:22px;padding:2px 9px;font-size:11.5px;font-weight:600}.signal-category-points{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;min-width:32px;font-size:13.5px;font-weight:700}.signal-category-points.pos{color:var(--status-bad)}.signal-category-points.neg{color:var(--status-good)}.signal-category-caret{color:var(--text-h);text-align:center;opacity:.55;width:18px;font-size:11px;transition:transform .12s,opacity .12s}.signal-category-head:hover .signal-category-caret{opacity:.9}.signal-category-list{margin:0;padding:4px 0;list-style:none}.signal-category-list .signal{background:0 0;border:none;padding:12px 18px 12px 22px}.signal-category-list .signal+.signal{border-top:1px solid var(--border)}.signal-category-list .signal-row{align-items:center;gap:10px;font-size:13.5px;display:flex}.signal-category-list .signal-label{color:var(--text-h);font-weight:500}.signal-category-list .signal-points{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.signal-category-list .signal-detail{color:var(--muted);margin:6px 0 0 18px;font-size:12.5px;line-height:1.55}.signal-category-list .signal-meta{font-size:10.5px;font-family:var(--mono);letter-spacing:.02em;cursor:help;opacity:.85;margin:4px 0 0 18px}.signals ul{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.signal{border-top:1px solid var(--border);padding:8px 0}.signal:first-child{border-top:none;padding-top:0}.signal-row{align-items:center;gap:8px;display:flex}.signal-label{color:var(--text-h);flex:1;font-size:13px;font-weight:500}.signal-points{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.signal-detail{color:var(--muted);margin:2px 0 0 16px;font-size:12px;line-height:1.45}.warning{border:1px solid color-mix(in srgb, var(--status-warn) 35%, var(--border));background:color-mix(in srgb, var(--status-warn) 6%, transparent);color:var(--text-h);border-radius:8px;margin:0 0 12px;padding:10px 12px;font-size:12.5px;line-height:1.5}.warning code{background:color-mix(in srgb, var(--status-warn) 14%, transparent);border-radius:3px;padding:1px 4px;font-size:11.5px}.meta-grid{flex-direction:column;gap:14px;display:flex}.meta-group{flex-direction:column;gap:4px;display:flex}.meta-group h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--border);margin:0 0 4px;padding-bottom:4px;font-size:10px;font-weight:600}.meta-group dl{flex-direction:column;gap:1px;margin:0;display:flex}.meta-row{grid-template-columns:100px minmax(0,1fr);align-items:baseline;gap:10px;padding:3px 0;display:grid}.metadata dt{color:var(--muted);white-space:nowrap;margin:0;font-size:11px;font-weight:500}.metadata dd{color:var(--text-h);font-variant-numeric:tabular-nums;word-break:break-word;white-space:normal;text-align:right;margin:0;font-size:12px;line-height:1.35}@container (width>=360px){.meta-row{grid-template-columns:110px minmax(0,1fr)}.metadata dd{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}.workspace{flex:1;grid-template-rows:1fr;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(260px,300px);gap:12px;min-height:0;display:grid;position:relative}.workspace.dragging:after{content:"";border:2px dashed var(--accent);pointer-events:none;background:color-mix(in srgb, var(--accent) 4%, transparent);border-radius:14px;position:absolute;inset:-6px}.file-list-wrap{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:12px;flex-direction:column;min-width:0;min-height:0;padding:12px;display:flex;overflow:hidden}@media (prefers-color-scheme:dark){.file-list-wrap{background:var(--card-bg)}}.file-list-header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.file-list-header h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0;font-size:11px;font-weight:600}.file-list-add{cursor:pointer;padding:3px 10px;font-size:11.5px}.file-list-actions{gap:4px;display:flex}.file-list-tag-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:3px 10px;font-family:inherit;font-size:11.5px}.file-list-tag-btn:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h)}.file-list-search-wrap{flex-shrink:0;margin-bottom:8px;position:relative}.file-list-search{border:1px solid var(--border);width:100%;color:var(--text-h);box-sizing:border-box;background:0 0;border-radius:6px;padding:5px 26px 5px 10px;font-family:inherit;font-size:12px}.file-list-search:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:-1px}.file-list-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-size:14px;line-height:1;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.file-list-search-clear:hover{color:var(--text-h);background:color-mix(in srgb, var(--text-h) 6%, transparent)}.file-list-search-kbd{font-family:var(--mono);color:var(--muted);background:color-mix(in srgb, var(--text-h) 6%, transparent);border:1px solid var(--border);pointer-events:none;border-radius:3px;padding:1px 5px;font-size:10px;line-height:1.3;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.file-list-search:focus+.file-list-search-kbd{opacity:0}.file-list-filter-chips{flex-shrink:0;gap:4px;margin-bottom:8px;display:flex}.file-list-chip{border:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;padding:3px 8px;font-family:inherit;font-size:10.5px;font-weight:600;display:inline-flex}.file-list-chip-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.file-list-chip-count{font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--text-h) 8%, transparent);letter-spacing:0;text-transform:none;border-radius:999px;min-width:16px;padding:0 6px;font-size:10px}.file-list-chip.is-active .file-list-chip-count{background:color-mix(in srgb, var(--text-h) 18%, transparent);color:var(--text-h)}.file-list-chip.chip-flagged.is-active .file-list-chip-count{background:color-mix(in srgb, var(--status-warn) 25%, transparent);color:var(--status-warn)}.file-list-chip.chip-authentic.is-active .file-list-chip-count{background:color-mix(in srgb, var(--status-good) 25%, transparent);color:var(--status-good)}.file-list-chip.chip-errors.is-active .file-list-chip-count{background:color-mix(in srgb, var(--status-bad) 25%, transparent);color:var(--status-bad)}.file-list-chip:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.file-list-chip.is-active{background:color-mix(in srgb, var(--text-h) 8%, transparent);color:var(--text-h);border-color:color-mix(in srgb, var(--text-h) 20%, var(--border))}.file-list-chip.chip-flagged.is-active{color:var(--status-warn);border-color:color-mix(in srgb, var(--status-warn) 50%, var(--border));background:color-mix(in srgb, var(--status-warn) 10%, transparent)}.file-list-chip.chip-authentic.is-active{color:var(--status-good);border-color:color-mix(in srgb, var(--status-good) 50%, var(--border));background:color-mix(in srgb, var(--status-good) 10%, transparent)}.file-list-chip.chip-errors.is-active{color:var(--status-bad);border-color:color-mix(in srgb, var(--status-bad) 50%, var(--border));background:color-mix(in srgb, var(--status-bad) 10%, transparent)}.file-row-note-icon{vertical-align:middle;margin-left:6px;font-size:10px;display:inline-block}.file-list{flex-direction:column;flex:1;gap:3px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.file-list-virtual-scroll{flex:1;min-height:0;position:relative;overflow-y:auto}.file-list-virtual-spacer{width:100%;position:relative}.file-list-virtual-row{contain:layout paint}.file-list-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px 16px;display:flex}.file-list-empty p{color:var(--muted);margin:0;font-size:12.5px}.file-list-empty .btn-secondary{padding:4px 10px;font-size:11.5px}.file-row{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 9px;font-family:inherit;font-size:12.5px;transition:background .1s;display:grid}.file-row:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.file-row.is-active{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.file-row--parsing,.file-row--error{color:var(--muted);align-items:center;gap:8px;padding:7px 9px;font-size:12.5px;display:flex}.file-row--error{color:var(--status-bad)}.file-row-flag{text-align:center;color:var(--muted);font-size:13px;line-height:1}.file-row-flag.severity-none{color:var(--status-good)}.file-row-flag.severity-low,.file-row-flag.severity-medium{color:var(--status-warn)}.file-row-flag.severity-high{color:var(--status-bad)}.file-row-body{flex-direction:column;min-width:0;display:flex}.file-row-name{font-family:var(--mono);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.file-row-meta{align-items:baseline;gap:5px;min-width:0;margin-top:1px;display:flex}.file-row-student{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:110px;padding:0 3px;font-size:11px;font-weight:500;overflow:hidden}.file-row-student.is-clickable{cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text-h) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text-h) 30%, transparent);text-underline-offset:2px;text-decoration-thickness:1px}.file-row-student.is-clickable:hover{background:color-mix(in srgb, var(--accent) 14%, transparent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.file-row-meta-sep{color:var(--muted);flex-shrink:0;font-size:11px}.file-row-attribution{letter-spacing:.02em;border:1px solid var(--border);text-transform:uppercase;border-radius:999px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:600;display:inline-block}.file-row-attribution-high{background:color-mix(in srgb, var(--status-good) 14%, transparent);border-color:color-mix(in srgb, var(--status-good) 30%, var(--border));color:#166534}.file-row-attribution-low{background:color-mix(in srgb, var(--status-warn-strong) 14%, transparent);border-color:color-mix(in srgb, var(--status-warn-strong) 30%, var(--border));color:var(--status-warn-strong)}.file-row-baseline-badge{letter-spacing:.02em;border:1px solid var(--border);text-transform:uppercase;border-radius:999px;margin-left:4px;padding:0 5px;font-size:9.5px;font-weight:600;line-height:1.6;display:inline-block}.file-row-baseline-badge.baseline-pending{border-color:color-mix(in srgb, #d97706 30%, var(--border));color:#b45309;background:#d9770624}.file-row-baseline-badge.baseline-rejected{border-color:color-mix(in srgb, #6b7280 30%, var(--border));color:#4b5563;background:#6b728024}.file-row-baseline-control{gap:3px;margin-left:4px;display:inline-flex;position:relative}.file-row-baseline-accept,.file-row-baseline-reject{border:1px solid var(--border);background:var(--surface,#fff);cursor:pointer;letter-spacing:.02em;text-transform:uppercase;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.5}.file-row-baseline-accept{border-color:color-mix(in srgb, #16a34a 35%, var(--border));color:#166534;background:#16a34a1f}.file-row-baseline-accept:hover{background:#16a34a38}.file-row-baseline-reject{border-color:color-mix(in srgb, #dc2626 30%, var(--border));color:#991b1b;background:#dc26261a}.file-row-baseline-reject:hover{background:#dc26262e}.theme-dark .file-row-baseline-accept{color:#4ade80}.theme-dark .file-row-baseline-reject{color:#fca5a5}.baseline-accept-popover{z-index:1000;background:var(--surface,#fff);border:1px solid var(--border);border-radius:8px;width:280px;max-width:calc(100vw - 32px);padding:12px;position:fixed;box-shadow:0 6px 20px #0000002e}.baseline-accept-popover-title{margin-bottom:6px;font-weight:600}.baseline-accept-headline{background:color-mix(in srgb, var(--accent,#2563eb) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent,#2563eb) 25%, var(--border));border-radius:6px;margin:4px 0 8px;padding:6px 8px;font-size:13px}.baseline-accept-stats{margin:6px 0;padding:0;font-size:12px;list-style:none}.baseline-accept-stats li{font-variant-numeric:tabular-nums;padding:2px 0}.baseline-accept-popover-actions{gap:6px;margin-top:8px;display:flex}.file-row-band{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;font-size:10.5px}.file-row.band-review .file-row-band{color:var(--status-warn)}.file-row.band-high-suspicion .file-row-band{color:var(--status-bad)}.file-row-score{font-variant-numeric:tabular-nums;color:var(--text-h);cursor:help;font-size:13px;font-weight:700}.file-row-score-pair{font-variant-numeric:tabular-nums;cursor:help;flex-direction:column;gap:1px;line-height:1.15;display:inline-flex}.file-row-score-channel{--row-channel-color:var(--muted);align-items:baseline;gap:4px;font-size:11px;display:inline-flex}.file-row-score-channel.band-likely-authentic{--row-channel-color:var(--status-good)}.file-row-score-channel.band-review{--row-channel-color:var(--status-warn)}.file-row-score-channel.band-high-suspicion{--row-channel-color:var(--status-bad)}.file-row-score-channel.band-insufficient-data{--row-channel-color:var(--muted)}.file-row-score-channel.is-empty{opacity:.55}.file-row-score-channel-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;min-width:24px;font-size:9px;font-weight:600}.file-row-score-channel-num{color:var(--row-channel-color);font-variant-numeric:tabular-nums;text-align:right;min-width:32px;font-size:12px;font-weight:700}.file-row-score-channel.is-empty .file-row-score-channel-num{color:var(--muted);font-weight:600}.file-row-score-pct{opacity:.65;margin-left:1px;font-size:9px;font-weight:600}.file-row.band-likely-authentic .file-row-score{color:var(--status-good)}.file-row.band-review .file-row-score{color:var(--status-warn)}.file-row.band-high-suspicion .file-row-score{color:var(--status-bad)}.pending-attribution-banner{border-left:3px solid color-mix(in srgb, var(--status-warn-strong) 50%, var(--border));background:color-mix(in srgb, var(--status-warn-strong) 7%, transparent);border-radius:4px;flex-direction:column;gap:8px;padding:10px 12px;font-size:13px;display:flex}.pending-attribution-text{line-height:1.45}.pending-attribution-actions{gap:8px;display:flex}.pending-attribution-action{white-space:nowrap;padding:5px 12px;font-size:12px}.pending-attribution-why{margin-left:auto;font-size:12px}.pending-attribution-signals{background:color-mix(in srgb, var(--text-h) 4%, transparent);border-radius:4px;flex-direction:column;gap:3px;margin:0;padding:6px 10px;font-size:11.5px;list-style:none;display:flex}.pending-attribution-signals .signal{gap:8px;padding:2px 0;display:flex}.pending-attribution-signals .signal-kind{font-family:var(--mono);color:var(--muted);flex:none;min-width:200px}.pending-attribution-signals .signal-detail{flex:1}.detail-panel{gap:var(--space-3);scrollbar-gutter:stable;flex-direction:column;grid-column:2;min-width:0;height:100%;min-height:0;display:flex;overflow-y:auto;container-type:inline-size}.detail-empty{border:1px dashed var(--border);text-align:center;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:12px;padding:32px 24px;font-size:14px;display:flex}.detail-empty-card{flex-direction:column;align-items:center;gap:16px;max-width:380px;display:flex}.detail-empty-headline{color:var(--text-h);margin:0;font-size:14px;font-weight:600}.detail-empty-tips{text-align:left;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.detail-empty-tips li{color:var(--text);font-size:12.5px;line-height:1.5}.detail-empty-tips kbd{font-family:var(--mono);color:var(--muted);background:color-mix(in srgb, var(--text-h) 6%, transparent);border:1px solid var(--border);text-align:center;border-radius:3px;min-width:14px;padding:1px 5px;font-size:10px;line-height:1.3;display:inline-block}.right-rail{flex-direction:column;grid-column:3;gap:12px;height:100%;min-height:0;display:flex}.right-rail .ad-slot--placeholder{flex-shrink:0;justify-content:center;min-height:200px}.right-rail .metadata{flex:1;min-height:0;overflow-y:auto}.student-summary{flex-shrink:0}.student-summary-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.student-summary-head h3{color:var(--text-h);letter-spacing:-.01em;text-transform:none;margin:0;font-size:13px;font-weight:600}.student-summary-profile-link{color:var(--accent);white-space:nowrap;font-size:11px;font-weight:600;text-decoration:none}.student-summary-profile-link:hover{text-decoration:underline}.student-summary h3{color:var(--text-h);letter-spacing:-.01em;text-transform:none;margin:0 0 10px;font-size:13px;font-weight:600}.student-summary-stats{background:color-mix(in srgb, var(--text-h) 3%, transparent);border-radius:6px;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;padding:8px;display:grid}.student-summary-stats .stat{flex-direction:column;align-items:center;gap:2px;display:flex}.student-summary-stats .stat-num{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;line-height:1.1}.student-summary-stats .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;font-weight:600}.student-summary-baseline{color:var(--muted);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:6px;padding:6px 0;font-size:11px;display:flex}.student-summary-baselines{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:6px;padding:6px 0;display:flex}.student-summary-baseline-pill{border:1px solid var(--border);color:var(--muted);background:var(--surface);white-space:nowrap;cursor:help;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.student-summary-baseline-pill.severity-ok{color:#16a34a;border-color:#16a34a66}.student-summary-baseline-pill.severity-low{color:#d97706;border-color:#d9770666}.student-summary-baseline-pill.severity-high{color:#dc2626;border-color:#dc262666}.student-summary-baseline-pill.is-clickable{cursor:pointer;appearance:none;font-family:inherit}.student-summary-baseline-pill.is-clickable:hover:not(:disabled){filter:brightness(.95)}.student-summary-baseline-pill.is-clickable:disabled{opacity:.5;cursor:not-allowed}.student-longitudinal-modal{flex-direction:column;width:100%;max-width:720px;max-height:85vh;display:flex}.student-longitudinal-sub{margin:2px 0 0;font-size:12px}.student-longitudinal-body{flex:1;min-height:0;padding:12px 16px;overflow-y:auto}.student-longitudinal-stats{border:1px solid var(--border);background:var(--surface-2,#00000005);border-radius:6px;gap:12px;margin-bottom:16px;padding:10px 12px;display:flex}.student-longitudinal-stats .stat{text-align:center;flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.student-longitudinal-stats .stat-num{color:var(--text);font-size:20px;font-weight:600}.student-longitudinal-stats .stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}.student-longitudinal-section{margin-bottom:20px}.student-longitudinal-section h3{margin:0 0 4px;font-size:13px}.student-longitudinal-section-sub{margin:0 0 8px;font-size:11px}.student-longitudinal-table{border-collapse:collapse;width:100%;font-size:12px}.student-longitudinal-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:6px 8px;font-size:11px;font-weight:500}.student-longitudinal-table td{border-bottom:1px solid var(--border);padding:6px 8px}.student-longitudinal-table tr.is-pending{opacity:.5}.student-longitudinal-threshold{color:var(--muted);background:#0000000f;border-radius:999px;padding:1px 8px;font-size:11px;display:inline-block}.student-longitudinal-threshold.is-ready{color:#16a34a;background:#16a34a26}.student-longitudinal-entries{margin:0;padding:0;list-style:none}.student-longitudinal-entry{border-bottom:1px solid var(--border);padding:10px 0}.student-longitudinal-entry.is-excluded{opacity:.55}.student-longitudinal-entry.is-tombstoned{opacity:.45}.student-longitudinal-entry-tombstone{color:var(--status-warn);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.student-longitudinal-entry-toggle.is-disabled{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;cursor:help;background:0 0;padding:2px 6px;font-size:10px}.student-longitudinal-entry.is-active{background:#6366f114;border-radius:4px;margin:0 -8px;padding-left:8px;padding-right:8px}.student-longitudinal-entry-link{text-align:left;cursor:pointer;color:var(--text);background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;font-family:inherit;display:flex}.student-longitudinal-entry-link:hover .student-longitudinal-entry-date{color:var(--accent)}.student-longitudinal-entry-head{align-items:center;gap:10px;display:flex}.student-longitudinal-entry-date{font-size:12px;font-weight:500}.student-longitudinal-entry-meta{flex:1;font-size:11px}.student-longitudinal-entry-drift{color:#d97706}.student-longitudinal-entry-toggle{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-family:inherit;font-size:11px}.student-longitudinal-entry-toggle:hover{color:var(--text);border-color:var(--accent)}.student-longitudinal-entry-vector{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.student-longitudinal-metric-pill{border:1px solid var(--border);color:var(--muted);background:var(--surface);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.student-longitudinal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.student-longitudinal-footer .btn-secondary{padding:6px 14px;font-size:12px}.student-longitudinal-reset{color:#dc2626}.student-longitudinal-contests{margin:0;padding:0;list-style:none}.student-longitudinal-contest{border-bottom:1px solid var(--border);padding:8px 0}.student-longitudinal-contest-head{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.student-longitudinal-contest-obs{font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:500}.student-longitudinal-contest-meta{flex:1;font-size:11px}.student-longitudinal-contest-reason{margin:0 0 4px;font-size:12px;font-style:italic}.student-longitudinal-contest-grounds{margin:0;font-size:11px}.student-summary-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.student-summary-item button{width:100%;color:var(--text-h);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 8px;font-family:inherit;font-size:11.5px;display:grid}.student-summary-item button:hover:not(:disabled){background:color-mix(in srgb, var(--text-h) 5%, transparent)}.student-summary-item button:disabled{cursor:default}.student-summary-item.is-active button{background:color-mix(in srgb, var(--accent) 12%, transparent)}.student-summary-item-name{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.student-summary-item-score{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.student-summary-item.band-high-suspicion .student-summary-item-score{color:var(--status-bad)}.student-summary-item.band-review .student-summary-item-score{color:var(--status-warn)}.student-summary-item.band-likely-authentic .student-summary-item-score{color:var(--status-good)}.student-summary-more{text-align:center;padding:4px 8px;font-size:10.5px}.class-picker{position:relative}.class-picker-btn{border:1px solid var(--border);height:28px;color:var(--text-h);cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:6px;max-width:180px;padding:0 10px;font-family:inherit;font-size:12px;display:inline-flex}.class-picker-btn:hover,.class-picker-btn.is-open{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.class-picker-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.class-picker-caret{color:var(--muted);font-size:10px}.class-picker-popover{z-index:80;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:1px;min-width:220px;max-height:60vh;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 32px #0000002e}@media (prefers-color-scheme:dark){.class-picker-popover{background:var(--card-bg)}}.class-picker-option{cursor:pointer;text-align:left;width:100%;color:var(--text-h);background:0 0;border:0;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:12.5px;display:block}.class-picker-term{color:var(--muted);font-size:11px;font-weight:400}.class-picker-option:hover{background:color-mix(in srgb, var(--text-h) 6%, transparent)}.class-picker-option.is-active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.class-picker-option.class-picker-add{color:var(--accent)}.class-picker-divider{background:var(--border);height:1px;margin:4px 0}.class-picker-create-form{gap:6px;padding:6px 4px 4px;display:flex}.class-picker-input{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:6px;flex:1;min-width:0;padding:5px 8px;font-family:inherit;font-size:12.5px}.class-picker-input:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:-1px}.class-picker-create-form .btn-primary{padding:5px 10px;font-size:11.5px}.class-settings{position:relative}.class-settings-btn{border:1px solid var(--border);cursor:pointer;width:28px;height:28px;color:inherit;background:0 0;border-radius:14px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:13px;display:inline-flex}.class-settings-btn:hover:not(:disabled),.class-settings-btn.is-open{background:color-mix(in srgb, var(--text-h) 6%, transparent)}.class-settings-btn:disabled{opacity:.4;cursor:not-allowed}.class-settings-btn.has-prompt{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:color-mix(in srgb, var(--accent) 10%, transparent)}.class-settings-popover{z-index:80;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;width:380px;padding:14px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0000002e}@media (prefers-color-scheme:dark){.class-settings-popover{background:var(--card-bg)}}.class-settings-head h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:12px;font-weight:600}.class-settings-head p{margin:4px 0 0;font-size:11.5px;line-height:1.5}.class-settings-name-input{border:1px solid var(--border);width:100%;color:var(--text-h);box-sizing:border-box;background:0 0;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:13px}.class-settings-name-input:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:-1px}.class-settings-textarea{border:1px solid var(--border);width:100%;color:var(--text-h);font-family:var(--sans);resize:vertical;box-sizing:border-box;background:0 0;border-radius:6px;min-height:100px;padding:10px;font-size:12.5px;line-height:1.5}.class-settings-rerun{text-align:center;align-self:stretch;margin:8px 0 4px;padding:6px 12px;font-size:12px}.class-settings-archive{border:1px solid color-mix(in srgb, var(--status-bad) 35%, var(--border));color:var(--status-bad);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start;padding:5px 12px;font-family:inherit;font-size:11.5px}.class-settings-archive:hover{background:color-mix(in srgb, var(--status-bad) 10%, transparent)}.class-settings-textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:-1px}.class-settings-foot{align-items:center;gap:6px;display:flex}.class-settings-foot-spacer{flex:1}.class-settings-export{font-size:11.5px}.student-menu{display:flex;position:relative}.student-menu-disabled{color:var(--muted);padding:0 6px;font-size:11px}.student-menu-btn{border:1px dashed var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-radius:6px;max-width:110px;padding:2px 8px;font-family:inherit;font-size:11px;overflow:hidden}.student-menu-btn:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h)}.student-menu-btn.is-set{color:var(--text-h);background:color-mix(in srgb, var(--accent) 10%, transparent);border-style:solid;border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.student-menu-popover{z-index:70;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:1px;min-width:220px;max-height:280px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 12px 32px #0000002e}@media (prefers-color-scheme:dark){.student-menu-popover{background:var(--card-bg)}}.student-menu-input{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:6px;margin-bottom:4px;padding:5px 8px;font-family:inherit;font-size:12px}.student-menu-input:focus{outline:2px solid color-mix(in srgb, var(--accent) 50%, transparent);outline-offset:-1px}.student-menu-option{cursor:pointer;text-align:left;color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:5px;flex:1;min-width:0;padding:6px 10px;font-family:inherit;font-size:12px;overflow:hidden}.student-menu-option:hover{background:color-mix(in srgb, var(--text-h) 6%, transparent)}.student-menu-row{border-radius:5px;align-items:center;gap:2px;display:flex}.student-menu-row.is-active .student-menu-option{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.student-menu-row-actions{opacity:0;align-items:center;gap:1px;transition:opacity .1s;display:flex}.student-menu-row:hover .student-menu-row-actions,.student-menu-row:focus-within .student-menu-row-actions{opacity:1}.student-menu-icon-btn{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:12px;display:flex}.student-menu-icon-btn:hover{background:color-mix(in srgb, var(--text-h) 8%, transparent);color:var(--text-h)}.student-menu-icon-btn.student-menu-delete:hover{background:color-mix(in srgb, var(--status-bad) 12%, transparent);color:var(--status-bad)}.student-menu-rename-input{flex:1;margin:0;padding:4px 8px;font-size:12px}.student-menu-option.is-active{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:600}.student-menu-option.student-menu-add{color:var(--accent)}.student-menu-option.student-menu-clear{color:var(--status-bad);font-size:11.5px}.student-menu-empty{color:var(--muted);margin:6px 8px;font-size:11.5px}.file-row-li{grid-template-columns:16px 1fr;align-items:start;gap:6px 8px;padding:0 4px 4px;list-style:none;display:grid}.file-row-li>.file-row-assign{grid-column:2}.file-row-li:not(.is-active):not(:hover) .file-row-assign .student-menu-btn{opacity:.6}.file-row-assign{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;min-height:0;margin-top:1px;padding-left:28px;font-size:11px;display:flex}.file-row-assign:empty{display:none}.file-row-li .file-row-assign{transition:opacity .12s}.file-row-li:not(.is-active):not(:hover):not(:focus-within) .file-row-assign{opacity:.55}.file-row-actions{gap:4px;margin-left:auto;display:flex}.file-row-li:not(.is-active):not(:hover):not(:focus-within) .file-row-actions{opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out)}.file-row-li:focus-within .file-row-actions,.file-row-li:hover .file-row-actions,.file-row-li.is-active .file-row-actions{opacity:1;pointer-events:auto;transition:opacity var(--duration-fast) var(--ease-out)}.file-row-action{border:1px solid var(--border);color:var(--text-m);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:500;transition:background .12s,color .12s}.file-row-action:hover:not(:disabled){background:color-mix(in srgb, var(--text-h) 6%, transparent);color:var(--text-h)}.file-row-action:disabled{opacity:.45;cursor:not-allowed}.file-row-action-delete:hover:not(:disabled){background:color-mix(in srgb, var(--status-bad) 12%, transparent);color:var(--status-bad);border-color:color-mix(in srgb, var(--status-bad) 30%, var(--border))}.file-row-checkbox{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;opacity:.35;margin-top:9px;transition:opacity .12s}.file-row-li:hover .file-row-checkbox,.file-row-li.any-selected .file-row-checkbox,.file-row-li.is-selected .file-row-checkbox{opacity:1}.file-row-li.is-selected>.file-row{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.file-list-bulkbar{background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));border-radius:8px;flex-shrink:0;align-items:center;gap:6px;margin-bottom:8px;padding:6px 8px;display:flex}.file-list-bulkbar-count{color:var(--text-h);flex:1;font-size:12px;font-weight:600}.file-list-bulkbar-archive{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11.5px;font-weight:600}.file-list-bulkbar-archive:hover{filter:brightness(1.05)}.file-list-bulkbar-compare{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 50%, var(--border));cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11.5px;font-weight:600}.file-list-bulkbar-compare:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.file-list-bulkbar-cancel{padding:3px 10px;font-size:11.5px}.file-row-view-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;padding:2px 8px;font-family:inherit;font-size:11px}.file-row-view-btn:hover{background:color-mix(in srgb, var(--text-h) 6%, transparent);color:var(--text-h)}.flags-anchor{position:relative}.flags-popover{z-index:90;background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:380px;max-height:calc(100dvh - 100px);animation:.12s ease-out flags-pop;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0000002e}@keyframes flags-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme:dark){.flags-popover{background:var(--card-bg)}}.flags-popover:before,.flags-popover:after{content:"";background:var(--card-bg,#fff);border-top:1px solid var(--border);border-left:1px solid var(--border);pointer-events:none;width:12px;height:12px;position:absolute;top:-7px;right:24px;transform:rotate(45deg)}.flags-popover:after{background:var(--card-bg,#fff);border:none;width:26px;height:2px;top:-1px;right:17px;transform:none}@media (prefers-color-scheme:dark){.flags-popover:before,.flags-popover:after{background:var(--card-bg)}}.flags-popover-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.flags-popover-head h2{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.flags-popover-body{flex-direction:column;gap:14px;padding:12px 14px;display:flex;overflow-y:auto}.flags-btn.is-open{background:color-mix(in srgb, var(--text-h) 8%, transparent)}.flags-btn.is-open.has-flags{background:color-mix(in srgb, var(--status-warn) 15%, transparent)}@media (width<=600px){.flags-popover{width:calc(100vw - 32px);right:-8px}}.flags-btn{border:1px solid var(--border);height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:6px;padding:0 10px 0 8px;font-family:inherit;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.flags-btn:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h)}.flags-btn.has-flags{color:var(--status-warn);border-color:color-mix(in srgb, var(--status-warn) 35%, var(--border));background:color-mix(in srgb, var(--status-warn) 5%, transparent)}.flags-btn.has-flags:hover{background:color-mix(in srgb, var(--status-warn) 10%, transparent)}.flags-icon{font-size:13px;line-height:1}.flags-label{font-weight:500}.flags-badge{background:var(--border);min-width:18px;height:18px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.flags-btn.has-flags .flags-badge{background:var(--status-warn);color:#fff}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:14px;flex-direction:column;width:100%;max-width:680px;max-height:calc(100dvh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}@media (prefers-color-scheme:dark){.modal{background:var(--card-bg)}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h2{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.modal-close{border:1px solid var(--border);width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:16px;line-height:1;display:flex}.modal-close:hover{background:color-mix(in srgb, var(--text-h) 6%, transparent);color:var(--text-h)}.modal-body{flex-direction:column;gap:18px;padding:14px 18px 18px;display:flex;overflow-y:auto}.modal-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.flags-files,.flags-overlap{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.flags-file-link{border:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-radius:8px;grid-template-columns:12px minmax(0,1fr) 130px 50px;align-items:center;gap:10px;padding:8px 12px;font-family:inherit;font-size:12.5px;display:grid}.flags-file-link:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.flags-file.band-review .flags-file-link{border-color:color-mix(in srgb, var(--status-warn) 35%, var(--border));background:color-mix(in srgb, var(--status-warn) 4%, transparent)}.flags-file.band-high-suspicion .flags-file-link{border-color:color-mix(in srgb, var(--status-bad) 35%, var(--border));background:color-mix(in srgb, var(--status-bad) 5%, transparent)}.flags-file-name{font-family:var(--mono);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.flags-file-band{text-align:right;white-space:nowrap;font-size:11.5px;font-weight:600}.flags-file.band-review .flags-file-band{color:var(--status-warn)}.flags-file.band-high-suspicion .flags-file-band{color:var(--status-bad)}.flags-file-score{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;font-size:14px;font-weight:700}.flags-overlap li{border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:12px}.flags-overlap li.severity-medium{border-color:color-mix(in srgb, var(--status-warn) 35%, var(--border));background:color-mix(in srgb, var(--status-warn) 4%, transparent)}.flags-overlap li.severity-high{border-color:color-mix(in srgb, var(--status-bad) 35%, var(--border));background:color-mix(in srgb, var(--status-bad) 5%, transparent)}.flags-overlap-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.flags-overlap-link{font-family:var(--mono);color:var(--text-h);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text-h) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text-h) 30%, transparent);background:0 0;border:0;padding:0;font-size:12px}.flags-overlap-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.flags-overlap-pct{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:auto;font-size:11px}.flags-overlap-samples{color:var(--muted);margin:6px 0 0;font-size:11.5px;line-height:1.5}.trash-modal{max-width:720px}.trash-actions{background:color-mix(in srgb, var(--text-h) 3%, transparent);border-radius:6px;align-items:center;gap:8px;margin-bottom:14px;padding:8px 10px;display:flex}.trash-actions span{flex:1;font-size:12px}.trash-actions .btn-secondary{padding:4px 12px;font-size:11.5px}.trash-hard-delete{color:var(--status-bad);border-color:color-mix(in srgb, var(--status-bad) 35%, var(--border))}.trash-hard-delete:hover:not(:disabled){background:color-mix(in srgb, var(--status-bad) 10%, transparent)}.trash-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.trash-item label{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;display:flex}.trash-item label:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.trash-item input[type=checkbox]{accent-color:var(--accent);flex-shrink:0}.trash-item-name{font-family:var(--mono);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.trash-item-meta{color:var(--muted);flex-shrink:0;font-size:11px}.trash-item.band-high-suspicion .trash-item-meta{color:var(--status-bad)}.trash-item.band-review .trash-item-meta{color:var(--status-warn)}.ui-modal.compare-modal{max-width:1240px}.compare-nav{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-bottom:var(--border-w) solid var(--border);flex-shrink:0;display:flex}.compare-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:4px;font-size:12px}.compare-nav .btn-secondary{justify-content:center;align-items:center;width:28px;height:26px;padding:0;font-size:13px;display:inline-flex}.compare-nav .btn-secondary:disabled{opacity:.4;cursor:not-allowed}.compare-grid{background:var(--border);flex:1;grid-template-columns:260px 1fr 1fr;gap:1px;min-height:0;display:grid}.compare-matches{background:color-mix(in srgb, var(--text-h) 2%, var(--card-bg,#fff));flex-direction:column;min-height:0;display:flex}@media (prefers-color-scheme:dark){.compare-matches{background:color-mix(in srgb, var(--text-h) 4%, #11141a)}}.compare-matches-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.compare-matches-head h3{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:600}.compare-matches-empty{padding:20px 14px;font-size:12px}.compare-matches-list{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.compare-match-item{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;gap:3px;padding:7px 10px;font-family:inherit;transition:background 80ms,border-color 80ms;display:flex}.compare-match-item:hover{background:color-mix(in srgb, var(--text-h) 5%, transparent)}.compare-match-item.is-active{border-color:color-mix(in srgb, #facc15 50%, var(--border));background:#facc152e}.compare-match-text{color:var(--text-h);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.compare-match-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.02em;font-size:10.5px}.compare-pane{background:var(--card-bg,#fff);flex-direction:column;min-height:0;display:flex}@media (prefers-color-scheme:dark){.compare-pane{background:var(--card-bg)}}.compare-pane-head{border-bottom:1px solid var(--border);font-family:var(--mono);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;background:color-mix(in srgb, var(--text-h) 2%, transparent);flex-shrink:0;padding:10px 14px;font-size:12px;overflow:hidden}.compare-pane-body{flex:1;min-height:0;padding:16px 18px;overflow-y:auto}.compare-text{white-space:pre-wrap;word-break:break-word;color:var(--text-h);font-size:13px;line-height:1.6;font-family:var(--sans);margin:0}.compare-text mark{color:inherit;background:#facc1580;border-radius:2px;padding:0 2px;box-shadow:inset 0 -1px #facc15cc}.compare-text mark.is-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--status-warn) 60%, transparent);background:#facc15e6;outline:none}@media (prefers-color-scheme:dark){.compare-text mark{color:var(--text-h);background:#facc154d}.compare-text mark.is-active{background:#facc1599}}.flags-overlap-compare{margin-left:8px;padding:4px 12px;font-size:11.5px}@media (width<=1100px){.compare-grid{grid-template-columns:200px 1fr 1fr}}@media (width<=760px){.compare-grid{grid-template-rows:auto 1fr 1fr;grid-template-columns:1fr}.compare-matches{max-height:200px}.compare-modal{border-radius:0;height:100dvh;max-height:100dvh}}.overlap-panel{background:var(--card-bg,#fff);border:1px solid var(--border);border-radius:12px;flex-shrink:0;max-height:140px;padding:12px 14px;overflow-y:auto}@media (prefers-color-scheme:dark){.overlap-panel{background:var(--card-bg)}}.overlap-head h2{letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.overlap-head p{margin:4px 0 12px;font-size:12px}.overlap-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.overlap-row{border:1px solid var(--border);background:color-mix(in srgb, var(--text-h) 1.5%, transparent);border-radius:8px;padding:10px 12px;font-size:12.5px}.overlap-row.severity-medium{border-color:color-mix(in srgb, var(--status-warn) 35%, var(--border));background:color-mix(in srgb, var(--status-warn) 5%, transparent)}.overlap-row.severity-high{border-color:color-mix(in srgb, var(--status-bad) 35%, var(--border));background:color-mix(in srgb, var(--status-bad) 6%, transparent)}.overlap-row-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.overlap-link{color:var(--text-h);font-family:var(--mono);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text-h) 30%, transparent);text-decoration-color:color-mix(in srgb, var(--text-h) 30%, transparent);text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px}.overlap-link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.overlap-vs{color:var(--muted);font-size:12px}.overlap-pct{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:auto;font-size:11.5px}.overlap-samples{color:var(--muted);margin:6px 0 0;font-size:11.5px;line-height:1.5}.overlap-sample{font-family:var(--mono);background:color-mix(in srgb, var(--text-h) 5%, transparent);color:var(--text-h);border-radius:4px;margin-right:6px;padding:1px 6px;font-size:11px;display:inline-block}.weights-legend{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.weights-legend>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);list-style:revert;justify-content:space-between;align-items:baseline;gap:12px;font-size:11.5px;font-weight:600;display:flex}.weights-summary-num{font-family:var(--mono);color:var(--text-h);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;font-size:11px}.weights-cols{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.weights-col h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:10.5px;font-weight:600}.weights-col ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.weights-col li{justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.w-label{color:var(--text-h);flex:1;min-width:0}.w-pts{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.w-pts.pos{color:var(--status-bad)}.w-pts.neg{color:var(--status-good)}.weights-prior{color:var(--text);margin:8px 0 12px;font-size:11.5px;line-height:1.45}.weights-note{color:var(--muted);margin:12px 0 0;font-size:11px;font-style:italic}@media (width<=600px){.weights-cols{grid-template-columns:1fr}}.batch-count{color:var(--muted);font-size:12px}.batch-count.is-filtered{color:var(--accent);cursor:help;font-weight:500}.batch-flagged{color:var(--status-warn);font-weight:600}.topbar-meta{align-items:center;gap:14px;display:flex}.deep-row{border:1px dashed var(--border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;font-size:12.5px;display:flex}.deep-row.deep-running,.deep-row.deep-error{border-style:solid}.deep-row.deep-error{border-color:color-mix(in srgb, var(--status-bad) 30%, var(--border));background:color-mix(in srgb, var(--status-bad) 5%, transparent)}.deep-row p{margin:0}.deep-row-title{color:var(--text-h);font-weight:600}.deep-row-sub{color:var(--muted);font-size:11.5px;margin-top:2px!important}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12.5px;font-weight:500}.btn-primary:hover{filter:brightness(1.05)}.ad-slot{flex-direction:column;gap:4px;margin:0;display:flex}.ad-slot__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ad-slot__label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px}.ad-slot__close{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:14px;line-height:1;display:flex}.ad-slot__close:hover{color:var(--text-h);background:color-mix(in srgb, var(--text-h) 6%, transparent)}.ad-slot--placeholder{border:1px dashed var(--border);background:color-mix(in srgb, var(--text-h) 2%, transparent);border-radius:8px;align-items:center;padding:14px 16px}.ad-slot--placeholder .ad-slot__head{width:100%}.ad-slot__hint{font-family:var(--mono);color:var(--muted);margin-top:4px;font-size:11px}.ad-slot__hint code{background:color-mix(in srgb, var(--text-h) 6%, transparent);border-radius:3px;padding:1px 4px}.ad-sticky{z-index:100;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(140%)blur(10px);border-top:1px solid var(--border);position:fixed;bottom:0;left:0;right:0}.ad-sticky .ad-slot{max-width:1100px;margin:0 auto}.ad-sticky .ad-slot--placeholder{padding:8px 12px}.ads-notice{color:var(--muted);font-size:11.5px;margin-top:10px!important}footer{color:var(--muted);margin-top:auto;font-size:12px;line-height:1.5}footer details{border:1px solid var(--border);border-radius:10px;padding:8px 14px}footer summary{cursor:pointer;color:var(--text-h);font-size:12px;font-weight:500}footer p{margin:8px 0 0}footer code{background:color-mix(in srgb, var(--text-h) 6%, transparent);border-radius:3px;padding:1px 4px;font-size:11px}.muted{color:var(--muted)}@media (width<=900px){.page{padding:20px 16px calc(120px + env(safe-area-inset-bottom,0px))}}@media (width<=1100px){.workspace{grid-template-rows:1fr auto;grid-template-columns:220px minmax(0,1fr)}.right-rail{flex-direction:row;grid-area:2/2;height:auto}.right-rail .ad-slot--placeholder{flex:1;min-height:80px}.right-rail .metadata{flex:2}.page{height:auto;min-height:100dvh;overflow:auto}.file-list-wrap{height:auto;max-height:60vh}}@media (width<=760px){.workspace{grid-template-rows:auto 1fr auto;grid-template-columns:1fr}.file-list-wrap{max-height:240px}.detail-panel{grid-column:auto;height:auto}.right-rail{flex-direction:column;grid-area:auto}}.metric-row{border:var(--border-w) solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-2);background:var(--card-bg);list-style:none}.metric-row.is-contested{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.metric-row-head{column-gap:var(--space-2);row-gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);text-align:left;cursor:pointer;font-size:var(--fs-md);color:var(--text-h);background:0 0;border:0;grid-template:"label value band""bar bar delta"/1fr auto auto;align-items:center;display:grid}.metric-row-head:hover{background:color-mix(in srgb, var(--text-h) 4%, transparent)}.metric-row-label{flex-direction:column;grid-area:label;gap:1px;min-width:0;display:flex}.metric-row-name{font-weight:var(--weight-semibold);font-size:var(--fs-md);line-height:var(--lh-tight)}.metric-row-unit{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-tight)}.metric-row-bar{background:color-mix(in srgb, var(--text-h) 8%, transparent);border-radius:var(--radius-pill);grid-area:bar;height:6px;position:relative;overflow:visible}.metric-row-bar-typical{background:color-mix(in srgb, var(--status-info) 22%, transparent);border-radius:var(--radius-pill);height:100%;position:absolute;top:0}.metric-row-bar-student{background:color-mix(in srgb, var(--accent) 35%, transparent);border-radius:var(--radius-pill);height:100%;position:absolute;top:0}.metric-row-bar-marker{background:var(--text-h);border-radius:1px;width:2px;height:12px;position:absolute;top:-3px;transform:translate(-50%)}.metric-row-bar-marker.tone-warn{background:var(--status-bad)}.metric-row-bar-marker.tone-soft{background:var(--status-warn)}.metric-row-bar-marker-caret{border-left:5px solid #0000;border-right:5px solid #0000;border-top:7px solid var(--text-h,#1f2937);pointer-events:none;width:0;height:0;position:absolute;top:-10px;transform:translate(-50%)}.metric-row-bar-marker-caret.tone-warn{border-top-color:var(--status-bad,#991b1b)}.metric-row-bar-marker-caret.tone-soft{border-top-color:var(--status-warn,#92400e)}.metric-row-bar-marker-rolling{border:2px solid var(--muted);pointer-events:none;background:0 0;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translate(-50%,-50%)}.metric-row-value{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:var(--fs-md);grid-area:value}.metric-row-band{padding:1px var(--space-2);border-radius:var(--radius-pill);font-size:10.5px;font-weight:var(--weight-semibold);white-space:nowrap;grid-area:band}.metric-row-band.tone-ok{color:var(--status-good);background:var(--status-good-bg)}.metric-row-band.tone-soft{color:var(--status-warn);background:var(--status-warn-bg)}.metric-row-band.tone-warn{color:var(--status-bad);background:var(--status-bad-bg)}.metric-row-band.tone-muted{color:var(--muted);background:color-mix(in srgb, var(--muted) 14%, transparent)}.metric-row-deltas{justify-content:flex-end;align-items:center;gap:var(--space-1);white-space:nowrap;grid-area:delta;display:inline-flex}.metric-row-baseline-delta{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.metric-row-rolling-pill{padding:1px var(--space-2);border-radius:var(--radius-pill);font-size:10.5px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-block}.metric-row-rolling-pill.tone-ok{color:var(--status-good);background:var(--status-good-bg)}.metric-row-rolling-pill.tone-soft{color:var(--status-warn);background:var(--status-warn-bg)}.metric-row-rolling-pill.tone-warn{color:var(--status-bad);background:var(--status-bad-bg)}.metric-row-caret{display:none}.metric-row-detail{padding:var(--space-2) var(--space-3) var(--space-3);border-top:var(--border-w) solid var(--border);font-size:var(--fs-sm)}.metric-row-detail dl{gap:var(--space-1) var(--space-3);grid-template-columns:max-content 1fr;margin:0;display:grid}.metric-row-detail dt{color:var(--muted)}.metric-row-detail dd{margin:0}.metric-row-detail-contested{color:var(--status-bad);margin-top:var(--space-2)}.scorecard{margin:var(--space-2) 0}.scorecard-rows{margin:0;padding:0;list-style:none}.scorecard-expander{margin-top:var(--space-2);color:var(--accent);font-size:var(--fs-sm);font-weight:var(--weight-semibold);cursor:pointer;padding:var(--space-1) 0;background:0 0;border:0;display:inline-block}.scorecard-expander:hover{text-decoration:underline}.scorecard-expander:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.scorecard-empty{padding:var(--space-4) 0;color:var(--muted);font-size:var(--fs-sm)}.provenance-banner{background:var(--status-warn-bg);border-left:var(--border-w-accent) solid var(--status-warn);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);line-height:var(--lh-normal);margin-bottom:var(--space-2);border-radius:var(--radius-sm);color:var(--text)}.provenance-banner .muted{color:var(--muted)}.prior-papers,.prior-papers-empty{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:var(--border-w) solid var(--border)}.prior-papers h3,.prior-papers-empty h3{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:var(--weight-semibold);color:var(--text-h);letter-spacing:var(--tracking-tight)}.prior-papers-trends{margin:0 0 var(--space-3);flex-direction:column;gap:1px;padding:0;list-style:none;display:flex}.prior-papers-trend{gap:var(--space-3);padding:var(--space-1) 0;border-bottom:var(--border-w) dashed color-mix(in srgb, var(--text-h) 8%, transparent);grid-template-columns:110px minmax(0,1fr);align-items:center;display:grid}.prior-papers-trend:last-child{border-bottom:0}.prior-papers-trend-name{font-size:var(--fs-sm);font-weight:var(--weight-semibold);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.prior-papers-list{font-size:var(--fs-sm);gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.prior-papers-list li{padding:2px 0}.prior-papers-jump{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0;font-family:inherit}.prior-papers-jump:hover{text-decoration:underline}.prior-papers-jump:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.document-scorecard{gap:var(--space-3);flex-direction:column;display:flex}.document-scorecard-warning{background:var(--status-warn-bg);border-left:var(--border-w-accent) solid var(--status-warn);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);line-height:var(--lh-normal);border-radius:var(--radius-sm);color:var(--text)}.document-scorecard-warning.muted{background:var(--status-neutral-bg);border-left-color:var(--status-neutral);color:var(--text-m)}.document-scorecard-rolling-button{padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);color:var(--text-h);background:var(--surface-2,color-mix(in srgb, var(--text-h) 4%, transparent));border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-self:flex-start}.document-scorecard-rolling-button:hover{background:color-mix(in srgb, var(--accent) 8%, var(--card-bg))}.document-scorecard-rolling-empty{font-size:var(--fs-xs)}.scorecard-legend{gap:var(--space-4);padding:var(--space-2) 0;font-size:var(--fs-xs);line-height:var(--lh-normal);color:var(--muted);border-bottom:var(--border-w) solid var(--border);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.scorecard-legend-item{align-items:center;gap:var(--space-1);display:inline-flex}.scorecard-legend-mark{flex:none;width:14px;height:14px;display:inline-block;position:relative}.scorecard-legend-mark-active:before{content:"";background:var(--text-h);border-radius:1px;width:2px;height:11px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.scorecard-legend-mark-active:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--text-h);width:0;height:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.scorecard-legend-mark-rolling{border:2px solid var(--muted);background:0 0;border-radius:50%;width:10px;height:10px;margin:2px}.scorecard-legend-mark-typical{background:color-mix(in srgb, var(--status-info) 22%, transparent);border-radius:var(--radius-pill)}.scorecard-legend-label{font-size:var(--fs-xs)}.trends-block{margin:16px 0}.trends-block h3{margin-bottom:4px;font-size:14px}.trends-block-sub{margin-bottom:8px;font-size:12px}.trends-block-list{margin:0;padding:0;list-style:none}.trends-block-row{border-bottom:1px dashed color-mix(in srgb, var(--text-h) 6%, transparent);grid-template-columns:160px 1fr 60px;align-items:center;gap:12px;padding:4px 0;display:grid}.trends-block-name{font-size:13px;font-weight:600}.trends-block-sigma{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.trends-toggle{gap:var(--space-1);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.trends-toggle-btn{padding:3px var(--space-2);font-size:var(--fs-xs);border:var(--border-w) solid var(--border);border-radius:var(--radius-sm);background:var(--card-bg);color:var(--text-h);cursor:pointer}.trends-toggle-btn:hover{border-color:color-mix(in srgb, var(--status-info) 35%, var(--border))}.trends-toggle-btn.is-active{background:var(--accent);color:var(--accent-contrast,#fff);border-color:var(--accent)}.trends-toggle-loading{font-size:var(--fs-xs);margin-left:var(--space-1)}.trends-drift-note{font-size:var(--fs-xs);margin:0 0 var(--space-2)}.trends-improvement-label{margin-left:var(--space-2);padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-block}.trends-improvement-label.tone-ok{color:var(--status-good);background:var(--status-good-bg)}.trends-improvement-label.tone-soft{color:var(--status-warn);background:var(--status-warn-bg)}.trends-improvement-label.tone-warn{color:var(--status-bad);background:var(--status-bad-bg)}.trends-improvement-label.tone-muted{color:var(--muted);background:color-mix(in srgb, var(--muted) 12%, transparent)}.report-summary{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:var(--border-w) solid var(--border);border-left:var(--border-w-accent) solid var(--accent);border-radius:var(--radius-xl);background:var(--card-bg);flex-direction:column;flex-shrink:0;max-height:240px;display:flex;overflow-y:auto}.report-summary--loading{min-height:60px}.report-summary-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.report-summary-head h3{font-size:var(--fs-sm);font-weight:var(--weight-semibold);color:var(--text-h);letter-spacing:var(--tracking-uppercase);text-transform:uppercase;margin:0}.report-summary-mode{letter-spacing:var(--tracking-uppercase);text-transform:uppercase;color:var(--muted);font-size:10.5px}.report-summary-actions{align-items:center;gap:var(--space-2);display:flex}.report-summary-error{padding:var(--space-2) var(--space-3);border-left:var(--border-w-accent) solid var(--status-bad);background:var(--status-bad-bg);font-size:var(--fs-sm);color:var(--status-bad);border-radius:var(--radius-sm);margin:0}.report-summary-headlines{padding:0 0 0 var(--space-4);font-size:var(--fs-md);line-height:var(--lh-normal);color:var(--text-h);flex-direction:column;gap:2px;margin:0;display:flex}.report-summary-headlines li{list-style-type:"›  "}.report-summary-paragraphs{gap:var(--space-2);padding-top:var(--space-2);border-top:var(--border-w) solid var(--border);flex-direction:column;margin:0;display:flex}.report-summary-paragraph{gap:var(--space-3);grid-template-columns:96px 1fr;align-items:baseline;display:grid}.report-summary-paragraph dt{font-size:10.5px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-uppercase);text-transform:uppercase;color:var(--muted);margin:0}.report-summary-paragraph dd{font-size:var(--fs-sm);line-height:var(--lh-normal);color:var(--text);margin:0}.triage-layout{gap:var(--space-5);padding:var(--space-4);flex-direction:column;display:flex}.triage-card>.triage-layout{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.triage-layout-main{margin-bottom:0}.triage-layout-side{gap:var(--space-2);border-top:var(--border-w) solid var(--border);padding-top:var(--space-4);flex-direction:column;display:flex}.triage-side-tabs{gap:var(--space-1);border-bottom:var(--border-w) solid var(--border);display:flex}.triage-card .triage-body{padding:0}@media (width>=1280px){.triage-modal .triage-layout{gap:var(--space-6);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.triage-modal .triage-layout-side{border-top:0;padding-top:0}}.help-popover-toggle{margin:4px 0}.help-popover-toggle-row{cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;display:flex}.help-popover-toggle-row input[type=checkbox]{flex-shrink:0;margin-top:3px}.help-popover-toggle-row>span{flex-direction:column;gap:2px;display:flex}.help-popover-toggle-hint{font-size:11.5px;line-height:1.35}.preview-annotations-controls{border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:10px}.deep-grammar-toggle-inline{cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.deep-grammar-toggle-inline input[type=checkbox]{flex-shrink:0;margin:0}.preview-triage-status{margin-top:6px;font-size:11.5px;display:block}.preview-triage-status:before{content:"";vertical-align:-1px;border:1.5px solid;border-top-color:#0000;border-radius:50%;width:9px;height:9px;margin-right:6px;animation:.8s linear infinite preview-triage-spin;display:inline-block}@keyframes preview-triage-spin{to{transform:rotate(360deg)}}.class-settings-style-row{align-items:center;gap:10px;margin-bottom:8px;font-size:13px;display:flex}.class-settings-style-row select{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:4px;padding:4px 8px;font-family:inherit;font-size:12.5px}.preview-annotations-engine-group{margin-top:10px}.preview-annotations-engine-group:first-of-type{margin-top:4px}.preview-annotations-engine-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 4px;font-size:11px;font-weight:700;display:flex}.preview-annotations-engine-count{letter-spacing:0;text-transform:none;color:var(--muted);font-size:10.5px;font-weight:500}.late-submission-badge{color:#991b1b;vertical-align:middle;background:#fee2e2;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-block}
