:root{--bamboo:#3f9142;--bamboo-d:#2f6f33;--ink:#2b3a30;--ink-soft:#3d4d42;--mut:#6b7d70;--paper:#faf9f4;--rule:#e3e0d4}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:"Songti SC","Noto Serif SC","STSong","SimSun",serif;background:var(--paper);color:var(--ink);line-height:2;font-size:17px}
a{color:var(--bamboo-d);text-decoration:none}
a:hover{border-bottom:1px solid var(--bamboo)}
a:focus-visible{outline:2px solid var(--bamboo-d);outline-offset:3px}
.wrap{max-width:40rem;margin:0 auto;padding:0 22px}
.ztnav{border-bottom:1px solid var(--rule);padding:13px 0;font-size:14px;display:flex;gap:15px;flex-wrap:wrap;align-items:baseline}
.ztnav a{color:var(--mut);text-decoration:none}
.ztnav a:hover{color:var(--bamboo-d)}
.ztnav .home{color:var(--bamboo-d);font-weight:700;letter-spacing:.12em;margin-right:2px}
.ztnav .sep{color:var(--rule)}
.chapmeta{margin-top:3.2em;text-align:center;color:var(--mut);font-size:13px;letter-spacing:.28em}
.roman{display:block;font-family:Georgia,serif;font-size:15px;letter-spacing:.3em;color:var(--bamboo);margin-bottom:.9em}
h1{font-size:26px;font-weight:900;text-align:center;letter-spacing:.06em;line-height:1.6;margin:.5em 0 .4em}
.rule{width:44px;height:2px;background:var(--bamboo);margin:1.6em auto 2.8em;border:0}
.content h2{font-size:19px;font-weight:800;margin:2.6em 0 .9em;letter-spacing:.03em;color:var(--ink)}
.content h3{font-size:17px;font-weight:800;margin:2em 0 .7em}
.content p{margin:0 0 1.15em;text-align:justify}
.content blockquote{border-left:3px solid var(--bamboo);background:#f2f5ee;padding:.9em 1.1em;margin:1.4em 0;color:var(--ink-soft)}
.content blockquote p{margin:0 0 .6em}.content blockquote p:last-child{margin:0}
.content hr{border:0;border-top:1px solid var(--rule);margin:2.4em auto;width:38%}
.content ul,.content ol{padding-left:1.6em;margin:0 0 1.15em}
.content li{margin:.3em 0}
.content strong{color:var(--bamboo-d)}
.tablewrap{overflow-x:auto;margin:1.4em 0}
.content table{border-collapse:collapse;font-size:14.5px;line-height:1.7;min-width:100%}
.content th,.content td{border:1px solid var(--rule);padding:.5em .7em;text-align:left;vertical-align:top}
.content th{background:#f2f5ee;font-weight:700}
.content td:last-child{min-width:4.6em}
.pagenav{display:flex;justify-content:space-between;gap:1em;margin:3.5em 0 0;padding-top:1.4em;border-top:1px solid var(--rule);font-size:15px}
.pagenav .next{text-align:right;margin-left:auto}
.pagenav span.dir{display:block;font-size:12px;color:var(--mut);letter-spacing:.15em}
footer{margin:3em 0 0;padding:1.8em 0 3em;border-top:1px solid var(--rule);color:var(--mut);font-size:13px;line-height:1.9}
footer p{margin:0 0 .5em}
/* index */
.cover{text-align:center;margin-top:4em}
.cover .booktitle{font-size:34px;font-weight:900;letter-spacing:.18em;line-height:2;margin:0}
.cover .subtitle{margin-top:1em;color:var(--ink-soft);letter-spacing:.3em;font-size:15px}
.cover .author{margin-top:1.6em;color:var(--mut);font-size:14px;letter-spacing:.2em}
.cover .openline{margin-top:2.4em;color:var(--mut);font-size:13px;letter-spacing:.1em}
.toc{margin:3.2em 0 0}
.toc .vol{margin:2.2em 0 0}
.toc .voltitle{font-weight:900;color:var(--bamboo-d);letter-spacing:.08em;font-size:17px;border-left:3px solid var(--bamboo);padding-left:.7em}
.toc ol{list-style:none;margin:.7em 0 0;padding:0}
.toc li{padding:.34em 0;border-bottom:1px dashed var(--rule);display:flex;gap:.9em;align-items:baseline}
.toc li .no{font-family:Georgia,serif;font-size:12.5px;color:var(--bamboo);letter-spacing:.1em;min-width:2.4em}
.toc .front li .no{font-size:12.5px}
.tocnote{color:var(--mut);font-size:13.5px;margin-top:.6em;line-height:1.8}
@media(max-width:480px){body{font-size:16.5px}h1{font-size:22px}.cover .booktitle{font-size:28px}}
