:root {
    --back-to-top-z-index: 5;
    --back-to-top-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='M24.008 14.1V42M12 26l12-12 12 12M12 6h24'/%3E%3C/svg%3E");
    --back-to-top-c-bg: var(--vp-c-bg);
    --back-to-top-c-accent-bg: var(--vp-c-accent-bg);
    --back-to-top-c-accent-hover: var(--vp-c-accent-hover);
    --back-to-top-c-shadow: var(--vp-c-shadow);
    --back-to-top-c-icon: currentcolor
}

.vp-back-to-top-button {
    z-index: 100;
    background: var(--back-to-top-c-bg);
    width: 48px;
    height: 48px;
    color: var(--back-to-top-c-accent-bg);
    box-shadow: 2px 2px 10px 4px var(--back-to-top-c-shadow);
    cursor: pointer;
    inset-inline-end: 1rem;
    border-width: 0;
    border-radius: 50%;
    padding: 12px;
    bottom: 4rem;
    position: fixed !important
}

@media (width<=959px) {
    .vp-back-to-top-button {
        transform-origin: 100% 100%;
        transform: scale(.8)
    }
}

@media print {
    .vp-back-to-top-button {
        display: none
    }
}

.vp-back-to-top-button:hover {
    color: var(--back-to-top-c-accent-hover)
}

.vp-back-to-top-button .back-to-top-icon {
    background: var(--back-to-top-c-icon);
    width: 24px;
    height: 24px;
    -webkit-mask-image: var(--back-to-top-icon);
    -webkit-mask-image: var(--back-to-top-icon);
    mask-image: var(--back-to-top-icon);
    margin: 0 auto;
    overflow: hidden;
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: cover;
    mask-size: cover
}

.vp-scroll-progress {
    inset-inline-end: -2px;
    width: 52px;
    height: 52px;
    position: absolute;
    bottom: -2px
}

.vp-scroll-progress svg {
    width: 100%;
    height: 100%
}

.vp-scroll-progress circle {
    opacity: .9;
    transform-origin: 50%;
    transform: rotate(-90deg)
}

.fade-in-enter-active,
.fade-in-leave-active {
    transition: all var(--transition-duration) var(--transition-ease-in-out) !important
}

.fade-in-enter-from,
.fade-in-leave-to {
    opacity: 0 !important
}

.fade-in-leave-from,
.fade-in-enter-to {
    opacity: 1
}

.hint-container {
    background: var(--hint-c-soft);
    transition: background var(--vp-t-color), color var(--vp-t-color);
    position: relative
}

@media print {
    .hint-container {
        -moz-column-break-inside: avoid;
        break-inside: avoid
    }
}

.hint-container>.hint-container-title {
    color: var(--hint-c-title)
}

.hint-container :not(pre)>code {
    background: var(--hint-c-soft)
}

.hint-container .hint-container-title {
    margin-block: .75em;
    font-weight: 600;
    line-height: 1.25;
    position: relative
}

.hint-container.important,
.hint-container.info,
.hint-container.note,
.hint-container.tip,
.hint-container.warning,
.hint-container.caution {
    color: inherit;
    font-size: var(--hint-font-size);
    border-radius: .5em;
    margin-block: .75rem;
    padding: .25em 1em
}

@media print {

    .hint-container.important,
    .hint-container.info,
    .hint-container.note,
    .hint-container.tip,
    .hint-container.warning,
    .hint-container.caution {
        border: 1px solid var(--hint-c-title)
    }
}

.hint-container.important .hint-container-title,
.hint-container.info .hint-container-title,
.hint-container.note .hint-container-title,
.hint-container.tip .hint-container-title,
.hint-container.warning .hint-container-title,
.hint-container.caution .hint-container-title {
    padding-inline-start: 1.75em
}

@media print {

    .hint-container.important .hint-container-title,
    .hint-container.info .hint-container-title,
    .hint-container.note .hint-container-title,
    .hint-container.tip .hint-container-title,
    .hint-container.warning .hint-container-title,
    .hint-container.caution .hint-container-title {
        padding-inline-start: 0
    }
}

.hint-container.important .hint-container-title:before,
.hint-container.info .hint-container-title:before,
.hint-container.note .hint-container-title:before,
.hint-container.tip .hint-container-title:before,
.hint-container.warning .hint-container-title:before,
.hint-container.caution .hint-container-title:before {
    content: " ";
    inset-inline-start: 0;
    width: 1.25em;
    height: 1.25em;
    font-size: 1.25em;
    position: absolute;
    top: calc(50% - .6125em)
}

@media print {

    .hint-container.important .hint-container-title:before,
    .hint-container.info .hint-container-title:before,
    .hint-container.note .hint-container-title:before,
    .hint-container.tip .hint-container-title:before,
    .hint-container.warning .hint-container-title:before,
    .hint-container.caution .hint-container-title:before {
        display: none
    }
}

.hint-container.important p,
.hint-container.info p,
.hint-container.note p,
.hint-container.tip p,
.hint-container.warning p,
.hint-container.caution p {
    line-height: 1.5
}

.hint-container.important a,
.hint-container.info a,
.hint-container.note a,
.hint-container.tip a,
.hint-container.warning a,
.hint-container.caution a {
    color: var(--vp-c-accent)
}

.hint-container.important {
    --hint-c-accent: var(--important-c-accent);
    --hint-c-title: var(--important-c-text);
    --hint-c-soft: var(--important-c-soft)
}

.hint-container.important>.hint-container-title:before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M512 981.333a84.992 84.992 0 0 1-84.907-84.906h169.814A84.992 84.992 0 0 1 512 981.333zm384-128H128v-42.666l85.333-85.334v-256A298.325 298.325 0 0 1 448 177.92V128a64 64 0 0 1 128 0v49.92a298.325 298.325 0 0 1 234.667 291.413v256L896 810.667v42.666zm-426.667-256v85.334h85.334v-85.334h-85.334zm0-256V512h85.334V341.333h-85.334z'/%3E%3C/svg%3E");
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.hint-container.info {
    --hint-c-accent: var(--info-c-accent);
    --hint-c-title: var(--info-c-text);
    --hint-c-soft: var(--info-c-soft)
}

.hint-container.info>.hint-container-title:before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z'/%3E%3C/svg%3E");
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.hint-container.note {
    --hint-c-accent: var(--note-c-accent);
    --hint-c-title: var(--note-c-text);
    --hint-c-soft: var(--note-c-soft)
}

.hint-container.note>.hint-container-title:before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 22c-.6 0-1-.4-1-1v-3H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2h-6.1l-3.7 3.7c-.2.2-.4.3-.7.3zm1-6v3.1l3.1-3.1H20V4H4v12zm6.3-10l-1.4 3H17v4h-4V8.8L14.3 6zm-6 0L8.9 9H11v4H7V8.8L8.3 6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 22c-.6 0-1-.4-1-1v-3H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2h-6.1l-3.7 3.7c-.2.2-.4.3-.7.3zm1-6v3.1l3.1-3.1H20V4H4v12zm6.3-10l-1.4 3H17v4h-4V8.8L14.3 6zm-6 0L8.9 9H11v4H7V8.8L8.3 6z'/%3E%3C/svg%3E");
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.hint-container.tip {
    --hint-c-accent: var(--tip-c-accent);
    --hint-c-title: var(--tip-c-text);
    --hint-c-soft: var(--tip-c-soft)
}

.hint-container.tip>.hint-container-title:before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E");
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.hint-container.warning {
    --hint-c-accent: var(--warning-c-accent);
    --hint-c-title: var(--warning-c-text);
    --hint-c-soft: var(--warning-c-soft)
}

.hint-container.warning>.hint-container-title:before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z'/%3E%3C/svg%3E");
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.hint-container.caution {
    --hint-c-accent: var(--caution-c-accent);
    --hint-c-title: var(--caution-c-text);
    --hint-c-soft: var(--caution-c-soft)
}

.hint-container.caution>.hint-container-title:before {
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z'/%3E%3C/svg%3E");
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.hint-container.details {
    background: var(--detail-c-bg);
    transition: background var(--vp-t-transform), color var(--vp-t-transform);
    border-radius: .5rem;
    margin-block: .75rem;
    padding: 1.25rem 1rem;
    display: block;
    position: relative
}

.hint-container.details h4 {
    margin-top: 0
}

.hint-container.details figure:last-child,
.hint-container.details p:last-child {
    margin-bottom: 0;
    padding-bottom: 0
}

.hint-container.details a {
    color: var(--vp-c-accent)
}

.hint-container.details :not(pre)>code {
    background: var(--detail-c-soft)
}

.hint-container.details summary {
    font-size: var(--hint-font-size);
    cursor: pointer;
    margin: -1rem;
    padding-block: 1em;
    padding-inline: 3em 1.5em;
    list-style: none;
    position: relative
}

.hint-container.details summary::-webkit-details-marker {
    display: none
}

.hint-container.details summary::marker {
    color: #0000;
    font-size: 0
}

.hint-container.details summary:before {
    content: " ";
    width: 1em;
    height: 1em;
    transition: color, var(--vp-t-color), transform var(--vp-t-transform);
    inset-inline-start: .8em;
    background-color: currentColor;
    font-size: 1.25rem;
    line-height: normal;
    position: absolute;
    top: calc(50% - .5em);
    transform: rotate(90deg);
    -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.hint-container.details[open]>summary {
    margin-bottom: .5em
}

.hint-container.details[open]>summary:before {
    transform: rotate(180deg)
}

:root {
    --hint-font-size: .92rem;
    --important-c-accent: var(--vp-c-purple-bg);
    --important-c-text: var(--vp-c-purple-text);
    --important-c-soft: var(--vp-c-purple-soft);
    --info-c-accent: var(--vp-c-blue-bg);
    --info-c-text: var(--vp-c-blue-text);
    --info-c-soft: var(--vp-c-blue-soft);
    --note-c-accent: var(--vp-c-grey-bg);
    --note-c-text: var(--vp-c-grey-text);
    --note-c-soft: var(--vp-c-grey-soft);
    --tip-c-accent: var(--vp-c-green-bg);
    --tip-c-text: var(--vp-c-green-text);
    --tip-c-soft: var(--vp-c-green-soft);
    --warning-c-accent: var(--vp-c-yellow-bg);
    --warning-c-text: var(--vp-c-yellow-text);
    --warning-c-soft: var(--vp-c-yellow-soft);
    --caution-c-accent: var(--vp-c-red-bg);
    --caution-c-text: var(--vp-c-red-text);
    --caution-c-soft: var(--vp-c-red-soft);
    --detail-c-bg: var(--vp-c-control);
    --detail-c-icon: var(--vp-c-border);
    --detail-c-soft: var(--vp-c-grey-soft)
}

.vp-contributors {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    margin: 1rem 0;
    display: flex
}

.vp-contributor {
    color: inherit;
    align-items: center;
    gap: .25rem;
    font-size: 1.125rem;
    display: flex
}

.vp-contributor:after {
    display: none !important
}

.vp-contributor-avatar {
    -o-object-fit: contain;
    object-fit: contain;
    border-radius: 50%;
    width: 1.75rem;
    height: 1.75rem;
    margin-inline-end: .25rem
}

a.vp-contributor {
    text-decoration: none !important
}

:root {
    --changelog-bg: var(--vp-c-bg-alt);
    --changelog-font-size: .875rem;
    --changelog-c-text: var(--vp-c-text)
}

.vp-changelog-wrapper {
    background-color: var(--changelog-bg);
    color: var(--changelog-c-text);
    font-size: var(--changelog-font-size);
    transition: background-color var(--vp-t-color);
    border-radius: 8px;
    margin-block: 1rem;
    padding-inline: 1rem;
    line-height: 1.7
}

.vp-changelog-wrapper.active {
    padding-block: 0 .5rem
}

.vp-changelog-wrapper a {
    text-decoration: none !important
}

.vp-changelog-wrapper a:after {
    display: none !important
}

.vp-changelog-header {
    cursor: pointer;
    justify-content: space-between;
    align-items: center;
    padding-block: 1rem;
    font-weight: 700;
    display: flex
}

@media (width<=419px) {
    .vp-changelog-header {
        flex-wrap: wrap
    }
}

.vp-changelog-wrapper.active .vp-changelog-header {
    padding-block-end: .5rem
}

.vp-changelog-icon,
.vp-changelog-menu-icon {
    vertical-align: middle;
    width: 1.2em;
    height: 1.2em;
    color: var(--vp-c-text-mute);
    -webkit-mask: var(--icon) no-repeat;
    -webkit-mask: var(--icon) no-repeat;
    mask: var(--icon) no-repeat;
    transition: color var(--vp-t-color);
    background-color: currentColor;
    margin-inline-end: 4px;
    display: inline-block;
    transform: translateY(-1px);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%
}

.vp-changelog-icon {
    --icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' d='M2.71 10.96a6.5 6.5 0 1 0-.69-3.53M2 8l1.5-1.5M2 8L.5 6.5m8 2v-4m0 4h3'/%3E%3C/svg%3E")
}

.vp-changelog-menu-icon {
    --icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 5h0.01'/%3E%3Cpath d='M8 5h12'/%3E%3Cpath d='M4 10h0.01'/%3E%3Cpath d='M8 10h12'/%3E%3Cpath d='M4 15h0.01'/%3E%3Cpath d='M8 15h12'/%3E%3Cpath d='M4 20h0.01'/%3E%3Cpath d='M8 20h12'/%3E%3C/g%3E%3C/svg%3E")
}

.vp-changelog-list {
    margin-block: .5rem;
    padding-inline-start: 0;
    list-style: none;
    display: none
}

.vp-changelog-wrapper.active .vp-changelog-list {
    display: block
}

.vp-changelog-item-tag,
.vp-changelog-item-commit {
    margin-block-start: 8px;
    padding-inline-start: 20px;
    position: relative
}

.vp-changelog-item-tag:first-child,
.vp-changelog-item-commit:first-child {
    margin-block-start: 0
}

.vp-changelog-item-tag:before,
.vp-changelog-item-commit:before {
    content: "";
    width: 1.25em;
    height: 1.25em;
    color: var(--vp-c-text-subtle);
    -webkit-mask: var(--icon) no-repeat;
    -webkit-mask: var(--icon) no-repeat;
    mask: var(--icon) no-repeat;
    transition: color var(--vp-t-color);
    background-color: currentColor;
    display: inline-block;
    position: absolute;
    top: 3px;
    left: 0;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%
}

.vp-changelog-item-commit:before {
    --icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M9 12a3 3 0 1 0 6 0a3 3 0 1 0-6 0m3-9v6m0 6v6'/%3E%3C/svg%3E")
}

.vp-changelog-item-tag:before {
    --icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M6.5 7.5a1 1 0 1 0 2 0a1 1 0 1 0-2 0'/%3E%3Cpath d='M3 6v5.172a2 2 0 0 0 .586 1.414l7.71 7.71a2.41 2.41 0 0 0 3.408 0l5.592-5.592a2.41 2.41 0 0 0 0-3.408l-7.71-7.71A2 2 0 0 0 11.172 3H6a3 3 0 0 0-3 3'/%3E%3C/g%3E%3C/svg%3E")
}

.vp-changelog-tag {
    margin-inline-end: 4px;
    text-decoration: none
}

.vp-changelog-tag code {
    font-size: 14px;
    font-weight: 500
}

.vp-changelog-hash {
    margin-inline-end: 4px;
    text-decoration: none
}

.vp-changelog-divider {
    margin-inline-end: 8px
}

.vp-changelog-message {
    margin-inline-end: 8px;
    line-height: 1.7
}

.vp-changelog-date {
    color: var(--vp-c-text-subtle);
    transition: color var(--vp-t-color);
    font-size: .75rem
}

:root {
    --medium-zoom-z-index: 100;
    --medium-zoom-c-bg: var(--vp-c-bg-elv, #fff);
    --medium-zoom-opacity: 1
}

.medium-zoom-overlay {
    z-index: var(--medium-zoom-z-index);
    background-color: var(--medium-zoom-c-bg) !important
}

.medium-zoom-overlay~img {
    z-index: calc(var(--medium-zoom-z-index) + 1)
}

.medium-zoom--opened .medium-zoom-overlay {
    opacity: var(--medium-zoom-opacity)
}

:root {
    --nprogress-c: var(--vp-c-accent);
    --nprogress-z-index: 1031
}

#nprogress {
    pointer-events: none
}

#nprogress .bar {
    z-index: var(--nprogress-z-index);
    background: var(--nprogress-c);
    width: 100%;
    height: 2px;
    position: fixed;
    top: 0;
    left: 0
}

:root {
    --code-padding-x: 1.25rem;
    --code-padding-y: 1rem;
    --code-border-radius: 6px;
    --code-line-height: 1.6;
    --code-font-size: .875em;
    --code-font-family: consolas, monaco, "Andale Mono", "Ubuntu Mono", monospace
}

div[class*=language-] {
    border-radius: var(--code-border-radius);
    background-color: var(--code-c-bg);
    transition: background-color var(--vp-t-color), color var(--vp-t-color);
    margin-block: .75rem;
    position: relative
}

div[class*=language-]:before {
    content: attr(data-ext);
    z-index: 3;
    color: var(--code-c-text);
    font-size: .75rem;
    position: absolute;
    top: .8em;
    right: 1em
}

div[class*=language-] pre {
    z-index: 1;
    border-radius: var(--code-border-radius);
    font-size: var(--code-font-size);
    font-family: var(--code-font-family);
    line-height: var(--code-line-height);
    margin: 0;
    position: relative;
    overflow-x: auto
}

div[class*=language-] pre code {
    box-sizing: border-box;
    width: fit-content;
    min-width: 100%;
    padding: var(--code-padding-y) var(--code-padding-x);
    color: var(--code-c-text);
    overflow-wrap: unset;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
    display: block;
    background-color: #0000 !important
}

@media print {
    div[class*=language-] pre code {
        white-space: pre-wrap
    }
}

:root {
    --code-c-text: #f8f8f2;
    --code-c-bg: #2e3440;
    --code-c-highlight-bg: #343d4e;
    --code-c-line-number: #f8f8f2ab
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: #636f88
}

.token.punctuation {
    color: #81a1c1
}

.namespace {
    opacity: .7
}

.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
    color: #81a1c1
}

.token.number {
    color: #b48ead
}

.token.boolean {
    color: #81a1c1
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
    color: #a3be8c
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
    color: #81a1c1
}

.token.atrule,
.token.attr-value,
.token.function,
.token.class-name {
    color: #88c0d0
}

.token.keyword {
    color: #81a1c1
}

.token.regex,
.token.important {
    color: #ebcb8b
}

.token.important,
.token.bold {
    font-weight: 700
}

.token.italic {
    font-style: italic
}

.token.entity {
    cursor: help
}

:root {
    --code-line-number-width: 3rem
}

div[class*=language-]:not(.line-numbers-mode) .line-numbers {
    display: none
}

div[class*=language-].line-numbers-mode:after {
    content: "";
    width: var(--code-line-number-width);
    border-right: 1px solid var(--code-c-highlight-bg, var(--code-c-text));
    border-radius: var(--code-border-radius) 0 0 var(--code-border-radius);
    height: 100%;
    transition: border var(--vp-t-color);
    position: absolute;
    top: 0;
    left: 0
}

div[class*=language-].line-numbers-mode pre {
    vertical-align: middle;
    margin-left: var(--code-line-number-width)
}

div[class*=language-].line-numbers-mode code {
    padding-left: 1rem
}

div[class*=language-].line-numbers-mode .line-numbers {
    counter-reset: line-number;
    width: var(--code-line-number-width);
    padding-top: var(--code-padding-y);
    color: var(--code-c-line-number, var(--code-c-text));
    font-size: var(--code-font-size);
    line-height: var(--code-line-height);
    text-align: center;
    position: absolute;
    top: 0;
    left: 0
}

div[class*=language-].line-numbers-mode .line-number {
    z-index: 3;
    font-family: var(--code-font-family);
    -webkit-user-select: none;
    user-select: none;
    position: relative
}

div[class*=language-].line-numbers-mode .line-number:before {
    content: counter(line-number);
    counter-increment: line-number
}

div[class*=language-] .line.highlighted {
    width: 100%;
    margin: 0 calc(-1 * var(--code-padding-x));
    padding: 0 var(--code-padding-x);
    background-color: var(--code-c-highlight-bg);
    transition: background-color var(--vp-t-color);
    display: inline-block
}

:root {
    --code-title-c-text: var(--vp-c-text-mute);
    --code-title-c-bg: var(--code-c-bg);
    --code-title-divider: var(--code-c-highlight-bg, var(--code-c-text))
}

.code-block-with-title div[class*=language-] {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.code-block-with-title div[class*=language-]:before {
    display: none
}

.code-block-title-bar {
    border-bottom: solid 1px var(--code-title-divider);
    border-radius: var(--code-border-radius) var(--code-border-radius) 0 0;
    background: var(--code-title-c-bg);
    color: var(--code-title-c-text);
    white-space: nowrap;
    transition: background var(--vp-t-color), color var(--vp-t-color);
    margin: .75rem 0 -.75rem;
    padding: .5rem 1rem;
    font-size: .875em;
    font-weight: 500;
    line-height: 1.7;
    overflow-x: auto
}

@media (width<=419px) {
    .code-block-title-bar {
        border-radius: 0;
        margin-block: .75rem -.75rem
    }
}

:root {
    --code-tabs-c-text: var(--code-c-text);
    --code-tabs-c-bg: var(--code-c-highlight-bg);
    --code-tabs-c-hover: var(--code-c-bg, var(--vp-c-bg-alt))
}

.vp-code-tabs-nav {
    border-radius: var(--code-border-radius) var(--code-border-radius) 0 0;
    background: var(--code-tabs-c-bg);
    white-space: nowrap;
    transition: background var(--vp-t-color);
    margin: .75rem 0 -.75rem;
    padding: 0;
    list-style: none;
    overflow-x: auto
}

@media print {
    .vp-code-tabs-nav {
        display: none
    }
}

.vp-code-tab-nav {
    border-radius: var(--code-border-radius) var(--code-border-radius) 0 0;
    min-width: 3rem;
    color: var(--code-tabs-c-text);
    cursor: pointer;
    transition: background var(--vp-t-color), color var(--vp-t-color);
    background: 0 0;
    border-width: 0;
    margin: 0;
    padding: 6px 12px;
    font-size: .875em;
    font-weight: 600;
    line-height: 1.4;
    position: relative
}

.vp-code-tab-nav:hover {
    background: var(--code-tabs-c-hover)
}

.vp-code-tab-nav:before,
.vp-code-tab-nav:after {
    content: " ";
    z-index: 1;
    width: var(--code-border-radius);
    height: var(--code-border-radius);
    position: absolute;
    bottom: 0
}

.vp-code-tab-nav:before {
    right: 100%
}

.vp-code-tab-nav:after {
    left: 100%
}

.vp-code-tab-nav.active {
    background: var(--code-c-bg, var(--vp-c-bg-alt))
}

.vp-code-tab-nav.active:before {
    background: radial-gradient(12px at left top, transparent 50%, var(--code-c-bg) 50%)
}

.vp-code-tab-nav.active:after {
    background: radial-gradient(12px at right top, transparent 50%, var(--code-c-bg) 50%)
}

.vp-code-tab-nav:first-child:before {
    display: none
}

[dir=rtl] .vp-code-tab-nav:first-child:before {
    display: block
}

[dir=rtl] .vp-code-tab-nav:first-child:after,
.vp-code-tab {
    display: none
}

@media print {
    .vp-code-tab {
        display: block
    }
}

.vp-code-tab.active {
    display: block
}

.vp-code-tab-title {
    font-weight: 500;
    display: none
}

@media print {
    .vp-code-tab-title {
        display: block
    }
}

:root {
    --tab-border-radius: .5rem;
    --tab-c-bg: var(--vp-c-bg);
    --tab-c-nav: var(--vp-c-text);
    --tab-c-bg-nav: var(--vp-c-grey-bg);
    --tab-c-bg-nav-hover: var(--vp-c-control-hover)
}

.vp-tabs {
    border: 1px solid var(--vp-c-border);
    border-radius: var(--tab-border-radius);
    margin: 1.5rem 0
}

.vp-tabs-nav {
    border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0;
    background: var(--tab-c-bg-nav);
    white-space: nowrap;
    transition: background var(--vp-t-color);
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto
}

@media print {
    .vp-tabs-nav {
        display: none
    }
}

.vp-tab-nav {
    border-radius: var(--tab-border-radius) var(--tab-border-radius) 0 0;
    min-width: 4rem;
    color: var(--tab-c-nav);
    cursor: pointer;
    transition: background var(--vp-t-color), color var(--vp-t-color);
    background: 0 0;
    border: none;
    margin: 0;
    padding: .5em 1em;
    font-size: .875em;
    font-weight: 600;
    line-height: 1.75;
    position: relative
}

.vp-tab-nav:hover {
    background: var(--tab-c-bg-nav-hover)
}

.vp-tab-nav:before,
.vp-tab-nav:after {
    content: " ";
    z-index: 1;
    width: 8px;
    height: 8px;
    position: absolute;
    bottom: 0
}

.vp-tab-nav:before {
    right: 100%
}

.vp-tab-nav:after {
    left: 100%
}

.vp-tab-nav.active {
    background: var(--tab-c-bg)
}

.vp-tab-nav.active:before {
    background: radial-gradient(16px at left top, transparent 50%, var(--tab-c-bg) 50%)
}

.vp-tab-nav.active:after {
    background: radial-gradient(16px at right top, transparent 50%, var(--tab-c-bg) 50%)
}

.vp-tab-nav:first-child:before {
    display: none
}

.vp-tab {
    border-radius: 0 0 var(--tab-border-radius) var(--tab-border-radius);
    background: var(--tab-c-bg);
    transition: background var(--vp-t-color);
    padding: 1rem .75rem;
    display: none
}

@media print {
    .vp-tab {
        padding: .5rem;
        display: block
    }
}

.vp-tab.active {
    display: block
}

.vp-tab:nth-child(n+2) .vp-tab-title {
    border-top: none
}

.vp-tab-title {
    border-top: 1px solid var(--vp-c-border);
    padding: .25rem 0;
    font-weight: 500;
    display: none
}

@media print {
    .vp-tab-title {
        display: block
    }
}

.vp-badge {
    vertical-align: top;
    background: var(--vp-c-accent-soft);
    height: 1.3em;
    color: var(--vp-c-accent);
    transition: background var(--vp-t-color), color var(--vp-t-color);
    border-radius: 3px;
    padding: 0 6px;
    font-size: .875em;
    line-height: 1.3;
    display: inline-block
}

.vp-badge+.vp-badge {
    margin-inline-start: 5px
}

.vp-badge.tip {
    background: var(--badge-c-tip-bg);
    color: var(--badge-c-tip-text)
}

.vp-badge.warning {
    background: var(--badge-c-warning-bg);
    color: var(--badge-c-warning-text)
}

.vp-badge.danger {
    background: var(--badge-c-danger-bg);
    color: var(--badge-c-danger-text)
}

.vp-badge.important {
    background: var(--badge-c-important-bg);
    color: var(--badge-c-important-text)
}

.vp-badge.info {
    background: var(--badge-c-info-bg);
    color: var(--badge-c-info-text)
}

.vp-badge.note {
    background: var(--badge-c-note-bg);
    color: var(--badge-c-note-text)
}

:root {
    --transition-ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --transition-ease-out: cubic-bezier(0, 0, .2, 1);
    --transition-ease-in: cubic-bezier(.4, 0, 1, 1);
    --transition-duration: .2s;
    --transition-slow-duration: .3s;
    --transition-enter-duration: var(--transition-duration);
    --transition-leave-duration: var(--transition-duration);
    --transition-delay: .1s;
    --transition-fade-in-down-offset: -10px
}

.fade-in-down-enter-from,
.fade-in-down-leave-to {
    opacity: 0 !important;
    transform: translateY(var(--transition-fade-in-down-offset)) !important
}

.fade-in-down-enter-to,
.fade-in-down-leave-from {
    opacity: 1;
    transform: translateY(0) !important
}

.fade-in-down-leave-active {
    transition: opacity var(--transition-leave-duration) var(--transition-ease-in-out), transform var(--transition-leave-duration) var(--transition-ease-in-out) !important
}

.fade-in-down-enter-active {
    transition: opacity var(--transition-enter-duration) var(--transition-ease-in-out), transform var(--transition-enter-duration) var(--transition-ease-in-out) !important
}

.vp-features {
    border-top: 1px solid var(--vp-c-divider);
    transition: border-color var(--vp-t-color);
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    margin-top: 2.5rem;
    padding: 1.2rem 1rem;
    display: flex
}

.vp-feature {
    max-width: 100%
}

.vp-feature h2 {
    color: var(--vp-c-text);
    border-bottom: none;
    font-size: 1.5rem;
    font-weight: 500
}

.vp-footer {
    border-top: 1px solid var(--vp-c-border);
    color: var(--vp-c-text-mute);
    text-align: center;
    transition: border-color var(--vp-t-color);
    padding: 2.5rem
}

.main-logo {
    max-width: 100%;
    max-height: 200px;
    margin: 3rem auto 1.5rem;
    display: block
}

.logo {
    max-height: 100px !important
}

div.companion-container {
    gap: 1.2rem;
    display: flex
}

div.companion-item {
    flex: 1;
    margin: 0
}

.vp-hero {
    text-align: center
}

.vp-hero-image {
    max-width: 100%;
    max-height: 280px;
    margin: 3rem auto 1.5rem;
    display: block
}

#main-title {
    font-size: 3rem
}

#main-title,
.vp-hero-description,
.vp-hero-actions {
    margin: 1.8rem auto
}

.vp-hero-actions {
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    display: flex
}

.vp-hero-description {
    max-width: 35rem;
    color: var(--vp-c-text-subtle);
    font-size: 1.6rem;
    line-height: 1.3
}

.vp-hero-action-button {
    box-sizing: border-box;
    border: 2px solid var(--vp-c-accent-bg);
    border-radius: 4px;
    padding: .8rem 1.6rem;
    font-size: 1.2rem;
    display: inline-block
}

.vp-home {
    max-width: var(--homepage-width);
    padding: var(--navbar-height) 2rem 0;
    margin: 0 auto;
    display: block
}

@media (width<=419px) {
    .vp-home {
        padding-inline: 1.5rem
    }
}

.vp-home [vp-content] {
    margin: 0;
    padding: 0
}

.vp-site-logo {
    vertical-align: top;
    height: var(--navbar-line-height);
    margin-inline-end: var(--navbar-padding-v)
}

.vp-site-name {
    color: var(--vp-c-text);
    font-size: 1.3rem;
    font-weight: 600;
    position: relative
}

@media screen and (width<=719px) {
    .vp-site-name {
        text-overflow: ellipsis;
        white-space: nowrap;
        width: calc(100vw - 11rem);
        display: block;
        overflow: hidden
    }
}

:root {
    --transition-ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --transition-ease-out: cubic-bezier(0, 0, .2, 1);
    --transition-ease-in: cubic-bezier(.4, 0, 1, 1);
    --transition-duration: .2s;
    --transition-slow-duration: .3s;
    --transition-enter-duration: var(--transition-duration);
    --transition-leave-duration: var(--transition-duration);
    --transition-delay: .1s
}

.fade-in-height-expand-leave-from,
.fade-in-height-expand-enter-to {
    opacity: 1
}

.fade-in-height-expand-leave-to,
.fade-in-height-expand-enter-from {
    opacity: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.fade-in-height-expand-leave-active {
    transition: max-height var(--transition-slow-duration) var(--transition-ease-in-out), opacity var(--transition-leave-duration) var(--transition-ease-out), margin-top var(--transition-slow-duration) var(--transition-ease-in-out), margin-bottom var(--transition-slow-duration) var(--transition-ease-in-out), padding-top var(--transition-slow-duration) var(--transition-ease-in-out), padding-bottom var(--transition-slow-duration) var(--transition-ease-in-out) !important;
    overflow: hidden !important
}

.fade-in-height-expand-enter-active {
    transition: max-height var(--transition-slow-duration) var(--transition-ease-in-out), opacity var(--transition-enter-duration) var(--transition-ease-in), margin-top var(--transition-slow-duration) var(--transition-ease-in-out), margin-bottom var(--transition-slow-duration) var(--transition-ease-in-out), padding-top var(--transition-slow-duration) var(--transition-ease-in-out), padding-bottom var(--transition-slow-duration) var(--transition-ease-in-out) !important;
    overflow: hidden !important
}

.vp-navbar-dropdown-wrapper {
    cursor: pointer
}

.vp-navbar-dropdown-wrapper:not(.mobile) {
    height: 1.8rem
}

.vp-navbar-dropdown-wrapper:not(.mobile):hover .vp-navbar-dropdown,
.vp-navbar-dropdown-wrapper:not(.mobile).open .vp-navbar-dropdown {
    display: block !important
}

.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown {
    padding-top: .5rem;
    transition: height .1s ease-out;
    overflow: hidden
}

.vp-navbar-dropdown-wrapper:not(.mobile) .vp-navbar-dropdown {
    inset-inline-end: 0;
    box-sizing: border-box;
    border: 1px solid var(--vp-c-divider);
    background-color: var(--vp-c-bg-elv);
    text-align: start;
    white-space: nowrap;
    border-radius: .5rem;
    max-height: calc(100vh - 2.7rem);
    margin: 0;
    padding: .6rem 0;
    display: none;
    position: absolute;
    top: 100%;
    overflow-y: auto;
    height: auto !important
}

.vp-navbar-dropdown-title {
    padding: inherit;
    color: var(--vp-c-text);
    cursor: inherit;
    background: 0 0;
    border: none;
    font-family: inherit;
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.4rem;
    display: block
}

.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title {
    display: none
}

.vp-navbar-dropdown-title:hover {
    border-color: #0000
}

.vp-navbar-dropdown-title-mobile {
    padding: inherit;
    color: var(--vp-c-text);
    font-weight: 600;
    font-size: inherit;
    cursor: inherit;
    background: 0 0;
    border: none;
    font-family: inherit;
    line-height: 1.4rem;
    display: none
}

.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-title-mobile {
    display: block
}

.vp-navbar-dropdown-title-mobile:hover {
    color: var(--vp-c-accent)
}

.vp-navbar-dropdown-item {
    color: inherit;
    line-height: 1.7rem
}

.vp-navbar-dropdown-item .auto-link {
    border-bottom: none;
    margin-bottom: 0;
    padding: 0 1.25rem;
    font-weight: 400;
    display: block;
    position: relative
}

.vp-navbar-dropdown-item .auto-link:hover,
.vp-navbar-dropdown-item .auto-link.route-link-active {
    color: var(--vp-c-accent)
}

.vp-navbar-dropdown-item .auto-link.route-link-active:after {
    content: "";
    inset-inline-start: 9px;
    border-top: 3px solid #0000;
    border-bottom: 3px solid #0000;
    border-inline-start: 5px solid var(--vp-c-accent);
    width: 0;
    height: 0;
    position: absolute;
    top: calc(50% - 2px)
}

.vp-navbar-items .vp-navbar-dropdown-item .auto-link {
    line-height: 1.7rem
}

.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-item>.auto-link {
    line-height: 2rem
}

.vp-navbar-dropdown-subtitle {
    border-top: 1px solid var(--vp-c-divider);
    margin: .45rem 0 0;
    padding: 1rem 0 .45rem;
    font-size: .9rem
}

.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subtitle {
    border-top: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 2rem
}

.vp-navbar-dropdown-item:first-child .vp-navbar-dropdown-subtitle {
    border-top: 0;
    margin-top: 0;
    padding-top: 0
}

.vp-navbar-dropdown-subtitle>span {
    padding-inline: 1.25rem 1.5rem
}

.vp-navbar-dropdown-subtitle>.auto-link {
    font-weight: inherit
}

.vp-navbar-dropdown-subtitle>.auto-link.route-link-active:after {
    display: none
}

.vp-navbar-dropdown-subitem-wrapper {
    padding: 0;
    list-style: none
}

.vp-navbar-dropdown-subitem {
    font-size: .9em
}

.vp-navbar-dropdown-wrapper.mobile .vp-navbar-dropdown-subitem {
    padding-inline-start: 1rem
}

.vp-navbar-items {
    display: inline-block
}

@media print {
    .vp-navbar-items {
        display: none
    }
}

.vp-navbar-items .auto-link {
    color: inherit;
    line-height: 1.4rem
}

.vp-navbar-items .auto-link:hover,
.vp-navbar-items .auto-link.route-link-active {
    color: var(--vp-c-text)
}

.vp-navbar-item {
    line-height: var(--navbar-line-height);
    margin-inline-start: 1.5rem;
    display: inline-block;
    position: relative
}

@media (width<=719px) {
    .vp-navbar-item {
        margin-inline-start: 0
    }
}

.vp-navbar-item:first-child {
    margin-inline-start: 0
}

.vp-navbar-item .auto-link:hover,
.vp-navbar-item .auto-link.route-link-active {
    color: var(--vp-c-accent)
}

.vp-navbar-item>.auto-link {
    display: inline-block
}

.vp-navbar-item>.auto-link:hover,
.vp-navbar-item>.auto-link.route-link-active {
    border-bottom: 2px solid var(--vp-c-accent);
    margin-bottom: -2px
}

@media (width<=719px) {

    .vp-navbar-item>.auto-link:hover,
    .vp-navbar-item>.auto-link.route-link-active {
        border-bottom: none;
        margin-bottom: 0
    }
}

.vp-toggle-sidebar-button {
    inset-inline-start: 1rem;
    cursor: pointer;
    padding: .6rem;
    display: none;
    position: absolute;
    top: .6rem
}

@media screen and (width<=719px) {
    .vp-toggle-sidebar-button {
        display: block
    }
}

.vp-toggle-sidebar-button .icon {
    width: 1.25rem;
    height: 1.25rem;
    cursor: inherit;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    display: flex
}

.vp-toggle-sidebar-button .icon span {
    background-color: var(--vp-c-text);
    width: 100%;
    height: 2px;
    transition: transform var(--vp-t-transform);
    border-radius: 2px;
    display: inline-block
}

.vp-toggle-sidebar-button .icon span:nth-child(2) {
    margin: 6px 0
}

.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:first-child {
    transform: rotate(45deg)translate(5.5px, 5.5px)
}

.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(2) {
    transform: scaleX(0)
}

.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3) {
    transform: rotate(-45deg)translate(6px, -6px)
}

.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:first-child,
.vp-theme-container.sidebar-open .vp-toggle-sidebar-button .icon span:nth-child(3) {
    transform-origin: 50%
}

:root {
    --navbar-height: 3.6rem;
    --navbar-padding-v: .7rem;
    --navbar-padding-h: 1.5rem;
    --sidebar-width: 20rem;
    --vp-t-color: .3s ease;
    --vp-navbar-c-bg: var(--vp-c-bg)
}

.vp-navbar {
    --navbar-line-height: calc(var(--navbar-height) - 2 * var(--navbar-padding-v));
    z-index: 20;
    box-sizing: border-box;
    height: var(--navbar-height);
    padding: var(--navbar-padding-v) var(--navbar-padding-h);
    border-bottom: 1px solid var(--vp-c-border);
    background-color: var(--vp-navbar-c-bg);
    line-height: var(--navbar-line-height);
    transition: background-color var(--vp-t-color), border-color var(--vp-t-color);
    position: fixed;
    top: 0;
    left: 0;
    right: 0
}

@media screen and (width<=719px) {
    .vp-navbar {
        padding-inline-start: 4rem
    }
}

@media print {
    .vp-navbar {
        display: none
    }
}

.vp-navbar-items-wrapper {
    inset-inline-end: var(--navbar-padding-h);
    top: var(--navbar-padding-v);
    box-sizing: border-box;
    height: var(--navbar-line-height);
    white-space: nowrap;
    padding-inline-start: var(--navbar-padding-h);
    font-size: .9rem;
    display: flex;
    position: absolute
}

.navbar-auth {
    display: flex
}

.nav-btn {
    border-radius: 3px;
    flex: 1;
    justify-content: center;
    align-items: center;
    width: 160px;
    margin-left: 16px;
    font-size: 14px;
    display: flex
}

.logout-btn {
    color: #1a1a1a !important;
    background: #0fa !important
}

.vp-page-meta {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 2rem 2.5rem
}

@media (width<=959px) {
    .vp-page-meta {
        padding: 2rem
    }
}

@media (width<=419px) {
    .vp-page-meta {
        padding: 1.5rem
    }
}

.vp-page-meta {
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: .75rem;
    padding-bottom: .75rem;
    display: flex;
    overflow: auto
}

@media print {
    .vp-page-meta {
        margin: 0 !important;
        padding-inline: 0 !important
    }
}

@media (width<=719px) {
    .vp-page-meta {
        display: block
    }
}

.vp-page-meta .vp-meta-item {
    flex-grow: 1
}

.vp-page-meta .vp-meta-item .vp-meta-label {
    font-weight: 500
}

.vp-page-meta .vp-meta-item .vp-meta-label:not(a) {
    color: var(--vp-c-text-mute)
}

.vp-page-meta .vp-meta-item .vp-meta-info {
    color: var(--vp-c-text-mute);
    font-weight: 400
}

.vp-page-meta .git-info {
    text-align: end
}

.vp-page-meta .edit-link {
    margin-top: .25rem;
    margin-bottom: .25rem;
    margin-inline-end: .5rem;
    font-size: .875em
}

@media print {
    .vp-page-meta .edit-link {
        display: none
    }
}

.vp-page-meta .edit-link .edit-icon {
    width: 1em;
    height: 1em;
    margin-inline-end: .25em;
    position: relative;
    bottom: -.125em
}

.vp-page-meta .last-updated,
.vp-page-meta .contributors {
    margin-top: .25rem;
    margin-bottom: .25rem;
    font-size: .875em
}

@media (width<=719px) {

    .vp-page-meta .last-updated,
    .vp-page-meta .contributors {
        text-align: start;
        font-size: .825em
    }
}

.vp-page-nav {
    max-width: var(--content-width, 740px);
    margin-inline: auto;
    border-top: 1px solid var(--vp-c-divider);
    min-height: 2rem;
    transition: border-top var(--vp-t-color);
    flex-wrap: wrap;
    margin-top: 0;
    padding: 1rem 2rem 0;
    display: flex
}

@media (width<=959px) {
    .vp-page-nav {
        padding-inline: 1rem
    }
}

@media print {
    .vp-page-nav {
        display: none
    }
}

.vp-page-nav .auto-link {
    border: 1px solid var(--vp-c-divider);
    border-radius: .25rem;
    flex-grow: 1;
    margin: .25rem;
    padding: .25rem .5rem;
    display: inline-block
}

.vp-page-nav .auto-link:hover {
    background: var(--vp-c-control)
}

.vp-page-nav .auto-link.external-link:after,
.vp-page-nav .auto-link:not(.external-link) .external-link:after {
    display: none
}

.vp-page-nav .auto-link .hint {
    color: var(--vp-c-text-mute);
    font-size: .875rem;
    line-height: 2
}

.vp-page-nav .prev {
    text-align: start
}

.vp-page-nav .next {
    text-align: end
}

.vp-page {
    padding-top: var(--navbar-height);
    padding-bottom: 2rem;
    padding-inline-start: var(--sidebar-width);
    display: block
}

@media (width<=959px) {
    .vp-page {
        padding-inline-start: var(--sidebar-width-mobile)
    }
}

@media (width<=719px) {
    .vp-page {
        padding-inline-start: 0
    }
}

.vp-page [vp-content] {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 2rem 2.5rem
}

@media (width<=959px) {
    .vp-page [vp-content] {
        padding: 2rem
    }
}

@media (width<=419px) {
    .vp-page [vp-content] {
        padding: 1.5rem
    }
}

.vp-page [vp-content] {
    padding-top: 0
}

.vp-dropdown-enter-from,
.vp-dropdown-leave-to {
    opacity: 0;
    height: 0 !important
}

.vp-dropdown-enter-active {
    transition: height .3s ease-in-out, opacity .6s ease-out
}

.vp-sidebar-item {
    color: var(--vp-c-text);
    cursor: default;
    border-inline-start: .25rem solid #0000
}

.vp-sidebar-item:focus-visible {
    outline-offset: -1px;
    outline-width: 1px
}

.vp-sidebar-item.vp-sidebar-heading {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding-block: .35rem;
    padding-inline: 1.25rem 1.5rem;
    font-size: 1.1em;
    font-weight: 700;
    transition: color .15s
}

.vp-sidebar-item.vp-sidebar-heading+.vp-sidebar-children {
    margin-bottom: .75rem;
    transition: height .1s ease-out;
    overflow: hidden
}

.vp-sidebar-item.collapsible {
    cursor: pointer
}

.vp-sidebar-item:not(.vp-sidebar-heading) {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding-block: .35rem;
    padding-inline: 2rem 1rem;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.4;
    display: inline-block
}

.vp-sidebar-item:not(.vp-sidebar-heading)+.vp-sidebar-children {
    padding-inline-start: 1rem;
    font-size: .95em
}

.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading) {
    padding-block: .25rem;
    padding-inline: 1.75rem 1rem
}

.vp-sidebar-children .vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active {
    border-inline-start-color: #0000;
    font-weight: 500
}

a.vp-sidebar-heading+.vp-sidebar-children .vp-sidebar-item:not(.vp-sidebar-heading).active {
    border-inline-start-color: #0000
}

.vp-sidebar-item.active:not(p.vp-sidebar-heading) {
    border-inline-start-color: var(--vp-c-accent);
    color: var(--vp-c-accent);
    font-weight: 600
}

.vp-sidebar-item .auto-link {
    display: block
}

.vp-sidebar-item.auto-link {
    cursor: pointer;
    display: block
}

.vp-sidebar-item.auto-link:hover {
    color: var(--vp-c-accent)
}

.vp-sidebar-items {
    margin: 0;
    padding: 1.5rem 0;
    list-style-type: none
}

@media (width<=719px) {
    .vp-sidebar-items {
        padding: 1rem 0
    }
}

.vp-sidebar-items ul {
    margin: 0;
    padding: 0;
    list-style-type: none
}

.vp-sidebar {
    inset-inline-start: 0;
    top: var(--navbar-height);
    z-index: 10;
    box-sizing: border-box;
    width: var(--sidebar-width);
    border-inline-end: 1px solid var(--vp-c-border);
    background-color: var(--vp-sidebar-c-bg);
    transition: transform var(--vp-t-transform), background-color var(--vp-t-color), border-color var(--vp-t-color);
    scrollbar-color: var(--vp-c-accent-bg) var(--vp-c-divider);
    scrollbar-width: thin;
    margin: 0;
    font-size: 1rem;
    position: fixed;
    bottom: 0;
    overflow-y: auto
}

@media (width<=959px) {
    .vp-sidebar {
        width: var(--sidebar-width-mobile);
        font-size: .9rem
    }
}

@media (width<=719px) {
    .vp-sidebar {
        padding-top: var(--navbar-height);
        top: 0;
        transform: translate(-100%)
    }

    [dir=rtl] .vp-sidebar {
        transform: translate(100%)
    }
}

.vp-sidebar::-webkit-scrollbar {
    width: 7px
}

.vp-sidebar::-webkit-scrollbar-track {
    background-color: var(--vp-c-divider)
}

.vp-sidebar::-webkit-scrollbar-thumb {
    background-color: var(--vp-c-accent-bg)
}

.vp-sidebar .vp-navbar-items {
    border-bottom: 1px solid var(--vp-c-divider);
    transition: border-color var(--vp-t-color);
    padding: .5rem 0 .75rem;
    display: none
}

@media (width<=719px) {
    .vp-sidebar .vp-navbar-items {
        display: block
    }

    .vp-sidebar .vp-navbar-items .vp-navbar-dropdown-item .route-link-active:after {
        top: calc(1rem - 2px)
    }
}

.vp-sidebar .vp-navbar-items ul {
    margin: 0;
    padding: 0;
    list-style-type: none
}

.vp-sidebar .vp-navbar-items .auto-link {
    font-weight: 600
}

.vp-sidebar .vp-navbar-item {
    padding-block: .5rem;
    padding-inline: 1.5rem 0;
    font-size: 1.1em;
    line-height: 1.25rem;
    display: block
}

.vp-sidebar-mask {
    z-index: 9;
    width: 100vw;
    height: 100vh;
    display: none;
    position: fixed;
    top: 0;
    left: 0
}

.vp-theme-container.no-navbar .vp-sidebar {
    top: 0
}

@media (width<=719px) {
    .vp-theme-container.no-navbar .vp-sidebar {
        padding-top: 0
    }
}

.vp-theme-container.no-navbar .vp-page {
    padding-top: 0
}

.vp-theme-container.no-navbar [vp-content] h1,
.vp-theme-container.no-navbar [vp-content] h2,
.vp-theme-container.no-navbar [vp-content] h3,
.vp-theme-container.no-navbar [vp-content] h4,
.vp-theme-container.no-navbar [vp-content] h5,
.vp-theme-container.no-navbar [vp-content] h6 {
    margin-top: 1.5rem;
    padding-top: 0
}

.vp-theme-container.no-sidebar .vp-sidebar {
    display: none
}

@media (width<=719px) {
    .vp-theme-container.no-sidebar .vp-sidebar {
        display: block
    }
}

.vp-theme-container.no-sidebar .vp-page {
    padding-inline-start: 0
}

@media (width<=719px) {
    .vp-theme-container.sidebar-open .vp-sidebar {
        transform: translate(0)
    }

    .vp-theme-container.sidebar-open .vp-sidebar-mask {
        display: block
    }
}

.vp-theme-container[data-v-3fac1c72] {
    max-width: 740px;
    margin: 0 auto;
    padding: 2rem 2.5rem
}

@media (width<=959px) {
    .vp-theme-container[data-v-3fac1c72] {
        padding: 2rem
    }
}

:root {
    --vp-c-white: #fff;
    --vp-c-black: #000;
    --vp-c-grey-text: #656869;
    --vp-c-grey-hover: #e4e4e9;
    --vp-c-grey-bg: #ebebef;
    --vp-c-grey-soft: #8e96aa24;
    --vp-c-indigo-text: #3451b2;
    --vp-c-indigo-hover: #3a5ccc;
    --vp-c-indigo-bg: #5672cd;
    --vp-c-indigo-soft: #646cff24;
    --vp-c-purple-text: #6f42c1;
    --vp-c-purple-hover: #7e4cc9;
    --vp-c-purple-bg: #8e5cd9;
    --vp-c-purple-soft: #9f7aea24;
    --vp-c-blue-text: #2888a7;
    --vp-c-blue-hover: #2d98ba;
    --vp-c-blue-bg: #2fa1c5;
    --vp-c-blue-soft: #1bb2e524;
    --vp-c-green-text: #18794e;
    --vp-c-green-hover: #299764;
    --vp-c-green-bg: #30a46c;
    --vp-c-green-soft: #10b98124;
    --vp-c-yellow-text: #915930;
    --vp-c-yellow-hover: #946300;
    --vp-c-yellow-bg: #c28100;
    --vp-c-yellow-soft: #eab30824;
    --vp-c-red-text: #b8272c;
    --vp-c-red-hover: #d5393e;
    --vp-c-red-bg: #e0575b;
    --vp-c-red-soft: #f43f5e24
}

[data-theme=dark] {
    --vp-c-white: #000;
    --vp-c-black: #fff;
    --vp-c-grey-text: #939499;
    --vp-c-grey-hover: #414853;
    --vp-c-grey-bg: #32363f;
    --vp-c-grey-soft: #65758529;
    --vp-c-indigo-text: #a8b1ff;
    --vp-c-indigo-hover: #5c73e7;
    --vp-c-indigo-bg: #3e63dd;
    --vp-c-indigo-soft: #646cff29;
    --vp-c-blue-text: #c9e8f2;
    --vp-c-blue-hover: #a6d9ea;
    --vp-c-blue-bg: #2785a3;
    --vp-c-blue-soft: #1bb2e529;
    --vp-c-purple-text: #c8abfa;
    --vp-c-purple-hover: #a879e6;
    --vp-c-purple-bg: #8e5cd9;
    --vp-c-purple-soft: #9f7aea29;
    --vp-c-green-text: #3dd68c;
    --vp-c-green-hover: #30a46c;
    --vp-c-green-bg: #298459;
    --vp-c-green-soft: #10b98129;
    --vp-c-yellow-text: #f9b44e;
    --vp-c-yellow-hover: #da8b17;
    --vp-c-yellow-bg: #a46a0a;
    --vp-c-yellow-soft: #eab30829;
    --vp-c-red-text: #f66f81;
    --vp-c-red-hover: #f14158;
    --vp-c-red-bg: #b62a3c;
    --vp-c-red-soft: #f43f5e29
}

:root {
    --lightningcss-light: initial;
    --lightningcss-dark: ;
    --lightningcss-light: initial;
    --lightningcss-dark: ;
    color-scheme: light
}

[data-theme=dark] {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark
}

html,
body {
    background: var(--vp-c-bg, #fff);
    accent-color: var(--vp-c-accent, #299764);
    transition: background-color var(--vp-t-color)
}

html {
    font-display: optional;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    text-size-adjust: none
}

@media print {
    html {
        font-size: 12pt
    }
}

html[data-theme=dark] {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark
}

body {
    min-height: 100vh;
    color: var(--vp-c-text, #3c3c43);
    font-synthesis: style;
    margin: 0;
    padding: 0;
    font-size: 1rem
}

h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
    font-weight: 600;
    line-height: 1.25
}

h1:focus-visible,
h2:focus-visible,
h3:focus-visible,
h4:focus-visible,
h5:focus-visible,
h6:focus-visible {
    outline: none
}

h1 {
    font-size: 2rem
}

h2 {
    border-bottom: 1px solid var(--vp-c-divider, #e2e2e3);
    transition: border-color var(--vp-t-color);
    padding-bottom: .3rem;
    font-size: 1.65rem
}

h3 {
    font-size: 1.35rem
}

h4 {
    font-size: 1.15rem
}

h5 {
    font-size: 1.05rem
}

h6 {
    font-size: 1rem
}

p,
ul,
ol {
    overflow-wrap: break-word;
    line-height: 1.6
}

@media print {

    p,
    ul,
    ol {
        line-height: 1.5
    }
}

ul,
ol {
    padding-inline-start: 1.2em
}

a {
    color: var(--vp-c-accent, #299764);
    overflow-wrap: break-word;
    font-weight: 500;
    text-decoration: none
}

a.header-anchor {
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
    position: relative
}

a.header-anchor:before {
    content: "¶";
    color: var(--vp-c-accent, #299764);
    font-size: .75em;
    display: none;
    position: absolute;
    top: .4167em;
    left: -.75em
}

[dir=rtl] a.header-anchor:before {
    right: -.75em
}

a.header-anchor:hover:before {
    display: block
}

a.header-anchor:focus-visible {
    outline: none
}

a.header-anchor:focus-visible:before {
    outline: auto;
    display: block
}

strong {
    font-weight: 600
}

blockquote {
    border-inline-start: .2rem solid var(--vp-c-border-hard, #b8b8ba);
    color: var(--vp-c-text-mute, #3c3c43c7);
    overflow-wrap: break-word;
    transition: border-color var(--vp-t-color), color var(--vp-t-color);
    margin: 1rem 0;
    padding-block: .25rem;
    padding-inline: 1rem 0;
    font-size: 1rem
}

blockquote>p {
    margin: 0
}

hr {
    border: 0;
    border-bottom: 1px solid var(--vp-c-divider, #e2e2e3);
    transition: border-color var(--vp-t-color)
}

:not(pre)>code {
    background: var(--vp-c-grey-soft, #8e96aa24);
    overflow-wrap: break-word;
    transition: background-color var(--vp-t-color), color var(--vp-t-color);
    border-radius: 4px;
    margin: 0;
    padding: 3px 6px;
    font-size: .875em
}

p a code {
    color: var(--vp-c-accent, #299764);
    font-weight: 400
}

table code {
    padding: .1rem .4rem
}

kbd {
    border: 1px solid var(--vp-c-border, #c2c2c4);
    min-width: 1em;
    box-shadow: 1px 1px 4px 0 var(--vp-c-shadow, #00000026);
    letter-spacing: -.1em;
    text-align: center;
    border-radius: .25em;
    margin-inline: .125rem;
    padding: .25em;
    line-height: 1;
    display: inline-block
}

table {
    border-collapse: collapse;
    margin: 1rem 0;
    display: block;
    overflow-x: auto
}

tbody tr:nth-child(odd) {
    background: var(--vp-c-bg-alt, #f6f8fa);
    transition: background-color var(--vp-t-color)
}

th,
td {
    border: 1px solid var(--vp-c-border-hard, #d1d4d7);
    transition: border-color var(--vp-t-color);
    padding: .6em 1em
}

pre {
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    overflow-wrap: normal;
    overflow-wrap: unset;
    tab-size: 4;
    -webkit-hyphens: none;
    hyphens: none;
    direction: ltr
}

@media print {
    pre {
        white-space: pre-wrap
    }
}

pre code {
    border-radius: 0;
    padding: 0
}

@page {
    margin: 2cm;
    font-size: 12pt;
    size: a4
}

@media print {

    *,
    :after,
    :before {
        box-shadow: none !important;
        text-shadow: none !important
    }

    h2,
    h3,
    p {
        orphans: 3;
        widows: 3
    }

    h2,
    h3 {
        -moz-column-break-after: avoid;
        break-after: avoid
    }

    a {
        color: inherit;
        text-decoration: underline;
        font-weight: inherit !important;
        font-size: inherit !important
    }

    a.header-anchor {
        text-decoration: none
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    pre {
        border: 1px solid #eee;
        white-space: pre-wrap !important
    }

    pre>code {
        white-space: pre-wrap !important
    }

    blockquote {
        color: inherit;
        border-inline-start: .2rem solid #ddd
    }

    blockquote,
    pre {
        orphans: 5;
        widows: 5
    }

    img,
    tr,
    canvas {
        -moz-column-break-inside: avoid;
        break-inside: avoid
    }
}

@media (prefers-reduced-motion:reduce) {

    *,
    :before,
    :after {
        background-attachment: initial !important;
        scroll-behavior: auto !important;
        transition-duration: 0s !important;
        transition-delay: 0s !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        animation-delay: -1ms !important
    }
}

:root {
    --vp-c-accent: #299764;
    --vp-c-accent-bg: #3eaf7c;
    --vp-c-accent-hover: #4abf8a;
    --vp-c-accent-text: var(--vp-c-white);
    --vp-c-accent-soft: #10b98124;
    --vp-c-bg: #fff;
    --vp-c-bg-alt: #f6f6f7;
    --vp-c-bg-elv: #fff;
    --vp-c-text: #3c3c43;
    --vp-c-text-mute: #3c3c43c7;
    --vp-c-text-subtle: #3c3c438f;
    --vp-c-divider: #e2e2e3;
    --vp-c-border: #c2c2c4;
    --vp-c-border-hard: #b8b8ba;
    --vp-c-shadow: #00000026;
    --vp-c-control: #8e96aa1a;
    --vp-c-control-hover: #8e96aa29;
    --vp-c-control-disabled: #eaeaea;
    --vp-navbar-c-bg: var(--vp-c-bg);
    --vp-sidebar-c-bg: var(--vp-c-bg);
    --vp-c-code-tab-title: var(--code-c-text, #ffffffe6);
    --vp-c-code-tab-bg: var(--code-bg-color, var(--code-c-bg));
    --vp-c-code-tab-active: var(--vp-c-accent);
    --badge-c-tip-text: var(--vp-c-green-text);
    --badge-c-tip-bg: var(--vp-c-green-soft);
    --badge-c-warning-text: var(--vp-c-yellow-text);
    --badge-c-warning-bg: var(--vp-c-yellow-soft);
    --badge-c-danger-text: var(--vp-c-red-text);
    --badge-c-danger-bg: var(--vp-c-red-soft);
    --badge-c-important-text: var(--vp-c-purple-text);
    --badge-c-important-bg: var(--vp-c-purple-soft);
    --badge-c-info-text: var(--vp-c-indigo-text);
    --badge-c-info-bg: var(--vp-c-indigo-soft);
    --badge-c-note-text: var(--vp-c-grey-text);
    --badge-c-note-bg: var(--vp-c-grey-soft);
    --font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    --navbar-height: 3.6rem;
    --navbar-padding-v: .7rem;
    --navbar-padding-h: 1.5rem;
    --sidebar-width: 20rem;
    --sidebar-width-mobile: calc(var(--sidebar-width) * .82);
    --content-width: 740px;
    --homepage-width: 960px;
    --header-offset: var(--navbar-height);
    --vp-t-color: .3s ease;
    --vp-t-transform: .3s ease;
    --external-link-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z'/%3E%3C/svg%3E");
    --external-link-c-icon: var(--vp-c-text-mute)
}

[data-theme=dark] {
    --vp-c-accent: #3dd68c;
    --vp-c-accent-bg: #3aa675;
    --vp-c-accent-hover: #349469;
    --vp-c-accent-soft: #10b98129;
    --vp-c-bg: #1b1b1f;
    --vp-c-bg-alt: #161618;
    --vp-c-bg-elv: #202127;
    --vp-c-text: #ebebf5db;
    --vp-c-text-mute: #ebebf599;
    --vp-c-text-subtle: #ebebf561;
    --vp-c-divider: #2e2e32;
    --vp-c-border: #3c3f44;
    --vp-c-border-hard: #45484e;
    --vp-c-shadow: #0000004d;
    --vp-c-control: #6575851f;
    --vp-c-control-hover: #6575852e;
    --vp-c-control-disabled: #363636
}

body {
    font-family: var(--font-family)
}

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

[vp-content] h1,
[vp-content] h2,
[vp-content] h3,
[vp-content] h4,
[vp-content] h5,
[vp-content] h6 {
    margin-top: calc(.5rem - var(--header-offset));
    padding-top: calc(1rem + var(--header-offset));
    margin-bottom: 0
}

[vp-content] h1:first-child,
[vp-content] h2:first-child,
[vp-content] h3:first-child,
[vp-content] h4:first-child,
[vp-content] h5:first-child,
[vp-content] h6:first-child {
    margin-bottom: 1rem
}

[vp-content] h1:first-child+p,
[vp-content] h1:first-child+pre,
[vp-content] h1:first-child+.custom-container,
[vp-content] h2:first-child+p,
[vp-content] h2:first-child+pre,
[vp-content] h2:first-child+.custom-container,
[vp-content] h3:first-child+p,
[vp-content] h3:first-child+pre,
[vp-content] h3:first-child+.custom-container,
[vp-content] h4:first-child+p,
[vp-content] h4:first-child+pre,
[vp-content] h4:first-child+.custom-container,
[vp-content] h5:first-child+p,
[vp-content] h5:first-child+pre,
[vp-content] h5:first-child+.custom-container,
[vp-content] h6:first-child+p,
[vp-content] h6:first-child+pre,
[vp-content] h6:first-child+.custom-container {
    margin-top: 2rem
}

@media (width<=419px) {
    [vp-content] h1 {
        font-size: 1.9rem
    }
}

[vp-content] a:not(.header-anchor) {
    text-decoration: underline
}

[vp-content] img {
    max-width: 100%
}

@media (width<=419px) {
    #content {
        --code-border-radius: 0;
        --tab-border-radius: 0
    }

    #content>div[class*=language-],
    #content>.code-block-with-title>div[class*=language-],
    #content .code-block-title-bar {
        margin-inline: -1.5rem
    }

    #content>.vp-code-tabs .vp-code-tabs-nav {
        border-radius: 0;
        margin-inline: -1.5rem
    }

    #content>.vp-code-tabs div[class*=language-] {
        margin-inline: -1.5rem
    }

    #content>.vp-tabs {
        border-inline: none;
        margin-inline: -1.5rem
    }

    #content .vp-reveal {
        width: calc(100% + 3rem);
        margin: 0 -1.5rem
    }
}

.table-of-contents .vp-badge {
    vertical-align: middle
}

.arrow {
    vertical-align: middle;
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");
    background-position: 50%;
    background-repeat: no-repeat;
    width: 1em;
    height: 1em;
    line-height: normal;
    transition: all .3s;
    display: inline-block
}

[data-theme=dark] .arrow {
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")
}

.arrow.down {
    transform: rotate(180deg)
}

.arrow.right {
    transform: rotate(90deg)
}

[dir=rtl] .arrow.right,
.arrow.left {
    transform: rotate(-90deg)
}

[dir=rtl] .arrow.left {
    transform: rotate(90deg)
}

.vp-external-link-icon:after,
.external-link-icon .external-link:after,
.external-link-icon [vp-content] a[href*="://"]:not(.no-external-link-icon):after,
.external-link-icon [vp-content] a[target=_blank]:not(.no-external-link-icon):after {
    content: "";
    margin-top: -1px;
    background: var(--external-link-c-icon);
    width: 11px;
    height: 11px;
    -webkit-mask-image: var(--external-link-icon);
    -webkit-mask-image: var(--external-link-icon);
    mask-image: var(--external-link-icon);
    flex-shrink: 0;
    margin-inline-start: 4px;
    display: inline-block
}

:root {
    scroll-behavior: smooth
}

@media screen and (width<=719px) {
    .vp-hide-mobile {
        display: none
    }
}

.vp-comment {
    max-width: var(--content-width);
    margin: 0 auto;
    padding: 2rem 2.5rem
}

@media (width<=959px) {
    .vp-comment {
        padding: 2rem
    }
}

@media (width<=419px) {
    .vp-comment {
        padding: 1.5rem
    }
}

.vp-navbar .DocSearch {
    transition: background-color var(--vp-t-color)
}

.vp-navbar .search-box {
    vertical-align: top;
    flex: none
}

@media screen and (width<=719px) {
    .hint-container {
        margin-inline: -.75rem
    }
}

:root {
    --content-width: 85%;
    --homepage-width: 70%;
    zoom: 1.1
}

.navbar-items-wrapper {
    flex-direction: row-reverse
}

.search-box {
    margin-left: 0;
    margin-right: 1rem
}

.tagline {
    color: var(--vp-c-accent);
    text-align: center;
    letter-spacing: 1px;
    margin-bottom: 4%;
    font-size: 1rem;
    font-weight: 500
}

.section-tagline {
    text-align: center;
    letter-spacing: 1px;
    font-size: 1rem;
    font-weight: 300;
    line-height: normal
}

.cantor-button {
    transition: background-color var(--vp-t-color);
    box-sizing: border-box;
    color: var(--vp-c-accent-hover);
    cursor: pointer;
    text-align: center;
    background-color: #0000;
    border-style: solid;
    border-width: 3px;
    border-radius: 4px;
    padding: .8rem 1.6rem;
    font-size: 1.2rem;
    text-decoration: none;
    transition: all .25s ease-in-out;
    display: inline-block
}

.cantor-button:hover {
    background-color: var(--vp-c-accent);
    color: #fff;
    border-color: var(--vp-c-accent);
    box-shadow: 0 4px 15px #00800033
}

.cantor-button:active {
    color: var(--vp-c-accent);
    background-color: #fff;
    transform: scale(.95)
}

.cantor-button:focus {
    outline: none;
    box-shadow: 0 0 10px #00800080
}

.companion-item .vp-features {
    margin-top: 0
}

:root {
    --search-c-bg: var(--vp-c-bg);
    --search-c-accent: var(--vp-c-accent);
    --search-c-text: var(--vp-c-text);
    --search-c-divider: var(--vp-c-divider);
    --search-c-item-text: var(--vp-c-text-subtle);
    --search-c-item-focus: var(--vp-c-bg-alt);
    --search-input-width: 8rem;
    --search-result-width: 20rem
}

.search-box {
    margin-inline-start: 1rem;
    display: inline-block;
    position: relative
}

@media print {
    .search-box {
        display: none
    }
}

.search-box input {
    width: var(--search-input-width);
    border: 1px solid var(--search-c-divider);
    background: var(--search-c-bg) url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='13'%3E%3Cg fill='none' stroke='%23aaa' stroke-width='2'%3E%3Cpath d='m11.29 11.71-4-4'/%3E%3Ccircle cx='5' cy='5' r='4'/%3E%3C/g%3E%3C/svg%3E") .6rem .5rem no-repeat;
    height: 2rem;
    color: var(--search-c-text);
    cursor: text;
    appearance: none;
    background-size: 1rem;
    border-radius: 2rem;
    outline: none;
    padding-block: 0;
    padding-inline: 2rem .5rem;
    font-size: .9rem;
    line-height: 2rem;
    transition: all .3s;
    display: inline-block
}

@media (width<=719px) {
    .search-box input {
        cursor: pointer;
        border-color: #0000;
        width: 0;
        position: relative
    }
}

.search-box input:focus {
    border-color: var(--search-c-accent);
    cursor: auto
}

@media (width<=719px) {
    .search-box input:focus {
        cursor: text;
        width: 10rem;
        inset-inline-start: 0
    }
}

@media (width<=419px) {
    .search-box input:focus {
        width: 8rem
    }
}

.search-box .suggestions {
    width: var(--search-result-width);
    border: 1px solid var(--search-c-divider);
    background: var(--search-c-bg);
    inset-inline-end: 0;
    border-radius: 6px;
    padding: .4rem;
    list-style-type: none;
    position: absolute;
    top: 2rem
}

@media (width<=419px) {
    .search-box .suggestions {
        width: calc(100vw - 4rem);
        inset-inline-end: -.5rem
    }
}

.search-box .suggestion {
    cursor: pointer;
    border-radius: 4px;
    padding: .4rem .6rem;
    line-height: 1.4
}

.search-box .suggestion a {
    color: var(--search-c-item-text);
    white-space: normal
}

.search-box .suggestion.focus {
    background-color: var(--search-c-item-focus)
}

.search-box .suggestion.focus a {
    color: var(--search-c-accent)
}

.search-box .suggestion .page-title {
    font-weight: 600
}

.search-box .suggestion .page-header {
    margin-inline-start: .25em;
    font-size: .9em
}

:root {
    --code-copy-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");
    --code-copied-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23808080' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9l2 2 4-4'/%3E%3C/svg%3E");
    --copy-code-c-text: var(--code-c-line-number);
    --copy-code-c-hover: var(--code-c-highlight-bg)
}

.vp-copy-code-button {
    z-index: 5;
    opacity: 0;
    cursor: pointer;
    background: 0 0;
    border-width: 0;
    border-radius: .5rem;
    outline: none;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    transition: opacity .4s;
    position: absolute;
    top: .5em;
    right: .5em
}

@media print {
    .vp-copy-code-button {
        display: none
    }
}

.vp-copy-code-button:before {
    content: "";
    width: 1.25rem;
    height: 1.25rem;
    color: var(--copy-code-c-text);
    -webkit-mask-image: var(--code-copy-icon);
    -webkit-mask-image: var(--code-copy-icon);
    mask-image: var(--code-copy-icon);
    background: currentColor;
    padding: .625rem;
    font-size: 1.25rem;
    display: inline-block;
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-size: 1em;
    mask-size: 1em;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat
}

.vp-copy-code-button:focus,
.vp-copy-code-button.copied {
    opacity: 1
}

.vp-copy-code-button:hover,
.vp-copy-code-button.copied {
    background: var(--copy-code-c-hover)
}

.vp-copy-code-button.copied:before {
    -webkit-mask-image: var(--code-copied-icon);
    -webkit-mask-image: var(--code-copied-icon);
    mask-image: var(--code-copied-icon)
}

.vp-copy-code-button.copied:after {
    content: attr(data-copied);
    background: var(--copy-code-c-hover);
    height: 1.25rem;
    color: var(--copy-code-c-text);
    white-space: nowrap;
    border-radius: .5rem;
    padding: .625rem;
    font-weight: 500;
    line-height: 1.25rem;
    display: block;
    position: absolute;
    top: 0;
    right: calc(100% + .25rem)
}

.no-copy-code .vp-copy-code-button,
body:not(.no-copy-code) div[class*=language-]:hover:before {
    display: none
}

body:not(.no-copy-code) div[class*=language-]:hover .vp-copy-code-button {
    opacity: 1
}

:root {
    --message-offset: calc(var(--vp-header-offset, 3.6rem) + 1rem);
    --message-timing-duration: .3s;
    --message-timing-function: ease-in-out;
    --message-gap: .5rem
}

@keyframes message-move-in {
    0% {
        opacity: 0;
        transform: translateY(-10px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes message-move-out {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    to {
        opacity: 0;
        transform: translateY(-100%)
    }
}

#message-container {
    inset: var(--message-offset) 0 auto;
    z-index: 75;
    gap: var(--message-gap);
    text-align: center;
    flex-flow: column;
    align-items: center;
    display: flex;
    position: fixed
}

.message-item {
    background: var(--vp-c-bg);
    color: var(--vp-c-text);
    box-shadow: 0 0 10px 0 var(--vp-c-shadow);
    border-radius: 3px;
    padding: 8px 10px;
    font-size: 14px;
    display: inline-block
}

.message-item.move-in {
    animation: message-move-in var(--message-timing-duration) var(--message-timing-function)
}

.message-item.move-out {
    animation: message-move-out var(--message-timing-duration) var(--message-timing-function);
    animation-fill-mode: forwards
}

.message-item svg {
    margin-inline-end: 5px;
    position: relative;
    bottom: -.125em
}

:root {
    --code-c-text: #9e9e9e;
    --code-c-highlight-bg: #8e96aa24
}

.shiki span {
    color: var(--shiki-light, inherit)
}

[data-theme=dark] .shiki span {
    color: var(--shiki-dark, inherit)
}

div[data-highlighter=shiki] {
    background-color: var(--code-c-bg, var(--shiki-light-bg))
}

[data-theme=dark] div[data-highlighter=shiki] {
    background-color: var(--code-c-bg, var(--shiki-dark-bg))
}


.login-btn {
    color: #1a1a1a !important;
    background: #00ffaa !important;
}

.logout-btn {
    color: #1a1a1a !important;
    background: #00ffaa !important;
}

.request-btn {
    color: #00ffaa !important;
    background: #1a1a1a !important;
}

.login-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}

.below-button {
    display: block;
    max-width: 150px;
    margin: 24px auto;
    padding: 8px 50px;

    text-align: center;

    border-radius: 3px;
    font-size: 14px;
    border: 1px solid transparent;
    transition: 0.2s ease;

    cursor: pointer;
    transition: all 0.2s ease;
}


.login-page {
    max-width: 960px;
    margin: 0 auto;
    padding: 3rem 2rem 5rem;
}

.login-logo {
    display: block;
    width: 420px;
    max-width: 100%;
    margin: 0 auto 1rem;
}

.login-card {
    max-width: 520px;
    margin: 3rem auto 0;
    padding: 2.5rem;
    background: white;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(0, 0, 0, 0.04);
}

.login-card::before {
    content: "";
    display: block;
    width: 60px;
    height: 4px;
    background: #3eaf7c;
    border-radius: 999px;
    margin: 0 auto 1.5rem;
}

.login-title {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 1rem;
}

.input-group {
    margin-bottom: 1.25rem;
}

.input-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: #2c3e50;
}

.input-group input {
    width: 100%;
    box-sizing: border-box;
    padding: 1rem;
    border: 1px solid #dfe2e5;
    border-radius: 8px;
    font-size: 1rem;
    transition: all .2s ease;
}

.input-group input:focus {
    outline: none;
    border-color: #3eaf7c;
    box-shadow: 0 0 0 3px rgba(62, 175, 124, 0.12);
}

.checkbox-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: #2c3e50;
    font-weight: 500;
}

.hidden {
    display: none;
}

.login-button {
    width: 100%;
    font-size: 1rem;
    font-weight: 600;
    padding: 1rem;
    border-radius: 8px;
    border: 2px solid #3eaf7c;
    color: #3eaf7c;
    background: transparent;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
}

.login-button:hover {
    background-color: #3eaf7c;
    color: white;
}

.request-link {
    margin-top: 1.5rem;
    text-align: center;
    font-size: 0.95rem;
    color: #64748b;
}

.request-link a {
    color: #3eaf7c;
    text-decoration: none;
    font-weight: 600;
}

.request-link a:hover {
    text-decoration: underline;
}

.flash-container {
    margin-bottom: 1.5rem;
}

.flash {
    padding: 0.9rem 1rem;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 500;
    margin-bottom: 0.75rem;
    border: 1px solid transparent;
}

/* success */
.flash-success {
    background: rgba(62, 175, 124, 0.12);
    border-color: rgba(62, 175, 124, 0.4);
    color: #3eaf7c;
}

/* error */
.flash-error {
    background: rgba(239, 68, 68, 0.10);
    border-color: rgba(239, 68, 68, 0.35);
    color: #dc2626;
}

/* optional warning/info */
.flash-warning {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.35);
    color: #d97706;
}

.flash-info {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.35);
    color: #2563eb;
}


@media (max-width: 768px) {

    .login-logo {
        display: block;
        width: 450px;
        max-width: 100%;

        margin: 2rem auto 1.5rem;
    }

    .login-page {
        padding: 2rem 1rem;
    }
}

.remember-me {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
}

.remember-me input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #3eaf7c;
    cursor: pointer;
}

.remember-me label {
    margin: 0;
    color: #2c3e50;
    cursor: pointer;
    font-weight: 500;
}

.wiki-access {
    box-sizing: border-box;
    width: min(600px, calc(100% - 2rem));
    margin: 0 auto 2.5rem;
    padding: 1.25rem 1.5rem;

    text-align: center;
    color: #1a1a1a;
    border: 2px solid var(--vp-c-accent-bg);
    border-radius: 4px;
}

.wiki-access h2 {
    margin: 0 0 0.4rem;
    color: #1a1a1a;
    font-size: 1.15rem;
    line-height: 1.3;
}

.wiki-access p {
    margin: 0.25rem 0;
    color: #1a1a1a;
    font-size: 0.9rem;
    line-height: 1.4;
}

.wiki-access .request-btn {
    display: inline-block;
    margin-top: 0.75rem;
    padding: 0.55rem 1rem;
    border: 2px solid #1a1a1a;
    border-radius: 4px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 719px) {
    .wiki-access {
        padding: 1rem;
    }
}

[data-theme="dark"] .wiki-access {
    color: #fff;
}

[data-theme="dark"] .wiki-access h2,
[data-theme="dark"] .wiki-access p {
    color: #fff;
}

/*$vite$:1*/