:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #fbfcfd;--border: #e3e6ea;--border-strong: #cdd3da;--text: #16191d;--text-dim: #5c6570;--text-faint: #8b939d;--accent: #2f5fd0;--accent-soft: #eaf0fd;--danger: #b4242b;--danger-soft: #fdecec;--warn: #8a5a00;--warn-soft: #fdf3e0;--ok: #1c6b45;--ok-soft: #e7f5ee;--machine: #4a4f96;--machine-soft: #eeeffb;--radius: 8px;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #14161a;--surface: #1b1e23;--surface-2: #202429;--border: #2c313a;--border-strong: #3c434e;--text: #e8eaed;--text-dim: #a2abb6;--text-faint: #79828d;--accent: #7aa2f7;--accent-soft: #1e2637;--danger: #ff8a8a;--danger-soft: #35201f;--warn: #e5b567;--warn-soft: #322817;--ok: #7bd6a6;--ok-soft: #16291f;--machine: #a8adf0;--machine-soft: #21233a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);padding:7px 14px;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}button.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}input,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;padding:6px 9px;width:100%}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.app{max-width:1500px;margin:0 auto;padding:20px 24px 64px}.masthead{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}.masthead h1{font-size:19px;margin:0;letter-spacing:-.01em}.masthead .tagline{color:var(--text-dim);font-size:13px}.statbar{display:flex;gap:18px;flex-wrap:wrap;padding:10px 0 18px;border-bottom:1px solid var(--border);margin-bottom:20px;color:var(--text-dim);font-size:13px}.statbar b{color:var(--text);font-variant-numeric:tabular-nums}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}.card h2{font-size:14px;margin:0 0 12px;letter-spacing:.01em}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:26px;text-align:center;color:var(--text-dim);background:var(--surface-2);transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone input{display:none}.dropzone .hint{font-size:12px;color:var(--text-faint);margin-top:6px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--border)}td{padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}tbody tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--surface-2)}.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--mono)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;border:1px solid transparent}.tone-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.tone-machine{background:var(--machine-soft);color:var(--machine);border-color:var(--machine)}.tone-external{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tone-human{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.tone-dual{background:var(--ok-soft);color:var(--ok);border-color:var(--ok);font-weight:700}.tone-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}@media (max-width: 1100px){.split{grid-template-columns:1fr}}.pagepane{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px;align-self:start;position:sticky;top:16px;max-height:calc(100vh - 40px);overflow:auto}.pagewrap{position:relative;line-height:0}.pagewrap img{width:100%;height:auto;border-radius:4px}.bbox{position:absolute;border:1.5px solid var(--accent);background:#2f5fd01a;border-radius:2px;pointer-events:none;transition:all .15s ease}.bbox.attention{border-color:var(--danger);background:#b4242b24}.bbox.active{border-width:2.5px;box-shadow:0 0 0 3px #2f5fd040;background:#2f5fd033}.finding{border-left:3px solid var(--danger);background:var(--danger-soft);padding:9px 12px;border-radius:0 6px 6px 0;margin-bottom:8px}.finding.warn{border-left-color:var(--warn);background:var(--warn-soft)}.finding.note{border-left-color:var(--border-strong);background:var(--surface-2)}.finding .who{font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.finding .what{margin-top:2px}.cmp-row.attention td{background:var(--danger-soft)}.cmp-row.active td{background:var(--accent-soft)}.source{font-family:var(--mono);font-size:12.5px}.source.none{color:var(--text-faint);font-style:italic;font-family:var(--sans)}.arrow{color:var(--text-faint);padding:0 2px}.pill{font-size:10.5px;padding:1px 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:7px 0 7px 14px;border-left:2px solid var(--border);position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:13px;width:8px;height:8px;border-radius:50%;background:var(--border-strong)}.timeline .when{color:var(--text-faint);font-size:12px}.actionbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:4px}.actionbar input{width:150px}.error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:6px;padding:9px 12px;margin-bottom:12px}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:12.5px}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:3px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
