.toc[data-astro-cid-b3gqhaku]{margin-block:var(--space-7);padding-bottom:var(--space-5);border-bottom:1px solid var(--rule)}.toc-list[data-astro-cid-b3gqhaku]{gap:var(--space-2);margin:var(--space-4) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.toc-item[data-astro-cid-b3gqhaku]{font-family:var(--font-mono-family);font-size:var(--fs-sm);line-height:var(--leading-snug)}.toc-item--sub[data-astro-cid-b3gqhaku]{padding-left:var(--space-5)}.toc-item[data-astro-cid-b3gqhaku] a[data-astro-cid-b3gqhaku]{color:var(--ink-muted);text-decoration:none}.toc-item[data-astro-cid-b3gqhaku] a[data-astro-cid-b3gqhaku]:hover{color:var(--accent);text-decoration:underline}.prose{--breakout:calc((var(--measure-wide) - var(--measure-prose)) / 2);font-size:var(--fs-base);line-height:var(--leading-body);grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, var(--breakout)) [prose-start] min(var(--measure-prose), 100% - (var(--gutter) * 2)) [prose-end] minmax(0, var(--breakout)) [wide-end] minmax(var(--gutter), 1fr) [full-end];display:grid}.prose>*{grid-column:prose}.prose>pre,.prose>.table-scroll,.prose>figure,.prose>p:has(>img:only-child){grid-column:wide}.prose pre,.prose>.table-scroll,.prose>figure,.prose>p:has(>img:only-child){border:1px solid var(--rule);border-radius:var(--radius-lg);background-color:var(--surface);box-shadow:var(--shadow-card)}.prose>figure,.prose>p:has(>img:only-child){padding:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex}.prose>*+*{margin-top:calc(var(--leading-body) * .75em)}.prose>:is(h2,h3,h4){overflow-wrap:anywhere;text-wrap:balance;color:var(--ink-strong)}.prose>h2{margin-top:var(--space-8);font-size:var(--fs-2xl)}.prose>h3{margin-top:var(--space-7);font-size:var(--fs-xl)}.prose>h4{margin-top:var(--space-6);font-size:var(--fs-base);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted)}.prose>:is(h2,h3,h4)+*{margin-top:var(--space-4)}.prose a{text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent)}.prose a:hover{text-decoration-color:currentColor}.prose :is(ul,ol){padding-left:var(--space-5)}.prose li+li,.prose li>:is(ul,ol){margin-top:var(--space-2)}.prose ol{list-style:decimal}.prose ul{list-style:outside}.prose li::marker{color:var(--ink-muted)}.prose li:has(>input[type=checkbox]){margin-left:calc(var(--space-5) * -1);padding-left:var(--space-5);list-style:none}.prose input[type=checkbox]{margin-right:var(--space-2);accent-color:var(--accent)}.prose :not(pre)>code{border:1px solid var(--rule);border-radius:var(--radius-sm);background-color:var(--surface);overflow-wrap:anywhere;padding:.15em .35em;line-height:1}.prose pre{padding:var(--space-5);font-size:var(--fs-sm);tab-size:2;line-height:1.6;overflow-x:auto}.prose pre code{min-width:max-content;display:block}.prose .astro-code,.prose .astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style);font-weight:var(--shiki-light-font-weight);text-decoration:var(--shiki-light-text-decoration)}.prose .astro-code{background-color:var(--surface)!important}:root.dark .prose .astro-code,:root.dark .prose .astro-code span{color:var(--shiki-dark);font-style:var(--shiki-dark-font-style);font-weight:var(--shiki-dark-font-weight);text-decoration:var(--shiki-dark-text-decoration)}.prose .table-scroll{overscroll-behavior-x:contain;padding-inline:var(--space-5);overflow-x:auto}.prose .table-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.prose table{width:100%;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.prose :is(th,td){overflow-wrap:anywhere;padding:var(--space-3) var(--space-4);text-align:left;vertical-align:baseline;border-bottom:1px solid var(--rule)}.prose th{font-family:var(--font-mono-family);font-weight:var(--weight-medium);font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted);border-bottom-color:var(--ink-muted)}.prose tbody tr:last-child :is(th,td){border-bottom:none}.prose blockquote{padding-left:var(--space-5);border-left:2px solid var(--rule);color:var(--ink-muted);font-style:italic}.prose .callout{--callout-accent:var(--ink-muted);padding:var(--space-4) var(--space-5);border:1px solid var(--rule);border-left:2px solid var(--callout-accent);border-radius:var(--radius-lg);background-color:color-mix(in srgb, var(--callout-accent) 7%, var(--paper));font-style:normal}.prose .callout__title{font-family:var(--font-mono-family);font-size:var(--fs-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);line-height:var(--leading-snug);color:var(--callout-accent)}.prose .callout__body{margin-top:var(--space-3);color:var(--ink);border:none;padding:0;font-style:normal}.prose .callout__body>*+*{margin-top:var(--space-4)}.prose .callout__title:only-child{margin:0}.prose .callout[data-callout=info],.prose .callout[data-callout=question]{--callout-accent:var(--accent)}.prose .callout[data-callout=tip],.prose .callout[data-callout=success]{--callout-accent:var(--callout-success)}.prose .callout[data-callout=warning]{--callout-accent:var(--callout-warning)}.prose .callout[data-callout=danger],.prose .callout[data-callout=failure],.prose .callout[data-callout=bug]{--callout-accent:var(--callout-danger)}.prose details.callout>summary.callout__title{cursor:pointer;align-items:baseline;gap:var(--space-3);list-style:none;display:flex}.prose details.callout>summary.callout__title::-webkit-details-marker{display:none}.prose details.callout>summary.callout__title:before{content:"";width:0;height:0;transition:transform var(--dur-base) var(--ease-out);border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;flex:none;transform:translateY(-.1em)}.prose details.callout[open]>summary.callout__title:before{transform:translateY(-.1em)rotate(90deg)}@supports (interpolate-size:allow-keywords){:root{interpolate-size:allow-keywords}.prose details.callout::details-content{opacity:0;block-size:0;transition:block-size var(--dur-base) var(--ease-out), content-visibility var(--dur-base) allow-discrete, opacity var(--dur-base) var(--ease-out);overflow:hidden}.prose details.callout[open]::details-content{opacity:1;block-size:auto}}.prose svg[id^=mermaid]{width:100%;height:auto;font-family:var(--font-mono-family);display:block}.prose svg[id^=mermaid] :is(text,.label,tspan){fill:var(--ink)!important;color:var(--ink)!important}.prose svg[id^=mermaid] :is(.nodeLabel,.edgeLabel,.cluster-label,foreignObject div,foreignObject span,foreignObject p){color:var(--ink)!important}.prose svg[id^=mermaid] :is(.node rect,.node circle,.node ellipse,.node polygon,.node path){fill:var(--paper)!important;stroke:var(--rule)!important}.prose svg[id^=mermaid] :is(.cluster rect,.labelBox){fill:var(--surface)!important;stroke:var(--rule)!important}.prose svg[id^=mermaid] :is(.edgePath .path,.flowchart-link,.messageLine0,.messageLine1){stroke:var(--ink-muted)!important}.prose svg[id^=mermaid] :is(marker path,.arrowheadPath,.marker){fill:var(--ink-muted)!important;stroke:var(--ink-muted)!important}.prose svg[id^=mermaid] .edgeLabel,.prose svg[id^=mermaid] .edgeLabel :is(rect,.labelBkg,p){fill:var(--surface)!important;background-color:var(--surface)!important;color:var(--ink)!important}.prose svg[id^=mermaid] :is(rect.actor,.actor){fill:var(--paper)!important;stroke:var(--rule)!important}.prose svg[id^=mermaid] :is(.actor-line,.loopLine){stroke:var(--rule)!important}.prose svg[id^=mermaid] :is(.messageText,.noteText,.loopText,.labelText,text.actor tspan){fill:var(--ink)!important}.prose svg[id^=mermaid] .note{fill:var(--surface)!important;stroke:var(--rule)!important}.prose figcaption{margin-top:var(--space-3);font-family:var(--font-mono-family);font-size:var(--fs-xs);line-height:var(--leading-snug);color:var(--ink-muted);text-align:center;align-self:center}.prose img{border-radius:var(--radius-sm);margin-inline:auto}.prose hr{margin-block:var(--space-8);border-top:1px solid var(--rule)}.prose .footnotes{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--rule);font-size:var(--fs-sm);color:var(--ink-muted)}.prose .footnotes h2{font-size:var(--fs-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted)}.prose .footnotes ol{margin-top:var(--space-4)}.prose sup a{font-variant-numeric:tabular-nums;text-decoration:none}.prose .data-footnote-backref{text-decoration:none}.article-header[data-astro-cid-bnohfldf],.cover[data-astro-cid-bnohfldf],.article[data-astro-cid-bnohfldf] .toc{width:min(var(--measure-prose), 100% - (var(--gutter) * 2));margin-inline:auto}.cover[data-astro-cid-bnohfldf]{margin-block:var(--space-6);border:1px solid var(--color-line);background-color:color-mix(in srgb, var(--color-ink) 4%, transparent);box-shadow:var(--shadow-card);border-radius:12px;position:relative;overflow:hidden}.cover[data-astro-cid-bnohfldf] img[data-astro-cid-bnohfldf]{aspect-ratio:21/9;object-fit:cover;object-position:center;width:100%;display:block}@media (width>=768px){.cover[data-astro-cid-bnohfldf] img[data-astro-cid-bnohfldf]{aspect-ratio:16/7}}.frame[data-astro-cid-bnohfldf]{pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--highlight-line);background:linear-gradient(#00000038,#0000 18%),linear-gradient(#0000 78%,#00000047);position:absolute;inset:0}:root:not(.dark) .frame[data-astro-cid-bnohfldf]{background:0 0}.article-header[data-astro-cid-bnohfldf]{padding-block:var(--space-8) var(--space-2)}.entry-mark[data-astro-cid-bnohfldf]{margin-bottom:var(--space-4);font-family:var(--font-mono-family);font-size:var(--fs-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted);font-variant-numeric:tabular-nums}.draft-flag[data-astro-cid-bnohfldf]{margin-bottom:var(--space-5);padding:var(--space-2) var(--space-4);border-left:2px solid var(--annotate-edge);background-color:color-mix(in srgb, var(--annotate) 22%, transparent);font-family:var(--font-mono-family);font-size:var(--fs-xs);color:var(--ink)}h1[data-astro-cid-bnohfldf]{font-size:var(--fs-3xl);letter-spacing:var(--tracking-display);line-height:var(--leading-tight)}.lede[data-astro-cid-bnohfldf]{margin-top:var(--space-5);font-size:var(--fs-lg);color:var(--ink-muted);text-wrap:pretty}.meta[data-astro-cid-bnohfldf]{gap:var(--space-2) var(--space-5);margin-top:var(--space-6);font-family:var(--font-mono-family);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.meta[data-astro-cid-bnohfldf] div[data-astro-cid-bnohfldf]{gap:var(--space-2);display:flex}.meta[data-astro-cid-bnohfldf] dt[data-astro-cid-bnohfldf]{color:var(--ink-muted)}.meta[data-astro-cid-bnohfldf] dt[data-astro-cid-bnohfldf]:after{content:":"}.meta[data-astro-cid-bnohfldf] dd[data-astro-cid-bnohfldf]{color:var(--ink);margin:0}
