:root{--ink:#18181B;--muted:#71717A;--line:#E6EAEF;--soft:#F4F4F5;--pri:#6762FE;--pri-soft:#F0EFFF;--bg:#fff}
@media (prefers-color-scheme:dark){:root{--ink:#E6E7EE;--muted:#A1A1AA;--line:#2A2D44;--soft:#1C1E30;--pri:#8B87FF;--pri-soft:#24233F;--bg:#151729}}
*{box-sizing:border-box}html{scroll-padding-top:120px}
body{margin:0;font:15px/1.65 Inter,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--pri)}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;height:56px;padding:0 20px;background:var(--bg);border-bottom:1px solid var(--line)}
.brand{font-weight:600;color:var(--ink);text-decoration:none;font-size:16px}
.menu{display:none;border:0;background:none;font-size:20px;color:var(--ink);cursor:pointer}
.search{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:220px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.search kbd{margin-left:auto;font:11px inherit;border:1px solid var(--line);border-radius:4px;padding:0 5px}
.tabs{position:sticky;top:56px;z-index:4;display:flex;gap:4px;padding:0 20px;background:var(--bg);border-bottom:1px solid var(--line);overflow-x:auto}
.tabs a{padding:12px 10px;color:var(--muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;font-size:14px}
.tabs a.on{color:var(--ink);border-color:var(--pri);font-weight:500}
.shell{display:grid;grid-template-columns:260px minmax(0,1fr) 220px;max-width:1360px;margin:0 auto}
.side{position:sticky;top:105px;height:calc(100vh - 105px);overflow:auto;padding:20px 12px;border-right:1px solid var(--line)}
.nav,.nav ul{list-style:none;margin:0;padding:0}.nav ul{padding-left:12px}
.nav a{display:block;padding:5px 10px;border-radius:6px;color:var(--muted);text-decoration:none;font-size:14px}
.nav a:hover{background:var(--soft);color:var(--ink)}
.nav a.active{background:var(--pri-soft);color:var(--pri);font-weight:500}
.grp-name{display:block;margin:16px 0 4px;padding:0 10px;font-size:12px;font-weight:600;color:var(--ink)}
.doc{min-width:0;padding:32px 48px 64px}
.doc h1{font-size:32px;line-height:1.25;margin:0 0 20px}
.doc h2{font-size:22px;margin:36px 0 12px}.doc h3{font-size:18px;margin:28px 0 10px}
.doc img{max-width:100%;height:auto;border-radius:8px}
.doc pre{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:14px;overflow:auto;font-size:13px}
.doc code{font:13px SFMono-Regular,Menlo,Consolas,monospace;background:var(--soft);padding:1px 5px;border-radius:4px}
.doc pre code{background:none;padding:0}
.doc table{border-collapse:collapse;display:block;overflow-x:auto;margin:16px 0}
.doc th,.doc td{border:1px solid var(--line);padding:8px 12px;text-align:left}.doc th{background:var(--soft)}
.doc blockquote{margin:16px 0;padding:10px 16px;border-left:3px solid var(--pri);background:var(--pri-soft);border-radius:0 8px 8px 0}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:48px}
.pager a{flex:1;max-width:48%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:var(--ink)}
.pager a:hover{border-color:var(--pri)}.pager .next{text-align:right;margin-left:auto}
.pager small{display:block;color:var(--muted);font-size:12px}
.toc{position:sticky;top:105px;height:calc(100vh - 105px);overflow:auto;padding:32px 16px}
.toc p{margin:0 0 8px;font-size:12px;font-weight:600}.toc ul{list-style:none;margin:0;padding:0}
.toc a{display:block;padding:3px 0;color:var(--muted);text-decoration:none;font-size:13px}.toc a:hover{color:var(--pri)}
.toc .l3 a{padding-left:12px}
.sr{position:fixed;inset:0;z-index:20;display:none;background:rgba(0,0,0,.35)}.sr.open{display:block}
.sr-box{width:min(640px,calc(100vw - 32px));margin:10vh auto 0;background:var(--bg);border-radius:12px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.2)}
.sr-box input{width:100%;padding:16px;border:0;border-bottom:1px solid var(--line);font:inherit;font-size:15px;background:none;color:var(--ink);outline:none}
.sr-list{max-height:60vh;overflow:auto;margin:0;padding:6px;list-style:none}
.sr-list a{display:block;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--ink)}
.sr-list a.sel,.sr-list a:hover{background:var(--soft)}.sr-list small{display:block;color:var(--muted);font-size:12px}
.sr-empty{padding:16px;color:var(--muted);font-size:13px}
@media (max-width:1100px){.shell{grid-template-columns:240px minmax(0,1fr)}.toc{display:none}}
@media (max-width:760px){.shell{display:block}.menu{display:block}.doc{padding:24px 16px 48px}
.side{position:fixed;top:56px;left:0;bottom:0;z-index:6;width:280px;height:auto;background:var(--bg);transform:translateX(-100%);transition:transform .2s}
body.nav-open .side{transform:none}.search{min-width:0}.search kbd{display:none}}