@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-Latin.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;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:Space Grotesk;src:url(/fonts/SpaceGrotesk-Vietnamese.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap;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;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:dark;--bg:#0b0716;--card:#151026;--card-2:#1c1533;--border:#2a2145;--fg:#ece9f6;--muted:#a69fc0;--purple:#7c3aed;--purple-l:#a78bfa;--blue:#3b82f6;--blue-l:#60a5fa;--pink:#ec4899;--pink-l:#f472b6;--ok:#4ade80;--accent:var(--purple-l);--grad:linear-gradient(100deg, var(--blue-l), var(--purple-l) 45%, var(--pink-l));--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--display:"Space Grotesk", var(--sans);--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.65;overflow-x:hidden}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .6rem;line-height:1.15}a{color:var(--purple-l)}:focus-visible{outline:2px solid var(--pink-l);outline-offset:3px;border-radius:4px}code{font-family:var(--mono);font-size:.9em}.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}.muted{color:var(--muted)}.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}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}[id]{scroll-margin-top:5rem}.btn{transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-sm{padding:.45rem 1rem;font-size:.9rem}.btn-primary{color:#fff;background:linear-gradient(100deg, var(--purple), var(--pink));background-origin:border-box;box-shadow:0 6px 24px -6px #ec48998c}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 32px -6px #ec4899bf}.btn-ghost{color:var(--fg);border-color:var(--border);background:#ffffff08}.btn-ghost:hover{border-color:var(--purple-l);background:#a78bfa14}.top{z-index:20;backdrop-filter:blur(12px);background:#0b0716b8;border-bottom:1px solid #2a2145b3;position:sticky;top:0}.top-inner{align-items:center;gap:.5rem 1.5rem;min-height:4rem;display:flex}.brand{font-family:var(--mono);color:var(--fg);align-items:center;gap:.55rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{width:1.75rem;height:1.75rem;display:block}.top-nav{gap:1.5rem;margin-left:1rem;margin-right:auto;display:flex}.top-nav a{color:var(--muted);font-size:.95rem;text-decoration:none}.top-nav a:hover{color:var(--fg)}.top-cta{margin-left:auto}@media (width<=48rem){.top-nav .nav-wide{display:none}}@media (width<=45rem){.top-nav .nav-mid{display:none}}@media (width<=40rem){.top-nav{display:none}}.bottom{border-top:1px solid var(--border);color:var(--muted);margin-top:4rem;font-size:.9rem}.bottom-inner{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding-top:2.5rem;display:flex}.bottom-inner p{margin:.4rem 0 0}.bottom nav{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.5rem;display:flex}.bottom nav a{color:var(--muted);padding:.25rem 0;text-decoration:none}.bottom nav a:hover{color:var(--fg)}.bottom .dl{color:var(--purple-l);font-weight:600}.copy{padding-top:1.5rem;padding-bottom:2.5rem;font-size:.85rem}.copy p{margin:0}.copy p+p{overflow-wrap:anywhere;margin-top:.35rem}.motion [data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:calc(var(--i,0) * .11s);transform:translateY(24px)}.motion [data-reveal].is-in{opacity:1;transform:none}
