@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.cHuGMAiY.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.DwHjdM4S.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.ece1310W.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.D-yuW59g.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.CxNHBx-q.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.D9elroTD.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-italic.BXuSHrjR.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-italic.RLIThRd4.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-italic.F2ziEGcb.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-italic.C3q834ic.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-italic.CpkvI5hy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Source Serif 4 Variable";font-style:italic;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-italic.D2yaqPoE.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,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(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,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:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fff;--surface:#f5f7f9;--ink:#20262d;--muted:#56616e;--rule:#dce1e7;--accent:#1759b0;--accent-soft:#edf3fc;--code-bg:#f5f7f9;--on-accent:#fff;--danger:#b42318;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:"Source Serif 4 Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius:3px;--measure:44rem;--wide:74rem;--gutter:clamp(1rem, 4vw, 2rem);--header-h:3.25rem;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#14171b;--surface:#1b1f24;--ink:#e3e7ec;--muted:#9aa4b0;--rule:#2d333b;--accent:#72a9f5;--accent-soft:#172437;--code-bg:#1b1f24;--on-accent:#0d1522;--danger:#f97066;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}body{background:var(--bg);color:var(--ink);font-family:var(--sans);margin:0;font-size:1.0625rem;line-height:1.6}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,h4{letter-spacing:-.01em;text-wrap:balance;font-weight:650;line-height:1.25}h1{margin:0 0 .75rem;font-size:clamp(1.9rem,3vw,2.4rem)}h2{margin:2.75rem 0 .75rem;font-size:1.5rem}h3{margin:2rem 0 .5rem;font-size:1.15rem}p,ul,ol,table,pre{margin:0 0 1.1rem}li+li{margin-top:.25rem}code,kbd,pre,samp{font-family:var(--mono);font-size:.86em}:not(pre)>code{background:var(--code-bg);border:1px solid var(--rule);border-radius:var(--radius);overflow-wrap:anywhere;padding:.05em .3em}pre{border:1px solid var(--rule);border-radius:var(--radius);padding:.9rem 1rem;font-size:.86rem;line-height:1.55;overflow-x:auto;background:var(--code-bg)!important}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important}}table{border-collapse:collapse;width:100%;font-size:.94rem;display:block;overflow-x:auto}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:.55rem .9rem .55rem 0}th{border-bottom:2px solid var(--rule);font-weight:600}td code{white-space:nowrap}blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);margin:1.5rem 0;padding:.75rem 1rem}blockquote p:last-child{margin-bottom:0}hr{border:0;border-top:1px solid var(--rule);margin:2.5rem 0}.wrap{width:100%;max-width:var(--wide);padding-inline:var(--gutter);margin-inline:auto}.lead{color:var(--muted);max-width:40rem;font-size:1.15rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}.btn{border:1px solid var(--rule);background:var(--bg);border-radius:var(--radius);cursor:pointer;color:var(--ink);justify-content:center;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.92rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--muted)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:hover{filter:brightness(1.1);border-color:var(--accent)}.btn:disabled{opacity:.6;cursor:progress}.wordmark[data-astro-cid-qisgtjgl]{font-family:var(--serif);letter-spacing:0;white-space:nowrap;font-weight:600}.sc[data-astro-cid-qisgtjgl]{letter-spacing:.02em;font-size:1.12em;font-variant-caps:all-small-caps}.e[data-astro-cid-qisgtjgl]{text-transform:uppercase;margin-inline:-.14em -.1em;position:relative;top:.22em}.skip[data-astro-cid-hkbrpulz]:focus{clip:auto;background:var(--bg);border:1px solid var(--rule);z-index:10;width:auto;height:auto;padding:.5rem .75rem;position:fixed;top:.5rem;left:.5rem}.site-header[data-astro-cid-hkbrpulz]{border-bottom:1px solid var(--rule);background:var(--bg);z-index:5;position:sticky;top:0}.bar[data-astro-cid-hkbrpulz]{height:var(--header-h);align-items:center;gap:1.25rem;display:flex}.home[data-astro-cid-hkbrpulz]{color:var(--ink);padding-bottom:.2rem;font-size:1.35rem;line-height:1;text-decoration:none}.tld[data-astro-cid-hkbrpulz]{font-family:var(--mono);color:var(--muted);margin-left:.1rem;font-size:.55em}nav[data-astro-cid-hkbrpulz]{margin-left:auto}.menu[data-astro-cid-hkbrpulz] summary[data-astro-cid-hkbrpulz]{cursor:pointer;border:1px solid var(--rule);border-radius:var(--radius);padding:.3rem .65rem;font-size:.92rem;list-style:none}.menu[data-astro-cid-hkbrpulz] summary[data-astro-cid-hkbrpulz]::-webkit-details-marker{display:none}.menu[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{left:0;right:0;top:var(--header-h);background:var(--bg);border-bottom:1px solid var(--rule);margin:0;padding:.25rem 0;list-style:none;position:absolute}.menu[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz]+li[data-astro-cid-hkbrpulz]{margin:0}.menu[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{padding:.65rem var(--gutter);display:block}.menu[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{background:var(--surface)}.lang[data-astro-cid-hkbrpulz]{color:var(--muted);font-size:.9rem;text-decoration:none}.lang[data-astro-cid-hkbrpulz]:hover{color:var(--ink)}.links[data-astro-cid-hkbrpulz]{display:none}.links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz],.menu[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--ink);text-decoration:none}.links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page],.menu[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{color:var(--accent);font-weight:600}@media (width>=60rem){.menu[data-astro-cid-hkbrpulz]{display:none}.links[data-astro-cid-hkbrpulz]{height:var(--header-h);margin:0;padding:0;list-style:none;display:flex}.links[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz]+li[data-astro-cid-hkbrpulz]{margin:0}.links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{border-bottom:2px solid #0000;align-items:center;height:100%;margin-bottom:-1px;padding:0 .7rem;font-size:.94rem;display:flex}.links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--accent)}.links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{border-bottom-color:var(--accent)}.lang[data-astro-cid-hkbrpulz]{border-left:1px solid var(--rule);padding-left:1.25rem}}.site-footer[data-astro-cid-hkbrpulz]{border-top:1px solid var(--rule);background:var(--surface);color:var(--muted);margin-top:5rem;padding:1.75rem 0 2.5rem;font-size:.9rem}.foot[data-astro-cid-hkbrpulz]{flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;display:flex}.foot[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{margin:0}.foot[data-astro-cid-hkbrpulz] ul[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.foot[data-astro-cid-hkbrpulz] li[data-astro-cid-hkbrpulz]+li[data-astro-cid-hkbrpulz]{margin:0}.foot[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--muted)}.foot[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--accent)}
