
:root { --ink: #1a1a1a; --rule: #1a1a1a; --muted: #555; }
* { box-sizing: border-box; }
body {
  font-family: "Latin Modern Roman", "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;
  color: var(--ink);
  max-width: 46rem;
  margin: 0 auto;
  padding: 3rem 1.25rem 5rem;
  line-height: 1.75;
  font-size: 1.02rem;
  text-align: justify;
  background: #fdfdfb;
}
h1, h2, h3 { font-weight: 600; line-height: 1.4; text-align: left; }
h1 { font-size: 1.55rem; text-align: center; margin: 0.5em 0 0.2em; }
h2 { font-size: 1.22rem; margin-top: 2.2em; padding-top: 0.35em;
     border-top: 1.2px solid var(--rule); }
h3 { font-size: 1.08rem; margin-top: 1.6em; }
p { margin: 0.7em 0; }
a { color: var(--ink); text-decoration: underline; text-decoration-thickness: 0.5px;
    text-underline-offset: 3px; }
blockquote {
  margin: 1em 0; padding: 0.4em 1.2em; color: var(--muted);
  border-left: 2px solid #bbb; font-size: 0.95em;
}
table {
  border-collapse: collapse; margin: 1.2em auto; font-size: 0.92rem;
  text-align: center; max-width: 100%; display: block; overflow-x: auto;
}
thead th { border-top: 1.4px solid var(--rule); border-bottom: 0.9px solid var(--rule);
           padding: 0.35em 0.7em; font-weight: 600; }
tbody td { padding: 0.3em 0.7em; border: none; }
tbody tr:last-child td { border-bottom: 1.4px solid var(--rule); }
hr { border: none; border-top: 1px solid #bbb; margin: 2em 0; }
code { font-family: "Latin Modern Mono", "Consolas", monospace; font-size: 0.88em;
       background: #f3f2ee; padding: 0.1em 0.35em; border-radius: 2px; }
pre { background: #f3f2ee; padding: 0.9em 1.1em; overflow-x: auto; font-size: 0.88rem;
      line-height: 1.5; }
pre code { background: none; padding: 0; }
ul, ol { padding-left: 1.6em; }
li { margin: 0.25em 0; }
strong { font-weight: 700; }
.doc-meta { text-align: center; color: var(--muted); font-size: 0.9rem; margin-bottom: 2em; }
.doc-nav { text-align: center; font-size: 0.92rem; margin: 3em 0 0;
           padding-top: 1.2em; border-top: 1.4px solid var(--rule); }
.toc-card { border-top: 1.4px solid var(--rule); border-bottom: 1.4px solid var(--rule);
            padding: 1.2em 0.4em; margin: 2em 0; }
.toc-card p { margin: 0.55em 0; }
.toc-card .num { display: inline-block; min-width: 2.2em; color: var(--muted); }
.footer { margin-top: 3.5em; padding-top: 1em; border-top: 1px solid #bbb;
          font-size: 0.85rem; color: var(--muted); text-align: center; }
@media (max-width: 40rem) { body { font-size: 0.98rem; padding-top: 1.6rem; } }
