/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
@layer properties {
    @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {

        *,
        :before,
        :after,
        ::backdrop {
            --tw-translate-x: 0;
            --tw-translate-y: 0;
            --tw-translate-z: 0;
            --tw-scale-x: 1;
            --tw-scale-y: 1;
            --tw-scale-z: 1;
            --tw-rotate-x: initial;
            --tw-rotate-y: initial;
            --tw-rotate-z: initial;
            --tw-skew-x: initial;
            --tw-skew-y: initial;
            --tw-space-y-reverse: 0;
            --tw-border-style: solid;
            --tw-gradient-position: initial;
            --tw-gradient-from: #0000;
            --tw-gradient-via: #0000;
            --tw-gradient-to: #0000;
            --tw-gradient-stops: initial;
            --tw-gradient-via-stops: initial;
            --tw-gradient-from-position: 0%;
            --tw-gradient-via-position: 50%;
            --tw-gradient-to-position: 100%;
            --tw-leading: initial;
            --tw-font-weight: initial;
            --tw-tracking: initial;
            --tw-shadow: 0 0 #0000;
            --tw-shadow-color: initial;
            --tw-shadow-alpha: 100%;
            --tw-inset-shadow: 0 0 #0000;
            --tw-inset-shadow-color: initial;
            --tw-inset-shadow-alpha: 100%;
            --tw-ring-color: initial;
            --tw-ring-shadow: 0 0 #0000;
            --tw-inset-ring-color: initial;
            --tw-inset-ring-shadow: 0 0 #0000;
            --tw-ring-inset: initial;
            --tw-ring-offset-width: 0px;
            --tw-ring-offset-color: #fff;
            --tw-ring-offset-shadow: 0 0 #0000;
            --tw-outline-style: solid;
            --tw-blur: initial;
            --tw-brightness: initial;
            --tw-contrast: initial;
            --tw-grayscale: initial;
            --tw-hue-rotate: initial;
            --tw-invert: initial;
            --tw-opacity: initial;
            --tw-saturate: initial;
            --tw-sepia: initial;
            --tw-drop-shadow: initial;
            --tw-drop-shadow-color: initial;
            --tw-drop-shadow-alpha: 100%;
            --tw-drop-shadow-size: initial;
            --tw-backdrop-blur: initial;
            --tw-backdrop-brightness: initial;
            --tw-backdrop-contrast: initial;
            --tw-backdrop-grayscale: initial;
            --tw-backdrop-hue-rotate: initial;
            --tw-backdrop-invert: initial;
            --tw-backdrop-opacity: initial;
            --tw-backdrop-saturate: initial;
            --tw-backdrop-sepia: initial;
            --tw-duration: initial;
            --tw-ease: initial;
            --tw-animation-delay: 0s;
            --tw-animation-direction: normal;
            --tw-animation-duration: initial;
            --tw-animation-fill-mode: none;
            --tw-animation-iteration-count: 1;
            --tw-enter-opacity: 1;
            --tw-enter-rotate: 0;
            --tw-enter-scale: 1;
            --tw-enter-translate-x: 0;
            --tw-enter-translate-y: 0;
            --tw-exit-opacity: 1;
            --tw-exit-rotate: 0;
            --tw-exit-scale: 1;
            --tw-exit-translate-x: 0;
            --tw-exit-translate-y: 0
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
        --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
        --color-red-400: oklch(70.4% .191 22.216);
        --color-red-600: oklch(57.7% .245 27.325);
        --color-green-400: oklch(79.2% .209 151.711);
        --color-green-500: oklch(72.3% .219 149.579);
        --color-green-600: oklch(62.7% .194 149.214);
        --color-blue-600: oklch(54.6% .245 262.881);
        --color-blue-700: oklch(48.8% .243 264.376);
        --color-violet-400: oklch(70.2% .183 293.541);
        --color-pink-400: oklch(71.8% .202 349.761);
        --color-pink-600: oklch(59.2% .249 .584);
        --color-gray-100: oklch(96.7% .003 264.542);
        --color-gray-200: oklch(92.8% .006 264.531);
        --color-gray-300: oklch(87.2% .01 258.338);
        --color-gray-400: oklch(70.7% .022 261.325);
        --color-gray-500: oklch(55.1% .027 264.364);
        --color-gray-600: oklch(44.6% .03 256.802);
        --color-gray-700: oklch(37.3% .034 259.733);
        --color-gray-800: oklch(27.8% .033 256.848);
        --color-gray-900: oklch(21% .034 264.665);
        --color-neutral-200: oklch(92.2% 0 0);
        --color-neutral-300: oklch(87% 0 0);
        --color-neutral-400: oklch(70.8% 0 0);
        --color-neutral-600: oklch(43.9% 0 0);
        --color-neutral-700: oklch(37.1% 0 0);
        --color-neutral-800: oklch(26.9% 0 0);
        --color-neutral-900: oklch(20.5% 0 0);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-sm: 24rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --text-base: 1rem;
        --text-base--line-height: 1.5;
        --text-lg: 1.125rem;
        --text-lg--line-height: calc(1.75/1.125);
        --text-xl: 1.25rem;
        --text-xl--line-height: calc(1.75/1.25);
        --text-2xl: 1.5rem;
        --text-2xl--line-height: calc(2/1.5);
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --font-weight-medium: 500;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-extrabold: 800;
        --tracking-widest: .1em;
        --leading-normal: 1.5;
        --leading-relaxed: 1.625;
        --radius-2xl: 1rem;
        --drop-shadow-md: 0 3px 3px #0000001f;
        --drop-shadow-lg: 0 4px 4px #00000026;
        --ease-out: cubic-bezier(0, 0, .2, 1);
        --ease-in-out: cubic-bezier(.4, 0, .2, 1);
        --animate-spin: spin 1s linear infinite;
        --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1)infinite;
        --animate-bounce: bounce 1s infinite;
        --blur-sm: 8px;
        --blur-md: 12px;
        --blur-lg: 16px;
        --blur-3xl: 64px;
        --aspect-video: 16/9;
        --default-transition-duration: .15s;
        --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
        --default-font-family: var(--font-sans);
        --default-mono-font-family: var(--font-mono);
        --color-primary: var(--primary);
        --color-secondary: var(--secondary);
        --color-accent: var(--accent)
    }
}

@layer base {

    *,
    :after,
    :before,
    ::backdrop {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

    ::file-selector-button {
        box-sizing: border-box;
        border: 0 solid;
        margin: 0;
        padding: 0
    }

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

    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;
        -webkit-text-decoration: inherit;
        text-decoration: inherit
    }

    b,
    strong {
        font-weight: bolder
    }

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

    small {
        font-size: 80%
    }

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

    sub {
        bottom: -.25em
    }

    sup {
        top: -.5em
    }

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

    :-moz-focusring {
        outline: auto
    }

    progress {
        vertical-align: baseline
    }

    summary {
        display: list-item
    }

    ol,
    ul,
    menu {
        list-style: none
    }

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

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

    button,
    input,
    select,
    optgroup,
    textarea {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    ::file-selector-button {
        font: inherit;
        font-feature-settings: inherit;
        font-variation-settings: inherit;
        letter-spacing: inherit;
        color: inherit;
        opacity: 1;
        background-color: #0000;
        border-radius: 0
    }

    :where(select:is([multiple], [size])) optgroup {
        font-weight: bolder
    }

    :where(select:is([multiple], [size])) optgroup option {
        padding-inline-start: 20px
    }

    ::file-selector-button {
        margin-inline-end: 4px
    }

    ::placeholder {
        opacity: 1
    }

    @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
        ::placeholder {
            color: currentColor
        }

        @supports (color:color-mix(in lab, red, red)) {
            ::placeholder {
                color: color-mix(in oklab, currentcolor 50%, transparent)
            }
        }
    }

    textarea {
        resize: vertical
    }

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

    ::-webkit-date-and-time-value {
        min-height: 1lh;
        text-align: inherit
    }

    ::-webkit-datetime-edit {
        display: inline-flex
    }

    ::-webkit-datetime-edit-fields-wrapper {
        padding: 0
    }

    ::-webkit-datetime-edit {
        padding-block: 0
    }

    ::-webkit-datetime-edit-year-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-month-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-day-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-hour-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-minute-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-second-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-millisecond-field {
        padding-block: 0
    }

    ::-webkit-datetime-edit-meridiem-field {
        padding-block: 0
    }

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

    button,
    input:where([type=button], [type=reset], [type=submit]) {
        appearance: button
    }

    ::file-selector-button {
        appearance: button
    }

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

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

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

    .dark .bg-dark-gray {
        background-color: #1e1e1e !important
    }

    #root {
        justify-content: center;
        align-items: stretch;
        width: 100%;
        min-height: 100vh;
        display: flex;
        background-color: #1e1e1e !important
    }

    * {
        scrollbar-width: none;
        scrollbar-color: transparent transparent;
        -ms-overflow-style: none
    }

    ::-webkit-scrollbar {
        display: none !important
    }

    ::-webkit-scrollbar-track {
        background: 0 0
    }

    ::-webkit-scrollbar-thumb {
        background-color: #9ca3af80;
        border: none;
        border-radius: 3px
    }

    ::-webkit-scrollbar-thumb:hover {
        background-color: #9ca3afb3
    }

    ::-webkit-scrollbar-corner {
        background: 0 0
    }

    .dark * {
        scrollbar-width: none;
        scrollbar-color: transparent transparent
    }

    .dark ::-webkit-scrollbar-thumb {
        background-color: #4b556380
    }

    .dark ::-webkit-scrollbar-thumb:hover {
        background-color: #4b5563b3
    }

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

    .swiper-pagination {
        z-index: 5 !important;
        position: absolute !important;
        bottom: 1rem !important;
        right: 1rem !important
    }

    .swiper-pagination-bullet {
        opacity: 1 !important;
        cursor: pointer !important;
        background: #fff9 !important;
        border-radius: 50% !important;
        width: 4.5px !important;
        height: 4.5px !important;
        margin: 0 2px !important;
        transition: all .3s !important
    }

    .swiper-pagination-bullet:hover {
        background: var(--gradient-primary) !important
    }

    .swiper-pagination-bullet-active {
        background: var(--gradient-primary) !important;
        border-radius: 12px !important;
        width: 8px !important;
        height: 4.5px !important;
        transform: scale(1.4) !important;
        box-shadow: 0 0 10px #ef444480 !important
    }

    .carousel-banner .swiper-pagination-bullet {
        width: var(--dot-size, 6px) !important;
        height: var(--dot-size, 6px) !important;
        margin: 0 var(--dot-gap, 6px) !important
    }

    .carousel-banner .swiper-pagination-bullet-active {
        width: calc(var(--dot-size, 6px)*var(--dot-active-mult, 2.4)) !important;
        border-radius: 9999px !important;
        box-shadow: 0 0 6px #ef444473 !important
    }

    .carousel-banner .swiper-slide {
        opacity: 0
    }

    .carousel-banner .swiper-slide-active {
        opacity: 1
    }

    .swiper-slide {
        transition: opacity .3s
    }

    .swiper-slide-active {
        opacity: 1
    }

    .swiper-button-prev-custom,
    .swiper-button-next-custom {
        transition: all .2s
    }

    .swiper-button-prev-custom:hover,
    .swiper-button-next-custom:hover {
        transform: scale(1.05)
    }

    .swiper-button-prev-custom.swiper-button-disabled,
    .swiper-button-next-custom.swiper-button-disabled {
        opacity: .3;
        cursor: not-allowed
    }

    .preview-carousel .swiper-wrapper {
        align-items: stretch
    }

    .preview-carousel .swiper-slide {
        height: auto;
        display: flex
    }

    .preview-carousel .swiper-slide>div {
        width: 100%
    }

    .category-expanded .swiper-pagination {
        display: none !important
    }
}

@layer components;

@layer utilities {
    .pointer-events-auto {
        pointer-events: auto
    }

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

    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

    .sticky {
        position: sticky
    }

    .inset-0 {
        inset: calc(var(--spacing)*0)
    }

    .inset-y-0 {
        inset-block: calc(var(--spacing)*0)
    }

    .-top-4 {
        top: calc(var(--spacing)*-4)
    }

    .top-0 {
        top: calc(var(--spacing)*0)
    }

    .top-1\/4 {
        top: 25%
    }

    .top-12 {
        top: calc(var(--spacing)*12)
    }

    .top-14 {
        top: calc(var(--spacing)*14)
    }

    .top-16 {
        top: calc(var(--spacing)*16)
    }

    .-right-2 {
        right: calc(var(--spacing)*-2)
    }

    .right-0 {
        right: calc(var(--spacing)*0)
    }

    .right-2 {
        right: calc(var(--spacing)*2)
    }

    .right-4 {
        right: calc(var(--spacing)*4)
    }

    .right-6 {
        right: calc(var(--spacing)*6)
    }

    .bottom-0 {
        bottom: calc(var(--spacing)*0)
    }

    .bottom-1 {
        bottom: calc(var(--spacing)*1)
    }

    .bottom-4 {
        bottom: calc(var(--spacing)*4)
    }

    .bottom-5 {
        bottom: calc(var(--spacing)*5)
    }

    .bottom-6 {
        bottom: calc(var(--spacing)*6)
    }

    .bottom-30 {
        bottom: calc(var(--spacing)*30)
    }

    .bottom-45 {
        bottom: calc(var(--spacing)*45)
    }

    .\!left-auto {
        left: auto !important
    }

    .left-0 {
        left: calc(var(--spacing)*0)
    }

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

    .left-2 {
        left: calc(var(--spacing)*2)
    }

    .left-4 {
        left: calc(var(--spacing)*4)
    }

    .left-6 {
        left: calc(var(--spacing)*6)
    }

    .-z-10 {
        z-index: -10
    }

    .z-0 {
        z-index: 0
    }

    .z-5 {
        z-index: 5
    }

    .z-10 {
        z-index: 10
    }

    .z-15 {
        z-index: 15
    }

    .z-20 {
        z-index: 20
    }

    .z-22 {
        z-index: 22
    }

    .z-30 {
        z-index: 30
    }

    .z-40 {
        z-index: 40
    }

    .z-50 {
        z-index: 50
    }

    .z-99 {
        z-index: 99
    }

    .z-150 {
        z-index: 150
    }

    .z-151 {
        z-index: 151
    }

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

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

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

    .z-auto {
        z-index: auto
    }

    .container {
        width: 100%
    }

    @media (min-width:40rem) {
        .container {
            max-width: 40rem
        }
    }

    @media (min-width:48rem) {
        .container {
            max-width: 48rem
        }
    }

    @media (min-width:64rem) {
        .container {
            max-width: 64rem
        }
    }

    @media (min-width:80rem) {
        .container {
            max-width: 80rem
        }
    }

    @media (min-width:96rem) {
        .container {
            max-width: 96rem
        }
    }

    .-mx-1 {
        margin-inline: calc(var(--spacing)*-1)
    }

    .mx-1 {
        margin-inline: calc(var(--spacing)*1)
    }

    .mx-auto {
        margin-inline: auto
    }

    .my-1 {
        margin-block: calc(var(--spacing)*1)
    }

    .my-2 {
        margin-block: calc(var(--spacing)*2)
    }

    .my-3 {
        margin-block: calc(var(--spacing)*3)
    }

    .my-5 {
        margin-block: calc(var(--spacing)*5)
    }

    .mt-1 {
        margin-top: calc(var(--spacing)*1)
    }

    .mt-2 {
        margin-top: calc(var(--spacing)*2)
    }

    .mt-3 {
        margin-top: calc(var(--spacing)*3)
    }

    .mt-4 {
        margin-top: calc(var(--spacing)*4)
    }

    .mt-6 {
        margin-top: calc(var(--spacing)*6)
    }

    .mb-0\.5 {
        margin-bottom: calc(var(--spacing)*.5)
    }

    .mb-1 {
        margin-bottom: calc(var(--spacing)*1)
    }

    .mb-2 {
        margin-bottom: calc(var(--spacing)*2)
    }

    .mb-3 {
        margin-bottom: calc(var(--spacing)*3)
    }

    .mb-4 {
        margin-bottom: calc(var(--spacing)*4)
    }

    .mb-5 {
        margin-bottom: calc(var(--spacing)*5)
    }

    .mb-6 {
        margin-bottom: calc(var(--spacing)*6)
    }

    .ml-1 {
        margin-left: calc(var(--spacing)*1)
    }

    .ml-2 {
        margin-left: calc(var(--spacing)*2)
    }

    .ml-auto {
        margin-left: auto
    }

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

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

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

    .aspect-square {
        aspect-ratio: 1
    }

    .aspect-video {
        aspect-ratio: var(--aspect-video)
    }

    .size-2 {
        width: calc(var(--spacing)*2);
        height: calc(var(--spacing)*2)
    }

    .size-2\.5 {
        width: calc(var(--spacing)*2.5);
        height: calc(var(--spacing)*2.5)
    }

    .size-3\.5 {
        width: calc(var(--spacing)*3.5);
        height: calc(var(--spacing)*3.5)
    }

    .size-4 {
        width: calc(var(--spacing)*4);
        height: calc(var(--spacing)*4)
    }

    .size-6 {
        width: calc(var(--spacing)*6);
        height: calc(var(--spacing)*6)
    }

    .size-7 {
        width: calc(var(--spacing)*7);
        height: calc(var(--spacing)*7)
    }

    .size-9 {
        width: calc(var(--spacing)*9);
        height: calc(var(--spacing)*9)
    }

    .h-0\.5 {
        height: calc(var(--spacing)*.5)
    }

    .h-1 {
        height: calc(var(--spacing)*1)
    }

    .h-1\.5 {
        height: calc(var(--spacing)*1.5)
    }

    .h-2 {
        height: calc(var(--spacing)*2)
    }

    .h-3 {
        height: calc(var(--spacing)*3)
    }

    .h-3\.5 {
        height: calc(var(--spacing)*3.5)
    }

    .h-4 {
        height: calc(var(--spacing)*4)
    }

    .h-5 {
        height: calc(var(--spacing)*5)
    }

    .h-6 {
        height: calc(var(--spacing)*6)
    }

    .h-7 {
        height: calc(var(--spacing)*7)
    }

    .h-8 {
        height: calc(var(--spacing)*8)
    }

    .h-9 {
        height: calc(var(--spacing)*9)
    }

    .h-10 {
        height: calc(var(--spacing)*10)
    }

    .h-12 {
        height: calc(var(--spacing)*12)
    }

    .h-14 {
        height: calc(var(--spacing)*14)
    }

    .h-20 {
        height: calc(var(--spacing)*20)
    }

    .h-24 {
        height: calc(var(--spacing)*24)
    }

    .h-28 {
        height: calc(var(--spacing)*28)
    }

    .h-29 {
        height: calc(var(--spacing)*29)
    }

    .h-32 {
        height: calc(var(--spacing)*32)
    }

    .h-44 {
        height: calc(var(--spacing)*44)
    }

    .h-48 {
        height: calc(var(--spacing)*48)
    }

    .h-56 {
        height: calc(var(--spacing)*56)
    }

    .h-60 {
        height: calc(var(--spacing)*60)
    }

    .h-64 {
        height: calc(var(--spacing)*64)
    }

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

    .h-\[calc\(100svh-48px\)\] {
        height: calc(100svh - 48px)
    }

    .h-full {
        height: 100%
    }

    .h-px {
        height: 1px
    }

    .h-svh {
        height: 100svh
    }

    .max-h-\(--radix-dropdown-menu-content-available-height\) {
        max-height: var(--radix-dropdown-menu-content-available-height)
    }

    .min-h-12 {
        min-height: calc(var(--spacing)*12)
    }

    .min-h-14 {
        min-height: calc(var(--spacing)*14)
    }

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

    .\!w-fit {
        width: fit-content !important
    }

    .w-1\.5 {
        width: calc(var(--spacing)*1.5)
    }

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

    .w-2 {
        width: calc(var(--spacing)*2)
    }

    .w-3 {
        width: calc(var(--spacing)*3)
    }

    .w-3\.5 {
        width: calc(var(--spacing)*3.5)
    }

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

    .w-3\/5 {
        width: 60%
    }

    .w-4 {
        width: calc(var(--spacing)*4)
    }

    .w-4\/5 {
        width: 80%
    }

    .w-5 {
        width: calc(var(--spacing)*5)
    }

    .w-5\/6 {
        width: 83.3333%
    }

    .w-6 {
        width: calc(var(--spacing)*6)
    }

    .w-7 {
        width: calc(var(--spacing)*7)
    }

    .w-8 {
        width: calc(var(--spacing)*8)
    }

    .w-10 {
        width: calc(var(--spacing)*10)
    }

    .w-12 {
        width: calc(var(--spacing)*12)
    }

    .w-14 {
        width: calc(var(--spacing)*14)
    }

    .w-16 {
        width: calc(var(--spacing)*16)
    }

    .w-20 {
        width: calc(var(--spacing)*20)
    }

    .w-24 {
        width: calc(var(--spacing)*24)
    }

    .w-32 {
        width: calc(var(--spacing)*32)
    }

    .w-40 {
        width: calc(var(--spacing)*40)
    }

    .w-44 {
        width: calc(var(--spacing)*44)
    }

    .w-60 {
        width: calc(var(--spacing)*60)
    }

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

    .w-fit {
        width: fit-content
    }

    .w-full {
        width: 100%
    }

    .w-px {
        width: 1px
    }

    .max-w-\[36rem\] {
        max-width: 36rem
    }

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

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

    .max-w-\[min\(58vw\,260px\)\] {
        max-width: min(58vw, 260px)
    }

    .max-w-full {
        max-width: 100%
    }

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

    .max-w-sm {
        max-width: var(--container-sm)
    }

    .min-w-0 {
        min-width: calc(var(--spacing)*0)
    }

    .min-w-\[8rem\] {
        min-width: 8rem
    }

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

    .flex-1 {
        flex: 1
    }

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

    .origin-\(--radix-dropdown-menu-content-transform-origin\) {
        transform-origin: var(--radix-dropdown-menu-content-transform-origin)
    }

    .origin-\(--radix-tooltip-content-transform-origin\) {
        transform-origin: var(--radix-tooltip-content-transform-origin)
    }

    .-translate-x-1\/2 {
        --tw-translate-x: -50%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .-translate-y-full {
        --tw-translate-y: -100%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-0 {
        --tw-translate-y: calc(var(--spacing)*0);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-4 {
        --tw-translate-y: calc(var(--spacing)*4);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-8 {
        --tw-translate-y: calc(var(--spacing)*8);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-\[calc\(-50\%_-_2px\)\] {
        --tw-translate-y: calc(-50% - 2px);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .translate-y-full {
        --tw-translate-y: 100%;
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

    .scale-105 {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x)var(--tw-scale-y)
    }

    .-rotate-90 {
        rotate: -90deg
    }

    .rotate-0 {
        rotate: none
    }

    .rotate-45 {
        rotate: 45deg
    }

    .rotate-90 {
        rotate: 90deg
    }

    .rotate-180 {
        rotate: 180deg
    }

    .transform {
        transform: var(--tw-rotate-x, )var(--tw-rotate-y, )var(--tw-rotate-z, )var(--tw-skew-x, )var(--tw-skew-y, )
    }

    .animate-bounce {
        animation: var(--animate-bounce)
    }

    .animate-in {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .animate-pulse {
        animation: var(--animate-pulse)
    }

    .animate-spin {
        animation: var(--animate-spin)
    }

    .cursor-default {
        cursor: default
    }

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

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

    .break-inside-avoid {
        break-inside: avoid
    }

    .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-\[1fr_auto\] {
        grid-template-columns: 1fr auto
    }

    .flex-col {
        flex-direction: column
    }

    .flex-nowrap {
        flex-wrap: nowrap
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .place-items-center {
        place-items: center
    }

    .items-center {
        align-items: center
    }

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

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

    .justify-center {
        justify-content: center
    }

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

    .gap-1 {
        gap: calc(var(--spacing)*1)
    }

    .gap-1\.5 {
        gap: calc(var(--spacing)*1.5)
    }

    .gap-2 {
        gap: calc(var(--spacing)*2)
    }

    .gap-3 {
        gap: calc(var(--spacing)*3)
    }

    .gap-4 {
        gap: calc(var(--spacing)*4)
    }

    :where(.space-y-1>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-2>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-3>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-4>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))
    }

    :where(.space-y-8>:not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))
    }

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

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

    .overflow-hidden {
        overflow: hidden
    }

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

    .overflow-x-hidden {
        overflow-x: hidden
    }

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

    .rounded {
        border-radius: .25rem
    }

    .rounded-2xl {
        border-radius: var(--radius-2xl)
    }

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

    .rounded-full {
        border-radius: 3.40282e38px
    }

    .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: calc(var(--radius) + 4px)
    }

    .rounded-l-full {
        border-top-left-radius: 3.40282e38px;
        border-bottom-left-radius: 3.40282e38px
    }

    .rounded-r-full {
        border-top-right-radius: 3.40282e38px;
        border-bottom-right-radius: 3.40282e38px
    }

    .border {
        border-style: var(--tw-border-style);
        border-width: 1px
    }

    .border-2 {
        border-style: var(--tw-border-style);
        border-width: 2px
    }

    .border-t,
    .border-t-1 {
        border-top-style: var(--tw-border-style);
        border-top-width: 1px
    }

    .border-r-1 {
        border-right-style: var(--tw-border-style);
        border-right-width: 1px
    }

    .border-b,
    .border-b-1 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px
    }

    .border-b-2 {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 2px
    }

    .border-l-1 {
        border-left-style: var(--tw-border-style);
        border-left-width: 1px
    }

    .border-none {
        --tw-border-style: none;
        border-style: none
    }

    .border-gray-300 {
        border-color: var(--color-gray-300)
    }

    .border-gray-600 {
        border-color: var(--color-gray-600)
    }

    .border-gray-700 {
        border-color: var(--color-gray-700)
    }

    .border-gray-700\/50 {
        border-color: #36415380
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-gray-700\/50 {
            border-color: color-mix(in oklab, var(--color-gray-700)50%, transparent)
        }
    }

    .border-neutral-600\/40 {
        border-color: #52525266
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-neutral-600\/40 {
            border-color: color-mix(in oklab, var(--color-neutral-600)40%, transparent)
        }
    }

    .border-transparent {
        border-color: #0000
    }

    .border-white\/10 {
        border-color: #ffffff1a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/10 {
            border-color: color-mix(in oklab, var(--color-white)10%, transparent)
        }
    }

    .border-white\/20 {
        border-color: #fff3
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/20 {
            border-color: color-mix(in oklab, var(--color-white)20%, transparent)
        }
    }

    .border-white\/30 {
        border-color: #ffffff4d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .border-white\/30 {
            border-color: color-mix(in oklab, var(--color-white)30%, transparent)
        }
    }

    .border-t-transparent {
        border-top-color: #0000
    }

    .bg-\[\#1e1e1e\]\/80 {
        background-color: #1e1e1ecc
    }

    .bg-background {
        background-color: var(--background)
    }

    .bg-black {
        background-color: var(--color-black)
    }

    .bg-black\/20 {
        background-color: #0003
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/20 {
            background-color: color-mix(in oklab, var(--color-black)20%, transparent)
        }
    }

    .bg-black\/40 {
        background-color: #0006
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/40 {
            background-color: color-mix(in oklab, var(--color-black)40%, transparent)
        }
    }

    .bg-black\/50 {
        background-color: #00000080
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/50 {
            background-color: color-mix(in oklab, var(--color-black)50%, transparent)
        }
    }

    .bg-black\/70 {
        background-color: #000000b3
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/70 {
            background-color: color-mix(in oklab, var(--color-black)70%, transparent)
        }
    }

    .bg-black\/80 {
        background-color: #000c
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-black\/80 {
            background-color: color-mix(in oklab, var(--color-black)80%, transparent)
        }
    }

    .bg-blue-600 {
        background-color: var(--color-blue-600)
    }

    .bg-border {
        background-color: var(--border)
    }

    .bg-destructive {
        background-color: var(--destructive)
    }

    .bg-gray-100 {
        background-color: var(--color-gray-100)
    }

    .bg-gray-100\/10 {
        background-color: #f3f4f61a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-gray-100\/10 {
            background-color: color-mix(in oklab, var(--color-gray-100)10%, transparent)
        }
    }

    .bg-gray-200 {
        background-color: var(--color-gray-200)
    }

    .bg-gray-300 {
        background-color: var(--color-gray-300)
    }

    .bg-gray-600 {
        background-color: var(--color-gray-600)
    }

    .bg-gray-800 {
        background-color: var(--color-gray-800)
    }

    .bg-gray-800\/30 {
        background-color: #1e29394d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-gray-800\/30 {
            background-color: color-mix(in oklab, var(--color-gray-800)30%, transparent)
        }
    }

    .bg-gray-800\/50 {
        background-color: #1e293980
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-gray-800\/50 {
            background-color: color-mix(in oklab, var(--color-gray-800)50%, transparent)
        }
    }

    .bg-green-500\/20 {
        background-color: #00c75833
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-green-500\/20 {
            background-color: color-mix(in oklab, var(--color-green-500)20%, transparent)
        }
    }

    .bg-green-600 {
        background-color: var(--color-green-600)
    }

    .bg-neutral-600 {
        background-color: var(--color-neutral-600)
    }

    .bg-neutral-600\/40 {
        background-color: #52525266
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-neutral-600\/40 {
            background-color: color-mix(in oklab, var(--color-neutral-600)40%, transparent)
        }
    }

    .bg-neutral-700\/20 {
        background-color: #40404033
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-neutral-700\/20 {
            background-color: color-mix(in oklab, var(--color-neutral-700)20%, transparent)
        }
    }

    .bg-neutral-700\/60 {
        background-color: #40404099
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-neutral-700\/60 {
            background-color: color-mix(in oklab, var(--color-neutral-700)60%, transparent)
        }
    }

    .bg-neutral-800 {
        background-color: var(--color-neutral-800)
    }

    .bg-neutral-800\/10 {
        background-color: #2626261a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-neutral-800\/10 {
            background-color: color-mix(in oklab, var(--color-neutral-800)10%, transparent)
        }
    }

    .bg-neutral-800\/20 {
        background-color: #26262633
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-neutral-800\/20 {
            background-color: color-mix(in oklab, var(--color-neutral-800)20%, transparent)
        }
    }

    .bg-neutral-800\/60 {
        background-color: #26262699
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-neutral-800\/60 {
            background-color: color-mix(in oklab, var(--color-neutral-800)60%, transparent)
        }
    }

    .bg-neutral-900 {
        background-color: var(--color-neutral-900)
    }

    .bg-popover {
        background-color: var(--popover)
    }

    .bg-primary {
        background-color: var(--primary)
    }

    .bg-red-600 {
        background-color: var(--color-red-600)
    }

    .bg-secondary {
        background-color: var(--secondary)
    }

    .bg-transparent {
        background-color: #0000
    }

    .bg-white {
        background-color: var(--color-white)
    }

    .bg-white\/5 {
        background-color: #ffffff0d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/5 {
            background-color: color-mix(in oklab, var(--color-white)5%, transparent)
        }
    }

    .bg-white\/10 {
        background-color: #ffffff1a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/10 {
            background-color: color-mix(in oklab, var(--color-white)10%, transparent)
        }
    }

    .bg-white\/20 {
        background-color: #fff3
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/20 {
            background-color: color-mix(in oklab, var(--color-white)20%, transparent)
        }
    }

    .bg-white\/40 {
        background-color: #fff6
    }

    @supports (color:color-mix(in lab, red, red)) {
        .bg-white\/40 {
            background-color: color-mix(in oklab, var(--color-white)40%, transparent)
        }
    }

    .bg-gradient-to-br {
        --tw-gradient-position: to bottom right in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .bg-gradient-to-r {
        --tw-gradient-position: to right in oklab;
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-gray-900\/95 {
        --tw-gradient-from: #101828f2
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-gray-900\/95 {
            --tw-gradient-from: color-mix(in oklab, var(--color-gray-900)95%, transparent)
        }
    }

    .from-gray-900\/95 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-neutral-300\/10 {
        --tw-gradient-from: #d4d4d41a
    }

    @supports (color:color-mix(in lab, red, red)) {
        .from-neutral-300\/10 {
            --tw-gradient-from: color-mix(in oklab, var(--color-neutral-300)10%, transparent)
        }
    }

    .from-neutral-300\/10 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-neutral-400 {
        --tw-gradient-from: var(--color-neutral-400);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-neutral-800 {
        --tw-gradient-from: var(--color-neutral-800);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .from-transparent {
        --tw-gradient-from: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .via-neutral-400\/20 {
        --tw-gradient-via: #a1a1a133
    }

    @supports (color:color-mix(in lab, red, red)) {
        .via-neutral-400\/20 {
            --tw-gradient-via: color-mix(in oklab, var(--color-neutral-400)20%, transparent)
        }
    }

    .via-neutral-400\/20 {
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-via)var(--tw-gradient-via-position), var(--tw-gradient-to)var(--tw-gradient-to-position);
        --tw-gradient-stops: var(--tw-gradient-via-stops)
    }

    .via-neutral-700 {
        --tw-gradient-via: var(--color-neutral-700);
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-via)var(--tw-gradient-via-position), var(--tw-gradient-to)var(--tw-gradient-to-position);
        --tw-gradient-stops: var(--tw-gradient-via-stops)
    }

    .via-white\/5 {
        --tw-gradient-via: #ffffff0d
    }

    @supports (color:color-mix(in lab, red, red)) {
        .via-white\/5 {
            --tw-gradient-via: color-mix(in oklab, var(--color-white)5%, transparent)
        }
    }

    .via-white\/5 {
        --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-via)var(--tw-gradient-via-position), var(--tw-gradient-to)var(--tw-gradient-to-position);
        --tw-gradient-stops: var(--tw-gradient-via-stops)
    }

    .to-black\/95 {
        --tw-gradient-to: #000000f2
    }

    @supports (color:color-mix(in lab, red, red)) {
        .to-black\/95 {
            --tw-gradient-to: color-mix(in oklab, var(--color-black)95%, transparent)
        }
    }

    .to-black\/95 {
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-neutral-300 {
        --tw-gradient-to: var(--color-neutral-300);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-neutral-900 {
        --tw-gradient-to: var(--color-neutral-900);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .to-transparent {
        --tw-gradient-to: transparent;
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from)var(--tw-gradient-from-position), var(--tw-gradient-to)var(--tw-gradient-to-position))
    }

    .bg-clip-text {
        -webkit-background-clip: text;
        background-clip: text
    }

    .bg-no-repeat {
        background-repeat: no-repeat
    }

    .fill-\[\#1e1e1e\] {
        fill: #1e1e1e
    }

    .fill-current {
        fill: currentColor
    }

    .object-contain {
        object-fit: contain
    }

    .object-cover {
        object-fit: cover
    }

    .object-center {
        object-position: center
    }

    .p-1 {
        padding: calc(var(--spacing)*1)
    }

    .p-1\.5 {
        padding: calc(var(--spacing)*1.5)
    }

    .p-2 {
        padding: calc(var(--spacing)*2)
    }

    .p-3 {
        padding: calc(var(--spacing)*3)
    }

    .p-4 {
        padding: calc(var(--spacing)*4)
    }

    .p-5 {
        padding: calc(var(--spacing)*5)
    }

    .p-6 {
        padding: calc(var(--spacing)*6)
    }

    .px-0 {
        padding-inline: calc(var(--spacing)*0)
    }

    .px-1 {
        padding-inline: calc(var(--spacing)*1)
    }

    .px-2 {
        padding-inline: calc(var(--spacing)*2)
    }

    .px-3 {
        padding-inline: calc(var(--spacing)*3)
    }

    .px-4 {
        padding-inline: calc(var(--spacing)*4)
    }

    .px-5 {
        padding-inline: calc(var(--spacing)*5)
    }

    .px-6 {
        padding-inline: calc(var(--spacing)*6)
    }

    .px-8 {
        padding-inline: calc(var(--spacing)*8)
    }

    .py-0\.5 {
        padding-block: calc(var(--spacing)*.5)
    }

    .py-1\.5 {
        padding-block: calc(var(--spacing)*1.5)
    }

    .py-2 {
        padding-block: calc(var(--spacing)*2)
    }

    .py-3 {
        padding-block: calc(var(--spacing)*3)
    }

    .py-4 {
        padding-block: calc(var(--spacing)*4)
    }

    .py-5 {
        padding-block: calc(var(--spacing)*5)
    }

    .py-6 {
        padding-block: calc(var(--spacing)*6)
    }

    .py-8 {
        padding-block: calc(var(--spacing)*8)
    }

    .pt-2 {
        padding-top: calc(var(--spacing)*2)
    }

    .pr-1 {
        padding-right: calc(var(--spacing)*1)
    }

    .pr-2 {
        padding-right: calc(var(--spacing)*2)
    }

    .pb-0 {
        padding-bottom: calc(var(--spacing)*0)
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing)*2)
    }

    .pb-6 {
        padding-bottom: calc(var(--spacing)*6)
    }

    .pb-20 {
        padding-bottom: calc(var(--spacing)*20)
    }

    .pl-8 {
        padding-left: calc(var(--spacing)*8)
    }

    .text-center {
        text-align: center
    }

    .text-left {
        text-align: left
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height))
    }

    .text-6xl {
        font-size: var(--text-6xl);
        line-height: var(--tw-leading, var(--text-6xl--line-height))
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height))
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height))
    }

    .text-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height))
    }

    .text-\[11px\] {
        font-size: 11px
    }

    .text-\[13px\] {
        font-size: 13px
    }

    .text-\[16px\] {
        font-size: 16px
    }

    .leading-none {
        --tw-leading: 1;
        line-height: 1
    }

    .leading-normal {
        --tw-leading: var(--leading-normal);
        line-height: var(--leading-normal)
    }

    .leading-relaxed {
        --tw-leading: var(--leading-relaxed);
        line-height: var(--leading-relaxed)
    }

    .font-bold {
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold)
    }

    .font-extrabold {
        --tw-font-weight: var(--font-weight-extrabold);
        font-weight: var(--font-weight-extrabold)
    }

    .font-medium {
        --tw-font-weight: var(--font-weight-medium);
        font-weight: var(--font-weight-medium)
    }

    .font-semibold {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold)
    }

    .tracking-widest {
        --tw-tracking: var(--tracking-widest);
        letter-spacing: var(--tracking-widest)
    }

    .text-balance {
        text-wrap: balance
    }

    .text-wrap {
        text-wrap: wrap
    }

    .text-ellipsis {
        text-overflow: ellipsis
    }

    .whitespace-nowrap {
        white-space: nowrap
    }

    .text-\[\#FFFFFFA3\] {
        color: #ffffffa3
    }

    .text-foreground {
        color: var(--foreground)
    }

    .text-gray-100 {
        color: var(--color-gray-100)
    }

    .text-gray-200 {
        color: var(--color-gray-200)
    }

    .text-gray-300 {
        color: var(--color-gray-300)
    }

    .text-gray-400 {
        color: var(--color-gray-400)
    }

    .text-gray-500 {
        color: var(--color-gray-500)
    }

    .text-gray-600 {
        color: var(--color-gray-600)
    }

    .text-gray-700 {
        color: var(--color-gray-700)
    }

    .text-gray-900 {
        color: var(--color-gray-900)
    }

    .text-green-400 {
        color: var(--color-green-400)
    }

    .text-muted-foreground {
        color: var(--muted-foreground)
    }

    .text-neutral-200 {
        color: var(--color-neutral-200)
    }

    .text-neutral-400 {
        color: var(--color-neutral-400)
    }

    .text-pink-400 {
        color: var(--color-pink-400)
    }

    .text-pink-600 {
        color: var(--color-pink-600)
    }

    .text-popover-foreground {
        color: var(--popover-foreground)
    }

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

    .text-primary-foreground {
        color: var(--primary-foreground)
    }

    .text-red-400 {
        color: var(--color-red-400)
    }

    .text-secondary-foreground {
        color: var(--secondary-foreground)
    }

    .text-transparent {
        color: #0000
    }

    .text-violet-400 {
        color: var(--color-violet-400)
    }

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

    .text-white\/50 {
        color: #ffffff80
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/50 {
            color: color-mix(in oklab, var(--color-white)50%, transparent)
        }
    }

    .text-white\/80 {
        color: #fffc
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/80 {
            color: color-mix(in oklab, var(--color-white)80%, transparent)
        }
    }

    .text-white\/95 {
        color: #fffffff2
    }

    @supports (color:color-mix(in lab, red, red)) {
        .text-white\/95 {
            color: color-mix(in oklab, var(--color-white)95%, transparent)
        }
    }

    .italic {
        font-style: italic
    }

    .not-italic {
        font-style: normal
    }

    .no-underline {
        text-decoration-line: none
    }

    .underline-offset-4 {
        text-underline-offset: 4px
    }

    .opacity-0 {
        opacity: 0
    }

    .opacity-40 {
        opacity: .4
    }

    .opacity-50 {
        opacity: .5
    }

    .opacity-60 {
        opacity: .6
    }

    .opacity-70 {
        opacity: .7
    }

    .opacity-80 {
        opacity: .8
    }

    .opacity-100 {
        opacity: 1
    }

    .shadow {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-2xl {
        --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-\[0_20px_40px_rgba\(0\,0\,0\,0\.3\)\] {
        --tw-shadow: 0 20px 40px var(--tw-shadow-color, #0000004d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-inner {
        --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-lg {
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-md {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-sm {
        --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xl {
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .shadow-xs {
        --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, #0000000d);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .outline-hidden {
        --tw-outline-style: none;
        outline-style: none
    }

    @media (forced-colors:active) {
        .outline-hidden {
            outline-offset: 2px;
            outline: 2px solid #0000
        }
    }

    .outline {
        outline-style: var(--tw-outline-style);
        outline-width: 1px
    }

    .blur-3xl {
        --tw-blur: blur(var(--blur-3xl));
        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-lg {
        --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, #00000026));
        --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
        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-size: drop-shadow(0 3px 3px var(--tw-drop-shadow-color, #0000001f));
        --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
        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-\[3px\] {
        --tw-backdrop-blur: blur(3px);
        -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-lg {
        --tw-backdrop-blur: blur(var(--blur-lg));
        -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(var(--blur-md));
        -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(var(--blur-sm));
        -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, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-\[color\,box-shadow\] {
        transition-property: color, box-shadow;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-all {
        transition-property: all;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-colors {
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-opacity {
        transition-property: opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .transition-transform {
        transition-property: transform, translate, scale, rotate;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .delay-100 {
        transition-delay: .1s
    }

    .duration-200 {
        --tw-duration: .2s;
        transition-duration: .2s
    }

    .duration-300 {
        --tw-duration: .3s;
        transition-duration: .3s
    }

    .duration-400 {
        --tw-duration: .4s;
        transition-duration: .4s
    }

    .duration-500 {
        --tw-duration: .5s;
        transition-duration: .5s
    }

    .ease-in-out {
        --tw-ease: var(--ease-in-out);
        transition-timing-function: var(--ease-in-out)
    }

    .ease-out {
        --tw-ease: var(--ease-out);
        transition-timing-function: var(--ease-out)
    }

    .will-change-transform {
        will-change: transform
    }

    .delay-100 {
        --tw-animation-delay: .1s;
        animation-delay: .1s
    }

    .fade-in-0 {
        --tw-enter-opacity: 0
    }

    .outline-none {
        --tw-outline-style: none;
        outline-style: none
    }

    .select-none {
        -webkit-user-select: none;
        user-select: none
    }

    .zoom-in-95 {
        --tw-enter-scale: .95
    }

    @media (hover:hover) {
        .hover\:scale-105:hover {
            --tw-scale-x: 105%;
            --tw-scale-y: 105%;
            --tw-scale-z: 105%;
            scale: var(--tw-scale-x)var(--tw-scale-y)
        }

        .hover\:scale-110:hover {
            --tw-scale-x: 110%;
            --tw-scale-y: 110%;
            --tw-scale-z: 110%;
            scale: var(--tw-scale-x)var(--tw-scale-y)
        }

        .hover\:border-gray-500:hover {
            border-color: var(--color-gray-500)
        }

        .hover\:bg-accent:hover {
            background-color: var(--accent)
        }

        .hover\:bg-blue-700:hover {
            background-color: var(--color-blue-700)
        }

        .hover\:bg-destructive\/90:hover {
            background-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-destructive\/90:hover {
                background-color: color-mix(in oklab, var(--destructive)90%, transparent)
            }
        }

        .hover\:bg-gray-100:hover {
            background-color: var(--color-gray-100)
        }

        .hover\:bg-gray-500:hover {
            background-color: var(--color-gray-500)
        }

        .hover\:bg-gray-700:hover {
            background-color: var(--color-gray-700)
        }

        .hover\:bg-gray-800\/50:hover {
            background-color: #1e293980
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-gray-800\/50:hover {
                background-color: color-mix(in oklab, var(--color-gray-800)50%, transparent)
            }
        }

        .hover\:bg-gray-800\/70:hover {
            background-color: #1e2939b3
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-gray-800\/70:hover {
                background-color: color-mix(in oklab, var(--color-gray-800)70%, transparent)
            }
        }

        .hover\:bg-primary\/90:hover {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-primary\/90:hover {
                background-color: color-mix(in oklab, var(--primary)90%, transparent)
            }
        }

        .hover\:bg-secondary\/80:hover {
            background-color: var(--secondary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-secondary\/80:hover {
                background-color: color-mix(in oklab, var(--secondary)80%, transparent)
            }
        }

        .hover\:bg-white\/10:hover {
            background-color: #ffffff1a
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-white\/10:hover {
                background-color: color-mix(in oklab, var(--color-white)10%, transparent)
            }
        }

        .hover\:bg-white\/30:hover {
            background-color: #ffffff4d
        }

        @supports (color:color-mix(in lab, red, red)) {
            .hover\:bg-white\/30:hover {
                background-color: color-mix(in oklab, var(--color-white)30%, transparent)
            }
        }

        .hover\:text-accent-foreground:hover {
            color: var(--accent-foreground)
        }

        .hover\:text-gray-300:hover {
            color: var(--color-gray-300)
        }

        .hover\:underline:hover {
            text-decoration-line: underline
        }

        .hover\:opacity-80:hover {
            opacity: .8
        }

        .hover\:opacity-90:hover {
            opacity: .9
        }

        .hover\:shadow-xl:hover {
            --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
        }
    }

    .focus\:bg-accent:focus {
        background-color: var(--accent)
    }

    .focus\:text-accent-foreground:focus {
        color: var(--accent-foreground)
    }

    .focus\:ring-0:focus {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus\:outline-none:focus {
        --tw-outline-style: none;
        outline-style: none
    }

    .focus-visible\:border-ring:focus-visible {
        border-color: var(--ring)
    }

    .focus-visible\:ring-\[3px\]:focus-visible {
        --tw-ring-shadow: var(--tw-ring-inset, )0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color, currentcolor);
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
    }

    .focus-visible\:ring-destructive\/20:focus-visible {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-visible\:ring-destructive\/20:focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--destructive)20%, transparent)
        }
    }

    .focus-visible\:ring-ring\/50:focus-visible {
        --tw-ring-color: var(--ring)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .focus-visible\:ring-ring\/50:focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--ring)50%, transparent)
        }
    }

    .active\:scale-95:active {
        --tw-scale-x: 95%;
        --tw-scale-y: 95%;
        --tw-scale-z: 95%;
        scale: var(--tw-scale-x)var(--tw-scale-y)
    }

    .active\:bg-white\/40:active {
        background-color: #fff6
    }

    @supports (color:color-mix(in lab, red, red)) {
        .active\:bg-white\/40:active {
            background-color: color-mix(in oklab, var(--color-white)40%, transparent)
        }
    }

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

    .disabled\:opacity-50:disabled {
        opacity: .5
    }

    .has-\[\>svg\]\:px-2\.5:has(>svg) {
        padding-inline: calc(var(--spacing)*2.5)
    }

    .has-\[\>svg\]\:px-3:has(>svg) {
        padding-inline: calc(var(--spacing)*3)
    }

    .has-\[\>svg\]\:px-4:has(>svg) {
        padding-inline: calc(var(--spacing)*4)
    }

    .aria-invalid\:border-destructive[aria-invalid=true] {
        border-color: var(--destructive)
    }

    .aria-invalid\:ring-destructive\/20[aria-invalid=true] {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .aria-invalid\:ring-destructive\/20[aria-invalid=true] {
            --tw-ring-color: color-mix(in oklab, var(--destructive)20%, transparent)
        }
    }

    .data-\[disabled\]\:pointer-events-none[data-disabled] {
        pointer-events: none
    }

    .data-\[disabled\]\:opacity-50[data-disabled] {
        opacity: .5
    }

    .data-\[inset\]\:pl-8[data-inset] {
        padding-left: calc(var(--spacing)*8)
    }

    .data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom] {
        --tw-enter-translate-y: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=left\]\:slide-in-from-right-2[data-side=left] {
        --tw-enter-translate-x: calc(2*var(--spacing))
    }

    .data-\[side\=right\]\:slide-in-from-left-2[data-side=right] {
        --tw-enter-translate-x: calc(2*var(--spacing)*-1)
    }

    .data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top] {
        --tw-enter-translate-y: calc(2*var(--spacing))
    }

    .data-\[state\=closed\]\:animate-out[data-state=closed] {
        animation: exit var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=closed\]\:fade-out-0[data-state=closed] {
        --tw-exit-opacity: 0
    }

    .data-\[state\=closed\]\:zoom-out-95[data-state=closed] {
        --tw-exit-scale: .95
    }

    .data-\[state\=open\]\:animate-in[data-state=open] {
        animation: enter var(--tw-animation-duration, var(--tw-duration, .15s))var(--tw-ease, ease)var(--tw-animation-delay, 0s)var(--tw-animation-iteration-count, 1)var(--tw-animation-direction, normal)var(--tw-animation-fill-mode, none)
    }

    .data-\[state\=open\]\:bg-accent[data-state=open] {
        background-color: var(--accent)
    }

    .data-\[state\=open\]\:text-accent-foreground[data-state=open] {
        color: var(--accent-foreground)
    }

    .data-\[state\=open\]\:fade-in-0[data-state=open] {
        --tw-enter-opacity: 0
    }

    .data-\[state\=open\]\:zoom-in-95[data-state=open] {
        --tw-enter-scale: .95
    }

    .data-\[variant\=destructive\]\:text-destructive[data-variant=destructive] {
        color: var(--destructive)
    }

    .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus {
        background-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus {
            background-color: color-mix(in oklab, var(--destructive)10%, transparent)
        }
    }

    .data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus {
        color: var(--destructive)
    }

    @media (min-width:40rem) {
        .sm\:text-lg {
            font-size: var(--text-lg);
            line-height: var(--tw-leading, var(--text-lg--line-height))
        }
    }

    @media (min-width:48rem) {
        .md\:w-2\/3 {
            width: 66.6667%
        }
    }

    .dark\:border-input:is(.dark *) {
        border-color: var(--input)
    }

    .dark\:\!bg-transparent:is(.dark *) {
        background-color: #0000 !important
    }

    .dark\:bg-\[\#262626\]:is(.dark *) {
        background-color: #262626
    }

    .dark\:bg-destructive\/60:is(.dark *) {
        background-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:bg-destructive\/60:is(.dark *) {
            background-color: color-mix(in oklab, var(--destructive)60%, transparent)
        }
    }

    .dark\:bg-gray-600:is(.dark *) {
        background-color: var(--color-gray-600)
    }

    .dark\:bg-input\/30:is(.dark *) {
        background-color: var(--input)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:bg-input\/30:is(.dark *) {
            background-color: color-mix(in oklab, var(--input)30%, transparent)
        }
    }

    .dark\:bg-neutral-700:is(.dark *) {
        background-color: var(--color-neutral-700)
    }

    .dark\:bg-neutral-800:is(.dark *) {
        background-color: var(--color-neutral-800)
    }

    .dark\:bg-neutral-900:is(.dark *) {
        background-color: var(--color-neutral-900)
    }

    .dark\:text-gray-300:is(.dark *) {
        color: var(--color-gray-300)
    }

    .dark\:text-white:is(.dark *) {
        color: var(--color-white)
    }

    @media (hover:hover) {
        .dark\:hover\:bg-accent\/50:is(.dark *):hover {
            background-color: var(--accent)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:hover\:bg-accent\/50:is(.dark *):hover {
                background-color: color-mix(in oklab, var(--accent)50%, transparent)
            }
        }

        .dark\:hover\:bg-gray-600:is(.dark *):hover {
            background-color: var(--color-gray-600)
        }

        .dark\:hover\:bg-gray-800:is(.dark *):hover {
            background-color: var(--color-gray-800)
        }

        .dark\:hover\:bg-input\/50:is(.dark *):hover {
            background-color: var(--input)
        }

        @supports (color:color-mix(in lab, red, red)) {
            .dark\:hover\:bg-input\/50:is(.dark *):hover {
                background-color: color-mix(in oklab, var(--input)50%, transparent)
            }
        }
    }

    .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible {
            --tw-ring-color: color-mix(in oklab, var(--destructive)40%, transparent)
        }
    }

    .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true] {
        --tw-ring-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true] {
            --tw-ring-color: color-mix(in oklab, var(--destructive)40%, transparent)
        }
    }

    .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus {
        background-color: var(--destructive)
    }

    @supports (color:color-mix(in lab, red, red)) {
        .dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus {
            background-color: color-mix(in oklab, var(--destructive)20%, transparent)
        }
    }

    .\[\&_svg\]\:pointer-events-none svg {
        pointer-events: none
    }

    .\[\&_svg\]\:shrink-0 svg {
        flex-shrink: 0
    }

    .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]) {
        width: calc(var(--spacing)*4);
        height: calc(var(--spacing)*4)
    }

    .\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]) {
        color: var(--muted-foreground)
    }

    :is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:\!text-destructive[data-variant=destructive]>*):is(svg) {
        color: var(--destructive) !important
    }

    .\[\&\>svg\]\:pointer-events-none>svg {
        pointer-events: none
    }

    .\[\&\>svg\]\:size-3>svg {
        width: calc(var(--spacing)*3);
        height: calc(var(--spacing)*3)
    }

    @media (hover:hover) {
        a.\[a\&\]\:hover\:bg-accent:hover {
            background-color: var(--accent)
        }

        a.\[a\&\]\:hover\:bg-destructive\/90:hover {
            background-color: var(--destructive)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-destructive\/90:hover {
                background-color: color-mix(in oklab, var(--destructive)90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:bg-primary\/90:hover {
            background-color: var(--primary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-primary\/90:hover {
                background-color: color-mix(in oklab, var(--primary)90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:bg-secondary\/90:hover {
            background-color: var(--secondary)
        }

        @supports (color:color-mix(in lab, red, red)) {
            a.\[a\&\]\:hover\:bg-secondary\/90:hover {
                background-color: color-mix(in oklab, var(--secondary)90%, transparent)
            }
        }

        a.\[a\&\]\:hover\:text-accent-foreground:hover {
            color: var(--accent-foreground)
        }
    }

    .overlay-panel {
        z-index: 40;
        position: absolute;
        top: 100%;
        left: -.5rem;
        right: -.5rem
    }

    .overlay-panel .overlay-body {
        opacity: 0;
        height: 54px;
        max-height: 550px;
        transition: all .15s cubic-bezier(.4, 0, .2, 1);
        overflow-y: hidden
    }

    .overlay-panel.overlay-panel-open .overlay-body {
        opacity: 1;
        height: 350px;
        max-height: 500px;
        overflow-y: auto
    }

    .no-scrollbar::-webkit-scrollbar {
        display: none
    }

    .no-scrollbar {
        -ms-overflow-style: none;
        scrollbar-width: none
    }

    .heartbeat-loading-bar {
        background: linear-gradient(90deg, transparent 0%, var(--color-ui-loading-progress)50%, transparent 100%);
        animation: 1s ease-in-out infinite heartbeatBar;
        position: relative
    }

    @keyframes heartbeatBar {
        0% {
            opacity: .2;
            transform: translate(-100%)
        }

        50% {
            opacity: 1;
            transform: translate(0)
        }

        to {
            opacity: .2;
            transform: translate(100%)
        }
    }

    .animate-fade-in-up {
        animation: .3s both fadeInUp
    }

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

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

    .animate-fadeIn {
        animation: .4s ease-out both fadeIn
    }

    .animate-fadeInUp {
        animation: .4s ease-out both fadeInUp
    }

    .animate-fadeInUpDelayed {
        animation: .6s ease-out .1s both fadeInUp
    }

    .animate-fadeInUpStagger-1 {
        animation: .5s ease-out .1s both fadeInUp
    }

    .animate-fadeInUpStagger-2 {
        animation: .5s ease-out .2s both fadeInUp
    }

    .animate-fadeInUpStagger-3 {
        animation: .5s ease-out .3s both fadeInUp
    }

    .animate-fadeInUpStagger-4 {
        animation: .5s ease-out .4s both fadeInUp
    }

    .animate-fadeInUpStagger-5 {
        animation: .5s ease-out .5s both fadeInUp
    }

    .animate-fadeInUpStagger-6 {
        animation: .5s ease-out .6s both fadeInUp
    }

    .animate-fadeInScale {
        animation: .4s ease-out both fadeInScale
    }

    .text-overflow-safe {
        word-wrap: break-word;
        overflow-wrap: break-word;
        word-break: break-word;
        -webkit-hyphens: auto;
        hyphens: auto;
        max-width: 100%;
        overflow: hidden
    }

    .art-item-content {
        max-width: 15rem;
        overflow: hidden
    }

    .art-item-content * {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        max-width: 100% !important
    }

    .animate-shake {
        animation: .4s cubic-bezier(.36, .07, .19, .97) both shake
    }

    @keyframes shake {

        10%,
        90% {
            transform: translate(-1px)
        }

        20%,
        80% {
            transform: translate(2px)
        }

        30%,
        50%,
        70% {
            transform: translate(-4px)
        }

        40%,
        60% {
            transform: translate(4px)
        }
    }

    @keyframes fadeIn {
        0% {
            opacity: 0;
            transform: translateY(4px)
        }

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

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

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

    @keyframes imageFadeIn {
        0% {
            opacity: 0
        }

        to {
            opacity: 1
        }
    }

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

        to {
            transform: translate(100%)
        }
    }

    .image-fade-in {
        opacity: 0;
        animation: .5s ease-out forwards imageFadeIn
    }

    .image-fade-in-slow {
        opacity: 0;
        animation: .7s ease-out forwards imageFadeIn
    }

    .image-fade-in-fast {
        opacity: 0;
        animation: .4s ease-out forwards imageFadeIn
    }

    .image-loaded {
        animation: .4s ease-out forwards imageFadeIn
    }

    .image-loaded-slow {
        animation: .6s ease-out forwards imageFadeIn
    }

    .image-loaded-fast {
        animation: .4s ease-out forwards imageFadeIn
    }

    .animate-shimmer {
        animation: 2s linear infinite shimmer
    }

    @keyframes heartbeat {

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

        50% {
            transform: scale(1.05)
        }
    }

    .skeleton-image {
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0, #f0f0f0 75%)
    }

    .dark .skeleton-image {
        background: linear-gradient(90deg, #2a2a2a 25%, #1a1a1a, #2a2a2a 75%)
    }

    .skeleton-gradient {
        background: linear-gradient(90deg, #0000, #fff3, #0000) 0 0/200% 100%;
        animation: 1.5s ease-in-out infinite skeletonWave
    }

    .dark .skeleton-gradient {
        background: linear-gradient(90deg, #0000, #ffffff1a, #0000)
    }

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

        to {
            background-position: 200% 0
        }
    }

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

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

    .bg-gradient-radial {
        background: radial-gradient(var(--tw-gradient-stops))
    }

    .h-dynamic {
        height: var(--dynamic-vh)
    }

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

    .max-h-dynamic {
        max-height: var(--dynamic-vh)
    }

    .h-svh-safe {
        height: 100svh;
        height: var(--svh-fallback)
    }

    .min-h-svh-safe {
        min-height: 100svh;
        min-height: var(--svh-fallback)
    }

    .h-100vh {
        height: calc(var(--vh)*100)
    }

    .min-h-100vh {
        min-height: calc(var(--vh)*100)
    }

    .h-dynamic-with-nav {
        height: calc(var(--dynamic-vh) - 80px)
    }

    .h-100vh-with-nav {
        height: calc(var(--vh)*100 - 80px)
    }

    @keyframes slide-up {
        0% {
            opacity: 0;
            transform: translateY(100%)
        }

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

    @keyframes pulse-ring {
        0% {
            opacity: .8;
            transform: scale(1)
        }

        50% {
            opacity: .4;
            transform: scale(1.1)
        }

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

    .animate-slide-up {
        animation: .5s ease-out slide-up
    }

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

    .animate-pulse-ring {
        animation: 2s ease-out infinite pulse-ring
    }

    .animate-heartbeat-gentle {
        animation: 2.5s ease-in-out infinite heartbeat-gentle
    }

    .animate-bounce-subtle {
        animation: 3s ease-in-out infinite bounce-subtle
    }

    @keyframes heartbeat-gentle {

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

        50% {
            opacity: .95;
            transform: scale(1.02)
        }
    }

    @keyframes bounce-subtle {

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

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

    @keyframes loadingProgress {
        0% {
            opacity: .5;
            transform: translate(-100%)
        }

        50% {
            opacity: 1;
            transform: translate(0)
        }

        to {
            opacity: .5;
            transform: translate(100%)
        }
    }
}

@property --tw-animation-delay {
    syntax: "*";
    inherits: false;
    initial-value: 0s
}

@property --tw-animation-direction {
    syntax: "*";
    inherits: false;
    initial-value: normal
}

@property --tw-animation-duration {
    syntax: "*";
    inherits: false
}

@property --tw-animation-fill-mode {
    syntax: "*";
    inherits: false;
    initial-value: none
}

@property --tw-animation-iteration-count {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-enter-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-enter-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-opacity {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-rotate {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-scale {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-exit-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-exit-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@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 {
    z-index: 1;
    margin-left: auto;
    margin-right: auto;
    display: block;
    position: relative
}

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

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

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

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

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

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

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

.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 {
    backface-visibility: hidden;
    transform: translateZ(0)
}

.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 {
    scrollbar-width: none;
    -ms-overflow-style: none;
    overflow: auto
}

.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 {
    pointer-events: none;
    z-index: 10;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

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

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

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

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

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

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

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

.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 {
    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;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    justify-content: center;
    align-items: center;
    display: flex;
    position: absolute
}

.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 {
    object-fit: contain;
    transform-origin: 50%;
    width: 100%;
    height: 100%
}

.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);
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    text-transform: none !important
}

.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 {
    text-align: center;
    z-index: 10;
    transition: opacity .3s;
    position: absolute;
    transform: translate(0)
}

.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);
    width: 100%;
    left: 0
}

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

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

.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));
    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);
    display: inline-block
}

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

.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: translateY(-50%)
}

.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 {
    width: 8px;
    top: 50%;
    transform: translateY(-50%)
}

.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 {
    transition: transform .2s, top .2s;
    display: inline-block
}

.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 {
    white-space: nowrap;
    left: 50%;
    transform: translate(-50%)
}

.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: transform .2s, left .2s
}

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

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

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, #00000040);
    position: absolute
}

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

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: 100% 0
}

.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);
    top: 0;
    left: 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%;
    top: 0;
    left: 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
}

:root {
    color-scheme: light dark;
    color: #ffffffde;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    --vh: 1vh;
    --vw: 1vw;
    --dynamic-vh: 100vh;
    --dynamic-vw: 100vw;
    --svh-fallback: 100vh;
    --radius: .625rem;
    --background: oklch(14.5% 0 0);
    --foreground: oklch(98.5% 0 0);
    --card: oklch(20.5% 0 0);
    --card-foreground: oklch(98.5% 0 0);
    --popover: oklch(20.5% 0 0);
    --popover-foreground: oklch(98.5% 0 0);
    --primary: oklch(92.2% 0 0);
    --primary-foreground: oklch(20.5% 0 0);
    --secondary: oklch(26.9% 0 0);
    --secondary-foreground: oklch(98.5% 0 0);
    --muted: oklch(26.9% 0 0);
    --muted-foreground: oklch(70.8% 0 0);
    --accent: oklch(26.9% 0 0);
    --accent-foreground: oklch(98.5% 0 0);
    --destructive: oklch(70.4% .191 22.216);
    --border: oklch(100% 0 0/.1);
    --input: oklch(100% 0 0/.15);
    --ring: oklch(55.6% 0 0);
    --chart-1: oklch(48.8% .243 264.376);
    --chart-2: oklch(69.6% .17 162.48);
    --chart-3: oklch(76.9% .188 70.08);
    --chart-4: oklch(62.7% .265 303.9);
    --chart-5: oklch(64.5% .246 16.439);
    --sidebar: oklch(20.5% 0 0);
    --sidebar-foreground: oklch(98.5% 0 0);
    --sidebar-primary: oklch(48.8% .243 264.376);
    --sidebar-primary-foreground: oklch(98.5% 0 0);
    --sidebar-accent: oklch(26.9% 0 0);
    --sidebar-accent-foreground: oklch(98.5% 0 0);
    --sidebar-border: oklch(100% 0 0/.1);
    --sidebar-ring: oklch(55.6% 0 0);
    --color-primary-start: #ef4444;
    --color-primary-end: #f97316;
    --color-secondary-start: #ec4899;
    --color-secondary-end: #a855f7;
    --color-brand-red: #ef4444;
    --color-brand-orange: #f97316;
    --color-brand-pink: #ec4899;
    --color-brand-purple: #a855f7;
    --color-primary: #ef4444;
    --color-secondary: #f97316;
    --color-accent: #ec4899;
    --gradient-primary: linear-gradient(to right, #ef4444, #f92f16);
    --gradient-primary-hover: linear-gradient(to right, #dc2626, #ea580c);
    --gradient-text: linear-gradient(to right, #f97316, #ec4899);
    --gradient-secondary: linear-gradient(to right, #f97316, #ec4899);
    --color-ui-search-icon: #ef4444;
    --color-ui-search-button: #ef4444;
    --color-ui-search-input-border: #ef4444;
    --color-ui-search-input-border-focus: #dc2626;
    --color-ui-header-domain: #ef4444;
    --color-ui-header-menu-hover: #ef4444;
    --color-ui-home-menu-hash: #ef4444;
    --color-ui-home-menu-item-hover: #ef4444;
    --color-ui-video-share-button: #ef4444;
    --color-ui-loading-spinner: #ef4444;
    --color-ui-loading-progress: #f97316;
    --color-ui-skeleton-animation: #374151;
    --color-ui-bottom-nav-active: #ef4444;
    --color-ui-bottom-nav-active-glow: #f97316;
    --color-ui-tag-active: #ef4444;
    --color-ui-tag-hover: #dc2626;
    --color-ui-button-primary: #ef4444;
    --color-ui-button-secondary: #f97316;
    --color-ui-button-hover: #dc2626;
    font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
    font-weight: 400;
    line-height: 1.5;
    background-color: #1e1e1e !important;
    --gradient-primary: linear-gradient(to right, #f571ff, #da5df5);
}

.dark {
    --background: oklch(14.5% 0 0);
    --foreground: oklch(98.5% 0 0);
    --card: oklch(20.5% 0 0);
    --card-foreground: oklch(98.5% 0 0);
    --popover: oklch(20.5% 0 0);
    --popover-foreground: oklch(98.5% 0 0);
    --primary: oklch(92.2% 0 0);
    --primary-foreground: oklch(20.5% 0 0);
    --secondary: oklch(26.9% 0 0);
    --secondary-foreground: oklch(98.5% 0 0);
    --muted: oklch(26.9% 0 0);
    --muted-foreground: oklch(70.8% 0 0);
    --accent: oklch(26.9% 0 0);
    --accent-foreground: oklch(98.5% 0 0);
    --destructive: oklch(70.4% .191 22.216);
    --border: oklch(100% 0 0/.1);
    --input: oklch(100% 0 0/.15);
    --ring: oklch(55.6% 0 0);
    --chart-1: oklch(48.8% .243 264.376);
    --chart-2: oklch(69.6% .17 162.48);
    --chart-3: oklch(76.9% .188 70.08);
    --chart-4: oklch(62.7% .265 303.9);
    --chart-5: oklch(64.5% .246 16.439);
    --sidebar: oklch(20.5% 0 0);
    --sidebar-foreground: oklch(98.5% 0 0);
    --sidebar-primary: oklch(48.8% .243 264.376);
    --sidebar-primary-foreground: oklch(98.5% 0 0);
    --sidebar-accent: oklch(26.9% 0 0);
    --sidebar-accent-foreground: oklch(98.5% 0 0);
    --sidebar-border: oklch(100% 0 0/.1);
    --sidebar-ring: oklch(55.6% 0 0)
}

.bg-main-gradient {
    background: var(--gradient-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

.bg-main-gradient-hover:hover {
    background: var(--gradient-primary);
    filter: brightness(.9)
}

.text-main-gradient {
    color: #0000;
    background: var(--gradient-text);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text
}

.text-main-gradient-hover:hover {
    color: #0000;
    background: var(--gradient-text);
    -webkit-text-fill-color: transparent;
    filter: brightness(.9);
    -webkit-background-clip: text;
    background-clip: text
}

.text-tag-active {
    color: var(--color-ui-tag-active)
}

.bg-accent-gradient {
    background: var(--gradient-secondary)
}

.text-accent-gradient {
    color: #0000;
    background: var(--gradient-secondary);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text
}

.loading-spinner {
    color: var(--color-ui-loading-spinner)
}

.loading-progress {
    background-color: var(--color-ui-loading-progress)
}

.search-input-border {
    border-color: var(--color-ui-search-input-border)
}

.search-input-border:focus {
    border-color: var(--color-ui-search-input-border-focus)
}

.btn-primary {
    background-color: var(--color-ui-button-primary);
    color: #fff
}

.btn-primary:hover {
    background-color: var(--color-ui-button-hover)
}

.btn-secondary {
    background-color: var(--color-ui-button-secondary);
    color: #fff
}

.skeleton-animation {
    background-color: var(--color-ui-skeleton-animation)
}

.hidden {
    display: none !important
}

.has-blur-cover:before {
    content: "";
    background-image: var(--cover-url);
    filter: blur(20px);
    z-index: 0;
    opacity: .6;
    pointer-events: none;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    transition: opacity .4s ease-in-out;
    position: absolute;
    inset: 0;
    transform: scale(1.1)
}

.has-blur-cover-contain:before {
    content: "";
    background-image: var(--cover-url);
    filter: blur(20px);
    z-index: 0;
    opacity: 1;
    pointer-events: none;
    background-position: 50%;
    background-repeat: no-repeat;
    transition: opacity .4s ease-in-out;
    position: absolute;
    inset: 0;
    transform: scale(1)
}

.transition-all {
    transition-property: all !important;
    transition-duration: .15s !important;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1) !important
}

@property --tw-translate-x {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-y {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-translate-z {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-scale-x {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-y {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-scale-z {
    syntax: "*";
    inherits: false;
    initial-value: 1
}

@property --tw-rotate-x {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-y {
    syntax: "*";
    inherits: false
}

@property --tw-rotate-z {
    syntax: "*";
    inherits: false
}

@property --tw-skew-x {
    syntax: "*";
    inherits: false
}

@property --tw-skew-y {
    syntax: "*";
    inherits: false
}

@property --tw-space-y-reverse {
    syntax: "*";
    inherits: false;
    initial-value: 0
}

@property --tw-border-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-gradient-position {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-via {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-to {
    syntax: "<color>";
    inherits: false;
    initial-value: #0000
}

@property --tw-gradient-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-via-stops {
    syntax: "*";
    inherits: false
}

@property --tw-gradient-from-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 0%
}

@property --tw-gradient-via-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 50%
}

@property --tw-gradient-to-position {
    syntax: "<length-percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-leading {
    syntax: "*";
    inherits: false
}

@property --tw-font-weight {
    syntax: "*";
    inherits: false
}

@property --tw-tracking {
    syntax: "*";
    inherits: false
}

@property --tw-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-inset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-inset-ring-color {
    syntax: "*";
    inherits: false
}

@property --tw-inset-ring-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-ring-inset {
    syntax: "*";
    inherits: false
}

@property --tw-ring-offset-width {
    syntax: "<length>";
    inherits: false;
    initial-value: 0
}

@property --tw-ring-offset-color {
    syntax: "*";
    inherits: false;
    initial-value: #fff
}

@property --tw-ring-offset-shadow {
    syntax: "*";
    inherits: false;
    initial-value: 0 0 #0000
}

@property --tw-outline-style {
    syntax: "*";
    inherits: false;
    initial-value: solid
}

@property --tw-blur {
    syntax: "*";
    inherits: false
}

@property --tw-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-invert {
    syntax: "*";
    inherits: false
}

@property --tw-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-color {
    syntax: "*";
    inherits: false
}

@property --tw-drop-shadow-alpha {
    syntax: "<percentage>";
    inherits: false;
    initial-value: 100%
}

@property --tw-drop-shadow-size {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-blur {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-brightness {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-contrast {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-grayscale {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-hue-rotate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-invert {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-opacity {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-saturate {
    syntax: "*";
    inherits: false
}

@property --tw-backdrop-sepia {
    syntax: "*";
    inherits: false
}

@property --tw-duration {
    syntax: "*";
    inherits: false
}

@property --tw-ease {
    syntax: "*";
    inherits: false
}

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

@keyframes pulse {
    50% {
        opacity: .5
    }
}

@keyframes bounce {

    0%,
    to {
        animation-timing-function: cubic-bezier(.8, 0, 1, 1);
        transform: translateY(-25%)
    }

    50% {
        animation-timing-function: cubic-bezier(0, 0, .2, 1);
        transform: none
    }
}

@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))
    }
}