.prose{min-width:0;font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-ink-2);max-width:var(--w-article);text-wrap:pretty}.prose>*+*{margin-top:1.25em}.prose>h2,.prose>h3,.prose>h4{color:var(--color-ink);scroll-margin-top:calc(var(--header-h) + 1.5rem)}.prose>h2{font-size:var(--text-h2);border-top:1px solid var(--color-border);margin-top:2.4em;padding-top:1em}.prose>h2:first-child{border-top:0;margin-top:0;padding-top:0}.prose>h3{font-size:var(--text-h3);margin-top:2em}.prose>h4{font-size:var(--text-h4);margin-top:1.6em}.prose>h2+*,.prose>h3+*,.prose>h4+*{margin-top:.75em}.prose .heading-anchor{font-family:var(--font-mono);color:var(--color-faint);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);margin-left:.4em;font-size:.75em;font-weight:400;text-decoration:none}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose .heading-anchor:focus-visible{opacity:1}.prose a:not(.heading-anchor){color:var(--color-ink);text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:var(--color-border-strong)}.prose a:not(.heading-anchor):hover{color:var(--color-accent-ink);text-decoration-color:currentColor}.prose a[data-external]:after{content:"";vertical-align:.15em;opacity:.55;border-top:1.5px solid;border-right:1.5px solid;width:.55em;height:.55em;margin-left:.25em;display:inline-block}.prose a[data-official]{text-decoration-style:double;text-decoration-thickness:1px}.prose a[data-official]:after{opacity:.9;background:linear-gradient(135deg,#0000 45%,currentColor 45%)}.prose a:visited:not(.heading-anchor){text-decoration-color:var(--color-border-strong)}.prose strong{color:var(--color-ink);font-weight:650}.prose em{font-style:italic}.prose ul,.prose ol{padding-left:1.4em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.4em}.prose ul>li::marker{color:var(--color-faint)}.prose ol>li::marker{font-family:var(--font-mono);color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.85em}.prose hr{border:0;border-top:1px solid var(--color-border);margin-block:2.5em}.prose blockquote{border-left:2px solid var(--color-rule);color:var(--color-ink);margin-inline:0;padding:.25em 0 .25em 1.25em;font-size:1.02em}.prose blockquote>*+*{margin-top:.75em}.prose blockquote cite,.prose figcaption{font-size:var(--text-sm);color:var(--color-muted);margin-top:.5em;font-style:normal;display:block}.prose :not(pre)>code{border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border);color:var(--color-ink);overflow-wrap:anywhere;padding:.1em .4em;font-size:.86em}.prose pre,.code-block pre{color:var(--color-ink);-webkit-overflow-scrolling:touch;tab-size:2;border-radius:0;margin:0;padding:1rem 1.1rem;font-size:.84rem;line-height:1.6;overflow-x:auto;background:var(--color-surface-2)!important}.prose pre code{font-size:inherit;background:0 0;border:0;min-width:max-content;padding:0;display:block}.code-block{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);overflow:hidden}.code-block__bar{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.04em;text-transform:lowercase;padding:.35rem .5rem .35rem .9rem;display:flex}.code-block__copy{border-radius:var(--radius-sm);min-height:1.9rem;font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:0;text-transform:none;color:var(--color-muted);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);align-items:center;gap:.35rem;padding:.2rem .55rem;font-weight:500;display:inline-flex}.code-block__copy:hover{background:var(--color-surface);color:var(--color-ink)}.code-block__copy .icon{width:.9rem;height:.9rem}.code-block__copy[data-copied=true]{color:var(--color-ink)}.astro-code span{color:var(--shiki-light)}:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)}}.prose table{border-collapse:collapse;width:100%;font-size:.92em;line-height:1.45}.prose .table-wrap{-webkit-overflow-scrolling:touch;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border);padding:.6em .9em .6em 0}.prose th{font-family:var(--font-ui);font-size:var(--text-meta);letter-spacing:.01em;color:var(--color-ink);white-space:nowrap;font-weight:650}.prose tr:last-child td{border-bottom:0}.prose td:first-child,.prose th:first-child{padding-left:.25em}.prose img{border-radius:var(--radius-sm);height:auto}.prose figure{margin-inline:0}.prose .footnotes{border-top:1px solid var(--color-border);font-size:var(--text-ui);color:var(--color-muted);margin-top:3em;padding-top:1.25em}.prose .footnotes h2,.prose .footnotes h3{font-size:var(--text-ui);font-family:var(--font-display);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-muted);border:0;margin:0 0 .75em;padding:0}.prose .footnotes ol{padding-left:1.4em}.prose sup a{font-family:var(--font-mono);padding-inline:.15em;text-decoration:none}.prose dl{grid-template-columns:max-content 1fr;gap:.4em 1.25em;display:grid}.prose dt{color:var(--color-ink);font-weight:600}.prose dd{margin:0}.callout{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);border-left-width:3px;grid-template-columns:auto 1fr;gap:.75rem .9rem;padding:1rem 1.1rem;font-size:.95em;line-height:1.6;display:grid}.callout--note{border-left-color:var(--color-border-strong)}.callout--warning{border-left-color:var(--color-ink)}.callout--important{border-left-color:var(--color-accent)}.callout__icon{width:1.1rem;height:1.1rem;color:var(--color-muted);margin-top:.15rem}.callout--important .callout__icon{color:var(--color-accent)}.callout__label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-muted);margin-bottom:.3rem;font-weight:700}.callout__body>*+*{margin-top:.6em}.callout__body p{margin:0}.callout__body>*+p{margin-top:.6em}@media (width<=640px){.prose{font-size:1.0625rem}.prose th,.prose td{padding-right:.75em}}
