:root{
  --paper:#EDF0F2;--paper-2:#E3E8EC;--surface:#FFFFFF;--ink:#0F171C;
  --ink-2:#46555E;--ink-3:#74828A;--pine:#0F3A38;--pine-2:#175C57;
  --gold:#C99A3E;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{width:min(1080px,calc(100% - 2rem));margin:auto}
.top{position:sticky;top:0;z-index:10;background:rgba(237,240,242,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,23,28,.07)}
.top-in{height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;font:600 1rem var(--mono);color:var(--pine)}
.brand img{width:23px;height:23px}
.back{font:500 .75rem var(--mono);color:var(--ink-2);padding:.5rem .75rem;border-radius:9px;background:rgba(15,23,28,.055)}
.back:hover{background:rgba(15,23,28,.09)}
.hero{padding:clamp(4rem,9vw,7rem) 0 3rem;background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.eyebrow{font:600 .7rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--pine-2)}
.hero h1{font:600 clamp(2.3rem,7vw,4.7rem)/1.08 var(--mono);letter-spacing:-.06em;color:var(--pine);margin:1rem 0 1.2rem}
.hero p{max-width:760px;color:var(--ink-2);font-size:1.02rem}
.updated{display:inline-flex;margin-top:1.35rem;font:.72rem var(--mono);color:var(--ink-3);background:rgba(255,255,255,.65);border-radius:99px;padding:.42rem .7rem}
.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2.5rem;padding:3.5rem 0 5rem;align-items:start}
.toc{position:sticky;top:88px;background:rgba(255,255,255,.62);border-radius:14px;padding:1.1rem}
.toc b{display:block;font:.66rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.7rem}
.toc a{display:block;font-size:.79rem;color:var(--ink-2);padding:.38rem .45rem;border-radius:7px}
.toc a:hover{color:var(--pine);background:rgba(15,58,56,.07)}
.document{background:var(--surface);border-radius:18px;padding:clamp(1.6rem,5vw,3.5rem);box-shadow:0 18px 55px rgba(15,23,28,.07)}
.intro{font-size:1rem;color:var(--ink-2);padding-bottom:1.8rem;border-bottom:1px solid var(--paper-2)}
.document section{padding-top:2rem;scroll-margin-top:84px}
.document h2{font:600 1.18rem var(--mono);letter-spacing:-.025em;color:var(--pine);margin-bottom:.75rem}
.document h3{font-size:.94rem;margin:1.2rem 0 .35rem;color:var(--ink)}
.document p,.document li{font-size:.92rem;color:var(--ink-2)}
.document p+p{margin-top:.75rem}
.document ul,.document ol{padding-left:1.35rem;margin:.65rem 0}
.document li+li{margin-top:.45rem}
.document a{color:var(--pine-2);text-decoration:underline;text-underline-offset:3px}
.callout{margin-top:1rem;padding:1rem 1.1rem;border-radius:11px;background:#EDF5F3;color:var(--pine);font-size:.87rem}
.footer{background:var(--pine);color:#9CB1AD;padding:2rem 0}
.footer-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font:.73rem var(--mono)}
.footer-links{display:flex;gap:1rem;flex-wrap:wrap}.footer a:hover{color:#FFF}
@media(max-width:800px){.layout{grid-template-columns:1fr;gap:1rem}.toc{position:static;display:grid;grid-template-columns:repeat(2,1fr)}.toc b{grid-column:1/-1}.document{border-radius:14px}}
@media(max-width:480px){.toc{grid-template-columns:1fr}.hero{padding-top:3rem}.back{font-size:.68rem}.document{padding:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
