@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-vietnamese-wght-normal.CtlIRbEm.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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-ext-wght-normal.MQgHevqp.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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-wght-normal.DdeTHZLK.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;--paper:#f5f5f7;--paper-deep:#ebebf0;--surface:#fff;--ink:#1d1d1f;--ink-soft:#424245;--ink-muted:#6b6b70;--rule:#e2e2e7;--rule-strong:#c7c7cc;--accent:#06c;--accent-ink:#0058b0;--accent-wash:#e8f1fc;--accent-strong:#004f9e;--focus:#06c;--tone-positive:#1e6b39;--tone-positive-wash:#e4f3e8;--tone-caution:#8a4f00;--tone-caution-wash:#fdf0d9;--tone-info:#0058b0;--tone-info-wash:#e8f1fc;--tone-neutral:#57575c;--tone-neutral-wash:#efeff2;--font-text:"Public Sans Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-text);--step--1:clamp(.83rem, .8rem + .15vw, .9rem);--step-0:clamp(1rem, .96rem + .2vw, 1.06rem);--step-1:clamp(1.15rem, 1.08rem + .35vw, 1.3rem);--step-2:clamp(1.35rem, 1.2rem + .7vw, 1.7rem);--step-3:clamp(1.6rem, 1.35rem + 1.2vw, 2.35rem);--step-4:clamp(2rem, 1.5rem + 2.4vw, 3.4rem);--step-5:clamp(2.3rem, 1.6rem + 3.4vw, 4.4rem);--space-3xs:.25rem;--space-2xs:.5rem;--space-xs:.75rem;--space-s:1rem;--space-m:1.5rem;--space-l:2rem;--space-xl:3rem;--space-2xl:4.5rem;--measure:66ch;--page:78rem;--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--radius:10px;--radius-l:18px;--shadow:0 1px 2px #0000000a, 0 6px 20px -8px #0000001f;--shadow-lift:0 2px 4px #0000000d, 0 16px 40px -12px #0000002e;--ease:cubic-bezier(.25, .8, .25, 1);--dur:.18s}@media (prefers-reduced-motion:reduce){:root{--dur:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-text);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;line-height:1.55;display:flex}img,svg{max-width:100%;display:block}img{height:auto}input,button,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.12}p,li,dd{text-wrap:pretty}ul[role=list],ol[role=list]{padding:0;list-style:none}main{flex:1}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);transition:text-decoration-color var(--dur) var(--ease), color var(--dur) var(--ease)}a:hover{text-decoration-color:currentColor}.prose a,a.text-link{color:var(--accent-ink);font-weight:550;text-decoration:none}.prose a:hover,a.text-link:hover{text-decoration:underline}a[target=_blank]:not(.no-ext):after{content:"↗";margin-left:.15em;font-size:.8em;text-decoration:none;display:inline-block}.wrap{width:100%;max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-s);z-index:100;padding:var(--space-2xs) var(--space-s);background:var(--accent);color:#fff;border-radius:var(--radius);font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:var(--space-s)}.kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:.78rem;font-weight:650}.display{letter-spacing:-.035em;font-weight:750}.num{font-variant-numeric:tabular-nums}.lede{font-size:var(--step-1);color:var(--ink-soft);max-width:56ch;line-height:1.45}.muted{color:var(--ink-muted)}.section{padding-block:var(--space-xl)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-xs) var(--space-m);margin-bottom:var(--space-m);flex-wrap:wrap;display:flex}.section-head h2{font-size:var(--step-3)}.section-head p{color:var(--ink-muted);max-width:52ch}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-l);box-shadow:var(--shadow)}.prose{max-width:var(--measure)}.prose>*+*{margin-top:var(--space-s)}.prose h2{font-size:var(--step-2);margin-top:var(--space-xl)}.prose h3{font-size:var(--step-1);margin-top:var(--space-l)}.prose ul,.prose ol{padding-left:1.25rem}.prose li+li{margin-top:var(--space-3xs)}.prose dl{gap:var(--space-xs);display:grid}.prose dt{font-weight:650}.prose dd{color:var(--ink-soft);margin-left:0}.pending-box{max-width:var(--measure);padding:var(--space-s) var(--space-m);border-radius:var(--radius-l);border:1px dashed var(--tone-caution);background:var(--tone-caution-wash);color:var(--tone-caution);font-size:.92rem}.pending-box ul{margin-top:.4rem;padding-left:1.2rem}.button{background:var(--accent);color:#fff;min-height:44px;transition:transform var(--dur) var(--ease), background var(--dur) var(--ease);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.6rem 1.15rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-strong)}.button:active{transform:scale(.98)}.button.ghost{background:var(--surface);color:var(--accent-ink);border-color:var(--rule-strong)}.button.ghost:hover{background:var(--accent-wash)}.status{font-size:var(--step--1);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.4em;padding:.15em .65em .15em .5em;font-weight:600;line-height:1.5;display:inline-flex}.status-symbol{font-weight:700}.status[data-tone=positive]{background:var(--tone-positive-wash);color:var(--tone-positive)}.status[data-tone=caution]{background:var(--tone-caution-wash);color:var(--tone-caution)}.status[data-tone=info]{background:var(--tone-info-wash);color:var(--tone-info)}.status[data-tone=neutral]{background:var(--tone-neutral-wash);color:var(--tone-neutral)}.breadcrumbs ol{font-size:var(--step--1);color:var(--ink-muted);flex-wrap:wrap;gap:.35rem;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:var(--rule-strong);margin-right:.35rem}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--accent-ink)}.page-head{padding-block:var(--space-l) var(--space-m)}.page-head h1{font-size:var(--step-4);letter-spacing:-.035em;margin-top:var(--space-xs)}.page-head .lede{margin-top:var(--space-s)}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .48s var(--ease) both}.rise-2{animation-delay:60ms}.rise-3{animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}.logo[data-astro-cid-f7espo7c]{align-items:center;gap:.45rem;line-height:1;display:inline-flex}.logo-words[data-astro-cid-f7espo7c]{letter-spacing:-.03em;font-size:1.12rem;font-weight:750}.logo-seal[data-astro-cid-f7espo7c]{background:var(--accent);color:#fff;letter-spacing:.02em;font-variant-numeric:tabular-nums;border-radius:6px;place-items:center;padding:.26rem .45rem;font-size:.72rem;font-weight:700;display:inline-grid}.logo-l[data-astro-cid-f7espo7c] .logo-words[data-astro-cid-f7espo7c]{font-size:1.5rem}.logo-l[data-astro-cid-f7espo7c] .logo-seal[data-astro-cid-f7espo7c]{font-size:.9rem}.site-header[data-astro-cid-fzpbxy5g]{z-index:40;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid var(--rule);position:sticky;top:0}.demo-bar[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:inherit;font-weight:700}.demo-bar[data-astro-cid-fzpbxy5g]{padding:.35rem var(--gutter);background:var(--tone-caution-wash);color:var(--tone-caution);border-bottom:1px dashed var(--tone-caution);text-align:center;font-size:.8rem}.bar[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--space-m);grid-template-columns:auto 1fr auto;min-height:3.5rem;display:grid}.brand[data-astro-cid-fzpbxy5g]{color:var(--ink);text-decoration:none}.nav-desktop[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{justify-content:center;gap:.15rem;margin:0;display:flex}.nav-desktop[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g],.search-link[data-astro-cid-fzpbxy5g],.menu-btn[data-astro-cid-fzpbxy5g]{min-height:40px;color:var(--ink-soft);transition:color var(--dur) var(--ease), background var(--dur) var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:0 .8rem;font-size:.92rem;font-weight:550;text-decoration:none;display:inline-flex}.nav-desktop[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,.search-link[data-astro-cid-fzpbxy5g]:hover,.menu-btn[data-astro-cid-fzpbxy5g]:hover{color:var(--ink);background:var(--paper-deep)}.nav-desktop[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--ink);background:var(--paper-deep);font-weight:700}.actions[data-astro-cid-fzpbxy5g]{align-items:center;gap:.25rem;display:flex}.search-link[data-astro-cid-fzpbxy5g]{color:var(--accent-ink)}.menu-btn[data-astro-cid-fzpbxy5g]{border:1px solid var(--rule-strong);background:var(--surface);color:var(--ink);-webkit-tap-highlight-color:transparent;font-weight:600;display:none}.menu-btn[data-astro-cid-fzpbxy5g][hidden],.menu-backdrop[data-astro-cid-fzpbxy5g][hidden]{display:none}.bars[data-astro-cid-fzpbxy5g]{gap:3px;width:16px;display:grid}.bars[data-astro-cid-fzpbxy5g] span[data-astro-cid-fzpbxy5g]{height:2px;transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease);background:currentColor;border-radius:2px;display:block}.site-header[data-astro-cid-fzpbxy5g][data-open] .bars[data-astro-cid-fzpbxy5g] span[data-astro-cid-fzpbxy5g]:first-child{transform:translateY(5px)rotate(45deg)}.site-header[data-astro-cid-fzpbxy5g][data-open] .bars[data-astro-cid-fzpbxy5g] span[data-astro-cid-fzpbxy5g]:nth-child(2){opacity:0}.site-header[data-astro-cid-fzpbxy5g][data-open] .bars[data-astro-cid-fzpbxy5g] span[data-astro-cid-fzpbxy5g]:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.menu[data-astro-cid-fzpbxy5g]{display:none}.menu[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{margin:0}.menu-backdrop[data-astro-cid-fzpbxy5g]{z-index:35;background:#1d1d1f47;position:fixed;inset:0}.independence[data-astro-cid-fzpbxy5g]{color:var(--ink-muted);padding-block:.45rem 0;font-size:.76rem}.independence[data-astro-cid-fzpbxy5g] .wrap[data-astro-cid-fzpbxy5g]{display:block}@media (width<=62rem){.bar[data-astro-cid-fzpbxy5g]{gap:var(--space-s);grid-template-columns:1fr auto}.nav-desktop[data-astro-cid-fzpbxy5g]{display:none}.site-header[data-astro-cid-fzpbxy5g][data-menu-ready] .menu-btn[data-astro-cid-fzpbxy5g]:not([hidden]){display:inline-flex}.menu[data-astro-cid-fzpbxy5g]{scrollbar-width:none;padding:0 var(--gutter) .4rem;gap:.25rem;display:flex;overflow-x:auto}.menu-group[data-astro-cid-fzpbxy5g],.menu[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{display:contents}.menu-title[data-astro-cid-fzpbxy5g],.here[data-astro-cid-fzpbxy5g]{display:none}.menu[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{min-height:40px;color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;padding:0 .8rem;font-weight:550;text-decoration:none;display:inline-flex}.site-header[data-astro-cid-fzpbxy5g][data-menu-ready] .menu[data-astro-cid-fzpbxy5g]{display:none}.site-header[data-astro-cid-fzpbxy5g][data-menu-ready][data-open] .menu[data-astro-cid-fzpbxy5g]{gap:var(--space-s) var(--space-m);max-height:calc(100dvh - 4rem);padding:var(--space-s) var(--gutter) var(--space-m);background:var(--surface);border-bottom:1px solid var(--rule);box-shadow:var(--shadow-lift);animation:menu-in .16s var(--ease);grid-template-columns:1fr 1fr;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.site-header[data-astro-cid-fzpbxy5g][data-open] .menu-group[data-astro-cid-fzpbxy5g]{display:block}.site-header[data-astro-cid-fzpbxy5g][data-open] .menu[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{gap:.15rem;display:grid}.site-header[data-astro-cid-fzpbxy5g][data-open] .menu-title[data-astro-cid-fzpbxy5g]{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:.3rem;font-size:.74rem;font-weight:700;display:block}.site-header[data-astro-cid-fzpbxy5g][data-open] .menu[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{border-radius:var(--radius);min-height:48px;color:var(--ink);justify-content:space-between;align-items:center;gap:.5rem;padding:0 .85rem;font-size:1.02rem;display:flex}.site-header[data-astro-cid-fzpbxy5g][data-open] .menu[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover{background:var(--paper-deep)}.site-header[data-astro-cid-fzpbxy5g][data-open] .menu[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{background:var(--accent-wash);color:var(--accent-ink);font-weight:700}.site-header[data-astro-cid-fzpbxy5g][data-open] .here[data-astro-cid-fzpbxy5g]{font-size:.72rem;font-weight:600;display:inline}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}}@media (width<=30rem){.search-text[data-astro-cid-fzpbxy5g]{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.search-link[data-astro-cid-fzpbxy5g]{justify-content:center;width:44px;min-height:44px;padding:0}.menu-btn[data-astro-cid-fzpbxy5g]{min-height:44px}.site-header[data-astro-cid-fzpbxy5g][data-open] .menu[data-astro-cid-fzpbxy5g]{grid-template-columns:1fr}}.site-footer[data-astro-cid-nns7i3if]{margin-top:var(--space-2xl);border-top:1px solid var(--rule);background:var(--surface);color:var(--ink-muted);padding-block:var(--space-xl) var(--space-l);font-size:.9rem}.grid[data-astro-cid-nns7i3if]{gap:var(--space-l);grid-template-columns:2fr repeat(3,1fr);display:grid}.about[data-astro-cid-nns7i3if] .logo{color:var(--ink);margin-bottom:var(--space-s)}.about[data-astro-cid-nns7i3if] p[data-astro-cid-nns7i3if]{max-width:44ch}.small[data-astro-cid-nns7i3if]{margin-top:var(--space-2xs);font-size:.8rem}h2[data-astro-cid-nns7i3if]{letter-spacing:.04em;text-transform:uppercase;color:var(--ink);margin-bottom:var(--space-2xs);font-size:.78rem;font-weight:700}ul[data-astro-cid-nns7i3if]{gap:.05rem;margin:0;display:grid}nav[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{min-height:36px;color:var(--ink-soft);align-items:center;text-decoration:none;display:inline-flex}nav[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--accent-ink);text-decoration:underline}.authorship[data-astro-cid-nns7i3if]{align-items:center;gap:var(--space-xs) var(--space-m);margin-top:var(--space-l);padding-top:var(--space-m);border-top:1px solid var(--rule);flex-wrap:wrap;display:flex}.by[data-astro-cid-nns7i3if]{color:var(--ink-soft)}.by[data-astro-cid-nns7i3if] strong[data-astro-cid-nns7i3if]{color:var(--ink)}.social[data-astro-cid-nns7i3if]{gap:var(--space-2xs);display:flex}.social[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{border:1px solid var(--rule-strong);min-height:40px;color:var(--ink);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:0 .85rem;font-weight:600;text-decoration:none;display:inline-flex}.social[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{border-color:var(--accent);color:var(--accent-ink)}.credits[data-astro-cid-nns7i3if]{flex-basis:100%;font-size:.76rem}@media (width<=56rem){.grid[data-astro-cid-nns7i3if]{grid-template-columns:repeat(3,1fr)}.about[data-astro-cid-nns7i3if]{grid-column:1/-1}}@media (width<=30rem){.grid[data-astro-cid-nns7i3if]{grid-template-columns:1fr 1fr}}
