:root{--ochat-bg:#fff;--ochat-panel:#f4f5f7;--ochat-ink:#20242c;--ochat-muted:#596170;--ochat-line:#e0e3e8;--ochat-accent:#245bd6;--ochat-accent-soft:#eaf0ff;--ochat-on-accent:#fff;--ochat-focus:#245bd6;--ochat-control-border:#77808f;--ochat-code-bg:#171b23;--ochat-code-ink:#edf0f7;--ochat-code-muted:#b6bfce;--ochat-code-line:#3a4353;--ochat-code-focus:#91b3ff;--ochat-wordmark-weight:750;--ochat-wordmark-tracking:-.055em;--ochat-font:"Manrope Variable", sans-serif;--ochat-mono:"IBM Plex Mono", monospace;--ochat-space-1:.25rem;--ochat-space-2:.5rem;--ochat-space-3:.75rem;--ochat-space-4:1rem;--ochat-space-6:1.5rem;--ochat-space-8:2rem;--ochat-radius-control:.5rem;--ochat-radius-panel:.75rem}:root[data-theme=dark]{--ochat-bg:#12151b;--ochat-panel:#1b2029;--ochat-ink:#edf0f7;--ochat-muted:#b2bac8;--ochat-line:#303744;--ochat-accent:#91b3ff;--ochat-accent-soft:#202f4d;--ochat-on-accent:#122346;--ochat-focus:#a8c5ff;--ochat-control-border:#8995a9}@media (forced-colors:active){:root{--ochat-focus:Highlight;--ochat-control-border:ButtonText}}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2)format("woff2-variations");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:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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}:root,:root[data-theme=light]{--sl-font:var(--ochat-font);--sl-font-mono:var(--ochat-mono);--sl-color-accent-low:var(--ochat-accent-soft);--sl-color-accent:var(--ochat-accent);--sl-color-accent-high:var(--ochat-accent);--sl-color-text-accent:var(--ochat-accent);--sl-color-text:var(--ochat-ink);--sl-color-text-invert:var(--ochat-on-accent);--sl-color-white:var(--ochat-ink);--sl-color-black:var(--ochat-bg);--sl-color-gray-1:var(--ochat-ink);--sl-color-gray-2:var(--ochat-muted);--sl-color-gray-3:var(--ochat-muted);--sl-color-gray-4:var(--ochat-control-border);--sl-color-gray-5:var(--ochat-line);--sl-color-gray-6:var(--ochat-panel);--sl-color-bg:var(--ochat-bg);--sl-color-bg-nav:var(--ochat-bg);--sl-color-bg-sidebar:var(--ochat-bg);--sl-content-width:47rem;--sl-text-h1:2.7rem;--sl-nav-height:4.5rem;--sl-menu-button-size:max(2rem, 44px);--sl-line-height:1.8;--sl-sidebar-width:17rem}:focus-visible{outline:3px solid var(--ochat-focus);outline-offset:4px}.sl-markdown-content{overflow-wrap:anywhere}.sl-markdown-content table{max-width:100%;font-size:.86rem;display:block;overflow-x:auto}.sl-markdown-content h2{letter-spacing:-.025em}.sl-markdown-content pre{overflow-x:auto}.sl-markdown-content img{border-radius:.5rem;max-width:100%;height:auto}.sl-markdown-content a{text-underline-offset:.2em}.sl-markdown-content :is(h1,h2,h3,h4,a[id]){scroll-margin-top:8rem}.sl-markdown-content a[id]{display:block}.sl-markdown-content kbd{border:1px solid var(--sl-color-gray-5);border-bottom-width:2px;border-radius:4px;padding:.12em .35em;font-size:.85em}h1{letter-spacing:-.04em}header.header{border-bottom:1px solid var(--sl-color-gray-5)}[aria-current=page]{font-weight:650}::selection{background:var(--ochat-accent-soft);color:var(--ochat-ink)}@media (width<=50rem){:root{--sl-text-h1:2.15rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=71.999rem){.main-frame{padding-top:var(--sl-nav-height)}mobile-starlight-toc nav{position:static}mobile-starlight-toc summary{height:auto;min-height:var(--sl-mobile-toc-height)}mobile-starlight-toc .dropdown{max-height:none;box-shadow:none}}.expressive-code pre:focus-visible{outline:3px solid var(--ochat-focus);outline-offset:-3px}.theme-control select,site-search button[data-open-modal],mobile-starlight-toc .toggle{border-color:var(--ochat-control-border)}.sl-menu-button,site-search button[data-open-modal]{min-width:44px;min-height:44px}:where(a,button,select,summary,pre,table){scroll-margin-block:calc(var(--sl-nav-height) + 1rem) 1rem}.sl-markdown-content .table-scroll{max-width:100%;overflow-x:auto}.sl-markdown-content .table-scroll table{margin:0;overflow:visible}.table-scroll:focus-visible{outline-offset:-3px}.sl-markdown-content .table-scroll table{width:max-content;min-width:100%;max-width:none;display:table}.sl-markdown-content .table-scroll :is(th,td){max-width:40ch}.sidebar-content a[aria-current=page]{color:var(--ochat-accent);background:var(--ochat-accent-soft);border-radius:6px}.sidebar-content summary{font-size:.875rem}.sidebar-content a{padding-block:.4rem;font-size:.84rem}.sl-markdown-content h2{margin-top:2.6rem;font-weight:650}.sl-markdown-content :is(h3,h4){font-weight:650}.lesson-jump{margin:0 0 1.5rem;font-size:.85rem}.lesson-jump:empty{display:none}.lesson-jump a{color:var(--ochat-accent);text-underline-offset:.2em}#lesson-resources{scroll-margin-top:6rem}#lesson-resources:has(.tutorial-record,.tutorial-sources){border-top:1px solid var(--ochat-line);margin-top:3rem;padding-top:2rem}@layer starlight.base{:root,::backdrop{--sl-color-white:#fff;--sl-color-gray-1:#edeef3;--sl-color-gray-2:#c1c3c8;--sl-color-gray-3:#888c96;--sl-color-gray-4:#555962;--sl-color-gray-5:#353841;--sl-color-gray-6:#23262f;--sl-color-black:#17181c;--sl-hue-orange:41;--sl-color-orange-low:hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange:hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high:hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green:101;--sl-color-green-low:hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high:hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue:234;--sl-color-blue-low:hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue:hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple:281;--sl-color-purple-low:hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple:hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red:339;--sl-color-red-low:hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red:hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high:hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low:#17264f;--sl-color-accent:#3369ff;--sl-color-accent-high:#b3c7ff;--sl-color-text:var(--sl-color-gray-2);--sl-color-text-accent:var(--sl-color-accent-high);--sl-color-text-invert:var(--sl-color-accent-low);--sl-color-bg:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-6);--sl-color-bg-sidebar:var(--sl-color-gray-6);--sl-color-bg-inline-code:var(--sl-color-gray-5);--sl-color-bg-accent:var(--sl-color-accent-high);--sl-color-hairline-light:var(--sl-color-gray-5);--sl-color-hairline:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-black);--sl-color-backdrop-overlay:#16181da8;--sl-shadow-sm:0px 1px 1px #0000001f, 0px 2px 1px #0000003d;--sl-shadow-md:0px 8px 4px #00000014, 0px 5px 2px #00000014, 0px 3px 2px #0000001f, 0px 1px 1px #00000026;--sl-shadow-lg:0px 25px 7px #00000008, 0px 16px 6px #0000001a, 0px 9px 5px #16181d54, 0px 4px 4px #000000bf, 0px 4px 2px #00000040;--sl-text-2xs:.75rem;--sl-text-xs:.8125rem;--sl-text-sm:.875rem;--sl-text-base:1rem;--sl-text-lg:1.125rem;--sl-text-xl:1.25rem;--sl-text-2xl:1.5rem;--sl-text-3xl:1.8125rem;--sl-text-4xl:2.1875rem;--sl-text-5xl:2.625rem;--sl-text-6xl:4rem;--sl-text-body:var(--sl-text-base);--sl-text-body-sm:var(--sl-text-xs);--sl-text-code:var(--sl-text-sm);--sl-text-code-sm:var(--sl-text-xs);--sl-text-h1:var(--sl-text-4xl);--sl-text-h2:var(--sl-text-3xl);--sl-text-h3:var(--sl-text-2xl);--sl-text-h4:var(--sl-text-xl);--sl-text-h5:var(--sl-text-lg);--sl-line-height:1.75;--sl-line-height-headings:1.2;--sl-font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font:var(--sl-font,var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono:var(--sl-font-mono,var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height:3.5rem;--sl-nav-pad-x:1rem;--sl-nav-pad-y:.75rem;--sl-mobile-toc-height:3rem;--sl-sidebar-width:18.75rem;--sl-sidebar-pad-x:1rem;--sl-content-width:45rem;--sl-content-pad-x:1rem;--sl-content-gap-y:1rem;--sl-main-pad:0 0 3vh 0;--sl-menu-button-size:2rem;--sl-nav-gap:var(--sl-content-pad-x);--sl-outline-offset-inside:-.1875rem;--sl-z-index-toc:4;--sl-z-index-menu:5;--sl-z-index-navbar:10;--sl-z-index-skiplink:20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white:#17181c;--sl-color-gray-1:#23262f;--sl-color-gray-2:#353841;--sl-color-gray-3:#555962;--sl-color-gray-4:#888c96;--sl-color-gray-5:#c1c3c8;--sl-color-gray-6:#edeef3;--sl-color-gray-7:#f6f7f9;--sl-color-black:#fff;--sl-color-orange-high:hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange:hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low:hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high:hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green:hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low:hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high:hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue:hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low:hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high:hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple:hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low:hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high:hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red:hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low:hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high:#0f1c8a;--sl-color-accent:#3d50f5;--sl-color-accent-low:#cfd4fc;--sl-color-text-accent:var(--sl-color-accent);--sl-color-text-invert:var(--sl-color-black);--sl-color-bg-nav:var(--sl-color-gray-7);--sl-color-bg-sidebar:var(--sl-color-bg);--sl-color-bg-inline-code:var(--sl-color-gray-6);--sl-color-bg-accent:var(--sl-color-accent);--sl-color-hairline-light:var(--sl-color-gray-6);--sl-color-hairline-shade:var(--sl-color-gray-6);--sl-color-backdrop-overlay:#545864a8;--sl-shadow-sm:0px 1px 1px #0000000f, 0px 2px 1px #0000000f;--sl-shadow-md:0px 8px 4px #00000008, 0px 5px 2px #00000008, 0px 3px 2px #0000000f, 0px 1px 1px #0000000f;--sl-shadow-lg:0px 25px 7px #00000003, 0px 16px 6px #00000008, 0px 9px 5px #16181d14, 0px 4px 4px #00000029, 0px 4px 2px #0000000a}@media (width>=50em){:root{--sl-nav-height:4rem;--sl-nav-pad-x:1.5rem;--sl-text-h1:var(--sl-text-5xl);--sl-text-h2:var(--sl-text-4xl);--sl-text-h3:var(--sl-text-3xl);--sl-text-h4:var(--sl-text-2xl)}}@media (width>=72rem){:root{--sl-content-pad-x:1.5rem;--sl-mobile-toc-height:0rem}}}@layer starlight.reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent);-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}[lang]:where(:lang(zh),:lang(ja)){text-autospace:normal}[lang]:where(:not(:lang(zh),:lang(ja))){text-autospace:initial}pre,code,samp,kbd{text-autospace:no-autospace}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.core{.sl-banner:where(.astro-ofbg3qve){--__sl-banner-text:var(--sl-color-banner-text,var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg,var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-ofbg3qve) a{color:var(--__sl-banner-text)}.content-panel:where(.astro-a7po4psb){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-a7po4psb)+.content-panel:where(.astro-a7po4psb){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-a7po4psb){max-width:var(--sl-content-width)}.sl-container:where(.astro-a7po4psb)>*+*{margin-top:1.5rem}@media (width>=72rem){.sl-container:where(.astro-a7po4psb){margin-inline:var(--sl-content-margin-inline,auto)}}p:where(.astro-gsljcgkv){border:1px solid var(--sl-color-orange);background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings);text-align:start;align-items:center;gap:.75em;padding:.75em 1em}a:where(.astro-qlekgd3o){color:var(--sl-color-gray-3);align-items:center;gap:.5rem;text-decoration:none}a:where(.astro-qlekgd3o):hover{color:var(--sl-color-white)}.pagination-links:where(.astro-b5raizh3){grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem;display:grid}a:where(.astro-b5raizh3){border:1px solid var(--sl-color-gray-5);width:100%;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere;border-radius:.5rem;flex-grow:1;flex-basis:calc(50% - .5rem);justify-content:flex-start;align-items:center;gap:.5rem;padding:1rem;text-decoration:none;display:flex}:where(.astro-b5raizh3)[rel=next]{text-align:end;flex-direction:row-reverse;justify-content:end}a:where(.astro-b5raizh3):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-b5raizh3){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-b5raizh3){flex-shrink:0}footer:where(.astro-ddtxxk7k){flex-direction:column;gap:1.5rem}.meta:where(.astro-ddtxxk7k){font-size:var(--sl-text-sm);color:var(--sl-color-gray-3);flex-wrap:wrap;justify-content:space-between;gap:.75rem 3rem;margin-top:3rem}.meta:where(.astro-ddtxxk7k)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-ddtxxk7k){font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);align-items:center;gap:.5em;margin:1.5rem auto;text-decoration:none}.kudos:where(.astro-ddtxxk7k):hover{color:var(--sl-color-white)}.hero:where(.astro-2qjbuh7f){grid-template-columns:100%;align-items:center;gap:1rem;padding-bottom:1rem;display:grid}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-2qjbuh7f){text-align:center;flex-direction:column;gap:clamp(1.5rem,1.5rem + 1vw,2rem)}.copy:where(.astro-2qjbuh7f){flex-direction:column;align-items:center;gap:1rem}.copy:where(.astro-2qjbuh7f)>:where(.astro-2qjbuh7f){max-width:50ch}h1:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-3xl), calc(.25rem + 5vw), var(--sl-text-6xl));line-height:var(--sl-line-height-headings);color:var(--sl-color-white);font-weight:600}.tagline:where(.astro-2qjbuh7f){font-size:clamp(var(--sl-text-base), calc(.0625rem + 2vw), var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-2qjbuh7f){flex-wrap:wrap;justify-content:center;gap:1rem 2rem}@media (width>=50rem){.hero:where(.astro-2qjbuh7f){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,1rem + 10vmin,10rem)}.hero:where(.astro-2qjbuh7f)>img:where(.astro-2qjbuh7f),.hero:where(.astro-2qjbuh7f)>.hero-html:where(.astro-2qjbuh7f){order:2;width:min(100%,25rem)}.stack:where(.astro-2qjbuh7f){text-align:start}.copy:where(.astro-2qjbuh7f){align-items:flex-start}.actions:where(.astro-2qjbuh7f){justify-content:flex-start}}button:where(.astro-r2osgdlg){top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);z-index:var(--sl-z-index-navbar);width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer;border:0;border-radius:50%;padding:.5rem;position:fixed;inset-inline-end:var(--sl-nav-pad-x)}button:where(.astro-r2osgdlg):has(~:popover-open){background-color:var(--sl-color-gray-2);box-shadow:none}button:where(.astro-r2osgdlg):has(~:popover-open) .open-menu:where(.astro-r2osgdlg){display:none}button:where(.astro-r2osgdlg):not(:has(~:popover-open)) .close-menu:where(.astro-r2osgdlg){display:none}[data-theme=light] button:where(.astro-r2osgdlg){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] button:where(.astro-r2osgdlg):has(~:popover-open){background-color:var(--sl-color-gray-5)}body:has(#starlight__sidebar:popover-open){overflow:hidden}@media (width>=50rem){body:has(#starlight__sidebar:popover-open){overflow:auto}}.page:where(.astro-yntsjkba){flex-direction:column;min-height:100vh}.header:where(.astro-yntsjkba){z-index:var(--sl-z-index-navbar);width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav);padding-inline-end:var(--sl-nav-pad-x);position:fixed;inset-block-start:0;inset-inline-start:0}[data-has-sidebar] .header:where(.astro-yntsjkba){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-yntsjkba){border:unset;padding:unset;height:unset;color:unset;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;background-color:var(--sl-color-black);scrollbar-gutter:stable;width:100%;position:fixed;inset-inline-start:0;overflow-y:auto}.sidebar-content:where(.astro-yntsjkba){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media (width>=50rem){.sidebar-content:where(.astro-yntsjkba):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-yntsjkba){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media (width>=50rem){[data-has-sidebar] .header:where(.astro-yntsjkba){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-yntsjkba){width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade);display:block}}ul:where(.astro-jugkfwgx){padding:0;list-style:none}a:where(.astro-jugkfwgx){--pad-inline:.5rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);border-radius:.25rem;line-height:1.25;display:block}a:where(.astro-jugkfwgx)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx){--pad-inline:1rem;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);color:var(--sl-color-text);font-size:var(--sl-text-sm);outline-offset:var(--sl-outline-offset-inside);border-radius:0;padding-block:.5rem;text-decoration:none;display:flex}.isMobile:where(.astro-jugkfwgx):first-child>li:where(.astro-jugkfwgx):first-child>a:where(.astro-jugkfwgx){border-top:0}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true],.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:hover,.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-jugkfwgx) a:where(.astro-jugkfwgx)[aria-current=true]:after{content:"";background-color:var(--sl-color-text-accent);flex-shrink:0;width:1rem;-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}nav:where(.astro-66cqc7ze){z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav);position:fixed;inset-inline:0}@media (width>=50rem){nav:where(.astro-66cqc7ze){inset-inline-start:var(--sl-content-inline-start,0)}}summary:where(.astro-66cqc7ze){height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside);align-items:center;gap:.5rem;padding:.5rem 1rem}summary:where(.astro-66cqc7ze)::marker,summary:where(.astro-66cqc7ze)::-webkit-details-marker{display:none}.toggle:where(.astro-66cqc7ze){border:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-black);user-select:none;cursor:pointer;border-radius:.5rem;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding-block:.5rem;padding-inline:.75rem .5rem;line-height:1}details:where(.astro-66cqc7ze)[open] .toggle:where(.astro-66cqc7ze){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-66cqc7ze) .toggle:where(.astro-66cqc7ze):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-66cqc7ze){transform:rotate(180deg)}details:where(.astro-66cqc7ze)[open] .caret:where(.astro-66cqc7ze){transform:rotate(90deg)}.display-current:where(.astro-66cqc7ze){white-space:nowrap;text-overflow:ellipsis;color:var(--sl-color-white);overflow:hidden}.dropdown:where(.astro-66cqc7ze){--border-top:1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain;overflow-y:auto}.right-sidebar-panel:where(.astro-qok35upx){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-qok35upx){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-qok35upx) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-qok35upx) :where(a){font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);overflow-wrap:anywhere;text-decoration:none;display:block}.right-sidebar-panel:where(.astro-qok35upx) :where(a):hover{color:var(--sl-color-white)}@media (width>=72rem){.sl-container:where(.astro-qok35upx){max-width:calc(( ( 100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x) ) * .25  ))}}h1:where(.astro-bebwqqxs){font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);color:var(--sl-color-white);margin-top:1rem;font-weight:600}label:where(.astro-2z5xp7gb){--sl-label-icon-size:.875rem;--sl-caret-size:1.25rem;--sl-inline-padding:.5rem;color:var(--sl-color-gray-2);align-items:center;gap:.25rem;display:flex;position:relative}label:where(.astro-2z5xp7gb):hover{color:var(--sl-color-white)}.icon:where(.astro-2z5xp7gb){pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}select:where(.astro-2z5xp7gb){padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none;background-color:#0000;border:0}option:where(.astro-2z5xp7gb){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media (width>=50rem){select:where(.astro-2z5xp7gb){font-size:var(--sl-text-sm)}}a:where(.astro-n2mnl6yq){color:var(--sl-color-text-accent);margin:-.5em;padding:.5em}a:where(.astro-n2mnl6yq):hover{color:var(--sl-color-white)}.social-icons:where(.astro-p4azlveh){align-items:center;gap:1rem;margin-inline-end:auto;padding-block:1rem;display:flex}.social-icons:where(.astro-p4azlveh):empty{display:none}.mobile-preferences:where(.astro-p4azlveh){border-top:1px solid var(--sl-color-gray-6);flex-wrap:wrap;justify-content:space-between;column-gap:1rem;padding:.5rem 0}sl-sidebar-state-persist:where(.astro-ipdry5cl){display:contents}ul:where(.astro-rmhv4bp6){--sl-sidebar-item-padding-inline:.5rem;padding:0;list-style:none}li:where(.astro-rmhv4bp6){overflow-wrap:anywhere}ul:where(.astro-rmhv4bp6) ul:where(.astro-rmhv4bp6) li:where(.astro-rmhv4bp6){border-inline-start:1px solid var(--sl-color-hairline-light);margin-inline-start:var(--sl-sidebar-item-padding-inline);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-rmhv4bp6){font-size:var(--sl-text-lg);color:var(--sl-color-white);font-weight:600}.top-level:where(.astro-rmhv4bp6)>li:where(.astro-rmhv4bp6)+li:where(.astro-rmhv4bp6){margin-top:.75rem}summary:where(.astro-rmhv4bp6){padding:.2em var(--sl-sidebar-item-padding-inline);cursor:pointer;user-select:none;justify-content:space-between;align-items:center;line-height:1.4;display:flex}summary:where(.astro-rmhv4bp6)::marker,summary:where(.astro-rmhv4bp6)::-webkit-details-marker{display:none}.caret:where(.astro-rmhv4bp6){flex-shrink:0;transition:transform .2s ease-in-out}[dir=rtl] .caret:where(.astro-rmhv4bp6){transform:rotate(180deg)}:where(.astro-rmhv4bp6)[open]>summary:where(.astro-rmhv4bp6) .caret:where(.astro-rmhv4bp6){transform:rotate(90deg)}a:where(.astro-rmhv4bp6){color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);border-radius:.25rem;line-height:1.4;text-decoration:none;display:block}a:where(.astro-rmhv4bp6):hover,a:where(.astro-rmhv4bp6):focus{color:var(--sl-color-white)}:where(.astro-rmhv4bp6)[aria-current=page],:where(.astro-rmhv4bp6)[aria-current=page]:hover,:where(.astro-rmhv4bp6)[aria-current=page]:focus{color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);font-weight:600}a:where(.astro-rmhv4bp6)>:where(.astro-rmhv4bp6):not(:last-child),.group-label:where(.astro-rmhv4bp6)>:where(.astro-rmhv4bp6):not(:last-child){margin-inline-end:.25em}@media (width>=50rem){.top-level:where(.astro-rmhv4bp6)>li:where(.astro-rmhv4bp6)+li:where(.astro-rmhv4bp6){margin-top:.5rem}.large:where(.astro-rmhv4bp6){font-size:var(--sl-text-base)}a:where(.astro-rmhv4bp6){font-size:var(--sl-text-sm)}}a:where(.astro-qb7clj6f){clip:rect(0, 0, 0, 0);top:.75rem;position:fixed;inset-inline-start:.75rem}a:where(.astro-qb7clj6f):focus{clip:unset;z-index:var(--sl-z-index-skiplink);color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg);padding:.5rem 1rem;text-decoration:none;display:block}.main-pane:where(.astro-lrzkfocr){isolation:isolate}@media (width>=72rem){.right-sidebar-container:where(.astro-lrzkfocr){width:max(var(--sl-sidebar-width), calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:2;position:relative}.right-sidebar:where(.astro-lrzkfocr){border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);scrollbar-width:none;width:100%;height:100vh;position:fixed;top:0;overflow-y:auto}.main-pane:where(.astro-lrzkfocr){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-lrzkfocr){--sl-content-margin-inline:auto 0;width:min(calc(100% - var(--sl-sidebar-width)), calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2));order:1}}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size:.8275em;--sl-anchor-icon-gap:.25em;--sl-anchor-icon-space:calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content .sl-heading-wrapper:has(>:first-child:is(.sr-only,[hidden])){display:contents}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+.sl-heading-wrapper{margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child:not([hidden]){padding-inline-end:var(--sl-anchor-icon-space);display:inline}.sl-markdown-content .sl-anchor-link{-webkit-user-select:none;user-select:none;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));display:inline-flex;position:relative}.sl-markdown-content .sl-heading-wrapper:has(>:first-child:is(.sr-only,[hidden]))>.sl-anchor-link{display:none}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2));display:inline}@media (hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)),.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content :is(ol,ul):has(>li>:not(a,strong,em,del,span,input,code,br,script,ol,ul))>li>:is(:last-child:not(a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){max-width:100%;height:auto;display:block}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);font-size:var(--sl-text-code-sm);margin-block:-.125rem;padding:.125rem .375rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);font-size:var(--sl-text-code);tab-size:2;padding:.75rem 1rem}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){border-spacing:0;display:block;overflow:auto}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);vertical-align:baseline;padding:.5rem 1rem}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)
	){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 30%, transparent)}}@supports (border-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)
	){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb, var(--sl-color-asides-text-accent) 12%, transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-gray-5);--sl-details-border-color--hover:var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;margin-inline-start:-.5rem;padding-inline-start:.5rem;font-weight:600;display:block}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size:1.25rem;content:"";height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media (prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color:var(--sl-color-asides-border);--sl-details-border-color--hover:var(--sl-color-asides-text-accent)}}@layer starlight.components{.starlight-aside{border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white);padding:1rem}.starlight-aside--note{--sl-color-asides-text-accent:var(--sl-color-blue-high);--sl-color-asides-border:var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent:var(--sl-color-purple-high);--sl-color-asides-border:var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent:var(--sl-color-orange-high);--sl-color-asides-border:var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent:var(--sl-color-red-high);--sl-color-asides-border:var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent);align-items:center;gap:.5rem;display:flex}.starlight-aside__icon{width:1em;height:1em;font-size:1.333em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content:empty{display:none}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}svg:where(.astro-hkc32dio){color:var(--sl-icon-color);font-size:var(--sl-icon-size,1em);width:1em;height:1em}:root{--sl-badge-default-border:var(--sl-color-accent);--sl-badge-default-bg:var(--sl-color-accent-low);--sl-badge-default-text:#fff;--sl-badge-note-border:var(--sl-color-blue);--sl-badge-note-bg:var(--sl-color-blue-low);--sl-badge-note-text:#fff;--sl-badge-danger-border:var(--sl-color-red);--sl-badge-danger-bg:var(--sl-color-red-low);--sl-badge-danger-text:#fff;--sl-badge-success-border:var(--sl-color-green);--sl-badge-success-bg:var(--sl-color-green-low);--sl-badge-success-text:#fff;--sl-badge-caution-border:var(--sl-color-orange);--sl-badge-caution-bg:var(--sl-color-orange-low);--sl-badge-caution-text:#fff;--sl-badge-tip-border:var(--sl-color-purple);--sl-badge-tip-bg:var(--sl-color-purple-low);--sl-badge-tip-text:#fff}[data-theme=light]:root{--sl-badge-default-bg:var(--sl-color-accent-high);--sl-badge-note-bg:var(--sl-color-blue-high);--sl-badge-danger-bg:var(--sl-color-red-high);--sl-badge-success-bg:var(--sl-color-green-high);--sl-badge-caution-bg:var(--sl-color-orange-high);--sl-badge-tip-bg:var(--sl-color-purple-high)}.sl-badge:where(.astro-f4zorn72){border:1px solid var(--sl-color-border-badge);font-family:var(--sl-font-system-mono);color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere;border-radius:.25rem;line-height:normal;display:inline-block}.sidebar-content .sl-badge:where(.astro-f4zorn72){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-f4zorn72){--sl-color-bg-badge:transparent;--sl-color-border-badge:currentColor;color:inherit}.default:where(.astro-f4zorn72){--sl-color-bg-badge:var(--sl-badge-default-bg);--sl-color-border-badge:var(--sl-badge-default-border);--sl-color-text-badge:var(--sl-badge-default-text)}.note:where(.astro-f4zorn72){--sl-color-bg-badge:var(--sl-badge-note-bg);--sl-color-border-badge:var(--sl-badge-note-border);--sl-color-text-badge:var(--sl-badge-note-text)}.danger:where(.astro-f4zorn72){--sl-color-bg-badge:var(--sl-badge-danger-bg);--sl-color-border-badge:var(--sl-badge-danger-border);--sl-color-text-badge:var(--sl-badge-danger-text)}.success:where(.astro-f4zorn72){--sl-color-bg-badge:var(--sl-badge-success-bg);--sl-color-border-badge:var(--sl-badge-success-border);--sl-color-text-badge:var(--sl-badge-success-text)}.tip:where(.astro-f4zorn72){--sl-color-bg-badge:var(--sl-badge-tip-bg);--sl-color-border-badge:var(--sl-badge-tip-border);--sl-color-text-badge:var(--sl-badge-tip-text)}.caution:where(.astro-f4zorn72){--sl-color-bg-badge:var(--sl-badge-caution-bg);--sl-color-border-badge:var(--sl-badge-caution-border);--sl-color-text-badge:var(--sl-badge-caution-text)}.small:where(.astro-f4zorn72){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-f4zorn72){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-f4zorn72){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-f4zorn72){vertical-align:middle}.sl-link-button:where(.astro-dcqstdaq){font-size:var(--sl-text-sm);outline-offset:.25rem;border:1px solid #0000;border-radius:999rem;align-items:center;gap:.5em;padding:.4375rem 1.125rem;line-height:1.1875;text-decoration:none;display:inline-flex}.sl-link-button:where(.astro-dcqstdaq).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-dcqstdaq).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-dcqstdaq).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-dcqstdaq).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-dcqstdaq) svg{flex-shrink:0}@media (width>=50rem){.sl-link-button:where(.astro-dcqstdaq){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-dcqstdaq){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-dcqstdaq):not(:where(p *)){margin-block:1rem}.kudos:where(.astro-ddtxxk7k) svg{color:var(--sl-color-orange)}.label-icon:where(.astro-2z5xp7gb){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-2z5xp7gb){font-size:var(--sl-caret-size);inset-inline-end:0}}@layer starlight.utils{.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media (width>=50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media (width>=72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:matrix(-1,0,0,1,0,0)}}.project-footer:where(.astro-pnsvry7h){border-top:1px solid var(--ochat-line);flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:2rem;padding-block:1.5rem;font-size:.8rem;display:flex}.project-footer:where(.astro-pnsvry7h) a:where(.astro-pnsvry7h){color:var(--ochat-muted);text-underline-offset:.22em;padding-block:.4rem}.wordmark:where(.astro-nuo4knff){color:var(--sl-color-white);font:var(--ochat-wordmark-weight) 1.65rem var(--sl-font);letter-spacing:var(--ochat-wordmark-tracking);align-items:center;gap:.65rem;text-decoration:none;display:flex}.wordmark:where(.astro-nuo4knff) svg{color:var(--sl-color-text-accent)}.theme-control:where(.astro-phv4pw7f) select:where(.astro-phv4pw7f){font:inherit;border:1px solid var(--ochat-control-border);border-radius:var(--ochat-radius-control);background:var(--sl-color-bg);color:var(--sl-color-white);padding:.35rem;font-size:.8rem}.sr-only:where(.astro-phv4pw7f){clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.docs-header:where(.astro-7brhdtrj){align-items:center;gap:2rem;min-width:0;height:100%;display:flex}nav:where(.astro-7brhdtrj){gap:1.5rem;margin-inline:auto;display:flex}a:where(.astro-7brhdtrj){color:var(--ochat-muted);font-size:.85rem;font-weight:600;text-decoration:none}a:where(.astro-7brhdtrj):hover{color:var(--ochat-accent)}.actions:where(.astro-7brhdtrj),.desktop-actions:where(.astro-7brhdtrj){align-items:center;gap:1rem;display:flex}@media (width<=65rem){nav:where(.astro-7brhdtrj){display:none}.actions:where(.astro-7brhdtrj){margin-left:auto}}@media (width<=49.99rem){.desktop-actions:where(.astro-7brhdtrj){display:none}.docs-header:where(.astro-7brhdtrj){gap:1rem}}.application-gallery:where(.astro-iuczhbt5){margin-block:2rem}.gallery-filters:where(.astro-iuczhbt5){grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr));gap:.5rem;display:grid}.gallery-filters:where(.astro-iuczhbt5)[hidden]{visibility:hidden;display:grid}.gallery-count:where(.astro-iuczhbt5)[hidden]{visibility:hidden;display:block}article:where(.astro-iuczhbt5)[hidden]{display:none}.gallery-filters:where(.astro-iuczhbt5) button:where(.astro-iuczhbt5){font:inherit;overflow-wrap:anywhere;border:1px solid var(--ochat-control-border);background:var(--ochat-bg);min-width:0;min-height:44px;color:var(--ochat-ink);cursor:pointer;border-radius:2rem;padding:.6rem .4rem;font-size:.8rem}.gallery-filters:where(.astro-iuczhbt5) button:where(.astro-iuczhbt5)[aria-pressed=true]{background:var(--ochat-accent-soft);color:var(--ochat-accent);border-color:var(--ochat-accent)}.gallery-count:where(.astro-iuczhbt5){color:var(--ochat-muted);margin:1rem 0;font-size:.8rem}.application-grid:where(.astro-iuczhbt5){grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}article:where(.astro-iuczhbt5){border:1px solid var(--ochat-line);background:var(--ochat-bg);border-radius:12px;flex-direction:column;min-width:0;padding:1.3rem;transition:border-color .15s;display:flex}article:where(.astro-iuczhbt5):hover{border-color:var(--ochat-control-border)}.card-top:where(.astro-iuczhbt5){color:var(--ochat-accent);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.level:where(.astro-iuczhbt5){color:var(--ochat-muted);margin-left:auto}h3:where(.astro-iuczhbt5){margin:.9rem 0 .5rem;font-size:1.25rem;line-height:1.35}h3:where(.astro-iuczhbt5) a:where(.astro-iuczhbt5){color:var(--ochat-ink);text-decoration:none}article:where(.astro-iuczhbt5) p:where(.astro-iuczhbt5){color:var(--ochat-muted);margin:.5rem 0 1rem;font-size:.875rem;line-height:1.65}.artifact-preview:where(.astro-iuczhbt5){background:var(--ochat-panel);border-radius:6px;margin-top:auto;padding:1rem}.preview-label:where(.astro-iuczhbt5){color:var(--ochat-muted);margin-bottom:.7rem;font-size:.65rem;display:block}.preview-line:where(.astro-iuczhbt5){font:.7rem/1.9 var(--ochat-mono);overflow-wrap:anywhere;display:block}.preview-title:where(.astro-iuczhbt5){color:var(--ochat-accent)}.application-outcome:where(.astro-iuczhbt5) strong:where(.astro-iuczhbt5){color:var(--ochat-ink)}.application-outcome:where(.astro-iuczhbt5){padding-top:1rem}.explore-link:where(.astro-iuczhbt5){text-underline-offset:.25em;font-size:.85rem;font-weight:650}.catalog-link:where(.astro-iuczhbt5){margin-top:1.5rem;font-size:.85rem}a:where(.astro-iuczhbt5):focus-visible,button:where(.astro-iuczhbt5):focus-visible{outline:3px solid var(--ochat-focus);outline-offset:3px}@media (width<=42rem){.application-grid:where(.astro-iuczhbt5){grid-template-columns:1fr}.level:where(.astro-iuczhbt5){margin-left:0}}@media (prefers-reduced-motion:reduce){article:where(.astro-iuczhbt5){transition:none}}.application-intro:where(.astro-hypjsqpo){margin-bottom:2rem}.back:where(.astro-hypjsqpo){text-underline-offset:.25em;color:var(--ochat-accent);font-size:.8rem}.application-facts:where(.astro-hypjsqpo){grid-template-columns:1fr 1fr;gap:1rem;margin:1.3rem 0;display:grid}.application-facts:where(.astro-hypjsqpo) p:where(.astro-hypjsqpo){border:1px solid var(--ochat-line);border-radius:8px;margin:0;padding:1rem;font-size:.9rem;line-height:1.6}.application-facts:where(.astro-hypjsqpo) span:where(.astro-hypjsqpo){color:var(--ochat-muted);margin-bottom:.5rem;font-size:.7rem;display:block}.requirements:where(.astro-hypjsqpo){color:var(--ochat-muted);font-size:.8rem;line-height:1.7}.requirements:where(.astro-hypjsqpo) strong:where(.astro-hypjsqpo){color:var(--ochat-ink);margin-right:.5rem}.application-actions:where(.astro-hypjsqpo){flex-wrap:wrap;gap:.6rem 1.5rem;margin:1rem 0 1.5rem;display:flex}.application-actions:where(.astro-hypjsqpo) a:where(.astro-hypjsqpo){color:var(--ochat-accent);text-underline-offset:.25em;font-size:.8rem}.application-flow:where(.astro-hypjsqpo){background:var(--ochat-panel);border-radius:8px;padding:1rem}.illustration-label:where(.astro-hypjsqpo){color:var(--ochat-muted);font-size:.7rem}ol:where(.astro-hypjsqpo){counter-reset:step;gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}li:where(.astro-hypjsqpo){counter-increment:step;flex:1;font-size:.8rem;line-height:1.6}li:where(.astro-hypjsqpo):before{content:"0" counter(step);color:var(--ochat-accent);font-family:var(--ochat-mono);margin-bottom:.5rem;font-size:.65rem;display:block}a:where(.astro-hypjsqpo):focus-visible{outline:3px solid var(--ochat-focus);outline-offset:3px}@media (width<=35rem){.application-facts:where(.astro-hypjsqpo){grid-template-columns:1fr}ol:where(.astro-hypjsqpo){flex-direction:column}li:where(.astro-hypjsqpo):before{margin-right:.7rem;display:inline}}.tutorial-curriculum:where(.astro-dnqw2ksn){margin-block:2rem}.path-heading:where(.astro-dnqw2ksn) h2:where(.astro-dnqw2ksn){letter-spacing:-.03em;margin:2.5rem 0 .4rem;font-size:1.5rem}.path-heading:where(.astro-dnqw2ksn) p:where(.astro-dnqw2ksn){color:var(--ochat-muted);margin-bottom:1rem;font-size:.875rem}ol:where(.astro-dnqw2ksn){border:1px solid var(--ochat-line);border-radius:10px;padding:0;list-style:none;overflow:hidden}li:where(.astro-dnqw2ksn)+li:where(.astro-dnqw2ksn){border-top:1px solid var(--ochat-line)}a:where(.astro-dnqw2ksn){color:var(--ochat-ink);align-items:baseline;gap:1rem;padding:1.2rem;text-decoration:none;display:flex}a:where(.astro-dnqw2ksn):hover{background:var(--ochat-panel)}a:where(.astro-dnqw2ksn):focus-visible{outline:3px solid var(--ochat-focus);outline-offset:-3px}.lesson-number:where(.astro-dnqw2ksn){font:.7rem/1.6 var(--ochat-mono);color:var(--ochat-accent)}strong:where(.astro-dnqw2ksn){font-size:1rem}.outcome:where(.astro-dnqw2ksn),.prerequisite:where(.astro-dnqw2ksn){color:var(--ochat-muted);margin-top:.35rem;font-size:.85rem;line-height:1.7;display:block}.prerequisite:where(.astro-dnqw2ksn){font-size:.75rem}.arrow:where(.astro-dnqw2ksn){color:var(--ochat-accent);margin-left:auto}@media (width<=35rem){a:where(.astro-dnqw2ksn){gap:.6rem;padding:1rem}.arrow:where(.astro-dnqw2ksn){display:none}}.lesson-overview:where(.astro-5cqquig3){border-left:2px solid var(--ochat-accent);background:var(--ochat-panel);border-radius:0 6px 6px 0;margin-block:0 1.5rem;padding:1rem 1.2rem}.lesson-overview:where(.astro-5cqquig3) p:where(.astro-5cqquig3){color:var(--ochat-muted);margin:.5rem 0;font-size:.85rem;line-height:1.7}strong:where(.astro-5cqquig3){color:var(--ochat-ink);margin-right:.35rem}.curriculum-link:where(.astro-5cqquig3){color:var(--ochat-accent);text-underline-offset:.2em;font-size:.75rem}.lesson-next:where(.astro-5cqquig3){border:1px solid var(--ochat-line);border-radius:8px;margin-block:1.5rem;padding:1.2rem}.lesson-next:where(.astro-5cqquig3) p:where(.astro-5cqquig3){color:var(--ochat-muted);margin:0 0 .5rem;font-size:.75rem}.lesson-next:where(.astro-5cqquig3) a:where(.astro-5cqquig3){color:var(--ochat-accent);text-underline-offset:.2em;font-size:.9rem;line-height:1.6;display:block}.lesson-next:where(.astro-5cqquig3) .curriculum-link:where(.astro-5cqquig3){margin-top:.7rem;font-size:.75rem}a:where(.astro-5cqquig3):focus-visible{outline:3px solid var(--ochat-focus);outline-offset:3px}.documentation-paths:where(.astro-bzypajbw){grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}a:where(.astro-bzypajbw){border:1px solid var(--ochat-line);border-radius:var(--ochat-radius-panel);color:var(--ochat-ink);background:var(--ochat-panel);flex-direction:column;gap:.75rem;padding:1.25rem;text-decoration:none;display:flex}a:where(.astro-bzypajbw):hover{border-color:var(--ochat-accent)}a:where(.astro-bzypajbw):focus-visible{outline:3px solid var(--ochat-focus);outline-offset:3px}.path-label:where(.astro-bzypajbw){font-family:var(--ochat-mono);color:var(--ochat-muted);font-size:.7rem}.path-title:where(.astro-bzypajbw){justify-content:space-between;align-items:baseline;gap:.5rem;font-size:1.1rem;font-weight:750;line-height:1.4;display:flex}.path-title:where(.astro-bzypajbw) span:where(.astro-bzypajbw){flex-shrink:0}.path-description:where(.astro-bzypajbw){color:var(--ochat-muted);font-size:.875rem;line-height:1.65}@media (width<=40rem){.documentation-paths:where(.astro-bzypajbw){grid-template-columns:minmax(0,1fr)}}.capability-overview:where(.astro-ddahsx7e){border:1px solid var(--ochat-line);border-radius:var(--ochat-radius-panel);background:var(--ochat-panel);margin-block:1.5rem 2.5rem;padding:1.25rem}summary:where(.astro-ddahsx7e){cursor:pointer;font-size:1.1rem;font-weight:750}p:where(.astro-ddahsx7e){color:var(--ochat-muted);font-size:.875rem;line-height:1.65}ul:where(.astro-ddahsx7e){grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;padding:0;list-style:none;display:grid}li:where(.astro-ddahsx7e){border-top:1px solid var(--ochat-line);min-width:0;padding-top:1rem}li:where(.astro-ddahsx7e) p:where(.astro-ddahsx7e){margin-block:.5rem 0}a:where(.astro-ddahsx7e){color:var(--ochat-accent);text-underline-offset:.2em;overflow-wrap:anywhere}summary:where(.astro-ddahsx7e):focus-visible,a:where(.astro-ddahsx7e):focus-visible{outline:3px solid var(--ochat-focus);outline-offset:3px}.capability-example:where(.astro-ddahsx7e){font-style:italic}.capability-constraints:where(.astro-ddahsx7e) summary:where(.astro-ddahsx7e){color:var(--ochat-muted);padding-block:.3rem;font-size:.8rem;font-weight:500}.library-link:where(.astro-ddahsx7e){margin-top:1rem;display:inline-block}@media (width<=40rem){ul:where(.astro-ddahsx7e){grid-template-columns:minmax(0,1fr)}}.example-catalog:where(.astro-uh7loi6h){border-top:1px solid var(--sl-color-gray-5);margin-top:3rem;padding-top:2rem}.eyebrow:where(.astro-uh7loi6h),.example-kind:where(.astro-uh7loi6h){color:var(--sl-color-text-accent);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:700}h2:where(.astro-uh7loi6h){margin:.5rem 0 1rem;font-size:clamp(1.7rem,4vw,2.2rem);line-height:1.2}h3:where(.astro-uh7loi6h){margin:2rem 0 1rem;font-size:1.2rem}h4:where(.astro-uh7loi6h){margin:.55rem 0 .8rem;font-size:1.4rem;line-height:1.3}p:where(.astro-uh7loi6h){margin:.7rem 0}.catalog-jump:where(.astro-uh7loi6h){flex-wrap:wrap;gap:.5rem 1.3rem;margin:1.4rem 0;display:flex}a:where(.astro-uh7loi6h){color:var(--sl-color-text-accent);text-underline-offset:.2em}h2:where(.astro-uh7loi6h),h3:where(.astro-uh7loi6h),h4:where(.astro-uh7loi6h){color:var(--sl-color-white)}.example-grid:where(.astro-uh7loi6h){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.example-card:where(.astro-uh7loi6h):has(.example-source[open]){grid-column:1/-1}.example-card:where(.astro-uh7loi6h){border:1px solid var(--sl-color-gray-5);background:var(--sl-color-bg-sidebar);overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:1.25rem;font-size:.9rem}.capabilities:where(.astro-uh7loi6h){flex-wrap:wrap;gap:.4rem;padding:0;list-style:none;display:flex}.capabilities:where(.astro-uh7loi6h) li:where(.astro-uh7loi6h){border:1px solid var(--sl-color-gray-5);border-radius:1rem;padding:.2rem .55rem;font-size:.75rem}.requirements:where(.astro-uh7loi6h){padding-left:1.2rem;font-size:.85rem}.tutorial-link:where(.astro-uh7loi6h),.bundle-link:where(.astro-uh7loi6h){margin:1rem 0;font-weight:600;display:block}.bundle-link:where(.astro-uh7loi6h){border:1px solid var(--sl-color-gray-4);border-radius:6px;padding:.65rem .8rem}.bundle-link:where(.astro-uh7loi6h) span:where(.astro-uh7loi6h){font-size:.8rem;font-weight:400}.source-details:where(.astro-uh7loi6h){border-top:1px solid var(--sl-color-gray-5);margin-top:1rem;padding-top:.8rem}summary:where(.astro-uh7loi6h){cursor:pointer;min-height:2rem}.source-files:where(.astro-uh7loi6h){padding:0;list-style:none}.source-files:where(.astro-uh7loi6h) li:where(.astro-uh7loi6h){border-bottom:1px solid var(--sl-color-gray-5);padding:.8rem 0}.hash:where(.astro-uh7loi6h){overflow-wrap:anywhere;white-space:normal;margin-top:.4rem;font-size:.7rem;display:block}.verification-context:where(.astro-uh7loi6h){overflow-wrap:anywhere;font-size:.75rem}@media (width<=55rem){.example-grid:where(.astro-uh7loi6h){grid-template-columns:1fr}}.tutorial-record:where(.astro-lh4d63nw){overflow-wrap:anywhere;background:0 0;border:0;border-radius:6px;margin:0 0 2rem;padding:0;font-size:.85rem}.lesson:where(.astro-lh4d63nw){color:var(--sl-color-text-accent);margin:0;font-weight:700}.lesson:where(.astro-lh4d63nw) span:where(.astro-lh4d63nw){color:var(--sl-color-text);font-weight:400}.source-links:where(.astro-lh4d63nw){margin:.6rem 0}a:where(.astro-lh4d63nw){color:var(--sl-color-text-accent);text-underline-offset:.2em}details:where(.astro-lh4d63nw){margin-top:.7rem;font-size:.8rem}summary:where(.astro-lh4d63nw){cursor:pointer;min-height:1.8rem}details:where(.astro-lh4d63nw) p:where(.astro-lh4d63nw){margin:.7rem 0}code:where(.astro-lh4d63nw){white-space:normal;overflow-wrap:anywhere}ul:where(.astro-lh4d63nw){padding-left:1.2rem}.catalog-shortcuts{flex-wrap:wrap;gap:.7rem 1.5rem;margin:0 0 2rem;display:flex}.catalog-shortcuts a{color:var(--sl-color-text-accent);text-underline-offset:.2em;font-weight:600}.diagram-toggle{font:inherit;color:var(--ochat-ink);background:var(--ochat-panel);border:1px solid var(--ochat-control-border);cursor:pointer;border-radius:6px;margin-top:1rem;padding:.6rem 1rem}.ochat-diagram[hidden]{display:none}.ochat-diagram{border:1px solid var(--sl-color-gray-5);color:#20242c;background:#fff;border-radius:8px;height:32rem;max-height:70vh;margin:1.5rem 0;padding:1.2rem;overflow:auto}.ochat-diagram figcaption{margin-bottom:1rem;font-size:.75rem}.ochat-diagram svg{width:100%;min-width:36rem;height:auto;margin:auto;display:block}.section-label:where(.astro-5yrjbsqm){text-transform:none;letter-spacing:0;color:var(--sl-color-text-accent);font-size:.85rem;font-weight:700}.section-label:where(.astro-5yrjbsqm) span:where(.astro-5yrjbsqm){white-space:nowrap;border:1px solid var(--sl-color-gray-5);border-radius:4px;margin-inline-start:.8rem;padding:.25rem .5rem;display:inline-block}.article-description:where(.astro-5yrjbsqm){max-width:58ch;color:var(--sl-color-gray-2);margin-top:1rem;font-size:1.13rem;line-height:1.65}.source-link:where(.astro-5yrjbsqm){color:var(--sl-color-gray-2);text-underline-offset:.22em;overflow-wrap:anywhere;margin-top:1rem;font-size:.8rem;display:inline-block}html:not([data-has-toc]){--sl-mobile-toc-height:0rem}html:not([data-has-sidebar]){--sl-content-width:67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-g5ptsecz){padding:var(--sl-main-pad)}@media (width>=50em){:where(.astro-g5ptsecz)[data-has-sidebar]{--sl-content-inline-start:var(--sl-sidebar-width)}}@media (width>=72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}}
