*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4.5rem}
:root{--accent:#4f46e5;--bg:#fff;--fg:#1f2937;--muted:#6b7280;--line:#e5e7eb;--soft:#f9fafb;--code:#0f172a;--codefg:#e2e8f0}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1115;--fg:#e2e8f0;--muted:#94a3b8;--line:#232733;--soft:#161a22;--accent:#818cf8;--code:#0b0d12;color-scheme:dark}}
:root[data-theme=dark]{--bg:#0f1115;--fg:#e2e8f0;--muted:#94a3b8;--line:#232733;--soft:#161a22;--accent:#818cf8;--code:#0b0d12;color-scheme:dark}
:root[data-theme=light]{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:var(--accent)}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;height:3.5rem;padding:0 1rem;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand{font-weight:700;color:var(--fg);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#theme{flex:none;width:2.1rem;height:2.1rem;border:1px solid var(--line);border-radius:.5rem;background:var(--soft);color:var(--fg);font-size:1rem;line-height:1;cursor:pointer}#theme:hover{border-color:var(--accent)}
#menu{display:none;background:none;border:0;font-size:1.3rem;color:var(--fg);cursor:pointer}
.search{margin-left:auto;position:relative;width:100%;max-width:24rem}
#q{width:100%;padding:.4rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:var(--soft);color:var(--fg);font:inherit;font-size:.9rem;outline:0}
#q:focus{border-color:var(--accent);background:var(--bg)}
#results{position:absolute;left:0;right:0;top:100%;margin-top:.25rem;max-height:70vh;overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.18)}
#results a{display:block;padding:.5rem .75rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg)}
#results a:last-child{border:0}#results a[aria-selected=true],#results a:hover{background:var(--soft)}
#results .t{font-size:.9rem;font-weight:600}#results .t em{font-style:normal;font-weight:400;color:var(--muted)}
#results .b,#results .x{font-size:.75rem;color:var(--muted)}#results .none{padding:.75rem;color:var(--muted);font-size:.9rem}
.shell{display:flex;gap:2rem;max-width:100rem;margin:0 auto;padding:0 1rem}
#nav{width:14rem;flex:none;position:sticky;top:3.5rem;align-self:flex-start;max-height:calc(100vh - 3.5rem);overflow:auto;padding:1.25rem 0;font-size:.82rem}
#nav ul{list-style:none;margin:0;padding:0}#nav ul ul{margin-left:.75rem;padding-left:.5rem;border-left:1px solid var(--line)}
#nav a,#nav .sec{display:block;padding:.2rem .5rem;border-radius:.3rem;color:var(--muted);text-decoration:none;line-height:1.35}
#nav .sec{font-weight:600;color:var(--fg)}#nav a:hover{background:var(--soft)}
#nav a[aria-current=page]{color:var(--accent);background:var(--soft);font-weight:600}
main{flex:1;min-width:0;padding:2rem 0}article{max-width:62rem}
#toc{width:12rem;flex:none;position:sticky;top:3.5rem;align-self:flex-start;max-height:calc(100vh - 3.5rem);overflow:auto;padding:2rem 0;font-size:.8rem}
.toc-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.4rem}
#toc ul{list-style:none;margin:0;padding:0}#toc li.d3{margin-left:.75rem}#toc a{display:block;padding:.12rem 0;color:var(--muted);text-decoration:none;line-height:1.35}
#toc a:hover{color:var(--fg)}#toc a.on{color:var(--accent);font-weight:600}
.crumbs{font-size:.78rem;color:var(--muted);margin-bottom:1rem}.crumbs a{color:var(--muted)}.crumbs i{font-style:normal;opacity:.6}
.doc-content h1,.doc-content h2,.doc-content h3,.doc-content h4{overflow-wrap:anywhere}
.doc-content h1{font-size:2rem;line-height:1.2;margin:0 0 1rem}
.doc-content h2{font-size:1.5rem;margin:2.2rem 0 .75rem;padding-top:.5rem;border-top:1px solid var(--line)}
.doc-content h3{font-size:1.2rem;margin:1.6rem 0 .5rem}.doc-content h4{margin:1.2rem 0 .4rem}
.doc-content p,.doc-content ul,.doc-content ol,.doc-content pre,.doc-content table,.doc-content blockquote,.doc-content .doc-admonition{margin:0 0 1rem}
.doc-content ul{list-style:disc;padding-left:1.5rem}.doc-content ol{padding-left:1.5rem}.doc-content li>ul,.doc-content li>ol{margin:.25rem 0 0}
.doc-anchor{margin-left:.5rem;color:var(--muted);text-decoration:none;opacity:0;font-weight:400}h1:hover .doc-anchor,h2:hover .doc-anchor,h3:hover .doc-anchor,h4:hover .doc-anchor{opacity:1}
.doc-content pre{position:relative;background:var(--code);color:var(--codefg);padding:1rem;border-radius:.6rem;overflow-x:auto;font-size:.85rem;line-height:1.55}
.doc-content pre code.hljs{padding:0;background:none}
.doc-content .doc-mermaid{margin:0 0 1rem;overflow-x:auto;text-align:center}.doc-content .doc-mermaid svg{max-width:100%;height:auto}.doc-content .doc-mermaid-error{font-size:.8rem;color:var(--muted);margin:0 0 .3rem}
.doc-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}
.doc-content :not(pre)>code{background:var(--soft);border:1px solid var(--line);padding:.05rem .35rem;border-radius:.3rem;overflow-wrap:anywhere}
.copy{position:absolute;top:.4rem;right:.4rem;font:inherit;font-size:.7rem;padding:.15rem .5rem;border-radius:.3rem;border:1px solid #334155;background:#1e293b;color:#cbd5e1;cursor:pointer;opacity:0}
pre:hover .copy,.copy:focus{opacity:1}
.doc-content table{border-collapse:collapse;display:block;overflow-x:auto}.doc-content th,.doc-content td{border:1px solid var(--line);padding:.4rem .75rem;text-align:left}.doc-content th{background:var(--soft)}
.doc-content blockquote{border-left:4px solid var(--line);padding-left:1rem;color:var(--muted)}
.doc-content img{max-width:100%;height:auto;border-radius:.4rem}
.doc-content img.doc-img-left,.doc-content img.doc-img-center,.doc-content img.doc-img-right{display:block}
.doc-content img.doc-img-center{margin:1rem auto}.doc-content img.doc-img-right{margin:1rem 0 1rem auto}.doc-content img.doc-img-left{margin:1rem auto 1rem 0}
.doc-content img.doc-img-float-left{float:left;margin:.25rem 1.25rem 1rem 0}.doc-content img.doc-img-float-right{float:right;margin:.25rem 0 1rem 1.25rem}
.doc-content h1,.doc-content h2,.doc-content h3,.doc-content pre,.doc-content table{clear:both}.doc-content hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
.doc-admonition{border-left:4px solid var(--accent);background:var(--soft);padding:.75rem 1rem;border-radius:.5rem}
.doc-admonition-tip{border-color:#10b981}.doc-admonition-warning{border-color:#f59e0b}.doc-admonition-danger{border-color:#ef4444}
.doc-admonition-title{font-weight:700;margin:0 0 .25rem}.doc-admonition>:last-child{margin-bottom:0}
.prevnext{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.9rem}
.updated{margin-top:1rem;font-size:.75rem;color:var(--muted)}
@media (max-width:1100px){#toc{display:none}}
@media (max-width:768px){#menu{display:block}#nav{display:none;position:fixed;inset:3.5rem 0 0 0;width:auto;max-height:none;background:var(--bg);padding:1rem;z-index:10}body.menu-open #nav{display:block}.shell{gap:0}}
@media print{.top,#nav,#toc,.prevnext,.copy{display:none}.shell{display:block}}
