.gf:where(.astro-ltsohmxd){margin:0 auto}.gf-title:where(.astro-ltsohmxd){text-align:center}.gf-lede:where(.astro-ltsohmxd){text-align:center;max-width:36rem;margin:0 auto 2rem;color:var(--sl-color-gray-2)}.an-wrap:where(.astro-ltsohmxd){max-width:44rem;margin:0 auto}.an-steps:where(.astro-ltsohmxd){position:relative}.an-rail:where(.astro-ltsohmxd){position:absolute;left:1.15rem;top:1.2rem;bottom:1.4rem;width:2px;background:var(--sl-color-gray-5);border-radius:2px}.an-rail:where(.astro-ltsohmxd):after{content:"";position:absolute;left:-1px;width:4px;top:-3rem;height:3rem;background:linear-gradient(180deg,transparent,var(--sl-color-accent-high),transparent);border-radius:4px;animation:an-flow 3.6s ease-in-out infinite}@keyframes an-flow{0%{top:-3rem;opacity:0}12%{opacity:1}88%{opacity:1}to{top:calc(100% - 3rem);opacity:0}}.an-step:where(.astro-ltsohmxd){position:relative;padding:0 0 1.75rem 3.25rem;opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.an-step:where(.astro-ltsohmxd).is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.an-step:where(.astro-ltsohmxd){transition:none;opacity:1;transform:none}}.an-step:where(.astro-ltsohmxd)>.ico:where(.astro-ltsohmxd){position:absolute;left:0;top:0;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--sl-color-bg);border:2px solid var(--sl-color-accent);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 5px var(--sl-color-bg)}.an-step:where(.astro-ltsohmxd)>.ico:where(.astro-ltsohmxd) img:where(.astro-ltsohmxd){width:1.35rem;height:1.35rem}.an-step:where(.astro-ltsohmxd)>.ico:where(.astro-ltsohmxd) svg:where(.astro-ltsohmxd){width:1.4rem;height:1.4rem;stroke:var(--sl-color-green-high)}.an-step:where(.astro-ltsohmxd) h3:where(.astro-ltsohmxd){margin:.15rem 0 .2rem;font-size:1.02rem;color:var(--sl-color-white);display:flex;align-items:baseline;gap:.6rem}.an-step:where(.astro-ltsohmxd) h3:where(.astro-ltsohmxd) .n:where(.astro-ltsohmxd){font-family:var(--__sl-font-mono, monospace);font-size:.72rem;color:var(--sl-color-accent-high);border:1px solid var(--sl-color-accent-low);border-radius:.3rem;padding:0 .35rem}.an-step:where(.astro-ltsohmxd) p:where(.astro-ltsohmxd){margin:0;color:var(--sl-color-gray-2);font-size:.92rem;line-height:1.55}.an-step:where(.astro-ltsohmxd) code:where(.astro-ltsohmxd){font-size:.82em}.an-cap:where(.astro-ltsohmxd){margin-top:1rem;text-align:center;color:var(--sl-color-gray-3);font-size:var(--sl-text-xs)}.pt:where(.astro-ojhue2eo){max-width:46rem;margin:0 auto;text-align:center}.pt-title:where(.astro-ojhue2eo){text-align:center}.pt-lede:where(.astro-ojhue2eo){max-width:38rem;margin:0 auto 2rem;color:var(--sl-color-gray-2)}.pt-sub:where(.astro-ojhue2eo){font-size:var(--sl-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--sl-color-gray-3);margin:1.75rem 0 .9rem}.pt-more:where(.astro-ojhue2eo){margin-top:1.75rem;font-size:var(--sl-text-sm)}.pt-chips:where(.astro-ojhue2eo){display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center}.pt-chip:where(.astro-ojhue2eo){display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border:1px solid var(--sl-color-gray-5);border-radius:2rem;background:var(--sl-color-bg-nav);font-size:var(--sl-text-sm);color:var(--sl-color-white);font-family:var(--__sl-font-mono, monospace);transition:border-color .25s,transform .25s}.pt-chip:where(.astro-ojhue2eo):hover{border-color:var(--sl-color-accent);transform:translateY(-2px)}.pt-chip:where(.astro-ojhue2eo) img:where(.astro-ojhue2eo){width:1.1rem;height:1.1rem}.pt-term:where(.astro-ojhue2eo){max-width:40rem;margin:0 auto;text-align:left;border:1px solid var(--sl-color-gray-5);border-radius:.6rem;overflow:hidden;background:var(--sl-color-black);box-shadow:0 18px 50px -22px #0009}.pt-term__bar:where(.astro-ojhue2eo){display:flex;align-items:center;gap:.5rem;padding:.55rem .8rem;background:var(--sl-color-gray-6);border-bottom:1px solid var(--sl-color-gray-5)}.pt-term__bar:where(.astro-ojhue2eo) i:where(.astro-ojhue2eo){width:.7rem;height:.7rem;border-radius:50%;display:inline-block}.pt-term__bar:where(.astro-ojhue2eo) i:where(.astro-ojhue2eo):nth-child(1){background:#ff5f57}.pt-term__bar:where(.astro-ojhue2eo) i:where(.astro-ojhue2eo):nth-child(2){background:#febc2e}.pt-term__bar:where(.astro-ojhue2eo) i:where(.astro-ojhue2eo):nth-child(3){background:#28c840}.pt-term__t:where(.astro-ojhue2eo){margin-left:.4rem;font-size:var(--sl-text-xs);color:var(--sl-color-gray-3);font-family:var(--__sl-font-mono, monospace)}.pt-term__body:where(.astro-ojhue2eo){padding:.9rem 1rem;font-family:var(--__sl-font-mono, monospace);font-size:.85rem;line-height:1.7;color:var(--sl-color-gray-2)}.pt-term__body:where(.astro-ojhue2eo) .ln:where(.astro-ojhue2eo){white-space:pre-wrap}.pt-term__body:where(.astro-ojhue2eo) .kw:where(.astro-ojhue2eo){color:var(--sl-color-purple, #b48ead);font-weight:700}.pt-term__body:where(.astro-ojhue2eo) .cmt:where(.astro-ojhue2eo){color:var(--sl-color-gray-4)}.aw:where(.astro-y44nunbi){max-width:52rem;margin:0 auto}.aw-title:where(.astro-y44nunbi){text-align:center}.aw-lede:where(.astro-y44nunbi){text-align:center;max-width:34rem;margin:0 auto 2rem;color:var(--sl-color-gray-2)}.aw-more:where(.astro-y44nunbi){text-align:center;margin-top:1.5rem;font-size:var(--sl-text-sm)}.aw-tile:where(.astro-y44nunbi){flex:none;width:3.6rem;height:3.6rem;border-radius:.7rem;display:flex;align-items:center;justify-content:center;background:var(--sl-color-bg-nav);border:1px solid var(--sl-color-gray-5);text-decoration:none;filter:grayscale(1) opacity(.75);transition:filter .25s,transform .25s,border-color .25s}.aw-tile:where(.astro-y44nunbi) img:where(.astro-y44nunbi){width:2.2rem;height:2.2rem}.aw-tile:where(.astro-y44nunbi):hover{filter:none;transform:translateY(-3px);border-color:var(--sl-color-accent)}.aw-grid:where(.astro-y44nunbi){display:grid;grid-template-columns:repeat(auto-fit,minmax(3.6rem,1fr));gap:.7rem;justify-items:center}.aw-marquee:where(.astro-y44nunbi){display:flex;flex-direction:column;gap:.8rem;overflow:hidden;padding:.5rem 0}.aw-track:where(.astro-y44nunbi){display:flex;width:max-content}.aw-track:where(.astro-y44nunbi) .aw-tile:where(.astro-y44nunbi){margin-right:.8rem}.aw-track--l:where(.astro-y44nunbi){animation:aw-scroll-l 38s linear infinite}.aw-track--r:where(.astro-y44nunbi){animation:aw-scroll-r 38s linear infinite}.aw-marquee:where(.astro-y44nunbi):hover .aw-track:where(.astro-y44nunbi){animation-play-state:paused}@keyframes aw-scroll-l{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes aw-scroll-r{0%{transform:translate(-50%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.aw-track:where(.astro-y44nunbi){animation:none;flex-wrap:wrap;width:auto;justify-content:center}}.aw-cats:where(.astro-y44nunbi){display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem 2rem}@media(max-width:40rem){.aw-cats:where(.astro-y44nunbi){grid-template-columns:1fr}}.aw-cat-label:where(.astro-y44nunbi){display:flex;align-items:center;gap:.5rem;font-size:var(--sl-text-sm);color:var(--sl-color-white);margin:0 0 .7rem;padding-bottom:.35rem;border-bottom:1px solid var(--sl-color-hairline)}.aw-cat-label:where(.astro-y44nunbi) span:where(.astro-y44nunbi){font-family:var(--__sl-font-mono, monospace);font-size:.7rem;color:var(--sl-color-accent-high);border:1px solid var(--sl-color-accent-low);border-radius:.3rem;padding:0 .35rem}.aw-cat-row:where(.astro-y44nunbi){display:flex;flex-wrap:wrap;gap:.6rem}.ls:where(.astro-l4tn6ogw){max-width:40rem;margin:0 auto}.ls-title:where(.astro-l4tn6ogw){text-align:center}.ls-lede:where(.astro-l4tn6ogw){text-align:center;max-width:32rem;margin:0 auto 2rem;color:var(--sl-color-gray-2)}.ls-more:where(.astro-l4tn6ogw){text-align:center;margin-top:1.5rem;font-size:var(--sl-text-sm)}.ls-build:where(.astro-l4tn6ogw){list-style:none;padding:0;margin:0}.ls-card:where(.astro-l4tn6ogw){position:relative;display:flex;align-items:center;gap:1rem;padding:.9rem 1.1rem;border:1px solid var(--sl-color-gray-5);border-radius:.6rem;background:var(--sl-color-bg-nav);transition:opacity .5s ease,transform .5s ease,border-color .25s,box-shadow .25s;opacity:0;transform:translateY(12px)}.ls-card:where(.astro-l4tn6ogw).is-in{opacity:1;transform:none}.ls-card-link:where(.astro-l4tn6ogw){position:absolute;inset:0;border-radius:inherit;z-index:2}.ls-card:where(.astro-l4tn6ogw):focus-within{border-color:var(--sl-color-accent)}@media(prefers-reduced-motion:reduce){.ls-card:where(.astro-l4tn6ogw){opacity:1;transform:none;transition:border-color .25s}}.ls-card:where(.astro-l4tn6ogw):hover{border-color:var(--sl-color-accent);box-shadow:0 10px 30px -18px var(--sl-color-accent)}.ls-card:where(.astro-l4tn6ogw):not(:last-child){margin-bottom:2rem}.ls-card:where(.astro-l4tn6ogw):not(:last-child):after{content:"";position:absolute;left:2.3rem;margin-left:-1px;bottom:-1.5rem;width:2px;height:1rem;background:var(--sl-color-gray-5)}.ls-card:where(.astro-l4tn6ogw):not(:last-child):before{content:"";position:absolute;left:2.3rem;bottom:-1.85rem;width:.5rem;height:.5rem;border-right:2px solid var(--sl-color-accent);border-bottom:2px solid var(--sl-color-accent);transform:translate(-50%) rotate(45deg);z-index:1}.ls-badge:where(.astro-l4tn6ogw){flex:none;width:2.4rem;height:2.4rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;font-family:var(--__sl-font-mono, monospace);font-size:.82rem;font-weight:800;color:var(--sl-color-black);background:var(--sl-color-accent)}.ls-ico:where(.astro-l4tn6ogw){flex:none;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;color:var(--sl-color-gray-3)}.ls-ico:where(.astro-l4tn6ogw) img:where(.astro-l4tn6ogw),.ls-ico:where(.astro-l4tn6ogw) svg:where(.astro-l4tn6ogw){width:1.75rem;height:1.75rem}.ls-text:where(.astro-l4tn6ogw){display:flex;flex-direction:column}.ls-name:where(.astro-l4tn6ogw){font-weight:600;color:var(--sl-color-white);font-size:1rem}.ls-role:where(.astro-l4tn6ogw){font-size:var(--sl-text-xs);color:var(--sl-color-gray-3)}.ls--compact:where(.astro-l4tn6ogw){max-width:34rem}.ls--compact:where(.astro-l4tn6ogw) .ls-card:where(.astro-l4tn6ogw){padding:.55rem .8rem;gap:.75rem;border-radius:.4rem}.ls--compact:where(.astro-l4tn6ogw) .ls-card:where(.astro-l4tn6ogw):not(:last-child){margin-bottom:.4rem}.ls--compact:where(.astro-l4tn6ogw) .ls-card:where(.astro-l4tn6ogw):before,.ls--compact:where(.astro-l4tn6ogw) .ls-card:where(.astro-l4tn6ogw):after{display:none}.ls--compact:where(.astro-l4tn6ogw) .ls-badge:where(.astro-l4tn6ogw){width:1.9rem;height:1.9rem;border-radius:.35rem;font-size:.72rem}.ls--compact:where(.astro-l4tn6ogw) .ls-ico:where(.astro-l4tn6ogw){width:1.5rem;height:1.5rem}.ls--compact:where(.astro-l4tn6ogw) .ls-ico:where(.astro-l4tn6ogw) img:where(.astro-l4tn6ogw),.ls--compact:where(.astro-l4tn6ogw) .ls-ico:where(.astro-l4tn6ogw) svg:where(.astro-l4tn6ogw){width:1.35rem;height:1.35rem}.ls--compact:where(.astro-l4tn6ogw) .ls-text:where(.astro-l4tn6ogw){flex-direction:row;align-items:baseline;gap:.6rem}.ls--compact:where(.astro-l4tn6ogw) .ls-name:where(.astro-l4tn6ogw){font-size:.92rem;font-family:var(--__sl-font-mono, monospace)}.ls--compact:where(.astro-l4tn6ogw) .ls-role:where(.astro-l4tn6ogw){font-size:.78rem}.cta:where(.astro-xmrk26gk){max-width:50rem;margin:0 auto;text-align:center}.cta-title:where(.astro-xmrk26gk){text-align:center}.cta-blurb:where(.astro-xmrk26gk){max-width:40rem;margin:0 auto 2rem;color:var(--sl-color-gray-2)}.cta-links:where(.astro-xmrk26gk){display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:44rem){.cta-links:where(.astro-xmrk26gk){grid-template-columns:1fr}}.cta-card:where(.astro-xmrk26gk){position:relative;text-align:left;display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border:1px solid var(--sl-color-gray-5);border-radius:.6rem;background:var(--sl-color-bg-nav);text-decoration:none;transition:border-color .25s,transform .25s,box-shadow .25s}.cta-card:where(.astro-xmrk26gk):hover{border-color:var(--sl-color-accent);transform:translateY(-3px);box-shadow:0 12px 32px -18px var(--sl-color-accent)}.cta-card-text:where(.astro-xmrk26gk){font-weight:600;color:var(--sl-color-white)}.cta-card-desc:where(.astro-xmrk26gk){font-size:var(--sl-text-xs);color:var(--sl-color-gray-3)}.cta-arrow:where(.astro-xmrk26gk){position:absolute;top:1rem;right:1.1rem;color:var(--sl-color-accent-high);transition:transform .25s}.cta-card:where(.astro-xmrk26gk):hover .cta-arrow:where(.astro-xmrk26gk){transform:translate(3px)}
