:root{--color-white-100: oklch(.9577 .0082 69);--color-green-500: oklch(.5316 .1151 162.78);--color-orange-500: oklch(.5766 .1624 39.09);--color-blue-500: oklch(.4704 .0944 247.52);--color-blue-700: oklch(.3812 .0944 247.81);--color-grey-200: oklch(.9077 .0082 69);--color-grey-300: oklch(.8633 .0119 69);--color-taupe-200: oklch(.69 .015 320);--color-taupe-300: oklch(.61 .017 320);--color-taupe-400: oklch(.53 .015 320);--color-taupe-700: oklch(.2966 .0082 320.02);--color-interactive-accent: var(--color-blue-500);--color-interactive-disabled: var(--color-taupe-200);--color-visualization-focus: var(--color-orange-500);--color-visualization-done: var(--color-green-500);--color-visualization-bg: var(--color-grey-200);--color-visualization-line: var(--color-taupe-300);--color-inline-code-bg: var(--color-grey-300);--color-bg-primary: var(--color-white-100);--color-bg-inverse: var(--color-taupe-700);--color-text-primary: var(--color-taupe-700);--color-text-inverse: var(--color-white-100);--color-text-link: var(--color-blue-500);--color-text-link-hover: var(--color-blue-700);--font-family-primary: "IBM Plex Sans Variable", Arial, serif;--font-family-headings: "Instrument Sans Variable", Arial, sans-serif;--font-family-mono: "Fira Code Variable", monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1.1rem;--font-size-md: 1.17rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3rem;--font-size-5xl: 3.75rem;--font-size-6xl: 4.5rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--space-36: 9rem;--space-40: 10rem;--space-44: 11rem;--space-48: 12rem;--space-52: 13rem;--space-56: 14rem;--space-60: 15rem;--space-64: 16rem;--space-72: 18rem;--space-80: 20rem;--space-96: 24rem;--radius-none: 0;--radius-xs: 1px;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 1px 1px 1.2px 0 color-mix(in oklab, var(--color-taupe-700) 5%, transparent);--shadow-sm: 1px 1px 2px 0 color-mix(in oklab, var(--color-taupe-700) 7%, transparent);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px color-mix(in oklab, var(--color-taupe-700) 10%, transparent), 0 10px 10px -5px color-mix(in oklab, var(--color-taupe-700) 7%, transparent);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--content-width: 720px;--content-width-narrow: 580px;--content-width-wide: 960px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-slower: .7s ease}body{font-family:var(--font-family-primary);margin:0;padding:0;text-align:left;background:var(--color-bg-primary);word-wrap:break-word;overflow-wrap:break-word;color:var(--color-text-primary);font-size:var(--font-size-base);font-stretch:96%;font-optical-sizing:auto;line-height:var(--line-height-relaxed)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-2) 0;line-height:var(--line-height-tight);font-family:var(--font-family-headings);font-stretch:89%}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4,h5{font-size:var(--font-size-md)}strong,b{font-weight:var(--font-weight-bold)}a{color:var(--color-text-link);transition:var(--transition-fast)}a:hover{color:var(--color-text-link-hover)}p,.prose p{margin-bottom:var(--space-4)}.prose mjx-container{overflow-x:scroll}.prose p~h1,.prose p~h2,.prose p~h3,.prose p~h4,.prose p~h5,.prose p~h6{margin-top:var(--space-6)}.prose ul{padding-left:var(--space-4)}textarea{width:100%;font-size:var(--font-size-base)}input{font-size:var(--font-size-base)}table{width:100%}img{max-width:100%;height:auto;border-radius:var(--radius-lg)}code{padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-sm);background:var(--color-inline-code-bg);font-family:var(--font-family-mono);font-size:var(--font-size-sm)}pre{padding:var(--space-3);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-family:var(--font-family-mono)}pre>code{all:unset}blockquote{border-left:var(--space-1) solid var(--color-dark-blue);padding:0 0 0 var(--space-5);margin:0;font-size:var(--font-size-xl);color:var(--color-text-secondary)}.prose .flowchart{margin:auto;display:block}hr{border:none;border-top:1px solid var(--color-border-light)}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}@media (max-width: 768px){h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-md)}}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-cyrillic-ext-wght-normal.DhYMMuQd.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-cyrillic-wght-normal.Y3u8pIsh.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-greek-ext-wght-normal.wWus70Ix.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-greek-wght-normal.B2SviObF.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-symbols2-wght-normal.CE6EOz_n.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-latin-ext-wght-normal.Dvfvaomy.woff2) format("woff2-variations");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:Fira Code Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/fira-code-latin-wght-normal.CHoedHDv.woff2) format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/_astro/instrument-sans-latin-ext-wdth-normal.C5E2Gvlv.woff2) format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/_astro/instrument-sans-latin-wdth-normal.BVScPF0l.woff2) format("woff2-variations");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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wdth-normal.B3DCApw5.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-cyrillic-wdth-normal.CwO2bDOr.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-greek-wdth-normal.Cpo2W_k7.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-vietnamese-wdth-normal.BhOg1xFT.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-latin-ext-wdth-normal.Cd4fXGu8.woff2) format("woff2-variations");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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;font-stretch:75% 100%;src:url(/_astro/ibm-plex-sans-latin-wdth-normal.Dew2wRiQ.woff2) format("woff2-variations");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}footer[data-astro-cid-sz7xmlte]{justify-self:end;padding:2em 1em;border-top:1px solid var(--color-border);text-align:center}footer[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin:0;color:var(--color-text-secondary);font-size:.9rem}header[data-astro-cid-3ef6ksr2]{width:var(--content-width);max-width:calc(100% - 2 * var(--space-6))}h1[data-astro-cid-3ef6ksr2]{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono)}h1[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{text-decoration:none;color:var(--color-text-primary);padding:var(--space-4) 0;display:block}h1[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text-link)}nav[data-astro-cid-3ef6ksr2]{border-bottom:1px solid var(--color-grey-300)}span[data-astro-cid-3ef6ksr2].circle{display:inline-block;width:var(--space-6);height:var(--space-6);background:linear-gradient(in oklab,#f8a11f,#991d0c);border-radius:50%;margin-right:var(--space-2);vertical-align:middle}body{display:flex;flex-direction:column;justify-content:start;align-items:center;min-height:100vh}main[data-astro-cid-yxt6t7ye]{width:var(--content-width);max-width:calc(100% - 2 * var(--space-6));padding:var(--space-6);flex:1 0 auto}
