<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">*,*:before,*:after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}ul[role=list],ol[role=list]{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a[class]{text-decoration:none;color:currentColor}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font-family:inherit;font-size:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:root{--font-size-xs: clamp(.72rem, .8135rem + -.1169vw, .7901rem);--font-size-s: clamp(.8889rem, .8852rem + .0185vw, .9rem);--font-size-base: clamp(1rem, .9583rem + .2083vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1.0313rem + .4688vw, 1.4063rem);--font-size-xl: clamp(1.2656rem, 1.1016rem + .8203vw, 1.7578rem);--font-size-2xl: clamp(1.4238rem, 1.166rem + 1.2891vw, 2.1973rem);--font-size-3xl: clamp(1.6018rem, 1.2202rem + 1.908vw, 2.7466rem);--font-size-4xl: clamp(1.802rem, 1.2583rem + 2.7187vw, 3.4332rem);--font-size-5xl: clamp(2.0273rem, 1.2725rem + 3.7737vw, 4.2915rem);--space-4xs: clamp(4px, 3.6667px + .1042vw, 5px);--space-3xs: clamp(8px, 7.6667px + .1042vw, 9px);--space-2xs: clamp(12px, 11.3333px + .2083vw, 14px);--space-xs: clamp(16px, 15.3333px + .2083vw, 18px);--space-s: clamp(24px, 23px + .3125vw, 27px);--space-lg: clamp(28px, 26.6667px + .4167vw, 32px);--space-xl: clamp(32px, 30.6667px + .4167vw, 36px);--space-2xl: clamp(48px, 46px + .625vw, 54px);--space-3xl: clamp(56px, 53.6667px + .7292vw, 63px);--space-4xl: clamp(64px, 61.3333px + .8333vw, 72px);--space-5xl: clamp(96px, 92px + 1.25vw, 108px);--space-6xl: clamp(128px, 122.6667px + 1.6667vw, 144px);--space-xs-2xl: clamp(16px, 3.3333px + 3.9583vw, 54px);--space-s-4xl: clamp(24px, 8px + 5vw, 72px);--space-border-width: 2px;--space-form-element-height: 48px;--font-letter-spacing-xs: -.05em;--font-letter-spacing-s: -.025em;--font-line-height-base: 1.55;--font-line-height-s: 1.3;--font-line-height-xs: 1.1;--font-weight-500: 500;--font-weight-600: 600;--font-weight-body: var(--font-weight-500);--font-weight-heading: var(--font-weight-600);--color-neutral-1000: #0f1011;--color-neutral-900: #212529;--color-neutral-800: #343a40;--color-neutral-700: #495057;--color-neutral-600: #6c757d;--color-neutral-500: #adb5bd;--color-neutral-400: #ced4da;--color-neutral-300: #dee2e6;--color-neutral-200: #e9ecef;--color-neutral-100: #f8f9fa;--color-neutral-0: #ffffff;--border-radius-default: 4px;--border-radius-lg: 8px;--border-radius-full: 9999px;--ease-in-quad: cubic-bezier(.55, .085, .68, .53);--ease-in-cubic: cubic-bezier(.55, .055, .675, .19);--ease-in-quart: cubic-bezier(.895, .03, .685, .22);--ease-in-quint: cubic-bezier(.755, .05, .855, .06);--ease-in-expo: cubic-bezier(.95, .05, .795, .035);--ease-in-circ: cubic-bezier(.6, .04, .98, .335);--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-out-cubic: cubic-bezier(.215, .61, .355, 1);--ease-out-quart: cubic-bezier(.165, .84, .44, 1);--ease-out-quint: cubic-bezier(.23, 1, .32, 1);--ease-out-expo: cubic-bezier(.19, 1, .22, 1);--ease-out-circ: cubic-bezier(.075, .82, .165, 1);--ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);--ease-in-out-quart: cubic-bezier(.77, 0, .175, 1);--ease-in-out-quint: cubic-bezier(.86, 0, .07, 1);--ease-in-out-expo: cubic-bezier(1, 0, 0, 1);--ease-in-out-circ: cubic-bezier(.785, .135, .15, .86)}:root{--space-outline-width-default: 2px;--space-outline-width-large: 3px;--space-outline-offset-default: 2px;--space-outline-offset-large: 4px;--color-text-primary: var(--color-neutral-1000);--color-text-secondary: var(--color-neutral-700);--color-text-inverse: var(--color-neutral-0);--color-outline: var(--color-neutral-1000);--color-surface: var(--color-neutral-0);--color-surface-raised: var(--color-neutral-0);--color-background-tertiary-hover: var(--color-neutral-200);--color-background-primary: var(--color-neutral-1000);--color-background-primary-hover: var(--color-neutral-800);--color-background-secondary: var(--color-neutral-200);--color-selection-text: var(--color-neutral-0);--color-selection-background: var(--color-neutral-1000);--color-border-primary: var(--color-neutral-300);--color-border-selected: var(--color-neutral-1000)}[data-theme=dark]{--color-text-primary: var(--color-neutral-0);--color-text-secondary: var(--color-neutral-500);--color-text-inverse: var(--color-neutral-1000);--color-outline: var(--color-neutral-0);--color-surface: var(--color-neutral-1000);--color-surface-raised: var(--color-neutral-1000);--color-background-tertiary-hover: var(--color-neutral-900);--color-background-primary: var(--color-neutral-0);--color-background-primary-hover: var(--color-neutral-200);--color-background-secondary: var(--color-neutral-900);--color-selection-text: var(--color-neutral-1000);--color-selection-background: var(--color-neutral-0);--color-border-primary: var(--color-neutral-700);--color-border-selected: var(--color-neutral-0)}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/poppins-latin-ext-600-normal.CAhIAdZj.woff2) format("woff2"),url(/_astro/poppins-latin-ext-600-normal.Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/poppins-latin-600-normal.zEkxB9Mr.woff2) format("woff2"),url(/_astro/poppins-latin-600-normal.BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Satoshi Variable;src:url(/fonts/Satoshi-Variable.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}:root{color-scheme:light dark}html{scroll-behavior:smooth}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}::selection{background-color:var(--color-selection-background);color:var(--color-selection-text)}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{color:var(--color-text-primary);background-color:var(--color-surface);margin:0;font-family:Satoshi Variable,sans-serif}h1,h2,h3{font-weight:600;text-wrap:balance;font-family:Poppins,sans-serif}p,li{font-weight:450;font-size:var(--font-size-base);color:var(--color-text-secondary);text-wrap:pretty}h1,h2,h3,h4,h5,h6,p{margin:0}a[data-external=true]{margin-right:1.25em}a[data-external=true]:after{position:absolute;content:"";display:inline-block;width:1em;height:1em;margin-left:.25em;background-size:100%;background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Crect%20width%3D%22256%22%20height%3D%22256%22%20fill%3D%22none%22%2F%3E%3Cpolyline%20points%3D%22216%20104%20215.99%2040.01%20152%2040%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2216%22%2F%3E%3Cline%20x1%3D%22136%22%20y1%3D%22120%22%20x2%3D%22216%22%20y2%3D%2240%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2216%22%2F%3E%3Cpath%20d%3D%22M184%2C136v72a8%2C8%2C0%2C0%2C1-8%2C8H48a8%2C8%2C0%2C0%2C1-8-8V80a8%2C8%2C0%2C0%2C1%2C8-8h72%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2216%22%2F%3E%3C%2Fsvg%3E);transform:translateY(.25em)}[data-theme=dark] a[data-external=true]:after{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20256%20256%22%3E%3Crect%20width%3D%22256%22%20height%3D%22256%22%20fill%3D%22none%22%2F%3E%3Cpolyline%20points%3D%22216%20104%20215.99%2040.01%20152%2040%22%20fill%3D%22none%22%20stroke%3D%22%23adb5bd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2216%22%2F%3E%3Cline%20x1%3D%22136%22%20y1%3D%22120%22%20x2%3D%22216%22%20y2%3D%2240%22%20fill%3D%22none%22%20stroke%3D%22%23adb5bd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2216%22%2F%3E%3Cpath%20d%3D%22M184%2C136v72a8%2C8%2C0%2C0%2C1-8%2C8H48a8%2C8%2C0%2C0%2C1-8-8V80a8%2C8%2C0%2C0%2C1%2C8-8h72%22%20fill%3D%22none%22%20stroke%3D%22%23adb5bd%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2216%22%2F%3E%3C%2Fsvg%3E)}a:hover,a:focus-visible{text-decoration:none}a:focus-visible,button:focus-visible{outline:var(--space-outline-width-default) solid var(--color-outline);border-radius:4px;outline-offset:var(--space-outline-offset-default)}button{appearance:none;-webkit-appearance:none;border-radius:0;text-align:inherit;background:none;box-shadow:none;padding:0;cursor:pointer;border:none;color:inherit;font:inherit;text-decoration:none}input{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;outline:none;appearance:none;padding:0;margin:0}small{font-size:var(--font-size-xs);color:var(--color-text-secondary)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}::view-transition-group(root){animation-duration:.7s;animation-timing-function:var(--ease-in-out-quint)}::view-transition-new(root){animation-name:reveal-light}::view-transition-old(root),[data-theme=dark]::view-transition-old(root){animation:none;z-index:-1}[data-theme=dark]::view-transition-new(root){animation-name:reveal-dark}@keyframes reveal-dark{0%{clip-path:polygon(50% -71%,-50% 71%,-50% 71%,50% -71%)}to{clip-path:polygon(50% -71%,-50% 71%,50% 171%,171% 50%)}}@keyframes reveal-light{0%{clip-path:polygon(0 0,100% 0,100% 0,0 0)}to{clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)}}.flow&gt;*+*{margin-block-start:var(--flow-space, 1em)}.flow&gt;astro-island{display:block}.container{max-width:var(--container-width, 985px);padding-inline:var(--space-xs);margin-inline:auto}.center{display:grid;place-items:center}.full-page{height:100svh;width:100%}.cover-page{min-height:100svh}.stack{display:flex;gap:var(--stack-gap)}.stack[data-orientation=vertical]{flex-direction:column}.with-sidebar{display:flex;flex-wrap:wrap;gap:var(--sidebar-gap)}.with-sidebar[data-sidebar=right]&gt;:last-child{flex-grow:1}.with-sidebar[data-sidebar=right]&gt;:first-child{flex-basis:0;flex-grow:999;min-inline-size:var(--sidebar-min-width, 280px)}.with-sidebar[data-sidebar=left]&gt;:first-child{flex-grow:1}.with-sidebar[data-sidebar=left]&gt;:last-child{flex-basis:0;flex-grow:999;min-inline-size:var(--sidebar-min-width, 280px)}.grid{--_grid-columns: calc(100% / var(--grid-columns));--_grid-gap: var(--grid-gap, 0px);--_grid-columns-without-gap: calc(var(--_grid-columns) - var(--_grid-gap));gap:var(--_grid-gap);align-items:end;display:grid;grid-template-columns:repeat(auto-fit,minmax(max(var(--_grid-columns-without-gap),var(--grid-column-min-width, 200px)),1fr))}.font-size-5xl{font-size:var(--font-size-5xl)}.font-size-4xl{font-size:var(--font-size-4xl)}.font-size-3xl{font-size:var(--font-size-3xl)}.font-size-2xl{font-size:var(--font-size-2xl)}.font-size-xl{font-size:var(--font-size-xl)}.font-size-lg{font-size:var(--font-size-lg)}.font-size-base{font-size:var(--font-size-base)}.font-size-s{font-size:var(--font-size-s)}.weight-heading{font-weight:var(--font-weight-heading)}.weight-body{font-weight:var(--font-weight-body)}.line-height-base{line-height:var(--font-line-height-base)}.line-height-s{line-height:var(--font-line-height-s)}.line-height-xs{line-height:var(--font-line-height-xs)}.tracking-xs{letter-spacing:var(--font-letter-spacing-xs)}.tracking-s{letter-spacing:var(--font-letter-spacing-s)}.color-neutral-600{color:var(--color-neutral-600)}.color-text-primary{color:var(--color-text-primary)}.color-text-secondary{color:var(--color-text-secondary)}.text-balance{text-wrap:balance}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration:underline}.hover\:no-underline:hover{text-decoration:none}.focus-visible\:no-underline:focus-visible{text-decoration:none}.text-center{text-align:center}.mx-auto{margin-inline:auto}.mb-4xs{margin-bottom:var(--space-4xs)}.w-full{width:100%}.h-full{height:100%}.max-w-max{max-width:max-content}.w-2xl{width:var(--space-2xl)}.w-s{width:var(--space-s)}.w-xs{width:var(--space-xs)}.h-2xl{height:var(--space-2xl)}.h-s{height:var(--space-s)}.h-xs{height:var(--space-xs)}.py-s{padding-block:var(--space-s)}.gap-2xs{gap:var(--space-2xs)}.rounded-default{border-radius:var(--border-radius-default)}.rounded-full{border-radius:var(--border-radius-full)}.border{border-style:solid;border-width:1px}.border-w-default{border-width:var(--space-border-width)}.border-primary{border-color:var(--color-border-primary)}.block{display:block}.flex{display:flex}.flex-1{flex:1}.select-none{user-select:none}.overflow-hidden{overflow:hidden}.object-cover{object-fit:cover}.aspect-video{aspect-ratio:16 / 9}.opacity-0{opacity:0}.relative{position:relative}.absolute{position:absolute}.inset-0{inset:0}.truncate{display:-webkit-box;line-clamp:var(--truncate-lines);-webkit-line-clamp:var(--truncate-lines);-webkit-box-orient:vertical;overflow:hidden}.button{display:inline-flex;align-items:center;justify-content:center;column-gap:var(--space-xs);font-size:var(--font-size-base);font-weight:600;height:var(--space-form-element-height);padding-inline:var(--space-xs);border-radius:var(--border-radius-default);line-height:var(--line-height-xs);transition-timing-function:var(--ease-out-cubic);transition-duration:.15s;transition-property:background-color;&amp;:focus-visible{outline:var(--space-outline-width-default) solid var(--color-outline);outline-offset:var(--space-outline-offset-default)}&amp;[data-variant=primary]{color:var(--color-text-inverse);background-color:var(--color-background-primary);&amp;:focus-visible,&amp;:hover{background-color:var(--color-background-primary-hover)}}&amp;[data-variant=tertiary]{color:var(--color-text-primary);text-decoration:underline;text-decoration-color:currentColor;transition-property:background-color,outline,text-decoration-color,text-underline-offset;text-underline-offset:2px;&amp;:hover{text-decoration:underline;background-color:var(--color-background-tertiary-hover);text-decoration-color:var(--color-background-tertiary-hover);text-underline-offset:3px}&amp;:focus-visible{background-color:var(--color-background-tertiary-hover);text-decoration:none}}&amp;[data-is-pending=true]{cursor:wait}}.button-content{display:flex;align-items:center;column-gap:var(--space-2xs)}.button-icon{width:var(--space-xs);height:var(--space-xs);display:grid;place-items:center}.input{border-radius:var(--border-radius-default);background:var(--color-surface-raised);height:var(--space-form-element-height);text-indent:var(--space-xs);padding-inline-end:var(--space-xs);border:var(--space-border-width) solid var(--color-border-primary);width:100%;&amp;:focus-visible{outline:var(--space-outline-width-default) solid var(--color-outline);outline-offset:var(--space-outline-offset-default)}&amp;:autofill{box-shadow:0 0 0 50px var(--color-surface-raised) inset!important}}.input,.input-unit{font-weight:var(--font-weight-body);color:var(--color-text-primary);line-height:var(--line-height-xs);font-size:var(--font-size-base)}.input-unit{position:absolute;left:calc(var(--space-border-width) + var(--space-xs));top:50%;transform:translateY(-50%);pointer-events:none;user-select:none}.label{display:inline-block;font-weight:var(--font-weight-body);font-size:var(--font-size-base);color:var(--color-text-primary)}.loading-dots{width:20px;height:4px;display:flex;justify-content:center}.loading-dots-inner{width:4px;height:4px;border-radius:50%;background-color:var(--color-text-inverse);box-shadow:32px 0 var(--color-text-inverse),-32px 0 var(--color-text-inverse);position:relative;animation:flash .5s ease-out infinite alternate}@keyframes flash{0%{background-color:#fff2;box-shadow:8px 0 #fff2,-8px 0 var(--color-text-inverse)}50%{background-color:var(--color-text-inverse);box-shadow:8px 0 #fff2,-8px 0 #fff2}to{background-color:#fff2;box-shadow:8px 0 var(--color-text-inverse),-8px 0 #fff2}}.theme-toggle{--theme-toggle-padding-inline: 0px;--theme-toggle-option-size: 32px;position:relative;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);display:inline-flex;align-items:center;padding-inline:var(--theme-toggle-padding-inline)}.theme-toggle-option{display:grid;place-items:center;width:var(--theme-toggle-option-size);height:var(--theme-toggle-option-size);cursor:pointer;color:var(--color-neutral-700);transition-duration:50ms;transition-timing-function:var(--ease-out-cubic);transition-property:color;&amp;[data-hovered=true]{color:light-dark(var(--color-neutral-1000),var(--color-neutral-0))}&amp;[data-selected=true]{color:light-dark(var(--color-neutral-1000),var(--color-neutral-0))}&amp;[data-focus-visible=true]{border-radius:var(--border-radius-full);outline:var(--space-outline-width-default) solid var(--color-outline);outline-offset:var(--space-outline-offset-default)}&gt;svg{height:20px;width:20px}}.theme-toggle-indicator{width:28px;height:28px;border-radius:var(--border-radius-full);background-color:light-dark(var(--color-neutral-200),var(--color-neutral-800));position:absolute;top:50%;transform:translate(-50%,-50%);z-index:-1;transition-property:left;transition-duration:.2s;transition-timing-function:var(--ease-out-expo)}.theme-toggle-indicator[data-value=dark]{left:50%}.theme-toggle-indicator[data-value=light]{left:calc(var(--theme-toggle-option-size) / 2 + var(--theme-toggle-padding-inline))}.theme-toggle-indicator[data-value=system]{left:calc(100% - var(--theme-toggle-option-size) / 2 - var(--theme-toggle-padding-inline))}.tab-list{display:flex;border-bottom:var(--space-border-width) solid var(--color-border-primary)}.tab{font-family:var(--font-family-body);font-weight:var(--font-weight-body);line-height:var(--line-height-xs);font-size:var(--font-size-base);color:var(--color-text-secondary);padding:var(--space-2xs);border-radius:var(--border-radius-default);outline:none;width:max-content;cursor:pointer;position:relative;&amp;[data-selected=true]{color:var(--color-text-primary)}&amp;[data-focus-visible]{outline:var(--space-outline-width-default) solid var(--color-outline);outline-offset:var(--space-outline-offset-default)}}.prose&gt;p code,.inline-code{color:var(--color-text-primary);background:var(--color-background-secondary);font-weight:600;font-size:var(--font-size-s);border-radius:var(--border-radius-default);padding:4px 6px}.tool,.talk,.blog-post{display:block;text-decoration:none;padding:var(--space-2xs) var(--space-xs);margin-inline:calc(var(--space-xs) * -1);color:var(--color-text-primary);border-radius:var(--border-radius-lg);transition-timing-function:var(--ease-out-cubic);transition-duration:.15s;transition-property:background-color,outline;&amp;:focus-visible{outline-offset:var(--space-outline-offset-large);outline-width:var(--space-outline-width-large)}&amp;[data-hovered=true],&amp;:focus-visible{background-color:var(--color-background-tertiary-hover)}}.icon-button{padding:var(--space-2xs);display:inline-block;border-radius:var(--border-radius-default);transition-timing-function:var(--ease-out-cubic);transition-duration:.15s;transition-property:background-color;svg{width:var(--space-s);height:var(--space-s)}&amp;[data-hovered=true],&amp;[data-focus-visible=true]{background-color:var(--color-background-tertiary-hover)}&amp;[data-focus-visible=true]{outline:var(--space-outline-width-default) solid var(--color-outline)}}
</pre></body></html>