:root{font:14px/1.65 'Microsoft YaHei',system-ui,sans-serif;color:#263936;background:#f4f6f5;--green:#28725a;--muted:#677b74;--border:#dde5e1}*{box-sizing:border-box}body{margin:0;padding:28px 32px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:8px;background:white;color:inherit;padding:7px 12px}button:hover{background:#eef4f0}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}header{display:flex;justify-content:space-between;gap:24px;margin-bottom:22px}h1{font-size:28px;margin:1px 0 4px;letter-spacing:-1px}h2{font-size:19px;margin:3px 0}h3{font-size:15px;margin:0}p{margin:0}.eyebrow{font-size:11px;color:var(--green);font-weight:700;letter-spacing:1.5px}small{font-size:12px;color:var(--muted)}#filename{color:var(--muted);overflow-wrap:anywhere}.header-actions{display:flex;gap:8px;align-content:center;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:530px}#saveState{width:100%;text-align:right}.overview{display:grid;grid-template-columns:1.8fr 1.3fr repeat(4,1fr);background:white;border:1px solid var(--border);border-radius:12px;padding:18px 24px;gap:24px;align-items:center}.overview strong{display:block;font-size:26px;font-weight:600;line-height:1.4;font-variant-numeric:tabular-nums}.overview small{display:block}.overview .rate{border-right:1px solid var(--border)}.rate strong{font-size:34px;color:var(--green)}.rate span{font-size:11px;color:var(--muted)}.progress{display:flex;align-items:center;gap:18px;margin:12px 0 22px}.progress progress{width:160px;height:6px;accent-color:var(--green)}main{display:grid;grid-template-columns:235px minmax(0,1fr);gap:22px}aside{border:1px solid var(--border);border-radius:12px;background:white;overflow:hidden;align-self:start}.list-controls{display:grid;gap:8px;padding:15px;border-bottom:1px solid var(--border)}select,input[type=search],textarea{width:100%;border:1px solid #ccd9d2;border-radius:7px;padding:8px;background:white;color:inherit}.list-controls label{font-size:12px;color:var(--muted)}#list{max-height:65vh;overflow:auto;padding:6px}.sample{display:block;width:100%;text-align:left;border:1px solid transparent;padding:10px;margin-bottom:3px;contain:content}.sample.active{background:#edf5f0;border-color:#aecabb}.sample-top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.sample-preview{color:#687a73;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px;overflow-wrap:anywhere}.badge{font-size:11px;border-radius:4px;padding:0 5px;background:#eff2f0}.badge.correct{color:#216446;background:#e7f4ea}.badge.wrong{color:#a03f37;background:#fff0ed}.badge.unsure{color:#8f6d24;background:#fff6df}.badge.error{color:#616d68;background:#ecefed}article{min-width:0}.sample-header{display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.navigation{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}.panels{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.panel{min-width:0;border:1px solid var(--border);border-radius:12px;background:white;padding:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:33px}.legend{font-size:12px;color:var(--muted);margin:9px 0 12px;min-height:20px}pre{margin:0;font:14px/1.95 'Microsoft YaHei',system-ui,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;max-height:43vh;min-height:230px;overflow:auto}#source{color:#75857e}mark{background:#d9efdc;color:#194d35;padding:2px 0;box-decoration-break:clone}#result{color:#263936}.grading{margin-top:14px;border:1px solid var(--border);border-radius:12px;padding:18px;background:white}.grade-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grade-actions button{font-weight:600}.grade-actions .correct{color:#236046;border-color:#98b9a5;background:#eff8f1}.grade-actions .wrong{color:#a54537;border-color:#debbb0;background:#fff4f0}.grade-actions .unsure{color:#8b6823;border-color:#dacaab;background:#fffaf0}.grade-actions button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:1px}.toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}input[type=checkbox]{accent-color:var(--green)}#decision{font-size:13px;margin:10px 0;color:var(--green)}.notes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.notes label{display:block;font-size:12px;color:var(--muted)}.notes .toggle{display:flex;margin-bottom:4px}textarea{display:block;resize:vertical;margin-top:4px;min-height:66px}textarea:disabled{background:#f5f7f5}.shortcuts{display:block;margin-top:12px}footer{text-align:center;color:var(--muted);font-size:12px;margin:22px 0 0}#empty{padding:100px 20px;text-align:center;color:var(--muted)}#notice{border:1px solid #e3bb90;background:#fff4e3;padding:12px;border-radius:8px;margin-bottom:16px;color:#805721}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1650px){body{max-width:1760px;margin:auto}}@media(max-width:1100px){body{padding:20px}main{grid-template-columns:195px minmax(0,1fr);gap:14px}.overview{gap:12px;padding:15px}.sample-header{flex-direction:column}.navigation{justify-content:flex-start}.panels{grid-template-columns:1fr}pre{max-height:32vh;min-height:140px}.notes{grid-template-columns:1fr}}@media(max-width:700px){body{padding:14px}header{flex-direction:column}.header-actions{justify-content:flex-start}#saveState{text-align:left}.overview{grid-template-columns:repeat(3,1fr)}.overview .rate{border:0}.rate strong{font-size:28px}main{grid-template-columns:1fr}#list{max-height:180px}.list-controls{grid-template-columns:1fr 1fr}.list-controls label{grid-column:1/-1}.sample-header{margin-top:10px}.progress{align-items:flex-start}.overview strong{font-size:23px}}

.judgebar{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px;margin-bottom:14px;position:sticky;top:8px;z-index:2;box-shadow:0 2px 8px #243b3008}.judgebar #decision{margin:7px 0 0}
