@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Orbitron:wght@400;500;600;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700&display=swap');/* Puntino rosso lampeggiante per QR scoperti */
.qr-pulse {
  width: 20px;
  height: 20px;
  transform: translate(-10px, -10px);
}

.qr-pulse .pulse-dot {
  position: relative;
  display: block;
  width: 12px;
  height: 12px;
  margin: 4px;
  border-radius: 50%;
  background: #ff3b30;
  box-shadow: 0 0 8px rgba(255,59,48,0.8);
  animation: qr-pulse 1.5s ease-in-out infinite;
}

.qr-pulse .pulse-dot::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid rgba(255,59,48,0.6);
  animation: qr-pulse-ring 1.5s ease-out infinite;
}

@keyframes qr-pulse {
  0%,100% { transform: scale(1); }
  50%     { transform: scale(1.15); }
}

@keyframes qr-pulse-ring {
  0%   { opacity: 0.7; transform: scale(0.8); }
  80%  { opacity: 0;   transform: scale(1.5); }
  100% { opacity: 0;   transform: scale(1.5); }
}
/**
 * The Pulse™ — Ritual EMP Interference Effect
 * Global UI distortion synchronized with ritual phases
 * © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
 */

/* ========== KEYFRAMES ========== */

/* CRT/Glitch effect - fast stepped animation */
@keyframes ritual-glitch {
  0%, 100% {
    filter: contrast(1) brightness(1) blur(0px);
    transform: translate(0, 0) skew(0deg);
  }
  10% {
    filter: contrast(1.1) brightness(0.95) blur(0.3px) hue-rotate(2deg);
    transform: translate(-1px, 1px) skew(0.2deg);
  }
  20% {
    filter: contrast(1.15) brightness(1.05) blur(0px) hue-rotate(-1deg);
    transform: translate(1px, -1px) skew(-0.3deg);
  }
  30% {
    filter: contrast(0.95) brightness(0.9) blur(0.4px) hue-rotate(1deg);
    transform: translate(-2px, 0px) skew(0.1deg);
  }
  40% {
    filter: contrast(1.2) brightness(1.1) blur(0.2px) hue-rotate(-2deg);
    transform: translate(1px, 1px) skew(-0.2deg);
  }
  50% {
    filter: contrast(0.9) brightness(0.85) blur(0.5px) hue-rotate(3deg);
    transform: translate(0px, -2px) skew(0.4deg);
  }
  60% {
    filter: contrast(1.1) brightness(1) blur(0.1px) hue-rotate(-1deg);
    transform: translate(-1px, -1px) skew(-0.1deg);
  }
  70% {
    filter: contrast(1.05) brightness(0.95) blur(0.3px) hue-rotate(2deg);
    transform: translate(2px, 0px) skew(0.2deg);
  }
  80% {
    filter: contrast(0.95) brightness(1.05) blur(0.2px) hue-rotate(-3deg);
    transform: translate(-1px, 1px) skew(-0.3deg);
  }
  90% {
    filter: contrast(1.15) brightness(0.9) blur(0.4px) hue-rotate(1deg);
    transform: translate(0px, 2px) skew(0.1deg);
  }
}

/* Scanline roll effect */
@keyframes scanline-roll {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}

/* Overlay flicker */
@keyframes overlay-flicker {
  0%, 100% {
    opacity: 0.15;
  }
  50% {
    opacity: 0.08;
  }
}

/* Flash pulse - irregular, asynchronous light bursts */
@keyframes flash-pulse {
  0%, 100% { opacity: 0; }
  10% { opacity: 0.4; }
  25% { opacity: 0.8; }
  40% { opacity: 0.1; }
  60% { opacity: 0.7; }
  75% { opacity: 0.2; }
  90% { opacity: 0.5; }
}

/* Shear bars (horizontal displacement) */
@keyframes shear-bars {
  0%, 100% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(3px);
  }
  20% {
    transform: translateX(-2px);
  }
  30% {
    transform: translateX(0);
  }
}

/* ========== ACTIVE STATE ========== */

/* Apply glitch to body when ritual is active */
body.ritual-distortion-active {
  animation: ritual-glitch 0.15s steps(2, end) infinite;
  will-change: transform, filter;
}

/* Intensified glitch for interference phase */
body.ritual-distortion-interference {
  animation: ritual-glitch 0.1s steps(2, end) infinite;
}

/* Disable pointer events during effect */
body.ritual-distortion-active * {
  pointer-events: none !important;
}

/* Re-enable for overlay controls only */
.ritual-overlay-controls * {
  pointer-events: auto !important;
}

/* ========== OVERLAY LAYERS ========== */

/* CRT Overlay Container */
.ritual-crt-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999998;
  pointer-events: none;
  overflow: hidden;
}

/* Scanlines */
.ritual-scanlines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.15) 0px,
    rgba(0, 0, 0, 0.15) 1px,
    transparent 1px,
    transparent 2px
  );
  animation: scanline-roll 8s linear infinite, overlay-flicker 0.2s ease-in-out infinite;
  pointer-events: none;
}

/* Vignette */
.ritual-vignette {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
    ellipse at center,
    transparent 30%,
    rgba(0, 0, 0, 0.3) 70%,
    rgba(0, 0, 0, 0.6) 100%
  );
  pointer-events: none;
}

/* Shear bars (horizontal glitch bars) */
.ritual-shear-bars {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.ritual-shear-bar {
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(255, 255, 255, 0.05);
  animation: shear-bars 0.3s steps(3, end) infinite;
}

/* Flash pulse overlay - irregular light bursts */
.ritual-flash-pulse {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 50% 50%, rgba(0, 255, 255, 0.3), rgba(255, 255, 255, 0.05) 80%);
  mix-blend-mode: screen;
  pointer-events: none;
  opacity: 0;
  animation: flash-pulse 8s linear infinite;
}

/* ========== SVG DISPLACEMENT FILTER ========== */

/* Container for SVG filter */
.ritual-displacement-svg {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
  pointer-events: none;
}

/* Apply filter to body when active */
body.ritual-distortion-active.ritual-displacement-enabled {
  filter: url(#ritual-turbulence-filter);
}

/* ========== REDUCED MOTION ========== */

@media (prefers-reduced-motion: reduce) {
  body.ritual-distortion-active {
    animation: none;
    filter: contrast(1.05) brightness(0.95);
  }
  
  body.ritual-distortion-interference {
    animation: none;
    filter: contrast(1.1) brightness(0.9);
  }
  
  .ritual-scanlines {
    animation: overlay-flicker 0.5s ease-in-out infinite;
    opacity: 0.5;
  }
  
  .ritual-shear-bars {
    display: none;
  }
}

/* ========== CHROMATIC ABERRATION (OPTIONAL) ========== */

@keyframes chromatic-aberration {
  0%, 100% {
    text-shadow: 
      1px 0 0 rgba(255, 0, 0, 0.5),
      -1px 0 0 rgba(0, 255, 255, 0.5);
  }
  50% {
    text-shadow: 
      -1px 0 0 rgba(255, 0, 0, 0.5),
      1px 0 0 rgba(0, 255, 255, 0.5);
  }
}

body.ritual-distortion-active h1,
body.ritual-distortion-active h2,
body.ritual-distortion-active .ritual-chromatic {
  animation: chromatic-aberration 0.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  body.ritual-distortion-active h1,
  body.ritual-distortion-active h2,
  body.ritual-distortion-active .ritual-chromatic {
    animation: none;
    text-shadow: none;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/**
 * 🎬 M1SSION™ MOTION TOKENS - Unified Animation System
 * © 2025 Joseph MULÉ – ALL RIGHTS RESERVED – NIYVORA KFT™
 * 
 * Purpose: Standardize all motion across the app for native iOS feel
 * Usage: Apply these classes to components for consistent animations
 */

/* ═══════════════════════════════════════════════════════════════════════════
   CORE TIMING VARIABLES
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  /* Standard durations (iOS-like feel) */
  --m1-duration-instant: 100ms;
  --m1-duration-fast: 150ms;
  --m1-duration-normal: 220ms;
  --m1-duration-slow: 350ms;
  --m1-duration-slower: 500ms;
  
  /* iOS cubic-bezier curves */
  --m1-ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --m1-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --m1-ease-in: cubic-bezier(0.42, 0, 1, 1);
  --m1-ease-out: cubic-bezier(0, 0, 0.58, 1);
  --m1-ease-in-out: cubic-bezier(0.42, 0, 0.58, 1);
}

/* ═══════════════════════════════════════════════════════════════════════════
   TOUCH FEEDBACK CLASSES
   ═══════════════════════════════════════════════════════════════════════════ */

/* Base touch feedback - apply to all interactive elements */
.m1-touch {
  -webkit-tap-highlight-color: rgba(0, 209, 255, 0.15);
  touch-action: manipulation;
  cursor: pointer;
  transition: transform var(--m1-duration-fast) var(--m1-ease-standard),
              opacity var(--m1-duration-fast) var(--m1-ease-standard);
}

.m1-touch:active {
  transform: scale(0.97);
  opacity: 0.85;
}

/* Light touch - subtle press effect */
.m1-touch-light:active {
  transform: scale(0.98);
  opacity: 0.9;
}

/* Heavy touch - more pronounced press effect */
.m1-touch-heavy:active {
  transform: scale(0.95);
  opacity: 0.8;
}

/* Button-specific press feedback */
.m1-btn-press {
  transition: transform var(--m1-duration-instant) var(--m1-ease-standard),
              box-shadow var(--m1-duration-fast) var(--m1-ease-standard);
}

.m1-btn-press:active {
  transform: scale(0.96) translateY(1px);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

/* Card press feedback - subtle depth change */
.m1-card-press {
  transition: transform var(--m1-duration-normal) var(--m1-ease-spring),
              box-shadow var(--m1-duration-normal) var(--m1-ease-out);
}

.m1-card-press:active {
  transform: scale(0.99);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* ═══════════════════════════════════════════════════════════════════════════
   FADE ANIMATIONS
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-fade-in {
  animation: m1FadeIn var(--m1-duration-normal) var(--m1-ease-out) forwards;
}

.m1-fade-out {
  animation: m1FadeOut var(--m1-duration-fast) var(--m1-ease-in) forwards;
}

@keyframes m1FadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes m1FadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SLIDE ANIMATIONS
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-slide-up {
  animation: m1SlideUp var(--m1-duration-normal) var(--m1-ease-standard) forwards;
}

.m1-slide-down {
  animation: m1SlideDown var(--m1-duration-normal) var(--m1-ease-standard) forwards;
}

.m1-slide-left {
  animation: m1SlideLeft var(--m1-duration-normal) var(--m1-ease-standard) forwards;
}

.m1-slide-right {
  animation: m1SlideRight var(--m1-duration-normal) var(--m1-ease-standard) forwards;
}

@keyframes m1SlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes m1SlideDown {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes m1SlideLeft {
  from { opacity: 0; transform: translateX(20px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes m1SlideRight {
  from { opacity: 0; transform: translateX(-20px); }
  to { opacity: 1; transform: translateX(0); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCALE ANIMATIONS
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-scale-in {
  animation: m1ScaleIn var(--m1-duration-normal) var(--m1-ease-spring) forwards;
}

.m1-scale-out {
  animation: m1ScaleOut var(--m1-duration-fast) var(--m1-ease-in) forwards;
}

@keyframes m1ScaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes m1ScaleOut {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(0.95); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LIST STAGGER ANIMATIONS (for lists of items)
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-stagger-item {
  opacity: 0;
  transform: translateY(10px);
  animation: m1StaggerIn var(--m1-duration-normal) var(--m1-ease-standard) forwards;
}

/* Stagger delay classes (use on list items) */
.m1-stagger-1 { animation-delay: 50ms; }
.m1-stagger-2 { animation-delay: 100ms; }
.m1-stagger-3 { animation-delay: 150ms; }
.m1-stagger-4 { animation-delay: 200ms; }
.m1-stagger-5 { animation-delay: 250ms; }

@keyframes m1StaggerIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   GLASS LAYER STANDARDIZATION
   ═══════════════════════════════════════════════════════════════════════════ */

/* Standard glass effect (consistent across app) */
.m1-glass {
  background: rgba(10, 10, 15, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Lighter glass for overlays */
.m1-glass-light {
  background: rgba(10, 10, 15, 0.65);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Heavy glass for modals */
.m1-glass-heavy {
  background: rgba(10, 10, 15, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SHADOW STANDARDIZATION
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-shadow-soft {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
}

.m1-shadow-medium {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.m1-shadow-heavy {
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.45);
}

.m1-shadow-glow-cyan {
  box-shadow: 0 0 20px rgba(0, 209, 255, 0.3);
}

.m1-shadow-glow-pink {
  box-shadow: 0 0 20px rgba(255, 0, 255, 0.3);
}
/* © 2026 Joseph MULÉ – M1SSION™ — Mirrors src/system/uiLayers.ts for CSS-only files */
:root {
  --m1-z-base: 0;
  --m1-z-page-content: 10;
  --m1-z-sticky: 100;
  --m1-z-header: 500;
  --m1-z-navigation: 600;
  --m1-z-floating-ui: 800;
  --m1-z-overlay-backdrop: 1000;
  --m1-z-modal: 1200;
  --m1-z-modal-critical: 1500;
  --m1-z-toast: 1800;
  --m1-z-system-overlay: 2000;
  --m1-z-debug: 3000;
  --m1-z-legacy-victory: 50000;
  --m1-z-legacy-wow-daily-focus: 100020;
  /* B1 — replaces INT_MAX / 99999 clusters where wired (see docs/m1-z-index-overlay-inventory.md §B1) */
  --m1-z-shadow-protocol: 101000;
  --m1-z-flip-overlay: 18000;
  --m1-z-cinematic-overlay: 18500;
  --m1-z-rank-up-video: 2500;
}
/**
 * 🎨 M1SSION™ SOFT NATIVE DESIGN SYSTEM
 * © 2025 Joseph MULÉ – ALL RIGHTS RESERVED – NIYVORA KFT™
 * 
 * Apple-like soft glass design: white/off-white, rounded, gentle shadows
 * Apply to: AION/Intelligence, Notifications, Leaderboard
 * 
 * Usage: Add .sn-* classes to elements
 */

/* ═══════════════════════════════════════════════════════════════════════════
   DESIGN TOKENS (CSS Variables)
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  /* 🎬 GLOBAL DARK THEME - Briefing Buzz Style */
  
  /* Backgrounds - DARK GLASS */
  --sn-bg-page: #0a0a0f;
  --sn-bg-card: rgba(15, 18, 25, 0.85);
  --sn-bg-card-hover: rgba(20, 25, 35, 0.9);
  --sn-bg-input: rgba(15, 18, 25, 0.8);
  
  /* Borders - NEON GLOW */
  --sn-border-light: rgba(0, 209, 255, 0.15);
  --sn-border-medium: rgba(0, 209, 255, 0.25);
  --sn-border-focus: rgba(0, 209, 255, 0.5);
  
  /* Shadows - DARK with NEON GLOW */
  --sn-shadow-card: 
    0 4px 12px rgba(0, 0, 0, 0.4),
    0 8px 24px rgba(0, 0, 0, 0.3),
    0 0 20px rgba(0, 209, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --sn-shadow-card-hover: 
    0 6px 20px rgba(0, 0, 0, 0.5),
    0 12px 40px rgba(0, 0, 0, 0.4),
    0 0 30px rgba(0, 209, 255, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.08);
  --sn-shadow-pill: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 12px rgba(0, 209, 255, 0.1);
  --sn-shadow-inset: inset 0 2px 4px rgba(0, 0, 0, 0.3);
  
  /* Radii */
  --sn-radius-sm: 12px;
  --sn-radius-md: 16px;
  --sn-radius-lg: 20px;
  --sn-radius-xl: 24px;
  --sn-radius-pill: 100px;
  
  /* Colors - DARK THEME */
  --sn-accent: #00D1FF;
  --sn-accent-light: rgba(0, 209, 255, 0.15);
  --sn-accent-teal: #00D1FF;
  --sn-text-primary: rgba(255, 255, 255, 0.95);
  --sn-text-secondary: rgba(255, 255, 255, 0.7);
  --sn-text-tertiary: rgba(255, 255, 255, 0.5);
  --sn-divider: rgba(255, 255, 255, 0.1);
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎬 GLOBAL DARK THEME - BRIEFING BUZZ STYLE
   © 2026 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
   
   Sfondo: nero gradiente stile modale Briefing Buzz
   Effetto: semi-trasparente con blur per profondità
   ═══════════════════════════════════════════════════════════════════════════ */

/* GLOBAL DARK BACKGROUND - Briefing Buzz style gradient */
html,
body,
html.sn-page,
body.sn-page,
html.sn-page-dark,
body.sn-page-dark {
  background: linear-gradient(180deg, #0a0a0f 0%, #0d1117 50%, #0a0a0f 100%) !important;
  background-color: #0a0a0f !important;
  background-attachment: fixed !important;
}

/* Native iOS - same dark background */
body.is-native,
body.is-native.sn-page,
html.capacitor-ios,
html[data-capacitor="ios"] {
  background: linear-gradient(180deg, #0a0a0f 0%, #0d1117 50%, #0a0a0f 100%) !important;
  background-color: #0a0a0f !important;
}

/* Root container transparent to show dark body */
#root,
.safe-area-wrapper,
.global-layout-content,
main {
  background: transparent !important;
  background-color: transparent !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAGE CONTAINER
   🎬 GLOBAL DARK: Transparent to show dark gradient body through
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-page {
  /* Transparent - dark gradient from body shows through */
  background: transparent !important;
  min-height: 100dvh;
  position: relative;
}

/* Ensure content is visible above bg */
.sn-page > * {
  position: relative;
  z-index: 1;
}

/* Dark gradient variant - Briefing Buzz style */
.sn-page-gradient {
  background: linear-gradient(180deg, #0a0a0f 0%, #0d1117 50%, #0a0a0f 100%) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CARDS - 🎬 DARK GLASS with NEON GLOW (Briefing Buzz Style)
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-card {
  background: var(--sn-bg-card);
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  border-radius: var(--sn-radius-lg);
  border: 1px solid var(--sn-border-light);
  box-shadow: var(--sn-shadow-card);
  padding: 16px;
  transition: box-shadow 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.sn-card:hover {
  box-shadow: var(--sn-shadow-card-hover);
  border-color: var(--sn-border-medium);
  transform: translateY(-1px);
}

.sn-card-elevated {
  background: rgba(18, 22, 32, 0.92);
  backdrop-filter: blur(24px) saturate(160%);
  -webkit-backdrop-filter: blur(24px) saturate(160%);
  border-radius: var(--sn-radius-xl);
  border: 1px solid rgba(0, 209, 255, 0.2);
  box-shadow: 
    var(--sn-shadow-card),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 0 25px rgba(0, 209, 255, 0.12);
  padding: 20px;
}

.sn-card-flat {
  background: rgba(15, 18, 25, 0.75);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border-radius: var(--sn-radius-md);
  border: 1px solid var(--sn-border-light);
  padding: 12px 16px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🗂️ iOS FOLDER-STYLE GLASS — Universal reusable class
   Premium frosted glass effect like iOS folders
   USE: .m1-folder-glass on any container (Buzz, AION, Notifications, etc.)
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-folder-glass,
.buzz-folder-glass {
  /* iOS folder-style frosted glass */
  background: rgba(255, 255, 255, 0.08) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  
  /* Light border like iOS folders */
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 24px !important;
  
  /* Floating shadow */
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.35),
    0 2px 8px rgba(0, 0, 0, 0.20),
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 -1px 0 rgba(0, 0, 0, 0.05) !important;
  
  /* Position for pseudo-elements */
  position: relative;
  overflow: hidden;
}

/* Sheen effect - diagonal highlight */
.m1-folder-glass::before,
.buzz-folder-glass::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.08) 0%,
    rgba(255, 255, 255, 0.03) 30%,
    transparent 60%
  );
  pointer-events: none;
  border-radius: 24px 24px 0 0;
  z-index: 1;
}

/* Variant: Lighter glass for input bars */
.m1-folder-glass--input {
  background: rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(16px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 16px !important;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

/* iOS Performance - reduce blur on mobile */
@supports (-webkit-touch-callout: none) {
  .m1-folder-glass,
  .buzz-folder-glass {
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  }
  
  .m1-folder-glass--input {
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   🗂️ GRAPHITE FOLDER GLASS — Dark variant for better text contrast
   Premium frosted glass with graphite/charcoal base for AION chat etc.
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-folder-glass--graphite {
  /* Graphite base - darker for better text contrast */
  background: rgba(18, 22, 28, 0.88) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  
  /* Subtle light border */
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 24px !important;
  
  /* Volumetric shadow with subtle backlight */
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.50),
    0 2px 8px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20),
    0 0 40px rgba(0, 209, 255, 0.05) !important;
  
  position: relative;
  overflow: hidden;
}

/* Sheen effect for graphite */
.m1-folder-glass--graphite::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(255, 255, 255, 0.02) 30%,
    transparent 70%
  );
  pointer-events: none;
  border-radius: 24px 24px 0 0;
  z-index: 1;
}

/* Input bar variant - graphite */
.m1-folder-glass--graphite-input {
  background: rgba(24, 28, 36, 0.92) !important;
  backdrop-filter: blur(16px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 
    0 4px 20px rgba(0, 0, 0, 0.40),
    0 0 20px rgba(0, 209, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Text colors for graphite glass containers */
.m1-folder-glass--graphite .m1-text-primary,
.m1-folder-glass--graphite h1,
.m1-folder-glass--graphite h2,
.m1-folder-glass--graphite h3 {
  color: rgba(255, 255, 255, 0.95) !important;
}

.m1-folder-glass--graphite .m1-text-secondary {
  color: rgba(255, 255, 255, 0.70) !important;
}

.m1-folder-glass--graphite .m1-text-muted {
  color: rgba(255, 255, 255, 0.50) !important;
}

/* iOS Performance - graphite variant */
@supports (-webkit-touch-callout: none) {
  .m1-folder-glass--graphite {
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
  }
  
  .m1-folder-glass--graphite-input {
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .m1-folder-glass--graphite,
  .m1-folder-glass--graphite-input {
    transition: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   🏆 LEADERBOARD CARDS — Graphite folder glass + TOP 3 Rank Aura
   Psychologically-driven effects: status + aspiration
   
   🔧 FIX 05/02/2026: Override m1ssion-glass-card with higher specificity
   The Card component always applies m1ssion-glass-card which has !important
   in index.css. We need to win the specificity battle.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Base card style - Graphite folder glass */
/* Use double-class selector to override .sn-page .m1ssion-glass-card */
.leaderboard-card-glass.leaderboard-card-glass,
.sn-page .leaderboard-card-glass,
.leaderboard-card-glass {
  background: rgba(18, 22, 28, 0.85) !important;
  backdrop-filter: blur(12px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.40),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(0, 0, 0, 0.15) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Sheen effect for all cards */
.leaderboard-card-glass::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 35%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.03) 0%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}

/* ═══════════════════════════════════════════════════════════════════════════
   #1 — CROWN AURA (Il trono - status dominante)
   ═══════════════════════════════════════════════════════════════════════════ */

.leaderboard-rank-1.leaderboard-rank-1,
.sn-page .leaderboard-rank-1,
.leaderboard-rank-1 {
  background: linear-gradient(
    135deg,
    rgba(255, 215, 0, 0.12) 0%,
    rgba(18, 22, 28, 0.90) 30%,
    rgba(18, 22, 28, 0.88) 70%,
    rgba(236, 72, 153, 0.10) 100%
  ) !important;
  border: 1px solid rgba(255, 215, 0, 0.25) !important;
  box-shadow: 
    0 0 30px rgba(255, 215, 0, 0.15),
    0 0 60px rgba(236, 72, 153, 0.08),
    0 8px 24px rgba(0, 0, 0, 0.50),
    inset 0 1px 0 rgba(255, 215, 0, 0.15) !important;
}

/* Crown breathing effect */
.leaderboard-rank-1::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(
    45deg,
    transparent 30%,
    rgba(255, 215, 0, 0.08) 50%,
    transparent 70%
  );
  opacity: 0;
  animation: crownBreathing 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

/* Shimmer highlight - slow diagonal pass */
.leaderboard-rank-1 .rank-shimmer {
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 215, 0, 0.10) 50%,
    transparent 100%
  );
  animation: crownShimmer 8s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

@keyframes crownBreathing {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.7; }
}

@keyframes crownShimmer {
  0% { left: -100%; opacity: 0; }
  10% { opacity: 1; }
  40% { left: 200%; opacity: 1; }
  50%, 100% { left: 200%; opacity: 0; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   #2 — CHALLENGER GLOW (Quasi top - aspiration)
   ═══════════════════════════════════════════════════════════════════════════ */

.leaderboard-rank-2.leaderboard-rank-2,
.sn-page .leaderboard-rank-2,
.leaderboard-rank-2 {
  background: linear-gradient(
    135deg,
    rgba(192, 192, 192, 0.08) 0%,
    rgba(18, 22, 28, 0.90) 30%,
    rgba(18, 22, 28, 0.88) 70%,
    rgba(59, 130, 246, 0.08) 100%
  ) !important;
  border: 1px solid rgba(192, 192, 192, 0.20) !important;
  box-shadow: 
    0 0 25px rgba(192, 192, 192, 0.10),
    0 0 40px rgba(59, 130, 246, 0.06),
    0 6px 20px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(192, 192, 192, 0.12) !important;
}

/* Challenger pulse ring */
.leaderboard-rank-2::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid rgba(192, 192, 192, 0.15);
  animation: challengerPulse 4s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes challengerPulse {
  0%, 100% { 
    opacity: 0.4;
    transform: scale(1);
  }
  50% { 
    opacity: 0.8;
    transform: scale(1.005);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   #3 — PODIUM SPARK (Ultimo gradino - raggiungibile)
   ═══════════════════════════════════════════════════════════════════════════ */

.leaderboard-rank-3.leaderboard-rank-3,
.sn-page .leaderboard-rank-3,
.leaderboard-rank-3 {
  background: linear-gradient(
    135deg,
    rgba(205, 127, 50, 0.08) 0%,
    rgba(18, 22, 28, 0.90) 40%,
    rgba(18, 22, 28, 0.88) 60%,
    rgba(52, 211, 153, 0.06) 100%
  ) !important;
  border: 1px solid rgba(205, 127, 50, 0.18) !important;
  box-shadow: 
    0 0 20px rgba(205, 127, 50, 0.08),
    0 5px 18px rgba(0, 0, 0, 0.40),
    inset 0 1px 0 rgba(205, 127, 50, 0.10) !important;
}

/* Podium accent line */
.leaderboard-rank-3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 10%;
  right: 10%;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(205, 127, 50, 0.40) 20%,
    rgba(52, 211, 153, 0.30) 80%,
    transparent 100%
  );
  animation: podiumSpark 3s ease-in-out infinite;
  pointer-events: none;
  z-index: 2;
}

@keyframes podiumSpark {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   TOP 4-10 — Subtle glow
   ═══════════════════════════════════════════════════════════════════════════ */

.leaderboard-rank-top10.leaderboard-rank-top10,
.sn-page .leaderboard-rank-top10,
.leaderboard-rank-top10 {
  background: rgba(18, 22, 28, 0.82) !important;
  border: 1px solid rgba(0, 209, 255, 0.12) !important;
  box-shadow: 
    0 0 12px rgba(0, 209, 255, 0.06),
    0 4px 14px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(0, 209, 255, 0.05) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   iOS Performance + Reduced Motion
   ═══════════════════════════════════════════════════════════════════════════ */

@supports (-webkit-touch-callout: none) {
  .leaderboard-card-glass.leaderboard-card-glass,
  .sn-page .leaderboard-card-glass,
  .leaderboard-card-glass,
  .leaderboard-rank-1.leaderboard-rank-1,
  .sn-page .leaderboard-rank-1,
  .leaderboard-rank-1,
  .leaderboard-rank-2.leaderboard-rank-2,
  .sn-page .leaderboard-rank-2,
  .leaderboard-rank-2,
  .leaderboard-rank-3.leaderboard-rank-3,
  .sn-page .leaderboard-rank-3,
  .leaderboard-rank-3,
  .leaderboard-rank-top10.leaderboard-rank-top10,
  .sn-page .leaderboard-rank-top10,
  .leaderboard-rank-top10 {
    backdrop-filter: blur(10px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .leaderboard-rank-1::after,
  .leaderboard-rank-1 .rank-shimmer,
  .leaderboard-rank-2::after,
  .leaderboard-rank-3::after {
    animation: none !important;
    opacity: 0.5 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   TABS / PILLS
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-tabs-container {
  background: rgba(255, 255, 255, 0.06);
  border-radius: var(--sn-radius-pill);
  padding: 4px;
  display: flex;
  gap: 4px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.sn-tab {
  flex: 1;
  padding: 10px 16px;
  border-radius: var(--sn-radius-pill);
  font-size: 14px;
  font-weight: 500;
  color: var(--sn-text-secondary);
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
}

.sn-tab:hover {
  color: var(--sn-text-primary);
}

.sn-tab-active {
  background: rgba(0, 209, 255, 0.15);
  color: #00D1FF;
  box-shadow: var(--sn-shadow-pill), 0 0 12px rgba(0, 209, 255, 0.2);
  border: 1px solid rgba(0, 209, 255, 0.3);
}

.sn-tab-accent {
  background: var(--sn-accent);
  color: #0a0a0f;
  box-shadow: var(--sn-shadow-pill);
}

/* ═══════════════════════════════════════════════════════════════════════════
   PILLS / BADGES
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: var(--sn-radius-pill);
  font-size: 13px;
  font-weight: 500;
  background: rgba(0, 0, 0, 0.04);
  color: var(--sn-text-secondary);
}

.sn-pill-accent {
  background: var(--sn-accent-light);
  color: var(--sn-accent);
}

.sn-pill-success {
  background: rgba(52, 199, 89, 0.12);
  color: #34C759;
}

.sn-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  background: var(--sn-accent);
  color: white;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LIST ROWS
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-list {
  background: var(--sn-bg-card);
  border-radius: var(--sn-radius-lg);
  border: 1px solid var(--sn-border-light);
  overflow: hidden;
}

.sn-list-row {
  display: flex;
  align-items: center;
  padding: 14px 16px;
  background: transparent;
  border-bottom: 1px solid var(--sn-divider);
  transition: background 0.15s ease;
}

.sn-list-row:last-child {
  border-bottom: none;
}

.sn-list-row:active {
  background: rgba(0, 0, 0, 0.03);
}

.sn-list-row-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: var(--sn-accent-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
}

.sn-list-row-icon svg {
  width: 20px;
  height: 20px;
  color: var(--sn-accent);
}

/* ═══════════════════════════════════════════════════════════════════════════
   ICON BUTTONS
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-icon-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--sn-bg-card);
  border: 1px solid var(--sn-border-light);
  box-shadow: var(--sn-shadow-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.sn-icon-btn:hover {
  background: var(--sn-bg-card-hover);
  box-shadow: var(--sn-shadow-card);
}

.sn-icon-btn:active {
  transform: scale(0.95);
}

.sn-icon-btn svg {
  width: 18px;
  height: 18px;
  color: var(--sn-text-secondary);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SECTION HEADERS
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-section-title {
  font-size: 22px;
  font-weight: 600;
  color: var(--sn-text-primary);
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}

.sn-section-subtitle {
  font-size: 13px;
  font-weight: 500;
  color: var(--sn-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   TYPOGRAPHY OVERRIDES (when inside .sn-page)
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-page .sn-text-primary {
  color: var(--sn-text-primary);
}

.sn-page .sn-text-secondary {
  color: var(--sn-text-secondary);
}

.sn-page .sn-text-tertiary {
  color: var(--sn-text-tertiary);
}

/* ═══════════════════════════════════════════════════════════════════════════
   DIVIDERS
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-divider {
  height: 1px;
  background: var(--sn-divider);
  margin: 16px 0;
}

.sn-divider-inset {
  height: 1px;
  background: var(--sn-divider);
  margin: 0 16px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   INPUTS (for search, chat input)
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-input {
  width: 100%;
  padding: 12px 16px;
  border-radius: var(--sn-radius-md);
  border: 1px solid var(--sn-border-light);
  background: var(--sn-bg-input);
  font-size: 15px;
  color: var(--sn-text-primary);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sn-input::-moz-placeholder {
  color: var(--sn-text-tertiary);
}

.sn-input::placeholder {
  color: var(--sn-text-tertiary);
}

.sn-input:focus {
  outline: none;
  border-color: var(--sn-border-focus);
  box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.1);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCROLL AREA (no visible scrollbar, smooth)
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-scroll-area {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sn-scroll-area::-webkit-scrollbar {
  display: none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   NOTIFICATION-SPECIFIC OVERRIDES
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-notification-tabs .sn-tabs-container {
  background: rgba(255, 255, 255, 0.05);
}

.sn-notification-category {
  margin-bottom: 24px;
}

.sn-notification-category-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--sn-text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 12px;
  padding-left: 4px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LEADERBOARD-SPECIFIC OVERRIDES
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-leaderboard-podium {
  background: linear-gradient(180deg, rgba(18, 22, 32, 0.9) 0%, rgba(12, 15, 22, 0.85) 100%);
  border-radius: var(--sn-radius-xl);
  padding: 24px;
  border: 1px solid rgba(0, 209, 255, 0.15);
  box-shadow: 0 0 20px rgba(0, 209, 255, 0.08);
  margin-bottom: 24px;
}

.sn-leaderboard-rank {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--sn-accent-light);
  color: var(--sn-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
}

.sn-leaderboard-rank-gold {
  background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
  color: white;
}

.sn-leaderboard-rank-silver {
  background: linear-gradient(135deg, #C0C0C0 0%, #A0A0A0 100%);
  color: white;
}

.sn-leaderboard-rank-bronze {
  background: linear-gradient(135deg, #CD7F32 0%, #B87333 100%);
  color: white;
}

/* ═══════════════════════════════════════════════════════════════════════════
   AION/INTELLIGENCE-SPECIFIC OVERRIDES
   ═══════════════════════════════════════════════════════════════════════════ */

.sn-aion-container {
  /* Keep blob area transparent - no background interference */
  position: relative;
}

.sn-aion-label {
  text-align: center;
  padding: 8px 0;
}

.sn-aion-label h2 {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.sn-aion-label h2 .sn-accent-text {
  color: var(--sn-accent);
}

.sn-aion-label p {
  font-size: 11px;
  color: var(--sn-text-tertiary);
  letter-spacing: 0.03em;
}

.sn-chat-container {
  background: rgba(15, 18, 25, 0.92);
  backdrop-filter: blur(24px) saturate(150%);
  -webkit-backdrop-filter: blur(24px) saturate(150%);
  border-radius: var(--sn-radius-xl) var(--sn-radius-xl) 0 0;
  border: 1px solid rgba(0, 209, 255, 0.15);
  border-top: 1px solid rgba(0, 209, 255, 0.25);
  border-bottom: none;
  box-shadow: 
    0 -4px 20px rgba(0, 0, 0, 0.4),
    0 -8px 40px rgba(0, 0, 0, 0.3),
    0 0 20px rgba(0, 209, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  margin-top: 16px;
  overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🔧 iOS SAFE-AREA & OVERSCROLL FIX (30/01/2026)
   Ensures LIGHT background fills safe-area and header/nav are never covered
   ═══════════════════════════════════════════════════════════════════════════ */

/* Ensure .sn-page containers don't create competing backgrounds */
body.is-native .sn-page,
html.capacitor-ios .sn-page,
html[data-capacitor="ios"] .sn-page {
  background: transparent !important;
  background-color: transparent !important;
}

/* #root and wrappers transparent when showing .sn-page */
body.sn-page #root,
body.sn-page .safe-area-wrapper,
body.sn-page .global-layout-content,
body:has(.sn-page) #root,
body:has(.sn-page) .safe-area-wrapper,
body:has(.sn-page) .global-layout-content {
  background: transparent !important;
  background-color: transparent !important;
}

/* Native iOS: same transparency rule */
body.is-native.sn-page #root,
body.is-native.sn-page .safe-area-wrapper,
body.is-native.sn-page .global-layout-content,
body.is-native:has(.sn-page) #root,
body.is-native:has(.sn-page) .safe-area-wrapper,
body.is-native:has(.sn-page) .global-layout-content {
  background: transparent !important;
  background-color: transparent !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HEADER & BOTTOM NAV z-index GUARANTEE
   These elements must ALWAYS be above page content, even during overscroll
   ═══════════════════════════════════════════════════════════════════════════ */

/* Header always on top */
.sn-page ~ .unified-header-wrapper,
body.sn-page .unified-header-wrapper,
body.sn-page header[class*="fixed"],
body:has(.sn-page) .unified-header-wrapper,
body:has(.sn-page) header[class*="fixed"] {
  z-index: 9999 !important;
  isolation: isolate !important;
}

/* Bottom nav always on top */
.sn-page ~ .bottom-navigation-ios,
body.sn-page .bottom-navigation-ios,
body.sn-page #m1-bottom-nav,
body:has(.sn-page) .bottom-navigation-ios,
body:has(.sn-page) #m1-bottom-nav {
  z-index: 9999 !important;
  isolation: isolate !important;
}

/* GPU acceleration for fixed elements during overscroll */
body.sn-page .unified-header-wrapper,
body.sn-page .bottom-navigation-ios,
body.sn-page header[class*="fixed"],
body.sn-page nav[class*="fixed"],
body:has(.sn-page) .unified-header-wrapper,
body:has(.sn-page) .bottom-navigation-ios,
body:has(.sn-page) header[class*="fixed"],
body:has(.sn-page) nav[class*="fixed"] {
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  will-change: transform !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   OVERSCROLL BEHAVIOR - PREVENT DARK BLEED-THROUGH
   ═══════════════════════════════════════════════════════════════════════════ */

/* Allow native iOS bounce but with light background */
body.sn-page,
body.sn-page main,
body.sn-page .global-layout-content,
body:has(.sn-page),
body:has(.sn-page) main,
body:has(.sn-page) .global-layout-content {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: auto; /* Allow native bounce */
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎬 BLACK OPS THEME - DARK HOME PAGE
   Override white theme for Home page only via .sn-page-dark modifier
   ═══════════════════════════════════════════════════════════════════════════ */

/* html/body DARK for Home page */
html.sn-page-dark,
body.sn-page-dark,
html:has(.sn-page-dark),
body:has(.sn-page-dark) {
  background: linear-gradient(180deg, #05060A 0%, #070A12 50%, #04040A 100%) !important;
  background-color: #05060A !important;
}

/* iOS native dark */
body.is-native.sn-page-dark,
body.is-native:has(.sn-page-dark) {
  background: linear-gradient(180deg, #05060A 0%, #070A12 50%, #04040A 100%) !important;
  background-color: #05060A !important;
}

/* Capacitor iOS dark */
html.capacitor-ios.sn-page-dark,
html.capacitor-ios:has(.sn-page-dark),
html[data-capacitor="ios"].sn-page-dark,
html[data-capacitor="ios"]:has(.sn-page-dark) {
  background: linear-gradient(180deg, #05060A 0%, #070A12 50%, #04040A 100%) !important;
  background-color: #05060A !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DARK HEADER - Glass dark for .sn-page-dark
   ═══════════════════════════════════════════════════════════════════════════ */
html.sn-page-dark .unified-header-wrapper header,
body.sn-page-dark .unified-header-wrapper header,
body:has(.sn-page-dark) .unified-header-wrapper header {
  background: rgba(8, 10, 18, 0.88) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  border: 1px solid rgba(0, 209, 255, 0.15) !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255,255,255,0.03) !important;
}

/* Dark header text - light for contrast */
html.sn-page-dark .unified-header-wrapper header *,
body.sn-page-dark .unified-header-wrapper header *,
body:has(.sn-page-dark) .unified-header-wrapper header * {
  color: rgba(255, 255, 255, 0.95) !important;
}

/* Dark header icons */
html.sn-page-dark .unified-header-wrapper header svg,
body.sn-page-dark .unified-header-wrapper header svg {
  color: #00D1FF !important;
}

/* M1SSION logo on dark */
html.sn-page-dark .unified-header-wrapper .m1ssion-logo span:first-child,
body.sn-page-dark .unified-header-wrapper .m1ssion-logo span:first-child {
  color: #00D1FF !important;
  text-shadow: 0 0 10px rgba(0, 209, 255, 0.5) !important;
}

html.sn-page-dark .unified-header-wrapper .m1ssion-logo span:last-child,
body.sn-page-dark .unified-header-wrapper .m1ssion-logo span:last-child {
  color: #FFFFFF !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DARK BOTTOM NAV - Glass dark for .sn-page-dark
   ═══════════════════════════════════════════════════════════════════════════ */
html.sn-page-dark .bottom-navigation-ios nav,
body.sn-page-dark .bottom-navigation-ios nav,
html.sn-page-dark #m1-bottom-nav nav,
body.sn-page-dark #m1-bottom-nav nav,
body:has(.sn-page-dark) .bottom-navigation-ios nav,
body:has(.sn-page-dark) #m1-bottom-nav nav,
body.is-native.sn-page-dark .bottom-navigation-ios nav,
body.is-native:has(.sn-page-dark) .bottom-navigation-ios nav {
  background: rgba(8, 10, 18, 0.85) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  border-top: 1px solid rgba(0, 209, 255, 0.18) !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(0, 209, 255, 0.08) !important;
}

/* Dark nav inactive icons */
html.sn-page-dark .bottom-navigation-ios button:not([class*="active"]) svg,
body.sn-page-dark .bottom-navigation-ios button:not([class*="active"]) svg,
body:has(.sn-page-dark) .bottom-navigation-ios button:not([class*="active"]) svg {
  color: rgba(255, 255, 255, 0.5) !important;
}

/* Dark nav active icons - neon cyan */
html.sn-page-dark .bottom-navigation-ios button[class*="active"] svg,
body.sn-page-dark .bottom-navigation-ios button[class*="active"] svg,
body:has(.sn-page-dark) .bottom-navigation-ios button[class*="active"] svg {
  color: #00D1FF !important;
  filter: drop-shadow(0 0 6px rgba(0, 209, 255, 0.6)) !important;
}

/* Dark nav text */
html.sn-page-dark .bottom-navigation-ios button span,
body.sn-page-dark .bottom-navigation-ios button span,
body:has(.sn-page-dark) .bottom-navigation-ios button span {
  color: rgba(255, 255, 255, 0.6) !important;
}

html.sn-page-dark .bottom-navigation-ios button[class*="active"] span,
body.sn-page-dark .bottom-navigation-ios button[class*="active"] span,
body:has(.sn-page-dark) .bottom-navigation-ios button[class*="active"] span {
  color: #00D1FF !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   M1 GLASS CARD - Reusable dark glass + neon border
   ═══════════════════════════════════════════════════════════════════════════ */
.m1-glass-card-dark {
  background: rgba(10, 12, 20, 0.55) !important;
  backdrop-filter: blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
  border: 1px solid rgba(0, 209, 255, 0.25) !important;
  border-radius: 20px !important;
  box-shadow: 
    0 0 20px rgba(0, 209, 255, 0.12),
    0 0 40px rgba(0, 150, 255, 0.08),
    0 4px 24px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎬 M1SSION PRIZE - ANIMATED NEON BORDER SHIMMER
   Slow rotating gradient border effect
   ═══════════════════════════════════════════════════════════════════════════ */

@keyframes m1-neon-shimmer {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes m1-neon-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Animated neon border container (apply to M1SSION PRIZE wrapper) */
.m1-neon-border-animated {
  position: relative;
  border-radius: 24px;
  overflow: visible;
}

/* The animated border pseudo-element */
.m1-neon-border-animated::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 26px;
  padding: 2px;
  background: linear-gradient(
    90deg,
    rgba(0, 209, 255, 0.8) 0%,
    rgba(0, 150, 255, 0.6) 20%,
    rgba(123, 92, 255, 0.7) 40%,
    rgba(255, 0, 200, 0.5) 60%,
    rgba(123, 92, 255, 0.7) 80%,
    rgba(0, 209, 255, 0.8) 100%
  );
  background-size: 300% 100%;
  animation: m1-neon-shimmer 6s ease-in-out infinite;
  -webkit-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: -1;
}

/* Outer glow layer */
.m1-neon-border-animated::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 28px;
  background: transparent;
  box-shadow: 
    0 0 30px rgba(0, 209, 255, 0.4),
    0 0 60px rgba(0, 180, 255, 0.25),
    0 0 100px rgba(123, 92, 255, 0.15);
  pointer-events: none;
  z-index: -2;
  animation: m1-neon-pulse 3s ease-in-out infinite alternate;
}

@keyframes m1-neon-pulse {
  0% {
    opacity: 0.7;
    transform: scale(1);
  }
  100% {
    opacity: 1;
    transform: scale(1.01);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   🌟 ENTITY GLOW - Radial light behind blobs/AION entities
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-entity-glow-container {
  position: relative;
}

/* Dual-color radial glow behind entities */
.m1-entity-glow-container::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 280px;
  height: 200px;
  background: 
    radial-gradient(ellipse at 40% 50%, rgba(0, 209, 255, 0.25) 0%, transparent 55%),
    radial-gradient(ellipse at 60% 50%, rgba(255, 0, 200, 0.15) 0%, transparent 55%);
  filter: blur(30px);
  pointer-events: none;
  z-index: -1;
  animation: m1-glow-breathe 4s ease-in-out infinite alternate;
}

@keyframes m1-glow-breathe {
  0% {
    opacity: 0.6;
    transform: translate(-50%, -50%) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎯 PROSSIMA AZIONE - Consistent dark glass + subtle glow
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-next-action-dark {
  background: linear-gradient(160deg, 
    rgba(8, 12, 20, 0.85) 0%, 
    rgba(10, 16, 28, 0.80) 50%, 
    rgba(8, 12, 20, 0.85) 100%
  );
  backdrop-filter: blur(20px) saturate(150%);
  -webkit-backdrop-filter: blur(20px) saturate(150%);
  border: 1px solid rgba(0, 209, 255, 0.3);
  border-radius: 24px;
  box-shadow: 
    0 0 20px rgba(0, 209, 255, 0.18),
    0 0 40px rgba(0, 150, 255, 0.1),
    0 4px 24px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* Inner highlight accent */
.m1-next-action-dark::before {
  content: '';
  position: absolute;
  top: 0;
  left: 10%;
  right: 10%;
  height: 1px;
  background: linear-gradient(90deg, 
    transparent 0%, 
    rgba(0, 209, 255, 0.4) 50%, 
    transparent 100%
  );
  pointer-events: none;
}

/* © 2026 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/**
 * M1SSION™ - iOS Native PWA Styles
 * Enhances native app feel with accessibility and UX polish
 */

/* ═══════════════════════════════════════════════════════════════════════════
   🎬 GLOBAL DARK BACKGROUND - HIGHEST PRIORITY (outside @layer)
   Applied to ALL native app pages - Briefing Buzz style gradient
   ═══════════════════════════════════════════════════════════════════════════ */
html {
  background: #0a0a0f !important;
  background-color: #0a0a0f !important;
}

body {
  background: linear-gradient(180deg, #0a0a0f 0%, #0d1117 50%, #0a0a0f 100%) !important;
  background-color: #0a0a0f !important;
  background-attachment: fixed !important;
}

body.is-native {
  background: linear-gradient(180deg, #0a0a0f 0%, #0d1117 50%, #0a0a0f 100%) !important;
  background-color: #0a0a0f !important;
  background-attachment: fixed !important;
}

/* Root and wrappers - TRANSPARENT to show body background */
#root,
.safe-area-wrapper,
.global-layout-content,
main,
.sn-page {
  background: transparent !important;
  background-color: transparent !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🌟 WHITE MICRO-ENERGY CARDS - Home containers (Agent, Tempo, Battle)
   🔧 FIX 30/01/2026: DEPTH BLOBS - Profondità e "energia" dietro le cards
   - Back halo (diffuso sotto)
   - Highlight speculare (in alto)
   - Colore NON full-black (grigio scuro con trasparenza)
   - Breathing animation sottile
   ═══════════════════════════════════════════════════════════════════════════ */
.card-glass-white-energy {
  position: relative;
  isolation: isolate;
  /* 🔧 DEPTH: Sfondo non completamente nero */
  background: rgba(18, 18, 24, 0.82) !important;
  /* 🔧 DEPTH: Multi-layer shadows per profondità */
  box-shadow: 
    /* Back halo - energia diffusa DIETRO la card */
    0 20px 60px rgba(255, 255, 255, 0.06),
    0 30px 80px rgba(200, 220, 255, 0.04),
    /* Ombra principale - profondità */
    0 8px 32px rgba(0, 0, 0, 0.55),
    0 4px 16px rgba(0, 0, 0, 0.4),
    /* Inner glow - energia interna */
    inset 0 0 30px rgba(255, 255, 255, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    inset 0 -1px 0 rgba(0, 0, 0, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  /* GPU acceleration for smooth scroll */
  transform: translateZ(0);
  will-change: transform, opacity;
}

/* 🔧 DEPTH: Back-halo layer - energia che "emana" da dietro */
.card-glass-white-energy::after {
  content: '';
  position: absolute;
  inset: -8px;
  border-radius: calc(inherit + 8px);
  pointer-events: none;
  z-index: -1;
  /* Soft diffused halo behind the card */
  background: radial-gradient(
    ellipse 120% 100% at 50% 50%,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(180, 200, 255, 0.02) 40%,
    transparent 70%
  );
  filter: blur(12px);
  opacity: 0.8;
  animation: haloBreath 10s ease-in-out infinite;
}

/* Micro-energy highlight overlay - specular highlight + top sheen */
.card-glass-white-energy::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  /* 🔧 DEPTH: Enhanced specular highlights */
  background: 
    /* Specular highlight top-left */
    radial-gradient(ellipse 80% 60% at 15% 10%, rgba(255, 255, 255, 0.15) 0%, transparent 50%),
    /* Secondary glow bottom-right */
    radial-gradient(ellipse 70% 50% at 85% 85%, rgba(255, 255, 255, 0.08) 0%, transparent 45%),
    /* Top edge sheen */
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, transparent 25%),
    /* Diagonal energy sweep */
    linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, transparent 50%);
  opacity: 0.7;
  animation: energyBreath 8s ease-in-out infinite;
}

/* Breathing animation - subtle opacity pulse (very slow) */
@keyframes energyBreath {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 0.78; }
}

/* Back halo breathing - slower, more subtle */
@keyframes haloBreath {
  0%, 100% { opacity: 0.6; filter: blur(12px); }
  50% { opacity: 0.85; filter: blur(14px); }
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  .card-glass-white-energy::before,
  .card-glass-white-energy::after {
    animation: none;
    opacity: 0.7;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   🌊 BOTTOM NAV - iOS Folder Glass Effect (GLOBAL - all pages)
   Semi-transparent glass with blur, like iOS folder background
   White micro-energy glow (no cyan)
   ═══════════════════════════════════════════════════════════════════════════ */
.bottom-nav-pill {
  /* iOS Folder-style glass - MORE TRANSPARENT */
  background: rgba(10, 10, 12, 0.22) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  /* Refined WHITE border */
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  /* Deep shadow + white inner sheen */
  box-shadow: 
    0 10px 40px rgba(0, 0, 0, 0.55),
    0 0 0 0.5px rgba(255, 255, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 0 20px rgba(255, 255, 255, 0.02) !important;
}

/* Subtle top sheen overlay for glass effect */
.bottom-nav-pill::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 40%);
  z-index: 0;
}

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

.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 !important;
}

.relative {
  position: relative;
}

.sticky {
  position: sticky;
}

.-inset-1 {
  inset: -0.25rem;
}

.-inset-2 {
  inset: -0.5rem;
}

.-inset-4 {
  inset: -1rem;
}

.-inset-6 {
  inset: -1.5rem;
}

.inset-0 {
  inset: 0px;
}

.inset-0\.5 {
  inset: 0.125rem;
}

.inset-1 {
  inset: 0.25rem;
}

.inset-1\.5 {
  inset: 0.375rem;
}

.inset-12 {
  inset: 3rem;
}

.inset-2 {
  inset: 0.5rem;
}

.inset-4 {
  inset: 1rem;
}

.inset-8 {
  inset: 2rem;
}

.inset-\[-10px\] {
  inset: -10px;
}

.inset-\[-16\%\] {
  inset: -16%;
}

.inset-\[-20px\] {
  inset: -20px;
}

.inset-\[10px\] {
  inset: 10px;
}

.inset-\[2px\] {
  inset: 2px;
}

.inset-\[4px\] {
  inset: 4px;
}

.inset-\[6px\] {
  inset: 6px;
}

.inset-x-0 {
  left: 0px;
  right: 0px;
}

.inset-y-0 {
  top: 0px;
  bottom: 0px;
}

.-bottom-1 {
  bottom: -0.25rem;
}

.-bottom-12 {
  bottom: -3rem;
}

.-bottom-2 {
  bottom: -0.5rem;
}

.-bottom-20 {
  bottom: -5rem;
}

.-bottom-4 {
  bottom: -1rem;
}

.-bottom-6 {
  bottom: -1.5rem;
}

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

.-left-12 {
  left: -3rem;
}

.-left-20 {
  left: -5rem;
}

.-left-4 {
  left: -1rem;
}

.-left-8 {
  left: -2rem;
}

.-right-0\.5 {
  right: -0.125rem;
}

.-right-1 {
  right: -0.25rem;
}

.-right-12 {
  right: -3rem;
}

.-right-2 {
  right: -0.5rem;
}

.-right-20 {
  right: -5rem;
}

.-right-3 {
  right: -0.75rem;
}

.-right-4 {
  right: -1rem;
}

.-top-0\.5 {
  top: -0.125rem;
}

.-top-1 {
  top: -0.25rem;
}

.-top-10 {
  top: -2.5rem;
}

.-top-12 {
  top: -3rem;
}

.-top-2 {
  top: -0.5rem;
}

.-top-20 {
  top: -5rem;
}

.-top-3 {
  top: -0.75rem;
}

.-top-4 {
  top: -1rem;
}

.-top-9 {
  top: -2.25rem;
}

.bottom-0 {
  bottom: 0px;
}

.bottom-1 {
  bottom: 0.25rem;
}

.bottom-1\/4 {
  bottom: 25%;
}

.bottom-16 {
  bottom: 4rem;
}

.bottom-2 {
  bottom: 0.5rem;
}

.bottom-20 {
  bottom: 5rem;
}

.bottom-24 {
  bottom: 6rem;
}

.bottom-3 {
  bottom: 0.75rem;
}

.bottom-32 {
  bottom: 8rem;
}

.bottom-4 {
  bottom: 1rem;
}

.bottom-40 {
  bottom: 10rem;
}

.bottom-6 {
  bottom: 1.5rem;
}

.bottom-8 {
  bottom: 2rem;
}

.bottom-\[10\%\] {
  bottom: 10%;
}

.bottom-\[20\%\] {
  bottom: 20%;
}

.bottom-\[200px\] {
  bottom: 200px;
}

.bottom-\[30\%\] {
  bottom: 30%;
}

.bottom-full {
  bottom: 100%;
}

.left-0 {
  left: 0px;
}

.left-1 {
  left: 0.25rem;
}

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

.left-1\/4 {
  left: 25%;
}

.left-2 {
  left: 0.5rem;
}

.left-20 {
  left: 5rem;
}

.left-3 {
  left: 0.75rem;
}

.left-4 {
  left: 1rem;
}

.left-6 {
  left: 1.5rem;
}

.left-\[10\%\] {
  left: 10%;
}

.left-\[12\.5\%\] {
  left: 12.5%;
}

.left-\[15\%\] {
  left: 15%;
}

.left-\[30\%\] {
  left: 30%;
}

.left-\[5\%\] {
  left: 5%;
}

.left-\[50\%\] {
  left: 50%;
}

.right-0 {
  right: 0px;
}

.right-1 {
  right: 0.25rem;
}

.right-1\/4 {
  right: 25%;
}

.right-16 {
  right: 4rem;
}

.right-2 {
  right: 0.5rem;
}

.right-3 {
  right: 0.75rem;
}

.right-32 {
  right: 8rem;
}

.right-4 {
  right: 1rem;
}

.right-6 {
  right: 1.5rem;
}

.right-8 {
  right: 2rem;
}

.right-\[10\%\] {
  right: 10%;
}

.right-\[12\.5\%\] {
  right: 12.5%;
}

.right-\[15\%\] {
  right: 15%;
}

.top-0 {
  top: 0px;
}

.top-1 {
  top: 0.25rem;
}

.top-1\.5 {
  top: 0.375rem;
}

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

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

.top-14 {
  top: 3.5rem;
}

.top-16 {
  top: 4rem;
}

.top-2 {
  top: 0.5rem;
}

.top-20 {
  top: 5rem;
}

.top-24 {
  top: 6rem;
}

.top-3 {
  top: 0.75rem;
}

.top-3\.5 {
  top: 0.875rem;
}

.top-4 {
  top: 1rem;
}

.top-6 {
  top: 1.5rem;
}

.top-8 {
  top: 2rem;
}

.top-\[10\%\] {
  top: 10%;
}

.top-\[1px\] {
  top: 1px;
}

.top-\[20\%\] {
  top: 20%;
}

.top-\[30\%\] {
  top: 30%;
}

.top-\[40\%\] {
  top: 40%;
}

.top-\[50\%\] {
  top: 50%;
}

.top-\[60\%\] {
  top: 60%;
}

.top-full {
  top: 100%;
}

.isolate {
  isolation: isolate;
}

.\!z-\[100\] {
  z-index: 100 !important;
}

.-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-\[1000000\] {
  z-index: 1000000;
}

.z-\[100001\] {
  z-index: 100001;
}

.z-\[100002\] {
  z-index: 100002;
}

.z-\[10000\] {
  z-index: 10000;
}

.z-\[10001\] {
  z-index: 10001;
}

.z-\[10002\] {
  z-index: 10002;
}

.z-\[10003\] {
  z-index: 10003;
}

.z-\[1000\] {
  z-index: 1000;
}

.z-\[10010\] {
  z-index: 10010;
}

.z-\[1001\] {
  z-index: 1001;
}

.z-\[1002\] {
  z-index: 1002;
}

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

.z-\[101\] {
  z-index: 101;
}

.z-\[105\] {
  z-index: 105;
}

.z-\[110\] {
  z-index: 110;
}

.z-\[118\] {
  z-index: 118;
}

.z-\[12000\] {
  z-index: 12000;
}

.z-\[1200\] {
  z-index: 1200;
}

.z-\[12050\] {
  z-index: 12050;
}

.z-\[120\] {
  z-index: 120;
}

.z-\[1500\] {
  z-index: 1500;
}

.z-\[1590\] {
  z-index: 1590;
}

.z-\[1600\] {
  z-index: 1600;
}

.z-\[1650\] {
  z-index: 1650;
}

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

.z-\[2000\] {
  z-index: 2000;
}

.z-\[2001\] {
  z-index: 2001;
}

.z-\[200\] {
  z-index: 200;
}

.z-\[201\] {
  z-index: 201;
}

.z-\[20\] {
  z-index: 20;
}

.z-\[2500\] {
  z-index: 2500;
}

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

.z-\[3000\] {
  z-index: 3000;
}

.z-\[3002\] {
  z-index: 3002;
}

.z-\[4000\] {
  z-index: 4000;
}

.z-\[4\] {
  z-index: 4;
}

.z-\[5000\] {
  z-index: 5000;
}

.z-\[58\] {
  z-index: 58;
}

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

.z-\[6000\] {
  z-index: 6000;
}

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

.z-\[65\] {
  z-index: 65;
}

.z-\[70000\] {
  z-index: 70000;
}

.z-\[70001\] {
  z-index: 70001;
}

.z-\[700\] {
  z-index: 700;
}

.z-\[70\] {
  z-index: 70;
}

.z-\[71\] {
  z-index: 71;
}

.z-\[90\] {
  z-index: 90;
}

.z-\[91\] {
  z-index: 91;
}

.z-\[9997\] {
  z-index: 9997;
}

.z-\[9998\] {
  z-index: 9998;
}

.z-\[99998\] {
  z-index: 99998;
}

.z-\[999997\] {
  z-index: 999997;
}

.z-\[999998\] {
  z-index: 999998;
}

.z-\[999999\] {
  z-index: 999999;
}

.z-\[99999\] {
  z-index: 99999;
}

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

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

.z-\[9\] {
  z-index: 9;
}

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

.col-span-3 {
  grid-column: span 3 / span 3;
}

.-m-16 {
  margin: -4rem;
}

.m-0 {
  margin: 0px;
}

.m-4 {
  margin: 1rem;
}

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

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

.mx-0\.5 {
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

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

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

.mx-3 {
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.mx-3\.5 {
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}

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

.mx-6 {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

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

.my-0\.5 {
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.my-1 {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-3 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-6 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.-ml-1 {
  margin-left: -0.25rem;
}

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

.-mr-4 {
  margin-right: -1rem;
}

.-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-16 {
  margin-bottom: 4rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-20 {
  margin-bottom: 5rem;
}

.mb-3 {
  margin-bottom: 0.75rem;
}

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

.ml-1 {
  margin-left: 0.25rem;
}

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

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 0.75rem;
}

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

.ml-6 {
  margin-left: 1.5rem;
}

.ml-7 {
  margin-left: 1.75rem;
}

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

.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-14 {
  margin-top: 3.5rem;
}

.mt-16 {
  margin-top: 4rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-2\.5 {
  margin-top: 0.625rem;
}

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

.mt-24 {
  margin-top: 6rem;
}

.mt-3 {
  margin-top: 0.75rem;
}

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

.mt-40 {
  margin-top: 10rem;
}

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

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

.mt-7 {
  margin-top: 1.75rem;
}

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

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

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

.\!block {
  display: block !important;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.\!flex {
  display: flex !important;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.\!hidden {
  display: none !important;
}

.hidden {
  display: none;
}

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

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

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

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

.size-4 {
  width: 1rem;
  height: 1rem;
}

.h-0\.5 {
  height: 0.125rem;
}

.h-1 {
  height: 0.25rem;
}

.h-1\.5 {
  height: 0.375rem;
}

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

.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-3 {
  height: 0.75rem;
}

.h-3\.5 {
  height: 0.875rem;
}

.h-32 {
  height: 8rem;
}

.h-36 {
  height: 9rem;
}

.h-4 {
  height: 1rem;
}

.h-4\/5 {
  height: 80%;
}

.h-40 {
  height: 10rem;
}

.h-44 {
  height: 11rem;
}

.h-48 {
  height: 12rem;
}

.h-5 {
  height: 1.25rem;
}

.h-52 {
  height: 13rem;
}

.h-56 {
  height: 14rem;
}

.h-6 {
  height: 1.5rem;
}

.h-60 {
  height: 15rem;
}

.h-64 {
  height: 16rem;
}

.h-7 {
  height: 1.75rem;
}

.h-72 {
  height: 18rem;
}

.h-8 {
  height: 2rem;
}

.h-80 {
  height: 20rem;
}

.h-9 {
  height: 2.25rem;
}

.h-96 {
  height: 24rem;
}

.h-\[1\.15em\] {
  height: 1.15em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.h-\[40vh\] {
  height: 40vh;
}

.h-\[40vw\] {
  height: 40vw;
}

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

.h-\[50vh\] {
  height: 50vh;
}

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

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

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

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

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

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

.h-\[70vh\] {
  height: 70vh;
}

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

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

.h-\[75svh\] {
  height: 75svh;
}

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

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

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

.h-\[80vh\] {
  height: 80vh;
}

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

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

.h-\[92vh\] {
  height: 92vh;
}

.h-\[95vh\] {
  height: 95vh;
}

.h-\[calc\(100\%-220px\)\] {
  height: calc(100% - 220px);
}

.h-\[calc\(100\%-4rem\)\] {
  height: calc(100% - 4rem);
}

.h-\[calc\(100\%-73px\)\] {
  height: calc(100% - 73px);
}

.h-\[min\(92vw\2c 440px\)\] {
  height: min(92vw, 440px);
}

.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
  height: var(--radix-navigation-menu-viewport-height);
}

.h-\[var\(--radix-select-trigger-height\)\] {
  height: var(--radix-select-trigger-height);
}

.h-auto {
  height: auto;
}

.h-full {
  height: 100%;
}

.h-px {
  height: 1px;
}

.h-screen {
  height: 100vh;
}

.h-svh {
  height: 100svh;
}

.max-h-0 {
  max-height: 0px;
}

.max-h-24 {
  max-height: 6rem;
}

.max-h-32 {
  max-height: 8rem;
}

.max-h-36 {
  max-height: 9rem;
}

.max-h-40 {
  max-height: 10rem;
}

.max-h-52 {
  max-height: 13rem;
}

.max-h-60 {
  max-height: 15rem;
}

.max-h-64 {
  max-height: 16rem;
}

.max-h-80 {
  max-height: 20rem;
}

.max-h-96 {
  max-height: 24rem;
}

.max-h-\[100dvh\] {
  max-height: 100dvh;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.max-h-\[calc\(100vh-25rem\)\] {
  max-height: calc(100vh - 25rem);
}

.max-h-\[min\(52vh\2c 520px\)\] {
  max-height: min(52vh, 520px);
}

.max-h-full {
  max-height: 100%;
}

.max-h-screen {
  max-height: 100vh;
}

.min-h-0 {
  min-height: 0px;
}

.min-h-20 {
  min-height: 5rem;
}

.min-h-36 {
  min-height: 9rem;
}

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

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

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

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

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

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

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

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

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

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

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

.min-h-\[5\.5rem\] {
  min-height: 5.5rem;
}

.min-h-\[50vh\] {
  min-height: 50vh;
}

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

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

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

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

.min-h-\[70vh\] {
  min-height: 70vh;
}

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

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

.min-h-\[calc\(100vh-80px\)\] {
  min-height: calc(100vh - 80px);
}

.min-h-\[calc\(92vh-120px\)\] {
  min-height: calc(92vh - 120px);
}

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

.min-h-svh {
  min-height: 100svh;
}

.w-0 {
  width: 0px;
}

.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-2\/3 {
  width: 66.666667%;
}

.w-20 {
  width: 5rem;
}

.w-24 {
  width: 6rem;
}

.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-4\/5 {
  width: 80%;
}

.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-72 {
  width: 18rem;
}

.w-8 {
  width: 2rem;
}

.w-80 {
  width: 20rem;
}

.w-9 {
  width: 2.25rem;
}

.w-96 {
  width: 24rem;
}

.w-\[--sidebar-width\] {
  width: var(--sidebar-width);
}

.w-\[1\.15em\] {
  width: 1.15em;
}

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

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

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

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

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

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

.w-\[30\%\] {
  width: 30%;
}

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

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

.w-\[40vw\] {
  width: 40vw;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.w-\[95vw\] {
  width: 95vw;
}

.w-\[calc\(100vw-2rem\)\] {
  width: calc(100vw - 2rem);
}

.w-\[min\(92vw\2c 440px\)\] {
  width: min(92vw, 440px);
}

.w-auto {
  width: auto;
}

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

.w-full {
  width: 100%;
}

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

.w-px {
  width: 1px;
}

.w-screen {
  width: 100vw;
}

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

.min-w-20 {
  min-width: 5rem;
}

.min-w-5 {
  min-width: 1.25rem;
}

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

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

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

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

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

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

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

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

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

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

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

.min-w-\[3ch\] {
  min-width: 3ch;
}

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

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

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

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

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

.min-w-\[min\(92vw\2c 340px\)\] {
  min-width: min(92vw, 340px);
}

.min-w-\[var\(--radix-select-trigger-width\)\] {
  min-width: var(--radix-select-trigger-width);
}

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

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

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

.max-w-5xl {
  max-width: 64rem;
}

.max-w-6xl {
  max-width: 72rem;
}

.max-w-7xl {
  max-width: 80rem;
}

.max-w-\[--skeleton-width\] {
  max-width: var(--skeleton-width);
}

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

.max-w-\[100vw\] {
  max-width: 100vw;
}

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

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

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

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

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

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

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

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

.max-w-\[4\.25rem\] {
  max-width: 4.25rem;
}

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

.max-w-\[42vw\] {
  max-width: 42vw;
}

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

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

.max-w-\[5\.25rem\] {
  max-width: 5.25rem;
}

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

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

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

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

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

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

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

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

.max-w-\[75vw\] {
  max-width: 75vw;
}

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

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

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

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

.max-w-\[92\%\] {
  max-width: 92%;
}

.max-w-\[95vw\] {
  max-width: 95vw;
}

.max-w-\[calc\(100vw-2rem\)\] {
  max-width: calc(100vw - 2rem);
}

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

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

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

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

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

.max-w-screen-lg {
  max-width: 1024px;
}

.max-w-screen-xl {
  max-width: 1280px;
}

.max-w-sm {
  max-width: 24rem;
}

.max-w-xl {
  max-width: 36rem;
}

.max-w-xs {
  max-width: 20rem;
}

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

.flex-none {
  flex: none;
}

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

.shrink {
  flex-shrink: 1;
}

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

.flex-grow {
  flex-grow: 1;
}

.grow {
  flex-grow: 1;
}

.grow-0 {
  flex-grow: 0;
}

.basis-full {
  flex-basis: 100%;
}

.caption-bottom {
  caption-side: bottom;
}

.border-collapse {
  border-collapse: collapse;
}

.origin-center {
  transform-origin: center;
}

.origin-left {
  transform-origin: 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-px {
  --tw-translate-x: -1px;
  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-32 {
  --tw-translate-y: -8rem;
  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-36 {
  --tw-translate-y: -9rem;
  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));
}

.translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  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-1 {
  --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));
}

.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-5 {
  --tw-translate-x: 1.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));
}

.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-\[-200\%\] {
  --tw-translate-x: -200%;
  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-x-px {
  --tw-translate-x: 1px;
  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-\[-50\%\] {
  --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));
}

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

.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-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-90 {
  --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));
}

.scale-95 {
  --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));
}

.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 accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height);
  }
}

.animate-accordion-down {
  animation: accordion-down 0.2s ease-out;
}

@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 fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

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

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.animate-fadeIn {
  animation: fadeIn 0.3s ease-out forwards;
}

@keyframes glow {
  from {
    opacity: 0;
    text-shadow: none;
  }
  to {
    opacity: 1;
    text-shadow: 0 0 6px rgba(0, 255, 255, 0.6);
  }
}

.animate-glow {
  animation: glow 0.6s ease-in-out 2s forwards;
}

@keyframes neon-pulse {
  0%, 100% {
    text-shadow: 0 0 5px rgba(0, 229, 255, 0.7), 0 0 10px rgba(0, 229, 255, 0.5);
  }
  50% {
    text-shadow: 0 0 15px rgba(0, 229, 255, 0.8), 0 0 25px rgba(0, 229, 255, 0.6), 0 0 35px rgba(0, 229, 255, 0.4);
  }
}

.animate-neon-pulse {
  animation: neon-pulse 2s infinite ease-in-out;
}

@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: 0.8;
  }
  0%, 100% {
    opacity: 0.3;
  }
}

.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
  50% {
    opacity: 0.8;
  }
  0%, 100% {
    opacity: 0.3;
  }
}

.animate-pulse-animation {
  animation: pulse 3s infinite ease-in-out;
}

@keyframes ripple {
  0% {
    transform: scale(0);
    opacity: 0.5;
  }
  100% {
    transform: scale(4);
    opacity: 0;
  }
}

.animate-ripple {
  animation: ripple 0.6s ease-in-out;
}

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

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

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

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

.cursor-crosshair {
  cursor: crosshair;
}

.cursor-default {
  cursor: default;
}

.cursor-grab {
  cursor: grab;
}

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

.cursor-pointer {
  cursor: pointer;
}

.cursor-wait {
  cursor: wait;
}

.touch-none {
  touch-action: none;
}

.touch-manipulation {
  touch-action: manipulation;
}

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

.resize-none {
  resize: none;
}

.resize {
  resize: both;
}

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

.list-inside {
  list-style-position: inside;
}

.list-decimal {
  list-style-type: decimal;
}

.list-disc {
  list-style-type: disc;
}

.list-none {
  list-style-type: none;
}

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

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

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

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

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

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

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

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

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

.flex-row-reverse {
  flex-direction: row-reverse;
}

.flex-col {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-wrap {
  flex-wrap: wrap;
}

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

.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\.5 {
  gap: 0.125rem;
}

.gap-1 {
  gap: 0.25rem;
}

.gap-1\.5 {
  gap: 0.375rem;
}

.gap-10 {
  gap: 2.5rem;
}

.gap-12 {
  gap: 3rem;
}

.gap-2 {
  gap: 0.5rem;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-5 {
  gap: 1.25rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-7 {
  gap: 1.75rem;
}

.gap-8 {
  gap: 2rem;
}

.gap-\[2px\] {
  gap: 2px;
}

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

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

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

.gap-y-0\.5 {
  row-gap: 0.125rem;
}

.gap-y-1 {
  row-gap: 0.25rem;
}

.space-x-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * 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-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

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

.space-y-0 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-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-10 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * 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-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-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.self-start {
  align-self: flex-start;
}

.self-end {
  align-self: flex-end;
}

.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-x-hidden {
  overflow-x: hidden;
}

.overscroll-contain {
  overscroll-behavior: contain;
}

.overscroll-y-none {
  overscroll-behavior-y: none;
}

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

.whitespace-nowrap {
  white-space: nowrap;
}

.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-\[11px\] {
  border-radius: 11px;
}

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

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

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

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

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

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

.rounded-\[inherit\] {
  border-radius: inherit;
}

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

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

.rounded-m1 {
  border-radius: 22px;
}

.rounded-m1-lg {
  border-radius: 24px;
}

.rounded-m1-sm {
  border-radius: 18px;
}

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

.rounded-none {
  border-radius: 0px;
}

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

.rounded-xl {
  border-radius: 0.75rem;
}

.rounded-b-2xl {
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}

.rounded-b-\[24px\] {
  border-bottom-right-radius: 24px;
  border-bottom-left-radius: 24px;
}

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

.rounded-b-none {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

.rounded-r {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.rounded-t-2xl {
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

.rounded-t-3xl {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}

.rounded-t-\[10px\] {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.rounded-t-\[20px\] {
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.rounded-t-\[32px\] {
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
}

.rounded-t-full {
  border-top-left-radius: 9999px;
  border-top-right-radius: 9999px;
}

.rounded-t-xl {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.rounded-br-3xl {
  border-bottom-right-radius: 1.5rem;
}

.rounded-tl-3xl {
  border-top-left-radius: 1.5rem;
}

.rounded-tl-sm {
  border-top-left-radius: calc(var(--radius) - 4px);
}

.border {
  border-width: 1px;
}

.border-0 {
  border-width: 0px;
}

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

.border-4 {
  border-width: 4px;
}

.border-\[1\.5px\] {
  border-width: 1.5px;
}

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

.border-\[2\.5px\] {
  border-width: 2.5px;
}

.border-x {
  border-left-width: 1px;
  border-right-width: 1px;
}

.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}

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

.border-b-0 {
  border-bottom-width: 0px;
}

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

.border-l {
  border-left-width: 1px;
}

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

.border-l-4 {
  border-left-width: 4px;
}

.border-r {
  border-right-width: 1px;
}

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

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

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

.border-solid {
  border-style: solid;
}

.border-dashed {
  border-style: dashed;
}

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

.border-\[\#0088AA\]\/50 {
  border-color: rgb(0 136 170 / 0.5);
}

.border-\[\#00BFFF\]\/40 {
  border-color: rgb(0 191 255 / 0.4);
}

.border-\[\#00D1FF\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.border-\[\#00D1FF\]\/20 {
  border-color: rgb(0 209 255 / 0.2);
}

.border-\[\#00D1FF\]\/30 {
  border-color: rgb(0 209 255 / 0.3);
}

.border-\[\#00D1FF\]\/40 {
  border-color: rgb(0 209 255 / 0.4);
}

.border-\[\#00D1FF\]\/50 {
  border-color: rgb(0 209 255 / 0.5);
}

.border-\[\#00D1FF\]\/70 {
  border-color: rgb(0 209 255 / 0.7);
}

.border-\[\#00E5FF\]\/30 {
  border-color: rgb(0 229 255 / 0.3);
}

.border-\[\#00FF88\]\/40 {
  border-color: rgb(0 255 136 / 0.4);
}

.border-\[\#00a3ff77\] {
  border-color: #00a3ff77;
}

.border-\[\#00a3ff\] {
  --tw-border-opacity: 1;
  border-color: rgb(0 163 255 / var(--tw-border-opacity, 1));
}

.border-\[\#00a3ff\]\/60 {
  border-color: rgb(0 163 255 / 0.6);
}

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

.border-\[\#4361ee\] {
  --tw-border-opacity: 1;
  border-color: rgb(67 97 238 / var(--tw-border-opacity, 1));
}

.border-\[\#4361ee\]\/30 {
  border-color: rgb(67 97 238 / 0.3);
}

.border-\[\#4361ee\]\/50 {
  border-color: rgb(67 97 238 / 0.5);
}

.border-\[\#7209b7\]\/30 {
  border-color: rgb(114 9 183 / 0.3);
}

.border-\[\#7209b7\]\/50 {
  border-color: rgb(114 9 183 / 0.5);
}

.border-\[\#7209b7\]\/70 {
  border-color: rgb(114 9 183 / 0.7);
}

.border-\[\#9b87f5\]\/60 {
  border-color: rgb(155 135 245 / 0.6);
}

.border-\[\#F059FF\] {
  --tw-border-opacity: 1;
  border-color: rgb(240 89 255 / var(--tw-border-opacity, 1));
}

.border-\[\#F059FF\]\/20 {
  border-color: rgb(240 89 255 / 0.2);
}

.border-\[\#F213A4\] {
  --tw-border-opacity: 1;
  border-color: rgb(242 19 164 / var(--tw-border-opacity, 1));
}

.border-\[\#F213A4\]\/30 {
  border-color: rgb(242 19 164 / 0.3);
}

.border-\[\#FC1EFF\] {
  --tw-border-opacity: 1;
  border-color: rgb(252 30 255 / var(--tw-border-opacity, 1));
}

.border-\[\#FFD700\]\/60 {
  border-color: rgb(255 215 0 / 0.6);
}

.border-\[\#eceff1\]\/25 {
  border-color: rgb(236 239 241 / 0.25);
}

.border-\[\#eceff1\]\/35 {
  border-color: rgb(236 239 241 / 0.35);
}

.border-\[--color-border\] {
  border-color: var(--color-border);
}

.border-\[hsl\(var\(--border\)\)\] {
  border-color: hsl(var(--border));
}

.border-\[rgba\(0\2c 209\2c 255\2c 0\.3\)\] {
  border-color: rgba(0,209,255,0.3);
}

.border-\[rgba\(255\2c 255\2c 255\2c 0\.3\)\] {
  border-color: rgba(255,255,255,0.3);
}

.border-accent\/20 {
  border-color: hsl(var(--accent) / 0.2);
}

.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\/35 {
  border-color: rgb(251 191 36 / 0.35);
}

.border-amber-400\/50 {
  border-color: rgb(251 191 36 / 0.5);
}

.border-amber-500 {
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-amber-500\/30 {
  border-color: rgb(245 158 11 / 0.3);
}

.border-amber-500\/35 {
  border-color: rgb(245 158 11 / 0.35);
}

.border-amber-500\/50 {
  border-color: rgb(245 158 11 / 0.5);
}

.border-amber-700\/50 {
  border-color: rgb(180 83 9 / 0.5);
}

.border-background {
  border-color: hsl(var(--background));
}

.border-black {
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

.border-black\/20 {
  border-color: rgb(0 0 0 / 0.2);
}

.border-black\/30 {
  border-color: rgb(0 0 0 / 0.3);
}

.border-blue-200 {
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.border-blue-400 {
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.border-blue-400\/30 {
  border-color: rgb(96 165 250 / 0.3);
}

.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\/20 {
  border-color: rgb(59 130 246 / 0.2);
}

.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-blue-700 {
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}

.border-blue-700\/50 {
  border-color: rgb(29 78 216 / 0.5);
}

.border-blue-800\/30 {
  border-color: rgb(30 64 175 / 0.3);
}

.border-border {
  border-color: hsl(var(--border));
}

.border-border\/30 {
  border-color: hsl(var(--border) / 0.3);
}

.border-border\/40 {
  border-color: hsl(var(--border) / 0.4);
}

.border-border\/50 {
  border-color: hsl(var(--border) / 0.5);
}

.border-current {
  border-color: currentColor;
}

.border-cyan-300\/50 {
  border-color: rgb(103 232 249 / 0.5);
}

.border-cyan-400 {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.border-cyan-400\/10 {
  border-color: rgb(34 211 238 / 0.1);
}

.border-cyan-400\/20 {
  border-color: rgb(34 211 238 / 0.2);
}

.border-cyan-400\/25 {
  border-color: rgb(34 211 238 / 0.25);
}

.border-cyan-400\/30 {
  border-color: rgb(34 211 238 / 0.3);
}

.border-cyan-400\/35 {
  border-color: rgb(34 211 238 / 0.35);
}

.border-cyan-400\/40 {
  border-color: rgb(34 211 238 / 0.4);
}

.border-cyan-400\/45 {
  border-color: rgb(34 211 238 / 0.45);
}

.border-cyan-400\/50 {
  border-color: rgb(34 211 238 / 0.5);
}

.border-cyan-400\/70 {
  border-color: rgb(34 211 238 / 0.7);
}

.border-cyan-400\/80 {
  border-color: rgb(34 211 238 / 0.8);
}

.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\/20 {
  border-color: rgb(6 182 212 / 0.2);
}

.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-cyan-500\/60 {
  border-color: rgb(6 182 212 / 0.6);
}

.border-cyan-800 {
  --tw-border-opacity: 1;
  border-color: rgb(21 94 117 / var(--tw-border-opacity, 1));
}

.border-cyan-800\/30 {
  border-color: rgb(21 94 117 / 0.3);
}

.border-cyan-900\/30 {
  border-color: rgb(22 78 99 / 0.3);
}

.border-cyan-900\/40 {
  border-color: rgb(22 78 99 / 0.4);
}

.border-destructive {
  border-color: hsl(var(--destructive));
}

.border-destructive\/20 {
  border-color: hsl(var(--destructive) / 0.2);
}

.border-destructive\/50 {
  border-color: hsl(var(--destructive) / 0.5);
}

.border-emerald-400\/35 {
  border-color: rgb(52 211 153 / 0.35);
}

.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\/20 {
  border-color: rgb(16 185 129 / 0.2);
}

.border-emerald-500\/30 {
  border-color: rgb(16 185 129 / 0.3);
}

.border-emerald-500\/50 {
  border-color: rgb(16 185 129 / 0.5);
}

.border-fuchsia-400\/45 {
  border-color: rgb(232 121 249 / 0.45);
}

.border-fuchsia-400\/50 {
  border-color: rgb(232 121 249 / 0.5);
}

.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-400 {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.border-gray-400\/50 {
  border-color: rgb(156 163 175 / 0.5);
}

.border-gray-500 {
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.border-gray-500\/30 {
  border-color: rgb(107 114 128 / 0.3);
}

.border-gray-500\/40 {
  border-color: rgb(107 114 128 / 0.4);
}

.border-gray-500\/50 {
  border-color: rgb(107 114 128 / 0.5);
}

.border-gray-600 {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.border-gray-600\/30 {
  border-color: rgb(75 85 99 / 0.3);
}

.border-gray-600\/50 {
  border-color: rgb(75 85 99 / 0.5);
}

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

.border-gray-700\/30 {
  border-color: rgb(55 65 81 / 0.3);
}

.border-gray-700\/40 {
  border-color: rgb(55 65 81 / 0.4);
}

.border-gray-700\/50 {
  border-color: rgb(55 65 81 / 0.5);
}

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

.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}

.border-green-300 {
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}

.border-green-400 {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.border-green-400\/30 {
  border-color: rgb(74 222 128 / 0.3);
}

.border-green-400\/50 {
  border-color: rgb(74 222 128 / 0.5);
}

.border-green-400\/70 {
  border-color: rgb(74 222 128 / 0.7);
}

.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-green-700 {
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-green-800 {
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.border-green-800\/50 {
  border-color: rgb(22 101 52 / 0.5);
}

.border-input {
  border-color: hsl(var(--input));
}

.border-m1ssion-blue {
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.border-m1ssion-blue\/10 {
  border-color: rgb(0 209 255 / 0.1);
}

.border-m1ssion-blue\/20 {
  border-color: rgb(0 209 255 / 0.2);
}

.border-m1ssion-deep-blue {
  --tw-border-opacity: 1;
  border-color: rgb(19 21 36 / var(--tw-border-opacity, 1));
}

.border-m1ssion-deep-blue\/30 {
  border-color: rgb(19 21 36 / 0.3);
}

.border-m1ssion-deep-blue\/40 {
  border-color: rgb(19 21 36 / 0.4);
}

.border-m1ssion-deep-blue\/50 {
  border-color: rgb(19 21 36 / 0.5);
}

.border-muted {
  border-color: hsl(var(--muted));
}

.border-muted-foreground {
  border-color: hsl(var(--muted-foreground));
}

.border-muted-foreground\/30 {
  border-color: hsl(var(--muted-foreground) / 0.3);
}

.border-muted\/30 {
  border-color: hsl(var(--muted) / 0.3);
}

.border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}

.border-orange-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}

.border-orange-300 {
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}

.border-orange-400 {
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}

.border-orange-400\/30 {
  border-color: rgb(251 146 60 / 0.3);
}

.border-orange-500 {
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}

.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-orange-700\/30 {
  border-color: rgb(194 65 12 / 0.3);
}

.border-pink-500\/20 {
  border-color: rgb(236 72 153 / 0.2);
}

.border-pink-500\/50 {
  border-color: rgb(236 72 153 / 0.5);
}

.border-pink-500\/60 {
  border-color: rgb(236 72 153 / 0.6);
}

.border-primary {
  border-color: hsl(var(--primary));
}

.border-primary\/20 {
  border-color: hsl(var(--primary) / 0.2);
}

.border-primary\/30 {
  border-color: hsl(var(--primary) / 0.3);
}

.border-primary\/50 {
  border-color: hsl(var(--primary) / 0.5);
}

.border-purple-400 {
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}

.border-purple-400\/20 {
  border-color: rgb(192 132 252 / 0.2);
}

.border-purple-400\/30 {
  border-color: rgb(192 132 252 / 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-400\/80 {
  border-color: rgb(192 132 252 / 0.8);
}

.border-purple-500 {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.border-purple-500\/20 {
  border-color: rgb(168 85 247 / 0.2);
}

.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-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}

.border-red-300 {
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.border-red-300\/50 {
  border-color: rgb(252 165 165 / 0.5);
}

.border-red-400 {
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.border-red-400\/20 {
  border-color: rgb(248 113 113 / 0.2);
}

.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\/45 {
  border-color: rgb(248 113 113 / 0.45);
}

.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\/20 {
  border-color: rgb(239 68 68 / 0.2);
}

.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-700 {
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.border-red-800 {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.border-slate-700 {
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}

.border-slate-700\/40 {
  border-color: rgb(51 65 85 / 0.4);
}

.border-slate-700\/50 {
  border-color: rgb(51 65 85 / 0.5);
}

.border-slate-800\/50 {
  border-color: rgb(30 41 59 / 0.5);
}

.border-transparent {
  border-color: transparent;
}

.border-violet-400\/35 {
  border-color: rgb(167 139 250 / 0.35);
}

.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\/70 {
  border-color: rgb(255 255 255 / 0.7);
}

.border-white\/80 {
  border-color: rgb(255 255 255 / 0.8);
}

.border-yellow-200 {
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}

.border-yellow-400 {
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}

.border-yellow-400\/50 {
  border-color: rgb(250 204 21 / 0.5);
}

.border-yellow-400\/60 {
  border-color: rgb(250 204 21 / 0.6);
}

.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\/30 {
  border-color: rgb(234 179 8 / 0.3);
}

.border-yellow-500\/40 {
  border-color: rgb(234 179 8 / 0.4);
}

.border-yellow-500\/50 {
  border-color: rgb(234 179 8 / 0.5);
}

.border-yellow-500\/60 {
  border-color: rgb(234 179 8 / 0.6);
}

.border-yellow-600\/30 {
  border-color: rgb(202 138 4 / 0.3);
}

.border-zinc-700 {
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}

.border-b-transparent {
  border-bottom-color: transparent;
}

.border-l-primary {
  border-left-color: hsl(var(--primary));
}

.border-l-transparent {
  border-left-color: transparent;
}

.border-r-transparent {
  border-right-color: transparent;
}

.border-t-\[\#00D1FF\] {
  --tw-border-opacity: 1;
  border-top-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.border-t-\[\#eceff1\] {
  --tw-border-opacity: 1;
  border-top-color: rgb(236 239 241 / var(--tw-border-opacity, 1));
}

.border-t-\[rgba\(0\2c 209\2c 255\2c 1\)\] {
  border-top-color: rgba(0,209,255,1);
}

.border-t-black {
  --tw-border-opacity: 1;
  border-top-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

.border-t-cyan-400 {
  --tw-border-opacity: 1;
  border-top-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.border-t-cyan-500 {
  --tw-border-opacity: 1;
  border-top-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}

.border-t-foreground {
  border-top-color: hsl(var(--foreground));
}

.border-t-gray-900 {
  --tw-border-opacity: 1;
  border-top-color: rgb(17 24 39 / var(--tw-border-opacity, 1));
}

.border-t-purple-500 {
  --tw-border-opacity: 1;
  border-top-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.border-t-transparent {
  border-top-color: transparent;
}

.border-t-white {
  --tw-border-opacity: 1;
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-t-white\/80 {
  border-top-color: rgb(255 255 255 / 0.8);
}

.border-opacity-30 {
  --tw-border-opacity: 0.3;
}

.bg-\[\#0088AA\]\/20 {
  background-color: rgb(0 136 170 / 0.2);
}

.bg-\[\#00D1FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#00D1FF\]\/10 {
  background-color: rgb(0 209 255 / 0.1);
}

.bg-\[\#00D1FF\]\/20 {
  background-color: rgb(0 209 255 / 0.2);
}

.bg-\[\#00D1FF\]\/5 {
  background-color: rgb(0 209 255 / 0.05);
}

.bg-\[\#00D1FF\]\/50 {
  background-color: rgb(0 209 255 / 0.5);
}

.bg-\[\#00E5FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 229 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#00E5FF\]\/10 {
  background-color: rgb(0 229 255 / 0.1);
}

.bg-\[\#00E5FF\]\/20 {
  background-color: rgb(0 229 255 / 0.2);
}

.bg-\[\#00E5FF\]\/30 {
  background-color: rgb(0 229 255 / 0.3);
}

.bg-\[\#00FF88\]\/10 {
  background-color: rgb(0 255 136 / 0.1);
}

.bg-\[\#00f0ff\]\/80 {
  background-color: rgb(0 240 255 / 0.8);
}

.bg-\[\#030308\] {
  --tw-bg-opacity: 1;
  background-color: rgb(3 3 8 / var(--tw-bg-opacity, 1));
}

.bg-\[\#030308\]\/90 {
  background-color: rgb(3 3 8 / 0.9);
}

.bg-\[\#03070D\] {
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 13 / var(--tw-bg-opacity, 1));
}

.bg-\[\#070818\] {
  --tw-bg-opacity: 1;
  background-color: rgb(7 8 24 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0A0B14\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 11 20 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0EA5E9\] {
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0a0a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0a0a\]\/50 {
  background-color: rgb(10 10 10 / 0.5);
}

.bg-\[\#0a0a0f\]\/85 {
  background-color: rgb(10 10 15 / 0.85);
}

.bg-\[\#0a0a0f\]\/95 {
  background-color: rgb(10 10 15 / 0.95);
}

.bg-\[\#0a0a12\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 18 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0c14\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 12 20 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0e17\]\/80 {
  background-color: rgb(10 14 23 / 0.8);
}

.bg-\[\#0b0b0b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 11 11 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0b1021\] {
  --tw-bg-opacity: 1;
  background-color: rgb(11 16 33 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0c1426\] {
  --tw-bg-opacity: 1;
  background-color: rgb(12 20 38 / var(--tw-bg-opacity, 1));
}

.bg-\[\#121212\] {
  --tw-bg-opacity: 1;
  background-color: rgb(18 18 18 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1877F3\] {
  --tw-bg-opacity: 1;
  background-color: rgb(24 119 243 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1C1C1F\] {
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 31 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1C1C1F\]\/80 {
  background-color: rgb(28 28 31 / 0.8);
}

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

.bg-\[\#1a1a1a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1b1b1b\] {
  --tw-bg-opacity: 1;
  background-color: rgb(27 27 27 / var(--tw-bg-opacity, 1));
}

.bg-\[\#25D366\] {
  --tw-bg-opacity: 1;
  background-color: rgb(37 211 102 / var(--tw-bg-opacity, 1));
}

.bg-\[\#3e3e3e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(62 62 62 / var(--tw-bg-opacity, 1));
}

.bg-\[\#4361ee\]\/10 {
  background-color: rgb(67 97 238 / 0.1);
}

.bg-\[\#4361ee\]\/20 {
  background-color: rgb(67 97 238 / 0.2);
}

.bg-\[\#7B2EFF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(123 46 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#7B2EFF\]\/10 {
  background-color: rgb(123 46 255 / 0.1);
}

.bg-\[\#F059FF\] {
  --tw-bg-opacity: 1;
  background-color: rgb(240 89 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#F059FF\]\/10 {
  background-color: rgb(240 89 255 / 0.1);
}

.bg-\[\#F213A4\] {
  --tw-bg-opacity: 1;
  background-color: rgb(242 19 164 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FF00FF\]\/10 {
  background-color: rgb(255 0 255 / 0.1);
}

.bg-\[\#FF59F8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 89 248 / var(--tw-bg-opacity, 1));
}

.bg-\[--color-bg\] {
  background-color: var(--color-bg);
}

.bg-\[hsl\(var\(--accent\)\)\]\/20 {
  background-color: hsl(var(--accent) / 0.2);
}

.bg-\[hsl\(var\(--background\)\)\] {
  background-color: hsl(var(--background));
}

.bg-\[hsl\(var\(--card\)\)\] {
  background-color: hsl(var(--card));
}

.bg-\[hsl\(var\(--muted\)\)\] {
  background-color: hsl(var(--muted));
}

.bg-\[hsl\(var\(--muted\)\)\]\/50 {
  background-color: hsl(var(--muted) / 0.5);
}

.bg-\[rgba\(12\2c 16\2c 24\2c 0\.6\)\] {
  background-color: rgba(12,16,24,0.6);
}

.bg-accent {
  background-color: hsl(var(--accent));
}

.bg-accent\/5 {
  background-color: hsl(var(--accent) / 0.05);
}

.bg-amber-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.bg-amber-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-amber-50\/10 {
  background-color: rgb(255 251 235 / 0.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\/20 {
  background-color: rgb(245 158 11 / 0.2);
}

.bg-amber-500\/30 {
  background-color: rgb(245 158 11 / 0.3);
}

.bg-amber-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.bg-amber-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.bg-amber-900\/30 {
  background-color: rgb(120 53 15 / 0.3);
}

.bg-amber-900\/50 {
  background-color: rgb(120 53 15 / 0.5);
}

.bg-amber-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}

.bg-amber-950\/30 {
  background-color: rgb(69 26 3 / 0.3);
}

.bg-amber-950\/75 {
  background-color: rgb(69 26 3 / 0.75);
}

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

.bg-background\/20 {
  background-color: hsl(var(--background) / 0.2);
}

.bg-background\/50 {
  background-color: hsl(var(--background) / 0.5);
}

.bg-background\/80 {
  background-color: hsl(var(--background) / 0.8);
}

.bg-background\/90 {
  background-color: hsl(var(--background) / 0.9);
}

.bg-background\/95 {
  background-color: hsl(var(--background) / 0.95);
}

.bg-black {
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.bg-black\/10 {
  background-color: rgb(0 0 0 / 0.1);
}

.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}

.bg-black\/25 {
  background-color: rgb(0 0 0 / 0.25);
}

.bg-black\/30 {
  background-color: rgb(0 0 0 / 0.3);
}

.bg-black\/35 {
  background-color: rgb(0 0 0 / 0.35);
}

.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}

.bg-black\/45 {
  background-color: rgb(0 0 0 / 0.45);
}

.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\/75 {
  background-color: rgb(0 0 0 / 0.75);
}

.bg-black\/80 {
  background-color: rgb(0 0 0 / 0.8);
}

.bg-black\/85 {
  background-color: rgb(0 0 0 / 0.85);
}

.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-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.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\/20 {
  background-color: rgb(59 130 246 / 0.2);
}

.bg-blue-500\/5 {
  background-color: rgb(59 130 246 / 0.05);
}

.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.bg-blue-600\/20 {
  background-color: rgb(37 99 235 / 0.2);
}

.bg-blue-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.bg-blue-900\/20 {
  background-color: rgb(30 58 138 / 0.2);
}

.bg-blue-900\/80 {
  background-color: rgb(30 58 138 / 0.8);
}

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

.bg-card {
  background-color: hsl(var(--card));
}

.bg-card\/30 {
  background-color: hsl(var(--card) / 0.3);
}

.bg-card\/40 {
  background-color: hsl(var(--card) / 0.4);
}

.bg-card\/50 {
  background-color: hsl(var(--card) / 0.5);
}

.bg-card\/60 {
  background-color: hsl(var(--card) / 0.6);
}

.bg-card\/80 {
  background-color: hsl(var(--card) / 0.8);
}

.bg-current {
  background-color: currentColor;
}

.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\/20 {
  background-color: rgb(34 211 238 / 0.2);
}

.bg-cyan-400\/5 {
  background-color: rgb(34 211 238 / 0.05);
}

.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\/25 {
  background-color: rgb(6 182 212 / 0.25);
}

.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\/20 {
  background-color: rgb(8 145 178 / 0.2);
}

.bg-cyan-600\/30 {
  background-color: rgb(8 145 178 / 0.3);
}

.bg-cyan-600\/50 {
  background-color: rgb(8 145 178 / 0.5);
}

.bg-cyan-600\/60 {
  background-color: rgb(8 145 178 / 0.6);
}

.bg-cyan-600\/70 {
  background-color: rgb(8 145 178 / 0.7);
}

.bg-cyan-700\/50 {
  background-color: rgb(14 116 144 / 0.5);
}

.bg-cyan-700\/90 {
  background-color: rgb(14 116 144 / 0.9);
}

.bg-cyan-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
}

.bg-cyan-800\/30 {
  background-color: rgb(21 94 117 / 0.3);
}

.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-cyan-900\/40 {
  background-color: rgb(22 78 99 / 0.4);
}

.bg-cyan-950\/30 {
  background-color: rgb(8 51 68 / 0.3);
}

.bg-cyan-950\/80 {
  background-color: rgb(8 51 68 / 0.8);
}

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

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

.bg-destructive\/10 {
  background-color: hsl(var(--destructive) / 0.1);
}

.bg-destructive\/5 {
  background-color: hsl(var(--destructive) / 0.05);
}

.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\/20 {
  background-color: rgb(16 185 129 / 0.2);
}

.bg-emerald-500\/25 {
  background-color: rgb(16 185 129 / 0.25);
}

.bg-emerald-950\/80 {
  background-color: rgb(2 44 34 / 0.8);
}

.bg-emerald-950\/85 {
  background-color: rgb(2 44 34 / 0.85);
}

.bg-emerald-950\/90 {
  background-color: rgb(2 44 34 / 0.9);
}

.bg-foreground {
  background-color: hsl(var(--foreground));
}

.bg-fuchsia-950\/85 {
  background-color: rgb(74 4 78 / 0.85);
}

.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-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-500\/10 {
  background-color: rgb(107 114 128 / 0.1);
}

.bg-gray-500\/20 {
  background-color: rgb(107 114 128 / 0.2);
}

.bg-gray-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.bg-gray-600\/20 {
  background-color: rgb(75 85 99 / 0.2);
}

.bg-gray-600\/80 {
  background-color: rgb(75 85 99 / 0.8);
}

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

.bg-gray-700\/20 {
  background-color: rgb(55 65 81 / 0.2);
}

.bg-gray-700\/30 {
  background-color: rgb(55 65 81 / 0.3);
}

.bg-gray-700\/50 {
  background-color: rgb(55 65 81 / 0.5);
}

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

.bg-gray-800\/30 {
  background-color: rgb(31 41 55 / 0.3);
}

.bg-gray-800\/40 {
  background-color: rgb(31 41 55 / 0.4);
}

.bg-gray-800\/50 {
  background-color: rgb(31 41 55 / 0.5);
}

.bg-gray-800\/60 {
  background-color: rgb(31 41 55 / 0.6);
}

.bg-gray-800\/70 {
  background-color: rgb(31 41 55 / 0.7);
}

.bg-gray-800\/90 {
  background-color: rgb(31 41 55 / 0.9);
}

.bg-gray-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-gray-900\/20 {
  background-color: rgb(17 24 39 / 0.2);
}

.bg-gray-900\/30 {
  background-color: rgb(17 24 39 / 0.3);
}

.bg-gray-900\/40 {
  background-color: rgb(17 24 39 / 0.4);
}

.bg-gray-900\/50 {
  background-color: rgb(17 24 39 / 0.5);
}

.bg-gray-900\/60 {
  background-color: rgb(17 24 39 / 0.6);
}

.bg-gray-900\/90 {
  background-color: rgb(17 24 39 / 0.9);
}

.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-green-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.bg-green-400\/20 {
  background-color: rgb(74 222 128 / 0.2);
}

.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 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\/20 {
  background-color: rgb(34 197 94 / 0.2);
}

.bg-green-500\/80 {
  background-color: rgb(34 197 94 / 0.8);
}

.bg-green-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-green-600\/20 {
  background-color: rgb(22 163 74 / 0.2);
}

.bg-green-600\/30 {
  background-color: rgb(22 163 74 / 0.3);
}

.bg-green-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-green-900\/20 {
  background-color: rgb(20 83 45 / 0.2);
}

.bg-green-900\/30 {
  background-color: rgb(20 83 45 / 0.3);
}

.bg-green-900\/50 {
  background-color: rgb(20 83 45 / 0.5);
}

.bg-green-900\/80 {
  background-color: rgb(20 83 45 / 0.8);
}

.bg-green-950 {
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.bg-green-950\/20 {
  background-color: rgb(5 46 22 / 0.2);
}

.bg-green-950\/30 {
  background-color: rgb(5 46 22 / 0.3);
}

.bg-green-950\/50 {
  background-color: rgb(5 46 22 / 0.5);
}

.bg-input {
  background-color: hsl(var(--input));
}

.bg-m1ssion-blue {
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.bg-m1ssion-blue\/5 {
  background-color: rgb(0 209 255 / 0.05);
}

.bg-m1ssion-deep-blue {
  --tw-bg-opacity: 1;
  background-color: rgb(19 21 36 / var(--tw-bg-opacity, 1));
}

.bg-m1ssion-deep-blue\/30 {
  background-color: rgb(19 21 36 / 0.3);
}

.bg-m1ssion-deep-blue\/50 {
  background-color: rgb(19 21 36 / 0.5);
}

.bg-m1ssion-pink {
  --tw-bg-opacity: 1;
  background-color: rgb(240 89 255 / var(--tw-bg-opacity, 1));
}

.bg-muted {
  background-color: hsl(var(--muted));
}

.bg-muted-foreground {
  background-color: hsl(var(--muted-foreground));
}

.bg-muted\/20 {
  background-color: hsl(var(--muted) / 0.2);
}

.bg-muted\/30 {
  background-color: hsl(var(--muted) / 0.3);
}

.bg-muted\/40 {
  background-color: hsl(var(--muted) / 0.4);
}

.bg-muted\/50 {
  background-color: hsl(var(--muted) / 0.5);
}

.bg-muted\/60 {
  background-color: hsl(var(--muted) / 0.6);
}

.bg-neutral-500\/70 {
  background-color: rgb(115 115 115 / 0.7);
}

.bg-neutral-950\/95 {
  background-color: rgb(10 10 10 / 0.95);
}

.bg-orange-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / 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-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.bg-orange-50\/50 {
  background-color: rgb(255 247 237 / 0.5);
}

.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-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.bg-orange-800\/30 {
  background-color: rgb(154 52 18 / 0.3);
}

.bg-orange-900\/20 {
  background-color: rgb(124 45 18 / 0.2);
}

.bg-orange-950\/30 {
  background-color: rgb(67 20 7 / 0.3);
}

.bg-pink-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}

.bg-pink-500\/10 {
  background-color: rgb(236 72 153 / 0.1);
}

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

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

.bg-primary\/10 {
  background-color: hsl(var(--primary) / 0.1);
}

.bg-primary\/20 {
  background-color: hsl(var(--primary) / 0.2);
}

.bg-primary\/30 {
  background-color: hsl(var(--primary) / 0.3);
}

.bg-primary\/5 {
  background-color: hsl(var(--primary) / 0.05);
}

.bg-purple-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / 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\/20 {
  background-color: rgb(168 85 247 / 0.2);
}

.bg-purple-500\/30 {
  background-color: rgb(168 85 247 / 0.3);
}

.bg-purple-500\/5 {
  background-color: rgb(168 85 247 / 0.05);
}

.bg-purple-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.bg-purple-600\/20 {
  background-color: rgb(147 51 234 / 0.2);
}

.bg-purple-600\/30 {
  background-color: rgb(147 51 234 / 0.3);
}

.bg-purple-600\/70 {
  background-color: rgb(147 51 234 / 0.7);
}

.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-red-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.bg-red-400 {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.bg-red-50\/10 {
  background-color: rgb(254 242 242 / 0.1);
}

.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\/20 {
  background-color: rgb(239 68 68 / 0.2);
}

.bg-red-500\/25 {
  background-color: rgb(239 68 68 / 0.25);
}

.bg-red-500\/30 {
  background-color: rgb(239 68 68 / 0.3);
}

.bg-red-500\/80 {
  background-color: rgb(239 68 68 / 0.8);
}

.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-800\/30 {
  background-color: rgb(153 27 27 / 0.3);
}

.bg-red-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.bg-red-900\/20 {
  background-color: rgb(127 29 29 / 0.2);
}

.bg-red-900\/30 {
  background-color: rgb(127 29 29 / 0.3);
}

.bg-red-900\/50 {
  background-color: rgb(127 29 29 / 0.5);
}

.bg-red-900\/80 {
  background-color: rgb(127 29 29 / 0.8);
}

.bg-red-950\/20 {
  background-color: rgb(69 10 10 / 0.2);
}

.bg-red-950\/30 {
  background-color: rgb(69 10 10 / 0.3);
}

.bg-red-950\/50 {
  background-color: rgb(69 10 10 / 0.5);
}

.bg-red-950\/85 {
  background-color: rgb(69 10 10 / 0.85);
}

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

.bg-secondary\/50 {
  background-color: hsl(var(--secondary) / 0.5);
}

.bg-slate-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.bg-slate-700\/60 {
  background-color: rgb(51 65 85 / 0.6);
}

.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-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.bg-slate-900\/30 {
  background-color: rgb(15 23 42 / 0.3);
}

.bg-slate-900\/50 {
  background-color: rgb(15 23 42 / 0.5);
}

.bg-slate-900\/90 {
  background-color: rgb(15 23 42 / 0.9);
}

.bg-transparent {
  background-color: transparent;
}

.bg-violet-500\/20 {
  background-color: rgb(139 92 246 / 0.2);
}

.bg-violet-950\/80 {
  background-color: rgb(46 16 101 / 0.8);
}

.bg-violet-950\/85 {
  background-color: rgb(46 16 101 / 0.85);
}

.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\/20 {
  background-color: rgb(255 255 255 / 0.2);
}

.bg-white\/30 {
  background-color: rgb(255 255 255 / 0.3);
}

.bg-white\/40 {
  background-color: rgb(255 255 255 / 0.4);
}

.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\/\[0\.02\] {
  background-color: rgb(255 255 255 / 0.02);
}

.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}

.bg-yellow-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}

.bg-yellow-200 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}

.bg-yellow-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1));
}

.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-400\/5 {
  background-color: rgb(250 204 21 / 0.05);
}

.bg-yellow-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 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\/20 {
  background-color: rgb(234 179 8 / 0.2);
}

.bg-yellow-500\/30 {
  background-color: rgb(234 179 8 / 0.3);
}

.bg-yellow-500\/5 {
  background-color: rgb(234 179 8 / 0.05);
}

.bg-yellow-500\/80 {
  background-color: rgb(234 179 8 / 0.8);
}

.bg-yellow-600 {
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}

.bg-yellow-700\/90 {
  background-color: rgb(161 98 7 / 0.9);
}

.bg-yellow-900\/10 {
  background-color: rgb(113 63 18 / 0.1);
}

.bg-yellow-900\/20 {
  background-color: rgb(113 63 18 / 0.2);
}

.bg-yellow-950\/30 {
  background-color: rgb(66 32 6 / 0.3);
}

.bg-yellow-950\/50 {
  background-color: rgb(66 32 6 / 0.5);
}

.bg-zinc-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}

.bg-zinc-800 {
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}

.bg-zinc-800\/50 {
  background-color: rgb(39 39 42 / 0.5);
}

.bg-zinc-900 {
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}

.bg-zinc-900\/20 {
  background-color: rgb(24 24 27 / 0.2);
}

.bg-zinc-900\/30 {
  background-color: rgb(24 24 27 / 0.3);
}

.bg-zinc-900\/50 {
  background-color: rgb(24 24 27 / 0.5);
}

.bg-zinc-900\/95 {
  background-color: rgb(24 24 27 / 0.95);
}

.bg-opacity-20 {
  --tw-bg-opacity: 0.2;
}

.bg-opacity-30 {
  --tw-bg-opacity: 0.3;
}

.bg-opacity-70 {
  --tw-bg-opacity: 0.7;
}

.bg-opacity-80 {
  --tw-bg-opacity: 0.8;
}

.bg-\[linear-gradient\(270deg\2c \#ff4df0\2c \#00eaff\2c \#e0ffff\2c \#00eaff\2c \#ff4df0\)\] {
  background-image: linear-gradient(270deg,#ff4df0,#00eaff,#e0ffff,#00eaff,#ff4df0);
}

.bg-\[radial-gradient\(circle\2c rgba\(255\2c 77\2c 240\2c 0\.3\)\2c rgba\(0\2c 231\2c 255\2c 0\.3\)\2c transparent_70\%\)\] {
  background-image: radial-gradient(circle,rgba(255,77,240,0.3),rgba(0,231,255,0.3),transparent 70%);
}

.bg-\[radial-gradient\(circle_at_30\%_30\%\2c rgba\(255\2c 255\2c 255\2c \.18\)\2c rgba\(0\2c 0\2c 0\2c \.3\)_60\%\)\] {
  background-image: radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),rgba(0,0,0,.3) 60%);
}

.bg-\[radial-gradient\(circle_at_40\%_30\%\2c rgba\(255\2c 255\2c 255\2c \.15\)\2c transparent_50\%\)\] {
  background-image: radial-gradient(circle at 40% 30%,rgba(255,255,255,.15),transparent 50%);
}

.bg-\[radial-gradient\(circle_at_50\%_50\%\2c rgba\(0\2c 209\2c 255\2c 0\.08\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(circle at 50% 50%,rgba(0,209,255,0.08),transparent 60%);
}

.bg-\[radial-gradient\(circle_at_50\%_50\%\2c rgba\(0\2c 229\2c 255\2c 0\.03\)\2c transparent_70\%\)\] {
  background-image: radial-gradient(circle at 50% 50%,rgba(0,229,255,0.03),transparent 70%);
}

.bg-\[radial-gradient\(circle_at_center\2c rgba\(255\2c 255\2c 255\2c 0\.28\)_0\%\2c transparent_78\%\)\] {
  background-image: radial-gradient(circle at center,rgba(255,255,255,0.28) 0%,transparent 78%);
}

.bg-\[radial-gradient\(ellipse_at_20\%_30\%\2c rgba\(0\2c 229\2c 255\2c 0\.08\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(ellipse at 20% 30%,rgba(0,229,255,0.08),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_20\%_30\%\2c rgba\(0\2c 229\2c 255\2c 0\.12\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(ellipse at 20% 30%,rgba(0,229,255,0.12),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_20\%_30\%\2c rgba\(234\2c 179\2c 8\2c 0\.08\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(ellipse at 20% 30%,rgba(234,179,8,0.08),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_80\%_70\%\2c rgba\(168\2c 85\2c 247\2c 0\.06\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(ellipse at 80% 70%,rgba(168,85,247,0.06),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_80\%_70\%\2c rgba\(168\2c 85\2c 247\2c 0\.1\)\2c transparent_60\%\)\] {
  background-image: radial-gradient(ellipse at 80% 70%,rgba(168,85,247,0.1),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_center\2c _var\(--tw-gradient-stops\)\)\] {
  background-image: radial-gradient(ellipse at center, var(--tw-gradient-stops));
}

.bg-\[url\(\'\/grid-pattern\.png\'\)\] {
  background-image: url('/grid-pattern.png');
}

.bg-\[url\(\'\/public\/images\/grid-pattern\.png\'\)\] {
  background-image: url('/assets/grid-pattern.C0O5llsq.png');
}

.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI\+PGRlZnM\+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI\+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iZ3JheSIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4\+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiIC8\+PC9zdmc\+\'\)\] {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iZ3JheSIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiIC8+PC9zdmc+');
}

.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI\+PGRlZnM\+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI\+PHBhdGggZD0iTSAxMCAwIEwgMCAwIDAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC41Ii8\+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8\+PC9zdmc\+\'\)\] {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAxMCAwIEwgMCAwIDAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC41Ii8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8+PC9zdmc+');
}

.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, 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-tr {
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}

.from-\[\#0066FF\] {
  --tw-gradient-from: #0066FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 102 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\] {
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/10 {
  --tw-gradient-from: rgb(0 209 255 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/20 {
  --tw-gradient-from: rgb(0 209 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/30 {
  --tw-gradient-from: rgb(0 209 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/5 {
  --tw-gradient-from: rgb(0 209 255 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/50 {
  --tw-gradient-from: rgb(0 209 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00E5FF\] {
  --tw-gradient-from: #00E5FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 229 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00E5FF\]\/10 {
  --tw-gradient-from: rgb(0 229 255 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 229 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00E5FF\]\/20 {
  --tw-gradient-from: rgb(0 229 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 229 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00a3ff\] {
  --tw-gradient-from: #00a3ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 163 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#030308\] {
  --tw-gradient-from: #030308 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(3 3 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#050510\] {
  --tw-gradient-from: #050510 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 5 16 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#06071b\] {
  --tw-gradient-from: #06071b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 7 27 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#06071b\]\/80 {
  --tw-gradient-from: rgb(6 7 27 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 7 27 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#070818\] {
  --tw-gradient-from: #070818 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 8 24 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#070818\]\/80 {
  --tw-gradient-from: rgb(7 8 24 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 8 24 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#090909\] {
  --tw-gradient-from: #090909 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(9 9 9 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0A0A0A\] {
  --tw-gradient-from: #0A0A0A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0A0F1C\] {
  --tw-gradient-from: #0A0F1C var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 15 28 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0a0a\] {
  --tw-gradient-from: #0a0a0a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0a1a\] {
  --tw-gradient-from: #0a0a1a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 26 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0a20\] {
  --tw-gradient-from: #0a0a20 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 32 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0b0f\] {
  --tw-gradient-from: #0a0b0f var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 11 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0e17\] {
  --tw-gradient-from: #0a0e17 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 14 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#10B981\] {
  --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-\[\#111124d8\] {
  --tw-gradient-from: #111124d8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 17 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\] {
  --tw-gradient-from: #131524 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\]\/70 {
  --tw-gradient-from: rgb(19 21 36 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\]\/80 {
  --tw-gradient-from: rgb(19 21 36 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\]\/90 {
  --tw-gradient-from: rgb(19 21 36 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#141425fc\] {
  --tw-gradient-from: #141425fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 20 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#141535\] {
  --tw-gradient-from: #141535 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 21 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#161845\] {
  --tw-gradient-from: #161845 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 24 69 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#181641\] {
  --tw-gradient-from: #181641 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(24 22 65 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#181641ee\] {
  --tw-gradient-from: #181641ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(24 22 65 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1A1A1A\] {
  --tw-gradient-from: #1A1A1A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 26 26 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1a1525\] {
  --tw-gradient-from: #1a1525 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 21 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1a1a2e\] {
  --tw-gradient-from: #1a1a2e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 26 46 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1eaedb\]\/80 {
  --tw-gradient-from: rgb(30 174 219 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 174 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#221F26\] {
  --tw-gradient-from: #221F26 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 31 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#22C55E\] {
  --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-\[\#365EFF\] {
  --tw-gradient-from: #365EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(54 94 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\] {
  --tw-gradient-from: #4361ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\]\/0 {
  --tw-gradient-from: rgb(67 97 238 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\]\/10 {
  --tw-gradient-from: rgb(67 97 238 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\]\/20 {
  --tw-gradient-from: rgb(67 97 238 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4ADE80\] {
  --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-\[\#6A00FF\] {
  --tw-gradient-from: #6A00FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(106 0 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#7209b7\] {
  --tw-gradient-from: #7209b7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(114 9 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#7209b7\]\/20 {
  --tw-gradient-from: rgb(114 9 183 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(114 9 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#7B2EFF\] {
  --tw-gradient-from: #7B2EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(123 46 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#8A2BE2\] {
  --tw-gradient-from: #8A2BE2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(138 43 226 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#8b5cf6\] {
  --tw-gradient-from: #8b5cf6 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-\[\#A855F7\] {
  --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-\[\#C0C0C0\] {
  --tw-gradient-from: #C0C0C0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 192 192 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#E6E6FA\] {
  --tw-gradient-from: #E6E6FA var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(230 230 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#EF4444\] {
  --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-\[\#F213A4\] {
  --tw-gradient-from: #F213A4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#F213A4\]\/20 {
  --tw-gradient-from: rgb(242 19 164 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#F213A4\]\/90 {
  --tw-gradient-from: rgb(242 19 164 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#F97316\] {
  --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-\[\#FBBF24\] {
  --tw-gradient-from: #FBBF24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FC1EFF\] {
  --tw-gradient-from: #FC1EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 30 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FDE047\] {
  --tw-gradient-from: #FDE047 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 224 71 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FF0000\] {
  --tw-gradient-from: #FF0000 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FF4D6B\] {
  --tw-gradient-from: #FF4D6B var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 77 107 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FF9466\] {
  --tw-gradient-from: #FF9466 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 148 102 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FFD700\] {
  --tw-gradient-from: #FFD700 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 215 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#a855f7\] {
  --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-\[\#d946ef\] {
  --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-\[\#d946ef\]\/70 {
  --tw-gradient-from: rgb(217 70 239 / 0.7) 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-\[\#f59e0b\] {
  --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-\[hsl\(var\(--primary\)\)\] {
  --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-400 {
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 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\/30 {
  --tw-gradient-from: rgb(245 158 11 / 0.3) 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-amber-700 {
  --tw-gradient-from: #b45309 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(180 83 9 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-700\/20 {
  --tw-gradient-from: rgb(180 83 9 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(180 83 9 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-900\/30 {
  --tw-gradient-from: rgb(120 53 15 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background {
  --tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background\/50 {
  --tw-gradient-from: hsl(var(--background) / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background\/95 {
  --tw-gradient-from: hsl(var(--background) / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 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\/0 {
  --tw-gradient-from: rgb(0 0 0 / 0) 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\/30 {
  --tw-gradient-from: rgb(0 0 0 / 0.3) 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\/40 {
  --tw-gradient-from: rgb(0 0 0 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/50 {
  --tw-gradient-from: rgb(0 0 0 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/55 {
  --tw-gradient-from: rgb(0 0 0 / 0.55) 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\/70 {
  --tw-gradient-from: rgb(0 0 0 / 0.7) 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-black\/90 {
  --tw-gradient-from: rgb(0 0 0 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/95 {
  --tw-gradient-from: rgb(0 0 0 / 0.95) 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-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\/20 {
  --tw-gradient-from: rgb(59 130 246 / 0.2) 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-600\/30 {
  --tw-gradient-from: rgb(37 99 235 / 0.3) 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\/10 {
  --tw-gradient-from: rgb(30 58 138 / 0.1) 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-blue-900\/20 {
  --tw-gradient-from: rgb(30 58 138 / 0.2) 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-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-400\/10 {
  --tw-gradient-from: rgb(34 211 238 / 0.1) 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-400\/20 {
  --tw-gradient-from: rgb(34 211 238 / 0.2) 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-400\/30 {
  --tw-gradient-from: rgb(34 211 238 / 0.3) 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-400\/40 {
  --tw-gradient-from: rgb(34 211 238 / 0.4) 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\/0 {
  --tw-gradient-from: rgb(6 182 212 / 0) 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\/30 {
  --tw-gradient-from: rgb(6 182 212 / 0.3) 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-500\/50 {
  --tw-gradient-from: rgb(6 182 212 / 0.5) 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\/80 {
  --tw-gradient-from: rgb(8 145 178 / 0.8) 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-900\/20 {
  --tw-gradient-from: rgb(22 78 99 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-900\/30 {
  --tw-gradient-from: rgb(22 78 99 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-900\/40 {
  --tw-gradient-from: rgb(22 78 99 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-900\/60 {
  --tw-gradient-from: rgb(22 78 99 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/10 {
  --tw-gradient-from: rgb(8 51 68 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/20 {
  --tw-gradient-from: rgb(8 51 68 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/30 {
  --tw-gradient-from: rgb(8 51 68 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/50 {
  --tw-gradient-from: rgb(8 51 68 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 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-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-600\/15 {
  --tw-gradient-from: rgb(5 150 105 / 0.15) 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-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-gray-300 {
  --tw-gradient-from: #d1d5db var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-400 {
  --tw-gradient-from: #9ca3af var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-500 {
  --tw-gradient-from: #6b7280 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-500\/20 {
  --tw-gradient-from: rgb(107 114 128 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-600 {
  --tw-gradient-from: #4b5563 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-600\/30 {
  --tw-gradient-from: rgb(75 85 99 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-700 {
  --tw-gradient-from: #374151 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-800 {
  --tw-gradient-from: #1f2937 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-800\/50 {
  --tw-gradient-from: rgb(31 41 55 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900 {
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/40 {
  --tw-gradient-from: rgb(17 24 39 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/80 {
  --tw-gradient-from: rgb(17 24 39 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/90 {
  --tw-gradient-from: rgb(17 24 39 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/95 {
  --tw-gradient-from: rgb(17 24 39 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-950 {
  --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-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-400\/20 {
  --tw-gradient-from: rgb(74 222 128 / 0.2) 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\/10 {
  --tw-gradient-from: rgb(34 197 94 / 0.1) 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\/20 {
  --tw-gradient-from: rgb(34 197 94 / 0.2) 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\/30 {
  --tw-gradient-from: rgb(34 197 94 / 0.3) 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-600 {
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-900\/20 {
  --tw-gradient-from: rgb(20 83 45 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-900\/60 {
  --tw-gradient-from: rgb(20 83 45 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-900\/80 {
  --tw-gradient-from: rgb(20 83 45 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-950\/80 {
  --tw-gradient-from: rgb(5 46 22 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 46 22 / 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-lime-300 {
  --tw-gradient-from: #bef264 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(190 242 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-blue {
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-blue\/20 {
  --tw-gradient-from: rgb(0 209 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-pink {
  --tw-gradient-from: #F059FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 89 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-purple {
  --tw-gradient-from: #7B2EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(123 46 255 / 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\/20 {
  --tw-gradient-from: rgb(249 115 22 / 0.2) 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-500\/5 {
  --tw-gradient-from: rgb(249 115 22 / 0.05) 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-orange-600\/30 {
  --tw-gradient-from: rgb(234 88 12 / 0.3) 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-orange-900\/20 {
  --tw-gradient-from: rgb(124 45 18 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 45 18 / 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-950\/20 {
  --tw-gradient-from: rgb(80 7 36 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(80 7 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary {
  --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/10 {
  --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/20 {
  --tw-gradient-from: hsl(var(--primary) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-400 {
  --tw-gradient-from: #c084fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 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\/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-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\/20 {
  --tw-gradient-from: rgb(147 51 234 / 0.2) 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-600\/35 {
  --tw-gradient-from: rgb(147 51 234 / 0.35) 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\/40 {
  --tw-gradient-from: rgb(147 51 234 / 0.4) 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-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\/30 {
  --tw-gradient-from: rgb(88 28 135 / 0.3) 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-purple-900\/60 {
  --tw-gradient-from: rgb(88 28 135 / 0.6) 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\/90 {
  --tw-gradient-from: rgb(88 28 135 / 0.9) 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-950\/20 {
  --tw-gradient-from: rgb(59 7 100 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-400 {
  --tw-gradient-from: #f87171 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 113 113 / 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\/50 {
  --tw-gradient-from: rgb(239 68 68 / 0.5) 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-red-900\/5 {
  --tw-gradient-from: rgb(127 29 29 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 29 29 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-900\/80 {
  --tw-gradient-from: rgb(127 29 29 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 29 29 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-950\/50 {
  --tw-gradient-from: rgb(69 10 10 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-950\/95 {
  --tw-gradient-from: rgb(69 10 10 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-300 {
  --tw-gradient-from: #cbd5e1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-300\/20 {
  --tw-gradient-from: rgb(203 213 225 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-400 {
  --tw-gradient-from: #94a3b8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(148 163 184 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-800 {
  --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-800\/50 {
  --tw-gradient-from: rgb(30 41 59 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 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-slate-900\/95 {
  --tw-gradient-from: rgb(15 23 42 / 0.95) 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-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-500 {
  --tw-gradient-from: #8b5cf6 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-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\/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-300 {
  --tw-gradient-from: #fde047 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 224 71 / 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-400\/0 {
  --tw-gradient-from: rgb(250 204 21 / 0) 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-400\/10 {
  --tw-gradient-from: rgb(250 204 21 / 0.1) 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-400\/20 {
  --tw-gradient-from: rgb(250 204 21 / 0.2) 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-400\/30 {
  --tw-gradient-from: rgb(250 204 21 / 0.3) 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 {
  --tw-gradient-from: #eab308 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);
}

.from-yellow-500\/10 {
  --tw-gradient-from: rgb(234 179 8 / 0.1) 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);
}

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

.from-yellow-500\/30 {
  --tw-gradient-from: rgb(234 179 8 / 0.3) 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);
}

.from-yellow-600 {
  --tw-gradient-from: #ca8a04 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-600\/40 {
  --tw-gradient-from: rgb(202 138 4 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-900\/30 {
  --tw-gradient-from: rgb(113 63 18 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-900\/40 {
  --tw-gradient-from: rgb(113 63 18 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-\[\#00a3ff\] {
  --tw-gradient-to: rgb(0 163 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #00a3ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#050510\]\/40 {
  --tw-gradient-to: rgb(5 5 16 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 5 16 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#06071b\] {
  --tw-gradient-to: rgb(6 7 27 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #06071b var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#080815\] {
  --tw-gradient-to: rgb(8 8 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #080815 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0F1419\] {
  --tw-gradient-to: rgb(15 20 25 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0F1419 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0a0a12\] {
  --tw-gradient-to: rgb(10 10 18 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0a0a12 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0a0a15\] {
  --tw-gradient-to: rgb(10 10 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0a0a15 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0a0d1f\] {
  --tw-gradient-to: rgb(10 13 31 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0a0d1f var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0d0d20\] {
  --tw-gradient-to: rgb(13 13 32 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0d0d20 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#111827\] {
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#131524\]\/55 {
  --tw-gradient-to: rgb(19 21 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(19 21 36 / 0.55) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#16213e\] {
  --tw-gradient-to: rgb(22 33 62 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #16213e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#181641\] {
  --tw-gradient-to: rgb(24 22 65 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #181641 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1A1A2E\] {
  --tw-gradient-to: rgb(26 26 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1A1A2E var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1C6AFF\] {
  --tw-gradient-to: rgb(28 106 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1C6AFF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1a1a2e\] {
  --tw-gradient-to: rgb(26 26 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1a1a2e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1a1b2e\] {
  --tw-gradient-to: rgb(26 27 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1a1b2e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1eaedb10\] {
  --tw-gradient-to: rgb(30 174 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1eaedb10 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1eaedb\] {
  --tw-gradient-to: rgb(30 174 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1eaedb var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1eaedbaa\] {
  --tw-gradient-to: rgb(30 174 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1eaedbaa var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#4361ee\]\/5 {
  --tw-gradient-to: rgb(67 97 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(67 97 238 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7B2EFF\] {
  --tw-gradient-to: rgb(123 46 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7B2EFF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7C3AED\] {
  --tw-gradient-to: rgb(124 58 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7C3AED var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7C3AED\]\/50 {
  --tw-gradient-to: rgb(124 58 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(124 58 237 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7E69AB\] {
  --tw-gradient-to: rgb(126 105 171 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7E69AB var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7e69ab\] {
  --tw-gradient-to: rgb(126 105 171 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7e69ab var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#8b5cf6\]\/70 {
  --tw-gradient-to: rgb(139 92 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(139 92 246 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#9b87f5\] {
  --tw-gradient-to: rgb(155 135 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9b87f5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#9b87f5\]\/80 {
  --tw-gradient-to: rgb(155 135 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(155 135 245 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#F059FF\] {
  --tw-gradient-to: rgb(240 89 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #F059FF 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-\[\#FF1493\]\/10 {
  --tw-gradient-to: rgb(255 20 147 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 20 147 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#FFC107\] {
  --tw-gradient-to: rgb(255 193 7 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FFC107 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#ec4899\] {
  --tw-gradient-to: rgb(236 72 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ec4899 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#f97316\] {
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f97316 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-accent {
  --tw-gradient-to: hsl(var(--accent) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-amber-400 {
  --tw-gradient-to: rgb(251 191 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fbbf24 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-background {
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-background\/90 {
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-background\/95 {
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.95) 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-black\/20 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/30 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/40 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/50 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/70 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/80 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/90 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-300 {
  --tw-gradient-to: rgb(147 197 253 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #93c5fd 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-500\/20 {
  --tw-gradient-to: rgb(59 130 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-600 {
  --tw-gradient-to: rgb(37 99 235 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #2563eb var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-900 {
  --tw-gradient-to: rgb(30 58 138 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e3a8a var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-300 {
  --tw-gradient-to: rgb(103 232 249 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #67e8f9 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #22d3ee var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/20 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/30 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/40 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/50 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/60 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/70 {
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-500 {
  --tw-gradient-to: rgb(6 182 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #06b6d4 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-500\/10 {
  --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.1) 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-emerald-400 {
  --tw-gradient-to: rgb(52 211 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #34d399 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-emerald-900\/60 {
  --tw-gradient-to: rgb(6 78 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(6 78 59 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-800 {
  --tw-gradient-to: rgb(31 41 55 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-900 {
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-900\/90 {
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(17 24 39 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-200 {
  --tw-gradient-to: rgb(187 247 208 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #bbf7d0 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-500 {
  --tw-gradient-to: rgb(34 197 94 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #22c55e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-lime-400 {
  --tw-gradient-to: rgb(163 230 53 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a3e635 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-m1ssion-cyan\/50 {
  --tw-gradient-to: rgb(0 229 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 229 255 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-m1ssion-purple {
  --tw-gradient-to: rgb(123 46 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7B2EFF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-m1ssion-purple\/20 {
  --tw-gradient-to: rgb(123 46 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(123 46 255 / 0.2) 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-500\/10 {
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(249 115 22 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-orange-500\/5 {
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(249 115 22 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-orange-900\/40 {
  --tw-gradient-to: rgb(124 45 18 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(124 45 18 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-pink-500 {
  --tw-gradient-to: rgb(236 72 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ec4899 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-pink-600 {
  --tw-gradient-to: rgb(219 39 119 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #db2777 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-primary {
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-400 {
  --tw-gradient-to: rgb(192 132 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #c084fc var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-400\/40 {
  --tw-gradient-to: rgb(192 132 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(192 132 252 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-500 {
  --tw-gradient-to: rgb(168 85 247 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a855f7 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-purple-500\/20 {
  --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.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-500\/30 {
  --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.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-900\/15 {
  --tw-gradient-to: rgb(88 28 135 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(88 28 135 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-950\/20 {
  --tw-gradient-to: rgb(59 7 100 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(59 7 100 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-red-500 {
  --tw-gradient-to: rgb(239 68 68 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ef4444 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-red-950\/80 {
  --tw-gradient-to: rgb(69 10 10 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(69 10 10 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-rose-900\/60 {
  --tw-gradient-to: rgb(136 19 55 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(136 19 55 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-sky-500 {
  --tw-gradient-to: rgb(14 165 233 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0ea5e9 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-700 {
  --tw-gradient-to: rgb(51 65 85 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #334155 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-800\/95 {
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(30 41 59 / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

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

.via-white {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff 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\/30 {
  --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.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/5 {
  --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-300\/40 {
  --tw-gradient-to: rgb(253 224 71 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(253 224 71 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-400 {
  --tw-gradient-to: rgb(250 204 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #facc15 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-400\/20 {
  --tw-gradient-to: rgb(250 204 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(250 204 21 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-400\/30 {
  --tw-gradient-to: rgb(250 204 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(250 204 21 / 0.3) 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);
}

.via-zinc-900\/90 {
  --tw-gradient-to: rgb(24 24 27 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(24 24 27 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-\[\#008eb3\] {
  --tw-gradient-to: #008eb3 var(--tw-gradient-to-position);
}

.to-\[\#0099CC\] {
  --tw-gradient-to: #0099CC var(--tw-gradient-to-position);
}

.to-\[\#00A3CC\] {
  --tw-gradient-to: #00A3CC var(--tw-gradient-to-position);
}

.to-\[\#00B8E6\] {
  --tw-gradient-to: #00B8E6 var(--tw-gradient-to-position);
}

.to-\[\#00BFFF\] {
  --tw-gradient-to: #00BFFF var(--tw-gradient-to-position);
}

.to-\[\#00D1FF\] {
  --tw-gradient-to: #00D1FF var(--tw-gradient-to-position);
}

.to-\[\#00D1FF\]\/10 {
  --tw-gradient-to: rgb(0 209 255 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#00D1FF\]\/50 {
  --tw-gradient-to: rgb(0 209 255 / 0.5) var(--tw-gradient-to-position);
}

.to-\[\#00E0FF\] {
  --tw-gradient-to: #00E0FF var(--tw-gradient-to-position);
}

.to-\[\#030308\] {
  --tw-gradient-to: #030308 var(--tw-gradient-to-position);
}

.to-\[\#050510\] {
  --tw-gradient-to: #050510 var(--tw-gradient-to-position);
}

.to-\[\#06071b\] {
  --tw-gradient-to: #06071b var(--tw-gradient-to-position);
}

.to-\[\#06071b\]\/80 {
  --tw-gradient-to: rgb(6 7 27 / 0.8) var(--tw-gradient-to-position);
}

.to-\[\#070818\] {
  --tw-gradient-to: #070818 var(--tw-gradient-to-position);
}

.to-\[\#0EA5E9\] {
  --tw-gradient-to: #0EA5E9 var(--tw-gradient-to-position);
}

.to-\[\#0EA5E9\]\/20 {
  --tw-gradient-to: rgb(14 165 233 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#0EA5E9\]\/90 {
  --tw-gradient-to: rgb(14 165 233 / 0.9) var(--tw-gradient-to-position);
}

.to-\[\#0a0a0a\] {
  --tw-gradient-to: #0a0a0a var(--tw-gradient-to-position);
}

.to-\[\#0a0a0f\]\/95 {
  --tw-gradient-to: rgb(10 10 15 / 0.95) var(--tw-gradient-to-position);
}

.to-\[\#0a0a1a\] {
  --tw-gradient-to: #0a0a1a var(--tw-gradient-to-position);
}

.to-\[\#0a0b0f\] {
  --tw-gradient-to: #0a0b0f var(--tw-gradient-to-position);
}

.to-\[\#0a0e17\] {
  --tw-gradient-to: #0a0e17 var(--tw-gradient-to-position);
}

.to-\[\#0f172a\] {
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}

.to-\[\#10B981\] {
  --tw-gradient-to: #10B981 var(--tw-gradient-to-position);
}

.to-\[\#111124\] {
  --tw-gradient-to: #111124 var(--tw-gradient-to-position);
}

.to-\[\#131524\]\/80 {
  --tw-gradient-to: rgb(19 21 36 / 0.8) var(--tw-gradient-to-position);
}

.to-\[\#16213E\] {
  --tw-gradient-to: #16213E var(--tw-gradient-to-position);
}

.to-\[\#181641d8\] {
  --tw-gradient-to: #181641d8 var(--tw-gradient-to-position);
}

.to-\[\#181641ee\] {
  --tw-gradient-to: #181641ee var(--tw-gradient-to-position);
}

.to-\[\#181641fc\] {
  --tw-gradient-to: #181641fc var(--tw-gradient-to-position);
}

.to-\[\#1A1F2E\] {
  --tw-gradient-to: #1A1F2E var(--tw-gradient-to-position);
}

.to-\[\#1EAEDB\] {
  --tw-gradient-to: #1EAEDB var(--tw-gradient-to-position);
}

.to-\[\#1a1d3a\] {
  --tw-gradient-to: #1a1d3a var(--tw-gradient-to-position);
}

.to-\[\#1a1f2c\] {
  --tw-gradient-to: #1a1f2c var(--tw-gradient-to-position);
}

.to-\[\#22c55e\] {
  --tw-gradient-to: #22c55e var(--tw-gradient-to-position);
}

.to-\[\#22d3ee\] {
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}

.to-\[\#333333\] {
  --tw-gradient-to: #333333 var(--tw-gradient-to-position);
}

.to-\[\#33c3f0\] {
  --tw-gradient-to: #33c3f0 var(--tw-gradient-to-position);
}

.to-\[\#33c3f0\]\/70 {
  --tw-gradient-to: rgb(51 195 240 / 0.7) var(--tw-gradient-to-position);
}

.to-\[\#4361ee\] {
  --tw-gradient-to: #4361ee var(--tw-gradient-to-position);
}

.to-\[\#4361ee\]\/20 {
  --tw-gradient-to: rgb(67 97 238 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#4B0082\] {
  --tw-gradient-to: #4B0082 var(--tw-gradient-to-position);
}

.to-\[\#7209b7\] {
  --tw-gradient-to: #7209b7 var(--tw-gradient-to-position);
}

.to-\[\#7209b7\]\/0 {
  --tw-gradient-to: rgb(114 9 183 / 0) var(--tw-gradient-to-position);
}

.to-\[\#7209b7\]\/10 {
  --tw-gradient-to: rgb(114 9 183 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#7209b7\]\/20 {
  --tw-gradient-to: rgb(114 9 183 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#7B2BF9\] {
  --tw-gradient-to: #7B2BF9 var(--tw-gradient-to-position);
}

.to-\[\#7B2EFF\] {
  --tw-gradient-to: #7B2EFF var(--tw-gradient-to-position);
}

.to-\[\#7B2EFF\]\/10 {
  --tw-gradient-to: rgb(123 46 255 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#7B2EFF\]\/20 {
  --tw-gradient-to: rgb(123 46 255 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#7B5CFF\] {
  --tw-gradient-to: #7B5CFF var(--tw-gradient-to-position);
}

.to-\[\#7C3AED\] {
  --tw-gradient-to: #7C3AED var(--tw-gradient-to-position);
}

.to-\[\#7C3AED\]\/20 {
  --tw-gradient-to: rgb(124 58 237 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#8b5cf6\] {
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}

.to-\[\#919191\] {
  --tw-gradient-to: #919191 var(--tw-gradient-to-position);
}

.to-\[\#9b87f5\] {
  --tw-gradient-to: #9b87f5 var(--tw-gradient-to-position);
}

.to-\[\#A855F7\] {
  --tw-gradient-to: #A855F7 var(--tw-gradient-to-position);
}

.to-\[\#D946EF\] {
  --tw-gradient-to: #D946EF var(--tw-gradient-to-position);
}

.to-\[\#DC2626\] {
  --tw-gradient-to: #DC2626 var(--tw-gradient-to-position);
}

.to-\[\#EF4444\] {
  --tw-gradient-to: #EF4444 var(--tw-gradient-to-position);
}

.to-\[\#F059FF\] {
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.to-\[\#F213A4\] {
  --tw-gradient-to: #F213A4 var(--tw-gradient-to-position);
}

.to-\[\#F97316\] {
  --tw-gradient-to: #F97316 var(--tw-gradient-to-position);
}

.to-\[\#FACC15\] {
  --tw-gradient-to: #FACC15 var(--tw-gradient-to-position);
}

.to-\[\#FBBF24\] {
  --tw-gradient-to: #FBBF24 var(--tw-gradient-to-position);
}

.to-\[\#FC1EFF\] {
  --tw-gradient-to: #FC1EFF var(--tw-gradient-to-position);
}

.to-\[\#FF00FF\] {
  --tw-gradient-to: #FF00FF var(--tw-gradient-to-position);
}

.to-\[\#FF1493\] {
  --tw-gradient-to: #FF1493 var(--tw-gradient-to-position);
}

.to-\[\#FF1493\]\/10 {
  --tw-gradient-to: rgb(255 20 147 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#FF1493\]\/30 {
  --tw-gradient-to: rgb(255 20 147 / 0.3) var(--tw-gradient-to-position);
}

.to-\[\#FF1493\]\/5 {
  --tw-gradient-to: rgb(255 20 147 / 0.05) var(--tw-gradient-to-position);
}

.to-\[\#FF193C\] {
  --tw-gradient-to: #FF193C var(--tw-gradient-to-position);
}

.to-\[\#FF6B00\] {
  --tw-gradient-to: #FF6B00 var(--tw-gradient-to-position);
}

.to-\[\#FF6B1E\] {
  --tw-gradient-to: #FF6B1E var(--tw-gradient-to-position);
}

.to-\[\#FFA500\] {
  --tw-gradient-to: #FFA500 var(--tw-gradient-to-position);
}

.to-\[\#FFC107\] {
  --tw-gradient-to: #FFC107 var(--tw-gradient-to-position);
}

.to-\[\#FFD700\] {
  --tw-gradient-to: #FFD700 var(--tw-gradient-to-position);
}

.to-\[\#d946ef\] {
  --tw-gradient-to: #d946ef var(--tw-gradient-to-position);
}

.to-\[\#d946ef\]\/80 {
  --tw-gradient-to: rgb(217 70 239 / 0.8) var(--tw-gradient-to-position);
}

.to-\[\#ec4899\] {
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}

.to-\[\#ef4444\] {
  --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);
}

.to-\[\#f43f5e\] {
  --tw-gradient-to: #f43f5e var(--tw-gradient-to-position);
}

.to-\[hsl\(var\(--primary-glow\)\)\] {
  --tw-gradient-to: hsl(var(--primary-glow)) var(--tw-gradient-to-position);
}

.to-accent\/10 {
  --tw-gradient-to: hsl(var(--accent) / 0.1) var(--tw-gradient-to-position);
}

.to-accent\/20 {
  --tw-gradient-to: hsl(var(--accent) / 0.2) var(--tw-gradient-to-position);
}

.to-amber-500 {
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}

.to-amber-600 {
  --tw-gradient-to: #d97706 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-600\/20 {
  --tw-gradient-to: rgb(217 119 6 / 0.2) var(--tw-gradient-to-position);
}

.to-amber-700 {
  --tw-gradient-to: #b45309 var(--tw-gradient-to-position);
}

.to-amber-800 {
  --tw-gradient-to: #92400e var(--tw-gradient-to-position);
}

.to-background {
  --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}

.to-background\/50 {
  --tw-gradient-to: hsl(var(--background) / 0.5) var(--tw-gradient-to-position);
}

.to-background\/80 {
  --tw-gradient-to: hsl(var(--background) / 0.8) var(--tw-gradient-to-position);
}

.to-background\/90 {
  --tw-gradient-to: hsl(var(--background) / 0.9) var(--tw-gradient-to-position);
}

.to-background\/95 {
  --tw-gradient-to: hsl(var(--background) / 0.95) var(--tw-gradient-to-position);
}

.to-black {
  --tw-gradient-to: #000 var(--tw-gradient-to-position);
}

.to-black\/20 {
  --tw-gradient-to: rgb(0 0 0 / 0.2) var(--tw-gradient-to-position);
}

.to-black\/50 {
  --tw-gradient-to: rgb(0 0 0 / 0.5) var(--tw-gradient-to-position);
}

.to-black\/55 {
  --tw-gradient-to: rgb(0 0 0 / 0.55) var(--tw-gradient-to-position);
}

.to-black\/60 {
  --tw-gradient-to: rgb(0 0 0 / 0.6) var(--tw-gradient-to-position);
}

.to-black\/70 {
  --tw-gradient-to: rgb(0 0 0 / 0.7) var(--tw-gradient-to-position);
}

.to-black\/80 {
  --tw-gradient-to: rgb(0 0 0 / 0.8) var(--tw-gradient-to-position);
}

.to-black\/90 {
  --tw-gradient-to: rgb(0 0 0 / 0.9) var(--tw-gradient-to-position);
}

.to-black\/95 {
  --tw-gradient-to: rgb(0 0 0 / 0.95) var(--tw-gradient-to-position);
}

.to-blue-400 {
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}

.to-blue-400\/30 {
  --tw-gradient-to: rgb(96 165 250 / 0.3) var(--tw-gradient-to-position);
}

.to-blue-500 {
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}

.to-blue-500\/10 {
  --tw-gradient-to: rgb(59 130 246 / 0.1) 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-500\/30 {
  --tw-gradient-to: rgb(59 130 246 / 0.3) var(--tw-gradient-to-position);
}

.to-blue-500\/35 {
  --tw-gradient-to: rgb(59 130 246 / 0.35) var(--tw-gradient-to-position);
}

.to-blue-600 {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}

.to-blue-600\/20 {
  --tw-gradient-to: rgb(37 99 235 / 0.2) var(--tw-gradient-to-position);
}

.to-blue-700 {
  --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}

.to-blue-700\/80 {
  --tw-gradient-to: rgb(29 78 216 / 0.8) var(--tw-gradient-to-position);
}

.to-blue-900\/20 {
  --tw-gradient-to: rgb(30 58 138 / 0.2) var(--tw-gradient-to-position);
}

.to-blue-900\/30 {
  --tw-gradient-to: rgb(30 58 138 / 0.3) var(--tw-gradient-to-position);
}

.to-blue-900\/90 {
  --tw-gradient-to: rgb(30 58 138 / 0.9) var(--tw-gradient-to-position);
}

.to-blue-950\/20 {
  --tw-gradient-to: rgb(23 37 84 / 0.2) var(--tw-gradient-to-position);
}

.to-cyan-400 {
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}

.to-cyan-400\/10 {
  --tw-gradient-to: rgb(34 211 238 / 0.1) var(--tw-gradient-to-position);
}

.to-cyan-500 {
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}

.to-cyan-500\/0 {
  --tw-gradient-to: rgb(6 182 212 / 0) 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\/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\/5 {
  --tw-gradient-to: rgb(6 182 212 / 0.05) var(--tw-gradient-to-position);
}

.to-cyan-600 {
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}

.to-cyan-600\/30 {
  --tw-gradient-to: rgb(8 145 178 / 0.3) var(--tw-gradient-to-position);
}

.to-cyan-700\/40 {
  --tw-gradient-to: rgb(14 116 144 / 0.4) var(--tw-gradient-to-position);
}

.to-cyan-700\/60 {
  --tw-gradient-to: rgb(14 116 144 / 0.6) var(--tw-gradient-to-position);
}

.to-cyan-800 {
  --tw-gradient-to: #155e75 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\/30 {
  --tw-gradient-to: rgb(22 78 99 / 0.3) var(--tw-gradient-to-position);
}

.to-cyan-900\/40 {
  --tw-gradient-to: rgb(22 78 99 / 0.4) var(--tw-gradient-to-position);
}

.to-cyan-900\/50 {
  --tw-gradient-to: rgb(22 78 99 / 0.5) var(--tw-gradient-to-position);
}

.to-cyan-900\/60 {
  --tw-gradient-to: rgb(22 78 99 / 0.6) var(--tw-gradient-to-position);
}

.to-cyan-900\/80 {
  --tw-gradient-to: rgb(22 78 99 / 0.8) var(--tw-gradient-to-position);
}

.to-cyan-950\/80 {
  --tw-gradient-to: rgb(8 51 68 / 0.8) var(--tw-gradient-to-position);
}

.to-cyan-950\/90 {
  --tw-gradient-to: rgb(8 51 68 / 0.9) 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\/10 {
  --tw-gradient-to: rgb(16 185 129 / 0.1) 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-500\/30 {
  --tw-gradient-to: rgb(16 185 129 / 0.3) var(--tw-gradient-to-position);
}

.to-emerald-600 {
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}

.to-emerald-900\/20 {
  --tw-gradient-to: rgb(6 78 59 / 0.2) var(--tw-gradient-to-position);
}

.to-fuchsia-400 {
  --tw-gradient-to: #e879f9 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 {
  --tw-gradient-to: #701a75 var(--tw-gradient-to-position);
}

.to-gray-300 {
  --tw-gradient-to: #d1d5db var(--tw-gradient-to-position);
}

.to-gray-500 {
  --tw-gradient-to: #6b7280 var(--tw-gradient-to-position);
}

.to-gray-600 {
  --tw-gradient-to: #4b5563 var(--tw-gradient-to-position);
}

.to-gray-600\/20 {
  --tw-gradient-to: rgb(75 85 99 / 0.2) var(--tw-gradient-to-position);
}

.to-gray-700 {
  --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}

.to-gray-700\/30 {
  --tw-gradient-to: rgb(55 65 81 / 0.3) var(--tw-gradient-to-position);
}

.to-gray-700\/50 {
  --tw-gradient-to: rgb(55 65 81 / 0.5) var(--tw-gradient-to-position);
}

.to-gray-800 {
  --tw-gradient-to: #1f2937 var(--tw-gradient-to-position);
}

.to-gray-800\/40 {
  --tw-gradient-to: rgb(31 41 55 / 0.4) var(--tw-gradient-to-position);
}

.to-gray-800\/90 {
  --tw-gradient-to: rgb(31 41 55 / 0.9) var(--tw-gradient-to-position);
}

.to-gray-900 {
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}

.to-gray-900\/50 {
  --tw-gradient-to: rgb(17 24 39 / 0.5) var(--tw-gradient-to-position);
}

.to-gray-950 {
  --tw-gradient-to: #030712 var(--tw-gradient-to-position);
}

.to-green-400 {
  --tw-gradient-to: #4ade80 var(--tw-gradient-to-position);
}

.to-green-500\/5 {
  --tw-gradient-to: rgb(34 197 94 / 0.05) var(--tw-gradient-to-position);
}

.to-green-600 {
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}

.to-green-800 {
  --tw-gradient-to: #166534 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-lime-400 {
  --tw-gradient-to: #a3e635 var(--tw-gradient-to-position);
}

.to-m1ssion-blue {
  --tw-gradient-to: #00D1FF var(--tw-gradient-to-position);
}

.to-m1ssion-pink {
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.to-m1ssion-pink\/20 {
  --tw-gradient-to: rgb(240 89 255 / 0.2) var(--tw-gradient-to-position);
}

.to-m1ssion-purple {
  --tw-gradient-to: #7B2EFF var(--tw-gradient-to-position);
}

.to-muted\/20 {
  --tw-gradient-to: hsl(var(--muted) / 0.2) var(--tw-gradient-to-position);
}

.to-orange-400 {
  --tw-gradient-to: #fb923c 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\/20 {
  --tw-gradient-to: rgb(249 115 22 / 0.2) var(--tw-gradient-to-position);
}

.to-orange-500\/30 {
  --tw-gradient-to: rgb(249 115 22 / 0.3) var(--tw-gradient-to-position);
}

.to-orange-600 {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}

.to-orange-600\/40 {
  --tw-gradient-to: rgb(234 88 12 / 0.4) var(--tw-gradient-to-position);
}

.to-orange-900\/80 {
  --tw-gradient-to: rgb(124 45 18 / 0.8) var(--tw-gradient-to-position);
}

.to-orange-950\/50 {
  --tw-gradient-to: rgb(67 20 7 / 0.5) var(--tw-gradient-to-position);
}

.to-pink-400 {
  --tw-gradient-to: #f472b6 var(--tw-gradient-to-position);
}

.to-pink-400\/40 {
  --tw-gradient-to: rgb(244 114 182 / 0.4) 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\/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\/40 {
  --tw-gradient-to: rgb(236 72 153 / 0.4) var(--tw-gradient-to-position);
}

.to-pink-600 {
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}

.to-pink-600\/20 {
  --tw-gradient-to: rgb(219 39 119 / 0.2) var(--tw-gradient-to-position);
}

.to-pink-600\/30 {
  --tw-gradient-to: rgb(219 39 119 / 0.3) var(--tw-gradient-to-position);
}

.to-pink-900\/20 {
  --tw-gradient-to: rgb(131 24 67 / 0.2) var(--tw-gradient-to-position);
}

.to-pink-900\/30 {
  --tw-gradient-to: rgb(131 24 67 / 0.3) var(--tw-gradient-to-position);
}

.to-primary {
  --tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position);
}

.to-primary-foreground {
  --tw-gradient-to: hsl(var(--primary-foreground)) var(--tw-gradient-to-position);
}

.to-primary\/10 {
  --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);
}

.to-primary\/20 {
  --tw-gradient-to: hsl(var(--primary) / 0.2) var(--tw-gradient-to-position);
}

.to-primary\/5 {
  --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);
}

.to-primary\/60 {
  --tw-gradient-to: hsl(var(--primary) / 0.6) var(--tw-gradient-to-position);
}

.to-primary\/70 {
  --tw-gradient-to: hsl(var(--primary) / 0.7) var(--tw-gradient-to-position);
}

.to-primary\/80 {
  --tw-gradient-to: hsl(var(--primary) / 0.8) 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\/30 {
  --tw-gradient-to: rgb(168 85 247 / 0.3) 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\/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\/30 {
  --tw-gradient-to: rgb(126 34 206 / 0.3) var(--tw-gradient-to-position);
}

.to-purple-700\/40 {
  --tw-gradient-to: rgb(126 34 206 / 0.4) var(--tw-gradient-to-position);
}

.to-purple-700\/60 {
  --tw-gradient-to: rgb(126 34 206 / 0.6) var(--tw-gradient-to-position);
}

.to-purple-900 {
  --tw-gradient-to: #581c87 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-purple-900\/80 {
  --tw-gradient-to: rgb(88 28 135 / 0.8) var(--tw-gradient-to-position);
}

.to-purple-950\/30 {
  --tw-gradient-to: rgb(59 7 100 / 0.3) var(--tw-gradient-to-position);
}

.to-purple-950\/50 {
  --tw-gradient-to: rgb(59 7 100 / 0.5) var(--tw-gradient-to-position);
}

.to-red-400 {
  --tw-gradient-to: #f87171 var(--tw-gradient-to-position);
}

.to-red-500 {
  --tw-gradient-to: #ef4444 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\/20 {
  --tw-gradient-to: rgb(239 68 68 / 0.2) 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-500\/5 {
  --tw-gradient-to: rgb(239 68 68 / 0.05) var(--tw-gradient-to-position);
}

.to-red-600 {
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}

.to-red-600\/30 {
  --tw-gradient-to: rgb(220 38 38 / 0.3) var(--tw-gradient-to-position);
}

.to-red-700 {
  --tw-gradient-to: #b91c1c var(--tw-gradient-to-position);
}

.to-red-900\/20 {
  --tw-gradient-to: rgb(127 29 29 / 0.2) var(--tw-gradient-to-position);
}

.to-slate-400 {
  --tw-gradient-to: #94a3b8 var(--tw-gradient-to-position);
}

.to-slate-500 {
  --tw-gradient-to: #64748b var(--tw-gradient-to-position);
}

.to-slate-600 {
  --tw-gradient-to: #475569 var(--tw-gradient-to-position);
}

.to-slate-800 {
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

.to-slate-800\/95 {
  --tw-gradient-to: rgb(30 41 59 / 0.95) var(--tw-gradient-to-position);
}

.to-slate-900 {
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}

.to-slate-900\/50 {
  --tw-gradient-to: rgb(15 23 42 / 0.5) var(--tw-gradient-to-position);
}

.to-slate-900\/95 {
  --tw-gradient-to: rgb(15 23 42 / 0.95) var(--tw-gradient-to-position);
}

.to-slate-950 {
  --tw-gradient-to: #020617 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-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-600 {
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}

.to-white\/80 {
  --tw-gradient-to: rgb(255 255 255 / 0.8) var(--tw-gradient-to-position);
}

.to-yellow-400 {
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}

.to-yellow-400\/0 {
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
}

.to-yellow-400\/10 {
  --tw-gradient-to: rgb(250 204 21 / 0.1) 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);
}

.to-yellow-500\/5 {
  --tw-gradient-to: rgb(234 179 8 / 0.05) var(--tw-gradient-to-position);
}

.to-yellow-600 {
  --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
}

.to-yellow-600\/10 {
  --tw-gradient-to: rgb(202 138 4 / 0.1) var(--tw-gradient-to-position);
}

.to-yellow-800\/30 {
  --tw-gradient-to: rgb(133 77 14 / 0.3) var(--tw-gradient-to-position);
}

.to-yellow-900\/20 {
  --tw-gradient-to: rgb(113 63 18 / 0.2) var(--tw-gradient-to-position);
}

.to-yellow-900\/30 {
  --tw-gradient-to: rgb(113 63 18 / 0.3) var(--tw-gradient-to-position);
}

.bg-\[length\:200\%_100\%\] {
  background-size: 200% 100%;
}

.bg-cover {
  background-size: cover;
}

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

.bg-center {
  background-position: center;
}

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

.fill-current {
  fill: currentColor;
}

.fill-white {
  fill: #fff;
}

.fill-yellow-400 {
  fill: #facc15;
}

.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.object-center {
  -o-object-position: center;
     object-position: center;
}

.object-top {
  -o-object-position: top;
     object-position: top;
}

.p-0 {
  padding: 0px;
}

.p-0\.5 {
  padding: 0.125rem;
}

.p-1 {
  padding: 0.25rem;
}

.p-1\.5 {
  padding: 0.375rem;
}

.p-10 {
  padding: 2.5rem;
}

.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-\[1\.5px\] {
  padding: 1.5px;
}

.p-\[1px\] {
  padding: 1px;
}

.p-\[3px\] {
  padding: 3px;
}

.px-0 {
  padding-left: 0px;
  padding-right: 0px;
}

.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-10 {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

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

.px-14 {
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

.px-16 {
  padding-left: 4rem;
  padding-right: 4rem;
}

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

.py-0 {
  padding-top: 0px;
  padding-bottom: 0px;
}

.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-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.py-32 {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-40 {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-0\.5 {
  padding-bottom: 0.125rem;
}

.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-20 {
  padding-bottom: 5rem;
}

.pb-24 {
  padding-bottom: 6rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-32 {
  padding-bottom: 8rem;
}

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

.pb-5 {
  padding-bottom: 1.25rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-2\.5 {
  padding-left: 0.625rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-12 {
  padding-right: 3rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-2\.5 {
  padding-right: 0.625rem;
}

.pr-20 {
  padding-right: 5rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pt-0 {
  padding-top: 0px;
}

.pt-1 {
  padding-top: 0.25rem;
}

.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-4 {
  padding-top: 1rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-9 {
  padding-top: 2.25rem;
}

.pt-\[72px\] {
  padding-top: 72px;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.font-mission {
  font-family: Audiowide, Exo 2, Orbitron, sans-serif;
}

.font-mono {
  font-family: VT323, monospace;
}

.font-orbitron {
  font-family: Orbitron, sans-serif;
}

.font-sans {
  font-family: Inter, sans-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-7xl {
  font-size: 4.5rem;
  line-height: 1;
}

.text-8xl {
  font-size: 6rem;
  line-height: 1;
}

.text-9xl {
  font-size: 8rem;
  line-height: 1;
}

.text-\[0\.6rem\] {
  font-size: 0.6rem;
}

.text-\[0\.8rem\] {
  font-size: 0.8rem;
}

.text-\[1\.3em\] {
  font-size: 1.3em;
}

.text-\[1\.6em\] {
  font-size: 1.6em;
}

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

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

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

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

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

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

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

.text-\[6\.5px\] {
  font-size: 6.5px;
}

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

.text-\[7\.5px\] {
  font-size: 7.5px;
}

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

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

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

.text-\[min\(22vw\2c 96px\)\] {
  font-size: min(22vw, 96px);
}

.text-\[min\(28vw\2c 120px\)\] {
  font-size: min(28vw, 120px);
}

.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\.9\] {
  line-height: 0.9;
}

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

.leading-relaxed {
  line-height: 1.625;
}

.leading-snug {
  line-height: 1.375;
}

.leading-tight {
  line-height: 1.25;
}

.tracking-\[0\.04em\] {
  letter-spacing: 0.04em;
}

.tracking-\[0\.05em\] {
  letter-spacing: 0.05em;
}

.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}

.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}

.tracking-\[0\.15em\] {
  letter-spacing: 0.15em;
}

.tracking-\[0\.28em\] {
  letter-spacing: 0.28em;
}

.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}

.tracking-\[0\.35em\] {
  letter-spacing: 0.35em;
}

.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}

.tracking-\[0\.5em\] {
  letter-spacing: 0.5em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.\!text-\[\#0d0d0d\] {
  --tw-text-opacity: 1 !important;
  color: rgb(13 13 13 / var(--tw-text-opacity, 1)) !important;
}

.text-\[\#0077B5\] {
  --tw-text-opacity: 1;
  color: rgb(0 119 181 / var(--tw-text-opacity, 1));
}

.text-\[\#00BFFF\] {
  --tw-text-opacity: 1;
  color: rgb(0 191 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00D1FF\] {
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00D1FF\]\/40 {
  color: rgb(0 209 255 / 0.4);
}

.text-\[\#00D1FF\]\/50 {
  color: rgb(0 209 255 / 0.5);
}

.text-\[\#00D1FF\]\/60 {
  color: rgb(0 209 255 / 0.6);
}

.text-\[\#00D1FF\]\/70 {
  color: rgb(0 209 255 / 0.7);
}

.text-\[\#00E5FF\] {
  --tw-text-opacity: 1;
  color: rgb(0 229 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00E5FF\]\/60 {
  color: rgb(0 229 255 / 0.6);
}

.text-\[\#00F7FF\] {
  --tw-text-opacity: 1;
  color: rgb(0 247 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00FF88\] {
  --tw-text-opacity: 1;
  color: rgb(0 255 136 / var(--tw-text-opacity, 1));
}

.text-\[\#00FFFF\] {
  --tw-text-opacity: 1;
  color: rgb(0 255 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00f0ff\] {
  --tw-text-opacity: 1;
  color: rgb(0 240 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00ffff\] {
  --tw-text-opacity: 1;
  color: rgb(0 255 255 / var(--tw-text-opacity, 1));
}

.text-\[\#0a0b0f\] {
  --tw-text-opacity: 1;
  color: rgb(10 11 15 / var(--tw-text-opacity, 1));
}

.text-\[\#0d0d0d\] {
  --tw-text-opacity: 1;
  color: rgb(13 13 13 / var(--tw-text-opacity, 1));
}

.text-\[\#25D366\] {
  --tw-text-opacity: 1;
  color: rgb(37 211 102 / var(--tw-text-opacity, 1));
}

.text-\[\#39FF14\] {
  --tw-text-opacity: 1;
  color: rgb(57 255 20 / var(--tw-text-opacity, 1));
}

.text-\[\#3b5998\] {
  --tw-text-opacity: 1;
  color: rgb(59 89 152 / var(--tw-text-opacity, 1));
}

.text-\[\#4361ee\] {
  --tw-text-opacity: 1;
  color: rgb(67 97 238 / var(--tw-text-opacity, 1));
}

.text-\[\#7209b7\] {
  --tw-text-opacity: 1;
  color: rgb(114 9 183 / var(--tw-text-opacity, 1));
}

.text-\[\#7B2EFF\] {
  --tw-text-opacity: 1;
  color: rgb(123 46 255 / var(--tw-text-opacity, 1));
}

.text-\[\#9b87f5\] {
  --tw-text-opacity: 1;
  color: rgb(155 135 245 / var(--tw-text-opacity, 1));
}

.text-\[\#9e8ade\] {
  --tw-text-opacity: 1;
  color: rgb(158 138 222 / var(--tw-text-opacity, 1));
}

.text-\[\#E1306C\] {
  --tw-text-opacity: 1;
  color: rgb(225 48 108 / var(--tw-text-opacity, 1));
}

.text-\[\#F059FF\] {
  --tw-text-opacity: 1;
  color: rgb(240 89 255 / var(--tw-text-opacity, 1));
}

.text-\[\#F59E0B\] {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-\[\#FF0000\] {
  --tw-text-opacity: 1;
  color: rgb(255 0 0 / var(--tw-text-opacity, 1));
}

.text-\[\#FF00FF\] {
  --tw-text-opacity: 1;
  color: rgb(255 0 255 / var(--tw-text-opacity, 1));
}

.text-\[\#FF1493\] {
  --tw-text-opacity: 1;
  color: rgb(255 20 147 / var(--tw-text-opacity, 1));
}

.text-\[\#FF6B35\] {
  --tw-text-opacity: 1;
  color: rgb(255 107 53 / var(--tw-text-opacity, 1));
}

.text-\[\#FFC107\] {
  --tw-text-opacity: 1;
  color: rgb(255 193 7 / var(--tw-text-opacity, 1));
}

.text-\[\#FFD700\] {
  --tw-text-opacity: 1;
  color: rgb(255 215 0 / var(--tw-text-opacity, 1));
}

.text-\[\#c0caff\] {
  --tw-text-opacity: 1;
  color: rgb(192 202 255 / var(--tw-text-opacity, 1));
}

.text-\[\#d946ef\] {
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / var(--tw-text-opacity, 1));
}

.text-\[\#eceff1\] {
  --tw-text-opacity: 1;
  color: rgb(236 239 241 / var(--tw-text-opacity, 1));
}

.text-\[\#eceff1\]\/45 {
  color: rgb(236 239 241 / 0.45);
}

.text-\[\#eceff1\]\/50 {
  color: rgb(236 239 241 / 0.5);
}

.text-\[\#eceff1\]\/55 {
  color: rgb(236 239 241 / 0.55);
}

.text-\[\#eceff1\]\/65 {
  color: rgb(236 239 241 / 0.65);
}

.text-\[\#eceff1\]\/70 {
  color: rgb(236 239 241 / 0.7);
}

.text-\[\#eceff1\]\/75 {
  color: rgb(236 239 241 / 0.75);
}

.text-\[\#eceff1\]\/80 {
  color: rgb(236 239 241 / 0.8);
}

.text-\[\#eceff1\]\/85 {
  color: rgb(236 239 241 / 0.85);
}

.text-\[\#eceff1\]\/90 {
  color: rgb(236 239 241 / 0.9);
}

.text-\[\#eceff1\]\/95 {
  color: rgb(236 239 241 / 0.95);
}

.text-\[\#f87171\] {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-\[\#f8fafc\] {
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}

.text-\[\#fca5a5\] {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.text-\[\#fecaca\]\/95 {
  color: rgb(254 202 202 / 0.95);
}

.text-\[\#ff00e0\] {
  --tw-text-opacity: 1;
  color: rgb(255 0 224 / var(--tw-text-opacity, 1));
}

.text-\[hsl\(var\(--foreground\)\)\] {
  color: hsl(var(--foreground));
}

.text-\[hsl\(var\(--muted-foreground\)\)\] {
  color: hsl(var(--muted-foreground));
}

.text-\[rgba\(0\2c 209\2c 255\2c 0\.9\)\] {
  color: rgba(0,209,255,0.9);
}

.text-accent {
  color: hsl(var(--accent));
}

.text-accent-foreground {
  color: hsl(var(--accent-foreground));
}

.text-amber-100 {
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}

.text-amber-200 {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.text-amber-200\/80 {
  color: rgb(253 230 138 / 0.8);
}

.text-amber-200\/85 {
  color: rgb(253 230 138 / 0.85);
}

.text-amber-200\/90 {
  color: rgb(253 230 138 / 0.9);
}

.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\/30 {
  color: rgb(251 191 36 / 0.3);
}

.text-amber-400\/40 {
  color: rgb(251 191 36 / 0.4);
}

.text-amber-500 {
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-amber-600 {
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.text-amber-700 {
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-auroraCyan {
  --tw-text-opacity: 1;
  color: rgb(0 229 255 / var(--tw-text-opacity, 1));
}

.text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.text-black\/40 {
  color: rgb(0 0 0 / 0.4);
}

.text-black\/60 {
  color: rgb(0 0 0 / 0.6);
}

.text-blue-100 {
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}

.text-blue-200 {
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}

.text-blue-200\/80 {
  color: rgb(191 219 254 / 0.8);
}

.text-blue-300 {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.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-800 {
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / 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-200\/50 {
  color: rgb(165 243 252 / 0.5);
}

.text-cyan-200\/95 {
  color: rgb(165 243 252 / 0.95);
}

.text-cyan-300 {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.text-cyan-300\/50 {
  color: rgb(103 232 249 / 0.5);
}

.text-cyan-300\/60 {
  color: rgb(103 232 249 / 0.6);
}

.text-cyan-300\/70 {
  color: rgb(103 232 249 / 0.7);
}

.text-cyan-300\/80 {
  color: rgb(103 232 249 / 0.8);
}

.text-cyan-300\/90 {
  color: rgb(103 232 249 / 0.9);
}

.text-cyan-400 {
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.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-400\/90 {
  color: rgb(34 211 238 / 0.9);
}

.text-cyan-500 {
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}

.text-cyan-500\/40 {
  color: rgb(6 182 212 / 0.4);
}

.text-cyan-500\/50 {
  color: rgb(6 182 212 / 0.5);
}

.text-destructive {
  color: hsl(var(--destructive));
}

.text-destructive-foreground {
  color: hsl(var(--destructive-foreground));
}

.text-emerald-100 {
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}

.text-emerald-200\/95 {
  color: rgb(167 243 208 / 0.95);
}

.text-emerald-300 {
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.text-emerald-400 {
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.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-500 {
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

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

.text-foreground\/50 {
  color: hsl(var(--foreground) / 0.5);
}

.text-foreground\/80 {
  color: hsl(var(--foreground) / 0.8);
}

.text-fuchsia-100 {
  --tw-text-opacity: 1;
  color: rgb(250 232 255 / var(--tw-text-opacity, 1));
}

.text-fuchsia-400 {
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity, 1));
}

.text-gray-200 {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-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-100 {
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1));
}

.text-green-200 {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}

.text-green-200\/80 {
  color: rgb(187 247 208 / 0.8);
}

.text-green-200\/90 {
  color: rgb(187 247 208 / 0.9);
}

.text-green-300 {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.text-green-300\/70 {
  color: rgb(134 239 172 / 0.7);
}

.text-green-400 {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.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-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.text-m1ssion-blue {
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
}

.text-m1ssion-pink {
  --tw-text-opacity: 1;
  color: rgb(240 89 255 / var(--tw-text-opacity, 1));
}

.text-magenta-400 {
  --tw-text-opacity: 1;
  color: rgb(255 0 255 / var(--tw-text-opacity, 1));
}

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

.text-muted-foreground\/30 {
  color: hsl(var(--muted-foreground) / 0.3);
}

.text-muted-foreground\/40 {
  color: hsl(var(--muted-foreground) / 0.4);
}

.text-muted-foreground\/60 {
  color: hsl(var(--muted-foreground) / 0.6);
}

.text-muted-foreground\/70 {
  color: hsl(var(--muted-foreground) / 0.7);
}

.text-muted-foreground\/80 {
  color: hsl(var(--muted-foreground) / 0.8);
}

.text-orange-300 {
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}

.text-orange-400 {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.text-orange-400\/60 {
  color: rgb(251 146 60 / 0.6);
}

.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-orange-700 {
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-orange-800 {
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.text-pink-200 {
  --tw-text-opacity: 1;
  color: rgb(251 207 232 / var(--tw-text-opacity, 1));
}

.text-pink-400 {
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}

.text-pink-500 {
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}

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

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

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

.text-primary\/60 {
  color: hsl(var(--primary) / 0.6);
}

.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\/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\/70 {
  color: rgb(192 132 252 / 0.7);
}

.text-purple-500 {
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}

.text-purple-600 {
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.text-purple-800 {
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}

.text-red-100 {
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}

.text-red-200 {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.text-red-200\/80 {
  color: rgb(254 202 202 / 0.8);
}

.text-red-200\/95 {
  color: rgb(254 202 202 / 0.95);
}

.text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.text-red-300\/70 {
  color: rgb(252 165 165 / 0.7);
}

.text-red-300\/80 {
  color: rgb(252 165 165 / 0.8);
}

.text-red-300\/90 {
  color: rgb(252 165 165 / 0.9);
}

.text-red-400 {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.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\/30 {
  color: rgb(239 68 68 / 0.3);
}

.text-red-500\/40 {
  color: rgb(239 68 68 / 0.4);
}

.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-red-700 {
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.text-rose-200\/90 {
  color: rgb(254 205 211 / 0.9);
}

.text-rose-300 {
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}

.text-secondary {
  color: hsl(var(--secondary));
}

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

.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-transparent {
  color: transparent;
}

.text-violet-100 {
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity, 1));
}

.text-violet-400 {
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/20 {
  color: 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\/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-white\/95 {
  color: rgb(255 255 255 / 0.95);
}

.text-yellow-100 {
  --tw-text-opacity: 1;
  color: rgb(254 249 195 / var(--tw-text-opacity, 1));
}

.text-yellow-200 {
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}

.text-yellow-200\/70 {
  color: rgb(254 240 138 / 0.7);
}

.text-yellow-300 {
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

.text-yellow-300\/80 {
  color: rgb(253 224 71 / 0.8);
}

.text-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.text-yellow-400\/60 {
  color: rgb(250 204 21 / 0.6);
}

.text-yellow-400\/70 {
  color: rgb(250 204 21 / 0.7);
}

.text-yellow-400\/80 {
  color: rgb(250 204 21 / 0.8);
}

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.text-yellow-600 {
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}

.text-yellow-800 {
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.text-zinc-100 {
  --tw-text-opacity: 1;
  color: rgb(244 244 245 / var(--tw-text-opacity, 1));
}

.text-zinc-300 {
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}

.text-zinc-400 {
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}

.text-zinc-500 {
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}

.underline {
  text-decoration-line: underline;
}

.line-through {
  text-decoration-line: line-through;
}

.decoration-cyan-400 {
  text-decoration-color: #22d3ee;
}

.decoration-2 {
  text-decoration-thickness: 2px;
}

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

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.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-white\/40::-moz-placeholder {
  color: rgb(255 255 255 / 0.4);
}

.placeholder-white\/40::placeholder {
  color: rgb(255 255 255 / 0.4);
}

.caret-white {
  caret-color: #fff;
}

.\!opacity-100 {
  opacity: 1 !important;
}

.opacity-0 {
  opacity: 0;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-100 {
  opacity: 1;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-5 {
  opacity: 0.05;
}

.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-95 {
  opacity: 0.95;
}

.opacity-\[0\.02\] {
  opacity: 0.02;
}

.opacity-\[0\.03\] {
  opacity: 0.03;
}

.opacity-\[0\.05\] {
  opacity: 0.05;
}

.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_0_0_1px_hsl\(var\(--sidebar-border\)\)\] {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 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-\[0_0_10px_rgba\(0\2c 209\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 10px rgba(0,209,255,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\(0\2c 209\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 10px rgba(0,209,255,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\(217\2c 70\2c 239\2c 0\.5\)\] {
  --tw-shadow: 0 0 10px rgba(217,70,239,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_12px_rgba\(255\2c 255\2c 255\2c 0\.1\)\] {
  --tw-shadow: 0 0 12px rgba(255,255,255,0.1);
  --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_rgba\(0\2c 209\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(0,209,255,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\(0\2c 209\2c 255\2c 0\.5\)\] {
  --tw-shadow: 0 0 15px rgba(0,209,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\(0\2c 229\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(0,229,255,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\(0\2c 229\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(0,229,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 229\2c 255\2c 0\.7\)\] {
  --tw-shadow: 0 0 15px rgba(0,229,255,0.7);
  --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\(168\2c 85\2c 247\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(168,85,247,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\(240\2c 89\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 15px rgba(240,89,255,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\(34\2c 197\2c 94\2c 0\.4\)\] {
  --tw-shadow: 0 0 15px rgba(34,197,94,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\(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_16px_rgba\(255\2c 215\2c 0\2c 0\.8\)\] {
  --tw-shadow: 0 0 16px rgba(255,215,0,0.8);
  --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_20px_rgba\(0\2c 209\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(0,209,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 209\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 20px rgba(0,209,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\(0\2c 209\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 20px rgba(0,209,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\(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\(168\2c 85\2c 247\2c 0\.5\)\] {
  --tw-shadow: 0 0 20px rgba(168,85,247,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\(239\2c 68\2c 68\2c 0\.5\)\] {
  --tw-shadow: 0 0 20px rgba(239,68,68,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\(240\2c 89\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 20px rgba(240,89,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\(52\2c 211\2c 153\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(52,211,153,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\(59\2c 130\2c 246\2c 0\.4\)\] {
  --tw-shadow: 0 0 20px rgba(59,130,246,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_3px_\#00a3ff88\2c 0_1px_7px_\#9b87f577\] {
  --tw-shadow: 0 0 24px 3px #00a3ff88,0 1px 7px #9b87f577;
  --tw-shadow-colored: 0 0 24px 3px var(--tw-shadow-color), 0 1px 7px var(--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\(236\2c 72\2c 153\2c 0\.5\)\] {
  --tw-shadow: 0 0 25px rgba(236,72,153,0.5);
  --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\(250\2c 204\2c 21\2c 0\.5\)\] {
  --tw-shadow: 0 0 25px rgba(250,204,21,0.5);
  --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_28px_\#00a3ff88\2c 0_1px_8px_0_\#9b87f588\] {
  --tw-shadow: 0 0 28px #00a3ff88,0 1px 8px 0 #9b87f588;
  --tw-shadow-colored: 0 0 28px var(--tw-shadow-color), 0 1px 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-\[0_0_30px_rgba\(0\2c 209\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 30px rgba(0,209,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 209\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px rgba(0,209,255,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\(124\2c 58\2c 237\2c 0\.35\)\] {
  --tw-shadow: 0 0 30px rgba(124,58,237,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\(168\2c 85\2c 247\2c 0\.4\)\] {
  --tw-shadow: 0 0 30px rgba(168,85,247,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\(245\2c 158\2c 11\2c 0\.4\)\] {
  --tw-shadow: 0 0 30px rgba(245,158,11,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\(255\2c 255\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 0 30px rgba(255,255,255,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_32px_2px_\#00a3ff99\] {
  --tw-shadow: 0 0 32px 2px #00a3ff99;
  --tw-shadow-colored: 0 0 32px 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-\[0_0_40px_rgba\(0\2c 229\2c 255\2c 0\.15\)\] {
  --tw-shadow: 0 0 40px rgba(0,229,255,0.15);
  --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 231\2c 255\2c 0\.25\)\] {
  --tw-shadow: 0 0 40px rgba(0,231,255,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_48px_rgba\(0\2c 231\2c 255\2c 0\.28\)\] {
  --tw-shadow: 0 0 48px rgba(0,231,255,0.28);
  --tw-shadow-colored: 0 0 48px var(--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\(0\2c 209\2c 255\2c 0\.4\)\] {
  --tw-shadow: 0 0 50px rgba(0,209,255,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_60px_rgba\(30\2c 174\2c 219\2c 0\.4\)\] {
  --tw-shadow: 0 0 60px rgba(30,174,219,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_8px_rgba\(0\2c 209\2c 255\2c 0\.8\)\] {
  --tw-shadow: 0 0 8px rgba(0,209,255,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_12px_40px_rgba\(0\2c 180\2c 255\2c 0\.35\)\] {
  --tw-shadow: 0 12px 40px rgba(0,180,255,0.35);
  --tw-shadow-colored: 0 12px 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_-20px_rgba\(0\2c 229\2c 255\2c 0\.3\)\] {
  --tw-shadow: 0 20px 60px -20px rgba(0,229,255,0.3);
  --tw-shadow-colored: 0 20px 60px -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_18px_rgba\(0\2c 0\2c 0\2c 0\.65\)\2c 0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.12\)_inset\] {
  --tw-shadow: 0 6px 18px rgba(0,0,0,0.65),0 0 0 1px rgba(255,255,255,0.12) inset;
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color), inset 0 0 0 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-\[inset_0_12px_24px_rgba\(0\2c 0\2c 0\2c \.45\)\] {
  --tw-shadow: inset 0 12px 24px rgba(0,0,0,.45);
  --tw-shadow-colored: inset 0 12px 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-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-m1-card {
  --tw-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), inset 0 2px 3px rgba(255, 255, 255, 0.05);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), inset 0 2px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-m1-glow-cyan {
  --tw-shadow: 0 0 24px rgba(0, 229, 255, 0.38);
  --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-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-blue-500\/30 {
  --tw-shadow-color: rgb(59 130 246 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-400\/80 {
  --tw-shadow-color: rgb(34 211 238 / 0.8);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/10 {
  --tw-shadow-color: rgb(6 182 212 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/20 {
  --tw-shadow-color: rgb(6 182 212 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/30 {
  --tw-shadow-color: rgb(6 182 212 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/50 {
  --tw-shadow-color: rgb(6 182 212 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-gray-500\/20 {
  --tw-shadow-color: rgb(107 114 128 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-500\/20 {
  --tw-shadow-color: rgb(34 197 94 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-500\/30 {
  --tw-shadow-color: rgb(34 197 94 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-pink-500\/30 {
  --tw-shadow-color: rgb(236 72 153 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-purple-500\/30 {
  --tw-shadow-color: rgb(168 85 247 / 0.3);
  --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-purple-600\/60 {
  --tw-shadow-color: rgb(147 51 234 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-500\/20 {
  --tw-shadow-color: rgb(239 68 68 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-500\/30 {
  --tw-shadow-color: rgb(239 68 68 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-400\/30 {
  --tw-shadow-color: rgb(148 163 184 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-white\/10 {
  --tw-shadow-color: rgb(255 255 255 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-400\/40 {
  --tw-shadow-color: rgb(250 204 21 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-500\/20 {
  --tw-shadow-color: rgb(234 179 8 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-500\/30 {
  --tw-shadow-color: rgb(234 179 8 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-500\/50 {
  --tw-shadow-color: rgb(234 179 8 / 0.5);
  --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-0 {
  --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(0px + 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-\[\#00D1FF\] {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.ring-\[\#00D1FF\]\/50 {
  --tw-ring-color: rgb(0 209 255 / 0.5);
}

.ring-\[\#FFD700\]\/40 {
  --tw-ring-color: rgb(255 215 0 / 0.4);
}

.ring-amber-700 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(180 83 9 / var(--tw-ring-opacity, 1));
}

.ring-cyan-400\/30 {
  --tw-ring-color: rgb(34 211 238 / 0.3);
}

.ring-cyan-400\/50 {
  --tw-ring-color: rgb(34 211 238 / 0.5);
}

.ring-cyan-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1));
}

.ring-cyan-500\/30 {
  --tw-ring-color: rgb(6 182 212 / 0.3);
}

.ring-gray-600 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1));
}

.ring-green-400\/50 {
  --tw-ring-color: rgb(74 222 128 / 0.5);
}

.ring-m1ssion-blue {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.ring-primary {
  --tw-ring-color: hsl(var(--primary));
}

.ring-primary\/50 {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}

.ring-purple-400\/30 {
  --tw-ring-color: rgb(192 132 252 / 0.3);
}

.ring-purple-500 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}

.ring-ring {
  --tw-ring-color: hsl(var(--ring));
}

.ring-slate-300 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity, 1));
}

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

.ring-yellow-400 {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1));
}

.ring-offset-1 {
  --tw-ring-offset-width: 1px;
}

.ring-offset-2 {
  --tw-ring-offset-width: 2px;
}

.ring-offset-background {
  --tw-ring-offset-color: hsl(var(--background));
}

.ring-offset-black {
  --tw-ring-offset-color: #000;
}

.ring-offset-black\/50 {
  --tw-ring-offset-color: rgb(0 0 0 / 0.5);
}

.ring-offset-transparent {
  --tw-ring-offset-color: transparent;
}

.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-\[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-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-150 {
  --tw-brightness: brightness(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);
}

.brightness-200 {
  --tw-brightness: brightness(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 {
  --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 209\2c 255\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(0,209,255,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_10px_rgba\(255\2c 255\2c 255\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 10px 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_12px_rgba\(0\2c 231\2c 255\2c \.85\)\] {
  --tw-drop-shadow: drop-shadow(0 0 12px rgba(0,231,255,.85));
  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_16px_\#00a3ff\] {
  --tw-drop-shadow: drop-shadow(0 0 16px #00a3ff);
  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_18px_\#d4ff44\] {
  --tw-drop-shadow: drop-shadow(0 0 18px #d4ff44);
  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 209\2c 255\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(0,209,255,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_22px_\#33c3f0\] {
  --tw-drop-shadow: drop-shadow(0 0 22px #33c3f0);
  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_32px_\#baff1a\] {
  --tw-drop-shadow: drop-shadow(0 0 32px #baff1a);
  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\(242\2c 19\2c 164\2c 0\.6\)\] {
  --tw-drop-shadow: drop-shadow(0 0 6px rgba(242,19,164,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_\#181641\] {
  --tw-drop-shadow: drop-shadow(0 0 8px #181641);
  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\(0\2c 209\2c 255\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(0,209,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_8px_rgba\(0\2c 229\2c 255\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(0,229,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_8px_rgba\(250\2c 204\2c 21\2c 0\.7\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(250,204,21,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 215\2c 0\2c 0\.8\)\] {
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(255,215,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-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-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  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);
}

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

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

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

.filter-none {
  filter: none;
}

.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-\[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-\[4px\] {
  --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-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);
}

.backdrop-filter {
  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-\[left\2c right\2c width\] {
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[margin\2c opa\] {
  transition-property: margin,opa;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c height\2c padding\] {
  transition-property: width,height,padding;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\] {
  transition-property: width;
  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;
}

.delay-100 {
  transition-delay: 100ms;
}

.delay-1000 {
  transition-delay: 1000ms;
}

.delay-200 {
  transition-delay: 200ms;
}

.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 {
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-linear {
  transition-timing-function: linear;
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

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

@keyframes enter {
  from {
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit {
  to {
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

.animate-in {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

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

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

.fade-in-80 {
  --tw-enter-opacity: 0.8;
}

.fade-out {
  --tw-exit-opacity: 0;
}

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

.slide-in-from-bottom-4 {
  --tw-enter-translate-y: 1rem;
}

.slide-in-from-bottom-5 {
  --tw-enter-translate-y: 1.25rem;
}

.duration-100 {
  animation-duration: 100ms;
}

.duration-1000 {
  animation-duration: 1000ms;
}

.duration-150 {
  animation-duration: 150ms;
}

.duration-200 {
  animation-duration: 200ms;
}

.duration-300 {
  animation-duration: 300ms;
}

.duration-500 {
  animation-duration: 500ms;
}

.duration-700 {
  animation-duration: 700ms;
}

.delay-100 {
  animation-delay: 100ms;
}

.delay-1000 {
  animation-delay: 1000ms;
}

.delay-200 {
  animation-delay: 200ms;
}

.ease-in {
  animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out {
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-linear {
  animation-timing-function: linear;
}

.ease-out {
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.running {
  animation-play-state: running;
}

.\!paused {
  animation-play-state: paused !important;
}

.paused {
  animation-play-state: paused;
}

/* ========================================
     ACCESSIBILITY - Screen Reader Only
     ======================================== */

/**
   * Screen reader only - completely hidden but accessible
   * Used for live regions and accessible labels
   */

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

/* ========================================
     RECONNECT BADGE - Network Status
     ======================================== */

/**
   * Reconnect badge container
   * Fixed position with safe area awareness
   * Auto-positioning: top by default, bottom if toast present
   */

.reconnect-badge {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0px) + 1rem);
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    pointer-events: none;
    animation: slideInDown 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }

/**
   * Bottom positioning variant
   * Used when toast is present to avoid overlap
   */

.reconnect-badge.reconnect-bottom {
    top: auto;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 5rem);
    animation: slideInUp 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
  }

/**
   * RTL support
   */

[dir="rtl"] .reconnect-badge {
    left: auto;
    right: 50%;
    transform: translateX(50%);
  }

/**
   * Badge content with glassmorphism effect
   * Uses semantic HSL colors from design system
   */

.reconnect-badge-content {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: hsl(var(--card) / 0.95);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid hsl(var(--border) / 0.3);
    border-radius: 9999px;
    box-shadow: 
      0 4px 12px hsl(var(--background) / 0.3),
      0 2px 4px hsl(var(--background) / 0.2);
  }

/**
   * Spinner icon animation
   */

.reconnect-badge-spinner {
    flex-shrink: 0;
    color: hsl(var(--primary));
    animation: spin 1s linear infinite;
  }

/**
   * Badge text styling
   */

.reconnect-badge-text {
    font-size: 0.875rem;
    font-weight: 500;
    color: hsl(var(--foreground));
    white-space: nowrap;
  }

/* ========================================
     ANIMATIONS
     ======================================== */

@keyframes slideInDown {
    from {
      opacity: 0;
      transform: translate(-50%, -1rem);
    }
    to {
      opacity: 1;
      transform: translate(-50%, 0);
    }
  }

@keyframes slideInUp {
    from {
      opacity: 0;
      transform: translate(-50%, 1rem);
    }
    to {
      opacity: 1;
      transform: translate(-50%, 0);
    }
  }

/**
   * RTL animation variants
   */

[dir="rtl"] @keyframes slideInDown {
    from {
      opacity: 0;
      transform: translate(50%, -1rem);
    }
    to {
      opacity: 1;
      transform: translate(50%, 0);
    }
  }

[dir="rtl"] @keyframes slideInUp {
    from {
      opacity: 0;
      transform: translate(50%, 1rem);
    }
    to {
      opacity: 1;
      transform: translate(50%, 0);
    }
  }

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

/* ========================================
     DARK MODE OVERRIDES
     ======================================== */

@media (prefers-color-scheme: dark) {
    .reconnect-badge-content {
      background: hsl(var(--card) / 0.98);
      border-color: hsl(var(--border) / 0.4);
    }
  }

/* ========================================
     REDUCED MOTION SUPPORT
     ======================================== */

@media (prefers-reduced-motion: reduce) {
    .reconnect-badge {
      animation: none;
    }
    
    .reconnect-badge-spinner {
      animation: none;
    }
  }

.\[text-fill-color\:transparent\] {
  text-fill-color: transparent;
}

.\[text-rendering\:optimizeLegibility\] {
  text-rendering: optimizeLegibility;
}

.\[useUnifiedPush\:init\] {
  use-unified-push: init;
}

/* ========================================
   iOS NATIVE WRAPPER FIXES (WKWebView)
   Scoped to body.is-native to avoid PWA regressions
   ======================================== */

/**
 * Fix layout issues specific to Capacitor iOS WKWebView
 * These rules ONLY apply when app runs in native wrapper
 * 
 * 🔧 FIX 22/01/2026: REMOVED position:fixed from body
 * position:fixed on body creates a stacking context that breaks
 * scroll behavior and causes the "draggable overlay" bug on iOS
 */
body.is-native {
  /* 🔧 FIX 27/01/2026 (Option B): REMOVED overscroll-behavior: none
   * Was killing iOS rubber-band bounce. Now body allows native overscroll,
   * but body itself is not a scroll container (overflow: hidden).
   * The actual scroll container (.m1-single-scroll-root) handles scrolling.
   */
  /* overscroll-behavior: none; — REMOVED for native iOS bounce */
  /* 🚨 DO NOT USE position:fixed here - causes draggable overlay bug! */
  /* 🔧 FIX 25/01/2026: overflow-y: hidden (was auto) to prevent nested scroll containers */
  /* Only <main> should scroll - body must NOT be a scroll container */
  overflow-y: hidden;
  overflow-x: hidden;
  /* Ensure full height without breaking scroll context */
  min-height: 100vh;
  min-height: 100dvh;
  /* 🔧 FIX 27/01/2026 v8.4: Background transparent - html gradient shows through */
  background: transparent !important;
  background-color: transparent !important;
}

/**
 * Ensure modals with fixed positioning work correctly
 * WKWebView can have issues with transform stacking contexts
 */
body.is-native .fixed {
  /* Force GPU layer for fixed elements */
  transform: translateZ(0);
}

/**
 * Safe area inset corrections for native
 * WKWebView may report different values than Safari PWA
 */
body.is-native [data-safe-area-top] {
  padding-top: env(safe-area-inset-top, 47px);
}

body.is-native [data-safe-area-bottom] {
  padding-bottom: env(safe-area-inset-bottom, 34px);
}

/* ========================================
   🔧 FIX v4 (22/01/2026): Anti-Draggable Overlay Defense
   Prevents the "draggable half-page" bug on iOS WKWebView
   ======================================== */

/**
 * Single scroll root marker - ensures ONE element handles scrolling
 * Applied by GlobalLayout and AppHome
 */
body.is-native .m1-single-scroll-root {
  /* Ensure this is THE scroll container */
  -webkit-overflow-scrolling: touch;
  /* 🔧 FIX 27/01/2026 (Option B): contain → auto for native iOS rubber-band bounce */
  overscroll-behavior: auto;
  /* Prevent any inherited transforms from creating drag effect */
  transform: none !important;
}

/* ========================================
   🔧 FIX 27/01/2026 v8: FORCE iOS BOUNCE ON ALL SCROLL CONTAINERS
   
   ROOT CAUSE: index.css has "overscroll-behavior-y: contain" which kills bounce
   FIX: Override ALL scrollable containers to allow native iOS rubber-band bounce
   ======================================== */

body.is-native,
body.is-native html,
body.is-native #root,
body.is-native main,
body.is-native .global-layout-content,
body.is-native .safe-area-wrapper,
body.is-native [style*="overflow"] {
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: auto !important;
  overscroll-behavior-y: auto !important;
  overscroll-behavior-x: auto !important;
}

/**
 * Prevent motion.div children from creating persistent transforms
 * when not actively in a gesture
 */
body.is-native .m1-single-scroll-root > div:not([style*="translateY"]) {
  transform: none;
}

/**
 * Kill any lingering translateY on idle content
 * This is aggressive but necessary for iOS
 */
body.is-native [data-idle-content="true"] {
  transform: none !important;
  will-change: auto !important;
}

/**
 * Ensure no element inside single scroll root creates a nested scroll trap
 */
body.is-native .m1-single-scroll-root * {
  /* Only allow overflow on explicitly marked elements */
  --m1-allow-scroll: 0;
}

body.is-native .m1-single-scroll-root [data-allow-scroll="true"] {
  --m1-allow-scroll: 1;
}

/* ========================================
   🔧 FIX 27/01/2026 v4: NATIVE BACKGROUND LAYER (PWA PARITY)
   
   ROOT CAUSE OF REGRESSION: Setting solid backgrounds on containers
   (body, #root, wrapper) caused "hard cut" under header because the
   background doesn't extend behind header like PWA gradient does.
   
   SOLUTION: Create a FIXED pseudo-element background layer on body
   that uses the same gradient as PWA html. This layer:
   - Sits at z-index: -1 (behind everything)
   - Is position: fixed (covers entire viewport including behind header)
   - Uses same gradient as PWA html element
   - Has pointer-events: none (doesn't interfere with UI)
   
   Containers remain transparent so the gradient shows through.
   ======================================== */

/* 🔧 FIX 27/01/2026 v8.3: REMOVED fixed gradient ::before
   
   PROBLEM: During iOS bounce, the fixed ::before stays in place while content moves,
   creating a visual "dark overlay" effect.
   
   SOLUTION: Remove the pseudo-element. Use html/body background directly,
   which moves with the content during bounce.
*/
/* body.is-native::before - REMOVED */

/* 🔧 FIX 27/01/2026 v8.5: BOUNCE OVERLAY FIX - FINAL
   
   PROBLEM: During iOS bounce, a dark "overlay" appears covering content.
   - When at TOP and pulling DOWN → overlay from top
   - When at BOTTOM and pulling UP → overlay from bottom
   
   ROOT CAUSE: Fixed elements (header/bottom nav wrappers) have areas that 
   extend beyond their visible pills. These areas may have backdrop-filter
   or inherited backgrounds that show during bounce.
   
   SOLUTION: 
   1. Remove all backgrounds from wrappers
   2. Disable backdrop-filter on wrapper elements (only pills should have it)
   3. Ensure ONLY the pill elements have backgrounds/blur
*/

/* CRITICAL: Remove fixed background-attachment on native iOS */
html.capacitor-ios,
html[data-capacitor="ios"] {
  background-attachment: scroll !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎬 GLOBAL DARK THEME - Briefing Buzz Style
   ALL pages are dark - no white backgrounds anywhere
   © 2026 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
   ═══════════════════════════════════════════════════════════════════════════ */

/* GLOBAL DARK: ALL native pages use dark gradient */
html,
body,
body.is-native,
html.capacitor-ios,
html[data-capacitor="ios"] {
  background: linear-gradient(180deg, #0a0a0f 0%, #0d1117 50%, #0a0a0f 100%) !important;
  background-color: #0a0a0f !important;
}

/* All containers transparent */
body.is-native #root,
body.is-native .safe-area-wrapper,
body.is-native .global-layout-content,
body.is-native main {
  background: transparent !important;
  background-color: transparent !important;
}

/* ========================================
   HEADER & BOTTOM NAV WRAPPER FIX
   Ensure wrappers are completely transparent
   Only the INNER pills should have backgrounds
   ======================================== */

/* Header wrapper - completely transparent */
body.is-native .unified-header-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Bottom nav wrapper - completely transparent */
body.is-native .bottom-navigation-ios {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* MinimalHeaderStrip - transparent */
body.is-native [class*="MinimalHeaderStrip"],
body.is-native [class*="minimal-header"] {
  background: transparent !important;
  backdrop-filter: none !important;
}

/* ========================================
   🔧 FIX 27/01/2026 v3: NATIVE LAYOUT OFFSET CORRECTION
   
   ROOT CAUSE: index.css rules use html.capacitor-ios selector which is NEVER SET.
   The app only sets body.is-native. This fix uses the correct selector.
   
   PROBLEM: Without this fix, content has DOUBLE spacing:
   - m1-first-content-offset adds margin-top: ~130px
   - GlobalLayout paddingTop is 0 but pages add their own offset
   Result: Content pushed too far down, appears "cut off" at bottom
   
   FIX: Neutralize the first-content-offset margins in native mode
   since native WKWebView handles safe area differently.
   ======================================== */

/* Native layout offset: Replace large margin with compact native-appropriate value */
body.is-native .m1-first-content-offset,
body.is-native .m1-first-content-offset-compact,
body.is-native .m1-first-content-offset-spacious {
  /* Native iOS: header space handled by safe-area, just add breathing room */
  margin-top: calc(80px + env(safe-area-inset-top, 47px) + 8px) !important;
}

/* Native: Ensure main content area doesn't have competing padding */
body.is-native .global-layout-content,
body.is-native .m1-single-scroll-root {
  /* Let the page offset classes handle top spacing */
  padding-top: 0 !important;
}

/* ========================================
   🔧 FIX 27/01/2026 v3: AION CLOUD ANTI-CLIPPING
   Ensure the AION entity and decorative elements are not clipped
   ======================================== */

body.is-native .m1-single-scroll-root {
  /* Allow decorative elements to extend beyond scroll bounds */
  overflow-x: visible !important;
  clip-path: none !important;
}

/* Ensure scroll content area takes proper height */
body.is-native .global-layout-content {
  /* Use dvh for proper iOS viewport height */
  min-height: 100dvh !important;
  min-height: -webkit-fill-available !important;
}

/* ========================================
   🔧 FIX 27/01/2026 v8: PILL ORB FIX
   
   SOLUTION: Pill is now position:fixed overlay (like Map page)
   No overflow hacks needed - the pill sits above all containers.
   ======================================== */

/* Ensure fixed pill overlays have correct z-index and don't get clipped */
body.is-native #m1u-pill-home-slot,
body.is-native #m1u-pill-buzz-slot,
body.is-native #m1u-pill-map3d-slot {
  z-index: 1001 !important;
  pointer-events: auto !important;
}

/* ========================================
   🎬 GLOBAL DARK THEME: HEADER (Briefing Buzz Style)
   ALL pages use dark glass header with neon accents
   ======================================== */

/* Dark glass header - ALL pages */
body.is-native .unified-header-wrapper header,
body.is-native .unified-header-wrapper [class*="header-pill"],
body.is-native .unified-header-wrapper > div > div:first-child {
  background: rgba(10, 10, 15, 0.92) !important;
  backdrop-filter: blur(24px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
  border: 1px solid rgba(0, 209, 255, 0.18) !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.5), 0 0 15px rgba(0, 209, 255, 0.1) !important;
}

/* Header text - WHITE for dark glass */
body.is-native .unified-header-wrapper header *,
body.is-native .unified-header-wrapper [class*="text"] {
  color: rgba(255, 255, 255, 0.95) !important;
  opacity: 1 !important;
}

/* Header icons - CYAN neon glow */
body.is-native .unified-header-wrapper svg {
  color: #00D1FF !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 4px rgba(0, 209, 255, 0.4));
}

/* ========================================
   🎬 GLOBAL DARK THEME: BOTTOM NAVIGATION (Briefing Buzz Style)
   ALL pages use dark glass bottom nav
   ======================================== */

/* Dark glass bottom nav - ALL pages */
body.is-native .bottom-navigation-ios nav,
body.is-native .bottom-navigation-ios > div > nav,
body.is-native #m1-bottom-nav nav {
  background: rgba(10, 10, 15, 0.92) !important;
  backdrop-filter: blur(24px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
  border-top: 1px solid rgba(0, 209, 255, 0.18) !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5), 0 0 15px rgba(0, 209, 255, 0.1) !important;
}

/* Bottom nav inactive icons - WHITE for dark glass */
body.is-native .bottom-navigation-ios button:not([class*="active"]) svg,
body.is-native .bottom-navigation-ios button[data-active="false"] svg,
body.is-native #m1-bottom-nav button:not(.active) svg {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1 !important;
}

/* Bottom nav inactive text - WHITE for dark glass */
body.is-native .bottom-navigation-ios button:not([class*="active"]) span,
body.is-native #m1-bottom-nav button:not(.active) span {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1 !important;
}

/* Active state - CYAN neon glow */
body.is-native .bottom-navigation-ios button[class*="active"] svg,
body.is-native .bottom-navigation-ios button[data-active="true"] svg,
body.is-native #m1-bottom-nav button.active svg {
  color: #00D1FF !important;
  filter: drop-shadow(0 0 6px rgba(0, 209, 255, 0.6)) !important;
}

body.is-native .bottom-navigation-ios button[class*="active"] span,
body.is-native #m1-bottom-nav button.active span {
  color: #00D1FF !important;
}

/* ========================================
   🔧 FIX 30/01/2026: .sn-page WHITE THEME iOS CONTRAST
   
   When white theme (.sn-page) is active on iOS native,
   header and nav need DARK backgrounds for light theme
   ======================================== */

/* ========================================
   WHITE THEME (.sn-page) HEADER - UNIVERSAL
   Works on iOS native AND web browsers
   ======================================== */

/* White theme header - white glass on light background */
html.sn-page .unified-header-wrapper header,
body.sn-page .unified-header-wrapper header,
body.is-native.sn-page .unified-header-wrapper header,
body.is-native .sn-page ~ .unified-header-wrapper header,
html.sn-page body.is-native .unified-header-wrapper header {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(255,255,255,0.5) inset !important;
}

/* White theme header text - dark for contrast */
html.sn-page .unified-header-wrapper header *,
body.sn-page .unified-header-wrapper header *,
body.is-native.sn-page .unified-header-wrapper header *,
body.is-native .sn-page ~ .unified-header-wrapper header *,
html.sn-page body.is-native .unified-header-wrapper header * {
  color: #1C1C1E !important;
  text-shadow: none !important;
}

/* White theme header icons - dark */
html.sn-page .unified-header-wrapper header svg,
body.sn-page .unified-header-wrapper header svg {
  color: #0A84FF !important;
  filter: none !important;
}

/* White theme M1SSION logo - accent color */
html.sn-page .unified-header-wrapper .m1ssion-logo span:first-child,
body.sn-page .unified-header-wrapper .m1ssion-logo span:first-child {
  color: #0A84FF !important;
  text-shadow: none !important;
}

html.sn-page .unified-header-wrapper .m1ssion-logo span:last-child,
body.sn-page .unified-header-wrapper .m1ssion-logo span:last-child {
  color: #1C1C1E !important;
  text-shadow: none !important;
}

/* ========================================
   WHITE THEME (.sn-page) BOTTOM NAV - UNIVERSAL
   Works on iOS native AND web browsers
   ======================================== */

/* White theme bottom nav - white glass */
html.sn-page .bottom-navigation-ios nav,
body.sn-page .bottom-navigation-ios nav,
html.sn-page #m1-bottom-nav nav,
body.sn-page #m1-bottom-nav nav,
body.is-native.sn-page .bottom-navigation-ios nav,
body.is-native .sn-page ~ .bottom-navigation-ios nav,
html.sn-page body.is-native .bottom-navigation-ios nav,
html.sn-page body.is-native #m1-bottom-nav nav {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(255,255,255,0.5) inset !important;
}

/* White theme nav icons - dark inactive */
html.sn-page .bottom-navigation-ios button:not([class*="active"]) svg,
body.sn-page .bottom-navigation-ios button:not([class*="active"]) svg,
html.sn-page #m1-bottom-nav button:not([class*="active"]) svg,
body.sn-page #m1-bottom-nav button:not([class*="active"]) svg,
body.is-native.sn-page .bottom-navigation-ios button:not([class*="active"]) svg,
html.sn-page body.is-native .bottom-navigation-ios button:not([class*="active"]) svg {
  color: #6B7280 !important;
}

/* White theme nav active - accent color */
html.sn-page .bottom-navigation-ios button[class*="active"] svg,
body.sn-page .bottom-navigation-ios button[class*="active"] svg,
html.sn-page #m1-bottom-nav button[class*="active"] svg,
body.sn-page #m1-bottom-nav button[class*="active"] svg,
body.is-native.sn-page .bottom-navigation-ios button[class*="active"] svg,
html.sn-page body.is-native .bottom-navigation-ios button[class*="active"] svg {
  color: #0A84FF !important;
}

/* White theme nav text/labels */
html.sn-page .bottom-navigation-ios button span,
body.sn-page .bottom-navigation-ios button span {
  color: #6B7280 !important;
}

/* ========================================
   WHITE THEME (.sn-page) SETTINGS SHEET/PANEL
   Expandable container with readable text
   ======================================== */

/* Settings modal/sheet - white glass background */
html.sn-page [data-radix-dialog-content],
body.sn-page [data-radix-dialog-content],
html.sn-page .settings-modal,
body.sn-page .settings-modal,
html.sn-page [role="dialog"],
body.sn-page [role="dialog"] {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Settings modal text - high contrast dark */
html.sn-page [data-radix-dialog-content] *,
body.sn-page [data-radix-dialog-content] *,
html.sn-page .settings-modal *,
body.sn-page .settings-modal * {
  color: #1C1C1E !important;
}

/* Settings modal secondary text */
html.sn-page [data-radix-dialog-content] .text-gray-400,
body.sn-page [data-radix-dialog-content] .text-gray-400,
html.sn-page [data-radix-dialog-content] .text-gray-500,
body.sn-page [data-radix-dialog-content] .text-gray-500,
html.sn-page .settings-modal .text-muted-foreground,
body.sn-page .settings-modal .text-muted-foreground {
  color: #6B7280 !important;
}

/* Settings modal icons */
html.sn-page [data-radix-dialog-content] svg,
body.sn-page [data-radix-dialog-content] svg,
html.sn-page .settings-modal svg,
body.sn-page .settings-modal svg {
  color: #0A84FF !important;
}

/* Settings modal cards/list items */
html.sn-page [data-radix-dialog-content] .card,
body.sn-page [data-radix-dialog-content] .card,
html.sn-page .settings-modal [class*="card"],
body.sn-page .settings-modal [class*="card"] {
  background: rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

/* Expandable panels/sheets with drag handle */
html.sn-page [data-vaul-drawer],
body.sn-page [data-vaul-drawer],
html.sn-page .drawer-content,
body.sn-page .drawer-content {
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(24px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
}

html.sn-page [data-vaul-drawer] *,
body.sn-page [data-vaul-drawer] * {
  color: #1C1C1E !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🔧 OPTION B PHASE 2: HOME CONTAINERS WHITE THEME
   31/01/2026 - Make containers WHITE like M1SSION PANEL
   ═══════════════════════════════════════════════════════════════════════════ */

/* ========================================
   BOTTOM NAV PILL - UNIFIED DARK GLASS ALL PAGES
   🔧 FIX 30/01/2026: SEMPRE dark glass, non dipende da .sn-page-dark
   Questo assicura aspetto identico su Home, Map, Buzz, Intelligence, ecc.
   ======================================== */
body.is-native .bottom-navigation-ios > div,
body.is-native .bottom-navigation-ios .bottom-nav-pill,
.bottom-navigation-ios > div,
.bottom-navigation-ios .bottom-nav-pill {
  /* iOS Folder Glass - SEMPRE dark - WHITE glow (no cyan) */
  background: rgba(10, 10, 12, 0.22) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* Subtle top sheen overlay - unified */
.bottom-navigation-ios .bottom-nav-pill::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 40%);
  z-index: 0;
}

/* ========================================
   BOTTOM NAV ICON COLORS - UNIFIED ALL PAGES
   🔧 FIX 30/01/2026: WHITE inactive (non nero) per dark glass
   NEON CYAN when active (#00D1FF)
   ======================================== */

/* Inactive icons - WHITE/GRAY for dark glass background */
body.is-native .bottom-navigation-ios .bottom-nav-inactive,
body.is-native .bottom-navigation-ios .bottom-nav-inactive svg,
body.is-native .bottom-navigation-ios .bottom-nav-inactive span,
body.is-native .bottom-navigation-ios .bottom-nav-btn:not(.bottom-nav-active),
.bottom-navigation-ios .bottom-nav-inactive,
.bottom-navigation-ios .bottom-nav-inactive svg,
.bottom-navigation-ios .bottom-nav-inactive span,
.bottom-navigation-ios .bottom-nav-btn:not(.bottom-nav-active) {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* Active icons - NEON CYAN with glow - UNIFIED ALL PAGES */
body.is-native .bottom-navigation-ios .bottom-nav-active,
body.is-native .bottom-navigation-ios .bottom-nav-active svg,
body.is-native .bottom-navigation-ios .bottom-nav-active span,
.bottom-navigation-ios .bottom-nav-active,
.bottom-navigation-ios .bottom-nav-active svg,
.bottom-navigation-ios .bottom-nav-active span {
  color: #00D1FF !important;
}

body.is-native .bottom-navigation-ios .bottom-nav-active svg,
.bottom-navigation-ios .bottom-nav-active svg {
  filter: drop-shadow(0 0 4px rgba(0, 209, 255, 0.5)) !important;
}

/* Active indicator line - keep cyan glow */
body.is-native .bottom-navigation-ios [style*="background-color: #00D1FF"],
body.is-native .bottom-navigation-ios [style*="background-color: rgb(0, 209, 255)"],
.bottom-navigation-ios [style*="background-color: #00D1FF"],
.bottom-navigation-ios [style*="background-color: rgb(0, 209, 255)"] {
  background-color: #00D1FF !important;
  box-shadow: 0 0 8px #00D1FF, 0 0 16px #00D1FF !important;
}

/* Active background circle - dark for dark glass theme */
body.is-native .bottom-navigation-ios [style*="background: rgba(0, 0, 0, 0.4)"],
.bottom-navigation-ios [style*="background: rgba(0, 0, 0, 0.4)"] {
  background: rgba(0, 0, 0, 0.4) !important;
}

/* ========================================
   M1SSION PRIZE / AGENT / BATTLE / TEMPO RIMASTO
   WHITE CONTAINERS with DARK visible text
   ======================================== */

/* Override m1-relief to WHITE GLASS for iOS native */
body.is-native .m1-relief,
body.is-native .m1-relief-sm {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-top-color: rgba(0, 0, 0, 0.06) !important;
  border-bottom-color: rgba(0, 0, 0, 0.1) !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.08),
    0 4px 16px rgba(0, 0, 0, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

/* Override m1-card to WHITE for iOS native */
body.is-native .m1-card {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
}

/* Remove gradient border overlay for m1-card in iOS native */
body.is-native .m1-card::before {
  display: none !important;
}

/* Text colors inside containers - DARK for visibility */
body.is-native .m1-relief h2,
body.is-native .m1-relief h3,
body.is-native .m1-relief-sm h2,
body.is-native .m1-relief-sm h3,
body.is-native .m1-card h2,
body.is-native .m1-card h3 {
  color: #1C1C1E !important;
}

body.is-native .m1-relief .text-white,
body.is-native .m1-relief-sm .text-white,
body.is-native .m1-card .text-white {
  color: #1C1C1E !important;
}

body.is-native .m1-relief .text-white\/80,
body.is-native .m1-relief-sm .text-white\/80,
body.is-native .m1-card .text-white\/80 {
  color: rgba(28, 28, 30, 0.8) !important;
}

body.is-native .m1-relief .text-white\/60,
body.is-native .m1-relief-sm .text-white\/60,
body.is-native .m1-card .text-white\/60 {
  color: rgba(28, 28, 30, 0.6) !important;
}

body.is-native .m1-relief .text-white\/50,
body.is-native .m1-relief-sm .text-white\/50,
body.is-native .m1-card .text-white\/50 {
  color: rgba(28, 28, 30, 0.5) !important;
}

body.is-native .m1-relief .text-white\/40,
body.is-native .m1-relief-sm .text-white\/40,
body.is-native .m1-card .text-white\/40 {
  color: rgba(28, 28, 30, 0.4) !important;
}

/* Keep accent colors visible */
body.is-native .m1-relief .text-\[\#00D1FF\],
body.is-native .m1-relief-sm .text-\[\#00D1FF\],
body.is-native .m1-card .text-\[\#00D1FF\] {
  color: #0A84FF !important;
}

/* Status dots - keep their colors */
body.is-native .m1-relief .bg-cyan-400,
body.is-native .m1-relief-sm .bg-cyan-400 {
  background-color: #00D1FF !important;
}

/* ========================================
   🔴 TEMPO RIMASTO - PRESERVE RED BLINK EFFECT
   The pulse animation must stay RED, only container is white
   ======================================== */

/* The pulse overlay for urgency - KEEP ORIGINAL COLORS */
body.is-native .m1-relief-sm [data-section="time"] [class*="absolute"][class*="inset-0"],
body.is-native [data-section="time"] [class*="pointer-events-none"] {
  /* Let the original red/orange/amber pulse colors through */
  /* Don't override these */
}

/* Keep amber/orange/red text colors for urgency indicators */
body.is-native .m1-relief-sm .text-amber-400,
body.is-native [data-section="time"] .text-amber-400 {
  color: #FBBF24 !important;
}

body.is-native .m1-relief-sm .text-orange-400,
body.is-native [data-section="time"] .text-orange-400 {
  color: #F97316 !important;
}

body.is-native .m1-relief-sm .text-red-400,
body.is-native [data-section="time"] .text-red-400 {
  color: #EF4444 !important;
}

/* Keep urgency badge colors */
body.is-native .m1-relief-sm .bg-amber-400,
body.is-native [data-section="time"] .bg-amber-400 {
  background-color: #FBBF24 !important;
}

body.is-native .m1-relief-sm .bg-orange-400,
body.is-native [data-section="time"] .bg-orange-400 {
  background-color: #F97316 !important;
}

body.is-native .m1-relief-sm .bg-red-500,
body.is-native [data-section="time"] .bg-red-500 {
  background-color: #EF4444 !important;
}

/* ========================================
   PRIZE VISION CARD - Inline styles override
   The PrizeVision has inline styles, need high specificity
   ======================================== */

body.is-native [data-section="cashback"] > div,
body.is-native [data-onboarding="prize-vision"] > div {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
}

/* Prize vision header text */
body.is-native [data-section="cashback"] h2,
body.is-native [data-onboarding="prize-vision"] h2 {
  color: #1C1C1E !important;
}

body.is-native [data-section="cashback"] .text-\[\#00D1FF\],
body.is-native [data-onboarding="prize-vision"] .text-\[\#00D1FF\] {
  color: #0A84FF !important;
}

/* Keep other accent colors */
body.is-native .m1-relief .text-blue-400,
body.is-native .m1-relief-sm .text-blue-400,
body.is-native .m1-card .text-blue-400 {
  color: #3B82F6 !important;
}

body.is-native .m1-relief .text-green-400,
body.is-native .m1-relief-sm .text-green-400,
body.is-native .m1-card .text-green-400 {
  color: #22C55E !important;
}

body.is-native .m1-relief .text-yellow-400,
body.is-native .m1-relief-sm .text-yellow-400,
body.is-native .m1-card .text-yellow-400 {
  color: #FBBF24 !important;
}

body.is-native .m1-relief .text-purple-400,
body.is-native .m1-relief-sm .text-purple-400,
body.is-native .m1-card .text-purple-400 {
  color: #A855F7 !important;
}

/* Keep glow strips colored */
body.is-native .m1-relief .via-cyan-400,
body.is-native .m1-relief-sm .via-cyan-400 {
  --tw-gradient-via: #22D3EE !important;
}

body.is-native .m1-relief .via-\[\#FC1EFF\],
body.is-native .m1-relief-sm .via-\[\#FC1EFF\] {
  --tw-gradient-via: #FC1EFF !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎬 BLACK OPS THEME - iOS NATIVE OVERRIDE
   When .sn-page-dark is present on body/html, override WHITE theme to DARK GLASS
   NOTE: Using BOTH :has() and direct class for iOS Safari compatibility
   ═══════════════════════════════════════════════════════════════════════════ */

/* ========================================
   DARK BODY/HTML BACKGROUND
   Override the white background for dark theme
   ======================================== */

body.is-native.sn-page-dark,
body.sn-page-dark {
  background: linear-gradient(180deg, #05060A 0%, #070A12 50%, #04040A 100%) !important;
  background-color: #05060A !important;
}

/* html also needs dark for iOS safe-area coverage */

html.sn-page-dark {
  background: linear-gradient(180deg, #05060A 0%, #070A12 50%, #04040A 100%) !important;
  background-color: #05060A !important;
}

/* #root and wrappers transparent to show dark body through */
body.is-native.sn-page-dark #root,
body.is-native.sn-page-dark #root,
body.sn-page-dark #root,
body.is-native.sn-page-dark .safe-area-wrapper,
body.is-native.sn-page-dark .safe-area-wrapper,
body.sn-page-dark .safe-area-wrapper,
body.is-native.sn-page-dark .global-layout-content,
body.is-native.sn-page-dark .global-layout-content,
body.sn-page-dark .global-layout-content,
body.is-native.sn-page-dark main,
body.is-native.sn-page-dark main,
body.sn-page-dark main {
  background: transparent !important;
  background-color: transparent !important;
}

/* ========================================
   DARK HEADER - GLASS SATIN NERO + NEON
   ======================================== */
body.is-native.sn-page-dark .unified-header-wrapper header,
body.is-native.sn-page-dark .unified-header-wrapper header,
body.sn-page-dark .unified-header-wrapper header,
body.is-native.sn-page-dark .unified-header-wrapper [class*="header-pill"],
body.is-native.sn-page-dark .unified-header-wrapper [class*="header-pill"],
body.sn-page-dark .unified-header-wrapper [class*="header-pill"],
body.is-native.sn-page-dark .unified-header-wrapper > div > div:first-child,
body.is-native.sn-page-dark .unified-header-wrapper > div > div:first-child,
body.sn-page-dark .unified-header-wrapper > div > div:first-child {
  background: rgba(8, 10, 18, 0.92) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  border: 1px solid rgba(0, 209, 255, 0.18) !important;
  box-shadow: 
    0 2px 20px rgba(0, 0, 0, 0.5),
    0 0 15px rgba(0, 209, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

/* Dark header text - WHITE for contrast */
body.is-native.sn-page-dark .unified-header-wrapper header *,
body.is-native.sn-page-dark .unified-header-wrapper header *,
body.sn-page-dark .unified-header-wrapper header *,
body.is-native.sn-page-dark .unified-header-wrapper [class*="text-white"],
body.is-native.sn-page-dark .unified-header-wrapper [class*="text-white"],
body.sn-page-dark .unified-header-wrapper [class*="text-white"] {
  color: rgba(255, 255, 255, 0.95) !important;
  text-shadow: none !important;
}

/* Dark header icons - NEON CYAN */
body.is-native.sn-page-dark .unified-header-wrapper svg,
body.is-native.sn-page-dark .unified-header-wrapper svg,
body.sn-page-dark .unified-header-wrapper svg,
body.is-native.sn-page-dark .unified-header-wrapper [class*="icon"],
body.is-native.sn-page-dark .unified-header-wrapper [class*="icon"],
body.sn-page-dark .unified-header-wrapper [class*="icon"] {
  color: #00D1FF !important;
  opacity: 1 !important;
}

/* M1SSION logo on dark - cyan accent */
body.is-native.sn-page-dark .unified-header-wrapper .m1ssion-logo span:first-child,
body.is-native.sn-page-dark .unified-header-wrapper .m1ssion-logo span:first-child,
body.sn-page-dark .unified-header-wrapper .m1ssion-logo span:first-child {
  color: #00D1FF !important;
  text-shadow: 0 0 10px rgba(0, 209, 255, 0.5) !important;
}

body.is-native.sn-page-dark .unified-header-wrapper .m1ssion-logo span:last-child,
body.is-native.sn-page-dark .unified-header-wrapper .m1ssion-logo span:last-child,
body.sn-page-dark .unified-header-wrapper .m1ssion-logo span:last-child {
  color: #FFFFFF !important;
}

/* ========================================
   DARK BOTTOM NAV - iOS FOLDER GLASS + ICONE BIANCHE
   Cerchio colorato active MANTENUTO (non toccato)
   WHITE glow (no cyan) - MORE TRANSPARENT
   ======================================== */
body.is-native.sn-page-dark .bottom-navigation-ios > div,
body.is-native.sn-page-dark .bottom-navigation-ios > div,
body.sn-page-dark .bottom-navigation-ios > div,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-pill,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-pill,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-pill {
  /* iOS Folder Glass - VERY TRANSPARENT like folder on homescreen */
  background: rgba(10, 10, 12, 0.22) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  box-shadow: 
    0 10px 40px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 0 20px rgba(255, 255, 255, 0.02) !important;
}

/* Inactive icons - WHITE (era nero prima) */
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive svg,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive svg,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive svg,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive span,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive span,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-inactive span,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-btn:not(.bottom-nav-active),
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-btn:not(.bottom-nav-active),
body.sn-page-dark .bottom-navigation-ios .bottom-nav-btn:not(.bottom-nav-active) {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* Active icons - NEON CYAN con glow (come prima, invariato) */
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-active,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active svg,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active svg,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-active svg,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active span,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active span,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-active span {
  color: #00D1FF !important;
}

body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active svg,
body.is-native.sn-page-dark .bottom-navigation-ios .bottom-nav-active svg,
body.sn-page-dark .bottom-navigation-ios .bottom-nav-active svg {
  filter: drop-shadow(0 0 6px rgba(0, 209, 255, 0.6)) !important;
}

/* Active background circle - MANTENIAMO l'effetto cerchio colorato */
/* Non tocchiamo [style*="background: rgba(0, 0, 0, 0.4)"] - resta nero/scuro */

/* Active indicator line - MANTENIAMO cyan glow */
/* Non tocchiamo [style*="background-color: #00D1FF"] - resta invariato */

/* ========================================
   DARK CONTAINERS OVERRIDE (HIGH SPECIFICITY)
   Using doubled selectors for CSS specificity boost
   These MUST override the white iOS native rules above
   ======================================== */

/* Override m1-relief to DARK GLASS quando sn-page-dark 
   SPECIFICITY BOOST: body.is-native.sn-page-dark.sn-page-dark = 4 classes */
html.sn-page-dark body.is-native .m1-relief,
html.sn-page-dark body.is-native .m1-relief-sm,
body.is-native.sn-page-dark.sn-page-dark .m1-relief,
body.is-native.sn-page-dark.sn-page-dark .m1-relief-sm,
body.sn-page-dark.sn-page-dark .m1-relief,
body.sn-page-dark.sn-page-dark .m1-relief-sm,
body.is-native.sn-page-dark .m1-relief,
body.is-native.sn-page-dark .m1-relief-sm {
  background: rgba(10, 12, 20, 0.88) !important;
  backdrop-filter: blur(22px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
  border: 1px solid rgba(0, 209, 255, 0.32) !important;
  box-shadow: 
    0 0 24px rgba(0, 209, 255, 0.2),
    0 0 50px rgba(0, 150, 255, 0.12),
    0 6px 35px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* Override m1-card to DARK GLASS */
html.sn-page-dark body.is-native .m1-card,
body.is-native.sn-page-dark.sn-page-dark .m1-card,
body.sn-page-dark.sn-page-dark .m1-card,
body.is-native.sn-page-dark .m1-card {
  background: rgba(10, 12, 20, 0.88) !important;
  backdrop-filter: blur(22px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
  border: 1px solid rgba(0, 209, 255, 0.28) !important;
  box-shadow: 
    0 0 20px rgba(0, 209, 255, 0.18),
    0 4px 30px rgba(0, 0, 0, 0.5) !important;
}

/* Text colors inside dark containers - WHITE */
body.is-native.sn-page-dark .m1-relief h2,
body.is-native.sn-page-dark .m1-relief h2,
body.sn-page-dark .m1-relief h2,
body.is-native.sn-page-dark .m1-relief h3,
body.is-native.sn-page-dark .m1-relief h3,
body.sn-page-dark .m1-relief h3,
body.is-native.sn-page-dark .m1-relief-sm h2,
body.is-native.sn-page-dark .m1-relief-sm h2,
body.sn-page-dark .m1-relief-sm h2,
body.is-native.sn-page-dark .m1-relief-sm h3,
body.is-native.sn-page-dark .m1-relief-sm h3,
body.sn-page-dark .m1-relief-sm h3,
body.is-native.sn-page-dark .m1-card h2,
body.is-native.sn-page-dark .m1-card h2,
body.sn-page-dark .m1-card h2,
body.is-native.sn-page-dark .m1-card h3,
body.is-native.sn-page-dark .m1-card h3,
body.sn-page-dark .m1-card h3 {
  color: rgba(255, 255, 255, 0.95) !important;
}

body.is-native.sn-page-dark .m1-relief .text-white,
body.is-native.sn-page-dark .m1-relief .text-white,
body.sn-page-dark .m1-relief .text-white,
body.is-native.sn-page-dark .m1-relief-sm .text-white,
body.is-native.sn-page-dark .m1-relief-sm .text-white,
body.sn-page-dark .m1-relief-sm .text-white,
body.is-native.sn-page-dark .m1-card .text-white,
body.is-native.sn-page-dark .m1-card .text-white,
body.sn-page-dark .m1-card .text-white {
  color: rgba(255, 255, 255, 0.95) !important;
}

body.is-native.sn-page-dark .m1-relief .text-white\/80,
body.is-native.sn-page-dark .m1-relief .text-white\/80,
body.sn-page-dark .m1-relief .text-white\/80,
body.is-native.sn-page-dark .m1-relief-sm .text-white\/80,
body.is-native.sn-page-dark .m1-relief-sm .text-white\/80,
body.sn-page-dark .m1-relief-sm .text-white\/80,
body.is-native.sn-page-dark .m1-card .text-white\/80,
body.is-native.sn-page-dark .m1-card .text-white\/80,
body.sn-page-dark .m1-card .text-white\/80 {
  color: rgba(255, 255, 255, 0.8) !important;
}

body.is-native.sn-page-dark .m1-relief .text-white\/60,
body.is-native.sn-page-dark .m1-relief .text-white\/60,
body.sn-page-dark .m1-relief .text-white\/60,
body.is-native.sn-page-dark .m1-relief-sm .text-white\/60,
body.is-native.sn-page-dark .m1-relief-sm .text-white\/60,
body.sn-page-dark .m1-relief-sm .text-white\/60,
body.is-native.sn-page-dark .m1-card .text-white\/60,
body.is-native.sn-page-dark .m1-card .text-white\/60,
body.sn-page-dark .m1-card .text-white\/60 {
  color: rgba(255, 255, 255, 0.6) !important;
}

body.is-native.sn-page-dark .m1-relief .text-white\/50,
body.is-native.sn-page-dark .m1-relief .text-white\/50,
body.sn-page-dark .m1-relief .text-white\/50,
body.is-native.sn-page-dark .m1-relief-sm .text-white\/50,
body.is-native.sn-page-dark .m1-relief-sm .text-white\/50,
body.sn-page-dark .m1-relief-sm .text-white\/50,
body.is-native.sn-page-dark .m1-card .text-white\/50,
body.is-native.sn-page-dark .m1-card .text-white\/50,
body.sn-page-dark .m1-card .text-white\/50 {
  color: rgba(255, 255, 255, 0.5) !important;
}

/* Accent colors stay bright */
body.is-native.sn-page-dark .m1-relief .text-\[\#00D1FF\],
body.is-native.sn-page-dark .m1-relief .text-\[\#00D1FF\],
body.sn-page-dark .m1-relief .text-\[\#00D1FF\],
body.is-native.sn-page-dark .m1-relief-sm .text-\[\#00D1FF\],
body.is-native.sn-page-dark .m1-relief-sm .text-\[\#00D1FF\],
body.sn-page-dark .m1-relief-sm .text-\[\#00D1FF\],
body.is-native.sn-page-dark .m1-card .text-\[\#00D1FF\],
body.is-native.sn-page-dark .m1-card .text-\[\#00D1FF\],
body.sn-page-dark .m1-card .text-\[\#00D1FF\] {
  color: #00D1FF !important;
}

/* Keep urgency colors (amber/orange/red) visible on dark */
body.is-native.sn-page-dark .text-amber-400,
body.is-native.sn-page-dark .text-amber-400,
body.sn-page-dark .text-amber-400 {
  color: #FBBF24 !important;
}

body.is-native.sn-page-dark .text-orange-400,
body.is-native.sn-page-dark .text-orange-400,
body.sn-page-dark .text-orange-400 {
  color: #F97316 !important;
}

body.is-native.sn-page-dark .text-red-400,
body.is-native.sn-page-dark .text-red-400,
body.sn-page-dark .text-red-400 {
  color: #EF4444 !important;
}

body.is-native.sn-page-dark .text-green-400,
body.is-native.sn-page-dark .text-green-400,
body.sn-page-dark .text-green-400 {
  color: #22C55E !important;
}

/* ========================================
   DARK GLASS-CARD OVERRIDE
   For M1SSION PANEL and other glass-card elements
   ======================================== */
body.is-native.sn-page-dark .glass-card,
body.is-native.sn-page-dark .glass-card,
body.sn-page-dark .glass-card {
  background: rgba(10, 12, 20, 0.8) !important;
  backdrop-filter: blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
  border: 1px solid rgba(0, 209, 255, 0.22) !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.4),
    0 0 15px rgba(0, 209, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* ========================================
   M1U PILL DARK STYLING
   ======================================== */
body.is-native.sn-page-dark [class*="m1u-pill"],
body.is-native.sn-page-dark [class*="m1u-pill"],
body.sn-page-dark [class*="m1u-pill"],
body.is-native.sn-page-dark .m1u-display,
body.is-native.sn-page-dark .m1u-display,
body.sn-page-dark .m1u-display {
  background: rgba(10, 12, 20, 0.85) !important;
  border-color: rgba(0, 209, 255, 0.3) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🚀 iOS SCROLL PERFORMANCE - FASE 4 FIX 30/01/2026
   Riduzione costo filtri per scroll fluido senza micro-freeze
   ═══════════════════════════════════════════════════════════════════════════ */

/* 🔧 GPU Acceleration for scroll containers */
body.is-native .m1-single-scroll-root,
body.is-native .global-layout-content,
body.is-native main {
  transform: translateZ(0);
  backface-visibility: hidden;
  /* Hint to browser for upcoming transforms during scroll */
  will-change: scroll-position;
}

/* 🔧 Optimize cards with backdrop-filter during scroll */
body.is-native .card-glass-white-energy,
body.is-native .m1-relief,
body.is-native .m1-relief-sm,
body.is-native .m1-card {
  /* GPU layer promotion */
  transform: translateZ(0);
  /* Contain repainting to this element */
  contain: layout style paint;
  /* Hint for transform changes */
  will-change: transform;
}

/* 🔧 Reduce blur complexity during active scroll on iOS */
@supports (-webkit-touch-callout: none) {
  /* iOS Safari: Use lighter blur values */
  body.is-native .card-glass-white-energy,
  body.is-native [style*="backdrop-filter"] {
    /* Reduce blur from 20-24px to 14px for better performance */
    backdrop-filter: blur(14px) saturate(140%) !important;
  }
  
  /* Keep header/nav with slightly higher blur (they're fixed, not scrolling) */
  body.is-native .bottom-nav-pill,
  body.is-native .unified-header-wrapper header {
    backdrop-filter: blur(18px) saturate(160%) !important;
  }
}

/* 🔧 Disable expensive animations during scroll */
@media (prefers-reduced-motion: reduce) {
  body.is-native .card-glass-white-energy::before,
  body.is-native .card-glass-white-energy::after {
    animation: none !important;
  }
}

/* 🔧 Optimize box-shadow rendering */
body.is-native .card-glass-white-energy {
  /* Simpler shadow for scroll performance - full effect on hover/tap */
  box-shadow: 
    0 15px 50px rgba(255, 255, 255, 0.05),
    0 8px 24px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* 🔧 Restore full effect on focus/active (user interaction) */
body.is-native .card-glass-white-energy:active,
body.is-native .card-glass-white-energy:focus-within {
  box-shadow: 
    0 20px 60px rgba(255, 255, 255, 0.06),
    0 30px 80px rgba(200, 220, 255, 0.04),
    0 8px 32px rgba(0, 0, 0, 0.55),
    0 4px 16px rgba(0, 0, 0, 0.4),
    inset 0 0 30px rgba(255, 255, 255, 0.05),
    inset 0 1px 0 rgba(255, 255, 255, 0.10) !important;
}

/* 🔧 FIX 21/02/2026: Portal text visibility - override .sn-page grey inside our three portals
   So modal/settings/profile content stays readable (white) when ios-native forces grey elsewhere. */
#m1-modal-portal .text-muted-foreground,
#m1-modal-portal [class*="text-muted-foreground"],
#m1-settings-section-portal .text-muted-foreground,
#m1-settings-section-portal [class*="text-muted-foreground"],
#m1-profile-portal .text-muted-foreground,
#m1-profile-portal [class*="text-muted-foreground"],
#m1-modal-portal .text-gray-400,
#m1-modal-portal .text-gray-500,
#m1-settings-section-portal .text-gray-400,
#m1-settings-section-portal .text-gray-500,
#m1-profile-portal .text-gray-400,
#m1-profile-portal .text-gray-500 {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* 🔧 WKWEBVIEW: Reward popup (body) - override .sn-page grey so body text is readable */
.m1-reward-zone-popup .text-muted-foreground,
.m1-reward-zone-popup [class*="text-muted-foreground"],
.m1-reward-zone-popup .text-gray-400,
.m1-reward-zone-popup .text-gray-500 {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* © 2026 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

.file\:mr-4::file-selector-button {
  margin-right: 1rem;
}

.file\:rounded::file-selector-button {
  border-radius: 0.25rem;
}

.file\:rounded-full::file-selector-button {
  border-radius: 9999px;
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-cyan-500::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.file\:bg-primary::file-selector-button {
  background-color: hsl(var(--primary));
}

.file\:bg-transparent::file-selector-button {
  background-color: transparent;
}

.file\:px-4::file-selector-button {
  padding-left: 1rem;
  padding-right: 1rem;
}

.file\:py-2::file-selector-button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.file\:font-medium::file-selector-button {
  font-weight: 500;
}

.file\:font-semibold::file-selector-button {
  font-weight: 600;
}

.file\:text-black::file-selector-button {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.file\:text-primary-foreground::file-selector-button {
  color: hsl(var(--primary-foreground));
}

.placeholder\:text-muted-foreground::-moz-placeholder {
  color: hsl(var(--muted-foreground));
}

.placeholder\:text-muted-foreground::placeholder {
  color: hsl(var(--muted-foreground));
}

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

.placeholder\:text-white\/40::-moz-placeholder {
  color: rgb(255 255 255 / 0.4);
}

.placeholder\:text-white\/40::placeholder {
  color: rgb(255 255 255 / 0.4);
}

.placeholder\:text-white\/50::-moz-placeholder {
  color: rgb(255 255 255 / 0.5);
}

.placeholder\:text-white\/50::placeholder {
  color: rgb(255 255 255 / 0.5);
}

.after\:absolute::after {
  content: var(--tw-content);
  position: absolute;
}

.after\:-inset-2::after {
  content: var(--tw-content);
  inset: -0.5rem;
}

.after\:inset-y-0::after {
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}

.after\:left-1\/2::after {
  content: var(--tw-content);
  left: 50%;
}

.after\:w-1::after {
  content: var(--tw-content);
  width: 0.25rem;
}

.after\:w-\[2px\]::after {
  content: var(--tw-content);
  width: 2px;
}

.after\:-translate-x-1\/2::after {
  content: var(--tw-content);
  --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));
}

.first\:rounded-l-md:first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.first\:border-l:first-child {
  border-left-width: 1px;
}

.last\:mb-0:last-child {
  margin-bottom: 0px;
}

.last\:rounded-r-md:last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.last\:border-0:last-child {
  border-width: 0px;
}

.last\:pb-0:last-child {
  padding-bottom: 0px;
}

.focus-within\:relative:focus-within {
  position: relative;
}

.focus-within\:z-20:focus-within {
  z-index: 20;
}

.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-\[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\:scale-\[1\.03\]:hover {
  --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));
}

.hover\:border-\[\#00D1FF\]\/30:hover {
  border-color: rgb(0 209 255 / 0.3);
}

.hover\:border-\[\#00D1FF\]\/40:hover {
  border-color: rgb(0 209 255 / 0.4);
}

.hover\:border-\[\#00D1FF\]\/50:hover {
  border-color: rgb(0 209 255 / 0.5);
}

.hover\:border-\[\#00D1FF\]\/60:hover {
  border-color: rgb(0 209 255 / 0.6);
}

.hover\:border-\[\#00D1FF\]\/70:hover {
  border-color: rgb(0 209 255 / 0.7);
}

.hover\:border-\[\#4361ee\]\/50:hover {
  border-color: rgb(67 97 238 / 0.5);
}

.hover\:border-\[\#7209b7\]\/50:hover {
  border-color: rgb(114 9 183 / 0.5);
}

.hover\:border-blue-500\/40:hover {
  border-color: rgb(59 130 246 / 0.4);
}

.hover\:border-border:hover {
  border-color: hsl(var(--border));
}

.hover\:border-cyan-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.hover\:border-cyan-400\/30:hover {
  border-color: rgb(34 211 238 / 0.3);
}

.hover\:border-cyan-400\/50:hover {
  border-color: rgb(34 211 238 / 0.5);
}

.hover\:border-cyan-400\/70:hover {
  border-color: rgb(34 211 238 / 0.7);
}

.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-cyan-500\/60:hover {
  border-color: rgb(6 182 212 / 0.6);
}

.hover\:border-emerald-500\/40:hover {
  border-color: rgb(16 185 129 / 0.4);
}

.hover\:border-gray-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-600:hover {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.hover\:border-green-400\/50:hover {
  border-color: rgb(74 222 128 / 0.5);
}

.hover\:border-m1ssion-blue\/50:hover {
  border-color: rgb(0 209 255 / 0.5);
}

.hover\:border-purple-400:hover {
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-400\/60:hover {
  border-color: rgb(192 132 252 / 0.6);
}

.hover\:border-purple-400\/70:hover {
  border-color: rgb(192 132 252 / 0.7);
}

.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-400\/60:hover {
  border-color: rgb(248 113 113 / 0.6);
}

.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\/30:hover {
  border-color: rgb(255 255 255 / 0.3);
}

.hover\:border-white\/40:hover {
  border-color: rgb(255 255 255 / 0.4);
}

.hover\:border-white\/70:hover {
  border-color: rgb(255 255 255 / 0.7);
}

.hover\:border-yellow-500\/60:hover {
  border-color: rgb(234 179 8 / 0.6);
}

.hover\:bg-\[\#0077B5\]\/10:hover {
  background-color: rgb(0 119 181 / 0.1);
}

.hover\:bg-\[\#00A3CC\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 163 204 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00A8CC\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 168 204 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00B8E6\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 184 230 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00D1FF\]\/10:hover {
  background-color: rgb(0 209 255 / 0.1);
}

.hover\:bg-\[\#00D1FF\]\/20:hover {
  background-color: rgb(0 209 255 / 0.2);
}

.hover\:bg-\[\#00D1FF\]\/30:hover {
  background-color: rgb(0 209 255 / 0.3);
}

.hover\:bg-\[\#00D1FF\]\/5:hover {
  background-color: rgb(0 209 255 / 0.05);
}

.hover\:bg-\[\#00D1FF\]\/80:hover {
  background-color: rgb(0 209 255 / 0.8);
}

.hover\:bg-\[\#00a3ff99\]:hover {
  background-color: #00a3ff99;
}

.hover\:bg-\[\#00f0ff\]\/90:hover {
  background-color: rgb(0 240 255 / 0.9);
}

.hover\:bg-\[\#0a0a0a\]\/70:hover {
  background-color: rgb(10 10 10 / 0.7);
}

.hover\:bg-\[\#0e0e0e\]\/90:hover {
  background-color: rgb(14 14 14 / 0.9);
}

.hover\:bg-\[\#25D366\]\/10:hover {
  background-color: rgb(37 211 102 / 0.1);
}

.hover\:bg-\[\#3b5998\]\/10:hover {
  background-color: rgb(59 89 152 / 0.1);
}

.hover\:bg-\[\#7E69AB77\]:hover {
  background-color: #7E69AB77;
}

.hover\:bg-\[\#E1306C\]\/10:hover {
  background-color: rgb(225 48 108 / 0.1);
}

.hover\:bg-\[\#d946ef99\]:hover {
  background-color: #d946ef99;
}

.hover\:bg-\[hsl\(var\(--accent\)\)\]\/10:hover {
  background-color: hsl(var(--accent) / 0.1);
}

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

.hover\:bg-amber-500\/10:hover {
  background-color: rgb(245 158 11 / 0.1);
}

.hover\:bg-amber-500\/20:hover {
  background-color: rgb(245 158 11 / 0.2);
}

.hover\:bg-amber-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-700\/30:hover {
  background-color: rgb(180 83 9 / 0.3);
}

.hover\:bg-background\/30:hover {
  background-color: hsl(var(--background) / 0.3);
}

.hover\:bg-background\/50:hover {
  background-color: hsl(var(--background) / 0.5);
}

.hover\:bg-background\/90:hover {
  background-color: hsl(var(--background) / 0.9);
}

.hover\:bg-black\/10:hover {
  background-color: rgb(0 0 0 / 0.1);
}

.hover\:bg-black\/30:hover {
  background-color: rgb(0 0 0 / 0.3);
}

.hover\:bg-black\/40:hover {
  background-color: rgb(0 0 0 / 0.4);
}

.hover\:bg-black\/50:hover {
  background-color: rgb(0 0 0 / 0.5);
}

.hover\:bg-black\/60:hover {
  background-color: rgb(0 0 0 / 0.6);
}

.hover\:bg-black\/70:hover {
  background-color: rgb(0 0 0 / 0.7);
}

.hover\:bg-black\/75:hover {
  background-color: rgb(0 0 0 / 0.75);
}

.hover\:bg-black\/80:hover {
  background-color: rgb(0 0 0 / 0.8);
}

.hover\:bg-black\/90:hover {
  background-color: rgb(0 0 0 / 0.9);
}

.hover\:bg-blue-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-400\/10:hover {
  background-color: rgb(96 165 250 / 0.1);
}

.hover\:bg-blue-500\/10:hover {
  background-color: rgb(59 130 246 / 0.1);
}

.hover\:bg-blue-500\/30:hover {
  background-color: rgb(59 130 246 / 0.3);
}

.hover\:bg-blue-500\/40:hover {
  background-color: rgb(59 130 246 / 0.4);
}

.hover\:bg-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-600\/40:hover {
  background-color: rgb(37 99 235 / 0.4);
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-800:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}

.hover\:bg-card\/80:hover {
  background-color: hsl(var(--card) / 0.8);
}

.hover\:bg-cyan-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-400\/10:hover {
  background-color: rgb(34 211 238 / 0.1);
}

.hover\:bg-cyan-500\/10:hover {
  background-color: rgb(6 182 212 / 0.1);
}

.hover\:bg-cyan-500\/20:hover {
  background-color: rgb(6 182 212 / 0.2);
}

.hover\:bg-cyan-500\/30:hover {
  background-color: rgb(6 182 212 / 0.3);
}

.hover\:bg-cyan-500\/80:hover {
  background-color: rgb(6 182 212 / 0.8);
}

.hover\:bg-cyan-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-600\/40:hover {
  background-color: rgb(8 145 178 / 0.4);
}

.hover\:bg-cyan-600\/70:hover {
  background-color: rgb(8 145 178 / 0.7);
}

.hover\:bg-cyan-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-700\/50:hover {
  background-color: rgb(14 116 144 / 0.5);
}

.hover\:bg-cyan-700\/90:hover {
  background-color: rgb(14 116 144 / 0.9);
}

.hover\:bg-cyan-900\/50:hover {
  background-color: rgb(22 78 99 / 0.5);
}

.hover\:bg-cyan-950:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(8 51 68 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-950\/30:hover {
  background-color: rgb(8 51 68 / 0.3);
}

.hover\:bg-destructive-foreground\/10:hover {
  background-color: hsl(var(--destructive-foreground) / 0.1);
}

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

.hover\:bg-destructive\/10:hover {
  background-color: hsl(var(--destructive) / 0.1);
}

.hover\:bg-destructive\/20:hover {
  background-color: hsl(var(--destructive) / 0.2);
}

.hover\:bg-destructive\/80:hover {
  background-color: hsl(var(--destructive) / 0.8);
}

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

.hover\:bg-gray-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-400\/10:hover {
  background-color: rgb(156 163 175 / 0.1);
}

.hover\:bg-gray-500\/10:hover {
  background-color: rgb(107 114 128 / 0.1);
}

.hover\:bg-gray-600\/40:hover {
  background-color: rgb(75 85 99 / 0.4);
}

.hover\:bg-gray-600\/80:hover {
  background-color: rgb(75 85 99 / 0.8);
}

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

.hover\:bg-gray-700\/30:hover {
  background-color: rgb(55 65 81 / 0.3);
}

.hover\:bg-gray-700\/50:hover {
  background-color: rgb(55 65 81 / 0.5);
}

.hover\:bg-gray-700\/60:hover {
  background-color: rgb(55 65 81 / 0.6);
}

.hover\:bg-gray-700\/80:hover {
  background-color: rgb(55 65 81 / 0.8);
}

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

.hover\:bg-gray-800\/30:hover {
  background-color: rgb(31 41 55 / 0.3);
}

.hover\:bg-gray-800\/50:hover {
  background-color: rgb(31 41 55 / 0.5);
}

.hover\:bg-gray-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-950\/30:hover {
  background-color: rgb(3 7 18 / 0.3);
}

.hover\:bg-green-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-500\/10:hover {
  background-color: rgb(34 197 94 / 0.1);
}

.hover\:bg-green-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-600\/40:hover {
  background-color: rgb(22 163 74 / 0.4);
}

.hover\:bg-green-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-950\/30:hover {
  background-color: rgb(5 46 22 / 0.3);
}

.hover\:bg-m1ssion-blue:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-m1ssion-blue\/10:hover {
  background-color: rgb(0 209 255 / 0.1);
}

.hover\:bg-m1ssion-blue\/20:hover {
  background-color: rgb(0 209 255 / 0.2);
}

.hover\:bg-m1ssion-deep-blue:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(19 21 36 / var(--tw-bg-opacity, 1));
}

.hover\:bg-m1ssion-pink:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 89 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-muted:hover {
  background-color: hsl(var(--muted));
}

.hover\:bg-muted\/50:hover {
  background-color: hsl(var(--muted) / 0.5);
}

.hover\:bg-orange-400\/10:hover {
  background-color: rgb(251 146 60 / 0.1);
}

.hover\:bg-orange-500\/10:hover {
  background-color: rgb(249 115 22 / 0.1);
}

.hover\:bg-orange-500\/30:hover {
  background-color: rgb(249 115 22 / 0.3);
}

.hover\:bg-orange-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary:hover {
  background-color: hsl(var(--primary));
}

.hover\:bg-primary\/10:hover {
  background-color: hsl(var(--primary) / 0.1);
}

.hover\:bg-primary\/20:hover {
  background-color: hsl(var(--primary) / 0.2);
}

.hover\:bg-primary\/80:hover {
  background-color: hsl(var(--primary) / 0.8);
}

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

.hover\:bg-purple-400\/10:hover {
  background-color: rgb(192 132 252 / 0.1);
}

.hover\:bg-purple-500\/10:hover {
  background-color: rgb(168 85 247 / 0.1);
}

.hover\:bg-purple-500\/20:hover {
  background-color: rgb(168 85 247 / 0.2);
}

.hover\:bg-purple-500\/30:hover {
  background-color: rgb(168 85 247 / 0.3);
}

.hover\:bg-purple-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-600\/40:hover {
  background-color: rgb(147 51 234 / 0.4);
}

.hover\:bg-purple-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-900\/20:hover {
  background-color: rgb(88 28 135 / 0.2);
}

.hover\:bg-red-400:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500\/10:hover {
  background-color: rgb(239 68 68 / 0.1);
}

.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-600\/30:hover {
  background-color: rgb(220 38 38 / 0.3);
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-900\/20:hover {
  background-color: rgb(127 29 29 / 0.2);
}

.hover\:bg-red-900\/50:hover {
  background-color: rgb(127 29 29 / 0.5);
}

.hover\:bg-secondary:hover {
  background-color: hsl(var(--secondary));
}

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

.hover\:bg-transparent:hover {
  background-color: transparent;
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/30:hover {
  background-color: rgb(255 255 255 / 0.3);
}

.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\/60:hover {
  background-color: rgb(255 255 255 / 0.6);
}

.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}

.hover\:bg-yellow-400\/10:hover {
  background-color: rgb(250 204 21 / 0.1);
}

.hover\:bg-yellow-500\/10:hover {
  background-color: rgb(234 179 8 / 0.1);
}

.hover\:bg-yellow-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-950\/30:hover {
  background-color: rgb(66 32 6 / 0.3);
}

.hover\:bg-zinc-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}

.hover\:bg-opacity-20:hover {
  --tw-bg-opacity: 0.2;
}

.hover\:from-\[\#0099CC\]:hover {
  --tw-gradient-from: #0099CC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 153 204 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#00B8E6\]:hover {
  --tw-gradient-from: #00B8E6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 184 230 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#00D1FF\]:hover {
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#1eaedbff\]:hover {
  --tw-gradient-from: #1eaedbff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 174 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#4361ee\]\/80:hover {
  --tw-gradient-from: rgb(67 97 238 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#F213A4\]\/30:hover {
  --tw-gradient-from: rgb(242 19 164 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-400:hover {
  --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);
}

.hover\:from-blue-600:hover {
  --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);
}

.hover\:from-blue-700:hover {
  --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.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-cyan-500:hover {
  --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);
}

.hover\:from-cyan-600:hover {
  --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);
}

.hover\:from-cyan-700:hover {
  --tw-gradient-from: #0e7490 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 116 144 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-fuchsia-700:hover {
  --tw-gradient-from: #a21caf var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(162 28 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-400:hover {
  --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);
}

.hover\:from-green-600:hover {
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-700:hover {
  --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);
}

.hover\:from-m1ssion-blue\/30:hover {
  --tw-gradient-from: rgb(0 209 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-orange-400:hover {
  --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);
}

.hover\:from-orange-500\/50:hover {
  --tw-gradient-from: rgb(249 115 22 / 0.5) 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);
}

.hover\:from-orange-600:hover {
  --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);
}

.hover\:from-orange-700:hover {
  --tw-gradient-from: #c2410c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(194 65 12 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-primary\/90:hover {
  --tw-gradient-from: hsl(var(--primary) / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-400:hover {
  --tw-gradient-from: #c084fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-500:hover {
  --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);
}

.hover\:from-purple-500\/50:hover {
  --tw-gradient-from: rgb(168 85 247 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-600:hover {
  --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);
}

.hover\:from-purple-600\/30:hover {
  --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);
}

.hover\:from-purple-600\/40:hover {
  --tw-gradient-from: rgb(147 51 234 / 0.4) 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);
}

.hover\:from-purple-700:hover {
  --tw-gradient-from: #7e22ce 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);
}

.hover\:from-red-500:hover {
  --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);
}

.hover\:from-red-600:hover {
  --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);
}

.hover\:from-red-700:hover {
  --tw-gradient-from: #b91c1c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(185 28 28 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-red-800\/90:hover {
  --tw-gradient-from: rgb(153 27 27 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(153 27 27 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-yellow-500:hover {
  --tw-gradient-from: #eab308 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);
}

.hover\:from-yellow-600:hover {
  --tw-gradient-from: #ca8a04 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-yellow-600\/60:hover {
  --tw-gradient-from: rgb(202 138 4 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-yellow-700:hover {
  --tw-gradient-from: #a16207 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(161 98 7 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:to-\[\#007799\]:hover {
  --tw-gradient-to: #007799 var(--tw-gradient-to-position);
}

.hover\:to-\[\#0EA5E9\]\/30:hover {
  --tw-gradient-to: rgb(14 165 233 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-\[\#6A25CC\]:hover {
  --tw-gradient-to: #6A25CC var(--tw-gradient-to-position);
}

.hover\:to-\[\#7209b7\]\/80:hover {
  --tw-gradient-to: rgb(114 9 183 / 0.8) var(--tw-gradient-to-position);
}

.hover\:to-\[\#F059FF\]:hover {
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.hover\:to-\[\#a855f7bb\]:hover {
  --tw-gradient-to: #a855f7bb var(--tw-gradient-to-position);
}

.hover\:to-amber-600:hover {
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}

.hover\:to-blue-400:hover {
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}

.hover\:to-blue-500:hover {
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}

.hover\:to-blue-600:hover {
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}

.hover\:to-blue-600\/30:hover {
  --tw-gradient-to: rgb(37 99 235 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-blue-700:hover {
  --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}

.hover\:to-cyan-400:hover {
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}

.hover\:to-cyan-600:hover {
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}

.hover\:to-emerald-500:hover {
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}

.hover\:to-fuchsia-950:hover {
  --tw-gradient-to: #4a044e var(--tw-gradient-to-position);
}

.hover\:to-indigo-700:hover {
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}

.hover\:to-m1ssion-pink\/30:hover {
  --tw-gradient-to: rgb(240 89 255 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-orange-500:hover {
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}

.hover\:to-orange-600:hover {
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}

.hover\:to-orange-600\/60:hover {
  --tw-gradient-to: rgb(234 88 12 / 0.6) var(--tw-gradient-to-position);
}

.hover\:to-orange-700:hover {
  --tw-gradient-to: #c2410c var(--tw-gradient-to-position);
}

.hover\:to-orange-800\/90:hover {
  --tw-gradient-to: rgb(154 52 18 / 0.9) var(--tw-gradient-to-position);
}

.hover\:to-pink-400:hover {
  --tw-gradient-to: #f472b6 var(--tw-gradient-to-position);
}

.hover\:to-pink-500:hover {
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}

.hover\:to-pink-500\/50:hover {
  --tw-gradient-to: rgb(236 72 153 / 0.5) var(--tw-gradient-to-position);
}

.hover\:to-pink-600:hover {
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}

.hover\:to-pink-600\/40:hover {
  --tw-gradient-to: rgb(219 39 119 / 0.4) var(--tw-gradient-to-position);
}

.hover\:to-pink-700:hover {
  --tw-gradient-to: #be185d var(--tw-gradient-to-position);
}

.hover\:to-primary\/70:hover {
  --tw-gradient-to: hsl(var(--primary) / 0.7) var(--tw-gradient-to-position);
}

.hover\:to-primary\/80:hover {
  --tw-gradient-to: hsl(var(--primary) / 0.8) var(--tw-gradient-to-position);
}

.hover\:to-primary\/90:hover {
  --tw-gradient-to: hsl(var(--primary) / 0.9) var(--tw-gradient-to-position);
}

.hover\:to-purple-500:hover {
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}

.hover\:to-purple-600:hover {
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}

.hover\:to-purple-700:hover {
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}

.hover\:to-red-400:hover {
  --tw-gradient-to: #f87171 var(--tw-gradient-to-position);
}

.hover\:to-red-500\/50:hover {
  --tw-gradient-to: rgb(239 68 68 / 0.5) var(--tw-gradient-to-position);
}

.hover\:to-red-700:hover {
  --tw-gradient-to: #b91c1c var(--tw-gradient-to-position);
}

.hover\:to-red-800:hover {
  --tw-gradient-to: #991b1b var(--tw-gradient-to-position);
}

.hover\:to-yellow-400:hover {
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}

.hover\:to-yellow-700:hover {
  --tw-gradient-to: #a16207 var(--tw-gradient-to-position);
}

.hover\:text-\[\#00D1FF\]:hover {
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#00D1FF\]\/60:hover {
  color: rgb(0 209 255 / 0.6);
}

.hover\:text-\[\#FF59F8\]:hover {
  --tw-text-opacity: 1;
  color: rgb(255 89 248 / var(--tw-text-opacity, 1));
}

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

.hover\:text-amber-200:hover {
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-300:hover {
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.hover\:text-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-foreground:hover {
  color: hsl(var(--foreground));
}

.hover\:text-gray-200:hover {
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-400:hover {
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.hover\:text-green-400:hover {
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.hover\:text-m1ssion-pink:hover {
  --tw-text-opacity: 1;
  color: rgb(240 89 255 / var(--tw-text-opacity, 1));
}

.hover\:text-muted-foreground:hover {
  color: hsl(var(--muted-foreground));
}

.hover\:text-primary-foreground:hover {
  color: hsl(var(--primary-foreground));
}

.hover\:text-primary\/80:hover {
  color: hsl(var(--primary) / 0.8);
}

.hover\:text-purple-300:hover {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.hover\:text-red-100:hover {
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}

.hover\:text-red-300:hover {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / 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-100:hover {
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / 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\/60:hover {
  color: rgb(255 255 255 / 0.6);
}

.hover\:text-white\/80:hover {
  color: rgb(255 255 255 / 0.8);
}

.hover\:text-white\/90:hover {
  color: rgb(255 255 255 / 0.9);
}

.hover\:text-yellow-400:hover {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

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

.hover\:opacity-100:hover {
  opacity: 1;
}

.hover\:opacity-80:hover {
  opacity: 0.8;
}

.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_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover {
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 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);
}

.hover\:shadow-\[0_0_10px_rgba\(0\2c 229\2c 255\2c 0\.2\)\]:hover {
  --tw-shadow: 0 0 10px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 0\2c 0\2c 0\.7\)\]:hover {
  --tw-shadow: 0 0 15px rgba(0,0,0,0.7);
  --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_15px_rgba\(0\2c 102\2c 255\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(0,102,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 209\2c 255\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(0,209,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 229\2c 255\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 15px rgba(0,229,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(0,229,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);
}

.hover\:shadow-\[0_0_15px_rgba\(138\2c 43\2c 226\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(138,43,226,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_15px_rgba\(192\2c 192\2c 192\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(192,192,192,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_15px_rgba\(217\2c 70\2c 239\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(217,70,239,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_15px_rgba\(230\2c 230\2c 250\2c 0\.8\)\]:hover {
  --tw-shadow: 0 0 15px rgba(230,230,250,0.8);
  --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_15px_rgba\(239\2c 68\2c 68\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(239,68,68,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_15px_rgba\(250\2c 204\2c 21\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(250,204,21,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_15px_rgba\(255\2c 215\2c 0\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 15px rgba(255,215,0,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_rgba\(0\2c 209\2c 255\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 20px rgba(0,209,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);
}

.hover\:shadow-\[0_0_20px_rgba\(0\2c 209\2c 255\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 20px rgba(0,209,255,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);
}

.hover\:shadow-\[0_0_20px_rgba\(0\2c 229\2c 255\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 20px rgba(0,229,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);
}

.hover\:shadow-\[0_0_20px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 20px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_20px_rgba\(147\2c 51\2c 234\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 20px rgba(147,51,234,0.6);
  --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\(148\2c 163\2c 184\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 20px rgba(148,163,184,0.6);
  --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\(251\2c 191\2c 36\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 20px rgba(251,191,36,0.6);
  --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\(34\2c 211\2c 238\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 20px rgba(34,211,238,0.6);
  --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\(75\2c 85\2c 99\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 20px rgba(75,85,99,0.6);
  --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_25px_rgba\(0\2c 229\2c 255\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 25px rgba(0,229,255,0.6);
  --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);
}

.hover\:shadow-\[0_0_30px_rgba\(0\2c 209\2c 255\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 30px rgba(0,209,255,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\(0\2c 229\2c 255\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 30px rgba(0,229,255,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\(168\2c 85\2c 247\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 30px rgba(168,85,247,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);
}

.hover\:shadow-\[0_0_30px_rgba\(168\2c 85\2c 247\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 30px rgba(168,85,247,0.5);
  --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\(250\2c 204\2c 21\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 30px rgba(250,204,21,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);
}

.hover\:shadow-\[0_0_30px_rgba\(34\2c 211\2c 238\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 30px rgba(34,211,238,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_40px_rgba\(0\2c 229\2c 255\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 40px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_40px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 40px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_40px_rgba\(168\2c 85\2c 247\2c 0\.6\)\]:hover {
  --tw-shadow: 0 0 40px rgba(168,85,247,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_0_40px_rgba\(255\2c 255\2c 255\2c 0\.4\)\]:hover {
  --tw-shadow: 0 0 40px rgba(255,255,255,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);
}

.hover\:shadow-\[0_0_60px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 60px rgba(0,229,255,0.5);
  --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);
}

.hover\:shadow-\[0_0_60px_rgba\(245\2c 158\2c 11\2c 0\.5\)\]:hover {
  --tw-shadow: 0 0 60px rgba(245,158,11,0.5);
  --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);
}

.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\:shadow-md:hover {
  --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);
}

.hover\:shadow-xl:hover {
  --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);
}

.hover\:shadow-\[\#00D1FF\]\/30:hover {
  --tw-shadow-color: rgb(0 209 255 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-cyan-500\/20:hover {
  --tw-shadow-color: rgb(6 182 212 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-cyan-500\/30:hover {
  --tw-shadow-color: rgb(6 182 212 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-cyan-500\/50:hover {
  --tw-shadow-color: rgb(6 182 212 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-fuchsia-500\/50:hover {
  --tw-shadow-color: rgb(217 70 239 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-red-500\/30:hover {
  --tw-shadow-color: rgb(239 68 68 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-red-500\/50:hover {
  --tw-shadow-color: rgb(239 68 68 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-yellow-500\/50:hover {
  --tw-shadow-color: rgb(234 179 8 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:ring-2:hover {
  --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);
}

.hover\:ring-\[\#00D1FF\]:hover {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

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

.hover\:file\:bg-cyan-400::file-selector-button:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}

.hover\:file\:bg-primary\/90::file-selector-button:hover {
  background-color: hsl(var(--primary) / 0.9);
}

.focus\:border-\[\#00D1FF\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.focus\:border-\[\#00D1FF\]\/50:focus {
  border-color: rgb(0 209 255 / 0.5);
}

.focus\:border-\[\#00E5FF\]\/50:focus {
  border-color: rgb(0 229 255 / 0.5);
}

.focus\:border-\[\#F213A4\]\/50:focus {
  border-color: rgb(242 19 164 / 0.5);
}

.focus\:border-cyan-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.focus\:border-cyan-400\/50:focus {
  border-color: rgb(34 211 238 / 0.5);
}

.focus\:border-cyan-500\/50:focus {
  border-color: rgb(6 182 212 / 0.5);
}

.focus\:border-cyan-500\/60:focus {
  border-color: rgb(6 182 212 / 0.6);
}

.focus\:border-green-400:focus {
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.focus\:border-primary:focus {
  border-color: hsl(var(--primary));
}

.focus\:border-purple-500\/50:focus {
  border-color: rgb(168 85 247 / 0.5);
}

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

.focus\:bg-primary:focus {
  background-color: hsl(var(--primary));
}

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

.focus\:text-primary-foreground:focus {
  color: hsl(var(--primary-foreground));
}

.focus\:opacity-100:focus {
  opacity: 1;
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1: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(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);
}

.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-\[\#00D1FF\]:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.focus\:ring-\[\#00D1FF\]\/30:focus {
  --tw-ring-color: rgb(0 209 255 / 0.3);
}

.focus\:ring-\[\#00E5FF\]\/50:focus {
  --tw-ring-color: rgb(0 229 255 / 0.5);
}

.focus\:ring-\[\#00a3ff\]:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 163 255 / var(--tw-ring-opacity, 1));
}

.focus\:ring-cyan-400\/40:focus {
  --tw-ring-color: rgb(34 211 238 / 0.4);
}

.focus\:ring-cyan-500\/50:focus {
  --tw-ring-color: rgb(6 182 212 / 0.5);
}

.focus\:ring-primary\/20:focus {
  --tw-ring-color: hsl(var(--primary) / 0.2);
}

.focus\:ring-primary\/50:focus {
  --tw-ring-color: hsl(var(--primary) / 0.5);
}

.focus\:ring-ring:focus {
  --tw-ring-color: hsl(var(--ring));
}

.focus\:ring-yellow-300\/50:focus {
  --tw-ring-color: rgb(253 224 71 / 0.5);
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

.focus-visible\:outline-none:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-1:focus-visible {
  --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);
}

.focus-visible\:ring-2:focus-visible {
  --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-visible\:ring-cyan-500:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-m1ssion-blue:focus-visible {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-ring:focus-visible {
  --tw-ring-color: hsl(var(--ring));
}

.focus-visible\:ring-white\/30:focus-visible {
  --tw-ring-color: rgb(255 255 255 / 0.3);
}

.focus-visible\:ring-offset-1:focus-visible {
  --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-offset-2:focus-visible {
  --tw-ring-offset-width: 2px;
}

.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\.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\:bg-purple-900\/40:active {
  background-color: rgb(88 28 135 / 0.4);
}

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

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:bg-gray-600:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-red-800:disabled {
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}

.disabled\:text-white:disabled {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.disabled\:opacity-100:disabled {
  opacity: 1;
}

.disabled\:opacity-30:disabled {
  opacity: 0.3;
}

.disabled\:opacity-35:disabled {
  opacity: 0.35;
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:hover\:scale-100:hover:disabled {
  --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\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100 {
  opacity: 1;
}

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

.group:hover .group-hover\:translate-x-1 {
  --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));
}

.group:hover .group-hover\:translate-x-\[200\%\] {
  --tw-translate-x: 200%;
  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-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));
}

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

@keyframes pulse {
  50% {
    opacity: 0.8;
  }
  0%, 100% {
    opacity: 0.3;
  }
}

.group:hover .group-hover\:animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.group:hover .group-hover\:border-\[\#4361ee\]\/80 {
  border-color: rgb(67 97 238 / 0.8);
}

.group:hover .group-hover\:border-cyan-500\/40 {
  border-color: rgb(6 182 212 / 0.4);
}

.group:hover .group-hover\:border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}

.group:hover .group-hover\:text-\[\#00D1FF\] {
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / 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-purple-400 {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / 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-yellow-400 {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.group\/menu-item:hover .group-hover\/menu-item\:opacity-100 {
  opacity: 1;
}

.group:hover .group-hover\:opacity-10 {
  opacity: 0.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\:shadow-\[0_0_20px_rgba\(0\2c 255\2c 255\2c 0\.2\)\] {
  --tw-shadow: 0 0 20px rgba(0,255,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);
}

.group:active .group-active\:scale-95 {
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group.destructive .group-\[\.destructive\]\:border-muted\/40 {
  border-color: hsl(var(--muted) / 0.4);
}

.group.toast .group-\[\.toast\]\:bg-cyan-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.group.toast .group-\[\.toast\]\:bg-muted {
  background-color: hsl(var(--muted));
}

.group.destructive .group-\[\.destructive\]\:text-red-300 {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.group.toast .group-\[\.toast\]\:text-black {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.group.toast .group-\[\.toast\]\:text-muted-foreground {
  color: hsl(var(--muted-foreground));
}

.group.toast .group-\[\.toast\]\:text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}

.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover {
  border-color: hsl(var(--destructive) / 0.3);
}

.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover {
  background-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover {
  color: hsl(var(--destructive-foreground));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover {
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus {
  --tw-ring-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus {
  --tw-ring-offset-color: #dc2626;
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
  cursor: not-allowed;
}

.peer:disabled ~ .peer-disabled\:opacity-70 {
  opacity: 0.7;
}

.has-\[\:disabled\]\:opacity-50:has(:disabled) {
  opacity: 0.5;
}

.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8 {
  padding-right: 2rem;
}

.aria-disabled\:pointer-events-none[aria-disabled="true"] {
  pointer-events: none;
}

.aria-disabled\:opacity-50[aria-disabled="true"] {
  opacity: 0.5;
}

.aria-selected\:bg-accent[aria-selected="true"] {
  background-color: hsl(var(--accent));
}

.aria-selected\:bg-accent\/50[aria-selected="true"] {
  background-color: hsl(var(--accent) / 0.5);
}

.aria-selected\:text-accent-foreground[aria-selected="true"] {
  color: hsl(var(--accent-foreground));
}

.aria-selected\:text-muted-foreground[aria-selected="true"] {
  color: hsl(var(--muted-foreground));
}

.aria-selected\:opacity-100[aria-selected="true"] {
  opacity: 1;
}

.aria-selected\:opacity-30[aria-selected="true"] {
  opacity: 0.3;
}

.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
  pointer-events: none;
}

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

.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"] {
  height: 1px;
}

.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"] {
  width: 100%;
}

.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"] {
  --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));
}

.data-\[side\=left\]\:-translate-x-1[data-side="left"] {
  --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));
}

.data-\[side\=right\]\:translate-x-1[data-side="right"] {
  --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));
}

.data-\[side\=top\]\:-translate-y-1[data-side="top"] {
  --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));
}

.data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
  --tw-translate-x: 1.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));
}

.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
  --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));
}

.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"] {
  --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));
}

.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"] {
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  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));
}

.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"] {
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  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));
}

@keyframes accordion-up {
  from {
    height: var(--radix-accordion-content-height);
  }
  to {
    height: 0;
  }
}

.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"] {
  animation: accordion-up 0.2s ease-out;
}

@keyframes accordion-down {
  from {
    height: 0;
  }
  to {
    height: var(--radix-accordion-content-height);
  }
}

.data-\[state\=open\]\:animate-accordion-down[data-state="open"] {
  animation: accordion-down 0.2s ease-out;
}

.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"] {
  flex-direction: column;
}

.data-\[state\=active\]\:border-cyan-500[data-state="active"] {
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}

.data-\[state\=active\]\:border-purple-500[data-state="active"] {
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.data-\[state\=checked\]\:border-\[\#00D1FF\][data-state="checked"] {
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.data-\[active\]\:bg-accent\/50[data-active] {
  background-color: hsl(var(--accent) / 0.5);
}

.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true'] {
  background-color: hsl(var(--accent));
}

.data-\[state\=active\]\:bg-cyan-900\/30[data-state="active"] {
  background-color: rgb(22 78 99 / 0.3);
}

.data-\[state\=active\]\:bg-purple-900\/30[data-state="active"] {
  background-color: rgb(88 28 135 / 0.3);
}

.data-\[state\=active\]\:bg-transparent[data-state="active"] {
  background-color: transparent;
}

.data-\[state\=active\]\:bg-white[data-state="active"] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-\[\#00D1FF\][data-state="checked"] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-m1ssion-blue[data-state="checked"] {
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-primary[data-state="checked"] {
  background-color: hsl(var(--primary));
}

.data-\[state\=checked\]\:bg-white[data-state="checked"] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=on\]\:bg-accent[data-state="on"] {
  background-color: hsl(var(--accent));
}

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

.data-\[state\=open\]\:bg-accent\/50[data-state="open"] {
  background-color: hsl(var(--accent) / 0.5);
}

.data-\[state\=open\]\:bg-secondary[data-state="open"] {
  background-color: hsl(var(--secondary));
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"] {
  background-color: hsl(var(--muted));
}

.data-\[state\=unchecked\]\:bg-white\/10[data-state="unchecked"] {
  background-color: rgb(255 255 255 / 0.1);
}

.data-\[state\=unchecked\]\:bg-white\/90[data-state="unchecked"] {
  background-color: rgb(255 255 255 / 0.9);
}

.data-\[state\=active\]\:bg-gradient-to-r[data-state="active"] {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.data-\[state\=active\]\:from-m1ssion-blue[data-state="active"] {
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.data-\[state\=active\]\:to-m1ssion-pink[data-state="active"] {
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.data-\[active\=true\]\:font-medium[data-active="true"] {
  font-weight: 500;
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"] {
  color: hsl(var(--accent-foreground));
}

.data-\[state\=active\]\:text-black[data-state="active"] {
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-cyan-300[data-state="active"] {
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-purple-300[data-state="active"] {
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-white[data-state="active"] {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"] {
  color: hsl(var(--primary-foreground));
}

.data-\[state\=on\]\:text-accent-foreground[data-state="on"] {
  color: hsl(var(--accent-foreground));
}

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

.data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
  opacity: 0.5;
}

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

.data-\[state\=open\]\:opacity-100[data-state="open"] {
  opacity: 1;
}

.data-\[swipe\=move\]\:transition-none[data-swipe="move"] {
  transition-property: none;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  transition-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"] {
  transition-duration: 500ms;
}

.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=open\]\:animate-in[data-state="open"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=visible\]\:animate-in[data-state="visible"] {
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=closed\]\:animate-out[data-state="closed"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=hidden\]\:animate-out[data-state="hidden"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[swipe\=end\]\:animate-out[data-swipe="end"] {
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"] {
  --tw-enter-opacity: 0;
}

.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"] {
  --tw-exit-opacity: 0;
}

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

.data-\[state\=closed\]\:fade-out-80[data-state="closed"] {
  --tw-exit-opacity: 0.8;
}

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

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

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

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

.data-\[state\=open\]\:zoom-in-90[data-state="open"] {
  --tw-enter-scale: .9;
}

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

.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"] {
  --tw-enter-translate-x: 13rem;
}

.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"] {
  --tw-enter-translate-x: -13rem;
}

.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"] {
  --tw-exit-translate-x: 13rem;
}

.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"] {
  --tw-exit-translate-x: -13rem;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"] {
  --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"] {
  --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"] {
  --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
  --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"] {
  --tw-exit-translate-y: 100%;
}

.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"] {
  --tw-exit-translate-x: -100%;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"] {
  --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"] {
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"] {
  --tw-exit-translate-y: -100%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"] {
  --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"] {
  --tw-enter-translate-y: 100%;
}

.data-\[state\=open\]\:slide-in-from-left[data-state="open"] {
  --tw-enter-translate-x: -100%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"] {
  --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-right[data-state="open"] {
  --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-top[data-state="open"] {
  --tw-enter-translate-y: -100%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"] {
  --tw-enter-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"] {
  --tw-enter-translate-y: -100%;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"] {
  animation-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"] {
  animation-duration: 500ms;
}

.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  left: 0px;
}

.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  height: 0.25rem;
}

.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  width: 100%;
}

.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --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));
}

.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after {
  content: var(--tw-content);
  --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[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  left: calc(var(--sidebar-width) * -1);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\] {
  right: calc(var(--sidebar-width) * -1);
}

.group[data-side="left"] .group-data-\[side\=left\]\:-right-4 {
  right: -1rem;
}

.group[data-side="right"] .group-data-\[side\=right\]\:left-0 {
  left: 0px;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8 {
  margin-top: -2rem;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden {
  display: none;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8 {
  width: 2rem !important;
  height: 2rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\] {
  width: var(--sidebar-width-icon);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\] {
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0 {
  width: 0px;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\: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[data-side="right"] .group-data-\[side\=right\]\: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));
}

.group[data-state="open"] .group-data-\[state\=open\]\: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));
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden {
  overflow: hidden;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg {
  border-radius: var(--radius);
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border {
  border-width: 1px;
}

.group[data-side="left"] .group-data-\[side\=left\]\:border-r {
  border-right-width: 1px;
}

.group[data-side="right"] .group-data-\[side\=right\]\:border-l {
  border-left-width: 1px;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0 {
  padding: 0px !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2 {
  padding: 0.5rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0 {
  opacity: 0;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after {
  content: var(--tw-content);
  left: 100%;
}

.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5 {
  top: 0.375rem;
}

.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5 {
  top: 0.625rem;
}

.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1 {
  top: 0.25rem;
}

.peer[data-variant="inset"] ~ .peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\] {
  min-height: calc(100svh - 1rem);
}

.dark\:border-destructive:is(.dark *) {
  border-color: hsl(var(--destructive));
}

.dark\:border-gray-600:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.dark\:border-red-800:is(.dark *) {
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.dark\:border-t-gray-300:is(.dark *) {
  --tw-border-opacity: 1;
  border-top-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.dark\:bg-\[\#181641\]\/80:is(.dark *) {
  background-color: rgb(24 22 65 / 0.8);
}

.dark\:bg-amber-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-950:is(.dark *) {
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-950\/20:is(.dark *) {
  background-color: rgb(69 10 10 / 0.2);
}

.dark\:bg-yellow-950\/20:is(.dark *) {
  background-color: rgb(66 32 6 / 0.2);
}

.dark\:text-amber-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.dark\:text-green-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}

.dark\:text-green-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.dark\:text-orange-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.dark\:text-red-200:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.dark\:text-red-300:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.dark\:text-red-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-400:is(.dark *) {
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px) {
  .sm\:not-sr-only {
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }
  .sm\:bottom-0 {
    bottom: 0px;
  }
  .sm\:bottom-20 {
    bottom: 5rem;
  }
  .sm\:right-0 {
    right: 0px;
  }
  .sm\:top-auto {
    top: auto;
  }
  .sm\:mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  .sm\:mx-4 {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .sm\:mb-0 {
    margin-bottom: 0px;
  }
  .sm\:mb-2 {
    margin-bottom: 0.5rem;
  }
  .sm\:mb-4 {
    margin-bottom: 1rem;
  }
  .sm\:mb-6 {
    margin-bottom: 1.5rem;
  }
  .sm\:mb-8 {
    margin-bottom: 2rem;
  }
  .sm\:ml-1 {
    margin-left: 0.25rem;
  }
  .sm\:mt-0 {
    margin-top: 0px;
  }
  .sm\:mt-4 {
    margin-top: 1rem;
  }
  .sm\:mt-8 {
    margin-top: 2rem;
  }
  .sm\:block {
    display: block;
  }
  .sm\:inline {
    display: inline;
  }
  .sm\:flex {
    display: flex;
  }
  .sm\:hidden {
    display: none;
  }
  .sm\:h-10 {
    height: 2.5rem;
  }
  .sm\:h-12 {
    height: 3rem;
  }
  .sm\:h-16 {
    height: 4rem;
  }
  .sm\:h-28 {
    height: 7rem;
  }
  .sm\:h-36 {
    height: 9rem;
  }
  .sm\:h-48 {
    height: 12rem;
  }
  .sm\:h-5 {
    height: 1.25rem;
  }
  .sm\:h-56 {
    height: 14rem;
  }
  .sm\:h-64 {
    height: 16rem;
  }
  .sm\:h-7 {
    height: 1.75rem;
  }
  .sm\:h-72 {
    height: 18rem;
  }
  .sm\:h-8 {
    height: 2rem;
  }
  .sm\:h-\[500px\] {
    height: 500px;
  }
  .sm\:min-h-\[300px\] {
    min-height: 300px;
  }
  .sm\:w-10 {
    width: 2.5rem;
  }
  .sm\:w-12 {
    width: 3rem;
  }
  .sm\:w-16 {
    width: 4rem;
  }
  .sm\:w-28 {
    width: 7rem;
  }
  .sm\:w-48 {
    width: 12rem;
  }
  .sm\:w-5 {
    width: 1.25rem;
  }
  .sm\:w-56 {
    width: 14rem;
  }
  .sm\:w-7 {
    width: 1.75rem;
  }
  .sm\:w-8 {
    width: 2rem;
  }
  .sm\:w-\[180px\] {
    width: 180px;
  }
  .sm\:max-w-3xl {
    max-width: 48rem;
  }
  .sm\:max-w-4xl {
    max-width: 56rem;
  }
  .sm\:max-w-\[380px\] {
    max-width: 380px;
  }
  .sm\:max-w-\[425px\] {
    max-width: 425px;
  }
  .sm\:max-w-\[60vw\] {
    max-width: 60vw;
  }
  .sm\:max-w-md {
    max-width: 28rem;
  }
  .sm\:max-w-sm {
    max-width: 24rem;
  }
  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .sm\:flex-row {
    flex-direction: row;
  }
  .sm\:flex-col {
    flex-direction: column;
  }
  .sm\:flex-nowrap {
    flex-wrap: nowrap;
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:justify-end {
    justify-content: flex-end;
  }
  .sm\:justify-between {
    justify-content: space-between;
  }
  .sm\:gap-2 {
    gap: 0.5rem;
  }
  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }
  .sm\:gap-3 {
    gap: 0.75rem;
  }
  .sm\:gap-4 {
    gap: 1rem;
  }
  .sm\:gap-6 {
    gap: 1.5rem;
  }
  .sm\: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)));
  }
  .sm\: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)));
  }
  .sm\:space-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0px * var(--tw-space-y-reverse));
  }
  .sm\: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));
  }
  .sm\: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));
  }
  .sm\: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));
  }
  .sm\:rounded-lg {
    border-radius: var(--radius);
  }
  .sm\:p-10 {
    padding: 2.5rem;
  }
  .sm\:p-3 {
    padding: 0.75rem;
  }
  .sm\:p-4 {
    padding: 1rem;
  }
  .sm\:p-6 {
    padding: 1.5rem;
  }
  .sm\:p-8 {
    padding: 2rem;
  }
  .sm\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .sm\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .sm\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .sm\:py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .sm\:py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .sm\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  .sm\:pt-12 {
    padding-top: 3rem;
  }
  .sm\:pt-24 {
    padding-top: 6rem;
  }
  .sm\:text-left {
    text-align: left;
  }
  .sm\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .sm\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .sm\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .sm\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .sm\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
  .sm\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
  .sm\:text-8xl {
    font-size: 6rem;
    line-height: 1;
  }
  .sm\:text-\[11px\] {
    font-size: 11px;
  }
  .sm\:text-\[96px\] {
    font-size: 96px;
  }
  .sm\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .sm\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .sm\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .sm\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .sm\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"] {
    --tw-enter-translate-y: 100%;
  }
}

@media (min-width: 768px) {
  .md\:absolute {
    position: absolute;
  }
  .md\:bottom-28 {
    bottom: 7rem;
  }
  .md\:bottom-44 {
    bottom: 11rem;
  }
  .md\:left-auto {
    left: auto;
  }
  .md\:right-4 {
    right: 1rem;
  }
  .md\:right-8 {
    right: 2rem;
  }
  .md\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .md\:col-span-3 {
    grid-column: span 3 / span 3;
  }
  .md\:m-auto {
    margin: auto;
  }
  .md\:mx-auto {
    margin-left: auto;
    margin-right: auto;
  }
  .md\:mb-0 {
    margin-bottom: 0px;
  }
  .md\:mb-6 {
    margin-bottom: 1.5rem;
  }
  .md\:mt-0 {
    margin-top: 0px;
  }
  .md\:block {
    display: block;
  }
  .md\:flex {
    display: flex;
  }
  .md\:hidden {
    display: none;
  }
  .md\:aspect-\[4\/3\] {
    aspect-ratio: 4/3;
  }
  .md\:h-20 {
    height: 5rem;
  }
  .md\:h-24 {
    height: 6rem;
  }
  .md\:h-6 {
    height: 1.5rem;
  }
  .md\:h-80 {
    height: 20rem;
  }
  .md\:h-\[300px\] {
    height: 300px;
  }
  .md\:h-\[50vh\] {
    height: 50vh;
  }
  .md\:h-\[600px\] {
    height: 600px;
  }
  .md\:h-\[60vh\] {
    height: 60vh;
  }
  .md\:h-\[70vh\] {
    height: 70vh;
  }
  .md\:h-\[80vh\] {
    height: 80vh;
  }
  .md\:h-\[calc\(100svh-140px\)\] {
    height: calc(100svh - 140px);
  }
  .md\:h-full {
    height: 100%;
  }
  .md\:max-h-\[800px\] {
    max-height: 800px;
  }
  .md\:max-h-\[calc\(100svh-140px\)\] {
    max-height: calc(100svh - 140px);
  }
  .md\:w-1\/2 {
    width: 50%;
  }
  .md\:w-1\/3 {
    width: 33.333333%;
  }
  .md\:w-20 {
    width: 5rem;
  }
  .md\:w-6 {
    width: 1.5rem;
  }
  .md\:w-96 {
    width: 24rem;
  }
  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\] {
    width: var(--radix-navigation-menu-viewport-width);
  }
  .md\:w-auto {
    width: auto;
  }
  .md\:max-w-4xl {
    max-width: 56rem;
  }
  .md\:max-w-\[420px\] {
    max-width: 420px;
  }
  .md\:max-w-screen-xl {
    max-width: 1280px;
  }
  .md\:basis-1\/2 {
    flex-basis: 50%;
  }
  .md\:basis-1\/3 {
    flex-basis: 33.333333%;
  }
  .md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .md\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:items-center {
    align-items: center;
  }
  .md\:justify-end {
    justify-content: flex-end;
  }
  .md\:justify-center {
    justify-content: center;
  }
  .md\:gap-3 {
    gap: 0.75rem;
  }
  .md\:gap-4 {
    gap: 1rem;
  }
  .md\:gap-6 {
    gap: 1.5rem;
  }
  .md\: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)));
  }
  .md\:space-x-8 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(2rem * var(--tw-space-x-reverse));
    margin-left: calc(2rem * calc(1 - var(--tw-space-x-reverse)));
  }
  .md\: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));
  }
  .md\: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));
  }
  .md\:rounded-3xl {
    border-radius: 1.5rem;
  }
  .md\:rounded-xl {
    border-radius: 0.75rem;
  }
  .md\:bg-gradient-to-l {
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
  }
  .md\:bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
  }
  .md\:p-10 {
    padding: 2.5rem;
  }
  .md\:p-12 {
    padding: 3rem;
  }
  .md\:p-16 {
    padding: 4rem;
  }
  .md\:p-6 {
    padding: 1.5rem;
  }
  .md\:p-8 {
    padding: 2rem;
  }
  .md\:px-0 {
    padding-left: 0px;
    padding-right: 0px;
  }
  .md\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .md\:py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  .md\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  .md\:text-left {
    text-align: left;
  }
  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }
  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
  .md\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
  .md\:text-8xl {
    font-size: 6rem;
    line-height: 1;
  }
  .md\:text-9xl {
    font-size: 8rem;
    line-height: 1;
  }
  .md\:text-\[18px\] {
    font-size: 18px;
  }
  .md\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .md\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
  .md\:opacity-0 {
    opacity: 0;
  }
  .after\:md\:hidden::after {
    content: var(--tw-content);
    display: none;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2 {
    margin: 0.5rem;
  }
  .peer[data-state="collapsed"][data-variant="inset"] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2 {
    margin-left: 0.5rem;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0 {
    margin-left: 0px;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl {
    border-radius: 0.75rem;
  }
  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}

@media (min-width: 1024px) {
  .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }
  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }
  .lg\:row-span-2 {
    grid-row: span 2 / span 2;
  }
  .lg\:ml-4 {
    margin-left: 1rem;
  }
  .lg\:block {
    display: block;
  }
  .lg\:inline {
    display: inline;
  }
  .lg\:flex {
    display: flex;
  }
  .lg\:hidden {
    display: none;
  }
  .lg\:h-20 {
    height: 5rem;
  }
  .lg\:h-24 {
    height: 6rem;
  }
  .lg\:h-96 {
    height: 24rem;
  }
  .lg\:h-\[380px\] {
    height: 380px;
  }
  .lg\:h-\[55vh\] {
    height: 55vh;
  }
  .lg\:w-20 {
    width: 5rem;
  }
  .lg\:w-24 {
    width: 6rem;
  }
  .lg\:basis-1\/3 {
    flex-basis: 33.333333%;
  }
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .lg\:flex-row {
    flex-direction: row;
  }
  .lg\:items-center {
    align-items: center;
  }
  .lg\:gap-4 {
    gap: 1rem;
  }
  .lg\:p-8 {
    padding: 2rem;
  }
  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
  .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
  .lg\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
  .lg\:text-8xl {
    font-size: 6rem;
    line-height: 1;
  }
  .lg\:text-9xl {
    font-size: 8rem;
    line-height: 1;
  }
  .lg\:text-\[8rem\] {
    font-size: 8rem;
  }
  .lg\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px) {
  .xl\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .xl\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }
}

.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]) {
  background-color: hsl(var(--accent));
}

.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child {
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside) {
  background-color: hsl(var(--accent) / 0.5);
}

.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end) {
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]) {
  padding-right: 0px;
}

.\[\&\>button\]\:hidden>button {
  display: none;
}

.\[\&\>span\:last-child\]\:truncate>span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.\[\&\>span\]\:line-clamp-1>span {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div {
  --tw-translate-y: -3px;
  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));
}

.\[\&\>svg\]\:absolute>svg {
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg {
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg {
  top: 1rem;
}

.\[\&\>svg\]\:size-3\.5>svg {
  width: 0.875rem;
  height: 0.875rem;
}

.\[\&\>svg\]\:size-4>svg {
  width: 1rem;
  height: 1rem;
}

.\[\&\>svg\]\:h-2\.5>svg {
  height: 0.625rem;
}

.\[\&\>svg\]\:h-3>svg {
  height: 0.75rem;
}

.\[\&\>svg\]\:w-2\.5>svg {
  width: 0.625rem;
}

.\[\&\>svg\]\:w-3>svg {
  width: 0.75rem;
}

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

.\[\&\>svg\]\:text-destructive>svg {
  color: hsl(var(--destructive));
}

.\[\&\>svg\]\:text-foreground>svg {
  color: hsl(var(--foreground));
}

.\[\&\>svg\]\:text-muted-foreground>svg {
  color: hsl(var(--muted-foreground));
}

.\[\&\>svg\~\*\]\:pl-7>svg~* {
  padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr {
  border-bottom-width: 0px;
}

.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div {
  --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));
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg {
  --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));
}

.\[\&_\*\]\:pointer-events-none * {
  pointer-events: none;
}

.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
  fill: hsl(var(--muted-foreground));
}

.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc'] {
  stroke: hsl(var(--border) / 0.5);
}

.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff'] {
  stroke: transparent;
}

.\[\&_\.recharts-layer\]\:outline-none .recharts-layer {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc'] {
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector {
  fill: hsl(var(--muted));
}

.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
  fill: hsl(var(--muted));
}

.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc'] {
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff'] {
  stroke: transparent;
}

.\[\&_\.recharts-sector\]\:outline-none .recharts-sector {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-surface\]\:outline-none .recharts-surface {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
  font-weight: 500;
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading] {
  color: hsl(var(--muted-foreground));
}

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group] {
  padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
  width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
  height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
  height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
  width: 1.25rem;
}

.\[\&_p\]\:leading-relaxed p {
  line-height: 1.625;
}

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

.\[\&_svg\]\:size-4 svg {
  width: 1rem;
  height: 1rem;
}

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

.\[\&_tr\:last-child\]\:border-0 tr:last-child {
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr {
  border-bottom-width: 1px;
}

[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2 {
  right: -0.5rem;
}

[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}

[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}

[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2 {
  left: -0.5rem;
}

[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize {
  cursor: w-resize;
}

[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize {
  cursor: e-resize;
}
/* © 2026 Joseph MULÉ – M1SSION™ — iOS WKWebView: strip heavy backdrop-blur on fullscreen shells (activated via body[data-m1-compositor-diet="1"] + body.is-native) */

/* ── Victory (core + legacy modal) ── */
body.is-native[data-m1-compositor-diet='1'] .m1-victory-core-backdrop,
body.is-native[data-m1-compositor-diet='1'] .m1-victory-modal-backdrop {
  backdrop-filter: none !important;
  background:
    radial-gradient(ellipse 90% 70% at 50% 45%, rgba(40, 40, 40, 0.55) 0%, transparent 55%),
    rgba(13, 13, 13, 0.94) !important;
}

/* Shorter motion on fullscreen roots when backdrop is static (less jank) */
body.is-native[data-m1-compositor-diet='1'] .m1-victory-core-root {
  transition:
    opacity 260ms cubic-bezier(0.33, 1, 0.68, 1),
    transform 260ms cubic-bezier(0.33, 1, 0.68, 1);
}

body.is-native[data-m1-compositor-diet='1'] .m1-victory-core-root--entered .m1-victory-core-backdrop {
  transition: opacity 220ms cubic-bezier(0.33, 1, 0.68, 1);
}

body.is-native[data-m1-compositor-diet='1'] .m1-victory-core-shell {
  transition:
    opacity 280ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.is-native[data-m1-compositor-diet='1'] .m1-victory-modal-root {
  transition:
    opacity 240ms cubic-bezier(0.33, 1, 0.68, 1),
    transform 240ms cubic-bezier(0.33, 1, 0.68, 1);
}

/* ── Home modals shell (streak / vault / play) ── */
body.is-native[data-m1-compositor-diet='1'] .m1-home-modal-backdrop-fill,
body.is-native[data-m1-compositor-diet='1'] .m1-home-modal-glass-panel,
body.is-native[data-m1-compositor-diet='1'] .m1-home-modal-success-layer {
  backdrop-filter: none !important;
}

body.is-native[data-m1-compositor-diet='1'] .m1-home-modal-backdrop-fill {
  background:
    radial-gradient(ellipse 100% 90% at 0% 50%, rgba(255, 0, 255, 0.06) 0%, transparent 42%),
    radial-gradient(ellipse 100% 90% at 100% 50%, rgba(0, 255, 255, 0.05) 0%, transparent 42%),
    radial-gradient(ellipse 90% 70% at 50% 45%, rgba(30, 30, 35, 0.75) 0%, transparent 55%),
    rgba(10, 10, 14, 0.96) !important;
}

body.is-native[data-m1-compositor-diet='1'] .m1-home-modal-glass-panel {
  background: rgba(13, 13, 13, 0.82) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.is-native[data-m1-compositor-diet='1'] .m1-home-modal-success-layer {
  background:
    radial-gradient(ellipse 100% 90% at 0% 50%, rgba(255, 0, 255, 0.06) 0%, transparent 42%),
    radial-gradient(ellipse 100% 90% at 100% 50%, rgba(0, 255, 255, 0.05) 0%, transparent 42%),
    rgba(10, 10, 15, 0.97) !important;
}

/* ── WOW Daily Focus (non-LITE pulse: filter blur is compositor-heavy) ── */
body.is-native[data-m1-compositor-diet='1'] .m1-daily-focus-root:not(.m1-daily-focus-root--lite) .m1-daily-focus-pulse {
  filter: none !important;
  opacity: 0.42;
  background: radial-gradient(circle at 50% 36%, rgba(0, 235, 255, 0.18), transparent 58%);
}

/* ── AppHome large glass cards (inline backdrop-filter) ── */
body.is-native[data-m1-compositor-diet='1'] .m1-compositor-diet-home-glass {
  backdrop-filter: none !important;
}
/* Rank ring — donut glow behind avatar; photo stays on top (z-index). */

@keyframes m1-rank-ring-spin {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.m1-rank-ring-root {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.m1-rank-ring-glow {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% + 14px);
  height: calc(100% + 14px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: radial-gradient(
    circle,
    transparent calc(50% - 2px),
    #000 calc(50% + 1px),
    #000 calc(50% + 5px),
    transparent calc(50% + 7px)
  );
  mask-image: radial-gradient(
    circle,
    transparent calc(50% - 2px),
    #000 calc(50% + 1px),
    #000 calc(50% + 5px),
    transparent calc(50% + 7px)
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.m1-rank-ring-spin {
  animation: m1-rank-ring-spin 22s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .m1-rank-ring-spin {
    animation: none;
  }
}

.m1-rank-ring-avatar-slot {
  position: relative;
  z-index: 1;
  border-radius: 50%;
}

.m1-rank-ring-blur-a,
.m1-rank-ring-blur-b,
.m1-rank-ring-blur-c {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% + 18px);
  height: calc(100% + 18px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: radial-gradient(
    circle,
    transparent calc(50% - 4px),
    #000 calc(50% + 0px),
    #000 calc(50% + 8px),
    transparent calc(50% + 12px)
  );
  mask-image: radial-gradient(
    circle,
    transparent calc(50% - 4px),
    #000 calc(50% + 0px),
    #000 calc(50% + 8px),
    transparent calc(50% + 12px)
  );
}

.m1-rank-ring-blur-a {
  filter: blur(4px);
  opacity: 0.55;
}

.m1-rank-ring-blur-b {
  filter: blur(10px);
  opacity: 0.38;
}

.m1-rank-ring-blur-c {
  filter: blur(18px);
  opacity: 0.22;
}
/* © 2026 Joseph MULÉ – M1SSION™ — B2 flip base (compositor-light; no fullscreen blur) */
.m1-flip-base-backdrop {
  position: fixed;
  inset: 0;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  background: rgba(10, 10, 15, 0.82);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.m1-flip-base-backdrop.m1-flip-base-backdrop--visible {
  opacity: 1;
}

.m1-flip-base-panel {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  overflow: hidden;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  padding:
    env(safe-area-inset-top, 0)
    env(safe-area-inset-right, 0)
    env(safe-area-inset-bottom, 0)
    env(safe-area-inset-left, 0);
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.m1-flip-base-panel.m1-flip-base-panel--visible {
  opacity: 1;
  transform: scale(1);
}
/**
 * M1SSION™ — Shared jelly close (reference: Reward Zone / Marker Rewards).
 * Modifiers: --static (flex row), --shop-header (fullscreen shop headers).
 */

.m1-close-jelly {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 10;

  width: 48px;
  height: 48px;
  border-radius: 50%;

  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  background: radial-gradient(
    circle at 30% 30%,
    rgba(180, 120, 255, 0.9),
    rgba(120, 60, 255, 0.95)
  );

  box-shadow:
    0px 6px 12px rgba(0, 0, 0, 0.35),
    inset 0px 6px 10px rgba(210, 187, 253, 0.6),
    inset 0px -8px 12px rgba(80, 20, 255, 0.8);
  backdrop-filter: blur(6px);

  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;

  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.m1-close-jelly--static {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  bottom: auto;
  flex-shrink: 0;
}

/*
 * Fullscreen / glass headers whose parent uses paddingTop: calc(env(safe-area-inset-top)+…).
 * Absolute children use the padding box top edge = sotto il notch NON è automatico:
 * serve esplicitamente env(safe-area-inset-top) qui, altrimenti la X resta troppo in alto su iPhone.
 */
.m1-close-jelly--shop-header {
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  right: calc(16px + env(safe-area-inset-right, 0px));
}

/* Oracle / Eight Ball: outer shell (.eight-ball-shell) already applies safe-area padding */
.m1-close-jelly--eight-ball-inner {
  top: 12px;
  right: 8px;
  z-index: 12;
}

.m1-close-jelly::before {
  content: '';
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 2px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  filter: blur(1px);
}

.m1-close-jelly::after {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 2px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  filter: blur(1px);
}

.m1-close-x {
  position: relative;
  z-index: 1;
  font-size: 20px;
  font-weight: 600;
  color: white;
  line-height: 1;
  pointer-events: none;
}

.m1-close-jelly:hover:not(:disabled) {
  animation: m1-jello 0.9s both;
  box-shadow:
    0px 8px 16px rgba(0, 0, 0, 0.45),
    0 0 12px rgba(160, 120, 255, 0.6),
    inset 0px 6px 10px rgba(210, 187, 253, 0.7),
    inset 0px -8px 12px rgba(80, 20, 255, 0.9);
}

.m1-close-jelly:active:not(:disabled) {
  transform: scale(0.92);
}

.m1-close-jelly:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  animation: none !important;
  transform: none;
}

@keyframes m1-jello {
  0% {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.2, 0.8, 1);
  }
  40% {
    transform: scale3d(0.8, 1.2, 1);
  }
  50% {
    transform: scale3d(1.1, 0.9, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .m1-close-jelly:hover:not(:disabled) {
    animation: none;
  }
}
/**
 * M1SSION™ — Premium operative CTA (dark shell, outline halo, inner gloss).
 * Shared: GIOCA launcher primary/secondary + video briefing footers.
 */

.m1-premium-cta {
  --m1-premium-cta-primary: #8255ff;
  --m1-premium-cta-neutral-1: #2e2e2e;
  --m1-premium-cta-neutral-2: #141414;
  --m1-premium-cta-radius: 14px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 72px;
  padding: 18px 20px;
  margin: 0;
  border: none;
  border-radius: var(--m1-premium-cta-radius);
  cursor: pointer;
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
  background: var(--m1-premium-cta-neutral-1);
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  box-shadow:
    0 0.5px 0.5px 1px rgba(0, 0, 0, 0.22),
    0 10px 22px rgba(0, 0, 0, 0.28),
    0 4px 5px rgba(0, 0, 0, 0.06);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease;
}

.m1-premium-cta:hover {
  transform: scale(1.02);
  box-shadow:
    0 0 1px 2px rgba(255, 255, 255, 0.22),
    0 16px 32px rgba(0, 0, 0, 0.34),
    0 10px 4px -3px rgba(0, 0, 0, 0.06);
}

.m1-premium-cta:active {
  transform: scale(1);
  box-shadow:
    0 0 1px 2px rgba(255, 255, 255, 0.18),
    0 8px 4px -2px rgba(0, 0, 0, 0.22);
}

@media (prefers-reduced-motion: reduce) {
  .m1-premium-cta,
  .m1-premium-cta:hover,
  .m1-premium-cta:active {
    transition: none;
    transform: none;
  }
}

.m1-premium-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 2.5px solid transparent;
  background:
    linear-gradient(var(--m1-premium-cta-neutral-1), var(--m1-premium-cta-neutral-2)) padding-box,
    linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.5)) border-box;
  z-index: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.m1-premium-cta::before {
  content: '';
  position: absolute;
  inset: 7px 6px 6px 6px;
  border-radius: 30px;
  background: linear-gradient(to top, var(--m1-premium-cta-neutral-1), var(--m1-premium-cta-neutral-2));
  filter: blur(0.5px);
  z-index: 2;
  pointer-events: none;
  opacity: 0.85;
}

.m1-premium-cta__outline {
  position: absolute;
  inset: -2px -3.5px;
  border-radius: inherit;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.m1-premium-cta:hover .m1-premium-cta__outline {
  opacity: 0.55;
}

.m1-premium-cta__outline::before {
  content: '';
  position: absolute;
  inset: -100%;
  background: conic-gradient(
    from 180deg,
    transparent 58%,
    rgba(130, 85, 255, 0.55) 76%,
    rgba(255, 255, 255, 0.12) 88%,
    transparent 100%
  );
  animation: m1-premium-cta-outline-spin 3.2s linear infinite;
  animation-play-state: paused;
}

@media (prefers-reduced-motion: no-preference) {
  .m1-premium-cta:hover .m1-premium-cta__outline::before {
    animation-play-state: running;
  }
}

@keyframes m1-premium-cta-outline-spin {
  to {
    transform: rotate(360deg);
  }
}

.m1-premium-cta__inner {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  pointer-events: none;
}

.m1-premium-cta__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.35em;
  height: 1.35em;
  opacity: 0.95;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

.m1-premium-cta__label {
  flex: 1;
  min-width: 0;
  text-align: center;
}

.m1-premium-cta:focus-visible {
  outline: 2px solid rgba(130, 85, 255, 0.65);
  outline-offset: 3px;
}

/* Optional GIOCA signal row — same grammar, lower emphasis */
.m1-premium-cta.m1-premium-cta--secondary {
  --m1-premium-cta-neutral-1: #2a2a2a;
  --m1-premium-cta-neutral-2: #101010;
  min-height: 54px;
  padding: 13px 16px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  box-shadow:
    0 0.5px 0.5px 1px rgba(0, 0, 0, 0.18),
    0 6px 16px rgba(0, 0, 0, 0.22),
    0 3px 4px rgba(0, 0, 0, 0.05);
}

.m1-premium-cta.m1-premium-cta--secondary:hover {
  transform: scale(1.012);
  box-shadow:
    0 0 1px 1.5px rgba(255, 255, 255, 0.14),
    0 10px 22px rgba(0, 0, 0, 0.28),
    0 6px 3px -2px rgba(0, 0, 0, 0.05);
}

.m1-premium-cta.m1-premium-cta--secondary::before {
  opacity: 0.55;
}

.m1-premium-cta.m1-premium-cta--secondary:hover .m1-premium-cta__outline {
  opacity: 0.38;
}

.m1-premium-cta.m1-premium-cta--secondary .m1-premium-cta__outline::before {
  background: conic-gradient(
    from 180deg,
    transparent 58%,
    rgba(130, 85, 255, 0.35) 76%,
    rgba(255, 255, 255, 0.08) 88%,
    transparent 100%
  );
}

/* Briefing footers — width unchanged; compact height, orbitron via Tailwind */
.m1-premium-cta.m1-premium-cta--briefing {
  min-height: 58px;
  padding: 14px 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.m1-premium-cta.m1-premium-cta--briefing::before {
  opacity: 0.72;
}
/* Mission Window — pickup celebration (above map chrome, below global PE overlay when emits fire after dismiss) */
.m1-mw-pickup-victory-root {
  position: fixed;
  inset: 0;
  z-index: 100050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px))
    max(18px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
}

.m1-mw-pickup-victory-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 90% 70% at 50% 20%, rgba(0, 212, 255, 0.12) 0%, transparent 50%),
    radial-gradient(ellipse 80% 60% at 50% 100%, rgba(120, 0, 255, 0.1) 0%, transparent 45%),
    rgba(4, 6, 12, 0.82);
  backdrop-filter: blur(18px);
}

.m1-mw-pickup-victory-confetti-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.m1-mw-pickup-victory-card {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: min(100%, 380px);
  border-radius: 22px;
  padding: 26px 22px 22px;
  text-align: center;
  color: #eef6ff;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 24px 64px rgba(0, 0, 0, 0.55),
    0 0 48px rgba(0, 212, 255, 0.12);
  transform-origin: center center;
}

/* Jelly entrance on whole card (confetti canvas stays z-index 1 under this panel) */
.m1-mw-pickup-victory-card--jelly-enter {
  animation: m1MwPickupCardJellyEnter 0.88s cubic-bezier(0.34, 1.45, 0.55, 1) both;
}

.m1-mw-pickup-victory-card--pe {
  background: linear-gradient(165deg, #121a28 0%, #0c1018 55%, #0a1420 100%);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 24px 64px rgba(0, 0, 0, 0.55),
    0 0 40px rgba(0, 212, 255, 0.22);
}

.m1-mw-pickup-victory-card--m1u {
  background: linear-gradient(165deg, #1a1228 0%, #120c18 55%, #160a22 100%);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.35),
    0 24px 64px rgba(0, 0, 0, 0.55),
    0 0 40px rgba(180, 120, 255, 0.2);
}

@keyframes m1MwPickupCardJellyEnter {
  0% {
    opacity: 0;
    transform: scale(0.86, 0.9) translateY(18px);
  }
  12% {
    opacity: 1;
  }
  22% {
    transform: scale(1.05, 0.97) translateY(0);
  }
  38% {
    transform: scale(0.96, 1.04);
  }
  55% {
    transform: scale(1.03, 0.98);
  }
  72% {
    transform: scale(0.99, 1.015);
  }
  88% {
    transform: scale(1.008, 0.996);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1) translateY(0);
  }
}

@keyframes m1MwPickupCardReducedIn {
  from {
    opacity: 0;
    transform: scale(0.97) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.m1-mw-pickup-victory-kicker {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.28em;
  color: rgba(0, 229, 255, 0.88);
  margin-bottom: 10px;
}

.m1-mw-pickup-victory-card--m1u .m1-mw-pickup-victory-kicker {
  color: rgba(220, 190, 255, 0.95);
}

.m1-mw-pickup-victory-title {
  font-size: clamp(22px, 5.5vw, 28px);
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.15;
  margin: 0 0 18px;
  text-shadow: 0 0 24px rgba(0, 212, 255, 0.25);
}

.m1-mw-pickup-victory-reward {
  font-size: clamp(28px, 8vw, 40px);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
  margin: 0 0 8px;
}

.m1-mw-pickup-victory-card--pe .m1-mw-pickup-victory-reward {
  color: #7df5ff;
  text-shadow: 0 0 28px rgba(0, 212, 255, 0.45);
}

.m1-mw-pickup-victory-card--m1u .m1-mw-pickup-victory-reward {
  color: #e8d4ff;
  text-shadow: 0 0 28px rgba(200, 160, 255, 0.45);
}

.m1-mw-pickup-victory-sub {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: rgba(230, 240, 255, 0.82);
  margin: 0 0 6px;
}

.m1-mw-pickup-victory-ref {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: rgba(200, 210, 230, 0.55);
  margin: 0 0 22px;
}

.m1-mw-pickup-victory-cta {
  width: 100%;
  min-height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: linear-gradient(180deg, rgba(0, 212, 255, 0.22) 0%, rgba(0, 120, 160, 0.12) 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.18em;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
  touch-action: manipulation;
  transition: transform 0.12s ease, filter 0.12s ease, opacity 0.12s ease;
}

.m1-mw-pickup-victory-card--m1u .m1-mw-pickup-victory-cta {
  background: linear-gradient(180deg, rgba(160, 100, 255, 0.28) 0%, rgba(80, 40, 120, 0.15) 100%);
}

.m1-mw-pickup-victory-cta:active {
  transform: scale(0.98);
  filter: brightness(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .m1-mw-pickup-victory-card--jelly-enter {
    animation: m1MwPickupCardReducedIn 0.36s ease-out both;
  }

  .m1-mw-pickup-victory-cta:active {
    transform: none;
  }
}
/* © 2026 M1SSION™ — Daily Operation MVP — timer shell: pixel-parity with MissionWindowMapChrome.css (m1-mw-timer-*) without importing MW */

.m1-daily-op-timer-outer {
  --m1-buzz-disc: clamp(140px, 27.5vw, 190px);
  --m1-daily-op-timer-disc: clamp(118px, 22vw, 168px);
  position: fixed;
  inset-inline: 0;
  top: calc(env(safe-area-inset-top, 0px) + 54px);
  bottom: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: max(12px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  z-index: 9990;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  pointer-events: none;
  box-sizing: border-box;
}

.m1-daily-op-timer-host {
  position: relative;
  width: var(--m1-daily-op-timer-disc);
  height: var(--m1-daily-op-timer-disc);
  flex-shrink: 0;
  margin-inline: auto;
  pointer-events: auto;
}

.m1-daily-op-timer-disc {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  isolation: isolate;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12),
    0 6px 28px rgba(0, 0, 0, 0.5),
    0 0 24px rgba(0, 212, 255, 0.2);
}

.m1-daily-op-timer-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  transform-origin: center;
  pointer-events: none;
  box-sizing: border-box;
  border: 3px solid rgba(0, 212, 255, 0.45);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  background: transparent;
}

.m1-daily-op-timer-face {
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.08) 0%, transparent 38%),
    radial-gradient(circle at center, #1c1c22 0%, #0a0a0f 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 2px 2px;
  box-sizing: border-box;
}

.m1-daily-op-timer-label {
  font-size: clamp(8px, 2vw, 10px);
  letter-spacing: 0.14em;
  font-weight: 800;
  color: rgba(0, 212, 255, 0.88);
  line-height: 1;
}

.m1-daily-op-timer-main {
  font-size: clamp(18px, 5vw, 26px);
  font-weight: 800;
  color: #fff;
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
  text-shadow: 0 0 12px rgba(0, 212, 255, 0.35);
}

.m1-daily-op-timer-ms {
  font-size: clamp(11px, 3vw, 15px);
  font-weight: 700;
  color: rgba(0, 229, 255, 0.92);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  margin-top: 2px;
}

/* Modals */
.m1-daily-op-modal-root {
  position: fixed;
  inset: 0;
  z-index: 10055;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(12px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px))
    max(12px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  pointer-events: auto;
}

.m1-daily-op-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 14, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.m1-daily-op-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 400px);
  max-height: min(88dvh, 640px);
  overflow: auto;
  border-radius: 20px;
  padding: 1.35rem 1.25rem 1.15rem;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: linear-gradient(165deg, rgba(32, 34, 42, 0.96) 0%, rgba(12, 12, 18, 0.98) 100%);
  box-shadow:
    0 0 0 1px rgba(0, 212, 255, 0.12),
    0 18px 48px rgba(0, 0, 0, 0.55);
}

.m1-daily-op-modal-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  font-weight: 800;
  color: rgba(0, 212, 255, 0.85);
  text-transform: uppercase;
}

.m1-daily-op-modal-title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.25rem, 4.5vw, 1.55rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
}

.m1-daily-op-modal-body {
  margin: 0 0 1.1rem;
  font-size: 0.98rem;
  line-height: 1.5;
  color: rgba(235, 238, 245, 0.88);
  white-space: pre-line;
}

.m1-daily-op-modal-reward {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: rgba(0, 229, 255, 0.95);
}

.m1-daily-op-modal-actions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.m1-daily-op-btn-primary {
  width: 100%;
  min-height: 3rem;
  border-radius: 12px;
  border: none;
  cursor: pointer;
  font-weight: 800;
  letter-spacing: 0.06em;
  font-size: 0.88rem;
  color: #0a0a0f;
  background: linear-gradient(135deg, #e8fbff 0%, #7ee8ff 45%, #00d1ff 100%);
  box-shadow: 0 6px 22px rgba(0, 209, 255, 0.35);
}

.m1-daily-op-btn-primary:active {
  transform: scale(0.99);
}

.m1-daily-op-btn-secondary {
  width: 100%;
  min-height: 2.75rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.06);
}

.m1-daily-op-btn-ghost {
  margin-top: 0.25rem;
  width: 100%;
  min-height: 2.4rem;
  border: none;
  background: transparent;
  color: rgba(180, 190, 210, 0.85);
  font-size: 0.78rem;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .m1-daily-op-btn-primary:active,
  .m1-daily-op-btn-secondary:active {
    transform: none;
  }
}

/* Active operation modal — anchored in upper “safe band” above GIOCA (~9580z) + BottomNav (10000), with bottom reserve */
.m1-daily-op-active-modal-root {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: max(12px, env(safe-area-inset-top, 0px) + 56px);
  padding-left: max(16px, env(safe-area-inset-left, 0px));
  padding-right: max(16px, env(safe-area-inset-right, 0px));
  /* GIOCA: ~88px bar + safe + disc (~96px) + margin — keep CTA legible */
  padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px) + 112px);
  box-sizing: border-box;
  pointer-events: auto;
}

.m1-daily-op-active-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 14, 0.42);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.m1-daily-op-active-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 400px);
  max-height: min(48dvh, calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 220px));
  margin-top: min(2vh, 12px);
  overflow: auto;
  border-radius: 20px;
  padding: 1.25rem 1.2rem 1.05rem;
  box-sizing: border-box;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: linear-gradient(165deg, rgba(32, 34, 42, 0.96) 0%, rgba(12, 12, 18, 0.98) 100%);
  box-shadow:
    0 0 0 1px rgba(0, 212, 255, 0.12),
    0 18px 48px rgba(0, 0, 0, 0.55);
}

/* Map mission HUD: timer + brief — same vertical band as MW timer (top +54px); copy sits lower so it clears header/disc */
.m1-daily-op-map-mission-hud {
  --m1-buzz-disc: clamp(140px, 27.5vw, 190px);
  --m1-daily-op-timer-disc: clamp(118px, 22vw, 168px);
  position: fixed;
  inset-inline: 0;
  top: calc(env(safe-area-inset-top, 0px) + 54px);
  z-index: 9988;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  padding-inline: max(12px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  padding-bottom: 6px;
  pointer-events: none;
  box-sizing: border-box;
}

.m1-daily-op-map-mission-hud .m1-daily-op-timer-embed {
  pointer-events: auto;
}

.m1-daily-op-timer-embed {
  display: flex;
  justify-content: center;
  width: 100%;
}

.m1-daily-op-map-mission-copy {
  width: min(100%, 360px);
  margin: 10px auto 0;
  padding: 10px 14px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(165deg, rgba(18, 20, 28, 0.92) 0%, rgba(8, 8, 12, 0.94) 100%);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
  pointer-events: none;
  text-align: center;
}

.m1-daily-op-map-mission-title {
  margin: 0 0 6px;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  color: rgba(0, 229, 255, 0.95);
}

.m1-daily-op-map-mission-body {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.45;
  color: rgba(235, 238, 245, 0.9);
  white-space: pre-line;
}

.m1-daily-op-offmap-timer-host {
  --m1-buzz-disc: clamp(140px, 27.5vw, 190px);
  --m1-daily-op-timer-disc: clamp(118px, 22vw, 168px);
  position: fixed;
  inset-inline: 0;
  top: calc(env(safe-area-inset-top, 0px) + 54px);
  z-index: 9988;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.m1-daily-op-offmap-timer-host .m1-daily-op-timer-host {
  pointer-events: auto;
}

/* Requested entrance token — local keyframes (m1-daily-op-*) if global bundle omits it */
.m1-daily-op-owned-ui .cssanimation.ca__fx-bounceZoomOut {
  animation: m1-daily-op-bounceZoomOut 0.56s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  transform-origin: 50% 42%;
}

@keyframes m1-daily-op-bounceZoomOut {
  0% {
    opacity: 0;
    transform: scale(0.82);
  }
  58% {
    opacity: 1;
    transform: scale(1.05);
  }
  78% {
    transform: scale(0.98);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .m1-daily-op-owned-ui .cssanimation.ca__fx-bounceZoomOut {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0,0,0,0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:rgba(0,0,0,.05)}}.maplibregl-ctrl button:not(:disabled):active{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-globe .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(0,0,0,.05)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgba(0,0,0,.05)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/* Landing Page Flip Cards - Ottimizzate per PWA iOS/Desktop */

.perspective-1000 {
  perspective: 1000px;
}

.transform-style-3d {
  transform-style: preserve-3d;
}

.backface-hidden {
  backface-visibility: hidden;
}

.mission-flip-card {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform-style: preserve-3d;
  will-change: transform;
  backface-visibility: hidden;
  /* Ottimizzazione GPU per 60fps */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  /* Garantisce visibilità continua */
  overflow: visible;
}

.mission-flip-card.is-flipped {
  transform: rotateY(180deg);
}

.mission-card-front, .mission-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
  min-height: 16rem; /* h-64 = 256px = 16rem */
  will-change: transform;
  -webkit-backface-visibility: hidden;
  /* CRITICAL FIX: Force visibility and prevent content disappearing */
  opacity: 1 !important;
  visibility: visible !important;
  /* Ensure smooth transition */
  transition: opacity 0.2s ease-in-out;
}

.mission-card-back {
  transform: rotateY(180deg);
  /* Mantiene il contenuto visibile durante il flip */
  opacity: 1;
  visibility: visible;
}

/* Hover effects per desktop - ottimizzati per performance */
@media (hover: hover) {
  .mission-flip-card:hover {
    transform: scale(1.02);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
  
  .mission-flip-card.is-flipped:hover {
    transform: rotateY(180deg) scale(1.02);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}

/* Ottimizzazione per Safari iOS */
@supports (-webkit-overflow-scrolling: touch) {
  .mission-flip-card {
    -webkit-transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
  }
  
  .mission-card-front, .mission-card-back {
    transform: translateZ(0);
  }
}

/* Disable text selection per evitare glitch */
.mission-flip-card, .mission-card-front, .mission-card-back {
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  cursor: pointer;
}/**
 * M1SSION™ LANDING PAGE — PREMIUM CINEMATIC STYLES
 * Apple-style × Gaming-grade × Neon Cyber Aesthetic
 * © 2025 NIYVORA KFT™
 */

/* ═══════════════════════════════════════════════════════════════════════
   1. GLASSMORPHISM CONTAINERS
   ═══════════════════════════════════════════════════════════════════════ */

.glass-container {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 0 1px rgba(0, 229, 255, 0.05);
}

.glass-container-glow {
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(0, 229, 255, 0.15);
  border-radius: 24px;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.5),
    0 0 60px rgba(0, 229, 255, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* ═══════════════════════════════════════════════════════════════════════
   2. SECTION TRANSITIONS — GRADIENT BRIDGES
   ═══════════════════════════════════════════════════════════════════════ */

.section-bridge {
  position: relative;
}

.section-bridge::before {
  content: '';
  position: absolute;
  top: -60px;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(
    to bottom,
    transparent,
    rgba(0, 229, 255, 0.03) 40%,
    rgba(128, 0, 255, 0.03) 60%,
    transparent
  );
  pointer-events: none;
}

.section-fade-top {
  position: relative;
}

.section-fade-top::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent);
  pointer-events: none;
  z-index: 1;
}

/* ═══════════════════════════════════════════════════════════════════════
   3. BREATHING GLOW ANIMATIONS
   ═══════════════════════════════════════════════════════════════════════ */

@keyframes breathingGlow {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(0, 229, 255, 0.1),
      0 0 40px rgba(0, 229, 255, 0.05);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(0, 229, 255, 0.2),
      0 0 60px rgba(0, 229, 255, 0.1);
  }
}

@keyframes breathingGlowPurple {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(168, 85, 247, 0.1),
      0 0 40px rgba(168, 85, 247, 0.05);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(168, 85, 247, 0.2),
      0 0 60px rgba(168, 85, 247, 0.1);
  }
}

.breathing-glow {
  animation: breathingGlow 4s ease-in-out infinite;
}

.breathing-glow-purple {
  animation: breathingGlowPurple 4s ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════════════════
   4. PREMIUM CTA BUTTONS
   ═══════════════════════════════════════════════════════════════════════ */

.cta-premium {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.cta-premium::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.1),
    transparent
  );
  transform: translateX(-100%);
  transition: transform 0.6s ease;
}

.cta-premium:hover::before {
  transform: translateX(100%);
}

.cta-premium::after {
  content: '';
  position: absolute;
  inset: -2px;
  background: linear-gradient(45deg, #00E5FF, #8B5CF6, #00E5FF);
  background-size: 200% 200%;
  border-radius: inherit;
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
  animation: gradientShift 3s linear infinite;
}

.cta-premium:hover::after {
  opacity: 1;
}

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

/* ═══════════════════════════════════════════════════════════════════════
   5. TITLE ENHANCEMENTS
   ═══════════════════════════════════════════════════════════════════════ */

.title-glow {
  text-shadow: 
    0 0 40px rgba(0, 229, 255, 0.5),
    0 0 80px rgba(0, 229, 255, 0.3),
    0 0 120px rgba(0, 229, 255, 0.1);
}

.title-gradient {
  background: linear-gradient(135deg, #00E5FF 0%, #8B5CF6 50%, #00E5FF 100%);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientShift 5s linear infinite;
}

.subtitle-elegant {
  letter-spacing: 0.1em;
  font-weight: 300;
  opacity: 0.8;
}

/* ═══════════════════════════════════════════════════════════════════════
   6. FLOATING PARTICLE BACKGROUND
   ═══════════════════════════════════════════════════════════════════════ */

@keyframes floatUp {
  0% {
    transform: translateY(100vh) rotate(0deg);
    opacity: 0;
  }
  10% {
    opacity: 0.6;
  }
  90% {
    opacity: 0.6;
  }
  100% {
    transform: translateY(-100vh) rotate(360deg);
    opacity: 0;
  }
}

.particle {
  position: absolute;
  width: 2px;
  height: 2px;
  background: rgba(0, 229, 255, 0.4);
  border-radius: 50%;
  animation: floatUp linear infinite;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════════════
   7. CARD HOVER EFFECTS
   ═══════════════════════════════════════════════════════════════════════ */

.card-hover-lift {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.4),
    0 0 40px rgba(0, 229, 255, 0.1);
}

/* ═══════════════════════════════════════════════════════════════════════
   8. NOISE TEXTURE OVERLAY
   ═══════════════════════════════════════════════════════════════════════ */

.noise-overlay {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.015;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* ═══════════════════════════════════════════════════════════════════════
   9. SCROLL REVEAL ANIMATIONS
   ═══════════════════════════════════════════════════════════════════════ */

.reveal-fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.reveal-fade-up.revealed {
  opacity: 1;
  transform: translateY(0);
}

/* ═══════════════════════════════════════════════════════════════════════
   10. GLOW DIVIDERS
   ═══════════════════════════════════════════════════════════════════════ */

.glow-divider {
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0, 229, 255, 0.3),
    rgba(168, 85, 247, 0.3),
    rgba(0, 229, 255, 0.3),
    transparent
  );
  box-shadow: 0 0 20px rgba(0, 229, 255, 0.2);
}

/* ═══════════════════════════════════════════════════════════════════════
   11. COUNTDOWN TIMER PREMIUM
   ═══════════════════════════════════════════════════════════════════════ */

.countdown-box {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0, 229, 255, 0.2);
  border-radius: 12px;
  padding: 12px 18px;
  min-width: 65px;
}

.countdown-number {
  font-variant-numeric: tabular-nums;
  text-shadow: 0 0 30px currentColor;
}

/* ═══════════════════════════════════════════════════════════════════════
   12. AMBIENT GRADIENT ANIMATION
   ═══════════════════════════════════════════════════════════════════════ */

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

.ambient-bg {
  background: linear-gradient(
    -45deg,
    rgba(0, 0, 0, 1),
    rgba(15, 20, 30, 1),
    rgba(0, 0, 0, 1),
    rgba(20, 10, 30, 1)
  );
  background-size: 400% 400%;
  animation: ambientGradient 20s ease infinite;
}

/* ═══════════════════════════════════════════════════════════════════════
   13. IMAGE CONTAINER PREMIUM
   ═══════════════════════════════════════════════════════════════════════ */

.image-container-premium {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.5),
    0 0 100px rgba(0, 229, 255, 0.1);
}

.image-container-premium::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(0, 229, 255, 0.1),
    transparent 50%,
    rgba(168, 85, 247, 0.1)
  );
  z-index: 2;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════════════
   14. SUBSCRIPTION CARDS PREMIUM
   ═══════════════════════════════════════════════════════════════════════ */

.subscription-card {
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.subscription-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, currentColor, transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.subscription-card:hover::before {
  opacity: 0.5;
}

.subscription-card:hover {
  transform: translateY(-4px) scale(1.02);
  border-color: rgba(0, 229, 255, 0.3);
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.4),
    0 0 60px rgba(0, 229, 255, 0.1);
}

.subscription-card-highlight {
  border-color: rgba(255, 215, 0, 0.3);
  box-shadow: 0 0 40px rgba(255, 215, 0, 0.1);
}

/* ═══════════════════════════════════════════════════════════════════════
   15. DENSE SECTION SPACING
   ═══════════════════════════════════════════════════════════════════════ */

.section-dense {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 768px) {
  .section-dense {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   16. VIGNETTE OVERLAY
   ═══════════════════════════════════════════════════════════════════════ */

.vignette {
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse at center,
    transparent 0%,
    transparent 50%,
    rgba(0, 0, 0, 0.4) 100%
  );
  z-index: 1;
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED */
/* Landing Page AAA Effects - Hero & Map */

/* ===== HERO EFFECTS ===== */

/* Ambient pulse background */
.hero-ambient-pulse {
  animation: ambientPulse 8s ease-in-out infinite;
}

@keyframes ambientPulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.05);
  }
}

/* Hero hover glow effect */
.hero-hover-glow {
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hero-hover-glow:hover {
  filter: brightness(1.05);
}

/* Noise texture overlay */
.noise-overlay {
  position: absolute;
  inset: 0;
  opacity: 0.02;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

/* Gradient shift animation */
.gradient-shift {
  animation: gradientShift 15s ease-in-out infinite;
  background-size: 200% 200%;
}

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

/* ===== MAP EFFECTS ===== */

/* Map grid lines animation */
.map-grid-pulse {
  animation: gridPulse 4s ease-in-out infinite;
}

@keyframes gridPulse {
  0%, 100% {
    opacity: 0.15;
  }
  50% {
    opacity: 0.25;
  }
}

/* Marker active state - green glow */
.marker-active {
  box-shadow: 
    0 0 10px rgba(0, 255, 0, 0.5),
    0 0 20px rgba(0, 255, 0, 0.3),
    0 0 40px rgba(0, 255, 0, 0.1);
}

/* Marker won state - dimmed */
.marker-won {
  opacity: 0.3;
  filter: grayscale(0.8);
}

/* Marker hover glow */
.marker-hover-glow {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.marker-hover-glow:hover {
  box-shadow: 
    0 0 15px currentColor,
    0 0 30px currentColor,
    0 0 45px rgba(255, 255, 255, 0.2);
  transform: scale(1.15);
}

/* Scanline effect for map */
.map-scanlines {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 229, 255, 0.015) 2px,
    rgba(0, 229, 255, 0.015) 4px
  );
  animation: scanlineMove 10s linear infinite;
}

@keyframes scanlineMove {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(4px);
  }
}

/* Coordinate lines */
.coord-line {
  stroke: rgba(0, 229, 255, 0.2);
  stroke-width: 0.5;
  stroke-dasharray: 4 4;
  animation: coordPulse 3s ease-in-out infinite;
}

@keyframes coordPulse {
  0%, 100% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.6;
  }
}

/* Radar sweep effect */
.radar-sweep {
  position: absolute;
  width: 100%;
  height: 100%;
  background: conic-gradient(
    from 0deg,
    transparent 0deg,
    rgba(0, 229, 255, 0.1) 30deg,
    transparent 60deg
  );
  animation: radarSweep 8s linear infinite;
  pointer-events: none;
}

@keyframes radarSweep {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Region glow on map */
.region-glow {
  fill: rgba(0, 229, 255, 0.03);
  stroke: rgba(0, 229, 255, 0.15);
  stroke-width: 1;
  transition: all 0.5s ease;
}

.region-glow:hover {
  fill: rgba(0, 229, 255, 0.08);
  stroke: rgba(0, 229, 255, 0.3);
}

/* Tooltip fade */
.tooltip-fade {
  animation: tooltipFade 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes tooltipFade {
  from {
    opacity: 0;
    transform: translateY(8px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Mobile: disable complex hover effects */
@media (hover: none) and (pointer: coarse) {
  .hero-hover-glow:hover {
    filter: none;
  }
  
  .marker-hover-glow:hover {
    transform: none;
    box-shadow: none;
  }
  
  .radar-sweep {
    animation: none;
    opacity: 0;
  }
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
  .hero-ambient-pulse,
  .gradient-shift,
  .map-grid-pulse,
  .map-scanlines,
  .radar-sweep {
    animation: none;
  }
}

/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::-moz-selection {
	background: transparent;
}
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}
/* Pulse Energy Pill UI Styles - M1SSION Orb Design
 * © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
 */

/* PE Orb Button - Same style as M1U Plus Orb */
.pe-pill-orb {
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(0, 0, 0, 0.4) 80%
  );
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 
    0 2px 12px rgba(0, 0, 0, 0.35),
    0 0 20px rgba(0, 255, 200, 0.15) inset;
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: visible;
  transition: all 0.2s ease;
}

/* Rotating rings */
.pe-pill-orb:before,
.pe-pill-orb:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 64px;
  margin: -32px;
  border-radius: 50%;
  border: 2px solid rgba(0, 255, 200, 0.25);
  animation: peRingSpin 12s linear infinite;
  transform-origin: center;
  pointer-events: none;
}

.pe-pill-orb:after {
  border-color: rgba(139, 92, 246, 0.25);
  animation-duration: 18s;
  animation-direction: reverse;
}

/* Orbiting dot */
.pe-pill-orb .pe-dot {
  position: absolute;
  width: 5px;
  height: 5px;
  top: 4px;
  left: 50%;
  margin-left: -2.5px;
  border-radius: 50%;
  background: linear-gradient(135deg, #00ffc8, #8b5cf6);
  box-shadow: 0 0 8px #00ffc8;
  transform-origin: 2.5px 22px;
  animation: peOrbit 14s linear infinite;
  pointer-events: none;
}

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

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

/* Hover glow */
.pe-pill-orb:hover {
  box-shadow: 
    0 2px 12px rgba(0, 0, 0, 0.35),
    0 0 28px rgba(0, 255, 200, 0.35) inset;
}

/* Active state */
.pe-pill-orb:active {
  transform: scale(0.97);
}

/* 🚀 NATIVE APP: Responsive */
@media (max-width: 640px) {
  .pe-pill-orb {
    width: 44px;
    height: 44px;
  }
  .pe-pill-orb:before,
  .pe-pill-orb:after {
    width: 54px;
    height: 54px;
    margin: -27px;
  }
  .pe-pill-orb .pe-dot {
    transform-origin: 2.5px 18px;
  }
}

@media (max-width: 380px) {
  .pe-pill-orb {
    width: 38px;
    height: 38px;
  }
  .pe-pill-orb:before,
  .pe-pill-orb:after {
    width: 48px;
    height: 48px;
    margin: -24px;
  }
  .pe-pill-orb .pe-dot {
    transform-origin: 2.5px 15px;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */



/* © 2026 Joseph MULÉ – M1SSION™ — C3 Command Center perception (additive; Home route + Home.tsx) */
/**
 * Aligns AGENT / TEMPO / BATTLE glass with C2 language: calmer edges, flatter depth, no pseudo pulse loops.
 * Scoped to `.m1-command-center-root` — does not alter global `.card-glass-white-energy` elsewhere.
 */

.m1-command-center-root {
  --m1-cc-radius: 22px;
  --m1-cc-edge: rgba(255, 255, 255, 0.082);
}

/* Pulse bar slot: slightly more vertical rhythm before cards */
.m1-command-center-root .m1-cc-pulse-slot {
  margin-bottom: 1.65rem;
}

/* Main glass cards: override home-microfx + ios-native within this subtree only */
.m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy,
body.is-native .m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy {
  border-radius: var(--m1-cc-radius) !important;
  border: 1px solid var(--m1-cc-edge) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.052),
    0 10px 30px rgba(0, 0, 0, 0.36) !important;
  backdrop-filter: blur(10px) saturate(128%);
}

@supports (-webkit-touch-callout: none) {
  body.is-native .m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy {
    backdrop-filter: blur(10px) saturate(128%) !important;
  }
}

body.is-native .m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy:active,
body.is-native .m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy:focus-within {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 12px 34px rgba(0, 0, 0, 0.44) !important;
}

body.is-native[data-m1-compositor-diet='1'] .m1-command-center-root .m1-cc-premium-surface.m1-compositor-diet-home-glass {
  backdrop-filter: none !important;
}

/* Calmer satin read — still dark cinematic; keeps microfx base intent */
.m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy {
  background: linear-gradient(
    160deg,
    rgba(10, 10, 14, 0.9) 0%,
    rgba(14, 14, 20, 0.86) 50%,
    rgba(10, 10, 14, 0.9) 100%
  ) !important;
}

/* Remove “dashboard shimmer” loops on these three cards only */
.m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy::before,
.m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy::after {
  animation: none !important;
}

.m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy::before {
  opacity: 0.32 !important;
}

.m1-command-center-root .m1-cc-premium-surface.card-glass-white-energy::after {
  opacity: 0.18 !important;
  filter: blur(6px) !important;
  inset: -3px;
  border-radius: calc(var(--m1-cc-radius) + 3px);
}
/* M1U Pill UI Styles - Glassmorphism Design
 * © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
 */

/* A) Modal overlay + card (per RechargeModal eventuale) */
.m1u-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(10px);
  z-index: 100;
}

.m1u-modal-card {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(15, 15, 15, 0.9);
  border-radius: 16px;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

/* B) Main Pill */
.m1u-pill-main {
  min-height: 40px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* C) Plus Orb Button */
.pill-orb {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 30% 30%,
    rgba(255, 255, 255, 0.08),
    rgba(0, 0, 0, 0.4) 80%
  );
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35),
    0 0 20px rgba(0, 255, 255, 0.12) inset;
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  overflow: visible;
}

.pill-orb:before,
.pill-orb:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 72px;
  height: 72px;
  margin: -36px;
  border-radius: 50%;
  border: 2px solid rgba(0, 255, 255, 0.25);
  animation: ringSpin 12s linear infinite;
  transform-origin: center;
}

.pill-orb:after {
  border-color: rgba(0, 255, 255, 0.35);
  animation-duration: 18s;
}

.pill-orb .dot {
  position: absolute;
  width: 6px;
  height: 6px;
  top: 6px;
  left: 50%;
  margin-left: -3px;
  border-radius: 50%;
  background: #9ff;
  box-shadow: 0 0 8px #9ff;
  transform-origin: 24px 24px;
  animation: orbit 18s linear infinite;
}

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

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

/* Glow hover */
.pill-orb:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35),
    0 0 24px rgba(0, 255, 255, 0.35) inset;
}

/* 🚀 NATIVE APP: Responsive tweaks for mobile */
@media (max-width: 640px) {
  .m1u-pill-main {
    min-height: 36px;
    padding: 6px 12px !important;
    gap: 6px !important;
  }
  
  .m1u-pill-main .text-sm {
    font-size: 12px !important;
  }
  
  .pill-orb {
    width: 44px;
    height: 44px;
  }
  
  .pill-orb:before,
  .pill-orb:after {
    width: 54px;
    height: 54px;
    margin: -27px;
  }
  
  .pill-orb .dot {
    transform-origin: 18px 18px;
  }
}

@media (max-width: 380px) {
  .m1u-pill-main {
    min-height: 32px;
    padding: 4px 10px !important;
  }
  
  .pill-orb {
    width: 38px;
    height: 38px;
  }
  
  .pill-orb:before,
  .pill-orb:after {
    width: 48px;
    height: 48px;
    margin: -24px;
  }
}

/*
 * MAP / BUZZ MAP parity: M1U label + balance use Orbitron.
 * Home / Buzz / AION wrap the page in `.m1-font-new-era-casual`, which overrides `.font-orbitron`;
 * scope this rule so only the pill recovers Orbitron (same visual as MapTiler3D).
 */
.m1-font-new-era-casual .m1u-pill-main .font-orbitron,
.m1-font-new-era-casual .m1u-pill-main .font-semibold.font-orbitron {
  font-family: 'Orbitron', sans-serif !important;
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/**
 * M1SSION™ — Shell / pannelli / CTA allineati a RewardZonePopup (stessi valori).
 * Usato da CashbackVault modal e StreakModal (solo presentazione).
 */

.m1-home-modal-root {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px))
    max(14px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
}

.m1-home-modal-backdrop-fill {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 100% 90% at 0% 50%, rgba(255, 0, 255, 0.09) 0%, transparent 42%),
    radial-gradient(ellipse 100% 90% at 100% 50%, rgba(0, 255, 255, 0.08) 0%, transparent 42%),
    radial-gradient(ellipse 90% 70% at 50% 45%, rgba(60, 60, 60, 0.38) 0%, transparent 55%),
    #0d0d0d;
  backdrop-filter: blur(22px);
}

/* ═══ Shell = RewardZone __card (identico) ═══ */
.m1-home-modal-shell {
  position: relative;
  width: 100%;
  max-width: min(100%, 430px);
  border-radius: 24px;
  overflow: hidden;
  color: #eceff1;
  background-color: #2b2b2b;
  border: 1px solid #eceff133;
  outline: 1px solid rgb(255, 255, 255);
  box-shadow:
    0 0 0 1px rgb(255, 255, 255),
    inset 0 0 80px whitesmoke,
    inset 20px 0 80px rgba(255, 0, 255, 0.747),
    inset -20px 0 80px #0ff,
    inset 20px 0 300px #f0f,
    inset -20px 0 300px #0ff,
    0 0 50px #fff,
    -10px 0 80px #f0f,
    10px 0 80px #0ff;
}

.m1-home-modal-shell::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: #ffffff80;
}

.m1-home-modal-shell::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    168deg,
    rgba(13, 13, 13, 0.06) 0%,
    rgba(43, 43, 43, 0.35) 42%,
    rgba(13, 13, 13, 0.62) 100%
  );
}

/* GIOCA (primo modale): bottom sheet — stessa shell premium, full width, raggio solo in alto */
.m1-home-modal-shell.m1-home-modal-shell--play-giocha-bottom {
  max-width: 100%;
  border-radius: 1.85rem 1.85rem 0 0;
}

.m1-home-modal-shell-inner {
  position: relative;
  z-index: 1;
  padding: 1.75rem 1.75rem 1.75rem;
}

.m1-home-modal-icon-wrap {
  width: 5rem;
  height: 5rem;
  border-radius: 1rem;
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.07);
  outline: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow:
    0 0 28px rgba(255, 0, 255, 0.14),
    0 0 36px rgba(0, 255, 255, 0.1);
}

.m1-home-modal-glass-panel {
  background: rgba(13, 13, 13, 0.48);
  border: 1px solid rgba(236, 239, 241, 0.14);
  backdrop-filter: blur(14px);
}

.m1-home-modal-cta {
  background-color: rgba(255, 255, 255, 0.94) !important;
  color: #0d0d0d !important;
  outline: 1px solid rgb(255, 255, 255) !important;
  border: none !important;
  box-shadow:
    0 0 28px rgba(255, 255, 255, 0.25),
    0 0 40px rgba(0, 255, 255, 0.12),
    0 0 36px rgba(255, 0, 255, 0.08);
}

.m1-home-modal-cta:hover:not(:disabled):not(.m1-home-modal-cta--disabled) {
  filter: brightness(1.03);
}

.m1-home-modal-cta--disabled,
.m1-home-modal-cta:disabled {
  background: rgba(100, 100, 100, 0.35) !important;
  color: rgba(255, 255, 255, 0.45) !important;
  outline: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

.m1-home-modal-btn-secondary {
  background: rgba(13, 13, 13, 0.45) !important;
  color: rgba(236, 239, 241, 0.88) !important;
  border: 1px solid rgba(236, 239, 241, 0.2) !important;
}

.m1-home-modal-btn-secondary:hover {
  background: rgba(13, 13, 13, 0.62) !important;
}

/* ═══ Streak dentro MapPillFlipOverlay (panelMotion=cashback): stessa card del CashbackVault ═══ */
.m1-streak-flip-canvas {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Più aria verticale su iPhone: bottom leggero così la shell usa più dvh e il CTA resta in viewport */
  padding: max(10px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px))
    max(6px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
}

.m1-streak-flip-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.m1-streak-modal-shell--flip {
  position: relative;
  z-index: 1;
  width: 100%;
  /* Più alto del cap 720px + meno padding canvas → check-in visibile intero su iPhone */
  max-height: min(100dvh - 8px, 840px);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.m1-streak-modal-shell-inner--flip {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding-top: 1.25rem;
}

.m1-streak-modal-header--in-shell {
  flex-shrink: 0;
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: 0.25rem;
  border-bottom: 1px solid rgba(236, 239, 241, 0.12);
}

/* Jelly close: top-right in header (STREAK SYSTEM scope only — markup in StreakModal) */
.m1-streak-modal-header--in-shell > .m1-close-jelly {
  top: 0;
  right: 0;
}

.m1-streak-modal-scroll--in-shell {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 22px);
  margin-top: 0.5rem;
}

.m1-streak-modal-close-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(13, 13, 13, 0.45) !important;
  border: 1px solid rgba(236, 239, 241, 0.2) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
}

.m1-streak-modal-close-btn:active {
  filter: brightness(1.06);
}

.m1-streak-progress-track {
  height: 12px;
  background: rgba(13, 13, 13, 0.45);
  border-radius: 9999px;
  overflow: hidden;
  border: 1px solid rgba(236, 239, 241, 0.1);
}

.m1-streak-progress-fill {
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(90deg, rgba(255, 0, 255, 0.55), rgba(0, 255, 255, 0.62));
  box-shadow:
    0 0 14px rgba(0, 255, 255, 0.28),
    0 0 18px rgba(255, 0, 255, 0.15);
}

/* Success overlay (streak check-in) — stesso backdrop reward */
.m1-home-modal-success-layer {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: env(safe-area-inset-top, 0);
  padding-bottom: env(safe-area-inset-bottom, 0);
  padding-left: env(safe-area-inset-left, 0);
  padding-right: env(safe-area-inset-right, 0);
  background:
    radial-gradient(ellipse 100% 90% at 0% 50%, rgba(255, 0, 255, 0.08) 0%, transparent 42%),
    radial-gradient(ellipse 100% 90% at 100% 50%, rgba(0, 255, 255, 0.07) 0%, transparent 42%),
    rgba(10, 10, 15, 0.94);
  backdrop-filter: blur(22px);
}

.m1-home-modal-success-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.08);
  outline: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow:
    0 0 32px rgba(255, 0, 255, 0.2),
    0 0 40px rgba(0, 255, 255, 0.15);
}
/**
 * M1SSION™ Buzz page — presentation-only motion for BUZZ CTA wrapper.
 * Class names match requested `cssanimation ca__fx-*` pattern (scoped import from BuzzButtonTheatre).
 * © 2026 Joseph MULÉ – M1SSION™
 */

.m1-buzz-theatre-root {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transform-origin: 50% 55%;
}

.m1-buzz-theatre-surface {
  transform-origin: 50% 55%;
  backface-visibility: hidden;
}

.cssanimation.ca__fx-bounceInLeft {
  animation: m1BuzzBounceInLeft 0.88s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.cssanimation.ca__fx-elasticBounce {
  animation: m1BuzzElasticBounce 1.82s cubic-bezier(0.45, 0.02, 0.2, 1.15) infinite;
}

.cssanimation.ca__fx-rotateOutRight {
  animation: m1BuzzRotateOutRight 0.78s cubic-bezier(0.55, 0.06, 0.68, 0.19) forwards;
}

.cssanimation.ca__fx-rotateInLeft {
  animation: m1BuzzRotateInLeft 0.78s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@keyframes m1BuzzBounceInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-72px, 8px, 0) scale(0.82) rotate(-6deg);
  }
  55% {
    opacity: 1;
    transform: translate3d(8px, -4px, 0) scale(1.06) rotate(2deg);
  }
  78% {
    transform: translate3d(-4px, 2px, 0) scale(0.98) rotate(-0.5deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}

@keyframes m1BuzzElasticBounce {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  30% {
    transform: translate3d(0, -6px, 0) scale(1.04);
  }
  50% {
    transform: translate3d(0, 0, 0) scale(0.97);
  }
  68% {
    transform: translate3d(0, -3px, 0) scale(1.025);
  }
}

@keyframes m1BuzzRotateOutRight {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
  35% {
    opacity: 1;
    transform: translate3d(28px, -8px, 0) scale(1.05) rotate(14deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(168px, 18px, 0) scale(0.62) rotate(48deg);
  }
}

@keyframes m1BuzzRotateInLeft {
  0% {
    opacity: 0;
    transform: translate3d(168px, 18px, 0) scale(0.62) rotate(48deg);
  }
  40% {
    opacity: 1;
    transform: translate3d(-10px, -4px, 0) scale(1.04) rotate(-4deg);
  }
  70% {
    transform: translate3d(6px, 2px, 0) scale(0.98) rotate(2deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cssanimation.ca__fx-bounceInLeft {
    animation: m1BuzzReduceIn 0.16s ease-out both;
  }

  .cssanimation.ca__fx-elasticBounce {
    animation: none;
  }

  .cssanimation.ca__fx-rotateOutRight {
    animation: m1BuzzReduceOut 0.22s ease-in forwards;
  }

  .cssanimation.ca__fx-rotateInLeft {
    animation: m1BuzzReduceIn 0.2s ease-out both;
  }
}

@keyframes m1BuzzReduceIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes m1BuzzReduceOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* BUZZ clue TOP SECRET dossier — scoped only (no global app styles). */

.m1-buzz-dossier-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
  background:
    radial-gradient(circle at 50% 25%, rgba(0, 229, 255, 0.16), transparent 36%),
    rgba(0, 0, 0, 0.88);
  pointer-events: auto;
}

.m1-buzz-dossier-card {
  position: relative;
  width: min(94vw, 520px);
  height: min(91vh, 780px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 28px;
  border: 1px solid rgba(0, 229, 255, 0.42);
  background: linear-gradient(180deg, rgba(5, 15, 25, 0.98), rgba(2, 5, 12, 0.99));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 28px 90px rgba(0, 0, 0, 0.75),
    0 0 42px rgba(0, 220, 255, 0.18);
  padding: 28px 22px 24px;
  color: #fff;
}

.m1-buzz-dossier-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.m1-buzz-dossier-close:active {
  opacity: 0.9;
}

.m1-buzz-dossier-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  padding-right: 58px;
  color: rgba(0, 229, 255, 0.96);
  font-size: 0.72rem;
  line-height: 1.2;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
}

.m1-buzz-dossier-header-id {
  letter-spacing: 0.12em;
  font-size: 0.65rem;
  color: rgba(180, 220, 235, 0.8);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.m1-buzz-dossier-stamp {
  display: block;
  width: min(38vw, 150px);
  margin: 22px auto 16px;
  opacity: 0.92;
  transform: rotate(-4deg);
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.5));
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.m1-buzz-dossier-card h2 {
  margin: 8px 0 18px;
  font-size: clamp(1.75rem, 8vw, 2.75rem);
  line-height: 0.98;
  text-align: center;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.m1-buzz-dossier-meta {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0 0 22px;
}

.m1-buzz-dossier-meta span {
  border: 1px solid rgba(0, 229, 255, 0.24);
  border-radius: 12px;
  padding: 10px 12px;
  color: rgba(205, 245, 255, 0.86);
  font-size: 0.74rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.m1-buzz-dossier-body {
  margin: 20px 0;
  padding: 18px 0 0;
  border-top: 1px solid rgba(0, 229, 255, 0.18);
}

.m1-buzz-dossier-body > div {
  color: rgba(0, 229, 255, 0.96);
  font-size: 0.78rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 700;
}

.m1-buzz-dossier-body p {
  margin: 0;
  color: rgba(255, 255, 255, 0.95);
  font-size: clamp(1.05rem, 4.2vw, 1.45rem);
  line-height: 1.42;
  white-space: pre-wrap;
  word-break: break-word;
}

.m1-buzz-dossier-protocol {
  margin: 22px 0;
  border: 1px dashed rgba(0, 229, 255, 0.3);
  border-radius: 18px;
  padding: 16px;
  color: rgba(220, 242, 250, 0.78);
  font-size: 0.95rem;
  line-height: 1.35;
}

.m1-buzz-dossier-cta {
  width: 100%;
  min-height: 58px;
  border-radius: 999px;
  border: 1px solid rgba(0, 229, 255, 0.7);
  background: linear-gradient(90deg, rgba(79, 70, 229, 0.96), rgba(6, 182, 212, 0.96));
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
}

.m1-buzz-dossier-cta:active {
  opacity: 0.92;
}

@media (max-height: 720px) {
  .m1-buzz-dossier-card {
    height: 92vh;
    padding: 22px 18px 20px;
  }

  .m1-buzz-dossier-stamp {
    width: 112px;
    margin: 14px auto 10px;
  }
}
/**
 * COMMIT NODE — AION Bubble Animations
 * Morph, energy, breathing, particles, field
 * © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
 */

/* ═══════════════════════════════════════════════════════════════════════════════
   WRAPPER & FIELD SHADOW
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-wrapper {
  position: relative;
  width: 88px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
  touch-action: manipulation;
}

/* Field shadow - elliptical glow underneath */
.commit-node-wrapper::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 70px;
  height: 16px;
  background: radial-gradient(ellipse 100% 100%, rgba(0, 255, 255, 0.25) 0%, transparent 70%);
  filter: blur(8px);
  pointer-events: none;
  animation: fieldPulse 4.2s ease-in-out infinite;
}

@keyframes fieldPulse {
  0%, 100% { opacity: 0.6; transform: translateX(-50%) scaleX(1); }
  50% { opacity: 0.9; transform: translateX(-50%) scaleX(1.1); }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   MAIN BUTTON CONTAINER
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-button {
  position: relative;
  width: 76px;
  height: 76px;
  border: none;
  background: transparent;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  padding: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   CORE - Graphite volumetric center (NOT pure black)
   🔧 FIX 05/02/2026: Charcoal/graphite with internal volume
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-core {
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  /* A) COLORE BASE GRAPHITE - NON NERO PURO */
  background: radial-gradient(
    circle at 30% 30%,
    #2a2e33 0%,      /* Graphite chiaro - highlight */
    #1a1d22 35%,     /* Charcoal medio */
    #14161a 55%,     /* Charcoal scuro */
    #0b0d10 100%     /* Near-black profondo */
  );
  z-index: 3;
  /* C) OMBRA VOLUMETRICA (non drop-shadow) */
  box-shadow:
    inset 0 0 20px rgba(255, 255, 255, 0.03),
    inset -10px -14px 32px rgba(0, 0, 0, 0.40);
}

/* D) SPECULAR SOFT - Micro realismo */
.commit-node-core::before {
  content: '';
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  background: radial-gradient(
    circle at 28% 22%,
    rgba(255, 255, 255, 0.08) 0%,
    transparent 55%
  );
  mix-blend-mode: screen;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   BLOB - Morphing organic skin with REAL DEPTH
   🔧 FIX 05/02/2026: Graphite volumetric with back-light
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-blob {
  position: absolute;
  inset: 0;
  border-radius: 47% 53% 52% 48% / 48% 47% 53% 52%;
  /* Skin gradient con graphite undertone */
  background: linear-gradient(135deg, 
    rgba(0, 255, 255, 0.15) 0%, 
    rgba(0, 200, 220, 0.08) 50%,
    rgba(0, 255, 255, 0.12) 100%
  );
  border: 1.5px solid rgba(0, 255, 255, 0.35);
  z-index: 2;
  animation: blobMorph 8s ease-in-out infinite, breath 4.2s ease-in-out infinite;
  /* C) OMBRA VOLUMETRICA - Non drop-shadow "sticker" */
  box-shadow: 
    /* Inner glow white (subtle) */
    inset 0 0 24px rgba(255, 255, 255, 0.04),
    /* Volumetric inner shadow (depth) */
    inset -12px -18px 40px rgba(0, 0, 0, 0.35),
    /* Outer depth shadow (mass) */
    0 30px 60px rgba(0, 0, 0, 0.50),
    0 15px 30px rgba(0, 0, 0, 0.35),
    /* Cyan energy glow */
    0 0 20px rgba(0, 255, 255, 0.18),
    0 0 40px rgba(0, 255, 255, 0.08);
  /* E) PERFORMANCE iOS */
  will-change: transform, border-radius;
  transform: translateZ(0);
  contain: paint layout;
}

/* B) BACK-LIGHT REALE - Stacco dal fondo (galleggiamento) */
.commit-node-blob::after {
  content: '';
  position: absolute;
  inset: -20%;
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 255, 255, 0.10) 0%,
    rgba(255, 255, 255, 0.04) 35%,
    transparent 60%
  );
  filter: blur(18px);
  z-index: -1;
  pointer-events: none;
  animation: backlightPulse 5s ease-in-out infinite;
}

@keyframes backlightPulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 0.85; }
}

@keyframes blobMorph {
  0%, 100% { border-radius: 47% 53% 52% 48% / 48% 47% 53% 52%; }
  14% { border-radius: 52% 48% 47% 53% / 53% 52% 48% 47%; }
  28% { border-radius: 48% 52% 53% 47% / 47% 48% 52% 53%; }
  42% { border-radius: 53% 47% 48% 52% / 52% 53% 47% 48%; }
  56% { border-radius: 47% 53% 52% 48% / 53% 47% 48% 52%; }
  70% { border-radius: 52% 48% 47% 53% / 48% 52% 53% 47%; }
  84% { border-radius: 48% 52% 53% 47% / 52% 48% 47% 53%; }
}

@keyframes breath {
  0%, 100% { 
    transform: scale(0.98) translateZ(0);
    box-shadow: 
      /* Inner white glow */
      inset 0 0 20px rgba(255, 255, 255, 0.03),
      /* Volumetric inner shadow */
      inset -10px -16px 36px rgba(0, 0, 0, 0.32),
      /* Outer depth */
      0 28px 55px rgba(0, 0, 0, 0.45),
      0 12px 25px rgba(0, 0, 0, 0.30),
      /* Cyan energy */
      0 0 16px rgba(0, 255, 255, 0.15),
      0 0 32px rgba(0, 255, 255, 0.06);
  }
  50% { 
    transform: scale(1.03) translateZ(0);
    box-shadow: 
      /* Inner white glow (brighter) */
      inset 0 0 28px rgba(255, 255, 255, 0.05),
      /* Volumetric inner shadow */
      inset -14px -20px 44px rgba(0, 0, 0, 0.38),
      /* Outer depth (deeper) */
      0 35px 70px rgba(0, 0, 0, 0.55),
      0 18px 35px rgba(0, 0, 0, 0.40),
      /* Cyan energy (stronger) */
      0 0 24px rgba(0, 255, 255, 0.25),
      0 0 48px rgba(0, 255, 255, 0.12);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   ENERGY RING - Rotating conic gradient
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-ring {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    transparent 0deg,
    rgba(0, 255, 255, 0.5) 30deg,
    rgba(0, 255, 255, 0.8) 60deg,
    rgba(180, 255, 255, 0.9) 90deg,
    rgba(0, 255, 255, 0.8) 120deg,
    rgba(0, 255, 255, 0.5) 150deg,
    transparent 180deg,
    transparent 360deg
  );
  -webkit-mask: radial-gradient(circle, transparent 65%, black 67%, black 100%);
  mask: radial-gradient(circle, transparent 65%, black 67%, black 100%);
  z-index: 1;
  animation: ringSpin 12s linear infinite;
  mix-blend-mode: screen;
  opacity: 0.7;
}

@keyframes ringSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   GLOW LAYER - Pulsing energy with depth ambient
   🔧 FIX 05/02/2026: Added white ambient for depth perception
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-glow {
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  /* White ambient base + cyan energy */
  background: radial-gradient(circle, 
    rgba(255, 255, 255, 0.06) 0%,
    rgba(0, 255, 255, 0.10) 20%, 
    rgba(0, 255, 255, 0.05) 45%,
    transparent 70%
  );
  z-index: 0;
  animation: energyPulse 3s ease-in-out infinite;
  pointer-events: none;
  mix-blend-mode: screen;
}

@keyframes energyPulse {
  0%, 100% { 
    opacity: 0.6; 
    transform: scale(1) translateZ(0);
    filter: blur(4px);
  }
  50% { 
    opacity: 1; 
    transform: scale(1.08) translateZ(0);
    filter: blur(6px);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   🌙 REDUCED MOTION SUPPORT
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  .commit-node-blob,
  .commit-node-blob::after,
  .commit-node-glow,
  .commit-node-ring,
  .commit-node-wrapper::after,
  .commit-node-particle,
  .commit-node-center {
    animation: none !important;
  }
  
  .commit-node-blob::after {
    opacity: 0.7 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   PARTICLES - Orbiting energy dots
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-particles {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
}

.commit-node-particle {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: rgba(0, 255, 255, 0.7);
  box-shadow: 0 0 6px rgba(0, 255, 255, 0.5);
  top: 50%;
  left: 50%;
}

/* Particle orbits - staggered delays and different radii */
.commit-node-particle:nth-child(1) { animation: particleOrbit1 6s linear infinite; }
.commit-node-particle:nth-child(2) { animation: particleOrbit2 7s linear infinite; animation-delay: -1s; }
.commit-node-particle:nth-child(3) { animation: particleOrbit1 5.5s linear infinite; animation-delay: -2s; }
.commit-node-particle:nth-child(4) { animation: particleOrbit2 6.5s linear infinite; animation-delay: -3s; }
.commit-node-particle:nth-child(5) { animation: particleOrbit1 7.5s linear infinite; animation-delay: -4s; }
.commit-node-particle:nth-child(6) { animation: particleOrbit2 5s linear infinite; animation-delay: -2.5s; }
.commit-node-particle:nth-child(7) { animation: particleOrbit1 6.2s linear infinite; animation-delay: -1.5s; }
.commit-node-particle:nth-child(8) { animation: particleOrbit2 5.8s linear infinite; animation-delay: -3.5s; }

@keyframes particleOrbit1 {
  0% { transform: translate(-50%, -50%) rotate(0deg) translateX(42px) scale(0.6); opacity: 0.3; }
  25% { opacity: 0.7; transform: translate(-50%, -50%) rotate(90deg) translateX(40px) scale(0.9); }
  50% { opacity: 0.5; transform: translate(-50%, -50%) rotate(180deg) translateX(44px) scale(0.7); }
  75% { opacity: 0.8; transform: translate(-50%, -50%) rotate(270deg) translateX(38px) scale(1); }
  100% { transform: translate(-50%, -50%) rotate(360deg) translateX(42px) scale(0.6); opacity: 0.3; }
}

@keyframes particleOrbit2 {
  0% { transform: translate(-50%, -50%) rotate(180deg) translateX(38px) scale(0.8); opacity: 0.4; }
  25% { opacity: 0.6; transform: translate(-50%, -50%) rotate(270deg) translateX(44px) scale(0.6); }
  50% { opacity: 0.8; transform: translate(-50%, -50%) rotate(360deg) translateX(40px) scale(1); }
  75% { opacity: 0.5; transform: translate(-50%, -50%) rotate(450deg) translateX(42px) scale(0.7); }
  100% { transform: translate(-50%, -50%) rotate(540deg) translateX(38px) scale(0.8); opacity: 0.4; }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   CENTER DOT - Energy core
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-center {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(0, 255, 255, 0.6);
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.8), 0 0 20px rgba(0, 255, 255, 0.4);
  z-index: 5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: centerPulse 2.5s ease-in-out infinite;
}

@keyframes centerPulse {
  0%, 100% { 
    box-shadow: 0 0 8px rgba(0, 255, 255, 0.6), 0 0 16px rgba(0, 255, 255, 0.3);
    transform: translate(-50%, -50%) scale(1);
  }
  50% { 
    box-shadow: 0 0 12px rgba(0, 255, 255, 0.9), 0 0 24px rgba(0, 255, 255, 0.5);
    transform: translate(-50%, -50%) scale(1.15);
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   FINGERPRINT OVERLAY
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-fingerprint {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 6;
  pointer-events: none;
  opacity: 0.25;
  transition: opacity 0.4s ease;
}

.commit-node-wrapper:hover .commit-node-fingerprint,
.commit-node-wrapper:active .commit-node-fingerprint {
  opacity: 0.5;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   HOVER STATE - Intensify
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-wrapper:hover .commit-node-blob {
  border-color: rgba(0, 255, 255, 0.5);
  animation-duration: 6s, 3s;
}

.commit-node-wrapper:hover .commit-node-ring {
  opacity: 0.9;
  animation-duration: 8s;
}

.commit-node-wrapper:hover .commit-node-glow {
  opacity: 1;
}

.commit-node-wrapper:hover .commit-node-particle {
  background: rgba(0, 255, 255, 0.9);
  box-shadow: 0 0 10px rgba(0, 255, 255, 0.7);
}

/* ═══════════════════════════════════════════════════════════════════════════════
   ACTIVE/PRESS STATE - Accelerate
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-wrapper:active .commit-node-blob {
  animation-duration: 4s, 2s;
  border-color: rgba(180, 255, 255, 0.6);
}

.commit-node-wrapper:active .commit-node-ring {
  opacity: 1;
  animation-duration: 4s;
}

.commit-node-wrapper:active .commit-node-particle {
  animation-duration: 2s;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   LEGACY CLASSES (for CommitRitual compatibility)
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-container {
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
  touch-action: none;
}

.commit-implosion {
  animation: commit-implosion 0.4s ease-out forwards;
}

@keyframes commit-implosion {
  0% { transform: scale(1.1); opacity: 1; }
  50% { transform: scale(0.85); opacity: 0.8; }
  100% { transform: scale(1); opacity: 1; }
}

.commit-flash {
  animation: commit-flash 0.35s ease-out forwards;
}

@keyframes commit-flash {
  0% { background: radial-gradient(circle, rgba(0, 255, 255, 0) 0%, transparent 70%); }
  30% { background: radial-gradient(circle, rgba(0, 255, 255, 0.9) 0%, rgba(0, 255, 255, 0.3) 40%, transparent 70%); }
  100% { background: radial-gradient(circle, rgba(0, 255, 255, 0) 0%, transparent 70%); }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   AION ENTITY WRAPPER (for CommitNodeTrigger) + DEPTH EFFECTS
   🔧 FIX 05/02/2026: Added depth effects on WRAPPERS (not blob content)
   
   NOTA: I blob sono AionEntity (Three.js canvas), NON div CSS.
   Gli effetti vanno applicati sui WRAPPER, non sul contenuto.
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-aion-wrapper {
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  /* DEPTH: Wrapper styling */
  position: relative !important;
  z-index: 2;
}

/* BACKLIGHT HALO — Alone bianco/cyan dietro il blob centrale */
.commit-node-aion-wrapper::before {
  content: '';
  position: absolute;
  inset: -20px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 255, 255, 0.12) 0%,
    rgba(0, 220, 255, 0.08) 25%,
    rgba(255, 255, 255, 0.04) 45%,
    transparent 70%
  );
  filter: blur(12px);
  opacity: 0.85;
  z-index: -1;
  pointer-events: none;
  animation: aionHaloPulse 8s ease-in-out infinite;
}

/* DEPTH SHADOW — Ombra sotto il blob per "galleggiamento" */
.commit-node-aion-wrapper::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 70%;
  height: 20px;
  background: radial-gradient(
    ellipse 100% 100% at 50% 0%,
    rgba(0, 0, 0, 0.50) 0%,
    rgba(0, 0, 0, 0.25) 40%,
    transparent 80%
  );
  filter: blur(8px);
  opacity: 0.7;
  z-index: -2;
  pointer-events: none;
}

@keyframes aionHaloPulse {
  0%, 100% { opacity: 0.75; }
  50% { opacity: 0.95; }
}

.commit-node-aion-wrapper canvas {
  width: 100% !important;
  height: 100% !important;
  /* Ensure canvas is above pseudo-elements */
  position: relative;
  z-index: 1;
}

.commit-aion-entity {
  width: 100%;
  height: 100%;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   SIDE WRAPPER (CommitNodeSide) — Blob laterali con depth
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-node-side-wrapper {
  position: relative !important;
  z-index: 2;
}

/* BACKLIGHT HALO — Alone più sottile per i blob laterali */
.commit-node-side-wrapper::before {
  content: '';
  position: absolute;
  inset: -15px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 255, 255, 0.08) 0%,
    rgba(180, 180, 200, 0.05) 35%,
    transparent 65%
  );
  filter: blur(10px);
  opacity: 0.7;
  z-index: -1;
  pointer-events: none;
}

/* DEPTH SHADOW — Ombra sotto i blob laterali */
.commit-node-side-wrapper::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 16px;
  background: radial-gradient(
    ellipse 100% 100% at 50% 0%,
    rgba(0, 0, 0, 0.40) 0%,
    rgba(0, 0, 0, 0.18) 50%,
    transparent 85%
  );
  filter: blur(6px);
  opacity: 0.6;
  z-index: -2;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   🕳️ VOID POCKET — "Vuoto luminoso" sotto i blobs (DEPTH LAYER)
   🔧 FIX 05/02/2026: Dark pocket + soft backlight per profondità reale
   
   OBIETTIVO: I blobs devono "galleggiare" sopra una tasca scura con leggero
   back-light bianco/cyan che li stacca dal fondo. Premium depth, not VFX.
   ═══════════════════════════════════════════════════════════════════════════════ */

/* WRAPPER: Blobs container isolation */
.commit-node-slot.m1-entity-glow-container {
  position: relative !important;
  isolation: isolate !important;
  /* Performance iOS */
  transform: translateZ(0);
  /* 🔧 FIX 06/02/2026: REMOVED 'contain: layout paint style' 
     It was clipping the absolute-positioned "COMMIT GIORNALIERO" container.
     Using 'contain: style' only (doesn't affect layout/paint overflow). */
  contain: style;
}

/* (1) DARK POCKET — Tasca scura sotto i blobs */
.commit-node-slot.m1-entity-glow-container::before {
  content: '' !important;
  position: absolute !important;
  /* Espandi leggermente oltre il container */
  top: -16px;
  left: -22px;
  right: -22px;
  bottom: -20px;
  /* Dark radial pocket - più scuro al centro, sfuma ai bordi */
  background: radial-gradient(
    ellipse 85% 75% at 50% 55%,
    rgba(0, 0, 0, 0.88) 0%,
    rgba(0, 0, 0, 0.55) 40%,
    rgba(0, 0, 0, 0.25) 65%,
    transparent 85%
  ) !important;
  filter: blur(10px) !important;
  opacity: 0.92;
  z-index: 0 !important;
  pointer-events: none !important;
  /* Performance */
  will-change: opacity;
  transform: translateZ(0);
}

/* (2) SOFT BACKLIGHT — Luminosità diffusa VISIBILE (sopra pocket, sotto blobs) */
.commit-node-slot.m1-entity-glow-container::after {
  content: '' !important;
  position: absolute !important;
  /* Espandi oltre il container per effetto alone */
  top: -28px;
  left: -36px;
  right: -36px;
  bottom: -32px;
  /* Multi-layer soft backlight: PIÙ VISIBILE */
  background:
    /* Centro: white STRONGER */
    radial-gradient(
      ellipse 75% 65% at 50% 52%,
      rgba(255, 255, 255, 0.16) 0%,
      rgba(255, 255, 255, 0.08) 25%,
      rgba(255, 255, 255, 0.03) 50%,
      transparent 70%
    ),
    /* Sinistra: hint cyan STRONGER */
    radial-gradient(
      ellipse 55% 50% at 18% 58%,
      rgba(0, 220, 255, 0.12) 0%,
      rgba(0, 200, 255, 0.05) 40%,
      transparent 70%
    ),
    /* Destra: hint violet STRONGER */
    radial-gradient(
      ellipse 55% 50% at 82% 58%,
      rgba(160, 120, 255, 0.10) 0%,
      rgba(140, 100, 255, 0.04) 40%,
      transparent 70%
    ) !important;
  filter: blur(16px);
  opacity: 0.88 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  /* RIMOSSO mix-blend-mode per iOS compatibility */
  /* Performance iOS */
  will-change: opacity;
  transform: translateZ(0);
  /* Breathing animation (subtle) */
  animation: voidBacklightBreath 11s ease-in-out infinite;
}

@keyframes voidBacklightBreath {
  0%, 100% { opacity: 0.72; }
  50% { opacity: 0.86; }
}

/* (3) BLOBS Z-INDEX — Assicura che stiano sopra il void pocket */
.commit-node-slot .commit-node-wrapper,
.commit-node-slot .commit-node-aion-wrapper {
  position: relative;
  z-index: 2;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   🌙 REDUCED MOTION SUPPORT — All depth effects
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  .commit-node-slot.m1-entity-glow-container::after,
  .commit-node-aion-wrapper::before,
  .commit-node-side-wrapper::before {
    animation: none !important;
  }
  
  .commit-node-slot.m1-entity-glow-container::after {
    opacity: 0.85 !important;
  }
  
  .commit-node-aion-wrapper::before {
    opacity: 0.8 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   📱 iOS PERFORMANCE GUARD — Reduced blur for smooth scrolling
   ═══════════════════════════════════════════════════════════════════════════════ */

@supports (-webkit-touch-callout: none) {
  /* Container pocket - reduce blur */
  .commit-node-slot.m1-entity-glow-container::before {
    filter: blur(8px) !important;
  }
  
  .commit-node-slot.m1-entity-glow-container::after {
    filter: blur(12px) !important;
  }
  
  /* Wrapper halos - reduce blur */
  .commit-node-aion-wrapper::before {
    filter: blur(10px) !important;
  }
  
  .commit-node-aion-wrapper::after {
    filter: blur(6px) !important;
  }
  
  .commit-node-side-wrapper::before {
    filter: blur(8px) !important;
  }
  
  .commit-node-side-wrapper::after {
    filter: blur(5px) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   🔧 FIX 06/02/2026: "COMMIT GIORNALIERO" CONTAINER + BLINK
   - Fragments converge on merge
   - Blink/pulse when fully merged
   ═══════════════════════════════════════════════════════════════════════════════ */

.home-commit-container {
  z-index: 5;
  /* Performance iOS */
  transform: translateX(-50%) translateZ(0);
  /* 🔧 FIX 06/02/2026: Removed contain - not needed for this element */
}

.commit-fragment {
  display: inline-block;
  text-transform: uppercase;
  /* Performance */
  transform: translateZ(0);
}

/* Attention pulse for merged state */
.commit-attention-glow {
  /* Performance iOS */
  will-change: opacity;
  transform: translateZ(0);
}

/* 🌙 Reduced motion: no blink, static glow */
@media (prefers-reduced-motion: reduce) {
  .commit-attention-glow {
    animation: none !important;
    opacity: 0.5 !important;
  }
  
  .commit-fragment {
    transition: none !important;
  }
}

/* 📱 iOS performance guard */
@supports (-webkit-touch-callout: none) {
  .home-commit-container {
    /* 🔧 FIX 06/02/2026: Removed contain - was not needed */
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   COMMIT RITUAL — Main stack (guide above disc, true horizontal center via flex)
   ═══════════════════════════════════════════════════════════════════════════════ */

.commit-ritual-main-stack {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 0;
  gap: clamp(1.1rem, 3.8vh, 1.85rem);
  padding-left: max(1rem, env(safe-area-inset-left, 0px));
  padding-right: max(1rem, env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.commit-ritual-tap-guide {
  width: 100%;
  max-width: min(22rem, 100%);
  margin: 0 auto;
  text-align: center;
  pointer-events: none;
  flex-shrink: 0;
  box-sizing: border-box;
}

.commit-ritual-tap-guide__label {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  font-size: clamp(1rem, 4.6vw, 1.22rem);
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #f4feff;
  -webkit-font-smoothing: antialiased;
  /* Premium readout: dark outline + soft cyan lift (no blur filters) */
  -webkit-text-stroke: 0.45px rgba(0, 8, 14, 0.95);
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.92),
    0 2px 8px rgba(0, 0, 0, 0.75),
    0 0 20px rgba(0, 255, 240, 0.35),
    0 0 42px rgba(0, 210, 255, 0.22);
  transform: translateZ(0);
}

@keyframes commit-guide-idle-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.93;
  }
}

.commit-ritual-tap-guide__label--pulse {
  animation: commit-guide-idle-pulse 3s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .commit-ritual-tap-guide__label--pulse {
    animation: none !important;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/* Mission Window — timer reached zero (above pickup presenter 100050, below offer shell 200060) */
.m1-mw-timer-expired-root {
  position: fixed;
  inset: 0;
  z-index: 100055;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px))
    max(18px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
}

.m1-mw-timer-expired-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(ellipse 90% 70% at 50% 18%, rgba(0, 212, 255, 0.14) 0%, transparent 52%),
    radial-gradient(ellipse 80% 55% at 50% 100%, rgba(120, 0, 255, 0.12) 0%, transparent 48%),
    rgba(4, 6, 12, 0.88);
  backdrop-filter: blur(18px);
}

.m1-mw-timer-expired-card {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: min(100%, 380px);
  border-radius: 22px;
  border: 1px solid rgba(0, 209, 255, 0.28);
  background: linear-gradient(165deg, rgba(10, 16, 28, 0.96) 0%, rgba(6, 10, 18, 0.98) 100%);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.04) inset,
    0 24px 48px rgba(0, 0, 0, 0.55),
    0 0 40px rgba(0, 209, 255, 0.12);
  padding: 22px 20px 18px;
  text-align: center;
}

.m1-mw-timer-expired-kicker {
  font-family: var(--font-orbitron, 'Orbitron', system-ui, sans-serif);
  font-size: 11px;
  letter-spacing: 0.22em;
  color: rgba(0, 209, 255, 0.85);
  margin-bottom: 10px;
}

.m1-mw-timer-expired-title {
  font-family: var(--font-orbitron, 'Orbitron', system-ui, sans-serif);
  font-size: 1.35rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.25;
  margin-bottom: 12px;
  text-shadow: 0 0 18px rgba(0, 209, 255, 0.25);
}

.m1-mw-timer-expired-body {
  font-size: 0.95rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 20px;
}

.m1-mw-timer-expired-cta {
  width: 100%;
  border: none;
  border-radius: 14px;
  padding: 14px 18px;
  font-family: var(--font-orbitron, 'Orbitron', system-ui, sans-serif);
  font-weight: 700;
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  cursor: pointer;
  color: #061018;
  background: linear-gradient(135deg, #00d1ff 0%, #7b2eff 100%);
  box-shadow: 0 8px 24px rgba(0, 209, 255, 0.35);
}

.m1-mw-timer-expired-cta:active {
  transform: scale(0.98);
}
/* Mission Window — arrow at true viewport center; HUD meta anchored just below (no vertical “cluster centroid” drift) */
.m1-mw-guidance-root {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 10028;
}

.m1-mw-guidance-arrow-anchor {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.m1-mw-guidance-arrow-anchor--rome {
  align-items: center;
}

.m1-mw-hud-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;
}

.m1-mw-hud-meta--floating {
  position: absolute;
  left: 50%;
  top: calc(50% + min(62px, 13vh));
  transform: translateX(-50%);
  width: min(220px, 92vw);
  max-width: min(200px, 90vw);
  pointer-events: none;
}

.m1-mw-hud-distance-pill {
  font-size: clamp(11px, 2.9vw, 13px);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.96);
  background: rgba(8, 10, 16, 0.94);
  border: 1px solid rgba(0, 212, 255, 0.45);
  border-radius: 999px;
  padding: 5px 12px 6px;
  line-height: 1.1;
  text-shadow: 0 0 12px rgba(0, 212, 255, 0.35);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

.m1-mw-hud-status-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 6px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: rgba(230, 240, 255, 0.72);
  text-transform: uppercase;
}

.m1-mw-hud-status-badge {
  color: rgba(0, 229, 255, 0.92);
}

.m1-mw-hud-status-sep {
  color: rgba(255, 255, 255, 0.35);
  font-weight: 700;
}

.m1-mw-hud-status-vp {
  color: rgba(255, 255, 255, 0.78);
}

.m1-mw-hud-meta[data-m1-mw-viewport='in'] .m1-mw-hud-status-vp {
  color: rgba(125, 255, 179, 0.95);
}

.m1-mw-hud-meta[data-m1-mw-viewport='out'] .m1-mw-hud-status-vp {
  color: rgba(255, 200, 120, 0.95);
}

.m1-mw-guidance-root--rome-qa {
  z-index: 10029;
}

.m1-mw-arrow-stack--rome-qa {
  width: 122px;
  height: 122px;
}

.m1-mw-guidance-root--rome-qa .m1-mw-arrow-spin {
  width: 76px;
  height: 76px;
}

.m1-mw-guidance-root--rome-qa .m1-mw-arrow-svg {
  width: 70px;
  height: 62px;
}

/* On-screen: keep glyph large enough that R/Y/G reads against the map */
.m1-mw-guidance-root--target-on .m1-mw-arrow-stack {
  transform: scale(0.93);
}

.m1-mw-guidance-root--target-on .m1-mw-arrow-stack::before {
  opacity: 0.72;
}

.m1-mw-guidance-root--target-on .m1-mw-arrow-stack::after {
  opacity: 0.52;
  animation-duration: 2.4s;
}

.m1-mw-guidance-root--target-on .m1-mw-arrow-svg {
  animation-duration: 2.1s;
}

.m1-mw-arrow-stack {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.22s ease, transform 0.25s ease;
}

.m1-mw-arrow-stack::before {
  content: '';
  position: absolute;
  border-radius: 50%;
  inset: 5px;
  border: 3px solid var(--m1-mw-ring-outer, rgba(240, 238, 239, 0.55));
  opacity: 0.95;
  pointer-events: none;
}

.m1-mw-arrow-stack::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  inset: 1px;
  border: 3px solid var(--m1-mw-ring-hot, rgba(0, 212, 255, 0.65));
  transform: scale(1.08);
  opacity: 0.55;
  animation: m1MwArrowRingPulse var(--m1-mw-ring-pulse-sec, 2.2s) ease-in-out infinite;
  pointer-events: none;
}

@keyframes m1MwArrowRingPulse {
  0%,
  100% {
    opacity: 0.42;
    transform: scale(1.04);
  }
  50% {
    opacity: 0.92;
    transform: scale(1.16);
  }
}

.m1-mw-arrow-spin {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center center;
  transition: transform 0.16s linear;
}

/* Geographic: path +X; rotate -90° → north. Keep rotate in keyframes (forensic iOS). */
.m1-mw-arrow-svg {
  width: 54px;
  height: 48px;
  color: var(--m1-mw-arrow-fill, #e8fbff);
  transform: rotate(-90deg);
  transform-origin: center center;
  animation: m1MwArrowSvgBreathe var(--m1-mw-breathe-sec, 2.4s) ease-in-out infinite;
}

.m1-mw-arrow-svg path {
  fill: currentColor;
}

/* Off-screen — faster hot ring only (avoid stack filter pulse washing R/Y/G toward white) */
.m1-mw-guidance-root--target-off .m1-mw-arrow-stack::after {
  animation-duration: calc(var(--m1-mw-ring-pulse-sec, 1.1s) * 0.82);
  opacity: 0.68;
}

/* Far band — faster breathe already from shorter --m1-mw-breathe-sec */
.m1-mw-band-far .m1-mw-arrow-stack::after {
  opacity: 0.62;
}

.m1-mw-band-terminal .m1-mw-arrow-stack::after {
  animation-duration: 0.85s;
}

/* Secondary Mission Window markers — do not compete with guided cyan */
.m1-mw-marker-dot--secondary {
  opacity: 0.52;
  filter: saturate(0.38) brightness(0.82);
}

.m1-mw-marker-dot--guided {
  border-width: 3px !important;
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 2px;
}

.m1-mw-marker-wrap--guided {
  animation: m1MwGuidedWrapPulse 2s ease-in-out infinite;
}

@keyframes m1MwGuidedWrapPulse {
  0%,
  100% {
    filter: drop-shadow(0 0 4px rgba(0, 212, 255, 0.35));
  }
  50% {
    filter: drop-shadow(0 0 14px rgba(255, 220, 140, 0.55));
  }
}

@keyframes m1MwArrowSvgBreathe {
  0%,
  100% {
    opacity: 0.98;
    transform: rotate(-90deg) scale(1);
  }
  50% {
    opacity: 1;
    transform: rotate(-90deg) scale(1.06);
  }
}
/* Mission Window timer — true horizontal center: full-width row + align-items (avoids translateX(-50%) subpixel drift) */
.m1-mw-timer-outer {
  --m1-buzz-disc: clamp(140px, 27.5vw, 190px);
  --m1-mw-timer-disc: clamp(118px, 22vw, 168px);
  position: fixed;
  inset-inline: 0;
  top: calc(env(safe-area-inset-top, 0px) + 54px);
  bottom: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: max(12px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  /* Below UnifiedHeader (9999): timer stays in the chrome strip, not over avatar / referral row */
  z-index: 9990;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  pointer-events: none;
  box-sizing: border-box;
}

.m1-mw-timer-host {
  position: relative;
  width: var(--m1-mw-timer-disc);
  height: var(--m1-mw-timer-disc);
  flex-shrink: 0;
  margin-inline: auto;
  pointer-events: auto;
}

.m1-mw-timer-disc {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  isolation: isolate;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12),
    0 6px 28px rgba(0, 0, 0, 0.5),
    0 0 24px rgba(0, 212, 255, 0.2);
}

.m1-mw-timer-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  transform-origin: center;
  pointer-events: none;
  box-sizing: border-box;
  border: 3px solid rgba(0, 212, 255, 0.45);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
  background: transparent;
}

.m1-mw-timer-face {
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.08) 0%, transparent 38%),
    radial-gradient(circle at center, #1c1c22 0%, #0a0a0f 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4px 2px 2px;
  box-sizing: border-box;
}

.m1-mw-timer-label {
  font-size: clamp(8px, 2vw, 10px);
  letter-spacing: 0.14em;
  font-weight: 800;
  color: rgba(0, 212, 255, 0.88);
  line-height: 1;
}

.m1-mw-timer-main {
  font-size: clamp(18px, 5vw, 26px);
  font-weight: 800;
  color: #fff;
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
  text-shadow: 0 0 12px rgba(0, 212, 255, 0.35);
}

.m1-mw-timer-ms {
  font-size: clamp(11px, 3vw, 15px);
  font-weight: 700;
  color: rgba(0, 229, 255, 0.92);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  margin-top: 2px;
}

.m1-mw-timer-exit-pill {
  width: 100%;
  max-width: var(--m1-mw-timer-disc);
  box-sizing: border-box;
  min-height: 38px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(10, 12, 18, 0.92);
  color: rgba(255, 255, 255, 0.9);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
  pointer-events: auto;
}

.m1-mw-timer-exit-pill:active {
  transform: scale(0.97);
}
/**
 * Pin Rotator FREE PLAY win — confetti layer only (pointer-events none).
 * © 2026 Joseph MULÉ – M1SSION™
 */
.m1-pin-training-confetti-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
}
/**
 * Pin Rotator FREE PLAY — fullscreen training shell (visual north-star: high contrast, arcade premium).
 * No daily / no claim-daily-phase. © 2025 Joseph MULÉ – M1SSION™
 */

.m1-pin-training-root {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  flex-direction: column;
  padding: max(12px, env(safe-area-inset-top, 0px)) 16px max(20px, env(safe-area-inset-bottom, 0px));
  box-sizing: border-box;
  background: linear-gradient(180deg, #fffef5 0%, #f4efd8 38%, #ebe4cf 100%);
  color: #121212;
  -webkit-tap-highlight-color: transparent;
}

.m1-pin-training-root__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
}

.m1-pin-training-root__header--toolbar {
  justify-content: flex-end;
}

.m1-pin-training-root__close {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid rgba(18, 18, 18, 0.18);
  background: rgba(255, 255, 255, 0.85);
  color: #121212;
  cursor: pointer;
}

.m1-pin-training-root__body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 4px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.m1-pin-training-root__title {
  margin: 0 0 4px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: center;
  color: #0a0a0a;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}

.m1-pin-training-root__sub {
  margin: 0 0 12px;
  font-size: 12px;
  font-weight: 600;
  text-align: center;
  max-width: 340px;
  color: rgba(18, 18, 18, 0.62);
}

.m1-pin-training-overlay {
  position: fixed;
  inset: 0;
  z-index: 10051;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  box-sizing: border-box;
  text-align: center;
}

.m1-pin-training-overlay--win {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
}

/* Win + confetti: canvas z:2, stamp z:4 (decorative, no hit), UI z:3 — stamp paints above confetti; pointer-events on stamp pass clicks to content */
.m1-pin-training-overlay--win-stack {
  isolation: isolate;
}

/* GHOSTS OF SPACE victory seal — stamp smash (Free Play win only). */
.m1-pin-training-win-stamp {
  position: absolute;
  left: 50%;
  top: clamp(48px, 14vh, 120px);
  z-index: 4;
  width: min(44vw, 200px);
  max-width: 200px;
  aspect-ratio: 1;
  transform: translateX(-50%);
  pointer-events: none;
}

.m1-pin-training-win-stamp__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.22));
  transform-origin: 50% 55%;
  animation: m1PinStampSmash 0.62s cubic-bezier(0.22, 1, 0.36, 1) 0s both;
}

@keyframes m1PinStampSmash {
  0% {
    opacity: 0;
    transform: translateY(-38px) scale(1.42) rotate(-16deg);
  }
  55% {
    opacity: 1;
    transform: translateY(12px) scale(0.86) rotate(5deg);
  }
  76% {
    transform: translateY(-5px) scale(1.05) rotate(-2deg);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1) rotate(-3deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .m1-pin-training-win-stamp__img {
    animation: m1PinStampSmashReduced 0.35s ease-out 0s both;
  }

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

.m1-pin-training-overlay__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  pointer-events: auto;
}

.m1-pin-training-overlay--lose {
  background: rgba(220, 38, 38, 0.92);
  backdrop-filter: blur(8px);
}

.m1-pin-training-overlay h3 {
  margin: 0 0 12px;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.m1-pin-training-overlay--win h3 {
  color: #0a0a0a;
}

.m1-pin-training-overlay--lose h3 {
  color: #fffef8;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.m1-pin-training-overlay p {
  margin: 0 0 22px;
  font-size: 14px;
  font-weight: 600;
  max-width: 300px;
  line-height: 1.45;
}

.m1-pin-training-overlay--win p {
  color: rgba(18, 18, 18, 0.7);
}

.m1-pin-training-overlay--lose p {
  color: rgba(255, 254, 248, 0.92);
}

.m1-pin-training-overlay__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 300px;
}

/* Daily Pin Rotator — same fullscreen shell as Free Play; above MapPillFlipOverlay / NextAction (~99999) */
.m1-pin-training-root--daily-mission {
  z-index: 100000;
}

.m1-pin-daily-test-banner {
  flex: 1;
  min-width: 0;
  padding: 8px 14px;
  border-radius: 12px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.35;
  color: #78350f;
  background: rgba(245, 158, 11, 0.16);
  border: 1px solid rgba(180, 83, 9, 0.38);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset;
}

.m1-pin-training-root__mission-meta {
  margin: 0 0 12px;
  font-size: 11px;
  font-weight: 600;
  text-align: center;
  max-width: 340px;
  color: rgba(18, 18, 18, 0.52);
  line-height: 1.35;
}

.m1-pin-daily-state {
  text-align: center;
  max-width: 340px;
  margin-left: auto;
  margin-right: auto;
}

.m1-pin-daily-state--loading {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: rgba(18, 18, 18, 0.72);
}

.m1-pin-daily-state--error {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
  color: #b91c1c;
  line-height: 1.4;
}

.m1-pin-daily-state--win {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #15803d;
}

.m1-pin-daily-state--fail {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: rgba(18, 18, 18, 0.72);
}

.m1-pin-training-btn {
  width: 100%;
  min-height: 52px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  -webkit-tap-highlight-color: transparent;
}

.m1-pin-training-btn--primary {
  color: #fffef8;
  background: linear-gradient(168deg, #1a1a1e 0%, #0a0a0c 100%);
  box-shadow:
    0 0 0 1px rgba(130, 85, 255, 0.25),
    0 10px 26px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.m1-pin-training-btn--ghost {
  color: #0a0a0a;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(18, 18, 18, 0.18);
}

.m1-pin-training-overlay--lose .m1-pin-training-btn--ghost {
  color: #fffef8;
  background: rgba(0, 0, 0, 0.15);
  border-color: rgba(255, 255, 255, 0.35);
}
/**
 * CosmicCheckBurst — decorative success mark (no input, no interaction).
 * Animations use transform/opacity only for WKWebView performance.
 */

.ccb-root {
  position: relative;
  width: 6.25rem;
  height: 6.25rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  --ccb-accent: #5dfff7;
  --ccb-glow: rgba(0, 240, 255, 0.55);
}

.ccb-root--cashback {
  --ccb-accent: #e8d4ff;
  --ccb-glow: rgba(200, 170, 255, 0.5);
}

.ccb-burst-layer {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.ccb-ring {
  position: absolute;
  width: 3.6rem;
  height: 3.6rem;
  border-radius: 50%;
  border: 1.5px solid var(--ccb-glow);
  box-shadow: 0 0 16px var(--ccb-glow);
  animation: ccb-ring-out 1.1s ease-out forwards;
}

.ccb-root--buzz .ccb-ring {
  box-shadow:
    0 0 18px rgba(0, 255, 252, 0.55),
    0 0 36px rgba(0, 180, 255, 0.25);
}

.ccb-root--cashback .ccb-ring {
  box-shadow:
    0 0 18px rgba(200, 170, 255, 0.45),
    0 0 34px rgba(255, 200, 180, 0.15);
}

.ccb-ring--2 {
  animation-delay: 0.12s;
}

@keyframes ccb-ring-out {
  0% {
    transform: scale(0.65);
    opacity: 0.75;
  }
  100% {
    transform: scale(2.15);
    opacity: 0;
  }
}

.ccb-particles {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ccb-particle {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  margin: -2px 0 0 -2px;
  border-radius: 50%;
  background: linear-gradient(135deg, #fff, var(--ccb-accent));
  box-shadow: 0 0 6px var(--ccb-accent);
  opacity: 0;
  animation: ccb-spark 0.85s ease-out forwards;
}

.ccb-particle--0 {
  animation-delay: 0.18s;
  --ccb-a: 0deg;
}
.ccb-particle--1 {
  animation-delay: 0.2s;
  --ccb-a: 45deg;
}
.ccb-particle--2 {
  animation-delay: 0.22s;
  --ccb-a: 90deg;
}
.ccb-particle--3 {
  animation-delay: 0.24s;
  --ccb-a: 135deg;
}
.ccb-particle--4 {
  animation-delay: 0.26s;
  --ccb-a: 180deg;
}
.ccb-particle--5 {
  animation-delay: 0.28s;
  --ccb-a: 225deg;
}
.ccb-particle--6 {
  animation-delay: 0.3s;
  --ccb-a: 270deg;
}
.ccb-particle--7 {
  animation-delay: 0.32s;
  --ccb-a: 315deg;
}

@keyframes ccb-spark {
  0% {
    opacity: 0;
    transform: rotate(var(--ccb-a)) translateY(0) scale(0.3);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: rotate(var(--ccb-a)) translateY(-2.25rem) scale(0.2);
  }
}

.ccb-box {
  position: relative;
  z-index: 2;
  width: 3.65rem;
  height: 3.65rem;
  flex-shrink: 0;
  border-radius: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(160deg, rgba(18, 22, 32, 0.92) 0%, rgba(6, 8, 14, 0.96) 100%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.12),
    0 0 28px var(--ccb-glow),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
  animation: ccb-box-pop 0.5s cubic-bezier(0.34, 1.3, 0.64, 1) forwards;
}

.ccb-root--buzz .ccb-box {
  box-shadow:
    0 0 0 1px rgba(0, 255, 252, 0.25),
    0 0 32px rgba(0, 220, 255, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.ccb-root--cashback .ccb-box {
  box-shadow:
    0 0 0 1px rgba(220, 190, 255, 0.3),
    0 0 30px rgba(180, 140, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

@keyframes ccb-box-pop {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.ccb-check {
  width: 1.65rem;
  height: 1.65rem;
  overflow: visible;
}

.ccb-check-path {
  fill: none;
  stroke: #eceff1;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 32;
  stroke-dashoffset: 32;
  animation: ccb-draw-check 0.5s ease-out 0.28s forwards;
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
}

@keyframes ccb-draw-check {
  to {
    stroke-dashoffset: 0;
  }
}
/**
 * Uiverse-style glow card (reference) — BUZZ / CASHBACK / BUZZ MAP AREA.
 * Layers: gradient frame (::before equiv) → blurred aura (::after equiv) → black surface.
 * No hover requirement; transforms driven by Framer on mount/exit.
 */

.uig-card-wrap {
  position: relative;
  width: 100%;
  /* Portrait-leaning premium card: narrower than before, not ultra-wide on iPhone */
  max-width: min(16.75rem, 84vw);
  margin-left: auto;
  margin-right: auto;
  isolation: isolate;
}

/* ── ::before equivalent — strong -45° gradient frame ── */
.uig-card-glow-before {
  position: absolute;
  inset: -8px;
  border-radius: 17px;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(-45deg, #1cc2ff 0%, #ff261b 100%);
  box-shadow: 0 0 40px rgba(28, 194, 255, 0.35);
}

.uig-card-wrap--cashback .uig-card-glow-before {
  background: linear-gradient(-45deg, #1cc2ff 0%, #d946ef 48%, #ff261b 100%);
  box-shadow: 0 0 44px rgba(217, 70, 239, 0.32);
}

/* BUZZ MAP area — cyan / electric blue (no cashback violet) */
.uig-card-wrap--map .uig-card-glow-before {
  background: linear-gradient(-45deg, #1cc2ff 0%, #3b82f6 52%, #06b6d4 100%);
  box-shadow: 0 0 44px rgba(28, 194, 255, 0.42);
}

/* ── ::after equivalent — acid + magenta blur aura ── */
.uig-card-glow-after {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: 15px;
  pointer-events: none;
  background: linear-gradient(-45deg, #1cffa4 0%, #ff01aee6 100%);
  transform: scale(0.95);
  filter: blur(40px);
  opacity: 0.95;
}

.uig-card-wrap--cashback .uig-card-glow-after {
  background: linear-gradient(-45deg, #a78bfa 0%, #ff01aee6 100%);
}

.uig-card-wrap--map .uig-card-glow-after {
  background: linear-gradient(-45deg, #1cffa4 0%, #38bdf8 50%, #60a5fa 100%);
}

/* ── Black card face (reference .card) ── */
.uig-card-surface {
  position: relative;
  z-index: 1;
  width: 100%;
  background-color: #000000;
  border-radius: 15px;
  /* Taller silhouette + vertical rhythm tuned to narrow column */
  padding: 18px 14px 20px;
  min-height: clamp(19.5rem, 46vh, 25.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  color: #ffffff;
  box-sizing: border-box;
}

/* Reference .heading */
.uig-card-heading {
  font-size: clamp(0.98rem, 3.85vw, 1.28rem);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.22;
  text-align: center;
  color: #ffffff;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-shadow:
    0 0 24px rgba(28, 194, 255, 0.45),
    0 0 48px rgba(255, 38, 27, 0.2);
}

.uig-card-wrap--cashback .uig-card-heading {
  text-shadow:
    0 0 22px rgba(217, 70, 239, 0.5),
    0 0 40px rgba(28, 194, 255, 0.25);
}

.uig-card-wrap--map .uig-card-heading {
  text-shadow:
    0 0 26px rgba(56, 189, 248, 0.5),
    0 0 42px rgba(28, 194, 255, 0.35);
}

.uig-card-body {
  font-size: clamp(0.95rem, 3.55vw, 1.14rem);
  line-height: 1.42;
  text-align: center;
  color: #ffffff;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.uig-card-next {
  font-size: clamp(0.8rem, 3vw, 0.92rem);
  line-height: 1.42;
  text-align: center;
  color: rgba(255, 255, 255, 0.72);
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* Check sits inside card, same family — no extra “hero” chrome */
.uig-card-check-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 0 10px;
  min-height: 7.25rem;
  flex-shrink: 0;
}

/* Premium CTA column (stack when multiple children added later) */
.uig-card-cta-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
  width: 100%;
  padding-top: 0.25rem;
}

.uig-card-cta-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 1.15rem;
  border-radius: 0.75rem;
  font-weight: 800;
  font-size: clamp(0.8125rem, 3.2vw, 0.9375rem);
  background: #ffffff;
  color: #000000;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/**
 * M1SSION™ — TE-style hardware quick keys (socket + plunger).
 * Shared: GIOCA launcher (`PlayModalGiochaLayers`) + operator layer (`NextActionContent`).
 * Parent: .m1-hw-keydeck — scope so styles never leak globally.
 */

/* Compact row: three keys in Next Action — slightly shorter stack */
.m1-hw-keydeck.m1-hw-keydeck--operator-row .m1-hw-key {
  min-height: 5.65rem;
  gap: 0.32rem;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
}

.m1-hw-keydeck.m1-hw-keydeck--operator-row .m1-hw-key__label {
  font-size: 9px;
  letter-spacing: 0.03em;
  line-height: 1.15;
}

.m1-hw-keydeck.m1-hw-keydeck--operator-row .m1-hw-key__plunger svg {
  width: 20px;
  height: 20px;
}

/* Outer hit target: transparent — TE is socket + key */
.m1-hw-keydeck .m1-hw-key {
  -webkit-tap-highlight-color: transparent;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.42rem;
  min-height: 6.5rem;
  padding: 0.15rem 0.25rem 0.35rem;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  transition: transform 0.1s ease-out;
}

.m1-hw-keydeck .m1-hw-key:focus-visible {
  outline: 2px solid rgba(125, 211, 252, 0.55);
  outline-offset: 4px;
  border-radius: 4px;
}

.m1-hw-keydeck .m1-hw-key:active {
  transform: scale(0.98);
}

@media (prefers-reduced-motion: reduce) {
  .m1-hw-keydeck .m1-hw-key,
  .m1-hw-keydeck .m1-hw-key:active {
    transition: none;
    transform: none;
  }
}

.m1-hw-keydeck .m1-hw-key__socket {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(5rem, 100%);
  aspect-ratio: 1;
  flex-shrink: 0;
  border-radius: 5px;
  background-color: #171717;
  box-shadow:
    inset 0 5px 14px rgba(0, 0, 0, 0.92),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.m1-hw-keydeck .m1-hw-key__plunger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86%;
  height: 86%;
  min-width: 3.25rem;
  min-height: 3.25rem;
  border-radius: 10px;
  border: none;
  pointer-events: none;
  transition: box-shadow 0.1s ease-out;
}

.m1-hw-keydeck .m1-hw-key__plunger svg {
  flex-shrink: 0;
}

/* —— Tempo / Esplora — neutral cyan-tech —— */
.m1-hw-keydeck .m1-hw-key--time .m1-hw-key__plunger {
  background-color: #aeb6bf;
  color: #1a1e24;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(255, 255, 255, 0.65) 1.5px 1.5px 2px 0 inset,
    #8b95a3 -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(125, 211, 252, 0.12);
}

.m1-hw-keydeck .m1-hw-key--time:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #8b95a3 -3.2px -3.2px 8px 0 inset;
}

/* —— Agent / Buzz — violet —— */
.m1-hw-keydeck .m1-hw-key--agent .m1-hw-key__plunger {
  background-color: #6b4fd6;
  color: #f5f3ff;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(216, 200, 255, 0.55) 1.5px 1.5px 2px 0 inset,
    #3f2d8a -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(167, 139, 250, 0.22);
}

.m1-hw-keydeck .m1-hw-key--agent:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #3f2d8a -3.2px -3.2px 8px 0 inset;
}

/* —— Commit — teal —— */
.m1-hw-keydeck .m1-hw-key--commit .m1-hw-key__plunger {
  background-color: #0d8c7f;
  color: #ecfdf5;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(94, 234, 212, 0.42) 2px 2px 9px 0 inset,
    #065f56 -4px -4px 1px 0 inset,
    0 0 0 1px rgba(45, 212, 191, 0.2);
}

.m1-hw-keydeck .m1-hw-key--commit:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #065f56 -3.2px -3.2px 8px 0 inset;
}

/* —— Battle — red —— */
.m1-hw-keydeck .m1-hw-key--battle .m1-hw-key__plunger {
  background-color: #c6281f;
  color: #fff1f2;
  box-shadow:
    rgba(0, 0, 0, 0.4) 3px 3px 5px,
    rgba(254, 165, 165, 0.38) 2px 2px 10px 0 inset,
    #7f1a15 -4px -4px 1px 0 inset,
    0 0 0 1px rgba(248, 113, 113, 0.2);
}

.m1-hw-keydeck .m1-hw-key--battle:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #7f1a15 -3.2px -3.2px 8px 0 inset;
}

/* —— Pin training / free play — amber–charcoal (distinct from Battle red) —— */
.m1-hw-keydeck .m1-hw-key--pin_training .m1-hw-key__plunger {
  background: linear-gradient(165deg, #f59e0b 0%, #b45309 52%, #78350f 100%);
  color: #fffbeb;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(254, 243, 199, 0.45) 1.5px 1.5px 3px 0 inset,
    #713f12 -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(251, 191, 36, 0.28);
}

.m1-hw-keydeck .m1-hw-key--pin_training:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #713f12 -3.2px -3.2px 8px 0 inset;
}

/* —— Oracle — violet–magenta psychic —— */
.m1-hw-keydeck .m1-hw-key--oracle .m1-hw-key__plunger {
  background: linear-gradient(150deg, #c084fc 0%, #86198f 48%, #4a0d52 100%);
  color: #faf5ff;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(245, 208, 254, 0.45) 1.5px 1.5px 3px 0 inset,
    #4c1d5c -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(232, 121, 249, 0.25);
}

.m1-hw-keydeck .m1-hw-key--oracle:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #4c1d5c -3.2px -3.2px 8px 0 inset;
}

/* Daily Pin Rotator CTA — neon GO (operator card only; does not affect Buzz / map / oracle keys) */
.m1-hw-keydeck .m1-hw-key--pin-daily-start .m1-hw-key__plunger {
  background: linear-gradient(165deg, #5cffc8 0%, #00e676 38%, #00a85a 100%);
  color: #022c1f;
  box-shadow:
    rgba(0, 0, 0, 0.36) 3px 3px 5px,
    rgba(200, 255, 230, 0.75) 1.5px 1.5px 3px 0 inset,
    #006644 -3.2px -3.2px 10px 0 inset,
    0 0 18px rgba(0, 255, 150, 0.45),
    0 0 0 1px rgba(52, 211, 153, 0.45);
}

.m1-hw-keydeck .m1-hw-key--pin-daily-start:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #006644 -3.2px -3.2px 8px 0 inset,
    0 0 12px rgba(0, 255, 150, 0.35);
}

.m1-hw-keydeck .m1-hw-key--pin-daily-start .m1-hw-key__label {
  color: rgba(2, 44, 31, 0.96);
  text-shadow:
    0 0 14px rgba(0, 255, 180, 0.55),
    0 1px 2px rgba(255, 255, 255, 0.35);
}

.m1-hw-keydeck .m1-hw-key__label {
  max-width: 100%;
  padding: 0 0.1rem;
  color: rgba(236, 239, 241, 0.92);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.85);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
}
/**
 * Daily Engine V2 — “Missione del giorno” hero panel (Next Action operator layer only).
 * Presentation only: depth, inset, legibility. Used from `DailyEngineV2Card.tsx`.
 */

.m1-daily-hero-card {
  position: relative;
  margin-bottom: 12px;
  border-radius: 16px;
  padding: 15px 15px 14px;
  text-align: left;
  cursor: pointer;
  color: #eceff1;
  border: 1px solid rgba(0, 209, 255, 0.28);
  background: linear-gradient(168deg, #1a222c 0%, #0f1318 38%, #0a0d11 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 -10px 28px rgba(0, 0, 0, 0.35) inset,
    0 10px 28px rgba(0, 0, 0, 0.42),
    0 4px 0 rgba(0, 0, 0, 0.25),
    0 0 0 1px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  -webkit-tap-highlight-color: transparent;
  transition:
    transform 0.15s ease-out,
    box-shadow 0.15s ease-out,
    border-color 0.15s ease-out;
}

.m1-daily-hero-card:not(.m1-daily-hero-card--static):active {
  transform: scale(0.992);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.04) inset,
    0 -6px 20px rgba(0, 0, 0, 0.4) inset,
    0 6px 18px rgba(0, 0, 0, 0.38),
    0 2px 0 rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(0, 0, 0, 0.4);
}

.m1-daily-hero-card--static {
  cursor: default;
}

.m1-daily-hero-card__glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(ellipse 120% 80% at 18% 0%, rgba(0, 209, 255, 0.18) 0%, transparent 52%),
    radial-gradient(ellipse 90% 70% at 100% 100%, rgba(168, 85, 247, 0.1) 0%, transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 22%);
  opacity: 0.95;
}

.m1-daily-hero-card__content {
  position: relative;
  z-index: 1;
}

.m1-daily-hero-card__main-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.m1-daily-hero-card__icon-chamber {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(155deg, rgba(0, 209, 255, 0.22) 0%, rgba(8, 40, 52, 0.85) 100%);
  border: 1px solid rgba(0, 209, 255, 0.38);
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.45),
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 -4px 12px rgba(0, 0, 0, 0.35) inset;
}

.m1-daily-hero-card__icon-chamber svg {
  width: 22px;
  height: 22px;
  color: #5ee7ff;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
}

.m1-daily-hero-card__copy {
  flex: 1;
  min-width: 0;
}

.m1-daily-hero-card__title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: #f8fafc;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

.m1-daily-hero-card__status {
  margin: 4px 0 0;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: rgba(186, 230, 253, 0.92);
}

.m1-daily-hero-card__meta {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: rgba(226, 232, 240, 0.62);
}

.m1-daily-hero-card__chevron {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: rgba(0, 209, 255, 0.72);
  filter: drop-shadow(0 0 6px rgba(0, 209, 255, 0.25));
}

/* Hardware CTA: child must live under .m1-hw-keydeck (see m1HardwareQuickKey.css) */
.m1-daily-hero-card__pin-cta-deck {
  margin-top: 12px;
  -webkit-tap-highlight-color: transparent;
}

.m1-daily-hero-card__footer-row--agent-only {
  justify-content: flex-end;
}

.m1-daily-hero-card__completed {
  margin-top: 10px;
}

.m1-daily-hero-card__completed-primary {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: rgba(52, 211, 153, 0.95);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.m1-daily-hero-card__replay-hint {
  margin: 6px 0 0;
  font-size: 11px;
  color: rgba(125, 211, 252, 0.82);
}

.m1-daily-hero-card__footer {
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 209, 255, 0.18);
  border-radius: 0 0 10px 10px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.28) 100%);
  box-shadow: 0 -1px 0 rgba(255, 255, 255, 0.04) inset;
}

.m1-daily-hero-card__footer-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.m1-daily-hero-card__streak {
  font-size: 12px;
  color: rgba(226, 232, 240, 0.78);
}

.m1-daily-hero-card__streak strong {
  color: #5ee7ff;
  font-weight: 700;
}

.m1-daily-hero-card__agent {
  font-size: 11px;
  color: rgba(226, 232, 240, 0.65);
}

.m1-daily-hero-card__week {
  display: flex;
  gap: 5px;
  margin-top: 8px;
  align-items: center;
}

.m1-daily-hero-card__week-cell {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(248, 250, 252, 0.42);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset;
}

.m1-daily-hero-card__week-cell--done {
  border-color: rgba(52, 211, 153, 0.45);
  background: linear-gradient(165deg, rgba(52, 211, 153, 0.28) 0%, rgba(6, 78, 59, 0.45) 100%);
  color: #ecfdf5;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.12) inset,
    0 -2px 6px rgba(0, 0, 0, 0.25) inset;
}

.m1-daily-hero-card__sunday {
  margin-top: 11px;
  width: 100%;
  padding: 10px 12px;
  border-radius: 11px;
  border: 1px solid rgba(255, 215, 0, 0.42);
  background: linear-gradient(165deg, rgba(255, 215, 0, 0.16) 0%, rgba(40, 32, 8, 0.55) 100%);
  color: #fde68a;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  cursor: pointer;
  box-shadow:
    0 2px 8px rgba(0, 0, 0, 0.35),
    0 1px 0 rgba(255, 255, 255, 0.1) inset;
  transition: transform 0.12s ease-out;
}

.m1-daily-hero-card__sunday:disabled {
  cursor: wait;
  opacity: 0.75;
}

.m1-daily-hero-card__sunday:not(:disabled):active {
  transform: scale(0.99);
}

.m1-daily-hero-card__sunday svg {
  width: 18px;
  height: 18px;
}

/* Loading / unavailable — same family, flatter */
.m1-daily-hero-card--message {
  cursor: default;
  padding: 14px 15px;
  border-color: rgba(0, 209, 255, 0.16);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.04) inset,
    0 8px 20px rgba(0, 0, 0, 0.3);
}

.m1-daily-hero-card--message .m1-daily-hero-card__message-title {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(226, 232, 240, 0.82);
}

.m1-daily-hero-card--message .m1-daily-hero-card__message-sub {
  margin: 6px 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: rgba(226, 232, 240, 0.52);
}
/* © 2026 Joseph MULÉ – M1SSION™ — Press micro-feedback (used by NativePressable / hook consumers) */
.m1-native-pressable {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  transition:
    transform 90ms ease-out,
    opacity 90ms ease-out;
}

.m1-native-pressable[data-pressed='true'] {
  transform: scale(var(--m1-press-scale, 0.975));
}

.m1-native-pressable:disabled,
.m1-native-pressable[aria-disabled='true'] {
  transform: none;
  opacity: 0.55;
}
/* VERA BOMB - Device Visual - Local styles only */

.bomb-visual-root {
  position: relative;
  width: 140px;
  height: 180px;
  margin: 0 auto 20px;
}

.bomb-visual-root.armed {
  --bomb-glow: rgba(255, 68, 68, 0.4);
  animation: bomb-breathing 2s ease-in-out infinite, bomb-shake-subtle 3s ease-in-out infinite;
}

.bomb-visual-root.armed.urgent {
  --bomb-glow: rgba(255, 68, 68, 0.8);
  animation: bomb-urgent-pulse-shake 0.5s ease-in-out infinite;
}

.bomb-visual-root.armed.urgent .bomb-lamp {
  animation: bomb-lamp-blink 0.5s ease-in-out infinite;
}

.bomb-visual-root.disarmed {
  --bomb-glow: rgba(0, 255, 136, 0.5);
  animation: none;
}

.bomb-visual-root.exploded {
  animation: none;
}

.bomb-visual-root.reduced-motion,
.bomb-visual-root.reduced-motion * {
  animation: none !important;
}

@keyframes bomb-breathing {
  0%, 100% { filter: drop-shadow(0 0 8px var(--bomb-glow, rgba(255,68,68,0.3))); }
  50% { filter: drop-shadow(0 0 16px var(--bomb-glow, rgba(255,68,68,0.5))); }
}

@keyframes bomb-shake-subtle {
  0%, 90%, 100% { transform: translateX(0); }
  92% { transform: translateX(-1px); }
  94% { transform: translateX(1px); }
  96% { transform: translateX(-1px); }
  98% { transform: translateX(1px); }
}

@keyframes bomb-urgent-pulse-shake {
  0%, 100% { filter: drop-shadow(0 0 12px var(--bomb-glow)); transform: translateX(0) scale(1); }
  25% { filter: drop-shadow(0 0 24px var(--bomb-glow)); transform: translateX(-2px) scale(1.02); }
  50% { filter: drop-shadow(0 0 12px var(--bomb-glow)); transform: translateX(2px) scale(1); }
  75% { filter: drop-shadow(0 0 24px var(--bomb-glow)); transform: translateX(-2px) scale(1.02); }
}

@keyframes bomb-urgent-pulse {
  0%, 100% { filter: drop-shadow(0 0 12px var(--bomb-glow)); transform: scale(1); }
  50% { filter: drop-shadow(0 0 24px var(--bomb-glow)); transform: scale(1.03); }
}

@keyframes bomb-lamp-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.bomb-exploded-flash {
  position: absolute;
  inset: -20px;
  background: radial-gradient(circle, rgba(255,100,50,0.8) 0%, rgba(255,50,0,0.4) 40%, transparent 70%);
  animation: bomb-flash 0.4s ease-out forwards;
  pointer-events: none;
}

.bomb-exploded-smoke {
  position: absolute;
  inset: -30px;
  pointer-events: none;
  overflow: visible;
}

.bomb-exploded-smoke::before,
.bomb-exploded-smoke::after {
  content: '';
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(80,80,80,0.4) 0%, rgba(50,50,50,0.2) 40%, transparent 70%);
  animation: bomb-smoke 1.2s ease-out forwards;
}

.bomb-exploded-smoke::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation-delay: 0.1s;
}

.bomb-exploded-smoke::after {
  top: 45%;
  left: 55%;
  width: 60px;
  height: 60px;
  animation-delay: 0.2s;
}

@keyframes bomb-flash {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

@keyframes bomb-smoke {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(0.5); }
  50% { opacity: 0.8; }
  100% { opacity: 0.4; transform: translate(-50%, -50%) scale(1.5); }
}
/**
 * M1SSION SIGNAL SYSTEM™ — SignalDetailModal presentation only.
 * Scoped under `.m1-signal-detail-modal`; layered depth + tiered sub-cards.
 * Does not alter MapPillFlipOverlay / streak shell tokens outside this root.
 */

.m1-signal-detail-modal {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.m1-signal-detail-modal__hero {
  position: relative;
  z-index: 1;
  border-radius: 18px;
  padding: 1rem 1rem 1.125rem;
  background: linear-gradient(
    165deg,
    rgba(46, 46, 54, 0.95) 0%,
    rgba(24, 24, 30, 0.97) 46%,
    rgba(8, 8, 12, 0.99) 100%
  );
  border: 1px solid rgba(236, 239, 241, 0.11);
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.45),
    0 18px 52px rgba(0, 0, 0, 0.58),
    0 0 48px rgba(130, 85, 255, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    inset 0 -14px 36px rgba(0, 0, 0, 0.38);
}

.m1-signal-detail-modal__hero::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(ellipse 85% 60% at 50% 0%, rgba(130, 85, 255, 0.14) 0%, transparent 58%);
  opacity: 0.85;
}

.m1-signal-detail-modal__hero > * {
  position: relative;
  z-index: 1;
}

.m1-signal-detail-modal__actions {
  position: relative;
  z-index: 1;
  border-radius: 16px;
  padding: 0.875rem 1rem 1rem;
  background: linear-gradient(180deg, rgba(32, 32, 38, 0.92) 0%, rgba(14, 14, 18, 0.96) 100%);
  border: 1px solid rgba(236, 239, 241, 0.1);
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -10px 28px rgba(0, 0, 0, 0.28);
}

.m1-signal-detail-modal__actions-label {
  margin-bottom: 0.75rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(236, 239, 241, 0.78);
}

.m1-signal-detail-modal__cta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .m1-signal-detail-modal__cta-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.m1-signal-detail-modal__info {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.m1-signal-detail-modal__subcard {
  position: relative;
  z-index: 1;
  border-radius: 14px;
  padding: 0.875rem 1rem;
  background: linear-gradient(178deg, rgba(30, 30, 36, 0.94) 0%, rgba(10, 10, 14, 0.96) 100%);
  border: 1px solid rgba(236, 239, 241, 0.09);
  box-shadow:
    0 6px 22px rgba(0, 0, 0, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    inset 0 -8px 22px rgba(0, 0, 0, 0.22);
}

.m1-signal-detail-modal__subcard--next {
  border-color: rgba(34, 211, 238, 0.22);
  box-shadow:
    0 6px 24px rgba(0, 0, 0, 0.4),
    0 0 28px rgba(34, 211, 238, 0.06),
    inset 0 1px 0 rgba(165, 243, 252, 0.08),
    inset 0 -8px 22px rgba(0, 0, 0, 0.22);
}

.m1-signal-detail-modal__analysis-title {
  margin-bottom: 0.75rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(236, 239, 241, 0.72);
}

.m1-signal-detail-modal__row {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  border-radius: 12px;
  border: 1px solid rgba(236, 239, 241, 0.08);
  background: rgba(0, 0, 0, 0.32);
  padding: 0.5rem 0.75rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}
/**
 * M1SSION™ — TE-style hardware quick keys (socket + plunger).
 * Shared: GIOCA launcher (`PlayModalGiochaLayers`) + operator layer (`NextActionContent`).
 * Parent: .m1-hw-keydeck — scope so styles never leak globally.
 */

/* Compact row: three keys in Next Action — slightly shorter stack */

.m1-hw-keydeck.m1-hw-keydeck--operator-row .m1-hw-key {
  min-height: 5.65rem;
  gap: 0.32rem;
  padding-left: 0.1rem;
  padding-right: 0.1rem;
}

.m1-hw-keydeck.m1-hw-keydeck--operator-row .m1-hw-key__label {
  font-size: 9px;
  letter-spacing: 0.03em;
  line-height: 1.15;
}

.m1-hw-keydeck.m1-hw-keydeck--operator-row .m1-hw-key__plunger svg {
  width: 20px;
  height: 20px;
}

/* Outer hit target: transparent — TE is socket + key */

.m1-hw-keydeck .m1-hw-key {
  -webkit-tap-highlight-color: transparent;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.42rem;
  min-height: 6.5rem;
  padding: 0.15rem 0.25rem 0.35rem;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  transition: transform 0.1s ease-out;
}

.m1-hw-keydeck .m1-hw-key:focus-visible {
  outline: 2px solid rgba(125, 211, 252, 0.55);
  outline-offset: 4px;
  border-radius: 4px;
}

.m1-hw-keydeck .m1-hw-key:active {
  transform: scale(0.98);
}

@media (prefers-reduced-motion: reduce) {
  .m1-hw-keydeck .m1-hw-key,
  .m1-hw-keydeck .m1-hw-key:active {
    transition: none;
    transform: none;
  }
}

.m1-hw-keydeck .m1-hw-key__socket {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(5rem, 100%);
  aspect-ratio: 1;
  flex-shrink: 0;
  border-radius: 5px;
  background-color: #171717;
  box-shadow:
    inset 0 5px 14px rgba(0, 0, 0, 0.92),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
  overflow: hidden;
}

.m1-hw-keydeck .m1-hw-key__plunger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86%;
  height: 86%;
  min-width: 3.25rem;
  min-height: 3.25rem;
  border-radius: 10px;
  border: none;
  pointer-events: none;
  transition: box-shadow 0.1s ease-out;
}

.m1-hw-keydeck .m1-hw-key__plunger svg {
  flex-shrink: 0;
}

/* —— Tempo / Esplora — neutral cyan-tech —— */

.m1-hw-keydeck .m1-hw-key--time .m1-hw-key__plunger {
  background-color: #aeb6bf;
  color: #1a1e24;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(255, 255, 255, 0.65) 1.5px 1.5px 2px 0 inset,
    #8b95a3 -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(125, 211, 252, 0.12);
}

.m1-hw-keydeck .m1-hw-key--time:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #8b95a3 -3.2px -3.2px 8px 0 inset;
}

/* —— Agent / Buzz — violet —— */

.m1-hw-keydeck .m1-hw-key--agent .m1-hw-key__plunger {
  background-color: #6b4fd6;
  color: #f5f3ff;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(216, 200, 255, 0.55) 1.5px 1.5px 2px 0 inset,
    #3f2d8a -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(167, 139, 250, 0.22);
}

.m1-hw-keydeck .m1-hw-key--agent:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #3f2d8a -3.2px -3.2px 8px 0 inset;
}

/* —— Commit — teal —— */

.m1-hw-keydeck .m1-hw-key--commit .m1-hw-key__plunger {
  background-color: #0d8c7f;
  color: #ecfdf5;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(94, 234, 212, 0.42) 2px 2px 9px 0 inset,
    #065f56 -4px -4px 1px 0 inset,
    0 0 0 1px rgba(45, 212, 191, 0.2);
}

.m1-hw-keydeck .m1-hw-key--commit:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #065f56 -3.2px -3.2px 8px 0 inset;
}

/* —— Battle — red —— */

.m1-hw-keydeck .m1-hw-key--battle .m1-hw-key__plunger {
  background-color: #c6281f;
  color: #fff1f2;
  box-shadow:
    rgba(0, 0, 0, 0.4) 3px 3px 5px,
    rgba(254, 165, 165, 0.38) 2px 2px 10px 0 inset,
    #7f1a15 -4px -4px 1px 0 inset,
    0 0 0 1px rgba(248, 113, 113, 0.2);
}

.m1-hw-keydeck .m1-hw-key--battle:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #7f1a15 -3.2px -3.2px 8px 0 inset;
}

/* —— Pin training / free play — amber–charcoal (distinct from Battle red) —— */

.m1-hw-keydeck .m1-hw-key--pin_training .m1-hw-key__plunger {
  background: linear-gradient(165deg, #f59e0b 0%, #b45309 52%, #78350f 100%);
  color: #fffbeb;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(254, 243, 199, 0.45) 1.5px 1.5px 3px 0 inset,
    #713f12 -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(251, 191, 36, 0.28);
}

.m1-hw-keydeck .m1-hw-key--pin_training:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #713f12 -3.2px -3.2px 8px 0 inset;
}

/* —— Oracle — violet–magenta psychic —— */

.m1-hw-keydeck .m1-hw-key--oracle .m1-hw-key__plunger {
  background: linear-gradient(150deg, #c084fc 0%, #86198f 48%, #4a0d52 100%);
  color: #faf5ff;
  box-shadow:
    rgba(0, 0, 0, 0.38) 3px 3px 5px,
    rgba(245, 208, 254, 0.45) 1.5px 1.5px 3px 0 inset,
    #4c1d5c -3.2px -3.2px 8px 0 inset,
    0 0 0 1px rgba(232, 121, 249, 0.25);
}

.m1-hw-keydeck .m1-hw-key--oracle:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #4c1d5c -3.2px -3.2px 8px 0 inset;
}

/* Daily Pin Rotator CTA — neon GO (operator card only; does not affect Buzz / map / oracle keys) */

.m1-hw-keydeck .m1-hw-key--pin-daily-start .m1-hw-key__plunger {
  background: linear-gradient(165deg, #5cffc8 0%, #00e676 38%, #00a85a 100%);
  color: #022c1f;
  box-shadow:
    rgba(0, 0, 0, 0.36) 3px 3px 5px,
    rgba(200, 255, 230, 0.75) 1.5px 1.5px 3px 0 inset,
    #006644 -3.2px -3.2px 10px 0 inset,
    0 0 18px rgba(0, 255, 150, 0.45),
    0 0 0 1px rgba(52, 211, 153, 0.45);
}

.m1-hw-keydeck .m1-hw-key--pin-daily-start:active .m1-hw-key__plunger {
  box-shadow:
    rgba(0, 0, 0, 0.32) 0 0 0,
    inset 0.5px 0.5px 4px #000000,
    #006644 -3.2px -3.2px 8px 0 inset,
    0 0 12px rgba(0, 255, 150, 0.35);
}

.m1-hw-keydeck .m1-hw-key--pin-daily-start .m1-hw-key__label {
  color: rgba(2, 44, 31, 0.96);
  text-shadow:
    0 0 14px rgba(0, 255, 180, 0.55),
    0 1px 2px rgba(255, 255, 255, 0.35);
}

.m1-hw-keydeck .m1-hw-key__label {
  max-width: 100%;
  padding: 0 0.1rem;
  color: rgba(236, 239, 241, 0.92);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.85);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  -webkit-font-smoothing: antialiased;
}

/**
 * M1SSION™ — Premium operative CTA (dark shell, outline halo, inner gloss).
 * Shared: GIOCA launcher primary/secondary + video briefing footers.
 */

.m1-premium-cta {
  --m1-premium-cta-primary: #8255ff;
  --m1-premium-cta-neutral-1: #2e2e2e;
  --m1-premium-cta-neutral-2: #141414;
  --m1-premium-cta-radius: 14px;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 72px;
  padding: 18px 20px;
  margin: 0;
  border: none;
  border-radius: var(--m1-premium-cta-radius);
  cursor: pointer;
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
  background: var(--m1-premium-cta-neutral-1);
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  box-shadow:
    0 0.5px 0.5px 1px rgba(0, 0, 0, 0.22),
    0 10px 22px rgba(0, 0, 0, 0.28),
    0 4px 5px rgba(0, 0, 0, 0.06);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease;
}

.m1-premium-cta:hover {
  transform: scale(1.02);
  box-shadow:
    0 0 1px 2px rgba(255, 255, 255, 0.22),
    0 16px 32px rgba(0, 0, 0, 0.34),
    0 10px 4px -3px rgba(0, 0, 0, 0.06);
}

.m1-premium-cta:active {
  transform: scale(1);
  box-shadow:
    0 0 1px 2px rgba(255, 255, 255, 0.18),
    0 8px 4px -2px rgba(0, 0, 0, 0.22);
}

@media (prefers-reduced-motion: reduce) {
  .m1-premium-cta,
  .m1-premium-cta:hover,
  .m1-premium-cta:active {
    transition: none;
    transform: none;
  }
}

.m1-premium-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 2.5px solid transparent;
  background:
    linear-gradient(var(--m1-premium-cta-neutral-1), var(--m1-premium-cta-neutral-2)) padding-box,
    linear-gradient(to bottom, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.5)) border-box;
  z-index: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.m1-premium-cta::before {
  content: '';
  position: absolute;
  inset: 7px 6px 6px 6px;
  border-radius: 30px;
  background: linear-gradient(to top, var(--m1-premium-cta-neutral-1), var(--m1-premium-cta-neutral-2));
  filter: blur(0.5px);
  z-index: 2;
  pointer-events: none;
  opacity: 0.85;
}

.m1-premium-cta__outline {
  position: absolute;
  inset: -2px -3.5px;
  border-radius: inherit;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.m1-premium-cta:hover .m1-premium-cta__outline {
  opacity: 0.55;
}

.m1-premium-cta__outline::before {
  content: '';
  position: absolute;
  inset: -100%;
  background: conic-gradient(
    from 180deg,
    transparent 58%,
    rgba(130, 85, 255, 0.55) 76%,
    rgba(255, 255, 255, 0.12) 88%,
    transparent 100%
  );
  animation: m1-premium-cta-outline-spin 3.2s linear infinite;
  animation-play-state: paused;
}

@media (prefers-reduced-motion: no-preference) {
  .m1-premium-cta:hover .m1-premium-cta__outline::before {
    animation-play-state: running;
  }
}

@keyframes m1-premium-cta-outline-spin {
  to {
    transform: rotate(360deg);
  }
}

.m1-premium-cta__inner {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  pointer-events: none;
}

.m1-premium-cta__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.35em;
  height: 1.35em;
  opacity: 0.95;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

.m1-premium-cta__label {
  flex: 1;
  min-width: 0;
  text-align: center;
}

.m1-premium-cta:focus-visible {
  outline: 2px solid rgba(130, 85, 255, 0.65);
  outline-offset: 3px;
}

/* Optional GIOCA signal row — same grammar, lower emphasis */

.m1-premium-cta.m1-premium-cta--secondary {
  --m1-premium-cta-neutral-1: #2a2a2a;
  --m1-premium-cta-neutral-2: #101010;
  min-height: 54px;
  padding: 13px 16px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: none;
  box-shadow:
    0 0.5px 0.5px 1px rgba(0, 0, 0, 0.18),
    0 6px 16px rgba(0, 0, 0, 0.22),
    0 3px 4px rgba(0, 0, 0, 0.05);
}

.m1-premium-cta.m1-premium-cta--secondary:hover {
  transform: scale(1.012);
  box-shadow:
    0 0 1px 1.5px rgba(255, 255, 255, 0.14),
    0 10px 22px rgba(0, 0, 0, 0.28),
    0 6px 3px -2px rgba(0, 0, 0, 0.05);
}

.m1-premium-cta.m1-premium-cta--secondary::before {
  opacity: 0.55;
}

.m1-premium-cta.m1-premium-cta--secondary:hover .m1-premium-cta__outline {
  opacity: 0.38;
}

.m1-premium-cta.m1-premium-cta--secondary .m1-premium-cta__outline::before {
  background: conic-gradient(
    from 180deg,
    transparent 58%,
    rgba(130, 85, 255, 0.35) 76%,
    rgba(255, 255, 255, 0.08) 88%,
    transparent 100%
  );
}

/* Briefing footers — width unchanged; compact height, orbitron via Tailwind */

.m1-premium-cta.m1-premium-cta--briefing {
  min-height: 58px;
  padding: 14px 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.m1-premium-cta.m1-premium-cta--briefing::before {
  opacity: 0.72;
}

/**
 * GIOCA bottom sheet entry — pulls shared hardware keys + premium CTA tokens.
 */
/**
 * Home GIOCA CTA — circular loader + staggered letters (reference: loader-wrapper / loader-letter / loader).
 * Palette cyan / magenta / white — no BUZZ red. Motion respects prefers-reduced-motion via class from TSX.
 */

.m1-home-gioca-loader-wrap {
  position: relative;
  width: clamp(108px, 21vw, 136px);
  aspect-ratio: 1;
  border-radius: 50%;
  flex-shrink: 0;
  isolation: isolate;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.35),
    0 0 24px rgba(0, 255, 255, 0.22),
    0 0 40px rgba(255, 0, 255, 0.12),
    inset 0 0 48px rgba(0, 0, 0, 0.65);
}

/* Rotating luminous ring (reference `.loader`) */
.m1-home-gioca-loader {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;
  background: conic-gradient(
    from 0deg,
    rgba(0, 255, 255, 0.06),
    rgba(0, 255, 255, 0.95),
    rgba(255, 255, 255, 0.88),
    rgba(255, 0, 255, 0.92),
    rgba(0, 255, 255, 0.55),
    rgba(0, 255, 255, 0.06)
  );
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3.5px), #000 calc(100% - 3px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 3.5px), #000 calc(100% - 3px));
  animation: m1HomeGiocaLoaderSpin 2.2s linear infinite;
}

.m1-home-gioca-loader-wrap.m1-home-gioca-loader-wrap--static .m1-home-gioca-loader {
  animation: none;
  opacity: 0.85;
}

/* Inner face — depth behind letters */
.m1-home-gioca-loader-face {
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.12) 0%, transparent 42%),
    radial-gradient(circle at center, #1c1c22 0%, #0a0a0f 100%);
  box-shadow:
    inset 0 0 28px rgba(0, 0, 0, 0.88),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Letter row (reference `.loader-letter`) */
.m1-home-gioca-loader-letters {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.04em;
  padding: 0 0.2em;
  box-sizing: border-box;
}

.m1-home-gioca-loader-letter {
  font-family: Orbitron, sans-serif;
  font-weight: 800;
  font-size: clamp(9px, 2.35vw, 11.5px);
  letter-spacing: 0.02em;
  color: #f5f8fa;
  text-shadow:
    0 0 8px rgba(0, 255, 255, 0.55),
    0 0 16px rgba(255, 0, 255, 0.25),
    0 1px 2px rgba(0, 0, 0, 0.95);
  animation: m1HomeGiocaLetterWave 1.35s ease-in-out infinite;
}

.m1-home-gioca-loader-wrap.m1-home-gioca-loader-wrap--static .m1-home-gioca-loader-letter {
  animation: none;
  opacity: 0.92;
}

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

@keyframes m1HomeGiocaLetterWave {
  0%,
  100% {
    opacity: 0.38;
    transform: translateY(0);
  }
  35% {
    opacity: 1;
    transform: translateY(-2px);
  }
  55% {
    opacity: 0.85;
    transform: translateY(0);
  }
}
/**
 * Home Prize row — labels under Streak / Shop / Cashback pills only.
 * Font: Kinder School Demo Sketch (Desktop → public/fonts/kinder_school_sketch.ttf)
 */

@font-face {
  font-family: 'Kinder School Demo Sketch';
  src: url('/fonts/kinder_school_sketch.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/*
 * Same file, letters-only: KinderSchoolDemoSketch.ttf maps digits/punctuation to junk/watermark glyphs.
 * Restrict to Latin letters (+ Latin-1 / Extended-A for IT/FR copy); 0–9 and . , : ; etc. use the stack fallback.
 */
@font-face {
  font-family: 'M1KinderBuzzDescLetters';
  src: url('/fonts/kinder_school_sketch.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0041-005A, U+0061-007A, U+00C0-00FF, U+0100-017F;
}

.m1-home-pill-sketch-label {
  font-family: 'Kinder School Demo Sketch', ui-sans-serif, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/*
 * BUZZ folder first paragraph: same Kinder letter shapes (M1KinderBuzzDescLetters) + system digits/punct.
 * Sketch face reads “empty” on dark UI — thin white stroke + stacked duplicate increases perceived fill
 * without glow/blur (no text-shadow / filter).
 */
.m1-font-kinder-sketch-only {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, max-content);
  margin: 0;
  font-family: 'M1KinderBuzzDescLetters', ui-sans-serif, system-ui, sans-serif;
  color: #ffffff;
  text-align: inherit;
}

.m1-font-kinder-sketch-only__bulk,
.m1-font-kinder-sketch-only__face {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
  font: inherit;
  text-align: inherit;
  color: #ffffff;
}

.m1-font-kinder-sketch-only__bulk {
  z-index: 0;
  pointer-events: none;
  -webkit-text-stroke: clamp(0.45px, 0.028em, 1px) #ffffff;
  paint-order: stroke fill;
}

.m1-font-kinder-sketch-only__face {
  position: relative;
  z-index: 1;
  -webkit-text-stroke: 0;
  paint-order: normal;
}
/* © 2026 Joseph MULÉ – M1SSION™ — C2 Home UI language (additive; compositor-light; rollback = remove import + classes) */
/**
 * Dominant read: dark cinematic / luxury underground — one radius scale, one edge language,
 * toned glows (no competing cyan halos). Scoped under `.m1-home-ui-language` so other routes stay untouched.
 */

.m1-home-ui-language {
  --m1-home-radius: 22px;
  --m1-home-radius-hero: 26px;
  --m1-home-edge: rgba(255, 255, 255, 0.078);
  --m1-home-edge-cyan: rgba(0, 209, 255, 0.13);
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-premium-surface {
  border-radius: var(--m1-home-radius-hero);
  border: 1px solid var(--m1-home-edge-cyan);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.055),
    0 12px 36px rgba(0, 0, 0, 0.38),
    0 0 20px rgba(0, 209, 255, 0.042);
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-secondary-muted {
  border-radius: var(--m1-home-radius);
  border: 1px solid var(--m1-home-edge);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.045),
    0 8px 28px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px) saturate(125%);
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-secondary-deck {
  margin-top: 0.25rem;
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-pill-strip {
  padding-top: 1.35rem;
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-skeleton-slot {
  border-radius: var(--m1-home-radius);
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-oracle-row {
  opacity: 0.92;
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-main-deck {
  margin-top: 0.5rem;
}

.m1-home-ui-language[data-m1-ui-language='premium'] .m1-home-pill-strip .m1-home-pill-sketch-label {
  letter-spacing: 0.03em;
  opacity: 0.93;
}
@font-face {
  font-family: "NewEra";
  src: url("/assets/NewEraCasual.CZrZoQbx.ttf") format("truetype");
  font-display: swap;
}

/* Page-scope: New Era Casual (font-family only; no layout/color/shadow) */
.m1-font-new-era-casual,
.m1-font-new-era-casual :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  span,
  button,
  a,
  label,
  input,
  textarea,
  li,
  div
) {
  font-family: "NewEra", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

.m1-font-new-era-casual .font-orbitron {
  font-family: "NewEra", system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

.m1-new-era {
  font-family: "NewEra", system-ui, -apple-system !important;
}

.m1-new-era-text {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

/* ELIMINA TUTTI I BUG VISIVI */
.m1-new-era * {
  text-shadow: none !important;
  filter: none !important;
}

/* DISTRUGGE KINDER (causa principale del fango) */
.m1-new-era [class*="bulk"],
.m1-new-era [class*="face"],
.m1-new-era [class*="stroke"] {
  display: none !important;
}
/**
 * Loader-reference structure: flex wrapper, absolute rotating .loader, letters z-index above.
 * Nucleus: dark glossy core (no digit).
 */

.eight-ball-orb-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(240px, 70vw);
  height: min(240px, 70vw);
  border-radius: 50%;
  background-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  flex-shrink: 0;
}

/* Home launcher — same visual system, smaller; letters omitted in TSX */
.eight-ball-orb-wrap--compact {
  width: 52px;
  height: 52px;
}

.eight-ball-orb-wrap--compact .eight-ball-orb-core {
  width: 50%;
  height: 50%;
}

.eight-ball-orb-wrap--compact .eight-ball-orb-loader {
  filter: saturate(1.05);
}

/* Home: circular tap target wrapping the orb */
.eight-ball-home-launch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
  filter: drop-shadow(0 0 10px rgba(28, 194, 255, 0.35))
    drop-shadow(0 0 18px rgba(109, 40, 217, 0.2));
}

.eight-ball-home-launch:hover {
  filter: drop-shadow(0 0 14px rgba(28, 194, 255, 0.45))
    drop-shadow(0 0 22px rgba(109, 40, 217, 0.28));
}

.eight-ball-home-launch:focus-visible {
  outline: 2px solid rgba(28, 194, 255, 0.55);
  outline-offset: 3px;
}

.eight-ball-orb-wrap[data-state='idle'] {
  animation: eight-ball-orb-breathe 4s ease-in-out infinite;
}

.eight-ball-orb-wrap[data-state='listening'] {
  animation: eight-ball-orb-breathe 2s ease-in-out infinite;
}

/* Thinking — mystical shell pulse (replaces generic breathe) */
.eight-ball-orb-wrap[data-state='thinking'] {
  animation: eight-ball-orb-think-shell 3.2s ease-in-out infinite;
}

.eight-ball-orb-wrap[data-state='answer'] {
  animation: eight-ball-orb-breathe 3.2s ease-in-out infinite;
}

@keyframes eight-ball-orb-breathe {
  0%,
  100% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.02);
    filter: brightness(1.06);
  }
}

/* Reference .loader — rotating inset energy ring */
.eight-ball-orb-loader {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: transparent;
  z-index: 0;
  animation: eight-ball-loader-rotate 2s linear infinite;
}

.eight-ball-orb-wrap[data-state='idle'] .eight-ball-orb-loader {
  animation-duration: 2.6s;
  opacity: 0.88;
}

.eight-ball-orb-wrap[data-state='listening'] .eight-ball-orb-loader {
  animation-duration: 1.45s;
  opacity: 1;
}

.eight-ball-orb-wrap[data-state='thinking'] .eight-ball-orb-loader {
  animation: eight-ball-loader-rotate 0.92s linear infinite, eight-ball-loader-think-pulse 1.85s ease-in-out infinite;
  opacity: 1;
}

.eight-ball-orb-wrap[data-state='thinking'] .eight-ball-orb-core {
  animation: eight-ball-orb-think-core 2.65s ease-in-out infinite;
}

@keyframes eight-ball-loader-think-pulse {
  0%,
  100% {
    filter: saturate(1.06) brightness(1);
  }
  50% {
    filter: saturate(1.18) brightness(1.07);
  }
}

@keyframes eight-ball-orb-think-shell {
  0%,
  100% {
    transform: scale(1);
    filter: brightness(1.02) drop-shadow(0 0 14px rgba(109, 40, 217, 0.24));
  }
  36% {
    transform: scale(1.017);
    filter: brightness(1.08) drop-shadow(0 0 22px rgba(28, 194, 255, 0.26));
  }
  72% {
    transform: scale(1.009);
    filter: brightness(1.04) drop-shadow(0 0 18px rgba(139, 0, 255, 0.22));
  }
}

@keyframes eight-ball-orb-think-core {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(167, 139, 250, 0.22),
      0 0 22px rgba(28, 194, 255, 0.12),
      inset 0 2px 12px rgba(255, 255, 255, 0.08),
      inset 0 -18px 34px rgba(71, 30, 236, 0.3);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(34, 211, 238, 0.32),
      0 0 34px rgba(167, 139, 250, 0.28),
      inset 0 2px 16px rgba(255, 255, 255, 0.12),
      inset 0 -20px 42px rgba(109, 40, 217, 0.38);
  }
}

.eight-ball-orb-wrap[data-state='answer'] .eight-ball-orb-loader {
  animation-duration: 2.2s;
  opacity: 0.82;
}

@keyframes eight-ball-loader-rotate {
  0% {
    transform: rotate(90deg);
    box-shadow:
      0 10px 20px 0 #fff inset,
      0 20px 30px 0 #ad5fff inset,
      0 60px 60px 0 #471eec inset;
  }
  50% {
    transform: rotate(270deg);
    box-shadow:
      0 10px 20px 0 #fff inset,
      0 20px 10px 0 #d60a47 inset,
      0 40px 60px 0 #311e80 inset;
  }
  100% {
    transform: rotate(450deg);
    box-shadow:
      0 10px 20px 0 #fff inset,
      0 20px 30px 0 #ad5fff inset,
      0 60px 60px 0 #471eec inset;
  }
}

/* Mysterious glossy nucleus */
.eight-ball-orb-core {
  position: absolute;
  z-index: 1;
  width: 52%;
  height: 52%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(
    circle at 30% 25%,
    rgba(72, 82, 120, 0.55) 0%,
    rgba(10, 12, 22, 0.98) 42%,
    rgba(0, 0, 0, 1) 100%
  );
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.07),
    0 8px 32px rgba(0, 0, 0, 0.55),
    inset 0 2px 14px rgba(255, 255, 255, 0.1),
    inset 0 -20px 40px rgba(71, 30, 236, 0.22);
  pointer-events: none;
}

.eight-ball-orb-wrap[data-state='answer'] .eight-ball-orb-core {
  box-shadow:
    0 0 0 1px rgba(167, 139, 250, 0.35),
    0 0 36px rgba(28, 194, 255, 0.25),
    inset 0 2px 14px rgba(255, 255, 255, 0.14),
    inset 0 -20px 40px rgba(71, 30, 236, 0.35);
}

/* Reference letter row — centered over orb */
.eight-ball-orb-letters {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.02em;
  max-width: 88%;
  font-family: ui-sans-serif, system-ui, 'Inter', sans-serif;
  font-size: clamp(0.95rem, 4.2vw, 1.2em);
  font-weight: 300;
  color: #fff;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  pointer-events: none;
}

.eight-ball-orb-letter {
  display: inline-block;
  opacity: 0.4;
  transform: translateY(0);
  animation: eight-ball-letter-anim 2s ease-in-out infinite;
  border-radius: 50%;
  border: none;
}

.eight-ball-orb-letter:nth-child(1) {
  animation-delay: 0s;
}
.eight-ball-orb-letter:nth-child(2) {
  animation-delay: 0.1s;
}
.eight-ball-orb-letter:nth-child(3) {
  animation-delay: 0.2s;
}
.eight-ball-orb-letter:nth-child(4) {
  animation-delay: 0.3s;
}
.eight-ball-orb-letter:nth-child(5) {
  animation-delay: 0.4s;
}
.eight-ball-orb-letter:nth-child(6) {
  animation-delay: 0.5s;
}

@keyframes eight-ball-letter-anim {
  0%,
  100% {
    opacity: 0.4;
    transform: translateY(0) scale(1);
  }
  20% {
    opacity: 1;
    transform: translateY(-2px) scale(1.15);
  }
  40% {
    opacity: 0.7;
    transform: translateY(0) scale(1);
  }
}

/* Modal: full-sphere tap target (same behavior as Parla / Stop) */
.eight-ball-orb-hit {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: 50%;
  line-height: 0;
  -webkit-tap-highlight-color: transparent;
}

.eight-ball-orb-hit:disabled {
  cursor: not-allowed;
  opacity: 0.88;
}

.eight-ball-orb-hit:focus-visible {
  outline: 2px solid rgba(28, 194, 255, 0.55);
  outline-offset: 4px;
}

/* SI / NO nucleus — motion handles opacity / scale / blur */
.eight-ball-orb-answer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: ui-sans-serif, system-ui, 'Inter', sans-serif;
  font-size: clamp(1.65rem, 8vw, 2.65rem);
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1;
  text-transform: uppercase;
  pointer-events: none;
  will-change: transform, opacity, filter;
}

.eight-ball-orb-answer--yes {
  color: #7cfccd;
  text-shadow:
    0 0 26px rgba(45, 212, 191, 0.55),
    0 0 52px rgba(34, 211, 238, 0.22),
    0 1px 0 rgba(0, 0, 0, 0.38);
  filter: drop-shadow(0 0 8px rgba(52, 211, 153, 0.42));
}

.eight-ball-orb-answer--no {
  color: #fbcfe8;
  text-shadow:
    0 0 24px rgba(244, 114, 182, 0.52),
    0 0 48px rgba(217, 70, 239, 0.2),
    0 1px 0 rgba(0, 0, 0, 0.38);
  filter: drop-shadow(0 0 8px rgba(244, 63, 94, 0.38));
}

/* Reflection phase — chromatic glitch inside sphere (modal thinking only) */
.eight-ball-orb-glitch-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 92%;
  pointer-events: none;
}

.eight-ball-orb-glitch {
  position: relative;
  font-family: ui-sans-serif, system-ui, 'Inter', sans-serif;
  font-size: clamp(0.68rem, 3.6vw, 1rem);
  font-weight: 700;
  line-height: 1.15;
  color: rgba(255, 255, 255, 0.96);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  z-index: 1;
  animation:
    eight-ball-glitch-shift 1.18s cubic-bezier(0.42, 0.12, 0.58, 0.88) infinite alternate,
    eight-ball-glitch-opacity 2.55s ease-in-out infinite;
  will-change: transform, opacity;
}

.eight-ball-orb-glitch::before,
.eight-ball-orb-glitch::after {
  display: block;
  content: attr(data-glitch);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.8;
}

.eight-ball-orb-glitch::before {
  animation: eight-ball-glitch-jitter 0.34s cubic-bezier(0.28, 0.5, 0.48, 0.92) both infinite;
  color: #a78bfa;
  z-index: -1;
}

.eight-ball-orb-glitch::after {
  animation: eight-ball-glitch-jitter 0.48s cubic-bezier(0.32, 0.45, 0.52, 0.9) reverse both infinite;
  color: #2dd4bf;
  z-index: -2;
}

@keyframes eight-ball-glitch-opacity {
  0%,
  100% {
    opacity: 0.9;
  }
  50% {
    opacity: 1;
  }
}

@keyframes eight-ball-glitch-jitter {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(-2px, -2px);
  }
  60% {
    transform: translate(2px, 2px);
  }
  80% {
    transform: translate(2px, -2px);
  }
  100% {
    transform: translate(0);
  }
}

@keyframes eight-ball-glitch-shift {
  0%,
  40%,
  44%,
  58%,
  61%,
  65%,
  69%,
  73%,
  100% {
    transform: skewX(0deg);
  }
  41% {
    transform: skewX(8deg);
  }
  42% {
    transform: skewX(-8deg);
  }
  59% {
    transform: skewX(28deg) skewY(8deg);
  }
  60% {
    transform: skewX(-28deg) skewY(-8deg);
  }
  63% {
    transform: skewX(8deg) skewY(-4deg);
  }
  70% {
    transform: skewX(-36deg) skewY(-14deg);
  }
  71% {
    transform: skewX(8deg) skewY(-8deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .eight-ball-orb-wrap[data-state='thinking'] {
    animation: eight-ball-orb-breathe 2.8s ease-in-out infinite;
    filter: none;
  }

  .eight-ball-orb-wrap[data-state='thinking'] .eight-ball-orb-core {
    animation: none;
  }

  .eight-ball-orb-wrap[data-state='thinking'] .eight-ball-orb-loader {
    animation: eight-ball-loader-rotate 2.2s linear infinite;
    filter: none;
  }

  .eight-ball-orb-wrap[data-state='thinking'] .eight-ball-orb-glitch {
    animation: eight-ball-glitch-opacity 2.8s ease-in-out infinite;
  }

  .eight-ball-orb-wrap[data-state='thinking'] .eight-ball-orb-glitch::before,
  .eight-ball-orb-wrap[data-state='thinking'] .eight-ball-orb-glitch::after {
    animation: none;
    opacity: 0.55;
    transform: translate(0);
  }
}
/* True full-page shell — single layer, safe areas, no narrow card column */

.eight-ball-shell {
  position: fixed;
  inset: 0;
  z-index: 10060;
  width: 100%;
  min-width: 100vw;
  min-height: 100vh;
  min-height: 100dvh;
  max-height: 100dvh;
  overflow: hidden auto;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding-top: max(12px, env(safe-area-inset-top, 0px));
  padding-right: max(20px, env(safe-area-inset-right, 0px));
  padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
  padding-left: max(20px, env(safe-area-inset-left, 0px));
  background:
    radial-gradient(ellipse 90% 55% at 50% 18%, rgba(28, 194, 255, 0.14) 0%, transparent 52%),
    radial-gradient(ellipse 70% 45% at 80% 80%, rgba(109, 40, 217, 0.12) 0%, transparent 50%),
    linear-gradient(168deg, #060912 0%, #03050a 48%, #080c18 100%);
  border: none;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.eight-ball-shell-inner {
  width: 100%;
  max-width: 36rem;
  margin: 0 auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  position: relative;
}

/* Close control: shared m1-close-jelly (EightBallModal.tsx) */

.eight-ball-head {
  padding-right: 52px;
  margin-bottom: 0.75rem;
}

.eight-ball-dual-status {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.eight-ball-dual-status-row {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

@media (min-width: 400px) {
  .eight-ball-dual-status-row {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
  }
}

.eight-ball-dual-status-label {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.38);
  flex-shrink: 0;
}

.eight-ball-dual-status-value {
  font-size: 0.78rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.82);
  text-align: left;
}

@media (min-width: 400px) {
  .eight-ball-dual-status-value {
    text-align: right;
    max-width: 70%;
  }
}

.eight-ball-modal-title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.35rem, 5vw, 1.65rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  text-shadow:
    0 0 28px rgba(28, 194, 255, 0.4),
    0 0 48px rgba(109, 40, 217, 0.2);
}

.eight-ball-modal-sub {
  margin: 0;
  font-size: clamp(0.8rem, 2.8vw, 0.9rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.58);
  max-width: 34em;
}

.eight-ball-modal-yesno-hint {
  margin: 0.45rem 0 0;
  font-size: clamp(0.68rem, 2.2vw, 0.76rem);
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.4);
  max-width: 36em;
}

.eight-ball-orb-zone {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(42vh, 280px);
  padding: 1rem 0 1.25rem;
}

.eight-ball-info {
  margin: 0 0 0.65rem;
  padding: 0.65rem 0.85rem;
  border-radius: 12px;
  font-size: 0.78rem;
  line-height: 1.45;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.72);
}

.eight-ball-info--warn {
  background: rgba(251, 191, 36, 0.08);
  border-color: rgba(251, 191, 36, 0.22);
  color: rgba(254, 240, 200, 0.92);
}

.eight-ball-info--ok {
  border-color: rgba(52, 211, 153, 0.25);
  color: rgba(167, 243, 208, 0.9);
}

.eight-ball-info--soft {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.55);
}

.eight-ball-modal-status {
  margin: 0 0 0.85rem;
  text-align: center;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(28, 194, 255, 0.88);
}

.eight-ball-columns {
  display: grid;
  gap: 1rem;
  margin-bottom: max(1.25rem, env(safe-area-inset-bottom, 0px));
}

.eight-ball-columns--single {
  grid-template-columns: 1fr;
}

@media (min-width: 480px) {
  .eight-ball-columns:not(.eight-ball-columns--single) {
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
}

.eight-ball-modal-block {
  margin: 0;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.eight-ball-modal-label {
  display: block;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 0.35rem;
}

.eight-ball-modal-text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.92);
  word-break: break-word;
}

.eight-ball-modal-text--muted {
  color: rgba(255, 255, 255, 0.32);
}

.eight-ball-modal-oracle-hint {
  font-size: 0.78rem;
  line-height: 1.42;
  color: rgba(255, 255, 255, 0.38);
}

.eight-ball-modal-answer {
  margin: 0;
  font-size: clamp(2rem, 12vw, 3rem);
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.05;
}

.eight-ball-modal-answer--yes {
  color: #4ade80;
  text-shadow: 0 0 32px rgba(74, 222, 128, 0.5);
}

.eight-ball-modal-answer--no {
  color: #fb7185;
  text-shadow: 0 0 32px rgba(251, 113, 133, 0.45);
}

.eight-ball-modal-actions {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin-top: auto;
  padding-top: 1rem;
}

.eight-ball-mic-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  padding: 1rem 1.1rem;
  border: none;
  border-radius: 16px;
  cursor: pointer;
  font-weight: 800;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #05070b;
  background: linear-gradient(135deg, #e8f8ff 0%, #c4b5fd 48%, #a5f3fc 100%);
  box-shadow:
    0 0 28px rgba(28, 194, 255, 0.38),
    0 0 48px rgba(109, 40, 217, 0.18);
}

.eight-ball-mic-btn:disabled {
  opacity: 0.5;
  cursor: wait;
  box-shadow: none;
}

/* Fallback control — primary interaction is the orb */
.eight-ball-mic-btn--secondary {
  padding: 0.72rem 1rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.eight-ball-mic-btn--secondary:not(:disabled):hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
}

.eight-ball-mic-btn--secondary:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.eight-ball-reset-btn {
  width: 100%;
  padding: 0.65rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.eight-ball-reset-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}
/* HELP dossier — Home only; scoped (no global layout changes). */

.m1-home-oracle-help-row {
  pointer-events: none;
}

.m1-help-dossier-button {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(0, 229, 255, 0.42);
  background: rgba(3, 12, 22, 0.82);
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.14em;
  font-size: 0.68rem;
  box-shadow: 0 0 22px rgba(0, 229, 255, 0.2);
  cursor: pointer;
  animation: m1-help-pulse 1.9s ease-in-out infinite;
}

.m1-help-dossier-button:active {
  opacity: 0.92;
}

.m1-help-dossier-button-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 0, 200, 0.85);
  box-shadow: 0 0 10px rgba(255, 0, 200, 0.6);
  flex-shrink: 0;
}

@keyframes m1-help-pulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 18px rgba(0, 229, 255, 0.18);
  }
  50% {
    transform: scale(1.04);
    box-shadow: 0 0 32px rgba(255, 0, 200, 0.34);
  }
}

@media (prefers-reduced-motion: reduce) {
  .m1-help-dossier-button {
    animation: none;
  }
}

.m1-help-dossier-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(env(safe-area-inset-top, 0px) + 18px) 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
  background:
    radial-gradient(circle at 50% 20%, rgba(0, 229, 255, 0.14), transparent 36%),
    rgba(0, 0, 0, 0.88);
  pointer-events: auto;
}

.m1-help-dossier-card {
  position: relative;
  width: min(94vw, 540px);
  height: min(91vh, 790px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 28px;
  border: 1px solid rgba(0, 229, 255, 0.42);
  background: linear-gradient(180deg, rgba(5, 15, 25, 0.98), rgba(2, 5, 12, 0.99));
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.06) inset,
    0 28px 90px rgba(0, 0, 0, 0.75),
    0 0 42px rgba(0, 220, 255, 0.18);
  padding: 28px 22px 24px;
  color: #fff;
}

.m1-help-dossier-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.m1-help-dossier-header {
  padding-right: 58px;
}

.m1-help-dossier-kicker {
  color: rgba(0, 229, 255, 0.96);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
}

.m1-help-dossier-title {
  margin: 12px 0 10px;
  font-size: clamp(1.5rem, 6.5vw, 2.75rem);
  line-height: 1.05;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.02em;
}

.m1-help-dossier-subtitle {
  color: rgba(230, 244, 250, 0.76);
  line-height: 1.4;
  margin-bottom: 18px;
  font-size: 0.95rem;
}

.m1-help-dossier-stamp {
  display: block;
  width: min(38vw, 150px);
  margin: 18px auto 20px;
  opacity: 0.92;
  transform: rotate(-4deg);
  filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.5));
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.m1-help-dossier-section {
  border-top: 1px solid rgba(0, 229, 255, 0.18);
  padding: 18px 0;
}

.m1-help-dossier-section h3 {
  margin: 0 0 10px;
  color: rgba(0, 229, 255, 0.96);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 800;
}

.m1-help-dossier-section p {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.42;
  font-size: 0.92rem;
}

.m1-help-dossier-section ul {
  margin: 0;
  padding-left: 20px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.88rem;
}

.m1-help-dossier-section li {
  margin: 6px 0;
}

.m1-help-dossier-cta {
  width: 100%;
  min-height: 58px;
  margin-top: 18px;
  border-radius: 999px;
  border: 1px solid rgba(0, 229, 255, 0.7);
  background: linear-gradient(90deg, rgba(79, 70, 229, 0.96), rgba(6, 182, 212, 0.96));
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
}

.m1-help-dossier-cta:active {
  opacity: 0.92;
}
/**
 * M1SSION™ Whisper UI — Soda Shake (TTF name ID 1), plain white text, motion wrapper.
 * © 2026 Joseph MULÉ – M1SSION™
 */

@font-face {
  font-family: 'Soda Shake';
  src: url('/fonts/soda_shake.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  /* Prefer correct face over a flash of ui-sans-serif while the file decodes (esp. iOS WebView). */
  font-display: block;
}

.m1-whisper-root {
  position: fixed;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 100080;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 16px;
  text-align: center;
  max-width: 100vw;
  box-sizing: border-box;
}

.m1-whisper-root--above_cta {
  bottom: calc(88px + env(safe-area-inset-bottom, 0px) + 72px);
  align-items: flex-end;
}

.m1-whisper-root--center {
  top: 0;
  bottom: 0;
  margin: auto;
  height: -moz-min-content;
  height: min-content;
}

.m1-whisper-root--center_low {
  bottom: calc(28vh + env(safe-area-inset-bottom, 0px));
  align-items: flex-end;
}

.m1-whisper-root--near_buzz {
  bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  right: calc(12px + env(safe-area-inset-right, 0px));
  left: auto;
  justify-content: flex-end;
  max-width: 56vw;
}

.m1-whisper-root--above_list {
  top: calc(96px + env(safe-area-inset-top, 0px));
  align-items: flex-start;
}

.m1-whisper-root--near_home_prize {
  top: calc(108px + env(safe-area-inset-top, 0px));
  bottom: auto;
  left: 0;
  right: 0;
  justify-content: center;
  align-items: flex-start;
  height: -moz-min-content;
  height: min-content;
}

/*
 * Uniform bubble paint: same params on every glyph. `?` reads “right” because its counters
 * are small vs stroke; wide-counter letters need a thicker rim pass, then a second black-only
 * layer on top (no shadow / glow / blur).
 */
.m1-whisper-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, max-content);
  width: 100%;
  max-width: min(100vw - 32px, 700px);
  margin: 0 auto;
  transform-origin: center center;
  backface-visibility: hidden;
  font-family: 'Soda Shake', ui-sans-serif, system-ui, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: clamp(30px, 7.25vw, 44px);
  line-height: 1.12;
  letter-spacing: 0.02em;
  white-space: pre-wrap;
  word-break: break-word;
  text-align: center;
  text-shadow: none;
  filter: none;
  -webkit-font-smoothing: antialiased;
}

.m1-whisper-stack__rim,
.m1-whisper-stack__fill {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
  font: inherit;
  text-align: inherit;
  white-space: inherit;
  word-break: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

/* Back: thick white stroke + black fill — same treatment for every character. */
.m1-whisper-stack__rim {
  z-index: 0;
  color: #000000;
  -webkit-text-stroke: clamp(2.35px, 0.14em, 4.75px) #ffffff;
  paint-order: stroke fill;
  pointer-events: none;
}

/* Front: opaque black only — covers uneven inner rendering so all glyphs match the ? pass. */
.m1-whisper-stack__fill {
  position: relative;
  z-index: 1;
  color: #000000;
  -webkit-text-stroke: 0;
  paint-order: normal;
}

/* —— Motion (unchanged) —— */
.cssanimation.ca__fx-spring {
  animation: m1WhisperSpringIn 0.56s cubic-bezier(0.33, 1.24, 0.36, 1) both;
}

.cssanimation.ca__fx-bounceOutRight {
  animation: m1WhisperBounceOutRight 0.68s cubic-bezier(0.22, 0.82, 0.28, 1.02) forwards;
}

@keyframes m1WhisperSpringIn {
  0% {
    opacity: 0;
    transform: scale(0.84) translateY(10px);
  }
  58% {
    opacity: 1;
    transform: scale(1.07) translateY(-3px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes m1WhisperBounceOutRight {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
  12% {
    opacity: 1;
    transform: translate3d(-18px, 6px, 0) scale(1.1) rotate(-3deg);
  }
  30% {
    opacity: 1;
    transform: translate3d(14px, -10px, 0) scale(0.93) rotate(2.5deg);
  }
  55% {
    opacity: 0.95;
    transform: translate3d(72px, -2px, 0) scale(0.88) rotate(4deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(168px, 12px, 0) scale(0.64) rotate(7deg);
  }
}

.cssanimation.m1-whisper-stack--reduce-in {
  animation: m1WhisperReduceIn 0.14s ease-out both;
}

.cssanimation.m1-whisper-stack--reduce-out {
  animation: m1WhisperReduceOut 0.22s ease-in forwards;
}

@keyframes m1WhisperReduceIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes m1WhisperReduceOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cssanimation.ca__fx-spring {
    animation: m1WhisperReduceIn 0.14s ease-out both;
  }

  .cssanimation.ca__fx-bounceOutRight {
    animation: m1WhisperReduceOut 0.22s ease-in forwards;
  }
}
/**
 * M1SSION™ Home — M1SSION PRIZE “turbo v3” presentation motion (transform-only).
 * © 2026 Joseph MULÉ – M1SSION™
 */

.m1-home-mission-prize-turbo-v3 {
  display: block;
  width: 100%;
  transform: translate3d(0, 0, 0);
  transform-origin: 50% 40%;
  backface-visibility: hidden;
  /**
   * Full off-screen exit to the RIGHT: viewport width + own width + buffer.
   * (18vw was far too small for a ~100%-wide card — most of it stayed visible.)
   */
  --m1-turbo-off-x: calc(100vw + 100% + 32px);
}

.m1-home-mission-prize-turbo-v3.m1-home-turbo-hold-offstage {
  transform: translate3d(var(--m1-turbo-off-x), 0, 0) skewX(-12deg);
  pointer-events: none;
}

.cssanimation.ca__fx-madMax {
  animation-name: m1HomeTurboMadMax;
  animation-duration: var(--m1-turbo-madmax-ms, 1050ms);
  animation-timing-function: cubic-bezier(0.45, 0, 0.2, 1);
  animation-fill-mode: both;
}

.cssanimation.ca__fx-skewOutRight {
  animation-name: m1HomeTurboSkewOutRight;
  animation-duration: var(--m1-turbo-skew-out-ms, 700ms);
  animation-timing-function: cubic-bezier(0.55, 0.05, 0.74, 0.35);
  animation-fill-mode: forwards;
}

.cssanimation.ca__fx-skewInLeft {
  animation-name: m1HomeTurboSkewInLeft;
  animation-duration: var(--m1-turbo-skew-in-ms, 700ms);
  animation-timing-function: cubic-bezier(0.22, 0.85, 0.32, 1);
  animation-fill-mode: both;
}

@keyframes m1HomeTurboMadMax {
  0%,
  100% {
    transform: translate3d(0, 0, 0) skewX(0deg) scale(1);
  }
  12% {
    transform: translate3d(-3px, 0, 0) skewX(-3deg) scale(1.012);
  }
  24% {
    transform: translate3d(3px, 0, 0) skewX(3deg) scale(0.992);
  }
  36% {
    transform: translate3d(-2px, 0, 0) skewX(-2.5deg) scale(1.008);
  }
  48% {
    transform: translate3d(2px, 0, 0) skewX(2.5deg) scale(0.996);
  }
  60% {
    transform: translate3d(-2px, 0, 0) skewX(-2deg) scale(1.006);
  }
  72% {
    transform: translate3d(2px, 0, 0) skewX(2deg) scale(0.998);
  }
  84% {
    transform: translate3d(-1px, 0, 0) skewX(-1deg) scale(1.002);
  }
}

@keyframes m1HomeTurboSkewOutRight {
  from {
    transform: translate3d(0, 0, 0) skewX(0deg);
  }
  to {
    transform: translate3d(var(--m1-turbo-off-x), 0, 0) skewX(-12deg);
  }
}

@keyframes m1HomeTurboSkewInLeft {
  from {
    transform: translate3d(var(--m1-turbo-off-x), 0, 0) skewX(-12deg);
  }
  to {
    transform: translate3d(0, 0, 0) skewX(0deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cssanimation.ca__fx-madMax {
    animation-name: m1HomeTurboMadMaxReduce;
    animation-duration: var(--m1-turbo-madmax-ms, 240ms);
  }

  .cssanimation.ca__fx-skewOutRight {
    animation-name: m1HomeTurboSkewOutReduce;
    animation-duration: var(--m1-turbo-skew-out-ms, 200ms);
  }

  .cssanimation.ca__fx-skewInLeft {
    animation-name: m1HomeTurboSkewInReduce;
    animation-duration: var(--m1-turbo-skew-in-ms, 200ms);
  }

  .m1-home-mission-prize-turbo-v3.m1-home-turbo-hold-offstage {
    transform: translate3d(var(--m1-turbo-off-x), 0, 0) skewX(-4deg);
  }

  @keyframes m1HomeTurboMadMaxReduce {
    from {
      transform: translate3d(0, 0, 0);
    }
    to {
      transform: translate3d(0, 0, 0);
    }
  }

  @keyframes m1HomeTurboSkewOutReduce {
    from {
      transform: translate3d(0, 0, 0);
    }
    to {
      transform: translate3d(var(--m1-turbo-off-x), 0, 0) skewX(-4deg);
    }
  }

  @keyframes m1HomeTurboSkewInReduce {
    from {
      transform: translate3d(var(--m1-turbo-off-x), 0, 0) skewX(-4deg);
    }
    to {
      transform: translate3d(0, 0, 0);
    }
  }
}
/**
 * M1SSION™ — Home onboarding V2
 * Card shell from RewardZonePopup.
 * Testo: replica locale di `.m1-whisper-stack` / `__rim` / `__fill` (whisperStyles.css) come WhisperOverlay.tsx.
 * Enter/exit solo su `.m1-home-ob-v2-rz-card` — nessuna animazione sui layer testo.
 */

@font-face {
  font-family: 'Soda Shake';
  src: url('/fonts/soda_shake.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

.m1-home-ob-v2-root {
  --ob-rz-ease-enter: cubic-bezier(0.16, 1, 0.32, 1);
  --ob-rz-ease-exit: cubic-bezier(0.33, 0.06, 0.24, 1);

  position: fixed;
  inset: 0;
  z-index: 10020;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: max(10px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px))
    max(10px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  pointer-events: auto;
  -webkit-font-smoothing: antialiased;
}

.m1-home-ob-v2-root__backdrop {
  position: absolute;
  inset: 0;
  opacity: 1;
  transition: opacity 0.42s var(--ob-rz-ease-exit);
  background:
    radial-gradient(ellipse 100% 90% at 0% 50%, rgba(255, 0, 255, 0.09) 0%, transparent 42%),
    radial-gradient(ellipse 100% 90% at 100% 50%, rgba(0, 255, 255, 0.08) 0%, transparent 42%),
    radial-gradient(ellipse 90% 70% at 50% 45%, rgba(60, 60, 60, 0.38) 0%, transparent 55%),
    #0d0d0d;
  backdrop-filter: blur(22px);
  pointer-events: none;
}

.m1-home-ob-v2-root--closing .m1-home-ob-v2-root__backdrop {
  opacity: 0;
}

.m1-home-ob-v2-root__shell {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: calc(100vw - 32px);
  max-width: calc(100vw - 32px);
  height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
  max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 20px);
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  perspective: 1100px;
  transform-style: preserve-3d;
}

.m1-home-ob-v2-rz-anim {
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* Motion solo sulla card: niente blur sui testi */
.m1-home-ob-v2-rz-card.cssanimation.ca__fx-rotateXIn {
  animation: m1-home-ob-v2-rotateXIn 0.72s cubic-bezier(0.22, 1, 0.36, 1) both;
  transform-origin: 50% 40%;
}

@keyframes m1-home-ob-v2-rotateXIn {
  0% {
    opacity: 0;
    transform: perspective(1000px) rotateX(-12deg) translateY(14px) scale(0.98);
  }
  100% {
    opacity: 1;
    transform: perspective(1000px) rotateX(0deg) translateY(0) scale(1);
  }
}

.m1-home-ob-v2-rz-card.m1-home-ob-v2-rz-card--exiting {
  animation: m1-home-ob-v2-exit 0.52s cubic-bezier(0.4, 0, 0.22, 1) forwards;
}

@keyframes m1-home-ob-v2-exit {
  to {
    opacity: 0;
    transform: perspective(900px) translateY(20px) scale(0.94) rotateX(6deg);
  }
}

.m1-home-ob-v2-rz-card {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  color: #ffffff;
  background-color: #2b2b2b;
  border: 1px solid #eceff133;
  outline: 1px solid rgb(255, 255, 255);
  box-shadow:
    0 0 0 1px rgb(255, 255, 255),
    inset 0 0 80px whitesmoke,
    inset 20px 0 80px rgba(255, 0, 255, 0.747),
    inset -20px 0 80px #0ff,
    inset 20px 0 300px #f0f,
    inset -20px 0 300px #0ff,
    0 0 50px #fff,
    -10px 0 80px #f0f,
    10px 0 80px #0ff;
}

.m1-home-ob-v2-rz-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: #ffffff80;
}

.m1-home-ob-v2-rz-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    168deg,
    rgba(13, 13, 13, 0.06) 0%,
    rgba(43, 43, 43, 0.35) 42%,
    rgba(13, 13, 13, 0.62) 100%
  );
}

/* Colonna: corpo espande; CTA in fondo */
.m1-home-ob-v2-rz-card-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 0;
  flex: 1 1 auto;
  max-height: 100%;
  height: 100%;
}

/* Titolo + corpo: gap fisso uguale su tutte le pagine */
.m1-home-ob-v2-rz-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.05rem;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
}

.m1-home-ob-v2-rz-hero {
  position: relative;
  text-align: center;
  padding: 1.2rem 1.35rem 0;
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
}

.m1-home-ob-v2-rz-hero-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.35;
  background: radial-gradient(
    ellipse 130% 90% at 50% -5%,
    rgba(245, 245, 245, 0.12) 0%,
    rgba(255, 0, 255, 0.05) 40%,
    rgba(0, 255, 255, 0.04) 60%,
    transparent 78%
  );
}

.m1-home-ob-v2-rz-title-block {
  position: relative;
}

.m1-home-ob-v2-rz-heading {
  margin: 0;
  display: block;
  text-align: center;
}

/*
 * Whisper stack (identico a whisperStyles.css .m1-whisper-stack + __rim + __fill).
 * Dimensioni: title / body (+25% vs precedente ~1.14–1.32rem) / cta.
 */
.m1-home-ob-v2-whisper-stack {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, max-content);
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  transform-origin: center center;
  backface-visibility: hidden;
  font-family: 'Soda Shake', ui-sans-serif, system-ui, sans-serif;
  font-weight: normal;
  font-style: normal;
  letter-spacing: 0.02em;
  word-break: break-word;
  text-align: center;
  text-shadow: none;
  filter: none;
  -webkit-font-smoothing: antialiased;
  transition: none;
}

/* Titoli ~+30% rispetto a clamp(26px, 6.2vw, 40px) */
.m1-home-ob-v2-whisper-stack--title {
  font-size: clamp(33.8px, 8.06vw, 52px);
  line-height: 1.12;
  white-space: pre-wrap;
}

/* ~+25% su precedente clamp(1.14rem, 3.9vw, 1.32rem) */
.m1-home-ob-v2-whisper-stack--body {
  font-size: clamp(1.425rem, 4.875vw, 1.65rem);
  line-height: 1.28;
  white-space: pre-line;
}

.m1-home-ob-v2-whisper-stack--cta {
  font-size: clamp(1.05rem, 3.65vw, 1.2rem);
  line-height: 1.12;
  white-space: pre-wrap;
}

.m1-home-ob-v2-whisper-stack__rim,
.m1-home-ob-v2-whisper-stack__fill {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
  font: inherit;
  text-align: inherit;
  white-space: inherit;
  word-break: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  transition: none;
}

.m1-home-ob-v2-whisper-stack__rim {
  z-index: 0;
  color: #000000;
  -webkit-text-stroke: clamp(2.35px, 0.14em, 4.75px) #ffffff;
  paint-order: stroke fill;
  pointer-events: none;
}

.m1-home-ob-v2-whisper-stack__fill {
  position: relative;
  z-index: 1;
  color: #000000;
  -webkit-text-stroke: 0;
  paint-order: normal;
}

.m1-home-ob-v2-rz-body {
  padding: 0 1.35rem 0.35rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  box-sizing: border-box;
}

.m1-home-ob-v2-rz-body-text {
  margin: 0;
  text-align: center;
}

.m1-home-ob-v2-rz-actions {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  margin-top: auto;
  padding: 0.75rem 1.35rem max(1.1rem, calc(0.5rem + env(safe-area-inset-bottom, 0px)));
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

/* Conferma FINE (pagina 14): sopra la card, blocca tap fino a pre-exit */
.m1-home-ob-v2-rz-fine-check {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 1rem;
  pointer-events: auto;
  background: rgba(13, 13, 13, 0.32);
  backdrop-filter: blur(4px);
}

.m1-home-ob-v2-rz-fine-check__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: m1-home-ob-v2-fine-check-pop 300ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.m1-home-ob-v2-rz-fine-check__svg {
  display: block;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}

.m1-home-ob-v2-rz-fine-check__ring {
  opacity: 0.95;
  transform-origin: 36px 36px;
  animation: m1-home-ob-v2-fine-ring-in 280ms ease-out both;
}

.m1-home-ob-v2-rz-fine-check__mark {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  animation: m1-home-ob-v2-fine-mark-draw 280ms cubic-bezier(0.33, 1, 0.36, 1) 40ms forwards;
}

@keyframes m1-home-ob-v2-fine-check-pop {
  from {
    opacity: 0;
    transform: scale(0.82);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes m1-home-ob-v2-fine-ring-in {
  from {
    opacity: 0;
    transform: scale(0.88);
  }
  to {
    opacity: 0.95;
    transform: scale(1);
  }
}

@keyframes m1-home-ob-v2-fine-mark-draw {
  to {
    stroke-dashoffset: 0;
  }
}

.m1-home-ob-v2-rz-cta-primary {
  width: 100%;
}

.m1-home-ob-v2-rz-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 3.45rem;
  padding: 0.75rem 1rem;
  border-radius: 12px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  background-color: rgba(255, 255, 255, 0.96);
  outline: 1px solid rgb(255, 255, 255);
  border: none;
  box-shadow:
    0 0 28px rgba(255, 255, 255, 0.25),
    0 0 40px rgba(0, 255, 255, 0.12),
    0 0 36px rgba(255, 0, 255, 0.08);
  transition: filter 0.15s ease, transform 0.12s ease;
}

.m1-home-ob-v2-rz-cta-btn:hover:not(:disabled) {
  filter: brightness(1.03);
}

.m1-home-ob-v2-rz-cta-btn:active:not(:disabled) {
  transform: scale(0.99);
}

.m1-home-ob-v2-rz-cta-btn:disabled {
  opacity: 0.45;
}

.m1-home-ob-v2-rz-secondary-row {
  display: flex;
  gap: 0.5rem;
  width: 100%;
}

.m1-home-ob-v2-rz-btn-ghost {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 3.1rem;
  padding: 0.55rem 0.75rem;
  border-radius: 10px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(13, 13, 13, 0.55);
  transition: background-color 0.15s ease, transform 0.12s ease;
}

.m1-home-ob-v2-rz-btn-ghost:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.1);
}

.m1-home-ob-v2-rz-btn-ghost:active:not(:disabled) {
  transform: scale(0.99);
}

@media (prefers-reduced-motion: reduce) {
  .m1-home-ob-v2-rz-card.cssanimation.ca__fx-rotateXIn {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .m1-home-ob-v2-rz-card.m1-home-ob-v2-rz-card--exiting {
    animation: none;
    opacity: 0;
  }

  .m1-home-ob-v2-rz-cta-btn,
  .m1-home-ob-v2-rz-btn-ghost {
    transition: none;
  }

  .m1-home-ob-v2-rz-fine-check__inner,
  .m1-home-ob-v2-rz-fine-check__ring {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .m1-home-ob-v2-rz-fine-check__mark {
    animation: none;
    stroke-dashoffset: 0;
  }
}
/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/* BUZZ TRON Disc - Dark metallic disc with cyan LED ring */

:root {
  --tron-cyan: #00ffff;
  --tron-cyan-glow: rgba(0, 255, 255, 0.6);
  --tron-dark: #1a1a1e;
  --tron-darker: #0f0f12;
  --tron-metal: #2a2a32;
  --tron-highlight: #3a3a42;
}

/* Base TRON Disc */
.tron-disc {
  position: relative;
  width: clamp(280px, 55vw, 380px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  isolation: isolate;
  
  /* Dark metallic gradient base */
  background: 
    radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.03) 0%, transparent 40%),
    radial-gradient(circle at center, var(--tron-metal), var(--tron-darker));
  
  /* Cyan outer border with glow */
  box-shadow:
    0 0 0 3px var(--tron-cyan),
    0 0 20px var(--tron-cyan-glow),
    0 0 40px rgba(0, 255, 255, 0.3),
    inset 0 -30px 60px rgba(0, 0, 0, 0.8),
    inset 0 2px 8px rgba(255, 255, 255, 0.05);
  
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Rotating wrapper - contains all visual elements that spin */
.tron-disc-rotating {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  animation: tronDiscVortex 3s linear infinite;
  will-change: transform;
}

/* Vortex rotation animation */
@keyframes tronDiscVortex {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 640px) {
  .tron-disc {
    width: clamp(260px, 75vw, 340px);
  }
}

/* Panel lines - segmented details like TRON disc */
.tron-disc::before {
  content: '';
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  background: 
    /* Vertical segments */
    linear-gradient(90deg, transparent 48%, rgba(0, 255, 255, 0.08) 49%, rgba(0, 255, 255, 0.08) 51%, transparent 52%),
    /* Horizontal segments */
    linear-gradient(0deg, transparent 48%, rgba(0, 255, 255, 0.08) 49%, rgba(0, 255, 255, 0.08) 51%, transparent 52%),
    /* Diagonal segments */
    linear-gradient(45deg, transparent 48%, rgba(0, 255, 255, 0.05) 49%, rgba(0, 255, 255, 0.05) 51%, transparent 52%),
    linear-gradient(-45deg, transparent 48%, rgba(0, 255, 255, 0.05) 49%, rgba(0, 255, 255, 0.05) 51%, transparent 52%);
  pointer-events: none;
  opacity: 0.4;
}

/* Central hole effect */
.tron-disc::after {
  content: '';
  position: absolute;
  inset: 30%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--tron-darker), transparent);
  box-shadow: 
    inset 0 0 30px rgba(0, 0, 0, 0.9),
    inset 0 8px 16px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}

/* Content container (price) */
.tron-disc-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

/* Price text styling */
.tron-price {
  font-family: 'Orbitron', sans-serif;
  font-size: clamp(32px, 7vw, 48px);
  font-weight: 600;
  color: white;
  text-shadow: 
    0 0 10px rgba(255, 255, 255, 0.8),
    0 0 20px rgba(0, 255, 255, 0.4),
    0 2px 4px rgba(0, 0, 0, 0.8);
  letter-spacing: 0.05em;
}

/* Internal LED Ring - positioned inside the disc */
.tron-led-ring {
  position: absolute;
  inset: 15%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 5;
}

/* LED ring base (idle state - dim) */
.tron-led-ring::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 3px solid rgba(0, 255, 255, 0.2);
  box-shadow: 
    inset 0 0 8px rgba(0, 255, 255, 0.1),
    0 0 8px rgba(0, 255, 255, 0.1);
}

/* LED ring loading animation */
.tron-led-ring.loading::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  background: conic-gradient(
    from 0deg,
    transparent 0deg,
    var(--tron-cyan) 90deg,
    transparent 90deg
  );
  -webkit-mask: radial-gradient(circle, transparent calc(50% - 3px), black calc(50% - 3px));
  mask: radial-gradient(circle, transparent calc(50% - 3px), black calc(50% - 3px));
  animation: tronLedRotate 1.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  filter: drop-shadow(0 0 12px var(--tron-cyan));
}

@keyframes tronLedRotate {
  0% {
    transform: rotate(0deg);
    opacity: 0.8;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(360deg);
    opacity: 0.8;
  }
}

/* Decorative dots at cardinal points (like TRON disc) */
.tron-disc-dots {
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 6;
}

.tron-disc-dots::before,
.tron-disc-dots::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--tron-cyan);
  box-shadow: 
    0 0 8px var(--tron-cyan),
    0 0 16px rgba(0, 255, 255, 0.5);
}

.tron-disc-dots::before {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.tron-disc-dots::after {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* Additional dots using a wrapper */
.tron-disc-dots-sides {
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 6;
}

.tron-disc-dots-sides::before,
.tron-disc-dots-sides::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--tron-cyan);
  box-shadow: 
    0 0 8px var(--tron-cyan),
    0 0 16px rgba(0, 255, 255, 0.5);
}

.tron-disc-dots-sides::before {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.tron-disc-dots-sides::after {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* Hover state */
.tron-disc:not(:disabled):hover {
  transform: scale(1.02) translateY(-2px);
  box-shadow:
    0 0 0 3px var(--tron-cyan),
    0 0 25px var(--tron-cyan-glow),
    0 0 50px rgba(0, 255, 255, 0.4),
    0 8px 30px rgba(0, 255, 255, 0.3),
    inset 0 -30px 60px rgba(0, 0, 0, 0.8),
    inset 0 2px 8px rgba(255, 255, 255, 0.08);
}

/* Active/pressed state */
.tron-disc:not(:disabled):active {
  transform: scale(0.98) translateY(1px);
  box-shadow:
    0 0 0 3px var(--tron-cyan),
    0 0 15px var(--tron-cyan-glow),
    0 0 30px rgba(0, 255, 255, 0.3),
    inset 0 -30px 60px rgba(0, 0, 0, 0.9),
    inset 0 2px 8px rgba(255, 255, 255, 0.03);
}

/* Disabled state */
.tron-disc:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  filter: grayscale(0.4);
}

.tron-disc:disabled .tron-price {
  color: rgba(255, 255, 255, 0.4);
  text-shadow: none;
}

/* Loading spinner (alternative visual if needed) */
.tron-loading-spinner {
  position: absolute;
  inset: 25%;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: var(--tron-cyan);
  border-right-color: var(--tron-cyan);
  animation: tronSpin 1s linear infinite;
  z-index: 8;
}

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

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .tron-disc,
  .tron-disc-rotating,
  .tron-led-ring.loading::after,
  .tron-loading-spinner {
    animation: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   VARIANTE ROSSA PER BUZZ MAP - Solo modifiche estetiche (colore + dimensione)
   ═══════════════════════════════════════════════════════════════════════════ */

.tron-disc.tron-disc-red {
  /* 50% smaller */
  width: clamp(140px, 27.5vw, 190px);
  
  /* Red outer border with glow */
  box-shadow:
    0 0 0 3px #ff3333,
    0 0 20px rgba(255, 51, 51, 0.6),
    0 0 40px rgba(255, 51, 51, 0.3),
    inset 0 -30px 60px rgba(0, 0, 0, 0.8),
    inset 0 2px 8px rgba(255, 255, 255, 0.05);
}

.tron-disc.tron-disc-red:not(:disabled):hover {
  box-shadow:
    0 0 0 3px #ff3333,
    0 0 25px rgba(255, 51, 51, 0.6),
    0 0 50px rgba(255, 51, 51, 0.4),
    0 8px 30px rgba(255, 51, 51, 0.3),
    inset 0 -30px 60px rgba(0, 0, 0, 0.8),
    inset 0 2px 8px rgba(255, 255, 255, 0.08);
}

.tron-disc.tron-disc-red:not(:disabled):active {
  box-shadow:
    0 0 0 3px #ff3333,
    0 0 15px rgba(255, 51, 51, 0.6),
    0 0 30px rgba(255, 51, 51, 0.3),
    inset 0 -30px 60px rgba(0, 0, 0, 0.9),
    inset 0 2px 8px rgba(255, 255, 255, 0.03);
}

/* Panel lines - asterisco ROSSO */
.tron-disc.tron-disc-red::before {
  background: 
    linear-gradient(90deg, transparent 48%, rgba(255, 51, 51, 0.08) 49%, rgba(255, 51, 51, 0.08) 51%, transparent 52%),
    linear-gradient(0deg, transparent 48%, rgba(255, 51, 51, 0.08) 49%, rgba(255, 51, 51, 0.08) 51%, transparent 52%),
    linear-gradient(45deg, transparent 48%, rgba(255, 51, 51, 0.05) 49%, rgba(255, 51, 51, 0.05) 51%, transparent 52%),
    linear-gradient(-45deg, transparent 48%, rgba(255, 51, 51, 0.05) 49%, rgba(255, 51, 51, 0.05) 51%, transparent 52%);
}

/* LED ring ROSSO */
.tron-disc.tron-disc-red .tron-led-ring::before {
  border-color: rgba(255, 51, 51, 0.2);
  box-shadow: 
    inset 0 0 8px rgba(255, 51, 51, 0.1),
    0 0 8px rgba(255, 51, 51, 0.1);
}

.tron-disc.tron-disc-red .tron-led-ring.loading::after {
  background: conic-gradient(
    from 0deg,
    transparent 0deg,
    #ff3333 90deg,
    transparent 90deg
  );
  filter: drop-shadow(0 0 12px #ff3333);
}

/* Dots ROSSI */
.tron-disc.tron-disc-red .tron-disc-dots::before,
.tron-disc.tron-disc-red .tron-disc-dots::after,
.tron-disc.tron-disc-red .tron-disc-dots-sides::before,
.tron-disc.tron-disc-red .tron-disc-dots-sides::after {
  background: #ff3333;
  box-shadow: 
    0 0 8px #ff3333,
    0 0 16px rgba(255, 51, 51, 0.5);
}

/* Loading spinner ROSSO */
.tron-disc.tron-disc-red .tron-loading-spinner {
  border-top-color: #ff3333;
  border-right-color: #ff3333;
}

/* Font size ridotto per versione 50% più piccola */
.tron-disc.tron-disc-red .tron-price {
  font-size: clamp(16px, 3.5vw, 24px);
}

/* Dots più piccoli */
.tron-disc.tron-disc-red .tron-disc-dots::before,
.tron-disc.tron-disc-red .tron-disc-dots::after,
.tron-disc.tron-disc-red .tron-disc-dots-sides::before,
.tron-disc.tron-disc-red .tron-disc-dots-sides::after {
  width: 4px;
  height: 4px;
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/**
 * MPE Pill — Title brand (M1 cyan + rest white) + pulse. Anti done-state dimming.
 * Scope: ONLY the pill title on BUZZ page. NOT global.
 * © 2026 Joseph MULÉ – M1SSION™ – NIYVORA KFT™
 */

.mpe-pill-title {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
  animation: mpeTitlePulse 2.8s ease-in-out infinite;
}

.mpe-pill-title-m1 {
  color: #00e5ff !important;
  -webkit-text-fill-color: #00e5ff !important;
}

.mpe-pill-title-rest {
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}

/* Anti done-state dimming (WKWebView) */
.mpe-pill-title,
.mpe-pill-title * {
  opacity: 1 !important;
  filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .mpe-pill-title {
    animation: none;
  }
}

@keyframes mpeTitlePulse {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.015);
  }
}
/**
 * AION main blob — entry + tap feedback on IntelligencePage wrapper only.
 * Class names follow existing `cssanimation ca__fx-*` pattern.
 * © 2026 Joseph MULÉ – M1SSION™
 */

.aion-blob-entry-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  transform-origin: center center;
}

.aion-blob-entry-shell:not(.aion-blob-entry-shell--done) {
  will-change: transform, opacity;
}

.aion-blob-entry-shell.aion-blob-entry-shell--done {
  will-change: auto;
}

.cssanimation.ca__fx-spiralTwistIn {
  animation: m1AionSpiralTwistIn 1350ms cubic-bezier(0.22, 0.82, 0.28, 1) both;
}

@keyframes m1AionSpiralTwistIn {
  0% {
    opacity: 0;
    transform: translate3d(0, 18px, 0) scale(0.35) rotate(-540deg);
  }
  55% {
    opacity: 1;
    transform: translate3d(0, -6px, 0) scale(1.06) rotate(18deg);
  }
  78% {
    transform: translate3d(0, 3px, 0) scale(0.98) rotate(-4deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
}

@keyframes m1AionSpiralTwistInReduce {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.cssanimation.ca__fx-cosmicReveal {
  animation-name: m1AionCosmicReveal;
  animation-duration: 700ms;
  animation-timing-function: ease-out;
  animation-fill-mode: both;
}

@keyframes m1AionCosmicReveal {
  0% {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
  40% {
    transform: scale(1.15) rotate(8deg);
  }
  70% {
    transform: scale(0.95) rotate(-6deg);
  }
  100% {
    transform: scale(1) rotate(0deg);
    opacity: 1;
  }
}

@keyframes m1AionCosmicRevealReduce {
  from {
    opacity: 0.96;
  }
  to {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cssanimation.ca__fx-spiralTwistIn {
    animation: m1AionSpiralTwistInReduce 0.16s ease-out both;
  }

  .cssanimation.ca__fx-cosmicReveal {
    animation: m1AionCosmicRevealReduce 0.14s ease-out both;
  }
}

/**
 * AION chat input — dock inside graphite card (no body portal, no backdrop-filter).
 */
.aion-chat-input-inline {
  flex-shrink: 0;
  padding: 8px 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(16, 20, 28, 0.96);
  box-sizing: border-box;
}

/**
 * AION-only: drop full-card backdrop-filter (blur on tall surfaces breaks WKWebView scroll composite).
 * Solid opaque panel replaces frosted glass from index.css .m1-folder-glass--graphite.
 */
.aion-intel-chat-panel.m1-folder-glass--graphite {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: rgba(12, 15, 22, 0.98) !important;
  /* Stable px height — avoid vh / visualViewport-driven caps (iOS resize while scrolling) */
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 100%;
  height: 340px;
  min-height: 300px;
  max-height: 340px;
}

@media (min-width: 768px) {
  .aion-intel-chat-panel.m1-folder-glass--graphite {
    height: 380px;
    min-height: 340px;
    max-height: 380px;
  }
}

/** Scroll only inside message strip */
.aion-intel-chat-messages {
  flex: 1 1 auto;
  min-height: 90px;
  max-height: 150px;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/**
 * AION title under blob (IntelligencePage uses .sn-aion-label on wrapper).
 * ~+30% vs Tailwind text-lg; slightly wider tracking, same AI/ON split colors.
 */
.sn-aion-label h2 {
  font-size: clamp(1.35rem, 4.2vw, 1.5rem);
  letter-spacing: 0.1em;
  line-height: 1.15;
}

/**
 * AION Intelligence: cap page to viewport minus bottom nav so chat fits without outer scroll.
 * Overrides .sn-page min-height only when this class is present (imported from IntelligencePage).
 */
.sn-page.aion-intel-viewport-sleeve {
  min-height: 0 !important;
  /* Do NOT lock page height to --app-height (from visualViewport): it changes during iOS scroll/overscroll and shrinks the chat column. */
  height: auto;
  max-height: none;
  overflow: visible;
  box-sizing: border-box;
}
/**
 * M1SSION™ — Reward Zone popup: palette + glow = reference .card / .card:hover (snippet utente)
 * + layer #ffffff80 e velo contrasto come MissionVictoryModalCore. Animazioni più lente e morbide.
 * Logica React invariata.
 */

.m1-reward-zone-popup {
  /* Enter più lento e leggibile; exit più rapida ma morbida (no “scatto”) */
  --rz-enter-ms: 820ms;
  --rz-exit-ms: 640ms;
  --rz-exit-root-delay: 340ms;
  --rz-exit-root-fade: 580ms;
  --rz-ease-enter: cubic-bezier(0.16, 1, 0.32, 1);
  --rz-ease-exit: cubic-bezier(0.33, 0.06, 0.24, 1);
  --rz-inner-duration-in: 720ms;
  --rz-inner-duration-out: 540ms;

  position: fixed;
  inset: 0;
  z-index: 10003;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top, 0px)) max(18px, env(safe-area-inset-right, 0px))
    max(14px, env(safe-area-inset-bottom, 0px)) max(18px, env(safe-area-inset-left, 0px));
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--rz-enter-ms) var(--rz-ease-enter);
}

.m1-reward-zone-popup--open {
  opacity: 1;
  pointer-events: auto;
}

/* Backdrop: nero + aura fucsia/cyan ai lati (reference foto 1, no verde) */
.m1-reward-zone-popup__backdrop {
  position: absolute;
  inset: 0;
  opacity: 1;
  transition: opacity 0.42s var(--rz-ease-exit);
  background:
    radial-gradient(ellipse 100% 90% at 0% 50%, rgba(255, 0, 255, 0.09) 0%, transparent 42%),
    radial-gradient(ellipse 100% 90% at 100% 50%, rgba(0, 255, 255, 0.08) 0%, transparent 42%),
    radial-gradient(ellipse 90% 70% at 50% 45%, rgba(60, 60, 60, 0.38) 0%, transparent 55%),
    #0d0d0d;
  backdrop-filter: blur(22px);
}

/* Uscita classica (es. reduced-motion): fade su tutto il root. */
.m1-reward-zone-popup--closing:not(.m1-reward-zone-popup--closing-stamp) {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--rz-exit-root-fade) var(--rz-ease-exit) var(--rz-exit-root-delay);
}

/*
 * Uscita “timbro” (Whisper-aligned): root resta opaco così si vede l’animazione sulla card;
 * backdrop si dissolve; commit dopo STAMP_EXIT_UNMOUNT_MS in TS.
 */
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp {
  opacity: 1;
  pointer-events: none;
  transition: none;
}

.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__backdrop {
  opacity: 0;
}

/*
 * Shell = reference .card + .card:hover sempre attivo (touch, no hover).
 * Valori box-shadow / outline come snippet obbligatorio.
 */
.m1-reward-zone-popup__card {
  position: relative;
  width: 100%;
  max-width: min(100%, 430px);
  border-radius: 24px;
  overflow: hidden;
  color: #eceff1;
  background-color: #2b2b2b;
  border: 1px solid #eceff133;
  outline: 1px solid rgb(255, 255, 255);
  box-shadow:
    0 0 0 1px rgb(255, 255, 255),
    inset 0 0 80px whitesmoke,
    inset 20px 0 80px rgba(255, 0, 255, 0.747),
    inset -20px 0 80px #0ff,
    inset 20px 0 300px #f0f,
    inset -20px 0 300px #0ff,
    0 0 50px #fff,
    -10px 0 80px #f0f,
    10px 0 80px #0ff;
  transform: scale(0.94) translate3d(0, 18px, 0);
  opacity: 0;
  transition:
    transform var(--rz-enter-ms) var(--rz-ease-enter),
    opacity var(--rz-enter-ms) var(--rz-ease-enter),
    box-shadow var(--rz-enter-ms) var(--rz-ease-enter);
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__card {
  transform: scale(1) translate3d(0, 0, 0);
  opacity: 1;
}

/* Uscita classica (no stamp-exit): leggero lift + fade */
.m1-reward-zone-popup--closing .m1-reward-zone-popup__card:not(.m1-reward-zone-popup__card--stamp-exit) {
  transform: scale(0.97) translate3d(0, -10px, 0);
  opacity: 0;
  transition:
    transform var(--rz-exit-ms) var(--rz-ease-exit) calc(var(--rz-exit-root-delay) * 0.32),
    opacity var(--rz-exit-ms) var(--rz-ease-exit) calc(var(--rz-exit-root-delay) * 0.32);
}

/* Uscita allineata a Whisper `ca__fx-bounceOutRight` / timbro SFX — stessi keyframe. */
.m1-reward-zone-popup__card--stamp-exit {
  animation: m1RzStampBounceOutRight 0.68s cubic-bezier(0.22, 0.82, 0.28, 1.02) forwards;
  transition: none !important;
}

@keyframes m1RzStampBounceOutRight {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1) rotate(0deg);
  }
  12% {
    opacity: 1;
    transform: translate3d(-18px, 6px, 0) scale(1.1) rotate(-3deg);
  }
  30% {
    opacity: 1;
    transform: translate3d(14px, -10px, 0) scale(0.93) rotate(2.5deg);
  }
  55% {
    opacity: 0.95;
    transform: translate3d(72px, -2px, 0) scale(0.88) rotate(4deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(168px, 12px, 0) scale(0.64) rotate(7deg);
  }
}

/* Reference hover: background #ffffff80 — glass fisso (niente clip-path animato) */
.m1-reward-zone-popup__card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: #ffffff80;
}

/* Velo scuro per leggibilità testo chiaro (stesso principio MissionVictoryModalCore) */
.m1-reward-zone-popup__card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    168deg,
    rgba(13, 13, 13, 0.06) 0%,
    rgba(43, 43, 43, 0.35) 42%,
    rgba(13, 13, 13, 0.62) 100%
  );
}

.m1-reward-zone-popup__card-inner {
  position: relative;
  z-index: 1;
}

.m1-reward-zone-popup__hero-glow {
  opacity: 0.35;
  background: radial-gradient(
    ellipse 130% 90% at 50% -5%,
    rgba(245, 245, 245, 0.12) 0%,
    rgba(255, 0, 255, 0.05) 40%,
    rgba(0, 255, 255, 0.04) 60%,
    transparent 78%
  );
}

.m1-reward-zone-popup__hero {
  position: relative;
  text-align: center;
  padding: 2rem 2rem 1.25rem;
  transform: translate3d(0, 12px, 0);
  opacity: 0;
  transition:
    transform var(--rz-inner-duration-in) var(--rz-ease-enter) 100ms,
    opacity var(--rz-inner-duration-in) var(--rz-ease-enter) 100ms;
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__hero {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

.m1-reward-zone-popup--closing .m1-reward-zone-popup__hero {
  transform: translate3d(0, -8px, 0);
  opacity: 0;
  transition:
    transform var(--rz-inner-duration-out) var(--rz-ease-exit) 280ms,
    opacity var(--rz-inner-duration-out) var(--rz-ease-exit) 280ms;
}

@keyframes m1-rz-icon-glow {
  0%,
  100% {
    box-shadow:
      0 0 20px rgba(255, 255, 255, 0.2),
      0 0 36px rgba(255, 0, 255, 0.12),
      0 0 40px rgba(0, 255, 255, 0.1);
  }
  50% {
    box-shadow:
      0 0 28px rgba(255, 255, 255, 0.28),
      0 0 44px rgba(255, 0, 255, 0.16),
      0 0 48px rgba(0, 255, 255, 0.14);
  }
}

/* Icon: freddo / reference — no teal pieno; alone bianco + fucsia + cyan */
.m1-reward-zone-popup__icon-wrap {
  position: relative;
  margin: 0 auto 1rem;
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.07);
  outline: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow:
    0 0 28px rgba(255, 0, 255, 0.14),
    0 0 36px rgba(0, 255, 255, 0.1);
  transform: translate3d(0, 10px, 0) scale(0.95);
  transition: transform var(--rz-inner-duration-in) var(--rz-ease-enter) 180ms;
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__icon-wrap {
  transform: translate3d(0, 0, 0) scale(1);
  animation: m1-rz-icon-glow 4s var(--rz-ease-enter) infinite;
}

.m1-reward-zone-popup--closing .m1-reward-zone-popup__icon-wrap {
  animation: none;
  transform: translate3d(0, -6px, 0) scale(0.96);
  transition:
    transform var(--rz-inner-duration-out) var(--rz-ease-exit) 240ms,
    box-shadow 0.4s var(--rz-ease-exit);
}

.m1-reward-zone-popup__title-block {
  position: relative;
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition:
    opacity var(--rz-inner-duration-in) var(--rz-ease-enter) 260ms,
    transform var(--rz-inner-duration-in) var(--rz-ease-enter) 260ms;
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__title-block {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.m1-reward-zone-popup--closing .m1-reward-zone-popup__title-block {
  opacity: 0;
  transform: translate3d(0, 6px, 0);
  transition:
    opacity var(--rz-inner-duration-out) var(--rz-ease-exit) 200ms,
    transform var(--rz-inner-duration-out) var(--rz-ease-exit) 200ms;
}

.m1-reward-zone-popup__body {
  padding: 0 2rem 1.25rem;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  max-height: 6.5rem;
  transition:
    opacity var(--rz-inner-duration-in) var(--rz-ease-enter) 360ms,
    transform var(--rz-inner-duration-in) var(--rz-ease-enter) 360ms,
    max-height calc(var(--rz-inner-duration-in) + 120ms) var(--rz-ease-enter) 300ms;
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__body {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  max-height: 30rem;
}

.m1-reward-zone-popup--closing .m1-reward-zone-popup__body {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  max-height: 6rem;
  transition:
    opacity var(--rz-inner-duration-out) var(--rz-ease-exit) 140ms,
    transform var(--rz-inner-duration-out) var(--rz-ease-exit) 140ms,
    max-height var(--rz-inner-duration-out) var(--rz-ease-exit) 120ms;
}

.m1-reward-zone-popup__actions {
  padding: 0 2rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.m1-reward-zone-popup__cta-primary {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  transition:
    opacity var(--rz-inner-duration-in) var(--rz-ease-enter) 460ms,
    transform var(--rz-inner-duration-in) var(--rz-ease-enter) 460ms;
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__cta-primary {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.m1-reward-zone-popup--closing .m1-reward-zone-popup__cta-primary {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity var(--rz-inner-duration-out) var(--rz-ease-exit) 80ms,
    transform var(--rz-inner-duration-out) var(--rz-ease-exit) 80ms;
}

/* Chiusura timbro: niente fade-out interni — il bounce è sulla shell `.m1-reward-zone-popup__card`. */
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__hero,
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__icon-wrap,
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__title-block,
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__body,
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__cta-primary,
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__secondary-row,
.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__bar {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  max-height: none !important;
}

.m1-reward-zone-popup--closing.m1-reward-zone-popup--closing-stamp .m1-reward-zone-popup__icon-wrap {
  animation: none !important;
}

/*
 * CTA = reference .cta (outline bianco, bg trasparente) + fill chiaro premium + testo #0d0d0d
 * (vicino a .card:hover > .cta { background #0d0d0d } ma invertito per leggibilità su shell scura)
 */
.m1-reward-zone-popup__cta-btn {
  background-color: rgba(255, 255, 255, 0.94) !important;
  color: #0d0d0d !important;
  outline: 1px solid rgb(255, 255, 255) !important;
  border: none !important;
  box-shadow:
    0 0 28px rgba(255, 255, 255, 0.25),
    0 0 40px rgba(0, 255, 255, 0.12),
    0 0 36px rgba(255, 0, 255, 0.08);
}

.m1-reward-zone-popup__cta-btn:hover:not(:disabled) {
  filter: brightness(1.03);
}

.m1-reward-zone-popup__cta-btn:disabled {
  opacity: 0.4;
}

.m1-reward-zone-popup__secondary-row {
  display: flex;
  gap: 0.5rem;
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity var(--rz-inner-duration-in) var(--rz-ease-enter) 560ms,
    transform var(--rz-inner-duration-in) var(--rz-ease-enter) 560ms;
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__secondary-row {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.m1-reward-zone-popup--closing .m1-reward-zone-popup__secondary-row {
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  transition:
    opacity var(--rz-inner-duration-out) var(--rz-ease-exit) 0ms,
    transform var(--rz-inner-duration-out) var(--rz-ease-exit) 0ms;
}

.m1-reward-zone-popup__btn-secondary {
  border: 1px solid rgba(236, 239, 241, 0.2) !important;
  color: rgba(236, 239, 241, 0.88) !important;
  background: rgba(13, 13, 13, 0.45) !important;
}

.m1-reward-zone-popup__btn-secondary:hover {
  background: rgba(13, 13, 13, 0.62) !important;
}

.m1-reward-zone-popup__btn-ghost {
  color: rgba(236, 239, 241, 0.72) !important;
}

.m1-reward-zone-popup__btn-ghost:hover {
  color: rgba(236, 239, 241, 0.92) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

.m1-reward-zone-popup__bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 0, 255, 0.55),
    rgba(0, 255, 255, 0.65),
    rgba(255, 0, 255, 0.45),
    transparent
  );
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: opacity calc(var(--rz-inner-duration-in) * 0.85) var(--rz-ease-enter) 340ms;
}

.m1-reward-zone-popup--open .m1-reward-zone-popup__bar {
  opacity: 1;
}

.m1-reward-zone-popup--closing .m1-reward-zone-popup__bar {
  opacity: 0;
  transition:
    opacity var(--rz-inner-duration-out) var(--rz-ease-exit) 50ms;
}

@media (prefers-reduced-motion: reduce) {
  .m1-reward-zone-popup {
    --rz-enter-ms: 0.01ms;
    --rz-exit-ms: 0.01ms;
    --rz-exit-root-delay: 0ms;
    --rz-exit-root-fade: 0.01ms;
    --rz-inner-duration-in: 0.01ms;
    --rz-inner-duration-out: 0.01ms;
  }

  .m1-reward-zone-popup,
  .m1-reward-zone-popup__card,
  .m1-reward-zone-popup__hero,
  .m1-reward-zone-popup__icon-wrap,
  .m1-reward-zone-popup__title-block,
  .m1-reward-zone-popup__body,
  .m1-reward-zone-popup__cta-primary,
  .m1-reward-zone-popup__secondary-row,
  .m1-reward-zone-popup__bar {
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }

  .m1-reward-zone-popup__hero,
  .m1-reward-zone-popup__icon-wrap,
  .m1-reward-zone-popup__title-block,
  .m1-reward-zone-popup__body,
  .m1-reward-zone-popup__cta-primary,
  .m1-reward-zone-popup__secondary-row {
    opacity: 1 !important;
    transform: none !important;
    max-height: none !important;
  }

  .m1-reward-zone-popup--open .m1-reward-zone-popup__icon-wrap {
    animation: none !important;
  }
}
/**
 * PULSE BREAKER - Modern Futuristic Design with Depth
 * RESTYLED with M1SSION™ App Palette (Cyan + Violet + Magenta)
 * © 2025 Joseph MULÉ – M1SSION™ – NIYVORA KFT™
 */

/* ========== OVERLAY ========== */
/* Allineato al modale "+ M1U" (M1UShopContent): stesso viewport fullscreen e formula safe-area. */
.pb-overlay {
  position: fixed;
  inset: 0;
  z-index: 10001;
  height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  box-sizing: border-box;
  background:
    radial-gradient(1000px 600px at 75% 0%, rgba(0, 229, 255, 0.25), transparent 60%),
    radial-gradient(800px 500px at -10% 15%, rgba(123, 92, 255, 0.22), transparent 60%),
    linear-gradient(180deg, #0a0b0f, #0e1116 50%, #0a0b0f);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: calc(env(safe-area-inset-top, 47px) + 12px);
  padding-right: 16px;
  padding-bottom: calc(env(safe-area-inset-bottom, 34px) + 20px);
  padding-left: 16px;
  overflow: hidden;
}

/* Crash flash effect */
.pb-crash-flash {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: radial-gradient(circle at center, rgba(252, 30, 255, 0.5), rgba(255, 50, 80, 0.4), transparent);
  pointer-events: none;
}

/* ========== CONTAINER ========== */
.pb-container {
  width: 100%;
  max-width: 420px;
  max-height: calc(100dvh - (env(safe-area-inset-top, 47px) + 12px) - (env(safe-area-inset-bottom, 34px) + 20px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: linear-gradient(180deg, 
    rgba(15, 20, 35, 0.97) 0%, 
    rgba(10, 12, 25, 0.98) 50%,
    rgba(8, 10, 20, 0.99) 100%
  );
  border-radius: 24px;
  border: 1px solid rgba(123, 92, 255, 0.25);
  box-shadow: 
    0 0 100px rgba(123, 46, 255, 0.15),
    0 0 60px rgba(0, 200, 255, 0.1),
    0 20px 60px rgba(0, 0, 0, 0.6),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.3);
  position: relative;
}

/* Fullscreen sheet mode (stesso layout del modale + M1U: body a tutta pagina) */
.pb-container--fullscreen {
  max-width: none;
  border-radius: 0;
  box-shadow: none;
  border: none;
}
.pb-container--fullscreen::before {
  display: none;
}

.pb-container::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 25px;
  background: linear-gradient(135deg, 
    rgba(0, 231, 255, 0.3) 0%, 
    rgba(123, 46, 255, 0.2) 25%,
    transparent 50%,
    rgba(252, 30, 255, 0.15) 75%,
    rgba(0, 200, 255, 0.2) 100%
  );
  z-index: -1;
  pointer-events: none;
  animation: borderGlow 4s ease-in-out infinite;
}

@keyframes borderGlow {
  0%, 100% { opacity: 0.8; }
  50% { opacity: 1; }
}

/* ========== CLOSE BUTTON (jelly: src/styles/m1-close-jelly.css) ========== */
.pb-container .m1-close-jelly.pb-close-btn {
  z-index: 100;
  top: 16px;
  right: 16px;
}

/* ========== HEADER ========== */
.pb-header-section {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 18px 60px 14px 18px;
  border-bottom: 1px solid rgba(123, 92, 255, 0.15);
  background: linear-gradient(180deg, rgba(123, 46, 255, 0.08) 0%, rgba(0, 100, 150, 0.05) 100%);
}

.pb-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.pb-logo-icon {
  width: 26px;
  height: 26px;
  color: #FC1EFF;
  filter: drop-shadow(0 0 8px rgba(252, 30, 255, 0.6));
}

.pb-logo-text {
  font-family: 'Orbitron', monospace;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 2px;
  background: linear-gradient(90deg, #00e7ff, #FC1EFF);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* M1U Balance Pill */
.pb-balance-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(255, 180, 0, 0.15) 0%, rgba(252, 30, 255, 0.1) 100%);
  border: 1px solid rgba(255, 180, 0, 0.35);
  margin-left: auto;
}

.pb-pill-icon {
  width: 14px;
  height: 14px;
  color: #FFB400;
}

.pb-pill-value {
  font-family: 'Orbitron', monospace;
  font-size: 12px;
  font-weight: 700;
  color: #FFB400;
}

.pb-pill-label {
  font-size: 10px;
  color: rgba(255, 180, 0, 0.7);
  font-weight: 600;
}

/* ========== GAME AREA ========== */
.pb-game-area {
  position: relative;
  margin: 16px;
  border-radius: 16px;
  overflow: hidden;
  background: linear-gradient(180deg, 
    rgba(10, 15, 30, 0.95) 0%, 
    rgba(5, 8, 20, 0.98) 100%
  );
  border: 2px solid rgba(123, 92, 255, 0.25);
  box-shadow: 
    inset 0 0 60px rgba(123, 46, 255, 0.06),
    inset 0 0 100px rgba(0, 150, 200, 0.05),
    0 4px 30px rgba(0, 0, 0, 0.5),
    0 0 40px rgba(123, 46, 255, 0.08);
  transition: all 0.3s ease;
}

.pb-game-area::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 14px;
  background: radial-gradient(ellipse at 50% 0%, rgba(0, 229, 255, 0.08) 0%, transparent 60%),
              radial-gradient(ellipse at 50% 100%, rgba(123, 46, 255, 0.06) 0%, transparent 50%);
  pointer-events: none;
}

.pb-game-area.crashed {
  border-color: rgba(252, 30, 255, 0.6);
  box-shadow: 
    inset 0 0 100px rgba(255, 50, 80, 0.2),
    inset 0 0 60px rgba(252, 30, 255, 0.15),
    0 0 60px rgba(255, 50, 80, 0.4),
    0 0 80px rgba(252, 30, 255, 0.2);
  animation: shake 0.4s ease-in-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}

.pb-canvas {
  width: 100%;
  height: 220px;
  display: block;
  position: relative;
  z-index: 1;
}

/* ========== MULTIPLIER DISPLAY ========== */
.pb-multiplier-display {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
  font-family: 'Orbitron', monospace;
  z-index: 10;
}

.pb-live-mult {
  font-size: 52px;
  font-weight: 900;
  background: linear-gradient(135deg, #00e7ff 0%, #7B2EFF 50%, #00e7ff 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: multGradient 2s ease-in-out infinite;
  filter: drop-shadow(0 0 20px rgba(0, 231, 255, 0.6)) drop-shadow(0 0 40px rgba(123, 46, 255, 0.4));
  display: block;
}

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

.pb-crashed-display,
.pb-win-display {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.pb-crash-text {
  font-size: 24px;
  font-weight: 900;
  color: #ff1744;
  text-shadow: 0 0 30px rgba(255, 23, 68, 0.8), 0 0 60px rgba(252, 30, 255, 0.4);
  letter-spacing: 4px;
  animation: crashPulse 0.3s ease-in-out infinite;
}

@keyframes crashPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

.pb-crash-mult {
  font-size: 48px;
  font-weight: 900;
  color: #FC1EFF;
  text-shadow: 0 0 30px rgba(252, 30, 255, 0.8);
}

.pb-win-text {
  font-size: 20px;
  font-weight: 800;
  color: #00ff88;
  text-shadow: 0 0 20px rgba(0, 255, 136, 0.6);
  letter-spacing: 3px;
}

.pb-win-mult {
  font-size: 44px;
  font-weight: 900;
  background: linear-gradient(135deg, #00ff88 0%, #00e7ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 0 20px rgba(0, 255, 136, 0.6));
}

.pb-win-amount {
  font-size: 18px;
  font-weight: 700;
  color: #FFB400;
  text-shadow: 0 0 15px rgba(255, 180, 0, 0.5);
}

/* ========== CONTROLS ========== */
.pb-controls-section {
  padding: 20px;
  background: linear-gradient(180deg, transparent 0%, rgba(123, 46, 255, 0.05) 50%, rgba(0, 50, 80, 0.08) 100%);
}

.pb-idle-controls {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pb-crash-history {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(123, 92, 255, 0.2);
}

.pb-history-label {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.pb-history-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.pb-history-pill {
  padding: 4px 8px;
  border-radius: 6px;
  font-family: 'Orbitron', monospace;
  font-size: 11px;
  font-weight: 700;
}

.pb-history-pill.low {
  background: rgba(255, 50, 80, 0.2);
  border: 1px solid rgba(255, 50, 80, 0.4);
  color: #ff5252;
}

.pb-history-pill.mid {
  background: rgba(255, 180, 0, 0.2);
  border: 1px solid rgba(255, 180, 0, 0.4);
  color: #FFB400;
}

.pb-history-pill.high {
  background: rgba(0, 255, 136, 0.2);
  border: 1px solid rgba(0, 255, 136, 0.4);
  color: #00ff88;
}

/* Currency Selector */
.pb-currency-selector {
  display: flex;
  gap: 10px;
}

.pb-curr-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(123, 92, 255, 0.25);
  background: rgba(123, 46, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
  font-family: 'Orbitron', monospace;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pb-curr-btn.active {
  border-color: #00e7ff;
  background: linear-gradient(135deg, rgba(0, 231, 255, 0.15) 0%, rgba(123, 46, 255, 0.1) 100%);
  color: #00e7ff;
  box-shadow: 0 0 20px rgba(0, 231, 255, 0.2);
}

/* Bet Presets */
.pb-bet-presets {
  display: flex;
  gap: 8px;
}

.pb-preset {
  flex: 1;
  padding: 10px 8px;
  border-radius: 10px;
  border: 1px solid rgba(123, 92, 255, 0.3);
  background: linear-gradient(180deg, rgba(123, 46, 255, 0.08) 0%, rgba(0, 100, 150, 0.08) 100%);
  color: #00e7ff;
  font-family: 'Orbitron', monospace;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pb-preset.active {
  border-color: #00e7ff;
  background: linear-gradient(180deg, rgba(0, 231, 255, 0.2) 0%, rgba(123, 46, 255, 0.15) 100%);
  box-shadow: 0 0 15px rgba(0, 231, 255, 0.3);
}

.pb-preset:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Bet Input */
.pb-bet-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.pb-bet-input {
  width: 100%;
  padding: 14px 60px 14px 16px;
  border-radius: 12px;
  border: 1px solid rgba(123, 92, 255, 0.3);
  background: rgba(10, 15, 30, 0.8);
  color: #fff;
  font-family: 'Orbitron', monospace;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.pb-bet-input:focus {
  outline: none;
  border-color: #00e7ff;
  box-shadow: 0 0 20px rgba(0, 231, 255, 0.2);
}

.pb-input-currency {
  position: absolute;
  right: 16px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 600;
}

/* Start Button */
.pb-start-btn {
  width: 100%;
  padding: 18px;
  border-radius: 14px;
  border: none;
  background: linear-gradient(135deg, #00e7ff 0%, #7B2EFF 50%, #FC1EFF 100%);
  background-size: 200% 100%;
  color: #fff;
  font-family: 'Orbitron', sans-serif;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 3px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.3s ease;
  box-shadow: 
    0 4px 25px rgba(123, 46, 255, 0.4),
    0 0 40px rgba(0, 231, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.pb-start-btn:hover:not(:disabled) {
  background-position: 100% 0%;
  transform: translateY(-2px);
  box-shadow: 
    0 6px 35px rgba(252, 30, 255, 0.4),
    0 0 50px rgba(123, 46, 255, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.pb-start-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* ========== RUNNING CONTROLS ========== */
.pb-running-controls {
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-items: center;
}

.pb-potential-win {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.8);
}

.pb-potential-win strong {
  color: #FFB400;
  font-family: 'Orbitron', monospace;
}

.pb-extract-btn {
  width: 100%;
  padding: 20px;
  border-radius: 14px;
  border: none;
  background: linear-gradient(135deg, #00ff88 0%, #00e7ff 50%, #00ff88 100%);
  background-size: 200% 100%;
  color: #000;
  font-family: 'Orbitron', sans-serif;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.2s ease;
  box-shadow: 
    0 4px 30px rgba(0, 255, 136, 0.4),
    0 0 50px rgba(0, 231, 255, 0.3);
}

.pb-extract-btn:hover:not(:disabled) {
  background-position: 100% 0%;
  transform: scale(1.02);
}

.pb-warning-text {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #FC1EFF;
  animation: warningPulse 1s ease-in-out infinite;
}

@keyframes warningPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

/* ========== RESULT CONTROLS ========== */
.pb-result-controls {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pb-win-banner {
  padding: 14px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(0, 255, 136, 0.15) 0%, rgba(0, 231, 255, 0.1) 100%);
  border: 1px solid rgba(0, 255, 136, 0.4);
  color: #00ff88;
  font-size: 16px;
  text-align: center;
}

.pb-win-banner strong {
  font-family: 'Orbitron', monospace;
  font-weight: 800;
}

.pb-lose-banner {
  padding: 14px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(252, 30, 255, 0.1) 0%, rgba(255, 50, 80, 0.08) 100%);
  border: 1px solid rgba(252, 30, 255, 0.35);
  color: #FC1EFF;
  font-size: 13px;
  text-align: center;
}

.pb-near-miss {
  padding: 10px;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(255, 180, 0, 0.15) 0%, rgba(252, 30, 255, 0.1) 100%);
  border: 1px solid rgba(255, 180, 0, 0.4);
  color: #ffcc00;
  font-size: 13px;
  text-align: center;
}

.pb-near-miss strong {
  font-family: 'Orbitron', monospace;
}

.pb-replay-btn {
  width: 100%;
  padding: 16px;
  border-radius: 12px;
  border: 2px solid rgba(123, 92, 255, 0.4);
  background: linear-gradient(135deg, rgba(123, 46, 255, 0.15) 0%, rgba(0, 100, 150, 0.1) 100%);
  color: #fff;
  font-family: 'Orbitron', sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 2px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.pb-replay-btn:hover {
  border-color: #00e7ff;
  background: linear-gradient(135deg, rgba(0, 231, 255, 0.15) 0%, rgba(123, 46, 255, 0.1) 100%);
  box-shadow: 0 0 25px rgba(0, 231, 255, 0.3);
}

.pb-error-msg {
  padding: 10px;
  border-radius: 8px;
  background: rgba(255, 50, 80, 0.15);
  border: 1px solid rgba(255, 50, 80, 0.3);
  color: #ff5252;
  font-size: 13px;
  text-align: center;
}

/* Speed zone indicator */
.pb-speed-indicator {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 4px 10px;
  border-radius: 12px;
  font-family: 'Orbitron', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  z-index: 10;
  transition: all 0.3s ease;
}

.pb-speed-indicator.normal {
  background: rgba(0, 229, 255, 0.2);
  border: 1px solid rgba(0, 229, 255, 0.4);
  color: #00e5ff;
}

.pb-speed-indicator.fast {
  background: rgba(100, 200, 255, 0.25);
  border: 1px solid rgba(100, 200, 255, 0.5);
  color: #64c8ff;
  animation: speedPulse 0.5s ease-in-out;
}

.pb-speed-indicator.supersonic {
  background: rgba(150, 100, 255, 0.3);
  border: 1px solid rgba(150, 100, 255, 0.6);
  color: #9664ff;
  text-shadow: 0 0 10px #9664ff;
  animation: speedPulse 0.3s ease-in-out;
}

.pb-speed-indicator.warp {
  background: rgba(255, 100, 255, 0.35);
  border: 1px solid rgba(255, 100, 255, 0.7);
  color: #ff64ff;
  text-shadow: 0 0 15px #ff64ff;
  animation: warpGlow 0.2s ease-in-out infinite alternate;
}

@keyframes speedPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.15); }
  100% { transform: scale(1); }
}

@keyframes warpGlow {
  from { box-shadow: 0 0 10px rgba(255, 100, 255, 0.5); }
  to { box-shadow: 0 0 25px rgba(255, 100, 255, 0.8); }
}

/* Sonic boom effect overlay */
.pb-sonic-boom {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  border-radius: 14px;
  overflow: hidden;
}

.pb-sonic-boom.supersonic-enter {
  animation: sonicBoom 0.4s ease-out forwards;
}

.pb-sonic-boom.warp-enter {
  animation: warpBoom 0.5s ease-out forwards;
}

@keyframes sonicBoom {
  0% {
    background: radial-gradient(circle at center, rgba(150, 100, 255, 0.8), transparent 30%);
  }
  50% {
    background: radial-gradient(circle at center, rgba(150, 100, 255, 0.4), transparent 60%);
  }
  100% {
    background: transparent;
  }
}

@keyframes warpBoom {
  0% {
    background: radial-gradient(circle at center, rgba(255, 100, 255, 1), transparent 20%);
    backdrop-filter: blur(2px);
  }
  30% {
    background: radial-gradient(circle at center, rgba(255, 100, 255, 0.6), transparent 50%);
  }
  100% {
    background: transparent;
    backdrop-filter: none;
  }
}

/* Small screens */
@media (max-width: 400px) {
  .pb-canvas {
    height: 180px;
  }
  
  .pb-live-mult {
    font-size: 42px;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* ========== LEGAL DISCLAIMER ========== */

/* Footer Disclaimer - Always visible */
.pb-disclaimer-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-top: 1px solid rgba(123, 92, 255, 0.15);
  background: rgba(0, 0, 0, 0.3);
}

.pb-disclaimer-text {
  font-size: 9px;
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
  letter-spacing: 0.3px;
  line-height: 1.3;
}

.pb-disclaimer-info-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 1px solid rgba(0, 229, 255, 0.3);
  background: rgba(0, 229, 255, 0.1);
  color: rgba(0, 229, 255, 0.7);
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.pb-disclaimer-info-btn:hover {
  background: rgba(0, 229, 255, 0.2);
  color: #00e7ff;
  border-color: rgba(0, 229, 255, 0.5);
}

/* Full Disclaimer Modal */
.pb-disclaimer-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 10001;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.pb-disclaimer-modal {
  width: 100%;
  max-width: 360px;
  max-height: 80vh;
  overflow-y: auto;
  background: linear-gradient(180deg, 
    rgba(20, 25, 45, 0.98) 0%, 
    rgba(15, 18, 35, 0.99) 100%
  );
  border-radius: 16px;
  border: 1px solid rgba(0, 229, 255, 0.25);
  padding: 20px;
  position: relative;
}

.pb-disclaimer-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.pb-disclaimer-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.pb-disclaimer-title {
  font-family: 'Orbitron', monospace;
  font-size: 14px;
  font-weight: 700;
  color: #00e7ff;
  margin-bottom: 16px;
  padding-right: 30px;
  text-align: center;
}

.pb-disclaimer-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pb-disclaimer-intro {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(123, 92, 255, 0.2);
}

.pb-disclaimer-section {
  padding: 8px 0;
}

.pb-disclaimer-section h4 {
  font-size: 11px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 4px;
  letter-spacing: 0.5px;
}

.pb-disclaimer-section p {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.4;
}

.pb-disclaimer-legal {
  font-size: 9px;
  color: rgba(255, 180, 0, 0.7);
  text-align: center;
  padding: 12px 0;
  border-top: 1px solid rgba(123, 92, 255, 0.2);
  margin-top: 8px;
}

.pb-disclaimer-copyright {
  font-size: 8px;
  color: rgba(255, 255, 255, 0.3);
  text-align: center;
}

/* © 2025 Joseph MULÉ – M1SSION™ – NIYVORA KFT™ – LEGAL COMPLIANCE */
/* Living Map™ Styles - Neon HUD & Animations */

:root {
  --living-map-neon-primary: #00E5FF;
  --living-map-neon-secondary: #8A2BE2;
  --living-map-stroke: #1E2B3A;
  --living-map-text-primary: #EAF6FF;
  --living-map-text-secondary: #8DA3B8;
  --living-map-glow: 0 0 18px rgba(0, 229, 255, 0.35);
}

/* Radar Sweep */
@keyframes sweepRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes pulseWave {
  0% {
    transform: scale(0.6);
    opacity: 0.85;
  }
  100% {
    transform: scale(2.1);
    opacity: 0;
  }
}

@keyframes borderMarch {
  to {
    stroke-dashoffset: -120;
  }
}

@keyframes portalGlow {
  0%, 100% {
    box-shadow: 0 0 12px rgba(0, 229, 255, 0.4);
  }
  50% {
    box-shadow: 0 0 24px rgba(0, 229, 255, 0.8);
  }
}

@keyframes agentTrail {
  0% { opacity: 0.8; transform: scale(1); }
  100% { opacity: 0; transform: scale(0.4); }
}

/* Radar Container */
.living-radar-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.living-radar-sweep {
  animation: sweepRotate 20s linear infinite;
  transform-origin: center;
}

@media (prefers-reduced-motion: reduce) {
  .living-radar-sweep {
    animation: none;
  }
}

/* Portal Markers */
.living-portal-marker {
  animation: portalGlow 1.8s ease-in-out infinite;
  border-radius: 50%;
  border: 2px solid var(--living-map-neon-primary);
  background: rgba(0, 229, 255, 0.15);
}

.living-portal-marker.active {
  border-color: var(--living-map-neon-secondary);
  box-shadow: 0 0 28px rgba(138, 43, 226, 0.9);
}

/* Event Pulse */
.living-event-pulse {
  animation: pulseWave 2s ease-out infinite;
}

/* Agent Marker */
.living-agent-marker {
  position: relative;
}

.living-agent-trail {
  position: absolute;
  border-radius: 50%;
  animation: agentTrail 1.2s ease-out infinite;
}

/* Control Zone Border */
.living-zone-border {
  stroke-dasharray: 8 4;
  animation: borderMarch 3s linear infinite;
}

/* HUD Glass Effect */
.living-hud-glass {
  background: rgba(13, 17, 23, 0.75);
  backdrop-filter: blur(12px);
  border: 1px solid var(--living-map-stroke);
  border-radius: 16px;
  box-shadow: var(--living-map-glow);
}

/* Legend Chip */
.living-legend-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  background: rgba(0, 229, 255, 0.1);
  border: 1px solid rgba(0, 229, 255, 0.3);
  color: var(--living-map-text-primary);
}

/* Cluster Badge */
.living-cluster-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  background: var(--living-map-neon-secondary);
  color: white;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(138, 43, 226, 0.6);
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */
/**
 * M1SSION™ SHADOW PROTOCOL™ - CSS Effects
 * Stili per overlay entità (MCP / SHADOW / ECHO)
 * © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
 */

/* ============================================================================
   OVERLAY BASE
   ============================================================================ */

/* 🔧 v9: HARDENED POSITIONING - Uses portal to document.body + CSS hardening
   This ensures overlay is ALWAYS fullscreen centered regardless of parent transforms */
.shadow-protocol-overlay {
  position: fixed;
  inset: 0; /* 🔧 v9: Use inset instead of t/r/b/l */
  width: 100vw; /* 🔧 v9: Explicit viewport dimensions */
  height: 100vh;
  z-index: var(--m1-z-shadow-protocol, 101000); /* B1: governed top layer; above WOW, not INT_MAX */
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  /* Background con effetto noise */
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  
  /* Safe area padding - INSIDE the overlay for content breathing room */
  padding:
    env(safe-area-inset-top, 0px)
    env(safe-area-inset-right, 0px)
    env(safe-area-inset-bottom, 0px)
    env(safe-area-inset-left, 0px);
  
  /* 🔧 v9: HARDENING - Prevent stacking context interference */
  transform: none !important;
  will-change: auto;
  isolation: isolate; /* Create own stacking context */
  
  /* Animation */
  animation: shadow-overlay-in 0.3s ease-out;
}

/* 🆕 v7: Faster entry animation - reduced from 0.3s to 0.2s */
/* 🔧 v9: Removed transform from keyframes to work with CSS hardening */
@keyframes shadow-overlay-in {
  0% {
    opacity: 0;
    backdrop-filter: blur(0px);
  }
  100% {
    opacity: 1;
    backdrop-filter: blur(4px);
  }
}

.shadow-protocol-overlay {
  animation: shadow-overlay-in 0.2s ease-out; /* Faster entry */
}

/* ============================================================================
   CRT EFFECTS LAYER
   ============================================================================ */

.shadow-protocol-crt {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

.shadow-protocol-scanlines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.15) 0px,
    rgba(0, 0, 0, 0.15) 1px,
    transparent 1px,
    transparent 2px
  );
  animation: shadow-scanlines 8s linear infinite;
  pointer-events: none;
}

@keyframes shadow-scanlines {
  0% { transform: translateY(0); }
  100% { transform: translateY(-100%); }
}

.shadow-protocol-vignette {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(
    ellipse at center,
    transparent 40%,
    rgba(0, 0, 0, 0.4) 80%,
    rgba(0, 0, 0, 0.7) 100%
  );
  pointer-events: none;
}

/* ============================================================================
   CONTENT CONTAINER
   ============================================================================ */

.shadow-protocol-content {
  position: relative;
  z-index: 1;
  
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  
  max-width: 90vw;
  max-height: 80vh;
  padding: 32px 24px;
  
  text-align: center;
}

/* ============================================================================
   ENTITY BADGE
   ============================================================================ */

.shadow-protocol-badge {
  font-family: 'Orbitron', 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  
  padding: 6px 16px;
  border-radius: 4px;
  
  animation: shadow-badge-pulse 2s ease-in-out infinite;
}

@keyframes shadow-badge-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* ============================================================================
   MESSAGE TEXT
   ============================================================================ */

.shadow-entity-message {
  font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.05em;
  
  white-space: pre-wrap;
  word-break: break-word;
  
  max-width: 600px;
  margin: 0;
  padding: 0;
  
  /* Glow effect */
  text-shadow: 0 0 10px currentColor;
  
  animation: shadow-message-glitch 4s steps(2) infinite;
}

@keyframes shadow-message-glitch {
  0%, 95%, 100% {
    transform: translateX(0);
    filter: none;
  }
  96% {
    transform: translateX(-2px);
    filter: hue-rotate(90deg);
  }
  97% {
    transform: translateX(2px);
    filter: hue-rotate(-90deg);
  }
  98% {
    transform: translateX(-1px);
    filter: brightness(1.2);
  }
}

/* Cursor blinking */
.shadow-entity-cursor {
  animation: shadow-cursor-blink 0.7s step-end infinite;
  opacity: 1;
}

@keyframes shadow-cursor-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* ============================================================================
   ACKNOWLEDGE BUTTON
   ============================================================================ */

.shadow-protocol-button {
  font-family: 'Orbitron', 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  
  padding: 12px 32px;
  margin-top: 16px;
  
  background: transparent;
  border: 2px solid currentColor;
  border-radius: 4px;
  
  cursor: pointer;
  
  transition: all 0.2s ease;
  
  /* Glow */
  box-shadow: 0 0 10px currentColor, inset 0 0 10px transparent;
}

.shadow-protocol-button:hover:not(:disabled) {
  background: currentColor;
  color: black;
  box-shadow: 0 0 20px currentColor, inset 0 0 10px rgba(255, 255, 255, 0.2);
}

.shadow-protocol-button:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.shadow-protocol-button.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
}

/* 🆕 v7: More prominent dismiss button - ENHANCED for better UX */
.shadow-protocol-button.visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  animation: shadow-button-appear 0.2s ease-out, shadow-button-glow 1.5s ease-in-out infinite 0.3s;
  /* Bigger touch target for mobile */
  min-height: 48px;
  min-width: 140px;
}

@keyframes shadow-button-appear {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* 🆕 v7: More noticeable glow animation to attract attention */
@keyframes shadow-button-glow {
  0%, 100% {
    box-shadow: 0 0 15px currentColor;
  }
  50% {
    box-shadow: 0 0 25px currentColor, 0 0 40px currentColor;
  }
}

/* ============================================================================
   LOADING DOTS
   ============================================================================ */

.shadow-protocol-loading {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

.shadow-protocol-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.5;
  animation: shadow-dot-pulse 1.2s ease-in-out infinite;
}

.shadow-protocol-dot:nth-child(2) {
  animation-delay: 0.2s;
}

.shadow-protocol-dot:nth-child(3) {
  animation-delay: 0.4s;
}

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

/* ============================================================================
   ENTITY-SPECIFIC STYLES: MCP (Cyan)
   ============================================================================ */

.shadow-entity-mcp {
  color: #00e5ff;
}

.shadow-entity-mcp .shadow-protocol-badge {
  background: rgba(0, 229, 255, 0.15);
  border: 1px solid rgba(0, 229, 255, 0.5);
  color: #00e5ff;
}

.shadow-entity-mcp .shadow-entity-message {
  color: #00e5ff;
  text-shadow: 0 0 15px rgba(0, 229, 255, 0.8), 0 0 30px rgba(0, 229, 255, 0.4);
}

.shadow-entity-mcp .shadow-protocol-button {
  color: #00e5ff;
  border-color: #00e5ff;
}

/* ============================================================================
   ENTITY-SPECIFIC STYLES: SHADOW (Magenta/Red)
   ============================================================================ */

.shadow-entity-shadow {
  color: #ff0055;
}

.shadow-entity-shadow .shadow-protocol-badge {
  background: rgba(255, 0, 85, 0.15);
  border: 1px solid rgba(255, 0, 85, 0.5);
  color: #ff0055;
}

.shadow-entity-shadow .shadow-entity-message {
  color: #ff0055;
  text-shadow: 0 0 15px rgba(255, 0, 85, 0.8), 0 0 30px rgba(255, 0, 85, 0.4);
}

.shadow-entity-shadow .shadow-protocol-button {
  color: #ff0055;
  border-color: #ff0055;
}

/* SHADOW specific: more aggressive glitch */
.shadow-entity-shadow .shadow-entity-message {
  animation: shadow-message-glitch-aggressive 2s steps(3) infinite;
}

@keyframes shadow-message-glitch-aggressive {
  0%, 90%, 100% {
    transform: translateX(0);
    filter: none;
  }
  91% {
    transform: translateX(-4px) skewX(-2deg);
    filter: hue-rotate(180deg) brightness(1.3);
  }
  93% {
    transform: translateX(4px) skewX(2deg);
    filter: hue-rotate(-180deg) brightness(0.8);
  }
  95% {
    transform: translateX(-2px);
    filter: saturate(2);
  }
}

/* ============================================================================
   ENTITY-SPECIFIC STYLES: ECHO (Gray/White)
   ============================================================================ */

.shadow-entity-echo {
  color: #a0a0a0;
}

.shadow-entity-echo .shadow-protocol-badge {
  background: rgba(160, 160, 160, 0.15);
  border: 1px solid rgba(160, 160, 160, 0.5);
  color: #a0a0a0;
}

.shadow-entity-echo .shadow-entity-message {
  color: #c0c0c0;
  text-shadow: 0 0 10px rgba(192, 192, 192, 0.6), 0 0 20px rgba(192, 192, 192, 0.3);
}

.shadow-entity-echo .shadow-protocol-button {
  color: #a0a0a0;
  border-color: #a0a0a0;
}

/* ECHO specific: subtle flicker */
.shadow-entity-echo .shadow-entity-message {
  animation: shadow-message-flicker 3s ease-in-out infinite;
}

@keyframes shadow-message-flicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.85; }
  52% { opacity: 1; }
  54% { opacity: 0.9; }
}

/* ============================================================================
   INTENSITY VARIATIONS
   ============================================================================ */

/* Intensity 1: Subtle */
.shadow-intensity-1 {
  background: rgba(0, 0, 0, 0.85);
}

.shadow-intensity-1 .shadow-protocol-scanlines {
  opacity: 0.3;
}

/* Intensity 2: Medium */
.shadow-intensity-2 {
  background: rgba(0, 0, 0, 0.9);
}

.shadow-intensity-2 .shadow-protocol-scanlines {
  opacity: 0.5;
}

/* Intensity 3: Strong */
.shadow-intensity-3 {
  background: rgba(0, 0, 0, 0.95);
  animation: shadow-overlay-shake 0.5s ease-out;
}

.shadow-intensity-3 .shadow-protocol-scanlines {
  opacity: 0.7;
}

@keyframes shadow-overlay-shake {
  0%, 100% { transform: translateX(0); }
  10% { transform: translateX(-3px); }
  20% { transform: translateX(3px); }
  30% { transform: translateX(-2px); }
  40% { transform: translateX(2px); }
  50% { transform: translateX(-1px); }
}

/* ============================================================================
   🆕 v8: CINEMATIC ENTITY VISUALS
   Per-entity animated visual elements inside modals
   ============================================================================ */

/* Base visual container */
.entity-visual {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 120px;
  pointer-events: none;
  z-index: 2;
}

/* ============================================================================
   SHADOW ENTITY VISUAL - Inverted Triangle with Eye
   ============================================================================ */

.shadow-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.shadow-visual-triangle {
  position: relative;
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-top: 90px solid rgba(255, 0, 85, 0.3);
  filter: drop-shadow(0 0 20px rgba(255, 0, 85, 0.5));
  animation: shadow-triangle-breathe 3s ease-in-out infinite;
}

.shadow-visual-eye {
  position: absolute;
  top: -65px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 18px;
  background: radial-gradient(ellipse at center, #ff0055 0%, rgba(255, 0, 85, 0.8) 50%, transparent 70%);
  border-radius: 50%;
  animation: shadow-eye-glow 2s ease-in-out infinite alternate;
}

.shadow-visual-pupil {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background: #000;
  border-radius: 50%;
  animation: shadow-pupil-move 4s ease-in-out infinite;
}

.shadow-visual-glitch-line {
  position: absolute;
  height: 2px;
  background: #ff0055;
  opacity: 0;
  animation: shadow-glitch-flash 0.1s steps(2) infinite;
}

.shadow-visual-glitch-line.line-1 {
  top: -40px;
  left: -30px;
  width: 60px;
  animation-delay: 0s;
}

.shadow-visual-glitch-line.line-2 {
  top: -55px;
  left: -20px;
  width: 40px;
  animation-delay: 0.05s;
}

.shadow-visual-glitch-line.line-3 {
  top: -25px;
  left: -40px;
  width: 80px;
  animation-delay: 0.1s;
}

.shadow-visual-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  background: radial-gradient(circle, rgba(255, 0, 85, calc(0.1 + var(--evolution-level, 0) * 0.1)) 0%, transparent 70%);
  animation: shadow-glow-pulse 2s ease-in-out infinite;
}

@keyframes shadow-triangle-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}

@keyframes shadow-eye-glow {
  0% { box-shadow: 0 0 10px rgba(255, 0, 85, 0.5), inset 0 0 5px rgba(255, 0, 85, 0.3); }
  100% { box-shadow: 0 0 20px rgba(255, 0, 85, 0.8), inset 0 0 10px rgba(255, 0, 85, 0.5); }
}

@keyframes shadow-pupil-move {
  0%, 100% { transform: translate(-50%, -50%); }
  25% { transform: translate(-60%, -45%); }
  50% { transform: translate(-40%, -55%); }
  75% { transform: translate(-55%, -50%); }
}

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

@keyframes shadow-glow-pulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

/* ============================================================================
   MCP ENTITY VISUAL - Cyan HUD / Shield
   ============================================================================ */

.mcp-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mcp-visual-ring {
  position: absolute;
  border: 2px solid rgba(0, 229, 255, 0.5);
  border-radius: 50%;
}

.mcp-visual-ring.ring-outer {
  width: 100px;
  height: 100px;
  animation: mcp-ring-rotate 20s linear infinite;
}

.mcp-visual-ring.ring-inner {
  width: 70px;
  height: 70px;
  border-width: 1px;
  animation: mcp-ring-rotate 15s linear infinite reverse;
}

.mcp-visual-tick {
  position: absolute;
  top: -2px;
  left: 50%;
  width: 2px;
  height: 8px;
  background: rgba(0, 229, 255, 0.8);
  transform-origin: center 52px;
}

.mcp-visual-hex {
  position: absolute;
  width: 40px;
  height: 46px;
  background: linear-gradient(135deg, rgba(0, 229, 255, 0.2) 0%, rgba(0, 229, 255, 0.1) 100%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: mcp-hex-pulse 2s ease-in-out infinite;
}

.mcp-visual-hex-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 23px;
  background: rgba(0, 229, 255, 0.4);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.mcp-visual-scan {
  position: absolute;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #00e5ff 50%, transparent 100%);
  animation: mcp-scan 2s linear infinite;
}

.mcp-visual-shield-pulse {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 2px solid rgba(0, 229, 255, 0.3);
  animation: mcp-shield-expand 3s ease-out infinite;
}

@keyframes mcp-ring-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes mcp-hex-pulse {
  0%, 100% { 
    transform: scale(1);
    box-shadow: 0 0 10px rgba(0, 229, 255, 0.3);
  }
  50% { 
    transform: scale(1.05);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.5);
  }
}

@keyframes mcp-scan {
  0% { top: 0%; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

@keyframes mcp-shield-expand {
  0% { 
    transform: scale(0.8);
    opacity: 0.8;
  }
  100% { 
    transform: scale(1.5);
    opacity: 0;
  }
}

/* ============================================================================
   ECHO ENTITY VISUAL - Ghosted Waveform / Broken Circle
   ============================================================================ */

.echo-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.echo-visual-ring {
  position: absolute;
  width: 100px;
  height: 100px;
}

.echo-visual-segment {
  position: absolute;
  top: 0;
  left: 50%;
  width: 3px;
  height: 15px;
  background: rgba(160, 160, 160, 0.6);
  transform-origin: center 50px;
  animation: echo-segment-flicker 2s ease-in-out infinite;
}

.echo-visual-wave {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.echo-visual-wave-line {
  width: 3px;
  background: rgba(192, 192, 192, 0.8);
  animation: echo-wave 1.5s ease-in-out infinite;
}

.echo-visual-wave-line.line-1 {
  height: 20px;
  animation-delay: 0s;
}

.echo-visual-wave-line.line-2 {
  height: 35px;
  animation-delay: 0.2s;
}

.echo-visual-wave-line.line-3 {
  height: 25px;
  animation-delay: 0.4s;
}

.echo-visual-ghost {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(160, 160, 160, 0.2);
  border-radius: 50%;
  animation: echo-ghost 3s ease-in-out infinite;
}

.echo-visual-ghost.ghost-1 {
  animation-delay: 0s;
}

.echo-visual-ghost.ghost-2 {
  animation-delay: 1.5s;
}

.echo-visual-static {
  position: absolute;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 2px,
    rgba(160, 160, 160, 0.1) 2px,
    rgba(160, 160, 160, 0.1) 4px
  );
  animation: echo-static 0.5s steps(4) infinite;
}

@keyframes echo-segment-flicker {
  0%, 100% { opacity: 0.6; }
  25% { opacity: 0.3; }
  50% { opacity: 0.8; }
  75% { opacity: 0.4; }
}

@keyframes echo-wave {
  0%, 100% { 
    transform: scaleY(1);
    opacity: 0.8;
  }
  50% { 
    transform: scaleY(0.5);
    opacity: 0.4;
  }
}

@keyframes echo-ghost {
  0% { 
    transform: scale(1) translateY(0);
    opacity: 0.3;
  }
  50% { 
    transform: scale(1.1) translateY(-5px);
    opacity: 0.1;
  }
  100% { 
    transform: scale(1.2) translateY(-10px);
    opacity: 0;
  }
}

@keyframes echo-static {
  0% { background-position: 0 0; }
  25% { background-position: 0 1px; }
  50% { background-position: 0 -1px; }
  75% { background-position: 0 2px; }
}

/* Entity visual reduced motion */
.entity-visual.reduced-motion .shadow-visual-triangle,
.entity-visual.reduced-motion .mcp-visual-ring,
.entity-visual.reduced-motion .mcp-visual-hex,
.entity-visual.reduced-motion .echo-visual-segment,
.entity-visual.reduced-motion .echo-visual-wave-line {
  animation: none !important;
}

.entity-visual.reduced-motion .shadow-visual-glow,
.entity-visual.reduced-motion .mcp-visual-scan,
.entity-visual.reduced-motion .mcp-visual-shield-pulse,
.entity-visual.reduced-motion .echo-visual-ghost,
.entity-visual.reduced-motion .echo-visual-static {
  display: none;
}

/* ============================================================================
   REDUCED MOTION
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
  .shadow-protocol-overlay,
  .shadow-protocol-scanlines,
  .shadow-entity-message,
  .shadow-protocol-badge,
  .shadow-protocol-dot,
  .shadow-entity-cursor {
    animation: none !important;
  }
  
  .shadow-protocol-scanlines {
    display: none;
  }
  
  .shadow-entity-cursor {
    opacity: 1;
  }
}

/* ============================================================================
   MOBILE ADJUSTMENTS
   ============================================================================ */

@media (max-width: 480px) {
  .shadow-protocol-content {
    padding: 24px 16px;
  }
  
  .shadow-entity-message {
    font-size: 15px;
  }
  
  .shadow-protocol-badge {
    font-size: 10px;
    padding: 4px 12px;
  }
  
  .shadow-protocol-button {
    font-size: 12px;
    padding: 10px 24px;
  }
}

/* ============================================================================
   SHADOW FACE FRAGMENTS (v2)
   Frammenti di volto glitchato per entity SHADOW
   Solo CSS, pattern astratto pseudo-facciale
   ============================================================================ */

.shadow-face-container {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 60%;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.shadow-face-fragment {
  position: absolute;
  width: 80px;
  height: 100px;
  
  /* Abstract face silhouette using gradients */
  background: 
    radial-gradient(ellipse 60% 50% at 50% 30%, rgba(255, 0, 85, 0.15) 0%, transparent 70%);
  
  border-radius: 40% 40% 35% 35%;
  
  /* Glitch animation */
  animation: shadow-face-glitch 0.12s steps(2) infinite;
  opacity: 0;
}

.shadow-face-fragment.intensity-1 {
  opacity: 0.3;
}

.shadow-face-fragment.intensity-2 {
  opacity: 0.5;
}

.shadow-face-fragment.intensity-3 {
  opacity: 0.7;
}

@keyframes shadow-face-glitch {
  0%, 100% {
    opacity: 0;
    transform: translateX(0) scale(1);
  }
  25% {
    opacity: var(--face-opacity, 0.5);
    transform: translateX(-3px) scale(1.02) skewX(-2deg);
    filter: hue-rotate(20deg);
  }
  50% {
    opacity: 0;
    transform: translateX(5px) scale(0.98);
  }
  75% {
    opacity: var(--face-opacity, 0.5);
    transform: translateX(-2px) scale(1.01) skewX(2deg);
    filter: hue-rotate(-20deg);
  }
}

/* Eye shapes */
.shadow-face-eye {
  position: absolute;
  width: 12px;
  height: 6px;
  background: rgba(255, 0, 85, 0.6);
  border-radius: 50%;
  top: 35%;
  
  /* Glow */
  box-shadow: 0 0 8px rgba(255, 0, 85, 0.8), 0 0 15px rgba(255, 0, 85, 0.4);
  
  animation: shadow-eye-blink 2s steps(1) infinite;
}

.shadow-face-eye.left {
  left: 22%;
}

.shadow-face-eye.right {
  right: 22%;
}

@keyframes shadow-eye-blink {
  0%, 95%, 100% { transform: scaleY(1); }
  96% { transform: scaleY(0.1); }
}

/* Mouth shape */
.shadow-face-mouth {
  position: absolute;
  width: 20px;
  height: 3px;
  background: rgba(255, 0, 85, 0.4);
  border-radius: 2px;
  bottom: 30%;
  left: 50%;
  transform: translateX(-50%);
  
  animation: shadow-mouth-twitch 3s ease-in-out infinite;
}

@keyframes shadow-mouth-twitch {
  0%, 100% { width: 20px; }
  30% { width: 25px; }
  60% { width: 15px; }
}

/* Scanlines over face */
.shadow-face-scanlines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 0, 85, 0.05) 0px,
    rgba(255, 0, 85, 0.05) 1px,
    transparent 1px,
    transparent 3px
  );
  pointer-events: none;
}

/* Reduced motion: hide face fragments */
.reduced-motion .shadow-face-container {
  display: none;
}

/* Mobile: smaller fragments */
@media (max-width: 480px) {
  .shadow-face-fragment {
    width: 50px;
    height: 65px;
  }
  
  .shadow-face-eye {
    width: 8px;
    height: 4px;
  }
  
  .shadow-face-mouth {
    width: 14px;
    height: 2px;
  }
}

/* ============================================================================
   SHADOW INTERCEPTS PANEL (Intelligence Page)
   Lista dei messaggi Shadow Protocol recenti
   ============================================================================ */

.shadow-intercepts-container {
  background: rgba(10, 10, 20, 0.8);
  border: 1px solid rgba(100, 100, 120, 0.3);
  border-radius: 8px;
  padding: 12px;
  margin-top: 12px;
  backdrop-filter: blur(4px);
}

.shadow-intercepts-container.empty {
  opacity: 0.7;
}

.shadow-intercepts-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(100, 100, 120, 0.2);
}

.shadow-intercepts-icon {
  font-size: 14px;
}

.shadow-intercepts-title {
  font-family: 'Orbitron', 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #808090;
  text-transform: uppercase;
}

.shadow-intercepts-count {
  margin-left: auto;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  background: rgba(100, 100, 120, 0.3);
  padding: 2px 8px;
  border-radius: 10px;
  color: #a0a0b0;
}

.shadow-intercepts-empty {
  text-align: center;
  padding: 16px 8px;
  color: #606070;
  font-size: 12px;
}

.shadow-intercepts-hint {
  font-size: 10px;
  color: #404050;
  margin-top: 4px;
}

.shadow-intercepts-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 200px;
  overflow-y: auto;
  
  /* Custom scrollbar */
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 100, 120, 0.3) transparent;
}

.shadow-intercepts-list::-webkit-scrollbar {
  width: 4px;
}

.shadow-intercepts-list::-webkit-scrollbar-track {
  background: transparent;
}

.shadow-intercepts-list::-webkit-scrollbar-thumb {
  background: rgba(100, 100, 120, 0.3);
  border-radius: 2px;
}

.shadow-intercept-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 10px;
  background: rgba(20, 20, 30, 0.6);
  border-radius: 6px;
  border-left: 2px solid;
  transition: background 0.2s ease;
}

.shadow-intercept-item:hover {
  background: rgba(30, 30, 40, 0.8);
}

.shadow-intercept-item.entity-mcp {
  border-left-color: #00e5ff;
}

.shadow-intercept-item.entity-shadow {
  border-left-color: #ff0055;
}

.shadow-intercept-item.entity-echo {
  border-left-color: #a0a0a0;
}

.shadow-intercept-entity {
  flex-shrink: 0;
}

.shadow-intercept-badge {
  font-family: 'Orbitron', 'JetBrains Mono', monospace;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 2px 6px;
  border: 1px solid;
  border-radius: 3px;
  opacity: 0.9;
}

.shadow-intercept-content {
  flex: 1;
  min-width: 0;
}

.shadow-intercept-text {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  line-height: 1.4;
  color: #c0c0d0;
  margin: 0;
  
  /* Truncate long text */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.shadow-intercept-time {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  color: #606070;
  margin-top: 4px;
  display: block;
}

/* Mobile adjustments */
@media (max-width: 480px) {
  .shadow-intercepts-container {
    padding: 10px;
  }
  
  .shadow-intercept-item {
    padding: 6px 8px;
  }
  
  .shadow-intercept-text {
    font-size: 10px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   🔒 HIDE SHADOW INTERCEPTS (Intelligence Page) - Reversible in 5 seconds
   Per riattivare: rimuovi questa singola regola
   ═══════════════════════════════════════════════════════════════════════════ */
.shadow-intercepts-container {
  display: none !important;
}

/* ============================================================================
   MISSION START SEQUENCE
   Sequenza narrativa breve all'inizio della missione
   ============================================================================ */

.mission-start-sequence {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999995;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  background: rgba(0, 0, 0, 0.95);
  cursor: pointer;
  
  padding: env(safe-area-inset-top, 20px) env(safe-area-inset-right, 20px) env(safe-area-inset-bottom, 20px) env(safe-area-inset-left, 20px);
}

.mission-start-crt {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.mission-start-scanlines {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.1) 0px,
    rgba(0, 0, 0, 0.1) 1px,
    transparent 1px,
    transparent 3px
  );
  animation: shadow-scanlines 10s linear infinite;
  pointer-events: none;
  opacity: 0.5;
}

.mission-start-content {
  position: relative;
  z-index: 1;
  
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  
  max-width: 90vw;
  text-align: center;
}

.mission-start-line {
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  
  text-shadow: 0 0 10px currentColor;
}

.mission-start-line.entity-mcp {
  color: #00e5ff;
}

.mission-start-line.entity-shadow {
  color: #ff0055;
}

.mission-start-line.entity-echo {
  color: #a0a0a0;
}

.mission-start-continue {
  margin-top: 32px;
  
  font-family: 'Orbitron', monospace;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  
  color: #00e5ff;
  background: transparent;
  border: 2px solid #00e5ff;
  border-radius: 4px;
  padding: 12px 32px;
  
  cursor: pointer;
  transition: all 0.2s ease;
  
  box-shadow: 0 0 15px rgba(0, 229, 255, 0.3);
}

.mission-start-continue:hover {
  background: #00e5ff;
  color: black;
  box-shadow: 0 0 25px rgba(0, 229, 255, 0.5);
}

.mission-start-continue.hidden {
  opacity: 0;
  pointer-events: none;
}

.mission-start-continue.visible {
  opacity: 1;
  pointer-events: auto;
}

.mission-start-skip {
  margin-top: 24px;
  
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: #404050;
  letter-spacing: 0.1em;
}

/* Mobile adjustments */
@media (max-width: 480px) {
  .mission-start-line {
    font-size: 14px;
  }
  
  .mission-start-continue {
    font-size: 12px;
    padding: 10px 24px;
  }
}

/* ============================================================================
   🆕 v5: CTA BUTTONS
   Pulsanti interattivi per navigazione
   ============================================================================ */

.shadow-protocol-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
}

/* CTA Button Styles */
.shadow-protocol-cta {
  position: relative;
  overflow: hidden;
}

.shadow-protocol-cta.primary {
  background: linear-gradient(135deg, rgba(0, 229, 255, 0.2) 0%, rgba(0, 229, 255, 0.1) 100%);
  border-color: #00e5ff;
  color: #00e5ff;
  font-weight: 700;
}

.shadow-protocol-cta.primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #00e5ff 0%, #00b8cc 100%);
  color: black;
  box-shadow: 0 0 25px rgba(0, 229, 255, 0.6), 0 0 50px rgba(0, 229, 255, 0.3);
}

.shadow-protocol-cta.secondary {
  background: transparent;
  border-color: currentColor;
  opacity: 0.8;
}

.shadow-protocol-cta.secondary:hover:not(:disabled) {
  opacity: 1;
  background: rgba(255, 255, 255, 0.1);
}

/* CTA pulse animation for primary */
.shadow-protocol-cta.primary.visible::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: radial-gradient(circle, rgba(0, 229, 255, 0.4) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  animation: shadow-cta-pulse 2s ease-out infinite;
  pointer-events: none;
}

@keyframes shadow-cta-pulse {
  0% {
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    width: 300%;
    height: 300%;
    opacity: 0;
  }
}

/* Entity-specific CTA colors */
.shadow-entity-shadow .shadow-protocol-cta.primary {
  background: linear-gradient(135deg, rgba(255, 0, 85, 0.2) 0%, rgba(255, 0, 85, 0.1) 100%);
  border-color: #ff0055;
  color: #ff0055;
}

.shadow-entity-shadow .shadow-protocol-cta.primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #ff0055 0%, #cc0044 100%);
  box-shadow: 0 0 25px rgba(255, 0, 85, 0.6), 0 0 50px rgba(255, 0, 85, 0.3);
}

.shadow-entity-shadow .shadow-protocol-cta.primary.visible::before {
  background: radial-gradient(circle, rgba(255, 0, 85, 0.4) 0%, transparent 70%);
}

.shadow-entity-echo .shadow-protocol-cta.primary {
  background: linear-gradient(135deg, rgba(160, 160, 160, 0.2) 0%, rgba(160, 160, 160, 0.1) 100%);
  border-color: #a0a0a0;
  color: #a0a0a0;
}

.shadow-entity-echo .shadow-protocol-cta.primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #a0a0a0 0%, #808080 100%);
  box-shadow: 0 0 25px rgba(160, 160, 160, 0.6), 0 0 50px rgba(160, 160, 160, 0.3);
}

/* Mobile: Stack buttons */
@media (max-width: 480px) {
  .shadow-protocol-buttons {
    width: 100%;
    gap: 10px;
  }
  
  .shadow-protocol-cta,
  .shadow-protocol-button {
    width: 100%;
    max-width: 280px;
  }
}

/* ============================================================================
   🆕 v5: GLOBAL GLITCH EFFECT
   Effetto glitch applicato al root della pagina
   ============================================================================ */

html.shadow-global-glitch-active {
  animation: shadow-global-glitch 0.3s steps(3) forwards;
}

@keyframes shadow-global-glitch {
  0% {
    filter: none;
    transform: translateX(0);
  }
  10% {
    filter: hue-rotate(90deg) saturate(1.5);
    transform: translateX(-2px);
  }
  20% {
    filter: hue-rotate(-90deg) brightness(1.1);
    transform: translateX(3px) skewX(-0.5deg);
  }
  30% {
    filter: hue-rotate(180deg) contrast(1.2);
    transform: translateX(-1px);
  }
  40% {
    filter: invert(0.1) hue-rotate(-45deg);
    transform: translateX(2px) skewX(0.5deg);
  }
  50% {
    filter: saturate(2) brightness(0.9);
    transform: translateX(-3px);
  }
  60% {
    filter: hue-rotate(45deg);
    transform: translateX(1px);
  }
  70% {
    filter: contrast(1.3) saturate(0.8);
    transform: translateX(-1px) skewX(-0.3deg);
  }
  80% {
    filter: hue-rotate(-30deg) brightness(1.2);
    transform: translateX(2px);
  }
  90% {
    filter: saturate(1.2);
    transform: translateX(-1px);
  }
  100% {
    filter: none;
    transform: translateX(0);
  }
}

/* Intensity-based variations via CSS custom property */
html.shadow-global-glitch-active[style*="--global-glitch-intensity: 0.3"] {
  animation-name: shadow-global-glitch-soft;
}

@keyframes shadow-global-glitch-soft {
  0%, 100% {
    filter: none;
    transform: translateX(0);
  }
  25% {
    filter: brightness(1.05);
    transform: translateX(-1px);
  }
  50% {
    filter: hue-rotate(10deg);
    transform: translateX(1px);
  }
  75% {
    filter: brightness(0.98);
    transform: translateX(-0.5px);
  }
}

/* ============================================================================
   🆕 v5: MAP GLITCH EFFECT
   Effetto glitch applicato al container della mappa
   ============================================================================ */

.shadow-map-glitch-active {
  animation: shadow-map-glitch 0.5s steps(4) forwards;
  pointer-events: auto; /* Non blocca interazioni */
}

@keyframes shadow-map-glitch {
  0% {
    filter: none;
    transform: scale(1) rotate(0deg);
  }
  10% {
    filter: contrast(1.2) hue-rotate(15deg);
    transform: scale(1.005) rotate(0.1deg);
  }
  20% {
    filter: brightness(0.95) saturate(1.3);
    transform: scale(0.998) rotate(-0.05deg) translateX(-2px);
  }
  30% {
    filter: hue-rotate(-20deg) contrast(1.1);
    transform: scale(1.002) translateY(-1px);
  }
  40% {
    filter: brightness(1.1) saturate(0.9);
    transform: scale(0.997) rotate(0.08deg) translateX(3px);
  }
  50% {
    filter: contrast(1.15) hue-rotate(10deg);
    transform: scale(1.003) translateY(2px);
  }
  60% {
    filter: saturate(1.2) brightness(0.98);
    transform: scale(0.999) rotate(-0.1deg);
  }
  70% {
    filter: hue-rotate(-10deg);
    transform: scale(1.001) translateX(-1px);
  }
  80% {
    filter: contrast(1.05) brightness(1.02);
    transform: scale(0.998) translateY(-1px);
  }
  90% {
    filter: saturate(1.1);
    transform: scale(1) rotate(0.02deg);
  }
  100% {
    filter: none;
    transform: scale(1) rotate(0deg);
  }
}

/* Intensity-based map glitch (via CSS custom property) */
.shadow-map-glitch-active[style*="--map-glitch-intensity: 0.3"] {
  animation-name: shadow-map-glitch-soft;
}

@keyframes shadow-map-glitch-soft {
  0%, 100% {
    filter: none;
    transform: none;
  }
  25% {
    filter: brightness(1.03);
    transform: translateX(-0.5px);
  }
  50% {
    filter: contrast(1.02) hue-rotate(5deg);
  }
  75% {
    filter: brightness(0.99);
    transform: translateX(0.5px);
  }
}

/* High intensity map glitch */
.shadow-map-glitch-active[style*="--map-glitch-intensity: 1"] {
  animation-name: shadow-map-glitch-intense;
}

@keyframes shadow-map-glitch-intense {
  0% {
    filter: none;
    transform: scale(1);
  }
  5% {
    filter: invert(0.1) hue-rotate(30deg) contrast(1.3);
    transform: scale(1.01) rotate(0.2deg) translateX(-4px);
  }
  10% {
    filter: hue-rotate(-60deg) saturate(2);
    transform: scale(0.995) skewX(-0.5deg) translateY(-3px);
  }
  20% {
    filter: brightness(0.9) contrast(1.4) hue-rotate(90deg);
    transform: scale(1.008) rotate(-0.15deg) translateX(5px);
  }
  30% {
    filter: invert(0.15) saturate(1.5);
    transform: scale(0.99) translateY(4px);
  }
  50% {
    filter: hue-rotate(-120deg) brightness(1.2) contrast(1.2);
    transform: scale(1.005) skewX(0.3deg) translateX(-3px);
  }
  70% {
    filter: saturate(2.5) brightness(0.85);
    transform: scale(0.997) rotate(0.1deg) translateY(-2px);
  }
  90% {
    filter: hue-rotate(15deg) contrast(1.1);
    transform: scale(1.002) translateX(1px);
  }
  100% {
    filter: none;
    transform: scale(1);
  }
}

/* Map glitch scanlines overlay */
.shadow-map-glitch-active::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 0, 85, 0.03) 0px,
    rgba(255, 0, 85, 0.03) 1px,
    transparent 1px,
    transparent 3px
  );
  pointer-events: none;
  animation: shadow-map-scanlines 0.5s steps(2) forwards;
  z-index: 10000;
}

@keyframes shadow-map-scanlines {
  0% { opacity: 0; }
  10% { opacity: 0.8; }
  50% { opacity: 0.5; }
  100% { opacity: 0; }
}

/* Reduced motion: disable all glitch animations */
@media (prefers-reduced-motion: reduce) {
  html.shadow-global-glitch-active,
  .shadow-map-glitch-active {
    animation: none !important;
  }
  
  html.shadow-global-glitch-active {
    filter: brightness(0.98);
  }
  
  .shadow-map-glitch-active {
    filter: brightness(0.98);
  }
  
  .shadow-map-glitch-active::after {
    display: none;
  }
  
  .shadow-protocol-cta.primary.visible::before {
    animation: none;
  }
}

/* ============================================================================
   🆕 v6: SHADOW GLITCH ENGINE EFFECTS
   Effetti orchestrati dal ShadowGlitchEngine centrale
   ============================================================================ */

/* NOISE OVERLAY */
.shadow-glitch-noise::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 999998;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  opacity: calc(var(--glitch-intensity, 0.5) * 0.3);
  animation: shadow-noise-flicker 0.1s steps(5) infinite;
}

@keyframes shadow-noise-flicker {
  0%, 100% { opacity: calc(var(--glitch-intensity, 0.5) * 0.3); }
  50% { opacity: calc(var(--glitch-intensity, 0.5) * 0.5); }
}

/* HORIZONTAL TEARING */
.shadow-glitch-tearing {
  animation: shadow-tearing 0.15s steps(2) infinite;
}

@keyframes shadow-tearing {
  0% { 
    clip-path: inset(0 0 0 0);
    transform: translateX(0);
  }
  25% { 
    clip-path: inset(10% 0 70% 0);
    transform: translateX(calc(var(--glitch-intensity, 0.5) * -8px));
  }
  50% { 
    clip-path: inset(40% 0 30% 0);
    transform: translateX(calc(var(--glitch-intensity, 0.5) * 12px));
  }
  75% { 
    clip-path: inset(60% 0 10% 0);
    transform: translateX(calc(var(--glitch-intensity, 0.5) * -5px));
  }
  100% { 
    clip-path: inset(0 0 0 0);
    transform: translateX(0);
  }
}

/* PIXEL SORT STREAKS */
.shadow-glitch-pixel-sort::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 999997;
  background: linear-gradient(
    90deg,
    transparent 0%,
    transparent 45%,
    rgba(255, 0, 85, calc(var(--glitch-intensity, 0.5) * 0.2)) 46%,
    rgba(0, 229, 255, calc(var(--glitch-intensity, 0.5) * 0.2)) 54%,
    transparent 55%,
    transparent 100%
  );
  animation: shadow-pixel-sort 0.2s steps(3) infinite;
}

@keyframes shadow-pixel-sort {
  0% { transform: translateX(-30%); }
  100% { transform: translateX(130%); }
}

/* RGB CHANNEL SHIFT */
.shadow-glitch-channel-shift {
  animation: shadow-channel-shift 0.15s steps(2) forwards;
}

@keyframes shadow-channel-shift {
  0% {
    text-shadow: none;
    filter: none;
  }
  25% {
    text-shadow: 
      calc(var(--glitch-intensity, 0.5) * -3px) 0 rgba(255, 0, 0, 0.7),
      calc(var(--glitch-intensity, 0.5) * 3px) 0 rgba(0, 255, 255, 0.7);
    filter: saturate(1.5);
  }
  50% {
    text-shadow: 
      calc(var(--glitch-intensity, 0.5) * 2px) 0 rgba(255, 0, 0, 0.7),
      calc(var(--glitch-intensity, 0.5) * -2px) 0 rgba(0, 255, 255, 0.7);
    filter: hue-rotate(20deg);
  }
  75% {
    text-shadow: 
      calc(var(--glitch-intensity, 0.5) * -1px) 0 rgba(255, 0, 0, 0.5),
      calc(var(--glitch-intensity, 0.5) * 1px) 0 rgba(0, 255, 255, 0.5);
    filter: none;
  }
  100% {
    text-shadow: none;
    filter: none;
  }
}

/* TURBULENCE */
.shadow-glitch-turbulence {
  animation: shadow-turbulence 0.3s ease-out forwards;
}

@keyframes shadow-turbulence {
  0%, 100% { filter: none; }
  10% { filter: blur(1px) contrast(1.1); }
  30% { filter: blur(2px) brightness(1.1); }
  50% { filter: blur(1px) contrast(1.2) saturate(1.3); }
  70% { filter: blur(0.5px) brightness(0.95); }
  90% { filter: blur(0.25px); }
}

/* SKEW FLICKER */
.shadow-glitch-skew-flicker {
  animation: shadow-skew-flicker 0.2s steps(4) forwards;
}

@keyframes shadow-skew-flicker {
  0% { transform: skew(0deg) scale(1); }
  25% { transform: skew(calc(var(--glitch-intensity, 0.5) * -2deg)) scale(1.01); }
  50% { transform: skew(calc(var(--glitch-intensity, 0.5) * 1.5deg)) scale(0.99); }
  75% { transform: skew(calc(var(--glitch-intensity, 0.5) * -0.5deg)) scale(1.005); }
  100% { transform: skew(0deg) scale(1); }
}

/* BLACKOUT FLASH */
.shadow-glitch-blackout::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 999999;
  background: black;
  animation: shadow-blackout 0.12s steps(2) forwards;
}

@keyframes shadow-blackout {
  0% { opacity: 0; }
  10% { opacity: 1; }
  40% { opacity: 1; }
  50% { opacity: 0; }
  60% { opacity: 0.8; }
  100% { opacity: 0; }
}

/* VIGNETTE PULSE (BREATHING) */
.shadow-glitch-vignette-pulse::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 999996;
  background: radial-gradient(
    ellipse at center,
    transparent 30%,
    rgba(0, 0, 0, calc(var(--glitch-intensity, 0.5) * 0.7)) 100%
  );
  animation: shadow-vignette-breathe 0.8s ease-in-out;
}

@keyframes shadow-vignette-breathe {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}

/* CAMERA SHAKE */
.shadow-glitch-camera-shake {
  animation: shadow-camera-shake 0.2s ease-out;
}

@keyframes shadow-camera-shake {
  0%, 100% { transform: translate(0, 0) rotate(0); }
  10% { transform: translate(calc(var(--glitch-intensity, 0.5) * -4px), calc(var(--glitch-intensity, 0.5) * 2px)) rotate(-0.3deg); }
  20% { transform: translate(calc(var(--glitch-intensity, 0.5) * 5px), calc(var(--glitch-intensity, 0.5) * -3px)) rotate(0.3deg); }
  30% { transform: translate(calc(var(--glitch-intensity, 0.5) * -3px), calc(var(--glitch-intensity, 0.5) * 4px)) rotate(-0.2deg); }
  40% { transform: translate(calc(var(--glitch-intensity, 0.5) * 4px), calc(var(--glitch-intensity, 0.5) * 2px)) rotate(0.2deg); }
  50% { transform: translate(calc(var(--glitch-intensity, 0.5) * -2px), calc(var(--glitch-intensity, 0.5) * -3px)) rotate(-0.1deg); }
  60% { transform: translate(calc(var(--glitch-intensity, 0.5) * 3px), calc(var(--glitch-intensity, 0.5) * 1px)) rotate(0.1deg); }
  70% { transform: translate(calc(var(--glitch-intensity, 0.5) * -1px), calc(var(--glitch-intensity, 0.5) * 2px)); }
  80% { transform: translate(calc(var(--glitch-intensity, 0.5) * 1px), calc(var(--glitch-intensity, 0.5) * -1px)); }
}

/* TERRAIN WARP (MAP) */
.shadow-glitch-terrain-warp {
  animation: shadow-terrain-warp 0.4s ease-out;
  perspective: 1000px;
}

@keyframes shadow-terrain-warp {
  0%, 100% { 
    transform: perspective(1000px) rotateX(0) rotateY(0);
    filter: none;
  }
  20% { 
    transform: perspective(1000px) rotateX(calc(var(--glitch-intensity, 0.5) * 1deg)) rotateY(calc(var(--glitch-intensity, 0.5) * -0.5deg));
    filter: hue-rotate(10deg);
  }
  40% { 
    transform: perspective(1000px) rotateX(calc(var(--glitch-intensity, 0.5) * -0.8deg)) rotateY(calc(var(--glitch-intensity, 0.5) * 0.8deg));
    filter: saturate(1.2);
  }
  60% { 
    transform: perspective(1000px) rotateX(calc(var(--glitch-intensity, 0.5) * 0.5deg)) rotateY(calc(var(--glitch-intensity, 0.5) * -0.3deg));
    filter: contrast(1.1);
  }
  80% { 
    transform: perspective(1000px) rotateX(calc(var(--glitch-intensity, 0.5) * -0.2deg)) rotateY(calc(var(--glitch-intensity, 0.5) * 0.2deg));
    filter: none;
  }
}

/* ============================================================================
   SHADOW WHISPER MODE
   Micro-overlay in bottom-left with flicker text
   ============================================================================ */

.shadow-whisper-container {
  position: fixed;
  bottom: calc(env(safe-area-inset-bottom, 20px) + 80px);
  left: 16px;
  max-width: 280px;
  padding: 12px 16px;
  background: rgba(0, 0, 0, 0.9);
  border: 1px solid rgba(255, 0, 85, 0.5);
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: #ff0055;
  z-index: 999994;
  opacity: 0;
  transform: translateX(-20px);
  pointer-events: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
  text-shadow: 0 0 10px rgba(255, 0, 85, 0.5);
  animation: shadow-whisper-flicker 0.1s steps(2) infinite;
}

.shadow-whisper-container.visible {
  opacity: 1;
  transform: translateX(0);
}

@keyframes shadow-whisper-flicker {
  0%, 90%, 100% { opacity: 1; }
  92% { opacity: 0.7; }
  95% { opacity: 0.9; }
}

/* ============================================================================
   SHADOW CROSSHAIR OVERLAY
   Digital targeting crosshair
   ============================================================================ */

.shadow-crosshair-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 999993;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.shadow-crosshair-overlay.visible {
  opacity: 1;
}

.shadow-crosshair-overlay .crosshair-horizontal {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 0, 85, 0.2) 20%,
    rgba(255, 0, 85, 0.8) 45%,
    transparent 50%,
    rgba(255, 0, 85, 0.8) 55%,
    rgba(255, 0, 85, 0.2) 80%,
    transparent 100%
  );
  animation: crosshair-scan 0.8s linear infinite;
}

.shadow-crosshair-overlay .crosshair-vertical {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(255, 0, 85, 0.2) 20%,
    rgba(255, 0, 85, 0.8) 45%,
    transparent 50%,
    rgba(255, 0, 85, 0.8) 55%,
    rgba(255, 0, 85, 0.2) 80%,
    transparent 100%
  );
}

.shadow-crosshair-overlay .crosshair-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 0, 85, 0.8);
  border-radius: 50%;
  animation: crosshair-pulse 0.5s ease-in-out infinite;
}

@keyframes crosshair-scan {
  0% { opacity: 0.5; }
  50% { opacity: 1; }
  100% { opacity: 0.5; }
}

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

/* ============================================================================
   SHADOW HIGHLIGHT PULSE
   For component highlighting
   ============================================================================ */

.shadow-highlight-pulse {
  position: relative;
  animation: shadow-highlight-glow 0.5s ease-in-out 4;
}

.shadow-highlight-pulse::after {
  content: '';
  position: absolute;
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;
  border: 2px solid rgba(255, 0, 85, 0.8);
  border-radius: inherit;
  animation: shadow-highlight-border 0.5s ease-in-out 4;
}

@keyframes shadow-highlight-glow {
  0%, 100% { box-shadow: 0 0 0 rgba(255, 0, 85, 0); }
  50% { box-shadow: 0 0 20px rgba(255, 0, 85, 0.5); }
}

@keyframes shadow-highlight-border {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}

/* ============================================================================
   SHADOW PULSE BUZZ BUTTON
   ============================================================================ */

.shadow-pulse-buzz {
  animation: shadow-buzz-pulse 0.5s ease-in-out 4 !important;
}

@keyframes shadow-buzz-pulse {
  0%, 100% { 
    transform: scale(1);
    box-shadow: 0 0 0 rgba(0, 229, 255, 0);
  }
  50% { 
    transform: scale(1.05);
    box-shadow: 0 0 30px rgba(0, 229, 255, 0.6);
  }
}

/* ============================================================================
   SHADOW MAP JAMMER
   Distorts isolated map areas
   ============================================================================ */

.shadow-map-jammer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 100;
}

.shadow-jammer-spot {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(255, 0, 85, 0.2) 40%,
    transparent 70%
  );
  filter: blur(10px);
  animation: shadow-jammer-pulse 0.3s ease-in-out infinite;
}

@keyframes shadow-jammer-pulse {
  0%, 100% { 
    opacity: 0.7;
    transform: scale(1);
  }
  50% { 
    opacity: 1;
    transform: scale(1.1);
  }
}

/* ============================================================================
   SHADOW WHISPER MODE
   Micro overlay bottom-left with flicker text
   ============================================================================ */

.shadow-whisper {
  position: fixed;
  bottom: calc(env(safe-area-inset-bottom, 20px) + 100px);
  left: calc(env(safe-area-inset-left, 16px) + 16px);
  z-index: 999985;
  pointer-events: none;
  max-width: 300px;
  
  /* 🆕 v7: Enhanced whisper styling - MORE VISIBLE */
  padding: 12px 20px;
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.95) 0%,
    rgba(40, 0, 25, 0.92) 100%
  );
  border-left: 3px solid #ff0055;
  border-radius: 6px;
  box-shadow: 
    0 0 30px rgba(255, 0, 85, 0.4),
    0 4px 20px rgba(0, 0, 0, 0.8),
    inset 0 0 40px rgba(0, 0, 0, 0.5);
  
  /* Animation - longer duration for visibility */
  animation: shadow-whisper-in 0.4s ease-out, shadow-whisper-breathe 2s ease-in-out infinite 0.4s;
}

.shadow-whisper-text {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: #ff0055;
  text-shadow: 0 0 12px rgba(255, 0, 85, 0.8), 0 0 20px rgba(255, 0, 85, 0.4);
  letter-spacing: 0.08em;
  line-height: 1.5;
  display: block;
  font-weight: 500;
}

/* 🆕 v7: Breathing animation for whisper */
@keyframes shadow-whisper-breathe {
  0%, 100% {
    box-shadow: 
      0 0 30px rgba(255, 0, 85, 0.4),
      0 4px 20px rgba(0, 0, 0, 0.8),
      inset 0 0 40px rgba(0, 0, 0, 0.5);
  }
  50% {
    box-shadow: 
      0 0 40px rgba(255, 0, 85, 0.6),
      0 4px 25px rgba(0, 0, 0, 0.9),
      inset 0 0 50px rgba(0, 0, 0, 0.6);
  }
}

@keyframes shadow-whisper-in {
  0% {
    opacity: 0;
    transform: translateX(-20px) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes shadow-whisper-flicker {
  0%, 92%, 94%, 96%, 98%, 100% { opacity: 1; }
  93%, 95%, 97%, 99% { opacity: 0.5; }
}

/* ============================================================================
   SHADOW INTERRUPT
   Full overlay instant warning
   ============================================================================ */

.shadow-interrupt {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999995;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  background: rgba(15, 0, 10, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  
  padding: env(safe-area-inset-top, 20px) env(safe-area-inset-right, 20px) 
           env(safe-area-inset-bottom, 20px) env(safe-area-inset-left, 20px);
  
  animation: shadow-interrupt-in 0.15s ease-out;
  cursor: pointer;
}

.shadow-interrupt-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  max-width: 90%;
  text-align: center;
}

.shadow-interrupt-text {
  font-family: 'Orbitron', 'JetBrains Mono', monospace;
  font-size: 18px;
  font-weight: 700;
  color: #ff0055;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  text-shadow: 
    0 0 20px rgba(255, 0, 85, 0.8),
    0 0 40px rgba(255, 0, 85, 0.4);
  animation: shadow-interrupt-pulse 0.5s ease-in-out infinite alternate;
}

.shadow-interrupt-dismiss {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 0.15em;
  animation: shadow-blink 1.5s step-end infinite;
}

@keyframes shadow-interrupt-in {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes shadow-interrupt-pulse {
  0% {
    text-shadow: 
      0 0 20px rgba(255, 0, 85, 0.8),
      0 0 40px rgba(255, 0, 85, 0.4);
  }
  100% {
    text-shadow: 
      0 0 30px rgba(255, 0, 85, 1),
      0 0 60px rgba(255, 0, 85, 0.6),
      0 0 80px rgba(255, 0, 85, 0.3);
  }
}

@keyframes shadow-blink {
  0%, 50% { opacity: 0.4; }
  50.01%, 100% { opacity: 0; }
}

/* ============================================================================
   SHADOW CROSSHAIR
   Digital targeting overlay
   ============================================================================ */

.shadow-crosshair {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999988;
  pointer-events: none;
  animation: shadow-crosshair-in 0.1s ease-out;
}

.shadow-crosshair-v {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 100px;
  transform: translate(-50%, -50%);
  background: linear-gradient(
    to bottom,
    transparent 0%,
    #ff0055 30%,
    #ff0055 70%,
    transparent 100%
  );
  box-shadow: 0 0 10px rgba(255, 0, 85, 0.8);
}

.shadow-crosshair-h {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100px;
  height: 2px;
  transform: translate(-50%, -50%);
  background: linear-gradient(
    to right,
    transparent 0%,
    #ff0055 30%,
    #ff0055 70%,
    transparent 100%
  );
  box-shadow: 0 0 10px rgba(255, 0, 85, 0.8);
}

.shadow-crosshair-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  transform: translate(-50%, -50%);
  border: 2px solid #ff0055;
  border-radius: 50%;
  box-shadow: 
    0 0 15px rgba(255, 0, 85, 0.8),
    inset 0 0 10px rgba(255, 0, 85, 0.4);
  animation: shadow-crosshair-pulse 0.3s ease-in-out infinite alternate;
}

@keyframes shadow-crosshair-in {
  0% {
    opacity: 0;
    transform: scale(1.5);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

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

/* ============================================================================
   SHADOW TIMELINE SKIP
   Screen black flash
   ============================================================================ */

.shadow-timeline-skip {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
  background: #000000;
  pointer-events: none;
  animation: shadow-timeline-skip 0.12s steps(2);
}

@keyframes shadow-timeline-skip {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.95; }
}

/* ============================================================================
   SHADOW BREATH PATTERN
   Dark vignette that pulses
   ============================================================================ */

.shadow-breath-pattern {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999980;
  pointer-events: none;
  
  background: radial-gradient(
    ellipse at center,
    transparent 30%,
    rgba(15, 0, 10, calc(var(--breath-intensity, 0.5) * 0.6)) 70%,
    rgba(0, 0, 0, calc(var(--breath-intensity, 0.5) * 0.9)) 100%
  );
  
  animation: shadow-breath 4s ease-in-out infinite;
}

@keyframes shadow-breath {
  0%, 100% {
    opacity: 0.5;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}

/* ============================================================================
   SHADOW DIRECTIVE INJECTION
   Text replacement effect
   ============================================================================ */

.shadow-directive-injection {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 999987;
  pointer-events: none;
  
  padding: 16px 32px;
  background: rgba(0, 0, 0, 0.9);
  border: 1px solid #ff0055;
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(255, 0, 85, 0.5);
}

.shadow-directive-text {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  color: #ff0055;
  text-shadow: 0 0 10px rgba(255, 0, 85, 0.8);
  animation: shadow-directive-flicker 0.1s steps(2) infinite;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@keyframes shadow-directive-flicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.7; }
}

/* ============================================================================
   REDUCED MOTION OVERRIDES
   ============================================================================ */

@media (prefers-reduced-motion: reduce) {
  .shadow-glitch-noise::before,
  .shadow-glitch-tearing,
  .shadow-glitch-pixel-sort::after,
  .shadow-glitch-channel-shift,
  .shadow-glitch-turbulence,
  .shadow-glitch-skew-flicker,
  .shadow-glitch-blackout::before,
  .shadow-glitch-vignette-pulse::before,
  .shadow-glitch-camera-shake,
  .shadow-glitch-terrain-warp,
  .shadow-whisper-container,
  .shadow-crosshair-overlay,
  .shadow-highlight-pulse,
  .shadow-highlight-pulse::after,
  .shadow-pulse-buzz,
  .shadow-jammer-spot,
  .shadow-directive-injection,
  .shadow-whisper,
  .shadow-whisper-text,
  .shadow-interrupt,
  .shadow-interrupt-text,
  .shadow-crosshair,
  .shadow-crosshair-center,
  .shadow-timeline-skip,
  .shadow-breath-pattern,
  .shadow-directive-text {
    animation: none !important;
  }

  .shadow-glitch-blackout::before,
  .shadow-timeline-skip,
  .shadow-breath-pattern {
    display: none;
  }
}

/* ============================================================================
   🆕 v7: MICRO CTA
   Non-blocking action button in bottom-right
   ============================================================================ */

.shadow-micro-cta {
  position: fixed;
  bottom: calc(env(safe-area-inset-bottom, 20px) + 80px);
  right: calc(env(safe-area-inset-right, 16px) + 16px);
  z-index: 999986;
  
  display: flex;
  align-items: center;
  gap: 8px;
  
  padding: 10px 18px;
  background: linear-gradient(
    135deg,
    rgba(0, 229, 255, 0.15) 0%,
    rgba(0, 229, 255, 0.05) 100%
  );
  border: 1px solid rgba(0, 229, 255, 0.6);
  border-radius: 6px;
  
  cursor: pointer;
  pointer-events: auto;
  
  box-shadow: 
    0 0 20px rgba(0, 229, 255, 0.3),
    inset 0 0 15px rgba(0, 229, 255, 0.1);
  
  animation: shadow-micro-cta-in 0.4s ease-out, shadow-micro-cta-pulse 2s ease-in-out infinite 0.4s;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.shadow-micro-cta:hover {
  transform: scale(1.05);
  box-shadow: 
    0 0 30px rgba(0, 229, 255, 0.5),
    inset 0 0 20px rgba(0, 229, 255, 0.15);
}

.shadow-micro-cta-label {
  font-family: 'Orbitron', 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  color: #00e5ff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-shadow: 0 0 8px rgba(0, 229, 255, 0.5);
}

.shadow-micro-cta-arrow {
  font-size: 14px;
  color: #00e5ff;
  animation: shadow-micro-cta-arrow 1s ease-in-out infinite;
}

@keyframes shadow-micro-cta-in {
  0% {
    opacity: 0;
    transform: translateX(30px) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes shadow-micro-cta-pulse {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(0, 229, 255, 0.3),
      inset 0 0 15px rgba(0, 229, 255, 0.1);
  }
  50% {
    box-shadow: 
      0 0 30px rgba(0, 229, 255, 0.5),
      inset 0 0 20px rgba(0, 229, 255, 0.2);
  }
}

@keyframes shadow-micro-cta-arrow {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(4px);
  }
}

/* Mobile: stack with whisper */
@media (max-width: 480px) {
  .shadow-micro-cta {
    bottom: calc(env(safe-area-inset-bottom, 20px) + 140px);
    right: 12px;
    left: auto;
    padding: 8px 14px;
  }
  
  .shadow-micro-cta-label {
    font-size: 10px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .shadow-micro-cta {
    animation: none;
  }
  
  .shadow-micro-cta-arrow {
    animation: none;
  }
}

/* ============================================================================
   🎬 PRIZE INTRO CINEMATIC SYSTEM
   Fullscreen overlay for mission prize introduction
   ============================================================================ */

.prize-intro-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999990;
  
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.98) 0%,
    rgba(7, 8, 24, 0.98) 50%,
    rgba(0, 0, 0, 0.98) 100%
  );
  
  /* 🔧 v7.6: SINGLE flexbox declaration - centered on both axes */
  display: flex;
  flex-direction: column;
  align-items: center;      /* Center X */
  justify-content: center;  /* Center Y */
  
  overflow: visible; /* 🔧 v7.7: RIMOSSO overflow:hidden che tagliava le card! */
}

/* Background effects */
.prize-intro-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.prize-intro-scanlines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent 0px,
    transparent 2px,
    rgba(255, 255, 255, 0.02) 2px,
    rgba(255, 255, 255, 0.02) 4px
  );
  opacity: 0.5;
  animation: prize-scanline-scroll 10s linear infinite;
}

.prize-intro-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at center,
    transparent 0%,
    transparent 40%,
    rgba(0, 0, 0, 0.8) 100%
  );
}

.prize-intro-grain {
  position: absolute;
  inset: 0;
  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='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}

@keyframes prize-scanline-scroll {
  0% { background-position: 0 0; }
  100% { background-position: 0 100px; }
}

/* Safe area container */
.prize-intro-container {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 600px; /* 🔧 v7.7: Aumentato da 480px per non tagliare le card */
  height: 100%;
  margin: 0 auto;
  padding: 24px 16px; /* 🔧 v7.7: Ridotto padding laterale */
  padding-top: calc(24px + env(safe-area-inset-top, 0px));
  padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  
  overflow-y: auto;
  overflow-x: visible; /* 🔧 v7.7: Non tagliare orizzontalmente */
}

/* ============================================================================
   ENTITY SYMBOLS
   ============================================================================ */

.prize-intro-entity-container {
  flex-shrink: 0;
  margin-top: 20px;
}

.prize-intro-entity {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

/* SHADOW Entity - Inverted Red Triangle with Eye */
.prize-intro-entity.shadow-entity {
  /* Container */
}

.prize-shadow-triangle {
  position: relative;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 70px solid rgba(255, 0, 85, 0.4);
  filter: drop-shadow(0 0 15px rgba(255, 0, 85, 0.5));
  animation: prize-shadow-breathe 3s ease-in-out infinite;
}

.prize-shadow-eye {
  position: absolute;
  top: -52px;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 14px;
  background: radial-gradient(ellipse at center, #ff0055 0%, rgba(255, 0, 85, 0.7) 60%, transparent 70%);
  border-radius: 50%;
  animation: prize-shadow-eye-glow 2s ease-in-out infinite alternate;
}

.prize-shadow-pupil {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 50%;
  animation: prize-shadow-pupil-move 4s ease-in-out infinite;
}

.prize-shadow-glitch-line {
  position: absolute;
  height: 2px;
  background: #ff0055;
  opacity: 0;
  animation: prize-shadow-glitch-flash 0.1s steps(2) infinite;
}

.prize-shadow-glitch-line.line-1 {
  top: -35px;
  left: -25px;
  width: 50px;
}

.prize-shadow-glitch-line.line-2 {
  top: -45px;
  left: -15px;
  width: 30px;
  animation-delay: 0.05s;
}

.prize-shadow-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(255, 0, 85, 0.15) 0%, transparent 70%);
  animation: prize-shadow-glow-pulse 2s ease-in-out infinite;
}

@keyframes prize-shadow-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.03); }
}

@keyframes prize-shadow-eye-glow {
  0% { box-shadow: 0 0 8px rgba(255, 0, 85, 0.5); }
  100% { box-shadow: 0 0 15px rgba(255, 0, 85, 0.8); }
}

@keyframes prize-shadow-pupil-move {
  0%, 100% { transform: translate(-50%, -50%); }
  25% { transform: translate(-60%, -45%); }
  50% { transform: translate(-40%, -55%); }
  75% { transform: translate(-55%, -50%); }
}

@keyframes prize-shadow-glitch-flash {
  0%, 85%, 100% { opacity: 0; }
  86% { opacity: 0.8; }
  90% { opacity: 0; }
  92% { opacity: 0.5; }
}

@keyframes prize-shadow-glow-pulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

/* MCP Entity - Cyan Hexagon / Shield Core */
.prize-intro-entity.mcp-entity {
  /* Container */
}

.prize-mcp-hex-outer {
  position: relative;
  width: 60px;
  height: 69px;
  background: linear-gradient(135deg, rgba(0, 229, 255, 0.15) 0%, rgba(0, 229, 255, 0.05) 100%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: prize-mcp-hex-rotate 20s linear infinite;
}

.prize-mcp-hex-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 41px;
  background: rgba(0, 229, 255, 0.25);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.prize-mcp-core {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background: #00e5ff;
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(0, 229, 255, 0.8);
  animation: prize-mcp-core-pulse 2s ease-in-out infinite;
}

.prize-mcp-scan {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, #00e5ff 50%, transparent 100%);
  animation: prize-mcp-scan 2.5s linear infinite;
}

.prize-mcp-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border: 1px solid rgba(0, 229, 255, 0.3);
  border-radius: 50%;
  animation: prize-mcp-ring-rotate 15s linear infinite reverse;
}

.prize-mcp-pulse {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  border: 2px solid rgba(0, 229, 255, 0.2);
  border-radius: 50%;
  animation: prize-mcp-pulse-expand 3s ease-out infinite;
}

@keyframes prize-mcp-hex-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes prize-mcp-core-pulse {
  0%, 100% { 
    transform: translate(-50%, -50%) scale(1);
    box-shadow: 0 0 20px rgba(0, 229, 255, 0.8);
  }
  50% { 
    transform: translate(-50%, -50%) scale(1.2);
    box-shadow: 0 0 30px rgba(0, 229, 255, 1);
  }
}

@keyframes prize-mcp-scan {
  0% { top: 0; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

@keyframes prize-mcp-ring-rotate {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes prize-mcp-pulse-expand {
  0% { 
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0.6;
  }
  100% { 
    transform: translate(-50%, -50%) scale(1.3);
    opacity: 0;
  }
}

/* ECHO Entity - Soft Ring / Wave / Particle Halo */
.prize-intro-entity.echo-entity {
  /* Container */
}

.prize-echo-ring {
  position: relative;
  width: 80px;
  height: 80px;
}

.prize-echo-particle {
  position: absolute;
  top: 0;
  left: 50%;
  width: 4px;
  height: 10px;
  background: rgba(160, 160, 160, 0.5);
  transform-origin: center 40px;
  animation: prize-echo-particle-flicker 2s ease-in-out infinite;
}

.prize-echo-wave {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(160, 160, 160, 0.3);
  border-radius: 50%;
  animation: prize-echo-wave-expand 4s ease-out infinite;
}

.prize-echo-wave.wave-1 {
  width: 40px;
  height: 40px;
}

.prize-echo-wave.wave-2 {
  width: 60px;
  height: 60px;
  animation-delay: 1s;
}

.prize-echo-wave.wave-3 {
  width: 80px;
  height: 80px;
  animation-delay: 2s;
}

@keyframes prize-echo-particle-flicker {
  0%, 100% { opacity: 0.5; }
  25% { opacity: 0.2; }
  50% { opacity: 0.7; }
  75% { opacity: 0.3; }
}

@keyframes prize-echo-wave-expand {
  0% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0.6;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}

/* ============================================================================
   DIALOGUE
   ============================================================================ */

.prize-intro-dialogue-container {
  flex-shrink: 0;
  width: 100%;
  text-align: center;
  padding: 0 10px;
}

.prize-intro-dialogue {
  font-family: 'JetBrains Mono', 'SF Mono', monospace;
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-wrap;
  text-align: center;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
}

.prize-intro-dialogue.entity-shadow {
  color: #ff0055;
  text-shadow: 0 0 10px rgba(255, 0, 85, 0.5);
}

.prize-intro-dialogue.entity-mcp {
  color: #00e5ff;
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.5);
}

.prize-intro-dialogue.entity-echo {
  color: #a0a0a0;
  text-shadow: 0 0 10px rgba(160, 160, 160, 0.3);
}

.prize-intro-cursor {
  animation: prize-cursor-blink 0.6s step-end infinite;
}

@keyframes prize-cursor-blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* ============================================================================
   PRIZE GALLERY
   ============================================================================ */

/* 🔧 v7.4: PERFECT CENTERING - Gallery container */
.prize-intro-gallery-container {
  flex: 1;
  width: 100%;
  display: flex !important;
  flex-direction: column;
  justify-content: center !important;
  align-items: center !important;
  min-height: 0;
  padding: 20px;
}

.prize-gallery {
  width: 100%;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 0;
  overflow: visible !important; /* 🔧 v7.7: NO CLIPPING */
}

.prize-gallery-inner {
  /* 🔧 v7.7: FIXED - No clipping, pure flexbox centering */
  position: relative;
  width: 100%;
  max-width: 440px; /* Aumentato per non tagliare */
  height: 450px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: visible !important; /* NO CLIPPING */
}

/* Prize Card - 🔧 v7.8: ONE HERO CARD - hide non-active */
.prize-card {
  /* HIDDEN by default - only .active is visible */
  display: none;
  position: relative;
  width: 100%;
  max-width: 440px; /* HERO size */
  height: auto;
  min-height: 420px;
  margin: 0 auto;
  
  background: linear-gradient(
    145deg,
    rgba(20, 20, 30, 0.95) 0%,
    rgba(10, 10, 20, 0.95) 100%
  );
  
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
  
  box-shadow: 
    0 10px 40px rgba(0, 0, 0, 0.5),
    0 0 60px rgba(0, 229, 255, 0.1);
}

/* 🔧 v7.8: ONLY active card is visible - HERO layout */
.prize-card.active {
  display: block !important;
  z-index: 10;
}

.prize-card-image-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%; /* 🔧 v7.5: Aspect ratio 4:3 */
  overflow: hidden;
  background: #0a0a14;
  border-radius: 16px 16px 0 0;
}

.prize-card-image {
  position: absolute; /* 🔧 v7.5: Absolute for aspect-ratio container */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 16px 16px 0 0;
}

.prize-card-image.loaded {
  opacity: 1;
}

.prize-card-skeleton {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #1a1a2e 0%, #2a2a3e 50%, #1a1a2e 100%);
  background-size: 200% 100%;
  animation: prize-skeleton-shimmer 1.5s infinite;
}

.prize-card-skeleton-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.05) 50%, transparent 100%);
  animation: prize-skeleton-shimmer 1.5s infinite;
}

@keyframes prize-skeleton-shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.prize-card-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
}

.prize-card-placeholder-text {
  font-size: 48px;
  color: rgba(255, 255, 255, 0.3);
}

.prize-card-glow {
  position: absolute;
  inset: -2px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(0, 229, 255, 0.3) 0%, transparent 50%, rgba(255, 0, 85, 0.3) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.prize-card.active .prize-card-glow {
  opacity: 1;
}

.prize-card-info {
  padding: 12px 16px;
  text-align: center;
}

.prize-card-label {
  font-family: 'Orbitron', 'SF Pro Display', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 4px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.prize-card-tagline {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
  font-style: italic;
}

.prize-card-value {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 600;
  color: #00e5ff;
  background: rgba(0, 229, 255, 0.1);
  border-radius: 4px;
  border: 1px solid rgba(0, 229, 255, 0.3);
}

.prize-card-category {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px 8px;
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 4px;
  backdrop-filter: blur(4px);
}

.prize-card-category.vehicle { color: #00ff88; }
.prize-card-category.watch { color: #ffd700; }
.prize-card-category.jewelry { color: #ff69b4; }
.prize-card-category.fashion { color: #ff6b6b; }
.prize-card-category.experience { color: #00e5ff; }

/* Gallery indicators */
.prize-gallery-indicators {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
}

.prize-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.prize-indicator.active {
  background: #00e5ff;
  transform: scale(1.2);
}

/* Navigation arrows */
.prize-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.prize-nav-arrow:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.prize-nav-arrow:not(:disabled):hover {
  background: rgba(0, 229, 255, 0.3);
}

.prize-nav-arrow.prev {
  left: 0;
}

.prize-nav-arrow.next {
  right: 0;
}

/* ============================================================================
   REVEAL & CTA
   ============================================================================ */

.prize-intro-reveal {
  flex-shrink: 0;
  width: 100%;
  text-align: center;
  padding: 0 16px;
}

.prize-intro-reveal-text {
  font-family: 'Orbitron', 'SF Pro Display', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px 0;
  text-shadow: 0 0 20px rgba(0, 229, 255, 0.5);
}

.prize-intro-secondary-hint {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
  font-style: italic;
}

.prize-intro-cta-container {
  flex-shrink: 0;
  width: 100%;
  padding: 16px;
  padding-bottom: 0;
}

.prize-intro-cta {
  position: relative;
  width: 100%;
  padding: 16px 32px;
  
  font-family: 'Orbitron', 'SF Pro Display', sans-serif;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  
  color: #fff;
  background: linear-gradient(
    135deg,
    rgba(0, 229, 255, 0.2) 0%,
    rgba(123, 92, 255, 0.2) 50%,
    rgba(255, 0, 85, 0.2) 100%
  );
  
  border: 1px solid rgba(0, 229, 255, 0.5);
  border-radius: 12px;
  cursor: pointer;
  
  overflow: hidden;
  transition: all 0.3s ease;
}

.prize-intro-cta.enabled:hover {
  border-color: rgba(0, 229, 255, 0.8);
  transform: translateY(-2px);
  box-shadow: 0 0 30px rgba(0, 229, 255, 0.3);
}

.prize-intro-cta.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.prize-intro-cta-text {
  position: relative;
  z-index: 1;
}

.prize-intro-cta-glow {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 229, 255, 0.2) 50%,
    transparent 100%
  );
  transform: translateX(-100%);
  animation: prize-cta-glow-sweep 3s ease-in-out infinite;
}

@keyframes prize-cta-glow-sweep {
  0% { transform: translateX(-100%); }
  50% { transform: translateX(100%); }
  100% { transform: translateX(100%); }
}

/* Reduced motion */
.prize-intro-entity.reduced-motion .prize-shadow-triangle,
.prize-intro-entity.reduced-motion .prize-mcp-hex-outer,
.prize-intro-entity.reduced-motion .prize-echo-particle {
  animation: none;
}

.prize-intro-entity.reduced-motion .prize-shadow-glitch-line,
.prize-intro-entity.reduced-motion .prize-mcp-scan,
.prize-intro-entity.reduced-motion .prize-mcp-pulse,
.prize-intro-entity.reduced-motion .prize-echo-wave {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .prize-intro-scanlines {
    animation: none;
  }
  
  .prize-intro-cta-glow {
    animation: none;
    opacity: 0.2;
    transform: none;
  }
}

/* Mobile adjustments - 🔧 v7.8: HERO card on mobile */
@media (max-width: 600px) {
  .prize-gallery-inner {
    width: 100%;
    max-width: 100%;
    height: 440px;
    margin: 0 auto;
    overflow: visible !important;
  }
  
  /* Mobile: card still hidden by default, only .active shown */
  .prize-card {
    width: 92vw;
    max-width: 420px;
    min-height: 400px;
    margin: 0 auto;
  }
  
  .prize-card-image-container {
    padding-bottom: 75%;
  }
}

/* ============================================================================
   🆕 v7.2: HEAVY MAP INTERFERENCE EFFECTS
   ============================================================================ */

/* Full map blackout overlay */
.shadow-map-blackout {
  position: absolute;
  inset: 0;
  z-index: 9999;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: shadow-blackout-in 0.3s ease-out;
}

.shadow-map-blackout.fade-out {
  animation: shadow-blackout-out 0.5s ease-in forwards;
}

@keyframes shadow-blackout-in {
  0% { opacity: 0; transform: scale(1.1); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes shadow-blackout-out {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

.shadow-blackout-inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.shadow-blackout-scan {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(255, 0, 0, 0.03) 0px,
    rgba(255, 0, 0, 0.03) 1px,
    transparent 1px,
    transparent 3px
  );
  animation: shadow-blackout-scan-move 0.5s linear infinite;
}

@keyframes shadow-blackout-scan-move {
  0% { background-position: 0 0; }
  100% { background-position: 0 -6px; }
}

.shadow-blackout-text {
  font-family: 'Orbitron', 'SF Pro Display', sans-serif;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 8px;
  color: rgba(255, 0, 0, 0.8);
  text-transform: uppercase;
  text-shadow: 
    0 0 10px rgba(255, 0, 0, 0.5),
    0 0 30px rgba(255, 0, 0, 0.3);
  animation: shadow-blackout-text-flicker 0.15s ease-in-out infinite;
  z-index: 2;
}

@keyframes shadow-blackout-text-flicker {
  0%, 100% { opacity: 0.9; }
  50% { opacity: 0.6; }
}

.shadow-blackout-static {
  position: absolute;
  inset: 0;
  opacity: 0.15;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  animation: shadow-static-flicker 0.1s steps(3) infinite;
  pointer-events: none;
  z-index: 1;
}

@keyframes shadow-static-flicker {
  0%, 100% { opacity: 0.15; transform: translateX(0); }
  33% { opacity: 0.2; transform: translateX(-1px); }
  66% { opacity: 0.1; transform: translateX(1px); }
}

/* Quick static burst on map */
.shadow-map-static-burst {
  position: absolute;
  inset: 0;
  z-index: 9998;
  background: 
    linear-gradient(
      to bottom,
      transparent 0%,
      rgba(255, 0, 0, 0.1) 48%,
      rgba(255, 255, 255, 0.8) 50%,
      rgba(255, 0, 0, 0.1) 52%,
      transparent 100%
    );
  animation: shadow-static-burst-scan 0.6s ease-out forwards;
  pointer-events: none;
}

@keyframes shadow-static-burst-scan {
  0% { 
    opacity: 1;
    transform: translateY(-100%);
  }
  100% { 
    opacity: 0;
    transform: translateY(100%);
  }
}

/* Heavy interference global class */
html.shadow-heavy-interference {
  animation: shadow-heavy-shake 0.1s ease-in-out infinite;
}

html.shadow-heavy-interference::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(255, 0, 0, 0.05);
  pointer-events: none;
  animation: shadow-heavy-red-pulse 0.3s ease-in-out infinite;
}

@keyframes shadow-heavy-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-2px); }
  75% { transform: translateX(2px); }
}

@keyframes shadow-heavy-red-pulse {
  0%, 100% { opacity: 0.05; }
  50% { opacity: 0.1; }
}

/* Reduced motion fallbacks */
@media (prefers-reduced-motion: reduce) {
  .shadow-map-blackout {
    animation: none;
  }
  
  .shadow-blackout-scan,
  .shadow-blackout-static {
    animation: none;
    display: none;
  }
  
  .shadow-blackout-text {
    animation: none;
    opacity: 1;
  }
  
  html.shadow-heavy-interference {
    animation: none;
  }
  
  html.shadow-heavy-interference::after {
    animation: none;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/**
 * Stamp Orchestrator™ — cinematic stamp skins (legibility-first tuning). Fase 1.3.
 * © 2026 Joseph MULÉ – M1SSION™
 */

/**
 * Root must NOT be a fullscreen compositor layer (iOS WKWebView: dim/black sheet).
 * Children use position:fixed + % so they still anchor to the viewport.
 */
.m1-stamp-orchestrator-root {
  position: fixed;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  overflow: visible;
  z-index: 100090;
  pointer-events: none;
  box-sizing: border-box;
  background: transparent;
}

.m1-stamp-orchestrator-anchor {
  position: fixed;
  z-index: 1;
  transform: translate(-50%, -50%);
  pointer-events: none;
  max-width: min(92vw, 320px);
}

.m1-stamp-orchestrator-hitbox {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  pointer-events: auto;
  line-height: 0;
}

.m1-stamp {
  position: relative;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* ——— OPS (+25% vs 180px → 225px cap 250) ——— */
.m1-stamp--ops {
  width: 225px;
  max-width: min(58vw, 250px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 42% 30%, #241010 0%, #0c0c0c 52%, #000 100%);
  border: 5px solid rgba(255, 72, 72, 0.9);
  box-shadow:
    0 0 20px rgba(255, 60, 60, 0.35),
    inset 0 0 18px rgba(120, 0, 0, 0.28),
    0 14px 44px rgba(0, 0, 0, 0.58);
  transform: rotate(-5deg) scale(0);
  animation: m1StampSmash 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.m1-stamp--ops .m1-stamp__ring {
  position: absolute;
  inset: 9%;
  border: 2px dashed rgba(255, 100, 100, 0.5);
  border-radius: 50%;
  pointer-events: none;
}

.m1-stamp--ops .m1-stamp__content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 20px;
  font-family: Orbitron, system-ui, sans-serif;
  font-size: clamp(13px, 3.9vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
  letter-spacing: 0.02em;
  text-transform: none;
  color: #ffecec;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.95),
    0 2px 8px rgba(0, 0, 0, 0.75),
    0 0 1px rgba(0, 0, 0, 1);
  z-index: 1;
  overflow: hidden;
  max-height: 78%;
}

@keyframes m1StampSmash {
  0% {
    opacity: 0;
    transform: rotate(-5deg) scale(0);
  }
  70% {
    opacity: 1;
    transform: rotate(-5deg) scale(1.05);
  }
  100% {
    opacity: 1;
    transform: rotate(-5deg) scale(1);
  }
}

/* ——— GLITCH (tuned for long copy; less RGB bleed) ——— */
.m1-stamp--glitch {
  min-width: min(275px, 58vw);
  max-width: min(350px, 92vw);
  min-height: 120px;
  padding: 20px 22px;
  font-family: Orbitron, system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(13px, 3.8vw, 16px);
  line-height: 1.42;
  text-align: center;
  text-wrap: balance;
  letter-spacing: 0.02em;
  text-transform: none;
  color: #f8f8ff;
  animation: m1StampGlitchIn 0.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.m1-stamp--glitch .layer {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 0;
  padding: 16px 18px;
  overflow: hidden;
}

.m1-stamp--glitch .layer.base {
  z-index: 3;
  color: #fdfdff;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 0 rgba(0, 0, 0, 0.95),
    0 2px 10px rgba(0, 0, 0, 0.85);
  overflow: hidden;
}

.m1-stamp--glitch .layer.red {
  z-index: 2;
  color: #ff3355;
  transform: translate(1px, 0);
  mix-blend-mode: normal;
  opacity: 0.32;
  animation: m1StampGlitchRgb 2.8s ease-in-out infinite;
}

.m1-stamp--glitch .layer.blue {
  z-index: 1;
  color: #33d6ff;
  transform: translate(-1px, 0);
  mix-blend-mode: normal;
  opacity: 0.3;
  animation: m1StampGlitchRgbBlue 2.8s ease-in-out infinite;
}

@keyframes m1StampGlitchIn {
  0% {
    opacity: 0;
    transform: scale(0.92) skewX(-3deg);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    transform: scale(1) skewX(0deg);
    filter: blur(0);
  }
}

@keyframes m1StampGlitchRgb {
  0%,
  100% {
    transform: translate(1px, 0);
  }
  50% {
    transform: translate(-1px, 0.5px);
  }
}

@keyframes m1StampGlitchRgbBlue {
  0%,
  100% {
    transform: translate(-1px, 0);
  }
  50% {
    transform: translate(0.5px, -0.5px);
  }
}

/* ——— ORACLE (+25% vs 200 → 250 cap) ——— */
.m1-stamp--oracle {
  width: 250px;
  max-width: min(62vw, 260px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(
    circle at 40% 32%,
    rgba(140, 210, 255, 0.14) 0%,
    rgba(24, 36, 62, 0.72) 48%,
    rgba(6, 10, 22, 0.88) 100%
  );
  border: 1px solid rgba(200, 230, 255, 0.35);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  box-shadow:
    0 0 28px rgba(60, 120, 220, 0.22),
    inset 0 0 22px rgba(255, 255, 255, 0.05);
  animation: m1StampOracleFade 1.2s ease-out forwards;
}

.m1-stamp--oracle .m1-stamp__blur {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.06) 0%, transparent 72%);
  filter: blur(8px);
  pointer-events: none;
}

.m1-stamp--oracle .m1-stamp__oracle-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 22px;
  font-family: Orbitron, system-ui, sans-serif;
  font-size: clamp(13px, 3.8vw, 16px);
  font-weight: 600;
  line-height: 1.42;
  text-align: center;
  text-wrap: balance;
  letter-spacing: 0.02em;
  text-transform: none;
  color: #eef6ff;
  text-shadow:
    0 0 1px rgba(0, 0, 0, 1),
    0 1px 0 rgba(0, 0, 0, 0.92),
    0 2px 12px rgba(0, 0, 0, 0.65);
  z-index: 1;
  overflow: hidden;
  max-height: 78%;
}

@keyframes m1StampOracleFade {
  0% {
    opacity: 0;
    transform: scale(0.94);
    filter: blur(3px);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .m1-stamp--ops {
    animation: m1StampSmashReduced 0.35s ease-out forwards;
  }

  .m1-stamp--glitch {
    animation: m1StampGlitchInReduced 0.35s ease-out forwards;
  }

  .m1-stamp--glitch .layer.red,
  .m1-stamp--glitch .layer.blue {
    animation: none;
    opacity: 0.18;
  }

  .m1-stamp--oracle {
    animation: m1StampOracleReduced 0.45s ease-out forwards;
  }

  @keyframes m1StampSmashReduced {
    from {
      opacity: 0;
      transform: rotate(-5deg) scale(0.96);
    }
    to {
      opacity: 1;
      transform: rotate(-5deg) scale(1);
    }
  }

  @keyframes m1StampGlitchInReduced {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  @keyframes m1StampOracleReduced {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
}






.qr-pulse {
  position: relative;
  width: 20px;
  height: 20px;
  z-index: 600;
}

.leaflet-pane .qr-pulse { filter: drop-shadow(0 0 4px rgba(255,59,48,.7)); }

.pulse-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  background-color: red;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 5px rgba(255, 0, 0, 0.7);
  animation: pulse 1.5s infinite;
}

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

/* Rimuovi quadrato e bordo del DivIcon solo per i QR */

.qr-divicon {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* User dot styles */

.user-divicon {
  background: transparent !important;
  border: none !important;
}

.user-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #4ea1ff;
  box-shadow: 0 0 0 6px rgba(78, 161, 255, 0.25);
}

/* QR marker variants */

.qr-marker--active { position: relative; width: 20px; height: 20px; z-index: 600; }

.qr-marker--active .pulse-dot {
  position: absolute; top: 50%; left: 50%; width: 12px; height: 12px;
  background-color: #10b981; /* emerald */ border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 5px rgba(16, 185, 129, 0.7);
  animation: qr-pulse-green 1.6s ease-in-out infinite;
}

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

.qr-marker--inactive { position: relative; width: 20px; height: 20px; z-index: 600; }

.qr-marker--inactive .pulse-dot {
  position: absolute; top: 50%; left: 50%; width: 12px; height: 12px;
  background-color: #ef4444; /* red */ border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 5px rgba(239, 68, 68, 0.6);
}

/* 🔐 FIRMATO: BY JOSEPH MULÈ — CEO di NIYVORA KFT™ */

/* M1SSION™ - Custom Design System & Styles */

/* Complete visual identity with custom glassmorphism effects and M1SSION branding */

@tailwind base;

@tailwind components;

@tailwind utilities;

/* PALETTE & ROOT VARS */

/* Glass Effects - Updated to match landing page */

.glass-card{
  border-radius: var(--radius);
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.05);
  --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);
  --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);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
}

/* Neon text effects - Made consistent with landing */

.neon-text-cyan{
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
  text-shadow: 0 0 10px rgba(0, 209, 255, 0.6), 0 0 20px rgba(0, 209, 255, 0.4);
}

.neon-text-magenta{
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(240 89 255 / var(--tw-text-opacity, 1));
  text-shadow: 0 0 10px rgba(240, 89, 255, 0.6), 0 0 20px rgba(240, 89, 255, 0.4);
}

.neon-text-yellow{
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
  text-shadow: 0 0 10px rgba(250, 204, 21, 0.6), 0 0 20px rgba(250, 204, 21, 0.4);
}

/* Mission heading - Updated to match landing page */

.mission-heading {
  font-family: "Orbitron", sans-serif;
  margin-bottom: 1.5rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 300;
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px){

  .mission-heading{
    font-size: 3rem;
    line-height: 1;
  }
}

.mission-heading {
  text-shadow: 0 0 15px rgba(0, 209, 255, 0.6), 0 0 30px rgba(0, 209, 255, 0.3);
  letter-spacing: 0.05em;
}

/* Button styles - Updated to match landing page */

.neon-button-cyan{
  border-radius: 9999px;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #7B2EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(123 46 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #00D1FF var(--tw-gradient-to-position);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  animation-duration: 300ms;
}

.sn-page .neon-button-cyan:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) .neon-button-cyan:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass .neon-button-cyan,
.leaderboard-rank-1 .neon-button-cyan,
.leaderboard-rank-2 .neon-button-cyan,
.leaderboard-rank-3 .neon-button-cyan,
.leaderboard-rank-top10 .neon-button-cyan {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite .neon-button-cyan,
.m1-folder-glass .neon-button-cyan,
.buzz-folder-glass .neon-button-cyan {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal .neon-button-cyan {
  color: #ffffff;
}

#m1-floating-pills-v3-portal .neon-button-cyan {
  color: #fafafa;
}

.m1-reward-zone-popup .neon-button-cyan {
  color: #ffffff;
}

.neon-button-cyan: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));
  --tw-shadow: 0 0 15px rgba(0,209,255,0.6);
  --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);
}

.neon-button-magenta{
  border-radius: 9999px;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #F059FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 89 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #7B2EFF var(--tw-gradient-to-position);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  animation-duration: 300ms;
}

.sn-page .neon-button-magenta:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) .neon-button-magenta:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass .neon-button-magenta,
.leaderboard-rank-1 .neon-button-magenta,
.leaderboard-rank-2 .neon-button-magenta,
.leaderboard-rank-3 .neon-button-magenta,
.leaderboard-rank-top10 .neon-button-magenta {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite .neon-button-magenta,
.m1-folder-glass .neon-button-magenta,
.buzz-folder-glass .neon-button-magenta {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal .neon-button-magenta {
  color: #ffffff;
}

#m1-floating-pills-v3-portal .neon-button-magenta {
  color: #fafafa;
}

.m1-reward-zone-popup .neon-button-magenta {
  color: #ffffff;
}

.neon-button-magenta: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));
  --tw-shadow: 0 0 15px rgba(240,89,255,0.6);
  --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);
}

.neon-button-yellow{
  border-radius: 9999px;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --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);
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-weight: 600;
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  animation-duration: 300ms;
}

.neon-button-yellow: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));
  --tw-shadow: 0 0 15px rgba(250,204,21,0.6);
  --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);
}

/* Glowing border - Updated to match landing page */

.glow-border-cyan{
  border-width: 1px;
  border-color: rgb(0 209 255 / 0.6);
  box-shadow: 0 0 10px rgba(0, 209, 255, 0.4), inset 0 0 5px rgba(0, 209, 255, 0.2);
}

.glow-border-magenta{
  border-width: 1px;
  border-color: rgb(240 89 255 / 0.6);
  box-shadow: 0 0 10px rgba(240, 89, 255, 0.4), inset 0 0 5px rgba(240, 89, 255, 0.2);
}

/* Animated horizontal lines */

.horizontal-line{
  position: relative;
  height: 1px;
  width: 100%;
  overflow: hidden;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --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);
  --tw-gradient-to: rgb(0 209 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 209 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}

.horizontal-line::after {
  content: '';
  position: absolute;
  height: 100%;
  width: 100%;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --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);
  --tw-gradient-to: rgb(0 209 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #00D1FF var(--tw-gradient-via-position), var(--tw-gradient-to);
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
  animation: moveLight 2s linear infinite;
}

@keyframes moveLight {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* Line glow effect for the bottom navigation and headers */

.line-glow {
  height: 1px;
  width: 100%;
  background: linear-gradient(to right, transparent, #00D1FF, #7B2EFF, transparent);
  position: relative;
  overflow: hidden;
}

.line-glow::after {
  content: '';
  position: absolute;
  height: 100%;
  width: 50%;
  top: 0;
  background: linear-gradient(to right, transparent, white, transparent);
  animation: moveGlow 3s infinite ease-in-out;
}

@keyframes moveGlow {
  0% { left: -50%; }
  100% { left: 100%; }
}

/* Floating particles animation */

@keyframes float-particle {
  0% { transform: translateY(0) translateX(0); }
  25% { transform: translateY(-10px) translateX(5px); }
  50% { transform: translateY(0) translateX(10px); }
  75% { transform: translateY(10px) translateX(5px); }
  100% { transform: translateY(0) translateX(0); }
}

.floating-particle {
  animation: float-particle 10s infinite ease-in-out;
}

/* Gradient text - Updated to match landing page */

.gradient-text-cyan{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  text-shadow: 0 0 2px rgba(0, 209, 255, 0.3);
}

.gradient-text-multi{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(123 46 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7B2EFF var(--tw-gradient-via-position), var(--tw-gradient-to);
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  text-shadow: 0 0 2px rgba(0, 209, 255, 0.3);
}

/* Page sections */

.page-section{
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.1);
  --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);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
                inset 0 2px 3px rgba(255, 255, 255, 0.06);
    transition: all 0.25s ease-in-out;
}

.page-section:hover{
  background-color: rgb(255 255 255 / 0.1);
    box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
                inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.page-section{
  margin-bottom: 2rem;
  padding: 1rem;
  border-radius: var(--radius);
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.05);
  --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);
  --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);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  transition: all 0.25s ease-in-out;
}

.page-section:hover {
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
              inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.sn-page .page-section,
html:has(.sn-page) .page-section {
  background: var(--wt-surface-secondary);
  backdrop-filter: var(--wt-blur-secondary);
  -webkit-backdrop-filter: var(--wt-blur-secondary);
  border: 1px solid var(--wt-surface-secondary-border);
  box-shadow: var(--wt-surface-secondary-shadow);
}

@media (min-width: 768px){

  .page-section{
    padding: 1.5rem;
  }
}

.section-title{
  margin-bottom: 1rem;
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-to: rgb(123 46 255 / 0.8) var(--tw-gradient-to-position);
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  text-shadow: 0 0 2px rgba(0, 209, 255, 0.3);
}

/* Card styles */

.feature-card{
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.1);
  --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);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
                inset 0 2px 3px rgba(255, 255, 255, 0.06);
    transition: all 0.25s ease-in-out;
}

.feature-card:hover{
  background-color: rgb(255 255 255 / 0.1);
    box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
                inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.feature-card{
  padding: 1.25rem;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  animation-duration: 300ms;
  border-radius: var(--radius);
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.05);
  --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);
  --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);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  transition: all 0.25s ease-in-out;
}

.feature-card:hover {
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
              inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.sn-page .feature-card,
html:has(.sn-page) .feature-card {
  background: var(--wt-surface-secondary);
  backdrop-filter: var(--wt-blur-secondary);
  -webkit-backdrop-filter: var(--wt-blur-secondary);
  border: 1px solid var(--wt-surface-secondary-border);
  box-shadow: var(--wt-surface-secondary-shadow);
}

.feature-card: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));
  background-color: rgb(255 255 255 / 0.1);
}

/* IT IS POSSIBLE motto */

.mission-motto {
  font-family: "Orbitron", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px){

  .mission-motto{
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

.mission-motto {
  text-shadow: 0 0 15px rgba(250, 204, 21, 0.5), 0 0 30px rgba(250, 204, 21, 0.3);
}

/* Custom Form Controls */

.form-control{
  width: 100%;
  border-radius: var(--radius);
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(0 0 0 / 0.4);
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.form-control: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(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);
  --tw-ring-color: rgb(0 209 255 / 0.5);
}

/* Modern Card Layout */

.modern-card{
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.1);
  --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);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
                inset 0 2px 3px rgba(255, 255, 255, 0.06);
    transition: all 0.25s ease-in-out;
}

.modern-card:hover{
  background-color: rgb(255 255 255 / 0.1);
    box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
                inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.modern-card{
  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));
  padding: 1.5rem;
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  animation-duration: 300ms;
  border-radius: var(--radius);
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.05);
  --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);
  --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);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  transition: all 0.25s ease-in-out;
}

.modern-card:hover {
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
              inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.sn-page .modern-card,
html:has(.sn-page) .modern-card {
  background: var(--wt-surface-secondary);
  backdrop-filter: var(--wt-blur-secondary);
  -webkit-backdrop-filter: var(--wt-blur-secondary);
  border: 1px solid var(--wt-surface-secondary-border);
  box-shadow: var(--wt-surface-secondary-shadow);
}

.modern-card: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));
}

/* Top Section Styles */

.top-section{
  margin-bottom: 2rem;
  border-radius: 0.75rem;
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  --tw-gradient-from: #131524 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #000 var(--tw-gradient-to-position);
  padding: 1.5rem;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

/* Content Area Styles */

.content-area{
  border-radius: 0.75rem;
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(0 0 0 / 0.4);
  padding: 1.5rem;
  --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);
}

/* Image Container */

.image-container{
  overflow: hidden;
  border-radius: var(--radius);
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

/* ============================================ */

/* M1SSION™ Obsidian + Aurora (3D non-flat) */

/* © 2025 Joseph MULÉ – M1SSION™ */

/* ============================================ */

:root {
  /* Obsidian Base Colors */
  --m1-obsidian: #0a0b0f;
  --m1-ink: #0e1116;
  
  /* Aurora Gradient Colors */
  --m1-aurora-cyan: #00e5ff;
  --m1-aurora-violet: #7b5cff;
  
  /* Glass & Surface */
  --m1-glass: rgba(255, 255, 255, 0.04);
  --m1-stroke: rgba(255, 255, 255, 0.10);
  --m1-occlusion: rgba(0, 0, 0, 0.35);
  --m1-specular: rgba(255, 255, 255, 0.10);
}

/* ——— App Background - ORA TRASPARENTE, il gradiente è su HTML ——— */

.m1-app-bg {
  background: transparent !important;
  position: relative;
}

/* Micro-grain overlay for OLED depth */

.m1-grain {
  position: absolute;
  inset: 0;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0iMzAwIj48ZmlsdGVyIGlkPSJhIj48ZmVUdXJidWxlbmNlIGJhc2VGcmVxdWVuY3k9Ii43NSIgc3RpdGNoVGlsZXM9InN0aXRjaCIgdHlwZT0iZnJhY3RhbE5vaXNlIi8+PGZlQ29sb3JNYXRyaXggdHlwZT0ic2F0dXJhdGUiIHZhbHVlcz0iMCIvPjwvZmlsdGVyPjxwYXRoIGQ9Ik0wIDBoMzAwdjMwMEgweiIgZmlsdGVyPSJ1cmwoI2EpIiBvcGFjaXR5PSIuMDUiLz48L3N2Zz4=');
  opacity: 0.03;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 0;
}

/* ——— Elevation System (E0-E4) ——— */

/* E0: Base - just background */

.m1-surface {
  background: var(--m1-ink);
  position: relative;
}

/* E1: Card - combined layers */

.m1-elev-1 {
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 6px 20px rgba(0, 0, 0, 0.22);
}

/* E2: Panel - stronger shadow */

.m1-elev-2 {
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 12px 32px rgba(0, 0, 0, 0.28);
}

/* E3: Modal/Sheet - Glass with stroke */

.m1-glass {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: var(--m1-glass);
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    0 12px 32px rgba(0, 0, 0, 0.28);
}

/* ——— Interactive Hover (Subtle Motion) ——— */

.m1-hover {
  transition: box-shadow 120ms cubic-bezier(0.2, 0.8, 0.2, 1), 
              transform 120ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.m1-hover:hover {
  transform: translateY(-1px);
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 10px 26px rgba(0, 0, 0, 0.28);
}

.m1-hover:active {
  transform: translateY(0);
}

/* ——— Accessibility: Reduced Motion ——— */

@media (prefers-reduced-motion: reduce) {
  .m1-hover,
  .m1-hover:hover {
    transition: none;
    transform: none;
  }
  
  .m1-grain {
    animation: none;
  }
}

/* ——— Recipe Combinations ——— */

/* Card Base (E1) */

.m1-card {
  background: var(--m1-ink);
  position: relative;
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 6px 20px rgba(0, 0, 0, 0.22);
  border-radius: 1rem;
  transition: box-shadow 120ms cubic-bezier(0.2, 0.8, 0.2, 1), 
              transform 120ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.m1-card:hover {
  transform: translateY(-1px);
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 10px 26px rgba(0, 0, 0, 0.28);
}

.m1-card:active {
  transform: translateY(0);
}

/* Panel (E2) */

.m1-panel {
  background: var(--m1-ink);
  position: relative;
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 12px 32px rgba(0, 0, 0, 0.28);
  border-radius: 1.5rem;
}

/* Modal/Sheet (Glass E3) */

.m1-modal {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: var(--m1-glass);
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    0 12px 32px rgba(0, 0, 0, 0.28);
  border-radius: 1.5rem;
}

/* Pill/Chip */

.m1-pill {
  background: var(--m1-ink);
  position: relative;
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 6px 20px rgba(0, 0, 0, 0.22);
  border-radius: 9999px;
  transition: box-shadow 120ms cubic-bezier(0.2, 0.8, 0.2, 1), 
              transform 120ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.m1-pill:hover {
  transform: translateY(-1px);
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 10px 26px rgba(0, 0, 0, 0.28);
}

.m1-pill:active {
  transform: translateY(0);
}

/* ——— Apply Obsidian style to existing m1ssion-glass-card ——— */

.m1ssion-glass-card {
  background: var(--m1-ink);
  position: relative;
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 6px 20px rgba(0, 0, 0, 0.22);
  border-radius: 24px;
  overflow: hidden;
  transition: box-shadow 120ms cubic-bezier(0.2, 0.8, 0.2, 1), 
              transform 120ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.m1ssion-glass-card:hover {
  transform: translateY(-1px);
  box-shadow: 
    inset 0 0 0 1px var(--m1-stroke),
    inset 0 1px 0 var(--m1-specular),
    inset 0 12px 30px var(--m1-occlusion),
    0 10px 26px rgba(0, 0, 0, 0.28);
}

.m1ssion-glass-card:active {
  transform: translateY(0);
}

/* Gradient top border REMOVED - Using animated glow effect instead */

/* See individual components for slideGlow animation */

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* iOS Mobile Optimizations - Safe Area and Responsive Design */

/* © 2025 Joseph MULÉ – M1SSION™ */

/* iOS Mobile Optimizations - Safe Area and Responsive Design */

/* Safe Area Support for iOS devices */

@supports (padding: max(0px)) {
  .safe-area-top {
    padding-top: max(1rem, env(safe-area-inset-top));
  }
  
  .safe-area-bottom {
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
  }
  
  .safe-area-left {
    padding-left: max(1rem, env(safe-area-inset-left));
  }
  
  .safe-area-right {
    padding-right: max(1rem, env(safe-area-inset-right));
  }
}

/* UNIVERSAL HEADER SAFE AREA - Works for all headers */

.header-safe-area {
  padding-top: max(env(safe-area-inset-top, 0px), 8px) !important;
  margin-top: 0 !important;
}

/* Enhanced header positioning for all device types */

@media screen and (max-device-width: 812px) {
  /* iPhone X and newer with notch/Dynamic Island */
  .header-safe-area {
    padding-top: max(env(safe-area-inset-top, 0px), 8px) !important;
  }
}

@media screen and (max-device-width: 430px) and (min-device-width: 390px) {
  /* iPhone 14 Pro and Pro Max with Dynamic Island */
  .header-safe-area {
    padding-top: max(env(safe-area-inset-top, 0px), 8px) !important;
  }
}

/* CAPACITOR SPECIFIC: Enhanced Safe Area for iOS WebView */

.capacitor-safe-header {
  height: calc(72px + env(safe-area-inset-top, 44px)) !important;
  padding-top: env(safe-area-inset-top, 44px) !important;
}

/* Dynamic Island and Notch support for Capacitor */

@media screen and (max-width: 430px) {
  .capacitor-safe-header {
    height: calc(72px + env(safe-area-inset-top, 59px)) !important;
    padding-top: env(safe-area-inset-top, 59px) !important;
  }
}

/* Content offset for Capacitor Safe Area */

.capacitor-safe-content {
  padding-top: calc(72px + env(safe-area-inset-top, 44px)) !important;
}

@media screen and (max-width: 430px) {
  .capacitor-safe-content {
    padding-top: calc(72px + env(safe-area-inset-top, 59px)) !important;
  }
}

/* Universal header content positioning */

.header-content-safe {
  position: relative;
  top: env(safe-area-inset-top, 20px);
  padding-top: 1rem;
}

/* iOS Device Detection and Optimizations */

@media screen and (max-width: 430px) {
  /* iPhone Pro Max and smaller */
  .mobile-optimized {
    font-size: 16px; /* Prevent zoom on input focus */
  }
}

/* Tailwind utilities registration for custom classes used with @apply */

.mobile-touch-target { min-height: 44px; min-width: 44px; }

.mobile-optimized { font-size: 16px; }

.touch-manipulation { touch-action: manipulation; }

/* Retina Display Optimizations */

@media (-webkit-min-device-pixel-ratio: 2) {
  .retina-optimized {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

/* Edge-to-edge display support */

.full-viewport {
  width: 100vw;
  max-width: 100vw;
  overflow-x: hidden;
}

/* Smooth scrolling for iOS */

.smooth-scroll {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

/* Force hardware acceleration for better performance in WebView */

.hardware-accelerated {
  transform: translateZ(0);
}

/* PWA Native App Behavior - Disable Zoom and Gestures */

* {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* Allow text selection for inputs and text areas */

input, textarea, [contenteditable] {
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
}

/* Disable zoom on all elements */

html, body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  touch-action: pan-y;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

/* Prevent double-tap zoom */

* {
  touch-action: manipulation;
}

/* iOS Safari specific zoom prevention */

@media screen and (-webkit-min-device-pixel-ratio: 1) {
  html {
    -webkit-text-size-adjust: none;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ — Header safe-area fill */

:root { --header-bg: #0b1220; }

.app-header { position: sticky; top: 0; padding-top: env(safe-area-inset-top); background-color: var(--header-bg); z-index: 50; }

.app-content { padding-top: 0; }

/* PWA-specific safe area enforcement */

@media (display-mode: standalone) {
  .app-header {
    padding-top: max(env(safe-area-inset-top, 0px), 12px) !important;
  }
}

/* ============================================= */

/* 🎯 HOME MOBILE SPACING - RIMOSSO spazio extra */

/* I pill ora scorrono con la pagina */

/* © 2025 M1SSION™ – NIYVORA KFT – Joseph MULÉ */

/* iOS Safe Area and Status Bar Fixes */

/* Status bar background for PWA fullscreen mode */

.ios-status-bar-bg {
  background: linear-gradient(135deg, 
    #000814 0%, 
    rgba(0, 8, 20, 0.95) 50%, 
    rgba(19, 21, 36, 0.90) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

/* Toast positioning RIMOSSO - gestito direttamente in sonner.tsx per evitare conflitti */

/* iOS specific modal backdrop */

.modal-backdrop-ios {
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Safe area aware positioning for floating elements */

.floating-safe {
  top: calc(env(safe-area-inset-top, 0px) + 20px);
  bottom: calc(env(safe-area-inset-bottom, 0px) + 20px);
  left: calc(env(safe-area-inset-left, 0px) + 20px);
  right: calc(env(safe-area-inset-right, 0px) + 20px);
}

/* ⚠️ ios-native.css REMOVED - now imported LAST in main.tsx for highest priority */

/* © 2025 M1SSION™ – Norah Chat Modal Layout */

/* Full-screen portal modal - mobile optimized */

/* Backdrop overlay */

.norah-chat-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 11050;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* Main modal container - full-screen on mobile */

.norah-chat-modal {
  position: fixed;
  inset: 0;
  z-index: 11060;
  display: flex;
  flex-direction: column;
  background: #0A0B14;
  overflow: hidden;
  
  /* Full viewport height with safe areas */
  height: 100dvh;
  height: 100svh; /* Safari support */
  
  /* Safe area padding */
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Desktop: centered dialog */

@media (min-width: 768px) {
  .norah-chat-modal {
    top: 50%;
    left: 50%;
    right: auto;
    bottom: auto;
    transform: translate(-50%, -50%);
    width: 90vw;
    max-width: 600px;
    height: auto;
    max-height: 80vh;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    padding-top: 0;
    padding-bottom: 0;
  }
}

/* Modal header - fixed height, no scroll */

.norah-chat-modal__header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem;
  background: linear-gradient(to right, rgba(67, 97, 238, 0.1), rgba(114, 9, 183, 0.1));
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

@media (min-width: 768px) {
  .norah-chat-modal__header {
    padding: 1rem;
  }
}

/* Modal body - scrollable messages area */

.norah-chat-modal__body {
  flex: 1 1 auto;
  min-height: 0; /* Critical for flex child scrolling */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0.75rem;
  overscroll-behavior: contain; /* Prevent pull-to-refresh on iOS */
}

@media (min-width: 768px) {
  .norah-chat-modal__body {
    padding: 1rem;
  }
}

/* Modal footer - input area, sticky at bottom */

.norah-chat-modal__footer {
  flex: 0 0 auto;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

@media (min-width: 768px) {
  .norah-chat-modal__footer {
    padding: 1rem;
  }
}

/* iOS keyboard handling - prevent viewport resize issues */

@supports (-webkit-touch-callout: none) {
  .norah-chat-modal__body {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
  }
}

/* © 2025 M1SSION™ – Prize Modal Mobile Fix */

/* Adattamento responsive del modal M1SSION PRIZE per mobile */

@media (max-width: 768px) {
  .prize-modal-container {
    /* Su mobile: usa safe-area per iOS */
    top: calc(72px + env(safe-area-inset-top, 0px)) !important;
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
    
    /* Calcolo altezza dinamico per viewport mobile */
    height: auto;
    max-height: calc(
      100dvh - 72px - 88px 
      - env(safe-area-inset-top, 0px) 
      - env(safe-area-inset-bottom, 0px)
    );
  }
  
  /* Assicura che il contenuto scrolli correttamente */
  .prize-modal-container .flex-1.overflow-y-auto {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
}

/* M1SSION™ Map Dock Styles */

.map-dock {
  position: absolute;
  bottom: 24px;
  right: 16px;
  z-index: 1002;
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: auto;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* P0 FIX: Hide legacy controls when Dock is active */

.m1-dock-enabled .legacy-portal-buttons,
.m1-dock-enabled .legacy-map-controls {
  display: none !important;
}

/* P0 FIX: Hide elements with is-hidden class (for layer/portal filtering) */

.is-hidden {
  display: none !important;
}

.map-dock-button{
  border-width: 1px;
  border-color: rgb(6 182 212 / 0.3);
  background-color: rgb(0 0 0 / 0.7);
}

.map-dock-button:hover{
  border-color: rgb(6 182 212 / 0.6);
  background-color: rgb(0 0 0 / 0.9);
}

.map-dock-button{
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}


.leaderboard-card-glass span:not(.map-dock-button):not(.text-green-400):not(.text-orange-400):not(.text-pink-400):not(.text-purple-400) {
  color: rgba(255, 255, 255, 0.95);
}

.map-dock-button:hover{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.map-dock-button{
  --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);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  animation-duration: 200ms;
  --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);
  --tw-shadow-color: rgb(0 0 0 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
  min-width: 44px;
  min-height: 44px;
  border-radius: 12px;
}

.map-dock-button:hover {
  transform: scale(1.05);
  box-shadow: 0 0 20px rgba(0, 255, 255, 0.4);
}

.map-dock-button:active {
  transform: scale(0.95);
}

.map-dock-buzz{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
  --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);
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
  border-color: rgb(34 211 238 / 0.5);
}

.map-dock-buzz:hover{
  --tw-border-opacity: 1;
  border-color: rgb(103 232 249 / var(--tw-border-opacity, 1));
}

.map-dock-buzz{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.sn-page .map-dock-buzz:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) .map-dock-buzz:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass .map-dock-buzz,
.leaderboard-rank-1 .map-dock-buzz,
.leaderboard-rank-2 .map-dock-buzz,
.leaderboard-rank-3 .map-dock-buzz,
.leaderboard-rank-top10 .map-dock-buzz {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite .map-dock-buzz,
.m1-folder-glass .map-dock-buzz,
.buzz-folder-glass .map-dock-buzz {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal .map-dock-buzz {
  color: #ffffff;
}

#m1-floating-pills-v3-portal .map-dock-buzz {
  color: #fafafa;
}

.m1-reward-zone-popup .map-dock-buzz {
  color: #ffffff;
}

.map-dock-buzz {
  position: relative;
  overflow: hidden;
}

.map-dock-buzz::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle, rgba(255,255,255,0.3) 0%, transparent 70%);
  transform: translate(-50%, -50%) scale(0);
  transition: transform 0.5s ease-out;
}

.map-dock-buzz:hover::before {
  transform: translate(-50%, -50%) scale(2);
}

/* LIVING LAYERS Container */

.living-layers-container {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1002;
  pointer-events: none; /* allow clicks to pass except inner */
}

.living-layers-container * { pointer-events: auto; }

.living-layers-pill {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 229, 255, 0.4);
  border-radius: 24px;
  box-shadow: 0 4px 16px rgba(0, 229, 255, 0.25);
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 1000;
}

.living-layers-pill:hover {
  background: rgba(0, 0, 0, 0.95);
  border-color: rgba(0, 229, 255, 0.6);
  box-shadow: 0 6px 24px rgba(0, 229, 255, 0.4);
}

.living-layers-pill-label {
  font-family: 'Orbitron', monospace;
  font-weight: 700;
  font-size: 11px;
  color: rgba(0, 229, 255, 1);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.living-layers-panel {
  position: absolute;
  top: 48px; /* open just below the pill */
  right: 0;
  min-width: 260px;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(0, 229, 255, 0.3);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 32px rgba(0, 229, 255, 0.2);
  animation: slide-in-right 0.25s ease-out;
  z-index: 1001;
}

@keyframes slide-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slide-in-right {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Accessibility: Reduced Motion */

@media (prefers-reduced-motion: reduce) {
  .map-dock-button {
    transition: none;
  }
  
  .map-dock-button:hover {
    transform: none;
  }
  
  .map-layers-panel {
    animation: none;
  }
}

/* Mobile Safe Area Adjustments */

@media (max-width: 640px) {
  .map-dock {
    bottom: 80px; /* Above bottom nav */
    right: 12px;
  }
  
  .living-layers-panel {
    width: calc(100vw - 32px);
    max-width: 280px;
  }
}

/* Terrain Layer Container */

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

.terrain-layer-container canvas {
  position: absolute;
  top: 0;
  left: 0;
}

/* Portal Container Styles - CENTERED TOP */

.portal-pill-centered {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1002;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 255, 255, 0.4);
  border-radius: 24px;
  box-shadow: 0 4px 16px rgba(0, 255, 255, 0.25);
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: auto;
}

.portal-pill-centered:hover {
  background: rgba(0, 0, 0, 0.95);
  border-color: rgba(0, 255, 255, 0.6);
  box-shadow: 0 6px 24px rgba(0, 255, 255, 0.4);
  transform: translateX(-50%) scale(1.05);
}

.portal-pill-label {
  font-family: 'Orbitron', monospace;
  font-weight: 700;
  font-size: 14px;
  color: #00ffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.portal-pill-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  background: rgba(0, 255, 255, 0.2);
  border: 1px solid rgba(0, 255, 255, 0.4);
  border-radius: 12px;
  font-family: 'Orbitron', monospace;
  font-weight: 600;
  font-size: 12px;
  color: #00ffff;
}

.portal-drawer-centered {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1003;
  width: 280px;
  max-height: 70vh;
  overflow-y: auto;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(0, 255, 255, 0.35);
  border-radius: 20px;
  padding: 18px;
  box-shadow: 
    0 8px 32px rgba(0, 255, 255, 0.3),
    0 0 60px rgba(0, 255, 255, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  animation: slide-in-down 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: auto;
}

@keyframes slide-in-down {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

.portal-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid rgba(0, 255, 255, 0.2);
}

.portal-drawer-title {
  font-family: 'Orbitron', monospace;
  font-weight: 700;
  font-size: 16px;
  color: #00ffff;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.portal-drawer-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  background: rgba(0, 255, 255, 0.15);
  border: 1px solid rgba(0, 255, 255, 0.3);
  border-radius: 14px;
  font-family: 'Orbitron', monospace;
  font-weight: 600;
  font-size: 13px;
  color: #00ffff;
}

.portal-drawer-close{
  background-color: transparent;
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}


.leaderboard-card-glass span:not(.portal-drawer-close):not(.text-green-400):not(.text-orange-400):not(.text-pink-400):not(.text-purple-400) {
  color: rgba(255, 255, 255, 0.95);
}

.portal-drawer-close:hover{
  background-color: rgb(255 255 255 / 0.1);
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.portal-drawer-close{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  animation-duration: 200ms;
  min-width: 32px;
  min-height: 32px;
  padding: 0;
}

.portal-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  padding: 16px;
  overflow-y: auto;
  max-height: calc(60vh - 120px);
}

.portal-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 12px;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 88px;
}

.portal-button:hover {
  background: rgba(0, 0, 0, 0.8);
  border-color: rgba(0, 255, 255, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 20px rgba(0, 255, 255, 0.2);
}

.portal-button:active {
  transform: translateY(0);
}

.portal-button-gradient {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  color: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.portal-button-label {
  font-family: 'Orbitron', monospace;
  font-weight: 600;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.portal-button-active {
  background: rgba(0, 255, 255, 0.15);
  border-color: rgba(0, 255, 255, 0.6);
}

.portal-button-active:hover {
  background: rgba(0, 255, 255, 0.2);
  border-color: rgba(0, 255, 255, 0.8);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 30px rgba(0, 255, 255, 0.5);
}

.portal-drawer-footer {
  padding: 12px 16px;
  border-top: 1px solid rgba(0, 255, 255, 0.2);
  text-align: center;
}

/* Mobile Adjustments */

@media (max-width: 640px) {
  .portal-pill-centered {
    min-width: 100px;
    padding: 8px 14px;
  }

  .portal-drawer-centered {
    width: calc(100vw - 32px);
    max-width: 320px;
  }

  .portal-drawer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .portal-button {
    padding: 12px 8px;
    min-height: 80px;
  }

  .portal-button-gradient {
    width: 40px;
    height: 40px;
  }

  .portal-button-label {
    font-size: 11px;
  }

  .living-layers-pill {
    top: 12px;
    right: 12px;
    left: auto;
    bottom: auto;
  }

  .living-layers-panel {
    top: 48px;
    right: 12px;
    left: auto;
    bottom: auto;
  }
}

/* Accessibility: Reduced Motion */

@media (prefers-reduced-motion: reduce) {
  .portal-pill-centered,
  .portal-drawer-centered,
  .portal-button,
  .living-layers-pill,
  .living-layers-panel {
    transition: none;
    animation: none;
  }

  .portal-pill-centered:hover {
    transform: translateX(-50%);
  }

  .living-layers-pill:hover {
    transform: none;
  }

  .portal-button:hover {
    transform: none;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* Hide native map zoom controls (Leaflet / MapLibre / Google) */

.leaflet-control-zoom,
.maplibregl-ctrl-zoom,
.gm-bundled-control .gmnoprint [aria-label='Zoom in'],
.gm-bundled-control .gmnoprint [aria-label='Zoom out'] {
  display: none !important;
}

/* Portal Container - M1SSION Style */

.portal-pill {
  position: fixed;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1100;
  
  /* M1SSION Glass Effect */
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid rgba(0, 229, 255, 0.3);
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.6),
    0 0 20px rgba(0, 229, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  
  /* Layout */
  padding: 12px 16px;
  border-radius: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: auto;
}

.portal-pill:hover {
  background: rgba(0, 0, 0, 0.95);
  border-color: rgba(0, 229, 255, 0.5);
  box-shadow: 
    0 12px 40px rgba(0, 0, 0, 0.7),
    0 0 30px rgba(0, 229, 255, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  transform: translateY(-50%) scale(1.05);
}

.portal-pill-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: rgba(0, 229, 255, 1);
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.5);
}

.portal-pill-badge {
  background: rgba(0, 229, 255, 0.2);
  border: 1px solid rgba(0, 229, 255, 0.4);
  border-radius: 12px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 700;
  color: rgba(0, 229, 255, 1);
  min-width: 24px;
  text-align: center;
}

/* Portal Drawer - Expanded State */

.portal-drawer {
  position: fixed;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1100;
  
  /* M1SSION Glass Effect */
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid rgba(0, 229, 255, 0.3);
  box-shadow: 
    0 12px 48px rgba(0, 0, 0, 0.8),
    0 0 30px rgba(0, 229, 255, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  
  border-radius: 24px;
  padding: 20px;
  width: 280px;
  max-height: 60vh;
  overflow-y: auto;
  
  pointer-events: auto;
  
  animation: portal-drawer-enter 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes portal-drawer-enter {
  from {
    opacity: 0;
    transform: translateY(-50%) translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}

.portal-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0, 229, 255, 0.2);
}

.portal-drawer-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: rgba(0, 229, 255, 1);
  text-shadow: 0 0 12px rgba(0, 229, 255, 0.6);
}

.portal-drawer-badge {
  background: rgba(0, 229, 255, 0.2);
  border: 1px solid rgba(0, 229, 255, 0.4);
  border-radius: 12px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(0, 229, 255, 1);
}

.portal-drawer-close {
  color: rgba(255, 255, 255, 0.6);
  transition: color 0.2s ease;
}

.portal-drawer-close:hover {
  color: rgba(255, 255, 255, 1);
  background: rgba(255, 255, 255, 0.1);
}

/* Portal Buttons Grid */

.portal-drawer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 16px;
}

.portal-button {
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 12px 16px;
  
  display: flex;
  align-items: center;
  gap: 12px;
  
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  
  text-align: left;
}

.portal-button:hover {
  background: rgba(0, 0, 0, 0.8);
  border-color: rgba(0, 229, 255, 0.4);
  box-shadow: 0 4px 16px rgba(0, 229, 255, 0.2);
  transform: translateY(-2px);
}

.portal-button-active {
  background: rgba(0, 229, 255, 0.15);
  border-color: rgba(0, 229, 255, 0.6);
  box-shadow: 
    0 4px 20px rgba(0, 229, 255, 0.3),
    inset 0 0 20px rgba(0, 229, 255, 0.1);
}

.portal-button-gradient {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  
  color: white;
  
  transition: all 0.3s ease;
}

.portal-button:hover .portal-button-gradient {
  box-shadow: 0 0 20px rgba(0, 229, 255, 0.6);
}

.portal-button-label {
  flex: 1;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.portal-button-active .portal-button-label {
  color: rgba(0, 229, 255, 1);
  text-shadow: 0 0 8px rgba(0, 229, 255, 0.5);
}

/* Portal Drawer Footer */

.portal-drawer-footer {
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

/* Scrollbar Styling */

.portal-drawer::-webkit-scrollbar {
  width: 6px;
}

.portal-drawer::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

.portal-drawer::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.3);
  border-radius: 3px;
}

.portal-drawer::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 229, 255, 0.5);
}

/* Mobile Adjustments */

@media (max-width: 640px) {
  .portal-pill {
    left: 8px;
  }
  
  .portal-drawer {
    left: 8px;
    width: calc(100vw - 16px);
    max-width: 280px;
  }
}

/* Safe Area Support (iOS PWA) */

@supports (padding: env(safe-area-inset-left)) {
  .portal-pill {
    left: max(12px, env(safe-area-inset-left));
  }
  
  .portal-drawer {
    left: max(12px, env(safe-area-inset-left));
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* Main animations index file */

/* Basic animation keyframes */

@tailwind base;

@tailwind components;

@tailwind utilities;

/* Float animations */

@keyframes float-particle {
  0% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(20px, -10px);
  }
  100% {
    transform: translate(0, 0);
  }
}

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

.float-animation {
  animation: float 4s ease-in-out infinite;
}

/* Pulse animations */

@keyframes neon-pulse {
  0%, 100% {
    filter: brightness(1) drop-shadow(0 0 5px rgba(0, 163, 255, 0.5)) 
           drop-shadow(0 0 10px rgba(0, 163, 255, 0.3));
  }
  50% {
    filter: brightness(1.2) drop-shadow(0 0 8px rgba(0, 163, 255, 0.7)) 
           drop-shadow(0 0 15px rgba(0, 163, 255, 0.5));
  }
}

.animate-neon-pulse {
  animation: neon-pulse 3s ease-in-out infinite;
}

/* Fade animations */

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-up-animation {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-up-animation.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Text glow and wave effects */

@keyframes text-glow {
  0%, 100% {
    text-shadow: 0 0 5px rgba(0, 229, 255, 0.7), 0 0 10px rgba(0, 229, 255, 0.5);
  }
  50% {
    text-shadow: 0 0 15px rgba(0, 229, 255, 0.9), 0 0 25px rgba(0, 229, 255, 0.7);
  }
}

.text-glow {
  animation: text-glow 3s ease-in-out infinite;
}

/* Wave text effect */

.wave-text {
  position: relative;
  overflow: hidden;
}

@keyframes wave-text-effect {
  0% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-8px);
  }
  50% {
    transform: translateY(0);
  }
  75% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(0);
  }
}

.wave-text span {
  display: inline-block;
  animation: wave-text-effect 2.5s ease-in-out infinite;
  animation-delay: calc(0.1s * var(--char-index, 0));
}

/* Gradient text reveal */

@keyframes reveal-text {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

.reveal-text {
  animation: reveal-text 0.8s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

/* Typing text effect */

@keyframes typing {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes cursor {
  50% { border-color: transparent; }
}

/* Split text animations */

.split-parent {
  overflow: hidden;
  display: block;
}

.split-child {
  display: block;
  transform: translateY(100%);
  transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}

.is-visible .split-child {
  transform: translateY(0);
}

/* Transition and transform animations */

@keyframes reveal-block {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(101%);
  }
}

.reveal-block {
  animation: reveal-block 1.1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

@keyframes magnetic-effect {
  0% {
    transform: translateX(0) translateY(0);
  }
  20% {
    transform: translateX(2px) translateY(-2px);
  }
  40% {
    transform: translateX(-2px) translateY(2px);
  }
  60% {
    transform: translateX(1px) translateY(1px);
  }
  80% {
    transform: translateX(-1px) translateY(-1px);
  }
  100% {
    transform: translateX(0) translateY(0);
  }
}

.magnetic-animation {
  animation: magnetic-effect 8s ease-in-out infinite;
}

@keyframes rotate-3d {
  0% {
    transform: perspective(1000px) rotateX(0) rotateY(0);
  }
  25% {
    transform: perspective(1000px) rotateX(2deg) rotateY(2deg);
  }
  50% {
    transform: perspective(1000px) rotateX(0) rotateY(4deg);
  }
  75% {
    transform: perspective(1000px) rotateX(-2deg) rotateY(2deg);
  }
  100% {
    transform: perspective(1000px) rotateX(0) rotateY(0);
  }
}

.rotate-3d-animation {
  animation: rotate-3d 12s ease-in-out infinite;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

.marquee-animation {
  animation: marquee 20s linear infinite;
}

/* Stagger animation helper */

.stagger-animation {
  transition-delay: var(--stagger-delay, 0ms);
}

/* Cinematic Landing Page Effects */

.bg-gradient-radial {
  background: radial-gradient(circle at center, var(--tw-gradient-stops));
}

/* Glow text effect for M1SSION */

.glow-text {
  text-shadow: 
    0 0 10px currentColor,
    0 0 20px currentColor,
    0 0 40px currentColor;
  animation: pulse-glow 3s ease-in-out infinite alternate;
}

@keyframes pulse-glow {
  from {
    text-shadow: 
      0 0 10px currentColor,
      0 0 20px currentColor,
      0 0 40px currentColor;
  }
  to {
    text-shadow: 
      0 0 5px currentColor,
      0 0 10px currentColor,
      0 0 20px currentColor,
      0 0 40px currentColor,
      0 0 80px currentColor;
  }
}

/* Black hole backdrop effect */

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

.black-hole-backdrop {
  animation: rotate-slow 30s linear infinite;
}

/* Xavier Cusso Style Effects */

.glow-text {
  text-shadow: 
    0 0 10px currentColor,
    0 0 20px currentColor,
    0 0 40px currentColor,
    0 0 80px currentColor;
  animation: pulse-glow 3s ease-in-out infinite alternate;
}

@keyframes pulse-glow {
  from {
    text-shadow: 
      0 0 10px currentColor,
      0 0 20px currentColor,
      0 0 40px currentColor;
  }
  to {
    text-shadow: 
      0 0 5px currentColor,
      0 0 10px currentColor,
      0 0 20px currentColor,
      0 0 40px currentColor,
      0 0 80px currentColor;
  }
}

/* Text gradient effect */

.text-gradient {
  background: linear-gradient(135deg, var(--tw-gradient-stops));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Morphing hover effects */

.morph-hover {
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.morph-hover:hover {
  transform: perspective(1000px) rotateX(5deg) rotateY(5deg) scale(1.05);
  filter: brightness(1.2) contrast(1.1);
}

/* Image and element hover effects */

/* Image hover effects */

.img-hover-zoom {
  overflow: hidden;
}

.img-hover-zoom img {
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.img-hover-zoom:hover img {
  transform: scale(1.1);
}

/* Button animations */

.btn-magnetic {
  position: relative;
  transition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}

/* Hover lift effect */

.hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
}

/* Instagram animation */

.instagram-story-ring::before,
.instagram-story-ring-gradient::before {
  animation: spin-gradient 2.8s linear infinite;
}

/* Parallax animation styles */

.parallax-container {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow-x: hidden;
  perspective: 10px;
}

.parallax-layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform-style: preserve-3d;
}

.parallax-bg {
  transform: translateZ(-12px) scale(2.25);
}

.parallax-mid {
  transform: translateZ(-6px) scale(1.6);
}

.parallax-front {
  transform: translateZ(0);
}

/* For smooth transitions */

[data-parallax] {
  will-change: transform;
  transition: transform 0.1s linear;
}

@keyframes float-animation {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}

.parallax-float {
  animation: float-animation 15s ease-in-out infinite;
}

@keyframes glow-pulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.8; }
}

.parallax-glow {
  animation: glow-pulse 3s ease-in-out infinite;
  filter: blur(40px);
}

/* Enhanced parallax effects */

.parallax-scroll {
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Different speeds for different elements */

.parallax-speed-1 {
  transform: translateY(calc(var(--scrollY, 0) * 0.1px));
}

.parallax-speed-2 {
  transform: translateY(calc(var(--scrollY, 0) * 0.2px));
}

.parallax-speed-3 {
  transform: translateY(calc(var(--scrollY, 0) * 0.3px));
}

.parallax-speed-negative-1 {
  transform: translateY(calc(var(--scrollY, 0) * -0.1px));
}

.parallax-speed-negative-2 {
  transform: translateY(calc(var(--scrollY, 0) * -0.2px));
}

/* For 3D-like effects */

.parallax-depth {
  transform-style: preserve-3d;
  perspective: 1000px;
}

/* Scale effect for hover with parallax */

.parallax-scale:hover {
  transform: scale(1.05);
  transition: transform 0.3s ease;
}

/* Flip Card Animation Styles */

.perspective-1000 {
  perspective: 1000px;
}

.transform-style-3d {
  transform-style: preserve-3d;
}

.backface-hidden {
  backface-visibility: hidden;
}

.rotate-y-180 {
  transform: rotateY(180deg);
}

.card-container {
  perspective: 1000px;
  width: 100%;
  height: 100%;
}

.card {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s ease-in-out;
  transform-style: preserve-3d;
}

.card.is-flipped {
  transform: rotateY(180deg);
}

.card-front, .card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 16px;
}

.card-back {
  transform: rotateY(180deg);
  background: #111;
  color: white;
}

/* Hover effect on desktop only */

@media (hover: hover) {
  .transform-style-3d:hover {
    transform: scale(1.02);
  }
}

/* Disable double-click zoom */

.card-container, .card, .card-front, .card-back {
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

/* Prevent image zoom behavior */

.card-front img, .card-back img {
  pointer-events: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
}

/* Radar and Dynamic Island Effects */

.perspective-1000 {
  perspective: 1000px;
}

.text-glitch {
  position: relative;
  animation: glitch 0.5s ease-out;
}

@keyframes glitch {
  0% {
    text-shadow: 0 0 5px rgba(0, 255, 0, 0.5);
    transform: translateX(0);
  }
  20% {
    text-shadow: 2px 0 0 rgba(255, 0, 0, 0.75), -2px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(-2px);
  }
  40% {
    text-shadow: -2px 0 0 rgba(255, 0, 0, 0.75), 2px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(2px);
  }
  60% {
    text-shadow: 1px 0 0 rgba(255, 0, 0, 0.75), -1px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(-1px);
  }
  80% {
    text-shadow: -1px 0 0 rgba(255, 0, 0, 0.75), 1px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(1px);
  }
  100% {
    text-shadow: 0 0 20px rgba(0, 255, 0, 0.8);
    transform: translateX(0);
  }
}

/* Radar pulse effect */

@keyframes radar {
  0% {
    transform: scale(0.5);
    opacity: 0.6;
  }
  100% {
    transform: scale(4);
    opacity: 0;
  }
}

.radar-pulse {
  animation: radar 2s ease-out infinite;
}

/* Line clamp utility */

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

/* Enhanced glow effects */

.glow-green {
  box-shadow: 0 0 20px rgba(0, 255, 0, 0.6);
}

.glow-cyan {
  box-shadow: 0 0 15px rgba(0, 229, 255, 0.5);
}

/* Text glow effect for statistics */

.text-glow {
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.7), 0 0 20px rgba(0, 209, 255, 0.6);
}

/* Additional Awwwards-style animations */

.gradient-white-text {
  background: linear-gradient(90deg, #ffffff 50%, #f1f1f1 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
}

/* Parallax utilities */

.parallax-element {
  will-change: transform;
  transform: translateY(var(--parallax-y, 0));
  transition: transform 0.1s linear;
}

/* Ripple effect */

@keyframes ripple {
  0% { transform: scale(0); opacity: 0.5; }
  100% { transform: scale(4); opacity: 0; }
}

/* Special admin code animation */

@keyframes glow {
  0% { text-shadow: 0 0 2px rgba(0, 229, 255, 0.5); }
  50% { text-shadow: 0 0 10px rgba(0, 229, 255, 0.8), 0 0 15px rgba(0, 229, 255, 0.5); }
  100% { text-shadow: 0 0 2px rgba(0, 229, 255, 0.5); }
}

.animate-glow {
  animation: glow 2.5s infinite ease-in-out;
}

/* Dynamic Island animations */

@keyframes expand-dynamic-island {
  from {
    width: auto;
    height: 36px;
    border-radius: 9999px;
    opacity: 1;
    transform: scale(0.95);
  }
  to {
    width: 92%;
    max-width: 32rem;
    height: auto;
    border-radius: 24px;
    opacity: 1;
    transform: scale(1);
  }
}

.dynamic-island-expand {
  transform-origin: center center;
  animation: expand-dynamic-island 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes content-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dynamic-island-content {
  animation: content-fade-in 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  animation-delay: 0.15s;
  opacity: 0;
}

/* Animated background */

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

.bg-animated {
  background: linear-gradient(120deg, #1a003a, #0f043a, #10182f);
  background-size: 400% 400%;
  animation: moveLight 25s linear infinite;
  opacity: 0.8;
}

/* THE PULSE™ Energy Animations — ENERGY REBORN */

:root {
  --flow-speed: 4s;         /* durata base scorrimento */
  --breath-speed: 2s;       /* durata respiro */
  --flow-mult: 1;           /* spike accelera (0.6 = più veloce) */
  --glow-mult: 1;           /* spike aumenta glow */
  --pulse-brightness: 1;    /* brightness dinamico */
  --outline-intensity: 1;   /* intensità contorno */
}

@keyframes energyFlow {
  0%   { background-position: 0% 50%;   filter: brightness(calc(var(--pulse-brightness) * 0.96)); }
  100% { background-position: 200% 50%; filter: brightness(var(--pulse-brightness)); }
}

@keyframes pulseBreath {
  0%, 100% { opacity: .55; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.03); }
}

@keyframes outlineFlux {
  0%, 100% { box-shadow: 0 0 calc(12px * var(--outline-intensity) * var(--glow-mult)) rgba(0, 231, 255, .55); opacity: .7; }
  50%      { box-shadow: 0 0 calc(18px * var(--outline-intensity) * var(--glow-mult)) rgba(255, 77, 240, .65); opacity: 1; }
}

.animate-energyFlow {
  background-size: 400% 400%;
  animation: energyFlow calc(var(--flow-speed) * var(--flow-mult)) linear infinite;
}

.animate-pulseBreath {
  animation: pulseBreath var(--breath-speed) ease-in-out infinite;
}

.animate-outlineFlux {
  animation: outlineFlux calc(var(--breath-speed) * 1.2) ease-in-out infinite;
}

/* transizione fluida larghezza fill */

.pulse-fill-transition {
  transition: width 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* percentuale sempre nitida */

.pulse-percent {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Outline vivo: doppia aura + scan ionico, sincronizzati con i parametri della barra */

.pulse-outline {
  --o-int: var(--outline-intensity, 1);
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  /* bordo sottile sempre visibile */
  box-shadow:
    0 0 calc(10px * var(--o-int) * var(--glow-mult, 1)) rgba(0, 231, 255, 0.45),
    0 0 calc(16px * var(--o-int) * var(--glow-mult, 1)) rgba(255, 77, 240, 0.35) inset;
  animation:
    outlineBreath calc(var(--breath-speed, 2s) * 1) ease-in-out infinite,
    outlineScan calc(var(--flow-speed, 4s) * var(--flow-mult, 1)) linear infinite;
}

@keyframes outlineBreath {
  0%, 100% {
    box-shadow:
      0 0 calc(10px * var(--o-int) * var(--glow-mult, 1)) rgba(0, 231, 255, 0.50),
      0 0 calc(14px * var(--o-int) * var(--glow-mult, 1)) rgba(255, 77, 240, 0.30) inset;
    filter: brightness(calc(var(--pulse-brightness, 1) * 0.98));
  }
  50% {
    box-shadow:
      0 0 calc(18px * var(--o-int) * var(--glow-mult, 1)) rgba(255, 77, 240, 0.55),
      0 0 calc(22px * var(--o-int) * var(--glow-mult, 1)) rgba(0, 231, 255, 0.45) inset;
    filter: brightness(calc(var(--pulse-brightness, 1) * 1.08));
  }
}

@keyframes outlineScan {
  0% { outline: 2px solid rgba(255, 255, 255, 0.05); }
  50% { outline: 2px solid rgba(255, 255, 255, 0.10); }
  100% { outline: 2px solid rgba(255, 255, 255, 0.05); }
}

/* Ritual Aura Spin (for OPEN button) */

.aura-spin {
  background: conic-gradient(
    from 0deg,
    rgba(255, 77, 240, 0.25),
    rgba(0, 231, 255, 0.25),
    rgba(255, 255, 255, 0.05),
    rgba(0, 231, 255, 0.25),
    rgba(255, 77, 240, 0.25)
  );
  filter: blur(18px) saturate(1.2);
  animation: auraOrbit calc(var(--flow-speed, 4s) * var(--flow-mult, 1)) linear infinite,
    auraBreath var(--breath-speed, 2s) ease-in-out infinite;
  border-radius: 9999px;
}

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

@keyframes auraBreath {
  0%,
  100% {
    opacity: 0.55;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}

/* Ritual FX Layers */

.ritual-interference {
  position: relative;
  overflow: hidden;
}

.ritual-scanlines {
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.15),
    rgba(0, 0, 0, 0.15) 1px,
    transparent 1px,
    transparent 2px
  );
  pointer-events: none;
}

.ritual-chromatic {
  animation: chromaticShift 0.3s ease-in-out infinite;
}

@keyframes chromaticShift {
  0%,
  100% {
    filter: none;
  }
  33% {
    filter: hue-rotate(2deg) saturate(1.1);
  }
  66% {
    filter: hue-rotate(-2deg) saturate(0.9);
  }
}

.ritual-noise {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");
  opacity: 0.1;
}

@keyframes pulse-ritual-precharge {
  0%,
  100% {
    opacity: 0.3;
  }
  50% {
    opacity: 0.5;
  }
}

.animate-pulse-ritual-precharge {
  animation: pulse-ritual-precharge 1s ease-in-out infinite;
}

/* ═══════════════════════════════════════════════════════════════
   FUTURISTIC PULSE BAR ANIMATIONS — CYBERPUNK STYLE
═══════════════════════════════════════════════════════════════ */

/* Futuristic outline with multi-layer glow */

.pulse-outline-futuristic {
  animation: 
    pulseOutlineFuturistic 2s ease-in-out infinite,
    pulseOutlineRotate 4s linear infinite;
}

@keyframes pulseOutlineFuturistic {
  0%, 100% {
    box-shadow:
      0 0 4px var(--pulse-primary, #00d4ff),
      0 0 8px var(--pulse-primary, #00d4ff),
      0 0 16px var(--pulse-secondary, #ff00ff),
      inset 0 0 4px var(--pulse-accent, #00ff88);
    border: 1px solid rgba(255, 255, 255, 0.2);
  }
  50% {
    box-shadow:
      0 0 8px var(--pulse-primary, #00d4ff),
      0 0 16px var(--pulse-secondary, #ff00ff),
      0 0 24px var(--pulse-accent, #00ff88),
      inset 0 0 8px var(--pulse-primary, #00d4ff);
    border: 1px solid rgba(255, 255, 255, 0.4);
  }
}

@keyframes pulseOutlineRotate {
  0% {
    background: linear-gradient(0deg, transparent, transparent);
  }
  25% {
    background: linear-gradient(90deg, 
      transparent 0%, 
      var(--pulse-accent, #00ff88) 50%, 
      transparent 100%);
    background-size: 30% 100%;
    background-position: -30% 0;
  }
  50% {
    background-position: 130% 0;
  }
  75%, 100% {
    background: linear-gradient(0deg, transparent, transparent);
  }
}

/* Plasma shimmer effect */

@keyframes plasmaShimmer {
  0% {
    filter: hue-rotate(0deg) brightness(1);
  }
  33% {
    filter: hue-rotate(10deg) brightness(1.1);
  }
  66% {
    filter: hue-rotate(-10deg) brightness(0.95);
  }
  100% {
    filter: hue-rotate(0deg) brightness(1);
  }
}

.animate-plasma {
  animation: plasmaShimmer 3s ease-in-out infinite;
}

/* Digital noise flicker */

@keyframes digitalNoise {
  0%, 100% { opacity: 0; }
  10% { opacity: 0.03; }
  20% { opacity: 0; }
  30% { opacity: 0.05; }
  40% { opacity: 0.02; }
  50% { opacity: 0; }
  60% { opacity: 0.04; }
  70% { opacity: 0; }
  80% { opacity: 0.03; }
  90% { opacity: 0.01; }
}

.animate-noise {
  animation: digitalNoise 0.5s steps(10) infinite;
}

/* Energy surge wave */

@keyframes energySurge {
  0% {
    transform: translateX(-100%) scaleY(1);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    transform: translateX(200%) scaleY(1.5);
    opacity: 0;
  }
}

.animate-energy-surge {
  animation: energySurge 2s ease-in-out infinite;
}

/* Cyber heartbeat */

@keyframes cyberHeartbeat {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
  10% {
    transform: scale(1.02);
    filter: brightness(1.2);
  }
  20% {
    transform: scale(1);
    filter: brightness(1);
  }
  30% {
    transform: scale(1.01);
    filter: brightness(1.1);
  }
  40%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
}

.animate-cyber-heartbeat {
  animation: cyberHeartbeat 1.5s ease-in-out infinite;
}

/* accessibilità: riduci animazioni */

@media (prefers-reduced-motion: reduce) {
  .animate-energyFlow,
  .animate-pulseBreath,
  .animate-outlineFlux,
  .pulse-outline,
  .pulse-outline-futuristic,
  .aura-spin,
  .ritual-chromatic,
  .animate-pulse-ritual-precharge,
  .animate-plasma,
  .animate-noise,
  .animate-energy-surge,
  .animate-cyber-heartbeat {
    animation: none !important;
  }
}

/* Interactive card effects */

.card-hover-effect {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card-hover-effect:hover {
  transform: translateY(-2px);
}

/* Text glitch effect for mission start */

.text-glitch {
  position: relative;
  animation: glitch 0.5s ease-out;
}

@keyframes glitch {
  0% {
    text-shadow: 0 0 5px rgba(0, 255, 0, 0.5);
    transform: translateX(0);
  }
  20% {
    text-shadow: 2px 0 0 rgba(255, 0, 0, 0.75), -2px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(-2px);
  }
  40% {
    text-shadow: -2px 0 0 rgba(255, 0, 0, 0.75), 2px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(2px);
  }
  60% {
    text-shadow: 1px 0 0 rgba(255, 0, 0, 0.75), -1px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(-1px);
  }
  80% {
    text-shadow: -1px 0 0 rgba(255, 0, 0, 0.75), 1px 0 0 rgba(0, 255, 255, 0.75);
    transform: translateX(1px);
  }
  100% {
    text-shadow: 0 0 20px rgba(0, 255, 0, 0.8);
    transform: translateX(0);
  }
}

/* M1SSION™ Apple Glass Style System
 * © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
 */

:root {
  /* M1SSION Primary Colors */
  --m1-cyan: 190 100% 50%;
  --m1-violet: 255 70% 68%;
  --m1-pink: 295 100% 68%;
  --m1-yellow: 45 96% 54%;
  --m1-deep: 210 48% 8%;
  --m1-blue: 190 100% 50%;
  --m1-purple: 265 100% 58%;
  
  /* Glass System Colors */
  --m1-glass: 210 59% 9%;
  --m1-glass-bg: 210 53% 7%;
  --m1-glass-bg-strong: 210 53% 7%;
  --m1-glass-border: 0 0% 100%;
  --m1-glass-inner: 0 0% 100%;
  --m1-glass-top: 0 0% 100%;
  
  /* Status Colors */
  --m1-error: 0 100% 65%;
  --m1-success: 158 64% 52%;
  
  /* Blur Levels */
  --m1-blur-light: 10px;
  --m1-blur-medium: 14px;
  --m1-blur-heavy: 20px;
  --m1-blur-ultra: 40px;
  
  /* Border Radius */
  --m1-radius: 22px;
  --m1-radius-sm: 18px;
  --m1-radius-md: 20px;
  --m1-radius-lg: 24px;
  
  /* Shadow System */
  --m1-shadow: 0 18px 48px rgba(0, 12, 24, .45);
  --m1-shadow-card: 0 18px 48px -6px rgba(0, 10, 30, 0.45);
  --m1-shadow-glow-cyan: 0 0 24px rgba(0, 229, 255, 0.38);
  --m1-shadow-glow-violet: 0 16px 60px rgba(122, 92, 255, 0.44);
}

/* .m1ssion-glass-card is now defined ONLY in theme.css for 3D Obsidian + Aurora effect */

/* DO NOT redefine here to avoid CSS cascade conflicts */

/* Glass Card - Secondary */

.glass-card {
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  transition: all 0.25s ease-in-out;
}

.glass-card:hover {
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
              inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

/* M1 Card with Gradient Border */

.m1-card {
  position: relative;
  border-radius: var(--m1-radius-md);
  background: rgba(7, 17, 26, 0.72);
  backdrop-filter: blur(var(--m1-blur-medium));
  -webkit-backdrop-filter: blur(var(--m1-blur-medium));
}

.m1-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--m1-radius-md);
  padding: 2px;
  background: linear-gradient(90deg, hsl(var(--m1-cyan)) 0%, hsl(var(--m1-violet)) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  opacity: 0.45;
  filter: blur(8px);
}

/* Gradient Neon Buttons */

.btn-gradient {
  background: linear-gradient(to right, #7B2EFF, #00D1FF);
  color: white;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 9999px;
  box-shadow: 0 4px 15px rgba(123, 46, 255, 0.3);
  transition: all 0.3s ease;
}

.btn-gradient:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(123, 46, 255, 0.5);
}

.btn-gradient:active {
  transform: translateY(1px);
}

/* Neon Text Effects */

.neon-text-cyan {
  color: #00D1FF;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(0, 209, 255, 0.6), 
               0 0 20px rgba(0, 209, 255, 0.4);
}

.neon-text-magenta {
  color: #F059FF;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(240, 89, 255, 0.6), 
               0 0 20px rgba(240, 89, 255, 0.4);
}

.neon-text-yellow {
  color: #FACC15;
  font-weight: 700;
  text-shadow: 0 0 10px rgba(250, 204, 21, 0.6), 
               0 0 20px rgba(250, 204, 21, 0.4);
}

/* Quick Glass Utilities */

.glass-light { 
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.glass-medium { 
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.glass-heavy { 
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  border: 0;
}

/* Glow Border Utilities */

.glow-border-cyan {
  border: 1px solid rgba(0, 209, 255, 0.6);
  box-shadow: 0 0 10px rgba(0, 209, 255, 0.4), 
              inset 0 0 5px rgba(0, 209, 255, 0.2);
}

.glow-border-magenta {
  border: 1px solid rgba(240, 89, 255, 0.6);
  box-shadow: 0 0 10px rgba(240, 89, 255, 0.4), 
              inset 0 0 5px rgba(240, 89, 255, 0.2);
}

/* Press Effect */

.press-effect {
  transition: all 0.1s ease-in-out;
}

.press-effect:active {
  transform: scale(0.95);
}

/* Neon Border Gradient */

.neon-border-gradient {
  position: relative;
}

.neon-border-gradient::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(34,211,238,.35), rgba(139,92,246,.28));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1px;
}

/* Multicolor Top Border */

.multicolor-top-border::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, #00D1FF, #7B2EFF, #F059FF, #FACC15);
  opacity: 0.9;
}

/* Neon Pulse Animation */

@keyframes neon-pulse {
  0%, 100% { 
    text-shadow: 0 0 5px rgba(0, 229, 255, 0.7), 0 0 10px rgba(0, 229, 255, 0.5);
  }
  50% {
    text-shadow: 0 0 15px rgba(0, 229, 255, 0.8), 0 0 25px rgba(0, 229, 255, 0.6), 0 0 35px rgba(0, 229, 255, 0.4);
  }
}

.animate-neon-pulse {
  animation: neon-pulse 2s ease-in-out infinite;
}

/* .m1ssion-glass-card mobile override removed - style defined ONLY in theme.css */

/* This ensures consistent 3D Obsidian + Aurora effect across all devices */

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* © 2025 Joseph MULÉ – M1SSION™ – NATIVE APP UI UPGRADE
 * 
 * 🚀 NATIVE APP UI UPGRADE - Look & Feel migliorato
 * 
 * Questo file contiene SOLO modifiche estetiche:
 * - Pulsanti e icone più grandi (tap target ≥48px)
 * - Micro-animazioni leggere (breathing, glow, pop)
 * - Spaziatura ottimizzata per mobile
 * 
 * ⚠️ ROLLBACK: Per tornare indietro, rimuovere l'import da index.css
 */

/* ═══════════════════════════════════════════════════════════════════════════
   TASK 1: PULSANTI E ICONE PIÙ GRANDI
   ═══════════════════════════════════════════════════════════════════════════ */

/* Bottom Navigation - Icone e testo più grandi */

.bottom-navigation-ios .bottom-nav-icon {
  width: 28px !important;
  height: 28px !important;
}

.bottom-navigation-ios .bottom-nav-label {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
}

/* Tap target garantito ≥48px su mobile */

@media (max-width: 768px) {
  .bottom-navigation-ios button,
  .bottom-navigation-ios a {
    min-width: 52px !important;
    min-height: 52px !important;
    padding: 6px 4px !important;
  }
}

/* Header - Pulsanti più prominenti */

.unified-header-btn {
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 12px !important;
}

/* M1SSION Logo - Leggermente più grande su mobile */

@media (max-width: 640px) {
  .m1ssion-logo {
    font-size: 1.4rem !important;
  }
}

/* Agent Code Badge - Più visibile */

.agent-code-badge {
  font-size: 0.875rem !important;
  padding: 4px 10px !important;
  font-weight: 700 !important;
}

/* Card Prize - Pulsanti più grandi */

.prize-card-btn {
  min-height: 48px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

/* Generic tap targets enhancement */

.tap-target-enhanced {
  min-width: 48px;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ═══════════════════════════════════════════════════════════════════════════
   TASK 2: MICRO-ANIMAZIONI COSTANTI
   ═══════════════════════════════════════════════════════════════════════════ */

/* Breathing Animation - Pulsante principale */

@keyframes m1-breathing {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.02);
    opacity: 0.95;
  }
}

.m1-breathing {
  animation: m1-breathing 3s ease-in-out infinite;
}

/* Glow Pulse - Per elementi attivi */

@keyframes m1-glow-pulse {
  0%, 100% {
    box-shadow: 0 0 8px rgba(0, 209, 255, 0.4),
                0 0 16px rgba(0, 209, 255, 0.2);
  }
  50% {
    box-shadow: 0 0 16px rgba(0, 209, 255, 0.6),
                0 0 32px rgba(0, 209, 255, 0.3),
                0 0 48px rgba(0, 209, 255, 0.15);
  }
}

.m1-glow-pulse {
  animation: m1-glow-pulse 3s ease-in-out infinite;
}

/* Text Glow Pulse */

@keyframes m1-text-glow {
  0%, 100% {
    text-shadow: 0 0 8px rgba(0, 209, 255, 0.5),
                 0 0 16px rgba(0, 209, 255, 0.3);
  }
  50% {
    text-shadow: 0 0 12px rgba(0, 209, 255, 0.7),
                 0 0 24px rgba(0, 209, 255, 0.4),
                 0 0 36px rgba(0, 209, 255, 0.2);
  }
}

.m1-text-glow {
  animation: m1-text-glow 4s ease-in-out infinite;
}

/* Pop Animation - Per badge e notifiche */

@keyframes m1-pop {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.m1-pop {
  animation: m1-pop 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Badge Bounce - Loop lento per notifiche */

@keyframes m1-badge-bounce {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
}

.m1-badge-bounce {
  animation: m1-badge-bounce 2s ease-in-out infinite;
}

/* Border Glow - Per card speciali */

@keyframes m1-border-glow {
  0%, 100% {
    border-color: rgba(0, 209, 255, 0.3);
  }
  50% {
    border-color: rgba(0, 209, 255, 0.6);
  }
}

.m1-border-glow {
  animation: m1-border-glow 4s ease-in-out infinite;
}

/* Shimmer Effect - Per loading states e highlight */

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

.m1-shimmer {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 209, 255, 0.1) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: m1-shimmer 3s ease-in-out infinite;
}

/* Float Animation - Per elementi decorativi */

@keyframes m1-float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

.m1-float {
  animation: m1-float 3s ease-in-out infinite;
}

/* Accessibilità: Disabilita animazioni se preferito */

@media (prefers-reduced-motion: reduce) {
  .m1-breathing,
  .m1-glow-pulse,
  .m1-text-glow,
  .m1-badge-bounce,
  .m1-border-glow,
  .m1-shimmer,
  .m1-float {
    animation: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   TASK 3: RIDURRE SPAZI VUOTI - LAYOUT COMPATTO
   ═══════════════════════════════════════════════════════════════════════════ */

/* Riduzione padding verticale globale su mobile */

@media (max-width: 768px) {
  .m1-compact-section {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  
  .m1-compact-gap {
    gap: 0.75rem !important;
  }
  
  .m1-compact-mb {
    margin-bottom: 0.75rem !important;
  }
  
  .m1-compact-mt {
    margin-top: 0.75rem !important;
  }
}

/* Home Content - Spaziatura ridotta */

.home-content-compact {
  padding-top: 0.5rem;
}

.home-content-compact > * + * {
  margin-top: 1rem;
}

@media (max-width: 768px) {
  .home-content-compact > * + * {
    margin-top: 0.75rem;
  }
}

/* Card sections più compatte */

.m1-card-compact {
  padding: 1rem !important;
}

@media (max-width: 640px) {
  .m1-card-compact {
    padding: 0.875rem !important;
  }
}

/* Section headers più compatti */

.m1-section-header-compact {
  margin-bottom: 0.75rem !important;
}

.m1-section-header-compact h2 {
  font-size: 1.25rem !important;
  margin-bottom: 0.25rem !important;
}

.m1-section-header-compact p {
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
}

/* Grid più denso */

.m1-dense-grid {
  gap: 0.75rem !important;
}

@media (min-width: 768px) {
  .m1-dense-grid {
    gap: 1rem !important;
  }
}

/* Bottom padding ridotto per scrolling content */

.m1-reduced-bottom-padding {
  padding-bottom: calc(env(safe-area-inset-bottom) + 80px) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ENHANCED VISUAL EFFECTS
   ═══════════════════════════════════════════════════════════════════════════ */

/* Neon glow più intenso per elementi chiave */

.m1-neon-intense {
  box-shadow: 
    0 0 10px rgba(0, 209, 255, 0.5),
    0 0 20px rgba(0, 209, 255, 0.3),
    0 0 40px rgba(0, 209, 255, 0.15),
    inset 0 0 10px rgba(0, 209, 255, 0.1) !important;
}

/* Active nav item enhanced */

.bottom-navigation-ios .nav-active {
  text-shadow: 0 0 10px rgba(0, 209, 255, 0.8) !important;
}

.bottom-navigation-ios .nav-active .bottom-nav-icon {
  filter: drop-shadow(0 0 6px rgba(0, 209, 255, 0.8)) !important;
}

/* Indicator bar più visibile */

.bottom-navigation-ios .active-indicator {
  height: 3px !important;
  width: 24px !important;
  box-shadow: 0 0 8px rgba(0, 209, 255, 0.8) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE-FIRST OPTIMIZATIONS
   ═══════════════════════════════════════════════════════════════════════════ */

/* Ensure proper viewport usage */

.m1-full-viewport {
  min-height: 100dvh;
  min-height: -webkit-fill-available;
}

/* Safe area padding helpers */

.m1-safe-top {
  padding-top: max(env(safe-area-inset-top), 12px);
}

.m1-safe-bottom {
  padding-bottom: max(env(safe-area-inset-bottom), 12px);
}

/* Prevent horizontal overflow */

.m1-no-overflow-x {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

/* Touch feedback enhanced */

.m1-touch-feedback {
  -webkit-tap-highlight-color: rgba(0, 209, 255, 0.2);
  transition: transform 0.1s ease-out, opacity 0.1s ease-out;
}

.m1-touch-feedback:active {
  transform: scale(0.97);
  opacity: 0.9;
}

/* Smooth scroll for content areas */

.m1-smooth-scroll {
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAGE TRANSITIONS - ULTRA FAST NATIVE APP FEEL
   ═══════════════════════════════════════════════════════════════════════════ */

/* Fade-in VELOCISSIMO per tutte le pagine */

@keyframes m1-page-enter {
  0% {
    opacity: 0.7;
  }
  100% {
    opacity: 1;
  }
}

/* Classe per tutte le pagine - INSTANT */

.m1-page-transition {
  animation: m1-page-enter 0.08s ease-out forwards;
}

/* Main content transition - QUASI ISTANTANEA */

main {
  animation: m1-page-enter 0.08s ease-out;
}

/* GlobalLayout content - ULTRA FAST */

.global-layout-content {
  animation: m1-page-enter 0.1s ease-out;
}

/* Route change - INSTANT */

[data-route] {
  animation: m1-page-enter 0.08s ease-out;
}

/* Skeleton fade-out INSTANT */

@keyframes m1-skeleton-fade {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

/* NO FOUC - INSTANT */

.m1-no-fouc {
  opacity: 1;
}

/* Component mounting - INSTANT */

.m1-mount-smooth {
  animation: m1-page-enter 0.1s ease-out;
}

/* Card entrance - FASTER */

@keyframes m1-card-stagger {
  0% { opacity: 0.5; }
  100% { opacity: 1; }
}

.m1-stagger-1 { animation: m1-card-stagger 0.08s ease-out forwards; }

.m1-stagger-2 { animation: m1-card-stagger 0.08s ease-out 0.02s forwards; }

.m1-stagger-3 { animation: m1-card-stagger 0.08s ease-out 0.04s forwards; }

.m1-stagger-4 { animation: m1-card-stagger 0.08s ease-out 0.06s forwards; }

/* Instant visibility - no wait */

.m1-instant {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Header e Bottom Nav sempre visibili (no transizione) */

.unified-header,
.bottom-navigation-ios,
header,
nav {
  animation: none !important;
  opacity: 1 !important;
}

/* Skeleton shimmer ottimizzato */

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

.animate-shimmer {
  background: linear-gradient(
    90deg,
    rgba(30, 41, 59, 1) 0%,
    rgba(51, 65, 85, 1) 50%,
    rgba(30, 41, 59, 1) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
}

/* Prefers reduced motion */

@media (prefers-reduced-motion: reduce) {
  main,
  .m1-page-transition,
  .global-layout-content,
  [data-route],
  .m1-mount-smooth,
  .m1-stagger-1,
  .m1-stagger-2,
  .m1-stagger-3,
  .m1-stagger-4 {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* 🚀 NATIVE APP UI UPGRADE - Rollback: rimuovere questa riga */

/**
 * M1SSION™ — HOME MICRO-FX CSS
 * 5 Micro-Interventi Estetici (CSS-Only, iOS-Safe)
 * © 2026 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™
 * 
 * INTERVENTI:
 * 1. Micro-energia bianca "viva" nei 3 container (AGENT/TEMPO/BATTLE)
 * 2. Bordo M1SSION PRIZE con movimento direzionale
 * 3. Blob depth (back-light + volumetric shading)
 * 4. Continuità narrativa (gradiente nero unico)
 * 5. Bottom Nav vetro satinato unificato
 */

/* ═══════════════════════════════════════════════════════════════════════════
   ✅ INTERVENTO 1 — MICRO-ENERGIA BIANCA "VIVA" NEI 3 CONTAINER
   Target: AGENT · TEMPO RIMASTO · BATTLE
   - Sostituzione energia blu → micro-emissione bianca satinata
   - Pulse lentissimo irregolare, intensità bassissima (subliminale)
   - iOS-safe: anima solo opacity su pseudo-elementi
   ═══════════════════════════════════════════════════════════════════════════ */

/* Override per i 3 container con classe card-glass-white-energy */

.card-glass-white-energy {
  /* Background scuro satinato - NON full black */
  background: linear-gradient(
    160deg,
    rgba(14, 14, 18, 0.88) 0%,
    rgba(18, 18, 24, 0.85) 50%,
    rgba(14, 14, 18, 0.88) 100%
  ) !important;
  
  /* Bordo bianco sottile (sostituisce cyan) */
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  
  /* Multi-layer shadow per profondità + white glow sottile */
  box-shadow:
    /* White back-halo diffuso */
    0 16px 48px rgba(255, 255, 255, 0.05),
    0 24px 64px rgba(220, 230, 255, 0.03),
    /* Profondità */
    0 8px 28px rgba(0, 0, 0, 0.50),
    0 4px 14px rgba(0, 0, 0, 0.35),
    /* Inner micro-energy */
    inset 0 0 24px rgba(255, 255, 255, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

/* Radial highlight bianco (::before) - pulse lento A */

.card-glass-white-energy::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  background:
    /* Specular highlight top-left */
    radial-gradient(ellipse 70% 50% at 12% 8%, rgba(255, 255, 255, 0.10) 0%, transparent 45%),
    /* Secondary glow center-right */
    radial-gradient(ellipse 60% 40% at 88% 50%, rgba(255, 255, 255, 0.06) 0%, transparent 40%),
    /* Top edge sheen */
    linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 20%);
  opacity: 0.6;
  animation: microPulseA 7.3s ease-in-out infinite;
}

/* Linear sheen overlay (::after) - pulse lento B (sfasato) */

.card-glass-white-energy::after {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: calc(24px + 6px);
  pointer-events: none;
  z-index: -1;
  /* Soft white halo behind */
  background: radial-gradient(
    ellipse 110% 90% at 50% 50%,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(200, 210, 255, 0.02) 35%,
    transparent 65%
  );
  filter: blur(10px);
  opacity: 0.5;
  animation: microPulseB 11.8s ease-in-out infinite;
}

/* Keyframes con variazioni piccole e durate prime (irregolari) */

@keyframes microPulseA {
  0%, 100% { opacity: 0.5; }
  33% { opacity: 0.72; }
  66% { opacity: 0.58; }
}

@keyframes microPulseB {
  0%, 100% { opacity: 0.45; filter: blur(10px); }
  40% { opacity: 0.68; filter: blur(12px); }
  75% { opacity: 0.52; filter: blur(9px); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ✅ INTERVENTO 2 — BORDO M1SSION PRIZE ANIMATO
   - Movimento direzionale lento
   - Micro shift cromatico: cyan → white → violet → cyan
   - CSS-only con conic-gradient
   ═══════════════════════════════════════════════════════════════════════════ */

.m1-neon-border-animated {
  position: relative;
  isolation: isolate;
}

/* Animated gradient border using pseudo-element */

.m1-neon-border-animated::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 24px;
  padding: 1.5px; /* Border thickness */
  pointer-events: none;
  z-index: 0;
  
  /* Conic gradient for directional sweep */
  background: conic-gradient(
    from var(--prize-border-angle, 0deg) at 50% 50%,
    rgba(0, 209, 255, 0.45) 0deg,
    rgba(255, 255, 255, 0.50) 60deg,
    rgba(180, 120, 255, 0.40) 120deg,
    rgba(255, 255, 255, 0.45) 180deg,
    rgba(0, 209, 255, 0.40) 240deg,
    rgba(200, 180, 255, 0.35) 300deg,
    rgba(0, 209, 255, 0.45) 360deg
  );
  
  /* Mask to show only border (transparent inside) */
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  
  /* Slow rotation animation */
  animation: prizeBorderSweep 22s linear infinite;
}

/* Subtle outer glow that follows the border */

.m1-neon-border-animated::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 27px;
  pointer-events: none;
  z-index: -1;
  
  background: conic-gradient(
    from var(--prize-border-angle, 0deg) at 50% 50%,
    rgba(0, 209, 255, 0.12) 0deg,
    rgba(255, 255, 255, 0.08) 90deg,
    rgba(180, 120, 255, 0.10) 180deg,
    rgba(0, 209, 255, 0.12) 360deg
  );
  filter: blur(8px);
  opacity: 0.6;
  animation: prizeBorderSweep 22s linear infinite;
}

@keyframes prizeBorderSweep {
  0% { --prize-border-angle: 0deg; }
  100% { --prize-border-angle: 360deg; }
}

/* Fallback for browsers without @property support */

@supports not (animation-timeline: scroll) {
  .m1-neon-border-animated::before,
  .m1-neon-border-animated::after {
    animation: prizeBorderRotate 22s linear infinite;
  }
  
  @keyframes prizeBorderRotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }
}

/* CSS Custom Property for animation (Houdini) */

@property --prize-border-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ✅ INTERVENTO 3 — BLOB PROFONDITÀ (Enhanced Container Depth)
   - Back-light bianco morbido DIETRO ogni card
   - Shadow volumetrico interno
   - NO JS parallax (non fattibile senza listener)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Enhanced depth for card containers - volumetric shading */

[data-section="agent"],
[data-section="status"],
[data-section="battle"] {
  position: relative;
}

/* Volumetric inner shadow - gives "sunken" depth */

[data-section="agent"]::before,
[data-section="status"]::before,
[data-section="battle"]::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  /* Soft volumetric inset shadow */
  box-shadow:
    inset 0 2px 8px rgba(0, 0, 0, 0.15),
    inset 0 -2px 6px rgba(255, 255, 255, 0.03);
  opacity: 0.7;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ✅ INTERVENTO 4 — CONTINUITÀ NARRATIVA (Gradiente Nero Unico)
   - Un gradiente nero continuo che attraversa tutta la Home
   - I container "emergono" dal fondo
   - Zero rotture cromatiche
   ═══════════════════════════════════════════════════════════════════════════ */

/* Override AppHome background for seamless gradient */

.sn-page-dark main {
  background: transparent !important;
}

/* Unified dark gradient applied to Home container */

.sn-page-dark .container {
  background: transparent !important;
}

/* Ensure no white gaps at edges */

.sn-page-dark [class*="mx-auto"] {
  background: transparent !important;
}

/* Body gradient (already in ios-native.css but reinforced here) */

body.sn-page-dark,
html.sn-page-dark {
  background: linear-gradient(
    180deg,
    #05070B 0%,
    #080C14 12%,
    #0A1018 28%,
    #0C1420 50%,
    #0A1018 72%,
    #080C14 88%,
    #05070B 100%
  ) !important;
  background-attachment: fixed !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   ✅ INTERVENTO 5 — BOTTOM NAV VETRO SATINATO UNIFICATO
   Stile iOS folder - identico su tutte le pagine
   (Già implementato in ios-native.css, qui solo rinforzo)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Unified glass effect - ALL PAGES */

.bottom-nav-pill {
  /* iOS Folder-style glass */
  background: rgba(18, 18, 20, 0.28) !important;
  backdrop-filter: blur(18px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(160%) !important;
  
  /* Refined white border */
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  
  /* Depth shadow + inner sheen */
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.45),
    0 4px 12px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

/* Subtle top sheen for glass realism */

.bottom-nav-pill::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    transparent 35%
  );
  z-index: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎯 PERFORMANCE iOS — Anti-Scroll Jank
   ═══════════════════════════════════════════════════════════════════════════ */

/* Limit will-change to essential elements */

.card-glass-white-energy {
  will-change: transform, opacity;
  contain: layout style paint;
  transform: translateZ(0);
}

/* Reduce blur on cards inside scroll (header/nav stay at 18px) */

@supports (-webkit-touch-callout: none) {
  .card-glass-white-energy {
    backdrop-filter: blur(14px) saturate(140%) !important;
  }
}

/* Disable animations during scroll (via class toggle if needed) */

.is-scrolling .card-glass-white-energy::before,
.is-scrolling .card-glass-white-energy::after,
.is-scrolling .m1-neon-border-animated::before,
.is-scrolling .m1-neon-border-animated::after {
  animation-play-state: paused !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🌙 REDUCED MOTION SUPPORT
   ═══════════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  .card-glass-white-energy::before,
  .card-glass-white-energy::after,
  .m1-neon-border-animated::before,
  .m1-neon-border-animated::after {
    animation: none !important;
    opacity: 0.5 !important;
  }
  
  .m1-neon-border-animated::before {
    /* Static gradient border for reduced motion */
    background: linear-gradient(
      135deg,
      rgba(0, 209, 255, 0.35) 0%,
      rgba(255, 255, 255, 0.40) 50%,
      rgba(180, 120, 255, 0.35) 100%
    ) !important;
  }
}

/* © 2026 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* 🎨 HOME MICRO-FX - 5 micro-interventi estetici */

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

/* Apple Glass / iOS 26 Style Layer */

:root {
  --m1-bg: rgba(8, 10, 14, 0.45);            /* vetro scuro */
  --m1-stroke: rgba(255, 255, 255, 0.10);    /* hairline */
  --m1-inner: rgba(255, 255, 255, 0.06);     /* inner line */
  --m1-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  --m1-radius: 16px;
  --m1-blur: 14px;
  --m1-accent: rgba(0, 200, 255, 0.85);      /* tint sobrio (cyan) */
  --m1-focus: 0 0 0 2px rgba(0, 200, 255, 0.35);
  --m1-transition: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (prefers-reduced-transparency: reduce) {
  :root {
    --m1-bg: rgb(12, 14, 18);
    --m1-blur: 0px;
  }
}

/* Card/Panel di base (vetro satinato) */

.m1-card {
  background: var(--m1-bg);
  backdrop-filter: blur(var(--m1-blur));
  -webkit-backdrop-filter: blur(var(--m1-blur));
  border-radius: var(--m1-radius);
  border: 1px solid var(--m1-stroke);
  box-shadow: var(--m1-shadow);
  transition: transform var(--m1-transition), box-shadow var(--m1-transition), background var(--m1-transition);
}

/* Modificatori di elevazione */

.m1-elev-0 {
  box-shadow: none;
}

.m1-elev-1 {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.30);
}

.m1-elev-2 {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.40);
}

/* Header/separators (da usare dentro i container) */

.m1-hairline {
  border-top: 1px solid var(--m1-inner);
}

.m1-stroke {
  border: 1px solid var(--m1-stroke);
  border-radius: inherit;
}

/* Tint/Focus */

.m1-tint {
  outline: 0;
}

.m1-tint:focus {
  box-shadow: var(--m1-focus);
  outline: 0;
}

/* Motion delicata */

.m1-motion:hover {
  transform: translateY(-1px);
}

.m1-press:active {
  transform: translateY(0);
}

/* Tipografia suggerita */

.m1-title{
  font-weight: 600;
  letter-spacing: -0.025em;
  color: rgb(255 255 255 / 0.95);
}

.m1-sub{
  font-weight: 500;
  color: rgb(255 255 255 / 0.75);
}

.m1-body{
  color: rgb(255 255 255 / 0.8);
}


.m1-folder-glass--graphite .m1-body,
.m1-folder-glass .m1-body {
  color: rgba(255, 255, 255, 0.9);
}


#m1-modal-portal .m1-body {
  color: #ffffff;
}


#m1-floating-pills-v3-portal .m1-body {
  color: #fafafa;
}


.m1-reward-zone-popup .m1-body {
  color: #ffffff;
}


.sn-page .m1-body:not(.m1-folder-glass--graphite .text-white\/80):not(.m1-folder-glass .text-white\/80),
html:has(.sn-page) .m1-body:not(.m1-folder-glass--graphite .text-white\/80) {
  color: var(--wt-text-secondary);
}

/* Liste / rows */

.m1-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--m1-inner);
}

.m1-row:last-child {
  border-bottom: 0;
}

/* .m1ssion-glass-card is now EXCLUSIVELY defined in src/styles/theme.css */

/* Using "Obsidian + Aurora 3D" style with solid background and 4-layer depth */

/* DO NOT redefine here to avoid CSS cascade conflicts */

/* ========== M1 RELIEF 3D EFFECT ========== */

/* Effetto rilievo 3D per container - © 2025 Joseph MULÉ */

.m1-relief {
  background: linear-gradient(160deg, rgba(15, 25, 45, 0.95) 0%, rgba(5, 10, 25, 0.98) 50%, rgba(10, 20, 40, 0.95) 100%) !important;
  backdrop-filter: blur(40px);
  -webkit-backdrop-filter: blur(40px);
  border: 2px solid rgba(0, 209, 255, 0.4) !important;
  border-top-color: rgba(0, 209, 255, 0.6) !important;
  border-bottom-color: rgba(0, 150, 200, 0.3) !important;
  box-shadow: 
    0 25px 80px rgba(0, 0, 0, 0.7),
    0 15px 40px rgba(0, 0, 0, 0.5),
    0 5px 20px rgba(0, 0, 0, 0.4),
    inset 0 2px 4px rgba(255, 255, 255, 0.15),
    inset 0 -2px 4px rgba(0, 0, 0, 0.4),
    0 0 30px rgba(0, 209, 255, 0.25),
    0 0 60px rgba(0, 209, 255, 0.15),
    0 -5px 30px rgba(0, 209, 255, 0.1) !important;
  transform: translateY(-4px);
  position: relative;
}

/* Versione più sottile per container più piccoli */

.m1-relief-sm {
  background: linear-gradient(160deg, rgba(15, 25, 45, 0.92) 0%, rgba(5, 10, 25, 0.95) 50%, rgba(10, 20, 40, 0.92) 100%) !important;
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  border: 1.5px solid rgba(0, 209, 255, 0.35) !important;
  border-top-color: rgba(0, 209, 255, 0.5) !important;
  border-bottom-color: rgba(0, 150, 200, 0.25) !important;
  box-shadow: 
    0 15px 50px rgba(0, 0, 0, 0.6),
    0 8px 25px rgba(0, 0, 0, 0.4),
    0 3px 12px rgba(0, 0, 0, 0.3),
    inset 0 1px 3px rgba(255, 255, 255, 0.12),
    inset 0 -1px 3px rgba(0, 0, 0, 0.35),
    0 0 20px rgba(0, 209, 255, 0.2),
    0 0 40px rgba(0, 209, 255, 0.1) !important;
  transform: translateY(-2px);
  position: relative;
}

/* © 2025 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

*, ::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: Inter, 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: VT323, 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 {
    --background: 0 0% 0%;
    --foreground: 0 0% 98%;
    --card: 0 0% 8%;
    --card-foreground: 0 0% 98%;
    --popover: 0 0% 10%;
    --popover-foreground: 0 0% 98%;

    --primary: 196 100% 50%;
    --primary-foreground: 0 0% 0%;

    --secondary: 270 95% 65%;
    --secondary-foreground: 0 0% 0%;
    --muted: 0 0% 20%;
    --muted-foreground: 0 0% 70%;
    --accent: 39 100% 50%;
    --accent-foreground: 0 0% 0%;
    --destructive: 0 65% 30%;
    --destructive-foreground: 0 0% 98%;

    --border: 0 0% 15%;
    --input: 0 0% 15%;
    --ring: 196 100% 50%;
    --radius: 0.7rem;
  }

.light {
    --background: 0 0% 100%;
    --foreground: 0 0% 18%;
    --muted: 0 0% 90%;
    --muted-foreground: 0 0% 55%;
    --popover: 0 0% 99%;
    --popover-foreground: 0 0% 15%;
    --border: 0 0% 60%;
    --input: 0 0% 80%;
    --card: 0 0% 98%;
    --card-foreground: 0 0% 13%;
    --primary: 196 100% 50%;
    --primary-foreground: 0 0% 0%;
    --secondary: 270 95% 65%;
    --secondary-foreground: 0 0% 0%;
    --accent: 39 100% 50%;
    --accent-foreground: 0 0% 0%;
    --destructive: 0 85% 60%;
    --destructive-foreground: 0 0% 100%;
    --ring: 196 100% 50%;
    --radius: 0.7rem;
  }

@keyframes spin-gradient {
    0% { transform: rotate(0deg);}
    100% { transform: rotate(360deg);}
  }

/* 🎨 SFONDO GRADIENTE M1SSION - Effetto cyberpunk visibile */

html{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.sn-page html:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) html:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass html,
.leaderboard-rank-1 html,
.leaderboard-rank-2 html,
.leaderboard-rank-3 html,
.leaderboard-rank-top10 html {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite html,
.m1-folder-glass html,
.buzz-folder-glass html {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal html {
  color: #ffffff;
}

#m1-floating-pills-v3-portal html {
  color: #fafafa;
}

.m1-reward-zone-popup html {
  color: #ffffff;
}

html {
    min-height: 100vh;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    /* GRADIENTE POTENZIATO - più visibile */
    background:
      radial-gradient(ellipse 1200px 800px at 85% -10%, rgba(0, 229, 255, 0.35), transparent 50%),
      radial-gradient(ellipse 1000px 700px at -15% 25%, rgba(123, 46, 255, 0.30), transparent 50%),
      radial-gradient(ellipse 800px 500px at 50% 90%, rgba(252, 30, 255, 0.15), transparent 45%),
      linear-gradient(180deg, #0a0b0f 0%, #0c0e14 25%, #0e1118 50%, #0a0c10 75%, #080a0d 100%) !important;
    background-attachment: fixed !important;
    /* 🔥 FIX: Nascondi scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

html::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

body{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.sn-page body:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) body:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass body,
.leaderboard-rank-1 body,
.leaderboard-rank-2 body,
.leaderboard-rank-3 body,
.leaderboard-rank-top10 body {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite body,
.m1-folder-glass body,
.buzz-folder-glass body {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal body {
  color: #ffffff;
}

#m1-floating-pills-v3-portal body {
  color: #fafafa;
}

.m1-reward-zone-popup body {
  color: #ffffff;
}

body {
    background: transparent !important;
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: 0 !important;
    margin: 0 !important;
    /* 🔥 FIX: Nascondi scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

#root {
    min-height: 100vh;
    min-height: 100dvh;
    background: transparent !important;
    /* 🔥 FIX: Nascondi scrollbar */
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

#root::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

/* 🔥 FIX GLOBALE: Nascondi tutte le scrollbar nell'app */

*::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

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

/* 🎨 SFONDO GRADIENTE M1SSION - Gestito inline in App.tsx */

.m1-fullscreen-bg {
    /* Stili inline in App.tsx */
  }

/* Norah AI Panel body scroll lock */

body.m1-no-scroll {
    overflow: hidden !important;
  }

/* Emergency fallback for iOS PWA - matches m1-app-bg */

.app-shell {
    position: relative;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    background: transparent !important;
  }

/* 🎨 FIX: Forza trasparenza SOLO sui container principali dell'app */

.safe-area-wrapper {
    background: transparent !important;
  }

.global-layout-content {
    background: transparent !important;
  }

/* Container m1-app-bg trasparente per mostrare gradiente html */

.m1-app-bg {
    background: transparent !important;
  }

/* ios-safe-top - NASCOSTO per permettere allo sfondo di estendersi */

h1, h2, h3, h4, h5, h6 {
    font-family: "Orbitron", sans-serif;
    font-weight: 600;
    letter-spacing: 0.025em;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --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);
    --tw-gradient-to: rgb(255 255 255 / 0.8) var(--tw-gradient-to-position);
    -webkit-background-clip: text;
            background-clip: text;
    color: transparent;
  }

h1{
  margin-bottom: 1.5rem;
  font-size: 1.875rem;
  line-height: 2.25rem;
}

@media (min-width: 768px){

  h1{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}

h2{
  margin-bottom: 1rem;
  font-size: 1.5rem;
  line-height: 2rem;
}

@media (min-width: 768px){

  h2{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

h3{
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
  line-height: 1.75rem;
}

@media (min-width: 768px){

  h3{
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

h4{
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
  line-height: 1.75rem;
}

@media (min-width: 768px){

  h4{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (max-width: 640px) {
    button, a {
      /* was: @apply touch-manipulation mobile-touch-target; */
      touch-action: manipulation;
      min-height: 44px;
      min-width: 44px;
    }

    input, select, textarea {
      /* was: @apply text-base mobile-optimized; */
      font-size: 16px;
    }

    .content-section{
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  }

.\!container{
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 2rem !important;
  padding-left: 2rem !important;
}

.container{
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}

@media (min-width: 1400px){

  .\!container{
    max-width: 1400px !important;
  }

  .container{
    max-width: 1400px;
  }
}

/* Toast slide animation - scende dall'alto centrato */

@keyframes toast-slide-down {
    0% {
      opacity: 0;
      transform: translateY(-30px) scale(0.9);
    }
    100% {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

/* Override per sonner toast container */

.toaster {
    position: fixed !important;
    top: calc(env(safe-area-inset-top, 47px) + 20px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 450px !important;
    max-width: 90vw !important;
  }

/* Toast styling override */

.toaster [data-sonner-toast] {
    animation: toast-slide-down 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
    min-height: 48px !important;
    margin: 0 auto !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
  }

/* Page hero spacing adjustments */

.page .page-hero {
    margin-top: 0;
    padding-top: clamp(12px, 2.2vh, 20px);
  }

.page {
    padding-top: calc(env(safe-area-inset-top) + var(--header-height) + 8px);
  }

.glass-card{
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.1);
  --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);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
                inset 0 2px 3px rgba(255, 255, 255, 0.06);
    transition: all 0.25s ease-in-out;
}

/* .m1ssion-glass-card now defined in theme.css for 3D Obsidian + Aurora effect */

.glass-card:hover{
  background-color: rgb(255 255 255 / 0.1);
    box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
                inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.neon-button{
  border-radius: 9999px;
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #7B2EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(123 46 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: #00D1FF var(--tw-gradient-to-position);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  font-weight: 500;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.sn-page .neon-button:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) .neon-button:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass .neon-button,
.leaderboard-rank-1 .neon-button,
.leaderboard-rank-2 .neon-button,
.leaderboard-rank-3 .neon-button,
.leaderboard-rank-top10 .neon-button {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite .neon-button,
.m1-folder-glass .neon-button,
.buzz-folder-glass .neon-button {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal .neon-button {
  color: #ffffff;
}

#m1-floating-pills-v3-portal .neon-button {
  color: #fafafa;
}

.m1-reward-zone-popup .neon-button {
  color: #ffffff;
}

.neon-button {
    box-shadow: 0 4px 15px rgba(123, 46, 255, 0.3);
    transition: all 0.3s ease;
  }

.neon-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(123, 46, 255, 0.5);
  }

.neon-button:active {
    transform: translateY(1px);
  }

.neon-button {
  background: linear-gradient(to right, #7B2EFF, #00D1FF);
  color: white;
  font-weight: 600;
  padding: 12px 24px;
  border-radius: 9999px;
  box-shadow: 0 4px 15px rgba(123, 46, 255, 0.3);
  transition: all 0.3s ease;
}

.neon-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(123, 46, 255, 0.5);
}

.neon-button:active {
  transform: translateY(1px);
}

.press-effect {
    transition: all 0.1s ease-in-out;
  }

.press-effect:active {
    transform: scale(0.95);
  }

.touch-manipulation {
    touch-action: manipulation;
  }

.line-glow {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(to right, transparent, #00E5FF, transparent);
    opacity: 0.4;
  }

/* Pulse animation for Final Shot marker */

@keyframes heartbeat {
    0% { transform: scale(1); opacity: 1; }
    25% { transform: scale(1.1); opacity: 0.9; }
    50% { transform: scale(1.2); opacity: 0.8; }
    75% { transform: scale(1.1); opacity: 0.9; }
    100% { transform: scale(1); opacity: 1; }
  }

.pulsing-red-marker {
    animation: heartbeat 2s ease-in-out infinite;
  }

/* Intelligence panel scrolling fixes */

.intelligence-scroll-container {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 160px);
  }

.intelligence-scroll-container::-webkit-scrollbar {
    display: none;
  }

/* Custom scrollbar for Battle Console and other components */

.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
  }

.custom-scrollbar::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 3px;
  }

.custom-scrollbar::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #FC1EFF 0%, #00D1FF 100%);
    border-radius: 3px;
  }

.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #FF00FF 0%, #00FFFF 100%);
  }

/* Ensure all content is scrollable on iOS */

/* iOS Safari viewport fixes */

/* Fallback for browsers without dvh support */

.dynamic-island {
    position: relative;
    overflow: visible;
    background: linear-gradient(to bottom, #1a1a1a, #0d0d0d);
    border-radius: 28px;
    box-shadow:
      inset 0 1px 3px rgba(255, 255, 255, 0.05),
      0 4px 12px rgba(0, 0, 0, 0.4);
    transition: none;
  }

.dynamic-code {
    font-weight: 600;
    text-shadow: 0 0 2px rgba(0, 255, 255, 0.3);
  }

.bottom-nav-item.\!active{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.sn-page .bottom-nav-item.\!active:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) .bottom-nav-item.\!active:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass .bottom-nav-item.\!active,
.leaderboard-rank-1 .bottom-nav-item.\!active,
.leaderboard-rank-2 .bottom-nav-item.\!active,
.leaderboard-rank-3 .bottom-nav-item.\!active,
.leaderboard-rank-top10 .bottom-nav-item.\!active {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite .bottom-nav-item.\!active,
.m1-folder-glass .bottom-nav-item.\!active,
.buzz-folder-glass .bottom-nav-item.\!active {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal .bottom-nav-item.\!active {
  color: #ffffff;
}

#m1-floating-pills-v3-portal .bottom-nav-item.\!active {
  color: #fafafa;
}

.m1-reward-zone-popup .bottom-nav-item.\!active {
  color: #ffffff;
}

.bottom-nav-item.active{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.sn-page .bottom-nav-item.active:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) .bottom-nav-item.active:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary);
}

.leaderboard-card-glass .bottom-nav-item.active,
.leaderboard-rank-1 .bottom-nav-item.active,
.leaderboard-rank-2 .bottom-nav-item.active,
.leaderboard-rank-3 .bottom-nav-item.active,
.leaderboard-rank-top10 .bottom-nav-item.active {
  color: rgba(255, 255, 255, 0.95);
}

.m1-folder-glass--graphite .bottom-nav-item.active,
.m1-folder-glass .bottom-nav-item.active,
.buzz-folder-glass .bottom-nav-item.active {
  color: rgba(255, 255, 255, 1);
}

#m1-modal-portal .bottom-nav-item.active {
  color: #ffffff;
}

#m1-floating-pills-v3-portal .bottom-nav-item.active {
  color: #fafafa;
}

.m1-reward-zone-popup .bottom-nav-item.active {
  color: #ffffff;
}

.\!badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

.badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
}

/* ——— M1SSION™ Brand Title ——— */

.plans-title { 
    line-height: 1.15 !important; 
    margin-bottom: 1rem; 
    font-size: 2.25rem; 
    line-height: 2.5rem; 
    font-weight: 700;
  }

.brand-m1 {
    color: #00E5FF !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    text-shadow: 0 0 8px rgba(0,229,255,.8) !important;
  }

.brand-ss { 
    color: #FFFFFF !important; 
    font-weight: 800 !important; 
  }

/* ——— Ribbon visibili ——— */

.pricing-section, .plans-wrapper, .plans-grid, .plan-card { 
    overflow: visible !important; 
  }

.plans-grid, 
  .plans-wrapper, 
  .pricing-section { 
    overflow: visible !important; 
    position: relative; 
  }

.plan-card { 
    overflow: visible !important; 
    position: relative; 
    z-index: 0; 
  }

.plan-card .ribbon {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
    pointer-events: none;
    padding: 6px 12px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 12px;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.5));
    white-space: nowrap;
  }

.plan-card.gold .ribbon { 
    background: #FFDD33; 
    color: #1A1A1A; 
  }

.plan-card.titanium .ribbon { 
    background: #9B59FF; 
    color: white; 
  }

/* ——— Free button loading ——— */

.free-cta[disabled] { 
    opacity: .6 !important; 
    cursor: not-allowed !important; 
  }

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

.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 !important;
}

.relative{
  position: relative;
}

.sticky{
  position: sticky;
}

.-inset-1{
  inset: -0.25rem;
}

.-inset-2{
  inset: -0.5rem;
}

.-inset-4{
  inset: -1rem;
}

.-inset-6{
  inset: -1.5rem;
}

.inset-0{
  inset: 0px;
}

.inset-0\.5{
  inset: 0.125rem;
}

.inset-1{
  inset: 0.25rem;
}

.inset-1\.5{
  inset: 0.375rem;
}

.inset-12{
  inset: 3rem;
}

.inset-2{
  inset: 0.5rem;
}

.inset-4{
  inset: 1rem;
}

.inset-8{
  inset: 2rem;
}

.inset-\[-10px\]{
  inset: -10px;
}

.inset-\[-16\%\]{
  inset: -16%;
}

.inset-\[-20px\]{
  inset: -20px;
}

.inset-\[10px\]{
  inset: 10px;
}

.inset-\[2px\]{
  inset: 2px;
}

.inset-\[4px\]{
  inset: 4px;
}

.inset-\[6px\]{
  inset: 6px;
}

.inset-x-0{
  left: 0px;
  right: 0px;
}

.inset-y-0{
  top: 0px;
  bottom: 0px;
}

.-bottom-1{
  bottom: -0.25rem;
}

.-bottom-12{
  bottom: -3rem;
}

.-bottom-2{
  bottom: -0.5rem;
}

.-bottom-20{
  bottom: -5rem;
}

.-bottom-4{
  bottom: -1rem;
}

.-bottom-6{
  bottom: -1.5rem;
}

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

.-left-12{
  left: -3rem;
}

.-left-20{
  left: -5rem;
}

.-left-4{
  left: -1rem;
}

.-left-8{
  left: -2rem;
}

.-right-0\.5{
  right: -0.125rem;
}

.-right-1{
  right: -0.25rem;
}

.-right-12{
  right: -3rem;
}

.-right-2{
  right: -0.5rem;
}

.-right-20{
  right: -5rem;
}

.-right-3{
  right: -0.75rem;
}

.-right-4{
  right: -1rem;
}

.-top-0\.5{
  top: -0.125rem;
}

.-top-1{
  top: -0.25rem;
}

.-top-10{
  top: -2.5rem;
}

.-top-12{
  top: -3rem;
}

.-top-2{
  top: -0.5rem;
}

.-top-20{
  top: -5rem;
}

.-top-3{
  top: -0.75rem;
}

.-top-4{
  top: -1rem;
}

.-top-9{
  top: -2.25rem;
}

.bottom-0{
  bottom: 0px;
}

.bottom-1{
  bottom: 0.25rem;
}

.bottom-1\/4{
  bottom: 25%;
}

.bottom-16{
  bottom: 4rem;
}

.bottom-2{
  bottom: 0.5rem;
}

.bottom-20{
  bottom: 5rem;
}

.bottom-24{
  bottom: 6rem;
}

.bottom-3{
  bottom: 0.75rem;
}

.bottom-32{
  bottom: 8rem;
}

.bottom-4{
  bottom: 1rem;
}

.bottom-40{
  bottom: 10rem;
}

.bottom-6{
  bottom: 1.5rem;
}

.bottom-8{
  bottom: 2rem;
}

.bottom-\[10\%\]{
  bottom: 10%;
}

.bottom-\[20\%\]{
  bottom: 20%;
}

.bottom-\[200px\]{
  bottom: 200px;
}

.bottom-\[30\%\]{
  bottom: 30%;
}

.bottom-full{
  bottom: 100%;
}

.left-0{
  left: 0px;
}

.left-1{
  left: 0.25rem;
}

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

.left-1\/4{
  left: 25%;
}

.left-2{
  left: 0.5rem;
}

.left-20{
  left: 5rem;
}

.left-3{
  left: 0.75rem;
}

.left-4{
  left: 1rem;
}

.left-6{
  left: 1.5rem;
}

.left-\[10\%\]{
  left: 10%;
}

.left-\[12\.5\%\]{
  left: 12.5%;
}

.left-\[15\%\]{
  left: 15%;
}

.left-\[30\%\]{
  left: 30%;
}

.left-\[5\%\]{
  left: 5%;
}

.left-\[50\%\]{
  left: 50%;
}

.right-0{
  right: 0px;
}

.right-1{
  right: 0.25rem;
}

.right-1\/4{
  right: 25%;
}

.right-16{
  right: 4rem;
}

.right-2{
  right: 0.5rem;
}

.right-3{
  right: 0.75rem;
}

.right-32{
  right: 8rem;
}

.right-4{
  right: 1rem;
}

.right-6{
  right: 1.5rem;
}

.right-8{
  right: 2rem;
}

.right-\[10\%\]{
  right: 10%;
}

.right-\[12\.5\%\]{
  right: 12.5%;
}

.right-\[15\%\]{
  right: 15%;
}

.top-0{
  top: 0px;
}

.top-1{
  top: 0.25rem;
}

.top-1\.5{
  top: 0.375rem;
}

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

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

.top-14{
  top: 3.5rem;
}

.top-16{
  top: 4rem;
}

.top-2{
  top: 0.5rem;
}

.top-20{
  top: 5rem;
}

.top-24{
  top: 6rem;
}

.top-3{
  top: 0.75rem;
}

.top-3\.5{
  top: 0.875rem;
}

.top-4{
  top: 1rem;
}

.top-6{
  top: 1.5rem;
}

.top-8{
  top: 2rem;
}

.top-\[10\%\]{
  top: 10%;
}

.top-\[1px\]{
  top: 1px;
}

.top-\[20\%\]{
  top: 20%;
}

.top-\[30\%\]{
  top: 30%;
}

.top-\[40\%\]{
  top: 40%;
}

.top-\[50\%\]{
  top: 50%;
}

.top-\[60\%\]{
  top: 60%;
}

.top-full{
  top: 100%;
}

.isolate{
  isolation: isolate;
}

.\!z-\[100\]{
  z-index: 100 !important;
}

.-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-\[1000000\]{
  z-index: 1000000;
}

.z-\[100001\]{
  z-index: 100001;
}

.z-\[100002\]{
  z-index: 100002;
}

.z-\[10000\]{
  z-index: 10000;
}

.z-\[10001\]{
  z-index: 10001;
}

.z-\[10002\]{
  z-index: 10002;
}

.z-\[10003\]{
  z-index: 10003;
}

.z-\[1000\]{
  z-index: 1000;
}

.z-\[10010\]{
  z-index: 10010;
}

.z-\[1001\]{
  z-index: 1001;
}

.z-\[1002\]{
  z-index: 1002;
}

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

.z-\[101\]{
  z-index: 101;
}

.z-\[105\]{
  z-index: 105;
}

.z-\[110\]{
  z-index: 110;
}

.z-\[118\]{
  z-index: 118;
}

.z-\[12000\]{
  z-index: 12000;
}

.z-\[1200\]{
  z-index: 1200;
}

.z-\[12050\]{
  z-index: 12050;
}

.z-\[120\]{
  z-index: 120;
}

.z-\[1500\]{
  z-index: 1500;
}

.z-\[1590\]{
  z-index: 1590;
}

.z-\[1600\]{
  z-index: 1600;
}

.z-\[1650\]{
  z-index: 1650;
}

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

.z-\[2000\]{
  z-index: 2000;
}

.z-\[2001\]{
  z-index: 2001;
}

.z-\[200\]{
  z-index: 200;
}

.z-\[201\]{
  z-index: 201;
}

.z-\[20\]{
  z-index: 20;
}

.z-\[2500\]{
  z-index: 2500;
}

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

.z-\[3000\]{
  z-index: 3000;
}

.z-\[3002\]{
  z-index: 3002;
}

.z-\[4000\]{
  z-index: 4000;
}

.z-\[4\]{
  z-index: 4;
}

.z-\[5000\]{
  z-index: 5000;
}

.z-\[58\]{
  z-index: 58;
}

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

.z-\[6000\]{
  z-index: 6000;
}

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

.z-\[65\]{
  z-index: 65;
}

.z-\[70000\]{
  z-index: 70000;
}

.z-\[70001\]{
  z-index: 70001;
}

.z-\[700\]{
  z-index: 700;
}

.z-\[70\]{
  z-index: 70;
}

.z-\[71\]{
  z-index: 71;
}

.z-\[90\]{
  z-index: 90;
}

.z-\[91\]{
  z-index: 91;
}

.z-\[9997\]{
  z-index: 9997;
}

.z-\[9998\]{
  z-index: 9998;
}

.z-\[99998\]{
  z-index: 99998;
}

.z-\[999997\]{
  z-index: 999997;
}

.z-\[999998\]{
  z-index: 999998;
}

.z-\[999999\]{
  z-index: 999999;
}

.z-\[99999\]{
  z-index: 99999;
}

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

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

.z-\[9\]{
  z-index: 9;
}

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

.col-span-3{
  grid-column: span 3 / span 3;
}

.-m-16{
  margin: -4rem;
}

.m-0{
  margin: 0px;
}

.m-4{
  margin: 1rem;
}

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

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

.mx-0\.5{
  margin-left: 0.125rem;
  margin-right: 0.125rem;
}

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

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

.mx-3{
  margin-left: 0.75rem;
  margin-right: 0.75rem;
}

.mx-3\.5{
  margin-left: 0.875rem;
  margin-right: 0.875rem;
}

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

.mx-6{
  margin-left: 1.5rem;
  margin-right: 1.5rem;
}

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

.my-0\.5{
  margin-top: 0.125rem;
  margin-bottom: 0.125rem;
}

.my-1{
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}

.my-3{
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.my-4{
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.my-6{
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.my-auto{
  margin-top: auto;
  margin-bottom: auto;
}

.-ml-1{
  margin-left: -0.25rem;
}

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

.-mr-4{
  margin-right: -1rem;
}

.-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-16{
  margin-bottom: 4rem;
}

.mb-2{
  margin-bottom: 0.5rem;
}

.mb-20{
  margin-bottom: 5rem;
}

.mb-3{
  margin-bottom: 0.75rem;
}

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

.ml-1{
  margin-left: 0.25rem;
}

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

.ml-2{
  margin-left: 0.5rem;
}

.ml-3{
  margin-left: 0.75rem;
}

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

.ml-6{
  margin-left: 1.5rem;
}

.ml-7{
  margin-left: 1.75rem;
}

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

.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-14{
  margin-top: 3.5rem;
}

.mt-16{
  margin-top: 4rem;
}

.mt-2{
  margin-top: 0.5rem;
}

.mt-2\.5{
  margin-top: 0.625rem;
}

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

.mt-24{
  margin-top: 6rem;
}

.mt-3{
  margin-top: 0.75rem;
}

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

.mt-40{
  margin-top: 10rem;
}

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

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

.mt-7{
  margin-top: 1.75rem;
}

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

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

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

.\!block{
  display: block !important;
}

.block{
  display: block;
}

.inline-block{
  display: inline-block;
}

.inline{
  display: inline;
}

.\!flex{
  display: flex !important;
}

.flex{
  display: flex;
}

.inline-flex{
  display: inline-flex;
}

.table{
  display: table;
}

.grid{
  display: grid;
}

.contents{
  display: contents;
}

.\!hidden{
  display: none !important;
}

.hidden{
  display: none;
}

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

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

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

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

.size-4{
  width: 1rem;
  height: 1rem;
}

.h-0\.5{
  height: 0.125rem;
}

.h-1{
  height: 0.25rem;
}

.h-1\.5{
  height: 0.375rem;
}

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

.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-3{
  height: 0.75rem;
}

.h-3\.5{
  height: 0.875rem;
}

.h-32{
  height: 8rem;
}

.h-36{
  height: 9rem;
}

.h-4{
  height: 1rem;
}

.h-4\/5{
  height: 80%;
}

.h-40{
  height: 10rem;
}

.h-44{
  height: 11rem;
}

.h-48{
  height: 12rem;
}

.h-5{
  height: 1.25rem;
}

.h-52{
  height: 13rem;
}

.h-56{
  height: 14rem;
}

.h-6{
  height: 1.5rem;
}

.h-60{
  height: 15rem;
}

.h-64{
  height: 16rem;
}

.h-7{
  height: 1.75rem;
}

.h-72{
  height: 18rem;
}

.h-8{
  height: 2rem;
}

.h-80{
  height: 20rem;
}

.h-9{
  height: 2.25rem;
}

.h-96{
  height: 24rem;
}

.h-\[1\.15em\]{
  height: 1.15em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.h-\[40vh\]{
  height: 40vh;
}

.h-\[40vw\]{
  height: 40vw;
}

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

.h-\[50vh\]{
  height: 50vh;
}

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

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

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

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

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

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

.h-\[70vh\]{
  height: 70vh;
}

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

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

.h-\[75svh\]{
  height: 75svh;
}

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

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

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

.h-\[80vh\]{
  height: 80vh;
}

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

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

.h-\[92vh\]{
  height: 92vh;
}

.h-\[95vh\]{
  height: 95vh;
}

.h-\[calc\(100\%-220px\)\]{
  height: calc(100% - 220px);
}

.h-\[calc\(100\%-4rem\)\]{
  height: calc(100% - 4rem);
}

.h-\[calc\(100\%-73px\)\]{
  height: calc(100% - 73px);
}

.h-\[min\(92vw\2c 440px\)\]{
  height: min(92vw, 440px);
}

.h-\[var\(--radix-navigation-menu-viewport-height\)\]{
  height: var(--radix-navigation-menu-viewport-height);
}

.h-\[var\(--radix-select-trigger-height\)\]{
  height: var(--radix-select-trigger-height);
}

.h-auto{
  height: auto;
}

.h-full{
  height: 100%;
}

.h-px{
  height: 1px;
}

.h-screen{
  height: 100vh;
}

.h-svh{
  height: 100svh;
}

.max-h-0{
  max-height: 0px;
}

.max-h-24{
  max-height: 6rem;
}

.max-h-32{
  max-height: 8rem;
}

.max-h-36{
  max-height: 9rem;
}

.max-h-40{
  max-height: 10rem;
}

.max-h-52{
  max-height: 13rem;
}

.max-h-60{
  max-height: 15rem;
}

.max-h-64{
  max-height: 16rem;
}

.max-h-80{
  max-height: 20rem;
}

.max-h-96{
  max-height: 24rem;
}

.max-h-\[100dvh\]{
  max-height: 100dvh;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.max-h-\[calc\(100vh-25rem\)\]{
  max-height: calc(100vh - 25rem);
}

.max-h-\[min\(52vh\2c 520px\)\]{
  max-height: min(52vh, 520px);
}

.max-h-full{
  max-height: 100%;
}

.max-h-screen{
  max-height: 100vh;
}

.min-h-0{
  min-height: 0px;
}

.min-h-20{
  min-height: 5rem;
}

.min-h-36{
  min-height: 9rem;
}

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

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

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

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

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

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

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

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

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

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

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

.min-h-\[5\.5rem\]{
  min-height: 5.5rem;
}

.min-h-\[50vh\]{
  min-height: 50vh;
}

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

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

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

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

.min-h-\[70vh\]{
  min-height: 70vh;
}

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

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

.min-h-\[calc\(100vh-80px\)\]{
  min-height: calc(100vh - 80px);
}

.min-h-\[calc\(92vh-120px\)\]{
  min-height: calc(92vh - 120px);
}

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

.min-h-svh{
  min-height: 100svh;
}

.w-0{
  width: 0px;
}

.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-2\/3{
  width: 66.666667%;
}

.w-20{
  width: 5rem;
}

.w-24{
  width: 6rem;
}

.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-4\/5{
  width: 80%;
}

.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-72{
  width: 18rem;
}

.w-8{
  width: 2rem;
}

.w-80{
  width: 20rem;
}

.w-9{
  width: 2.25rem;
}

.w-96{
  width: 24rem;
}

.w-\[--sidebar-width\]{
  width: var(--sidebar-width);
}

.w-\[1\.15em\]{
  width: 1.15em;
}

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

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

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

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

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

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

.w-\[30\%\]{
  width: 30%;
}

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

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

.w-\[40vw\]{
  width: 40vw;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.w-\[95vw\]{
  width: 95vw;
}

.w-\[calc\(100vw-2rem\)\]{
  width: calc(100vw - 2rem);
}

.w-\[min\(92vw\2c 440px\)\]{
  width: min(92vw, 440px);
}

.w-auto{
  width: auto;
}

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

.w-full{
  width: 100%;
}

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

.w-px{
  width: 1px;
}

.w-screen{
  width: 100vw;
}

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

.min-w-20{
  min-width: 5rem;
}

.min-w-5{
  min-width: 1.25rem;
}

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

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

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

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

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

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

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

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

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

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

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

.min-w-\[3ch\]{
  min-width: 3ch;
}

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

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

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

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

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

.min-w-\[min\(92vw\2c 340px\)\]{
  min-width: min(92vw, 340px);
}

.min-w-\[var\(--radix-select-trigger-width\)\]{
  min-width: var(--radix-select-trigger-width);
}

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

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

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

.max-w-5xl{
  max-width: 64rem;
}

.max-w-6xl{
  max-width: 72rem;
}

.max-w-7xl{
  max-width: 80rem;
}

.max-w-\[--skeleton-width\]{
  max-width: var(--skeleton-width);
}

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

.max-w-\[100vw\]{
  max-width: 100vw;
}

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

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

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

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

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

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

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

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

.max-w-\[4\.25rem\]{
  max-width: 4.25rem;
}

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

.max-w-\[42vw\]{
  max-width: 42vw;
}

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

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

.max-w-\[5\.25rem\]{
  max-width: 5.25rem;
}

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

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

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

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

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

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

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

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

.max-w-\[75vw\]{
  max-width: 75vw;
}

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

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

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

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

.max-w-\[92\%\]{
  max-width: 92%;
}

.max-w-\[95vw\]{
  max-width: 95vw;
}

.max-w-\[calc\(100vw-2rem\)\]{
  max-width: calc(100vw - 2rem);
}

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

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

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

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

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

.max-w-screen-lg{
  max-width: 1024px;
}

.max-w-screen-xl{
  max-width: 1280px;
}

.max-w-sm{
  max-width: 24rem;
}

.max-w-xl{
  max-width: 36rem;
}

.max-w-xs{
  max-width: 20rem;
}

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

.flex-none{
  flex: none;
}

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

.shrink{
  flex-shrink: 1;
}

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

.flex-grow{
  flex-grow: 1;
}

.grow{
  flex-grow: 1;
}

.grow-0{
  flex-grow: 0;
}

.basis-full{
  flex-basis: 100%;
}

.caption-bottom{
  caption-side: bottom;
}

.border-collapse{
  border-collapse: collapse;
}

.origin-center{
  transform-origin: center;
}

.origin-left{
  transform-origin: 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-px{
  --tw-translate-x: -1px;
  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-32{
  --tw-translate-y: -8rem;
  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-36{
  --tw-translate-y: -9rem;
  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));
}

.translate-x-0\.5{
  --tw-translate-x: 0.125rem;
  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-1{
  --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));
}

.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-5{
  --tw-translate-x: 1.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));
}

.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-\[-200\%\]{
  --tw-translate-x: -200%;
  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-x-px{
  --tw-translate-x: 1px;
  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-\[-50\%\]{
  --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));
}

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

.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-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-90{
  --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));
}

.scale-95{
  --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));
}

.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 accordion-down{

  from{
    height: 0;
  }

  to{
    height: var(--radix-accordion-content-height);
  }
}

.animate-accordion-down{
  animation: accordion-down 0.2s ease-out;
}

@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 fadeInUp{

  from{
    opacity: 0;
    transform: translateY(20px);
  }

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

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

@keyframes fadeIn{

  from{
    opacity: 0;
  }

  to{
    opacity: 1;
  }
}

.animate-fadeIn{
  animation: fadeIn 0.3s ease-out forwards;
}

@keyframes glow{

  from{
    opacity: 0;
    text-shadow: none;
  }

  to{
    opacity: 1;
    text-shadow: 0 0 6px rgba(0, 255, 255, 0.6);
  }
}

.animate-glow{
  animation: glow 0.6s ease-in-out 2s forwards;
}

@keyframes neon-pulse{

  0%, 100%{
    text-shadow: 0 0 5px rgba(0, 229, 255, 0.7), 0 0 10px rgba(0, 229, 255, 0.5);
  }

  50%{
    text-shadow: 0 0 15px rgba(0, 229, 255, 0.8), 0 0 25px rgba(0, 229, 255, 0.6), 0 0 35px rgba(0, 229, 255, 0.4);
  }
}

.animate-neon-pulse{
  animation: neon-pulse 2s infinite ease-in-out;
}

@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: 0.8;
  }

  0%, 100%{
    opacity: 0.3;
  }
}

.animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse{

  50%{
    opacity: 0.8;
  }

  0%, 100%{
    opacity: 0.3;
  }
}

.animate-pulse-animation{
  animation: pulse 3s infinite ease-in-out;
}

@keyframes ripple{

  0%{
    transform: scale(0);
    opacity: 0.5;
  }

  100%{
    transform: scale(4);
    opacity: 0;
  }
}

.animate-ripple{
  animation: ripple 0.6s ease-in-out;
}

@keyframes shimmer{

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

  100%{
    background-position: -200% 0;
  }
}

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

@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}

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

.cursor-crosshair{
  cursor: crosshair;
}

.cursor-default{
  cursor: default;
}

.cursor-grab{
  cursor: grab;
}

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

.cursor-pointer{
  cursor: pointer;
}

.cursor-wait{
  cursor: wait;
}

.touch-none{
  touch-action: none;
}

.touch-manipulation{
  touch-action: manipulation;
}

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

.resize-none{
  resize: none;
}

.resize{
  resize: both;
}

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

.list-inside{
  list-style-position: inside;
}

.list-decimal{
  list-style-type: decimal;
}

.list-disc{
  list-style-type: disc;
}

.list-none{
  list-style-type: none;
}

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

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

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

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

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

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

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

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

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

.flex-row-reverse{
  flex-direction: row-reverse;
}

.flex-col{
  flex-direction: column;
}

.flex-col-reverse{
  flex-direction: column-reverse;
}

.flex-wrap{
  flex-wrap: wrap;
}

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

.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\.5{
  gap: 0.125rem;
}

.gap-1{
  gap: 0.25rem;
}

.gap-1\.5{
  gap: 0.375rem;
}

.gap-10{
  gap: 2.5rem;
}

.gap-12{
  gap: 3rem;
}

.gap-2{
  gap: 0.5rem;
}

.gap-3{
  gap: 0.75rem;
}

.gap-4{
  gap: 1rem;
}

.gap-5{
  gap: 1.25rem;
}

.gap-6{
  gap: 1.5rem;
}

.gap-7{
  gap: 1.75rem;
}

.gap-8{
  gap: 2rem;
}

.gap-\[2px\]{
  gap: 2px;
}

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

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

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

.gap-y-0\.5{
  row-gap: 0.125rem;
}

.gap-y-1{
  row-gap: 0.25rem;
}

.space-x-1 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.25rem * var(--tw-space-x-reverse));
  margin-left: calc(0.25rem * 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-3 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(0.75rem * var(--tw-space-x-reverse));
  margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
}

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

.space-y-0 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0px * var(--tw-space-y-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-10 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2.5rem * 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-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-8 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}

.self-start{
  align-self: flex-start;
}

.self-end{
  align-self: flex-end;
}

.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-x-hidden{
  overflow-x: hidden;
}

.overscroll-contain{
  overscroll-behavior: contain;
}

.overscroll-y-none{
  overscroll-behavior-y: none;
}

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

.whitespace-nowrap{
  white-space: nowrap;
}

.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-\[11px\]{
  border-radius: 11px;
}

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

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

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

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

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

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

.rounded-\[inherit\]{
  border-radius: inherit;
}

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

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

.rounded-m1{
  border-radius: 22px;
}

.rounded-m1-lg{
  border-radius: 24px;
}

.rounded-m1-sm{
  border-radius: 18px;
}

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

.rounded-none{
  border-radius: 0px;
}

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

.rounded-xl{
  border-radius: 0.75rem;
}

.rounded-b-2xl{
  border-bottom-right-radius: 1rem;
  border-bottom-left-radius: 1rem;
}

.rounded-b-\[24px\]{
  border-bottom-right-radius: 24px;
  border-bottom-left-radius: 24px;
}

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

.rounded-b-none{
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}

.rounded-r{
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.rounded-t-2xl{
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

.rounded-t-3xl{
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
}

.rounded-t-\[10px\]{
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.rounded-t-\[20px\]{
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.rounded-t-\[32px\]{
  border-top-left-radius: 32px;
  border-top-right-radius: 32px;
}

.rounded-t-full{
  border-top-left-radius: 9999px;
  border-top-right-radius: 9999px;
}

.rounded-t-xl{
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}

.rounded-br-3xl{
  border-bottom-right-radius: 1.5rem;
}

.rounded-tl-3xl{
  border-top-left-radius: 1.5rem;
}

.rounded-tl-sm{
  border-top-left-radius: calc(var(--radius) - 4px);
}

.border{
  border-width: 1px;
}

.border-0{
  border-width: 0px;
}

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

.border-4{
  border-width: 4px;
}

.border-\[1\.5px\]{
  border-width: 1.5px;
}

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

.border-\[2\.5px\]{
  border-width: 2.5px;
}

.border-x{
  border-left-width: 1px;
  border-right-width: 1px;
}

.border-y{
  border-top-width: 1px;
  border-bottom-width: 1px;
}

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

.border-b-0{
  border-bottom-width: 0px;
}

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

.border-l{
  border-left-width: 1px;
}

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

.border-l-4{
  border-left-width: 4px;
}

.border-r{
  border-right-width: 1px;
}

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

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

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

.border-solid{
  border-style: solid;
}

.border-dashed{
  border-style: dashed;
}

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

.border-\[\#0088AA\]\/50{
  border-color: rgb(0 136 170 / 0.5);
}

.border-\[\#00BFFF\]\/40{
  border-color: rgb(0 191 255 / 0.4);
}

.border-\[\#00D1FF\]{
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.border-\[\#00D1FF\]\/20{
  border-color: rgb(0 209 255 / 0.2);
}

.border-\[\#00D1FF\]\/30{
  border-color: rgb(0 209 255 / 0.3);
}

.border-\[\#00D1FF\]\/40{
  border-color: rgb(0 209 255 / 0.4);
}

.border-\[\#00D1FF\]\/50{
  border-color: rgb(0 209 255 / 0.5);
}

.border-\[\#00D1FF\]\/70{
  border-color: rgb(0 209 255 / 0.7);
}

.border-\[\#00E5FF\]\/30{
  border-color: rgb(0 229 255 / 0.3);
}

.border-\[\#00FF88\]\/40{
  border-color: rgb(0 255 136 / 0.4);
}

.border-\[\#00a3ff77\]{
  border-color: #00a3ff77;
}

.border-\[\#00a3ff\]{
  --tw-border-opacity: 1;
  border-color: rgb(0 163 255 / var(--tw-border-opacity, 1));
}

.border-\[\#00a3ff\]\/60{
  border-color: rgb(0 163 255 / 0.6);
}

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

.border-\[\#4361ee\]{
  --tw-border-opacity: 1;
  border-color: rgb(67 97 238 / var(--tw-border-opacity, 1));
}

.border-\[\#4361ee\]\/30{
  border-color: rgb(67 97 238 / 0.3);
}

.border-\[\#4361ee\]\/50{
  border-color: rgb(67 97 238 / 0.5);
}

.border-\[\#7209b7\]\/30{
  border-color: rgb(114 9 183 / 0.3);
}

.border-\[\#7209b7\]\/50{
  border-color: rgb(114 9 183 / 0.5);
}

.border-\[\#7209b7\]\/70{
  border-color: rgb(114 9 183 / 0.7);
}

.border-\[\#9b87f5\]\/60{
  border-color: rgb(155 135 245 / 0.6);
}

.border-\[\#F059FF\]{
  --tw-border-opacity: 1;
  border-color: rgb(240 89 255 / var(--tw-border-opacity, 1));
}

.border-\[\#F059FF\]\/20{
  border-color: rgb(240 89 255 / 0.2);
}

.border-\[\#F213A4\]{
  --tw-border-opacity: 1;
  border-color: rgb(242 19 164 / var(--tw-border-opacity, 1));
}

.border-\[\#F213A4\]\/30{
  border-color: rgb(242 19 164 / 0.3);
}

.border-\[\#FC1EFF\]{
  --tw-border-opacity: 1;
  border-color: rgb(252 30 255 / var(--tw-border-opacity, 1));
}

.border-\[\#FFD700\]\/60{
  border-color: rgb(255 215 0 / 0.6);
}

.border-\[\#eceff1\]\/25{
  border-color: rgb(236 239 241 / 0.25);
}

.border-\[\#eceff1\]\/35{
  border-color: rgb(236 239 241 / 0.35);
}

.border-\[--color-border\]{
  border-color: var(--color-border);
}

.border-\[hsl\(var\(--border\)\)\]{
  border-color: hsl(var(--border));
}

.border-\[rgba\(0\2c 209\2c 255\2c 0\.3\)\]{
  border-color: rgba(0,209,255,0.3);
}

.border-\[rgba\(255\2c 255\2c 255\2c 0\.3\)\]{
  border-color: rgba(255,255,255,0.3);
}

.border-accent\/20{
  border-color: hsl(var(--accent) / 0.2);
}

.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\/35{
  border-color: rgb(251 191 36 / 0.35);
}

.border-amber-400\/50{
  border-color: rgb(251 191 36 / 0.5);
}

.border-amber-500{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}

.border-amber-500\/30{
  border-color: rgb(245 158 11 / 0.3);
}

.border-amber-500\/35{
  border-color: rgb(245 158 11 / 0.35);
}

.border-amber-500\/50{
  border-color: rgb(245 158 11 / 0.5);
}

.border-amber-700\/50{
  border-color: rgb(180 83 9 / 0.5);
}

.border-background{
  border-color: hsl(var(--background));
}

.border-black{
  --tw-border-opacity: 1;
  border-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

.border-black\/20{
  border-color: rgb(0 0 0 / 0.2);
}

.border-black\/30{
  border-color: rgb(0 0 0 / 0.3);
}

.border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}

.border-blue-400{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}

.border-blue-400\/30{
  border-color: rgb(96 165 250 / 0.3);
}

.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\/20{
  border-color: rgb(59 130 246 / 0.2);
}

.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-blue-700{
  --tw-border-opacity: 1;
  border-color: rgb(29 78 216 / var(--tw-border-opacity, 1));
}

.border-blue-700\/50{
  border-color: rgb(29 78 216 / 0.5);
}

.border-blue-800\/30{
  border-color: rgb(30 64 175 / 0.3);
}

.border-border{
  border-color: hsl(var(--border));
}

.border-border\/30{
  border-color: hsl(var(--border) / 0.3);
}

.border-border\/40{
  border-color: hsl(var(--border) / 0.4);
}

.border-border\/50{
  border-color: hsl(var(--border) / 0.5);
}

.border-current{
  border-color: currentColor;
}

.border-cyan-300\/50{
  border-color: rgb(103 232 249 / 0.5);
}

.border-cyan-400{
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.border-cyan-400\/10{
  border-color: rgb(34 211 238 / 0.1);
}

.border-cyan-400\/20{
  border-color: rgb(34 211 238 / 0.2);
}

.border-cyan-400\/25{
  border-color: rgb(34 211 238 / 0.25);
}

.border-cyan-400\/30{
  border-color: rgb(34 211 238 / 0.3);
}

.border-cyan-400\/35{
  border-color: rgb(34 211 238 / 0.35);
}

.border-cyan-400\/40{
  border-color: rgb(34 211 238 / 0.4);
}

.border-cyan-400\/45{
  border-color: rgb(34 211 238 / 0.45);
}

.border-cyan-400\/50{
  border-color: rgb(34 211 238 / 0.5);
}

.border-cyan-400\/70{
  border-color: rgb(34 211 238 / 0.7);
}

.border-cyan-400\/80{
  border-color: rgb(34 211 238 / 0.8);
}

.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\/20{
  border-color: rgb(6 182 212 / 0.2);
}

.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-cyan-500\/60{
  border-color: rgb(6 182 212 / 0.6);
}

.border-cyan-800{
  --tw-border-opacity: 1;
  border-color: rgb(21 94 117 / var(--tw-border-opacity, 1));
}

.border-cyan-800\/30{
  border-color: rgb(21 94 117 / 0.3);
}

.border-cyan-900\/30{
  border-color: rgb(22 78 99 / 0.3);
}

.border-cyan-900\/40{
  border-color: rgb(22 78 99 / 0.4);
}

.border-destructive{
  border-color: hsl(var(--destructive));
}

.border-destructive\/20{
  border-color: hsl(var(--destructive) / 0.2);
}

.border-destructive\/50{
  border-color: hsl(var(--destructive) / 0.5);
}

.border-emerald-400\/35{
  border-color: rgb(52 211 153 / 0.35);
}

.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\/20{
  border-color: rgb(16 185 129 / 0.2);
}

.border-emerald-500\/30{
  border-color: rgb(16 185 129 / 0.3);
}

.border-emerald-500\/50{
  border-color: rgb(16 185 129 / 0.5);
}

.border-fuchsia-400\/45{
  border-color: rgb(232 121 249 / 0.45);
}

.border-fuchsia-400\/50{
  border-color: rgb(232 121 249 / 0.5);
}

.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-400{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.border-gray-400\/50{
  border-color: rgb(156 163 175 / 0.5);
}

.border-gray-500{
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}

.border-gray-500\/30{
  border-color: rgb(107 114 128 / 0.3);
}

.border-gray-500\/40{
  border-color: rgb(107 114 128 / 0.4);
}

.border-gray-500\/50{
  border-color: rgb(107 114 128 / 0.5);
}

.border-gray-600{
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.border-gray-600\/30{
  border-color: rgb(75 85 99 / 0.3);
}

.border-gray-600\/50{
  border-color: rgb(75 85 99 / 0.5);
}

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

.border-gray-700\/30{
  border-color: rgb(55 65 81 / 0.3);
}

.border-gray-700\/40{
  border-color: rgb(55 65 81 / 0.4);
}

.border-gray-700\/50{
  border-color: rgb(55 65 81 / 0.5);
}

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

.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}

.border-green-300{
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}

.border-green-400{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.border-green-400\/30{
  border-color: rgb(74 222 128 / 0.3);
}

.border-green-400\/50{
  border-color: rgb(74 222 128 / 0.5);
}

.border-green-400\/70{
  border-color: rgb(74 222 128 / 0.7);
}

.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-green-700{
  --tw-border-opacity: 1;
  border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
}

.border-green-800{
  --tw-border-opacity: 1;
  border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
}

.border-green-800\/50{
  border-color: rgb(22 101 52 / 0.5);
}

.border-input{
  border-color: hsl(var(--input));
}

.border-m1ssion-blue{
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.border-m1ssion-blue\/10{
  border-color: rgb(0 209 255 / 0.1);
}

.border-m1ssion-blue\/20{
  border-color: rgb(0 209 255 / 0.2);
}

.border-m1ssion-deep-blue{
  --tw-border-opacity: 1;
  border-color: rgb(19 21 36 / var(--tw-border-opacity, 1));
}

.border-m1ssion-deep-blue\/30{
  border-color: rgb(19 21 36 / 0.3);
}

.border-m1ssion-deep-blue\/40{
  border-color: rgb(19 21 36 / 0.4);
}

.border-m1ssion-deep-blue\/50{
  border-color: rgb(19 21 36 / 0.5);
}

.border-muted{
  border-color: hsl(var(--muted));
}

.border-muted-foreground{
  border-color: hsl(var(--muted-foreground));
}

.border-muted-foreground\/30{
  border-color: hsl(var(--muted-foreground) / 0.3);
}

.border-muted\/30{
  border-color: hsl(var(--muted) / 0.3);
}

.border-muted\/40{
  border-color: hsl(var(--muted) / 0.4);
}

.border-orange-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / var(--tw-border-opacity, 1));
}

.border-orange-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}

.border-orange-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 146 60 / var(--tw-border-opacity, 1));
}

.border-orange-400\/30{
  border-color: rgb(251 146 60 / 0.3);
}

.border-orange-500{
  --tw-border-opacity: 1;
  border-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}

.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-orange-700\/30{
  border-color: rgb(194 65 12 / 0.3);
}

.border-pink-500\/20{
  border-color: rgb(236 72 153 / 0.2);
}

.border-pink-500\/50{
  border-color: rgb(236 72 153 / 0.5);
}

.border-pink-500\/60{
  border-color: rgb(236 72 153 / 0.6);
}

.border-primary{
  border-color: hsl(var(--primary));
}

.border-primary\/20{
  border-color: hsl(var(--primary) / 0.2);
}

.border-primary\/30{
  border-color: hsl(var(--primary) / 0.3);
}

.border-primary\/50{
  border-color: hsl(var(--primary) / 0.5);
}

.border-purple-400{
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}

.border-purple-400\/20{
  border-color: rgb(192 132 252 / 0.2);
}

.border-purple-400\/30{
  border-color: rgb(192 132 252 / 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-400\/80{
  border-color: rgb(192 132 252 / 0.8);
}

.border-purple-500{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.border-purple-500\/20{
  border-color: rgb(168 85 247 / 0.2);
}

.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-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}

.border-red-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}

.border-red-300\/50{
  border-color: rgb(252 165 165 / 0.5);
}

.border-red-400{
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}

.border-red-400\/20{
  border-color: rgb(248 113 113 / 0.2);
}

.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\/45{
  border-color: rgb(248 113 113 / 0.45);
}

.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\/20{
  border-color: rgb(239 68 68 / 0.2);
}

.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-700{
  --tw-border-opacity: 1;
  border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}

.border-red-800{
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.border-slate-700{
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}

.border-slate-700\/40{
  border-color: rgb(51 65 85 / 0.4);
}

.border-slate-700\/50{
  border-color: rgb(51 65 85 / 0.5);
}

.border-slate-800\/50{
  border-color: rgb(30 41 59 / 0.5);
}

.border-transparent{
  border-color: transparent;
}

.border-violet-400\/35{
  border-color: rgb(167 139 250 / 0.35);
}

.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\/70{
  border-color: rgb(255 255 255 / 0.7);
}

.border-white\/80{
  border-color: rgb(255 255 255 / 0.8);
}

.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}

.border-yellow-400{
  --tw-border-opacity: 1;
  border-color: rgb(250 204 21 / var(--tw-border-opacity, 1));
}

.border-yellow-400\/50{
  border-color: rgb(250 204 21 / 0.5);
}

.border-yellow-400\/60{
  border-color: rgb(250 204 21 / 0.6);
}

.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\/30{
  border-color: rgb(234 179 8 / 0.3);
}

.border-yellow-500\/40{
  border-color: rgb(234 179 8 / 0.4);
}

.border-yellow-500\/50{
  border-color: rgb(234 179 8 / 0.5);
}

.border-yellow-500\/60{
  border-color: rgb(234 179 8 / 0.6);
}

.border-yellow-600\/30{
  border-color: rgb(202 138 4 / 0.3);
}

.border-zinc-700{
  --tw-border-opacity: 1;
  border-color: rgb(63 63 70 / var(--tw-border-opacity, 1));
}

.border-b-transparent{
  border-bottom-color: transparent;
}

.border-l-primary{
  border-left-color: hsl(var(--primary));
}

.border-l-transparent{
  border-left-color: transparent;
}

.border-r-transparent{
  border-right-color: transparent;
}

.border-t-\[\#00D1FF\]{
  --tw-border-opacity: 1;
  border-top-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.border-t-\[\#eceff1\]{
  --tw-border-opacity: 1;
  border-top-color: rgb(236 239 241 / var(--tw-border-opacity, 1));
}

.border-t-\[rgba\(0\2c 209\2c 255\2c 1\)\]{
  border-top-color: rgba(0,209,255,1);
}

.border-t-black{
  --tw-border-opacity: 1;
  border-top-color: rgb(0 0 0 / var(--tw-border-opacity, 1));
}

.border-t-cyan-400{
  --tw-border-opacity: 1;
  border-top-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.border-t-cyan-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}

.border-t-foreground{
  border-top-color: hsl(var(--foreground));
}

.border-t-gray-900{
  --tw-border-opacity: 1;
  border-top-color: rgb(17 24 39 / var(--tw-border-opacity, 1));
}

.border-t-purple-500{
  --tw-border-opacity: 1;
  border-top-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.border-t-transparent{
  border-top-color: transparent;
}

.border-t-white{
  --tw-border-opacity: 1;
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}

.border-t-white\/80{
  border-top-color: rgb(255 255 255 / 0.8);
}

.border-opacity-30{
  --tw-border-opacity: 0.3;
}

.bg-\[\#0088AA\]\/20{
  background-color: rgb(0 136 170 / 0.2);
}

.bg-\[\#00D1FF\]{
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#00D1FF\]\/10{
  background-color: rgb(0 209 255 / 0.1);
}

.bg-\[\#00D1FF\]\/20{
  background-color: rgb(0 209 255 / 0.2);
}

.bg-\[\#00D1FF\]\/5{
  background-color: rgb(0 209 255 / 0.05);
}

.bg-\[\#00D1FF\]\/50{
  background-color: rgb(0 209 255 / 0.5);
}

.bg-\[\#00E5FF\]{
  --tw-bg-opacity: 1;
  background-color: rgb(0 229 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#00E5FF\]\/10{
  background-color: rgb(0 229 255 / 0.1);
}

.bg-\[\#00E5FF\]\/20{
  background-color: rgb(0 229 255 / 0.2);
}

.bg-\[\#00E5FF\]\/30{
  background-color: rgb(0 229 255 / 0.3);
}

.bg-\[\#00FF88\]\/10{
  background-color: rgb(0 255 136 / 0.1);
}

.bg-\[\#00f0ff\]\/80{
  background-color: rgb(0 240 255 / 0.8);
}

.bg-\[\#030308\]{
  --tw-bg-opacity: 1;
  background-color: rgb(3 3 8 / var(--tw-bg-opacity, 1));
}

.bg-\[\#030308\]\/90{
  background-color: rgb(3 3 8 / 0.9);
}

.bg-\[\#03070D\]{
  --tw-bg-opacity: 1;
  background-color: rgb(3 7 13 / var(--tw-bg-opacity, 1));
}

.bg-\[\#070818\]{
  --tw-bg-opacity: 1;
  background-color: rgb(7 8 24 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0A0B14\]{
  --tw-bg-opacity: 1;
  background-color: rgb(10 11 20 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0EA5E9\]{
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0a0a\]{
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 10 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0a0a\]\/50{
  background-color: rgb(10 10 10 / 0.5);
}

.bg-\[\#0a0a0f\]\/85{
  background-color: rgb(10 10 15 / 0.85);
}

.bg-\[\#0a0a0f\]\/95{
  background-color: rgb(10 10 15 / 0.95);
}

.bg-\[\#0a0a12\]{
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 18 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0c14\]{
  --tw-bg-opacity: 1;
  background-color: rgb(10 12 20 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0a0e17\]\/80{
  background-color: rgb(10 14 23 / 0.8);
}

.bg-\[\#0b0b0b\]{
  --tw-bg-opacity: 1;
  background-color: rgb(11 11 11 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0b1021\]{
  --tw-bg-opacity: 1;
  background-color: rgb(11 16 33 / var(--tw-bg-opacity, 1));
}

.bg-\[\#0c1426\]{
  --tw-bg-opacity: 1;
  background-color: rgb(12 20 38 / var(--tw-bg-opacity, 1));
}

.bg-\[\#121212\]{
  --tw-bg-opacity: 1;
  background-color: rgb(18 18 18 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1877F3\]{
  --tw-bg-opacity: 1;
  background-color: rgb(24 119 243 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1C1C1F\]{
  --tw-bg-opacity: 1;
  background-color: rgb(28 28 31 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1C1C1F\]\/80{
  background-color: rgb(28 28 31 / 0.8);
}

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

.bg-\[\#1a1a1a\]{
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 26 / var(--tw-bg-opacity, 1));
}

.bg-\[\#1b1b1b\]{
  --tw-bg-opacity: 1;
  background-color: rgb(27 27 27 / var(--tw-bg-opacity, 1));
}

.bg-\[\#25D366\]{
  --tw-bg-opacity: 1;
  background-color: rgb(37 211 102 / var(--tw-bg-opacity, 1));
}

.bg-\[\#3e3e3e\]{
  --tw-bg-opacity: 1;
  background-color: rgb(62 62 62 / var(--tw-bg-opacity, 1));
}

.bg-\[\#4361ee\]\/10{
  background-color: rgb(67 97 238 / 0.1);
}

.bg-\[\#4361ee\]\/20{
  background-color: rgb(67 97 238 / 0.2);
}

.bg-\[\#7B2EFF\]{
  --tw-bg-opacity: 1;
  background-color: rgb(123 46 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#7B2EFF\]\/10{
  background-color: rgb(123 46 255 / 0.1);
}

.bg-\[\#F059FF\]{
  --tw-bg-opacity: 1;
  background-color: rgb(240 89 255 / var(--tw-bg-opacity, 1));
}

.bg-\[\#F059FF\]\/10{
  background-color: rgb(240 89 255 / 0.1);
}

.bg-\[\#F213A4\]{
  --tw-bg-opacity: 1;
  background-color: rgb(242 19 164 / var(--tw-bg-opacity, 1));
}

.bg-\[\#FF00FF\]\/10{
  background-color: rgb(255 0 255 / 0.1);
}

.bg-\[\#FF59F8\]{
  --tw-bg-opacity: 1;
  background-color: rgb(255 89 248 / var(--tw-bg-opacity, 1));
}

.bg-\[--color-bg\]{
  background-color: var(--color-bg);
}

.bg-\[hsl\(var\(--accent\)\)\]\/20{
  background-color: hsl(var(--accent) / 0.2);
}

.bg-\[hsl\(var\(--background\)\)\]{
  background-color: hsl(var(--background));
}

.bg-\[hsl\(var\(--card\)\)\]{
  background-color: hsl(var(--card));
}

.bg-\[hsl\(var\(--muted\)\)\]{
  background-color: hsl(var(--muted));
}

.bg-\[hsl\(var\(--muted\)\)\]\/50{
  background-color: hsl(var(--muted) / 0.5);
}

.bg-\[rgba\(12\2c 16\2c 24\2c 0\.6\)\]{
  background-color: rgba(12,16,24,0.6);
}

.bg-accent{
  background-color: hsl(var(--accent));
}

.bg-accent\/5{
  background-color: hsl(var(--accent) / 0.05);
}

.bg-amber-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}

.bg-amber-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.bg-amber-50\/10{
  background-color: rgb(255 251 235 / 0.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\/20{
  background-color: rgb(245 158 11 / 0.2);
}

.bg-amber-500\/30{
  background-color: rgb(245 158 11 / 0.3);
}

.bg-amber-600{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.bg-amber-700{
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}

.bg-amber-900\/30{
  background-color: rgb(120 53 15 / 0.3);
}

.bg-amber-900\/50{
  background-color: rgb(120 53 15 / 0.5);
}

.bg-amber-950{
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}

.bg-amber-950\/30{
  background-color: rgb(69 26 3 / 0.3);
}

.bg-amber-950\/75{
  background-color: rgb(69 26 3 / 0.75);
}

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

.bg-background\/20{
  background-color: hsl(var(--background) / 0.2);
}

.bg-background\/50{
  background-color: hsl(var(--background) / 0.5);
}

.bg-background\/80{
  background-color: hsl(var(--background) / 0.8);
}

.bg-background\/90{
  background-color: hsl(var(--background) / 0.9);
}

.bg-background\/95{
  background-color: hsl(var(--background) / 0.95);
}

.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}

.bg-black\/10{
  background-color: rgb(0 0 0 / 0.1);
}

.bg-black\/20{
  background-color: rgb(0 0 0 / 0.2);
}

.bg-black\/25{
  background-color: rgb(0 0 0 / 0.25);
}

.bg-black\/30{
  background-color: rgb(0 0 0 / 0.3);
}

.bg-black\/35{
  background-color: rgb(0 0 0 / 0.35);
}

.bg-black\/40{
  background-color: rgb(0 0 0 / 0.4);
}

.bg-black\/45{
  background-color: rgb(0 0 0 / 0.45);
}

.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\/75{
  background-color: rgb(0 0 0 / 0.75);
}

.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}

.bg-black\/85{
  background-color: rgb(0 0 0 / 0.85);
}

.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-400{
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.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\/20{
  background-color: rgb(59 130 246 / 0.2);
}

.bg-blue-500\/5{
  background-color: rgb(59 130 246 / 0.05);
}

.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.bg-blue-600\/20{
  background-color: rgb(37 99 235 / 0.2);
}

.bg-blue-700{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.bg-blue-900\/20{
  background-color: rgb(30 58 138 / 0.2);
}

.bg-blue-900\/80{
  background-color: rgb(30 58 138 / 0.8);
}

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

.bg-card{
  background-color: hsl(var(--card));
}

.bg-card\/30{
  background-color: hsl(var(--card) / 0.3);
}

.bg-card\/40{
  background-color: hsl(var(--card) / 0.4);
}

.bg-card\/50{
  background-color: hsl(var(--card) / 0.5);
}

.bg-card\/60{
  background-color: hsl(var(--card) / 0.6);
}

.bg-card\/80{
  background-color: hsl(var(--card) / 0.8);
}

.bg-current{
  background-color: currentColor;
}

.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\/20{
  background-color: rgb(34 211 238 / 0.2);
}

.bg-cyan-400\/5{
  background-color: rgb(34 211 238 / 0.05);
}

.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\/25{
  background-color: rgb(6 182 212 / 0.25);
}

.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\/20{
  background-color: rgb(8 145 178 / 0.2);
}

.bg-cyan-600\/30{
  background-color: rgb(8 145 178 / 0.3);
}

.bg-cyan-600\/50{
  background-color: rgb(8 145 178 / 0.5);
}

.bg-cyan-600\/60{
  background-color: rgb(8 145 178 / 0.6);
}

.bg-cyan-600\/70{
  background-color: rgb(8 145 178 / 0.7);
}

.bg-cyan-700\/50{
  background-color: rgb(14 116 144 / 0.5);
}

.bg-cyan-700\/90{
  background-color: rgb(14 116 144 / 0.9);
}

.bg-cyan-800{
  --tw-bg-opacity: 1;
  background-color: rgb(21 94 117 / var(--tw-bg-opacity, 1));
}

.bg-cyan-800\/30{
  background-color: rgb(21 94 117 / 0.3);
}

.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-cyan-900\/40{
  background-color: rgb(22 78 99 / 0.4);
}

.bg-cyan-950\/30{
  background-color: rgb(8 51 68 / 0.3);
}

.bg-cyan-950\/80{
  background-color: rgb(8 51 68 / 0.8);
}

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

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

.bg-destructive\/10{
  background-color: hsl(var(--destructive) / 0.1);
}

.bg-destructive\/5{
  background-color: hsl(var(--destructive) / 0.05);
}

.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\/20{
  background-color: rgb(16 185 129 / 0.2);
}

.bg-emerald-500\/25{
  background-color: rgb(16 185 129 / 0.25);
}

.bg-emerald-950\/80{
  background-color: rgb(2 44 34 / 0.8);
}

.bg-emerald-950\/85{
  background-color: rgb(2 44 34 / 0.85);
}

.bg-emerald-950\/90{
  background-color: rgb(2 44 34 / 0.9);
}

.bg-foreground{
  background-color: hsl(var(--foreground));
}

.bg-fuchsia-950\/85{
  background-color: rgb(74 4 78 / 0.85);
}

.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-50{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}

.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / var(--tw-bg-opacity, 1));
}

.bg-gray-500\/10{
  background-color: rgb(107 114 128 / 0.1);
}

.bg-gray-500\/20{
  background-color: rgb(107 114 128 / 0.2);
}

.bg-gray-600{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.bg-gray-600\/20{
  background-color: rgb(75 85 99 / 0.2);
}

.bg-gray-600\/80{
  background-color: rgb(75 85 99 / 0.8);
}

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

.bg-gray-700\/20{
  background-color: rgb(55 65 81 / 0.2);
}

.bg-gray-700\/30{
  background-color: rgb(55 65 81 / 0.3);
}

.bg-gray-700\/50{
  background-color: rgb(55 65 81 / 0.5);
}

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

.bg-gray-800\/30{
  background-color: rgb(31 41 55 / 0.3);
}

.bg-gray-800\/40{
  background-color: rgb(31 41 55 / 0.4);
}

.bg-gray-800\/50{
  background-color: rgb(31 41 55 / 0.5);
}

.bg-gray-800\/60{
  background-color: rgb(31 41 55 / 0.6);
}

.bg-gray-800\/70{
  background-color: rgb(31 41 55 / 0.7);
}

.bg-gray-800\/90{
  background-color: rgb(31 41 55 / 0.9);
}

.bg-gray-900{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.bg-gray-900\/20{
  background-color: rgb(17 24 39 / 0.2);
}

.bg-gray-900\/30{
  background-color: rgb(17 24 39 / 0.3);
}

.bg-gray-900\/40{
  background-color: rgb(17 24 39 / 0.4);
}

.bg-gray-900\/50{
  background-color: rgb(17 24 39 / 0.5);
}

.bg-gray-900\/60{
  background-color: rgb(17 24 39 / 0.6);
}

.bg-gray-900\/90{
  background-color: rgb(17 24 39 / 0.9);
}

.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}

.bg-green-400{
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.bg-green-400\/20{
  background-color: rgb(74 222 128 / 0.2);
}

.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 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\/20{
  background-color: rgb(34 197 94 / 0.2);
}

.bg-green-500\/80{
  background-color: rgb(34 197 94 / 0.8);
}

.bg-green-600{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.bg-green-600\/20{
  background-color: rgb(22 163 74 / 0.2);
}

.bg-green-600\/30{
  background-color: rgb(22 163 74 / 0.3);
}

.bg-green-700{
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.bg-green-900\/20{
  background-color: rgb(20 83 45 / 0.2);
}

.bg-green-900\/30{
  background-color: rgb(20 83 45 / 0.3);
}

.bg-green-900\/50{
  background-color: rgb(20 83 45 / 0.5);
}

.bg-green-900\/80{
  background-color: rgb(20 83 45 / 0.8);
}

.bg-green-950{
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.bg-green-950\/20{
  background-color: rgb(5 46 22 / 0.2);
}

.bg-green-950\/30{
  background-color: rgb(5 46 22 / 0.3);
}

.bg-green-950\/50{
  background-color: rgb(5 46 22 / 0.5);
}

.bg-input{
  background-color: hsl(var(--input));
}

.bg-m1ssion-blue{
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.bg-m1ssion-blue\/5{
  background-color: rgb(0 209 255 / 0.05);
}

.bg-m1ssion-deep-blue{
  --tw-bg-opacity: 1;
  background-color: rgb(19 21 36 / var(--tw-bg-opacity, 1));
}

.bg-m1ssion-deep-blue\/30{
  background-color: rgb(19 21 36 / 0.3);
}

.bg-m1ssion-deep-blue\/50{
  background-color: rgb(19 21 36 / 0.5);
}

.bg-m1ssion-pink{
  --tw-bg-opacity: 1;
  background-color: rgb(240 89 255 / var(--tw-bg-opacity, 1));
}

.bg-muted{
  background-color: hsl(var(--muted));
}

.bg-muted-foreground{
  background-color: hsl(var(--muted-foreground));
}

.bg-muted\/20{
  background-color: hsl(var(--muted) / 0.2);
}

.bg-muted\/30{
  background-color: hsl(var(--muted) / 0.3);
}

.bg-muted\/40{
  background-color: hsl(var(--muted) / 0.4);
}

.bg-muted\/50{
  background-color: hsl(var(--muted) / 0.5);
}

.bg-muted\/60{
  background-color: hsl(var(--muted) / 0.6);
}

.bg-neutral-500\/70{
  background-color: rgb(115 115 115 / 0.7);
}

.bg-neutral-950\/95{
  background-color: rgb(10 10 10 / 0.95);
}

.bg-orange-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / 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-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}

.bg-orange-50\/50{
  background-color: rgb(255 247 237 / 0.5);
}

.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-600{
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}

.bg-orange-800\/30{
  background-color: rgb(154 52 18 / 0.3);
}

.bg-orange-900\/20{
  background-color: rgb(124 45 18 / 0.2);
}

.bg-orange-950\/30{
  background-color: rgb(67 20 7 / 0.3);
}

.bg-pink-500{
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}

.bg-pink-500\/10{
  background-color: rgb(236 72 153 / 0.1);
}

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

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

.bg-primary\/10{
  background-color: hsl(var(--primary) / 0.1);
}

.bg-primary\/20{
  background-color: hsl(var(--primary) / 0.2);
}

.bg-primary\/30{
  background-color: hsl(var(--primary) / 0.3);
}

.bg-primary\/5{
  background-color: hsl(var(--primary) / 0.05);
}

.bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / 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\/20{
  background-color: rgb(168 85 247 / 0.2);
}

.bg-purple-500\/30{
  background-color: rgb(168 85 247 / 0.3);
}

.bg-purple-500\/5{
  background-color: rgb(168 85 247 / 0.05);
}

.bg-purple-600{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.bg-purple-600\/20{
  background-color: rgb(147 51 234 / 0.2);
}

.bg-purple-600\/30{
  background-color: rgb(147 51 234 / 0.3);
}

.bg-purple-600\/70{
  background-color: rgb(147 51 234 / 0.7);
}

.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-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.bg-red-400{
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.bg-red-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}

.bg-red-50\/10{
  background-color: rgb(254 242 242 / 0.1);
}

.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\/20{
  background-color: rgb(239 68 68 / 0.2);
}

.bg-red-500\/25{
  background-color: rgb(239 68 68 / 0.25);
}

.bg-red-500\/30{
  background-color: rgb(239 68 68 / 0.3);
}

.bg-red-500\/80{
  background-color: rgb(239 68 68 / 0.8);
}

.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-800\/30{
  background-color: rgb(153 27 27 / 0.3);
}

.bg-red-900{
  --tw-bg-opacity: 1;
  background-color: rgb(127 29 29 / var(--tw-bg-opacity, 1));
}

.bg-red-900\/20{
  background-color: rgb(127 29 29 / 0.2);
}

.bg-red-900\/30{
  background-color: rgb(127 29 29 / 0.3);
}

.bg-red-900\/50{
  background-color: rgb(127 29 29 / 0.5);
}

.bg-red-900\/80{
  background-color: rgb(127 29 29 / 0.8);
}

.bg-red-950\/20{
  background-color: rgb(69 10 10 / 0.2);
}

.bg-red-950\/30{
  background-color: rgb(69 10 10 / 0.3);
}

.bg-red-950\/50{
  background-color: rgb(69 10 10 / 0.5);
}

.bg-red-950\/85{
  background-color: rgb(69 10 10 / 0.85);
}

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

.bg-secondary\/50{
  background-color: hsl(var(--secondary) / 0.5);
}

.bg-slate-600{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}

.bg-slate-700\/60{
  background-color: rgb(51 65 85 / 0.6);
}

.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-900{
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / var(--tw-bg-opacity, 1));
}

.bg-slate-900\/30{
  background-color: rgb(15 23 42 / 0.3);
}

.bg-slate-900\/50{
  background-color: rgb(15 23 42 / 0.5);
}

.bg-slate-900\/90{
  background-color: rgb(15 23 42 / 0.9);
}

.bg-transparent{
  background-color: transparent;
}

.bg-violet-500\/20{
  background-color: rgb(139 92 246 / 0.2);
}

.bg-violet-950\/80{
  background-color: rgb(46 16 101 / 0.8);
}

.bg-violet-950\/85{
  background-color: rgb(46 16 101 / 0.85);
}

.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\/20{
  background-color: rgb(255 255 255 / 0.2);
}

.bg-white\/30{
  background-color: rgb(255 255 255 / 0.3);
}

.bg-white\/40{
  background-color: rgb(255 255 255 / 0.4);
}

.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\/\[0\.02\]{
  background-color: rgb(255 255 255 / 0.02);
}

.bg-white\/\[0\.06\]{
  background-color: rgb(255 255 255 / 0.06);
}

.bg-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}

.bg-yellow-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}

.bg-yellow-300{
  --tw-bg-opacity: 1;
  background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1));
}

.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-400\/5{
  background-color: rgb(250 204 21 / 0.05);
}

.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 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\/20{
  background-color: rgb(234 179 8 / 0.2);
}

.bg-yellow-500\/30{
  background-color: rgb(234 179 8 / 0.3);
}

.bg-yellow-500\/5{
  background-color: rgb(234 179 8 / 0.05);
}

.bg-yellow-500\/80{
  background-color: rgb(234 179 8 / 0.8);
}

.bg-yellow-600{
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}

.bg-yellow-700\/90{
  background-color: rgb(161 98 7 / 0.9);
}

.bg-yellow-900\/10{
  background-color: rgb(113 63 18 / 0.1);
}

.bg-yellow-900\/20{
  background-color: rgb(113 63 18 / 0.2);
}

.bg-yellow-950\/30{
  background-color: rgb(66 32 6 / 0.3);
}

.bg-yellow-950\/50{
  background-color: rgb(66 32 6 / 0.5);
}

.bg-zinc-700{
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}

.bg-zinc-800{
  --tw-bg-opacity: 1;
  background-color: rgb(39 39 42 / var(--tw-bg-opacity, 1));
}

.bg-zinc-800\/50{
  background-color: rgb(39 39 42 / 0.5);
}

.bg-zinc-900{
  --tw-bg-opacity: 1;
  background-color: rgb(24 24 27 / var(--tw-bg-opacity, 1));
}

.bg-zinc-900\/20{
  background-color: rgb(24 24 27 / 0.2);
}

.bg-zinc-900\/30{
  background-color: rgb(24 24 27 / 0.3);
}

.bg-zinc-900\/50{
  background-color: rgb(24 24 27 / 0.5);
}

.bg-zinc-900\/95{
  background-color: rgb(24 24 27 / 0.95);
}

.bg-opacity-20{
  --tw-bg-opacity: 0.2;
}

.bg-opacity-30{
  --tw-bg-opacity: 0.3;
}

.bg-opacity-70{
  --tw-bg-opacity: 0.7;
}

.bg-opacity-80{
  --tw-bg-opacity: 0.8;
}

.bg-\[linear-gradient\(270deg\2c \#ff4df0\2c \#00eaff\2c \#e0ffff\2c \#00eaff\2c \#ff4df0\)\]{
  background-image: linear-gradient(270deg,#ff4df0,#00eaff,#e0ffff,#00eaff,#ff4df0);
}

.bg-\[radial-gradient\(circle\2c rgba\(255\2c 77\2c 240\2c 0\.3\)\2c rgba\(0\2c 231\2c 255\2c 0\.3\)\2c transparent_70\%\)\]{
  background-image: radial-gradient(circle,rgba(255,77,240,0.3),rgba(0,231,255,0.3),transparent 70%);
}

.bg-\[radial-gradient\(circle_at_30\%_30\%\2c rgba\(255\2c 255\2c 255\2c \.18\)\2c rgba\(0\2c 0\2c 0\2c \.3\)_60\%\)\]{
  background-image: radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),rgba(0,0,0,.3) 60%);
}

.bg-\[radial-gradient\(circle_at_40\%_30\%\2c rgba\(255\2c 255\2c 255\2c \.15\)\2c transparent_50\%\)\]{
  background-image: radial-gradient(circle at 40% 30%,rgba(255,255,255,.15),transparent 50%);
}

.bg-\[radial-gradient\(circle_at_50\%_50\%\2c rgba\(0\2c 209\2c 255\2c 0\.08\)\2c transparent_60\%\)\]{
  background-image: radial-gradient(circle at 50% 50%,rgba(0,209,255,0.08),transparent 60%);
}

.bg-\[radial-gradient\(circle_at_50\%_50\%\2c rgba\(0\2c 229\2c 255\2c 0\.03\)\2c transparent_70\%\)\]{
  background-image: radial-gradient(circle at 50% 50%,rgba(0,229,255,0.03),transparent 70%);
}

.bg-\[radial-gradient\(circle_at_center\2c rgba\(255\2c 255\2c 255\2c 0\.28\)_0\%\2c transparent_78\%\)\]{
  background-image: radial-gradient(circle at center,rgba(255,255,255,0.28) 0%,transparent 78%);
}

.bg-\[radial-gradient\(ellipse_at_20\%_30\%\2c rgba\(0\2c 229\2c 255\2c 0\.08\)\2c transparent_60\%\)\]{
  background-image: radial-gradient(ellipse at 20% 30%,rgba(0,229,255,0.08),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_20\%_30\%\2c rgba\(0\2c 229\2c 255\2c 0\.12\)\2c transparent_60\%\)\]{
  background-image: radial-gradient(ellipse at 20% 30%,rgba(0,229,255,0.12),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_20\%_30\%\2c rgba\(234\2c 179\2c 8\2c 0\.08\)\2c transparent_60\%\)\]{
  background-image: radial-gradient(ellipse at 20% 30%,rgba(234,179,8,0.08),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_80\%_70\%\2c rgba\(168\2c 85\2c 247\2c 0\.06\)\2c transparent_60\%\)\]{
  background-image: radial-gradient(ellipse at 80% 70%,rgba(168,85,247,0.06),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_80\%_70\%\2c rgba\(168\2c 85\2c 247\2c 0\.1\)\2c transparent_60\%\)\]{
  background-image: radial-gradient(ellipse at 80% 70%,rgba(168,85,247,0.1),transparent 60%);
}

.bg-\[radial-gradient\(ellipse_at_center\2c _var\(--tw-gradient-stops\)\)\]{
  background-image: radial-gradient(ellipse at center, var(--tw-gradient-stops));
}

.bg-\[url\(\'\/grid-pattern\.png\'\)\]{
  background-image: url('/grid-pattern.png');
}

.bg-\[url\(\'\/public\/images\/grid-pattern\.png\'\)\]{
  background-image: url('/assets/grid-pattern.C0O5llsq.png');
}

.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI\+PGRlZnM\+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI\+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iZ3JheSIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4\+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiIC8\+PC9zdmc\+\'\)\]{
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iZ3JheSIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiIC8+PC9zdmc+');
}

.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI\+PGRlZnM\+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI\+PHBhdGggZD0iTSAxMCAwIEwgMCAwIDAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC41Ii8\+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8\+PC9zdmc\+\'\)\]{
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAxMCAwIEwgMCAwIDAgMTAiIGZpbGw9Im5vbmUiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC41Ii8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyaWQpIi8+PC9zdmc+');
}

.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, 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-tr{
  background-image: linear-gradient(to top right, var(--tw-gradient-stops));
}

.from-\[\#0066FF\]{
  --tw-gradient-from: #0066FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 102 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]{
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/10{
  --tw-gradient-from: rgb(0 209 255 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/20{
  --tw-gradient-from: rgb(0 209 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/30{
  --tw-gradient-from: rgb(0 209 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/5{
  --tw-gradient-from: rgb(0 209 255 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00D1FF\]\/50{
  --tw-gradient-from: rgb(0 209 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00E5FF\]{
  --tw-gradient-from: #00E5FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 229 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00E5FF\]\/10{
  --tw-gradient-from: rgb(0 229 255 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 229 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00E5FF\]\/20{
  --tw-gradient-from: rgb(0 229 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 229 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#00a3ff\]{
  --tw-gradient-from: #00a3ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 163 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#030308\]{
  --tw-gradient-from: #030308 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(3 3 8 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#050510\]{
  --tw-gradient-from: #050510 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 5 16 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#06071b\]{
  --tw-gradient-from: #06071b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 7 27 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#06071b\]\/80{
  --tw-gradient-from: rgb(6 7 27 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 7 27 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#070818\]{
  --tw-gradient-from: #070818 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 8 24 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#070818\]\/80{
  --tw-gradient-from: rgb(7 8 24 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 8 24 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#090909\]{
  --tw-gradient-from: #090909 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(9 9 9 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0A0A0A\]{
  --tw-gradient-from: #0A0A0A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0A0F1C\]{
  --tw-gradient-from: #0A0F1C var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 15 28 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0a0a\]{
  --tw-gradient-from: #0a0a0a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0a1a\]{
  --tw-gradient-from: #0a0a1a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 26 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0a20\]{
  --tw-gradient-from: #0a0a20 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 10 32 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0b0f\]{
  --tw-gradient-from: #0a0b0f var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 11 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#0a0e17\]{
  --tw-gradient-from: #0a0e17 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 14 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#10B981\]{
  --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-\[\#111124d8\]{
  --tw-gradient-from: #111124d8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 17 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\]{
  --tw-gradient-from: #131524 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\]\/70{
  --tw-gradient-from: rgb(19 21 36 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\]\/80{
  --tw-gradient-from: rgb(19 21 36 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#131524\]\/90{
  --tw-gradient-from: rgb(19 21 36 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(19 21 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#141425fc\]{
  --tw-gradient-from: #141425fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 20 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#141535\]{
  --tw-gradient-from: #141535 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 21 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#161845\]{
  --tw-gradient-from: #161845 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 24 69 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#181641\]{
  --tw-gradient-from: #181641 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(24 22 65 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#181641ee\]{
  --tw-gradient-from: #181641ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(24 22 65 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1A1A1A\]{
  --tw-gradient-from: #1A1A1A var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 26 26 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1a1525\]{
  --tw-gradient-from: #1a1525 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 21 37 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1a1a2e\]{
  --tw-gradient-from: #1a1a2e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 26 46 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#1eaedb\]\/80{
  --tw-gradient-from: rgb(30 174 219 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 174 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#221F26\]{
  --tw-gradient-from: #221F26 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(34 31 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#22C55E\]{
  --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-\[\#365EFF\]{
  --tw-gradient-from: #365EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(54 94 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\]{
  --tw-gradient-from: #4361ee var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\]\/0{
  --tw-gradient-from: rgb(67 97 238 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\]\/10{
  --tw-gradient-from: rgb(67 97 238 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4361ee\]\/20{
  --tw-gradient-from: rgb(67 97 238 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#4ADE80\]{
  --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-\[\#6A00FF\]{
  --tw-gradient-from: #6A00FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(106 0 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#7209b7\]{
  --tw-gradient-from: #7209b7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(114 9 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#7209b7\]\/20{
  --tw-gradient-from: rgb(114 9 183 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(114 9 183 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#7B2EFF\]{
  --tw-gradient-from: #7B2EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(123 46 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#8A2BE2\]{
  --tw-gradient-from: #8A2BE2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(138 43 226 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#8b5cf6\]{
  --tw-gradient-from: #8b5cf6 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-\[\#A855F7\]{
  --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-\[\#C0C0C0\]{
  --tw-gradient-from: #C0C0C0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 192 192 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#E6E6FA\]{
  --tw-gradient-from: #E6E6FA var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(230 230 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#EF4444\]{
  --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-\[\#F213A4\]{
  --tw-gradient-from: #F213A4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#F213A4\]\/20{
  --tw-gradient-from: rgb(242 19 164 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#F213A4\]\/90{
  --tw-gradient-from: rgb(242 19 164 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#F97316\]{
  --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-\[\#FBBF24\]{
  --tw-gradient-from: #FBBF24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FC1EFF\]{
  --tw-gradient-from: #FC1EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 30 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FDE047\]{
  --tw-gradient-from: #FDE047 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 224 71 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FF0000\]{
  --tw-gradient-from: #FF0000 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FF4D6B\]{
  --tw-gradient-from: #FF4D6B var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 77 107 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FF9466\]{
  --tw-gradient-from: #FF9466 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 148 102 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#FFD700\]{
  --tw-gradient-from: #FFD700 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 215 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-\[\#a855f7\]{
  --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-\[\#d946ef\]{
  --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-\[\#d946ef\]\/70{
  --tw-gradient-from: rgb(217 70 239 / 0.7) 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-\[\#f59e0b\]{
  --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-\[hsl\(var\(--primary\)\)\]{
  --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-400{
  --tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 191 36 / 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\/30{
  --tw-gradient-from: rgb(245 158 11 / 0.3) 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-amber-700{
  --tw-gradient-from: #b45309 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(180 83 9 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-700\/20{
  --tw-gradient-from: rgb(180 83 9 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(180 83 9 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-amber-900\/30{
  --tw-gradient-from: rgb(120 53 15 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background{
  --tw-gradient-from: hsl(var(--background)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background\/50{
  --tw-gradient-from: hsl(var(--background) / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-background\/95{
  --tw-gradient-from: hsl(var(--background) / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--background) / 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\/0{
  --tw-gradient-from: rgb(0 0 0 / 0) 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\/30{
  --tw-gradient-from: rgb(0 0 0 / 0.3) 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\/40{
  --tw-gradient-from: rgb(0 0 0 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/50{
  --tw-gradient-from: rgb(0 0 0 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/55{
  --tw-gradient-from: rgb(0 0 0 / 0.55) 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\/70{
  --tw-gradient-from: rgb(0 0 0 / 0.7) 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-black\/90{
  --tw-gradient-from: rgb(0 0 0 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-black\/95{
  --tw-gradient-from: rgb(0 0 0 / 0.95) 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-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\/20{
  --tw-gradient-from: rgb(59 130 246 / 0.2) 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-600\/30{
  --tw-gradient-from: rgb(37 99 235 / 0.3) 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\/10{
  --tw-gradient-from: rgb(30 58 138 / 0.1) 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-blue-900\/20{
  --tw-gradient-from: rgb(30 58 138 / 0.2) 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-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-400\/10{
  --tw-gradient-from: rgb(34 211 238 / 0.1) 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-400\/20{
  --tw-gradient-from: rgb(34 211 238 / 0.2) 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-400\/30{
  --tw-gradient-from: rgb(34 211 238 / 0.3) 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-400\/40{
  --tw-gradient-from: rgb(34 211 238 / 0.4) 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\/0{
  --tw-gradient-from: rgb(6 182 212 / 0) 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\/30{
  --tw-gradient-from: rgb(6 182 212 / 0.3) 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-500\/50{
  --tw-gradient-from: rgb(6 182 212 / 0.5) 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\/80{
  --tw-gradient-from: rgb(8 145 178 / 0.8) 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-900\/20{
  --tw-gradient-from: rgb(22 78 99 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-900\/30{
  --tw-gradient-from: rgb(22 78 99 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-900\/40{
  --tw-gradient-from: rgb(22 78 99 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-900\/60{
  --tw-gradient-from: rgb(22 78 99 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 78 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/10{
  --tw-gradient-from: rgb(8 51 68 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/20{
  --tw-gradient-from: rgb(8 51 68 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/30{
  --tw-gradient-from: rgb(8 51 68 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-cyan-950\/50{
  --tw-gradient-from: rgb(8 51 68 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 51 68 / 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-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-600\/15{
  --tw-gradient-from: rgb(5 150 105 / 0.15) 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-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-gray-300{
  --tw-gradient-from: #d1d5db var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-400{
  --tw-gradient-from: #9ca3af var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(156 163 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-500{
  --tw-gradient-from: #6b7280 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-500\/20{
  --tw-gradient-from: rgb(107 114 128 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(107 114 128 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-600{
  --tw-gradient-from: #4b5563 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-600\/30{
  --tw-gradient-from: rgb(75 85 99 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(75 85 99 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-700{
  --tw-gradient-from: #374151 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(55 65 81 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-800{
  --tw-gradient-from: #1f2937 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-800\/50{
  --tw-gradient-from: rgb(31 41 55 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(31 41 55 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900{
  --tw-gradient-from: #111827 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/40{
  --tw-gradient-from: rgb(17 24 39 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/80{
  --tw-gradient-from: rgb(17 24 39 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/90{
  --tw-gradient-from: rgb(17 24 39 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-900\/95{
  --tw-gradient-from: rgb(17 24 39 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-gray-950{
  --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-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-400\/20{
  --tw-gradient-from: rgb(74 222 128 / 0.2) 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\/10{
  --tw-gradient-from: rgb(34 197 94 / 0.1) 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\/20{
  --tw-gradient-from: rgb(34 197 94 / 0.2) 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\/30{
  --tw-gradient-from: rgb(34 197 94 / 0.3) 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-600{
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-900\/20{
  --tw-gradient-from: rgb(20 83 45 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-900\/60{
  --tw-gradient-from: rgb(20 83 45 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-900\/80{
  --tw-gradient-from: rgb(20 83 45 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 83 45 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-green-950\/80{
  --tw-gradient-from: rgb(5 46 22 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 46 22 / 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-lime-300{
  --tw-gradient-from: #bef264 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(190 242 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-blue{
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-blue\/20{
  --tw-gradient-from: rgb(0 209 255 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-pink{
  --tw-gradient-from: #F059FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 89 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-m1ssion-purple{
  --tw-gradient-from: #7B2EFF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(123 46 255 / 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\/20{
  --tw-gradient-from: rgb(249 115 22 / 0.2) 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-500\/5{
  --tw-gradient-from: rgb(249 115 22 / 0.05) 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-orange-600\/30{
  --tw-gradient-from: rgb(234 88 12 / 0.3) 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-orange-900\/20{
  --tw-gradient-from: rgb(124 45 18 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 45 18 / 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-950\/20{
  --tw-gradient-from: rgb(80 7 36 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(80 7 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary{
  --tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/10{
  --tw-gradient-from: hsl(var(--primary) / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-primary\/20{
  --tw-gradient-from: hsl(var(--primary) / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-purple-400{
  --tw-gradient-from: #c084fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 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\/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-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\/20{
  --tw-gradient-from: rgb(147 51 234 / 0.2) 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-600\/35{
  --tw-gradient-from: rgb(147 51 234 / 0.35) 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\/40{
  --tw-gradient-from: rgb(147 51 234 / 0.4) 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-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\/30{
  --tw-gradient-from: rgb(88 28 135 / 0.3) 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-purple-900\/60{
  --tw-gradient-from: rgb(88 28 135 / 0.6) 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\/90{
  --tw-gradient-from: rgb(88 28 135 / 0.9) 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-950\/20{
  --tw-gradient-from: rgb(59 7 100 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(59 7 100 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-400{
  --tw-gradient-from: #f87171 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 113 113 / 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\/50{
  --tw-gradient-from: rgb(239 68 68 / 0.5) 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-red-900\/5{
  --tw-gradient-from: rgb(127 29 29 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 29 29 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-900\/80{
  --tw-gradient-from: rgb(127 29 29 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(127 29 29 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-950\/50{
  --tw-gradient-from: rgb(69 10 10 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-red-950\/95{
  --tw-gradient-from: rgb(69 10 10 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(69 10 10 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-300{
  --tw-gradient-from: #cbd5e1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-300\/20{
  --tw-gradient-from: rgb(203 213 225 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(203 213 225 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-400{
  --tw-gradient-from: #94a3b8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(148 163 184 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-800{
  --tw-gradient-from: #1e293b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-slate-800\/50{
  --tw-gradient-from: rgb(30 41 59 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 41 59 / 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-slate-900\/95{
  --tw-gradient-from: rgb(15 23 42 / 0.95) 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-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-500{
  --tw-gradient-from: #8b5cf6 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-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\/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-300{
  --tw-gradient-from: #fde047 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 224 71 / 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-400\/0{
  --tw-gradient-from: rgb(250 204 21 / 0) 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-400\/10{
  --tw-gradient-from: rgb(250 204 21 / 0.1) 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-400\/20{
  --tw-gradient-from: rgb(250 204 21 / 0.2) 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-400\/30{
  --tw-gradient-from: rgb(250 204 21 / 0.3) 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{
  --tw-gradient-from: #eab308 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);
}

.from-yellow-500\/10{
  --tw-gradient-from: rgb(234 179 8 / 0.1) 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);
}

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

.from-yellow-500\/30{
  --tw-gradient-from: rgb(234 179 8 / 0.3) 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);
}

.from-yellow-600{
  --tw-gradient-from: #ca8a04 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-600\/40{
  --tw-gradient-from: rgb(202 138 4 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-900\/30{
  --tw-gradient-from: rgb(113 63 18 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.from-yellow-900\/40{
  --tw-gradient-from: rgb(113 63 18 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(113 63 18 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.via-\[\#00a3ff\]{
  --tw-gradient-to: rgb(0 163 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #00a3ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#050510\]\/40{
  --tw-gradient-to: rgb(5 5 16 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 5 16 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#06071b\]{
  --tw-gradient-to: rgb(6 7 27 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #06071b var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#080815\]{
  --tw-gradient-to: rgb(8 8 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #080815 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0F1419\]{
  --tw-gradient-to: rgb(15 20 25 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0F1419 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0a0a12\]{
  --tw-gradient-to: rgb(10 10 18 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0a0a12 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0a0a15\]{
  --tw-gradient-to: rgb(10 10 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0a0a15 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0a0d1f\]{
  --tw-gradient-to: rgb(10 13 31 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0a0d1f var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#0d0d20\]{
  --tw-gradient-to: rgb(13 13 32 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0d0d20 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#111827\]{
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#131524\]\/55{
  --tw-gradient-to: rgb(19 21 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(19 21 36 / 0.55) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#16213e\]{
  --tw-gradient-to: rgb(22 33 62 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #16213e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#181641\]{
  --tw-gradient-to: rgb(24 22 65 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #181641 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1A1A2E\]{
  --tw-gradient-to: rgb(26 26 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1A1A2E var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1C6AFF\]{
  --tw-gradient-to: rgb(28 106 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1C6AFF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1a1a2e\]{
  --tw-gradient-to: rgb(26 26 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1a1a2e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1a1b2e\]{
  --tw-gradient-to: rgb(26 27 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1a1b2e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1eaedb10\]{
  --tw-gradient-to: rgb(30 174 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1eaedb10 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1eaedb\]{
  --tw-gradient-to: rgb(30 174 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1eaedb var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#1eaedbaa\]{
  --tw-gradient-to: rgb(30 174 219 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1eaedbaa var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#4361ee\]\/5{
  --tw-gradient-to: rgb(67 97 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(67 97 238 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7B2EFF\]{
  --tw-gradient-to: rgb(123 46 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7B2EFF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7C3AED\]{
  --tw-gradient-to: rgb(124 58 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7C3AED var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7C3AED\]\/50{
  --tw-gradient-to: rgb(124 58 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(124 58 237 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7E69AB\]{
  --tw-gradient-to: rgb(126 105 171 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7E69AB var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#7e69ab\]{
  --tw-gradient-to: rgb(126 105 171 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7e69ab var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#8b5cf6\]\/70{
  --tw-gradient-to: rgb(139 92 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(139 92 246 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#9b87f5\]{
  --tw-gradient-to: rgb(155 135 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9b87f5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#9b87f5\]\/80{
  --tw-gradient-to: rgb(155 135 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(155 135 245 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#F059FF\]{
  --tw-gradient-to: rgb(240 89 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #F059FF 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-\[\#FF1493\]\/10{
  --tw-gradient-to: rgb(255 20 147 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(255 20 147 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#FFC107\]{
  --tw-gradient-to: rgb(255 193 7 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #FFC107 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#ec4899\]{
  --tw-gradient-to: rgb(236 72 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ec4899 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-\[\#f97316\]{
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f97316 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-accent{
  --tw-gradient-to: hsl(var(--accent) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--accent)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-amber-400{
  --tw-gradient-to: rgb(251 191 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fbbf24 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-background{
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-background\/90{
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-background\/95{
  --tw-gradient-to: hsl(var(--background) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--background) / 0.95) 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-black\/20{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/30{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/40{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/50{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/70{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/80{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-black\/90{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-300{
  --tw-gradient-to: rgb(147 197 253 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #93c5fd 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-500\/20{
  --tw-gradient-to: rgb(59 130 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(59 130 246 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-600{
  --tw-gradient-to: rgb(37 99 235 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #2563eb var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-blue-900{
  --tw-gradient-to: rgb(30 58 138 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e3a8a var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-300{
  --tw-gradient-to: rgb(103 232 249 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #67e8f9 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400{
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #22d3ee var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/20{
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/30{
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/40{
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/50{
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/60{
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-400\/70{
  --tw-gradient-to: rgb(34 211 238 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(34 211 238 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-500{
  --tw-gradient-to: rgb(6 182 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #06b6d4 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-cyan-500\/10{
  --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.1) 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-emerald-400{
  --tw-gradient-to: rgb(52 211 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #34d399 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-emerald-900\/60{
  --tw-gradient-to: rgb(6 78 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(6 78 59 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-800{
  --tw-gradient-to: rgb(31 41 55 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1f2937 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-900{
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-gray-900\/90{
  --tw-gradient-to: rgb(17 24 39 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(17 24 39 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-200{
  --tw-gradient-to: rgb(187 247 208 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #bbf7d0 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-green-500{
  --tw-gradient-to: rgb(34 197 94 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #22c55e var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-lime-400{
  --tw-gradient-to: rgb(163 230 53 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a3e635 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-m1ssion-cyan\/50{
  --tw-gradient-to: rgb(0 229 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 229 255 / 0.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-m1ssion-purple{
  --tw-gradient-to: rgb(123 46 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #7B2EFF var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-m1ssion-purple\/20{
  --tw-gradient-to: rgb(123 46 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(123 46 255 / 0.2) 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-500\/10{
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(249 115 22 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-orange-500\/5{
  --tw-gradient-to: rgb(249 115 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(249 115 22 / 0.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-orange-900\/40{
  --tw-gradient-to: rgb(124 45 18 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(124 45 18 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-pink-500{
  --tw-gradient-to: rgb(236 72 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ec4899 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-pink-600{
  --tw-gradient-to: rgb(219 39 119 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #db2777 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-primary{
  --tw-gradient-to: hsl(var(--primary) / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), hsl(var(--primary)) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-400{
  --tw-gradient-to: rgb(192 132 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #c084fc var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-400\/40{
  --tw-gradient-to: rgb(192 132 252 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(192 132 252 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-500{
  --tw-gradient-to: rgb(168 85 247 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #a855f7 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-purple-500\/20{
  --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.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-500\/30{
  --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.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-900\/15{
  --tw-gradient-to: rgb(88 28 135 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(88 28 135 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-purple-950\/20{
  --tw-gradient-to: rgb(59 7 100 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(59 7 100 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-red-500{
  --tw-gradient-to: rgb(239 68 68 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ef4444 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-red-950\/80{
  --tw-gradient-to: rgb(69 10 10 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(69 10 10 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-rose-900\/60{
  --tw-gradient-to: rgb(136 19 55 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(136 19 55 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-sky-500{
  --tw-gradient-to: rgb(14 165 233 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0ea5e9 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-700{
  --tw-gradient-to: rgb(51 65 85 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #334155 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-slate-800\/95{
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(30 41 59 / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

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

.via-white{
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff 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\/30{
  --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.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-white\/5{
  --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-300\/40{
  --tw-gradient-to: rgb(253 224 71 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(253 224 71 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-400{
  --tw-gradient-to: rgb(250 204 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #facc15 var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-400\/20{
  --tw-gradient-to: rgb(250 204 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(250 204 21 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.via-yellow-400\/30{
  --tw-gradient-to: rgb(250 204 21 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(250 204 21 / 0.3) 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);
}

.via-zinc-900\/90{
  --tw-gradient-to: rgb(24 24 27 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(24 24 27 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}

.to-\[\#008eb3\]{
  --tw-gradient-to: #008eb3 var(--tw-gradient-to-position);
}

.to-\[\#0099CC\]{
  --tw-gradient-to: #0099CC var(--tw-gradient-to-position);
}

.to-\[\#00A3CC\]{
  --tw-gradient-to: #00A3CC var(--tw-gradient-to-position);
}

.to-\[\#00B8E6\]{
  --tw-gradient-to: #00B8E6 var(--tw-gradient-to-position);
}

.to-\[\#00BFFF\]{
  --tw-gradient-to: #00BFFF var(--tw-gradient-to-position);
}

.to-\[\#00D1FF\]{
  --tw-gradient-to: #00D1FF var(--tw-gradient-to-position);
}

.to-\[\#00D1FF\]\/10{
  --tw-gradient-to: rgb(0 209 255 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#00D1FF\]\/50{
  --tw-gradient-to: rgb(0 209 255 / 0.5) var(--tw-gradient-to-position);
}

.to-\[\#00E0FF\]{
  --tw-gradient-to: #00E0FF var(--tw-gradient-to-position);
}

.to-\[\#030308\]{
  --tw-gradient-to: #030308 var(--tw-gradient-to-position);
}

.to-\[\#050510\]{
  --tw-gradient-to: #050510 var(--tw-gradient-to-position);
}

.to-\[\#06071b\]{
  --tw-gradient-to: #06071b var(--tw-gradient-to-position);
}

.to-\[\#06071b\]\/80{
  --tw-gradient-to: rgb(6 7 27 / 0.8) var(--tw-gradient-to-position);
}

.to-\[\#070818\]{
  --tw-gradient-to: #070818 var(--tw-gradient-to-position);
}

.to-\[\#0EA5E9\]{
  --tw-gradient-to: #0EA5E9 var(--tw-gradient-to-position);
}

.to-\[\#0EA5E9\]\/20{
  --tw-gradient-to: rgb(14 165 233 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#0EA5E9\]\/90{
  --tw-gradient-to: rgb(14 165 233 / 0.9) var(--tw-gradient-to-position);
}

.to-\[\#0a0a0a\]{
  --tw-gradient-to: #0a0a0a var(--tw-gradient-to-position);
}

.to-\[\#0a0a0f\]\/95{
  --tw-gradient-to: rgb(10 10 15 / 0.95) var(--tw-gradient-to-position);
}

.to-\[\#0a0a1a\]{
  --tw-gradient-to: #0a0a1a var(--tw-gradient-to-position);
}

.to-\[\#0a0b0f\]{
  --tw-gradient-to: #0a0b0f var(--tw-gradient-to-position);
}

.to-\[\#0a0e17\]{
  --tw-gradient-to: #0a0e17 var(--tw-gradient-to-position);
}

.to-\[\#0f172a\]{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}

.to-\[\#10B981\]{
  --tw-gradient-to: #10B981 var(--tw-gradient-to-position);
}

.to-\[\#111124\]{
  --tw-gradient-to: #111124 var(--tw-gradient-to-position);
}

.to-\[\#131524\]\/80{
  --tw-gradient-to: rgb(19 21 36 / 0.8) var(--tw-gradient-to-position);
}

.to-\[\#16213E\]{
  --tw-gradient-to: #16213E var(--tw-gradient-to-position);
}

.to-\[\#181641d8\]{
  --tw-gradient-to: #181641d8 var(--tw-gradient-to-position);
}

.to-\[\#181641ee\]{
  --tw-gradient-to: #181641ee var(--tw-gradient-to-position);
}

.to-\[\#181641fc\]{
  --tw-gradient-to: #181641fc var(--tw-gradient-to-position);
}

.to-\[\#1A1F2E\]{
  --tw-gradient-to: #1A1F2E var(--tw-gradient-to-position);
}

.to-\[\#1EAEDB\]{
  --tw-gradient-to: #1EAEDB var(--tw-gradient-to-position);
}

.to-\[\#1a1d3a\]{
  --tw-gradient-to: #1a1d3a var(--tw-gradient-to-position);
}

.to-\[\#1a1f2c\]{
  --tw-gradient-to: #1a1f2c var(--tw-gradient-to-position);
}

.to-\[\#22c55e\]{
  --tw-gradient-to: #22c55e var(--tw-gradient-to-position);
}

.to-\[\#22d3ee\]{
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}

.to-\[\#333333\]{
  --tw-gradient-to: #333333 var(--tw-gradient-to-position);
}

.to-\[\#33c3f0\]{
  --tw-gradient-to: #33c3f0 var(--tw-gradient-to-position);
}

.to-\[\#33c3f0\]\/70{
  --tw-gradient-to: rgb(51 195 240 / 0.7) var(--tw-gradient-to-position);
}

.to-\[\#4361ee\]{
  --tw-gradient-to: #4361ee var(--tw-gradient-to-position);
}

.to-\[\#4361ee\]\/20{
  --tw-gradient-to: rgb(67 97 238 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#4B0082\]{
  --tw-gradient-to: #4B0082 var(--tw-gradient-to-position);
}

.to-\[\#7209b7\]{
  --tw-gradient-to: #7209b7 var(--tw-gradient-to-position);
}

.to-\[\#7209b7\]\/0{
  --tw-gradient-to: rgb(114 9 183 / 0) var(--tw-gradient-to-position);
}

.to-\[\#7209b7\]\/10{
  --tw-gradient-to: rgb(114 9 183 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#7209b7\]\/20{
  --tw-gradient-to: rgb(114 9 183 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#7B2BF9\]{
  --tw-gradient-to: #7B2BF9 var(--tw-gradient-to-position);
}

.to-\[\#7B2EFF\]{
  --tw-gradient-to: #7B2EFF var(--tw-gradient-to-position);
}

.to-\[\#7B2EFF\]\/10{
  --tw-gradient-to: rgb(123 46 255 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#7B2EFF\]\/20{
  --tw-gradient-to: rgb(123 46 255 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#7B5CFF\]{
  --tw-gradient-to: #7B5CFF var(--tw-gradient-to-position);
}

.to-\[\#7C3AED\]{
  --tw-gradient-to: #7C3AED var(--tw-gradient-to-position);
}

.to-\[\#7C3AED\]\/20{
  --tw-gradient-to: rgb(124 58 237 / 0.2) var(--tw-gradient-to-position);
}

.to-\[\#8b5cf6\]{
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}

.to-\[\#919191\]{
  --tw-gradient-to: #919191 var(--tw-gradient-to-position);
}

.to-\[\#9b87f5\]{
  --tw-gradient-to: #9b87f5 var(--tw-gradient-to-position);
}

.to-\[\#A855F7\]{
  --tw-gradient-to: #A855F7 var(--tw-gradient-to-position);
}

.to-\[\#D946EF\]{
  --tw-gradient-to: #D946EF var(--tw-gradient-to-position);
}

.to-\[\#DC2626\]{
  --tw-gradient-to: #DC2626 var(--tw-gradient-to-position);
}

.to-\[\#EF4444\]{
  --tw-gradient-to: #EF4444 var(--tw-gradient-to-position);
}

.to-\[\#F059FF\]{
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.to-\[\#F213A4\]{
  --tw-gradient-to: #F213A4 var(--tw-gradient-to-position);
}

.to-\[\#F97316\]{
  --tw-gradient-to: #F97316 var(--tw-gradient-to-position);
}

.to-\[\#FACC15\]{
  --tw-gradient-to: #FACC15 var(--tw-gradient-to-position);
}

.to-\[\#FBBF24\]{
  --tw-gradient-to: #FBBF24 var(--tw-gradient-to-position);
}

.to-\[\#FC1EFF\]{
  --tw-gradient-to: #FC1EFF var(--tw-gradient-to-position);
}

.to-\[\#FF00FF\]{
  --tw-gradient-to: #FF00FF var(--tw-gradient-to-position);
}

.to-\[\#FF1493\]{
  --tw-gradient-to: #FF1493 var(--tw-gradient-to-position);
}

.to-\[\#FF1493\]\/10{
  --tw-gradient-to: rgb(255 20 147 / 0.1) var(--tw-gradient-to-position);
}

.to-\[\#FF1493\]\/30{
  --tw-gradient-to: rgb(255 20 147 / 0.3) var(--tw-gradient-to-position);
}

.to-\[\#FF1493\]\/5{
  --tw-gradient-to: rgb(255 20 147 / 0.05) var(--tw-gradient-to-position);
}

.to-\[\#FF193C\]{
  --tw-gradient-to: #FF193C var(--tw-gradient-to-position);
}

.to-\[\#FF6B00\]{
  --tw-gradient-to: #FF6B00 var(--tw-gradient-to-position);
}

.to-\[\#FF6B1E\]{
  --tw-gradient-to: #FF6B1E var(--tw-gradient-to-position);
}

.to-\[\#FFA500\]{
  --tw-gradient-to: #FFA500 var(--tw-gradient-to-position);
}

.to-\[\#FFC107\]{
  --tw-gradient-to: #FFC107 var(--tw-gradient-to-position);
}

.to-\[\#FFD700\]{
  --tw-gradient-to: #FFD700 var(--tw-gradient-to-position);
}

.to-\[\#d946ef\]{
  --tw-gradient-to: #d946ef var(--tw-gradient-to-position);
}

.to-\[\#d946ef\]\/80{
  --tw-gradient-to: rgb(217 70 239 / 0.8) var(--tw-gradient-to-position);
}

.to-\[\#ec4899\]{
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}

.to-\[\#ef4444\]{
  --tw-gradient-to: #ef4444 var(--tw-gradient-to-position);
}

.to-\[\#f43f5e\]{
  --tw-gradient-to: #f43f5e var(--tw-gradient-to-position);
}

.to-\[hsl\(var\(--primary-glow\)\)\]{
  --tw-gradient-to: hsl(var(--primary-glow)) var(--tw-gradient-to-position);
}

.to-accent\/10{
  --tw-gradient-to: hsl(var(--accent) / 0.1) var(--tw-gradient-to-position);
}

.to-accent\/20{
  --tw-gradient-to: hsl(var(--accent) / 0.2) var(--tw-gradient-to-position);
}

.to-amber-500{
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}

.to-amber-600{
  --tw-gradient-to: #d97706 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-600\/20{
  --tw-gradient-to: rgb(217 119 6 / 0.2) var(--tw-gradient-to-position);
}

.to-amber-700{
  --tw-gradient-to: #b45309 var(--tw-gradient-to-position);
}

.to-amber-800{
  --tw-gradient-to: #92400e var(--tw-gradient-to-position);
}

.to-background{
  --tw-gradient-to: hsl(var(--background)) var(--tw-gradient-to-position);
}

.to-background\/50{
  --tw-gradient-to: hsl(var(--background) / 0.5) var(--tw-gradient-to-position);
}

.to-background\/80{
  --tw-gradient-to: hsl(var(--background) / 0.8) var(--tw-gradient-to-position);
}

.to-background\/90{
  --tw-gradient-to: hsl(var(--background) / 0.9) var(--tw-gradient-to-position);
}

.to-background\/95{
  --tw-gradient-to: hsl(var(--background) / 0.95) var(--tw-gradient-to-position);
}

.to-black{
  --tw-gradient-to: #000 var(--tw-gradient-to-position);
}

.to-black\/20{
  --tw-gradient-to: rgb(0 0 0 / 0.2) var(--tw-gradient-to-position);
}

.to-black\/50{
  --tw-gradient-to: rgb(0 0 0 / 0.5) var(--tw-gradient-to-position);
}

.to-black\/55{
  --tw-gradient-to: rgb(0 0 0 / 0.55) var(--tw-gradient-to-position);
}

.to-black\/60{
  --tw-gradient-to: rgb(0 0 0 / 0.6) var(--tw-gradient-to-position);
}

.to-black\/70{
  --tw-gradient-to: rgb(0 0 0 / 0.7) var(--tw-gradient-to-position);
}

.to-black\/80{
  --tw-gradient-to: rgb(0 0 0 / 0.8) var(--tw-gradient-to-position);
}

.to-black\/90{
  --tw-gradient-to: rgb(0 0 0 / 0.9) var(--tw-gradient-to-position);
}

.to-black\/95{
  --tw-gradient-to: rgb(0 0 0 / 0.95) var(--tw-gradient-to-position);
}

.to-blue-400{
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}

.to-blue-400\/30{
  --tw-gradient-to: rgb(96 165 250 / 0.3) var(--tw-gradient-to-position);
}

.to-blue-500{
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}

.to-blue-500\/10{
  --tw-gradient-to: rgb(59 130 246 / 0.1) 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-500\/30{
  --tw-gradient-to: rgb(59 130 246 / 0.3) var(--tw-gradient-to-position);
}

.to-blue-500\/35{
  --tw-gradient-to: rgb(59 130 246 / 0.35) var(--tw-gradient-to-position);
}

.to-blue-600{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}

.to-blue-600\/20{
  --tw-gradient-to: rgb(37 99 235 / 0.2) var(--tw-gradient-to-position);
}

.to-blue-700{
  --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}

.to-blue-700\/80{
  --tw-gradient-to: rgb(29 78 216 / 0.8) var(--tw-gradient-to-position);
}

.to-blue-900\/20{
  --tw-gradient-to: rgb(30 58 138 / 0.2) var(--tw-gradient-to-position);
}

.to-blue-900\/30{
  --tw-gradient-to: rgb(30 58 138 / 0.3) var(--tw-gradient-to-position);
}

.to-blue-900\/90{
  --tw-gradient-to: rgb(30 58 138 / 0.9) var(--tw-gradient-to-position);
}

.to-blue-950\/20{
  --tw-gradient-to: rgb(23 37 84 / 0.2) var(--tw-gradient-to-position);
}

.to-cyan-400{
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}

.to-cyan-400\/10{
  --tw-gradient-to: rgb(34 211 238 / 0.1) var(--tw-gradient-to-position);
}

.to-cyan-500{
  --tw-gradient-to: #06b6d4 var(--tw-gradient-to-position);
}

.to-cyan-500\/0{
  --tw-gradient-to: rgb(6 182 212 / 0) 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\/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\/5{
  --tw-gradient-to: rgb(6 182 212 / 0.05) var(--tw-gradient-to-position);
}

.to-cyan-600{
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}

.to-cyan-600\/30{
  --tw-gradient-to: rgb(8 145 178 / 0.3) var(--tw-gradient-to-position);
}

.to-cyan-700\/40{
  --tw-gradient-to: rgb(14 116 144 / 0.4) var(--tw-gradient-to-position);
}

.to-cyan-700\/60{
  --tw-gradient-to: rgb(14 116 144 / 0.6) var(--tw-gradient-to-position);
}

.to-cyan-800{
  --tw-gradient-to: #155e75 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\/30{
  --tw-gradient-to: rgb(22 78 99 / 0.3) var(--tw-gradient-to-position);
}

.to-cyan-900\/40{
  --tw-gradient-to: rgb(22 78 99 / 0.4) var(--tw-gradient-to-position);
}

.to-cyan-900\/50{
  --tw-gradient-to: rgb(22 78 99 / 0.5) var(--tw-gradient-to-position);
}

.to-cyan-900\/60{
  --tw-gradient-to: rgb(22 78 99 / 0.6) var(--tw-gradient-to-position);
}

.to-cyan-900\/80{
  --tw-gradient-to: rgb(22 78 99 / 0.8) var(--tw-gradient-to-position);
}

.to-cyan-950\/80{
  --tw-gradient-to: rgb(8 51 68 / 0.8) var(--tw-gradient-to-position);
}

.to-cyan-950\/90{
  --tw-gradient-to: rgb(8 51 68 / 0.9) 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\/10{
  --tw-gradient-to: rgb(16 185 129 / 0.1) 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-500\/30{
  --tw-gradient-to: rgb(16 185 129 / 0.3) var(--tw-gradient-to-position);
}

.to-emerald-600{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}

.to-emerald-900\/20{
  --tw-gradient-to: rgb(6 78 59 / 0.2) var(--tw-gradient-to-position);
}

.to-fuchsia-400{
  --tw-gradient-to: #e879f9 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{
  --tw-gradient-to: #701a75 var(--tw-gradient-to-position);
}

.to-gray-300{
  --tw-gradient-to: #d1d5db var(--tw-gradient-to-position);
}

.to-gray-500{
  --tw-gradient-to: #6b7280 var(--tw-gradient-to-position);
}

.to-gray-600{
  --tw-gradient-to: #4b5563 var(--tw-gradient-to-position);
}

.to-gray-600\/20{
  --tw-gradient-to: rgb(75 85 99 / 0.2) var(--tw-gradient-to-position);
}

.to-gray-700{
  --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}

.to-gray-700\/30{
  --tw-gradient-to: rgb(55 65 81 / 0.3) var(--tw-gradient-to-position);
}

.to-gray-700\/50{
  --tw-gradient-to: rgb(55 65 81 / 0.5) var(--tw-gradient-to-position);
}

.to-gray-800{
  --tw-gradient-to: #1f2937 var(--tw-gradient-to-position);
}

.to-gray-800\/40{
  --tw-gradient-to: rgb(31 41 55 / 0.4) var(--tw-gradient-to-position);
}

.to-gray-800\/90{
  --tw-gradient-to: rgb(31 41 55 / 0.9) var(--tw-gradient-to-position);
}

.to-gray-900{
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}

.to-gray-900\/50{
  --tw-gradient-to: rgb(17 24 39 / 0.5) var(--tw-gradient-to-position);
}

.to-gray-950{
  --tw-gradient-to: #030712 var(--tw-gradient-to-position);
}

.to-green-400{
  --tw-gradient-to: #4ade80 var(--tw-gradient-to-position);
}

.to-green-500\/5{
  --tw-gradient-to: rgb(34 197 94 / 0.05) var(--tw-gradient-to-position);
}

.to-green-600{
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}

.to-green-800{
  --tw-gradient-to: #166534 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-lime-400{
  --tw-gradient-to: #a3e635 var(--tw-gradient-to-position);
}

.to-m1ssion-blue{
  --tw-gradient-to: #00D1FF var(--tw-gradient-to-position);
}

.to-m1ssion-pink{
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.to-m1ssion-pink\/20{
  --tw-gradient-to: rgb(240 89 255 / 0.2) var(--tw-gradient-to-position);
}

.to-m1ssion-purple{
  --tw-gradient-to: #7B2EFF var(--tw-gradient-to-position);
}

.to-muted\/20{
  --tw-gradient-to: hsl(var(--muted) / 0.2) var(--tw-gradient-to-position);
}

.to-orange-400{
  --tw-gradient-to: #fb923c 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\/20{
  --tw-gradient-to: rgb(249 115 22 / 0.2) var(--tw-gradient-to-position);
}

.to-orange-500\/30{
  --tw-gradient-to: rgb(249 115 22 / 0.3) var(--tw-gradient-to-position);
}

.to-orange-600{
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}

.to-orange-600\/40{
  --tw-gradient-to: rgb(234 88 12 / 0.4) var(--tw-gradient-to-position);
}

.to-orange-900\/80{
  --tw-gradient-to: rgb(124 45 18 / 0.8) var(--tw-gradient-to-position);
}

.to-orange-950\/50{
  --tw-gradient-to: rgb(67 20 7 / 0.5) var(--tw-gradient-to-position);
}

.to-pink-400{
  --tw-gradient-to: #f472b6 var(--tw-gradient-to-position);
}

.to-pink-400\/40{
  --tw-gradient-to: rgb(244 114 182 / 0.4) 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\/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\/40{
  --tw-gradient-to: rgb(236 72 153 / 0.4) var(--tw-gradient-to-position);
}

.to-pink-600{
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}

.to-pink-600\/20{
  --tw-gradient-to: rgb(219 39 119 / 0.2) var(--tw-gradient-to-position);
}

.to-pink-600\/30{
  --tw-gradient-to: rgb(219 39 119 / 0.3) var(--tw-gradient-to-position);
}

.to-pink-900\/20{
  --tw-gradient-to: rgb(131 24 67 / 0.2) var(--tw-gradient-to-position);
}

.to-pink-900\/30{
  --tw-gradient-to: rgb(131 24 67 / 0.3) var(--tw-gradient-to-position);
}

.to-primary{
  --tw-gradient-to: hsl(var(--primary)) var(--tw-gradient-to-position);
}

.to-primary-foreground{
  --tw-gradient-to: hsl(var(--primary-foreground)) var(--tw-gradient-to-position);
}

.to-primary\/10{
  --tw-gradient-to: hsl(var(--primary) / 0.1) var(--tw-gradient-to-position);
}

.to-primary\/20{
  --tw-gradient-to: hsl(var(--primary) / 0.2) var(--tw-gradient-to-position);
}

.to-primary\/5{
  --tw-gradient-to: hsl(var(--primary) / 0.05) var(--tw-gradient-to-position);
}

.to-primary\/60{
  --tw-gradient-to: hsl(var(--primary) / 0.6) var(--tw-gradient-to-position);
}

.to-primary\/70{
  --tw-gradient-to: hsl(var(--primary) / 0.7) var(--tw-gradient-to-position);
}

.to-primary\/80{
  --tw-gradient-to: hsl(var(--primary) / 0.8) 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\/30{
  --tw-gradient-to: rgb(168 85 247 / 0.3) 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\/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\/30{
  --tw-gradient-to: rgb(126 34 206 / 0.3) var(--tw-gradient-to-position);
}

.to-purple-700\/40{
  --tw-gradient-to: rgb(126 34 206 / 0.4) var(--tw-gradient-to-position);
}

.to-purple-700\/60{
  --tw-gradient-to: rgb(126 34 206 / 0.6) var(--tw-gradient-to-position);
}

.to-purple-900{
  --tw-gradient-to: #581c87 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-purple-900\/80{
  --tw-gradient-to: rgb(88 28 135 / 0.8) var(--tw-gradient-to-position);
}

.to-purple-950\/30{
  --tw-gradient-to: rgb(59 7 100 / 0.3) var(--tw-gradient-to-position);
}

.to-purple-950\/50{
  --tw-gradient-to: rgb(59 7 100 / 0.5) var(--tw-gradient-to-position);
}

.to-red-400{
  --tw-gradient-to: #f87171 var(--tw-gradient-to-position);
}

.to-red-500{
  --tw-gradient-to: #ef4444 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\/20{
  --tw-gradient-to: rgb(239 68 68 / 0.2) 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-500\/5{
  --tw-gradient-to: rgb(239 68 68 / 0.05) var(--tw-gradient-to-position);
}

.to-red-600{
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}

.to-red-600\/30{
  --tw-gradient-to: rgb(220 38 38 / 0.3) var(--tw-gradient-to-position);
}

.to-red-700{
  --tw-gradient-to: #b91c1c var(--tw-gradient-to-position);
}

.to-red-900\/20{
  --tw-gradient-to: rgb(127 29 29 / 0.2) var(--tw-gradient-to-position);
}

.to-slate-400{
  --tw-gradient-to: #94a3b8 var(--tw-gradient-to-position);
}

.to-slate-500{
  --tw-gradient-to: #64748b var(--tw-gradient-to-position);
}

.to-slate-600{
  --tw-gradient-to: #475569 var(--tw-gradient-to-position);
}

.to-slate-800{
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}

.to-slate-800\/95{
  --tw-gradient-to: rgb(30 41 59 / 0.95) var(--tw-gradient-to-position);
}

.to-slate-900{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}

.to-slate-900\/50{
  --tw-gradient-to: rgb(15 23 42 / 0.5) var(--tw-gradient-to-position);
}

.to-slate-900\/95{
  --tw-gradient-to: rgb(15 23 42 / 0.95) var(--tw-gradient-to-position);
}

.to-slate-950{
  --tw-gradient-to: #020617 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-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-600{
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}

.to-white\/80{
  --tw-gradient-to: rgb(255 255 255 / 0.8) var(--tw-gradient-to-position);
}

.to-yellow-400{
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}

.to-yellow-400\/0{
  --tw-gradient-to: rgb(250 204 21 / 0) var(--tw-gradient-to-position);
}

.to-yellow-400\/10{
  --tw-gradient-to: rgb(250 204 21 / 0.1) 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);
}

.to-yellow-500\/5{
  --tw-gradient-to: rgb(234 179 8 / 0.05) var(--tw-gradient-to-position);
}

.to-yellow-600{
  --tw-gradient-to: #ca8a04 var(--tw-gradient-to-position);
}

.to-yellow-600\/10{
  --tw-gradient-to: rgb(202 138 4 / 0.1) var(--tw-gradient-to-position);
}

.to-yellow-800\/30{
  --tw-gradient-to: rgb(133 77 14 / 0.3) var(--tw-gradient-to-position);
}

.to-yellow-900\/20{
  --tw-gradient-to: rgb(113 63 18 / 0.2) var(--tw-gradient-to-position);
}

.to-yellow-900\/30{
  --tw-gradient-to: rgb(113 63 18 / 0.3) var(--tw-gradient-to-position);
}

.bg-\[length\:200\%_100\%\]{
  background-size: 200% 100%;
}

.bg-cover{
  background-size: cover;
}

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

.bg-center{
  background-position: center;
}

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

.fill-current{
  fill: currentColor;
}

.fill-white{
  fill: #fff;
}

.fill-yellow-400{
  fill: #facc15;
}

.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}

.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}

.object-center{
  -o-object-position: center;
     object-position: center;
}

.object-top{
  -o-object-position: top;
     object-position: top;
}

.p-0{
  padding: 0px;
}

.p-0\.5{
  padding: 0.125rem;
}

.p-1{
  padding: 0.25rem;
}

.p-1\.5{
  padding: 0.375rem;
}

.p-10{
  padding: 2.5rem;
}

.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-\[1\.5px\]{
  padding: 1.5px;
}

.p-\[1px\]{
  padding: 1px;
}

.p-\[3px\]{
  padding: 3px;
}

.px-0{
  padding-left: 0px;
  padding-right: 0px;
}

.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-10{
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

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

.px-14{
  padding-left: 3.5rem;
  padding-right: 3.5rem;
}

.px-16{
  padding-left: 4rem;
  padding-right: 4rem;
}

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

.py-0{
  padding-top: 0px;
  padding-bottom: 0px;
}

.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-24{
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.py-3{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-3\.5{
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}

.py-32{
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.py-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.py-40{
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.py-7{
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.pb-0\.5{
  padding-bottom: 0.125rem;
}

.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-20{
  padding-bottom: 5rem;
}

.pb-24{
  padding-bottom: 6rem;
}

.pb-3{
  padding-bottom: 0.75rem;
}

.pb-32{
  padding-bottom: 8rem;
}

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

.pb-5{
  padding-bottom: 1.25rem;
}

.pb-6{
  padding-bottom: 1.5rem;
}

.pb-8{
  padding-bottom: 2rem;
}

.pl-10{
  padding-left: 2.5rem;
}

.pl-2{
  padding-left: 0.5rem;
}

.pl-2\.5{
  padding-left: 0.625rem;
}

.pl-3{
  padding-left: 0.75rem;
}

.pl-4{
  padding-left: 1rem;
}

.pl-5{
  padding-left: 1.25rem;
}

.pl-8{
  padding-left: 2rem;
}

.pl-9{
  padding-left: 2.25rem;
}

.pr-1{
  padding-right: 0.25rem;
}

.pr-10{
  padding-right: 2.5rem;
}

.pr-12{
  padding-right: 3rem;
}

.pr-2{
  padding-right: 0.5rem;
}

.pr-2\.5{
  padding-right: 0.625rem;
}

.pr-20{
  padding-right: 5rem;
}

.pr-4{
  padding-right: 1rem;
}

.pr-8{
  padding-right: 2rem;
}

.pt-0{
  padding-top: 0px;
}

.pt-1{
  padding-top: 0.25rem;
}

.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-4{
  padding-top: 1rem;
}

.pt-6{
  padding-top: 1.5rem;
}

.pt-8{
  padding-top: 2rem;
}

.pt-9{
  padding-top: 2.25rem;
}

.pt-\[72px\]{
  padding-top: 72px;
}

.text-left{
  text-align: left;
}

.text-center{
  text-align: center;
}

.text-right{
  text-align: right;
}

.align-top{
  vertical-align: top;
}

.align-middle{
  vertical-align: middle;
}

.font-mission{
  font-family: Audiowide, Exo 2, Orbitron, sans-serif;
}

.font-mono{
  font-family: VT323, monospace;
}

.font-orbitron{
  font-family: Orbitron, sans-serif;
}

.font-sans{
  font-family: Inter, sans-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-7xl{
  font-size: 4.5rem;
  line-height: 1;
}

.text-8xl{
  font-size: 6rem;
  line-height: 1;
}

.text-9xl{
  font-size: 8rem;
  line-height: 1;
}

.text-\[0\.6rem\]{
  font-size: 0.6rem;
}

.text-\[0\.8rem\]{
  font-size: 0.8rem;
}

.text-\[1\.3em\]{
  font-size: 1.3em;
}

.text-\[1\.6em\]{
  font-size: 1.6em;
}

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

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

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

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

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

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

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

.text-\[6\.5px\]{
  font-size: 6.5px;
}

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

.text-\[7\.5px\]{
  font-size: 7.5px;
}

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

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

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

.text-\[min\(22vw\2c 96px\)\]{
  font-size: min(22vw, 96px);
}

.text-\[min\(28vw\2c 120px\)\]{
  font-size: min(28vw, 120px);
}

.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\.9\]{
  line-height: 0.9;
}

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

.leading-relaxed{
  line-height: 1.625;
}

.leading-snug{
  line-height: 1.375;
}

.leading-tight{
  line-height: 1.25;
}

.tracking-\[0\.04em\]{
  letter-spacing: 0.04em;
}

.tracking-\[0\.05em\]{
  letter-spacing: 0.05em;
}

.tracking-\[0\.12em\]{
  letter-spacing: 0.12em;
}

.tracking-\[0\.14em\]{
  letter-spacing: 0.14em;
}

.tracking-\[0\.15em\]{
  letter-spacing: 0.15em;
}

.tracking-\[0\.28em\]{
  letter-spacing: 0.28em;
}

.tracking-\[0\.2em\]{
  letter-spacing: 0.2em;
}

.tracking-\[0\.35em\]{
  letter-spacing: 0.35em;
}

.tracking-\[0\.3em\]{
  letter-spacing: 0.3em;
}

.tracking-\[0\.5em\]{
  letter-spacing: 0.5em;
}

.tracking-tight{
  letter-spacing: -0.025em;
}

.tracking-wide{
  letter-spacing: 0.025em;
}

.tracking-wider{
  letter-spacing: 0.05em;
}

.tracking-widest{
  letter-spacing: 0.1em;
}

.\!text-\[\#0d0d0d\]{
  --tw-text-opacity: 1 !important;
  color: rgb(13 13 13 / var(--tw-text-opacity, 1)) !important;
}

.text-\[\#0077B5\]{
  --tw-text-opacity: 1;
  color: rgb(0 119 181 / var(--tw-text-opacity, 1));
}

.text-\[\#00BFFF\]{
  --tw-text-opacity: 1;
  color: rgb(0 191 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00D1FF\]{
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00D1FF\]\/40{
  color: rgb(0 209 255 / 0.4);
}

.text-\[\#00D1FF\]\/50{
  color: rgb(0 209 255 / 0.5);
}

.text-\[\#00D1FF\]\/60{
  color: rgb(0 209 255 / 0.6);
}

.text-\[\#00D1FF\]\/70{
  color: rgb(0 209 255 / 0.7);
}

.text-\[\#00E5FF\]{
  --tw-text-opacity: 1;
  color: rgb(0 229 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00E5FF\]\/60{
  color: rgb(0 229 255 / 0.6);
}

.text-\[\#00F7FF\]{
  --tw-text-opacity: 1;
  color: rgb(0 247 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00FF88\]{
  --tw-text-opacity: 1;
  color: rgb(0 255 136 / var(--tw-text-opacity, 1));
}

.text-\[\#00FFFF\]{
  --tw-text-opacity: 1;
  color: rgb(0 255 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00f0ff\]{
  --tw-text-opacity: 1;
  color: rgb(0 240 255 / var(--tw-text-opacity, 1));
}

.text-\[\#00ffff\]{
  --tw-text-opacity: 1;
  color: rgb(0 255 255 / var(--tw-text-opacity, 1));
}

.text-\[\#0a0b0f\]{
  --tw-text-opacity: 1;
  color: rgb(10 11 15 / var(--tw-text-opacity, 1));
}

.text-\[\#0d0d0d\]{
  --tw-text-opacity: 1;
  color: rgb(13 13 13 / var(--tw-text-opacity, 1));
}

.text-\[\#25D366\]{
  --tw-text-opacity: 1;
  color: rgb(37 211 102 / var(--tw-text-opacity, 1));
}

.text-\[\#39FF14\]{
  --tw-text-opacity: 1;
  color: rgb(57 255 20 / var(--tw-text-opacity, 1));
}

.text-\[\#3b5998\]{
  --tw-text-opacity: 1;
  color: rgb(59 89 152 / var(--tw-text-opacity, 1));
}

.text-\[\#4361ee\]{
  --tw-text-opacity: 1;
  color: rgb(67 97 238 / var(--tw-text-opacity, 1));
}

.text-\[\#7209b7\]{
  --tw-text-opacity: 1;
  color: rgb(114 9 183 / var(--tw-text-opacity, 1));
}

.text-\[\#7B2EFF\]{
  --tw-text-opacity: 1;
  color: rgb(123 46 255 / var(--tw-text-opacity, 1));
}

.text-\[\#9b87f5\]{
  --tw-text-opacity: 1;
  color: rgb(155 135 245 / var(--tw-text-opacity, 1));
}

.text-\[\#9e8ade\]{
  --tw-text-opacity: 1;
  color: rgb(158 138 222 / var(--tw-text-opacity, 1));
}

.text-\[\#E1306C\]{
  --tw-text-opacity: 1;
  color: rgb(225 48 108 / var(--tw-text-opacity, 1));
}

.text-\[\#F059FF\]{
  --tw-text-opacity: 1;
  color: rgb(240 89 255 / var(--tw-text-opacity, 1));
}

.text-\[\#F59E0B\]{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-\[\#FF0000\]{
  --tw-text-opacity: 1;
  color: rgb(255 0 0 / var(--tw-text-opacity, 1));
}

.text-\[\#FF00FF\]{
  --tw-text-opacity: 1;
  color: rgb(255 0 255 / var(--tw-text-opacity, 1));
}

.text-\[\#FF1493\]{
  --tw-text-opacity: 1;
  color: rgb(255 20 147 / var(--tw-text-opacity, 1));
}

.text-\[\#FF6B35\]{
  --tw-text-opacity: 1;
  color: rgb(255 107 53 / var(--tw-text-opacity, 1));
}

.text-\[\#FFC107\]{
  --tw-text-opacity: 1;
  color: rgb(255 193 7 / var(--tw-text-opacity, 1));
}

.text-\[\#FFD700\]{
  --tw-text-opacity: 1;
  color: rgb(255 215 0 / var(--tw-text-opacity, 1));
}

.text-\[\#c0caff\]{
  --tw-text-opacity: 1;
  color: rgb(192 202 255 / var(--tw-text-opacity, 1));
}

.text-\[\#d946ef\]{
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / var(--tw-text-opacity, 1));
}

.text-\[\#eceff1\]{
  --tw-text-opacity: 1;
  color: rgb(236 239 241 / var(--tw-text-opacity, 1));
}

.text-\[\#eceff1\]\/45{
  color: rgb(236 239 241 / 0.45);
}

.text-\[\#eceff1\]\/50{
  color: rgb(236 239 241 / 0.5);
}

.text-\[\#eceff1\]\/55{
  color: rgb(236 239 241 / 0.55);
}

.text-\[\#eceff1\]\/65{
  color: rgb(236 239 241 / 0.65);
}

.text-\[\#eceff1\]\/70{
  color: rgb(236 239 241 / 0.7);
}

.text-\[\#eceff1\]\/75{
  color: rgb(236 239 241 / 0.75);
}

.text-\[\#eceff1\]\/80{
  color: rgb(236 239 241 / 0.8);
}

.text-\[\#eceff1\]\/85{
  color: rgb(236 239 241 / 0.85);
}

.text-\[\#eceff1\]\/90{
  color: rgb(236 239 241 / 0.9);
}

.text-\[\#eceff1\]\/95{
  color: rgb(236 239 241 / 0.95);
}

.text-\[\#f87171\]{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.text-\[\#f8fafc\]{
  --tw-text-opacity: 1;
  color: rgb(248 250 252 / var(--tw-text-opacity, 1));
}

.text-\[\#fca5a5\]{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.text-\[\#fecaca\]\/95{
  color: rgb(254 202 202 / 0.95);
}

.text-\[\#ff00e0\]{
  --tw-text-opacity: 1;
  color: rgb(255 0 224 / var(--tw-text-opacity, 1));
}

.text-\[hsl\(var\(--foreground\)\)\]{
  color: hsl(var(--foreground));
}

.text-\[hsl\(var\(--muted-foreground\)\)\]{
  color: hsl(var(--muted-foreground));
}

.text-\[rgba\(0\2c 209\2c 255\2c 0\.9\)\]{
  color: rgba(0,209,255,0.9);
}

.text-accent{
  color: hsl(var(--accent));
}

.text-accent-foreground{
  color: hsl(var(--accent-foreground));
}

.text-amber-100{
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}

.text-amber-200{
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.text-amber-200\/80{
  color: rgb(253 230 138 / 0.8);
}

.text-amber-200\/85{
  color: rgb(253 230 138 / 0.85);
}

.text-amber-200\/90{
  color: rgb(253 230 138 / 0.9);
}

.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\/30{
  color: rgb(251 191 36 / 0.3);
}

.text-amber-400\/40{
  color: rgb(251 191 36 / 0.4);
}

.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}

.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}

.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}

.text-auroraCyan{
  --tw-text-opacity: 1;
  color: rgb(0 229 255 / var(--tw-text-opacity, 1));
}

.text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.text-black\/40{
  color: rgb(0 0 0 / 0.4);
}

.text-black\/60{
  color: rgb(0 0 0 / 0.6);
}

.text-blue-100{
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}

.text-blue-200{
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / var(--tw-text-opacity, 1));
}

.text-blue-200\/80{
  color: rgb(191 219 254 / 0.8);
}

.text-blue-300{
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.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-800{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / 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-200\/50{
  color: rgb(165 243 252 / 0.5);
}

.text-cyan-200\/95{
  color: rgb(165 243 252 / 0.95);
}

.text-cyan-300{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.text-cyan-300\/50{
  color: rgb(103 232 249 / 0.5);
}

.text-cyan-300\/60{
  color: rgb(103 232 249 / 0.6);
}

.text-cyan-300\/70{
  color: rgb(103 232 249 / 0.7);
}

.text-cyan-300\/80{
  color: rgb(103 232 249 / 0.8);
}

.text-cyan-300\/90{
  color: rgb(103 232 249 / 0.9);
}

.text-cyan-400{
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}

.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-400\/90{
  color: rgb(34 211 238 / 0.9);
}

.text-cyan-500{
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}

.text-cyan-500\/40{
  color: rgb(6 182 212 / 0.4);
}

.text-cyan-500\/50{
  color: rgb(6 182 212 / 0.5);
}

.text-destructive{
  color: hsl(var(--destructive));
}

.text-destructive-foreground{
  color: hsl(var(--destructive-foreground));
}

.text-emerald-100{
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}

.text-emerald-200\/95{
  color: rgb(167 243 208 / 0.95);
}

.text-emerald-300{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.text-emerald-400{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.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-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}

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

.text-foreground\/50{
  color: hsl(var(--foreground) / 0.5);
}

.text-foreground\/80{
  color: hsl(var(--foreground) / 0.8);
}

.text-fuchsia-100{
  --tw-text-opacity: 1;
  color: rgb(250 232 255 / var(--tw-text-opacity, 1));
}

.text-fuchsia-400{
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / var(--tw-text-opacity, 1));
}

.text-gray-200{
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.text-gray-300{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}

.text-gray-400{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}

.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}

.text-gray-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-100{
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / var(--tw-text-opacity, 1));
}

.text-green-200{
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}

.text-green-200\/80{
  color: rgb(187 247 208 / 0.8);
}

.text-green-200\/90{
  color: rgb(187 247 208 / 0.9);
}

.text-green-300{
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.text-green-300\/70{
  color: rgb(134 239 172 / 0.7);
}

.text-green-400{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.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-green-600{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

.text-green-700{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}

.text-green-800{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}

.text-m1ssion-blue{
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
}

.text-m1ssion-pink{
  --tw-text-opacity: 1;
  color: rgb(240 89 255 / var(--tw-text-opacity, 1));
}

.text-magenta-400{
  --tw-text-opacity: 1;
  color: rgb(255 0 255 / var(--tw-text-opacity, 1));
}

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

.text-muted-foreground\/30{
  color: hsl(var(--muted-foreground) / 0.3);
}

.text-muted-foreground\/40{
  color: hsl(var(--muted-foreground) / 0.4);
}

.text-muted-foreground\/60{
  color: hsl(var(--muted-foreground) / 0.6);
}

.text-muted-foreground\/70{
  color: hsl(var(--muted-foreground) / 0.7);
}

.text-muted-foreground\/80{
  color: hsl(var(--muted-foreground) / 0.8);
}

.text-orange-300{
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}

.text-orange-400{
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.text-orange-400\/60{
  color: rgb(251 146 60 / 0.6);
}

.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-orange-700{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}

.text-orange-800{
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}

.text-pink-200{
  --tw-text-opacity: 1;
  color: rgb(251 207 232 / var(--tw-text-opacity, 1));
}

.text-pink-400{
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}

.text-pink-500{
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}

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

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

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

.text-primary\/60{
  color: hsl(var(--primary) / 0.6);
}

.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\/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\/70{
  color: rgb(192 132 252 / 0.7);
}

.text-purple-500{
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}

.text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}

.text-purple-800{
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}

.text-red-100{
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}

.text-red-200{
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.text-red-200\/80{
  color: rgb(254 202 202 / 0.8);
}

.text-red-200\/95{
  color: rgb(254 202 202 / 0.95);
}

.text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.text-red-300\/70{
  color: rgb(252 165 165 / 0.7);
}

.text-red-300\/80{
  color: rgb(252 165 165 / 0.8);
}

.text-red-300\/90{
  color: rgb(252 165 165 / 0.9);
}

.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.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\/30{
  color: rgb(239 68 68 / 0.3);
}

.text-red-500\/40{
  color: rgb(239 68 68 / 0.4);
}

.text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}

.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}

.text-rose-200\/90{
  color: rgb(254 205 211 / 0.9);
}

.text-rose-300{
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}

.text-secondary{
  color: hsl(var(--secondary));
}

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

.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-transparent{
  color: transparent;
}

.text-violet-100{
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / var(--tw-text-opacity, 1));
}

.text-violet-400{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}

.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.text-white\/20{
  color: 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\/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-white\/95{
  color: rgb(255 255 255 / 0.95);
}

.text-yellow-100{
  --tw-text-opacity: 1;
  color: rgb(254 249 195 / var(--tw-text-opacity, 1));
}

.text-yellow-200{
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}

.text-yellow-200\/70{
  color: rgb(254 240 138 / 0.7);
}

.text-yellow-300{
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}

.text-yellow-300\/80{
  color: rgb(253 224 71 / 0.8);
}

.text-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.text-yellow-400\/60{
  color: rgb(250 204 21 / 0.6);
}

.text-yellow-400\/70{
  color: rgb(250 204 21 / 0.7);
}

.text-yellow-400\/80{
  color: rgb(250 204 21 / 0.8);
}

.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}

.text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}

.text-yellow-800{
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}

.text-zinc-100{
  --tw-text-opacity: 1;
  color: rgb(244 244 245 / var(--tw-text-opacity, 1));
}

.text-zinc-300{
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}

.text-zinc-400{
  --tw-text-opacity: 1;
  color: rgb(161 161 170 / var(--tw-text-opacity, 1));
}

.text-zinc-500{
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}

.underline{
  text-decoration-line: underline;
}

.line-through{
  text-decoration-line: line-through;
}

.decoration-cyan-400{
  text-decoration-color: #22d3ee;
}

.decoration-2{
  text-decoration-thickness: 2px;
}

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

.antialiased{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.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-white\/40::-moz-placeholder{
  color: rgb(255 255 255 / 0.4);
}

.placeholder-white\/40::placeholder{
  color: rgb(255 255 255 / 0.4);
}

.caret-white{
  caret-color: #fff;
}

.\!opacity-100{
  opacity: 1 !important;
}

.opacity-0{
  opacity: 0;
}

.opacity-10{
  opacity: 0.1;
}

.opacity-100{
  opacity: 1;
}

.opacity-20{
  opacity: 0.2;
}

.opacity-25{
  opacity: 0.25;
}

.opacity-30{
  opacity: 0.3;
}

.opacity-40{
  opacity: 0.4;
}

.opacity-5{
  opacity: 0.05;
}

.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-95{
  opacity: 0.95;
}

.opacity-\[0\.02\]{
  opacity: 0.02;
}

.opacity-\[0\.03\]{
  opacity: 0.03;
}

.opacity-\[0\.05\]{
  opacity: 0.05;
}

.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_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));
  --tw-shadow-colored: 0 0 0 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-\[0_0_10px_rgba\(0\2c 209\2c 255\2c 0\.2\)\]{
  --tw-shadow: 0 0 10px rgba(0,209,255,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\(0\2c 209\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 0 10px rgba(0,209,255,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\(217\2c 70\2c 239\2c 0\.5\)\]{
  --tw-shadow: 0 0 10px rgba(217,70,239,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_12px_rgba\(255\2c 255\2c 255\2c 0\.1\)\]{
  --tw-shadow: 0 0 12px rgba(255,255,255,0.1);
  --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_rgba\(0\2c 209\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 0 15px rgba(0,209,255,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\(0\2c 209\2c 255\2c 0\.5\)\]{
  --tw-shadow: 0 0 15px rgba(0,209,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\(0\2c 229\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 0 15px rgba(0,229,255,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\(0\2c 229\2c 255\2c 0\.4\)\]{
  --tw-shadow: 0 0 15px rgba(0,229,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 229\2c 255\2c 0\.7\)\]{
  --tw-shadow: 0 0 15px rgba(0,229,255,0.7);
  --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\(168\2c 85\2c 247\2c 0\.3\)\]{
  --tw-shadow: 0 0 15px rgba(168,85,247,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\(240\2c 89\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 0 15px rgba(240,89,255,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\(34\2c 197\2c 94\2c 0\.4\)\]{
  --tw-shadow: 0 0 15px rgba(34,197,94,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\(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_16px_rgba\(255\2c 215\2c 0\2c 0\.8\)\]{
  --tw-shadow: 0 0 16px rgba(255,215,0,0.8);
  --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_20px_rgba\(0\2c 209\2c 255\2c 0\.15\)\]{
  --tw-shadow: 0 0 20px rgba(0,209,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 209\2c 255\2c 0\.2\)\]{
  --tw-shadow: 0 0 20px rgba(0,209,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\(0\2c 209\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 0 20px rgba(0,209,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\(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\(168\2c 85\2c 247\2c 0\.5\)\]{
  --tw-shadow: 0 0 20px rgba(168,85,247,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\(239\2c 68\2c 68\2c 0\.5\)\]{
  --tw-shadow: 0 0 20px rgba(239,68,68,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\(240\2c 89\2c 255\2c 0\.15\)\]{
  --tw-shadow: 0 0 20px rgba(240,89,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\(52\2c 211\2c 153\2c 0\.4\)\]{
  --tw-shadow: 0 0 20px rgba(52,211,153,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\(59\2c 130\2c 246\2c 0\.4\)\]{
  --tw-shadow: 0 0 20px rgba(59,130,246,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_3px_\#00a3ff88\2c 0_1px_7px_\#9b87f577\]{
  --tw-shadow: 0 0 24px 3px #00a3ff88,0 1px 7px #9b87f577;
  --tw-shadow-colored: 0 0 24px 3px var(--tw-shadow-color), 0 1px 7px var(--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\(236\2c 72\2c 153\2c 0\.5\)\]{
  --tw-shadow: 0 0 25px rgba(236,72,153,0.5);
  --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\(250\2c 204\2c 21\2c 0\.5\)\]{
  --tw-shadow: 0 0 25px rgba(250,204,21,0.5);
  --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_28px_\#00a3ff88\2c 0_1px_8px_0_\#9b87f588\]{
  --tw-shadow: 0 0 28px #00a3ff88,0 1px 8px 0 #9b87f588;
  --tw-shadow-colored: 0 0 28px var(--tw-shadow-color), 0 1px 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-\[0_0_30px_rgba\(0\2c 209\2c 255\2c 0\.2\)\]{
  --tw-shadow: 0 0 30px rgba(0,209,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 209\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 0 30px rgba(0,209,255,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\(124\2c 58\2c 237\2c 0\.35\)\]{
  --tw-shadow: 0 0 30px rgba(124,58,237,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\(168\2c 85\2c 247\2c 0\.4\)\]{
  --tw-shadow: 0 0 30px rgba(168,85,247,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\(245\2c 158\2c 11\2c 0\.4\)\]{
  --tw-shadow: 0 0 30px rgba(245,158,11,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\(255\2c 255\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 0 30px rgba(255,255,255,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_32px_2px_\#00a3ff99\]{
  --tw-shadow: 0 0 32px 2px #00a3ff99;
  --tw-shadow-colored: 0 0 32px 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-\[0_0_40px_rgba\(0\2c 229\2c 255\2c 0\.15\)\]{
  --tw-shadow: 0 0 40px rgba(0,229,255,0.15);
  --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 231\2c 255\2c 0\.25\)\]{
  --tw-shadow: 0 0 40px rgba(0,231,255,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_48px_rgba\(0\2c 231\2c 255\2c 0\.28\)\]{
  --tw-shadow: 0 0 48px rgba(0,231,255,0.28);
  --tw-shadow-colored: 0 0 48px var(--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\(0\2c 209\2c 255\2c 0\.4\)\]{
  --tw-shadow: 0 0 50px rgba(0,209,255,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_60px_rgba\(30\2c 174\2c 219\2c 0\.4\)\]{
  --tw-shadow: 0 0 60px rgba(30,174,219,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_8px_rgba\(0\2c 209\2c 255\2c 0\.8\)\]{
  --tw-shadow: 0 0 8px rgba(0,209,255,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_12px_40px_rgba\(0\2c 180\2c 255\2c 0\.35\)\]{
  --tw-shadow: 0 12px 40px rgba(0,180,255,0.35);
  --tw-shadow-colored: 0 12px 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_-20px_rgba\(0\2c 229\2c 255\2c 0\.3\)\]{
  --tw-shadow: 0 20px 60px -20px rgba(0,229,255,0.3);
  --tw-shadow-colored: 0 20px 60px -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_18px_rgba\(0\2c 0\2c 0\2c 0\.65\)\2c 0_0_0_1px_rgba\(255\2c 255\2c 255\2c 0\.12\)_inset\]{
  --tw-shadow: 0 6px 18px rgba(0,0,0,0.65),0 0 0 1px rgba(255,255,255,0.12) inset;
  --tw-shadow-colored: 0 6px 18px var(--tw-shadow-color), inset 0 0 0 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-\[inset_0_12px_24px_rgba\(0\2c 0\2c 0\2c \.45\)\]{
  --tw-shadow: inset 0 12px 24px rgba(0,0,0,.45);
  --tw-shadow-colored: inset 0 12px 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-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-m1-card{
  --tw-shadow: 0 8px 32px rgba(0, 0, 0, 0.5), inset 0 2px 3px rgba(255, 255, 255, 0.05);
  --tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), inset 0 2px 3px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-m1-glow-cyan{
  --tw-shadow: 0 0 24px rgba(0, 229, 255, 0.38);
  --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-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-blue-500\/30{
  --tw-shadow-color: rgb(59 130 246 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-400\/80{
  --tw-shadow-color: rgb(34 211 238 / 0.8);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/10{
  --tw-shadow-color: rgb(6 182 212 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/20{
  --tw-shadow-color: rgb(6 182 212 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/30{
  --tw-shadow-color: rgb(6 182 212 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-cyan-500\/50{
  --tw-shadow-color: rgb(6 182 212 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-gray-500\/20{
  --tw-shadow-color: rgb(107 114 128 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-500\/20{
  --tw-shadow-color: rgb(34 197 94 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-green-500\/30{
  --tw-shadow-color: rgb(34 197 94 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-pink-500\/30{
  --tw-shadow-color: rgb(236 72 153 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-purple-500\/30{
  --tw-shadow-color: rgb(168 85 247 / 0.3);
  --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-purple-600\/60{
  --tw-shadow-color: rgb(147 51 234 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-500\/20{
  --tw-shadow-color: rgb(239 68 68 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-red-500\/30{
  --tw-shadow-color: rgb(239 68 68 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-slate-400\/30{
  --tw-shadow-color: rgb(148 163 184 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-white\/10{
  --tw-shadow-color: rgb(255 255 255 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-400\/40{
  --tw-shadow-color: rgb(250 204 21 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-500\/20{
  --tw-shadow-color: rgb(234 179 8 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-500\/30{
  --tw-shadow-color: rgb(234 179 8 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.shadow-yellow-500\/50{
  --tw-shadow-color: rgb(234 179 8 / 0.5);
  --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-0{
  --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(0px + 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-\[\#00D1FF\]{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.ring-\[\#00D1FF\]\/50{
  --tw-ring-color: rgb(0 209 255 / 0.5);
}

.ring-\[\#FFD700\]\/40{
  --tw-ring-color: rgb(255 215 0 / 0.4);
}

.ring-amber-700{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(180 83 9 / var(--tw-ring-opacity, 1));
}

.ring-cyan-400\/30{
  --tw-ring-color: rgb(34 211 238 / 0.3);
}

.ring-cyan-400\/50{
  --tw-ring-color: rgb(34 211 238 / 0.5);
}

.ring-cyan-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1));
}

.ring-cyan-500\/30{
  --tw-ring-color: rgb(6 182 212 / 0.3);
}

.ring-gray-600{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity, 1));
}

.ring-green-400\/50{
  --tw-ring-color: rgb(74 222 128 / 0.5);
}

.ring-m1ssion-blue{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.ring-primary{
  --tw-ring-color: hsl(var(--primary));
}

.ring-primary\/50{
  --tw-ring-color: hsl(var(--primary) / 0.5);
}

.ring-purple-400\/30{
  --tw-ring-color: rgb(192 132 252 / 0.3);
}

.ring-purple-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}

.ring-ring{
  --tw-ring-color: hsl(var(--ring));
}

.ring-slate-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(203 213 225 / var(--tw-ring-opacity, 1));
}

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

.ring-yellow-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(250 204 21 / var(--tw-ring-opacity, 1));
}

.ring-offset-1{
  --tw-ring-offset-width: 1px;
}

.ring-offset-2{
  --tw-ring-offset-width: 2px;
}

.ring-offset-background{
  --tw-ring-offset-color: hsl(var(--background));
}

.ring-offset-black{
  --tw-ring-offset-color: #000;
}

.ring-offset-black\/50{
  --tw-ring-offset-color: rgb(0 0 0 / 0.5);
}

.ring-offset-transparent{
  --tw-ring-offset-color: transparent;
}

.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-\[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-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-150{
  --tw-brightness: brightness(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);
}

.brightness-200{
  --tw-brightness: brightness(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{
  --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 209\2c 255\2c 0\.6\)\]{
  --tw-drop-shadow: drop-shadow(0 0 10px rgba(0,209,255,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_10px_rgba\(255\2c 255\2c 255\2c 0\.8\)\]{
  --tw-drop-shadow: drop-shadow(0 0 10px 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_12px_rgba\(0\2c 231\2c 255\2c \.85\)\]{
  --tw-drop-shadow: drop-shadow(0 0 12px rgba(0,231,255,.85));
  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_16px_\#00a3ff\]{
  --tw-drop-shadow: drop-shadow(0 0 16px #00a3ff);
  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_18px_\#d4ff44\]{
  --tw-drop-shadow: drop-shadow(0 0 18px #d4ff44);
  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 209\2c 255\2c 0\.6\)\]{
  --tw-drop-shadow: drop-shadow(0 0 20px rgba(0,209,255,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_22px_\#33c3f0\]{
  --tw-drop-shadow: drop-shadow(0 0 22px #33c3f0);
  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_32px_\#baff1a\]{
  --tw-drop-shadow: drop-shadow(0 0 32px #baff1a);
  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\(242\2c 19\2c 164\2c 0\.6\)\]{
  --tw-drop-shadow: drop-shadow(0 0 6px rgba(242,19,164,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_\#181641\]{
  --tw-drop-shadow: drop-shadow(0 0 8px #181641);
  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\(0\2c 209\2c 255\2c 0\.8\)\]{
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(0,209,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_8px_rgba\(0\2c 229\2c 255\2c 0\.8\)\]{
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(0,229,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_8px_rgba\(250\2c 204\2c 21\2c 0\.7\)\]{
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(250,204,21,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 215\2c 0\2c 0\.8\)\]{
  --tw-drop-shadow: drop-shadow(0 0 8px rgba(255,215,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-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-sm{
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  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);
}

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

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

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

.filter-none{
  filter: none;
}

.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-\[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-\[4px\]{
  --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-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);
}

.backdrop-filter{
  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-\[left\2c right\2c width\]{
  transition-property: left,right,width;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[margin\2c opa\]{
  transition-property: margin,opa;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\2c height\2c padding\]{
  transition-property: width,height,padding;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.transition-\[width\]{
  transition-property: width;
  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;
}

.delay-100{
  transition-delay: 100ms;
}

.delay-1000{
  transition-delay: 1000ms;
}

.delay-200{
  transition-delay: 200ms;
}

.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{
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-linear{
  transition-timing-function: linear;
}

.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

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

@keyframes enter{

  from{
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));
  }
}

@keyframes exit{

  to{
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));
  }
}

.animate-in{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

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

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

.fade-in-80{
  --tw-enter-opacity: 0.8;
}

.fade-out{
  --tw-exit-opacity: 0;
}

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

.slide-in-from-bottom-4{
  --tw-enter-translate-y: 1rem;
}

.slide-in-from-bottom-5{
  --tw-enter-translate-y: 1.25rem;
}

.duration-100{
  animation-duration: 100ms;
}

.duration-1000{
  animation-duration: 1000ms;
}

.duration-150{
  animation-duration: 150ms;
}

.duration-200{
  animation-duration: 200ms;
}

.duration-300{
  animation-duration: 300ms;
}

.duration-500{
  animation-duration: 500ms;
}

.duration-700{
  animation-duration: 700ms;
}

.delay-100{
  animation-delay: 100ms;
}

.delay-1000{
  animation-delay: 1000ms;
}

.delay-200{
  animation-delay: 200ms;
}

.ease-in{
  animation-timing-function: cubic-bezier(0.4, 0, 1, 1);
}

.ease-in-out{
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.ease-linear{
  animation-timing-function: linear;
}

.ease-out{
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.running{
  animation-play-state: running;
}

.\!paused{
  animation-play-state: paused !important;
}

.paused{
  animation-play-state: paused;
}

.font-orbitron {
    font-family: "Orbitron", sans-serif;
  }

.animate-glow {
    animation: glow 0.6s ease-in-out forwards;
  }

@keyframes glow {
    from {
      opacity: 0;
      text-shadow: none;
    }
    to {
      opacity: 1;
      text-shadow: 0 0 2px rgba(0, 255, 255, 0.3);
    }
  }

.glow {
    animation: glow 0.6s ease-in-out forwards;
  }

.glow-text {
    text-shadow: 0 0 10px rgba(0, 209, 255, 0.6);
    animation: glow-pulse 3s ease-in-out infinite;
  }

@keyframes glow-pulse {
    0%, 100% { text-shadow: 0 0 10px rgba(0, 209, 255, 0.6); }
    50% { text-shadow: 0 0 20px rgba(0, 209, 255, 0.8), 0 0 30px rgba(0, 209, 255, 0.4); }
  }

.gradient-text{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --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);
  --tw-gradient-to: rgb(255 255 255 / 0.8) var(--tw-gradient-to-position);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}

.gradient-text-cyan{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(123 46 255 / 0.8) var(--tw-gradient-to-position);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}

.\[text-fill-color\:transparent\]{
  text-fill-color: transparent;
}

.\[text-rendering\:optimizeLegibility\]{
  text-rendering: optimizeLegibility;
}

.\[useUnifiedPush\:init\]{
  use-unified-push: init;
}

:root {
  --m1-header-bg: #0a0b0f;
  --m1-header-bg-gradient: linear-gradient(180deg, rgba(10, 11, 20, 0.85) 0%, rgba(10, 11, 20, 0.85) 100%);
  --header-height: 72px;
  --bottom-nav-height: 54px;
  --app-header-height: 72px;
  --app-bottom-nav-height: 64px;
  --m1-bottom-nav: 96px; /* Fallback height for bottom navigation */
  
  /* 📏 M1SSION™ WRAP FIX: Viewport height variables for iOS WKWebView */
  /* These are updated dynamically by viewportHeight.ts */
  --app-height: 100dvh; /* Fallback, will be overwritten by JS */
  --app-safe-top: env(safe-area-inset-top, 0px);
  --app-safe-bottom: env(safe-area-inset-bottom, 0px);
  --app-content-height: calc(100dvh - 80px - 64px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
}

/* Fix per overflow orizzontale */

.container, .max-w-4xl, .max-w-6xl, .max-w-7xl {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  padding-left: env(safe-area-inset-left, 1rem);
  padding-right: env(safe-area-inset-right, 1rem);
}

@media (min-width: 640px) {
  .container, .max-w-4xl, .max-w-6xl, .max-w-7xl {
    max-width: calc(100vw - 2rem);
  }
}

@media (min-width: 1024px) {
  .max-w-4xl {
    max-width: 56rem;
  }

  .max-w-6xl {
    max-width: 72rem;
  }

  .max-w-7xl {
    max-width: 80rem;
  }
}

@media (max-width: 640px) {
  .mobile-content-spacing {
    padding: 0.75rem;
    margin-bottom: 1rem;
  }

  h1, h2, h3 {
    word-break: break-word;
  }
}

.app-card{
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.1);
  --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);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
                inset 0 2px 3px rgba(255, 255, 255, 0.06);
    transition: all 0.25s ease-in-out;
}

.app-card:hover{
  background-color: rgb(255 255 255 / 0.1);
    box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
                inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.app-card{
  padding: 1rem;
  border-radius: var(--radius);
  border-width: 1px;
  border-color: rgb(255 255 255 / 0.1);
  background-color: rgb(255 255 255 / 0.05);
  --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);
  --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);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2),
              inset 0 2px 3px rgba(255, 255, 255, 0.06);
  transition: all 0.25s ease-in-out;
}

.app-card:hover {
  background: rgba(255, 255, 255, 0.12);
  box-shadow: 0 8px 38px rgba(0, 0, 0, 0.3),
              inset 0 2px 5px rgba(255, 255, 255, 0.08);
}

.sn-page .app-card,
html:has(.sn-page) .app-card {
  background: var(--wt-surface-secondary);
  backdrop-filter: var(--wt-blur-secondary);
  -webkit-backdrop-filter: var(--wt-blur-secondary);
  border: 1px solid var(--wt-surface-secondary-border);
  box-shadow: var(--wt-surface-secondary-shadow);
}

@media (min-width: 640px){

  .app-card{
    padding: 1.5rem;
  }
}

.section-spacing{
  margin-top: 1rem;
  margin-bottom: 1rem;
}

@media (min-width: 640px){

  .section-spacing{
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
  }
}

.transition-standard{
  transition-property: all;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  animation-duration: 300ms;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ✅ Enhanced Bottom Navigation for PWA iOS */

.bottom-nav {
  --bar-h: var(--bottom-nav-height);
  height: calc(var(--bar-h) + env(safe-area-inset-bottom));
  padding-bottom: max(env(safe-area-inset-bottom), 6px);
  backdrop-filter: blur(10px);
  background: var(--m1-header-bg-gradient);
}

.bottom-nav .item {
  min-height: 44px;
  gap: 4px;
}

.bottom-nav .icon {
  width: 22px;
  height: 22px;
}

.bottom-nav .label {
  font-size: 11px;
  line-height: 14px;
}

.bottom-navigation-fix {
  position: fixed !important;
  bottom: 0px !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom)) !important;
  z-index: 9999 !important;
  transform: translateZ(0) !important;
  background: var(--m1-header-bg-gradient) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  isolation: isolate !important;
  padding-bottom: max(env(safe-area-inset-bottom), 6px);
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎨 M1SSION™ SFONDO GRADIENTE - PRIORITÀ MASSIMA (FUORI DA @LAYER)
   Questo blocco DEVE stare alla FINE del file per avere priorità massima
   ═══════════════════════════════════════════════════════════════════════════ */

html {
  background:
    radial-gradient(ellipse 1200px 800px at 85% -10%, rgba(0, 229, 255, 0.35), transparent 50%),
    radial-gradient(ellipse 1000px 700px at -15% 25%, rgba(123, 46, 255, 0.30), transparent 50%),
    radial-gradient(ellipse 800px 500px at 50% 90%, rgba(252, 30, 255, 0.15), transparent 45%),
    linear-gradient(180deg, #0a0b0f 0%, #0c0e14 25%, #0e1118 50%, #0a0c10 75%, #080a0d 100%) !important;
  background-attachment: fixed !important;
  background-color: #0a0b0f !important;
}

body,
#root,
.app-shell,
.safe-area-wrapper,
.global-layout-content,
.m1-app-bg,
.min-h-screen {
  background: transparent !important;
  background-color: transparent !important;
}

/* Tutti i contenuti sopra il gradiente */

.app-shell > *:not(.m1-fullscreen-bg):not(.m1-grain) {
  position: relative;
  z-index: 1;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🔧 PWA MOBILE FIX: GPU Layer Promotion per elementi fixed
   Previene che il gradiente copra header/nav/pills durante scroll su iOS PWA
   ═══════════════════════════════════════════════════════════════════════════ */

/* Gradiente background - layer base (z-index: 0, NON -1 per non andare dietro html) */

.m1-fullscreen-bg {
  z-index: 0 !important;
  pointer-events: none;
}

/* Fixed elements - forza GPU layer promotion per iOS PWA stability */

.unified-header-wrapper,
.bottom-navigation-ios,
/* Tailwind fixed pills (z-[9998], z-[9999], etc.) */
.fixed.z-\[9998\],
.fixed.z-\[9999\],
.fixed.z-\[10000\],
.fixed.z-40,
/* Inline style fixed elements as fallback */
header[style*="position: fixed"],
nav[style*="position: fixed"] {
  transform: translateZ(0) !important;
  -webkit-transform: translateZ(0) !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
  will-change: transform !important;
}

/* ═══════════════════════════════════════════════════════════════
   🎯 MICRO-MISSIONS HIGHLIGHT EFFECT
   ✅ FIX 23/12/2025: Evidenzia elementi durante le micro-missions
   ═══════════════════════════════════════════════════════════════ */

.micro-mission-highlight {
  position: relative;
  z-index: 100;
  animation: micro-mission-pulse 2s ease-in-out infinite;
  box-shadow: 
    0 0 0 3px rgba(0, 255, 136, 0.6),
    0 0 20px rgba(0, 255, 136, 0.4),
    0 0 40px rgba(0, 255, 136, 0.2) !important;
  border-radius: 12px;
}

@keyframes micro-mission-pulse {
  0%, 100% {
    box-shadow: 
      0 0 0 3px rgba(0, 255, 136, 0.6),
      0 0 20px rgba(0, 255, 136, 0.4),
      0 0 40px rgba(0, 255, 136, 0.2);
  }
  50% {
    box-shadow: 
      0 0 0 5px rgba(0, 255, 136, 0.8),
      0 0 30px rgba(0, 255, 136, 0.6),
      0 0 60px rgba(0, 255, 136, 0.3);
  }
}

/* ==============================================
   📱 iOS KEYBOARD: Hide Bottom Nav (like Telegram)
   When keyboard is open, hide bottom navigation
   ROLLBACK: Remove this section
   ============================================== */

/* Target by ID (GlobalLayout) */

.m1-keyboard-open #m1-bottom-nav {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Target by wrapper class */

.m1-keyboard-open .m1-bottom-nav-wrapper {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Target by data attribute */

.m1-keyboard-open [data-bottom-nav-wrapper] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Target BottomNavigation directly by its class (most reliable) */

.m1-keyboard-open .bottom-navigation-ios,
.m1-keyboard-open [data-onboarding="bottom-nav"],
.m1-keyboard-open nav[class*="fixed"][class*="bottom-0"],
.m1-keyboard-open .bottom-navigation,
.m1-keyboard-open [data-testid="bottom-navigation"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(100%) !important;
}

/* Remove bottom padding when keyboard is open to prevent layout jump */

.m1-keyboard-open .has-bottom-nav-padding {
  padding-bottom: 0 !important;
}

/* Smooth transition for bottom nav appearance */

#m1-bottom-nav,
.m1-bottom-nav-wrapper,
[data-bottom-nav-wrapper] {
  transition: opacity 0.15s ease-out, visibility 0.15s ease-out, transform 0.15s ease-out;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🔧 iOS DRAGGABLE OVERLAY FIX (22/01/2026)
   Prevents motion.div transforms from creating draggable content on iOS
   ═══════════════════════════════════════════════════════════════════════════ */

/* Ensure body never becomes a scroll trap on native iOS */

body.is-native .global-layout-content {
  /* Prevent nested scroll issues */
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}

/* Reset transforms on visibility change (app background/foreground) */

body.is-native [style*="translateY"] {
  /* Ensure touch events work properly */
  touch-action: pan-y;
}

/* Prevent pull-to-refresh from creating persistent transforms */

body.is-native .mission-sync-content {
  will-change: auto !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🔧 AION-LIKE SCROLL UNDER HEADER (22/01/2026)
   Content scrolls behind the glass header - no "band" under header
   
   🔧 FIX v8 (22/01/2026): Capacitor iOS offset fix
   AppDelegate.swift injects body/main padding-top with !important
   So m1-first-content-offset classes must NOT duplicate the header offset
   ═══════════════════════════════════════════════════════════════════════════ */

/* Mark content that scrolls under header */

.m1-scroll-under-header {
  /* Content starts at top:0, scrolls behind the fixed glass header */
  padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   First content element offset classes
   
   WEB (no Capacitor): needs full header + safe-area offset
   CAPACITOR iOS: AppDelegate injects padding, so only breathing room needed
   ═══════════════════════════════════════════════════════════════════════════ */

/* Default (WEB): Full offset = header height + safe-area + breathing room */

.m1-first-content-offset {
  margin-top: calc(80px + env(safe-area-inset-top, 0px) + 16px);
}

.m1-first-content-offset-compact {
  margin-top: calc(80px + env(safe-area-inset-top, 0px) + 8px);
}

.m1-first-content-offset-spacious {
  margin-top: calc(80px + env(safe-area-inset-top, 0px) + 24px);
}

/* 🔧 FIX v8: CAPACITOR iOS OFFSET FIX
   
   DESIGN: Content appears IMMEDIATELY BELOW the fixed header (not scroll-under)
   
   On Capacitor iOS, AppDelegate.swift injects:
   - body { padding-top: safe-area + 76px } → creates space for header
   - main { padding-top: safe-area + 80px } → ADDITIONAL space (problematic!)
   
   The m1-first-content-offset classes add EVEN MORE margin-top.
   
   FIX: When AppDelegate handles header spacing, pages should NOT add extra margin.
   Keep AppDelegate body padding (correct), neutralize redundant main padding and element margin.
*/

/* Neutralize redundant first-element margin on Capacitor iOS */

html.capacitor-ios .m1-first-content-offset,
html[data-capacitor="ios"] .m1-first-content-offset,
html.capacitor-ios .m1-first-content-offset-compact,
html[data-capacitor="ios"] .m1-first-content-offset-compact,
html.capacitor-ios .m1-first-content-offset-spacious,
html[data-capacitor="ios"] .m1-first-content-offset-spacious {
  /* AppDelegate already handled header offset via body padding */
  margin-top: 0 !important;
}

/* Neutralize AppDelegate's redundant main padding-top injection
   AppDelegate injects BOTH body AND main padding - we only need ONE.
   Keep body padding (creates header space), remove main padding (redundant) */

html.capacitor-ios main,
html[data-capacitor="ios"] main {
  padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🔧 FIX 27/01/2026 v8.7: NATIVE iOS BOUNCE OVERLAY FIX - NUCLEAR OPTION
   
   PROBLEM: During iOS bounce in native app, a dark gradient overlay covers content.
   
   ROOT CAUSE: The html gradient with background-attachment: fixed stays in place
   while content bounces, creating a visual "overlay" effect.
   
   NUCLEAR FIX: For native iOS, completely REMOVE the gradient from html
   and use a simple solid color. The gradient causes too many issues with bounce.
   ═══════════════════════════════════════════════════════════════════════════ */

/* NUCLEAR: Remove gradient completely for native iOS */

html.capacitor-ios,
html[data-capacitor="ios"] {
  background: #0a0b0f !important;
  background-image: none !important;
  background-attachment: scroll !important;
}

/* Fallback: also target when body has is-native class (JS detection) */

html:has(body.is-native) {
  background: #0a0b0f !important;
  background-image: none !important;
  background-attachment: scroll !important;
}

/* Body also solid background */

body.is-native {
  background: #0a0b0f !important;
  background-image: none !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎨 WHITE THEME DESIGN TOKENS
   🔧 FIX 30/01/2026: Centralized tokens for consistent white theme
   
   Hierarchy:
   - Main containers: stronger elevation (--wt-surface-main)
   - Secondary containers: softer/more transparent (--wt-surface-secondary)
   - Primary pills: high contrast (--wt-pill-primary)
   - Secondary pills: neutral (--wt-pill-secondary)
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  /* Page backgrounds */
  --wt-bg-page: linear-gradient(180deg, #FFFFFF 0%, #F5F5F7 50%, #EAEAEC 100%);
  --wt-bg-page-solid: #FFFFFF;
  
  /* Surfaces - Main (more prominent) */
  --wt-surface-main: rgba(255, 255, 255, 0.98);
  --wt-surface-main-border: rgba(0, 0, 0, 0.08);
  --wt-surface-main-shadow: 0 2px 8px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.06), 0 16px 48px rgba(0, 0, 0, 0.04);
  
  /* Surfaces - Secondary (softer) */
  --wt-surface-secondary: rgba(255, 255, 255, 0.85);
  --wt-surface-secondary-border: rgba(0, 0, 0, 0.05);
  --wt-surface-secondary-shadow: 0 1px 4px rgba(0, 0, 0, 0.03), 0 4px 12px rgba(0, 0, 0, 0.04);
  
  /* Text colors */
  --wt-text-primary: #1C1C1E;
  --wt-text-secondary: #6B7280;
  --wt-text-tertiary: #9CA3AF;
  --wt-text-muted: #B0B0B5;
  
  /* Pills - Primary (high contrast, prominent) */
  --wt-pill-primary-bg: rgba(255, 255, 255, 0.98);
  --wt-pill-primary-border: rgba(0, 0, 0, 0.1);
  --wt-pill-primary-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 4px 16px rgba(0, 0, 0, 0.04);
  --wt-pill-primary-text: #1C1C1E;
  
  /* Pills - Secondary (neutral, less prominent) */
  --wt-pill-secondary-bg: rgba(255, 255, 255, 0.75);
  --wt-pill-secondary-border: rgba(0, 0, 0, 0.06);
  --wt-pill-secondary-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  --wt-pill-secondary-text: #6B7280;
  
  /* Accent colors */
  --wt-accent-cyan: #0891B2;
  --wt-accent-cyan-light: rgba(8, 145, 178, 0.1);
  --wt-accent-blue: #2563EB;
  --wt-accent-green: #16A34A;
  --wt-accent-yellow: #EAB308;
  --wt-accent-red: #DC2626;
  
  /* Borders and dividers */
  --wt-border-light: rgba(0, 0, 0, 0.06);
  --wt-border-medium: rgba(0, 0, 0, 0.1);
  --wt-divider: rgba(0, 0, 0, 0.08);
  
  /* Blur values */
  --wt-blur-main: blur(16px);
  --wt-blur-secondary: blur(12px);
  
  /* Border radius */
  --wt-radius-sm: 12px;
  --wt-radius-md: 16px;
  --wt-radius-lg: 20px;
  --wt-radius-xl: 24px;
  --wt-radius-pill: 100px;
  
  /* Transitions (matching Login page motion) */
  --wt-transition-fast: 0.15s ease-out;
  --wt-transition-normal: 0.25s ease-out;
  --wt-transition-slow: 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  --wt-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎨 WHITE THEME UTILITY CLASSES (for .sn-page pages)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Main container - more prominent */

.wt-card-main {
  background: var(--wt-surface-main);
  backdrop-filter: var(--wt-blur-main);
  -webkit-backdrop-filter: var(--wt-blur-main);
  border: 1px solid var(--wt-surface-main-border);
  border-radius: var(--wt-radius-lg);
  box-shadow: var(--wt-surface-main-shadow);
}

/* Secondary container - softer */

.wt-card-secondary {
  background: var(--wt-surface-secondary);
  backdrop-filter: var(--wt-blur-secondary);
  -webkit-backdrop-filter: var(--wt-blur-secondary);
  border: 1px solid var(--wt-surface-secondary-border);
  border-radius: var(--wt-radius-md);
  box-shadow: var(--wt-surface-secondary-shadow);
}

/* Primary pill - prominent */

.wt-pill-primary {
  background: var(--wt-pill-primary-bg);
  backdrop-filter: var(--wt-blur-main);
  -webkit-backdrop-filter: var(--wt-blur-main);
  border: 1px solid var(--wt-pill-primary-border);
  border-radius: var(--wt-radius-pill);
  box-shadow: var(--wt-pill-primary-shadow);
  color: var(--wt-pill-primary-text);
  transition: all var(--wt-transition-normal);
}

.wt-pill-primary:hover {
  box-shadow: var(--wt-surface-main-shadow);
  transform: translateY(-1px);
}

/* Secondary pill - neutral */

.wt-pill-secondary {
  background: var(--wt-pill-secondary-bg);
  backdrop-filter: var(--wt-blur-secondary);
  -webkit-backdrop-filter: var(--wt-blur-secondary);
  border: 1px solid var(--wt-pill-secondary-border);
  border-radius: var(--wt-radius-pill);
  box-shadow: var(--wt-pill-secondary-shadow);
  color: var(--wt-pill-secondary-text);
  transition: all var(--wt-transition-fast);
}

.wt-pill-secondary:hover {
  background: var(--wt-pill-primary-bg);
  border-color: var(--wt-pill-primary-border);
}

/* Text utilities */

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

.wt-text-secondary { color: var(--wt-text-secondary); }

.wt-text-tertiary { color: var(--wt-text-tertiary); }

.wt-text-muted { color: var(--wt-text-muted); }

/* ═══════════════════════════════════════════════════════════════════════════
   🎨 WHITE/LIGHT THEME OVERRIDE FOR .sn-page PAGES
   🔧 FIX 30/01/2026: These rules MUST be at the END to override dark backgrounds
   
   When a page uses .sn-page class (AION, Notifications, Leaderboard, Buzz),
   force WHITE background that extends into iOS safe-area
   ═══════════════════════════════════════════════════════════════════════════ */

/* 🔧 OPTION B FIX 31/01/2026: WHITE background on html/body for seamless overscroll
   Native layer = WHITE, html = WHITE, body = WHITE
   During overscroll: see WHITE which blends with content
   Header/Nav are OPAQUE white glass to not show overlay */

/* html/body WHITE for seamless overscroll */

html.sn-page,
body.sn-page,
html:has(.sn-page),
body:has(.sn-page) {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}

/* Also WHITE for Capacitor iOS variants */

html.sn-page.capacitor-ios,
html.capacitor-ios.sn-page,
html.capacitor-ios:has(.sn-page),
html[data-capacitor="ios"].sn-page,
html[data-capacitor="ios"]:has(.sn-page) {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}

/* WHITE for body.is-native */

html.sn-page body.is-native,
body.is-native.sn-page,
html:has(body.is-native):has(.sn-page) {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}

/* Ensure all wrappers are transparent to show white background */

html.sn-page #root,
html.sn-page .safe-area-wrapper,
html.sn-page .global-layout-content,
html.sn-page .app-shell,
html.sn-page main,
html:has(.sn-page) #root,
html:has(.sn-page) .safe-area-wrapper,
html:has(.sn-page) .global-layout-content,
html:has(.sn-page) .app-shell,
html:has(.sn-page) main {
  background: transparent !important;
  background-color: transparent !important;
}

/* 🔧 P2 FIX 31/01/2026: .sn-page container is THE ONLY source of white background
   CRITICAL: This is where the white gradient lives - NOT on html/body
   This prevents white overlay during iOS WKWebView overscroll bounce */

.sn-page {
  background: linear-gradient(180deg, #FFFFFF 0%, #F5F5F7 50%, #EAEAEC 100%) !important;
  background-color: #FFFFFF !important;
  min-height: 100dvh;
  /* Ensure container covers full viewport for consistent appearance */
  width: 100%;
  position: relative;
}

/* 🔧 CRITICAL: Hide the dark fullscreen background div when .sn-page is present */

html.sn-page .m1-fullscreen-bg,
body.sn-page .m1-fullscreen-bg,
html:has(.sn-page) .m1-fullscreen-bg,
body:has(.sn-page) .m1-fullscreen-bg {
  display: none !important;
  visibility: hidden !important;
}

/* Also hide the grain overlay on white pages */

html.sn-page .m1-grain,
body.sn-page .m1-grain,
html:has(.sn-page) .m1-grain,
body:has(.sn-page) .m1-grain {
  display: none !important;
  visibility: hidden !important;
}

/* Header and Bottom Nav z-index guarantee for .sn-page */

html.sn-page .unified-header-wrapper,
html.sn-page header[class*="fixed"],
html:has(.sn-page) .unified-header-wrapper,
html:has(.sn-page) header[class*="fixed"] {
  z-index: 9999 !important;
}

html.sn-page .bottom-navigation-ios,
html.sn-page #m1-bottom-nav,
html.sn-page nav[class*="fixed"],
html:has(.sn-page) .bottom-navigation-ios,
html:has(.sn-page) #m1-bottom-nav,
html:has(.sn-page) nav[class*="fixed"] {
  z-index: 9999 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🎨 WHITE THEME OVERRIDES FOR EXISTING DARK COMPONENTS
   When .sn-page is active, override dark m1-card and glass-card with white theme
   ═══════════════════════════════════════════════════════════════════════════ */

/* Override m1-card dark styles to white when in sn-page */

.sn-page .m1-card,
html:has(.sn-page) .m1-card {
  background: var(--wt-surface-main) !important;
  backdrop-filter: var(--wt-blur-main) !important;
  -webkit-backdrop-filter: var(--wt-blur-main) !important;
  border: 1px solid var(--wt-surface-main-border) !important;
  box-shadow: var(--wt-surface-main-shadow) !important;
}

.sn-page .m1-card::before,
html:has(.sn-page) .m1-card::before {
  display: none !important;
}

/* Override glass-card to white */

.sn-page .glass-card,
html:has(.sn-page) .glass-card {
  background: var(--wt-surface-secondary) !important;
  backdrop-filter: var(--wt-blur-secondary) !important;
  -webkit-backdrop-filter: var(--wt-blur-secondary) !important;
  border: 1px solid var(--wt-surface-secondary-border) !important;
  box-shadow: var(--wt-surface-secondary-shadow) !important;
}

/* Override m1ssion-glass-card */

.sn-page .m1ssion-glass-card,
html:has(.sn-page) .m1ssion-glass-card {
  background: var(--wt-surface-main) !important;
  backdrop-filter: var(--wt-blur-main) !important;
  -webkit-backdrop-filter: var(--wt-blur-main) !important;
  border: 1px solid var(--wt-surface-main-border) !important;
  box-shadow: var(--wt-surface-main-shadow) !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   🏆 LEADERBOARD CARDS OVERRIDE — Must come AFTER .sn-page .m1ssion-glass-card
   FIX 06/02/2026: Force graphite folder glass on leaderboard cards
   ═══════════════════════════════════════════════════════════════════════════ */

/* Base graphite folder glass for ALL leaderboard cards */

.sn-page .leaderboard-card-glass.m1ssion-glass-card,
.leaderboard-card-glass.m1ssion-glass-card,
.sn-page .leaderboard-card-glass,
.leaderboard-card-glass {
  background: rgba(18, 22, 28, 0.85) !important;
  backdrop-filter: blur(12px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.40),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    inset 0 -1px 0 rgba(0, 0, 0, 0.15) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* #1 — CROWN AURA (gold gradient + breathing) */

.sn-page .leaderboard-rank-1.m1ssion-glass-card,
.leaderboard-rank-1.m1ssion-glass-card,
.sn-page .leaderboard-rank-1,
.leaderboard-rank-1 {
  background: linear-gradient(
    135deg,
    rgba(255, 215, 0, 0.15) 0%,
    rgba(18, 22, 28, 0.92) 30%,
    rgba(18, 22, 28, 0.90) 70%,
    rgba(236, 72, 153, 0.12) 100%
  ) !important;
  border: 1px solid rgba(255, 215, 0, 0.30) !important;
  box-shadow: 
    0 0 35px rgba(255, 215, 0, 0.20),
    0 0 70px rgba(236, 72, 153, 0.10),
    0 8px 28px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255, 215, 0, 0.20) !important;
}

/* #2 — CHALLENGER GLOW (silver gradient + pulse) */

.sn-page .leaderboard-rank-2.m1ssion-glass-card,
.leaderboard-rank-2.m1ssion-glass-card,
.sn-page .leaderboard-rank-2,
.leaderboard-rank-2 {
  background: linear-gradient(
    135deg,
    rgba(192, 192, 192, 0.12) 0%,
    rgba(18, 22, 28, 0.92) 30%,
    rgba(18, 22, 28, 0.90) 70%,
    rgba(59, 130, 246, 0.10) 100%
  ) !important;
  border: 1px solid rgba(192, 192, 192, 0.25) !important;
  box-shadow: 
    0 0 28px rgba(192, 192, 192, 0.15),
    0 0 50px rgba(59, 130, 246, 0.08),
    0 6px 22px rgba(0, 0, 0, 0.50),
    inset 0 1px 0 rgba(192, 192, 192, 0.15) !important;
}

/* #3 — PODIUM SPARK (bronze gradient + accent) */

.sn-page .leaderboard-rank-3.m1ssion-glass-card,
.leaderboard-rank-3.m1ssion-glass-card,
.sn-page .leaderboard-rank-3,
.leaderboard-rank-3 {
  background: linear-gradient(
    135deg,
    rgba(205, 127, 50, 0.12) 0%,
    rgba(18, 22, 28, 0.92) 40%,
    rgba(18, 22, 28, 0.90) 60%,
    rgba(52, 211, 153, 0.08) 100%
  ) !important;
  border: 1px solid rgba(205, 127, 50, 0.22) !important;
  box-shadow: 
    0 0 24px rgba(205, 127, 50, 0.12),
    0 5px 20px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(205, 127, 50, 0.12) !important;
}

/* TOP 4-10 — Subtle cyan glow */

.sn-page .leaderboard-rank-top10.m1ssion-glass-card,
.leaderboard-rank-top10.m1ssion-glass-card,
.sn-page .leaderboard-rank-top10,
.leaderboard-rank-top10 {
  background: rgba(18, 22, 28, 0.85) !important;
  border: 1px solid rgba(0, 209, 255, 0.15) !important;
  box-shadow: 
    0 0 15px rgba(0, 209, 255, 0.08),
    0 4px 16px rgba(0, 0, 0, 0.40),
    inset 0 1px 0 rgba(0, 209, 255, 0.06) !important;
}

/* Sheen effect for all leaderboard cards */

.leaderboard-card-glass::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.04) 0%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
}

/* iOS performance optimization for leaderboard */

@supports (-webkit-touch-callout: none) {
  .leaderboard-card-glass,
  .leaderboard-rank-1,
  .leaderboard-rank-2,
  .leaderboard-rank-3,
  .leaderboard-rank-top10 {
    backdrop-filter: blur(10px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   📱 NOTIFICATIONS + AION GLASS FIX — Make inner elements transparent
   FIX 06/02/2026: .m1-panel inside graphite container has solid background
   that covers the glass effect. Override to transparent.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Make .m1-panel transparent inside glass containers */

.m1-folder-glass--graphite .m1-panel,
.m1-folder-glass--graphite .m1-surface,
.m1-folder-glass--graphite .m1-card,
.m1-folder-glass .m1-panel,
.m1-folder-glass .m1-surface,
.m1-folder-glass .m1-card,
.buzz-folder-glass .m1-panel,
.buzz-folder-glass .m1-surface,
.buzz-folder-glass .m1-card {
  background: transparent !important;
  box-shadow: none !important;
}

/* Also make direct children transparent if they have solid backgrounds */

.m1-folder-glass--graphite > [class*="m1-"],
.m1-folder-glass > [class*="m1-"],
.buzz-folder-glass > [class*="m1-"] {
  background: transparent !important;
}

/* Preserve glass effect on the outer containers */

.m1-folder-glass--graphite,
.sn-page .m1-folder-glass--graphite {
  background: rgba(18, 22, 28, 0.88) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.10) !important;
  border-radius: 24px !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.50),
    0 2px 8px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    inset 0 -1px 0 rgba(0, 0, 0, 0.20),
    0 0 40px rgba(0, 209, 255, 0.05) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Standard folder glass (Buzz page) */

.m1-folder-glass,
.buzz-folder-glass,
.sn-page .m1-folder-glass,
.sn-page .buzz-folder-glass {
  background: rgba(28, 32, 42, 0.75) !important;
  backdrop-filter: blur(18px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(180%) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 24px !important;
  box-shadow: 
    0 10px 40px rgba(0, 0, 0, 0.45),
    0 4px 12px rgba(0, 0, 0, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.15) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Graphite input bar - AION chat input */

.m1-folder-glass--graphite-input {
  background: rgba(24, 28, 36, 0.92) !important;
  backdrop-filter: blur(16px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 16px !important;
  box-shadow: 
    0 4px 16px rgba(0, 0, 0, 0.40),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

/* iOS performance for graphite glass */

@supports (-webkit-touch-callout: none) {
  .m1-folder-glass--graphite {
    backdrop-filter: blur(14px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
  }
  
  .m1-folder-glass--graphite-input {
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   📬 NOTIFICATION CARDS — Force glass effect on .sn-card
   FIX 06/02/2026: sn-card in notifications should have visible glass effect
   ═══════════════════════════════════════════════════════════════════════════ */

/* Force glass styling on notification category cards */

.sn-page .sn-card,
.m1-folder-glass--graphite .sn-card,
.sn-card.notification-card-glass {
  background: rgba(22, 28, 38, 0.80) !important;
  backdrop-filter: blur(16px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 20px !important;
  box-shadow: 
    0 6px 24px rgba(0, 0, 0, 0.45),
    0 2px 8px rgba(0, 0, 0, 0.30),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(0, 0, 0, 0.15),
    0 0 30px rgba(0, 209, 255, 0.06) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Sheen effect on notification cards */

.sn-page .sn-card::before,
.m1-folder-glass--graphite .sn-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 35%;
  background: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.02) 30%,
    transparent 70%
  );
  pointer-events: none;
  border-radius: 20px 20px 0 0;
  z-index: 1;
}

/* Text colors inside notification cards - ensure readability */

.sn-page .sn-card h3,
.sn-page .sn-card p,
.m1-folder-glass--graphite .sn-card h3,
.m1-folder-glass--graphite .sn-card p {
  color: rgba(255, 255, 255, 0.90) !important;
}

.sn-page .sn-card .text-sm,
.m1-folder-glass--graphite .sn-card .text-sm {
  color: rgba(255, 255, 255, 0.70) !important;
}

/* iOS performance for notification cards */

@supports (-webkit-touch-callout: none) {
  .sn-page .sn-card,
  .m1-folder-glass--graphite .sn-card {
    backdrop-filter: blur(12px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
  }
}

/* Override m1-app-bg to transparent */

.sn-page .m1-app-bg,
html:has(.sn-page) .m1-app-bg {
  background: transparent !important;
}

/* Override dark text to readable dark on light */

/* 🔧 FIX 06/02/2026 v2: EXCLUDE glass containers - they need white text on dark background */

.sn-page .text-white:not(.leaderboard-card-glass .text-white):not(.leaderboard-rank-1 .text-white):not(.leaderboard-rank-2 .text-white):not(.leaderboard-rank-3 .text-white):not(.leaderboard-rank-top10 .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white),
html:has(.sn-page) .text-white:not(.leaderboard-card-glass .text-white):not(.m1-folder-glass--graphite .text-white):not(.m1-folder-glass .text-white):not(.buzz-folder-glass .text-white) {
  color: var(--wt-text-primary) !important;
}

/* Force white text inside glass containers (leaderboard, m1-folder, buzz) */

.leaderboard-card-glass .text-white,
.leaderboard-card-glass [class*="text-white"],
.leaderboard-rank-1 .text-white,
.leaderboard-rank-2 .text-white,
.leaderboard-rank-3 .text-white,
.leaderboard-rank-top10 .text-white,
.leaderboard-card-glass p,
.leaderboard-card-glass span:not(.text-cyan-400):not(.text-green-400):not(.text-orange-400):not(.text-pink-400):not(.text-purple-400) {
  color: rgba(255, 255, 255, 0.95) !important;
}

/* 🔧 FIX 06/02/2026 v2: FORCE WHITE TEXT inside m1-folder-glass containers (M1SSION AGENT, BATTLE, TEMPO) */

.m1-folder-glass--graphite .text-white,
.m1-folder-glass--graphite [class*="text-white"],
.m1-folder-glass .text-white,
.m1-folder-glass [class*="text-white"],
.buzz-folder-glass .text-white,
.buzz-folder-glass [class*="text-white"] {
  color: rgba(255, 255, 255, 1) !important;
}

/* Force smaller white text visible inside glass containers */

.m1-folder-glass--graphite .text-white\/90,
.m1-folder-glass--graphite .text-white\/80,
.m1-folder-glass--graphite .text-white\/70,
.m1-folder-glass .text-white\/90,
.m1-folder-glass .text-white\/80,
.m1-folder-glass .text-white\/70 {
  color: rgba(255, 255, 255, 0.9) !important;
}

.m1-folder-glass--graphite .text-white\/60,
.m1-folder-glass--graphite .text-white\/50,
.m1-folder-glass--graphite .text-white\/40,
.m1-folder-glass .text-white\/60,
.m1-folder-glass .text-white\/50,
.m1-folder-glass .text-white\/40 {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* Force gray-400 text visible in leaderboard */

.leaderboard-card-glass .text-gray-400,
.leaderboard-card-glass .text-gray-500 {
  color: rgba(255, 255, 255, 0.60) !important;
}

/* 🔧 FIX 13/02/2026: MODAL PORTAL - Force WHITE text (GlassModal, RewardZonePopup)
   html:has(.sn-page) overrides text-white to dark - modals render in #m1-modal-portal
   and have DARK backgrounds, so text MUST stay white for legibility */

#m1-modal-portal .text-white,
#m1-modal-portal [class*="text-white"],
#m1-modal-portal .text-white\/90,
#m1-modal-portal .text-white\/80,
#m1-modal-portal .text-white\/70,
#m1-modal-portal .text-white\/60,
#m1-modal-portal .text-white\/50 {
  color: #ffffff !important;
}

/* 🔧 FIX GIOCA V6: Floating pills portal — same sn-page .text-white → dark override as #m1-modal-portal.
   Play modal bottom sheet lives here on dark panels; Tailwind text-white must stay light. */

#m1-floating-pills-v3-portal .text-white,
#m1-floating-pills-v3-portal [class*="text-white"],
#m1-floating-pills-v3-portal .text-white\/90,
#m1-floating-pills-v3-portal .text-white\/80,
#m1-floating-pills-v3-portal .text-white\/70,
#m1-floating-pills-v3-portal .text-white\/60,
#m1-floating-pills-v3-portal .text-white\/50,
#m1-floating-pills-v3-portal .text-emerald-50 {
  color: #fafafa !important;
}

/* RewardZonePopup renders to body (not #m1-modal-portal) - same fix */

.m1-reward-zone-popup .text-white,
.m1-reward-zone-popup [class*="text-white"],
.m1-reward-zone-popup .text-white\/90,
.m1-reward-zone-popup .text-white\/80,
.m1-reward-zone-popup .text-white\/70,
.m1-reward-zone-popup .text-white\/60,
.m1-reward-zone-popup .text-white\/50 {
  color: #ffffff !important;
}

/* 🔧 WKWEBVIEW MODAL READABILITY: Reward popup (body) - muted/gray/placeholder/disabled
   RewardZonePopup uses createPortal(..., document.body) + .m1-reward-zone-popup; no portal ID.
   Scope: only inside .m1-reward-zone-popup. */

.m1-reward-zone-popup .text-muted-foreground,
.m1-reward-zone-popup [class*="text-muted-foreground"],
.m1-reward-zone-popup .text-gray-400,
.m1-reward-zone-popup .text-gray-500 {
  color: rgba(255, 255, 255, 0.85) !important;
}

.m1-reward-zone-popup .text-foreground,
.m1-reward-zone-popup [class*="text-foreground"]:not([class*="muted"]) {
  color: #ffffff !important;
}

.m1-reward-zone-popup input::-moz-placeholder, .m1-reward-zone-popup textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.m1-reward-zone-popup input::placeholder,
.m1-reward-zone-popup textarea::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.m1-reward-zone-popup input:disabled,
.m1-reward-zone-popup textarea:disabled {
  opacity: 1 !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

/* 🔧 FIX 21/02/2026: MODAL PORTAL - Leggibilità testi (iOS WKWebView)
   #m1-modal-portal, #m1-settings-section-portal, #m1-profile-portal: muted/foreground
   e gray bianchi, placeholder e disabled leggibili. Scope-safe: nessun impatto fuori modali. */

#m1-modal-portal .text-muted-foreground,
#m1-modal-portal [class*="text-muted-foreground"],
#m1-settings-section-portal .text-muted-foreground,
#m1-settings-section-portal [class*="text-muted-foreground"],
#m1-profile-portal .text-muted-foreground,
#m1-profile-portal [class*="text-muted-foreground"],
#m1-modal-portal .text-gray-400,
#m1-modal-portal .text-gray-500,
#m1-settings-section-portal .text-gray-400,
#m1-settings-section-portal .text-gray-500,
#m1-profile-portal .text-gray-400,
#m1-profile-portal .text-gray-500 {
  color: rgba(255, 255, 255, 0.85) !important;
}

#m1-modal-portal .text-foreground,
#m1-modal-portal [class*="text-foreground"]:not([class*="muted"]),
#m1-settings-section-portal .text-foreground,
#m1-settings-section-portal [class*="text-foreground"]:not([class*="muted"]),
#m1-profile-portal .text-foreground,
#m1-profile-portal [class*="text-foreground"]:not([class*="muted"]) {
  color: #ffffff !important;
}

#m1-modal-portal input::-moz-placeholder, #m1-modal-portal textarea::-moz-placeholder, #m1-settings-section-portal input::-moz-placeholder, #m1-settings-section-portal textarea::-moz-placeholder, #m1-profile-portal input::-moz-placeholder, #m1-profile-portal textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

#m1-modal-portal input::placeholder,
#m1-modal-portal textarea::placeholder,
#m1-settings-section-portal input::placeholder,
#m1-settings-section-portal textarea::placeholder,
#m1-profile-portal input::placeholder,
#m1-profile-portal textarea::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

#m1-modal-portal input:disabled,
#m1-modal-portal textarea:disabled,
#m1-settings-section-portal input:disabled,
#m1-settings-section-portal textarea:disabled,
#m1-profile-portal input:disabled,
#m1-profile-portal textarea:disabled {
  opacity: 1 !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.sn-page .text-white\/70:not(.m1-folder-glass--graphite .text-white\/70):not(.m1-folder-glass .text-white\/70),
.sn-page .text-white\/80:not(.m1-folder-glass--graphite .text-white\/80):not(.m1-folder-glass .text-white\/80),
html:has(.sn-page) .text-white\/70:not(.m1-folder-glass--graphite .text-white\/70),
html:has(.sn-page) .text-white\/80:not(.m1-folder-glass--graphite .text-white\/80) {
  color: var(--wt-text-secondary) !important;
}

.sn-page .text-white\/60:not(.m1-folder-glass--graphite .text-white\/60):not(.m1-folder-glass .text-white\/60),
.sn-page .text-white\/50:not(.m1-folder-glass--graphite .text-white\/50):not(.m1-folder-glass .text-white\/50),
html:has(.sn-page) .text-white\/60:not(.m1-folder-glass--graphite .text-white\/60),
html:has(.sn-page) .text-white\/50:not(.m1-folder-glass--graphite .text-white\/50) {
  color: var(--wt-text-tertiary) !important;
}

/* Progress bars - change from black to gray */

.sn-page .bg-black\/30,
html:has(.sn-page) .bg-black\/30 {
  background: rgba(0, 0, 0, 0.08) !important;
}

.sn-page .bg-black\/50,
html:has(.sn-page) .bg-black\/50 {
  background: rgba(0, 0, 0, 0.12) !important;
}

/* Neon text adjustments for readability on white */

.sn-page .neon-text-cyan,
html:has(.sn-page) .neon-text-cyan {
  color: var(--wt-accent-cyan) !important;
  text-shadow: none !important;
}

.sn-page .neon-text-magenta,
html:has(.sn-page) .neon-text-magenta {
  color: #9333EA !important;
  text-shadow: none !important;
}

/* © 2026 Joseph MULÉ – M1SSION™ – ALL RIGHTS RESERVED – NIYVORA KFT™ */

.file\:mr-4::file-selector-button{
  margin-right: 1rem;
}

.file\:rounded::file-selector-button{
  border-radius: 0.25rem;
}

.file\:rounded-full::file-selector-button{
  border-radius: 9999px;
}

.file\:border-0::file-selector-button{
  border-width: 0px;
}

.file\:bg-cyan-500::file-selector-button{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.file\:bg-primary::file-selector-button{
  background-color: hsl(var(--primary));
}

.file\:bg-transparent::file-selector-button{
  background-color: transparent;
}

.file\:px-4::file-selector-button{
  padding-left: 1rem;
  padding-right: 1rem;
}

.file\:py-2::file-selector-button{
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.file\:text-sm::file-selector-button{
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.file\:font-medium::file-selector-button{
  font-weight: 500;
}

.file\:font-semibold::file-selector-button{
  font-weight: 600;
}

.file\:text-black::file-selector-button{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.file\:text-primary-foreground::file-selector-button{
  color: hsl(var(--primary-foreground));
}

.placeholder\:text-muted-foreground::-moz-placeholder{
  color: hsl(var(--muted-foreground));
}

.placeholder\:text-muted-foreground::placeholder{
  color: hsl(var(--muted-foreground));
}

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

.placeholder\:text-white\/40::-moz-placeholder{
  color: rgb(255 255 255 / 0.4);
}

.placeholder\:text-white\/40::placeholder{
  color: rgb(255 255 255 / 0.4);
}

.placeholder\:text-white\/50::-moz-placeholder{
  color: rgb(255 255 255 / 0.5);
}

.placeholder\:text-white\/50::placeholder{
  color: rgb(255 255 255 / 0.5);
}

.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}

.after\:-inset-2::after{
  content: var(--tw-content);
  inset: -0.5rem;
}

.after\:inset-y-0::after{
  content: var(--tw-content);
  top: 0px;
  bottom: 0px;
}

.after\:left-1\/2::after{
  content: var(--tw-content);
  left: 50%;
}

.after\:w-1::after{
  content: var(--tw-content);
  width: 0.25rem;
}

.after\:w-\[2px\]::after{
  content: var(--tw-content);
  width: 2px;
}

.after\:-translate-x-1\/2::after{
  content: var(--tw-content);
  --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));
}

.first\:rounded-l-md:first-child{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.first\:border-l:first-child{
  border-left-width: 1px;
}

.last\:mb-0:last-child{
  margin-bottom: 0px;
}

.last\:rounded-r-md:last-child{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.last\:border-0:last-child{
  border-width: 0px;
}

.last\:pb-0:last-child{
  padding-bottom: 0px;
}

.focus-within\:relative:focus-within{
  position: relative;
}

.focus-within\:z-20:focus-within{
  z-index: 20;
}

.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-\[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\:scale-\[1\.03\]:hover{
  --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));
}

.hover\:border-\[\#00D1FF\]\/30:hover{
  border-color: rgb(0 209 255 / 0.3);
}

.hover\:border-\[\#00D1FF\]\/40:hover{
  border-color: rgb(0 209 255 / 0.4);
}

.hover\:border-\[\#00D1FF\]\/50:hover{
  border-color: rgb(0 209 255 / 0.5);
}

.hover\:border-\[\#00D1FF\]\/60:hover{
  border-color: rgb(0 209 255 / 0.6);
}

.hover\:border-\[\#00D1FF\]\/70:hover{
  border-color: rgb(0 209 255 / 0.7);
}

.hover\:border-\[\#4361ee\]\/50:hover{
  border-color: rgb(67 97 238 / 0.5);
}

.hover\:border-\[\#7209b7\]\/50:hover{
  border-color: rgb(114 9 183 / 0.5);
}

.hover\:border-blue-500\/40:hover{
  border-color: rgb(59 130 246 / 0.4);
}

.hover\:border-border:hover{
  border-color: hsl(var(--border));
}

.hover\:border-cyan-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.hover\:border-cyan-400\/30:hover{
  border-color: rgb(34 211 238 / 0.3);
}

.hover\:border-cyan-400\/50:hover{
  border-color: rgb(34 211 238 / 0.5);
}

.hover\:border-cyan-400\/70:hover{
  border-color: rgb(34 211 238 / 0.7);
}

.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-cyan-500\/60:hover{
  border-color: rgb(6 182 212 / 0.6);
}

.hover\:border-emerald-500\/40:hover{
  border-color: rgb(16 185 129 / 0.4);
}

.hover\:border-gray-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}

.hover\:border-gray-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.hover\:border-green-400\/50:hover{
  border-color: rgb(74 222 128 / 0.5);
}

.hover\:border-m1ssion-blue\/50:hover{
  border-color: rgb(0 209 255 / 0.5);
}

.hover\:border-purple-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}

.hover\:border-purple-400\/60:hover{
  border-color: rgb(192 132 252 / 0.6);
}

.hover\:border-purple-400\/70:hover{
  border-color: rgb(192 132 252 / 0.7);
}

.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-400\/60:hover{
  border-color: rgb(248 113 113 / 0.6);
}

.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\/30:hover{
  border-color: rgb(255 255 255 / 0.3);
}

.hover\:border-white\/40:hover{
  border-color: rgb(255 255 255 / 0.4);
}

.hover\:border-white\/70:hover{
  border-color: rgb(255 255 255 / 0.7);
}

.hover\:border-yellow-500\/60:hover{
  border-color: rgb(234 179 8 / 0.6);
}

.hover\:bg-\[\#0077B5\]\/10:hover{
  background-color: rgb(0 119 181 / 0.1);
}

.hover\:bg-\[\#00A3CC\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 163 204 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00A8CC\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 168 204 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00B8E6\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 184 230 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#00D1FF\]\/10:hover{
  background-color: rgb(0 209 255 / 0.1);
}

.hover\:bg-\[\#00D1FF\]\/20:hover{
  background-color: rgb(0 209 255 / 0.2);
}

.hover\:bg-\[\#00D1FF\]\/30:hover{
  background-color: rgb(0 209 255 / 0.3);
}

.hover\:bg-\[\#00D1FF\]\/5:hover{
  background-color: rgb(0 209 255 / 0.05);
}

.hover\:bg-\[\#00D1FF\]\/80:hover{
  background-color: rgb(0 209 255 / 0.8);
}

.hover\:bg-\[\#00a3ff99\]:hover{
  background-color: #00a3ff99;
}

.hover\:bg-\[\#00f0ff\]\/90:hover{
  background-color: rgb(0 240 255 / 0.9);
}

.hover\:bg-\[\#0a0a0a\]\/70:hover{
  background-color: rgb(10 10 10 / 0.7);
}

.hover\:bg-\[\#0e0e0e\]\/90:hover{
  background-color: rgb(14 14 14 / 0.9);
}

.hover\:bg-\[\#25D366\]\/10:hover{
  background-color: rgb(37 211 102 / 0.1);
}

.hover\:bg-\[\#3b5998\]\/10:hover{
  background-color: rgb(59 89 152 / 0.1);
}

.hover\:bg-\[\#7E69AB77\]:hover{
  background-color: #7E69AB77;
}

.hover\:bg-\[\#E1306C\]\/10:hover{
  background-color: rgb(225 48 108 / 0.1);
}

.hover\:bg-\[\#d946ef99\]:hover{
  background-color: #d946ef99;
}

.hover\:bg-\[hsl\(var\(--accent\)\)\]\/10:hover{
  background-color: hsl(var(--accent) / 0.1);
}

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

.hover\:bg-amber-500\/10:hover{
  background-color: rgb(245 158 11 / 0.1);
}

.hover\:bg-amber-500\/20:hover{
  background-color: rgb(245 158 11 / 0.2);
}

.hover\:bg-amber-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}

.hover\:bg-amber-700\/30:hover{
  background-color: rgb(180 83 9 / 0.3);
}

.hover\:bg-background\/30:hover{
  background-color: hsl(var(--background) / 0.3);
}

.hover\:bg-background\/50:hover{
  background-color: hsl(var(--background) / 0.5);
}

.hover\:bg-background\/90:hover{
  background-color: hsl(var(--background) / 0.9);
}

.hover\:bg-black\/10:hover{
  background-color: rgb(0 0 0 / 0.1);
}

.hover\:bg-black\/30:hover{
  background-color: rgb(0 0 0 / 0.3);
}

.hover\:bg-black\/40:hover{
  background-color: rgb(0 0 0 / 0.4);
}

.hover\:bg-black\/50:hover{
  background-color: rgb(0 0 0 / 0.5);
}

.hover\:bg-black\/60:hover{
  background-color: rgb(0 0 0 / 0.6);
}

.hover\:bg-black\/70:hover{
  background-color: rgb(0 0 0 / 0.7);
}

.hover\:bg-black\/75:hover{
  background-color: rgb(0 0 0 / 0.75);
}

.hover\:bg-black\/80:hover{
  background-color: rgb(0 0 0 / 0.8);
}

.hover\:bg-black\/90:hover{
  background-color: rgb(0 0 0 / 0.9);
}

.hover\:bg-blue-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-400\/10:hover{
  background-color: rgb(96 165 250 / 0.1);
}

.hover\:bg-blue-500\/10:hover{
  background-color: rgb(59 130 246 / 0.1);
}

.hover\:bg-blue-500\/30:hover{
  background-color: rgb(59 130 246 / 0.3);
}

.hover\:bg-blue-500\/40:hover{
  background-color: rgb(59 130 246 / 0.4);
}

.hover\:bg-blue-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-600\/40:hover{
  background-color: rgb(37 99 235 / 0.4);
}

.hover\:bg-blue-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(30 64 175 / var(--tw-bg-opacity, 1));
}

.hover\:bg-card\/80:hover{
  background-color: hsl(var(--card) / 0.8);
}

.hover\:bg-cyan-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-400\/10:hover{
  background-color: rgb(34 211 238 / 0.1);
}

.hover\:bg-cyan-500\/10:hover{
  background-color: rgb(6 182 212 / 0.1);
}

.hover\:bg-cyan-500\/20:hover{
  background-color: rgb(6 182 212 / 0.2);
}

.hover\:bg-cyan-500\/30:hover{
  background-color: rgb(6 182 212 / 0.3);
}

.hover\:bg-cyan-500\/80:hover{
  background-color: rgb(6 182 212 / 0.8);
}

.hover\:bg-cyan-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-600\/40:hover{
  background-color: rgb(8 145 178 / 0.4);
}

.hover\:bg-cyan-600\/70:hover{
  background-color: rgb(8 145 178 / 0.7);
}

.hover\:bg-cyan-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(14 116 144 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-700\/50:hover{
  background-color: rgb(14 116 144 / 0.5);
}

.hover\:bg-cyan-700\/90:hover{
  background-color: rgb(14 116 144 / 0.9);
}

.hover\:bg-cyan-900\/50:hover{
  background-color: rgb(22 78 99 / 0.5);
}

.hover\:bg-cyan-950:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(8 51 68 / var(--tw-bg-opacity, 1));
}

.hover\:bg-cyan-950\/30:hover{
  background-color: rgb(8 51 68 / 0.3);
}

.hover\:bg-destructive-foreground\/10:hover{
  background-color: hsl(var(--destructive-foreground) / 0.1);
}

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

.hover\:bg-destructive\/10:hover{
  background-color: hsl(var(--destructive) / 0.1);
}

.hover\:bg-destructive\/20:hover{
  background-color: hsl(var(--destructive) / 0.2);
}

.hover\:bg-destructive\/80:hover{
  background-color: hsl(var(--destructive) / 0.8);
}

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

.hover\:bg-gray-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-400\/10:hover{
  background-color: rgb(156 163 175 / 0.1);
}

.hover\:bg-gray-500\/10:hover{
  background-color: rgb(107 114 128 / 0.1);
}

.hover\:bg-gray-600\/40:hover{
  background-color: rgb(75 85 99 / 0.4);
}

.hover\:bg-gray-600\/80:hover{
  background-color: rgb(75 85 99 / 0.8);
}

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

.hover\:bg-gray-700\/30:hover{
  background-color: rgb(55 65 81 / 0.3);
}

.hover\:bg-gray-700\/50:hover{
  background-color: rgb(55 65 81 / 0.5);
}

.hover\:bg-gray-700\/60:hover{
  background-color: rgb(55 65 81 / 0.6);
}

.hover\:bg-gray-700\/80:hover{
  background-color: rgb(55 65 81 / 0.8);
}

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

.hover\:bg-gray-800\/30:hover{
  background-color: rgb(31 41 55 / 0.3);
}

.hover\:bg-gray-800\/50:hover{
  background-color: rgb(31 41 55 / 0.5);
}

.hover\:bg-gray-900:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-950\/30:hover{
  background-color: rgb(3 7 18 / 0.3);
}

.hover\:bg-green-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-500\/10:hover{
  background-color: rgb(34 197 94 / 0.1);
}

.hover\:bg-green-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-600\/40:hover{
  background-color: rgb(22 163 74 / 0.4);
}

.hover\:bg-green-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-green-950\/30:hover{
  background-color: rgb(5 46 22 / 0.3);
}

.hover\:bg-m1ssion-blue:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-m1ssion-blue\/10:hover{
  background-color: rgb(0 209 255 / 0.1);
}

.hover\:bg-m1ssion-blue\/20:hover{
  background-color: rgb(0 209 255 / 0.2);
}

.hover\:bg-m1ssion-deep-blue:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(19 21 36 / var(--tw-bg-opacity, 1));
}

.hover\:bg-m1ssion-pink:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 89 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-muted:hover{
  background-color: hsl(var(--muted));
}

.hover\:bg-muted\/50:hover{
  background-color: hsl(var(--muted) / 0.5);
}

.hover\:bg-orange-400\/10:hover{
  background-color: rgb(251 146 60 / 0.1);
}

.hover\:bg-orange-500\/10:hover{
  background-color: rgb(249 115 22 / 0.1);
}

.hover\:bg-orange-500\/30:hover{
  background-color: rgb(249 115 22 / 0.3);
}

.hover\:bg-orange-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary:hover{
  background-color: hsl(var(--primary));
}

.hover\:bg-primary\/10:hover{
  background-color: hsl(var(--primary) / 0.1);
}

.hover\:bg-primary\/20:hover{
  background-color: hsl(var(--primary) / 0.2);
}

.hover\:bg-primary\/80:hover{
  background-color: hsl(var(--primary) / 0.8);
}

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

.hover\:bg-purple-400\/10:hover{
  background-color: rgb(192 132 252 / 0.1);
}

.hover\:bg-purple-500\/10:hover{
  background-color: rgb(168 85 247 / 0.1);
}

.hover\:bg-purple-500\/20:hover{
  background-color: rgb(168 85 247 / 0.2);
}

.hover\:bg-purple-500\/30:hover{
  background-color: rgb(168 85 247 / 0.3);
}

.hover\:bg-purple-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-600\/40:hover{
  background-color: rgb(147 51 234 / 0.4);
}

.hover\:bg-purple-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}

.hover\:bg-purple-900\/20:hover{
  background-color: rgb(88 28 135 / 0.2);
}

.hover\:bg-red-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-500\/10:hover{
  background-color: rgb(239 68 68 / 0.1);
}

.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-600\/30:hover{
  background-color: rgb(220 38 38 / 0.3);
}

.hover\:bg-red-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-900\/20:hover{
  background-color: rgb(127 29 29 / 0.2);
}

.hover\:bg-red-900\/50:hover{
  background-color: rgb(127 29 29 / 0.5);
}

.hover\:bg-secondary:hover{
  background-color: hsl(var(--secondary));
}

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

.hover\:bg-transparent:hover{
  background-color: transparent;
}

.hover\:bg-white\/10:hover{
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover{
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/30:hover{
  background-color: rgb(255 255 255 / 0.3);
}

.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\/60:hover{
  background-color: rgb(255 255 255 / 0.6);
}

.hover\:bg-white\/90:hover{
  background-color: rgb(255 255 255 / 0.9);
}

.hover\:bg-yellow-400\/10:hover{
  background-color: rgb(250 204 21 / 0.1);
}

.hover\:bg-yellow-500\/10:hover{
  background-color: rgb(234 179 8 / 0.1);
}

.hover\:bg-yellow-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(161 98 7 / var(--tw-bg-opacity, 1));
}

.hover\:bg-yellow-950\/30:hover{
  background-color: rgb(66 32 6 / 0.3);
}

.hover\:bg-zinc-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(63 63 70 / var(--tw-bg-opacity, 1));
}

.hover\:bg-opacity-20:hover{
  --tw-bg-opacity: 0.2;
}

.hover\:from-\[\#0099CC\]:hover{
  --tw-gradient-from: #0099CC var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 153 204 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#00B8E6\]:hover{
  --tw-gradient-from: #00B8E6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 184 230 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#00D1FF\]:hover{
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#1eaedbff\]:hover{
  --tw-gradient-from: #1eaedbff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 174 219 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#4361ee\]\/80:hover{
  --tw-gradient-from: rgb(67 97 238 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(67 97 238 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-\[\#F213A4\]\/30:hover{
  --tw-gradient-from: rgb(242 19 164 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(242 19 164 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-blue-400:hover{
  --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);
}

.hover\:from-blue-600:hover{
  --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);
}

.hover\:from-blue-700:hover{
  --tw-gradient-from: #1d4ed8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(29 78 216 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.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-cyan-500:hover{
  --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);
}

.hover\:from-cyan-600:hover{
  --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);
}

.hover\:from-cyan-700:hover{
  --tw-gradient-from: #0e7490 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 116 144 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-fuchsia-700:hover{
  --tw-gradient-from: #a21caf var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(162 28 175 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-400:hover{
  --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);
}

.hover\:from-green-600:hover{
  --tw-gradient-from: #16a34a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-green-700:hover{
  --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);
}

.hover\:from-m1ssion-blue\/30:hover{
  --tw-gradient-from: rgb(0 209 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-orange-400:hover{
  --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);
}

.hover\:from-orange-500\/50:hover{
  --tw-gradient-from: rgb(249 115 22 / 0.5) 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);
}

.hover\:from-orange-600:hover{
  --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);
}

.hover\:from-orange-700:hover{
  --tw-gradient-from: #c2410c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(194 65 12 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-primary\/90:hover{
  --tw-gradient-from: hsl(var(--primary) / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-400:hover{
  --tw-gradient-from: #c084fc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-500:hover{
  --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);
}

.hover\:from-purple-500\/50:hover{
  --tw-gradient-from: rgb(168 85 247 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-purple-600:hover{
  --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);
}

.hover\:from-purple-600\/30:hover{
  --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);
}

.hover\:from-purple-600\/40:hover{
  --tw-gradient-from: rgb(147 51 234 / 0.4) 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);
}

.hover\:from-purple-700:hover{
  --tw-gradient-from: #7e22ce 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);
}

.hover\:from-red-500:hover{
  --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);
}

.hover\:from-red-600:hover{
  --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);
}

.hover\:from-red-700:hover{
  --tw-gradient-from: #b91c1c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(185 28 28 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-red-800\/90:hover{
  --tw-gradient-from: rgb(153 27 27 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(153 27 27 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-yellow-500:hover{
  --tw-gradient-from: #eab308 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);
}

.hover\:from-yellow-600:hover{
  --tw-gradient-from: #ca8a04 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-yellow-600\/60:hover{
  --tw-gradient-from: rgb(202 138 4 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(202 138 4 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:from-yellow-700:hover{
  --tw-gradient-from: #a16207 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(161 98 7 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.hover\:to-\[\#007799\]:hover{
  --tw-gradient-to: #007799 var(--tw-gradient-to-position);
}

.hover\:to-\[\#0EA5E9\]\/30:hover{
  --tw-gradient-to: rgb(14 165 233 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-\[\#6A25CC\]:hover{
  --tw-gradient-to: #6A25CC var(--tw-gradient-to-position);
}

.hover\:to-\[\#7209b7\]\/80:hover{
  --tw-gradient-to: rgb(114 9 183 / 0.8) var(--tw-gradient-to-position);
}

.hover\:to-\[\#F059FF\]:hover{
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.hover\:to-\[\#a855f7bb\]:hover{
  --tw-gradient-to: #a855f7bb var(--tw-gradient-to-position);
}

.hover\:to-amber-600:hover{
  --tw-gradient-to: #d97706 var(--tw-gradient-to-position);
}

.hover\:to-blue-400:hover{
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}

.hover\:to-blue-500:hover{
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}

.hover\:to-blue-600:hover{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}

.hover\:to-blue-600\/30:hover{
  --tw-gradient-to: rgb(37 99 235 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-blue-700:hover{
  --tw-gradient-to: #1d4ed8 var(--tw-gradient-to-position);
}

.hover\:to-cyan-400:hover{
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}

.hover\:to-cyan-600:hover{
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}

.hover\:to-emerald-500:hover{
  --tw-gradient-to: #10b981 var(--tw-gradient-to-position);
}

.hover\:to-fuchsia-950:hover{
  --tw-gradient-to: #4a044e var(--tw-gradient-to-position);
}

.hover\:to-indigo-700:hover{
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}

.hover\:to-m1ssion-pink\/30:hover{
  --tw-gradient-to: rgb(240 89 255 / 0.3) var(--tw-gradient-to-position);
}

.hover\:to-orange-500:hover{
  --tw-gradient-to: #f97316 var(--tw-gradient-to-position);
}

.hover\:to-orange-600:hover{
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}

.hover\:to-orange-600\/60:hover{
  --tw-gradient-to: rgb(234 88 12 / 0.6) var(--tw-gradient-to-position);
}

.hover\:to-orange-700:hover{
  --tw-gradient-to: #c2410c var(--tw-gradient-to-position);
}

.hover\:to-orange-800\/90:hover{
  --tw-gradient-to: rgb(154 52 18 / 0.9) var(--tw-gradient-to-position);
}

.hover\:to-pink-400:hover{
  --tw-gradient-to: #f472b6 var(--tw-gradient-to-position);
}

.hover\:to-pink-500:hover{
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}

.hover\:to-pink-500\/50:hover{
  --tw-gradient-to: rgb(236 72 153 / 0.5) var(--tw-gradient-to-position);
}

.hover\:to-pink-600:hover{
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}

.hover\:to-pink-600\/40:hover{
  --tw-gradient-to: rgb(219 39 119 / 0.4) var(--tw-gradient-to-position);
}

.hover\:to-pink-700:hover{
  --tw-gradient-to: #be185d var(--tw-gradient-to-position);
}

.hover\:to-primary\/70:hover{
  --tw-gradient-to: hsl(var(--primary) / 0.7) var(--tw-gradient-to-position);
}

.hover\:to-primary\/80:hover{
  --tw-gradient-to: hsl(var(--primary) / 0.8) var(--tw-gradient-to-position);
}

.hover\:to-primary\/90:hover{
  --tw-gradient-to: hsl(var(--primary) / 0.9) var(--tw-gradient-to-position);
}

.hover\:to-purple-500:hover{
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}

.hover\:to-purple-600:hover{
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}

.hover\:to-purple-700:hover{
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}

.hover\:to-red-400:hover{
  --tw-gradient-to: #f87171 var(--tw-gradient-to-position);
}

.hover\:to-red-500\/50:hover{
  --tw-gradient-to: rgb(239 68 68 / 0.5) var(--tw-gradient-to-position);
}

.hover\:to-red-700:hover{
  --tw-gradient-to: #b91c1c var(--tw-gradient-to-position);
}

.hover\:to-red-800:hover{
  --tw-gradient-to: #991b1b var(--tw-gradient-to-position);
}

.hover\:to-yellow-400:hover{
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}

.hover\:to-yellow-700:hover{
  --tw-gradient-to: #a16207 var(--tw-gradient-to-position);
}

.hover\:text-\[\#00D1FF\]:hover{
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#00D1FF\]\/60:hover{
  color: rgb(0 209 255 / 0.6);
}

.hover\:text-\[\#FF59F8\]:hover{
  --tw-text-opacity: 1;
  color: rgb(255 89 248 / var(--tw-text-opacity, 1));
}

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

.hover\:text-amber-200:hover{
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}

.hover\:text-blue-300:hover{
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}

.hover\:text-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-foreground:hover{
  color: hsl(var(--foreground));
}

.hover\:text-gray-200:hover{
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}

.hover\:text-gray-400:hover{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}

.hover\:text-green-400:hover{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}

.hover\:text-m1ssion-pink:hover{
  --tw-text-opacity: 1;
  color: rgb(240 89 255 / var(--tw-text-opacity, 1));
}

.hover\:text-muted-foreground:hover{
  color: hsl(var(--muted-foreground));
}

.hover\:text-primary-foreground:hover{
  color: hsl(var(--primary-foreground));
}

.hover\:text-primary\/80:hover{
  color: hsl(var(--primary) / 0.8);
}

.hover\:text-purple-300:hover{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.hover\:text-red-100:hover{
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}

.hover\:text-red-300:hover{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / 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-100:hover{
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / 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\/60:hover{
  color: rgb(255 255 255 / 0.6);
}

.hover\:text-white\/80:hover{
  color: rgb(255 255 255 / 0.8);
}

.hover\:text-white\/90:hover{
  color: rgb(255 255 255 / 0.9);
}

.hover\:text-yellow-400:hover{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

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

.hover\:opacity-100:hover{
  opacity: 1;
}

.hover\:opacity-80:hover{
  opacity: 0.8;
}

.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_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{
  --tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));
  --tw-shadow-colored: 0 0 0 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);
}

.hover\:shadow-\[0_0_10px_rgba\(0\2c 229\2c 255\2c 0\.2\)\]:hover{
  --tw-shadow: 0 0 10px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 0\2c 0\2c 0\.7\)\]:hover{
  --tw-shadow: 0 0 15px rgba(0,0,0,0.7);
  --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_15px_rgba\(0\2c 102\2c 255\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(0,102,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 209\2c 255\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(0,209,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 229\2c 255\2c 0\.4\)\]:hover{
  --tw-shadow: 0 0 15px rgba(0,229,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);
}

.hover\:shadow-\[0_0_15px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(0,229,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);
}

.hover\:shadow-\[0_0_15px_rgba\(138\2c 43\2c 226\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(138,43,226,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_15px_rgba\(192\2c 192\2c 192\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(192,192,192,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_15px_rgba\(217\2c 70\2c 239\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(217,70,239,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_15px_rgba\(230\2c 230\2c 250\2c 0\.8\)\]:hover{
  --tw-shadow: 0 0 15px rgba(230,230,250,0.8);
  --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_15px_rgba\(239\2c 68\2c 68\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(239,68,68,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_15px_rgba\(250\2c 204\2c 21\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(250,204,21,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_15px_rgba\(255\2c 215\2c 0\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 15px rgba(255,215,0,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_rgba\(0\2c 209\2c 255\2c 0\.4\)\]:hover{
  --tw-shadow: 0 0 20px rgba(0,209,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);
}

.hover\:shadow-\[0_0_20px_rgba\(0\2c 209\2c 255\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 20px rgba(0,209,255,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);
}

.hover\:shadow-\[0_0_20px_rgba\(0\2c 229\2c 255\2c 0\.4\)\]:hover{
  --tw-shadow: 0 0 20px rgba(0,229,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);
}

.hover\:shadow-\[0_0_20px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 20px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_20px_rgba\(147\2c 51\2c 234\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 20px rgba(147,51,234,0.6);
  --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\(148\2c 163\2c 184\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 20px rgba(148,163,184,0.6);
  --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\(251\2c 191\2c 36\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 20px rgba(251,191,36,0.6);
  --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\(34\2c 211\2c 238\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 20px rgba(34,211,238,0.6);
  --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\(75\2c 85\2c 99\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 20px rgba(75,85,99,0.6);
  --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_25px_rgba\(0\2c 229\2c 255\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 25px rgba(0,229,255,0.6);
  --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);
}

.hover\:shadow-\[0_0_30px_rgba\(0\2c 209\2c 255\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 30px rgba(0,209,255,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\(0\2c 229\2c 255\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 30px rgba(0,229,255,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\(168\2c 85\2c 247\2c 0\.4\)\]:hover{
  --tw-shadow: 0 0 30px rgba(168,85,247,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);
}

.hover\:shadow-\[0_0_30px_rgba\(168\2c 85\2c 247\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 30px rgba(168,85,247,0.5);
  --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\(250\2c 204\2c 21\2c 0\.4\)\]:hover{
  --tw-shadow: 0 0 30px rgba(250,204,21,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);
}

.hover\:shadow-\[0_0_30px_rgba\(34\2c 211\2c 238\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 30px rgba(34,211,238,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_40px_rgba\(0\2c 229\2c 255\2c 0\.4\)\]:hover{
  --tw-shadow: 0 0 40px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_40px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 40px rgba(0,229,255,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);
}

.hover\:shadow-\[0_0_40px_rgba\(168\2c 85\2c 247\2c 0\.6\)\]:hover{
  --tw-shadow: 0 0 40px rgba(168,85,247,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_0_40px_rgba\(255\2c 255\2c 255\2c 0\.4\)\]:hover{
  --tw-shadow: 0 0 40px rgba(255,255,255,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);
}

.hover\:shadow-\[0_0_60px_rgba\(0\2c 229\2c 255\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 60px rgba(0,229,255,0.5);
  --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);
}

.hover\:shadow-\[0_0_60px_rgba\(245\2c 158\2c 11\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 60px rgba(245,158,11,0.5);
  --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);
}

.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\:shadow-md:hover{
  --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);
}

.hover\:shadow-xl:hover{
  --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);
}

.hover\:shadow-\[\#00D1FF\]\/30:hover{
  --tw-shadow-color: rgb(0 209 255 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-cyan-500\/20:hover{
  --tw-shadow-color: rgb(6 182 212 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-cyan-500\/30:hover{
  --tw-shadow-color: rgb(6 182 212 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-cyan-500\/50:hover{
  --tw-shadow-color: rgb(6 182 212 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-fuchsia-500\/50:hover{
  --tw-shadow-color: rgb(217 70 239 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-red-500\/30:hover{
  --tw-shadow-color: rgb(239 68 68 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-red-500\/50:hover{
  --tw-shadow-color: rgb(239 68 68 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:shadow-yellow-500\/50:hover{
  --tw-shadow-color: rgb(234 179 8 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}

.hover\:ring-2:hover{
  --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);
}

.hover\:ring-\[\#00D1FF\]:hover{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

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

.hover\:file\:bg-cyan-400::file-selector-button:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}

.hover\:file\:bg-primary\/90::file-selector-button:hover{
  background-color: hsl(var(--primary) / 0.9);
}

.focus\:border-\[\#00D1FF\]:focus{
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.focus\:border-\[\#00D1FF\]\/50:focus{
  border-color: rgb(0 209 255 / 0.5);
}

.focus\:border-\[\#00E5FF\]\/50:focus{
  border-color: rgb(0 229 255 / 0.5);
}

.focus\:border-\[\#F213A4\]\/50:focus{
  border-color: rgb(242 19 164 / 0.5);
}

.focus\:border-cyan-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}

.focus\:border-cyan-400\/50:focus{
  border-color: rgb(34 211 238 / 0.5);
}

.focus\:border-cyan-500\/50:focus{
  border-color: rgb(6 182 212 / 0.5);
}

.focus\:border-cyan-500\/60:focus{
  border-color: rgb(6 182 212 / 0.6);
}

.focus\:border-green-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}

.focus\:border-primary:focus{
  border-color: hsl(var(--primary));
}

.focus\:border-purple-500\/50:focus{
  border-color: rgb(168 85 247 / 0.5);
}

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

.focus\:bg-primary:focus{
  background-color: hsl(var(--primary));
}

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

.focus\:text-primary-foreground:focus{
  color: hsl(var(--primary-foreground));
}

.focus\:opacity-100:focus{
  opacity: 1;
}

.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-1: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(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);
}

.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-\[\#00D1FF\]:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.focus\:ring-\[\#00D1FF\]\/30:focus{
  --tw-ring-color: rgb(0 209 255 / 0.3);
}

.focus\:ring-\[\#00E5FF\]\/50:focus{
  --tw-ring-color: rgb(0 229 255 / 0.5);
}

.focus\:ring-\[\#00a3ff\]:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 163 255 / var(--tw-ring-opacity, 1));
}

.focus\:ring-cyan-400\/40:focus{
  --tw-ring-color: rgb(34 211 238 / 0.4);
}

.focus\:ring-cyan-500\/50:focus{
  --tw-ring-color: rgb(6 182 212 / 0.5);
}

.focus\:ring-primary\/20:focus{
  --tw-ring-color: hsl(var(--primary) / 0.2);
}

.focus\:ring-primary\/50:focus{
  --tw-ring-color: hsl(var(--primary) / 0.5);
}

.focus\:ring-ring:focus{
  --tw-ring-color: hsl(var(--ring));
}

.focus\:ring-yellow-300\/50:focus{
  --tw-ring-color: rgb(253 224 71 / 0.5);
}

.focus\:ring-offset-2:focus{
  --tw-ring-offset-width: 2px;
}

.focus-visible\:outline-none:focus-visible{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus-visible\:ring-1:focus-visible{
  --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);
}

.focus-visible\:ring-2:focus-visible{
  --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-visible\:ring-cyan-500:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(6 182 212 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-m1ssion-blue:focus-visible{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(0 209 255 / var(--tw-ring-opacity, 1));
}

.focus-visible\:ring-ring:focus-visible{
  --tw-ring-color: hsl(var(--ring));
}

.focus-visible\:ring-white\/30:focus-visible{
  --tw-ring-color: rgb(255 255 255 / 0.3);
}

.focus-visible\:ring-offset-1:focus-visible{
  --tw-ring-offset-width: 1px;
}

.focus-visible\:ring-offset-2:focus-visible{
  --tw-ring-offset-width: 2px;
}

.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\.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\:bg-purple-900\/40:active{
  background-color: rgb(88 28 135 / 0.4);
}

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

.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}

.disabled\:bg-gray-600:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}

.disabled\:bg-red-800:disabled{
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / var(--tw-bg-opacity, 1));
}

.disabled\:text-white:disabled{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.disabled\:opacity-100:disabled{
  opacity: 1;
}

.disabled\:opacity-30:disabled{
  opacity: 0.3;
}

.disabled\:opacity-35:disabled{
  opacity: 0.35;
}

.disabled\:opacity-40:disabled{
  opacity: 0.4;
}

.disabled\:opacity-50:disabled{
  opacity: 0.5;
}

.disabled\:hover\:scale-100:hover:disabled{
  --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\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{
  opacity: 1;
}

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

.group:hover .group-hover\:translate-x-1{
  --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));
}

.group:hover .group-hover\:translate-x-\[200\%\]{
  --tw-translate-x: 200%;
  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-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));
}

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

@keyframes pulse{

  50%{
    opacity: 0.8;
  }

  0%, 100%{
    opacity: 0.3;
  }
}

.group:hover .group-hover\:animate-pulse{
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.group:hover .group-hover\:border-\[\#4361ee\]\/80{
  border-color: rgb(67 97 238 / 0.8);
}

.group:hover .group-hover\:border-cyan-500\/40{
  border-color: rgb(6 182 212 / 0.4);
}

.group:hover .group-hover\:border-white\/20{
  border-color: rgb(255 255 255 / 0.2);
}

.group:hover .group-hover\:text-\[\#00D1FF\]{
  --tw-text-opacity: 1;
  color: rgb(0 209 255 / 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-purple-400{
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / 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-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

.group\/menu-item:hover .group-hover\/menu-item\:opacity-100{
  opacity: 1;
}

.group:hover .group-hover\:opacity-10{
  opacity: 0.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\:shadow-\[0_0_20px_rgba\(0\2c 255\2c 255\2c 0\.2\)\]{
  --tw-shadow: 0 0 20px rgba(0,255,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);
}

.group:active .group-active\:scale-95{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group.destructive .group-\[\.destructive\]\:border-muted\/40{
  border-color: hsl(var(--muted) / 0.4);
}

.group.toast .group-\[\.toast\]\:bg-cyan-500{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}

.group.toast .group-\[\.toast\]\:bg-muted{
  background-color: hsl(var(--muted));
}

.group.destructive .group-\[\.destructive\]\:text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.group.toast .group-\[\.toast\]\:text-black{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.group.toast .group-\[\.toast\]\:text-muted-foreground{
  color: hsl(var(--muted-foreground));
}

.group.toast .group-\[\.toast\]\:text-white\/80{
  color: rgb(255 255 255 / 0.8);
}

.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{
  border-color: hsl(var(--destructive) / 0.3);
}

.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{
  background-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{
  color: hsl(var(--destructive-foreground));
}

.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / var(--tw-text-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{
  --tw-ring-color: hsl(var(--destructive));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1));
}

.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{
  --tw-ring-offset-color: #dc2626;
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed{
  cursor: not-allowed;
}

.peer:disabled ~ .peer-disabled\:opacity-70{
  opacity: 0.7;
}

.has-\[\:disabled\]\:opacity-50:has(:disabled){
  opacity: 0.5;
}

.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{
  padding-right: 2rem;
}

.aria-disabled\:pointer-events-none[aria-disabled="true"]{
  pointer-events: none;
}

.aria-disabled\:opacity-50[aria-disabled="true"]{
  opacity: 0.5;
}

.aria-selected\:bg-accent[aria-selected="true"]{
  background-color: hsl(var(--accent));
}

.aria-selected\:bg-accent\/50[aria-selected="true"]{
  background-color: hsl(var(--accent) / 0.5);
}

.aria-selected\:text-accent-foreground[aria-selected="true"]{
  color: hsl(var(--accent-foreground));
}

.aria-selected\:text-muted-foreground[aria-selected="true"]{
  color: hsl(var(--muted-foreground));
}

.aria-selected\:opacity-100[aria-selected="true"]{
  opacity: 1;
}

.aria-selected\:opacity-30[aria-selected="true"]{
  opacity: 0.3;
}

.data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"]{
  pointer-events: none;
}

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

.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction="vertical"]{
  height: 1px;
}

.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction="vertical"]{
  width: 100%;
}

.data-\[side\=bottom\]\:translate-y-1[data-side="bottom"]{
  --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));
}

.data-\[side\=left\]\:-translate-x-1[data-side="left"]{
  --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));
}

.data-\[side\=right\]\:translate-x-1[data-side="right"]{
  --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));
}

.data-\[side\=top\]\:-translate-y-1[data-side="top"]{
  --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));
}

.data-\[state\=checked\]\:translate-x-5[data-state="checked"]{
  --tw-translate-x: 1.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));
}

.data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"]{
  --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));
}

.data-\[swipe\=cancel\]\:translate-x-0[data-swipe="cancel"]{
  --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));
}

.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe="end"]{
  --tw-translate-x: var(--radix-toast-swipe-end-x);
  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));
}

.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe="move"]{
  --tw-translate-x: var(--radix-toast-swipe-move-x);
  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));
}

@keyframes accordion-up{

  from{
    height: var(--radix-accordion-content-height);
  }

  to{
    height: 0;
  }
}

.data-\[state\=closed\]\:animate-accordion-up[data-state="closed"]{
  animation: accordion-up 0.2s ease-out;
}

@keyframes accordion-down{

  from{
    height: 0;
  }

  to{
    height: var(--radix-accordion-content-height);
  }
}

.data-\[state\=open\]\:animate-accordion-down[data-state="open"]{
  animation: accordion-down 0.2s ease-out;
}

.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction="vertical"]{
  flex-direction: column;
}

.data-\[state\=active\]\:border-cyan-500[data-state="active"]{
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}

.data-\[state\=active\]\:border-purple-500[data-state="active"]{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}

.data-\[state\=checked\]\:border-\[\#00D1FF\][data-state="checked"]{
  --tw-border-opacity: 1;
  border-color: rgb(0 209 255 / var(--tw-border-opacity, 1));
}

.data-\[active\]\:bg-accent\/50[data-active]{
  background-color: hsl(var(--accent) / 0.5);
}

.data-\[selected\=\'true\'\]\:bg-accent[data-selected='true']{
  background-color: hsl(var(--accent));
}

.data-\[state\=active\]\:bg-cyan-900\/30[data-state="active"]{
  background-color: rgb(22 78 99 / 0.3);
}

.data-\[state\=active\]\:bg-purple-900\/30[data-state="active"]{
  background-color: rgb(88 28 135 / 0.3);
}

.data-\[state\=active\]\:bg-transparent[data-state="active"]{
  background-color: transparent;
}

.data-\[state\=active\]\:bg-white[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-\[\#00D1FF\][data-state="checked"]{
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-m1ssion-blue[data-state="checked"]{
  --tw-bg-opacity: 1;
  background-color: rgb(0 209 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=checked\]\:bg-primary[data-state="checked"]{
  background-color: hsl(var(--primary));
}

.data-\[state\=checked\]\:bg-white[data-state="checked"]{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.data-\[state\=on\]\:bg-accent[data-state="on"]{
  background-color: hsl(var(--accent));
}

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

.data-\[state\=open\]\:bg-accent\/50[data-state="open"]{
  background-color: hsl(var(--accent) / 0.5);
}

.data-\[state\=open\]\:bg-secondary[data-state="open"]{
  background-color: hsl(var(--secondary));
}

.data-\[state\=selected\]\:bg-muted[data-state="selected"]{
  background-color: hsl(var(--muted));
}

.data-\[state\=unchecked\]\:bg-white\/10[data-state="unchecked"]{
  background-color: rgb(255 255 255 / 0.1);
}

.data-\[state\=unchecked\]\:bg-white\/90[data-state="unchecked"]{
  background-color: rgb(255 255 255 / 0.9);
}

.data-\[state\=active\]\:bg-gradient-to-r[data-state="active"]{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.data-\[state\=active\]\:from-m1ssion-blue[data-state="active"]{
  --tw-gradient-from: #00D1FF var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 209 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.data-\[state\=active\]\:to-m1ssion-pink[data-state="active"]{
  --tw-gradient-to: #F059FF var(--tw-gradient-to-position);
}

.data-\[active\=true\]\:font-medium[data-active="true"]{
  font-weight: 500;
}

.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"]{
  color: hsl(var(--accent-foreground));
}

.data-\[state\=active\]\:text-black[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(0 0 0 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-cyan-300[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-purple-300[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}

.data-\[state\=active\]\:text-white[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
  color: hsl(var(--primary-foreground));
}

.data-\[state\=on\]\:text-accent-foreground[data-state="on"]{
  color: hsl(var(--accent-foreground));
}

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

.data-\[disabled\=true\]\:opacity-50[data-disabled="true"]{
  opacity: 0.5;
}

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

.data-\[state\=open\]\:opacity-100[data-state="open"]{
  opacity: 1;
}

.data-\[swipe\=move\]\:transition-none[data-swipe="move"]{
  transition-property: none;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  transition-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"]{
  transition-duration: 500ms;
}

.data-\[motion\^\=from-\]\:animate-in[data-motion^="from-"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=open\]\:animate-in[data-state="open"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[state\=visible\]\:animate-in[data-state="visible"]{
  animation-name: enter;
  animation-duration: 150ms;
  --tw-enter-opacity: initial;
  --tw-enter-scale: initial;
  --tw-enter-rotate: initial;
  --tw-enter-translate-x: initial;
  --tw-enter-translate-y: initial;
}

.data-\[motion\^\=to-\]\:animate-out[data-motion^="to-"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=closed\]\:animate-out[data-state="closed"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[state\=hidden\]\:animate-out[data-state="hidden"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[swipe\=end\]\:animate-out[data-swipe="end"]{
  animation-name: exit;
  animation-duration: 150ms;
  --tw-exit-opacity: initial;
  --tw-exit-scale: initial;
  --tw-exit-rotate: initial;
  --tw-exit-translate-x: initial;
  --tw-exit-translate-y: initial;
}

.data-\[motion\^\=from-\]\:fade-in[data-motion^="from-"]{
  --tw-enter-opacity: 0;
}

.data-\[motion\^\=to-\]\:fade-out[data-motion^="to-"]{
  --tw-exit-opacity: 0;
}

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

.data-\[state\=closed\]\:fade-out-80[data-state="closed"]{
  --tw-exit-opacity: 0.8;
}

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

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

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

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

.data-\[state\=open\]\:zoom-in-90[data-state="open"]{
  --tw-enter-scale: .9;
}

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

.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion="from-end"]{
  --tw-enter-translate-x: 13rem;
}

.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion="from-start"]{
  --tw-enter-translate-x: -13rem;
}

.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion="to-end"]{
  --tw-exit-translate-x: 13rem;
}

.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion="to-start"]{
  --tw-exit-translate-x: -13rem;
}

.data-\[side\=bottom\]\:slide-in-from-top-2[data-side="bottom"]{
  --tw-enter-translate-y: -0.5rem;
}

.data-\[side\=left\]\:slide-in-from-right-2[data-side="left"]{
  --tw-enter-translate-x: 0.5rem;
}

.data-\[side\=right\]\:slide-in-from-left-2[data-side="right"]{
  --tw-enter-translate-x: -0.5rem;
}

.data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"]{
  --tw-enter-translate-y: 0.5rem;
}

.data-\[state\=closed\]\:slide-out-to-bottom[data-state="closed"]{
  --tw-exit-translate-y: 100%;
}

.data-\[state\=closed\]\:slide-out-to-left[data-state="closed"]{
  --tw-exit-translate-x: -100%;
}

.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"]{
  --tw-exit-translate-x: -50%;
}

.data-\[state\=closed\]\:slide-out-to-right[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-right-full[data-state="closed"]{
  --tw-exit-translate-x: 100%;
}

.data-\[state\=closed\]\:slide-out-to-top[data-state="closed"]{
  --tw-exit-translate-y: -100%;
}

.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"]{
  --tw-exit-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-bottom[data-state="open"]{
  --tw-enter-translate-y: 100%;
}

.data-\[state\=open\]\:slide-in-from-left[data-state="open"]{
  --tw-enter-translate-x: -100%;
}

.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"]{
  --tw-enter-translate-x: -50%;
}

.data-\[state\=open\]\:slide-in-from-right[data-state="open"]{
  --tw-enter-translate-x: 100%;
}

.data-\[state\=open\]\:slide-in-from-top[data-state="open"]{
  --tw-enter-translate-y: -100%;
}

.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"]{
  --tw-enter-translate-y: -48%;
}

.data-\[state\=open\]\:slide-in-from-top-full[data-state="open"]{
  --tw-enter-translate-y: -100%;
}

.data-\[state\=closed\]\:duration-300[data-state="closed"]{
  animation-duration: 300ms;
}

.data-\[state\=open\]\:duration-500[data-state="open"]{
  animation-duration: 500ms;
}

.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  left: 0px;
}

.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  height: 0.25rem;
}

.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  width: 100%;
}

.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  --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));
}

.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction="vertical"]::after{
  content: var(--tw-content);
  --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[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{
  left: calc(var(--sidebar-width) * -1);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{
  right: calc(var(--sidebar-width) * -1);
}

.group[data-side="left"] .group-data-\[side\=left\]\:-right-4{
  right: -1rem;
}

.group[data-side="right"] .group-data-\[side\=right\]\:left-0{
  left: 0px;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:-mt-8{
  margin-top: -2rem;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:hidden{
  display: none;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!size-8{
  width: 2rem !important;
  height: 2rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{
  width: var(--sidebar-width-icon);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{
  width: calc(var(--sidebar-width-icon) + 1rem);
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{
  width: calc(var(--sidebar-width-icon) + 1rem + 2px);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:w-0{
  width: 0px;
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\: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[data-side="right"] .group-data-\[side\=right\]\: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));
}

.group[data-state="open"] .group-data-\[state\=open\]\: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));
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:overflow-hidden{
  overflow: hidden;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:rounded-lg{
  border-radius: var(--radius);
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\:border{
  border-width: 1px;
}

.group[data-side="left"] .group-data-\[side\=left\]\:border-r{
  border-right-width: 1px;
}

.group[data-side="right"] .group-data-\[side\=right\]\:border-l{
  border-left-width: 1px;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-0{
  padding: 0px !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:\!p-2{
  padding: 0.5rem !important;
}

.group[data-collapsible="icon"] .group-data-\[collapsible\=icon\]\:opacity-0{
  opacity: 0;
}

.group[data-variant="floating"] .group-data-\[variant\=floating\]\: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);
}

.group[data-collapsible="offcanvas"] .group-data-\[collapsible\=offcanvas\]\:after\:left-full::after{
  content: var(--tw-content);
  left: 100%;
}

.peer\/menu-button[data-size="default"] ~ .peer-data-\[size\=default\]\/menu-button\:top-1\.5{
  top: 0.375rem;
}

.peer\/menu-button[data-size="lg"] ~ .peer-data-\[size\=lg\]\/menu-button\:top-2\.5{
  top: 0.625rem;
}

.peer\/menu-button[data-size="sm"] ~ .peer-data-\[size\=sm\]\/menu-button\:top-1{
  top: 0.25rem;
}

.peer[data-variant="inset"] ~ .peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{
  min-height: calc(100svh - 1rem);
}

.dark\:border-destructive:is(.dark *){
  border-color: hsl(var(--destructive));
}

.dark\:border-gray-600:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}

.dark\:border-red-800:is(.dark *){
  --tw-border-opacity: 1;
  border-color: rgb(153 27 27 / var(--tw-border-opacity, 1));
}

.dark\:border-t-gray-300:is(.dark *){
  --tw-border-opacity: 1;
  border-top-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}

.dark\:bg-\[\#181641\]\/80:is(.dark *){
  background-color: rgb(24 22 65 / 0.8);
}

.dark\:bg-amber-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 26 3 / var(--tw-bg-opacity, 1));
}

.dark\:bg-green-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(5 46 22 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-950:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(69 10 10 / var(--tw-bg-opacity, 1));
}

.dark\:bg-red-950\/20:is(.dark *){
  background-color: rgb(69 10 10 / 0.2);
}

.dark\:bg-yellow-950\/20:is(.dark *){
  background-color: rgb(66 32 6 / 0.2);
}

.dark\:text-amber-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}

.dark\:text-amber-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}

.dark\:text-blue-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}

.dark\:text-green-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}

.dark\:text-green-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}

.dark\:text-orange-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}

.dark\:text-purple-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}

.dark\:text-red-200:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}

.dark\:text-red-300:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}

.dark\:text-red-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}

.dark\:text-yellow-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}

@media (min-width: 640px){

  .sm\:not-sr-only{
    position: static;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  .sm\:bottom-0{
    bottom: 0px;
  }

  .sm\:bottom-20{
    bottom: 5rem;
  }

  .sm\:right-0{
    right: 0px;
  }

  .sm\:top-auto{
    top: auto;
  }

  .sm\:mx-2{
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }

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

  .sm\:mb-0{
    margin-bottom: 0px;
  }

  .sm\:mb-2{
    margin-bottom: 0.5rem;
  }

  .sm\:mb-4{
    margin-bottom: 1rem;
  }

  .sm\:mb-6{
    margin-bottom: 1.5rem;
  }

  .sm\:mb-8{
    margin-bottom: 2rem;
  }

  .sm\:ml-1{
    margin-left: 0.25rem;
  }

  .sm\:mt-0{
    margin-top: 0px;
  }

  .sm\:mt-4{
    margin-top: 1rem;
  }

  .sm\:mt-8{
    margin-top: 2rem;
  }

  .sm\:block{
    display: block;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:flex{
    display: flex;
  }

  .sm\:hidden{
    display: none;
  }

  .sm\:h-10{
    height: 2.5rem;
  }

  .sm\:h-12{
    height: 3rem;
  }

  .sm\:h-16{
    height: 4rem;
  }

  .sm\:h-28{
    height: 7rem;
  }

  .sm\:h-36{
    height: 9rem;
  }

  .sm\:h-48{
    height: 12rem;
  }

  .sm\:h-5{
    height: 1.25rem;
  }

  .sm\:h-56{
    height: 14rem;
  }

  .sm\:h-64{
    height: 16rem;
  }

  .sm\:h-7{
    height: 1.75rem;
  }

  .sm\:h-72{
    height: 18rem;
  }

  .sm\:h-8{
    height: 2rem;
  }

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

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

  .sm\:w-10{
    width: 2.5rem;
  }

  .sm\:w-12{
    width: 3rem;
  }

  .sm\:w-16{
    width: 4rem;
  }

  .sm\:w-28{
    width: 7rem;
  }

  .sm\:w-48{
    width: 12rem;
  }

  .sm\:w-5{
    width: 1.25rem;
  }

  .sm\:w-56{
    width: 14rem;
  }

  .sm\:w-7{
    width: 1.75rem;
  }

  .sm\:w-8{
    width: 2rem;
  }

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

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

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

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

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

  .sm\:max-w-\[60vw\]{
    max-width: 60vw;
  }

  .sm\:max-w-md{
    max-width: 28rem;
  }

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

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

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

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

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

  .sm\:flex-col{
    flex-direction: column;
  }

  .sm\:flex-nowrap{
    flex-wrap: nowrap;
  }

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

  .sm\:justify-end{
    justify-content: flex-end;
  }

  .sm\:justify-between{
    justify-content: space-between;
  }

  .sm\:gap-2{
    gap: 0.5rem;
  }

  .sm\:gap-2\.5{
    gap: 0.625rem;
  }

  .sm\:gap-3{
    gap: 0.75rem;
  }

  .sm\:gap-4{
    gap: 1rem;
  }

  .sm\:gap-6{
    gap: 1.5rem;
  }

  .sm\: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)));
  }

  .sm\: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)));
  }

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

  .sm\: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));
  }

  .sm\: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));
  }

  .sm\: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));
  }

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

  .sm\:p-10{
    padding: 2.5rem;
  }

  .sm\:p-3{
    padding: 0.75rem;
  }

  .sm\:p-4{
    padding: 1rem;
  }

  .sm\:p-6{
    padding: 1.5rem;
  }

  .sm\:p-8{
    padding: 2rem;
  }

  .sm\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }

  .sm\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .sm\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .sm\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sm\:pt-12{
    padding-top: 3rem;
  }

  .sm\:pt-24{
    padding-top: 6rem;
  }

  .sm\:text-left{
    text-align: left;
  }

  .sm\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .sm\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .sm\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .sm\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .sm\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .sm\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .sm\:text-8xl{
    font-size: 6rem;
    line-height: 1;
  }

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

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

  .sm\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .sm\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .sm\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .sm\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .sm\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"]{
    --tw-enter-translate-y: 100%;
  }
}

@media (min-width: 768px){

  .md\:absolute{
    position: absolute;
  }

  .md\:bottom-28{
    bottom: 7rem;
  }

  .md\:bottom-44{
    bottom: 11rem;
  }

  .md\:left-auto{
    left: auto;
  }

  .md\:right-4{
    right: 1rem;
  }

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

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

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

  .md\:m-auto{
    margin: auto;
  }

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

  .md\:mb-0{
    margin-bottom: 0px;
  }

  .md\:mb-6{
    margin-bottom: 1.5rem;
  }

  .md\:mt-0{
    margin-top: 0px;
  }

  .md\:block{
    display: block;
  }

  .md\:flex{
    display: flex;
  }

  .md\:hidden{
    display: none;
  }

  .md\:aspect-\[4\/3\]{
    aspect-ratio: 4/3;
  }

  .md\:h-20{
    height: 5rem;
  }

  .md\:h-24{
    height: 6rem;
  }

  .md\:h-6{
    height: 1.5rem;
  }

  .md\:h-80{
    height: 20rem;
  }

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

  .md\:h-\[50vh\]{
    height: 50vh;
  }

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

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

  .md\:h-\[70vh\]{
    height: 70vh;
  }

  .md\:h-\[80vh\]{
    height: 80vh;
  }

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

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

  .md\:max-h-\[800px\]{
    max-height: 800px;
  }

  .md\:max-h-\[calc\(100svh-140px\)\]{
    max-height: calc(100svh - 140px);
  }

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

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

  .md\:w-20{
    width: 5rem;
  }

  .md\:w-6{
    width: 1.5rem;
  }

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

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{
    width: var(--radix-navigation-menu-viewport-width);
  }

  .md\:w-auto{
    width: auto;
  }

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

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

  .md\:max-w-screen-xl{
    max-width: 1280px;
  }

  .md\:basis-1\/2{
    flex-basis: 50%;
  }

  .md\:basis-1\/3{
    flex-basis: 33.333333%;
  }

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

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

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

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

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

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

  .md\:justify-end{
    justify-content: flex-end;
  }

  .md\:justify-center{
    justify-content: center;
  }

  .md\:gap-3{
    gap: 0.75rem;
  }

  .md\:gap-4{
    gap: 1rem;
  }

  .md\:gap-6{
    gap: 1.5rem;
  }

  .md\: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)));
  }

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

  .md\: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));
  }

  .md\: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));
  }

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

  .md\:rounded-xl{
    border-radius: 0.75rem;
  }

  .md\:bg-gradient-to-l{
    background-image: linear-gradient(to left, var(--tw-gradient-stops));
  }

  .md\:bg-gradient-to-r{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
  }

  .md\:p-10{
    padding: 2.5rem;
  }

  .md\:p-12{
    padding: 3rem;
  }

  .md\:p-16{
    padding: 4rem;
  }

  .md\:p-6{
    padding: 1.5rem;
  }

  .md\:p-8{
    padding: 2rem;
  }

  .md\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }

  .md\:px-4{
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .md\:px-6{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

  .md\:py-32{
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

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

  .md\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-8xl{
    font-size: 6rem;
    line-height: 1;
  }

  .md\:text-9xl{
    font-size: 8rem;
    line-height: 1;
  }

  .md\:text-\[18px\]{
    font-size: 18px;
  }

  .md\:text-base{
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .md\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-sm{
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .md\:text-xs{
    font-size: 0.75rem;
    line-height: 1rem;
  }

  .md\:opacity-0{
    opacity: 0;
  }

  .after\:md\:hidden::after{
    content: var(--tw-content);
    display: none;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:m-2{
    margin: 0.5rem;
  }

  .peer[data-state="collapsed"][data-variant="inset"] ~ .md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{
    margin-left: 0.5rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:ml-0{
    margin-left: 0px;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\:rounded-xl{
    border-radius: 0.75rem;
  }

  .peer[data-variant="inset"] ~ .md\:peer-data-\[variant\=inset\]\: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);
  }
}

@media (min-width: 1024px){

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

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

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

  .lg\:ml-4{
    margin-left: 1rem;
  }

  .lg\:block{
    display: block;
  }

  .lg\:inline{
    display: inline;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:h-20{
    height: 5rem;
  }

  .lg\:h-24{
    height: 6rem;
  }

  .lg\:h-96{
    height: 24rem;
  }

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

  .lg\:h-\[55vh\]{
    height: 55vh;
  }

  .lg\:w-20{
    width: 5rem;
  }

  .lg\:w-24{
    width: 6rem;
  }

  .lg\:basis-1\/3{
    flex-basis: 33.333333%;
  }

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

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

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

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

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

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

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

  .lg\:gap-4{
    gap: 1rem;
  }

  .lg\:p-8{
    padding: 2rem;
  }

  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .lg\:text-8xl{
    font-size: 6rem;
    line-height: 1;
  }

  .lg\:text-9xl{
    font-size: 8rem;
    line-height: 1;
  }

  .lg\:text-\[8rem\]{
    font-size: 8rem;
  }

  .lg\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

@media (min-width: 1280px){

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

  .xl\:text-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }
}

.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){
  background-color: hsl(var(--accent));
}

.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}

.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){
  background-color: hsl(var(--accent) / 0.5);
}

.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}

.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){
  padding-right: 0px;
}

.\[\&\>button\]\:hidden>button{
  display: none;
}

.\[\&\>span\:last-child\]\:truncate>span:last-child{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.\[\&\>span\]\:line-clamp-1>span{
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{
  --tw-translate-y: -3px;
  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));
}

.\[\&\>svg\]\:absolute>svg{
  position: absolute;
}

.\[\&\>svg\]\:left-4>svg{
  left: 1rem;
}

.\[\&\>svg\]\:top-4>svg{
  top: 1rem;
}

.\[\&\>svg\]\:size-3\.5>svg{
  width: 0.875rem;
  height: 0.875rem;
}

.\[\&\>svg\]\:size-4>svg{
  width: 1rem;
  height: 1rem;
}

.\[\&\>svg\]\:h-2\.5>svg{
  height: 0.625rem;
}

.\[\&\>svg\]\:h-3>svg{
  height: 0.75rem;
}

.\[\&\>svg\]\:w-2\.5>svg{
  width: 0.625rem;
}

.\[\&\>svg\]\:w-3>svg{
  width: 0.75rem;
}

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

.\[\&\>svg\]\:text-destructive>svg{
  color: hsl(var(--destructive));
}

.\[\&\>svg\]\:text-foreground>svg{
  color: hsl(var(--foreground));
}

.\[\&\>svg\]\:text-muted-foreground>svg{
  color: hsl(var(--muted-foreground));
}

.\[\&\>svg\~\*\]\:pl-7>svg~*{
  padding-left: 1.75rem;
}

.\[\&\>tr\]\:last\:border-b-0:last-child>tr{
  border-bottom-width: 0px;
}

.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{
  --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));
}

.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{
  --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));
}

.\[\&_\*\]\:pointer-events-none *{
  pointer-events: none;
}

.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{
  fill: hsl(var(--muted-foreground));
}

.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke='#ccc']{
  stroke: hsl(var(--border) / 0.5);
}

.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke='#fff']{
  stroke: transparent;
}

.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke='#ccc']{
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector{
  fill: hsl(var(--muted));
}

.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{
  fill: hsl(var(--muted));
}

.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke='#ccc']{
  stroke: hsl(var(--border));
}

.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke='#fff']{
  stroke: transparent;
}

.\[\&_\.recharts-sector\]\:outline-none .recharts-sector{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{
  font-size: 0.75rem;
  line-height: 1rem;
}

.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{
  font-weight: 500;
}

.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{
  color: hsl(var(--muted-foreground));
}

.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~[cmdk-group]{
  padding-top: 0px;
}

.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{
  height: 1.25rem;
}

.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{
  width: 1.25rem;
}

.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{
  height: 3rem;
}

.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{
  height: 1.25rem;
}

.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{
  width: 1.25rem;
}

.\[\&_p\]\:leading-relaxed p{
  line-height: 1.625;
}

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

.\[\&_svg\]\:size-4 svg{
  width: 1rem;
  height: 1rem;
}

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

.\[\&_tr\:last-child\]\:border-0 tr:last-child{
  border-width: 0px;
}

.\[\&_tr\]\:border-b tr{
  border-bottom-width: 1px;
}

[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{
  right: -0.5rem;
}

[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{
  cursor: e-resize;
}

[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{
  cursor: w-resize;
}

[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{
  left: -0.5rem;
}

[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{
  cursor: w-resize;
}

[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{
  cursor: e-resize;
}
/* © 2025 M1SSION™ - Toast Centered Animations with Swipe-up */

/* Toast positioning and portal wrapper */
[data-sonner-toaster] {
  position: fixed !important;
  top: calc(env(safe-area-inset-top, 0px) + 12px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 9999 !important;
  width: 100% !important;
  pointer-events: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Toast card container */
[data-sonner-toast] {
  display: inline-flex !important;
  max-width: min(92vw, 640px) !important;
  pointer-events: auto !important;
  position: relative !important;
  /* NO transition here - handled by animations */
}

/* Entry animation keyframes - FIXED */
@keyframes toast-slide-down {
  from {
    transform: translateY(-24px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Exit animation keyframes - FIXED */
@keyframes toast-slide-up {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(-24px);
    opacity: 0;
  }
}

/* Apply CORRECT entry animation */
[data-sonner-toast]:not([data-removed]) {
  animation: toast-slide-down 320ms cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
}

/* Apply CORRECT exit animation */
[data-sonner-toast][data-removed="true"] {
  animation: toast-slide-up 320ms cubic-bezier(0.22, 1, 0.36, 1) forwards !important;
}

/* Swipe interaction states */
[data-sonner-toast].toast-swiping {
  animation: none !important;
  transition: none !important;
}

[data-sonner-toast].toast-snap-back {
  animation: none !important;
  transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), opacity 320ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* Touch support for PWA iOS */
[data-sonner-toast] {
  touch-action: pan-y !important;
  -moz-user-select: none !important;
       user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-touch-callout: none !important;
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion: reduce) {
  [data-sonner-toast] {
    animation: none !important;
    transition: opacity 200ms ease !important;
  }
  
  @keyframes toast-slide-down {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @keyframes toast-slide-up {
    from { opacity: 1; }
    to { opacity: 0; }
  }
}/**
 * Leaderboard ranks 1–10 — premium shell (CONTINUA / m1-premium-cta grammar).
 * Scoped to `.m1-lb-premium-scope` on `LeaderboardPage` only so we beat
 * `index.css` + `soft-native.css` with higher specificity without touching other sn-page surfaces.
 * Loaded from `main.tsx` after `index.css` so cascade order is deterministic.
 * Presentation only: background, border, shadows, sheen — no layout metrics.
 */

/* ── Ranks 4–10: violet halo + deep graphite (clearly distinct from base cyan-top10) ── */
.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-top10 {
  background: linear-gradient(168deg, #3a3848 0%, #22222c 38%, #0f0f14 100%) !important;
  backdrop-filter: blur(14px) saturate(155%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(155%) !important;
  border: 2px solid rgba(130, 85, 255, 0.42) !important;
  box-shadow:
    0 0.5px 1px rgba(0, 0, 0, 0.45),
    0 12px 28px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.06),
    0 0 0 2px rgba(130, 85, 255, 0.22),
    0 0 40px rgba(130, 85, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -14px 32px rgba(0, 0, 0, 0.42) !important;
}

.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-top10::before {
  height: 42% !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.09) 0%, rgba(130, 85, 255, 0.06) 35%, transparent 78%) !important;
  z-index: 1;
}

/* ── #1 — gold podium + premium depth (keeps crown ::after from soft-native) ── */
.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-1 {
  background: linear-gradient(
    168deg,
    rgba(72, 58, 28, 0.98) 0%,
    rgba(32, 28, 18, 0.98) 42%,
    rgba(12, 11, 9, 0.99) 100%
  ) !important;
  border: 2px solid rgba(255, 215, 0, 0.42) !important;
  box-shadow:
    0 0.5px 1px rgba(0, 0, 0, 0.45),
    0 14px 32px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 0 2px rgba(255, 215, 0, 0.2),
    0 0 48px rgba(255, 215, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    inset 0 -14px 34px rgba(0, 0, 0, 0.45) !important;
}

.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-1::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, transparent 72%) !important;
}

/* ── #2 ── */
.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-2 {
  background: linear-gradient(
    168deg,
    rgba(52, 54, 62, 0.98) 0%,
    rgba(26, 28, 34, 0.98) 42%,
    rgba(10, 11, 14, 0.99) 100%
  ) !important;
  border: 2px solid rgba(200, 210, 230, 0.38) !important;
  box-shadow:
    0 0.5px 1px rgba(0, 0, 0, 0.42),
    0 12px 30px rgba(0, 0, 0, 0.52),
    0 0 0 1px rgba(255, 255, 255, 0.05),
    0 0 0 2px rgba(148, 163, 184, 0.2),
    0 0 36px rgba(148, 163, 184, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.1),
    inset 0 -14px 32px rgba(0, 0, 0, 0.42) !important;
}

.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-2::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, transparent 74%) !important;
}

/* ── #3 ── */
.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-3 {
  background: linear-gradient(
    168deg,
    rgba(58, 42, 26, 0.98) 0%,
    rgba(30, 22, 14, 0.98) 42%,
    rgba(12, 9, 6, 0.99) 100%
  ) !important;
  border: 2px solid rgba(210, 150, 85, 0.4) !important;
  box-shadow:
    0 0.5px 1px rgba(0, 0, 0, 0.42),
    0 12px 28px rgba(0, 0, 0, 0.5),
    0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 0 2px rgba(205, 127, 50, 0.18),
    0 0 34px rgba(205, 127, 50, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.09),
    inset 0 -14px 30px rgba(0, 0, 0, 0.4) !important;
}

.m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-3::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, transparent 74%) !important;
}

@supports (-webkit-touch-callout: none) {
  .m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-top10,
  .m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-1,
  .m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-2,
  .m1-lb-premium-scope.sn-page .m1ssion-glass-card.leaderboard-card-glass.leaderboard-rank-3 {
    backdrop-filter: blur(12px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(145%) !important;
  }
}
/**
 * Circular close (X) for video briefing modals — same shell grammar as `.m1-premium-cta`
 * (dark graphite body, layered shadow, inset gloss, restrained violet ring).
 * Use only on briefing headers; does not replace rectangular dismiss controls elsewhere.
 */

.m1-briefing-close-round {
  --m1-briefing-close-neutral-1: #2e2e2e;
  --m1-briefing-close-neutral-2: #141414;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 9999px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #ffffff;
  background: linear-gradient(168deg, #353539 0%, var(--m1-briefing-close-neutral-1) 45%, var(--m1-briefing-close-neutral-2) 100%);
  -webkit-tap-highlight-color: transparent;
  box-shadow:
    0 0.5px 1px rgba(0, 0, 0, 0.35),
    0 8px 18px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(130, 85, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.11),
    inset 0 -8px 18px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.m1-briefing-close-round::before {
  content: '';
  position: absolute;
  inset: 2px;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(to top, transparent 42%, rgba(255, 255, 255, 0.07));
  opacity: 0.95;
}

.m1-briefing-close-round:active {
  transform: scale(0.94);
  box-shadow:
    0 0.5px 1px rgba(0, 0, 0, 0.4),
    0 4px 12px rgba(0, 0, 0, 0.38),
    0 0 0 1px rgba(130, 85, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -6px 14px rgba(0, 0, 0, 0.4);
}

.m1-briefing-close-round svg {
  position: relative;
  z-index: 1;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
  .m1-briefing-close-round,
  .m1-briefing-close-round:active {
    transition: none;
    transform: none;
  }
}
