:root{--bg:#f4f1e9;--paper:#f9f7f0;--ink:#222521;--muted:#657068;--line:#21312630;--accent:#274d3e;--soft:#e8e9de;--error:#a3443d;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea,summary{outline-offset:4px}:focus-visible{outline:2px solid var(--accent)}button{border:1px solid var(--accent);background:var(--accent);color:var(--paper);padding:12px 18px;cursor:pointer;line-height:1.5}button:hover{filter:brightness(1.15)}button:disabled{opacity:.45;cursor:wait}.secondary{color:var(--accent);background:transparent;border-color:var(--line)}.text-button{background:transparent;color:var(--accent);border:0;padding:8px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}h1,h2,h3,.brand{font-family:'Iowan Old Style',Baskerville,'Songti SC','Noto Serif CJK SC',serif;font-weight:500}h1{font-size:clamp(30px,3.4vw,49px);line-height:1.45;letter-spacing:-.04em;margin:16px 0 24px}h2{font-size:21px;margin:0 0 18px}h3{font-size:18px;line-height:1.6;margin:14px 0 8px}p{line-height:1.9}.muted,.boundary{color:var(--muted);font-size:12px}.boundary{margin-top:22px}.eyebrow{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:var(--accent);margin:0}.topbar{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;border-bottom:1px solid var(--line)}.brand{font-size:23px;white-space:nowrap}.brand span{display:inline-block;margin-left:14px;font:9px ui-monospace,monospace;letter-spacing:.16em;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:18px;font-size:12px}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 72px)}aside{border-right:1px solid var(--line);padding:26px 16px;min-width:0}.sidebar-head{display:flex;align-items:center;justify-content:space-between;font-size:12px}.sidebar-foot{border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted);margin-top:32px}input,textarea{width:100%;padding:12px;border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:0}input{margin-top:8px}.project-search input{margin:14px 0 20px;font-size:12px}.project-item{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;color:var(--ink);margin-bottom:8px;padding:12px;overflow-wrap:anywhere}.project-item.selected{border-color:var(--line);background:var(--paper)}.project-item small{display:block;color:var(--muted);font-size:11px;margin-top:8px}main{padding:34px clamp(20px,3.2vw,52px) 64px;min-width:0;max-width:1600px;width:100%;margin:auto}#welcome{max-width:1040px;padding-top:30px}.lead{font-size:16px;color:var(--muted);max-width:680px}.intro-steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin:38px 0;gap:1px;background:var(--line)}.intro-steps article{background:var(--paper);padding:24px}.intro-steps b{font:10px ui-monospace,monospace;color:var(--accent)}.intro-steps p{font-size:12px;color:var(--muted)}.upload-box{padding:28px;border:1px solid var(--line);background:var(--paper)}label{display:block;font-size:13px}label span{font-size:12px;color:var(--muted)}.folder-picker{margin:24px 0}.folder-picker span{display:block;margin-top:10px}.project-heading{display:flex;gap:20px;align-items:center;justify-content:space-between}.project-heading h1{font-size:30px;overflow-wrap:anywhere}.project-heading button{flex-shrink:0}#status{border-block:1px solid var(--line);padding:18px 0;margin:16px 0 28px;color:var(--accent);font-size:13px}.status-content{display:flex;gap:12px;align-items:center}.spinner{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:36px}.conversation-column,.review-sidebar{min-width:0}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);margin-bottom:22px}.message{padding:22px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.message-role{font:10px ui-monospace,monospace;letter-spacing:.08em;color:var(--accent)}.message-text{white-space:pre-wrap;line-height:1.95;font-size:14px}.message.user{padding:20px;background:var(--soft);margin:18px 0;border:0}.message.system{padding:8px 0;color:var(--muted);font-size:12px}.message.system p{font-size:12px}.questions{padding-left:22px;line-height:1.9}.questions li{margin:10px 0}.message-materials{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.message-materials li{margin-bottom:12px;line-height:1.8}.composer{margin-top:30px;padding:18px;border:1px solid var(--line);background:var(--paper)}.composer textarea{border:0;background:transparent;resize:vertical;min-height:100px}.composer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:16px}.composer-actions button{margin-left:auto}.attach{color:var(--accent);font-size:12px;cursor:pointer;padding:6px 0}.attach input{max-width:170px;font-size:10px;border:0;padding:3px}.review-sidebar{border-left:1px solid var(--line);padding-left:26px}.review-sidebar section{margin-bottom:32px}.review-sidebar h2{font-size:20px;margin:14px 0}.assessment-item{border-top:1px solid var(--line);padding:14px 0}.assessment-item h3{font-size:14px;margin:0}.assessment-item p,.assessment-item li{font-size:12px;color:var(--muted);line-height:1.8}.assessment-item ul{padding-left:16px}.citation{display:block;font-size:11px;color:var(--muted);margin:8px 0}.material-card{border-top:1px solid var(--line);padding:14px 0;overflow-wrap:anywhere}.material-card h3{font-size:15px}.material-card p{font-size:12px;color:var(--muted)}summary{cursor:pointer;line-height:1.7}details{margin:12px 0}.file-row{border-top:1px solid var(--line);padding:12px 0;font-size:12px;overflow-wrap:anywhere}.file-row a{display:block;margin-bottom:6px}.file-row small{color:var(--muted)}.login{max-width:520px;padding:60px 24px;margin:auto}.login label{margin:18px 0}.error-banner{padding:16px 32px;color:var(--error);border-bottom:1px solid var(--error);overflow-wrap:anywhere}.dark{--bg:#121a17;--paper:#19231d;--ink:#f1f2ed;--muted:#aab4ad;--line:#dde9d826;--accent:#9fd6bd;--soft:#22382b;--error:#efb2a8;color-scheme:dark}.dark button:not(.secondary):not(.text-button):not(.project-item){color:#121a17}.dark .project-item{color:var(--ink)}@media(max-width:1150px){.review-layout{grid-template-columns:minmax(0,1fr)}.review-sidebar{border-left:0;border-top:1px solid var(--line);padding:26px 0}.review-sidebar section{max-width:740px}.layout{grid-template-columns:190px minmax(0,1fr)}}@media(max-width:700px){.topbar{padding:14px 18px}.brand{font-size:20px}.brand span,#actor{display:none}.top-actions{gap:8px}.layout{grid-template-columns:minmax(0,1fr)}aside{border-right:0;border-bottom:1px solid var(--line);padding:12px 18px}.sidebar-foot,.project-search{display:none}#projects{display:flex;gap:8px;overflow:auto;max-height:110px}.project-item{min-width:170px;max-width:200px;font-size:12px}.project-item small{font-size:10px}main{padding:24px 18px 40px}.intro-steps{grid-template-columns:1fr}.intro-steps article{padding:18px}.intro-steps h3{margin:8px 0}.intro-steps p{margin:0}.upload-box{padding:20px}.project-heading{align-items:start;flex-direction:column;gap:0}.project-heading h1{font-size:27px}.composer-actions button{width:100%;margin:4px 0 0}.attach{max-width:100%}.review-layout{gap:24px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
.attach{position:relative}.attach input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.attach:focus-within{outline:2px solid var(--accent);outline-offset:4px}.folder-picker{padding:24px;border:1px dashed var(--line)}.folder-picker input{border:0;background:transparent;padding:14px 0}
