:root{color-scheme:dark;--bg:#0d0d17;--panel:#14131f;--soft:#1b1a29;--line:#2c2a40;--text:#dddbe8;--muted:#9c98b3;--head:#fff;--accent:#a98bff;--accent-soft:#a98bff22;--mark:#a98bff40;font:16px/1.7 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
@media (prefers-color-scheme:light){:root{color-scheme:light;--bg:#fbfaff;--panel:#fff;--soft:#f3f1fb;--line:#e3e0f0;--text:#2b2838;--muted:#6b6780;--head:#14111f;--accent:#6c47e6;--accent-soft:#6c47e614;--mark:#6c47e630}}
*{box-sizing:border-box}html{scroll-padding-top:84px}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-underline-offset:3px}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:16px;height:64px;padding:0 20px;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;color:var(--head);font-weight:700;letter-spacing:-.01em;text-decoration:none;white-space:nowrap}.brand i{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#8f6bff,#e46fb7);display:inline-block}.brand small{color:var(--muted);font-weight:500}
.search{flex:1;max-width:520px;margin-left:auto;position:relative}.search input{width:100%;height:40px;padding:0 70px 0 14px;border-radius:10px;border:1px solid var(--line);background:var(--soft);color:var(--text);font:inherit;font-size:15px;outline:none}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.search input::-webkit-search-cancel-button{display:none}.search input:not(:placeholder-shown)+kbd{display:none}.search kbd{position:absolute;right:10px;top:9px;font:12px ui-monospace,monospace;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:1px 6px;background:var(--panel)}
.results{position:absolute;top:48px;left:0;right:0;max-height:min(70vh,560px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #0007;padding:6px;display:none}.results.open{display:block}
.results a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--text)}.results a:hover,.results a.active{background:var(--accent-soft)}.results b{display:block;color:var(--head);font-weight:600}.results small{color:var(--muted);font-size:12px}.results p{margin:4px 0 0;font-size:14px;color:var(--muted);line-height:1.5}.results mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 1px}.results .empty{padding:14px;color:var(--muted)}
.menu{display:none;background:none;border:1px solid var(--line);color:var(--text);border-radius:8px;height:36px;width:40px;font-size:18px;cursor:pointer}
.layout{display:grid;grid-template-columns:270px minmax(0,1fr) 220px;max-width:1440px;margin:0 auto}
nav.side{position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto;padding:24px 16px 40px 20px;border-right:1px solid var(--line)}nav.side h4{margin:22px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}nav.side h4:first-child{margin-top:0}
nav.side a{display:block;padding:5px 10px;border-radius:7px;color:var(--text);text-decoration:none;font-size:14.5px;line-height:1.45}nav.side a:hover{background:var(--soft)}nav.side a[aria-current]{background:var(--accent-soft);color:var(--accent);font-weight:600}
main{min-width:0;padding:40px 48px 80px}article{max-width:780px}.crumb{font-size:13px;color:var(--muted);margin-bottom:8px}
h1,h2,h3,h4{color:var(--head);line-height:1.25;letter-spacing:-.015em}h1{font-size:2.3rem;margin:.2em 0 .6em}h2{font-size:1.5rem;margin-top:2.2em;padding-bottom:10px;border-bottom:1px solid var(--line)}h3{font-size:1.15rem;margin-top:1.8em}
.anchor{margin-left:8px;opacity:0;text-decoration:none;color:var(--muted)}h2:hover .anchor,h3:hover .anchor,h4:hover .anchor{opacity:1}
img{max-width:100%;height:auto;border-radius:10px}pre{overflow:auto;padding:16px 18px;background:var(--soft);border:1px solid var(--line);border-radius:10px;line-height:1.55}code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.87em}:not(pre)>code{background:var(--soft);border:1px solid var(--line);padding:1px 6px;border-radius:6px}
table{display:block;overflow:auto;border-collapse:collapse;margin:1.4em 0;font-size:15px}td,th{padding:9px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--soft);color:var(--head)}
blockquote{margin:1.4em 0;border-left:3px solid var(--accent);padding:2px 18px;color:var(--muted);background:var(--soft);border-radius:0 8px 8px 0}
aside.toc{position:sticky;top:64px;height:calc(100vh - 64px);overflow:auto;padding:40px 20px 40px 0;font-size:13.5px}aside.toc b{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}aside.toc a{display:block;color:var(--muted);text-decoration:none;padding:3px 0;line-height:1.4}aside.toc a:hover{color:var(--accent)}aside.toc a.d3{padding-left:12px}
.pager{display:flex;gap:12px;justify-content:space-between;margin-top:56px}.pager a{flex:1;border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:var(--head);font-weight:600}.pager a:hover{border-color:var(--accent)}.pager small{display:block;color:var(--muted);font-weight:500}.pager .next{text-align:right}
footer{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;overflow-wrap:anywhere}footer a{color:var(--muted)}
@media(max-width:1180px){.layout{grid-template-columns:250px minmax(0,1fr)}aside.toc{display:none}}
@media(max-width:820px){.layout{display:block}.menu{display:inline-block}nav.side{display:none;position:fixed;inset:64px 0 0 0;z-index:15;background:var(--bg);height:auto}body.nav-open nav.side{display:block}main{padding:28px 18px 64px}.brand small{display:none}h1{font-size:1.8rem}}
