.docs{grid-template-columns:minmax(0,1fr);align-items:start;column-gap:3rem;padding-block:.25rem clamp(3rem,8vw,6rem);display:grid}.docs-label{color:var(--muted);font:500 .8125rem/1.2 var(--text);margin:0}.docs-side,.docs-toc{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;max-height:calc(100dvh - 4rem);display:none;position:sticky;top:2rem;overflow-y:auto}@media (min-width:48rem){.docs{grid-template-columns:13.5rem minmax(0,1fr);padding-top:2rem}.docs-side{display:block}}@media (min-width:75rem){.docs{grid-template-columns:13.5rem minmax(0,48rem) 11rem;justify-content:space-between}.docs-toc{display:block}.docs-main:last-child{grid-column:2/-1}}.docs-main{min-width:0}.docs-article{max-width:48rem;margin-inline:auto}.docs-nav{gap:.25rem;padding-right:.5rem;display:grid}.docs-nav summary{min-height:2rem;color:var(--muted);font:500 .8125rem/1.2 var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:.45rem;padding:0 .5rem;list-style:none;transition:color .16s,background-color .16s;display:flex}.docs-nav summary::-webkit-details-marker{display:none}.docs-nav summary svg{transition:transform .2s var(--ease-out);flex:none}.docs-nav summary:hover,.docs-nav [open]>summary{color:var(--white)}.docs-nav [open]>summary svg{transform:rotate(90deg)}.docs-nav ul{border-left:1px solid var(--line-strong);gap:1px;margin:.25rem 0 .6rem .95rem;padding:0 0 0 .3rem;list-style:none;display:grid}@supports (interpolate-size:allow-keywords){.docs-nav details{interpolate-size:allow-keywords}.docs-nav details::details-content{block-size:0;transition:block-size .22s var(--ease-out), content-visibility .22s allow-discrete;overflow:clip}.docs-nav details[open]::details-content{block-size:auto}}.docs-nav a{color:var(--soft);border-radius:7px;padding:.4rem .75rem;font-size:.875rem;line-height:1.4;transition:color .16s,background-color .16s;display:block}.docs-nav a:hover{background:var(--card);color:var(--white)}.docs-nav a[aria-current=page]{background:var(--raised);color:var(--white)}.docs-toc ul{border-left:1px solid var(--line-strong);margin:.75rem 0 0;padding:0;list-style:none}.docs-toc a{color:var(--soft);border-left:1px solid #0000;margin-left:-1px;padding:.28rem 0 .28rem .75rem;font-size:.875rem;line-height:1.4;transition:color .16s,border-color .16s;display:block}.docs-toc .sub a{padding-left:1.5rem;font-size:.8125rem}.docs-toc a:hover{border-left-color:var(--faint);color:var(--white)}.docs-toc a[aria-current=location]{border-left-color:var(--white);color:var(--white)}.docs-title{font:600 clamp(1.85rem, 1.4rem + 1.6vw, 2.5rem) / 1.15 var(--display);letter-spacing:-.03em;text-wrap:balance;margin:0 0 1.25rem;scroll-margin-top:4rem}.docs-head{margin-bottom:2.25rem}.docs-head h1{font:700 clamp(2.1rem, 1.5rem + 2.4vw, 3.25rem) / 1.04 var(--display);letter-spacing:-.045em;text-wrap:balance;margin:.9rem 0 0}.docs-index{max-width:68rem}.docs-lede{max-width:42rem;color:var(--soft);margin:1.25rem 0 0;font-size:clamp(1rem,1.3vw,1.125rem);line-height:1.6}.docs-lede a{color:var(--white);text-underline-offset:3px;text-decoration:underline}.docs-group{gap:1.1rem;margin-top:clamp(2.5rem,5vw,3.5rem);display:grid}.docs-group h2{font:700 1.5rem/1.15 var(--display);letter-spacing:-.035em;margin:0}.docs-group p{max-width:42rem;color:var(--soft);margin:.4rem 0 0;font-size:.9375rem}.docs-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,16.5rem),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.docs-cards a{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card);align-content:start;gap:.5rem;height:100%;padding:1.1rem 1.2rem 1.2rem;transition:border-color .16s;display:grid}.docs-cards a:hover{border-color:var(--faint)}.docs-card-title{font:600 1rem/1.3 var(--text)}.docs-card-text{color:var(--soft);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.55;display:-webkit-box;overflow:hidden}.docs-foot{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;margin-top:clamp(2.5rem,6vw,4rem);padding-top:.75rem;display:grid}.docs-turn{min-width:0;min-height:2.75rem;color:var(--soft);font:500 .875rem/1.3 var(--text);border-radius:9px;justify-self:start;align-items:center;gap:.6rem;margin-inline:-.6rem;padding:0 .6rem;transition:color .16s,background-color .16s;display:flex}.docs-turn-next{justify-self:end}.docs-turn>[aria-hidden]{color:var(--muted);transition:transform .2s var(--ease-out), color .16s ease;flex:none}.docs-turn-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docs-turn:hover{background:var(--raised);color:var(--white)}.docs-turn:hover>[aria-hidden]{color:var(--white);transform:translate(-3px)}.docs-turn-next:hover>[aria-hidden]{transform:translate(3px)}.docs-edit{color:var(--muted);font:400 .75rem/1 var(--text);white-space:nowrap;padding:.5rem;transition:color .16s}.docs-edit:hover{color:var(--white)}@media (max-width:36rem){.docs-turn-title{display:none}}@media (prefers-reduced-motion:reduce){.menu,.crumb svg,.docs-nav summary svg,.docs-turn>[aria-hidden]{transition:none}.docs-nav details::details-content{transition:none}}:where(.flowdown){--fd-fg:var(--lightningcss-light,#1f2328)var(--lightningcss-dark,#e6edf3);--fd-fg-soft:var(--lightningcss-light,#4b535d)var(--lightningcss-dark,#b1bac4);--fd-fg-faint:var(--lightningcss-light,#6e7781)var(--lightningcss-dark,#8b949e);--fd-bg:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0d1117);--fd-border:var(--lightningcss-light,#d0d7de)var(--lightningcss-dark,#30363d);--fd-border-subtle:var(--lightningcss-light,#e6e9ed)var(--lightningcss-dark,#21262d);--fd-border-strong:var(--lightningcss-light,#afb8c1)var(--lightningcss-dark,#484f58);--fd-veil:color-mix(in oklab, var(--fd-fg) 4.5%, transparent);--fd-veil-strong:color-mix(in oklab, var(--fd-fg) 8%, transparent);--fd-link:var(--fd-fg);--fd-focus:var(--lightningcss-light,#0969da)var(--lightningcss-dark,#4493f8);--fd-info:var(--lightningcss-light,#0969da)var(--lightningcss-dark,#4493f8);--fd-success:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#3fb950);--fd-important:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#ab7df8);--fd-warning:var(--lightningcss-light,#9a6700)var(--lightningcss-dark,#d29922);--fd-danger:var(--lightningcss-light,#cf222e)var(--lightningcss-dark,#f85149);--fd-chart-1:var(--lightningcss-light,#0969da)var(--lightningcss-dark,#4493f8);--fd-chart-2:var(--lightningcss-light,#1a7f37)var(--lightningcss-dark,#3fb950);--fd-chart-3:var(--lightningcss-light,#bc4c00)var(--lightningcss-dark,#f0883e);--fd-chart-4:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#ab7df8);--fd-chart-5:var(--lightningcss-light,#bf3989)var(--lightningcss-dark,#db61a2);--fd-chart-6:var(--lightningcss-light,#1b7c83)var(--lightningcss-dark,#39c5cf);--fd-chart-7:var(--lightningcss-light,#9a6700)var(--lightningcss-dark,#d29922);--fd-chart-8:var(--lightningcss-light,#57606a)var(--lightningcss-dark,#8b949e);--fd-code-bg:var(--fd-veil);--fd-code-fg:var(--fd-fg);--fd-code-comment:var(--fd-fg-faint);--fd-code-keyword:var(--lightningcss-light,#cf222e)var(--lightningcss-dark,#ff7b72);--fd-code-string:var(--lightningcss-light,#0a3069)var(--lightningcss-dark,#a5d6ff);--fd-code-number:var(--lightningcss-light,#0550ae)var(--lightningcss-dark,#79c0ff);--fd-code-function:var(--lightningcss-light,#8250df)var(--lightningcss-dark,#d2a8ff);--fd-code-type:var(--lightningcss-light,#953800)var(--lightningcss-dark,#ffa657);--fd-code-tag:var(--lightningcss-light,#116329)var(--lightningcss-dark,#7ee787);--fd-font-heading:inherit;--fd-font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--fd-radius:.75rem;--fd-radius-small:.375rem;--fd-duration:.12s;--fd-duration-slow:.2s;--fd-ease:cubic-bezier(.2, 0, 0, 1)}:where(.dark,[data-theme=dark]) :where(.flowdown),:where(.flowdown[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:where(.light,[data-theme=light]) :where(.flowdown),:where(.flowdown[data-theme=light]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.flowdown{width:100%;color:var(--fd-fg);overflow-wrap:anywhere}.flowdown>:first-child{margin-top:0}.flowdown>:last-child{margin-bottom:0}.flowdown p,.flowdown ul,.flowdown ol,.flowdown blockquote,.flowdown table{margin:.65rem 0}.flowdown h1,.flowdown h2,.flowdown h3,.flowdown h4,.flowdown h5,.flowdown h6{font-family:var(--fd-font-heading);letter-spacing:-.015em;text-wrap:balance;margin:1.5em 0 .45em;font-weight:600;line-height:1.3}.flowdown :is(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6){margin-top:.6em}.flowdown .fd-section-number{font-variant-numeric:tabular-nums;color:var(--fd-fg-faint);margin-right:.45em;font-weight:500}.flowdown h1{font-size:1.32rem}.flowdown h2{font-size:1.16rem}.flowdown h3{font-size:1.03rem}.flowdown :is(p,li){text-wrap:pretty}.flowdown[data-streaming]>:last-child,.flowdown[data-streaming]>:last-child :is(p,li,h1,h2,h3,h4,h5,h6){text-wrap:wrap}.flowdown :is(strong,b){font-weight:600}.flowdown h4{font-size:1rem}.flowdown h5{font-size:.9rem}.flowdown h6{color:var(--fd-fg-soft);font-size:.85rem}.flowdown ul,.flowdown ol{padding-left:1.35rem}.flowdown ul{list-style:outside}.flowdown ol{list-style:decimal}.flowdown :is(ul,ol) ul{list-style:circle}.flowdown li+li{margin-top:.25rem}.flowdown li::marker{color:var(--fd-fg-faint)}.flowdown ol>li::marker{font-variant-numeric:tabular-nums}.flowdown li>:is(ul,ol){margin:.25rem 0}.flowdown hr{border:0;border-top:1px solid var(--fd-border);margin:1.1rem 0}.flowdown del{color:var(--fd-fg-soft)}.flowdown a{color:var(--fd-link);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in oklab, var(--fd-link) 35%, transparent);text-decoration-color:color-mix(in oklab, var(--fd-link) 35%, transparent);text-underline-offset:.2em;transition:text-decoration-color var(--fd-duration) ease;overflow-wrap:anywhere}.flowdown a:hover{text-decoration-color:currentColor}.flowdown :focus-visible{outline:2px solid var(--fd-focus);outline-offset:2px;border-radius:var(--fd-radius-small)}.flowdown blockquote{border-left:2px solid var(--fd-border);color:var(--fd-fg-soft);padding-left:.85rem}.flowdown blockquote>:has(+.fd-quote-source){margin-bottom:0}.flowdown blockquote>.fd-quote-source{text-align:right;color:var(--fd-fg-faint);margin-top:.3rem;font-size:.9em;font-style:italic}.flowdown blockquote>.fd-quote-source:before{content:"— "}.flowdown .fd-callout{--fd-callout:var(--fd-info);border-radius:var(--fd-radius);background:var(--fd-veil);grid-template-columns:1rem minmax(0,1fr);column-gap:.7rem;margin:.8rem 0;padding:.65rem .9rem;display:grid}.flowdown .fd-callout-icon{width:1rem;height:1rem;color:var(--fd-callout);margin-top:calc(.5lh - .5rem)}.flowdown .fd-callout[data-callout=tip]{--fd-callout:var(--fd-success)}.flowdown .fd-callout[data-callout=important]{--fd-callout:var(--fd-important)}.flowdown .fd-callout[data-callout=warning]{--fd-callout:var(--fd-warning)}.flowdown .fd-callout[data-callout=caution]{--fd-callout:var(--fd-danger)}.flowdown .fd-callout-title{color:var(--fd-fg);margin-bottom:.15rem;font-weight:600}.flowdown .fd-callout-title+*,.flowdown .fd-callout-body>:first-child{margin-top:0}.flowdown .fd-callout-body>:last-child{margin-bottom:0}.flowdown .fd-figure{text-align:center;margin:1.1rem 0}.flowdown .fd-figure img{object-fit:contain;border-radius:var(--fd-radius);max-width:min(100%,34rem);max-height:20rem;margin:0 auto;display:block}.flowdown .fd-figure>figcaption{text-align:center;color:var(--fd-fg-faint);margin-top:.45rem;font-size:.86em;font-style:normal}.flowdown .fd-diagram{margin:.8rem 0}.flowdown .fd-diagram-canvas{justify-content:center;padding:.5rem 0;display:flex;overflow-x:auto}.flowdown .fd-diagram-canvas svg{max-width:100%;height:auto}.flowdown .fd-diagram-canvas :is(.node rect.label-container,rect.actor,rect.note){rx:6px;ry:6px}.flowdown .fd-diagram-note{color:var(--fd-fg-faint);margin-top:.35rem;font-size:.85em}.flowdown :where(:not(pre))>code:where(:not(.math-inline,.math-display)){border-radius:var(--fd-radius-small);font-family:var(--fd-font-mono);background:var(--fd-veil-strong);overflow-wrap:anywhere;padding:.1rem .3rem;font-size:.92em}.flowdown table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.9em}.flowdown .fd-table{max-width:100%;margin:.65rem 0;overflow-x:auto}.flowdown .fd-table table{width:max-content;min-width:100%;margin:0}.flowdown th,.flowdown td{border-bottom:1px solid var(--fd-border-subtle);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:.5rem .9rem}.flowdown :is(th,td):first-child{padding-left:0}.flowdown :is(th,td):last-child{padding-right:0}.flowdown th{border-top:1px solid var(--fd-border);border-bottom-color:var(--fd-border);color:var(--fd-fg-soft);font-weight:600}.flowdown tbody tr:last-child td{border-bottom-color:var(--fd-border)}.flowdown img{vertical-align:middle;max-width:100%}.flowdown p>img:only-child{border-radius:var(--fd-radius);max-height:28rem;display:block}.flowdown sup,.flowdown sub{line-height:0}.flowdown [data-footnote-ref],.flowdown [data-footnote-backref]{color:var(--fd-fg-soft);text-decoration:none}.flowdown [data-footnotes]{border-top:1px solid var(--fd-border-subtle);color:var(--fd-fg-soft);margin-top:1.5rem;padding-top:.65rem;font-size:.9em}.flowdown .sr-only{clip-path:inset(50%);position:absolute}.flowdown kbd{box-sizing:border-box;border:1px solid var(--fd-border);border-radius:var(--fd-radius-small);background:var(--fd-veil);min-width:1.5em;font-family:var(--fd-font-mono);text-align:center;white-space:nowrap;vertical-align:.06em;border-bottom-width:2px;padding:.05em .4em;font-size:.82em;line-height:1.35;display:inline-block}@keyframes fd-arrive{0%{opacity:.3}}.flowdown[data-streaming]>:last-child{animation:fd-arrive var(--fd-duration-slow) ease-out}@media (prefers-reduced-motion:reduce){.flowdown[data-streaming]>:last-child{animation:none}}.flowdown .fd-steps-title,.flowdown .fd-stats-title,.flowdown .fd-sources-title,.flowdown .fd-tabs-title{color:var(--fd-fg);margin-bottom:.35rem;font-weight:600}.flowdown .fd-steps-title+.fd-steps,.flowdown .fd-stats-title+.fd-stats,.flowdown .fd-sources-title+.fd-sources,.flowdown .fd-tabs-title+.fd-tabs{margin-top:0}.flowdown ol.fd-steps,.flowdown ul.fd-steps{margin:.8rem 0;padding-left:0;list-style:none}.flowdown .fd-steps>li{--fd-mark:1.5rem;margin:0;padding:0 0 1rem 2.25rem;position:relative}.flowdown .fd-steps>li:last-child{padding-bottom:0}.flowdown .fd-steps>li:before,.flowdown .fd-sources>li:before{left:0;top:calc((1lh - var(--fd-mark)) / 2);min-width:var(--fd-mark);height:var(--fd-mark);background:var(--fd-veil-strong);color:var(--fd-fg-soft);border-radius:9999px;place-content:center;font-size:.72em;font-weight:600;line-height:1lh;display:grid;position:absolute}.flowdown .fd-steps>li:before{content:counter(list-item)}.flowdown ul.fd-steps>li:before{content:"●"}.flowdown .fd-steps>li:not(:last-child):after{content:"";left:calc(var(--fd-mark) / 2 - 1px);top:calc((1lh + var(--fd-mark)) / 2);bottom:calc((var(--fd-mark) - 1lh) / 2);background:var(--fd-border) content-box;width:2px;padding:.25rem 0;position:absolute}.flowdown .fd-step-head{margin:0}.flowdown .fd-step-title{color:var(--fd-fg);font-weight:600}.flowdown .fd-step-meta{color:var(--fd-fg-faint);margin-top:.1rem;font-size:.85em;font-style:italic;display:block}.flowdown .fd-step-head+:not(.fd-step-body){margin-top:.5rem}.flowdown .fd-step-body{margin-top:.15rem}.flowdown .fd-step-body>:first-child{margin-top:0}.flowdown .fd-steps>li>:last-child,.flowdown .fd-step-body>:last-child{margin-bottom:0}.flowdown .fd-tabs{border:1px solid var(--fd-border);border-radius:var(--fd-radius);margin:.8rem 0;overflow:hidden}.flowdown .fd-tab-list{border-bottom:1px solid var(--fd-border);scrollbar-width:none;gap:.25rem;padding:0 .4rem;display:flex;overflow-x:auto}.flowdown .fd-tab{font:inherit;color:var(--fd-fg-faint);cursor:pointer;transition:color var(--fd-duration) ease;background:0 0;border:0;flex:none;margin:0;padding:.55rem .5rem;font-size:.9em;font-weight:500;position:relative}.flowdown .fd-tab:hover{color:var(--fd-fg-soft)}.flowdown .fd-tab[aria-selected=true]{color:var(--fd-fg)}.flowdown .fd-tab[aria-selected=true]:after{content:"";border-bottom:2px solid var(--fd-fg);position:absolute;inset:auto .5rem -1px}.flowdown .fd-tab:focus-visible{outline-offset:-2px}.flowdown .fd-tab-panel{padding:.6rem .9rem .75rem}.flowdown .fd-tab-panel>:first-child{margin-top:0}.flowdown .fd-tab-panel>:last-child{margin-bottom:0}.flowdown .fd-tab-panel:has(>.fd-code:only-child){padding:0}.flowdown .fd-tab-panel>.fd-code:only-child{border-radius:0}.flowdown ul.fd-stats,.flowdown ol.fd-stats{grid-template-columns:repeat(auto-fit,minmax(min(8.5rem,100%),1fr));gap:.5rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.flowdown .fd-stats>li{border-radius:var(--fd-radius);background:var(--fd-veil);min-width:0;margin:0;padding:.6rem .8rem}.flowdown .fd-stat-value{font-variant-numeric:tabular-nums;color:var(--fd-fg);font-size:1.35em;font-weight:600;line-height:1.2;display:block}.flowdown .fd-stat-label{color:var(--fd-fg-soft);margin-top:.15rem;font-size:.85em;font-style:normal;display:block}.flowdown .fd-verdicts{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:.5rem;margin:.8rem 0;display:grid}.flowdown .fd-verdict{--fd-verdict:var(--fd-success);border-radius:var(--fd-radius);background:var(--fd-veil);min-width:0;margin:.8rem 0;padding:.6rem .9rem}.flowdown .fd-verdicts>.fd-verdict{margin:0}.flowdown .fd-verdict[data-verdict=cons]{--fd-verdict:var(--fd-danger)}.flowdown .fd-verdict-title{color:var(--fd-fg);margin:0 0 .3rem;font-weight:600}.flowdown ul.fd-verdict-list,.flowdown ol.fd-verdict-list{margin:0;padding:0;list-style:none}.flowdown .fd-verdict-list>li{margin:.2rem 0;padding-left:1.35rem;position:relative}.flowdown .fd-verdict-list>li:before{color:var(--fd-verdict);font-weight:700;position:absolute;left:0}.flowdown .fd-verdict[data-verdict=pros] .fd-verdict-list>li:before{content:"✓"}.flowdown .fd-verdict[data-verdict=cons] .fd-verdict-list>li:before{content:"✕"}.flowdown details{--fd-details-pad:.9rem;border:1px solid var(--fd-border-subtle);border-radius:var(--fd-radius);padding:0 var(--fd-details-pad);color:var(--fd-fg-soft);margin:.8rem 0}.flowdown details>summary{margin:0 calc(-1 * var(--fd-details-pad));border-radius:calc(var(--fd-radius) - 1px);padding:.6rem var(--fd-details-pad);color:var(--fd-fg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--fd-duration) ease;align-items:center;gap:.6rem;font-weight:600;line-height:1.4;list-style:none;display:flex}.flowdown details>summary::-webkit-details-marker{display:none}.flowdown details>summary:before{content:"";border:solid var(--fd-fg-faint);width:.4rem;height:.4rem;transition:transform var(--fd-duration-slow) var(--fd-ease), border-color var(--fd-duration) ease;border-width:0 1.5px 1.5px 0;flex:none;margin:0 .15rem;transform:translate(-.1rem)rotate(-45deg)}.flowdown details[open]>summary:before{transform:translateY(-.1rem)rotate(45deg)}.flowdown details>summary:hover{background:var(--fd-veil)}.flowdown details>summary:hover:before{border-color:var(--fd-fg)}.flowdown details>summary:focus-visible{outline-offset:-2px}.flowdown details[open]{padding-bottom:.8rem}.flowdown details[open]>summary{border-bottom:1px solid var(--fd-border-subtle);border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:.8rem}.flowdown details>summary+*{margin-top:0}.flowdown details>:last-child:not(summary){margin-bottom:0}@keyframes fd-unfold{0%{opacity:0;transform:translateY(-.2rem)}}.flowdown details[open]>:not(summary){animation:fd-unfold var(--fd-duration-slow) var(--fd-ease)}@media (prefers-reduced-motion:reduce){.flowdown details[open]>:not(summary){animation:none}}.flowdown ul.fd-sources,.flowdown ol.fd-sources{counter-reset:fd-source;margin:.8rem 0;padding:0;list-style:none}.flowdown .fd-sources>li{--fd-mark:1.25rem;counter-increment:fd-source;margin:.45rem 0;padding-left:1.85rem;position:relative}.flowdown .fd-sources>li:before{content:counter(fd-source)}.flowdown .fd-source>a{text-decoration:none}.flowdown .fd-source>a:hover .fd-source-title{text-underline-offset:.15em;text-decoration:underline}.flowdown .fd-source-title{color:var(--fd-fg);font-weight:500}.flowdown .fd-source-host{color:var(--fd-fg-faint);margin-left:.5rem;font-size:.85em;font-style:normal;font-weight:400}.flowdown .fd-source-note{color:var(--fd-fg-soft);font-size:.9em;font-style:normal;display:block}.flowdown .fd-tree{font-family:var(--fd-font-mono);margin:.8rem 0;font-size:.86em;line-height:normal}.flowdown .fd-tree-row{border-radius:var(--fd-radius-small);min-width:0;padding:.2rem .4rem .2rem calc(.4rem + var(--fd-tree-depth,0) * 1.1rem + 1.15rem);background-image:repeating-linear-gradient(to right, transparent 0 .775rem, var(--fd-border-subtle) .775rem calc(.775rem + 1px), transparent calc(.775rem + 1px) 1.1rem);background-size:calc(var(--fd-tree-depth,0) * 1.1rem) 100%;color:var(--fd-fg-soft);cursor:default;background-repeat:no-repeat;align-items:center;gap:.4rem;display:flex}.flowdown .fd-tree-row[data-folder]{padding-left:calc(.4rem + var(--fd-tree-depth,0) * 1.1rem);color:var(--fd-fg);cursor:pointer}.flowdown .fd-tree-row:hover{background-color:var(--fd-veil)}.flowdown .fd-tree-row:focus-visible{outline-offset:-2px}.flowdown .fd-tree-chevron,.flowdown .fd-tree-icon{width:.95rem;height:.95rem;color:var(--fd-fg-faint);flex:none}.flowdown .fd-tree-chevron{width:.75rem;height:.75rem;transition:transform var(--fd-duration) ease}.flowdown .fd-tree-chevron[data-open]{transform:rotate(90deg)}.flowdown .fd-tree-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flowdown .fd-tree-comment{text-overflow:ellipsis;white-space:nowrap;color:var(--fd-fg-faint);margin-left:.5rem;font-family:inherit;overflow:hidden}.flowdown .fd-tree-comment:before{content:"# "}.flowdown ul.contains-task-list,.flowdown ol.contains-task-list{padding-left:0;list-style:none}.flowdown li.task-list-item{padding-left:1.6rem;position:relative}.flowdown li.task-list-item input[type=checkbox]{font:inherit;box-sizing:border-box;appearance:none;border:1.5px solid var(--fd-border-strong);width:1rem;height:1rem;transition:background-color var(--fd-duration) ease, border-color var(--fd-duration) ease;background:0 0;border-radius:.3rem;margin:0;position:absolute;top:calc(.5lh - .5rem);left:0}.flowdown li.task-list-item input[type=checkbox]:checked{border-color:var(--fd-fg-soft);background-color:var(--fd-fg-soft)}.flowdown li.task-list-item input[type=checkbox]:checked:after{content:"";border:solid var(--fd-bg-solid,var(--fd-bg));border-width:0 1.75px 1.75px 0;width:.25rem;height:.5rem;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.flowdown li.task-list-item input[type=checkbox]:not(:disabled){cursor:pointer}.flowdown li.task-list-item input[type=checkbox]:not(:disabled):hover{border-color:var(--fd-fg-soft)}.flowdown li.task-list-item:has(>input:checked,>p:first-child>input:checked){color:var(--fd-fg-faint);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--fd-fg) 30%, transparent);text-decoration-color:color-mix(in oklab, var(--fd-fg) 30%, transparent)}.flowdown li.task-list-item:has(>input:checked)>:is(ul,ol){color:var(--fd-fg);text-decoration:none}.flowdown .fd-code{border-radius:var(--fd-radius);background:var(--fd-code-bg);margin:.8rem 0}.flowdown .fd-code-bar{min-height:2rem;color:var(--fd-fg-faint);justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem .35rem 0 .9rem;font-size:.78em;display:flex}.flowdown .fd-code-language{font-family:var(--fd-font-mono);text-transform:lowercase}.flowdown .fd-code-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--fd-font-mono);color:var(--fd-fg-soft);margin-right:auto;overflow:hidden}.flowdown .fd-code-title+.fd-code-language{flex:none}.flowdown .fd-code-bar>.fd-code-language:first-child{margin-right:auto}.flowdown .fd-code-bar>.fd-code-download:first-child{margin-left:auto}.flowdown :is(.fd-code-copy,.fd-code-download){border-radius:var(--fd-radius-small);width:1.75rem;height:1.75rem;color:var(--fd-fg-faint);cursor:pointer;transition:color var(--fd-duration) ease, background-color var(--fd-duration) ease;background:0 0;border:0;flex:none;place-items:center;display:inline-grid}.flowdown .fd-code-download+.fd-code-copy{margin-left:-.3rem}.flowdown :is(.fd-code-copy,.fd-code-download):hover{background:var(--fd-veil-strong);color:var(--fd-fg)}.flowdown .fd-code-copy[data-copied]{color:var(--fd-success)}.flowdown :is(.fd-code-copy,.fd-code-download) svg{width:.95rem;height:.95rem}@media (pointer:coarse){.flowdown :is(.fd-code-copy,.fd-code-download){width:44px;height:44px}.flowdown .fd-code-download+.fd-code-copy{margin-left:0}}.flowdown pre{font-family:var(--fd-font-mono);color:var(--fd-code-fg);tab-size:2;margin:0;padding:.25rem .9rem .8rem;font-size:.86em;line-height:1.55;overflow-x:auto}.flowdown :not(.fd-code)>pre{border-radius:var(--fd-radius);background:var(--fd-code-bg);margin:.8rem 0;padding:.8rem .9rem}.flowdown .fd-diagram>pre{margin:0}.flowdown pre code{font:inherit;white-space:pre}.flowdown .hljs-comment,.flowdown .hljs-quote{color:var(--fd-code-comment);font-style:italic}.flowdown :is(.hljs-keyword,.hljs-selector-tag,.hljs-doctag,.hljs-meta .hljs-keyword){color:var(--fd-code-keyword)}.flowdown :is(.hljs-string,.hljs-regexp,.hljs-meta .hljs-string){color:var(--fd-code-string)}.flowdown :is(.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-attr,.hljs-attribute,.hljs-symbol,.hljs-bullet){color:var(--fd-code-number)}.flowdown :is(.hljs-title,.hljs-title.function_,.hljs-section){color:var(--fd-code-function)}.flowdown :is(.hljs-type,.hljs-built_in,.hljs-title.class_,.hljs-params,.hljs-meta){color:var(--fd-code-type)}.flowdown :is(.hljs-tag,.hljs-name,.hljs-selector-id,.hljs-selector-class){color:var(--fd-code-tag)}.flowdown .hljs-addition{color:var(--fd-success)}.flowdown .hljs-deletion{color:var(--fd-danger)}.flowdown .language-diff :is(.hljs-meta,.hljs-comment){color:var(--fd-fg-faint);font-style:normal}.flowdown .hljs-emphasis{font-style:italic}.flowdown .hljs-strong{font-weight:600}@keyframes fd-caret{50%{opacity:.2}}.flowdown[data-caret]>:last-child:is(p,h1,h2,h3,h4,h5,h6):after,.flowdown[data-caret]>:last-child:is(ul,ol)>li:last-child:after,.flowdown[data-caret]>:last-child:is(blockquote,aside) p:last-child:after{content:"";background:var(--fd-caret-color,currentColor);vertical-align:-.15em;opacity:.55;border-radius:1px;width:.5em;height:1em;margin-left:.15em;animation:1s ease-in-out infinite fd-caret;display:inline-block}@media (prefers-reduced-motion:reduce){.flowdown[data-caret] :after{animation:none}}.flowdown .fd-diagram{position:relative}.flowdown .fd-diagram-actions{z-index:1;border:1px solid var(--fd-border-subtle);border-radius:var(--fd-radius-small);background:color-mix(in oklab, var(--fd-bg) 88%, transparent);opacity:0;transition:opacity var(--fd-duration) ease;gap:.125rem;padding:.125rem;display:flex;position:absolute;top:.35rem;right:.35rem}.flowdown .fd-diagram:is(:hover,:focus-within) .fd-diagram-actions{opacity:1}.flowdown .fd-diagram-action{border-radius:var(--fd-radius-small);min-width:1.75rem;height:1.75rem;font:inherit;color:var(--fd-fg-faint);cursor:pointer;transition:color var(--fd-duration) ease, background-color var(--fd-duration) ease;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.flowdown .fd-diagram-action:hover{background:var(--fd-veil-strong);color:var(--fd-fg)}.flowdown .fd-diagram-action[data-copied]{color:var(--fd-success)}.flowdown .fd-diagram-action svg{width:.95rem;height:.95rem}.flowdown .fd-diagram-viewer{box-sizing:border-box;border:1px solid var(--fd-border);border-radius:var(--fd-radius);background:var(--fd-bg);width:min(80rem,100vw - 2rem);max-width:none;height:min(60rem,100dvh - 2rem);max-height:none;color:var(--fd-fg);margin:auto;padding:0;overflow:hidden}.flowdown .fd-diagram-viewer[open]{flex-direction:column;display:flex}.flowdown .fd-diagram-viewer::backdrop{background:#00000073}.flowdown .fd-diagram-viewer-bar{border-bottom:1px solid var(--fd-border-subtle);flex:none;align-items:center;gap:.125rem;padding:.35rem;display:flex}.flowdown .fd-diagram-zoom{font-variant-numeric:tabular-nums;min-width:3.5rem;font-size:.8em}.flowdown .fd-diagram-close{margin-left:auto}.flowdown .fd-diagram-stage{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.flowdown .fd-diagram-stage[data-moving]{cursor:grabbing}.flowdown .fd-diagram-stage:focus-visible{outline-offset:-2px}.flowdown .fd-diagram-viewer-canvas{transform-origin:50%;transition:transform var(--fd-duration-slow) var(--fd-ease);flex:none}.flowdown .fd-diagram-stage[data-moving] .fd-diagram-viewer-canvas{transition:none}.flowdown .fd-diagram-viewer-canvas svg{width:100%;height:100%;display:block;max-width:none!important}@media (hover:none),(pointer:coarse){.flowdown .fd-diagram-actions{opacity:1}}@media (pointer:coarse){.flowdown .fd-diagram-action{min-width:2.75rem;height:2.75rem}}@media (max-width:40rem){.flowdown .fd-diagram-viewer{border:0;border-radius:0;width:100vw;height:100dvh}}@media (prefers-reduced-motion:reduce){.flowdown :is(.fd-diagram-actions,.fd-diagram-viewer-canvas){transition:none}}.flowdown{--fd-fg:var(--soft);--fd-fg-soft:var(--soft);--fd-fg-faint:var(--muted);--fd-bg:var(--black);--fd-border:var(--line-strong);--fd-border-subtle:var(--line);--fd-border-strong:var(--faint);--fd-link:var(--link);--fd-focus:var(--white);--fd-success:var(--tk-ok);--fd-danger:var(--tk-bad);--fd-warning:var(--tk-flag);--fd-info:var(--tk-key);--fd-important:var(--tk-num);--fd-code-bg:var(--code);--fd-code-fg:var(--panel-text);--fd-code-comment:var(--tk-dim);--fd-code-keyword:var(--tk-key);--fd-code-string:var(--tk-str);--fd-code-number:var(--tk-num);--fd-code-function:var(--tk-flag);--fd-code-type:var(--tk-var);--fd-code-tag:var(--tk-key);--fd-font-heading:var(--display);--fd-font-mono:var(--mono);--fd-radius:var(--radius);--fd-ease:var(--ease-out)}.prose{color:color-mix(in oklch, var(--white) 84%, var(--black));overflow-wrap:break-word;font-size:1.125rem;line-height:1.75}.prose>:first-child{margin-top:0}.prose :is(p,ul,ol,.fd-code,.fd-table,.fd-callout,.fd-tabs,.fd-figure){margin:0 0 1.2rem}.prose :is(h2,h3,h4){color:var(--white);text-wrap:balance;scroll-margin-top:4.25rem}.prose h2{font:600 1.5rem/1.3 var(--display);letter-spacing:-.02em;margin:3rem 0 1rem}.prose h3{font:600 1.2rem/1.3 var(--display);letter-spacing:-.01em;margin:1.75rem 0 .6rem}.prose .hash{color:var(--faint);opacity:0;margin-left:.45rem;transition:opacity .16s}.prose :is(h2,h3):hover .hash{opacity:1}.prose strong{color:var(--white);font-weight:600}.prose a:not(.hash){color:var(--link);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--link) 55%, transparent);text-decoration-color:color-mix(in oklch, var(--link) 55%, transparent);text-underline-offset:.2em;text-decoration-thickness:1px;transition:text-decoration-color .16s}.prose a:not(.hash):hover{-webkit-text-decoration-color:var(--link);text-decoration-color:var(--link)}.prose :is(ul,ol){padding-left:1.3rem}.prose li{margin:.4rem 0;padding-left:.2rem}.prose li::marker{color:var(--muted)}.prose li>:is(ul,ol,.fd-code){margin:.6rem 0 .4rem}.prose li>p{margin:0}.prose :not(pre)>code{background:color-mix(in oklch, var(--white) 9%, transparent);color:var(--white);overflow-wrap:break-word;border-radius:5px;padding:.12em .38em;font-size:.85em}.prose a>code{-webkit-text-decoration:inherit;text-decoration:inherit}.prose .nobr{white-space:nowrap}@media (min-width:80rem){.prose .contents{display:none}}.prose .fd-code{border:1px solid var(--line);border-radius:10px;overflow:hidden}.prose .fd-code-bar{min-height:2.25rem;color:var(--muted);font:400 .8125rem/1 var(--text);border-bottom:0;padding:.3rem .5rem 0 1.1rem}.prose .fd-code-language{color:var(--muted);font:400 .8125rem/1 var(--text);letter-spacing:0;text-transform:none}.prose .fd-code-copy{width:auto;height:1.75rem;color:var(--soft);font:500 .8125rem/1 var(--text);border-radius:6px;padding:0 .5rem;transition:color .16s,background-color .16s}.prose .fd-code-copy svg{display:none}.prose .fd-code-copy:after{content:"Copy"}.prose .fd-code-copy:hover{background:color-mix(in oklch, var(--white) 8%, transparent);color:var(--white)}.prose .fd-code-copy[data-copied]{color:var(--tk-ok)}.prose .fd-code-copy[data-copied]:after{content:"Copied"}.prose pre{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;max-height:min(32rem,70vh);font:400 .875rem/1.65 var(--mono);padding:.75rem 1.1rem 1rem}.prose .hljs-comment{font-style:italic}.prose .fd-table{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.55}.prose .fd-table :is(th,td){border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.7rem .75rem}.prose .fd-table th{border-bottom-color:var(--line-strong);color:var(--white);white-space:nowrap;background:0 0;font-weight:600}.prose .fd-table :is(th,td):first-child{padding-left:0}.prose .fd-table :is(th,td):last-child{padding-right:0}.prose table:has(th:nth-child(4)) td{min-width:9rem}
