/* 提供纸感书架及手机、电脑共用的单章阅读版面。 */
[hidden]{display:none!important}
:root{color-scheme:light;--paper:#f5f2e9;--card:#fffdf7;--ink:#26392f;--muted:#646c62;--line:#dedfd3;--accent:#36584b;--soft:#e5eadf;--warm:#96573c;--font-size:21px;--line-height:1.9;--reading-width:760px;font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:10px 15px;font-size:14px}button:hover{border-color:var(--accent);background:var(--soft)}button:disabled{opacity:.5;cursor:wait}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:#ad4337}button.text{border:0;background:transparent;padding:8px}a{color:var(--accent)}input,select{border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);padding:11px 13px;min-width:0}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--warm);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-weight:600}small,.muted{color:var(--muted)}.site-header{max-width:1240px;margin:auto;padding:25px 34px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-family:SimSun,serif;font-size:23px;letter-spacing:2px;flex-shrink:0}.brand-icon{display:grid;place-items:center;background:var(--accent);color:var(--paper);width:43px;height:48px;border-radius:3px 10px 10px 3px;font-size:23px}.brand small{display:block;font:9px system-ui;letter-spacing:3px;margin-top:4px}.account-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.sync-state{color:var(--muted);font-size:12px}.sync-state:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#7b9a6b;margin-right:6px}main{max-width:1240px;margin:auto;padding:38px 34px 80px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--warm);font-weight:650}.shelf-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.shelf-heading h1{font-size:36px;letter-spacing:2px;margin:10px 0 13px}.shelf-heading p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.import-button{white-space:nowrap;padding:13px 21px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:17px 0;border-top:1px solid var(--line);margin-bottom:20px}.toolbar input{flex:1;max-width:340px}.filters{display:flex;gap:5px}.filters button{border:0;background:transparent;color:var(--muted);padding:9px 14px}.filters button.active{background:var(--soft);color:var(--accent)}.count{margin-left:auto;font-size:12px;color:var(--muted)}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.book-card{display:flex;flex-direction:column;background:var(--card);padding:20px;border:1px solid var(--line);border-radius:12px;transition:transform .15s}.book-card:hover{transform:translateY(-2px)}.book-top{display:flex;gap:17px;min-height:132px}.book-cover{width:87px;min-width:87px;height:124px;padding:12px 10px 10px 15px;background:var(--cover,#36584b);color:#fff9e7;border-radius:2px 6px 6px 2px;box-shadow:inset 5px 0 0 #ffffff19,3px 4px 9px #26392f1f;display:flex;flex-direction:column;justify-content:space-between}.book-cover span{font-family:SimSun,serif;font-size:16px;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow-wrap:anywhere}.book-cover small{color:#ffffff96;font-size:9px;letter-spacing:2px}.book-info{min-width:0;flex:1}.book-info h2{font-size:19px;line-height:1.5;margin-bottom:9px;overflow-wrap:anywhere}.book-info p{font-size:12px;line-height:1.6;color:var(--muted);margin-bottom:10px}.badge{display:inline-block;padding:3px 7px;border-radius:5px;background:var(--soft);font-size:10px;color:var(--accent)}.badge.cloud{background:#eee8dc;color:#755d49}.book-progress{margin:17px 0 15px}.progress-label{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-bottom:8px}.progress-track{height:3px;background:var(--line);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--accent)}.book-actions{display:flex;gap:7px;margin-top:auto}.book-actions .open-book{flex:1}.book-actions .manage-book{padding:10px 12px}.empty{padding:64px 20px;text-align:center;border:1px dashed var(--line);border-radius:12px}.empty h2{font-size:24px;margin:15px 0}.empty p{color:var(--muted);font-size:14px;line-height:1.8}.login-view{max-width:680px;margin:60px auto 90px;padding:45px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.login-view h1{font-size:40px;line-height:1.5;margin:20px 0}.login-view p{color:var(--muted);line-height:1.9;font-size:15px}.login-view .primary{display:inline-block;text-decoration:none;border-radius:8px;background:var(--accent);color:white;padding:13px 23px;margin:14px 0 18px}.footnote{font-size:12px!important}.loading{padding:50px;text-align:center;color:var(--muted)}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:9px;font-size:13px;max-width:min(92vw,620px);box-shadow:0 6px 22px #0002}#notice:empty{display:none}dialog{border:1px solid var(--line);border-radius:15px;color:var(--ink);background:var(--card);padding:27px;width:min(600px,calc(100vw - 28px));max-height:85dvh}dialog::backdrop{background:#14281e65;backdrop-filter:blur(2px)}dialog h2{font-size:24px}dialog p{font-size:14px;color:var(--muted);line-height:1.8}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:23px;flex-wrap:wrap}.fields{display:grid;gap:15px}.fields label{display:grid;gap:8px;font-size:13px}.fields label input,.fields label select{width:100%}.preview-toc{max-height:210px;overflow:auto;padding:14px;background:var(--paper);font-size:13px;line-height:2}.menu-list{display:grid;gap:8px}.menu-list button{text-align:left}.conflict-choice{padding:16px;border:1px solid var(--line);border-radius:10px;margin:12px 0}.conflict-choice h3{font-size:19px;margin:0 0 10px}.conflict-choice p{margin-bottom:12px;font-size:12px}.toc-list{display:grid;gap:5px;max-height:55dvh;overflow:auto}.toc-list button{text-align:left;border:0;background:transparent;padding:9px;font-size:14px}.toc-list button.current{background:var(--soft)}.toc-search{width:100%;margin-bottom:14px}.reader-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:0;z-index:5;background:var(--paper);padding:13px 0;border-bottom:1px solid var(--line);margin-bottom:20px}.reader-title{flex:1;min-width:0;text-align:center;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-controls{display:flex;gap:5px}.reader-controls button{padding:8px 11px}.reader-mode main{padding-top:0}.reader-mode .site-header{padding-top:16px;padding-bottom:16px}.chapter-heading{max-width:var(--reading-width);margin:45px auto 35px}.chapter-heading small{font-size:11px;letter-spacing:1px}.chapter-heading h1{font-size:30px;line-height:1.6;margin:13px 0}.reading-body{max-width:var(--reading-width);margin:auto;font-family:"Noto Serif SC","Songti SC",SimSun,serif;font-size:var(--font-size);line-height:var(--line-height);overflow-wrap:anywhere;min-height:30vh}.reading-body p{margin:0 0 1em;text-indent:2em}.reading-body h1,.reading-body h2,.reading-body h3{font-size:1.15em;margin:1.4em 0 1em}.reading-body img{max-width:100%;height:auto;display:block;margin:20px auto}.reading-body a{color:var(--warm);text-decoration:underline}.reading-body table{max-width:100%;display:block;overflow-x:auto;border-collapse:collapse}.reading-body td,.reading-body th{border:1px solid var(--line);padding:8px}.reading-body pre{white-space:pre-wrap}.reading-body figure{margin:20px 0}.reading-body blockquote{border-left:3px solid var(--line);margin:20px 0;padding-left:20px;color:var(--muted)}.chapter-nav{display:flex;justify-content:space-between;gap:16px;max-width:var(--reading-width);margin:65px auto 20px;border-top:1px solid var(--line);padding-top:25px}.reading-footer{max-width:var(--reading-width);margin:25px auto;color:var(--muted);text-align:center;font-size:11px}.conflict-banner{background:#f0dfcd;border-radius:8px;padding:11px 15px;font-size:13px;margin:15px auto;max-width:var(--reading-width);display:flex;justify-content:space-between;gap:10px;align-items:center}.search-result{display:block;width:100%;text-align:left;margin-bottom:8px}.search-result strong{display:block;font-size:13px;margin-bottom:6px}.search-result span{font-size:12px;color:var(--muted);line-height:1.7}.search-result mark{background:#e4d7ad}.search-state{font-size:12px;margin:12px 0;color:var(--muted)}.dark{color-scheme:dark;--paper:#1f2723;--card:#28322c;--ink:#dddcd1;--muted:#a1aa9f;--line:#3c4840;--accent:#a6baa0;--soft:#344137;--warm:#d4aa83}.dark button.primary{color:#243329}.dark .conflict-banner{background:#514031}.dark .book-cover{color:#fff9e7}
@media(min-width:1300px){.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.book-top{gap:13px}.book-cover{width:74px;min-width:74px}}
@media(max-width:1000px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.site-header{padding:18px 19px;gap:8px}.brand{font-size:20px;gap:8px;letter-spacing:1px}.brand-icon{width:33px;height:40px;font-size:20px}.account-bar{gap:3px;font-size:11px}.account-bar button{font-size:11px;padding:6px}.account-bar .sync-state{width:100%;text-align:right;font-size:10px}main{padding:28px 18px 65px}.shelf-heading{gap:10px;align-items:flex-start;margin-bottom:24px}.shelf-heading h1{font-size:28px;margin-bottom:10px}.shelf-heading p{font-size:12px;max-width:225px}.import-button{font-size:12px;padding:10px 13px;margin-top:25px}.toolbar{gap:10px}.toolbar input{max-width:none;flex-basis:100%;font-size:13px}.filters button{padding:8px 12px;font-size:12px}.book-grid{grid-template-columns:1fr;gap:12px}.book-card{padding:17px}.book-top{min-height:111px}.book-cover{height:108px;width:77px;min-width:77px}.book-info h2{font-size:19px}.book-progress{margin:12px 0}.login-view{padding:27px;margin:30px 0}.login-view h1{font-size:30px}.reader-bar{gap:4px;margin-bottom:12px;padding:9px 0}.reader-controls{gap:2px}.reader-controls button{font-size:11px;padding:8px}.reader-title{font-size:11px}.chapter-heading{margin:27px auto 25px}.chapter-heading h1{font-size:25px}.reading-body{font-size:var(--font-size);line-height:var(--line-height)}.chapter-nav{margin-top:45px}dialog{padding:22px}.reader-mode .site-header .brand small{display:none}.reader-mode .site-header{padding:11px 18px}.empty{padding:45px 15px}.count{font-size:10px}.conflict-banner{font-size:12px}.eyebrow{font-size:9px}}

/* 背景预览和阅读辅助保持在本机；长书名、图像页和触屏操作使用同一套版面。 */
:root{scrollbar-gutter:stable}body:has(dialog[open]){overflow:hidden}button:disabled{cursor:default}.book-cover span{-webkit-line-clamp:3;min-height:0}.book-cover small{flex-shrink:0}.book-info h2{font-size:18px}.book-card{box-shadow:0 3px 14px #14281e04}.progress-label{flex-wrap:wrap;line-height:1.6}.reader-bar{isolation:isolate}.chapter-scroll-track{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--line)}.chapter-scroll-track span{display:block;height:100%;background:var(--accent);width:0;transition:width .12s linear}#chapter-state{font:13px system-ui;color:var(--muted);margin:12px 0 0}#chapter-state:empty{display:none}.reading-body[aria-busy="true"]{opacity:.5}.reading-body .epub-image-page{width:auto;max-width:100%;max-height:none}.chapter-nav button{min-width:140px;padding:13px 20px}#back-top{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(25px,env(safe-area-inset-bottom));border-radius:50%;width:44px;height:44px;padding:0;box-shadow:0 4px 18px #0001;z-index:4;font-size:21px}.appearance-preview{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:22px;font-family:SimSun,serif;font-size:var(--font-size);line-height:var(--line-height)}.appearance-preview strong{display:block;font-size:1em;font-weight:500}.appearance-preview span{font-size:.85em}.setting-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.range-label{display:flex;align-items:center;gap:15px}.range-label input{flex:1;padding:0;accent-color:var(--accent)}.range-label output{min-width:48px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.theme-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.theme-swatches button{padding:9px 5px;font-size:12px;display:grid;justify-items:center;gap:7px}.theme-swatches i{display:block;width:25px;height:25px;border-radius:50%;border:1px solid #8886}.theme-swatches button[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.color-field{display:flex;gap:10px}.fields .color-field input[type="color"]{width:56px;height:44px;padding:4px;flex-shrink:0;cursor:pointer}.color-field input[type="text"]{flex:1;font-family:monospace}.local-management{border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:12px;color:var(--muted)}.local-management summary{cursor:pointer}.local-management p{margin:12px 0 0;font-size:12px}.dialog-actions{position:sticky;bottom:0;padding:12px 0 0;background:var(--card);z-index:2}dialog{overscroll-behavior:contain}.toc-list button:hover,.menu-list button:hover{background:var(--soft)}
@media(max-width:620px){.reader-mode .reader-title{max-width:90px}.reader-bar>button{font-size:12px;padding:8px}.chapter-nav button{min-width:0;flex:1;padding:13px 8px}.appearance-preview{padding:15px}.book-info h2{font-size:18px}#back-top{right:16px;bottom:18px}.theme-swatches{gap:6px}.dialog-actions button{min-height:42px}.reader-mode main{padding-bottom:40px}.reading-footer{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.book-card,.chapter-scroll-track span{transition:none}}

.dialog-actions{bottom:-27px;margin-bottom:-27px;padding:12px 0 27px;border-top:1px solid var(--line)}
@media(max-width:620px){.dialog-actions{bottom:-22px;margin-bottom:-22px;padding-bottom:22px}}
