@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-scroll-snap-strictness: proximity;
            --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-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-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
        }
    }
}

@layer theme {

    :root,
    :host {
        --font-sans: Inter, sans-serif;
        --font-mono: "JetBrains Mono", monospace;
        --color-red-500: oklch(63.7% .237 25.331);
        --color-orange-50: oklch(98% .016 73.684);
        --color-orange-200: oklch(90.1% .076 70.697);
        --color-orange-500: oklch(70.5% .213 47.604);
        --color-amber-50: oklch(98.7% .022 95.277);
        --color-amber-200: oklch(92.4% .12 95.746);
        --color-amber-500: oklch(76.9% .188 70.08);
        --color-green-50: oklch(98.2% .018 155.826);
        --color-green-200: oklch(92.5% .084 155.995);
        --color-green-500: oklch(72.3% .219 149.579);
        --color-cyan-50: oklch(98.4% .019 200.873);
        --color-cyan-200: oklch(91.7% .08 205.041);
        --color-cyan-500: oklch(71.5% .143 215.221);
        --color-violet-50: oklch(96.9% .016 293.756);
        --color-violet-100: oklch(94.3% .029 294.588);
        --color-violet-200: oklch(89.4% .057 293.283);
        --color-violet-500: oklch(60.6% .25 292.717);
        --color-pink-50: oklch(97.1% .014 343.198);
        --color-pink-200: oklch(89.9% .061 343.231);
        --color-pink-500: oklch(65.6% .241 354.308);
        --color-gray-500: oklch(55.1% .027 264.364);
        --color-gray-600: oklch(44.6% .03 256.802);
        --color-zinc-200: oklch(92% .004 286.32);
        --color-zinc-300: oklch(87.1% .006 286.286);
        --color-zinc-700: oklch(37% .013 285.805);
        --color-zinc-800: oklch(27.4% .006 286.033);
        --color-stone-100: oklch(97% .001 106.424);
        --color-stone-200: oklch(92.3% .003 48.717);
        --color-stone-400: oklch(70.9% .01 56.259);
        --color-stone-500: oklch(55.3% .013 58.071);
        --color-stone-600: oklch(44.4% .011 73.639);
        --color-stone-700: oklch(37.4% .01 67.558);
        --color-stone-800: oklch(26.8% .007 34.298);
        --color-stone-900: oklch(21.6% .006 56.043);
        --color-black: #000;
        --color-white: #fff;
        --spacing: .25rem;
        --container-xs: 20rem;
        --container-sm: 24rem;
        --container-md: 28rem;
        --container-xl: 36rem;
        --container-2xl: 42rem;
        --container-7xl: 80rem;
        --text-xs: .75rem;
        --text-xs--line-height: calc(1/.75);
        --text-sm: .875rem;
        --text-sm--line-height: calc(1.25/.875);
        --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-3xl: 1.875rem;
        --text-3xl--line-height: calc(2.25/1.875);
        --text-4xl: 2.25rem;
        --text-4xl--line-height: calc(2.5/2.25);
        --text-5xl: 3rem;
        --text-5xl--line-height: 1;
        --text-6xl: 3.75rem;
        --text-6xl--line-height: 1;
        --text-7xl: 4.5rem;
        --text-7xl--line-height: 1;
        --font-weight-normal: 400;
        --font-weight-semibold: 600;
        --font-weight-bold: 700;
        --font-weight-black: 900;
        --leading-tight: 1.25;
        --leading-snug: 1.375;
        --radius-lg: .5rem;
        --radius-xl: .75rem;
        --radius-3xl: 1.5rem;
        --ease-in: cubic-bezier(.4, 0, 1, 1);
        --ease-in-out: cubic-bezier(.4, 0, .2, 1);
        --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);
        --animate-scroll: scroll 40s linear infinite;
        --color-primary-50: oklch(97% .014 254.604);
        --color-primary-100: oklch(93.2% .032 255.585);
        --color-primary-200: oklch(88.2% .059 254.128);
        --color-primary-300: oklch(80.9% .105 251.813);
        --color-primary-400: oklch(70.7% .165 254.624);
        --color-primary-500: oklch(62.3% .214 259.815);
        --color-primary-600: oklch(54.6% .245 262.881);
        --color-primary-700: oklch(48.8% .243 264.376);
        --color-primary-800: oklch(42.4% .199 265.638);
        --color-primary-900: oklch(37.9% .146 265.522);
        --color-primary-950: oklch(28.2% .091 267.935)
    }
}

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

    ::-webkit-calendar-picker-indicator {
        line-height: 1
    }

    :-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
    }
}

@layer components;

@layer utilities {
    .\@container {
        container-type: inline-size
    }

    .invisible {
        visibility: hidden
    }

    .visible {
        visibility: visible
    }

    .absolute {
        position: absolute
    }

    .fixed {
        position: fixed
    }

    .relative {
        position: relative
    }

    .static {
        position: static
    }

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

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

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

    .top-2\.5 {
        top: calc(var(--spacing)*2.5)
    }

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

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

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

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

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

    .-z-10 {
        z-index: calc(10*-1)
    }

    .-z-20 {
        z-index: calc(20*-1)
    }

    .z-10 {
        z-index: 10
    }

    .z-50 {
        z-index: 50
    }

    .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-4 {
        margin-inline: calc(var(--spacing)*4)
    }

    .mx-auto {
        margin-inline: auto
    }

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

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

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

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

    .mt-0\.5 {
        margin-top: calc(var(--spacing)*.5)
    }

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

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

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

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

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

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

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

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

    .-mr-2\.5 {
        margin-right: calc(var(--spacing)*-2.5)
    }

    .mr-28 {
        margin-right: calc(var(--spacing)*28)
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .block {
        display: block
    }

    .flex {
        display: flex
    }

    .grid {
        display: grid
    }

    .hidden {
        display: none
    }

    .inline {
        display: inline
    }

    .inline-block {
        display: inline-block
    }

    .inline-flex {
        display: inline-flex
    }

    .table {
        display: table
    }

    .aspect-auto {
        aspect-ratio: auto
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .h-full {
        height: 100%
    }

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

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

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

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

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

    .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-40 {
        width: calc(var(--spacing)*40)
    }

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

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

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

    .w-full {
        width: 100%
    }

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

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

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

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

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

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

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

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

    .grow {
        flex-grow: 1
    }

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

    .-translate-x-1\.5 {
        --tw-translate-x: calc(var(--spacing)*-1.5);
        translate: var(--tw-translate-x)var(--tw-translate-y)
    }

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

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

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

    .cursor-pointer {
        cursor: pointer
    }

    .resize {
        resize: both
    }

    .snap-x {
        scroll-snap-type: x var(--tw-scroll-snap-strictness)
    }

    .snap-mandatory {
        --tw-scroll-snap-strictness: mandatory
    }

    .snap-start {
        scroll-snap-align: start
    }

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

    .flex-col {
        flex-direction: column
    }

    .flex-row {
        flex-direction: row
    }

    .flex-nowrap {
        flex-wrap: nowrap
    }

    .flex-wrap {
        flex-wrap: wrap
    }

    .items-center {
        align-items: center
    }

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

    .items-stretch {
        align-items: stretch
    }

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

    .justify-center {
        justify-content: center
    }

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

    .justify-stretch {
        justify-content: stretch
    }

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

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

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

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

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

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

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

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

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

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

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

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

    .self-stretch {
        align-self: stretch
    }

    .overflow-auto {
        overflow: auto
    }

    .overflow-hidden {
        overflow: hidden
    }

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

    .scroll-smooth {
        scroll-behavior: smooth
    }

    .rounded {
        border-radius: .25rem
    }

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

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

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

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

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

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

    .rounded-t-lg {
        border-top-left-radius: var(--radius-lg);
        border-top-right-radius: var(--radius-lg)
    }

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

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

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

    .border-t-0 {
        border-top-style: var(--tw-border-style);
        border-top-width: 0
    }

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

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

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

    .border-amber-500 {
        border-color: var(--color-amber-500)
    }

    .border-black {
        border-color: var(--color-black)
    }

    .border-black\/10 {
        border-color: #0000001a
    }

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

    .border-cyan-500 {
        border-color: var(--color-cyan-500)
    }

    .border-green-500 {
        border-color: var(--color-green-500)
    }

    .border-orange-500 {
        border-color: var(--color-orange-500)
    }

    .border-pink-500 {
        border-color: var(--color-pink-500)
    }

    .border-red-500 {
        border-color: var(--color-red-500)
    }

    .border-violet-500 {
        border-color: var(--color-violet-500)
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .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-zinc-200 {
        background-color: var(--color-zinc-200)
    }

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

    .bg-linear-to-b {
        --tw-gradient-position: to bottom
    }

    @supports (background-image:linear-gradient(in lab, red, red)) {
        .bg-linear-to-b {
            --tw-gradient-position: to bottom in oklab
        }
    }

    .bg-linear-to-b {
        background-image: linear-gradient(var(--tw-gradient-stops))
    }

    .from-amber-200 {
        --tw-gradient-from: var(--color-amber-200);
        --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-black {
        --tw-gradient-from: var(--color-black);
        --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-black\/40 {
        --tw-gradient-from: #0006
    }

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

    .from-black\/40 {
        --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-cyan-200 {
        --tw-gradient-from: var(--color-cyan-200);
        --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-green-200 {
        --tw-gradient-from: var(--color-green-200);
        --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-orange-200 {
        --tw-gradient-from: var(--color-orange-200);
        --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-pink-200 {
        --tw-gradient-from: var(--color-pink-200);
        --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-violet-200 {
        --tw-gradient-from: var(--color-violet-200);
        --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-white {
        --tw-gradient-from: var(--color-white);
        --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-amber-500 {
        --tw-gradient-to: var(--color-amber-500);
        --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-cyan-500 {
        --tw-gradient-to: var(--color-cyan-500);
        --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-green-500 {
        --tw-gradient-to: var(--color-green-500);
        --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-orange-500 {
        --tw-gradient-to: var(--color-orange-500);
        --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-pink-500 {
        --tw-gradient-to: var(--color-pink-500);
        --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))
    }

    .to-violet-500 {
        --tw-gradient-to: var(--color-violet-500);
        --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))
    }

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

    .object-contain {
        object-fit: contain
    }

    .object-cover {
        object-fit: cover
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .text-center {
        text-align: center
    }

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

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

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

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

    .text-6xl {
        font-size: var(--text-6xl);
        line-height: var(--tw-leading, var(--text-6xl--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))
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .text-stone-800 {
        color: var(--color-stone-800)
    }

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

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

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

    .text-zinc-800 {
        color: var(--color-zinc-800)
    }

    .uppercase {
        text-transform: uppercase
    }

    .opacity-30 {
        opacity: .3
    }

    .opacity-40 {
        opacity: .4
    }

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

    .filter {
        filter: var(--tw-blur, )var(--tw-brightness, )var(--tw-contrast, )var(--tw-grayscale, )var(--tw-hue-rotate, )var(--tw-invert, )var(--tw-saturate, )var(--tw-sepia, )var(--tw-drop-shadow, )
    }

    .backdrop-blur {
        --tw-backdrop-blur: blur(8px);
        -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, 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-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-opacity {
        transition-property: opacity;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration))
    }

    .duration-50 {
        --tw-duration: 50ms;
        transition-duration: 50ms
    }

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

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

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

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

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

    .last\:-mr-0:last-child {
        margin-right: calc(var(--spacing)*0)
    }

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

    @media (hover:hover) {
        .hover\:bg-stone-700:hover {
            background-color: var(--color-stone-700)
        }
    }

    @media (min-width:40rem) {
        .sm\:min-h-\[380px\] {
            min-height: 380px
        }

        .sm\:gap-3\.5 {
            gap: calc(var(--spacing)*3.5)
        }

        .sm\:gap-9 {
            gap: calc(var(--spacing)*9)
        }

        .sm\:gap-14 {
            gap: calc(var(--spacing)*14)
        }

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

        .sm\:py-24 {
            padding-block: calc(var(--spacing)*24)
        }

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

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

    @media (min-width:48rem) {
        .md\:col-span-4 {
            grid-column: span 4/span 4
        }

        .md\:col-span-8 {
            grid-column: span 8/span 8
        }

        .md\:ml-0 {
            margin-left: calc(var(--spacing)*0)
        }

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

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

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

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

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

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

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

        .md\:min-w-xl {
            min-width: var(--container-xl)
        }

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

        .md\:-translate-x-2\.5 {
            --tw-translate-x: calc(var(--spacing)*-2.5);
            translate: var(--tw-translate-x)var(--tw-translate-y)
        }

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

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

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

        .md\:gap-2\.5 {
            gap: calc(var(--spacing)*2.5)
        }

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

        .md\:gap-10 {
            gap: calc(var(--spacing)*10)
        }

        .md\:gap-16 {
            gap: calc(var(--spacing)*16)
        }

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

        .md\:py-32 {
            padding-block: calc(var(--spacing)*32)
        }

        .md\:pb-60 {
            padding-bottom: calc(var(--spacing)*60)
        }

        .md\:pl-0 {
            padding-left: calc(var(--spacing)*0)
        }

        .md\:pl-10 {
            padding-left: calc(var(--spacing)*10)
        }

        .md\:text-left {
            text-align: left
        }

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

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

    @media (min-width:64rem) {
        .lg\:aspect-auto {
            aspect-ratio: auto
        }

        .lg\:h-\[556px\] {
            height: 556px
        }

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

        .lg\:w-\[400px\] {
            width: 400px
        }

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

        .lg\:flex-row {
            flex-direction: row
        }

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

        .lg\:gap-0 {
            gap: calc(var(--spacing)*0)
        }

        .lg\:gap-8 {
            gap: calc(var(--spacing)*8)
        }

        .lg\:gap-20 {
            gap: calc(var(--spacing)*20)
        }

        .lg\:self-stretch {
            align-self: stretch
        }

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

        .lg\:text-left {
            text-align: left
        }

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

    @media (min-width:80rem) {
        .xl\:w-\[440px\] {
            width: 440px
        }

        .xl\:w-\[680px\] {
            width: 680px
        }

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

    @media (min-width:96rem) {
        .\32 xl\:h-\[566px\] {
            height: 566px
        }

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

        .\32 xl\:w-\[480px\] {
            width: 480px
        }

        .\32 xl\:w-\[720px\] {
            width: 720px
        }
    }

    @container (min-width:32rem) {
        .\@lg\:gap-10 {
            gap: calc(var(--spacing)*10)
        }
    }

    @container (min-width:36rem) {
        .\@xl\:text-5xl {
            font-size: var(--text-5xl);
            line-height: var(--tw-leading, var(--text-5xl--line-height))
        }

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

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

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

@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-scroll-snap-strictness {
    syntax: "*";
    inherits: false;
    initial-value: proximity
}

@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-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-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 scroll {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-50%)
    }
}

@theme {
    --font-sans: Inter, sans-serif;
    --font-mono: "JetBrains Mono", monospace;

    @keyframes scroll {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-50%);
        }
    }

    --animate-scroll: scroll 40s linear infinite;

    --color-primary-50: oklch(0.97 0.014 254.604);
    --color-primary-100: oklch(0.932 0.032 255.585);
    --color-primary-200: oklch(0.882 0.059 254.128);
    --color-primary-300: oklch(0.809 0.105 251.813);
    --color-primary-400: oklch(0.707 0.165 254.624);
    --color-primary-500: oklch(0.623 0.214 259.815);
    --color-primary-600: oklch(0.546 0.245 262.881);
    --color-primary-700: oklch(0.488 0.243 264.376);
    --color-primary-800: oklch(0.424 0.199 265.638);
    --color-primary-900: oklch(0.379 0.146 265.522);
    --color-primary-950: oklch(0.282 0.091 267.935);
}

.slide-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    object-position: left top;
}

.slide-image.active {
    opacity: 1;
}

/* Custom keyframe for the progress bar animation */
@keyframes progress-fill {
    from {
        width: 0%;
    }

    to {
        width: 100%;
    }
}

/* Apply progress animation only to the active progress bar */
.progress-bar.active .progress-fill {
    animation: progress-fill 3s linear forwards;
}

.no-scrollbar {
    scrollbar-width: none;
}

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


.arc-container {
    position: relative;
    width: 100%;
    max-width: 900px;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catalyst-element {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, calc(-50% - 225px));
    width: 192px;
    height: 192px;
    background: #000000;
    background-size: cover;
    background-position: center;
    border-radius: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 32px;
    font-weight: bold;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    z-index: 15;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    border: 1px solid #000000;
    clip-path: polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0% 50%);
}

.catalyst-element img {
    width: 64px;
    height: 64px;
}

#logoContainer {
    width: 100%;
    height: 100%;
    position: relative;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
    .arc-container {
        height: 400px;
        max-width: 700px;
    }

    .catalyst-element {
        transform: translate(-50%, calc(-50% - 175px));
        width: 160px;
        height: 160px;
        font-size: 26px;
        border-radius: 55px;
    }

    .catalyst-element img {
        width: 52px;
        height: 52px;
    }
}

@media (max-width: 768px) {
    section {
        margin: 60px 0;
    }

    .arc-container {
        height: 320px;
        max-width: 550px;
    }

    .catalyst-element {
        transform: translate(-50%, calc(-50% - 137.5px));
        width: 140px;
        height: 140px;
        font-size: 22px;
        border-radius: 45px;
    }

    .catalyst-element img {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 480px) {
    section {
        margin: 40px 0;
        padding: 0 10px;
    }

    .arc-container {
        height: 280px;
        max-width: 400px;
    }

    .catalyst-element {
        transform: translate(-50%, calc(-50% - 110px));
        width: 120px;
        height: 120px;
        font-size: 18px;
        border-radius: 35px;
    }

    .catalyst-element img {
        width: 38px;
        height: 38px;
    }
}

@media (max-width: 380px) {
    .arc-container {
        height: 240px;
        max-width: 320px;
    }

    .catalyst-element {
        transform: translate(-50%, calc(-50% - 90px));
        width: 100px;
        height: 100px;
        font-size: 16px;
        border-radius: 30px;
    }

    .catalyst-element img {
        width: 32px;
        height: 32px;
    }
}

/* ============================================
   MOBILE RESPONSIVENESS FIXES
   For smaller devices: Galaxy S8+ (360px), iPhone SE (375px)
   These rules ONLY apply to mobile and do NOT affect desktop
   ============================================ */

/* Small mobile devices (max-width 480px) */
@media (max-width: 480px) {

    /* Fix card widths - prevent horizontal overflow */
    .w-96 {
        width: 100% !important;
        max-width: calc(100vw - 2rem) !important;
    }

    /* Fix slider cards */
    .min-w-\[350px\] {
        min-width: 280px !important;
    }

    /* Reduce large text on very small screens */
    .text-6xl {
        font-size: 2.5rem !important;
        line-height: 1.1 !important;
    }

    /* Add padding to containers to prevent left cut-off */
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Fix agent slider */
    #agent-slider {
        padding-left: 1rem !important;
        gap: 1rem !important;
    }
}

/* Extra small devices (Galaxy S8+ at 360px) */
@media (max-width: 380px) {
    .min-w-\[350px\] {
        min-width: 260px !important;
    }

    .text-6xl {
        font-size: 2rem !important;
    }

    .text-4xl {
        font-size: 1.75rem !important;
    }

    .text-3xl {
        font-size: 1.5rem !important;
    }
}

/* Center bot cards (ZARA, AYYAN, etc.) on mobile only */
@media (max-width: 768px) {
    ul.flex.flex-col.gap-2\.5 {
        align-items: center !important;
        width: 100% !important;
    }

    ul.flex.flex-col.gap-2\.5>li {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}