/* ═══════════════════════════════════════════════════════════════
   FLASH CARD 2026 — COMPLETE LIVING TEXT TRANSFORMATION SYSTEM
   30-45s infinite cycles · per-letter animations · layered scenes
   ═══════════════════════════════════════════════════════════════ */

/* ──────── RESET & BASE ──────── */
.flash-card {
  position: relative;
  width: 100%;
  min-height: 260px;
  border-radius: 22px;
  overflow: hidden;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.15s;
  contain: layout style;
  box-shadow: 0 12px 50px rgba(0,0,0,0.7), 0 4px 15px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05);
}
.flash-card:active { transform: scale(0.97); }
.flash-card.is-paused, .flash-card.is-paused * {
  animation-play-state: paused !important;
}
@media (prefers-reduced-motion: reduce) {
  .flash-card * { animation: none !important; transition: none !important; }
}

/* ──────── LAYERS ──────── */
.flash-bg { position: absolute; inset: 0; z-index: 0; }
.flash-layer { position: absolute; inset: 0; pointer-events: none; }

/* ──────── GLOW BORDER ──────── */
.flash-glow-border {
  position: absolute; inset: -8px; border-radius: 30px; z-index: -1;
  filter: blur(20px); opacity: 0.9;
  animation: glowPulse 2.5s ease-in-out infinite;
}
@keyframes glowPulse {
  0%,100% { opacity: 0.65; filter: blur(18px); transform: scale(1); }
  50%     { opacity: 1; filter: blur(28px); transform: scale(1.04); }
}

/* ──────── SHIMMER ──────── */
.flash-shimmer {
  position: absolute; inset: 0; overflow: hidden;
  border-radius: 20px; z-index: 20; pointer-events: none;
}
.flash-shimmer-bar {
  position: absolute; top: -100%; left: -100%;
  width: 60%; height: 300%;
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.06) 42%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0.06) 58%, transparent 70%);
  transform: rotate(15deg);
  animation: shimmerSweep 4s ease-in-out infinite;
}
@keyframes shimmerSweep {
  0%,70% { transform: translateX(-200%) rotate(15deg); }
  100%   { transform: translateX(400%) rotate(15deg); }
}

/* ──────── TEXT STAGE ──────── */
.flash-text-stage {
  position: relative; z-index: 15;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 260px; padding: 32px 16px 20px;
  text-align: center;
}
.flash-text-wrap {
  position: relative;
  min-height: 50px;
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap;
  padding: 8px 4px;
}
.flash-letters-row {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
}

/* ──────── HEADER / FOOTER ──────── */
.flash-header {
  display: flex; align-items: center; gap: 6px;
  font-size: 10px; font-weight: 900; text-transform: uppercase;
  letter-spacing: 0.2em; opacity: 0.55; color: #fff;
  margin-bottom: 12px;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}
.flash-header-icon {
  width: 24px; height: 24px; border-radius: 50%;
  background: rgba(0,0,0,0.4); backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.flash-footer {
  display: flex; align-items: center; gap: 8px;
  margin-top: 14px; font-size: 7px; font-weight: 900;
  text-transform: uppercase; letter-spacing: 0.25em;
  opacity: 0.25; color: #fff;
}
.flash-footer-line { width: 28px; height: 1px; background: currentColor; }

/* ──────── LETTER BASE ──────── */
.flash-letter {
  display: inline-block; position: relative;
  will-change: transform, opacity, filter, color;
  letter-spacing: 0.06em;
  font-weight: 900;
  font-size: 48px;
  line-height: 1.1;
  text-transform: uppercase;
  -webkit-text-stroke: 1px rgba(255,255,255,0.15);
  paint-order: stroke fill;
}

/* ──────── LETTER ALIVE MICRO-MOTIONS ──────── */
/* Each style gets its own "breath" — layered with the main animation */

/* 🌊 Ocean — gentle bob like floating */
.flash-card--ocean .flash-letter:nth-child(odd) { animation-timing-function: ease-in-out; }
.flash-card--ocean .flash-letter:nth-child(even) { animation-direction: alternate-reverse; }

/* 🔥 Fire — jittery heat shimmer */
.flash-card--fire .flash-letter::after {
  content: ''; position: absolute; inset: -2px; z-index: -1;
  background: radial-gradient(ellipse, rgba(255,80,0,0.15), transparent 70%);
  animation: fireLetterPulse 0.8s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.1s);
}
@keyframes fireLetterPulse {
  0% { opacity: 0.3; transform: scale(0.8); }
  100% { opacity: 0.7; transform: scale(1.3); }
}

/* ⚡ Thunder — electric crackle shimmer */
.flash-card--thunder .flash-letter::after {
  content: ''; position: absolute; inset: -3px; z-index: -1;
  background: radial-gradient(ellipse, rgba(249,202,36,0.1), transparent 60%);
  animation: thunderLetterSpark 1.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.15s);
}
@keyframes thunderLetterSpark {
  0%,80%,100% { opacity: 0; }
  85% { opacity: 0.8; transform: scale(1.5); }
  90% { opacity: 0; }
}

/* 💖 Love — heartbeat size pulse */
.flash-card--love .flash-letter {
  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.flash-card--love .flash-letter::after {
  content: ''; position: absolute; inset: -2px; z-index: -1;
  background: radial-gradient(ellipse, rgba(255,20,80,0.12), transparent 65%);
  animation: loveLetterHeartGlow 1.2s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.08s);
}
@keyframes loveLetterHeartGlow {
  0%,100% { opacity: 0.2; transform: scale(0.9); }
  50% { opacity: 0.6; transform: scale(1.2); }
}

/* ❄️ Ice — frost shimmer */
.flash-card--ice .flash-letter::after {
  content: ''; position: absolute; inset: -2px; z-index: -1;
  background: radial-gradient(ellipse, rgba(130,204,221,0.1), transparent 65%);
  animation: iceLetterFrost 2s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.2s);
}
@keyframes iceLetterFrost {
  0% { opacity: 0.1; transform: scale(0.85); }
  100% { opacity: 0.5; transform: scale(1.15); }
}

/* ☢️ Toxic — radioactive bubble */
.flash-card--toxic .flash-letter::after {
  content: ''; position: absolute; inset: -3px; z-index: -1; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(57,255,20,0.15), transparent 60%);
  animation: toxicLetterBubble 1.8s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes toxicLetterBubble {
  0%,100% { opacity: 0.2; transform: scale(0.8) translateY(0); }
  40% { opacity: 0.6; transform: scale(1.2) translateY(-2px); }
  60% { opacity: 0.4; transform: scale(1.1) translateY(1px); }
}

/* ✨ Gold — shimmer sweep */
.flash-card--gold .flash-letter::after {
  content: ''; position: absolute; inset: -2px; z-index: -1;
  background: linear-gradient(90deg, transparent 30%, rgba(255,215,0,0.2) 50%, transparent 70%);
  animation: goldLetterSweep 2.5s linear infinite;
  animation-delay: calc(var(--i) * 0.3s);
}
@keyframes goldLetterSweep {
  0% { transform: translateX(-20px); opacity: 0; }
  40% { opacity: 0.7; }
  100% { transform: translateX(20px); opacity: 0; }
}

/* 💜 Neon — tube buzz flicker */
.flash-card--neon .flash-letter::after {
  content: ''; position: absolute; inset: -4px; z-index: -1;
  background: radial-gradient(ellipse, rgba(255,0,255,0.12), transparent 55%);
  animation: neonLetterBuzz 0.15s step-end infinite;
}
@keyframes neonLetterBuzz {
  0%,60% { opacity: 1; }
  61%,64% { opacity: 0.3; }
  65%,100% { opacity: 1; }
}

/* 🌌 Aurora — northern lights per-letter */
.flash-card--aurora .flash-letter::after {
  content: ''; position: absolute; inset: -3px; z-index: -1;
  background: radial-gradient(ellipse, rgba(108,92,231,0.1), transparent 60%);
  animation: auroraLetterGlow 3s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.25s);
}
@keyframes auroraLetterGlow {
  0% { opacity: 0.15; filter: hue-rotate(0deg); transform: scale(0.9); }
  50% { opacity: 0.5; filter: hue-rotate(60deg); transform: scale(1.2); }
  100% { opacity: 0.2; filter: hue-rotate(120deg); transform: scale(0.95); }
}

/* 🪐 Cosmic — twinkling stardust */
.flash-card--cosmic .flash-letter::after {
  content: ''; position: absolute; inset: -3px; z-index: -1;
  background: radial-gradient(ellipse, rgba(108,52,131,0.12), transparent 55%);
  animation: cosmicLetterTwinkle 2s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.18s);
}
@keyframes cosmicLetterTwinkle {
  0%,100% { opacity: 0.1; transform: scale(0.85); }
  30% { opacity: 0.5; transform: scale(1.15); }
  70% { opacity: 0.25; transform: scale(1); }
}

/* 🌸 Sakura — gentle petal warmth */
.flash-card--sakura .flash-letter::after {
  content: ''; position: absolute; inset: -2px; z-index: -1;
  background: radial-gradient(ellipse, rgba(232,67,147,0.1), transparent 65%);
  animation: sakuraLetterWarm 2.5s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.2s);
}
@keyframes sakuraLetterWarm {
  0% { opacity: 0.15; transform: scale(0.9) translateY(0); }
  100% { opacity: 0.4; transform: scale(1.1) translateY(-1px); }
}

/* ⚔️ Steel — hot metal glow */
.flash-card--steel .flash-letter::after {
  content: ''; position: absolute; inset: -2px; z-index: -1;
  background: radial-gradient(ellipse, rgba(255,140,0,0.08), transparent 60%);
  animation: steelLetterHeat 3s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.15s);
}
@keyframes steelLetterHeat {
  0%,100% { opacity: 0; }
  30%,60% { opacity: 0.5; transform: scale(1.1); }
}

/* 🩸 Blood — drip pulse */
.flash-card--blood .flash-letter::after {
  content: ''; position: absolute; inset: -2px; z-index: -1;
  background: radial-gradient(ellipse, rgba(200,0,0,0.12), transparent 60%);
  animation: bloodLetterPulse 1.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.1s);
}
@keyframes bloodLetterPulse {
  0%,100% { opacity: 0.15; transform: scale(0.9); }
  50% { opacity: 0.5; transform: scale(1.15); }
}

/* ──────── PARTICLES CONTAINER ──────── */
.flash-particles {
  position: absolute; inset: 0; overflow: hidden;
  pointer-events: none; z-index: 12;
}

/* ═══════════════════════════════════════════════════════════════
   🌊 OCEAN — 40s · Water fills, letters float on waves, drain back
   ═══════════════════════════════════════════════════════════════ */
.flash-card--ocean {
  background: linear-gradient(180deg, #000a20 0%, #001848 40%, #001030 100%);
  animation: oceanBgShift 40s ease-in-out infinite;
}
@keyframes oceanBgShift {
  0%   { background: linear-gradient(180deg, #000a20 0%, #001848 40%, #001030 100%); }
  25%  { background: linear-gradient(180deg, #000820 0%, #002060 40%, #001545 100%); }
  50%  { background: linear-gradient(180deg, #001030 0%, #002868 40%, #001a50 100%); }
  75%  { background: linear-gradient(180deg, #000820 0%, #001e55 40%, #001240 100%); }
  100% { background: linear-gradient(180deg, #000a20 0%, #001848 40%, #001030 100%); }
}
.flash-card--ocean .flash-bg {
  position: absolute; inset: 0;
  border-radius: 22px;
  box-shadow: inset 0 0 60px rgba(0,100,255,0.15), inset 0 0 120px rgba(0,50,150,0.1);
  animation: oceanInnerGlow 5s ease-in-out infinite alternate;
}
@keyframes oceanInnerGlow {
  0% { box-shadow: inset 0 0 40px rgba(0,100,255,0.1), inset 0 0 80px rgba(0,50,150,0.05); }
  100% { box-shadow: inset 0 0 80px rgba(0,150,255,0.2), inset 0 0 120px rgba(0,80,200,0.1); }
}
.flash-card--ocean .flash-glow-border {
  background: linear-gradient(135deg, #0077ff, #00d2ff, #0077ff);
}

/* Water body */
.water-body {
  position: absolute; left: 0; right: 0; bottom: 0;
  z-index: 2;
  background: linear-gradient(180deg, rgba(0,120,255,0.4) 0%, rgba(0,80,200,0.85) 50%, rgba(0,30,100,0.98) 100%);
  animation: waterBodyCycle 40s ease-in-out infinite;
  box-shadow: 0 -4px 20px rgba(0,150,255,0.3);
}
@keyframes waterBodyCycle {
  0%,5%  { height: 8%; }
  20%    { height: 45%; }
  35%    { height: 78%; }
  50%    { height: 85%; }
  65%    { height: 70%; }
  80%    { height: 25%; }
  95%,100% { height: 8%; }
}

/* Wave SVG surface */
.water-surface {
  position: absolute; left: -5%; right: -5%; z-index: 3;
  height: 30px; pointer-events: none;
  animation: waterBodyCycle 40s ease-in-out infinite;
}
.water-wave-svg {
  width: 110%; height: 100%;
  position: absolute; bottom: -2px; left: -5%;
}
.wave-path-1 {
  fill: rgba(0,180,255,0.35);
  animation: waveShift1 3s ease-in-out infinite;
}
.wave-path-2 {
  fill: rgba(0,120,200,0.25);
  animation: waveShift2 4s ease-in-out infinite;
}
@keyframes waveShift1 {
  0%,100% { d: path("M0,60 C200,100 400,20 600,60 C800,100 1000,20 1200,60 L1200,120 L0,120 Z"); }
  50%     { d: path("M0,50 C200,20 400,90 600,50 C800,10 1000,80 1200,50 L1200,120 L0,120 Z"); }
}
@keyframes waveShift2 {
  0%,100% { d: path("M0,70 C150,40 350,90 600,70 C850,50 1050,100 1200,70 L1200,120 L0,120 Z"); }
  50%     { d: path("M0,65 C200,95 400,35 600,65 C800,95 1000,35 1200,65 L1200,120 L0,120 Z"); }
}

/* Caustics */
.water-caustics-layer {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  opacity: 0.2;
  background:
    radial-gradient(ellipse at 25% 75%, rgba(100,220,255,0.6) 0%, transparent 35%),
    radial-gradient(ellipse at 65% 65%, rgba(0,180,255,0.5) 0%, transparent 30%),
    radial-gradient(ellipse at 80% 85%, rgba(100,220,255,0.4) 0%, transparent 25%);
  animation: causticsMove 6s ease-in-out infinite alternate;
}
@keyframes causticsMove {
  0%   { background-position: 0% 0%, 5% 5%, 0% 0%; }
  100% { background-position: 8% 4%, -3% 6%, 5% -3%; }
}

/* Refraction */
.water-refraction-layer {
  position: absolute; inset: 0; z-index: 6; pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0px, rgba(100,220,255,0.04) 2px, transparent 4px);
  animation: refractionScroll 2s linear infinite;
}
@keyframes refractionScroll {
  0% { background-position: 0 0; } 100% { background-position: 0 20px; }
}

/* Ocean letters — float up when water rises */
.flash-card--ocean .flash-letter {
  color: #c0f0ff;
  font-weight: 900;
  text-shadow: 0 0 25px rgba(0,200,255,1), 0 0 50px rgba(0,100,200,0.7), 0 0 80px rgba(0,150,255,0.4), 0 2px 10px rgba(0,0,0,0.8);
  animation: oceanLetterCycle 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.15s);
}
@keyframes oceanLetterCycle {
  /* Calm surface — slight bob */
  0% { transform: translateY(0) rotate(0); opacity: 1;
    text-shadow: 0 0 20px rgba(0,200,255,0.8), 0 0 40px rgba(0,100,200,0.4); }
  /* Start rising — water carries letters up */
  5% { transform: translateY(-3px) rotate(-0.5deg); }
  /* Gentle float */
  10% { transform: translateY(-8px) rotate(1deg);
    text-shadow: 0 0 25px rgba(0,220,255,1), 0 0 50px rgba(0,150,255,0.6); }
  /* Wave crest — letters tilt like on waves */
  16% { transform: translateY(-18px) rotate(-2deg) scale(1.02);
    filter: brightness(1.2); color: #d0f4ff; }
  /* Deep bob */
  22% { transform: translateY(-12px) rotate(2deg); }
  /* Rising with water level */
  28% { transform: translateY(-30px) rotate(-3deg) scale(1.01);
    text-shadow: 0 0 45px rgba(0,200,255,1), 0 0 60px rgba(0,100,200,0.7), 0 0 90px rgba(0,80,180,0.3); }
  /* Wave toss */
  34% { transform: translateY(-25px) rotate(4deg); filter: brightness(1.3);
    color: #e0f8ff; }
  /* Peak — letters floating high on water */
  40% { transform: translateY(-45px) rotate(-2deg) scale(1.03);
    text-shadow: 0 0 35px rgba(0,220,255,1), 0 0 70px rgba(0,150,255,0.8);
    filter: brightness(1.4); }
  /* Underwater distortion starts */
  46% { transform: translateY(-38px) rotate(3deg) scaleX(1.04);
    filter: blur(0.3px) brightness(1.1); color: #a0d8ff; opacity: 0.9; }
  /* Fully submerged feel */
  52% { transform: translateY(-50px) rotate(-1deg) scaleX(1.06) scaleY(0.97);
    filter: blur(0.5px) brightness(0.9); color: #80c0e8; opacity: 0.8;
    text-shadow: 0 0 20px rgba(0,150,255,0.6), 0 0 40px rgba(0,80,200,0.3); }
  /* Water starts draining */
  58% { transform: translateY(-42px) rotate(2deg) scaleX(1.03);
    filter: blur(0.3px) brightness(1); opacity: 0.85; color: #90d0f0; }
  /* Letters settle as water drops */
  64% { transform: translateY(-30px) rotate(-1.5deg) scale(1);
    filter: none; opacity: 0.9; color: #b0e0ff; }
  /* Wave return bob */
  70% { transform: translateY(-20px) rotate(1.5deg);
    text-shadow: 0 0 25px rgba(0,200,255,0.9), 0 0 50px rgba(0,120,200,0.5); }
  76% { transform: translateY(-15px) rotate(-1deg); opacity: 0.95; }
  /* Gentle settling */
  82% { transform: translateY(-8px) rotate(0.5deg);
    text-shadow: 0 0 22px rgba(0,200,255,0.8), 0 0 45px rgba(0,100,200,0.4); }
  88% { transform: translateY(-3px) rotate(-0.3deg); opacity: 1; color: #c0f0ff; }
  /* Almost home */
  94% { transform: translateY(1px) rotate(0.2deg); }
  100% { transform: translateY(0) rotate(0); opacity: 1;
    text-shadow: 0 0 20px rgba(0,200,255,0.8), 0 0 40px rgba(0,100,200,0.4); }
}

/* Bubble particles */
.particle-bubble {
  position: absolute; border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.7), rgba(100,220,255,0.2));
  border: 1px solid rgba(255,255,255,0.3);
  animation: bubbleFloat infinite ease-out;
}
@keyframes bubbleFloat {
  0%   { transform: translateY(0) scale(1); opacity: 0.7; }
  80%  { opacity: 0.3; }
  100% { transform: translateY(-220px) scale(0.2); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   🔥 FIRE — 40s · Text burns, becomes ash, rebuilds from embers
   ═══════════════════════════════════════════════════════════════ */
.flash-card--fire {
  background: linear-gradient(180deg, #100000 0%, #2a0000 30%, #1a0000 100%);
  animation: fireBgShift 40s ease-in-out infinite;
}
@keyframes fireBgShift {
  0%   { background: linear-gradient(180deg, #100000 0%, #2a0000 30%, #1a0000 100%); }
  20%  { background: linear-gradient(180deg, #180000 0%, #3a0800 30%, #200000 100%); }
  40%  { background: linear-gradient(180deg, #200500 0%, #401000 30%, #280200 100%); }
  60%  { background: linear-gradient(180deg, #150000 0%, #300500 30%, #1c0000 100%); }
  80%  { background: linear-gradient(180deg, #0c0000 0%, #200000 30%, #140000 100%); }
  100% { background: linear-gradient(180deg, #100000 0%, #2a0000 30%, #1a0000 100%); }
}
.flash-card--fire .flash-bg {
  position: absolute; inset: 0;
  border-radius: 22px;
  box-shadow: inset 0 -40px 80px rgba(255,80,0,0.15), inset 0 0 60px rgba(200,0,0,0.1);
  animation: fireInnerHeat 3s ease-in-out infinite alternate;
}
@keyframes fireInnerHeat {
  0% { box-shadow: inset 0 -30px 60px rgba(255,80,0,0.1), inset 0 0 40px rgba(200,0,0,0.05); }
  100% { box-shadow: inset 0 -50px 100px rgba(255,100,0,0.25), inset 0 0 80px rgba(255,50,0,0.15); }
}
.flash-card--fire .flash-glow-border {
  background: linear-gradient(135deg, #ff3300, #ff8800, #ff3300);
}

/* Fire base glow */
.fire-base-glow {
  position: absolute; left: 0; right: 0; bottom: 0; height: 60%;
  z-index: 1;
  background: radial-gradient(ellipse at 50% 100%, rgba(255,100,0,0.5) 0%, rgba(255,50,0,0.2) 40%, transparent 70%);
  animation: fireBaseGlow 3s ease-in-out infinite;
}
@keyframes fireBaseGlow {
  0%,100% { opacity: 0.7; height: 55%; }
  50%     { opacity: 1; height: 65%; }
}

/* Individual flames */
.fire-flames-layer {
  position: absolute; left: 0; right: 0; bottom: 0; height: 50%;
  z-index: 2; overflow: hidden;
}
.flame {
  position: absolute; bottom: -10px;
  width: 40px;
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  filter: blur(3px);
}
.flame-0 { left: 5%; height: 60px; background: rgba(255,100,0,0.7); animation: flameDance 1.5s ease-in-out infinite; }
.flame-1 { left: 20%; height: 80px; background: rgba(255,140,0,0.6); animation: flameDance 1.8s ease-in-out 0.2s infinite; }
.flame-2 { left: 38%; height: 70px; background: rgba(255,80,0,0.8); animation: flameDance 1.3s ease-in-out 0.5s infinite; }
.flame-3 { left: 55%; height: 90px; background: rgba(255,120,0,0.7); animation: flameDance 1.6s ease-in-out 0.3s infinite; }
.flame-4 { left: 72%; height: 65px; background: rgba(255,150,0,0.6); animation: flameDance 1.4s ease-in-out 0.7s infinite; }
.flame-5 { left: 88%; height: 75px; background: rgba(255,90,0,0.7); animation: flameDance 1.7s ease-in-out 0.4s infinite; }
@keyframes flameDance {
  0%,100% { transform: scaleY(1) scaleX(1) translateY(0); opacity: 0.7; }
  25%     { transform: scaleY(1.3) scaleX(0.85) translateY(-10px); opacity: 1; }
  50%     { transform: scaleY(0.9) scaleX(1.1) translateY(-5px); opacity: 0.8; }
  75%     { transform: scaleY(1.2) scaleX(0.9) translateY(-15px); opacity: 0.9; }
}

/* Heat distortion */
.fire-heat-distort {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  animation: heatWobble 4s ease-in-out infinite;
}
@keyframes heatWobble {
  0%,100% { filter: blur(0px); } 50% { filter: blur(0.3px); }
}

/* Fire letters — burn cycle */
.flash-card--fire .flash-letter {
  color: #ffd700;
  font-weight: 900;
  text-shadow:
    0 0 18px #ff6600, 0 0 25px #ff4500,
    0 0 50px #ff2200, 0 0 80px rgba(255,50,0,0.5),
    0 -6px 20px rgba(255,100,0,0.9);
  animation: fireLetterBurn 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.1s);
}
@keyframes fireLetterBurn {
  /* PHASE 1: Born from ember — letter emerges glowing hot */
  0% {
    opacity: 0.6; transform: translateY(4px) scale(0.92);
    color: #884400; filter: brightness(0.8) blur(1px);
    text-shadow: 0 0 8px rgba(255,80,0,0.4);
  }
  3% {
    opacity: 0.9; transform: translateY(1px) scale(0.98);
    color: #cc7700; filter: brightness(1.3);
    text-shadow: 0 0 14px #ff6600, 0 0 25px rgba(255,50,0,0.5);
  }
  /* PHASE 2: Full flame — radiating heat */
  8% {
    opacity: 1; transform: translateY(0) scale(1);
    color: #ffd700; filter: brightness(1.6) drop-shadow(0 0 18px #ff6600);
    text-shadow: 0 0 18px #ff4500, 0 0 35px #ff2200, 0 0 60px rgba(200,0,0,0.4);
  }
  /* Flame flicker up */
  12% {
    transform: translateY(-3px) scale(1.02);
    color: #ffee00; filter: brightness(2.2) drop-shadow(0 0 20px #ff3300);
    text-shadow: 0 0 25px #ff4500, 0 0 50px #ff0000, 0 0 80px rgba(200,0,0,0.6);
  }
  /* Flame settles */
  16% {
    transform: translateY(-1px) scale(1.01);
    color: #ffcc00; filter: brightness(1.8) drop-shadow(0 0 22px #ff5500);
  }
  /* White-hot peak */
  22% {
    transform: translateY(-4px) scale(1.04);
    color: #ffffff; filter: brightness(3) drop-shadow(0 0 25px #ff4400) drop-shadow(0 0 50px #ff0000);
    text-shadow: 0 0 45px #ffffff, 0 0 50px #ff4400, 0 0 80px #ff0000;
  }
  /* Cooling slightly — starts to char */
  28% {
    transform: translateY(-2px) scale(1);
    color: #ff8800; filter: brightness(1.5) drop-shadow(0 0 18px #ff4400);
    text-shadow: 0 0 22px #ff6600, 0 0 45px #ff2200;
  }
  /* PHASE 3: Burning — char spreads across letters */
  35% {
    opacity: 0.95; transform: translateY(0) scale(0.99);
    color: #ff5500; filter: brightness(1.2);
    text-shadow: 0 0 18px #ff3300, 0 0 25px #cc0000;
  }
  /* Deep burn — orange → dark red */
  42% {
    opacity: 0.8; transform: translateY(2px) scale(0.96);
    color: #cc3300; filter: brightness(0.9) blur(0.5px);
    text-shadow: 0 0 10px #cc2200, 0 0 20px rgba(150,0,0,0.5);
  }
  /* Charcoal — letter becomes dark ember */
  50% {
    opacity: 0.5; transform: translateY(4px) scale(0.92) rotate(1deg);
    color: #882200; filter: brightness(0.6) blur(1px);
    text-shadow: 0 0 8px rgba(255,80,0,0.3), 0 0 22px rgba(200,50,0,0.2);
  }
  /* PHASE 4: Ash — but STILL GLOWING (never fully invisible) */
  58% {
    opacity: 0.25; transform: translateY(6px) scale(0.88) rotate(-0.5deg);
    color: #663311; filter: brightness(0.4) blur(1.5px);
    text-shadow: 0 0 6px rgba(255,100,0,0.2);
  }
  /* Ash ember pulse — slight glow return */
  64% {
    opacity: 0.35; transform: translateY(5px) scale(0.9);
    color: #884422; filter: brightness(0.7) blur(1px);
    text-shadow: 0 0 10px rgba(255,80,0,0.4), 0 0 20px rgba(255,50,0,0.2);
  }
  /* Ember flare from ash */
  70% {
    opacity: 0.45; transform: translateY(3px) scale(0.92);
    color: #aa5522; filter: brightness(0.9) blur(0.5px);
    text-shadow: 0 0 18px rgba(255,100,0,0.5);
  }
  /* PHASE 5: Rising from ashes — phoenix rebuild */
  78% {
    opacity: 0.65; transform: translateY(2px) scale(0.95);
    color: #cc7733; filter: brightness(1.1);
    text-shadow: 0 0 22px #ff6600, 0 0 25px rgba(255,50,0,0.4);
  }
  /* Getting hotter */
  85% {
    opacity: 0.85; transform: translateY(1px) scale(0.98);
    color: #ee9900; filter: brightness(1.4);
    text-shadow: 0 0 18px #ff5500, 0 0 35px rgba(255,80,0,0.6);
  }
  /* Flame reignites */
  92% {
    opacity: 0.95; transform: translateY(-1px) scale(1);
    color: #ffbb00; filter: brightness(1.7) drop-shadow(0 0 10px #ff4400);
    text-shadow: 0 0 20px #ff6600, 0 0 40px #ff2200;
  }
  /* Full restore — ready for next cycle */
  100% {
    opacity: 0.6; transform: translateY(4px) scale(0.92);
    color: #884400; filter: brightness(0.8) blur(1px);
    text-shadow: 0 0 8px rgba(255,80,0,0.4);
  }
}

/* Ash ghost text */
.fire-ash-ghost {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  z-index: 9; pointer-events: none;
}
.fire-ash-ghost .flash-letter {
  color: #554433 !important;
  text-shadow: 0 0 5px rgba(255,80,0,0.2) !important;
  animation: fireAshGhost 40s ease-in-out infinite !important;
  animation-delay: calc(var(--i) * 0.1s) !important;
}
@keyframes fireAshGhost {
  0%,45%  { opacity: 0; }
  55%     { opacity: 0.7; color: #665544; filter: blur(0.5px); }
  70%     { opacity: 0.4; color: #886644; text-shadow: 0 0 10px rgba(255,100,0,0.4); }
  82%     { opacity: 0.1; }
  90%,100% { opacity: 0; }
}

/* Ember particles */
.particle-ember {
  position: absolute; width: 4px; height: 4px; border-radius: 50%;
  background: #ff6600;
  box-shadow: 0 0 6px #ff4500, 0 0 14px #ff6600;
  animation: emberRise infinite ease-out;
}
@keyframes emberRise {
  0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0.9; }
  50%  { opacity: 0.5; }
  100% { transform: translateY(-200px) translateX(var(--drift, 20px)) scale(0.15); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   💚 MATRIX — 36s · Type → scramble → code fall → rebuild
   ═══════════════════════════════════════════════════════════════ */
.flash-card--matrix {
  background: linear-gradient(180deg, #000600 0%, #001000 50%, #000800 100%);
}
.flash-card--matrix .flash-bg {
  position: absolute; inset: 0;
  border-radius: 22px;
  box-shadow: inset 0 0 50px rgba(0,255,65,0.08), inset 0 0 100px rgba(0,100,30,0.05);
  animation: matrixInnerGlow 4s ease-in-out infinite alternate;
}
@keyframes matrixInnerGlow {
  0% { box-shadow: inset 0 0 45px rgba(0,255,65,0.05); }
  100% { box-shadow: inset 0 0 70px rgba(0,255,65,0.12), inset 0 0 120px rgba(0,150,40,0.08); }
}
.flash-card--matrix .flash-glow-border {
  background: linear-gradient(135deg, #00ff41, #008822, #00ff41);
}

/* Rain columns */
.matrix-rain-container {
  position: absolute; inset: 0; z-index: 1; overflow: hidden;
}
.matrix-rain-col {
  position: absolute; top: -100%; width: 14px;
  font-family: 'Courier New', monospace; font-size: 10px; line-height: 1.3;
  color: #00ff41; opacity: 0.25; white-space: pre; writing-mode: vertical-rl;
  text-shadow: 0 0 8px #00ff41;
  animation: matrixFall linear infinite;
}
.matrix-rain-col::before {
  content: '01001010110100101010011011001001010110100110010101';
}
@keyframes matrixFall {
  0% { transform: translateY(-50%); } 100% { transform: translateY(150%); }
}

/* Scan line */
.matrix-scan {
  position: absolute; left: 0; right: 0; height: 2px; z-index: 4;
  background: rgba(0,255,65,0.5);
  box-shadow: 0 0 22px rgba(0,255,65,0.8), 0 0 45px rgba(0,255,65,0.4);
  animation: matrixScanMove 3.5s linear infinite;
}
@keyframes matrixScanMove { 0% { top: -2px; } 100% { top: 100%; } }

/* Vignette */
.matrix-vignette {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.6) 100%);
}

/* Matrix letters — type/scramble/fall/rebuild via JS */
.flash-card--matrix .flash-letter {
  color: #00ff41;
  font-weight: 900;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 22px #00ff41, 0 0 35px rgba(0,255,65,0.7), 0 0 60px rgba(0,200,50,0.3);
  transition: transform 0.1s, opacity 0.1s;
}
/* Phase classes driven by JS */
.matrix-phase-typing .flash-letter { animation: matrixTypeIn 0.05s ease-out forwards; }
.matrix-phase-scramble .flash-letter {
  animation: matrixGlitch 0.15s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.02s);
}
.matrix-phase-fall .flash-letter {
  animation: matrixLetterFall 1s ease-in forwards;
  animation-delay: calc(var(--i) * 0.08s);
}
.matrix-phase-rebuild .flash-letter {
  animation: matrixRebuild 0.3s ease-out forwards;
  animation-delay: calc(var(--i) * 0.06s);
  color: #ffffff;
  filter: brightness(2);
}
.matrix-phase-stable .flash-letter {
  color: #00ff41;
  filter: none;
}
@keyframes matrixTypeIn {
  0% { opacity: 0; transform: translateY(-5px); filter: brightness(3); }
  100% { opacity: 1; transform: translateY(0); filter: brightness(1); }
}
@keyframes matrixGlitch {
  0%,100% { transform: translateX(0); filter: brightness(1); }
  25% { transform: translateX(-2px); filter: brightness(2); }
  75% { transform: translateX(2px); filter: brightness(0.5); }
}
@keyframes matrixLetterFall {
  0% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(100px); opacity: 0; filter: blur(2px); }
}
@keyframes matrixRebuild {
  0% { transform: translateY(-15px); opacity: 0; filter: brightness(3); color: #fff; }
  100% { transform: translateY(0); opacity: 1; filter: brightness(1); color: #00ff41; }
}

/* Code char particles */
.particle-code-char {
  position: absolute;
  font-family: 'Courier New', monospace; font-size: 12px;
  color: #00ff41; opacity: 0.3;
  text-shadow: 0 0 6px #00ff41;
  animation: codeCharFall linear infinite;
}
@keyframes codeCharFall {
  0% { transform: translateY(0); opacity: 0.4; }
  100% { transform: translateY(250px); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   🤖 CYBER — 30s · Stable → RGB split → glitch bars → REBOOT
   ═══════════════════════════════════════════════════════════════ */
.flash-card--cyber {
  background: linear-gradient(180deg, #000018 0%, #000030 50%, #000020 100%);
}
.flash-card--cyber .flash-bg {
  position: absolute; inset: 0;
  border-radius: 22px;
  animation: cyberBgGlitch 30s infinite;
}
@keyframes cyberBgGlitch {
  0%,14% { box-shadow: inset 0 0 40px rgba(0,255,255,0.05); }
  15% { box-shadow: inset 0 0 60px rgba(0,255,255,0.15), inset 3px 0 0 rgba(255,0,128,0.2), inset -3px 0 0 rgba(0,128,255,0.2); }
  17% { box-shadow: inset 0 0 40px rgba(0,255,255,0.05); }
  35% { box-shadow: inset 0 0 50px rgba(255,0,255,0.1); }
  37% { box-shadow: inset 0 0 45px rgba(0,255,255,0.05); }
  50%,100% { box-shadow: inset 0 0 40px rgba(0,255,255,0.05); }
}
.flash-card--cyber .flash-glow-border {
  background: linear-gradient(135deg, #00ffff, #ff00ff, #00ffff);
}

/* Scanlines */
.cyber-scanlines-bg {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0px, rgba(0,255,255,0.03) 1px, transparent 3px);
  animation: cyberScanScroll 0.5s linear infinite;
}
@keyframes cyberScanScroll { 0% { background-position: 0 0; } 100% { background-position: 0 15px; } }

/* Noise */
.cyber-noise {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  opacity: 0.04;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Horizontal glitch bars */
.cyber-hbar {
  position: absolute; left: 0; right: 0; height: 3px; z-index: 6; pointer-events: none;
  animation: cyberHbarCycle 30s infinite;
}
@keyframes cyberHbarCycle {
  0%,14%  { opacity: 0; }
  16%     { opacity: 1; height: 4px; background: rgba(0,255,255,0.6); transform: translateX(-8px); }
  17%     { transform: translateX(8px); background: rgba(255,0,255,0.6); }
  18%     { opacity: 0; }
  34%     { opacity: 0; }
  36%     { opacity: 1; background: rgba(255,0,128,0.5); transform: translateX(5px); }
  37%     { transform: translateX(-5px); }
  38%     { opacity: 0; }
  100%    { opacity: 0; }
}

/* Cyber text container for RGB split */
.cyber-text-container { position: relative; }
.cyber-rgb-layer {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  pointer-events: none; mix-blend-mode: screen;
  opacity: 0; transition: opacity 0.1s;
}
.cyber-rgb-layer.active { opacity: 1; }
.cyber-rgb-red { transform: translate(-3px, -1px); }
.cyber-rgb-red .flash-letter { color: #ff0044 !important; text-shadow: 0 0 8px #ff0044 !important; }
.cyber-rgb-blue { transform: translate(3px, 1px); }
.cyber-rgb-blue .flash-letter { color: #0044ff !important; text-shadow: 0 0 8px #0044ff !important; }

/* Cyber letters */
.flash-card--cyber .flash-letter {
  color: #00ffff;
  font-weight: 900;
  font-family: 'Courier New', monospace;
  text-shadow: 0 0 22px #00ffff, 0 0 35px rgba(0,255,255,0.6), 0 0 60px rgba(0,200,255,0.3);
  animation: cyberLetterBase 30s infinite;
  animation-delay: calc(var(--i) * 0.05s);
}
.cyber-glitch-active .flash-letter {
  animation: cyberLetterGlitch 0.15s infinite !important;
}
@keyframes cyberLetterBase {
  0%,14% { transform: translate(0); opacity: 1; filter: none; }
  50%    { opacity: 0; filter: blur(4px); }
  55%    { opacity: 0; }
  60%    { opacity: 0.3; transform: translateY(-5px); filter: brightness(3); color: #ffffff; }
  70%    { opacity: 0.8; filter: brightness(1.5); }
  80%,100% { opacity: 1; transform: translate(0); filter: none; color: #00ffff; }
}
@keyframes cyberLetterGlitch {
  0%   { transform: translate(0) skewX(0); }
  20%  { transform: translate(-4px, -1px) skewX(-3deg); }
  40%  { transform: translate(4px, 1px) skewX(3deg); }
  60%  { transform: translate(-2px, 2px) skewX(-2deg); }
  80%  { transform: translate(3px, -1px) skewX(2deg); }
  100% { transform: translate(0) skewX(0); }
}

/* REBOOT overlay */
.cyber-reboot-overlay {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Courier New', monospace; font-weight: 900;
  font-size: 24px; color: #ff0044; letter-spacing: 0.3em;
  text-shadow: 0 0 25px #ff0044, 0 0 50px #ff0044;
  animation: rebootFlash 0.3s ease-in-out infinite alternate;
  z-index: 20;
}
@keyframes rebootFlash {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0.5; transform: scale(1.05); }
}

/* ═══════════════════════════════════════════════════════════════
   🩸 BLOOD / GTA — 30s · Slam in → police lights → shake → fade
   ═══════════════════════════════════════════════════════════════ */
.flash-card--blood {
  background: linear-gradient(180deg, #080000 0%, #150000 50%, #080000 100%);
  animation: bloodBgPulse 30s ease-in-out infinite;
}
@keyframes bloodBgPulse {
  0%,5% { background: linear-gradient(180deg, #080000 0%, #150000 50%, #080000 100%); }
  8%    { background: linear-gradient(180deg, #180000 0%, #2a0000 50%, #180000 100%); }
  12%   { background: linear-gradient(180deg, #100000 0%, #200000 50%, #100000 100%); }
  50%   { background: linear-gradient(180deg, #0a0000 0%, #180000 50%, #0a0000 100%); }
  100%  { background: linear-gradient(180deg, #080000 0%, #150000 50%, #080000 100%); }
}
.flash-card--blood .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  box-shadow: inset 0 0 60px rgba(255,0,0,0.08);
  animation: bloodInnerDark 2s ease-in-out infinite alternate;
}
@keyframes bloodInnerDark {
  0% { box-shadow: inset 0 0 40px rgba(255,0,0,0.05); }
  100% { box-shadow: inset 0 0 80px rgba(255,0,0,0.12); }
}
.flash-card--blood .flash-glow-border {
  background: linear-gradient(135deg, #cc0000, #ff0000, #cc0000);
}

/* Vignette */
.blood-vignette {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: radial-gradient(ellipse at center, transparent 25%, rgba(0,0,0,0.8) 100%);
  animation: bloodDarken 30s ease-in-out infinite;
}
@keyframes bloodDarken {
  0%,7% { opacity: 0.3; } 10% { opacity: 0.95; } 60% { opacity: 0.8; } 75%,100% { opacity: 0.3; }
}

/* Police lights */
.blood-police-container {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
}
.blood-police {
  position: absolute; top: 0; bottom: 0; width: 50%;
}
.blood-police-red {
  left: 0;
  background: linear-gradient(90deg, rgba(255,0,0,0.4) 0%, transparent 100%);
  animation: policeFlashRed 30s infinite;
}
.blood-police-blue {
  right: 0;
  background: linear-gradient(-90deg, rgba(0,50,255,0.4) 0%, transparent 100%);
  animation: policeFlashBlue 30s infinite;
}
@keyframes policeFlashRed {
  0%,8%    { opacity: 0; }
  10%      { opacity: 0.9; } 11% { opacity: 0; }
  12%      { opacity: 0.8; } 13% { opacity: 0; }
  15%      { opacity: 0.9; } 16% { opacity: 0; }
  18%      { opacity: 0.7; } 19% { opacity: 0; }
  22%      { opacity: 0.8; } 23% { opacity: 0; }
  30%      { opacity: 0.5; } 32% { opacity: 0; }
  40%      { opacity: 0.3; } 42% { opacity: 0; }
  60%,100% { opacity: 0; }
}
@keyframes policeFlashBlue {
  0%,9%    { opacity: 0; }
  11%      { opacity: 0.8; } 12% { opacity: 0; }
  13%      { opacity: 0.9; } 14% { opacity: 0; }
  16%      { opacity: 0.8; } 17% { opacity: 0; }
  19%      { opacity: 0.7; } 20% { opacity: 0; }
  23%      { opacity: 0.9; } 24% { opacity: 0; }
  31%      { opacity: 0.4; } 33% { opacity: 0; }
  41%      { opacity: 0.3; } 43% { opacity: 0; }
  60%,100% { opacity: 0; }
}

/* Film grain */
.blood-grain {
  position: absolute; inset: 0; z-index: 4; pointer-events: none;
  opacity: 0.08;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Wanted stars */
.blood-stars-row {
  position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%);
  z-index: 15; display: flex; gap: 4px; font-size: 14px;
  animation: bloodStarsCycle 30s infinite;
}
@keyframes bloodStarsCycle {
  0%,8% { opacity: 0; } 12% { opacity: 1; } 60% { opacity: 0.6; } 80%,100% { opacity: 0; }
}
.blood-star-item {
  animation: starBlink 0.8s ease-in-out infinite alternate;
}
.blood-star-item:nth-child(2) { animation-delay: 0.15s; }
.blood-star-item:nth-child(3) { animation-delay: 0.3s; }
.blood-star-item:nth-child(4) { animation-delay: 0.45s; }
.blood-star-item:nth-child(5) { animation-delay: 0.6s; }
@keyframes starBlink { 0% { opacity: 0.4; transform: scale(1); } 100% { opacity: 1; transform: scale(1.2); } }

/* Blood letters — cinematic slam */
.flash-card--blood .flash-letter {
  color: #ff1a1a;
  font-weight: 900; letter-spacing: 0.14em;
  text-transform: uppercase;
  text-shadow: 0 0 20px rgba(255,0,0,1), 0 0 50px rgba(200,0,0,0.7), 0 0 80px rgba(255,0,0,0.4), 0 6px 18px rgba(0,0,0,0.9);
  animation: bloodLetterSlam 30s ease-out infinite;
  animation-delay: calc(var(--i) * 0.04s);
}
@keyframes bloodLetterSlam {
  /* Hidden — building tension */
  0% { opacity: 0.05; transform: scale(3) translateY(-30px) rotate(-2deg);
    filter: blur(8px); color: #660000;
    text-shadow: 0 0 20px rgba(255,0,0,0.3); }
  /* SLAM — massive scale-down impact */
  6% { opacity: 1; transform: scale(1.15) translateY(4px) rotate(0.5deg);
    filter: blur(0) brightness(2);
    color: #ff0000;
    text-shadow: 0 0 40px #ff0000, 0 0 80px #ff0000, 0 0 120px rgba(255,0,0,0.5); }
  /* Bounce back */
  8% { transform: scale(0.95) translateY(-2px); filter: brightness(1.5); }
  10% { transform: scale(1.02) translateY(1px); }
  11% { transform: scale(1); }
  /* CAMERA SHAKE */
  14% { transform: translate(-5px, -3px) rotate(-1deg); }
  15% { transform: translate(5px, 3px) rotate(1deg); }
  16% { transform: translate(-4px, 2px) rotate(-0.5deg); }
  17% { transform: translate(4px, -2px) rotate(0.5deg); }
  18% { transform: translate(-2px, 1px); }
  19% { transform: translate(2px, -1px); }
  20% { transform: translate(-1px, 0); }
  21% { transform: translate(0); }
  /* Menacing hold — pulsing red */
  28% { opacity: 1; color: #ff1a1a; filter: brightness(1.2);
    text-shadow: 0 0 18px rgba(255,0,0,0.9), 0 0 45px rgba(200,0,0,0.6); }
  32% { filter: brightness(1.5);
    text-shadow: 0 0 25px rgba(255,0,0,1), 0 0 55px rgba(200,0,0,0.7); }
  35% { filter: brightness(1.1);
    text-shadow: 0 0 22px rgba(255,0,0,0.8), 0 0 40px rgba(200,0,0,0.5); }
  40% { filter: brightness(1.3); }
  44% { filter: brightness(1); }
  /* Blood drip — letters start to sag */
  50% { opacity: 0.95; transform: translateY(2px) scaleY(1.02);
    text-shadow: 0 0 18px rgba(255,0,0,0.8), 0 0 40px rgba(200,0,0,0.5); }
  55% { transform: translateY(4px) scaleY(1.05) scaleX(0.98);
    color: #cc0000; filter: brightness(0.9); }
  /* Dripping further */
  62% { opacity: 0.8; transform: translateY(6px) scaleY(1.08) scaleX(0.96);
    color: #aa0000; filter: brightness(0.7) blur(0.3px);
    text-shadow: 0 0 18px rgba(255,0,0,0.5), 0 0 25px rgba(150,0,0,0.3); }
  /* Dark — fading into shadow */
  70% { opacity: 0.5; transform: translateY(8px) scaleY(1.1) scaleX(0.94);
    color: #880000; filter: brightness(0.5) blur(0.5px);
    text-shadow: 0 0 8px rgba(200,0,0,0.3); }
  /* Blood pool */
  78% { opacity: 0.25; transform: translateY(10px) scaleY(0.85) scaleX(1.1);
    color: #660000; filter: brightness(0.3) blur(1px);
    text-shadow: 0 0 6px rgba(150,0,0,0.2); }
  /* Last remnants */
  86% { opacity: 0.12; transform: translateY(12px) scaleY(0.7) scaleX(1.15);
    color: #440000; filter: brightness(0.2) blur(1.5px); }
  /* Tension rebuilds — red glow from below */
  92% { opacity: 0.08; transform: translateY(8px) scale(0.9);
    text-shadow: 0 0 22px rgba(255,0,0,0.3); filter: blur(2px);
    color: #550000; }
  /* Ready for next slam */
  100% { opacity: 0.05; transform: scale(3) translateY(-30px) rotate(-2deg);
    filter: blur(8px); color: #660000;
    text-shadow: 0 0 20px rgba(255,0,0,0.3); }
}

/* ═══════════════════════════════════════════════════════════════
   ⚡ THUNDER — 32s · Charge → STRIKE → scatter → pull back
   ═══════════════════════════════════════════════════════════════ */
.flash-card--thunder {
  background: linear-gradient(180deg, #0a0a28 0%, #15154a 50%, #0a0a28 100%);
}
.flash-card--thunder .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  animation: thunderBgFlash 32s infinite;
}
@keyframes thunderBgFlash {
  0%,28% { box-shadow: inset 0 0 45px rgba(249,202,36,0.05); background: transparent; }
  29.5% { background: rgba(249,202,36,0.03); }
  30% { box-shadow: inset 0 0 150px rgba(255,255,255,0.5), inset 0 0 200px rgba(249,202,36,0.4); background: rgba(255,255,255,0.15); }
  31% { box-shadow: inset 0 0 80px rgba(249,202,36,0.2); background: rgba(249,202,36,0.05); }
  32% { box-shadow: inset 0 0 100px rgba(255,255,255,0.3); background: rgba(255,255,255,0.08); }
  33% { box-shadow: inset 0 0 40px rgba(249,202,36,0.08); background: transparent; }
  50%,100% { box-shadow: inset 0 0 45px rgba(249,202,36,0.05); background: transparent; }
}
.flash-card--thunder .flash-glow-border {
  background: linear-gradient(135deg, #f9ca24, #ffffff, #f9ca24);
}
.thunder-sky {
  position: absolute; inset: 0; z-index: 1;
  background: radial-gradient(ellipse at 50% 30%, rgba(80,80,180,0.2), transparent 60%);
}
.thunder-bolt-flash {
  position: absolute; inset: 0; z-index: 8; pointer-events: none;
  background: rgba(255,255,255,0.85);
  animation: thunderStrike 32s infinite;
}
@keyframes thunderStrike {
  0%,28% { opacity: 0; }
  29%    { opacity: 0; }
  30%    { opacity: 0.95; }
  30.5%  { opacity: 0.1; }
  31%    { opacity: 0.8; }
  31.5%  { opacity: 0; }
  32.5%  { opacity: 0.4; }
  33%    { opacity: 0; }
  100%   { opacity: 0; }
}
.thunder-cloud-layer {
  position: absolute; top: 0; left: 0; right: 0; height: 40%; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, rgba(30,30,80,0.6) 0%, transparent 100%);
}
.flash-card--thunder .flash-letter {
  color: #fff9c4;
  font-weight: 900;
  text-shadow: 0 0 18px #f9ca24, 0 0 40px rgba(249,202,36,0.7), 0 0 70px rgba(249,202,36,0.3);
  animation: thunderLetterCycle 32s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.07s);
}
@keyframes thunderLetterCycle {
  /* Dark sky — waiting */
  0% { transform: translate(0) rotate(0); opacity: 0.7; filter: brightness(0.6);
    color: #8090a0; text-shadow: 0 0 8px rgba(249,202,36,0.2); }
  /* Storm building — charge up */
  8% { opacity: 0.8; filter: brightness(0.8); color: #a0b0c0;
    text-shadow: 0 0 18px rgba(249,202,36,0.3); }
  14% { opacity: 0.9; filter: brightness(1); color: #c0d0e0;
    text-shadow: 0 0 16px rgba(249,202,36,0.5); }
  20% { filter: brightness(1.3); color: #e0e8f0;
    text-shadow: 0 0 20px rgba(249,202,36,0.6), 0 0 40px rgba(249,202,36,0.3); }
  /* PRE-STRIKE FLASH — white hot */
  25% { filter: brightness(2); color: #fff8e0;
    text-shadow: 0 0 25px #f9ca24, 0 0 50px rgba(249,202,36,0.7); }
  /* ⚡ STRIKE! — letters explode outward */
  28% { filter: brightness(5); color: #ffffff;
    text-shadow: 0 0 40px #fff, 0 0 80px #f9ca24, 0 0 120px rgba(249,202,36,0.6);
    transform: translate(0) rotate(0); }
  30% { filter: brightness(4);
    transform: translate(calc((var(--i) - 4) * 8px), calc((var(--i) - 4) * -6px)) rotate(calc((var(--i) - 4) * 5deg)); }
  33% { filter: brightness(3);
    transform: translate(calc((var(--i) - 4) * 14px), calc((var(--i) - 4) * -10px)) rotate(calc((var(--i) - 4) * 9deg));
    opacity: 0.7; color: #ffe066; }
  36% { filter: brightness(1.5);
    transform: translate(calc((var(--i) - 4) * 16px), calc((var(--i) - 4) * -12px)) rotate(calc((var(--i) - 4) * 10deg));
    opacity: 0.5; color: #cca020; }
  /* AFTERSHOCK — second mini flash */
  40% { filter: brightness(3); opacity: 0.7; color: #ffe880;
    text-shadow: 0 0 45px #f9ca24, 0 0 60px rgba(249,202,36,0.5); }
  43% { filter: brightness(1.5); opacity: 0.5;
    transform: translate(calc((var(--i) - 4) * 12px), calc((var(--i) - 4) * -8px)) rotate(calc((var(--i) - 4) * 7deg)); }
  /* Magnetic return */
  50% { transform: translate(calc((var(--i) - 4) * 8px), calc((var(--i) - 4) * -5px)) rotate(calc((var(--i) - 4) * 4deg));
    opacity: 0.6; filter: brightness(1); color: #b0c0d0;
    text-shadow: 0 0 18px rgba(249,202,36,0.3); }
  58% { transform: translate(calc((var(--i) - 4) * 4px), calc((var(--i) - 4) * -2px)) rotate(calc((var(--i) - 4) * 2deg));
    opacity: 0.75; color: #c8d4e0; }
  65% { transform: translate(calc((var(--i) - 4) * 1px), 0) rotate(0);
    opacity: 0.85; filter: brightness(1.1); color: #d8e4f0;
    text-shadow: 0 0 14px rgba(249,202,36,0.4); }
  /* Settled — afterglow */
  74% { transform: translate(0) rotate(0); opacity: 0.95; filter: brightness(1.2);
    color: #e0ecf4; text-shadow: 0 0 16px rgba(249,202,36,0.5), 0 0 35px rgba(249,202,36,0.2); }
  /* Gentle pulse — residual charge */
  82% { filter: brightness(1.4); text-shadow: 0 0 20px rgba(249,202,36,0.6); }
  86% { filter: brightness(1.1); }
  /* Fading back to dark storm */
  92% { opacity: 0.8; filter: brightness(0.8); color: #a0b0c0;
    text-shadow: 0 0 10px rgba(249,202,36,0.2); }
  100% { transform: translate(0) rotate(0); opacity: 0.7; filter: brightness(0.6);
    color: #8090a0; text-shadow: 0 0 8px rgba(249,202,36,0.2); }
}
.particle-bolt {
  position: absolute; font-size: 12px;
  animation: boltFlicker 1.2s ease-in-out infinite;
}
@keyframes boltFlicker {
  0%,100% { opacity: 0; transform: scale(0.5); }
  50%     { opacity: 0.8; transform: scale(1.2); }
}

/* ═══════════════════════════════════════════════════════════════
   💖 LOVE — 35s · Heartbeat → letters become hearts → return
   ═══════════════════════════════════════════════════════════════ */
.flash-card--love {
  background: linear-gradient(135deg, #1a0812 0%, #3a1028 50%, #1a0812 100%);
  animation: loveBgBreath 1.5s ease-in-out infinite;
}
@keyframes loveBgBreath {
  0%,100% { background: linear-gradient(135deg, #1a0812 0%, #3a1028 50%, #1a0812 100%); }
  50% { background: linear-gradient(135deg, #200a16 0%, #451232 50%, #200a16 100%); }
}
.flash-card--love .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  box-shadow: inset 0 0 50px rgba(232,67,147,0.1);
  animation: loveInnerGlow 1.5s ease-in-out infinite;
}
@keyframes loveInnerGlow {
  0%,100% { box-shadow: inset 0 0 40px rgba(232,67,147,0.08); transform: scale(1); }
  50% { box-shadow: inset 0 0 80px rgba(232,67,147,0.18); transform: scale(1.01); }
}
.flash-card--love .flash-glow-border {
  background: linear-gradient(135deg, #e84393, #fd79a8, #e84393);
}
.love-pulse-bg {
  position: absolute; inset: 0; z-index: 1;
  background: radial-gradient(ellipse at 50% 50%, rgba(232,67,147,0.15), transparent 60%);
  animation: lovePulseBg 1.5s ease-in-out infinite;
}
@keyframes lovePulseBg { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.love-bokeh-layer {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    radial-gradient(circle at 20% 30%, rgba(253,121,168,0.15) 0%, transparent 20%),
    radial-gradient(circle at 70% 60%, rgba(232,67,147,0.1) 0%, transparent 15%),
    radial-gradient(circle at 40% 80%, rgba(253,121,168,0.12) 0%, transparent 18%);
}
.flash-card--love .flash-letter {
  color: #fff0f5;
  font-weight: 900;
  text-shadow: 0 0 20px #e84393, 0 0 45px rgba(232,67,147,0.7), 0 0 70px rgba(232,67,147,0.3);
  animation: loveLetterCycle 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes loveLetterCycle {
  /* Heartbeat pulse 1 */
  0% { transform: scale(1); color: #fff0f5;
    text-shadow: 0 0 18px rgba(232,67,147,0.5), 0 0 45px rgba(232,67,147,0.3); }
  3% { transform: scale(1.2); color: #ffb8d4;
    text-shadow: 0 0 20px rgba(232,67,147,0.8), 0 0 40px rgba(253,121,168,0.5); }
  5% { transform: scale(0.95);
    text-shadow: 0 0 10px rgba(232,67,147,0.4); }
  /* Heartbeat pulse 2 */
  7% { transform: scale(1.15); color: #ffc8dc;
    text-shadow: 0 0 18px rgba(232,67,147,0.7), 0 0 35px rgba(253,121,168,0.4); }
  10% { transform: scale(1); }
  /* Warm glow hold */
  16% { transform: scale(1.02); color: #ffe0ee;
    text-shadow: 0 0 22px rgba(232,67,147,0.6), 0 0 45px rgba(232,67,147,0.3); }
  20% { transform: scale(0.98); }
  /* Float up — letters carried by love */
  26% { transform: translateY(0) scale(1); opacity: 1; }
  32% { transform: translateY(-10px) rotate(3deg) scale(1.05); opacity: 0.95;
    color: #ff88b4; text-shadow: 0 0 20px rgba(232,67,147,0.7); }
  38% { transform: translateY(-25px) rotate(-4deg) scale(0.9); opacity: 0.75;
    color: #ff69b4; filter: blur(0.3px); }
  44% { transform: translateY(-40px) rotate(5deg) scale(0.7); opacity: 0.4;
    color: #ff1493; filter: blur(0.5px);
    text-shadow: 0 0 22px rgba(255,20,147,0.5); }
  /* Disappear into hearts */
  50% { transform: translateY(-50px) scale(0.5) rotate(-3deg); opacity: 0.15;
    filter: blur(1px); color: #ff69b4;
    text-shadow: 0 0 10px rgba(232,67,147,0.3); }
  /* Still visible as ghost glow */
  56% { transform: translateY(-45px) scale(0.4); opacity: 0.1;
    text-shadow: 0 0 8px rgba(232,67,147,0.2); }
  /* Reform from sparkle */
  62% { opacity: 0.2; transform: translateY(-30px) scale(0.6);
    filter: blur(0.8px); color: #ffc0cb; }
  68% { opacity: 0.4; transform: translateY(-18px) scale(0.8) rotate(-2deg);
    filter: blur(0.3px); text-shadow: 0 0 18px rgba(232,67,147,0.4); }
  74% { opacity: 0.65; transform: translateY(-8px) scale(0.92);
    filter: none; color: #ffd4e8; }
  80% { opacity: 0.85; transform: translateY(-2px) scale(0.98);
    text-shadow: 0 0 14px rgba(232,67,147,0.5); }
  /* Home — heartbeat starts again */
  88% { opacity: 0.95; transform: scale(1); color: #ffe8f0;
    text-shadow: 0 0 18px rgba(232,67,147,0.5), 0 0 25px rgba(232,67,147,0.3); }
  /* Pre-beat tension */
  95% { transform: scale(0.97); }
  100% { transform: scale(1); color: #fff0f5;
    text-shadow: 0 0 18px rgba(232,67,147,0.5), 0 0 45px rgba(232,67,147,0.3); }
}
.love-hearts-ghost {
  position: absolute; inset: 0; z-index: 16; pointer-events: none;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  animation: loveHeartsShow 35s infinite;
}
@keyframes loveHeartsShow {
  0%,38% { opacity: 0; } 45% { opacity: 1; } 60% { opacity: 1; } 70% { opacity: 0; } 100% { opacity: 0; }
}
.love-heart-char {
  display: inline-block; font-size: 22px;
  animation: heartBounce 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.08s);
}
@keyframes heartBounce {
  0%,38% { transform: scale(0) translateY(10px); opacity: 0; }
  45%    { transform: scale(1.2) translateY(-5px); opacity: 1; }
  55%    { transform: scale(1) translateY(-15px); }
  65%    { transform: scale(0.8) translateY(-30px); opacity: 0; }
  100%   { opacity: 0; }
}
.particle-heart {
  position: absolute;
  animation: heartRise infinite ease-out;
}
@keyframes heartRise {
  0%   { transform: translateY(0) scale(1); opacity: 0.8; }
  100% { transform: translateY(-180px) scale(0.4) rotate(20deg); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   ❄️ ICE — 40s · Cold → frost grows → freeze → crack → thaw
   ═══════════════════════════════════════════════════════════════ */
.flash-card--ice {
  background: linear-gradient(180deg, #040c1e 0%, #0a1838 50%, #050e20 100%);
}
.flash-card--ice .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  box-shadow: inset 0 0 60px rgba(130,204,221,0.1), inset 0 0 120px rgba(80,150,200,0.05);
  animation: iceInnerFrost 6s ease-in-out infinite alternate;
}
@keyframes iceInnerFrost {
  0% { box-shadow: inset 0 0 40px rgba(130,204,221,0.06); }
  100% { box-shadow: inset 0 0 90px rgba(130,204,221,0.15), inset 0 0 150px rgba(200,230,255,0.08); }
}
.flash-card--ice .flash-glow-border {
  background: linear-gradient(135deg, #82ccdd, #dff9fb, #82ccdd);
}
.ice-frost-overlay {
  position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: 20px;
  box-shadow: inset 0 0 45px rgba(200,230,255,0.15), inset 0 0 60px rgba(130,204,221,0.1);
  animation: iceFrostGrow 40s ease-in-out infinite;
}
@keyframes iceFrostGrow {
  0%,10% { opacity: 0; }
  30%    { opacity: 1; box-shadow: inset 0 0 50px rgba(200,230,255,0.5), inset 0 0 100px rgba(130,204,221,0.3); }
  50%    { opacity: 0.9; }
  65%    { opacity: 0.3; }
  80%,100% { opacity: 0; }
}
.ice-crystal-layer {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background:
    radial-gradient(circle at 15% 25%, rgba(200,230,255,0.1), transparent 20%),
    radial-gradient(circle at 75% 70%, rgba(130,204,221,0.08), transparent 15%);
}
.ice-crack-overlay {
  position: absolute; inset: 0; z-index: 16; pointer-events: none;
  border-radius: 20px;
  animation: iceCrack 40s infinite;
}
@keyframes iceCrack {
  0%,48% { box-shadow: none; opacity: 0; }
  50%    { opacity: 1; box-shadow: inset 3px 0 0 rgba(255,255,255,0.4), inset -2px 3px 0 rgba(255,255,255,0.3),
           inset 5px -2px 0 rgba(200,230,255,0.3); }
  55%    { opacity: 0.8; }
  65%,100% { opacity: 0; }
}
.flash-card--ice .flash-letter {
  color: #d8f0ff;
  font-weight: 900;
  text-shadow: 0 0 18px #82ccdd, 0 0 40px rgba(130,204,221,0.8), 0 0 70px rgba(130,204,221,0.4);
  animation: iceLetterCycle 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes iceLetterCycle {
  /* Cold but present — blue glow */
  0% { opacity: 1; transform: translate(0) scale(1); filter: none;
    color: #d8f0ff; text-shadow: 0 0 22px #82ccdd, 0 0 35px rgba(130,204,221,0.5); }
  /* Frost starting to form — slight brightening */
  6% { filter: brightness(1.1);
    text-shadow: 0 0 20px #82ccdd, 0 0 40px rgba(130,204,221,0.7); color: #d0e8ff; }
  /* Crystal forming — letters get sharper, colder */
  12% { filter: brightness(1.3) contrast(1.1); color: #c0e0ff;
    text-shadow: 0 0 22px #82ccdd, 0 0 45px #dff9fb, 0 0 8px #fff; }
  /* Deep freeze — saturated ice blue */
  18% { filter: brightness(1.5) saturate(1.3); color: #a0d0ff;
    text-shadow: 0 0 28px #82ccdd, 0 0 55px #dff9fb, 0 0 22px rgba(255,255,255,0.5); }
  /* Frozen solid — maximum glow */
  25% { filter: brightness(1.8) saturate(0.6); color: #90c0f0;
    text-shadow: 0 0 45px #a0e8ff, 0 0 60px #dff9fb, 0 0 20px #ffffff; }
  /* Frost pulse */
  30% { filter: brightness(2.2); color: #b0d8ff;
    text-shadow: 0 0 35px #dff9fb, 0 0 70px rgba(130,204,221,0.9); }
  /* Crystalline stillness — super bright */
  36% { filter: brightness(1.6); color: #a0c8e8; }
  /* CRACK — micro displacement starts */
  42% { transform: translate(0) scale(1); filter: brightness(2.5); color: #ffffff;
    text-shadow: 0 0 45px #ffffff, 0 0 50px #82ccdd; }
  /* Crack propagation — letters start shifting */
  46% { transform: translate(calc((var(--i) - 4) * 2px), calc(var(--i) * 1px)) rotate(calc(var(--i) * 1deg));
    opacity: 0.9; filter: brightness(1.8); }
  /* SHATTER — letters fly apart like broken ice */
  52% { transform: translate(calc((var(--i) - 4) * 6px), calc(8px + var(--i) * 4px)) rotate(calc(var(--i) * 4deg));
    opacity: 0.6; filter: blur(0.5px) brightness(1.2); color: #80b8d8; }
  /* Pieces scattered — still glowing */
  58% { transform: translate(calc((var(--i) - 4) * 8px), calc(15px + var(--i) * 6px)) rotate(calc(var(--i) * 6deg));
    opacity: 0.35; filter: blur(1px) brightness(0.8); color: #6098b8;
    text-shadow: 0 0 10px rgba(130,204,221,0.3); }
  /* Melting fragments */
  64% { transform: translate(calc((var(--i) - 4) * 5px), calc(10px + var(--i) * 3px)) rotate(calc(var(--i) * 3deg));
    opacity: 0.45; filter: blur(0.8px); color: #70a8c8; }
  /* Magnetic pull — starting to reform */
  70% { transform: translate(calc((var(--i) - 4) * 3px), calc(5px + var(--i) * 1px)) rotate(calc(var(--i) * 1.5deg));
    opacity: 0.6; filter: blur(0.3px) brightness(1.1); color: #90c8e0; }
  /* Reforming — refreeze */
  78% { transform: translate(calc((var(--i) - 4) * 1px), 2px) rotate(calc(var(--i) * 0.5deg));
    opacity: 0.8; filter: brightness(1.3); color: #b0d8f0;
    text-shadow: 0 0 18px rgba(130,204,221,0.6); }
  /* Crystal regrowth */
  86% { transform: translate(0) scale(0.99); opacity: 0.92;
    filter: brightness(1.2); color: #c0e4f8;
    text-shadow: 0 0 20px #82ccdd, 0 0 40px rgba(130,204,221,0.5); }
  /* Frozen again — pristine */
  94% { transform: translate(0) scale(1); opacity: 1;
    filter: brightness(1.1); color: #d0ecff;
    text-shadow: 0 0 18px #82ccdd, 0 0 38px rgba(130,204,221,0.5); }
  100% { opacity: 1; transform: translate(0) scale(1); filter: none;
    color: #d8f0ff; text-shadow: 0 0 22px #82ccdd, 0 0 35px rgba(130,204,221,0.5); }
}
.particle-snow {
  position: absolute;
  animation: snowDrift linear infinite;
}
@keyframes snowDrift {
  0%   { transform: translateY(0) translateX(0) rotate(0deg); opacity: 0.7; }
  100% { transform: translateY(230px) translateX(var(--drift, 15px)) rotate(360deg); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   ☢️ TOXIC — 35s · Acid rises → letters melt → smoke → restore
   ═══════════════════════════════════════════════════════════════ */
.flash-card--toxic {
  background: linear-gradient(180deg, #001200 0%, #001a00 50%, #001000 100%);
}
.flash-card--toxic .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  box-shadow: inset 0 40px 80px rgba(57,255,20,0.08), inset 0 0 60px rgba(0,200,0,0.05);
  animation: toxicBgBubble 4s ease-in-out infinite;
}
@keyframes toxicBgBubble {
  0%,100% { box-shadow: inset 0 40px 80px rgba(57,255,20,0.06); }
  50% { box-shadow: inset 0 50px 100px rgba(57,255,20,0.15), inset 0 0 80px rgba(0,255,65,0.08); }
}
.flash-card--toxic .flash-glow-border {
  background: linear-gradient(135deg, #39ff14, #00ff41, #39ff14);
}
.toxic-acid-pool {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  background: linear-gradient(180deg, rgba(57,255,20,0.3), rgba(0,180,0,0.7));
  animation: toxicPoolRise 35s ease-in-out infinite;
}
@keyframes toxicPoolRise {
  0%,8%  { height: 5%; } 25% { height: 35%; } 40% { height: 55%; } 60% { height: 40%; } 80%,100% { height: 5%; }
}
.toxic-smoke-layer {
  position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: radial-gradient(ellipse at 50% 80%, rgba(57,255,20,0.1), transparent 50%);
  animation: toxicSmoke 5s ease-in-out infinite alternate;
}
@keyframes toxicSmoke { 0% { opacity: 0.3; transform: translateY(0); } 100% { opacity: 0.6; transform: translateY(-10px); } }
.toxic-radiation-pulse {
  position: absolute; inset: 0; z-index: 4; pointer-events: none;
  border-radius: 20px;
  box-shadow: inset 0 0 40px rgba(57,255,20,0.1);
  animation: radPulse 2s ease-in-out infinite;
}
@keyframes radPulse { 0%,100% { opacity: 0.3; } 50% { opacity: 0.7; } }
.flash-card--toxic .flash-letter {
  color: #39ff14;
  font-weight: 900; font-size: 28px; font-family: monospace;
  text-shadow: 0 0 18px #39ff14, 0 0 45px rgba(57,255,20,0.6);
  animation: toxicLetterMelt 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes toxicLetterMelt {
  /* Radioactive glow — letters pulse green */
  0% { transform: translateY(0) scaleY(1) scaleX(1); opacity: 1; filter: none;
    text-shadow: 0 0 10px rgba(57,255,20,0.5), 0 0 25px rgba(57,255,20,0.3); color: #39ff14; }
  /* Radioactive intensify */
  6% { filter: brightness(1.2);
    text-shadow: 0 0 22px rgba(57,255,20,0.7), 0 0 35px rgba(57,255,20,0.4); }
  12% { filter: brightness(1.6);
    text-shadow: 0 0 22px #39ff14, 0 0 45px rgba(57,255,20,0.6), 0 0 70px rgba(0,255,65,0.2); }
  /* TOXIC FLASH — maximum radiation */
  18% { filter: brightness(2.5); color: #aaffaa;
    text-shadow: 0 0 45px #39ff14, 0 0 60px #39ff14, 0 0 90px rgba(57,255,20,0.4); }
  22% { filter: brightness(1.5); color: #66ff44; }
  /* Letters start to MELT — acid eats them */
  28% { transform: translateY(3px) scaleY(1.1) scaleX(0.97); opacity: 0.95;
    text-shadow: 0 0 22px rgba(57,255,20,0.6); }
  34% { transform: translateY(8px) scaleY(1.3) scaleX(0.88); opacity: 0.8;
    filter: blur(0.3px) brightness(0.9); color: #2acc12; }
  /* Heavy melt — dripping */
  40% { transform: translateY(14px) scaleY(1.5) scaleX(0.75); opacity: 0.6;
    filter: blur(0.5px) brightness(0.7); color: #1a9a0a;
    text-shadow: 0 0 10px rgba(57,255,20,0.4); }
  /* Acid pool forming */
  48% { transform: translateY(20px) scaleY(1.7) scaleX(0.6); opacity: 0.35;
    filter: blur(1px) brightness(0.5); color: #0a6a04;
    text-shadow: 0 0 8px rgba(57,255,20,0.2); }
  /* Almost dissolved — but still glowing */
  55% { transform: translateY(22px) scaleY(1.9) scaleX(0.5); opacity: 0.15;
    filter: blur(1.5px); color: #054a02;
    text-shadow: 0 0 6px rgba(57,255,20,0.15); }
  /* Toxic residue — never fully gone */
  62% { opacity: 0.1; transform: translateY(18px) scaleY(1.5) scaleX(0.55);
    filter: blur(1px); text-shadow: 0 0 5px rgba(57,255,20,0.1); }
  /* Reform — radioactive regrowth */
  68% { opacity: 0.25; transform: translateY(12px) scaleY(1.3) scaleX(0.7);
    filter: blur(0.8px) brightness(0.6); color: #0a6a04; }
  74% { opacity: 0.45; transform: translateY(7px) scaleY(1.15) scaleX(0.85);
    filter: blur(0.3px) brightness(0.8); color: #1a9a0a;
    text-shadow: 0 0 10px rgba(57,255,20,0.3); }
  80% { opacity: 0.7; transform: translateY(3px) scaleY(1.05) scaleX(0.95);
    filter: brightness(1); color: #28cc14;
    text-shadow: 0 0 18px rgba(57,255,20,0.5); }
  88% { opacity: 0.9; transform: translateY(1px) scaleY(1) scaleX(1);
    color: #33ee18; text-shadow: 0 0 18px rgba(57,255,20,0.5), 0 0 28px rgba(57,255,20,0.3); }
  100% { transform: translateY(0) scaleY(1) scaleX(1); opacity: 1; filter: none;
    text-shadow: 0 0 10px rgba(57,255,20,0.5), 0 0 25px rgba(57,255,20,0.3); color: #39ff14; }
}
.particle-toxic-bubble {
  position: absolute; border-radius: 50%;
  background: rgba(57,255,20,0.25);
  border: 1px solid rgba(57,255,20,0.4);
  box-shadow: 0 0 6px rgba(57,255,20,0.3);
  animation: bubbleFloat infinite ease-out;
}

/* ═══════════════════════════════════════════════════════════════
   👑 GOLD — 35s · Dark outline → gold fills → shine → dust falls
   ═══════════════════════════════════════════════════════════════ */
.flash-card--gold {
  background: linear-gradient(135deg, #0c0800 0%, #1a1000 50%, #0c0800 100%);
}
.flash-card--gold .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  animation: goldBgShine 35s ease-in-out infinite;
}
@keyframes goldBgShine {
  0%,15% { box-shadow: inset 0 0 40px rgba(212,175,55,0.05); }
  25% { box-shadow: inset 0 0 80px rgba(212,175,55,0.15), inset 0 0 120px rgba(245,230,163,0.08); }
  45% { box-shadow: inset 0 0 100px rgba(255,215,0,0.2), inset 0 0 160px rgba(245,230,163,0.12); }
  60% { box-shadow: inset 0 0 60px rgba(212,175,55,0.1); }
  100% { box-shadow: inset 0 0 40px rgba(212,175,55,0.05); }
}
.flash-card--gold .flash-glow-border {
  background: linear-gradient(135deg, #d4af37, #f5e6a3, #d4af37);
}
.gold-texture-layer {
  position: absolute; inset: 0; z-index: 1;
  background: radial-gradient(ellipse at 50% 50%, rgba(212,175,55,0.08), transparent 60%);
}
.gold-sparkle-field {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
}
.gold-shine-sweep {
  position: absolute; inset: 0; z-index: 16; pointer-events: none; overflow: hidden;
}
.gold-shine-sweep::after {
  content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%;
  background: linear-gradient(105deg, transparent 40%, rgba(255,230,150,0.15) 48%, rgba(255,255,200,0.25) 50%, rgba(255,230,150,0.15) 52%, transparent 60%);
  animation: goldShineSweep 35s ease-in-out infinite;
}
@keyframes goldShineSweep {
  0%,30% { left: -100%; } 45% { left: 150%; } 100% { left: 150%; }
}
.flash-card--gold .flash-letter {
  color: #ffd700;
  font-weight: 900;
  text-shadow: 0 0 10px #d4af37, 0 0 25px rgba(212,175,55,0.5);
  animation: goldLetterCycle 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.14s);
}
@keyframes goldLetterCycle {
  /* Dark outline — empty vessel */
  0% { opacity: 0.3; color: #3a2a08; filter: brightness(0.3);
    text-shadow: 0 0 4px rgba(212,175,55,0.15); transform: translateY(0); }
  /* Gold seeping in from bottom (simulated via brightness ramp) */
  5% { opacity: 0.45; color: #5a4010; filter: brightness(0.5);
    text-shadow: 0 0 8px rgba(212,175,55,0.2); }
  10% { opacity: 0.6; color: #8a6a20; filter: brightness(0.7);
    text-shadow: 0 0 10px rgba(212,175,55,0.3); }
  15% { opacity: 0.8; color: #b8902a; filter: brightness(1);
    text-shadow: 0 0 14px #d4af37, 0 0 25px rgba(212,175,55,0.4); }
  /* Full gold — rich warm glow */
  22% { opacity: 1; color: #ffd700; filter: brightness(1.4) drop-shadow(0 0 18px #d4af37);
    text-shadow: 0 0 18px #d4af37, 0 0 35px rgba(212,175,55,0.6); }
  /* SHINE SWEEP — brightest point, white-gold */
  30% { color: #fff8dc; filter: brightness(2.5) drop-shadow(0 0 25px #f5e6a3);
    text-shadow: 0 0 45px #f5e6a3, 0 0 60px rgba(245,230,163,0.7), 0 0 90px rgba(212,175,55,0.3); }
  34% { filter: brightness(2) drop-shadow(0 0 20px #d4af37); color: #ffe44d; }
  /* Shine passes — settles to warm gold */
  40% { filter: brightness(1.5) drop-shadow(0 0 22px #d4af37); color: #ffd700;
    text-shadow: 0 0 18px #d4af37, 0 0 35px rgba(212,175,55,0.5); }
  /* Second shine pulse */
  48% { filter: brightness(1.8) drop-shadow(0 0 20px #f5e6a3); color: #ffdd33; }
  52% { filter: brightness(1.3); color: #ffd700; }
  /* Golden dust phase — starts to cool */
  58% { opacity: 0.95; filter: brightness(1.1);
    text-shadow: 0 0 14px #d4af37, 0 0 28px rgba(212,175,55,0.4); }
  /* Cooling — gold darkens */
  65% { opacity: 0.8; filter: brightness(0.9); color: #c89b20;
    text-shadow: 0 0 10px rgba(212,175,55,0.3); }
  /* Tarnishing */
  72% { opacity: 0.6; filter: brightness(0.7); color: #a07818;
    transform: translateY(1px); }
  /* Dark again — cycle */
  82% { opacity: 0.4; filter: brightness(0.5) blur(0.3px); color: #7a5a14;
    text-shadow: 0 0 6px rgba(212,175,55,0.2); transform: translateY(2px); }
  92% { opacity: 0.35; color: #5a4010; filter: brightness(0.35);
    transform: translateY(1px); }
  100% { opacity: 0.3; color: #3a2a08; filter: brightness(0.3);
    text-shadow: 0 0 4px rgba(212,175,55,0.15); transform: translateY(0); }
}
.particle-sparkle {
  position: absolute; font-size: 8px;
  animation: sparkleGlow ease-in-out infinite;
}
@keyframes sparkleGlow {
  0%,100% { opacity: 0; transform: scale(0.5); }
  50%     { opacity: 1; transform: scale(1.3); }
}

/* ═══════════════════════════════════════════════════════════════
   💜 NEON — 35s · Stable glow → flicker → near-off → surge
   ═══════════════════════════════════════════════════════════════ */
.flash-card--neon {
  background: linear-gradient(135deg, #12001e 0%, #200038 50%, #12001e 100%);
}
.flash-card--neon .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  animation: neonBgPulse 35s infinite;
}
@keyframes neonBgPulse {
  0%,17% { box-shadow: inset 0 0 40px rgba(255,0,255,0.05); }
  20% { box-shadow: inset 0 0 80px rgba(255,0,255,0.2); }
  22% { box-shadow: inset 0 0 45px rgba(255,0,255,0.03); }
  55% { box-shadow: inset 0 0 20px rgba(255,0,255,0.02); }
  60% { box-shadow: inset 0 0 120px rgba(255,0,255,0.3), inset 0 0 200px rgba(200,0,255,0.15); }
  65% { box-shadow: inset 0 0 60px rgba(255,0,255,0.1); }
  100% { box-shadow: inset 0 0 40px rgba(255,0,255,0.05); }
}
.flash-card--neon .flash-glow-border { background: linear-gradient(135deg, #ff00ff, #cc00ff, #ff00ff); }
.neon-glow-field {
  position: absolute; inset: 0; z-index: 1;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,0,255,0.1), transparent 60%);
  animation: neonFieldPulse 3s ease-in-out infinite;
}
@keyframes neonFieldPulse { 0%,100% { opacity: 0.5; } 50% { opacity: 0.8; } }
.neon-flicker-overlay {
  position: absolute; inset: 0; z-index: 5; pointer-events: none;
  animation: neonFlickerBg 35s infinite;
}
@keyframes neonFlickerBg {
  0%,20% { opacity: 0; }
  22% { opacity: 0.3; background: rgba(255,0,255,0.1); }
  23% { opacity: 0; }
  40% { opacity: 0; }
  42% { opacity: 0.5; background: rgba(200,0,255,0.15); }
  43% { opacity: 0; }
  55% { opacity: 0; }
  57% { opacity: 0.8; background: rgba(255,0,255,0.2); }
  58% { opacity: 0; }
  100% { opacity: 0; }
}
.flash-card--neon .flash-letter {
  color: #ff44ff;
  font-weight: 900;
  text-shadow: 0 0 10px #ff00ff, 0 0 45px #ff00ff, 0 0 60px rgba(200,0,255,0.5);
  animation: neonLetterCycle 35s infinite;
  animation-delay: calc(var(--i) * 0.1s);
}
@keyframes neonLetterCycle {
  /* Neon tube ON — steady glow */
  0% { opacity: 1; filter: brightness(1);
    text-shadow: 0 0 18px #ff00ff, 0 0 35px #ff00ff, 0 0 60px rgba(200,0,255,0.5); }
  /* Slight buzz */
  4% { opacity: 0.95; filter: brightness(0.95); }
  5% { opacity: 1; filter: brightness(1.1); }
  /* Warm glow */
  10% { filter: brightness(1.3);
    text-shadow: 0 0 22px #ff00ff, 0 0 40px #ff00ff, 0 0 70px rgba(200,0,255,0.6); }
  14% { filter: brightness(1); }
  /* Flicker 1 — quick off-on */
  18% { opacity: 0.3; filter: brightness(0.3); }
  19% { opacity: 0.1; filter: brightness(0.1); color: #660066; }
  20% { opacity: 1; filter: brightness(2);
    text-shadow: 0 0 20px #ff00ff, 0 0 50px #ff00ff, 0 0 80px rgba(200,0,255,0.7); color: #ff88ff; }
  22% { filter: brightness(1.2); color: #ff44ff; }
  /* Stable buzz */
  28% { opacity: 0.97; filter: brightness(1.05); }
  29% { opacity: 1; filter: brightness(0.98); }
  /* Warm up */
  34% { filter: brightness(1.4);
    text-shadow: 0 0 18px #ff00ff, 0 0 45px #ff00ff, 0 0 75px rgba(200,0,255,0.6); }
  /* Flicker 2 — double flash */
  38% { opacity: 0.15; filter: brightness(0.15); color: #440044; }
  39% { opacity: 0.8; filter: brightness(1.5); color: #ff44ff; }
  40% { opacity: 0.2; filter: brightness(0.2); color: #550055; }
  41% { opacity: 1; filter: brightness(1.8);
    text-shadow: 0 0 22px #ff00ff, 0 0 55px #ff00ff, 0 0 90px rgba(200,0,255,0.8); color: #ff66ff; }
  44% { filter: brightness(1.1); color: #ff44ff; }
  /* Steady section with micro-buzz */
  48% { opacity: 0.96; } 49% { opacity: 1; }
  /* BROWNOUT — tube struggles */
  52% { opacity: 0.6; filter: brightness(0.5); color: #bb00bb;
    text-shadow: 0 0 8px #aa00aa, 0 0 20px rgba(150,0,150,0.3); }
  54% { opacity: 0.3; filter: brightness(0.25); color: #770077; }
  56% { opacity: 0.08; filter: brightness(0.08); color: #440044;
    text-shadow: 0 0 4px rgba(100,0,100,0.2); }
  /* Almost dead */
  58% { opacity: 0.04; filter: brightness(0.05); color: #330033; }
  /* SURGE — power returns with BANG */
  60% { opacity: 1; filter: brightness(4); color: #ffffff;
    text-shadow: 0 0 40px #ff00ff, 0 0 80px #ff00ff, 0 0 120px #cc00ff, 0 0 160px rgba(200,0,255,0.5); }
  62% { filter: brightness(2.5); color: #ff88ff;
    text-shadow: 0 0 45px #ff00ff, 0 0 60px #ff00ff, 0 0 100px #cc00ff; }
  65% { filter: brightness(1.6); color: #ff44ff; }
  /* Post-surge stability */
  70% { filter: brightness(1.2);
    text-shadow: 0 0 22px #ff00ff, 0 0 40px #ff00ff, 0 0 65px rgba(200,0,255,0.5); }
  /* Gentle pulse */
  76% { filter: brightness(1.4);
    text-shadow: 0 0 18px #ff00ff, 0 0 45px #ff00ff, 0 0 75px rgba(200,0,255,0.6); }
  80% { filter: brightness(1.1); }
  /* Mini flicker */
  85% { opacity: 0.85; filter: brightness(0.8); }
  86% { opacity: 1; filter: brightness(1.3); }
  /* Cool glow */
  92% { filter: brightness(1.15);
    text-shadow: 0 0 14px #ff00ff, 0 0 38px #ff00ff, 0 0 62px rgba(200,0,255,0.5); }
  96% { opacity: 0.97; filter: brightness(1); }
  100% { opacity: 1; filter: brightness(1);
    text-shadow: 0 0 18px #ff00ff, 0 0 35px #ff00ff, 0 0 60px rgba(200,0,255,0.5); }
}

/* ═══════════════════════════════════════════════════════════════
   🌌 AURORA — 40s · Hue-shifting float with wave motion
   ═══════════════════════════════════════════════════════════════ */
.flash-card--aurora {
  background: linear-gradient(180deg, #0a0020 0%, #1a1050 50%, #0a0020 100%);
}
.flash-card--aurora .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  animation: auroraBgWave 8s ease-in-out infinite;
}
@keyframes auroraBgWave {
  0% { box-shadow: inset 0 0 60px rgba(108,92,231,0.1), inset 0 -30px 80px rgba(26,188,156,0.05); }
  33% { box-shadow: inset 0 0 80px rgba(162,155,254,0.15), inset 0 30px 80px rgba(108,92,231,0.08); }
  66% { box-shadow: inset 0 0 60px rgba(26,188,156,0.12), inset 0 -20px 60px rgba(108,92,231,0.06); }
  100% { box-shadow: inset 0 0 60px rgba(108,92,231,0.1), inset 0 -30px 80px rgba(26,188,156,0.05); }
}
.flash-card--aurora .flash-glow-border { background: linear-gradient(135deg, #6c5ce7, #a29bfe, #1abc9c); }
.flash-card--aurora .flash-letter {
  color: #d5c6ff;
  font-weight: 900;
  text-shadow: 0 0 18px #6c5ce7, 0 0 35px rgba(108,92,231,0.5);
  animation: auroraLetterWave 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.18s);
}
@keyframes auroraLetterWave {
  /* Northern lights curtain — phase 1: purple */
  0% { transform: translateY(0) scale(1); filter: hue-rotate(0deg);
    color: #d5c6ff; text-shadow: 0 0 22px #6c5ce7, 0 0 35px rgba(108,92,231,0.5); }
  /* Rise — color shifts to blue-purple */
  5% { transform: translateY(-3px); filter: hue-rotate(10deg);
    text-shadow: 0 0 18px #7c6cf7, 0 0 40px rgba(124,108,247,0.5); }
  10% { transform: translateY(-8px) scale(1.02); filter: hue-rotate(25deg);
    color: #b0a0ff; text-shadow: 0 0 20px #a29bfe, 0 0 45px rgba(162,155,254,0.6); }
  /* Peak wave — floating, shifting to cyan */
  18% { transform: translateY(-14px) scale(1.04); filter: hue-rotate(50deg);
    color: #90c8ff; text-shadow: 0 0 25px #74b9ff, 0 0 50px rgba(116,185,255,0.6); }
  /* Color pulse — teal/emerald */
  26% { transform: translateY(-18px) scale(1.06); filter: hue-rotate(80deg);
    color: #70e8c4; text-shadow: 0 0 28px #55efc4, 0 0 55px rgba(85,239,196,0.6), 0 0 80px rgba(26,188,156,0.3); }
  /* Brightest — full northern lights */
  32% { transform: translateY(-15px) scale(1.05); filter: hue-rotate(100deg) brightness(1.3);
    color: #60ffb0; text-shadow: 0 0 45px #1abc9c, 0 0 60px rgba(26,188,156,0.7); }
  /* Descending — back through spectrum */
  40% { transform: translateY(-10px) scale(1.03); filter: hue-rotate(70deg);
    color: #80d0e0; text-shadow: 0 0 22px #74b9ff, 0 0 45px rgba(116,185,255,0.5); }
  48% { transform: translateY(-5px) scale(1.01); filter: hue-rotate(40deg);
    color: #a0b8ff; text-shadow: 0 0 18px #a29bfe, 0 0 38px rgba(162,155,254,0.5); }
  /* Home base */
  55% { transform: translateY(-1px) scale(1); filter: hue-rotate(15deg);
    color: #c0b4ff; text-shadow: 0 0 16px #6c5ce7, 0 0 35px rgba(108,92,231,0.5); }
  /* Second wave — smaller, different path */
  62% { transform: translateY(-6px) scale(1.02); filter: hue-rotate(30deg);
    color: #b0c0ff; text-shadow: 0 0 20px #a29bfe, 0 0 42px rgba(162,155,254,0.5); }
  70% { transform: translateY(-12px) scale(1.04); filter: hue-rotate(65deg);
    color: #88d8d0; text-shadow: 0 0 24px #55efc4, 0 0 50px rgba(85,239,196,0.5); }
  78% { transform: translateY(-8px) scale(1.02); filter: hue-rotate(45deg);
    color: #a0c0e0; text-shadow: 0 0 20px #74b9ff, 0 0 42px rgba(116,185,255,0.4); }
  /* Settling */
  86% { transform: translateY(-3px) scale(1.01); filter: hue-rotate(20deg);
    color: #c0b8ff; text-shadow: 0 0 17px #6c5ce7, 0 0 36px rgba(108,92,231,0.4); }
  94% { transform: translateY(-1px); filter: hue-rotate(5deg);
    text-shadow: 0 0 22px #6c5ce7, 0 0 34px rgba(108,92,231,0.5); }
  100% { transform: translateY(0) scale(1); filter: hue-rotate(0deg);
    color: #d5c6ff; text-shadow: 0 0 22px #6c5ce7, 0 0 35px rgba(108,92,231,0.5); }
}

/* ═══════════════════════════════════════════════════════════════
   🪐 COSMIC — 40s · Star dust → scatter → spiral → reform
   ═══════════════════════════════════════════════════════════════ */
.flash-card--cosmic {
  background: linear-gradient(135deg, #080020 0%, #150840 50%, #080020 100%);
}
.flash-card--cosmic .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  animation: cosmicBgSwirl 10s linear infinite;
}
@keyframes cosmicBgSwirl {
  0% { box-shadow: inset 20px 0 80px rgba(108,52,131,0.1), inset -20px 0 80px rgba(80,30,200,0.05); }
  25% { box-shadow: inset 0 20px 80px rgba(108,52,131,0.1), inset 0 -20px 80px rgba(80,30,200,0.05); }
  50% { box-shadow: inset -20px 0 80px rgba(108,52,131,0.1), inset 20px 0 80px rgba(80,30,200,0.05); }
  75% { box-shadow: inset 0 -20px 80px rgba(108,52,131,0.1), inset 0 20px 80px rgba(80,30,200,0.05); }
  100% { box-shadow: inset 20px 0 80px rgba(108,52,131,0.1), inset -20px 0 80px rgba(80,30,200,0.05); }
}
.flash-card--cosmic .flash-glow-border { background: linear-gradient(135deg, #6c3483, #1abc9c, #6c3483); }
.cosmic-nebula {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(108,52,131,0.2), transparent 40%),
    radial-gradient(ellipse at 70% 60%, rgba(26,188,156,0.1), transparent 30%);
  animation: nebulaShift 15s ease-in-out infinite alternate;
}
@keyframes nebulaShift { 0% { transform: translate(0); } 100% { transform: translate(5px, -5px); } }
.cosmic-star-dot {
  position: absolute; border-radius: 50%; background: #fff;
  box-shadow: 0 0 3px #fff;
  animation: cosmicTwinkle 3s ease-in-out infinite;
}
@keyframes cosmicTwinkle { 0%,100% { opacity: 0.3; } 50% { opacity: 1; } }
.cosmic-spiral {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: conic-gradient(from 0deg at 50% 50%, transparent 0%, rgba(108,52,131,0.05) 25%, transparent 50%, rgba(26,188,156,0.05) 75%, transparent 100%);
  animation: cosmicSpin 30s linear infinite;
}
@keyframes cosmicSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.flash-card--cosmic .flash-letter {
  color: #d2b4ff;
  font-weight: 900;
  text-shadow: 0 0 18px #6c3483, 0 0 45px rgba(108,52,131,0.5);
  animation: cosmicLetterScatter 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.14s);
}
@keyframes cosmicLetterScatter {
  /* Stardust gathering */
  0% { transform: translate(0) scale(1) rotate(0); opacity: 0.8;
    color: #d2b4ff; text-shadow: 0 0 18px #6c3483, 0 0 45px rgba(108,52,131,0.5); }
  /* Nebula glow */
  6% { opacity: 0.9; filter: brightness(1.2);
    text-shadow: 0 0 16px #6c3483, 0 0 38px rgba(108,52,131,0.6); }
  12% { opacity: 1; filter: brightness(1.5); color: #e0c8ff;
    text-shadow: 0 0 20px #6c3483, 0 0 45px rgba(108,52,131,0.7), 0 0 70px rgba(26,188,156,0.2); }
  /* SUPERNOVA — maximum glow */
  18% { filter: brightness(2); color: #f0e0ff;
    text-shadow: 0 0 28px #9b59b6, 0 0 55px rgba(155,89,182,0.7), 0 0 90px rgba(26,188,156,0.3); }
  /* Scatter — orbital explosion */
  24% { transform: translate(calc((var(--i) - 4) * 4px), calc((var(--i) - 4) * -3px)) rotate(calc(var(--i) * 3deg));
    opacity: 0.85; filter: brightness(1.8); color: #c8a0ff; }
  30% { transform: translate(calc((var(--i) - 4) * 8px), calc((var(--i) - 4) * -7px)) scale(0.9) rotate(calc(var(--i) * 8deg));
    opacity: 0.65; filter: brightness(1.2); color: #a080dd;
    text-shadow: 0 0 22px rgba(108,52,131,0.5); }
  /* Deep space — farthest point */
  38% { transform: translate(calc((var(--i) - 4) * 12px), calc((var(--i) - 4) * -10px)) scale(0.65) rotate(calc(var(--i) * 15deg));
    opacity: 0.35; filter: blur(0.5px) brightness(0.8); color: #7050a0;
    text-shadow: 0 0 10px rgba(108,52,131,0.3); }
  44% { transform: translate(calc((var(--i) - 4) * 14px), calc((var(--i) - 4) * -11px)) scale(0.5) rotate(calc(var(--i) * 20deg));
    opacity: 0.2; filter: blur(0.8px); color: #5a3880;
    text-shadow: 0 0 8px rgba(108,52,131,0.2); }
  /* Wormhole — color shift through teal */
  50% { opacity: 0.15; filter: blur(1px) hue-rotate(60deg); color: #406060;
    transform: translate(calc((var(--i) - 4) * 10px), calc((var(--i) - 4) * -8px)) scale(0.45) rotate(calc(var(--i) * 18deg));
    text-shadow: 0 0 6px rgba(26,188,156,0.2); }
  /* Gravitational pull — reforming */
  56% { opacity: 0.25; filter: blur(0.8px) hue-rotate(30deg);
    transform: translate(calc((var(--i) - 4) * 7px), calc((var(--i) - 4) * -6px)) scale(0.6) rotate(calc(var(--i) * 12deg));
    color: #7060a0; }
  64% { opacity: 0.45; filter: blur(0.3px) hue-rotate(10deg);
    transform: translate(calc((var(--i) - 4) * 4px), calc((var(--i) - 4) * -3px)) scale(0.8) rotate(calc(var(--i) * 5deg));
    color: #9070c0; text-shadow: 0 0 10px rgba(108,52,131,0.3); }
  72% { opacity: 0.65; filter: brightness(1.1);
    transform: translate(calc((var(--i) - 4) * 2px), calc((var(--i) - 4) * -1px)) scale(0.9) rotate(calc(var(--i) * 2deg));
    color: #b098dd; text-shadow: 0 0 14px rgba(108,52,131,0.5); }
  /* Reborn — new star */
  80% { opacity: 0.8; filter: brightness(1.3);
    transform: translate(0) scale(0.96) rotate(0);
    color: #c8b0f0; text-shadow: 0 0 18px #6c3483, 0 0 40px rgba(108,52,131,0.5); }
  90% { opacity: 0.9; filter: brightness(1.1);
    transform: translate(0) scale(1);
    text-shadow: 0 0 22px #6c3483, 0 0 35px rgba(108,52,131,0.5); }
  100% { transform: translate(0) scale(1) rotate(0); opacity: 0.8;
    color: #d2b4ff; text-shadow: 0 0 18px #6c3483, 0 0 45px rgba(108,52,131,0.5); }
}
.particle-star {
  position: absolute; border-radius: 50%; background: #fff;
  box-shadow: 0 0 4px #fff;
  animation: sparkleGlow ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════════
   🌸 SAKURA — 40s · Gentle glow → petals scatter text → reform
   ═══════════════════════════════════════════════════════════════ */
.flash-card--sakura {
  background: linear-gradient(135deg, #1a0810 0%, #2a1020 50%, #1a0810 100%);
}
.flash-card--sakura .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  animation: sakuraBgBreeze 6s ease-in-out infinite;
}
@keyframes sakuraBgBreeze {
  0%,100% { box-shadow: inset -20px 0 60px rgba(232,67,147,0.06); }
  50% { box-shadow: inset 20px 0 80px rgba(232,67,147,0.12), inset 0 0 60px rgba(253,121,168,0.06); }
}
.flash-card--sakura .flash-glow-border { background: linear-gradient(135deg, #e84393, #fab1a0, #e84393); }
.sakura-wind-layer {
  position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(232,67,147,0.03) 30%, transparent 60%);
  animation: sakuraWind 8s ease-in-out infinite alternate;
}
@keyframes sakuraWind { 0% { transform: translateX(-10px); } 100% { transform: translateX(10px); } }
.flash-card--sakura .flash-letter {
  color: #fff0f5;
  font-weight: 900;
  text-shadow: 0 0 22px #e84393, 0 0 45px rgba(232,67,147,0.4);
  animation: sakuraLetterDrift 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.14s);
}
@keyframes sakuraLetterDrift {
  /* Cherry blossom calm */
  0% { transform: translate(0) rotate(0); opacity: 0.9;
    color: #fff0f5; text-shadow: 0 0 18px rgba(232,67,147,0.4), 0 0 28px rgba(232,67,147,0.2); }
  /* Wind begins — gentle sway */
  6% { transform: translate(2px, -1px) rotate(0.5deg); opacity: 0.95;
    text-shadow: 0 0 14px rgba(232,67,147,0.5); }
  12% { transform: translate(5px, -3px) rotate(1.5deg); color: #ffe8f0;
    text-shadow: 0 0 16px rgba(232,67,147,0.6), 0 0 35px rgba(253,121,168,0.3); }
  /* Petal flutter — letters drift with wind */
  20% { transform: translate(calc(var(--i) * 2px), calc(var(--i) * -2px)) rotate(calc(var(--i) * 2deg));
    opacity: 0.9; color: #ffd4e4;
    text-shadow: 0 0 18px rgba(232,67,147,0.5), 0 0 38px rgba(253,121,168,0.3); }
  /* Strong gust — letters scatter like petals */
  28% { transform: translate(calc(var(--i) * 4px), calc(var(--i) * -4px + 3px)) rotate(calc(var(--i) * 6deg));
    opacity: 0.75; color: #ffb8d0; filter: blur(0.2px);
    text-shadow: 0 0 22px rgba(232,67,147,0.4); }
  36% { transform: translate(calc(var(--i) * 7px), calc(var(--i) * 5px)) rotate(calc(var(--i) * 12deg));
    opacity: 0.5; color: #ff90b4; filter: blur(0.4px);
    text-shadow: 0 0 18px rgba(232,67,147,0.3); }
  /* Floating — maximum drift */
  44% { transform: translate(calc(var(--i) * 8px), calc(15px + var(--i) * 6px)) rotate(calc(var(--i) * 18deg));
    opacity: 0.3; color: #ff70a0; filter: blur(0.6px);
    text-shadow: 0 0 10px rgba(232,67,147,0.2); }
  /* Gentle landing */
  52% { transform: translate(calc(var(--i) * 6px), calc(10px + var(--i) * 4px)) rotate(calc(var(--i) * 14deg));
    opacity: 0.25; color: #e86098; filter: blur(0.5px);
    text-shadow: 0 0 8px rgba(232,67,147,0.15); }
  /* Wind changes — letters start returning */
  60% { transform: translate(calc(var(--i) * 4px), calc(5px + var(--i) * 2px)) rotate(calc(var(--i) * 8deg));
    opacity: 0.4; filter: blur(0.3px); color: #ff88b0;
    text-shadow: 0 0 10px rgba(232,67,147,0.3); }
  68% { transform: translate(calc(var(--i) * 2px), calc(2px + var(--i) * 1px)) rotate(calc(var(--i) * 4deg));
    opacity: 0.6; filter: blur(0.1px); color: #ffb0cc;
    text-shadow: 0 0 13px rgba(232,67,147,0.4); }
  /* Settling back — like petals landing */
  76% { transform: translate(calc(var(--i) * 1px), 1px) rotate(calc(var(--i) * 1.5deg));
    opacity: 0.75; filter: none; color: #ffc8dc;
    text-shadow: 0 0 14px rgba(232,67,147,0.5), 0 0 45px rgba(253,121,168,0.25); }
  84% { transform: translate(0, 0) rotate(0.5deg);
    opacity: 0.85; color: #ffd8e8;
    text-shadow: 0 0 14px rgba(232,67,147,0.45), 0 0 45px rgba(253,121,168,0.2); }
  92% { transform: translate(0) rotate(0); opacity: 0.88; color: #ffe4f0;
    text-shadow: 0 0 13px rgba(232,67,147,0.4), 0 0 28px rgba(232,67,147,0.2); }
  100% { transform: translate(0) rotate(0); opacity: 0.9;
    color: #fff0f5; text-shadow: 0 0 18px rgba(232,67,147,0.4), 0 0 28px rgba(232,67,147,0.2); }
}
.particle-petal {
  position: absolute;
  animation: petalFall linear infinite;
}
@keyframes petalFall {
  0% { transform: translateY(0) translateX(0) rotate(0); opacity: 0.7; }
  100% { transform: translateY(220px) translateX(var(--drift, 30px)) rotate(720deg); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   ⚔️ STEEL — 35s · Dark → sparks → metal shine → hammer hit
   ═══════════════════════════════════════════════════════════════ */
.flash-card--steel {
  background: linear-gradient(180deg, #0a0a0e 0%, #181820 50%, #0a0a0e 100%);
}
.flash-card--steel .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  animation: steelBgHeat 35s ease-in-out infinite;
}
@keyframes steelBgHeat {
  0%,20% { box-shadow: inset 0 0 45px rgba(178,190,195,0.03); }
  35% { box-shadow: inset 0 -40px 80px rgba(255,140,0,0.08), inset 0 0 60px rgba(255,80,0,0.05); }
  50% { box-shadow: inset 0 -50px 100px rgba(255,160,0,0.12), inset 0 0 80px rgba(255,100,0,0.08); }
  65% { box-shadow: inset 0 -30px 60px rgba(255,100,0,0.05); }
  80%,100% { box-shadow: inset 0 0 45px rgba(178,190,195,0.03); }
}
.flash-card--steel .flash-glow-border { background: linear-gradient(135deg, #636e72, #b2bec3, #636e72); }
.steel-surface {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(135deg, rgba(99,110,114,0.1) 0%, rgba(178,190,195,0.05) 50%, rgba(99,110,114,0.1) 100%);
}
.steel-sparks-layer {
  position: absolute; inset: 0; z-index: 4; pointer-events: none;
}
.flash-card--steel .flash-letter {
  color: #d0d8e0;
  font-weight: 900;
  text-shadow: 0 0 8px rgba(178,190,195,0.5);
  animation: steelLetterForge 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes steelLetterForge {
  /* Cold steel — dim but visible */
  0% { opacity: 0.4; color: #505860; filter: brightness(0.4);
    text-shadow: 0 0 6px rgba(178,190,195,0.2); transform: translateY(0); }
  /* Warming — forge fire building */
  6% { opacity: 0.5; color: #687078; filter: brightness(0.55);
    text-shadow: 0 0 8px rgba(178,190,195,0.3); }
  12% { opacity: 0.65; color: #889098; filter: brightness(0.75);
    text-shadow: 0 0 10px rgba(178,190,195,0.4); }
  /* Metal heating — orange tinge from forge */
  18% { opacity: 0.8; color: #b0a898; filter: brightness(0.9);
    text-shadow: 0 0 18px rgba(255,140,0,0.2), 0 0 25px rgba(178,190,195,0.3); }
  /* Hot metal — bright */
  24% { opacity: 1; color: #d0c8c0; filter: brightness(1.2);
    text-shadow: 0 0 22px rgba(255,140,0,0.3), 0 0 45px rgba(178,190,195,0.5); }
  /* WHITE HOT — forge maximum */
  30% { color: #e8e0d8; filter: brightness(1.8) drop-shadow(0 0 18px rgba(255,160,0,0.4));
    text-shadow: 0 0 20px rgba(255,160,0,0.5), 0 0 40px rgba(255,200,100,0.3); }
  /* Metallic shine sweep */
  34% { color: #ffffff; filter: brightness(2.5) drop-shadow(0 0 18px #b2bec3);
    text-shadow: 0 0 25px #b2bec3, 0 0 50px rgba(178,190,195,0.6); }
  38% { filter: brightness(1.8); color: #e0dcd8; }
  /* ⚒️ HAMMER STRIKE 1 */
  42% { transform: translateY(0); filter: brightness(1.5); }
  43% { transform: translateY(4px) scaleY(0.94) scaleX(1.04); filter: brightness(3);
    text-shadow: 0 0 45px #fff, 0 0 60px rgba(255,200,100,0.5); color: #ffffff; }
  44.5% { transform: translateY(-3px) scaleY(1.03) scaleX(0.98); filter: brightness(2); }
  46% { transform: translateY(1px); filter: brightness(1.5); color: #d0d8e0; }
  48% { transform: translateY(0) scaleY(1) scaleX(1); filter: brightness(1.2); }
  /* Cooling — metal settling */
  54% { opacity: 0.95; filter: brightness(1.1); color: #c8d0d8;
    text-shadow: 0 0 18px rgba(178,190,195,0.5); }
  /* ⚒️ HAMMER STRIKE 2 — quench */
  60% { transform: translateY(0); }
  61% { transform: translateY(3px) scaleY(0.96); filter: brightness(2.5); color: #fff;
    text-shadow: 0 0 25px #b2bec3, 0 0 50px rgba(178,190,195,0.5); }
  63% { transform: translateY(-2px) scaleY(1.02); filter: brightness(1.6); }
  65% { transform: translateY(0); filter: brightness(1.3); }
  /* Post-quench — steel hardening */
  70% { opacity: 0.9; filter: brightness(1); color: #b0b8c0;
    text-shadow: 0 0 10px rgba(178,190,195,0.4); }
  78% { opacity: 0.75; filter: brightness(0.8); color: #909aa0;
    text-shadow: 0 0 8px rgba(178,190,195,0.3); }
  /* Cooling to dark */
  86% { opacity: 0.6; filter: brightness(0.6); color: #707880;
    text-shadow: 0 0 6px rgba(178,190,195,0.2); }
  94% { opacity: 0.45; filter: brightness(0.45); color: #586068; }
  100% { opacity: 0.4; color: #505860; filter: brightness(0.4);
    text-shadow: 0 0 6px rgba(178,190,195,0.2); transform: translateY(0); }
}
.particle-spark {
  position: absolute; width: 3px; height: 3px; border-radius: 50%;
  background: #fff8e0;
  box-shadow: 0 0 4px #ffd700, 0 0 8px #ff8c00;
  animation: sparkFly ease-out infinite;
}
@keyframes sparkFly {
  0%   { transform: translate(0) scale(1); opacity: 1; }
  100% { transform: translate(var(--drift, 15px), -60px) scale(0.2); opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   🪄 MAGIC — Harry Potter · Wand spell → levitation → golden burst → reform
   ═══════════════════════════════════════════════════════════════ */
.flash-card--magic {
  background: linear-gradient(180deg, #0d0a1a 0%, #1a1040 40%, #0d0a1a 100%);
  animation: magicBgPulse 6s ease-in-out infinite;
}
@keyframes magicBgPulse {
  0%,100% { background: linear-gradient(180deg, #0d0a1a 0%, #1a1040 40%, #0d0a1a 100%); }
  50% { background: linear-gradient(180deg, #120e22 0%, #241858 40%, #120e22 100%); }
}
.flash-card--magic .flash-bg {
  position: absolute; inset: 0; border-radius: 22px;
  box-shadow: inset 0 0 60px rgba(212,160,23,0.06), inset 0 -30px 80px rgba(142,68,173,0.08);
  animation: magicBgGlow 4s ease-in-out infinite;
}
@keyframes magicBgGlow {
  0%,100% { box-shadow: inset 0 0 60px rgba(212,160,23,0.06); }
  50% { box-shadow: inset 0 0 80px rgba(212,160,23,0.12), inset 0 -40px 100px rgba(142,68,173,0.1); }
}
.flash-card--magic .flash-glow-border { background: linear-gradient(135deg, #d4a017, #8e44ad, #d4a017); }

/* Mystical fog layer */
.magic-fog-layer {
  position: absolute; inset: 0; z-index: 1; border-radius: 22px;
  background: 
    radial-gradient(ellipse at 20% 70%, rgba(142,68,173,0.15), transparent 50%),
    radial-gradient(ellipse at 80% 30%, rgba(212,160,23,0.1), transparent 50%);
  animation: magicFogDrift 8s ease-in-out infinite alternate;
}
@keyframes magicFogDrift {
  0% { transform: translate(-5px, 3px); opacity: 0.6; }
  100% { transform: translate(5px, -3px); opacity: 1; }
}

/* Wand trail — golden streak */
.magic-wand-trail {
  position: absolute; z-index: 3; pointer-events: none;
  width: 60%; height: 2px; top: 30%; left: 20%;
  background: linear-gradient(90deg, transparent, rgba(212,160,23,0.6), rgba(255,215,0,0.8), rgba(212,160,23,0.4), transparent);
  border-radius: 2px;
  box-shadow: 0 0 18px rgba(212,160,23,0.4), 0 0 45px rgba(212,160,23,0.2);
  animation: wandSweep 5s ease-in-out infinite;
}
@keyframes wandSweep {
  0% { transform: translateX(-120%) rotate(-5deg); opacity: 0; }
  20% { opacity: 1; }
  50% { transform: translateX(120%) rotate(5deg); opacity: 0.8; }
  70% { opacity: 0; }
  100% { transform: translateX(-120%) rotate(-5deg); opacity: 0; }
}

/* Rotating rune circle */
.magic-rune-circle {
  position: absolute; z-index: 2; pointer-events: none;
  width: 70%; height: 70%; top: 15%; left: 15%;
  border: 1px solid rgba(212,160,23,0.08);
  border-radius: 50%;
  box-shadow: inset 0 0 20px rgba(142,68,173,0.05);
  animation: runeRotate 20s linear infinite;
}
@keyframes runeRotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Letter animation — Wingardium Leviosa */
.flash-card--magic .flash-letter {
  color: #fff8dc;
  font-weight: 900;
  text-shadow: 0 0 18px rgba(212,160,23,0.5), 0 0 28px rgba(212,160,23,0.3);
  animation: magicLetterSpell 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.15s);
}
@keyframes magicLetterSpell {
  /* Dormant — waiting for spell */
  0% { transform: translateY(0) scale(1) rotate(0); opacity: 0.7;
    color: #c0a870; text-shadow: 0 0 8px rgba(212,160,23,0.3); filter: brightness(0.7); }
  /* Wand pointed — charge */
  6% { opacity: 0.8; filter: brightness(0.85);
    text-shadow: 0 0 18px rgba(212,160,23,0.4); }
  12% { opacity: 0.9; filter: brightness(1.1); color: #d8c088;
    text-shadow: 0 0 22px rgba(212,160,23,0.5), 0 0 45px rgba(142,68,173,0.2); }
  /* INCANTATION — golden flash */
  18% { filter: brightness(1.8); color: #ffe8a0;
    text-shadow: 0 0 22px #d4a017, 0 0 45px rgba(212,160,23,0.6), 0 0 70px rgba(142,68,173,0.3); }
  /* LEVITATION — letters rise! */
  24% { transform: translateY(-5px) scale(1.02); filter: brightness(2); color: #fff0b0;
    text-shadow: 0 0 28px #d4a017, 0 0 55px rgba(212,160,23,0.7); }
  30% { transform: translateY(-12px) scale(1.04) rotate(calc(var(--i) * 0.5deg));
    filter: brightness(2.5); color: #ffffff;
    text-shadow: 0 0 35px #ffd700, 0 0 70px rgba(212,160,23,0.8), 0 0 100px rgba(142,68,173,0.3); }
  /* Floating — gentle wobble at peak */
  36% { transform: translateY(-14px) scale(1.05) rotate(calc(var(--i) * -0.5deg));
    filter: brightness(2); color: #fff8dc;
    text-shadow: 0 0 45px #d4a017, 0 0 60px rgba(212,160,23,0.6); }
  42% { transform: translateY(-11px) scale(1.03) rotate(calc(var(--i) * 0.3deg));
    filter: brightness(1.8); color: #ffe8c0; }
  /* SPELL BURST — magical explosion */
  48% { transform: translateY(-8px) scale(1.08) rotate(0); filter: brightness(3);
    color: #ffffff; text-shadow: 0 0 40px #ffd700, 0 0 80px #d4a017, 0 0 120px rgba(142,68,173,0.5); }
  50% { transform: translateY(-6px) scale(0.95); filter: brightness(1.5);
    color: #e8d090; }
  /* Descending — spell fading */
  56% { transform: translateY(-4px) scale(1) rotate(0); filter: brightness(1.2);
    color: #d8c088; text-shadow: 0 0 18px rgba(212,160,23,0.5); }
  64% { transform: translateY(-2px); filter: brightness(1); opacity: 0.85;
    color: #c8b078; text-shadow: 0 0 14px rgba(212,160,23,0.4); }
  /* Landing — back to dormant */
  72% { transform: translateY(0) scale(1); opacity: 0.8; filter: brightness(0.9);
    color: #c0a870; text-shadow: 0 0 10px rgba(212,160,23,0.35); }
  /* Second mini-cast — subtle pulse */
  80% { filter: brightness(1.2); text-shadow: 0 0 22px rgba(212,160,23,0.5);
    opacity: 0.85; color: #d0b880; }
  84% { filter: brightness(1.5); text-shadow: 0 0 20px rgba(212,160,23,0.6);
    color: #dcc890; }
  88% { filter: brightness(1); opacity: 0.8; color: #c8b078; }
  100% { transform: translateY(0) scale(1) rotate(0); opacity: 0.7;
    color: #c0a870; text-shadow: 0 0 8px rgba(212,160,23,0.3); filter: brightness(0.7); }
}

/* Magic sparkle particles */
.particle-sparkle {
  position: absolute; color: #ffd700;
  text-shadow: 0 0 6px #ffd700, 0 0 18px rgba(212,160,23,0.5);
  animation: sparkleFloat ease-in-out infinite;
  pointer-events: none;
}
@keyframes sparkleFloat {
  0% { transform: translateY(0) rotate(0) scale(0.5); opacity: 0; }
  15% { opacity: 0.8; transform: translateY(-20px) rotate(45deg) scale(1); }
  50% { opacity: 1; transform: translateY(-60px) rotate(180deg) scale(0.8); }
  85% { opacity: 0.5; transform: translateY(-100px) rotate(315deg) scale(0.4); }
  100% { opacity: 0; transform: translateY(-130px) rotate(360deg) scale(0.2); }
}

/* Magic letter micro-motion */
.flash-card--magic .flash-letter::after {
  content: ''; position: absolute; inset: -3px; z-index: -1;
  background: radial-gradient(ellipse, rgba(212,160,23,0.1), transparent 60%);
  animation: magicLetterGlow 2s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.2s);
}
@keyframes magicLetterGlow {
  0% { opacity: 0.1; transform: scale(0.85); filter: hue-rotate(0deg); }
  100% { opacity: 0.5; transform: scale(1.2); filter: hue-rotate(30deg); }
}

/* ═══════════════════════════════════════════════════════════════
   REMAINING STYLES — reuse best animations
   ═══════════════════════════════════════════════════════════════ */

/* 🌅 SUNSET — warm horizon glow → letters radiate → golden burst → cool down */
.flash-card--sunset { background: linear-gradient(135deg, #1a0812 0%, #3a1525 50%, #1a0812 100%); }
.flash-card--sunset .flash-glow-border { background: linear-gradient(135deg, #e84393, #fdcb6e, #e84393); }
.flash-card--sunset .flash-letter {
  color: #fff; font-weight: 900;
  text-shadow: 0 0 22px #fdcb6e, 0 0 45px #e84393;
  animation: sunsetLetterGlow 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes sunsetLetterGlow {
  0% { opacity: 0.7; color: #e0a080; filter: brightness(0.7);
    text-shadow: 0 0 8px rgba(253,203,110,0.3); }
  10% { opacity: 0.85; filter: brightness(0.9); color: #f0b890;
    text-shadow: 0 0 18px rgba(253,203,110,0.5); }
  20% { filter: brightness(1.3); color: #ffd0a0;
    text-shadow: 0 0 18px #fdcb6e, 0 0 35px rgba(232,67,147,0.3); }
  30% { filter: brightness(1.8); color: #ffe0b0;
    text-shadow: 0 0 25px #fdcb6e, 0 0 50px rgba(232,67,147,0.5), 0 0 70px rgba(253,203,110,0.3); }
  38% { filter: brightness(2.5); color: #ffffff;
    text-shadow: 0 0 35px #fdcb6e, 0 0 60px #e84393, 0 0 90px rgba(253,203,110,0.5);
    transform: translateY(-3px) scale(1.03); }
  45% { filter: brightness(2); color: #ffe8c0;
    transform: translateY(-1px) scale(1.01); }
  55% { filter: brightness(1.4); color: #f0c8a0;
    text-shadow: 0 0 18px rgba(253,203,110,0.5), 0 0 35px rgba(232,67,147,0.3); }
  65% { filter: brightness(1.1); color: #e0b898;
    text-shadow: 0 0 14px rgba(253,203,110,0.4); }
  78% { filter: brightness(0.85); color: #d0a888; opacity: 0.8;
    text-shadow: 0 0 10px rgba(253,203,110,0.3); }
  90% { filter: brightness(0.75); opacity: 0.75; color: #c89878; }
  100% { opacity: 0.7; color: #e0a080; filter: brightness(0.7);
    text-shadow: 0 0 8px rgba(253,203,110,0.3); }
}

/* 🌙 MIDNIGHT — starlight twinkle → constellation form → dissolve → reform */
.flash-card--midnight { background: linear-gradient(135deg, #080828 0%, #141450 50%, #080828 100%); }
.flash-card--midnight .flash-glow-border { background: linear-gradient(135deg, #686de0, #30336b, #686de0); }
.flash-card--midnight .flash-letter {
  color: #d5d8ff; font-weight: 900;
  text-shadow: 0 0 22px #686de0;
  animation: midnightLetterTwinkle 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.18s);
}
@keyframes midnightLetterTwinkle {
  0% { opacity: 0.5; color: #8088c0; filter: brightness(0.5);
    text-shadow: 0 0 6px rgba(104,109,224,0.2); }
  8% { opacity: 0.6; filter: brightness(0.7);
    text-shadow: 0 0 10px rgba(104,109,224,0.3); }
  16% { opacity: 0.9; filter: brightness(1.2); color: #b0b8ff;
    text-shadow: 0 0 16px #686de0, 0 0 35px rgba(104,109,224,0.5); }
  22% { filter: brightness(2); color: #d0d4ff;
    text-shadow: 0 0 22px #686de0, 0 0 45px rgba(104,109,224,0.7), 0 0 70px rgba(48,51,107,0.3); }
  28% { filter: brightness(1.5); opacity: 0.95; }
  /* Twinkle burst */
  32% { filter: brightness(0.6); opacity: 0.4; color: #6068a0; }
  34% { filter: brightness(2.5); opacity: 1; color: #e0e4ff;
    text-shadow: 0 0 45px #686de0, 0 0 60px rgba(104,109,224,0.8); }
  38% { filter: brightness(1.3); color: #c0c8f0; }
  /* Constellation drift */
  45% { transform: translate(calc((var(--i) - 4) * 2px), calc((var(--i) - 4) * -1px));
    opacity: 0.85; filter: brightness(1.1);
    text-shadow: 0 0 14px rgba(104,109,224,0.5); }
  55% { transform: translate(calc((var(--i) - 4) * 3px), calc((var(--i) - 4) * -2px));
    opacity: 0.7; filter: brightness(0.8); color: #9098d0; }
  65% { transform: translate(calc((var(--i) - 4) * 1px), 0);
    opacity: 0.8; filter: brightness(1); color: #a8b0e0; }
  75% { transform: translate(0); opacity: 0.9; filter: brightness(1.2);
    text-shadow: 0 0 16px #686de0, 0 0 35px rgba(104,109,224,0.5); }
  /* Second twinkle */
  82% { filter: brightness(0.5); opacity: 0.4; }
  84% { filter: brightness(2); opacity: 1; color: #d0d8ff;
    text-shadow: 0 0 25px #686de0, 0 0 50px rgba(104,109,224,0.6); }
  90% { filter: brightness(1); opacity: 0.7; }
  100% { opacity: 0.5; color: #8088c0; filter: brightness(0.5);
    text-shadow: 0 0 6px rgba(104,109,224,0.2); }
}

/* 🍭 CANDY — sweet bounce → sugar spiral → pop → melt → reform */
.flash-card--candy { background: linear-gradient(135deg, #200028 0%, #3a0044 50%, #200028 100%); }
.flash-card--candy .flash-glow-border { background: linear-gradient(135deg, #ff1493, #ff69b4, #da70d6); }
.flash-card--candy .flash-letter {
  color: #fff0f8; font-weight: 900;
  text-shadow: 0 0 18px #ff1493, 0 0 45px #ff69b4;
  animation: candyLetterBounce 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.1s);
}
@keyframes candyLetterBounce {
  0% { transform: translateY(0) scale(1); color: #ffc0e0; opacity: 0.85;
    text-shadow: 0 0 10px rgba(255,20,147,0.4); }
  8% { transform: translateY(-2px) scale(1.03); color: #ffd0e8;
    text-shadow: 0 0 14px rgba(255,20,147,0.5); }
  /* Sweet pulse */
  15% { transform: translateY(-5px) scale(1.08); color: #ffe0f0; filter: brightness(1.3);
    text-shadow: 0 0 20px #ff1493, 0 0 40px #ff69b4; }
  20% { transform: translateY(0) scale(0.95); filter: brightness(1); }
  25% { transform: translateY(-3px) scale(1.05); filter: brightness(1.2);
    text-shadow: 0 0 18px #ff1493, 0 0 38px rgba(218,112,214,0.4); }
  30% { transform: translateY(0) scale(1); }
  /* Sugar spiral */
  38% { transform: translateY(-4px) rotate(calc(var(--i) * 2deg)) scale(1.04);
    color: #ffb0d8; filter: hue-rotate(15deg);
    text-shadow: 0 0 16px #da70d6, 0 0 35px rgba(218,112,214,0.5); }
  45% { transform: translateY(-8px) rotate(calc(var(--i) * 4deg)) scale(1.06);
    color: #e890c0; filter: hue-rotate(30deg) brightness(1.3);
    text-shadow: 0 0 20px #da70d6, 0 0 45px rgba(218,112,214,0.6); }
  /* POP! */
  50% { transform: scale(1.15) rotate(0); filter: brightness(2.5); color: #ffffff;
    text-shadow: 0 0 35px #ff1493, 0 0 70px #ff69b4, 0 0 100px #da70d6; }
  53% { transform: scale(0.9); filter: brightness(1.5); }
  56% { transform: scale(1.02); filter: brightness(1); }
  /* Melt down */
  65% { transform: translateY(2px) scaleY(0.97); opacity: 0.75; color: #e0a0c0;
    filter: brightness(0.9); text-shadow: 0 0 10px rgba(255,20,147,0.3); }
  72% { transform: translateY(0) scaleY(1); opacity: 0.8; }
  /* Reform pulse */
  80% { filter: brightness(1.2); color: #f0c0d8;
    text-shadow: 0 0 14px rgba(255,20,147,0.5); }
  88% { filter: brightness(1); opacity: 0.85; }
  100% { transform: translateY(0) scale(1); color: #ffc0e0; opacity: 0.85;
    text-shadow: 0 0 10px rgba(255,20,147,0.4); }
}

/* 🌆 VAPORWAVE — retro grid scroll + neon flicker + CRT scan */
.flash-card--vapor { background: linear-gradient(135deg, #1a0c50 0%, #2a1570 50%, #1a0c50 100%); }
.flash-card--vapor .flash-glow-border { background: linear-gradient(135deg, #e84393, #a55eea, #4834d4); }
.vapor-grid-layer {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, transparent 50%, rgba(232,67,147,0.05) 100%);
  background-image:
    linear-gradient(rgba(232,67,147,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(232,67,147,0.05) 1px, transparent 1px);
  background-size: 30px 30px;
  animation: vaporGridPerspective 10s linear infinite;
}
@keyframes vaporGridPerspective { 0% { background-position: 0 0; } 100% { background-position: 0 30px; } }
.vapor-sunset-gradient {
  position: absolute; left: 0; right: 0; bottom: 0; height: 40%; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(232,67,147,0.15));
}
.flash-card--vapor .flash-letter {
  color: #f8c8ff; font-weight: 900;
  text-shadow: 0 0 18px #e84393, 0 0 45px #a55eea;
  animation: vaporLetterRetro 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.1s);
}
@keyframes vaporLetterRetro {
  0% { opacity: 0.8; color: #d0a0e0; filter: brightness(0.8);
    text-shadow: 0 0 8px rgba(232,67,147,0.3), 0 0 20px rgba(165,94,234,0.2); }
  8% { opacity: 0.9; filter: brightness(1); color: #e0b8f0;
    text-shadow: 0 0 18px #e84393, 0 0 28px rgba(165,94,234,0.4); }
  /* Neon glow up */
  16% { filter: brightness(1.5); color: #f0d0ff;
    text-shadow: 0 0 18px #e84393, 0 0 40px #a55eea, 0 0 60px rgba(72,52,212,0.3); }
  /* CRT flicker */
  22% { opacity: 0.3; filter: brightness(0.3); }
  23% { opacity: 1; filter: brightness(2); color: #ffffff;
    text-shadow: 0 0 25px #e84393, 0 0 50px #a55eea, 0 0 80px #4834d4; }
  26% { filter: brightness(1.3); color: #f0c8ff; }
  /* Retro scan line effect */
  34% { filter: brightness(1.1); opacity: 0.95;
    text-shadow: 0 0 22px #e84393, 0 0 35px rgba(165,94,234,0.5); }
  38% { filter: brightness(0.5); opacity: 0.4; }
  39% { filter: brightness(0.3); opacity: 0.2; }
  40% { filter: brightness(2.5); opacity: 1; color: #fff0ff;
    text-shadow: 0 0 45px #e84393, 0 0 60px #a55eea; }
  /* Chroma shift */
  48% { filter: hue-rotate(20deg) brightness(1.2);
    text-shadow: 0 0 18px #e84393, 0 0 40px rgba(165,94,234,0.5); }
  56% { filter: hue-rotate(-15deg) brightness(1.1);
    text-shadow: 0 0 22px #a55eea, 0 0 35px rgba(72,52,212,0.4); }
  64% { filter: hue-rotate(0deg) brightness(1); }
  /* Second CRT flicker */
  72% { opacity: 0.25; filter: brightness(0.2); }
  73% { opacity: 0.8; filter: brightness(1.5); }
  74% { opacity: 0.15; }
  75% { opacity: 1; filter: brightness(2); color: #ffe0ff;
    text-shadow: 0 0 22px #e84393, 0 0 45px #a55eea; }
  80% { filter: brightness(1.2); color: #e8c0f0; }
  88% { filter: brightness(0.9); opacity: 0.85; color: #d8b0e0; }
  100% { opacity: 0.8; color: #d0a0e0; filter: brightness(0.8);
    text-shadow: 0 0 8px rgba(232,67,147,0.3), 0 0 20px rgba(165,94,234,0.2); }
}

/* 💎 EMERALD — gem facet light → prismatic split → deep glow → refract */
.flash-card--emerald { background: linear-gradient(135deg, #001a08 0%, #003018 50%, #001a08 100%); }
.flash-card--emerald .flash-glow-border { background: linear-gradient(135deg, #00b894, #55efc4, #00b894); }
.flash-card--emerald .flash-letter {
  color: #55efc4; font-weight: 900;
  text-shadow: 0 0 18px #00b894, 0 0 45px rgba(0,184,148,0.5);
  animation: emeraldLetterFacet 35s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes emeraldLetterFacet {
  0% { opacity: 0.7; color: #308868; filter: brightness(0.6);
    text-shadow: 0 0 6px rgba(0,184,148,0.2); }
  8% { opacity: 0.8; filter: brightness(0.8); color: #40a880; }
  16% { opacity: 0.95; filter: brightness(1.2); color: #55efc4;
    text-shadow: 0 0 22px #00b894, 0 0 45px rgba(0,184,148,0.5); }
  /* Facet light — prismatic */
  24% { filter: brightness(1.8); color: #80ffd8;
    text-shadow: 0 0 22px #00b894, 0 0 45px rgba(85,239,196,0.6), 0 0 65px rgba(0,184,148,0.3); }
  30% { filter: brightness(2.5); color: #b0ffe8;
    text-shadow: 0 0 45px #55efc4, 0 0 60px rgba(85,239,196,0.7); }
  /* Split — prismatic refraction */
  36% { filter: brightness(2) hue-rotate(10deg); color: #a0ffd0;
    text-shadow: 0 0 25px #00b894, 0 0 50px #55efc4; }
  42% { filter: brightness(1.5) hue-rotate(-10deg); color: #70e8b0;
    text-shadow: 0 0 18px rgba(0,184,148,0.5); }
  /* Deep glow */
  50% { filter: brightness(1); color: #55d0a8; opacity: 0.9;
    text-shadow: 0 0 14px rgba(0,184,148,0.4); }
  58% { filter: brightness(0.7); color: #40a880; opacity: 0.75;
    text-shadow: 0 0 10px rgba(0,184,148,0.3); }
  /* Gem pulse */
  66% { filter: brightness(1.3); opacity: 0.9; color: #50c8a0;
    text-shadow: 0 0 16px #00b894, 0 0 35px rgba(0,184,148,0.5); }
  72% { filter: brightness(1.8); color: #70e8c0;
    text-shadow: 0 0 22px #55efc4, 0 0 45px rgba(85,239,196,0.5); }
  78% { filter: brightness(1.2); color: #55d0a8; }
  86% { filter: brightness(0.8); opacity: 0.8; color: #40a888; }
  100% { opacity: 0.7; color: #308868; filter: brightness(0.6);
    text-shadow: 0 0 6px rgba(0,184,148,0.2); }
}

/* 💠 CRYSTAL — facet refraction → rainbow split → reassemble */
.flash-card--crystal { background: linear-gradient(135deg, #081830 0%, #122860 50%, #081830 100%); }
.flash-card--crystal .flash-glow-border { background: linear-gradient(135deg, #82ccdd, #dff9fb, #82ccdd); }
.flash-card--crystal .flash-letter {
  color: #dff9fb; font-weight: 900;
  text-shadow: 0 0 18px #82ccdd, 0 0 45px rgba(130,204,221,0.5);
  animation: crystalLetterRefract 40s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s);
}
@keyframes crystalLetterRefract {
  0% { opacity: 0.75; color: #90b8d0; filter: brightness(0.7);
    text-shadow: 0 0 8px rgba(130,204,221,0.3); }
  10% { opacity: 0.9; filter: brightness(1); color: #b0d8e8;
    text-shadow: 0 0 18px rgba(130,204,221,0.5); }
  18% { filter: brightness(1.5); color: #d0f0ff;
    text-shadow: 0 0 18px #82ccdd, 0 0 38px rgba(130,204,221,0.6); }
  /* Refraction — rainbow prism */
  26% { filter: brightness(2) hue-rotate(0deg); color: #e0f8ff;
    text-shadow: 0 0 25px #82ccdd, 0 0 50px rgba(130,204,221,0.7); }
  32% { filter: brightness(2.5) hue-rotate(30deg); color: #ffffff;
    text-shadow: 0 0 45px #82ccdd, 0 0 60px rgba(223,249,251,0.6), 0 0 90px rgba(130,204,221,0.3); }
  36% { filter: brightness(2) hue-rotate(60deg);
    text-shadow: 0 0 25px #82ccdd, 0 0 50px rgba(130,204,221,0.5); }
  40% { filter: brightness(1.5) hue-rotate(90deg); color: #a0f0e0; }
  /* Shimmer — back through spectrum */
  46% { filter: brightness(1.8) hue-rotate(60deg); color: #b0e8ff; }
  52% { filter: brightness(2.2) hue-rotate(30deg); color: #d0f4ff;
    text-shadow: 0 0 28px #dff9fb, 0 0 55px rgba(130,204,221,0.7); }
  56% { filter: brightness(1.5) hue-rotate(0deg); color: #c0e8f0; }
  /* Cool down */
  64% { filter: brightness(1.1); color: #b0d4e0; opacity: 0.9;
    text-shadow: 0 0 14px rgba(130,204,221,0.5); }
  72% { filter: brightness(0.85); color: #98c0d0; opacity: 0.8;
    text-shadow: 0 0 10px rgba(130,204,221,0.3); }
  /* Crystal pulse */
  80% { filter: brightness(1.2); color: #a8d0e0;
    text-shadow: 0 0 14px rgba(130,204,221,0.5); }
  88% { filter: brightness(0.8); opacity: 0.78; color: #90b8cc; }
  100% { opacity: 0.75; color: #90b8d0; filter: brightness(0.7);
    text-shadow: 0 0 8px rgba(130,204,221,0.3); }
}

/* ═══════════════════════════════════════════════════════════════
   🎬 FLASH CARD ENTRANCE ANIMATION
   ═══════════════════════════════════════════════════════════════ */
.flash-card {
  animation: flashCardEntrance 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@keyframes flashCardEntrance {
  0% { opacity: 0; transform: scale(0.85) translateY(20px); filter: blur(4px); }
  60% { opacity: 1; transform: scale(1.02) translateY(-2px); filter: blur(0); }
  100% { opacity: 1; transform: scale(1) translateY(0); filter: blur(0); }
}

/* ═══════════════════════════════════════════════════════════════
   INTENSITY MODIFIERS
   ═══════════════════════════════════════════════════════════════ */
.flash-card--low .flash-letter { font-size: 32px !important; }
.flash-card--low .flash-particles { opacity: 0.35; }
.flash-card--low .flash-glow-border { opacity: 0.35; filter: blur(10px); }

.flash-card--max .flash-letter { font-size: 52px !important; letter-spacing: 0.05em !important; }
.flash-card--max .flash-particles { opacity: 1; }
.flash-card--max .flash-glow-border { filter: blur(30px); opacity: 1; }
.flash-card--max .flash-shimmer-bar {
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.15) 46%, rgba(255,255,255,0.28) 50%, rgba(255,255,255,0.15) 54%, transparent 70%);
}
.flash-card--max .flash-card { box-shadow: 0 12px 50px rgba(0,0,0,0.7); }

/* Generic particle fallback */
.particle-generic {
  position: absolute; width: 4px; height: 4px; border-radius: 50%;
  background: rgba(255,255,255,0.5);
  box-shadow: 0 0 4px rgba(255,255,255,0.3);
  animation: sparkleGlow ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════════
   THUNDER TEXT FLASH OVERLAY
   ═══════════════════════════════════════════════════════════════ */
.thunder-text-flash {
  position: absolute; inset: 0; z-index: 16; pointer-events: none;
  border-radius: 8px;
  animation: thunderTextFlash 32s infinite;
}
@keyframes thunderTextFlash {
  0%,28% { box-shadow: none; background: transparent; }
  30% { background: rgba(255,255,255,0.6); box-shadow: 0 0 45px #f9ca24; }
  31% { background: transparent; }
  32% { background: rgba(255,255,255,0.3); }
  33% { background: transparent; }
  100% { background: transparent; }
}

/* ═══════════════════════════════════════════════════════════════
   ALWAYS-ON MICRO ANIMATIONS — cards never look static
   Every letter constantly moves, glows, shifts
   ═══════════════════════════════════════════════════════════════ */

/* 🔥 FIRE — constant flicker + heat shimmer on EVERY letter */
.flash-card--fire .flash-letter {
  animation: fireLetterBurn 40s ease-in-out infinite,
             fireMicroFlicker 0.8s ease-in-out infinite alternate,
             fireMicroFloat 3s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.1s), calc(var(--i) * 0.12s), calc(var(--i) * 0.2s);
}
@keyframes fireMicroFlicker {
  0% { filter: brightness(1.2) drop-shadow(0 0 10px #ff6600); }
  30% { filter: brightness(1.8) drop-shadow(0 0 18px #ff4500); }
  60% { filter: brightness(1.1) drop-shadow(0 0 8px #ff8800); }
  100% { filter: brightness(1.5) drop-shadow(0 0 14px #ff3300); }
}
@keyframes fireMicroFloat {
  0%,100% { transform: translateY(0); }
  30% { transform: translateY(-2px) rotate(-0.5deg); }
  70% { transform: translateY(1px) rotate(0.3deg); }
}

/* 🌊 OCEAN — constant gentle wave bob on EVERY letter */
.flash-card--ocean .flash-letter {
  animation: oceanLetterCycle 40s ease-in-out infinite,
             oceanMicroBob 2.5s ease-in-out infinite,
             oceanMicroGlow 4s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.15s), calc(var(--i) * 0.2s), calc(var(--i) * 0.3s);
}
@keyframes oceanMicroBob {
  0%,100% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-3px) rotate(-1deg); }
  75% { transform: translateY(2px) rotate(0.5deg); }
}
@keyframes oceanMicroGlow {
  0% { text-shadow: 0 0 20px rgba(0,200,255,0.8), 0 0 40px rgba(0,100,200,0.4); }
  50% { text-shadow: 0 0 45px rgba(0,220,255,1), 0 0 60px rgba(0,150,255,0.7), 0 0 90px rgba(0,100,255,0.3); }
  100% { text-shadow: 0 0 25px rgba(0,180,255,0.9), 0 0 50px rgba(0,120,200,0.5); }
}

/* 💜 NEON — constant tube buzz/flicker */
.flash-card--neon .flash-letter {
  animation: neonLetterCycle 35s infinite,
             neonMicroBuzz 0.12s linear infinite,
             neonMicroPulse 2s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.1s), calc(var(--i) * 0.02s), calc(var(--i) * 0.15s);
}
@keyframes neonMicroBuzz {
  0%,100% { opacity: 1; }
  50% { opacity: 0.92; }
}
@keyframes neonMicroPulse {
  0% { text-shadow: 0 0 10px #ff00ff, 0 0 45px #ff00ff, 0 0 60px rgba(200,0,255,0.5); }
  100% { text-shadow: 0 0 20px #ff00ff, 0 0 50px #ff00ff, 0 0 90px rgba(200,0,255,0.7), 0 0 120px rgba(200,0,255,0.3); }
}

/* ❄️ ICE — constant frost shimmer */
.flash-card--ice .flash-letter {
  animation: iceLetterCycle 40s ease-in-out infinite,
             iceMicroShimmer 3s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.12s), calc(var(--i) * 0.18s);
}
@keyframes iceMicroShimmer {
  0% { text-shadow: 0 0 22px #82ccdd, 0 0 35px rgba(130,204,221,0.6); filter: brightness(1); }
  50% { text-shadow: 0 0 25px #a0e8ff, 0 0 50px rgba(160,232,255,0.8), 0 0 80px rgba(130,204,221,0.3); filter: brightness(1.2); }
  100% { text-shadow: 0 0 18px #82ccdd, 0 0 40px rgba(130,204,221,0.7); filter: brightness(1.05); }
}

/* 🤖 CYBER — constant micro-jitter */
.flash-card--cyber .flash-letter {
  animation: cyberLetterBase 30s infinite,
             cyberMicroJitter 4s steps(8) infinite;
  animation-delay: calc(var(--i) * 0.05s), calc(var(--i) * 0.08s);
}
@keyframes cyberMicroJitter {
  0%,92%,100% { transform: translate(0); }
  93% { transform: translate(-1px, 0); }
  94% { transform: translate(1px, -1px); }
  95% { transform: translate(-1px, 1px); }
  96% { transform: translate(1px, 0); }
}

/* ⚡ THUNDER — constant energy crackle */
.flash-card--thunder .flash-letter {
  animation: thunderLetterCycle 32s ease-in-out infinite,
             thunderMicroCrackle 5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.07s), calc(var(--i) * 0.15s);
}
@keyframes thunderMicroCrackle {
  0%,85%,100% { filter: brightness(1); }
  87% { filter: brightness(1.6); text-shadow: 0 0 25px #f9ca24, 0 0 50px rgba(249,202,36,0.8); }
  89% { filter: brightness(1); }
  91% { filter: brightness(1.3); }
  93% { filter: brightness(1); }
}

/* 💖 LOVE — constant heartbeat scale */
.flash-card--love .flash-letter {
  animation: loveLetterCycle 35s ease-in-out infinite,
             loveMicroHeartbeat 1.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s), calc(var(--i) * 0.06s);
}
@keyframes loveMicroHeartbeat {
  0%,20%,40%,100% { transform: scale(1); }
  10% { transform: scale(1.06); }
  30% { transform: scale(1.04); }
}

/* 👑 GOLD — constant glint sparkle */
.flash-card--gold .flash-letter {
  animation: goldLetterCycle 35s ease-in-out infinite,
             goldMicroGlint 3s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.14s), calc(var(--i) * 0.2s);
}
@keyframes goldMicroGlint {
  0% { text-shadow: 0 0 10px #d4af37, 0 0 25px rgba(212,175,55,0.5); }
  50% { text-shadow: 0 0 18px #f5e6a3, 0 0 40px rgba(245,230,163,0.7), 0 0 60px rgba(212,175,55,0.3); filter: brightness(1.3); }
  100% { text-shadow: 0 0 18px #d4af37, 0 0 45px rgba(212,175,55,0.5); }
}

/* ☢️ TOXIC — constant drip wobble */
.flash-card--toxic .flash-letter {
  animation: toxicLetterMelt 35s ease-in-out infinite,
             toxicMicroDrip 2.5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s), calc(var(--i) * 0.15s);
}
@keyframes toxicMicroDrip {
  0%,100% { transform: translateY(0) scaleY(1); }
  30% { transform: translateY(1px) scaleY(1.02); }
  60% { transform: translateY(-1px) scaleY(0.99); }
}

/* 🩸 BLOOD/GTA — constant menacing pulse */
.flash-card--blood .flash-letter {
  animation: bloodLetterSlam 30s ease-out infinite,
             bloodMicroPulse 2s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.04s), calc(var(--i) * 0.08s);
}
@keyframes bloodMicroPulse {
  0% { text-shadow: 0 0 22px rgba(255,0,0,0.8), 0 0 40px rgba(200,0,0,0.5); }
  100% { text-shadow: 0 0 25px rgba(255,0,0,1), 0 0 60px rgba(200,0,0,0.7), 0 0 90px rgba(255,0,0,0.3); }
}

/* 🌌 AURORA — constant hue drift */
.flash-card--aurora .flash-letter {
  animation: auroraLetterWave 40s ease-in-out infinite,
             auroraMicroHue 6s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.18s), calc(var(--i) * 0.25s);
}
@keyframes auroraMicroHue {
  0% { filter: hue-rotate(0deg); }
  25% { filter: hue-rotate(15deg); }
  50% { filter: hue-rotate(-10deg); }
  75% { filter: hue-rotate(8deg); }
  100% { filter: hue-rotate(0deg); }
}

/* 🪐 COSMIC — constant orbital float */
.flash-card--cosmic .flash-letter {
  animation: cosmicLetterScatter 40s ease-in-out infinite,
             cosmicMicroOrbit 4s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.14s), calc(var(--i) * 0.2s);
}
@keyframes cosmicMicroOrbit {
  0%,100% { transform: translate(0); }
  25% { transform: translate(1px, -2px); }
  50% { transform: translate(-1px, 1px); }
  75% { transform: translate(2px, 1px); }
}

/* 🌸 SAKURA — constant gentle sway */
.flash-card--sakura .flash-letter {
  animation: sakuraLetterDrift 40s ease-in-out infinite,
             sakuraMicroSway 3s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.14s), calc(var(--i) * 0.18s);
}
@keyframes sakuraMicroSway {
  0% { transform: rotate(-1deg) translateY(0); }
  100% { transform: rotate(1deg) translateY(-2px); }
}

/* ⚔️ STEEL — constant industrial vibrate */
.flash-card--steel .flash-letter {
  animation: steelLetterForge 35s ease-in-out infinite,
             steelMicroVibrate 6s steps(6) infinite;
  animation-delay: calc(var(--i) * 0.12s), calc(var(--i) * 0.1s);
}
@keyframes steelMicroVibrate {
  0%,88%,100% { transform: translate(0); }
  90% { transform: translate(0.5px, -0.5px); }
  92% { transform: translate(-0.5px, 0.5px); }
  94% { transform: translate(0.5px, 0); }
}

/* 💚 MATRIX — constant digital pulse (letters handled by JS but add glow pulse) */
.flash-card--matrix .flash-text-stage {
  animation: matrixStageGlow 4s ease-in-out infinite alternate;
}
@keyframes matrixStageGlow {
  0% { filter: brightness(1); }
  50% { filter: brightness(1.15) drop-shadow(0 0 10px rgba(0,255,65,0.2)); }
  100% { filter: brightness(1.05); }
}

/* 🌆 VAPOR — constant retro pulse */
.flash-card--vapor .flash-letter {
  animation: neonLetterCycle 35s infinite,
             vaporMicroRetro 3s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.1s), calc(var(--i) * 0.15s);
}
@keyframes vaporMicroRetro {
  0% { text-shadow: 0 0 18px #e84393, 0 0 45px #a55eea; filter: hue-rotate(0deg); }
  100% { text-shadow: 0 0 18px #fd79a8, 0 0 45px #6c5ce7, 0 0 70px rgba(108,92,231,0.3); filter: hue-rotate(10deg); }
}

/* 🌙 MIDNIGHT — constant star twinkle */
.flash-card--midnight .flash-letter {
  animation: auroraLetterWave 45s ease-in-out infinite,
             midnightMicroTwinkle 4s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.18s), calc(var(--i) * 0.22s);
}
@keyframes midnightMicroTwinkle {
  0% { text-shadow: 0 0 18px #686de0; opacity: 0.9; }
  100% { text-shadow: 0 0 22px #686de0, 0 0 45px rgba(104,109,224,0.5); opacity: 1; }
}

/* 🍭 CANDY — constant bounce */
.flash-card--candy .flash-letter {
  animation: loveLetterCycle 35s ease-in-out infinite,
             candyMicroBounce 2s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.1s), calc(var(--i) * 0.12s);
}
@keyframes candyMicroBounce {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

/* 💎 EMERALD — constant gem flash */
.flash-card--emerald .flash-letter {
  animation: goldLetterCycle 35s ease-in-out infinite,
             emeraldMicroFlash 3.5s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.12s), calc(var(--i) * 0.2s);
}
@keyframes emeraldMicroFlash {
  0% { text-shadow: 0 0 18px #00b894, 0 0 45px rgba(0,184,148,0.5); }
  100% { text-shadow: 0 0 20px #55efc4, 0 0 50px rgba(85,239,196,0.7), 0 0 80px rgba(0,184,148,0.3); filter: brightness(1.15); }
}

/* 💠 CRYSTAL — constant prismatic shift */
.flash-card--crystal .flash-letter {
  animation: iceLetterCycle 40s ease-in-out infinite,
             crystalMicroPrism 5s ease-in-out infinite;
  animation-delay: calc(var(--i) * 0.12s), calc(var(--i) * 0.2s);
}
@keyframes crystalMicroPrism {
  0% { filter: hue-rotate(0deg) brightness(1); }
  25% { filter: hue-rotate(8deg) brightness(1.1); }
  50% { filter: hue-rotate(-5deg) brightness(1.15); }
  75% { filter: hue-rotate(5deg) brightness(1.05); }
  100% { filter: hue-rotate(0deg) brightness(1); }
}

/* 🌅 SUNSET — constant warm shimmer */
.flash-card--sunset .flash-letter {
  animation: fireLetterBurn 45s ease-in-out infinite,
             sunsetMicroWarm 3s ease-in-out infinite alternate;
  animation-delay: calc(var(--i) * 0.12s), calc(var(--i) * 0.15s);
}
@keyframes sunsetMicroWarm {
  0% { text-shadow: 0 0 22px #fdcb6e, 0 0 45px #e84393; color: #fff; }
  100% { text-shadow: 0 0 22px #ff9f43, 0 0 45px #e84393, 0 0 70px rgba(253,203,110,0.4); color: #fff8e0; }
}

/* ═══════════════════════════════════════════════════════════════
   CONSTANT BACKGROUND MICRO-ANIMATIONS (always alive)
   ═══════════════════════════════════════════════════════════════ */

/* Fire: constant pulsing inner glow */
.flash-card--fire::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: 22px;
  background: radial-gradient(ellipse at 50% 85%, rgba(255,80,0,0.25), transparent 60%);
  animation: fireInnerPulse 2s ease-in-out infinite alternate;
}
@keyframes fireInnerPulse {
  0% { opacity: 0.5; } 100% { opacity: 1; }
}

/* Ocean: constant ripple */
.flash-card--ocean::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: 22px;
  background: radial-gradient(ellipse at 50% 70%, rgba(0,150,255,0.15), transparent 50%);
  animation: oceanRipple 3s ease-in-out infinite;
}
@keyframes oceanRipple {
  0%,100% { transform: scale(1); opacity: 0.5; }
  50% { transform: scale(1.08); opacity: 0.8; }
}

/* Neon: constant tube hum glow */
.flash-card--neon::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: 22px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,0,255,0.08), transparent 50%);
  animation: neonHum 1.5s ease-in-out infinite alternate;
}
@keyframes neonHum { 0% { opacity: 0.3; } 100% { opacity: 0.7; } }

/* Blood: constant dark pulse */
.flash-card--blood::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: 22px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255,0,0,0.08), transparent 60%);
  animation: bloodDarkPulse 2.5s ease-in-out infinite alternate;
}
@keyframes bloodDarkPulse { 0% { opacity: 0.3; } 100% { opacity: 0.8; } }

/* Gold: constant warm glow */
.flash-card--gold::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: 22px;
  background: radial-gradient(ellipse at 50% 50%, rgba(212,175,55,0.1), transparent 50%);
  animation: goldWarmGlow 3s ease-in-out infinite alternate;
}
@keyframes goldWarmGlow { 0% { opacity: 0.3; } 100% { opacity: 0.7; } }

/* Toxic: constant radiation pulse */
.flash-card--toxic::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  border-radius: 22px;
  background: radial-gradient(ellipse at 50% 70%, rgba(57,255,20,0.1), transparent 50%);
  animation: toxicRadiation 2s ease-in-out infinite;
}
@keyframes toxicRadiation {
  0%,100% { transform: scale(1); opacity: 0.4; }
  50% { transform: scale(1.05); opacity: 0.8; }
}

/* =========================================================
   PREMIUM DIGITAL BRAND CHARACTER ENGINE (Web3 & Geometric)
   ========================================================= */

/* -------------------
   1. CORE BASE SHAPES
   ------------------- */
.char-shape-circle {
    border-radius: 50%;
}
.char-shape-squircle {
    border-radius: 30%; /* Soft square approximation */
}
.char-shape-teardrop {
    border-radius: 50% 50% 50% 10%;
    transform: rotate(45deg);
}
.char-shape-teardrop > * {
    transform: rotate(-45deg); /* Counter-rotate inner content */
}
.char-shape-blob {
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    animation: blobMorph 5s ease-in-out infinite alternate;
}
.char-shape-blob-2 {
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    animation: blobMorph2 6s ease-in-out infinite alternate;
}
.char-shape-diamond {
    transform: rotate(45deg);
    border-radius: 15%;
}
.char-shape-diamond > * {
    transform: rotate(-45deg);
}
.char-shape-hexagon {
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}
.char-shape-pill {
    border-radius: 9999px;
}
.char-shape-shield {
    clip-path: polygon(50% 0%, 100% 0, 100% 60%, 50% 100%, 0 60%, 0 0);
}

/* -------------------
   2. SHAPE MORPHING
   ------------------- */
@keyframes blobMorph {
    0% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
    100% { border-radius: 60% 40% 30% 70% / 50% 60% 40% 50%; }
}
@keyframes blobMorph2 {
    0% { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }
    100% { border-radius: 40% 60% 70% 30% / 50% 60% 40% 50%; }
}

/* -------------------
   3. MOTION LANGUAGES
   ------------------- */
.char-motion-float {
    animation: floatMotion 4s ease-in-out infinite;
}
@keyframes floatMotion {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}

.char-motion-breathe {
    animation: breatheMotion 3.5s ease-in-out infinite;
}
@keyframes breatheMotion {
    0% { transform: scale(1); }
    50% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

.char-motion-wobble {
    animation: wobbleMotion 5s ease-in-out infinite;
}
@keyframes wobbleMotion {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(5deg); }
    75% { transform: rotate(-5deg); }
    100% { transform: rotate(0deg); }
}

.char-motion-bounce-soft {
    animation: bounceSoft 2s cubic-bezier(0.28, 0.84, 0.42, 1) infinite;
}
@keyframes bounceSoft {
    0%, 100% { transform: translateY(0) scaleY(1); }
    50% { transform: translateY(-10px) scaleY(1.05); }
}

.char-motion-pulse-fast {
    animation: pulseFast 1.5s ease-in-out infinite;
}
@keyframes pulseFast {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.char-motion-flicker {
    animation: flickerMotion 4s linear infinite;
}
@keyframes flickerMotion {
    0%, 100% { opacity: 1; filter: brightness(1); }
    92% { opacity: 1; filter: brightness(1); }
    93% { opacity: 0.8; filter: brightness(1.5); }
    94% { opacity: 1; filter: brightness(1); }
    97% { opacity: 0.9; filter: brightness(1.2); }
    98% { opacity: 1; filter: brightness(1); }
}

.char-motion-spin-slow {
    animation: spinSlow 12s linear infinite;
}
@keyframes spinSlow {
    100% { transform: rotate(360deg); }
}

.char-motion-hover-sway {
    animation: hoverSway 6s ease-in-out infinite;
}
@keyframes hoverSway {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(3px, -4px) rotate(2deg); }
    75% { transform: translate(-3px, -2px) rotate(-2deg); }
}

/* -------------------
   4. PREMIUM VFX (Visual Effects)
   ------------------- */

.char-vfx-bloom {
    box-shadow: 0 0 20px 5px currentColor;
    filter: drop-shadow(0 0 10px currentColor);
}

.char-vfx-neon {
    border: 2px solid #fff;
    box-shadow: 0 0 10px currentColor, inset 0 0 15px currentColor;
}

.char-vfx-glass {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2), inset 0 2px 4px rgba(255,255,255,0.4);
}

.char-vfx-iridescent {
    background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 25%, #a1c4fd 50%, #c2e9fb 75%, #ffb199 100%) !important;
    background-size: 300% 300% !important;
    animation: gradientFlow 8s ease infinite;
    box-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
}
@keyframes gradientFlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.char-vfx-shimmer {
    position: relative;
    overflow: hidden;
}
.char-vfx-shimmer::after {
    content: '';
    position: absolute;
    top: 0; left: -100%;
    width: 50%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
    transform: skewX(-20deg);
    animation: shimmerSlide 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes shimmerSlide {
    100% { left: 200%; }
}

.char-vfx-aura-pulse {
    position: relative;
}
.char-vfx-aura-pulse::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: inherit;
    background: inherit;
    filter: blur(10px);
    opacity: 0.6;
    animation: auraPulse 3s ease-in-out infinite;
    z-index: -1;
}
@keyframes auraPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.2); opacity: 0.8; }
}

.char-vfx-inner-glow {
    box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.8), 0 4px 10px rgba(0,0,0,0.3);
}

/* -------------------
   5. FACE / ENTITY / IMAGE STYLES
   ------------------- */
.char-entity-wrapper {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
}

.char-cutout-effect {
    filter: contrast(1.15) brightness(1.1) drop-shadow(0 20px 30px rgba(0,0,0,0.6));
    /* Removed mask-image to prevent avatar from getting clipped or fading out */
}

/* Eyes / Minimal Geometry Faces */
.face-headspace-eyes {
    display: flex;
    gap: 8px;
}
.face-eye-dot {
    width: 6px;
    height: 6px;
    background: #111;
    border-radius: 50%;
    animation: blinkMinimal 4s infinite;
}
.face-eye-dot-white {
    width: 6px;
    height: 6px;
    background: #fff;
    border-radius: 50%;
    animation: blinkMinimal 4s infinite;
}
@keyframes blinkMinimal {
    0%, 96%, 98%, 100% { transform: scaleY(1); }
    97% { transform: scaleY(0.1); }
}

.face-cyclops {
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    border: 3px solid #111;
    animation: lookAround 6s infinite;
}
@keyframes lookAround {
    0%, 100% { transform: translate(0, 0); }
    25% { transform: translate(3px, 0); }
    30% { transform: translate(3px, 0); }
    50% { transform: translate(-3px, 0); }
    55% { transform: translate(-3px, 0); }
}

.face-zen-smile {
    width: 20px;
    border-bottom: 2px solid #111;
    border-radius: 0 0 20px 20px;
    height: 10px;
    animation: smileWobble 4s infinite alternate;
}
@keyframes smileWobble {
    0% { transform: rotate(-5deg); }
    100% { transform: rotate(5deg); }
}

/* -------------------
   MARKETPLACE EXPANSION: NEW MOTIONS
   ------------------- */
.char-motion-float-fast {
    animation: floatFast 2s ease-in-out infinite;
}
@keyframes floatFast {
    0% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
    100% { transform: translateY(0); }
}

.char-motion-shake-aggressive {
    animation: shakeAggressive 0.4s ease-in-out infinite;
}
@keyframes shakeAggressive {
    0%, 100% { transform: translate(0, 0) rotate(0); }
    25% { transform: translate(2px, -2px) rotate(3deg); }
    50% { transform: translate(-2px, 2px) rotate(-3deg); }
    75% { transform: translate(2px, 2px) rotate(1deg); }
}

.char-motion-ninja-dash {
    animation: ninjaDash 4s cubic-bezier(0.175, 0.885, 0.32, 1.275) infinite;
}
@keyframes ninjaDash {
    0%, 80%, 100% { transform: translateX(0) scale(1) skewX(0); filter: blur(0); }
    85% { transform: translateX(30px) scale(0.8) skewX(-20deg); filter: blur(3px); }
    90% { transform: translateX(-30px) scale(0.8) skewX(20deg); filter: blur(3px); }
}

/* -------------------
   MARKETPLACE EXPANSION: PREMIUM VFX
   ------------------- */

.char-vfx-luxury-gold {
    background: linear-gradient(135deg, #FFDF73 0%, #D4AF37 25%, #FFF0B3 50%, #B8860B 75%, #F0E68C 100%) !important;
    background-size: 200% 200% !important;
    animation: gradientFlow 4s ease infinite;
    box-shadow: 0 0 25px rgba(212, 175, 55, 0.6), inset 0 0 10px rgba(255,255,255,0.8);
    border: 2px solid #FFEA8C;
}

.char-vfx-glitch-rogue {
    position: relative;
    box-shadow: -4px 0 10px rgba(255, 0, 50, 0.6), 4px 0 10px rgba(0, 255, 200, 0.6);
    animation: glitchBox 2s infinite;
}
@keyframes glitchBox {
    0%, 96%, 100% { transform: translate(0, 0); }
    97% { transform: translate(-2px, 2px); filter: hue-rotate(90deg); }
    98% { transform: translate(2px, -2px); filter: invert(0.2); }
    99% { transform: translate(-1px, -1px); }
}

.char-vfx-shadow-aura {
    box-shadow: 0 0 35px 5px rgba(0, 0, 0, 0.9);
    filter: drop-shadow(0 0 15px rgba(20, 0, 40, 0.8));
    border: 1px solid rgba(138, 43, 226, 0.3);
}

.char-vfx-plasma-fire {
    position: relative;
}
.char-vfx-plasma-fire::before {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: inherit;
    background: linear-gradient(0deg, #ff0055, #ffaa00);
    filter: blur(15px);
    opacity: 0.8;
    z-index: -1;
    animation: plasmaFlicker 1s infinite alternate;
}
@keyframes plasmaFlicker {
    0% { transform: scale(1) translateY(0); opacity: 0.7; }
    100% { transform: scale(1.1) translateY(-4px); opacity: 1; }
}

.char-vfx-neon-outline {
    border: 3px solid transparent;
    background-clip: padding-box;
    position: relative;
}
.char-vfx-neon-outline::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: inherit;
    z-index: -1;
    background: linear-gradient(90deg, #00ffff, #ff00ff, #00ffff);
    background-size: 200% 100%;
    animation: neonBorderFlow 2s linear infinite;
    filter: drop-shadow(0 0 10px rgba(0, 255, 255, 0.8));
}
@keyframes neonBorderFlow {
    100% { background-position: -200% 0; }
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 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:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 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:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

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

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

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

/*
Remove the default font size and weight for headings.
*/

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

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

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

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

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

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

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

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

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

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

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

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

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

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

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

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

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

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

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

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

/*
Set the default cursor for buttons.
*/

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

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
  :root {
    --tg-bg: #07101f;
    --tg-bg-secondary: #07101f;
    --tg-text: #f8fafc;
    --tg-hint: #94a3b8;
    --tg-link: #06b6d4;
    --tg-button: #7e22ce;
    --tg-button-text: #ffffff;
    --tg-accent: #06b6d4;
    --glow-spread: 0 8px 30px rgba(6, 182, 212, 0.15);

    /* Neon System Colors */
    --neon-blue: #0ea5e9;
    --neon-cyan: #06b6d4;
    --neon-violet: #8b5cf6;
    --neon-magenta: #d946ef;
    --neon-gold: #fbbf24;
    --neon-red: #ef4444;
    --neon-green: #10b981;

    /* ── AppShell Layout Variables ──
       SINGLE SOURCE OF TRUTH for all layout geometry.
       --app-height, --shell-top, --safe-bottom are set at runtime by useSafeArea.ts.
       --app-header-height and --bottom-nav-height are constants. */
    --app-height: 100dvh;
    --shell-top: 0px;
    --safe-top: 0px;
    --safe-bottom: 0px;
    --app-header-height: 72px;
    --bottom-nav-height: 78px;
  }
.container {
  width: 100%;
}
@media (min-width: 640px) {

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

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

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

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

  .container {
    max-width: 1536px;
  }
}
/* 
    ============= 1. TYPOGRAPHY & LAYOUT =============
  */
.tg-title {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.025em;
  color: var(--tg-text);
}
.tg-sub {
  font-size: 14px;
  font-weight: 500;
  color: var(--tg-hint);
}
/* 
    ============= 2. BUTTONS (Premium Neon Glass) =============
  */
/* Thin Cyber Outline for Buttons */
/* 
    ============= 3. PANELS & SHEETS (System Panels) =============
  */
.neon-sheet, .tg-panel {
  position: relative;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
    background: rgba(15, 23, 42, 0.6); /* Cleaner dark surface */
    border-radius: 20px;
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.05); /* Thin crisp border */
    box-shadow: 0 4px 20px rgba(0,0,0,0.4); /* Elevation only, no glow */
    overflow: hidden;
}
/*
    ============= 3.5. CYBER LIST BUTTONS (Unified Premium Style) =============
  */
.cyber-list-btn {
  position: relative;
  margin-bottom: 0.5rem;
  display: flex;
  width: 100%;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  padding: 1rem;
  text-align: left;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
    background: rgba(15, 23, 42, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}
.cyber-list-btn::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 0%;
    background: var(--neon-cyan);
    transition: height 0.3s ease;
    border-radius: 0 4px 4px 0;
    box-shadow: 0 0 8px var(--neon-cyan);
  }
.cyber-list-btn:hover {
    background: rgba(30, 41, 59, 0.8);
    border-color: rgba(6, 182, 212, 0.2);
  }
.cyber-list-btn:hover::before {
    height: 50%;
  }
.cyber-list-btn:active {
    transform: scale(0.98);
  }
.cyber-list-btn .icon-box {
  display: flex;
  height: 2.5rem;
  width: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  border-width: 1px;
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
}
.cyber-list-btn:hover .icon-box {
    transform: scale(1.05);
  }
/* 
    ============= 4. CTA CARDS =============
  */
.neon-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 8px 25px rgba(0,0,0,0.5);
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.neon-card:hover {
    box-shadow: 0 10px 28px rgba(0,0,0,0.6);
    transform: translateY(-1px);
  }
/* Thin flowing sci-fi border */
/* 
    ============= 5. MAP FLOATING CONTROLS =============
  */
/* 
    ============= 6. SCANNING MATRIX ORB =============
  */
/* Pulse Rings */
/* Particles / Grid Lines bg for orb */
.pointer-events-none {
  pointer-events: none;
}
.pointer-events-auto {
  pointer-events: auto;
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.-inset-1 {
  inset: -0.25rem;
}
.-inset-10 {
  inset: -2.5rem;
}
.-inset-2 {
  inset: -0.5rem;
}
.-inset-4 {
  inset: -1rem;
}
.-inset-\[3px\] {
  inset: -3px;
}
.-inset-full {
  inset: -100%;
}
.inset-0 {
  inset: 0px;
}
.inset-1 {
  inset: 0.25rem;
}
.inset-4 {
  inset: 1rem;
}
.inset-8 {
  inset: 2rem;
}
.inset-\[-10px\] {
  inset: -10px;
}
.inset-\[-20px\] {
  inset: -20px;
}
.inset-\[-50\%\] {
  inset: -50%;
}
.inset-\[30px\] {
  inset: 30px;
}
.-inset-x-2 {
  left: -0.5rem;
  right: -0.5rem;
}
.-inset-y-2 {
  top: -0.5rem;
  bottom: -0.5rem;
}
.inset-x-0 {
  left: 0px;
  right: 0px;
}
.inset-x-1\.5 {
  left: 0.375rem;
  right: 0.375rem;
}
.inset-x-4 {
  left: 1rem;
  right: 1rem;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.inset-y-1 {
  top: 0.25rem;
  bottom: 0.25rem;
}
.-bottom-0\.5 {
  bottom: -0.125rem;
}
.-bottom-1 {
  bottom: -0.25rem;
}
.-bottom-1\.5 {
  bottom: -0.375rem;
}
.-bottom-12 {
  bottom: -3rem;
}
.-bottom-2 {
  bottom: -0.5rem;
}
.-bottom-5 {
  bottom: -1.25rem;
}
.-bottom-6 {
  bottom: -1.5rem;
}
.-bottom-8 {
  bottom: -2rem;
}
.-bottom-\[20\%\] {
  bottom: -20%;
}
.-left-2 {
  left: -0.5rem;
}
.-left-\[20\%\] {
  left: -20%;
}
.-left-\[50\%\] {
  left: -50%;
}
.-right-0\.5 {
  right: -0.125rem;
}
.-right-1 {
  right: -0.25rem;
}
.-right-1\.5 {
  right: -0.375rem;
}
.-right-10 {
  right: -2.5rem;
}
.-right-2 {
  right: -0.5rem;
}
.-right-2\.5 {
  right: -0.625rem;
}
.-right-3 {
  right: -0.75rem;
}
.-right-6 {
  right: -1.5rem;
}
.-right-8 {
  right: -2rem;
}
.-right-\[20\%\] {
  right: -20%;
}
.-top-0\.5 {
  top: -0.125rem;
}
.-top-1 {
  top: -0.25rem;
}
.-top-1\.5 {
  top: -0.375rem;
}
.-top-10 {
  top: -2.5rem;
}
.-top-12 {
  top: -3rem;
}
.-top-14 {
  top: -3.5rem;
}
.-top-16 {
  top: -4rem;
}
.-top-2 {
  top: -0.5rem;
}
.-top-3 {
  top: -0.75rem;
}
.-top-4 {
  top: -1rem;
}
.-top-5 {
  top: -1.25rem;
}
.-top-8 {
  top: -2rem;
}
.-top-\[100vh\] {
  top: -100vh;
}
.-top-\[30\%\] {
  top: -30%;
}
.-top-\[50\%\] {
  top: -50%;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-1 {
  bottom: 0.25rem;
}
.bottom-1\.5 {
  bottom: 0.375rem;
}
.bottom-10 {
  bottom: 2.5rem;
}
.bottom-2 {
  bottom: 0.5rem;
}
.bottom-24 {
  bottom: 6rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-32 {
  bottom: 8rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-6 {
  bottom: 1.5rem;
}
.bottom-8 {
  bottom: 2rem;
}
.bottom-\[-10\%\] {
  bottom: -10%;
}
.bottom-\[-15\%\] {
  bottom: -15%;
}
.bottom-\[-20px\] {
  bottom: -20px;
}
.bottom-\[-30px\] {
  bottom: -30px;
}
.bottom-\[-60px\] {
  bottom: -60px;
}
.bottom-\[0\%\] {
  bottom: 0%;
}
.bottom-\[100px\] {
  bottom: 100px;
}
.bottom-\[105px\] {
  bottom: 105px;
}
.bottom-\[110px\] {
  bottom: 110px;
}
.bottom-\[120px\] {
  bottom: 120px;
}
.bottom-\[20\%\] {
  bottom: 20%;
}
.bottom-\[25\%\] {
  bottom: 25%;
}
.bottom-\[2px\] {
  bottom: 2px;
}
.bottom-\[30\%\] {
  bottom: 30%;
}
.bottom-\[80px\] {
  bottom: 80px;
}
.bottom-\[calc\(env\(safe-area-inset-bottom\)\+6rem\)\] {
  bottom: calc(env(safe-area-inset-bottom) + 6rem);
}
.bottom-\[calc\(env\(safe-area-inset-bottom\2c 0px\)\)\] {
  bottom: calc(env(safe-area-inset-bottom,0px));
}
.bottom-\[calc\(env\(safe-area-inset-bottom\2c 24px\)\+100px\)\] {
  bottom: calc(env(safe-area-inset-bottom,24px) + 100px);
}
.bottom-full {
  bottom: 100%;
}
.left-0 {
  left: 0px;
}
.left-0\.5 {
  left: 0.125rem;
}
.left-1 {
  left: 0.25rem;
}
.left-1\.5 {
  left: 0.375rem;
}
.left-1\/2 {
  left: 50%;
}
.left-1\/3 {
  left: 33.333333%;
}
.left-2 {
  left: 0.5rem;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-3\.5 {
  left: 0.875rem;
}
.left-4 {
  left: 1rem;
}
.left-5 {
  left: 1.25rem;
}
.left-6 {
  left: 1.5rem;
}
.left-\[-10\%\] {
  left: -10%;
}
.left-\[-15\%\] {
  left: -15%;
}
.left-\[-30px\] {
  left: -30px;
}
.left-\[0\%\] {
  left: 0%;
}
.left-\[10\%\] {
  left: 10%;
}
.left-\[12\%\] {
  left: 12%;
}
.left-\[12px\] {
  left: 12px;
}
.left-\[15\%\] {
  left: 15%;
}
.left-\[18px\] {
  left: 18px;
}
.left-\[20\%\] {
  left: 20%;
}
.left-\[22px\] {
  left: 22px;
}
.left-\[25px\] {
  left: 25px;
}
.left-\[26px\] {
  left: 26px;
}
.left-\[2px\] {
  left: 2px;
}
.left-\[30\%\] {
  left: 30%;
}
.left-\[3px\] {
  left: 3px;
}
.left-\[40\%\] {
  left: 40%;
}
.left-\[45\%\] {
  left: 45%;
}
.left-\[50\%\] {
  left: 50%;
}
.left-\[54px\] {
  left: 54px;
}
.left-\[55\%\] {
  left: 55%;
}
.left-\[60\%\] {
  left: 60%;
}
.left-\[8\%\] {
  left: 8%;
}
.left-\[80\%\] {
  left: 80%;
}
.right-0 {
  right: 0px;
}
.right-0\.5 {
  right: 0.125rem;
}
.right-1 {
  right: 0.25rem;
}
.right-1\.5 {
  right: 0.375rem;
}
.right-1\/4 {
  right: 25%;
}
.right-2 {
  right: 0.5rem;
}
.right-2\.5 {
  right: 0.625rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-5 {
  right: 1.25rem;
}
.right-6 {
  right: 1.5rem;
}
.right-8 {
  right: 2rem;
}
.right-\[-10\%\] {
  right: -10%;
}
.right-\[-15\%\] {
  right: -15%;
}
.right-\[-20px\] {
  right: -20px;
}
.right-\[-80px\] {
  right: -80px;
}
.right-\[0\%\] {
  right: 0%;
}
.right-\[10\%\] {
  right: 10%;
}
.right-\[12px\] {
  right: 12px;
}
.right-\[20\%\] {
  right: 20%;
}
.right-\[25\%\] {
  right: 25%;
}
.right-\[30\%\] {
  right: 30%;
}
.right-\[50px\] {
  right: 50px;
}
.right-\[55px\] {
  right: 55px;
}
.top-0 {
  top: 0px;
}
.top-0\.5 {
  top: 0.125rem;
}
.top-1 {
  top: 0.25rem;
}
.top-1\.5 {
  top: 0.375rem;
}
.top-1\/2 {
  top: 50%;
}
.top-1\/3 {
  top: 33.333333%;
}
.top-10 {
  top: 2.5rem;
}
.top-12 {
  top: 3rem;
}
.top-14 {
  top: 3.5rem;
}
.top-16 {
  top: 4rem;
}
.top-2 {
  top: 0.5rem;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-24 {
  top: 6rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-5 {
  top: 1.25rem;
}
.top-6 {
  top: 1.5rem;
}
.top-8 {
  top: 2rem;
}
.top-\[-10\%\] {
  top: -10%;
}
.top-\[-15\%\] {
  top: -15%;
}
.top-\[-20\%\] {
  top: -20%;
}
.top-\[-40px\] {
  top: -40px;
}
.top-\[-50\%\] {
  top: -50%;
}
.top-\[-80px\] {
  top: -80px;
}
.top-\[10\%\] {
  top: 10%;
}
.top-\[100px\] {
  top: 100px;
}
.top-\[12\%\] {
  top: 12%;
}
.top-\[140px\] {
  top: 140px;
}
.top-\[15\%\] {
  top: 15%;
}
.top-\[2\%\] {
  top: 2%;
}
.top-\[20\%\] {
  top: 20%;
}
.top-\[22\%\] {
  top: 22%;
}
.top-\[2px\] {
  top: 2px;
}
.top-\[30\%\] {
  top: 30%;
}
.top-\[3px\] {
  top: 3px;
}
.top-\[40\%\] {
  top: 40%;
}
.top-\[40px\] {
  top: 40px;
}
.top-\[48\%\] {
  top: 48%;
}
.top-\[5\%\] {
  top: 5%;
}
.top-\[50\%\] {
  top: 50%;
}
.top-\[55\%\] {
  top: 55%;
}
.top-\[60\%\] {
  top: 60%;
}
.top-\[90px\] {
  top: 90px;
}
.top-\[calc\(env\(safe-area-inset-top\2c 0px\)\+8px\)\] {
  top: calc(env(safe-area-inset-top,0px) + 8px);
}
.top-\[calc\(env\(safe-area-inset-top\2c 12px\)\+100px\)\] {
  top: calc(env(safe-area-inset-top,12px) + 100px);
}
.top-\[calc\(env\(safe-area-inset-top\2c 12px\)\+240px\)\] {
  top: calc(env(safe-area-inset-top,12px) + 240px);
}
.top-\[calc\(var\(--tg-safe-top\2c 12px\)\+12px\)\] {
  top: calc(var(--tg-safe-top,12px) + 12px);
}
.top-\[calc\(var\(--tg-safe-top\2c 12px\)\+8px\)\] {
  top: calc(var(--tg-safe-top,12px) + 8px);
}
.top-\[env\(safe-area-inset-top\2c 0px\)\] {
  top: env(safe-area-inset-top,0px);
}
.top-\[env\(safe-area-inset-top\2c 24px\)\] {
  top: env(safe-area-inset-top,24px);
}
.top-full {
  top: 100%;
}
.isolate {
  isolation: isolate;
}
.-z-10 {
  z-index: -10;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-30 {
  z-index: 30;
}
.z-40 {
  z-index: 40;
}
.z-50 {
  z-index: 50;
}
.z-\[-1\] {
  z-index: -1;
}
.z-\[1000\] {
  z-index: 1000;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[101\] {
  z-index: 101;
}
.z-\[110\] {
  z-index: 110;
}
.z-\[120\] {
  z-index: 120;
}
.z-\[130\] {
  z-index: 130;
}
.z-\[140\] {
  z-index: 140;
}
.z-\[200\] {
  z-index: 200;
}
.z-\[55\] {
  z-index: 55;
}
.z-\[5\] {
  z-index: 5;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[70\] {
  z-index: 70;
}
.z-\[80\] {
  z-index: 80;
}
.z-\[9999\] {
  z-index: 9999;
}
.z-\[999\] {
  z-index: 999;
}
.col-span-2 {
  grid-column: span 2 / span 2;
}
.col-span-full {
  grid-column: 1 / -1;
}
.m-0 {
  margin: 0px;
}
.m-3 {
  margin: 0.75rem;
}
.-mx-1 {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-4 {
  margin-left: -1rem;
  margin-right: -1rem;
}
.mx-4 {
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
.my-2 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.my-8 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.-mr-4 {
  margin-right: -1rem;
}
.-mt-0\.5 {
  margin-top: -0.125rem;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.-mt-1\.5 {
  margin-top: -0.375rem;
}
.-mt-12 {
  margin-top: -3rem;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.-mt-4 {
  margin-top: -1rem;
}
.mb-0 {
  margin-bottom: 0px;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-12 {
  margin-bottom: 3rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-3\.5 {
  margin-bottom: 0.875rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-7 {
  margin-bottom: 1.75rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.mb-\[92px\] {
  margin-bottom: 92px;
}
.mb-\[96px\] {
  margin-bottom: 96px;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-1 {
  margin-left: 0.25rem;
}
.ml-1\.5 {
  margin-left: 0.375rem;
}
.ml-2 {
  margin-left: 0.5rem;
}
.ml-\[46px\] {
  margin-left: 46px;
}
.ml-\[50px\] {
  margin-left: 50px;
}
.ml-\[52px\] {
  margin-left: 52px;
}
.ml-auto {
  margin-left: auto;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-1\.5 {
  margin-right: 0.375rem;
}
.mr-2 {
  margin-right: 0.5rem;
}
.mr-3 {
  margin-right: 0.75rem;
}
.mr-4 {
  margin-right: 1rem;
}
.mr-6 {
  margin-right: 1.5rem;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-20 {
  margin-top: 5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-3\.5 {
  margin-top: 0.875rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-\[-8px\] {
  margin-top: -8px;
}
.mt-auto {
  margin-top: auto;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.aspect-square {
  aspect-ratio: 1 / 1;
}
.h-0\.5 {
  height: 0.125rem;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-2 {
  height: 0.5rem;
}
.h-2\.5 {
  height: 0.625rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-28 {
  height: 7rem;
}
.h-3 {
  height: 0.75rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-32 {
  height: 8rem;
}
.h-36 {
  height: 9rem;
}
.h-4 {
  height: 1rem;
}
.h-40 {
  height: 10rem;
}
.h-44 {
  height: 11rem;
}
.h-48 {
  height: 12rem;
}
.h-5 {
  height: 1.25rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-64 {
  height: 16rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[0\.5px\] {
  height: 0.5px;
}
.h-\[100dvh\] {
  height: 100dvh;
}
.h-\[100px\] {
  height: 100px;
}
.h-\[100vh\] {
  height: 100vh;
}
.h-\[120\%\] {
  height: 120%;
}
.h-\[120px\] {
  height: 120px;
}
.h-\[140px\] {
  height: 140px;
}
.h-\[150\%\] {
  height: 150%;
}
.h-\[160px\] {
  height: 160px;
}
.h-\[16px\] {
  height: 16px;
}
.h-\[180px\] {
  height: 180px;
}
.h-\[18px\] {
  height: 18px;
}
.h-\[1px\] {
  height: 1px;
}
.h-\[20\%\] {
  height: 20%;
}
.h-\[200\%\] {
  height: 200%;
}
.h-\[200px\] {
  height: 200px;
}
.h-\[200vh\] {
  height: 200vh;
}
.h-\[20px\] {
  height: 20px;
}
.h-\[220px\] {
  height: 220px;
}
.h-\[240px\] {
  height: 240px;
}
.h-\[24px\] {
  height: 24px;
}
.h-\[25\%\] {
  height: 25%;
}
.h-\[250px\] {
  height: 250px;
}
.h-\[26px\] {
  height: 26px;
}
.h-\[28px\] {
  height: 28px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[30\%\] {
  height: 30%;
}
.h-\[300px\] {
  height: 300px;
}
.h-\[30px\] {
  height: 30px;
}
.h-\[320px\] {
  height: 320px;
}
.h-\[34px\] {
  height: 34px;
}
.h-\[35px\] {
  height: 35px;
}
.h-\[40\%\] {
  height: 40%;
}
.h-\[400px\] {
  height: 400px;
}
.h-\[40px\] {
  height: 40px;
}
.h-\[40vh\] {
  height: 40vh;
}
.h-\[40vw\] {
  height: 40vw;
}
.h-\[42px\] {
  height: 42px;
}
.h-\[44px\] {
  height: 44px;
}
.h-\[48px\] {
  height: 48px;
}
.h-\[50\%\] {
  height: 50%;
}
.h-\[500px\] {
  height: 500px;
}
.h-\[50px\] {
  height: 50px;
}
.h-\[50vw\] {
  height: 50vw;
}
.h-\[55\%\] {
  height: 55%;
}
.h-\[56px\] {
  height: 56px;
}
.h-\[5px\] {
  height: 5px;
}
.h-\[60\%\] {
  height: 60%;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[60vh\] {
  height: 60vh;
}
.h-\[60vw\] {
  height: 60vw;
}
.h-\[64px\] {
  height: 64px;
}
.h-\[70\%\] {
  height: 70%;
}
.h-\[70px\] {
  height: 70px;
}
.h-\[70vh\] {
  height: 70vh;
}
.h-\[70vw\] {
  height: 70vw;
}
.h-\[72px\] {
  height: 72px;
}
.h-\[75vh\] {
  height: 75vh;
}
.h-\[80px\] {
  height: 80px;
}
.h-\[80vw\] {
  height: 80vw;
}
.h-\[84px\] {
  height: 84px;
}
.h-\[88px\] {
  height: 88px;
}
.h-\[calc\(env\(safe-area-inset-bottom\2c 0px\)\+64px\)\] {
  height: calc(env(safe-area-inset-bottom,0px) + 64px);
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.h-screen {
  height: 100vh;
}
.max-h-40 {
  max-height: 10rem;
}
.max-h-60 {
  max-height: 15rem;
}
.max-h-\[150px\] {
  max-height: 150px;
}
.max-h-\[200px\] {
  max-height: 200px;
}
.max-h-\[250px\] {
  max-height: 250px;
}
.max-h-\[300px\] {
  max-height: 300px;
}
.max-h-\[380px\] {
  max-height: 380px;
}
.max-h-\[45vh\] {
  max-height: 45vh;
}
.max-h-\[50vh\] {
  max-height: 50vh;
}
.max-h-\[52px\] {
  max-height: 52px;
}
.max-h-\[60vh\] {
  max-height: 60vh;
}
.max-h-\[75vh\] {
  max-height: 75vh;
}
.max-h-\[78vh\] {
  max-height: 78vh;
}
.max-h-\[80vh\] {
  max-height: 80vh;
}
.max-h-\[82vh\] {
  max-height: 82vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[88vh\] {
  max-height: 88vh;
}
.max-h-\[90vh\] {
  max-height: 90vh;
}
.max-h-\[96px\] {
  max-height: 96px;
}
.max-h-full {
  max-height: 100%;
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[100dvh\] {
  min-height: 100dvh;
}
.min-h-\[104px\] {
  min-height: 104px;
}
.min-h-\[140px\] {
  min-height: 140px;
}
.min-h-\[200px\] {
  min-height: 200px;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[26px\] {
  min-height: 26px;
}
.min-h-\[28px\] {
  min-height: 28px;
}
.min-h-\[50vh\] {
  min-height: 50vh;
}
.min-h-\[56px\] {
  min-height: 56px;
}
.min-h-\[58px\] {
  min-height: 58px;
}
.min-h-\[70px\] {
  min-height: 70px;
}
.min-h-\[80px\] {
  min-height: 80px;
}
.min-h-full {
  min-height: 100%;
}
.min-h-screen {
  min-height: 100vh;
}
.w-0\.5 {
  width: 0.125rem;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-1\/2 {
  width: 50%;
}
.w-1\/3 {
  width: 33.333333%;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-2\.5 {
  width: 0.625rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3 {
  width: 0.75rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-3\/4 {
  width: 75%;
}
.w-32 {
  width: 8rem;
}
.w-36 {
  width: 9rem;
}
.w-4 {
  width: 1rem;
}
.w-40 {
  width: 10rem;
}
.w-44 {
  width: 11rem;
}
.w-48 {
  width: 12rem;
}
.w-5 {
  width: 1.25rem;
}
.w-52 {
  width: 13rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-8 {
  width: 2rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[100px\] {
  width: 100px;
}
.w-\[120\%\] {
  width: 120%;
}
.w-\[120px\] {
  width: 120px;
}
.w-\[140px\] {
  width: 140px;
}
.w-\[150\%\] {
  width: 150%;
}
.w-\[150px\] {
  width: 150px;
}
.w-\[160px\] {
  width: 160px;
}
.w-\[170px\] {
  width: 170px;
}
.w-\[180px\] {
  width: 180px;
}
.w-\[1px\] {
  width: 1px;
}
.w-\[200\%\] {
  width: 200%;
}
.w-\[200px\] {
  width: 200px;
}
.w-\[200vw\] {
  width: 200vw;
}
.w-\[20px\] {
  width: 20px;
}
.w-\[220px\] {
  width: 220px;
}
.w-\[240px\] {
  width: 240px;
}
.w-\[24px\] {
  width: 24px;
}
.w-\[250px\] {
  width: 250px;
}
.w-\[26px\] {
  width: 26px;
}
.w-\[2px\] {
  width: 2px;
}
.w-\[30\%\] {
  width: 30%;
}
.w-\[300px\] {
  width: 300px;
}
.w-\[30px\] {
  width: 30px;
}
.w-\[320px\] {
  width: 320px;
}
.w-\[34px\] {
  width: 34px;
}
.w-\[35\%\] {
  width: 35%;
}
.w-\[35px\] {
  width: 35px;
}
.w-\[3px\] {
  width: 3px;
}
.w-\[40\%\] {
  width: 40%;
}
.w-\[400px\] {
  width: 400px;
}
.w-\[40px\] {
  width: 40px;
}
.w-\[40vw\] {
  width: 40vw;
}
.w-\[42px\] {
  width: 42px;
}
.w-\[45\%\] {
  width: 45%;
}
.w-\[48px\] {
  width: 48px;
}
.w-\[50\%\] {
  width: 50%;
}
.w-\[500px\] {
  width: 500px;
}
.w-\[50px\] {
  width: 50px;
}
.w-\[50vw\] {
  width: 50vw;
}
.w-\[52px\] {
  width: 52px;
}
.w-\[56px\] {
  width: 56px;
}
.w-\[60\%\] {
  width: 60%;
}
.w-\[60px\] {
  width: 60px;
}
.w-\[60vw\] {
  width: 60vw;
}
.w-\[64px\] {
  width: 64px;
}
.w-\[65\%\] {
  width: 65%;
}
.w-\[70px\] {
  width: 70px;
}
.w-\[70vw\] {
  width: 70vw;
}
.w-\[72px\] {
  width: 72px;
}
.w-\[80px\] {
  width: 80px;
}
.w-\[80vw\] {
  width: 80vw;
}
.w-\[85\%\] {
  width: 85%;
}
.w-\[88px\] {
  width: 88px;
}
.w-\[90\%\] {
  width: 90%;
}
.w-\[90px\] {
  width: 90px;
}
.w-\[90vw\] {
  width: 90vw;
}
.w-\[92\%\] {
  width: 92%;
}
.w-\[95\%\] {
  width: 95%;
}
.w-\[calc\(25\%-6px\)\] {
  width: calc(25% - 6px);
}
.w-auto {
  width: auto;
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[140px\] {
  min-width: 140px;
}
.min-w-\[150px\] {
  min-width: 150px;
}
.min-w-\[160px\] {
  min-width: 160px;
}
.min-w-\[16px\] {
  min-width: 16px;
}
.min-w-\[170px\] {
  min-width: 170px;
}
.min-w-\[180px\] {
  min-width: 180px;
}
.min-w-\[18px\] {
  min-width: 18px;
}
.min-w-\[200px\] {
  min-width: 200px;
}
.min-w-\[20px\] {
  min-width: 20px;
}
.min-w-\[220px\] {
  min-width: 220px;
}
.min-w-\[48px\] {
  min-width: 48px;
}
.min-w-\[50px\] {
  min-width: 50px;
}
.min-w-\[76px\] {
  min-width: 76px;
}
.min-w-max {
  min-width: -moz-max-content;
  min-width: max-content;
}
.max-w-5xl {
  max-width: 64rem;
}
.max-w-6xl {
  max-width: 72rem;
}
.max-w-\[100px\] {
  max-width: 100px;
}
.max-w-\[200px\] {
  max-width: 200px;
}
.max-w-\[220px\] {
  max-width: 220px;
}
.max-w-\[240px\] {
  max-width: 240px;
}
.max-w-\[250px\] {
  max-width: 250px;
}
.max-w-\[260px\] {
  max-width: 260px;
}
.max-w-\[270px\] {
  max-width: 270px;
}
.max-w-\[280px\] {
  max-width: 280px;
}
.max-w-\[300px\] {
  max-width: 300px;
}
.max-w-\[320px\] {
  max-width: 320px;
}
.max-w-\[340px\] {
  max-width: 340px;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[480px\] {
  max-width: 480px;
}
.max-w-\[78\%\] {
  max-width: 78%;
}
.max-w-\[86\%\] {
  max-width: 86%;
}
.max-w-\[88\%\] {
  max-width: 88%;
}
.max-w-\[90vw\] {
  max-width: 90vw;
}
.max-w-full {
  max-width: 100%;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-sm {
  max-width: 24rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-\[2\] {
  flex: 2;
}
.flex-none {
  flex: none;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.origin-bottom {
  transform-origin: bottom;
}
.origin-bottom-right {
  transform-origin: bottom right;
}
.origin-left {
  transform-origin: left;
}
.origin-top-left {
  transform-origin: top left;
}
.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-full {
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-2 {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-4 {
  --tw-translate-y: -1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-2 {
  --tw-translate-x: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-4 {
  --tw-translate-x: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-6 {
  --tw-translate-x: 1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-\[-50\%\] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-full {
  --tw-translate-y: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-1 {
  --tw-rotate: -1deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-2 {
  --tw-rotate: -2deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-3 {
  --tw-rotate: -3deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-45 {
  --tw-rotate: -45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-6 {
  --tw-rotate: -6deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-90 {
  --tw-rotate: -90deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-\[15deg\] {
  --tw-rotate: -15deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-1 {
  --tw-rotate: 1deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-12 {
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-2 {
  --tw-rotate: 2deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-3 {
  --tw-rotate: 3deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-45 {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-6 {
  --tw-rotate: 6deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-\[45deg\] {
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-125 {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-150 {
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-75 {
  --tw-scale-x: .75;
  --tw-scale-y: .75;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.02\] {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-\[1\.15\] {
  --tw-scale-x: 1.15;
  --tw-scale-y: 1.15;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-x-\[-1\] {
  --tw-scale-x: -1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform-gpu {
  transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-\[ping_3s_infinite\] {
  animation: ping 3s infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-\[pulse_1\.5s_infinite\] {
  animation: pulse 1.5s infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-\[pulse_2s_infinite\] {
  animation: pulse 2s infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-\[pulse_3s_ease-in-out_infinite\] {
  animation: pulse 3s ease-in-out infinite;
}
@keyframes bounce {

  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.animate-bounce {
  animation: bounce 1s infinite;
}
@keyframes ping {

  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}
@keyframes pulse {

  50% {
    opacity: .5;
  }
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.\!cursor-default {
  cursor: default !important;
}
.cursor-default {
  cursor: default;
}
.cursor-not-allowed {
  cursor: not-allowed;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-none {
  touch-action: none;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize {
  resize: both;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-center {
  scroll-snap-align: center;
}
.list-inside {
  list-style-position: inside;
}
.list-decimal {
  list-style-type: decimal;
}
.appearance-none {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.\!flex-row {
  flex-direction: row !important;
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.justify-around {
  justify-content: space-around;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-3\.5 {
  gap: 0.875rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-\[3px\] {
  gap: 3px;
}
.gap-y-10 {
  row-gap: 2.5rem;
}
.-space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1rem * var(--tw-space-x-reverse));
  margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(1.5rem * var(--tw-space-x-reverse));
  margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-12 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.space-y-7 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.75rem * var(--tw-space-y-reverse));
}
.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-white\/\[0\.04\] > :not([hidden]) ~ :not([hidden]) {
  border-color: rgb(255 255 255 / 0.04);
}
.self-start {
  align-self: flex-start;
}
.self-center {
  align-self: center;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-visible {
  overflow: visible;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overflow-y-hidden {
  overflow-y: hidden;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre {
  white-space: pre;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-words {
  overflow-wrap: break-word;
}
.break-all {
  word-break: break-all;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-3xl {
  border-radius: 1.5rem;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-\[11px\] {
  border-radius: 11px;
}
.rounded-\[12px\] {
  border-radius: 12px;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.rounded-\[16px\] {
  border-radius: 16px;
}
.rounded-\[18px\] {
  border-radius: 18px;
}
.rounded-\[20px\] {
  border-radius: 20px;
}
.rounded-\[22px\] {
  border-radius: 22px;
}
.rounded-\[24px\] {
  border-radius: 24px;
}
.rounded-\[26px\] {
  border-radius: 26px;
}
.rounded-\[28px\] {
  border-radius: 28px;
}
.rounded-\[30px\] {
  border-radius: 30px;
}
.rounded-\[40px\] {
  border-radius: 40px;
}
.rounded-\[48px\] {
  border-radius: 48px;
}
.rounded-\[6px\] {
  border-radius: 6px;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 0.5rem;
}
.rounded-md {
  border-radius: 0.375rem;
}
.rounded-none {
  border-radius: 0px;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-b {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.rounded-b-full {
  border-bottom-right-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.rounded-r-2xl {
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}
.rounded-t-\[24px\] {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
}
.rounded-t-\[28px\] {
  border-top-left-radius: 28px;
  border-top-right-radius: 28px;
}
.rounded-t-\[32px\] {
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
}
.rounded-t-\[40px\] {
  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
}
.rounded-tl-sm {
  border-top-left-radius: 0.125rem;
}
.rounded-tr-\[100px\] {
  border-top-right-radius: 100px;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-4 {
  border-width: 4px;
}
.border-\[2px\] {
  border-width: 2px;
}
.border-\[3px\] {
  border-width: 3px;
}
.border-\[6px\] {
  border-width: 6px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-b-2 {
  border-bottom-width: 2px;
}
.border-b-4 {
  border-bottom-width: 4px;
}
.border-l-2 {
  border-left-width: 2px;
}
.border-l-4 {
  border-left-width: 4px;
}
.border-r {
  border-right-width: 1px;
}
.border-t {
  border-top-width: 1px;
}
.border-t-2 {
  border-top-width: 2px;
}
.border-dashed {
  border-style: dashed;
}
.border-none {
  border-style: none;
}
.\!border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3) !important;
}
.\!border-amber-500\/50 {
  border-color: rgb(245 158 11 / 0.5) !important;
}
.\!border-cyan-500\/30 {
  border-color: rgb(6 182 212 / 0.3) !important;
}
.\!border-cyan-500\/50 {
  border-color: rgb(6 182 212 / 0.5) !important;
}
.\!border-emerald-500\/50 {
  border-color: rgb(16 185 129 / 0.5) !important;
}
.\!border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2) !important;
}
.\!border-slate-500\/50 {
  border-color: rgb(100 116 139 / 0.5) !important;
}
.\!border-white\/5 {
  border-color: rgb(255 255 255 / 0.05) !important;
}
.border-\[\#00D9FF\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 217 255 / var(--tw-border-opacity, 1));
}
.border-\[\#00D9FF\]\/25 {
  border-color: rgb(0 217 255 / 0.25);
}
.border-\[\#00D9FF\]\/30 {
  border-color: rgb(0 217 255 / 0.3);
}
.border-\[\#00D9FF\]\/40 {
  border-color: rgb(0 217 255 / 0.4);
}
.border-\[\#00D9FF\]\/50 {
  border-color: rgb(0 217 255 / 0.5);
}
.border-\[\#00D9FF\]\/60 {
  border-color: rgb(0 217 255 / 0.6);
}
.border-\[\#00FF41\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 255 65 / var(--tw-border-opacity, 1));
}
.border-\[\#00FF41\]\/20 {
  border-color: rgb(0 255 65 / 0.2);
}
.border-\[\#00FF41\]\/30 {
  border-color: rgb(0 255 65 / 0.3);
}
.border-\[\#00FF41\]\/50 {
  border-color: rgb(0 255 65 / 0.5);
}
.border-\[\#00FFFF\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 255 255 / var(--tw-border-opacity, 1));
}
.border-\[\#00FFFF\]\/20 {
  border-color: rgb(0 255 255 / 0.2);
}
.border-\[\#00FFFF\]\/30 {
  border-color: rgb(0 255 255 / 0.3);
}
.border-\[\#00FFFF\]\/40 {
  border-color: rgb(0 255 255 / 0.4);
}
.border-\[\#00FFFF\]\/50 {
  border-color: rgb(0 255 255 / 0.5);
}
.border-\[\#050a14\] {
  --tw-border-opacity: 1;
  border-color: rgb(5 10 20 / var(--tw-border-opacity, 1));
}
.border-\[\#050b14\] {
  --tw-border-opacity: 1;
  border-color: rgb(5 11 20 / var(--tw-border-opacity, 1));
}
.border-\[\#060a11\] {
  --tw-border-opacity: 1;
  border-color: rgb(6 10 17 / var(--tw-border-opacity, 1));
}
.border-\[\#06b6d4\]\/30 {
  border-color: rgb(6 182 212 / 0.3);
}
.border-\[\#06b6d4\]\/40 {
  border-color: rgb(6 182 212 / 0.4);
}
.border-\[\#07101f\] {
  --tw-border-opacity: 1;
  border-color: rgb(7 16 31 / var(--tw-border-opacity, 1));
}
.border-\[\#0F172A\] {
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}
.border-\[\#0a0e18\] {
  --tw-border-opacity: 1;
  border-color: rgb(10 14 24 / var(--tw-border-opacity, 1));
}
.border-\[\#0a0f1d\] {
  --tw-border-opacity: 1;
  border-color: rgb(10 15 29 / var(--tw-border-opacity, 1));
}
.border-\[\#0f172a\] {
  --tw-border-opacity: 1;
  border-color: rgb(15 23 42 / var(--tw-border-opacity, 1));
}
.border-\[\#10b981\] {
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-\[\#151e32\] {
  --tw-border-opacity: 1;
  border-color: rgb(21 30 50 / var(--tw-border-opacity, 1));
}
.border-\[\#1A1A1A\] {
  --tw-border-opacity: 1;
  border-color: rgb(26 26 26 / var(--tw-border-opacity, 1));
}
.border-\[\#1a1a1a\] {
  --tw-border-opacity: 1;
  border-color: rgb(26 26 26 / var(--tw-border-opacity, 1));
}
.border-\[\#222\] {
  --tw-border-opacity: 1;
  border-color: rgb(34 34 34 / var(--tw-border-opacity, 1));
}
.border-\[\#229ED9\]\/25 {
  border-color: rgb(34 158 217 / 0.25);
}
.border-\[\#229ED9\]\/30 {
  border-color: rgb(34 158 217 / 0.3);
}
.border-\[\#229ED9\]\/40 {
  border-color: rgb(34 158 217 / 0.4);
}
.border-\[\#229ED9\]\/50 {
  border-color: rgb(34 158 217 / 0.5);
}
.border-\[\#22c55e\]\/30 {
  border-color: rgb(34 197 94 / 0.3);
}
.border-\[\#22c55e\]\/40 {
  border-color: rgb(34 197 94 / 0.4);
}
.border-\[\#2EFF8A\] {
  --tw-border-opacity: 1;
  border-color: rgb(46 255 138 / var(--tw-border-opacity, 1));
}
.border-\[\#2EFF8A\]\/30 {
  border-color: rgb(46 255 138 / 0.3);
}
.border-\[\#2c3e50\] {
  --tw-border-opacity: 1;
  border-color: rgb(44 62 80 / var(--tw-border-opacity, 1));
}
.border-\[\#2c3e50\]\/20 {
  border-color: rgb(44 62 80 / 0.2);
}
.border-\[\#2c3e50\]\/40 {
  border-color: rgb(44 62 80 / 0.4);
}
.border-\[\#34495e\] {
  --tw-border-opacity: 1;
  border-color: rgb(52 73 94 / var(--tw-border-opacity, 1));
}
.border-\[\#3498db\]\/40 {
  border-color: rgb(52 152 219 / 0.4);
}
.border-\[\#9B5CFF\] {
  --tw-border-opacity: 1;
  border-color: rgb(155 92 255 / var(--tw-border-opacity, 1));
}
.border-\[\#9B5CFF\]\/25 {
  border-color: rgb(155 92 255 / 0.25);
}
.border-\[\#9B5CFF\]\/30 {
  border-color: rgb(155 92 255 / 0.3);
}
.border-\[\#9B5CFF\]\/40 {
  border-color: rgb(155 92 255 / 0.4);
}
.border-\[\#9B5CFF\]\/50 {
  border-color: rgb(155 92 255 / 0.5);
}
.border-\[\#E0E0E0\] {
  --tw-border-opacity: 1;
  border-color: rgb(224 224 224 / var(--tw-border-opacity, 1));
}
.border-\[\#FAF9FD\] {
  --tw-border-opacity: 1;
  border-color: rgb(250 249 253 / var(--tw-border-opacity, 1));
}
.border-\[\#FF00FF\] {
  --tw-border-opacity: 1;
  border-color: rgb(255 0 255 / var(--tw-border-opacity, 1));
}
.border-\[\#FF00FF\]\/30 {
  border-color: rgb(255 0 255 / 0.3);
}
.border-\[\#FF00FF\]\/40 {
  border-color: rgb(255 0 255 / 0.4);
}
.border-\[\#FF00FF\]\/50 {
  border-color: rgb(255 0 255 / 0.5);
}
.border-\[\#FF4FD8\]\/25 {
  border-color: rgb(255 79 216 / 0.25);
}
.border-\[\#FF4FD8\]\/30 {
  border-color: rgb(255 79 216 / 0.3);
}
.border-\[\#FFB341\]\/50 {
  border-color: rgb(255 179 65 / 0.5);
}
.border-\[\#ef4444\] {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-\[\#f1c40f\] {
  --tw-border-opacity: 1;
  border-color: rgb(241 196 15 / var(--tw-border-opacity, 1));
}
.border-\[\#fb923c\]\/25 {
  border-color: rgb(251 146 60 / 0.25);
}
.border-\[\#fb923c\]\/30 {
  border-color: rgb(251 146 60 / 0.3);
}
.border-\[\#ff4fd8\]\/30 {
  border-color: rgb(255 79 216 / 0.3);
}
.border-\[\#ff4fd8\]\/50 {
  border-color: rgb(255 79 216 / 0.5);
}
.border-\[var\(--tg-button\)\] {
  border-color: var(--tg-button);
}
.border-amber-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-amber-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-amber-400\/20 {
  border-color: rgb(251 191 36 / 0.2);
}
.border-amber-400\/30 {
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-400\/40 {
  border-color: rgb(251 191 36 / 0.4);
}
.border-amber-400\/50 {
  border-color: rgb(251 191 36 / 0.5);
}
.border-amber-500\/10 {
  border-color: rgb(245 158 11 / 0.1);
}
.border-amber-500\/15 {
  border-color: rgb(245 158 11 / 0.15);
}
.border-amber-500\/20 {
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/25 {
  border-color: rgb(245 158 11 / 0.25);
}
.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40 {
  border-color: rgb(245 158 11 / 0.4);
}
.border-amber-500\/50 {
  border-color: rgb(245 158 11 / 0.5);
}
.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.border-black\/10 {
  border-color: rgb(0 0 0 / 0.1);
}
.border-black\/5 {
  border-color: rgb(0 0 0 / 0.05);
}
.border-blue-400\/30 {
  border-color: rgb(96 165 250 / 0.3);
}
.border-blue-400\/40 {
  border-color: rgb(96 165 250 / 0.4);
}
.border-blue-400\/50 {
  border-color: rgb(96 165 250 / 0.5);
}
.border-blue-500 {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-blue-500\/10 {
  border-color: rgb(59 130 246 / 0.1);
}
.border-blue-500\/15 {
  border-color: rgb(59 130 246 / 0.15);
}
.border-blue-500\/20 {
  border-color: rgb(59 130 246 / 0.2);
}
.border-blue-500\/25 {
  border-color: rgb(59 130 246 / 0.25);
}
.border-blue-500\/30 {
  border-color: rgb(59 130 246 / 0.3);
}
.border-blue-500\/40 {
  border-color: rgb(59 130 246 / 0.4);
}
.border-blue-500\/50 {
  border-color: rgb(59 130 246 / 0.5);
}
.border-current {
  border-color: currentColor;
}
.border-cyan-300 {
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity, 1));
}
.border-cyan-400 {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.border-cyan-400\/15 {
  border-color: rgb(34 211 238 / 0.15);
}
.border-cyan-400\/20 {
  border-color: rgb(34 211 238 / 0.2);
}
.border-cyan-400\/30 {
  border-color: rgb(34 211 238 / 0.3);
}
.border-cyan-400\/40 {
  border-color: rgb(34 211 238 / 0.4);
}
.border-cyan-400\/50 {
  border-color: rgb(34 211 238 / 0.5);
}
.border-cyan-500 {
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.border-cyan-500\/10 {
  border-color: rgb(6 182 212 / 0.1);
}
.border-cyan-500\/15 {
  border-color: rgb(6 182 212 / 0.15);
}
.border-cyan-500\/20 {
  border-color: rgb(6 182 212 / 0.2);
}
.border-cyan-500\/25 {
  border-color: rgb(6 182 212 / 0.25);
}
.border-cyan-500\/30 {
  border-color: rgb(6 182 212 / 0.3);
}
.border-cyan-500\/40 {
  border-color: rgb(6 182 212 / 0.4);
}
.border-cyan-500\/50 {
  border-color: rgb(6 182 212 / 0.5);
}
.border-emerald-400 {
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-emerald-400\/20 {
  border-color: rgb(52 211 153 / 0.2);
}
.border-emerald-400\/25 {
  border-color: rgb(52 211 153 / 0.25);
}
.border-emerald-400\/30 {
  border-color: rgb(52 211 153 / 0.3);
}
.border-emerald-400\/40 {
  border-color: rgb(52 211 153 / 0.4);
}
.border-emerald-400\/50 {
  border-color: rgb(52 211 153 / 0.5);
}
.border-emerald-400\/60 {
  border-color: rgb(52 211 153 / 0.6);
}
.border-emerald-500\/10 {
  border-color: rgb(16 185 129 / 0.1);
}
.border-emerald-500\/15 {
  border-color: rgb(16 185 129 / 0.15);
}
.border-emerald-500\/20 {
  border-color: rgb(16 185 129 / 0.2);
}
.border-emerald-500\/25 {
  border-color: rgb(16 185 129 / 0.25);
}
.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}
.border-emerald-500\/40 {
  border-color: rgb(16 185 129 / 0.4);
}
.border-emerald-500\/50 {
  border-color: rgb(16 185 129 / 0.5);
}
.border-fuchsia-400 {
  --tw-border-opacity: 1;
  border-color: rgb(232 121 249 / var(--tw-border-opacity, 1));
}
.border-fuchsia-400\/25 {
  border-color: rgb(232 121 249 / 0.25);
}
.border-fuchsia-400\/30 {
  border-color: rgb(232 121 249 / 0.3);
}
.border-fuchsia-400\/40 {
  border-color: rgb(232 121 249 / 0.4);
}
.border-fuchsia-400\/50 {
  border-color: rgb(232 121 249 / 0.5);
}
.border-fuchsia-500\/15 {
  border-color: rgb(217 70 239 / 0.15);
}
.border-fuchsia-500\/20 {
  border-color: rgb(217 70 239 / 0.2);
}
.border-fuchsia-500\/30 {
  border-color: rgb(217 70 239 / 0.3);
}
.border-fuchsia-500\/40 {
  border-color: rgb(217 70 239 / 0.4);
}
.border-fuchsia-500\/50 {
  border-color: rgb(217 70 239 / 0.5);
}
.border-gray-100 {
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-50 {
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}
.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.border-green-400\/30 {
  border-color: rgb(74 222 128 / 0.3);
}
.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-green-500\/20 {
  border-color: rgb(34 197 94 / 0.2);
}
.border-green-500\/30 {
  border-color: rgb(34 197 94 / 0.3);
}
.border-green-500\/40 {
  border-color: rgb(34 197 94 / 0.4);
}
.border-green-500\/50 {
  border-color: rgb(34 197 94 / 0.5);
}
.border-indigo-500\/30 {
  border-color: rgb(99 102 241 / 0.3);
}
.border-indigo-500\/40 {
  border-color: rgb(99 102 241 / 0.4);
}
.border-indigo-500\/50 {
  border-color: rgb(99 102 241 / 0.5);
}
.border-neutral-700 {
  --tw-border-opacity: 1;
  border-color: rgb(64 64 64 / var(--tw-border-opacity, 1));
}
.border-orange-500 {
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-orange-500\/15 {
  border-color: rgb(249 115 22 / 0.15);
}
.border-orange-500\/20 {
  border-color: rgb(249 115 22 / 0.2);
}
.border-orange-500\/30 {
  border-color: rgb(249 115 22 / 0.3);
}
.border-orange-500\/40 {
  border-color: rgb(249 115 22 / 0.4);
}
.border-orange-500\/50 {
  border-color: rgb(249 115 22 / 0.5);
}
.border-pink-400\/40 {
  border-color: rgb(244 114 182 / 0.4);
}
.border-pink-400\/50 {
  border-color: rgb(244 114 182 / 0.5);
}
.border-pink-500\/20 {
  border-color: rgb(236 72 153 / 0.2);
}
.border-pink-500\/30 {
  border-color: rgb(236 72 153 / 0.3);
}
.border-purple-400\/40 {
  border-color: rgb(192 132 252 / 0.4);
}
.border-purple-400\/50 {
  border-color: rgb(192 132 252 / 0.5);
}
.border-purple-500 {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-purple-500\/15 {
  border-color: rgb(168 85 247 / 0.15);
}
.border-purple-500\/20 {
  border-color: rgb(168 85 247 / 0.2);
}
.border-purple-500\/25 {
  border-color: rgb(168 85 247 / 0.25);
}
.border-purple-500\/30 {
  border-color: rgb(168 85 247 / 0.3);
}
.border-purple-500\/40 {
  border-color: rgb(168 85 247 / 0.4);
}
.border-purple-500\/50 {
  border-color: rgb(168 85 247 / 0.5);
}
.border-red-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-red-400\/30 {
  border-color: rgb(248 113 113 / 0.3);
}
.border-red-400\/40 {
  border-color: rgb(248 113 113 / 0.4);
}
.border-red-400\/50 {
  border-color: rgb(248 113 113 / 0.5);
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-red-500\/10 {
  border-color: rgb(239 68 68 / 0.1);
}
.border-red-500\/15 {
  border-color: rgb(239 68 68 / 0.15);
}
.border-red-500\/20 {
  border-color: rgb(239 68 68 / 0.2);
}
.border-red-500\/25 {
  border-color: rgb(239 68 68 / 0.25);
}
.border-red-500\/30 {
  border-color: rgb(239 68 68 / 0.3);
}
.border-red-500\/40 {
  border-color: rgb(239 68 68 / 0.4);
}
.border-red-500\/50 {
  border-color: rgb(239 68 68 / 0.5);
}
.border-red-900 {
  --tw-border-opacity: 1;
  border-color: rgb(127 29 29 / var(--tw-border-opacity, 1));
}
.border-rose-500\/30 {
  border-color: rgb(244 63 94 / 0.3);
}
.border-slate-400 {
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-slate-400\/30 {
  border-color: rgb(148 163 184 / 0.3);
}
.border-slate-400\/40 {
  border-color: rgb(148 163 184 / 0.4);
}
.border-slate-500 {
  --tw-border-opacity: 1;
  border-color: rgb(100 116 139 / var(--tw-border-opacity, 1));
}
.border-slate-500\/20 {
  border-color: rgb(100 116 139 / 0.2);
}
.border-slate-500\/30 {
  border-color: rgb(100 116 139 / 0.3);
}
.border-slate-700 {
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.border-slate-700\/50 {
  border-color: rgb(51 65 85 / 0.5);
}
.border-slate-800 {
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}
.border-slate-800\/50 {
  border-color: rgb(30 41 59 / 0.5);
}
.border-teal-500\/30 {
  border-color: rgb(20 184 166 / 0.3);
}
.border-transparent {
  border-color: transparent;
}
.border-violet-400\/20 {
  border-color: rgb(167 139 250 / 0.2);
}
.border-violet-400\/30 {
  border-color: rgb(167 139 250 / 0.3);
}
.border-violet-400\/40 {
  border-color: rgb(167 139 250 / 0.4);
}
.border-violet-500\/20 {
  border-color: rgb(139 92 246 / 0.2);
}
.border-violet-500\/25 {
  border-color: rgb(139 92 246 / 0.25);
}
.border-violet-500\/30 {
  border-color: rgb(139 92 246 / 0.3);
}
.border-white {
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-white\/30 {
  border-color: rgb(255 255 255 / 0.3);
}
.border-white\/40 {
  border-color: rgb(255 255 255 / 0.4);
}
.border-white\/5 {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/50 {
  border-color: rgb(255 255 255 / 0.5);
}
.border-white\/\[0\.02\] {
  border-color: rgb(255 255 255 / 0.02);
}
.border-white\/\[0\.03\] {
  border-color: rgb(255 255 255 / 0.03);
}
.border-white\/\[0\.04\] {
  border-color: rgb(255 255 255 / 0.04);
}
.border-white\/\[0\.05\] {
  border-color: rgb(255 255 255 / 0.05);
}
.border-white\/\[0\.06\] {
  border-color: rgb(255 255 255 / 0.06);
}
.border-white\/\[0\.08\] {
  border-color: rgb(255 255 255 / 0.08);
}
.border-yellow-400\/20 {
  border-color: rgb(250 204 21 / 0.2);
}
.border-yellow-400\/30 {
  border-color: rgb(250 204 21 / 0.3);
}
.border-yellow-400\/40 {
  border-color: rgb(250 204 21 / 0.4);
}
.border-yellow-500 {
  --tw-border-opacity: 1;
  border-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-yellow-500\/20 {
  border-color: rgb(234 179 8 / 0.2);
}
.border-yellow-500\/25 {
  border-color: rgb(234 179 8 / 0.25);
}
.border-yellow-500\/30 {
  border-color: rgb(234 179 8 / 0.3);
}
.border-yellow-500\/40 {
  border-color: rgb(234 179 8 / 0.4);
}
.border-t-indigo-500 {
  --tw-border-opacity: 1;
  border-top-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}
.border-t-transparent {
  border-top-color: transparent;
}
.\!bg-amber-900\/15 {
  background-color: rgb(120 53 15 / 0.15) !important;
}
.\!bg-cyan-900\/20 {
  background-color: rgb(22 78 99 / 0.2) !important;
}
.\!bg-red-900\/10 {
  background-color: rgb(127 29 29 / 0.1) !important;
}
.bg-\[\#000000\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0057b7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 87 183 / var(--tw-bg-opacity, 1));
}
.bg-\[\#007AFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 122 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0098ea\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 152 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#00D9FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 217 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#00D9FF\]\/10 {
  background-color: rgb(0 217 255 / 0.1);
}
.bg-\[\#00D9FF\]\/15 {
  background-color: rgb(0 217 255 / 0.15);
}
.bg-\[\#00D9FF\]\/20 {
  background-color: rgb(0 217 255 / 0.2);
}
.bg-\[\#00D9FF\]\/5 {
  background-color: rgb(0 217 255 / 0.05);
}
.bg-\[\#00FF41\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 255 65 / var(--tw-bg-opacity, 1));
}
.bg-\[\#00FF41\]\/10 {
  background-color: rgb(0 255 65 / 0.1);
}
.bg-\[\#00FF41\]\/20 {
  background-color: rgb(0 255 65 / 0.2);
}
.bg-\[\#00FF41\]\/5 {
  background-color: rgb(0 255 65 / 0.05);
}
.bg-\[\#00FFFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 255 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#00FFFF\]\/10 {
  background-color: rgb(0 255 255 / 0.1);
}
.bg-\[\#00FFFF\]\/20 {
  background-color: rgb(0 255 255 / 0.2);
}
.bg-\[\#020205\] {
  --tw-bg-opacity: 1;
  background-color: rgb(2 2 5 / var(--tw-bg-opacity, 1));
}
.bg-\[\#02050A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(2 5 10 / var(--tw-bg-opacity, 1));
}
.bg-\[\#02050A\]\/90 {
  background-color: rgb(2 5 10 / 0.9);
}
.bg-\[\#020617\] {
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-\[\#020713\] {
  --tw-bg-opacity: 1;
  background-color: rgb(2 7 19 / var(--tw-bg-opacity, 1));
}
.bg-\[\#03001C\] {
  --tw-bg-opacity: 1;
  background-color: rgb(3 0 28 / var(--tw-bg-opacity, 1));
}
.bg-\[\#03001C\]\/80 {
  background-color: rgb(3 0 28 / 0.8);
}
.bg-\[\#040B19\]\/90 {
  background-color: rgb(4 11 25 / 0.9);
}
.bg-\[\#050505\] {
  --tw-bg-opacity: 1;
  background-color: rgb(5 5 5 / var(--tw-bg-opacity, 1));
}
.bg-\[\#050505\]\/80 {
  background-color: rgb(5 5 5 / 0.8);
}
.bg-\[\#05070f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(5 7 15 / var(--tw-bg-opacity, 1));
}
.bg-\[\#050B16\]\/95 {
  background-color: rgb(5 11 22 / 0.95);
}
.bg-\[\#050a14\]\/80 {
  background-color: rgb(5 10 20 / 0.8);
}
.bg-\[\#050b14\] {
  --tw-bg-opacity: 1;
  background-color: rgb(5 11 20 / var(--tw-bg-opacity, 1));
}
.bg-\[\#050b14\]\/90 {
  background-color: rgb(5 11 20 / 0.9);
}
.bg-\[\#060a11\] {
  --tw-bg-opacity: 1;
  background-color: rgb(6 10 17 / var(--tw-bg-opacity, 1));
}
.bg-\[\#060a11\]\/60 {
  background-color: rgb(6 10 17 / 0.6);
}
.bg-\[\#060a11\]\/80 {
  background-color: rgb(6 10 17 / 0.8);
}
.bg-\[\#060a11\]\/90 {
  background-color: rgb(6 10 17 / 0.9);
}
.bg-\[\#060a11\]\/95 {
  background-color: rgb(6 10 17 / 0.95);
}
.bg-\[\#060b14\] {
  --tw-bg-opacity: 1;
  background-color: rgb(6 11 20 / var(--tw-bg-opacity, 1));
}
.bg-\[\#060b14\]\/50 {
  background-color: rgb(6 11 20 / 0.5);
}
.bg-\[\#060b14\]\/95 {
  background-color: rgb(6 11 20 / 0.95);
}
.bg-\[\#06b6d4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-\[\#06b6d4\]\/10 {
  background-color: rgb(6 182 212 / 0.1);
}
.bg-\[\#06b6d4\]\/15 {
  background-color: rgb(6 182 212 / 0.15);
}
.bg-\[\#070611\] {
  --tw-bg-opacity: 1;
  background-color: rgb(7 6 17 / var(--tw-bg-opacity, 1));
}
.bg-\[\#071022\]\/90 {
  background-color: rgb(7 16 34 / 0.9);
}
.bg-\[\#090e1a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(9 14 26 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0B57D0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 87 208 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0E0E11\] {
  --tw-bg-opacity: 1;
  background-color: rgb(14 14 17 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0F172A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0a0a0a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0a0e1a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 14 26 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0a0f1d\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 15 29 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0a0f1d\]\/80 {
  background-color: rgb(10 15 29 / 0.8);
}
.bg-\[\#0a0f1d\]\/95 {
  background-color: rgb(10 15 29 / 0.95);
}
.bg-\[\#0a1120\]\/80 {
  background-color: rgb(10 17 32 / 0.8);
}
.bg-\[\#0a1120\]\/90 {
  background-color: rgb(10 17 32 / 0.9);
}
.bg-\[\#0a1222\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 18 34 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0b0610\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 6 16 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0b0f19\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 15 25 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0b0f19\]\/80 {
  background-color: rgb(11 15 25 / 0.8);
}
.bg-\[\#0b0f19\]\/95 {
  background-color: rgb(11 15 25 / 0.95);
}
.bg-\[\#0b1020\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 16 32 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0b1528\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 21 40 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0c0c0e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(12 12 14 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0c1222\] {
  --tw-bg-opacity: 1;
  background-color: rgb(12 18 34 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0c1222\]\/70 {
  background-color: rgb(12 18 34 / 0.7);
}
.bg-\[\#0c1222\]\/80 {
  background-color: rgb(12 18 34 / 0.8);
}
.bg-\[\#0c1222\]\/90 {
  background-color: rgb(12 18 34 / 0.9);
}
.bg-\[\#0c1222\]\/95 {
  background-color: rgb(12 18 34 / 0.95);
}
.bg-\[\#0d1420\] {
  --tw-bg-opacity: 1;
  background-color: rgb(13 20 32 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0e0c1c\]\/80 {
  background-color: rgb(14 12 28 / 0.8);
}
.bg-\[\#0e1426\] {
  --tw-bg-opacity: 1;
  background-color: rgb(14 20 38 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0e1426\]\/90 {
  background-color: rgb(14 20 38 / 0.9);
}
.bg-\[\#0e1a2e\]\/60 {
  background-color: rgb(14 26 46 / 0.6);
}
.bg-\[\#0f1422\]\/90 {
  background-color: rgb(15 20 34 / 0.9);
}
.bg-\[\#0f1729\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 41 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0f172a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0f172a\]\/50 {
  background-color: rgb(15 23 42 / 0.5);
}
.bg-\[\#0f172a\]\/95 {
  background-color: rgb(15 23 42 / 0.95);
}
.bg-\[\#101a2e\]\/60 {
  background-color: rgb(16 26 46 / 0.6);
}
.bg-\[\#101a2e\]\/70 {
  background-color: rgb(16 26 46 / 0.7);
}
.bg-\[\#101a2e\]\/80 {
  background-color: rgb(16 26 46 / 0.8);
}
.bg-\[\#111827\] {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-\[\#11182b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 43 / var(--tw-bg-opacity, 1));
}
.bg-\[\#111d35\] {
  --tw-bg-opacity: 1;
  background-color: rgb(17 29 53 / var(--tw-bg-opacity, 1));
}
.bg-\[\#131a2e\]\/95 {
  background-color: rgb(19 26 46 / 0.95);
}
.bg-\[\#140c1f\] {
  --tw-bg-opacity: 1;
  background-color: rgb(20 12 31 / var(--tw-bg-opacity, 1));
}
.bg-\[\#141a27\]\/40 {
  background-color: rgb(20 26 39 / 0.4);
}
.bg-\[\#151e32\] {
  --tw-bg-opacity: 1;
  background-color: rgb(21 30 50 / var(--tw-bg-opacity, 1));
}
.bg-\[\#151e32\]\/40 {
  background-color: rgb(21 30 50 / 0.4);
}
.bg-\[\#151e32\]\/50 {
  background-color: rgb(21 30 50 / 0.5);
}
.bg-\[\#151e32\]\/60 {
  background-color: rgb(21 30 50 / 0.6);
}
.bg-\[\#151e32\]\/70 {
  background-color: rgb(21 30 50 / 0.7);
}
.bg-\[\#151e32\]\/80 {
  background-color: rgb(21 30 50 / 0.8);
}
.bg-\[\#15233e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(21 35 62 / var(--tw-bg-opacity, 1));
}
.bg-\[\#160b14\]\/80 {
  background-color: rgb(22 11 20 / 0.8);
}
.bg-\[\#18181b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1A1A1A\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a0c16\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 12 22 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a1030\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 16 48 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a1a1a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a1a1a\]\/80 {
  background-color: rgb(26 26 26 / 0.8);
}
.bg-\[\#1a1a1a\]\/95 {
  background-color: rgb(26 26 26 / 0.95);
}
.bg-\[\#1c1c1e\]\/90 {
  background-color: rgb(28 28 30 / 0.9);
}
.bg-\[\#1c1c1e\]\/95 {
  background-color: rgb(28 28 30 / 0.95);
}
.bg-\[\#1e272e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(30 39 46 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1e293b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1e2a44\] {
  --tw-bg-opacity: 1;
  background-color: rgb(30 42 68 / var(--tw-bg-opacity, 1));
}
.bg-\[\#229ED9\]\/10 {
  background-color: rgb(34 158 217 / 0.1);
}
.bg-\[\#229ED9\]\/15 {
  background-color: rgb(34 158 217 / 0.15);
}
.bg-\[\#229ED9\]\/25 {
  background-color: rgb(34 158 217 / 0.25);
}
.bg-\[\#22c55e\]\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-\[\#22c55e\]\/15 {
  background-color: rgb(34 197 94 / 0.15);
}
.bg-\[\#22c55e\]\/20 {
  background-color: rgb(34 197 94 / 0.2);
}
.bg-\[\#2AABEE\] {
  --tw-bg-opacity: 1;
  background-color: rgb(42 171 238 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2EFF8A\]\/20 {
  background-color: rgb(46 255 138 / 0.2);
}
.bg-\[\#2c3e50\] {
  --tw-bg-opacity: 1;
  background-color: rgb(44 62 80 / var(--tw-bg-opacity, 1));
}
.bg-\[\#2c3e50\]\/15 {
  background-color: rgb(44 62 80 / 0.15);
}
.bg-\[\#2c3e50\]\/20 {
  background-color: rgb(44 62 80 / 0.2);
}
.bg-\[\#333\] {
  --tw-bg-opacity: 1;
  background-color: rgb(51 51 51 / var(--tw-bg-opacity, 1));
}
.bg-\[\#34495e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(52 73 94 / var(--tw-bg-opacity, 1));
}
.bg-\[\#3498db\]\/20 {
  background-color: rgb(52 152 219 / 0.2);
}
.bg-\[\#7bc353\] {
  --tw-bg-opacity: 1;
  background-color: rgb(123 195 83 / var(--tw-bg-opacity, 1));
}
.bg-\[\#7c3aed\] {
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.bg-\[\#7c3aed\]\/20 {
  background-color: rgb(124 58 237 / 0.2);
}
.bg-\[\#9B5CFF\]\/10 {
  background-color: rgb(155 92 255 / 0.1);
}
.bg-\[\#9B5CFF\]\/15 {
  background-color: rgb(155 92 255 / 0.15);
}
.bg-\[\#9B5CFF\]\/20 {
  background-color: rgb(155 92 255 / 0.2);
}
.bg-\[\#AADAFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(170 218 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#C2E7FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(194 231 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#CEE5D3\] {
  --tw-bg-opacity: 1;
  background-color: rgb(206 229 211 / var(--tw-bg-opacity, 1));
}
.bg-\[\#D3E3FD\] {
  --tw-bg-opacity: 1;
  background-color: rgb(211 227 253 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E0E0E0\] {
  --tw-bg-opacity: 1;
  background-color: rgb(224 224 224 / var(--tw-bg-opacity, 1));
}
.bg-\[\#E5E3DF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(229 227 223 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F0EDF6\] {
  --tw-bg-opacity: 1;
  background-color: rgb(240 237 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2F0F4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 240 244 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F2F2F7\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 242 247 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F9F9FB\] {
  --tw-bg-opacity: 1;
  background-color: rgb(249 249 251 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAF9FD\] {
  --tw-bg-opacity: 1;
  background-color: rgb(250 249 253 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF00FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 0 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FF00FF\]\/10 {
  background-color: rgb(255 0 255 / 0.1);
}
.bg-\[\#FF00FF\]\/20 {
  background-color: rgb(255 0 255 / 0.2);
}
.bg-\[\#FF4FD8\]\/10 {
  background-color: rgb(255 79 216 / 0.1);
}
.bg-\[\#FF4FD8\]\/15 {
  background-color: rgb(255 79 216 / 0.15);
}
.bg-\[\#FF4FD8\]\/5 {
  background-color: rgb(255 79 216 / 0.05);
}
.bg-\[\#FFB341\]\/15 {
  background-color: rgb(255 179 65 / 0.15);
}
.bg-\[\#FFFFFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ef4444\] {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f4f1ea\] {
  --tw-bg-opacity: 1;
  background-color: rgb(244 241 234 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f4f1ea\]\/60 {
  background-color: rgb(244 241 234 / 0.6);
}
.bg-\[\#fcfbf9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(252 251 249 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ff4fd8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 79 216 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ff4fd8\]\/10 {
  background-color: rgb(255 79 216 / 0.1);
}
.bg-\[\#ff4fd8\]\/5 {
  background-color: rgb(255 79 216 / 0.05);
}
.bg-\[\#ffd700\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 215 0 / var(--tw-bg-opacity, 1));
}
.bg-\[color-mix\(in_srgb\2c var\(--tg-bg\)_80\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--tg-bg) 80%,transparent);
}
.bg-\[color-mix\(in_srgb\2c var\(--tg-hint\)_20\%\2c transparent\)\] {
  background-color: color-mix(in srgb,var(--tg-hint) 20%,transparent);
}
.bg-\[rgba\(5\2c 10\2c 20\2c 0\.85\)\] {
  background-color: rgba(5,10,20,0.85);
}
.bg-\[rgba\(5\2c 10\2c 20\2c 0\.92\)\] {
  background-color: rgba(5,10,20,0.92);
}
.bg-\[var\(--tg-bg\)\] {
  background-color: var(--tg-bg);
}
.bg-\[var\(--tg-bg-secondary\)\] {
  background-color: var(--tg-bg-secondary);
}
.bg-\[var\(--tg-button\)\] {
  background-color: var(--tg-button);
}
.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.bg-amber-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10 {
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15 {
  background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/20 {
  background-color: rgb(245 158 11 / 0.2);
}
.bg-amber-500\/25 {
  background-color: rgb(245 158 11 / 0.25);
}
.bg-amber-500\/5 {
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/\[0\.04\] {
  background-color: rgb(245 158 11 / 0.04);
}
.bg-amber-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.bg-amber-900\/20 {
  background-color: rgb(120 53 15 / 0.2);
}
.bg-amber-950\/20 {
  background-color: rgb(69 26 3 / 0.2);
}
.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/45 {
  background-color: rgb(0 0 0 / 0.45);
}
.bg-black\/5 {
  background-color: rgb(0 0 0 / 0.05);
}
.bg-black\/50 {
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/55 {
  background-color: rgb(0 0 0 / 0.55);
}
.bg-black\/60 {
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70 {
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}
.bg-black\/90 {
  background-color: rgb(0 0 0 / 0.9);
}
.bg-black\/95 {
  background-color: rgb(0 0 0 / 0.95);
}
.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-100\/50 {
  background-color: rgb(219 234 254 / 0.5);
}
.bg-blue-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(147 197 253 / var(--tw-bg-opacity, 1));
}
.bg-blue-400\/30 {
  background-color: rgb(96 165 250 / 0.3);
}
.bg-blue-400\/40 {
  background-color: rgb(96 165 250 / 0.4);
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.bg-blue-500\/10 {
  background-color: rgb(59 130 246 / 0.1);
}
.bg-blue-500\/15 {
  background-color: rgb(59 130 246 / 0.15);
}
.bg-blue-500\/20 {
  background-color: rgb(59 130 246 / 0.2);
}
.bg-blue-500\/25 {
  background-color: rgb(59 130 246 / 0.25);
}
.bg-blue-500\/5 {
  background-color: rgb(59 130 246 / 0.05);
}
.bg-blue-500\/90 {
  background-color: rgb(59 130 246 / 0.9);
}
.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.bg-blue-600\/10 {
  background-color: rgb(37 99 235 / 0.1);
}
.bg-blue-600\/20 {
  background-color: rgb(37 99 235 / 0.2);
}
.bg-blue-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}
.bg-blue-950\/20 {
  background-color: rgb(23 37 84 / 0.2);
}
.bg-current {
  background-color: currentColor;
}
.bg-cyan-200\/50 {
  background-color: rgb(165 243 252 / 0.5);
}
.bg-cyan-200\/80 {
  background-color: rgb(165 243 252 / 0.8);
}
.bg-cyan-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(103 232 249 / var(--tw-bg-opacity, 1));
}
.bg-cyan-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}
.bg-cyan-400\/10 {
  background-color: rgb(34 211 238 / 0.1);
}
.bg-cyan-400\/60 {
  background-color: rgb(34 211 238 / 0.6);
}
.bg-cyan-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.bg-cyan-500\/10 {
  background-color: rgb(6 182 212 / 0.1);
}
.bg-cyan-500\/15 {
  background-color: rgb(6 182 212 / 0.15);
}
.bg-cyan-500\/20 {
  background-color: rgb(6 182 212 / 0.2);
}
.bg-cyan-500\/30 {
  background-color: rgb(6 182 212 / 0.3);
}
.bg-cyan-500\/5 {
  background-color: rgb(6 182 212 / 0.05);
}
.bg-cyan-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.bg-cyan-600\/10 {
  background-color: rgb(8 145 178 / 0.1);
}
.bg-cyan-600\/20 {
  background-color: rgb(8 145 178 / 0.2);
}
.bg-cyan-600\/90 {
  background-color: rgb(8 145 178 / 0.9);
}
.bg-cyan-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 78 99 / var(--tw-bg-opacity, 1));
}
.bg-cyan-900\/15 {
  background-color: rgb(22 78 99 / 0.15);
}
.bg-cyan-900\/20 {
  background-color: rgb(22 78 99 / 0.2);
}
.bg-cyan-900\/30 {
  background-color: rgb(22 78 99 / 0.3);
}
.bg-emerald-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
.bg-emerald-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(110 231 183 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.bg-emerald-500\/10 {
  background-color: rgb(16 185 129 / 0.1);
}
.bg-emerald-500\/15 {
  background-color: rgb(16 185 129 / 0.15);
}
.bg-emerald-500\/20 {
  background-color: rgb(16 185 129 / 0.2);
}
.bg-emerald-500\/25 {
  background-color: rgb(16 185 129 / 0.25);
}
.bg-emerald-500\/30 {
  background-color: rgb(16 185 129 / 0.3);
}
.bg-emerald-500\/5 {
  background-color: rgb(16 185 129 / 0.05);
}
.bg-emerald-500\/60 {
  background-color: rgb(16 185 129 / 0.6);
}
.bg-emerald-500\/90 {
  background-color: rgb(16 185 129 / 0.9);
}
.bg-emerald-500\/\[0\.04\] {
  background-color: rgb(16 185 129 / 0.04);
}
.bg-emerald-500\/\[0\.05\] {
  background-color: rgb(16 185 129 / 0.05);
}
.bg-emerald-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-emerald-900\/20 {
  background-color: rgb(6 78 59 / 0.2);
}
.bg-emerald-900\/30 {
  background-color: rgb(6 78 59 / 0.3);
}
.bg-fuchsia-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 171 252 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(232 121 249 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 70 239 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-500\/10 {
  background-color: rgb(217 70 239 / 0.1);
}
.bg-fuchsia-500\/15 {
  background-color: rgb(217 70 239 / 0.15);
}
.bg-fuchsia-500\/20 {
  background-color: rgb(217 70 239 / 0.2);
}
.bg-fuchsia-500\/25 {
  background-color: rgb(217 70 239 / 0.25);
}
.bg-fuchsia-500\/\[0\.05\] {
  background-color: rgb(217 70 239 / 0.05);
}
.bg-fuchsia-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 38 211 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-600\/10 {
  background-color: rgb(192 38 211 / 0.1);
}
.bg-fuchsia-600\/15 {
  background-color: rgb(192 38 211 / 0.15);
}
.bg-fuchsia-600\/20 {
  background-color: rgb(192 38 211 / 0.2);
}
.bg-fuchsia-600\/30 {
  background-color: rgb(192 38 211 / 0.3);
}
.bg-fuchsia-600\/80 {
  background-color: rgb(192 38 211 / 0.8);
}
.bg-fuchsia-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(134 25 143 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(112 26 117 / var(--tw-bg-opacity, 1));
}
.bg-fuchsia-900\/30 {
  background-color: rgb(112 26 117 / 0.3);
}
.bg-fuchsia-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 4 78 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.bg-gray-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.bg-gray-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.bg-gray-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-green-400\/10 {
  background-color: rgb(74 222 128 / 0.1);
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10 {
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/15 {
  background-color: rgb(34 197 94 / 0.15);
}
.bg-green-500\/20 {
  background-color: rgb(34 197 94 / 0.2);
}
.bg-green-500\/25 {
  background-color: rgb(34 197 94 / 0.25);
}
.bg-green-500\/90 {
  background-color: rgb(34 197 94 / 0.9);
}
.bg-green-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.bg-green-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
}
.bg-indigo-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1));
}
.bg-indigo-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(165 180 252 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500\/15 {
  background-color: rgb(99 102 241 / 0.15);
}
.bg-indigo-500\/20 {
  background-color: rgb(99 102 241 / 0.2);
}
.bg-indigo-500\/50 {
  background-color: rgb(99 102 241 / 0.5);
}
.bg-indigo-500\/\[0\.06\] {
  background-color: rgb(99 102 241 / 0.06);
}
.bg-indigo-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-indigo-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(49 46 129 / var(--tw-bg-opacity, 1));
}
.bg-indigo-900\/40 {
  background-color: rgb(49 46 129 / 0.4);
}
.bg-indigo-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 27 75 / var(--tw-bg-opacity, 1));
}
.bg-lime-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(163 230 53 / var(--tw-bg-opacity, 1));
}
.bg-lime-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(54 83 20 / var(--tw-bg-opacity, 1));
}
.bg-neutral-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}
.bg-neutral-800\/50 {
  background-color: rgb(38 38 38 / 0.5);
}
.bg-neutral-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(23 23 23 / var(--tw-bg-opacity, 1));
}
.bg-orange-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}
.bg-orange-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 186 116 / var(--tw-bg-opacity, 1));
}
.bg-orange-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.bg-orange-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.bg-orange-500\/10 {
  background-color: rgb(249 115 22 / 0.1);
}
.bg-orange-500\/20 {
  background-color: rgb(249 115 22 / 0.2);
}
.bg-orange-500\/30 {
  background-color: rgb(249 115 22 / 0.3);
}
.bg-orange-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-orange-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(154 52 18 / var(--tw-bg-opacity, 1));
}
.bg-orange-900\/30 {
  background-color: rgb(124 45 18 / 0.3);
}
.bg-pink-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 168 212 / var(--tw-bg-opacity, 1));
}
.bg-pink-500\/10 {
  background-color: rgb(236 72 153 / 0.1);
}
.bg-pink-500\/15 {
  background-color: rgb(236 72 153 / 0.15);
}
.bg-pink-500\/20 {
  background-color: rgb(236 72 153 / 0.2);
}
.bg-pink-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.bg-pink-600\/20 {
  background-color: rgb(219 39 119 / 0.2);
}
.bg-purple-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}
.bg-purple-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-purple-500\/10 {
  background-color: rgb(168 85 247 / 0.1);
}
.bg-purple-500\/15 {
  background-color: rgb(168 85 247 / 0.15);
}
.bg-purple-500\/20 {
  background-color: rgb(168 85 247 / 0.2);
}
.bg-purple-500\/25 {
  background-color: rgb(168 85 247 / 0.25);
}
.bg-purple-500\/30 {
  background-color: rgb(168 85 247 / 0.3);
}
.bg-purple-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.bg-purple-600\/15 {
  background-color: rgb(147 51 234 / 0.15);
}
.bg-purple-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}
.bg-purple-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.bg-purple-900\/20 {
  background-color: rgb(88 28 135 / 0.2);
}
.bg-purple-900\/30 {
  background-color: rgb(88 28 135 / 0.3);
}
.bg-purple-950\/20 {
  background-color: rgb(59 7 100 / 0.2);
}
.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.bg-red-400\/10 {
  background-color: rgb(248 113 113 / 0.1);
}
.bg-red-400\/50 {
  background-color: rgb(248 113 113 / 0.5);
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-red-500\/10 {
  background-color: rgb(239 68 68 / 0.1);
}
.bg-red-500\/15 {
  background-color: rgb(239 68 68 / 0.15);
}
.bg-red-500\/20 {
  background-color: rgb(239 68 68 / 0.2);
}
.bg-red-500\/25 {
  background-color: rgb(239 68 68 / 0.25);
}
.bg-red-500\/5 {
  background-color: rgb(239 68 68 / 0.05);
}
.bg-red-500\/80 {
  background-color: rgb(239 68 68 / 0.8);
}
.bg-red-500\/90 {
  background-color: rgb(239 68 68 / 0.9);
}
.bg-red-500\/\[0\.03\] {
  background-color: rgb(239 68 68 / 0.03);
}
.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.bg-red-600\/20 {
  background-color: rgb(220 38 38 / 0.2);
}
.bg-red-600\/90 {
  background-color: rgb(220 38 38 / 0.9);
}
.bg-red-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.bg-red-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}
.bg-red-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}
.bg-red-900\/30 {
  background-color: rgb(127 29 29 / 0.3);
}
.bg-red-950\/20 {
  background-color: rgb(69 10 10 / 0.2);
}
.bg-red-950\/70 {
  background-color: rgb(69 10 10 / 0.7);
}
.bg-rose-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}
.bg-rose-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.bg-rose-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}
.bg-sky-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(186 230 253 / var(--tw-bg-opacity, 1));
}
.bg-sky-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}
.bg-slate-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.bg-slate-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.bg-slate-400\/10 {
  background-color: rgb(148 163 184 / 0.1);
}
.bg-slate-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-500\/10 {
  background-color: rgb(100 116 139 / 0.1);
}
.bg-slate-500\/20 {
  background-color: rgb(100 116 139 / 0.2);
}
.bg-slate-500\/25 {
  background-color: rgb(100 116 139 / 0.25);
}
.bg-slate-600\/30 {
  background-color: rgb(71 85 105 / 0.3);
}
.bg-slate-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.bg-slate-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-800\/40 {
  background-color: rgb(30 41 59 / 0.4);
}
.bg-slate-800\/50 {
  background-color: rgb(30 41 59 / 0.5);
}
.bg-slate-800\/60 {
  background-color: rgb(30 41 59 / 0.6);
}
.bg-slate-800\/80 {
  background-color: rgb(30 41 59 / 0.8);
}
.bg-slate-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}
.bg-slate-900\/20 {
  background-color: rgb(15 23 42 / 0.2);
}
.bg-slate-900\/40 {
  background-color: rgb(15 23 42 / 0.4);
}
.bg-slate-900\/50 {
  background-color: rgb(15 23 42 / 0.5);
}
.bg-slate-900\/60 {
  background-color: rgb(15 23 42 / 0.6);
}
.bg-slate-900\/70 {
  background-color: rgb(15 23 42 / 0.7);
}
.bg-slate-900\/80 {
  background-color: rgb(15 23 42 / 0.8);
}
.bg-slate-900\/95 {
  background-color: rgb(15 23 42 / 0.95);
}
.bg-slate-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-stone-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(120 113 108 / var(--tw-bg-opacity, 1));
}
.bg-stone-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(28 25 23 / var(--tw-bg-opacity, 1));
}
.bg-teal-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 191 / var(--tw-bg-opacity, 1));
}
.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-teal-500\/20 {
  background-color: rgb(20 184 166 / 0.2);
}
.bg-transparent {
  background-color: transparent;
}
.bg-violet-500\/10 {
  background-color: rgb(139 92 246 / 0.1);
}
.bg-violet-500\/15 {
  background-color: rgb(139 92 246 / 0.15);
}
.bg-violet-500\/20 {
  background-color: rgb(139 92 246 / 0.2);
}
.bg-violet-600\/20 {
  background-color: rgb(124 58 237 / 0.2);
}
.bg-violet-600\/30 {
  background-color: rgb(124 58 237 / 0.3);
}
.bg-violet-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(76 29 149 / var(--tw-bg-opacity, 1));
}
.bg-violet-900\/20 {
  background-color: rgb(76 29 149 / 0.2);
}
.bg-violet-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(46 16 101 / var(--tw-bg-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20 {
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/25 {
  background-color: rgb(255 255 255 / 0.25);
}
.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/\[0\.01\] {
  background-color: rgb(255 255 255 / 0.01);
}
.bg-white\/\[0\.025\] {
  background-color: rgb(255 255 255 / 0.025);
}
.bg-white\/\[0\.02\] {
  background-color: rgb(255 255 255 / 0.02);
}
.bg-white\/\[0\.03\] {
  background-color: rgb(255 255 255 / 0.03);
}
.bg-white\/\[0\.04\] {
  background-color: rgb(255 255 255 / 0.04);
}
.bg-white\/\[0\.05\] {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.bg-white\/\[0\.07\] {
  background-color: rgb(255 255 255 / 0.07);
}
.bg-white\/\[0\.08\] {
  background-color: rgb(255 255 255 / 0.08);
}
.bg-yellow-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}
.bg-yellow-200\/50 {
  background-color: rgb(254 240 138 / 0.5);
}
.bg-yellow-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1));
}
.bg-yellow-300\/20 {
  background-color: rgb(253 224 71 / 0.2);
}
.bg-yellow-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-400\/10 {
  background-color: rgb(250 204 21 / 0.1);
}
.bg-yellow-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
}
.bg-yellow-500\/10 {
  background-color: rgb(234 179 8 / 0.1);
}
.bg-yellow-500\/15 {
  background-color: rgb(234 179 8 / 0.15);
}
.bg-yellow-500\/20 {
  background-color: rgb(234 179 8 / 0.2);
}
.bg-yellow-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(113 63 18 / var(--tw-bg-opacity, 1));
}
.bg-zinc-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(161 161 170 / var(--tw-bg-opacity, 1));
}
.bg-zinc-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}
.bg-\[radial-gradient\(circle_at_30\%_50\%\2c rgba\(6\2c 182\2c 212\2c 0\.08\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(circle at 30% 50%,rgba(6,182,212,0.08),transparent 60%);
}
.bg-\[radial-gradient\(circle_at_50\%_0\%\2c rgba\(6\2c 182\2c 212\2c 0\.15\)\2c transparent_70\%\)\] {
  background-image: radial-gradient(circle at 50% 0%,rgba(6,182,212,0.15),transparent 70%);
}
.bg-\[radial-gradient\(circle_at_center\2c transparent_40\%\2c \#060a11_100\%\)\] {
  background-image: radial-gradient(circle at center,transparent 40%,#060a11 100%);
}
.bg-\[radial-gradient\(ellipse_at_center\2c _var\(--tw-gradient-stops\)\)\] {
  background-image: radial-gradient(ellipse at center, var(--tw-gradient-stops));
}
.bg-\[radial-gradient\(ellipse_at_top\2c _var\(--tw-gradient-stops\)\)\] {
  background-image: radial-gradient(ellipse at top, var(--tw-gradient-stops));
}
.bg-\[url\(\'https\:\/\/www\.transparenttextures\.com\/patterns\/cubes\.png\'\)\] {
  background-image: url('https://www.transparenttextures.com/patterns/cubes.png');
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-bl {
  background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.bg-gradient-to-t {
  background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.bg-gradient-to-tl {
  background-image: linear-gradient(to top left, var(--tw-gradient-stops));
}
.bg-gradient-to-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}
.from-\[\#00D9FF\] {
  --tw-gradient-from: #00D9FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 217 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#00FF41\]\/40 {
  --tw-gradient-from: rgb(0 255 65 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 255 65 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#00FFFF\] {
  --tw-gradient-from: #00FFFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#00FFFF\]\/10 {
  --tw-gradient-from: rgb(0 255 255 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#00FFFF\]\/40 {
  --tw-gradient-from: rgb(0 255 255 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#02050A\] {
  --tw-gradient-from: #02050A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 5 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#02050A\]\/90 {
  --tw-gradient-from: rgb(2 5 10 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 5 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#020510\] {
  --tw-gradient-from: #020510 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 5 16 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#030712\] {
  --tw-gradient-from: #030712 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(3 7 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#050505\] {
  --tw-gradient-from: #050505 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 5 5 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#05070f\] {
  --tw-gradient-from: #05070f var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 7 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#050b14\] {
  --tw-gradient-from: #050b14 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 11 20 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#060a11\] {
  --tw-gradient-from: #060a11 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 10 17 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#06b6d4\] {
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#080b14\] {
  --tw-gradient-from: #080b14 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 11 20 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a0f1d\] {
  --tw-gradient-from: #0a0f1d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 15 29 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a1120\] {
  --tw-gradient-from: #0a1120 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 17 32 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a1222\] {
  --tw-gradient-from: #0a1222 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 18 34 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a1426\] {
  --tw-gradient-from: #0a1426 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 20 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a1628\] {
  --tw-gradient-from: #0a1628 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 22 40 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a1c2a\] {
  --tw-gradient-from: #0a1c2a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 28 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a1f15\] {
  --tw-gradient-from: #0a1f15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 31 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0c1830\] {
  --tw-gradient-from: #0c1830 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(12 24 48 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0c1a35\] {
  --tw-gradient-from: #0c1a35 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(12 26 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0d1f35\] {
  --tw-gradient-from: #0d1f35 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(13 31 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0d2818\] {
  --tw-gradient-from: #0d2818 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(13 40 24 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0e1426\] {
  --tw-gradient-from: #0e1426 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 20 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0e1830\] {
  --tw-gradient-from: #0e1830 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 24 48 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0e1d38\] {
  --tw-gradient-from: #0e1d38 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 29 56 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0f0c29\] {
  --tw-gradient-from: #0f0c29 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 12 41 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0f1a30\] {
  --tw-gradient-from: #0f1a30 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 26 48 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#111b30\] {
  --tw-gradient-from: #111b30 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 27 48 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#120818\] {
  --tw-gradient-from: #120818 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(18 8 24 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#140c30\] {
  --tw-gradient-from: #140c30 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 12 48 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1a0c20\] {
  --tw-gradient-from: #1a0c20 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 12 32 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1a0e2e\] {
  --tw-gradient-from: #1a0e2e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 14 46 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1a0f20\] {
  --tw-gradient-from: #1a0f20 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 15 32 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#201408\] {
  --tw-gradient-from: #201408 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(32 20 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#222\] {
  --tw-gradient-from: #222 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 34 34 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#229ED9\] {
  --tw-gradient-from: #229ED9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 158 217 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#2AABEE\] {
  --tw-gradient-from: #2AABEE var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(42 171 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#2EFF8A\] {
  --tw-gradient-from: #2EFF8A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(46 255 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#2e1065\] {
  --tw-gradient-from: #2e1065 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(46 16 101 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#301E67\]\/20 {
  --tw-gradient-from: rgb(48 30 103 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(48 30 103 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#5B8FB9\]\/30 {
  --tw-gradient-from: rgb(91 143 185 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(91 143 185 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#9B5CFF\] {
  --tw-gradient-from: #9B5CFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(155 92 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#9B5CFF\]\/30 {
  --tw-gradient-from: rgb(155 92 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(155 92 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#9B5CFF\]\/5 {
  --tw-gradient-from: rgb(155 92 255 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(155 92 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#FF4FD8\]\/5 {
  --tw-gradient-from: rgb(255 79 216 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 79 216 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#ff4fd8\] {
  --tw-gradient-from: #ff4fd8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 79 216 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500 {
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/10 {
  --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/15 {
  --tw-gradient-from: rgb(245 158 11 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/25 {
  --tw-gradient-from: rgb(245 158 11 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/5 {
  --tw-gradient-from: rgb(245 158 11 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-600 {
  --tw-gradient-from: #d97706 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 119 6 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black {
  --tw-gradient-from: #000 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/20 {
  --tw-gradient-from: rgb(0 0 0 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/80 {
  --tw-gradient-from: rgb(0 0 0 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400 {
  --tw-gradient-from: #60a5fa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-400\/20 {
  --tw-gradient-from: rgb(96 165 250 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(96 165 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500 {
  --tw-gradient-from: #3b82f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/10 {
  --tw-gradient-from: rgb(59 130 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/15 {
  --tw-gradient-from: rgb(59 130 246 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/25 {
  --tw-gradient-from: rgb(59 130 246 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/30 {
  --tw-gradient-from: rgb(59 130 246 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-500\/5 {
  --tw-gradient-from: rgb(59 130 246 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-600 {
  --tw-gradient-from: #2563eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(37 99 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-900\/40 {
  --tw-gradient-from: rgb(30 58 138 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-200\/10 {
  --tw-gradient-from: rgb(165 243 252 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(165 243 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-300 {
  --tw-gradient-from: #67e8f9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(103 232 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-400 {
  --tw-gradient-from: #22d3ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500 {
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/10 {
  --tw-gradient-from: rgb(6 182 212 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/15 {
  --tw-gradient-from: rgb(6 182 212 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/20 {
  --tw-gradient-from: rgb(6 182 212 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/25 {
  --tw-gradient-from: rgb(6 182 212 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-500\/5 {
  --tw-gradient-from: rgb(6 182 212 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-600 {
  --tw-gradient-from: #0891b2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-600\/15 {
  --tw-gradient-from: rgb(8 145 178 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-400 {
  --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500 {
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/10 {
  --tw-gradient-from: rgb(16 185 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/15 {
  --tw-gradient-from: rgb(16 185 129 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/20 {
  --tw-gradient-from: rgb(16 185 129 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/25 {
  --tw-gradient-from: rgb(16 185 129 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/30 {
  --tw-gradient-from: rgb(16 185 129 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-600 {
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-900\/30 {
  --tw-gradient-from: rgb(6 78 59 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-900\/40 {
  --tw-gradient-from: rgb(6 78 59 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500 {
  --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/10 {
  --tw-gradient-from: rgb(217 70 239 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/20 {
  --tw-gradient-from: rgb(217 70 239 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/25 {
  --tw-gradient-from: rgb(217 70 239 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500\/30 {
  --tw-gradient-from: rgb(217 70 239 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-600 {
  --tw-gradient-from: #c026d3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 38 211 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-600\/15 {
  --tw-gradient-from: rgb(192 38 211 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 38 211 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-600\/60 {
  --tw-gradient-from: rgb(192 38 211 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 38 211 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-900\/20 {
  --tw-gradient-from: rgb(112 26 117 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(112 26 117 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-900\/30 {
  --tw-gradient-from: rgb(112 26 117 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(112 26 117 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-900\/40 {
  --tw-gradient-from: rgb(112 26 117 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(112 26 117 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-400 {
  --tw-gradient-from: #4ade80 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500 {
  --tw-gradient-from: #22c55e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-500\/25 {
  --tw-gradient-from: rgb(34 197 94 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-700 {
  --tw-gradient-from: #15803d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(21 128 61 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500 {
  --tw-gradient-from: #6366f1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500\/20 {
  --tw-gradient-from: rgb(99 102 241 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-900\/30 {
  --tw-gradient-from: rgb(49 46 129 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-900\/60 {
  --tw-gradient-from: rgb(49 46 129 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-900\/70 {
  --tw-gradient-from: rgb(49 46 129 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-400 {
  --tw-gradient-from: #a3e635 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(163 230 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-500\/20 {
  --tw-gradient-from: rgb(132 204 22 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-400 {
  --tw-gradient-from: #fb923c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500 {
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/10 {
  --tw-gradient-from: rgb(249 115 22 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/15 {
  --tw-gradient-from: rgb(249 115 22 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/30 {
  --tw-gradient-from: rgb(249 115 22 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-600 {
  --tw-gradient-from: #ea580c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-200 {
  --tw-gradient-from: #fbcfe8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 207 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-300 {
  --tw-gradient-from: #f9a8d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 168 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-400 {
  --tw-gradient-from: #f472b6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500 {
  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/20 {
  --tw-gradient-from: rgb(236 72 153 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/25 {
  --tw-gradient-from: rgb(236 72 153 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500 {
  --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/10 {
  --tw-gradient-from: rgb(168 85 247 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/15 {
  --tw-gradient-from: rgb(168 85 247 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/20 {
  --tw-gradient-from: rgb(168 85 247 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/30 {
  --tw-gradient-from: rgb(168 85 247 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-500\/5 {
  --tw-gradient-from: rgb(168 85 247 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-600 {
  --tw-gradient-from: #9333ea var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-600\/30 {
  --tw-gradient-from: rgb(147 51 234 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-700\/20 {
  --tw-gradient-from: rgb(126 34 206 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(126 34 206 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-800 {
  --tw-gradient-from: #6b21a8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 33 168 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900 {
  --tw-gradient-from: #581c87 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900\/20 {
  --tw-gradient-from: rgb(88 28 135 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900\/25 {
  --tw-gradient-from: rgb(88 28 135 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900\/40 {
  --tw-gradient-from: rgb(88 28 135 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500 {
  --tw-gradient-from: #ef4444 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/10 {
  --tw-gradient-from: rgb(239 68 68 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-500\/15 {
  --tw-gradient-from: rgb(239 68 68 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-600 {
  --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500 {
  --tw-gradient-from: #f43f5e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-600 {
  --tw-gradient-from: #e11d48 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(225 29 72 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-400 {
  --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500\/10 {
  --tw-gradient-from: rgb(100 116 139 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-900 {
  --tw-gradient-from: #0f172a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 23 42 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-400 {
  --tw-gradient-from: #2dd4bf var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(45 212 191 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-transparent {
  --tw-gradient-from: transparent var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400\/20 {
  --tw-gradient-from: rgb(167 139 250 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-500\/10 {
  --tw-gradient-from: rgb(139 92 246 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600 {
  --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600\/20 {
  --tw-gradient-from: rgb(124 58 237 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600\/25 {
  --tw-gradient-from: rgb(124 58 237 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600\/30 {
  --tw-gradient-from: rgb(124 58 237 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-900\/30 {
  --tw-gradient-from: rgb(76 29 149 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(76 29 149 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white {
  --tw-gradient-from: #fff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/10 {
  --tw-gradient-from: rgb(255 255 255 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/15 {
  --tw-gradient-from: rgb(255 255 255 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/5 {
  --tw-gradient-from: rgb(255 255 255 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-400 {
  --tw-gradient-from: #facc15 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-500\/20 {
  --tw-gradient-from: rgb(234 179 8 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#00D9FF\]\/30 {
  --tw-gradient-to: rgb(0 217 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 217 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#020205\] {
  --tw-gradient-to: rgb(2 2 5 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #020205 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#02050A\]\/90 {
  --tw-gradient-to: rgb(2 5 10 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(2 5 10 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#03001C\] {
  --tw-gradient-to: rgb(3 0 28 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #03001C var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#05070f\]\/95 {
  --tw-gradient-to: rgb(5 7 15 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 7 15 / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#05081a\] {
  --tw-gradient-to: rgb(5 8 26 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #05081a var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#050b14\]\/95 {
  --tw-gradient-to: rgb(5 11 20 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 11 20 / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#060a11\]\/90 {
  --tw-gradient-to: rgb(6 10 17 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(6 10 17 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0a0f1d\] {
  --tw-gradient-to: rgb(10 15 29 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0a0f1d var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0a0f1d\]\/60 {
  --tw-gradient-to: rgb(10 15 29 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(10 15 29 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0a1120\]\/60 {
  --tw-gradient-to: rgb(10 17 32 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(10 17 32 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0c1022\] {
  --tw-gradient-to: rgb(12 16 34 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0c1022 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0d0528\] {
  --tw-gradient-to: rgb(13 5 40 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0d0528 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0d1a30\] {
  --tw-gradient-to: rgb(13 26 48 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0d1a30 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#10183099\] {
  --tw-gradient-to: rgb(16 24 48 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #10183099 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#9B5CFF\] {
  --tw-gradient-to: rgb(155 92 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9B5CFF var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#FF00FF\] {
  --tw-gradient-to: rgb(255 0 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FF00FF var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-500 {
  --tw-gradient-to: rgb(245 158 11 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f59e0b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #000 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-500 {
  --tw-gradient-to: rgb(59 130 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #3b82f6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-700\/10 {
  --tw-gradient-to: rgb(29 78 216 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(29 78 216 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-100 {
  --tw-gradient-to: rgb(207 250 254 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #cffafe var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-500\/30 {
  --tw-gradient-to: rgb(6 182 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(6 182 212 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-300 {
  --tw-gradient-to: rgb(240 171 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f0abfc var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-400 {
  --tw-gradient-to: rgb(232 121 249 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #e879f9 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-500\/10 {
  --tw-gradient-to: rgb(217 70 239 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(217 70 239 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-600\/15 {
  --tw-gradient-to: rgb(79 70 229 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(79 70 229 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-900\/30 {
  --tw-gradient-to: rgb(49 46 129 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(49 46 129 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-400 {
  --tw-gradient-to: rgb(251 146 60 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fb923c var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-900 {
  --tw-gradient-to: rgb(124 45 18 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7c2d12 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-200 {
  --tw-gradient-to: rgb(233 213 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #e9d5ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-500\/10 {
  --tw-gradient-to: rgb(168 85 247 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(168 85 247 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-900 {
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f172a var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-400 {
  --tw-gradient-to: rgb(167 139 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a78bfa var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-900\/30 {
  --tw-gradient-to: rgb(76 29 149 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(76 29 149 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/10 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/20 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/\[0\.03\] {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.03) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-white\/\[0\.05\] {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-yellow-500 {
  --tw-gradient-to: rgb(234 179 8 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #eab308 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#00D9FF\] {
  --tw-gradient-to: #00D9FF var(--tw-gradient-to-position);
}
.to-\[\#00D9FF\]\/20 {
  --tw-gradient-to: rgb(0 217 255 / 0.2) var(--tw-gradient-to-position);
}
.to-\[\#020510\] {
  --tw-gradient-to: #020510 var(--tw-gradient-to-position);
}
.to-\[\#03001C\] {
  --tw-gradient-to: #03001C var(--tw-gradient-to-position);
}
.to-\[\#060a12\] {
  --tw-gradient-to: #060a12 var(--tw-gradient-to-position);
}
.to-\[\#060e1e\] {
  --tw-gradient-to: #060e1e var(--tw-gradient-to-position);
}
.to-\[\#0a0518\] {
  --tw-gradient-to: #0a0518 var(--tw-gradient-to-position);
}
.to-\[\#0a0f1d\] {
  --tw-gradient-to: #0a0f1d var(--tw-gradient-to-position);
}
.to-\[\#0a0f25\] {
  --tw-gradient-to: #0a0f25 var(--tw-gradient-to-position);
}
.to-\[\#0a1020\] {
  --tw-gradient-to: #0a1020 var(--tw-gradient-to-position);
}
.to-\[\#0a1428\] {
  --tw-gradient-to: #0a1428 var(--tw-gradient-to-position);
}
.to-\[\#0a1628\] {
  --tw-gradient-to: #0a1628 var(--tw-gradient-to-position);
}
.to-\[\#0a1e28\] {
  --tw-gradient-to: #0a1e28 var(--tw-gradient-to-position);
}
.to-\[\#0d1526\] {
  --tw-gradient-to: #0d1526 var(--tw-gradient-to-position);
}
.to-\[\#0e0a1d\] {
  --tw-gradient-to: #0e0a1d var(--tw-gradient-to-position);
}
.to-\[\#111\] {
  --tw-gradient-to: #111 var(--tw-gradient-to-position);
}
.to-\[\#111d35\] {
  --tw-gradient-to: #111d35 var(--tw-gradient-to-position);
}
.to-\[\#151e32\]\/70 {
  --tw-gradient-to: rgb(21 30 50 / 0.7) var(--tw-gradient-to-position);
}
.to-\[\#1a1f3d\] {
  --tw-gradient-to: #1a1f3d var(--tw-gradient-to-position);
}
.to-\[\#229ED9\] {
  --tw-gradient-to: #229ED9 var(--tw-gradient-to-position);
}
.to-\[\#301E67\]\/30 {
  --tw-gradient-to: rgb(48 30 103 / 0.3) var(--tw-gradient-to-position);
}
.to-\[\#302b63\] {
  --tw-gradient-to: #302b63 var(--tw-gradient-to-position);
}
.to-\[\#4c1d95\]\/40 {
  --tw-gradient-to: rgb(76 29 149 / 0.4) var(--tw-gradient-to-position);
}
.to-\[\#5B8FB9\] {
  --tw-gradient-to: #5B8FB9 var(--tw-gradient-to-position);
}
.to-\[\#5B8FB9\]\/20 {
  --tw-gradient-to: rgb(91 143 185 / 0.2) var(--tw-gradient-to-position);
}
.to-\[\#FF00FF\] {
  --tw-gradient-to: #FF00FF var(--tw-gradient-to-position);
}
.to-\[\#FF00FF\]\/40 {
  --tw-gradient-to: rgb(255 0 255 / 0.4) var(--tw-gradient-to-position);
}
.to-\[\#FF4FD8\] {
  --tw-gradient-to: #FF4FD8 var(--tw-gradient-to-position);
}
.to-\[\#a855f7\] {
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}
.to-amber-400 {
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}
.to-amber-600\/10 {
  --tw-gradient-to: rgb(217 119 6 / 0.1) var(--tw-gradient-to-position);
}
.to-amber-700 {
  --tw-gradient-to: #b45309 var(--tw-gradient-to-position);
}
.to-black {
  --tw-gradient-to: #000 var(--tw-gradient-to-position);
}
.to-blue-300 {
  --tw-gradient-to: #93c5fd var(--tw-gradient-to-position);
}
.to-blue-500 {
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-500\/15 {
  --tw-gradient-to: rgb(59 130 246 / 0.15) var(--tw-gradient-to-position);
}
.to-blue-500\/20 {
  --tw-gradient-to: rgb(59 130 246 / 0.2) var(--tw-gradient-to-position);
}
.to-blue-600 {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-600\/10 {
  --tw-gradient-to: rgb(37 99 235 / 0.1) var(--tw-gradient-to-position);
}
.to-cyan-200 {
  --tw-gradient-to: #a5f3fc var(--tw-gradient-to-position);
}
.to-cyan-300 {
  --tw-gradient-to: #67e8f9 var(--tw-gradient-to-position);
}
.to-cyan-400 {
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}
.to-cyan-500 {
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}
.to-cyan-500\/10 {
  --tw-gradient-to: rgb(6 182 212 / 0.1) var(--tw-gradient-to-position);
}
.to-cyan-500\/15 {
  --tw-gradient-to: rgb(6 182 212 / 0.15) var(--tw-gradient-to-position);
}
.to-cyan-500\/20 {
  --tw-gradient-to: rgb(6 182 212 / 0.2) var(--tw-gradient-to-position);
}
.to-cyan-500\/30 {
  --tw-gradient-to: rgb(6 182 212 / 0.3) var(--tw-gradient-to-position);
}
.to-cyan-500\/60 {
  --tw-gradient-to: rgb(6 182 212 / 0.6) var(--tw-gradient-to-position);
}
.to-cyan-600 {
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}
.to-cyan-600\/10 {
  --tw-gradient-to: rgb(8 145 178 / 0.1) var(--tw-gradient-to-position);
}
.to-cyan-600\/20 {
  --tw-gradient-to: rgb(8 145 178 / 0.2) var(--tw-gradient-to-position);
}
.to-cyan-700 {
  --tw-gradient-to: #0e7490 var(--tw-gradient-to-position);
}
.to-cyan-900\/20 {
  --tw-gradient-to: rgb(22 78 99 / 0.2) var(--tw-gradient-to-position);
}
.to-cyan-900\/40 {
  --tw-gradient-to: rgb(22 78 99 / 0.4) var(--tw-gradient-to-position);
}
.to-emerald-400 {
  --tw-gradient-to: #34d399 var(--tw-gradient-to-position);
}
.to-emerald-500 {
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}
.to-emerald-500\/20 {
  --tw-gradient-to: rgb(16 185 129 / 0.2) var(--tw-gradient-to-position);
}
.to-emerald-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-emerald-600\/10 {
  --tw-gradient-to: rgb(5 150 105 / 0.1) var(--tw-gradient-to-position);
}
.to-fuchsia-400 {
  --tw-gradient-to: #e879f9 var(--tw-gradient-to-position);
}
.to-fuchsia-500 {
  --tw-gradient-to: #d946ef var(--tw-gradient-to-position);
}
.to-fuchsia-500\/20 {
  --tw-gradient-to: rgb(217 70 239 / 0.2) var(--tw-gradient-to-position);
}
.to-fuchsia-600\/15 {
  --tw-gradient-to: rgb(192 38 211 / 0.15) var(--tw-gradient-to-position);
}
.to-fuchsia-900\/40 {
  --tw-gradient-to: rgb(112 26 117 / 0.4) var(--tw-gradient-to-position);
}
.to-green-500 {
  --tw-gradient-to: #22c55e var(--tw-gradient-to-position);
}
.to-green-500\/10 {
  --tw-gradient-to: rgb(34 197 94 / 0.1) var(--tw-gradient-to-position);
}
.to-green-500\/15 {
  --tw-gradient-to: rgb(34 197 94 / 0.15) var(--tw-gradient-to-position);
}
.to-indigo-500 {
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.to-indigo-600 {
  --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-indigo-600\/10 {
  --tw-gradient-to: rgb(79 70 229 / 0.1) var(--tw-gradient-to-position);
}
.to-indigo-700 {
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}
.to-indigo-900 {
  --tw-gradient-to: #312e81 var(--tw-gradient-to-position);
}
.to-indigo-900\/40 {
  --tw-gradient-to: rgb(49 46 129 / 0.4) var(--tw-gradient-to-position);
}
.to-neutral-500 {
  --tw-gradient-to: #737373 var(--tw-gradient-to-position);
}
.to-orange-400 {
  --tw-gradient-to: #fb923c var(--tw-gradient-to-position);
}
.to-orange-400\/10 {
  --tw-gradient-to: rgb(251 146 60 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-500 {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}
.to-orange-500\/10 {
  --tw-gradient-to: rgb(249 115 22 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-500\/15 {
  --tw-gradient-to: rgb(249 115 22 / 0.15) var(--tw-gradient-to-position);
}
.to-orange-600 {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-orange-600\/10 {
  --tw-gradient-to: rgb(234 88 12 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-700 {
  --tw-gradient-to: #c2410c var(--tw-gradient-to-position);
}
.to-pink-400 {
  --tw-gradient-to: #f472b6 var(--tw-gradient-to-position);
}
.to-pink-500 {
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}
.to-pink-500\/10 {
  --tw-gradient-to: rgb(236 72 153 / 0.1) var(--tw-gradient-to-position);
}
.to-pink-500\/15 {
  --tw-gradient-to: rgb(236 72 153 / 0.15) var(--tw-gradient-to-position);
}
.to-pink-500\/20 {
  --tw-gradient-to: rgb(236 72 153 / 0.2) var(--tw-gradient-to-position);
}
.to-pink-500\/30 {
  --tw-gradient-to: rgb(236 72 153 / 0.3) var(--tw-gradient-to-position);
}
.to-pink-500\/5 {
  --tw-gradient-to: rgb(236 72 153 / 0.05) var(--tw-gradient-to-position);
}
.to-pink-700 {
  --tw-gradient-to: #be185d var(--tw-gradient-to-position);
}
.to-purple-300 {
  --tw-gradient-to: #d8b4fe var(--tw-gradient-to-position);
}
.to-purple-400 {
  --tw-gradient-to: #c084fc var(--tw-gradient-to-position);
}
.to-purple-500 {
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}
.to-purple-500\/10 {
  --tw-gradient-to: rgb(168 85 247 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-500\/20 {
  --tw-gradient-to: rgb(168 85 247 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-500\/5 {
  --tw-gradient-to: rgb(168 85 247 / 0.05) var(--tw-gradient-to-position);
}
.to-purple-600 {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-purple-600\/10 {
  --tw-gradient-to: rgb(147 51 234 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-600\/15 {
  --tw-gradient-to: rgb(147 51 234 / 0.15) var(--tw-gradient-to-position);
}
.to-purple-600\/20 {
  --tw-gradient-to: rgb(147 51 234 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-700 {
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}
.to-purple-700\/15 {
  --tw-gradient-to: rgb(126 34 206 / 0.15) var(--tw-gradient-to-position);
}
.to-purple-800\/10 {
  --tw-gradient-to: rgb(107 33 168 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-900\/20 {
  --tw-gradient-to: rgb(88 28 135 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-900\/40 {
  --tw-gradient-to: rgb(88 28 135 / 0.4) var(--tw-gradient-to-position);
}
.to-red-500\/10 {
  --tw-gradient-to: rgb(239 68 68 / 0.1) var(--tw-gradient-to-position);
}
.to-red-500\/15 {
  --tw-gradient-to: rgb(239 68 68 / 0.15) var(--tw-gradient-to-position);
}
.to-red-500\/30 {
  --tw-gradient-to: rgb(239 68 68 / 0.3) var(--tw-gradient-to-position);
}
.to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-rose-600 {
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.to-rose-700\/15 {
  --tw-gradient-to: rgb(190 18 60 / 0.15) var(--tw-gradient-to-position);
}
.to-teal-500 {
  --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}
.to-teal-500\/10 {
  --tw-gradient-to: rgb(20 184 166 / 0.1) var(--tw-gradient-to-position);
}
.to-teal-500\/20 {
  --tw-gradient-to: rgb(20 184 166 / 0.2) var(--tw-gradient-to-position);
}
.to-teal-500\/30 {
  --tw-gradient-to: rgb(20 184 166 / 0.3) var(--tw-gradient-to-position);
}
.to-teal-600\/10 {
  --tw-gradient-to: rgb(13 148 136 / 0.1) var(--tw-gradient-to-position);
}
.to-teal-700 {
  --tw-gradient-to: #0f766e var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-400 {
  --tw-gradient-to: #a78bfa var(--tw-gradient-to-position);
}
.to-violet-500 {
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}
.to-violet-500\/10 {
  --tw-gradient-to: rgb(139 92 246 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-500\/20 {
  --tw-gradient-to: rgb(139 92 246 / 0.2) var(--tw-gradient-to-position);
}
.to-violet-600 {
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}
.to-violet-600\/10 {
  --tw-gradient-to: rgb(124 58 237 / 0.1) var(--tw-gradient-to-position);
}
.to-violet-900\/20 {
  --tw-gradient-to: rgb(76 29 149 / 0.2) var(--tw-gradient-to-position);
}
.to-white\/5 {
  --tw-gradient-to: rgb(255 255 255 / 0.05) var(--tw-gradient-to-position);
}
.to-white\/70 {
  --tw-gradient-to: rgb(255 255 255 / 0.7) var(--tw-gradient-to-position);
}
.to-yellow-300 {
  --tw-gradient-to: #fde047 var(--tw-gradient-to-position);
}
.to-yellow-400 {
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}
.to-yellow-500 {
  --tw-gradient-to: #eab308 var(--tw-gradient-to-position);
}
.to-yellow-500\/10 {
  --tw-gradient-to: rgb(234 179 8 / 0.1) var(--tw-gradient-to-position);
}
.bg-cover {
  background-size: cover;
}
.bg-clip-text {
  -webkit-background-clip: text;
          background-clip: text;
}
.bg-center {
  background-position: center;
}
.fill-none {
  fill: none;
}
.stroke-green-400 {
  stroke: #4ade80;
}
.stroke-orange-400 {
  stroke: #fb923c;
}
.stroke-orange-500\/20 {
  stroke: rgb(249 115 22 / 0.2);
}
.stroke-white\/10 {
  stroke: rgb(255 255 255 / 0.1);
}
.stroke-yellow-400 {
  stroke: #facc15;
}
.stroke-yellow-500\/20 {
  stroke: rgb(234 179 8 / 0.2);
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.\!p-3 {
  padding: 0.75rem !important;
}
.p-0 {
  padding: 0px;
}
.p-0\.5 {
  padding: 0.125rem;
}
.p-1 {
  padding: 0.25rem;
}
.p-1\.5 {
  padding: 0.375rem;
}
.p-12 {
  padding: 3rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.p-\[18px\] {
  padding: 18px;
}
.p-\[1px\] {
  padding: 1px;
}
.p-\[2px\] {
  padding: 2px;
}
.px-0\.5 {
  padding-left: 0.125rem;
  padding-right: 0.125rem;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-1\.5 {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7 {
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}
.px-\[14px\] {
  padding-left: 14px;
  padding-right: 14px;
}
.py-0\.5 {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[9px\] {
  padding-top: 9px;
  padding-bottom: 9px;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-12 {
  padding-bottom: 3rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-24 {
  padding-bottom: 6rem;
}
.pb-28 {
  padding-bottom: 7rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-32 {
  padding-bottom: 8rem;
}
.pb-36 {
  padding-bottom: 9rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pb-\[100px\] {
  padding-bottom: 100px;
}
.pb-\[110px\] {
  padding-bottom: 110px;
}
.pb-\[120px\] {
  padding-bottom: 120px;
}
.pb-\[80px\] {
  padding-bottom: 80px;
}
.pb-\[90px\] {
  padding-bottom: 90px;
}
.pb-\[calc\(10px\+env\(safe-area-inset-bottom\2c 0px\)\)\] {
  padding-bottom: calc(10px + env(safe-area-inset-bottom,0px));
}
.pb-\[calc\(env\(safe-area-inset-bottom\)\+1\.25rem\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom) + 1.25rem);
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 16px\)\+16px\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,16px) + 16px);
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 20px\)\+20px\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,20px) + 20px);
}
.pb-\[calc\(env\(safe-area-inset-bottom\2c 24px\)\+64px\)\] {
  padding-bottom: calc(env(safe-area-inset-bottom,24px) + 64px);
}
.pb-\[env\(safe-area-inset-bottom\2c 0px\)\] {
  padding-bottom: env(safe-area-inset-bottom,0px);
}
.pb-\[env\(safe-area-inset-bottom\2c 16px\)\] {
  padding-bottom: env(safe-area-inset-bottom,16px);
}
.pl-1 {
  padding-left: 0.25rem;
}
.pl-10 {
  padding-left: 2.5rem;
}
.pl-12 {
  padding-left: 3rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pl-9 {
  padding-left: 2.25rem;
}
.pr-0\.5 {
  padding-right: 0.125rem;
}
.pr-1 {
  padding-right: 0.25rem;
}
.pr-14 {
  padding-right: 3.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-3 {
  padding-right: 0.75rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-1\.5 {
  padding-top: 0.375rem;
}
.pt-10 {
  padding-top: 2.5rem;
}
.pt-12 {
  padding-top: 3rem;
}
.pt-16 {
  padding-top: 4rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-32 {
  padding-top: 8rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-5 {
  padding-top: 1.25rem;
}
.pt-6 {
  padding-top: 1.5rem;
}
.pt-8 {
  padding-top: 2rem;
}
.pt-\[calc\(env\(safe-area-inset-top\2c 12px\)\+5px\)\] {
  padding-top: calc(env(safe-area-inset-top,12px) + 5px);
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.align-middle {
  vertical-align: middle;
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans {
  font-family: -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
}
.font-serif {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[10\.5px\] {
  font-size: 10.5px;
}
.text-\[100px\] {
  font-size: 100px;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11\.5px\] {
  font-size: 11.5px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12\.5px\] {
  font-size: 12.5px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[14px\] {
  font-size: 14px;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[16px\] {
  font-size: 16px;
}
.text-\[17px\] {
  font-size: 17px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[20px\] {
  font-size: 20px;
}
.text-\[22px\] {
  font-size: 22px;
}
.text-\[24px\] {
  font-size: 24px;
}
.text-\[26px\] {
  font-size: 26px;
}
.text-\[28px\] {
  font-size: 28px;
}
.text-\[30px\] {
  font-size: 30px;
}
.text-\[32px\] {
  font-size: 32px;
}
.text-\[34px\] {
  font-size: 34px;
}
.text-\[40px\] {
  font-size: 40px;
}
.text-\[6px\] {
  font-size: 6px;
}
.text-\[7\.5px\] {
  font-size: 7.5px;
}
.text-\[7px\] {
  font-size: 7px;
}
.text-\[8\.5px\] {
  font-size: 8.5px;
}
.text-\[8px\] {
  font-size: 8px;
}
.text-\[9\.5px\] {
  font-size: 9.5px;
}
.text-\[9px\] {
  font-size: 9px;
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black {
  font-weight: 900;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-light {
  font-weight: 300;
}
.font-medium {
  font-weight: 500;
}
.font-normal {
  font-weight: 400;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.capitalize {
  text-transform: capitalize;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-\[0\.95\] {
  line-height: 0.95;
}
.leading-\[1\.1\] {
  line-height: 1.1;
}
.leading-\[13px\] {
  line-height: 13px;
}
.leading-\[22px\] {
  line-height: 22px;
}
.leading-\[8px\] {
  line-height: 8px;
}
.leading-loose {
  line-height: 2;
}
.leading-none {
  line-height: 1;
}
.leading-normal {
  line-height: 1.5;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.08em\] {
  letter-spacing: 0.08em;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-\[0\.4em\] {
  letter-spacing: 0.4em;
}
.tracking-\[0\.5em\] {
  letter-spacing: 0.5em;
}
.tracking-\[3px\] {
  letter-spacing: 3px;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-tighter {
  letter-spacing: -0.05em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.text-\[\#000000\] {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-\[\#001D35\] {
  --tw-text-opacity: 1;
  color: rgb(0 29 53 / var(--tw-text-opacity, 1));
}
.text-\[\#00D9FF\] {
  --tw-text-opacity: 1;
  color: rgb(0 217 255 / var(--tw-text-opacity, 1));
}
.text-\[\#00FF41\] {
  --tw-text-opacity: 1;
  color: rgb(0 255 65 / var(--tw-text-opacity, 1));
}
.text-\[\#00FF41\]\/50 {
  color: rgb(0 255 65 / 0.5);
}
.text-\[\#00FF41\]\/70 {
  color: rgb(0 255 65 / 0.7);
}
.text-\[\#00FFFF\] {
  --tw-text-opacity: 1;
  color: rgb(0 255 255 / var(--tw-text-opacity, 1));
}
.text-\[\#00FFFF\]\/50 {
  color: rgb(0 255 255 / 0.5);
}
.text-\[\#00FFFF\]\/60 {
  color: rgb(0 255 255 / 0.6);
}
.text-\[\#00FFFF\]\/80 {
  color: rgb(0 255 255 / 0.8);
}
.text-\[\#041E49\] {
  --tw-text-opacity: 1;
  color: rgb(4 30 73 / var(--tw-text-opacity, 1));
}
.text-\[\#06b6d4\] {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-\[\#0B57D0\] {
  --tw-text-opacity: 1;
  color: rgb(11 87 208 / var(--tw-text-opacity, 1));
}
.text-\[\#0f0\] {
  --tw-text-opacity: 1;
  color: rgb(0 255 0 / var(--tw-text-opacity, 1));
}
.text-\[\#1F1F1F\] {
  --tw-text-opacity: 1;
  color: rgb(31 31 31 / var(--tw-text-opacity, 1));
}
.text-\[\#229ED9\] {
  --tw-text-opacity: 1;
  color: rgb(34 158 217 / var(--tw-text-opacity, 1));
}
.text-\[\#22c55e\] {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-\[\#2EFF8A\] {
  --tw-text-opacity: 1;
  color: rgb(46 255 138 / var(--tw-text-opacity, 1));
}
.text-\[\#2c3e50\] {
  --tw-text-opacity: 1;
  color: rgb(44 62 80 / var(--tw-text-opacity, 1));
}
.text-\[\#34A3F7\] {
  --tw-text-opacity: 1;
  color: rgb(52 163 247 / var(--tw-text-opacity, 1));
}
.text-\[\#38bdf8\] {
  --tw-text-opacity: 1;
  color: rgb(56 189 248 / var(--tw-text-opacity, 1));
}
.text-\[\#39ff14\] {
  --tw-text-opacity: 1;
  color: rgb(57 255 20 / var(--tw-text-opacity, 1));
}
.text-\[\#3b82f6\] {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-\[\#444746\] {
  --tw-text-opacity: 1;
  color: rgb(68 71 70 / var(--tw-text-opacity, 1));
}
.text-\[\#5c6e8a\] {
  --tw-text-opacity: 1;
  color: rgb(92 110 138 / var(--tw-text-opacity, 1));
}
.text-\[\#5ec5f0\] {
  --tw-text-opacity: 1;
  color: rgb(94 197 240 / var(--tw-text-opacity, 1));
}
.text-\[\#7fd3f7\] {
  --tw-text-opacity: 1;
  color: rgb(127 211 247 / var(--tw-text-opacity, 1));
}
.text-\[\#8fa2c0\] {
  --tw-text-opacity: 1;
  color: rgb(143 162 192 / var(--tw-text-opacity, 1));
}
.text-\[\#9B5CFF\] {
  --tw-text-opacity: 1;
  color: rgb(155 92 255 / var(--tw-text-opacity, 1));
}
.text-\[\#9fb0c8\] {
  --tw-text-opacity: 1;
  color: rgb(159 176 200 / var(--tw-text-opacity, 1));
}
.text-\[\#FF00FF\] {
  --tw-text-opacity: 1;
  color: rgb(255 0 255 / var(--tw-text-opacity, 1));
}
.text-\[\#FF4FD8\] {
  --tw-text-opacity: 1;
  color: rgb(255 79 216 / var(--tw-text-opacity, 1));
}
.text-\[\#FFB341\] {
  --tw-text-opacity: 1;
  color: rgb(255 179 65 / var(--tw-text-opacity, 1));
}
.text-\[\#FFE94A\] {
  --tw-text-opacity: 1;
  color: rgb(255 233 74 / var(--tw-text-opacity, 1));
}
.text-\[\#FFFFFF\] {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-\[\#a78bfa\] {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-\[\#a9b8d2\] {
  --tw-text-opacity: 1;
  color: rgb(169 184 210 / var(--tw-text-opacity, 1));
}
.text-\[\#d946ef\] {
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / var(--tw-text-opacity, 1));
}
.text-\[\#ef4444\] {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-\[\#f1c40f\] {
  --tw-text-opacity: 1;
  color: rgb(241 196 15 / var(--tw-text-opacity, 1));
}
.text-\[\#f59e0b\] {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-\[\#fb923c\] {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-\[\#fcfbf9\] {
  --tw-text-opacity: 1;
  color: rgb(252 251 249 / var(--tw-text-opacity, 1));
}
.text-\[\#ff4fd8\] {
  --tw-text-opacity: 1;
  color: rgb(255 79 216 / var(--tw-text-opacity, 1));
}
.text-\[var\(--tg-button\)\] {
  color: var(--tg-button);
}
.text-\[var\(--tg-hint\)\] {
  color: var(--tg-hint);
}
.text-\[var\(--tg-link\)\] {
  color: var(--tg-link);
}
.text-\[var\(--tg-text\)\] {
  color: var(--tg-text);
}
.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-300 {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.text-amber-300\/70 {
  color: rgb(252 211 77 / 0.7);
}
.text-amber-300\/80 {
  color: rgb(252 211 77 / 0.8);
}
.text-amber-400 {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-400\/40 {
  color: rgb(251 191 36 / 0.4);
}
.text-amber-400\/50 {
  color: rgb(251 191 36 / 0.5);
}
.text-amber-400\/60 {
  color: rgb(251 191 36 / 0.6);
}
.text-amber-400\/80 {
  color: rgb(251 191 36 / 0.8);
}
.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.text-blue-200 {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}
.text-blue-300 {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-300\/40 {
  color: rgb(147 197 253 / 0.4);
}
.text-blue-300\/50 {
  color: rgb(147 197 253 / 0.5);
}
.text-blue-300\/60 {
  color: rgb(147 197 253 / 0.6);
}
.text-blue-400 {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700 {
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-current {
  color: currentColor;
}
.text-cyan-100 {
  --tw-text-opacity: 1;
  color: rgb(207 250 254 / var(--tw-text-opacity, 1));
}
.text-cyan-100\/70 {
  color: rgb(207 250 254 / 0.7);
}
.text-cyan-200 {
  --tw-text-opacity: 1;
  color: rgb(165 243 252 / var(--tw-text-opacity, 1));
}
.text-cyan-300 {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.text-cyan-300\/70 {
  color: rgb(103 232 249 / 0.7);
}
.text-cyan-300\/80 {
  color: rgb(103 232 249 / 0.8);
}
.text-cyan-400 {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.text-cyan-400\/40 {
  color: rgb(34 211 238 / 0.4);
}
.text-cyan-400\/50 {
  color: rgb(34 211 238 / 0.5);
}
.text-cyan-400\/60 {
  color: rgb(34 211 238 / 0.6);
}
.text-cyan-400\/70 {
  color: rgb(34 211 238 / 0.7);
}
.text-cyan-400\/80 {
  color: rgb(34 211 238 / 0.8);
}
.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-emerald-200 {
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}
.text-emerald-200\/70 {
  color: rgb(167 243 208 / 0.7);
}
.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-300\/50 {
  color: rgb(110 231 183 / 0.5);
}
.text-emerald-300\/60 {
  color: rgb(110 231 183 / 0.6);
}
.text-emerald-300\/70 {
  color: rgb(110 231 183 / 0.7);
}
.text-emerald-300\/80 {
  color: rgb(110 231 183 / 0.8);
}
.text-emerald-300\/90 {
  color: rgb(110 231 183 / 0.9);
}
.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-400\/40 {
  color: rgb(52 211 153 / 0.4);
}
.text-emerald-400\/50 {
  color: rgb(52 211 153 / 0.5);
}
.text-emerald-400\/60 {
  color: rgb(52 211 153 / 0.6);
}
.text-emerald-400\/70 {
  color: rgb(52 211 153 / 0.7);
}
.text-emerald-400\/80 {
  color: rgb(52 211 153 / 0.8);
}
.text-emerald-400\/85 {
  color: rgb(52 211 153 / 0.85);
}
.text-emerald-400\/90 {
  color: rgb(52 211 153 / 0.9);
}
.text-emerald-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-500\/70 {
  color: rgb(16 185 129 / 0.7);
}
.text-fuchsia-100 {
  --tw-text-opacity: 1;
  color: rgb(250 232 255 / var(--tw-text-opacity, 1));
}
.text-fuchsia-200 {
  --tw-text-opacity: 1;
  color: rgb(245 208 254 / var(--tw-text-opacity, 1));
}
.text-fuchsia-200\/70 {
  color: rgb(245 208 254 / 0.7);
}
.text-fuchsia-200\/80 {
  color: rgb(245 208 254 / 0.8);
}
.text-fuchsia-300 {
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity, 1));
}
.text-fuchsia-300\/70 {
  color: rgb(240 171 252 / 0.7);
}
.text-fuchsia-400 {
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity, 1));
}
.text-fuchsia-500 {
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / var(--tw-text-opacity, 1));
}
.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900 {
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-400\/70 {
  color: rgb(74 222 128 / 0.7);
}
.text-green-400\/80 {
  color: rgb(74 222 128 / 0.8);
}
.text-green-500 {
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-indigo-300 {
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.text-indigo-300\/80 {
  color: rgb(165 180 252 / 0.8);
}
.text-indigo-400 {
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.text-lime-400 {
  --tw-text-opacity: 1;
  color: rgb(163 230 53 / var(--tw-text-opacity, 1));
}
.text-neutral-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 212 / var(--tw-text-opacity, 1));
}
.text-neutral-400 {
  --tw-text-opacity: 1;
  color: rgb(163 163 163 / var(--tw-text-opacity, 1));
}
.text-neutral-500 {
  --tw-text-opacity: 1;
  color: rgb(115 115 115 / var(--tw-text-opacity, 1));
}
.text-orange-200 {
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}
.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-300\/50 {
  color: rgb(253 186 116 / 0.5);
}
.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-orange-400\/70 {
  color: rgb(251 146 60 / 0.7);
}
.text-orange-400\/80 {
  color: rgb(251 146 60 / 0.8);
}
.text-orange-500 {
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600 {
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-pink-100 {
  --tw-text-opacity: 1;
  color: rgb(252 231 243 / var(--tw-text-opacity, 1));
}
.text-pink-200 {
  --tw-text-opacity: 1;
  color: rgb(251 207 232 / var(--tw-text-opacity, 1));
}
.text-pink-200\/80 {
  color: rgb(251 207 232 / 0.8);
}
.text-pink-300 {
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.text-pink-300\/80 {
  color: rgb(249 168 212 / 0.8);
}
.text-pink-400 {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.text-purple-200 {
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.text-purple-300 {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.text-purple-300\/50 {
  color: rgb(216 180 254 / 0.5);
}
.text-purple-300\/60 {
  color: rgb(216 180 254 / 0.6);
}
.text-purple-300\/70 {
  color: rgb(216 180 254 / 0.7);
}
.text-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-400\/40 {
  color: rgb(192 132 252 / 0.4);
}
.text-purple-400\/50 {
  color: rgb(192 132 252 / 0.5);
}
.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-red-200\/70 {
  color: rgb(254 202 202 / 0.7);
}
.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-300\/80 {
  color: rgb(252 165 165 / 0.8);
}
.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-400\/30 {
  color: rgb(248 113 113 / 0.3);
}
.text-red-400\/40 {
  color: rgb(248 113 113 / 0.4);
}
.text-red-400\/50 {
  color: rgb(248 113 113 / 0.5);
}
.text-red-400\/60 {
  color: rgb(248 113 113 / 0.6);
}
.text-red-400\/70 {
  color: rgb(248 113 113 / 0.7);
}
.text-red-400\/80 {
  color: rgb(248 113 113 / 0.8);
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-500\/70 {
  color: rgb(239 68 68 / 0.7);
}
.text-rose-400 {
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-rose-500 {
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}
.text-rose-700 {
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-sky-100 {
  --tw-text-opacity: 1;
  color: rgb(224 242 254 / var(--tw-text-opacity, 1));
}
.text-slate-100 {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-200 {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700 {
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800 {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-teal-200 {
  --tw-text-opacity: 1;
  color: rgb(153 246 228 / var(--tw-text-opacity, 1));
}
.text-teal-400 {
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}
.text-transparent {
  color: transparent;
}
.text-violet-200 {
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / var(--tw-text-opacity, 1));
}
.text-violet-300 {
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-violet-300\/50 {
  color: rgb(196 181 253 / 0.5);
}
.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-400\/50 {
  color: rgb(167 139 250 / 0.5);
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/10 {
  color: rgb(255 255 255 / 0.1);
}
.text-white\/15 {
  color: rgb(255 255 255 / 0.15);
}
.text-white\/20 {
  color: rgb(255 255 255 / 0.2);
}
.text-white\/25 {
  color: rgb(255 255 255 / 0.25);
}
.text-white\/30 {
  color: rgb(255 255 255 / 0.3);
}
.text-white\/35 {
  color: rgb(255 255 255 / 0.35);
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/45 {
  color: rgb(255 255 255 / 0.45);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/55 {
  color: rgb(255 255 255 / 0.55);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/85 {
  color: rgb(255 255 255 / 0.85);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.text-yellow-200 {
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}
.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.text-yellow-300\/90 {
  color: rgb(253 224 71 / 0.9);
}
.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.underline {
  text-decoration-line: underline;
}
.line-through {
  text-decoration-line: line-through;
}
.no-underline {
  text-decoration-line: none;
}
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.placeholder-\[\#00FF41\]\/30::-moz-placeholder {
  color: rgb(0 255 65 / 0.3);
}
.placeholder-\[\#00FF41\]\/30::placeholder {
  color: rgb(0 255 65 / 0.3);
}
.placeholder-\[\#00FFFF\]\/30::-moz-placeholder {
  color: rgb(0 255 255 / 0.3);
}
.placeholder-\[\#00FFFF\]\/30::placeholder {
  color: rgb(0 255 255 / 0.3);
}
.placeholder-\[\#2c3e50\]\/30::-moz-placeholder {
  color: rgb(44 62 80 / 0.3);
}
.placeholder-\[\#2c3e50\]\/30::placeholder {
  color: rgb(44 62 80 / 0.3);
}
.placeholder-\[\#444746\]::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(68 71 70 / var(--tw-placeholder-opacity, 1));
}
.placeholder-\[\#444746\]::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(68 71 70 / var(--tw-placeholder-opacity, 1));
}
.placeholder-\[var\(--tg-hint\)\]::-moz-placeholder {
  color: var(--tg-hint);
}
.placeholder-\[var\(--tg-hint\)\]::placeholder {
  color: var(--tg-hint);
}
.placeholder-gray-300::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-300::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(209 213 219 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-400::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-600::-moz-placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-600::placeholder {
  --tw-placeholder-opacity: 1;
  color: rgb(75 85 99 / var(--tw-placeholder-opacity, 1));
}
.placeholder-white\/30::-moz-placeholder {
  color: rgb(255 255 255 / 0.3);
}
.placeholder-white\/30::placeholder {
  color: rgb(255 255 255 / 0.3);
}
.placeholder-white\/40::-moz-placeholder {
  color: rgb(255 255 255 / 0.4);
}
.placeholder-white\/40::placeholder {
  color: rgb(255 255 255 / 0.4);
}
.accent-\[\#00D9FF\] {
  accent-color: #00D9FF;
}
.accent-blue-500 {
  accent-color: #3b82f6;
}
.accent-cyan-400 {
  accent-color: #22d3ee;
}
.opacity-0 {
  opacity: 0;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-100 {
  opacity: 1;
}
.opacity-15 {
  opacity: 0.15;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-25 {
  opacity: 0.25;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-75 {
  opacity: 0.75;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
.opacity-\[0\.03\] {
  opacity: 0.03;
}
.opacity-\[0\.18\] {
  opacity: 0.18;
}
.mix-blend-multiply {
  mix-blend-mode: multiply;
}
.mix-blend-screen {
  mix-blend-mode: screen;
}
.mix-blend-overlay {
  mix-blend-mode: overlay;
}
.mix-blend-color {
  mix-blend-mode: color;
}
.mix-blend-luminosity {
  mix-blend-mode: luminosity;
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-10px_40px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 -10px 40px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 -10px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-10px_40px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 -10px 40px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 -10px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-10px_40px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-shadow: 0 -10px 40px rgba(0,0,0,0.8);
  --tw-shadow-colored: 0 -10px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-10px_50px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-shadow: 0 -10px 50px rgba(0,0,0,0.8);
  --tw-shadow-colored: 0 -10px 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-20px_60px_rgba\(0\2c 0\2c 0\2c 0\.06\)\] {
  --tw-shadow: 0 -20px 60px rgba(0,0,0,0.06);
  --tw-shadow-colored: 0 -20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-4px_24px_rgba\(0\2c 0\2c 0\2c 0\.15\)\] {
  --tw-shadow: 0 -4px 24px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 -4px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-8px_40px_rgba\(0\2c 0\2c 0\2c 0\.6\)\] {
  --tw-shadow: 0 -8px 40px rgba(0,0,0,0.6);
  --tw-shadow-colored: 0 -8px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_100px_rgba\(8\2c 145\2c 178\2c 0\.2\)\] {
  --tw-shadow: 0 0 100px rgba(8,145,178,0.2);
  --tw-shadow-colored: 0 0 100px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_\#00D9FF\] {
  --tw-shadow: 0 0 10px #00D9FF;
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_\#00FF41\] {
  --tw-shadow: 0 0 10px #00FF41;
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_\#e879f9\] {
  --tw-shadow: 0 0 10px #e879f9;
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_\#f97316\] {
  --tw-shadow: 0 0 10px #f97316;
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_\#ff4fd8\] {
  --tw-shadow: 0 0 10px #ff4fd8;
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(0\2c 255\2c 65\2c 0\.4\)\] {
  --tw-shadow: 0 0 10px rgba(0,255,65,0.4);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(155\2c 92\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 10px rgba(155,92,255,0.15);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(16\2c 185\2c 129\2c 0\.3\)\] {
  --tw-shadow: 0 0 10px rgba(16,185,129,0.3);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(168\2c 85\2c 247\2c 0\.5\)\] {
  --tw-shadow: 0 0 10px rgba(168,85,247,0.5);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(217\2c 70\2c 239\2c 0\.2\)\] {
  --tw-shadow: 0 0 10px rgba(217,70,239,0.2);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(220\2c 38\2c 38\2c 0\.15\)\] {
  --tw-shadow: 0 0 10px rgba(220,38,38,0.15);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(234\2c 179\2c 8\2c 0\.3\)\] {
  --tw-shadow: 0 0 10px rgba(234,179,8,0.3);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(234\2c 179\2c 8\2c 0\.4\)\] {
  --tw-shadow: 0 0 10px rgba(234,179,8,0.4);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(239\2c 68\2c 68\2c 0\.4\)\] {
  --tw-shadow: 0 0 10px rgba(239,68,68,0.4);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(239\2c 68\2c 68\2c 0\.6\)\] {
  --tw-shadow: 0 0 10px rgba(239,68,68,0.6);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(245\2c 158\2c 11\2c 0\.2\)\] {
  --tw-shadow: 0 0 10px rgba(245,158,11,0.2);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(249\2c 115\2c 22\2c 0\.4\)\] {
  --tw-shadow: 0 0 10px rgba(249,115,22,0.4);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(255\2c 179\2c 65\2c 0\.15\)\] {
  --tw-shadow: 0 0 10px rgba(255,179,65,0.15);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(34\2c 197\2c 94\2c 0\.4\)\] {
  --tw-shadow: 0 0 10px rgba(34,197,94,0.4);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(46\2c 255\2c 138\2c 0\.2\)\] {
  --tw-shadow: 0 0 10px rgba(46,255,138,0.2);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(59\2c 130\2c 246\2c 0\.15\)\] {
  --tw-shadow: 0 0 10px rgba(59,130,246,0.15);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(59\2c 130\2c 246\2c 0\.3\)\] {
  --tw-shadow: 0 0 10px rgba(59,130,246,0.3);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(59\2c 130\2c 246\2c 0\.6\)\] {
  --tw-shadow: 0 0 10px rgba(59,130,246,0.6);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(6\2c 182\2c 212\2c 0\.2\)\] {
  --tw-shadow: 0 0 10px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-shadow: 0 0 10px rgba(6,182,212,0.3);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(6\2c 182\2c 212\2c 0\.6\)\] {
  --tw-shadow: 0 0 10px rgba(6,182,212,0.6);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_10px_rgba\(99\2c 102\2c 241\2c 0\.6\)\] {
  --tw-shadow: 0 0 10px rgba(99,102,241,0.6);
  --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(0\2c 217\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 12px rgba(0,217,255,0.15);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(124\2c 58\2c 237\2c 0\.15\)\] {
  --tw-shadow: 0 0 12px rgba(124,58,237,0.15);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(139\2c 92\2c 246\2c 0\.3\)\] {
  --tw-shadow: 0 0 12px rgba(139,92,246,0.3);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(155\2c 92\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 12px rgba(155,92,255,0.3);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(16\2c 185\2c 129\2c 0\.2\)\] {
  --tw-shadow: 0 0 12px rgba(16,185,129,0.2);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(16\2c 185\2c 129\2c 0\.3\)\] {
  --tw-shadow: 0 0 12px rgba(16,185,129,0.3);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(217\2c 70\2c 239\2c 0\.25\)\] {
  --tw-shadow: 0 0 12px rgba(217,70,239,0.25);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(217\2c 70\2c 239\2c 0\.4\)\] {
  --tw-shadow: 0 0 12px rgba(217,70,239,0.4);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(239\2c 68\2c 68\2c 0\.3\)\] {
  --tw-shadow: 0 0 12px rgba(239,68,68,0.3);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(245\2c 158\2c 11\2c 0\.5\)\] {
  --tw-shadow: 0 0 12px rgba(245,158,11,0.5);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(6\2c 182\2c 212\2c 0\.2\)\] {
  --tw-shadow: 0 0 12px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-shadow: 0 0 12px rgba(6,182,212,0.3);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_12px_rgba\(6\2c 182\2c 212\2c 0\.4\)\] {
  --tw-shadow: 0 0 12px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_\#f97316\] {
  --tw-shadow: 0 0 15px #f97316;
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(0\2c 217\2c 255\2c 0\.1\)\] {
  --tw-shadow: 0 0 15px rgba(0,217,255,0.1);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(0\2c 217\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(0,217,255,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(0\2c 217\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(0,217,255,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(0\2c 255\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(0,255,255,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(0\2c 255\2c 255\2c 0\.5\)\] {
  --tw-shadow: 0 0 15px rgba(0,255,255,0.5);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(139\2c 92\2c 246\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(139,92,246,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(147\2c 51\2c 234\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(147,51,234,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(155\2c 92\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 15px rgba(155,92,255,0.15);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(16\2c 185\2c 129\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(16,185,129,0.3);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(16\2c 185\2c 129\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(16,185,129,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(168\2c 85\2c 247\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(168,85,247,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(168\2c 85\2c 247\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(168,85,247,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(217\2c 70\2c 239\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(217,70,239,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(217\2c 70\2c 239\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(217,70,239,0.3);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(217\2c 70\2c 239\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(217,70,239,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(220\2c 38\2c 38\2c 0\.45\)\] {
  --tw-shadow: 0 0 15px rgba(220,38,38,0.45);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(239\2c 68\2c 68\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(239,68,68,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(239\2c 68\2c 68\2c 0\.45\)\] {
  --tw-shadow: 0 0 15px rgba(239,68,68,0.45);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(245\2c 158\2c 11\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(245,158,11,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(245\2c 158\2c 11\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(245,158,11,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(245\2c 158\2c 11\2c 0\.5\)\] {
  --tw-shadow: 0 0 15px rgba(245,158,11,0.5);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(249\2c 115\2c 22\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(249,115,22,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(255\2c 255\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(255,255,255,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(255\2c 79\2c 216\2c 0\.15\)\] {
  --tw-shadow: 0 0 15px rgba(255,79,216,0.15);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(255\2c 79\2c 216\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(255,79,216,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(30\2c 42\2c 68\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(30,42,68,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(37\2c 99\2c 235\2c 0\.45\)\] {
  --tw-shadow: 0 0 15px rgba(37,99,235,0.45);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(42\2c 171\2c 238\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(42,171,238,0.3);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(59\2c 130\2c 246\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(59,130,246,0.3);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(59\2c 130\2c 246\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(59,130,246,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(6\2c 182\2c 212\2c 0\.1\)\] {
  --tw-shadow: 0 0 15px rgba(6,182,212,0.1);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(6\2c 182\2c 212\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(6,182,212,0.3);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(6\2c 182\2c 212\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(8\2c 145\2c 178\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(8,145,178,0.4);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(99\2c 102\2c 241\2c 0\.2\)\] {
  --tw-shadow: 0 0 15px rgba(99,102,241,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_15px_rgba\(99\2c 102\2c 241\2c 0\.5\)\] {
  --tw-shadow: 0 0 15px rgba(99,102,241,0.5);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_16px_rgba\(250\2c 204\2c 21\2c 0\.35\)\] {
  --tw-shadow: 0 0 16px rgba(250,204,21,0.35);
  --tw-shadow-colored: 0 0 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_16px_rgba\(34\2c 211\2c 238\2c 0\.4\)\] {
  --tw-shadow: 0 0 16px rgba(34,211,238,0.4);
  --tw-shadow-colored: 0 0 16px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_18px_rgba\(16\2c 185\2c 129\2c 0\.35\)\] {
  --tw-shadow: 0 0 18px rgba(16,185,129,0.35);
  --tw-shadow-colored: 0 0 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_18px_rgba\(168\2c 85\2c 247\2c 0\.08\)\] {
  --tw-shadow: 0 0 18px rgba(168,85,247,0.08);
  --tw-shadow-colored: 0 0 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_18px_rgba\(217\2c 70\2c 239\2c 0\.35\)\] {
  --tw-shadow: 0 0 18px rgba(217,70,239,0.35);
  --tw-shadow-colored: 0 0 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_18px_rgba\(34\2c 211\2c 238\2c 0\.45\)\] {
  --tw-shadow: 0 0 18px rgba(34,211,238,0.45);
  --tw-shadow-colored: 0 0 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_18px_rgba\(6\2c 182\2c 212\2c 0\.25\)\] {
  --tw-shadow: 0 0 18px rgba(6,182,212,0.25);
  --tw-shadow-colored: 0 0 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_18px_rgba\(6\2c 182\2c 212\2c 0\.5\)\] {
  --tw-shadow: 0 0 18px rgba(6,182,212,0.5);
  --tw-shadow-colored: 0 0 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_\#00FF41\] {
  --tw-shadow: 0 0 20px #00FF41;
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_\#FFF\2c 0_0_40px_\#f97316\] {
  --tw-shadow: 0 0 20px #FFF,0 0 40px #f97316;
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color), 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_\#FFF\] {
  --tw-shadow: 0 0 20px #FFF;
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_currentColor\/20\] {
  --tw-shadow: 0 0 20px currentColor/20;
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(0\2c 217\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(0,217,255,0.15);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(0\2c 217\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 20px rgba(0,217,255,0.2);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(155\2c 92\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(155,92,255,0.15);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(16\2c 185\2c 129\2c 0\.1\)\] {
  --tw-shadow: 0 0 20px rgba(16,185,129,0.1);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(16\2c 185\2c 129\2c 0\.25\)\] {
  --tw-shadow: 0 0 20px rgba(16,185,129,0.25);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(168\2c 85\2c 247\2c 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(168,85,247,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(168\2c 85\2c 247\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(168,85,247,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(217\2c 70\2c 239\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(217,70,239,0.15);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(217\2c 70\2c 239\2c 0\.25\)\] {
  --tw-shadow: 0 0 20px rgba(217,70,239,0.25);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(217\2c 70\2c 239\2c 0\.35\)\] {
  --tw-shadow: 0 0 20px rgba(217,70,239,0.35);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(220\2c 38\2c 38\2c 0\.55\)\] {
  --tw-shadow: 0 0 20px rgba(220,38,38,0.55);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(245\2c 158\2c 11\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(245,158,11,0.15);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(245\2c 158\2c 11\2c 0\.25\)\] {
  --tw-shadow: 0 0 20px rgba(245,158,11,0.25);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(255\2c 0\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(255,0,255,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(255\2c 0\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(255,0,255,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(255\2c 255\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(255,255,255,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(255\2c 79\2c 216\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(255,79,216,0.15);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(42\2c 171\2c 238\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(42,171,238,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(46\2c 255\2c 138\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(46,255,138,0.15);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(46\2c 255\2c 138\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(46,255,138,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(6\2c 182\2c 212\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(6,182,212,0.15);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(6\2c 182\2c 212\2c 0\.25\)\] {
  --tw-shadow: 0 0 20px rgba(6,182,212,0.25);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(6,182,212,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(6\2c 182\2c 212\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(6\2c 182\2c 212\2c 0\.5\)\] {
  --tw-shadow: 0 0 20px rgba(6,182,212,0.5);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_20px_rgba\(74\2c 222\2c 128\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(74,222,128,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_24px_rgba\(0\2c 217\2c 255\2c 0\.18\)\] {
  --tw-shadow: 0 0 24px rgba(0,217,255,0.18);
  --tw-shadow-colored: 0 0 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_25px_rgba\(6\2c 182\2c 212\2c 0\.2\)\] {
  --tw-shadow: 0 0 25px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 0 25px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_25px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-shadow: 0 0 25px rgba(6,182,212,0.3);
  --tw-shadow-colored: 0 0 25px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(0\2c 255\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 30px rgba(0,255,255,0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(0\2c 255\2c 65\2c 0\.15\)\] {
  --tw-shadow: 0 0 30px rgba(0,255,65,0.15);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(124\2c 58\2c 237\2c 0\.4\)\] {
  --tw-shadow: 0 0 30px rgba(124,58,237,0.4);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(168\2c 85\2c 247\2c 0\.15\)\] {
  --tw-shadow: 0 0 30px rgba(168,85,247,0.15);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(217\2c 70\2c 239\2c 0\.15\)\] {
  --tw-shadow: 0 0 30px rgba(217,70,239,0.15);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(217\2c 70\2c 239\2c 0\.35\)\] {
  --tw-shadow: 0 0 30px rgba(217,70,239,0.35);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(255\2c 0\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 30px rgba(255,0,255,0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(34\2c 211\2c 238\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px rgba(34,211,238,0.3);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(59\2c 130\2c 246\2c 0\.2\)\] {
  --tw-shadow: 0 0 30px rgba(59,130,246,0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(6\2c 182\2c 212\2c 0\.2\)\] {
  --tw-shadow: 0 0 30px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(6\2c 182\2c 212\2c 0\.25\)\2c inset_0_0_20px_rgba\(6\2c 182\2c 212\2c 0\.1\)\] {
  --tw-shadow: 0 0 30px rgba(6,182,212,0.25),inset 0 0 20px rgba(6,182,212,0.1);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color), inset 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(6\2c 182\2c 212\2c 0\.4\)\] {
  --tw-shadow: 0 0 30px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_30px_rgba\(6\2c 182\2c 212\2c 0\.6\)\] {
  --tw-shadow: 0 0 30px rgba(6,182,212,0.6);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_\#FFF\] {
  --tw-shadow: 0 0 40px #FFF;
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(0\2c 217\2c 255\2c 0\.1\)\2c inset_0_0_20px_rgba\(255\2c 255\2c 255\2c 0\.02\)\] {
  --tw-shadow: 0 0 40px rgba(0,217,255,0.1),inset 0 0 20px rgba(255,255,255,0.02);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color), inset 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(124\2c 58\2c 237\2c 0\.4\)\] {
  --tw-shadow: 0 0 40px rgba(124,58,237,0.4);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(124\2c 58\2c 237\2c 0\.5\)\] {
  --tw-shadow: 0 0 40px rgba(124,58,237,0.5);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(155\2c 92\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 40px rgba(155,92,255,0.3);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(168\2c 85\2c 247\2c 0\.4\)\] {
  --tw-shadow: 0 0 40px rgba(168,85,247,0.4);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(239\2c 68\2c 68\2c 0\.3\)\] {
  --tw-shadow: 0 0 40px rgba(239,68,68,0.3);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(34\2c 197\2c 94\2c 0\.3\)\] {
  --tw-shadow: 0 0 40px rgba(34,197,94,0.3);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(6\2c 182\2c 212\2c 0\.25\)\] {
  --tw-shadow: 0 0 40px rgba(6,182,212,0.25);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-shadow: 0 0 40px rgba(6,182,212,0.3);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_40px_rgba\(6\2c 182\2c 212\2c 0\.5\)\] {
  --tw-shadow: 0 0 40px rgba(6,182,212,0.5);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_50px_rgba\(217\2c 70\2c 239\2c 0\.35\)\] {
  --tw-shadow: 0 0 50px rgba(217,70,239,0.35);
  --tw-shadow-colored: 0 0 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_50px_rgba\(217\2c 70\2c 239\2c 0\.4\)\] {
  --tw-shadow: 0 0 50px rgba(217,70,239,0.4);
  --tw-shadow-colored: 0 0 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_50px_rgba\(236\2c 72\2c 153\2c 0\.35\)\] {
  --tw-shadow: 0 0 50px rgba(236,72,153,0.35);
  --tw-shadow-colored: 0 0 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_50px_rgba\(34\2c 197\2c 94\2c 0\.4\)\] {
  --tw-shadow: 0 0 50px rgba(34,197,94,0.4);
  --tw-shadow-colored: 0 0 50px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_5px_\#00FF41\] {
  --tw-shadow: 0 0 5px #00FF41;
  --tw-shadow-colored: 0 0 5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_5px_\#d946ef\] {
  --tw-shadow: 0 0 5px #d946ef;
  --tw-shadow-colored: 0 0 5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_5px_rgba\(168\2c 85\2c 247\2c 0\.5\)\] {
  --tw-shadow: 0 0 5px rgba(168,85,247,0.5);
  --tw-shadow-colored: 0 0 5px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_60px_rgba\(16\2c 185\2c 129\2c 0\.4\)\] {
  --tw-shadow: 0 0 60px rgba(16,185,129,0.4);
  --tw-shadow-colored: 0 0 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_\#34d399\] {
  --tw-shadow: 0 0 6px #34d399;
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_\#d946ef\] {
  --tw-shadow: 0 0 6px #d946ef;
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_rgba\(16\2c 185\2c 129\2c 0\.6\)\] {
  --tw-shadow: 0 0 6px rgba(16,185,129,0.6);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_rgba\(16\2c 185\2c 129\2c 0\.8\)\] {
  --tw-shadow: 0 0 6px rgba(16,185,129,0.8);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_rgba\(248\2c 113\2c 113\2c 0\.6\)\] {
  --tw-shadow: 0 0 6px rgba(248,113,113,0.6);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_rgba\(34\2c 211\2c 238\2c 0\.4\)\] {
  --tw-shadow: 0 0 6px rgba(34,211,238,0.4);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_rgba\(52\2c 211\2c 153\2c 0\.7\)\] {
  --tw-shadow: 0 0 6px rgba(52,211,153,0.7);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_rgba\(52\2c 211\2c 153\2c 0\.8\)\] {
  --tw-shadow: 0 0 6px rgba(52,211,153,0.8);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_6px_rgba\(6\2c 182\2c 212\2c 0\.5\)\] {
  --tw-shadow: 0 0 6px rgba(6,182,212,0.5);
  --tw-shadow-colored: 0 0 6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_\#00D9FF\] {
  --tw-shadow: 0 0 8px #00D9FF;
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_\#67e8f9\] {
  --tw-shadow: 0 0 8px #67e8f9;
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_\#ef4444\] {
  --tw-shadow: 0 0 8px #ef4444;
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_\#ff4fd8\] {
  --tw-shadow: 0 0 8px #ff4fd8;
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(148\2c 163\2c 184\2c 0\.2\)\] {
  --tw-shadow: 0 0 8px rgba(148,163,184,0.2);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(16\2c 185\2c 129\2c 0\.8\)\] {
  --tw-shadow: 0 0 8px rgba(16,185,129,0.8);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(168\2c 85\2c 247\2c 0\.5\)\] {
  --tw-shadow: 0 0 8px rgba(168,85,247,0.5);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(239\2c 68\2c 68\2c 0\.1\)\] {
  --tw-shadow: 0 0 8px rgba(239,68,68,0.1);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(239\2c 68\2c 68\2c 0\.15\)\] {
  --tw-shadow: 0 0 8px rgba(239,68,68,0.15);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(239\2c 68\2c 68\2c 0\.6\)\] {
  --tw-shadow: 0 0 8px rgba(239,68,68,0.6);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(239\2c 68\2c 68\2c 0\.8\)\] {
  --tw-shadow: 0 0 8px rgba(239,68,68,0.8);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(34\2c 211\2c 238\2c 0\.5\)\] {
  --tw-shadow: 0 0 8px rgba(34,211,238,0.5);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-shadow: 0 0 8px rgba(6,182,212,0.3);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(6\2c 182\2c 212\2c 0\.5\)\] {
  --tw-shadow: 0 0 8px rgba(6,182,212,0.5);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_0_8px_rgba\(6\2c 182\2c 212\2c 0\.8\)\] {
  --tw-shadow: 0 0 8px rgba(6,182,212,0.8);
  --tw-shadow-colored: 0 0 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_30px_rgba\(0\2c 0\2c 0\2c 0\.85\)\] {
  --tw-shadow: 0 10px 30px rgba(0,0,0,0.85);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_30px_rgba\(244\2c 63\2c 94\2c 0\.4\)\] {
  --tw-shadow: 0 10px 30px rgba(244,63,94,0.4);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_30px_rgba\(249\2c 115\2c 22\2c 0\.15\)\] {
  --tw-shadow: 0 10px 30px rgba(249,115,22,0.15);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_10px_30px_rgba\(249\2c 115\2c 22\2c 0\.4\)\] {
  --tw-shadow: 0 10px 30px rgba(249,115,22,0.4);
  --tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_40px_rgba\(0\2c 255\2c 255\2c 0\.1\)\] {
  --tw-shadow: 0 20px 40px rgba(0,255,255,0.1);
  --tw-shadow-colored: 0 20px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_60px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 20px 60px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_10px_\#f97316\] {
  --tw-shadow: 0 2px 10px #f97316;
  --tw-shadow-colored: 0 2px 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_10px_rgba\(255\2c 0\2c 255\2c 0\.5\)\] {
  --tw-shadow: 0 2px 10px rgba(255,0,255,0.5);
  --tw-shadow-colored: 0 2px 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_12px_rgba\(124\2c 58\2c 237\2c 0\.5\)\] {
  --tw-shadow: 0 2px 12px rgba(124,58,237,0.5);
  --tw-shadow-colored: 0 2px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_2px_8px_rgba\(0\2c 122\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 2px 8px rgba(0,122,255,0.4);
  --tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_30px_60px_rgba\(0\2c 0\2c 0\2c 0\.6\)\2c inset_0_1px_0_rgba\(255\2c 255\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 30px 60px rgba(0,0,0,0.6),inset 0 1px 0 rgba(255,255,255,0.4);
  --tw-shadow-colored: 0 30px 60px var(--tw-shadow-color), inset 0 1px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_10px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 4px 10px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 4px 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(0\2c 0\2c 0\2c 0\.1\)\] {
  --tw-shadow: 0 4px 12px rgba(0,0,0,0.1);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_12px_rgba\(6\2c 182\2c 212\2c 0\.2\)\] {
  --tw-shadow: 0 4px 12px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 4px 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(0\2c 0\2c 0\2c 0\.15\)\] {
  --tw-shadow: 0 4px 15px rgba(0,0,0,0.15);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 4px 15px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 4px 15px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 4px 15px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(147\2c 51\2c 234\2c 0\.4\)\] {
  --tw-shadow: 0 4px 15px rgba(147,51,234,0.4);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(6\2c 182\2c 212\2c 0\.4\)\] {
  --tw-shadow: 0 4px 15px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_15px_rgba\(8\2c 145\2c 178\2c 0\.4\)\] {
  --tw-shadow: 0 4px 15px rgba(8,145,178,0.4);
  --tw-shadow-colored: 0 4px 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_18px_rgba\(34\2c 158\2c 217\2c 0\.4\)\] {
  --tw-shadow: 0 4px 18px rgba(34,158,217,0.4);
  --tw-shadow-colored: 0 4px 18px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 4px 20px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 4px 20px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(155\2c 92\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 4px 20px rgba(155,92,255,0.3);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(16\2c 185\2c 129\2c 0\.3\)\] {
  --tw-shadow: 0 4px 20px rgba(16,185,129,0.3);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(217\2c 70\2c 239\2c 0\.3\)\] {
  --tw-shadow: 0 4px 20px rgba(217,70,239,0.3);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(236\2c 72\2c 153\2c 0\.4\)\] {
  --tw-shadow: 0 4px 20px rgba(236,72,153,0.4);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(245\2c 158\2c 11\2c 0\.3\)\] {
  --tw-shadow: 0 4px 20px rgba(245,158,11,0.3);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(245\2c 158\2c 11\2c 0\.4\)\] {
  --tw-shadow: 0 4px 20px rgba(245,158,11,0.4);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(34\2c 197\2c 94\2c 0\.35\)\] {
  --tw-shadow: 0 4px 20px rgba(34,197,94,0.35);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(34\2c 197\2c 94\2c 0\.4\)\] {
  --tw-shadow: 0 4px 20px rgba(34,197,94,0.4);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(34\2c 211\2c 238\2c 0\.45\)\] {
  --tw-shadow: 0 4px 20px rgba(34,211,238,0.45);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(46\2c 255\2c 138\2c 0\.4\)\] {
  --tw-shadow: 0 4px 20px rgba(46,255,138,0.4);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(6\2c 182\2c 212\2c 0\.4\)\] {
  --tw-shadow: 0 4px 20px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_20px_rgba\(6\2c 182\2c 212\2c 0\.6\)\] {
  --tw-shadow: 0 4px 20px rgba(6,182,212,0.6);
  --tw-shadow-colored: 0 4px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_25px_rgba\(34\2c 211\2c 238\2c 0\.45\)\] {
  --tw-shadow: 0 4px 25px rgba(34,211,238,0.45);
  --tw-shadow-colored: 0 4px 25px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_4px_30px_rgba\(6\2c 182\2c 212\2c 0\.3\)\2c 0_0_60px_rgba\(139\2c 92\2c 246\2c 0\.15\)\] {
  --tw-shadow: 0 4px 30px rgba(6,182,212,0.3),0 0 60px rgba(139,92,246,0.15);
  --tw-shadow-colored: 0 4px 30px var(--tw-shadow-color), 0 0 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_5px_20px_rgba\(0\2c 0\2c 0\2c 0\.6\)\] {
  --tw-shadow: 0 5px 20px rgba(0,0,0,0.6);
  --tw-shadow-colored: 0 5px 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_24px_rgba\(168\2c 85\2c 247\2c 0\.3\)\] {
  --tw-shadow: 0 6px 24px rgba(168,85,247,0.3);
  --tw-shadow-colored: 0 6px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_24px_rgba\(34\2c 158\2c 217\2c 0\.35\)\] {
  --tw-shadow: 0 6px 24px rgba(34,158,217,0.35);
  --tw-shadow-colored: 0 6px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_24px_rgba\(34\2c 158\2c 217\2c 0\.4\)\] {
  --tw-shadow: 0 6px 24px rgba(34,158,217,0.4);
  --tw-shadow-colored: 0 6px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_24px_rgba\(59\2c 130\2c 246\2c 0\.35\)\] {
  --tw-shadow: 0 6px 24px rgba(59,130,246,0.35);
  --tw-shadow-colored: 0 6px 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_30px_rgba\(16\2c 185\2c 129\2c 0\.35\)\] {
  --tw-shadow: 0 6px 30px rgba(16,185,129,0.35);
  --tw-shadow-colored: 0 6px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_30px_rgba\(217\2c 70\2c 239\2c 0\.45\)\] {
  --tw-shadow: 0 6px 30px rgba(217,70,239,0.45);
  --tw-shadow-colored: 0 6px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_6px_30px_rgba\(236\2c 72\2c 153\2c 0\.45\)\] {
  --tw-shadow: 0 6px 30px rgba(236,72,153,0.45);
  --tw-shadow-colored: 0 6px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_30px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
  --tw-shadow: 0 8px 30px rgba(0,0,0,0.12);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_30px_rgba\(0\2c 0\2c 0\2c 0\.4\)\] {
  --tw-shadow: 0 8px 30px rgba(0,0,0,0.4);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_30px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 8px 30px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_30px_rgba\(0\2c 0\2c 0\2c 0\.6\)\] {
  --tw-shadow: 0 8px 30px rgba(0,0,0,0.6);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_30px_rgba\(139\2c 92\2c 246\2c 0\.3\)\] {
  --tw-shadow: 0 8px 30px rgba(139,92,246,0.3);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_30px_rgba\(6\2c 182\2c 212\2c 0\.45\)\] {
  --tw-shadow: 0 8px 30px rgba(6,182,212,0.45);
  --tw-shadow-colored: 0 8px 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_32px_rgba\(0\2c 0\2c 0\2c 0\.7\)\] {
  --tw-shadow: 0 8px 32px rgba(0,0,0,0.7);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_32px_rgba\(124\2c 58\2c 237\2c 0\.45\)\] {
  --tw-shadow: 0 8px 32px rgba(124,58,237,0.45);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_40px_rgba\(0\2c 0\2c 0\2c 0\.6\)\] {
  --tw-shadow: 0 8px 40px rgba(0,0,0,0.6);
  --tw-shadow-colored: 0 8px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_8px_60px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 8px 60px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 8px 60px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[10px_0_40px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-shadow: 10px 0 40px rgba(0,0,0,0.8);
  --tw-shadow-colored: 10px 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[10px_10px_40px_rgba\(249\2c 115\2c 22\2c 0\.1\)\] {
  --tw-shadow: 10px 10px 40px rgba(249,115,22,0.1);
  --tw-shadow-colored: 10px 10px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[2px_2px_0_\#FFF\] {
  --tw-shadow: 2px 2px 0 #FFF;
  --tw-shadow-colored: 2px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[2px_4px_10px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
  --tw-shadow: 2px 4px 10px rgba(0,0,0,0.05);
  --tw-shadow-colored: 2px 4px 10px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[4px_4px_0_\#000\] {
  --tw-shadow: 4px 4px 0 #000;
  --tw-shadow-colored: 4px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[4px_4px_0_rgba\(0\2c 255\2c 255\2c 0\.4\)\] {
  --tw-shadow: 4px 4px 0 rgba(0,255,255,0.4);
  --tw-shadow-colored: 4px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[4px_4px_0_rgba\(44\2c 62\2c 80\2c 0\.1\)\] {
  --tw-shadow: 4px 4px 0 rgba(44,62,80,0.1);
  --tw-shadow-colored: 4px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[5px_5px_0_rgba\(44\2c 62\2c 80\2c 0\.1\)\] {
  --tw-shadow: 5px 5px 0 rgba(44,62,80,0.1);
  --tw-shadow-colored: 5px 5px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[8px_8px_0_\#000\] {
  --tw-shadow: 8px 8px 0 #000;
  --tw-shadow-colored: 8px 8px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[8px_8px_0_rgba\(44\2c 62\2c 80\2c 0\.15\)\] {
  --tw-shadow: 8px 8px 0 rgba(44,62,80,0.15);
  --tw-shadow-colored: 8px 8px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_12px_rgba\(0\2c 217\2c 255\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 12px rgba(0,217,255,0.15);
  --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_12px_rgba\(155\2c 92\2c 255\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 12px rgba(155,92,255,0.15);
  --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_12px_rgba\(251\2c 146\2c 60\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 12px rgba(251,146,60,0.15);
  --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_12px_rgba\(255\2c 79\2c 216\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 12px rgba(255,79,216,0.15);
  --tw-shadow-colored: inset 0 0 12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_15px_rgba\(155\2c 92\2c 255\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 15px rgba(155,92,255,0.15);
  --tw-shadow-colored: inset 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_15px_rgba\(255\2c 79\2c 216\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 15px rgba(255,79,216,0.15);
  --tw-shadow-colored: inset 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_15px_rgba\(34\2c 197\2c 94\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 15px rgba(34,197,94,0.15);
  --tw-shadow-colored: inset 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_15px_rgba\(6\2c 182\2c 212\2c 0\.15\)\] {
  --tw-shadow: inset 0 0 15px rgba(6,182,212,0.15);
  --tw-shadow-colored: inset 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_20px_rgba\(0\2c 255\2c 255\2c 0\.2\)\] {
  --tw-shadow: inset 0 0 20px rgba(0,255,255,0.2);
  --tw-shadow-colored: inset 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-none {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-amber-500\/40 {
  --tw-shadow-color: rgb(245 158 11 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-cyan-500\/40 {
  --tw-shadow-color: rgb(6 182 212 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-500\/40 {
  --tw-shadow-color: rgb(16 185 129 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-fuchsia-500\/40 {
  --tw-shadow-color: rgb(217 70 239 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-500\/40 {
  --tw-shadow-color: rgb(168 85 247 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-red-500\/40 {
  --tw-shadow-color: rgb(239 68 68 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-red-600\/25 {
  --tw-shadow-color: rgb(220 38 38 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.outline-none {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.outline {
  outline-style: solid;
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-1 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[3px\] {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[\#0f172a\] {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(15 23 42 / var(--tw-ring-opacity, 1));
}
.ring-cyan-400\/20 {
  --tw-ring-color: rgb(34 211 238 / 0.2);
}
.ring-cyan-400\/30 {
  --tw-ring-color: rgb(34 211 238 / 0.3);
}
.ring-orange-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1));
}
.ring-white\/20 {
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}
.ring-offset-\[\#1a1a1a\] {
  --tw-ring-offset-color: #1a1a1a;
}
.blur {
  --tw-blur: blur(8px);
  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);
}
.blur-2xl {
  --tw-blur: blur(40px);
  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);
}
.blur-3xl {
  --tw-blur: blur(64px);
  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);
}
.blur-\[100px\] {
  --tw-blur: blur(100px);
  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);
}
.blur-\[110px\] {
  --tw-blur: blur(110px);
  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);
}
.blur-\[120px\] {
  --tw-blur: blur(120px);
  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);
}
.blur-\[130px\] {
  --tw-blur: blur(130px);
  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);
}
.blur-\[1px\] {
  --tw-blur: blur(1px);
  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);
}
.blur-\[2px\] {
  --tw-blur: blur(2px);
  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);
}
.blur-\[40px\] {
  --tw-blur: blur(40px);
  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);
}
.blur-\[50px\] {
  --tw-blur: blur(50px);
  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);
}
.blur-\[60px\] {
  --tw-blur: blur(60px);
  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);
}
.blur-\[80px\] {
  --tw-blur: blur(80px);
  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);
}
.blur-\[90px\] {
  --tw-blur: blur(90px);
  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);
}
.blur-lg {
  --tw-blur: blur(16px);
  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);
}
.blur-md {
  --tw-blur: blur(12px);
  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);
}
.blur-sm {
  --tw-blur: blur(4px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-xl {
  --tw-blur: blur(24px);
  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);
}
.brightness-75 {
  --tw-brightness: brightness(.75);
  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);
}
.brightness-\[1\.2\] {
  --tw-brightness: brightness(1.2);
  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);
}
.contrast-125 {
  --tw-contrast: contrast(1.25);
  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);
}
.contrast-150 {
  --tw-contrast: contrast(1.5);
  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 {
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-2xl {
  --tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
  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-\[0_0_10px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(0,0,0,0.8));
  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-\[0_0_10px_rgba\(132\2c 204\2c 22\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(132,204,22,0.8));
  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-\[0_0_10px_rgba\(168\2c 85\2c 247\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(168,85,247,0.8));
  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-\[0_0_10px_rgba\(191\2c 219\2c 254\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(191,219,254,0.8));
  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-\[0_0_10px_rgba\(236\2c 72\2c 153\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(236,72,153,0.8));
  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-\[0_0_10px_rgba\(250\2c 204\2c 21\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(250,204,21,0.8));
  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-\[0_0_10px_rgba\(255\2c 255\2c 255\2c 0\.2\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(255,255,255,0.2));
  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-\[0_0_10px_rgba\(34\2c 197\2c 94\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(34,197,94,0.8));
  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-\[0_0_10px_rgba\(34\2c 211\2c 238\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(34,211,238,0.8));
  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-\[0_0_10px_rgba\(52\2c 211\2c 153\2c 0\.7\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(52,211,153,0.7));
  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-\[0_0_10px_rgba\(6\2c 182\2c 212\2c 0\.3\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(6,182,212,0.3));
  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-\[0_0_10px_rgba\(6\2c 182\2c 212\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(6,182,212,0.8));
  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-\[0_0_10px_rgba\(96\2c 165\2c 250\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(96,165,250,0.8));
  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-\[0_0_12px_rgba\(234\2c 88\2c 12\2c 0\.9\)\] {
  --tw-drop-shadow: drop-shadow(0 0 12px rgba(234,88,12,0.9));
  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-\[0_0_12px_rgba\(6\2c 182\2c 212\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 12px rgba(6,182,212,0.8));
  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-\[0_0_15px_rgba\(0\2c 0\2c 0\2c 0\.9\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(0,0,0,0.9));
  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-\[0_0_15px_rgba\(0\2c 217\2c 255\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(0,217,255,0.8));
  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-\[0_0_15px_rgba\(217\2c 70\2c 239\2c 1\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(217,70,239,1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_0_15px_rgba\(226\2c 232\2c 240\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(226,232,240,0.6));
  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-\[0_0_15px_rgba\(236\2c 72\2c 153\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(236,72,153,0.5));
  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-\[0_0_15px_rgba\(239\2c 68\2c 68\2c 1\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(239,68,68,1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_0_15px_rgba\(255\2c 255\2c 255\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(255,255,255,0.8));
  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-\[0_0_15px_rgba\(45\2c 212\2c 191\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(45,212,191,0.8));
  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-\[0_0_15px_rgba\(99\2c 102\2c 241\2c 1\)\] {
  --tw-drop-shadow: drop-shadow(0 0 15px rgba(99,102,241,1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_0_20px_rgba\(0\2c 0\2c 0\2c 0\.9\)\] {
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(0,0,0,0.9));
  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-\[0_0_20px_rgba\(217\2c 70\2c 239\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(217,70,239,0.6));
  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-\[0_0_20px_rgba\(224\2c 242\2c 254\2c 0\.9\)\] {
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(224,242,254,0.9));
  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-\[0_0_20px_rgba\(239\2c 68\2c 68\2c 0\.9\)\] {
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(239,68,68,0.9));
  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-\[0_0_20px_rgba\(250\2c 204\2c 21\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(250,204,21,0.8));
  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-\[0_0_20px_rgba\(88\2c 28\2c 135\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(88,28,135,0.5));
  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-\[0_0_25px_rgba\(16\2c 185\2c 129\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 0 25px rgba(16,185,129,0.6));
  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-\[0_0_2px_\#FFF\] {
  --tw-drop-shadow: drop-shadow(0 0 2px #FFF);
  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-\[0_0_5px_rgba\(239\2c 68\2c 68\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 5px rgba(239,68,68,0.8));
  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-\[0_0_5px_rgba\(6\2c 182\2c 212\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 5px rgba(6,182,212,0.8));
  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-\[0_0_6px_rgba\(16\2c 185\2c 129\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 0 6px rgba(16,185,129,0.6));
  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-\[0_0_8px_\#f97316\] {
  --tw-drop-shadow: drop-shadow(0 0 8px #f97316);
  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-\[0_0_8px_\$\{s\.glow\}\] {
  --tw-drop-shadow: drop-shadow(0 0 8px ${s.glow});
  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-\[0_0_8px_rgba\(148\2c 163\2c 184\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(148,163,184,0.8));
  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-\[0_0_8px_rgba\(16\2c 185\2c 129\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(16,185,129,0.8));
  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-\[0_0_8px_rgba\(190\2c 18\2c 60\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(190,18,60,0.8));
  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-\[0_0_8px_rgba\(244\2c 114\2c 182\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(244,114,182,0.8));
  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-\[0_0_8px_rgba\(245\2c 158\2c 11\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(245,158,11,0.8));
  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-\[0_0_8px_rgba\(250\2c 204\2c 21\2c 1\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(250,204,21,1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_0_8px_rgba\(251\2c 207\2c 232\2c 0\.7\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(251,207,232,0.7));
  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-\[0_0_8px_rgba\(255\2c 255\2c 255\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(255,255,255,0.5));
  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-\[0_0_8px_rgba\(6\2c 182\2c 212\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(6,182,212,0.8));
  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-\[0_10px_15px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 10px 15px rgba(0,0,0,0.5));
  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-\[0_2px_20px_rgba\(217\2c 70\2c 239\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 20px rgba(217,70,239,0.6));
  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-\[0_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 4px rgba(0,0,0,0.8));
  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-\[0_2px_4px_rgba\(0\2c 0\2c 0\2c 1\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 4px rgba(0,0,0,1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_2px_5px_rgba\(34\2c 197\2c 94\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 5px rgba(34,197,94,0.5));
  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-\[0_2px_8px_rgba\(0\2c 0\2c 0\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 2px 8px rgba(0,0,0,0.8));
  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-\[0_4px_10px_rgba\(217\2c 70\2c 239\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 4px 10px rgba(217,70,239,0.8));
  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-\[0_5px_15px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(0 5px 15px rgba(0,0,0,0.5));
  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-\[2px_0_0_red\2c -2px_0_0_blue\] {
  --tw-drop-shadow: drop-shadow(2px 0 0 red,-2px 0 0 blue);
  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-\[2px_2px_0_\#000\] {
  --tw-drop-shadow: drop-shadow(2px 2px 0 #000);
  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-\[2px_2px_0_\#06b6d4\] {
  --tw-drop-shadow: drop-shadow(2px 2px 0 #06b6d4);
  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-\[2px_2px_0_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-drop-shadow: drop-shadow(2px 2px 0 rgba(0,0,0,0.5));
  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-\[4px_4px_0_\#000\] {
  --tw-drop-shadow: drop-shadow(4px 4px 0 #000);
  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: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-md {
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-xl {
  --tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.sepia-\[0\.3\] {
  --tw-sepia: sepia(0.3);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur {
  --tw-backdrop-blur: blur(8px);
  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-2xl {
  --tw-backdrop-blur: blur(40px);
  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-3xl {
  --tw-backdrop-blur: blur(64px);
  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-\[24px\] {
  --tw-backdrop-blur: blur(24px);
  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-\[28px\] {
  --tw-backdrop-blur: blur(28px);
  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-\[2px\] {
  --tw-backdrop-blur: blur(2px);
  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);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md {
  --tw-backdrop-blur: blur(12px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm {
  --tw-backdrop-blur: blur(4px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl {
  --tw-backdrop-blur: blur(24px);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-100 {
  transition-duration: 100ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-150 {
  transition-duration: 150ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[gif\:id\] {
  gif: id;
}
.\[img\:URL\] {
  img: URL;
}
.\[location\:lat\2c lon\2c label\] {
  location: lat,lon,label;
}
.\[sticker\:diamond\] {
  sticker: diamond;
}
.\[sticker\:id\] {
  sticker: id;
}
.\[video\:URL\] {
  video: URL;
}
.\[voice\:URL\] {
  voice: URL;
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent !important;
}

/* ── Viewport lock ── */
html,
body,
#root {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #07101f;
  color: var(--tg-text);
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'SF Pro Display', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html, body {
  position: fixed;
  overscroll-behavior: none;
}

#root {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 100vw;
}

/* ═══════════════════════════════════════════════════════
   AppShell Layout System
   ═══════════════════════════════════════════════════════
   ONE shell, THREE zones, ZERO overlap.

   ┌────────────────────────── 0
   │ (shell-top reserved)     — iOS status bar + TG controls
   ├────────────────────────── --shell-top
   │ .app-header              — 72px, backdrop-blur
   ├────────────────────────── --shell-top + 72px
   │ .app-content             — scrollable, padded
   ├────────────────────────── bottom − nav − safe-bottom − 10px
   │ .bottom-nav              — 78px pill
   ├────────────────────────── bottom − safe-bottom
   │ (safe-bottom)            — home indicator
   └────────────────────────── --app-height
   ═══════════════════════════════════════════════════════ */

.app-shell {
  position: relative;
  width: 100%;
  height: var(--app-height, 100dvh);
  overflow: hidden;
  background: #07101f;
}

.app-header {
  position: absolute;
  top: var(--shell-top, 0px);
  left: 0;
  right: 0;
  height: var(--app-header-height, 72px);
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 16px;
  padding-right: 16px;
  background: rgba(7, 16, 31, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.app-content {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--shell-top, 0px) + var(--app-header-height, 72px));
  bottom: calc(var(--bottom-nav-height, 78px) + var(--safe-bottom, 0px) + 10px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 14px 16px 20px 16px;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.app-content-fullscreen {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--shell-top, 0px);
  bottom: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.bottom-nav-container {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: calc(var(--safe-bottom, 0px) + 8px);
  height: var(--bottom-nav-height, 78px);
  z-index: 60;
}

/* ── Keyboard open: hide nav, extend content ── */
.keyboard-open .bottom-nav-container {
  display: none;
}
.keyboard-open .app-content {
  bottom: var(--safe-bottom, 0px);
}

/* ── Legacy safe-area utility classes ── */
.safe-top, .pt-safe, .tg-safe-top {
  padding-top: var(--safe-top);
}
.safe-bottom, .pb-safe, .tg-safe-bottom {
  padding-bottom: var(--safe-bottom);
}
/* prevent overflow */
#root > * { max-width: 100vw; overflow-x: clip; }

/* 
  ============= ANIMATIONS =============
*/
@keyframes border-flow-smooth {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes gradient-flow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

@keyframes orb-breathe {
  0%, 100% { transform: scale(1); filter: brightness(1) drop-shadow(0 0 20px rgba(6, 182, 212, 0.4)); }
  50% { transform: scale(1.05); filter: brightness(1.2) drop-shadow(0 0 40px rgba(6, 182, 212, 0.8)); }
}

@keyframes orb-pulse {
  0% { transform: translate(-50%, -50%) scale(0.8); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
}

@keyframes pulse-ring {
  0% { width: 100px; height: 100px; opacity: 1; border-width: 2px; }
  100% { width: 300px; height: 300px; opacity: 0; border-width: 0px; }
}

@keyframes grid-move {
  0% { transform: perspective(300px) rotateX(60deg) scale(2) translateY(0); }
  100% { transform: perspective(300px) rotateX(60deg) scale(2) translateY(20px); }
}

.parallax-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.star-static {
  position: absolute;
  border-radius: 50%;
}

@keyframes twinkle {
  0% { opacity: 0.2; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1.2); }
}

/* Base Typo Tweaks */
h1, h2, h3, h4 {
  font-family: 'Inter', 'SF Pro Display', sans-serif;
}

/* Hide MapLibre missing data text and background */
.maplibregl-missing-tile {
   display: none !important;
}
.maplibregl-map {
   background-color: transparent !important;
}
.maplibregl-canvas {
   background-color: transparent !important;
}

/* Stunning custom night map derived from Positron */
.spaceland-night-map .maplibregl-canvas {
   filter: invert(95%) hue-rotate(180deg) brightness(105%) contrast(90%);
}
.spaceland-diamond-map .maplibregl-canvas {
   /* Premium / Cinematic: rich contrast + warm saturation for a high-end film look */
   filter: brightness(0.92) contrast(1.28) saturate(1.45) hue-rotate(-8deg);
}
/* Cinematic vignette overlay for Premium mode */
.spaceland-diamond-map::after {
   content: "";
   position: absolute;
   inset: 0;
   pointer-events: none;
   z-index: 5;
   background:
     radial-gradient(120% 90% at 50% 38%, transparent 55%, rgba(2,2,12,0.55) 100%),
     linear-gradient(180deg, rgba(120,40,200,0.10) 0%, transparent 30%, transparent 70%, rgba(217,70,239,0.12) 100%);
   mix-blend-mode: multiply;
}

/* Shooting Stars and Easter Eggs */
@keyframes shootingStarAnim {
  0% { transform: translate(0, 0) rotate(45deg) scale(0); opacity: 0; }
  10% { transform: translate(-50px, 50px) rotate(45deg) scale(1); opacity: 1; }
  20% { transform: translate(-100px, 100px) rotate(45deg) scale(1); opacity: 0; }
  100% { transform: translate(-500px, 500px) rotate(45deg) scale(0); opacity: 0; }
}

.shooting-star-layer {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  pointer-events: none;
  z-index: 2;
}

.shooting-star {
  position: absolute;
  width: 100px;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,255,255,1), transparent);
  animation: shootingStarAnim linear infinite;
  opacity: 0;
}

@keyframes easterEggAnim {
  0% { transform: translate(-100px, 20vh) rotate(-15deg); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translate(120vw, -10vh) rotate(15deg); opacity: 0; }
}

.easter-egg-ufo {
  position: absolute;
  font-size: 2rem;
  filter: drop-shadow(0 0 10px rgba(103, 232, 249, 0.8));
  animation: easterEggAnim 30s linear infinite;
  opacity: 0;
  z-index: 5;
}

@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.animate-spin-slow {
  animation: spin-slow 240s linear infinite;
}

@keyframes float-stars {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-50px) rotate(5deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

.animate-float-stars {
  animation: float-stars 60s ease-in-out infinite;
}

@keyframes spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.animate-spin-slow {
  animation: spin-slow 240s linear infinite;
}
@keyframes float-stars {
  0% { transform: translateY(0px) rotate(0deg); }
  50% { transform: translateY(-50px) rotate(5deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}
.animate-float-stars {
  animation: float-stars 60s ease-in-out infinite;
}


@media (max-width: 768px) {
  .map-zoomed-out {
    clip-path: circle(45vw at center) !important;
  }
}
.map-zoomed-out {
  clip-path: circle(35vw at center) !important;
}


/* WINAMP CLASSIC THEME */
body.theme-winamp {
  font-family: 'Courier New', Courier, monospace !important;
  background-color: #0000aa !important;
  color: #00ff00 !important;
  filter: none !important;
}
body.theme-winamp * {
  border-radius: 0 !important;
  border-color: #00ff00 !important;
}
body.theme-winamp div {
  background: #000000 !important;
  border: 1px solid #00ff00 !important;
  box-shadow: inset 1px 1px #fff, inset -1px -1px #555 !important;
}
body.theme-winamp button {
  background: #222 !important;
  color: #00ff00 !important;
  border: 2px outset #555 !important;
  text-transform: uppercase !important;
  font-weight: bold !important;
}
body.theme-winamp button:active {
  border: 2px inset #555 !important;
}
body.theme-winamp input, body.theme-winamp select, body.theme-winamp textarea {
  background: #000 !important;
  color: #00ff00 !important;
  border: 2px inset #555 !important;
}

/* HOLOGRAPHIC AD BANNER EFFECTS */
@keyframes holo-float {
  0% { transform: translateY(0px) rotateX(15deg); }
  50% { transform: translateY(-8px) rotateX(20deg); }
  100% { transform: translateY(0px) rotateX(15deg); }
}

@keyframes holo-pulse-glow {
  0%, 100% { filter: drop-shadow(0 0 15px currentColor) brightness(1); }
  50% { filter: drop-shadow(0 0 30px currentColor) brightness(1.2); }
}

@keyframes scanline-move {
  0% { background-position: 0 -100px; }
  100% { background-position: 0 100vh; }
}

.holo-ad-banner {
  animation: holo-float 6s ease-in-out infinite;
  transform-origin: center bottom;
  perspective: 1000px;
}

.holo-scanline {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(255, 255, 255, 0.1) 51%,
    transparent 52%
  );
  background-size: 100% 4px;
  animation: scanline-move 8s linear infinite;
  pointer-events: none;
  z-index: 20;
  opacity: 0.3;
}

.holo-border-glow {
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(255,255,255,0.4), transparent 40%, transparent 60%, rgba(255,255,255,0.4));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 5;
}

/* CONNECTOR LINES CSS */
.connector-line {
  position: absolute;
  pointer-events: none;
  transform-origin: left center;
  z-index: 30;
}

.connector-line--shop {
  width: 2px;
  background: var(--line-color);
  box-shadow: 0 0 12px var(--line-color);
}

.connector-line--ad {
  height: 2px;
  background: linear-gradient(
    90deg,
    var(--line-color),
    rgba(255,255,255,0.12)
  );
  box-shadow: 0 0 14px var(--line-color);
}

.connector-line--user {
  height: 2px;
  border-top: 2px dashed var(--line-color);
  filter: drop-shadow(0 0 8px var(--line-color));
  animation: userDashMove var(--pulse-speed, 1.6s) linear infinite;
}

.connector-line--event-accepted {
  height: 2px;
  background: var(--line-color);
  box-shadow:
    0 0 10px var(--line-color),
    0 0 28px var(--line-color);
  animation: eventPulse 1.4s ease-in-out infinite;
}

.connector-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--line-color);
  box-shadow:
    0 0 12px var(--line-color),
    0 0 32px var(--line-color);
}

.connector-path--animated {
  animation: strokeDashMove 2s linear infinite;
}

@keyframes userDashMove {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: -32;
  }
}

@keyframes strokeDashMove {
  from { stroke-dashoffset: 100; }
  to { stroke-dashoffset: 0; }
}

/* ============= ERGONOMIC UTILITIES ============= */

/* Glass Rail — grouped floating button container */
.glass-rail {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 6px;
  border-radius: 28px;
  background: rgba(5, 10, 20, 0.75);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  pointer-events: auto;
}

.glass-rail .rail-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: rgba(148, 163, 184, 0.9);
  border: 1px solid transparent;
  transition: all 0.2s ease;
  font-size: 16px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.glass-rail .rail-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.glass-rail .rail-btn:active {
  transform: scale(0.9);
  background: rgba(255, 255, 255, 0.12);
}

.glass-rail .rail-btn.is-active {
  color: var(--neon-cyan);
  background: rgba(6, 182, 212, 0.12);
  border-color: rgba(6, 182, 212, 0.3);
  box-shadow: 0 0 12px rgba(6, 182, 212, 0.2);
}

.glass-rail .rail-divider {
  width: 24px;
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
  margin: 2px auto;
}

/* Thumb-friendly button — min 44×44 tap target */
.thumb-btn {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* Dot indicator for active tab */
.dot-indicator {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
  animation: dotPop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

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

/* Active tab bounce */
@keyframes activeBounce {
  0% { transform: translateY(0); }
  40% { transform: translateY(-3px); }
  100% { transform: translateY(0); }
}

.active-bounce {
  animation: activeBounce 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* Bottom controls pill (horizontal) */
.glass-pill {
  display: flex;
  flex-direction: row;
  gap: 4px;
  padding: 6px;
  border-radius: 28px;
  background: rgba(5, 10, 20, 0.75);
  backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  pointer-events: auto;
}

.glass-pill .rail-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: rgba(148, 163, 184, 0.9);
  border: 1px solid transparent;
  transition: all 0.2s ease;
  font-size: 15px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.glass-pill .rail-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.glass-pill .rail-btn:active {
  transform: scale(0.9);
}

.glass-pill .rail-btn.is-primary {
  width: 44px;
  height: 44px;
  color: #60a5fa;
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.35);
  box-shadow: 0 0 14px rgba(59, 130, 246, 0.25);
}

/* Compact radar scanner — slow, calm continuous sweep (never jumpy).
   Used by the /nearby "Radar" tab. */
@keyframes radar-sweep-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.radar-sweep {
  animation: radar-sweep-spin 4s linear infinite;
  transform-origin: 50% 50%;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .radar-sweep { animation: none; }
}

/* ============= MODEL-VIEWER FIX ============= */
/* Prevent black initial frame on model-viewer web component */
model-viewer {
  background: transparent !important;
  --poster-color: transparent !important;
}
model-viewer::part(default-progress-bar) {
  display: none !important;
}

/* ============= ROUTE TRANSITION FIX ============= */
/* Ensure no black flash between page bg colors during route change */
#root > div {
  min-height: 100dvh;
}

/* ============= FLASH CARD ANIMATIONS ============= */
@keyframes shimmer {
  0% { transform: translateX(-100%) rotate(12deg); }
  100% { transform: translateX(100%) rotate(12deg); }
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes flash-text-pop {
  0% { transform: scale(0.5) translateY(10px); opacity: 0; }
  60% { transform: scale(1.08) translateY(-2px); opacity: 1; }
  100% { transform: scale(1) translateY(0); opacity: 1; }
}

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

@keyframes thunder-flash {
  0%, 85%, 100% { opacity: 0; }
  86% { opacity: 0.8; }
  88% { opacity: 0; }
  90% { opacity: 0.5; }
  92% { opacity: 0; }
}

@keyframes aurora-wave {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes glitch-shift {
  0% { transform: translateX(0); }
  33% { transform: translateX(-3px); }
  66% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

@keyframes wave-bob {
  0%, 100% { transform: translateY(0) scaleY(1); }
  50% { transform: translateY(-5px) scaleY(1.3); }
}

@keyframes matrix-rain {
  0% { transform: translateY(0); }
  100% { transform: translateY(-50%); }
}

@keyframes scan-lines {
  0% { background-position: 0 0; }
  100% { background-position: 0 100px; }
}

/* Scrollbar hide for style pickers */
.scrollbar-none::-webkit-scrollbar { display: none; }
.scrollbar-none { -ms-overflow-style: none; scrollbar-width: none; }
.placeholder\:text-slate-500::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-500::placeholder {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-600::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-600::placeholder {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.placeholder\:text-white\/15::-moz-placeholder {
  color: rgb(255 255 255 / 0.15);
}
.placeholder\:text-white\/15::placeholder {
  color: rgb(255 255 255 / 0.15);
}
.placeholder\:text-white\/20::-moz-placeholder {
  color: rgb(255 255 255 / 0.2);
}
.placeholder\:text-white\/20::placeholder {
  color: rgb(255 255 255 / 0.2);
}
.placeholder\:text-white\/25::-moz-placeholder {
  color: rgb(255 255 255 / 0.25);
}
.placeholder\:text-white\/25::placeholder {
  color: rgb(255 255 255 / 0.25);
}
.placeholder\:text-white\/30::-moz-placeholder {
  color: rgb(255 255 255 / 0.3);
}
.placeholder\:text-white\/30::placeholder {
  color: rgb(255 255 255 / 0.3);
}
.last\:border-0:last-child {
  border-width: 0px;
}
.last\:border-b-0:last-child {
  border-bottom-width: 0px;
}
.focus-within\:border-orange-500:focus-within {
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-2:hover {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-125:hover {
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-150:hover {
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-\[\#00D9FF\]\/40:hover {
  border-color: rgb(0 217 255 / 0.4);
}
.hover\:border-\[\#00D9FF\]\/50:hover {
  border-color: rgb(0 217 255 / 0.5);
}
.hover\:border-\[\#00D9FF\]\/60:hover {
  border-color: rgb(0 217 255 / 0.6);
}
.hover\:border-\[\#00FFFF\]\/50:hover {
  border-color: rgb(0 255 255 / 0.5);
}
.hover\:border-\[\#06b6d4\]\/80:hover {
  border-color: rgb(6 182 212 / 0.8);
}
.hover\:border-\[\#22c55e\]\/80:hover {
  border-color: rgb(34 197 94 / 0.8);
}
.hover\:border-\[\#9B5CFF\]\/50:hover {
  border-color: rgb(155 92 255 / 0.5);
}
.hover\:border-\[\#9B5CFF\]\/60:hover {
  border-color: rgb(155 92 255 / 0.6);
}
.hover\:border-\[\#9B5CFF\]\/80:hover {
  border-color: rgb(155 92 255 / 0.8);
}
.hover\:border-\[\#FF00FF\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 0 255 / var(--tw-border-opacity, 1));
}
.hover\:border-\[\#FF4FD8\]\/60:hover {
  border-color: rgb(255 79 216 / 0.6);
}
.hover\:border-\[\#FF4FD8\]\/70:hover {
  border-color: rgb(255 79 216 / 0.7);
}
.hover\:border-\[\#fb923c\]\/60:hover {
  border-color: rgb(251 146 60 / 0.6);
}
.hover\:border-amber-500\/50:hover {
  border-color: rgb(245 158 11 / 0.5);
}
.hover\:border-cyan-400\/40:hover {
  border-color: rgb(34 211 238 / 0.4);
}
.hover\:border-cyan-500\/20:hover {
  border-color: rgb(6 182 212 / 0.2);
}
.hover\:border-cyan-500\/30:hover {
  border-color: rgb(6 182 212 / 0.3);
}
.hover\:border-cyan-500\/40:hover {
  border-color: rgb(6 182 212 / 0.4);
}
.hover\:border-cyan-500\/50:hover {
  border-color: rgb(6 182 212 / 0.5);
}
.hover\:border-emerald-500\/20:hover {
  border-color: rgb(16 185 129 / 0.2);
}
.hover\:border-emerald-500\/30:hover {
  border-color: rgb(16 185 129 / 0.3);
}
.hover\:border-fuchsia-400\/40:hover {
  border-color: rgb(232 121 249 / 0.4);
}
.hover\:border-indigo-400\/80:hover {
  border-color: rgb(129 140 248 / 0.8);
}
.hover\:border-orange-500\/30:hover {
  border-color: rgb(249 115 22 / 0.3);
}
.hover\:border-purple-400\/80:hover {
  border-color: rgb(192 132 252 / 0.8);
}
.hover\:border-purple-500\/30:hover {
  border-color: rgb(168 85 247 / 0.3);
}
.hover\:border-purple-500\/40:hover {
  border-color: rgb(168 85 247 / 0.4);
}
.hover\:border-red-500\/30:hover {
  border-color: rgb(239 68 68 / 0.3);
}
.hover\:border-red-500\/40:hover {
  border-color: rgb(239 68 68 / 0.4);
}
.hover\:border-white\/10:hover {
  border-color: rgb(255 255 255 / 0.1);
}
.hover\:border-white\/15:hover {
  border-color: rgb(255 255 255 / 0.15);
}
.hover\:border-white\/20:hover {
  border-color: rgb(255 255 255 / 0.2);
}
.hover\:border-white\/25:hover {
  border-color: rgb(255 255 255 / 0.25);
}
.hover\:border-white\/30:hover {
  border-color: rgb(255 255 255 / 0.3);
}
.hover\:border-white\/40:hover {
  border-color: rgb(255 255 255 / 0.4);
}
.hover\:bg-\[\#00D9FF\]\/20:hover {
  background-color: rgb(0 217 255 / 0.2);
}
.hover\:bg-\[\#00D9FF\]\/30:hover {
  background-color: rgb(0 217 255 / 0.3);
}
.hover\:bg-\[\#00FF41\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 255 65 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#00FF41\]\/10:hover {
  background-color: rgb(0 255 65 / 0.1);
}
.hover\:bg-\[\#00FF41\]\/30:hover {
  background-color: rgb(0 255 65 / 0.3);
}
.hover\:bg-\[\#00FF41\]\/40:hover {
  background-color: rgb(0 255 65 / 0.4);
}
.hover\:bg-\[\#00FFFF\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#0842A0\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(8 66 160 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#0c1222\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(12 18 34 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#0f1a2e\]\/90:hover {
  background-color: rgb(15 26 46 / 0.9);
}
.hover\:bg-\[\#1a243d\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(26 36 61 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#253454\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 52 84 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#2c3e50\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(44 62 80 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#9B5CFF\]\/30:hover {
  background-color: rgb(155 92 255 / 0.3);
}
.hover\:bg-\[\#B4D0FC\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(180 208 252 / var(--tw-bg-opacity, 1));
}
.hover\:bg-\[\#ff4fd8\]\/20:hover {
  background-color: rgb(255 79 216 / 0.2);
}
.hover\:bg-amber-500\/10:hover {
  background-color: rgb(245 158 11 / 0.1);
}
.hover\:bg-amber-500\/15:hover {
  background-color: rgb(245 158 11 / 0.15);
}
.hover\:bg-amber-500\/20:hover {
  background-color: rgb(245 158 11 / 0.2);
}
.hover\:bg-amber-500\/30:hover {
  background-color: rgb(245 158 11 / 0.3);
}
.hover\:bg-black\/10:hover {
  background-color: rgb(0 0 0 / 0.1);
}
.hover\:bg-black\/5:hover {
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-black\/70:hover {
  background-color: rgb(0 0 0 / 0.7);
}
.hover\:bg-black\/80:hover {
  background-color: rgb(0 0 0 / 0.8);
}
.hover\:bg-blue-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-500\/20:hover {
  background-color: rgb(59 130 246 / 0.2);
}
.hover\:bg-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-500\/10:hover {
  background-color: rgb(6 182 212 / 0.1);
}
.hover\:bg-cyan-500\/15:hover {
  background-color: rgb(6 182 212 / 0.15);
}
.hover\:bg-cyan-500\/20:hover {
  background-color: rgb(6 182 212 / 0.2);
}
.hover\:bg-emerald-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-500\/20:hover {
  background-color: rgb(16 185 129 / 0.2);
}
.hover\:bg-emerald-500\/30:hover {
  background-color: rgb(16 185 129 / 0.3);
}
.hover\:bg-fuchsia-500\/10:hover {
  background-color: rgb(217 70 239 / 0.1);
}
.hover\:bg-fuchsia-500\/15:hover {
  background-color: rgb(217 70 239 / 0.15);
}
.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.hover\:bg-neutral-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(64 64 64 / var(--tw-bg-opacity, 1));
}
.hover\:bg-neutral-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(38 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(251 146 60 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-500\/10:hover {
  background-color: rgb(249 115 22 / 0.1);
}
.hover\:bg-pink-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-500\/20:hover {
  background-color: rgb(236 72 153 / 0.2);
}
.hover\:bg-pink-500\/30:hover {
  background-color: rgb(236 72 153 / 0.3);
}
.hover\:bg-purple-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-500\/15:hover {
  background-color: rgb(168 85 247 / 0.15);
}
.hover\:bg-red-500:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}
.hover\:bg-red-500\/15:hover {
  background-color: rgb(239 68 68 / 0.15);
}
.hover\:bg-red-500\/20:hover {
  background-color: rgb(239 68 68 / 0.2);
}
.hover\:bg-red-500\/30:hover {
  background-color: rgb(239 68 68 / 0.3);
}
.hover\:bg-red-500\/40:hover {
  background-color: rgb(239 68 68 / 0.4);
}
.hover\:bg-red-500\/80:hover {
  background-color: rgb(239 68 68 / 0.8);
}
.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-700\/80:hover {
  background-color: rgb(51 65 85 / 0.8);
}
.hover\:bg-slate-800\/60:hover {
  background-color: rgb(30 41 59 / 0.6);
}
.hover\:bg-slate-800\/80:hover {
  background-color: rgb(30 41 59 / 0.8);
}
.hover\:bg-violet-500\/20:hover {
  background-color: rgb(139 92 246 / 0.2);
}
.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/15:hover {
  background-color: rgb(255 255 255 / 0.15);
}
.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/40:hover {
  background-color: rgb(255 255 255 / 0.4);
}
.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:bg-white\/\[0\.02\]:hover {
  background-color: rgb(255 255 255 / 0.02);
}
.hover\:bg-white\/\[0\.03\]:hover {
  background-color: rgb(255 255 255 / 0.03);
}
.hover\:bg-white\/\[0\.04\]:hover {
  background-color: rgb(255 255 255 / 0.04);
}
.hover\:bg-white\/\[0\.05\]:hover {
  background-color: rgb(255 255 255 / 0.05);
}
.hover\:bg-white\/\[0\.06\]:hover {
  background-color: rgb(255 255 255 / 0.06);
}
.hover\:from-cyan-400:hover {
  --tw-gradient-from: #22d3ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 211 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-violet-600\/35:hover {
  --tw-gradient-from: rgb(124 58 237 / 0.35) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-violet-600\/45:hover {
  --tw-gradient-from: rgb(124 58 237 / 0.45) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:via-blue-400:hover {
  --tw-gradient-to: rgb(96 165 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #60a5fa var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.hover\:to-fuchsia-400:hover {
  --tw-gradient-to: #e879f9 var(--tw-gradient-to-position);
}
.hover\:to-purple-600\/25:hover {
  --tw-gradient-to: rgb(147 51 234 / 0.25) var(--tw-gradient-to-position);
}
.hover\:to-purple-600\/35:hover {
  --tw-gradient-to: rgb(147 51 234 / 0.35) var(--tw-gradient-to-position);
}
.hover\:text-\[\#00D9FF\]:hover {
  --tw-text-opacity: 1;
  color: rgb(0 217 255 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#00FFFF\]:hover {
  --tw-text-opacity: 1;
  color: rgb(0 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#9B5CFF\]:hover {
  --tw-text-opacity: 1;
  color: rgb(155 92 255 / var(--tw-text-opacity, 1));
}
.hover\:text-\[\#fcfbf9\]:hover {
  --tw-text-opacity: 1;
  color: rgb(252 251 249 / var(--tw-text-opacity, 1));
}
.hover\:text-\[var\(--tg-text\)\]:hover {
  color: var(--tg-text);
}
.hover\:text-amber-400:hover {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.hover\:text-black:hover {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}
.hover\:text-cyan-300:hover {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.hover\:text-cyan-400:hover {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.hover\:text-fuchsia-300:hover {
  --tw-text-opacity: 1;
  color: rgb(240 171 252 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-300:hover {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.hover\:text-red-400:hover {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-200:hover {
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-300:hover {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-white\/50:hover {
  color: rgb(255 255 255 / 0.5);
}
.hover\:text-white\/60:hover {
  color: rgb(255 255 255 / 0.6);
}
.hover\:text-white\/70:hover {
  color: rgb(255 255 255 / 0.7);
}
.hover\:text-white\/80:hover {
  color: rgb(255 255 255 / 0.8);
}
.hover\:underline:hover {
  text-decoration-line: underline;
}
.hover\:opacity-100:hover {
  opacity: 1;
}
.hover\:opacity-50:hover {
  opacity: 0.5;
}
.hover\:opacity-70:hover {
  opacity: 0.7;
}
.hover\:opacity-90:hover {
  opacity: 0.9;
}
.hover\:shadow-2xl:hover {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_15px_rgba\(16\2c 185\2c 129\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(16,185,129,0.5);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_20px_\#00FFFF\]:hover {
  --tw-shadow: 0 0 20px #00FFFF;
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_20px_rgba\(168\2c 85\2c 247\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 20px rgba(168,85,247,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_20px_rgba\(255\2c 79\2c 216\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 20px rgba(255,79,216,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_20px_rgba\(99\2c 102\2c 241\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 20px rgba(99,102,241,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_24px_rgba\(0\2c 217\2c 255\2c 0\.18\)\]:hover {
  --tw-shadow: 0 0 24px rgba(0,217,255,0.18);
  --tw-shadow-colored: 0 0 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_24px_rgba\(155\2c 92\2c 255\2c 0\.18\)\]:hover {
  --tw-shadow: 0 0 24px rgba(155,92,255,0.18);
  --tw-shadow-colored: 0 0 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_24px_rgba\(251\2c 146\2c 60\2c 0\.18\)\]:hover {
  --tw-shadow: 0 0 24px rgba(251,146,60,0.18);
  --tw-shadow-colored: 0 0 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_24px_rgba\(255\2c 79\2c 216\2c 0\.18\)\]:hover {
  --tw-shadow: 0 0 24px rgba(255,79,216,0.18);
  --tw-shadow-colored: 0 0 24px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_30px_rgba\(155\2c 92\2c 255\2c 0\.2\)\]:hover {
  --tw-shadow: 0 0 30px rgba(155,92,255,0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_30px_rgba\(255\2c 79\2c 216\2c 0\.15\)\]:hover {
  --tw-shadow: 0 0 30px rgba(255,79,216,0.15);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_30px_rgba\(34\2c 197\2c 94\2c 0\.2\)\]:hover {
  --tw-shadow: 0 0 30px rgba(34,197,94,0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_30px_rgba\(46\2c 255\2c 138\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 30px rgba(46,255,138,0.6);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_30px_rgba\(6\2c 182\2c 212\2c 0\.15\)\]:hover {
  --tw-shadow: 0 0 30px rgba(6,182,212,0.15);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_30px_rgba\(6\2c 182\2c 212\2c 0\.2\)\]:hover {
  --tw-shadow: 0 0 30px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_0_40px_rgba\(6\2c 182\2c 212\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 40px rgba(6,182,212,0.6);
  --tw-shadow-colored: 0 0 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-\[0_4px_40px_rgba\(6\2c 182\2c 212\2c 0\.4\)\]:hover {
  --tw-shadow: 0 4px 40px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 4px 40px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:brightness-110:hover {
  --tw-brightness: brightness(1.1);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.hover\:brightness-125:hover {
  --tw-brightness: brightness(1.25);
  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);
}
.focus\:border-\[\#00D9FF\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(0 217 255 / var(--tw-border-opacity, 1));
}
.focus\:border-\[\#00D9FF\]\/50:focus {
  border-color: rgb(0 217 255 / 0.5);
}
.focus\:border-\[\#00FF41\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(0 255 65 / var(--tw-border-opacity, 1));
}
.focus\:border-\[\#2EFF8A\]\/50:focus {
  border-color: rgb(46 255 138 / 0.5);
}
.focus\:border-amber-500\/70:focus {
  border-color: rgb(245 158 11 / 0.7);
}
.focus\:border-blue-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.focus\:border-blue-500\/30:focus {
  border-color: rgb(59 130 246 / 0.3);
}
.focus\:border-cyan-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.focus\:border-cyan-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.focus\:border-cyan-500\/40:focus {
  border-color: rgb(6 182 212 / 0.4);
}
.focus\:border-cyan-500\/50:focus {
  border-color: rgb(6 182 212 / 0.5);
}
.focus\:border-cyan-500\/70:focus {
  border-color: rgb(6 182 212 / 0.7);
}
.focus\:border-emerald-400\/50:focus {
  border-color: rgb(52 211 153 / 0.5);
}
.focus\:border-fuchsia-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(232 121 249 / var(--tw-border-opacity, 1));
}
.focus\:border-fuchsia-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(217 70 239 / var(--tw-border-opacity, 1));
}
.focus\:border-purple-500:focus {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.focus\:border-purple-500\/30:focus {
  border-color: rgb(168 85 247 / 0.3);
}
.focus\:border-purple-500\/40:focus {
  border-color: rgb(168 85 247 / 0.4);
}
.focus\:border-purple-500\/70:focus {
  border-color: rgb(168 85 247 / 0.7);
}
.focus\:border-red-500\/40:focus {
  border-color: rgb(239 68 68 / 0.4);
}
.focus\:border-white\/15:focus {
  border-color: rgb(255 255 255 / 0.15);
}
.focus\:border-white\/30:focus {
  border-color: rgb(255 255 255 / 0.3);
}
.focus\:bg-\[\#060a11\]:focus {
  --tw-bg-opacity: 1;
  background-color: rgb(6 10 17 / var(--tw-bg-opacity, 1));
}
.focus\:bg-cyan-900\/10:focus {
  background-color: rgb(22 78 99 / 0.1);
}
.focus\:shadow-\[0_0_15px_rgba\(168\2c 85\2c 247\2c 0\.2\)\]:focus {
  --tw-shadow: 0 0 15px rgba(168,85,247,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:shadow-\[0_0_15px_rgba\(245\2c 158\2c 11\2c 0\.2\)\]:focus {
  --tw-shadow: 0 0 15px rgba(245,158,11,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:shadow-\[0_0_15px_rgba\(6\2c 182\2c 212\2c 0\.2\)\]:focus {
  --tw-shadow: 0 0 15px rgba(6,182,212,0.2);
  --tw-shadow-colored: 0 0 15px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-4:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-cyan-500\/20:focus {
  --tw-ring-color: rgb(6 182 212 / 0.2);
}
.focus\:ring-fuchsia-500\/20:focus {
  --tw-ring-color: rgb(217 70 239 / 0.2);
}
.focus\:ring-pink-500\/30:focus {
  --tw-ring-color: rgb(236 72 153 / 0.3);
}
.active\:translate-x-1:active {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:translate-x-\[2px\]:active {
  --tw-translate-x: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:translate-y-1:active {
  --tw-translate-y: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:translate-y-\[2px\]:active {
  --tw-translate-y: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-110:active {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-90:active {
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-95:active {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.85\]:active {
  --tw-scale-x: 0.85;
  --tw-scale-y: 0.85;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.95\]:active {
  --tw-scale-x: 0.95;
  --tw-scale-y: 0.95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.97\]:active {
  --tw-scale-x: 0.97;
  --tw-scale-y: 0.97;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.98\]:active {
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.99\]:active {
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:border-\[var\(--tg-button\)\]:active {
  border-color: var(--tg-button);
}
.active\:bg-slate-800\/80:active {
  background-color: rgb(30 41 59 / 0.8);
}
.active\:bg-white\/10:active {
  background-color: rgb(255 255 255 / 0.1);
}
.active\:bg-white\/5:active {
  background-color: rgb(255 255 255 / 0.05);
}
.active\:bg-white\/\[0\.04\]:active {
  background-color: rgb(255 255 255 / 0.04);
}
.active\:text-cyan-300:active {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.active\:text-cyan-400:active {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.active\:text-slate-400:active {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.active\:text-white\/40:active {
  color: rgb(255 255 255 / 0.4);
}
.active\:text-white\/80:active {
  color: rgb(255 255 255 / 0.8);
}
.active\:opacity-100:active {
  opacity: 1;
}
.active\:opacity-70:active {
  opacity: 0.7;
}
.active\:opacity-75:active {
  opacity: 0.75;
}
.active\:opacity-80:active {
  opacity: 0.8;
}
.active\:shadow-none:active {
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
.disabled\:border-white\/10:disabled {
  border-color: rgb(255 255 255 / 0.1);
}
.disabled\:bg-white\/5:disabled {
  background-color: rgb(255 255 255 / 0.05);
}
.disabled\:opacity-30:disabled {
  opacity: 0.3;
}
.disabled\:opacity-40:disabled {
  opacity: 0.4;
}
.disabled\:opacity-50:disabled {
  opacity: 0.5;
}
.disabled\:opacity-60:disabled {
  opacity: 0.6;
}
.disabled\:opacity-70:disabled {
  opacity: 0.7;
}
.disabled\:grayscale:disabled {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.disabled\:hover\:bg-red-600:hover:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.group:focus-within .group-focus-within\:border-\[\#00FFFF\]\/50 {
  border-color: rgb(0 255 255 / 0.5);
}
.group:focus-within .group-focus-within\:bg-\[\#00FFFF\]\/5 {
  background-color: rgb(0 255 255 / 0.05);
}
.group:hover .group-hover\:h-10 {
  height: 2.5rem;
}
.group:hover .group-hover\:h-32 {
  height: 8rem;
}
.group:hover .group-hover\:h-8 {
  height: 2rem;
}
.group:hover .group-hover\:-translate-y-1 {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:-translate-y-2 {
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:-translate-y-4 {
  --tw-translate-y: -1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:translate-x-0 {
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:rotate-0 {
  --tw-rotate: 0deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:rotate-6 {
  --tw-rotate: 6deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group\/avatar:hover .group-hover\/avatar\:scale-\[1\.3\] {
  --tw-scale-x: 1.3;
  --tw-scale-y: 1.3;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-105 {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-110 {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:scale-150 {
  --tw-scale-x: 1.5;
  --tw-scale-y: 1.5;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.group:hover .group-hover\:animate-\[shimmer_1\.5s_infinite\] {
  animation: shimmer 1.5s infinite;
}
@keyframes bounce {

  0%, 100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8,0,1,1);
  }

  50% {
    transform: none;
    animation-timing-function: cubic-bezier(0,0,0.2,1);
  }
}
.group:hover .group-hover\:animate-bounce {
  animation: bounce 1s infinite;
}
.group:hover .group-hover\:border-\[\#00FFFF\]\/50 {
  border-color: rgb(0 255 255 / 0.5);
}
.group:hover .group-hover\:border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}
.group:hover .group-hover\:border-current {
  border-color: currentColor;
}
.group:hover .group-hover\:border-cyan-500\/30 {
  border-color: rgb(6 182 212 / 0.3);
}
.group:hover .group-hover\:border-transparent {
  border-color: transparent;
}
.group:hover .group-hover\:bg-\[\#06b6d4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-\[\#22c55e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-\[\#9B5CFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(155 92 255 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-\[\#FF00FF\]\/40 {
  background-color: rgb(255 0 255 / 0.4);
}
.group:hover .group-hover\:bg-\[\#FF4FD8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 79 216 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-blue-500\/30 {
  background-color: rgb(59 130 246 / 0.3);
}
.group:hover .group-hover\:bg-cyan-900\/60 {
  background-color: rgb(22 78 99 / 0.6);
}
.group:hover .group-hover\:bg-orange-500\/50 {
  background-color: rgb(249 115 22 / 0.5);
}
.group:hover .group-hover\:bg-slate-600\/40 {
  background-color: rgb(71 85 105 / 0.4);
}
.group:hover .group-hover\:bg-violet-500\/40 {
  background-color: rgb(139 92 246 / 0.4);
}
.group:hover .group-hover\:bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.group:hover .group-hover\:bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.group:hover .group-hover\:from-cyan-500 {
  --tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.group:hover .group-hover\:to-blue-600 {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.group:hover .group-hover\:text-\[\#00D9FF\] {
  --tw-text-opacity: 1;
  color: rgb(0 217 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-cyan-300 {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-cyan-400 {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.group\/avatar:hover .group-hover\/avatar\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-100 {
  opacity: 1;
}
.group:hover .group-hover\:opacity-20 {
  opacity: 0.2;
}
.group:hover .group-hover\:opacity-40 {
  opacity: 0.4;
}
.group:hover .group-hover\:opacity-50 {
  opacity: 0.5;
}
.group:hover .group-hover\:opacity-70 {
  opacity: 0.7;
}
.group:hover .group-hover\:shadow-\[0_0_20px_rgba\(6\2c 182\2c 212\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(6,182,212,0.4);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:grayscale-0 {
  --tw-grayscale: grayscale(0);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.group:active .group-active\:shadow-inner {
  --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
@media (min-width: 640px) {

  .sm\:block {
    display: block;
  }

  .sm\:h-\[110px\] {
    height: 110px;
  }

  .sm\:h-\[72px\] {
    height: 72px;
  }

  .sm\:w-96 {
    width: 24rem;
  }

  .sm\:w-\[72px\] {
    width: 72px;
  }

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

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:px-12 {
    padding-left: 3rem;
    padding-right: 3rem;
  }

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

  .sm\:text-\[9px\] {
    font-size: 9px;
  }

  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}
@media (min-width: 768px) {

  .md\:bottom-8 {
    bottom: 2rem;
  }

  .md\:flex {
    display: flex;
  }

  .md\:h-full {
    height: 100%;
  }

  .md\:max-w-\[440px\] {
    max-width: 440px;
  }

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

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

  .md\:pb-4 {
    padding-bottom: 1rem;
  }

  .md\:pb-6 {
    padding-bottom: 1.5rem;
  }
}
@media (min-width: 1024px) {

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

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

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (prefers-color-scheme: dark) {

  .dark\:border-gray-700 {
    --tw-border-opacity: 1;
    border-color: rgb(55 65 81 / var(--tw-border-opacity, 1));
  }

  .dark\:border-white\/10 {
    border-color: rgb(255 255 255 / 0.1);
  }

  .dark\:border-white\/5 {
    border-color: rgb(255 255 255 / 0.05);
  }

  .dark\:bg-\[\#1c1c1e\]\/90 {
    background-color: rgb(28 28 30 / 0.9);
  }

  .dark\:bg-white\/5 {
    background-color: rgb(255 255 255 / 0.05);
  }

  .dark\:opacity-10 {
    opacity: 0.1;
  }
}
.\[\&\:\:-webkit-media-controls-panel\]\:bg-transparent::-webkit-media-controls-panel {
  background-color: transparent;
}
.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}
/* src/styles/tokens.css */
:root {
  /* Primary palette (HSL) */
  --color-primary-h: 260;
  --color-primary-s: 70%;
  --color-primary-l: 55%;
  --color-primary: hsl(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l));
  --color-primary-light: hsl(var(--color-primary-h), var(--color-primary-s), calc(var(--color-primary-l) + 10%));
  --color-primary-dark: hsl(var(--color-primary-h), var(--color-primary-s), calc(var(--color-primary-l) - 10%));

  /* Backgrounds */
  --bg-dark: hsl(220, 10%, 12%);
  --bg-light: hsl(0, 0%, 100%);
  --bg-glass: rgba(255, 255, 255, 0.08);
  --bg-glass-dark: rgba(0, 0, 0, 0.2);

  /* Text */
  --text-primary: hsl(0, 0%, 95%);
  --text-secondary: hsl(0, 0%, 70%);
  --text-hint: hsl(0, 0%, 50%);

  /* Telegram theme variables (will be overridden at runtime) */
  --tg-bg: var(--bg-dark);
  --tg-bg-secondary: var(--bg-dark);
  --tg-text-color: var(--text-primary);
  --tg-hint: var(--text-hint);
  --tg-accent: var(--color-primary);
}

/* Glass‑morphic card */
.glass-card {
  background: var(--bg-glass);
  backdrop-filter: blur(12px);
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem;
  color: var(--tg-text-color);
}

/* Button base */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}

.btn-primary {
  background: var(--tg-accent);
  color: #fff;
}

.btn-primary:hover {
  background: var(--color-primary-light);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Floating Action Button — REMOVED: .fab class conflicted with Font Awesome's
   .fab (brands) class, causing every brand icon (fa-telegram, fa-github, etc.)
   to render as a fixed 56px purple circle in the bottom-right corner.
   If a FAB is needed in the future, use a unique class like .spaceland-fab */
/* ═══════════════════════════════════════════════════════
   SPACELAND NICKNAME STYLES ENGINE — 100+ Animated FX
   ═══════════════════════════════════════════════════════ */

/* ── NEON PULSE ANIMATIONS ── */
.nick-neon-pulse-pink { color: #f472b6; animation: neonPulsePink 2s ease-in-out infinite; }
.nick-neon-pulse-cyan { color: #22d3ee; animation: neonPulseCyan 2s ease-in-out infinite; }
.nick-neon-pulse-green { color: #4ade80; animation: neonPulseGreen 2s ease-in-out infinite; }
.nick-neon-pulse-gold { color: #fbbf24; animation: neonPulseGold 2s ease-in-out infinite; }
.nick-neon-pulse-red { color: #ef4444; animation: neonPulseRed 2s ease-in-out infinite; }
.nick-neon-pulse-purple { color: #a855f7; animation: neonPulsePurple 2s ease-in-out infinite; }
.nick-neon-pulse-white { color: #fff; animation: neonPulseWhite 2s ease-in-out infinite; }

@keyframes neonPulsePink { 0%,100% { text-shadow: 0 0 5px #f472b6, 0 0 20px #ec4899, 0 0 40px #db2777; } 50% { text-shadow: 0 0 10px #f472b6, 0 0 40px #ec4899, 0 0 80px #db2777, 0 0 120px #be185d; } }
@keyframes neonPulseCyan { 0%,100% { text-shadow: 0 0 5px #22d3ee, 0 0 20px #06b6d4, 0 0 40px #0891b2; } 50% { text-shadow: 0 0 10px #22d3ee, 0 0 40px #06b6d4, 0 0 80px #0891b2, 0 0 120px #0e7490; } }
@keyframes neonPulseGreen { 0%,100% { text-shadow: 0 0 5px #4ade80, 0 0 20px #22c55e, 0 0 40px #16a34a; } 50% { text-shadow: 0 0 10px #4ade80, 0 0 40px #22c55e, 0 0 80px #16a34a, 0 0 120px #15803d; } }
@keyframes neonPulseGold { 0%,100% { text-shadow: 0 0 5px #fbbf24, 0 0 20px #f59e0b, 0 0 40px #d97706; } 50% { text-shadow: 0 0 10px #fbbf24, 0 0 40px #f59e0b, 0 0 80px #d97706, 0 0 120px #b45309; } }
@keyframes neonPulseRed { 0%,100% { text-shadow: 0 0 5px #ef4444, 0 0 20px #dc2626, 0 0 40px #b91c1c; } 50% { text-shadow: 0 0 10px #ef4444, 0 0 40px #dc2626, 0 0 80px #b91c1c, 0 0 120px #991b1b; } }
@keyframes neonPulsePurple { 0%,100% { text-shadow: 0 0 5px #a855f7, 0 0 20px #9333ea, 0 0 40px #7e22ce; } 50% { text-shadow: 0 0 10px #a855f7, 0 0 40px #9333ea, 0 0 80px #7e22ce, 0 0 120px #6b21a8; } }
@keyframes neonPulseWhite { 0%,100% { text-shadow: 0 0 5px #fff, 0 0 20px #e2e8f0, 0 0 40px #cbd5e1; } 50% { text-shadow: 0 0 15px #fff, 0 0 50px #f1f5f9, 0 0 100px #e2e8f0, 0 0 150px #fff; } }

/* ── RAINBOW / GRADIENT FLOW ANIMATIONS ── */
.nick-rainbow-shimmer { background: linear-gradient(90deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #a855f7, #ec4899, #ef4444); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 4s linear infinite; }
.nick-rainbow-fast { background: linear-gradient(90deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #a855f7, #ec4899, #ef4444); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 1.5s linear infinite; }
.nick-aurora { background: linear-gradient(90deg, #06b6d4, #8b5cf6, #22c55e, #3b82f6, #06b6d4); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 5s ease-in-out infinite; }
.nick-ocean-wave { background: linear-gradient(90deg, #0ea5e9, #06b6d4, #14b8a6, #0ea5e9); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s ease-in-out infinite; }
.nick-sunset-flow { background: linear-gradient(90deg, #f59e0b, #ef4444, #ec4899, #f59e0b); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3.5s ease-in-out infinite; }
.nick-candy-dream { background: linear-gradient(90deg, #f472b6, #c084fc, #818cf8, #38bdf8, #f472b6); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s linear infinite; }
.nick-galaxy-swirl { background: linear-gradient(90deg, #581c87, #7e22ce, #3b82f6, #06b6d4, #581c87); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 4s linear infinite; text-shadow: 0 0 20px rgba(139,92,246,0.4); }
.nick-neon-highway { background: linear-gradient(90deg, #ec4899, #8b5cf6, #06b6d4, #ec4899); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 2s linear infinite; }
.nick-toxic-waste { background: linear-gradient(90deg, #84cc16, #22c55e, #facc15, #84cc16); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 2.5s linear infinite; text-shadow: 0 0 10px rgba(132,204,22,0.5); }
.nick-blood-moon { background: linear-gradient(90deg, #991b1b, #dc2626, #f97316, #991b1b); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s ease-in-out infinite; }
.nick-ice-crystal { background: linear-gradient(90deg, #bfdbfe, #93c5fd, #dbeafe, #bfdbfe); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 4s ease-in-out infinite; text-shadow: 0 0 15px rgba(147,197,253,0.5); }

@keyframes gradientFlow { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } }

/* ── FIRE / BURNING ── */
.nick-fire-gradient { background: linear-gradient(90deg, #fbbf24, #f59e0b, #ef4444, #dc2626, #fbbf24); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 1.5s linear infinite; text-shadow: 0 0 10px rgba(239,68,68,0.5); }
.nick-blue-fire { background: linear-gradient(90deg, #38bdf8, #3b82f6, #818cf8, #38bdf8); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 1.5s linear infinite; text-shadow: 0 0 15px rgba(59,130,246,0.6); }
.nick-green-fire { background: linear-gradient(90deg, #4ade80, #22c55e, #84cc16, #4ade80); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 1.5s linear infinite; text-shadow: 0 0 10px rgba(34,197,94,0.5); }
.nick-purple-fire { background: linear-gradient(90deg, #c084fc, #a855f7, #7c3aed, #c084fc); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 1.5s linear infinite; text-shadow: 0 0 15px rgba(168,85,247,0.5); }
.nick-white-fire { background: linear-gradient(90deg, #fff, #e2e8f0, #f1f5f9, #fff); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 1.5s linear infinite; text-shadow: 0 0 20px rgba(255,255,255,0.8); }
.nick-inferno { background: linear-gradient(90deg, #fef08a, #fbbf24, #f97316, #ef4444, #b91c1c, #fef08a); background-size: 500% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 2s linear infinite; text-shadow: 0 0 15px rgba(249,115,22,0.6); }
.nick-lava-flow { background: linear-gradient(90deg, #ef4444, #dc2626, #f97316, #fbbf24, #ef4444); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s ease-in-out infinite; text-shadow: 0 0 10px rgba(234,88,12,0.6); }

/* ── GLITCH ── */
.nick-glitch-red { color: #fff; animation: glitchRed 0.5s steps(2) infinite; }
.nick-glitch-cyan { color: #22d3ee; animation: glitchCyan 0.3s steps(2) infinite; }
.nick-glitch-matrix { color: #4ade80; font-family: monospace; animation: glitchMatrix 0.4s steps(3) infinite; }
.nick-glitch-vhs { color: #fff; animation: glitchVHS 0.15s steps(2) infinite; letter-spacing: 2px; }
.nick-glitch-rainbow { background: linear-gradient(90deg, #ef4444, #22c55e, #3b82f6); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 1s linear infinite, glitchShake 0.3s steps(2) infinite; }
.nick-cyberpunk { color: #fde047; text-shadow: 2px 2px 0 #ec4899, -1px -1px 0 #06b6d4; animation: glitchShake 3s steps(2) infinite; }

@keyframes glitchRed { 0% { text-shadow: 2px 0 #ef4444, -2px 0 transparent; } 50% { text-shadow: -2px 0 transparent, 2px 0 #ef4444; } 100% { text-shadow: 2px 0 #ef4444, -2px 0 #3b82f6; } }
@keyframes glitchCyan { 0% { text-shadow: 1px 0 #22d3ee, -1px 0 #ec4899; } 50% { text-shadow: -2px 1px #ec4899, 2px -1px #22d3ee; } 100% { text-shadow: 1px 0 #22d3ee, -1px 0 #ec4899; } }
@keyframes glitchMatrix { 0% { text-shadow: 0 0 5px #4ade80; opacity: 1; } 33% { text-shadow: -2px 0 #4ade80, 2px 0 transparent; opacity: 0.8; } 66% { text-shadow: 2px 0 transparent, -2px 0 #4ade80; opacity: 1; } }
@keyframes glitchVHS { 0% { text-shadow: 2px 0 #ef4444, -2px 0 #3b82f6; transform: translateX(0); } 25% { text-shadow: -2px 0 #ef4444, 2px 0 #3b82f6; transform: translateX(1px); } 50% { text-shadow: 2px 0 #3b82f6, -2px 0 #ef4444; transform: translateX(-1px); } 75% { text-shadow: 0 0 5px #fff; transform: translateX(0); } }
@keyframes glitchShake { 0% { transform: translateX(0); } 25% { transform: translateX(1px); } 75% { transform: translateX(-1px); } 100% { transform: translateX(0); } }

/* ── LETTER FX ── */
.nick-wave-rainbow span { display: inline-block; animation: letterWave 2s ease-in-out infinite; }
.nick-wave-fire span { display: inline-block; color: #f59e0b; animation: letterWave 1.5s ease-in-out infinite; text-shadow: 0 0 8px rgba(245,158,11,0.6); }
.nick-wave-neon span { display: inline-block; color: #22d3ee; animation: letterWave 2s ease-in-out infinite; text-shadow: 0 0 10px #06b6d4; }
.nick-wave-gold span { display: inline-block; color: #fbbf24; animation: letterWave 2s ease-in-out infinite; text-shadow: 0 0 10px rgba(251,191,36,0.6); }
.nick-wave-ice span { display: inline-block; color: #bfdbfe; animation: letterWave 2.5s ease-in-out infinite; text-shadow: 0 0 8px rgba(147,197,253,0.5); }
.nick-typewriter span { display: inline-block; animation: typeIn 0.1s ease forwards; opacity: 0; }
.nick-bounce-letters span { display: inline-block; animation: letterBounce 1.5s ease-in-out infinite; }
.nick-rotate-letters span { display: inline-block; animation: letterRotate 3s linear infinite; }

@keyframes letterWave { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@keyframes typeIn { to { opacity: 1; } }
@keyframes letterBounce { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-8px) scale(1.1); } }
@keyframes letterRotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* ── PREMIUM SHIMMER ── */
.nick-gold-shimmer { background: linear-gradient(90deg, #d97706, #fbbf24, #fef3c7, #fbbf24, #d97706); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s linear infinite; }
.nick-platinum { background: linear-gradient(90deg, #94a3b8, #e2e8f0, #f8fafc, #e2e8f0, #94a3b8); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s linear infinite; }
.nick-rose-gold { background: linear-gradient(90deg, #be185d, #f472b6, #fda4af, #f472b6, #be185d); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s linear infinite; }
.nick-black-gold { background: linear-gradient(90deg, #1e293b, #fbbf24, #1e293b, #fbbf24, #1e293b); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 4s linear infinite; }
.nick-diamond-sparkle { color: #e0f2fe; animation: diamondSparkle 2s ease-in-out infinite; }
.nick-emerald-luxury { background: linear-gradient(90deg, #065f46, #10b981, #6ee7b7, #10b981, #065f46); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s linear infinite; }
.nick-ruby-glow { color: #f43f5e; animation: neonPulseRed 2.5s ease-in-out infinite; }
.nick-sapphire { background: linear-gradient(90deg, #1e3a8a, #3b82f6, #93c5fd, #3b82f6, #1e3a8a); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s linear infinite; }

@keyframes diamondSparkle { 0%,100% { text-shadow: 0 0 5px #e0f2fe, 0 0 15px #bae6fd; } 25% { text-shadow: 0 0 20px #fff, 0 0 40px #e0f2fe, 2px -2px 10px #7dd3fc; } 75% { text-shadow: -2px 2px 10px #7dd3fc, 0 0 20px #fff; } }

/* ── RETRO ── */
.nick-retro-80s { color: #ec4899; text-shadow: 3px 3px 0 #7c3aed, -1px -1px 0 #06b6d4; font-style: italic; }
.nick-synthwave { background: linear-gradient(180deg, #ec4899, #8b5cf6); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: none; font-style: italic; }
.nick-arcade { color: #fbbf24; font-family: monospace; text-shadow: 2px 2px 0 #ef4444; letter-spacing: 3px; animation: arcadeBlink 1s steps(2) infinite; }
.nick-pixel { color: #4ade80; font-family: monospace; letter-spacing: 4px; text-shadow: 2px 0 0 #22c55e, 0 2px 0 #16a34a; }
.nick-neon-80s { color: #f0abfc; text-shadow: 0 0 10px #d946ef, 0 0 30px #a855f7, 0 0 60px #7c3aed; animation: neonPulsePurple 3s ease-in-out infinite; }

@keyframes arcadeBlink { 0% { opacity: 1; } 50% { opacity: 0.7; } }

/* ── SPECIAL FX ── */
.nick-thunder { color: #fbbf24; animation: thunderFlash 3s ease-in-out infinite; }
.nick-northern-lights { background: linear-gradient(90deg, #06b6d4, #22c55e, #a855f7, #06b6d4); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 6s ease-in-out infinite; text-shadow: 0 0 20px rgba(6,182,212,0.3); }
.nick-solar-flare { background: linear-gradient(90deg, #fef08a, #fbbf24, #fff, #fbbf24, #fef08a); background-size: 400% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 2s linear infinite; text-shadow: 0 0 30px rgba(251,191,36,0.6); }
.nick-phantom { color: #94a3b8; animation: phantomFade 3s ease-in-out infinite; }
.nick-corrupted { color: #dc2626; font-family: monospace; animation: glitchVHS 0.2s steps(2) infinite; text-shadow: 2px 0 #22c55e; }
.nick-void { color: #1e1b4b; text-shadow: 0 0 20px #4c1d95, 0 0 40px #581c87; animation: voidPulse 4s ease-in-out infinite; }
.nick-unicorn { background: linear-gradient(90deg, #f472b6, #c084fc, #38bdf8, #4ade80, #fbbf24, #f472b6); background-size: 500% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: gradientFlow 3s linear infinite; }
.nick-sparkle { color: #fbbf24; animation: diamondSparkle 1.5s ease-in-out infinite; }
.nick-fairy-dust { color: #f0abfc; animation: fairyDust 2s ease-in-out infinite; text-shadow: 0 0 10px #d946ef; }

@keyframes thunderFlash { 0%,90%,100% { text-shadow: 0 0 5px #fbbf24; opacity: 1; } 92% { text-shadow: 0 0 60px #fff, 0 0 100px #fbbf24; opacity: 1; } 94% { text-shadow: 0 0 5px #fbbf24; opacity: 0.8; } 96% { text-shadow: 0 0 80px #fff, 0 0 120px #fbbf24; opacity: 1; } }
@keyframes phantomFade { 0%,100% { opacity: 0.9; } 50% { opacity: 0.3; } }
@keyframes voidPulse { 0%,100% { text-shadow: 0 0 20px #4c1d95, 0 0 40px #581c87; } 50% { text-shadow: 0 0 40px #6d28d9, 0 0 80px #7c3aed, 0 0 120px #4c1d95; } }
@keyframes fairyDust { 0%,100% { text-shadow: 0 0 5px #d946ef, 2px -2px 10px #f0abfc; } 50% { text-shadow: -2px 2px 15px #d946ef, 0 0 30px #e879f9, 3px -3px 20px #c084fc; } }
/* Spaceland Design Tokens */
:root {
  --bg-0: #05070d;
  --bg-1: #08101b;
  --bg-2: rgba(14, 21, 36, 0.82);
  --bg-3: rgba(10, 16, 28, 0.92);

  --text-1: #ffffff;
  --text-2: rgba(255,255,255,0.78);
  --text-3: rgba(255,255,255,0.52);

  --cyan: #16d9ff;
  --blue: #2e8fff;
  --violet: #b84dff;
  --purple: #d14cff;
  --green: #23e38c;
  --amber: #ffb341;
  --red: #ff5b6e;

  --glass-border: rgba(255,255,255,0.09);
  --glass-fill: linear-gradient(180deg, rgba(18,28,46,0.86), rgba(8,14,25,0.92));

  --shadow-soft: 0 10px 30px rgba(0,0,0,0.45);
  --shadow-deep: 0 20px 60px rgba(0,0,0,0.6);

  --glow-cyan: 0 0 0 1px rgba(22,217,255,0.45), 0 0 20px rgba(22,217,255,0.25), 0 0 40px rgba(22,217,255,0.18);
  --glow-violet: 0 0 0 1px rgba(184,77,255,0.5), 0 0 22px rgba(184,77,255,0.28), 0 0 44px rgba(184,77,255,0.16);
  --glow-amber: 0 0 0 1px rgba(255,179,65,0.45), 0 0 22px rgba(255,179,65,0.24), 0 0 42px rgba(255,179,65,0.16);
  --glow-green: 0 0 0 1px rgba(35,227,140,0.45), 0 0 20px rgba(35,227,140,0.22), 0 0 40px rgba(35,227,140,0.14);

  --radius-sm: 14px;
  --radius-md: 18px;
  --radius-lg: 24px;
  --radius-xl: 30px;
}

@keyframes pulseGlow {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.08); }
}

@keyframes floatNeon {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

/* -----------------------------
   MAP POINTS & CONNECTORS
----------------------------- */
.map-point {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: currentColor;
  box-shadow:
    0 0 0 4px rgba(255,255,255,0.08),
    0 0 14px currentColor,
    0 0 30px color-mix(in srgb, currentColor 55%, transparent);
  z-index: 2;
  animation: pulseGlow 2.2s ease-in-out infinite;
}

.connector {
  position: absolute;
  width: 2px;
  background: currentColor;
  opacity: 0.95;
  box-shadow:
    0 0 10px currentColor,
    0 0 22px color-mix(in srgb, currentColor 60%, transparent);
  transform-origin: top center;
  z-index: 3;
}

/* -----------------------------
   SHOP CARD
----------------------------- */
.shop-card {
  position: absolute;
  z-index: 6;
  width: 172px;
  min-height: 84px;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(16,20,32,0.95), rgba(8,12,20,0.96));
  border: 1px solid var(--shop-accent, rgba(255,255,255,0.15));
  box-shadow: var(--shadow-soft), var(--shop-glow, var(--glow-cyan));
  backdrop-filter: blur(12px);
  transform-style: preserve-3d;
  animation: floatNeon 4s ease-in-out infinite;
}

.shop-card__thumb {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
}

.shop-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.shop-card__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.shop-card__title {
  font-size: 14px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: #fff;
}

.shop-card__meta {
  margin-top: 6px;
  font-size: 12px;
  color: var(--shop-accent-text, #ffb341);
  font-weight: 600;
}

.shop-card__distance {
  margin-top: 4px;
  font-size: 12px;
  color: var(--text-2);
}

/* Shop Color Modifiers */
.shop-card--food {
  --shop-accent: rgba(255,179,65,0.72);
  --shop-accent-text: #ffb341;
  --shop-glow: var(--glow-amber);
}

.shop-card--wellness {
  --shop-accent: rgba(35,227,140,0.72);
  --shop-accent-text: #23e38c;
  --shop-glow: var(--glow-green);
}

.shop-card--fashion {
  --shop-accent: rgba(209,76,255,0.72);
  --shop-accent-text: #d14cff;
  --shop-glow: var(--glow-violet);
}

.shop-card--realestate {
  --shop-accent: rgba(46,143,255,0.72);
  --shop-accent-text: #2e8fff;
  --shop-glow: var(--glow-cyan);
}

/* -----------------------------
   AD BILLBOARD
----------------------------- */
.ad-billboard {
  position: absolute;
  z-index: 5;
  width: 220px;
  min-height: 128px;
  padding: 14px;
  border-radius: 20px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(17,22,36,0.64), rgba(7,10,18,0.84)),
    rgba(8,12,20,0.94);
  border: 1px solid var(--ad-accent, rgba(184,77,255,0.8));
  box-shadow: var(--shadow-deep), var(--ad-glow, var(--glow-violet));
  backdrop-filter: blur(8px);
  transform-style: preserve-3d;
  animation: floatNeon 4s ease-in-out infinite;
}

.ad-billboard::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 30%, color-mix(in srgb, var(--ad-color, #b84dff) 22%, transparent), transparent 34%);
  pointer-events: none;
}

.ad-billboard__media {
  position: absolute;
  inset: 0;
  opacity: 0.45;
}

.ad-billboard__media img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.ad-billboard__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8,10,18,0.78) 0%, rgba(8,10,18,0.25) 100%);
}

.ad-billboard__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.ad-billboard__title {
  font-size: 16px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
}

.ad-billboard__subtitle {
  font-size: 12px;
  line-height: 1.15;
  font-weight: 700;
  color: var(--ad-accent-text, #d8a2ff);
  text-transform: uppercase;
}

.ad-billboard__cta {
  margin-top: 6px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--ad-color, #b84dff) 60%, white 10%);
  background: rgba(5,8,14,0.58);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 0 18px color-mix(in srgb, var(--ad-color, #b84dff) 30%, transparent);
}

/* Ad Color Modifiers */
.ad-billboard--violet {
  --ad-color: #b84dff;
  --ad-accent: rgba(184,77,255,0.82);
  --ad-accent-text: #e0afff;
  --ad-glow: var(--glow-violet);
}

.ad-billboard--amber {
  --ad-color: #ffb341;
  --ad-accent: rgba(255,179,65,0.82);
  --ad-accent-text: #ffd28d;
  --ad-glow: var(--glow-amber);
}

.ad-billboard--cyan {
  --ad-color: #16d9ff;
  --ad-accent: rgba(22,217,255,0.82);
  --ad-accent-text: #9af0ff;
  --ad-glow: var(--glow-cyan);
}

/* -----------------------------
   MAP UI OVERLAYS (Topbar, Right-rail, Bottom-nav)
----------------------------- */

.topbar {
  position: absolute;
  top: env(safe-area-inset-top, 12px);
  left: 0;
  right: 0;
  z-index: 40;
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
}

.topbar__row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 12px 16px;
  pointer-events: auto;
}

.topbar__action {
  color: var(--cyan);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  text-transform: uppercase;
  text-shadow: 0 0 10px rgba(22, 217, 255, 0.4);
}

.brand {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.brand__title {
  color: #fff;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.brand__subtitle {
  color: rgba(255, 255, 255, 0.5);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-top: 2px;
}

.segmented {
  background: var(--bg-2);
  border: 1px solid var(--glass-border);
  border-radius: 30px;
  display: flex;
  padding: 4px;
  gap: 4px;
  margin-top: 10px;
  backdrop-filter: blur(10px);
  pointer-events: auto;
}

.segmented__item {
  padding: 8px 24px;
  border-radius: 20px;
  color: var(--text-2);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  background: transparent;
  border: 1px solid transparent;
  transition: all 0.2s ease;
}

.segmented__item.is-active {
  background: rgba(22, 217, 255, 0.1);
  border-color: rgba(22, 217, 255, 0.3);
  color: var(--cyan);
  box-shadow: inset 0 0 10px rgba(22, 217, 255, 0.1), 0 0 15px rgba(22, 217, 255, 0.2);
}

.right-rail {
  position: absolute;
  right: 16px;
  top: calc(env(safe-area-inset-top, 12px) + 120px);
  z-index: 40;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: var(--bg-2);
  border: 1px solid var(--glass-border);
  border-radius: 30px;
  padding: 8px;
  backdrop-filter: blur(10px);
  pointer-events: auto;
}

.right-rail__btn {
  width: 44px;
  height: 44px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-1);
  border: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.2s ease;
}

.right-rail__btn.is-active {
  background: rgba(255, 91, 110, 0.15);
  color: var(--red);
  border-color: rgba(255, 91, 110, 0.4);
  box-shadow: 0 0 15px rgba(255, 91, 110, 0.3);
}

.bottom-nav {
  position: absolute;
  bottom: env(safe-area-inset-bottom, 24px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 40;
  display: flex;
  background: var(--bg-2);
  border: 1px solid var(--glass-border);
  border-radius: 40px;
  padding: 6px;
  gap: 4px;
  backdrop-filter: blur(10px);
  pointer-events: auto;
}

.bottom-nav__item {
  padding: 12px 20px;
  border-radius: 30px;
  color: var(--text-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.05em;
  background: transparent;
  border: none;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.bottom-nav__item.is-active {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* ── Flash Card Animations ── */
@keyframes shimmer {
  0% { transform: translateX(-100%) rotate(12deg); }
  50% { transform: translateX(100%) rotate(12deg); }
  100% { transform: translateX(-100%) rotate(12deg); }
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes flash-text-pop {
  0% { transform: scale(0.3) rotateX(45deg); opacity: 0; }
  60% { transform: scale(1.1) rotateX(-5deg); opacity: 1; }
  100% { transform: scale(1) rotateX(0); opacity: 1; }
}

@keyframes scan-lines {
  0% { background-position: 0 0; }
  100% { background-position: 0 100px; }
}

@keyframes twinkle {
  0% { opacity: 0.3; }
  100% { opacity: 0.6; }
}

