:root{--ink-1000: #0B0D10;--ink-900: #15181D;--ink-800: #24292F;--ink-700: #3A4049;--ink-500: #6B7280;--ink-400: #9AA0AA;--ink-300: #C8CCD2;--ink-200: #DDE0E5;--ink-100: #ECEEF1;--ink-50: #F6F7F8;--paper: #FCFBF9;--white: #FFFFFF;--accent: #3D5A8A;--accent-hover: #2F4870;--accent-soft: #E5EAF2;--amber: #C97B2A;--amber-hover: #A86420;--amber-soft: #F4E4CD;--success: #2F7D5B;--success-soft: #DDEEE4;--warning: #B5731A;--danger: #B53A2A;--danger-soft: #F2DDD8;--code-bg: #0B0D10;--code-chrome: #15181D;--code-line: #2A2F36;--code-text: #E6E8EB;--code-keyword: #7AA2F7;--code-string: #E0AF68;--code-number: #D19A66;--code-comment: #5C6370;--code-yaml-key: #9ECE6A;--code-function: #BB9AF7;--code-tag: #F7768E;--shadow-card: 0 1px 0 rgba(11,13,16,.04), 0 1px 2px rgba(11,13,16,.06);--shadow-pop: 0 8px 24px -8px rgba(11,13,16,.16), 0 2px 6px rgba(11,13,16,.06);--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-pill: 999px;--t-micro: .12s;--t-default: .2s;--t-emph: .32s;--ease-out: cubic-bezier(.2,0,0,1);--ease-in-out: cubic-bezier(.4,0,.2,1);--w-marketing: 1200px;--w-bg: 1440px;--w-prose: 720px;--surface: var(--white);--surface-dark: #15181D;--nav-bg: rgba(252, 251, 249, .78);--hero-bg: var(--paper)}[data-theme=dark]{--paper: var(--ink-1000);--surface: #1C2128;--nav-bg: rgba(11, 13, 16, .85);--hero-bg: #0F1728;--ink-50: #1C2128;--ink-100: #24292F;--ink-200: #3A4049;--ink-300: #6B7280;--ink-500: #C8CCD2;--ink-700: #DDE0E5;--ink-900: #F6F7F8;--accent-soft: rgba(61, 90, 138, .2);--amber-soft: rgba(201, 123, 42, .15);--success-soft: rgba(47, 125, 91, .15);--danger-soft: rgba(181, 58, 42, .15);--shadow-card: 0 1px 0 rgba(255,255,255,.04), 0 1px 2px rgba(0,0,0,.3);--shadow-pop: 0 8px 24px -8px rgba(0,0,0,.4), 0 2px 6px rgba(0,0,0,.3)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{margin:0;padding:0;font-family:Inter,sans-serif;font-size:16px;line-height:1.625;color:var(--ink-700);background-color:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0;color:var(--ink-900);font-weight:600;line-height:1.2}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto}code{font-family:JetBrains Mono,monospace;font-size:.875em}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.p-nav:where(.astro-3ef6ksr2){position:sticky;top:0;z-index:100;height:64px;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--ink-200)}.p-nav__inner:where(.astro-3ef6ksr2){max-width:var(--w-marketing);margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;gap:32px}.p-nav__brand:where(.astro-3ef6ksr2){display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0;color:var(--accent)}.p-nav__wordmark:where(.astro-3ef6ksr2){font-size:20px;font-weight:600;color:var(--ink-900);letter-spacing:-.01em}.p-nav__links:where(.astro-3ef6ksr2){display:flex;align-items:center;gap:4px;flex:1}.p-nav__link:where(.astro-3ef6ksr2){font-size:14px;font-weight:500;color:var(--ink-500);padding:6px 10px;border-radius:var(--r-md);text-decoration:none;transition:color var(--t-micro) var(--ease-out),background var(--t-micro) var(--ease-out)}.p-nav__link:where(.astro-3ef6ksr2):hover{color:var(--ink-900);background:var(--ink-100)}.p-nav__actions:where(.astro-3ef6ksr2){display:flex;align-items:center;gap:8px;flex-shrink:0}.p-nav__github:where(.astro-3ef6ksr2){display:flex;align-items:center;gap:5px;font-size:13px;font-weight:500;color:var(--ink-500);text-decoration:none;padding:5px 8px;border-radius:var(--r-md);transition:color var(--t-micro) var(--ease-out),background var(--t-micro) var(--ease-out)}.p-nav__github:where(.astro-3ef6ksr2):hover{color:var(--ink-900);background:var(--ink-100)}.p-nav__theme:where(.astro-3ef6ksr2){display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:1px solid transparent;border-radius:var(--r-md);color:var(--ink-500);cursor:pointer;transition:color var(--t-micro) var(--ease-out),background var(--t-micro) var(--ease-out)}.p-nav__theme:where(.astro-3ef6ksr2):hover{color:var(--ink-900);background:var(--ink-100)}html[data-theme=dark] .p-nav__theme-icon--sun:where(.astro-3ef6ksr2){display:block}html[data-theme=dark] .p-nav__theme-icon--moon:where(.astro-3ef6ksr2){display:none}html:not([data-theme=dark]) .p-nav__theme-icon--sun:where(.astro-3ef6ksr2){display:none}html:not([data-theme=dark]) .p-nav__theme-icon--moon:where(.astro-3ef6ksr2){display:block}.p-nav__version:where(.astro-3ef6ksr2){font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-400);padding:3px 7px;background:var(--ink-100);border-radius:var(--r-pill)}.p-btn{display:inline-flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;font-weight:500;text-decoration:none;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;transition:background var(--t-micro) var(--ease-out),color var(--t-micro) var(--ease-out),border-color var(--t-micro) var(--ease-out);white-space:nowrap}.p-btn--sm{font-size:13px;padding:7px 13px}.p-btn--md{font-size:14px;padding:11px 18px}.p-btn--primary{background:var(--accent);color:var(--white);border-color:var(--accent)}.p-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--white)}.p-btn--secondary{background:var(--paper);color:var(--ink-900);border-color:var(--ink-300)}.p-btn--secondary:hover{background:var(--ink-50);color:var(--ink-900)}.p-btn--ghost{background:transparent;color:var(--ink-700);border-color:transparent}.p-btn--ghost:hover{background:var(--ink-100);color:var(--ink-900)}.p-btn--on-dark{background:var(--white);color:var(--ink-900);border-color:var(--white)}.p-btn--on-dark:hover{background:var(--ink-100);color:var(--ink-900)}.p-btn--on-dark-ghost{background:transparent;color:var(--white);border-color:#ffffff4d}.p-btn--on-dark-ghost:hover{background:#ffffff14;color:var(--white)}.p-eyebrow{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}@media(max-width:768px){.p-nav__links:where(.astro-3ef6ksr2){display:none}.p-nav__github:where(.astro-3ef6ksr2),.p-nav__theme:where(.astro-3ef6ksr2){display:none}}.hero:where(.astro-bbe6dxrz){position:relative;overflow:hidden;padding:100px 32px 120px;background:var(--hero-bg)}.hero__bg-dots:where(.astro-bbe6dxrz){position:absolute;inset:0;background-image:radial-gradient(circle,var(--ink-300) 1px,transparent 1px);background-size:20px 20px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 40%,transparent 100%);opacity:.35}.hero__bg-wash:where(.astro-bbe6dxrz){position:absolute;top:-120px;right:-120px;width:640px;height:640px;background:radial-gradient(circle,rgba(201,123,42,.08) 0%,transparent 70%);pointer-events:none}.hero__inner:where(.astro-bbe6dxrz){position:relative;max-width:var(--w-marketing);margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.hero__left:where(.astro-bbe6dxrz){display:flex;flex-direction:column;gap:24px}.hero__pill:where(.astro-bbe6dxrz){display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink-700);background:var(--white);border:1px solid var(--ink-200);border-radius:var(--r-pill);padding:5px 12px 5px 5px;text-decoration:none;box-shadow:var(--shadow-card);width:fit-content;transition:border-color var(--t-micro) var(--ease-out)}.hero__pill:where(.astro-bbe6dxrz):hover{border-color:var(--ink-300);color:var(--ink-700)}.hero__pill-badge:where(.astro-bbe6dxrz){font-size:11px;font-weight:600;color:var(--accent);background:var(--accent-soft);padding:2px 7px;border-radius:var(--r-pill)}.hero__headline:where(.astro-bbe6dxrz){font-size:64px;line-height:80px;font-weight:600;letter-spacing:-.03em;color:var(--ink-900)}.hero__headline-accent:where(.astro-bbe6dxrz){display:block;position:relative;color:var(--ink-900)}.hero__underline:where(.astro-bbe6dxrz){position:absolute;bottom:-6px;left:0;width:100%;height:10px;pointer-events:none}.hero__sub:where(.astro-bbe6dxrz){font-size:19px;line-height:1.6;color:var(--ink-500);max-width:480px}.hero__ctas:where(.astro-bbe6dxrz){display:flex;gap:12px;flex-wrap:wrap}.hero__install:where(.astro-bbe6dxrz){display:inline-flex;align-items:center;gap:10px;background:var(--surface-dark);border-radius:var(--r-lg);padding:12px 16px;width:fit-content}.hero__install-label:where(.astro-bbe6dxrz){font-size:11px;font-weight:600;color:var(--ink-400);text-transform:uppercase;letter-spacing:.08em}.hero__install-cmd:where(.astro-bbe6dxrz){font-family:JetBrains Mono,monospace;font-size:13px;color:var(--code-text)}.hero__install-copy:where(.astro-bbe6dxrz){background:none;border:none;color:var(--ink-400);cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:var(--r-sm);transition:color var(--t-micro) var(--ease-out)}.hero__install-copy:where(.astro-bbe6dxrz):hover{color:var(--white)}.hero__right:where(.astro-bbe6dxrz){position:relative}.hero__code-card:where(.astro-bbe6dxrz){position:relative;background:var(--code-bg);border-radius:var(--r-lg);overflow:visible;box-shadow:var(--shadow-pop)}.code-chrome:where(.astro-bbe6dxrz){display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--code-chrome);border-radius:var(--r-lg) var(--r-lg) 0 0;border-bottom:1px solid var(--code-line)}.code-chrome__dots:where(.astro-bbe6dxrz){display:flex;gap:6px}.code-chrome__dots:where(.astro-bbe6dxrz) span:where(.astro-bbe6dxrz){width:10px;height:10px;border-radius:50%;background:var(--code-line)}.code-chrome__dots:where(.astro-bbe6dxrz) span:where(.astro-bbe6dxrz):nth-child(1){background:#ff5f57}.code-chrome__dots:where(.astro-bbe6dxrz) span:where(.astro-bbe6dxrz):nth-child(2){background:#ffbd2e}.code-chrome__dots:where(.astro-bbe6dxrz) span:where(.astro-bbe6dxrz):nth-child(3){background:#28ca42}.code-chrome__filename:where(.astro-bbe6dxrz){font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-400);margin-left:4px}.code-body:where(.astro-bbe6dxrz){margin:0;padding:20px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:22px;color:var(--code-text);overflow-x:auto;background:transparent;border-radius:0 0 var(--r-lg) var(--r-lg)}.code-body:where(.astro-bbe6dxrz) code:where(.astro-bbe6dxrz){all:unset}.code-highlight:where(.astro-bbe6dxrz){display:block;background:#c97b2a1f;border-left:2px solid var(--amber);margin:0 -20px;padding:0 20px 0 18px}.t-comment:where(.astro-bbe6dxrz){color:var(--code-comment)}.t-yaml-key:where(.astro-bbe6dxrz){color:var(--code-yaml-key)}.t-string:where(.astro-bbe6dxrz){color:var(--code-string)}.t-text:where(.astro-bbe6dxrz){color:var(--code-text)}.t-keyword:where(.astro-bbe6dxrz){color:var(--code-keyword)}.t-number:where(.astro-bbe6dxrz){color:var(--code-number)}.t-function:where(.astro-bbe6dxrz){color:var(--code-function)}.t-tag:where(.astro-bbe6dxrz){color:var(--code-tag)}.hero__chip:where(.astro-bbe6dxrz){position:absolute;display:flex;align-items:center;gap:8px;background:var(--surface)}.hero__chip--top:where(.astro-bbe6dxrz){top:-16px;right:-24px}.hero__chip--bottom:where(.astro-bbe6dxrz){bottom:-16px;left:-16px}.hero__chip-title:where(.astro-bbe6dxrz){font-size:13px;font-weight:600;color:var(--ink-900)}.hero__chip-sub:where(.astro-bbe6dxrz){font-size:11px;color:var(--ink-500);margin-top:1px}.hero__status-dot:where(.astro-bbe6dxrz){width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px var(--success-soft);flex-shrink:0}@media(max-width:900px){.hero__inner:where(.astro-bbe6dxrz){grid-template-columns:1fr}.hero__headline:where(.astro-bbe6dxrz){font-size:48px;line-height:56px}.hero__right:where(.astro-bbe6dxrz){display:none}}.tabdemo:where(.astro-zmwuaput){background:var(--ink-50);padding:120px 32px;border-top:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200)}.tabdemo__inner:where(.astro-zmwuaput){max-width:var(--w-marketing);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}.tabdemo__left:where(.astro-zmwuaput){display:flex;flex-direction:column;gap:20px;position:sticky;top:80px}.tabdemo__heading:where(.astro-zmwuaput){font-size:28px;line-height:36px;font-weight:600;letter-spacing:-.015em;color:var(--ink-900)}.tabdemo__body:where(.astro-zmwuaput){font-size:16px;line-height:26px;color:var(--ink-500)}.tabdemo__tabs:where(.astro-zmwuaput){display:flex;flex-direction:column;gap:2px;margin-top:8px}.tabdemo__tab:where(.astro-zmwuaput){display:flex;align-items:center;gap:12px;padding:12px 14px;background:transparent;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;text-align:left;transition:background var(--t-micro) var(--ease-out),border-color var(--t-micro) var(--ease-out);font-family:Inter,sans-serif}.tabdemo__tab:where(.astro-zmwuaput):hover{background:var(--surface);border-color:var(--ink-200)}.tabdemo__tab--active:where(.astro-zmwuaput){background:var(--surface);border-color:var(--ink-200);box-shadow:var(--shadow-card)}.tabdemo__tab-icon:where(.astro-zmwuaput){width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;flex-shrink:0;background:var(--ink-100);color:var(--ink-500)}.tabdemo__tab--active:where(.astro-zmwuaput) .tabdemo__tab-icon:where(.astro-zmwuaput){background:var(--accent-soft);color:var(--accent)}.tabdemo__tab--active:where(.astro-zmwuaput) .tabdemo__tab-icon--js:where(.astro-zmwuaput),.tabdemo__tab--active:where(.astro-zmwuaput) .tabdemo__tab-icon--pg:where(.astro-zmwuaput){background:var(--amber-soft);color:var(--amber)}.tabdemo__tab-name:where(.astro-zmwuaput){font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:var(--ink-700)}.tabdemo__tab--active:where(.astro-zmwuaput) .tabdemo__tab-name:where(.astro-zmwuaput){color:var(--ink-900)}.tabdemo__tab-desc:where(.astro-zmwuaput){font-size:12px;color:var(--ink-400);margin-top:1px}.tabdemo__right:where(.astro-zmwuaput){min-width:0}.tabdemo__code-wrap:where(.astro-zmwuaput){background:var(--code-bg);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);overflow:hidden}.tabdemo__panel:where(.astro-zmwuaput){display:none}.tabdemo__panel--active:where(.astro-zmwuaput){display:block}.code-chrome:where(.astro-zmwuaput){display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--code-chrome);border-bottom:1px solid var(--code-line)}.code-chrome__dots:where(.astro-zmwuaput){display:flex;gap:6px}.code-chrome__dots:where(.astro-zmwuaput) span:where(.astro-zmwuaput){width:10px;height:10px;border-radius:50%}.code-chrome__dots:where(.astro-zmwuaput) span:where(.astro-zmwuaput):nth-child(1){background:#ff5f57}.code-chrome__dots:where(.astro-zmwuaput) span:where(.astro-zmwuaput):nth-child(2){background:#ffbd2e}.code-chrome__dots:where(.astro-zmwuaput) span:where(.astro-zmwuaput):nth-child(3){background:#28ca42}.code-chrome__filename:where(.astro-zmwuaput){font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-400);margin-left:4px}.code-body:where(.astro-zmwuaput){margin:0;padding:20px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:22px;color:var(--code-text);overflow-x:auto;background:transparent}.code-body:where(.astro-zmwuaput) code:where(.astro-zmwuaput){all:unset}.t-comment:where(.astro-zmwuaput){color:var(--code-comment)}.t-yaml-key:where(.astro-zmwuaput){color:var(--code-yaml-key)}.t-string:where(.astro-zmwuaput){color:var(--code-string)}.t-text:where(.astro-zmwuaput){color:var(--code-text)}.t-keyword:where(.astro-zmwuaput){color:var(--code-keyword)}.t-number:where(.astro-zmwuaput){color:var(--code-number)}.t-function:where(.astro-zmwuaput){color:var(--code-function)}@media(max-width:900px){.tabdemo__inner:where(.astro-zmwuaput){grid-template-columns:1fr}.tabdemo__left:where(.astro-zmwuaput){position:static}}.footer:where(.astro-sz7xmlte){background:var(--ink-1000);border-top:1px solid var(--ink-800);padding:80px 32px 40px}.footer__inner:where(.astro-sz7xmlte){max-width:var(--w-marketing);margin:0 auto}.footer__top:where(.astro-sz7xmlte){display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;gap:40px;margin-bottom:64px}.footer__brand:where(.astro-sz7xmlte){display:flex;flex-direction:column;gap:16px}.footer__logo:where(.astro-sz7xmlte){display:flex;align-items:center;gap:8px;text-decoration:none}.footer__wordmark:where(.astro-sz7xmlte){font-size:15px;font-weight:600;color:var(--white)}.footer__tagline:where(.astro-sz7xmlte){font-size:14px;line-height:22px;color:var(--ink-500)}.footer__github:where(.astro-sz7xmlte){display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--ink-400);text-decoration:none;padding:7px 12px;border:1px solid var(--ink-800);border-radius:var(--r-md);transition:color var(--t-micro) var(--ease-out),border-color var(--t-micro) var(--ease-out);width:fit-content}.footer__github:where(.astro-sz7xmlte):hover{color:var(--white);border-color:var(--ink-600)}.footer__col-heading:where(.astro-sz7xmlte){font-size:12px;font-weight:600;color:var(--white);letter-spacing:.04em;margin-bottom:16px;text-transform:uppercase}.footer__links:where(.astro-sz7xmlte){list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.footer__link:where(.astro-sz7xmlte){font-size:14px;color:var(--ink-500);text-decoration:none;transition:color var(--t-micro) var(--ease-out)}.footer__link:where(.astro-sz7xmlte):hover{color:var(--white)}.footer__bottom:where(.astro-sz7xmlte){display:flex;align-items:center;justify-content:space-between;padding-top:32px;border-top:1px solid var(--ink-800);font-size:13px;color:var(--ink-500);flex-wrap:wrap;gap:12px}.footer__bottom-links:where(.astro-sz7xmlte){display:flex;gap:20px}.footer__bottom-link:where(.astro-sz7xmlte){font-size:13px;color:var(--ink-500);text-decoration:none;transition:color var(--t-micro) var(--ease-out)}.footer__bottom-link:where(.astro-sz7xmlte):hover{color:var(--white)}@media(max-width:900px){.footer__top:where(.astro-sz7xmlte){grid-template-columns:1fr 1fr}.footer__brand:where(.astro-sz7xmlte){grid-column:1 / -1}}@media(max-width:480px){.footer__top:where(.astro-sz7xmlte){grid-template-columns:1fr}}main:where(.astro-j7pv25f6){margin:0;padding:0}
