/*! tailwindcss v4.3.3 | 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-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}}}@layer theme{:root,:host{--font-sans:-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";--text-base:1rem;--font-weight-bold:700;--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-family)}}@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,-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");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;-webkit-text-decoration:inherit;-webkit-text-decoration: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:where(:not(iframe)){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}}@layer components;@layer utilities{.collapse{visibility:collapse}.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}.container{width:100%}@media (width>=40em){.container{max-width:40em}}@media (width>=48em){.container{max-width:48em}}@media (width>=64em){.container{max-width:64em}}@media (width>=90em){.container{max-width:90em}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-\[var\(--space-4\)\]{margin-block:var(--space-4)}.mt-\[var\(--space-1\)\]{margin-top:var(--space-1)}.mt-\[var\(--space-2\)\]{margin-top:var(--space-2)}.mt-\[var\(--space-3\)\]{margin-top:var(--space-3)}.mt-\[var\(--space-4\)\]{margin-top:var(--space-4)}.mt-\[var\(--space-5\)\]{margin-top:var(--space-5)}.mt-\[var\(--space-6\)\]{margin-top:var(--space-6)}.mb-\[var\(--space-1\)\]{margin-bottom:var(--space-1)}.mb-\[var\(--space-3\)\]{margin-bottom:var(--space-3)}.mb-\[var\(--space-5\)\]{margin-bottom:var(--space-5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.min-h-dvh{min-height:100dvh}.w-full{width:100%}.max-w-\[42em\]{max-width:42em}.max-w-\[45em\]{max-width:45em}.max-w-\[46em\]{max-width:46em}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-items-center{justify-items:center}.gap-\[var\(--space-1\)\]{gap:var(--space-1)}.gap-\[var\(--space-2\)\]{gap:var(--space-2)}.gap-\[var\(--space-3\)\]{gap:var(--space-3)}.gap-x-\[var\(--space-3\)\]{column-gap:var(--space-3)}.gap-x-\[var\(--space-4\)\]{column-gap:var(--space-4)}.gap-y-\[var\(--space-1\)\]{row-gap:var(--space-1)}.gap-y-\[var\(--space-4\)\]{row-gap:var(--space-4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\[color\:var\(--border-color\)\]{border-color:var(--border-color)}.py-\[var\(--space-6\)\]{padding-block:var(--space-6)}.pt-\[var\(--space-3\)\]{padding-top:var(--space-3)}.pt-\[var\(--space-5\)\]{padding-top:var(--space-5)}.pb-\[var\(--space-6\)\]{padding-bottom:var(--space-6)}.text-center{text-align:center}.text-left{text-align:left}.text-\[length\:var\(--text-lead\)\]{font-size:var(--text-lead)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-pretty{text-wrap:pretty}.text-wrap{text-wrap:wrap}.text-\[var\(--ink-faint\)\]{color:var(--ink-faint)}.text-\[var\(--teal\)\]{color:var(--teal)}.text-\[var\(--text-caption\)\]{color:var(--text-caption)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);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}.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))}@media (width>=40em){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:justify-end{justify-content:flex-end}.sm\:text-right{text-align:right}}@media (width>=64em){.lg\:flex{display:flex}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:items-center{align-items:center}.lg\:justify-between{justify-content:space-between}.lg\:text-left{text-align:left}}}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:300;src:url(/fonts/JetBrainsMono-Light.woff2)format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:italic;font-weight:300;src:url(/fonts/JetBrainsMono-LightItalic.woff2)format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:500;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:700;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2")}:root{--surface-deep:#070c0b;--surface-page:#0d1413;--surface-panel:#16211f;--surface-hover:#1f2e2b;--line-base:#2b3d3a;--ink-max:#fff;--ink:#dce8e6;--teal:#86c7c1;--teal-lift:#b8e4e0;--teal-deep:#2f6d66;--amber:#f2c94c;--danger:#d5695e;--caution:var(--amber);--note:var(--teal);--ink-muted:#dce8e69e;--ink-faint:#dce8e657;--fill-teal-soft:#2f6d6659;--fill-amber-soft:#f2c94c24;--border-width:1px;--border-color:#2b3d3acc;--border-strong:var(--teal-deep);--font-family:"JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-base:clamp(.8125rem, .62rem + .55vw, 1rem);--text-read:clamp(.875rem, .72rem + .5vw, 1rem);--text-caption:.8125em;--text-lead:1.125em;--text-title:1.5em;--text-display:2.25em;--leading:1.45;--space-1:.5em;--space-2:.875em;--space-3:1.25em;--space-4:2em;--space-5:3em;--space-6:4.5em;--space-7:6.5em;--r-flat:0;--r-tight:.25em;--r-soft:.375em;--r-round:.5em;--r-pill:999px;--ease:cubic-bezier(.2, .7, .3, 1);--transition:.14s var(--ease);--shadow-lift:0 1px 0 #ffffff14 inset, 0 .35em .9em -.5em #0000008c;--shadow-media:0 0 0 1px #00000059, 0 1em 2.5em -1.25em #0009;--shadow-popover:0 .75em 1.75em #0000008c}:root[data-theme=light]{--surface-deep:#fff;--surface-page:#f4f7f6;--surface-panel:#fff;--surface-hover:#e6eeec;--line-base:#c9d8d5;--ink-max:#0a1210;--ink:#16211f;--teal:#2f6d66;--teal-lift:#1f4c47;--teal-deep:#86c7c1;--amber:#7d6010;--ink-muted:#16211fa6;--ink-faint:#16211f66;--fill-teal-soft:#86c7c14d;--border-color:#c9d8d5e6}html{scroll-behavior:smooth;font-size:16px}body{background:var(--surface-page);color:var(--teal);font-family:var(--font-family);font-size:var(--text-base);font-weight:300;line-height:var(--leading);min-height:100dvh}:root[data-theme=light] body{color:var(--ink)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}a{color:var(--teal);text-underline-offset:.14em;transition:color var(--transition);font-weight:700;text-decoration-thickness:.09em}@media (hover:hover){a:hover{color:var(--ink-max)}}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{scrollbar-color:var(--line-base) transparent;scrollbar-width:thin}html{scrollbar-color:var(--line-base) var(--surface-page);scrollbar-gutter:stable}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-base);border-radius:4px}:root{--header-height:3.25rem;--fold-height:2.75rem}.gutter{padding-inline:var(--space-3)}@media (width>=26em){.gutter{padding-inline:var(--space-4)}}@media (width>=64em){.gutter{padding-inline:var(--space-6)}}.measure{width:min(100%,72em);margin-inline:auto}.measure--docs{width:min(100%,72em)}@media (width>=80em){.measure--docs{width:min(100%,86em)}}.measure--cover{width:min(100%,62em)}.masthead{margin-top:var(--space-6);padding-inline:var(--space-3);display:grid}@media (width>=26em){.masthead{padding-inline:var(--space-4)}}@media (width>=64em){.masthead{margin-top:var(--space-7)}}.masthead a{justify-self:center;text-decoration:none}.masthead pre{color:var(--teal);letter-spacing:-.02em;white-space:pre;transition:color var(--transition);font-size:clamp(.5rem,1.5vw,1.05rem);line-height:1.05}@media (hover:hover){.masthead a:hover pre{color:var(--teal-lift)}}.wordmark-compact{color:var(--teal);letter-spacing:-.02em;white-space:pre;transition:color var(--transition);font-size:.3rem;line-height:1.05}@media (hover:hover){a:hover>.wordmark-compact{color:var(--teal-lift)}}.notification a{background:var(--teal-deep);color:var(--ink-max);font-size:var(--text-caption);text-align:center;transition:background var(--transition), color var(--transition);padding:.7em;font-weight:500;text-decoration:none;display:block}@media (hover:hover){.notification a:hover{background:var(--teal);color:var(--surface-page)}}.site-header{background:var(--surface-page);border-bottom:var(--border-width) solid var(--border-color);z-index:30;position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--space-3);height:var(--header-height);display:flex}.site-header__nav{align-items:center;gap:var(--space-1);display:none}@media (width>=48em){.site-header__nav{display:flex}}.pill[aria-current=page]{background:var(--surface-hover);border-color:var(--border-strong);color:var(--ink-max)}.landing-header{background:var(--surface-page);border-bottom:var(--border-width) solid var(--border-color);transition:transform .2s var(--ease), visibility 0s linear .2s;visibility:hidden;z-index:30;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.landing-header[data-shown=true]{transition:transform .2s var(--ease);visibility:visible;transform:none}.site-header__menu{border:var(--border-width) solid var(--border-color);border-radius:var(--r-soft);color:var(--teal);cursor:pointer;height:2.25rem;transition:background var(--transition), color var(--transition);background:0 0;flex:none;justify-content:center;align-items:center;width:2.25rem;display:inline-flex}.site-header__menu svg{width:1.15rem;height:1.15rem}.site-header__menu[aria-expanded=true]{background:var(--surface-hover);color:var(--ink-max)}@media (hover:hover){.site-header__menu:hover{background:var(--surface-hover);color:var(--ink-max)}}@media (width>=48em){.site-header__menu{display:none}}.site-menu{background:var(--surface-page);height:calc(100dvh - var(--header-height) - var(--border-width));inset:calc(var(--header-height) + var(--border-width)) 0 auto;z-index:29;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed}.site-menu__sections{border-bottom:var(--border-width) solid var(--border-color);display:grid}.site-menu__row{border-top:var(--border-width) solid var(--border-color);color:var(--teal);justify-content:space-between;align-items:center;padding-block:.8rem;text-decoration:none;display:flex}.site-menu__row:first-child{border-top:none}.site-menu__row svg{color:var(--ink-muted);width:1rem;height:1rem}.site-menu__row[aria-current=page]{color:var(--ink-max)}.site-menu__row[aria-current=page] svg{color:var(--amber)}@media (hover:hover){.site-menu__row:hover{background:var(--surface-hover);color:var(--ink-max)}}.site-menu__docs{align-content:start;gap:var(--space-4);padding-block:var(--space-3) var(--space-4);display:grid;overflow-y:auto}.site-menu__search{border:none;border-bottom:var(--border-width) solid var(--border-color);color:var(--ink-muted);cursor:pointer;font:inherit;text-align:left;background:0 0;align-items:center;gap:.6em;width:100%;padding:.5em 0 .65em;display:flex}.site-menu__search svg{width:1.1em;height:1.1em}.site-menu__footer{background:var(--surface-panel);border-top:var(--border-width) solid var(--border-color);align-items:center;gap:var(--space-2);padding-block:.6rem calc(.6rem + env(safe-area-inset-bottom));justify-content:space-between;display:flex}.site-menu .pill{background:var(--surface-panel);border:var(--border-width) solid var(--border-color);height:2.25rem;padding-inline:.8em}@media (hover:hover){.site-menu .pill:hover{background:var(--surface-hover)}}.header-bar__brand{flex:auto;text-decoration:none}.pill{background:var(--surface-panel);border:var(--border-width) solid var(--border-color);border-radius:var(--r-soft);color:var(--teal);font-size:var(--text-caption);height:2.4em;transition:background var(--transition), color var(--transition);align-items:center;gap:.5em;padding-inline:.8em;font-weight:700;text-decoration:none;display:inline-flex}.pill svg{width:1.25em;height:1.25em}@media (hover:hover){.pill:hover{background:var(--surface-hover);color:var(--ink-max)}}@media (width<=47.99em){.pill{background:0 0;border:none;height:auto;padding-inline:.25em}.pill__label{display:none}}.button{background:var(--teal);border-radius:var(--r-soft);box-shadow:var(--shadow-lift);color:var(--surface-page);cursor:pointer;font-family:inherit;font-size:inherit;height:2.75em;padding-inline:var(--space-3);text-transform:uppercase;transition:background var(--transition), color var(--transition);border:none;align-items:center;gap:.75ch;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.button svg{width:1.35em;height:1.35em;overflow:visible}.button--secondary{background:var(--surface-panel);border:var(--border-width) solid var(--border-color);box-shadow:none;color:var(--ink)}.button--spotlight{background:var(--amber);color:var(--surface-page)}@media (hover:hover){.button:hover{background:var(--teal-lift)}.button--secondary:hover{background:var(--surface-hover);color:var(--ink-max)}.button--spotlight:hover{background:#f7da80}}.panel{background:var(--surface-panel);border:var(--border-width) solid var(--border-color);border-radius:var(--r-flat);padding:var(--space-4) var(--space-3);position:relative}.panel__label{background:var(--surface-hover);border-radius:var(--r-pill);color:var(--teal);font-size:var(--text-caption);left:var(--space-3);align-items:center;gap:.5em;padding:.25em .85em;font-weight:700;display:inline-flex;position:absolute;top:-.9em}.frame,.code-block{border:var(--border-width) solid var(--border-color);border-radius:var(--r-round);flex-direction:column;min-width:0;display:flex;overflow:hidden}.frame__bar,.code-block__bar{background:var(--surface-panel);border-bottom:var(--border-width) solid var(--border-color);color:var(--ink-muted);font-size:var(--text-caption);align-items:center;gap:var(--space-2);justify-content:space-between;min-height:2.6em;padding-inline:.9em .35em;display:flex}.frame__label,.code-block__label{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.code-block__copy{border:var(--border-width) solid transparent;border-radius:var(--r-soft);color:var(--teal);cursor:pointer;width:max(2em,1.75rem);height:max(2em,1.75rem);transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.code-block__copy svg{width:1.15em;height:1.15em}@media (hover:hover){.code-block__copy:hover{background:var(--surface-hover);border-color:var(--border-color);color:var(--ink-max)}}.code-block__body{background:var(--surface-deep);font-size:var(--text-caption);scrollbar-color:var(--line-base) transparent;scrollbar-width:thin;white-space:pre;min-width:0;margin:0;padding:.9em 1.1em;line-height:1.5;overflow-x:auto}.prose .code-block pre,.prose .code-block code{color:var(--ink);white-space:pre;background:0 0;border-radius:0;padding:0;font-size:1em}.prose .code-block pre{font-size:var(--text-caption);margin:0;padding:.9em 1.1em;line-height:1.5}.code-block ::selection{background:var(--fill-teal-soft);color:var(--ink-max)}.tok-key{color:var(--teal)}.tok-num,.tok-lit{color:var(--amber)}.tok-punct{color:var(--ink-muted)}.code-block__prompt{color:var(--amber)}.code-block__typed{color:var(--teal-lift)}.code-block__out{color:var(--ink-muted)}.code-block__file{color:var(--ink)}.prose__code{margin-block:1em}.card-link{border:var(--border-width) solid var(--border-color);align-items:center;gap:var(--space-4);padding:var(--space-3);transition:background var(--transition), border-color var(--transition);text-decoration:none;display:flex}.card-link svg{color:var(--teal);flex:none;width:1.4em;height:1.4em}@media (hover:hover){.card-link:hover{background:var(--surface-hover);border-color:var(--border-strong)}}.section+.section{border-top:var(--border-width) solid var(--border-color);padding-top:var(--space-6)}.section-heading{color:var(--ink);font-size:var(--text-lead);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.rule{color:var(--ink-faint);margin-block:var(--space-7) var(--space-6);text-align:center}.footer{border-top:var(--border-width) solid var(--border-color);color:var(--ink-muted);font-size:max(.8125rem, var(--text-caption));padding-block:var(--space-4);font-weight:500}.footer a{color:inherit;white-space:nowrap;align-items:center;gap:.4em;font-weight:500;display:inline-flex}@media (hover:hover){.footer a:hover{color:var(--ink-max)}}.icon--github{color:var(--ink-max)}.footer .pill{background:var(--surface-panel);border:var(--border-width) solid var(--border-color);justify-content:center;width:2rem;height:2rem;padding:0;font-size:.8125rem}.footer .pill svg{width:1rem;height:1rem}.footer__disclaimer{border-top:var(--border-width) solid var(--border-color);color:var(--ink-muted);padding-top:var(--space-2);text-align:center}@media (width>=64em){.footer__disclaimer{text-align:left}}.footer svg{vertical-align:-.2em;flex:none;width:1.2em;height:1.2em}.marker-list li{gap:var(--space-3);grid-template-columns:1em 1fr;display:grid}.marker-list li:before{color:var(--ink-faint);content:"›"}kbd{background:var(--surface-hover);border:var(--border-width) solid var(--line-base);border-radius:var(--r-tight);box-shadow:0 1px 1px #0006, 0 2px 0 var(--surface-panel) inset;font-family:var(--font-family);font-size:var(--text-caption);padding:.15em .35em;font-weight:700;line-height:1}.docs-shell{gap:var(--space-6);width:min(100%,72em);margin-inline:auto;display:grid}.docs-shell>.docs-main{min-width:0;max-width:48em}.sidebar{display:none}@media (width>=48em){.docs-shell{gap:var(--space-4);grid-template-columns:12.5em minmax(0,1fr)}.docs-shell>.docs-main{max-width:none}.sidebar{align-self:start;gap:var(--space-4);max-height:calc(100dvh - var(--header-height) - 2 * var(--space-4));top:calc(var(--header-height) + var(--space-4));grid-template-rows:auto minmax(0,1fr);display:grid;position:sticky}}@media (width>=64em){.docs-shell{gap:var(--space-6);grid-template-columns:15em minmax(0,1fr)}}@media (width>=80em){.docs-shell{gap:var(--space-5);width:min(100%,86em)}}.docs-page,.docs-page>article{min-width:0}.page-toc{display:none}@media (width>=80em){.docs-page{gap:var(--space-5);grid-template-columns:minmax(0,46em) 12em;display:grid}.docs-page>article{grid-area:1/1}.page-toc{align-self:start;gap:var(--space-2);max-height:calc(100dvh - var(--header-height) - 2 * var(--space-4));scrollbar-width:thin;top:calc(var(--header-height) + var(--space-4));grid-area:1/2;font-size:.8em;display:grid;position:sticky;overflow-y:auto}.page-toc-fold{display:none}}.page-toc ul,.page-toc-fold ul{display:grid}.page-toc a,.page-toc-fold a{border-left:2px solid var(--border-color);color:var(--teal);transition:border-color var(--transition), color var(--transition);padding:.3em 0 .3em .9em;font-weight:300;line-height:1.35;text-decoration:none;display:block}.page-toc a[aria-current],.page-toc-fold a[aria-current]{border-left-color:var(--amber);color:var(--ink-max);font-weight:700}@media (hover:hover){.page-toc a:hover,.page-toc-fold a:hover{color:var(--ink-max)}}.page-toc-fold{background:var(--surface-page);border-bottom:var(--border-width) solid var(--border-color);font-size:var(--text-caption);margin-bottom:var(--space-4);margin-top:calc(-1 * var(--space-3));top:var(--header-height);z-index:20;position:sticky}.page-toc-fold summary{cursor:pointer;height:var(--fold-height);align-items:center;gap:1ch;list-style:none;display:flex}.page-toc-fold summary::-webkit-details-marker{display:none}.page-toc-fold summary:after{color:var(--ink-muted);content:"↓";margin-left:auto}.page-toc-fold[open] summary:after{content:"↑"}.page-toc-fold__label{color:var(--ink);white-space:nowrap;font-weight:700}.page-toc-fold__current{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.page-toc-fold ul{max-height:60dvh;padding-bottom:.75em;overflow-y:auto}.prose :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:calc(var(--header-height) + 1.5rem)}@media (width<=79.99em){.docs-page:has(.page-toc-fold) .prose :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:calc(var(--header-height) + var(--fold-height) + 1.5rem)}}.sidebar__list{scrollbar-width:thin;min-height:0;font-size:.8em;overflow-y:auto}.toc ol{counter-reset:chapter;gap:.4em;display:grid}.toc li{counter-increment:chapter;gap:1ch;display:flex}.toc li:before{color:var(--amber);content:counter(chapter, decimal-leading-zero)}.toc a{color:var(--teal);font-weight:300;text-decoration:none}.toc a:hover{color:var(--ink-max)}.toc a[aria-current=page]{color:var(--ink-max);font-weight:700}.nav-tree summary{cursor:pointer;list-style:none}.nav-tree summary::-webkit-details-marker{display:none}.nav-tree .group-label{color:var(--ink);font-weight:700}.nav-tree summary .group-label:before{content:"→ ";color:var(--ink-muted)}.nav-tree details[open]>summary .group-label:before{content:"↓ "}.nav-tree li{padding-block:.15em;line-height:1.3}.nav-tree li:before{color:var(--ink-faint);content:"  |";padding-right:.4em}.nav-tree a{color:var(--teal);font-weight:300;text-decoration:none}.nav-tree a:hover{color:var(--ink-max)}.nav-tree a[aria-current=page]{color:var(--ink-max);font-weight:700}.search{position:relative}.search__input{border:none;border-bottom:var(--border-width) solid var(--border-color);color:var(--ink);font:inherit;transition:border-color var(--transition);background:0 0;width:100%;padding:.35em 1.5em .5em 0}.search__input::placeholder{color:var(--ink-faint)}.search__input:focus{border-bottom-color:var(--amber);outline:none}.search__shortcut{color:var(--ink-muted);font-size:var(--text-caption);pointer-events:none;position:absolute;top:.5em;right:0}@media (width<=63.99em){.search__shortcut{display:none}}.search-modal{max-width:none;height:100dvh;max-height:none;padding:var(--space-3);background:0 0;border:none;width:100vw;margin:0;inset:0}.search-modal[open]{justify-content:center;align-items:center;display:flex}.search-modal::backdrop{background:#070c0bb8}.search-modal__panel{background:var(--surface-panel);border:var(--border-width) solid var(--border-color);border-radius:var(--r-round);box-shadow:var(--shadow-popover);color:var(--teal);font-size:var(--text-read);grid-template-rows:auto minmax(0,1fr) auto;width:min(40em,100%);height:min(34em,80dvh);display:grid;overflow:hidden}.search-modal__field{border-bottom:var(--border-width) solid var(--border-color);padding:.9em var(--space-3);align-items:center;gap:.75em;display:flex}.search-modal__field svg{color:var(--ink-muted);flex:none;width:1.15em;height:1.15em}.search-modal__input{color:var(--ink-max);font:inherit;background:0 0;border:none;outline:none;flex:1;min-width:0}.search-modal__input::placeholder{color:var(--ink-muted)}.search-modal__input::-webkit-search-cancel-button{display:none}.search-modal__results{scrollbar-width:thin;overflow-y:auto}.search-modal__hints{border-top:var(--border-width) solid var(--border-color);color:var(--ink-muted);font-size:var(--text-caption);gap:var(--space-3);padding:.6em var(--space-3);display:flex}.search-modal kbd{color:var(--ink)}.search__result{border:none;border-bottom:var(--border-width) solid var(--border-color);cursor:pointer;font:inherit;padding:.75em var(--space-3);text-align:left;background:0 0;width:100%;text-decoration:none;display:block}.search__result[data-active=true],.search__result:hover{background:var(--surface-hover)}.search__result-title{color:var(--ink-max);font-weight:700}.search__result-chapter{color:var(--amber);font-size:var(--text-caption);font-weight:500}.search__result-preview{-webkit-line-clamp:2;color:var(--teal);-webkit-box-orient:vertical;font-weight:300;display:-webkit-box;overflow:hidden}.search-modal mark{color:var(--teal-lift);background:0 0;font-weight:700}.search__empty{color:var(--ink-muted);padding:1em var(--space-3)}.prose{color:var(--ink);font-size:var(--text-read)}.prose h1{color:var(--ink-max);font-size:var(--text-display);margin-bottom:.9em}.prose h2{color:var(--ink-max);font-size:var(--text-title)}.prose h3{color:var(--ink-max);font-size:var(--text-lead)}.prose h4,.prose h5,.prose h6{color:var(--ink-max)}.prose h2,.prose h3,.prose h4{margin-block:1.8em .7em}.prose p,.prose ul,.prose ol,.prose pre,.prose table,.prose blockquote{margin-block:1em}.prose ul{padding-left:1.5em;list-style:outside}.prose ol{padding-left:1.5em;list-style:decimal}.prose li{margin-block:.4em}.prose li::marker{color:var(--amber)}.prose code{background:var(--fill-teal-soft);border-radius:var(--r-tight);color:var(--teal-lift);overflow-wrap:break-word;white-space:pre-wrap;padding:.15em .45em;font-size:.9em}:root[data-theme=light] .prose code{color:var(--teal-lift)}.prose pre{background:var(--surface-panel);border-radius:var(--r-round);padding:1.25em 1.5em;font-size:.9em;line-height:1.5;overflow-x:auto}.prose pre code{color:var(--ink);white-space:pre;background:0 0;border-radius:0;padding:0;font-size:1em}.prose .table-scroll{margin-block:1em;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;margin-block:0}.prose th,.prose td{border:var(--border-width) solid var(--border-color);text-align:left;vertical-align:top;padding:.55em .85em}.prose th{color:var(--ink-max);font-weight:700}.prose blockquote{border-left:.25em solid var(--teal-deep);color:var(--teal);padding-left:1em}:root[data-theme=light] .prose blockquote{color:var(--ink)}.prose img{border-radius:var(--r-round);margin-block:1.5em}.prose hr{border:0;border-top:var(--border-width) solid var(--border-color);margin-block:2em}.prose .heading-anchor{color:var(--teal);opacity:0;transition:opacity var(--transition);margin-left:.6ch;font-size:.75em;text-decoration:none}.prose :is(h2,h3,h4,h5,h6):hover .heading-anchor,.prose .heading-anchor:focus{opacity:.5}@media (hover:none){.prose .heading-anchor{opacity:.5}}.media{padding-inline:var(--space-3);width:min(100%,88em);margin-inline:auto}@media (width>=26em){.media{padding-inline:var(--space-4)}}.media img,.media iframe{aspect-ratio:16/9;border-radius:var(--r-soft);box-shadow:var(--shadow-media);object-fit:cover;border:none;width:100%}.media .media-frame,.media-frame{aspect-ratio:auto;border-radius:var(--r-soft);box-shadow:var(--shadow-media);object-fit:contain;width:100%;height:auto;display:block}.media-trigger{border-radius:var(--r-soft);cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block}.media-trigger .media-frame{transition:transform var(--transition)}@media (hover:hover){.media-trigger:hover .media-frame{transform:scale(1.02)}}.media-modal{color:var(--ink-muted);align-items:center;gap:var(--space-1);max-width:none;height:100dvh;max-height:none;padding:var(--space-3);background:0 0;border:none;flex-direction:column;justify-content:center;width:100vw}.media-modal[open]{display:flex}.media-modal::backdrop{background:#070c0bd1}.media-modal__frame{background:var(--surface-panel);box-shadow:var(--shadow-media);max-width:min(100%,110em)}.media-modal__close{border:var(--border-width) solid transparent;border-radius:var(--r-soft);color:var(--ink-muted);cursor:pointer;height:1.9em;transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;flex:none;justify-content:center;align-items:center;width:1.9em;display:inline-flex}.media-modal__close svg{width:1.1em;height:1.1em}@media (hover:hover){.media-modal__close:hover{background:var(--surface-hover);border-color:var(--border-color);color:var(--ink-max)}}.media-modal__body{background:var(--surface-deep);overflow:hidden}.media-modal__body img,.media-modal__body video{height:auto;max-height:calc(100dvh - 2 * var(--space-3) - 6em);object-fit:contain;width:auto;max-width:100%;display:block}.media-modal__caption{text-align:center;max-width:48em}.media-slot{border:var(--border-width) dashed var(--border-color);border-radius:var(--r-soft);color:var(--ink-muted);font-size:var(--text-caption);min-height:10em;padding:var(--space-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5em;display:flex}.media-slot__kind{color:var(--amber);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.caption{color:var(--ink-muted);font-size:var(--text-caption);font-weight:500}.prose.hero-note{color:var(--ink-muted);font-size:var(--text-caption)}.install-tabs .code-block__bar{align-items:stretch;padding-left:0}.install-tabs__list{scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.install-tabs__tab{color:var(--teal);cursor:pointer;font:inherit;transition:border-color var(--transition), color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:.55em .9em;font-weight:300}.install-tabs__tab[aria-selected=true]{border-bottom-color:var(--amber);color:var(--ink-max);font-weight:700}@media (hover:hover){.install-tabs__tab:hover{color:var(--ink-max)}}.install-tabs .code-block__copy{align-self:center}.feature{border-top:var(--border-width) solid var(--border-color);padding-top:var(--space-2)}.feature__title{color:var(--ink-max);margin-bottom:var(--space-1);font-size:1em;font-weight:700}.prose--tight{font-size:1em}.prose--tight>div:first-child>:first-child{margin-top:0}.prose--tight>div:last-child>:last-child{margin-bottom:0}.todo{border-left:.25em solid var(--amber);color:var(--ink-muted);font-size:var(--text-caption);padding-left:1em}.todo__label{color:var(--amber);text-transform:uppercase;letter-spacing:.08em;margin-right:.75ch;font-weight:700}@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}
