
@font-face{font-family:Book;src:url(assets/book-regular-8f6337e0cd5b.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Book;src:url(assets/book-bold-c7a23939c8f2.ttf) format('truetype');font-weight:600 900;font-display:swap}
:root{--paper:#fcfaf5;--ink:#292925;--quiet:#77766d;--accent:#984d3f;--rule:#ded8cc;--reading:19px;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:#f0ede5;color:var(--ink);font-family:Book,'Noto Serif CJK SC','Songti SC',SimSun,serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:.23em}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{font:inherit;cursor:pointer;color:inherit;background:none;border:1px solid var(--rule);border-radius:3px;padding:7px 12px}button:hover{background:#eee8dc}button:disabled{opacity:.4;cursor:default}
.bar{position:fixed;inset:0 0 auto;z-index:20;background:rgba(252,250,245,.97);border-bottom:1px solid var(--rule);font:13px/1.3 system-ui,sans-serif}.bar-inner{max-width:1280px;margin:auto;padding:10px 22px;display:flex;align-items:center;gap:10px}.bar-name{margin-right:auto;letter-spacing:.08em}.progress{height:2px;width:0;background:var(--accent)}.size-label{color:var(--quiet)}
main{max-width:840px;margin:88px auto 60px;background:var(--paper);padding:42px 64px 68px;box-shadow:0 3px 30px #38332109}
.cover{position:relative;max-width:540px;margin:0 auto 70px}.cover img{display:block;width:100%;height:auto}.cover-type{position:absolute;top:4%;left:3%;right:3%;text-align:center}.cover-type .eyebrow{font-size:11px;margin:0 0 15px;letter-spacing:.18em}.cover h1{font-weight:600;font-size:34px;line-height:1.4;margin:0 0 8px;letter-spacing:.03em}.cover .latin{font:italic 16px Georgia,serif;margin:0 0 13px}.cover .author{font-size:14px;margin:0}
section,nav{scroll-margin-top:88px}.reading{font-size:var(--reading);line-height:1.95;text-align:justify;overflow-wrap:break-word;line-break:strict}.reading p{margin:0 0 .75em;text-indent:2em;orphans:3;widows:3}.reading h2,.reading h3{font-weight:600;text-align:left;text-wrap:balance;line-height:1.5}.reading h2{font-size:1.75em;margin:0 0 1em}.reading h3{font-size:1.06em;color:var(--accent);margin:1.8em 0 .85em}.reading .eyebrow{font-size:12px;letter-spacing:.2em;text-indent:0;color:var(--accent);margin:0 0 18px}.front,.chapter{padding-top:48px;margin-top:62px;border-top:1px solid var(--rule)}.copyright{font-size:16px;line-height:1.9}.copyright p,.colophon p{text-indent:0}.copyright h3{margin-top:1.4em}.credits{color:var(--quiet);font-size:14px;margin-bottom:28px}.sources{padding-left:1.2em;font-size:14px;text-align:left;line-height:1.9}.source-date{color:var(--quiet);font-size:13px}
#contents h2{font-size:28px;font-weight:600}.toc{list-style:none;padding:0;margin:24px 0}.toc li{border-bottom:1px solid var(--rule)}.toc a{display:flex;gap:18px;padding:15px 0;text-decoration:none;color:var(--ink);line-height:1.65}.toc a:hover{color:var(--accent)}.toc span{color:var(--accent);min-width:2.5em;font-size:13px;align-self:center}.toc-note{color:var(--quiet);font-size:14px;line-height:1.8}
#preface .pref-title{font-size:2.1em;line-height:1.45;margin-bottom:.4em}#preface .subtitle{color:var(--quiet);font-size:15px;text-indent:0;margin-bottom:2em}.ornament{color:var(--accent);text-align:center;letter-spacing:.6em;margin:2em 0;font-family:serif;font-size:13px}.reading blockquote{margin:1.6em 0 1.8em;padding-left:1.2em;border-left:2px solid #b47b65;color:var(--accent);font-weight:600;text-align:left;line-height:1.9}.signature{text-align:right;line-height:2;margin:2.2em 0 0;font-size:15px}.signature strong{font-weight:600}
.chapter figure{margin:0 0 2em}.chapter img{display:block;width:100%;height:auto;aspect-ratio:3/2}.chapter .date{text-indent:0;color:var(--accent);margin:1.5em 0}.end-mark{text-align:center;color:var(--accent);font-size:14px;letter-spacing:.25em;margin:45px 0}.colophon{font-size:16px}.back{text-align:center;margin-top:44px;font-size:14px}
dialog{border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink);max-width:490px;width:calc(100% - 32px);max-height:85vh;padding:24px 30px}dialog::backdrop{background:#201c1860}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0;font-size:22px}.dialog-head button{font:14px system-ui,sans-serif}dialog .toc{margin:12px 0;font-size:16px}dialog .toc a{padding:10px 0}
@media(min-width:1250px){main{max-width:870px;padding:48px 78px}}
@media(max-width:620px){main{margin:68px 0 0;padding:20px 23px 48px;box-shadow:none}.bar-inner{padding:9px 14px;gap:7px}.bar-name{font-size:12px;letter-spacing:0}.size-label{display:none}.bar button{padding:7px 9px}.cover{margin:0 -4px 34px}.cover-type .eyebrow{font-size:8px;margin-bottom:11px}.cover h1{font-size:clamp(22px,6.5vw,31px);margin-bottom:4px}.cover .latin{font-size:12px;margin-bottom:8px}.cover .author{font-size:11px}.reading{font-size:calc(var(--reading) - 1px);line-height:1.95}.front,.chapter{margin-top:42px;padding-top:32px}.copyright,.colophon{font-size:15px}#preface .pref-title{font-size:1.8em}.reading blockquote{padding-left:.8em;margin-left:0;margin-right:0;font-size:.95em}.toc a{gap:12px}.signature{font-size:13px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}
@media print{body{background:white}.bar,dialog,.back{display:none!important}main{max-width:none;margin:0;padding:0;box-shadow:none}.reading{font-size:11pt;line-height:1.8}.cover{height:240mm;width:180mm;max-width:100%;margin:auto;break-after:page}.front,.chapter{break-before:page;margin-top:0;border-top:0;padding-top:0}.chapter figure{break-inside:avoid}h2,h3{break-after:avoid}a{color:inherit;text-decoration:none}.reading p{orphans:3;widows:3}img{max-height:150mm;object-fit:contain}@page{size:A4;margin:20mm}}
