@import "https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css";@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.medium-zoom-overlay{opacity:0;will-change:opacity;transition:opacity .3s;position:fixed;inset:0}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{cursor:pointer;cursor:zoom-out;will-change:transform;position:relative}[data-callout=note]{--rc-color-light:var(--callout-note-color-light,#8e96aa);--rc-color-dark:var(--callout-note-color-dark,#657585)}[data-callout=tip]{--rc-color-light:var(--callout-tip-color-light,#646cff);--rc-color-dark:var(--callout-tip-color-dark,#646cff)}[data-callout=important]{--rc-color-light:var(--callout-important-color-light,#9f7aea);--rc-color-dark:var(--callout-important-color-dark,#9f7aea)}[data-callout=warning]{--rc-color-light:var(--callout-warning-color-light,#eab308);--rc-color-dark:var(--callout-warning-color-dark,#eab308)}[data-callout=caution]{--rc-color-light:var(--callout-caution-color-light,#f43f5e);--rc-color-dark:var(--callout-caution-color-dark,#f43f5e)}.callout{--rc-color-default:#888;background-color:rgb(from var(--rc-color-light,var(--rc-color-default)) r g b / .14);border:1px solid #0000;border-radius:8px;width:100%;margin:16px 0;padding:16px 16px 8px;font-size:14px;line-height:24px}.dark .callout{background-color:rgb(from var(--rc-color-dark,var(--rc-color-default)) r g b / .16)}.callout-title{font-size:inherit;align-items:flex-start;gap:6px;display:flex}.callout-title::-webkit-details-marker{display:none}.callout-title-icon{flex:none;align-items:center;display:flex}.callout-title-text{font-weight:600}.callout-content p{margin:8px 0}.callout[data-collapsible=true] .callout-title{cursor:pointer;margin:0 0 8px}.callout[data-collapsible=true] .callout-fold-icon{align-items:center;padding-inline-end:8px;display:flex}.callout[data-collapsible=true]>.callout-title .callout-fold-icon svg{transition:transform .1s ease-in-out;transform:rotate(-90deg)}.callout[data-collapsible=true][open]>.callout-title .callout-fold-icon svg{transform:none}.callout-title-icon:after,.callout-fold-icon:after{content:"​"}.callout-title-icon svg,.callout-fold-icon svg{stroke-width:2.2px;width:16px;height:16px}:root{--color-text-primary:light-dark(#0a0a0a,#d5d5d6);--color-text-secondary:light-dark(#52525b,#a1a1aa);--color-text-muted:light-dark(#6b7280,#9ca3af);--color-heading:light-dark(#0a0a0a,#d5d5d6);--color-link:light-dark(#0a0a0a,#e5e7eb);--color-link-hover:light-dark(#1f2937,#f3f4f6);--color-anchor:light-dark(#6366f1,#818cf8);--color-bg-inline-code:light-dark(#f1f3f5,#1e1e20);--color-text-inline-code:light-dark(#3b4252,#c9d1d9);--color-bg-polaroid:#fff;--color-border-light:light-dark(#e9edf2,#2b2b30);--color-border-medium:#555;--color-border-blockquote:light-dark(#e6ebf2,#3a3a40);--shadow-polaroid:0 5px 15px #00000026;--shadow-polaroid-hover:0 8px 20px #0003;--shadow-polaroid-dark:0 5px 15px #0000004d;--font-family-handwritten:"Comic Sans MS", cursive;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:3rem;--radius-sm:.25rem;--radius-md:.375rem;--transition-fast:.3s ease;--transition-medium:.3s ease-in-out}.markdown{color:var(--color-text-secondary);font-size:1rem;line-height:1.75;& :is(p,li,blockquote){text-wrap:wrap}&>:first-child{margin-block-start:0}&>:last-child{margin-block-end:0}}.markdown{& :is(h1,h2,h3,h4,h5,h6){color:var(--color-heading);font-family:var(--font-sans);scroll-margin-top:6rem;font-weight:600;&:is(:hover,:focus) .header-anchor{opacity:.6}}& h1{margin-block:0 1em;font-size:clamp(1.75em,4vw,2em);line-height:1.11111}& h2{margin-block:1.5em .75em;font-size:clamp(1.375em,3vw,1.5em);line-height:1.33333}& h3{margin-block:1.25em .5em;font-size:clamp(1.175em,2.5vw,1.25em);line-height:1.6}& :is(h4,h5,h6){margin-block:1em .375em;font-size:clamp(1em,2vw,1.125em);line-height:1.4}& :is(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6){margin-block-start:.75em}& h1+h2,& h2+h3,& h3+h4,& h4+h5,& h5+h6{margin-block-start:.5em}& h2+h2,& h3+h3,& h4+h4{margin-block-start:1em}}.markdown{& p{margin-block:1.25em;font-size:1em}& :is(strong,b){color:var(--color-text-primary);font-weight:600}& :is(em,i){color:inherit;font-size:1.05em}& a:not(.card-github){color:var(--color-link);border-block-end:1px solid var(--color-border-light);transition:border-color var(--transition-medium);text-decoration:none;&:hover{border-block-end-color:var(--color-border-medium)}& code{color:inherit}}}.markdown{& :is(ol,ul){margin-block:1.25em;list-style:none}& li{margin-block:.5em;padding-inline-start:1.25em;position:relative}& ol>li:before{content:counter(list-item) ".";font-weight:400;position:absolute;inset-inline-start:0}& ul>li:before{content:"";background-color:var(--color-text-secondary);opacity:.8;border-radius:50%;block-size:.4em;inline-size:.4em;position:absolute;inset-block-start:.675em;inset-inline-start:.2em}& :is(ul,ol) :is(ul,ol){margin-block:.75em}}.markdown{& ul.contains-task-list{padding-inline-start:0;&>li:before{display:none}}& li.task-list-item{align-items:flex-start;gap:var(--space-sm);padding-inline-start:0;display:flex;& input[type=checkbox]{border:1px solid var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;block-size:1em;inline-size:1em;margin-block-start:.3em;&:checked{background-color:var(--color-anchor);border-color:var(--color-anchor)}}}}.markdown{& blockquote{color:inherit;border-inline-start:.25rem solid var(--color-border-blockquote);quotes:"“" "”" "‘" "’";margin-block:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500;&>*{opacity:.7;&:first-child{margin-block-start:0}&:last-child{margin-block-end:0}}& p:first-of-type:before{content:open-quote}& p:last-of-type:after{content:close-quote}}}.markdown{& :where(code):not(:where(pre *,a *)){background-color:var(--color-bg-inline-code);color:var(--color-text-inline-code);font-family:var(--font-geist-mono);word-wrap:break-word;padding-block:.1rem;padding-inline:.3rem;font-size:.875em;font-weight:500}& pre{border-radius:var(--radius-md);margin-block:1.71429em;padding:.857143em 1.14286em;font-size:.9375em;line-height:1.71429;overflow-x:auto;& code{color:inherit;font-weight:400;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;padding:0;border:none!important;&:before,&:after{content:none}}}}.markdown{& img{margin-block:var(--space-xl);will-change:transform, filter;transition:filter var(--transition-fast);margin-inline:auto;&.medium-zoom-image{transition:filter var(--transition-fast), transform var(--transition-fast)!important}&:not(.noDarken){filter:none}&:hover:not(.medium-zoom-image--opened):not(.noDarken){filter:none!important}}& video{margin-block:var(--space-xl)}& figure{margin-block:var(--space-xl);&>*,& img{margin-block:0}& figcaption{color:var(--color-text-muted);text-align:center;margin-block-start:.857143em;font-size:.875em;line-height:1.42857}}}.dark .markdown img:not(.noDarken){filter:brightness(.75)contrast(1.1)}.markdown{& table{table-layout:auto;text-align:left;border-collapse:collapse;width:100%;font-size:.9375em;line-height:1.71429}& thead{color:var(--color-text-primary);border-block-end:1px solid var(--color-border-light);font-weight:600;& th{vertical-align:bottom;white-space:nowrap;padding:.571429em;&:first-child{padding-inline-start:0}&:last-child{padding-inline-end:0}}}& tbody{& tr{border-block-end:1px solid var(--color-border-light);&:last-child{border-block-end:none}}& td{vertical-align:top;padding:.571429em;&:first-child{white-space:nowrap;padding-inline-start:0}&:last-child{padding-inline-end:0}}}}image-div-polaroid{margin-block:var(--space-xl);justify-content:center;align-items:center;display:flex}image-figure-polaroid{background:var(--color-bg-polaroid);padding:var(--space-md);box-shadow:var(--shadow-polaroid);transition:all var(--transition-fast);inline-size:min(55%,300px);min-inline-size:300px;padding-block-end:var(--space-xl);display:inline-block;transform:rotate(-1deg);&:hover{box-shadow:var(--shadow-polaroid-hover);transform:rotate(0)scale(1.02)}& img{border-radius:3px;filter:contrast(1.1)saturate(1.1)!important}& p{font-family:var(--font-family-handwritten);color:#666;text-align:center;margin-block-start:var(--space-md);font-size:1rem}}.dark image-figure-polaroid{box-shadow:var(--shadow-polaroid-dark)}.markdown hr{border:none;border-block-start:1px solid var(--color-border-light);margin-block:var(--space-xl) auto}.markdown a.header-anchor{float:inline-start;opacity:0;color:var(--color-anchor);transition:opacity var(--transition-fast);margin-inline-start:-1.5em;font-size:.7em;text-decoration:none;border:none!important;&:is(:hover,:focus){color:var(--color-anchor);opacity:1;text-decoration:none}}.markdown .footnotes{color:var(--color-text-secondary);opacity:.9;margin-block-start:var(--space-3xl);font-size:.875em;&:before{content:"";border-block-start:1px solid var(--color-border-light);inline-size:100%;margin-block-end:1.5em;display:block}& li{margin-block:.5em;& p{margin:0}}& .data-footnote-backref{opacity:.7;cursor:pointer;border:none;text-decoration:none;&:hover{opacity:1}}}.markdown{& details{margin-block:1.25em;&:not(.expressive-code *){margin-block:1.25em}& summary{cursor:pointer;padding-inline-start:1px}}& li details{margin-block:.5em}}.medium-zoom-overlay,.medium-zoom-image--opened{z-index:300}.callout{border-radius:0;padding-inline-start:16px;font-size:15px;& p{margin-block:var(--space-md)}}.markdown .callout[data-callout=note]{--accent:#64748b}.markdown .callout[data-callout=tip]{--accent:#3b82f6}.markdown .callout[data-callout=important]{--accent:#8b5cf6}.markdown .callout[data-callout=warning]{--accent:#f59e0b}.markdown .callout[data-callout=caution]{--accent:#ef4444}.markdown .callout :where(code):not(:where(pre *,a *)){background:color-mix(in srgb, var(--accent,#6b7280) 12%, transparent);color:inherit;padding-block:.1rem;padding-inline:.3rem}.dark .markdown .callout :where(code):not(:where(pre *,a *)){background:color-mix(in srgb, var(--accent,#9ca3af) 14%, transparent)}.callout-title-icon{padding-inline-end:2px}.expressive-code{margin-block:1em;& .copy button{block-size:2rem!important;inline-size:2rem!important;&:before{display:none}&:after{opacity:.5!important;block-size:1rem!important;inline-size:1rem!important}&:is(:hover,:active):after{opacity:1!important}}& .copy .feedback{border-width:0;font-size:14px}& .ec-section summary{& .code{align-items:center;display:flex}& svg{display:inline-block}}& .gutter .ln{padding-inline:1ch!important}& pre{border-radius:0;margin:0;padding:0}& .frame{box-shadow:none;border:0;border-radius:.5rem;overflow:hidden}& .frame.has-title:not(.is-terminal) .header{background:#0d1117;border:0;&:before,&:after{display:none}& .title{color:#8b949e;font-family:var(--font-mono);letter-spacing:.04em;background:0 0;border:0;font-size:.75rem;&:after{display:none}}}}@media (width<=768px){image-figure-polaroid{margin-inline:10%}.markdown{font-size:.9375rem;& a.header-anchor{font-size:.75em}& table{-webkit-overflow-scrolling:touch;inline-size:100%;font-size:.875em;display:block;overflow-x:auto;& :is(th,td){min-inline-size:8em;padding:.5em}& td{word-break:break-word}}& pre{margin-block:1.5em;padding:1em;font-size:.875em}& blockquote{margin-block:1.25em;padding-inline-start:.875em}& :is(img,video){margin-block:1.5em}}}@container (width<=600px){.markdown{& h1{font-size:1.75em}& h2{font-size:1.375em}& h3{font-size:1.175em}}}.img-light{display:block}.img-dark,.dark .img-light{display:none}.dark .img-dark{display:block}.markdown .katex-display{max-inline-size:100%;padding-block:.5em;overflow:auto hidden;&>.katex{max-inline-size:100%;&>.katex-html{max-inline-size:100%;padding-inline:.25em;overflow:auto hidden}}}.new-tab-icon{margin-block-end:.3rem;margin-inline-start:.1rem;font-size:.6em}.external-link-cursor{cursor:var(--external-link-cursor)}.rds-badge{border-radius:var(--radius-sm);color:#fff;text-transform:uppercase;background-color:#a8a29e;margin-inline-end:.5rem;padding:.125rem .375rem;font-size:.75rem;line-height:1rem;display:inline-block;&[data-badge=n]{background-color:#f87171}}.dark .rds-badge{color:#000}.dark .rds-badge[data-badge=n]{background-color:#fecaca}:is([data-link=github-acct],[data-link=github-repo],[data-link=custom-url],[data-link=npm-pkg])>img{border-radius:0;block-size:1em;inline-size:1em;margin:0;margin-block-end:.1em;margin-inline-end:.3em;display:inline-block}.rds-video{z-index:150;aspect-ratio:16/9;inline-size:100%;margin-block:var(--space-xl);position:relative;transform:scale(1)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}image-figure-polaroid{transition:none}}.markdown a{overflow-wrap:anywhere;word-break:break-word;white-space:normal}.markdown pre,.markdown code{white-space:pre-wrap;word-break:break-word}[data-lqip]{--lqip-c:attr(data-lqip type(<color>), white)}[style*=--lqip\:]{--lqip-c:var(--lqip)}[style*=--lqip\:],[data-lqip]{--lqip-c0:color(from var(--lqip-c) srgb calc(round(down, r * 255 / pow(2, 4)) / 15) calc(mod(round(down, r * 255), pow(2, 4)) / 15) calc(round(down, g * 255 / pow(2, 5)) / 7) / 1);--lqip-c1:color(from var(--lqip-c) srgb calc(mod(round(down, g * 255 / 2), pow(2, 4)) / 15) calc(((mod(round(down, g * 255), 2) * pow(2, 3)) + (round(down, b * 255 / pow(2, 5)))) / 15) calc(mod(round(down, b * 255 / pow(2, 2)), pow(2, 3)) / 7) / 1);--lqip-c2:color(from var(--lqip-c) srgb calc((((mod(round(down, b * 255), pow(2, 2)) * 2)) + round(down, alpha * 255 / pow(2, 7))) / 7) calc(mod(round(down, alpha * 255 / pow(2, 3)), pow(2, 4)) / 15) calc(mod(round(down, alpha * 255), pow(2, 3)) / 7) / 1);background:radial-gradient(150% 75% at 80% 100%, var(--lqip-c2), rgb(from var(--lqip-c2) r g b / 98%) 10%, rgb(from var(--lqip-c2) r g b / 92%) 20%, rgb(from var(--lqip-c2) r g b / 82%) 30%, rgb(from var(--lqip-c2) r g b / 68%) 40%, rgb(from var(--lqip-c2) r g b / 32%) 60%, rgb(from var(--lqip-c2) r g b / 18%) 70%, rgb(from var(--lqip-c2) r g b / 8%) 80%, rgb(from var(--lqip-c2) r g b / 2%) 90%, transparent), radial-gradient(100% 75% at 40% 50%, var(--lqip-c1), rgb(from var(--lqip-c1) r g b / 98%) 10%, rgb(from var(--lqip-c1) r g b / 92%) 20%, rgb(from var(--lqip-c1) r g b / 82%) 30%, rgb(from var(--lqip-c1) r g b / 68%) 40%, rgb(from var(--lqip-c1) r g b / 32%) 60%, rgb(from var(--lqip-c1) r g b / 18%) 70%, rgb(from var(--lqip-c1) r g b / 8%) 80%, rgb(from var(--lqip-c1) r g b / 2%) 90%, transparent), var(--lqip-c0)}.github-card-wrapper{margin:1.5rem 0;display:block}.card-github{border:1px solid hsl(var(--border));background:hsl(var(--background));color:inherit;box-shadow:none;border-radius:4px;padding:1rem;text-decoration:none;transition:all .2s;display:block}.card-github:hover{background:hsl(var(--accent));border-color:hsl(var(--border));box-shadow:none}.gc-titlebar{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.gc-titlebar-left{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.gc-owner{align-items:center;gap:.5rem;min-width:0;display:flex}.gc-avatar{background-color:#e1e4e8;background-position:50%;background-size:cover;border-radius:50%;flex-shrink:0;width:24px;height:24px}.gc-user{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:500;overflow:hidden}.gc-divider{color:hsl(var(--muted-foreground) / .6);flex-shrink:0;font-size:1rem;font-weight:300}.gc-repo{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.github-logo{color:hsl(var(--muted-foreground));flex-shrink:0;align-items:center;display:flex}.github-logo svg{width:22px;height:22px}.gc-description{color:hsl(var(--muted-foreground));min-height:1.5em;margin-bottom:.75rem;font-size:.9375rem;line-height:1.5}.gc-infobar{color:hsl(var(--muted-foreground));flex-wrap:wrap;align-items:center;gap:1rem;font-size:.8125rem;display:flex}.gc-stars,.gc-forks,.gc-license{align-items:center;gap:.375rem;display:flex}.gc-stars svg,.gc-forks svg,.gc-license svg{flex-shrink:0;width:17px;height:17px}.card-github.fetch-waiting{opacity:.7;pointer-events:none}.card-github.fetch-waiting .gc-description:after{content:"...";animation:1.5s steps(3,end) infinite dots}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.card-github.fetch-error{background-color:#cf222e0d;border-color:#cf222e4d}.card-github.fetch-error .gc-description{color:#cf222e}.github-card-error{color:#cf222e;background-color:#cf222e1a;border-left:3px solid #cf222e;border-radius:4px;margin:1rem 0;padding:.75rem 1rem;font-size:.875rem}.dark .gc-avatar{background-color:#30363d}.dark .card-github.fetch-error{background-color:#f851491a;border-color:#f851494d}.dark .card-github.fetch-error .gc-description{color:#f85149}.dark .github-card-error{color:#f85149;background-color:#f851491a;border-left-color:#f85149}@media (width<=640px){.gc-titlebar-left{flex-wrap:wrap}}
