@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSansVar-Roman.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSansVar-Italic.woff2) format("woff2");font-weight:100 700;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-MediumItalic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}:root{--font-sans: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--color-bg: oklch(14.5% 0 0);--color-text: oklch(98.5% 0 0);--color-border: oklch(25% 0 0);--color-background: var(--color-bg);--color-foreground: var(--color-text);--color-muted-foreground: color-mix(in oklch, var(--color-text) 60%, transparent);--color-surface: color-mix(in oklch, var(--color-text) 6%, transparent);--color-surface-strong: color-mix(in oklch, var(--color-text) 8%, transparent);--color-text-muted: color-mix(in oklch, var(--color-text) 80%, transparent);--step--1: clamp(.875rem, .8519rem + .1127vw, .9375rem);--step-0: clamp(1rem, .9538rem + .2255vw, 1.125rem);--step-1: clamp(1.125rem, 1.0418rem + .4059vw, 1.35rem);--step-2: clamp(1.2656rem, 1.1346rem + .6392vw, 1.62rem);--step-3: clamp(1.4238rem, 1.2309rem + .941vw, 1.944rem);--heading-1: var(--step-3);--text-xs: var(--step--1);--text-sm: var(--step--1);--text-base: var(--step-0);--text-lg: var(--step-1);--text-xl: var(--step-2);--text-2xl: var(--step-3);--text-3xl: var(--step-3);--text-4xl: var(--step-3);--leading-text: calc(.65rem + 1em) ;--leading-heading: calc(.35rem + 1em) ;--leading-none: 1;--space-3xs: clamp(.25rem, .2269rem + .1127vw, .3125rem);--space-2xs: clamp(.5rem, .4769rem + .1127vw, .5625rem);--space-xs: clamp(.75rem, .7038rem + .2255vw, .875rem);--space-s: clamp(1rem, .9538rem + .2255vw, 1.125rem);--space-m: clamp(1.5rem, 1.4307rem + .3382vw, 1.6875rem);--space-l: clamp(2rem, 1.9076rem + .451vw, 2.25rem);--space-xl: clamp(3rem, 2.8613rem + .6764vw, 3.375rem);--space-2xl: clamp(4rem, 3.8151rem + .9019vw, 4.5rem);--page-inline: var(--space-m);--page-block-start: clamp(5rem, 4.5377rem + 2.255vw, 6.25rem);--page-block-end: var(--space-2xl);--title-subtitle-gap: var(--space-2xs);--section-gap: var(--space-m);--content-gap: var(--space-l);--measure: 40rem;--spacing-1: var(--space-3xs);--spacing-2: var(--space-2xs);--spacing-3: var(--space-xs);--spacing-4: var(--space-s);--spacing-6: var(--space-m);--spacing-8: var(--space-l);--spacing-12: var(--space-xl);--spacing-16: var(--space-2xl);--border-width: 1px;--transition-base: .15s ease;--letter-spacing-uppercase: .04em;color-scheme:dark}html{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:inherit}body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:var(--leading-text);font-size:var(--text-base)}a{text-decoration:none}.text-link{font-weight:500;color:var(--color-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,[role=button],input,select,textarea,summary{touch-action:manipulation}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:var(--leading-heading);text-align:left;font-weight:500}p{text-wrap:pretty;text-align:left}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}.eyebrow{font-size:var(--text-xs);font-weight:500;letter-spacing:var(--letter-spacing-uppercase);text-transform:uppercase;color:var(--color-muted-foreground);line-height:var(--leading-none)}.section-flow{display:flex;flex-direction:column;gap:var(--section-gap)}.footer-link{font-size:var(--text-sm);font-weight:500;color:var(--color-text);text-decoration:none;padding-bottom:var(--spacing-1);border-bottom:var(--border-width) solid var(--color-muted-foreground);transition:border-color var(--transition-base);line-height:var(--leading-none)}.footer-link:hover{border-bottom-color:var(--color-text)}.prose{font-size:var(--text-base);line-height:var(--leading-text);max-width:70ch;color:var(--color-text)}.prose :where(p):not(:where(.not-prose,.not-prose *)){margin-top:var(--space-s);margin-bottom:var(--space-s);color:var(--color-text-muted);text-align:left}.prose :where(h1,h2,h3,h4,h5,h6):not(:where(.not-prose,.not-prose *)){color:var(--color-text);font-weight:500;line-height:var(--leading-heading);scroll-margin-top:var(--spacing-16);text-align:left}.prose :first-child:not(:where(.not-prose,.not-prose *)){margin-top:0}.prose :where(h1):not(:where(.not-prose,.not-prose *)){margin-top:var(--space-xl);margin-bottom:var(--space-s);font-size:var(--text-3xl);font-weight:500}.prose :where(h2):not(:where(.not-prose,.not-prose *)){margin-top:var(--space-xl);margin-bottom:var(--space-s);font-size:var(--text-2xl)}.prose :where(h3):not(:where(.not-prose,.not-prose *)){margin-top:var(--space-l);margin-bottom:var(--space-xs);font-size:var(--text-xl)}.prose :where(h4):not(:where(.not-prose,.not-prose *)){margin-top:var(--space-l);margin-bottom:var(--space-2xs);font-size:var(--text-lg)}.prose :where(h5,h6):not(:where(.not-prose,.not-prose *)){margin-top:var(--space-m);margin-bottom:var(--space-2xs);font-weight:500}.prose :where(a):not(:where(.not-prose,.not-prose *)){font-weight:500;color:var(--color-text);text-decoration-line:none;transition:text-decoration-color var(--transition-base);overflow-wrap:break-word}.prose :where(a:hover):not(:where(.not-prose,.not-prose *)){text-decoration-line:underline;text-decoration-color:var(--color-text);text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-skip-ink:none}.prose :where(strong):not(:where(.not-prose,.not-prose *)){font-weight:500;color:var(--color-text)}.prose :where(ul):not(:where(.not-prose,.not-prose *)){margin-top:var(--spacing-4);margin-bottom:var(--spacing-4);margin-left:var(--spacing-4);list-style-type:disc}.prose :where(ul>li):not(:where(.not-prose,.not-prose *)){margin-top:var(--spacing-2);padding-left:var(--spacing-2);color:var(--color-text-muted)}.prose :where(ul>li>p):not(:where(.not-prose,.not-prose *)){margin:0}.prose :where(ol):not(:where(.not-prose,.not-prose *)){margin-top:var(--spacing-4);margin-bottom:var(--spacing-4);margin-left:var(--spacing-4);list-style-type:decimal}.prose :where(ol>li):not(:where(.not-prose,.not-prose *)){margin-top:var(--spacing-2);padding-left:var(--spacing-2);color:var(--color-text-muted)}.prose :where(ol>li>p):not(:where(.not-prose,.not-prose *)){margin:0}.prose :where(ul ul,ol ol,ul ol,ol ul):not(:where(.not-prose,.not-prose *)){margin-top:var(--spacing-2);margin-bottom:var(--spacing-2);margin-left:var(--spacing-4)}.prose :where(blockquote):not(:where(.not-prose,.not-prose *)){margin-top:var(--spacing-4);margin-bottom:var(--spacing-4);padding-left:var(--spacing-4);border-left:3px solid var(--color-border);font-style:normal;color:var(--color-text-muted)}.prose :where(blockquote>*):not(:where(.not-prose,.not-prose *)){color:inherit}.prose :where(hr):not(:where(.not-prose,.not-prose *)){margin-top:var(--spacing-8);margin-bottom:var(--spacing-8);border:none;border-top:var(--border-width) solid var(--color-border)}.prose :where(code):not(:where(.not-prose,.not-prose *)){font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;background-color:var(--color-surface);padding:.15em .35em;overflow-wrap:break-word}.prose :where(pre):not(:where(.not-prose,.not-prose *)){max-height:min(68vh,1000px);overflow-y:auto}.prose :where(table):not(:where(.not-prose,.not-prose *)){margin:var(--spacing-4) auto;display:block;max-width:fit-content;overflow-x:auto;font-size:var(--text-sm)}.prose :where(thead):not(:where(.not-prose,.not-prose *)){border-bottom:var(--border-width) solid var(--color-border)}.prose :where(th):not(:where(.not-prose,.not-prose *)){padding:var(--spacing-2) var(--spacing-4);font-weight:500;text-align:left;color:var(--color-text)}.prose :where(tr):not(:where(.not-prose,.not-prose *)){border-top:var(--border-width) solid var(--color-border)}.prose :where(tr:first-child):not(:where(.not-prose,.not-prose *)){border-top:none}.prose :where(td):not(:where(.not-prose,.not-prose *)){padding:var(--spacing-2) var(--spacing-4);text-align:left;vertical-align:top;color:var(--color-text-muted);overflow-wrap:break-word}.prose :where(img,video,figure,.expressive-code):not(:where(.not-prose,.not-prose *)){margin:var(--spacing-4) auto}.prose :where(kbd):not(:where(.not-prose,.not-prose *)){font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;padding:.15em .5em;background-color:var(--color-surface);color:var(--color-text)}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.skip-link[data-astro-cid-sckkx6r4]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link[data-astro-cid-sckkx6r4]:focus{position:fixed;top:var(--spacing-4);left:var(--spacing-4);z-index:50;width:auto;height:auto;padding:var(--spacing-4) var(--spacing-2);margin:0;overflow:visible;clip:auto;white-space:normal;background-color:var(--color-text);color:var(--color-bg);font-weight:500}
