:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#202526;background:#f6f7f8;font-size:14px;letter-spacing:0}
.lucide{width:17px;height:17px;vertical-align:middle;flex-shrink:0}button .lucide{margin-right:6px}.icon-button{width:36px;height:36px;padding:7px}.icon-button .lucide{margin:0}header>.lucide{width:23px;height:23px;color:#176554}
dialog{border:1px solid #bdc9c6;border-radius:6px;padding:24px;width:420px;max-width:calc(100% - 24px)}dialog::backdrop{background:#18252166}#register-form{width:420px;max-width:calc(100% - 32px);padding:24px;border:1px solid #d8dede;border-radius:6px;background:#fff;margin:24px 0}#register-form>label:not(.confirm){margin:16px 0}#register-form input:not([type=checkbox]){display:block;width:100%;margin-top:6px}#register-form p{font-size:12px;color:#566464}#register-form #register-error,#password-error{color:#a92d37}.admin-content{max-width:1100px;padding:24px;margin:auto}.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:12px;border-bottom:1px solid #d8dede;white-space:nowrap}th{color:#5f6b68;font-size:12px}#invite-result{padding:12px 0}#invite-url{width:100%}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;max-width:100%}button{cursor:pointer;border:1px solid #c8cecf;background:#fff;color:inherit;border-radius:4px;padding:7px 12px;min-height:36px}button:hover{background:#eef2f2}button:disabled{opacity:.5;cursor:default}.primary{background:#176554;color:#fff;border-color:#176554}.primary:hover{background:#104d40}
input,select,textarea{border:1px solid #b7c0c1;border-radius:4px;background:#fff;padding:8px;color:inherit}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid #197d72;outline-offset:2px}textarea{resize:vertical;width:100%}label{display:block}h1{font-size:19px;margin:0}h2{font-size:15px;margin:22px 0 12px}p{line-height:1.6}header{height:60px;display:flex;align-items:center;gap:12px;padding:0 22px;background:#fff;border-bottom:1px solid #dce1e1}header strong{font-size:18px}.badge{font-size:12px;background:#e9f2ee;color:#235e4c;padding:4px 7px;border-radius:3px}.account{margin-left:auto;display:flex;align-items:center;gap:10px}.account span{color:#5c6667;font-size:13px}
[hidden]{display:none!important}#notice{padding:12px 22px;background:#fff0dc;color:#704109;border-bottom:1px solid #e7c993;overflow-wrap:anywhere}#login-view{min-height:70vh;display:grid;place-items:center}#login-form{width:360px;max-width:calc(100% - 32px);padding:28px;border:1px solid #d8dede;border-radius:6px;background:#fff}#login-form label{margin:22px 0}#login-form input{width:100%;margin-top:7px}#login-form button{width:100%}#login-error{color:#a92d37;font-size:13px}
#workspace{display:grid;grid-template-columns:252px minmax(0,1fr);height:calc(100dvh - 60px)}.queue{padding:20px 14px;border-right:1px solid #d8dede;display:flex;flex-direction:column;gap:12px;min-height:0;background:#f0f3f3}.queue-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.queue-head h1{font-size:16px}#progress{font-size:12px;color:#566464}.search input{width:100%;margin-top:5px}#tasks{overflow:auto;min-height:0;display:flex;flex-direction:column;gap:4px}#tasks button{text-align:left;background:transparent;border:1px solid transparent;padding:12px 10px;min-height:76px;flex-shrink:0;width:100%;overflow-wrap:anywhere}#tasks button:hover{background:#e4eaea}#tasks button.selected{background:#fff;border-color:#5a9084;box-shadow:inset 3px 0 #176554}.task-name{font-weight:600;display:block;margin-bottom:7px}.task-meta{font-size:12px;color:#637171;display:block}.task-status{display:inline-block;font-size:11px;color:#624817;background:#f4e9ca;padding:2px 5px;margin-top:5px}.task-status.done{background:#e0eee7;color:#1f6045}#empty{display:grid;place-items:center;color:#7b8586}
#review{display:flex;flex-direction:column;min-width:0;min-height:0}.review-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid #d8dede;background:#fff}.review-heading h1{overflow-wrap:anywhere;font-size:20px}.review-heading p{margin:6px 0 0;color:#647171;font-size:12px}.review-heading #save-state{font-size:12px;flex-shrink:0;color:#426b61}.review-columns{display:grid;grid-template-columns:minmax(300px,1fr) minmax(340px,400px);min-height:0;flex:1}.reader,.scoring{overflow:auto;min-width:0;overscroll-behavior:contain}.reader{padding:0 24px 32px;background:#fff}.scoring{border-left:1px solid #d8dede;padding:20px;background:#fafbfb}.reading-tools{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:12px 0;background:#fff;border-bottom:1px solid #e3e7e7;z-index:1}.reading-tools label{display:flex;align-items:center;gap:8px}.reading-tools input{width:72px}#rubric-toggle{margin-left:auto}details{border-bottom:1px solid #dce2e2;padding:16px 0}summary{cursor:pointer;font-weight:600}#character,#rubric{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}#character{padding-top:14px}#rubric{padding:18px 0;border-bottom:1px solid #ddd}.turn{padding:22px 0;border-bottom:1px solid #e2e6e6;scroll-margin-top:72px}.turn-top{display:flex;align-items:center;justify-content:space-between;color:#6b7878;font-size:12px;margin-bottom:10px}.turn-top button{font-size:12px;padding:3px 8px;min-height:30px}.speech-label{font-size:11px;text-transform:uppercase;color:#576c78;font-weight:700;margin:14px 0 6px}.speech{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}.speech.user{border-left:3px solid #829cae;padding-left:12px;color:#425a68}.speech.assistant{padding-left:15px}.highlight{background:#fff7dc}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:16px;font-weight:600;margin-bottom:8px}.scale{font-size:11px;color:#6a7575;margin:0 0 12px}.score-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #e2e7e7}.score-row span{font-size:13px}.score-row small{display:block;color:#798585;font-size:11px;margin-top:3px}.score-row input{width:72px}.flag{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.7;margin:8px 0}.flag input{margin-top:4px;flex-shrink:0}.evidence-row{padding:12px 0;border-bottom:1px solid #dce2e2;display:grid;grid-template-columns:68px minmax(0,1fr) 48px;gap:6px}.evidence-row textarea{grid-column:1/-1;min-height:75px}.evidence-row button{padding:4px;font-size:12px}.evidence-row input{width:68px}#add-evidence{margin-top:10px}.stack{font-size:13px;margin-top:20px}.stack input,.stack select,.stack textarea{display:block;width:100%;margin-top:7px}.confirm{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.8;margin:20px 0}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.view-tabs{display:none}
@media(min-width:1800px){.review-columns{grid-template-columns:minmax(0,1fr) 460px}.reader{padding-left:60px;padding-right:60px}}
@media(max-width:1100px){#workspace{grid-template-columns:210px minmax(0,1fr)}.review-columns{grid-template-columns:minmax(0,1fr)}.view-tabs{display:flex;padding:8px 20px;gap:6px;border-bottom:1px solid #d8dede}.view-tabs button[aria-pressed=true]{background:#176554;color:#fff;border-color:#176554}.scoring{display:none}.scoring.active{display:block}.reader.inactive{display:none}.review-heading{padding:16px}.reader{padding-left:16px;padding-right:16px}}
@media(max-width:640px){header{padding:0 12px;gap:8px;height:auto;min-height:60px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}header strong{font-size:16px}.badge{font-size:10px}.account{gap:6px}.account span{display:none}.account button{font-size:11px;padding:5px 7px;min-height:30px}#workspace{display:flex;flex-direction:column;height:auto;min-height:calc(100dvh - 60px)}.queue{border-right:0;border-bottom:1px solid #d8dede;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}.queue-head{grid-column:1/-1}.search{font-size:0}.search input{font-size:14px;margin:0}#tasks{grid-column:1/-1;flex-direction:row;height:102px}#tasks button{width:170px;min-height:90px}#review{min-height:700px}.review-columns{display:block}.reader,.scoring{max-height:none;overflow:visible}.review-heading{align-items:flex-start}.review-heading h1{font-size:18px}.reading-tools{position:static;flex-wrap:wrap}.review-heading #save-state{font-size:11px}#empty{min-height:200px}}
