:root{--bg:#fff;--bg-subtle:#f7f7f8;--bg-hover:#f1f1f3;--border:#e4e4e7;--border-strong:#d4d4d8;--text:#18181b;--text-body:#3f3f46;--text-muted:#71717a;--accent:#e8711f;--accent-text:#bf5a10;--accent-soft:#e8711f17;--warn:#a16207;--warn-soft:#ca8a041a;--code-bg:#f7f7f8;--code-text:#27272a;--overlay:#09090b73;--shadow:0 16px 48px #00000029;--syntax-keyword:#7c3aed;--syntax-string:#15803d;--syntax-attr:#0369a1;--syntax-title:#b45309;--syntax-comment:#8a8a93;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--topbar-h:56px;color-scheme:light}:root[data-theme=dark]{--bg:#0b0c0f;--bg-subtle:#111317;--bg-hover:#181a20;--border:#1f2229;--border-strong:#2c303a;--text:#f4f4f5;--text-body:#c4c4cc;--text-muted:#8b8b95;--accent:#f08a3c;--accent-text:#f5a468;--accent-soft:#f08a3c21;--warn:#e3b341;--warn-soft:#e3b3411a;--code-bg:#101217;--code-text:#d9d9de;--overlay:#0009;--shadow:0 16px 48px #00000080;--syntax-keyword:#c4a5ff;--syntax-string:#86d9a3;--syntax-attr:#7dc4e8;--syntax-title:#f0b88a;--syntax-comment:#6f7480;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topbar-h) + 20px);-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text-body);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.7}a{color:var(--accent-text);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}svg{flex:none}.topbar{z-index:40;height:var(--topbar-h);background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{align-items:center;gap:16px;max-width:1400px;height:100%;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.brand:hover{text-decoration:none}.brand img{width:auto;height:24px}.brand .sep{color:var(--border-strong);font-weight:400}.brand .section{color:var(--text-muted);font-weight:500}.top-spacer{flex:1}.search-trigger{border:1px solid var(--border);background:var(--bg-subtle);width:260px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13.5px;display:inline-flex}.search-trigger:hover{border-color:var(--border-strong)}.search-trigger span{text-align:left;flex:1}.kbd{font-family:var(--font-mono);border:1px solid var(--border-strong);color:var(--text-muted);background:var(--bg);border-radius:4px;padding:3px 5px;font-size:11px;line-height:1}.version-picker{position:relative}.version-picker select{appearance:none;border:1px solid var(--border);background:var(--bg-subtle) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E") no-repeat right 10px center;height:34px;color:var(--text);cursor:pointer;border-radius:8px;padding:0 28px 0 12px;font-size:13.5px;font-weight:500}.version-picker select:hover{border-color:var(--border-strong)}.icon-btn{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.menu-btn,.theme-icon-dark{display:none}.icon-btn i,.search-trigger i,.version-banner i{font-size:15px}:root[data-theme=dark] .theme-icon-dark{display:block}:root[data-theme=dark] .theme-icon-light{display:none}.layout{grid-template-columns:252px minmax(0,1fr) 216px;column-gap:48px;max-width:1400px;margin:0 auto;padding:0 24px;display:grid}.sidebar{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;padding:28px 0 40px;position:sticky;overflow-y:auto}.nav-group+.nav-group{margin-top:24px}.nav-title{color:var(--text);letter-spacing:.02em;padding:0 10px 6px;font-size:12px;font-weight:600}.nav a{color:var(--text-muted);border-radius:6px;margin:1px 0;padding:5px 10px;font-size:14px;line-height:1.45;display:block}.nav a:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.content{min-width:0;padding:40px 0 72px}.article{max-width:740px}.crumbs{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:14px;font-size:13px;display:flex}.crumbs a{color:var(--text-muted)}.crumbs a:hover{color:var(--text)}.eyebrow{color:var(--accent-text);margin:0 0 8px;font-size:13px;font-weight:600}.page-head h1{color:var(--text);letter-spacing:-.025em;margin:0;font-size:34px;font-weight:650;line-height:1.2}.lead{color:var(--text-muted);margin:12px 0 0;font-size:17px;line-height:1.6}.page-head{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:28px}.version-banner{border:1px solid color-mix(in srgb, var(--warn) 35%, var(--border));background:var(--warn-soft);color:var(--text-body);border-radius:8px;align-items:center;gap:10px;margin:0 0 20px;padding:10px 14px;font-size:13.5px;display:flex}.version-banner i{color:var(--warn)}.prose{overflow-wrap:break-word}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol{margin:0 0 16px}.prose ul,.prose ol{padding-left:22px}.prose li{margin:4px 0}.prose li::marker{color:var(--text-muted)}.prose strong{color:var(--text);font-weight:600}.prose h2,.prose h3,.prose h4{color:var(--text);letter-spacing:-.015em;line-height:1.3;position:relative}.prose h2{border-top:1px solid var(--border);margin:44px 0 14px;padding-top:28px;font-size:22px;font-weight:650}.prose h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose h3{margin:32px 0 10px;font-size:17px;font-weight:600}.prose h4{margin:24px 0 8px;font-size:15px;font-weight:600}.prose .anchor{color:var(--text-muted);opacity:0;font-weight:400;text-decoration:none;position:absolute;left:-20px}.prose :is(h2,h3,h4):hover .anchor,.prose .anchor:focus-visible{opacity:1}.prose hr{border:0;border-top:1px solid var(--border);margin:32px 0}.prose code{background:var(--bg-hover);color:var(--text);font-family:var(--font-mono);border-radius:4px;padding:1px 4px;font-size:.86em}.prose a code{color:inherit}.prose blockquote{border-left:2px solid var(--border-strong);color:var(--text-muted);margin:0 0 16px;padding:2px 0 2px 16px}.prose blockquote.callout{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-subtle);color:var(--text-body);border-radius:8px;padding:12px 16px}.prose blockquote.callout>:last-child{margin-bottom:0}.prose blockquote.callout-warning,.prose blockquote.callout-caution{border-left-color:var(--warn);background:var(--warn-soft)}.callout-title{color:var(--text);font-size:13px;font-weight:600;margin:0 0 4px!important}.code-block{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;margin:0 0 20px;overflow:hidden}.code-head{border-bottom:1px solid var(--border);height:34px;color:var(--text-muted);font-family:var(--font-mono);justify-content:space-between;align-items:center;padding:0 6px 0 14px;font-size:12px;display:flex}.copy-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.copy-btn:hover{background:var(--bg-hover);color:var(--text);opacity:1}.code-block pre{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;margin:0;overflow-x:auto}.code-block code{min-width:max-content;color:var(--code-text);font-family:var(--font-mono);background:0 0;padding:12px 16px;font-size:13px;line-height:1.65;display:block}.prose .code-block code{border-radius:0;padding:12px 16px;font-size:13px}.hljs-keyword,.hljs-built_in,.hljs-name,.hljs-section{color:var(--syntax-keyword)}.hljs-string,.hljs-quote{color:var(--syntax-string)}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-property,.hljs-literal,.hljs-number{color:var(--syntax-attr)}.hljs-symbol,.hljs-meta,.hljs-title,.hljs-type,.hljs-tag{color:var(--syntax-title)}.hljs-comment{color:var(--syntax-comment)}.table-wrap{border:1px solid var(--border);border-radius:10px;margin:0 0 20px;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:14px}.prose th,.prose td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:10px 14px}.prose tr:last-child td{border-bottom:0}.prose th{background:var(--bg-subtle);color:var(--text);white-space:nowrap;font-size:12.5px;font-weight:600}.prose td code{white-space:nowrap}.pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:56px;display:grid}.pager a{border:1px solid var(--border);color:var(--text);border-radius:10px;gap:2px;padding:14px 16px;font-weight:500;display:grid}.pager a:hover{border-color:var(--border-strong);background:var(--bg-subtle);text-decoration:none}.pager small{color:var(--text-muted);font-size:12.5px;font-weight:400}.pager .next{text-align:right;grid-column:2}.page-foot{border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:28px;padding-top:20px;font-size:13px;display:flex}.page-foot a{color:var(--text-muted)}.page-foot a:hover{color:var(--text)}.toc{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));padding:40px 0;font-size:13px;position:sticky;overflow-y:auto}.toc-title{color:var(--text);margin-bottom:10px;font-size:12px;font-weight:600}.toc a{border-left:1px solid var(--border);color:var(--text-muted);margin-left:-1px;padding:3px 0 3px 14px;line-height:1.45;display:block}.toc a.sub{padding-left:26px}.toc a:hover{color:var(--text);text-decoration:none}.toc a.active{border-left-color:var(--accent);color:var(--accent-text)}.paths{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:28px 0 36px;display:grid}.path-card{border:1px solid var(--border);color:var(--text);border-radius:12px;flex-direction:column;gap:6px;padding:18px;display:flex}.path-card:hover{border-color:var(--border-strong);background:var(--bg-subtle);text-decoration:none}.path-card h3{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.path-card p{color:var(--text-muted);margin:0;font-size:13.5px;line-height:1.55}.path-card .go{color:var(--accent-text);margin-top:auto;padding-top:10px;font-size:13px;font-weight:500}.palette{z-index:100;background:var(--overlay);justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:none;position:fixed;inset:0}.palette.open{display:flex}.palette-box{border:1px solid var(--border-strong);background:var(--bg);width:100%;max-width:600px;max-height:70vh;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.palette-input{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:12px;padding:0 16px;display:flex}.palette-input input{height:52px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:16px}.palette-results{padding:8px;overflow-y:auto}.palette-results a{color:var(--text);border-radius:8px;flex-direction:column;gap:1px;padding:9px 12px;font-size:14px;font-weight:500;display:flex}.palette-results a small{color:var(--text-muted);font-size:12.5px;font-weight:400}.palette-results a:hover,.palette-results a[aria-selected=true]{background:var(--accent-soft);text-decoration:none}.palette-empty{color:var(--text-muted);text-align:center;padding:28px 16px;font-size:14px}.palette-foot{border-top:1px solid var(--border);color:var(--text-muted);gap:16px;padding:10px 16px;font-size:12px;display:flex}.version-list{border:1px solid var(--border);border-radius:12px;margin:28px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.version-list li+li{border-top:1px solid var(--border)}.version-list a{color:var(--text);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.version-list a:hover{background:var(--bg-subtle);text-decoration:none}.version-list strong{font-weight:600;display:block}.version-list small{color:var(--text-muted);font-size:13px}.tag{border:1px solid var(--border-strong);color:var(--text-muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500}.tag.latest{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));background:var(--accent-soft);color:var(--accent-text)}footer.site-foot{border-top:1px solid var(--border);color:var(--text-muted);text-align:center;padding:24px;font-size:13px}@media (width<=1180px){.layout{grid-template-columns:240px minmax(0,1fr);column-gap:40px}.toc{display:none}}@media (width<=860px){.layout{grid-template-columns:minmax(0,1fr);padding:0 18px}.topbar-inner{gap:8px;padding:0 14px}.menu-btn{display:inline-grid}.brand .section,.brand .sep,.search-trigger span,.search-trigger .kbd,.hide-sm{display:none}.search-trigger{justify-content:center;width:34px;padding:0}.sidebar{inset:var(--topbar-h) 0 0 0;z-index:30;background:var(--bg);height:auto;padding:20px 18px 40px;display:none;position:fixed}.sidebar.open{display:block}.content{padding-top:28px}.page-head h1{font-size:28px}.prose .anchor{display:none}.pager{grid-template-columns:1fr}.pager .next{grid-column:1}}
