:root{color-scheme:light;--paper:#f7f6f1;--white:#fffefa;--panel:#f1f0e9;--ink:#252820;--muted:#62665a;--line:#e0dfd5;--green:#394c38;--green-soft:#e8eddf;--serif:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","SimSun",serif;--sans:Inter,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 var(--sans)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible{outline:2px solid #6b815c;outline-offset:3px}button,textarea,input,select{-webkit-tap-highlight-color:transparent}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}.symbols{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.top{height:72px;border-bottom:1px solid var(--line);background:var(--white);display:grid;grid-template-columns:1fr minmax(0,1fr) 1fr;align-items:center;padding:0 25px;gap:12px}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-family:var(--serif);font-weight:750;letter-spacing:.12em;white-space:nowrap}.brand small{font:12px var(--sans);letter-spacing:.045em;color:var(--muted);margin-left:10px}.brand-mark,.assistant-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--green);color:white}.brand-mark svg{width:20px;height:20px}.top-name{text-align:center;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.top-actions{display:flex;justify-content:flex-end;gap:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;padding:8px 13px;min-height:38px;border-radius:8px;white-space:nowrap;background:transparent;color:var(--ink);font-weight:600}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:#2b3c2a}.quiet:hover:not(:disabled){background:var(--green-soft)}.outline{border-color:var(--line);background:var(--white)}.outline:hover:not(:disabled){border-color:#9ca78e}.icon{width:36px;height:36px;min-height:36px;padding:0}.mobile-nav{display:none}
.workspace{display:grid;grid-template-columns:226px minmax(0,1fr) 335px;height:calc(100dvh - 72px)}.library,.assistant{min-height:0;display:flex;flex-direction:column}.library{background:var(--panel);border-right:1px solid var(--line);padding:26px 16px 0}.section-label,.field-head{font-size:13px;font-weight:700}.section-label{color:var(--muted);margin:0 8px 10px}.document-list{display:grid;gap:4px;max-height:34%;overflow:auto}.document-list button,.toc-block button{display:flex;align-items:center;gap:9px;width:100%;border:0;text-align:left;background:transparent;color:var(--ink);border-radius:8px;padding:10px 8px;min-height:40px}.document-list button span,.toc-block button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-list button[aria-current],.toc-block button[aria-current]{background:var(--green-soft);color:#344832;font-weight:700}.document-list button:hover,.toc-block button:hover{background:#e8e8de}.document-list svg{width:15px;height:15px}.toc-block{margin-top:26px;display:flex;flex:1;min-height:0;flex-direction:column}.toc-block nav{overflow:auto}.toc-block button{font-size:13px}.library-footer,.assistant-footer{min-height:53px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.library-footer{padding:0 8px;margin-top:14px}.dot{width:7px;height:7px;border-radius:100%;background:#768869;flex:none}.assistant-footer .dot{background:#b2a98b}.assistant-footer .dot.ready{background:#768869}
.reader{overflow:auto;min-width:0;scrollbar-gutter:stable;background:radial-gradient(ellipse at top,#fbfaf5,transparent 75%),var(--paper)}.reader-inner{max-width:830px;margin:0 auto;padding:45px clamp(24px,5vw,74px) 32px}.reader-meta{display:flex;align-items:center;justify-content:space-between;color:var(--green);font-size:12px;font-weight:700;letter-spacing:.16em}.reader-actions{min-height:36px}.reader h1{font-family:var(--serif);font-size:clamp(30px,4vw,48px);line-height:1.25;margin:11px 0 12px;letter-spacing:.015em;overflow-wrap:anywhere}.reader-caption{font-size:12px;color:var(--muted);padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:21px}.paragraph{position:relative;border:1px solid transparent;border-radius:8px;margin:0 -12px 5px;padding:10px 39px 10px 11px}.paragraph:hover{background:#f0f1e7}.paragraph.quoted{background:var(--green-soft);border-color:#ccd6c1}.paragraph p{font-family:var(--serif);font-size:clamp(17px,1.6vw,20px);line-height:1.95;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.paragraph p::selection{background:#b8c8aa;color:#22301f}.paragraph .quote-button{position:absolute;right:4px;top:8px;color:#65745e;min-height:36px;width:33px}.paragraph .quote-button svg{width:16px;height:16px}.paragraph .quote-button[aria-pressed=true]{background:#dbe4d0}.chapter-nav{display:flex;justify-content:space-between;margin-top:29px;border-top:1px solid var(--line);padding-top:18px}.chapter-nav button{font-size:12px}
.assistant{background:var(--white);border-left:1px solid var(--line)}.assistant-head{padding:22px 20px 17px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.assistant-mark{background:var(--green-soft);color:var(--green);width:34px;height:34px}.assistant h2,.dialog-head h2{font-size:17px;margin:0}.assistant-head button,.dialog-head button{margin-left:auto;color:var(--muted)}.assistant-body{flex:1;overflow:auto;padding:22px 20px}.assistant-footer{padding:0 20px}.field-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 9px;min-height:21px}.text-button{color:var(--green);background:none;border:0;font-size:12px;padding:2px 0 2px 8px}.text-button:hover{text-decoration:underline}.quote-box{background:#f5f5ee;border:1px solid #e3e6d9;border-radius:9px;padding:12px;display:flex;gap:9px;min-height:73px;align-items:flex-start;color:var(--muted);margin-bottom:22px}.quote-box.selected{border-left:3px solid #7c906f;color:var(--ink)}.quote-box svg{width:16px;height:16px;color:#6b795f;margin-top:2px}.quote-box p{margin:0;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:136px;overflow:auto}.assistant textarea,dialog input,dialog select{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:11px;outline:none}.assistant textarea{resize:vertical;display:block;min-height:86px}.assistant textarea:focus,dialog input:focus,dialog select:focus{border-color:#7c906f;box-shadow:0 0 0 2px #dbe4d0}.assistant textarea::placeholder{color:#777b71}.presets{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 17px}.presets button{font-size:11px;border-radius:20px;border:1px solid var(--line);padding:5px 9px;background:var(--paper);color:#4d5c48}.presets button:hover{background:var(--green-soft)}.generate{width:100%;min-height:43px;justify-content:flex-start;padding:0 13px}.end-icon{margin-left:auto}.status{font-size:12px;margin:9px 0 0;color:var(--muted);overflow-wrap:anywhere}.status:empty{display:none}.status.error{color:#974832}.result{padding-top:19px;margin-top:18px;border-top:1px solid var(--line)}.result-actions,.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}
.selection-pop{position:fixed;z-index:3;box-shadow:0 4px 18px #27322035}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:min(90vw,480px);width:max-content;background:#283327;color:white;border-radius:8px;padding:11px 16px;box-shadow:0 4px 15px #2223;z-index:4}dialog{width:min(430px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;background:var(--white);color:var(--ink);padding:21px;box-shadow:0 16px 50px #2223}dialog::backdrop{background:#262d2360}.dialog-head{display:flex;align-items:center}dialog label{display:block;font-weight:700;margin:14px 0 6px}.subtle{font-size:12px;color:var(--muted)}
@media(max-width:1050px) and (min-width:801px){.workspace{grid-template-columns:170px minmax(0,1fr) 290px}.reader-inner{padding-inline:29px}.library{padding-inline:11px}.assistant-body,.assistant-head,.assistant-footer{padding-inline:15px}.brand small{display:none}}
@media(max-width:800px){.top{height:62px;display:flex;justify-content:space-between;padding:0 14px}.brand{font-size:21px;gap:8px}.brand small,.top-name{display:none}.brand-mark{width:31px;height:31px}.top-actions{gap:2px}.top-actions .button{min-height:40px;padding:7px 9px;font-size:13px}.mobile-nav{display:flex;height:48px;background:var(--white);border-bottom:1px solid var(--line);justify-content:center}.mobile-nav button{width:33.333%;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-weight:600}.mobile-nav button[aria-pressed=true]{color:var(--green);border-bottom-color:var(--green)}#mobile-count{display:inline-grid;place-items:center;margin-left:6px;background:var(--green-soft);width:18px;height:18px;border-radius:50%;font-size:11px}.workspace{display:block;height:calc(100dvh - 110px)}.workspace>*{display:none;height:100%;border:0}.workspace[data-panel=library]>.library,.workspace[data-panel=assistant]>.assistant{display:flex}.workspace[data-panel=reader]>.reader{display:block}.reader-inner{padding:23px 23px 23px}.reader h1{font-size:34px}.paragraph{padding-block:8px;margin-inline:-8px}.paragraph p{font-size:18px}.paragraph .quote-button{width:38px;min-height:40px;top:4px}.assistant textarea,dialog input,dialog select{font-size:16px}.library{padding-top:20px}.assistant-head{padding-block:13px}.assistant-body{padding-top:16px}.selection-pop{bottom:17px!important;left:50%!important;top:auto!important;transform:translateX(-50%)}}

.brand{border:0;background:transparent;padding:0;color:inherit;text-align:left}
.brand:hover .brand-mark{background:#2b3c2a}
body[data-view=shelf] .workspace,body[data-view=shelf] .mobile-nav,body[data-view=shelf] #export,body[data-view=shelf] #back-shelf,body[data-view=shelf] .top-name{display:none!important}
body[data-view=studio] .shelf{display:none}
.shelf{height:calc(100dvh - 72px);overflow:auto;background:radial-gradient(ellipse at top,#fbfaf5,transparent 70%),var(--paper)}
.shelf-inner{max-width:1080px;margin:0 auto;padding:52px clamp(22px,5vw,56px) 72px}
.shelf-inner h1{font-family:var(--serif);font-size:clamp(32px,5vw,48px);letter-spacing:.12em;font-weight:750;margin:0 0 10px}
.shelf-lead{margin:0 0 40px;color:var(--muted);font-size:15px}
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:32px 24px}
.book-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;border:0;background:transparent;padding:0;text-align:left;color:var(--ink);border-radius:8px}
.book-card:hover .book-cover{transform:translateY(-4px);box-shadow:8px 14px 28px #25282028, inset 3px 0 0 #ffffff30}
.book-card:focus-visible{outline:none}
.book-card:focus-visible .book-cover{outline:2px solid #6b815c;outline-offset:4px}
.book-cover{aspect-ratio:3/4;width:100%;border-radius:3px 11px 11px 3px;padding:22px 16px 18px;display:flex;flex-direction:column;justify-content:space-between;color:#f7f6f1;box-shadow:5px 8px 18px #25282022, inset 3px 0 0 #ffffff28;transition:transform .18s ease,box-shadow .18s ease;position:relative;overflow:hidden;background:#394c38}
.book-cover::after{content:"";position:absolute;inset:0 auto 0 0;width:10px;background:linear-gradient(90deg,#0002,transparent)}
.book-cover h2{font-family:var(--serif);font-size:22px;line-height:1.35;margin:0;letter-spacing:.06em;overflow-wrap:anywhere}
.book-cover .cover-meta{font-size:11px;letter-spacing:.12em;opacity:.82}
.book-card .book-name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.book-card .book-meta{font-size:12px;color:var(--muted)}
.book-card.add .book-cover{background:transparent;color:var(--muted);border:1px dashed #b7bbae;box-shadow:none;align-items:center;justify-content:center;padding:0}
.book-card.add .book-cover::after{display:none}
.book-card.add:hover .book-cover{background:var(--green-soft);border-color:#9ca78e;color:var(--green);transform:none;box-shadow:none}
.book-card.add .book-cover svg{width:28px;height:28px}
@media(max-width:800px){.shelf{height:calc(100dvh - 62px)}.shelf-inner{padding:32px 20px 56px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:24px 16px}.book-cover h2{font-size:18px}}
