@property --c-cpn-text{syntax:"<color>";inherits:true;initial-value:#303033}@property --c-cpn-subtext1{syntax:"<color>";inherits:true;initial-value:#49494d}@property --c-cpn-subtext0{syntax:"<color>";inherits:true;initial-value:#606064}@property --c-cpn-overlay2{syntax:"<color>";inherits:true;initial-value:#737378}@property --c-cpn-overlay1{syntax:"<color>";inherits:true;initial-value:#89898e}@property --c-cpn-overlay0{syntax:"<color>";inherits:true;initial-value:#9d9da2}@property --c-cpn-surface2{syntax:"<color>";inherits:true;initial-value:#d8d8da}@property --c-cpn-surface1{syntax:"<color>";inherits:true;initial-value:#e3e3e5}@property --c-cpn-surface0{syntax:"<color>";inherits:true;initial-value:#eeeeef}@property --c-cpn-base{syntax:"<color>";inherits:true;initial-value:#f7f7f8}@property --c-cpn-mantle{syntax:"<color>";inherits:true;initial-value:#f1f1f2}@property --c-cpn-crust{syntax:"<color>";inherits:true;initial-value:#e9e9eb}@property --c-cpn-rosewater{syntax:"<color>";inherits:true;initial-value:#c66a5e}@property --c-cpn-flamingo{syntax:"<color>";inherits:true;initial-value:#c85d61}@property --c-cpn-pink{syntax:"<color>";inherits:true;initial-value:#b84f83}@property --c-cpn-mauve{syntax:"<color>";inherits:true;initial-value:#647fc5}@property --c-cpn-red{syntax:"<color>";inherits:true;initial-value:#c94f55}@property --c-cpn-maroon{syntax:"<color>";inherits:true;initial-value:#bd6252}@property --c-cpn-peach{syntax:"<color>";inherits:true;initial-value:#bd6b32}@property --c-cpn-yellow{syntax:"<color>";inherits:true;initial-value:#8b6b22}@property --c-cpn-green{syntax:"<color>";inherits:true;initial-value:#398460}@property --c-cpn-teal{syntax:"<color>";inherits:true;initial-value:#287f76}@property --c-cpn-sky{syntax:"<color>";inherits:true;initial-value:#367fa3}@property --c-cpn-sapphire{syntax:"<color>";inherits:true;initial-value:#277c97}@property --c-cpn-blue{syntax:"<color>";inherits:true;initial-value:#347aa5}@property --c-cpn-lavender{syntax:"<color>";inherits:true;initial-value:#6579ad}:root{--c-cpn-text:#303033;--c-cpn-subtext1:#49494d;--c-cpn-subtext0:#606064;--c-cpn-overlay2:#737378;--c-cpn-overlay1:#89898e;--c-cpn-overlay0:#9d9da2;--c-cpn-surface2:#d8d8da;--c-cpn-surface1:#e3e3e5;--c-cpn-surface0:#eeeeef;--c-cpn-base:#f7f7f8;--c-cpn-mantle:#f1f1f2;--c-cpn-crust:#e9e9eb;--c-cpn-rosewater:#c66a5e;--c-cpn-flamingo:#c85d61;--c-cpn-pink:#b84f83;--c-cpn-mauve:#647fc5;--c-cpn-red:#c94f55;--c-cpn-maroon:#bd6252;--c-cpn-peach:#bd6b32;--c-cpn-yellow:#8b6b22;--c-cpn-green:#398460;--c-cpn-teal:#287f76;--c-cpn-sky:#367fa3;--c-cpn-sapphire:#277c97;--c-cpn-blue:#347aa5;--c-cpn-lavender:#6579ad;transition:--c-cpn-text var(--duration-normal) var(--ease-default), --c-cpn-subtext1 var(--duration-normal) var(--ease-default), --c-cpn-subtext0 var(--duration-normal) var(--ease-default), --c-cpn-overlay2 var(--duration-normal) var(--ease-default), --c-cpn-overlay1 var(--duration-normal) var(--ease-default), --c-cpn-overlay0 var(--duration-normal) var(--ease-default), --c-cpn-surface2 var(--duration-normal) var(--ease-default), --c-cpn-surface1 var(--duration-normal) var(--ease-default), --c-cpn-surface0 var(--duration-normal) var(--ease-default), --c-cpn-base var(--duration-normal) var(--ease-default), --c-cpn-mantle var(--duration-normal) var(--ease-default), --c-cpn-crust var(--duration-normal) var(--ease-default), --c-cpn-rosewater var(--duration-normal) var(--ease-default), --c-cpn-flamingo var(--duration-normal) var(--ease-default), --c-cpn-pink var(--duration-normal) var(--ease-default), --c-cpn-mauve var(--duration-normal) var(--ease-default), --c-cpn-red var(--duration-normal) var(--ease-default), --c-cpn-maroon var(--duration-normal) var(--ease-default), --c-cpn-peach var(--duration-normal) var(--ease-default), --c-cpn-yellow var(--duration-normal) var(--ease-default), --c-cpn-green var(--duration-normal) var(--ease-default), --c-cpn-teal var(--duration-normal) var(--ease-default), --c-cpn-sky var(--duration-normal) var(--ease-default), --c-cpn-sapphire var(--duration-normal) var(--ease-default), --c-cpn-blue var(--duration-normal) var(--ease-default), --c-cpn-lavender var(--duration-normal) var(--ease-default)}:root.dark{--c-cpn-text:#c3c3c4;--c-cpn-subtext1:#b2b2b3;--c-cpn-subtext0:#a0a0a1;--c-cpn-overlay2:#939394;--c-cpn-overlay1:#757576;--c-cpn-overlay0:#636364;--c-cpn-surface2:#434344;--c-cpn-surface1:#323233;--c-cpn-surface0:#212122;--c-cpn-base:#19191a;--c-cpn-mantle:#141415;--c-cpn-crust:#101011;--c-cpn-rosewater:#ffcdc7;--c-cpn-flamingo:#ffafaf;--c-cpn-pink:#e99cba;--c-cpn-mauve:#b5ccff;--c-cpn-red:#f88d8e;--c-cpn-maroon:#f1a290;--c-cpn-peach:#fbc19d;--c-cpn-yellow:#e9cc9c;--c-cpn-green:#7fc7a4;--c-cpn-teal:#7ecebe;--c-cpn-sky:#8fc9e6;--c-cpn-sapphire:#94d1e5;--c-cpn-blue:#9ccfe9;--c-cpn-lavender:#c1d0f2}:root{--c-bg:var(--c-cpn-base);--c-bg-subtle:var(--c-cpn-mantle);--c-bg-muted:var(--c-cpn-surface0);--c-bg-hover:var(--c-cpn-surface1);--c-bg-active:var(--c-cpn-surface2);--c-surface:var(--c-cpn-surface0);--c-text:var(--c-cpn-text);--c-text-muted:var(--c-cpn-subtext0);--c-text-subtle:var(--c-cpn-overlay2);--c-border:var(--c-cpn-surface1);--c-border-strong:var(--c-cpn-surface2);--c-accent:var(--c-cpn-blue);--c-accent-hover:var(--c-cpn-sapphire);--c-link-text:var(--c-accent);--c-button-bg:var(--c-cpn-base);--c-button-bg-hover:var(--c-cpn-surface0);--c-button-bg-active:var(--c-cpn-surface1);--c-button-text:var(--c-cpn-subtext0);--c-button-text-hover:var(--c-cpn-text);--c-button-text-active:var(--c-cpn-text);--c-code-number:var(--c-cpn-overlay0);--c-code-comment:var(--c-cpn-overlay2);--c-code-type:var(--c-cpn-yellow);--c-code-keyword:var(--c-cpn-mauve);--c-code-property:var(--c-cpn-teal);--c-code-label:var(--c-cpn-sapphire);--c-code-constant:var(--c-cpn-peach);--c-code-escape:var(--c-cpn-pink);--c-code-string:var(--c-cpn-green);--c-code-function:var(--c-cpn-blue);--c-code-error:var(--c-cpn-red);--c-code-variable:var(--c-cpn-text);--c-code-parameter:var(--c-cpn-maroon);--c-code-operator:var(--c-cpn-sky);--c-code-macro:var(--c-cpn-rosewater);--c-code-heading:var(--c-cpn-lavender);--font-sans:"Hanken Grotesk", system-ui;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--line-height-default:calc(1em + .5rem);--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--duration-fast:.15s;--duration-normal:.5s;--ease-default:cubic-bezier(.65, 0, .35, 1)}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hk-vnese-n.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hk-vnese-i.woff2)format("woff2");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hk-latin-ext-n.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hk-latin-ext-i.woff2)format("woff2");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hk-latin-n.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hk-latin-i.woff2)format("woff2");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jbm-latin-n.woff2)format("woff2-variations");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jbm-latin-i.woff2)format("woff2-variations");font-style:italic;font-weight:100 900;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}:not(dialog){margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}*{line-height:calc(1em + .5rem)}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root{isolation:isolate}ul,ol{padding:unset}html{scroll-behavior:smooth}body{background-color:var(--c-bg);min-block-size:100svh;color:var(--c-text)}#root{flex-direction:column;min-block-size:100svh;display:flex}.site-content{flex:1}::selection{color:var(--c-text);background-color:color-mix(in oklab, var(--c-accent) 25%, transparent)}button,input,textarea,select{color:inherit}button{cursor:pointer}html{font-family:var(--font-sans);line-height:var(--line-height-default);-webkit-text-size-adjust:100%;text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:500}code,kbd,samp,pre{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}html,.scrollable{--c-scrollbar-thumb:var(--c-code-number);--c-scrollbar-thumb-hover:var(--c-text-subtle);--c-scrollbar-track:var(--c-bg-muted);scrollbar-width:thin;scrollbar-color:var(--c-scrollbar-thumb) var(--c-scrollbar-track)}html:hover:not(:has(body:hover)),.scrollable:hover:not(:has(>.scrollable-content:hover)){scrollbar-color:var(--c-scrollbar-thumb-hover) var(--c-scrollbar-track)}.scrollable{overflow:auto}.scrollable-content{min-block-size:100%;min-inline-size:100%}.nav-bar{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;margin-block-end:4rem;padding-block:.5rem;padding-inline:1rem;display:flex}.nav-bar__brand{font-family:var(--font-mono);font-size:.85rem}.nav-bar__controls,.nav-bar__links{align-items:center;display:flex}.nav-bar__controls{gap:.75rem}.nav-bar__links{gap:.5rem}.nav-bar__icon-button{border-radius:var(--radius-sm);block-size:2rem;inline-size:2rem;color:var(--c-text);background-color:var(--c-bg);border:none;place-items:center;padding:.25rem;display:grid}.nav-bar__icon-button:hover{background-color:var(--c-bg-hover)}.nav-bar__icon-button:active{background-color:var(--c-bg-active)}.nav-bar__link-label{display:none}@media (min-width:40rem){.nav-bar{grid-template-columns:1fr auto 1fr;padding-inline:2rem;display:grid}.nav-bar__controls{display:contents}.nav-bar__links{justify-self:center;gap:1rem}.nav-bar__color-mode{justify-self:end}.nav-bar__link.nav-bar__icon-button{block-size:auto;inline-size:auto;padding-inline:.5rem;display:inline}.nav-bar__link-icon{display:none}.nav-bar__link-label{display:inline}}.footer{border-top:1px solid var(--c-border);color:var(--c-text-muted);margin-block-start:2rem;padding-block:.5rem;padding-inline:1rem;font-size:.875rem}.footer__content{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem 2rem;display:flex}.footer__legal{text-align:center;gap:.25rem;display:grid}.footer__site-links{flex-wrap:wrap;justify-content:center;gap:.25rem .75rem;padding-inline-start:2rem;display:flex}.footer__legal a,.footer__site-links a{color:var(--c-link-text)}.footer a:hover{text-decoration:underline}.footer__social-links{gap:.75rem;display:flex}.footer__social-links a{color:inherit;padding:.25rem}.footer__social-links svg{block-size:1.25rem;inline-size:1.25rem}@media (min-width:40rem){.footer{padding-inline:2rem}.footer__content{grid-template-columns:max-content minmax(0,1fr) max-content;column-gap:1rem;display:grid}.footer__site-links{inline-size:100%;padding-inline:2rem}.footer__legal{text-align:start;justify-self:start}.footer__social-links{justify-self:end}}.medium-zoom-overlay{opacity:0;will-change:opacity;transition:opacity .3s;position:fixed;inset:0}.medium-zoom--opened .medium-zoom-overlay{cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:zoom-in;transition:transform var(--duration-fast) ease!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{cursor:zoom-out;will-change:transform;position:relative}.prose-alert{--alert-color:var(--c-accent);border-radius:var(--radius-md);background-color:color-mix(in oklab, var(--alert-color) 10%, var(--c-bg));padding:1rem 1.5rem}.prose-alert__header{color:var(--alert-color);margin-block-end:.5rem;font-weight:700}.prose-alert--note{--alert-color:var(--c-cpn-blue)}.prose-alert--tip{--alert-color:var(--c-cpn-green)}.prose-alert--important{--alert-color:var(--c-cpn-mauve)}.prose-alert--warning{--alert-color:var(--c-cpn-yellow)}.prose-alert--caution{--alert-color:var(--c-cpn-red)}.prose-footnote-ref a{color:var(--c-link-text);font-weight:600;text-decoration:none}.prose-footnote-ref a:hover{text-decoration:underline}.prose-footnotes__list{margin:0;padding:0;list-style:none}.prose-footnote{align-items:start;column-gap:.25rem;margin:0;font-size:.875rem;line-height:1.5;display:flex}.prose-footnote__number{color:var(--c-link-text);font-weight:600;text-decoration:none}.prose-footnote__number:after{content:":"}.prose-footnote__content>:has(+.prose-footnote__backrefs){display:inline}.prose-footnote__backrefs{white-space:nowrap;margin-inline-start:.35rem;display:inline}.prose-footnote__backrefs>a+a{margin-inline-start:.35rem}.prose-footnote__backrefs a{color:var(--c-link-text);font-weight:600}@media (min-width:72em){@supports (anchor-name:--test) and (position-anchor:--test) and (top:anchor(top)){.prose-footnote{--available-footnote-width:calc((100vw - var(--content-width)) / 2 - var(--footnote-gap) - 1rem);inline-size:min(var(--footnote-width), var(--available-footnote-width));max-inline-size:var(--footnote-width);overflow-wrap:anywhere;min-inline-size:0;margin:0;position:absolute;inset-inline-start:calc(100% + var(--footnote-gap))}.prose-footnote__content{overflow-wrap:anywhere;min-inline-size:0}}.prose-footnotes__title{display:none}.prose-footnote{gap:.15rem}.prose-footnote__number{vertical-align:super;font-size:.85rem;font-weight:600;line-height:.85;text-decoration:none;display:inline}.prose-footnote__number:after{content:""}}.prose-toc{--toc-path-gutter:1rem;--toc-path-offset:10px;--toc-path-radius:8px;--toc-path-width:2px;color:var(--c-text-muted);margin-block-start:.5rem;line-height:1}.prose-toc__inner{max-inline-size:100%}.prose-toc__title{color:var(--c-text);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .85rem;padding-inline-start:var(--toc-path-gutter);font-size:.85rem;font-weight:700}.prose-toc__body{min-block-size:0;overscroll-behavior:contain;padding-inline-start:var(--toc-path-gutter);position:relative;overflow:hidden}.prose-toc__list{z-index:1;gap:.125rem;margin:0;padding:0;font-size:1rem;list-style:none;display:grid;position:relative}.prose-toc__item{margin-block:.1rem}.prose-toc__item[data-level="2"]{font-size:1em}.prose-toc__item[data-level="3"]{padding-inline-start:.75rem;font-size:.95em}.prose-toc__item[data-level="4"]{padding-inline-start:1.5rem;font-size:.9em}.prose-toc__item>a,.prose-toc__item>a:visited{color:var(--c-text-muted);padding-block:.15rem;text-decoration:none;display:block}.prose-toc__item>a:hover{color:var(--c-text)}.prose-toc__item[data-active]>a{color:var(--c-text);font-weight:600}.prose-toc__path{z-index:0;pointer-events:none;max-inline-size:100%;display:block;position:absolute;inset-block-start:0;inset-inline-start:0}.prose-toc__path-active{fill:none;stroke:var(--c-text);stroke-width:var(--toc-path-width);stroke-linecap:butt;stroke-linejoin:round;opacity:0;transition:stroke-dasharray var(--duration-fast) var(--ease-default), opacity var(--duration-fast) var(--ease-default)}@media (min-width:72em){.prose:has(>.prose-toc)>.prose-toc{--available-toc-width:calc((100vw - var(--content-width)) / 2 - var(--toc-gap) - 1rem);inline-size:min(var(--toc-width), var(--available-toc-width));position:absolute;inset-block:0;inset-inline-end:calc(100% + var(--toc-gap))}.prose-toc__inner{text-align:start;grid-template-rows:auto minmax(0,1fr);max-block-size:calc(100svh - 4rem);display:grid;position:sticky;inset-block-start:2rem}}@media (prefers-reduced-motion:reduce){.prose-toc__path-active,.prose-toc__item>a{transition:none}}.prose-code-block{--prose-overhang:2em;border:1px solid var(--c-border);border-radius:var(--radius-md);font-weight:500;position:relative;overflow:hidden}.prose-code-block__pre{counter-reset:linenumber;background-color:var(--c-cpn-base);white-space:pre;overflow-x:auto}.prose-code-block code{background-color:var(--c-cpn-base);box-sizing:border-box;width:max-content;min-width:100%;padding-block:.5rem;font-size:.875em;display:block}.prose-code-block .ts-line{width:100%;min-height:var(--line-height-default);box-sizing:border-box;padding-inline:.75rem;display:inline-block}.prose-code-block .ts-line:before{counter-increment:linenumber;content:counter(linenumber);width:2ch;color:var(--c-code-number);text-align:right;user-select:none;pointer-events:none;margin-right:1rem;font-size:.75rem;display:inline-block}.prose-code-block__header{font-family:var(--font-mono);background-color:var(--c-cpn-surface1);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.35rem 1rem;display:grid}.prose-code-block__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.75rem;overflow:hidden}.prose-code-block__language{white-space:nowrap;justify-self:end;align-items:center;gap:.375rem;display:inline-flex}.prose-code-block__language-title{font-size:.75rem}.prose-code-block__language-icon{width:1rem;height:1rem}.prose-code-block__copy{z-index:10;opacity:0;pointer-events:none;width:2rem;height:2rem;color:var(--c-button-text);background-color:var(--c-button-bg);border:1px solid var(--c-border);border-radius:var(--radius-sm);transition:opacity var(--duration-normal) var(--ease-default);place-items:center;padding:0;display:grid;position:absolute;top:3rem;right:.75rem}.prose-code-block:hover .prose-code-block__copy,.prose-code-block:focus-within .prose-code-block__copy{opacity:1;pointer-events:auto}.prose-code-block__copy:hover{color:var(--c-button-text-hover);background-color:var(--c-button-bg-hover)}.prose-code-block__copy:active{color:var(--c-button-text-active);background-color:var(--c-button-bg-active)}.prose-code-block__copy .copy-icon,.prose-code-block__copy .check-icon{color:currentColor;transform-origin:50%;pointer-events:none;grid-area:1/1;width:1rem;height:1rem}.prose-code-block__copy .check-icon{opacity:0}.ts-line-highlighted{background-color:var(--c-cpn-surface0)}.ts-attribute,.ts-type{color:var(--c-code-type)}.ts-type-builtin,.ts-keyword,.ts-keyword-control-conditional{color:var(--c-code-keyword)}.ts-type-enum-variant,.ts-constant-character,.ts-markup-list,.ts-hint{color:var(--c-code-property)}.ts-constructor,.ts-label,.ts-markup-link-label{color:var(--c-code-label)}.ts-constant{color:var(--c-code-constant)}.ts-constant-character-escape,.ts-string-regexp,.ts-markup-quote{color:var(--c-code-escape)}.ts-string,.ts-markup-raw,.ts-markup-list-checked,.ts-diff-plus{color:var(--c-code-string)}.ts-string-special,.ts-variable-other-member,.ts-function,.ts-tag,.ts-special,.ts-markup-link-url,.ts-diff-delta{color:var(--c-code-function)}.ts-string-special-symbol,.ts-variable-builtin,.ts-markup-heading-1,.ts-markup-bold,.ts-markup-italic,.ts-diff-minus,.ts-error{color:var(--c-code-error)}.ts-comment,.ts-punctuation,.ts-markup-list-unchecked{color:var(--c-code-comment)}.ts-comment{font-style:italic}.ts-variable{color:var(--c-code-variable)}.ts-variable-parameter{color:var(--c-code-parameter);font-style:italic}.ts-punctuation-special,.ts-operator,.ts-info{color:var(--c-code-operator)}.ts-keyword-control-conditional{font-style:italic}.ts-function-macro{color:var(--c-code-macro)}.ts-namespace{color:var(--c-code-type);font-style:italic}.ts-markup-heading-2{color:var(--c-code-constant)}.ts-markup-heading-3,.ts-warning{color:var(--c-code-type)}.ts-markup-heading-4{color:var(--c-code-string)}.ts-markup-heading-5{color:var(--c-code-label)}.ts-markup-heading-6,.ts-markup-link-text{color:var(--c-code-heading)}.ts-markup-bold{font-weight:700}.ts-markup-italic{font-style:italic}.ts-markup-strikethrough{text-decoration-line:line-through}.ts-markup-link-url{font-style:italic;text-decoration-line:underline}.prose code:not(pre code){border:1px solid var(--c-border);border-radius:var(--radius-sm);background-color:var(--c-surface);color:var(--c-code-type);font-family:var(--font-mono);overflow-wrap:anywhere;padding:.25em .5em;font-size:.8em}.prose-figure{--prose-overhang:2rem}.prose-figure__caption{text-align:center}.prose-figure__wrapper{border-radius:var(--radius-lg);width:fit-content;max-width:100%;margin:0 auto;display:block;position:relative;overflow:hidden}.prose-figure__placeholder{object-fit:cover;filter:blur(24px);pointer-events:none;z-index:-1;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.1)}.prose-figure__image{border-radius:var(--radius-lg);height:auto}.prose-heading{position:relative;overflow:visible}.prose-heading__anchor{color:var(--c-text-muted);opacity:0;cursor:pointer;transition:opacity var(--duration-normal) var(--ease-default), color var(--duration-normal) var(--ease-default);justify-content:center;align-items:center;padding-inline:.25rem .5rem;text-decoration:none;display:inline-flex;position:absolute;inset-block-start:.15em;inset-inline-end:100%}.prose-heading:hover>.prose-heading__anchor,.prose-heading:focus-within>.prose-heading__anchor,.prose-heading__anchor:focus-visible{opacity:1}.prose-heading__anchor:hover{color:var(--c-text)}.prose-heading__anchor:focus-visible{outline-offset:2px;border-radius:var(--radius-sm);outline:2px solid}.prose-heading__anchor-icon{flex:none;width:.75em;height:.75em;display:block}@media (hover:none){.prose-heading__anchor{opacity:1}}.prose-link{color:var(--c-accent);text-decoration:none}.prose-link:hover{text-decoration:underline}.prose-link__external-icon{vertical-align:.1em;display:inline-block}.prose{--content-width:42rem;--toc-width:0rem;--toc-gap:0rem;--footnote-width:0rem;--footnote-gap:0rem;--prose-space-xs:.375rem;--prose-space-sm:.75rem;--prose-space-md:1.25rem;--prose-space-lg:1.75rem;--prose-space-xl:2.75rem;anchor-scope:all;inline-size:min(calc(100% - 2rem), var(--content-width));text-align:justify;margin-inline:auto;position:relative}.prose-code-block,.prose-figure{--prose-overhang-width:min(calc(100% + var(--prose-overhang) * 2), calc(100vw - 2rem));inline-size:var(--prose-overhang-width);max-inline-size:none;margin-inline:calc((100% - var(--prose-overhang-width)) / 2)}.prose:has(>.prose-toc){--toc-width:18rem;--toc-gap:4em}.prose:has(>.prose-footnotes){--footnote-width:20rem;--footnote-gap:3rem}.prose:has(>.prose-toc):has(>.prose-footnotes){--toc-width:18rem;--footnote-width:18rem}.prose>:not(.prose-toc){margin-block:0}.prose>:not(.prose-toc)+:not(.prose-toc){margin-block-start:var(--prose-space-md)}.prose :where(h1,h2,h3,h4,h5,h6){scroll-margin-top:1rem}.prose>h2{margin-block-start:var(--prose-space-xl)}.prose>h3{margin-block-start:2.25rem}.prose>:where(h4,h5,h6){margin-block-start:var(--prose-space-lg)}.prose>:where(h1,h2,h3,h4,h5,h6)+:not(.prose-toc){margin-block-start:var(--prose-space-sm)}.prose>:where(.prose-code-block,.prose-alert,figure,table,blockquote),.prose>:where(.prose-code-block,.prose-alert,figure,table,blockquote)+:not(.prose-toc){margin-block-start:var(--prose-space-lg)}.prose :where(ul,ol):not(.prose-toc *){margin-block:1em}.prose li:not(.prose-toc *)+li:not(.prose-toc *){margin-block-start:var(--prose-space-xs)}.prose li:not(.prose-toc *)>p{margin-block:0}.prose li:not(.prose-toc *)>p+p{margin-block-start:var(--prose-space-sm)}.prose li:not(.prose-toc *)>:where(ul,ol){margin-block-start:var(--prose-space-md)}.prose :where(blockquote,.prose-alert__content,.prose-footnote__content)>:first-child{margin-block-start:0}.prose :where(blockquote,.prose-alert__content,.prose-footnote__content)>:last-child{margin-block-end:0}.prose :where(blockquote,.prose-alert__content,.prose-footnote__content)>*+*{margin-block-start:var(--prose-space-sm)}.prose figcaption:not(.prose-toc *){margin-block-start:.5rem}.prose>hr{margin-block:var(--prose-space-xl)}