:root{font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#223448;background:#e8edf3;font-synthesis:none;--ink:#223448;--muted:#667c93;--line:#d3dfe9;--accent:#345f81;--paper:#f8fafc;--soft:#eff4f8}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:transparent;color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:9px 13px;font-size:13px}button:hover{background:#e2edf5}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{color:#a34a50}button:disabled{opacity:.6;cursor:wait}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:3px solid #78a9d3;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:31px;letter-spacing:-1px;font-weight:600}h2{font-size:20px;font-weight:600;letter-spacing:.3px}h3{font-size:17px;font-weight:600}small,.meta{font-size:12px;color:var(--muted)}.wordmark{font-family:Georgia,Songti SC,serif;font-size:23px;letter-spacing:.2px}.wordmark small{font-family:system-ui;margin-left:12px;font-size:11px;letter-spacing:2px}.topbar{border-bottom:1px solid #ccd8e2;background:#e8edf3ef;position:sticky;top:0;z-index:4;backdrop-filter:blur(12px)}.topinner{max-width:1080px;margin:auto;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role{font-size:12px;color:var(--muted);margin-right:8px}.shell{max-width:1000px;margin:0 auto;padding:40px 26px 80px}.intro{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;gap:20px}.intro p{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.eyebrow{font-size:11px;color:var(--muted);letter-spacing:2px;margin-bottom:12px}.topic{background:var(--ink);color:#ecf3fa;border-radius:10px;padding:32px 34px;margin-bottom:20px;position:relative;overflow:hidden}.topic:after{content:"";position:absolute;right:-55px;top:-90px;width:230px;height:230px;border:1px solid #ffffff15;border-radius:50%;pointer-events:none}.topic h2{color:#b8cada;font-size:13px;font-weight:400}.topic h3{font-family:Songti SC,Georgia,serif;font-size:27px;line-height:1.4}.topic .topicline{border-top:1px solid #ffffff1b;padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.topic p{font-size:14px;line-height:1.8;color:#c4d3e2;white-space:pre-wrap;overflow-wrap:anywhere}.topic small{color:#a2b9ce}.topic button{border-color:#536b80;color:#d5e5f3}.section{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:20px 0;padding:26px 28px}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.sectionhead h2{margin:0}.progressentry{display:flex;gap:25px;justify-content:space-between;align-items:center}.progressentry p{font-size:14px;color:var(--muted);margin:10px 0 0}.linkbutton{display:inline-block;background:#e7eff6;padding:12px 17px;border-radius:6px;font-size:14px;white-space:nowrap}.empty{padding:18px 0 9px;color:var(--muted);font-size:14px;line-height:1.8}.empty strong{color:#56718a;font-weight:400}.resultgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.resultcard{padding:20px;background:var(--soft);border:1px solid var(--line);border-radius:6px}.resultcard h3{margin:10px 0}.resultcard p{font-size:13px;color:var(--muted);margin:0;line-height:1.7}.docrow{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;border-top:1px solid var(--line)}.docrow:first-child{border-top:0}.docrow a{font-size:15px}.docrow .meta{margin-top:5px}.todo{display:flex;align-items:center;gap:10px;margin:13px 0;font-size:14px}.todo input{accent-color:var(--accent);width:17px;height:17px;flex-shrink:0}.todo.done span{text-decoration:line-through;color:var(--muted)}.todo a{font-size:12px;margin-left:auto}.question{padding:20px 0;border-top:1px solid var(--line)}.question:first-child{border-top:0}.question p{font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.suggestion{background:var(--soft);border-left:2px solid #b3c8d9;padding:15px 18px;margin:14px 0}.suggestion p{margin:7px 0}.reply{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.suggestform{margin-top:14px}.suggestform label{display:block;font-size:13px;margin-bottom:8px}details>summary{cursor:pointer;font-size:13px;color:var(--muted);padding:10px 0}details{margin-top:8px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:14px;margin:24px 0}.tabs a{padding:10px 18px;border-radius:5px;font-size:14px}.tabs a.active{background:var(--ink);color:#f0f5fa}.group{margin:30px 0}.group h2{font-size:17px}.subhead{font-size:12px;color:var(--muted);margin:24px 0 8px}.badge{font-size:11px;padding:4px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}.breadcrumb{display:flex;gap:12px;font-size:13px;margin-bottom:24px}.detail{background:var(--paper);border:1px solid var(--line);padding:36px;border-radius:8px}.detail h1{font-family:Songti SC,Georgia,serif;font-size:29px;overflow-wrap:anywhere}.detailheader{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.prose{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.prose h1{font-size:25px}.prose h2{font-size:21px;margin-top:24px}.prose pre{background:#e9eff5;padding:16px;overflow:auto;border-radius:5px;font-size:13px}.prose blockquote{border-left:3px solid #9ebace;padding:6px 20px;margin-left:0;background:var(--soft)}.prose table{border-collapse:collapse;display:block;overflow:auto}.prose td,.prose th{padding:8px;border:1px solid var(--line)}.citation{font-size:13px;background:#e4edf6;padding:2px 4px;border-radius:3px}.related{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.related h2{font-size:16px}.filelist{display:flex;flex-direction:column;gap:10px;font-size:14px}.detailfield{margin:20px 0}.detailfield small{display:block;margin-bottom:6px}.detailfield p{white-space:pre-wrap;line-height:1.8;font-size:14px}.login{max-width:480px;margin:10vh auto;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:38px}.login h1{font-family:Songti SC,Georgia,serif;font-size:30px;margin-bottom:12px}.login p{font-size:14px;line-height:1.8;color:var(--muted)}.login label{display:block;font-size:13px;margin:25px 0 9px}.login button{margin-top:15px;width:100%}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #bfcedd;background:#fff;border-radius:5px;color:var(--ink);padding:10px 11px;min-height:42px}textarea{resize:vertical;line-height:1.7;min-height:100px}.notice{color:#a34a50;font-size:13px;line-height:1.7;min-height:20px}.toast{position:fixed;right:20px;bottom:20px;z-index:20;max-width:calc(100vw - 40px);background:var(--ink);color:#fff;border-radius:7px;padding:14px 20px;font-size:13px;box-shadow:0 6px 20px #22344820}.loading{padding:70px;text-align:center;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:10px;max-width:780px;width:calc(100% - 32px);padding:0;background:var(--paper);color:var(--ink);max-height:90vh}dialog::backdrop{background:#14263780;backdrop-filter:blur(3px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line)}.dialoghead h2{margin:0}.dialogbody{padding:24px;overflow:auto;max-height:65vh}.dialogactions{padding:16px 24px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line)}.field{margin-bottom:18px}.field>label{display:block;font-size:13px;margin-bottom:8px}.field textarea{min-height:170px}.field small{display:block;margin-top:6px;font-size:11px}.refchoice{display:flex;align-items:center;gap:10px;padding:8px;background:var(--soft);margin:4px 0;font-size:13px}.refchoice input{accent-color:var(--accent)}.preview{padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:5px}.formtabs{margin-bottom:12px}.footer{color:var(--muted);font-size:11px;display:flex;justify-content:space-between;margin-top:35px;letter-spacing:1px}.errorbox{background:#fff2f1;border:1px solid #e8c7c5;padding:22px;border-radius:8px}.archive{margin-top:25px}.archive .docrow{opacity:.8}@media(max-width:640px){.topinner{padding:12px 18px;min-height:64px}.wordmark{font-size:20px}.wordmark small{display:none}.shell{padding:27px 16px 55px}.intro{margin-bottom:20px}.intro h1{font-size:26px}.intro p{font-size:12px}.section{padding:21px 18px;margin:16px 0}.topic{padding:25px 22px}.topic h3{font-size:24px}.topic .topicline{grid-template-columns:1fr;gap:10px}.progressentry{align-items:flex-start;flex-direction:column;gap:17px}.resultgrid{grid-template-columns:1fr}.sectionhead{flex-wrap:wrap}.sectionhead h2{font-size:18px}.detail{padding:24px 18px}.detail h1{font-size:25px}.tabs{gap:5px}.tabs a{padding:10px 12px;font-size:13px}.login{margin:8vh 18px;padding:30px 24px}.dialogbody{padding:18px}.role{font-size:11px;margin-right:0}.docrow{gap:10px}.docrow .actions{flex-shrink:0}h3{overflow-wrap:anywhere}.footer{font-size:10px}.prose{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}.attachment-image{display:block;max-width:100%;max-height:560px;object-fit:contain;border:1px solid var(--line);border-radius:5px;margin:10px 0}.pdf-dialog{max-width:1080px}.pdf-dialog .dialogbody{max-height:72vh;padding:16px 20px}.pdf-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;margin-bottom:13px}.pdf-toolbar a{margin-left:auto}.pdf-surface{background:#dbe3ec;border:1px solid var(--line);border-radius:6px;overflow:auto;padding:12px;max-height:58vh;text-align:center}.pdf-surface canvas{display:block;margin:auto;max-width:none;height:auto;background:#fff;box-shadow:0 2px 10px #22344820}#pdf-status{font-size:13px;color:var(--muted);margin:10px 0;min-height:20px}.filelist>button{align-self:flex-start}.upload-pdf{font-size:13px}@media(max-width:640px){.pdf-dialog .dialogbody{padding:12px}.pdf-toolbar{gap:6px;font-size:12px}.pdf-toolbar button{padding:8px 9px}.pdf-toolbar a{margin-left:0}.pdf-surface{padding:6px;max-height:56vh}.pdf-dialog .dialoghead{padding:15px}.pdf-dialog .dialoghead h2{font-size:15px}}.shell:has(.home-layout){max-width:1480px;padding-left:24px;padding-right:24px}.topinner:has(.wordmark){max-width:1480px}.home-layout{display:grid;grid-template-columns:174px minmax(0,1fr) 224px;gap:26px;align-items:start}.home-content{min-width:0}.home-left,.home-right{position:sticky;top:100px}.home-right{display:grid;gap:16px}.side-card{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:20px 17px}.side-card h2{font-size:14px;margin-bottom:17px}.home-directory a{display:flex;align-items:center;gap:12px;padding:13px 10px;font-size:13px;border-radius:5px;margin:3px -5px}.home-directory a span{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.home-directory a[aria-current]{background:#e3edf5;color:var(--ink);font-weight:600}.home-directory .eyebrow{font-size:10px;letter-spacing:1px}.research-counts{display:grid;gap:14px}.research-counts a{display:flex;gap:16px;align-items:center}.research-counts strong{font-family:Georgia,serif;font-size:25px;font-weight:400;min-width:28px}.research-counts span{font-size:12px;color:var(--muted)}.recent-entry{display:block;padding:12px 0;border-top:1px solid var(--line)}.recent-entry small{display:block;font-size:10px;margin-bottom:5px}.recent-entry span{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.quick-create{display:grid;gap:9px}.quick-create h2{margin-bottom:6px}.quick-create button{text-align:left}.home-section,.home-content>.topic{scroll-margin-top:100px}@media(min-width:1180px){html{scroll-behavior:smooth}}@media(max-width:1179px){.home-layout{display:block}.home-left,.home-right{display:none}.shell:has(.home-layout){max-width:1000px;padding-left:26px;padding-right:26px}}@media(max-width:640px){.shell:has(.home-layout){padding-left:16px;padding-right:16px}}.pdf-import-entry>p{font-size:14px;line-height:1.8}.import-picker{display:block;padding:24px;border:1px dashed #a9bfd1;background:var(--soft);border-radius:8px;font-size:15px;color:var(--accent)}.import-picker input{display:block;margin-top:14px}.import-confirm{padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:6px;margin-bottom:22px;overflow-wrap:anywhere}.import-confirm strong{font-size:14px}.import-confirm p{font-size:13px;line-height:1.7;margin:9px 0 0}.import-extra{border-top:1px solid var(--line);padding-top:8px}
