.site[data-astro-cid-nen7h5rs]{z-index:60;background:#fff;border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s;position:sticky;top:0}.site[data-astro-cid-nen7h5rs].is-stuck{border-bottom-color:var(--line-l);box-shadow:0 8px 30px -18px #05112e59}.no-js .site[data-astro-cid-nen7h5rs]{border-bottom-color:var(--line-l)}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.brand[data-astro-cid-nen7h5rs]{text-decoration:none;display:block}.brand-img[data-astro-cid-nen7h5rs]{width:auto;height:30px}@media (width<=480px){.brand-img[data-astro-cid-nen7h5rs]{height:24px}}nav[data-astro-cid-nen7h5rs].main{gap:28px;margin-left:auto;display:flex}nav[data-astro-cid-nen7h5rs].main a[data-astro-cid-nen7h5rs]{font-family:var(--display);letter-spacing:.02em;color:var(--ink-2);font-size:14.5px;font-weight:600;text-decoration:none;transition:color .2s}nav[data-astro-cid-nen7h5rs].main a[data-astro-cid-nen7h5rs]:hover,nav[data-astro-cid-nen7h5rs].main a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--cta)}.bar-right[data-astro-cid-nen7h5rs]{align-items:center;gap:14px;display:flex}.navtoggle[data-astro-cid-nen7h5rs]{border:1px solid var(--line-l);border-radius:var(--r);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:44px;height:44px;display:none}.navtoggle[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]{background:var(--brand);width:17px;height:1.5px;display:block;position:relative}.navtoggle[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]:before,.navtoggle[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]:after{content:"";background:var(--brand);width:17px;height:1.5px;position:absolute;left:0}.navtoggle[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]:before{top:-5.5px}.navtoggle[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]:after{top:5.5px}@media (width<=1000px){nav[data-astro-cid-nen7h5rs].main{display:none}.navtoggle[data-astro-cid-nen7h5rs]{display:flex}}@media (width<=600px){.bar-right[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{display:none}}.drawer[data-astro-cid-nen7h5rs]{border-top:1px solid var(--line-l);padding:6px var(--gut) 26px;background:#fff;display:none}.drawer[data-astro-cid-nen7h5rs].is-open{display:block}.dlink[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--line-l);color:var(--brand);font-family:var(--display);padding:14px 0;font-size:18px;font-weight:600;text-decoration:none;display:block}.drawer[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{justify-content:center;width:100%;margin-top:20px}.foot[data-astro-cid-jo6i4kqk]{background:var(--ink);border-top:1px solid var(--line);color:var(--fg-2);padding:clamp(50px,5.5vw,78px) 0 32px}.fgrid[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px 36px;display:grid}@media (width<=900px){.fgrid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}@media (width<=520px){.fgrid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}.brand[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{width:auto;height:28px}.fstatement[data-astro-cid-jo6i4kqk]{max-width:38ch;color:var(--fg-3);margin-top:20px;font-size:15px}.certs[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none;display:flex}.certs[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:2px;padding:8px 12px;display:flex}.cert-l[data-astro-cid-jo6i4kqk]{font-family:var(--display);color:var(--fg);font-size:13px;font-weight:700}.cert-d[data-astro-cid-jo6i4kqk]{color:var(--fg-3);font-size:11.5px}.flabel[data-astro-cid-jo6i4kqk]{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;font-size:12px;font-weight:500}.fl-2[data-astro-cid-jo6i4kqk]{margin-top:26px}.foot[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}.foot[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{padding:5px 0;font-size:15px}.foot[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--fg-2);text-decoration:none}.foot[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-hi)}.ids[data-astro-cid-jo6i4kqk] li[data-astro-cid-jo6i4kqk]{align-items:baseline;gap:12px;display:flex}.ids[data-astro-cid-jo6i4kqk] .k[data-astro-cid-jo6i4kqk]{letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);min-width:60px;font-size:12px}.ids[data-astro-cid-jo6i4kqk] .mono[data-astro-cid-jo6i4kqk]{color:var(--fg)}.soc[data-astro-cid-jo6i4kqk]{gap:16px;display:flex}.fbot[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.04em;color:var(--fg-3);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:46px;padding-top:22px;font-size:12.5px;display:flex}.concept[data-astro-cid-jo6i4kqk]{color:var(--accent)}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/archivo-vietnamese-600-normal.anCjMumA.woff2)format("woff2"),url(/_astro/archivo-vietnamese-600-normal.C8xBVdfP.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:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/archivo-latin-ext-600-normal.Dm61iqcg.woff2)format("woff2"),url(/_astro/archivo-latin-ext-600-normal.D7uErJuz.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:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/archivo-latin-600-normal.3BBy0ZsW.woff2)format("woff2"),url(/_astro/archivo-latin-600-normal.DwYieO8P.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:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/archivo-vietnamese-700-normal.nuAQAQa7.woff2)format("woff2"),url(/_astro/archivo-vietnamese-700-normal.Bz2vkKqq.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:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/archivo-latin-ext-700-normal.DD_nkw6b.woff2)format("woff2"),url(/_astro/archivo-latin-ext-700-normal.CgyfnKjw.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:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/archivo-latin-700-normal.D9cHMWGj.woff2)format("woff2"),url(/_astro/archivo-latin-700-normal.lT5TFe7H.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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/archivo-vietnamese-800-normal.DHDgv4cm.woff2)format("woff2"),url(/_astro/archivo-vietnamese-800-normal.BKe5Z8rz.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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/archivo-latin-ext-800-normal.BC6piDwP.woff2)format("woff2"),url(/_astro/archivo-latin-ext-800-normal.B9NTbsU1.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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/archivo-latin-800-normal.cB6v3kRN.woff2)format("woff2"),url(/_astro/archivo-latin-800-normal.DZa_k145.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff)format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.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: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{--brand:#1d376b;--ink:#05112e;--navy:#0b1b45;--panel:#122658;--line:#1f3466;--line-2:#2f4a88;--bg:#fff;--tint:#ecf1fa;--tint-2:#dce4f3;--line-l:#d3dbea;--fg:#f2f5fb;--fg-2:#b9c5de;--fg-3:#8a9ac0;--ink-1:#0b1730;--ink-2:#44506b;--ink-3:#546280;--cta:#1638a0;--cta-hi:#1e47c2;--accent:#1638a0;--accent-hi:#1e47c2;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--display:"Archivo","IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--wrap:1240px;--gut:clamp(20px,5vw,64px);--ease:cubic-bezier(.22,.61,.36,1);--r:3px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink-1);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(16px,1.02vw,17px);line-height:1.6;overflow-x:hidden}img,svg,canvas{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}p{max-width:62ch;margin:0 0 1em}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.015em;color:var(--brand);margin:0;line-height:1.05}.wrap{max-width:var(--wrap);padding-inline:var(--gut);margin-inline:auto}:where([id]){scroll-margin-top:92px}.vh{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{z-index:200;background:var(--cta);color:#fff;padding:10px 16px;font-weight:600;transition:top .2s;position:absolute;top:-60px;left:14px}.skip-link:focus{top:14px}.band{padding-block:clamp(64px,8vw,112px)}.band--light{background:var(--bg);color:var(--ink-1)}.band--tint{background:var(--tint);color:var(--ink-1)}.band--dark{background:var(--ink);color:var(--fg);--accent:#8fb3ff;--accent-hi:#b9d0ff}.band--dark h1,.band--dark h2,.band--dark h3,.band--dark h4{color:var(--fg)}.lbl{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;font-size:12.5px;font-weight:500}.h-xl{letter-spacing:-.03em;font-size:clamp(38px,5.4vw,70px);font-weight:800;line-height:.96}.h-lg{letter-spacing:-.025em;font-size:clamp(30px,3.6vw,48px);font-weight:700;line-height:1.04}.h-md{letter-spacing:-.015em;font-size:clamp(22px,2.2vw,28px);font-weight:700;line-height:1.15}.h-sm{letter-spacing:-.01em;font-size:clamp(18px,1.5vw,21px);font-weight:700;line-height:1.25}.lede{color:var(--ink-2);max-width:56ch;font-size:clamp(17px,1.25vw,20px);line-height:1.55}.band--dark .lede{color:var(--fg-2)}.mono{font-family:var(--mono);letter-spacing:.02em;font-weight:500}.btn{border-radius:var(--r);background:var(--cta);color:#fff;font-family:var(--display);letter-spacing:.01em;border:1px solid var(--cta);cursor:pointer;transition:background .2s,border-color .2s,transform .2s var(--ease);align-items:center;gap:10px;padding:15px 24px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{background:var(--cta-hi);border-color:var(--cta-hi)}.btn--ghost{color:var(--brand);border-color:var(--line-l);background:0 0}.btn--ghost:hover{border-color:var(--brand);background:#1d376b0f}.band--dark .btn--ghost{color:var(--fg);border-color:var(--line-2)}.band--dark .btn--ghost:hover{border-color:var(--fg-3);background:#ffffff0f}.btn--sm{padding:11px 18px;font-size:14px}.btn .arr{width:14px;height:14px;transition:transform .25s var(--ease)}.btn:hover .arr{transform:translate(3px)}.tlink{font-family:var(--display);color:var(--accent);align-items:center;gap:8px;padding-bottom:3px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.tlink:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1.5px;transition:transform .3s var(--ease);position:absolute;bottom:0;left:0;transform:scaleX(.35)}.tlink:hover:after{transform:scaleX(1)}.rule{border:0;border-top:1px solid var(--line-l);margin:0}.band--dark .rule{border-top-color:var(--line)}.kv{border-top:1px solid var(--line-l);margin:0;padding:0}.kv div{border-bottom:1px solid var(--line-l);grid-template-columns:minmax(120px,38%) 1fr;gap:12px;padding:11px 0;display:grid}.kv dt{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding-top:3px;font-size:11.5px}.kv dd{color:var(--brand);margin:0;font-size:15px;font-weight:500}.band--dark .kv,.band--dark .kv div{border-color:var(--line)}.band--dark .kv dt{color:var(--fg-3)}.band--dark .kv dd{color:var(--fg)}.igrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:clamp(28px,4vw,44px) 0 0;padding:0;list-style:none;display:grid}@media (width<=900px){.igrid{grid-template-columns:1fr 1fr}}@media (width<=560px){.igrid{grid-template-columns:1fr}}.igrid li{outline:1px solid var(--line-l);background:#fff;padding:22px 22px 24px}.band--tint .igrid li{background:#fff}.igrid .in{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);margin-bottom:10px;font-size:11.5px;display:block}.igrid h3{margin-bottom:8px}.igrid p{color:var(--ink-2);margin:0;font-size:14.5px}.stats{border-top:1px solid var(--line-l);border-bottom:1px solid var(--line-l);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:clamp(28px,4vw,44px) 0 0;padding:0;display:grid}.stats div{outline:1px solid var(--line-l);outline-offset:-.5px;padding:22px 24px}.stats dd{font-family:var(--display);letter-spacing:-.03em;color:var(--brand);margin:0;font-size:clamp(30px,3.4vw,44px);font-weight:800;line-height:1}.stats dt{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 0;font-size:11.5px}.band--dark .stats,.band--dark .stats div{border-color:var(--line);outline-color:var(--line)}.band--dark .stats dd{color:var(--fg)}.band--dark .stats dt{color:var(--fg-3)}.ruled{flex-wrap:wrap;gap:32px 28px;margin:clamp(28px,4vw,44px) 0 0;padding:0;list-style:none;display:flex}.ruled li{border-top:1px solid var(--line-l);flex:200px;padding-top:16px}.ruled .in{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);margin-bottom:10px;font-size:11.5px;display:block}.ruled h3{margin-bottom:8px}.ruled p{color:var(--ink-2);margin:0;font-size:14.5px}.band--dark .ruled li{border-top-color:var(--line)}.band--dark .ruled p{color:var(--fg-2)}.prose{max-width:72ch}.prose h2{margin:40px 0 12px;font-size:clamp(20px,1.8vw,24px)}.prose h3{margin:28px 0 8px;font-size:16px}.prose p{color:var(--ink-2);font-size:15.5px;line-height:1.65}.js .rv{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(14px)}.js .rv.is-in{opacity:1;transform:none}.js .rv-2{transition-delay:.12s}.js .rv-3{transition-delay:.24s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transition:none;transform:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
