html[data-theme=dark] {
    --text-color: #9e9e9e;
    --bg-color: #0d1117;
    --bg-color-secondary: #161b22;
    --bg-color-tertiary: #21262c;
    --border-color: #30363d;
    --box-shadow: #282a32;
    --card-shadow: rgba(0, 0, 0, .3);
    --black: #fff;
    --dark-grey: #999;
    --light-grey: #666;
    --white: #000;
    --grey3: #bbb;
    --grey12: #333;
    --grey14: #111;
    --bg-color-light: #161b22;
    --bg-color-back: #0d1117;
    --bg-color-float: #161b22;
    --bg-color-blur: rgba(13, 17, 23, .9);
    --bg-color-float-blur: rgba(22, 27, 34, .9);
    --text-color-light: #a8a8a8;
    --text-color-lighter: #b1b1b1;
    --text-color-bright: #c5c5c5;
    --border-color-light: #2e333a;
    --border-color-dark: #394048
}

:root {
    --theme-color: #3eaf7c;
    --text-color: #2c3e50;
    --bg-color: #fff;
    --bg-color-secondary: #f8f8f8;
    --bg-color-tertiary: #efeef4;
    --border-color: #eaecef;
    --box-shadow: #f0f1f2;
    --card-shadow: rgba(0, 0, 0, .15);
    --black: #000;
    --dark-grey: #666;
    --light-grey: #999;
    --white: #fff;
    --grey3: #333;
    --grey12: #bbb;
    --grey14: #eee;
    --navbar-height: 3.75rem;
    --navbar-horizontal-padding: 1.5rem;
    --navbar-vertical-padding: .7rem;
    --navbar-mobile-height: 3.25rem;
    --navbar-mobile-horizontal-padding: 1rem;
    --navbar-mobile-vertical-padding: .5rem;
    --sidebar-width: 18rem;
    --sidebar-mobile-width: 16rem;
    --content-width: 780px;
    --home-page-width: 1160px;
    --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;
    --font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;
    --font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
    --line-numbers-width: 2.5rem;
    --color-transition: .3s ease;
    --transform-transition: .3s ease;
    --vp-bg: var(--bg-color);
    --vp-bgl: var(--bg-color-light);
    --vp-bglt: var(--bg-color-tertiary);
    --vp-c: var(--text-color);
    --vp-cl: var(--text-color-light);
    --vp-clt: var(--text-color-lighter);
    --vp-brc: var(--border-color);
    --vp-brcd: var(--border-color-dark);
    --vp-tc: var(--theme-color);
    --vp-tcl: var(--theme-color-light);
    --vp-ct: var(--color-transition);
    --vp-tt: var(--transform-transition);
    --bg-color-light: #fff;
    --bg-color-back: #f8f8f8;
    --bg-color-float: #fff;
    --bg-color-blur: rgba(255, 255, 255, .9);
    --bg-color-float-blur: rgba(255, 255, 255, .9);
    --text-color-light: #3a5169;
    --text-color-lighter: #476582;
    --text-color-bright: #6a8bad;
    --border-color-light: #eceef1;
    --border-color-dark: #cfd4db;
    --theme-color-dark: #389e70;
    --theme-color-light: #4abf8a;
    --theme-color-mask: rgba(62, 175, 124, .15)
}

.font-icon {
    display: inline-block
}

.theme-hope-content .font-icon {
    vertical-align: middle
}

.vp-artplayer {
    text-align: center
}

:root {
    --badge-tip-color: #42b983;
    --badge-warning-color: #f4cd00;
    --badge-danger-color: #f55;
    --badge-info-color: #0295ff;
    --badge-note-color: #666
}

.vp-badge {
    display: inline-block;
    vertical-align: center;
    height: 18px;
    padding: 0 6px;
    border-radius: 3px;
    background: var(--vp-tc);
    color: var(--white);
    font-size: 14px;
    line-height: 18px;
    transition: background var(--vp-ct),color var(--vp-ct)
}

.vp-badge+.vp-badge {
    margin-inline-start:5px}

h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge {
    vertical-align: top
}

.vp-badge.tip {
    background: var(--badge-tip-color)
}

.vp-badge.warning {
    background: var(--badge-warning-color)
}

.vp-badge.danger {
    background: var(--badge-danger-color)
}

.vp-badge.info {
    background: var(--badge-info-color)
}

.vp-badge.note {
    background: var(--badge-note-color)
}

@media print {
    .bilibili-desc a {
        display: block
    }
}

.bilibili-iframe {
    margin: 8px 0;
    border: none;
    border-radius: 8px
}

@media print {
    .bilibili-iframe {
        display: none
    }
}

.codepen-wrapper {
    margin: 1rem auto;
    padding: 1rem;
    border: 1px solid var(--vp-brc);
    text-align: center;
    transition: background var(--vp-ct),border var(--vp-ct)
}

.codepen-wrapper .codepen-button {
    display: block;
    margin: 16px auto;
    padding: 8px 16px;
    border: 1px solid var(--vp-tc);
    border-radius: 4px;
    background: transparent;
    color: var(--vp-tc);
    font-size: 16px;
    cursor: pointer;
    transition: background var(--vp-ct),border var(--vp-ct),color var(--vp-ct)
}

.codepen-wrapper .codepen-button:hover {
    background: var(--vp-tcl);
    color: var(--vp-bg)
}

iframe[src*="codepen.io"] {
    border: none
}

.pdf-viewer-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 8px
}

.pdf-viewer {
    width: 100%;
    height: 100%
}

.replit-wrapper {
    margin: 8px 0;
    border: none;
    text-align: center
}

.replit-wrapper .replit-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    display: inline-block;
    margin: 0 auto;
    padding: .5rem 1rem;
    border-radius: .5rem;
    background: var(--vp-bglt);
    color: var(--vp-c);
    font-weight: 600;
    line-height: 1.5;
    transition: background .3s ease,color .3s ease
}

.replit-wrapper .replit-button:hover {
    background: var(--vp-tc);
    color: var(--white, #fff)
}

.replit-iframe {
    border: none;
    border-radius: 8px
}

:root {
    --balloon-border-radius: 2px;
    --balloon-color: rgba(16, 16, 16, .95);
    --balloon-text-color: #fff;
    --balloon-font-size: 12px;
    --balloon-move: 4px
}

button[aria-label][data-balloon-pos] {
    overflow: visible
}

[aria-label][data-balloon-pos] {
    position: relative;
    cursor: pointer
}

[aria-label][data-balloon-pos]:after {
    opacity: 0;
    pointer-events: none;
    transition: all .18s ease-out .18s;
    text-indent: 0;
    font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
    font-weight: 400;
    font-style: normal;
    text-shadow: none;
    font-size: var(--balloon-font-size);
    background: var(--balloon-color);
    border-radius: 2px;
    color: var(--balloon-text-color);
    border-radius: var(--balloon-border-radius);
    content: attr(aria-label);
    padding: .5em 1em;
    position: absolute;
    white-space: nowrap;
    z-index: 10
}

[aria-label][data-balloon-pos]:before {
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-top-color: var(--balloon-color);
    opacity: 0;
    pointer-events: none;
    transition: all .18s ease-out .18s;
    content: "";
    position: absolute;
    z-index: 10
}

[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after {
    opacity: 1;
    pointer-events: none
}

[aria-label][data-balloon-pos].font-awesome:after {
    font-family: FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif
}

[aria-label][data-balloon-pos][data-balloon-break]:after {
    white-space: pre
}

[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after {
    white-space: pre-line;
    word-break: break-word
}

[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after {
    transition: none
}

[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after {
    transform: translate(-50%)
}

[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before {
    transform: translate(-50%)
}

[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after {
    left: 0
}

[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before {
    left: 5px
}

[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after {
    right: 0
}

[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before {
    right: 5px
}

[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after {
    transform: translate(0)
}

[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before {
    transform: translate(0)
}

[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after {
    bottom: 100%;
    transform-origin: top;
    transform: translateY(var(--balloon-move))
}

[aria-label][data-balloon-pos][data-balloon-pos^=up]:after {
    margin-bottom: 10px
}

[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after {
    left: 50%;
    transform: translate(-50%,var(--balloon-move))
}

[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after {
    top: 100%;
    transform: translateY(calc(var(--balloon-move) * -1))
}

[aria-label][data-balloon-pos][data-balloon-pos^=down]:after {
    margin-top: 10px
}

[aria-label][data-balloon-pos][data-balloon-pos^=down]:before {
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-bottom-color: var(--balloon-color)
}

[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before {
    left: 50%;
    transform: translate(-50%,calc(var(--balloon-move) * -1))
}

[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after {
    transform: translateY(-50%)
}

[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before {
    transform: translateY(-50%)
}

[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before {
    right: 100%;
    top: 50%;
    transform: translate(var(--balloon-move),-50%)
}

[aria-label][data-balloon-pos][data-balloon-pos=left]:after {
    margin-right: 10px
}

[aria-label][data-balloon-pos][data-balloon-pos=left]:before {
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left-color: var(--balloon-color)
}

[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before {
    left: 100%;
    top: 50%;
    transform: translate(calc(var(--balloon-move) * -1),-50%)
}

[aria-label][data-balloon-pos][data-balloon-pos=right]:after {
    margin-left: 10px
}

[aria-label][data-balloon-pos][data-balloon-pos=right]:before {
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-right-color: var(--balloon-color)
}

[aria-label][data-balloon-pos][data-balloon-length]:after {
    white-space: normal
}

[aria-label][data-balloon-pos][data-balloon-length=small]:after {
    width: 80px
}

[aria-label][data-balloon-pos][data-balloon-length=medium]:after {
    width: 150px
}

[aria-label][data-balloon-pos][data-balloon-length=large]:after {
    width: 260px
}

[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after {
    width: 380px
}

@media screen and (max-width: 768px) {
    [aria-label][data-balloon-pos][data-balloon-length=xlarge]:after {
        width:90vw
    }
}

[aria-label][data-balloon-pos][data-balloon-length=fit]:after {
    width: 100%
}

@keyframes popup-appear {
    0% {
        opacity: 0;
        transform: scale(.8)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes popup-disappear {
    0% {
        opacity: 1;
        transform: scale(1)
    }

    to {
        opacity: 0;
        transform: scale(.8)
    }
}

#popup-container .popup-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,.2)
}

#popup-container .popup-wrapper.appear .popup-container {
    animation: popup-appear .3s ease-in-out
}

#popup-container .popup-wrapper.disappear .popup-container {
    animation: popup-disappear .3s ease-in-out;
    animation-fill-mode: forwards
}

.vp-share-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    display: inline-block;
    padding: .25em
}

.vp-share-icon {
    width: 2em;
    height: 2em;
    color: #fff;
    transition: transform var(--vp-tt)
}

.vp-share-icon.plain {
    width: 1.5em;
    height: 1.5em;
    color: var(--dark-grey)
}

.vp-share-icon.plain :hover {
    color: var(--vp-tc)
}

.vp-share-icon:not(.plain):hover {
    transform: scale(1.1)
}

.vp-share-icon.colorful {
    width: 1.5em;
    height: 1.5em;
    padding: .25em;
    border-radius: 50%
}

.vp-share-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentcolor
}

.vp-site-info {
    position: relative;
    display: inline-block;
    overflow: hidden;
    width: calc(50% - 16px);
    margin: 4px 8px;
    border-radius: 8px;
    color: inherit;
    box-shadow: 1px 1px 8px var(--card-shadow);
    cursor: pointer;
    transition: box-shadow var(--transform-transition)
}

@media (max-width: 959px) {
    .vp-site-info {
        width:calc(100% - 24px)
    }
}

.vp-site-info:hover {
    background: var(--vp-bgl);
    box-shadow: 1px 4px 16px var(--card-shadow)
}

.vp-site-info:before {
    content: "";
    display: inline-block;
    width: 0;
    padding-top: 55%
}

.vp-site-info-navigator {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block
}

.vp-site-info-preview {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.vp-site-info-detail {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: .5rem 1rem;
    text-align: center;
    opacity: 1;
    transition: opacity ease .6s
}

.vp-site-info-detail:before {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--vp-bg);
    opacity: .75
}

.vp-site-info:hover .vp-site-info-detail {
    opacity: 0
}

.vp-site-info-logo {
    z-index: 1;
    height: 3rem;
    margin: 0 auto
}

.vp-site-info-name {
    z-index: 1;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--dark-grey);
    color: var(--black);
    font-weight: 700;
    font-size: 20px
}

.vp-site-info-desc {
    z-index: 1;
    flex-shrink: 1;
    overflow: hidden;
    color: var(--black);
    font-size: 15px;
    line-height: 1.3;
    text-overflow: ellipsis
}

.vp-site-info-source-wrapper {
    position: absolute;
    bottom: 16px;
    inset-inline-end: 16px;
    z-index: 3
}

.vp-site-info-source {
    display: inline-block;
    width: 20px;
    height: 20px;
    padding: 4px;
    border-radius: 50%;
    background: var(--black);
    transition: transform var(--transform-transition)
}

.vp-site-info-source:before {
    display: none
}

.vp-site-info-source:hover {
    transform: scale(1.05)
}

.vp-site-info-source .icon {
    width: 100%;
    height: 100%;
    color: var(--white)
}

.stackblitz-container {
    margin: 8px 0;
    border-radius: 8px;
    text-align: center
}

.stackblitz-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    margin: 0 auto;
    padding: .5rem 1rem;
    border-radius: .5rem;
    background: var(--vp-bglt);
    color: var(--vp-c);
    font-weight: 600;
    line-height: 1.5;
    transition: background var(--vp-ct),color var(--vp-ct)
}

.stackblitz-button:hover {
    background: var(--vp-tc);
    color: var(--white)
}

.vp-banner {
    max-width: 880px;
    margin: 1rem .5rem;
    padding: 2.5rem;
    border-radius: 1.5rem;
    background: var(--vp-bg);
    color: inherit;
    box-shadow: 2px 2px 10px 2px var(--card-shadow);
    transition: background var(--vp-ct),box-shadow var(--vp-ct)
}

@media (max-width: 719px) {
    .vp-banner {
        margin:.75rem 0;
        padding: 1rem 1.5rem
    }
}

.vp-banner-logo {
    float: right;
    width: 6rem;
    height: 6rem;
    margin-bottom: 12px;
    margin-inline-start:12px}

.vp-banner-title {
    font-weight: 500;
    font-size: 2rem;
    line-height: 1.5
}

@media (max-width: 719px) {
    .vp-banner-title {
        font-size:1.75rem
    }
}

.vp-banner-content {
    max-width: 80%;
    font-size: 1.125rem
}

@media (max-width: 719px) {
    .vp-banner-content {
        font-size:1rem
    }
}

.vp-banner-actions {
    display: flex;
    flex-wrap: wrap
}

.vp-banner-action {
    height: 3rem;
    margin: .25rem .5rem;
    padding: 0 1.75rem;
    border-radius: 1.5rem;
    background-color: #7f7f7f1a;
    color: inherit;
    font-size: 1rem;
    line-height: 3;
    text-decoration: none!important
}

@media (max-width: 719px) {
    .vp-banner-action {
        height:2.5rem;
        line-height: 2.5
    }
}

.vp-banner-action:hover {
    background-color: var(--c-border)
}

.vp-banner-action.primary {
    background: var(--vp-tc);
    color: var(--white)
}

.vp-banner-action.primary:hover {
    background: var(--vp-tcl)
}

.vp-card {
    display: inline-flex;
    align-items: center;
    max-width: 400px;
    margin: 1rem .5rem;
    padding: 1rem;
    border-radius: .5rem;
    background: var(--vp-bg);
    color: inherit;
    box-shadow: 2px 2px 10px 0 var(--card-shadow);
    transition: background var(--vp-ct),box-shadow var(--vp-ct)
}

.vp-card:hover {
    background: var(--vp-bgl);
    text-decoration: none!important
}

.vp-card hr {
    margin: .25em 0
}

.vp-card-logo {
    width: 3em;
    height: 3em;
    margin-inline-end:1em;border-radius: 50%
}

.vp-card-content {
    flex: 1
}

.vp-card-title {
    font-weight: 500;
    font-size: 1.1em
}

.vp-card-desc {
    color: #888;
    font-size: .9em;
    line-height: 1.5;
    transition: color var(--vp-ct)
}

.vp-card-container {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    place-content: stretch center
}

.vp-card-container .vp-card {
    flex-basis: calc(50% - 3rem);
    max-width: unset;
    margin: .5rem
}

@media (max-width: 959px) {
    .vp-card-container .vp-card {
        flex-basis:100%
    }
}

@media (max-width: 719px) {
    .vp-card-container .vp-card {
        font-size:.95rem
    }
}

@media (max-width: 419px) {
    .vp-card-container .vp-card {
        font-size:.9rem
    }
}

[data-media-player] {
    width: 100%;
    display: inline-flex;
    align-items: center;
    position: relative;
    contain: style;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

:where([data-media-player][data-view-type=video]) {
    aspect-ratio: 16 / 9
}

[data-media-player]:focus,[data-media-player]:focus-visible {
    outline: none
}

[data-media-player][data-view-type=video][data-started]:not([data-controls]) {
    pointer-events: auto;
    cursor: none
}

[data-media-player] slot {
    display: contents
}

[data-media-provider] {
    display: flex;
    position: relative;
    box-sizing: border-box;
    align-items: center;
    width: 100%;
    aspect-ratio: inherit
}

[data-media-player]:not([data-view-type=audio]) [data-media-provider],[data-media-player][data-fullscreen] [data-media-provider] {
    height: 100%
}

[data-media-player][data-view-type=audio] [data-media-provider] {
    display: contents;
    background-color: unset
}

[data-media-provider] audio {
    width: 100%
}

:where([data-media-provider] video),:where([data-media-provider] iframe) {
    aspect-ratio: inherit;
    display: inline-block;
    height: auto;
    -o-object-fit: contain;
    object-fit: contain;
    touch-action: manipulation;
    border-radius: inherit;
    width: 100%
}

[data-media-provider] iframe {
    height: 100%
}

[data-media-player][data-view-type=audio] video,[data-media-player][data-view-type=audio] iframe {
    display: none
}

[data-media-player][data-fullscreen] video {
    height: 100%
}

iframe.vds-youtube[data-no-controls] {
    height: 1000%
}

.vds-blocker {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    aspect-ratio: inherit;
    pointer-events: auto;
    z-index: 1
}

[data-ended] .vds-blocker {
    background-color: #000
}

.vds-icon:focus {
    outline: none
}

:where(.vds-buffering-indicator) {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1
}

:where(.vds-buffering-indicator) :where(.vds-buffering-icon,.vds-buffering-spinner) {
    opacity: 0;
    pointer-events: none;
    transition: var(--media-buffering-transition, opacity .2s ease)
}

:where(.vds-buffering-indicator) :where(.vds-buffering-icon,svg.vds-buffering-spinner,.vds-buffering-spinner svg) {
    width: var(--media-buffering-size, 84px)!important;
    height: var(--media-buffering-size, 84px)!important
}

:where(.vds-buffering-indicator) :where(.vds-buffering-track,circle[data-part=track]) {
    color: var(--media-buffering-track-color, #f5f5f5)!important;
    opacity: var(--media-buffering-track-opacity, .25);
    stroke-width: var(--media-buffering-track-width, 8)!important
}

:where(.vds-buffering-indicator) :where(.vds-buffering-track-fill,circle[data-part=track-fill]) {
    color: var(--media-buffering-track-fill-color, var(--media-brand))!important;
    opacity: var(--media-buffering-track-fill-opacity, .75);
    stroke-width: var(--media-buffering-track-fill-width, 9)!important;
    stroke-dasharray: 100;
    stroke-dashoffset: var(--media-buffering-track-fill-offset, 50)!important
}

:where([data-buffering]) :where(.vds-buffering-icon,.vds-buffering-spinner) {
    opacity: 1;
    animation: var(--media-buffering-animation, vds-buffering-spin 1s linear infinite)
}

@keyframes vds-buffering-spin {
    to {
        transform: rotate(360deg)
    }
}

:where(.vds-button) {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    -moz-user-select: none;
    user-select: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    outline: none;
    border: none;
    padding: var(--media-button-padding, 0px);
    border-radius: var(--media-button-border-radius, 8px);
    color: var(--media-button-color, var(--media-controls-color, #f5f5f5));
    width: var(--media-button-size, 40px);
    height: var(--media-button-size, 40px);
    transition: transform .2s ease-out;
    contain: layout style;
    cursor: pointer;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation
}

.vds-button {
    border: var(--media-button-border)
}

:where([data-fullscreen] .vds-button) {
    width: var(--media-fullscreen-button-size, 42px);
    height: var(--media-fullscreen-button-size, 42px)
}

@media screen and (max-width: 599px) {
    :where([data-fullscreen] .vds-button) {
        width:var(--media-sm-fullscreen-button-size, 42px);
        height: var(--media-sm-fullscreen-button-size, 42px)
    }
}

:where(.vds-button .vds-icon) {
    width: var(--media-button-icon-size, 80%);
    height: var(--media-button-icon-size, 80%);
    border-radius: var(--media-button-border-radius, 8px)
}

:where(.vds-menu-button .vds-icon) {
    display: flex!important
}

:where(.vds-button[aria-hidden=true]) {
    display: none!important
}

@media (hover: hover) and (pointer: fine) {
    .vds-button:hover {
        background-color:var(--media-button-hover-bg, rgb(255 255 255 / .2))
    }

    .vds-button:hover {
        transform: var(--media-button-hover-transform, scale(1));
        transition: var(--media-button-hover-transition, transform .2s ease-in)
    }
}

@media (pointer: coarse) {
    .vds-button:hover {
        border-radius:var(--media-button-touch-hover-border-radius, 100%);
        background-color: var(--media-button-touch-hover-bg, rgb(255 255 255 / .2))
    }
}

:where(.vds-button:focus) {
    outline: none
}

:where(.vds-button[data-focus]) {
    box-shadow: var(--media-focus-ring)
}

:where(.vds-live-button) {
    min-width: auto;
    min-height: auto;
    width: var(--media-live-button-width, 40px);
    height: var(--media-live-button-height, 40px);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    outline: none;
    border: none
}

:where(.vds-live-button-text) {
    background-color: var(--media-live-button-bg, #8a8a8a);
    border-radius: var(--media-live-button-border-radius, 2px);
    color: var(--media-live-button-color, #161616);
    font-family: var(--media-font-family, sans-serif);
    font-size: var(--media-live-button-font-size, 12px);
    font-weight: var(--media-live-button-font-weight, 600);
    letter-spacing: var(--media-live-button-letter-spacing, 1.5px);
    padding: var(--media-live-button-padding, 1px 4px);
    transition: color .3s ease
}

:where(.vds-live-button[data-focus] .vds-live-button-text) {
    box-shadow: var(--media-focus-ring)
}

:where(.vds-live-button[data-edge]) {
    cursor: unset
}

:where(.vds-live-button[data-edge] .vds-live-button-text) {
    background-color: var(--media-live-button-edge-bg, #dc2626);
    color: var(--media-live-button-edge-color, #f5f5f5)
}

@media (pointer: fine) {
    :where(.vds-live-button:hover) {
        background-color:unset
    }
}

.vds-button:not([data-paused]) .vds-play-icon,.vds-button[data-ended] .vds-play-icon,.vds-button[data-paused] .vds-pause-icon,.vds-button[data-ended] .vds-pause-icon,.vds-button:not([data-ended]) .vds-replay-icon,.vds-button[data-active] .vds-pip-enter-icon,.vds-button:not([data-active]) .vds-pip-exit-icon,.vds-button[data-active] .vds-fs-enter-icon,.vds-button:not([data-active]) .vds-fs-exit-icon,.vds-button:not([data-active]) .vds-cc-on-icon,.vds-button[data-active] .vds-cc-off-icon,.vds-button:not([data-muted]) .vds-mute-icon,.vds-button:not([data-state=low]) .vds-volume-low-icon,.vds-button:not([data-state=high]) .vds-volume-high-icon {
    display: none
}

:where(.vds-captions) {
    --overlay-padding: var(--media-captions-padding, 1%);
    --cue-color: var(--media-cue-color, white);
    --cue-bg-color: var(--media-cue-bg, rgba(0, 0, 0, .7));
    --cue-font-size: var(--media-cue-font-size, calc(var(--overlay-height) / 100 * 4.5));
    --cue-line-height: var(--media-cue-line-height, calc(var(--cue-font-size) * 1.2));
    --cue-padding-x: var(--media-cue-padding-x, calc(var(--cue-font-size) * .6));
    --cue-padding-y: var(--media-cue-padding-x, calc(var(--cue-font-size) * .4));
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    contain: layout style;
    margin: var(--overlay-padding);
    font-size: var(--cue-font-size);
    font-family: sans-serif;
    box-sizing: border-box;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    word-spacing: normal;
    word-break: break-word
}

@media screen and (min-width: 980px) {
    :where([data-fullscreen] .vds-captions) {
        --cue-font-size: var( --media-lg-fullscreen-cue-font-size, calc(var(--overlay-height) / 100 * 3) )
    }
}

@media screen and (max-width: 599px) and (orientation: portrait) {
    :where([data-fullscreen] .vds-captions) {
        --cue-font-size: 18px
    }
}

:where([data-view-type=audio] .vds-captions) {
    position: relative;
    margin: 0
}

:where(.vds-captions[aria-hidden=true]) {
    opacity: 0;
    visibility: hidden
}

:where(.vds-captions [data-part=cue-display]) {
    position: absolute;
    direction: ltr;
    overflow: visible;
    contain: content;
    top: var(--cue-top);
    left: var(--cue-left);
    right: var(--cue-right);
    bottom: var(--cue-bottom);
    width: var(--cue-width, auto);
    height: var(--cue-height, auto);
    box-sizing: border-box;
    transform: var(--cue-transform);
    text-align: var(--cue-text-align);
    writing-mode: var(--cue-writing-mode, unset);
    white-space: pre-line;
    unicode-bidi: plaintext;
    min-width: -moz-min-content;
    min-width: min-content;
    min-height: -moz-min-content;
    min-height: min-content;
    padding: var(--media-cue-display-padding);
    background-color: var(--media-cue-display-bg);
    border-radius: var(--media-cue-display-border-radius)
}

:where(.vds-captions[data-dir=rtl] [data-part=cue-display]) {
    direction: rtl
}

:where(.vds-captions [data-part=cue]) {
    display: inline-block;
    contain: content;
    border: var(--media-cue-border, unset);
    border-radius: var(--media-cue-border-radius, 2px);
    -webkit-backdrop-filter: var(--media-cue-backdrop, blur(8px));
    backdrop-filter: var(--media-cue-backdrop, blur(8px));
    padding: var(--cue-padding-y) var(--cue-padding-x);
    line-height: var(--cue-line-height);
    background-color: var(--cue-bg-color);
    box-sizing: border-box;
    color: var(--cue-color);
    box-shadow: var(--media-cue-box-shadow, var(--cue-box-shadow));
    white-space: var(--cue-white-space, pre-wrap);
    outline: var(--cue-outline);
    text-shadow: var(--cue-text-shadow)
}

:where(.vds-captions [data-part=cue-display][data-vertical] [data-part=cue]) {
    padding: var(--cue-padding-x) var(--cue-padding-y)
}

:where(.vds-captions [data-part=region]) {
    --anchor-x-percent: calc(var(--region-anchor-x) / 100);
    --anchor-x: calc(var(--region-width) * var(--anchor-x-percent));
    --anchor-y-percent: calc(var(--region-anchor-y) / 100);
    --anchor-y: calc(var(--region-height) * var(--anchor-y-percent));
    --vp-anchor-x: calc(var(--region-viewport-anchor-x) * 1%);
    --vp-anchor-y-percent: calc(var(--region-viewport-anchor-y) / 100);
    --vp-anchor-y: calc(var(--overlay-height) * var(--vp-anchor-y-percent));
    position: absolute;
    display: inline-flex;
    flex-flow: column;
    justify-content: flex-start;
    width: var(--region-width);
    height: var(--region-height);
    min-height: 0px;
    max-height: var(--region-height);
    writing-mode: horizontal-tb;
    top: var(--region-top, calc(var(--vp-anchor-y) - var(--anchor-y)));
    left: var(--region-left, calc(var(--vp-anchor-x) - var(--anchor-x)));
    right: var(--region-right);
    bottom: var(--region-bottom);
    overflow: hidden;
    overflow-wrap: break-word;
    box-sizing: border-box
}

:where(.vds-captions [data-part=region][data-scroll=up]) {
    justify-content: end
}

:where(.vds-captions [data-part=region][data-active][data-scroll=up]) {
    transition: top .433s
}

:where(.vds-captions [data-part=region]>[data-part=cue-display]) {
    position: relative;
    width: auto;
    left: var(--cue-offset);
    height: var(--cue-height, auto);
    text-align: var(--cue-text-align);
    unicode-bidi: plaintext;
    margin-top: 2px
}

:where(.vds-captions [data-part=region] [data-part=cue]) {
    position: relative;
    border-radius: 0
}

:where(.vds-chapter-title) {
    --color: var(--media-chapter-title-color, rgba(255 255 255 / .64));
    display: inline-block;
    font-family: var(--media-font-family, sans-serif);
    font-size: var(--media-chapter-title-font-size, 14px);
    font-weight: var(--media-chapter-title-font-weight, 500);
    color: var(--color);
    flex: 1 1 0%;
    padding-inline:8px;overflow: hidden;
    text-align: start;
    white-space: nowrap;
    text-overflow: ellipsis
}

.vds-chapter-title:before {
    content: var(--media-chapter-title-separator, "•");
    display: inline-block;
    margin-right: var(--media-chapter-title-separator-gap, 6px);
    color: var(--media-chapter-title-separator-color, var(--color))
}

.vds-chapter-title:empty:before {
    content: "";
    margin: 0
}

:where(.vds-controls),:where(.vds-controls-group) {
    position: relative;
    display: inline-block;
    width: 100%;
    box-sizing: border-box
}

:where([data-view-type=audio] .vds-controls) {
    display: inline-block;
    max-width: 100%
}

:where([data-view-type=video] .vds-controls) {
    display: flex;
    position: absolute;
    flex-direction: column;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    padding: var(--media-controls-padding, 0px);
    transition: var(--media-controls-out-transition, opacity .2s ease-out)
}

:where([data-view-type=video] .vds-controls[data-visible]) {
    opacity: 1;
    visibility: visible;
    transition: var(--media-controls-in-transition, opacity .2s ease-in)
}

:where(.vds-controls-spacer) {
    flex: 1 1 0%;
    pointer-events: none
}

:where(.vds-gestures) {
    display: contents
}

:where(.vds-gesture) {
    position: absolute;
    display: block;
    contain: content;
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none!important
}

:where(.vds-icon svg) {
    display: block;
    width: 100%;
    height: 100%;
    vertical-align: middle
}

:where(.vds-menu:not([data-submenu]) media-menu:not([data-submenu])) {
    display: contents
}

:where(.vds-menu) {
    font-family: var(--media-font-family, sans-serif);
    font-size: var(--media-menu-font-size, 15px);
    font-weight: var(--media-menu-font-weight, 500)
}

:where(.vds-menu[data-disabled]:not([data-submenu])) {
    display: none
}

:where(.vds-menu[data-submenu]) {
    display: inline-block
}

:where(.vds-menu-items:focus) {
    outline: none
}

:where(.vds-menu-items) :where([role=menuitem]:focus,[role=menuitemradio]:focus) {
    outline: none
}

:where(.vds-menu-items) :where([role=menuitem]:focus-visible,[role=menuitem][data-focus],[role=menuitemradio]:focus-visible,[role=menuitemradio][data-focus]),:where(.vds-radio[data-focus]) {
    outline: none;
    box-shadow: var(--media-focus-ring)
}

:where(.vds-menu[data-open] .vds-tooltip-content) {
    display: none!important
}

@media (prefers-reduced-motion: no-preference) {
    :where(.vds-menu-items) {
        scroll-behavior: smooth
    }
}

:where(.vds-menu-items) {
    box-sizing: border-box;
    min-width: var(--media-menu-min-width, 260px);
    scrollbar-width: thin
}

:where(.vds-menu-items)::-webkit-scrollbar {
    background-color: #000;
    border-radius: var(--media-menu-border-radius, 8px);
    height: 6px;
    width: 5px
}

:where(.vds-menu-items)::-webkit-scrollbar-track {
    background-color: var(--media-menu-scrollbar-track-bg, rgb(245 245 245 / .08));
    border-radius: 4px
}

:where(.vds-menu-items)::-webkit-scrollbar-thumb {
    background-color: var(--media-menu-scrollbar-thumb-bg, rgb(245 245 245 / .1));
    border-radius: 4px
}

:where(.vds-menu-items)::-webkit-scrollbar-corner {
    background-color: var(--media-menu-scrollbar-thumb-bg, rgb(245 245 245 / .1))
}

:where(.vds-menu-button) {
    outline: none
}

:where(.vds-menu-button[role=button] .vds-rotate-icon) {
    transition: transform .2s ease-out
}

:where(.vds-menu-button[aria-expanded=true] .vds-rotate-icon) {
    transform: rotate(var(--media-menu-button-icon-rotate-deg, 90deg));
    transition: transform .2s ease-in
}

:where(.vds-menu-button[role=button]) {
    display: inline-flex;
    align-items: center;
    justify-content: center
}

:where(.vds-menu-button) {
    box-sizing: border-box
}

:where(.vds-menu-button[role=button]) :where(.vds-menu-button-label,.vds-menu-button-hint) {
    position: absolute;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px,1px,1px,1px)
}

:where(.vds-menu-button[role=button]) :where(.vds-menu-button-open-icon,.vds-menu-button-close-icon) {
    display: none!important
}

:where(.vds-menu-button) :where(.vds-menu-button-hint,.vds-menu-button-open-icon) {
    color: var(--media-menu-hint-color, rgb(245 245 245 / .5));
    font-size: var(--media-menu-hint-font-size, 14px)
}

:where(.vds-menu-items) {
    display: flex;
    flex-direction: column;
    font-family: var(--media-font-family, sans-serif);
    font-size: var(--media-menu-font-size, 15px);
    font-weight: var(--media-menu-font-weight, 500);
    transition: height .35s ease
}

:where(.vds-menu-items:not([data-submenu])) {
    padding: var(--media-menu-padding, 10px);
    background-color: var(--media-menu-bg, rgb(10 10 10 / .95));
    border-radius: var(--media-menu-border-radius, 8px);
    box-shadow: var(--media-menu-box-shadow, 1px 1px 1px rgb(10 10 10 / .5));
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    height: var(--menu-height, auto);
    will-change: width,height;
    overflow-y: scroll;
    overscroll-behavior: contain;
    opacity: 0;
    z-index: 9999999;
    box-sizing: border-box;
    max-height: var(--media-menu-max-height, 250px)
}

.vds-menu-items:not([data-submenu]) {
    border: var(--media-menu-border, 1px solid rgb(255 255 255 / .1))
}

:where([data-view-type=video],.vds-video-layout) :where(.vds-menu-items:not([data-submenu])) {
    max-height: var(--media-menu-max-height, calc(var(--player-height) * .6))
}

:where(.vds-menu-items[data-resizing]) {
    pointer-events: none
}

:where(.vds-menu-items:not([data-submenu])) {
    --enter-transform: translateY(0px);
    --exit-transform: translateY(12px)
}

:where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
    --enter-transform: translateY(-24px)
}

:where(.vds-menu-items:not([data-submenu])[aria-hidden=true]) {
    animation: var(--media-menu-exit-animation, vds-menu-exit .2s ease-out)
}

:where(.vds-menu-items:not([data-submenu])[aria-hidden=false]) {
    animation: var(--media-menu-enter-animation, vds-menu-enter .3s ease-out);
    animation-fill-mode: forwards
}

:where(.vds-menu-items[data-placement~=bottom]) {
    --enter-transform: translateY(0);
    --exit-transform: translateY(-12px)
}

@keyframes vds-menu-enter {
    0% {
        opacity: 0;
        transform: var(--exit-transform)
    }

    to {
        opacity: 1;
        transform: var(--enter-transform)
    }
}

@keyframes vds-menu-exit {
    0% {
        opacity: 1;
        transform: var(--enter-transform)
    }

    to {
        opacity: 0;
        transform: var(--exit-transform)
    }
}

:where(media-menu-portal) {
    display: contents
}

:where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
    position: fixed;
    left: 16px;
    right: 16px;
    top: unset;
    bottom: 0;
    max-height: var(--media-sm-menu-portrait-max-height, 40vh);
    max-height: var(--media-sm-menu-portrait-max-height, 40dvh)
}

:where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
    max-width: 480px;
    margin: 0 auto
}

@media (orientation: landscape) and (pointer: coarse) {
    :where(.vds-menu-items:not([data-submenu]):not([data-placement])) {
        max-height:var(--media-sm-menu-landscape-max-height, min(70vh, 400px));
        max-height: var(--media-sm-menu-landscape-max-height, min(70dvh, 400px))
    }
}

:where(.vds-menu[data-submenu] .vds-menu-button) {
    display: flex;
    align-items: center;
    justify-content: flex-start
}

:where(.vds-menu-items[data-submenu]) {
    width: 100%;
    margin-top: 12px
}

:where(.vds-menu[aria-hidden=true]),:where(.vds-menu-items[data-submenu][aria-hidden=true]) {
    display: none
}

:where(.vds-menu-items) :where([role=menuitem],[role=menuitemradio]) {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: left;
    width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: var(--media-menu-item-border-radius, 2px);
    box-sizing: border-box
}

.vds-menu-items [role=menuitem],.vds-menu-items [role=menuitemradio] {
    border: var(--media-menu-item-border, 0);
    color: var(--media-menu-item-color, #f5f5f5);
    background-color: var(--media-menu-item-bg, transparent);
    padding: var(--media-menu-item-padding, 10px)
}

.vds-menu-items [role=menuitem]:focus-visible,.vds-menu-items [role=menuitemradio]:focus-visible,.vds-menu-items [role=menuitem][data-focus],.vds-menu-items [role=menuitemradio][data-focus] {
    cursor: pointer;
    background-color: var(--media-menu-item-hover-bg, rgb(245 245 245 / .08))
}

:where(.vds-menu-items:not([data-submenu]):not([data-placement])) :where([role=menuitem],[role=menuitemradio]) {
    padding: var(--media-sm-menu-item-padding, 12px)
}

@media (hover: hover) and (pointer: fine) {
    .vds-menu-items [role=menuitem]:hover,.vds-menu-items [role=menuitemradio]:hover {
        cursor:pointer;
        background-color: var(--media-menu-item-hover-bg, rgb(245 245 245 / .08))
    }
}

:where(.vds-menu-items[data-submenu]) {
    align-items: flex-start;
    justify-content: center;
    flex-direction: column
}

:where(.vds-menu-button[role=menuitem][aria-expanded=true]) {
    border-radius: 0;
    border-top-left-radius: var(--media-menu-item-border-radius, 2px);
    border-top-right-radius: var(--media-menu-item-border-radius, 2px);
    border-bottom: var(--media-menu-divider, 1px solid rgb(245 245 245 /.15))
}

:where(.vds-menu-button[role=menuitem][aria-expanded=true]) {
    position: sticky;
    top: calc(-1 * var(--media-menu-padding, 10px));
    left: 0;
    width: 100%;
    z-index: 10;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px)
}

.vds-menu-button[role=menuitem][aria-expanded=true] {
    background-color: var(--media-menu-top-bar-bg, rgb(10 10 10 / .6))
}

:where(.vds-menu-items [role=menuitem] .vds-menu-button-icon) {
    width: var(--media-menu-item-icon-size, 22px);
    height: var(--media-menu-item-icon-size, 22px);
    margin-right: var(--media-menu-item-icon-spacing, 6px)
}

:where(.vds-menu-items [role=menuitem] .vds-menu-button-close-icon) {
    margin-right: var(--media-menu-item-icon-spacing, 6px)
}

:where(.vds-menu-items [role=menuitem]) :where(.vds-menu-button-open-icon,.vds-menu-button-close-icon) {
    width: 18px;
    height: 18px
}

:where(.vds-menu-items [role=menuitem]) :where(.vds-menu-button-hint,.vds-menu-button-open-icon) {
    margin-left: auto
}

:where(.vds-menu-items [role=menuitem]) :where(.vds-menu-button-hint+.vds-menu-button-open-icon),:where(.vds-menu-button-hint+media-icon .vds-menu-button-open-icon),:where(.vds-menu-button-hint+slot>.vds-menu-button-open-icon) {
    margin-left: 2px
}

:where(.vds-menu-items [role=menuitem][aria-hidden=true]),:where(.vds-menu-items [role=menuitem][aria-expanded=true] .vds-menu-button-open-icon) {
    display: none!important
}

:where(.vds-menu-items) :where([role=menuitem][aria-disabled=true] [role=menuitem][data-disabled]) :where(.vds-menu-button-open-icon) {
    opacity: 0
}

:where(.vds-menu-button .vds-menu-button-close-icon),:where(.vds-menu-items [role=menuitem][aria-expanded=true] .vds-menu-button-icon) {
    display: none!important
}

:where(.vds-menu-items [role=menuitem][aria-expanded=true] .vds-menu-button-close-icon) {
    display: inline!important;
    margin-left: calc(-1 * var(--media-menu-padding, 10px) / 2)
}

:where(.vds-radio-group) {
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-direction: column
}

:where(.vds-radio) {
    position: relative;
    align-items: center;
    border-radius: 2px;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    font-family: var(--media-font-family, sans-serif);
    font-size: 15px;
    font-weight: 500;
    contain: content;
    padding: var(--media-menu-item-padding, 12px)
}

:where(.vds-radio .vds-radio-check) {
    align-items: center;
    border-radius: 9999px;
    box-sizing: border-box;
    display: flex;
    height: var(--media-menu-radio-check-size, 9px);
    justify-content: center;
    margin-right: 8px;
    width: var(--media-menu-radio-check-size, 9px);
    border-width: unset!important
}

.vds-radio .vds-radio-check {
    border: var(--media-menu-radio-check-border, 2px solid rgb(245 245 245 / .5))
}

.vds-radio[aria-checked=true] .vds-radio-check {
    border: 2px solid var(--media-menu-radio-check-active-color, var(--media-brand))
}

:where(.vds-radio[aria-checked=true] .vds-radio-check):after {
    content: "";
    background-color: var(--media-menu-radio-check-active-color, #f5f5f5);
    border-radius: 9999px;
    box-sizing: border-box;
    height: var(--media-menu-radio-check-inner-size, 4px);
    width: var(--media-menu-radio-check-inner-size, 4px);
    border-width: unset!important
}

.vds-radio[aria-checked=true] .vds-radio-check:after {
    border-color: var(--media-menu-radio-check-active-color, #f5f5f5)
}

:where(.vds-radio .vds-radio-hint) {
    color: var(--media-menu-item-info-color, rgb(168, 169, 171));
    font-size: var(--media-menu-item-info-font-size, 13px);
    margin-left: auto
}

:where(.vds-chapters-menu-items) {
    padding: var(--media-chapters-padding, 0);
    min-width: var(--media-chapters-min-width, var(--media-menu-min-width, 220px))
}

:where(.vds-menu-items:has(.vds-chapters-radio-group[data-thumbnails])) {
    min-width: var(--media-chapters-with-thumbnails-min-width, 300px)
}

:where(.vds-chapter-radio) {
    border-radius: 0
}

.vds-chapters-radio {
    border-bottom: var(--media-chapters-divider, 1px solid rgb(245 245 245 / .1))
}

:where(.vds-chapter-radio:last-child) {
    border-bottom: 0
}

:where(.vds-chapter-radio[aria-checked=true]) {
    background-color: var(--media-chapters-item-active-bg, rgb(255 255 255 / .05));
    border-left: var(--media-chapters-item-active-border-left)
}

:where(.vds-chapter-radio[aria-checked=true]):after {
    content: " ";
    width: var(--progress);
    height: var(--media-chapters-progress-height, 3px);
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: var(--media-chapters-progress-border-radius, 0);
    background-color: var(--media-chapters-progress-bg, var(--media-brand))
}

.vds-chapters-radio-group :where(.vds-thumbnail) {
    margin-right: var(--media-chapters-thumbnail-gap, 12px);
    flex-shrink: 0;
    min-width: var(--media-chapters-thumbnail-min-width, 100px);
    min-height: var(--media-chapters-thumbnail-min-height, 56px);
    max-width: var(--media-chapters-thumbnail-max-width, 120px);
    max-height: var(--media-chapters-thumbnail-max-height, 68px)
}

.vds-chapters-radio-group .vds-thumbnail {
    border: var(--media-chapters-thumbnail-border, 0)
}

:where(.vds-chapters-radio-group .vds-chapter-radio-label) {
    color: var(--media-chapters-label-color, rgb(245 245 245 / .64));
    font-size: var(--media-chapters-label-font-size, 15px);
    font-weight: var(--media-chapters-label-font-weight, 500);
    white-space: var(--media-chapters-label-white-space, nowrap)
}

:where(.vds-chapter-radio[aria-checked=true] .vds-chapter-radio-label) {
    color: var(--media-chapters-label-active-color, #f5f5f5);
    font-weight: var(--media-chapters-label-active-font-weight, 500)
}

:where(.vds-chapters-radio-group .vds-chapter-radio-start-time) {
    display: inline-block;
    padding: var(--media-chapters-start-time-padding, 1px 4px);
    letter-spacing: var(--media-chapters-start-time-letter-spacing, .4px);
    border-radius: var(--media-chapters-start-time-border-radius, 2px);
    color: var(--media-chapters-start-time-color, rgb(168, 169, 171));
    font-size: var(--media-chapters-start-time-font-size, 12px);
    font-weight: var(--media-chapters-start-time-font-weight, 500);
    background-color: var(--media-chapters-start-time-bg, rgb(156 163 175 / .2));
    margin-top: var(--media-chapters-start-time-gap, 6px)
}

:where(.vds-chapters-radio-group .vds-chapter-radio-duration) {
    color: var(--media-chapters-duration-color, rgb(245 245 245 / .5));
    background-color: var(--media-chapters-duration-bg);
    font-size: var(--media-chapters-duration-font-size, 12px);
    font-weight: var(--media-chapters-duration-font-weight, 500);
    border-radius: var(--media-chapters-duration-border-radius, 2px);
    margin-top: var(--media-chapters-duration-gap, 6px)
}

:where(.vds-menu-button[aria-disabled=true],.vds-menu-button[data-disabled]) {
    display: none
}

.vds-chapters-radio-group:not([data-thumbnails]) :where(.vds-thumbnail,media-thumbnail) {
    display: none
}

:where(.vds-chapter-radio-content) {
    display: flex;
    align-items: flex-start;
    flex-direction: column
}

:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-content) {
    width: 100%;
    flex-direction: row;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-start-time) {
    margin-top: 0;
    margin-left: auto
}

:where(.vds-chapters-radio-group:not([data-thumbnails]) .vds-chapter-radio-duration) {
    margin-top: 4px;
    flex-basis: 100%
}

:where(.vds-menu-items[data-keyboard]) .vds-chapters-radio-group:focus-within {
    padding: var(--media-chapters-focus-padding, 4px)
}

:where(.vds-poster) {
    display: block;
    contain: content;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    border: 0;
    pointer-events: none;
    box-sizing: border-box;
    transition: opacity .2s ease-out;
    background-color: var(--media-poster-bg, black)
}

:where(.vds-poster img) {
    -o-object-fit: inherit;
    object-fit: inherit;
    -o-object-position: inherit;
    object-position: inherit;
    pointer-events: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-user-select: none;
    box-sizing: border-box
}

.vds-poster :where(img) {
    border: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

:where(.vds-poster[data-hidden]) {
    display: none
}

:where(.vds-poster[data-visible]) {
    opacity: 1
}

:where(.vds-slider) {
    --width: var(--media-slider-width, 100%);
    --height: var(--media-slider-height, 48px);
    --thumb-size: var(--media-slider-thumb-size, 15px);
    --thumb-focus-size: var(--media-slider-focused-thumb-size, calc(var(--thumb-size) * 1.1));
    --track-width: var(--media-slider-track-width, 100%);
    --track-height: var(--media-slider-track-height, 5px);
    --track-focus-width: var(--media-slider-focused-track-width, var(--track-width));
    --track-focus-height: var(--media-slider-focused-track-height, calc(var(--track-height) * 1.25));
    display: inline-flex;
    align-items: center;
    width: var(--width);
    height: var(--height);
    margin: 0 calc(var(--thumb-size) / 2);
    position: relative;
    contain: layout style;
    outline: none;
    pointer-events: auto;
    cursor: pointer;
    -moz-user-select: none;
    user-select: none;
    touch-action: none;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent
}

:where(.vds-slider[aria-hidden=true]) {
    display: none!important
}

:where(.vds-slider[aria-disabled=true]) {
    cursor: unset
}

:where(.vds-slider:focus) {
    outline: none
}

:where(.vds-slider:not([data-chapters])[data-focus],.vds-slider:not([data-chapters]):focus-visible) :where(.vds-slider-track) {
    box-shadow: var(--media-focus-ring)
}

:where(.vds-slider .vds-slider-track) {
    z-index: 0;
    position: absolute;
    width: var(--track-width);
    height: var(--track-height);
    top: 50%;
    left: 0;
    border-radius: var(--media-slider-track-border-radius, 2px);
    transform: translateY(-50%) translateZ(0);
    background-color: var(--media-slider-track-bg, rgb(255 255 255 / .3));
    contain: strict
}

:where(.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-track) {
    outline-offset: var(--thumb-size)
}

:where(.vds-slider:not([data-chapters])[data-active] .vds-slider-track) {
    width: var(--track-focus-width);
    height: var(--track-focus-height)
}

:where(.vds-slider .vds-slider-track-fill) {
    z-index: 2;
    background-color: var(--media-slider-track-fill-bg, var(--media-brand));
    width: var(--slider-fill, 0%);
    will-change: width
}

:where(.vds-slider .vds-slider-thumb) {
    position: absolute;
    top: 50%;
    left: var(--slider-fill);
    opacity: 0;
    contain: layout size style;
    width: var(--thumb-size);
    height: var(--thumb-size);
    border: var(--media-slider-thumb-border, 1px solid #cacaca);
    border-radius: var(--media-slider-thumb-border-radius, 9999px);
    background-color: var(--media-slider-thumb-bg, #fff);
    transform: translate(-50%,-50%) translateZ(0);
    transition: opacity .15s ease-in;
    pointer-events: none;
    will-change: left;
    z-index: 2
}

:where(.vds-slider[data-dragging],.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-thumb) {
    box-shadow: var(--media-slider-focused-thumb-shadow, 0 0 0 4px hsla(0, 0%, 100%, .4))
}

:where(.vds-slider[data-active] .vds-slider-thumb) {
    opacity: 1;
    transition: var(--media-slider-thumb-transition, opacity .2s ease-in, box-shadow .2s ease)
}

:where(.vds-slider[data-dragging] .vds-slider-thumb) {
    width: var(--thumb-focus-size);
    height: var(--thumb-focus-size)
}

:where(.vds-slider-value) {
    display: inline-block;
    contain: content;
    font-size: 14px;
    font-family: var(--media-font-family, sans-serif)
}

:where(.vds-slider-thumbnail) {
    display: block;
    contain: content;
    box-sizing: border-box
}

:where(.vds-slider-video) {
    background-color: #000;
    box-sizing: border-box;
    contain: content;
    display: inline-block;
    border: var(--media-thumbnail-border, 1px solid white)
}

:where(.vds-slider-video video) {
    display: block;
    height: auto;
    width: 156px
}

:where(.vds-slider-video[data-loading]) {
    opacity: 0
}

:where(.vds-slider-video[data-hidden],.vds-slider-video[data-hidden] video) {
    display: none;
    width: 0px
}

:where(.vds-slider .vds-slider-preview) {
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    background-color: var(--media-slider-preview-bg);
    border-radius: var(--media-slider-preview-border-radius, 2px);
    pointer-events: none;
    transition: opacity .2s ease-out;
    will-change: left,opacity;
    contain: layout paint style
}

:where(.vds-slider-preview[data-visible]) {
    opacity: 1;
    transition: opacity .2s ease-in
}

:where(.vds-slider-value) {
    padding: var(--media-slider-value-padding, 1px 10px);
    color: var(--media-slider-value-color, white);
    background-color: var(--media-slider-value-bg, black);
    border-radius: var(--media-slider-value-border-radius, 2px)
}

.vds-slider-value {
    border: var(--media-slider-value-border)
}

:where(.vds-slider-video:not([data-hidden])+.vds-slider-chapter-title,.vds-slider-thumbnail:not([data-hidden])+.vds-slider-chapter-title) {
    margin-top: var(--media-slider-chapter-title-gap, 6px)
}

:where(.vds-slider-video:not([data-hidden])+.vds-slider-value,.vds-slider-thumbnail:not([data-hidden])+.vds-slider-value,.vds-slider-chapter-title+.vds-slider-value) {
    margin-top: var(--media-slider-value-gap, 4px)
}

:where(.vds-slider[aria-orientation=vertical]) {
    --width: var(--media-slider-width, 48px);
    --height: var(--media-slider-height, 100%);
    --track-width: var(--media-slider-track-width, 4px);
    --track-height: var(--media-slider-track-height, 100%);
    --track-focus-width: var(--media-slider-focused-track-width, calc(var(--track-width) * 1.25));
    --track-focus-height: var(--media-slider-focused-track-height, var(--track-height));
    margin: calc(var(--thumb-size) / 2) 0
}

:where(.vds-slider[aria-orientation=vertical] .vds-slider-track) {
    top: unset;
    bottom: 0;
    left: 50%;
    transform: translate(-50%) translateZ(0)
}

:where(.vds-slider[aria-orientation=vertical] .vds-slider-track-fill) {
    width: var(--track-width);
    height: var(--slider-fill);
    will-change: height;
    transform: translate(-50%) translateZ(0)
}

:where(.vds-slider[aria-orientation=vertical] .vds-slider-progress) {
    top: unset;
    bottom: 0;
    width: var(--track-width);
    height: var(--slider-progress, 0%);
    will-change: height
}

:where(.vds-slider[aria-orientation=vertical] .vds-slider-thumb) {
    top: unset;
    bottom: var(--slider-fill);
    left: 50%;
    will-change: bottom;
    transform: translate(-50%,50%) translateZ(0)
}

:where(.vds-slider[aria-orientation=vertical] .vds-slider-preview) {
    will-change: bottom,opacity
}

:where([data-live] .vds-time-slider .vds-slider-track-fill) {
    background-color: var(--media-slider-track-fill-live-bg, #dc2626)
}

:where(.vds-time-slider .vds-slider-progress) {
    z-index: 1;
    left: 0;
    width: var(--slider-progress, 0%);
    will-change: width;
    background-color: var(--media-slider-track-progress-bg, rgb(255 255 255 / .5))
}

:where([data-media-player]:not([data-can-play]) .vds-time-slider .vds-slider-value) {
    display: none
}

:where(.vds-time-slider .vds-slider-chapters) {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    contain: layout style;
    border-radius: var(--media-slider-track-border-radius, 1px)
}

:where(.vds-slider[data-focus],.vds-slider:focus-visible) :where(.vds-slider-chapters) {
    box-shadow: var(--media-focus-ring);
    height: var(--track-height)
}

:where(.vds-time-slider .vds-slider-chapter) {
    margin-right: 2px
}

:where(.vds-time-slider .vds-slider-chapter:last-child) {
    margin-right: 0
}

:where(.vds-time-slider .vds-slider-chapter) {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    will-change: height,transform;
    contain: layout style;
    border-radius: var(--media-slider-track-border-radius, 1px)
}

:where(.vds-time-slider .vds-slider-chapter .vds-slider-track-fill) {
    width: var(--chapter-fill, 0%);
    will-change: width
}

:where(.vds-time-slider .vds-slider-chapter .vds-slider-progress) {
    width: var(--chapter-progress, 0%);
    will-change: width
}

@media (hover: hover) and (pointer: fine) {
    :where(.vds-time-slider:hover .vds-slider-chapters) {
        contain:strict
    }

    :where(.vds-time-slider .vds-slider-chapter:hover:not(:only-of-type)) {
        transform: var(--media-slider-chapter-hover-transform, scaleY(2));
        transition: var( --media-slider-chapter-hover-transition, transform .1s cubic-bezier(.4, 0, 1, 1) )
    }
}

:where(.vds-time-slider .vds-slider-chapter-title) {
    font-family: var(--media-font-family, sans-serif);
    font-size: var(--media-slider-chapter-title-font-size, 14px);
    color: var(--media-slider-chapter-title-color, #f5f5f5);
    background-color: var(--media-slider-chapter-title-bg)
}

:where(.vds-thumbnail) {
    display: block;
    width: var(--thumbnail-width);
    height: var(--thumbnail-height);
    background-color: var(--media-thumbnail-bg, black);
    contain: strict;
    overflow: hidden;
    box-sizing: border-box;
    min-width: var(--media-thumbnail-min-width, 120px);
    min-height: var(--media-thumbnail-min-height, 80px);
    max-width: var(--media-thumbnail-max-width, 180px);
    max-height: var(--media-thumbnail-max-height, 160px)
}

.vds-thumbnail {
    border: var(--media-thumbnail-border, 1px solid white)
}

:where(.vds-thumbnail img) {
    min-width: unset!important;
    max-width: unset!important;
    will-change: width,height,transform
}

:where(.vds-thumbnail[aria-hidden=true]) {
    display: none!important
}

:where(.vds-time-group) {
    display: flex;
    align-items: center
}

:where(.vds-time-divider) {
    margin: 0 var(--media-time-divider-gap, 2.5px);
    color: var(--media-time-divider-color, #e0e0e0)
}

:where(.vds-time) {
    display: inline-block;
    contain: content;
    font-size: var(--media-time-font-size, 14px);
    font-weight: var(--media-time-font-weight, 400);
    font-family: var(--media-font-family, sans-serif);
    color: var(--media-time-color, #f5f5f5);
    background-color: var(--media-time-bg);
    border-radius: var(--media-time-border-radius);
    letter-spacing: var(--media-time-letter-spacing, .025em)
}

.vds-time {
    border: var(--media-time-border)
}

:where(.vds-tooltip,media-tooltip) {
    display: contents
}

:where(.vds-tooltip-content) {
    display: inline-block;
    box-sizing: border-box;
    color: var(--media-tooltip-color, hsl(0, 0%, 80%));
    background-color: var(--media-tooltip-bg-color, black);
    font-family: var(--media-font-family, sans-serif);
    font-size: var(--media-tooltip-font-size, 13px);
    font-weight: var(--media-tooltip-font-weight, 500);
    opacity: 0;
    pointer-events: none;
    white-space: nowrap;
    z-index: 10;
    will-change: transform,opacity;
    border-radius: var(--media-tooltip-border-radius, 4px);
    padding: var(--media-tooltip-padding, 2px 8px)
}

.vds-tooltip-content {
    border: var(--media-tooltip-border, 1px solid rgb(255 255 255 / .1))
}

:where(.vds-menu .vds-menu-button[role=button][data-pressed] .vds-tooltip-content) {
    opacity: 0;
    display: none
}

:where(.vds-tooltip-content) {
    --enter-transform: translateY(0px) scale(1);
    --exit-transform: translateY(12px) scale(.8)
}

:where(.vds-tooltip-content:not([data-visible])) {
    animation: var(--media-tooltip-exit-animation, vds-tooltip-exit .2s ease-out)
}

:where(.vds-tooltip-content[data-visible]) {
    animation: var(--media-tooltip-enter-animation, vds-tooltip-enter .2s ease-in);
    animation-fill-mode: forwards
}

:where(.vds-tooltip-content[data-placement~=bottom]) {
    --enter-transform: translateY(0) scale(1);
    --exit-transform: translateY(-12px) scale(.8)
}

@keyframes vds-tooltip-enter {
    0% {
        opacity: 0;
        transform: var(--exit-transform)
    }

    to {
        opacity: 1;
        transform: var(--enter-transform)
    }
}

@keyframes vds-tooltip-exit {
    0% {
        opacity: 1;
        transform: var(--enter-transform)
    }

    to {
        opacity: 0;
        transform: var(--exit-transform)
    }
}

[data-media-player]:not([data-paused]) .vds-play-tooltip-text,[data-media-player][data-paused] .vds-pause-tooltip-text,[data-media-player][data-pip] .vds-pip-enter-tooltip-text,[data-media-player]:not([data-pip]) .vds-pip-exit-tooltip-text,[data-media-player][data-fullscreen] .vds-fs-enter-tooltip-text,[data-media-player]:not([data-fullscreen]) .vds-fs-exit-tooltip-text,[data-media-player]:not([data-captions]) .vds-cc-on-tooltip-text,[data-media-player][data-captions] .vds-cc-off-tooltip-text,[data-media-player]:not([data-muted]) .vds-mute-tooltip-text,[data-media-player][data-muted] .vds-unmute-tooltip-text {
    display: none
}

[data-media-player] .vds-audio-layout:not([data-match]) {
    display: none!important
}

:where([data-media-player][data-view-type=audio]) {
    border-radius: var(--audio-border-radius, 6px)
}

:where(.vds-audio-layout) {
    position: relative;
    display: inline-block;
    min-width: 100%;
    min-height: 80px;
    color: var(--audio-controls-color, #f5f5f5);
    background-color: var(--audio-bg, black);
    border: var(--audio-border, 1px solid rgb(255 255 255 / .1));
    border-radius: var(--audio-border-radius, 6px);
    box-sizing: border-box
}

:where(.vds-audio-layout) {
    --media-brand: var(--audio-brand, #f5f5f5);
    --media-font-family: var(--audio-font-family, sans-serif);
    --media-controls-color: var(--audio-controls-color, #f5f5f5);
    --media-menu-y-offset: 32px;
    --media-tooltip-y-offset: 34px;
    --media-button-size: 34px;
    --media-slider-value-border: var(--audio-slider-value-border, 1px solid rgb(255 255 255 / .1));
    --media-focus-ring-color: var(--audio-focus-ring-color, rgb(78 156 246));
    --media-focus-ring: var(--audio-focus-ring, 0 0 0 3px var(--media-focus-ring-color))
}

:where(.vds-audio-layout[data-size=sm]) {
    --media-menu-y-offset: 10px;
    --media-tooltip-y-offset: 12px;
    --media-slider-height: 35px;
    min-height: 86px
}

:where([data-can-seek] .vds-audio-layout[data-size=sm]) {
    min-height: 102px
}

:where(.vds-audio-layout .vds-chapter-ui) {
    position: relative;
    min-width: 100%;
    min-height: 80px;
    color: var(--audio-controls-color, #f5f5f5);
    background-color: var(--audio-bg, black);
    border: var(--audio-border, 1px solid rgb(255 255 255 / .1));
    border-radius: var(--audio-border-radius, 6px)
}

:where(.vds-audio-layout .vds-media-info) {
    display: flex;
    align-items: center
}

:where(.vds-audio-layout[data-size=sm] .vds-chapter-title) {
    padding-left: 0
}

:where(.vds-audio-layout .vds-time-group) {
    margin-left: 6px
}

:where(.vds-audio-layout[data-size=sm] .vds-time) {
    padding: 0 6px
}

:where(.vds-audio-layout .vds-live-button) {
    margin-inline:2px}

:where(.vds-audio-layout[data-size=sm] .vds-live-button) {
    margin-left: 6px;
    margin-right: 10px
}

:where(.vds-audio-layout .vds-controls) {
    padding-inline:8px}

:where(.vds-audio-layout .vds-controls-group) {
    display: flex;
    align-items: center;
    pointer-events: auto;
    width: 100%
}

:where(.vds-audio-layout .vds-controls-group:first-child) {
    flex: 1 1 0%;
    min-width: 0
}

:where(.vds-audio-layout .vds-controls-group:nth-child(2)) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-top: -14px
}

:where(.vds-audio-layout .vds-controls-group:last-child) {
    margin-bottom: 4px;
    z-index: 99
}

:where(.vds-audio-layout .vds-button) {
    min-width: var(--audio-button-size, 40px);
    min-height: var(--audio-button-size, 40px);
    margin-right: 2.5px
}

:where(.vds-audio-layout[data-size=sm] .vds-play-button) {
    margin-right: -4px
}

:where([data-can-seek] .vds-audio-layout .vds-play-button) {
    min-width: var(--audio-play-button-size, 43px);
    min-height: var(--audio-play-button-size, 43px);
    margin-left: -5px;
    margin-right: -2px
}

:where(.vds-audio-layout[data-size=sm] .vds-controls-group:first-child) {
    margin-top: 8px;
    margin-bottom: 16px
}

:where(.vds-audio-layout[data-size=sm] .vds-controls-group:nth-child(3)) {
    margin-top: -4px
}

:where([data-can-seek] .vds-audio-layout[data-size=sm] .vds-controls-group:last-child) {
    --media-tooltip-y-offset: 96px;
    margin-top: -6px;
    margin-bottom: 16px
}

:where(.vds-audio-layout[data-size=sm] .vds-controls-group:last-child .vds-button) {
    margin-right: unset
}

:where(.vds-audio-layout[data-size=sm] .vds-controls-group:last-child .vds-button) {
    width: 36px;
    height: 36px
}

:where(.vds-audio-layout .vds-time-slider) {
    width: 100%;
    margin-top: -8px;
    z-index: 98
}

:where(.vds-audio-layout .vds-time-slider .vds-thumbnail) {
    display: none
}

:where(.vds-audio-layout .vds-volume-slider) {
    min-width: 72px;
    max-width: 72px;
    margin-left: .5px;
    margin-right: 12px;
    transition: transform .15s ease
}

:where(.vds-audio-layout[data-size=sm] .vds-time-slider .vds-slider-preview) {
    --media-slider-preview-offset: 48px
}

:where(.vds-audio-layout .vds-volume-slider .vds-slider-preview) {
    --media-slider-preview-offset: 28px
}

:where(.vds-audio-layout .vds-slider-chapter-title) {
    color: var(--audio-slider-chapter-title-color, black)
}

:where(.dark .vds-audio-layout .vds-slider-chapter-title) {
    color: var(--audio-slider-chapter-title-color, white)
}

:where(.vds-audio-layout[data-size=sm] .vds-slider-chapter-title) {
    display: none
}

:where([data-buffering] .vds-audio-layout .vds-track-progress) {
    --stripe-color: var(--audio-buffering-stripe-color, rgb(0 0 0 / .25));
    --stripe-size: var(--audio-buffering-stripe-size, 30px);
    width: 100%!important;
    background-image: linear-gradient(-45deg,var(--stripe-color) 25%,transparent 25%,transparent 50%,var(--stripe-color) 50%,var(--stripe-color) 75%,transparent 75%,transparent);
    background-size: var(--stripe-size) var(--stripe-size);
    animation: vds-audio-track-progress var(--audio-buffering-stripe-speed, 2s) linear infinite
}

@keyframes vds-audio-track-progress {
    0% {
        background-position: 0 0
    }

    to {
        background-position: var(--stripe-size) var(--stripe-size)
    }
}

:where(.vds-audio-layout .vds-menu-items:not([data-submenu])) {
    max-height: var(--audio-menu-max-height, 320px)
}

:where(.vds-audio-layout .vds-captions) {
    --cue-font-size: var(--audio-cue-font-size, 14px);
    display: inline-block;
    position: absolute;
    width: 100%;
    top: unset;
    bottom: calc(100% + var(--audio-captions-offset, 2px));
    text-align: center;
    background-color: var(--audio-captions-bg, transparent)
}

:where(.vds-audio-layout .vds-captions [data-part=cue]) {
    color: var(--audio-cue-color, white);
    border: var(--audio-cue-border, 1px solid rgb(255 255 255 / .1));
    background-color: var(--audio-cue-bg, black)
}

:where([data-preview] .vds-audio-layout:not([data-size=sm]) .vds-captions) {
    opacity: 0
}

:where(.vds-video-layout) {
    display: contents
}

[data-media-player] .vds-video-layout:not([data-match]) {
    display: none!important
}

:where([data-media-player][data-view-type=video]) {
    border-radius: var(--video-border-radius, 6px);
    background-color: var(--video-bg, black)
}

:where([data-media-player][data-view-type=video]:not([data-fullscreen])) {
    border-radius: var(--video-border-radius, 6px);
    border: var(--video-border, 1px solid rgb(255 255 255 / .1))
}

:where([data-view-type=video]:not([data-fullscreen])) :where([data-media-provider],video,.vds-poster,iframe) {
    background-color: var(--video-bg, black);
    border-radius: var(--video-border-radius, 6px);
    overflow: hidden
}

:where(.vds-video-layout) {
    --media-brand: var(--video-brand, #f5f5f5);
    --media-font-family: var(--video-font-family, sans-serif);
    --media-controls-color: var(--video-controls-color, #f5f5f5);
    --media-tooltip-y-offset: 6px;
    --media-menu-y-offset: 6px;
    --media-focus-ring-color: var(--video-focus-ring-color, rgb(78 156 246));
    --media-focus-ring: var(--video-focus-ring, 0 0 0 3px var(--media-focus-ring-color));
    color: var(--video-controls-color, #f5f5f5)
}

:where([data-media-player][data-focus]:not([data-playing]) .vds-controls) {
    box-shadow: var(--media-focus-ring)
}

:where(.vds-video-layout .vds-controls[data-visible]) {
    border-radius: var(--video-border-radius, 6px);
    background-image: linear-gradient(to top,rgb(0 0 0 / .5),10%,transparent,95%,rgb(0 0 0 / .3))
}

:where(.vds-video-layout .vds-controls-group) {
    align-items: center;
    display: flex;
    pointer-events: auto;
    z-index: 0;
    padding: 4px 6px
}

:where(.vds-video-layout .vds-controls-group:first-child) {
    z-index: 50
}

:where(.vds-video-layout .vds-controls-group:nth-child(2)) {
    display: flex;
    flex: 1 1 0%;
    align-items: center;
    justify-content: center;
    pointer-events: none
}

:where(.vds-video-layout .vds-controls-group:nth-last-child(2)) {
    padding: 0 12px;
    z-index: 11;
    margin-bottom: -15px
}

:where(.vds-video-layout:not([data-size=sm]) .vds-controls-group:last-child) {
    --media-menu-y-offset: 26px;
    --media-tooltip-y-offset: 26px;
    --media-slider-preview-offset: 26px;
    z-index: 10
}

:where(.vds-video-layout .vds-button) {
    margin-right: 2.5px
}

:where([data-fullscreen] .vds-video-layout .vds-chapter-title) {
    font-size: var(--video-fullscreen-chapter-title-font-size, 16px)
}

:where(.vds-video-layout:not([data-size=sm]) .vds-mute-button) {
    margin-left: -2.5px;
    margin-right: -5px
}

:where(.vds-video-layout[data-size=sm][data-video]) {
    --media-button-size: var(--video-sm-button-size, 32px)
}

:where(.vds-video-layout .vds-time-slider) {
    --media-slider-height: 45px;
    flex-grow: 0
}

:where(.vds-video-layout .vds-slider-thumbnail) {
    --media-thumbnail-border: var(--video-slider-thumbnail-border, 1px solid #f5f5f5);
    border-radius: var(--video-slider-thumbnail-border-radius, 2px)
}

:where(.vds-video-layout .vds-time-slider .vds-slider-value) {
    background-color: var(--video-time-bg, unset);
    text-shadow: -1px -1px 0 #333333,1px -1px 0 #333333,-1px 1px 0 #333333,1px 1px 0 #333333
}

:where(.vds-video-layout[data-size=sm] .vds-time) {
    text-shadow: unset
}

:where(.vds-video-layout .vds-volume-slider) {
    margin: 0;
    max-width: 0;
    transition: all .15s ease;
    transform: translate(-2px)
}

:where(.vds-video-layout [data-media-mute-button][data-hocus]+.vds-volume-slider),:where(.vds-video-layout [data-media-mute-button][data-hocus]+.vds-tooltip-content+.vds-volume-slider),:where(.vds-video-layout [data-media-mute-tooltip][data-hocus]+.vds-volume-slider),:where(.vds-video-layout .vds-volume-slider[data-active]) {
    margin-left: 9px;
    max-width: var(--video-volume-slider-max-width, 72px)
}

:where(.vds-video-layout .vds-volume-slider .vds-slider-value) {
    bottom: 70px
}

@media (orientation: landscape) and (pointer: coarse) {
    :where(.vds-video-layout .vds-volume-slider) {
        display:none
    }
}

:where(.vds-video-layout .vds-time[data-type=current]) {
    margin-right: 2px
}

:where(.vds-video-layout .vds-time[data-type=current][remainder]) {
    margin-left: 2px
}

:where([data-preview] .vds-video-layout .vds-captions) {
    opacity: 0
}

:where(.vds-video-layout .vds-captions) {
    z-index: 10;
    transition: var(--video-captions-transition, bottom .15s linear)
}

@media (min-width: 980px) {
    :where([data-fullscreen] .vds-video-layout .vds-captions) {
        bottom:var(--video-lg-fullscreen-captions-offset, 54px)
    }
}

:where([data-media-player][data-controls] .vds-video-layout .vds-captions) {
    bottom: var(--video-captions-offset, 78px)
}

:where([data-media-player][data-controls] .vds-video-layout[data-size=sm] .vds-captions) {
    bottom: var(--video-sm-captions-offset, 48px)
}

:where(.vds-video-layout .vds-time-slider .vds-slider-chapter-title) {
    width: 100%;
    text-align: center;
    text-shadow: -1px -1px 0 #212121,1px -1px 0 #212121,-1px 1px 0 #212121,1px 1px 0 #212121
}

:where(.vds-video-layout .vds-gesture) {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0
}

:where(.vds-video-layout .vds-gesture[action="seek:-10"]) {
    width: var(--video-gesture-seek-width, 20%);
    z-index: 1
}

:where(.vds-video-layout .vds-gesture[action="seek:10"]) {
    left: unset;
    right: 0;
    width: var(--video-gesture-seek-width, 20%);
    z-index: 1
}

@media (pointer: coarse) {
    :where(.vds-video-layout .vds-gesture[action="toggle:paused"]) {
        display:none
    }
}

@media not (pointer: coarse) {
    :where([data-media-player] .vds-video-layout .vds-gesture[action="toggle:controls"]) {
        display:none
    }
}

:where(.vds-video-layout .vds-live-button) {
    margin-left: 12px
}

:where(.vds-video-layout:not([data-size=sm]) .vds-time-group) {
    margin-left: 10px
}

:where([data-fullscreen] .vds-video-layout .vds-time) {
    font-size: var(--video-fullscreen-time-font-size, 16px)
}

:where(.vds-video-layout[data-size=sm] .vds-controls-group:nth-last-child(2)) {
    pointer-events: none
}

:where(.vds-video-layout[data-size=sm] .vds-controls-group:last-child) {
    z-index: 2;
    margin-top: -6px;
    margin-bottom: -2px
}

:where([data-fullscreen] .vds-video-layout[data-size=sm] .vds-controls-group:last-child) {
    margin-bottom: 0
}

:where(.vds-video-layout[data-size=sm] .vds-controls-group) {
    padding: 2px
}

:where(.vds-video-layout[data-size=sm]) :where(.vds-button,.vds-slider:not(.vds-time-slider),.vds-time,.vds-time-divider,.vds-chapter-title) {
    transition: opacity .15s ease
}

:where([data-media-player]:not([data-started]) .vds-video-layout[data-size=sm]) :where(.vds-button .vds-slider,.vds-time-group) {
    opacity: 0;
    visibility: hidden
}

:where([data-preview] .vds-video-layout[data-size=sm]) :where(.vds-button,.vds-slider:not(.vds-time-slider),.vds-time,.vds-chapter-title,.vds-time-divider,.vds-captions,.vds-live-button) {
    opacity: 0
}

:where(.vds-video-layout[data-size=sm] .vds-time-slider) {
    transition: transform .1s linear
}

@media (pointer: coarse) {
    :where([data-preview] .vds-video-layout[data-size=sm] .vds-time-slider) {
        --track-height: var(--video-sm-slider-focus-track-height, 12px);
        transform: translateY(-6px);
        transition: transform .1s linear
    }
}

:where(.vds-video-layout[data-size=sm] .vds-play-button) {
    --media-button-hover-transform: translateY(25%);
    border-radius: 100%;
    pointer-events: auto;
    margin-bottom: 2.5%;
    width: var(--video-sm-play-button-size, 40px);
    height: var(--video-sm-play-button-size, 40px);
    transform: var(--video-sm-play-button-transform, translateY(25%))
}

.vds-video-layout[data-size=sm] .vds-play-button {
    background-color: var(--video-sm-play-button-bg, rgba(0 0 0 / .6))
}

:where(.vds-video-layout[data-size=sm] .vds-play-button svg) {
    border-radius: 100%
}

:where([data-media-player]:not([data-started]) .vds-video-layout[data-size=sm] .vds-controls-group:not(:nth-child(2))) {
    opacity: 0;
    visibility: hidden
}

:where(.vds-video-layout[data-size=sm] .vds-buffering-indicator) {
    --media-buffering-size: 64px;
    transform: translate(-2px,-4px)
}

:where(.vds-video-layout .vds-start-duration .vds-time) {
    position: absolute;
    right: 8px;
    bottom: 8px;
    margin-right: 8px;
    margin-bottom: 8px;
    z-index: 10;
    padding: var(--video-sm-start-duration-padding, 3px 6px);
    color: var(--video-sm-start-duration-color, var(--video-controls-color));
    background-color: var(--video-sm-start-duration-bg, rgba(0 0 0 / .64))
}

:where([data-started] .vds-video-layout .vds-start-duration .vds-time) {
    display: none
}

:where([data-media-player]:not([data-can-play]) .vds-video-layout .vds-start-duration .vds-time) {
    opacity: 0
}

:where(.vds-video-layout[data-size=sm] .vds-time[data-type=current]) {
    margin-left: 8px
}

:where([data-fullscreen] .vds-video-layout .vds-controls-group:nth-last-child(2)) {
    margin-bottom: -16px
}

@media (orientation: portrait) {
    :where([data-fullscreen] .vds-video-layout .vds-captions) {
        bottom:30lvh;
        bottom: 10dvh
    }
}

@media (orientation: landscape) {
    :where([data-fullscreen] .vds-video-layout .vds-controls-group:nth-last-child(2)) {
        margin-bottom:-12px
    }
}

media-community-skin[data-audio] {
    --audio-brand: var(--vp-tc);
    --audio-bg: var(--vp-bg);
    --audio-controls-color: var(--dark-grey);
    --audio-title-color: var(--vp-c);
    --audio-time-muted-color: var(--light-grey);
    --audio-play-button-bg: var(--vp-bglt);
    --audio-play-button-color: var(--black)
}

:where(media-community-skin[data-audio] [part~=media-ui]) {
    box-shadow: 2px 2px 10px 0 var(--card-shadow)
}

media-community-skin[data-video] {
    --video-brand: var(--vp-tc)
}

.vp-back-to-top-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    position: fixed!important;
    bottom: 64px;
    inset-inline-end: 1rem;
    z-index: 100;
    width: 48px;
    height: 48px;
    padding: 8px;
    border-radius: 50%;
    background: var(--vp-bg);
    color: var(--vp-tc);
    box-shadow: 2px 2px 10px 4px var(--card-shadow);
    transition: background var(--vp-ct),color var(--vp-ct),box-shadow var(--vp-ct)
}

@media (max-width: 719px) {
    .vp-back-to-top-button {
        width:36px;
        height: 36px
    }
}

@media print {
    .vp-back-to-top-button {
        display: none
    }
}

.vp-back-to-top-button:hover {
    color: var(--vp-tcl)
}

.vp-back-to-top-button .back-to-top-icon {
    overflow: hidden;
    width: 100%;
    border-radius: 50%;
    fill: currentcolor
}

.vp-scroll-progress {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 52px;
    height: 52px
}

@media (max-width: 719px) {
    .vp-scroll-progress {
        width:40px;
        height: 40px
    }
}

.vp-scroll-progress svg {
    width: 100%;
    height: 100%
}

.vp-scroll-progress circle {
    opacity: .9;
    fill: none;
    stroke: var(--vp-tc);
    transform: rotate(-90deg);
    transform-origin: 50% 50%;
    r: 22;
    stroke-dasharray: 0% 314.1593%;
    stroke-width: 3px
}

@media (max-width: 719px) {
    .vp-scroll-progress circle {
        r:18
    }
}

.fade-enter-active,.fade-leave-active {
    transition: opacity var(--vp-ct)
}

.fade-enter-from,.fade-leave-to {
    opacity: 0
}

@media screen {
    .sr-only {
        position: absolute;
        overflow: hidden;
        clip: rect 0,0,0,0;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0
    }
}

@media print {
    .sr-only {
        display: none
    }
}

.vp-catalog-wrapper {
    margin-top: 8px;
    margin-bottom: 8px
}

.vp-catalog-wrapper.index ol {
    padding-inline-start:0}

.vp-catalog-wrapper.index li {
    list-style-type: none
}

.vp-catalog-wrapper.index .vp-catalogs {
    padding-inline-start:0}

.vp-catalog-wrapper.index .vp-catalog {
    list-style-type: none
}

.vp-catalog-wrapper.index .vp-catalog-title:before {
    content: "§" counter(catalog-item,upper-roman) " "
}

.vp-catalog-wrapper.index .vp-child-catalogs {
    counter-reset: child-catalog
}

.vp-catalog-wrapper.index .vp-child-catalog {
    counter-increment: child-catalog
}

.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before {
    content: counter(catalog-item) "." counter(child-catalog) " "
}

.vp-catalog-wrapper.index .vp-sub-catalogs {
    padding-inline-start:.5rem}

.vp-catalogs {
    margin: 0;
    counter-reset: catalog-item
}

.vp-catalogs.deep {
    padding-inline-start:0}

.vp-catalogs.deep .vp-catalog {
    list-style-type: none
}

.vp-catalogs .font-icon {
    vertical-align: baseline;
    margin-inline-end:.25rem}

.vp-catalog {
    counter-increment: catalog-item
}

.vp-catalog-main-title {
    margin-top: calc(.5rem - var(--navbar-height, 3.6rem));
    margin-bottom: .5rem;
    padding-top: var(--navbar-height, 3.6rem);
    font-weight: 500;
    font-size: 1.75rem
}

.vp-catalog-main-title:first-child {
    margin-bottom: .5rem!important
}

.vp-catalog-main-title:only-child {
    margin-bottom: 0!important
}

.vp-catalog-child-title {
    margin-bottom: .5rem!important
}

.vp-catalog-child-title.has-children {
    margin-top: calc(.5rem - var(--navbar-height, 3.6rem));
    padding-top: var(--navbar-height, 3.6rem);
    border-bottom: 1px solid var(--vp-brc);
    font-weight: 500;
    font-size: 1.3rem;
    transition: border-color var(--vp-ct)
}

.vp-catalog-child-title.has-children:only-child {
    margin-bottom: 0!important
}

.vp-catalog-sub-title {
    font-weight: 500;
    font-size: 1.1rem
}

.vp-catalog-sub-title:only-child {
    margin-bottom: 0!important
}

.vp-catalog-title {
    color: inherit;
    text-decoration: none
}

.vp-catalog-title:hover {
    color: var(--vp-tc)
}

.vp-child-catalogs {
    margin: 0
}

.vp-child-catalog {
    list-style-type: disc
}

.vp-sub-catalogs {
    counter-reset: sub-catalog
}

.vp-sub-catalog {
    counter-increment: sub-catalog
}

.vp-sub-catalog .vp-link:before {
    content: counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "
}

.vp-sub-catalogs-wrapper {
    display: flex;
    flex-wrap: wrap
}

.vp-sub-catalog-link {
    display: inline-block;
    margin: 4px 8px;
    padding: 4px 8px;
    border-radius: 6px;
    background-color: var(--vp-bgl);
    line-height: 1.5;
    overflow-wrap: break-word;
    transition: background-color var(--vp-ct),color var(--vp-ct)
}

.vp-sub-catalog-link:hover {
    background-color: var(--vp-tcl);
    color: var(--vp-bg);
    text-decoration: none!important
}

.vp-empty-catalog {
    font-size: 1.25rem;
    text-align: center
}

:root {
    --external-link-icon-color: #aaa
}

.external-link-icon {
    position: relative;
    display: inline-block;
    color: var(--external-link-icon-color);
    vertical-align: middle;
    top: -1px
}

@media print {
    .external-link-icon {
        display: none
    }
}

.external-link-icon-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;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

:root {
    --nprogress-color: #29d;
    --nprogress-z-index: 1031
}

#nprogress {
    pointer-events: none
}

#nprogress .bar {
    background: var(--nprogress-color);
    position: fixed;
    z-index: var(--nprogress-z-index);
    top: 0;
    left: 0;
    width: 100%;
    height: 2px
}

.giscus-wrapper {
    max-width: var(--content-width, 740px);
    margin: 0 auto;
    padding: 2rem 2.5rem
}

@media (max-width: 959px) {
    .giscus-wrapper {
        padding:1.5rem
    }
}

@media (max-width: 419px) {
    .giscus-wrapper {
        padding:1rem 1.5rem
    }
}

@media print {
    .giscus-wrapper {
        max-width: unset
    }
}

@media print {
    .giscus-wrapper {
        display: none!important
    }
}

.giscus-wrapper.input-top .giscus {
    margin-bottom: -3rem
}

:root {
    --copy-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3E%3Cpath 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");
    --copied-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3E%3Cpath 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 9 2 2 4-4'/%3E%3C/svg%3E")
}

div[class*=language-]>button.copy-code-button {
    border-width: 0;
    background: transparent;
    position: absolute;
    outline: none;
    cursor: pointer
}

@media print {
    div[class*=language-]>button.copy-code-button {
        display: none
    }
}

div[class*=language-]>button.copy-code-button .copy-icon {
    background: currentcolor;
    -webkit-mask-image: var(--copy-icon);
    mask-image: var(--copy-icon);
    -webkit-mask-position: 50%;
    mask-position: 50%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 1em;
    mask-size: 1em
}

div[class*=language-]>button.copy-code-button:not(.fancy) {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    position: absolute;
    top: .5em;
    right: .5em;
    z-index: 5;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border-radius: .5rem;
    opacity: 0;
    transition: opacity .4s
}

div[class*=language-]>button.copy-code-button:not(.fancy):hover,div[class*=language-]>button.copy-code-button:not(.fancy).copied {
    background: var(--code-hl-bg-color, rgba(0, 0, 0, .66))
}

div[class*=language-]>button.copy-code-button:not(.fancy):focus,div[class*=language-]>button.copy-code-button:not(.fancy).copied {
    opacity: 1
}

div[class*=language-]>button.copy-code-button:not(.fancy).copied:after {
    content: attr(data-copied);
    position: absolute;
    top: 0;
    right: calc(100% + .25rem);
    display: block;
    height: 1.25rem;
    padding: .625rem;
    border-radius: .5rem;
    background: var(--code-hl-bg-color, rgba(0, 0, 0, .66));
    color: var(--code-ln-color, #9e9e9e);
    font-weight: 500;
    line-height: 1.25rem;
    white-space: nowrap
}

div[class*=language-]>button.copy-code-button:not(.fancy) .copy-icon {
    width: 1.25rem;
    height: 1.25rem;
    padding: .625rem;
    color: var(--code-ln-color, #9e9e9e);
    font-size: 1.25rem
}

div[class*=language-]>button.copy-code-button.fancy {
    right: -14px;
    bottom: -14px;
    z-index: 5;
    width: 2rem;
    height: 2rem;
    padding: 7px 8px;
    border-radius: 50%;
    background: #339af0;
    color: #fff
}

@media (max-width: 419px) {
    div[class*=language-]>button.copy-code-button.fancy {
        right:0;
        bottom: 0;
        width: 28px;
        height: 28px;
        border-radius: 50% 10% 0
    }
}

div[class*=language-]>button.copy-code-button.fancy:hover {
    background: #228be6
}

div[class*=language-]>button.copy-code-button.fancy .copy-icon {
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 1.25rem
}

@media (max-width: 419px) {
    div[class*=language-]>button.copy-code-button.fancy .copy-icon {
        position:relative;
        top: 2px;
        left: 2px
    }
}

div[class*=language-]>button.copy-code-button.copied .copy-icon {
    -webkit-mask-image: var(--copied-icon);
    mask-image: var(--copied-icon)
}

div[class*=language-]:hover:before {
    display: none
}

div[class*=language-]:hover>button.copy-code-button:not(.fancy) {
    opacity: 1
}

.chartjs-title {
    margin: .5rem auto;
    font-weight: 600;
    font-size: 18px;
    text-align: center
}

.chartjs-loading {
    color: var(--vp-tc)
}

.chartjs-wrapper {
    overflow-x: auto;
    padding: .6em .4em;
    text-align: center;
    transition: all 1s
}

@media print {
    .chartjs-wrapper {
        page-break-inside: avoid
    }
}

@media (max-width: 719px) {
    .chartjs-wrapper {
        margin:0 -1rem;
        padding: .6em 0
    }
}

.vp-code-tabs-nav {
    overflow-x: auto;
    margin: .85rem 0 -.85rem;
    padding: 0;
    border-radius: 6px 6px 0 0;
    background: var(--code-tabs-nav-bg-color, #3a404c);
    list-style: none;
    white-space: nowrap;
    transition: background var(--vp-ct)
}

@media print {
    .vp-code-tabs-nav {
        display: none
    }
}

@media (max-width: 419px) {
    .vp-code-tabs-nav {
        margin-inline:-1.5rem;
        border-radius: 0
    }
}

.vp-code-tab-nav {
    border-width: 0;
    position: relative;
    min-width: 3rem;
    margin: 0;
    padding: 6px 12px;
    border-radius: 6px 6px 0 0;
    background: transparent;
    color: var(--code-tabs-nav-text-color, #eee);
    font-weight: 600;
    font-size: .85em;
    line-height: 1.4;
    cursor: pointer;
    transition: background var(--vp-ct),color var(--vp-ct)
}

.vp-code-tab-nav:hover {
    background: var(--code-tabs-nav-hover-color, #434a57)
}

.vp-code-tab-nav:before,.vp-code-tab-nav:after {
    content: " ";
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 6px;
    height: 6px
}

.vp-code-tab-nav:before {
    right: 100%
}

.vp-code-tab-nav:after {
    left: 100%
}

.vp-code-tab-nav.active {
    background: var(--code-bg-color, #282c34)
}

.vp-code-tab-nav.active:before {
    background: radial-gradient(12px at left top,transparent 50%,var(--code-bg-color, #282c34) 50%)
}

.vp-code-tab-nav.active:after {
    background: radial-gradient(12px at right top,transparent 50%,var(--code-bg-color, #282c34) 50%)
}

.vp-code-tab-nav:first-child:before {
    display: none
}

html[dir=rtl] .vp-code-tab-nav:first-child:before {
    display: block
}

html[dir=rtl] .vp-code-tab-nav:first-child:after {
    display: none
}

.vp-code-tab {
    display: none
}

@media print {
    .vp-code-tab {
        display: block
    }
}

.vp-code-tab.active {
    display: block
}

.vp-code-tab div[class*=language-] {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

@media (max-width: 419px) {
    .vp-code-tab div[class*=language-] {
        margin:.85rem -1.5rem;
        border-radius: 0
    }
}

@media print {
    .vp-code-tab div[class*=language-] code {
        white-space: pre-wrap
    }
}

.vp-code-tab-title {
    display: none;
    font-weight: 500
}

@media print {
    .vp-code-tab-title {
        display: block
    }
}

:root {
    --code-demo-header-bg-color: #eee
}

html[data-theme=dark] {
    --code-demo-header-bg-color: #333
}

.vp-code-demo {
    margin: 8px 0;
    border: 1px solid var(--vp-brc);
    border-radius: 8px;
    transition: all .2s
}

.vp-code-demo:hover {
    box-shadow: 0 2px 12px var(--card-shadow)
}

.vp-code-demo-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    border-radius: 8px 8px 0 0;
    background: var(--code-demo-header-bg-color);
    text-align: start
}

.vp-code-demo-header .codepen-button,.vp-code-demo-header .jsfiddle-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
    box-sizing: content-box;
    width: 1.25rem;
    height: 1.25rem;
    margin: 0 4px;
    padding: 4px;
    border-radius: 50%;
    background: #ccc;
    outline: none
}

@media print {
    .vp-code-demo-header .codepen-button,.vp-code-demo-header .jsfiddle-button {
        display: none
    }
}

html[data-theme=dark] .vp-code-demo-header .codepen-button,html[data-theme=dark] .vp-code-demo-header .jsfiddle-button {
    background: #555
}

.vp-code-demo-header .codepen-button svg,.vp-code-demo-header .jsfiddle-button svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: #777
}

html[data-theme=dark] .vp-code-demo-header .codepen-button svg,html[data-theme=dark] .vp-code-demo-header .jsfiddle-button svg {
    fill: #aaa
}

.vp-code-demo-header .codepen-button:hover,.vp-code-demo-header .jsfiddle-button:hover {
    background: #aaa
}

html[data-theme=dark] .vp-code-demo-header .codepen-button:hover,html[data-theme=dark] .vp-code-demo-header .jsfiddle-button:hover {
    background: #777
}

.vp-code-demo-header .codepen-button:hover svg,.vp-code-demo-header .jsfiddle-button:hover svg {
    fill: #333
}

html[data-theme=dark] .vp-code-demo-header .codepen-button:hover svg,html[data-theme=dark] .vp-code-demo-header .jsfiddle-button:hover svg {
    fill: #fff
}

.vp-code-demo-toggle-button {
    border-width: 0;
    background: transparent;
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%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: center;
    background-repeat: no-repeat;
    line-height: normal;
    transition: all .3s;
    position: relative;
    margin: 8px 12px 8px 8px;
    padding: 0;
    border-color: transparent;
    border-radius: 50%;
    background-color: #ccc;
    outline: none;
    font-size: 24px;
    cursor: pointer
}

html[data-theme=dark] .vp-code-demo-toggle-button {
    background-image: url("data:image/svg+xml,%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")
}

.vp-code-demo-toggle-button.down {
    transform: rotate(180deg)
}

html[dir=rtl] .vp-code-demo-toggle-button.down {
    transform: rotate(-180deg)
}

.vp-code-demo-toggle-button.end {
    transform: rotate(90deg)
}

html[dir=rtl] .vp-code-demo-toggle-button.end,.vp-code-demo-toggle-button.start {
    transform: rotate(-90deg)
}

html[dir=rtl] .vp-code-demo-toggle-button.start {
    transform: rotate(90deg)
}

@media print {
    .vp-code-demo-toggle-button {
        display: none
    }
}

html[data-theme=dark] .vp-code-demo-toggle-button {
    background-color: #555
}

.vp-code-demo-toggle-button:hover {
    background-color: #aaa
}

html[data-theme=dark] .vp-code-demo-toggle-button:hover {
    background-color: #777
}

.vp-code-demo-title {
    display: inline-block;
    vertical-align: top;
    flex: 1;
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 2.5rem
}

.vp-code-demo-title:first-child {
    margin-inline-start:.5rem}

.vp-code-demo-loading {
    color: var(--vp-tc)
}

.vp-code-demo-display {
    position: relative;
    overflow: auto;
    max-height: 400px;
    padding: 20px;
    border-bottom: 1px solid var(--vp-brc)
}

@media print {
    .vp-code-demo-display {
        page-break-inside: avoid
    }
}

.vp-code-demo-code-wrapper {
    overflow: hidden;
    transition: height .5s
}

@media print {
    .vp-code-demo-code-wrapper {
        height: auto!important
    }
}

.vp-code-demo-codes>p {
    margin: .75rem
}

.vp-code-demo-codes>div[class*=language-] {
    border-radius: 0
}

@media (max-width: 419px) {
    .vp-code-demo-codes>div[class*=language-] {
        margin:.8rem 0
    }

    .vp-code-demo-codes>div[class*=language-].line-numbers-mode:after {
        display: none
    }

    .vp-code-demo-codes>div[class*=language-] .line-numbers-wrapper {
        display: none
    }

    .vp-code-demo-codes>div[class*=language-] pre[class*=language-] {
        padding: 1.25rem 1.25rem 1rem
    }
}

.vp-code-demo-codes>div[class*=language-]:first-child pre {
    margin-top: 0!important
}

.vp-code-demo-codes>div[class*=language-].language-json {
    display: none
}

.vp-code-demo-codes>div[class*=language-].line-numbers-mode:after {
    border-radius: 0
}

.vp-code-demo-codes>div[class*=language-] button.copy-code-button.fancy {
    right: 0;
    bottom: 0;
    width: 28px;
    height: 28px;
    border-radius: 50% 10% 0
}

.vp-code-demo-codes>div[class*=language-] button.copy-code-button.fancy svg {
    position: relative;
    top: 1px;
    left: 1px
}

:root {
    --md-demo-header-bg-color: #eee
}

html[data-theme=dark] {
    --md-demo-header-bg-color: #333
}

.vp-md-demo {
    margin: 8px -8px;
    border: 1px solid var(--vp-brc);
    border-radius: 8px;
    transition: all .2s
}

.vp-md-demo:hover {
    box-shadow: 0 2px 12px var(--card-shadow)
}

.vp-md-demo-header {
    position: relative;
    padding: 8px 12px;
    border-radius: 8px 8px 0 0;
    background: var(--code-demo-header-bg-color);
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 2.5rem;
    text-align: start
}

.vp-md-demo-toggle-button {
    border-width: 0;
    background: transparent;
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%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: center;
    background-repeat: no-repeat;
    line-height: normal;
    transition: all .3s;
    position: relative;
    margin: 8px 12px 8px 8px;
    padding: 0;
    border-color: transparent;
    border-radius: 50%;
    background-color: #ccc;
    outline: none;
    font-size: 24px;
    cursor: pointer
}

html[data-theme=dark] .vp-md-demo-toggle-button {
    background-image: url("data:image/svg+xml,%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")
}

.vp-md-demo-toggle-button.down {
    transform: rotate(180deg)
}

html[dir=rtl] .vp-md-demo-toggle-button.down {
    transform: rotate(-180deg)
}

.vp-md-demo-toggle-button.end {
    transform: rotate(90deg)
}

html[dir=rtl] .vp-md-demo-toggle-button.end,.vp-md-demo-toggle-button.start {
    transform: rotate(-90deg)
}

html[dir=rtl] .vp-md-demo-toggle-button.start {
    transform: rotate(90deg)
}

@media print {
    .vp-md-demo-toggle-button {
        display: none
    }
}

html[data-theme=dark] .vp-md-demo-toggle-button {
    background-color: #555
}

.vp-md-demo-toggle-button:hover {
    background-color: #aaa
}

html[data-theme=dark] .vp-md-demo-toggle-button:hover {
    background-color: #777
}

.vp-md-demo-display {
    position: relative;
    overflow: auto;
    padding: 8px
}

@media print {
    .vp-md-demo-display {
        page-break-inside: avoid
    }
}

.vp-md-demo-code-wrapper {
    overflow: hidden;
    transition: height .5s
}

@media print {
    .vp-md-demo-code-wrapper {
        height: auto!important
    }
}

.vp-md-demo-codes>div[class*=language-] {
    border-radius: 0
}

@media (max-width: 419px) {
    .vp-md-demo-codes>div[class*=language-] {
        margin:.8rem 0
    }

    .vp-md-demo-codes>div[class*=language-].line-numbers-mode:after {
        display: none
    }

    .vp-md-demo-codes>div[class*=language-] .line-numbers-wrapper {
        display: none
    }

    .vp-md-demo-codes>div[class*=language-] pre[class*=language-] {
        padding: 1.25rem 1.25rem 1rem
    }
}

.vp-md-demo-codes>div[class*=language-] pre {
    margin-block:0!important}

.vp-md-demo-codes>div[class*=language-].line-numbers-mode:after {
    border-radius: 0
}

.vp-md-demo-codes>div[class*=language-] button.copy-code-button.fancy {
    right: 0;
    bottom: 0;
    width: 28px;
    height: 28px;
    border-radius: 50% 10% 0
}

.vp-md-demo-codes>div[class*=language-] button.copy-code-button.fancy svg {
    position: relative;
    top: 1px;
    left: 1px
}

.echarts-title {
    margin: 1rem auto .5rem;
    font-weight: 600;
    font-size: 18px;
    text-align: center
}

.echarts-wrapper {
    position: relative;
    text-align: center;
    transition: all 1s
}

@media (max-width: 719px) {
    .echarts-wrapper {
        margin:0 -1rem
    }
}

.echarts-wrapper .echarts-container {
    min-height: 360px
}

@media print {
    .echarts-wrapper .echarts-container {
        page-break-inside: avoid
    }
}

.echarts-wrapper .echarts-loading {
    position: absolute;
    inset: 0 0 auto;
    color: var(--vp-tc)
}

.theme-hope-content figure {
    position: relative;
    display: flex;
    flex-direction: column;
    width: auto;
    margin: 1rem auto;
    text-align: center;
    transition: transform var(--vp-tt)
}

.theme-hope-content figure img {
    overflow: hidden;
    margin: 0 auto;
    border-radius: 8px
}

.theme-hope-content figure img[tabindex]:hover,.theme-hope-content figure img[tabindex]:focus {
    box-shadow: 2px 2px 10px 0 var(--card-shadow)
}

@media print {
    .theme-hope-content figure>a[href^="http://"]:after,.theme-hope-content figure>a[href^="https://"]:after {
        content: ""
    }
}

.theme-hope-content figure>a .external-link-icon {
    display: none
}

.theme-hope-content figure figcaption {
    display: inline-block;
    margin: 6px auto;
    font-size: .8rem
}

.flowchart-loading {
    color: var(--vp-tc)
}

.flowchart-wrapper {
    overflow-x: auto;
    padding: .6em .4em;
    text-align: center;
    direction: ltr;
    transition: all 1s
}

@media print {
    .flowchart-wrapper {
        page-break-inside: avoid
    }
}

@media (max-width: 719px) {
    .flowchart-wrapper {
        margin:0 -1.5rem;
        padding: .6em 0
    }
}

.flowchart-wrapper.vue .start-element,.flowchart-wrapper.vue .end-element,.flowchart-wrapper.vue .operation-element,.flowchart-wrapper.vue .parallel-element {
    rx: 5px;
    ry: 5px
}

.footnote-item {
    margin-top: calc(0rem - var(--navbar-height, 3.6rem));
    padding-top: calc(var(--navbar-height, 3.6rem) + .5rem)
}

.footnote-item>p {
    margin-bottom: 0
}

.footnote-ref {
    position: relative
}

.footnote-anchor {
    position: absolute;
    top: calc(-.5rem - var(--navbar-height, 3.6rem))
}

:root {
    --important-title-color: #230555;
    --important-bg-color: #f4eefe;
    --important-border-color: #a371f7;
    --important-code-bg-color: rgb(163 113 247 / 10%);
    --info-title-color: #193c47;
    --info-bg-color: #eef9fd;
    --info-border-color: #4cb3d4;
    --info-code-bg-color: rgb(76 179 212 / 10%);
    --note-title-color: #474748;
    --note-bg-color: #fdfdfe;
    --note-border-color: #ccc;
    --note-code-bg-color: rgb(212 213 216 / 20%);
    --tip-title-color: #003100;
    --tip-bg-color: #e6f6e6;
    --tip-border-color: #009400;
    --tip-code-bg-color: rgb(0 148 0 / 15%);
    --warning-title-color: #4d3800;
    --warning-bg-color: #fff8e6;
    --warning-border-color: #e6a700;
    --warning-code-bg-color: rgb(230 167 0 / 15%);
    --caution-title-color: #4b1113;
    --caution-bg-color: #ffebec;
    --caution-border-color: #e13238;
    --caution-code-bg-color: rgb(225 50 56 / 15%);
    --detail-bg-color: #eee;
    --detail-text-color: inherit;
    --detail-code-bg-color: rgb(127 127 127 / 15%)
}

html[data-theme=dark] {
    --important-title-color: #f4eefe;
    --important-bg-color: #230555;
    --info-title-color: #eef9fd;
    --info-bg-color: #193c47;
    --note-title-color: #fdfdfe;
    --note-bg-color: #474748;
    --tip-title-color: #e6f6e6;
    --tip-bg-color: #003100;
    --warning-title-color: #fff8e6;
    --warning-bg-color: #4d3800;
    --caution-title-color: #ffebec;
    --caution-bg-color: #4b1113;
    --detail-bg-color: #333;
    --detail-text-color: #a8a8a8
}

.hint-container {
    position: relative;
    transition: background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)
}

@media print {
    .hint-container {
        page-break-inside: avoid
    }
}

.hint-container .hint-container-title {
    position: relative;
    font-weight: 600;
    line-height: 1.25
}

.hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution {
    margin: 1rem 0;
    padding: .25rem 1rem;
    border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius: .5rem;
    color: inherit
}

@media (max-width: 419px) {
    .hint-container.important,.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.caution {
        margin-inline:-.75rem
    }
}

.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.75rem}

@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: " ";
    position: absolute;
    top: calc(50% - .6125em);
    inset-inline-start: 0;
    width: 1.25em;
    height: 1.25em;
    background-position: left;
    background-repeat: no-repeat
}

@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-tc)
}

.hint-container.important {
    border-color: var(--important-border-color);
    background: var(--important-bg-color)
}

.hint-container.important>.hint-container-title {
    color: var(--important-title-color)
}

.hint-container.important>.hint-container-title:before {
    background-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' fill='%23a371f7'/%3E%3C/svg%3E")
}

.hint-container.important code {
    background: var(--important-code-bg-color)
}

.hint-container.info {
    border-color: var(--info-border-color);
    background: var(--info-bg-color)
}

.hint-container.info>.hint-container-title {
    color: var(--info-title-color)
}

.hint-container.info>.hint-container-title:before {
    background-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' fill='%234cb3d4'/%3E%3C/svg%3E")
}

.hint-container.info code {
    background: var(--info-code-bg-color)
}

.hint-container.note {
    border-color: var(--note-border-color);
    background: var(--note-bg-color)
}

.hint-container.note>.hint-container-title {
    color: var(--note-title-color)
}

.hint-container.note>.hint-container-title:before {
    background-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' fill='%23ccc'/%3E%3C/svg%3E")
}

.hint-container.note code {
    background: var(--note-code-bg-color)
}

.hint-container.tip {
    border-color: var(--tip-border-color);
    background: var(--tip-bg-color)
}

.hint-container.tip>.hint-container-title {
    color: var(--tip-title-color)
}

.hint-container.tip>.hint-container-title:before {
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' 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")
}

.hint-container.tip code {
    background: var(--tip-code-bg-color)
}

.hint-container.warning {
    border-color: var(--warning-border-color);
    background: var(--warning-bg-color)
}

.hint-container.warning>.hint-container-title {
    color: var(--warning-title-color)
}

.hint-container.warning>.hint-container-title:before {
    background-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' fill='%23e6a700'/%3E%3C/svg%3E")
}

.hint-container.warning code {
    background: var(--warning-code-bg-color)
}

.hint-container.caution {
    border-color: var(--caution-border-color);
    background: var(--caution-bg-color)
}

.hint-container.caution>.hint-container-title {
    color: var(--caution-title-color)
}

.hint-container.caution>.hint-container-title:before {
    background-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' fill='%23e13238'/%3E%3C/svg%3E")
}

.hint-container.caution code {
    background: var(--caution-code-bg-color)
}

.hint-container.details {
    position: relative;
    display: block;
    margin: 1rem 0;
    padding: 1.5rem;
    border-radius: .5rem;
    background: var(--detail-bg-color);
    color: var(--detail-text-color);
    transition: background var(--vp-tt),color var(--vp-tt)
}

@media (max-width: 419px) {
    .hint-container.details {
        margin-inline:-.75rem
    }
}

.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-tc)
}

.hint-container.details code {
    background: var(--detail-code-bg-color)
}

.hint-container.details summary {
    position: relative;
    margin: -1.5rem;
    padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style: none;
    cursor: pointer
}

.hint-container.details summary::-webkit-details-marker {
    display: none
}

.hint-container.details summary::marker {
    color: transparent;
    font-size: 0
}

.hint-container.details summary:before,.hint-container.details summary:after {
    content: " ";
    position: absolute;
    top: calc(50% - .75rem);
    inset-inline-start: 1.5rem;
    width: 1.5rem;
    height: 1.5rem
}

.hint-container.details summary:before {
    border-radius: 50%;
    background: #ccc;
    transition: background var(--vp-ct),transform var(--vp-tt)
}

html[data-theme=dark] .hint-container.details summary:before {
    background: #555
}

.hint-container.details summary:after {
    background-image: url("data:image/svg+xml,%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");
    line-height: normal;
    transition: transform var(--vp-tt);
    transform: rotate(90deg)
}

html[data-theme=dark] .hint-container.details summary:after {
    background-image: url("data:image/svg+xml,%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")
}

.hint-container.details[open]>summary {
    margin-bottom: .5em
}

.hint-container.details[open]>summary:after {
    transform: rotate(180deg)
}

html[data-theme=light] figure:has(img[data-mode=darkmode-only]),html[data-theme=light] img[data-mode=darkmode-only] {
    display: none!important
}

html[data-theme=dark] figure:has(img[data-mode=lightmode-only]),html[data-theme=dark] img[data-mode=lightmode-only] {
    display: none!important
}

.kotlin-playground-wrapper {
    overflow: hidden;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--vp-brc);
    border-radius: 6px
}

.kotlin-playground-wrapper .header {
    padding: .5rem .75rem;
    border-bottom: 1px solid var(--vp-brc);
    background: var(--playground-header-bg-color, #eee);
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.5;
    overflow-wrap: break-word;
    transition: background var(--vp-ct) border-color var(--vp-ct)
}

.kotlin-playground-container .executable-fragment-wrapper {
    margin-bottom: 24px
}

.kotlin-playground-container .executable-fragment,.kotlin-playground-container .output-wrapper,.kotlin-playground-container .js-code-output-executor {
    border: none!important
}

.kotlin-playground-container .run-button {
    top: 8px;
    right: 8px
}

.kotlin-playground-container .compiler-info {
    padding: 6px 0
}

.kotlin-playground-container .console-close {
    top: 4px;
    right: 4px;
    border-radius: 4px;
    cursor: pointer
}

.kotlin-playground {
    border-radius: 8px;
    background-color: var(--vp-bgl)
}

.kotlin-playground pre {
    padding: .5rem 1rem
}

.kotlin-playground textarea {
    width: 100%;
    resize: none
}

.markmap-title {
    margin: 1rem auto .5rem;
    font-weight: 600;
    font-size: 18px;
    text-align: center
}

.markmap-wrapper {
    position: relative;
    text-align: center;
    transition: all 1s
}

@media (max-width: 719px) {
    .markmap-wrapper {
        margin:0 -1rem
    }
}

.markmap-wrapper .markmap-svg {
    width: 100%;
    min-height: 360px
}

@media print {
    .markmap-wrapper .markmap-svg {
        page-break-inside: avoid
    }
}

.markmap-wrapper .markmap-loading {
    position: absolute;
    inset: 0 0 auto;
    color: var(--vp-tc)
}

.mm-toolbar {
    display: flex;
    align-items: center;
    padding: .25rem;
    border-width: 1px;
    border-style: solid;
    border-color: var(--vp-brc);
    border-radius: .25rem;
    background: var(--vp-bgl);
    line-height: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.mm-toolbar:hover {
    box-shadow: 0 2px 12px 0 var(--card-shadow)
}

.mm-toolbar .mm-toolbar-brand {
    display: none
}

.mm-toolbar svg {
    display: block
}

.mm-toolbar a {
    display: inline-block;
    text-decoration-line: none
}

.mm-toolbar>span {
    padding-right: .25rem;
    padding-left: .25rem
}

.mm-toolbar-item:not(:first-child) {
    margin-left: .25rem
}

.mm-toolbar-item>* {
    min-width: 20px;
    height: 20px;
    font-size: .75rem;
    line-height: 1rem;
    line-height: 20px;
    text-align: center;
    cursor: pointer
}

.mm-toolbar-item.active,.mm-toolbar-item:hover {
    border-radius: .25rem;
    background-color: var(--vp-tc)
}

.mm-toolbar-item.active>*,.mm-toolbar-item:hover>* {
    color: var(--vp-bgl)
}

mjx-container[jax=SVG] {
    direction: ltr
}

mjx-container[jax=SVG]>svg {
    overflow: visible;
    min-height: 1px;
    min-width: 1px
}

mjx-container[jax=SVG]>svg a {
    fill: #00f;
    stroke: #00f
}

mjx-assistive-mml {
    position: absolute!important;
    top: 0;
    left: 0;
    clip: rect(1px,1px,1px,1px);
    padding: 1px 0 0!important;
    border: 0px!important;
    display: block!important;
    width: auto!important;
    overflow: hidden!important;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

mjx-assistive-mml[display=block] {
    width: 100%!important
}

mjx-container[jax=SVG][display=true] {
    display: block;
    text-align: center;
    margin: 1em 0
}

mjx-container[jax=SVG][display=true][width=full] {
    display: flex
}

mjx-container[jax=SVG][justify=left] {
    text-align: left
}

mjx-container[jax=SVG][justify=right] {
    text-align: right
}

g[data-mml-node=merror]>g {
    fill: red;
    stroke: red
}

g[data-mml-node=merror]>rect[data-background] {
    fill: #ff0;
    stroke: none
}

g[data-mml-node=mtable]>line[data-line],svg[data-table]>g>line[data-line] {
    stroke-width: 70px;
    fill: none
}

g[data-mml-node=mtable]>rect[data-frame],svg[data-table]>g>rect[data-frame] {
    stroke-width: 70px;
    fill: none
}

g[data-mml-node=mtable]>.mjx-dashed,svg[data-table]>g>.mjx-dashed {
    stroke-dasharray: 140
}

g[data-mml-node=mtable]>.mjx-dotted,svg[data-table]>g>.mjx-dotted {
    stroke-linecap: round;
    stroke-dasharray: 0,140
}

g[data-mml-node=mtable]>g>svg {
    overflow: visible
}

[jax=SVG] mjx-tool {
    display: inline-block;
    position: relative;
    width: 0;
    height: 0
}

[jax=SVG] mjx-tool>mjx-tip {
    position: absolute;
    top: 0;
    left: 0
}

mjx-tool>mjx-tip {
    display: inline-block;
    padding: .2em;
    border: 1px solid #888;
    font-size: 70%;
    background-color: #f8f8f8;
    color: #000;
    box-shadow: 2px 2px 5px #aaa
}

g[data-mml-node=maction][data-toggle] {
    cursor: pointer
}

mjx-status {
    display: block;
    position: fixed;
    left: 1em;
    bottom: 1em;
    min-width: 25%;
    padding: .2em .4em;
    border: 1px solid #888;
    font-size: 90%;
    background-color: #f8f8f8;
    color: #000
}

foreignObject[data-mjx-xml] {
    font-family: initial;
    line-height: normal;
    overflow: visible
}

mjx-container[jax=SVG] path[data-c],mjx-container[jax=SVG] use[data-c] {
    stroke-width: 3
}

mjx-container {
    overflow-x: auto
}

.mermaid-preview .node rect,.mermaid-preview .clusters rect,.mermaid-preview rect.note,.mermaid-preview .actor,.mermaid-wrapper .node rect,.mermaid-wrapper .clusters rect,.mermaid-wrapper rect.note,.mermaid-wrapper .actor {
    rx: 8;
    ry: 8
}

.mermaid-wrapper {
    position: relative;
    overflow-x: auto;
    padding: .6em .4em;
    text-align: center;
    transition: all 1s
}

@media (max-width: 419px) {
    .mermaid-wrapper {
        margin:0 -1.5rem;
        padding: .6em 0
    }
}

.mermaid-loading {
    color: var(--vp-tc)
}

@media print {
    .mermaid-content {
        page-break-inside: avoid
    }
}

.mermaid-actions {
    text-align: end
}

@media print {
    .mermaid-actions {
        display: none
    }
}

.mermaid-preview {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fffc
}

html[data-theme=dark] .mermaid-preview {
    background-color: #000c
}

.mermaid-preview svg {
    max-width: 100%;
    max-height: 100%
}

.preview-button,.download-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    width: 2rem;
    height: 2rem;
    padding: .25rem;
    color: var(--dark-grey)
}

@media (max-width: 719px) {
    .preview-button,.download-button {
        width:1.5rem;
        height: 1.5rem
    }
}

.preview-button:hover,.download-button:hover {
    color: var(--vp-tc)
}

.preview-button svg,.download-button svg {
    width: 100%;
    height: 100%
}

.vp-playground {
    overflow: hidden;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--vp-brc);
    border-radius: 6px
}

@media print {
    .vp-playground {
        display: none!important
    }
}

.vp-playground-header {
    display: flex;
    flex-flow: row wrap;
    padding: 8px 10px;
    border-bottom: 1px solid var(--vp-brc);
    background: var(--playground-header-bg-color, #eee);
    font-weight: 500;
    transition: background var(--vp-ct),border-color var(--vp-ct)
}

.vp-playground-title {
    flex: 1;
    overflow: hidden;
    font-size: 1.25rem;
    text-overflow: ellipsis;
    white-space: nowrap
}

.vp-playground-actions {
    display: flex;
    align-items: center
}

.vp-playground-action {
    display: inline-flex;
    margin-inline-start:10px}

.vp-playground-action .icon {
    width: 1.5rem;
    height: 1.5rem;
    fill: #777
}

.vp-playground-action:hover .icon {
    fill: var(--vp-tc)
}

.vp-playground-container {
    position: relative;
    overflow: hidden;
    background: var(--vp-bg);
    transition: background var(--vp-ct)
}

@media print {
    .vp-playground-container {
        page-break-inside: avoid
    }
}

.vp-playground-container iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 400px;
    border: none;
    resize: vertical
}

/*!
* reveal.js 5.0.1
* https://revealjs.com
* MIT licensed
*
* Copyright (C) 2011-2023 Hakim El Hattab, https://hakim.se
*/
.reveal .r-stretch,.reveal .stretch {
    max-width: none;
    max-height: none
}

.reveal pre.r-stretch code,.reveal pre.stretch code {
    height: 100%;
    max-height: 100%;
    box-sizing: border-box
}

.reveal .r-fit-text {
    display: inline-block;
    white-space: nowrap
}

.reveal .r-stack {
    display: grid
}

.reveal .r-stack>* {
    grid-area: 1/1;
    margin: auto
}

.reveal .r-hstack,.reveal .r-vstack {
    display: flex
}

.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video {
    min-width: 0;
    min-height: 0;
    object-fit: contain
}

.reveal .r-vstack {
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.reveal .r-hstack {
    flex-direction: row;
    align-items: center;
    justify-content: center
}

.reveal .items-stretch {
    align-items: stretch
}

.reveal .items-start {
    align-items: flex-start
}

.reveal .items-center {
    align-items: center
}

.reveal .items-end {
    align-items: flex-end
}

.reveal .justify-between {
    justify-content: space-between
}

.reveal .justify-around {
    justify-content: space-around
}

.reveal .justify-start {
    justify-content: flex-start
}

.reveal .justify-center {
    justify-content: center
}

.reveal .justify-end {
    justify-content: flex-end
}

html.reveal-full-page {
    width: 100%;
    height: 100%;
    height: 100vh;
    height: calc(var(--vh,1vh) * 100);
    height: 100svh;
    overflow: hidden
}

.reveal-viewport {
    height: 100%;
    overflow: hidden;
    position: relative;
    line-height: 1;
    margin: 0;
    background-color: #fff;
    color: #000;
    --r-controls-spacing: 12px
}

.reveal-viewport:fullscreen {
    top: 0!important;
    left: 0!important;
    width: 100%!important;
    height: 100%!important;
    transform: none!important
}

.reveal .fragment {
    transition: all .2s ease
}

.reveal .fragment:not(.custom) {
    opacity: 0;
    visibility: hidden;
    will-change: opacity
}

.reveal .fragment.visible {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.disabled {
    transition: none
}

.reveal .fragment.grow {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.grow.visible {
    transform: scale(1.3)
}

.reveal .fragment.shrink {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.shrink.visible {
    transform: scale(.7)
}

.reveal .fragment.zoom-in {
    transform: scale(.1)
}

.reveal .fragment.zoom-in.visible {
    transform: none
}

.reveal .fragment.fade-out {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.fade-out.visible {
    opacity: 0;
    visibility: hidden
}

.reveal .fragment.semi-fade-out {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.semi-fade-out.visible {
    opacity: .5;
    visibility: inherit
}

.reveal .fragment.strike {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.strike.visible {
    text-decoration: line-through
}

.reveal .fragment.fade-up {
    transform: translateY(40px)
}

.reveal .fragment.fade-up.visible {
    transform: translate(0)
}

.reveal .fragment.fade-down {
    transform: translateY(-40px)
}

.reveal .fragment.fade-down.visible {
    transform: translate(0)
}

.reveal .fragment.fade-right {
    transform: translate(-40px)
}

.reveal .fragment.fade-right.visible {
    transform: translate(0)
}

.reveal .fragment.fade-left {
    transform: translate(40px)
}

.reveal .fragment.fade-left.visible {
    transform: translate(0)
}

.reveal .fragment.current-visible,.reveal .fragment.fade-in-then-out {
    opacity: 0;
    visibility: hidden
}

.reveal .fragment.current-visible.current-fragment,.reveal .fragment.fade-in-then-out.current-fragment {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.fade-in-then-semi-out {
    opacity: 0;
    visibility: hidden
}

.reveal .fragment.fade-in-then-semi-out.visible {
    opacity: .5;
    visibility: inherit
}

.reveal .fragment.fade-in-then-semi-out.current-fragment,.reveal .fragment.highlight-blue,.reveal .fragment.highlight-current-blue,.reveal .fragment.highlight-current-green,.reveal .fragment.highlight-current-red,.reveal .fragment.highlight-green,.reveal .fragment.highlight-red {
    opacity: 1;
    visibility: inherit
}

.reveal .fragment.highlight-red.visible {
    color: #ff2c2d
}

.reveal .fragment.highlight-green.visible {
    color: #17ff2e
}

.reveal .fragment.highlight-blue.visible {
    color: #1b91ff
}

.reveal .fragment.highlight-current-red.current-fragment {
    color: #ff2c2d
}

.reveal .fragment.highlight-current-green.current-fragment {
    color: #17ff2e
}

.reveal .fragment.highlight-current-blue.current-fragment {
    color: #1b91ff
}

.reveal:after {
    content: "";
    font-style: italic
}

.reveal iframe {
    z-index: 1
}

.reveal a {
    position: relative
}

@keyframes bounce-right {
    0%,10%,25%,40%,50% {
        transform: translate(0)
    }

    20% {
        transform: translate(10px)
    }

    30% {
        transform: translate(-5px)
    }
}

@keyframes bounce-left {
    0%,10%,25%,40%,50% {
        transform: translate(0)
    }

    20% {
        transform: translate(-10px)
    }

    30% {
        transform: translate(5px)
    }
}

@keyframes bounce-down {
    0%,10%,25%,40%,50% {
        transform: translateY(0)
    }

    20% {
        transform: translateY(10px)
    }

    30% {
        transform: translateY(-5px)
    }
}

.reveal .controls {
    display: none;
    position: absolute;
    top: auto;
    bottom: var(--r-controls-spacing);
    right: var(--r-controls-spacing);
    left: auto;
    z-index: 11;
    color: #000;
    pointer-events: none;
    font-size: 10px
}

.reveal .controls button {
    position: absolute;
    padding: 0;
    background-color: transparent;
    border: 0;
    outline: 0;
    cursor: pointer;
    color: currentColor;
    transform: scale(.9999);
    transition: color .2s ease,opacity .2s ease,transform .2s ease;
    z-index: 2;
    pointer-events: auto;
    font-size: inherit;
    visibility: hidden;
    opacity: 0;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent
}

.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 2.6em;
    height: .5em;
    border-radius: .25em;
    background-color: currentColor;
    transition: all .15s ease,background-color .8s ease;
    transform-origin: .2em 50%;
    will-change: transform
}

.reveal .controls .controls-arrow {
    position: relative;
    width: 3.6em;
    height: 3.6em
}

.reveal .controls .controls-arrow:before {
    transform: translate(.5em) translateY(1.55em) rotate(45deg)
}

.reveal .controls .controls-arrow:after {
    transform: translate(.5em) translateY(1.55em) rotate(-45deg)
}

.reveal .controls .controls-arrow:hover:before {
    transform: translate(.5em) translateY(1.55em) rotate(40deg)
}

.reveal .controls .controls-arrow:hover:after {
    transform: translate(.5em) translateY(1.55em) rotate(-40deg)
}

.reveal .controls .controls-arrow:active:before {
    transform: translate(.5em) translateY(1.55em) rotate(36deg)
}

.reveal .controls .controls-arrow:active:after {
    transform: translate(.5em) translateY(1.55em) rotate(-36deg)
}

.reveal .controls .navigate-left {
    right: 6.4em;
    bottom: 3.2em;
    transform: translate(-10px)
}

.reveal .controls .navigate-left.highlight {
    animation: bounce-left 2s 50 both ease-out
}

.reveal .controls .navigate-right {
    right: 0;
    bottom: 3.2em;
    transform: translate(10px)
}

.reveal .controls .navigate-right .controls-arrow {
    transform: rotate(180deg)
}

.reveal .controls .navigate-right.highlight {
    animation: bounce-right 2s 50 both ease-out
}

.reveal .controls .navigate-up {
    right: 3.2em;
    bottom: 6.4em;
    transform: translateY(-10px)
}

.reveal .controls .navigate-up .controls-arrow {
    transform: rotate(90deg)
}

.reveal .controls .navigate-down {
    right: 3.2em;
    bottom: -1.4em;
    padding-bottom: 1.4em;
    transform: translateY(10px)
}

.reveal .controls .navigate-down .controls-arrow {
    transform: rotate(-90deg)
}

.reveal .controls .navigate-down.highlight {
    animation: bounce-down 2s 50 both ease-out
}

.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled {
    opacity: .3
}

.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover {
    opacity: 1
}

.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled {
    opacity: 0;
    visibility: hidden
}

.reveal .controls .enabled {
    visibility: visible;
    opacity: .9;
    cursor: pointer;
    transform: none
}

.reveal .controls .enabled.fragmented {
    opacity: .5
}

.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover {
    opacity: 1
}

.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled {
    opacity: .3
}

.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover {
    opacity: 1
}

.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled {
    opacity: 0;
    visibility: hidden
}

.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled {
    opacity: .3
}

.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover {
    opacity: 1
}

.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled {
    opacity: 0;
    visibility: hidden
}

.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up {
    display: none
}

.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left {
    bottom: 1.4em;
    right: 5.5em
}

.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right {
    bottom: 1.4em;
    right: .5em
}

.reveal:not(.has-horizontal-slides) .controls .navigate-up {
    right: 1.4em;
    bottom: 5em
}

.reveal:not(.has-horizontal-slides) .controls .navigate-down {
    right: 1.4em;
    bottom: .5em
}

.reveal.has-dark-background .controls {
    color: #fff
}

.reveal.has-light-background .controls {
    color: #000
}

.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before {
    transform: translate(.5em) translateY(1.55em) rotate(45deg)
}

.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after {
    transform: translate(.5em) translateY(1.55em) rotate(-45deg)
}

@media screen and (min-width: 500px) {
    .reveal-viewport {
        --r-controls-spacing:.8em
    }

    .reveal .controls[data-controls-layout=edges] {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0
    }

    .reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up {
        bottom: auto;
        right: auto
    }

    .reveal .controls[data-controls-layout=edges] .navigate-left {
        top: 50%;
        left: var(--r-controls-spacing);
        margin-top: -1.8em
    }

    .reveal .controls[data-controls-layout=edges] .navigate-right {
        top: 50%;
        right: var(--r-controls-spacing);
        margin-top: -1.8em
    }

    .reveal .controls[data-controls-layout=edges] .navigate-up {
        top: var(--r-controls-spacing);
        left: 50%;
        margin-left: -1.8em
    }

    .reveal .controls[data-controls-layout=edges] .navigate-down {
        bottom: calc(var(--r-controls-spacing) - 1.4em + .3em);
        left: 50%;
        margin-left: -1.8em
    }
}

.reveal .progress {
    position: absolute;
    display: none;
    height: 3px;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 10;
    background-color: #0003;
    color: #fff
}

.reveal .progress:after {
    content: "";
    display: block;
    position: absolute;
    height: 10px;
    width: 100%;
    top: -10px
}

.reveal .progress span {
    display: block;
    height: 100%;
    width: 100%;
    background-color: currentColor;
    transition: transform .8s cubic-bezier(.26,.86,.44,.985);
    transform-origin: 0 0;
    transform: scaleX(0)
}

.reveal .slide-number {
    position: absolute;
    display: block;
    right: 8px;
    bottom: 8px;
    z-index: 31;
    font-family: Helvetica,sans-serif;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    background-color: #0006;
    padding: 5px
}

.reveal .slide-number a {
    color: currentColor
}

.reveal .slide-number-delimiter {
    margin: 0 3px
}

.reveal {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    touch-action: pinch-zoom
}

.reveal.embedded {
    touch-action: pan-y
}

.reveal .slides {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    pointer-events: none;
    overflow: visible;
    z-index: 1;
    text-align: center;
    perspective: 600px;
    perspective-origin: 50% 40%
}

.reveal .slides>section {
    perspective: 600px
}

.reveal .slides>section,.reveal .slides>section>section {
    display: none;
    position: absolute;
    width: 100%;
    pointer-events: auto;
    z-index: 10;
    transform-style: flat;
    transition: transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)
}

.reveal[data-transition-speed=fast] .slides section {
    transition-duration: .4s
}

.reveal[data-transition-speed=slow] .slides section {
    transition-duration: 1.2s
}

.reveal .slides section[data-transition-speed=fast] {
    transition-duration: .4s
}

.reveal .slides section[data-transition-speed=slow] {
    transition-duration: 1.2s
}

.reveal .slides>section.stack {
    padding-top: 0;
    padding-bottom: 0;
    pointer-events: none;
    height: 100%
}

.reveal .slides>section.present,.reveal .slides>section>section.present {
    display: block;
    z-index: 11;
    opacity: 1
}

.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive] {
    pointer-events: none
}

.reveal.center,.reveal.center .slides,.reveal.center .slides section {
    min-height: 0!important
}

.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present) {
    pointer-events: none
}

.reveal.overview .slides>section,.reveal.overview .slides>section>section {
    pointer-events: auto
}

.reveal .slides>section.future,.reveal .slides>section.future>section,.reveal .slides>section.past,.reveal .slides>section.past>section,.reveal .slides>section>section.future,.reveal .slides>section>section.past {
    opacity: 0
}

.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past {
    transform: translate(-150%)
}

.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future {
    transform: translate(150%)
}

.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past {
    transform: translateY(-150%)
}

.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future {
    transform: translateY(150%)
}

.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past {
    transform: translate(-150%)
}

.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future {
    transform: translate(150%)
}

.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past {
    transform: translateY(-150%)
}

.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future {
    transform: translateY(150%)
}

.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack {
    transform-style: preserve-3d
}

.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past {
    transform: translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)
}

.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future {
    transform: translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)
}

.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past {
    transform: translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)
}

.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future {
    transform: translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)
}

.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack {
    transform-style: preserve-3d
}

.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past {
    transform: translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)
}

.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future {
    transform: translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)
}

.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past {
    transform: translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)
}

.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future {
    transform: translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)
}

.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack {
    transform-style: preserve-3d
}

.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past {
    transform: translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)
}

.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future {
    transform: translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)
}

.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past {
    transform: translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)
}

.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future {
    transform: translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)
}

.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]) {
    transition-timing-function: ease
}

.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past {
    visibility: hidden;
    transform: scale(16)
}

.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future {
    visibility: hidden;
    transform: scale(.2)
}

.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past {
    transform: scale(16)
}

.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future {
    transform: scale(.2)
}

.reveal.cube .slides {
    perspective: 1300px
}

.reveal.cube .slides section {
    padding: 30px;
    min-height: 700px;
    backface-visibility: hidden;
    box-sizing: border-box;
    transform-style: preserve-3d
}

.reveal.center.cube .slides section {
    min-height: 0
}

.reveal.cube .slides section:not(.stack):before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0,0,0,.1);
    border-radius: 4px;
    transform: translateZ(-20px)
}

.reveal.cube .slides section:not(.stack):after {
    content: "";
    position: absolute;
    display: block;
    width: 90%;
    height: 30px;
    left: 5%;
    bottom: 0;
    background: 0 0;
    z-index: 1;
    border-radius: 4px;
    box-shadow: 0 95px 25px #0003;
    transform: translateZ(-90px) rotateX(65deg)
}

.reveal.cube .slides>section.stack {
    padding: 0;
    background: 0 0
}

.reveal.cube .slides>section.past {
    transform-origin: 100% 0;
    transform: translate3d(-100%,0,0) rotateY(-90deg)
}

.reveal.cube .slides>section.future {
    transform-origin: 0 0;
    transform: translate3d(100%,0,0) rotateY(90deg)
}

.reveal.cube .slides>section>section.past {
    transform-origin: 0 100%;
    transform: translate3d(0,-100%,0) rotateX(90deg)
}

.reveal.cube .slides>section>section.future {
    transform-origin: 0 0;
    transform: translate3d(0,100%,0) rotateX(-90deg)
}

.reveal.page .slides {
    perspective-origin: 0 50%;
    perspective: 3000px
}

.reveal.page .slides section {
    padding: 30px;
    min-height: 700px;
    box-sizing: border-box;
    transform-style: preserve-3d
}

.reveal.page .slides section.past {
    z-index: 12
}

.reveal.page .slides section:not(.stack):before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0,0,0,.1);
    transform: translateZ(-20px)
}

.reveal.page .slides section:not(.stack):after {
    content: "";
    position: absolute;
    display: block;
    width: 90%;
    height: 30px;
    left: 5%;
    bottom: 0;
    background: 0 0;
    z-index: 1;
    border-radius: 4px;
    box-shadow: 0 95px 25px #0003;
    -webkit-transform: translateZ(-90px) rotateX(65deg)
}

.reveal.page .slides>section.stack {
    padding: 0;
    background: 0 0
}

.reveal.page .slides>section.past {
    transform-origin: 0 0;
    transform: translate3d(-40%,0,0) rotateY(-80deg)
}

.reveal.page .slides>section.future {
    transform-origin: 100% 0;
    transform: translateZ(0)
}

.reveal.page .slides>section>section.past {
    transform-origin: 0 0;
    transform: translate3d(0,-40%,0) rotateX(80deg)
}

.reveal.page .slides>section>section.future {
    transform-origin: 0 100%;
    transform: translateZ(0)
}

.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]) {
    transform: none;
    transition: opacity .5s
}

.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section {
    transition: none
}

.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]) {
    transform: none;
    transition: none
}

.reveal .pause-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    visibility: hidden;
    opacity: 0;
    z-index: 100;
    transition: all 1s ease
}

.reveal .pause-overlay .resume-button {
    position: absolute;
    bottom: 20px;
    right: 20px;
    color: #ccc;
    border-radius: 2px;
    padding: 6px 14px;
    border: 2px solid #ccc;
    font-size: 16px;
    background: 0 0;
    cursor: pointer
}

.reveal .pause-overlay .resume-button:hover {
    color: #fff;
    border-color: #fff
}

.reveal.paused .pause-overlay {
    visibility: visible;
    opacity: 1
}

.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section {
    transition: none!important
}

.reveal .slides.disable-slide-transitions section {
    transform: none!important
}

.reveal .backgrounds {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    perspective: 600px
}

.reveal .slide-background {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    background-color: #0000;
    transition: all .8s cubic-bezier(.26,.86,.44,.985)
}

.reveal .slide-background-content {
    position: absolute;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover
}

.reveal .slide-background.stack {
    display: block
}

.reveal .slide-background.present {
    opacity: 1;
    visibility: visible;
    z-index: 2
}

.print-pdf .reveal .slide-background {
    opacity: 1!important;
    visibility: visible!important
}

.reveal .slide-background video {
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    top: 0;
    left: 0;
    object-fit: cover
}

.reveal .slide-background[data-background-size=contain] video {
    object-fit: contain
}

.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background:not([data-background-transition]) {
    transition: none
}

.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background:not([data-background-transition]) {
    opacity: 1
}

.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past:not([data-background-transition]) {
    transform: translate(-100%)
}

.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future:not([data-background-transition]) {
    transform: translate(100%)
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    transform: translateY(-100%)
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    transform: translateY(100%)
}

.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)
}

.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)
}

.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)
}

.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    opacity: 0;
    transform: translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)
}

.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background:not([data-background-transition]) {
    transition-timing-function: ease
}

.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(16)
}

.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(.2)
}

.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(16)
}

.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future:not([data-background-transition]) {
    opacity: 0;
    visibility: hidden;
    transform: scale(.2)
}

.reveal[data-transition-speed=fast]>.backgrounds .slide-background {
    transition-duration: .4s
}

.reveal[data-transition-speed=slow]>.backgrounds .slide-background {
    transition-duration: 1.2s
}

.reveal [data-auto-animate-target^=unmatched] {
    will-change: opacity
}

.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched] {
    opacity: 0
}

.reveal.overview {
    perspective-origin: 50% 50%;
    perspective: 700px
}

.reveal.overview .slides {
    -moz-transform-style: preserve-3d
}

.reveal.overview .slides section {
    height: 100%;
    top: 0!important;
    opacity: 1!important;
    overflow: hidden;
    visibility: visible!important;
    cursor: pointer;
    box-sizing: border-box
}

.reveal.overview .slides section.present,.reveal.overview .slides section:hover {
    outline: 10px solid rgba(150,150,150,.4);
    outline-offset: 10px
}

.reveal.overview .slides section .fragment {
    opacity: 1;
    transition: none
}

.reveal.overview .slides section:after,.reveal.overview .slides section:before {
    display: none!important
}

.reveal.overview .slides>section.stack {
    padding: 0;
    top: 0!important;
    background: 0 0;
    outline: 0;
    overflow: visible
}

.reveal.overview .backgrounds {
    perspective: inherit;
    -moz-transform-style: preserve-3d
}

.reveal.overview .backgrounds .slide-background {
    opacity: 1;
    visibility: visible;
    outline: 10px solid rgba(150,150,150,.1);
    outline-offset: 10px
}

.reveal.overview .backgrounds .slide-background.stack {
    overflow: visible
}

.reveal.overview .slides section,.reveal.overview-deactivating .slides section {
    transition: none
}

.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background {
    transition: none
}

.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6 {
    direction: rtl;
    font-family: sans-serif
}

.reveal.rtl code,.reveal.rtl pre {
    direction: ltr
}

.reveal.rtl ol,.reveal.rtl ul {
    text-align: right
}

.reveal.rtl .progress span {
    transform-origin: 100% 0
}

.reveal.has-parallax-background .backgrounds {
    transition: all .8s ease
}

.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds {
    transition-duration: .4s
}

.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds {
    transition-duration: 1.2s
}

.reveal>.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background: rgba(0,0,0,.9);
    transition: all .3s ease
}

.reveal>.overlay .spinner {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    z-index: 10;
    background-image: url(data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);
    visibility: visible;
    opacity: .6;
    transition: all .3s ease
}

.reveal>.overlay header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 5px;
    z-index: 2;
    box-sizing: border-box
}

.reveal>.overlay header a {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 36px;
    padding: 0 10px;
    float: right;
    opacity: .6;
    box-sizing: border-box
}

.reveal>.overlay header a:hover {
    opacity: 1
}

.reveal>.overlay header a .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-position: 50% 50%;
    background-size: 100%;
    background-repeat: no-repeat
}

.reveal>.overlay header a.close .icon {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABkklEQVRYR8WX4VHDMAxG6wnoJrABZQPYBCaBTWAD2g1gE5gg6OOsXuxIlr40d81dfrSJ9V4c2VLK7spHuTJ/5wpM07QXuXc5X0opX2tEJcadjHuV80li/FgxTIEK/5QBCICBD6xEhSMGHgQPgBgLiYVAB1dpSqKDawxTohFw4JSEA3clzgIBPCURwE2JucBR7rhPJJv5OpJwDX+SfDjgx1wACQeJG1aChP9K/IMmdZ8DtESV1WyP3Bt4MwM6sj4NMxMYiqUWHQu4KYA/SYkIjOsm3BXYWMKFDwU2khjCQ4ELJUJ4SmClRArOCmSXGuKma0fYD5CbzHxFpCSGAhfAVSSUGDUk2BWZaff2g6GE15BsBQ9nwmpIGDiyHQddwNTMKkbZaf9fajXQca1EX44puJZUsnY0ObGmITE3GVLCbEhQUjGVt146j6oasWN+49Vph2w1pZ5EansNZqKBm1txbU57iRRcZ86RWMDdWtBJUHBHwoQPi1GV+JCbntmvok7iTX4/Up9mgyTc/FJYDTcndgH/AA5A/CHsyEkVAAAAAElFTkSuQmCC)
}

.reveal>.overlay header a.external .icon {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAcElEQVRYR+2WSQoAIQwEzf8f7XiOMkUQxUPlGkM3hVmiQfQR9GYnH1SsAQlI4DiBqkCMoNb9y2e90IAEJPAcgdznU9+engMaeJ7Azh5Y1U67gAho4DqBqmB1buAf0MB1AlVBek83ZPkmJMGc1wAR+AAqod/B97TRpQAAAABJRU5ErkJggg==)
}

.reveal>.overlay .viewport {
    position: absolute;
    display: flex;
    top: 50px;
    right: 0;
    bottom: 0;
    left: 0
}

.reveal>.overlay.overlay-preview .viewport iframe {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    border: 0;
    opacity: 0;
    visibility: hidden;
    transition: all .3s ease
}

.reveal>.overlay.overlay-preview.loaded .viewport iframe {
    opacity: 1;
    visibility: visible
}

.reveal>.overlay.overlay-preview.loaded .viewport-inner {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 45%;
    width: 100%;
    text-align: center;
    letter-spacing: normal
}

.reveal>.overlay.overlay-preview .x-frame-error {
    opacity: 0;
    transition: opacity .3s ease .3s
}

.reveal>.overlay.overlay-preview.loaded .x-frame-error {
    opacity: 1
}

.reveal>.overlay.overlay-preview.loaded .spinner {
    opacity: 0;
    visibility: hidden;
    transform: scale(.2)
}

.reveal>.overlay.overlay-help .viewport {
    overflow: auto;
    color: #fff
}

.reveal>.overlay.overlay-help .viewport .viewport-inner {
    width: 600px;
    margin: auto;
    padding: 20px 20px 80px;
    text-align: center;
    letter-spacing: normal
}

.reveal>.overlay.overlay-help .viewport .viewport-inner .title {
    font-size: 20px
}

.reveal>.overlay.overlay-help .viewport .viewport-inner table {
    border: 1px solid #fff;
    border-collapse: collapse;
    font-size: 16px
}

.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th {
    width: 200px;
    padding: 14px;
    border: 1px solid #fff;
    vertical-align: middle
}

.reveal>.overlay.overlay-help .viewport .viewport-inner table th {
    padding-top: 20px;
    padding-bottom: 20px
}

.reveal .playback {
    position: absolute;
    left: 15px;
    bottom: 20px;
    z-index: 30;
    cursor: pointer;
    transition: all .4s ease;
    -webkit-tap-highlight-color: transparent
}

.reveal.overview .playback {
    opacity: 0;
    visibility: hidden
}

.reveal .hljs {
    min-height: 100%
}

.reveal .hljs table {
    margin: initial
}

.reveal .hljs-ln-code,.reveal .hljs-ln-numbers {
    padding: 0;
    border: 0
}

.reveal .hljs-ln-numbers {
    opacity: .6;
    padding-right: .75em;
    text-align: right;
    vertical-align: top
}

.reveal .hljs.has-highlights tr:not(.highlight-line) {
    opacity: .4
}

.reveal .hljs.has-highlights.fragment {
    transition: all .2s ease
}

.reveal .hljs:not(:first-child).fragment {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box
}

.reveal pre[data-auto-animate-target] {
    overflow: hidden
}

.reveal pre[data-auto-animate-target] code {
    height: 100%
}

.reveal .roll {
    display: inline-block;
    line-height: 1.2;
    overflow: hidden;
    vertical-align: top;
    perspective: 400px;
    perspective-origin: 50% 50%
}

.reveal .roll:hover {
    background: 0 0;
    text-shadow: none
}

.reveal .roll span {
    display: block;
    position: relative;
    padding: 0 2px;
    pointer-events: none;
    transition: all .4s ease;
    transform-origin: 50% 0;
    transform-style: preserve-3d;
    backface-visibility: hidden
}

.reveal .roll:hover span {
    background: rgba(0,0,0,.5);
    transform: translateZ(-45px) rotateX(90deg)
}

.reveal .roll span:after {
    content: attr(data-title);
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    padding: 0 2px;
    backface-visibility: hidden;
    transform-origin: 50% 0;
    transform: translate3d(0,110%,0) rotateX(-90deg)
}

.reveal aside.notes {
    display: none
}

.reveal .speaker-notes {
    display: none;
    position: absolute;
    width: 33.3333333333%;
    height: 100%;
    top: 0;
    left: 100%;
    padding: 14px 18px;
    z-index: 1;
    font-size: 18px;
    line-height: 1.4;
    border: 1px solid rgba(0,0,0,.05);
    color: #222;
    background-color: #f5f5f5;
    overflow: auto;
    box-sizing: border-box;
    text-align: left;
    font-family: Helvetica,sans-serif;
    -webkit-overflow-scrolling: touch
}

.reveal .speaker-notes .notes-placeholder {
    color: #ccc;
    font-style: italic
}

.reveal .speaker-notes:focus {
    outline: 0
}

.reveal .speaker-notes:before {
    content: "Speaker notes";
    display: block;
    margin-bottom: 10px;
    opacity: .5
}

.reveal.show-notes {
    max-width: 75%;
    overflow: visible
}

.reveal.show-notes .speaker-notes {
    display: block
}

@media screen and (min-width: 1600px) {
    .reveal .speaker-notes {
        font-size:20px
    }
}

@media screen and (max-width: 1024px) {
    .reveal.show-notes {
        border-left:0;
        max-width: none;
        max-height: 70%;
        max-height: 70vh;
        overflow: visible
    }

    .reveal.show-notes .speaker-notes {
        top: 100%;
        left: 0;
        width: 100%;
        height: 30vh;
        border: 0
    }
}

@media screen and (max-width: 600px) {
    .reveal.show-notes {
        max-height:60%;
        max-height: 60vh
    }

    .reveal.show-notes .speaker-notes {
        top: 100%;
        height: 40vh
    }

    .reveal .speaker-notes {
        font-size: 14px
    }
}

.reveal .jump-to-slide {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 30;
    font-size: 32px;
    -webkit-tap-highlight-color: transparent
}

.reveal .jump-to-slide-input {
    background: 0 0;
    padding: 8px;
    font-size: inherit;
    color: currentColor;
    border: 0
}

.reveal .jump-to-slide-input::placeholder {
    color: currentColor;
    opacity: .5
}

.reveal.has-dark-background .jump-to-slide-input {
    color: #fff
}

.reveal.has-light-background .jump-to-slide-input {
    color: #222
}

.reveal .jump-to-slide-input:focus {
    outline: 0
}

.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before {
    backface-visibility: visible!important
}

.zoomed .reveal .controls,.zoomed .reveal .progress {
    opacity: 0
}

.zoomed .reveal .roll span {
    background: 0 0
}

.zoomed .reveal .roll span:after {
    visibility: hidden
}

.reveal-viewport.loading-scroll-mode {
    visibility: hidden
}

.reveal-viewport.reveal-scroll {
    margin: 0 auto;
    overflow: auto;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 1;
    --r-scrollbar-width: 7px;
    --r-scrollbar-trigger-size: 5px;
    --r-controls-spacing: 8px
}

@media screen and (max-width: 500px) {
    .reveal-viewport.reveal-scroll {
        --r-scrollbar-width:3px;
        --r-scrollbar-trigger-size: 3px
    }
}

.reveal-viewport.reveal-scroll .backgrounds,.reveal-viewport.reveal-scroll .controls,.reveal-viewport.reveal-scroll .playback,.reveal-viewport.reveal-scroll .progress,.reveal-viewport.reveal-scroll .slide-number,.reveal-viewport.reveal-scroll .speaker-notes {
    display: none!important
}

.reveal-viewport.reveal-scroll .reveal {
    overflow: visible;
    touch-action: manipulation
}

.reveal-viewport.reveal-scroll .slides {
    position: static;
    pointer-events: initial;
    left: auto;
    top: auto;
    width: 100%!important;
    margin: 0;
    padding: 0;
    overflow: visible;
    display: block;
    perspective: none;
    perspective-origin: 50% 50%
}

.reveal-viewport.reveal-scroll .scroll-page {
    position: relative;
    width: 100%;
    height: calc(var(--page-height) + var(--page-scroll-padding));
    z-index: 1;
    overflow: visible
}

.reveal-viewport.reveal-scroll .scroll-page-sticky {
    position: sticky;
    height: var(--page-height);
    top: 0
}

.reveal-viewport.reveal-scroll .scroll-page-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.reveal-viewport.reveal-scroll .scroll-page section {
    visibility: visible!important;
    display: block!important;
    position: absolute!important;
    width: var(--slide-width)!important;
    height: var(--slide-height)!important;
    top: 50%!important;
    left: 50%!important;
    opacity: 1!important;
    transform: scale(var(--slide-scale)) translate(-50%,-50%)!important;
    transform-style: flat!important;
    transform-origin: 0 0!important
}

.reveal-viewport.reveal-scroll .slide-background {
    display: block!important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: auto!important;
    visibility: visible;
    opacity: 1;
    touch-action: manipulation
}

.reveal-viewport.reveal-scroll[data-scrollbar=auto]::-webkit-scrollbar,.reveal-viewport.reveal-scroll[data-scrollbar=true]::-webkit-scrollbar {
    display: none
}

.reveal-viewport.reveal-scroll[data-scrollbar=auto],.reveal-viewport.reveal-scroll[data-scrollbar=true] {
    scrollbar-width: none
}

.reveal-viewport.has-dark-background,.reveal.has-dark-background {
    --r-overlay-element-bg-color: 240,240,240;
    --r-overlay-element-fg-color: 0,0,0
}

.reveal-viewport.has-light-background,.reveal.has-light-background {
    --r-overlay-element-bg-color: 0,0,0;
    --r-overlay-element-fg-color: 240,240,240
}

.reveal-viewport.reveal-scroll .scrollbar {
    position: sticky;
    top: 50%;
    z-index: 20;
    opacity: 0;
    transition: all .3s ease
}

.reveal-viewport.reveal-scroll .scrollbar.visible,.reveal-viewport.reveal-scroll .scrollbar:hover {
    opacity: 1
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-inner {
    position: absolute;
    width: var(--r-scrollbar-width);
    height: calc(var(--viewport-height) - var(--r-controls-spacing) * 2);
    right: var(--r-controls-spacing);
    top: 0;
    transform: translateY(-50%);
    border-radius: var(--r-scrollbar-width);
    z-index: 10
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-playhead {
    position: absolute;
    width: var(--r-scrollbar-width);
    height: var(--r-scrollbar-width);
    top: 0;
    left: 0;
    border-radius: var(--r-scrollbar-width);
    background-color: rgba(var(--r-overlay-element-bg-color),1);
    z-index: 11;
    transition: background-color .2s ease
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide {
    position: absolute;
    width: 100%;
    background-color: rgba(var(--r-overlay-element-bg-color),.2);
    box-shadow: 0 0 0 1px rgba(var(--r-overlay-element-fg-color),.1);
    border-radius: var(--r-scrollbar-width);
    transition: background-color .2s ease
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:after {
    content: "";
    position: absolute;
    width: 200%;
    height: 100%;
    top: 0;
    left: -50%;
    background: rgba(0,0,0,0);
    z-index: -1
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide:hover {
    background-color: rgba(var(--r-overlay-element-bg-color),.4)
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-trigger {
    position: absolute;
    width: 100%;
    transition: background-color .2s ease
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active.has-triggers {
    background-color: rgba(var(--r-overlay-element-bg-color),.4);
    z-index: 10
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger:after {
    content: "";
    position: absolute;
    width: var(--r-scrollbar-trigger-size);
    height: var(--r-scrollbar-trigger-size);
    border-radius: 20px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-color: rgba(var(--r-overlay-element-bg-color),1);
    transition: transform .2s ease,opacity .2s ease;
    opacity: .4
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active:after,.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger.active~.scrollbar-trigger:after {
    opacity: 1
}

.reveal-viewport.reveal-scroll .scrollbar .scrollbar-slide.active .scrollbar-trigger~.scrollbar-trigger.active:after {
    transform: translate(calc(var(--r-scrollbar-width) * -2));
    background-color: rgba(var(--r-overlay-element-bg-color),1)
}

html.reveal-print * {
    -webkit-print-color-adjust: exact
}

html.reveal-print {
    width: 100%;
    height: 100%;
    overflow: visible
}

html.reveal-print body {
    margin: 0 auto!important;
    border: 0;
    padding: 0;
    float: none!important;
    overflow: visible
}

html.reveal-print .nestedarrow,html.reveal-print .reveal .controls,html.reveal-print .reveal .playback,html.reveal-print .reveal .progress,html.reveal-print .reveal.overview,html.reveal-print .state-background {
    display: none!important
}

html.reveal-print .reveal pre code {
    overflow: hidden!important
}

html.reveal-print .reveal {
    width: auto!important;
    height: auto!important;
    overflow: hidden!important
}

html.reveal-print .reveal .slides {
    position: static;
    width: 100%!important;
    height: auto!important;
    zoom:1!important;pointer-events: initial;
    left: auto;
    top: auto;
    margin: 0!important;
    padding: 0!important;
    overflow: visible;
    display: block;
    perspective: none;
    perspective-origin: 50% 50%
}

html.reveal-print .reveal .slides .pdf-page {
    position: relative;
    overflow: hidden;
    z-index: 1;
    page-break-after: always
}

html.reveal-print .reveal .slides .pdf-page:last-of-type {
    page-break-after: avoid
}

html.reveal-print .reveal .slides section {
    visibility: visible!important;
    display: block!important;
    position: absolute!important;
    margin: 0!important;
    padding: 0!important;
    box-sizing: border-box!important;
    min-height: 1px;
    opacity: 1!important;
    transform-style: flat!important;
    transform: none!important
}

html.reveal-print .reveal section.stack {
    position: relative!important;
    margin: 0!important;
    padding: 0!important;
    page-break-after: avoid!important;
    height: auto!important;
    min-height: auto!important
}

html.reveal-print .reveal img {
    box-shadow: none
}

html.reveal-print .reveal .backgrounds {
    display: none
}

html.reveal-print .reveal .slide-background {
    display: block!important;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: auto!important
}

html.reveal-print .reveal.show-notes {
    max-width: none;
    max-height: none
}

html.reveal-print .reveal .speaker-notes-pdf {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    z-index: 100
}

html.reveal-print .reveal .speaker-notes-pdf[data-layout=separate-page] {
    position: relative;
    color: inherit;
    background-color: transparent;
    padding: 20px;
    page-break-after: always;
    border: 0
}

html.reveal-print .reveal .slide-number-pdf {
    display: block;
    position: absolute;
    font-size: 14px;
    visibility: visible
}

html.reveal-print .aria-status {
    display: none
}

@media print {
    html:not(.print-pdf) {
        overflow: visible;
        width: auto;
        height: auto
    }

    html:not(.print-pdf) body {
        margin: 0;
        padding: 0;
        overflow: visible
    }

    html:not(.print-pdf) .reveal {
        background: #fff;
        font-size: 20pt
    }

    html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .controls,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .reveal .state-background {
        display: none!important
    }

    html:not(.print-pdf) .reveal li,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal td {
        font-size: 20pt!important;
        color: #000
    }

    html:not(.print-pdf) .reveal h1,html:not(.print-pdf) .reveal h2,html:not(.print-pdf) .reveal h3,html:not(.print-pdf) .reveal h4,html:not(.print-pdf) .reveal h5,html:not(.print-pdf) .reveal h6 {
        color: #000!important;
        height: auto;
        line-height: normal;
        text-align: left;
        letter-spacing: normal
    }

    html:not(.print-pdf) .reveal h1 {
        font-size: 28pt!important
    }

    html:not(.print-pdf) .reveal h2 {
        font-size: 24pt!important
    }

    html:not(.print-pdf) .reveal h3 {
        font-size: 22pt!important
    }

    html:not(.print-pdf) .reveal h4 {
        font-size: 22pt!important;
        font-variant: small-caps
    }

    html:not(.print-pdf) .reveal h5 {
        font-size: 21pt!important
    }

    html:not(.print-pdf) .reveal h6 {
        font-size: 20pt!important;
        font-style: italic
    }

    html:not(.print-pdf) .reveal a:link,html:not(.print-pdf) .reveal a:visited {
        color: #000!important;
        font-weight: 700;
        text-decoration: underline
    }

    html:not(.print-pdf) .reveal div,html:not(.print-pdf) .reveal ol,html:not(.print-pdf) .reveal p,html:not(.print-pdf) .reveal ul {
        visibility: visible;
        position: static;
        width: auto;
        height: auto;
        display: block;
        overflow: visible;
        margin: 0;
        text-align: left!important
    }

    html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table {
        margin-left: 0;
        margin-right: 0
    }

    html:not(.print-pdf) .reveal pre code {
        padding: 20px
    }

    html:not(.print-pdf) .reveal blockquote {
        margin: 20px 0
    }

    html:not(.print-pdf) .reveal .slides {
        position: static!important;
        width: auto!important;
        height: auto!important;
        left: 0!important;
        top: 0!important;
        margin-left: 0!important;
        margin-top: 0!important;
        padding: 0!important;
        zoom:1!important;transform: none!important;
        overflow: visible!important;
        display: block!important;
        text-align: left!important;
        perspective: none;
        perspective-origin: 50% 50%
    }

    html:not(.print-pdf) .reveal .slides section {
        visibility: visible!important;
        position: static!important;
        width: auto!important;
        height: auto!important;
        display: block!important;
        overflow: visible!important;
        left: 0!important;
        top: 0!important;
        margin-left: 0!important;
        margin-top: 0!important;
        padding: 60px 20px!important;
        z-index: auto!important;
        opacity: 1!important;
        page-break-after: always!important;
        transform-style: flat!important;
        transform: none!important;
        transition: none!important
    }

    html:not(.print-pdf) .reveal .slides section.stack {
        padding: 0!important
    }

    html:not(.print-pdf) .reveal .slides section:last-of-type {
        page-break-after: avoid!important
    }

    html:not(.print-pdf) .reveal .slides section .fragment {
        opacity: 1!important;
        visibility: visible!important;
        transform: none!important
    }

    html:not(.print-pdf) .reveal .r-fit-text {
        white-space: normal!important
    }

    html:not(.print-pdf) .reveal section img {
        display: block;
        margin: 15px 0;
        background: #fff;
        border: 1px solid #666;
        box-shadow: none
    }

    html:not(.print-pdf) .reveal section small {
        font-size: .8em
    }

    html:not(.print-pdf) .reveal .hljs {
        max-height: 100%;
        white-space: pre-wrap;
        word-wrap: break-word;
        word-break: break-word;
        font-size: 15pt
    }

    html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers {
        white-space: nowrap
    }

    html:not(.print-pdf) .reveal .hljs td {
        font-size: inherit!important;
        color: inherit!important
    }
}

html[data-theme=light] .reveal[data-theme=auto] {
    --r-background-color: #fff;
    --r-main-font: Source Sans Pro, helvetica, sans-serif;
    --r-main-font-size: 42px;
    --r-main-color: #222;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: Source Sans Pro, helvetica, sans-serif;
    --r-heading-color: #222;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: 600;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 2.5em;
    --r-heading2-size: 1.6em;
    --r-heading3-size: 1.3em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #2a76dd;
    --r-link-color-hover: #4a8be2;
    --r-selection-background-color: #5f98e6;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #fff
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-comment,html[data-theme=light] .reveal[data-theme=auto] .hljs-quote {
    color: #8e908c
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-deletion,html[data-theme=light] .reveal[data-theme=auto] .hljs-name,html[data-theme=light] .reveal[data-theme=auto] .hljs-regexp,html[data-theme=light] .reveal[data-theme=auto] .hljs-selector-class,html[data-theme=light] .reveal[data-theme=auto] .hljs-selector-id,html[data-theme=light] .reveal[data-theme=auto] .hljs-tag,html[data-theme=light] .reveal[data-theme=auto] .hljs-template-variable,html[data-theme=light] .reveal[data-theme=auto] .hljs-variable {
    color: #c82829
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-built_in,html[data-theme=light] .reveal[data-theme=auto] .hljs-builtin-name,html[data-theme=light] .reveal[data-theme=auto] .hljs-link,html[data-theme=light] .reveal[data-theme=auto] .hljs-literal,html[data-theme=light] .reveal[data-theme=auto] .hljs-meta,html[data-theme=light] .reveal[data-theme=auto] .hljs-number,html[data-theme=light] .reveal[data-theme=auto] .hljs-params,html[data-theme=light] .reveal[data-theme=auto] .hljs-type {
    color: #f5871f
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-attribute {
    color: #eab700
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-addition,html[data-theme=light] .reveal[data-theme=auto] .hljs-bullet,html[data-theme=light] .reveal[data-theme=auto] .hljs-string,html[data-theme=light] .reveal[data-theme=auto] .hljs-symbol {
    color: #718c00
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-section,html[data-theme=light] .reveal[data-theme=auto] .hljs-title {
    color: #4271ae
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-keyword,html[data-theme=light] .reveal[data-theme=auto] .hljs-selector-tag {
    color: #8959a8
}

html[data-theme=light] .reveal[data-theme=auto] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #fff;
    color: #4d4d4c
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-emphasis {
    font-style: italic
}

html[data-theme=light] .reveal[data-theme=auto] .hljs-strong {
    font-weight: 700
}

html[data-theme=dark] .reveal[data-theme=auto] {
    --r-background-color: #191919;
    --r-main-font: Source Sans Pro, helvetica, sans-serif;
    --r-main-font-size: 42px;
    --r-main-color: #fff;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: Source Sans Pro, helvetica, sans-serif;
    --r-heading-color: #fff;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: 600;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 2.5em;
    --r-heading2-size: 1.6em;
    --r-heading3-size: 1.3em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #42affa;
    --r-link-color-hover: #5ebbfb;
    --r-selection-background-color: #71c3fb;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #191919
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-comment,html[data-theme=dark] .reveal[data-theme=auto] .hljs-quote {
    color: #b6b18b
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-deletion,html[data-theme=dark] .reveal[data-theme=auto] .hljs-name,html[data-theme=dark] .reveal[data-theme=auto] .hljs-regexp,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-class,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-id,html[data-theme=dark] .reveal[data-theme=auto] .hljs-tag,html[data-theme=dark] .reveal[data-theme=auto] .hljs-template-variable,html[data-theme=dark] .reveal[data-theme=auto] .hljs-variable {
    color: #eb3c54
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-built_in,html[data-theme=dark] .reveal[data-theme=auto] .hljs-builtin-name,html[data-theme=dark] .reveal[data-theme=auto] .hljs-link,html[data-theme=dark] .reveal[data-theme=auto] .hljs-literal,html[data-theme=dark] .reveal[data-theme=auto] .hljs-meta,html[data-theme=dark] .reveal[data-theme=auto] .hljs-number,html[data-theme=dark] .reveal[data-theme=auto] .hljs-params,html[data-theme=dark] .reveal[data-theme=auto] .hljs-type {
    color: #e7ce56
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-attribute {
    color: #ee7c2b
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-addition,html[data-theme=dark] .reveal[data-theme=auto] .hljs-bullet,html[data-theme=dark] .reveal[data-theme=auto] .hljs-string,html[data-theme=dark] .reveal[data-theme=auto] .hljs-symbol {
    color: #4fb4d7
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-section,html[data-theme=dark] .reveal[data-theme=auto] .hljs-title {
    color: #78bb65
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-keyword,html[data-theme=dark] .reveal[data-theme=auto] .hljs-selector-tag {
    color: #b45ea4
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #1c1d21;
    color: #c0c5ce
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-emphasis {
    font-style: italic
}

html[data-theme=dark] .reveal[data-theme=auto] .hljs-strong {
    font-weight: 700
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Lato;
    src: local("Lato Italic"),local("Lato-Italic"),url(https://fonts.gstatic.com/s/lato/v17/S6u8w4BMUTPHjxsAUi-qJCY.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Lato;
    src: local("Lato Italic"),local("Lato-Italic"),url(https://fonts.gstatic.com/s/lato/v17/S6u8w4BMUTPHjxsAXC-q.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Lato;
    src: local("Lato Bold Italic"),local("Lato-BoldItalic"),url(https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI5wq_FQft1dw.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Lato;
    src: local("Lato Bold Italic"),local("Lato-BoldItalic"),url(https://fonts.gstatic.com/s/lato/v17/S6u_w4BMUTPHjxsI5wq_Gwft.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Lato;
    src: local("Lato Regular"),local("Lato-Regular"),url(https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXjeu.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Lato;
    src: local("Lato Regular"),local("Lato-Regular"),url(https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Lato;
    src: local("Lato Bold"),local("Lato-Bold"),url(https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwaPGR_p.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Lato;
    src: local("Lato Bold"),local("Lato-Bold"),url(https://fonts.gstatic.com/s/lato/v17/S6u9w4BMUTPHh6UVSwiPGQ.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

.reveal[data-theme=beige] {
    --r-background-color: #f7f3de;
    --r-main-font: Lato, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #333;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: League Gothic, impact, sans-serif;
    --r-heading-color: #333;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 20px 20px rgba(0, 0, 0, .15);
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #42affa;
    --r-link-color-hover: #68bffb;
    --r-selection-background-color: rgba(79, 64, 28, .99);
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: radial-gradient(center, circle farthest-corner, rgb(255, 255, 255) 0%, rgb(247, 242, 211) 100%)
}

.reveal[data-theme=beige] .hljs-comment,.reveal[data-theme=beige] .hljs-quote {
    color: #8e908c
}

.reveal[data-theme=beige] .hljs-deletion,.reveal[data-theme=beige] .hljs-name,.reveal[data-theme=beige] .hljs-regexp,.reveal[data-theme=beige] .hljs-selector-class,.reveal[data-theme=beige] .hljs-selector-id,.reveal[data-theme=beige] .hljs-tag,.reveal[data-theme=beige] .hljs-template-variable,.reveal[data-theme=beige] .hljs-variable {
    color: #c82829
}

.reveal[data-theme=beige] .hljs-built_in,.reveal[data-theme=beige] .hljs-builtin-name,.reveal[data-theme=beige] .hljs-link,.reveal[data-theme=beige] .hljs-literal,.reveal[data-theme=beige] .hljs-meta,.reveal[data-theme=beige] .hljs-number,.reveal[data-theme=beige] .hljs-params,.reveal[data-theme=beige] .hljs-type {
    color: #f5871f
}

.reveal[data-theme=beige] .hljs-attribute {
    color: #eab700
}

.reveal[data-theme=beige] .hljs-addition,.reveal[data-theme=beige] .hljs-bullet,.reveal[data-theme=beige] .hljs-string,.reveal[data-theme=beige] .hljs-symbol {
    color: #718c00
}

.reveal[data-theme=beige] .hljs-section,.reveal[data-theme=beige] .hljs-title {
    color: #4271ae
}

.reveal[data-theme=beige] .hljs-keyword,.reveal[data-theme=beige] .hljs-selector-tag {
    color: #8959a8
}

.reveal[data-theme=beige] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #fff;
    color: #4d4d4c
}

.reveal[data-theme=beige] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=beige] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=beige] section.has-dark-background,.reveal[data-theme=beige] section.has-dark-background h1,.reveal[data-theme=beige] section.has-dark-background h2,.reveal[data-theme=beige] section.has-dark-background h3,.reveal[data-theme=beige] section.has-dark-background h4,.reveal[data-theme=beige] section.has-dark-background h5,.reveal[data-theme=beige] section.has-dark-background h6 {
    color: #fff
}

.reveal[data-theme=black] {
    --r-background-color: #191919;
    --r-main-font: Source Sans Pro, helvetica, sans-serif;
    --r-main-font-size: 42px;
    --r-main-color: #fff;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: Source Sans Pro, helvetica, sans-serif;
    --r-heading-color: #fff;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: 600;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 2.5em;
    --r-heading2-size: 1.6em;
    --r-heading3-size: 1.3em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #42affa;
    --r-link-color-hover: #5ebbfb;
    --r-selection-background-color: #71c3fb;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #191919
}

.reveal[data-theme=black] .hljs-comment,.reveal[data-theme=black] .hljs-quote {
    color: #b6b18b
}

.reveal[data-theme=black] .hljs-deletion,.reveal[data-theme=black] .hljs-name,.reveal[data-theme=black] .hljs-regexp,.reveal[data-theme=black] .hljs-selector-class,.reveal[data-theme=black] .hljs-selector-id,.reveal[data-theme=black] .hljs-tag,.reveal[data-theme=black] .hljs-template-variable,.reveal[data-theme=black] .hljs-variable {
    color: #eb3c54
}

.reveal[data-theme=black] .hljs-built_in,.reveal[data-theme=black] .hljs-builtin-name,.reveal[data-theme=black] .hljs-link,.reveal[data-theme=black] .hljs-literal,.reveal[data-theme=black] .hljs-meta,.reveal[data-theme=black] .hljs-number,.reveal[data-theme=black] .hljs-params,.reveal[data-theme=black] .hljs-type {
    color: #e7ce56
}

.reveal[data-theme=black] .hljs-attribute {
    color: #ee7c2b
}

.reveal[data-theme=black] .hljs-addition,.reveal[data-theme=black] .hljs-bullet,.reveal[data-theme=black] .hljs-string,.reveal[data-theme=black] .hljs-symbol {
    color: #4fb4d7
}

.reveal[data-theme=black] .hljs-section,.reveal[data-theme=black] .hljs-title {
    color: #78bb65
}

.reveal[data-theme=black] .hljs-keyword,.reveal[data-theme=black] .hljs-selector-tag {
    color: #b45ea4
}

.reveal[data-theme=black] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #1c1d21;
    color: #c0c5ce
}

.reveal[data-theme=black] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=black] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=black] section.has-light-background,.reveal[data-theme=black] section.has-light-background h1,.reveal[data-theme=black] section.has-light-background h2,.reveal[data-theme=black] section.has-light-background h3,.reveal[data-theme=black] section.has-light-background h4,.reveal[data-theme=black] section.has-light-background h5,.reveal[data-theme=black] section.has-light-background h6 {
    color: #222
}

@font-face {
    font-weight: 300;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyCN4Ffgg.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 300;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyLN4Ffgg.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 300;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyDN4Ffgg.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 300;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyMN4Ffgg.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 300;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyBN4Ffgg.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 300;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Light Italic"),local("Ubuntu-LightItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZftVyPN4E.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyCN4Ffgg.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyLN4Ffgg.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyDN4Ffgg.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyMN4Ffgg.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyBN4Ffgg.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Ubuntu;
    src: local("Ubuntu Bold Italic"),local("Ubuntu-BoldItalic"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCp6KVjbNBYlgoKejZPslyPN4E.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 300;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjvWyNL4U.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 300;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjtGyNL4U.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 300;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjvGyNL4U.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 300;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1Czjs2yNL4U.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 300;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjvmyNL4U.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 300;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Light"),local("Ubuntu-Light"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoC1CzjsGyN.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvWyNL4U.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjtGyNL4U.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvGyNL4U.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjs2yNL4U.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjvmyNL4U.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Ubuntu;
    src: local("Ubuntu Bold"),local("Ubuntu-Bold"),url(https://fonts.gstatic.com/s/ubuntu/v15/4iCv6KVjbNBYlgoCxCvjsGyN.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

.reveal[data-theme=blood] {
    --r-background-color: #222;
    --r-main-font: ubuntu, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #eee;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: ubuntu, sans-serif;
    --r-heading-color: #eee;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: 2px 2px 2px #222;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 20px 20px rgba(0, 0, 0, .15);
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #a23;
    --r-link-color-hover: #d63347;
    --r-selection-background-color: #a23;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #222
}

.reveal[data-theme=blood] .hljs-comment,.reveal[data-theme=blood] .hljs-quote {
    color: #b6b18b
}

.reveal[data-theme=blood] .hljs-deletion,.reveal[data-theme=blood] .hljs-name,.reveal[data-theme=blood] .hljs-regexp,.reveal[data-theme=blood] .hljs-selector-class,.reveal[data-theme=blood] .hljs-selector-id,.reveal[data-theme=blood] .hljs-tag,.reveal[data-theme=blood] .hljs-template-variable,.reveal[data-theme=blood] .hljs-variable {
    color: #eb3c54
}

.reveal[data-theme=blood] .hljs-built_in,.reveal[data-theme=blood] .hljs-builtin-name,.reveal[data-theme=blood] .hljs-link,.reveal[data-theme=blood] .hljs-literal,.reveal[data-theme=blood] .hljs-meta,.reveal[data-theme=blood] .hljs-number,.reveal[data-theme=blood] .hljs-params,.reveal[data-theme=blood] .hljs-type {
    color: #e7ce56
}

.reveal[data-theme=blood] .hljs-attribute {
    color: #ee7c2b
}

.reveal[data-theme=blood] .hljs-addition,.reveal[data-theme=blood] .hljs-bullet,.reveal[data-theme=blood] .hljs-string,.reveal[data-theme=blood] .hljs-symbol {
    color: #4fb4d7
}

.reveal[data-theme=blood] .hljs-section,.reveal[data-theme=blood] .hljs-title {
    color: #78bb65
}

.reveal[data-theme=blood] .hljs-keyword,.reveal[data-theme=blood] .hljs-selector-tag {
    color: #b45ea4
}

.reveal[data-theme=blood] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #1c1d21;
    color: #c0c5ce
}

.reveal[data-theme=blood] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=blood] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=blood] section.has-light-background,.reveal[data-theme=blood] section.has-light-background h1,.reveal[data-theme=blood] section.has-light-background h2,.reveal[data-theme=blood] section.has-light-background h3,.reveal[data-theme=blood] section.has-light-background h4,.reveal[data-theme=blood] section.has-light-background h5,.reveal[data-theme=blood] section.has-light-background h6 {
    color: #222
}

.reveal[data-theme=blood] h1,.reveal[data-theme=blood] h2,.reveal[data-theme=blood] h3,.reveal[data-theme=blood] h4,.reveal[data-theme=blood] h5,.reveal[data-theme=blood] h6 {
    font-weight: 700
}

.reveal[data-theme=blood] p {
    font-weight: 300;
    text-shadow: 1px 1px #222
}

.reveal[data-theme=blood] p code {
    display: inline-block;
    border-radius: 7px;
    background: #23241f
}

.reveal[data-theme=blood] section.has-light-background p,.reveal[data-theme=blood] section.has-light-background h1,.reveal[data-theme=blood] section.has-light-background h2,.reveal[data-theme=blood] section.has-light-background h3,.reveal[data-theme=blood] section.has-light-background h4 {
    text-shadow: none
}

.reveal[data-theme=league] {
    --r-background-color: #2b2b2b;
    --r-main-font: Lato, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #eee;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: League Gothic, impact, sans-serif;
    --r-heading-color: #eee;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: 0 0 6px rgba(0, 0, 0, .2);
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, .1), 0 0 5px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .3), 0 3px 5px rgba(0, 0, 0, .2), 0 5px 10px rgba(0, 0, 0, .25), 0 20px 20px rgba(0, 0, 0, .15);
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #13daec;
    --r-link-color-hover: #42e1f0;
    --r-selection-background-color: #ff5e99;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: radial-gradient(center, circle farthest-corner, rgb(85, 90, 95) 0%, rgb(28, 30, 32) 100%)
}

.reveal[data-theme=league] .hljs-comment,.reveal[data-theme=league] .hljs-quote {
    color: #b6b18b
}

.reveal[data-theme=league] .hljs-deletion,.reveal[data-theme=league] .hljs-name,.reveal[data-theme=league] .hljs-regexp,.reveal[data-theme=league] .hljs-selector-class,.reveal[data-theme=league] .hljs-selector-id,.reveal[data-theme=league] .hljs-tag,.reveal[data-theme=league] .hljs-template-variable,.reveal[data-theme=league] .hljs-variable {
    color: #eb3c54
}

.reveal[data-theme=league] .hljs-built_in,.reveal[data-theme=league] .hljs-builtin-name,.reveal[data-theme=league] .hljs-link,.reveal[data-theme=league] .hljs-literal,.reveal[data-theme=league] .hljs-meta,.reveal[data-theme=league] .hljs-number,.reveal[data-theme=league] .hljs-params,.reveal[data-theme=league] .hljs-type {
    color: #e7ce56
}

.reveal[data-theme=league] .hljs-attribute {
    color: #ee7c2b
}

.reveal[data-theme=league] .hljs-addition,.reveal[data-theme=league] .hljs-bullet,.reveal[data-theme=league] .hljs-string,.reveal[data-theme=league] .hljs-symbol {
    color: #4fb4d7
}

.reveal[data-theme=league] .hljs-section,.reveal[data-theme=league] .hljs-title {
    color: #78bb65
}

.reveal[data-theme=league] .hljs-keyword,.reveal[data-theme=league] .hljs-selector-tag {
    color: #b45ea4
}

.reveal[data-theme=league] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #1c1d21;
    color: #c0c5ce
}

.reveal[data-theme=league] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=league] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=league] section.has-light-background,.reveal[data-theme=league] section.has-light-background h1,.reveal[data-theme=league] section.has-light-background h2,.reveal[data-theme=league] section.has-light-background h3,.reveal[data-theme=league] section.has-light-background h4,.reveal[data-theme=league] section.has-light-background h5,.reveal[data-theme=league] section.has-light-background h6 {
    color: #222
}

.reveal[data-theme=moon] {
    --r-background-color: #002b36;
    --r-main-font: Lato, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #93a1a1;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: League Gothic, impact, sans-serif;
    --r-heading-color: #eee8d5;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #268bd2;
    --r-link-color-hover: #4ea3df;
    --r-selection-background-color: #d33682;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #002b36
}

.reveal[data-theme=moon] .hljs-comment,.reveal[data-theme=moon] .hljs-quote {
    color: #b6b18b
}

.reveal[data-theme=moon] .hljs-deletion,.reveal[data-theme=moon] .hljs-name,.reveal[data-theme=moon] .hljs-regexp,.reveal[data-theme=moon] .hljs-selector-class,.reveal[data-theme=moon] .hljs-selector-id,.reveal[data-theme=moon] .hljs-tag,.reveal[data-theme=moon] .hljs-template-variable,.reveal[data-theme=moon] .hljs-variable {
    color: #eb3c54
}

.reveal[data-theme=moon] .hljs-built_in,.reveal[data-theme=moon] .hljs-builtin-name,.reveal[data-theme=moon] .hljs-link,.reveal[data-theme=moon] .hljs-literal,.reveal[data-theme=moon] .hljs-meta,.reveal[data-theme=moon] .hljs-number,.reveal[data-theme=moon] .hljs-params,.reveal[data-theme=moon] .hljs-type {
    color: #e7ce56
}

.reveal[data-theme=moon] .hljs-attribute {
    color: #ee7c2b
}

.reveal[data-theme=moon] .hljs-addition,.reveal[data-theme=moon] .hljs-bullet,.reveal[data-theme=moon] .hljs-string,.reveal[data-theme=moon] .hljs-symbol {
    color: #4fb4d7
}

.reveal[data-theme=moon] .hljs-section,.reveal[data-theme=moon] .hljs-title {
    color: #78bb65
}

.reveal[data-theme=moon] .hljs-keyword,.reveal[data-theme=moon] .hljs-selector-tag {
    color: #b45ea4
}

.reveal[data-theme=moon] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #1c1d21;
    color: #c0c5ce
}

.reveal[data-theme=moon] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=moon] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=moon] section.has-light-background,.reveal[data-theme=moon] section.has-light-background h1,.reveal[data-theme=moon] section.has-light-background h2,.reveal[data-theme=moon] section.has-light-background h3,.reveal[data-theme=moon] section.has-light-background h4,.reveal[data-theme=moon] section.has-light-background h5,.reveal[data-theme=moon] section.has-light-background h6 {
    color: #222
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Montserrat;
    src: local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gTD_u50.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Montserrat;
    src: local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3g3D_u50.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Montserrat;
    src: local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gbD_u50.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Montserrat;
    src: local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gfD_u50.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Montserrat;
    src: local("Montserrat Bold"),local("Montserrat-Bold"),url(https://fonts.gstatic.com/s/montserrat/v15/JTURjIg1_i6t8kCHKm45_dJE3gnD_g.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Udc1UAw.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0ddc1UAw.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Vdc1UAw.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0adc1UAw.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Italic"),local("OpenSans-Italic"),url(https://fonts.gstatic.com/s/opensans/v18/mem6YaGs126MiZpBA-UFUK0Zdc0.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhmIqOjjg.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhvIqOjjg.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhnIqOjjg.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhoIqOjjg.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhkIqOjjg.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhlIqOjjg.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: italic;
    font-family: Open Sans;
    src: local("Open Sans Bold Italic"),local("OpenSans-BoldItalic"),url(https://fonts.gstatic.com/s/opensans/v18/memnYaGs126MiZpBA-UFUKWiUNhrIqM.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFW50bbck.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Regular"),local("OpenSans-Regular"),url(https://fonts.gstatic.com/s/opensans/v18/mem8YaGs126MiZpBA-UFVZ0b.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOX-hpOqc.woff2) format("woff2");
    unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOVuhpOqc.woff2) format("woff2");
    unicode-range: U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOXuhpOqc.woff2) format("woff2");
    unicode-range: U+1F00-1FFF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOUehpOqc.woff2) format("woff2");
    unicode-range: U+0370-03FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOXehpOqc.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOXOhpOqc.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Open Sans;
    src: local("Open Sans Bold"),local("OpenSans-Bold"),url(https://fonts.gstatic.com/s/opensans/v18/mem5YaGs126MiZpBA-UN7rgOUuhp.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

.reveal[data-theme=night] {
    --r-background-color: #111;
    --r-main-font: Open Sans, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #eee;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: Montserrat, impact, sans-serif;
    --r-heading-color: #eee;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: -.03em;
    --r-heading-text-transform: none;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #e7ad52;
    --r-link-color-hover: #ecbd75;
    --r-selection-background-color: #e7ad52;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #111
}

.reveal[data-theme=night] .hljs-comment,.reveal[data-theme=night] .hljs-quote {
    color: #b6b18b
}

.reveal[data-theme=night] .hljs-deletion,.reveal[data-theme=night] .hljs-name,.reveal[data-theme=night] .hljs-regexp,.reveal[data-theme=night] .hljs-selector-class,.reveal[data-theme=night] .hljs-selector-id,.reveal[data-theme=night] .hljs-tag,.reveal[data-theme=night] .hljs-template-variable,.reveal[data-theme=night] .hljs-variable {
    color: #eb3c54
}

.reveal[data-theme=night] .hljs-built_in,.reveal[data-theme=night] .hljs-builtin-name,.reveal[data-theme=night] .hljs-link,.reveal[data-theme=night] .hljs-literal,.reveal[data-theme=night] .hljs-meta,.reveal[data-theme=night] .hljs-number,.reveal[data-theme=night] .hljs-params,.reveal[data-theme=night] .hljs-type {
    color: #e7ce56
}

.reveal[data-theme=night] .hljs-attribute {
    color: #ee7c2b
}

.reveal[data-theme=night] .hljs-addition,.reveal[data-theme=night] .hljs-bullet,.reveal[data-theme=night] .hljs-string,.reveal[data-theme=night] .hljs-symbol {
    color: #4fb4d7
}

.reveal[data-theme=night] .hljs-section,.reveal[data-theme=night] .hljs-title {
    color: #78bb65
}

.reveal[data-theme=night] .hljs-keyword,.reveal[data-theme=night] .hljs-selector-tag {
    color: #b45ea4
}

.reveal[data-theme=night] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #1c1d21;
    color: #c0c5ce
}

.reveal[data-theme=night] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=night] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=night] section.has-light-background,.reveal[data-theme=night] section.has-light-background h1,.reveal[data-theme=night] section.has-light-background h2,.reveal[data-theme=night] section.has-light-background h3,.reveal[data-theme=night] section.has-light-background h4,.reveal[data-theme=night] section.has-light-background h5,.reveal[data-theme=night] section.has-light-background h6 {
    color: #222
}

.reveal[data-theme=serif] {
    --r-background-color: #f0f1eb;
    --r-main-font: Palatino Linotype, Book Antiqua, palatino, freeserif, serif;
    --r-main-font-size: 40px;
    --r-main-color: #000;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: Palatino Linotype, Book Antiqua, palatino, freeserif, serif;
    --r-heading-color: #383d3d;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: none;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #51483d;
    --r-link-color-hover: #7b6d5d;
    --r-selection-background-color: #26351c;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #f0f1eb
}

.reveal[data-theme=serif] .hljs-comment,.reveal[data-theme=serif] .hljs-quote {
    color: #8e908c
}

.reveal[data-theme=serif] .hljs-deletion,.reveal[data-theme=serif] .hljs-name,.reveal[data-theme=serif] .hljs-regexp,.reveal[data-theme=serif] .hljs-selector-class,.reveal[data-theme=serif] .hljs-selector-id,.reveal[data-theme=serif] .hljs-tag,.reveal[data-theme=serif] .hljs-template-variable,.reveal[data-theme=serif] .hljs-variable {
    color: #c82829
}

.reveal[data-theme=serif] .hljs-built_in,.reveal[data-theme=serif] .hljs-builtin-name,.reveal[data-theme=serif] .hljs-link,.reveal[data-theme=serif] .hljs-literal,.reveal[data-theme=serif] .hljs-meta,.reveal[data-theme=serif] .hljs-number,.reveal[data-theme=serif] .hljs-params,.reveal[data-theme=serif] .hljs-type {
    color: #f5871f
}

.reveal[data-theme=serif] .hljs-attribute {
    color: #eab700
}

.reveal[data-theme=serif] .hljs-addition,.reveal[data-theme=serif] .hljs-bullet,.reveal[data-theme=serif] .hljs-string,.reveal[data-theme=serif] .hljs-symbol {
    color: #718c00
}

.reveal[data-theme=serif] .hljs-section,.reveal[data-theme=serif] .hljs-title {
    color: #4271ae
}

.reveal[data-theme=serif] .hljs-keyword,.reveal[data-theme=serif] .hljs-selector-tag {
    color: #8959a8
}

.reveal[data-theme=serif] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #fff;
    color: #4d4d4c
}

.reveal[data-theme=serif] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=serif] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=serif] section.has-dark-background,.reveal[data-theme=serif] section.has-dark-background h1,.reveal[data-theme=serif] section.has-dark-background h2,.reveal[data-theme=serif] section.has-dark-background h3,.reveal[data-theme=serif] section.has-dark-background h4,.reveal[data-theme=serif] section.has-dark-background h5,.reveal[data-theme=serif] section.has-dark-background h6 {
    color: #fff
}

.reveal[data-theme=serif] a {
    line-height: 1.3em
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: News Cycle;
    src: local("News Cycle"),local("NewsCycle"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR64z1Qlv-GDxkbKVQ_fO4KTet_.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: News Cycle;
    src: local("News Cycle"),local("NewsCycle"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR64z1Qlv-GDxkbKVQ_fOAKTQ.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: News Cycle;
    src: local("News Cycle Bold"),local("NewsCycle-Bold"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR54z1Qlv-GDxkbKVQ_dFsvWNpeudwk.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: News Cycle;
    src: local("News Cycle Bold"),local("NewsCycle-Bold"),url(https://fonts.gstatic.com/s/newscycle/v17/CSR54z1Qlv-GDxkbKVQ_dFsvWNReuQ.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

.reveal[data-theme=simple] {
    --r-background-color: #fff;
    --r-main-font: Lato, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #000;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: News Cycle, impact, sans-serif;
    --r-heading-color: #000;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: none;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #00008b;
    --r-link-color-hover: #0000d5;
    --r-selection-background-color: rgba(0, 0, 0, .99);
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #fff
}

.reveal[data-theme=simple] .hljs-comment,.reveal[data-theme=simple] .hljs-quote {
    color: #8e908c
}

.reveal[data-theme=simple] .hljs-deletion,.reveal[data-theme=simple] .hljs-name,.reveal[data-theme=simple] .hljs-regexp,.reveal[data-theme=simple] .hljs-selector-class,.reveal[data-theme=simple] .hljs-selector-id,.reveal[data-theme=simple] .hljs-tag,.reveal[data-theme=simple] .hljs-template-variable,.reveal[data-theme=simple] .hljs-variable {
    color: #c82829
}

.reveal[data-theme=simple] .hljs-built_in,.reveal[data-theme=simple] .hljs-builtin-name,.reveal[data-theme=simple] .hljs-link,.reveal[data-theme=simple] .hljs-literal,.reveal[data-theme=simple] .hljs-meta,.reveal[data-theme=simple] .hljs-number,.reveal[data-theme=simple] .hljs-params,.reveal[data-theme=simple] .hljs-type {
    color: #f5871f
}

.reveal[data-theme=simple] .hljs-attribute {
    color: #eab700
}

.reveal[data-theme=simple] .hljs-addition,.reveal[data-theme=simple] .hljs-bullet,.reveal[data-theme=simple] .hljs-string,.reveal[data-theme=simple] .hljs-symbol {
    color: #718c00
}

.reveal[data-theme=simple] .hljs-section,.reveal[data-theme=simple] .hljs-title {
    color: #4271ae
}

.reveal[data-theme=simple] .hljs-keyword,.reveal[data-theme=simple] .hljs-selector-tag {
    color: #8959a8
}

.reveal[data-theme=simple] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #fff;
    color: #4d4d4c
}

.reveal[data-theme=simple] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=simple] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=simple] section.has-dark-background,.reveal[data-theme=simple] section.has-dark-background h1,.reveal[data-theme=simple] section.has-dark-background h2,.reveal[data-theme=simple] section.has-dark-background h3,.reveal[data-theme=simple] section.has-dark-background h4,.reveal[data-theme=simple] section.has-dark-background h5,.reveal[data-theme=simple] section.has-dark-background h6 {
    color: #fff
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Quicksand;
    src: url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Quicksand;
    src: url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Quicksand;
    src: url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Quicksand;
    src: url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJFQNcOM.woff2) format("woff2");
    unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Quicksand;
    src: url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hJVQNcOM.woff2) format("woff2");
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

@font-face {
    font-weight: 700;
    font-style: normal;
    font-family: Quicksand;
    src: url(https://fonts.gstatic.com/s/quicksand/v21/6xKtdSZaM9iE8KbpRA_hK1QN.woff2) format("woff2");
    unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD
}

.reveal[data-theme=sky] {
    --r-background-color: #f7fbfc;
    --r-main-font: Open Sans, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #333;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: Quicksand, sans-serif;
    --r-heading-color: #333;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: -.08em;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #3b759e;
    --r-link-color-hover: #5493bf;
    --r-selection-background-color: #134674;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: radial-gradient(center, circle farthest-corner, #f7fbfc 0%, #add9e4 100%)
}

.reveal[data-theme=sky] .hljs-comment,.reveal[data-theme=sky] .hljs-quote {
    color: #8e908c
}

.reveal[data-theme=sky] .hljs-deletion,.reveal[data-theme=sky] .hljs-name,.reveal[data-theme=sky] .hljs-regexp,.reveal[data-theme=sky] .hljs-selector-class,.reveal[data-theme=sky] .hljs-selector-id,.reveal[data-theme=sky] .hljs-tag,.reveal[data-theme=sky] .hljs-template-variable,.reveal[data-theme=sky] .hljs-variable {
    color: #c82829
}

.reveal[data-theme=sky] .hljs-built_in,.reveal[data-theme=sky] .hljs-builtin-name,.reveal[data-theme=sky] .hljs-link,.reveal[data-theme=sky] .hljs-literal,.reveal[data-theme=sky] .hljs-meta,.reveal[data-theme=sky] .hljs-number,.reveal[data-theme=sky] .hljs-params,.reveal[data-theme=sky] .hljs-type {
    color: #f5871f
}

.reveal[data-theme=sky] .hljs-attribute {
    color: #eab700
}

.reveal[data-theme=sky] .hljs-addition,.reveal[data-theme=sky] .hljs-bullet,.reveal[data-theme=sky] .hljs-string,.reveal[data-theme=sky] .hljs-symbol {
    color: #718c00
}

.reveal[data-theme=sky] .hljs-section,.reveal[data-theme=sky] .hljs-title {
    color: #4271ae
}

.reveal[data-theme=sky] .hljs-keyword,.reveal[data-theme=sky] .hljs-selector-tag {
    color: #8959a8
}

.reveal[data-theme=sky] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #fff;
    color: #4d4d4c
}

.reveal[data-theme=sky] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=sky] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=sky] section.has-dark-background,.reveal[data-theme=sky] section.has-dark-background h1,.reveal[data-theme=sky] section.has-dark-background h2,.reveal[data-theme=sky] section.has-dark-background h3,.reveal[data-theme=sky] section.has-dark-background h4,.reveal[data-theme=sky] section.has-dark-background h5,.reveal[data-theme=sky] section.has-dark-background h6 {
    color: #fff
}

.reveal[data-theme=sky] a {
    line-height: 1.3em
}

.reveal[data-theme=solarized] {
    --r-background-color: #fdf6e3;
    --r-main-font: Lato, sans-serif;
    --r-main-font-size: 40px;
    --r-main-color: #657b83;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: League Gothic, impact, sans-serif;
    --r-heading-color: #586e75;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: normal;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 3.77em;
    --r-heading2-size: 2.11em;
    --r-heading3-size: 1.55em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #268bd2;
    --r-link-color-hover: #4ea3df;
    --r-selection-background-color: #d33682;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #fdf6e3
}

.reveal[data-theme=solarized] .hljs-comment,.reveal[data-theme=solarized] .hljs-quote {
    color: #8e908c
}

.reveal[data-theme=solarized] .hljs-deletion,.reveal[data-theme=solarized] .hljs-name,.reveal[data-theme=solarized] .hljs-regexp,.reveal[data-theme=solarized] .hljs-selector-class,.reveal[data-theme=solarized] .hljs-selector-id,.reveal[data-theme=solarized] .hljs-tag,.reveal[data-theme=solarized] .hljs-template-variable,.reveal[data-theme=solarized] .hljs-variable {
    color: #c82829
}

.reveal[data-theme=solarized] .hljs-built_in,.reveal[data-theme=solarized] .hljs-builtin-name,.reveal[data-theme=solarized] .hljs-link,.reveal[data-theme=solarized] .hljs-literal,.reveal[data-theme=solarized] .hljs-meta,.reveal[data-theme=solarized] .hljs-number,.reveal[data-theme=solarized] .hljs-params,.reveal[data-theme=solarized] .hljs-type {
    color: #f5871f
}

.reveal[data-theme=solarized] .hljs-attribute {
    color: #eab700
}

.reveal[data-theme=solarized] .hljs-addition,.reveal[data-theme=solarized] .hljs-bullet,.reveal[data-theme=solarized] .hljs-string,.reveal[data-theme=solarized] .hljs-symbol {
    color: #718c00
}

.reveal[data-theme=solarized] .hljs-section,.reveal[data-theme=solarized] .hljs-title {
    color: #4271ae
}

.reveal[data-theme=solarized] .hljs-keyword,.reveal[data-theme=solarized] .hljs-selector-tag {
    color: #8959a8
}

.reveal[data-theme=solarized] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #fff;
    color: #4d4d4c
}

.reveal[data-theme=solarized] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=solarized] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=white] {
    --r-background-color: #fff;
    --r-main-font: Source Sans Pro, helvetica, sans-serif;
    --r-main-font-size: 42px;
    --r-main-color: #222;
    --r-block-margin: 20px;
    --r-heading-margin: 0 0 20px 0;
    --r-heading-font: Source Sans Pro, helvetica, sans-serif;
    --r-heading-color: #222;
    --r-heading-line-height: 1.2;
    --r-heading-letter-spacing: normal;
    --r-heading-text-transform: uppercase;
    --r-heading-text-shadow: none;
    --r-heading-font-weight: 600;
    --r-heading1-text-shadow: none;
    --r-heading1-size: 2.5em;
    --r-heading2-size: 1.6em;
    --r-heading3-size: 1.3em;
    --r-heading4-size: 1em;
    --r-code-font: monospace;
    --r-link-color: #2a76dd;
    --r-link-color-hover: #4a8be2;
    --r-selection-background-color: #5f98e6;
    --r-selection-color: #fff;
    --r-overlay-element-bg-color: 240, 240, 240;
    --r-overlay-element-fg-color: 0, 0, 0;
    --r-viewport-color: #fff
}

.reveal[data-theme=white] .hljs-comment,.reveal[data-theme=white] .hljs-quote {
    color: #8e908c
}

.reveal[data-theme=white] .hljs-deletion,.reveal[data-theme=white] .hljs-name,.reveal[data-theme=white] .hljs-regexp,.reveal[data-theme=white] .hljs-selector-class,.reveal[data-theme=white] .hljs-selector-id,.reveal[data-theme=white] .hljs-tag,.reveal[data-theme=white] .hljs-template-variable,.reveal[data-theme=white] .hljs-variable {
    color: #c82829
}

.reveal[data-theme=white] .hljs-built_in,.reveal[data-theme=white] .hljs-builtin-name,.reveal[data-theme=white] .hljs-link,.reveal[data-theme=white] .hljs-literal,.reveal[data-theme=white] .hljs-meta,.reveal[data-theme=white] .hljs-number,.reveal[data-theme=white] .hljs-params,.reveal[data-theme=white] .hljs-type {
    color: #f5871f
}

.reveal[data-theme=white] .hljs-attribute {
    color: #eab700
}

.reveal[data-theme=white] .hljs-addition,.reveal[data-theme=white] .hljs-bullet,.reveal[data-theme=white] .hljs-string,.reveal[data-theme=white] .hljs-symbol {
    color: #718c00
}

.reveal[data-theme=white] .hljs-section,.reveal[data-theme=white] .hljs-title {
    color: #4271ae
}

.reveal[data-theme=white] .hljs-keyword,.reveal[data-theme=white] .hljs-selector-tag {
    color: #8959a8
}

.reveal[data-theme=white] .hljs {
    display: block;
    overflow-x: auto;
    padding: .5em;
    background: #fff;
    color: #4d4d4c
}

.reveal[data-theme=white] .hljs-emphasis {
    font-style: italic
}

.reveal[data-theme=white] .hljs-strong {
    font-weight: 700
}

.reveal[data-theme=white] section.has-dark-background,.reveal[data-theme=white] section.has-dark-background h1,.reveal[data-theme=white] section.has-dark-background h2,.reveal[data-theme=white] section.has-dark-background h3,.reveal[data-theme=white] section.has-dark-background h4,.reveal[data-theme=white] section.has-dark-background h5,.reveal[data-theme=white] section.has-dark-background h6 {
    color: #fff
}

.reveal-viewport {
    background-color: var(--r-background-color)
}

.reveal {
    font-weight: 400;
    color: var(--r-main-color);
    font-size: var(--r-main-font-size);
    font-family: var(--r-main-font)
}

.reveal p {
    line-height: 1.3
}

.reveal img,.reveal video,.reveal iframe {
    max-width: 95%;
    max-height: 95%
}

.reveal strong,.reveal b {
    font-weight: 700
}

.reveal em {
    font-style: italic
}

.reveal ol,.reveal dl,.reveal ul {
    display: inline-block;
    margin: 0 0 0 1em;
    text-align: start
}

.reveal ol {
    list-style-type: decimal
}

.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul {
    display: block;
    margin-left: 40px
}

.reveal ul {
    list-style-type: disc
}

.reveal ul ul {
    list-style-type: square
}

.reveal ul ul ul {
    list-style-type: circle
}

.reveal dt {
    font-weight: 700
}

.reveal dd {
    margin-left: 40px
}

.reveal blockquote {
    position: relative;
    display: block;
    width: 70%;
    padding: 5px;
    background: rgba(255,255,255,.05);
    box-shadow: 0 0 2px #0003;
    font-style: italic
}

.reveal blockquote p:first-child,.reveal blockquote p:last-child {
    display: inline-block
}

.reveal q {
    font-style: italic
}

.reveal pre {
    position: relative;
    display: block;
    width: 90%;
    padding: 0;
    box-shadow: 0 5px 15px #00000026;
    font-size: .55em;
    line-height: 1.2em;
    text-align: left;
    word-wrap: break-word
}

.reveal code {
    text-transform: none
}

.reveal pre code {
    display: block;
    overflow: auto;
    max-height: 400px;
    padding: 5px;
    word-wrap: normal
}

.reveal a {
    text-decoration: none;
    transition: color .15s ease
}

.reveal a:hover {
    border: none;
    text-shadow: none
}

.reveal table {
    margin: auto;
    border-spacing: 0;
    border-collapse: collapse
}

.reveal th {
    font-weight: 700
}

.reveal th,.reveal td {
    padding: .2em .5em;
    border-bottom: 1px solid;
    text-align: left
}

.reveal th[align=center],.reveal td[align=center] {
    text-align: center
}

.reveal th[align=right],.reveal td[align=right] {
    text-align: right
}

.reveal tbody tr:last-child th,.reveal tbody tr:last-child td {
    border-bottom: none
}

.reveal sup {
    vertical-align: super;
    font-size: smaller
}

.reveal sub {
    vertical-align: sub;
    font-size: smaller
}

.reveal small {
    display: inline-block;
    vertical-align: top;
    font-size: .6em;
    line-height: 1.2em
}

.reveal small * {
    vertical-align: top
}

@media print {
    .reveal .backgrounds {
        background-color: var(--r-background-color)
    }
}

.reveal ::-moz-selection {
    background: var(--r-selection-background-color);
    color: var(--r-selection-color);
    text-shadow: none
}

.reveal ::selection {
    background: var(--r-selection-background-color);
    color: var(--r-selection-color);
    text-shadow: none
}

.reveal .slides section,.reveal .slides section>section {
    font-weight: inherit;
    line-height: 1.3
}

.reveal h1 {
    font-size: var(--r-heading1-size);
    text-shadow: var(--r-heading1-text-shadow)
}

.reveal h2 {
    font-size: var(--r-heading2-size)
}

.reveal h3 {
    font-size: var(--r-heading3-size)
}

.reveal h4 {
    font-size: var(--r-heading4-size)
}

.reveal p {
    margin: var(--r-block-margin) 0
}

.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6 {
    margin: var(--r-heading-margin);
    color: var(--r-heading-color);
    font-weight: var(--r-heading-font-weight);
    font-family: var(--r-heading-font);
    line-height: var(--r-heading-line-height);
    letter-spacing: var(--r-heading-letter-spacing);
    text-transform: var(--r-heading-text-transform);
    text-shadow: var(--r-heading-text-shadow);
    word-wrap: break-word
}

.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child {
    margin-bottom: 0
}

.reveal blockquote {
    margin: var(--r-block-margin) auto
}

.reveal pre {
    margin: var(--r-block-margin) auto;
    font-family: var(--r-code-font)
}

.reveal code {
    font-family: var(--r-code-font)
}

.reveal img {
    margin: var(--r-block-margin) 0
}

.reveal a {
    color: var(--r-link-color)
}

.reveal a:hover {
    color: var(--r-link-color-hover)
}

.reveal .roll span:after {
    background: var(--r-link-color-dark);
    color: #fff
}

.reveal .r-frame {
    border: 4px solid var(--r-main-color);
    box-shadow: 0 0 10px #00000026
}

.reveal a .r-frame {
    transition: all .15s linear
}

.reveal a:hover .r-frame {
    border-color: var(--r-link-color);
    box-shadow: 0 0 20px #0000008c
}

.reveal .controls {
    color: var(--r-link-color)
}

.reveal .progress {
    background: rgba(0,0,0,.2);
    color: var(--r-link-color)
}

.reveal table.hljs-ln {
    display: table;
    width: 100%
}

.reveal table.hljs-ln tr {
    border: none
}

.reveal table.hljs-ln tr:nth-child(2n) {
    background: inherit!important
}

.reveal table.hljs-ln td {
    border: none
}

.vp-reveal {
    position: relative;
    width: 100%;
    height: 400px;
    min-height: 400px
}

@media print {
    .vp-reveal {
        page-break-inside: avoid
    }
}

@media (max-width: 419px) {
    .vp-reveal {
        width:calc(100% + 3rem);
        min-height: 300px;
        margin: 0 -1.5rem
    }
}

.reveal-loading {
    position: absolute;
    inset: 0 0 auto;
    color: var(--vp-tc)
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: League Gothic;
    src: url(/assets/league-gothic-h3edOfrm.eot);
    src: url(/assets/league-gothic-h3edOfrm.eot?#iefix) format("embedded-opentype"),url(/assets/league-gothic-wxYXAA-7.woff) format("woff"),url(/assets/league-gothic-oOjv4w16.ttf) format("truetype")
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Source Sans Pro;
    src: url(/assets/source-sans-pro-regular-vMQH-Lno.eot);
    src: url(/assets/source-sans-pro-regular-vMQH-Lno.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-regular-7ugzKlOX.woff) format("woff"),url(/assets/source-sans-pro-regular-1WEW6-y9.ttf) format("truetype")
}

@font-face {
    font-weight: 400;
    font-style: italic;
    font-family: Source Sans Pro;
    src: url(/assets/source-sans-pro-italic-URCxwoo9.eot);
    src: url(/assets/source-sans-pro-italic-URCxwoo9.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-italic-r_ZvIQue.woff) format("woff"),url(/assets/source-sans-pro-italic-kXLDr8ko.ttf) format("truetype")
}

@font-face {
    font-weight: 600;
    font-style: normal;
    font-family: Source Sans Pro;
    src: url(/assets/source-sans-pro-semibold-yZBXeD4J.eot);
    src: url(/assets/source-sans-pro-semibold-yZBXeD4J.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-semibold-8K4hAz36.woff) format("woff"),url(/assets/source-sans-pro-semibold-CdFA3Jgq.ttf) format("truetype")
}

@font-face {
    font-weight: 600;
    font-style: italic;
    font-family: Source Sans Pro;
    src: url(/assets/source-sans-pro-semibolditalic-wk7IoV6c.eot);
    src: url(/assets/source-sans-pro-semibolditalic-wk7IoV6c.eot?#iefix) format("embedded-opentype"),url(/assets/source-sans-pro-semibolditalic-0pB0ab1n.woff) format("woff"),url(/assets/source-sans-pro-semibolditalic-R0KDpyfN.ttf) format("truetype")
}

:root {
    --tab-bg-color: var(--vp-bg);
    --tab-nav-text-color: var(--vp-c);
    --tab-nav-bg-color: #e0e0e0;
    --tab-nav-hover-color: #eee
}

html[data-theme=dark] {
    --tab-nav-bg-color: #34343f;
    --tab-nav-hover-color: #2d2d38
}

.vp-tabs {
    margin: 1.5rem 0;
    border: 2px solid var(--vp-brc);
    border-radius: 8px
}

@media (max-width: 419px) {
    .theme-hope-content>.vp-tabs {
        margin-inline:-1.5rem;
        border-radius: 0
    }
}

.vp-tabs-nav {
    overflow-x: auto;
    margin: 0;
    padding: 0;
    border-radius: 8px 8px 0 0;
    background: var(--tab-nav-bg-color);
    list-style: none;
    white-space: nowrap;
    transition: background var(--vp-ct)
}

@media print {
    .vp-tabs-nav {
        display: none
    }
}

@media (max-width: 419px) {
    .vp-tabs-nav {
        border-radius:0
    }
}

.vp-tab-nav {
    border-width: 0;
    position: relative;
    min-width: 4rem;
    margin: 0;
    padding: .5em 1em;
    border-radius: 8px 8px 0 0;
    background: transparent;
    color: var(--tab-nav-text-color);
    font-weight: 600;
    font-size: .85em;
    line-height: 1.75;
    cursor: pointer;
    transition: background var(--vp-ct),color var(--vp-ct)
}

.vp-tab-nav:hover {
    background: var(--tab-nav-hover-color)
}

.vp-tab-nav:before,.vp-tab-nav:after {
    content: " ";
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 8px;
    height: 8px
}

.vp-tab-nav:before {
    right: 100%
}

.vp-tab-nav:after {
    left: 100%
}

.vp-tab-nav.active {
    background: var(--tab-bg-color)
}

.vp-tab-nav.active:before {
    background: radial-gradient(16px at left top,transparent 50%,var(--tab-bg-color) 50%)
}

.vp-tab-nav.active:after {
    background: radial-gradient(16px at right top,transparent 50%,var(--tab-bg-color) 50%)
}

.vp-tab-nav:first-child:before {
    display: none
}

.vp-tab {
    display: none;
    padding: 1rem .75rem;
    background: var(--tab-bg-color);
    transition: background var(--vp-ct)
}

@media print {
    .vp-tab {
        display: block;
        padding: .5rem
    }
}

.vp-tab.active {
    display: block
}

.vp-tab:nth-child(2) .vp-tab-title {
    border-top: none
}

.vp-tab-title {
    display: none;
    padding: .25rem 0;
    border-top: 1px solid var(--vp-brc);
    font-weight: 500
}

@media print {
    .vp-tab-title {
        display: block
    }
}

.task-list-container {
    padding-inline-start:0;list-style-position: inside
}

.task-list-container .task-list-container {
    padding-inline-start:1.5em}

.task-list-item {
    list-style: none
}

.task-list-item-checkbox {
    position: relative;
    cursor: pointer
}

.task-list-item-checkbox:after {
    content: " ";
    position: absolute;
    top: 0;
    display: inline-block;
    box-sizing: border-box;
    width: 1em;
    height: 1em;
    padding-inline-start:0;border: 1px solid #ddd;
    border-radius: 2px;
    background: #fff;
    text-align: center;
    visibility: visible;
    transition: background var(--vp-ct),border-color var(--vp-ct)
}

@media print {
    .task-list-item-checkbox:after {
        border-color: var(--vp-c)
    }
}

html[data-theme=dark] .task-list-item-checkbox:after {
    border-color: #666;
    background: #333
}

.task-list-item-checkbox:checked:after {
    content: "";
    border-color: var(--vp-tc);
    background: var(--vp-tc)
}

@media print {
    .task-list-item-checkbox:checked:after {
        border-color: var(--vp-c);
        background: transparent
    }
}

html[data-theme=dark] .task-list-item-checkbox:checked:after {
    border-color: var(--vp-tc);
    background: var(--vp-tc)
}

.task-list-item-checkbox:checked:before {
    content: "";
    position: absolute;
    top: .1em;
    inset-inline-start: .4em;
    z-index: 1;
    width: .2em;
    height: .5em;
    border: solid var(--white);
    border-width: 0 .15em .15em 0;
    transform: rotate(45deg)
}

@media print {
    .task-list-item-checkbox:checked:before {
        border-color: var(--vp-c)
    }
}

.split-pane[data-v-b004c5a4] {
    display: flex;
    height: 100%;
    position: relative
}

.split-pane.dragging[data-v-b004c5a4] {
    cursor: ew-resize
}

.dragging .left[data-v-b004c5a4],.dragging .right[data-v-b004c5a4] {
    pointer-events: none
}

.left[data-v-b004c5a4],.right[data-v-b004c5a4] {
    position: relative;
    height: 100%
}

.left[data-v-b004c5a4] {
    border-right: 1px solid var(--border)
}

.dragger[data-v-b004c5a4] {
    position: absolute;
    z-index: 3;
    top: 0;
    bottom: 0;
    right: -5px;
    width: 10px;
    cursor: ew-resize
}

.toggler[data-v-b004c5a4] {
    display: none;
    z-index: 3;
    font-family: var(--font-code);
    color: var(--text-light);
    position: absolute;
    left: 50%;
    bottom: 20px;
    background-color: var(--bg);
    padding: 8px 12px;
    border-radius: 8px;
    transform: translate(-50%);
    box-shadow: 0 3px 8px #00000040
}

.dark .toggler[data-v-b004c5a4] {
    background-color: var(--bg)
}

@media (min-width: 721px) {
    .split-pane.vertical[data-v-b004c5a4] {
        display:block
    }

    .split-pane.vertical.dragging[data-v-b004c5a4] {
        cursor: ns-resize
    }

    .vertical .dragger[data-v-b004c5a4] {
        top: auto;
        height: 10px;
        width: 100%;
        left: 0;
        right: 0;
        bottom: -5px;
        cursor: ns-resize
    }

    .vertical .left[data-v-b004c5a4],.vertical .right[data-v-b004c5a4] {
        width: 100%
    }

    .vertical .left[data-v-b004c5a4] {
        border-right: none;
        border-bottom: 1px solid var(--border)
    }
}

@media (max-width: 720px) {
    .left[data-v-b004c5a4],.right[data-v-b004c5a4] {
        width:100%!important;
        height: 100%!important
    }

    .dragger[data-v-b004c5a4] {
        display: none
    }

    .split-pane .toggler[data-v-b004c5a4] {
        display: block
    }

    .split-pane .right[data-v-b004c5a4] {
        display: none
    }

    .split-pane.show-output .right[data-v-b004c5a4] {
        display: block
    }

    .split-pane.show-output .left[data-v-b004c5a4] {
        display: none
    }
}

.msg.err[data-v-3057e65b] {
    --color: #f56c6c;
    --bg-color: #fef0f0
}

.dark .msg.err[data-v-3057e65b] {
    --bg-color: #2b1d1d
}

.msg.warn[data-v-3057e65b] {
    --color: #e6a23c;
    --bg-color: #fdf6ec
}

.dark .msg.warn[data-v-3057e65b] {
    --bg-color: #292218
}

pre[data-v-3057e65b] {
    margin: 0;
    padding: 12px 20px;
    overflow: auto
}

.msg[data-v-3057e65b] {
    position: absolute;
    bottom: 0;
    left: 8px;
    right: 8px;
    z-index: 10;
    border: 2px solid transparent;
    border-radius: 6px;
    font-family: var(--font-code);
    white-space: pre-wrap;
    margin-bottom: 8px;
    max-height: calc(100% - 300px);
    min-height: 40px;
    display: flex;
    align-items: stretch;
    color: var(--color);
    border-color: var(--color);
    background-color: var(--bg-color)
}

.dismiss[data-v-3057e65b] {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    border-radius: 9px;
    text-align: center;
    display: block;
    font-size: 9px;
    padding: 0;
    color: var(--bg-color);
    background-color: var(--color)
}

@media (max-width: 720px) {
    .dismiss[data-v-3057e65b] {
        top:-9px;
        right: -9px
    }

    .msg[data-v-3057e65b] {
        bottom: 50px
    }
}

.fade-enter-active[data-v-3057e65b],.fade-leave-active[data-v-3057e65b] {
    transition: all .15s ease-out
}

.fade-enter-from[data-v-3057e65b],.fade-leave-to[data-v-3057e65b] {
    opacity: 0;
    transform: translateY(10px)
}

.iframe-container[data-v-37f49e81],.iframe-container[data-v-37f49e81] iframe {
    width: 100%;
    height: 100%;
    border: none;
    background-color: #fff
}

.output-container[data-v-f221f6e0] {
    height: calc(100% - var(--header-height));
    overflow: hidden;
    position: relative
}

.tab-buttons[data-v-f221f6e0] {
    box-sizing: border-box;
    border-bottom: 1px solid var(--border);
    background-color: var(--bg);
    height: var(--header-height);
    overflow: hidden
}

.tab-buttons button[data-v-f221f6e0] {
    padding: 0;
    box-sizing: border-box
}

.tab-buttons span[data-v-f221f6e0] {
    font-size: 13px;
    font-family: var(--font-code);
    text-transform: uppercase;
    color: var(--text-light);
    display: inline-block;
    padding: 8px 16px 6px;
    line-height: 20px
}

button.active[data-v-f221f6e0] {
    color: var(--color-branding-dark);
    border-bottom: 3px solid var(--color-branding-dark)
}

.file-selector[data-v-f661725b] {
    display: flex;
    box-sizing: border-box;
    border-bottom: 1px solid var(--border);
    background-color: var(--bg);
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    position: relative;
    height: var(--header-height)
}

.file-selector[data-v-f661725b]::-webkit-scrollbar {
    height: 1px
}

.file-selector[data-v-f661725b]::-webkit-scrollbar-track {
    background-color: var(--border)
}

.file-selector[data-v-f661725b]::-webkit-scrollbar-thumb {
    background-color: var(--color-branding)
}

.file-selector.has-import-map .add[data-v-f661725b] {
    margin-right: 10px
}

.file[data-v-f661725b] {
    display: inline-block;
    font-size: 13px;
    font-family: var(--font-code);
    cursor: pointer;
    color: var(--text-light);
    box-sizing: border-box
}

.file.active[data-v-f661725b] {
    color: var(--color-branding);
    border-bottom: 3px solid var(--color-branding);
    cursor: text
}

.file span[data-v-f661725b] {
    display: inline-block;
    padding: 8px 10px 6px;
    line-height: 20px
}

.file.pending input[data-v-f661725b] {
    width: 90px;
    height: 30px;
    line-height: 30px;
    outline: none;
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 0 0 0 10px;
    margin-top: 2px;
    margin-left: 6px;
    font-family: var(--font-code);
    font-size: 12px
}

.file .remove[data-v-f661725b] {
    display: inline-block;
    vertical-align: middle;
    line-height: 12px;
    cursor: pointer;
    padding-left: 0
}

.add[data-v-f661725b] {
    font-size: 18px;
    font-family: var(--font-code);
    color: #999;
    vertical-align: middle;
    margin-left: 6px;
    position: relative;
    top: -1px
}

.add[data-v-f661725b]:hover {
    color: var(--color-branding)
}

.icon[data-v-f661725b] {
    margin-top: -1px
}

.import-map-wrapper[data-v-f661725b] {
    position: sticky;
    margin-left: auto;
    top: 0;
    right: 0;
    padding-left: 30px;
    background-color: var(--bg);
    background: linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 25%)
}

.dark .import-map-wrapper[data-v-f661725b] {
    background: linear-gradient(90deg,rgba(26,26,26,0) 0%,rgba(26,26,26,1) 25%)
}

.wrapper[data-v-70b24951] {
    position: absolute;
    bottom: 8px;
    right: 15px;
    z-index: 11;
    display: flex;
    align-items: center;
    background-color: var(--bg);
    color: var(--text-light);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 2px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.toggle[data-v-70b24951] {
    display: inline-block;
    margin-left: 4px;
    width: 32px;
    height: 18px;
    border-radius: 12px;
    position: relative;
    background-color: var(--border)
}

.indicator[data-v-70b24951] {
    font-size: 12px;
    background-color: var(--text-light);
    width: 14px;
    height: 14px;
    border-radius: 50%;
    transition: transform ease-in-out .2s;
    position: absolute;
    left: 2px;
    top: 2px;
    color: var(--bg);
    text-align: center
}

.active .indicator[data-v-70b24951] {
    background-color: var(--color-branding);
    transform: translate(14px);
    color: #fff
}

.editor-container[data-v-3500c8e7] {
    height: calc(100% - var(--header-height));
    overflow: hidden;
    position: relative
}

.vue-repl {
    --bg: #fff;
    --bg-soft: #f8f8f8;
    --border: #ddd;
    --text-light: #888;
    --font-code: Menlo, Monaco, Consolas, "Courier New", monospace;
    --color-branding: #42b883;
    --color-branding-dark: #416f9c;
    --header-height: 38px;
    height: 100%;
    margin: 0;
    overflow: hidden;
    font-size: 13px;
    font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
    background-color: var(--bg-soft)
}

.dark .vue-repl {
    --bg: #1a1a1a;
    --bg-soft: #242424;
    --border: #383838;
    --text-light: #aaa;
    --color-branding: #42d392;
    --color-branding-dark: #89ddff
}

.vue-repl button {
    border: none;
    outline: none;
    cursor: pointer;
    margin: 0;
    background-color: transparent
}

:root {
    --playground-header-bg-color: #eee
}

html[data-theme=dark] {
    --playground-header-bg-color: #333
}

html[data-theme=dark] .vue-repl {
    --bg: #1a1a1a;
    --bg-soft: #242424;
    --border: #383838;
    --text-light: #aaa;
    --color-branding: #42d392;
    --color-branding-dark: #89ddff
}

html[data-theme=dark] .vue-repl .import-map-wrapper {
    background: linear-gradient(90deg,rgba(26,26,26,0) 0%,rgb(26,26,26) 25%)!important
}

html[data-theme=dark] .vue-repl .CodeMirror {
    --symbols: #89ddff;
    --base: #a6accd;
    --comment: #6d6d6d;
    --keyword: #89ddff;
    --string: #c3e88d;
    --variable: #82aaff;
    --number: #f78c6c;
    --tags: #f07178;
    --brackets: var(--symbols);
    --property: #f07178;
    --attribute: #c792ea;
    --cursor: #fff;
    --selected-bg: rgb(255 255 255 / 10%);
    --selected-bg-non-focus: rgb(255 255 255 / 15%);
    color: var(--symbols)
}

.vue-playground-wrapper {
    overflow: hidden;
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--vp-brc);
    border-radius: 6px
}

.vue-playground-wrapper .header {
    padding: .5rem .75rem;
    border-bottom: 1px solid var(--vp-brc);
    background: var(--playground-header-bg-color, #eee);
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 1.5;
    overflow-wrap: break-word;
    transition: background var(--vp-ct) border-color var(--vp-ct)
}

.vue-playground-wrapper .preview-loading {
    color: var(--vp-tc)
}

.vue-playground-wrapper .source-container {
    display: none
}

.vue-playground-wrapper .source-container.show {
    display: block
}

.vue-playground-wrapper .repl-container {
    position: relative;
    overflow: hidden;
    height: auto;
    background: var(--vp-bg);
    transition: background var(--vp-ct)
}

@media print {
    .vue-playground-wrapper .repl-container {
        page-break-inside: avoid
    }
}

.vue-playground-wrapper .repl-container .vue-repl {
    height: 300px
}

.theme-hope-content .vue-playground-wrapper .repl-container pre,.theme-hope-content .vue-playground-wrapper .repl-container pre[class*=language-] {
    margin: 0;
    padding: 0;
    border-radius: 0
}

/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
    --pswp-bg: #000;
    --pswp-placeholder-bg: #222;
    --pswp-root-z-index: 100000;
    --pswp-preloader-color: rgba(79, 79, 79, .4);
    --pswp-preloader-color-secondary: rgba(255, 255, 255, .9);
    --pswp-icon-color: #fff;
    --pswp-icon-color-secondary: #4f4f4f;
    --pswp-icon-stroke-color: #4f4f4f;
    --pswp-icon-stroke-width: 2px;
    --pswp-error-text-color: var(--pswp-icon-color)
}

.pswp {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--pswp-root-z-index);
    display: none;
    touch-action: none;
    outline: 0;
    opacity: .003;
    contain: layout style size;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.pswp:focus {
    outline: 0
}

.pswp * {
    box-sizing: border-box
}

.pswp img {
    max-width: none
}

.pswp--open {
    display: block
}

.pswp,.pswp__bg {
    transform: translateZ(0);
    will-change: opacity
}

.pswp__bg {
    opacity: .005;
    background: var(--pswp-bg)
}

.pswp,.pswp__scroll-wrap {
    overflow: hidden
}

.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.pswp__img,.pswp__zoom-wrap {
    width: auto;
    height: auto
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
    cursor: zoom-in
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
    cursor: move;
    cursor: grab
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
    cursor: grabbing
}

.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img {
    cursor: zoom-out
}

.pswp__container,.pswp__img,.pswp__button,.pswp__counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.pswp__item {
    z-index: 1;
    overflow: hidden
}

.pswp__hidden {
    display: none!important
}

.pswp__content {
    pointer-events: none
}

.pswp__content>* {
    pointer-events: auto
}

.pswp__error-msg-container {
    display: grid
}

.pswp__error-msg {
    margin: auto;
    font-size: 1em;
    line-height: 1;
    color: var(--pswp-error-text-color)
}

.pswp .pswp__hide-on-close {
    opacity: .005;
    will-change: opacity;
    transition: opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);
    z-index: 10;
    pointer-events: none
}

.pswp--ui-visible .pswp__hide-on-close {
    opacity: 1;
    pointer-events: auto
}

.pswp__button {
    position: relative;
    display: block;
    width: 50px;
    height: 60px;
    padding: 0;
    margin: 0;
    overflow: hidden;
    cursor: pointer;
    background: none;
    border: 0;
    box-shadow: none;
    opacity: .85;
    -webkit-appearance: none;
    -webkit-touch-callout: none
}

.pswp__button:hover,.pswp__button:active,.pswp__button:focus {
    transition: none;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    opacity: 1
}

.pswp__button:disabled {
    opacity: .3;
    cursor: auto
}

.pswp__icn {
    fill: var(--pswp-icon-color);
    color: var(--pswp-icon-color-secondary)
}

.pswp__icn {
    position: absolute;
    top: 14px;
    left: 9px;
    width: 32px;
    height: 32px;
    overflow: hidden;
    pointer-events: none
}

.pswp__icn-shadow {
    stroke: var(--pswp-icon-stroke-color);
    stroke-width: var(--pswp-icon-stroke-width);
    fill: none
}

.pswp__icn:focus {
    outline: 0
}

div.pswp__img--placeholder,.pswp__img--with-bg {
    background: var(--pswp-placeholder-bg)
}

.pswp__top-bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    z-index: 10;
    pointer-events: none!important
}

.pswp__top-bar>* {
    pointer-events: auto;
    will-change: opacity
}

.pswp__button--close {
    margin-right: 6px
}

.pswp__button--arrow {
    position: absolute;
    width: 75px;
    height: 100px;
    top: 50%;
    margin-top: -50px
}

.pswp__button--arrow:disabled {
    display: none;
    cursor: default
}

.pswp__button--arrow .pswp__icn {
    top: 50%;
    margin-top: -30px;
    width: 60px;
    height: 60px;
    background: none;
    border-radius: 0
}

.pswp--one-slide .pswp__button--arrow {
    display: none
}

.pswp--touch .pswp__button--arrow {
    visibility: hidden
}

.pswp--has_mouse .pswp__button--arrow {
    visibility: visible
}

.pswp__button--arrow--prev {
    right: auto;
    left: 0
}

.pswp__button--arrow--next {
    right: 0
}

.pswp__button--arrow--next .pswp__icn {
    left: auto;
    right: 14px;
    transform: scaleX(-1)
}

.pswp__button--zoom {
    display: none
}

.pswp--zoom-allowed .pswp__button--zoom {
    display: block
}

.pswp--zoomed-in .pswp__zoom-icn-bar-v {
    display: none
}

.pswp__preloader {
    position: relative;
    overflow: hidden;
    width: 50px;
    height: 60px;
    margin-right: auto
}

.pswp__preloader .pswp__icn {
    opacity: 0;
    transition: opacity .2s linear;
    animation: pswp-clockwise .6s linear infinite
}

.pswp__preloader--active .pswp__icn {
    opacity: .85
}

@keyframes pswp-clockwise {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.pswp__counter {
    height: 30px;
    margin-top: 15px;
    margin-inline-start:20px;font-size: 14px;
    line-height: 30px;
    color: var(--pswp-icon-color);
    text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
    opacity: .85
}

.pswp--one-slide .pswp__counter {
    display: none
}

.photo-swipe-loading {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center
}

.photo-swipe-bullets-indicator {
    position: absolute;
    bottom: 30px;
    left: 50%;
    display: flex;
    flex-direction: row;
    align-items: center;
    transform: translate(-50%)
}

.photo-swipe-bullet {
    width: 12px;
    height: 6px;
    margin: 0 5px;
    border-radius: 3px;
    background: #fff;
    transition: width var(--vp-tt),color var(--vp-ct)
}

.photo-swipe-bullet.active {
    width: 30px;
    background: var(--vp-tc)
}

.vp-footer-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top: 1px solid var(--border-color);
    background: var(--bg-color);
    color: var(--dark-grey);
    text-align: center;
    transition: border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)
}

@media (max-width: 719px) {
    .vp-footer-wrapper {
        padding-inline-start:2rem
    }
}

@media (min-width: 1440px) {
    .vp-footer-wrapper {
        z-index:50;
        padding-inline-start:2rem}
}

@media print {
    .vp-footer-wrapper {
        margin: 0!important;
        padding: 0!important
    }
}

@media (max-width: 419px) {
    .vp-footer-wrapper {
        display:block
    }
}

.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper {
    padding-inline-start:2rem}

.vp-footer {
    margin: .5rem 1rem;
    font-size: 14px
}

@media print {
    .vp-footer {
        display: none
    }
}

.vp-copyright {
    margin: 6px 0;
    font-size: 13px
}

.vp-page:not(.not-found)+.vp-footer-wrapper {
    margin-top: -2rem
}

.dropdown-wrapper {
    cursor: pointer
}

.dropdown-wrapper:not(:hover) .arrow {
    transform: rotate(-180deg)
}

.dropdown-wrapper .dropdown-title {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    padding: 0 .25rem;
    color: var(--dark-grey);
    font-weight: 500;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    cursor: inherit
}

.dropdown-wrapper .dropdown-title:hover {
    border-color: transparent
}

.dropdown-wrapper .dropdown-title .icon {
    margin-inline-end:.25em;font-size: 1em
}

.dropdown-wrapper .dropdown-title .arrow {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%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: center;
    background-repeat: no-repeat;
    line-height: normal;
    transition: all .3s;
    font-size: 1.2em
}

html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow {
    background-image: url("data:image/svg+xml,%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")
}

.dropdown-wrapper .dropdown-title .arrow.down {
    transform: rotate(180deg)
}

html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down {
    transform: rotate(-180deg)
}

.dropdown-wrapper .dropdown-title .arrow.end {
    transform: rotate(90deg)
}

html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start {
    transform: rotate(-90deg)
}

html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start {
    transform: rotate(90deg)
}

.dropdown-wrapper ul {
    margin: 0;
    padding: 0;
    list-style-type: none
}

.dropdown-wrapper .nav-dropdown {
    position: absolute;
    top: 100%;
    inset-inline-end: 0;
    overflow-y: auto;
    box-sizing: border-box;
    min-width: 6rem;
    max-height: calc(100vh - var(--navbar-height));
    margin: 0;
    padding: .5rem .75rem;
    border: 1px solid var(--grey14);
    border-radius: .5rem;
    background: var(--bg-color);
    box-shadow: 2px 2px 10px var(--card-shadow);
    text-align: start;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all .18s ease-out;
    transform: scale(.9)
}

.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: none
}

.dropdown-wrapper .nav-link {
    position: relative;
    display: block;
    margin-bottom: 0;
    border-bottom: none;
    color: var(--dark-grey);
    font-weight: 400;
    font-size: .875rem;
    line-height: 1.7rem;
    transition: color var(--color-transition)
}

.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active {
    color: var(--theme-color)
}

.dropdown-wrapper .dropdown-subtitle {
    margin: 0;
    padding: .5rem .25rem 0;
    color: var(--light-grey);
    font-weight: 600;
    font-size: .75rem;
    line-height: 2;
    text-transform: uppercase;
    transition: color var(--color-transition)
}

.dropdown-wrapper .dropdown-subitem-wrapper {
    padding: 0 0 .25rem
}

.dropdown-wrapper .dropdown-item {
    color: inherit;
    line-height: 1.7rem
}

.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle {
    padding-top: 0
}

.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper {
    padding-bottom: 0
}

.nav-screen-dropdown-title {
    border-width: 0;
    background: transparent;
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0;
    color: var(--dark-grey);
    font-size: inherit;
    font-family: inherit;
    text-align: start;
    cursor: pointer
}

.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active {
    color: var(--text-color)
}

.nav-screen-dropdown-title .title {
    flex: 1
}

.nav-screen-dropdown-title .arrow {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%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: center;
    background-repeat: no-repeat;
    line-height: normal;
    transition: all .3s
}

html[data-theme=dark] .nav-screen-dropdown-title .arrow {
    background-image: url("data:image/svg+xml,%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")
}

.nav-screen-dropdown-title .arrow.down {
    transform: rotate(180deg)
}

html[dir=rtl] .nav-screen-dropdown-title .arrow.down {
    transform: rotate(-180deg)
}

.nav-screen-dropdown-title .arrow.end {
    transform: rotate(90deg)
}

html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start {
    transform: rotate(-90deg)
}

html[dir=rtl] .nav-screen-dropdown-title .arrow.start {
    transform: rotate(90deg)
}

.nav-screen-dropdown {
    overflow: hidden;
    margin: .5rem 0 0;
    padding: 0;
    list-style: none;
    transition: transform .1s ease-out;
    transform: scaleY(1);
    transform-origin: top
}

.nav-screen-dropdown.hide {
    height: 0;
    margin: 0;
    transform: scaleY(0)
}

.nav-screen-dropdown .nav-link {
    position: relative;
    display: block;
    padding-inline-start:.5rem;font-weight: 400;
    line-height: 2
}

.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active {
    color: var(--theme-color)
}

.nav-screen-dropdown .nav-link .icon {
    font-size: 1em
}

.nav-screen-dropdown .dropdown-item {
    color: inherit;
    line-height: 1.7rem
}

.nav-screen-dropdown .dropdown-subtitle {
    margin: 0;
    padding-inline-start:.25rem;color: var(--light-grey);
    font-weight: 600;
    font-size: .75rem;
    line-height: 2;
    text-transform: uppercase;
    transition: color var(--color-transition)
}

.nav-screen-dropdown .dropdown-subtitle .nav-link {
    padding: 0
}

.nav-screen-dropdown .dropdown-subitem-wrapper {
    margin: 0;
    padding: 0;
    list-style: none
}

.nav-screen-dropdown .dropdown-subitem {
    padding-inline-start:.5rem;font-size: .9em
}

.nav-screen-links {
    display: none;
    padding-bottom: .75rem
}

@media (max-width: 719px) {
    .nav-screen-links {
        display:block
    }
}

.nav-screen-links .navbar-links-item {
    position: relative;
    display: block;
    padding: 12px 4px 11px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 16px;
    line-height: 1.5rem;
    transition: border-bottom-color var(--color-transition)
}

.nav-screen-links .nav-link {
    display: inline-block;
    width: 100%;
    color: var(--dark-grey);
    font-weight: 400
}

.nav-screen-links .nav-link:hover {
    color: var(--text-color)
}

.nav-screen-links .nav-link.active {
    color: var(--theme-color)
}

.appearance-title {
    display: block;
    margin: 0;
    padding: 0 .25rem;
    color: var(--light-grey);
    font-weight: 600;
    font-size: .75rem;
    line-height: 2;
    transition: color var(--color-transition)
}

#appearance-switch {
    border-width: 0;
    background: transparent;
    vertical-align: middle;
    padding: 6px;
    color: var(--dark-grey);
    cursor: pointer;
    transition: color var(--color-transition)
}

#appearance-switch:hover {
    color: var(--theme-color)
}

#appearance-switch .icon {
    width: 1.25rem;
    height: 1.25rem
}

.theme-color-title {
    display: block;
    margin: 0;
    padding: 0 .25rem;
    color: var(--light-grey);
    font-weight: 600;
    font-size: .75rem;
    line-height: 2;
    transition: color var(--color-transition)
}

#theme-color-picker {
    display: flex;
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 14px
}

#theme-color-picker li span {
    display: inline-block;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    margin: 0 2px;
    border-radius: 2px
}

#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark] {
    background: #3eaf7c
}

:root.theme-1 {
    --theme-color: #2196f3;
    --theme-color-light: #37a1f4;
    --theme-color-dark: #0d89ec;
    --theme-color-mask: rgba(33, 150, 243, .15)
}

:root.theme-2 {
    --theme-color: #f26d6d;
    --theme-color-light: #f37c7c;
    --theme-color-dark: #ef4d4d;
    --theme-color-mask: rgba(242, 109, 109, .15)
}

:root.theme-3 {
    --theme-color: #3eaf7c;
    --theme-color-light: #4abf8a;
    --theme-color-dark: #389e70;
    --theme-color-mask: rgba(62, 175, 124, .15)
}

:root.theme-4 {
    --theme-color: #fb9b5f;
    --theme-color-light: #fba56f;
    --theme-color-dark: #fa863d;
    --theme-color-mask: rgba(251, 155, 95, .15)
}

@media print {
    .full-screen-wrapper {
        display: none
    }
}

.full-screen-title {
    display: block;
    margin: 0;
    padding: 0 .25rem;
    color: var(--light-grey);
    font-weight: 600;
    font-size: .75rem;
    line-height: 2;
    transition: color var(--color-transition)
}

.full-screen,.cancel-full-screen {
    border-width: 0;
    background: transparent;
    vertical-align: middle;
    padding: .375rem;
    color: var(--dark-grey);
    cursor: pointer
}

.full-screen:hover,.cancel-full-screen:hover {
    color: var(--theme-color)
}

.full-screen .icon,.cancel-full-screen .icon {
    width: 1.25rem;
    height: 1.25rem
}

.enter-fullscreen-icon:hover,.cancel-fullscreen-icon {
    color: var(--theme-color)
}

.cancel-fullscreen-icon:hover {
    color: var(--dark-grey)
}

.vp-nav-screen-container {
    max-width: 320px;
    margin: 0 auto;
    padding: 2rem 0 4rem
}

#nav-screen {
    position: fixed;
    inset: var(--navbar-height) 0 0 0;
    z-index: 150;
    display: none;
    overflow-y: auto;
    padding: 0 2rem;
    background: var(--bg-color);
    transition: background .5s
}

@media (max-width: 719px) {
    #nav-screen {
        display:block
    }
}

#nav-screen.fade-enter-active,#nav-screen.fade-leave-active {
    transition: opacity .25s
}

#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container {
    transition: transform .25s ease
}

#nav-screen.fade-enter-from,#nav-screen.fade-leave-to {
    opacity: 0
}

#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container {
    transform: translateY(-8px)
}

#nav-screen .icon {
    margin-inline-end:.25em;font-size: 1em
}

#nav-screen img.icon {
    vertical-align: -.125em;
    height: 1em
}

.vp-outlook-wrapper {
    display: flex;
    justify-content: space-around
}

.vp-nav-logo {
    vertical-align: top;
    height: var(--navbar-line-height);
    margin-inline-end:.8rem}

.vp-nav-logo.light {
    display: inline-block
}

.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light {
    display: none
}

html[data-theme=dark] .vp-nav-logo.dark {
    display: inline-block
}

.vp-site-name {
    position: relative;
    color: var(--text-color);
    font-size: 1.25rem
}

@media (max-width: 719px) {
    .vp-site-name {
        overflow:hidden;
        width: calc(100vw - 9.4rem);
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

.vp-brand:hover .vp-site-name {
    color: var(--theme-color)
}

.vp-navbar .vp-nav-links {
    display: flex;
    align-items: center;
    font-size: .875rem
}

.vp-navbar .nav-item {
    position: relative;
    margin: 0 .25rem;
    line-height: 2rem
}

.vp-navbar .nav-item:first-child {
    margin-inline-start:0}

.vp-navbar .nav-item:last-child {
    margin-inline-end:0}

.vp-navbar .nav-item>.nav-link {
    color: var(--dark-grey)
}

.vp-navbar .nav-item>.nav-link:after {
    content: " ";
    position: absolute;
    inset: auto 50% 0;
    height: 2px;
    border-radius: 1px;
    background: var(--theme-color-light);
    visibility: hidden;
    transition: inset .2s ease-in-out
}

.vp-navbar .nav-item>.nav-link.active {
    color: var(--theme-color)
}

.vp-navbar .nav-item>.nav-link:hover:after,.vp-navbar .nav-item>.nav-link.active:after {
    inset: auto 0 0;
    visibility: visible
}

.vp-navbar .vp-repo {
    margin: 0!important
}

.vp-navbar .vp-repo-link {
    display: inline-block;
    margin: auto;
    padding: 6px;
    color: var(--dark-grey);
    line-height: 1
}

.vp-navbar .vp-repo-link:hover,.vp-navbar .vp-repo-link:active {
    color: var(--theme-color)
}

.vp-toggle-navbar-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 6px
}

@media screen and (max-width: 719px) {
    .vp-toggle-navbar-button {
        display:flex
    }
}

.vp-toggle-navbar-button>span {
    position: relative;
    overflow: hidden;
    width: 16px;
    height: 14px
}

.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom {
    position: absolute;
    width: 16px;
    height: 2px;
    background: var(--dark-grey);
    transition: top .25s,background .5s,transform .25s
}

.vp-toggle-navbar-button .vp-top {
    top: 0;
    left: 0;
    transform: translate(0)
}

.vp-toggle-navbar-button .vp-middle {
    top: 6px;
    left: 0;
    transform: translate(8px)
}

.vp-toggle-navbar-button .vp-bottom {
    top: 12px;
    left: 0;
    transform: translate(4px)
}

.vp-toggle-navbar-button:hover .vp-top {
    top: 0;
    left: 0;
    transform: translate(4px)
}

.vp-toggle-navbar-button:hover .vp-middle {
    top: 6;
    left: 0;
    transform: translate(0)
}

.vp-toggle-navbar-button:hover .vp-bottom {
    top: 12px;
    left: 0;
    transform: translate(8px)
}

.vp-toggle-navbar-button.is-active .vp-top {
    top: 6px;
    transform: translate(0) rotate(225deg)
}

.vp-toggle-navbar-button.is-active .vp-middle {
    top: 6px;
    transform: translate(16px)
}

.vp-toggle-navbar-button.is-active .vp-bottom {
    top: 6px;
    transform: translate(0) rotate(135deg)
}

.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom {
    background: var(--theme-color);
    transition: top .25s,background .25s,transform .25s
}

.vp-toggle-sidebar-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    display: none;
    vertical-align: middle;
    box-sizing: content-box;
    width: 1rem;
    height: 1rem;
    padding: .5rem;
    font: unset;
    transition: transform .2s ease-in-out
}

@media screen and (max-width: 719px) {
    .vp-toggle-sidebar-button {
        display:block;
        padding-inline-end:var(--navbar-mobile-horizontal-padding)}
}

.vp-toggle-sidebar-button: before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon {
    display:block;
    width: 100%;
    height: 2px;
    border-radius: .05em;
    background: var(--dark-grey);
    transition: transform .2s ease-in-out
}

.vp-toggle-sidebar-button:before {
    content: " ";
    margin-top: .125em
}

.sidebar-open .vp-toggle-sidebar-button:before {
    transform: translateY(.34rem) rotate(135deg)
}

.vp-toggle-sidebar-button:after {
    content: " ";
    margin-bottom: .125em
}

.sidebar-open .vp-toggle-sidebar-button:after {
    transform: translateY(-.34rem) rotate(-135deg)
}

.vp-toggle-sidebar-button .icon {
    margin: .2em 0
}

.sidebar-open .vp-toggle-sidebar-button .icon {
    transform: scale(0)
}

.outlook-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    position: relative;
    padding: .375rem;
    color: var(--dark-grey)
}

.outlook-button .icon {
    vertical-align: middle;
    width: 1.25rem;
    height: 1.25rem
}

.outlook-dropdown {
    position: absolute;
    top: 100%;
    inset-inline-end: 0;
    overflow-y: auto;
    box-sizing: border-box;
    min-width: 100px;
    margin: 0;
    padding: .5rem .75rem;
    border: 1px solid var(--grey14);
    border-radius: .25rem;
    background: var(--bg-color);
    box-shadow: 2px 2px 10px var(--card-shadow);
    text-align: start;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all .18s ease-out;
    transform: scale(.8)
}

.outlook-dropdown>*:not(:last-child) {
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--grey14)
}

.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    transform: scale(1)
}

.vp-navbar {
    --navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );
    position: fixed;
    inset: 0 0 auto;
    z-index: 175;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    height: var(--navbar-height);
    padding: var(--navbar-vertical-padding) var(--navbar-horizontal-padding);
    background: var(--navbar-bg-color);
    box-shadow: 0 2px 8px var(--card-shadow);
    line-height: var(--navbar-line-height);
    white-space: nowrap;
    transition: transform ease-in-out .3s,background var(--color-transition),box-shadow var(--color-transition);
    -webkit-backdrop-filter: saturate(150%) blur(12px);
    backdrop-filter: saturate(150%) blur(12px)
}

@media print {
    .vp-navbar {
        display: none
    }
}

.hide-navbar .vp-navbar.auto-hide {
    transform: translateY(-100%)
}

.vp-navbar .nav-link {
    padding: 0 .25rem;
    color: var(--dark-grey)
}

.vp-navbar .nav-link.active {
    color: var(--theme-color)
}

.vp-navbar .nav-link .icon {
    margin-inline-end:.25em;font-size: 1em
}

.vp-navbar .nav-link img.icon {
    vertical-align: -.125em;
    height: 1em
}

.vp-navbar.hide-icon .vp-nav-links .icon {
    display: none!important
}

.vp-navbar-start,.vp-navbar-end,.vp-navbar-center {
    display: flex;
    flex: 1;
    align-items: center
}

.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>* {
    position: relative;
    margin: 0 .25rem!important
}

.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child {
    margin-inline-start:0!important}

.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child {
    margin-inline-end:0!important}

.vp-navbar-start {
    justify-content: start
}

.vp-navbar-center {
    justify-content: center
}

.vp-navbar-end {
    justify-content: end
}

.vp-sidebar-heading {
    display: flex;
    align-items: center;
    overflow: hidden;
    box-sizing: border-box;
    width: calc(100% - 1rem);
    margin: 0;
    margin-inline:.5rem;padding: .25rem .5rem;
    border-width: 0;
    border-radius: .375rem;
    background: transparent;
    color: var(--text-color);
    font-size: 1.1em;
    line-height: 1.5;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    transition: color .15s ease;
    transform: rotate(0)
}

.vp-sidebar-heading.open {
    color: inherit
}

.vp-sidebar-heading.clickable:hover {
    background: var(--bg-color-secondary)
}

.vp-sidebar-heading.clickable.exact {
    border-inline-start-color:var(--theme-color);color: var(--theme-color)
}

.vp-sidebar-heading.clickable.exact a {
    color: inherit
}

.vp-sidebar-heading .vp-sidebar-title {
    flex: 1
}

.vp-sidebar-heading .vp-arrow {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%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: center;
    background-repeat: no-repeat;
    line-height: normal;
    transition: all .3s;
    font-size: 1.5em
}

html[data-theme=dark] .vp-sidebar-heading .vp-arrow {
    background-image: url("data:image/svg+xml,%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")
}

.vp-sidebar-heading .vp-arrow.down {
    transform: rotate(180deg)
}

html[dir=rtl] .vp-sidebar-heading .vp-arrow.down {
    transform: rotate(-180deg)
}

.vp-sidebar-heading .vp-arrow.end {
    transform: rotate(90deg)
}

html[dir=rtl] .vp-sidebar-heading .vp-arrow.end,.vp-sidebar-heading .vp-arrow.start {
    transform: rotate(-90deg)
}

html[dir=rtl] .vp-sidebar-heading .vp-arrow.start {
    transform: rotate(90deg)
}

button.vp-sidebar-heading {
    outline: none;
    font-weight: inherit;
    font-family: inherit;
    line-height: inherit;
    text-align: start;
    cursor: pointer
}

.vp-sidebar-link {
    display: inline-block;
    box-sizing: border-box;
    width: calc(100% - 1rem);
    margin-inline:.5rem;padding: .25rem .5rem;
    border-radius: .375rem;
    color: var(--text-color);
    font-weight: 400;
    font-size: 1em;
    line-height: 1.5
}

.vp-sidebar-link:hover {
    background: var(--bg-color-secondary)
}

.vp-sidebar-link.active {
    background: var(--theme-color-mask);
    color: var(--theme-color);
    font-weight: 500
}

.vp-sidebar-link.active .icon {
    color: var(--theme-color)
}

.vp-sidebar-sub-headers .vp-sidebar-link {
    padding-top: .25rem;
    padding-bottom: .25rem;
    border-inline-start:none}

.vp-sidebar-sub-headers .vp-sidebar-link.active {
    background: transparent;
    font-weight: 500
}

.vp-sidebar-group:not(.collapsible) .vp-sidebar-heading:not(.clickable) {
    color: inherit;
    cursor: auto
}

.vp-sidebar-group .vp-sidebar-group {
    padding-inline-start:.75rem}

.vp-sidebar-group .vp-sidebar-group .vp-sidebar-heading {
    font-size: 1em
}

.vp-sidebar-group .vp-sidebar-link {
    padding-inline-start:1.25rem}

.vp-sidebar-links,.vp-sidebar-links ul {
    margin: 0;
    padding: 0
}

.vp-sidebar-links ul.vp-sidebar-sub-headers {
    padding-inline-start:.75rem;font-size: .95em
}

@media (min-width: 1440px) {
    .has-toc .vp-sidebar-links ul.vp-sidebar-sub-headers {
        display:none
    }
}

.vp-sidebar-links li {
    list-style-type: none
}

.vp-sidebar>.vp-sidebar-links {
    padding: 1.5rem 0
}

@media (max-width: 719px) {
    .vp-sidebar>.vp-sidebar-links {
        padding:1rem 0
    }
}

.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link {
    font-size: 1.1em
}

.vp-sidebar>.vp-sidebar-links>li:not(:first-child) {
    margin-top: .5rem
}

.vp-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    z-index: 1;
    overflow-y: auto;
    width: var(--sidebar-width);
    margin: 0;
    padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background: var(--sidebar-bg-color);
    box-shadow: 2px 0 8px var(--card-shadow);
    font-size: .94rem;
    transition: background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);
    -webkit-backdrop-filter: saturate(150%) blur(12px);
    backdrop-filter: saturate(150%) blur(12px);
    scrollbar-color: var(--theme-color) var(--border-color);
    scrollbar-width: thin
}

@media (max-width: 959px) {
    .vp-sidebar {
        font-size:.86em
    }
}

@media (max-width: 719px) {
    .vp-sidebar {
        z-index:125;
        box-shadow: none;
        transform: translate(-100%)
    }

    html[dir=rtl] .vp-sidebar {
        transform: translate(100%)
    }
}

@media (min-width: 1440px) {
    .vp-sidebar {
        padding-bottom:3rem;
        box-shadow: none;
        font-size: 1rem
    }
}

@media print {
    .vp-sidebar {
        display: none
    }
}

.vp-sidebar a {
    display: inline-block;
    color: var(--text-color);
    font-weight: 400
}

.vp-sidebar .icon {
    margin-inline-end:.25em;font-size: 1em
}

.vp-sidebar img.icon {
    vertical-align: -.125em;
    height: 1em
}

.vp-sidebar.hide-icon .icon {
    display: none!important
}

.vp-sidebar-mask {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9;
    background: rgba(0,0,0,.15)
}

.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active {
    transition: opacity .25s
}

.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to {
    opacity: 0
}

.toggle-sidebar-wrapper {
    position: fixed;
    top: var(--navbar-height);
    bottom: 0;
    inset-inline-start: var(--sidebar-space);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    transition: inset-inline-start var(--transform-transition)
}

@media (max-width: 719px) {
    .toggle-sidebar-wrapper {
        display:none
    }
}

@media (min-width: 1440px) {
    .toggle-sidebar-wrapper {
        display:none
    }
}

.toggle-sidebar-wrapper:hover {
    background: rgba(127,127,127,.05);
    cursor: pointer
}

.toggle-sidebar-wrapper .arrow {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%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: center;
    background-repeat: no-repeat;
    line-height: normal;
    transition: all .3s
}

html[data-theme=dark] .toggle-sidebar-wrapper .arrow {
    background-image: url("data:image/svg+xml,%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")
}

.toggle-sidebar-wrapper .arrow.down {
    transform: rotate(180deg)
}

html[dir=rtl] .toggle-sidebar-wrapper .arrow.down {
    transform: rotate(-180deg)
}

.toggle-sidebar-wrapper .arrow.end {
    transform: rotate(90deg)
}

html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start {
    transform: rotate(-90deg)
}

html[dir=rtl] .toggle-sidebar-wrapper .arrow.start {
    transform: rotate(90deg)
}

.theme-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh
}

.theme-container .vp-page {
    padding-top: var(--navbar-height);
    padding-inline-start:calc(var(--sidebar-space) + 2rem)}

@media (max-width: 719px) {
    .theme-container .vp-page {
        padding-inline:0
    }
}

@media (min-width: 1440px) {
    .theme-container .vp-page {
        padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)
    }
}

.theme-container .vp-sidebar {
    top: var(--navbar-height)
}

.theme-container.no-navbar .vp-page {
    padding-top: 0
}

.theme-container.no-navbar .vp-sidebar {
    top: 0
}

@media (max-width: 719px) {
    .theme-container.no-navbar .vp-sidebar {
        top:0
    }
}

@media (max-width: 719px) {
    .theme-container.hide-navbar .vp-sidebar {
        top:0
    }
}

.theme-container.sidebar-collapsed .vp-page {
    padding-inline-start:0}

.theme-container.sidebar-collapsed .vp-sidebar {
    box-shadow: none;
    transform: translate(-100%)
}

html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar {
    transform: translate(100%)
}

.theme-container.sidebar-collapsed .toggle-sidebar-wrapper {
    inset-inline-start: 0
}

.theme-container.no-sidebar .vp-page {
    padding-inline:0}

@media (min-width: 1440px) {
    .theme-container.no-sidebar.has-toc .vp-page {
        padding-inline-end:16rem
    }
}

.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar {
    display: none
}

.theme-container.sidebar-open .vp-sidebar {
    box-shadow: 2px 0 8px var(--card-shadow);
    transform: translate(0)
}

.vp-feature-wrapper {
    position: relative
}

.vp-feature-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-attachment: fixed;
    background-position: 50%;
    background-size: cover
}

.vp-feature-bg.light {
    display: inline-block
}

.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light {
    display: none
}

html[data-theme=dark] .vp-feature-bg.dark {
    display: inline-block
}

.vp-feature {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    padding: 1.5rem 1rem;
    color: var(--text-color-lighter);
    text-align: center
}

.vp-feature-bg+.vp-feature {
    color: #222
}

html[data-theme=dark] .vp-feature-bg+.vp-feature {
    color: #eee
}

.vp-feature-bg+.vp-feature .icon {
    color: inherit
}

.vp-feature-image {
    height: 10rem;
    margin: 0 auto
}

@media (max-width: 959px) {
    .vp-feature-image {
        height:8rem
    }
}

.vp-feature-image.light {
    display: inline-block
}

.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light {
    display: none
}

html[data-theme=dark] .vp-feature-image.dark {
    display: inline-block
}

.vp-feature-header {
    margin-bottom: 1.5rem;
    border-bottom: none;
    font-size: 3rem;
    font-family: var(--font-family);
    text-align: center
}

@media (max-width: 959px) {
    .vp-feature-header {
        font-size:2.5rem
    }
}

@media (max-width: 719px) {
    .vp-feature-header {
        font-size:2.25rem
    }
}

@media (max-width: 419px) {
    .vp-feature-header {
        font-size:2rem
    }
}

.vp-feature-description {
    font-size: 1.125rem
}

.vp-features {
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    place-content: stretch center;
    margin: 1rem 0;
    text-align: start
}

@media print {
    .vp-features {
        display: block
    }
}

.vp-features:first-child {
    border-top: 1px solid var(--border-color);
    transition: border-color var(--color-transition)
}

.vp-feature-item {
    position: relative;
    display: block;
    flex-basis: calc(33% - 3rem);
    margin: .5rem;
    padding: 1rem;
    border-radius: .5rem;
    color: inherit;
    transition: background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)
}

@media (min-width: 1440px) {
    .vp-feature-item {
        flex-basis:calc(25% - 3rem)
    }
}

@media (max-width: 959px) {
    .vp-feature-item {
        flex-basis:calc(50% - 3rem)
    }
}

@media (max-width: 719px) {
    .vp-feature-item {
        flex-basis:100%;
        font-size: .95rem
    }
}

@media (max-width: 419px) {
    .vp-feature-item {
        margin:.5rem 0;
        font-size: .9rem
    }
}

.vp-feature-item.link {
    cursor: pointer
}

@media print {
    .vp-feature-item.link {
        text-decoration: none
    }
}

.vp-feature-item .icon {
    display: inline-block;
    height: 1.1em;
    margin-inline-end:.5rem;color: var(--theme-color);
    font-weight: 400;
    font-size: 1.1em
}

.vp-feature-item:hover {
    background-color: var(--bg-color-secondary);
    box-shadow: 0 2px 12px 0 var(--card-shadow);
    transform: translate(-2px,-2px);
    transform: scale(1.05)
}

.vp-feature-bg+.vp-feature .vp-feature-item:hover {
    background-color: transparent
}

.vp-feature-item:only-child {
    flex-basis: 100%
}

.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child {
    flex-basis: calc(50% - 3rem)
}

@media (max-width: 719px) {
    .vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child {
        flex-basis:100%
    }
}

.vp-feature-title {
    margin: .25rem 0 .5rem;
    font-weight: 700;
    font-size: 1.3rem;
    font-family: var(--font-family)
}

@media (max-width: 419px) {
    .vp-feature-title {
        font-size:1.2rem
    }
}

.vp-feature-details {
    margin: 0;
    line-height: 1.4
}

.vp-hero-info-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-inline:auto}

.vp-hero-info-wrapper.fullscreen {
    height: calc(100vh - var(--navbar-height))!important
}

.vp-hero-info {
    z-index: 1;
    width: 100%;
    padding-inline:2.5rem}

@media (max-width: 959px) {
    .vp-hero-info {
        padding-inline:1.5rem
    }
}

@media (min-width: 959px) {
    .vp-hero-info {
        display:flex;
        align-items: center;
        justify-content: space-evenly
    }
}

.vp-hero-mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-position: 50%;
    background-size: cover
}

.vp-hero-mask:after {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block
}

.vp-hero-mask.light {
    display: block
}

html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark {
    display: none
}

html[data-theme=dark] .vp-hero-mask.dark {
    display: block
}

.vp-hero-infos {
    z-index: 1;
    margin: 0 .5rem
}

.vp-hero-image {
    display: block;
    max-width: 100%;
    max-height: 18rem;
    margin: 1rem
}

@media (max-width: 959px) {
    .vp-hero-image {
        margin:2rem auto
    }
}

@media (max-width: 719px) {
    .vp-hero-image {
        max-height:16rem;
        margin: 1.5rem auto
    }
}

@media (max-width: 419px) {
    .vp-hero-image {
        max-height:14rem
    }
}

.vp-hero-image.light {
    display: block
}

html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark {
    display: none
}

html[data-theme=dark] .vp-hero-image.dark {
    display: block
}

#main-title {
    margin: .5rem 0;
    background: linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#3e71af 100%);
    -webkit-background-clip: text;
    background-clip: text;
    font-weight: 700;
    font-size: 3.6rem;
    font-family: var(--font-family);
    line-height: 1.5;
    -webkit-text-fill-color: transparent
}

@media (max-width: 719px) {
    #main-title {
        margin:0
    }
}

@media (max-width: 959px) {
    #main-title {
        font-size:2.5rem;
        text-align: center
    }
}

@media (max-width: 719px) {
    #main-title {
        font-size:2.25rem;
        text-align: center
    }
}

@media (max-width: 419px) {
    #main-title {
        margin:0 auto;
        font-size: 2rem
    }
}

#main-description,.vp-hero-actions {
    margin: 1.8rem 0
}

@media (max-width: 719px) {
    #main-description,.vp-hero-actions {
        margin:1.5rem 0
    }
}

@media (max-width: 959px) {
    #main-description,.vp-hero-actions {
        margin:1.5rem auto;
        text-align: center
    }
}

@media (max-width: 419px) {
    #main-description,.vp-hero-actions {
        margin:1.2rem 0
    }
}

#main-description {
    max-width: 35rem;
    color: var(--text-color-light);
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.3
}

@media (max-width: 719px) {
    #main-description {
        font-size:1.4rem
    }
}

@media (max-width: 419px) {
    #main-description {
        font-size:1.2rem
    }
}

.vp-hero-action {
    display: inline-block;
    overflow: hidden;
    min-width: 4rem;
    margin: .5rem;
    padding: .5em 1.5rem;
    border-radius: 2rem;
    background: var(--bg-color-secondary);
    color: var(--text-color);
    font-size: 1.2rem;
    text-align: center;
    transition: color var(--color-transition),color var(--color-transition),transform var(--transform-transition)
}

@media (max-width: 719px) {
    .vp-hero-action {
        padding:.5rem 1rem;
        font-size: 1.1rem
    }
}

@media (max-width: 419px) {
    .vp-hero-action {
        font-size:1rem
    }
}

@media print {
    .vp-hero-action {
        text-decoration: none
    }
}

.vp-hero-action:hover {
    background: var(--bg-color-tertiary)
}

.vp-hero-action.primary {
    border-color: var(--theme-color);
    background: var(--theme-color);
    color: var(--white)
}

.vp-hero-action.primary:hover {
    border-color: var(--theme-color-light);
    background: var(--theme-color-light)
}

.vp-project-home:not(.pure) .vp-hero-action:active {
    transform: scale(.96)
}

.vp-hero-action .icon {
    margin-inline-end:.25em}

#hero-logo {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    outline: none;
    opacity: 0;
    transition: opacity 1s ease
}

.vp-highlight-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.vp-highlight-wrapper:nth-child(2n) .vp-highlight {
    flex-direction: row-reverse
}

.vp-highlight {
    z-index: 1;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: flex-end;
    max-width: var(--home-page-width);
    margin: 0 auto;
    padding: 1.5rem 2.5rem;
    color: #222
}

@media (max-width: 719px) {
    .vp-highlight {
        display:block;
        padding-inline:1.5rem;text-align: center
    }
}

html[data-theme=dark] .vp-highlight {
    color: #eee
}

.vp-highlight-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background-attachment: fixed;
    background-position: 50%;
    background-size: cover
}

.vp-highlight-bg.light {
    display: inline-block
}

.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light {
    display: none
}

html[data-theme=dark] .vp-highlight-bg.dark {
    display: inline-block
}

.vp-highlight-image {
    width: 12rem;
    margin: 2rem 4rem
}

@media (max-width: 959px) {
    .vp-highlight-image {
        width:10rem
    }
}

@media (max-width: 719px) {
    .vp-highlight-image {
        width:8rem;
        margin: 0 auto
    }
}

.vp-highlight-image.light {
    display: inline-block
}

.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light {
    display: none
}

html[data-theme=dark] .vp-highlight-image.dark {
    display: inline-block
}

.vp-highlight-info-wrapper {
    display: flex;
    flex: 1;
    justify-content: center;
    padding: 2rem
}

@media (max-width: 719px) {
    .vp-highlight-info-wrapper {
        padding:1rem 0
    }
}

.vp-highlight-info-wrapper:only-child {
    flex: 1 0 100%
}

.vp-highlight-info {
    text-align: start
}

.vp-highlight-header {
    margin-bottom: 1.5rem;
    border-bottom: none;
    font-size: 3rem;
    font-family: var(--font-family)
}

@media (max-width: 959px) {
    .vp-highlight-header {
        font-size:2.5rem
    }
}

@media (max-width: 719px) {
    .vp-highlight-header {
        font-size:2.25rem;
        text-align: center
    }
}

@media (max-width: 419px) {
    .vp-highlight-header {
        font-size:2rem
    }
}

.vp-highlight-description {
    font-size: 1.125rem
}

.vp-highlights {
    margin-inline-start:-1.25em;padding-inline-start:0}

.vp-highlight-item-wrapper {
    padding: .5em .5em .5em 1.75em;
    border-radius: .5rem;
    list-style: none
}

.vp-highlight-item-wrapper.link {
    cursor: pointer
}

.vp-highlight-item-wrapper:hover {
    background-color: var(--bg-color-secondary);
    box-shadow: 0 2px 12px 0 var(--card-shadow);
    transition: transform var(--transform-transition);
    transform: translate(-2px,-2px)
}

.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover {
    background-color: transparent
}

.vp-highlight-item-wrapper::marker {
    font-weight: 700
}

.vp-highlight-item {
    display: list-item;
    color: inherit;
    list-style: initial
}

@media print {
    .vp-highlight-item {
        text-decoration: none
    }
}

.vp-highlight-title {
    margin: 0;
    font-weight: 600;
    font-size: 1.125rem;
    font-family: var(--font-family)
}

.vp-highlight-title .icon {
    margin-inline-end:.25em;font-size: 1em
}

.vp-highlight-title img.icon {
    vertical-align: -.125em;
    height: 1em
}

.vp-highlight-details {
    margin: .5rem 0 0
}

.vp-project-home {
    --content-width: var(--home-page-width);
    display: block;
    flex: 1;
    padding-top: var(--navbar-height)
}

@media screen {
    .vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info {
        max-width: var(--home-page-width)
    }
}

@media screen {
    .vp-project-home .vp-feature {
        max-width: var(--home-page-width)
    }
}

.vp-project-home .theme-hope-content {
    padding-bottom: 1.5rem!important
}

.vp-project-home .theme-hope-content:empty {
    padding: 0!important
}

.theme-hope-content:not(.custom)>*:first-child {
    margin-top: 0
}

.vp-breadcrumb {
    max-width: var(--content-width, 740px);
    margin-inline:auto;padding-inline:2.5rem;position: relative;
    z-index: 2;
    padding-top: 1rem;
    font-size: 15px
}

@media (max-width: 959px) {
    .vp-breadcrumb {
        padding-inline:1.5rem
    }
}

@media print {
    .vp-breadcrumb {
        max-width: unset
    }
}

@media (max-width: 959px) {
    .vp-breadcrumb {
        font-size:14px
    }
}

@media (max-width: 419px) {
    .vp-breadcrumb {
        padding-top:.5rem;
        font-size: 12.8px
    }
}

@media print {
    .vp-breadcrumb {
        display: none
    }
}

.vp-breadcrumb .icon {
    margin-inline-end:.25em;font-size: 1em
}

.vp-breadcrumb img.icon {
    vertical-align: -.125em;
    height: 1em
}

.vp-breadcrumb a {
    display: inline-block;
    padding: 0 .5em
}

.vp-breadcrumb a:before {
    position: relative;
    bottom: .125rem;
    margin-inline-end:.25em}

.vp-breadcrumb a:hover {
    color: var(--theme-color)
}

.vp-breadcrumb ol {
    margin: 0;
    padding-inline-start:0;list-style: none
}

.vp-breadcrumb li {
    display: inline-block;
    line-height: 1.5
}

.vp-breadcrumb li:first-child a {
    padding-inline-start:0}

.vp-breadcrumb li:last-child a {
    padding-inline-end:0}

.vp-breadcrumb li.is-active a {
    color: var(--light-grey);
    cursor: default;
    pointer-events: none
}

.vp-breadcrumb li+li:before {
    content: "/";
    color: var(--light-grey)
}

.vp-page-nav {
    display: flex;
    flex-wrap: wrap;
    min-height: 2rem;
    margin-top: 0;
    padding-block:.5rem;padding-inline:2rem;border-top: 1px solid var(--border-color);
    transition: border-top var(--color-transition)
}

@media (max-width: 959px) {
    .vp-page-nav {
        padding-inline:1rem
    }
}

@media print {
    .vp-page-nav {
        display: none
    }
}

.vp-page-nav .nav-link {
    display: inline-block;
    flex-grow: 1;
    margin: .25rem;
    padding: .25rem .5rem;
    border: 1px solid var(--border-color);
    border-radius: .25rem
}

.vp-page-nav .nav-link:hover {
    background: var(--bg-color-secondary)
}

.vp-page-nav .nav-link .hint {
    color: var(--light-grey);
    font-size: .875rem;
    line-height: 2
}

.vp-page-nav .nav-link .arrow {
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    background-image: url("data:image/svg+xml,%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: center;
    background-repeat: no-repeat;
    line-height: normal;
    transition: all .3s;
    font-size: .75rem
}

html[data-theme=dark] .vp-page-nav .nav-link .arrow {
    background-image: url("data:image/svg+xml,%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")
}

.vp-page-nav .nav-link .arrow.down {
    transform: rotate(180deg)
}

html[dir=rtl] .vp-page-nav .nav-link .arrow.down {
    transform: rotate(-180deg)
}

.vp-page-nav .nav-link .arrow.end {
    transform: rotate(90deg)
}

html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start {
    transform: rotate(-90deg)
}

html[dir=rtl] .vp-page-nav .nav-link .arrow.start {
    transform: rotate(90deg)
}

.vp-page-nav .prev {
    text-align: start
}

.vp-page-nav .prev .icon {
    margin-inline-end:.25em;font-size: 1em
}

.vp-page-nav .prev img.icon {
    vertical-align: -.125em;
    height: 1em
}

.vp-page-nav .next {
    text-align: end
}

.vp-page-nav .next .icon {
    margin-inline-start:.25em;font-size: 1em
}

.vp-page-nav .next img.icon {
    vertical-align: -.125em;
    height: 1em
}

.page-author-item {
    display: inline-block;
    margin: 0 4px;
    font-weight: 400;
    overflow-wrap: break-word
}

.page-category-info {
    flex-wrap: wrap
}

.page-category-item {
    display: inline-block;
    margin: .125em .25em;
    padding: 0 .25em;
    border-radius: .25em;
    background: var(--bg-color-secondary);
    color: var(--text-color-light);
    font-weight: 700;
    font-size: .75rem;
    line-height: 2;
    transition: background var(--color-transition),color var(--color-transition)
}

@media print {
    .page-category-item {
        padding: 0;
        font-weight: 400
    }

    .page-category-item:after {
        content: ", "
    }

    .page-category-item:last-of-type:after {
        content: ""
    }
}

.page-category-item.clickable>span:hover {
    color: var(--theme-color);
    cursor: pointer
}

.page-category-item.category0 {
    background: #fde5e7;
    color: #ec2f3e
}

html[data-theme=dark] .page-category-item.category0 {
    background: #340509;
    color: #ba111f
}

.page-category-item.category0:hover {
    background: #f9bec3
}

html[data-theme=dark] .page-category-item.category0:hover {
    background: #53080e
}

.page-category-item.category1 {
    background: #ffeee8;
    color: #fb7649
}

html[data-theme=dark] .page-category-item.category1 {
    background: #441201;
    color: #f54205
}

.page-category-item.category1:hover {
    background: #fed4c6
}

html[data-theme=dark] .page-category-item.category1:hover {
    background: #6d1d02
}

.page-category-item.category2 {
    background: #fef5e7;
    color: #f5b041
}

html[data-theme=dark] .page-category-item.category2 {
    background: #3e2703;
    color: #e08e0b
}

.page-category-item.category2:hover {
    background: #fce6c4
}

html[data-theme=dark] .page-category-item.category2:hover {
    background: #633f05
}

.page-category-item.category3 {
    background: #eafaf1;
    color: #55d98d
}

html[data-theme=dark] .page-category-item.category3 {
    background: #0c331c;
    color: #29b866
}

.page-category-item.category3:hover {
    background: #caf3db
}

html[data-theme=dark] .page-category-item.category3:hover {
    background: #12522d
}

.page-category-item.category4 {
    background: #e6f9ee;
    color: #36d278
}

html[data-theme=dark] .page-category-item.category4 {
    background: #092917;
    color: #219552
}

.page-category-item.category4:hover {
    background: #c0f1d5
}

html[data-theme=dark] .page-category-item.category4:hover {
    background: #0f4224
}

.page-category-item.category5 {
    background: #e1fcfc;
    color: #16e1e1
}

html[data-theme=dark] .page-category-item.category5 {
    background: #042929;
    color: #0e9595
}

.page-category-item.category5:hover {
    background: #b4f8f8
}

html[data-theme=dark] .page-category-item.category5:hover {
    background: #064242
}

.page-category-item.category6 {
    background: #e4f0fe;
    color: #2589f6
}

html[data-theme=dark] .page-category-item.category6 {
    background: #021b36;
    color: #0862c3
}

.page-category-item.category6:hover {
    background: #bbdafc
}

html[data-theme=dark] .page-category-item.category6:hover {
    background: #042c57
}

.page-category-item.category7 {
    background: #f7f1fd;
    color: #bb8ced
}

html[data-theme=dark] .page-category-item.category7 {
    background: #2a0b4b;
    color: #9851e4
}

.page-category-item.category7:hover {
    background: #eadbfa
}

html[data-theme=dark] .page-category-item.category7:hover {
    background: #431277
}

.page-category-item.category8 {
    background: #fdeaf5;
    color: #ef59ab
}

html[data-theme=dark] .page-category-item.category8 {
    background: #400626;
    color: #e81689
}

.page-category-item.category8:hover {
    background: #facbe5
}

html[data-theme=dark] .page-category-item.category8:hover {
    background: #670a3d
}

.page-original-info {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    padding: 0 .5em;
    border: .5px solid var(--dark-grey);
    border-radius: .75em;
    background: var(--bg-color);
    font-size: .75em;
    line-height: 1.5!important
}

.page-tag-info {
    flex-wrap: wrap
}

.page-tag-item {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    min-width: 1.5rem;
    margin: .125rem;
    padding: .125rem .25rem .125rem .625rem;
    background: var(--bg-color-secondary);
    background: linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;
    background-size: 100% 52%!important;
    background-repeat: no-repeat!important;
    color: var(--text-color-light);
    font-weight: 700;
    font-size: .625rem;
    line-height: 1.5;
    text-align: center;
    transition: background var(--color-transition),color var(--color-transition)
}

@media print {
    .page-tag-item {
        padding: 0;
        font-weight: 400
    }

    .page-tag-item:after {
        content: ", "
    }

    .page-tag-item:last-of-type:after {
        content: ""
    }
}

.page-tag-item.clickable:hover {
    cursor: pointer
}

.page-tag-item.tag0 {
    background: #fde5e7;
    background: linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;
    color: #ec2f3e
}

html[data-theme=dark] .page-tag-item.tag0 {
    background: #340509;
    background: linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;
    color: #ba111f
}

.page-tag-item.tag0.clickable:hover {
    background: #f9bec3;
    background: linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom
}

html[data-theme=dark] .page-tag-item.tag0.clickable:hover {
    background: #53080e;
    background: linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom
}

.page-tag-item.tag1 {
    background: #ffeee8;
    background: linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;
    color: #fb7649
}

html[data-theme=dark] .page-tag-item.tag1 {
    background: #441201;
    background: linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;
    color: #f54205
}

.page-tag-item.tag1.clickable:hover {
    background: #fed4c6;
    background: linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom
}

html[data-theme=dark] .page-tag-item.tag1.clickable:hover {
    background: #6d1d02;
    background: linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom
}

.page-tag-item.tag2 {
    background: #fef5e7;
    background: linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;
    color: #f5b041
}

html[data-theme=dark] .page-tag-item.tag2 {
    background: #3e2703;
    background: linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;
    color: #e08e0b
}

.page-tag-item.tag2.clickable:hover {
    background: #fce6c4;
    background: linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom
}

html[data-theme=dark] .page-tag-item.tag2.clickable:hover {
    background: #633f05;
    background: linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom
}

.page-tag-item.tag3 {
    background: #eafaf1;
    background: linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;
    color: #55d98d
}

html[data-theme=dark] .page-tag-item.tag3 {
    background: #0c331c;
    background: linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;
    color: #29b866
}

.page-tag-item.tag3.clickable:hover {
    background: #caf3db;
    background: linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom
}

html[data-theme=dark] .page-tag-item.tag3.clickable:hover {
    background: #12522d;
    background: linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom
}

.page-tag-item.tag4 {
    background: #e6f9ee;
    background: linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;
    color: #36d278
}

html[data-theme=dark] .page-tag-item.tag4 {
    background: #092917;
    background: linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;
    color: #219552
}

.page-tag-item.tag4.clickable:hover {
    background: #c0f1d5;
    background: linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom
}

html[data-theme=dark] .page-tag-item.tag4.clickable:hover {
    background: #0f4224;
    background: linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom
}

.page-tag-item.tag5 {
    background: #e1fcfc;
    background: linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;
    color: #16e1e1
}

html[data-theme=dark] .page-tag-item.tag5 {
    background: #042929;
    background: linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;
    color: #0e9595
}

.page-tag-item.tag5.clickable:hover {
    background: #b4f8f8;
    background: linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom
}

html[data-theme=dark] .page-tag-item.tag5.clickable:hover {
    background: #064242;
    background: linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom
}

.page-tag-item.tag6 {
    background: #e4f0fe;
    background: linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;
    color: #2589f6
}

html[data-theme=dark] .page-tag-item.tag6 {
    background: #021b36;
    background: linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;
    color: #0862c3
}

.page-tag-item.tag6.clickable:hover {
    background: #bbdafc;
    background: linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom
}

html[data-theme=dark] .page-tag-item.tag6.clickable:hover {
    background: #042c57;
    background: linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom
}

.page-tag-item.tag7 {
    background: #f7f1fd;
    background: linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;
    color: #bb8ced
}

html[data-theme=dark] .page-tag-item.tag7 {
    background: #2a0b4b;
    background: linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;
    color: #9851e4
}

.page-tag-item.tag7.clickable:hover {
    background: #eadbfa;
    background: linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom
}

html[data-theme=dark] .page-tag-item.tag7.clickable:hover {
    background: #431277;
    background: linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom
}

.page-tag-item.tag8 {
    background: #fdeaf5;
    background: linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;
    color: #ef59ab
}

html[data-theme=dark] .page-tag-item.tag8 {
    background: #400626;
    background: linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;
    color: #e81689
}

.page-tag-item.tag8.clickable:hover {
    background: #facbe5;
    background: linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom
}

html[data-theme=dark] .page-tag-item.tag8.clickable:hover {
    background: #670a3d;
    background: linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom
}

.page-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    place-content: stretch flex-start;
    color: var(--dark-grey);
    font-size: 14px
}

@media print {
    .page-info {
        display: flex!important
    }
}

.page-info>span {
    display: flex;
    align-items: center;
    max-width: 100%;
    margin-inline-end:.5em;line-height: 2
}

@media (min-width: 1440px) {
    .page-info>span {
        font-size:1.1em
    }
}

@media (max-width: 419px) {
    .page-info>span {
        margin-inline-end:.3em;
        font-size: .875em
    }
}

@media print {
    .page-info>span {
        display: flex!important
    }
}

.page-info .icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 1em;
    height: 1em;
    margin-inline-end:.25em}

.page-info a {
    color: inherit
}

.page-info a:hover,.page-info a:active {
    color: var(--theme-color)
}

.vp-page-title {
    max-width: var(--content-width, 740px);
    margin-inline:auto;padding-inline:2.5rem;position: relative;
    z-index: 1;
    padding-top: 1rem;
    padding-bottom: 0
}

@media (max-width: 959px) {
    .vp-page-title {
        padding-inline:1.5rem
    }
}

@media print {
    .vp-page-title {
        max-width: unset
    }
}

@media print {
    .vp-page-title {
        padding-inline:0!important}
}

@media (max-width: 959px) {
    .vp-page-title {
        padding-top:.5rem
    }
}

.vp-page-title h1 {
    margin-top: calc(0px - var(--navbar-height))!important;
    margin-bottom: 1rem;
    padding-top: var(--navbar-height)!important;
    font-size: 2.2rem
}

@media (max-width: 959px) {
    .vp-page-title h1 {
        margin-bottom:.5rem
    }
}

.vp-page-title h1 .icon {
    margin-inline-end:.25em;color: var(--theme-color);
    font-size: .9em
}

.vp-page-title h1 img.icon {
    vertical-align: -.125em;
    height: 1em
}

.theme-hope-content:not(.custom) {
    padding-top: 0!important
}

.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child {
    margin-top: calc(.5rem - var(--navbar-height))!important;
    padding-top: var(--navbar-height)!important
}

.theme-hope-content:not(.custom)>h1:first-child {
    display: none
}

.page-meta {
    max-width: var(--content-width, 740px);
    margin-inline:auto;padding-inline:2.5rem;display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    overflow: auto;
    padding-top: .75rem;
    padding-bottom: .75rem
}

@media (max-width: 959px) {
    .page-meta {
        padding-inline:1.5rem
    }
}

@media print {
    .page-meta {
        max-width: unset
    }
}

@media print {
    .page-meta {
        margin: 0!important;
        padding-inline:0!important}
}

@media (max-width: 719px) {
    .page-meta {
        display:block
    }
}

.page-meta .meta-item {
    flex-grow: 1
}

.page-meta .meta-item .label {
    font-weight: 500
}

.page-meta .meta-item .label:not(a) {
    color: var(--text-color-lighter)
}

.page-meta .meta-item .info {
    color: var(--dark-grey);
    font-weight: 400
}

.page-meta .git-info {
    text-align: end
}

.page-meta .edit-link {
    margin-top: .25rem;
    margin-bottom: .25rem;
    margin-inline-end:.5rem;font-size: 14px
}

@media print {
    .page-meta .edit-link {
        display: none
    }
}

.page-meta .edit-link .icon {
    position: relative;
    bottom: -.125em;
    width: 1em;
    height: 1em;
    margin-inline-end:.25em}

.page-meta .update-time,.page-meta .contributors {
    margin-top: .25rem;
    margin-bottom: .25rem;
    font-size: 14px
}

@media (max-width: 719px) {
    .page-meta .update-time,.page-meta .contributors {
        font-size:13px;
        text-align: start
    }
}

.print-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    box-sizing: content-box;
    width: 1rem;
    height: 1rem;
    padding: .5rem;
    border-radius: .25em;
    color: inherit;
    font-size: 1rem;
    transform: translateY(.25rem)
}

@media print {
    .print-button {
        display: none
    }
}

.toc-place-holder {
    margin-inline:auto;padding-inline:2.5rem;position: sticky;
    top: calc(var(--navbar-height) + 2rem);
    z-index: 99;
    max-width: var(--content-width, 740px)
}

@media (max-width: 959px) {
    .toc-place-holder {
        padding-inline:1.5rem
    }
}

@media print {
    .toc-place-holder {
        max-width: unset
    }
}

.toc-place-holder+.theme-hope-content:not(.custom) {
    padding-top: 0
}

#toc {
    position: absolute;
    inset-inline-start: calc(100% + 1rem);
    display: none;
    min-width: 10rem;
    max-width: 15rem
}

@media (min-width: 1440px) {
    .has-toc #toc {
        display:block
    }
}

@media print {
    #toc {
        display: none!important
    }
}

#toc .toc-header {
    margin-bottom: .75rem;
    margin-inline-start:.5rem;font-weight: 600;
    font-size: .875rem
}

#toc .toc-wrapper {
    position: relative;
    overflow: hidden auto;
    max-height: 75vh;
    margin: 0 .5rem;
    padding-inline-start:8px;text-overflow: ellipsis;
    white-space: nowrap;
    scroll-behavior: smooth
}

#toc .toc-wrapper::-webkit-scrollbar-track-piece {
    background: transparent
}

#toc .toc-wrapper::-webkit-scrollbar {
    width: 3px
}

#toc .toc-wrapper::-webkit-scrollbar-thumb:vertical {
    background: #ddd
}

html[data-theme=dark] #toc .toc-wrapper::-webkit-scrollbar-thumb:vertical {
    background: #333
}

#toc .toc-wrapper:before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    z-index: -1;
    width: 2px;
    background: var(--border-color)
}

#toc .toc-list {
    position: relative;
    margin: 0;
    padding: 0
}

#toc .toc-marker {
    content: " ";
    position: absolute;
    top: 0;
    inset-inline-start: -8px;
    z-index: 2;
    width: 2px;
    height: 1.7rem;
    background: var(--theme-color);
    transition: top var(--vp-tt)
}

#toc .toc-link {
    position: relative;
    display: block;
    overflow: hidden;
    max-width: 100%;
    color: var(--light-grey);
    line-height: inherit;
    text-overflow: ellipsis;
    white-space: nowrap
}

#toc .toc-link.level2 {
    padding-inline-start:0px;font-size: 14px
}

#toc .toc-link.level3 {
    padding-inline-start:8px;font-size: 13px
}

#toc .toc-link.level4 {
    padding-inline-start:16px;font-size: 12px
}

#toc .toc-link.level5 {
    padding-inline-start:24px;font-size: 11px
}

#toc .toc-link.level6 {
    padding-inline-start:32px;font-size: 10px
}

#toc .toc-item {
    position: relative;
    box-sizing: border-box;
    height: 1.7rem;
    padding: 0 .5rem;
    list-style: none;
    line-height: 1.7rem
}

#toc .toc-item:hover>.toc-link {
    color: var(--theme-color)
}

#toc .toc-item.active>.toc-link {
    color: var(--theme-color);
    font-weight: 700
}

.vp-page {
    display: block;
    flex-grow: 1;
    padding-bottom: 2rem;
    transition: padding var(--transform-transition)
}

@media print {
    .vp-page {
        min-height: auto!important;
        margin: 0!important;
        padding: 0!important
    }
}

.page-cover {
    -o-object-fit: cover;
    object-fit: cover;
    width: calc(100% + 2rem);
    max-height: 25vh;
    margin-inline-start:-2rem}

@media (max-width: 719px) {
    .page-cover {
        width:100%;
        margin: 0;
        border-radius: 0
    }
}

@media (min-width: 1440px) {
    .page-cover {
        width:calc(100% - 2rem);
        margin: 0 1rem;
        border-radius: .5rem
    }
}

.page-cover .sidebar-collapsed {
    width: 100%;
    margin-inline-start:0}

.vp-skip-link {
    top: .25rem;
    inset-inline-start: .25rem;
    z-index: 999;
    padding: .65rem 1.5rem;
    border-radius: .5rem;
    background: var(--bg-color);
    color: var(--theme-color);
    box-shadow: var(--card-shadow);
    font-weight: 700;
    font-size: .9em;
    text-decoration: none
}

@media print {
    .vp-skip-link {
        display: none
    }
}

.vp-skip-link:focus {
    clip: auto;
    width: auto;
    height: auto;
    -webkit-clip-path: none;
    clip-path: none
}

.fade-slide-y-enter-active {
    transition: all .3s ease!important
}

.fade-slide-y-leave-active {
    transition: all .3s cubic-bezier(1,.5,.8,1)!important
}

.fade-slide-y-enter-from,.fade-slide-y-leave-to {
    opacity: 0;
    transform: translateY(10px)
}

.not-found-hint {
    padding: 2rem
}

.not-found-hint .error-title {
    font-weight: 700
}

.not-found-hint .error-hint {
    margin: 0;
    padding: 12px 0;
    font-weight: 600;
    font-size: 20px;
    line-height: 20px;
    letter-spacing: 2px
}

.vp-page.not-found {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100vw;
    max-width: var(--home-page-width);
    margin: 0 auto;
    padding: calc(var(--navbar-height) + 1rem) 1rem 1rem!important;
    text-align: center
}

.vp-page.not-found .action-button {
    display: inline-block;
    box-sizing: border-box;
    margin: .25rem;
    padding: .75rem 1rem;
    border-width: 0;
    border-bottom: 1px solid var(--theme-color-dark);
    border-radius: 3rem;
    background: var(--theme-color);
    color: var(--white);
    outline: none;
    font-size: 1rem;
    transition: background .1s ease
}

.vp-page.not-found .action-button:hover {
    background: var(--theme-color-light);
    cursor: pointer
}

.vp-social-medias {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 8px auto
}

.vp-social-media {
    width: 26px;
    height: 26px;
    margin: 4px;
    transition: transform .18s ease-out .18s;
    transform: scale(1)
}

.vp-social-media:hover {
    cursor: pointer;
    transform: scale(1.2)
}

.vp-social-media:after {
    --balloon-font-size: 8px;
    padding: .3em .6em
}

.vp-social-media .icon {
    width: 100%;
    height: 100%
}

.vp-blogger-info {
    padding: .5rem;
    font-family: var(--font-family-heading);
    overflow-wrap: break-word
}

.vp-page .vp-blogger-info {
    background: var(--bg-color-float);
    transition: background var(--color-transition)
}

.vp-sidebar .vp-blogger-info.mobile {
    display: none
}

@media (max-width: 719px) {
    .vp-sidebar .vp-blogger-info.mobile {
        display:block
    }
}

.vp-sidebar .vp-blogger-info.mobile+hr {
    display: none
}

@media (max-width: 719px) {
    .vp-sidebar .vp-blogger-info.mobile+hr {
        display:block;
        margin-top: 1rem
    }
}

.vp-blogger {
    padding: .5rem;
    text-align: center
}

.vp-blogger-avatar {
    width: 8rem;
    height: 8rem;
    margin: 0 auto
}

.vp-blogger-avatar.round {
    border-radius: 50%
}

.vp-blogger-name {
    margin: 1rem auto;
    font-size: 22px
}

.vp-blogger-description {
    margin: 1rem auto;
    font-size: 14px
}

.vp-blog-counts {
    display: flex;
    width: 80%;
    margin: 0 auto 1rem
}

.vp-blog-count {
    display: block;
    width: 25%;
    color: inherit;
    font-size: 13px;
    text-align: center;
    cursor: pointer;
    transition: color var(--color-transition)
}

.vp-blog-count:hover {
    color: var(--theme-color)
}

.vp-blog-count .count {
    position: relative;
    margin-bottom: .5rem;
    font-weight: 600;
    font-size: 20px
}

html[data-theme=dark] .empty-icon g.people {
    opacity: .8
}

html[data-theme=dark] .empty-icon g:not(.people) {
    filter: invert(80%)
}

.vp-article-wrapper {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto 1.25rem;
    text-align: start;
    overflow-wrap: break-word
}

@media (max-width: 959px) {
    .vp-article-wrapper {
        margin:0 auto 1rem
    }
}

.vp-article-wrapper:last-child {
    margin-bottom: 0
}

.vp-article-item {
    display: block;
    padding: .75rem 1.25rem;
    border-radius: .4rem;
    background: var(--bg-color-float);
    color: inherit;
    box-shadow: 0 1px 3px 1px var(--card-shadow);
    transition: background var(--color-transition),box-shadow var(--color-transition)
}

@media (max-width: 959px) {
    .vp-article-item {
        padding:.75rem 1rem
    }
}

@media (max-width: 419px) {
    .vp-article-item {
        border-radius:0
    }
}

.vp-article-item:hover {
    box-shadow: 0 2px 6px 2px var(--card-shadow)
}

.vp-article-item .sticky-icon {
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    width: 1.5rem;
    height: 1.5rem;
    color: var(--theme-color)
}

.vp-article-item .page-info>span {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    margin-inline-end:.5em;line-height: 1.8
}

.vp-article-item .page-info>span:after {
    --balloon-font-size: 8px;
    padding: .3em .6em!important
}

.vp-article-hr {
    margin-block:.375em .375em}

.vp-article-title {
    position: relative;
    display: inline-block;
    color: var(--text-color);
    font-size: 1.25rem;
    font-family: var(--font-family-heading);
    line-height: 1.6;
    cursor: pointer
}

.vp-article-title:after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 2px;
    background: var(--theme-color);
    visibility: hidden;
    transition: transform .3s ease-in-out;
    transform: scaleX(0)
}

.vp-article-title:hover {
    cursor: pointer
}

.vp-article-title:hover:after {
    visibility: visible;
    transform: scaleX(1)
}

.vp-article-title a {
    color: inherit;
    font-weight: 600
}

.vp-article-title .lock-icon,.vp-article-title .slides-icon {
    position: relative;
    bottom: -.125em;
    display: inline-block;
    vertical-align: baseline;
    width: 1em;
    height: 1em;
    margin-inline-end:.25em;color: var(--theme-color)
}

.vp-article-title>span {
    word-break: break-word
}

.vp-article-cover {
    width: calc(100% + 2.5rem);
    margin: -.75rem -1.25rem .75rem;
    border-top-left-radius: .4rem;
    border-top-right-radius: .4rem
}

@media (max-width: 959px) {
    .vp-article-cover {
        width:calc(100% + 2rem);
        margin: -.75rem -1rem .75rem
    }
}

@media (max-width: 419px) {
    .vp-article-cover {
        border-radius:0
    }
}

.vp-article-excerpt {
    overflow: hidden;
    line-height: 1.6;
    cursor: default
}

@media (max-width: 959px) {
    .vp-article-excerpt {
        font-size:15px
    }
}

@media (max-width: 419px) {
    .vp-article-excerpt {
        font-size:14px
    }
}

.vp-article-excerpt h1 {
    display: none
}

.vp-article-excerpt h2 {
    font-size: 1.4em
}

.vp-article-excerpt h3 {
    font-size: 1.2em
}

.vp-article-excerpt h1,.vp-article-excerpt h2,.vp-article-excerpt h3,.vp-article-excerpt h4,.vp-article-excerpt h5,.vp-article-excerpt h6 {
    margin-top: .5em;
    margin-bottom: .5em
}

.vp-article-excerpt h1+p {
    margin-top: .5em
}

.vp-article-excerpt p:first-child {
    margin-top: .5em
}

.vp-article-excerpt p:last-child {
    margin-bottom: .5em
}

.vp-article-excerpt div[class*=language-] {
    overflow: auto hidden
}

.vp-article-excerpt div[class*=language-] pre {
    margin: .85rem 0;
    line-height: 1.375
}

.vp-article-excerpt div[class*=language-] pre code {
    padding: 0;
    background: transparent
}

.vp-article-excerpt div[class*=language-].line-numbers-mode .line-numbers {
    padding: .85rem 0
}

.vp-article-excerpt .code-demo-wrapper,.vp-article-excerpt .external-link-icon,.vp-article-excerpt .footnote-anchor {
    display: none
}

.vp-article-excerpt section.footnotes {
    display: none
}

.vp-article-excerpt img {
    max-width: 100%
}

.vp-article-excerpt figure {
    display: flex;
    flex-direction: column;
    width: auto;
    margin: 1rem auto;
    text-align: center;
    transition: transform var(--transform-transition)
}

.vp-article-excerpt figure img {
    overflow: hidden;
    margin: 0 auto;
    border-radius: 8px
}

.vp-article-excerpt figure figcaption {
    display: inline-block;
    margin: 6px auto;
    font-size: .8rem
}

.vp-article-excerpt figure figcaption:only-child {
    display: none
}

@keyframes message-move-in {
    0% {
        opacity: 0;
        transform: translateY(-100%)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes message-move-out {
    0% {
        opacity: 1;
        transform: translateY(0)
    }

    to {
        opacity: 0;
        transform: translateY(-100%)
    }
}

#message-container {
    position: fixed;
    inset: calc(var(--navbar-height, 3.6rem) + 1rem) 0 auto;
    z-index: 75;
    text-align: center
}

#message-container .message {
    display: inline-block;
    padding: 8px 10px;
    border-radius: 3px;
    background: var(--vp-bg);
    color: var(--vp-c);
    box-shadow: 0 0 10px 0 var(--box-shadow, #f0f1f2);
    font-size: 14px
}

#message-container .message.move-in {
    animation: message-move-in .3s ease-in-out
}

#message-container .message.move-out {
    animation: message-move-out .3s ease-in-out;
    animation-fill-mode: forwards
}

#message-container .message svg {
    position: relative;
    bottom: -.125em;
    margin-inline-end:5px}

.vp-pagination {
    margin: 1.25rem 0 .75rem;
    font-weight: 600;
    font-size: 15px;
    line-height: 2
}

.vp-pagination-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-evenly;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.vp-pagination-number {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    height: 30px;
    margin: 0 .5rem;
    border: 1px solid var(--border-color);
    border-radius: .25rem
}

.vp-pagination-number div {
    position: relative;
    padding: 0 .5rem;
    background: var(--bg-color);
    color: var(--theme-color);
    cursor: pointer
}

.vp-pagination-number div:before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    width: 1px;
    background: var(--border-color)
}

.vp-pagination-number div:first-child:before {
    background: transparent
}

.vp-pagination-number div:hover {
    color: var(--theme-color-light)
}

.vp-pagination-number div.active {
    background: var(--theme-color);
    color: var(--white)
}

.vp-pagination-number div.active:before {
    background: var(--theme-color)
}

.vp-pagination-number div.active+div:before {
    background: var(--theme-color)
}

.vp-pagination-number div.prev,.vp-pagination-number div.next {
    font-size: 13px;
    line-height: 30px
}

.vp-pagination-number div.active,.vp-pagination-number div.ellipsis {
    cursor: default
}

.vp-pagination-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: .5rem
}

.vp-pagination-nav input {
    width: 3.5rem;
    margin: 6px 5px;
    border: 1px solid var(--border-color);
    border-radius: .25em;
    background: var(--bg-color);
    color: var(--text-color);
    outline: none;
    line-height: 2;
    text-align: center
}

.vp-pagination-button {
    overflow: hidden;
    padding: 0 .75em;
    border: 1px solid var(--border-color);
    border-radius: .25em;
    background: var(--bg-color);
    color: var(--theme-color);
    outline: none;
    font-weight: 600;
    font-size: 15px;
    line-height: 2;
    cursor: pointer
}

.vp-pagination-button:hover {
    color: var(--theme-color-light)
}

.vp-article-list {
    margin-top: calc(-.5rem - var(--navbar-height));
    padding-top: calc(var(--navbar-height) + .5rem);
    text-align: center
}

.vp-article-list:first-child {
    margin-top: calc(0rem - var(--navbar-height))
}

.vp-article-list .empty {
    max-width: 560px;
    margin: 0 auto;
    text-align: center
}

.vp-category-list {
    position: relative;
    z-index: 2;
    padding-inline-start:0;list-style: none;
    font-size: 14px
}

.vp-category {
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    margin: .3rem .6rem .8rem;
    padding: .4rem .8rem;
    border-radius: .25rem;
    color: var(--dark-grey);
    box-shadow: 0 1px 4px 0 var(--card-shadow);
    word-break: break-word;
    cursor: pointer;
    transition: background var(--color-transition),color var(--color-transition)
}

@media (max-width: 419px) {
    .vp-category {
        font-size:.9rem
    }
}

.vp-category a {
    color: inherit
}

.vp-category .count {
    display: inline-block;
    min-width: 1rem;
    height: 1.2rem;
    margin-inline-start:.2em;padding: 0 .1rem;
    border-radius: .6rem;
    color: var(--white);
    font-size: .7rem;
    line-height: 1.2rem;
    text-align: center
}

.vp-category0 {
    background: #fde5e7;
    color: #ba111f
}

html[data-theme=dark] .vp-category0 {
    background: #340509;
    color: #ec2f3e
}

.vp-category0:hover {
    background: #f9bec3
}

html[data-theme=dark] .vp-category0:hover {
    background: #53080e
}

.vp-category0.active {
    background: #cf1322;
    color: #fff
}

html[data-theme=dark] .vp-category0.active {
    background: #a60f1b;
    color: var(--bg-color)
}

.vp-category0.active .count {
    background: var(--bg-color);
    color: #cf1322
}

.vp-category0 .count {
    background: #cf1322
}

.vp-category1 {
    background: #ffeee8;
    color: #f54205
}

html[data-theme=dark] .vp-category1 {
    background: #441201;
    color: #fb7649
}

.vp-category1:hover {
    background: #fed4c6
}

html[data-theme=dark] .vp-category1:hover {
    background: #6d1d02
}

.vp-category1.active {
    background: #fa541c;
    color: #fff
}

html[data-theme=dark] .vp-category1.active {
    background: #da3a05;
    color: var(--bg-color)
}

.vp-category1.active .count {
    background: var(--bg-color);
    color: #fa541c
}

.vp-category1 .count {
    background: #fa541c
}

.vp-category2 {
    background: #fef5e7;
    color: #e08e0b
}

html[data-theme=dark] .vp-category2 {
    background: #3e2703;
    color: #f5b041
}

.vp-category2:hover {
    background: #fce6c4
}

html[data-theme=dark] .vp-category2:hover {
    background: #633f05
}

.vp-category2.active {
    background: #f39c12;
    color: #fff
}

html[data-theme=dark] .vp-category2.active {
    background: #c77e0a;
    color: var(--bg-color)
}

.vp-category2.active .count {
    background: var(--bg-color);
    color: #f39c12
}

.vp-category2 .count {
    background: #f39c12
}

.vp-category3 {
    background: #eafaf1;
    color: #29b866
}

html[data-theme=dark] .vp-category3 {
    background: #0c331c;
    color: #55d98d
}

.vp-category3:hover {
    background: #caf3db
}

html[data-theme=dark] .vp-category3:hover {
    background: #12522d
}

.vp-category3.active {
    background: #2ecc71;
    color: #fff
}

html[data-theme=dark] .vp-category3.active {
    background: #25a35a;
    color: var(--bg-color)
}

.vp-category3.active .count {
    background: var(--bg-color);
    color: #2ecc71
}

.vp-category3 .count {
    background: #2ecc71
}

.vp-category4 {
    background: #e6f9ee;
    color: #219552
}

html[data-theme=dark] .vp-category4 {
    background: #092917;
    color: #36d278
}

.vp-category4:hover {
    background: #c0f1d5
}

html[data-theme=dark] .vp-category4:hover {
    background: #0f4224
}

.vp-category4.active {
    background: #25a55b;
    color: #fff
}

html[data-theme=dark] .vp-category4.active {
    background: #1e8449;
    color: var(--bg-color)
}

.vp-category4.active .count {
    background: var(--bg-color);
    color: #25a55b
}

.vp-category4 .count {
    background: #25a55b
}

.vp-category5 {
    background: #e1fcfc;
    color: #0e9595
}

html[data-theme=dark] .vp-category5 {
    background: #042929;
    color: #16e1e1
}

.vp-category5:hover {
    background: #b4f8f8
}

html[data-theme=dark] .vp-category5:hover {
    background: #064242
}

.vp-category5.active {
    background: #10a5a5;
    color: #fff
}

html[data-theme=dark] .vp-category5.active {
    background: #0d8484;
    color: var(--bg-color)
}

.vp-category5.active .count {
    background: var(--bg-color);
    color: #10a5a5
}

.vp-category5 .count {
    background: #10a5a5
}

.vp-category6 {
    background: #e4f0fe;
    color: #0862c3
}

html[data-theme=dark] .vp-category6 {
    background: #021b36;
    color: #2589f6
}

.vp-category6:hover {
    background: #bbdafc
}

html[data-theme=dark] .vp-category6:hover {
    background: #042c57
}

.vp-category6.active {
    background: #096dd9;
    color: #fff
}

html[data-theme=dark] .vp-category6.active {
    background: #0757ae;
    color: var(--bg-color)
}

.vp-category6.active .count {
    background: var(--bg-color);
    color: #096dd9
}

.vp-category6 .count {
    background: #096dd9
}

.vp-category7 {
    background: #f7f1fd;
    color: #9851e4
}

html[data-theme=dark] .vp-category7 {
    background: #2a0b4b;
    color: #bb8ced
}

.vp-category7:hover {
    background: #eadbfa
}

html[data-theme=dark] .vp-category7:hover {
    background: #431277
}

.vp-category7.active {
    background: #aa6fe9;
    color: #fff
}

html[data-theme=dark] .vp-category7.active {
    background: #8733e0;
    color: var(--bg-color)
}

.vp-category7.active .count {
    background: var(--bg-color);
    color: #aa6fe9
}

.vp-category7 .count {
    background: #aa6fe9
}

.vp-category8 {
    background: #fdeaf5;
    color: #e81689
}

html[data-theme=dark] .vp-category8 {
    background: #400626;
    color: #ef59ab
}

.vp-category8:hover {
    background: #facbe5
}

html[data-theme=dark] .vp-category8:hover {
    background: #670a3d
}

.vp-category8.active {
    background: #eb2f96;
    color: #fff
}

html[data-theme=dark] .vp-category8.active {
    background: #ce147a;
    color: var(--bg-color)
}

.vp-category8.active .count {
    background: var(--bg-color);
    color: #eb2f96
}

.vp-category8 .count {
    background: #eb2f96
}

.tag-list-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-inline-start:0;list-style: none
}

.tag-list-wrapper a {
    color: inherit
}

.tag-list-wrapper .tag {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    min-width: 24px;
    margin: 4px 6px;
    padding: 3px 8px;
    border-radius: 8px;
    color: var(--white);
    box-shadow: 0 1px 6px 0 var(--box-shadow);
    font-size: 12px;
    text-align: center;
    word-break: break-word;
    cursor: pointer;
    transition: background var(--color-transition),box-shadow var(--color-transition),transform var(--color-transition)
}

.tag-list-wrapper .tag:hover {
    cursor: pointer
}

.tag-list-wrapper .tag.active {
    transform: scale(1.1)
}

.tag-list-wrapper .tag-num {
    margin-inline-start:.5em}

.tag-list-wrapper .tag0 {
    background: #e91526
}

.tag-list-wrapper .tag0:hover,.tag-list-wrapper .tag0.active,html[data-theme=dark] .tag-list-wrapper .tag0 {
    background: #c51220
}

html[data-theme=dark] .tag-list-wrapper .tag0:hover,html[data-theme=dark] .tag-list-wrapper .tag0.active {
    background: #e91526
}

.tag-list-wrapper .tag1 {
    background: #fb6533
}

.tag-list-wrapper .tag1:hover,.tag-list-wrapper .tag1.active,html[data-theme=dark] .tag-list-wrapper .tag1 {
    background: #fa4a0e
}

html[data-theme=dark] .tag-list-wrapper .tag1:hover,html[data-theme=dark] .tag-list-wrapper .tag1.active {
    background: #fb6533
}

.tag-list-wrapper .tag2 {
    background: #f4a62a
}

.tag-list-wrapper .tag2:hover,.tag-list-wrapper .tag2.active,html[data-theme=dark] .tag-list-wrapper .tag2 {
    background: #ec950c
}

html[data-theme=dark] .tag-list-wrapper .tag2:hover,html[data-theme=dark] .tag-list-wrapper .tag2.active {
    background: #f4a62a
}

.tag-list-wrapper .tag3 {
    background: #40d47f
}

.tag-list-wrapper .tag3:hover,.tag-list-wrapper .tag3.active,html[data-theme=dark] .tag-list-wrapper .tag3 {
    background: #2cc26b
}

html[data-theme=dark] .tag-list-wrapper .tag3:hover,html[data-theme=dark] .tag-list-wrapper .tag3.active {
    background: #40d47f
}

.tag-list-wrapper .tag4 {
    background: #2bbe69
}

.tag-list-wrapper .tag4:hover,.tag-list-wrapper .tag4.active,html[data-theme=dark] .tag-list-wrapper .tag4 {
    background: #239d56
}

html[data-theme=dark] .tag-list-wrapper .tag4:hover,html[data-theme=dark] .tag-list-wrapper .tag4.active {
    background: #2bbe69
}

.tag-list-wrapper .tag5 {
    background: #13c3c3
}

.tag-list-wrapper .tag5:hover,.tag-list-wrapper .tag5.active,html[data-theme=dark] .tag-list-wrapper .tag5 {
    background: #0f9d9d
}

html[data-theme=dark] .tag-list-wrapper .tag5:hover,html[data-theme=dark] .tag-list-wrapper .tag5.active {
    background: #13c3c3
}

.tag-list-wrapper .tag6 {
    background: #0a7bf4
}

.tag-list-wrapper .tag6:hover,.tag-list-wrapper .tag6.active,html[data-theme=dark] .tag-list-wrapper .tag6 {
    background: #0968ce
}

html[data-theme=dark] .tag-list-wrapper .tag6:hover,html[data-theme=dark] .tag-list-wrapper .tag6.active {
    background: #0a7bf4
}

.tag-list-wrapper .tag7 {
    background: #b37deb
}

.tag-list-wrapper .tag7:hover,.tag-list-wrapper .tag7.active,html[data-theme=dark] .tag-list-wrapper .tag7 {
    background: #a160e7
}

html[data-theme=dark] .tag-list-wrapper .tag7:hover,html[data-theme=dark] .tag-list-wrapper .tag7.active {
    background: #b37deb
}

.tag-list-wrapper .tag8 {
    background: #ed44a1
}

.tag-list-wrapper .tag8:hover,.tag-list-wrapper .tag8.active,html[data-theme=dark] .tag-list-wrapper .tag8 {
    background: #ea2290
}

html[data-theme=dark] .tag-list-wrapper .tag8:hover,html[data-theme=dark] .tag-list-wrapper .tag8.active {
    background: #ed44a1
}

.timeline-list-wrapper {
    --dot-color: #fff;
    --dot-bar-color: #eaecef;
    --dot-border-color: #ddd;
    padding: 8px 0
}

html[data-theme=dark] .timeline-list-wrapper {
    --dot-color: #444;
    --dot-bar-color: #333;
    --dot-border-color: #555
}

.timeline-list-wrapper .timeline-list-title {
    cursor: pointer
}

.timeline-list-wrapper .timeline-list-title .icon {
    position: relative;
    bottom: -.125rem;
    width: 16px;
    height: 16px;
    margin: 0 6px
}

.timeline-list-wrapper .timeline-list-title .num {
    position: relative;
    margin: 0 2px;
    font-size: 22px
}

.timeline-list-wrapper .timeline-content {
    overflow-y: auto;
    max-height: 80vh
}

.timeline-list-wrapper .timeline-content::-webkit-scrollbar-track-piece {
    background: transparent
}

.timeline-list-wrapper .timeline-list {
    position: relative;
    box-sizing: border-box;
    margin: 0 8px;
    list-style: none
}

.timeline-list-wrapper .timeline-list:after {
    content: " ";
    position: absolute;
    top: 14px;
    inset-inline-start: 0;
    z-index: -1;
    width: 4px;
    height: calc(100% - 14px);
    margin-inline-start:-2px;background: var(--dot-bar-color);
    transition: background var(--color-transition)
}

.timeline-list-wrapper .timeline-year {
    position: relative;
    margin: 20px 0 0;
    color: var(--text-color);
    font-weight: 700;
    font-size: 20px
}

.timeline-list-wrapper .timeline-year:before {
    content: " ";
    position: absolute;
    z-index: 2;
    border: 1px solid var(--dot-border-color);
    border-radius: 50%;
    background: var(--dot-color);
    transition: background var(--color-transition),border-color var(--color-transition);
    top: 50%;
    inset-inline-start: -20px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    margin-inline-start:-4px}

.timeline-list-wrapper .timeline-year-wrapper {
    padding-inline-start:0!important}

.timeline-list-wrapper .timeline-date {
    display: inline-block;
    vertical-align: bottom;
    width: 36px;
    font-size: 12px;
    line-height: 32px;
    transition: color var(--color-transition)
}

.timeline-list-wrapper .timeline-date:before {
    content: " ";
    position: absolute;
    z-index: 2;
    border: 1px solid var(--dot-border-color);
    border-radius: 50%;
    background: var(--dot-color);
    transition: background var(--color-transition),border-color var(--color-transition);
    top: 24px;
    inset-inline-start: -19px;
    width: 6px;
    height: 6px;
    margin-inline-start:-4px}

.timeline-list-wrapper .timeline-title {
    color: inherit;
    font-size: 14px;
    line-height: 32px;
    cursor: pointer;
    transition: color var(--color-transition)
}

.timeline-list-wrapper .timeline-item {
    position: relative;
    display: flex;
    padding: 12px 0 4px;
    border-bottom: 1px dashed var(--border-color);
    list-style: none;
    transition: border-color var(--color-transition)
}

.timeline-list-wrapper .timeline-item:hover .timeline-date {
    color: var(--theme-color)
}

.timeline-list-wrapper .timeline-item:hover .timeline-date:before {
    border-color: var(--dot-color);
    background: var(--theme-color)
}

.timeline-list-wrapper .timeline-item:hover .timeline-title {
    color: var(--theme-color)
}

.vp-blog-infos {
    margin: 8px auto;
    padding: 8px 16px
}

.vp-page .vp-blog-infos {
    border-radius: 6px;
    background: var(--bg-color-float);
    box-shadow: 0 1px 3px 1px var(--card-shadow);
    transition: background var(--color-transition),box-shadow var(--color-transition)
}

.vp-page .vp-blog-infos:hover {
    box-shadow: 0 2px 6px 2px var(--card-shadow)
}

.vp-blog-infos .timeline-list-wrapper .content {
    max-height: 60vh
}

.vp-blog-type-switcher {
    display: flex;
    justify-content: center;
    margin-bottom: 8px
}

.vp-blog-type-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    width: 44px;
    height: 44px;
    margin: 0 8px;
    padding: 4px;
    color: var(--grey3);
    transition: color var(--color-transition)
}

.vp-blog-type-button:focus {
    outline: none
}

.vp-blog-type-button .icon-wrapper {
    width: 20px;
    height: 20px;
    padding: 8px;
    border-radius: 50%;
    background: rgba(127,127,127,.15);
    transition: background var(--color-transition)
}

html[data-theme=dark] .vp-blog-type-button .icon-wrapper {
    background: rgba(255,255,255,.15)
}

.vp-blog-type-button .icon-wrapper:hover {
    cursor: pointer
}

.vp-blog-type-button .icon-wrapper.active {
    background: var(--theme-color-light)
}

html[data-theme=dark] .vp-blog-type-button .icon-wrapper.active {
    background: var(--theme-color-dark)
}

.vp-blog-type-button .icon {
    width: 100%;
    height: 100%
}

.vp-sidebar.hide-icon .vp-blog-type-button .icon {
    display: block!important
}

.vp-star-article-wrapper,.vp-category-wrapper,.vp-tag-wrapper {
    padding: 8px 0
}

.vp-star-article-wrapper .title,.vp-category-wrapper .title,.vp-tag-wrapper .title {
    cursor: pointer
}

.vp-star-article-wrapper .title .icon,.vp-category-wrapper .title .icon,.vp-tag-wrapper .title .icon {
    position: relative;
    bottom: -.125rem;
    width: 16px;
    height: 16px;
    margin: 0 6px
}

.vp-star-article-wrapper .title .num,.vp-category-wrapper .title .num,.vp-tag-wrapper .title .num {
    position: relative;
    margin: 0 2px;
    font-size: 22px;
    font-family: var(--font-family-heading)
}

.vp-star-articles {
    overflow-y: auto;
    max-height: 80vh;
    margin: 8px auto;
    line-height: 1.5
}

.vp-star-article {
    padding: 12px 8px 4px;
    border-bottom: 1px dashed var(--grey);
    transition: border-color var(--color-transition),color var(--color-transition)
}

.vp-star-article a {
    color: inherit
}

.vp-star-article:hover {
    cursor: pointer
}

.vp-star-article:hover a {
    color: var(--theme-color)
}

.vp-category-wrapper .category-list-wrapper,.vp-tag-wrapper .tag-list-wrapper {
    overflow-y: auto;
    max-height: 80vh;
    margin: 8px auto
}

.vp-blog-main {
    flex: 1;
    width: 0;
    max-width: 780px
}

.vp-sidebar .vp-blog-info-wrapper .vp-blogger-info {
    display: none
}

.vp-page .vp-blog-info-wrapper {
    position: sticky;
    top: calc(var(--navbar-height) + .75rem);
    flex: 0 0 300px;
    box-sizing: border-box;
    width: 300px;
    height: auto;
    margin-top: .75rem;
    margin-bottom: .75rem;
    margin-inline-start:1rem;transition: all .3s
}

@media (max-width: 719px) {
    .vp-page .vp-blog-info-wrapper {
        display:none
    }
}

.vp-page .vp-blog-info-wrapper .vp-blogger-info {
    margin-bottom: 16px;
    padding: 8px 0;
    border-radius: 8px;
    box-shadow: 0 1px 3px 1px var(--card-shadow)
}

.vp-page .vp-blog-info-wrapper .vp-blogger-info:hover {
    box-shadow: 0 2px 6px 2px var(--card-shadow)
}

.vp-blog-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 450px;
    margin-bottom: 1rem;
    color: #eee;
    font-family: var(--font-family-heading)
}

@media (max-width: 719px) {
    .vp-blog-hero {
        height:350px
    }
}

@media (max-width: 419px) {
    .vp-blog-hero {
        margin:0 0 1rem
    }
}

.vp-blog-hero.no-bg {
    color: var(--text-color)
}

.vp-blog-hero>:not(.vp-blog-mask) {
    position: relative;
    z-index: 2
}

.vp-blog-hero .slide-down-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    position: absolute;
    bottom: 0;
    left: calc(50vw - 30px);
    display: none;
    width: 60px;
    height: 60px;
    padding: 10px
}

.vp-blog-hero .slide-down-button .icon {
    width: 30px;
    margin: -15px 0;
    animation-name: bounce-down;
    animation-duration: 1.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-direction: alternate
}

.vp-blog-hero .slide-down-button .icon:first-child {
    color: #ffffff26
}

.vp-blog-hero .slide-down-button .icon:nth-child(2) {
    color: #ffffff80
}

.vp-blog-hero.fullscreen {
    height: calc(100vh - var(--navbar-height))!important
}

.vp-blog-hero.fullscreen .vp-blog-mask {
    background-position-y: top!important
}

.vp-blog-hero.fullscreen .slide-down-button {
    display: block
}

.vp-blog-mask {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.vp-blog-mask:after {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    background: var(--light-grey);
    opacity: .2
}

.vp-blog-mask.light {
    display: block
}

html[data-theme=dark] .vp-blog-mask.light,.vp-blog-mask.dark {
    display: none
}

html[data-theme=dark] .vp-blog-mask.dark {
    display: block
}

.vp-blog-hero-title {
    margin: .5rem auto;
    font-weight: 700;
    font-size: 2rem
}

@media (min-width: 1440px) {
    .vp-blog-hero-title {
        font-size:2.25rem
    }
}

@media (max-width: 719px) {
    .vp-blog-hero-title {
        font-size:1.75rem
    }
}

.vp-blog-hero-image {
    display: block;
    max-width: 100%;
    max-height: 15rem;
    margin: 1.5rem auto
}

@media (max-width: 719px) {
    .vp-blog-hero-image {
        max-height:12rem
    }
}

.vp-blog-hero-image.light {
    display: block
}

html[data-theme=dark] .vp-blog-hero-image.light,.vp-blog-hero-image.dark {
    display: none
}

html[data-theme=dark] .vp-blog-hero-image.dark {
    display: block
}

.vp-blog-hero-image+.vp-blog-hero-title {
    margin: 0 auto
}

.vp-blog-hero-description {
    margin: 1.2rem auto 0;
    font-size: 1.5rem
}

@media (max-width: 719px) {
    .vp-blog-hero-description {
        font-size:1.25rem
    }
}

@keyframes bounce-down {
    0% {
        transform: translateY(-5px)
    }

    to {
        transform: translateY(5px)
    }
}

.vp-project-panel {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    place-content: stretch flex-start;
    margin-bottom: 12px
}

.vp-project-panel:empty {
    margin-bottom: 0
}

.vp-project-card {
    position: relative;
    width: calc(33% - 40px);
    margin: 6px 8px;
    padding: 12px;
    border-radius: 8px;
    background: var(--bg-color-float);
    transition: background var(--color-transition),transform var(--transform-transition)
}

@media (max-width: 959px) {
    .vp-project-card {
        width:calc(50% - 40px)
    }
}

@media (min-width: 1440px) {
    .vp-project-card {
        width:calc(25% - 40px)
    }
}

.vp-project-card:hover {
    cursor: pointer;
    transform: scale(.98)
}

.vp-project-card .icon {
    position: relative;
    z-index: 2;
    float: right;
    width: 20px;
    height: 20px
}

html[dir=rtl] .vp-project-card .icon {
    float: left
}

.vp-project-card.project0 {
    background: #fde5e7
}

.vp-project-card.project0:hover {
    background: #f9bec3
}

html[data-theme=dark] .vp-project-card.project0 {
    background: #340509
}

html[data-theme=dark] .vp-project-card.project0:hover {
    background: #53080e
}

.vp-project-card.project1 {
    background: #ffeee8
}

.vp-project-card.project1:hover {
    background: #fed4c6
}

html[data-theme=dark] .vp-project-card.project1 {
    background: #441201
}

html[data-theme=dark] .vp-project-card.project1:hover {
    background: #6d1d02
}

.vp-project-card.project2 {
    background: #fef5e7
}

.vp-project-card.project2:hover {
    background: #fce6c4
}

html[data-theme=dark] .vp-project-card.project2 {
    background: #3e2703
}

html[data-theme=dark] .vp-project-card.project2:hover {
    background: #633f05
}

.vp-project-card.project3 {
    background: #eafaf1
}

.vp-project-card.project3:hover {
    background: #caf3db
}

html[data-theme=dark] .vp-project-card.project3 {
    background: #0c331c
}

html[data-theme=dark] .vp-project-card.project3:hover {
    background: #12522d
}

.vp-project-card.project4 {
    background: #e6f9ee
}

.vp-project-card.project4:hover {
    background: #c0f1d5
}

html[data-theme=dark] .vp-project-card.project4 {
    background: #092917
}

html[data-theme=dark] .vp-project-card.project4:hover {
    background: #0f4224
}

.vp-project-card.project5 {
    background: #e1fcfc
}

.vp-project-card.project5:hover {
    background: #b4f8f8
}

html[data-theme=dark] .vp-project-card.project5 {
    background: #042929
}

html[data-theme=dark] .vp-project-card.project5:hover {
    background: #064242
}

.vp-project-card.project6 {
    background: #e4f0fe
}

.vp-project-card.project6:hover {
    background: #bbdafc
}

html[data-theme=dark] .vp-project-card.project6 {
    background: #021b36
}

html[data-theme=dark] .vp-project-card.project6:hover {
    background: #042c57
}

.vp-project-card.project7 {
    background: #f7f1fd
}

.vp-project-card.project7:hover {
    background: #eadbfa
}

html[data-theme=dark] .vp-project-card.project7 {
    background: #2a0b4b
}

html[data-theme=dark] .vp-project-card.project7:hover {
    background: #431277
}

.vp-project-card.project8 {
    background: #fdeaf5
}

.vp-project-card.project8:hover {
    background: #facbe5
}

html[data-theme=dark] .vp-project-card.project8 {
    background: #400626
}

html[data-theme=dark] .vp-project-card.project8:hover {
    background: #670a3d
}

.vp-project-name {
    position: relative;
    z-index: 2;
    color: var(--grey3);
    font-weight: 500;
    font-size: 16px;
    transition: color var(--color-transition)
}

.vp-project-desc {
    position: relative;
    z-index: 2;
    margin: 6px 0;
    color: var(--dark-grey);
    font-size: 13px
}

.vp-project-image {
    position: relative;
    z-index: 2;
    float: right;
    width: 40px;
    height: 40px
}

html[dir=rtl] .vp-project-image {
    float: left
}

.vp-page.vp-blog .vp-blog-home {
    flex: 1;
    width: 0;
    max-width: 780px
}

.vp-page.vp-blog .theme-hope-content:empty {
    padding: 0
}

.vp-article-type-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-inline-start:0;list-style: none;
    font-weight: 600;
    font-size: 18px
}

@media (max-width: 419px) {
    .vp-article-type-wrapper {
        font-size:16px
    }
}

.vp-article-type {
    position: relative;
    vertical-align: middle;
    margin: .3em .8em;
    line-height: 1.2;
    cursor: pointer
}

.vp-article-type:after {
    content: " ";
    position: absolute;
    inset: auto 50% -6px;
    height: 2px;
    border-radius: 1px;
    background: var(--theme-color);
    visibility: hidden;
    transition: inset .2s ease-in-out
}

.vp-article-type a {
    display: inline-block;
    color: inherit;
    transition: all .3s ease-in-out
}

.vp-article-type.active {
    position: relative
}

.vp-article-type.active a {
    color: var(--theme-color);
    transform: scale(1.1)
}

.vp-article-type:hover:after,.vp-article-type.active:after {
    inset: auto calc(50% - 8px) -6px;
    visibility: visible
}

.timeline-wrapper {
    --dot-color: #fff;
    --dot-bar-color: #eaecef;
    --dot-border-color: #ddd;
    max-width: 740px;
    margin: 0 auto;
    padding: 40px 0
}

@media (max-width: 719px) {
    .timeline-wrapper {
        margin:0 1.2rem
    }
}

html[data-theme=dark] .timeline-wrapper {
    --dot-color: #444;
    --dot-bar-color: #333;
    --dot-border-color: #555
}

.timeline-wrapper #toc {
    inset-inline: unset 0;
    min-width: 0
}

.timeline-wrapper .toc-wrapper {
    position: relative;
    z-index: 10
}

.timeline-wrapper .timeline-content {
    position: relative;
    box-sizing: border-box;
    padding-inline-start:76px;list-style: none
}

.timeline-wrapper .timeline-content:after {
    content: " ";
    position: absolute;
    top: 14px;
    inset-inline-start: 64px;
    z-index: -1;
    width: 4px;
    height: calc(100% - 38px);
    margin-inline-end:-2px;background: var(--dot-bar-color);
    transition: background var(--color-transition)
}

.timeline-wrapper .motto {
    position: relative;
    color: var(--text-color);
    font-size: 18px;
    transition: color var(--color-transition)
}

@media (min-width: 1280px) {
    .timeline-wrapper .motto {
        font-size:20px
    }
}

.timeline-wrapper .motto:before {
    content: " ";
    position: absolute;
    top: 50%;
    z-index: 2;
    margin-top: -6px;
    margin-inline-start:-6px;border: 2px solid var(--dot-border-color);
    border-radius: 50%;
    background: var(--dot-color);
    transition: background var(--color-transition),border-color var(--color-transition);
    inset-inline-start: -10px;
    width: 8px;
    height: 8px
}

.timeline-wrapper .timeline-year-title {
    margin-top: calc(3rem - var(--navbar-height));
    margin-bottom: .5rem;
    padding-top: var(--navbar-height);
    color: var(--text-color);
    font-weight: 700;
    font-size: 26px;
    font-family: var(--font-family-heading);
    transition: color var(--color-transition)
}

.timeline-wrapper .timeline-year-title span {
    position: relative
}

.timeline-wrapper .timeline-year-title span:before {
    content: " ";
    position: absolute;
    top: 50%;
    z-index: 2;
    margin-top: -6px;
    margin-inline-start:-6px;border: 2px solid var(--dot-border-color);
    border-radius: 50%;
    background: var(--dot-color);
    transition: background var(--color-transition),border-color var(--color-transition);
    inset-inline-start: -10px;
    width: 8px;
    height: 8px
}

.timeline-wrapper .timeline-year-wrapper {
    padding-inline-start:0!important}

.timeline-wrapper .timeline-date {
    position: absolute;
    inset-inline-end: calc(100% + 24px);
    width: 50px;
    font-size: 14px;
    line-height: 30px;
    text-align: end
}

.timeline-wrapper .timeline-date:before {
    content: " ";
    position: absolute;
    top: 50%;
    z-index: 2;
    margin-top: -6px;
    margin-inline-start:-6px;border: 2px solid var(--dot-border-color);
    border-radius: 50%;
    background: var(--dot-color);
    transition: background var(--color-transition),border-color var(--color-transition);
    inset-inline-end: -19px;
    width: 6px;
    height: 6px
}

.timeline-wrapper .timeline-title {
    position: relative;
    display: block;
    color: inherit;
    font-size: 16px;
    line-height: 30px;
    transition: color var(--color-transition),font-size var(--transform-transition)
}

.timeline-wrapper .timeline-item {
    position: relative;
    z-index: 3;
    display: flex;
    padding: 30px 0 10px;
    border-bottom: 1px dashed var(--border-color);
    list-style: none;
    transition: border-color var(--color-transition)
}

.timeline-wrapper .timeline-item:hover {
    cursor: pointer
}

.timeline-wrapper .timeline-item:hover .timeline-date {
    font-size: 16px;
    transition: border-color var(--color-transition),color var(--color-transition),font-size var(--transform-transition)
}

.timeline-wrapper .timeline-item:hover .timeline-date:before {
    border-color: var(--theme-color);
    background: var(--bg-color-secondary)
}

.timeline-wrapper .timeline-item:hover .timeline-title {
    color: var(--theme-color);
    font-size: 18px
}

.theme-container .vp-page.vp-blog {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    padding-top: var(--navbar-height);
    padding-bottom: 2rem;
    background: var(--bg-color-back);
    transition: background var(--color-transition)
}

@media (min-width: 1440px) {
    .theme-container.has-toc .vp-page.vp-blog {
        padding-inline-end:0
    }
}

.blog-page-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem
}

@media (max-width: 959px) {
    .blog-page-wrapper {
        padding:0 1rem
    }
}

@media (max-width: 419px) {
    .blog-page-wrapper {
        padding:0
    }
}

@keyframes shake {
    0%,to {
        transform: translate(0)
    }

    10% {
        transform: translate(-9px)
    }

    20% {
        transform: translate(8px)
    }

    30% {
        transform: translate(-7px)
    }

    40% {
        transform: translate(6px)
    }

    50% {
        transform: translate(-5px)
    }

    60% {
        transform: translate(4px)
    }

    70% {
        transform: translate(-3px)
    }

    80% {
        transform: translate(2px)
    }

    90% {
        transform: translate(-1px)
    }
}

.vp-decrypt-layer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: calc(80vh - var(--navbar-height));
    margin-top: var(--navbar-height);
    text-align: center
}

.vp-decrypt-layer.expand {
    margin-top: 0
}

.vp-decrypt-modal {
    width: calc(100% - 8rem);
    max-width: 420px;
    margin: 2rem;
    padding: 2rem;
    border-radius: 1.5rem;
    box-shadow: 2px 2px 10px 6px var(--card-shadow);
    transition: box-shadow var(--color-transition)
}

@media (max-width: 719px) {
    .vp-decrypt-modal {
        width:calc(100% - 5rem);
        padding: 1.5rem
    }
}

@media (max-width: 419px) {
    .vp-decrypt-modal {
        width:calc(100% - 3rem);
        box-shadow: none
    }
}

.vp-decrypt-hint {
    margin-bottom: 20px;
    font-weight: 600;
    font-size: 1.5rem;
    line-height: 2
}

.vp-decrypt-hint.tried {
    color: red;
    animation-name: shake;
    animation-duration: .5s;
    animation-timing-function: ease-out;
    animation-fill-mode: both
}

.vp-decrypt-hint svg {
    width: 1.25em;
    height: 1.25em
}

.vp-decrypt-input input {
    width: calc(100% - 3rem);
    padding: 0 1.5rem;
    border: 2px solid var(--theme-color);
    border-radius: .5rem;
    background: var(--bg-color)!important;
    color: var(--black)!important;
    outline: none;
    font-size: 1.25rem;
    line-height: 2;
    transition: background var(--color-transition),color var(--color-transition)
}

.vp-remember-password {
    margin-top: .5rem;
    color: var(--dark-grey);
    font-size: 14px;
    text-align: start
}

.vp-remember-password input[type=checkbox] {
    position: relative;
    vertical-align: text-bottom;
    width: 0;
    margin-inline-end:18px;cursor: pointer
}

.vp-remember-password input[type=checkbox]:after {
    content: " ";
    position: absolute;
    top: 0;
    display: inline-block;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    padding-inline-start:0;border: 1px solid #ddd;
    border-radius: 50%;
    background: #fff;
    text-align: center;
    visibility: visible;
    transition: background var(--color-transition),border-color var(--color-transition)
}

html[data-theme=dark] .vp-remember-password input[type=checkbox]:after {
    border-color: #666;
    background: #333
}

.vp-remember-password input[type=checkbox]:checked:after {
    content: "";
    border-color: var(--theme-color);
    background: var(--theme-color)
}

html[data-theme=dark] .vp-remember-password input[type=checkbox]:checked:after {
    border-color: var(--theme-color);
    background: var(--theme-color)
}

.vp-remember-password input[type=checkbox]:checked:before {
    content: "";
    position: absolute;
    top: 2px;
    inset-inline-start: 5px;
    z-index: 1;
    width: 2px;
    height: 6px;
    border: solid var(--white);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.vp-decrypt-submit {
    background: transparent;
    cursor: pointer;
    width: 70px;
    margin-top: 1.5rem;
    border-width: 0;
    border-radius: .5rem;
    background: var(--theme-color);
    color: var(--bg-color);
    outline: none;
    font-size: 1.2rem;
    line-height: 2;
    transition: color var(--color-transition)
}

.vp-decrypt-submit:hover {
    background: var(--theme-color-light)
}

.vp-reveal-page .vp-reveal {
    min-width: 100vw;
    min-height: 100vh
}

.vp-reveal-page .menu-button {
    left: 2rem;
    z-index: 50;
    vertical-align: middle;
    transition: transform .2s ease-in-out
}

.vp-reveal-page .menu-button:before {
    content: " ";
    margin-top: .125em
}

.vp-reveal-page .menu-button:after {
    content: " ";
    margin-bottom: .125em
}

.vp-reveal-page .menu-button .icon {
    margin: .2em 0
}

.vp-reveal-page .menu-button:before,.vp-reveal-page .menu-button:after,.vp-reveal-page .menu-button .icon {
    display: block;
    width: 100%;
    height: .2em;
    border-radius: .05em;
    background: var(--white);
    transition: transform .2s ease-in-out
}

.vp-reveal-page .back-button {
    left: 2rem;
    z-index: 49;
    opacity: 0;
    fill: var(--white);
    transition: left .2s ease-out,opacity .2s ease-out
}

.vp-reveal-page .home-button {
    left: 2rem;
    z-index: 48;
    opacity: 0;
    fill: var(--white);
    transition: left .2s ease-out,opacity .2s ease-out
}

.vp-reveal-page .menu-button,.vp-reveal-page .back-button,.vp-reveal-page .home-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    position: fixed;
    bottom: 2rem;
    box-sizing: content-box;
    width: 1rem;
    height: 1rem;
    padding: .5rem;
    border-radius: 50%;
    background: rgba(127,127,127,.35);
    color: var(--white);
    outline: none
}

.vp-reveal-page .menu-button:hover,.vp-reveal-page .back-button:hover,.vp-reveal-page .home-button:hover {
    background: var(--vp-tc)
}

.vp-reveal-page .active .menu-button:before {
    transform: translateY(.4em) rotate(135deg)
}

.vp-reveal-page .active .menu-button .icon {
    transform: scale(0)
}

.vp-reveal-page .active .menu-button:after {
    transform: translateY(-.4em) rotate(-135deg)
}

.vp-reveal-page .active .back-button {
    left: 4.5rem;
    opacity: 1
}

.vp-reveal-page .active .home-button {
    left: 7rem;
    opacity: 1
}

:root {
    --navbar-bg-color: var(--bg-color-float-blur);
    --sidebar-bg-color: var(--bg-color-blur)
}

html[data-theme=dark] {
    --navbar-bg-color: var(--bg-color-blur);
    --sidebar-bg-color: var(--bg-color-blur)
}

#app {
    --code-hl-bg-color: var(--code-highlight-line-color);
    --code-ln-color: var(--code-line-color);
    --code-ln-wrapper-width: var(--line-numbers-width);
    --code-tabs-nav-text-color: var(--code-color);
    --code-tabs-nav-bg-color: var(--code-border-color);
    --code-tabs-nav-hover-color: var(--code-highlight-line-color);
    --sidebar-space: var(--sidebar-width)
}

@media (max-width: 959px) {
    #app {
        --navbar-height: var(--navbar-mobile-height);
        --navbar-vertical-padding: var(--navbar-mobile-vertical-padding);
        --navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);
        --sidebar-width: var(--sidebar-mobile-width)
    }
}

@media (min-width: 1440px) {
    #app {
        --sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)), 100vw )
    }
}

.DocSearch-Button,.DocSearch {
    --docsearch-primary-color: var(--vp-tc);
    --docsearch-text-color: var(--vp-c);
    --docsearch-highlight-color: var(--vp-tc);
    --docsearch-muted-color: var(--light-grey);
    --docsearch-container-background: rgb(9 10 17 / 80%);
    --docsearch-modal-background: var(--bg-color-float);
    --docsearch-searchbox-background: var(--bg-color-secondary);
    --docsearch-searchbox-focus-background: var(--vp-bg);
    --docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-tc);
    --docsearch-hit-color: var(--vp-cl);
    --docsearch-hit-active-color: var(--vp-bg);
    --docsearch-hit-background: var(--vp-bg);
    --docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);
    --docsearch-footer-background: var(--vp-bg)
}

html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch {
    --docsearch-logo-color: var(--vp-c);
    --docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;
    --docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);
    --docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);
    --docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)
}

#nprogress {
    --nprogress-color: var(--vp-tc)
}

.search-box {
    --search-bg-color: var(--vp-bg);
    --search-accent-color: var(--vp-tc);
    --search-text-color: var(--vp-c);
    --search-border-color: var(--border-color);
    --search-item-text-color: var(--vp-clt);
    --search-item-focus-bg-color: var(--bg-color-secondary)
}

.external-link-icon {
    --external-link-icon-color: var(--light-grey)
}

html,body {
    margin: 0;
    padding: 0;
    background: #fff
}

html {
    font-size: 16px;
    font-display: optional;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-tap-highlight-color: transparent
}

@media print {
    html {
        font-size: 12pt
    }
}

body {
    min-height: 100vh;
    color: #2c3e50
}

a {
    color: #3eaf7c;
    font-weight: 500;
    text-decoration: none;
    overflow-wrap: break-word
}

kbd {
    display: inline-block;
    min-width: 1em;
    margin-inline:.125rem;padding: .25em;
    border: 1px solid #eee;
    border-radius: .25em;
    box-shadow: 1px 1px 4px #00000026;
    line-height: 1;
    letter-spacing: -.1em;
    text-align: center
}

code {
    margin: 0;
    padding: .2rem .4rem;
    border-radius: 5px;
    background: rgba(127,127,127,.12);
    font-size: .85em;
    overflow-wrap: break-word
}

table code {
    padding: .1rem .4rem
}

p a code {
    color: #3eaf7c;
    font-weight: 400
}

strong {
    font-weight: 600
}

h1,h2,h3,h4,h5,h6 {
    font-weight: 500;
    line-height: 1.25;
    overflow-wrap: break-word
}

h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor {
    opacity: 1
}

h1 {
    font-size: 2rem
}

h2 {
    padding-bottom: .3rem;
    border-bottom: 1px solid #eaecef;
    font-size: 1.65rem
}

h3 {
    font-size: 1.35rem
}

h4 {
    font-size: 1.15rem
}

h5 {
    font-size: 1.05rem
}

h6 {
    font-size: 1rem
}

a.header-anchor {
    float: left;
    margin-top: .125em;
    margin-inline-start:-.87em;padding-inline-end:.23em;font-size: .85em;
    opacity: 0;
    transition: opacity .2s
}

@media print {
    a.header-anchor {
        display: none!important
    }
}

a.header-anchor:hover {
    text-decoration: none
}

a.header-anchor:focus-visible {
    opacity: 1
}

p,ul,ol {
    line-height: 1.6;
    overflow-wrap: break-word
}

@media print {
    p,ul,ol {
        line-height: 1.5
    }
}

ul,ol {
    padding-inline-start:1.2em}

blockquote {
    margin: 1rem 0;
    padding: .25rem 0 .25rem 1rem;
    border-inline-start:.2rem solid #ddd;color: #666;
    font-size: 1rem;
    overflow-wrap: break-word
}

blockquote>p {
    margin: 0
}

hr {
    border: 0;
    border-top: 1px solid #eaecef
}

table {
    display: block;
    overflow-x: auto;
    margin: 1rem 0;
    border-collapse: collapse
}

tr:nth-child(2n) {
    background: #f6f8fa
}

th,td {
    padding: .6em 1em;
    border: 1px solid #dfe2e5
}

pre {
    direction: ltr
}

@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 {
        page-break-after: avoid
    }

    a {
        color: inherit;
        font-weight: inherit!important;
        font-size: inherit!important;
        text-decoration: underline
    }

    a[href^="http://"]:after,a[href^="https://"]:after {
        content: " (" attr(href) ") "
    }

    abbr[title]:after {
        content: " (" attr(title) ")"
    }

    pre {
        border: 1px solid #eee;
        white-space: pre-wrap!important
    }

    pre>code {
        white-space: pre-wrap!important
    }

    blockquote {
        border-inline-start:.2rem solid #ddd;color: inherit
    }

    blockquote,pre {
        orphans: 5;
        widows: 5
    }

    img,tr,canvas {
        page-break-inside: avoid
    }
}

@font-face {
    font-weight: 400;
    font-style: normal;
    font-family: Crimson;
    src: url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")
}

html,body {
    background: var(--bg-color);
    transition: background var(--color-transition)
}

:root {
    color-scheme: light
}

html[data-theme=dark] {
    color-scheme: dark
}

body {
    color: var(--text-color);
    font-family: var(--font-family)
}

@media (min-width: 1440px) {
    body {
        font-size:17px
    }
}

a {
    color: var(--theme-color)
}

kbd {
    border-color: var(--border-color-dark);
    background: var(--bg-color-secondary);
    font-family: var(--font-family-mono)
}

code {
    font-family: var(--font-family-mono);
    transition: background var(--color-transition),color var(--color-transition)
}

html[data-theme=dark] code {
    background: #333
}

p a code {
    color: var(--theme-color)
}

blockquote {
    border-color: #eee;
    color: #666;
    transition: border-color var(--color-transition),color var(--color-transition)
}

html[data-theme=dark] blockquote {
    border-color: #333
}

h1,h2,h3,h4,h5,h6 {
    font-family: var(--font-family-heading)
}

@media (max-width: 419px) {
    h1 {
        font-size:1.9rem
    }
}

h2 {
    border-color: var(--border-color);
    transition: border-bottom-color var(--color-transition)
}

hr {
    border-color: var(--border-color);
    transition: border-top-color var(--color-transition)
}

tr:nth-child(2n) {
    background: var(--bg-color-secondary)
}

th,td {
    border-color: var(--border-color-dark)
}

@media print {
    @page {
        --text-color: #000 !important;
        --bg-color: #fff !important
    }

    div[class*=language-] {
        position: relative!important
    }
}

.theme-hope-content pre {
    overflow: auto;
    margin: .85rem 0;
    padding: 1rem;
    border-radius: 6px;
    line-height: 1.375
}

.theme-hope-content pre code {
    padding: 0;
    border-radius: 0;
    background: transparent!important;
    color: var(--code-color);
    font-family: var(--font-family-mono);
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-wrap: normal;
    word-break: normal;
    overflow-wrap: unset;
    -webkit-hyphens: none;
    hyphens: none;
    transition: color var(--color-transition);
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto
}

@media print {
    .theme-hope-content pre code {
        white-space: pre-wrap
    }
}

.theme-hope-content .line-number {
    font-family: var(--font-family-mono)
}

div[class*=language-] {
    position: relative;
    border-radius: 6px;
    background: var(--code-bg-color);
    font-size: 16px;
    transition: background var(--color-transition)
}

@media (max-width: 419px) {
    .theme-hope-content>div[class*=language-] {
        margin:.85rem -1.5rem;
        border-radius: 0
    }
}

div[class*=language-]:before {
    content: attr(data-ext);
    position: absolute;
    top: 0;
    right: 1em;
    z-index: 3;
    color: var(--code-line-color);
    font-size: .75rem;
    transition: color var(--color-transition)
}

div[class*=language-] pre {
    position: relative;
    z-index: 1;
    scrollbar-gutter: stable
}

div[class*=language-] .highlight-lines {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1rem 0;
    line-height: 1.375;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

div[class*=language-] .highlight-line {
    background: var(--code-highlight-line-color);
    transition: background var(--color-transition)
}

div[class*=language-].line-numbers-mode:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: var(--line-numbers-width);
    border-right: 1px solid var(--code-highlight-line-color);
    border-radius: 6px 0 0 6px;
    transition: border-color var(--color-transition)
}

@media (max-width: 419px) {
    div[class*=language-].line-numbers-mode:after {
        border-radius:0
    }
}

@media print {
    div[class*=language-].line-numbers-mode:after {
        display: none
    }
}

div[class*=language-].line-numbers-mode .highlight-line {
    position: relative
}

div[class*=language-].line-numbers-mode .highlight-line:before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    display: block;
    width: var(--line-numbers-width);
    height: 100%
}

div[class*=language-].line-numbers-mode pre {
    vertical-align: middle;
    margin-left: var(--line-numbers-width);
    padding-left: .5rem
}

@media print {
    div[class*=language-].line-numbers-mode pre {
        margin-left: 0;
        padding-left: 1rem
    }
}

div[class*=language-].line-numbers-mode .line-numbers {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    width: var(--line-numbers-width);
    padding: 1rem 0;
    color: var(--code-line-color);
    counter-reset: line-number;
    text-align: center;
    transition: color var(--color-transition)
}

@media print {
    div[class*=language-].line-numbers-mode .line-numbers {
        display: none
    }
}

div[class*=language-].line-numbers-mode .line-number {
    position: relative;
    z-index: 4;
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

div[class*=language-].line-numbers-mode .line-number:before {
    content: counter(line-number);
    display: block;
    font-size: .8em;
    line-height: 1;
    counter-increment: line-number
}

div[class*=language-]:not(.line-numbers-mode) .line-numbers {
    display: none
}

html[data-theme=light] #app {
    --code-color: #383a42;
    --code-line-color: rgba(56, 58, 66, .67);
    --code-bg-color: #ecf4fa;
    --code-border-color: #c3def3;
    --code-highlight-line-color: #d8e9f6
}

html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-] {
    -moz-tab-size: 2;
    -o-tab-size: 2;
    tab-size: 2
}

html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection {
    background: #e5e5e6;
    color: inherit
}

html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection {
    background: #e5e5e6;
    color: inherit
}

html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata {
    color: #a0a1a7
}

html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity {
    color: #383a42
}

html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule {
    color: #b76b01
}

html[data-theme=light] .token.keyword {
    color: #a626a4
}

html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important {
    color: #e45649
}

html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation {
    color: #50a14f
}

html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function {
    color: #4078f2
}

html[data-theme=light] .token.url {
    color: #0184bc
}

html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css {
    color: #383a42
}

html[data-theme=light] .language-css .token.selector {
    color: #e45649
}

html[data-theme=light] .language-css .token.property {
    color: #383a42
}

html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function {
    color: #0184bc
}

html[data-theme=light] .language-css .token.url>.token.string.url {
    color: #50a14f
}

html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator {
    color: #a626a4
}

html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation {
    color: #ca1243
}

html[data-theme=light] .language-json .token.operator {
    color: #383a42
}

html[data-theme=light] .language-json .token.null.keyword {
    color: #b76b01
}

html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string {
    color: #383a42
}

html[data-theme=light] .language-markdown .token.url>.token.content {
    color: #4078f2
}

html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url {
    color: #0184bc
}

html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation {
    color: #a0a1a7;
    font-style: italic
}

html[data-theme=light] .language-markdown .token.code-snippet {
    color: #50a14f
}

html[data-theme=light] .language-markdown .token.bold .token.content {
    color: #b76b01
}

html[data-theme=light] .language-markdown .token.italic .token.content {
    color: #a626a4
}

html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation {
    color: #e45649
}

html[data-theme=light] .token.bold {
    font-weight: 700
}

html[data-theme=light] .token.comment,html[data-theme=light] .token.italic {
    font-style: italic
}

html[data-theme=light] .token.entity {
    cursor: help
}

html[data-theme=light] .token.namespace {
    opacity: .8
}

html[data-theme=dark] #app {
    --code-color: #abb2bf;
    --code-line-color: rgba(171, 178, 191, .67);
    --code-bg-color: #282c34;
    --code-border-color: #343e51;
    --code-highlight-line-color: #2f3542
}

html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-] {
    text-shadow: 0 1px rgba(0,0,0,.3);
    -moz-tab-size: 2;
    -o-tab-size: 2;
    tab-size: 2
}

@media print {
    html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-] {
        text-shadow: none
    }
}

html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection {
    background: #3e4451;
    color: inherit;
    text-shadow: none
}

html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection {
    background: #3e4451;
    color: inherit;
    text-shadow: none
}

html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata {
    color: #5c6370
}

html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity {
    color: #abb2bf
}

html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule {
    color: #d19a66
}

html[data-theme=dark] .token.keyword {
    color: #c678dd
}

html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important {
    color: #e06c75
}

html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation {
    color: #98c379
}

html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function {
    color: #61afef
}

html[data-theme=dark] .token.url {
    color: #56b6c2
}

html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css {
    color: #abb2bf
}

html[data-theme=dark] .language-css .token.selector {
    color: #e06c75
}

html[data-theme=dark] .language-css .token.property {
    color: #abb2bf
}

html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function {
    color: #56b6c2
}

html[data-theme=dark] .language-css .token.url>.token.string.url {
    color: #98c379
}

html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator {
    color: #c678dd
}

html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation {
    color: #be5046
}

html[data-theme=dark] .language-json .token.operator {
    color: #abb2bf
}

html[data-theme=dark] .language-json .token.null.keyword {
    color: #d19a66
}

html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string {
    color: #abb2bf
}

html[data-theme=dark] .language-markdown .token.url>.token.content {
    color: #61afef
}

html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url {
    color: #56b6c2
}

html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation {
    color: #5c6370;
    font-style: italic
}

html[data-theme=dark] .language-markdown .token.code-snippet {
    color: #98c379
}

html[data-theme=dark] .language-markdown .token.bold .token.content {
    color: #d19a66
}

html[data-theme=dark] .language-markdown .token.italic .token.content {
    color: #c678dd
}

html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation {
    color: #e06c75
}

html[data-theme=dark] .token.bold {
    font-weight: 700
}

html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic {
    font-style: italic
}

html[data-theme=dark] .token.entity {
    cursor: help
}

html[data-theme=dark] .token.namespace {
    opacity: .8
}

.sr-only {
    position: absolute;
    overflow: hidden;
    clip: rect(0,0,0,0);
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border-width: 0;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

@media print {
    .theme-hope-content {
        margin: 0!important;
        padding-inline:0!important}
}

.theme-hope-content.custom {
    margin: 0;
    padding: 0
}

.theme-hope-content:not(.custom) {
    max-width: var(--content-width, 740px);
    margin: 0 auto;
    padding: 2rem 2.5rem;
    padding-top: 0
}

@media (max-width: 959px) {
    .theme-hope-content:not(.custom) {
        padding:1.5rem
    }
}

@media (max-width: 419px) {
    .theme-hope-content:not(.custom) {
        padding:1rem 1.5rem
    }
}

@media print {
    .theme-hope-content:not(.custom) {
        max-width: unset
    }
}

.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6 {
    margin-top: calc(.5rem - var(--navbar-height));
    margin-bottom: .5rem;
    padding-top: calc(1rem + var(--navbar-height));
    outline: none
}

.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6 {
    margin-top: 1.5rem;
    padding-top: 0
}

.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p {
    text-align: justify;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto
}

@media (max-width: 419px) {
    .theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p {
        text-align:start
    }
}

@media print {
    .theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p {
        text-align: start
    }
}

.theme-hope-content a:hover {
    text-decoration: underline
}

.theme-hope-content img {
    max-width: 100%
}

::view-transition-old(root),::view-transition-new(root) {
    animation: none;
    mix-blend-mode: normal
}

html[data-theme=light]::view-transition-old(root),html[data-theme=dark]::view-transition-new(root) {
    z-index: 1
}

html[data-theme=light]::view-transition-new(root),html[data-theme=dark]::view-transition-old(root) {
    z-index: 99999
}

@media (min-width: 1280px) {
    .chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar {
        width:8px;
        height: 8px
    }

    .chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece {
        border-radius: 8px;
        background: rgba(0,0,0,.1)
    }
}

html[dir=rtl] a.header-anchor {
    float: right
}

#docsearch-container {
    min-width: 145.7px!important
}

@media (max-width: 959px) {
    #docsearch-container {
        min-width:36px!important
    }
}

.DocSearch.DocSearch-Button {
    margin-left: 0
}

@media (max-width: 959px) {
    .DocSearch.DocSearch-Button {
        min-width:36px!important
    }
}

.DocSearch .DocSearch-Button-Placeholder {
    display: inline-block;
    padding: 4px 12px 4px 6px;
    font-size: 14px
}

@media (max-width: 719px) {
    .DocSearch .DocSearch-Button-Placeholder {
        display:none
    }
}

.DocSearch .DocSearch-Search-Icon {
    width: 1.25em;
    height: 1.25em
}

@media (max-width: 959px) {
    .DocSearch .DocSearch-Button-Keys {
        display:none
    }
}

.DocSearch .DocSearch-Button-Key {
    background: var(--bg-color);
    box-shadow: none
}

:root {
    scrollbar-width: thin
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px
}

::-webkit-scrollbar-track-piece {
    border-radius: 6px;
    background: rgba(0,0,0,.1)
}

::-webkit-scrollbar-thumb {
    border-radius: 6px;
    background: var(--theme-color)
}

::-webkit-scrollbar-thumb:active {
    background: var(--theme-color-light)
}

@media (max-width: 719px) {
    .hide-in-mobile {
        display:none!important
    }
}

@media (max-width: 959px) {
    .hide-in-pad {
        display:none!important
    }
}

:root {
    --banner-text: #111;
    --bg-2: url(https://theme-hope-assets.vuejs.press/bg/2-light.svg);
    --bg-9: url(https://theme-hope-assets.vuejs.press/bg/9-light.svg) no-repeat center/cover;
    --bg-10: url(https://theme-hope-assets.vuejs.press/bg/10-light.svg) no-repeat center/cover;
    --bg-10-inverse: url(https://theme-hope-assets.vuejs.press/bg/10-dark.svg) no-repeat center/cover
}

html[data-theme=dark] {
    --banner-text: #eee;
    --bg-2: url(https://theme-hope-assets.vuejs.press/bg/2-dark.svg);
    --bg-9: url(https://theme-hope-assets.vuejs.press/bg/9-dark.svg) no-repeat center/cover;
    --bg-10: url(https://theme-hope-assets.vuejs.press/bg/10-dark.svg) no-repeat center/cover;
    --bg-10-inverse: url(https://theme-hope-assets.vuejs.press/bg/10-light.svg) no-repeat center/cover
}

.home .vp-hero-info-wrapper {
    min-height: 600px
}

.catalog-display-container {
    overflow: visible auto;
    max-height: 75vh;
    margin: .5rem;
    border-radius: .5rem;
    overflow-wrap: break-word
}

.plugins-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.plugin-item {
    margin: 8px 12px;
    padding: 12px 16px;
    border-radius: 8px;
    background: var(--bg-color-secondary);
    color: inherit;
    font-size: 18px;
    text-align: center;
    text-decoration: none!important
}

.plugin-item .font-icon {
    margin-bottom: 4px;
    color: var(--vp-tc);
    font-size: 1.5em
}

.plugin-item:hover {
    box-shadow: 0 2px 12px 0 var(--card-shadow)
}

.lang-modal-fade-enter-active,.lang-modal-fade-leave-active {
    transition: opacity .5s
}

.lang-modal-fade-enter,.lang-modal-fade-leave-to {
    opacity: 0
}

.lang-modal-mask {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1499;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px)
}

@media print {
    .lang-modal-mask {
        display: none
    }
}

.lang-modal-wrapper {
    position: fixed;
    top: 50vh;
    right: 50vw;
    left: unset;
    z-index: 1500;
    overflow: hidden;
    max-width: 80vw;
    padding: 1rem 2rem;
    border-radius: 8px;
    background: var(--vp-bg);
    box-shadow: 0 2px 6px 0 var(--card-shadow);
    transform: translate(50%,-50%)
}

@media print {
    .lang-modal-wrapper {
        display: none
    }
}

.lang-modal-action {
    display: block;
    width: 100%;
    margin: 1rem 0;
    padding: .5rem .75rem;
    border: none;
    border-radius: 8px;
    background-color: var(--vp-bglt);
    color: var(--vp-c);
    cursor: pointer
}

.lang-modal-action:hover {
    background-color: var(--vp-bgl)
}

.lang-modal-action.primary {
    background-color: var(--vp-tc);
    color: var(--white)
}

.lang-modal-action.primary:hover {
    background-color: var(--vp-tcl)
}

.bing-switch {
    position: absolute!important;
    bottom: .75rem;
    inset-inline-end: .75rem;
    z-index: 5!important;
    display: flex;
    align-items: center;
    color: #eee
}

.bing-switch-prev:after {
    transform: scale(.25) translate(25%) rotate(45deg)
}

html[dir=rtl] .bing-switch-prev:after {
    transform: scale(.25) translate(-25%) rotate(225deg)
}

.bing-switch-next:after {
    transform: scale(.25) translate(-25%) rotate(225deg)
}

html[dir=rtl] .bing-switch-next:after {
    transform: scale(.25) translate(25%) rotate(45deg)
}

.bing-switch-prev,.bing-switch-next {
    position: relative;
    width: 2.5rem;
    height: 2.5rem;
    margin-inline-start:.25rem;border: none;
    border-radius: .375rem;
    background: rgba(0,0,0,.4)
}

.bing-switch-prev:hover,.bing-switch-next:hover {
    cursor: pointer
}

.bing-switch-prev:after,.bing-switch-next:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border-bottom: .5rem solid rgba(255,255,255,.8);
    border-left: .5rem solid rgba(255,255,255,.8);
    border-radius: .5rem
}

.bing-switch-prev[disabled]:hover,.bing-switch-next[disabled]:hover {
    cursor: not-allowed
}

.bing-switch-prev[disabled]:after,.bing-switch-next[disabled]:after {
    border-color: #cccc
}

.bing-location {
    display: inline-block;
    padding: 0 .75rem;
    border-radius: .375rem;
    background-color: #0006;
    line-height: 2.5rem;
    cursor: pointer
}

.bing-location-icon {
    background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M6.5 3A1.5 1.5 0 1 0 8 4.5 1.5 1.5 0 0 0 6.5 3zm0-3A4.5 4.5 0 0 0 2 4.5a5.607 5.607 0 0 0 .087.873c.453 2.892 2.951 5.579 3.706 6.334a1 1 0 0 0 1.414 0c.755-.755 3.253-3.442 3.706-6.334A5.549 5.549 0 0 0 11 4.5 4.5 4.5 0 0 0 6.5 0zm3.425 5.218C9.565 7.514 7.632 9.868 6.5 11 5.369 9.868 3.435 7.514 3.075 5.218A4.694 4.694 0 0 1 3 4.5a3.5 3.5 0 0 1 7 0 4.634 4.634 0 0 1-.075.718z' fill='%23fff'/%3E%3C/svg%3E");
    display: inline-block;
    vertical-align: middle;
    width: 1rem;
    height: 1rem;
    margin-inline-end:.5rem;line-height: 1
}

.bing-info {
    position: absolute;
    inset: auto 0 calc(100% + 4px);
    z-index: 200;
    padding: .5rem;
    border-radius: .375rem;
    background-color: #00000080;
    font-weight: 400;
    font-family: var(--font-family);
    line-height: 1.25;
    cursor: default;
    transition: opacity var(--vp-tt)
}

.bing-info hr {
    border-color: #eee
}

.bing-info-header {
    color: inherit;
    font-weight: 600;
    font-size: 1.1em
}

.bing-info-body {
    font-size: .9em
}

.bing-info-copyright {
    padding: .5rem .25rem;
    color: #aaa;
    font-size: .8em
}

@keyframes typing {
    0%,to {
        opacity: 1
    }

    50% {
        opacity: 0
    }
}

.hitokoto {
    margin: 1.2rem auto 0;
    color: #eee;
    font-weight: 600
}

.hitokoto-text {
    position: relative;
    padding: 1rem 2.5rem;
    text-align: center
}

.hitokoto-text:before {
    content: "『";
    position: absolute;
    top: 0;
    inset-inline-start: 0
}

.hitokoto-text:after {
    content: "』";
    position: absolute;
    bottom: 0;
    inset-inline-end: 0
}

.hitokoto-text span {
    position: relative;
    display: inline-block;
    font-size: 1.8rem
}

.hitokoto-text span:after {
    content: "|";
    font-size: 1.3rem;
    animation: typing .8s infinite
}

.hitokoto-author {
    margin-top: 1rem;
    font-weight: 400;
    font-style: italic;
    font-size: 1.2rem;
    text-align: end;
    transition: opacity var(--vp-ct)
}

.blog-page-wrapper.custom {
    direction: rtl
}

.blog-page-wrapper.custom>*>* {
    direction: ltr
}

.slot-demo-inline[data-v-ed6b8821] {
    display: inline-block;
    background-color: var(--bg-color-tertiary);
    border-radius: .5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    width: 2rem;
    height: 2rem;
    margin: .25em
}

.slot-demo-block[data-v-ed6b8821] {
    background-color: var(--bg-color-tertiary);
    border-radius: .5rem;
    padding: 1rem 2rem;
    margin: .5rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    color: var(--text-color-light)
}

.vp-project-home .vp-feature-item {
    position: relative;
    overflow: hidden
}

.vp-project-home .vp-feature-item:before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 300%;
    height: 300%;
    background: rgba(255,255,255,.5);
    transition: transform .6s;
    transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-125%,0)
}

@media print {
    .vp-project-home .vp-feature-item:before {
        display: none
    }
}

html[data-theme=dark] .vp-project-home .vp-feature-item:before {
    background: rgba(255,255,255,.15)
}

html[dir=rtl] .vp-project-home .vp-feature-item:before {
    transform: scale3d(-1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-125%,0)
}

.vp-project-home .vp-feature-item:hover:before {
    transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,125%,0)
}

html[dir=rtl] .vp-project-home .vp-feature-item:hover:before {
    transform: scale3d(-1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,125%,0)
}

.lora[data-v-a2b83c63] {
    font-family: Lora,serif;
    font-weight: 700;
    font-size: 1.5rem
}

.lora h2[data-v-a2b83c63] {
    font-weight: 700;
    font-style: italic;
    font-size: 2.5rem
}

.icon-display-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0
}

.icon-display-wrapper .icon {
    box-sizing: border-box;
    width: 20%;
    padding: 1rem .5rem;
    border-radius: .375rem;
    text-align: center
}

@media (max-width: 719px) {
    .icon-display-wrapper .icon {
        width:25%
    }
}

@media (max-width: 419px) {
    .icon-display-wrapper .icon {
        width:33.333%
    }
}

.icon-display-wrapper .icon:hover {
    background: var(--bg-color-light);
    cursor: pointer
}

.icon-display-wrapper .icon .iconfont {
    color: var(--dark-grey);
    font-size: 2rem
}

.icon-display-wrapper .icon .text {
    margin-top: 10px;
    font-size: 14px
}

.toggle-rtl-button {
    border-width: 0;
    background: transparent;
    cursor: pointer;
    color: var(--text-color)
}

.noto-serif[data-v-cf349981] {
    font-family: "Noto Serif SC",serif;
    font-weight: 600;
    font-size: 1.5rem
}

.noto-serif h2[data-v-cf349981] {
    font-weight: 900;
    font-size: 2.5rem
}

.image-preview {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap
}

.image-preview>img {
    box-sizing: border-box;
    width: 33.3%!important;
    padding: 9px;
    border-radius: 16px
}

@media (max-width: 719px) {
    .image-preview>img {
        width:50%!important
    }
}

@media (max-width: 419px) {
    .image-preview>img {
        width:100%!important
    }
}

.block,.break,.horizontal,.image,.inline-code,.list-wrapper,.list-item,.nested,.inline-emphasis,.inline-bold,.md-table,.fence {
    margin: 4px;
    padding: 4px;
    border: 1px solid red
}

.CodeMirror-dialog {
    position: absolute;
    left: 0;
    right: 0;
    background: inherit;
    z-index: 15;
    padding: .1em .8em;
    overflow: hidden;
    color: inherit
}

.CodeMirror-dialog-top {
    border-bottom: 1px solid #eee;
    top: 0
}

.CodeMirror-dialog-bottom {
    border-top: 1px solid #eee;
    bottom: 0
}

.CodeMirror-dialog input {
    border: none;
    outline: none;
    background: transparent;
    width: 20em;
    color: inherit;
    font-family: monospace
}

.CodeMirror-dialog button {
    font-size: 70%
}

.CodeMirror {
    color: var(--symbols);
    --symbols: #777;
    --base: #545281;
    --comment: hsl(210, 25%, 60%);
    --keyword: #af4ab1;
    --variable: var(--base);
    --function: #c25205;
    --string: #2ba46d;
    --number: #c25205;
    --tags: #dd0000;
    --brackets: var(--comment);
    --qualifier: #ff6032;
    --important: var(--string);
    --attribute: #9c3eda;
    --property: #6182b8;
    --selected-bg: #d7d4f0;
    --selected-bg-non-focus: #d9d9d9;
    --cursor: #000;
    direction: ltr;
    font-family: var(--font-code);
    height: auto
}

.dark .CodeMirror {
    color: var(--symbols);
    --symbols: #89ddff;
    --base: #a6accd;
    --comment: #6d6d6d;
    --keyword: #89ddff;
    --string: #c3e88d;
    --variable: #82aaff;
    --number: #f78c6c;
    --tags: #f07178;
    --brackets: var(--symbols);
    --property: #f07178;
    --attribute: #c792ea;
    --cursor: #fff;
    --selected-bg: rgba(255, 255, 255, .1);
    --selected-bg-non-focus: rgba(255, 255, 255, .15)
}

.CodeMirror-lines {
    padding: 4px 0
}

.CodeMirror pre {
    padding: 0 4px
}

.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler {
    background-color: #fff
}

.CodeMirror-gutters {
    border-right: 1px solid var(--border);
    background-color: transparent;
    white-space: nowrap
}

.CodeMirror-linenumber {
    padding: 0 3px 0 5px;
    min-width: 20px;
    text-align: right;
    color: var(--comment);
    white-space: nowrap;
    opacity: .6
}

.CodeMirror-guttermarker {
    color: #000
}

.CodeMirror-guttermarker-subtle {
    color: #999
}

.CodeMirror-foldmarker {
    color: #414141;
    text-shadow: #ff9966 1px 1px 2px,#ff9966 -1px -1px 2px,#ff9966 1px -1px 2px,#ff9966 -1px 1px 2px;
    font-family: arial;
    line-height: .3;
    cursor: pointer
}

.CodeMirror-foldgutter {
    width: .7em
}

.CodeMirror-foldgutter-open,.CodeMirror-foldgutter-folded {
    cursor: pointer
}

.CodeMirror-foldgutter-open:after,.CodeMirror-foldgutter-folded:after {
    content: ">";
    font-size: .8em;
    opacity: .8;
    transition: transform .2s;
    display: inline-block;
    top: -.1em;
    position: relative;
    transform: rotate(90deg)
}

.CodeMirror-foldgutter-folded:after {
    transform: none
}

.CodeMirror-cursor {
    border-left: 1px solid var(--cursor);
    border-right: none;
    width: 0
}

.CodeMirror div.CodeMirror-secondarycursor {
    border-left: 1px solid silver
}

.cm-fat-cursor .CodeMirror-cursor {
    width: auto;
    border: 0!important;
    background: #7e7
}

.cm-fat-cursor div.CodeMirror-cursors {
    z-index: 1
}

.cm-fat-cursor-mark {
    background-color: #14ff1480;
    animation: blink 1.06s steps(1) infinite
}

.cm-animate-fat-cursor {
    width: auto;
    border: 0;
    animation: blink 1.06s steps(1) infinite;
    background-color: #7e7
}

@keyframes blink {
    50% {
        background-color: transparent
    }
}

.cm-tab {
    display: inline-block;
    text-decoration: inherit
}

.CodeMirror-rulers {
    position: absolute;
    left: 0;
    right: 0;
    top: -50px;
    bottom: -20px;
    overflow: hidden
}

.CodeMirror-ruler {
    border-left: 1px solid #ccc;
    top: 0;
    bottom: 0;
    position: absolute
}

.cm-s-default.CodeMirror {
    background-color: transparent
}

.cm-s-default .cm-header {
    color: #00f
}

.cm-s-default .cm-quote {
    color: #090
}

.cm-negative {
    color: #d44
}

.cm-positive {
    color: #292
}

.cm-header,.cm-strong {
    font-weight: 700
}

.cm-em {
    font-style: italic
}

.cm-link {
    text-decoration: underline
}

.cm-strikethrough {
    text-decoration: line-through
}

.cm-s-default .cm-atom,.cm-s-default .cm-def,.cm-s-default .cm-variable-2,.cm-s-default .cm-variable-3,.cm-s-default .cm-punctuation {
    color: var(--base)
}

.cm-s-default .cm-property {
    color: var(--property)
}

.cm-s-default .cm-hr,.cm-s-default .cm-comment {
    color: var(--comment)
}

.cm-s-default .cm-attribute {
    color: var(--attribute)
}

.cm-s-default .cm-keyword {
    color: var(--keyword)
}

.cm-s-default .cm-variable {
    color: var(--variable)
}

.cm-s-default .cm-tag {
    color: var(--tags)
}

.cm-s-default .cm-bracket {
    color: var(--brackets)
}

.cm-s-default .cm-number {
    color: var(--number)
}

.cm-s-default .cm-string,.cm-s-default .cm-string-2 {
    color: var(--string)
}

.cm-s-default .cm-type {
    color: #ffd000
}

.cm-s-default .cm-meta {
    color: #555
}

.cm-s-default .cm-qualifier {
    color: var(--qualifier)
}

.cm-s-default .cm-builtin {
    color: #7539ff
}

.cm-s-default .cm-link {
    color: var(--flash)
}

.cm-s-default .cm-error,.cm-invalidchar {
    color: #ff008c
}

.CodeMirror-composing {
    border-bottom: 2px solid
}

div.CodeMirror span.CodeMirror-matchingbracket {
    color: #0b0
}

div.CodeMirror span.CodeMirror-nonmatchingbracket {
    color: #a22
}

.CodeMirror-matchingtag {
    background: rgba(255,150,0,.3)
}

.CodeMirror-activeline-background {
    background: #e8f2ff
}

.CodeMirror {
    position: relative;
    overflow: hidden;
    background: white
}

.CodeMirror-scroll {
    overflow: scroll!important;
    margin-bottom: -30px;
    margin-right: -30px;
    padding-bottom: 30px;
    height: 100%;
    outline: none;
    position: relative
}

.CodeMirror-sizer {
    position: relative;
    border-right: 30px solid transparent
}

.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler {
    position: absolute;
    z-index: 6;
    display: none
}

.CodeMirror-vscrollbar {
    right: 0;
    top: 0;
    overflow-x: hidden;
    overflow-y: scroll
}

.CodeMirror-hscrollbar {
    bottom: 0;
    left: 0;
    overflow-y: hidden;
    overflow-x: scroll
}

.CodeMirror-scrollbar-filler {
    right: 0;
    bottom: 0
}

.CodeMirror-gutter-filler {
    left: 0;
    bottom: 0
}

.CodeMirror-gutters {
    position: absolute;
    left: 0;
    top: 0;
    min-height: 100%;
    z-index: 3
}

.CodeMirror-gutter {
    white-space: normal;
    height: 100%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: -30px
}

.CodeMirror-gutter-wrapper {
    position: absolute;
    z-index: 4;
    background: none!important;
    border: none!important
}

.CodeMirror-gutter-background {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 4
}

.CodeMirror-gutter-elt {
    position: absolute;
    cursor: default;
    z-index: 4
}

.CodeMirror-gutter-wrapper ::selection {
    background-color: transparent
}

.CodeMirror-gutter-wrapper ::-moz-selection {
    background-color: transparent
}

.CodeMirror-lines {
    cursor: text;
    min-height: 1px
}

.CodeMirror pre {
    border-radius: 0;
    border-width: 0;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    margin: 0;
    white-space: pre;
    word-wrap: normal;
    line-height: inherit;
    color: inherit;
    z-index: 2;
    position: relative;
    overflow: visible;
    -webkit-tap-highlight-color: transparent;
    font-variant-ligatures: contextual
}

.CodeMirror-wrap pre {
    word-wrap: break-word;
    white-space: pre-wrap;
    word-break: normal
}

.CodeMirror-linebackground {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0
}

.CodeMirror-linewidget {
    position: relative;
    z-index: 2;
    padding: .1px
}

.CodeMirror-rtl pre {
    direction: rtl
}

.CodeMirror-code {
    outline: none
}

.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber {
    box-sizing: content-box
}

.CodeMirror-measure {
    position: absolute;
    width: 100%;
    height: 0;
    overflow: hidden;
    visibility: hidden
}

.CodeMirror-cursor {
    position: absolute;
    pointer-events: none
}

.CodeMirror-measure pre {
    position: static
}

div.CodeMirror-cursors {
    visibility: hidden;
    position: relative;
    z-index: 3
}

div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors {
    visibility: visible
}

.CodeMirror-selected {
    background: var(--selected-bg-non-focus)
}

.CodeMirror-focused .CodeMirror-selected {
    background: var(--selected-bg)
}

.CodeMirror-crosshair {
    cursor: crosshair
}

.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection {
    background: var(--selected-bg)
}

.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection {
    background: var(--selected-bg)
}

.cm-searching {
    background-color: #ffa;
    background-color: #ff06
}

.cm-force-border {
    padding-right: .1px
}

@media print {
    .CodeMirror div.CodeMirror-cursors {
        visibility: hidden
    }
}

.cm-tab-wrap-hack:after {
    content: ""
}

span.CodeMirror-selectedtext {
    background: none
}

.CodeMirror-dialog {
    background-color: var(--bg)
}

.editor {
    position: relative;
    height: 100%;
    width: 100%;
    overflow: hidden
}

.CodeMirror {
    font-family: var(--font-code);
    line-height: 1.5;
    height: 100%
}

/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */
:root {
    --docsearch-primary-color: #5468ff;
    --docsearch-text-color: #1c1e21;
    --docsearch-spacing: 12px;
    --docsearch-icon-stroke-width: 1.4;
    --docsearch-highlight-color: var(--docsearch-primary-color);
    --docsearch-muted-color: #969faf;
    --docsearch-container-background: rgba(101,108,133,.8);
    --docsearch-logo-color: #5468ff;
    --docsearch-modal-width: 560px;
    --docsearch-modal-height: 600px;
    --docsearch-modal-background: #f5f6f7;
    --docsearch-modal-shadow: inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;
    --docsearch-searchbox-height: 56px;
    --docsearch-searchbox-background: #ebedf0;
    --docsearch-searchbox-focus-background: #fff;
    --docsearch-searchbox-shadow: inset 0 0 0 2px var(--docsearch-primary-color);
    --docsearch-hit-height: 56px;
    --docsearch-hit-color: #444950;
    --docsearch-hit-active-color: #fff;
    --docsearch-hit-background: #fff;
    --docsearch-hit-shadow: 0 1px 3px 0 #d4d9e1;
    --docsearch-key-gradient: linear-gradient(-225deg,#d5dbe4,#f8f8f8);
    --docsearch-key-shadow: inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);
    --docsearch-footer-height: 44px;
    --docsearch-footer-background: #fff;
    --docsearch-footer-shadow: 0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)
}

html[data-theme=dark] {
    --docsearch-text-color: #f5f6f7;
    --docsearch-container-background: rgba(9,10,17,.8);
    --docsearch-modal-background: #15172a;
    --docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;
    --docsearch-searchbox-background: #090a11;
    --docsearch-searchbox-focus-background: #000;
    --docsearch-hit-color: #bec3c9;
    --docsearch-hit-shadow: none;
    --docsearch-hit-background: #090a11;
    --docsearch-key-gradient: linear-gradient(-26.5deg,#565872,#31355b);
    --docsearch-key-shadow: inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);
    --docsearch-footer-background: #1e2136;
    --docsearch-footer-shadow: inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);
    --docsearch-logo-color: #fff;
    --docsearch-muted-color: #7f8497
}

.DocSearch-Button {
    align-items: center;
    background: var(--docsearch-searchbox-background);
    border: 0;
    border-radius: 40px;
    color: var(--docsearch-muted-color);
    cursor: pointer;
    display: flex;
    font-weight: 500;
    height: 36px;
    justify-content: space-between;
    margin: 0 0 0 16px;
    padding: 0 8px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover {
    background: var(--docsearch-searchbox-focus-background);
    box-shadow: var(--docsearch-searchbox-shadow);
    color: var(--docsearch-text-color);
    outline: none
}

.DocSearch-Button-Container {
    align-items: center;
    display: flex
}

.DocSearch-Search-Icon {
    stroke-width: 1.6
}

.DocSearch-Button .DocSearch-Search-Icon {
    color: var(--docsearch-text-color)
}

.DocSearch-Button-Placeholder {
    font-size: 1rem;
    padding: 0 12px 0 6px
}

.DocSearch-Button-Keys {
    display: flex;
    min-width: calc(40px + .8em)
}

.DocSearch-Button-Key {
    align-items: center;
    background: var(--docsearch-key-gradient);
    border-radius: 3px;
    box-shadow: var(--docsearch-key-shadow);
    color: var(--docsearch-muted-color);
    display: flex;
    height: 18px;
    justify-content: center;
    margin-right: .4em;
    position: relative;
    padding: 0 0 2px;
    border: 0;
    top: -1px;
    width: 20px
}

@media (max-width: 768px) {
    .DocSearch-Button-Keys,.DocSearch-Button-Placeholder {
        display:none
    }
}

.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 {
    -webkit-appearance: none;
    -moz-appearance: none;
    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 {
    -webkit-appearance: none;
    -moz-appearance: none;
    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::-moz-placeholder {
    color: var(--docsearch-muted-color);
    opacity: 1
}

.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;
        -webkit-appearance: none;
        -moz-appearance: 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;
    -webkit-appearance: none;
    -moz-appearance: none;
    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;
    -webkit-user-select: none;
    -moz-user-select: none;
    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 {
    -webkit-appearance: none;
    -moz-appearance: none;
    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: rgba(0,0,0,.2);
    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: rgba(0,0,0,.2);
        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 {
    -webkit-appearance: none;
    -moz-appearance: none;
    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;
    -webkit-user-select: none;
    -moz-user-select: none;
    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 {
        -webkit-appearance: none;
        -moz-appearance: none;
        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;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        white-space: nowrap
    }

    .DocSearch-Commands,.DocSearch-Hit-Tree {
        display: none
    }
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@media (min-width: 751px) {
    #docsearch-container {
        min-width:171.36px
    }
}

@media (max-width: 750px) {
    .DocSearch-Container {
        position:fixed
    }

    #docsearch-container {
        min-width: 52px
    }
}

@media print {
    #docsearch-container {
        display: none
    }
}

.flowchart-playground textarea {
    width: 100%;
    min-height: 240px;
    border-color: var(--border-color);
    border-radius: .5rem;
    background: var(--bg-color-light);
    color: var(--text-color);
    font-size: 18px;
    resize: vertical
}

.flowchart-playground textarea:active,.flowchart-playground textarea:focus-visible {
    background: var(--bg-color-secondary);
    outline: 1px solid var(--light-grey)
}

.flowchart-playground label {
    margin-inline-end:1em;font-weight: 500;
    line-height: 1.5
}

.flowchart-playground select {
    border-radius: .25rem;
    font-size: 1rem
}

@font-face {
    font-family: KaTeX_AMS;
    src: url(/assets/KaTeX_AMS-Regular-UIXRTGNW.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-zJvWDgGp.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-0YIAJWTb.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Caligraphic;
    src: url(/assets/KaTeX_Caligraphic-Bold-6vyEfazt.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-RIlxi71x.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-AE18XbF9.ttf) format("truetype");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Caligraphic;
    src: url(/assets/KaTeX_Caligraphic-Regular-4uo0fsfh.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-k0QPq0y-.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-MF_e1AYw.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Fraktur;
    src: url(/assets/KaTeX_Fraktur-Bold-i-oP291Y.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-bAz-dThZ.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-XZxETTVq.ttf) format("truetype");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Fraktur;
    src: url(/assets/KaTeX_Fraktur-Regular-k2IhepQP.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-8XXOHEfX.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-gf8Lq3rE.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Main;
    src: url(/assets/KaTeX_Main-Bold-sffOiHVw.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-CZtwCMuf.woff) format("woff"),url(/assets/KaTeX_Main-Bold-MGqDlVzd.ttf) format("truetype");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Main;
    src: url(/assets/KaTeX_Main-BoldItalic-8QydwDku.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-EqUi0SPe.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-88TzJhul.ttf) format("truetype");
    font-weight: 700;
    font-style: italic
}

@font-face {
    font-family: KaTeX_Main;
    src: url(/assets/KaTeX_Main-Italic-DVgO3ulm.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-TCzgZvdR.woff) format("woff"),url(/assets/KaTeX_Main-Italic-N1npxqDf.ttf) format("truetype");
    font-weight: 400;
    font-style: italic
}

@font-face {
    font-family: KaTeX_Main;
    src: url(/assets/KaTeX_Main-Regular-dtjb4qKe.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-6_eCWgYQ.woff) format("woff"),url(/assets/KaTeX_Main-Regular-MqWbzbVV.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Math;
    src: url(/assets/KaTeX_Math-BoldItalic-mZ7zbAmZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-ImPtsMme.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-d10o37uD.ttf) format("truetype");
    font-weight: 700;
    font-style: italic
}

@font-face {
    font-family: KaTeX_Math;
    src: url(/assets/KaTeX_Math-Italic-LedwBEzP.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-wNP_z16f.woff) format("woff"),url(/assets/KaTeX_Math-Italic-H5Tq_9FA.ttf) format("truetype");
    font-weight: 400;
    font-style: italic
}

@font-face {
    font-family: KaTeX_SansSerif;
    src: url(/assets/KaTeX_SansSerif-Bold-9bFEtBg9.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-2yISjogg.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-hTHqZ76u.ttf) format("truetype");
    font-weight: 700;
    font-style: normal
}

@font-face {
    font-family: KaTeX_SansSerif;
    src: url(/assets/KaTeX_SansSerif-Italic-tx9FahgZ.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-Azdo-3Wm.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-GGIydc0p.ttf) format("truetype");
    font-weight: 400;
    font-style: italic
}

@font-face {
    font-family: KaTeX_SansSerif;
    src: url(/assets/KaTeX_SansSerif-Regular-wwQp5Se8.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-kun6lKiW.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-TaO4USHJ.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Script;
    src: url(/assets/KaTeX_Script-Regular-98CFnxev.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular--ckFYqpa.woff) format("woff"),url(/assets/KaTeX_Script-Regular-uSZBlqPg.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Size1;
    src: url(/assets/KaTeX_Size1-Regular-Jgg_JgPA.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-tfebZ-uE.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-27J7nvyK.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Size2;
    src: url(/assets/KaTeX_Size2-Regular-8uHcfdJu.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-KA9bXP1N.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-e4ClFoQr.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Size3;
    src: url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-k6uTKqBB.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-4KV7NJM_.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Size4;
    src: url(/assets/KaTeX_Size4-Regular-5eZcWcVX.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-RfuIJGSk.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-1hQb9ONy.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

@font-face {
    font-family: KaTeX_Typewriter;
    src: url(/assets/KaTeX_Typewriter-Regular-juq-IZ9c.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-tMUvZjwd.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-9yG-_x36.ttf) format("truetype");
    font-weight: 400;
    font-style: normal
}

.katex {
    font: 1.21em KaTeX_Main,Times New Roman,serif;
    line-height: 1.2;
    text-indent: 0;
    text-rendering: auto
}

.katex * {
    -ms-high-contrast-adjust: none!important
}

.katex * {
    border-color: currentColor
}

.katex .katex-version:after {
    content: "0.16.9"
}

.katex .katex-mathml {
    position: absolute;
    clip: rect(1px,1px,1px,1px);
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.katex .katex-html>.newline {
    display: block
}

.katex .base {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    width: -moz-min-content;
    width: min-content
}

.katex .strut {
    display: inline-block
}

.katex .textbf {
    font-weight: 700
}

.katex .textit {
    font-style: italic
}

.katex .textrm {
    font-family: KaTeX_Main
}

.katex .textsf {
    font-family: KaTeX_SansSerif
}

.katex .texttt {
    font-family: KaTeX_Typewriter
}

.katex .mathnormal {
    font-family: KaTeX_Math;
    font-style: italic
}

.katex .mathit {
    font-family: KaTeX_Main;
    font-style: italic
}

.katex .mathrm {
    font-style: normal
}

.katex .mathbf {
    font-family: KaTeX_Main;
    font-weight: 700
}

.katex .boldsymbol {
    font-family: KaTeX_Math;
    font-weight: 700;
    font-style: italic
}

.katex .amsrm,.katex .mathbb,.katex .textbb {
    font-family: KaTeX_AMS
}

.katex .mathcal {
    font-family: KaTeX_Caligraphic
}

.katex .mathfrak,.katex .textfrak {
    font-family: KaTeX_Fraktur
}

.katex .mathboldfrak,.katex .textboldfrak {
    font-family: KaTeX_Fraktur;
    font-weight: 700
}

.katex .mathtt {
    font-family: KaTeX_Typewriter
}

.katex .mathscr,.katex .textscr {
    font-family: KaTeX_Script
}

.katex .mathsf,.katex .textsf {
    font-family: KaTeX_SansSerif
}

.katex .mathboldsf,.katex .textboldsf {
    font-family: KaTeX_SansSerif;
    font-weight: 700
}

.katex .mathitsf,.katex .textitsf {
    font-family: KaTeX_SansSerif;
    font-style: italic
}

.katex .mainrm {
    font-family: KaTeX_Main;
    font-style: normal
}

.katex .vlist-t {
    display: inline-table;
    table-layout: fixed;
    border-collapse: collapse
}

.katex .vlist-r {
    display: table-row
}

.katex .vlist {
    display: table-cell;
    vertical-align: bottom;
    position: relative
}

.katex .vlist>span {
    display: block;
    height: 0;
    position: relative
}

.katex .vlist>span>span {
    display: inline-block
}

.katex .vlist>span>.pstrut {
    overflow: hidden;
    width: 0
}

.katex .vlist-t2 {
    margin-right: -2px
}

.katex .vlist-s {
    display: table-cell;
    vertical-align: bottom;
    font-size: 1px;
    width: 2px;
    min-width: 2px
}

.katex .vbox {
    display: inline-flex;
    flex-direction: column;
    align-items: baseline
}

.katex .hbox {
    display: inline-flex;
    flex-direction: row;
    width: 100%
}

.katex .thinbox {
    display: inline-flex;
    flex-direction: row;
    width: 0;
    max-width: 0
}

.katex .msupsub {
    text-align: left
}

.katex .mfrac>span>span {
    text-align: center
}

.katex .mfrac .frac-line {
    display: inline-block;
    width: 100%;
    border-bottom-style: solid
}

.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline,.katex .hdashline,.katex .rule {
    min-height: 1px
}

.katex .mspace {
    display: inline-block
}

.katex .llap,.katex .rlap,.katex .clap {
    width: 0;
    position: relative
}

.katex .llap>.inner,.katex .rlap>.inner,.katex .clap>.inner {
    position: absolute
}

.katex .llap>.fix,.katex .rlap>.fix,.katex .clap>.fix {
    display: inline-block
}

.katex .llap>.inner {
    right: 0
}

.katex .rlap>.inner,.katex .clap>.inner {
    left: 0
}

.katex .clap>.inner>span {
    margin-left: -50%;
    margin-right: 50%
}

.katex .rule {
    display: inline-block;
    border: solid 0;
    position: relative
}

.katex .overline .overline-line,.katex .underline .underline-line,.katex .hline {
    display: inline-block;
    width: 100%;
    border-bottom-style: solid
}

.katex .hdashline {
    display: inline-block;
    width: 100%;
    border-bottom-style: dashed
}

.katex .sqrt>.root {
    margin-left: .27777778em;
    margin-right: -.55555556em
}

.katex .sizing.reset-size1.size1,.katex .fontsize-ensurer.reset-size1.size1 {
    font-size: 1em
}

.katex .sizing.reset-size1.size2,.katex .fontsize-ensurer.reset-size1.size2 {
    font-size: 1.2em
}

.katex .sizing.reset-size1.size3,.katex .fontsize-ensurer.reset-size1.size3 {
    font-size: 1.4em
}

.katex .sizing.reset-size1.size4,.katex .fontsize-ensurer.reset-size1.size4 {
    font-size: 1.6em
}

.katex .sizing.reset-size1.size5,.katex .fontsize-ensurer.reset-size1.size5 {
    font-size: 1.8em
}

.katex .sizing.reset-size1.size6,.katex .fontsize-ensurer.reset-size1.size6 {
    font-size: 2em
}

.katex .sizing.reset-size1.size7,.katex .fontsize-ensurer.reset-size1.size7 {
    font-size: 2.4em
}

.katex .sizing.reset-size1.size8,.katex .fontsize-ensurer.reset-size1.size8 {
    font-size: 2.88em
}

.katex .sizing.reset-size1.size9,.katex .fontsize-ensurer.reset-size1.size9 {
    font-size: 3.456em
}

.katex .sizing.reset-size1.size10,.katex .fontsize-ensurer.reset-size1.size10 {
    font-size: 4.148em
}

.katex .sizing.reset-size1.size11,.katex .fontsize-ensurer.reset-size1.size11 {
    font-size: 4.976em
}

.katex .sizing.reset-size2.size1,.katex .fontsize-ensurer.reset-size2.size1 {
    font-size: .83333333em
}

.katex .sizing.reset-size2.size2,.katex .fontsize-ensurer.reset-size2.size2 {
    font-size: 1em
}

.katex .sizing.reset-size2.size3,.katex .fontsize-ensurer.reset-size2.size3 {
    font-size: 1.16666667em
}

.katex .sizing.reset-size2.size4,.katex .fontsize-ensurer.reset-size2.size4 {
    font-size: 1.33333333em
}

.katex .sizing.reset-size2.size5,.katex .fontsize-ensurer.reset-size2.size5 {
    font-size: 1.5em
}

.katex .sizing.reset-size2.size6,.katex .fontsize-ensurer.reset-size2.size6 {
    font-size: 1.66666667em
}

.katex .sizing.reset-size2.size7,.katex .fontsize-ensurer.reset-size2.size7 {
    font-size: 2em
}

.katex .sizing.reset-size2.size8,.katex .fontsize-ensurer.reset-size2.size8 {
    font-size: 2.4em
}

.katex .sizing.reset-size2.size9,.katex .fontsize-ensurer.reset-size2.size9 {
    font-size: 2.88em
}

.katex .sizing.reset-size2.size10,.katex .fontsize-ensurer.reset-size2.size10 {
    font-size: 3.45666667em
}

.katex .sizing.reset-size2.size11,.katex .fontsize-ensurer.reset-size2.size11 {
    font-size: 4.14666667em
}

.katex .sizing.reset-size3.size1,.katex .fontsize-ensurer.reset-size3.size1 {
    font-size: .71428571em
}

.katex .sizing.reset-size3.size2,.katex .fontsize-ensurer.reset-size3.size2 {
    font-size: .85714286em
}

.katex .sizing.reset-size3.size3,.katex .fontsize-ensurer.reset-size3.size3 {
    font-size: 1em
}

.katex .sizing.reset-size3.size4,.katex .fontsize-ensurer.reset-size3.size4 {
    font-size: 1.14285714em
}

.katex .sizing.reset-size3.size5,.katex .fontsize-ensurer.reset-size3.size5 {
    font-size: 1.28571429em
}

.katex .sizing.reset-size3.size6,.katex .fontsize-ensurer.reset-size3.size6 {
    font-size: 1.42857143em
}

.katex .sizing.reset-size3.size7,.katex .fontsize-ensurer.reset-size3.size7 {
    font-size: 1.71428571em
}

.katex .sizing.reset-size3.size8,.katex .fontsize-ensurer.reset-size3.size8 {
    font-size: 2.05714286em
}

.katex .sizing.reset-size3.size9,.katex .fontsize-ensurer.reset-size3.size9 {
    font-size: 2.46857143em
}

.katex .sizing.reset-size3.size10,.katex .fontsize-ensurer.reset-size3.size10 {
    font-size: 2.96285714em
}

.katex .sizing.reset-size3.size11,.katex .fontsize-ensurer.reset-size3.size11 {
    font-size: 3.55428571em
}

.katex .sizing.reset-size4.size1,.katex .fontsize-ensurer.reset-size4.size1 {
    font-size: .625em
}

.katex .sizing.reset-size4.size2,.katex .fontsize-ensurer.reset-size4.size2 {
    font-size: .75em
}

.katex .sizing.reset-size4.size3,.katex .fontsize-ensurer.reset-size4.size3 {
    font-size: .875em
}

.katex .sizing.reset-size4.size4,.katex .fontsize-ensurer.reset-size4.size4 {
    font-size: 1em
}

.katex .sizing.reset-size4.size5,.katex .fontsize-ensurer.reset-size4.size5 {
    font-size: 1.125em
}

.katex .sizing.reset-size4.size6,.katex .fontsize-ensurer.reset-size4.size6 {
    font-size: 1.25em
}

.katex .sizing.reset-size4.size7,.katex .fontsize-ensurer.reset-size4.size7 {
    font-size: 1.5em
}

.katex .sizing.reset-size4.size8,.katex .fontsize-ensurer.reset-size4.size8 {
    font-size: 1.8em
}

.katex .sizing.reset-size4.size9,.katex .fontsize-ensurer.reset-size4.size9 {
    font-size: 2.16em
}

.katex .sizing.reset-size4.size10,.katex .fontsize-ensurer.reset-size4.size10 {
    font-size: 2.5925em
}

.katex .sizing.reset-size4.size11,.katex .fontsize-ensurer.reset-size4.size11 {
    font-size: 3.11em
}

.katex .sizing.reset-size5.size1,.katex .fontsize-ensurer.reset-size5.size1 {
    font-size: .55555556em
}

.katex .sizing.reset-size5.size2,.katex .fontsize-ensurer.reset-size5.size2 {
    font-size: .66666667em
}

.katex .sizing.reset-size5.size3,.katex .fontsize-ensurer.reset-size5.size3 {
    font-size: .77777778em
}

.katex .sizing.reset-size5.size4,.katex .fontsize-ensurer.reset-size5.size4 {
    font-size: .88888889em
}

.katex .sizing.reset-size5.size5,.katex .fontsize-ensurer.reset-size5.size5 {
    font-size: 1em
}

.katex .sizing.reset-size5.size6,.katex .fontsize-ensurer.reset-size5.size6 {
    font-size: 1.11111111em
}

.katex .sizing.reset-size5.size7,.katex .fontsize-ensurer.reset-size5.size7 {
    font-size: 1.33333333em
}

.katex .sizing.reset-size5.size8,.katex .fontsize-ensurer.reset-size5.size8 {
    font-size: 1.6em
}

.katex .sizing.reset-size5.size9,.katex .fontsize-ensurer.reset-size5.size9 {
    font-size: 1.92em
}

.katex .sizing.reset-size5.size10,.katex .fontsize-ensurer.reset-size5.size10 {
    font-size: 2.30444444em
}

.katex .sizing.reset-size5.size11,.katex .fontsize-ensurer.reset-size5.size11 {
    font-size: 2.76444444em
}

.katex .sizing.reset-size6.size1,.katex .fontsize-ensurer.reset-size6.size1 {
    font-size: .5em
}

.katex .sizing.reset-size6.size2,.katex .fontsize-ensurer.reset-size6.size2 {
    font-size: .6em
}

.katex .sizing.reset-size6.size3,.katex .fontsize-ensurer.reset-size6.size3 {
    font-size: .7em
}

.katex .sizing.reset-size6.size4,.katex .fontsize-ensurer.reset-size6.size4 {
    font-size: .8em
}

.katex .sizing.reset-size6.size5,.katex .fontsize-ensurer.reset-size6.size5 {
    font-size: .9em
}

.katex .sizing.reset-size6.size6,.katex .fontsize-ensurer.reset-size6.size6 {
    font-size: 1em
}

.katex .sizing.reset-size6.size7,.katex .fontsize-ensurer.reset-size6.size7 {
    font-size: 1.2em
}

.katex .sizing.reset-size6.size8,.katex .fontsize-ensurer.reset-size6.size8 {
    font-size: 1.44em
}

.katex .sizing.reset-size6.size9,.katex .fontsize-ensurer.reset-size6.size9 {
    font-size: 1.728em
}

.katex .sizing.reset-size6.size10,.katex .fontsize-ensurer.reset-size6.size10 {
    font-size: 2.074em
}

.katex .sizing.reset-size6.size11,.katex .fontsize-ensurer.reset-size6.size11 {
    font-size: 2.488em
}

.katex .sizing.reset-size7.size1,.katex .fontsize-ensurer.reset-size7.size1 {
    font-size: .41666667em
}

.katex .sizing.reset-size7.size2,.katex .fontsize-ensurer.reset-size7.size2 {
    font-size: .5em
}

.katex .sizing.reset-size7.size3,.katex .fontsize-ensurer.reset-size7.size3 {
    font-size: .58333333em
}

.katex .sizing.reset-size7.size4,.katex .fontsize-ensurer.reset-size7.size4 {
    font-size: .66666667em
}

.katex .sizing.reset-size7.size5,.katex .fontsize-ensurer.reset-size7.size5 {
    font-size: .75em
}

.katex .sizing.reset-size7.size6,.katex .fontsize-ensurer.reset-size7.size6 {
    font-size: .83333333em
}

.katex .sizing.reset-size7.size7,.katex .fontsize-ensurer.reset-size7.size7 {
    font-size: 1em
}

.katex .sizing.reset-size7.size8,.katex .fontsize-ensurer.reset-size7.size8 {
    font-size: 1.2em
}

.katex .sizing.reset-size7.size9,.katex .fontsize-ensurer.reset-size7.size9 {
    font-size: 1.44em
}

.katex .sizing.reset-size7.size10,.katex .fontsize-ensurer.reset-size7.size10 {
    font-size: 1.72833333em
}

.katex .sizing.reset-size7.size11,.katex .fontsize-ensurer.reset-size7.size11 {
    font-size: 2.07333333em
}

.katex .sizing.reset-size8.size1,.katex .fontsize-ensurer.reset-size8.size1 {
    font-size: .34722222em
}

.katex .sizing.reset-size8.size2,.katex .fontsize-ensurer.reset-size8.size2 {
    font-size: .41666667em
}

.katex .sizing.reset-size8.size3,.katex .fontsize-ensurer.reset-size8.size3 {
    font-size: .48611111em
}

.katex .sizing.reset-size8.size4,.katex .fontsize-ensurer.reset-size8.size4 {
    font-size: .55555556em
}

.katex .sizing.reset-size8.size5,.katex .fontsize-ensurer.reset-size8.size5 {
    font-size: .625em
}

.katex .sizing.reset-size8.size6,.katex .fontsize-ensurer.reset-size8.size6 {
    font-size: .69444444em
}

.katex .sizing.reset-size8.size7,.katex .fontsize-ensurer.reset-size8.size7 {
    font-size: .83333333em
}

.katex .sizing.reset-size8.size8,.katex .fontsize-ensurer.reset-size8.size8 {
    font-size: 1em
}

.katex .sizing.reset-size8.size9,.katex .fontsize-ensurer.reset-size8.size9 {
    font-size: 1.2em
}

.katex .sizing.reset-size8.size10,.katex .fontsize-ensurer.reset-size8.size10 {
    font-size: 1.44027778em
}

.katex .sizing.reset-size8.size11,.katex .fontsize-ensurer.reset-size8.size11 {
    font-size: 1.72777778em
}

.katex .sizing.reset-size9.size1,.katex .fontsize-ensurer.reset-size9.size1 {
    font-size: .28935185em
}

.katex .sizing.reset-size9.size2,.katex .fontsize-ensurer.reset-size9.size2 {
    font-size: .34722222em
}

.katex .sizing.reset-size9.size3,.katex .fontsize-ensurer.reset-size9.size3 {
    font-size: .40509259em
}

.katex .sizing.reset-size9.size4,.katex .fontsize-ensurer.reset-size9.size4 {
    font-size: .46296296em
}

.katex .sizing.reset-size9.size5,.katex .fontsize-ensurer.reset-size9.size5 {
    font-size: .52083333em
}

.katex .sizing.reset-size9.size6,.katex .fontsize-ensurer.reset-size9.size6 {
    font-size: .5787037em
}

.katex .sizing.reset-size9.size7,.katex .fontsize-ensurer.reset-size9.size7 {
    font-size: .69444444em
}

.katex .sizing.reset-size9.size8,.katex .fontsize-ensurer.reset-size9.size8 {
    font-size: .83333333em
}

.katex .sizing.reset-size9.size9,.katex .fontsize-ensurer.reset-size9.size9 {
    font-size: 1em
}

.katex .sizing.reset-size9.size10,.katex .fontsize-ensurer.reset-size9.size10 {
    font-size: 1.20023148em
}

.katex .sizing.reset-size9.size11,.katex .fontsize-ensurer.reset-size9.size11 {
    font-size: 1.43981481em
}

.katex .sizing.reset-size10.size1,.katex .fontsize-ensurer.reset-size10.size1 {
    font-size: .24108004em
}

.katex .sizing.reset-size10.size2,.katex .fontsize-ensurer.reset-size10.size2 {
    font-size: .28929605em
}

.katex .sizing.reset-size10.size3,.katex .fontsize-ensurer.reset-size10.size3 {
    font-size: .33751205em
}

.katex .sizing.reset-size10.size4,.katex .fontsize-ensurer.reset-size10.size4 {
    font-size: .38572806em
}

.katex .sizing.reset-size10.size5,.katex .fontsize-ensurer.reset-size10.size5 {
    font-size: .43394407em
}

.katex .sizing.reset-size10.size6,.katex .fontsize-ensurer.reset-size10.size6 {
    font-size: .48216008em
}

.katex .sizing.reset-size10.size7,.katex .fontsize-ensurer.reset-size10.size7 {
    font-size: .57859209em
}

.katex .sizing.reset-size10.size8,.katex .fontsize-ensurer.reset-size10.size8 {
    font-size: .69431051em
}

.katex .sizing.reset-size10.size9,.katex .fontsize-ensurer.reset-size10.size9 {
    font-size: .83317261em
}

.katex .sizing.reset-size10.size10,.katex .fontsize-ensurer.reset-size10.size10 {
    font-size: 1em
}

.katex .sizing.reset-size10.size11,.katex .fontsize-ensurer.reset-size10.size11 {
    font-size: 1.19961427em
}

.katex .sizing.reset-size11.size1,.katex .fontsize-ensurer.reset-size11.size1 {
    font-size: .20096463em
}

.katex .sizing.reset-size11.size2,.katex .fontsize-ensurer.reset-size11.size2 {
    font-size: .24115756em
}

.katex .sizing.reset-size11.size3,.katex .fontsize-ensurer.reset-size11.size3 {
    font-size: .28135048em
}

.katex .sizing.reset-size11.size4,.katex .fontsize-ensurer.reset-size11.size4 {
    font-size: .32154341em
}

.katex .sizing.reset-size11.size5,.katex .fontsize-ensurer.reset-size11.size5 {
    font-size: .36173633em
}

.katex .sizing.reset-size11.size6,.katex .fontsize-ensurer.reset-size11.size6 {
    font-size: .40192926em
}

.katex .sizing.reset-size11.size7,.katex .fontsize-ensurer.reset-size11.size7 {
    font-size: .48231511em
}

.katex .sizing.reset-size11.size8,.katex .fontsize-ensurer.reset-size11.size8 {
    font-size: .57877814em
}

.katex .sizing.reset-size11.size9,.katex .fontsize-ensurer.reset-size11.size9 {
    font-size: .69453376em
}

.katex .sizing.reset-size11.size10,.katex .fontsize-ensurer.reset-size11.size10 {
    font-size: .83360129em
}

.katex .sizing.reset-size11.size11,.katex .fontsize-ensurer.reset-size11.size11 {
    font-size: 1em
}

.katex .delimsizing.size1 {
    font-family: KaTeX_Size1
}

.katex .delimsizing.size2 {
    font-family: KaTeX_Size2
}

.katex .delimsizing.size3 {
    font-family: KaTeX_Size3
}

.katex .delimsizing.size4 {
    font-family: KaTeX_Size4
}

.katex .delimsizing.mult .delim-size1>span {
    font-family: KaTeX_Size1
}

.katex .delimsizing.mult .delim-size4>span {
    font-family: KaTeX_Size4
}

.katex .nulldelimiter {
    display: inline-block;
    width: .12em
}

.katex .delimcenter,.katex .op-symbol {
    position: relative
}

.katex .op-symbol.small-op {
    font-family: KaTeX_Size1
}

.katex .op-symbol.large-op {
    font-family: KaTeX_Size2
}

.katex .op-limits>.vlist-t {
    text-align: center
}

.katex .accent>.vlist-t {
    text-align: center
}

.katex .accent .accent-body {
    position: relative
}

.katex .accent .accent-body:not(.accent-full) {
    width: 0
}

.katex .overlay {
    display: block
}

.katex .mtable .vertical-separator {
    display: inline-block;
    min-width: 1px
}

.katex .mtable .arraycolsep {
    display: inline-block
}

.katex .mtable .col-align-c>.vlist-t {
    text-align: center
}

.katex .mtable .col-align-l>.vlist-t {
    text-align: left
}

.katex .mtable .col-align-r>.vlist-t {
    text-align: right
}

.katex .svg-align {
    text-align: left
}

.katex svg {
    display: block;
    position: absolute;
    width: 100%;
    height: inherit;
    fill: currentColor;
    stroke: currentColor;
    fill-rule: nonzero;
    fill-opacity: 1;
    stroke-width: 1;
    stroke-linecap: butt;
    stroke-linejoin: miter;
    stroke-miterlimit: 4;
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    stroke-opacity: 1
}

.katex svg path {
    stroke: none
}

.katex img {
    border-style: none;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: none
}

.katex .stretchy {
    width: 100%;
    display: block;
    position: relative;
    overflow: hidden
}

.katex .stretchy:before,.katex .stretchy:after {
    content: ""
}

.katex .hide-tail {
    width: 100%;
    position: relative;
    overflow: hidden
}

.katex .halfarrow-left {
    position: absolute;
    left: 0;
    width: 50.2%;
    overflow: hidden
}

.katex .halfarrow-right {
    position: absolute;
    right: 0;
    width: 50.2%;
    overflow: hidden
}

.katex .brace-left {
    position: absolute;
    left: 0;
    width: 25.1%;
    overflow: hidden
}

.katex .brace-center {
    position: absolute;
    left: 25%;
    width: 50%;
    overflow: hidden
}

.katex .brace-right {
    position: absolute;
    right: 0;
    width: 25.1%;
    overflow: hidden
}

.katex .x-arrow-pad {
    padding: 0 .5em
}

.katex .cd-arrow-pad {
    padding: 0 .55556em 0 .27778em
}

.katex .x-arrow,.katex .mover,.katex .munder {
    text-align: center
}

.katex .boxpad {
    padding: 0 .3em
}

.katex .fbox,.katex .fcolorbox {
    box-sizing: border-box;
    border: .04em solid
}

.katex .cancel-pad {
    padding: 0 .2em
}

.katex .cancel-lap {
    margin-left: -.2em;
    margin-right: -.2em
}

.katex .sout {
    border-bottom-style: solid;
    border-bottom-width: .08em
}

.katex .angl {
    box-sizing: border-box;
    border-top: .049em solid;
    border-right: .049em solid;
    margin-right: .03889em
}

.katex .anglpad {
    padding: 0 .03889em
}

.katex .eqn-num:before {
    counter-increment: katexEqnNo;
    content: "(" counter(katexEqnNo) ")"
}

.katex .mml-eqn-num:before {
    counter-increment: mmlEqnNo;
    content: "(" counter(mmlEqnNo) ")"
}

.katex .mtr-glue {
    width: 50%
}

.katex .cd-vert-arrow {
    display: inline-block;
    position: relative
}

.katex .cd-label-left {
    display: inline-block;
    position: absolute;
    right: calc(50% + .3em);
    text-align: left
}

.katex .cd-label-right {
    display: inline-block;
    position: absolute;
    left: calc(50% + .3em);
    text-align: right
}

.katex-display {
    display: block;
    margin: 1em 0;
    text-align: center
}

.katex-display>.katex {
    display: block;
    text-align: center;
    white-space: nowrap
}

.katex-display>.katex>.katex-html {
    display: block;
    position: relative
}

.katex-display>.katex>.katex-html>.tag {
    position: absolute;
    right: 0
}

.katex-display.leqno>.katex>.katex-html>.tag {
    left: 0;
    right: auto
}

.katex-display.fleqn>.katex {
    text-align: left;
    padding-left: 2em
}

body {
    counter-reset: katexEqnNo mmlEqnNo
}

.katex-playground textarea {
    width: 100%;
    border-color: var(--border-color);
    border-radius: .5rem;
    background: var(--bg-color-light);
    color: var(--text-color);
    font-size: 18px;
    resize: vertical
}

.katex-playground textarea:active,.katex-playground textarea:focus-visible {
    background: var(--bg-color-secondary);
    outline: 1px solid var(--light-grey)
}

.katex {
    font-size: 1.05em;
    direction: ltr
}

.katex-display {
    overflow: auto hidden;
    -webkit-overflow-scrolling: touch;
    padding-top: .2em;
    padding-bottom: .2em
}

.katex-display::-webkit-scrollbar {
    height: 3px
}

.katex-display .katex {
    font-size: 1.21em
}

.katex-error {
    color: red
}
.page-bg {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-image: linear-gradient(to right,#eea2a2 0%,#bbc1bf 19%,#57c6e1 42%,#b49fda 79%,#7ac5d8 100%);
    animation: gradientBG 15s ease infinite;
    background-size: 300% 300%;
}
[data-theme=light] .page-bg:after {
    background-color: #ffffff1a;
}

.page-bg:after {
    content: "";
    position: fixed;
    z-index: 2;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: none;
}
