@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}@font-face{font-family:Libre Bodoni;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/libre-bodoni-latin-500-normal.Cybn-XO1.woff2)format("woff2"),url(/_astro/libre-bodoni-latin-500-normal.D4w_C0OG.woff)format("woff")}@font-face{font-family:Libre Bodoni;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/libre-bodoni-latin-600-normal.DXYeK9YP.woff2)format("woff2"),url(/_astro/libre-bodoni-latin-600-normal.LyPACAP2.woff)format("woff")}@font-face{font-family:Libre Bodoni;font-style:italic;font-display:swap;font-weight:500;src:url(/_astro/libre-bodoni-latin-500-italic.DDqOuxjw.woff2)format("woff2"),url(/_astro/libre-bodoni-latin-500-italic._WOb4Sdt.woff)format("woff")}@view-transition{navigation:auto}:root{color-scheme:light;--bg:#fafafa;--surface:#fff;--surface-2:#f1f1f3;--ink:#09090b;--ink-2:#27272a;--muted:#52525b;--line:#e4e4e7;--line-strong:#09090b;--accent:#ff1a75;--accent-soft:#ffe3ee;--on-accent:#09090b;--link-deco:#ff1a75;--focus:#09090b;--art-bg:#efeff1;--art-mut:#c9c9cf;--shadow:0 1px 0 #09090b0a, 0 12px 32px -16px #09090b2e;--font-display:"Libre Bodoni", "Bodoni Moda", Didot, "Times New Roman", serif;--font-sans:"Public Sans Variable", "Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--container:1240px;--gutter:clamp(16px, 4vw, 40px);--radius:2px;--ease:cubic-bezier(.2, .7, .2, 1);--header-h:64px}:root[data-theme=dark]{color-scheme:dark;--bg:#0b0b0e;--surface:#131318;--surface-2:#1b1b21;--ink:#f4f4f5;--ink-2:#d4d4d8;--muted:#a1a1aa;--line:#27272a;--line-strong:#f4f4f5;--accent:#ff3d8b;--accent-soft:#3a0f22;--on-accent:#09090b;--link-deco:#ff3d8b;--focus:#ff3d8b;--art-bg:#1b1b21;--art-mut:#3f3f46;--shadow:0 1px 0 #0000004d, 0 12px 32px -16px #0009}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0b0b0e;--surface:#131318;--surface-2:#1b1b21;--ink:#f4f4f5;--ink-2:#d4d4d8;--muted:#a1a1aa;--line:#27272a;--line-strong:#f4f4f5;--accent:#ff3d8b;--accent-soft:#3a0f22;--on-accent:#09090b;--link-deco:#ff3d8b;--focus:#ff3d8b;--art-bg:#1b1b21;--art-mut:#3f3f46;--shadow:0 1px 0 #0000004d, 0 12px 32px -16px #0009}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 24px)}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6;overflow-x:clip}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:1px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;font-weight:600;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.grid-12{column-gap:var(--space-5);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.rule{border:0;border-top:1px solid var(--line);margin:0}.rule-strong{border:0;border-top:2px solid var(--line-strong);margin:0}.kicker{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;font-size:.75rem;font-weight:700;line-height:1.2;display:inline-flex}.kicker:before{content:"";background:var(--accent);flex:none;width:10px;height:10px}a.kicker:hover{text-decoration:underline;text-decoration-color:var(--link-deco);text-underline-offset:4px;text-decoration-thickness:2px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:600}.display{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;font-weight:500;line-height:1.02}.meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.8125rem;display:flex}.meta .dot{opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px}.num{font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-weight:700}.link-u{text-decoration:underline;text-decoration-color:var(--link-deco);text-underline-offset:4px;transition:background-color .16s var(--ease);text-decoration-thickness:2px}.link-u:hover{background:var(--accent-soft)}.headline-link{background-image:linear-gradient(var(--accent), var(--accent));transition:background-size .28s var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px}.card:hover .headline-link,.headline-link:hover,.headline-link:focus-visible{background-size:100% 2px}.btn{letter-spacing:.01em;border:2px solid var(--ink);border-radius:var(--radius);min-height:48px;transition:background-color .16s var(--ease), color .16s var(--ease), transform .16s var(--ease);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:.9375rem;font-weight:600;display:inline-flex}.btn svg{width:18px;height:18px;transition:transform .2s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-ghost{color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--bg)}.btn:active{transform:translateY(1px)}.chip{border:1px solid var(--line);background:var(--surface);min-height:36px;transition:border-color .16s var(--ease), background-color .16s var(--ease);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.875rem;font-weight:500;display:inline-flex}.chip .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.chip:hover{border-color:var(--ink)}.chip[aria-current=page]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip[aria-current=page] .count{color:inherit;opacity:.7}.art{background:var(--art-bg);isolation:isolate;position:relative;overflow:hidden}.art svg{width:100%;height:100%}.art .a-bg{fill:var(--art-bg)}.art .a-ink{fill:var(--ink)}.art .a-acc{fill:var(--accent)}.art .a-mut{fill:var(--art-mut)}.art svg{transition:transform .6s var(--ease)}.card:hover .art svg{transform:scale(1.03)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-block:var(--space-5) var(--space-5);border-top:2px solid var(--line-strong);display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.1}.section-head .more{white-space:nowrap;align-items:center;gap:6px;min-height:44px;font-size:.875rem;font-weight:600;display:inline-flex}.section-head .more svg{width:16px;height:16px;transition:transform .2s var(--ease)}.section-head .more:hover svg{transform:translate(3px)}.section-head .more:hover{text-decoration:underline;text-decoration-color:var(--link-deco);text-underline-offset:4px;text-decoration-thickness:2px}.prose{color:var(--ink-2);overflow-wrap:break-word;max-width:68ch;font-size:1.125rem;line-height:1.75}.prose>*+*{margin-top:1.25em}.prose h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);text-wrap:balance;margin-top:2.2em;font-size:clamp(1.625rem,2.6vw,2.125rem);font-weight:600;line-height:1.15}.prose h3{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.005em;margin-top:1.8em;font-size:1.25rem;font-weight:700;line-height:1.35}.prose h2+*,.prose h3+*{margin-top:.75em}.prose strong{color:var(--ink);font-weight:700}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--link-deco);text-underline-offset:3px;transition:background-color .16s var(--ease);text-decoration-thickness:2px}.prose a:hover{background:var(--accent-soft)}.prose a[data-external]:after{content:"↗";color:var(--muted);margin-left:2px;font-size:.75em;text-decoration:none;display:inline-block}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.5em}.prose ul>li::marker{color:var(--accent)}.prose ol>li::marker{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.prose hr{border:0;border-top:1px solid var(--line);height:0;margin:2.6em 0;position:relative;overflow:visible}.prose hr:after{content:"";background:var(--accent);width:9px;height:9px;position:absolute;top:-5px;left:0}.prose blockquote{border-left:4px solid var(--accent);font-family:var(--font-display);color:var(--ink);padding:.25em 0 .25em 1.1em;font-size:1.3em;line-height:1.45}.prose code{font-family:var(--font-mono);background:var(--surface-2);border-radius:3px;padding:.12em .4em;font-size:.875em}.prose .table-wrap{border:1px solid var(--line);background:var(--surface);-webkit-overflow-scrolling:touch;margin-block:1.75em;overflow-x:auto}.prose .table-wrap:focus-visible{outline-offset:2px}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-sans);min-width:560px;font-size:.9375rem;line-height:1.5}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 16px}.prose thead th{background:var(--ink);color:var(--bg);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:700}.prose tbody tr:nth-child(2n) td{background:var(--surface-2)}.prose tbody tr:last-child td{border-bottom:0}.prose td:first-child{color:var(--ink);font-weight:600}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.reveal{animation:rise .52s var(--ease) both}.reveal-2{animation-delay:70ms}.reveal-3{animation-delay:.14s}.reveal-4{animation-delay:.21s}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.logo[data-astro-cid-f7espo7c]{min-height:44px;color:var(--ink);align-items:center;gap:3px;display:inline-flex}.word[data-astro-cid-f7espo7c]{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.75rem;font-weight:600;line-height:1}.mark[data-astro-cid-f7espo7c]{background:var(--accent);width:9px;height:9px;transition:transform .3s var(--ease);align-self:flex-end;margin-bottom:13px}.logo[data-astro-cid-f7espo7c]:hover .mark[data-astro-cid-f7espo7c]{transform:rotate(45deg)}.xl[data-astro-cid-f7espo7c] .word[data-astro-cid-f7espo7c]{letter-spacing:-.045em;font-size:clamp(3.5rem,12vw,9rem)}.xl[data-astro-cid-f7espo7c] .mark[data-astro-cid-f7espo7c]{width:clamp(14px,2.4vw,28px);height:clamp(14px,2.4vw,28px);margin-bottom:clamp(10px,2.2vw,26px)}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);transition:border-color .2s var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-astro-cid-nen7h5rs].scrolled{border-bottom-color:var(--line)}.bar[data-astro-cid-nen7h5rs]{height:var(--header-h);align-items:center;gap:var(--space-5);display:flex}.primary[data-astro-cid-nen7h5rs]{margin-left:auto;display:none}.primary[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:4px;margin:0;padding:0;list-style:none;display:flex}.primary[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{min-height:44px;color:var(--ink-2);transition:color .16s var(--ease);align-items:center;padding:0 14px;font-size:.9375rem;font-weight:500;display:inline-flex;position:relative}.primary[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{content:"";background:var(--accent);transform-origin:0;height:2px;transition:transform .22s var(--ease);position:absolute;bottom:8px;left:14px;right:14px;transform:scaleX(0)}.primary[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.primary[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--ink)}.primary[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover:after,.primary[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:after{transform:scaleX(1)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:2px;margin-left:auto;display:flex}.icon-btn[data-astro-cid-nen7h5rs]{width:44px;height:44px;color:var(--ink);transition:background-color .16s var(--ease);background:0 0;border:0;border-radius:999px;place-items:center;display:inline-grid}.icon-btn[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2)}.icon-btn[data-astro-cid-nen7h5rs] svg{grid-area:1/1}.icon-btn[data-astro-cid-nen7h5rs] .i-moon,.icon-btn[data-astro-cid-nen7h5rs] .i-close,:root[data-theme=dark] .icon-btn[data-astro-cid-nen7h5rs] .i-sun{display:none}:root[data-theme=dark] .icon-btn[data-astro-cid-nen7h5rs] .i-moon{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-btn[data-astro-cid-nen7h5rs] .i-sun{display:none}:root:not([data-theme=light]) .icon-btn[data-astro-cid-nen7h5rs] .i-moon{display:block}}.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .i-open{display:none}.menu-btn[data-astro-cid-nen7h5rs][aria-expanded=true] .i-close{display:block}.mobile-nav[data-astro-cid-nen7h5rs]{border-top:1px solid var(--line);background:var(--bg);height:calc(100dvh - var(--header-h));overflow-y:auto}.mobile-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{padding-block:var(--space-4);margin:0;list-style:none}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--line);min-height:64px;font-family:var(--font-display);letter-spacing:-.01em;font-size:2rem;font-weight:500;display:flex}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs] svg{color:var(--muted);margin-left:auto}.mobile-nav[data-astro-cid-nen7h5rs] .num[data-astro-cid-nen7h5rs]{color:var(--muted);width:24px;font-size:.75rem}.mobile-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page] .num[data-astro-cid-nen7h5rs]{color:var(--accent)}body.menu-open{overflow:hidden}@media (width>=768px){.primary[data-astro-cid-nen7h5rs]{display:block}.actions[data-astro-cid-nen7h5rs]{margin-left:var(--space-2)}.menu-btn[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{margin-top:var(--space-9);border-top:2px solid var(--line-strong);background:var(--surface)}.top[data-astro-cid-jo6i4kqk]{padding-block:var(--space-8) var(--space-7);row-gap:var(--space-7)}.brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.tag[data-astro-cid-jo6i4kqk]{margin-top:var(--space-3);font-family:var(--font-display);color:var(--ink-2);font-size:1.375rem;font-style:italic}.col[data-astro-cid-jo6i4kqk]{grid-column:span 6}.col[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{margin-bottom:var(--space-3)}.col[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:2px;padding:0;list-style:none;display:grid}.col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:36px;color:var(--ink-2);align-items:center;gap:8px;font-size:.9375rem;display:inline-flex}.col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--link-deco);text-underline-offset:4px;text-decoration-thickness:2px}.bottom[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-5);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;font-size:.8125rem;display:flex}.top-link[data-astro-cid-jo6i4kqk]{min-height:44px;color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}@media (width>=640px){.col[data-astro-cid-jo6i4kqk]{grid-column:span 4}}@media (width>=1024px){.brand[data-astro-cid-jo6i4kqk]{grid-column:1/span 6}.col[data-astro-cid-jo6i4kqk]{grid-column:span 2}.col[data-astro-cid-jo6i4kqk]:first-of-type{grid-column:7/span 2}}
