:root{--color-brand:#4f46e5;--color-brand-on-dark:#8b85ff;--color-bg:#f7f8fa;--color-surface:#fff;--color-surface-muted:#f1f3f6;--color-border:#e3e6eb;--color-border-strong:#cdd2da;--color-text:#14171c;--color-text-muted:#5c6470;--color-text-inverse:#fff;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-accent-soft:#eef0ff;--color-danger:#dc2626;--color-danger-soft:#fef2f2;--color-success:#16a34a;--color-success-soft:#f0fdf4;--color-focus-ring:#4f46e559;--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-2xl:2.25rem;--text-3xl:clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);--leading-tight:1.15;--leading-normal:1.6;--tracking-tight:-.02em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--content-width:72rem;--prose-width:68ch;--gutter:1rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 16px #10182814;--shadow-lg:0 16px 48px #1018281f;--transition-fast:.12s ease;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#0e1015;--color-surface:#161920;--color-surface-muted:#1d2129;--color-border:#272c36;--color-border-strong:#363c48;--color-text:#e8eaee;--color-text-muted:#9aa2ae;--color-text-inverse:#0e1015;--color-accent:#818cf8;--color-accent-hover:#a5b4fc;--color-accent-soft:#1f2240;--color-danger:#f87171;--color-danger-soft:#2a1618;--color-success:#4ade80;--color-success-soft:#13241a;--color-focus-ring:#818cf866;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 16px 48px #00000080;color-scheme:dark}}:root[data-theme=dark]{--color-bg:#0e1015;--color-surface:#161920;--color-surface-muted:#1d2129;--color-border:#272c36;--color-border-strong:#363c48;--color-text:#e8eaee;--color-text-muted:#9aa2ae;--color-text-inverse:#0e1015;--color-accent:#818cf8;--color-accent-hover:#a5b4fc;--color-accent-soft:#1f2240;--color-danger:#f87171;--color-danger-soft:#2a1618;--color-success:#4ade80;--color-success-soft:#13241a;--color-focus-ring:#818cf866;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 16px 48px #00000080;color-scheme:dark}.section{padding-block:var(--space-16)}.section-muted{background:var(--color-surface);border-block:1px solid var(--color-border)}.eyebrow{margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-accent);font-weight:600;display:inline-block}.section-head{max-width:var(--prose-width);margin-bottom:var(--space-12)}.section-head.centered{text-align:center;margin-inline:auto}.section-head p{font-size:var(--text-lg);color:var(--color-text-muted)}.grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr))}.card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.section-muted .card{background:var(--color-bg)}.card h3{margin-bottom:var(--space-2)}.card p{color:var(--color-text-muted);margin:0}.card-link{gap:var(--space-2);color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;text-decoration:none;display:flex}.card-link:hover{color:inherit;border-color:var(--color-accent);box-shadow:var(--shadow-md)}.card-link .more{padding-top:var(--space-3);color:var(--color-accent);margin-top:auto;font-weight:600}.tag{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-muted);padding:.1rem var(--space-2);border-radius:999px;align-self:flex-start;font-weight:600}.split{gap:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));align-items:center;display:grid}.split p:not(.eyebrow){font-size:var(--text-lg);color:var(--color-text-muted)}.check-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.check-list li{padding-left:var(--space-8);position:relative}.check-list li:before{content:"";background:var(--color-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / .8rem no-repeat;border-radius:50%;width:1.1rem;height:1.1rem;position:absolute;top:.3em;left:0}.steps{counter-reset:step;margin:0;padding:0;list-style:none}.steps li{counter-increment:step;padding-left:3.25rem;position:relative}.steps li:before{content:counter(step);width:2.25rem;height:2.25rem;color:var(--color-accent);background:var(--color-accent-soft);border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:0;left:0}.steps h3{margin-bottom:var(--space-1);padding-top:.35rem}.steps p{color:var(--color-text-muted);margin:0}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-4)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}p{margin:0 0 var(--space-4)}a{color:var(--color-accent);text-underline-offset:.2em}a:hover{color:var(--color-accent-hover)}img,svg{max-width:100%;display:block}code,pre{font-family:var(--font-mono)}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--content-width);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.button-primary{background:var(--color-accent);color:var(--color-text-inverse)}.button-primary:hover{background:var(--color-accent-hover);color:var(--color-text-inverse)}.button-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.button-secondary:hover{border-color:var(--color-text-muted);color:var(--color-text)}.button-large{padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.logo:where(.astro-f7espo7c){align-items:center;display:inline-flex}.on-dark:where(.astro-f7espo7c),:root[data-theme=dark] .on-light:where(.astro-f7espo7c){display:none}:root[data-theme=dark] .on-dark:where(.astro-f7espo7c){display:block}.theme-select:where(.astro-phv4pw7f){align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);display:inline-flex}select:where(.astro-phv4pw7f){font:inherit;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.footer:where(.astro-jo6i4kqk){margin-top:var(--space-24);padding:var(--space-12) 0 var(--space-8);border-top:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm)}.top:where(.astro-jo6i4kqk){gap:var(--space-8);grid-template-columns:minmax(10rem,1fr) 3fr;display:grid}.home:where(.astro-jo6i4kqk){align-self:start;display:inline-flex}.groups:where(.astro-jo6i4kqk){gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}h2:where(.astro-jo6i4kqk){font-size:var(--text-sm);letter-spacing:0;margin-bottom:var(--space-3)}ul:where(.astro-jo6i4kqk){gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}a:where(.astro-jo6i4kqk){color:var(--color-text-muted);text-decoration:none}a:where(.astro-jo6i4kqk):hover{color:var(--color-text)}.bottom:where(.astro-jo6i4kqk){align-items:center;gap:var(--space-3) var(--space-6);margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.languages:where(.astro-jo6i4kqk){gap:var(--space-3);display:inline-flex}.theme:where(.astro-jo6i4kqk){margin-left:auto}@media (width<=720px){.top:where(.astro-jo6i4kqk){grid-template-columns:1fr}.theme:where(.astro-jo6i4kqk){margin-left:0}}.header:where(.astro-nen7h5rs){z-index:10;background:color-mix(in srgb, var(--color-bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.bar:where(.astro-nen7h5rs){align-items:center;gap:var(--space-8);height:4rem;display:flex}.home:where(.astro-nen7h5rs){flex-shrink:0;display:inline-flex}.nav:where(.astro-nen7h5rs){align-items:center;gap:var(--space-6);font-size:var(--text-sm);font-weight:500;display:flex}.nav:where(.astro-nen7h5rs)>a:where(.astro-nen7h5rs),summary:where(.astro-nen7h5rs){color:var(--color-text);cursor:pointer;text-decoration:none}.nav:where(.astro-nen7h5rs)>a:where(.astro-nen7h5rs):hover,summary:where(.astro-nen7h5rs):hover{color:var(--color-accent)}summary:where(.astro-nen7h5rs){list-style:none}summary:where(.astro-nen7h5rs)::-webkit-details-marker{display:none}.dropdown:where(.astro-nen7h5rs){position:relative}.dropdown:where(.astro-nen7h5rs) summary:where(.astro-nen7h5rs):after{content:" ▾";color:var(--color-text-muted);font-size:.8em}.dropdown:where(.astro-nen7h5rs) ul:where(.astro-nen7h5rs){top:calc(100% + var(--space-3));left:calc(-1 * var(--space-3));min-width:14rem;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin:0;list-style:none;position:absolute}.dropdown:where(.astro-nen7h5rs) li:where(.astro-nen7h5rs) a:where(.astro-nen7h5rs){justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;display:flex}.dropdown:where(.astro-nen7h5rs) li:where(.astro-nen7h5rs) a:where(.astro-nen7h5rs):hover{background:var(--color-surface-muted)}.soon:where(.astro-nen7h5rs){font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-muted);padding:0 var(--space-2);border-radius:999px;font-weight:500}.actions:where(.astro-nen7h5rs){gap:var(--space-3);margin-left:auto;display:flex}.mobile:where(.astro-nen7h5rs){margin-left:auto;display:none}.mobile:where(.astro-nen7h5rs) summary:where(.astro-nen7h5rs){padding:var(--space-2);color:var(--color-text);display:flex}.panel:where(.astro-nen7h5rs){gap:var(--space-1);padding:var(--space-4) var(--gutter) var(--space-6);background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-md);flex-direction:column;display:flex;position:absolute;top:4rem;left:0;right:0}.panel:where(.astro-nen7h5rs)>a:where(.astro-nen7h5rs):not(.button){padding:var(--space-3) 0;color:var(--color-text);border-bottom:1px solid var(--color-border);justify-content:space-between;font-weight:500;text-decoration:none;display:flex}.panel:where(.astro-nen7h5rs) .button:where(.astro-nen7h5rs){margin-top:var(--space-3)}@media (width<=860px){.nav:where(.astro-nen7h5rs),.actions:where(.astro-nen7h5rs){display:none}.mobile:where(.astro-nen7h5rs){display:block}}.skip:where(.astro-z4jru4n3){left:var(--space-4);z-index:20;padding:var(--space-2) var(--space-4);background:var(--color-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);position:absolute;top:-4rem}.skip:where(.astro-z4jru4n3):focus{top:var(--space-4)}
