.marketing-header:where(.astro-nwt5ur7d){position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--sl-color-bg);border-bottom:1px solid transparent;transition:border-color .25s ease}.marketing-header:where(.astro-nwt5ur7d).scrolled{border-bottom-color:var(--sl-color-hairline)}.marketing-header-inner:where(.astro-nwt5ur7d){max-width:1740px;margin:0 auto;display:flex;align-items:center;padding:.625rem clamp(1.25rem,4vw,2.5rem);gap:.5rem}.marketing-logo:where(.astro-nwt5ur7d){display:flex;align-items:center;text-decoration:none;flex-shrink:0}.marketing-logo:where(.astro-nwt5ur7d) img:where(.astro-nwt5ur7d){height:22px;width:auto}.logo-light:where(.astro-nwt5ur7d){display:none}:root[data-theme=light] .logo-dark:where(.astro-nwt5ur7d){display:none}:root[data-theme=light] .logo-light:where(.astro-nwt5ur7d){display:block}.marketing-nav:where(.astro-nwt5ur7d){display:none}@media(min-width:1024px){.marketing-nav:where(.astro-nwt5ur7d){display:flex;align-items:center;margin-right:auto}}.marketing-nav-list:where(.astro-nwt5ur7d){display:flex;align-items:center;gap:.25rem;list-style:none;padding:0;margin:0}.marketing-nav-item:where(.astro-nwt5ur7d){position:relative}.marketing-nav-link:where(.astro-nwt5ur7d){display:flex;align-items:center;gap:.25rem;padding:.45rem .7rem;font-size:.8125rem;font-weight:500;color:var(--sl-color-gray-2);text-decoration:none;border:none;background:none;cursor:pointer;border-radius:.375rem;transition:color .15s ease,background-color .15s ease;white-space:nowrap;font-family:var(--font-sans)}.marketing-nav-link:where(.astro-nwt5ur7d):hover,.marketing-nav-link:where(.astro-nwt5ur7d).active{color:var(--sl-color-white);background:color-mix(in oklch,var(--sl-color-white) 6%,transparent)}.chevron-icon:where(.astro-nwt5ur7d){transition:transform .2s ease}.has-mega-menu:where(.astro-nwt5ur7d):hover .chevron-icon:where(.astro-nwt5ur7d),.marketing-nav-link:where(.astro-nwt5ur7d)[aria-expanded=true] .chevron-icon:where(.astro-nwt5ur7d){transform:rotate(180deg)}@media(min-width:1024px){.has-mega-menu:where(.astro-nwt5ur7d):hover .mega-menu,.marketing-nav-link:where(.astro-nwt5ur7d)[aria-expanded=true]+.mega-menu{opacity:1;visibility:visible;pointer-events:auto}}.marketing-header-actions:where(.astro-nwt5ur7d){display:flex;align-items:center;gap:.75rem}.marketing-github-link:where(.astro-nwt5ur7d),.marketing-theme-toggle:where(.astro-nwt5ur7d){display:flex;align-items:center;justify-content:center;color:var(--sl-color-gray-3);transition:color .15s ease,background-color .15s ease;text-decoration:none;padding:.375rem;border:none;background:none;cursor:pointer;border-radius:.375rem;font-family:var(--font-sans)}.marketing-github-link:where(.astro-nwt5ur7d):hover,.marketing-theme-toggle:where(.astro-nwt5ur7d):hover{color:var(--sl-color-white);background:color-mix(in oklch,var(--sl-color-white) 5%,transparent)}.theme-icon-moon:where(.astro-nwt5ur7d){display:none}:root[data-theme=light] .theme-icon-sun:where(.astro-nwt5ur7d){display:none}:root[data-theme=light] .theme-icon-moon:where(.astro-nwt5ur7d){display:block}.marketing-docs-btn:where(.astro-nwt5ur7d){display:none;align-items:center;gap:.375rem;padding:.5rem .9rem;font-family:var(--font-sans);font-size:.8125rem;font-weight:600;letter-spacing:-.005em;color:var(--ink-950);background:var(--brand-500);border:1px solid var(--brand-500);border-radius:.375rem;text-decoration:none;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.marketing-docs-btn:where(.astro-nwt5ur7d):hover{background:var(--brand-400);border-color:var(--brand-400)}:root[data-theme=light] .marketing-docs-btn:where(.astro-nwt5ur7d){background:oklch(.42 .11 240);border-color:oklch(.42 .11 240);color:var(--paper-50)}:root[data-theme=light] .marketing-docs-btn:where(.astro-nwt5ur7d):hover{background:oklch(.36 .11 242);border-color:oklch(.36 .11 242)}@media(min-width:1024px){.marketing-docs-btn:where(.astro-nwt5ur7d){display:flex}}.marketing-docs-btn:where(.astro-nwt5ur7d).mobile{display:flex;width:fit-content}.marketing-hamburger:where(.astro-nwt5ur7d){display:flex;flex-direction:column;gap:4px;padding:.5rem;background:none;border:none;cursor:pointer}@media(min-width:1024px){.marketing-hamburger:where(.astro-nwt5ur7d){display:none}}.hamburger-line:where(.astro-nwt5ur7d){display:block;width:20px;height:2px;background:var(--sl-color-white);border-radius:1px;transition:transform .25s ease,opacity .25s ease}:root[data-theme=light] .hamburger-line:where(.astro-nwt5ur7d){background:var(--sl-color-white)}.marketing-hamburger:where(.astro-nwt5ur7d)[aria-expanded=true] .hamburger-line:where(.astro-nwt5ur7d):nth-child(1){transform:translateY(6px) rotate(45deg)}.marketing-hamburger:where(.astro-nwt5ur7d)[aria-expanded=true] .hamburger-line:where(.astro-nwt5ur7d):nth-child(2){opacity:0}.marketing-hamburger:where(.astro-nwt5ur7d)[aria-expanded=true] .hamburger-line:where(.astro-nwt5ur7d):nth-child(3){transform:translateY(-6px) rotate(-45deg)}.marketing-mobile-nav:where(.astro-nwt5ur7d){display:none;padding:1rem 1.5rem 1.5rem;border-top:1px solid color-mix(in oklch,var(--sl-color-white) 6%,transparent)}:root[data-theme=light] .marketing-mobile-nav:where(.astro-nwt5ur7d){border-top-color:color-mix(in oklch,var(--sl-color-white) 8%,transparent)}.marketing-mobile-nav:where(.astro-nwt5ur7d).is-open{display:block}@media(min-width:1024px){.marketing-mobile-nav:where(.astro-nwt5ur7d){display:none!important}}.mobile-nav-list:where(.astro-nwt5ur7d){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.mobile-nav-link:where(.astro-nwt5ur7d){display:flex;align-items:center;justify-content:space-between;padding:.75rem .5rem;font-size:1rem;font-weight:500;color:color-mix(in oklch,var(--sl-color-white) 80%,transparent);text-decoration:none;border:none;background:none;cursor:pointer;width:100%;text-align:left;font-family:inherit;border-radius:.5rem;transition:color .15s ease,background-color .15s ease}.mobile-nav-link:where(.astro-nwt5ur7d):hover,.mobile-nav-link:where(.astro-nwt5ur7d).active{color:var(--sl-color-white);background:color-mix(in oklch,var(--sl-color-white) 6%,transparent)}:root[data-theme=light] .mobile-nav-link:where(.astro-nwt5ur7d){color:color-mix(in oklch,var(--sl-color-white) 75%,transparent)}:root[data-theme=light] .mobile-nav-link:where(.astro-nwt5ur7d):hover,:root[data-theme=light] .mobile-nav-link:where(.astro-nwt5ur7d).active{color:var(--sl-color-white);background:color-mix(in oklch,var(--sl-color-white) 6%,transparent)}.mobile-accordion-panel:where(.astro-nwt5ur7d){list-style:none;padding:0 0 0 1rem;margin:0;display:none}.mobile-accordion-panel:where(.astro-nwt5ur7d).is-open{display:block}.mobile-accordion-trigger:where(.astro-nwt5ur7d) .chevron-icon:where(.astro-nwt5ur7d){transition:transform .2s ease}.mobile-accordion-trigger:where(.astro-nwt5ur7d)[aria-expanded=true] .chevron-icon:where(.astro-nwt5ur7d){transform:rotate(180deg)}.mobile-accordion-link:where(.astro-nwt5ur7d){display:block;padding:.5rem .75rem;font-size:.9rem;font-weight:400;color:color-mix(in oklch,var(--sl-color-white) 65%,transparent);text-decoration:none;border-radius:.375rem;transition:color .15s ease,background-color .15s ease}.mobile-accordion-link:where(.astro-nwt5ur7d):hover{color:var(--sl-color-white);background:color-mix(in oklch,var(--sl-color-white) 4%,transparent)}:root[data-theme=light] .mobile-accordion-link:where(.astro-nwt5ur7d){color:color-mix(in oklch,var(--sl-color-white) 60%,transparent)}:root[data-theme=light] .mobile-accordion-link:where(.astro-nwt5ur7d):hover{color:var(--sl-color-white);background:color-mix(in oklch,var(--sl-color-white) 4%,transparent)}.mobile-nav-cta:where(.astro-nwt5ur7d){margin-top:.75rem;padding-top:.75rem;border-top:1px solid color-mix(in oklch,var(--sl-color-white) 6%,transparent)}:root[data-theme=light] .mobile-nav-cta:where(.astro-nwt5ur7d){border-top-color:color-mix(in oklch,var(--sl-color-white) 8%,transparent)}.marketing-footer:where(.astro-cxmtfumq){position:relative;margin-top:5rem}.footer-divider:where(.astro-cxmtfumq){height:1px;background:var(--sl-color-hairline)}.footer-inner:where(.astro-cxmtfumq){max-width:1740px;margin:0 auto;padding:2.5rem clamp(1.25rem,4vw,2.5rem) 1.5rem}.footer-top:where(.astro-cxmtfumq){display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}@media(min-width:768px){.footer-top:where(.astro-cxmtfumq){grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:3rem}}.footer-brand:where(.astro-cxmtfumq){display:flex;flex-direction:column;gap:.625rem}.footer-logo:where(.astro-cxmtfumq){display:inline-flex;text-decoration:none}.footer-logo:where(.astro-cxmtfumq) img:where(.astro-cxmtfumq){height:20px;width:auto}.logo-light:where(.astro-cxmtfumq){display:none}:root[data-theme=light] .logo-dark:where(.astro-cxmtfumq){display:none}:root[data-theme=light] .logo-light:where(.astro-cxmtfumq){display:block}.footer-tagline:where(.astro-cxmtfumq){font-size:.8125rem;line-height:1.55;color:var(--sl-color-gray-3);max-width:22rem;margin:0}.footer-columns:where(.astro-cxmtfumq){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}@media(min-width:768px){.footer-columns:where(.astro-cxmtfumq){grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}}.footer-column-title:where(.astro-cxmtfumq){font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--sl-color-gray-3);margin:0 0 .75rem}.footer-column-list:where(.astro-cxmtfumq){list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}.footer-link:where(.astro-cxmtfumq){display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-sans);font-size:.8125rem;line-height:1.4;color:var(--sl-color-gray-2);text-decoration:none;transition:color .15s ease}.footer-link:where(.astro-cxmtfumq):hover{color:var(--brand-300)}:root[data-theme=light] .footer-link:where(.astro-cxmtfumq):hover{color:oklch(.42 .11 240)}.external-icon:where(.astro-cxmtfumq){opacity:.55;flex-shrink:0}.footer-bottom:where(.astro-cxmtfumq){display:flex;flex-direction:column;gap:.75rem;padding-top:1.25rem;border-top:1px solid var(--sl-color-hairline)}@media(min-width:768px){.footer-bottom:where(.astro-cxmtfumq){flex-direction:row;align-items:center;justify-content:space-between}}.footer-copyright:where(.astro-cxmtfumq){font-size:.75rem;color:var(--sl-color-gray-3)}.footer-copyright:where(.astro-cxmtfumq) a{color:var(--brand-300);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}.footer-copyright:where(.astro-cxmtfumq) a:hover{border-bottom-color:currentColor}:root[data-theme=light] .footer-copyright:where(.astro-cxmtfumq) a{color:oklch(.42 .11 240)}.footer-bottom-right:where(.astro-cxmtfumq){display:flex;align-items:center;gap:1rem}.footer-built-with:where(.astro-cxmtfumq){font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.04em;color:var(--sl-color-gray-3)}.footer-social:where(.astro-cxmtfumq){display:flex;align-items:center;gap:.25rem}.footer-social-link:where(.astro-cxmtfumq){display:flex;align-items:center;justify-content:center;padding:.375rem;color:var(--sl-color-gray-3);transition:color .15s ease;text-decoration:none;border-radius:.25rem}.footer-social-link:where(.astro-cxmtfumq):hover{color:var(--sl-color-white)}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-indigo-200:oklch(87% .065 274.039);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-gray-100:var(--color-zinc-100);--color-gray-200:var(--color-zinc-200);--color-gray-300:var(--color-zinc-300);--color-gray-400:var(--color-zinc-400);--color-gray-500:var(--color-zinc-500);--color-gray-600:var(--color-zinc-600);--color-gray-700:var(--color-zinc-700);--color-gray-800:var(--color-zinc-800);--color-gray-900:var(--color-zinc-900);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-4xl:56rem;--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-accent-200:var(--color-indigo-200);--color-accent-600:var(--color-indigo-600);--color-accent-900:var(--color-indigo-900);--color-accent-950:var(--color-indigo-950)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:after,:before{border:0 solid}html,:host{font-family:var(--font-sans)}code,kbd,samp,pre{font-family:var(--font-mono)}nav.sidebar details>summary{border-radius:.25rem;justify-content:space-between;align-items:center;gap:.5rem;transition:color .15s,background .15s;font-family:var(--font-sans)!important;color:var(--sl-color-gray-2)!important;text-transform:none!important;letter-spacing:normal!important;border:none!important;margin:0!important;padding:.4rem .75rem!important;font-size:.8125rem!important;font-weight:500!important;display:flex!important}:root{--text-h6:1.2rem;--text-h6-sm:1.08rem;--text-h5:1.44rem;--text-h5-sm:1.296rem;--text-h4:1.728rem;--text-h4-sm:1.5552rem;--text-h3:2.0736rem;--text-h3-sm:1.86624rem;--text-h2:2.48832rem;--text-h2-sm:2.23949rem;--text-h1:2.98598rem;--text-h1-sm:2.68739rem;--text-base:16px;--text-base-sm:12.8px;--font-primary:IBM Plex Sans, system-ui, -apple-system, Segoe UI, sans-serif;--font-display:Fraunces, Georgia, Cambria, Times, serif;--font-mono:JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, monospace;--color-primary:#5ca3ca;--color-primary-soft:#c9e1e5;--color-body:#0a0d12;--color-surface:#10141b;--color-elevated:#151a22;--color-hairline:#1e2531;--color-light:#eef2f6;--color-dark:#0a0d12;--color-text:#9aa4b2;--color-text-strong:#cfd6e0;--color-text-muted:#6b7483;--color-lightmode-primary:#3a7a9c;--color-lightmode-primary-soft:#c9e1e5;--color-lightmode-body:#f8fafa;--color-lightmode-surface:#fff;--color-lightmode-elevated:#fff;--color-lightmode-hairline:#e4e9ee;--color-lightmode-light:#0f1419;--color-lightmode-dark:#f8fafa;--color-lightmode-text:#5a6472;--color-lightmode-text-strong:#1a2029;--color-lightmode-text-muted:#8a939f}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.isolate{isolation:isolate}.z-10{z-index:10}.order-123{order:123}.order-456{order:456}.order-789{order:789}.order-first{order:-9999}.order-last{order:9999}.col-auto{grid-column:auto}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-top:calc(var(--bs-gutter-y) * -1);margin-right:calc(var(--bs-gutter-x) / -2);margin-left:calc(var(--bs-gutter-x) / -2);flex-wrap:wrap;display:flex}.row>*{box-sizing:border-box;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) / 2);padding-left:calc(var(--bs-gutter-x) / 2);margin-top:var(--bs-gutter-y);flex-shrink:0}.mt-0\!{margin-top:calc(var(--spacing) * 0)!important}.mt-12{margin-top:calc(var(--spacing) * 12)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-2{margin-bottom:calc(var(--spacing) * -2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-20{width:calc(var(--spacing) * 20);height:calc(var(--spacing) * 20)}.h-full{height:100%}.col-auto,.row-cols-auto>*{flex:none;width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.col{flex:1 0}.flex-shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[bounce_2s_ease-in-out_infinite\]{animation:2s ease-in-out infinite bounce}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.stroke-black{stroke:var(--color-black)}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-20{padding-top:calc(var(--spacing) * 20)}.pb-35{padding-bottom:calc(var(--spacing) * 35)}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-base{font-size:var(--text-base)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.text-wrap{text-wrap:wrap}.text-black{color:var(--color-black)}.text-primary{color:var(--color-primary)}.text-text{color:var(--color-text)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.\[seti\:config\]{seti:config}.\[seti\:javascript\]{seti:javascript}.\[seti\:json\]{seti:json}.\[seti\:npm\]{seti:npm}.\[seti\:react\]{seti:react}.\[seti\:typescript\]{seti:typescript}.\[seti\:vite\]{seti:vite}@media(hover:hover){.group-hover\:text-black:is(:where(.group):hover *){color:var(--color-black)}.hover\:underline:hover{text-decoration-line:underline}}@media(min-width:40rem){.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:inline-block{display:inline-block}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}}.dark\:block:where([data-theme=dark],[data-theme=dark] *){display:block}.dark\:hidden:where([data-theme=dark],[data-theme=dark] *){display:none}.dark\:inline-block:where([data-theme=dark],[data-theme=dark] *){display:inline-block}.dark\:stroke-white:where([data-theme=dark],[data-theme=dark] *){stroke:var(--color-white)}.dark\:text-white:where([data-theme=dark],[data-theme=dark] *){color:var(--color-white)}.dark\:opacity-0:where([data-theme=dark],[data-theme=dark] *){opacity:0}.dark\:opacity-40:where([data-theme=dark],[data-theme=dark] *){opacity:.4}.dark\:opacity-100:where([data-theme=dark],[data-theme=dark] *){opacity:1}@media(hover:hover){.dark\:group-hover\:text-white:where([data-theme=dark],[data-theme=dark] *):is(:where(.group):hover *){color:var(--color-white)}}@media print{.print\:hidden{display:none}}:root{--sl-font:var(--font-sans);--sl-font-mono:var(--font-mono);--sl-color-white:var(--color-white);--sl-color-gray-1:var(--color-gray-200);--sl-color-gray-2:var(--color-gray-300);--sl-color-gray-3:var(--color-gray-400);--sl-color-gray-4:var(--color-gray-600);--sl-color-gray-5:var(--color-gray-700);--sl-color-gray-6:var(--color-gray-800);--sl-color-black:var(--color-gray-900);--sl-color-accent-low:var(--color-accent-950,var(--color-accent-900,#1e1b4b));--sl-color-accent:var(--color-accent-600,#4f46e5);--sl-color-accent-high:var(--color-accent-200,#c7d2fe)}:root[data-theme=light]{--sl-color-white:var(--color-gray-900);--sl-color-gray-1:var(--color-gray-800);--sl-color-gray-2:var(--color-gray-700);--sl-color-gray-3:var(--color-gray-500);--sl-color-gray-4:var(--color-gray-400);--sl-color-gray-5:var(--color-gray-300);--sl-color-gray-6:var(--color-gray-200);--sl-color-gray-7:var(--color-gray-100);--sl-color-black:var(--color-white);--sl-color-accent-low:var(--color-accent-200,#c7d2fe);--sl-color-accent:var(--color-accent-600,#4f46e5);--sl-color-accent-high:var(--color-accent-900,#312e81)}}@layer starlight;:root{--brand-200:oklch(89% .03 215);--brand-300:oklch(82% .05 225);--brand-400:oklch(75% .08 230);--brand-500:oklch(68% .09 235);--brand-600:oklch(60% .1 238);--brand-700:oklch(52% .1 240);--brand-800:oklch(42% .08 244);--ink-950:oklch(12% .012 240);--ink-900:oklch(16% .014 240);--ink-850:oklch(20% .014 238);--ink-800:oklch(26% .012 235);--ink-700:oklch(38% .01 230);--ink-600:oklch(50% .01 230);--ink-500:oklch(62% .008 230);--ink-400:oklch(72% .009 225);--ink-300:oklch(82% .01 225);--ink-200:oklch(90% .01 222);--ink-100:oklch(95% .01 220);--ink-050:oklch(98% .008 218);--paper-50:oklch(98.5% .005 215);--paper-100:oklch(96.5% .006 215);--paper-200:oklch(93.5% .008 218);--paper-300:oklch(88% .01 220);--paper-500:oklch(62% .01 228);--paper-700:oklch(44% .011 232);--paper-800:oklch(32% .013 236);--paper-900:oklch(22% .014 240);--paper-950:oklch(14% .016 242);--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-display:var(--font-sans);--font-primary:var(--font-sans);--text-display:clamp(2.75rem, 5.5vw, 4rem);--text-h1:clamp(2.25rem, 4.2vw, 3.25rem);--text-h2:clamp(1.75rem, 3.2vw, 2.5rem);--text-h3:clamp(1.125rem, 1.4vw, 1.375rem);--text-lead:clamp(1.0625rem, 1.3vw, 1.1875rem);--text-prose:1.0625rem;--text-body:.9375rem;--text-meta:.8125rem;--text-micro:.75rem;--text-label:.6875rem;--track-display:-.035em;--track-h1:-.028em;--track-h2:-.022em;--track-h3:-.015em;--track-body:0;--track-eyebrow:.1em;--lh-display:1.02;--lh-h1:1.05;--lh-h2:1.1;--lh-h3:1.25;--lh-body:1.6;--lh-prose:1.65;--surface-1:var(--ink-900)}@supports (color:color-mix(in lab,red,red)){:root{--surface-1:color-mix(in oklch, var(--ink-900) 40%, var(--ink-950))}}:root{--surface-2:var(--ink-900)}@supports (color:color-mix(in lab,red,red)){:root{--surface-2:color-mix(in oklch, var(--ink-900) 65%, var(--ink-950))}}:root{--surface-3:var(--ink-900)}@supports (color:color-mix(in lab,red,red)){:root{--surface-3:color-mix(in oklch, var(--ink-900) 92%, var(--ink-950))}}:root{--hairline-brand:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){:root{--hairline-brand:color-mix(in oklch, var(--brand-500) 40%, var(--sl-color-hairline))}}:root{--header-height:56px;--marketing-max:88rem;--marketing-pad:clamp(1.25rem, 4vw, 2.5rem);--brand-cta-light:oklch(42% .11 240);--brand-cta-light-hover:oklch(36% .11 242);--brand-accent-light:oklch(45% .1 240);--sl-color-accent-low:oklch(22% .05 238);--sl-color-accent:var(--brand-500);--sl-color-accent-high:var(--brand-200);--sl-color-white:var(--ink-100);--sl-color-gray-1:var(--ink-200);--sl-color-gray-2:var(--ink-300);--sl-color-gray-3:var(--ink-500);--sl-color-gray-4:var(--ink-700);--sl-color-gray-5:var(--ink-800);--sl-color-gray-6:var(--ink-900);--sl-color-gray-7:var(--ink-950);--sl-color-black:var(--ink-950);--sl-color-hairline:var(--ink-800);--sl-color-hairline-light:var(--ink-800);--sl-color-hairline-shade:var(--ink-850);--sl-color-bg:var(--ink-950);--sl-color-bg-nav:var(--ink-950);--sl-color-bg-sidebar:var(--ink-950);--sl-color-bg-inline-code:var(--ink-900);--sl-color-bg-accent:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){:root{--sl-color-bg-accent:color-mix(in oklch, var(--brand-500) 14%, transparent)}}:root{--sl-color-text:var(--ink-300);--sl-color-text-accent:var(--brand-200);--sl-color-text-invert:var(--ink-950);--sl-font:var(--font-sans);--sl-font-mono:var(--font-mono);--sl-sidebar-width:17rem}:root[data-theme=light]{--sl-color-accent-low:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=light]{--sl-color-accent-low:color-mix(in oklch, var(--brand-500) 12%, var(--paper-50))}}:root[data-theme=light]{--sl-color-accent:oklch(55% .11 240);--sl-color-accent-high:oklch(38% .1 242);--sl-color-white:var(--paper-950);--sl-color-gray-1:var(--paper-900);--sl-color-gray-2:var(--paper-800);--sl-color-gray-3:var(--paper-700);--sl-color-gray-4:var(--paper-500);--sl-color-gray-5:var(--paper-300);--sl-color-gray-6:var(--paper-200);--sl-color-gray-7:var(--paper-100);--sl-color-black:var(--paper-50);--sl-color-hairline:var(--paper-200);--sl-color-hairline-light:var(--paper-200);--sl-color-hairline-shade:var(--paper-300);--sl-color-bg:var(--paper-50);--sl-color-bg-nav:var(--paper-50);--sl-color-bg-sidebar:var(--paper-50);--sl-color-bg-inline-code:var(--paper-100);--sl-color-text:var(--paper-900);--sl-color-text-accent:oklch(45% .1 240);--sl-color-text-invert:var(--paper-50)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);font-feature-settings:"ss01","cv11";font-variation-settings:normal;transition:background-color .25s,color .25s}:where(html):root,html:where([data-theme]){background-color:var(--sl-color-bg)!important;color:var(--sl-color-text)!important}html:where([data-theme]) body,:root body{line-height:1.65;background-color:var(--sl-color-bg)!important;color:var(--sl-color-text)!important;min-height:100vh!important;margin:0!important}.font-display{font-family:var(--font-sans);letter-spacing:var(--track-display);font-variation-settings:normal;font-weight:500}.font-mono,code,pre,kbd,samp{font-family:var(--font-mono)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:var(--track-eyebrow);text-transform:uppercase;color:var(--brand-300);font-weight:500;line-height:1.45}:root[data-theme=light] .eyebrow{color:#085b87}::selection{background:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){::selection{background:color-mix(in oklch,var(--brand-500) 28%,transparent)}}::selection{color:var(--ink-050)}:root[data-theme=light] ::selection{color:var(--paper-950)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--ink-800)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--ink-800) 80%,transparent)}}::-webkit-scrollbar-thumb{background-clip:content-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch,var(--brand-500) 40%,var(--ink-800))}}::-webkit-scrollbar-thumb:hover{background-clip:content-box;border:2px solid #0000}*{scrollbar-width:thin;scrollbar-color:var(--ink-800) transparent}@supports (color:color-mix(in lab,red,red)){*{scrollbar-color:color-mix(in oklch,var(--ink-800) 80%,transparent) transparent}}:root[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--paper-300)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=light] ::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--paper-300) 90%,transparent)}}:root[data-theme=light] ::-webkit-scrollbar-thumb{background-clip:content-box;border:2px solid #0000}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--color-primary:var(--brand-500);--color-primary-soft:var(--brand-200);--color-body:var(--ink-950);--color-light:var(--ink-100);--color-dark:var(--ink-950);--color-text:var(--ink-500);--color-primary-gradient:linear-gradient(135deg, var(--brand-600) 0%, var(--brand-400) 100%)}:root[data-theme=light]{--color-primary:oklch(55% .11 240);--color-lightmode-primary:oklch(55% .11 240);--color-lightmode-body:var(--paper-50);--color-lightmode-light:var(--paper-950);--color-lightmode-dark:var(--paper-50);--color-lightmode-text:var(--paper-900);--surface-1:var(--paper-50);--surface-2:var(--paper-100);--surface-3:var(--paper-200);--hairline-brand:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=light]{--hairline-brand:color-mix(in oklch, var(--brand-500) 30%, var(--paper-200))}}html{background:var(--sl-color-bg);color:var(--sl-color-text);font-size:clamp(15px,.9vw + .6rem,17px)}body{background:var(--sl-color-bg);min-height:100vh;color:var(--sl-color-text);font-family:var(--font-sans);font-feature-settings:"ss01","cv11";margin:0;font-weight:400;line-height:1.65}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--sl-color-white);font-weight:600;line-height:1.15}h1,h2{letter-spacing:-.025em;font-weight:600}.sl-markdown-content h1{margin-top:0;font-size:clamp(1.875rem,3.2vw,2.375rem);font-weight:600}.sl-markdown-content h2{margin-top:2.5rem;font-size:clamp(1.375rem,2.2vw,1.625rem);font-weight:600}.sl-markdown-content h3{margin-top:2rem;font-size:clamp(1.125rem,1.6vw,1.25rem);font-weight:600}h1,.h1{font-size:clamp(2rem,4.5vw,2.75rem)}h2,.h2{font-size:clamp(1.5rem,3vw,1.875rem)}h3,.h3{font-size:clamp(1.25rem,2.2vw,1.5rem)}h4,.h4{font-size:1.125rem}h5,.h5{font-size:1rem}h6,.h6{letter-spacing:.02em;text-transform:uppercase;font-size:.875rem}b,strong{font-weight:600}.sl-markdown-content p{max-width:72ch}hr{background:linear-gradient(to right,transparent,var(--sl-color-hairline),transparent);border:none;height:1px;margin:2rem 0}code:after{border:none}:not(pre)>code{font-family:var(--font-mono);background:var(--sl-color-bg-inline-code)}@supports (color:color-mix(in lab,red,red)){:not(pre)>code{background:color-mix(in oklch,var(--sl-color-bg-inline-code) 80%,transparent)}}:not(pre)>code{border:1px solid var(--sl-color-hairline);border-radius:.25em;padding:.1em .38em;font-size:.88em;font-weight:500}.sl-markdown-content a:not([class]){color:var(--sl-color-text-accent);background-image:linear-gradient(var(--sl-color-text-accent),var(--sl-color-text-accent));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;text-decoration:none;transition:background-size .3s,color .2s}.sl-markdown-content a:not([class]):hover{background-size:100% 1px}.sl-markdown-content a:not([class]):focus-visible{outline:2px solid var(--brand-500);outline-offset:2px;border-radius:2px}blockquote{border-left:3px solid var(--brand-500);color:var(--sl-color-gray-2);padding-left:1rem;font-style:normal}blockquote>p{margin-block:0!important}.no-sidebar{padding-block:.75rem}.has-sidebar{z-index:100}.has-sidebar .search-bar{margin-right:1rem}@media(min-width:1024px){.has-sidebar .search-bar{margin-right:3rem}}@media(min-width:1280px){.has-sidebar .search-bar{width:350px}}.has-sidebar .search-bar button[data-open-modal]{border-radius:9999px;height:2rem;padding:.25rem}@media(min-width:768px){.has-sidebar .search-bar button[data-open-modal]{border-radius:.5rem;height:2.7rem;padding:.375rem .625rem}}.has-sidebar .search-bar span,.has-sidebar .search-bar kbd{display:none}@media(min-width:768px){.has-sidebar .search-bar span,.has-sidebar .search-bar kbd{display:inline-block}}.btn-primary{background:var(--brand-500);color:var(--ink-950);border-color:var(--brand-500);font-weight:600}.btn-primary:focus-visible{outline:2px solid var(--brand-300);outline-offset:3px}:root[data-theme=light] .btn-primary{background:var(--brand-cta-light);color:var(--paper-50);border-color:var(--brand-cta-light)}.btn-ghost{color:var(--sl-color-gray-2);border-color:#0000;padding-inline:.25rem}.btn-ghost:hover{color:var(--brand-300)}:root[data-theme=light] .btn-ghost:hover{color:var(--brand-accent-light)}.eyebrow,.eyebrow-sm{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-300);font-size:.6875rem;font-weight:500}:root[data-theme=light] .eyebrow,:root[data-theme=light] .eyebrow-sm{color:var(--brand-accent-light)}.eyebrow-muted{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sl-color-gray-3);font-size:.6875rem;font-weight:500}.page-intro{padding-block:clamp(5rem,11vw,8.5rem) clamp(2rem,5vw,3.5rem)}.page-intro-frame{max-width:68rem;padding-inline:var(--marketing-pad);flex-direction:column;gap:1rem;margin-inline:auto;display:flex}.page-intro-frame--wide{max-width:var(--marketing-max)}.page-headline{font-family:var(--font-sans);font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--track-display);color:var(--sl-color-white);text-wrap:balance;margin:.5rem 0 0;font-weight:500}.page-deck{font-size:var(--text-lead);line-height:var(--lh-body);color:var(--sl-color-gray-2);max-width:60ch;margin:0}.section{padding-block:calc(var(--spacing) * 16)!important}@media(min-width:80rem){.section{padding-block:calc(var(--spacing) * 24)!important}}.container{padding-inline:calc(var(--spacing) * 4);margin-inline:auto;max-width:100%!important}@media(min-width:80rem){.container{max-width:1740px!important}}.content-panel .sl-container{margin-inline:auto}@media(min-width:80rem){.content-panel .sl-container{max-width:1740px!important}}.hero-bg{top:calc(var(--spacing) * 0);left:calc(var(--spacing) * 0);z-index:-10;object-fit:cover;width:100%;position:absolute}.doc-bg{top:calc(var(--spacing) * 0);left:calc(var(--spacing) * 0);z-index:-10;object-fit:cover;background-repeat:no-repeat;width:100%;height:100vh;position:absolute}.light-text{color:var(--sl-color-gray-3);display:inline}.section-title{font-family:var(--font-sans);font-size:var(--text-h1);line-height:var(--lh-h1);letter-spacing:var(--track-h1);color:var(--sl-color-white);text-wrap:balance;font-weight:500}.section-description{font-size:var(--text-lead);line-height:var(--lh-body);color:var(--sl-color-gray-2);max-width:54rem;margin-left:auto;margin-right:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.5s cubic-bezier(.22,.61,.36,1) both fadeIn}@media(prefers-reduced-motion:reduce){.fade-in{animation:none}}.list-body{padding:0 1rem;margin-top:0!important}.list-body ul{margin:0;padding:0;list-style:none}.list-body li{border-bottom:1px solid var(--sl-color-hairline);align-items:center;padding:.875rem 0;transition:padding-left .25s,color .15s;display:flex;position:relative;margin-top:0!important}.list-body li a{color:inherit;text-decoration:none}.list-body li:last-child{border-bottom:none}.list-body li:hover{color:var(--sl-color-white);padding-left:.5rem}.expressive-code .frame{transition:border-color .2s;box-shadow:none!important}.expressive-code:hover .frame{border-color:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){.expressive-code:hover .frame{border-color:color-mix(in oklch,var(--brand-500) 30%,var(--sl-color-hairline))}}.expressive-code .copy button{border-radius:.375rem;transition:background .15s,color .15s}.expressive-code .copy button:hover{background:var(--sl-color-white)}@supports (color:color-mix(in lab,red,red)){.expressive-code .copy button:hover{background:color-mix(in oklch,var(--sl-color-white) 8%,transparent)}}.expressive-code .frame .header{align-items:center;min-height:auto;border-bottom:1px solid var(--sl-color-hairline)!important;padding:.625rem 1rem!important;display:flex!important}.expressive-code .frame .header:before{content:"";background:var(--brand-500);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:.625rem;display:block}.expressive-code .frame .header .title{font-family:var(--font-mono);letter-spacing:.01em;color:var(--sl-color-gray-3);font-size:.75rem;font-weight:500}.sl-markdown-content table{border-collapse:separate;border-spacing:0;border:1px solid var(--sl-color-hairline);border-radius:.5rem;width:100%;font-size:.9375rem;overflow:hidden}.sl-markdown-content table thead tr{background:var(--sl-color-gray-6)}@supports (color:color-mix(in lab,red,red)){.sl-markdown-content table thead tr{background:color-mix(in oklch,var(--sl-color-gray-6) 30%,transparent)}}.sl-markdown-content table th,.sl-markdown-content table td{border-bottom:1px solid var(--sl-color-hairline);text-align:left;padding:.75rem 1rem}.sl-markdown-content table tbody tr:last-child td{border-bottom:none}.sl-markdown-content :is(h2,h3,h4) a{opacity:0;transition:opacity .2s}.sl-markdown-content :is(h2,h3,h4):hover a{opacity:1}.sl-markdown-content img{border:1px solid var(--sl-color-hairline);border-radius:.5rem}.sl-markdown-content pre.mermaid{background:var(--sl-color-gray-6);justify-content:center;align-items:center;margin-block:1.5rem;padding:clamp(1rem,2vw,2rem);display:flex}@supports (color:color-mix(in lab,red,red)){.sl-markdown-content pre.mermaid{background:color-mix(in oklch,var(--sl-color-gray-6) 25%,transparent)}}.sl-markdown-content pre.mermaid{border:1px solid var(--sl-color-hairline);border-radius:.5rem;overflow-x:auto}.sl-markdown-content pre.mermaid svg{max-width:100%;height:auto;display:block}.starlight-aside{background:var(--sl-color-gray-6);border-radius:.5rem}@supports (color:color-mix(in lab,red,red)){.starlight-aside{background:color-mix(in oklch,var(--sl-color-gray-6) 40%,transparent)}}.starlight-aside{border:1px solid var(--sl-color-hairline);border-left:3px solid var(--brand-500)}.starlight-aside--tip{border-left-color:var(--brand-500)}.starlight-aside--caution{border-left-color:#cd9c1f}.starlight-aside--danger{border-left-color:#e24947}.sl-markdown-content .card{background:var(--sl-color-gray-6);border-radius:.5rem}@supports (color:color-mix(in lab,red,red)){.sl-markdown-content .card{background:color-mix(in oklch,var(--sl-color-gray-6) 30%,transparent)}}.sl-markdown-content .card{border:1px solid var(--sl-color-hairline);transition:border-color .2s,background .2s}.sl-markdown-content .card:hover{border-color:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){.sl-markdown-content .card:hover{border-color:color-mix(in oklch,var(--brand-500) 40%,var(--sl-color-hairline))}}.sl-markdown-content .card:hover{background:var(--sl-color-gray-6)}@supports (color:color-mix(in lab,red,red)){.sl-markdown-content .card:hover{background:color-mix(in oklch,var(--sl-color-gray-6) 45%,transparent)}}nav.sidebar{font-family:var(--font-sans);font-size:.875rem}nav.sidebar ul{padding-left:0;list-style:none}nav.sidebar a{border-left:2px solid #0000;font-weight:400;line-height:1.45;text-decoration:none;transition:color .15s,border-color .2s,background .15s;display:block;color:var(--sl-color-gray-2)!important;padding:.3rem .75rem!important;font-size:.8125rem!important}nav.sidebar a:hover{background:var(--sl-color-white);color:var(--sl-color-white)!important}@supports (color:color-mix(in lab,red,red)){nav.sidebar a:hover{background:color-mix(in oklch,var(--sl-color-white) 4%,transparent)}}nav.sidebar a[aria-current=page]{background:var(--brand-500);font-weight:500;color:var(--sl-color-white)!important}@supports (color:color-mix(in lab,red,red)){nav.sidebar a[aria-current=page]{background:color-mix(in oklch,var(--brand-500) 12%,transparent)}}nav.sidebar a[aria-current=page]{border-left-color:var(--brand-500)}nav.sidebar details>summary:hover{color:var(--sl-color-white);background:var(--sl-color-white)}@supports (color:color-mix(in lab,red,red)){nav.sidebar details>summary:hover{background:color-mix(in oklch,var(--sl-color-white) 4%,transparent)}}nav.sidebar details>summary>.group-label{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;letter-spacing:normal!important;text-transform:none!important;color:inherit!important;border:none!important;margin:0!important;padding:0!important}nav.sidebar ul.top-level>li>a.large,nav.sidebar ul.top-level>li>a{color:var(--sl-color-gray-2)!important;text-transform:none!important;letter-spacing:normal!important;padding:.4rem .75rem!important;font-size:.8125rem!important;font-weight:500!important}nav.sidebar summary{cursor:pointer;list-style:none!important;display:block!important}nav.sidebar summary::-webkit-details-marker{content:""!important;display:none!important}nav.sidebar summary::marker{content:""!important;display:none!important}nav.sidebar summary svg.caret{width:11px;height:11px;color:var(--sl-color-gray-3);flex-shrink:0;transition:transform .2s,color .15s;display:inline-block!important}nav.sidebar details[open]>summary svg.caret{transform:rotate(90deg)}nav.sidebar summary:hover svg.caret{color:var(--sl-color-white)}nav.sidebar ul ul{border-left:none;margin-bottom:.25rem;margin-left:0;padding-left:0}nav.sidebar ul ul a{padding-left:1.25rem!important}nav.sidebar ul ul ul a{padding-left:2rem!important}.right-sidebar,#starlight__on-this-page,.toc{font-family:var(--font-sans)}.right-sidebar a,#starlight__on-this-page a,.toc a{border-left:2px solid #0000;text-decoration:none;transition:color .15s,border-color .2s;display:block;color:var(--sl-color-gray-3)!important;padding:.25rem .625rem!important;font-size:.75rem!important;font-weight:400!important}.right-sidebar a:hover,#starlight__on-this-page a:hover,.toc a:hover{color:var(--sl-color-white)!important}.right-sidebar a[aria-current=true],#starlight__on-this-page a[aria-current=true],.toc a[aria-current=true],.right-sidebar a.active,#starlight__on-this-page a.active,.toc a.active{border-left-color:var(--brand-500);color:var(--brand-300)!important;font-weight:500!important}:root[data-theme=light] .right-sidebar a[aria-current=true],:root[data-theme=light] #starlight__on-this-page a[aria-current=true],:root[data-theme=light] .toc a[aria-current=true],:root[data-theme=light] .right-sidebar a.active,:root[data-theme=light] #starlight__on-this-page a.active,:root[data-theme=light] .toc a.active{color:oklch(42% .11 240)!important}.right-sidebar h2,#starlight__on-this-page h2,.toc-heading{text-transform:uppercase;padding-left:.625rem;font-family:var(--font-mono)!important;letter-spacing:.1em!important;color:var(--sl-color-gray-3)!important;margin-bottom:.75rem!important;font-size:.6875rem!important;font-weight:500!important}.sl-breadcrumb,nav[aria-label=Breadcrumb]{font-family:var(--font-mono);letter-spacing:.02em;color:var(--sl-color-gray-3);margin-bottom:1.5rem;font-size:.75rem}.sl-breadcrumb a,nav[aria-label=Breadcrumb] a{color:var(--sl-color-gray-3);text-decoration:none;transition:color .15s}.sl-breadcrumb a:hover,nav[aria-label=Breadcrumb] a:hover{color:var(--brand-300)}.sl-flex.menu-toggle{border:1px solid var(--sl-color-hairline);border-radius:.375rem}main .sl-container{max-width:50rem}main .content-panel+.content-panel{border-top:1px solid var(--sl-color-hairline)}.pagination-links{border-top:1px solid var(--sl-color-hairline);gap:1rem;margin-top:4rem;padding-top:2rem;display:grid}@media(min-width:640px){.pagination-links{grid-template-columns:1fr 1fr}}.pagination-links a{border:1px solid var(--sl-color-hairline);border-radius:.5rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .2s,background .2s;display:block}.pagination-links a:hover{border-color:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){.pagination-links a:hover{border-color:color-mix(in oklch,var(--brand-500) 40%,var(--sl-color-hairline))}}.pagination-links a:hover{background:var(--sl-color-white)}@supports (color:color-mix(in lab,red,red)){.pagination-links a:hover{background:color-mix(in oklch,var(--sl-color-white) 3%,transparent)}}.pagination-links a span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sl-color-gray-3);margin-bottom:.25rem;font-size:.6875rem;display:block}.pagination-links a .link-title{font-family:var(--font-sans);color:var(--sl-color-white);letter-spacing:-.01em;font-size:.9375rem;font-weight:600}.btn{font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;border-radius:.375rem;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--brand-500);outline-offset:3px}.btn-primary{background:var(--brand-500);border-color:var(--brand-500);color:var(--ink-950);font-weight:600}.btn-primary:hover{background:var(--brand-400);border-color:var(--brand-400)}:root[data-theme=light] .btn-primary{color:var(--paper-50);background:oklch(42% .11 240);border-color:oklch(42% .11 240)}:root[data-theme=light] .btn-primary:hover{background:oklch(36% .11 242);border-color:oklch(36% .11 242)}.btn-ghost{color:var(--sl-color-gray-2);background:0 0;border-color:#0000}.btn-ghost:hover{color:var(--sl-color-white);border-color:var(--sl-color-hairline)}.btn-outline{color:var(--sl-color-white);border-color:var(--sl-color-hairline);background:0 0}.btn-outline:hover{border-color:var(--brand-500)}@supports (color:color-mix(in lab,red,red)){.btn-outline:hover{border-color:color-mix(in oklch,var(--brand-500) 40%,var(--sl-color-hairline))}}.btn-outline:hover{color:var(--brand-200)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-outline-primary{color:var(--sl-color-white);border-color:var(--brand-500);background:0 0}.btn-outline-primary:hover{background:var(--brand-500);color:var(--ink-950)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}
