footer[data-astro-cid-jo6i4kqk]{background:var(--bg);padding:64px 0 32px}.inner[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr);gap:40px;padding-bottom:48px;display:grid}.brand[data-astro-cid-jo6i4kqk]{min-height:44px;font-family:var(--font-display);color:var(--text);align-items:center;gap:10px;font-size:17px;font-weight:650;text-decoration:none;display:inline-flex}.tagline[data-astro-cid-jo6i4kqk]{max-width:360px;color:var(--muted);margin:8px 0 0;font-size:15px}.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}h2[data-astro-cid-jo6i4kqk]{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 10px;font-size:12px;font-weight:500}ul[data-astro-cid-jo6i4kqk]{padding:0;list-style:none}li[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:40px;color:var(--text);align-items:center;font-size:15px;text-decoration:none;display:inline-flex}li[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-text)}.base[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;display:flex}.base[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{color:var(--faint);margin:0;font-size:14px}.top[data-astro-cid-jo6i4kqk]{min-height:44px;color:var(--muted);align-items:center;gap:6px;font-size:14px;text-decoration:none;display:inline-flex}@media (width<=760px){.inner[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}@media (width<=420px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}}.nav[data-astro-cid-wpvy4v7s]{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid #0000;transition:border-color .2s;position:sticky;top:0}.nav[data-astro-cid-wpvy4v7s][data-scrolled]{border-bottom-color:var(--border)}.nav-inner[data-astro-cid-wpvy4v7s]{height:var(--nav-h);justify-content:space-between;align-items:center;gap:20px;display:flex}.brand[data-astro-cid-wpvy4v7s]{min-height:44px;color:var(--text);font-family:var(--font-display);letter-spacing:-.01em;flex:none;align-items:center;gap:10px;font-size:16px;font-weight:650;text-decoration:none;display:flex}.mark[data-astro-cid-wpvy4v7s]{flex:none}.name[data-astro-cid-wpvy4v7s]{white-space:nowrap}.navlinks[data-astro-cid-wpvy4v7s]{gap:2px;display:flex}.navlinks[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{border-radius:var(--radius-sm);min-height:40px;color:var(--muted);align-items:center;padding:0 11px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.navlinks[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--text);background:var(--surface2)}.navlinks[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s][aria-current]{color:var(--text)}.navlinks[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s][aria-current]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:4px;left:11px;right:11px}.actions[data-astro-cid-wpvy4v7s]{align-items:center;gap:8px;display:flex}.icon-btn[data-astro-cid-wpvy4v7s]{border-radius:var(--radius-sm);border:1px solid var(--border);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn[data-astro-cid-wpvy4v7s]:hover{background:var(--surface2)}.i-moon[data-astro-cid-wpvy4v7s],:root[data-theme=light] .i-sun[data-astro-cid-wpvy4v7s]{display:none}:root[data-theme=light] .i-moon[data-astro-cid-wpvy4v7s]{display:block}.menu-btn[data-astro-cid-wpvy4v7s]{display:none}.menu-btn[data-astro-cid-wpvy4v7s] path[data-astro-cid-wpvy4v7s]{transform-origin:12px 12px;transition:transform .2s var(--ease-out), opacity .2s}.menu-btn[data-astro-cid-wpvy4v7s][aria-expanded=true] .l1[data-astro-cid-wpvy4v7s]{transform:translateY(5px)rotate(45deg)}.menu-btn[data-astro-cid-wpvy4v7s][aria-expanded=true] .l2[data-astro-cid-wpvy4v7s]{opacity:0}.menu-btn[data-astro-cid-wpvy4v7s][aria-expanded=true] .l3[data-astro-cid-wpvy4v7s]{transform:translateY(-5px)rotate(-45deg)}.menu[data-astro-cid-wpvy4v7s]{border-bottom:1px solid var(--border);border-top:1px solid var(--border);background:var(--bg);max-height:calc(100dvh - var(--nav-h));position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 24px 40px -12px #00000059}.menu-list[data-astro-cid-wpvy4v7s]{padding:8px 0;list-style:none}.menu-list[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{border-bottom:1px solid var(--border);min-height:52px;color:var(--text);font-family:var(--font-display);align-items:center;gap:14px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.menu-list[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s][aria-current] .idx[data-astro-cid-wpvy4v7s]{color:var(--accent-text)}.idx[data-astro-cid-wpvy4v7s]{color:var(--faint);font-size:12px;font-weight:400}.menu-foot[data-astro-cid-wpvy4v7s]{flex-wrap:wrap;gap:4px 20px;padding:12px 0 24px;display:flex}.menu-foot[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{min-height:44px;color:var(--muted);align-items:center;font-size:15px;display:inline-flex}.progress[data-astro-cid-wpvy4v7s]{background:var(--accent);transform-origin:0;opacity:0;width:100%;height:2px;position:absolute;bottom:-1px;left:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.progress[data-astro-cid-wpvy4v7s]{opacity:1;animation:linear both grow scroll(root)}}}@keyframes grow{to{transform:scaleX(1)}}@media (width<=1180px){.demo-link[data-astro-cid-wpvy4v7s]{display:none}}@media (width<=1040px){.navlinks[data-astro-cid-wpvy4v7s]{display:none}.menu-btn[data-astro-cid-wpvy4v7s]{display:inline-flex}}@media (width>=1041px){.menu[data-astro-cid-wpvy4v7s]{display:none!important}}@media (width<=520px){.name[data-astro-cid-wpvy4v7s]{display:none}.cta[data-astro-cid-wpvy4v7s]{padding:0 14px}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-vietnamese-standard-normal.Br4FGdAc.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;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-ext-standard-normal.qp-RdZgh.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;font-stretch:75% 100%;src:url(/_astro/bricolage-grotesque-latin-standard-normal.C5Lc8Qmc.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.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{--bg:#0b0c0a;--bg-sunk:#080907;--surface:#121410;--surface2:#1a1c17;--border:#262922;--border-strong:#3a3e33;--text:#eeefe8;--muted:#abaea2;--faint:#8f9286;--accent:#c8f04a;--accent-text:#c8f04a;--accent-soft:#c8f04a1f;--on-accent:#0b0c0a;--cta-bg:#c8f04a;--cta-fg:#0b0c0a;--cta-hover:#d6f86e;--ok:#8fe388;--danger:#ff8a75;--danger-soft:#ff8a751a;--warn:#fbbf24;--warn-soft:#fbbf2424;--grid-line:#eeefe80b;--shadow-sm:0 1px 0 #ffffff08 inset, 0 1px 2px #0006;--shadow:0 1px 0 #ffffff0a inset, 0 24px 60px -12px #000000b3;--code-bg:#0e100c;--code-surface:#151711;--code-border:#2a2d25;--code-text:#d9dbd2;--code-muted:#8f9286;--code-key:#c4a7ff;--code-str:#b6e88a;--code-ok:#8fe388;--code-accent:#c8f04a;--font-display:"Bricolage Grotesque Variable", "Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--step--1:.8125rem;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--step-3:clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);--step-4:clamp(2.25rem, 1.4rem + 3.6vw, 4.75rem);--space-section:clamp(88px, 7vw + 40px, 152px);--radius-sm:6px;--radius:10px;--radius-lg:16px;--ease-out:cubic-bezier(.2, .7, .2, 1);--nav-h:64px;color-scheme:dark}:root[data-theme=light]{--bg:#f6f5f0;--bg-sunk:#efeee7;--surface:#fff;--surface2:#f0efe8;--border:#dedcd2;--border-strong:#c4c1b3;--text:#15160f;--muted:#4a4c42;--faint:#5f6156;--accent:#c8f04a;--accent-text:#3f5600;--accent-soft:#c8f04a59;--on-accent:#15160f;--cta-bg:#15160f;--cta-fg:#e4fb9c;--cta-hover:#2a2c22;--ok:#2c6b12;--danger:#b42318;--danger-soft:#b4231812;--warn:#8a5300;--warn-soft:#f59e0b29;--grid-line:#15160f0d;--shadow-sm:0 1px 2px #15160f0f;--shadow:0 1px 2px #15160f0d, 0 24px 60px -16px #15160f2e;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;line-height:1.6;overflow-x:clip}::selection{background:var(--accent);color:var(--on-accent)}a{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:var(--radius-sm)}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;font-weight:650;font-stretch:92%}h3{font-size:var(--step-1);letter-spacing:-.01em;line-height:1.3}p{text-wrap:pretty}ul,ol{margin:0}em{font-style:italic}.mono{font-family:var(--font-mono);font-size:.92em}.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--cta-bg);color:var(--cta-fg);border-radius:var(--radius-sm);padding:12px 16px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.btn{border-radius:var(--radius-sm);min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:15px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn svg{flex:none}.btn-lg{min-height:52px;padding:0 24px;font-size:16px}.btn-primary{background:var(--cta-bg);color:var(--cta-fg);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--cta-hover)}.btn-ghost{color:var(--text);border-color:var(--border-strong);background:0 0}.btn-ghost:hover{background:var(--surface2)}.btn .arrow{transition:transform .2s var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}@media (prefers-reduced-motion:no-preference){.btn{transition:background .15s,border-color .15s,transform .15s}.btn:active{transform:translateY(1px)}}.section{padding:var(--space-section) 0;position:relative}.section+.section{border-top:1px solid var(--border)}.section.sunk{background:var(--bg-sunk)}.sec-head{gap:18px;max-width:820px;margin-bottom:clamp(40px,5vw,64px);display:grid}.kicker{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);align-items:center;gap:12px;margin:0;font-size:12.5px;display:flex}.kicker .num{border:1px solid var(--border-strong);min-width:34px;height:22px;color:var(--accent-text);letter-spacing:.02em;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 14px;font-size:12.5px}h2{font-size:var(--step-3);letter-spacing:-.028em;margin:0;line-height:1.06}h2 .hl,h1 .hl{color:var(--accent-text)}.lede{font-size:var(--step-1);color:var(--muted);max-width:660px;margin:0;line-height:1.6}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.chip{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);min-height:32px;font-family:var(--font-mono);color:var(--text);align-items:center;padding:0 10px;font-size:13px;display:inline-flex}.tag{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:11.5px;display:inline-flex}.tag-ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent);background:color-mix(in srgb, var(--ok) 8%, transparent)}.ph{background:var(--warn-soft);color:var(--warn);border:1px dashed var(--warn);font-family:var(--font-mono);letter-spacing:0;text-transform:none;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 5px;font-size:.86em;font-weight:500}.btn-primary .ph{background:var(--bg)}.code{background:var(--code-bg);border:1px solid var(--code-border);color:var(--code-text);color-scheme:dark}.grid-bg{background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-position:top;background-size:48px 48px}.stack-sm{gap:12px;display:grid}.grid-auto{gap:20px;display:grid}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(18px)}.js [data-reveal].is-in{opacity:1;transform:none}}@media (width<=900px){.hide-sm{display:none!important}}
