@font-face{font-family:'Story Serif';src:url('fonts/story-serif.woff') format('woff');font-weight:400 700;font-style:normal;font-display:swap}
:root{--paper:#f5f2e9;--surface:#fbf9f3;--ink:#243b37;--muted:#77837a;--line:#dddccf;--green:#143b3c;--gold:#b08950;--red:#aa4d36;--font-size:20px;--soft:#e9ece3;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--serif:"Story Serif","Noto Serif SC","Songti SC",SimSun,Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:inherit}button{background:none;border:0}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ae783c;outline-offset:3px}a{color:inherit;text-decoration:none}button,select{transition:background .18s,color .18s}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px}button:hover{background:var(--soft)}.icon-button{width:38px;height:38px;flex:none}.topbar{height:84px;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:var(--surface);display:flex;align-items:center;padding:0 38px;gap:30px}.brand{display:flex;gap:14px;align-items:center;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:3px;white-space:nowrap}.brand small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:3px;color:var(--muted);font-weight:400;margin-top:0}.brand-seal{background:var(--red);color:#fff7e6;display:block;font-size:16px;line-height:20px;text-align:center;padding:5px 7px;letter-spacing:0;border-radius:2px;outline:1px solid var(--red);outline-offset:3px}.top-meta{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:13px;letter-spacing:1px;margin-left:25px}.divider{height:15px;width:1px;background:var(--line)}.top-actions{display:flex;gap:12px;margin-left:auto}.top-actions button{padding:8px 12px;font-size:14px}.top-actions .share-button{background:var(--green);color:#faf6e9;padding:9px 16px}.workspace{display:grid;grid-template-columns:252px minmax(0,1fr) 264px;max-width:1700px;margin:auto}.sidebar{height:calc(100vh - 84px);position:sticky;top:84px;border-right:1px solid var(--line);padding:28px 22px 20px;display:flex;flex-direction:column;min-width:0}.side-heading,.toc-heading{display:flex;align-items:center;justify-content:space-between}.side-heading{font-size:12px;letter-spacing:3px;color:var(--muted);margin-bottom:16px}.book-list{display:grid;gap:8px}.book-button{padding:13px 12px;gap:13px;justify-content:start;text-align:left;width:100%;border:1px solid transparent;border-radius:6px}.book-button.active{background:var(--green);color:#f6f0de}.book-roman{font-family:Georgia,serif;font-style:italic;font-size:24px;opacity:.6;width:22px}.book-button strong{font-family:var(--serif);font-size:17px;letter-spacing:2px;display:block}.book-button small{font-size:11px;opacity:.65;display:block;letter-spacing:.4px;line-height:1.3}.toc-heading{margin:30px 4px 15px;color:var(--muted);font-size:12px}.toc-heading h2{font-size:12px;font-weight:500;letter-spacing:2px;margin:0}.toc{overflow-y:auto;min-height:0;scrollbar-width:thin;padding-bottom:10px}.toc button{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;padding:10px 11px;font-size:13px;line-height:1.7;border-left:2px solid transparent;border-radius:0 4px 4px 0;min-height:40px}.toc button.active{color:var(--red);background:#aa4d360c;border-left-color:var(--red);font-weight:600}.toc-num{font-family:Georgia,serif;font-size:12px;color:var(--muted);padding-top:2px;flex:none;min-width:20px}.library-foot{padding-top:18px;margin-top:auto;border-top:1px solid var(--line)}.library-foot button{font-size:13px;width:100%;justify-content:start}.library-foot button span:last-child{margin-left:auto;background:var(--soft);border-radius:15px;padding:0 8px}.library-foot p{font-size:10px;color:var(--muted);margin-bottom:0}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);min-height:65px;padding:10px 35px}.breadcrumb{font-size:12px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reader-controls{display:flex;align-items:center;gap:4px;flex:none}.reader-controls select{max-width:124px;border:none;background:transparent;color:var(--ink);font-size:12px;padding:7px}.chapter{max-width:850px;padding:45px 55px 20px;margin:auto}.chapter-heading{margin:0 0 28px}.eyebrow{font-size:11px;font-family:var(--sans);letter-spacing:2.2px;text-transform:uppercase;color:var(--gold)}.chapter h1{font-family:var(--serif);font-weight:600;letter-spacing:3px;font-size:34px;line-height:1.6;margin:12px 0 16px}.chapter h1 .en-title{letter-spacing:0;font-family:Georgia,serif}.chapter-meta{display:flex;gap:15px;align-items:center;color:var(--muted);font-size:12px}.chapter-rule{display:flex;align-items:center;gap:9px;margin-top:27px;color:var(--gold)}.chapter-rule:before{content:"";width:35px;height:1px;background:var(--gold)}.chapter-rule:after{content:"";height:1px;flex:1;background:var(--line)}.chapter-rule span{font-size:10px;transform:rotate(45deg)}.prose{font-family:var(--serif);font-size:var(--font-size);line-height:2.15;letter-spacing:.4px;overflow-wrap:anywhere}.prose p{margin:0 0 1.2em;text-align:justify;white-space:pre-wrap}.prose p[lang=en]{font-family:Georgia,"Times New Roman",serif;letter-spacing:0;line-height:1.85;text-align:left;font-size:1.06em}.prose .english-parallel{color:var(--muted);font-size:.85em!important;margin-top:-.7em;padding-left:18px;border-left:2px solid var(--line)}.prose p.speaking{background:#ad8b4319;border-radius:4px;box-shadow:0 0 0 8px #ad8b4319}.chapter-figure{margin:30px -12px 37px}.chapter-figure img{display:block;width:100%;max-height:620px;object-fit:contain;background:#e7e2d5;border-radius:3px;cursor:zoom-in}.chapter-figure figcaption{display:flex;gap:12px;justify-content:space-between;margin-top:11px;font-family:var(--sans);font-size:11px;letter-spacing:1px;color:var(--muted);line-height:1.6}.figure-number{color:var(--gold);white-space:nowrap}.chapter-navigation{display:flex;align-items:center;justify-content:space-between;max-width:740px;margin:20px auto 0;border-top:1px solid var(--line);padding:25px 25px}.chapter-navigation button{font-size:14px;padding:10px}.chapter-navigation>span{font-size:12px;color:var(--muted)}.reader-footer{margin:30px 35px 0;border-top:1px solid var(--line);padding:20px 0 32px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted)}.reader-footer button{font-size:11px}.listening-panel{height:calc(100vh - 84px);position:sticky;top:84px;padding:31px 24px;border-left:1px solid var(--line);overflow:auto}.panel-title{display:flex;align-items:center;gap:10px}.panel-title svg{color:var(--gold)}.panel-title h2{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:2px;margin:0}.panel-subtitle{font-size:11px;color:var(--muted);letter-spacing:1px;margin:6px 0 26px}.now-reading{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:20px}.now-reading .eyebrow{font-size:10px;color:var(--muted)}.now-reading strong{display:block;font-family:var(--serif);font-size:14px;font-weight:500;margin-top:7px;line-height:1.8}.listening-panel label{display:block;font-size:12px;margin:17px 0 8px}.language-switch{display:flex;background:var(--soft);border-radius:5px;padding:3px}.language-switch button{width:50%;font-size:12px;padding:7px}.language-switch button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 4px #0000000a;color:var(--green);font-weight:600}select{border:1px solid var(--line);padding:8px;border-radius:4px;background:var(--surface);color:var(--ink)}#voice{width:100%;font-size:12px;height:37px;text-overflow:ellipsis}.speed-label{display:flex;justify-content:space-between;align-items:baseline}.speed-label output{font-size:11px;color:var(--gold)}input[type=range]{width:100%;accent-color:var(--green);cursor:pointer}.play-controls{display:flex;gap:7px;margin-top:18px}.play-button,.primary-button{background:var(--green);color:#f7f2e5;min-height:43px;padding:10px 16px}.play-button{font-size:13px;flex:1}.play-button:hover,.primary-button:hover{background:#285958}.play-controls .icon-button{border:1px solid var(--line);height:43px}.speech-status{font-size:11px;color:var(--muted);margin:13px 0 7px;min-height:20px}progress{width:100%;height:3px;accent-color:var(--gold);display:block}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--gold)}.voice-note{font-size:10px;color:var(--muted);line-height:1.9;margin:16px 0 25px}.reading-progress{border-top:1px solid var(--line);padding-top:20px}.reading-progress>div:first-child{display:flex;justify-content:space-between;font-size:11px}.reading-progress strong{font-weight:500;color:var(--gold)}.progress-track{height:3px;background:var(--line);margin:10px 0}.progress-track i{display:block;height:100%;background:var(--gold);width:0}.reading-progress p{font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);max-width:min(680px,94vw);width:100%;padding:27px;box-shadow:0 25px 100px #10232040;max-height:86vh}dialog::backdrop{background:#122e2c77;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-head h2{font-family:var(--serif);letter-spacing:2px;font-size:23px;font-weight:500;margin:0}.dialog-head .eyebrow{font-size:10px}.dialog-head h2 span{font-family:var(--sans);font-size:13px;color:var(--muted);letter-spacing:0}.search-box{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:12px;border-radius:6px}.search-box input{border:0;background:transparent;outline:0;min-width:0;width:100%;color:var(--ink);font-size:16px}.muted{font-size:13px;color:var(--muted);line-height:1.8}.search-results{display:grid;gap:10px}.search-result{display:block;text-align:left;width:100%;border:1px solid var(--line);padding:14px;border-radius:5px}.search-result strong{display:block;font-size:15px;font-weight:500}.search-result small{font-size:11px;color:var(--gold)}.search-result p{font-size:13px;color:var(--muted);margin:7px 0 0;line-height:1.8}.search-result mark{background:#d9b86a55;color:var(--ink)}.gallery-dialog{max-width:min(1150px,96vw)}.gallery-dialog>select{font-size:13px;margin-bottom:20px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gallery-item{display:block;text-align:left;padding:0;overflow:hidden}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px}.gallery-item span{font-size:12px;line-height:1.6;display:block;margin:7px 0}.gallery-item small{font-size:10px;color:var(--gold)}.image-dialog{width:auto;max-width:min(1250px,96vw);padding:15px}.image-dialog .dialog-head{margin-bottom:12px;font-size:13px}.image-dialog img{display:block;width:auto;height:auto;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}.image-dialog .quiet-button{display:flex;margin:14px auto 0}.settings-dialog{max-width:420px}.settings-dialog label,.settings-dialog p{font-size:14px}.settings-dialog output{float:right;color:var(--muted)}.theme-options{display:flex;gap:10px}.theme-options button{padding:14px;flex:1;border:1px solid var(--line)}.theme-options button.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.theme-options button[data-theme=dark]{background:#182d2c;color:#e4e8df}.share-dialog{max-width:520px}.share-dialog input{font-size:12px;width:100%;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}.share-actions{display:flex;gap:12px;margin-top:22px}.share-actions button{font-size:13px}.quiet-button{padding:10px 12px;font-size:13px;border:1px solid var(--line)}.toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,12px);padding:12px 24px;border-radius:6px;background:var(--green);color:#fff;font-size:13px;opacity:0;pointer-events:none;z-index:100;transition:.2s;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;font-family:var(--serif);color:var(--muted)}.seal{font-size:34px;color:var(--red);border:2px solid var(--red);padding:10px 20px;letter-spacing:5px}.mobile-only,.mobile-audio{display:none}.skip{position:fixed;left:20px;top:-100px;background:var(--surface);z-index:100;padding:10px}.skip:focus{top:10px}.empty{padding:25px;color:var(--muted);font-size:14px;text-align:center}.body-error{max-width:600px;margin:10vh auto;padding:25px}.drawer-shade{position:fixed;inset:84px 0 0;background:#0f25275c;z-index:25}.bookmarked{color:var(--red)}.bookmarked svg{fill:#aa4d3620}.section-divider{text-align:center!important;color:var(--gold);letter-spacing:12px!important}.content-notice{border-left:2px solid var(--gold);padding-left:14px;color:var(--muted);font-family:var(--sans);font-size:12px;line-height:1.8;margin:0 0 25px}.book-cover{margin-top:5px}body[data-theme=light]{--paper:#fff;--surface:#fff;--line:#e2e7e3;--soft:#eef2ef}body[data-theme=dark]{--paper:#162726;--surface:#1a302e;--ink:#d9e1d8;--muted:#9bafa5;--line:#344844;--green:#367774;--soft:#243b37;--gold:#d1ae71;--red:#e38d70}body[data-theme=dark] .chapter-figure img{background:#233b37}body[data-theme=dark] .top-actions .share-button{background:#38736c}.chapter-end{font-family:var(--serif);text-align:center;letter-spacing:12px;color:var(--gold);font-size:14px;padding:30px 0}
@media(min-width:1600px){.workspace{grid-template-columns:285px minmax(0,1fr) 290px}.sidebar{padding-left:28px;padding-right:28px}.listening-panel{padding-left:30px;padding-right:30px}.chapter{padding:50px 68px 20px}}
@media(max-width:1200px){.workspace{grid-template-columns:218px minmax(0,1fr) 230px}.topbar{padding:0 25px}.top-meta{margin-left:0}.sidebar{padding:25px 14px 18px}.chapter{padding:35px 34px 20px}.reader-toolbar{padding:10px 22px}.listening-panel{padding:27px 17px}.chapter h1{font-size:29px}}
@media(max-width:1000px){.workspace{grid-template-columns:228px minmax(0,1fr)}.listening-panel{display:none}.mobile-audio{display:flex;align-items:center;position:fixed;bottom:20px;right:24px;z-index:22;background:var(--green);color:#fff8e9;padding:10px 17px 10px 10px;border:1px solid #ffffff30;border-radius:10px;box-shadow:0 5px 25px #143b3c2f;gap:14px;min-width:220px}.mobile-audio>button:first-child{border:1px solid #ffffff40;border-radius:50%;width:38px;height:38px}.mobile-audio>button:nth-child(2){flex-direction:column;align-items:flex-start;gap:0;padding:0;flex:1}.mobile-audio span{font-size:12px}.mobile-audio small{font-size:9px;color:#d2e2d9}.mobile-audio>svg{width:18px}.top-meta{display:none}.listening-panel.open{display:block;position:fixed;top:auto;bottom:0;right:0;width:360px;max-width:100%;max-height:90vh;height:auto;background:var(--surface);z-index:40;border-radius:12px 0 0 0;box-shadow:0 0 40px #0003}.listening-panel.open #mobile-close-audio{display:flex;width:100%;margin-top:10px}.voice-note{margin-bottom:14px}.reader-footer{padding-bottom:95px}}
@media(max-width:700px){.topbar{height:70px;padding:0 15px;gap:12px}.brand{font-size:19px;gap:10px;letter-spacing:2px}.brand-seal{font-size:12px;padding:3px 6px;line-height:16px}.brand small{font-size:9px;letter-spacing:1px}.top-actions{gap:0}.top-actions button{padding:8px;gap:5px}.top-actions .share-button{padding:8px 10px;margin-left:5px}.desktop-label{display:none}.topbar .icon-button{width:28px}.mobile-only{display:inline-flex}.workspace{display:block}.sidebar{display:none}.sidebar.open{display:flex;position:fixed;z-index:35;top:70px;bottom:0;height:auto;width:285px;background:var(--surface);padding:20px 20px 30px;box-shadow:15px 0 50px #0002}.drawer-shade{inset:70px 0 0}.reader-toolbar{padding:9px 20px;min-height:57px}.breadcrumb{font-size:10px;max-width:40%}.reader-controls select{font-size:11px;padding:6px}.reader-controls .icon-button{width:32px}.chapter{padding:29px 25px 12px}.chapter h1{font-size:27px;line-height:1.65;margin:12px 0 16px;letter-spacing:2px}.eyebrow{font-size:10px;letter-spacing:1.7px}.chapter-meta{font-size:10px;gap:12px}.chapter-rule{margin-top:22px}.prose{font-size:calc(var(--font-size) - 1px);line-height:2.1;letter-spacing:.1px}.chapter-figure{margin:25px -9px 28px}.chapter-figure figcaption{font-size:10px;letter-spacing:.3px}.chapter-navigation{padding:22px 14px}.chapter-navigation button{font-size:13px}.reader-footer{margin:25px 25px 0}.mobile-audio{left:18px;right:18px;bottom:14px;padding:9px 14px 9px 9px}.mobile-audio span{font-size:13px}.mobile-audio small{font-size:10px}.mobile-audio>svg{width:22px}.listening-panel.open{border-radius:16px 16px 0 0;width:100%;padding:24px 27px;max-height:88vh}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.gallery-dialog{padding:20px 15px}.dialog-head h2{font-size:20px}.gallery-item span{font-size:11px}.toast{bottom:90px;width:max-content}.chapter h1 .en-title{font-size:25px}.image-dialog{padding:12px}.image-dialog .dialog-head{font-size:11px}.share-actions{flex-wrap:wrap}.share-actions button{flex:1}.reader-footer span{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep secondary details legible on every screen. */
.top-meta,.book-button small,.side-heading,.toc-heading,.toc-heading h2,.toc-num,.library-foot p,.breadcrumb,.reader-controls select,.eyebrow,.chapter-meta,.chapter-figure figcaption,.chapter-position,.reader-footer,.reader-footer button,.panel-subtitle,.now-reading .eyebrow,.speed-label output,.speech-status,.voice-note,.reading-progress>div:first-child,.reading-progress p,.search-result small,.gallery-item small,.mobile-audio small,.dialog-head .eyebrow{font-size:12px}.toc button,.library-foot button,.listening-panel label,.language-switch button,#voice,.play-button,.gallery-item span{font-size:14px}.chapter-figure figcaption{letter-spacing:.2px}.voice-note{line-height:1.75}.download-link{display:flex;gap:9px;align-items:center;padding:12px 0 0;font-size:13px;color:var(--green)}.download-link svg{width:18px}

[hidden]{display:none!important}
