:root{--bg:#f4f6f9;--panel:#fff;--ink:#1c2430;--muted:#5f6b7a;--line:#dde3ea;--accent:#1f4e8c;--accent-ink:#fff;--para:#6c3483;--para-bg:#f3eaf8;--warn-bg:#fff6e0;--warn-ink:#7a5300;--danger:#b03a2e;--excluded:#9aa4b1;--s1:#c0392b;--s1-bg:#fbe3e0;--s2:#1f6fb2;--s2-bg:#dfeefa;--s3:#1e8449;--s3-bg:#dff3e6;--s4:#8e44ad;--s4-bg:#efe2f5;--s5:#b9770e;--s5-bg:#fbefd9;--s6:#117a8b;--s6-bg:#dcf1f4;--s7:#a93259;--s7-bg:#f8e1ea;--s8:#5d6d7e;--s8-bg:#e8ecf0;--s9:#7d6608;--s9-bg:#f5f0d6;--s10:#2e4053;--s10-bg:#e1e6ec;--s11:#ba4a00;--s11-bg:#fbe5d6;--s12:#196f3d;--s12-bg:#dcefe3;--ai-notable:#f1e4f7;--ai-some:#f8f1fb;--radius:10px}@media (prefers-color-scheme:dark){:root{--bg:#12161c;--panel:#1b2129;--ink:#e6eaf0;--muted:#9aa6b4;--line:#2c3540;--accent:#5b8fd6;--para:#c39bd9;--para-bg:#2e2238;--warn-bg:#3a2f14;--warn-ink:#f0cf7a;--excluded:#6b7684;--s1-bg:#4a2420;--s2-bg:#1c3550;--s3-bg:#1b3a27;--s4-bg:#38234a;--s5-bg:#44331a;--s6-bg:#173b41;--s7-bg:#44202f;--s8-bg:#2c333b;--s9-bg:#3b351a;--s10-bg:#262f3a;--s11-bg:#47291a;--s12-bg:#1b3a28;--s1:#f08a7e;--s2:#7cb6ee;--s3:#78d39a;--s4:#c99be0;--s5:#e9b65c;--s6:#6fcbd8;--s7:#e88aac;--s8:#aab6c3;--s9:#d8c25e;--s10:#9fb2c8;--s11:#f0a066;--s12:#74cf97;--ai-notable:#3a2747;--ai-some:#2a2232}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:0 0 .4rem;font-size:1.45rem}h2{margin:0 0 .4rem;font-size:1.15rem}h3{margin:1rem 0 .4rem;font-size:1rem}h4{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .25rem;font-size:.75rem}a{color:var(--accent)}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:.82rem}.block{display:block}.num{text-align:right;font-variant-numeric:tabular-nums}.topbar{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.7rem 1.25rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.6rem;display:flex}.logo{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);border-radius:8px;place-items:center;font-size:.85rem;font-weight:700;display:inline-grid}.tag{background:var(--warn-bg);color:var(--warn-ink);border-radius:99px;margin-left:.4rem;padding:.1rem .45rem;font-size:.7rem}.tabs{flex:1;gap:.25rem;display:flex}.tabs a,.seg button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;padding:.4rem .8rem}.tabs a{text-decoration:none}.tabs a.active,.seg button.active{background:var(--bg);color:var(--ink);border-color:var(--line);font-weight:600}.db-banner{background:var(--s1-bg);color:var(--ink);border-bottom:1px solid var(--s1);overflow-wrap:anywhere;padding:.6rem 1.25rem;font-size:.9rem}.db-banner strong{color:var(--s1)}main{max-width:1500px;margin:0 auto;padding:1.25rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.25rem}.panel.narrow{max-width:680px;margin:0 auto}.grid-2{grid-template-columns:minmax(280px,1fr) 2fr;gap:1rem;display:grid}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;width:100%;padding:.45rem .6rem}.inline-num{width:4.5rem!important;padding:.15rem .35rem!important}.field{color:var(--muted);margin:.7rem 0;font-size:.88rem;display:block}.field input,.field textarea{margin-top:.25rem}fieldset{border:1px solid var(--line);border-radius:8px;margin:.8rem 0;padding:.5rem .9rem .7rem}legend{color:var(--muted);padding:0 .3rem;font-size:.82rem}.check{align-items:center;gap:.45rem;margin:.3rem 0;display:flex}.drop{border:2px dashed var(--line);border-radius:var(--radius);text-align:center;cursor:pointer;color:var(--muted);margin:1rem 0;padding:1.6rem;display:block}.drop:hover{border-color:var(--accent)}.drop input{margin:0 auto .5rem;display:block}.drop.has-file{border-color:var(--accent);color:var(--ink)}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:.45rem .9rem}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.link{color:var(--accent);text-align:left;background:0 0;border:none;padding:0}button.danger{color:var(--danger)}button:disabled{opacity:.6;cursor:progress}.flash{background:var(--s2-bg);border-radius:8px;max-width:900px;margin:0 auto 1rem;padding:.6rem .9rem;display:block}.flash.error{background:var(--s1-bg);color:var(--ink)}.table{border-collapse:collapse;width:100%;margin-top:.6rem;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem .4rem}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem}.table th.num,.table td.num{text-align:right}.clickable{cursor:pointer}.clickable:hover{background:var(--bg)}.seg{flex-wrap:wrap;gap:.2rem;display:inline-flex}.report-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.75rem}.scores{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.score{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:.9rem 1.1rem;display:flex}.score .label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem}.score .label em{text-transform:none;font-style:normal}.score .value{font-size:1.9rem;font-weight:700;line-height:1.3}.score .sub{color:var(--muted);font-size:.82rem}.score.sim{border-top:4px solid var(--accent)}.score.para{border-top:4px solid var(--para)}.score.ai{border-top:4px dashed var(--para);background:var(--ai-some)}.review-banner{background:var(--warn-bg);color:var(--warn-ink);border-radius:8px;margin:1rem 0;padding:.55rem .9rem;font-size:.88rem}.rerun{flex-wrap:wrap;align-items:center;gap:.3rem 1rem;margin-bottom:1rem;font-size:.9rem;display:flex}.report-body{grid-template-columns:minmax(0,1.7fr) minmax(320px,1fr);align-items:start;gap:1rem;display:grid}.doc-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem;display:flex}.doc-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:75vh;padding-right:.5rem;font-family:Georgia,Times New Roman,serif;font-size:1rem;line-height:1.75;overflow-y:auto}.side{max-height:calc(100vh - 6rem);position:sticky;top:4.5rem;overflow-y:auto}.side-tabs{margin-bottom:.8rem}.side-tabs button{padding:.3rem .55rem;font-size:.85rem}mark{color:inherit;cursor:pointer;border-radius:3px;padding:0 1px}mark sup{margin-right:2px;font:700 .65rem system-ui,sans-serif}mark:focus{outline:2px solid var(--accent)}.match{border-bottom:2px solid}.para-cand{background:var(--para-bg);border-bottom:2px dashed var(--para)}.para-cand sup{color:var(--para)}.excluded{color:var(--excluded)}.ai-passage{cursor:pointer}.ai-notable{background:var(--ai-notable)}.ai-some{background:var(--ai-some)}.src-1{--c:var(--s1);--cb:var(--s1-bg)}.src-2{--c:var(--s2);--cb:var(--s2-bg)}.src-3{--c:var(--s3);--cb:var(--s3-bg)}.src-4{--c:var(--s4);--cb:var(--s4-bg)}.src-5{--c:var(--s5);--cb:var(--s5-bg)}.src-6{--c:var(--s6);--cb:var(--s6-bg)}.src-7{--c:var(--s7);--cb:var(--s7-bg)}.src-8{--c:var(--s8);--cb:var(--s8-bg)}.src-9{--c:var(--s9);--cb:var(--s9-bg)}.src-10{--c:var(--s10);--cb:var(--s10-bg)}.src-11{--c:var(--s11);--cb:var(--s11-bg)}.src-12{--c:var(--s12);--cb:var(--s12-bg)}mark.match{background:var(--cb);border-color:var(--c)}mark.match sup{color:var(--c)}.source-list,.para-list,.ai-list{margin:0;padding:0;list-style:none}.source{text-align:left;border-left:4px solid var(--c);background:var(--panel);grid-template-columns:auto auto 1fr;align-items:start;gap:.6rem;width:100%;margin-bottom:.45rem;display:grid}.source:hover{background:var(--cb)}.badge{background:var(--c,var(--para));color:#fff;border-radius:6px;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .3rem;font-size:.8rem;font-weight:700;display:inline-grid}.pct{color:var(--c);min-width:3rem;font-weight:700}.stitle{overflow-wrap:anywhere}.detail-head{align-items:center;gap:.5rem;display:flex}.detail-head.para{--c:var(--para)}.row{gap:.4rem;margin:.4rem 0;display:flex}.compare{grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.6rem;display:grid}.compare p{background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:.6rem;font-family:Georgia,serif;font-size:.92rem}.notice{background:var(--para-bg);border-radius:6px;padding:.5rem .7rem;font-size:.85rem}.warn{background:var(--warn-bg);color:var(--warn-ink);border-radius:6px;padding:.45rem .7rem}.para-list li,.ai-list li{border-bottom:1px solid var(--line);padding:.5rem 0}.ai-list li{border-left:4px solid #0000;padding-left:.6rem}.ai-list li.ai-notable{border-left-color:var(--para)}.ai-list li.ai-some{border-left-color:var(--line)}.snippet{color:var(--muted);margin-top:.2rem;font-family:Georgia,serif;font-size:.85rem;display:block}.limitations{background:var(--warn-bg);color:var(--warn-ink);border-radius:8px;padding:.6rem .8rem;font-size:.84rem}.limitations ul{margin:.3rem 0 0;padding-left:1.1rem}.kv{grid-template-columns:auto 1fr;gap:.25rem .8rem;margin:.8rem 0;font-size:.88rem;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;margin:0}@media (max-width:1000px){.report-body,.grid-2{grid-template-columns:1fr}.side{max-height:none;position:static}.scores,.compare{grid-template-columns:1fr}}.brand{color:inherit;text-decoration:none}.tabs{flex-wrap:wrap}select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:.4rem .5rem}.field select{width:100%;margin-top:.25rem;display:block}a.button{color:var(--ink);border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.45rem .9rem;text-decoration:none;display:inline-block}a.button:hover{background:var(--bg)}button.wide{width:100%;margin-top:.5rem}.center-msg{text-align:center;margin-top:20vh}.page-title{margin:0 0 1rem}.panel+.panel,.grid-2+.panel,.panel+.grid-2,.grid-2>div>.panel+.panel{margin-top:1rem}.grid-2.even{grid-template-columns:1fr 1fr}.grid-2.wide-right{grid-template-columns:minmax(300px,1fr) 2fr}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.panel-head h2{margin:0}.plain-list{margin:0 0 .8rem;padding:0;list-style:none}.plain-list li{border-bottom:1px solid var(--line);padding:.45rem 0}.plain-list a{text-decoration:none}.nowrap{white-space:nowrap}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.auth-card{max-width:420px;margin:6vh auto 0}.auth-card h1{margin-top:.2rem}.auth-logo{justify-content:center;margin-bottom:.4rem;display:flex}.auth-logo .logo{border-radius:12px;width:48px;height:48px;font-size:1.1rem}.usermenu{margin-left:auto;position:relative}.userbtn{border:1px solid var(--line);align-items:center;gap:.55rem;padding:.3rem .6rem .3rem .35rem;display:flex}.avatar{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;place-items:center;font-weight:700;display:inline-grid}.userinfo{flex-direction:column;align-items:flex-start;font-size:.85rem;line-height:1.2;display:flex}.role-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem}.role-admin{color:var(--s1)}.role-teacher{color:var(--s2)}.role-student{color:var(--s3)}.menu{background:var(--panel);border:1px solid var(--line);z-index:10;border-radius:10px;flex-direction:column;min-width:220px;padding:.4rem;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}.menu a,.menu button{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .6rem;text-decoration:none}.menu a:hover,.menu button:hover{background:var(--bg)}.menu-email{border-bottom:1px solid var(--line);overflow-wrap:anywhere;margin-bottom:.3rem;padding:.3rem .6rem .5rem}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:.8rem 1rem;display:flex}.stat .value{font-size:1.6rem;font-weight:700}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.badge-ok{color:var(--s3);font-weight:600}.badge-warn{color:var(--warn-ink);background:var(--warn-bg);border-radius:5px;padding:0 .35rem;font-weight:600}.row-error td{background:var(--s1-bg)}.row-muted td{color:var(--muted)}.table-scroll{overflow-x:auto}.actions-cell{white-space:nowrap}.actions-cell .link{margin-right:.7rem}.filters{flex-wrap:wrap;gap:.6rem;margin-bottom:.4rem;display:flex}.filters input[type=search]{flex:1;width:auto;min-width:200px}.pager{justify-content:flex-end;align-items:center}.temp-pw{background:var(--panel);border:1px solid var(--line);-webkit-user-select:all;user-select:all;border-radius:5px;padding:.1rem .4rem;font-size:1.05rem}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.4rem 1rem;margin-bottom:1rem;display:flex}.inline-form .field{flex:1;min-width:180px;margin:0}.inline-form .check{margin:0 0 .5rem}.page-tabs{margin:0 0 1rem}.bulk-results{margin-top:1rem}.notice+.notice,.panel .notice{margin-top:.8rem}.instructions{white-space:pre-wrap;margin-bottom:1rem}.narrow-left{max-width:720px;margin-bottom:1rem}.missing{margin-top:1rem}.missing summary{cursor:pointer;color:var(--warn-ink)}@media (max-width:1000px){.grid-2.even,.grid-2.wide-right{grid-template-columns:1fr}.usermenu{margin-left:0}.userinfo{display:none}}.source-link{overflow-wrap:anywhere;margin:-.2rem 0 .5rem 2.3rem;display:block}.review-box{border:1px dashed var(--line);border-radius:8px;margin:.6rem 0;padding:.6rem .7rem}.review-box p{margin:.5rem 0 0}.verdict{background:var(--bg);border-radius:6px;padding:.5rem .7rem;font-size:.86rem}.verdict-tag{font-weight:600}.verdict-reworded_source{color:var(--s1)}.verdict-cited_or_quoted,.verdict-common_phrasing{color:var(--s3)}.verdict-not_related{color:var(--muted)}.attack-banner{background:var(--s1-bg);color:var(--ink);border-left:4px solid var(--s1);border-radius:8px;margin:1rem 0 0;padding:.55rem .9rem;font-size:.88rem}
