:root{--space-0: 0rem;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-7: 4rem;--font-ratio: .5844907407;--ideal-font-size: calc(66vw / (60 * var(--font-ratio)));--font-size: clamp(14px, var(--ideal-font-size), 18px);--font-family-sans: "IBM Plex Sans", "Inter", sans-serif;--font-family-serif: "IBM Plex Serif", "Georgia", serif;--font-family-mono: "IBM Plex Mono", "Courier New", monospace;--line-height: calc(var(--font-size) * 1.5);--font-size-xs: .75rem;--font-size-sm: .865rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-xxl: 2rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-loose: .02em;--ideal-container-width: calc(var(--font-size) * 80 * var(--font-ratio));--container-width: min(100vw - 4rem, var(--ideal-container-width));--gutter: calc((100vw - var(--container-width)) / 2);--brand-50: #e8ede7;--brand-100: #bbcdbb;--brand-200: #8fac94;--brand-300: #638c72;--brand-400: #386b55;--brand-500: #0c4a3c;--brand-600: #08412d;--brand-700: #05371f;--brand-800: #032d12;--brand-900: #012209;--brand-950: #001602;--blue-50: #e9f5fe;--blue-100: #c2e3fc;--blue-200: #9bd1fa;--blue-300: #74bff7;--blue-400: #4dacf4;--blue-500: #279af1;--blue-600: #1a84d4;--blue-700: #106db3;--blue-800: #08578c;--blue-900: #033f66;--blue-950: #002840;--bg-100: var(--brand-50);--bg-200: var(--brand-100);--primary-100: var(--brand-500);--primary-200: var(--brand-600);--text-100: var(--brand-950);--text-200: var(--brand-700);--accent-100: var(--blue-600);--accent-200: var(--blue-800)}[data-theme=dark]{--bg-100: var(--brand-950);--bg-200: var(--brand-800);--primary-100: var(--brand-500);--primary-200: var(--brand-400);--text-100: var(--brand-100);--text-200: var(--brand-200);--accent-100: var(--blue-400);--accent-200: var(--blue-200)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.hidden{display:none}.flex{display:flex}.flex-col{flex-direction:column}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.items-center{align-items:center}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}body{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height);font-weight:var(--font-weight-regular);padding:0;background-color:var(--bg-100);color:var(--text-100);transition:background-color .3s ease,color .3s ease;max-width:var(--container-width);margin:0 auto;padding:var(--space-3);overflow-x:hidden}.text-body,body{font-family:var(--font-family-mono);font-size:var(--font-size-sm);line-height:var(--line-height);color:var(--text-100)}h1{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-normal)}h4{font-size:var(--font-size-md);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-normal)}p{font-size:var(--font-size-sm);line-height:1.6}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-xxl)}.font-regular{font-weight:var(--font-weight-regular)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-medium{font-weight:var(--font-weight-medium)}.font-bold{font-weight:var(--font-weight-bold)}.text-btn,button,a{font-family:var(--font-family-mono);letter-spacing:var(--letter-spacing-normal)}button{background-color:var(--text-100);color:var(--bg-200);padding:var(--space-2);border-radius:var(--space-1);border:none;text-transform:uppercase}button.secondary{background-color:transparent;color:var(--text-200);border:1px solid var(--text-200)}button.secondary:hover{background-color:var(--bg-200);color:var(--text-100);border:1px solid var(--text-100)}.text-btn:active,button:active,.text-btn:hover,button:hover{color:var(--bg-100);background-color:var(--text-200)}a{color:var(--accent-100)}a:active,a:hover{color:var(--accent-200)}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.animate{opacity:0;transform:translateY(.75rem);transition:all .3s ease-out}.animate.show{opacity:100;transform:translateY(0)}.rotate-90{transform:rotate(90deg)}.link-arrow{stroke:currentColor;stroke-width:2;fill:none}.link-arrow-right line{transform:translate(.25rem) scaleX(0);transition:transform .3s ease-in-out}.link-arrow-right polyline{transform:translate(-.25rem);transition:transform .3s ease-in-out}.arrow-parent-right:hover line,.arrow-parent-right:focus line{transform:translate(0) scaleX(1)}.arrow-parent-right:hover polyline,.arrow-parent-right:focus polyline{transform:translate(0)}.link-arrow-left line{transform:translate(.5rem) scaleX(0);transition:transform .3s ease-in-out}.link-arrow-left polyline{transform:translate(.25rem);transition:transform .3s ease-in-out}.arrow-parent-left:hover line,.arrow-parent-left:focus line{transform:translate(0) scaleX(1)}.arrow-parent-left:hover polyline,.arrow-parent-left:focus polyline{transform:translate(0)}.link-arrow-up line{transform:translate(.625rem) scaleX(0);transition:transform .3s ease-in-out}.link-arrow-up polyline{transform:translate(.125rem);transition:transform .3s ease-in-out}.arrow-parent-up:hover line,.arrow-parent-up:focus line{transform:translate(0) scaleX(1)}.arrow-parent-up:hover polyline,.arrow-parent-up:focus polyline{transform:translate(0)}.astro-code,code{font-family:var(--font-family-mono);padding:var(--space-4)}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.rgB1DpUr.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DeXYNBV7.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.Dm_PoFIZ.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.O6-GRVqx.woff) format("woff")}@font-face{font-family:"IBM Plex Serif";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-serif-latin-600-normal.By66rOWU.woff2) format("woff2"),url(/_astro/ibm-plex-serif-latin-600-normal.Bj-skoJb.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CdZtFfYS.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.BU83cd9M.woff) format("woff")}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}[data-astro-image]{width:100%;height:auto;object-fit:var(--fit);object-position:var(--pos);aspect-ratio:var(--w) / var(--h)}[data-astro-image=responsive]{max-width:calc(var(--w) * 1px);max-height:calc(var(--h) * 1px)}[data-astro-image=fixed]{width:calc(var(--w) * 1px);height:calc(var(--h) * 1px)}
