:root{--ink:#0b1020;--violet:#6d5ef8;--violet-hover:#5b4bf0;--mint:#22c3a6;--bg:#fff;--bg-soft:#f6f7fb;--surface:#fff;--surface-2:#f1f3f9;--text:#1b2134;--text-strong:#0b1020;--muted:#4f5870;--border:#e2e6ef;--border-strong:#cfd5e3;--link:#5546e6;--accent-text:#0b7a67;--violet-soft:#efedff;--mint-soft:#e3f8f4;--code-bg:#0d1117;--shadow-sm:0 1px 2px #0b10200f;--shadow:0 1px 2px #0b10200d, 0 12px 32px -12px #0b10202e;--shadow-lg:0 2px 4px #0b10200a, 0 30px 60px -20px #281e8c4d;--focus:#6d5ef8;--radius-sm:.5rem;--radius:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--container:72rem;--gutter:clamp(1rem, 4vw, 2rem);--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#0b1020;--bg-soft:#0f1529;--surface:#131a31;--surface-2:#19213d;--text:#dde1ee;--text-strong:#fff;--muted:#a4acc4;--border:#252e4d;--border-strong:#34406a;--link:#b1a9ff;--accent-text:#4fe0c4;--violet-soft:#221d52;--mint-soft:#0f3330;--code-bg:#070a14;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 12px 32px -12px #0009;--shadow-lg:0 30px 60px -20px #000000b3;--focus:#a79fff}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;font-size:1.0625rem;line-height:1.65}h1,h2,h3,h4{color:var(--text-strong);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;line-height:1.15}h1{letter-spacing:-.035em;font-size:clamp(2.25rem,5.5vw,4rem);font-weight:800}h2{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:750}h3{font-size:1.25rem;font-weight:700}p{margin:0 0 1em}img,svg{max-width:100%}img{height:auto}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}code,kbd,pre{font-family:var(--font-mono);font-size:.9em}:not(pre)>code{background:var(--surface-2);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:.375rem;padding:.08em .35em;font-size:.86em}kbd{border:1px solid var(--border-strong);background:var(--surface);border-bottom-width:2px;border-radius:.3rem;padding:0 .35em;font-size:.82em}hr{border:0;border-top:1px solid var(--border);margin:2.5rem 0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}::selection{background:#6d5ef847}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:var(--radius);padding:.75rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.section{padding-block:clamp(3.5rem,8vw,6rem)}.section--soft{background:var(--bg-soft);border-block:1px solid var(--border)}.section-head{text-align:center;max-width:44rem;margin:0 auto 3rem}.section-head p{color:var(--muted);font-size:1.15rem}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--link);margin-bottom:.75rem;font-size:.8rem;font-weight:700;display:inline-block}.lead{color:var(--muted);font-size:clamp(1.1rem,1.8vw,1.3rem)}.muted{color:var(--muted)}.btn{min-height:2.875rem;font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:1rem;font-weight:650;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn--primary{background:var(--violet);color:#fff;box-shadow:0 1px 2px #0b102026,0 8px 20px -8px #6d5ef8b3}.btn--primary:hover{background:var(--violet-hover);text-decoration:none}.btn--ghost{background:var(--surface);color:var(--text-strong);border-color:var(--border-strong)}.btn--ghost:hover{border-color:var(--violet)}.btn--lg{min-height:3.25rem;padding:.85rem 1.5rem;font-size:1.0625rem}.btn--block{width:100%}@media (prefers-reduced-motion:no-preference){.btn:hover{transform:translateY(-1px)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);padding:1.75rem}.grid{gap:1.25rem;display:grid}@media (width>=40rem){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=56rem){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=40rem) and (width<=55.99rem){.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}.icon-badge{background:var(--violet-soft);width:2.75rem;height:2.75rem;color:var(--link);border-radius:.8rem;place-items:center;margin-bottom:1rem;display:inline-grid}.icon-badge--mint{background:var(--mint-soft);color:var(--accent-text)}pre.astro-code{tab-size:2;border-radius:0;margin:0;padding:1.1rem 1.25rem;font-size:.875rem;line-height:1.65;overflow-x:auto;background-color:var(--code-bg)!important}pre.astro-code:focus-visible{outline-offset:-3px}.prose{max-width:46rem}.prose h2{margin-top:2.75rem;font-size:1.6rem}.prose h3{margin-top:2rem}.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.4rem}.prose li{margin-bottom:.4em}.prose table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:.95rem}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.6rem .75rem}.prose th{color:var(--text-strong);background:var(--bg-soft)}.table-scroll{margin-bottom:1.5rem;overflow-x:auto}.placeholder{color:#5c4300;background:#fff3c4;border-radius:.25rem;padding:0 .25em;font-weight:600}@media (prefers-color-scheme:dark){.placeholder{color:#ffe58a;background:#4a3a00}}.callout{border:1px solid var(--border);border-left:4px solid var(--violet);background:var(--bg-soft);border-radius:var(--radius);margin:1.5rem 0;padding:1rem 1.25rem}.callout>:last-child{margin-bottom:0}.callout--mint{border-left-color:var(--mint)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.logo[data-astro-cid-f7espo7c]{align-items:center;gap:.55rem;display:inline-flex}.logo[data-astro-cid-f7espo7c] svg[data-astro-cid-f7espo7c]{flex:none}.wordmark[data-astro-cid-f7espo7c]{letter-spacing:-.03em;color:var(--text-strong);font-size:1.2rem;font-weight:800}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);backdrop-filter:saturate(160%)blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{align-items:center;gap:1.5rem;min-height:4rem;display:flex}.brand[data-astro-cid-nen7h5rs]{border-radius:.5rem;text-decoration:none;display:inline-flex}ul[data-astro-cid-nen7h5rs]{margin:0;padding:0;list-style:none}.nav-desktop[data-astro-cid-nen7h5rs]{display:none}.nav-desktop[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;display:flex}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.login[data-astro-cid-nen7h5rs]{color:var(--text);border-radius:.6rem;padding:.5rem .8rem;font-size:.975rem;font-weight:550;text-decoration:none;display:inline-block}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.login[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2);color:var(--text-strong)}.nav-desktop[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text-strong);background:var(--surface-2)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.5rem;margin-left:auto;display:none}.start[data-astro-cid-nen7h5rs]{min-height:2.5rem;padding:.5rem 1rem;font-size:.95rem}.nav-mobile[data-astro-cid-nen7h5rs]{margin-left:auto}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]{border:1px solid var(--border-strong);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--text-strong);cursor:pointer;border-radius:.7rem;place-items:center;list-style:none;display:grid}.nav-mobile[data-astro-cid-nen7h5rs] summary[data-astro-cid-nen7h5rs]::-webkit-details-marker{display:none}.nav-mobile[data-astro-cid-nen7h5rs] .i-close,.nav-mobile[data-astro-cid-nen7h5rs][open] .i-open{display:none}.nav-mobile[data-astro-cid-nen7h5rs][open] .i-close{display:block}.sheet[data-astro-cid-nen7h5rs]{background:var(--bg);border-bottom:1px solid var(--border);box-shadow:var(--shadow);padding:.75rem var(--gutter) 1.25rem;position:absolute;top:100%;left:0;right:0}.sheet[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin-bottom:.75rem}.sheet[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--border);color:var(--text-strong);padding:.8rem .25rem;font-weight:600;text-decoration:none;display:block}.sheet[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--link)}@media (width>=52rem){.nav-desktop[data-astro-cid-nen7h5rs],.actions[data-astro-cid-nen7h5rs]{display:flex}.nav-mobile[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--bg-soft);padding:4rem 0 2rem;font-size:.95rem}.top[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.about[data-astro-cid-jo6i4kqk]{grid-column:1/-1;max-width:22rem}.brand[data-astro-cid-jo6i4kqk]{margin-bottom:.75rem;text-decoration:none;display:inline-flex}.col-title[data-astro-cid-jo6i4kqk]{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.75rem;font-size:.8rem}ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}li[data-astro-cid-jo6i4kqk]{margin-bottom:.45rem}li[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text);text-decoration:none}li[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--link);text-decoration:underline}.bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);margin-top:3rem;padding-top:1.5rem}.bottom[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin-bottom:.4rem}.small[data-astro-cid-jo6i4kqk]{font-size:.875rem}@media (width>=52rem){.top[data-astro-cid-jo6i4kqk]{grid-template-columns:1.6fr repeat(3,minmax(0,1fr))}.about[data-astro-cid-jo6i4kqk]{grid-column:auto}}main[data-astro-cid-hkbrpulz]:focus{outline:none}
