@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-opsz-normal.IcJDqblK.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-opsz-normal.Cre6nC2_.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.woff2)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.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-950:#f7f6f3;--paper-900:#fff;--paper-850:#f4f3ef;--paper-800:#efeee9;--paper-700:#e7e5df;--paper-600:#d7d4cc;--ink-50:#23253a;--ink-100:#34374d;--ink-200:#4b4e66;--ink-300:#62667e;--iris-100:#e6e7ff;--iris-200:#4b50c4;--iris-300:#5a5fd6;--iris-400:#7f85ea;--iris-500:#8f94ee;--coral-100:#ffe3e5;--coral-300:#cf4657;--coral-500:#ef6f7c;--mint-100:#daf4e9;--mint-300:#1e7553;--mint-400:#6fcca6;--mint-500:#5cc29a;--lilac-100:#efe8ff;--lilac-300:#7353c9;--lilac-400:#b39cf2;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-sans:"Figtree Variable", "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius-card:16px;--radius-control:10px;--gutter:16px;--max:1180px;--header-h:64px}@media (width>=720px){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}html{background:var(--paper-950);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--font-sans);color:var(--ink-100);background:var(--paper-950);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6;overflow-x:clip}img,svg,picture{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4,p,ul,ol,figure,pre,dl,dd{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}a{color:var(--iris-200);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}::selection{background:var(--iris-100);color:var(--ink-50)}:focus-visible{outline:3px solid var(--iris-300);outline-offset:3px;border-radius:6px}code,kbd,pre,samp{font-family:var(--font-mono);font-variant-ligatures:none;font-size:.92em}:not(pre)>code{background:var(--paper-800);color:var(--ink-50);overflow-wrap:anywhere;border-radius:6px;padding:.1em .38em;font-size:.86em}.container{width:100%;max-width:calc(var(--max) + var(--gutter) * 2);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(--gutter);z-index:100;border-radius:var(--radius-control);background:var(--ink-50);color:#fff;padding:.6rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:12px}.display{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink-50);font-optical-sizing:auto;font-weight:650}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--iris-300);font-size:12px;font-weight:650}.lead{color:var(--ink-200);font-size:clamp(1.05rem,.98rem + .35vw,1.22rem);line-height:1.6}.muted{color:var(--ink-300)}.panel{background:var(--paper-900);border:1px solid var(--paper-700);border-radius:var(--radius-card)}.chip{color:var(--ink-200);background:var(--paper-800);border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .7rem;font-size:13px;font-weight:600;line-height:1.5;display:inline-flex}.chip--iris{background:var(--iris-100);color:var(--iris-200)}.chip--mint{background:var(--mint-100);color:var(--mint-300)}.chip--lilac{background:var(--lilac-100);color:var(--lilac-300)}.btn{border-radius:var(--radius-control);border:1px solid var(--paper-700);background:var(--paper-900);min-height:44px;color:var(--ink-50);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--paper-850);border-color:var(--paper-600);text-decoration:none}.btn svg{flex:none;width:18px;height:18px}.btn--primary{background:var(--iris-300);border-color:var(--iris-300);color:#fff}.btn--primary:hover{background:var(--iris-200);border-color:var(--iris-200)}.btn--lg{min-height:50px;padding:.75rem 1.35rem;font-size:16px}.btn--sm{min-height:38px;padding:.4rem .85rem;font-size:14px}.code{border:1px solid var(--paper-700);color:var(--ink-50);font-family:var(--font-mono);tab-size:2;background:#fbfaf8;border-radius:12px;margin:0;padding:1rem 1.1rem;font-size:13.5px;line-height:1.75;position:relative;overflow-x:auto}.code code{font-size:inherit;background:0 0;padding:0}.code--wrap{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=719px){.code{padding:.85rem .9rem;font-size:12.5px}}.code:focus-visible{outline-offset:2px}.tok-k{color:#b23a52}.tok-s{color:var(--mint-300)}.tok-c{color:var(--ink-300);font-style:italic}.tok-sym{color:var(--lilac-300)}.tok-n{color:var(--iris-200)}.tok-p{color:var(--ink-300);user-select:none}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.rise{animation:.5s ease-out both rise}.rise-1{animation-delay:60ms}.rise-2{animation-delay:.12s}.rise-3{animation-delay:.18s}@keyframes ping{0%{opacity:.6;transform:scale(1)}80%,to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:var(--header-h);backdrop-filter:saturate(1.4)blur(10px);background:#f7f6f3db;border-bottom:1px solid #8f94ee24;position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{align-items:center;gap:1.5rem;height:100%;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--ink-50);flex:none;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand-name[data-astro-cid-nen7h5rs]{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px;font-weight:650}.nav-desktop[data-astro-cid-nen7h5rs]{display:none}.nav-desktop[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;display:flex}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.menu-panel[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-control);color:var(--ink-200);align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:15px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.menu-panel[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--paper-800);color:var(--ink-50)}.header-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.5rem;margin-left:auto;display:flex}.icon-link[data-astro-cid-nen7h5rs]{border-radius:var(--radius-control);width:40px;height:40px;color:var(--ink-100);place-items:center;display:inline-grid}.icon-link[data-astro-cid-nen7h5rs]:hover{background:var(--paper-800);color:var(--ink-50)}.btn--quiet[data-astro-cid-nen7h5rs]{background:0 0;border-color:#0000}.btn--quiet[data-astro-cid-nen7h5rs]:hover{background:var(--paper-800);border-color:#0000}.desktop-only[data-astro-cid-nen7h5rs]{display:none}.nav-mobile[data-astro-cid-nen7h5rs]{position:relative}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{border-radius:var(--radius-control);width:44px;height:44px;color:var(--ink-50);cursor:pointer;place-items:center;list-style:none;display:grid}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]:hover{background:var(--paper-800)}.nav-mobile[data-astro-cid-nen7h5rs] .icon-close,.nav-mobile[data-astro-cid-nen7h5rs][open] .icon-open{display:none}.nav-mobile[data-astro-cid-nen7h5rs][open] .icon-close{display:block}.menu-panel[data-astro-cid-nen7h5rs]{width:min(280px, calc(100vw - 2 * var(--gutter)));padding:.5rem;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px -12px #23253a2e}.menu-panel[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:.7rem .8rem;font-size:16px}.menu-sep[data-astro-cid-nen7h5rs]{background:var(--paper-700);height:1px;margin:.4rem .5rem}@media (width>=920px){.nav-desktop[data-astro-cid-nen7h5rs]{display:block}.desktop-only[data-astro-cid-nen7h5rs]{display:inline-flex}.nav-mobile[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--paper-700);background:var(--paper-900);margin-top:clamp(4rem,8vw,7rem);padding-top:3rem}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem;display:grid}.footer-brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1;justify-items:start;gap:1rem;max-width:360px;display:grid}.footer-brand[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{font-size:15px}.brand[data-astro-cid-jo6i4kqk]{color:var(--ink-50);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:18px;font-weight:650;text-decoration:none;display:inline-flex}.footer-heading[data-astro-cid-jo6i4kqk]{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-300);margin-bottom:.75rem;font-size:12px;font-weight:650}ul[data-astro-cid-jo6i4kqk]{gap:.15rem;display:grid}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--ink-100);padding:.3rem 0;font-size:15px;text-decoration:none;display:inline-block}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--iris-200);text-decoration:underline}.footer-base[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--paper-700);color:var(--ink-300);margin-top:3rem;margin-bottom:0;padding-block:1.5rem 2rem;font-size:14px}@media (width>=820px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.6fr 1fr 1fr 1fr}.footer-brand[data-astro-cid-jo6i4kqk]{grid-column:auto}}
