@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/bricolage-grotesque-latin-500-normal.DEDBoLFO.woff2)format("woff2"),url(/_astro/bricolage-grotesque-latin-500-normal.CV-uA8Lw.woff)format("woff")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/bricolage-grotesque-latin-600-normal.nxTgbNFE.woff2)format("woff2"),url(/_astro/bricolage-grotesque-latin-600-normal.Bw0J83-2.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff")}:root{--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--c-bg:#f7f6fd;--c-bg-soft:#fcfbff;--c-surface:#fff;--c-line:#e4e1f2;--c-line-strong:#d6d1ee;--c-line-soft:#f0eef8;--c-ink:#17132e;--c-text:#3c3758;--c-muted:#5b5675;--c-violet:#6d4aff;--c-violet-ink:#4a2fd0;--c-violet-deep:#2f1ba0;--c-violet-tile:#3a22b8;--c-violet-100:#eeeaff;--c-violet-note:#2a1a80;--c-blue:#2f5bea;--c-blue-ink:#1f47c7;--c-blue-tile:#1a3dae;--c-blue-100:#e6edff;--c-indigo:#1e1a4d;--c-lavender:#c7b8ff;--c-periwinkle:#a9c1ff;--c-lilac:#eae5fb;--c-panel:#f1eefc;--c-segment:#f1effa;--c-on-dark-muted:#c9c3e8;--c-code-line:#2e2850;--c-success:#157a55;--c-success-ink:#11613f;--c-success-100:#e2f4ec;--c-warn:#a15c07;--c-warn-ink:#8a4d05;--c-warn-title:#6b3b03;--c-warn-100:#fdf0dc;--c-danger:#c2334d;--c-danger-ink:#a82640;--c-danger-100:#fce7eb;--c-scale-good:#2e9d6a;--c-scale-mid:#9bbf4a;--c-scale-warn:#e2a23a;--c-scale-bad:#d4513f;--c-scale-severe:#9b1d3a;--r-control:12px;--r-callout:14px;--r-tile:16px;--r-card:20px;--r-feature:24px;--r-pill:999px;--shadow-seg:0 1px 2px #17132e14;--ring:0 0 0 4px var(--c-violet-100);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:72px;--s-9:96px;--tap:44px;--w-page:1280px;--w-wide:1360px;--w-text:720px}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--s-5)}body{background:var(--c-bg);color:var(--c-ink);font:400 16px/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--c-violet-ink);text-underline-offset:.15em}a:hover{color:var(--c-violet-deep)}:focus-visible{outline:2px solid var(--c-violet);outline-offset:2px}h1,h2,h3{font-family:var(--font-display);color:var(--c-ink);font-weight:500}h1{letter-spacing:-.03em;margin:0;font-size:clamp(36px,4vw,52px);line-height:1.05}h2{letter-spacing:-.02em;margin:var(--s-7) 0 var(--s-4);font-size:28px;line-height:1.2}h3{margin:var(--s-5) 0 var(--s-3);font-size:20px;line-height:1.3}img,svg{max-width:100%}code{font-family:var(--font-mono);color:var(--c-violet-ink);background:var(--c-violet-100);border-radius:6px;padding:2px 6px;font-size:.875em}.wrap{max-width:var(--w-page);padding:0 var(--s-5);margin:0 auto}.wrap-wide{max-width:var(--w-wide);padding:0 var(--s-5);margin:0 auto}.skip{z-index:10;background:var(--c-violet);color:#fff;padding:var(--s-2) var(--s-4);border-radius:0 0 var(--r-control) 0;position:absolute;top:0;left:-999px}.skip:focus{left:0}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--c-muted)}.small{font-size:14px}.eyebrow{letter-spacing:1.5px;text-transform:uppercase;color:var(--c-violet-ink);font-size:12px;font-weight:600}.eyebrow-mono{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);font-size:12px}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:var(--tap);border-radius:var(--r-control);font:600 15px var(--font-sans);cursor:pointer;background:var(--c-violet);color:#fff;border:0;padding:0 20px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--c-violet-ink);color:#fff}.btn.secondary{background:var(--c-surface);color:var(--c-ink);border:1px solid var(--c-line-strong)}.btn.secondary:hover{border-color:var(--c-violet);color:var(--c-ink)}.btn.soft{background:var(--c-violet-100);color:var(--c-violet-ink)}.btn.soft:hover{background:var(--c-lilac)}.btn.ink{background:var(--c-ink);color:#fff}.btn.ink:hover{background:var(--c-indigo)}.pill{border-radius:var(--r-pill);background:var(--c-violet-100);color:var(--c-violet-ink);align-items:center;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill.blue{background:var(--c-blue-100);color:var(--c-blue-ink)}.pill.green{background:var(--c-success-100);color:var(--c-success-ink)}.pill.amber{background:var(--c-warn-100);color:var(--c-warn-ink)}.card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-card);padding:var(--s-5)}.callout{gap:var(--s-3);border-radius:var(--r-callout);background:var(--c-violet-100);color:var(--c-violet-note);padding:16px 18px;font-size:15px;display:flex}.callout svg{flex-shrink:0;margin-top:3px}.callout.warn{background:var(--c-warn-100);color:var(--c-text)}.callout.warn strong{color:var(--c-warn-title)}.tone-0{--tone-bg:var(--c-violet);--tone-fg:#fff;--tone-sub:#fff;--tone-chip:var(--c-violet-ink)}.tone-1{--tone-bg:var(--c-indigo);--tone-fg:#fff;--tone-sub:var(--c-on-dark-muted);--tone-chip:var(--c-indigo)}.tone-2{--tone-bg:var(--c-lavender);--tone-fg:var(--c-ink);--tone-sub:#2e2752;--tone-chip:var(--c-violet-ink)}.tone-3{--tone-bg:var(--c-blue);--tone-fg:#fff;--tone-sub:#fff;--tone-chip:var(--c-blue-ink)}.tone-4{--tone-bg:var(--c-periwinkle);--tone-fg:var(--c-ink);--tone-sub:#26305a;--tone-chip:var(--c-blue-ink)}.tone-5{--tone-bg:var(--c-lilac);--tone-fg:var(--c-ink);--tone-sub:var(--c-text);--tone-chip:var(--c-violet-ink)}.breadcrumbs ol{gap:var(--s-2);color:var(--c-muted);flex-wrap:wrap;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.breadcrumbs a{color:var(--c-muted);text-decoration:none}.breadcrumbs a:hover{color:var(--c-violet-ink)}.breadcrumbs li+li:before{content:"/";margin-right:var(--s-2)}.breadcrumbs [aria-current]{color:var(--c-ink)}.prose{color:var(--c-text);font-size:17px;line-height:1.75}.prose>:first-child{margin-top:0}.prose h2{margin:var(--s-8) 0 var(--s-4)}.prose h3{margin:var(--s-6) 0 var(--s-3)}.prose p{margin:0 0 1.2em}.prose p,.prose ul,.prose ol{max-width:var(--w-text)}.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.4em}.prose li{margin:10px 0}.prose strong{color:var(--c-ink)}.prose table{border:1px solid var(--c-line);border-radius:var(--r-callout);border-collapse:separate;border-spacing:0;width:max-content;max-width:100%;margin:var(--s-5) 0 var(--s-6);font-size:15px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--c-line);padding:14px 20px}.prose tr:last-child td{border-bottom:0}.prose th{background:var(--c-bg);color:var(--c-ink);font-weight:600}.prose blockquote{margin:var(--s-5) 0;border-radius:var(--r-callout);background:var(--c-violet-100);color:var(--c-violet-note);max-width:var(--w-text);padding:20px 24px}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:var(--s-2)}.prose blockquote strong{color:var(--c-violet-note);font-family:var(--font-mono);font-size:15px;font-weight:500}.prose hr{border:0;border-top:1px solid var(--c-line);margin:var(--s-7) 0}.doc{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-feature);padding:var(--s-8) clamp(20px, 6vw, 72px);min-width:0}.faq{border-top:1px solid var(--c-line)}.faq details{border-bottom:1px solid var(--c-line)}.faq summary{cursor:pointer;justify-content:space-between;gap:var(--s-3);color:var(--c-ink);padding:20px 0;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font:500 20px var(--font-mono);color:var(--c-violet);line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{margin:0 0 24px}.sources{font-size:15px}.sources li{word-break:break-word}.pager{gap:var(--s-4);margin-top:var(--s-8);flex-wrap:wrap;display:flex}.pager a{border:1px solid var(--c-line);border-radius:var(--r-tile);color:var(--c-ink);flex-direction:column;flex:220px;gap:2px;padding:16px 20px;text-decoration:none;display:flex}.pager a:hover{border-color:var(--c-violet)}.pager span{color:var(--c-muted);font-size:13px}.pager .next{text-align:right}.pager .next strong{color:var(--c-violet-ink)}.aside{gap:var(--s-6);top:var(--s-5);flex-direction:column;display:flex;position:sticky}.toc{flex-direction:column;gap:6px;display:flex}.toc .eyebrow-mono{padding-bottom:var(--s-2)}.toc a{color:var(--c-muted);box-shadow:inset 2px 0 0 var(--c-line);padding:6px 0 6px 12px;font-size:14px;text-decoration:none}.toc a:hover{color:var(--c-ink)}.toc a.on{color:var(--c-violet-ink);box-shadow:inset 2px 0 0 var(--c-violet);font-weight:600}.box{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-tile);gap:var(--s-3);flex-direction:column;padding:24px;display:flex}.box-title{font-size:15px;font-weight:600}.box a:not(.btn){font-size:14px;text-decoration:none}.box a:not(.btn):hover{text-decoration:underline}.box p{color:var(--c-text);margin:0;font-size:14px}.report{background:var(--c-panel);border:0}.report .btn{margin-top:4px}@media (width<=860px){.aside{position:static}}.site-header[data-astro-cid-nen7h5rs]{background:var(--c-surface);border-bottom:1px solid var(--c-line)}.bar[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-3) var(--s-6);flex-wrap:wrap;min-height:64px;padding-top:10px;padding-bottom:10px;display:flex}.brand[data-astro-cid-nen7h5rs]{color:var(--c-ink);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:21px;font-weight:600;text-decoration:none;display:flex}nav[data-astro-cid-nen7h5rs]{flex-wrap:wrap;flex:auto;gap:4px;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--c-text);border-radius:10px;padding:10px 14px;font-size:15px;font-weight:500;text-decoration:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{background:var(--c-segment);color:var(--c-ink)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{background:var(--c-violet-100);color:var(--c-violet-ink);font-weight:600}.end[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--s-2);display:flex}.lang[data-astro-cid-nen7h5rs]{min-width:var(--tap);height:var(--tap);border-radius:var(--r-control);border:1px solid var(--c-line-strong);font:500 13px var(--font-mono);color:var(--c-ink);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.lang[data-astro-cid-nen7h5rs]:hover{border-color:var(--c-violet);color:var(--c-violet-ink)}@media (width<=720px){.bar[data-astro-cid-nen7h5rs]{gap:var(--s-2)}.brand[data-astro-cid-nen7h5rs]{flex:1}.end[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{display:none}nav[data-astro-cid-nen7h5rs]{margin:0 calc(-1 * var(--s-2));scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;overflow-x:auto}nav[data-astro-cid-nen7h5rs]::-webkit-scrollbar{display:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{white-space:nowrap;padding:10px 12px}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--c-panel);margin-top:var(--s-9);padding:var(--s-8) 0 var(--s-7)}.disclaimer[data-astro-cid-jo6i4kqk]{font-size:14px}.disclaimer[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{font-family:var(--font-sans);letter-spacing:0;margin:0 0 4px;font-size:15px}.disclaimer[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0 0 var(--s-2)}.disclaimer[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]:last-child{margin:0}.disclaimer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--c-warn-ink);font-weight:600}.cols[data-astro-cid-jo6i4kqk]{gap:var(--s-6);margin-top:var(--s-7);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.brand[data-astro-cid-jo6i4kqk]{color:var(--c-ink);font-family:var(--font-display);align-items:center;gap:10px;font-size:19px;font-weight:600;text-decoration:none;display:inline-flex}.about[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:var(--s-3) 0 0;color:var(--c-text);max-width:280px;font-size:14px}nav[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:10px;font-size:14px;display:flex}.head[data-astro-cid-jo6i4kqk]{letter-spacing:1.5px;text-transform:uppercase;color:var(--c-muted);font-size:12px;font-weight:600}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--c-text);text-decoration:none}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--c-violet-ink);text-decoration:underline}.base[data-astro-cid-jo6i4kqk]{justify-content:space-between;gap:var(--s-3);margin-top:var(--s-7);padding-top:var(--s-5);color:var(--c-muted);border-top:1px solid #ddd5f7;flex-wrap:wrap;font-size:13px;display:flex}
