.signup-button[data-astro-cid-ryopl7va]{display:inline-flex;position:relative}.signup-button--block[data-astro-cid-ryopl7va]{width:100%;display:flex}@media (width<=639px){.signup-button--block-mobile[data-astro-cid-ryopl7va]{width:100%;display:flex}}.signup-button__main[data-astro-cid-ryopl7va]{border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.signup-button__toggle[data-astro-cid-ryopl7va]{padding-inline:var(--s-2);border-left:1px solid color-mix(in srgb, var(--on-accent) 25%, transparent);border-top-left-radius:0;border-bottom-left-radius:0}.signup-button__toggle[data-astro-cid-ryopl7va].btn--outline{border-left-color:var(--purple-edge)}.signup-button__toggle[data-astro-cid-ryopl7va] svg[data-astro-cid-ryopl7va]{width:16px;height:16px;transition:transform var(--dur) var(--ease)}.signup-button__toggle[data-astro-cid-ryopl7va][aria-expanded=true] svg[data-astro-cid-ryopl7va]{transform:rotate(180deg)}.signup-button__menu[data-astro-cid-ryopl7va]{z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);opacity:0;visibility:hidden;pointer-events:none;min-width:18rem;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear .18s;position:absolute;overflow:hidden}.signup-button__menu--down[data-astro-cid-ryopl7va]{margin-top:var(--s-2);top:100%;transform:translateY(-4px)}.signup-button__menu--up[data-astro-cid-ryopl7va]{margin-bottom:var(--s-2);bottom:100%;transform:translateY(4px)}.signup-button__menu--left[data-astro-cid-ryopl7va]{left:0}.signup-button__menu--right[data-astro-cid-ryopl7va]{right:0}@media (width<=767px){.signup-button__menu[data-astro-cid-ryopl7va]{min-width:0;left:0;right:0}}.signup-button__menu[data-astro-cid-ryopl7va].is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s;transform:none}.signup-button__item[data-astro-cid-ryopl7va]{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);color:var(--muted);transition:background var(--dur) var(--ease);display:flex}.signup-button__item[data-astro-cid-ryopl7va]+.signup-button__item[data-astro-cid-ryopl7va]{border-top:1px solid var(--line)}.signup-button__item[data-astro-cid-ryopl7va]:hover{background:var(--purple-ghost)}.signup-button__item-icon[data-astro-cid-ryopl7va]{width:24px;height:24px;color:var(--text);flex:none}.signup-button__item-text[data-astro-cid-ryopl7va]{flex-direction:column;gap:2px;display:flex}.signup-button__item-title[data-astro-cid-ryopl7va]{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text)}.signup-button__item-desc[data-astro-cid-ryopl7va]{font-size:var(--fs-sm);color:var(--faint)}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:calc(var(--s-3) + 64px);padding:var(--s-3) var(--gutter) 0;pointer-events:none;position:sticky;top:0}.site-header__bar[data-astro-cid-nen7h5rs]{max-width:calc(var(--container) - 2 * var(--gutter));padding-inline:var(--s-4) var(--s-3);border:1px solid color-mix(in srgb, var(--text) 6%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--text) 7%, transparent), color-mix(in srgb, var(--text) 1.5%, transparent)), color-mix(in srgb, var(--canvas) 58%, transparent);backdrop-filter:blur(20px)saturate(180%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 9%, transparent), 0 14px 36px -14px #000000b3, 0 0 32px -8px color-mix(in srgb, var(--purple) 14%, transparent);pointer-events:auto;border-radius:14px;flex-direction:column;margin-inline:auto;display:flex;position:relative}@media (width>=768px){.site-header__bar[data-astro-cid-nen7h5rs]{padding-inline:var(--s-5) var(--s-3)}}.site-header__bar[data-astro-cid-nen7h5rs]:before{content:"";border-radius:inherit;background:radial-gradient(90% 160% at 12% -60%, color-mix(in srgb, var(--text) 11%, transparent), transparent 60%);pointer-events:none;position:absolute;inset:0}.site-header__bar[data-astro-cid-nen7h5rs]:after{content:"";border-radius:inherit;background:linear-gradient(100deg, color-mix(in srgb, var(--purple) 45%, transparent) 0%, color-mix(in srgb, var(--text) 14%, transparent) 22%, transparent 48%, transparent 70%, color-mix(in srgb, var(--cyan) 28%, transparent) 100%);-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:-1px;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.site-header__bar[data-astro-cid-nen7h5rs]>[data-astro-cid-nen7h5rs]{z-index:1;position:relative}.site-header__row[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:var(--s-4);height:62px;display:flex}@media (width<=767px){.site-header__row[data-astro-cid-nen7h5rs]{cursor:pointer}}.site-header__home[data-astro-cid-nen7h5rs]{align-items:center;display:flex}.site-header[data-astro-cid-nen7h5rs] .site-logo{width:auto;height:32px}.site-header__nav[data-astro-cid-nen7h5rs],.site-header__actions[data-astro-cid-nen7h5rs]{display:none}@media (width>=768px){.site-header__nav[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-1);display:flex}.site-header__actions[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-2);display:flex}}.site-header__link[data-astro-cid-nen7h5rs]{padding:6px var(--s-3);font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:var(--lh-ui);color:var(--muted);transition:color var(--dur) var(--ease);position:relative}.site-header__link[data-astro-cid-nen7h5rs]:after{content:"";left:var(--s-3);right:var(--s-3);background:var(--purple);opacity:.45;transform-origin:0;height:2px;transition:transform .3s var(--ease), opacity .3s var(--ease);border-radius:2px;position:absolute;bottom:1px;transform:scaleX(0)}.site-header__link[data-astro-cid-nen7h5rs]:hover{color:var(--text)}.site-header__link[data-astro-cid-nen7h5rs]:hover:after{transform:scaleX(1)}.site-header__link[data-astro-cid-nen7h5rs].is-active{color:var(--text)}.site-header__link[data-astro-cid-nen7h5rs].is-active:after{opacity:1;animation:nav-underline-in .5s var(--ease) .15s both;transform:scaleX(1)}@keyframes nav-underline-in{0%{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.site-header__link[data-astro-cid-nen7h5rs]:after{transition:none;animation:none!important}}.site-header__burger[data-astro-cid-nen7h5rs]{padding:var(--s-2);color:var(--muted);border-radius:var(--r-sm);display:inline-flex}.site-header__burger[data-astro-cid-nen7h5rs]:hover{color:var(--text);background:var(--purple-ghost)}.site-header__burger[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:24px;height:24px}@media (width>=768px){.site-header__burger[data-astro-cid-nen7h5rs]{display:none}}.site-mobile-menu[data-astro-cid-nen7h5rs]{transition:grid-template-rows .4s var(--ease);grid-template-rows:0fr;display:grid}@media (width>=768px){.site-mobile-menu[data-astro-cid-nen7h5rs]{display:none}}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu[data-astro-cid-nen7h5rs]{grid-template-rows:1fr}.site-header[data-astro-cid-nen7h5rs]:before{content:"";z-index:-1;opacity:0;pointer-events:none;transition:opacity .3s var(--ease);background:#00000080;position:fixed;inset:0}.site-header[data-astro-cid-nen7h5rs].menu-open:before{opacity:1;pointer-events:auto}.site-header__bar[data-astro-cid-nen7h5rs]{transition:background .3s var(--ease)}.site-header[data-astro-cid-nen7h5rs].menu-open .site-header__bar[data-astro-cid-nen7h5rs]{background:linear-gradient(180deg, color-mix(in srgb, var(--text) 7%, transparent), color-mix(in srgb, var(--text) 1.5%, transparent)), color-mix(in srgb, var(--canvas) 94%, transparent)}.site-mobile-menu__inner[data-astro-cid-nen7h5rs]{opacity:0;min-height:0;transition:opacity .2s var(--ease);overflow:hidden}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__inner[data-astro-cid-nen7h5rs]{opacity:1;transition-duration:.3s;transition-delay:80ms}.site-header[data-astro-cid-nen7h5rs].menu-settled .site-mobile-menu__inner[data-astro-cid-nen7h5rs]{overflow:visible}.site-mobile-menu__nav[data-astro-cid-nen7h5rs]{padding-top:var(--s-2);flex-direction:column;gap:2px;display:flex}.site-mobile-menu__link[data-astro-cid-nen7h5rs]{padding:var(--s-3);border-radius:var(--r-md);font-size:var(--fs-h4);font-weight:var(--fw-medium);color:var(--muted);border:1px solid #0000}.site-mobile-menu__link[data-astro-cid-nen7h5rs]:hover{background:var(--purple-ghost);color:var(--text)}.site-mobile-menu__link[data-astro-cid-nen7h5rs].is-active{background:var(--purple-soft);border-color:var(--purple);color:var(--text)}.site-mobile-menu__panel[data-astro-cid-nen7h5rs]{height:calc(100dvh - var(--s-3) - 64px - var(--s-3));overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.site-mobile-menu__footer[data-astro-cid-nen7h5rs]{gap:var(--s-3);padding-block:var(--s-4);flex-direction:column;margin-top:auto;display:flex;position:relative}.site-mobile-menu__footer[data-astro-cid-nen7h5rs]>.signup-button{position:static}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__footer[data-astro-cid-nen7h5rs]>*{animation:mobile-menu-item-in .35s var(--ease) backwards}@keyframes mobile-menu-item-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:first-child{animation-delay:60ms}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:nth-child(2){animation-delay:.1s}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:nth-child(3){animation-delay:.14s}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:nth-child(4){animation-delay:.18s}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__footer[data-astro-cid-nen7h5rs]>*{animation-delay:.22s}@media (prefers-reduced-motion:reduce){.site-mobile-menu[data-astro-cid-nen7h5rs],.site-mobile-menu__inner[data-astro-cid-nen7h5rs]{transition:none}.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.site-header[data-astro-cid-nen7h5rs].menu-open .site-mobile-menu__footer[data-astro-cid-nen7h5rs]>*{animation:none}}.site-header .site-logo{overflow:visible}.site-header .site-logo.no-intro,.site-header .site-logo.no-intro *{animation:none!important}@media (prefers-reduced-motion:no-preference){.site-header .site-logo:not(.go) *{animation-play-state:paused!important}.site-header .site-logo #logo-badge,.site-header .site-logo #logo-border{transform-box:fill-box;transform-origin:50%;animation:.7s cubic-bezier(.33,1,.68,1) both logo-grow}.site-header .site-logo .logo-depth-edge,.site-header .site-logo .logo-depth-fill{transform-box:fill-box;animation:.85s cubic-bezier(.33,1,.68,1) .35s both logo-depth-spring}.site-header .site-logo #logo-glyph{animation:.75s cubic-bezier(.33,1,.68,1) .7s both logo-glyph-spring}.site-header .site-logo #logo-line-main{stroke-dasharray:1;animation:.28s cubic-bezier(.45,0,.3,1) both logo-draw}.site-header .site-logo .logo-blade{transform-box:view-box;transform-origin:130px 170px;animation:.15s cubic-bezier(.22,1,.36,1) both logo-scale-in}.site-header .site-logo .logo-tri{transform-box:fill-box;transform-origin:50%;animation:.23s cubic-bezier(.33,1,.68,1) both logo-pop}.site-header .site-logo #logo-tri-bottom{animation-delay:.7s}.site-header .site-logo #logo-line-main{animation-delay:.8s}.site-header .site-logo #logo-tri-right{animation-delay:1.04s}.site-header .site-logo .logo-blade{animation-delay:1.15s}.site-header .site-logo #logo-tri-left{animation-delay:1.25s}.site-header .site-logo #logo-wordmark-mask-rect{transform-box:view-box;transform-origin:130px 150px;animation:.7s cubic-bezier(.33,1,.68,1) both logo-grow}.site-header .site-logo #logo-wordmark{animation:1.1s cubic-bezier(.33,1,.68,1) .25s both logo-slide-in}.site-header .site-logo #logo-pro{animation:.85s cubic-bezier(.33,1,.68,1) .6s both logo-pro-drop}}@keyframes logo-grow{0%{transform:scale(0)}55%{transform:scale(1.12)}74%{transform:scale(.95)}88%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes logo-depth-spring{0%{transform:translateY(200px)}46%{transform:translateY(-24px)}66%{transform:translateY(10px)}83%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes logo-pop{0%{opacity:0;transform:scale(0)}55%{opacity:1;transform:scale(1.22)}78%{transform:scale(.93)}to{transform:scale(1)}}@keyframes logo-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes logo-glyph-spring{0%{transform:translateY(0)}18%{transform:translateY(18px)}62%{transform:translateY(-7px)}82%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes logo-slide-in{0%{transform:translate(-810px)}65%{transform:translate(20px)}82%{transform:translate(-7px)}93%{transform:translate(3px)}to{transform:translate(0)}}@keyframes logo-pro-drop{0%{transform:translateY(-255px)}55%{transform:translateY(13px)}75%{transform:translateY(-4px)}90%{transform:translateY(2px)}to{transform:translateY(0)}}@keyframes logo-scale-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.footer[data-astro-cid-jo6i4kqk]{background:var(--panel);border-top:1px solid var(--line)}.footer__inner[data-astro-cid-jo6i4kqk]{padding-block:var(--s-7) var(--s-6)}.footer__grid[data-astro-cid-jo6i4kqk]{gap:var(--s-6);margin-bottom:var(--s-7);display:grid}@media (width>=768px){.footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(4,minmax(0,1fr))}}.footer__logo[data-astro-cid-jo6i4kqk]{margin-bottom:var(--s-3);display:inline-flex}.footer__logo[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{width:auto;height:32px}.footer__blurb[data-astro-cid-jo6i4kqk]{font-size:var(--fs-body);color:var(--muted);max-width:32ch}.footer__social[data-astro-cid-jo6i4kqk]{gap:var(--s-3);margin-top:var(--s-4);display:flex}.footer__social-link[data-astro-cid-jo6i4kqk]{color:var(--faint);transition:color var(--dur) var(--ease)}.footer__social-link[data-astro-cid-jo6i4kqk]:hover{color:var(--text)}.footer__social-link[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{width:18px;height:18px}.footer__heading[data-astro-cid-jo6i4kqk]{margin-bottom:var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.footer__links[data-astro-cid-jo6i4kqk]{gap:var(--s-2);flex-direction:column;display:flex}.footer__link[data-astro-cid-jo6i4kqk]{font-size:var(--fs-body);color:var(--muted);transition:color var(--dur) var(--ease)}.footer__link[data-astro-cid-jo6i4kqk]:hover{color:var(--text)}.footer__bottom[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--s-3);padding-top:var(--s-5);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--faint);flex-direction:column;display:flex}@media (width>=640px){.footer__bottom[data-astro-cid-jo6i4kqk]{flex-direction:row}}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans-regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans-semibold.ttf)format("truetype");font-weight:500 800;font-style:normal;font-display:swap}:root{color-scheme:dark;--purple:#8b7aff;--purple-soft:#8b7aff26;--purple-ghost:#8b7aff1a;--purple-edge:#8b7aff4d;--focus-ring:#6a5acd;--page:#3e3b5e;--canvas:#101026;--panel:#0a0b1a;--panel-veil:#0a0b1ad9;--overlay:#0c0d20d9;--caret:#6f6f8d;--line:#343441;--line-soft:#ffffff1a;--scrollbar:#353758;--text:#fff;--muted:#c8c8e0;--faint:#8b8aaa;--faint-soft:#8a8aa8;--on-accent:#0a0b1a;--cyan:#5ec4e3;--warn:#f9c16b;--mint:#5ee3a4;--danger:#ff6b8a;--neutral:#c8c8e0;--r-xs:4px;--r-sm:5px;--r-md:6px;--r-lg:8px;--r-xl:10px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:40px;--ease:cubic-bezier(.22,1,.36,1);--dur:.18s}@media (prefers-reduced-motion:reduce){:root{--dur:0s}}:root{--type-scale:1;--fs-display:calc(38px * var(--type-scale));--fs-h1:calc(28px * var(--type-scale));--fs-h2:calc(24px * var(--type-scale));--fs-h3:calc(20px * var(--type-scale));--fs-h4:calc(16px * var(--type-scale));--fs-body:calc(14px * var(--type-scale));--fs-sm:calc(12px * var(--type-scale));--fs-xs:calc(11px * var(--type-scale));--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-ui:1.2;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--font:"DM Sans",system-ui,-apple-system,Segoe UI,sans-serif;--purple-tint:var(--purple);--cyan-tint:var(--cyan);--warn-tint:var(--warn);--mint-tint:var(--mint);--danger-tint:var(--danger);--neutral-tint:var(--neutral)}:root[data-theme=light]{color-scheme:light;--purple:#5846d2;--purple-soft:#5846d21f;--purple-ghost:#5846d212;--purple-edge:#5846d259;--focus-ring:#6a5acd;--page:#eceaf8;--canvas:#ececf2;--panel:#f5f5f8;--panel-veil:#f5f5f8eb;--overlay:#f5f5f8eb;--line:#dcdce6;--line-soft:#14142b14;--scrollbar:#c6c6d8;--text:#14142b;--muted:#46465f;--faint:#616178;--faint-soft:#616178;--on-accent:#f8f7fd;--cyan:#145d73;--warn:#7e4f05;--mint:#12653e;--danger:#a60023;--neutral:#585872;--purple-tint:#8b7aff;--cyan-tint:#5ec4e3;--warn-tint:#f9c16b;--mint-tint:#5ee3a4;--danger-tint:#ff6b8a;--neutral-tint:#c8c8e0}:root{--container:1280px;--gutter:16px;--section-y:72px;--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--btn-bg:#c8c8e00f}:root[data-theme=light]{--btn-bg:#14142b08}@media (width>=640px){:root{--gutter:24px}}@media (width>=1024px){:root{--section-y:96px}}*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{font-family:var(--font);font-size:16px;line-height:var(--lh-normal);color:var(--text);background:var(--canvas);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;scrollbar-gutter:stable;caret-color:#0000;-webkit-tap-highlight-color:var(--purple-soft)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--canvas);min-height:100vh;color:var(--muted);font-size:var(--fs-body);line-height:var(--lh-normal);font-synthesis:none}body.is-locked{overflow:hidden}html,*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}::selection{background:var(--purple-soft);color:var(--text)}h1,h2,h3,h4,h5,h6{color:var(--text);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}h1{font-size:var(--fs-display);line-height:var(--lh-tight);letter-spacing:-.01em}h2{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:-.01em}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}strong,b{font-weight:var(--fw-semibold);color:var(--text)}a{color:inherit;text-decoration:none}img,svg,video,canvas{max-width:100%;display:block}img,video{height:auto}ul,ol{list-style:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit;background:0 0}button{cursor:pointer}input:focus,textarea:focus,[contenteditable]:focus{caret-color:var(--caret)}code,pre,kbd{font-family:var(--font-mono);font-size:var(--fs-sm)}table{border-collapse:collapse}[hidden]{display:none!important}button,summary,label,[role=button]{user-select:none}button,[role=button],.btn{transition:transform 80ms ease, background var(--dur) var(--ease)}button:not(:disabled):active,[role=button]:active,.btn:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){button:not(:disabled):active,[role=button]:active,.btn:active{transform:none}}[data-play]:not(.is-playing),[data-play]:not(.is-playing) *{animation-play-state:paused!important}.u-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.link{color:var(--purple);text-underline-offset:2px}.link:hover{text-decoration:underline}.text--accent{color:var(--purple)}.text--muted{color:var(--muted)}.text--faint{color:var(--faint)}.text--mono{font-family:var(--font-mono)}.code-inline{font-family:var(--font-mono);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text);padding:1px 6px;font-size:.9em}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.container--narrow{max-width:800px}.container--prose{max-width:720px}.section{padding-block:var(--section-y)}.section--alt{background:var(--panel);border-block:1px solid var(--line)}.section--tight{padding-block:calc(var(--section-y) * .66)}.stack{gap:var(--s-4);flex-direction:column;display:flex}.stack--sm{gap:var(--s-2)}.stack--lg{gap:var(--s-6)}.row{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.row--center{justify-content:center}.row--between{justify-content:space-between}.grid{gap:var(--s-4);display:grid}@media (width>=768px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.section-head{align-items:center;gap:var(--s-3);max-width:680px;margin:0 auto var(--s-7);text-align:center;flex-direction:column;display:flex}.section-head--start{text-align:left;align-items:flex-start;margin-inline:0}.section-head__title{font-size:var(--fs-h1)}.section-head__lede{font-size:var(--fs-h4);line-height:var(--lh-normal);color:var(--muted)}.btn{justify-content:center;align-items:center;gap:var(--s-2);height:32px;font-family:var(--font);font-size:13px;font-weight:var(--fw-medium);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--btn-bg);color:var(--muted);white-space:nowrap;cursor:pointer;transition:background var(--dur) var(--ease), color var(--dur) var(--ease), border-color var(--dur) var(--ease), filter var(--dur) var(--ease), transform 80ms ease;padding:0 12px;line-height:1;text-decoration:none;display:inline-flex}.btn>svg{flex:none;width:14px;height:14px}.btn:hover{background:var(--purple-ghost);border-color:var(--purple-edge);color:var(--text)}.btn:disabled,.btn[aria-disabled=true]{opacity:.3;cursor:not-allowed}.btn--primary{background:var(--purple);color:var(--on-accent);font-weight:var(--fw-semibold);border-color:#0000}.btn--primary:hover{background:var(--purple);color:var(--on-accent);filter:brightness(1.12);border-color:#0000}.btn--primary>svg{stroke:var(--on-accent)}.btn--outline{background:var(--purple-ghost);border-color:var(--purple);color:var(--text)}.btn--outline:hover{background:var(--purple-soft);border-color:var(--purple);color:var(--text)}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--purple-ghost);border-color:#0000}.btn--lg{height:40px;padding:0 var(--s-4);font-size:var(--fs-body);border-radius:var(--r-md)}.btn--block{width:100%;display:flex}@media (width<=639px){.btn--block-mobile{width:100%;display:flex}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg)}.panel--pad{padding:var(--s-5)}.panel--raised{background:var(--canvas)}.panel--interactive{transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease)}.panel--interactive:hover{border-color:var(--purple-edge)}.panel--accent{border-color:var(--purple)}.badge{--c:var(--purple);--c-tint:var(--purple-tint);height:22px;padding:0 var(--s-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;border-radius:var(--r-pill);background:color-mix(in srgb, var(--c-tint) 20%, transparent);color:var(--c);align-items:center;gap:5px;width:fit-content;line-height:1;display:inline-flex}.badge>svg{flex:none;width:12px;height:12px}.badge--dot:before{content:"";background:var(--c);border-radius:50%;flex:none;width:6px;height:6px}.badge--pos{--c:var(--mint);--c-tint:var(--mint-tint)}.badge--info{--c:var(--cyan);--c-tint:var(--cyan-tint)}.badge--warn{--c:var(--warn);--c-tint:var(--warn-tint)}.badge--danger{--c:var(--danger);--c-tint:var(--danger-tint)}.badge--neutral{--c:var(--neutral);--c-tint:var(--neutral-tint)}.icon-tile{border-radius:var(--r-md);background:var(--purple-ghost);border:1px solid var(--purple-edge);width:32px;height:32px;color:var(--purple);flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-tile>svg{width:16px;height:16px}.icon-tile--lg{width:40px;height:40px}.icon-tile--lg>svg{width:20px;height:20px}.page-hero{padding-block:calc(var(--s-6) * 2) var(--s-6)}@media (width>=640px){.page-hero{padding-top:calc(var(--s-7) * 2)}}.page-hero__inner{align-items:center;gap:var(--s-5);text-align:center;flex-direction:column;display:flex}.page-hero__mark{border-radius:var(--r-xl);width:64px;height:64px}.page-hero__mark>svg{width:32px;height:32px}.page-hero__mark--image{background:0 0;border:0;display:block}.page-hero__mark--image>img{width:64px;height:64px}.page-hero__title{font-size:var(--fs-h1);text-wrap:balance}@media (width>=640px){.page-hero__title{font-size:var(--fs-display)}}.page-hero__intro{font-size:var(--fs-h4);line-height:var(--lh-normal);color:var(--muted)}.field{gap:var(--s-1);flex-direction:column;display:flex}.field__label{font-size:var(--fs-body);font-weight:var(--fw-medium);color:var(--text)}.field__hint{font-size:var(--fs-sm);color:var(--faint)}.input{width:100%;min-width:0;font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--text);border-radius:var(--r-sm);appearance:none;background:#ffffff0a;border:1px solid #ffffff2e;padding:7px 12px;transition:border-color .15s,box-shadow .15s;display:block}:root[data-theme=light] .input{background:var(--panel);border-color:var(--line)}.input::placeholder{color:var(--faint);opacity:.7}.input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft);outline:none}.input:user-invalid{border-color:var(--danger)}textarea.input{resize:vertical;min-height:120px}select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a8aa8' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.banner{--c:var(--purple);--c-tint:var(--purple-tint);align-items:flex-start;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--c) 45%, transparent);background:color-mix(in srgb, var(--c-tint) 10%, transparent);color:var(--muted);font-size:var(--fs-body);display:flex}.banner--pos{--c:var(--mint);--c-tint:var(--mint-tint)}.banner--warn{--c:var(--warn);--c-tint:var(--warn-tint)}.banner--danger{--c:var(--danger);--c-tint:var(--danger-tint)}.banner--info{--c:var(--cyan);--c-tint:var(--cyan-tint)}.prose{color:var(--muted);font-size:15px;line-height:1.7}.prose>*+*{margin-top:var(--s-4)}.prose h2{margin-top:var(--s-7);padding-bottom:var(--s-2);font-size:var(--fs-h2);border-bottom:1px solid var(--line);scroll-margin-top:96px}.prose h3{margin-top:var(--s-6);font-size:var(--fs-h3);scroll-margin-top:96px}.prose h4{margin-top:var(--s-5);font-size:var(--fs-h4)}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:var(--s-3)}.prose a:not([class]){color:var(--purple);text-underline-offset:2px}.prose a:not([class]):hover{text-decoration:underline}.prose ul:not([class]),.prose ol:not([class]){padding-left:1.25em}.prose ul:not([class]){list-style:outside}.prose ol:not([class]){list-style:decimal}.prose li+li{margin-top:var(--s-2)}.prose li::marker{color:var(--faint)}.prose blockquote{padding-left:var(--s-4);border-left:2px solid var(--purple);color:var(--muted)}.prose hr{border-top:1px solid var(--line);margin-block:var(--s-6)}.prose :not(pre)>code{border-radius:var(--r-xs);background:var(--panel);border:1px solid var(--line);color:var(--text);padding:1px 6px;font-size:.875em}.prose pre{padding:var(--s-4);border-radius:var(--r-lg);border:1px solid var(--line);line-height:1.6;overflow-x:auto}.prose table{width:100%;font-size:var(--fs-body);display:block;overflow-x:auto}.prose th,.prose td{padding:var(--s-2) var(--s-3);border:1px solid var(--line);text-align:left;vertical-align:top}.prose th{color:var(--text);font-weight:var(--fw-semibold);background:var(--panel)}.prose img{border-radius:var(--r-lg);border:1px solid var(--line)}:root{--astro-code-foreground:var(--muted);--astro-code-background:var(--panel);--astro-code-token-comment:var(--faint);--astro-code-token-keyword:var(--purple);--astro-code-token-string:var(--mint);--astro-code-token-string-expression:var(--mint);--astro-code-token-constant:var(--mint);--astro-code-token-function:var(--cyan);--astro-code-token-parameter:var(--cyan);--astro-code-token-punctuation:var(--faint);--astro-code-token-link:var(--purple)}
