@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-italic.B5xAaiFk.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-italic.DzZdc28x.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-italic.DcOpz6Lw.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-italic.CILZdfAp.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-italic.K3WlGtc8.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-italic.0pjOp8NU.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-italic.DpCbqKDY.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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}:root{color-scheme:light dark;--color-bg:#f7f5f0;--color-surface:#eef1ec;--color-surface-raised:#fbfaf7;--color-text:#23313b;--color-heading:#12202a;--color-muted:#5d6d76;--color-border:#dfe3dc;--color-accent:#2e7470;--color-accent-hover:#1d5552;--color-accent-soft:#dcebe7;--color-code-bg:#e8ece6;--color-code-block:#eef2ee;--hero-from:#eaf2ee;--hero-to:#f7f5f0;--wave:#cfe2dc;--shadow:0 1px 2px #12202a0a, 0 8px 24px -12px #12202a1f;--font-heading:"Newsreader Variable", Georgia, "Times New Roman", serif;--font-body:"Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-size-base:1.0625rem;--line-height:1.75;--content-width:44rem;--wide-width:48rem;--radius:14px;--radius-sm:8px;--space:1.25rem;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root{--color-bg:#0f1a20;--color-surface:#15232b;--color-surface-raised:#182830;--color-text:#d3dee1;--color-heading:#f0f5f5;--color-muted:#8ea2a9;--color-border:#24363f;--color-accent:#7fc4bc;--color-accent-hover:#a9dcd5;--color-accent-soft:#1b3436;--color-code-bg:#1a2a32;--color-code-block:#132129;--hero-from:#132a2e;--hero-to:#0f1a20;--wave:#1d3a3c;--shadow:0 1px 2px #0000004d, 0 10px 30px -14px #0009}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background:var(--color-bg);overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01";flex-direction:column;margin:0;display:flex}main{width:100%;max-width:var(--content-width);padding:calc(var(--space) * 3) var(--space) calc(var(--space) * 4);flex:1;margin:0 auto}::selection{background:var(--color-accent-soft);color:var(--color-heading)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-optical-sizing:auto;color:var(--color-heading);letter-spacing:-.01em;text-wrap:balance;margin:0 0 .5em;font-weight:560;line-height:1.15}h1{letter-spacing:-.02em;font-size:clamp(2.25rem,1.6rem + 2.6vw,3.25rem)}h2{margin-top:1.8em;font-size:1.9rem}h3{margin-top:1.6em;font-size:1.45rem}h4{font-size:1.2rem}a{color:var(--color-accent);text-decoration-color:color-mix(in srgb, var(--color-accent) 40%, transparent);text-underline-offset:.2em;transition:color .15s var(--ease), text-decoration-color .15s var(--ease);text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}p{text-wrap:pretty;margin:0 0 1.25em}img{border-radius:var(--radius);max-width:100%;height:auto}strong{color:var(--color-heading);font-weight:620}code{font-family:var(--font-mono);background:var(--color-code-bg);border-radius:6px;padding:.15em .4em;font-size:.86em}pre{border:1px solid var(--color-border);border-radius:var(--radius);margin:0 0 1.5em;padding:1.1em 1.25em;font-size:.875rem;line-height:1.65;overflow-x:auto}pre.astro-code{background-color:var(--color-code-block)!important}pre>code{all:unset;font-family:var(--font-mono)}@media (prefers-color-scheme:dark){.astro-code,.astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}}blockquote{border-left:3px solid var(--color-accent);background:var(--color-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-muted);font-family:var(--font-heading);margin:0 0 1.5em;padding:.75em 1.25em;font-size:1.15em;font-style:italic}blockquote p:last-child{margin:0}hr{background:var(--color-border);border:none;height:1px;margin:2.5em 0}ul,ol{padding-left:1.4em}li{margin:.3em 0}li::marker{color:var(--color-accent)}table{border-collapse:collapse;width:100%;font-size:.95em}th,td{border-bottom:1px solid var(--color-border);text-align:left;padding:.6em .75em}th{color:var(--color-heading);font-weight:600}.muted{color:var(--color-muted)}.eyebrow{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin:0 0 .75rem;font-size:.78rem;font-weight:600}.page-head{margin-bottom:2.5rem}.page-head h1{margin-bottom:.25em}.page-head p{color:var(--color-muted);margin:0;font-size:1.1rem}.button{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-bg);transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);border-radius:999px;align-items:center;gap:.4em;padding:.6em 1.15em;font-size:.95rem;font-weight:550;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-bg);transform:translateY(-1px)}.button.ghost{color:var(--color-accent);background:0 0}.button.ghost:hover{background:var(--color-accent-soft);color:var(--color-accent-hover)}.pill{background:var(--color-accent-soft);color:var(--color-accent-hover);border-radius:999px;padding:.2em .75em;font-size:.82rem;font-weight:520;text-decoration:none;display:inline-block}.pill:hover{color:var(--color-heading)}@media (prefers-color-scheme:dark){.pill{color:var(--color-accent)}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:var(--space);top:var(--space);z-index:10;background:var(--color-bg);padding:.5em 1em}@media (width<=720px){:root{--font-size-base:1rem;--space:1rem}main{padding:calc(var(--space) * 2) var(--space) calc(var(--space) * 3)}h2{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.logo[data-astro-cid-f7espo7c]{flex:none;display:block}.tile[data-astro-cid-f7espo7c]{fill:var(--color-accent)}.wave[data-astro-cid-f7espo7c]{fill:none;stroke:var(--color-bg);stroke-width:2.2px;stroke-linecap:round}.faint[data-astro-cid-f7espo7c]{opacity:.6}footer[data-astro-cid-jo6i4kqk]{color:var(--color-muted);margin-top:2rem;font-size:.9rem}.wave[data-astro-cid-jo6i4kqk]{width:100%;height:28px;display:block}.wave[data-astro-cid-jo6i4kqk] path[data-astro-cid-jo6i4kqk]{fill:var(--color-surface)}.inner[data-astro-cid-jo6i4kqk]{padding:1.5rem max(var(--space), calc((100% - var(--wide-width)) / 2 + var(--space))) 2.5rem;background:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.brand[data-astro-cid-jo6i4kqk]{font-family:var(--font-heading);color:var(--color-heading);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;display:inline-flex}ul[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}li[data-astro-cid-jo6i4kqk]{margin:0}a[data-astro-cid-jo6i4kqk]{color:var(--color-muted);text-decoration:none}a[data-astro-cid-jo6i4kqk]:hover{color:var(--color-accent)}p[data-astro-cid-jo6i4kqk]{margin:0}header[data-astro-cid-nen7h5rs]{z-index:5;border-bottom:1px solid color-mix(in srgb, var(--color-border) 70%, transparent);background:color-mix(in srgb, var(--color-bg) 85%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);position:sticky;top:0}nav[data-astro-cid-nen7h5rs]{max-width:var(--wide-width);padding:.8rem var(--space);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:0 auto;display:flex}.brand[data-astro-cid-nen7h5rs]{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--color-heading);align-items:center;gap:.6rem;font-size:1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.brand[data-astro-cid-nen7h5rs]:hover{color:var(--color-heading)}ul[data-astro-cid-nen7h5rs]{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}li[data-astro-cid-nen7h5rs]{margin:0}ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--color-muted);border-radius:999px;padding:.35em .85em;font-size:.95rem;font-weight:500;text-decoration:none;display:block}ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--color-heading);background:var(--color-surface)}ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--color-accent-hover);background:var(--color-accent-soft)}@media (prefers-color-scheme:dark){ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs].active{color:var(--color-accent)}}
