:root{--bg:#f4f5f6;--panel:#fff;--ink:#1b222c;--muted:#677283;--line:#d0d5dd;--line-soft:#e7e9ee;--green:#098842;--green-deep:#087438;--green-dark:#1e6b41;--soft:#eaf6ef;--red:#b83a33;--yellow:#fff0a7}
@font-face{font-family:"Noto Sans";src:url('/fonts/NotoSans-Regular-47b1593ad8faa986dd1c.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"Noto Sans";src:url('/fonts/NotoSans-SemiBold-a38658cc126f57ba4818.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:"Source Code Pro";src:url('/fonts/SourceCodePro-Regular.ttf-84b900b88d09398d86b0.woff2') format('woff2');font-display:swap}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{overflow:hidden;color:var(--ink);background:var(--bg);font:13px/1.6 "Noto Sans","Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;line-height:1.4;padding:8px 12px;border:1px solid var(--line);border-radius:4px;color:#495365;background:#fff;transition:background .15s,border-color .15s}button:hover{border-color:#b8dbc8;background:var(--soft);color:var(--green-dark)}button.primary{border-color:var(--green);background:var(--green);color:#fff}button.primary:hover{background:var(--green-deep)}button:disabled{opacity:.45;cursor:default}button.quiet{border-color:var(--line-soft);background:transparent;font-size:12px}.icon-button{display:inline-grid;place-items:center;width:30px;height:30px;padding:0;flex-shrink:0;font-size:19px;line-height:1}.wide{width:100%}input,select{width:100%;min-width:0;height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}input::placeholder{color:#8a94a3}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,.issue:focus-visible{outline:2px solid #8fc9a9;outline-offset:2px}input:focus,select:focus{border-color:#8fc9a9}label{display:block;color:var(--muted);font-size:12px}label input,label select{margin-top:5px}.hidden,[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}h1,h2,h3,p{margin-top:0}h2{font-size:16px;line-height:1.45}h3{font-size:14px}.hint,.connection{font-size:12px;color:var(--muted)}.hint{line-height:1.6}.eyebrow{margin:0 0 5px;font-size:10px;line-height:1.5;font-weight:700;color:var(--muted);letter-spacing:.5px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.count{font-size:11px;min-width:20px;padding:1px 6px;margin-left:4px;background:var(--bg);border-radius:3px;color:var(--muted)}
.portal-page{display:grid;place-items:center;min-height:100%;height:100dvh;padding:28px;overflow:auto}.portal-card{width:min(1040px,100%);max-height:calc(100dvh - 56px);padding:28px;border:1px solid var(--line);border-radius:4px;background:#fff;box-shadow:0 12px 30px #1b222c14;display:flex;flex-direction:column;min-height:0}.portal-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.portal-heading h1{font-size:24px;line-height:1.3;margin-bottom:7px}.portal-subtitle{font-size:12px;color:var(--muted);margin:0}.portal-tools{display:flex;align-items:center;gap:15px;padding-top:5px}.connection{display:inline-flex;align-items:center;gap:6px}.connection::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.draft-browser{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8px;height:clamp(330px,56dvh,560px);min-height:0}.project-panel,.draft-list-panel{display:flex;min-width:0;min-height:0;flex-direction:column;padding:12px;border:1px solid var(--line-soft);border-radius:4px;background:white}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:32px;margin-bottom:12px}.panel-heading h2{margin:0;font-size:13px;font-weight:700;overflow-wrap:anywhere}.project-list,.draft-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.project-list{margin-bottom:14px}.paper-row{display:flex;align-items:center;gap:8px;padding:10px 9px;border:1px solid var(--line-soft);border-radius:4px;background:#fff;width:100%;text-align:left}.paper-row.active,.paper-row:hover{border-color:#b8dbc8;background:var(--soft)}.paper-row.active{color:var(--green-dark)}.paper-row .paper-name{flex:1;min-width:0;font-size:12px;font-weight:700;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.paper-row .count{margin:0}.draft-heading{align-items:flex-start;margin:2px 0 10px}.draft-heading>div:first-child{min-width:0}.draft-heading h2{font-size:15px}.draft-heading .hint{margin:4px 0 0}.draft-heading .actions{flex-shrink:0;gap:5px}.draft-heading button{font-size:12px}.draft-heading .icon-button{font-size:18px}.draft-search{margin-bottom:12px}.draft-search input{height:33px;margin:0;background:#fbfcfc;border-color:var(--line-soft)}.draft-card{display:flex;align-items:center;gap:8px;padding:13px 12px;border:1px solid var(--line-soft);border-radius:4px;background:#fff}.draft-card:hover{border-color:#b8dbc8;background:#f8fcfa}.draft-open{display:block;flex:1;min-width:0;padding:0;border:0;text-align:left;background:transparent;color:var(--ink)}.draft-open:hover{background:transparent}.draft-card-title{display:block;font-weight:700;font-size:14px;overflow-wrap:anywhere}.draft-card-meta{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:4px}.draft-card-file{display:block;color:#89919d;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px}.draft-card-actions{display:flex;gap:7px;align-items:center}.draft-card-actions .icon-button{font-size:16px;border:0}.badge{font-size:10px;border-radius:3px;padding:3px 6px;background:var(--soft);color:var(--green-dark);white-space:nowrap}.badge.pending{background:#fcf1e3;color:#8f5514}.portal-footer{display:flex;justify-content:space-between;gap:14px;color:#8a929e;font-size:11px;padding-top:17px}.empty-state{display:flex;flex:1;min-height:200px;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;color:var(--muted)}.empty-state h3{color:#495365;margin:10px 0 5px}.empty-state p{max-width:320px;font-size:12px}.empty-symbol{display:grid;place-items:center;width:42px;height:42px;font-size:22px;color:var(--green);background:var(--soft);border-radius:4px}
.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);height:100dvh;overflow:hidden}.section-rail{display:flex;flex-direction:column;gap:16px;min-height:0;overflow:auto;padding:20px 12px 12px;border-right:1px solid var(--line);background:#fff}.brand-block{padding:0 4px 16px;border-bottom:1px solid var(--line-soft)}.brand{font-size:15px;font-weight:700;color:var(--ink);text-decoration:none}.back-button{margin-top:13px;text-align:left;font-size:12px}.rail-draft{padding:0 4px}.rail-draft strong{display:block;font-size:12px;margin-bottom:12px;overflow-wrap:anywhere;max-height:60px;overflow:auto}.rail-draft label{font-size:11px;margin-bottom:5px}.rail-draft select{font-size:12px}.rail-draft .quiet{margin-top:7px}.section-buttons{display:flex;flex-direction:column;gap:6px}.section-buttons button{display:flex;align-items:center;gap:10px;border:1px solid transparent;background:transparent;text-align:left;color:#495365;padding:10px}.section-buttons button:hover{background:#f7f9f8}.section-buttons button.active{background:var(--soft);border-color:#b8dbc8;color:var(--green-dark);font-weight:700}.nav-code{display:grid;place-items:center;width:27px;flex-shrink:0;font-size:11px;color:var(--muted)}.active .nav-code{color:var(--green)}.rail-search{padding:15px 4px 0;border-top:1px solid var(--line-soft);flex:1}.rail-search label{margin-bottom:12px}.rail-search input,.rail-search select{font-size:11px;height:32px}.rail-footer{padding:10px 4px 0;border-top:1px solid var(--line-soft)}.rail-footer .connection{font-size:10px;margin-top:12px}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;padding:22px 22px 16px;overflow:hidden}.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px}.header-title{min-width:0}.draft-title-line{display:flex;gap:7px;align-items:center}.draft-title-line h1{font-size:19px;line-height:1.4;margin:0;overflow-wrap:anywhere}.draft-title-line .icon-button{border:0;font-size:17px}.workspace-header .hint{margin:7px 0 0;font-size:11px}.header-actions{display:flex;gap:7px;flex-shrink:0;align-items:center}.header-actions button,.download-menu summary{font-size:12px}.download-menu{position:relative}.download-menu summary{cursor:pointer;list-style:none;border:1px solid var(--line);padding:7px 11px;border-radius:4px;background:#fff;color:#495365}.download-menu summary::-webkit-details-marker{display:none}.download-menu summary span{padding-left:10px}.download-options{position:absolute;right:0;top:calc(100% + 5px);z-index:10;width:200px;padding:5px;background:white;border:1px solid var(--line);border-radius:4px;box-shadow:0 8px 20px #1b222c1a}.download-options button{display:block;width:100%;border:0;text-align:left}.work-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;margin-bottom:13px;padding:13px 15px;border:1px solid var(--line-soft);border-radius:4px;background:#fff}.work-toolbar h2{font-size:14px;margin:0 0 3px}.work-toolbar .hint{margin:0;font-size:11px;max-width:520px}.work-toolbar .actions{min-width:0;flex-shrink:1;gap:6px}.work-toolbar button{font-size:12px;padding:7px 10px}.review-columns{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:12px;flex:1;min-height:0}.reader-panel{display:flex;flex-direction:column;min-height:0;min-width:0;background:#fff;border:1px solid var(--line-soft);border-radius:4px;overflow:hidden}.reader-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--line-soft);padding:11px 18px;font-size:12px;font-weight:700}.legend{font-size:10px;font-weight:400;color:var(--muted);display:flex;align-items:center;gap:6px}.legend i{display:inline-block;width:12px;height:10px;margin-left:4px}.legend-issue{border-bottom:2px solid var(--red)}.legend-accepted{background:var(--yellow)}.reader-scroll{flex:1;min-height:0;overflow:auto;padding:10px 28px 28px;scroll-padding-top:15px}.reader-footer{border-top:1px solid var(--line-soft);font-size:10px;color:var(--muted);padding:8px 18px}.inspector{background:white;overflow:auto;min-width:0;border:1px solid var(--line-soft);border-radius:4px;padding:19px 17px}.inspector h2{font-size:17px;margin:6px 0 13px}.inspector h3{font-size:13px}.inspector>button{float:right;font-size:11px;padding:4px 7px}.sentence{padding:12px 10px;border-left:2px solid transparent;margin-left:-12px;cursor:default}.sentence.selected{border-left-color:var(--green);background:#f3f9f5}.sentence:hover{background:#f8faf9}.sentence .text{font:17px/1.9 "Times New Roman",Times,serif;white-space:pre-wrap;overflow-wrap:anywhere}.sid{font-size:9px;line-height:1.5;color:#9aa2ad;display:block;margin-bottom:5px}.sectionTitle{font-size:17px;margin:20px 0 6px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.issue{text-decoration-line:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}.accepted{background:var(--yellow);border-radius:2px}.changedNotice{font-size:10px;line-height:1.7;color:#8f782b;display:block;margin-top:6px}.proposal{border:1px solid var(--line-soft);border-radius:4px;padding:12px;margin:13px 0;background:#fff}.proposal .status{font-size:10px;font-weight:700;color:var(--green-dark)}.proposal h3{margin:7px 0}.proposal .preview{font:16px/1.8 "Times New Roman",Times,serif;white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f9f7;border-left:2px solid #b8dbc8;padding:9px 10px;margin:10px 0}.proposal .reason{font-size:12px;white-space:pre-wrap}.proposal .warning{font-size:11px;background:#fcf1e3;color:#8f5514;padding:8px}.proposal button{width:100%;margin-top:7px;font-size:12px}.proposal details{font-size:11px;margin-top:9px}.evidence{font-size:11px;border-top:1px solid var(--line-soft);padding-top:12px;margin-top:12px;overflow-wrap:anywhere}.evidence blockquote{font:15px/1.75 "Times New Roman",Times,serif;border-left:2px solid #d0d5dd;padding-left:10px;margin:8px 0;white-space:pre-wrap}.evidence .tag{font-size:10px;color:var(--muted)}pre{font:11px/1.8 "Source Code Pro",Consolas,monospace;background:#fafbfc;border:1px solid var(--line-soft);border-radius:4px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere}details summary{color:var(--green-dark);cursor:pointer}.block{border:1px solid var(--line-soft);padding:13px;margin:10px 0;background:white;border-radius:4px;font-size:12px}.block pre{border:0;max-height:210px;overflow:auto}.block input[type=checkbox]{width:14px;height:14px;margin:0 7px 0 0;accent-color:var(--green);vertical-align:middle}.historyRow{padding:13px;border:1px solid var(--line-soft);margin:10px 0;font-size:12px;border-radius:4px}.historyRow code{word-break:break-all;color:var(--muted);font-size:10px}.historyRow button{margin:7px 5px 0 0;font-size:12px}#chapterList button{display:block;width:100%;border:0;background:transparent;font-size:11px;text-align:left;padding:6px 4px}#chapterList button:hover{background:var(--soft)}#empty{padding:50px 20px;color:var(--muted)}#notice{display:none;position:fixed;z-index:100;top:16px;right:22px;max-width:min(620px,calc(100vw - 44px));max-height:45vh;overflow:auto;padding:12px 17px;border:1px solid #b8dbc8;border-left:3px solid var(--green);border-radius:4px;background:#f5fbf7;box-shadow:0 6px 24px #1b222c18;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}#notice.error{border-color:#e2b8b5;border-left-color:var(--red);background:#fff5f4;color:#98352e}.error{color:var(--red);font-size:12px}dialog{width:min(900px,92vw);max-height:86dvh;overflow:auto;border:1px solid var(--line);border-radius:4px;padding:24px;color:var(--ink);background:white;box-shadow:0 18px 48px #1b222c33}dialog::backdrop{background:#18202966}.dialogHead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.dialogHead h2{margin:0;font-size:18px}.dialogHead .icon-button{border:0}.manage-dialog{width:min(470px,92vw)}.manage-dialog label{margin-top:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:17px}.inline{display:flex;gap:8px;margin:18px 0}.inline button{flex-shrink:0}body[aria-busy=true] .portal-card,body[aria-busy=true] .app-shell{cursor:progress}body[aria-busy=true] button,body[aria-busy=true] select{pointer-events:none}body[aria-busy=true] .connection::before{background:#b79b41}
@media(min-width:1600px){.review-columns{grid-template-columns:minmax(0,1fr) 410px}.reader-scroll{padding-left:48px;padding-right:48px}.sentence .text{font-size:18px}.workspace{padding:26px 28px 20px}}
@media(max-width:1250px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.workspace{padding:17px 14px 12px}.review-columns{grid-template-columns:minmax(0,1fr) 305px;gap:9px}.work-toolbar{align-items:flex-start;flex-direction:column;gap:9px}.reader-scroll{padding:8px 19px 22px}.portal-tools{flex-direction:column;align-items:flex-end;gap:8px}}
@media(max-width:920px){body{overflow:auto}.app-shell{display:block;height:auto;min-height:100dvh;overflow:visible}.section-rail{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border-bottom:1px solid var(--line);border-right:0;overflow:visible}.brand-block{border:0;padding:0}.rail-draft{padding:0}.rail-draft strong{margin-bottom:5px}.rail-draft .eyebrow,.rail-draft label,.rail-draft .quiet{display:none}.section-buttons{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:4px}.section-buttons button{padding:7px;gap:4px;flex:1;white-space:nowrap;font-size:12px}.nav-code{width:auto;font-size:10px}.rail-search{grid-column:1/-1;display:flex;gap:12px;padding:8px 0 0;align-items:end}.rail-search label{flex:1;margin:0}.rail-search #chapterList,.rail-footer{display:none}.workspace{overflow:visible;min-height:700px}.review-columns{grid-template-columns:minmax(0,1fr) 290px;min-height:600px;align-items:start}.reader-panel{min-height:600px}.reader-scroll{overflow:visible}.inspector{position:sticky;top:10px;max-height:calc(100dvh - 20px)}.portal-card{padding:20px}.draft-browser{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:640px){.portal-page{padding:12px;height:auto;min-height:100dvh;align-items:start}.portal-card{padding:17px 14px;max-height:none}.portal-heading{gap:10px;margin-bottom:17px}.portal-heading h1{font-size:20px}.portal-subtitle{max-width:190px}.portal-tools .connection{font-size:0;gap:0}.portal-tools .connection::before{width:7px;height:7px}.portal-tools{flex-direction:row;gap:10px}.draft-browser{display:flex;flex-direction:column;height:auto;gap:10px}.project-panel{max-height:220px}.project-panel .quiet{font-size:10px;padding:5px}.project-list{max-height:125px;flex:none;display:grid;grid-template-columns:1fr 1fr;overflow:auto}.draft-list-panel{min-height:340px}.draft-list{overflow:visible}.draft-card{padding:11px 9px}.draft-card-actions{flex-direction:column;gap:3px}.portal-footer{font-size:10px;flex-direction:column;gap:3px}.draft-heading h2{font-size:13px}.draft-heading .actions{gap:3px}.draft-heading button{padding:7px}.workspace-header{flex-direction:column;gap:10px}.header-actions{align-self:flex-end}.draft-title-line h1{font-size:17px}.section-rail{gap:9px}.brand{font-size:13px}.section-buttons button{font-size:11px;padding:7px 5px}.section-buttons .nav-code{display:none}.review-columns{display:flex;flex-direction:column}.reader-panel{width:100%}.inspector{position:static;max-height:none;width:100%;margin-top:3px}.work-toolbar .actions{width:100%;gap:5px}.work-toolbar button{font-size:11px;padding:7px}.reader-scroll{padding:8px 18px 20px}.sentence .text{font-size:17px}.inline{flex-wrap:wrap}.inline input{flex:1;min-width:160px}dialog{padding:18px}.reader-footer{font-size:9px}}
