:root{color-scheme:light;--paper:#f6f3ec;--ink:#242b29;--muted:#687267;--line:#deded4;--accent:#5b6c58;--surface:#eeece4;--font-size:20px;--leading:1.95;--reading-font:"Noto Serif SC","Songti SC","STSong","SimSun",serif;--ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
:root[data-theme="light"]{--paper:#fff;--ink:#242b29;--muted:#657164;--line:#e2e6df;--surface:#f3f5f1}
:root[data-theme="night"]{color-scheme:dark;--paper:#171d1b;--ink:#d5dcd4;--muted:#a1afa0;--line:#364139;--accent:#b2c6a6;--surface:#222c26}
*{box-sizing:border-box}html{scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ui-font);-webkit-text-size-adjust:100%;transition:background-color .15s,color .15s}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit}button{border:0;cursor:pointer;background:none}a{color:inherit;text-decoration:none}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button svg,a svg{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button{min-height:44px}button:active{opacity:.7}[hidden]{display:none!important}
.skip{position:fixed;top:-80px;left:20px;padding:12px;background:var(--paper);z-index:10}.skip:focus{top:12px}.site-header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 40px;max-width:1120px;margin:auto}.brand{font-family:var(--reading-font);font-size:22px;font-weight:600;letter-spacing:.06em;display:flex;align-items:center;gap:12px}.brand-symbol{display:inline-flex;width:22px;height:28px;align-items:center;gap:3px}.brand-symbol i{width:2px;height:22px;background:var(--accent);transform:rotate(18deg)}.brand-symbol i:nth-child(2){height:14px}.brand-symbol i:nth-child(3){height:26px}.header-action{font-size:14px;color:var(--muted);display:inline-flex;align-items:center;gap:8px;min-height:44px}.reader-top{position:sticky;top:0;background:var(--paper);z-index:3;max-width:none;height:64px;padding:0 max(24px,calc((100% - 1032px)/2));gap:16px}.reader-book{font-family:var(--reading-font);font-size:19px;display:flex;align-items:center;gap:10px;min-width:0;text-align:left}.reader-book span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-top .header-action{font-family:var(--reading-font);font-size:17px;flex:none}.icon-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 5px}
.library{max-width:960px;margin:auto;padding:64px 40px 48px}.library h1{font-family:var(--reading-font);font-weight:600;font-size:44px;line-height:1.4;letter-spacing:.04em;margin:0 0 18px}.library-intro{font-family:var(--reading-font);font-size:18px;color:var(--muted);line-height:1.9;max-width:580px;margin:0 0 34px}.resume{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;margin:0 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.resume small{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.resume span{font-size:15px}.text-link{color:var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-weight:500;font-size:14px;flex:none}
.book-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:28px;padding:34px 0;border-bottom:1px solid var(--line)}.book-number{font-family:Georgia,serif;font-size:37px;color:var(--accent);letter-spacing:-.03em;align-self:start;padding-top:3px}.book-meta{font-size:12px;color:var(--muted);letter-spacing:.06em;margin:0 0 8px}.book-row h2{font-family:var(--reading-font);font-size:27px;font-weight:600;line-height:1.6;margin:0 0 8px}.book-note{font-family:var(--reading-font);color:var(--muted);font-size:15px;margin:0;line-height:1.8}.book-read{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--accent)}.library-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:32px;color:var(--muted);font-size:12px;line-height:1.9}.library-footer a{min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--accent)}
.reader{max-width:760px;padding:68px 40px 140px;margin:auto;outline:none;min-height:75vh}.chapter-meta{font-family:var(--reading-font);font-size:14px;letter-spacing:.12em;color:var(--muted);margin:0 0 22px}.reader h1{font-family:var(--reading-font);font-weight:600;letter-spacing:.03em;font-size:38px;line-height:1.65;margin:0 0 52px;text-wrap:balance;overflow-wrap:anywhere}.chapter-body{font-family:var(--reading-font);font-size:var(--font-size);line-height:var(--leading);letter-spacing:.025em;overflow-wrap:anywhere}.chapter-body p{margin:0 0 .9em;text-indent:2em;text-align:justify}.chapter-body h2,.chapter-body h3{font-family:var(--reading-font);font-weight:500;font-size:1em;text-indent:0;line-height:1.7;margin:2.4em 0 1.7em}.chapter-body>:first-child{margin-top:0}.chapter-body strong{font-weight:600}.chapter-end{border-top:1px solid var(--line);margin-top:52px;padding-top:28px;text-align:center;color:var(--muted);font-size:13px;line-height:1.9}.chapter-end button{display:block;margin:12px auto 0;color:var(--accent);font-size:15px;min-width:160px}.loading{font-family:var(--reading-font);color:var(--muted);font-size:18px;line-height:2;padding:50px 0}.error-panel{border-left:2px solid var(--accent);padding:12px 20px;line-height:1.9}.error-panel button{color:var(--accent);margin-right:16px}
.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:4;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:center}.bottom-inner{width:100%;max-width:1032px;min-height:74px;display:flex;align-items:center;gap:24px;padding:10px 24px}.progress-area{min-width:64px;flex:1;max-width:235px;margin-right:auto}.progress-track{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin:0 0 7px}.progress-fill{height:100%;width:0;background:var(--accent);border-radius:3px}.progress-label{font-size:11px;letter-spacing:.04em;color:var(--muted);font-variant-numeric:tabular-nums}.bottom-tool{font-family:var(--reading-font);font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:44px;padding:0}.chapter-nav{display:flex;align-items:center;gap:7px;font-family:var(--reading-font);font-size:15px;white-space:nowrap;min-width:72px;justify-content:center}.chapter-nav svg{width:18px;height:18px}.previous-label{display:inline}.reader-help{color:var(--muted);font-size:11px}
dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:0;width:calc(100% - 32px);max-width:560px;max-height:85dvh;box-shadow:0 20px 90px #0002}dialog::backdrop{background:#1116}.dialog-inner{padding:24px}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.dialog-header h2{font-family:var(--reading-font);font-size:24px;margin:0;font-weight:600}.close{display:flex;align-items:center;justify-content:center;min-width:44px;padding:0}.settings-section{border-top:1px solid var(--line);padding:20px 0 5px}.settings-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin-bottom:14px}.settings-label output{color:var(--ink)}.choice-row{display:flex;gap:10px;flex-wrap:wrap}.choice{border:1px solid var(--line);border-radius:5px;padding:8px 17px;font-size:14px;min-height:44px;flex:1;white-space:nowrap}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--surface);color:var(--accent)}.font-control{display:flex;align-items:center;gap:14px}.font-control button{border:1px solid var(--line);border-radius:4px;min-width:48px;font-size:18px}.font-control input{width:100%;accent-color:var(--accent);min-width:0;height:32px}.settings-note{font-size:12px;color:var(--muted);line-height:1.8;margin:20px 0 0}.toc-inner{padding-bottom:12px}.book-tabs{display:flex;gap:6px;margin-bottom:18px}.book-tabs button{flex:1;border-bottom:2px solid transparent;font-family:var(--reading-font);font-size:13px;line-height:1.7;padding:8px 2px;min-width:0}.book-tabs button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}.search-label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.toc-search{width:100%;height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:0 12px;border-radius:4px;font-size:15px}.toc-list{margin-top:22px}.toc-part{font-size:12px;color:var(--muted);letter-spacing:.03em;margin:24px 0 8px;line-height:1.7}.toc-list a{display:flex;align-items:center;min-height:48px;gap:14px;font-size:14px;line-height:1.6;border-bottom:1px solid var(--line);padding:8px 0}.toc-list a span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.toc-list a[aria-current=page]{color:var(--accent);font-weight:600}.empty{font-size:14px;color:var(--muted);padding:22px 0;line-height:1.9}.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:13px;padding:11px 18px;border-radius:5px;z-index:20;max-width:calc(100% - 40px);text-align:center;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1000px){.reader h1 .title-break{display:none}.reader h1 .title-second:before{content:""}.library{padding-top:72px}.reader{padding-top:75px}}
@media(max-width:600px){.site-header{height:64px;padding-left:24px;padding-right:24px}.brand{font-size:19px;gap:8px}.brand-symbol{width:17px}.header-action{font-size:12px}.header-action svg{width:19px}.library{padding:44px 24px 32px}.library h1{font-size:34px;margin-bottom:14px}.library-intro{font-size:16px;margin-bottom:26px}.book-row{grid-template-columns:38px 1fr;gap:16px;padding:28px 0}.book-number{font-size:28px}.book-row h2{font-size:23px}.book-note{font-size:14px}.book-row .book-read{grid-column:2;min-height:44px;margin-top:0}.book-meta{font-size:11px}.library-footer{display:block;margin-top:24px}.library-footer p{margin:0}.resume{gap:10px}.resume span{font-size:13px}.resume .text-link{font-size:13px}.reader{padding:62px 24px 122px}.reader h1{font-size:36px;line-height:1.55;margin-bottom:54px;letter-spacing:.01em}.chapter-meta{font-size:14px;margin-bottom:24px}.reader-top .header-action{font-size:16px}.reader-book{font-size:18px;gap:8px}.reader-book svg{width:22px}.chapter-body{letter-spacing:.015em}.bottom-inner{min-height:72px;gap:14px;padding:9px 18px}.bottom-tool{min-width:40px;font-size:11px}.bottom-tool svg{width:21px;height:21px}.chapter-nav{font-size:13px;min-width:64px;gap:3px}.progress-area{max-width:130px;min-width:55px}.progress-label{font-size:10px}.previous-label{display:none}.chapter-nav.previous{min-width:30px}.dialog-inner{padding:20px}.choice{padding-left:9px;padding-right:9px}.reader-help{display:none}}
@media(max-width:350px){.site-header{padding-left:18px;padding-right:18px}.reader{padding-left:20px;padding-right:20px}.reader h1{font-size:31px}.reader-book{font-size:16px}.bottom-inner{gap:7px;padding-left:12px;padding-right:12px}.bottom-tool{min-width:38px}.progress-area{min-width:46px}.chapter-nav{min-width:60px}.library{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.bottom-bar,dialog,.library,.toast,.chapter-end{display:none!important}.reader{max-width:none;padding:0!important}.chapter-body{font-size:12pt;color:#000}.reader h1{font-size:24pt}body{background:#fff;color:#000}}
.bottom-tool,.chapter-nav.previous{min-width:44px}
