@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-vietnamese-wght-normal.DsUdksa4.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-latin-ext-wght-normal.BqSk0Z3x.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Mona Sans Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/mona-sans-latin-wght-normal.Pz49MTQZ.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #F4F0E7;--ink-2: #EFE9DD;--surface: #FBF9F4;--surface-2: #EFE9DD;--line: rgba(42, 38, 32, .1);--line-2: rgba(42, 38, 32, .18);--text: #2A2620;--muted: #4C463C;--muted-2: #6C6558;--mint: #2E8B87;--mint-dim: #19504D;--mint-ink: #F4F0E7;--mint-solid:#236E6A;--mint-text: #236E6A;--ok: #0c7a5c;--warn: #8a5a00;--info: #1d5fb0;--error: #c0332e;--font-display: "Mona Sans Variable", system-ui, sans-serif;--font-body: "Mona Sans Variable", system-ui, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, "Cascadia Code", monospace;--e-out: cubic-bezier(.16, 1, .3, 1);--e-io: cubic-bezier(.65, .05, 0, 1);--d-fast: .2s;--d-base: .3s;--d-rev: .6s;--wrap: 1080px;--wrap-wide: 1240px;--radius: 14px;--radius-sm: 9px;--header-h: 64px;--step--1: clamp(.83rem, .8rem + .17vw, .94rem);--step-0: clamp(1rem, .95rem + .24vw, 1.13rem);--step-1: clamp(1.2rem, 1.12rem + .38vw, 1.41rem);--step-2: clamp(1.44rem, 1.32rem + .58vw, 1.76rem);--step-3: clamp(1.73rem, 1.55rem + .89vw, 2.2rem);--step-4: clamp(2.07rem, 1.82rem + 1.28vw, 2.75rem);--step-5: clamp(2.49rem, 2.13rem + 1.81vw, 3.44rem);--step-6: clamp(2.99rem, 2.48rem + 2.53vw, 4.3rem)}@media(prefers-color-scheme:dark){:root{--ink: #221F1A;--ink-2: #332E27;--surface: #2B2721;--surface-2: #332E27;--line: rgba(240, 235, 225, .1);--line-2: rgba(240, 235, 225, .18);--text: #F0EBE1;--muted: #C9C2B4;--muted-2: #A29A8B;--mint: #3FA69F;--mint-dim: #42BDB6;--mint-ink: #221F1A;--mint-solid:#3FA69F;--mint-text: #52B5AE;--ok: #4ade80;--warn: #f0b866;--info: #7dd3fc;--error: #e8706e}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font-body);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text);margin:0 0 .4em;line-height:1.04;font-variation-settings:"wght" 640,"wdth" 96}h1{font-size:var(--step-6);letter-spacing:-.035em}h2{font-size:var(--step-4);letter-spacing:-.025em}h3{font-size:var(--step-2);letter-spacing:-.015em;line-height:1.2}h4{font-size:var(--step-1);letter-spacing:-.01em;line-height:1.3}p{margin:0 0 1.1em;max-width:68ch}p:last-child{margin-bottom:0}a{color:var(--mint-text);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--mint-dim)}:focus-visible{outline:2px solid var(--mint-solid);outline-offset:3px;border-radius:4px}img,video{max-width:100%;height:auto;display:block}.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}.wrap-wide{width:min(100% - 2.5rem,var(--wrap-wide));margin-inline:auto}.sc-header{position:sticky;top:0;z-index:40;height:var(--header-h);display:flex;align-items:center;background:color-mix(in srgb,var(--ink) 86%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.sc-header .wrap-wide{display:flex;align-items:center;gap:1.5rem;width:min(100% - 2rem,var(--wrap-wide))}.sc-mark{font-family:var(--font-display);font-variation-settings:"wght" 700,"wdth" 88;letter-spacing:-.02em;font-size:var(--step-0);color:var(--text);text-decoration:none;white-space:nowrap}.sc-mark span{color:var(--mint-text)}.sc-nav{margin-left:auto;display:flex;gap:1.4rem;align-items:center}.sc-nav a{color:var(--muted);text-decoration:none;font-size:var(--step--1);transition:color var(--d-fast) var(--e-out)}.sc-nav a:hover,.sc-nav a[aria-current=page]{color:var(--text)}@media(max-width:720px){.sc-header{height:auto;padding:.6rem 0 0}.sc-header .wrap-wide{flex-wrap:wrap;gap:.5rem}.sc-mark{flex:1 1 100%}.sc-nav{margin-left:0;flex:1 1 100%;gap:1.1rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.55rem;margin-inline:-1rem;padding-inline:1rem;scroll-padding-inline:1rem}.sc-nav::-webkit-scrollbar{display:none}.sc-nav a{font-size:.84rem;white-space:nowrap}}.sc-footer{border-top:1px solid var(--line);margin-top:6rem;padding:2.5rem 0 3.5rem;color:var(--muted-2);font-size:var(--step--1)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.25rem,3vw,2rem)}.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.72rem 1.3rem;border-radius:999px;border:1px solid var(--line-2);background:transparent;color:var(--text);font:inherit;font-size:var(--step--1);text-decoration:none;cursor:pointer;transition:background var(--d-fast) var(--e-out),border-color var(--d-fast) var(--e-out),transform var(--d-fast) var(--e-out)}.btn:hover{background:var(--surface-2);transform:translateY(-1px)}.btn-primary{background:var(--mint-solid);border-color:var(--mint-solid);color:var(--mint-ink)}.btn-primary:hover{background:var(--mint-dim);border-color:var(--mint-dim);color:var(--mint-ink)}[data-reveal]>*{opacity:0;transform:translateY(14px);animation:sc-rise var(--d-rev) var(--e-out) forwards}[data-reveal]>*:nth-child(2){animation-delay:70ms}[data-reveal]>*:nth-child(3){animation-delay:.14s}[data-reveal]>*:nth-child(4){animation-delay:.21s}[data-reveal]>*:nth-child(5){animation-delay:.28s}[data-reveal]>*:nth-child(6){animation-delay:.35s}@keyframes sc-rise{to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]>*{opacity:1;transform:none;animation:none}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
