*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--q-bg);min-width:0;color:var(--q-text);font-family:var(--q-font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.15}img{max-width:100%;height:auto;display:block}a{color:inherit}code,kbd{font-family:var(--q-font-mono)}:focus-visible{outline:2px solid var(--q-accent-focus);outline-offset:2px}.skip-link{z-index:10;border-radius:var(--q-radius);background:var(--q-accent);color:var(--q-accent-ink);padding:.5rem .9rem;font-weight:600;text-decoration:none;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.q-wrap{width:100%;max-width:88rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}.q-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.q-btn{border:1px solid var(--q-line);border-radius:var(--q-radius);background:var(--q-panel);min-height:2.75rem;color:var(--q-text);font:inherit;white-space:nowrap;cursor:pointer;transition:background-color .15s var(--q-ease), border-color .15s var(--q-ease), color .15s var(--q-ease);justify-content:center;align-items:center;gap:.5rem;padding:0 1.1rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.q-btn:hover{border-color:var(--q-subtle);background:var(--q-panel-strong)}.q-btn:active{transform:translateY(1px)}.q-btn--primary{border-color:var(--q-accent);background:var(--q-accent);color:var(--q-accent-ink)}.q-btn--primary:hover{border-color:var(--q-accent);background:var(--q-accent);filter:brightness(.94)}.q-shot{border:1px solid var(--q-line);border-radius:var(--q-radius-lg);background:var(--q-panel);overflow:hidden}.q-dots{background-color:var(--q-bg);background-image:radial-gradient(var(--q-grid-dot) 1px, transparent 1px);background-size:18px 18px}.site-header:where(.astro-fzpbxy5g){z-index:5;border-bottom:1px solid var(--q-line-soft);background:color-mix(in oklab, var(--q-bg) 88%, transparent);backdrop-filter:blur(10px);position:sticky;top:0}.site-header__inner:where(.astro-fzpbxy5g){justify-content:space-between;align-items:center;gap:1rem;height:3.75rem;display:flex}.brand:where(.astro-fzpbxy5g){letter-spacing:-.01em;align-items:center;gap:.6rem;font-size:1.0625rem;font-weight:600;text-decoration:none;display:inline-flex}.brand:where(.astro-fzpbxy5g) img:where(.astro-fzpbxy5g){border-radius:7px}nav:where(.astro-fzpbxy5g){align-items:center;gap:.25rem;display:flex}nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g),nav:where(.astro-fzpbxy5g) button:where(.astro-fzpbxy5g){border-radius:var(--q-radius);min-height:2.5rem;color:var(--q-muted);font:inherit;cursor:pointer;transition:color .15s var(--q-ease), background-color .15s var(--q-ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0 .75rem;font-size:.9375rem;text-decoration:none;display:inline-flex}nav:where(.astro-fzpbxy5g) a:where(.astro-fzpbxy5g):hover,nav:where(.astro-fzpbxy5g) button:where(.astro-fzpbxy5g):hover{color:var(--q-text);background:var(--q-panel)}.icon-link:where(.astro-fzpbxy5g){width:2.5rem;padding:0}[data-theme=dark] .icon-sun:where(.astro-fzpbxy5g),[data-theme=light] .icon-moon:where(.astro-fzpbxy5g){display:block}.icon-sun:where(.astro-fzpbxy5g),.icon-moon:where(.astro-fzpbxy5g){display:none}@media (width<=26rem){.hide-xs:where(.astro-fzpbxy5g){display:none!important}}.provider-icon:where(.astro-ns7abuys){width:var(--size);height:var(--size);mask:var(--icon) center / contain no-repeat;background-color:currentColor;flex:none;display:inline-block}.hero:where(.astro-ge2uvauf){padding-block:clamp(3rem,8vw,6rem) clamp(2.5rem,5vw,4rem)}.hero__grid:where(.astro-ge2uvauf){align-items:end;gap:2.5rem;display:grid}@media (width>=60rem){.hero__grid:where(.astro-ge2uvauf){grid-template-columns:minmax(0,1.5fr) minmax(18rem,1fr);gap:4rem}}h1:where(.astro-ge2uvauf){letter-spacing:-.035em;max-width:16ch;font-size:clamp(2.4rem,6vw,4.25rem)}.hero__lede:where(.astro-ge2uvauf){max-width:38rem;color:var(--q-muted);margin-top:1.25rem;font-size:clamp(1.0625rem,1.6vw,1.1875rem)}.hero__actions:where(.astro-ge2uvauf){flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero__meta:where(.astro-ge2uvauf){color:var(--q-subtle);margin-top:1rem;font-size:.875rem}.hero__providers:where(.astro-ge2uvauf){border:1px solid var(--q-line);border-radius:var(--q-radius-lg);background:var(--q-panel);padding:1.25rem}.hero__providers:where(.astro-ge2uvauf) h2:where(.astro-ge2uvauf){letter-spacing:.06em;text-transform:uppercase;color:var(--q-subtle);font-size:.75rem;font-weight:500}ul:where(.astro-ge2uvauf){grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem;margin:.9rem 0 1rem;padding:0;list-style:none;display:grid}li:where(.astro-ge2uvauf){min-height:2.25rem;color:var(--q-text);align-items:center;gap:.6rem;font-size:.9375rem;display:flex}.hero__providers:where(.astro-ge2uvauf)>a:where(.astro-ge2uvauf){color:var(--q-accent);text-underline-offset:3px;font-size:.875rem}@media (width<=22rem){ul:where(.astro-ge2uvauf){grid-template-columns:1fr}}.showcase:where(.astro-ifm7dm34){border-block:1px solid var(--q-line-soft);padding-block:clamp(2rem,5vw,3.5rem)}.showcase__bar:where(.astro-ifm7dm34){flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}h2:where(.astro-ifm7dm34){font-size:clamp(1.25rem,2.4vw,1.5rem)}.tabs:where(.astro-ifm7dm34){border:1px solid var(--q-line);border-radius:var(--q-radius);background:var(--q-panel);gap:.25rem;padding:.25rem;display:inline-flex}:where(.astro-ifm7dm34)[role=tab]{min-height:2.25rem;color:var(--q-muted);font:inherit;cursor:pointer;transition:color .15s var(--q-ease), background-color .15s var(--q-ease);background:0 0;border:0;border-radius:6px;padding:0 .9rem;font-size:.875rem;font-weight:500}:where(.astro-ifm7dm34)[role=tab]:hover{color:var(--q-text)}:where(.astro-ifm7dm34)[role=tab][aria-selected=true]{background:var(--q-panel-strong);color:var(--q-text);box-shadow:inset 0 0 0 1px var(--q-line)}.showcase__panel:where(.astro-ifm7dm34) img:where(.astro-ifm7dm34){width:100%}.copy-command:where(.astro-txefhf4k){border:1px solid var(--q-line);border-radius:var(--q-radius);background:var(--q-code-bg);align-items:center;gap:.5rem;min-width:0;padding:.35rem .35rem .35rem .85rem;display:flex}code:where(.astro-txefhf4k){white-space:nowrap;min-width:0;color:var(--q-text);scrollbar-width:none;flex:1;font-size:.8125rem;overflow-x:auto}code:where(.astro-txefhf4k):before{content:"$ ";color:var(--q-subtle)}button:where(.astro-txefhf4k){width:2.25rem;height:2.25rem;color:var(--q-muted);cursor:pointer;transition:background-color .15s var(--q-ease), color .15s var(--q-ease);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;place-items:center;display:grid}button:where(.astro-txefhf4k):hover{background:var(--q-panel-strong);color:var(--q-text)}.icon-done:where(.astro-txefhf4k){display:none}button:where(.astro-txefhf4k)[data-state=done]{color:var(--q-success)}button:where(.astro-txefhf4k)[data-state=done] .icon-copy:where(.astro-txefhf4k){display:none}button:where(.astro-txefhf4k)[data-state=done] .icon-done:where(.astro-txefhf4k){display:block}button:where(.astro-txefhf4k)[data-state=error]{color:var(--q-danger)}.surfaces:where(.astro-sxmrwwka){padding-block:clamp(3.5rem,8vw,6rem)}.surfaces__title:where(.astro-sxmrwwka){max-width:22ch;margin-bottom:clamp(2rem,5vw,3.5rem);font-size:clamp(1.75rem,3.6vw,2.5rem)}.surface:where(.astro-sxmrwwka){border-top:1px solid var(--q-line-soft);grid-template-columns:minmax(0,1fr);align-items:center;gap:1.75rem;padding-block:clamp(2rem,4vw,3rem);display:grid}@media (width>=60rem){.surface:where(.astro-sxmrwwka){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:3.5rem}.surface--flip:where(.astro-sxmrwwka) .surface__copy:where(.astro-sxmrwwka){order:2}.surface--wide:where(.astro-sxmrwwka){grid-template-columns:minmax(0,1fr);gap:1.75rem}.surface--wide:where(.astro-sxmrwwka) .surface__copy:where(.astro-sxmrwwka){grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;column-gap:3.5rem;display:grid}.surface--wide:where(.astro-sxmrwwka) .surface__copy:where(.astro-sxmrwwka) h3:where(.astro-sxmrwwka),.surface--wide:where(.astro-sxmrwwka) .surface__copy:where(.astro-sxmrwwka) p:where(.astro-sxmrwwka){grid-column:1}.surface--wide:where(.astro-sxmrwwka) .surface__actions:where(.astro-sxmrwwka){grid-area:1/2/span 2;align-self:end}.surface--herdr:where(.astro-sxmrwwka){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}h3:where(.astro-sxmrwwka){font-size:clamp(1.375rem,2.4vw,1.75rem)}.surface__copy:where(.astro-sxmrwwka) p:where(.astro-sxmrwwka){max-width:34rem;color:var(--q-muted);margin-top:.75rem}ul:where(.astro-sxmrwwka){gap:.5rem;margin:1.25rem 0 0;padding:0;font-size:.9375rem;list-style:none;display:grid}li:where(.astro-sxmrwwka){padding-left:1.25rem;position:relative}li:where(.astro-sxmrwwka):before{content:"";background:var(--q-accent);border-radius:2px;width:.45rem;height:.45rem;position:absolute;top:.62em;left:0}.surface__actions:where(.astro-sxmrwwka){flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1.75rem;display:flex}.surface__actions--cmd:where(.astro-sxmrwwka){flex-flow:column;align-items:stretch}.surface__actions--cmd:where(.astro-sxmrwwka) .surface__link:where(.astro-sxmrwwka){align-self:flex-start}.surface__link:where(.astro-sxmrwwka){min-height:2.75rem;color:var(--q-text);white-space:nowrap;align-items:center;gap:.35rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:inline-flex}.surface__link:where(.astro-sxmrwwka):hover{color:var(--q-accent)}.surface__stack:where(.astro-sxmrwwka){gap:.75rem;display:grid}.surface__strip:where(.astro-sxmrwwka) img:where(.astro-sxmrwwka){width:100%}.surface__terminal:where(.astro-sxmrwwka){background:#111315}@media (width<=48rem){.surface__terminal:where(.astro-sxmrwwka){overflow-x:auto}.q-shot:where(.astro-sxmrwwka).surface__terminal img:where(.astro-sxmrwwka){width:52rem;max-width:none}}.surface__tall:where(.astro-sxmrwwka){justify-self:center;max-width:18rem}.q-shot:where(.astro-sxmrwwka) img:where(.astro-sxmrwwka){width:100%}.features:where(.astro-cognygiv){border-top:1px solid var(--q-line-soft);padding-block:clamp(3.5rem,8vw,6rem)}.features__grid:where(.astro-cognygiv){gap:2rem;display:grid}@media (width>=60rem){.features__grid:where(.astro-cognygiv){grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);gap:3.5rem}}h2:where(.astro-cognygiv){max-width:14ch;font-size:clamp(1.75rem,3.6vw,2.5rem)}.features__intro:where(.astro-cognygiv) p:where(.astro-cognygiv){color:var(--q-muted);margin-top:.75rem}dl:where(.astro-cognygiv){border-top:1px solid var(--q-line);border-left:1px solid var(--q-line);grid-template-columns:minmax(0,1fr);margin:0;display:grid}@media (width>=40rem){dl:where(.astro-cognygiv){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=80rem){dl:where(.astro-cognygiv){grid-template-columns:repeat(4,minmax(0,1fr))}}dl:where(.astro-cognygiv)>div:where(.astro-cognygiv){border-right:1px solid var(--q-line);border-bottom:1px solid var(--q-line);padding:1.25rem}dt:where(.astro-cognygiv){font-weight:600}dd:where(.astro-cognygiv){color:var(--q-muted);margin:.4rem 0 0;font-size:.9375rem}.privacy:where(.astro-cognygiv){border:1px solid var(--q-line);border-radius:var(--q-radius-lg);background:var(--q-panel);gap:1rem 3.5rem;margin-top:clamp(3rem,6vw,4.5rem);padding:clamp(1.25rem,3vw,2rem);display:grid}@media (width>=60rem){.privacy:where(.astro-cognygiv){grid-template-columns:minmax(0,.8fr) minmax(0,2.2fr);align-items:start}.privacy:where(.astro-cognygiv) a:where(.astro-cognygiv){grid-column:2}}.privacy:where(.astro-cognygiv) h2:where(.astro-cognygiv){font-size:clamp(1.375rem,2.4vw,1.75rem)}.privacy:where(.astro-cognygiv) ul:where(.astro-cognygiv){color:var(--q-muted);gap:.5rem;margin:0;padding-left:1.1rem;display:grid}.privacy:where(.astro-cognygiv) code:where(.astro-cognygiv){color:var(--q-text);font-size:.875em}.privacy:where(.astro-cognygiv) a:where(.astro-cognygiv){color:var(--q-accent);text-underline-offset:3px;justify-self:start;font-size:.9375rem}.download:where(.astro-vwyjoj4m){border-top:1px solid var(--q-line-soft);padding-block:clamp(3.5rem,8vw,6rem);scroll-margin-top:3.75rem}.download__grid:where(.astro-vwyjoj4m){grid-template-columns:minmax(0,1fr);gap:3rem;display:grid}@media (width>=60rem){.download__grid:where(.astro-vwyjoj4m){grid-template-columns:minmax(0,1.5fr) minmax(18rem,1fr);gap:3.5rem}}h2:where(.astro-vwyjoj4m){font-size:clamp(1.75rem,3.6vw,2.5rem)}.download__lede:where(.astro-vwyjoj4m){color:var(--q-muted);margin:.75rem 0 1.5rem}.download__other:where(.astro-vwyjoj4m){align-content:start;gap:1rem;display:grid}.download__item:where(.astro-vwyjoj4m){border:1px solid var(--q-line);border-radius:var(--q-radius-lg);background:var(--q-panel);gap:.6rem;padding:1.25rem;display:grid}h3:where(.astro-vwyjoj4m){font-size:1.0625rem}.download__item:where(.astro-vwyjoj4m) p:where(.astro-vwyjoj4m){color:var(--q-subtle);font-size:.875rem}.download__links:where(.astro-vwyjoj4m){flex-wrap:wrap;gap:0 1.25rem;display:flex}.download__links:where(.astro-vwyjoj4m) a:where(.astro-vwyjoj4m),.download__all:where(.astro-vwyjoj4m){min-height:2.25rem;color:var(--q-accent);text-underline-offset:3px;white-space:nowrap;align-items:center;font-size:.9375rem;display:inline-flex}.download__all:where(.astro-vwyjoj4m){color:var(--q-muted);justify-self:start}.download__all:where(.astro-vwyjoj4m):hover{color:var(--q-text)}.site-footer:where(.astro-nns7i3if){border-top:1px solid var(--q-line-soft);color:var(--q-subtle);padding-block:2rem;font-size:.875rem}.site-footer__inner:where(.astro-nns7i3if){flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}a:where(.astro-nns7i3if){color:var(--q-muted);transition:color .15s var(--q-ease);text-decoration:none}a:where(.astro-nns7i3if):hover{color:var(--q-text)}nav:where(.astro-nns7i3if){flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}nav:where(.astro-nns7i3if) a:where(.astro-nns7i3if){white-space:nowrap;align-items:center;min-height:2.25rem;display:inline-flex}
