:root{
  --bg:#f5f1e8; --bg-soft:#efe9db; --text:#35312b; --muted:#7a7264;
  --head:#6f4a3a; --link:#3f6f86; --link-visited:#7a5a86;
  --rule:#d8cfba; --end:#9a5b3b; --maxw:44em;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#1c1a17; --bg-soft:#25221d; --text:#d9d3c7; --muted:#9a9183;
    --head:#cba06b; --link:#8fb3c4; --link-visited:#b79ac4;
    --rule:#3a352d; --end:#d79a6b; --maxw:44em;
  }
}
*{box-sizing:border-box;}
html{font-size:18px;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Georgia,"Noto Serif CJK SC","Source Han Serif SC","Songti SC","SimSun",serif;
  line-height:1.95;
}
.page{max-width:var(--maxw);margin:0 auto;padding:2em 1.4em 4em;}
a{color:var(--link);text-decoration:none;}
a:hover{text-decoration:underline;}
a:visited{color:var(--link-visited);}
.brand{font-size:.9rem;color:var(--muted);margin:0 0 1.2em;}
.brand a{color:var(--muted);}
h1{font-size:1.7rem;line-height:1.4;color:var(--head);text-align:center;
   font-weight:700;margin:0 0 1.4em;}
h2{font-size:1.18rem;color:var(--head);font-weight:700;
   margin:1.8em 0 .6em;padding-left:.55em;
   border-left:.32em solid var(--head);}
p{margin:0 0 .9em;text-indent:2em;text-align:justify;}
p.end{text-align:center;text-indent:0;color:var(--end);
      font-weight:700;margin-top:1.8em;letter-spacing:.1em;}
main > h2 + p{margin-top:.4em;}
/* toc box */
.toc{background:var(--bg-soft);border:1px solid var(--rule);
     border-radius:8px;padding:.6em 1em;margin:0 0 2em;}
.toc summary{cursor:pointer;font-weight:700;color:var(--head);
             font-size:1.02rem;padding:.2em 0;}
.toc ol{columns:2;column-gap:2em;margin:.6em 0 0;padding-left:1.4em;}
.toc li{margin:.15em 0;break-inside:avoid;}
@media (max-width:540px){.toc ol{columns:1;}}
/* pager */
.pager{display:flex;justify-content:space-between;gap:1em;
       margin-top:3em;padding-top:1.2em;border-top:1px solid var(--rule);
       font-size:.95rem;}
.pager a{flex:1;text-align:center;}
.pager .prev{text-align:left;}
.pager .next{text-align:right;}
/* index */
.cover{display:block;max-width:320px;width:70%;height:auto;margin:0 auto 1.6em;
       border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.12);}
.intro{color:var(--muted);font-size:.98rem;text-align:center;
       max-width:34em;margin:0 auto 2.4em;line-height:1.8;}
.vol-list{list-style:none;padding:0;margin:0;}
.vol-list li{padding:.7em .2em;border-bottom:1px solid var(--rule);
            display:flex;align-items:baseline;}
.vol-list a{font-size:1.08rem;}
.vol-list .num{color:var(--muted);font-size:.9rem;margin-right:.5em;}
.vol-list .cnt{color:var(--muted);font-size:.82rem;margin-left:auto;}
footer{color:var(--muted);font-size:.82rem;text-align:center;margin-top:3em;}
