@font-face{font-family:Geist;src:url(/fonts/geist-latin.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{color-scheme:light dark;--sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--bg:#fafafa;--surface:#fff;--surface-2:#f4f4f5;--text:#18181b;--muted:#6b6b76;--faint:#a1a1aa;--border:#e4e4e7;--border-strong:#d4d4d8;--accent:#4f46e5;--accent-soft:#eef0ff;--on-accent:#fff;--add-bg:#eafaf1;--add-word:#c4f0d6;--add-fg:#106939;--del-bg:#fdeff1;--del-word:#f9d3da;--del-fg:#a0293c;--tok-kw:#7c3aed;--tok-str:#0e7490;--tok-fn:#1d4ed8;--tok-num:#b45309;--term-bg:var(--surface);--term-border:var(--border);--term-text:var(--text);--term-muted:var(--muted);--shadow:0 1px 2px #18181b0a, 0 8px 24px #18181b12, 0 24px 64px #18181b0f}:root[data-theme=dark]{color-scheme:dark;--bg:#0c0c0f;--surface:#131318;--surface-2:#1a1a21;--text:#f0f0f2;--muted:#9d9daa;--faint:#62626e;--border:#24242c;--border-strong:#32323c;--accent:#8b8bf5;--accent-soft:#1d1d33;--on-accent:#0c0c0f;--add-bg:#46be6e21;--add-word:#46be6e52;--add-fg:#6fd696;--del-bg:#f05a6e1f;--del-word:#f05a6e4d;--del-fg:#f19aa8;--tok-kw:#b8a5f7;--tok-str:#7dd3e8;--tok-fn:#93b8f8;--tok-num:#e8b573;--shadow:0 1px 2px #0006, 0 8px 24px #00000073, 0 24px 64px #0006}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}.container{max-width:1060px;margin:0 auto;padding:0 24px}a{color:inherit}code,pre,kbd{font-family:var(--mono)}::selection{background:var(--accent);color:var(--on-accent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.brand:where(.astro-6bctqxxv){letter-spacing:-.01em;color:inherit;align-items:center;gap:9px;font-size:16.5px;font-weight:650;text-decoration:none;display:inline-flex}.mark:where(.astro-6bctqxxv){background:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.mark-inner:where(.astro-6bctqxxv){background:var(--on-accent);border-radius:2px;width:8px;height:8px}.top:where(.astro-ge2uvauf){z-index:2;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:20px;display:flex;position:relative}.top-nav:where(.astro-ge2uvauf){align-items:center;gap:24px;font-size:14px;display:flex}.top-nav:where(.astro-ge2uvauf) a:where(.astro-ge2uvauf){color:var(--muted);text-decoration:none}.top-nav:where(.astro-ge2uvauf) a:where(.astro-ge2uvauf):hover{color:var(--text)}.top-nav:where(.astro-ge2uvauf) .gh:where(.astro-ge2uvauf){border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:7px 14px;font-weight:550}.top-nav:where(.astro-ge2uvauf) .gh:where(.astro-ge2uvauf):hover{border-color:var(--border-strong)}#theme-toggle:where(.astro-ge2uvauf){border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}#theme-toggle:where(.astro-ge2uvauf):hover{border-color:var(--border-strong);color:var(--text)}#theme-toggle:where(.astro-ge2uvauf) .i-sun:where(.astro-ge2uvauf){display:none}:root[data-theme=dark] #theme-toggle:where(.astro-ge2uvauf) .i-sun:where(.astro-ge2uvauf){display:block}:root[data-theme=dark] #theme-toggle:where(.astro-ge2uvauf) .i-moon:where(.astro-ge2uvauf){display:none}.hero:where(.astro-ge2uvauf){text-align:center;position:relative}.dots:where(.astro-ge2uvauf){background-image:radial-gradient(var(--border-strong) 1px, transparent 1px);pointer-events:none;background-size:26px 26px;height:560px;position:absolute;inset:-80px 0 auto;mask-image:radial-gradient(66% 80% at 50% 10%,#000 34%,#0000 80%)}.hero-inner:where(.astro-ge2uvauf){padding-top:64px;padding-bottom:56px;position:relative}h1:where(.astro-ge2uvauf){letter-spacing:-.03em;max-width:24ch;margin:0 auto;font-size:clamp(1.8rem,6.4vw,3.9rem);font-weight:700;line-height:1.06}h1:where(.astro-ge2uvauf) em:where(.astro-ge2uvauf){color:var(--accent);font-style:normal}.sub:where(.astro-ge2uvauf){max-width:60ch;color:var(--muted);margin:24px auto 0;font-size:17px}.sub:where(.astro-ge2uvauf) a:where(.astro-ge2uvauf){color:var(--text);text-decoration-color:var(--border-strong);text-underline-offset:3px}.cta:where(.astro-ge2uvauf){flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;margin-top:34px;display:flex}.btn:where(.astro-ge2uvauf){background:var(--accent);height:46px;color:var(--on-accent);border-radius:10px;align-items:center;gap:9px;padding:0 20px;font-size:14.5px;font-weight:570;text-decoration:none;display:inline-flex}.btn:where(.astro-ge2uvauf):hover{filter:brightness(1.08)}.install-pill:where(.astro-ge2uvauf){background:var(--term-bg);border:1px solid var(--term-border);max-width:min(92vw,480px);height:46px;font-family:var(--mono);border-radius:10px;align-items:center;display:inline-flex;overflow:hidden}.prompt:where(.astro-ge2uvauf){color:var(--term-muted);padding-left:16px;font-size:13px}.install-pill:where(.astro-ge2uvauf) code:where(.astro-ge2uvauf){min-width:0;color:var(--term-text);white-space:nowrap;scrollbar-width:none;flex:1;padding:0 14px 0 10px;font-size:12.5px;overflow-x:auto}.install-pill:where(.astro-ge2uvauf) button:where(.astro-ge2uvauf){border:1px solid var(--term-border);background:var(--surface-2);color:var(--term-text);font-family:var(--sans);cursor:pointer;border-radius:7px;flex:none;align-self:center;margin-right:8px;padding:5px 10px;font-size:12px;font-weight:550}.install-pill:where(.astro-ge2uvauf) button:where(.astro-ge2uvauf):hover{background:var(--border)}.label-check:where(.astro-ge2uvauf){color:var(--add-fg);display:none}.install-pill:where(.astro-ge2uvauf) button:where(.astro-ge2uvauf).copied .label-copy:where(.astro-ge2uvauf){display:none}.install-pill:where(.astro-ge2uvauf) button:where(.astro-ge2uvauf).copied .label-check:where(.astro-ge2uvauf){display:inline}@media (width<=560px){.top-nav:where(.astro-ge2uvauf) a:where(.astro-ge2uvauf):not(.gh){display:none}}.tm-wrap:where(.astro-3voi72do){--tm-ratio:.6;--tm-lh:1.25;--tm-chrome:0px;position:relative;container-type:inline-size}.tm-wrap--chrome:where(.astro-3voi72do){--tm-chrome:34px}.tm-scale:where(.astro-3voi72do){border:1px solid var(--border);scrollbar-width:thin;border-radius:9px;position:relative;overflow:auto hidden}.tm-wrap--chrome:where(.astro-3voi72do) .tm-scale:where(.astro-3voi72do){border-radius:11px;box-shadow:0 1px 2px #00000014,0 12px 32px -8px #00000038}.tm-lights:where(.astro-3voi72do){pointer-events:none;gap:8px;display:flex;position:absolute;top:13px;left:14px}.tm-lights:where(.astro-3voi72do)>span:where(.astro-3voi72do){border-radius:50%;width:11px;height:11px;box-shadow:inset 0 0 0 .5px #0000001f}.tm-lights:where(.astro-3voi72do)>span:where(.astro-3voi72do):first-child{background:#ff5f57}.tm-lights:where(.astro-3voi72do)>span:where(.astro-3voi72do):nth-child(2){background:#febc2e}.tm-lights:where(.astro-3voi72do)>span:where(.astro-3voi72do):nth-child(3){background:#28c840}.tm-theme:where(.astro-3voi72do) .tm{font-family:var(--mono);font-size:var(--tm-fs,min(13px, calc(100cqw / (var(--tm-cols) * var(--tm-ratio)))));line-height:var(--tm-lh);background:var(--tm-bg);color:var(--tm-fg);height:calc(var(--tm-rows) * var(--tm-lh) * 1em);padding-top:var(--tm-chrome);-webkit-font-smoothing:antialiased;position:relative;overflow:hidden}.tm-theme:where(.astro-3voi72do) .tm-row{white-space:pre;height:calc(var(--tm-lh) * 1em);font-variant-ligatures:none;font-feature-settings:"liga" 0, "calt" 0;letter-spacing:0}.tm-theme:where(.astro-3voi72do) .tm-row>span{height:calc(var(--tm-lh) * 1em);vertical-align:top;display:inline-block}.tm-theme:where(.astro-3voi72do) .tm-g-lhalf{background-image:linear-gradient(90deg,currentColor 0 50%,#0000 50%);background-repeat:repeat;background-size:1ch 100%}.tm-theme:where(.astro-3voi72do) .tm-g-lquarter{background-image:linear-gradient(90deg,currentColor 0 25%,#0000 25%);background-repeat:repeat;background-size:1ch 100%}.tm-theme:where(.astro-3voi72do) .tm-g-hline{background-image:linear-gradient(#0000 0 calc(50% - .5px),currentColor calc(50% - .5px) calc(50% + .5px),#0000 calc(50% + .5px) 100%)}.tm-theme--dark:where(.astro-3voi72do),:root[data-theme=dark] .tm-theme--light:where(.astro-3voi72do){display:none}:root[data-theme=dark] .tm-theme--dark:where(.astro-3voi72do){display:block}.tm-wrap:where(.astro-3voi72do)[data-scrolls] .tm-scale:where(.astro-3voi72do){mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.features:where(.astro-cognygiv){padding-top:96px;padding-bottom:24px}.heading:where(.astro-cognygiv){max-width:52ch;margin-bottom:36px}h2:where(.astro-cognygiv){letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:700}.heading:where(.astro-cognygiv) p:where(.astro-cognygiv){color:var(--muted);margin:0;font-size:16px}.bento:where(.astro-cognygiv){grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.cell:where(.astro-cognygiv){border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;padding:16px 16px 20px;display:flex}.cell:where(.astro-cognygiv).wide{grid-column:span 2}.cell:where(.astro-cognygiv) h3:where(.astro-cognygiv){letter-spacing:-.01em;margin:16px 6px 5px;font-size:15.5px;font-weight:650}.cell:where(.astro-cognygiv) p:where(.astro-cognygiv){color:var(--muted);margin:0 6px;font-size:13.5px}.cell:where(.astro-cognygiv) p:where(.astro-cognygiv) kbd:where(.astro-cognygiv){border:1px solid var(--border-strong);background:var(--surface-2);font-family:var(--mono);color:var(--text);border-radius:5px;padding:1px 5px;font-size:11.5px}.cell-vis:where(.astro-cognygiv){align-self:stretch}.vis:where(.astro-cognygiv){border:1px solid var(--border);background:var(--surface);font-family:var(--mono);color:var(--text);border-radius:9px;flex:none;font-size:12px;line-height:1.9;overflow:hidden}.cell:where(.astro-cognygiv).band{flex-direction:row;grid-column:1/-1;align-items:center;gap:24px;padding:14px 20px}.cell:where(.astro-cognygiv).band .vis:where(.astro-cognygiv){flex:none}.band-copy:where(.astro-cognygiv) h3:where(.astro-cognygiv){margin:0 0 2px}.band-copy:where(.astro-cognygiv) p:where(.astro-cognygiv){margin:0}.vis:where(.astro-cognygiv).keysrow{justify-content:center;align-items:center;gap:8px;padding:10px 14px;display:flex}.keysrow:where(.astro-cognygiv) kbd:where(.astro-cognygiv){border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);border-bottom-width:2px;border-radius:7px;padding:4px 10px;font-size:12.5px}.docs-cta:where(.astro-cognygiv){text-align:center;margin-top:28px}.docs-btn:where(.astro-cognygiv){border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 20px;font-size:14px;font-weight:550;text-decoration:none;display:inline-block}.docs-btn:where(.astro-cognygiv):hover{border-color:var(--border-strong);background:var(--surface-2)}@media (width<=900px){.bento:where(.astro-cognygiv){grid-template-columns:1fr 1fr}.cell:where(.astro-cognygiv).wide{grid-column:span 2}}@media (width<=600px){.bento:where(.astro-cognygiv){grid-template-columns:1fr}.cell:where(.astro-cognygiv).wide{grid-column:auto}}.install:where(.astro-swawiaf7){padding-top:48px;padding-bottom:96px}.inner:where(.astro-swawiaf7){border-top:1px solid var(--border);grid-template-columns:1fr 1.2fr;align-items:center;gap:16px 48px;padding-top:72px;display:grid}h2:where(.astro-swawiaf7){letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:700}.copy:where(.astro-swawiaf7) p:where(.astro-swawiaf7){color:var(--muted);margin:0;font-size:15.5px}.term:where(.astro-swawiaf7){background:var(--term-bg);border:1px solid var(--term-border);border-radius:12px;overflow:hidden}.term-bar:where(.astro-swawiaf7){border-bottom:1px solid var(--term-border);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.tab-label:where(.astro-swawiaf7){background:var(--surface-2);color:var(--term-text);font-family:var(--mono);border-radius:7px;padding:5px 12px;font-size:12px}.term-bar:where(.astro-swawiaf7)>button:where(.astro-swawiaf7)#install-copy{border:1px solid var(--term-border);background:var(--surface-2);color:var(--term-text);font-family:var(--sans);cursor:pointer;border-radius:7px;padding:5px 10px;font-size:12px;font-weight:550}.term-bar:where(.astro-swawiaf7)>button:where(.astro-swawiaf7)#install-copy:hover{background:var(--border)}.label-check:where(.astro-swawiaf7){color:var(--add-fg);display:none}#install-copy:where(.astro-swawiaf7).copied .label-copy:where(.astro-swawiaf7){display:none}#install-copy:where(.astro-swawiaf7).copied .label-check:where(.astro-swawiaf7){display:inline}.method:where(.astro-swawiaf7){color:var(--term-text);margin:0;padding:20px 22px;font-size:13px;line-height:1.9;overflow-x:auto}.p:where(.astro-swawiaf7){color:var(--term-muted);user-select:none}.c:where(.astro-swawiaf7){color:var(--term-muted)}.side-note:where(.astro-swawiaf7){color:var(--faint);grid-column:2;margin:0;font-size:13px}.side-note:where(.astro-swawiaf7) code:where(.astro-swawiaf7){color:var(--muted);font-size:12px}@media (width<=760px){.inner:where(.astro-swawiaf7){grid-template-columns:1fr;gap:24px}.side-note:where(.astro-swawiaf7){grid-column:1}}.footer:where(.astro-jo6i4kqk){border-top:1px solid var(--border);padding:26px 0}.inner:where(.astro-jo6i4kqk){color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:13.5px;display:flex}.brand:where(.astro-jo6i4kqk){color:var(--text);font-weight:640}a:where(.astro-jo6i4kqk){color:var(--muted);text-decoration:none}a:where(.astro-jo6i4kqk):hover{color:var(--text)}.sep:where(.astro-jo6i4kqk){color:var(--faint);margin:0 8px}.mockup-slot:where(.astro-lcdefpme){max-width:980px}
