:root{color-scheme:light dark;--bg:#fff;--soft:#f6f7f9;--line:#dfe3e8;--text:#1c2024;--muted:#5f6b76;--accent:#0a66d8;--code:#eff1f4}
@media (prefers-color-scheme:dark){:root{--bg:#15181c;--soft:#1c2025;--line:#31373e;--text:#e6e9ec;--muted:#9aa5b0;--accent:#6cb0ff;--code:#262b31}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Noto Sans SC",sans-serif}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;min-height:56px;padding:8px 24px;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{font-weight:650;color:var(--text);font-size:17px}.brand:hover{text-decoration:none}
.langs{margin-left:auto;display:flex;gap:4px}.langs a{padding:4px 10px;border-radius:7px;color:var(--muted);font-size:14px}
.langs a[aria-current]{background:var(--soft);color:var(--text);font-weight:600}
.layout{display:grid;grid-template-columns:270px minmax(0,1fr);max-width:1240px;margin:0 auto}
nav{position:sticky;top:57px;align-self:start;max-height:calc(100vh - 57px);overflow:auto;padding:20px 16px 32px 24px;font-size:14.5px}
nav summary{display:none}nav h2{margin:18px 0 6px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:650}
nav ul{list-style:none;margin:0;padding:0}nav li a{display:block;padding:4px 10px;margin-left:-10px;border-radius:7px;color:var(--text)}
nav li a:hover{background:var(--soft);text-decoration:none}nav li a[aria-current]{background:var(--soft);color:var(--accent);font-weight:600}
main{min-width:0;padding:32px 40px 72px;max-width:900px}
main h1,main h2,main h3,main h4{line-height:1.25;scroll-margin-top:72px}main h1{font-size:2em;margin:0 0 .6em}
main h2{font-size:1.45em;margin:1.8em 0 .6em;padding-bottom:.25em;border-bottom:1px solid var(--line)}main h3{font-size:1.15em;margin:1.5em 0 .5em}
main a.anchor{display:none}main img{max-width:100%;height:auto;border-radius:10px}
code{font:.88em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--code);padding:.15em .35em;border-radius:5px}
pre{overflow:auto;background:var(--code);padding:14px 16px;border-radius:10px}pre code{padding:0;background:none}
.tablewrap{overflow-x:auto;margin:1em 0}table{border-collapse:collapse;width:100%;font-size:.95em}
th,td{border:1px solid var(--line);padding:7px 11px;text-align:left;vertical-align:top}th{background:var(--soft)}
blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--line);color:var(--muted)}
footer{margin-top:56px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
@media (max-width:820px){header{padding:8px 16px}.layout{display:block}main{padding:20px 16px 56px}
nav{position:static;max-height:none;padding:10px 16px;border-bottom:1px solid var(--line)}nav summary{display:block;cursor:pointer;font-weight:600}nav details:not([open]) .links{display:none}}
