@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.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{--ink:#1a1f27;--ink-2:#2b323d;--ink-3:#3a4250;--mute:#59616f;--mute-on-dark:#b7bec9;--line:#e1e4e9;--line-strong:#c9ced6;--surface:#f4f5f7;--paper:#fff;--brand:#ffc800;--brand-hover:#f2bd00;--danger:#b42318;--success:#067647;--font:"Archivo Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--radius-sm:6px;--radius:8px;--radius-lg:14px;--container:1200px;--gutter:40px;--section-y:112px;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (width<=640px){:root{--gutter:20px;--section-y:72px}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6}@media (width<=640px){body{font-size:16px}}[hidden]{display:none!important}img,svg{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}h1,h2,h3,h4,p{margin:0}.container{max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.t-display{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(42px,6vw,68px);font-weight:700;font-stretch:82%;line-height:1.02}.t-h2{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(36px,4.4vw,50px);font-weight:700;font-stretch:84%;line-height:1.06}.t-h3{font-size:21px;font-weight:650;line-height:1.25}.t-lead{color:var(--mute);font-size:clamp(18px,1.6vw,20px);line-height:1.55}.t-mute{color:var(--mute)}.link{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:5px;font-weight:600;text-decoration-thickness:1.5px}.link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.prose{max-width:68ch;color:var(--ink-2);font-size:18px;line-height:1.7}.prose>*+*{margin-top:1.1em}.prose h2{color:var(--ink);margin-top:2em;font-size:28px;font-stretch:86%;line-height:1.2}.prose h3{color:var(--ink);margin-top:1.6em;font-size:21px}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose a{text-underline-offset:4px;font-weight:600}.prose blockquote{border-left:3px solid var(--brand);color:var(--ink);margin-inline:0;padding-left:20px}.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:16px}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}.prose th{color:var(--ink);font-weight:650}.prose code{background:var(--surface);border-radius:4px;padding:2px 6px;font-size:.9em}.prose h2,.prose h3{scroll-margin-top:96px}.prose h4{color:var(--ink);margin-top:1.4em;font-size:18px}.prose figure{margin:1.6em 0}.prose img{border-radius:var(--radius);background:var(--surface);max-width:100%;height:auto;display:block}.prose figcaption{color:var(--mute);text-align:center;margin-top:10px;font-size:15px}.prose .table-wrap{overflow-x:auto}.prose pre{border-radius:var(--radius);background:var(--surface);padding:16px 18px;font-size:15px;line-height:1.55;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}:root{--reveal-x:96px;--reveal-y:40px;--reveal-dur:1.2s;--reveal-ease:cubic-bezier(.22, .61, .36, 1)}@media (width<=640px){:root{--reveal-x:56px;--reveal-y:32px}}#main{overflow-x:clip}.hl{background:linear-gradient(var(--brand), var(--brand)) no-repeat 0 92% / 100% .3em;-webkit-box-decoration-break:clone;box-decoration-break:clone}@media (prefers-reduced-motion:no-preference){.js-reveal [data-reveal]{opacity:0;transform:translateY(var(--reveal-y));transition:opacity calc(var(--reveal-dur) * .8) var(--reveal-ease), transform var(--reveal-dur) var(--reveal-ease);transition-delay:var(--reveal-delay,0s)}.js-reveal [data-reveal=left]{transform:translateX(calc(var(--reveal-x) * -1))}.js-reveal [data-reveal=right]{transform:translateX(var(--reveal-x))}.js-reveal [data-reveal=zoom]{transform:translateY(24px)scale(.9)}.js-reveal [data-reveal].is-visible{opacity:1;transform:none}.js-reveal [data-reveal=mask]{opacity:1;clip-path:inset(0 0 100%);transition:clip-path var(--reveal-dur) var(--reveal-ease), transform var(--reveal-dur) var(--reveal-ease);transform:translateY(28px)}.js-reveal [data-reveal=mask].is-visible{clip-path:inset(0 0 -20%);transform:none}.js-reveal [data-reveal=hl]{opacity:1;transition:background-size 1s cubic-bezier(.65,0,.35,1);transition-delay:var(--reveal-delay,.6s);background-size:0% .3em;transform:none}.js-reveal [data-reveal=hl].is-visible{background-size:100% .3em}}@media (prefers-reduced-motion:reduce){.js-reveal [data-reveal]:not([data-reveal=hl]){opacity:0;transition:opacity 1s ease-out, transform 1s var(--reveal-ease);transition-delay:var(--reveal-delay,0s);transform:translateY(20px)}.js-reveal [data-reveal]:not([data-reveal=hl]).is-visible{opacity:1;transform:none}}
