@charset "UTF-8";
:root{color-scheme:light;--bg:#f7f7f2;--paper:#fffefb;--side:#eeefe7;--text:#30392f;--muted:#7b8274;--line:#dfe2d6;--accent:#516b46;--soft:#e3e9d9;--hover:#e7eadf;--font-size:20px}
*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;overflow:hidden;background:var(--bg);color:var(--text);font-family:"Microsoft YaHei","PingFang SC",sans-serif;font-size:14px}button,select{font:inherit;color:inherit}button,select{border:1px solid var(--line);border-radius:7px;background:transparent;padding:8px 12px}button{cursor:pointer}button:hover{background:var(--hover)}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:11px 18px}.primary:hover{filter:brightness(1.08);background:var(--accent)}[hidden]{display:none!important}.sidebar{width:264px;flex-shrink:0;background:var(--side);border-right:1px solid var(--line);padding:32px 20px 0;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--text);font-family:Georgia,"SimSun",serif;font-size:25px;font-weight:bold;letter-spacing:4px;margin:0 10px 48px}.brand-mark{display:grid;place-items:center;background:var(--accent);color:#fff;width:42px;height:46px;border-radius:4px 12px 4px 4px;font-size:23px;letter-spacing:0}.brand small{display:block;font:10px "Microsoft YaHei",sans-serif;letter-spacing:2px;color:var(--muted);margin-top:6px}.shelf-heading{display:flex;align-items:center;justify-content:space-between;padding:0 12px;margin-bottom:16px}.shelf-heading h2{font-size:13px;margin:0;font-weight:600}.shelf-heading>span{font-size:11px;color:var(--muted)}.library{overflow-y:auto;flex:1}.shelf-empty{color:var(--muted);font-size:12px;line-height:2;padding:12px}.book-card{padding:14px 12px;border:1px solid transparent;border-radius:8px;margin-bottom:8px}.book-card.active{background:var(--paper);border-color:var(--line);box-shadow:0 3px 8px #26332205}.book-card .open-book{display:block;border:0;padding:0;width:100%;text-align:left;overflow-wrap:anywhere;line-height:1.7;font-weight:600}.book-card .open-book:hover{background:transparent;color:var(--accent)}.book-card small{display:block;font-size:10px;color:var(--muted);line-height:1.8;margin-top:4px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;color:var(--muted)}.delete-book{padding:2px 6px;border:0;font-size:11px}.sidebar-foot{border-top:1px solid var(--line);padding:20px 4px;font-size:10px;color:var(--muted)}.local-dot{display:inline-block;width:6px;height:6px;background:#82966d;border-radius:50%;margin-right:6px;flex-shrink:0}.main{min-width:0;flex:1;display:flex;flex-direction:column}.toolbar{height:82px;flex-shrink:0;display:flex;gap:16px;align-items:center;padding:0 36px;border-bottom:1px solid var(--line)}.icon-button{border:0;padding:6px}.breadcrumb{font-size:11px;color:var(--muted);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb span{margin-left:10px}.import-tools{display:flex;align-items:center;gap:10px}.import-tools select{font-size:11px;border:0;max-width:115px}.reading-header{padding:32px 48px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);flex-shrink:0}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted)}h1{font-family:Georgia,"SimSun",serif;font-size:27px;font-weight:400;margin:12px 0;overflow-wrap:anywhere}#book-meta{margin:0;color:var(--muted);font-size:11px}.appearance{display:flex;align-items:center;gap:8px;flex-shrink:0}.appearance button{border:0;padding:7px}.appearance output{font-size:12px;min-width:20px;text-align:center}.setting-label{font-size:10px;color:var(--muted);margin-right:4px}.divider{height:18px;border-left:1px solid var(--line);margin:0 10px}.reader{overflow-y:auto;flex:1;scrollbar-color:var(--line) transparent;position:relative;overscroll-behavior:contain}.welcome{min-height:100%;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.book-illustration{display:flex;transform:rotate(-7deg);margin-bottom:34px;box-shadow:5px 8px 0 #516b4610}.book-illustration span{width:53px;height:75px;background:var(--soft);border:1px solid #9aa88b;display:grid;place-items:center;font:25px "SimSun",serif;color:var(--accent)}.book-illustration span:first-child{border-radius:4px 0 0 4px;border-right:1px solid #9aa88b}.book-illustration span:last-child{border-radius:0 4px 4px 0;background:var(--side)}.welcome h2{font:32px "SimSun",serif;letter-spacing:2px;margin:18px 0 12px}.welcome p{font-size:12px;color:var(--muted);line-height:2.2;margin:0 0 26px}.welcome .primary{font-size:12px}.welcome .primary span{margin-left:28px}.welcome-notes{display:flex;gap:20px;font-size:9px;color:var(--muted);margin-top:28px}.content{max-width:800px;margin:0 auto;padding:44px 56px 100px;font-family:Georgia,"SimSun",serif;font-size:var(--font-size);line-height:2.1;overflow-wrap:anywhere;white-space:pre-wrap}.content p{margin:0;min-height:2.1em;text-align:justify}.statusbar{height:42px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);gap:12px}.status-message{display:flex;align-items:center;min-width:0}#status{overflow-wrap:anywhere}#status.error{color:#b34d3b}#retry-save{padding:2px 7px;margin-left:10px;font-size:10px}.progress-track{height:3px;background:var(--line);flex-shrink:0}#progress-bar{height:100%;width:0;background:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body.shelf-hidden .sidebar{display:none}
body[data-theme="dark"]{color-scheme:dark;--bg:#20251f;--paper:#2d352a;--side:#252d23;--text:#dce2d4;--muted:#a1ac98;--line:#3b4536;--accent:#7c986b;--soft:#36452f;--hover:#35412e}
@media(max-width:1100px){.sidebar{width:228px;padding-left:12px;padding-right:12px}.toolbar{padding:0 22px}.reading-header{padding:24px 28px;align-items:flex-start;flex-direction:column;gap:16px}.appearance{align-self:flex-end}.content{padding:30px 36px 80px}.welcome h2{font-size:27px}}
@media(max-width:700px){.sidebar{position:absolute;inset:82px auto 45px 0;z-index:2;width:240px;box-shadow:8px 0 20px #0002}.brand{display:none}.shelf-heading{margin-top:24px}.toolbar{padding:0 12px;gap:8px}.breadcrumb{display:none}.import-tools{margin-left:auto}.reading-header{padding:20px;gap:10px}.appearance{align-self:flex-start}.welcome-notes{gap:10px;font-size:8px}.content{padding:24px 22px 70px}.statusbar{padding:0 12px}h1{font-size:23px}.welcome h2{font-size:24px}}

/* 阅读设置随正文区域滚动时保持可见。 */
.reader .appearance{position:sticky;top:0;z-index:1;justify-content:flex-end;align-self:auto;padding:6px 48px;background:var(--bg);border-bottom:1px solid var(--line)}
@media(max-width:1100px){.reader .appearance{padding:6px 28px}}
@media(max-width:700px){.reader .appearance{justify-content:flex-start;padding:6px 20px}}

/* 正文随阅读区域伸展，边缘留出少量阅读间距。 */
.content{max-width:none;width:100%;margin:0;padding-left:24px;padding-right:24px}
@media(max-width:700px){.content{padding-left:16px;padding-right:16px}}

.ai-panel{width:350px;flex-shrink:0;display:flex;flex-direction:column;background:var(--paper);border-left:1px solid var(--line);padding:30px 24px 20px;min-height:0}
.ai-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ai-heading h2{font:22px Georgia,"SimSun",serif;margin:9px 0 0}.ai-heading button{border:0;font-size:18px;padding:4px 8px}.ai-intro,.ai-foot{color:var(--muted);font-size:12px;line-height:1.8}.ai-intro{margin:22px 0 14px}.ai-badge{align-self:flex-start;background:var(--soft);color:var(--text);border-radius:20px;padding:6px 10px;font-size:11px}.ai-body{overflow-y:auto;flex:1;margin-top:20px}.ai-body h3{font-size:12px;margin:16px 0 10px}.ai-body blockquote{margin:0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--bg);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px;max-height:220px;overflow:auto}.ai-answer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:13px}.ai-foot{border-top:1px solid var(--line);padding-top:14px;margin-bottom:0}
@media(max-width:900px){.ai-panel{position:fixed;right:0;top:0;bottom:0;z-index:5;width:min(350px,90vw);box-shadow:-8px 0 24px #0003}}
@media(max-width:700px){.reader .appearance{gap:3px;padding-left:10px;padding-right:10px}.appearance .divider{margin:0 3px}.appearance button{padding:7px 4px}}
@media(max-width:700px){.reader .appearance{flex-wrap:wrap}.ai-body label{display:block;line-height:1.7}}
.ai-chat-form{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}.ai-chat-form label{width:100%;font-size:12px}.ai-chat-form textarea{flex:1;min-width:0;resize:vertical;border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--bg);color:var(--text);font:inherit}.ai-chat-form button{align-self:flex-end}.ai-chat-message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-size:13px}.ai-chat-message strong{display:block;color:var(--accent);font-size:12px}
.cloud-demo-entry{display:flex;align-items:center;justify-content:space-between;margin:20px 18px 0;padding:11px 12px;border-radius:8px;background:#eaf0e8;color:#506f58;text-decoration:none;font-size:13px;font-weight:600}.cloud-demo-entry span{font-size:10px;font-weight:400;color:#819783}.cloud-demo-entry:hover{background:#dfeade}
.cloud-dialog{border:1px solid #dce5d9;border-radius:12px;padding:26px;max-width:min(480px,90vw);background:#fffefa;color:#354a3b;box-shadow:0 16px 55px #17281d33}.cloud-dialog::backdrop{background:#1f3027a0}.cloud-dialog h2{font-size:21px}.cloud-dialog p,.cloud-dialog small{line-height:1.6;font-size:13px}.cloud-dialog label{display:block;margin:12px 0;font-size:13px}.cloud-dialog input:not([type=checkbox]){display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #cedccf;border-radius:5px}.cloud-dialog button,.cloud-local-switch{border:1px solid #ccdaca;background:#edf3eb;color:#47634e;padding:9px 12px;border-radius:6px;cursor:pointer;margin:4px}.cloud-close{float:right}.cloud-actions{display:flex;flex-wrap:wrap;gap:4px}.cloud-local-switch{margin:8px 18px;font-size:12px}#cloud-migration{max-height:220px;overflow:auto}#cloud-migration label{display:flex;gap:8px;align-items:center}#cloud-message{color:#9e5a4b}
