@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-vietnamese-wght-normal.XAtsl5Q_.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-ext-wght-normal.C4zznr8T.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.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}@font-face{font-family:PatrickHand;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/patrick-hand-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #f7f4ec;--surface: #fffdf7;--surface-2: #efe9dc;--ink: #1c1b18;--ink-2: #57534a;--ink-3: #8b8578;--line: #e2dccd;--line-strong: #cbc2ad;--grid: rgb(28 27 24 / .09);--brand: #2442e8;--brand-hover: #1630c4;--on-brand: #ffffff;--brand-soft: #e3e8ff;--signal: var(--brand);--highlight: #ffe15a;--highlight-ink: #ffd84a;--night: #16151a;--night-2: #222128;--on-night: #f4f1e8;--on-night-2: #a9a59a;--font: "Archivo Variable", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-hand: "PatrickHand", "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;--fs-display: clamp(2.8rem, 7.6vw, 7rem);--fs-h2: clamp(2rem, 4.4vw, 3.6rem);--fs-h3: clamp(1.15rem, 1.6vw, 1.4rem);--fs-lede: clamp(1.08rem, 1rem + .4vw, 1.3rem);--fs-body: 1rem;--fs-small: .9rem;--fs-label: .76rem;--fs-hand: clamp(1.15rem, 1.05rem + .4vw, 1.4rem);--gutter: clamp(1rem, 4vw, 2.5rem);--max: 1200px;--space: clamp(6rem, 13vw, 11rem);--radius: 14px;--radius-sm: 8px;--pill: 999px;--header-h: 68px;--wobbly: 255px 14px 225px 16px / 16px 225px 14px 255px;--ease: cubic-bezier(.16, 1, .3, 1);--t: .5s;--shadow-c: var(--ink);--shadow: 3px 4px 0 var(--shadow-c);--shadow-soft: 0 1px 2px rgb(28 27 24 / .05), 0 10px 30px rgb(28 27 24 / .07)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #17191d;--surface: #1e2126;--surface-2: #262a30;--ink: #ece7da;--ink-2: #b4ae9f;--ink-3: #858071;--line: #2e3238;--line-strong: #3d424a;--grid: rgb(236 231 218 / .07);--brand: #8fa2ff;--brand-hover: #aab8ff;--on-brand: #0e1020;--brand-soft: #262c4d;--highlight: rgb(255 214 74 / .32);--night: #0f1013;--night-2: #1a1b20;--shadow-c: #4a4f58;--shadow: 3px 4px 0 var(--shadow-c);--shadow-soft: 0 1px 2px rgb(0 0 0 / .3), 0 10px 30px rgb(0 0 0 / .3)}}:root[data-theme=dark]{color-scheme:dark;--bg: #17191d;--surface: #1e2126;--surface-2: #262a30;--ink: #ece7da;--ink-2: #b4ae9f;--ink-3: #858071;--line: #2e3238;--line-strong: #3d424a;--grid: rgb(236 231 218 / .07);--brand: #8fa2ff;--brand-hover: #aab8ff;--on-brand: #0e1020;--brand-soft: #262c4d;--highlight: rgb(255 214 74 / .32);--night: #0f1013;--night-2: #1a1b20;--shadow-c: #4a4f58;--shadow: 3px 4px 0 var(--shadow-c);--shadow-soft: 0 1px 2px rgb(0 0 0 / .3), 0 10px 30px rgb(0 0 0 / .3)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}body{margin:0;background-color:var(--bg);background-image:radial-gradient(var(--grid) 1px,transparent 1.2px);background-size:24px 24px;color:var(--ink);font-family:var(--font);font-size:var(--fs-body);font-weight:420;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4{margin:0;font-weight:640;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit}img{display:block;max-width:100%;height:auto}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}::selection{background:var(--brand);color:var(--on-brand)}.shell{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--space)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.6rem 1rem;background:var(--brand);color:var(--on-brand);border-radius:var(--radius-sm);text-decoration:none}.skip:focus{top:1rem}.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.eyebrow:before{content:"";width:.5rem;height:.5rem;border-radius:2px;background:var(--brand)}.lede{font-size:var(--fs-lede);line-height:1.55;color:var(--ink-2);max-width:40rem}.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:1.5rem 3rem;margin-bottom:clamp(3rem,6vw,5rem)}.sec-head__title{font-size:var(--fs-h2)}.sec-head__note{color:var(--ink-2);max-width:32rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.7rem 1.4rem;border:1.6px solid var(--ink);border-radius:var(--wobbly);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s var(--ease),box-shadow .15s var(--ease),background-color .2s}.btn:hover{transform:translate(-1px,-1px);box-shadow:4px 5px 0 var(--shadow-c)}.btn:active{transform:translate(3px,4px);box-shadow:0 0 0 var(--shadow-c)}.btn--brand{background:var(--brand);color:var(--on-brand)}.btn--brand:hover{background:var(--brand-hover)}.btn svg{transition:transform .25s var(--ease)}.btn:hover svg{transform:translate(2px,-2px)}.link{text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.25em;transition:text-decoration-color .2s}.link:hover{text-decoration-color:currentColor}@media(prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease);transition-delay:calc(var(--rd, 0) * 70ms)}.js [data-reveal].is-in{opacity:1;transform:none}}.more{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--brand);text-decoration:none}.more svg{transition:transform .25s var(--ease)}.more:hover svg,a:hover>.more svg{transform:translate(4px)}.page-head{display:grid;gap:1.5rem;justify-items:start;padding-block:clamp(4rem,9vw,8rem) clamp(3rem,6vw,5rem)}.page-head__title{font-size:clamp(2.4rem,6vw,5rem);letter-spacing:-.035em;max-width:18ch}.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font-size:var(--fs-small);color:var(--ink-3)}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--brand)}.crumbs li+li:before{content:"/";margin-right:.5rem;color:var(--line-strong)}.pills{display:flex;flex-wrap:wrap;gap:.5rem}.pills li{padding:.35rem .8rem;border:1px solid var(--line);border-radius:var(--pill);font-size:.85rem;color:var(--ink-2)}.split{display:grid;gap:1.5rem 4rem;padding-block:clamp(3rem,6vw,5rem);border-top:1px solid var(--line)}.split__label{font-size:var(--fs-label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}@media(min-width:860px){.split{grid-template-columns:1fr 2.4fr}}.hand{font-family:var(--font-hand);font-size:var(--fs-hand);font-weight:400;line-height:1.25;letter-spacing:.01em}.mark{padding:0 .08em;margin:0 -.08em;white-space:nowrap;background:linear-gradient(100deg,transparent .06em,var(--highlight) .14em,var(--highlight) calc(100% - .12em),transparent calc(100% - .04em));background-size:100% .62em;background-position:0 78%;background-repeat:no-repeat}.drawn{border:1.6px solid var(--ink);border-radius:var(--wobbly)}.sketch{display:block;width:100%;height:auto;overflow:visible}.sketch text{font-family:var(--font-hand)}@media(prefers-reduced-motion:no-preference){.js .sketch .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .7s var(--ease) forwards;animation-delay:calc(var(--d, 0) * .12s + .15s)}.js .sketch .write{opacity:0;animation:write .5s ease forwards;animation-delay:calc(var(--d, 0) * .12s + .35s)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes write{to{opacity:1}}.diagram{margin:2.5em 0;padding:clamp(1rem,2.5vw,1.75rem);border:1.6px solid var(--line-strong);border-radius:var(--wobbly);background:var(--surface);color:var(--ink)}.diagram svg{display:block;width:100%;height:auto;overflow:visible}.diagram text{font-family:var(--font-hand)}.diagram [fill="var(--signal)"]{fill:var(--signal)}.diagram [stroke="var(--signal)"]{stroke:var(--signal)}.diagram [fill="var(--ink-3)"]{fill:var(--ink-3)}.diagram figcaption{margin-top:1rem;font-family:var(--font-hand);font-size:1.1rem;line-height:1.4;color:var(--ink-3);text-align:center}.logo[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:.5rem}.logo__mark[data-astro-cid-tvrurpns]{display:inline-flex;transition:transform .35s var(--ease)}.logo[data-astro-cid-tvrurpns]:hover .logo__mark[data-astro-cid-tvrurpns],a[data-astro-cid-tvrurpns]:hover>.logo[data-astro-cid-tvrurpns] .logo__mark[data-astro-cid-tvrurpns]{transform:rotate(-8deg) translateY(-1px)}.logo__word[data-astro-cid-tvrurpns]{font-size:1.42rem;font-weight:800;line-height:1;letter-spacing:-.045em}
