#features-button[data-astro-cid-iqsanwca]{justify-content:center;perspective-origin:50% 50%;anchor-name:--features-anchor}@media(max-width:899px){#features-button[data-astro-cid-iqsanwca]{display:none}}#features-popover[data-astro-cid-iqsanwca]{--popover-offset: 32px;--popover-offset-x: 0;grid-template-columns:1.3fr 1px 1fr;grid-template-rows:auto;grid-template-areas:"groups hr features" "imports imports imports";inset:auto;margin:64px 0 0;padding:0;transform:translate(var(--popover-offset-x),var(--popover-offset));background:var(--color-bg);border-radius:8px;cursor:default;overflow:visible;filter:drop-shadow(0 16px 32px black);border:1px solid transparent;background:linear-gradient(var(--color-bg)) padding-box,conic-gradient(var(--color-primary),var(--color-bg),var(--color-primary)) border-box}@-moz-document url-prefix(){#features-popover[data-astro-cid-iqsanwca]{--popover-offset: 50%}}@supports (-webkit-hyphens: none) and (not (top: anchor(bottom))){#features-popover[data-astro-cid-iqsanwca]{--popover-offset: calc(50% + 32px) ;margin-top:0;max-height:min(80vh,560px);height:auto}}@supports (top: anchor(bottom)){#features-popover[data-astro-cid-iqsanwca]{position:fixed;position-anchor:--features-anchor;margin-top:0;top:calc(anchor(bottom) + 8px);left:anchor(center);--popover-offset: 0;--popover-offset-x: -50%}}@keyframes popup-open{0%{transform-origin:50% 0%;transform:perspective(1000px) translate(var(--popover-offset-x),var(--popover-offset)) rotateX(-20deg);opacity:0}to{transform-origin:50% 0%;transform:perspective(1000px) translate(var(--popover-offset-x),var(--popover-offset)) rotateX(0);opacity:1}}#features-popover[data-astro-cid-iqsanwca]:popover-open,#features-popover[data-astro-cid-iqsanwca].\:popover-open{display:grid;animation:popup-open .25s cubic-bezier(.25,1,.5,1)}#features-popover[data-astro-cid-iqsanwca]:before,#features-popover[data-astro-cid-iqsanwca]:after{content:"";position:absolute;display:block;top:-12px;left:50%;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid var(--color-primary);translate:-50% 0}#features-popover[data-astro-cid-iqsanwca]:after{top:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--color-bg)}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:32px 42px 32px 32px}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(1)>a[data-astro-cid-iqsanwca]{width:100%}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(1)>a[data-astro-cid-iqsanwca]:nth-of-type(1) svg[data-astro-cid-iqsanwca]{color:color-mix(in oklch,var(--color-primary),var(--color-secondary) 0%)}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(1)>a[data-astro-cid-iqsanwca]:nth-of-type(2) svg[data-astro-cid-iqsanwca]{color:color-mix(in oklch,var(--color-primary),var(--color-secondary) 25%)}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(1)>a[data-astro-cid-iqsanwca]:nth-of-type(3) svg[data-astro-cid-iqsanwca]{color:color-mix(in oklch,var(--color-primary),var(--color-secondary) 50%)}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(1)>a[data-astro-cid-iqsanwca]:nth-of-type(4) svg[data-astro-cid-iqsanwca]{color:color-mix(in oklch,var(--color-primary),var(--color-secondary) 75%)}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(2){gap:8px}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(2)>label[data-astro-cid-iqsanwca]{margin-bottom:6px}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(2)>a[data-astro-cid-iqsanwca]{width:100%}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(2) svg[data-astro-cid-iqsanwca]{width:auto;height:auto;color:var(--color-text-secondary)}#features-popover[data-astro-cid-iqsanwca]>section[data-astro-cid-iqsanwca]:nth-of-type(3){gap:8px;padding:24px 32px;background-color:var(--color-accent-primary-10)}#features-popover[data-astro-cid-iqsanwca]>hr[data-astro-cid-iqsanwca]{grid-area:hr;width:1px;height:100%;background-image:linear-gradient(to bottom,var(--color-primary),var(--color-accent-primary-10));background-size:100%;border:none}#features-popover[data-astro-cid-iqsanwca] label[data-astro-cid-iqsanwca]{color:var(--color-text-primary);text-transform:uppercase;font-size:12px}#features-popover[data-astro-cid-iqsanwca] label[data-astro-cid-iqsanwca]:not(:first-of-type){margin-top:var(--space-xl)}#features-popover[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca]{gap:0px;padding:0}#features-popover[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca]:before{inset:-8px}#features-popover[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca],.mobile-features[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca]{flex-direction:column;align-items:flex-start}#features-popover[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca]>span[data-astro-cid-iqsanwca],.mobile-features[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca]>span[data-astro-cid-iqsanwca]{display:flex;align-items:center;gap:10px}#features-popover[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca]>span[data-astro-cid-iqsanwca]:nth-of-type(2),.mobile-features[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca]>span[data-astro-cid-iqsanwca]:nth-of-type(2){padding-left:34px;color:var(--color-text-secondary)}#features-popover[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca] svg[data-astro-cid-iqsanwca],.mobile-features[data-astro-cid-iqsanwca] a[data-astro-cid-iqsanwca] svg[data-astro-cid-iqsanwca]{width:24px;height:24px;color:var(--color-text-secondary)}.mobile-features[data-astro-cid-iqsanwca]{width:100%}.mobile-features[data-astro-cid-iqsanwca][open]>summary[data-astro-cid-iqsanwca]>svg[data-astro-cid-iqsanwca]:last-of-type{rotate:.5turn}@media(min-width:900px){.mobile-features[data-astro-cid-iqsanwca]{display:none}}.mobile-features[data-astro-cid-iqsanwca]>summary[data-astro-cid-iqsanwca]{font-weight:350}.mobile-features[data-astro-cid-iqsanwca]>div[data-astro-cid-iqsanwca]{display:flex;flex-direction:column;gap:var(--space-m);margin-top:var(--space-m);width:100%;padding-left:48px}.mobile-features[data-astro-cid-iqsanwca]>div[data-astro-cid-iqsanwca]>a[data-astro-cid-iqsanwca]{align-items:flex-start!important}header[data-astro-cid-qeuzrdtb]{width:100vw;position:fixed;display:flex;padding:var(--space-l) var(--space-xl);min-height:var(--header-height-px);top:0;z-index:var(--z-index-andromeda);backdrop-filter:blur(4px);background-color:#00000080;border-bottom:1px solid var(--color-separator)}@media(min-width:992px){header[data-astro-cid-qeuzrdtb]{padding:var(--space-l) var(--space-l)}}header[data-astro-cid-qeuzrdtb] .content[data-astro-cid-qeuzrdtb]{position:relative;display:flex;flex-grow:1;max-width:var(--max-width-page-section);justify-content:space-between;align-items:center;margin:0 auto}.logo-container[data-astro-cid-qeuzrdtb]{display:flex;align-items:center;left:var(--space-xl);left:0}@media(min-width:992px){.logo-container[data-astro-cid-qeuzrdtb]{position:absolute}}.logo-container[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb]{display:flex}nav[data-astro-cid-qeuzrdtb]{overflow:hidden;margin-left:auto}#menu[data-astro-cid-qeuzrdtb]{display:none}#menu-label[data-astro-cid-qeuzrdtb]{position:sticky;color:var(--color-text-primary);top:var(--space-l);z-index:var(--z-index-andromeda)}#menu-label[data-astro-cid-qeuzrdtb]:after{content:"Menu"}nav[data-astro-cid-qeuzrdtb]>input[data-astro-cid-qeuzrdtb]:checked~#menu-label[data-astro-cid-qeuzrdtb]:after{content:"Close"}nav[data-astro-cid-qeuzrdtb]>input[data-astro-cid-qeuzrdtb]:not(:checked)~div[data-astro-cid-qeuzrdtb]{display:none}nav[data-astro-cid-qeuzrdtb]>div[data-astro-cid-qeuzrdtb]{display:flex;flex-direction:column;justify-content:center;position:fixed;inset:0;padding:var(--space-xl);padding-top:var(--space-l);background-color:var(--color-bg);box-sizing:border-box;height:100vh;height:100dvh}.links[data-astro-cid-qeuzrdtb]{align-items:center;display:flex;flex-direction:column;justify-content:center;position:fixed;inset:0;padding:var(--space-xl);padding-top:var(--space-l);background-color:var(--color-bg);box-sizing:border-box;height:100vh;height:100dvh}@media(max-width:899px){.links[data-astro-cid-qeuzrdtb]{padding-top:96px!important;justify-content:flex-start!important;gap:var(--space-m);overflow-x:hidden;overflow-y:scroll}}.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb],.links[data-astro-cid-qeuzrdtb]>button{padding:0;font-weight:350}.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb],.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb],.links[data-astro-cid-qeuzrdtb]>button,.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a,.links[data-astro-cid-qeuzrdtb]>details>div>a,.links[data-astro-cid-qeuzrdtb]>details>summary{position:relative;display:flex;justify-content:flex-start;align-items:center;gap:var(--space-s);padding:12px 16px;font-size:1rem;color:var(--color-text-primary);text-decoration:none;border-radius:var(--border-radius-button);background-color:transparent!important}.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb][data-selected=true],.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb][data-selected=true],.links[data-astro-cid-qeuzrdtb]>button[data-selected=true],.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a[data-selected=true],.links[data-astro-cid-qeuzrdtb]>details>div>a[data-selected=true],.links[data-astro-cid-qeuzrdtb]>details>summary[data-selected=true]{color:var(--color-accent-primary-text)}.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb] .navigation-link-icon,.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb] .navigation-link-icon,.links[data-astro-cid-qeuzrdtb]>button .navigation-link-icon,.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a .navigation-link-icon,.links[data-astro-cid-qeuzrdtb]>details>div>a .navigation-link-icon,.links[data-astro-cid-qeuzrdtb]>details>summary .navigation-link-icon{fill:currentColor}.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb]:before,.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb]:before,.links[data-astro-cid-qeuzrdtb]>button:before,.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a:before,.links[data-astro-cid-qeuzrdtb]>details>div>a:before,.links[data-astro-cid-qeuzrdtb]>details>summary:before{content:"";position:absolute;display:block;inset:0;background-color:#ffffff1a;border-radius:inherit;z-index:-1;user-select:none;pointer-events:none;opacity:0;scale:.9;transition:opacity .25s cubic-bezier(.25,1,.5,1),scale .2s cubic-bezier(.25,1,.5,1)}.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb]:hover:not([data-selected=true]),.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb]:hover:not([data-selected=true]),.links[data-astro-cid-qeuzrdtb]>button:hover:not([data-selected=true]),.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a:hover:not([data-selected=true]),.links[data-astro-cid-qeuzrdtb]>details>div>a:hover:not([data-selected=true]),.links[data-astro-cid-qeuzrdtb]>details>summary:hover:not([data-selected=true]){color:#fff}.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb]:hover:not([data-selected=true]):before,.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb]:hover:not([data-selected=true]):before,.links[data-astro-cid-qeuzrdtb]>button:hover:not([data-selected=true]):before,.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a:hover:not([data-selected=true]):before,.links[data-astro-cid-qeuzrdtb]>details>div>a:hover:not([data-selected=true]):before,.links[data-astro-cid-qeuzrdtb]>details>summary:hover:not([data-selected=true]):before{opacity:1;scale:1}@media(max-width:899px){.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb],.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb],.links[data-astro-cid-qeuzrdtb]>button,.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a,.links[data-astro-cid-qeuzrdtb]>details>div>a,.links[data-astro-cid-qeuzrdtb]>details>summary{gap:var(--space-s);width:100%}.links[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb]:before,.links[data-astro-cid-qeuzrdtb]>button[data-astro-cid-qeuzrdtb]:before,.links[data-astro-cid-qeuzrdtb]>button:before,.links[data-astro-cid-qeuzrdtb]>button>[popover]>section>a:before,.links[data-astro-cid-qeuzrdtb]>details>div>a:before,.links[data-astro-cid-qeuzrdtb]>details>summary:before{opacity:1;scale:1}}.logo-mobile[data-astro-cid-qeuzrdtb]{position:absolute!important;padding:0!important;top:calc(var(--space-l) + 3px);left:var(--space-xl)}.logo-mobile[data-astro-cid-qeuzrdtb]:before{content:none!important}@media(min-width:900px){#menu-label[data-astro-cid-qeuzrdtb]{display:none}nav[data-astro-cid-qeuzrdtb]{justify-self:center;justify-content:center;flex-wrap:wrap;width:fit-content;background-color:transparent}nav[data-astro-cid-qeuzrdtb]>input[data-astro-cid-qeuzrdtb]:not(:checked)~div[data-astro-cid-qeuzrdtb]{display:flex}nav[data-astro-cid-qeuzrdtb]>div[data-astro-cid-qeuzrdtb]{position:static;display:flex;flex-direction:row;height:initial;justify-content:center;flex-wrap:wrap;gap:var(--space-s);background-color:transparent;padding:0}nav[data-astro-cid-qeuzrdtb]>div[data-astro-cid-qeuzrdtb] .logo-mobile[data-astro-cid-qeuzrdtb]{display:none}nav[data-astro-cid-qeuzrdtb]>div[data-astro-cid-qeuzrdtb]>a[data-astro-cid-qeuzrdtb][data-selected=true]:before{content:"";position:absolute;inset:-1px;padding:1px;border-radius:inherit}}:root{font-size:16px;--max-width-page-section: 1152px;--max-width-page-section-narrow: 768px;--max-width-page-section-large: 1400px;--device-mobile: 360px;--device-tablet: 768px;--device-laptop: 1280px;--device-desktop: 1920px;--color-text-primary: #dededf;--color-text-secondary: #9e9ea0;--color-text-tertiary: #474749;--color-border: #474749;--color-border-hover: #6e6c6e;--color-bg: #0d0d0e;--color-bg-secondary: #111112;--color-bg-secondary-20: rgba(26, 26, 27, .2);--color-bg-secondary-hover: #161617;--color-bg-secondary-active: #1b1a1b;--color-accent-primary: #6650fa;--color-accent-primary-hover: #573ae5;--color-accent-primary-active: #4c24d3;--color-accent-primary-text: #a7aaff;--color-accent-primary-text-hover: #dcdfff;--color-accent-primary-20: rgba(102, 80, 250, .2);--color-accent-primary-10: rgba(102, 80, 250, .1);--color-accent-secondary: #ec609c;--color-accent-secondary-10: rgba(236, 96, 156, .1);--color-green: #319a6e;--color-separator: #1b1a1c;--color-border-highlight: #3b393b;--easing-sine: cubic-bezier(.45, .05, .55, .95);--space-xs: .25rem;--space-s: .5rem;--space-m: .75rem;--space-l: 1rem;--space-xl: 1.5rem;--space-xxl: 3rem;--space-huge: 4rem;--border-radius-round: 9999px;--border-radius-medium: 10px;--border-radius-button: 5px;--z-index-andromeda: 10;--accent-gradient: linear-gradient(45deg, var(--color-primary), var(--color-secondary) 30%, white 60%);--font-size-body: 1.5rem;--font-weight-h2: 600;--margin-bottom-h2: var(--space-xl);--margin-bottom-h3: .375rem;--main-padding-x: var(--space-l);--header-height-px: 64px;--shiki-foreground: var(--color-text-tertiary);--shiki-token-keyword: var(--color-accent-primary-text);--shiki-token-string-expression: var(--color-text-primary);--shiki-background: transparent}hr{margin:0 auto;background:#fff;border:none;height:1px;position:relative;width:100%;max-width:var(--max-width-page-section);background:linear-gradient(to left,transparent 0%,var(--color-border) 50%,transparent 100%) left bottom transparent no-repeat;background-size:100% 1px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-m);padding:var(--space-l) var(--space-xxl);font-size:1.25rem;font-weight:500;font-family:var(--font-body);text-decoration:none;border-radius:var(--border-radius-button);border:none;background-color:var(--color-primary);color:#fff;user-select:none;cursor:pointer}.button>svg,button>svg{color:inherit}.button:disabled,button:disabled{opacity:.5;cursor:initial}.button:hover:not(:disabled),button:hover:not(:disabled){background-color:var(--color-accent-primary-hover)}.button:active:not(:disabled),button:active:not(:disabled){background-color:var(--color-accent-primary-active)}.button.secondary,button.secondary{background-color:var(--color-bg);color:var(--color-text-primary);border:1px solid var(--color-border)}.button.secondary:hover:not(:disabled),button.secondary:hover:not(:disabled){background-color:var(--color-bg-secondary-hover)}.button.secondary:active:not(:disabled),button.secondary:active:not(:disabled){background-color:var(--color-bg-secondary-active)}body,html{margin:0;padding:0}body{display:flex;flex-direction:column;background-color:var(--color-bg);overflow-x:hidden;overflow-y:scroll;font-family:var(--font-body);position:relative;font-size:var(--font-size-body)}body.no-scroll{overflow:hidden}main{--main-gap: 4rem;color:#f0f;overflow-x:hidden;padding:0 var(--main-padding-x);display:flex;flex-direction:column;gap:var(--main-gap);padding-top:calc(var(--header-height-px) + var(--space-huge))}@media(min-width:992px){main{--main-gap: 8rem}}*{box-sizing:border-box}h1,h2,h3,h4{margin:0;color:var(--color-text-primary);letter-spacing:-.5px;font-family:var(--font-header);line-height:1.2;scroll-margin-top:192px;scroll-snap-margin-top:192px}h1{font-size:4rem;font-weight:750;margin-bottom:var(--space-xl)}@media(min-width:900px){h1{font-size:6rem}}h2,.h2{font-size:1.5rem;font-weight:var(--font-weight-h2);margin-bottom:var(--margin-bottom-h2)}@media(min-width:992px){h2,.h2{font-size:2rem}}h3,.h3{font-weight:500;font-size:1.5rem;margin-bottom:var(--space-s)}h4,.h4{font-size:1rem;font-weight:600;margin-bottom:var(--space-xs)}ul{list-style:none;margin:0;padding:0}ul>li{display:flex;align-items:center;gap:var(--space-s);font-size:1rem;font-weight:400;color:var(--color-text-primary)}ul>li>svg{color:var(--color-text-secondary)}svg{flex-shrink:0}p{font-family:var(--font-body);color:var(--color-text-secondary);max-width:60ch;margin:0;font-size:1.25rem;font-weight:350}p>strong,p>b{font-weight:600;color:var(--color-text-primary)}p>span{display:inline-block}p.small{font-size:1rem}main{position:relative}.title-and-description{display:flex;flex-direction:column;gap:var(--space-l)}.title-and-description>*{margin:0}a{font-size:1.25rem;font-weight:350;text-decoration:none;text-decoration:underline;color:var(--color-accent-primary-text)}a:hover{color:var(--color-accent-primary-text-hover)}.text-gradient{background-image:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:400%;background-position:0%}.primary-gradient{background:linear-gradient(to right,var(--color-primary),var(--color-secondary))}.border-gradient{position:relative}.border-gradient:after{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(to bottom,var(--color-border),transparent);--webkit-mask: linear-gradient(white 0 0) content-box, linear-gradient(white 0 0);mask:linear-gradient(white 0 0) content-box,linear-gradient(white 0 0);--webkit-mask-composite: xor;mask-composite:exclude}.background-gradient{background:linear-gradient(to bottom,transparent,var(--color-bg-secondary-20))}.markdown-body{width:100%;background-color:transparent!important}.markdown-body a{font-size:inherit;text-decoration:underline!important;text-underline-offset:4px;color:inherit!important}.markdown-body ul,.markdown-body ol{list-style:initial}.markdown-body li{display:list-item;color:var(--color-text-secondary)}.markdown-body hr{display:block;margin:0 auto;background:#fff;border:none;height:1px!important;position:relative;width:100%;max-width:var(--max-width-page-section);background:linear-gradient(to left,transparent 0%,var(--color-border) 50%,transparent 100%) left bottom transparent no-repeat!important;background-size:100% 1px}.markdown-body .article-body-image-wrapper img{object-fit:contain}:root{--font-header-size: 3.052rem;--color-primary: #6650fa;--color-secondary: #ec609c;--color-grey: #31363f}code{font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace}input{padding:20px;font-size:1rem;border:none;border-radius:12px;background-color:#0000001a;color:#fff}
