:root{--lib-paper:#fbf6eb;--lib-ink:#392c23;--lib-muted:#796b5c;--lib-line:#dacbb7;--lib-red:#84362f;--reading-size:20px}
*{box-sizing:border-box}body.library-page{margin:0;background:var(--lib-paper);color:var(--lib-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--lib-line);background:transparent;color:inherit;border-radius:9px;min-height:44px;padding:9px 14px}a{color:inherit;text-decoration:none}button:hover,a:hover{color:var(--lib-red)}:focus-visible{outline:2px solid var(--lib-red);outline-offset:4px}[hidden]{display:none!important}.top-nav{height:72px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--lib-line)}.top-nav>a{font:700 26px Georgia,serif}.top-nav>div{display:flex;align-items:center;gap:24px}#libraryMain{max-width:1080px;padding:36px 36px 70px;margin:auto}.library-hero{display:flex;justify-content:space-between;align-items:center;padding:30px 0 42px;border-bottom:1px solid var(--lib-line)}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--lib-muted)}h1,h2{font-family:"Songti SC","SimSun",serif}.library-hero h1{font-size:48px;letter-spacing:8px;margin:14px 0}.library-hero p{color:var(--lib-muted)}.hero-detail{font-size:12px;letter-spacing:4px}.library-seal{border:1px solid #a26350;color:var(--lib-red);padding:17px 10px;font:20px/1.8 "SimSun",serif;writing-mode:vertical-rl;letter-spacing:5px;transform:rotate(3deg);margin-right:25px}.shelf-tools{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:28px 0 12px}.book-search{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--lib-line);min-width:0}.book-search span{font-size:13px;white-space:nowrap}.book-search input{background:transparent;border:0;color:inherit;padding:12px 0;width:240px;min-width:0}.categories{display:flex;gap:8px}.categories button{border:0;color:var(--lib-muted)}.categories button[aria-pressed=true]{color:var(--lib-red);background:#efe2d0}.book-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:30px}.book-card{display:block;min-width:0}.book-cover{height:250px;max-width:185px;margin:0 auto 24px;position:relative;display:flex;justify-content:flex-end;align-items:flex-start;padding:22px 22px 22px 16px;background:#38594d;color:#f9edd7;border-radius:2px 7px 7px 2px;box-shadow:8px 12px 22px #59432b1c,inset 8px 0 #ffffff12;border:1px solid #3d5144}.book-cover:before{content:"";position:absolute;left:15px;top:0;bottom:0;border-left:1px solid #ffffff28}.book-cover:after{content:"知時藏書";position:absolute;left:32px;bottom:22px;letter-spacing:3px;font:11px "SimSun",serif;color:#e6d8b8}.book-cover.indigo{background:#3b475b;border-color:#343c4d}.book-cover.ochre{background:#92724b;border-color:#7a5e3b}.book-cover strong{writing-mode:vertical-rl;border:1px solid #dccbb280;padding:10px 8px;font:24px/1.4 "SimSun",serif;letter-spacing:4px;max-height:213px}.book-card h2{font-size:22px;margin:14px 0 8px}.book-card p{font-size:13px;line-height:1.8;margin:8px 0;color:var(--lib-muted)}.book-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--lib-muted);border-top:1px solid var(--lib-line);padding-top:14px;margin-top:18px}.book-action{display:block;color:var(--lib-red);font-size:14px;padding-top:16px}.book-card:hover .book-cover{box-shadow:8px 16px 24px #59432b30}.library-footnote{font-size:12px;line-height:1.9;color:var(--lib-muted);margin-top:50px}#shelfStatus{font-size:13px;color:var(--lib-muted)}.continue-reading{margin:24px 0 0;padding:18px 22px;background:#f1e7d6;border-radius:12px;display:block;line-height:1.9;color:var(--lib-red);font-size:14px}.reader-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.reader-heading span{color:var(--lib-muted);text-align:center}.reader-heading button{font-size:12px}.reading-status{font-size:12px;color:var(--lib-muted);padding:20px 0;min-height:52px}#retrySync{font-size:12px}.reading-article{max-width:700px;margin:28px auto 100px}.reading-article h1{font-size:32px;line-height:1.6;margin:20px 0 38px;overflow-wrap:anywhere}#chapterBody{font-family:"Songti SC","SimSun",serif;font-size:var(--reading-size);line-height:2.05;letter-spacing:.035em;overflow-wrap:anywhere}#chapterBody p{margin:0 0 1.5em;white-space:pre-line}#chapterBody pre{font-size:.85em;line-height:1.9;white-space:pre;overflow:auto;max-width:100%;padding:18px;background:#dbc9ab26;font-family:"SimSun",monospace;letter-spacing:0}.chapter-pager{display:flex;justify-content:space-between;gap:20px;margin-top:40px}.chapter-pager button{min-width:110px}.chapter-pager button:disabled{opacity:.4;cursor:default}.reader-toolbar{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:10px;padding:10px;background:var(--lib-paper);border:1px solid var(--lib-line);border-radius:14px;box-shadow:0 4px 25px #48372518;z-index:990;max-width:calc(100% - 20px);white-space:nowrap}.reader-toolbar button{border:0}.reader-toolbar button[aria-pressed=true]{background:#846c4c20;color:var(--lib-red)}dialog{color:var(--lib-ink);background:var(--lib-paper);border:1px solid var(--lib-line);border-radius:16px;max-width:560px;width:calc(100% - 30px);max-height:80dvh;padding:24px}dialog::backdrop{background:#241d1680}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;position:sticky;top:-24px;padding:10px 0;background:var(--lib-paper)}.dialog-heading h2{font-size:22px}.toc-tabs{display:flex;gap:12px;margin:10px 0 20px}.toc-tabs button[aria-pressed=true]{background:#e9dcc7;color:var(--lib-red)}#chapterList a{display:block;padding:15px 5px;border-bottom:1px solid var(--lib-line);line-height:1.6;font-size:15px}#chapterList a[aria-current=true]{color:var(--lib-red);font-weight:700}#bookSource{font-size:14px;line-height:1.9;overflow-wrap:anywhere}#bookSource a{color:var(--lib-red);text-decoration:underline}#libraryError{padding:35px 0;line-height:2}#libraryError a{margin-left:20px}body.library-night{--lib-paper:#222723;--lib-ink:#e3dbcc;--lib-muted:#b0a999;--lib-line:#485148;--lib-red:#e0ac8d}body.library-reading .mobile-app-nav{display:none!important}
@media(max-width:700px){#libraryMain{padding:18px 20px 32px}.library-hero{padding:20px 0 28px}.library-hero h1{font-size:36px}.library-seal{margin-right:4px;font-size:17px}.shelf-tools{display:block;margin-top:20px}.book-search input{width:100%}.categories{margin-top:14px}.categories button{flex:1;padding:8px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.book-cover{height:202px;padding:15px;max-width:155px}.book-cover strong{font-size:20px;letter-spacing:2px;max-height:172px}.book-cover:after{left:26px;font-size:10px;bottom:16px}.book-card h2{font-size:18px;line-height:1.5}.book-card p{font-size:12px}.book-meta{font-size:11px;gap:8px}.reader-heading{font-size:12px;gap:7px}.reader-heading button{padding:8px}.reading-article{margin-top:12px}.reading-article h1{font-size:27px;margin-bottom:28px}.reader-toolbar{bottom:0;width:100%;max-width:100%;border-radius:16px 16px 0 0;gap:0;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom))}.reader-toolbar button{font-size:13px;padding:8px;min-width:44px}.reading-status{line-height:1.7}dialog{padding:18px}body.library-reading{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}.library-footnote{margin-top:35px}}
@media(prefers-reduced-motion:no-preference){.book-cover{transition:box-shadow .2s}}

/* Generated artwork is decorative; titles remain selectable, accessible text. */
.reading-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;max-width:700px;margin:8px auto 20px;font-size:13px}
.reading-modes{display:flex;gap:4px;padding:4px;border:1px solid var(--lib-line);border-radius:12px}
.reading-modes button{border:0;padding:8px 14px}.reading-modes [aria-pressed=true]{background:var(--lib-ink);color:var(--lib-paper)}
#editionControl{display:flex;align-items:center;gap:8px}#editionSelect{min-height:44px;max-width:200px;padding:8px;border:1px solid var(--lib-line);border-radius:8px;background:var(--lib-paper);color:var(--lib-ink);font:inherit}
.translation-status,.editorial-note{max-width:700px;margin:12px auto;font-size:13px;line-height:1.9;color:var(--lib-muted)}
.translation-status p{margin:0 0 6px}.translation-status a{color:var(--lib-red);display:inline-block;padding:8px 0;text-decoration:underline}
#chapterBody .reading-pair{margin:0 0 32px}.passage-label{font:12px/1.8 -apple-system,"Microsoft YaHei",sans-serif;letter-spacing:2px;color:var(--lib-muted)}
#chapterBody .reading-pair>p{margin-top:8px}#chapterBody .vernacular{border-left:2px solid var(--lib-line);padding:12px 18px;background:#a9896010}
#chapterBody .vernacular p{font-family:-apple-system,"Microsoft YaHei",sans-serif;font-size:.88em;line-height:1.95;margin:6px 0 0;text-indent:0}
#chapterBody h2{font-size:1.05em;margin-top:28px}.library-night .reading-modes [aria-pressed=true]{background:#e1d0b3;color:#27221d}
.library-hero{position:relative;isolation:isolate;overflow:hidden;min-height:290px;padding:36px 42px;border:1px solid #dacbb780;border-radius:6px 24px 6px 6px;background:#f2e8d6}
.library-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;z-index:-2}
.library-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fbf6eb80,transparent 70%);z-index:-1;pointer-events:none}
.library-hero-copy{max-width:52%;text-shadow:0 1px 10px #fff9eb}
.library-hero-copy p{color:#665747;line-height:1.8}
.library-hero-copy .hero-detail{letter-spacing:2px;font-size:11px}
.book-cover{overflow:hidden;border-color:#675a4266;box-shadow:5px 10px 17px #44382528,inset 6px 0 #ffffff12}
.book-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.book-cover.ochre .book-art{filter:sepia(.7) saturate(.65)}
.book-cover:before{z-index:1;left:10px;border-color:#f3e5c855;box-shadow:-6px 0 8px #1118}
.book-cover:after{z-index:1;text-shadow:0 1px 4px #151c18;background:#17241c80;padding:5px 7px;left:23px;bottom:16px;border-radius:2px}
.book-cover strong{position:relative;z-index:2;background:#f1e8d5f2;color:#3a4033;border:1px solid #f9edce;box-shadow:0 0 0 3px #f7edd330,1px 3px 7px #0a171930;letter-spacing:4px;padding:12px 7px}
.book-cover.indigo strong{color:#293949}
.book-cover.ochre strong{color:#5d4630}
@media(max-width:700px){
  .library-hero{min-height:228px;padding:22px 20px;border-radius:4px 18px 4px 4px}
  .library-hero-art{object-position:60% center}
  .library-hero-copy{max-width:58%}
  .library-hero h1{font-size:33px;letter-spacing:6px}
  .library-hero-copy p{font-size:12px}
  .library-hero-copy .hero-detail{font-size:10px;letter-spacing:1px}
  .book-cover strong{font-size:18px;line-height:1.35;padding:9px 6px;letter-spacing:2px}
  .book-cover:after{left:19px;bottom:12px;font-size:9px;letter-spacing:2px}
}
.book-warning{color:var(--lib-red);font-size:12px;line-height:1.7}
.book-editorial-notice{max-width:700px;margin:20px auto;padding:16px 18px;border:1px solid var(--lib-line);border-left:3px solid var(--lib-red);border-radius:8px;background:#a9896010;font-size:13px;line-height:1.9;color:var(--lib-ink)}
.book-editorial-notice[hidden]{display:none}.book-editorial-notice p{margin:8px 0 0}.book-editorial-notice p:last-child{color:var(--lib-muted)}
#chapterBody .reading-passage{margin:0 0 32px}#chapterBody .proofreading-note{margin:12px 0 24px;padding:12px 16px;border-left:2px solid var(--lib-line);background:#a9896010;font:13px/1.9 -apple-system,"Microsoft YaHei",sans-serif;color:var(--lib-muted)}
#chapterBody .proofreading-note p{margin:6px 0 0;font:inherit;letter-spacing:normal}
.library-cases-entry{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;margin:22px 0;border:1px solid var(--lib-line);border-radius:12px;line-height:1.8;color:var(--lib-red)}.library-cases-entry strong{font:600 20px/1.8 "Songti SC","SimSun",serif}.library-cases-entry small{display:block;color:var(--lib-muted);font-size:12px}.library-cases-entry>span:last-child{flex-shrink:0;font-size:13px}
