@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-400-normal.fe77cf74.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-400-normal.c53594e1.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-cyrillic-400-normal.03c3c250.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-400-normal.f9650ffc.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-greek-400-normal.5f160bba.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-400-normal.bedb8549.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-vietnamese-400-normal.7f721ef5.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-400-normal.072f5433.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.20dd57fa.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-400-normal.40b9fc05.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-sans-latin-400-normal.13a15bcd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-400-normal.48b78688.woff) format("woff");unicode-range:u+00??,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;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-300-normal.eb278c9c.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-300-normal.949dc0c1.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/ibm-plex-sans-cyrillic-300-normal.2697e1bb.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-300-normal.d772a787.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/ibm-plex-sans-greek-300-normal.59f9421c.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-300-normal.84a79373.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/ibm-plex-sans-vietnamese-300-normal.6bad10c1.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-300-normal.8ed6ab07.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/ibm-plex-sans-latin-ext-300-normal.cb67f57b.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-300-normal.71604702.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:300;src:url(/_next/static/media/ibm-plex-sans-latin-300-normal.5d8f97bc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-300-normal.5d9f75ee.woff) format("woff");unicode-range:u+00??,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;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-ext-700-normal.3de7e69d.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-ext-700-normal.9f15a15a.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/ibm-plex-sans-cyrillic-700-normal.1751131f.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-cyrillic-700-normal.d1f2c6c1.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/ibm-plex-sans-greek-700-normal.7d64268c.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-greek-700-normal.3ffd49df.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/ibm-plex-sans-vietnamese-700-normal.b561afbd.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-vietnamese-700-normal.4e5ef43e.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/ibm-plex-sans-latin-ext-700-normal.92d72317.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-ext-700-normal.c831a1e2.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/ibm-plex-sans-latin-700-normal.45cdbe8d.woff2) format("woff2"),url(/_next/static/media/ibm-plex-sans-latin-700-normal.ce08404e.woff) format("woff");unicode-range:u+00??,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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.66a2e865.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-ext-400-normal.88f8fd5b.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.651bc97e.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-cyrillic-400-normal.9533b520.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.110e2a76.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-vietnamese-400-normal.7d495472.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.9faee8e8.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-ext-400-normal.f14ffb91.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/ibm-plex-mono-latin-400-normal.06ac09dc.woff2) format("woff2"),url(/_next/static/media/ibm-plex-mono-latin-400-normal.e32cf7a4.woff) format("woff");unicode-range:u+00??,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}.Menu_menu__n43sH,.Menu_popupMenu__mrnbQ{font-family:var(--body-font);font-size:var(--h2-fs);line-height:var(--h2-lh);font-weight:var(--menu-fw)}@media screen and (min-width:48em){.Menu_menu__n43sH,.Menu_popupMenu__mrnbQ{font-size:var(--h1-fs);line-height:var(--h1-lh)}}.Menu_menu__n43sH{-webkit-tap-highlight-color:transparent;position:fixed;z-index:100;top:0;left:0;right:0;width:100%;background:var(--opacity-bg);backdrop-filter:blur(12px)}.Menu_menu__n43sH .Menu_menuInner__NKWnx{max-width:var(--container-max-width);margin:0 auto}.Menu_menu__n43sH .Menu_nav__z_Ld8{width:100%;display:flex;align-items:flex-end}.Menu_menu__n43sH .Menu_nameMenu__YOr0H{width:100%;display:flex;gap:1em;justify-content:flex-start;align-items:center;position:relative;z-index:101;list-style:none;padding:0;font-weight:400}:is(.Menu_menu__n43sH .Menu_nameMenu__YOr0H) li{list-style:none}:is(.Menu_menu__n43sH .Menu_nameMenu__YOr0H) .Menu_menuToggle___RO__{margin-left:auto}.Menu_menu__n43sH a{color:var(--color-text);text-decoration:none}:is(.Menu_menu__n43sH a):hover{color:var(--link-hover-color);text-decoration:none}.Menu_line__lYQpS{position:relative;margin-top:-1px;z-index:101;border-bottom:1px solid var(--color-light)}.Menu_popupMenu__mrnbQ{display:flex;position:fixed;top:0;left:0;right:0;height:100vh;padding-bottom:var(--page-padding);border-radius:0var (--border-radius);z-index:99;background:var(--opacity-bg);backdrop-filter:blur(8px);padding-top:calc(var(--h2-lh) + var(--page-padding) * 2);overflow-y:auto;transition:top .3s ease-in-out}.Menu_popupMenu__mrnbQ.Menu_open__bZ0KD{top:0;display:flex;flex-direction:column}.Menu_popupMenu__mrnbQ.Menu_closed__VGZkb{top:-100vh;display:flex;flex-direction:column}.Menu_popupMenu__mrnbQ ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:.25em}.Menu_popupMenu__mrnbQ li a{color:var(--color-text);text-decoration:none}:is(.Menu_popupMenu__mrnbQ li a):hover{color:var(--link-hover-color)}.Menu_popupMenu__mrnbQ .Menu_subList__XxRqr{padding-left:1em}:is(.Menu_popupMenu__mrnbQ .Menu_subList__XxRqr) li a{font-size:var(--h2-fs);line-height:var(--h2-lh)}.Menu_menuButton__Gbgiu{background:none;border:none;cursor:pointer;padding:0;color:var(--color-text);display:flex;align-items:center;justify-content:center}.Menu_menuWrapper__53c4p{width:100%}.Footer_footer__iK4Mm{padding:var(--page-padding) 0;font-size:var(--small-body-size);color:var(--color-text)}.Footer_line__jIOS0{border-top:1px solid var(--color-light);margin-bottom:var(--page-padding)}*,:after,:before{box-sizing:border-box}:not(dialog){margin:0}@media (prefers-reduced-motion:no-preference){html{interpolate-size:allow-keywords}}body{line-height:1.5;-webkit-font-smoothing:antialiased}canvas,img,picture,svg,video{display:block}.page canvas,.page img,.page picture,.page svg,.page video{max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{overflow-wrap:anywhere}code,pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#__next,#root{isolation:isolate}:focus:not(:focus-visible){outline:none}:root{--large-mobile-size:35em;--tablet-size:48em;--desktop-size:60em;--widescreen-size:75em}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;font-family:var(--body-font);font-size:var(--body-size);color:var(--color-text);background:var(--color-bg)}a{color:inherit;transition:color .2s ease-in-out}a:hover{text-decoration:underline;color:var(--link-hover-color)}h1,h2,h3,h4,h5,h6{font-weight:var(--h-fw);line-height:1.3}h1{font-size:var(--h1-fs);line-height:var(--h1-lh)}h2{font-size:var(--h2-fs);line-height:var(--h2-lh)}h3{font-size:var(--h3-fs);line-height:var(--h3-lh)}p{line-height:var(--body-line-height);margin-bottom:.8em}code,pre{font-family:var(--code-font);font-size:var(--small-body-size)}ol,ul{padding-left:1.4em}:root{--desktop-scale:0.38;--mobile-scale:0.354166;--font-mobile-scale-factor:var(--mobile-scale);--font-desktop-scale-factor:var(--desktop-scale);--f1:1;--f2:2;--f3:3;--f4:5;--f5:8;--f6:13;--f7:21;--f8:34;--h-fw:600;--menu-fw:var(--h-fw);--font-scale:var(--font-mobile-scale-factor)}@media screen and (min-width:60em){:root{--font-scale:var(--font-desktop-scale-factor)}}:root{--base-font-size:16px;--fib00:calc(var(--base-font-size) * var(--f1) * var(--font-scale));--fib0:calc(var(--base-font-size) * var(--f2) * var(--font-scale));--fib1:calc(var(--base-font-size) * var(--f3) * var(--font-scale));--fib2:calc(var(--base-font-size) * var(--f4) * var(--font-scale));--fib3:calc(var(--base-font-size) * var(--f5) * var(--font-scale));--fib4:calc(var(--base-font-size) * var(--f6) * var(--font-scale));--font-sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"IBM Plex Mono","Cascadia Code","Fira Code","Source Code Pro",Menlo,Monaco,Consolas,monospace;--body-font:var(--font-sans);--code-font:var(--font-mono);--h1xl:var(--fib4);--h1:var(--fib3);--h2:var(--fib2);--h3:var(--fib1);--lead:var(--fib1);--p1:var(--fib1);--p2:var(--fib0);--label:var(--fib0);--h1xl-lh:calc(var(--h1xl) * 1.2);--h1-lh:calc(var(--h1) * 1.35);--h2-lh:calc(var(--h2) * 1.35);--h3-lh:calc(var(--h3) * 1.35);--lead-lh:calc(var(--lead) * 1.45);--p1-lh:calc(var(--p1) * 1.5);--p2-lh:calc(var(--p2) * 1.45);--label-lh:calc(var(--label) * 1.2);--body-size:var(--p1);--body-text:var(--color-text);--small-body-size:var(--p2);--very-small-body-size:var(--label);--body-line-height:var(--p1-lh);--h1-fs:var(--h1);--h2-fs:var(--h2);--h3-fs:var(--h3);--p1-fs:var(--p1);--p2-fs:var(--p2);--label-fs:var(--label);--sans-weight:400;--grid-title-weight:700;--color-sandpack-surface-1:#0d0f12;--color-sandpack-surface-2:#4d5160;--color-sandpack-surface-3:#2f2f2f;--color-sandpack-clickable:#6887a1;--color-sandpack-base:grey;--color-sandpack-disabled:#4d4d4d;--color-sandpack-hover:#fff;--color-sandpack-accent:#ffd500;--color-sandpack-error:#811d18;--color-sandpack-error-surface:#ffcfcc;--color-bg:#fff;--color-surface:#fff;--color-text:#000;--color-secondary:#fff;--color-secondary-dark:#c9c9c9;--color-border:#b4b4b4;--color-link:#004cae;--color-accent:var(--color-sandpack-accent);--color-code-base:var(--color-sandpack-surface-2);--color-muted:#d5cdc3;--color-on-accent:#fff;--link-hover-color:var(--color-link);--opacity-bg:hsla(0,0%,100%,.5);--image-opacity:1;--blur:15px;--color-light:var(--color-border);--color-very-light:var(--color-muted);--blur-level:22px;--blur-bg-light:hsla(0,0%,100%,.2);--blur-bg-dark:rgba(0,0,0,.2)}html.light-mode{--color-text:#000;--color-secondary:#000;--color-bg:#fff;--color-surface:#fff;--opacity-bg:hsla(0,0%,100%,.3)}html.dark-mode{--color-text:#fff;--color-secondary:#0f0;--color-secondary-text:#000;--color-bg:#000;--color-surface:#000;--opacity-bg:rgba(0,0,0,.5);--color-light:#505050}html.image-on{--image-opacity:1}html.image-off{--image-opacity:0}:root{--page-padding:16px;--side-padding:16px;--menu-padding:3px;--grid-spacing:calc(var(--page-padding) / 2);--space-1:calc(var(--page-padding) / 4);--space-2:calc(var(--page-padding) / 2);--space-3:var(--page-padding);--space-4:calc(var(--page-padding) * 1.5);--space-5:calc(var(--page-padding) * 2);--space-6:calc(var(--page-padding) * 3);--radius-1:4px;--radius-2:8px;--container-max-width:100%;--sm-container-max-width:100%;--md-container-max-width:1200px;--lg-container-max-width:1680px;--logo-spacing:calc(var(--page-padding) * 1.8)}@media screen and (min-width:35em){:root{--container-max-width:var(--sm-container-max-width)}}@media screen and (min-width:48em){:root{--page-padding:32px;--side-padding:calc(var(--page-padding));--container-max-width:var(--md-container-max-width)}}@media screen and (min-width:75em){:root{--side-padding:calc(var(--page-padding) * 2);--container-max-width:var(--lg-container-max-width)}}:root{--body-max-width:clamp(500px,calc(calc(var(--container-max-width) * 0.5) - calc(var(--side-padding) * 2)),880px);--grid-gap:calc(var(--page-padding) / 2);--grid-margin-bottom:var(--space-3);--slide-scroll-offset:calc(var(--h2-lh) + var(--page-padding) * 0)}.padded-menu{padding:var(--menu-padding) 0 0 0}.padded-menu>div,.padded-page{padding:0 var(--side-padding)}.padded-page{max-width:var(--container-max-width);margin:0 auto}.body-section{max-width:var(--body-max-width)}.page-section{margin:var(--fib3) 0 var(--fib4) 0}.page{margin-top:calc(var(--menu-padding) + var(--h1xl-lh))}@media screen and (min-width:48em){.page{margin-top:calc(var(--menu-padding) + var(--h1xl-lh))}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}