
:root{color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-2:#fafbfc;--surface-3:#f0f2f5;--surface-solid:#fff;--text:#292d34;--text-2:#626a76;--text-3:#717987;--line:#e5e8ed;--line-2:#edf0f3;--accent:#343c49;--accent-hover:#475263;--accent-press:#252c37;--accent-soft:#e9edf2;--on-accent:#fff;--red:#b54940;--red-soft:#fff1ee;--amber:#916323;--amber-soft:#fcf5e7;--green:#43735b;--green-soft:#edf6f0;--tip-close-bg:#f0f2f5;--tip-close-hover-bg:#e4e7eb;--radius:6px;--shadow-lg:0 12px 36px #202b3b22;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
[data-theme="dark"]{color-scheme:dark;--bg:#1b1d21;--surface:#22252a;--surface-2:#202328;--surface-3:#2c3037;--surface-solid:#292d33;--text:#eceef2;--text-2:#b1b8c3;--text-3:#a0a9b5;--line:#383d46;--line-2:#30353d;--accent:#d7dde7;--accent-hover:#eef1f7;--accent-press:#c3ccd9;--accent-soft:#353c48;--on-accent:#242a33;--red:#eca298;--red-soft:#402a29;--amber:#dfbb7c;--amber-soft:#3b3225;--green:#a0c9ad;--green-soft:#273a2f;--tip-close-bg:#383d46;--tip-close-hover-bg:#454c57;--shadow-lg:0 12px 36px #0005}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent);text-underline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible,.hl:focus-visible{outline:2px solid var(--text-2);outline-offset:3px}.hidden,[hidden]{display:none!important}
.app-shell{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--bg);border-right:1px solid var(--line);padding:30px 16px 20px;display:flex;flex-direction:column;gap:34px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px;font-size:15px;font-weight:600;white-space:nowrap}.brand-mark{font-size:14px;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;background:var(--surface);width:29px;height:29px}.nav-label{font-size:11px;letter-spacing:.1em;color:var(--text-3);padding:0 12px;margin:0 0 8px}.side-nav{display:grid;gap:4px}.nav-link{display:block;width:100%;padding:10px 12px;text-align:left;background:none;border:0;border-radius:5px;color:var(--text-2);font-size:13px;text-decoration:none;line-height:1.5}.nav-link:hover{background:var(--surface-3);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--text);font-weight:500}.sidebar-foot{margin-top:auto;display:grid;gap:12px;padding:0 9px}.status-pill{display:flex;align-items:center;gap:7px;color:var(--text-3);font-size:11px}.status-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--text-3)}.status-dot.online{background:var(--green)}.status-dot.offline{background:var(--red)}.sidebar-foot .btn{justify-content:flex-start;width:max-content}
.workspace{min-width:0;background:var(--surface)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 32px;border-bottom:1px solid var(--line);min-height:81px}.breadcrumb{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:12px}.breadcrumb strong{color:var(--text);font-weight:500}.topbar-right{display:flex;align-items:center;gap:10px}.mode-label{font-size:12px;color:var(--text-3)}.workspace-body{max-width:1560px;margin:0 auto;padding:32px}.workspace-heading{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:26px}.workspace-heading h1{font-size:22px;letter-spacing:-.03em;font-weight:600;margin:0 0 7px}.workspace-heading p{margin:0;color:var(--text-3);font-size:12px}.review-state{color:var(--text-2);font-size:12px;white-space:nowrap}.review-state.error{color:var(--red)}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,360px);gap:34px;align-items:start}.editor-panel{min-width:0}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:0 0 12px}.view-switch{display:flex;gap:3px}.view-button{background:none;border:0;padding:6px 11px;color:var(--text-3);border-radius:4px;font-size:12px}.view-button[aria-pressed="true"]{color:var(--text);background:var(--surface-3);font-weight:500}.editor-meta{display:flex;align-items:center;gap:12px}.char-count{color:var(--text-3);font-size:11px;white-space:nowrap}.textarea-wrap{margin-top:24px}textarea{width:100%;min-height:445px;resize:vertical;padding:4px 0 20px;border:0;background:transparent;font-size:17px;line-height:2;outline:none;letter-spacing:.01em}textarea::placeholder{color:var(--text-3);opacity:.8}textarea:focus{box-shadow:0 1px var(--line)}.reviewed{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;min-height:445px;padding:4px 0 20px;font-size:17px}.manuscript-preview{margin-top:24px}.editor-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--line);padding:12px 0;color:var(--text-3);font-size:11px}.stale-notice{color:var(--amber);background:var(--amber-soft);padding:11px 13px;margin:14px 0 0;border-radius:4px;font-size:12px}.inline-message{color:var(--red);font-size:12px;margin:12px 0}.advanced{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.advanced summary{font-size:12px;color:var(--text-2);list-style:none;display:flex;align-items:center;gap:10px}.advanced summary::-webkit-details-marker{display:none}.advanced summary::before{content:"＋";font-size:15px}.advanced[open] summary::before{content:"−"}.advanced summary span{margin-left:auto;color:var(--text-3);font-size:11px}.advanced .small{margin:13px 0}.models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin:14px 0}.model{display:flex;gap:9px;align-items:flex-start;padding:10px 8px;border-radius:4px;cursor:pointer}.model:hover{background:var(--surface-2)}.model input{margin:4px 0 0;accent-color:var(--accent)}.model-text{min-width:0}.model b{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.model span{display:block;font-size:11px;color:var(--text-3);margin-top:3px}
.results-panel{border-left:1px solid var(--line);padding-left:28px;min-width:0;min-height:545px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.results-heading h2{margin:0;font-size:14px;font-weight:500}.results-heading span{font-size:11px;color:var(--text-3)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:18px;margin-bottom:18px}.tab{background:none;border:0;color:var(--text-3);font-size:12px;padding:0 0 12px;position:relative;white-space:nowrap}.tab.active{color:var(--text);font-weight:500}.tab.active::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.tab.loading::before,.loader.on::before{content:"";display:inline-block;width:9px;height:9px;border:1.5px solid var(--line);border-top-color:var(--text-2);border-radius:50%;animation:spin .8s linear infinite;margin-right:5px}.tab.done::before{content:"·";color:var(--green);margin-right:5px}.summary{display:flex;flex-wrap:wrap;gap:7px 15px;border-bottom:1px solid var(--line);padding:0 0 14px;margin-bottom:3px}.summary:empty{display:none}.metric{display:flex;gap:4px;align-items:baseline;font-size:11px;color:var(--text-3)}.metric strong{font-size:14px;font-weight:500;color:var(--text)}.metric.high strong{color:var(--red)}.metric.medium strong{color:var(--amber)}.metric.low strong{color:var(--green)}.issue{border-bottom:1px solid var(--line);padding:18px 0;font-size:12px;overflow-wrap:anywhere}.issue-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:var(--text-3);font-size:11px}.issue-title b{font-weight:400}.issue-title span{white-space:nowrap}.issue p{color:var(--text-2);line-height:1.8;margin:8px 0}.issue p code{font-family:inherit;font-size:15px;color:var(--text);background:none}.issue>b{font-weight:500;color:var(--text)}.issue-actions{display:flex;gap:16px;align-items:center;margin-top:12px}.issue-actions button{padding:4px 0;border:0;background:none;font-size:12px;color:var(--text-3)}.issue-actions button:first-child{color:var(--accent);font-weight:500}.issue.resolved{opacity:.65}.issue-edit{display:flex;gap:10px;align-items:baseline;margin:11px 0;font-size:15px}.issue-edit del{color:var(--text-3);text-decoration-color:var(--red)}.issue-edit strong{font-weight:500;color:var(--text)}.issue-edit span{color:var(--text-3);font-size:12px}.sources,.small{font-size:12px;line-height:1.8;color:var(--text-3)}.sources{font-size:11px}.empty-state{padding:56px 4px 45px;text-align:center;color:var(--text-3)}.empty-state .empty-mark{width:32px;height:39px;margin:0 auto 19px;border:1px solid var(--line);border-radius:4px;display:grid;place-items:center;font-size:16px;color:var(--text-3);background:var(--surface-2)}.empty-state h3{color:var(--text-2);font-size:13px;font-weight:500;margin:0 0 8px}.empty-state p{font-size:12px;line-height:1.9;margin:0}.result-block{margin:26px 0 12px}.result-block h2{font-size:12px;font-weight:500;margin:0 0 8px}.mr{border-bottom:1px solid var(--line);padding:15px 0;font-size:12px;overflow-wrap:anywhere}.mr b{font-weight:500}.mr p{margin:8px 0}.models-result{margin-top:16px}.ok{color:var(--green)}.bad{color:var(--red)}.pill{display:inline-block;border-radius:3px;padding:1px 5px;background:var(--surface-3);font-size:11px;color:var(--text-2)}.search-verify button{font-size:11px!important;background:none!important;border:0!important;padding:4px 0!important;color:var(--text-2)}.search-verify-result{display:block;margin:6px 0 0!important;line-height:1.8;overflow-wrap:anywhere}.hl{border-bottom:1px solid var(--amber);background:var(--amber-soft);cursor:help;padding:1px 0}.hl.high{border-color:var(--red);background:var(--red-soft)}.hl.low{border-color:var(--green);background:var(--green-soft)}.hl.accepted{border-color:var(--green);background:var(--green-soft)}.tip{display:none}.tip .muted{color:var(--text-3);font-size:11px}
.btn{height:33px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--text-2);font-size:12px;line-height:1;text-decoration:none;white-space:nowrap;transition:background .15s}.btn:hover{background:var(--surface-3);color:var(--text)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);padding:0 17px;font-weight:500}.btn.primary:hover{background:var(--accent-hover)}.btn.subtle{border:0;background:none;padding:0 3px;color:var(--text-3)}.btn.subtle:hover{color:var(--text)}.btn.danger{color:var(--red)}.select,.input{min-height:33px;border:1px solid var(--line);border-radius:5px;background:var(--surface);padding:0 10px;font-size:12px}.select{max-width:100%}.input{width:100%}.input:focus,.select:focus{outline:2px solid var(--accent-soft);outline-offset:1px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.loader{display:none}.loader.on{display:inline-flex;align-items:center;color:var(--text-3);font-size:11px}.report-actions{display:flex;flex-wrap:wrap;gap:7px}.report-actions .btn{height:29px;font-size:11px}
#globalTooltip{position:fixed;z-index:200;display:none;background:var(--surface-solid);border:1px solid var(--line);border-radius:6px;padding:18px 32px 16px 16px;box-shadow:var(--shadow-lg);color:var(--text);line-height:1.8;font-size:12px;width:min(340px,calc(100vw - 24px));max-height:min(400px,calc(100vh - 36px));overflow-y:auto;overflow-wrap:anywhere;white-space:normal}#globalTooltip.on{display:block}#globalTooltip .tip-close{position:absolute;right:7px;top:7px;width:25px;height:25px;border:0;background:var(--tip-close-bg);border-radius:4px;font-size:18px;line-height:1}#globalTooltip .tip-close:hover{background:var(--tip-close-hover-bg)}#globalTooltip:not(.pinned){pointer-events:none}#globalTooltip.pinned{user-select:text}
.modal{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;background:#11182766;z-index:100;padding:40px 20px;overflow:auto}.modal.on{display:flex}.modal-card{width:min(880px,100%);max-height:calc(100vh - 80px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-lg);padding:24px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:20px}.modal-head h2{font-size:16px;font-weight:500;margin:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.admin-list{margin-top:20px}.admin-row{display:grid;grid-template-columns:1.3fr 1fr .8fr auto auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:16px 0;font-size:12px}.admin-row .muted{font-size:11px;color:var(--text-3);overflow-wrap:anywhere}.form-grid .input{height:38px}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.grid{grid-template-columns:minmax(0,1fr) 390px;gap:48px}.workspace-body{padding:40px 48px}.results-panel{padding-left:36px}textarea,.reviewed{min-height:510px}}
@media(max-width:1100px){.app-shell{grid-template-columns:150px minmax(0,1fr)}.sidebar{padding:26px 11px}.brand{font-size:14px;gap:8px;padding:0 5px}.workspace-body{padding:26px 24px}.grid{gap:23px;grid-template-columns:minmax(0,1fr) 300px}.results-panel{padding-left:20px}.topbar{padding:18px 24px}.topbar-right{gap:8px}.models{grid-template-columns:1fr}.mode-label{display:none}}
@media(max-width:900px){.app-shell{grid-template-columns:136px minmax(0,1fr)}.brand-mark{display:none}.grid{grid-template-columns:1fr}.results-panel{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;min-height:250px}.workspace-heading{margin-bottom:20px}textarea,.reviewed{min-height:320px}.models{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state{padding:30px 0}.results-heading{margin-bottom:15px}.topbar-right{gap:10px}.breadcrumb span:first-child,.breadcrumb .slash{display:none}}
@media(max-width:600px){.app-shell{display:block}.sidebar{padding:16px 18px 0;gap:17px;border-right:0;border-bottom:1px solid var(--line)}.brand-mark{display:grid}.brand{padding:0}.side-nav{display:flex;gap:5px}.nav-label{display:none}.nav-link{width:auto;padding:9px 11px;font-size:12px;border-radius:4px 4px 0 0}.sidebar-foot{position:absolute;right:18px;top:16px;margin:0;padding:0;display:flex;align-items:center;gap:14px}.status-pill #status{display:none}.sidebar-foot .btn{font-size:11px;height:29px}.topbar{padding:17px 20px;min-height:0;gap:10px;flex-wrap:wrap}.breadcrumb{font-size:11px}.topbar-right{gap:7px}.topbar .select{max-width:140px;font-size:11px}.topbar .btn{font-size:11px;padding:0 11px}.workspace-body{padding:25px 20px}.workspace-heading{display:block}.workspace-heading h1{font-size:21px}.review-state{display:block;margin-top:13px;font-size:11px}.grid{gap:25px}.textarea-wrap,.manuscript-preview{margin-top:20px}textarea,.reviewed{font-size:16px;min-height:300px}.models{grid-template-columns:1fr}.editor-meta{gap:10px}.editor-caption{align-items:flex-start;font-size:11px}.editor-caption #modeHelp{max-width:75%}.modal{padding:18px 12px}.modal-card{padding:20px 16px;max-height:calc(100vh - 36px)}.form-grid,.admin-row{grid-template-columns:1fr}.modal-card select{min-width:0!important;width:100%!important}.modal-card [style*="repeat(2"]{grid-template-columns:1fr!important}.issue-actions button{min-height:38px}.tab{padding-bottom:13px;min-height:38px}.tabs{gap:22px}}
@media(pointer:coarse){.btn,.view-button,.nav-link{min-height:40px}.model{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep model selection visible on common laptop screens. */
.sidebar{position:sticky;top:0;height:100dvh}
@media(min-width:901px){textarea,.reviewed{min-height:clamp(300px,42vh,445px)}}
@media(max-width:600px){.sidebar{position:static;height:auto}}

/* Keep the primary action beside the draft, including on narrow screens. */
.wb-review .editor-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:4px;padding:16px 0;border-top:1px solid var(--line)}
.wb-review .review-mode{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.wb-review .review-mode label{font-size:12px;color:var(--text-3)}
.wb-review .editor-actions #run{min-height:38px;padding:0 20px;font-size:13px}
.wb-review .editor-caption{border-top:0;padding-top:0}
.wb-review .advanced{margin-top:14px}
@media(max-width:600px){.wb-review .editor-actions{gap:10px;padding:14px 0}.wb-review .review-mode{flex:1;gap:7px}.wb-review .review-mode label{display:none}.wb-review .review-mode .select{width:100%;min-width:0;height:40px;font-size:12px}.wb-review .editor-actions #run{min-height:40px;flex-shrink:0;padding:0 15px;font-size:12px}}

.wb-review .topbar{min-height:60px;padding-top:16px;padding-bottom:16px}
.wb-review{--severity-red:#a52b32;--severity-red-bg:#fff0ef;--severity-red-line:#df9296;--severity-yellow:#805300;--severity-yellow-bg:#fff8df;--severity-yellow-line:#d5ae4b;--severity-green:#286546;--severity-green-bg:#edf7f0;--severity-green-line:#8ebca0;--severity-red-badge:#ad2731;--severity-red-ink:#fff;--severity-yellow-badge:#f3d16f;--severity-yellow-ink:#573a00;--severity-green-badge:#cdebd7;--severity-green-ink:#205638;--highlight-red:#ffdbda;--highlight-yellow:#ffedaf;--highlight-green:#d4eddd}
.wb-review[data-theme="dark"],[data-theme="dark"] .wb-review{--severity-red:#ffb4b4;--severity-red-bg:#3b252a;--severity-red-line:#a25763;--severity-yellow:#f3ce83;--severity-yellow-bg:#352e20;--severity-yellow-line:#97783f;--severity-green:#acdfbf;--severity-green-bg:#23372c;--severity-green-line:#527d62;--severity-red-badge:#f3a1a8;--severity-red-ink:#45151d;--severity-yellow-badge:#e8c373;--severity-yellow-ink:#463100;--severity-green-badge:#a0d2b2;--severity-green-ink:#1c402b;--highlight-red:#66313c;--highlight-yellow:#5b4824;--highlight-green:#31583f}
.wb-review .severity-legend{display:flex;flex-wrap:wrap;gap:7px 14px;font-size:11px;line-height:1.6;color:var(--text-2);margin:-3px 0 16px}
.wb-review .severity-legend span{display:inline-flex;align-items:center;gap:5px}
.wb-review .severity-legend span::before{content:"";width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--severity-yellow)}
.wb-review .severity-legend .high::before{background:var(--severity-red-badge)}
.wb-review .severity-legend .low::before{background:var(--severity-green)}
.wb-review .summary{gap:6px;padding-bottom:14px}
.wb-review .metric{flex:1;min-width:52px;display:grid;gap:0;padding:7px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface-2);color:var(--text-2)}
.wb-review .metric strong{font-size:19px;font-weight:600;line-height:1.3}
.wb-review .metric.high{background:var(--severity-red-bg);border-color:var(--severity-red-line);color:var(--severity-red)}
.wb-review .metric.medium{background:var(--severity-yellow-bg);border-color:var(--severity-yellow-line);color:var(--severity-yellow)}
.wb-review .metric.low{background:var(--severity-green-bg);border-color:var(--severity-green-line);color:var(--severity-green)}
.wb-review .metric.high strong,.wb-review .metric.medium strong,.wb-review .metric.low strong{color:inherit}
.wb-review .issue{margin:12px 0;padding:14px;border:1px solid var(--line);border-left-width:4px;border-radius:5px;background:var(--surface-2)}
.wb-review .issue.high{border-color:var(--severity-red-line);border-left-color:var(--severity-red-badge);background:var(--severity-red-bg)}
.wb-review .issue.medium{border-color:var(--severity-yellow-line);border-left-color:var(--severity-yellow-line);background:var(--severity-yellow-bg)}
.wb-review .issue.low{border-color:var(--severity-green-line);border-left-color:var(--severity-green);background:var(--severity-green-bg)}
.wb-review .issue-title{align-items:flex-start;margin-bottom:8px;gap:8px}
.wb-review .issue-title b{font-size:12px;font-weight:500;color:var(--text)}
.wb-review .issue p{color:var(--text)}
.wb-review .severity-badge{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 8px;border-radius:3px;background:var(--severity-yellow-badge);color:var(--severity-yellow-ink);font-size:11px;font-weight:600;line-height:1.5;vertical-align:middle;white-space:normal}
.wb-review .severity-badge::before{content:"!";display:grid;place-items:center;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;font-size:10px;line-height:1;flex-shrink:0}
.wb-review .severity-badge.high{background:var(--severity-red-badge);color:var(--severity-red-ink)}
.wb-review .severity-badge.low{background:var(--severity-green-badge);color:var(--severity-green-ink)}
.wb-review .severity-badge.low::before{content:"·";font-size:16px}
.wb-review .conclusion>.severity-badge{display:flex;width:max-content;max-width:100%;margin-bottom:8px}
.wb-review .conclusion.high>b{color:var(--severity-red);font-weight:600}
.wb-review .conclusion.medium>b{color:var(--severity-yellow);font-weight:600}
.wb-review .conclusion.low>b{color:var(--severity-green)}
.wb-review .risk-verdict{display:inline-block;margin-left:8px;color:var(--text-2);font-size:11px}
.wb-review .issue.high .issue-edit del{color:var(--severity-red);text-decoration-color:var(--severity-red);text-decoration-thickness:1.5px}
.wb-review .hl{color:var(--severity-yellow);background:var(--highlight-yellow);border-bottom:3px solid var(--severity-yellow-line);border-radius:2px;padding:1px 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.wb-review .hl.high{color:var(--severity-red);background:var(--highlight-red);border-color:var(--severity-red-badge);font-weight:600}
.wb-review .hl.low,.wb-review .hl.accepted{color:var(--severity-green);background:var(--highlight-green);border-color:var(--severity-green)}
.wb-review #globalTooltip .severity-badge{margin:0 8px 8px 0}
