@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0c0e12;--foreground:#e7ebef;--card:#111318;--card-foreground:#e7ebef;--primary:#0a85ff;--primary-foreground:#fff;--secondary:#1e2129;--muted:#22262f;--muted-foreground:#718198;--accent:#272b35;--accent-foreground:#e7ebef;--border:#22262f;--input:#1a1d23;--ring:#0a85ff;--brand-cyan:#22d3ee}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}code,pre,.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.docs-header{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);background:#0c0e12cc;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.docs-header-brand{color:var(--foreground);align-items:center;gap:12px;text-decoration:none;display:flex}.docs-header-brand:hover{text-decoration:none}.docs-header-brand svg{flex-shrink:0;width:32px;height:32px}.docs-header-brand-text{flex-direction:column;line-height:1.2;display:flex}.docs-header-brand-name{letter-spacing:-.02em;text-transform:uppercase;font-size:14px;font-weight:600}.docs-header-brand-subtitle{color:var(--muted-foreground);font-size:11px}.docs-header-nav{align-items:center;gap:16px;display:flex}.docs-header-link{color:var(--muted-foreground);border-radius:6px;padding:6px 10px;font-size:13px;text-decoration:none;transition:color .15s}.docs-header-link:hover{color:var(--foreground);background:var(--muted);text-decoration:none}.docs-header-link-button{cursor:pointer;background:0 0;border:0;font-family:inherit}.docs-header-github{color:var(--muted-foreground);border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;text-decoration:none;transition:all .15s;display:flex}.docs-header-github:hover{color:var(--foreground);border-color:var(--muted-foreground);background:var(--muted);text-decoration:none}.docs-header-github svg{width:16px;height:16px}.shell{grid-template-columns:280px 1fr 220px;min-height:100vh;padding-top:56px;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--card);height:calc(100vh - 56px);padding:16px 12px;position:sticky;top:56px;overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.search{border:1px solid var(--border);background:var(--input);width:100%;color:var(--foreground);border-radius:6px;outline:none;margin-bottom:16px;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s}.search::placeholder{color:var(--muted-foreground)}.search:focus{border-color:var(--ring);box-shadow:0 0 0 2px #0a85ff26}.nav section+section{margin-top:20px}.nav h2{color:var(--muted-foreground);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;padding:0 8px;font-size:11.5px;font-weight:600}.nav ul{margin:0;padding:0;list-style:none}.nav li+li{margin-top:2px}.nav a{color:var(--muted-foreground);border-radius:6px;padding:7px 10px;font-size:14px;text-decoration:none;transition:all .15s;display:block}.nav a:hover{background:var(--muted);color:var(--foreground);text-decoration:none}.nav a.active{color:var(--primary);background:#0a85ff1a;font-weight:500}.content{width:100%;min-width:0;height:calc(100vh - 56px);padding:40px 56px;overflow-y:auto}.article-header p{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:12px;font-weight:600}.article-header h1{letter-spacing:-.02em;color:var(--foreground);margin:0;font-size:34px;font-weight:700}.article-header span{color:var(--muted-foreground);margin-top:10px;font-size:16px;line-height:1.6;display:block}.toc{border-left:1px solid var(--border);height:calc(100vh - 56px);padding:24px 16px;position:sticky;top:56px;overflow-y:auto}.toc::-webkit-scrollbar{width:3px}.toc::-webkit-scrollbar-track{background:0 0}.toc::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.toc-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);margin-bottom:12px;font-size:11.5px;font-weight:600}.toc-list{border-left:1px solid var(--border);margin:0;padding:0;list-style:none}.toc-list li{margin:0}.toc-list a{color:var(--muted-foreground);border-left:2px solid #0000;margin-left:-1px;padding:5px 0 5px 12px;font-size:13px;line-height:1.5;text-decoration:none;transition:color .2s,border-color .2s;display:block}.toc-list a:hover{color:var(--foreground);text-decoration:none}.toc-list a.toc-active{color:var(--primary);border-left-color:var(--primary);font-weight:500}.toc-indent a{padding-left:24px;font-size:12px}article{color:var(--card-foreground);margin-top:32px;font-size:16px;line-height:1.75}article h2{letter-spacing:-.01em;color:var(--foreground);border-bottom:1px solid var(--border);margin-top:40px;margin-bottom:16px;padding-bottom:10px;scroll-margin-top:80px;font-size:24px;font-weight:600}article h3{color:var(--foreground);margin-top:32px;margin-bottom:12px;scroll-margin-top:80px;font-size:19px;font-weight:600}article h4{color:var(--foreground);margin-top:24px;margin-bottom:8px;font-size:16px;font-weight:600}article p{margin:14px 0}article ul,article ol{margin:14px 0;padding-left:24px}article li+li{margin-top:6px}article li::marker{color:var(--muted-foreground)}.code-block-wrapper{margin:16px 0;position:relative}.code-block-wrapper pre{border:1px solid var(--border);background:#0a0c10;border-radius:8px;margin:0;padding:18px 80px 18px 20px;font-size:14.5px;line-height:1.7;overflow-x:auto}.code-copy-btn{z-index:2;border:1px solid var(--border);color:var(--muted-foreground);cursor:pointer;background:#15181e;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-family:inherit;font-size:12px;line-height:1;transition:all .2s;display:inline-flex;position:absolute;top:8px;right:8px}.code-copy-btn:hover{color:var(--foreground);border-color:var(--muted-foreground);background:#1d212a}.code-copy-btn-copied,.code-copy-btn-copied:hover{color:#3cdda7;background:#0c1d17;border-color:#17825e}article code{font-size:.875em}article :not(pre)>code{background:var(--muted);color:#75b3f0;border-radius:4px;padding:2px 6px;font-size:.85em}article table{border-collapse:collapse;border-radius:8px;width:100%;margin:20px 0;font-size:14px;overflow:hidden}article th{border:1px solid var(--border);text-align:left;background:var(--card);color:var(--foreground);padding:10px 14px;font-weight:600}article td{border:1px solid var(--border);text-align:left;color:var(--card-foreground);padding:10px 14px}article tr:hover td{background:#13151b}article blockquote{border-left:3px solid var(--primary);color:var(--muted-foreground);background:#0a85ff0f;border-radius:0 8px 8px 0;margin:20px 0;padding:14px 18px;font-size:15px}article blockquote strong{color:var(--foreground)}article hr{border:none;border-top:1px solid var(--border);margin:28px 0}.mermaid-diagram{border:1px solid var(--border);background:#111318;border-radius:8px;justify-content:center;margin:16px 0;padding:20px;display:flex;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-error{color:#e06c6c;background:#d22d2d14;border:1px solid #d22d2d;border-radius:8px;margin:16px 0;padding:12px 16px;font-size:13px}.empty{min-height:100vh;color:var(--muted-foreground);place-items:center;display:grid}.cookie-banner{inset-inline:0;z-index:80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#101623fa;border-top:1px solid #2a3550;position:fixed;bottom:0;box-shadow:0 -18px 48px #020617d1}.cookie-banner-content{justify-content:space-between;align-items:flex-end;gap:22px;width:100%;max-width:1280px;min-height:142px;margin:0 auto;padding:24px 26px;display:flex}.cookie-banner-copy{max-width:920px}.cookie-banner-title{color:var(--foreground);font-size:18px;font-weight:600}.cookie-banner-text{color:var(--muted-foreground);margin-top:6px;font-size:14px;line-height:1.6}.cookie-banner-actions{align-items:center;gap:8px;display:flex}.cookie-btn{cursor:pointer;border-radius:6px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:500}.cookie-btn-outline{border:1px solid var(--border);color:var(--foreground);background:0 0}.cookie-btn-outline:hover{border-color:var(--muted-foreground)}.cookie-btn-primary{border:1px solid var(--primary);background:var(--primary);color:var(--primary-foreground)}.cookie-btn-primary:hover{filter:brightness(1.05)}.cookie-modal-layer{z-index:100;position:fixed;inset:0}.cookie-modal-backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);cursor:pointer;background:#010610a6;border:0;position:absolute;inset:0}.cookie-modal{background:#0a1222;border:1px solid #2a3550;border-radius:16px;width:min(980px,100% - 2rem);max-height:82vh;margin:clamp(1rem,4vw,3rem) auto 0;padding:clamp(1rem,2vw,1.5rem);position:relative;overflow-y:auto;box-shadow:0 30px 90px #020617e0}.cookie-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cookie-modal-head h2{margin:0;font-size:24px;line-height:1.2}.cookie-modal-head p{color:var(--muted-foreground);margin:8px 0 0;font-size:13px;line-height:1.55}.cookie-modal-close{border:1px solid var(--border);color:var(--foreground);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:12px}.cookie-modal-close:hover{border-color:var(--muted-foreground)}.cookie-pref-grid{gap:12px;margin-top:16px;display:grid}.cookie-pref-card{background:#0b1428;border:1px solid #2a3550;border-radius:10px;padding:14px}.cookie-pref-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.cookie-pref-card-header p{margin:0;font-size:14px;font-weight:600}.cookie-pref-card-header .cookie-pref-toggle span{white-space:nowrap}.cookie-pref-toggle{color:var(--muted-foreground);align-items:center;gap:8px;font-size:11px;display:inline-flex}.cookie-pref-state{letter-spacing:.08em;text-transform:uppercase;justify-content:flex-end;align-items:center;gap:6px;min-width:96px;padding:0;font-size:11px;font-weight:700;display:inline-flex}.cookie-pref-state-required{color:#fcd34d}.cookie-pref-state-enabled{color:#67e8f9}.cookie-pref-state-disabled{color:#cbd5e1}.cookie-pref-state-dot{border-radius:999px;width:6px;height:6px;display:inline-block}.cookie-pref-state-dot-required{background:#fcd34d}.cookie-pref-state-dot-enabled{background:#67e8f9}.cookie-pref-state-dot-disabled{background:#94a3b8}.cookie-pref-toggle input{cursor:pointer;border:1px solid var(--border);background:var(--background);width:17px;height:17px;accent-color:var(--primary);border-radius:4px}.cookie-pref-toggle input:disabled{cursor:not-allowed;opacity:.8}.cookie-pref-text{color:var(--muted-foreground);margin:10px 0 0;font-size:13px;line-height:1.6}.cookie-modal-links{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.cookie-modal-links button{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.cookie-modal-links button:hover{text-decoration:underline}.cookie-modal-note{color:var(--muted-foreground);font-size:12px}.cookie-modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (width<=1280px){.shell{grid-template-columns:280px 1fr}.toc{display:none}}@media (width<=1024px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.content{height:auto;padding:24px 20px}.article-header h1{font-size:26px}.docs-header-nav,.toc{display:none}.cookie-banner-content{flex-direction:column;align-items:flex-start;min-height:0;padding:16px 14px}.cookie-banner-actions{justify-content:stretch;width:100%}.cookie-modal{width:calc(100% - 1rem);margin-top:.5rem}.cookie-modal-head{flex-direction:column}.cookie-modal-close{align-self:flex-end}.cookie-modal-actions{flex-direction:column-reverse}.cookie-btn{text-align:center;flex:1}}
