@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/hanken-grotesk-latin-wght-normal.CaVRRdDk.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{--void:#0a0a0b;--void-2:#101013;--panel:#141418;--line:#ffffff1a;--line-2:#ffffff2e;--paper:#fff;--paper-2:#f4f3ef;--hair:#0a0a0b1a;--hair-2:#0a0a0b29;--white:#fafaf7;--head:#f5f5f1;--mut:#9c9ca4;--faint:#6c6c74;--ink:#0e0e10;--body:#33333a;--muted-l:#5b5b63;--volt:#c4e640;--volt-glow:#d6f25a;--volt-deep:#5f6e14;--volt-rgb:196,230,64;--volt-wash-d:#c4e64024;--volt-wash-l:#c4e64029;--volt-line:#c4e64066;--r:12px;--r-lg:18px;--r-full:999px;--maxw:1140px;--font:"Hanken Grotesk Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--z-dropdown:100;--z-sticky:50;--z-modal:400;--z-toast:600}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--void);color:var(--mut);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01";margin:0;font-size:17px;line-height:1.6}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-weight:700;line-height:1.04}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}.tnum{font-variant-numeric:tabular-nums}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,3rem)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{border-radius:var(--r-full);cursor:pointer;transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s, border-color .18s;border:1px solid #0000;align-items:center;gap:9px;padding:12px 22px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn svg{width:16px;height:16px}.btn .btn-ico{flex:none;width:17px;height:17px}.btn-white{background:var(--white);color:var(--ink)}.btn-white:hover{transform:translateY(-1px);box-shadow:0 10px 30px #0006}.btn-ghost-dk{color:var(--white);border-color:var(--line-2);background:#ffffff0a}.btn-ghost-dk:hover{border-color:var(--white);background:#ffffff14}.btn-ghost{color:var(--ink);border-color:var(--hair-2);background:0 0}.btn-ghost:hover{border-color:var(--ink)}.btn-dark{background:var(--ink);color:var(--white)}.btn-dark:hover{transform:translateY(-1px);box-shadow:0 10px 28px #0a0a0b47}.btn-olive{background:var(--volt);color:#12160a}.btn-olive:hover{background:var(--volt-glow);box-shadow:0 10px 30px rgba(var(--volt-rgb),.3);transform:translateY(-1px)}section{position:relative}.sec-pad{padding-block:clamp(4rem,9vw,7.5rem)}.light{background:var(--paper);color:var(--body)}.light h2,.light h3{color:var(--ink)}.dark{background:var(--void)}.dark h2,.dark h3{color:var(--head)}.sec-head{text-align:center;max-width:760px;margin-inline:auto}.sec-head h2{letter-spacing:-.04em;font-size:clamp(2rem,4vw,3rem)}.sec-head .sub{margin-top:14px;font-size:clamp(1.02rem,1.5vw,1.15rem)}.light .sec-head .sub{color:var(--muted-l)}.dark .sec-head .sub{color:var(--mut)}.lead{width:min(100%,46ch);max-width:46ch;color:var(--mut);font-size:clamp(1.08rem,1.7vw,1.24rem)}.reveal{opacity:0;animation:rise .8s var(--ease) forwards;transform:translateY(16px)}.reveal.d1{animation-delay:70ms}.reveal.d2{animation-delay:.14s}.reveal.d3{animation-delay:.22s}@keyframes rise{to{opacity:1;transform:none}}.sr{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(16px)}.sr.on{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none;transform:none}.sr{opacity:1;transition:none;transform:none}}.prose{color:var(--body);font-size:clamp(1rem,1.15vw,1.08rem);line-height:1.72}.prose>*+*{margin-top:1.12rem}.prose h2,.prose h3,.prose h4{color:var(--ink);margin-top:2.5rem}.prose h2{letter-spacing:-.04em;font-size:clamp(1.9rem,3.4vw,2.75rem)}.prose h3{font-size:clamp(1.35rem,2.2vw,1.8rem)}.prose h4{font-size:1.12rem}.prose p,.prose li{max-width:72ch}.prose a{color:var(--volt-deep);text-underline-offset:3px;font-weight:650;text-decoration:underline}.prose strong{color:var(--ink);font-weight:700}.prose em{color:var(--body)}.prose ul,.prose ol{max-width:72ch;padding-left:1.35rem}.prose li+li{margin-top:.4rem}.prose blockquote{border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--paper-2);color:var(--ink);margin:2rem 0;padding:1.1rem 1.25rem}.prose blockquote p{margin:0}.prose hr{border:0;border-top:1px solid var(--hair);margin:2.4rem 0}.prose img{border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--paper-2);max-width:100%;height:auto;margin:1.8rem auto;display:block}.prose a.btn{font-weight:600;text-decoration:none}.prose a.btn-dark{color:var(--white)}.prose a.btn-olive{color:#12160a}.prose a.btn-ghost{color:var(--ink)}.prose .btn img{background:0 0;border:0;border-radius:0;margin:0;display:inline-block}.prose table{border-collapse:collapse;width:100%;max-width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose table thead,.prose table tbody{border-collapse:collapse;width:100%;min-width:680px;display:table}.prose table th{color:var(--ink);background:var(--paper-2);font-weight:700}.prose table th,.prose table td{border:1px solid var(--hair);text-align:left;vertical-align:top;padding:.72rem .8rem}.prose table tr:nth-child(2n) td{background:color-mix(in srgb, var(--paper-2) 55%, transparent)}.prose code{background:var(--paper-2);border:1px solid var(--hair);color:var(--ink);border-radius:6px;padding:.05rem .35rem}.prose pre{border-radius:var(--r-lg);background:var(--void);color:var(--white);padding:1rem;overflow-x:auto}
