:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0e;--surface:#0d1016;--raised:#151920;--fg:#f5f7fa;--muted:#b6c1ce;--accent:#2ec4b6;--line:#293342;font-family:var(--font-dm),"DM Sans",system-ui,sans-serif}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#f7f8fa;--raised:#eef1f4;--fg:#141a24;--muted:#3a4656;--accent:#0c6159;--line:#d8dee6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--bg);color:var(--fg);margin:0}a{color:var(--accent);text-underline-offset:4px}button,input,summary{font:inherit}button,summary{cursor:pointer}button{border:1px solid var(--line);background:var(--raised);color:var(--fg);border-radius:8px;padding:9px 14px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:80px;padding:0 32px;display:flex;position:sticky;top:0}header nav{align-items:center;gap:20px;font-size:14px;display:flex}.wordmark{letter-spacing:-1px;color:var(--fg);font-size:26px;font-weight:650;text-decoration:none}.wordmark span{color:var(--muted);letter-spacing:0;font-size:14px}.docs-layout{grid-template-columns:260px minmax(0,1fr) 220px;gap:36px;max-width:1500px;margin:auto;padding:0 32px;display:grid}.sidebar,.toc{height:calc(100vh - 80px);padding:30px 0;position:sticky;top:80px;overflow:auto}.sidebar section{margin-bottom:24px}.sidebar h2,.toc h2{letter-spacing:.05em;color:var(--muted);text-transform:uppercase;font-size:12px;line-height:1.6}.sidebar a,.toc a{color:var(--muted);border-radius:6px;padding:7px 10px;font-size:14px;line-height:1.5;text-decoration:none;display:block}.sidebar a:hover,.toc a:hover{background:var(--raised);color:var(--fg)}.sidebar a[aria-current=page]{background:var(--raised);color:var(--accent)}.toc .depth-3{padding-left:22px;font-size:13px}main{min-width:0;max-width:800px;padding:38px 0 24px}article{overflow-wrap:anywhere;font-size:16px;line-height:1.8}article h1{letter-spacing:-1.1px;margin:22px 0 32px;font-size:38px;font-weight:600;line-height:1.2}article h2{letter-spacing:-.4px;margin:40px 0 16px;font-size:25px;line-height:1.4}article h3{margin-top:28px;font-size:20px}article p,article ul,article ol{color:var(--muted)}article strong{color:var(--fg)}.breadcrumb{color:var(--muted);font-size:13px}pre{background:var(--surface);border:1px solid var(--line);border-radius:10px;max-width:100%;padding:20px;font-size:13px;line-height:1.6;overflow:auto}code{font-family:var(--font-jb),"JetBrains Mono",ui-monospace,monospace;font-size:.88em}p code,li code{background:var(--raised);color:var(--fg);border-radius:4px;padding:2px 5px}table{border-collapse:collapse;max-width:100%;margin:24px 0;font-size:14px;display:block;overflow:auto}th,td{text-align:left;border:1px solid var(--line);padding:12px 16px}th{background:var(--surface)}blockquote,.callout{border-left:3px solid var(--accent);background:var(--surface);border-radius:0 8px 8px 0;margin:24px 0;padding:12px 20px}.callout-title{color:var(--fg);font-weight:600}img{max-width:100%;height:auto}.pagination{border-top:1px solid var(--line);justify-content:space-between;gap:24px;margin-top:48px;padding-top:24px;font-size:14px;display:flex}footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;margin-top:40px;padding-top:24px;font-size:12px;display:flex}.skip{z-index:10;background:var(--bg);padding:16px;position:fixed;top:-100px;left:16px}.skip:focus{top:12px}.mobile-nav{display:none}.private-banner{border:1px solid var(--accent);border-radius:8px;padding:12px;font-size:13px}dialog{background:var(--surface);color:var(--fg);border:1px solid var(--line);border-radius:14px;width:min(640px,90vw);max-height:80vh;padding:24px}dialog::backdrop{background:#000000b3}.search-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}input{background:var(--bg);width:100%;color:var(--fg);border:1px solid var(--line);border-radius:8px;margin-top:8px;padding:12px;display:block}dialog li{padding:8px 0}@media (max-width:1100px){.docs-layout{grid-template-columns:230px minmax(0,1fr);gap:28px}.toc{display:none}}@media (max-width:680px){header{height:72px;padding:0 16px}header nav{gap:8px}header nav>a{display:none}.wordmark{font-size:23px}.docs-layout{padding:0 20px;display:block}.sidebar{border-bottom:1px solid var(--line);height:auto;padding:16px 0;position:static}.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav nav{max-height:60vh;padding-top:12px;overflow:auto}main{padding-top:24px}article h1{font-size:31px}article{font-size:15px}.pagination{flex-direction:column}footer{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}table{overflow-wrap:normal}th,td{min-width:100px}td:nth-child(2){min-width:180px}td:nth-child(3){min-width:150px}footer{flex-wrap:wrap}footer nav{flex-wrap:wrap;gap:12px;display:flex}.toc a[aria-current=location]{background:var(--raised);color:var(--accent);font-weight:600}:root{--scrollbar-thumb:#a8bcd02e;--scrollbar-thumb-hover:#a8bcd052;--scrollbar-thumb-active:#a8bcd070}html[data-theme=light]{--scrollbar-thumb:#141a2433;--scrollbar-thumb-hover:#141a2457;--scrollbar-thumb-active:#141a2475}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:content-box;border:2px solid #0000;border-radius:999px;min-height:40px}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}.article-tools{flex-wrap:wrap;gap:8px;margin:22px 0 12px;display:flex}.article-tools button{color:var(--muted);background:0 0;align-items:center;gap:7px;padding:7px 10px;font-size:13px;display:inline-flex}.article-tools button:hover{background:var(--raised);color:var(--fg)}.section-actions{vertical-align:middle;white-space:nowrap;gap:2px;margin-inline-start:10px;display:inline-flex}.section-actions button{width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.section-actions button:hover{color:var(--fg);background:var(--raised)}.copy-status:empty,.reader-copy-status:empty{display:none}.copy-status{z-index:8;border:1px solid var(--line);background:var(--raised);color:var(--fg);border-radius:8px;max-width:calc(100vw - 40px);padding:10px 16px;font-size:14px;position:fixed;bottom:20px;right:20px}html:has(.reader-dialog[open]){overflow:hidden}.reader-dialog{background:var(--bg);border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;scroll-padding-top:130px;position:fixed;inset:0;overflow:auto}.reader-toolbar{z-index:1;border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.reader-toolbar>div:first-child{min-width:0}.reader-toolbar span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.reader-toolbar strong{font-size:16px;line-height:1.4;display:block}.reader-buttons{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.reader-buttons button{padding:7px 10px;font-size:13px}.reader-content{max-width:72ch;margin:0 auto;padding:24px 28px 64px;font-size:18px;line-height:1.9}.reader-content h1{font-size:34px}.reader-copy-status{border:1px solid var(--line);background:var(--raised);border-radius:8px;width:fit-content;max-width:calc(100% - 32px);margin:0 auto 16px;padding:10px 16px;font-size:14px;position:sticky;bottom:16px}.manual-copy-dialog textarea{resize:vertical;background:var(--bg);width:100%;min-height:200px;max-height:45vh;color:var(--fg);border:1px solid var(--line);font:14px/1.6 var(--font-jb),monospace;border-radius:8px;margin-bottom:16px;padding:12px;display:block}textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}@media (max-width:680px){.reader-toolbar{flex-direction:column;align-items:flex-start;padding:12px 20px}.reader-buttons{flex-shrink:1}.reader-content{padding:16px 20px 48px;font-size:17px}.reader-content h1{font-size:29px}.article-tools{gap:6px}.section-actions{margin-inline-start:6px}}.ui-example{min-width:0;margin:28px 0 32px}.ui-example[data-enhanced=true] .ui-example-fallback{display:none}.ui-example figcaption{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.65}.ui-example figcaption span{margin-top:3px;display:block}.ui-example-fallback img{border:1px solid var(--line);border-radius:10px;display:block}.ui-example-fallback p{font-size:14px;line-height:1.6}.ui-example-fallback .ui-example-date{font-size:12px}.ui-demo{--demo-bg:var(--surface);--demo-raised:var(--raised);--demo-fg:var(--fg);--demo-muted:var(--muted);--demo-line:var(--line);--demo-accent:var(--accent);border:1px solid var(--demo-line);background:var(--demo-bg);color:var(--demo-fg);border-radius:14px;font-size:14px;line-height:1.6;transition:background-color .22s,color .22s,border-color .22s;overflow:hidden;box-shadow:0 12px 36px #00000014}.ui-demo[data-preview-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--demo-bg:#f7f8fa;--demo-raised:#eef1f4;--demo-fg:#141a24;--demo-muted:#3a4656;--demo-line:#d8dee6;--demo-accent:#0c6159}.ui-demo[data-preview-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--demo-bg:#0d1016;--demo-raised:#151920;--demo-fg:#f5f7fa;--demo-muted:#b6c1ce;--demo-line:#293342;--demo-accent:#2ec4b6}@media (prefers-color-scheme:light){.ui-demo[data-preview-theme=auto]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--demo-bg:#f7f8fa;--demo-raised:#eef1f4;--demo-fg:#141a24;--demo-muted:#3a4656;--demo-line:#d8dee6;--demo-accent:#0c6159}}@media (prefers-color-scheme:dark){.ui-demo[data-preview-theme=auto]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--demo-bg:#0d1016;--demo-raised:#151920;--demo-fg:#f5f7fa;--demo-muted:#b6c1ce;--demo-line:#293342;--demo-accent:#2ec4b6}}.ui-demo-top{border-bottom:1px solid var(--demo-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex}.ui-demo-top>span:first-child,.ui-demo-site-row>span:first-child{align-items:center;gap:10px;font-weight:600;display:flex}.ui-demo-badge{color:var(--demo-muted);border:1px solid var(--demo-line);border-radius:6px;padding:3px 8px;font-size:11px}.ui-demo-body{padding:22px}.ui-demo p{color:var(--demo-muted);margin:12px 0;line-height:1.65}.ui-demo strong{color:var(--demo-fg)}.ui-demo a{color:var(--demo-accent);font-size:13px}.ui-demo button,.ui-demo input,.ui-demo select{font:inherit;color:var(--demo-fg);border:1px solid var(--demo-line);background:var(--demo-raised);border-radius:7px}.ui-demo button{padding:8px 12px;line-height:1.4;transition:background-color .18s,color .18s}.ui-demo button:hover{filter:brightness(1.1)}.ui-demo button:disabled{opacity:.45;cursor:default;filter:none}.ui-demo input,.ui-demo select{width:100%;margin-top:7px;padding:10px 12px}.ui-demo :is(input,button,select,a):focus-visible{outline:2px solid var(--demo-accent);outline-offset:3px}.ui-demo label{font-size:13px;font-weight:500}.ui-demo-methods{border-bottom:1px solid var(--demo-line);flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:12px;display:flex}.ui-demo-methods button{color:var(--demo-muted);background:0 0;border:0;padding:7px 10px}.ui-demo-methods button[aria-pressed=true]{background:var(--demo-raised);color:var(--demo-fg);font-weight:600}.ui-demo-scene{min-height:200px;animation:.2s ease-out ui-example-enter}.ui-demo-form-actions{justify-content:flex-end;margin-top:18px;display:flex}.ui-demo .ui-demo-primary{background:var(--demo-accent);color:var(--demo-bg);font-weight:600}.ui-demo .ui-demo-hint{font-size:12px;line-height:1.6}.ui-demo-controls{border-top:1px solid var(--demo-line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.ui-demo-controls button{background:0 0;font-size:12px}.ui-demo-controls>span{color:var(--demo-muted);flex-basis:100%;margin-top:4px;font-size:11px}.ui-demo-site-row{border:1px solid var(--demo-line);background:var(--demo-raised);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.ui-demo-pending{border:1px solid var(--demo-line);color:var(--demo-muted);border-radius:20px;padding:3px 9px;font-size:11px}.ui-demo .ui-demo-label,.ui-demo-appearance legend{text-transform:uppercase;letter-spacing:.1em;color:var(--demo-muted);margin:0 0 14px;font-size:10px;font-weight:600}.ui-demo-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.ui-demo-fields select{min-width:0;font-size:12px}.ui-demo .ui-demo-format{font:12px/1.6 var(--font-jb),monospace;border:1px solid var(--demo-line);border-radius:7px;padding:10px 12px;animation:.18s ease-out ui-example-enter}.ui-demo-appearance{border:0;min-width:0;margin:28px 0 0;padding:0}.ui-demo-appearance>div{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.ui-demo-appearance label{border:1px solid var(--demo-line);cursor:pointer;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 8px;transition:background-color .18s;display:flex;position:relative}.ui-demo-appearance label.selected{background:var(--demo-raised);border-color:var(--demo-accent)}.ui-demo-appearance input{opacity:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.ui-demo-appearance label:has(input:focus-visible){outline:2px solid var(--demo-accent);outline-offset:3px}.ui-demo-selection{height:16px;color:var(--demo-accent)}.ui-demo-selection svg{width:16px;height:16px}.ui-demo-settings{grid-template-columns:minmax(150px,1fr) minmax(0,1.4fr);display:grid}.ui-demo-settings nav{border-right:1px solid var(--demo-line);flex-direction:column;gap:3px;padding:18px 14px;display:flex}.ui-demo-settings nav button{text-align:left;color:var(--demo-muted);background:0 0;border:0;font-size:12px}.ui-demo-settings nav button[aria-pressed=true]{background:var(--demo-raised);color:var(--demo-fg);font-weight:600}.ui-demo-settings>.ui-demo-scene{padding:24px 22px}@keyframes ui-example-enter{0%{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (max-width:680px){.ui-demo-body{padding:18px}.ui-demo-top{padding:14px 18px}.ui-demo-fields,.ui-demo-settings{grid-template-columns:1fr}.ui-demo-settings nav{border-right:0;border-bottom:1px solid var(--demo-line)}.ui-demo-appearance>div{gap:8px}.ui-demo-settings>.ui-demo-scene{padding:20px 18px}}@media (prefers-reduced-motion:reduce){.ui-demo,.ui-demo *,.ui-demo-scene{transition:none!important;animation:none!important}}@media print{.ui-example-mount{display:none!important}.ui-example .ui-example-fallback{display:block!important}}
.sidebar{overflow:hidden}.desktop-nav{scrollbar-gutter:stable;height:100%;padding:4px 8px 12px 4px;overflow:auto}.nav-group{margin:0 0 6px}.nav-group>summary{color:var(--muted);border-radius:6px;padding:9px 8px;font-size:14px;font-weight:600;line-height:1.5}.nav-group>summary:hover{color:var(--fg);background:var(--raised)}.nav-group[data-current]>summary{color:var(--accent)}.nav-group-pages{border-left:1px solid var(--line);margin-left:14px;padding:3px 0 8px 12px}.nav-group-pages .nav-group>summary{font-size:13px}.sidebar a[aria-current=page],.section-navigation a[aria-current=page]{background:var(--raised);color:var(--accent);font-weight:600}.breadcrumb ol{flex-wrap:wrap;align-items:baseline;gap:6px 0;margin:0;padding:0;line-height:1.6;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";color:var(--muted);padding:0 8px}.breadcrumb [aria-current=page]{color:var(--fg)}.toc{padding-left:4px}.page-outline{max-height:42vh;padding:0 6px 6px 0;overflow:auto}.section-navigation{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.toc .section-navigation{max-height:40vh;padding-right:6px;overflow:auto}.section-navigation h2{letter-spacing:.05em;color:var(--muted);text-transform:uppercase;font-size:12px;line-height:1.6}.section-navigation a{color:var(--muted);border-radius:6px;padding:7px 10px;font-size:14px;line-height:1.5;text-decoration:none;display:block}.section-navigation a:hover{background:var(--raised);color:var(--fg)}.mobile-section-navigation{display:none}@media (max-width:1100px){.mobile-section-navigation{border:1px solid var(--line);color:var(--muted);border-radius:8px;margin:18px 0 20px;padding:10px 14px;font-size:14px;display:block}.mobile-section-navigation>summary{color:var(--fg)}.mobile-section-navigation .section-navigation{border:0;max-height:45vh;margin-top:8px;padding-top:0;overflow:auto}.mobile-section-navigation .section-navigation h2{display:none}}@media (max-width:680px){.sidebar{overflow:visible}.mobile-nav>summary{font-size:14px;line-height:1.6}.mobile-nav>summary>span{color:var(--accent);padding-left:16px;font-size:12px;display:block}.mobile-nav nav{padding:4px 8px 8px 4px}.breadcrumb{font-size:12px}}@media print{.sidebar,.toc,.mobile-section-navigation{display:none!important}}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.3z_x6eowsw16y.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.2_mbdogr7ni8i.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_37aa0218-module__Ac-K6G__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_37aa0218-module__Ac-K6G__variable{--font-dm:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_d0ec581f-module__0RydQW__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_d0ec581f-module__0RydQW__variable{--font-jb:"JetBrains Mono", "JetBrains Mono Fallback"}
