
:root{color-scheme:light;--paper:#f8f0dc;--ink:#34312b;--muted:#726b60;--accent:#a64f3c;--rule:#d6cbb5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font:21px/1.78 Georgia,'Times New Roman',serif}
body.dark{color-scheme:dark;--paper:#181915;--ink:#eee6d5;--muted:#b5ad9d;--accent:#d28b73;--rule:#49473d}
main{max-width:800px;padding:68px 30px 100px;margin:auto}
h1{font-size:clamp(44px,8vw,78px);font-weight:400;line-height:1.03;letter-spacing:-.035em;margin:.4em 0}
h2{font-size:36px;font-weight:400;line-height:1.2;margin:.4em 0 1em}
p{margin:0 0 1.05em}a{color:var(--accent)}
.meta,.notice,nav,summary,button,.tools,small{font:13px/1.65 system-ui,sans-serif}
.meta,.notice{color:var(--muted)}small{color:var(--accent);letter-spacing:.15em}
.brand{font:600 15px system-ui,sans-serif;letter-spacing:.04em}.brand span{color:var(--accent)}
.titlepage{padding-bottom:20px}.titlepage:after{content:'';display:block;background:#ca6c52;width:66px;height:5px;margin-top:30px}
.tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}
button{border:1px solid var(--rule);background:none;color:inherit;border-radius:4px;padding:8px 12px;cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
details{border-block:1px solid var(--rule);padding:18px 0;margin:24px 0}summary{cursor:pointer;color:var(--accent)}nav{padding-top:12px}nav a{display:block;padding:6px 0;text-decoration:none}
section{padding-top:60px}figure.illustration{margin:2em 0}figure img{display:block;width:100%;height:auto}
footer{border-top:1px solid var(--rule);margin-top:45px;padding-top:22px}body.large{font-size:24px}
@media(max-width:600px){main{padding:32px 22px 70px}body{font-size:19px}body.large{font-size:22px}h2{font-size:30px}section{padding-top:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;color:black;font-size:12pt}main{padding:0;max-width:none}.tools,details{display:none}section{break-before:page}p{orphans:3;widows:3}figure{break-inside:avoid}}

html{scroll-behavior:auto}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('/assets/ibm-plex-mono-latin.woff2') format('woff2');font-display:swap}
.meta,.notice,nav,summary,button,.tools,.brand{font-family:'DM Sans',system-ui,sans-serif}
small{font-family:'IBM Plex Mono',monospace}.site-nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:42px;padding:0;border-bottom:1px solid var(--rule)}
.site-nav a{min-height:44px;display:inline-flex;align-items:center}.site-nav .brand{color:var(--ink);font-size:18px}.site-nav .links{display:flex;gap:18px}
#reading-progress{position:fixed;top:0;left:0;height:3px;background:#bc6651;width:0;z-index:10}
.resume[hidden]{display:none}.resume{display:inline-flex;min-height:44px;align-items:center}
.tools a{min-height:44px;display:inline-flex;align-items:center}button{min-height:44px}
figure img{border-radius:2px}footer .links{display:flex;gap:24px;flex-wrap:wrap}footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:380px){.site-nav .links{gap:12px}.site-nav .brand{font-size:16px}}
/* Bilingual book */
.languages{display:flex;gap:24px;margin:0 0 30px;padding:0}.languages a{min-height:44px;display:inline-flex;align-items:center}.languages [aria-current=page]{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.book-cover{display:block;width:min(100%,320px);height:auto;margin:0 auto 40px;box-shadow:0 8px 24px #34312b18}
:lang(zh-Hans) body{font-family:'Songti SC','Noto Serif CJK SC',SimSun,serif;line-height:1.9}
:lang(zh-Hans) h1{letter-spacing:0;font-size:clamp(36px,7vw,64px);line-height:1.3}:lang(zh-Hans) h2{line-height:1.5}
