:root{
  --ink:#1f2328; --sub:#57606a; --accent:#b3530a; --accent2:#0969da;
  --bg:#fbf7f1; --card:#ffffff; --line:#e7ded2; --code:#f3efe8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:16.5px;line-height:1.9;letter-spacing:.01em}
header.site{background:linear-gradient(135deg,#2b1c10 0%,#6b3a12 60%,#b3530a 100%);color:#fff;padding:64px 24px 56px}
header.site .inner{max-width:760px;margin:0 auto}
header.site h1{font-size:1.9rem;line-height:1.4;margin:0 0 12px;font-weight:700}
header.site p.sub{margin:0;opacity:.85;font-size:.95rem}
header.site .badges{margin-top:18px}
header.site .badges span{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);
  border-radius:999px;padding:3px 14px;font-size:.8rem;margin:0 8px 8px 0}
.layout{max-width:1120px;margin:0 auto;padding:0 24px;display:flex;gap:48px;align-items:flex-start}
nav#TOC{position:sticky;top:24px;flex:0 0 250px;max-height:calc(100vh - 48px);overflow:auto;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 16px;margin-top:32px;font-size:.85rem}
nav#TOC::before{content:"目录";display:block;font-weight:700;font-size:.95rem;margin-bottom:8px;color:var(--accent)}
nav#TOC ul{list-style:none;padding-left:0;margin:0}
nav#TOC ul ul{padding-left:14px}
nav#TOC li{margin:2px 0}
nav#TOC a{color:var(--sub);text-decoration:none;display:block;padding:2px 0;border-left:2px solid transparent;padding-left:8px}
nav#TOC a:hover{color:var(--accent);border-left-color:var(--accent)}
nav#TOC>ul>li>a{color:var(--ink);font-weight:600}
main{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:40px 48px;margin:32px 0 64px}
h1,h2,h3,h4{line-height:1.5;font-weight:700}
h1.title{display:none}
main h2{font-size:1.45rem;margin:2.6em 0 .9em;padding-bottom:.35em;border-bottom:2px solid var(--accent);color:#7a3c07}
main h3{font-size:1.15rem;margin:2em 0 .7em;color:var(--ink)}
main h3::before{content:"";display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-right:10px;vertical-align:middle}
main h4{font-size:1.02rem;margin:1.6em 0 .5em}
p{margin:.85em 0}
a{color:var(--accent2)}
blockquote{margin:1.2em 0;padding:12px 18px;background:#fdf4e7;border-left:4px solid var(--accent);border-radius:0 8px 8px 0;color:#6b4a26}
blockquote p{margin:.3em 0}
table{border-collapse:collapse;width:100%;margin:1.2em 0;font-size:.92rem;display:block;overflow-x:auto}
th,td{border:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
th{background:#f6efe4;font-weight:600;white-space:nowrap}
tr:nth-child(even) td{background:#fcfaf6}
code{background:var(--code);border-radius:4px;padding:1px 6px;font-size:.9em;
  font-family:"SF Mono",Menlo,Consolas,monospace}
pre{background:#2b2118;color:#f3e9dc;border-radius:10px;padding:16px 18px;overflow-x:auto}
pre code{background:none;color:inherit;padding:0}
ul,ol{padding-left:1.6em}
li{margin:.3em 0}
hr{border:none;border-top:1px dashed var(--line);margin:2.5em 0}
strong{color:#4a2503}
footer.site{max-width:760px;margin:0 auto;padding:0 24px 48px;color:var(--sub);font-size:.85rem;text-align:center}
@media(max-width:900px){
  .layout{flex-direction:column;gap:0}
  nav#TOC{position:static;flex:none;width:100%;max-height:none;margin:16px 0}
  main{padding:24px 20px;margin:0 0 48px;width:100%}
  header.site{padding:44px 20px 40px}
  header.site h1{font-size:1.45rem}
}
