@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.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 Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.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}img[data-astro-cid-4pt2nqzy]{border-radius:22%;display:block}.nav[data-astro-cid-wpvy4v7s]{border-bottom:1px solid #22282d}.nav__in[data-astro-cid-wpvy4v7s]{align-items:center;gap:32px;padding-block:18px;display:flex}.nav__brand[data-astro-cid-wpvy4v7s]{font-family:var(--display);color:var(--text);align-items:center;gap:10px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.nav__mark[data-astro-cid-wpvy4v7s]{display:flex}.nav__links[data-astro-cid-wpvy4v7s]{flex-wrap:wrap;gap:26px;font-size:14.5px;display:flex}.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{color:var(--text-2);text-decoration:none}.nav__links[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--text);text-decoration:underline}.nav__cta[data-astro-cid-wpvy4v7s]{background:var(--accent);color:var(--accent-ink);white-space:nowrap;border-radius:8px;margin-left:auto;padding:10px 18px;font-size:14.5px;font-weight:600;text-decoration:none}.nav__cta[data-astro-cid-wpvy4v7s]:hover{color:var(--accent-ink);background:#55e6a8}@media (width<=720px){.nav__in[data-astro-cid-wpvy4v7s]{flex-wrap:wrap;gap:14px 20px}.nav__links[data-astro-cid-wpvy4v7s]{order:3;width:100%}.nav__cta[data-astro-cid-wpvy4v7s]{margin-left:0}}.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid #22282d;margin-top:72px}.footer__in[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:60px;padding-block:34px 44px;display:flex}.footer__who[data-astro-cid-jo6i4kqk]{width:300px}.footer__name[data-astro-cid-jo6i4kqk]{font-family:var(--display);margin:0 0 10px;font-size:16px;font-weight:700}.footer__line[data-astro-cid-jo6i4kqk]{color:#7e8b93;margin:0;font-size:13.5px;line-height:1.6}.footer__cols[data-astro-cid-jo6i4kqk]{flex:420px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px 40px;display:grid}.footer__head[data-astro-cid-jo6i4kqk]{color:var(--faint);letter-spacing:.05em;text-transform:uppercase;margin:0 0 6px;font-size:12px}.footer__cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{font-size:13.5px;line-height:2;text-decoration:none;display:block}.footer__cols[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{text-decoration:underline}:root{--bg:#0e1113;--panel:#14181b;--panel-2:#171b1e;--line:#242b30;--line-soft:#1e2428;--text:#e8ecef;--text-2:#b4c0c8;--muted:#8d9aa3;--faint:#63707a;--accent:#3ddc97;--accent-ink:#06231a;--accent-soft:#7fe7c4;--warn:#f1b44c;--alert:#ff7a6b;--hot:#ff8a5b;--display:"Space Grotesk Variable", system-ui, sans-serif;--body:"IBM Plex Sans Variable", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--gutter:clamp(20px, 5vw, 72px)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;line-height:1.08}a{color:var(--accent-soft)}a:hover{color:#b6f2dc}main{display:block}.wrap{max-width:1160px;padding-inline:var(--gutter);margin:0 auto}.skip{background:var(--accent);color:var(--accent-ink);z-index:10;padding:12px 18px;position:absolute;top:0;left:-9999px}.skip:focus{left:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn{background:var(--accent);color:var(--accent-ink);border-radius:10px;min-height:44px;padding:15px 26px;font-size:16px;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{color:var(--accent-ink);background:#55e6a8}.mono{font-family:var(--mono)}.eyebrow{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-soft);margin:0 0 18px;font-size:13px}.prose{max-width:42rem}.prose h2{margin:44px 0 12px;font-size:clamp(26px,3.4vw,34px)}.prose h3{margin:32px 0 10px;font-size:21px}.prose p,.prose li{color:var(--text-2)}.prose li{margin-bottom:8px}.prose code{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:2px 6px;font-size:.92em}.prose pre{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:16px 18px;font-size:14px;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}
