a[data-astro-cid-evkijfd6].gradient-colors{--animated-underline-from:var(--text-heading);--animated-underline-to:var(--text-heading)}.header-link[data-astro-cid-evkijfd6]{color:var(--text-heading);border-bottom:none;margin:0;text-decoration:none}a[data-astro-cid-evkijfd6]:hover{color:var(--palette-primary)}header[data-astro-cid-nen7h5rs]{grid-area:header;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.brand[data-astro-cid-nen7h5rs]{color:var(--text-heading);border-bottom:none;font-weight:700;text-decoration:none}.brand[data-astro-cid-nen7h5rs]:hover{color:var(--palette-primary)}nav[data-astro-cid-nen7h5rs]{justify-content:center;display:flex}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:1.75rem;padding:0;list-style-type:none;display:flex}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]>li[data-astro-cid-nen7h5rs]{margin:0;padding:0}.social-handles[data-astro-cid-nen7h5rs]{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.social-handles[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text-heading);border-bottom:none}.social-handles[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--palette-primary)}.centered[data-astro-cid-nen7h5rs]{justify-content:center;align-items:center;display:flex}.skip-to-main[data-astro-cid-nen7h5rs]{color:#000;z-index:10;background-color:#fff;padding:.5rem 1rem;position:absolute;top:-100rem;left:50%;transform:translate(-50%);border:none!important}.skip-to-main[data-astro-cid-nen7h5rs]:focus{top:initial}.icon[data-astro-cid-nen7h5rs]{vertical-align:-.125em;width:1em;height:1em}@media (width<=640px){header[data-astro-cid-nen7h5rs]{grid-template-columns:repeat(3,1fr)}nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.75rem}}footer[data-astro-cid-jo6i4kqk]{flex-direction:column;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;display:flex}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}.portal-button[data-astro-cid-qbsv3weg]{right:max(1.5rem, env(safe-area-inset-right));bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:20;background:var(--palette-primary);color:var(--palette-primary-text);border-bottom:none;border-radius:999px;padding:.875rem 1.5rem;font-size:1rem;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color .15s ease-in-out,transform .15s ease-in-out,box-shadow .15s ease-in-out;position:fixed;box-shadow:0 4px 14px #00000047}.portal-button[data-astro-cid-qbsv3weg]:hover,.portal-button[data-astro-cid-qbsv3weg]:focus-visible{background:var(--palette-primary-hover);color:var(--palette-primary-text);transform:translateY(-2px);box-shadow:0 8px 20px #00000052}.when-subscribed[data-astro-cid-qbsv3weg],html[data-subscribed] .when-new[data-astro-cid-qbsv3weg]{display:none}html[data-subscribed] .when-subscribed[data-astro-cid-qbsv3weg]{display:inline}html:has(dialog.portal[open]){overflow:hidden}html:has(dialog.portal[open]) .portal-button[data-astro-cid-qbsv3weg]{visibility:hidden}.portal[data-astro-cid-qbsv3weg]{--portal-tint:color-mix(in srgb, var(--palette-primary) 12%, var(--background));border:1px solid var(--border);background:var(--background);width:min(30rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);border-radius:16px;padding:0;position:fixed;overflow:auto;box-shadow:0 24px 64px #00000059}.portal[data-astro-cid-qbsv3weg]::backdrop{backdrop-filter:blur(3px);background:#0f172a99}@media (prefers-reduced-motion:no-preference){.portal[data-astro-cid-qbsv3weg][open]{animation:.2s ease-out portal-in}}@keyframes portal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.portal-close[data-astro-cid-qbsv3weg]{z-index:1;width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:.75rem;right:.75rem}.portal-close[data-astro-cid-qbsv3weg]:hover{color:var(--text-heading);background:color-mix(in srgb, var(--palette-primary) 16%, transparent)}.portal-hero[data-astro-cid-qbsv3weg]{background:linear-gradient(180deg, var(--portal-tint), var(--background));border-bottom:1px solid var(--border);flex-direction:column;align-items:center;padding:2rem 1.5rem 1.25rem;display:flex}.portal-hero[data-astro-cid-qbsv3weg] .portal-logo{filter:drop-shadow(0 4px 10px #00000040);width:6rem;height:6rem;margin:0}.portal-title[data-astro-cid-qbsv3weg]{text-align:center;margin:.75rem 0 1.25rem;font-size:1.75rem;line-height:1.2}.portal-tabs[data-astro-cid-qbsv3weg]{background:var(--code-background);border:1px solid var(--border);border-radius:999px;grid-template-columns:1fr 1fr;width:100%;padding:.25rem;display:grid}.portal-tabs[data-astro-cid-qbsv3weg] button[data-astro-cid-qbsv3weg]{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.5rem 1rem;font-size:.95rem;font-weight:700;transition:background .15s,color .15s}.portal-tabs[data-astro-cid-qbsv3weg] button[data-astro-cid-qbsv3weg]:hover{color:var(--text-heading)}.portal-tabs[data-astro-cid-qbsv3weg] button[data-astro-cid-qbsv3weg][aria-selected=true]{background:var(--palette-primary);color:var(--palette-primary-text)}.portal-panel[data-astro-cid-qbsv3weg]{text-align:center;padding:1.5rem 1.75rem 1.75rem}.portal-panel[data-astro-cid-qbsv3weg][hidden]{display:none}.portal-description[data-astro-cid-qbsv3weg]{color:var(--text-heading);margin:0 0 1.25rem;font-size:1.1rem;line-height:1.5}.portal-panel[data-astro-cid-qbsv3weg] input[data-astro-cid-qbsv3weg][type=email]{border:1px solid var(--input-border);background:var(--code-background);width:100%;height:3rem;color:var(--text);font:inherit;border-radius:10px;padding:0 1rem;font-size:1rem;display:block}.portal-panel[data-astro-cid-qbsv3weg] input[data-astro-cid-qbsv3weg][type=email]::placeholder{color:var(--text-muted);opacity:1}.portal-panel[data-astro-cid-qbsv3weg] input[data-astro-cid-qbsv3weg][type=email]:focus-visible{outline:2px solid var(--palette-primary);outline-offset:1px;border-color:#0000}.portal-submit[data-astro-cid-qbsv3weg]{background:var(--palette-primary);width:100%;height:3rem;color:var(--palette-primary-text);line-height:1.2;font:inherit;text-align:center;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:0 1rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background-color .15s;display:flex}.portal-submit[data-astro-cid-qbsv3weg]:hover{background:var(--palette-primary-hover)}.portal-external[data-astro-cid-qbsv3weg]{flex:none}.portal-cta[data-astro-cid-qbsv3weg]{border-bottom:none;margin-top:0}.portal-cta[data-astro-cid-qbsv3weg]:any-link{color:var(--palette-primary-text);border-bottom:none}.portal-privacy[data-astro-cid-qbsv3weg]{color:var(--text-muted);margin:1rem 0 0;font-size:.85rem}.portal-sr[data-astro-cid-qbsv3weg]{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width>=900px){.portal-button[data-astro-cid-qbsv3weg]{bottom:2rem;right:2rem}}@media print{.portal-button[data-astro-cid-qbsv3weg]{display:none}}:root{--palette-primary:#5b21b6;--text:#1e293b;--text-muted:#434e60;--text-heading:#0f172a;--text-link:#5b21b6;--code-background:#f6f7f9;--code-text:#334155;--code-border:#e2e8f0;--border:#e2e8f0;--input-border:#6b7280;--background:#fff;--LinkColor:var(--text-link);--BackgroundColor:var(--background);--TextColor:var(--text);--SubmitColor:var(--palette-primary);--palette-primary-text:#fff;--palette-primary-hover:#3b1480;--tint:color-mix(in srgb, var(--palette-primary) 8%, var(--background));--tagline-color:var(--text-muted);--font-body:Verdana, "DejaVu Sans", sans-serif;--font-title:var(--font-body);--body-size:1em;--body-tracking:normal}@media (prefers-color-scheme:dark){:root{--palette-primary:#b8a2fb;--text:#d4d4d8;--text-muted:#c4c4cc;--text-heading:#fafafa;--text-link:#c4b5fd;--code-text:#cbd5e0;--code-background:#25212f;--code-border:#3b3552;--border:#3b3552;--input-border:#8e8a9b;--background:#18181b;--palette-primary-text:#120a28;--palette-primary-hover:#dccfff}html{color-scheme:dark}}html{background-color:var(--background);color:var(--text);font-family:var(--font-body);scroll-behavior:smooth;line-height:1.75}body{text-align:left;overflow-wrap:break-word;width:100%;max-width:calc(70ch + 4rem);font-family:var(--font-body);font-size:var(--body-size);letter-spacing:var(--body-tracking);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 auto;padding:1rem 2rem}body.wide{max-width:64rem}*{box-sizing:border-box}strong,b,h1,h2,h3,h4,h5,h6{color:var(--text-heading)}h1{margin-top:0;margin-bottom:.833333em;font-size:2.5em;line-height:1.2}h2{margin-top:1.86667em;margin-bottom:1.06667em;font-size:1.66667em;line-height:1.33333}h3{margin-top:1.66667em;margin-bottom:.666667em;font-size:1.33333em;line-height:1.5}h4,h5,h6{margin-top:1.77778em;margin-bottom:.444444em;line-height:1.55556}h1+*,h2+*,h3+*,h4+*,h5+*,h6+*{margin-top:0}img{max-width:100%;height:auto;margin:2.5rem auto;display:block}table{width:100%}a:any-link{color:var(--text-link);border-bottom:none;text-decoration:none}.article-content a:any-link,p a:any-link{text-underline-offset:.2em;text-decoration:underline 1px}.article-content a:any-link:hover,p a:any-link:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--palette-primary);outline-offset:2px}code{color:var(--code-text);background-color:var(--code-background);border:1px solid var(--code-border);border-radius:4px;padding:2px 5px}code.unset{background-color:#0000;border:none}pre{padding:1rem}pre>code{all:unset}blockquote{width:85%;color:var(--text);margin:0 auto;padding:1.5rem 3rem;font-size:1.125rem;font-style:italic;line-height:1.9;position:relative}blockquote:before{content:"“";color:var(--text);font-family:Arial;font-size:4rem;position:absolute;top:-10px;left:10px}ul{padding-left:1.5em}ul li{margin-top:.4em;margin-bottom:.4em;padding-left:.4em}hr{border:0;border-top:1px solid #ddd;margin:1rem 0}html[data-subscribed] .inline-subscribe{display:none}a.animated{--animated-underline-from:var(--text-link);--animated-underline-to:var(--text-link);box-decoration-break:clone;text-decoration:none;position:relative}a.animated:after{content:"";transform-origin:0;background-image:linear-gradient(to right, var(--animated-underline-from), var(--animated-underline-to));height:2px;transition:all .15s ease-in-out;position:absolute;bottom:-2px;left:0;right:0;transform:translateZ(0)scaleX(0)}a.animated:hover:after,a.animated.active:after{transform:translateZ(0)scale(1)}
