:root {
  --color-primary-900: #38006d;
  --color-primary-800: #541291;
  --color-primary-700: #6614b5;
  --color-primary-600: #7711df;
  --color-primary-500: #922dfc;
  --color-primary-400: #a145ff;
  --color-primary-300: #bb78ff;
  --color-primary-200: #d5adff;
  --color-primary-100: #e7d1ff;
  --color-primary-50: #f2e6ff;
  --color-primary-25: #faf4ff;
  --color-secondary-900: #1f1860;
  --color-secondary-800: #34278b;
  --color-secondary-700: #4a37ca;
  --color-secondary-600: #5a4add;
  --color-secondary-500: #6f69e9;
  --color-secondary-400: #9595f0;
  --color-secondary-300: #bbbdf7;
  --color-secondary-200: #d9dcfb;
  --color-secondary-100: #ebecfc;
  --color-secondary-50: #f4f5fe;
  --color-secondary-25: #fafaff;
  --color-tertiary-900: #0b5656;
  --color-tertiary-800: #066869;
  --color-tertiary-700: #008584;
  --color-tertiary-600: #00a7a3;
  --color-tertiary-500: #00d0c6;
  --color-tertiary-400: #12ded2;
  --color-tertiary-300: #4afeee;
  --color-tertiary-200: #8cfff4;
  --color-tertiary-100: #c5fff9;
  --color-tertiary-50: #eefffc;
  --color-tertiary-25: #f7fffe;
  --color-neutral-950: #131314;
  --color-neutral-900: #25252c;
  --color-neutral-800: #2f2f37;
  --color-neutral-700: #40404c;
  --color-neutral-600: #4a4a5a;
  --color-neutral-500: #5b5c6e;
  --color-neutral-400: #717386;
  --color-neutral-300: #8f91a1;
  --color-neutral-200: #b6b7c3;
  --color-neutral-100: #d8d9df;
  --color-neutral-50: #eeeef0;
  --color-neutral-25: #f7f7f8;
  --color-success-900: #004516;
  --color-success-800: #005a1e;
  --color-success-700: #007029;
  --color-success-600: #008539;
  --color-success-500: #109a4d;
  --color-success-400: #43af66;
  --color-success-300: #6bc382;
  --color-success-200: #94d5a3;
  --color-success-100: #bee7c6;
  --color-success-50: #e9f7ec;
  --color-success-25: #f4fbf6;
  --color-error-900: #82000a;
  --color-error-800: #a90011;
  --color-error-700: #cd0019;
  --color-error-600: #ec0027;
  --color-error-500: #ff213a;
  --color-error-400: #ff5153;
  --color-error-300: #ff7a71;
  --color-error-200: #ffa195;
  --color-error-100: #ffc7bd;
  --color-error-50: #ffede8;
  --color-error-25: #fff6f4;
  --color-warning-900: #5c2d00;
  --color-warning-800: #773c00;
  --color-warning-700: #914d00;
  --color-warning-600: #ab5f00;
  --color-warning-500: #c37400;
  --color-warning-400: #d88a17;
  --color-warning-300: #eaa148;
  --color-warning-200: #f8bb77;
  --color-warning-100: #ffd5ab;
  --color-warning-50: #fff1e2;
  --color-warning-25: #fff8f1;
  --color-base: #fff;
  --color-base-100: #fafafa;
  --color-base-200: #f5f5f5;
  --color-contrast: #000;
  --color-shadow-xs: rgba(0, 0, 0, 0.08);
  --color-shadow-s: rgba(0, 0, 0, 0.08);
  --color-shadow-m: rgba(0, 0, 0, 0.12);
  --color-shadow-l: rgba(0, 0, 0, 0.14);
}

*,
::after,
::before {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}

.text-primary-500 {
  color: #a04dfc;
}

.bg-primary-500 {
  background-color: var(--color-primary-500);
}

.text-primary-400 {
  color: #a04dfc;
}

.font-poppins {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.animate-floating {
  animation: float 4s linear infinite;
}

.backdrop-filter {
  -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,
.backdrop-blur-xl {
  -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(16px);
}

.blur,
.drop-shadow-m {
  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);
}

.launch-button.active,
.launch-button:hover:not(:active) {
  transition-duration: calc(1.33s * 0.5);
  scale: 1.2;
  box-shadow: 0 4px 8px -2px hsl(var(--glow-hue) 50% 20%/50%),
    inset 0 0 0 transparent;
  background-image: linear-gradient(90deg, #922dfc, #5afff5, #922dfc);
  background-size: 600%;
  animation: launch 1s linear 1 both;
}

.shimmer {
  position: absolute;
  inset: -40px;
  border-radius: inherit;
  mask-image: conic-gradient(
    from var(--shimmer, 0deg),
    transparent 0,
    transparent 10%,
    #000 36%,
    #000 45%,
    transparent 50%,
    transparent 60%,
    #000 85%,
    #000 95%,
    transparent 100%
  );
  mask-size: cover;
  mix-blend-mode: plus-lighter;
  animation: shimmer 1s linear infinite both;
}

.bg-\[--btn-bg\] {
  background-color: var(--color-primary-600);
}

.\[--btn-active-bg\:theme\(colors\.primary\.800\)\] {
  --btn-active-bg: var(--color-primary-800);
}

.text-base {
  color: var(--color-base);
}

.border-neutral-25 {
  border-color: var(--color-neutral-25);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),
    0 2px 4px -2px var(--tw-shadow-color);
}

.shadow-lg,
.shadow-md {
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.tab-indicator {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background: white;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.tab-active .tab-indicator {
  transform: scaleX(1);
}
