@font-face {
    font-family: swiper-icons;
    src: url(data:application/font-woff;charset=utf-8;base64,\ d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA);
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, #00000080, #0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, #00000080, #0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
    display: none !important
}

.swiper-button-prev svg,
.swiper-button-next svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translateZ(0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translate(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper {
    width: 100%;
    transform: translateZ(0);
    backface-visibility: hidden
}

.spotlight-entrance {
    animation: spotlightEntrance 1.2s cubic-bezier(.4, 0, .2, 1) forwards;
    opacity: 0
}

@keyframes spotlightEntrance {
    0% {
        opacity: 0;
        transform: scale(.95) translateY(20px);
        filter: blur(5px)
    }

    50% {
        opacity: .7;
        transform: scale(.98) translateY(10px);
        filter: blur(2px)
    }

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

.spotlight-swiper {
    transition: all .6s cubic-bezier(.4, 0, .2, 1);
    will-change: transform
}

.spotlight-swiper:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 35px #0006
}

.spotlight-slide {
    transition: all .8s cubic-bezier(.4, 0, .2, 1);
    will-change: opacity, transform
}

.spotlight-slide img {
    transition: all 1.2s cubic-bezier(.4, 0, .2, 1);
    will-change: transform, filter
}

.swiper-slide-active img {
    transform: scale(1.02);
    filter: brightness(1.1) contrast(1.05)
}

.swiper-slide-prev img,
.swiper-slide-next img {
    transform: scale(.98);
    filter: brightness(.8) contrast(.95)
}

.swiper-slide {
    font-size: 18px;
    display: -webkit-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center
}

.button-prev,
.button-next {
    width: 44px;
    height: 44px;
    background: #0009;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .4s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 4px 15px #0000004d;
    opacity: 0;
    animation: fadeInButtons 1s ease-out .8s forwards
}

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

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

.button-prev:hover,
.button-next:hover {
    background: #ffffff40;
    border-color: var(--white-primary);
    transform: scale(1.15) translateY(-2px);
    box-shadow: 0 8px 25px #00000080, 0 0 20px #fff3
}

.button-prev:after,
.button-next:after {
    content: "";
    width: 10px;
    height: 10px;
    border: 2.5px solid rgba(255, 255, 255, .8);
    border-left: 0;
    border-bottom: 0;
    transition: all .3s ease
}

.button-prev:after {
    transform: rotate(-135deg);
    margin-left: 3px
}

.button-next:after {
    transform: rotate(45deg);
    margin-right: 3px
}

.swiper-horizontal>.swiper-pagination-bullets {
    bottom: 20px !important;
    left: 50% !important;
    transform: translate(-50%) !important;
    width: auto !important;
    display: flex !important;
    gap: 8px;
    align-items: center;
    justify-content: center
}

.swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background-color: #fff6 !important;
    opacity: 0 !important;
    transition: all .4s cubic-bezier(.4, 0, .2, 1) !important;
    cursor: pointer !important;
    animation: fadeInPagination .8s ease-out 1.2s forwards
}

@keyframes fadeInPagination {
    0% {
        opacity: 0;
        transform: translateY(10px)
    }

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

.swiper-pagination-bullet-active {
    background: var(--white-primary) !important;
    width: 32px !important;
    border-radius: 16px !important;
    box-shadow: 0 3px 12px #ffffff80 !important;
    transform: scale(1.3) translateY(-2px) !important;
    opacity: 1 !important
}

.swiper-pagination {
    bottom: 25px !important
}

.swiper-pagination-bullet:hover {
    background-color: #fff9 !important;
    transform: scale(1.1) !important
}

@media only screen and (max-width: 575px) {
    .swiper-horizontal>.swiper-pagination-bullets {
        bottom: 20px !important;
        left: 50% !important;
        transform: translate(-50%) !important;
        width: auto !important;
        display: flex !important;
        gap: 4px;
        align-items: center;
        justify-content: center;
        flex-direction: row !important;
        height: auto !important
    }

    .button-prev,
    .button-next {
        width: 32px;
        height: 32px
    }

    .swiper-pagination-bullet {
        width: 6px !important;
        height: 6px !important
    }

    .swiper-pagination-bullet-active {
        width: 16px !important;
        border-radius: 8px !important
    }
}

.spotlight {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
    transition: all .5s cubic-bezier(.4, 0, .2, 1)
}

.spotlight-overlay {
    background: #000000b3;
    pointer-events: none;
    transition: all .8s cubic-bezier(.4, 0, .2, 1)
}

.spotlight-tag {
    opacity: 0;
    animation: slideInFromLeft .8s cubic-bezier(.4, 0, .2, 1) .5s forwards
}

.spotlight-title {
    opacity: 0;
    animation: slideInFromLeft 1s cubic-bezier(.4, 0, .2, 1) .7s forwards
}

@keyframes slideInFromLeft {
    0% {
        opacity: 0;
        transform: translate(-40px) translateY(10px);
        filter: blur(2px)
    }

    60% {
        opacity: .8;
        transform: translate(-5px) translateY(2px);
        filter: blur(1px)
    }

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

@media only screen and (max-width: 1300px) {
    .spotlight-overlay {
        background: #0009
    }
}

@media only screen and (max-width: 1200px) {
    .spotlight-overlay {
        background: #0009
    }
}

@media only screen and (max-width: 900px) {
    .spotlight-overlay {
        background: #0009
    }
}

.overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    background: #0009;
    z-index: 50;
    transition: all .4s cubic-bezier(.4, 0, .2, 1);
    border-radius: 16px
}

.group:hover .overlay {
    background: #000000b3
}

.dot {
    width: 2px;
    height: 2px;
    display: inline-block;
    border-radius: 50%;
    background: #fff6;
    margin: 0 6px;
    position: relative;
    top: -1px
}

.category-card-container {
    transition: all .4s cubic-bezier(.4, 0, .2, 1);
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: #1a1a1a;
    box-shadow: 0 4px 20px #00000040
}

.category-card-container:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px #0000004d
}

.category-card-container img {
    border-radius: 16px;
    transform: scale(1.01);
    transition: all .4s cubic-bezier(.4, 0, .2, 1);
    filter: brightness(.95)
}

.category-card-container:hover img {
    transform: scale(1.05);
    filter: brightness(1.05)
}

.category-badge {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background: #ffffff1a;
    border: 1px solid rgba(255, 255, 255, .15);
    padding: 4px 8px;
    border-radius: 4px;
    font-weight: 500;
    letter-spacing: .02em;
    transition: all .3s ease
}

.category-badge:hover {
    background: #fff3;
    border-color: var(--white-primary)
}

.item-title {
    font-weight: 600;
    letter-spacing: .01em;
    transition: all .3s ease;
    font-size: 15px;
    line-height: 1.4;
    color: #fffffff2
}

.item-title:hover {
    color: #fff
}

.play-icon {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.9);
    transition: all .4s cubic-bezier(.4, 0, .2, 1);
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .4))
}

.group:hover .play-icon {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1)
}

.info-container {
    padding: 12px 16px 16px;
    background: #000c;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transition: all .3s ease
}

.group:hover .info-container {
    padding-bottom: 20px;
    background: #000000e6
}

.meta-info {
    color: #ffffffb3;
    font-size: 13px;
    font-weight: 500
}

@keyframes shimmer {
    0% {
        background-position: 100% 0
    }

    to {
        background-position: -100% 0
    }
}

.shimmer-effect {
    background: #ffffff0d;
    animation: shimmer 1.5s infinite linear
}

.bouncing-loading>div {
    width: 18px;
    height: 18px;
    background-color: #858490;
    border-radius: 100%;
    display: inline-block;
    animation: sk-bouncedelay 1.4s infinite ease-in-out both
}

.bouncing-loading .span1 {
    animation-delay: -.32s
}

.bouncing-loading .span2 {
    animation-delay: -.16s
}

@keyframes sk-bouncedelay {

    0%,
    to,
    80% {
        transform: scale(0)
    }

    40% {
        transform: scale(1)
    }
}

.next,
.prev {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #0009;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, .1);
    color: #fffc;
    font-size: 14px;
    padding: 8px;
    z-index: 10;
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    box-shadow: 0 2px 8px #0000004d;
    display: flex;
    align-items: center;
    justify-content: center
}

.next:hover,
.prev:hover {
    background: #ffffff1a;
    border-color: #ffffff4d;
    color: #fff;
    transform: scale(1.1);
    box-shadow: 0 4px 12px #0006
}

.sidebar-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    z-index: 50;
    isolation: isolate
}

.sidebar-overlay {
    position: fixed;
    inset: 0;
    background-color: #000000bf;
    pointer-events: auto;
    transition: opacity .3s ease;
    z-index: 60;
    will-change: opacity
}

.sidebar-main {
    position: fixed;
    top: 0;
    left: 0;
    width: 280px;
    height: 100vh;
    background-color: #0a0a0a;
    transform: translate(-100%);
    transition: transform .3s ease;
    pointer-events: auto;
    z-index: 70;
    display: flex;
    flex-direction: column;
    will-change: transform
}

@media (max-width: 575px) {
    .sidebar-main {
        width: 260px
    }
}

.sidebar-main.sidebar-open {
    transform: translate(0)
}

.sidebar-content {
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .2) transparent;
    -webkit-overflow-scrolling: touch
}

.sidebar-content::-webkit-scrollbar {
    width: 5px
}

.sidebar-content::-webkit-scrollbar-track {
    background: transparent
}

.sidebar-content::-webkit-scrollbar-thumb {
    background-color: #fff3;
    border-radius: 20px
}

.sidebar-header {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
    flex-shrink: 0
}

.close-button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .625rem 1rem;
    background-color: #ffffff1a;
    border-radius: .5rem;
    transition: background-color .2s ease
}

.close-button:hover {
    background-color: #ffffff26
}

.quick-actions {
    width: 100%;
    padding: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .05);
    flex-shrink: 0
}

@media (min-width: 1024px) {
    .quick-actions {
        display: none
    }
}

.quick-actions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem
}

.quick-action-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: .75rem;
    border-radius: .5rem;
    background-color: #ffffff0d;
    transition: background-color .2s ease
}

.quick-action-item:hover {
    background-color: #ffffff1a
}

.language-switcher {
    display: flex;
    background-color: #ffffff1a;
    border-radius: .25rem
}

.lang-button {
    padding: .25rem .5rem;
    font-size: .75rem;
    font-weight: 500;
    color: #fff9;
    transition: all .2s ease
}

.lang-button:hover {
    color: #fff
}

.lang-button.active {
    background-color: #ffffff26;
    color: #fff
}

.menu-items {
    width: 100%;
    padding: .5rem;
    flex: 1;
    overflow-y: auto
}

.menu-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .75rem 1rem;
    color: #fff9;
    border-radius: .5rem;
    transition: all .2s ease
}

.menu-item:hover {
    color: #fff;
    background-color: #ffffff0d
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(30px)
    }

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

@keyframes slideInLeft {
    0% {
        opacity: 0;
        transform: translate(-30px)
    }

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

@keyframes bounceIn {
    0% {
        opacity: 0;
        transform: scale(.3)
    }

    50% {
        transform: scale(1.05)
    }

    70% {
        transform: scale(.9)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes smoothGlow {

    0%,
    to {
        box-shadow: 0 0 15px #fff6, 0 0 30px #fff3, 0 0 45px #ffffff1a
    }

    50% {
        box-shadow: 0 0 30px #fffc, 0 0 60px #fff6, 0 0 90px #fff3
    }
}

@keyframes orbitalGlow {
    0% {
        box-shadow: 0 0 20px var(--white-primary), 0 0 40px var(--white-primary), 0 0 60px var(--white-primary);
        filter: hue-rotate(0deg)
    }

    33% {
        box-shadow: 0 0 30px var(--white-primary), 0 0 60px var(--white-primary), 0 0 90px var(--white-primary);
        filter: hue-rotate(120deg)
    }

    66% {
        box-shadow: 0 0 25px var(--white-primary), 0 0 50px var(--white-primary), 0 0 75px var(--white-primary);
        filter: hue-rotate(240deg)
    }

    to {
        box-shadow: 0 0 20px var(--white-primary), 0 0 40px var(--white-primary), 0 0 60px var(--white-primary);
        filter: hue-rotate(360deg)
    }
}

@keyframes glowWave {

    0%,
    to {
        box-shadow: 0 0 5px var(--white-primary);
        border-color: var(--white-primary)
    }

    25% {
        box-shadow: 0 0 20px var(--white-primary), 0 0 30px var(--white-primary);
        border-color: var(--white-primary)
    }

    50% {
        box-shadow: 0 0 35px var(--white-primary), 0 0 50px var(--white-primary);
        border-color: var(--white-primary)
    }

    75% {
        box-shadow: 0 0 20px var(--white-primary), 0 0 30px var(--white-primary);
        border-color: var(--white-primary)
    }
}

@keyframes pulseGlow {

    0%,
    to {
        box-shadow: 0 0 20px #ffffff4d, inset 0 0 20px #ffffff1a
    }

    50% {
        box-shadow: 0 0 40px #fff9, inset 0 0 30px #fff3
    }
}

@keyframes cardFloat {

    0%,
    to {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-5px)
    }
}

@keyframes staggerFade {
    0% {
        opacity: 0;
        transform: translateY(20px)
    }

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

.animate-fade-in {
    animation: fadeIn .6s ease-out forwards
}

.animate-fade-in-up {
    animation: fadeInUp .8s ease-out forwards
}

.animate-fade-in-scale {
    animation: fadeInScale .6s ease-out forwards
}

.animate-slide-in-left {
    animation: slideInLeft .7s ease-out forwards
}

.animate-slide-in-right {
    animation: slideInRight .7s ease-out forwards
}

.animate-bounce-in {
    animation: bounceIn .8s ease-out forwards
}

.animate-glow {
    animation: smoothGlow 2s infinite
}

.animate-float {
    animation: cardFloat 3s ease-in-out infinite
}

.animate-stagger {
    animation: staggerFade .6s ease-out forwards
}

.stagger-1 {
    animation-delay: .15s;
    opacity: 0
}

.stagger-2 {
    animation-delay: .3s;
    opacity: 0
}

.stagger-3 {
    animation-delay: .45s;
    opacity: 0
}

.stagger-4 {
    animation-delay: .6s;
    opacity: 0
}

.stagger-5 {
    animation-delay: .75s;
    opacity: 0
}

.stagger-6 {
    animation-delay: .9s;
    opacity: 0
}

.stagger-7 {
    animation-delay: 1.05s;
    opacity: 0
}

.stagger-8 {
    animation-delay: 1.2s;
    opacity: 0
}

.home-enter-animation {
    animation: fadeIn .4s ease-out forwards
}

.hover-lift {
    transition: all .3s cubic-bezier(.4, 0, .2, 1)
}

.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px #0006
}

.hover-scale {
    transition: transform .3s ease
}

.hover-scale:hover {
    transform: scale(1.05)
}

.hover-glow {
    transition: all .3s ease
}

.hover-glow:hover {
    box-shadow: 0 0 25px #ffffff80, 0 0 50px #fff3, 0 0 75px #ffffff1a;
    border-color: var(--white-primary);
    background: #ffffff0d;
    animation: glowWave 2s infinite
}

.animate-orbital-glow {
    animation: orbitalGlow 4s infinite
}

.animate-glow-wave {
    animation: glowWave 3s infinite
}

.glow-card {
    background: #000c;
    border: 1px solid var(--white-primary);
    box-shadow: 0 0 20px #ffffff4d, inset 0 0 20px #ffffff1a;
    transition: all .3s ease
}

.glow-card:hover {
    box-shadow: 0 0 30px #fff9, 0 0 60px #ffffff4d, inset 0 0 30px #fff3;
    border-color: var(--white-primary);
    transform: translateY(-2px) scale(1.02)
}

.glow-button {
    background: var(--white-primary);
    border: none;
    box-shadow: 0 0 15px var(--white-primary);
    transition: all .3s ease;
    position: relative;
    overflow: hidden
}

.glow-button:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #fff3;
    transition: left .5s
}

.glow-button:hover:before {
    left: 100%
}

.glow-button:hover {
    box-shadow: 0 0 25px var(--white-primary), 0 0 50px var(--white-primary), 0 5px 15px #0000004d;
    transform: translateY(-2px)
}

.glow-text {
    color: var(--white-primary);
    text-shadow: 0 0 5px var(--white-primary), 0 0 10px var(--white-primary), 0 0 15px var(--white-primary);
    animation: textGlow 2s ease-in-out infinite alternate
}

@keyframes textGlow {
    0% {
        text-shadow: 0 0 5px var(--white-primary), 0 0 10px var(--white-primary), 0 0 15px var(--white-primary)
    }

    to {
        text-shadow: 0 0 10px var(--white-primary), 0 0 20px var(--white-primary), 0 0 30px var(--white-primary)
    }
}

.smooth-transition {
    transition: all .3s cubic-bezier(.4, 0, .2, 1)
}

.smooth-transition-fast {
    transition: all .2s cubic-bezier(.4, 0, .2, 1)
}

.smooth-transition-slow {
    transition: all .5s cubic-bezier(.4, 0, .2, 1)
}

@keyframes pulse {

    0%,
    to {
        opacity: 1
    }

    50% {
        opacity: .5
    }
}

.text-shimmer {
    color: var(--white-primary);
    animation: shimmerText 2s linear infinite
}

@keyframes shimmerText {
    0% {
        background-position: 200% 0
    }

    to {
        background-position: -200% 0
    }
}

@keyframes pageSlideIn {
    0% {
        opacity: 0;
        transform: translate(20px)
    }

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

@keyframes pageSlideOut {
    0% {
        opacity: 1;
        transform: translate(0)
    }

    to {
        opacity: 0;
        transform: translate(-20px)
    }
}

@keyframes modalSlideIn {
    0% {
        opacity: 0;
        transform: translateY(-30px) scale(.9)
    }

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

@keyframes buttonPress {
    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(.95)
    }

    to {
        transform: scale(1)
    }
}

@keyframes ripple {
    0% {
        transform: scale(0);
        opacity: 1
    }

    to {
        transform: scale(2);
        opacity: 0
    }
}

@keyframes slideInFromBottom {
    0% {
        opacity: 0;
        transform: translateY(50px)
    }

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

@keyframes genreCardFloat {

    0%,
    to {
        transform: translateY(0) rotate(0)
    }

    33% {
        transform: translateY(-2px) rotate(.5deg)
    }

    66% {
        transform: translateY(-1px) rotate(-.3deg)
    }
}

@keyframes genreGlow {

    0%,
    to {
        box-shadow: 0 0 10px #ffffff1a
    }

    50% {
        box-shadow: 0 0 20px #ffffff4d, 0 0 30px #ffffff1a
    }
}

@keyframes genreShimmer {
    0% {
        background-position: -200% 0
    }

    to {
        background-position: 200% 0
    }
}

.genre-card-animate {
    animation: genreCardFloat 4s ease-in-out infinite
}

.genre-glow-effect {
    animation: genreGlow 3s ease-in-out infinite
}

.genre-shimmer {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .1), transparent);
    background-size: 200% 100%;
    animation: genreShimmer 2s infinite
}

@keyframes slideInFromTop {
    0% {
        opacity: 0;
        transform: translateY(-50px)
    }

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

@keyframes scrollFadeInLeft {
    0% {
        opacity: 0;
        transform: translate(-40px) scale(.95)
    }

    to {
        opacity: 1;
        transform: translate(0) scale(1)
    }
}

@keyframes scrollFadeInRight {
    0% {
        opacity: 0;
        transform: translate(40px) scale(.95)
    }

    to {
        opacity: 1;
        transform: translate(0) scale(1)
    }
}

@keyframes scrollZoomIn {
    0% {
        opacity: 0;
        transform: scale(.8)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes scrollSlideUp {
    0% {
        opacity: 0;
        transform: translateY(60px)
    }

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

.page-enter {
    animation: pageSlideIn .4s ease-out
}

.page-exit {
    animation: pageSlideOut .4s ease-out
}

.modal-enter {
    animation: modalSlideIn .3s ease-out
}

.button-press {
    animation: buttonPress .2s ease
}

.ripple-effect {
    position: relative;
    overflow: hidden
}

.ripple-effect:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: #ffffff4d;
    transform: translate(-50%, -50%);
    transition: width .3s, height .3s;
    z-index: 0
}

.ripple-effect:active:before {
    animation: ripple .4s ease-out;
    width: 100px;
    height: 100px
}

.scroll-fade-in {
    animation: slideInFromBottom .6s ease-out
}

.scroll-fade-in-top {
    animation: slideInFromTop .6s ease-out
}

@keyframes spotlightGlow {

    0%,
    to {
        box-shadow: 0 8px 32px #0000004d
    }

    50% {
        box-shadow: 0 12px 40px #0006, 0 0 30px #ffffff1a
    }
}

@keyframes spotlightContentSlide {
    0% {
        opacity: 0;
        transform: translate(-30px) translateY(20px)
    }

    60% {
        opacity: .8;
        transform: translate(-5px) translateY(5px)
    }

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

.spotlight-glow {
    animation: spotlightGlow 4s ease-in-out infinite
}

.spotlight-content-animate {
    animation: spotlightContentSlide 1s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-animate {
    opacity: 0;
    transition: opacity .3s ease;
    will-change: transform, opacity
}

.scroll-animate.animate-in {
    opacity: 1
}

@keyframes scrollRevealScale {
    0% {
        opacity: 0;
        transform: scale(.95) translateY(20px)
    }

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

@keyframes scrollRevealRotate {
    0% {
        opacity: 0;
        transform: rotate(-2deg) translateY(30px)
    }

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

@keyframes scrollRevealSlideClip {
    0% {
        opacity: 0;
        clip-path: inset(0 100% 0 0)
    }

    to {
        opacity: 1;
        clip-path: inset(0 0% 0 0)
    }
}

.scroll-reveal-scale {
    animation: scrollRevealScale .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-reveal-rotate {
    animation: scrollRevealRotate .9s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-reveal-clip {
    animation: scrollRevealSlideClip 1s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-fade-left {
    animation: scrollFadeInLeft .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-fade-right {
    animation: scrollFadeInRight .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-zoom-in {
    animation: scrollZoomIn .7s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-slide-up {
    animation: scrollSlideUp .8s cubic-bezier(.4, 0, .2, 1) forwards
}

.scroll-stagger-1 {
    animation-delay: .1s;
    opacity: 0
}

.scroll-stagger-2 {
    animation-delay: .2s;
    opacity: 0
}

.scroll-stagger-3 {
    animation-delay: .3s;
    opacity: 0
}

.scroll-stagger-4 {
    animation-delay: .4s;
    opacity: 0
}

.scroll-stagger-5 {
    animation-delay: .5s;
    opacity: 0
}

.scroll-stagger-6 {
    animation-delay: .6s;
    opacity: 0
}

.interactive-element {
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
    position: relative
}

.interactive-element:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px #00000026
}

.interactive-element:active {
    transform: translateY(0);
    transition-duration: .1s
}

.focus-ring:focus {
    outline: none;
    box-shadow: 0 0 0 3px #fff9, 0 0 20px #ffffff4d;
    transition: box-shadow .3s ease
}

.skeleton-pulse {
    animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    background: #ffffff0d
}

@keyframes buttonPulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 #ffffffb3
    }

    70% {
        transform: scale(1.02);
        box-shadow: 0 0 0 8px #fff0
    }

    to {
        transform: scale(1);
        box-shadow: 0 0 #fff0
    }
}

@keyframes cardMagnetism {

    0%,
    to {
        transform: translateZ(0) scale(1)
    }

    50% {
        transform: translateZ(10px) scale(1.02)
    }
}

@keyframes textTypewriter {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

.micro-pulse {
    animation: buttonPulse 2s infinite
}

.card-magnetism:hover {
    animation: cardMagnetism .6s ease-in-out
}

.typewriter-effect {
    overflow: hidden;
    white-space: nowrap;
    animation: textTypewriter 2s steps(40, end)
}

@keyframes skeletonWave {
    0% {
        transform: translate(-100%)
    }

    50% {
        transform: translate(100%)
    }

    to {
        transform: translate(100%)
    }
}

.skeleton-enhanced {
    position: relative;
    overflow: hidden;
    background: #ffffff0d
}

.skeleton-enhanced:after {
    position: absolute;
    inset: 0;
    transform: translate(-100%);
    background: linear-gradient(90deg, #fff0 0, #ffffff1a 20%, #fff3, #fff0);
    animation: skeletonWave 2s infinite;
    content: ""
}

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

    *,
    :before,
    :after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important
    }
}

html,
body,
#root {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth
}

.animated-element,
.hover-scale,
.interactive-element,
.smooth-transition {
    backface-visibility: hidden;
    perspective: 1000;
    will-change: transform
}

.gpu-accelerated {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: transform
}

.transition-fast {
    transition: all .15s var(--ease-out-quart)
}

.transition-normal {
    transition: all .25s var(--ease-out-quart)
}

.transition-slow {
    transition: all .4s var(--ease-out-quart)
}

@container (max-width: 600px) {
    .animated-element {
        animation-duration: .3s !important
    }
}

.lazy-animate {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s var(--ease-out-quart), transform .6s var(--ease-out-quart)
}

.lazy-animate.in-view {
    opacity: 1;
    transform: translateY(0)
}

.memory-efficient {
    contain: layout style paint;
    will-change: auto
}

.memory-efficient:hover {
    will-change: transform
}

.memory-efficient:not(:hover) {
    will-change: auto
}

button,
[role=button],
a {
    transition: all .2s cubic-bezier(.4, 0, .2, 1);
    cursor: pointer;
    will-change: transform
}

button:hover,
[role=button]:hover,
a:hover {
    transform: translateY(-1px)
}

button:active,
[role=button]:active,
a:active {
    transform: translateY(0);
    transition-duration: .1s
}

button:focus-visible,
[role=button]:focus-visible,
a:focus-visible {
    outline: 2px solid rgba(255, 255, 255, .5);
    outline-offset: 2px
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    box-shadow: 0 0 0 2px #ffffff4d;
    transition: box-shadow .2s ease
}

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

.focus-trap {
    outline: none
}

.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: #fff;
    color: #000;
    padding: 8px;
    text-decoration: none;
    border-radius: 4px;
    z-index: 10000;
    transition: top .3s
}

.skip-link:focus {
    top: 6px
}

input[type=text],
input[type=search],
input[type=email],
textarea,
select {
    background: #ffffff0d;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--radius-md);
    color: #fff;
    transition: all .2s ease
}

input[type=text]:hover,
input[type=search]:hover,
input[type=email]:hover,
textarea:hover,
select:hover {
    border-color: #fff3;
    background: #ffffff14
}

[role=button],
button,
a,
.interactive {
    position: relative;
    transition: all .2s var(--ease-out-quart)
}

[role=button]:active,
button:active,
a:active,
.interactive:active {
    transform: scale(.98)
}

.loading-state {
    pointer-events: none;
    opacity: .7;
    cursor: not-allowed
}

.loading-state:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid transparent;
    border-top: 2px solid white;
    border-radius: 50%;
    animation: spin 1s linear infinite
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

::-webkit-scrollbar {
    width: 8px
}

::-webkit-scrollbar-track {
    background: #000
}

::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 4px
}

::-webkit-scrollbar-thumb:hover {
    background: #fffc
}

.app-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    scroll-behavior: smooth
}

.content {
    width: 100%;
    flex-grow: 1
}

footer {
    margin-top: auto
}

@keyframes glow {
    0% {
        box-shadow: 0 0 7px #ffbade
    }

    50% {
        box-shadow: 0 0 20px #ffbade
    }

    to {
        box-shadow: 0 0 7px #ffbade
    }
}

.glow-animation {
    animation: glow 1.5s infinite
}

.servers {
    border-bottom: 1px dashed #35373d
}

.servers:only-child {
    border-bottom: none
}

.servers:last-child {
    border-bottom: none
}

.art-subtitle {
    padding-inline: 0px !important;
    gap: 2px !important
}

.art-volume-panel {
    padding-bottom: 20px !important
}

.art-settings {
    margin-bottom: 20px !important
}

.art-subtitle {
    margin-bottom: 1rem !important
}

.art-subtitle-line {
    min-width: -moz-fit-content;
    min-width: fit-content;
    background-color: #0000007a !important;
    padding-inline: 3px !important
}

.art-subtitle-line,
.art-subtitle-line * {
    font-size: inherit !important;
    color: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
    white-space: inherit !important
}

@media screen and (max-width: 370px) {
    .art-progress {
        padding-bottom: 5px !important
    }

    .art-controls-left .art-control {
        justify-content: flex-start !important
    }

    .art-controls-right .art-control {
        justify-content: flex-end !important
    }

    .art-controls-right .art-control svg {
        width: 22px;
        height: 22px
    }

    .art-controls-left .art-control svg {
        width: 22px;
        height: 22px
    }

    .art-state .art-icon svg {
        width: 50px;
        height: 50px
    }
}

@media screen and (max-width: 350px) {
    .art-controls-right .art-control svg {
        width: 20px;
        height: 20px
    }

    .art-controls-left .art-control svg {
        width: 20px;
        height: 20px
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(40px)
    }

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

@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(.9)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes slideInRight {
    0% {
        opacity: 0;
        transform: translate(30px)
    }

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

@keyframes float {

    0%,
    to {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-15px)
    }
}

@keyframes particleFloat {
    0% {
        transform: translateY(100vh) translate(0) rotate(0)
    }

    to {
        transform: translateY(-100px) translate(50px) rotate(360deg)
    }
}

@keyframes pulse {

    0%,
    to {
        transform: scale(1)
    }

    50% {
        transform: scale(1.05)
    }
}

.splash-container {
    min-height: 100vh;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    background: var(--black-primary);
    color: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    scroll-behavior: smooth;
    opacity: 0;
    transition: opacity .8s ease-in-out
}

.splash-container.visible {
    opacity: 1
}

.splash-background-minimal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden
}

.particles-minimal {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden
}

.particle-minimal {
    position: absolute;
    width: 1px;
    height: 1px;
    background: #fff;
    border-radius: 50%;
    animation: particleFloat linear infinite;
    pointer-events: none
}

.particle-minimal:nth-child(3n) {
    background: #fff;
    width: 2px;
    height: 2px
}

.particle-minimal:nth-child(5n) {
    background: #fff;
    width: 1px;
    height: 1px
}

.hero-section {
    position: relative;
    z-index: 10;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 80px 20px 20px
}

.hero-content {
    max-width: 800px;
    text-align: center;
    animation: fadeInUp 1s ease-out .3s both
}

.logo-container {
    margin-bottom: 40px;
    animation: fadeInScale 1s ease-out .5s both
}

.logo {
    height: 80px;
    width: auto;
    filter: drop-shadow(0 10px 30px rgba(255, 255, 255, .1));
    transition: all .4s ease;
    animation: float 6s ease-in-out infinite
}

.logo:hover {
    filter: drop-shadow(0 15px 40px rgba(255, 255, 255, .2));
    transform: scale(1.1)
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 24px;
    letter-spacing: -.02em;
    animation: fadeInUp 1s ease-out .7s both
}

.gradient-text {
    color: var(--white-primary)
}

.hero-subtitle {
    font-size: 1.25rem;
    color: #fffc;
    margin-bottom: 40px;
    line-height: 1.6;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    animation: fadeInUp 1s ease-out .9s both
}

.search-container {
    position: relative;
    max-width: 500px;
    margin: 0 auto 40px;
    animation: fadeInUp 1s ease-out 1.1s both
}

.search-input {
    width: 100%;
    padding: 18px 60px 18px 24px;
    background: #ffffff14;
    border: 2px solid rgba(255, 255, 255, .1);
    border-radius: 50px;
    color: #fff;
    font-size: 16px;
    outline: none;
    transition: all .3s ease;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    box-shadow: 0 8px 32px #0000001a
}

.search-input:focus {
    border-color: #ffffff80;
    background: #ffffff1f;
    box-shadow: 0 0 0 4px #ffffff1a, 0 12px 40px #0003;
    transform: translateY(-2px)
}

.search-input::-moz-placeholder {
    color: #fff9
}

.search-input::placeholder {
    color: #fff9
}

.search-button {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: var(--white-primary);
    border: none;
    border-radius: 50%;
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
    box-shadow: 0 4px 15px #ffffff4d
}

.search-button:hover {
    transform: translateY(-50%) scale(1.1);
    background: var(--white-primary);
    box-shadow: 0 6px 20px #ffffff80
}

.action-buttons {
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-bottom: 60px;
    animation: fadeInUp 1s ease-out 1.3s both;
    flex-wrap: wrap
}

.primary-button {
    background: var(--white-primary);
    color: #000;
    padding: 16px 32px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all .3s ease;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 25px #ffffff4d;
    position: relative;
    overflow: hidden
}

.primary-button:before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #ffffff1a;
    opacity: 0;
    transition: all .6s
}

.primary-button:hover:before {
    opacity: 1
}

.primary-button:hover {
    transform: translateY(-3px);
    background: var(--white-primary);
    box-shadow: 0 12px 35px #ffffff80
}

.secondary-button {
    background: #ffffff14;
    color: #fff;
    padding: 16px 32px;
    border-radius: 50px;
    border: 2px solid rgba(255, 255, 255, .2);
    font-weight: 600;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all .3s ease;
    cursor: pointer;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    text-decoration: none
}

.secondary-button:hover {
    background: #ffffff1f;
    border-color: #ffffff4d;
    transform: translateY(-2px)
}

.button-icon {
    font-size: 14px;
    transition: transform .3s ease
}

.primary-button:hover .button-icon,
.secondary-button:hover .button-icon {
    transform: translate(2px)
}

.stats-container {
    display: flex;
    justify-content: center;
    gap: 60px;
    animation: fadeInUp 1s ease-out 1.5s both;
    flex-wrap: wrap
}

.stat-item {
    text-align: center
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--white-primary);
    margin-bottom: 8px
}

.stat-label {
    font-size: .9rem;
    color: #ffffffb3;
    font-weight: 500
}

.features-section {
    position: relative;
    z-index: 10;
    padding: 100px 20px;
    background: #ffffff05;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px)
}

.section-header {
    text-align: center;
    margin-bottom: 80px
}

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 16px;
    color: #fff
}

.section-subtitle {
    font-size: 1.1rem;
    color: #ffffffb3;
    max-width: 500px;
    margin: 0 auto
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto
}

.feature-card {
    background: #ffffff0d;
    padding: 40px 30px;
    border-radius: 20px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, .1);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    transition: all .3s ease;
    animation: fadeInUp .8s ease-out both;
    animation-delay: calc(var(--index, 0) * .1s)
}

.feature-card:hover {
    transform: translateY(-10px);
    background: #ffffff14;
    border-color: #fff3;
    box-shadow: 0 20px 60px #0000004d
}

.feature-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    background: var(--white-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: #000;
    box-shadow: 0 10px 30px #ffffff4d
}

.feature-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 16px;
    color: #fff
}

.feature-description {
    color: #ffffffb3;
    line-height: 1.6
}

.faq-section {
    position: relative;
    z-index: 10;
    padding: 100px 20px
}

.faq-container {
    max-width: 800px;
    margin: 0 auto
}

.faq-item {
    background: #ffffff0d;
    border-radius: 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(255, 255, 255, .08);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    overflow: hidden;
    transition: all .3s ease;
    animation: fadeInUp .6s ease-out both;
    animation-delay: calc(var(--index, 0) * .1s)
}

.faq-item:hover {
    border-color: #ffffff26;
    transform: translateY(-2px)
}

.faq-question {
    width: 100%;
    padding: 24px 28px;
    background: none;
    border: none;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all .3s ease
}

.faq-question:hover {
    background: #ffffff0d
}

.faq-toggle {
    font-size: 16px;
    color: #fff9;
    transition: all .3s ease;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #ffffff14
}

.faq-toggle.rotate {
    transform: rotate(180deg);
    color: #fff;
    background: #ffffff4d
}

.faq-answer {
    padding: 0 28px 24px;
    color: #fffc;
    line-height: 1.6;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: all .4s ease
}

.faq-answer.expanded {
    max-height: 200px;
    opacity: 1;
    padding: 0 28px 24px
}

.cta-section {
    position: relative;
    z-index: 10;
    padding: 100px 20px;
    background: var(--black-soft);
    text-align: center
}

.cta-content {
    max-width: 600px;
    margin: 0 auto
}

.cta-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 16px;
    color: #fff
}

.cta-subtitle {
    font-size: 1.1rem;
    color: #fffc;
    margin-bottom: 40px
}

.cta-button {
    background: var(--white-primary);
    color: #000;
    padding: 20px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    transition: all .3s ease;
    box-shadow: 0 10px 30px #fff6;
    animation: pulse 2s ease-in-out infinite
}

.cta-button:hover {
    transform: translateY(-5px);
    background: var(--white-primary);
    box-shadow: 0 15px 40px #fff9;
    animation-play-state: paused
}

@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem
    }

    .hero-subtitle {
        font-size: 1.1rem
    }

    .action-buttons {
        flex-direction: column;
        align-items: center
    }

    .stats-container {
        gap: 40px
    }

    .features-grid {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .section-title,
    .cta-title {
        font-size: 2rem
    }
}

@media (max-width: 480px) {
    .hero-section {
        padding: 60px 15px 20px
    }

    .hero-title {
        font-size: 2rem
    }

    .logo {
        height: 60px
    }

    .search-input {
        padding: 16px 50px 16px 20px;
        font-size: 14px
    }

    .primary-button,
    .secondary-button {
        padding: 14px 24px;
        font-size: 14px
    }

    .stat-number {
        font-size: 2rem
    }

    .features-section,
    .faq-section,
    .cta-section {
        padding: 60px 15px
    }

    .feature-card {
        padding: 30px 20px
    }

    .faq-question {
        padding: 20px;
        font-size: 1rem
    }
}

.hero-section-minimal {
    position: relative;
    z-index: 10;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px
}

.hero-content-minimal {
    max-width: 650px;
    text-align: center;
    animation: fadeInUp .8s ease-out .2s both
}

.logo-container-minimal {
    margin-bottom: 50px;
    animation: fadeInScale 1s ease-out .3s both
}

.logo-minimal {
    height: 100px;
    width: auto;
    transition: all .3s ease
}

.logo-minimal:hover {
    transform: scale(1.05)
}

.hero-title-minimal {
    font-size: 3.5rem;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 24px;
    letter-spacing: -.02em;
    color: #fff;
    animation: fadeInUp .8s ease-out .5s both
}

.white-text {
    color: #fff
}

.hero-subtitle-minimal {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 50px;
    line-height: 1.6;
    animation: fadeInUp .8s ease-out .7s both
}

.search-container-minimal {
    position: relative;
    max-width: 500px;
    margin: 0 auto 40px;
    animation: fadeInUp .8s ease-out .9s both
}

.search-input-minimal {
    width: 100%;
    padding: 18px 60px 18px 24px;
    background: #000;
    border: 1px solid white;
    border-radius: 50px;
    color: #fff;
    font-size: 16px;
    outline: none;
    transition: all .3s ease
}

.search-input-minimal:focus {
    border-color: #fff;
    background: #000;
    box-shadow: 0 0 0 3px #fff
}

.search-input-minimal::-moz-placeholder {
    color: #fff
}

.search-input-minimal::placeholder {
    color: #fff
}

.search-button-minimal {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: #fff;
    border: none;
    border-radius: 50%;
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease
}

.search-button-minimal:hover {
    transform: translateY(-50%) scale(1.1)
}

.primary-button-minimal {
    background: #fff;
    color: #000;
    padding: 18px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all .3s ease;
    animation: fadeInUp .8s ease-out 1.1s both
}

.primary-button-minimal:hover {
    transform: translateY(-3px)
}

.button-icon-minimal {
    font-size: 14px;
    transition: transform .3s ease
}

.primary-button-minimal:hover .button-icon-minimal {
    transform: translate(3px)
}

@media (max-width: 768px) {
    .hero-title-minimal {
        font-size: 2.5rem
    }

    .hero-subtitle-minimal {
        font-size: 1.1rem
    }

    .logo-minimal {
        height: 80px
    }
}

@media (max-width: 480px) {
    .hero-section-minimal {
        padding: 60px 20px
    }

    .hero-title-minimal {
        font-size: 2rem
    }

    .hero-subtitle-minimal {
        font-size: 1rem
    }

    .logo-minimal {
        height: 70px
    }

    .search-input-minimal {
        padding: 16px 50px 16px 20px;
        font-size: 14px
    }

    .primary-button-minimal {
        padding: 16px 32px;
        font-size: 15px
    }
}

*,
:before,
:after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

*,
:before,
:after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

:before,
:after {
    --tw-content: ""
}

html,
:host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
input:where([type=button]),
input:where([type=reset]),
input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
    margin: 0
}

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

ol,
ul,
menu {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

button,
[role=button] {
    cursor: pointer
}

:disabled {
    cursor: default
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block;
    vertical-align: middle
}

img,
video {
    max-width: 100%;
    height: auto
}

[hidden]:where(:not([hidden=until-found])) {
    display: none
}

:root {
    --background: 0 0% 0%;
    --foreground: 0 0% 98%;
    --card: 0 0% 6%;
    --card-foreground: 0 0% 98%;
    --popover: 0 0% 3%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 100%;
    --primary-foreground: 0 0% 0%;
    --secondary: 0 0% 15%;
    --secondary-foreground: 0 0% 100%;
    --muted: 0 0% 10%;
    --muted-foreground: 0 0% 70%;
    --accent: 0 0% 100%;
    --accent-foreground: 0 0% 0%;
    --destructive: 0 0% 30%;
    --destructive-foreground: 0 0% 100%;
    --border: 0 0% 20%;
    --input: 0 0% 15%;
    --ring: 0 0% 100%;
    --chart-1: 0 0% 100%;
    --chart-2: 0 0% 85%;
    --chart-3: 0 0% 75%;
    --chart-4: 0 0% 65%;
    --chart-5: 0 0% 55%;
    --radius: .5rem
}

.container {
    width: 100%
}

@media (min-width: 600px) {
    .container {
        max-width: 600px
    }
}

@media (min-width: 640px) {
    .container {
        max-width: 640px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: 1200px
    }
}

@media (min-width: 1280px) {
    .container {
        max-width: 1280px
    }
}

@media (min-width: 1536px) {
    .container {
        max-width: 1536px
    }
}

@media (min-width: 1660px) {
    .container {
        max-width: 1660px
    }
}

.pointer-events-none {
    pointer-events: none
}

.pointer-events-auto {
    pointer-events: auto
}

.visible {
    visibility: visible
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.inset-0 {
    inset: 0
}

.-bottom-2 {
    bottom: -.5rem
}

.-left-2 {
    left: -.5rem
}

.-right-2 {
    right: -.5rem
}

.-top-2 {
    top: -.5rem
}

.bottom-0 {
    bottom: 0
}

.bottom-1\/2 {
    bottom: 50%
}

.bottom-3 {
    bottom: .75rem
}

.bottom-\[100px\] {
    bottom: 100px
}

.bottom-\[40px\] {
    bottom: 40px
}

.bottom-\[50px\] {
    bottom: 50px
}

.left-0 {
    left: 0
}

.left-1\/2 {
    left: 50%
}

.left-2 {
    left: .5rem
}

.left-3 {
    left: .75rem
}

.left-\[-12px\] {
    left: -12px
}

.right-0 {
    right: 0
}

.right-1\/2 {
    right: 50%
}

.right-2 {
    right: .5rem
}

.right-3 {
    right: .75rem
}

.right-4 {
    right: 1rem
}

.right-\[-12px\] {
    right: -12px
}

.right-\[20px\] {
    right: 20px
}

.right-\[40px\] {
    right: 40px
}

.top-0 {
    top: 0
}

.top-1\/2 {
    top: 50%
}

.top-2 {
    top: .5rem
}

.top-3 {
    top: .75rem
}

.top-\[20px\] {
    top: 20px
}

.top-full {
    top: 100%
}

.z-10 {
    z-index: 10
}

.z-20 {
    z-index: 20
}

.z-30 {
    z-index: 30
}

.z-40 {
    z-index: 40
}

.z-50 {
    z-index: 50
}

.z-\[1000000\] {
    z-index: 1000000
}

.z-\[1000001\] {
    z-index: 1000001
}

.z-\[100000\] {
    z-index: 100000
}

.z-\[100\] {
    z-index: 100
}

.z-\[1\] {
    z-index: 1
}

.z-\[2\] {
    z-index: 2
}

.z-\[5\] {
    z-index: 5
}

.float-right {
    float: right
}

.float-left {
    float: left
}

.mx-1 {
    margin-left: .25rem;
    margin-right: .25rem
}

.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem
}

.mx-8 {
    margin-left: 2rem;
    margin-right: 2rem
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.\!mt-0 {
    margin-top: 0 !important
}

.-mr-2 {
    margin-right: -.5rem
}

.mb-0 {
    margin-bottom: 0
}

.mb-0\.5 {
    margin-bottom: .125rem
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-1\.5 {
    margin-bottom: .375rem
}

.mb-12 {
    margin-bottom: 3rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-3 {
    margin-bottom: .75rem
}

.mb-4 {
    margin-bottom: 1rem
}

.mb-6 {
    margin-bottom: 1.5rem
}

.mb-8 {
    margin-bottom: 2rem
}

.ml-1\.5 {
    margin-left: .375rem
}

.ml-2 {
    margin-left: .5rem
}

.ml-3 {
    margin-left: .75rem
}

.ml-4 {
    margin-left: 1rem
}

.mr-1 {
    margin-right: .25rem
}

.mr-2 {
    margin-right: .5rem
}

.mt-0 {
    margin-top: 0
}

.mt-1 {
    margin-top: .25rem
}

.mt-10 {
    margin-top: 2.5rem
}

.mt-12 {
    margin-top: 3rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-20 {
    margin-top: 5rem
}

.mt-3 {
    margin-top: .75rem
}

.mt-4 {
    margin-top: 1rem
}

.mt-5 {
    margin-top: 1.25rem
}

.mt-6 {
    margin-top: 1.5rem
}

.mt-8 {
    margin-top: 2rem
}

.mt-\[1px\] {
    margin-top: 1px
}

.mt-\[2px\] {
    margin-top: 2px
}

.mt-\[60px\] {
    margin-top: 60px
}

.mt-\[64px\] {
    margin-top: 64px
}

.mt-\[74px\] {
    margin-top: 74px
}

.line-clamp-1 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
}

.line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

.line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.grid {
    display: grid
}

.hidden {
    display: none
}

.aspect-\[2\/3\] {
    aspect-ratio: 2/3
}

.aspect-\[3\/1\] {
    aspect-ratio: 3/1
}

.aspect-square {
    aspect-ratio: 1 / 1
}

.aspect-video {
    aspect-ratio: 16 / 9
}

.h-0\.5 {
    height: .125rem
}

.h-1 {
    height: .25rem
}

.h-1\/2 {
    height: 50%
}

.h-10 {
    height: 2.5rem
}

.h-12 {
    height: 3rem
}

.h-16 {
    height: 4rem
}

.h-2 {
    height: .5rem
}

.h-20 {
    height: 5rem
}

.h-3 {
    height: .75rem
}

.h-4 {
    height: 1rem
}

.h-5 {
    height: 1.25rem
}

.h-6 {
    height: 1.5rem
}

.h-7 {
    height: 1.75rem
}

.h-8 {
    height: 2rem
}

.h-9 {
    height: 2.25rem
}

.h-\[14px\] {
    height: 14px
}

.h-\[15px\] {
    height: 15px
}

.h-\[16px\] {
    height: 16px
}

.h-\[180px\] {
    height: 180px
}

.h-\[18px\] {
    height: 18px
}

.h-\[20px\] {
    height: 20px
}

.h-\[22px\] {
    height: 22px
}

.h-\[24px\] {
    height: 24px
}

.h-\[250px\] {
    height: 250px
}

.h-\[28px\] {
    height: 28px
}

.h-\[2px\] {
    height: 2px
}

.h-\[300px\] {
    height: 300px
}

.h-\[30px\] {
    height: 30px
}

.h-\[32px\] {
    height: 32px
}

.h-\[34px\] {
    height: 34px
}

.h-\[35px\] {
    height: 35px
}

.h-\[38px\] {
    height: 38px
}

.h-\[42px\] {
    height: 42px
}

.h-\[45px\] {
    height: 45px
}

.h-\[480px\] {
    height: 480px
}

.h-\[48px\] {
    height: 48px
}

.h-\[55px\] {
    height: 55px
}

.h-\[600px\] {
    height: 600px
}

.h-\[60px\] {
    height: 60px
}

.h-\[65px\] {
    height: 65px
}

.h-\[70px\] {
    height: 70px
}

.h-\[75px\] {
    height: 75px
}

.h-\[90px\] {
    height: 90px
}

.h-auto {
    height: auto
}

.h-fit {
    height: -moz-fit-content;
    height: fit-content
}

.h-full {
    height: 100%
}

.h-px {
    height: 1px
}

.h-screen {
    height: 100vh
}

.max-h-\[200px\] {
    max-height: 200px
}

.max-h-\[600px\] {
    max-height: 600px
}

.max-h-\[60vh\] {
    max-height: 60vh
}

.max-h-\[85vh\] {
    max-height: 85vh
}

.max-h-\[90vh\] {
    max-height: 90vh
}

.max-h-\[calc\(100vh-200px\)\] {
    max-height: calc(100vh - 200px)
}

.min-h-\[100px\] {
    min-height: 100px
}

.min-h-screen {
    min-height: 100vh
}

.w-0 {
    width: 0px
}

.w-1 {
    width: .25rem
}

.w-1\/2 {
    width: 50%
}

.w-1\/3 {
    width: 33.333333%
}

.w-1\/4 {
    width: 25%
}

.w-10 {
    width: 2.5rem
}

.w-16 {
    width: 4rem
}

.w-2 {
    width: .5rem
}

.w-3 {
    width: .75rem
}

.w-3\/4 {
    width: 75%
}

.w-4 {
    width: 1rem
}

.w-5 {
    width: 1.25rem
}

.w-6 {
    width: 1.5rem
}

.w-7 {
    width: 1.75rem
}

.w-8 {
    width: 2rem
}

.w-9 {
    width: 2.25rem
}

.w-\[100px\] {
    width: 100px
}

.w-\[120px\] {
    width: 120px
}

.w-\[130px\] {
    width: 130px
}

.w-\[140px\] {
    width: 140px
}

.w-\[150px\] {
    width: 150px
}

.w-\[160px\] {
    width: 160px
}

.w-\[170px\] {
    width: 170px
}

.w-\[180px\] {
    width: 180px
}

.w-\[18px\] {
    width: 18px
}

.w-\[200px\] {
    width: 200px
}

.w-\[20px\] {
    width: 20px
}

.w-\[220px\] {
    width: 220px
}

.w-\[250px\] {
    width: 250px
}

.w-\[300px\] {
    width: 300px
}

.w-\[30px\] {
    width: 30px
}

.w-\[320px\] {
    width: 320px
}

.w-\[35px\] {
    width: 35px
}

.w-\[38px\] {
    width: 38px
}

.w-\[40px\] {
    width: 40px
}

.w-\[450px\] {
    width: 450px
}

.w-\[45px\] {
    width: 45px
}

.w-\[48\%\] {
    width: 48%
}

.w-\[48px\] {
    width: 48px
}

.w-\[50\%\] {
    width: 50%
}

.w-\[50px\] {
    width: 50px
}

.w-\[55\%\] {
    width: 55%
}

.w-\[55px\] {
    width: 55px
}

.w-\[60\%\] {
    width: 60%
}

.w-\[600px\] {
    width: 600px
}

.w-\[60px\] {
    width: 60px
}

.w-\[70\%\] {
    width: 70%
}

.w-\[70px\] {
    width: 70px
}

.w-\[80\%\] {
    width: 80%
}

.w-\[80px\] {
    width: 80px
}

.w-\[85\%\] {
    width: 85%
}

.w-\[90\%\] {
    width: 90%
}

.w-\[90px\] {
    width: 90px
}

.w-auto {
    width: auto
}

.w-fit {
    width: -moz-fit-content;
    width: fit-content
}

.w-full {
    width: 100%
}

.min-w-0 {
    min-width: 0px
}

.min-w-\[180px\] {
    min-width: 180px
}

.min-w-\[65px\] {
    min-width: 65px
}

.max-w-2xl {
    max-width: 42rem
}

.max-w-3xl {
    max-width: 48rem
}

.max-w-4xl {
    max-width: 56rem
}

.max-w-\[1600px\] {
    max-width: 1600px
}

.max-w-\[1920px\] {
    max-width: 1920px
}

.max-w-\[2048px\] {
    max-width: 2048px
}

.max-w-\[500px\] {
    max-width: 500px
}

.max-w-\[920px\] {
    max-width: 920px
}

.max-w-lg {
    max-width: 32rem
}

.max-w-md {
    max-width: 28rem
}

.max-w-none {
    max-width: none
}

.flex-1 {
    flex: 1 1 0%
}

.flex-shrink-0,
.shrink-0 {
    flex-shrink: 0
}

.-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-x-\[-100px\] {
    --tw-translate-x: -100px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-x-\[-200px\] {
    --tw-translate-x: -200px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-2 {
    --tw-translate-y: .5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-4 {
    --tw-translate-y: 1rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-\[-50px\] {
    --tw-translate-y: -50px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-\[50px\] {
    --tw-translate-y: 50px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.scale-0 {
    --tw-scale-x: 0;
    --tw-scale-y: 0;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.scale-150 {
    --tw-scale-x: 1.5;
    --tw-scale-y: 1.5;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes glow {
    0% {
        box-shadow: 0 0 20px #c871f4, 0 0 30px #c871f4, 0 0 40px #c871f4
    }

    to {
        box-shadow: 0 0 30px #c871f4, 0 0 40px #c871f4, 0 0 50px #c871f4
    }
}

.animate-glow {
    animation: glow 2s ease-in-out infinite alternate
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

.animate-spin {
    animation: spin 1s linear infinite
}

.cursor-default {
    cursor: default
}

.cursor-not-allowed {
    cursor: not-allowed
}

.cursor-pointer {
    cursor: pointer
}

.resize-none {
    resize: none
}

.resize {
    resize: both
}

.appearance-none {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr))
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr))
}

.grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr))
}

.grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr))
}

.grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr))
}

.grid-cols-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr))
}

.grid-cols-\[minmax\(0\,30\%\)\,minmax\(0\,70\%\)\] {
    grid-template-columns: minmax(0, 30%) minmax(0, 70%)
}

.grid-cols-\[minmax\(0\,70\%\)\,minmax\(0\,30\%\)\] {
    grid-template-columns: minmax(0, 70%) minmax(0, 30%)
}

.grid-cols-\[minmax\(0\,75\%\)\,minmax\(0\,25\%\)\] {
    grid-template-columns: minmax(0, 75%) minmax(0, 25%)
}

.flex-row {
    flex-direction: row
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-start {
    align-items: flex-start
}

.items-center {
    align-items: center
}

.items-baseline {
    align-items: baseline
}

.justify-start {
    justify-content: flex-start
}

.justify-end {
    justify-content: flex-end
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.justify-around {
    justify-content: space-around
}

.gap-1 {
    gap: .25rem
}

.gap-1\.5 {
    gap: .375rem
}

.gap-2 {
    gap: .5rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-6 {
    gap: 1.5rem
}

.gap-8 {
    gap: 2rem
}

.gap-x-1 {
    -moz-column-gap: .25rem;
    column-gap: .25rem
}

.gap-x-2 {
    -moz-column-gap: .5rem;
    column-gap: .5rem
}

.gap-x-2\.5 {
    -moz-column-gap: .625rem;
    column-gap: .625rem
}

.gap-x-3 {
    -moz-column-gap: .75rem;
    column-gap: .75rem
}

.gap-x-4 {
    -moz-column-gap: 1rem;
    column-gap: 1rem
}

.gap-x-5 {
    -moz-column-gap: 1.25rem;
    column-gap: 1.25rem
}

.gap-x-6 {
    -moz-column-gap: 1.5rem;
    column-gap: 1.5rem
}

.gap-x-\[1px\] {
    -moz-column-gap: 1px;
    column-gap: 1px
}

.gap-x-\[5px\] {
    -moz-column-gap: 5px;
    column-gap: 5px
}

.gap-x-\[7px\] {
    -moz-column-gap: 7px;
    column-gap: 7px
}

.gap-y-1 {
    row-gap: .25rem
}

.gap-y-1\.5 {
    row-gap: .375rem
}

.gap-y-10 {
    row-gap: 2.5rem
}

.gap-y-2 {
    row-gap: .5rem
}

.gap-y-3 {
    row-gap: .75rem
}

.gap-y-4 {
    row-gap: 1rem
}

.gap-y-5 {
    row-gap: 1.25rem
}

.gap-y-8 {
    row-gap: 2rem
}

.gap-y-\[2px\] {
    row-gap: 2px
}

.space-x-0\.5>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.125rem * var(--tw-space-x-reverse));
    margin-left: calc(.125rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-1>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.25rem * var(--tw-space-x-reverse));
    margin-left: calc(.25rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-1\.5>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.375rem * var(--tw-space-x-reverse));
    margin-left: calc(.375rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-2>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.5rem * var(--tw-space-x-reverse));
    margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-3>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.75rem * var(--tw-space-x-reverse));
    margin-left: calc(.75rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-4>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1rem * var(--tw-space-x-reverse));
    margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-5>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1.25rem * var(--tw-space-x-reverse));
    margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-\[1px\]>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(1px * var(--tw-space-x-reverse));
    margin-left: calc(1px * calc(1 - var(--tw-space-x-reverse)))
}

.space-x-\[2px\]>:not([hidden])~:not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(2px * var(--tw-space-x-reverse));
    margin-left: calc(2px * calc(1 - var(--tw-space-x-reverse)))
}

.space-y-0\.5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.125rem * var(--tw-space-y-reverse))
}

.space-y-1>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.25rem * var(--tw-space-y-reverse))
}

.space-y-1\.5>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.375rem * var(--tw-space-y-reverse))
}

.space-y-2>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.5rem * var(--tw-space-y-reverse))
}

.space-y-3>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.75rem * var(--tw-space-y-reverse))
}

.space-y-4>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse))
}

.space-y-7>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.75rem * var(--tw-space-y-reverse))
}

.space-y-8>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse))
}

.self-center {
    align-self: center
}

.overflow-hidden {
    overflow: hidden
}

.overflow-x-auto {
    overflow-x: auto
}

.overflow-y-auto {
    overflow-y: auto
}

.overflow-y-hidden {
    overflow-y: hidden
}

.overflow-x-scroll {
    overflow-x: scroll
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.text-wrap {
    text-wrap: wrap
}

.rounded {
    border-radius: .25rem
}

.rounded-2xl {
    border-radius: 1rem
}

.rounded-3xl {
    border-radius: 1.5rem
}

.rounded-\[2px\] {
    border-radius: 2px
}

.rounded-\[4px\] {
    border-radius: 4px
}

.rounded-full {
    border-radius: 9999px
}

.rounded-lg {
    border-radius: var(--radius)
}

.rounded-md {
    border-radius: calc(var(--radius) - 2px)
}

.rounded-none {
    border-radius: 0
}

.rounded-sm {
    border-radius: calc(var(--radius) - 4px)
}

.rounded-xl {
    border-radius: .75rem
}

.rounded-b-lg {
    border-bottom-right-radius: var(--radius);
    border-bottom-left-radius: var(--radius)
}

.rounded-l-\[4px\] {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

.rounded-l-\[5px\] {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px
}

.rounded-r-\[5px\] {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px
}

.rounded-br {
    border-bottom-right-radius: .25rem
}

.border {
    border-width: 1px
}

.border-2 {
    border-width: 2px
}

.border-b {
    border-bottom-width: 1px
}

.border-b-2 {
    border-bottom-width: 2px
}

.border-b-\[1px\] {
    border-bottom-width: 1px
}

.border-l-2 {
    border-left-width: 2px
}

.border-r-2 {
    border-right-width: 2px
}

.border-t {
    border-top-width: 1px
}

.border-t-2 {
    border-top-width: 2px
}

.border-\[\#2a2a2a\] {
    --tw-border-opacity: 1;
    border-color: rgb(42 42 42 / var(--tw-border-opacity, 1))
}

.border-\[\#3a3a3a\] {
    --tw-border-opacity: 1;
    border-color: rgb(58 58 58 / var(--tw-border-opacity, 1))
}

.border-\[\#ffffff1a\] {
    border-color: #ffffff1a
}

.border-blue-500 {
    --tw-border-opacity: 1;
    border-color: rgb(59 130 246 / var(--tw-border-opacity, 1))
}

.border-blue-500\/30 {
    border-color: #3b82f64d
}

.border-gray-500\/30 {
    border-color: #6b72804d
}

.border-gray-800 {
    --tw-border-opacity: 1;
    border-color: rgb(31 41 55 / var(--tw-border-opacity, 1))
}

.border-gray-800\/50 {
    border-color: #1f293780
}

.border-green-500\/30 {
    border-color: #22c55e4d
}

.border-green-500\/50 {
    border-color: #22c55e80
}

.border-purple-500\/30 {
    border-color: #a855f74d
}

.border-red-500\/30 {
    border-color: #ef44444d
}

.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255 / var(--tw-border-opacity, 1))
}

.border-white\/0 {
    border-color: #fff0
}

.border-white\/10 {
    border-color: #ffffff1a
}

.border-white\/20 {
    border-color: #fff3
}

.border-white\/30 {
    border-color: #ffffff4d
}

.border-white\/5 {
    border-color: #ffffff0d
}

.border-yellow-500\/30 {
    border-color: #eab3084d
}

.border-zinc-700 {
    --tw-border-opacity: 1;
    border-color: rgb(63 63 70 / var(--tw-border-opacity, 1))
}

.border-zinc-700\/30 {
    border-color: #3f3f464d
}

.border-zinc-800 {
    --tw-border-opacity: 1;
    border-color: rgb(39 39 42 / var(--tw-border-opacity, 1))
}

.border-zinc-800\/50 {
    border-color: #27272a80
}

.border-t-white {
    --tw-border-opacity: 1;
    border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1))
}

.bg-\[\#0a0a0a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1))
}

.bg-\[\#111111\] {
    --tw-bg-opacity: 1;
    background-color: rgb(17 17 17 / var(--tw-bg-opacity, 1))
}

.bg-\[\#121212\] {
    --tw-bg-opacity: 1;
    background-color: rgb(18 18 18 / var(--tw-bg-opacity, 1))
}

.bg-\[\#141414\] {
    --tw-bg-opacity: 1;
    background-color: rgb(20 20 20 / var(--tw-bg-opacity, 1))
}

.bg-\[\#18181B\] {
    --tw-bg-opacity: 1;
    background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1))
}

.bg-\[\#1a1a1a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1))
}

.bg-\[\#1f1f1f\] {
    --tw-bg-opacity: 1;
    background-color: rgb(31 31 31 / var(--tw-bg-opacity, 1))
}

.bg-\[\#202020\] {
    --tw-bg-opacity: 1;
    background-color: rgb(32 32 32 / var(--tw-bg-opacity, 1))
}

.bg-\[\#272727\] {
    --tw-bg-opacity: 1;
    background-color: rgb(39 39 39 / var(--tw-bg-opacity, 1))
}

.bg-\[\#27272A\] {
    --tw-bg-opacity: 1;
    background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1))
}

.bg-\[\#2a2a2a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(42 42 42 / var(--tw-bg-opacity, 1))
}

.bg-\[\#2a2a2a\]\/75 {
    background-color: #2a2a2abf
}

.bg-\[\#373646\] {
    --tw-bg-opacity: 1;
    background-color: rgb(55 54 70 / var(--tw-bg-opacity, 1))
}

.bg-\[\#373737\] {
    --tw-bg-opacity: 1;
    background-color: rgb(55 55 55 / var(--tw-bg-opacity, 1))
}

.bg-\[\#3F3F46\] {
    --tw-bg-opacity: 1;
    background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1))
}

.bg-\[\#3e3c50\] {
    --tw-bg-opacity: 1;
    background-color: rgb(62 60 80 / var(--tw-bg-opacity, 1))
}

.bg-\[\#404040\] {
    --tw-bg-opacity: 1;
    background-color: rgb(64 64 64 / var(--tw-bg-opacity, 1))
}

.bg-\[\#444445\] {
    --tw-bg-opacity: 1;
    background-color: rgb(68 68 69 / var(--tw-bg-opacity, 1))
}

.bg-\[\#B0E3AF\] {
    --tw-bg-opacity: 1;
    background-color: rgb(176 227 175 / var(--tw-bg-opacity, 1))
}

.bg-\[\#B9E7FF\] {
    --tw-bg-opacity: 1;
    background-color: rgb(185 231 255 / var(--tw-bg-opacity, 1))
}

.bg-\[\#a199a3\] {
    --tw-bg-opacity: 1;
    background-color: rgb(161 153 163 / var(--tw-bg-opacity, 1))
}

.bg-\[\#e0e0e0\] {
    --tw-bg-opacity: 1;
    background-color: rgb(224 224 224 / var(--tw-bg-opacity, 1))
}

.bg-\[\#ffbade\] {
    --tw-bg-opacity: 1;
    background-color: rgb(255 186 222 / var(--tw-bg-opacity, 1))
}

.bg-black {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.bg-black\/20 {
    background-color: #0003
}

.bg-black\/40 {
    background-color: #0006
}

.bg-black\/70 {
    background-color: #000000b3
}

.bg-black\/80 {
    background-color: #000c
}

.bg-black\/90 {
    background-color: #000000e6
}

.bg-black\/95 {
    background-color: #000000f2
}

.bg-blue-500 {
    --tw-bg-opacity: 1;
    background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1))
}

.bg-blue-500\/20 {
    background-color: #3b82f633
}

.bg-blue-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

.bg-gray-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1))
}

.bg-gray-500\/20 {
    background-color: #6b728033
}

.bg-gray-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1))
}

.bg-gray-700\/50 {
    background-color: #37415180
}

.bg-gray-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1))
}

.bg-gray-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1))
}

.bg-green-500\/20 {
    background-color: #22c55e33
}

.bg-purple-500\/20 {
    background-color: #a855f733
}

.bg-red-500\/20 {
    background-color: #ef444433
}

.bg-red-500\/90 {
    background-color: #ef4444e6
}

.bg-red-600 {
    --tw-bg-opacity: 1;
    background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1))
}

.bg-transparent {
    background-color: transparent
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.bg-white\/10 {
    background-color: #ffffff1a
}

.bg-white\/15 {
    background-color: #ffffff26
}

.bg-white\/20 {
    background-color: #fff3
}

.bg-white\/5 {
    background-color: #ffffff0d
}

.bg-white\/80 {
    background-color: #fffc
}

.bg-white\/90 {
    background-color: #ffffffe6
}

.bg-yellow-500\/20 {
    background-color: #eab30833
}

.bg-zinc-100 {
    --tw-bg-opacity: 1;
    background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1))
}

.bg-zinc-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1))
}

.bg-zinc-800\/50 {
    background-color: #27272a80
}

.bg-zinc-800\/80 {
    background-color: #27272acc
}

.bg-zinc-900 {
    --tw-bg-opacity: 1;
    background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1))
}

.bg-zinc-900\/80 {
    background-color: #18181bcc
}

.bg-opacity-10 {
    --tw-bg-opacity: .1
}

.bg-opacity-100 {
    --tw-bg-opacity: 1
}

.bg-opacity-50 {
    --tw-bg-opacity: .5
}

.bg-opacity-70 {
    --tw-bg-opacity: .7
}

.bg-opacity-80 {
    --tw-bg-opacity: .8
}

.bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
}

.bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops))
}

.bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops))
}

.from-black\/40 {
    --tw-gradient-from: rgb(0 0 0 / .4) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-black\/50 {
    --tw-gradient-from: rgb(0 0 0 / .5) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-black\/80 {
    --tw-gradient-from: rgb(0 0 0 / .8) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-black\/90 {
    --tw-gradient-from: rgb(0 0 0 / .9) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-blue-500 {
    --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-gray-800\/80 {
    --tw-gradient-from: rgb(31 41 55 / .8) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-gray-900 {
    --tw-gradient-from: #111827 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-purple-500\/20 {
    --tw-gradient-from: rgb(168 85 247 / .2) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-transparent {
    --tw-gradient-from: transparent var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-white\/5 {
    --tw-gradient-from: rgb(255 255 255 / .05) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.from-white\/60 {
    --tw-gradient-from: rgb(255 255 255 / .6) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.via-black\/50 {
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-black\/60 {
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .6) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-transparent {
    --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-white\/10 {
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.via-white\/20 {
    --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)
}

.to-blue-500\/20 {
    --tw-gradient-to: rgb(59 130 246 / .2) var(--tw-gradient-to-position)
}

.to-gray-800 {
    --tw-gradient-to: #1f2937 var(--tw-gradient-to-position)
}

.to-gray-900\/90 {
    --tw-gradient-to: rgb(17 24 39 / .9) var(--tw-gradient-to-position)
}

.to-purple-600 {
    --tw-gradient-to: #9333ea var(--tw-gradient-to-position)
}

.to-transparent {
    --tw-gradient-to: transparent var(--tw-gradient-to-position)
}

.to-white\/10 {
    --tw-gradient-to: rgb(255 255 255 / .1) var(--tw-gradient-to-position)
}

.to-white\/90 {
    --tw-gradient-to: rgb(255 255 255 / .9) var(--tw-gradient-to-position)
}

.object-contain {
    -o-object-fit: contain;
    object-fit: contain
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.p-1 {
    padding: .25rem
}

.p-1\.5 {
    padding: .375rem
}

.p-2 {
    padding: .5rem
}

.p-2\.5 {
    padding: .625rem
}

.p-3 {
    padding: .75rem
}

.p-4 {
    padding: 1rem
}

.p-6 {
    padding: 1.5rem
}

.p-\[10px\] {
    padding: 10px
}

.px-1 {
    padding-left: .25rem;
    padding-right: .25rem
}

.px-1\.5 {
    padding-left: .375rem;
    padding-right: .375rem
}

.px-2 {
    padding-left: .5rem;
    padding-right: .5rem
}

.px-2\.5 {
    padding-left: .625rem;
    padding-right: .625rem
}

.px-3 {
    padding-left: .75rem;
    padding-right: .75rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

.px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem
}

.px-\[4px\] {
    padding-left: 4px;
    padding-right: 4px
}

.px-\[6px\] {
    padding-left: 6px;
    padding-right: 6px
}

.px-\[7px\] {
    padding-left: 7px;
    padding-right: 7px
}

.px-\[8px\] {
    padding-left: 8px;
    padding-right: 8px
}

.py-0\.5 {
    padding-top: .125rem;
    padding-bottom: .125rem
}

.py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.py-1\.5 {
    padding-top: .375rem;
    padding-bottom: .375rem
}

.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-2\.5 {
    padding-top: .625rem;
    padding-bottom: .625rem
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.py-\[1px\] {
    padding-top: 1px;
    padding-bottom: 1px
}

.py-\[2px\] {
    padding-top: 2px;
    padding-bottom: 2px
}

.py-\[3px\] {
    padding-top: 3px;
    padding-bottom: 3px
}

.py-\[5px\] {
    padding-top: 5px;
    padding-bottom: 5px
}

.py-\[9px\] {
    padding-top: 9px;
    padding-bottom: 9px
}

.pb-0\.5 {
    padding-bottom: .125rem
}

.pb-1 {
    padding-bottom: .25rem
}

.pb-12 {
    padding-bottom: 3rem
}

.pb-2 {
    padding-bottom: .5rem
}

.pb-3 {
    padding-bottom: .75rem
}

.pb-4 {
    padding-bottom: 1rem
}

.pb-6 {
    padding-bottom: 1.5rem
}

.pb-\[140\%\] {
    padding-bottom: 140%
}

.pl-1 {
    padding-left: .25rem
}

.pr-2 {
    padding-right: .5rem
}

.pt-1 {
    padding-top: .25rem
}

.pt-16 {
    padding-top: 4rem
}

.pt-2 {
    padding-top: .5rem
}

.pt-20 {
    padding-top: 5rem
}

.pt-3 {
    padding-top: .75rem
}

.pt-4 {
    padding-top: 1rem
}

.pt-6 {
    padding-top: 1.5rem
}

.pt-\[20px\] {
    padding-top: 20px
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}

.text-5xl {
    font-size: 3rem;
    line-height: 1
}

.text-6xl {
    font-size: 3.75rem;
    line-height: 1
}

.text-\[0\.95em\] {
    font-size: .95em
}

.text-\[10px\] {
    font-size: 10px
}

.text-\[11px\] {
    font-size: 11px
}

.text-\[12px\] {
    font-size: 12px
}

.text-\[13px\] {
    font-size: 13px
}

.text-\[14px\] {
    font-size: 14px
}

.text-\[15px\] {
    font-size: 15px
}

.text-\[16px\] {
    font-size: 16px
}

.text-\[17px\] {
    font-size: 17px
}

.text-\[18px\] {
    font-size: 18px
}

.text-\[1em\] {
    font-size: 1em
}

.text-\[20px\] {
    font-size: 20px
}

.text-\[28px\] {
    font-size: 28px
}

.text-\[48px\] {
    font-size: 48px
}

.text-\[50px\] {
    font-size: 50px
}

.text-\[8px\] {
    font-size: 8px
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.text-xs {
    font-size: .75rem;
    line-height: 1rem
}

.font-\[500\] {
    font-weight: 500
}

.font-bold {
    font-weight: 700
}

.font-light {
    font-weight: 300
}

.font-medium {
    font-weight: 500
}

.font-normal {
    font-weight: 400
}

.font-semibold {
    font-weight: 600
}

.capitalize {
    text-transform: capitalize
}

.leading-4 {
    line-height: 1rem
}

.leading-5 {
    line-height: 1.25rem
}

.leading-6 {
    line-height: 1.5rem
}

.leading-none {
    line-height: 1
}

.leading-relaxed {
    line-height: 1.625
}

.leading-snug {
    line-height: 1.375
}

.leading-tight {
    line-height: 1.25
}

.tracking-tight {
    letter-spacing: -.025em
}

.tracking-wide {
    letter-spacing: .025em
}

.text-\[\#D2D2D3\] {
    --tw-text-opacity: 1;
    color: rgb(210 210 211 / var(--tw-text-opacity, 1))
}

.text-\[\#b7b7b8\] {
    --tw-text-opacity: 1;
    color: rgb(183 183 184 / var(--tw-text-opacity, 1))
}

.text-\[\#d7d7d8\] {
    --tw-text-opacity: 1;
    color: rgb(215 215 216 / var(--tw-text-opacity, 1))
}

.text-\[\#e0e0e0\] {
    --tw-text-opacity: 1;
    color: rgb(224 224 224 / var(--tw-text-opacity, 1))
}

.text-\[\#ffbade\] {
    --tw-text-opacity: 1;
    color: rgb(255 186 222 / var(--tw-text-opacity, 1))
}

.text-\[\#ffc107\] {
    --tw-text-opacity: 1;
    color: rgb(255 193 7 / var(--tw-text-opacity, 1))
}

.text-\[\#ffffff80\] {
    color: #ffffff80
}

.text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.text-blue-400 {
    --tw-text-opacity: 1;
    color: rgb(96 165 250 / var(--tw-text-opacity, 1))
}

.text-gray-100 {
    --tw-text-opacity: 1;
    color: rgb(243 244 246 / var(--tw-text-opacity, 1))
}

.text-gray-200 {
    --tw-text-opacity: 1;
    color: rgb(229 231 235 / var(--tw-text-opacity, 1))
}

.text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.text-gray-400 {
    --tw-text-opacity: 1;
    color: rgb(156 163 175 / var(--tw-text-opacity, 1))
}

.text-gray-500 {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.text-gray-600 {
    --tw-text-opacity: 1;
    color: rgb(75 85 99 / var(--tw-text-opacity, 1))
}

.text-gray-800 {
    --tw-text-opacity: 1;
    color: rgb(31 41 55 / var(--tw-text-opacity, 1))
}

.text-green-300 {
    --tw-text-opacity: 1;
    color: rgb(134 239 172 / var(--tw-text-opacity, 1))
}

.text-green-400 {
    --tw-text-opacity: 1;
    color: rgb(74 222 128 / var(--tw-text-opacity, 1))
}

.text-neutral-200 {
    --tw-text-opacity: 1;
    color: rgb(229 229 229 / var(--tw-text-opacity, 1))
}

.text-orange-400 {
    --tw-text-opacity: 1;
    color: rgb(251 146 60 / var(--tw-text-opacity, 1))
}

.text-purple-300 {
    --tw-text-opacity: 1;
    color: rgb(216 180 254 / var(--tw-text-opacity, 1))
}

.text-purple-400 {
    --tw-text-opacity: 1;
    color: rgb(192 132 252 / var(--tw-text-opacity, 1))
}

.text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.text-white\/20 {
    color: #fff3
}

.text-white\/30 {
    color: #ffffff4d
}

.text-white\/40 {
    color: #fff6
}

.text-white\/50 {
    color: #ffffff80
}

.text-white\/60 {
    color: #fff9
}

.text-white\/70 {
    color: #ffffffb3
}

.text-white\/80 {
    color: #fffc
}

.text-white\/90 {
    color: #ffffffe6
}

.text-yellow-400 {
    --tw-text-opacity: 1;
    color: rgb(250 204 21 / var(--tw-text-opacity, 1))
}

.text-zinc-100 {
    --tw-text-opacity: 1;
    color: rgb(244 244 245 / var(--tw-text-opacity, 1))
}

.text-zinc-300 {
    --tw-text-opacity: 1;
    color: rgb(212 212 216 / var(--tw-text-opacity, 1))
}

.text-zinc-400 {
    --tw-text-opacity: 1;
    color: rgb(161 161 170 / var(--tw-text-opacity, 1))
}

.text-zinc-900 {
    --tw-text-opacity: 1;
    color: rgb(24 24 27 / var(--tw-text-opacity, 1))
}

.underline {
    text-decoration-line: underline
}

.placeholder-white\/40::-moz-placeholder {
    color: #fff6
}

.placeholder-white\/40::placeholder {
    color: #fff6
}

.placeholder-white\/50::-moz-placeholder {
    color: #ffffff80
}

.placeholder-white\/50::placeholder {
    color: #ffffff80
}

.opacity-0 {
    opacity: 0
}

.opacity-100 {
    opacity: 1
}

.opacity-40 {
    opacity: .4
}

.opacity-50 {
    opacity: .5
}

.opacity-60 {
    opacity: .6
}

.opacity-80 {
    opacity: .8
}

.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.3\)\] {
    --tw-shadow: 0 8px 32px rgba(0, 0, 0, .3);
    --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-lg {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-black\/10 {
    --tw-shadow-color: rgb(0 0 0 / .1);
    --tw-shadow: var(--tw-shadow-colored)
}

.shadow-white\/10 {
    --tw-shadow-color: rgb(255 255 255 / .1);
    --tw-shadow: var(--tw-shadow-colored)
}

.ring-1 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.ring-2 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.ring-white {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1))
}

.ring-white\/40 {
    --tw-ring-color: rgb(255 255 255 / .4)
}

.drop-shadow-lg {
    --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.drop-shadow-md {
    --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.backdrop-blur-\[10px\] {
    --tw-backdrop-blur: blur(10px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-blur-xl {
    --tw-backdrop-blur: blur(24px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.delay-100 {
    transition-delay: .1s
}

.delay-200 {
    transition-delay: .2s
}

.duration-200 {
    transition-duration: .2s
}

.duration-300 {
    transition-duration: .3s
}

.duration-500 {
    transition-duration: .5s
}

.duration-700 {
    transition-duration: .7s
}

.ease-in-out {
    transition-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.ease-out {
    transition-timing-function: cubic-bezier(0, 0, .2, 1)
}

@keyframes enter {
    0% {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))
    }
}

@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))
    }
}

.animate-in {
    animation-name: enter;
    animation-duration: .15s;
    --tw-enter-opacity: initial;
    --tw-enter-scale: initial;
    --tw-enter-rotate: initial;
    --tw-enter-translate-x: initial;
    --tw-enter-translate-y: initial
}

.duration-200 {
    animation-duration: .2s
}

.duration-300 {
    animation-duration: .3s
}

.duration-500 {
    animation-duration: .5s
}

.duration-700 {
    animation-duration: .7s
}

.delay-100 {
    animation-delay: .1s
}

.delay-200 {
    animation-delay: .2s
}

.ease-in-out {
    animation-timing-function: cubic-bezier(.4, 0, .2, 1)
}

.ease-out {
    animation-timing-function: cubic-bezier(0, 0, .2, 1)
}

:root {
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 400;
    color-scheme: light dark;
    color: #fff;
    background-color: #000;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    --font-display: "Inter", system-ui, sans-serif;
    --font-body: "Inter", system-ui, sans-serif;
    --letter-spacing-tight: -.025em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: .025em;
    --space-xs: .25rem;
    --space-sm: .5rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);
    --ease-out-quart: cubic-bezier(.25, 1, .5, 1);
    --ease-in-quart: cubic-bezier(.5, 0, .75, 0);
    --ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);
    --white-primary: #fff;
    --white-light: #fff;
    --white-dark: #fff;
    --white-accent: #fff;
    --black-primary: #000;
    --black-soft: #000;
    --black-lighter: #000;
    --black-card: #000
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

body {
    overflow-y: auto
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--white-primary) var(--black-primary)
}

.scrollbar-visible {
    scrollbar-width: thin;
    scrollbar-color: white black
}

.scrollbar-visible::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    background-color: #000
}

.scrollbar-visible::-webkit-scrollbar-track {
    background-color: #000;
    border-radius: 12px
}

.scrollbar-visible::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 12px;
    border: 1px solid black
}

.scrollbar-visible::-webkit-scrollbar-thumb:hover {
    background: #fff
}

.scrollbar-visible::-webkit-scrollbar-button {
    display: none
}

.scrollbar-visible::-webkit-scrollbar-corner {
    background-color: #000
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    background-color: #000
}

::-webkit-scrollbar-track {
    background-color: #000;
    border-radius: 12px
}

::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 12px;
    border: 1px solid black;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

::-webkit-scrollbar-thumb:hover {
    background: #fff
}

::-webkit-scrollbar-button {
    display: none
}

::-webkit-scrollbar-corner {
    background-color: #000
}

.scrollbar-hide::-webkit-scrollbar {
    display: none
}

.is-visible {
    opacity: 1
}

.dot {
    width: 4px;
    height: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    background: #ffffff4d;
    display: inline-block
}

body.theater-mode {
    overflow: hidden
}

body.theater-mode .watch-page-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background: #000;
    padding: 0
}

body.theater-mode .player-container {
    width: 100vw !important;
    height: 100vh !important;
    border-radius: 0 !important
}

body.theater-mode .video-player {
    width: 100% !important;
    height: 100% !important
}

body.theater-mode .episodes-sidebar,
body.theater-mode .anime-info-sidebar {
    display: none
}

body.hide-watch-ui .watch-controls,
body.hide-watch-ui .server-selection,
body.hide-watch-ui .progress-bar,
body.hide-watch-ui .navbar {
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease
}

body.hide-watch-ui:hover .watch-controls,
body.hide-watch-ui:hover .server-selection,
body.hide-watch-ui:hover .progress-bar {
    opacity: 1;
    pointer-events: auto
}

.button-hover-lift {
    transition: all .3s ease;
    position: relative;
    will-change: transform
}

.button-hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px #00000080, 0 0 30px var(--white-primary)
}

.glow-primary {
    box-shadow: 0 0 20px #fff9, 0 0 40px #fff6, 0 0 60px #fff3;
    animation: pulseGlow 2s infinite;
    will-change: box-shadow
}

.glow-soft {
    box-shadow: 0 0 15px #ffffff4d, 0 0 25px #ffffff26
}

.glow-intense {
    box-shadow: 0 0 25px #fffc, 0 0 50px #fff9, 0 0 75px #fff6;
    animation: intensePulse 1.5s infinite;
    will-change: box-shadow, transform
}

.text-glow {
    text-shadow: 0 0 10px rgba(255, 255, 255, .8), 0 0 20px rgba(255, 255, 255, .6), 0 0 30px rgba(255, 255, 255, .4)
}

.border-glow {
    border: 1px solid var(--white-primary);
    box-shadow: 0 0 15px #ffffff80, inset 0 0 15px #ffffff1a
}

@keyframes pulseGlow {

    0%,
    to {
        box-shadow: 0 0 20px var(--white-primary), 0 0 40px var(--white-primary), 0 0 60px var(--white-primary)
    }

    50% {
        box-shadow: 0 0 30px var(--white-primary), 0 0 60px var(--white-primary), 0 0 90px var(--white-primary)
    }
}

@keyframes intensePulse {

    0%,
    to {
        box-shadow: 0 0 25px var(--white-primary), 0 0 50px var(--white-primary), 0 0 75px var(--white-primary);
        transform: scale(1)
    }

    50% {
        box-shadow: 0 0 35px var(--white-primary), 0 0 70px var(--white-primary), 0 0 105px var(--white-primary);
        transform: scale(1.02)
    }
}

.loading-skeleton {
    background: linear-gradient(90deg, #ffffff0d, #ffffff1a, #ffffff0d);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite
}

@keyframes shimmer {
    0% {
        background-position: -200% center
    }

    to {
        background-position: 200% center
    }
}

::-moz-selection {
    background: #ffffff4d;
    color: #000
}

::selection {
    background: #ffffff4d;
    color: #000
}

@media (max-width: 768px) {
    body.theater-mode .watch-controls {
        padding: 8px
    }

    body.theater-mode .player-container {
        border-radius: 0
    }
}

.placeholder\:text-gray-500::-moz-placeholder {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.placeholder\:text-gray-500::placeholder {
    --tw-text-opacity: 1;
    color: rgb(107 114 128 / var(--tw-text-opacity, 1))
}

.before\:absolute:before {
    content: var(--tw-content);
    position: absolute
}

.before\:bottom-0:before {
    content: var(--tw-content);
    bottom: 0
}

.before\:left-1\/2:before {
    content: var(--tw-content);
    left: 50%
}

.before\:h-\[2px\]:before {
    content: var(--tw-content);
    height: 2px
}

.before\:w-0:before {
    content: var(--tw-content);
    width: 0px
}

.before\:-translate-x-1\/2:before {
    content: var(--tw-content);
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.before\:bg-\[\#ffffff40\]:before {
    content: var(--tw-content);
    background-color: #ffffff40
}

.before\:transition-all:before {
    content: var(--tw-content);
    transition-property: all;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.before\:duration-300:before {
    transition-duration: .3s;
    content: var(--tw-content);
    animation-duration: .3s
}

.after\:absolute:after {
    content: var(--tw-content);
    position: absolute
}

.after\:bottom-0:after {
    content: var(--tw-content);
    bottom: 0
}

.after\:left-0:after {
    content: var(--tw-content);
    left: 0
}

.after\:h-\[2px\]:after {
    content: var(--tw-content);
    height: 2px
}

.after\:w-full:after {
    content: var(--tw-content);
    width: 100%
}

.after\:rounded-t-full:after {
    content: var(--tw-content);
    border-top-left-radius: 9999px;
    border-top-right-radius: 9999px
}

.after\:bg-primary:after {
    content: var(--tw-content);
    background-color: hsl(var(--primary))
}

.focus-within\:border-gray-500:focus-within {
    --tw-border-opacity: 1;
    border-color: rgb(107 114 128 / var(--tw-border-opacity, 1))
}

.hover\:-translate-y-2:hover {
    --tw-translate-y: -.5rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:translate-y-\[-1px\]:hover {
    --tw-translate-y: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:rotate-1:hover {
    --tw-rotate: 1deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:scale-105:hover {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:scale-110:hover {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:scale-\[1\.02\]:hover {
    --tw-scale-x: 1.02;
    --tw-scale-y: 1.02;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.hover\:cursor-pointer:hover {
    cursor: pointer
}

.hover\:border-white\/20:hover {
    border-color: #fff3
}

.hover\:border-white\/30:hover {
    border-color: #ffffff4d
}

.hover\:border-zinc-500:hover {
    --tw-border-opacity: 1;
    border-color: rgb(113 113 122 / var(--tw-border-opacity, 1))
}

.hover\:bg-\[\#1a1a1a\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#1f1f1f\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(31 31 31 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#2a2a2a\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(42 42 42 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#3a3a3a\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(58 58 58 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#404040\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(64 64 64 / var(--tw-bg-opacity, 1))
}

.hover\:bg-\[\#4f4f50\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(79 79 80 / var(--tw-bg-opacity, 1))
}

.hover\:bg-black:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1))
}

.hover\:bg-blue-500\/30:hover {
    background-color: #3b82f64d
}

.hover\:bg-blue-600:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1))
}

.hover\:bg-blue-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1))
}

.hover\:bg-gray-300:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1))
}

.hover\:bg-gray-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1))
}

.hover\:bg-red-500\/30:hover {
    background-color: #ef44444d
}

.hover\:bg-white:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.hover\:bg-white\/10:hover {
    background-color: #ffffff1a
}

.hover\:bg-white\/15:hover {
    background-color: #ffffff26
}

.hover\:bg-white\/20:hover {
    background-color: #fff3
}

.hover\:bg-white\/5:hover {
    background-color: #ffffff0d
}

.hover\:bg-zinc-700:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1))
}

.hover\:bg-zinc-700\/80:hover {
    background-color: #3f3f46cc
}

.hover\:bg-zinc-800:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1))
}

.hover\:bg-zinc-800\/70:hover {
    background-color: #27272ab3
}

.hover\:bg-opacity-20:hover {
    --tw-bg-opacity: .2
}

.hover\:from-purple-500\/30:hover {
    --tw-gradient-from: rgb(168 85 247 / .3) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
}

.hover\:to-blue-500\/30:hover {
    --tw-gradient-to: rgb(59 130 246 / .3) var(--tw-gradient-to-position)
}

.hover\:text-\[\#ffbade\]:hover {
    --tw-text-opacity: 1;
    color: rgb(255 186 222 / var(--tw-text-opacity, 1))
}

.hover\:text-black:hover {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.hover\:text-blue-300:hover {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1))
}

.hover\:text-gray-300:hover {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.hover\:text-red-400:hover {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity, 1))
}

.hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.hover\:text-yellow-300:hover {
    --tw-text-opacity: 1;
    color: rgb(253 224 71 / var(--tw-text-opacity, 1))
}

.hover\:text-zinc-200:hover {
    --tw-text-opacity: 1;
    color: rgb(228 228 231 / var(--tw-text-opacity, 1))
}

.hover\:opacity-100:hover {
    opacity: 1
}

.hover\:shadow-lg:hover {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-xl:hover {
    --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);
    --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.hover\:shadow-white\/20:hover {
    --tw-shadow-color: rgb(255 255 255 / .2);
    --tw-shadow: var(--tw-shadow-colored)
}

.hover\:before\:w-full:hover:before {
    content: var(--tw-content);
    width: 100%
}

.focus\:border-blue-500\/50:focus {
    border-color: #3b82f680
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed
}

.disabled\:opacity-50:disabled {
    opacity: .5
}

.group:hover .group-hover\:w-full {
    width: 100%
}

.group:hover .group-hover\:translate-x-0\.5 {
    --tw-translate-x: .125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:translate-y-0 {
    --tw-translate-y: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:translate-y-\[-1px\] {
    --tw-translate-y: -1px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-100 {
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-105 {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:scale-\[1\.02\] {
    --tw-scale-x: 1.02;
    --tw-scale-y: 1.02;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.group:hover .group-hover\:transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes ping {

    75%,
    to {
        transform: scale(2);
        opacity: 0
    }
}

.group:hover .group-hover\:animate-ping {
    animation: ping 1s cubic-bezier(0, 0, .2, 1) infinite
}

@keyframes pulse {
    50% {
        opacity: .5
    }
}

.group:hover .group-hover\:animate-pulse {
    animation: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite
}

.group:hover .group-hover\:border-white\/40 {
    border-color: #fff6
}

.group:hover .group-hover\:bg-\[\#2a2a2a\] {
    --tw-bg-opacity: 1;
    background-color: rgb(42 42 42 / var(--tw-bg-opacity, 1))
}

.group:hover .group-hover\:bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
}

.group:hover .group-hover\:text-\[\#ffbade\] {
    --tw-text-opacity: 1;
    color: rgb(255 186 222 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-black {
    --tw-text-opacity: 1;
    color: rgb(0 0 0 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-blue-300 {
    --tw-text-opacity: 1;
    color: rgb(147 197 253 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-gray-300 {
    --tw-text-opacity: 1;
    color: rgb(209 213 219 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-white\/95 {
    color: #fffffff2
}

.group:hover .group-hover\:text-zinc-100 {
    --tw-text-opacity: 1;
    color: rgb(244 244 245 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:text-zinc-300 {
    --tw-text-opacity: 1;
    color: rgb(212 212 216 / var(--tw-text-opacity, 1))
}

.group:hover .group-hover\:opacity-100 {
    opacity: 1
}

.group:hover .group-hover\:opacity-50 {
    opacity: .5
}

.group:hover .group-hover\:blur-sm {
    --tw-blur: blur(4px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.group:active .group-active\:scale-95 {
    --tw-scale-x: .95;
    --tw-scale-y: .95;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@media (max-width: 1600px) {
    .max-\[1600px\]\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }
}

@media (max-width: 1400px) {
    .max-\[1400px\]\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

@media (max-width: 1390px) {
    .max-\[1390px\]\:bottom-\[10px\] {
        bottom: 10px
    }

    .max-\[1390px\]\:bottom-\[40px\] {
        bottom: 40px
    }

    .max-\[1390px\]\:h-\[420px\] {
        height: 420px
    }

    .max-\[1390px\]\:h-\[530px\] {
        height: 530px
    }

    .max-\[1390px\]\:h-full {
        height: 100%
    }

    .max-\[1390px\]\:w-\[45\%\] {
        width: 45%
    }

    .max-\[1390px\]\:text-\[45px\] {
        font-size: 45px
    }
}

@media (max-width: 1300px) {
    .max-\[1300px\]\:mt-3 {
        margin-top: .75rem
    }

    .max-\[1300px\]\:mt-4 {
        margin-top: 1rem
    }

    .max-\[1300px\]\:mt-6 {
        margin-top: 1.5rem
    }

    .max-\[1300px\]\:h-\[30vw\] {
        height: 30vw
    }

    .max-\[1300px\]\:h-\[370px\] {
        height: 370px
    }

    .max-\[1300px\]\:h-\[500px\] {
        height: 500px
    }

    .max-\[1300px\]\:h-fit {
        height: -moz-fit-content;
        height: fit-content
    }

    .max-\[1300px\]\:w-\[15vw\] {
        width: 15vw
    }

    .max-\[1300px\]\:w-\[20vw\] {
        width: 20vw
    }

    .max-\[1300px\]\:w-\[22vw\] {
        width: 22vw
    }

    .max-\[1300px\]\:w-\[500px\] {
        width: 500px
    }

    .max-\[1300px\]\:w-\[600px\] {
        width: 600px
    }

    .max-\[1300px\]\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem
    }

    .max-\[1300px\]\:text-\[15px\] {
        font-size: 15px
    }
}

@media (max-width: 1200px) {
    .max-\[1200px\]\:line-clamp-2 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .max-\[1200px\]\:block {
        display: block
    }

    .max-\[1200px\]\:flex {
        display: flex
    }

    .max-\[1200px\]\:hidden {
        display: none
    }

    .max-\[1200px\]\:max-h-\[400px\] {
        max-height: 400px
    }

    .max-\[1200px\]\:w-full {
        width: 100%
    }

    .max-\[1200px\]\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr))
    }

    .max-\[1200px\]\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .max-\[1200px\]\:flex-col {
        flex-direction: column
    }

    .max-\[1200px\]\:gap-y-10 {
        row-gap: 2.5rem
    }

    .max-\[1200px\]\:bg-\[\#151515\] {
        --tw-bg-opacity: 1;
        background-color: rgb(21 21 21 / var(--tw-bg-opacity, 1))
    }

    .max-\[1200px\]\:pt-12 {
        padding-top: 3rem
    }

    .max-\[1200px\]\:text-\[14px\] {
        font-size: 14px
    }
}

@media (max-width: 1120px) {
    .max-\[1120px\]\:w-\[60\%\] {
        width: 60%
    }

    .max-\[1120px\]\:w-\[90\%\] {
        width: 90%
    }
}

@media not all and (min-width: 1024px) {
    .max-lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (max-width: 860px) {
    .max-\[860px\]\:grid-cols-10 {
        grid-template-columns: repeat(10, minmax(0, 1fr))
    }
}

@media (max-width: 800px) {
    .max-\[800px\]\:grid-cols-\[minmax\(0\,40\%\)\,minmax\(0\,60\%\)\] {
        grid-template-columns: minmax(0, 40%) minmax(0, 60%)
    }
}

@media not all and (min-width: 768px) {
    .max-md\:bottom-\[20px\] {
        bottom: 20px
    }

    .max-md\:mt-1 {
        margin-top: .25rem
    }

    .max-md\:mt-3 {
        margin-top: .75rem
    }

    .max-md\:mt-6 {
        margin-top: 1.5rem
    }

    .max-md\:mt-\[50px\] {
        margin-top: 50px
    }

    .max-md\:mt-\[60px\] {
        margin-top: 60px
    }

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

    .max-md\:hidden {
        display: none
    }

    .max-md\:h-\[20px\] {
        height: 20px
    }

    .max-md\:h-\[24px\] {
        height: 24px
    }

    .max-md\:h-\[320px\] {
        height: 320px
    }

    .max-md\:h-\[400px\] {
        height: 400px
    }

    .max-md\:h-\[420px\] {
        height: 420px
    }

    .max-md\:w-\[200px\] {
        width: 200px
    }

    .max-md\:w-\[90\%\] {
        width: 90%
    }

    .max-md\:w-full {
        width: 100%
    }

    .max-md\:grid-cols-1 {
        grid-template-columns: repeat(1, minmax(0, 1fr))
    }

    .max-md\:flex-col {
        flex-direction: column
    }

    .max-md\:justify-start {
        justify-content: flex-start
    }

    .max-md\:gap-x-3 {
        -moz-column-gap: .75rem;
        column-gap: .75rem
    }

    .max-md\:pl-4 {
        padding-left: 1rem
    }

    .max-md\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }

    .max-md\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}

@media (max-width: 758px) {
    .max-\[758px\]\:hidden {
        display: none
    }

    .max-\[758px\]\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media (max-width: 720px) {
    .max-\[720px\]\:h-\[35vw\] {
        height: 35vw
    }

    .max-\[720px\]\:w-\[18vw\] {
        width: 18vw
    }

    .max-\[720px\]\:w-\[22vw\] {
        width: 22vw
    }

    .max-\[720px\]\:w-\[25vw\] {
        width: 25vw
    }
}

@media (max-width: 700px) {
    .max-\[700px\]\:px-3 {
        padding-left: .75rem;
        padding-right: .75rem
    }
}

@media not all and (min-width: 640px) {
    .max-sm\:my-auto {
        margin-top: auto;
        margin-bottom: auto
    }

    .max-sm\:h-\[40px\] {
        height: 40px
    }

    .max-sm\:max-h-\[80vh\] {
        max-height: 80vh
    }

    .max-sm\:w-\[40px\] {
        width: 40px
    }

    .max-sm\:w-\[80\%\] {
        width: 80%
    }

    .max-sm\:w-\[92\%\] {
        width: 92%
    }

    .max-sm\:w-full {
        width: 100%
    }

    .max-sm\:gap-2 {
        gap: .5rem
    }

    .max-sm\:text-\[13px\] {
        font-size: 13px
    }

    .max-sm\:leading-6 {
        line-height: 1.5rem
    }
}

@media (max-width: 600px) {
    .max-\[600px\]\:static {
        position: static
    }

    .max-\[600px\]\:mb-0 {
        margin-bottom: 0
    }

    .max-\[600px\]\:ml-0 {
        margin-left: 0
    }

    .max-\[600px\]\:ml-1 {
        margin-left: .25rem
    }

    .max-\[600px\]\:mt-0\.5 {
        margin-top: .125rem
    }

    .max-\[600px\]\:mt-\[7px\] {
        margin-top: 7px
    }

    .max-\[600px\]\:flex {
        display: flex
    }

    .max-\[600px\]\:hidden {
        display: none
    }

    .max-\[600px\]\:h-3 {
        height: .75rem
    }

    .max-\[600px\]\:h-\[150px\] {
        height: 150px
    }

    .max-\[600px\]\:h-\[16px\] {
        height: 16px
    }

    .max-\[600px\]\:h-\[30px\] {
        height: 30px
    }

    .max-\[600px\]\:h-auto {
        height: auto
    }

    .max-\[600px\]\:w-3 {
        width: .75rem
    }

    .max-\[600px\]\:w-\[100px\] {
        width: 100px
    }

    .max-\[600px\]\:w-\[16px\] {
        width: 16px
    }

    .max-\[600px\]\:w-fit {
        width: -moz-fit-content;
        width: fit-content
    }

    .max-\[600px\]\:min-w-\[120px\] {
        min-width: 120px
    }

    .max-\[600px\]\:flex-row {
        flex-direction: row
    }

    .max-\[600px\]\:flex-col {
        flex-direction: column
    }

    .max-\[600px\]\:gap-1 {
        gap: .25rem
    }

    .max-\[600px\]\:gap-1\.5 {
        gap: .375rem
    }

    .max-\[600px\]\:gap-2 {
        gap: .5rem
    }

    .max-\[600px\]\:gap-4 {
        gap: 1rem
    }

    .max-\[600px\]\:gap-x-3 {
        -moz-column-gap: .75rem;
        column-gap: .75rem
    }

    .max-\[600px\]\:gap-y-2 {
        row-gap: .5rem
    }

    .max-\[600px\]\:rounded-lg {
        border-radius: var(--radius)
    }

    .max-\[600px\]\:rounded-none {
        border-radius: 0
    }

    .max-\[600px\]\:bg-transparent {
        background-color: transparent
    }

    .max-\[600px\]\:p-0 {
        padding: 0
    }

    .max-\[600px\]\:p-2 {
        padding: .5rem
    }

    .max-\[600px\]\:px-1 {
        padding-left: .25rem;
        padding-right: .25rem
    }

    .max-\[600px\]\:px-2 {
        padding-left: .5rem;
        padding-right: .5rem
    }

    .max-\[600px\]\:px-3 {
        padding-left: .75rem;
        padding-right: .75rem
    }

    .max-\[600px\]\:py-0\.5 {
        padding-top: .125rem;
        padding-bottom: .125rem
    }

    .max-\[600px\]\:py-1 {
        padding-top: .25rem;
        padding-bottom: .25rem
    }

    .max-\[600px\]\:py-1\.5 {
        padding-top: .375rem;
        padding-bottom: .375rem
    }

    .max-\[600px\]\:py-2 {
        padding-top: .5rem;
        padding-bottom: .5rem
    }

    .max-\[600px\]\:text-2xl {
        font-size: 1.5rem;
        line-height: 2rem
    }

    .max-\[600px\]\:text-\[10px\] {
        font-size: 10px
    }

    .max-\[600px\]\:text-\[11px\] {
        font-size: 11px
    }

    .max-\[600px\]\:text-\[12px\] {
        font-size: 12px
    }

    .max-\[600px\]\:text-\[13px\] {
        font-size: 13px
    }

    .max-\[600px\]\:text-\[14px\] {
        font-size: 14px
    }

    .max-\[600px\]\:text-\[20px\] {
        font-size: 20px
    }

    .max-\[600px\]\:leading-normal {
        line-height: 1.5
    }

    .max-\[600px\]\:text-\[\#e0e0e0\] {
        --tw-text-opacity: 1;
        color: rgb(224 224 224 / var(--tw-text-opacity, 1))
    }

    .max-\[600px\]\:text-white {
        --tw-text-opacity: 1;
        color: rgb(255 255 255 / var(--tw-text-opacity, 1))
    }
}

@media (max-width: 575px) {
    .max-\[575px\]\:h-\[35px\] {
        height: 35px
    }

    .max-\[575px\]\:w-\[130px\] {
        width: 130px
    }

    .max-\[575px\]\:grid-cols-8 {
        grid-template-columns: repeat(8, minmax(0, 1fr))
    }

    .max-\[575px\]\:text-\[22px\] {
        font-size: 22px
    }

    .max-\[575px\]\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}

@media (max-width: 570px) {
    .max-\[570px\]\:flex-col {
        flex-direction: column
    }

    .max-\[570px\]\:items-start {
        align-items: flex-start
    }

    .max-\[570px\]\:gap-y-3 {
        row-gap: .75rem
    }
}

@media (max-width: 500px) {
    .max-\[500px\]\:h-\[200px\] {
        height: 200px
    }

    .max-\[500px\]\:w-\[200px\] {
        width: 200px
    }
}

@media (max-width: 480px) {
    .max-\[480px\]\:mt-6 {
        margin-top: 1.5rem
    }

    .max-\[480px\]\:h-\[36px\] {
        height: 36px
    }

    .max-\[480px\]\:w-\[36px\] {
        width: 36px
    }

    .max-\[480px\]\:px-2 {
        padding-left: .5rem;
        padding-right: .5rem
    }
}

@media (max-width: 478px) {
    .max-\[478px\]\:mt-2 {
        margin-top: .5rem
    }

    .max-\[478px\]\:line-clamp-2 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .max-\[478px\]\:hidden {
        display: none
    }

    .max-\[478px\]\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .max-\[478px\]\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .max-\[478px\]\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

    .max-\[478px\]\:gap-x-2 {
        -moz-column-gap: .5rem;
        column-gap: .5rem
    }

    .max-\[478px\]\:gap-y-0 {
        row-gap: 0px
    }

    .max-\[478px\]\:space-x-0\.5>:not([hidden])~:not([hidden]) {
        --tw-space-x-reverse: 0;
        margin-right: calc(.125rem * var(--tw-space-x-reverse));
        margin-left: calc(.125rem * calc(1 - var(--tw-space-x-reverse)))
    }

    .max-\[478px\]\:px-1 {
        padding-left: .25rem;
        padding-right: .25rem
    }

    .max-\[478px\]\:px-2 {
        padding-left: .5rem;
        padding-right: .5rem
    }

    .max-\[478px\]\:py-0\.5 {
        padding-top: .125rem;
        padding-bottom: .125rem
    }

    .max-\[478px\]\:pt-4 {
        padding-top: 1rem
    }

    .max-\[478px\]\:text-\[12px\] {
        font-size: 12px
    }

    .max-\[478px\]\:text-\[14px\] {
        font-size: 14px
    }

    .max-\[478px\]\:text-\[16px\] {
        font-size: 16px
    }

    .max-\[478px\]\:text-\[18px\] {
        font-size: 18px
    }
}

@media (max-width: 450px) {
    .max-\[450px\]\:mb-1 {
        margin-bottom: .25rem
    }

    .max-\[450px\]\:text-\[12px\] {
        font-size: 12px
    }

    .max-\[450px\]\:text-\[36px\] {
        font-size: 36px
    }

    .max-\[450px\]\:text-sm {
        font-size: .875rem;
        line-height: 1.25rem
    }

    .max-\[450px\]\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }
}

@media (max-width: 400px) {
    .max-\[400px\]\:h-\[24px\] {
        height: 24px
    }

    .max-\[400px\]\:w-\[120px\] {
        width: 120px
    }

    .max-\[400px\]\:gap-x-2 {
        -moz-column-gap: .5rem;
        column-gap: .5rem
    }

    .max-\[400px\]\:text-\[11px\] {
        font-size: 11px
    }

    .max-\[400px\]\:text-\[14px\] {
        font-size: 14px
    }
}

@media (max-width: 350px) {
    .max-\[350px\]\:hidden {
        display: none
    }

    .max-\[350px\]\:w-\[45\%\] {
        width: 45%
    }

    .max-\[350px\]\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr))
    }

    .max-\[350px\]\:flex-col {
        flex-direction: column
    }

    .max-\[350px\]\:items-start {
        align-items: flex-start
    }

    .max-\[350px\]\:gap-y-2 {
        row-gap: .5rem
    }

    .max-\[350px\]\:gap-y-\[3px\] {
        row-gap: 3px
    }

    .max-\[350px\]\:text-\[10px\] {
        font-size: 10px
    }

    .max-\[350px\]\:text-\[12px\] {
        font-size: 12px
    }

    .max-\[350px\]\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem
    }
}

@media (max-width: 325px) {
    .max-\[325px\]\:py-3 {
        padding-top: .75rem;
        padding-bottom: .75rem
    }
}

@media (max-width: 320px) {
    .max-\[320px\]\:w-\[70px\] {
        width: 70px
    }

    .max-\[320px\]\:w-full {
        width: 100%
    }

    .max-\[320px\]\:flex-col {
        flex-direction: column
    }

    .max-\[320px\]\:space-y-3>:not([hidden])~:not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(.75rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(.75rem * var(--tw-space-y-reverse))
    }

    .max-\[320px\]\:text-\[8px\] {
        font-size: 8px
    }
}

@media (max-width: 300px) {
    .max-\[300px\]\:hidden {
        display: none
    }

    .max-\[300px\]\:h-\[12px\] {
        height: 12px
    }

    .max-\[300px\]\:h-\[14px\] {
        height: 14px
    }

    .max-\[300px\]\:w-\[60px\] {
        width: 60px
    }

    .max-\[300px\]\:w-\[80px\] {
        width: 80px
    }

    .max-\[300px\]\:w-full {
        width: 100%
    }

    .max-\[300px\]\:leading-6 {
        line-height: 1.5rem
    }
}

@media (max-width: 275px) {
    .max-\[275px\]\:text-\[10px\] {
        font-size: 10px
    }

    .max-\[275px\]\:text-\[12px\] {
        font-size: 12px
    }
}

@media (min-width: 640px) {
    .sm\:right-4 {
        right: 1rem
    }

    .sm\:top-4 {
        top: 1rem
    }

    .sm\:mb-8 {
        margin-bottom: 2rem
    }

    .sm\:inline {
        display: inline
    }

    .sm\:flex {
        display: flex
    }

    .sm\:aspect-\[3\/1\] {
        aspect-ratio: 3/1
    }

    .sm\:h-10 {
        height: 2.5rem
    }

    .sm\:h-12 {
        height: 3rem
    }

    .sm\:h-8 {
        height: 2rem
    }

    .sm\:w-10 {
        width: 2.5rem
    }

    .sm\:w-12 {
        width: 3rem
    }

    .sm\:w-8 {
        width: 2rem
    }

    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .sm\:gap-2 {
        gap: .5rem
    }

    .sm\:gap-3 {
        gap: .75rem
    }

    .sm\:gap-4 {
        gap: 1rem
    }

    .sm\:rounded-full {
        border-radius: 9999px
    }

    .sm\:p-3 {
        padding: .75rem
    }

    .sm\:p-6 {
        padding: 1.5rem
    }

    .sm\:px-3 {
        padding-left: .75rem;
        padding-right: .75rem
    }

    .sm\:px-4 {
        padding-left: 1rem;
        padding-right: 1rem
    }

    .sm\:py-1 {
        padding-top: .25rem;
        padding-bottom: .25rem
    }

    .sm\:py-12 {
        padding-top: 3rem;
        padding-bottom: 3rem
    }

    .sm\:py-2 {
        padding-top: .5rem;
        padding-bottom: .5rem
    }

    .sm\:py-6 {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }

    .sm\:py-8 {
        padding-top: 2rem;
        padding-bottom: 2rem
    }

    .sm\:pt-2 {
        padding-top: .5rem
    }

    .sm\:text-\[12px\] {
        font-size: 12px
    }

    .sm\:text-\[13px\] {
        font-size: 13px
    }

    .sm\:text-\[14px\] {
        font-size: 14px
    }

    .sm\:text-\[16px\] {
        font-size: 16px
    }

    .sm\:text-sm {
        font-size: .875rem;
        line-height: 1.25rem
    }

    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem
    }

    .sm\:text-xs {
        font-size: .75rem;
        line-height: 1rem
    }
}

@media (min-width: 768px) {
    .md\:block {
        display: block
    }

    .md\:flex {
        display: flex
    }

    .md\:hidden {
        display: none
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .md\:gap-4 {
        gap: 1rem
    }

    .md\:text-\[18px\] {
        font-size: 18px
    }

    .md\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }
}

@media (min-width: 1024px) {
    .lg\:flex {
        display: flex
    }

    .lg\:w-\[260px\] {
        width: 260px
    }

    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }

    .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

    .lg\:gap-10 {
        gap: 2.5rem
    }

    .lg\:space-y-5>:not([hidden])~:not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(1.25rem * var(--tw-space-y-reverse))
    }

    .lg\:px-10 {
        padding-left: 2.5rem;
        padding-right: 2.5rem
    }

    .lg\:py-12 {
        padding-top: 3rem;
        padding-bottom: 3rem
    }

    .lg\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem
    }

    .lg\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }
}

@media (min-width: 1280px) {
    .xl\:grid-cols-8 {
        grid-template-columns: repeat(8, minmax(0, 1fr))
    }
}