h1,h2,h3,h4,h5,h6{margin-top:1.5em;margin-bottom:1rem;line-height:1.25}h1,h2,h3{font-weight:700}h4,h5,h6{font-weight:600}h1{color:var(--color-primary-light)}p,ul,ol,blockquote,pre{margin-block:1rem}figure,table,hr,div.callout{margin-block:2rem}img{width:100%}figcaption{color:var(--color-text-dimmed);font-size:80%;font-style:italic;text-align:center}blockquote{padding:0 1rem;color:var(--color-text-dimmed);border-left:.25rem solid var(--color-text-dimmer)}code{padding:.2rem .4rem;margin:0;font-size:85%;background-color:var(--color-surface);border-radius:4px;font-family:var(--font-cascadia-code)}pre{max-width:100%;padding:1em 0;overflow:auto;line-height:1.45;min-height:1.45rem;border-radius:4px;white-space:pre;--color-highlight: #eab30830;--color-diff-add: #22c55e30;--color-diff-add-icon: #22c55e;--color-diff-remove: #ef444430;--color-diff-remove-icon: #ef4444}pre code{display:block;background-color:transparent;padding:0;width:max-content;min-width:100%;position:relative}pre .line{display:inline-block;min-width:100%;padding:.1em 1.25em}pre .line.highlighted,pre .line.highlighted-word{background-color:var(--color-highlight);font-weight:700}pre .line.highlighted-word{padding:.1em .2em;border-radius:4px}pre .line.diff.add{background-color:var(--color-diff-add)}pre .line.diff.remove{background-color:var(--color-diff-remove)}pre .line.diff.add:before,pre .line.diff.remove:before{position:absolute;left:.3em;font-weight:700;user-select:none}pre .line.diff.add:before{content:"+";color:#22c55e}pre .line.diff.remove:before{content:"-";color:var(--color-diff-remove-icon)}table{border-spacing:0;border-collapse:collapse;width:100%}table th,table td{padding:.4em 1em;border:2px solid var(--color-text-dimmer)}table th{background-color:var(--color-surface)}hr{width:95%;margin-inline:auto;border-color:var(--color-surface)}a[target=_blank]:after{font-family:"Font Awesome 7 Free";font-weight:900;content:"";margin-left:.4em;font-size:70%;vertical-align:middle;text-decoration:none;display:inline-block;position:relative;top:-2px}div.callout{padding:1.5rem 1.5rem .75rem}.callout-content{font-size:85%;line-height:1.6}#blog-post{font-size:1.25rem}[data-callout=note]{--rc-color-light: var(--callout-note-color-light, rgb(8, 109, 221));--rc-color-dark: var(--callout-note-color-dark, rgb(2, 122, 255))}[data-callout=abstract]{--rc-color-light: var(--callout-abstract-color-light, rgb(0, 191, 188));--rc-color-dark: var(--callout-abstract-color-dark, rgb(83, 223, 221))}[data-callout=summary]{--rc-color-light: var(--callout-summary-color-light, rgb(0, 191, 188));--rc-color-dark: var(--callout-summary-color-dark, rgb(83, 223, 221))}[data-callout=tldr]{--rc-color-light: var(--callout-tldr-color-light, rgb(0, 191, 188));--rc-color-dark: var(--callout-tldr-color-dark, rgb(83, 223, 221))}[data-callout=info]{--rc-color-light: var(--callout-info-color-light, rgb(8, 109, 221));--rc-color-dark: var(--callout-info-color-dark, rgb(2, 122, 255))}[data-callout=todo]{--rc-color-light: var(--callout-todo-color-light, rgb(8, 109, 221));--rc-color-dark: var(--callout-todo-color-dark, rgb(2, 122, 255))}[data-callout=tip]{--rc-color-light: var(--callout-tip-color-light, rgb(0, 191, 188));--rc-color-dark: var(--callout-tip-color-dark, rgb(83, 223, 221))}[data-callout=hint]{--rc-color-light: var(--callout-hint-color-light, rgb(0, 191, 188));--rc-color-dark: var(--callout-hint-color-dark, rgb(83, 223, 221))}[data-callout=important]{--rc-color-light: var(--callout-important-color-light, rgb(0, 191, 188));--rc-color-dark: var(--callout-important-color-dark, rgb(83, 223, 221))}[data-callout=success]{--rc-color-light: var(--callout-success-color-light, rgb(8, 185, 78));--rc-color-dark: var(--callout-success-color-dark, rgb(68, 207, 110))}[data-callout=check]{--rc-color-light: var(--callout-check-color-light, rgb(8, 185, 78));--rc-color-dark: var(--callout-check-color-dark, rgb(68, 207, 110))}[data-callout=done]{--rc-color-light: var(--callout-done-color-light, rgb(8, 185, 78));--rc-color-dark: var(--callout-done-color-dark, rgb(68, 207, 110))}[data-callout=question]{--rc-color-light: var(--callout-question-color-light, rgb(236, 117, 0));--rc-color-dark: var(--callout-question-color-dark, rgb(233, 151, 63))}[data-callout=help]{--rc-color-light: var(--callout-help-color-light, rgb(236, 117, 0));--rc-color-dark: var(--callout-help-color-dark, rgb(233, 151, 63))}[data-callout=faq]{--rc-color-light: var(--callout-faq-color-light, rgb(236, 117, 0));--rc-color-dark: var(--callout-faq-color-dark, rgb(233, 151, 63))}[data-callout=warning]{--rc-color-light: var(--callout-warning-color-light, rgb(236, 117, 0));--rc-color-dark: var(--callout-warning-color-dark, rgb(233, 151, 63))}[data-callout=attention]{--rc-color-light: var(--callout-attention-color-light, rgb(236, 117, 0));--rc-color-dark: var(--callout-attention-color-dark, rgb(233, 151, 63))}[data-callout=caution]{--rc-color-light: var(--callout-caution-color-light, rgb(236, 117, 0));--rc-color-dark: var(--callout-caution-color-dark, rgb(233, 151, 63))}[data-callout=failure]{--rc-color-light: var(--callout-failure-color-light, rgb(233, 49, 71));--rc-color-dark: var(--callout-failure-color-dark, rgb(251, 70, 76))}[data-callout=missing]{--rc-color-light: var(--callout-missing-color-light, rgb(233, 49, 71));--rc-color-dark: var(--callout-missing-color-dark, rgb(251, 70, 76))}[data-callout=fail]{--rc-color-light: var(--callout-fail-color-light, rgb(233, 49, 71));--rc-color-dark: var(--callout-fail-color-dark, rgb(251, 70, 76))}[data-callout=danger]{--rc-color-light: var(--callout-danger-color-light, rgb(233, 49, 71));--rc-color-dark: var(--callout-danger-color-dark, rgb(251, 70, 76))}[data-callout=error]{--rc-color-light: var(--callout-error-color-light, rgb(233, 49, 71));--rc-color-dark: var(--callout-error-color-dark, rgb(251, 70, 76))}[data-callout=bug]{--rc-color-light: var(--callout-bug-color-light, rgb(233, 49, 71));--rc-color-dark: var(--callout-bug-color-dark, rgb(251, 70, 76))}[data-callout=example]{--rc-color-light: var(--callout-example-color-light, rgb(120, 82, 238));--rc-color-dark: var(--callout-example-color-dark, rgb(168, 130, 255))}[data-callout=quote]{--rc-color-light: var(--callout-quote-color-light, rgb(158, 158, 158));--rc-color-dark: var(--callout-quote-color-dark, rgb(158, 158, 158))}[data-callout=cite]{--rc-color-light: var(--callout-cite-color-light, rgb(158, 158, 158));--rc-color-dark: var(--callout-cite-color-dark, rgb(158, 158, 158))}.callout{--rc-color-default: #888;overflow:hidden;width:100%;padding:12px 12px 12px 24px;border-radius:4px;margin:1em 0;line-height:1.3;mix-blend-mode:darken;background-color:rgb(from var(--rc-color-light, var(--rc-color-default)) r g b / .1)}.dark .callout{mix-blend-mode:lighten;background-color:rgb(from var(--rc-color-dark, var(--rc-color-default)) r g b / .1)}.callout-title{display:flex;align-items:flex-start;gap:4px;color:var(--rc-color-light, var(--rc-color-default));font-size:inherit}.dark .callout-title{color:var(--rc-color-dark, var(--rc-color-default))}.callout-title::-webkit-details-marker{display:none}.callout-title-icon{display:flex;flex:0 0 auto;align-items:center}.callout-title-text{color:inherit;font-weight:600}.callout-content{overflow-x:auto;padding:0;background-color:transparent}.callout[data-collapsible=true] .callout-title{cursor:pointer}.callout[data-collapsible=true] .callout-fold-icon{display:flex;align-items:center;padding-inline-end:8px}.callout[data-collapsible=true]>.callout-title .callout-fold-icon svg{transform:rotate(-90deg);transition:transform .1s ease-in-out}.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{width:18px;height:18px}#cover[data-astro-cid-2q5oecfc]{width:100vw;margin-left:50%;translate:-50% 0;aspect-ratio:21 / 9;object-fit:contain;background-color:var(--color-surface-dark)}#header[data-astro-cid-2q5oecfc]{margin-block:0 2.5em;padding-bottom:2em;border-bottom:1px solid var(--color-border)}#title[data-astro-cid-2q5oecfc]{color:var(--color-primary-light);margin-block:0}#author[data-astro-cid-2q5oecfc]{margin-block:.25rem}#date[data-astro-cid-2q5oecfc] p[data-astro-cid-2q5oecfc]{margin-block:0;color:var(--color-text-dimmer);font-size:80%;font-style:italic}#date[data-astro-cid-2q5oecfc] span[data-astro-cid-2q5oecfc],#description[data-astro-cid-2q5oecfc]{color:var(--color-text-dimmed)}#tags[data-astro-cid-2q5oecfc]{margin-block:.75rem}#content[data-astro-cid-2q5oecfc]{margin-bottom:4em}h1[data-astro-cid-2q5oecfc]{color:var(--color-primary)}
