:root,::backdrop {
    --sl-color-white: hsl(0, 0%, 100%);
    --sl-color-gray-1: hsl(224, 20%, 94%);
    --sl-color-gray-2: hsl(224, 6%, 77%);
    --sl-color-gray-3: hsl(224, 6%, 56%);
    --sl-color-gray-4: hsl(224, 7%, 36%);
    --sl-color-gray-5: hsl(224, 10%, 23%);
    --sl-color-gray-6: hsl(224, 14%, 16%);
    --sl-color-black: hsl(224, 10%, 10%);
    --sl-hue-orange: 41;
    --sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);
    --sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);
    --sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);
    --sl-hue-green: 101;
    --sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);
    --sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);
    --sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);
    --sl-hue-blue: 234;
    --sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);
    --sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);
    --sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);
    --sl-hue-purple: 281;
    --sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);
    --sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);
    --sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);
    --sl-hue-red: 339;
    --sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);
    --sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);
    --sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);
    --sl-color-accent-low: hsl(224, 54%, 20%);
    --sl-color-accent: hsl(224, 100%, 60%);
    --sl-color-accent-high: hsl(224, 100%, 85%);
    --sl-color-text: var(--sl-color-gray-2);
    --sl-color-text-accent: var(--sl-color-accent-high);
    --sl-color-text-invert: var(--sl-color-accent-low);
    --sl-color-bg: var(--sl-color-black);
    --sl-color-bg-nav: var(--sl-color-gray-6);
    --sl-color-bg-sidebar: var(--sl-color-gray-6);
    --sl-color-bg-inline-code: var(--sl-color-gray-5);
    --sl-color-bg-accent: var(--sl-color-accent-high);
    --sl-color-hairline-light: var(--sl-color-gray-5);
    --sl-color-hairline: var(--sl-color-gray-6);
    --sl-color-hairline-shade: var(--sl-color-black);
    --sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);
    --sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);
    --sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);
    --sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);
    --sl-text-2xs: .75rem;
    --sl-text-xs: .8125rem;
    --sl-text-sm: .875rem;
    --sl-text-base: 1rem;
    --sl-text-lg: 1.125rem;
    --sl-text-xl: 1.25rem;
    --sl-text-2xl: 1.5rem;
    --sl-text-3xl: 1.8125rem;
    --sl-text-4xl: 2.1875rem;
    --sl-text-5xl: 2.625rem;
    --sl-text-6xl: 4rem;
    --sl-text-body: var(--sl-text-base);
    --sl-text-body-sm: var(--sl-text-xs);
    --sl-text-code: var(--sl-text-sm);
    --sl-text-code-sm: var(--sl-text-xs);
    --sl-text-h1: var(--sl-text-4xl);
    --sl-text-h2: var(--sl-text-3xl);
    --sl-text-h3: var(--sl-text-2xl);
    --sl-text-h4: var(--sl-text-xl);
    --sl-text-h5: var(--sl-text-lg);
    --sl-line-height: 1.75;
    --sl-line-height-headings: 1.2;
    --sl-font-system: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);
    --__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);
    --sl-nav-height: 3.5rem;
    --sl-nav-pad-x: 1rem;
    --sl-nav-pad-y: .75rem;
    --sl-mobile-toc-height: 3rem;
    --sl-sidebar-width: 18.75rem;
    --sl-sidebar-pad-x: 1rem;
    --sl-content-width: 45rem;
    --sl-content-pad-x: 1rem;
    --sl-menu-button-size: 2rem;
    --sl-nav-gap: var(--sl-content-pad-x);
    --sl-outline-offset-inside: -.1875rem;
    --sl-z-index-toc: 4;
    --sl-z-index-menu: 5;
    --sl-z-index-navbar: 10;
    --sl-z-index-skiplink: 20
}

:root[data-pc-theme=light],[data-pc-theme=light] ::backdrop {
    --sl-color-white: hsl(224, 10%, 10%);
    --sl-color-gray-1: hsl(224, 14%, 16%);
    --sl-color-gray-2: hsl(224, 10%, 23%);
    --sl-color-gray-3: hsl(224, 7%, 36%);
    --sl-color-gray-4: hsl(224, 6%, 56%);
    --sl-color-gray-5: hsl(224, 6%, 77%);
    --sl-color-gray-6: hsl(224, 20%, 94%);
    --sl-color-gray-7: hsl(224, 19%, 97%);
    --sl-color-black: hsl(0, 0%, 100%);
    --sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);
    --sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);
    --sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);
    --sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);
    --sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);
    --sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);
    --sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);
    --sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);
    --sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);
    --sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);
    --sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);
    --sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);
    --sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);
    --sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);
    --sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);
    --sl-color-accent-high: hsl(234, 80%, 30%);
    --sl-color-accent: hsl(234, 90%, 60%);
    --sl-color-accent-low: hsl(234, 88%, 90%);
    --sl-color-text-accent: var(--sl-color-accent);
    --sl-color-text-invert: var(--sl-color-black);
    --sl-color-bg-nav: var(--sl-color-gray-7);
    --sl-color-bg-sidebar: var(--sl-color-bg);
    --sl-color-bg-inline-code: var(--sl-color-gray-6);
    --sl-color-bg-accent: var(--sl-color-accent);
    --sl-color-hairline-light: var(--sl-color-gray-6);
    --sl-color-hairline-shade: var(--sl-color-gray-6);
    --sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);
    --sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);
    --sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);
    --sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)
}

@media (min-width: 50em) {
    :root {
        --sl-nav-height: 4rem;
        --sl-nav-pad-x: 1.5rem;
        --sl-text-h1: var(--sl-text-5xl);
        --sl-text-h2: var(--sl-text-4xl);
        --sl-text-h3: var(--sl-text-3xl);
        --sl-text-h4: var(--sl-text-2xl)
    }
}

@media (min-width: 72rem) {
    :root {
        --sl-content-pad-x: 1.5rem;
        --sl-mobile-toc-height: 0rem
    }
}

*,*:before,*:after {
    box-sizing: border-box
}

* {
    margin: 0
}

html {
    color-scheme: dark;
    accent-color: var(--sl-color-accent)
}

html[data-pc-theme=light] {
    color-scheme: light
}

body {
    font-family: var(--__sl-font);
    line-height: var(--sl-line-height);
    -webkit-font-smoothing: antialiased;
    color: var(--sl-color-text);
    background-color: var(--sl-color-bg)
}

input,button,textarea,select {
    font: inherit
}

p,h1,h2,h3,h4,h5,h6,code {
    overflow-wrap: anywhere
}

code {
    font-family: var(--__sl-font-mono)
}

:root {
    --astro-code-color-text: var(--sl-color-white);
    --astro-code-color-background: var(--sl-color-gray-6);
    --astro-code-token-constant: var(--sl-color-blue-high);
    --astro-code-token-string: var(--sl-color-green-high);
    --astro-code-token-comment: var(--sl-color-gray-2);
    --astro-code-token-keyword: var(--sl-color-purple-high);
    --astro-code-token-parameter: var(--sl-color-red-high);
    --astro-code-token-function: var(--sl-color-red-high);
    --astro-code-token-string-expression: var(--sl-color-green-high);
    --astro-code-token-punctuation: var(--sl-color-gray-2);
    --astro-code-token-link: var(--sl-color-blue-high)
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border-width: 0
}

.sl-hidden {
    display: none
}

.sl-flex {
    display: flex
}

.sl-block {
    display: block
}

@media (min-width: 50rem) {
    .md\:sl-hidden {
        display:none
    }

    .md\:sl-flex {
        display: flex
    }

    .md\:sl-block {
        display: block
    }
}

@media (min-width: 72rem) {
    .lg\:sl-hidden {
        display:none
    }

    .lg\:sl-flex {
        display: flex
    }

    .lg\:sl-block {
        display: block
    }
}

[data-pc-theme=light] .light\:sl-hidden,[data-pc-theme=dark] .dark\:sl-hidden {
    display: none
}

[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)) {
    transform: scaleX(-1)
}

.sl-banner:where(.astro-mblltjst) {
    --__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));
    padding: var(--sl-nav-pad-y) var(--sl-nav-pad-x);
    background-color: var(--sl-color-banner-bg, var(--sl-color-bg-accent));
    color: var(--__sl-banner-text);
    line-height: var(--sl-line-height-headings);
    text-align: center;
    text-wrap: balance;
    box-shadow: var(--sl-shadow-sm)
}

.sl-banner:where(.astro-mblltjst) a {
    color: var(--__sl-banner-text)
}

.content-panel:where(.astro-e7uqk4z2) {
    padding: 1.5rem var(--sl-content-pad-x)
}

.content-panel:where(.astro-e7uqk4z2)+.content-panel:where(.astro-e7uqk4z2) {
    border-top: 1px solid var(--sl-color-hairline)
}

.sl-container:where(.astro-e7uqk4z2) {
    max-width: var(--sl-content-width)
}

.sl-container:where(.astro-e7uqk4z2)>*+* {
    margin-top: 1.5rem
}

@media (min-width: 72rem) {
    .sl-container:where(.astro-e7uqk4z2) {
        margin-inline:var(--sl-content-margin-inline, auto)
    }
}

p:where(.astro-htjqkare) {
    border: 1px solid var(--sl-color-orange);
    padding: .75em 1em;
    background-color: var(--sl-color-orange-low);
    color: var(--sl-color-orange-high);
    width: max-content;
    max-width: 100%;
    align-items: center;
    gap: .75em;
    font-size: var(--sl-text-body-sm);
    line-height: var(--sl-line-height-headings)
}

div:where(.astro-dvlentyv) {
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
    font-size: var(--sl-text-sm)
}

a:where(.astro-dvlentyv) {
    gap: .5rem;
    align-items: center;
    text-decoration: none;
    color: var(--sl-color-gray-3)
}

a:where(.astro-dvlentyv):hover {
    color: var(--sl-color-white)
}

.pagination-links:where(.astro-i5iq4e4d) {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(18rem,100%),1fr));
    gap: 1rem
}

a:where(.astro-i5iq4e4d) {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .5rem;
    width: 100%;
    flex-basis: calc(50% - .5rem);
    flex-grow: 1;
    border: 1px solid var(--sl-color-gray-5);
    border-radius: .5rem;
    padding: 1rem;
    text-decoration: none;
    color: var(--sl-color-gray-2);
    box-shadow: var(--sl-shadow-md);
    overflow-wrap: anywhere
}

:where(.astro-i5iq4e4d)[rel=next] {
    justify-content: end;
    text-align: end;
    flex-direction: row-reverse
}

a:where(.astro-i5iq4e4d):hover {
    border-color: var(--sl-color-gray-2)
}

.link-title:where(.astro-i5iq4e4d) {
    color: var(--sl-color-white);
    font-size: var(--sl-text-2xl);
    line-height: var(--sl-line-height-headings)
}

svg:where(.astro-i5iq4e4d) {
    flex-shrink: 0
}

footer:where(.astro-z4ohbyju) {
    flex-direction: column;
    gap: 1.5rem
}

.meta:where(.astro-z4ohbyju) {
    gap: .75rem 3rem;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 3rem;
    font-size: var(--sl-text-sm);
    color: var(--sl-color-gray-3)
}

.meta:where(.astro-z4ohbyju)>p:only-child {
    margin-inline-start:auto}

.kudos:where(.astro-z4ohbyju) {
    align-items: center;
    gap: .5em;
    margin: 1.5rem auto;
    font-size: var(--sl-text-xs);
    text-decoration: none;
    color: var(--sl-color-gray-3)
}

.kudos:where(.astro-z4ohbyju) svg {
    color: var(--sl-color-orange)
}

.kudos:where(.astro-z4ohbyju):hover {
    color: var(--sl-color-white)
}

feedback-form:where(.astro-skt2cqnz) {
    --feedback-form-padding: 1rem;
    --feedback-form-close-icon-size: 1.5rem
}

button:where(.astro-skt2cqnz)[data-open-modal] {
    display: flex;
    align-items: center;
    gap: .5rem;
    color: var(--sl-color-gray-3)
}

button:where(.astro-skt2cqnz)[data-open-modal]:hover {
    color: var(--sl-color-white)
}

dialog:where(.astro-skt2cqnz) {
    font-size: var(--theme-text-base);
    margin: 1.5rem auto auto;
    border: 1px solid var(--sl-color-gray-5);
    border-radius: .5rem;
    width: 32rem;
    background-color: var(--sl-color-gray-6);
    box-shadow: var(--sl-shadow-lg)
}

@media (max-width: 50rem) {
    dialog:where(.astro-skt2cqnz) {
        width:26rem
    }
}

@media (min-width: 30em) {
    dialog:where(.astro-skt2cqnz) {
        margin-top:4rem
    }
}

dialog:where(.astro-skt2cqnz)::backdrop {
    background-color: var(--sl-color-backdrop-overlay);
    backdrop-filter: blur(2px)
}

dialog:where(.astro-skt2cqnz) :where(.astro-skt2cqnz) {
    margin: 0
}

dialog:where(.astro-skt2cqnz) header:where(.astro-skt2cqnz) {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 1rem
}

.dialog-frame:where(.astro-skt2cqnz) {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    text-align: center;
    padding: var(--feedback-form-padding)
}

form:where(.astro-skt2cqnz) {
    display: contents
}

h1:where(.astro-skt2cqnz) {
    padding: 0 calc(var(--feedback-form-close-icon-size) + var(--feedback-form-padding));
    font-size: var(--sl-text-xl);
    font-weight: 700;
    grid-column: 2 / 3
}

fieldset:where(.astro-skt2cqnz) {
    border: 2px solid var(--sl-color-gray-5);
    border-radius: .5rem;
    padding: 0
}

.category-options:where(.astro-skt2cqnz) {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: .75rem
}

.category-option:where(.astro-skt2cqnz) label:where(.astro-skt2cqnz) {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .75rem;
    gap: .25rem;
    font-size: var(--theme-text-xs);
    font-weight: 600;
    outline: 2px solid transparent;
    border: 2px solid transparent;
    border-radius: .5rem;
    cursor: pointer
}

.category-option:where(.astro-skt2cqnz) label:where(.astro-skt2cqnz):hover {
    background-color: var(--theme-bg-hover)
}

.category-option:where(.astro-skt2cqnz) input:where(.astro-skt2cqnz):checked+label:where(.astro-skt2cqnz) {
    background-color: var(--sl-color-blue-low);
    border-color: var(--sl-color-blue-high)
}

dialog:where(.astro-skt2cqnz) :where(.astro-skt2cqnz):focus,.category-option:where(.astro-skt2cqnz) input:where(.astro-skt2cqnz):focus+label:where(.astro-skt2cqnz) {
    outline: 2px solid var(--theme-accent-secondary)
}

.category-option:where(.astro-skt2cqnz) svg:where(.astro-skt2cqnz) {
    color: var(--sl-color-gray-2);
    width: 2.25rem
}

.category-option:where(.astro-skt2cqnz) input:where(.astro-skt2cqnz):checked+label:where(.astro-skt2cqnz) svg:where(.astro-skt2cqnz) {
    color: var(--sl-color-white)
}

textarea:where(.astro-skt2cqnz) {
    border: 2px solid var(--sl-color-gray-5);
    border-radius: .5rem;
    background-color: var(--sl-color-black);
    resize: none;
    line-height: 1.5;
    padding: .5rem;
    font-family: inherit;
    font-size: var(--sl-text-xs)
}

.select-buttons:where(.astro-skt2cqnz) {
    display: grid;
    grid-template-columns: 50% 50%;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem
}

.select-buttons:where(.astro-skt2cqnz)>a:where(.astro-skt2cqnz),.select-buttons:where(.astro-skt2cqnz)>button:where(.astro-skt2cqnz) {
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--sl-color-gray-5);
    border-radius: .5rem 0 0 .5rem;
    background-color: transparent;
    height: 100%;
    font-size: var(--sl-text-2xl);
    cursor: pointer;
    text-decoration: none;
    color: var(--sl-color-white)
}

.select-buttons:where(.astro-skt2cqnz)>button:where(.astro-skt2cqnz) {
    border-radius: 0 .5rem .5rem 0;
    border-left: none
}

.select-buttons:where(.astro-skt2cqnz)>a:where(.astro-skt2cqnz):hover,.select-buttons:where(.astro-skt2cqnz)>button:where(.astro-skt2cqnz):hover {
    background-color: var(--sl-color-gray-5)
}

.select-buttons:where(.astro-skt2cqnz) h2:where(.astro-skt2cqnz) {
    font-size: var(--sl-text-h5);
    font-weight: 600;
    line-height: var(--sl-line-height-headings);
    margin-bottom: .5rem;
    text-decoration: none;
    color: var(--sl-color-white)
}

.select-buttons:where(.astro-skt2cqnz) p:where(.astro-skt2cqnz) {
    font-size: var(--sl-text-xs);
    color: var(--sl-color-gray-2)
}

.select-buttons:where(.astro-skt2cqnz)>:where(.astro-skt2cqnz):hover>p:where(.astro-skt2cqnz),.select-buttons:where(.astro-skt2cqnz)>:where(.astro-skt2cqnz):hover>svg:where(.astro-skt2cqnz) {
    color: var(--sl-color-white)
}

@media (max-width: 50em) {
    .select-buttons:where(.astro-skt2cqnz) {
        flex-direction:column;
        align-items: stretch
    }
}

button:where(.astro-skt2cqnz)[type=submit] {
    background-color: var(--sl-color-white);
    color: var(--sl-color-blue);
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
    font: inherit;
    padding: .5rem;
    border: 0;
    border-radius: 2rem;
    cursor: pointer;
    font-size: var(--sl-text-sm)
}

:root[data-pc-theme=light] button:where(.astro-skt2cqnz)[type=submit] {
    color: #fff
}

form:where(.astro-skt2cqnz):invalid button:where(.astro-skt2cqnz)[type=submit] {
    opacity: .3;
    cursor: not-allowed
}

.success-pane:where(.astro-skt2cqnz) {
    padding: 2rem
}

button:where(.astro-skt2cqnz)[data-close-modal],button:where(.astro-skt2cqnz)[data-back-button] {
    position: absolute;
    top: var(--feedback-form-padding);
    right: var(--feedback-form-padding);
    display: flex;
    border: 0;
    padding: .125rem;
    background-color: transparent;
    width: var(--feedback-form-close-icon-size);
    justify-self: flex-end;
    color: var(--theme-text-lighter);
    cursor: pointer
}

button:where(.astro-skt2cqnz)[data-back-button] {
    left: var(--feedback-form-padding);
    right: initial;
    border: 1px solid var(--sl-color-white);
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    padding: calc(.5rem - 1px) .5rem
}

button:where(.astro-skt2cqnz)[data-close-modal]:hover {
    color: var(--theme-text)
}

button:where(.astro-skt2cqnz)[data-open-modal] {
    background-color: transparent;
    cursor: pointer;
    border: none
}

button:where(.astro-skt2cqnz)[data-open-modal]:focus:not(:focus-visible) {
    background-color: transparent
}

:where(.astro-skt2cqnz)[hidden] {
    display: none
}

section:where(.astro-m2zh2vwj) {
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem 1.5rem;
    font-size: var(--sl-text-sm)
}

a:where(.astro-m2zh2vwj) {
    align-items: center;
    text-decoration: none;
    gap: .5rem;
    color: var(--sl-color-gray-3)
}

a:where(.astro-m2zh2vwj):hover {
    color: var(--sl-color-white)
}

label:where(.astro-eta4quzz) {
    --sl-label-icon-size: .875rem;
    --sl-caret-size: 1.25rem;
    --sl-inline-padding: .5rem;
    position: relative;
    display: flex;
    align-items: center;
    gap: .25rem;
    color: var(--sl-color-gray-1)
}

label:where(.astro-eta4quzz):hover {
    color: var(--sl-color-gray-2)
}

.icon:where(.astro-eta4quzz) {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none
}

.label-icon:where(.astro-eta4quzz) {
    font-size: var(--sl-label-icon-size);
    inset-inline-start: 0
}

.caret:where(.astro-eta4quzz) {
    font-size: var(--sl-caret-size);
    inset-inline-end: 0
}

select:where(.astro-eta4quzz) {
    border: 0;
    padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline: calc(var(--sl-inline-padding) * -1);
    width: calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);
    background-color: transparent;
    text-overflow: ellipsis;
    color: inherit;
    cursor: pointer;
    appearance: none
}

option:where(.astro-eta4quzz) {
    background-color: var(--sl-color-bg-nav);
    color: var(--sl-color-gray-1)
}

@media (min-width: 50rem) {
    select:where(.astro-eta4quzz) {
        font-size:var(--sl-text-sm)
    }
}

/*! @docsearch/css Modal 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
.DocSearch--active {
    overflow: hidden!important
}

.DocSearch-Container,.DocSearch-Container * {
    box-sizing: border-box
}

.DocSearch-Container {
    background-color: var(--docsearch-container-background);
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 200
}

.DocSearch-Container a {
    text-decoration: none
}

.DocSearch-Link {
    appearance: none;
    background: none;
    border: 0;
    color: var(--docsearch-highlight-color);
    cursor: pointer;
    font: inherit;
    margin: 0;
    padding: 0
}

.DocSearch-Modal {
    background: var(--docsearch-modal-background);
    border-radius: 6px;
    box-shadow: var(--docsearch-modal-shadow);
    flex-direction: column;
    margin: 60px auto auto;
    max-width: var(--docsearch-modal-width);
    position: relative
}

.DocSearch-SearchBar {
    display: flex;
    padding: var(--docsearch-spacing) var(--docsearch-spacing) 0
}

.DocSearch-Form {
    align-items: center;
    background: var(--docsearch-searchbox-focus-background);
    border-radius: 4px;
    box-shadow: var(--docsearch-searchbox-shadow);
    display: flex;
    height: var(--docsearch-searchbox-height);
    margin: 0;
    padding: 0 var(--docsearch-spacing);
    position: relative;
    width: 100%
}

.DocSearch-Input {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--docsearch-text-color);
    flex: 1;
    font: inherit;
    font-size: 1.2em;
    height: 100%;
    outline: none;
    padding: 0 0 0 8px;
    width: 80%
}

.DocSearch-Input::placeholder {
    color: var(--docsearch-muted-color);
    opacity: 1
}

.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration {
    display: none
}

.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset {
    margin: 0;
    padding: 0
}

.DocSearch-MagnifierLabel,.DocSearch-Reset {
    align-items: center;
    color: var(--docsearch-highlight-color);
    display: flex;
    justify-content: center
}

.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator {
    display: none
}

.DocSearch-Container--Stalled .DocSearch-LoadingIndicator {
    align-items: center;
    color: var(--docsearch-highlight-color);
    display: flex;
    justify-content: center
}

@media screen and (prefers-reduced-motion:reduce) {
    .DocSearch-Reset {
        animation: none;
        appearance: none;
        background: none;
        border: 0;
        border-radius: 50%;
        color: var(--docsearch-icon-color);
        cursor: pointer;
        right: 0;
        stroke-width: var(--docsearch-icon-stroke-width)
    }
}

.DocSearch-Reset {
    animation: fade-in .1s ease-in forwards;
    appearance: none;
    background: none;
    border: 0;
    border-radius: 50%;
    color: var(--docsearch-icon-color);
    cursor: pointer;
    padding: 2px;
    right: 0;
    stroke-width: var(--docsearch-icon-stroke-width)
}

.DocSearch-Reset[hidden] {
    display: none
}

.DocSearch-Reset:hover {
    color: var(--docsearch-highlight-color)
}

.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg {
    height: 24px;
    width: 24px
}

.DocSearch-Cancel {
    display: none
}

.DocSearch-Dropdown {
    max-height: calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));
    min-height: var(--docsearch-spacing);
    overflow-y: auto;
    overflow-y: overlay;
    padding: 0 var(--docsearch-spacing);
    scrollbar-color: var(--docsearch-muted-color) var(--docsearch-modal-background);
    scrollbar-width: thin
}

.DocSearch-Dropdown::-webkit-scrollbar {
    width: 12px
}

.DocSearch-Dropdown::-webkit-scrollbar-track {
    background: transparent
}

.DocSearch-Dropdown::-webkit-scrollbar-thumb {
    background-color: var(--docsearch-muted-color);
    border: 3px solid var(--docsearch-modal-background);
    border-radius: 20px
}

.DocSearch-Dropdown ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.DocSearch-Label {
    font-size: .75em;
    line-height: 1.6em
}

.DocSearch-Help,.DocSearch-Label {
    color: var(--docsearch-muted-color)
}

.DocSearch-Help {
    font-size: .9em;
    margin: 0;
    user-select: none
}

.DocSearch-Title {
    font-size: 1.2em
}

.DocSearch-Logo a {
    display: flex
}

.DocSearch-Logo svg {
    color: var(--docsearch-logo-color);
    margin-left: 8px
}

.DocSearch-Hits:last-of-type {
    margin-bottom: 24px
}

.DocSearch-Hits mark {
    background: none;
    color: var(--docsearch-highlight-color)
}

.DocSearch-HitsFooter {
    color: var(--docsearch-muted-color);
    display: flex;
    font-size: .85em;
    justify-content: center;
    margin-bottom: var(--docsearch-spacing);
    padding: var(--docsearch-spacing)
}

.DocSearch-HitsFooter a {
    border-bottom: 1px solid;
    color: inherit
}

.DocSearch-Hit {
    border-radius: 4px;
    display: flex;
    padding-bottom: 4px;
    position: relative
}

@media screen and (prefers-reduced-motion:reduce) {
    .DocSearch-Hit--deleting {
        transition: none
    }
}

.DocSearch-Hit--deleting {
    opacity: 0;
    transition: all .25s linear
}

@media screen and (prefers-reduced-motion:reduce) {
    .DocSearch-Hit--favoriting {
        transition: none
    }
}

.DocSearch-Hit--favoriting {
    transform: scale(0);
    transform-origin: top center;
    transition: all .25s linear;
    transition-delay: .25s
}

.DocSearch-Hit a {
    background: var(--docsearch-hit-background);
    border-radius: 4px;
    box-shadow: var(--docsearch-hit-shadow);
    display: block;
    padding-left: var(--docsearch-spacing);
    width: 100%
}

.DocSearch-Hit-source {
    background: var(--docsearch-modal-background);
    color: var(--docsearch-highlight-color);
    font-size: .85em;
    font-weight: 600;
    line-height: 32px;
    margin: 0 -4px;
    padding: 8px 4px 0;
    position: sticky;
    top: 0;
    z-index: 10
}

.DocSearch-Hit-Tree {
    color: var(--docsearch-muted-color);
    height: var(--docsearch-hit-height);
    opacity: .5;
    stroke-width: var(--docsearch-icon-stroke-width);
    width: 24px
}

.DocSearch-Hit[aria-selected=true] a {
    background-color: var(--docsearch-highlight-color)
}

.DocSearch-Hit[aria-selected=true] mark {
    text-decoration: underline
}

.DocSearch-Hit-Container {
    align-items: center;
    color: var(--docsearch-hit-color);
    display: flex;
    flex-direction: row;
    height: var(--docsearch-hit-height);
    padding: 0 var(--docsearch-spacing) 0 0
}

.DocSearch-Hit-icon {
    height: 20px;
    width: 20px
}

.DocSearch-Hit-action,.DocSearch-Hit-icon {
    color: var(--docsearch-muted-color);
    stroke-width: var(--docsearch-icon-stroke-width)
}

.DocSearch-Hit-action {
    align-items: center;
    display: flex;
    height: 22px;
    width: 22px
}

.DocSearch-Hit-action svg {
    display: block;
    height: 18px;
    width: 18px
}

.DocSearch-Hit-action+.DocSearch-Hit-action {
    margin-left: 6px
}

.DocSearch-Hit-action-button {
    appearance: none;
    background: none;
    border: 0;
    border-radius: 50%;
    color: inherit;
    cursor: pointer;
    padding: 2px
}

svg.DocSearch-Hit-Select-Icon {
    display: none
}

.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon {
    display: block
}

.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover {
    background: #0003;
    transition: background-color .1s ease-in
}

@media screen and (prefers-reduced-motion:reduce) {
    .DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover {
        transition: none
    }
}

.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path {
    fill: #fff
}

.DocSearch-Hit-content-wrapper {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    font-weight: 500;
    justify-content: center;
    line-height: 1.2em;
    margin: 0 8px;
    overflow-x: hidden;
    position: relative;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 80%
}

.DocSearch-Hit-title {
    font-size: .9em
}

.DocSearch-Hit-path {
    color: var(--docsearch-muted-color);
    font-size: .75em
}

.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark {
    color: var(--docsearch-hit-active-color)!important
}

@media screen and (prefers-reduced-motion:reduce) {
    .DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover {
        background: #0003;
        transition: none
    }
}

.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen {
    font-size: .9em;
    margin: 0 auto;
    padding: 36px 0;
    text-align: center;
    width: 80%
}

.DocSearch-Screen-Icon {
    color: var(--docsearch-muted-color);
    padding-bottom: 12px
}

.DocSearch-NoResults-Prefill-List {
    display: inline-block;
    padding-bottom: 24px;
    text-align: left
}

.DocSearch-NoResults-Prefill-List ul {
    display: inline-block;
    padding: 8px 0 0
}

.DocSearch-NoResults-Prefill-List li {
    list-style-position: inside;
    list-style-type: "» "
}

.DocSearch-Prefill {
    appearance: none;
    background: none;
    border: 0;
    border-radius: 1em;
    color: var(--docsearch-highlight-color);
    cursor: pointer;
    display: inline-block;
    font-size: 1em;
    font-weight: 700;
    padding: 0
}

.DocSearch-Prefill:focus,.DocSearch-Prefill:hover {
    outline: none;
    text-decoration: underline
}

.DocSearch-Footer {
    align-items: center;
    background: var(--docsearch-footer-background);
    border-radius: 0 0 8px 8px;
    box-shadow: var(--docsearch-footer-shadow);
    display: flex;
    flex-direction: row-reverse;
    flex-shrink: 0;
    height: var(--docsearch-footer-height);
    justify-content: space-between;
    padding: 0 var(--docsearch-spacing);
    position: relative;
    user-select: none;
    width: 100%;
    z-index: 300
}

.DocSearch-Commands {
    color: var(--docsearch-muted-color);
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0
}

.DocSearch-Commands li {
    align-items: center;
    display: flex
}

.DocSearch-Commands li:not(:last-of-type) {
    margin-right: .8em
}

.DocSearch-Commands-Key {
    align-items: center;
    background: var(--docsearch-key-gradient);
    border-radius: 2px;
    box-shadow: var(--docsearch-key-shadow);
    display: flex;
    height: 18px;
    justify-content: center;
    margin-right: .4em;
    padding: 0 0 1px;
    color: var(--docsearch-muted-color);
    border: 0;
    width: 20px
}

@media (max-width: 768px) {
    :root {
        --docsearch-spacing:10px;
        --docsearch-footer-height: 40px
    }

    .DocSearch-Dropdown {
        height: 100%
    }

    .DocSearch-Container {
        height: 100vh;
        height: -webkit-fill-available;
        height: calc(var(--docsearch-vh, 1vh)*100);
        position: absolute
    }

    .DocSearch-Footer {
        border-radius: 0;
        bottom: 0;
        position: absolute
    }

    .DocSearch-Hit-content-wrapper {
        display: flex;
        position: relative;
        width: 80%
    }

    .DocSearch-Modal {
        border-radius: 0;
        box-shadow: none;
        height: 100vh;
        height: -webkit-fill-available;
        height: calc(var(--docsearch-vh, 1vh)*100);
        margin: 0;
        max-width: 100%;
        width: 100%
    }

    .DocSearch-Dropdown {
        max-height: calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))
    }

    .DocSearch-Cancel {
        appearance: none;
        background: none;
        border: 0;
        color: var(--docsearch-highlight-color);
        cursor: pointer;
        display: inline-block;
        flex: none;
        font: inherit;
        font-size: 1em;
        font-weight: 500;
        margin-left: var(--docsearch-spacing);
        outline: none;
        overflow: hidden;
        padding: 0;
        user-select: none;
        white-space: nowrap
    }

    .DocSearch-Commands,.DocSearch-Hit-Tree {
        display: none
    }
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

:root {
    --docsearch-primary-color: var(--sl-color-text-accent);
    --docsearch-text-color: var(--sl-color-text);
    --docsearch-spacing: 12px;
    --docsearch-icon-stroke-width: 1.4;
    --docsearch-highlight-color: var(--docsearch-primary-color);
    --docsearch-muted-color: var(--sl-color-gray-3);
    --docsearch-container-background: var(--sl-color-backdrop-overlay);
    --docsearch-modal-width: 560px;
    --docsearch-modal-height: 600px;
    --docsearch-modal-background: var(--sl-color-gray-6);
    --docsearch-modal-shadow: var(--sl-shadow-lg);
    --docsearch-searchbox-height: 56px;
    --docsearch-searchbox-background: var(--sl-color-gray-7, var(--sl-color-gray-6));
    --docsearch-searchbox-focus-background: var(--sl-color-black);
    --docsearch-searchbox-shadow: inset 0 0 0 1px var(--docsearch-primary-color);
    --docsearch-hit-height: 56px;
    --docsearch-hit-color: var(--sl-color-white);
    --docsearch-hit-active-color: var(--sl-color-black);
    --docsearch-hit-background: var(--sl-color-black);
    --docsearch-key-gradient: linear-gradient( var(--sl-color-bg-inline-code) 0%, var(--sl-color-bg-inline-code) 100% );
    --docsearch-footer-height: 44px;
    --docsearch-footer-background: var(--sl-color-black);
    --docsearch-footer-shadow: 0 -1px 0 0 var(--sl-color-hairline-light)
}

.DocSearch-Modal {
    border: 1px solid var(--sl-color-hairline-light)
}

.DocSearch-Logo svg * {
    fill: var(--docsearch-muted-color)
}

.DocSearch-Button {
    display: flex;
    align-items: center;
    gap: .5rem;
    border: 0;
    background-color: transparent;
    color: var(--sl-color-gray-1);
    cursor: pointer;
    height: 2.5rem;
    font-size: var(--sl-text-xl)
}

.DocSearch-Button-Container {
    display: contents
}

.DocSearch-Search-Icon {
    width: .875em;
    height: .875em;
    stroke-width: .125rem
}

.DocSearch-Button-Placeholder,.DocSearch-Button-Keys,.DocSearch-Button-Key {
    display: none
}

@media (min-width: 50rem) {
    sl-doc-search {
        width:100%
    }

    .DocSearch-Button {
        border: 1px solid var(--sl-color-gray-5);
        border-radius: .5rem;
        padding-inline-start:.75rem;padding-inline-end:1rem;background-color: var(--sl-color-black);
        color: var(--sl-color-gray-2);
        font-size: var(--sl-text-sm);
        width: 100%;
        max-width: 22rem
    }

    .DocSearch-Button:hover {
        border-color: var(--sl-color-gray-2);
        color: var(--sl-color-white)
    }

    .DocSearch-Button-Placeholder,.DocSearch-Button-Keys {
        display: flex
    }

    .DocSearch-Button-Keys {
        margin-inline-start:auto}

    .DocSearch-Button-Keys:before {
        content: "";
        width: 1em;
        height: 1em;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 2H7a5 5 0 0 0-5 5v10a5 5 0 0 0 5 5h10a5 5 0 0 0 5-5V7a5 5 0 0 0-5-5Zm3 15a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10Z'%3E%3C/path%3E%3Cpath d='M15.293 6.707a1 1 0 1 1 1.414 1.414l-8.485 8.486a1 1 0 0 1-1.414-1.415l8.485-8.485Z'%3E%3C/path%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 2H7a5 5 0 0 0-5 5v10a5 5 0 0 0 5 5h10a5 5 0 0 0 5-5V7a5 5 0 0 0-5-5Zm3 15a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10Z'%3E%3C/path%3E%3Cpath d='M15.293 6.707a1 1 0 1 1 1.414 1.414l-8.485 8.486a1 1 0 0 1-1.414-1.415l8.485-8.485Z'%3E%3C/path%3E%3C/svg%3E");
        -webkit-mask-size: 100%;
        mask-size: 100%;
        background-color: currentColor
    }
}

.site-title:where(.astro-oijwx5iz) {
    gap: 1rem
}

.site-title:where(.astro-oijwx5iz) a:where(.astro-oijwx5iz) {
    display: flex
}

.astro-logo:where(.astro-oijwx5iz) {
    color: var(--sl-color-white)
}

.docs-logo:where(.astro-oijwx5iz) {
    color: var(--sl-color-text-accent)
}

.site-title:where(.astro-oijwx5iz) a:where(.astro-oijwx5iz):focus-visible {
    outline: 0
}

.site-title:where(.astro-oijwx5iz) a:where(.astro-oijwx5iz):focus-visible>* {
    outline: auto;
    outline-offset: .33rem;
    border-radius: 1px
}

.site-title:where(.astro-oijwx5iz) svg {
    --display-height: 1.75rem;
    width: auto;
    height: auto;
    margin-block:calc((var(--sl-nav-height) - var(--display-height)) / 2);transition: transform .18s cubic-bezier(.23,1,.32,1)
}

.site-title:where(.astro-oijwx5iz) a:where(.astro-oijwx5iz):hover svg {
    --hover-offset: .15rem;
    transform: translateY(calc(var(--hover-offset) * -1))
}

a:where(.astro-243vdyix) {
    color: var(--sl-color-text-accent);
    padding: .5em;
    margin: -.5em
}

a:where(.astro-243vdyix):hover {
    opacity: .66
}

.header:where(.astro-2h5j4poh) {
    gap: var(--sl-nav-gap);
    justify-content: space-between;
    align-items: center;
    height: 100%
}

.title-wrapper:where(.astro-2h5j4poh) {
    overflow: hidden
}

.right-group:where(.astro-2h5j4poh),.social-icons:where(.astro-2h5j4poh) {
    gap: 1rem;
    align-items: center
}

.social-icons:where(.astro-2h5j4poh):after {
    content: "";
    height: 2rem;
    border-inline-end:1px solid var(--sl-color-gray-5)}

@media (min-width: 50rem) {
    :root[data-has-sidebar] {
        --__sidebar-pad: calc(2 * var(--sl-nav-pad-x))
    }

    :root:not([data-has-toc]) {
        --__toc-width: 0rem
    }

    .header:where(.astro-2h5j4poh) {
        --__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));
        --__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );
        display: grid;
        grid-template-columns: minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;
        align-content: center
    }
}

.facepile:where(.astro-zmkmtucg) {
    --cell-size: min(3.5rem, 13vw);
    --grid-gap: min(1rem, 3vw);
    margin-block:calc(-.5 * var(--cell-size));padding: 0 var(--grid-gap);
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: var(--grid-gap);
    overflow: hidden;
    max-height: calc(6 * var(--cell-size) + 5 * var(--grid-gap));
    -webkit-mask-image: linear-gradient(to bottom,transparent,black,transparent);
    mask-image: linear-gradient(to bottom,transparent,black,transparent);
    pointer-events: none;
    background: radial-gradient(closest-side,var(--sl-color-red-low),transparent) no-repeat calc(100% + var(--cell-size) * 5) 50% / calc(var(--cell-size) * 8) calc(var(--cell-size) * 15)
}

.row:where(.astro-zmkmtucg) {
    display: flex;
    align-items: center;
    gap: var(--grid-gap)
}

.row:where(.astro-zmkmtucg)>:not(.tagline):where(.astro-zmkmtucg) {
    border-radius: 100%;
    width: var(--cell-size);
    height: var(--cell-size)
}

.circle:where(.astro-zmkmtucg) {
    border: 1px solid var(--sl-color-white);
    opacity: .2
}

.tagline:where(.astro-zmkmtucg) {
    color: var(--sl-color-white);
    font-size: var(--sl-text-sm);
    text-wrap: balance;
    pointer-events: all
}

.tagline:where(.astro-zmkmtucg) a:where(.astro-zmkmtucg) {
    color: var(--sl-color-text-accent);
    white-space: nowrap
}

.row:where(.astro-zmkmtucg)>.tagline:where(.astro-zmkmtucg) {
    text-align: right;
    max-width: 15rem;
    padding-inline-end:.5rem;margin-block:-1rem}

.mobile-only:where(.astro-zmkmtucg) {
    padding: 0 1rem;
    text-align: center;
    color: var(--sl-color-white)
}

@media (min-width: 78rem) {
    .mobile-only:where(.astro-zmkmtucg) {
        display:none
    }

    .facepile:where(.astro-zmkmtucg) {
        display: flex;
        padding: var(--grid-gap);
        margin-block:0;max-height: unset;
        -webkit-mask-image: unset;
        mask-image: unset;
        background: none
    }
}

.hero:where(.astro-w36gv4jc) {
    position: relative;
    margin: -1.5rem calc(-1 * var(--sl-content-pad-x))
}

.grid-bg:where(.astro-w36gv4jc) {
    z-index: -1;
    position: absolute;
    content: "";
    inset: 0;
    background-image: linear-gradient(to right,var(--sl-color-white) 1px,transparent 1px),linear-gradient(to bottom,var(--sl-color-white) 1px,transparent 1px);
    background-position: right -1px;
    background-size: 23px 23px;
    -webkit-mask-image: radial-gradient(circle at 100% 0%,white,transparent 65%);
    mask-image: radial-gradient(circle at 100% 0%,white,transparent 65%);
    opacity: .05
}

.stack:where(.astro-w36gv4jc) {
    display: flex;
    flex-direction: column;
    gap: var(--stack-gap, 1.5rem)
}

.hero-content:where(.astro-w36gv4jc) {
    padding: 3rem var(--sl-content-pad-x);
    text-align: center
}

h1:where(.astro-w36gv4jc) {
    font-size: var(--sl-text-5xl);
    line-height: var(--sl-line-height-headings);
    font-weight: 600;
    color: var(--sl-color-white)
}

.actions:where(.astro-w36gv4jc) {
    flex-wrap: wrap;
    gap: 1rem 2rem;
    justify-content: center
}

[data-has-hero] .main-pane {
    --sl-content-margin-inline: 0;
    width: 100%
}

@media (min-width: 32rem) {
    .hero-content:where(.astro-w36gv4jc) {
        max-width:36rem;
        padding-block:6rem}

    h1:where(.astro-w36gv4jc) {
        font-size: var(--sl-text-6xl)
    }
}

[data-has-hero] .sl-container {
    max-width: 100%
}

.hero-content:where(.astro-w36gv4jc),[data-has-hero] .sl-markdown-content {
    max-width: 72rem;
    margin-inline:auto}

@media (min-width: 78rem) {
    [data-has-hero] .main-pane {
        --cell-size: 3.5rem;
        background: radial-gradient(var(--sl-color-purple-low),transparent 40%) no-repeat -170vw -55vh / 250vw 250vh,radial-gradient(closest-side,var(--sl-color-red-low),transparent) no-repeat calc(100% + var(--cell-size) * 6) calc(var(--cell-size) * -7) / calc(var(--cell-size) * 12) calc(var(--cell-size) * 19)
    }

    .hero:where(.astro-w36gv4jc) {
        display: grid
    }

    .hero:where(.astro-w36gv4jc)>* {
        grid-area: 1 / 1 / -1 / -1
    }

    .hero-content:where(.astro-w36gv4jc) {
        width: 100%;
        text-align: start;
        align-self: center
    }

    .hero-content:where(.astro-w36gv4jc)>:where(.astro-w36gv4jc) {
        max-width: calc(100% - 29rem)
    }

    .actions:where(.astro-w36gv4jc) {
        justify-content: start
    }
}

.sl-markdown-content :not(a,strong,em,del,span,input,code)+:not(a,strong,em,del,span,input,code,:where(.not-content *)) {
    margin-top: 1rem
}

.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)) {
    margin-top: 1.5em
}

.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)) {
    margin-top: .25rem
}

.sl-markdown-content li:not(:where(.not-content *)) {
    overflow-wrap: anywhere
}

.sl-markdown-content li>:last-child:not(li,ul,ol):not(a,strong,em,del,span,input,:where(.not-content *)) {
    margin-bottom: 1.25rem
}

.sl-markdown-content dt:not(:where(.not-content *)) {
    font-weight: 700
}

.sl-markdown-content dd:not(:where(.not-content *)) {
    padding-inline-start:1rem}

.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)) {
    color: var(--sl-color-white);
    line-height: var(--sl-line-height-headings);
    font-weight: 600
}

.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)) {
    display: block;
    max-width: 100%;
    height: auto
}

.sl-markdown-content h1:not(:where(.not-content *)) {
    font-size: var(--sl-text-h1)
}

.sl-markdown-content h2:not(:where(.not-content *)) {
    font-size: var(--sl-text-h2)
}

.sl-markdown-content h3:not(:where(.not-content *)) {
    font-size: var(--sl-text-h3)
}

.sl-markdown-content h4:not(:where(.not-content *)) {
    font-size: var(--sl-text-h4)
}

.sl-markdown-content h5:not(:where(.not-content *)) {
    font-size: var(--sl-text-h5)
}

.sl-markdown-content h6:not(:where(.not-content *)) {
    font-size: var(--sl-text-h6)
}

.sl-markdown-content a:not(:where(.not-content *)) {
    color: var(--sl-color-text-accent)
}

.sl-markdown-content a:hover:not(:where(.not-content *)) {
    color: var(--sl-color-white)
}

.sl-markdown-content code:not(:where(.not-content *)) {
    background-color: var(--sl-color-bg-inline-code);
    margin-block:-.125rem;padding: .125rem .375rem;
    font-size: var(--sl-text-code-sm)
}

.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code {
    font-size: inherit
}

.sl-markdown-content pre:not(:where(.not-content *)) {
    border: 1px solid var(--sl-color-gray-5);
    padding: .75rem 1rem;
    font-size: var(--sl-text-code);
    tab-size: 2
}

.sl-markdown-content pre code:not(:where(.not-content *)) {
    all: unset;
    font-family: var(--__sl-font-mono)
}

.sl-markdown-content blockquote:not(:where(.not-content *)) {
    border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start: 1rem
}

.sl-markdown-content table:not(:where(.not-content *)) {
    display: block;
    overflow: auto;
    border-spacing: 0
}

.sl-markdown-content :is(th,td):not(:where(.not-content *)) {
    border-bottom: 1px solid var(--sl-color-gray-5);
    padding: .5rem 1rem;
    vertical-align: baseline
}

.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)) {
    padding-inline-start:0}

.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)) {
    padding-inline-end:0}

.sl-markdown-content th:not(:where(.not-content *)) {
    color: var(--sl-color-white);
    font-weight: 600
}

.sl-markdown-content th:not([align]):not(:where(.not-content *)) {
    text-align: start
}

.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)) {
    border-color: var(--sl-color-gray-4)
}

@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)) {
    .sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)) {
        border-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)
    }
}

@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)) {
    .sl-markdown-content .starlight-aside code:not(:where(.not-content *)) {
        background-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)
    }
}

.sl-markdown-content hr:not(:where(.not-content *)) {
    border: 0;
    border-bottom: 1px solid var(--sl-color-hairline)
}

.sl-markdown-content details:not(:where(.not-content *)) {
    --sl-details-border-color: var(--sl-color-gray-5);
    --sl-details-border-color--hover: var(--sl-color-text-accent);
    border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start: 1rem
}

.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)) {
    border-color: var(--sl-details-border-color--hover)
}

.sl-markdown-content summary:not(:where(.not-content *)) {
    color: var(--sl-color-white);
    cursor: pointer;
    display: block;
    font-weight: 600;
    margin-inline-start:-.5rem;padding-inline-start:.5rem}

.sl-markdown-content details[open]>summary:not(:where(.not-content *)) {
    margin-bottom: 1rem
}

.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker {
    display: none
}

.sl-markdown-content summary:not(:where(.not-content *)):before {
    --sl-details-marker-size: 1.25rem;
    background-color: currentColor;
    content: "";
    display: inline-block;
    height: var(--sl-details-marker-size);
    width: var(--sl-details-marker-size);
    margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align: middle;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

@media (prefers-reduced-motion: no-preference) {
    .sl-markdown-content summary:not(:where(.not-content *)):before {
        transition: transform .2s ease-in-out
    }
}

.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before {
    transform: rotate(90deg)
}

[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before {
    transform: rotate(180deg)
}

.sl-markdown-content summary:not(:where(.not-content *)) p:only-child {
    display: inline
}

.sl-markdown-content .starlight-aside details:not(:where(.not-content *)) {
    --sl-details-border-color: var(--sl-color-asides-border);
    --sl-details-border-color--hover: var(--sl-color-asides-text-accent)
}

.sl-markdown-content:where(.astro-klj6ju3r) .heading-wrapper {
    --icon-size: .75em;
    --icon-spacing: .25em;
    line-height: var(--sl-line-height-headings)
}

.sl-markdown-content:where(.astro-klj6ju3r) :not(.heading-wrapper)+:is(.heading-wrapper):not(:where(.not-content *)) {
    margin-top: 1.5em
}

.sl-markdown-content:where(.astro-klj6ju3r) .level-h2 {
    font-size: var(--sl-text-h2)
}

.sl-markdown-content:where(.astro-klj6ju3r) .level-h3 {
    font-size: var(--sl-text-h3)
}

.sl-markdown-content:where(.astro-klj6ju3r) .level-h4 {
    font-size: var(--sl-text-h4)
}

.sl-markdown-content:where(.astro-klj6ju3r) .level-h5 {
    font-size: var(--sl-text-h5)
}

.sl-markdown-content:where(.astro-klj6ju3r) .heading-wrapper>:first-child {
    margin-inline-end:calc(var(--icon-size) + var(--icon-spacing));display: inline
}

.sl-markdown-content:where(.astro-klj6ju3r) .anchor-link {
    margin-inline-start:calc(-1 * (var(--icon-size)));color: var(--sl-color-gray-3)
}

.sl-markdown-content:where(.astro-klj6ju3r) .anchor-link:hover,.sl-markdown-content:where(.astro-klj6ju3r) .anchor-link:focus {
    color: var(--sl-color-text-accent)
}

.sl-markdown-content:where(.astro-klj6ju3r) .heading-wrapper svg {
    display: inline;
    width: var(--icon-size)
}

.sl-markdown-content:where(.astro-klj6ju3r) .anchor-link .sr-only {
    -webkit-user-select: none;
    user-select: none
}

@media (hover: hover) {
    .sl-markdown-content:where(.astro-klj6ju3r) .anchor-link {
        opacity:0
    }
}

.sl-markdown-content:where(.astro-klj6ju3r) .heading-wrapper:hover>.anchor-link,.sl-markdown-content:where(.astro-klj6ju3r) .anchor-link:focus {
    opacity: 1
}

@media (min-width: 95em) {
    .sl-markdown-content:where(.astro-klj6ju3r) .heading-wrapper {
        display:flex;
        flex-direction: row-reverse;
        justify-content: flex-end;
        gap: var(--icon-spacing);
        margin-inline-start:calc(-1 * (var(--icon-size) + var(--icon-spacing)))}

    .sl-markdown-content: where(.astro-klj6ju3r) .heading-wrapper>:first-child,.sl-markdown-content:where(.astro-klj6ju3r) .anchor-link {
        margin:0
    }
}

[data-mobile-menu-expanded] {
    overflow: hidden
}

@media (min-width: 50rem) {
    [data-mobile-menu-expanded] {
        overflow:auto
    }
}

button:where(.astro-eerncfn6) {
    position: fixed;
    top: calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);
    inset-inline-end: var(--sl-nav-pad-x);
    z-index: var(--sl-z-index-navbar);
    border: 0;
    border-radius: 50%;
    width: var(--sl-menu-button-size);
    height: var(--sl-menu-button-size);
    padding: .5rem;
    background-color: var(--sl-color-white);
    color: var(--sl-color-black);
    box-shadow: var(--sl-shadow-md);
    cursor: pointer
}

:where(.astro-eerncfn6)[aria-expanded=true] button:where(.astro-eerncfn6) {
    background-color: var(--sl-color-gray-2);
    box-shadow: none
}

[data-pc-theme=light] button:where(.astro-eerncfn6) {
    background-color: var(--sl-color-black);
    color: var(--sl-color-white)
}

[data-pc-theme=light] :where(.astro-eerncfn6)[aria-expanded=true] button:where(.astro-eerncfn6) {
    background-color: var(--sl-color-gray-5)
}

.page:where(.astro-locgyneq) {
    flex-direction: column;
    min-height: 100vh
}

.header:where(.astro-locgyneq) {
    z-index: var(--sl-z-index-navbar);
    position: fixed;
    inset-inline-start: 0;
    inset-block-start: 0;
    width: 100%;
    height: var(--sl-nav-height);
    border-bottom: 1px solid var(--sl-color-hairline-shade);
    padding: var(--sl-nav-pad-y) var(--sl-nav-pad-x);
    padding-inline-end:var(--sl-nav-pad-x);background-color: var(--sl-color-bg-nav)
}

[data-has-sidebar] .header:where(.astro-locgyneq) {
    padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}

.sidebar-pane: where(.astro-locgyneq) {
    visibility:var(--sl-sidebar-visibility, hidden);
    position: fixed;
    z-index: var(--sl-z-index-menu);
    inset-block: var(--sl-nav-height) 0;
    inset-inline-start: 0;
    width: 100%;
    background-color: var(--sl-color-black);
    overflow-y: auto
}

[aria-expanded=true]~.sidebar-pane:where(.astro-locgyneq) {
    --sl-sidebar-visibility: visible
}

.sidebar-content:where(.astro-locgyneq) {
    height: 100%;
    min-height: max-content;
    padding: 1rem var(--sl-sidebar-pad-x) 0;
    flex-direction: column;
    gap: 1rem
}

@media (min-width: 50rem) {
    .sidebar-content:where(.astro-locgyneq):after {
        content:"";
        padding-bottom: 1px
    }
}

.main-frame:where(.astro-locgyneq) {
    padding-top: calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));
    padding-inline-start:var(--sl-content-inline-start)}

@media (min-width: 50rem) {
    [data-has-sidebar] .header:where(.astro-locgyneq) {
        padding-inline-end:var(--sl-nav-pad-x)
    }

    .sidebar-pane:where(.astro-locgyneq) {
        --sl-sidebar-visibility: visible;
        width: var(--sl-sidebar-width);
        background-color: var(--sl-color-bg-sidebar);
        border-inline-end:1px solid var(--sl-color-hairline-shade)}
}

ul: where(.astro-z24hbaiv) {
    padding:0;
    list-style: none
}

a:where(.astro-z24hbaiv) {
    --pad-inline: .5rem;
    display: block;
    border-radius: .25rem;
    padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height: 1.25
}

a:where(.astro-z24hbaiv)[aria-current=true] {
    color: var(--sl-color-text-accent)
}

.isMobile:where(.astro-z24hbaiv) a:where(.astro-z24hbaiv) {
    --pad-inline: 1rem;
    display: flex;
    justify-content: space-between;
    gap: var(--pad-inline);
    border-top: 1px solid var(--sl-color-gray-6);
    border-radius: 0;
    padding-block:.5rem;color: var(--sl-color-text);
    font-size: var(--sl-text-sm);
    text-decoration: none;
    outline-offset: var(--sl-outline-offset-inside)
}

.isMobile:where(.astro-z24hbaiv):first-child>li:where(.astro-z24hbaiv):first-child>a:where(.astro-z24hbaiv) {
    border-top: 0
}

.isMobile:where(.astro-z24hbaiv) a:where(.astro-z24hbaiv)[aria-current=true],.isMobile:where(.astro-z24hbaiv) a:where(.astro-z24hbaiv)[aria-current=true]:hover,.isMobile:where(.astro-z24hbaiv) a:where(.astro-z24hbaiv)[aria-current=true]:focus {
    color: var(--sl-color-white);
    background-color: unset
}

.isMobile:where(.astro-z24hbaiv) a:where(.astro-z24hbaiv)[aria-current=true]:after {
    content: "";
    width: 1rem;
    background-color: var(--sl-color-text-accent);
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    flex-shrink: 0
}

a:where(.astro-zk3o4dqa) {
    fill: var(--sl-color-gray-2)
}

a:where(.astro-zk3o4dqa)[aria-selected=true] {
    position: relative;
    z-index: 1;
    background-color: var(--sl-color-gray-6);
    box-shadow: 0 0 0 1px var(--sl-color-gray-5);
    border-radius: .25rem .25rem 0 0;
    fill: var(--sl-color-white)
}

a:where(.astro-zk3o4dqa)[aria-selected=true]:after {
    content: "";
    width: 100%;
    height: 1px;
    bottom: 0;
    transform: translateY(1px);
    background-color: var(--sl-color-gray-6);
    position: absolute
}

.tab-list:where(.astro-6yyweqw4) {
    display: flex;
    list-style: none;
    padding: 0;
    margin-top: -1px;
    overflow-x: auto;
    overflow-y: hidden
}

@media (min-width: 72em) {
    .tab-list:where(.astro-6yyweqw4) {
        justify-content:space-between;
        margin-top: 0;
        padding: 1px
    }
}

.panels:where(.astro-6yyweqw4) {
    padding-left: 1px;
    padding-right: 1px
}

.panels:where(.astro-6yyweqw4) a {
    text-decoration: none
}

section:where(.astro-s7ttdo4b) {
    animation: tab-panel-appear 10s steps(2,jump-none) 1
}

section:where(.astro-s7ttdo4b)[data-initial],section:where(.astro-s7ttdo4b)[role=tabpanel] {
    animation: none
}

@keyframes tab-panel-appear {
    0% {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0,0,0,0);
        white-space: nowrap;
        border-width: 0
    }
}

.circle:where(.astro-cciwla7n) {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    line-height: 1.25;
    width: 1.5em;
    height: 1.5em;
    font-size: 1em;
    border-radius: 50%;
    border: .125rem solid var(--sl-color-gray-5);
    background-color: var(--sl-color-gray-6)
}

path:where(.astro-cciwla7n) {
    fill: var(--sl-color-green);
    transform-origin: center
}

unit-progress-icon:where(.astro-xpd2nvpt) {
    display: block;
    padding: .5em .2em .2em
}

text:where(.astro-xpd2nvpt) {
    dominant-baseline: middle;
    text-anchor: middle;
    font-size: 40px
}

[data-initial]:not([role=tab]) unit-progress-icon:where(.astro-xpd2nvpt),[aria-selected=true] unit-progress-icon:where(.astro-xpd2nvpt) {
    font-weight: 700;
    fill: var(--sl-theme-white);
    background-color: var(--theme-bg-offset)
}

[aria-selected=true] .segment:where(.astro-xpd2nvpt):not(.done) {
    stroke: hsl(var(--color-gray-95))
}

.theme-dark [aria-selected=true] .segment:where(.astro-xpd2nvpt):not(.done) {
    stroke: hsl(var(--color-gray-20))
}

.segment:where(.astro-xpd2nvpt) {
    fill: none;
    stroke: var(--theme-bg-offset);
    stroke-width: 8;
    stroke-linecap: round;
    transform-origin: center;
    transition: stroke .1s ease-in-out
}

.done:where(.astro-xpd2nvpt) {
    stroke: var(--sl-color-green)
}

.tutorial-nav:where(.astro-kht4synq) {
    width: 100%;
    font-size: var(--sl-text-xs)
}

.unit:where(.astro-kht4synq) {
    padding: 1em;
    background-color: var(--sl-color-gray-6);
    box-shadow: 0 0 0 1px var(--sl-color-gray-5);
    border-radius: .25rem
}

section:first-child .unit:where(.astro-kht4synq) {
    border-radius: 0 .25rem .25rem
}

section:last-child .unit:where(.astro-kht4synq) {
    border-radius: .25rem 0 .25rem .25rem
}

.tutorial-nav:where(.astro-kht4synq) ol:where(.astro-kht4synq).lessons {
    margin: 0;
    padding-inline-start:0;list-style: none
}

h2:where(.astro-kht4synq).heading {
    font-size: var(--sl-text-sm);
    margin-top: 0;
    padding: 0
}

a:where(.astro-kht4synq) {
    color: var(--sl-color-gray-3)
}

a:where(.astro-kht4synq)[aria-current=true] {
    color: var(--sl-color-white);
    font: bold
}

a:where(.astro-kht4synq)[aria-current=true] .circle {
    border-color: var(--sl-color-gray-1)
}

a:where(.astro-kht4synq)[data-status=complete] .circle {
    border-color: transparent
}

.header-link:where(.astro-kht4synq)[data-status=complete] {
    color: var(--sl-color-green-high)
}

.header-link:where(.astro-kht4synq) .circle {
    opacity: 1;
    margin-top: -.125rem
}

.on-this-page:where(.astro-kht4synq) {
    margin-bottom: .5rem
}

nav:where(.astro-yitqccco) {
    position: fixed;
    z-index: var(--sl-z-index-toc);
    top: calc(var(--sl-nav-height) - 1px);
    inset-inline: 0;
    border-top: 1px solid var(--sl-color-gray-5);
    background-color: var(--sl-color-bg-nav)
}

@media (min-width: 50rem) {
    nav:where(.astro-yitqccco) {
        inset-inline-start:var(--sl-content-inline-start, 0)
    }
}

summary:where(.astro-yitqccco) {
    gap: .5rem;
    align-items: center;
    height: var(--sl-mobile-toc-height);
    border-bottom: 1px solid var(--sl-color-hairline-shade);
    padding: .5rem 1rem;
    font-size: var(--sl-text-xs);
    outline-offset: var(--sl-outline-offset-inside)
}

summary:where(.astro-yitqccco)::marker,summary:where(.astro-yitqccco)::-webkit-details-marker {
    display: none
}

.toggle:where(.astro-yitqccco) {
    flex-shrink: 0;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--sl-color-gray-5);
    border-radius: .5rem;
    padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height: 1;
    background-color: var(--sl-color-black);
    user-select: none;
    cursor: pointer
}

details:where(.astro-yitqccco)[open] .toggle:where(.astro-yitqccco) {
    color: var(--sl-color-white);
    border-color: var(--sl-color-accent)
}

details:where(.astro-yitqccco) .toggle:where(.astro-yitqccco):hover {
    color: var(--sl-color-white);
    border-color: var(--sl-color-gray-2)
}

[dir=rtl] .caret:where(.astro-yitqccco) {
    transform: rotate(180deg)
}

details:where(.astro-yitqccco)[open] .caret:where(.astro-yitqccco) {
    transform: rotate(90deg)
}

.display-current:where(.astro-yitqccco) {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    color: var(--sl-color-white)
}

.dropdown:where(.astro-yitqccco) {
    --border-top: 1px;
    margin-top: calc(-1 * var(--border-top));
    border: var(--border-top) solid var(--sl-color-gray-6);
    border-top-color: var(--sl-color-hairline-shade);
    max-height: calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));
    overflow-y: auto;
    background-color: var(--sl-color-black);
    box-shadow: var(--sl-shadow-md)
}

aside:where(.astro-mmwdqvkz) {
    margin: 1rem 0;
    position: relative;
    background-color: var(--sl-color-gray-6);
    padding: 1rem;
    border-radius: .5rem;
    display: flex;
    border: 1px solid var(--sl-color-text-accent);
    box-shadow: var(--sl-shadow-md);
    overflow-y: hidden
}

aside:where(.astro-mmwdqvkz) a:where(.astro-mmwdqvkz):before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1
}

aside:where(.astro-mmwdqvkz) h2:where(.astro-mmwdqvkz) {
    font-size: var(--sl-text-lg)!important
}

aside:where(.astro-mmwdqvkz) p:where(.astro-mmwdqvkz) {
    font-size: var(--sl-text-sm)!important;
    line-height: normal
}

aside:where(.astro-mmwdqvkz)>div:where(.astro-mmwdqvkz):last-child {
    display: flex;
    align-items: end
}

aside:where(.astro-mmwdqvkz) img:where(.astro-mmwdqvkz) {
    margin-bottom: -1rem;
    transition: transform .3s;
    transform: translateY(2px);
    width: 5.5rem;
    height: auto
}

aside:where(.astro-mmwdqvkz):hover img:where(.astro-mmwdqvkz) {
    transform: translateY(0)
}

.right-sidebar-panel:where(.astro-evux67hy) {
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 1rem var(--sl-sidebar-pad-x)
}

.sl-container:where(.astro-evux67hy) {
    width: calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))
}

.right-sidebar-panel:where(.astro-evux67hy) :where(h2) {
    color: var(--sl-color-white);
    font-size: var(--sl-text-h5);
    font-weight: 600;
    line-height: var(--sl-line-height-headings);
    margin-bottom: .5rem
}

.right-sidebar-panel:where(.astro-evux67hy) :where(a) {
    display: block;
    font-size: var(--sl-text-xs);
    text-decoration: none;
    color: var(--sl-color-gray-3);
    overflow-wrap: anywhere
}

.right-sidebar-panel:where(.astro-evux67hy) :where(a):hover {
    color: var(--sl-color-white)
}

@media (min-width: 72rem) {
    .right-sidebar-panel:where(.astro-evux67hy) {
        display:flex
    }

    .sl-container:where(.astro-evux67hy) {
        max-width: calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))
    }
}

h1:where(.astro-f7uddizy) {
    margin-top: 1rem;
    font-size: var(--sl-text-h1);
    line-height: var(--sl-line-height-headings);
    font-weight: 600;
    color: var(--sl-color-white)
}

.wrapper:where(.astro-nabvmdom) {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

h1:where(.astro-nabvmdom) {
    display: flex;
    flex-wrap: wrap;
    color: var(--sl-color-white);
    font-size: var(--sl-text-h1);
    font-weight: 600;
    line-height: var(--sl-line-height-headings)
}

.scope:where(.astro-nabvmdom) {
    color: var(--sl-color-text);
    font-weight: 400
}

.integration-metadata:where(.astro-nabvmdom) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1rem;
    font-size: var(--sl-text-xs)
}

.integration-metadata:where(.astro-nabvmdom) a:where(.astro-nabvmdom) {
    display: flex;
    align-items: center;
    gap: .25rem;
    text-decoration: none;
    color: var(--sl-color-text-accent)
}

.integration-metadata:where(.astro-nabvmdom) a:where(.astro-nabvmdom):hover {
    color: var(--sl-color-white)
}

.integration-metadata:where(.astro-nabvmdom) svg:where(.astro-nabvmdom) {
    width: 1.5rem
}

.social-icons:where(.astro-dedjtlkp) {
    margin-inline-end:auto;gap: 1rem;
    align-items: center;
    padding-block:1rem}

.social-icons:where(.astro-dedjtlkp):empty {
    display: none
}

.mobile-preferences:where(.astro-dedjtlkp) {
    justify-content: space-between;
    flex-wrap: wrap;
    border-top: 1px solid var(--sl-color-gray-6);
    column-gap: 1rem;
    padding: .5rem 0
}

.sponsors:where(.astro-kwmzlgva) {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.5rem;
    padding: 1.5rem .5rem .75rem
}

a:where(.astro-kwmzlgva) {
    display: flex;
    align-items: center;
    min-height: 3rem;
    opacity: .75
}

a:where(.astro-kwmzlgva):hover {
    opacity: 1
}

svg:where(.astro-kwmzlgva) {
    color: var(--sl-color-white);
    fill: currentColor
}

.sponsors-title:where(.astro-kwmzlgva) {
    width: 100%;
    color: var(--sl-color-gray-3);
    font-size: var(--sl-text-xs);
    font-weight: 400;
    font-family: var(--__sl-font-mono);
    line-height: var(--sl-line-height-headings);
    margin: 0 0 .5rem
}

div:where(.astro-mkinwl4g) {
    flex-direction: column;
    gap: 1rem
}

ul:where(.astro-eqmnmihm) {
    --sl-sidebar-item-padding-inline: .5rem;
    list-style: none;
    padding: 0
}

li:where(.astro-eqmnmihm) {
    overflow-wrap: anywhere
}

ul:where(.astro-eqmnmihm) ul:where(.astro-eqmnmihm) li:where(.astro-eqmnmihm) {
    margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start: 1px solid var(--sl-color-hairline-light);
    padding-inline-start:var(--sl-sidebar-item-padding-inline)}

.large: where(.astro-eqmnmihm) {
    font-size:var(--sl-text-lg);
    font-weight: 600;
    color: var(--sl-color-white)
}

.top-level:where(.astro-eqmnmihm)>li:where(.astro-eqmnmihm)+li:where(.astro-eqmnmihm) {
    margin-top: .75rem
}

summary:where(.astro-eqmnmihm) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .2em var(--sl-sidebar-item-padding-inline);
    line-height: 1.4;
    cursor: pointer;
    user-select: none
}

summary:where(.astro-eqmnmihm)::marker,summary:where(.astro-eqmnmihm)::-webkit-details-marker {
    display: none
}

.caret:where(.astro-eqmnmihm) {
    transition: transform .2s ease-in-out;
    flex-shrink: 0
}

[dir=rtl] .caret:where(.astro-eqmnmihm) {
    transform: rotate(180deg)
}

:where(.astro-eqmnmihm)[open]>summary:where(.astro-eqmnmihm) .caret:where(.astro-eqmnmihm) {
    transform: rotate(90deg)
}

a:where(.astro-eqmnmihm) {
    display: block;
    border-radius: .25rem;
    text-decoration: none;
    color: var(--sl-color-gray-2);
    padding: .3em var(--sl-sidebar-item-padding-inline);
    line-height: 1.4
}

a:where(.astro-eqmnmihm):hover,a:where(.astro-eqmnmihm):focus {
    color: var(--sl-color-white)
}

:where(.astro-eqmnmihm)[aria-current=page],:where(.astro-eqmnmihm)[aria-current=page]:hover,:where(.astro-eqmnmihm)[aria-current=page]:focus {
    font-weight: 600;
    color: var(--sl-color-text-invert);
    background-color: var(--sl-color-text-accent)
}

a:where(.astro-eqmnmihm)>:where(.astro-eqmnmihm):not(:last-child),.group-label:where(.astro-eqmnmihm)>:where(.astro-eqmnmihm):not(:last-child) {
    margin-inline-end:.25em}

@media (min-width: 50rem) {
    .top-level:where(.astro-eqmnmihm)>li:where(.astro-eqmnmihm)+li:where(.astro-eqmnmihm) {
        margin-top:.5rem
    }

    .large:where(.astro-eqmnmihm) {
        font-size: var(--sl-text-base)
    }

    a:where(.astro-eqmnmihm) {
        font-size: var(--sl-text-sm)
    }
}

sl-sidebar-state-persist:where(.astro-r3j6ex4f) {
    display: contents
}

p:where(.astro-3x5efdbn) {
    color: var(--sl-color-gray-3);
    font-family: Courier New,Courier,monospace
}

.fallback:after {
    content: "EN";
    vertical-align: super;
    font-size: .75em;
    font-weight: 700
}

a:where(.astro-jnfk3tcw) {
    clip: rect(0,0,0,0);
    position: fixed;
    top: .75rem;
    inset-inline-start: .75rem
}

a:where(.astro-jnfk3tcw):focus {
    clip: unset;
    z-index: var(--sl-z-index-skiplink);
    display: block;
    padding: .5rem 1rem;
    text-decoration: none;
    color: var(--sl-color-text-invert);
    background-color: var(--sl-color-text-accent);
    box-shadow: var(--sl-shadow-lg)
}

.main-pane:where(.astro-la77jigv) {
    isolation: isolate
}

@media (min-width: 72rem) {
    .right-sidebar-container:where(.astro-la77jigv) {
        order:2;
        position: relative;
        width: calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)
    }

    .right-sidebar:where(.astro-la77jigv) {
        position: fixed;
        top: 0;
        border-inline-start:1px solid var(--sl-color-gray-6);padding-top: var(--sl-nav-height);
        width: 100%;
        height: 100vh;
        overflow-y: auto;
        scrollbar-width: none
    }

    .main-pane:where(.astro-la77jigv) {
        width: 100%
    }

    [data-has-sidebar][data-has-toc] .main-pane:where(.astro-la77jigv) {
        --sl-content-margin-inline: auto 0;
        order: 1;
        width: calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)
    }
}

.starlight-aside {
    padding: 1rem;
    border-inline-start:.25rem solid var(--sl-color-asides-border);color: var(--sl-color-white)
}

.starlight-aside--note {
    --sl-color-asides-text-accent: var(--sl-color-blue-high);
    --sl-color-asides-border: var(--sl-color-blue);
    background-color: var(--sl-color-blue-low)
}

.starlight-aside--tip {
    --sl-color-asides-text-accent: var(--sl-color-purple-high);
    --sl-color-asides-border: var(--sl-color-purple);
    background-color: var(--sl-color-purple-low)
}

.starlight-aside--caution {
    --sl-color-asides-text-accent: var(--sl-color-orange-high);
    --sl-color-asides-border: var(--sl-color-orange);
    background-color: var(--sl-color-orange-low)
}

.starlight-aside--danger {
    --sl-color-asides-text-accent: var(--sl-color-red-high);
    --sl-color-asides-border: var(--sl-color-red);
    background-color: var(--sl-color-red-low)
}

.starlight-aside__title {
    display: flex;
    gap: .5rem;
    align-items: center;
    font-size: var(--sl-text-h5);
    font-weight: 600;
    line-height: var(--sl-line-height-headings);
    color: var(--sl-color-asides-text-accent)
}

.starlight-aside__icon {
    font-size: 1.333em;
    width: 1em;
    height: 1em
}

.starlight-aside__title+.starlight-aside__content {
    margin-top: .5rem
}

.starlight-aside__content a {
    color: var(--sl-color-asides-text-accent)
}

.card-grid {
    grid-template-columns: 100%
}

@media (min-width: 50rem) {
    .card-grid {
        grid-template-columns:1fr 1fr
    }
}

html:not([data-has-toc]) {
    --sl-mobile-toc-height: 0rem
}

html:not([data-has-sidebar]) {
    --sl-content-width: 67.5rem
}

html {
    scroll-padding-top: calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))
}

main:where(.astro-db5uw6gc) {
    padding-bottom: 3vh
}

@media (min-width: 50em) {
    :where(.astro-db5uw6gc)[data-has-sidebar] {
        --sl-content-inline-start: var(--sl-sidebar-width)
    }
}

@media (min-width: 72em) {
    html {
        scroll-padding-top:calc(1.5rem + var(--sl-nav-height))
    }
}
