:root{--ink:#3f4539;--olive:#737750;--muted:#858976;--line:#e4e7d9;--paper:#fcfdf7;--soft:#f0f2e6;--verse-size:21px}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;background:linear-gradient(#77775d 0,#676851 150px,#edf0e3 150px,#edf0e3 100%);min-height:100vh}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}a:hover{color:#ac602e}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a97735;outline-offset:3px}button:disabled{opacity:.4;cursor:default}.page{max-width:1060px;margin:48px auto;background:var(--paper);box-shadow:0 5px 30px #3332;border:1px solid #ffffff88}header{padding:12px 30px 0}.settings{display:flex;justify-content:flex-end;align-items:center;gap:4px;color:#767965;font-size:11px}.settings button{background:transparent;border:1px solid var(--line);padding:1px 7px;min-height:25px}.settings button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:white}.setting-label{margin-left:14px}.masthead{display:flex;align-items:center;justify-content:space-between;padding:20px 0 27px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:14px}.brand strong{font:700 33px/1.4 "Songti SC","STSong",serif;letter-spacing:2px;white-space:nowrap}.brand em{font-style:normal;color:#ad5f36}.brand small{display:block;color:#8b8d77;letter-spacing:1.9px;font-size:10px}.masthead nav{display:flex;gap:22px;font-size:14px}main{padding:24px 30px 42px;min-height:520px}.hero-layout{display:grid;grid-template-columns:1.9fr 1fr;gap:24px}.hero{position:relative;background:#444b38 url('assets/banner.jpg') center/cover;min-height:275px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:28px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#252b21b8)}.hero>*{position:relative}.eyebrow{font-size:10px;letter-spacing:3px;color:#e4e9d2}.hero blockquote{font:23px/1.85 "Songti SC",serif;margin:10px 0 14px;max-width:490px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#e8e6cd}.dots{display:flex;gap:8px}.dots button{border:0;width:7px;height:7px;border-radius:50%;background:#fff6;padding:0}.dots button.active{background:#fff}.search-panel{padding:1px 0}.section-kicker{font-size:11px;letter-spacing:2px;color:#898d75;margin:0 0 6px}h1,h2,h3,p{margin-top:0}h1{font:27px/1.5 "Songti SC",serif}h2{font-size:18px;font-weight:500}h3{font-size:16px}label{display:block;font-size:13px;margin-bottom:8px}.input-row{display:flex;gap:7px}input,select{width:100%;min-width:0;border:1px solid #d7dcc8;border-radius:2px;background:#fffefb;padding:9px 10px;color:var(--ink)}.primary{background:var(--olive);color:#fff;border:1px solid var(--olive);padding:8px 17px;white-space:nowrap;border-radius:2px}.primary:hover{background:#5d633f}.quick-read{border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.quick-read .input-row{margin-bottom:8px}#chapter-select{max-width:90px}.hint{font-size:12px;color:#949681;margin:8px 0}.resume{display:block;font-size:12px;color:#8d6538;margin-top:10px}.catalog{margin-top:34px}.section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:12px}.section-head h2{margin:0}.section-head small{font-size:12px;color:var(--muted)}.testaments{display:flex;gap:7px}.testaments button,.outline{border:1px solid var(--line);background:transparent;padding:6px 15px;border-radius:2px}.testaments button[aria-pressed=true]{background:var(--olive);border-color:var(--olive);color:white}.book-group{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--line);padding:15px 0;gap:16px}.group-label{font-size:12px;color:#93967e;padding-top:8px}.book-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.book-link{display:flex;align-items:center;justify-content:space-between;padding:7px 9px;font-size:14px;border-radius:2px}.book-link:hover{background:#e9eddb}.book-link small{font-size:10px;color:#a8ad94}.quiet-note{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:26px;color:#989c86;font-size:12px}.quiet-note:before,.quiet-note:after{content:"";height:1px;width:35px;background:var(--line)}footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding:21px 30px;font-size:11px;color:#90947d}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:18px}.reader-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--soft);padding:17px 20px}.reader-head h1{margin:0}.reader-actions{display:flex;gap:8px}.chapter-list{display:flex;flex-wrap:wrap;gap:5px;padding:17px 0;border-bottom:1px solid var(--line)}.chapter-list a{font-size:12px;width:32px;min-height:30px;display:grid;place-items:center;border:1px solid var(--line)}.chapter-list a[aria-current=page]{background:var(--olive);color:white}.reading{max-width:820px;margin:25px auto}.verse{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 8px;border-bottom:1px solid #eceee4;scroll-margin-top:20px}.verse:target{background:#f3edd7}.verse-number{font:12px/2.8 sans-serif;color:#989d81}.verse-text{font:var(--verse-size)/1.95 "Songti SC","STSong","Noto Serif CJK SC",serif;white-space:pre-wrap}.en{font:17px/1.7 Georgia,serif;color:#8c8d7a;margin-top:9px}.pager{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:26px}.search-controls{display:flex;gap:8px;margin-bottom:20px}.search-controls select{max-width:120px}.result{display:block;padding:19px 4px;border-bottom:1px solid var(--line)}.result strong{color:#967044;font-size:13px}.result p{margin:7px 0 0;font:19px/1.9 "Songti SC",serif}mark{background:#eae3b5;color:inherit}.prose{max-width:740px;margin:auto;line-height:2}.prose h1{margin-bottom:20px}.prose a{color:#967044;text-decoration:underline}.download-row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);gap:20px}.download-row h3,.download-row p{margin:0}.download-row p{color:var(--muted);font-size:13px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#424831;color:#fff;padding:9px 20px;border-radius:3px;display:none;font-size:14px}.loading{padding:70px;text-align:center}.empty{text-align:center;padding:65px 20px;color:var(--muted)}
@media(max-width:850px){.page{margin:20px 14px}.masthead{align-items:flex-start;flex-direction:column}.masthead nav{align-self:flex-end}.brand strong{font-size:29px}.hero-layout{grid-template-columns:1.5fr 1fr}.hero{padding:22px}.hero blockquote{font-size:21px}.book-grid{grid-template-columns:repeat(4,1fr)}.book-group{grid-template-columns:80px 1fr}}
@media(max-width:580px){body{background:#edf0e3}.page{margin:0;border:0;box-shadow:none}header{padding:12px 18px 0}.settings{justify-content:flex-start;flex-wrap:wrap}.setting-label{margin-left:8px}.masthead{padding:22px 0 17px;gap:20px}.brand img{width:53px;height:53px}.brand strong{font-size:27px}.brand small{font-size:9px}.masthead nav{align-self:stretch;justify-content:space-between;gap:8px;font-size:13px}main{padding:18px}.hero-layout{grid-template-columns:1fr;gap:23px}.hero{min-height:230px}.hero blockquote{font-size:23px}.search-panel h2{display:none}.quick-read{margin-top:15px;padding-top:15px}.catalog{margin-top:25px}.book-group{grid-template-columns:1fr;gap:4px;padding:12px 0}.group-label{font-size:11px}.book-grid{grid-template-columns:repeat(3,1fr);gap:3px}.book-link{padding:8px 5px;font-size:13px}.section-head{gap:10px}.section-head small{display:none}.reader-head{padding:13px}.reader-head h1{font-size:23px}.reader-actions{flex-wrap:wrap}.verse{gap:5px;grid-template-columns:25px 1fr;padding:11px 0}.search-controls{flex-wrap:wrap}.search-controls input{flex-basis:100%}footer{padding:20px 18px;gap:6px;flex-direction:column}.testaments button{padding:6px 11px}}
@media print{body{background:white}.page{margin:0;box-shadow:none}.settings,nav,.reader-actions,.chapter-list,.pager,footer{display:none}.verse{break-inside:avoid}}

.pdf-heading{margin-top:32px}.pdf-actions{display:flex;gap:8px;flex-shrink:0}.prose .pdf-actions a{text-decoration:none;white-space:nowrap;font-size:13px}@media(max-width:580px){.pdf-row{align-items:flex-start;flex-direction:column;gap:12px}}
