@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600;700&family=Inter:wght@400;500;600;700;800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500;600;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=SF+Pro+Display:wght@400;500;600;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);
/**
 * tdc-design-tokens.css
 * =====================
 * THE DOGGY COMPANY — Master Design Token System
 * Single source of truth for all visual decisions
 *
 * IMPORT THIS FIRST in every page and component:
 * @import './tdc-design-tokens.css';
 *
 * Built on:
 * - iOS / Apple HIG typography standards
 * - Golden Ratio (1.618) spacing
 * - SF Pro Display as primary typeface
 * - Cormorant Garamond for emotional headlines
 *
 * Version 1.0 — March 29, 2026
 * Built for Mystique. Built for May 15.
 */

/* ============================================================
   0. FONT IMPORTS
   ============================================================ */

/* ============================================================
   1. CORE DESIGN TOKENS
   ============================================================ */
:root {

  /* ----------------------------------------------------------
     FONTS
     ---------------------------------------------------------- */
  --font-sans:   -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  --font-serif:  'Cormorant Garamond', Georgia, serif;
  --font-mono:   'SF Mono', 'Fira Code', 'Courier New', monospace;

  /* ----------------------------------------------------------
     TYPE SCALE (Apple HIG — minimum 17px body)
     ---------------------------------------------------------- */
  --text-xs:    13px;   /* Chips, badges, timestamps, legal */
  --text-sm:    15px;   /* Captions, helper text, sub-labels */
  --text-base:  17px;   /* Body text — Apple minimum. NEVER go below */
  --text-lg:    20px;   /* Card titles, section headers */
  --text-xl:    23px;   /* Page subtitles */
  --text-2xl:   30px;   /* Page titles */
  --text-3xl:   36px;   /* Hero headlines */
  --text-4xl:   48px;   /* Display / splash text only */

  /* ----------------------------------------------------------
     LINE HEIGHT
     ---------------------------------------------------------- */
  --leading-tight:   1.2;    /* Headlines only */
  --leading-snug:    1.4;    /* Card titles */
  --leading-normal:  1.6;    /* Body text — always */
  --leading-relaxed: 1.75;   /* Long-form reading */

  /* ----------------------------------------------------------
     LETTER SPACING
     ---------------------------------------------------------- */
  --tracking-tight:   -0.02em;  /* Large headlines ≥ 30px */
  --tracking-normal:   0;        /* Body text */
  --tracking-wide:     0.08em;   /* ALL CAPS labels, badges */
  --tracking-wider:    0.14em;   /* ✦ MIRA · CONCIERGE® labels */

  /* ----------------------------------------------------------
     FONT WEIGHT
     ---------------------------------------------------------- */
  --weight-regular:   400;
  --weight-medium:    500;
  --weight-semibold:  600;
  --weight-bold:      700;
  --weight-black:     800;

  /* ----------------------------------------------------------
     GOLDEN RATIO SPACING (base 8px × 1.618)
     ---------------------------------------------------------- */
  --space-1:   4px;    /* Icon padding, micro gaps */
  --space-2:   8px;    /* Tight gaps between related elements */
  --space-3:  13px;    /* Chip padding, badge padding */
  --space-4:  16px;    /* Standard padding — most common */
  --space-5:  21px;    /* Card inner padding */
  --space-6:  24px;    /* Section gaps */
  --space-7:  34px;    /* Large section separators */
  --space-8:  40px;    /* Page margins */
  --space-9:  55px;    /* Hero section padding */
  --space-10: 89px;    /* Full-bleed section heights */

  /* ----------------------------------------------------------
     BORDER RADIUS
     ---------------------------------------------------------- */
  --radius-sm:   8px;
  --radius-md:   14px;
  --radius-lg:   20px;
  --radius-xl:   28px;
  --radius-full: 9999px;

  /* ----------------------------------------------------------
     SHADOWS
     ---------------------------------------------------------- */
  --shadow-sm:   0 1px 3px rgba(0,0,0,0.08);
  --shadow-md:   0 4px 12px rgba(0,0,0,0.10);
  --shadow-lg:   0 8px 24px rgba(0,0,0,0.15);
  --shadow-xl:   0 16px 48px rgba(0,0,0,0.20);
  --shadow-gold: 0 4px 24px rgba(201,151,58,0.25);
  --shadow-dark: 0 8px 32px rgba(0,0,0,0.40);

  /* ----------------------------------------------------------
     BRAND COLOURS
     ---------------------------------------------------------- */
  /* Dark — Mira OS background */
  --color-dark:         #0A0A14;
  --color-dark-mid:     #1A0A2E;
  --color-dark-card:    #16213E;
  --color-dark-surface: #1E1B4B;

  /* Gold — Concierge® brand */
  --color-gold:         #C9973A;
  --color-gold-light:   #E8B84B;
  --color-gold-pale:    rgba(201,151,58,0.12);
  --color-gold-border:  rgba(201,151,58,0.30);

  /* Cream — light pages */
  --color-cream:        #FAF8F5;
  --color-cream-dark:   #F0EDE8;
  --color-cream-border: rgba(0,0,0,0.08);

  /* Text on light */
  --color-text:         #1A0A2E;
  --color-text-muted:   #6B7280;
  --color-text-faint:   #9CA3AF;

  /* Text on dark */
  --color-text-inv:     rgba(255,255,255,0.92);
  --color-text-inv-muted: rgba(255,255,255,0.55);
  --color-text-inv-faint: rgba(255,255,255,0.30);

  /* Semantic */
  --color-success:      #22C55E;
  --color-warning:      #F59E0B;
  --color-error:        #EF4444;
  --color-info:         #3B82F6;

  /* ----------------------------------------------------------
     PILLAR COLOURS
     ---------------------------------------------------------- */
  --pillar-celebrate:   #EC4899;
  --pillar-dine:        #F97316;
  --pillar-care:        #40916C;
  --pillar-go:          #14B8A6;
  --pillar-play:        #E76F51;
  --pillar-learn:       #7C3AED;
  --pillar-paperwork:   #0D9488;
  --pillar-emergency:   #DC2626;
  --pillar-farewell:    #6366F1;
  --pillar-adopt:       #D4537E;
  --pillar-shop:        #8B5CF6;
  --pillar-stay:        #3B82F6;

  /* ----------------------------------------------------------
     TRANSITIONS
     ---------------------------------------------------------- */
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast:   120ms;
  --duration-normal: 200ms;
  --duration-slow:   350ms;

  /* ----------------------------------------------------------
     Z-INDEX SCALE
     ---------------------------------------------------------- */
  --z-base:    1;
  --z-card:    10;
  --z-sticky:  100;
  --z-nav:     200;
  --z-overlay: 1000;
  --z-modal:   2000;
  --z-toast:   9000;
  --z-top:     2147483640;
}

/* ============================================================
   2. GLOBAL RESETS & BASE
   ============================================================ */
*, *::before, *::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  font-size: 17px;
  font-size: var(--text-base);
  line-height: 1.6;
  line-height: var(--leading-normal);
  color: #1A0A2E;
  color: var(--color-text);
  background: #FAF8F5;
  background: var(--color-cream);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================================
   3. UNIFIED CHIP / BADGE / PILL SYSTEM
      Replace ALL existing .mira-chip, .m10-chip, .mira-os-pet-badge
      with these canonical classes
   ============================================================ */

/* Base chip — light theme */
.tdc-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  gap: var(--space-1);
  padding: 8px 13px;
  padding: var(--space-2) var(--space-3);       /* 8px 13px */
  border-radius: 9999px;
  border-radius: var(--radius-full);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  font-size: 13px;
  font-size: var(--text-xs);                     /* 13px */
  font-weight: 600;
  font-weight: var(--weight-semibold);           /* 600 */
  letter-spacing: 0.08em;
  letter-spacing: var(--tracking-wide);
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  transition: all 120ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: all var(--duration-fast) var(--ease-out);
  border: 1px solid transparent;
}

/* Chip variants — light */
.tdc-chip-default {
  background: rgba(0,0,0,0.06);
  color: #6B7280;
  color: var(--color-text-muted);
  border-color: rgba(0,0,0,0.08);
}

.tdc-chip-gold {
  background: rgba(201,151,58,0.12);
  background: var(--color-gold-pale);
  color: #C9973A;
  color: var(--color-gold);
  border-color: rgba(201,151,58,0.30);
  border-color: var(--color-gold-border);
}

.tdc-chip-success {
  background: rgba(34,197,94,0.10);
  color: #16a34a;
  border-color: rgba(34,197,94,0.20);
}

.tdc-chip-error {
  background: rgba(239,68,68,0.10);
  color: #dc2626;
  border-color: rgba(239,68,68,0.20);
}

.tdc-chip-pillar {
  /* Set --chip-color per pillar */
  background: color-mix(in srgb, #6B7280 12%, transparent);
  background: color-mix(in srgb, var(--chip-color, #6B7280) 12%, transparent);
  color: #6B7280;
  color: var(--chip-color, #6B7280);
  border-color: color-mix(in srgb, #6B7280 25%, transparent);
  border-color: color-mix(in srgb, var(--chip-color, #6B7280) 25%, transparent);
}

/* Chip variants — dark (for Mira OS) */
.tdc-chip-dark {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.55);
  color: var(--color-text-inv-muted);
  border-color: rgba(255,255,255,0.12);
}

.tdc-chip-dark-gold {
  background: rgba(201,151,58,0.12);
  background: var(--color-gold-pale);
  color: #E8B84B;
  color: var(--color-gold-light);
  border-color: rgba(201,151,58,0.30);
  border-color: var(--color-gold-border);
}

/* Interactive chip */
.tdc-chip-interactive {
  cursor: pointer;
}
.tdc-chip-interactive:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}
.tdc-chip-interactive:active {
  transform: scale(0.96);
}

/* Soul trait chip */
.tdc-soul-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 13px;
  padding: 6px var(--space-3);
  border-radius: 9999px;
  border-radius: var(--radius-full);
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.92);
  color: var(--color-text-inv);
  font-size: 13px;
  font-size: var(--text-xs);
  font-weight: 500;
  font-weight: var(--weight-medium);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  white-space: nowrap;
}

/* Status badge */
.tdc-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 9999px;
  border-radius: var(--radius-full);
  font-size: 11px;
  font-weight: 700;
  font-weight: var(--weight-bold);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  line-height: 1;
}

.tdc-badge-gold {
  background: #C9973A;
  background: var(--color-gold);
  color: #0A0A14;
  color: var(--color-dark);
}

.tdc-badge-error {
  background: #EF4444;
  background: var(--color-error);
  color: #fff;
}

.tdc-badge-success {
  background: #22C55E;
  background: var(--color-success);
  color: #fff;
}

/* ============================================================
   4. CARD SYSTEM
   ============================================================ */

/* Base card */
.tdc-card {
  background: #fff;
  border-radius: 20px;
  border-radius: var(--radius-lg);              /* 20px */
  padding: 21px;
  padding: var(--space-5);                       /* 21px */
  border: 1px solid rgba(0,0,0,0.08);
  border: 1px solid var(--color-cream-border);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  box-shadow: var(--shadow-sm);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
}

/* Card on dark background */
.tdc-card-dark {
  background: rgba(255,255,255,0.05);
  border-radius: 20px;
  border-radius: var(--radius-lg);
  padding: 21px;
  padding: var(--space-5);
  border: 1px solid rgba(255,255,255,0.08);
}

/* Card with gold accent */
.tdc-card-gold {
  background: linear-gradient(135deg, rgba(201,151,58,0.08), rgba(201,151,58,0.14));
  border: 1.5px solid rgba(201,151,58,0.30);
  border: 1.5px solid var(--color-gold-border);
  border-radius: 20px;
  border-radius: var(--radius-lg);
  padding: 21px;
  padding: var(--space-5);
}

/* ============================================================
   5. BUTTON SYSTEM
   ============================================================ */

/* Base button reset */
.tdc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  gap: var(--space-2);
  min-height: 52px;                              /* iOS tap target */
  padding: 13px 21px;
  padding: var(--space-3) var(--space-5);        /* 13px 21px */
  border-radius: 14px;
  border-radius: var(--radius-md);               /* 14px */
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  font-size: 17px;
  font-size: var(--text-base);                   /* 17px */
  font-weight: 700;
  font-weight: var(--weight-bold);               /* 700 */
  line-height: 1;
  letter-spacing: 0;
  border: none;
  cursor: pointer;
  transition: all 120ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: all var(--duration-fast) var(--ease-out);
  text-decoration: none;
  white-space: nowrap;
}

.tdc-btn:active {
  transform: scale(0.97);
}

/* Primary — Gold/Dark */
.tdc-btn-primary {
  background: linear-gradient(135deg, #0A0A14, #C9973A);
  background: linear-gradient(135deg, var(--color-dark), var(--color-gold));
  color: #fff;
}
.tdc-btn-primary:hover {
  opacity: 0.92;
  box-shadow: 0 4px 24px rgba(201,151,58,0.25);
  box-shadow: var(--shadow-gold);
}

/* Secondary — Outline */
.tdc-btn-secondary {
  background: transparent;
  color: #1A0A2E;
  color: var(--color-text);
  border: 1.5px solid rgba(0,0,0,0.15);
}
.tdc-btn-secondary:hover {
  background: rgba(0,0,0,0.04);
}

/* Ghost — on dark bg */
.tdc-btn-ghost-dark {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.92);
  color: var(--color-text-inv);
  border: 1px solid rgba(255,255,255,0.15);
}
.tdc-btn-ghost-dark:hover {
  background: rgba(255,255,255,0.14);
}

/* Small button */
.tdc-btn-sm {
  min-height: 40px;
  padding: 8px 16px;
  padding: var(--space-2) var(--space-4);
  font-size: 15px;
  font-size: var(--text-sm);
  border-radius: 8px;
  border-radius: var(--radius-sm);
}

/* Full width */
.tdc-btn-full {
  width: 100%;
}

/* Concierge® gold button */
.tdc-btn-concierge {
  background: linear-gradient(135deg, #C9973A, #E8B84B);
  background: linear-gradient(135deg, var(--color-gold), var(--color-gold-light));
  color: #0A0A14;
  color: var(--color-dark);
  font-weight: 800;
  font-weight: var(--weight-black);
  box-shadow: 0 4px 24px rgba(201,151,58,0.25);
  box-shadow: var(--shadow-gold);
}

/* ============================================================
   6. MESSAGE BUBBLE SYSTEM (iMessage quality)
   ============================================================ */

.tdc-message-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  gap: var(--space-2);
  padding: 16px 21px;
  padding: var(--space-4) var(--space-5);
}

/* Mira message — left aligned */
.tdc-message-mira {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  gap: var(--space-2);
  max-width: 85%;
  align-self: flex-start;
}

.tdc-bubble-mira {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 20px 20px 20px 4px;            /* iMessage left tail */
  padding: 13px 16px;
  padding: var(--space-3) var(--space-4);        /* 13px 16px */
  color: rgba(255,255,255,0.92);
  color: var(--color-text-inv);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  font-size: 17px;
  font-size: var(--text-base);                   /* 17px */
  line-height: 1.6;
  line-height: var(--leading-normal);            /* 1.6 */
}

/* User message — right aligned */
.tdc-message-user {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  gap: var(--space-2);
  max-width: 75%;
  align-self: flex-end;
}

.tdc-bubble-user {
  background: rgba(167,139,250,0.25);            /* Lilac — matches Mira OS */
  border: 1px solid rgba(167,139,250,0.30);
  border-radius: 20px 20px 4px 20px;            /* iMessage right tail */
  padding: 13px 16px;
  padding: var(--space-3) var(--space-4);
  color: rgba(255,255,255,0.92);
  color: var(--color-text-inv);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  font-size: 17px;
  font-size: var(--text-base);
  line-height: 1.6;
  line-height: var(--leading-normal);
}

/* Message timestamp */
.tdc-message-time {
  font-size: 11px;
  color: rgba(255,255,255,0.30);
  color: var(--color-text-inv-faint);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  text-align: center;
  margin: 4px 0;
  margin: var(--space-1) 0;
}

/* ============================================================
   7. NOTIFICATION / TICKET CARD SYSTEM
   ============================================================ */

.tdc-ticket-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  gap: var(--space-4);
  padding: 21px;
  padding: var(--space-5);                       /* 21px */
  background: #fff;
  border-radius: 20px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(0,0,0,0.08);
  border: 1px solid var(--color-cream-border);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: all 200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: all var(--duration-normal) var(--ease-out);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  text-decoration: none;
  color: inherit;
}

.tdc-ticket-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.10);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.tdc-ticket-card:active {
  transform: scale(0.99);
}

/* Unread state */
.tdc-ticket-card.unread {
  border-left: 3px solid #C9973A;
  border-left: 3px solid var(--color-gold);
  background: #FFFDF7;
}

/* Ticket pillar dot */
.tdc-ticket-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 5px;
}

/* Ticket content */
.tdc-ticket-subject {
  font-size: 17px;
  font-size: var(--text-base);
  font-weight: 600;
  font-weight: var(--weight-semibold);
  color: #1A0A2E;
  color: var(--color-text);
  line-height: 1.4;
  line-height: var(--leading-snug);
  margin-bottom: 4px;
  margin-bottom: var(--space-1);
}

.tdc-ticket-preview {
  font-size: 15px;
  font-size: var(--text-sm);
  color: #6B7280;
  color: var(--color-text-muted);
  line-height: 1.4;
  line-height: var(--leading-snug);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.tdc-ticket-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  gap: var(--space-2);
  margin-top: 8px;
  margin-top: var(--space-2);
  font-size: 12px;
  color: #9CA3AF;
  color: var(--color-text-faint);
}

/* ============================================================
   8. ORDER CARD SYSTEM
   ============================================================ */

.tdc-order-card {
  background: #fff;
  border-radius: 20px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(0,0,0,0.08);
  border: 1px solid var(--color-cream-border);
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  box-shadow: var(--shadow-sm);
}

.tdc-order-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 21px;
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid var(--color-cream-border);
  background: #FAF8F5;
  background: var(--color-cream);
}

.tdc-order-id {
  font-size: 13px;
  font-size: var(--text-xs);
  font-weight: 700;
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  letter-spacing: var(--tracking-wider);
  color: #6B7280;
  color: var(--color-text-muted);
  font-family: 'SF Mono', 'Fira Code', 'Courier New', monospace;
  font-family: var(--font-mono);
}

.tdc-order-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 13px;
  padding: 4px var(--space-3);
  border-radius: 9999px;
  border-radius: var(--radius-full);
  font-size: 12px;
  font-weight: 600;
  font-weight: var(--weight-semibold);
}

.tdc-order-status-pending   { background: rgba(245,158,11,0.12); color: #d97706; }
.tdc-order-status-confirmed { background: rgba(34,197,94,0.12);  color: #16a34a; }
.tdc-order-status-shipped   { background: rgba(59,130,246,0.12); color: #2563eb; }
.tdc-order-status-delivered { background: rgba(34,197,94,0.15);  color: #15803d; }

.tdc-order-body {
  padding: 21px;
  padding: var(--space-5);
}

.tdc-order-item {
  display: flex;
  align-items: center;
  gap: 16px;
  gap: var(--space-4);
  padding: 13px 0;
  padding: var(--space-3) 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  border-bottom: 1px solid var(--color-cream-border);
}

.tdc-order-item:last-child {
  border-bottom: none;
}

.tdc-order-item-img {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  border-radius: var(--radius-sm);
  object-fit: cover;
  background: #F0EDE8;
  background: var(--color-cream-dark);
  flex-shrink: 0;
}

.tdc-order-item-name {
  font-size: 15px;
  font-size: var(--text-sm);
  font-weight: 600;
  font-weight: var(--weight-semibold);
  color: #1A0A2E;
  color: var(--color-text);
  line-height: 1.4;
  line-height: var(--leading-snug);
}

.tdc-order-item-price {
  font-size: 15px;
  font-size: var(--text-sm);
  color: #6B7280;
  color: var(--color-text-muted);
  margin-top: 3px;
}

.tdc-order-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 21px;
  padding: var(--space-4) var(--space-5);
  border-top: 1px solid rgba(0,0,0,0.08);
  border-top: 1px solid var(--color-cream-border);
  background: #FAF8F5;
  background: var(--color-cream);
  font-size: 17px;
  font-size: var(--text-base);
  font-weight: 700;
  font-weight: var(--weight-bold);
  color: #1A0A2E;
  color: var(--color-text);
}

/* ============================================================
   9. MIRA OS DESKTOP LAYOUT (1024px+)
   The layout that was completely missing
   ============================================================ */

@media (min-width: 1024px) {

  /* Mira OS main layout — two column */
  .mira-os-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    grid-template-rows: 64px 1fr;
    height: 100vh;
    overflow: hidden;
  }

  /* Header spans full width */
  .mira-unified-header {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  /* Left sidebar — pet identity + nav */
  .mira-os-sidebar {
    grid-column: 1;
    grid-row: 2;
    background: #1A0A2E;
    background: var(--color-dark-mid);
    border-right: 1px solid rgba(255,255,255,0.06);
    overflow-y: auto;
    padding: 21px;
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    gap: 16px;
    gap: var(--space-4);
  }

  /* Main content area */
  .mira-os-main {
    grid-column: 2;
    grid-row: 2;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
  }

  /* Chat input stays at bottom */
  .mira-chat-input-bar {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 200;
    z-index: var(--z-sticky);
  }

  /* Wider chat bubbles on desktop */
  .tdc-message-mira,
  .tdc-message-user {
    max-width: 65%;
  }

  /* Desktop chip sizing — slightly larger */
  .tdc-chip {
    font-size: 14px;
    padding: 8px 16px;
    padding: var(--space-2) var(--space-4);
  }

  /* Desktop cards — more breathing room */
  .tdc-card,
  .tdc-ticket-card,
  .tdc-order-card {
    border-radius: 28px;
    border-radius: var(--radius-xl);
  }
}

/* Wide desktop */
@media (min-width: 1280px) {
  .mira-os-layout {
    grid-template-columns: 360px 1fr;
  }
}

/* Ultra wide */
@media (min-width: 1536px) {
  .mira-os-layout {
    grid-template-columns: 400px 1fr 320px; /* sidebar + chat + picks panel */
  }
}

/* ============================================================
   10. PET HOME PAGE LAYOUT
   ============================================================ */

.tdc-pet-home {
  background: #FAF8F5;
  background: var(--color-cream);
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  padding-bottom: calc(89px + env(safe-area-inset-bottom));
  padding-bottom: calc(var(--space-10) + env(safe-area-inset-bottom));
}

/* Pet hero section */
.tdc-pet-hero {
  padding: 24px 21px;
  padding: var(--space-6) var(--space-5);
  display: flex;
  align-items: center;
  gap: 16px;
  gap: var(--space-4);
}

.tdc-pet-avatar-ring {
  position: relative;
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

.tdc-pet-avatar-ring img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  position: absolute;
  top: 4px;
  left: 4px;
}

.tdc-pet-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-family: var(--font-serif);
  font-size: 28px;
  font-size: var(--text-2xl);
  font-weight: 700;
  font-weight: var(--weight-bold);
  color: #1A0A2E;
  color: var(--color-text);
  line-height: 1.2;
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;
  letter-spacing: var(--tracking-tight);
}

.tdc-pet-breed {
  font-size: 15px;
  font-size: var(--text-sm);
  color: #6B7280;
  color: var(--color-text-muted);
  margin-top: 2px;
}

/* Pillar grid */
.tdc-pillar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 13px;
  grid-gap: 13px;
  grid-gap: var(--space-3);
  gap: var(--space-3);
  padding: 0 21px;
  padding: 0 var(--space-5);
}

.tdc-pillar-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  gap: var(--space-2);
  padding: 16px 8px;
  padding: var(--space-4) var(--space-2);
  background: #fff;
  border-radius: 14px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0,0,0,0.08);
  border: 1px solid var(--color-cream-border);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: all 200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: all var(--duration-normal) var(--ease-out);
  text-decoration: none;
}

.tdc-pillar-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.10);
  box-shadow: var(--shadow-md);
}

.tdc-pillar-btn:active {
  transform: scale(0.96);
}

.tdc-pillar-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.tdc-pillar-label {
  font-size: 11px;
  font-weight: 600;
  font-weight: var(--weight-semibold);
  color: #6B7280;
  color: var(--color-text-muted);
  text-align: center;
  line-height: 1.2;
}

/* Desktop pillar grid */
@media (min-width: 768px) {
  .tdc-pillar-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}

@media (min-width: 1024px) {
  .tdc-pillar-grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .tdc-pillar-btn {
    padding: 21px 13px;
    padding: var(--space-5) var(--space-3);
  }
}

/* ============================================================
   11. MY PETS / PET PROFILE
   ============================================================ */

.tdc-pet-card {
  display: flex;
  align-items: center;
  gap: 16px;
  gap: var(--space-4);
  padding: 21px;
  padding: var(--space-5);
  background: #fff;
  border-radius: 20px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(0,0,0,0.08);
  border: 1px solid var(--color-cream-border);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  transition: all 200ms cubic-bezier(0.16, 1, 0.3, 1);
  transition: all var(--duration-normal) var(--ease-out);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
}

.tdc-pet-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.10);
  box-shadow: var(--shadow-md);
  transform: translateY(-1px);
}

.tdc-pet-card-photo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: #F0EDE8;
  background: var(--color-cream-dark);
}

.tdc-pet-card-name {
  font-size: 20px;
  font-size: var(--text-lg);
  font-weight: 700;
  font-weight: var(--weight-bold);
  color: #1A0A2E;
  color: var(--color-text);
  line-height: 1.4;
  line-height: var(--leading-snug);
}

.tdc-pet-card-meta {
  font-size: 15px;
  font-size: var(--text-sm);
  color: #6B7280;
  color: var(--color-text-muted);
  margin-top: 3px;
}

.tdc-soul-score {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  margin-top: var(--space-2);
  font-size: 13px;
  font-size: var(--text-xs);
  font-weight: 600;
  font-weight: var(--weight-semibold);
  color: #C9973A;
  color: var(--color-gold);
}

/* ============================================================
   12. SECTION HEADER (ALL CAPS label pattern)
   Used everywhere for section titles
   ============================================================ */

.tdc-section-label {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
  font-size: 13px;
  font-size: var(--text-xs);                    /* 13px */
  font-weight: 700;
  font-weight: var(--weight-bold);              /* 700 */
  letter-spacing: 0.14em;
  letter-spacing: var(--tracking-wider);        /* 0.14em */
  text-transform: uppercase;
  color: #6B7280;
  color: var(--color-text-muted);
  margin-bottom: 13px;
  margin-bottom: var(--space-3);
}

.tdc-section-label-inv {
  color: rgba(255,255,255,0.55);
  color: var(--color-text-inv-muted);
}

/* Section with gold accent */
.tdc-section-label-gold {
  color: #C9973A;
  color: var(--color-gold);
}

/* ============================================================
   13. PAGE HEADER
   ============================================================ */

.tdc-page-header {
  padding: 24px 21px 16px;
  padding: var(--space-6) var(--space-5) var(--space-4);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
}

.tdc-page-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-family: var(--font-serif);
  font-size: 34px;
  font-size: var(--text-3xl);                   /* 36px */
  font-weight: 700;
  font-weight: var(--weight-bold);
  color: #1A0A2E;
  color: var(--color-text);
  line-height: 1.2;
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;
  letter-spacing: var(--tracking-tight);
}

.tdc-page-subtitle {
  font-size: 17px;
  font-size: var(--text-base);
  color: #6B7280;
  color: var(--color-text-muted);
  margin-top: 8px;
  margin-top: var(--space-2);
  line-height: 1.6;
  line-height: var(--leading-normal);
}

/* ============================================================
   14. EMPTY STATES
   ============================================================ */

.tdc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 89px 21px;
  padding: var(--space-10) var(--space-5);
  text-align: center;
  gap: 16px;
  gap: var(--space-4);
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-sans);
}

.tdc-empty-icon {
  font-size: 48px;
  opacity: 0.4;
}

.tdc-empty-title {
  font-size: 23px;
  font-size: var(--text-xl);
  font-weight: 700;
  font-weight: var(--weight-bold);
  color: #1A0A2E;
  color: var(--color-text);
}

.tdc-empty-desc {
  font-size: 17px;
  font-size: var(--text-base);
  color: #6B7280;
  color: var(--color-text-muted);
  max-width: 280px;
  line-height: 1.6;
  line-height: var(--leading-normal);
}

/* ============================================================
   15. SAFE AREA + MOBILE BOTTOM PADDING
   ============================================================ */

.tdc-safe-bottom {
  padding-bottom: calc(24px + env(safe-area-inset-bottom));
  padding-bottom: calc(var(--space-6) + env(safe-area-inset-bottom));
}

.tdc-nav-safe {
  padding-bottom: calc(88px + env(safe-area-inset-bottom));
}

/* ============================================================
   16. SCROLLBAR HIDE (mobile feel everywhere)
   ============================================================ */

.tdc-scroll-hide {
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
}

.tdc-scroll-hide::-webkit-scrollbar {
  display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   15. HEADER HEIGHT TOKEN
   Set statically here, overridden dynamically by
   ResizeObserver in useMiraShell.js via:
   document.documentElement.style.setProperty('--header-height', px)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
:root {
  --header-height: 64px;        /* Desktop fallback */
}

@media (max-width: 768px) {
  :root {
    --header-height: 60px;      /* Mobile fallback */
  }
}


/* ============================================================
   17. DEPRECATED — WHAT TO REPLACE
   Tell Aditya to grep and replace these with tdc-* equivalents:
   
   .m10-chip          → .tdc-chip .tdc-chip-default
   .mira-os-pet-badge → .tdc-chip .tdc-chip-dark
   .mira-pet-badge    → .tdc-pet-card
   .mira-scenario-chip → .tdc-chip .tdc-chip-interactive
   .mira-welcome-chip → .tdc-chip .tdc-chip-interactive .tdc-chip-dark
   .mira-intent-badge → .tdc-chip .tdc-chip-pillar
   ============================================================ */


/* ═══════════════════════════════════════════════════════════════════
   DESIGN BIBLE v2 — Session 97 additions (March 30, 2026)
   Merged from tdc-design-tokens (1).css — the canonical master
   
   STRATEGY: All new tokens ADDED here. Old tokens kept for compat.
   Backward-compat aliases bridge renamed tokens.
   ═══════════════════════════════════════════════════════════════════ */

/* Update Google Fonts to include DM Sans (design bible primary font) */

:root {

  /* ── Backward-compat aliases for renamed tokens ─────────────────── */
  --font-primary:  var(--font-sans);       /* new name, old value */
  --font-accent:   var(--font-serif);      /* new name, old value */
  --color-off-white: #F5F0E8;             /* was --color-cream (#FAF8F5 old) */
  --color-text-subtle: var(--color-text-faint);
  --color-border-light: rgba(26, 10, 46, 0.06);
  --color-border: rgba(26, 10, 46, 0.12);
  --transition-fast:   all 0.12s ease;
  --transition-base:   all 0.2s ease;
  --transition-slow:   all 0.35s ease;
  --transition-spring: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);

  /* ── NEW: Brand colour palette (named semantically) ─────────────── */
  --color-brand-deepest: #0A0214;
  --color-brand-dark:    #1A0A2E;
  --color-brand-mid:     #2D1B69;
  --color-brand-light:   #6B21A8;
  --color-brand-pale:    #EDE9FE;
  --color-brand-cream:   #F5F3FF;

  /* ── NEW: Semantic Mira Gold tokens ─────────────────────────────── */
  --color-gold-dark:     #92610A;
  --color-gold-mid:      #C9973A;    /* same as --color-gold */

  /* ── NEW: Semantic Teal tokens ───────────────────────────────────── */
  --color-teal-dark:     #0F766E;
  --color-teal-mid:      #14B8A6;
  --color-teal-light:    #5EEAD4;
  --color-teal-pale:     #F0FDFA;

  /* ── NEW: Semantic status pale backgrounds ──────────────────────── */
  --color-error-pale:    #FEF2F2;
  --color-warning-pale:  #FFFBEB;
  --color-success-pale:  #F0FDF4;
  --color-white:         #FFFFFF;
  --color-light-grey:    #F8F9FA;

  /* ── NEW: Radius additions ───────────────────────────────────────── */
  --radius-xs:    6px;
  --radius-2xl:  20px;
  --radius-3xl:  24px;

  /* ── NEW: Font weight additions ─────────────────────────────────── */
  --weight-light:  300;

  /* ── NEW: Extended type scale ────────────────────────────────────── */
  --text-2xl:    28px;   /* hero headings */
  --text-3xl:    34px;   /* display */
  --text-4xl:    40px;   /* large display */
  --text-5xl:    48px;   /* hero display */
  --text-xs-sm:  11px;   /* micro labels (design bible --text-xs) */

  /* ── NEW: Shadow additions ───────────────────────────────────────── */
  --shadow-xs:     0 1px 3px rgba(0,0,0,0.06);
  --shadow-2xl:    0 24px 80px rgba(0,0,0,0.28);
  --shadow-brand:  0 8px 32px rgba(107,33,168,0.25);
  --shadow-teal:   0 8px 32px rgba(20,184,166,0.25);
  --shadow-inner:  inset 0 2px 4px rgba(0,0,0,0.12);

  /* ── NEW: Z-index scale ──────────────────────────────────────────── */
  --z-base:      1;
  --z-raised:    10;
  --z-dropdown:  100;
  --z-sticky:    200;
  --z-header:    300;
  --z-overlay:   400;
  --z-modal:     500;
  --z-toast:     600;
  --z-mira:      700;
  --z-top:       9999;

  /* ── NEW: Layout tokens ──────────────────────────────────────────── */
  --max-width-content:  1280px;
  --max-width-narrow:    780px;
  --max-width-modal:     700px;
  --max-width-card:      400px;
  --header-height:        64px;
  --nav-height-mobile:    72px;
  --sidebar-width:       320px;

  /* ── NEW: Component padding shortcuts ───────────────────────────── */
  --padding-card:       16px 20px;
  --padding-card-lg:    20px 24px;
  --padding-modal:      20px 20px 32px;
  --padding-section:    24px 16px;
  --padding-hero:       40px 20px 20px;
  --padding-pill:       5px 13px;
  --padding-chip:       4px 10px;
  --padding-button:     13px 20px;
  --padding-button-sm:  9px 18px;

  /* ── NEW: Image dimension tokens ─────────────────────────────────── */
  --img-avatar-sm:   32px;
  --img-avatar-md:   48px;
  --img-avatar-lg:   64px;
  --img-avatar-xl:   96px;
  --img-product-sm: 120px;
  --img-product-md: 180px;
  --img-product-lg: 240px;
  --img-hero:       320px;
  --img-radius-avatar:  50%;
  --img-radius-product: var(--radius-md);
  --img-radius-card:    var(--radius-lg);
  --img-radius-hero:    var(--radius-xl);

  /* ── NEW: Pillar colour palettes (12 pillars × 4 tones) ─────────── */
  --pillar-celebrate-dark:  #1a1028;
  --pillar-celebrate-mid:   #6B21A8;
  --pillar-celebrate-light: #A855F7;
  --pillar-celebrate-pale:  #F5F3FF;
  --pillar-celebrate-gold:  #C9973A;

  --pillar-dine-dark:  #3d1200;
  --pillar-dine-mid:   #7a2800;
  --pillar-dine-light: #FF8C42;
  --pillar-dine-pale:  #FFF8F0;

  --pillar-care-dark:   #0A1F13;
  --pillar-care-mid:    #1B4332;
  --pillar-care-light:  #2D6A4F;
  --pillar-care-accent: #40916C;
  --pillar-care-pale:   #F0FDF4;

  --pillar-go-dark:   #042F2E;
  --pillar-go-mid:    #0F766E;
  --pillar-go-light:  #14B8A6;
  --pillar-go-pale:   #F0FDFA;

  --pillar-play-dark:  #1F0A04;
  --pillar-play-mid:   #7A2E1A;
  --pillar-play-light: #E76F51;
  --pillar-play-pale:  #FFF5F2;

  --pillar-learn-dark:  #1A0A2E;
  --pillar-learn-mid:   #4C1D95;
  --pillar-learn-light: #7C3AED;
  --pillar-learn-pale:  #EDE9FE;

  --pillar-paperwork-dark:  #042F2E;
  --pillar-paperwork-mid:   #0F766E;
  --pillar-paperwork-light: #14B8A6;
  --pillar-paperwork-pale:  #F0FDFA;

  --pillar-emergency-dark:    #1F0707;
  --pillar-emergency-mid:     #991B1B;
  --pillar-emergency-light:   #DC2626;
  --pillar-emergency-pale:    #FEF2F2;
  --pillar-emergency-crimson: #B91C1C;

  --pillar-farewell-dark:  #0A0A1E;
  --pillar-farewell-mid:   #4B4B6E;
  --pillar-farewell-light: #6366F1;
  --pillar-farewell-pale:  #EEF2FF;

  --pillar-adopt-dark:  #1C1007;
  --pillar-adopt-mid:   #92400E;
  --pillar-adopt-light: #D97706;
  --pillar-adopt-pale:  #FFFBEB;

  --pillar-shop-dark:  #0F0A00;
  --pillar-shop-mid:   #92610A;
  --pillar-shop-light: #C9973A;
  --pillar-shop-pale:  #FFF8E1;

  --pillar-stay-dark:  #0A1628;
  --pillar-stay-mid:   #1E3A5F;
  --pillar-stay-light: #2563EB;
  --pillar-stay-pale:  #EFF6FF;

  /* ── NEW: Brand gradient library ─────────────────────────────────── */
  --gradient-brand:       linear-gradient(135deg, #1A0A2E, #2D1B69);
  --gradient-brand-hero:  linear-gradient(160deg, #0A0214 0%, #1A0A2E 55%, #2D1B69 100%);
  --gradient-brand-dark:  linear-gradient(135deg, #0A0214, #1A0A2E);
  --gradient-mira:        linear-gradient(135deg, #1A0A2E, #4C1D95, #6B21A8);
  --gradient-mira-orb:    radial-gradient(circle, #9333ea, #7c3aed, #4f46e5);
  --gradient-mira-gold:   linear-gradient(135deg, #C9973A, #F5C842);
  --gradient-cta:         linear-gradient(135deg, #0F766E, #14B8A6);
  --gradient-cta-warm:    linear-gradient(135deg, #C9973A, #A07020);
  --gradient-card-dark:   linear-gradient(135deg, rgba(26,10,46,0.95), rgba(45,27,105,0.95));
  --gradient-card-glass:  linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));

  /* Pillar hero gradients */
  --gradient-celebrate-hero: linear-gradient(160deg, #1a1028 0%, #3b1060 55%, #6B21A8 100%);
  --gradient-dine-hero:      linear-gradient(160deg, #3d1200 0%, #7a2800 50%, #c44400 100%);
  --gradient-care-hero:      linear-gradient(160deg, #0A1F13 0%, #1B4332 55%, #2D6A4F 100%);
  --gradient-go-hero:        linear-gradient(160deg, #042F2E 0%, #0F766E 55%, #14B8A6 100%);
  --gradient-play-hero:      linear-gradient(160deg, #1F0A04 0%, #7A2E1A 55%, #E76F51 100%);
  --gradient-learn-hero:     linear-gradient(160deg, #1A0A2E 0%, #4C1D95 55%, #7C3AED 100%);
  --gradient-paperwork-hero: linear-gradient(160deg, #042F2E 0%, #0F766E 55%, #14B8A6 100%);
  --gradient-emergency-hero: linear-gradient(160deg, #1F0707 0%, #991B1B 55%, #DC2626 100%);
  --gradient-farewell-hero:  linear-gradient(135deg, #0A0A1E, #4B4B6E);
  --gradient-adopt-hero:     linear-gradient(160deg, #1C1007 0%, #92400E 55%, #D97706 100%);
  --gradient-shop-hero:      linear-gradient(160deg, #0F0A00 0%, #92610A 50%, #C9973A 100%);
  --gradient-stay-hero:      linear-gradient(160deg, #0A1628 0%, #1E3A5F 50%, #2563EB 100%);
}

/* ── NEW: North Star badge ─────────────────────────────────────────── */
.tdc-north-star {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  gap: var(--space-2);
  background: rgba(192, 132, 252, 0.12);
  border: 1px solid rgba(192, 132, 252, 0.3);
  border-radius: 9999px;
  border-radius: var(--radius-full);
  padding: 6px 14px;
  font-size: 13px;
  font-size: var(--text-xs);
  color: #C084FC;
  font-weight: 600;
  font-weight: var(--weight-semibold);
}

/* ── NEW: tdc-btn system ───────────────────────────────────────────── */
.tdc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  gap: var(--space-2);
  padding: 13px 20px;
  padding: var(--padding-button);
  border-radius: 14px;
  border-radius: var(--radius-md);
  border: none;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Inter', sans-serif;
  font-family: var(--font-primary);
  font-size: 17px;
  font-size: var(--text-base);
  font-weight: 700;
  font-weight: var(--weight-bold);
  cursor: pointer;
  transition: all 0.2s ease;
  transition: var(--transition-base);
  white-space: nowrap;
  min-height: 48px;
}
.tdc-btn-primary { background: linear-gradient(135deg, #0F766E, #14B8A6); background: var(--gradient-cta); color: #fff; box-shadow: 0 8px 32px rgba(20,184,166,0.25); box-shadow: var(--shadow-teal); }
.tdc-btn-brand   { background: linear-gradient(135deg, #1A0A2E, #2D1B69); background: var(--gradient-brand); color: #fff; box-shadow: 0 8px 32px rgba(107,33,168,0.25); box-shadow: var(--shadow-brand); }
.tdc-btn-gold    { background: linear-gradient(135deg, #C9973A, #F5C842); background: var(--gradient-mira-gold); color: #1A0A2E; color: var(--color-brand-dark); }
.tdc-btn-ghost   { background: transparent; color: #14B8A6; color: var(--color-teal-mid); border: 1.5px solid #14B8A6; border: 1.5px solid var(--color-teal-mid); }
.tdc-btn:hover   { filter: brightness(1.06); transform: translateY(-1px); }
.tdc-btn:active  { transform: scale(0.97); }
.tdc-btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none; }

/* ── NEW: tdc-img-placeholder ──────────────────────────────────────── */
.tdc-img-placeholder {
  background: linear-gradient(135deg, #1A0A2E, #2D1B69);
  background: var(--gradient-brand);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border-radius: var(--img-radius-product);
  color: rgba(255,255,255,0.6);
  font-size: 32px;
}

/* ── NEW: Utility classes ──────────────────────────────────────────── */
.tdc-label-upper {
  font-size: 13px;
  font-size: var(--text-xs);
  font-weight: 700;
  font-weight: var(--weight-bold);
  letter-spacing: 0.14em;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
}
.tdc-heading-serif {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-family: var(--font-accent);
  font-weight: 300;
  font-weight: var(--weight-light);
  line-height: 1.2;
  line-height: var(--leading-tight);
}
.tdc-text-gold  { color: #C9973A; color: var(--color-gold-mid); }
.tdc-text-teal  { color: #14B8A6; color: var(--color-teal-mid); }
.tdc-text-brand { color: #6B21A8; color: var(--color-brand-light); }
.tdc-truncate-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── NEW: Safe area helpers ────────────────────────────────────────── */
.tdc-safe-top    { padding-top: env(safe-area-inset-top, 0px); }
.tdc-safe-bottom { padding-bottom: env(safe-area-inset-bottom, 0px); }
.tdc-page-mobile {
  padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  padding-bottom: calc(var(--nav-height-mobile) + env(safe-area-inset-bottom, 0px));
  min-height: 100vh;
}

/* ── NEW: Mira OS 2-col layout ─────────────────────────────────────── */
.mira-os-layout {
  display: grid;
  grid-template-columns: 320px 1fr;
  grid-template-columns: var(--sidebar-width) 1fr;
  gap: 24px;
  grid-gap: 24px;
  grid-gap: var(--space-6);
  gap: var(--space-6);
  max-width: 1280px;
  max-width: var(--max-width-content);
  margin: 0 auto;
  padding: 24px;
  padding: var(--space-6);
  min-height: 100vh;
  align-items: start;
}
.mira-os-sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 64px;
  top: var(--header-height);
  max-height: calc(100vh - 64px - 24px);
  max-height: calc(100vh - var(--header-height) - var(--space-6));
  overflow-y: auto;
  border-radius: 20px;
  border-radius: var(--radius-2xl);
}
@media (max-width: 1024px) {
  .mira-os-layout {
    grid-template-columns: 1fr;
    padding: 0;
    gap: 0;
  }
  .mira-os-sidebar { position: relative; top: auto; max-height: none; }
}

/* ── NEW: Animations ───────────────────────────────────────────────── */
@keyframes glow-pulse {
  0%, 100% { box-shadow: 0 0 8px rgba(20,184,166,0.4); }
  50%       { box-shadow: 0 0 20px rgba(20,184,166,0.8); }
}
.tdc-animate-glow { animation: glow-pulse 2s ease-in-out infinite; }

/* ═══════════════════════════════════════════════════════════════════
   IMAGE RULES — The law. Non-negotiable.

   PRIORITY ORDER (always pick highest available):
   1. watercolor_image  — AI breed illustration
   2. cloudinary_url    — direct Cloudinary upload
   3. mockup_url        — Soul Made / breed mockup
   4. primary_image     — curated product image
   5. image_url         — clean product URL
   6. image             — only if Shopify CDN or Cloudinary domain
   7. tdc-img-placeholder gradient — NEVER stock photos

   BLOCKED DOMAINS — NEVER use:
   - unsplash.com, pexels.com, picsum.photos
   - emergentagent.com (staging CDN — may be unreliable)
   - static.prod-images.* (staging CDN — may be unreliable)
   - Any generic stock photo service

   Cloudinary cloud name: duoapcx1p
   Folders: soul_made / products / pets / brands
   ═══════════════════════════════════════════════════════════════════ */

/**
 * Mira Premium UI - Matches Reference Design Exactly
 * Deep Purple Gradient + Amber Accents + White Product Cards
 */

/* ========================================
   CSS Variables - Premium Theme
   ======================================== */
:root {
  /* Background - Deep Purple Gradient */
  --mp-bg-start: #1e1b4b;
  --mp-bg-mid: #312e81;
  --mp-bg-end: #581c87;
  
  /* Accent Colors */
  --mp-pink: #ec4899;
  --mp-purple: #8b5cf6;
  --mp-amber: #f59e0b;
  --mp-amber-light: rgba(245, 158, 11, 0.15);
  --mp-amber-border: rgba(245, 158, 11, 0.4);
  
  /* Text */
  --mp-text-white: #ffffff;
  --mp-text-muted: rgba(255, 255, 255, 0.6);
  --mp-text-subtle: rgba(255, 255, 255, 0.4);
  
  /* Spacing */
  --mp-space-xs: 4px;
  --mp-space-sm: 8px;
  --mp-space-md: 12px;
  --mp-space-lg: 16px;
  --mp-space-xl: 24px;
  
  /* Radius */
  --mp-radius-sm: 8px;
  --mp-radius-md: 12px;
  --mp-radius-lg: 16px;
  --mp-radius-xl: 20px;
  --mp-radius-full: 9999px;
}

/* ========================================
   Main Container
   ======================================== */
.mira-premium {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  max-height: 100vh;
  background: linear-gradient(180deg, #1e1b4b 0%, #312e81 40%, #581c87 100%);
  background: linear-gradient(180deg, var(--mp-bg-start) 0%, var(--mp-bg-mid) 40%, var(--mp-bg-end) 100%);
  overflow: hidden;
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif;
}

/* ========================================
   HEADER - Mira + Pet Badge (as in reference)
   ======================================== */
.mp-header {
  flex-shrink: 0;
  padding: 12px 16px;
  background: rgba(30, 27, 75, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
}

.mp-header-inner {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* Mira Logo */
.mp-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mp-logo-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #ec4899, #f97316);
  background: linear-gradient(135deg, var(--mp-pink), #f97316);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.mp-logo-icon svg {
  width: 20px;
  height: 20px;
}

.mp-logo-text {
  display: flex;
  flex-direction: column;
}

.mp-logo-title {
  font-size: 18px;
  font-weight: 700;
  color: #ec4899;
  color: var(--mp-pink);
  line-height: 1.2;
}

.mp-logo-subtitle {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  letter-spacing: 0.3px;
}

/* Pet Badge - Orange paw like reference */
.mp-pet-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.2), rgba(245, 158, 11, 0.15));
  border: 1px solid rgba(249, 115, 22, 0.3);
  padding: 6px 14px 6px 6px;
  border-radius: 9999px;
  border-radius: var(--mp-radius-full);
  cursor: pointer;
  transition: all 0.2s;
}

.mp-pet-badge:hover {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.3), rgba(245, 158, 11, 0.25));
}

.mp-pet-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f97316, #fbbf24);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: white;
}

.mp-pet-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mp-pet-avatar svg {
  width: 16px;
  height: 16px;
}

.mp-pet-name {
  font-size: 15px;
  font-weight: 600;
  color: white;
}

.mp-pet-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: white;
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  min-width: 200px;
  overflow: hidden;
  z-index: 1000;
}

.mp-pet-option {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 16px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: background 0.15s;
  text-align: left;
}

.mp-pet-option:hover {
  background: #f3f4f6;
}

.mp-pet-option.active {
  background: #ede9fe;
}

.mp-pet-option-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #f97316, #fbbf24);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  overflow: hidden;
}

.mp-pet-option-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mp-pet-option-info {
  flex: 1 1;
}

.mp-pet-option-name {
  display: block;
  font-weight: 600;
  color: #1f2937;
  font-size: 14px;
}

.mp-pet-option-breed {
  display: block;
  font-size: 12px;
  color: #6b7280;
}

.mp-pet-option .check {
  color: #8b5cf6;
  color: var(--mp-purple);
}

/* ========================================
   NAVIGATION DOCK - Pill Tabs
   ======================================== */
.mp-dock {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  background: rgba(30, 27, 75, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mp-dock::-webkit-scrollbar {
  display: none;
}

.mp-dock-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 9999px;
  border-radius: var(--mp-radius-full);
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.mp-dock-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  color: white;
  border-color: rgba(255, 255, 255, 0.25);
}

.mp-dock-btn.active {
  background: linear-gradient(135deg, #8b5cf6, #ec4899);
  background: linear-gradient(135deg, var(--mp-purple), var(--mp-pink));
  color: white;
  border-color: transparent;
}

.mp-dock-btn svg {
  width: 14px;
  height: 14px;
}

/* ========================================
   CHAT MESSAGES AREA
   ======================================== */
.mp-messages {
  flex: 1 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px;
  -webkit-overflow-scrolling: touch;
}

.mp-messages-inner {
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ========================================
   USER MESSAGE BUBBLE
   ======================================== */
.mp-msg-user {
  display: flex;
  justify-content: flex-end;
}

.mp-bubble-user {
  max-width: 80%;
  background: linear-gradient(135deg, #8b5cf6, #ec4899);
  background: linear-gradient(135deg, var(--mp-purple), var(--mp-pink));
  color: white;
  padding: 12px 18px;
  border-radius: 18px 18px 4px 18px;
  font-size: 15px;
  line-height: 1.5;
  box-shadow: 0 2px 12px rgba(139, 92, 246, 0.3);
}

/* ========================================
   MIRA MESSAGE CARD - Dark Gradient
   ======================================== */
.mp-msg-mira {
  display: flex;
  justify-content: flex-start;
}

.mp-card {
  max-width: 100%;
  background: linear-gradient(145deg, rgba(88, 28, 135, 0.95), rgba(139, 92, 246, 0.85));
  border-radius: 16px;
  border-radius: var(--mp-radius-lg);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 24px rgba(88, 28, 135, 0.4);
}

/* Card Header - ALL controls in one top bar */
.mp-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  background: rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
}

/* Header Tiles - Quick reply options in header bar */
.mp-header-tiles {
  display: flex;
  gap: 8px;
  margin-left: 12px;
}

.mp-header-tile {
  padding: 8px 16px;
  background: rgba(139, 92, 246, 0.2);
  border: 2px solid rgba(139, 92, 246, 0.5);
  border-radius: 20px;
  color: white;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.mp-header-tile:hover {
  background: rgba(139, 92, 246, 0.35);
  border-color: rgba(139, 92, 246, 0.7);
  transform: translateY(-1px);
}

/* Insights button - purple with clear border */
.mp-header-insights {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(168, 85, 247, 0.2);
  border: 2px solid rgba(168, 85, 247, 0.5);
  border-radius: 20px;
  color: #a855f7;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.mp-header-insights:hover {
  background: rgba(168, 85, 247, 0.3);
  border-color: #a855f7;
}

/* Need help button - green with clear border */
.mp-header-help {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(16, 185, 129, 0.2);
  border: 2px solid rgba(16, 185, 129, 0.5);
  border-radius: 20px;
  color: #10b981;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}

.mp-header-help:hover {
  background: rgba(16, 185, 129, 0.3);
  border-color: #10b981;
}

.mp-header-help span {
  color: #10b981;
}

/* Ready for Pet + Picks - pink with clear styling */
.mp-header-picks {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: linear-gradient(135deg, rgba(236, 72, 153, 0.25), rgba(139, 92, 246, 0.25));
  border: 2px solid rgba(236, 72, 153, 0.5);
  border-radius: 20px;
  color: #ec4899;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  margin-left: auto;
}

.mp-header-picks:hover {
  background: linear-gradient(135deg, rgba(236, 72, 153, 0.35), rgba(139, 92, 246, 0.35));
  border-color: #ec4899;
}

.mp-header-picks-count {
  background: #ec4899;
  color: white;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
}

.mp-header-concierge-badge {
  background: rgba(139, 92, 246, 0.4);
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  color: white;
}

/* Pet avatar in header */
.mp-header-pet-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(139, 92, 246, 0.3);
}

.mp-mira-avatar {
  width: 28px;
  height: 28px;
  background: linear-gradient(135deg, #ec4899, #f97316);
  background: linear-gradient(135deg, var(--mp-pink), #f97316);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  margin-right: 10px;
}

.mp-mira-avatar svg {
  width: 14px;
  height: 14px;
}

.mp-mira-name {
  font-size: 14px;
  font-weight: 600;
  color: white;
}

/* ========================================
   INTENT & EXECUTION BADGES - Day 1 Style
   Clean pill badges aligned right in header
   ======================================== */
.mp-badges-row {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.mp-badge {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Intent badges - soft pastels */
.mp-badge-intent {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.3);
}

.mp-badge-plan { background: rgba(251, 191, 36, 0.2); color: #fbbf24; }
.mp-badge-buy { background: rgba(34, 197, 94, 0.2); color: #22c55e; }
.mp-badge-book { background: rgba(59, 130, 246, 0.2); color: #3b82f6; }
.mp-badge-ask { background: rgba(168, 85, 247, 0.2); color: #a855f7; }
.mp-badge-learn { background: rgba(236, 72, 153, 0.2); color: #ec4899; }
.mp-badge-celebrate { background: rgba(249, 115, 22, 0.2); color: #f97316; }

/* Execution badges */
.mp-badge-exec {
  border: 1px solid;
}

.mp-badge-instant {
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
  border-color: rgba(16, 185, 129, 0.3);
}

.mp-badge-concierge {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.3);
}

/* Card Body */
.mp-card-body {
  padding: 16px;
}

.mp-card-text {
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.95);
  margin: 0;
}

/* ========================================
   CLARIFYING QUESTION - Amber Highlight
   ======================================== */
.mp-question {
  margin-top: 14px;
  padding: 14px 16px;
  background: rgba(245, 158, 11, 0.15);
  background: var(--mp-amber-light);
  border: 1px solid rgba(245, 158, 11, 0.4);
  border: 1px solid var(--mp-amber-border);
  border-left: 3px solid #f59e0b;
  border-left: 3px solid var(--mp-amber);
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
}

.mp-question-text {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: #fef3c7;
  margin: 0;
}

/* ========================================
   QUICK REPLY CHIPS - Amber/Tan
   ======================================== */
.mp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.mp-chip {
  padding: 10px 18px;
  border-radius: 9999px;
  border-radius: var(--mp-radius-full);
  background: rgba(245, 158, 11, 0.2);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fef3c7;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.mp-chip:hover {
  background: rgba(245, 158, 11, 0.35);
  border-color: #f59e0b;
  border-color: var(--mp-amber);
  transform: translateY(-1px);
}

.mp-chip:active {
  transform: translateY(0);
}

/* ========================================
   PRODUCT RECOMMENDATIONS
   ======================================== */
.mp-products {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mp-products-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.mp-products-title {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  margin: 0;
}

.mp-products-title .pet-name {
  color: #ec4899;
  color: var(--mp-pink);
  font-weight: 600;
}

.mp-products-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Product Card - Horizontal Row Style (as in reference) */
.mp-product {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  transition: all 0.2s;
}

.mp-product:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.mp-product-img {
  width: 56px;
  height: 56px;
  border-radius: 8px;
  border-radius: var(--mp-radius-sm);
  object-fit: cover;
  background: #f3f4f6;
  flex-shrink: 0;
}

.mp-product-info {
  flex: 1 1;
  min-width: 0;
}

.mp-product-name {
  font-size: 14px;
  font-weight: 500;
  color: #1f2937;
  margin: 0 0 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.mp-product-price {
  font-size: 14px;
  font-weight: 600;
  color: #8b5cf6;
  color: var(--mp-purple);
  margin: 0;
}

.mp-product-add {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border-radius: var(--mp-radius-sm);
  border: 1px solid rgba(139, 92, 246, 0.3);
  background: rgba(139, 92, 246, 0.08);
  color: #8b5cf6;
  color: var(--mp-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}

.mp-product-add:hover {
  background: #8b5cf6;
  background: var(--mp-purple);
  color: white;
  border-color: #8b5cf6;
  border-color: var(--mp-purple);
}

.mp-product-add svg {
  width: 16px;
  height: 16px;
}

/* ========================================
   IMPORTANT TO WATCH FOR - Collapsible
   ======================================== */
.mp-watchfor {
  margin-top: 14px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  overflow: hidden;
}

.mp-watchfor-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 12px 14px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.15s;
}

.mp-watchfor-toggle:hover {
  background: rgba(255, 255, 255, 0.05);
}

.mp-watchfor-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
}

.mp-watchfor-label svg {
  width: 14px;
  height: 14px;
  color: #f59e0b;
  color: var(--mp-amber);
}

.mp-watchfor-chevron {
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
  transition: transform 0.2s;
}

.mp-watchfor-chevron.open {
  transform: rotate(180deg);
}

.mp-watchfor-content {
  padding: 0 14px 14px;
}

.mp-watchfor-list {
  margin: 0;
  padding-left: 20px;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  font-size: 14px;
  line-height: 1.6;
}

.mp-watchfor-list li {
  margin-bottom: 6px;
}

.mp-watchfor-list li:last-child {
  margin-bottom: 0;
}

/* ========================================
   CONCIERGE STRIP
   ======================================== */
.mp-concierge-strip {
  margin-top: 16px;
  padding: 14px;
  background: rgba(139, 92, 246, 0.1);
  border: 1px solid rgba(139, 92, 246, 0.2);
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.mp-concierge-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(139, 92, 246, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  flex-shrink: 0;
}

.mp-concierge-icon svg {
  width: 14px;
  height: 14px;
}

.mp-concierge-content {
  flex: 1 1;
}

.mp-concierge-text {
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  margin: 0 0 10px;
}

.mp-concierge-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(139, 92, 246, 0.2);
  border: 1px solid rgba(139, 92, 246, 0.3);
  border-radius: 9999px;
  border-radius: var(--mp-radius-full);
  color: white;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.mp-concierge-btn:hover {
  background: #8b5cf6;
  background: var(--mp-purple);
  border-color: #8b5cf6;
  border-color: var(--mp-purple);
}

.mp-concierge-btn svg {
  width: 14px;
  height: 14px;
}

/* ========================================
   FEEDBACK ROW
   ======================================== */
.mp-feedback {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mp-feedback-label {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
}

.mp-feedback-btns {
  display: flex;
  gap: 6px;
  margin-left: auto;
}

.mp-feedback-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border-radius: var(--mp-radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s;
}

.mp-feedback-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
  border-color: rgba(255, 255, 255, 0.25);
}

.mp-feedback-btn.positive {
  background: rgba(16, 185, 129, 0.2);
  border-color: rgba(16, 185, 129, 0.4);
  color: #6ee7b7;
}

.mp-feedback-btn.negative {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.4);
  color: #fca5a5;
}

.mp-feedback-btn svg {
  width: 16px;
  height: 16px;
}

/* ========================================
   INPUT COMPOSER - Bottom Fixed
   ======================================== */
.mp-composer {
  flex-shrink: 0;
  padding: 12px 16px 24px;
  background: linear-gradient(180deg, transparent 0%, rgba(30, 27, 75, 0.98) 40%);
  /* Make composer fixed at bottom */
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
}

.mp-composer-inner {
  max-width: 600px;
  margin: 0 auto;
}

.mp-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  border-radius: var(--mp-radius-lg);
  padding: 4px 4px 4px 16px;
}

.mp-input-row:focus-within {
  border-color: rgba(139, 92, 246, 0.5);
  background: rgba(255, 255, 255, 0.12);
}

.mp-input {
  flex: 1 1;
  border: none;
  background: transparent;
  padding: 12px 8px;
  font-size: 15px;
  color: white;
  outline: none;
}

.mp-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
}

.mp-btn-mic {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s;
}

.mp-btn-mic:hover {
  background: rgba(255, 255, 255, 0.1);
  color: white;
}

.mp-btn-mic.recording {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
  animation: pulse-recording 1.5s infinite;
}

@keyframes pulse-recording {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

.mp-btn-send {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  border: none;
  background: linear-gradient(135deg, #ec4899, #8b5cf6);
  background: linear-gradient(135deg, var(--mp-pink), var(--mp-purple));
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
}

.mp-btn-send:hover {
  transform: scale(1.05);
}

.mp-btn-send:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.mp-btn-send svg,
.mp-btn-mic svg {
  width: 20px;
  height: 20px;
}

/* ========================================
   WELCOME STATE
   ======================================== */
.mp-welcome {
  text-align: center;
  padding: 32px 16px;
}

.mp-welcome-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 20px;
  background: linear-gradient(135deg, #ec4899, #f97316);
  background: linear-gradient(135deg, var(--mp-pink), #f97316);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 8px 32px rgba(236, 72, 153, 0.3);
}

.mp-welcome-icon svg {
  width: 32px;
  height: 32px;
}

.mp-welcome-title {
  font-size: 24px;
  font-weight: 600;
  color: white;
  margin: 0 0 8px;
}

.mp-welcome-subtitle {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  margin: 0 0 24px;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

.mp-welcome-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.mp-welcome-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 9999px;
  border-radius: var(--mp-radius-full);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.mp-welcome-chip:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.35);
  transform: translateY(-2px);
}

/* Test Scenarios Collapsible */
.mp-test-panel {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mp-test-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
  cursor: pointer;
  padding: 8px;
  transition: color 0.15s;
}

.mp-test-toggle:hover {
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
}

.mp-test-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin-top: 12px;
}

.mp-test-chip {
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
  border-radius: var(--mp-radius-full);
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s;
}

.mp-test-chip:hover {
  background: rgba(255, 255, 255, 0.15);
  color: white;
}

.mp-test-chip.active {
  background: linear-gradient(135deg, #8b5cf6, #ec4899);
  background: linear-gradient(135deg, var(--mp-purple), var(--mp-pink));
  border-color: transparent;
  color: white;
}

/* ========================================
   LOADING STATE
   ======================================== */
.mp-loading {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
}

.mp-loading-dots {
  display: flex;
  gap: 4px;
}

.mp-loading-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8b5cf6;
  background: var(--mp-purple);
  animation: mp-dot-pulse 1.4s infinite ease-in-out both;
}

.mp-loading-dot:nth-child(1) { animation-delay: -0.32s; }
.mp-loading-dot:nth-child(2) { animation-delay: -0.16s; }
.mp-loading-dot:nth-child(3) { animation-delay: 0; }

@keyframes mp-dot-pulse {
  0%, 80%, 100% { transform: scale(0); }
  40% { transform: scale(1); }
}

/* ========================================
   SANDBOX FOOTER
   ======================================== */
.mp-sandbox-footer {
  flex-shrink: 0;
  padding: 8px 16px;
  text-align: center;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
  background: rgba(0, 0, 0, 0.2);
}

/* ========================================
   HELP MODAL
   ======================================== */
.mp-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: mp-fade-in 0.2s ease-out;
}

@keyframes mp-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.mp-modal {
  background: white;
  border-radius: 16px;
  border-radius: var(--mp-radius-lg);
  max-width: 400px;
  width: 90%;
  overflow: hidden;
  animation: mp-slide-up 0.3s ease-out;
}

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

.mp-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #e5e7eb;
}

.mp-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin: 0;
}

.mp-modal-close {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border-radius: var(--mp-radius-sm);
  border: none;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mp-modal-close:hover {
  background: #f3f4f6;
}

.mp-modal-body {
  padding: 16px;
}

.mp-modal-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mp-modal-action {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  border: 1px solid #e5e7eb;
  background: white;
  cursor: pointer;
  transition: all 0.15s;
  text-align: left;
}

.mp-modal-action:hover {
  border-color: #8b5cf6;
  border-color: var(--mp-purple);
  background: #faf5ff;
}

.mp-modal-action-icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  background: #ede9fe;
  color: #8b5cf6;
  color: var(--mp-purple);
  display: flex;
  align-items: center;
  justify-content: center;
}

.mp-modal-action-icon svg {
  width: 20px;
  height: 20px;
}

.mp-modal-action-text {
  flex: 1 1;
}

.mp-modal-action-title {
  font-size: 15px;
  font-weight: 500;
  color: #1f2937;
  margin: 0;
}

.mp-modal-action-desc {
  font-size: 13px;
  color: #6b7280;
  margin: 0;
}

/* ========================================
   PAST CHATS SIDEBAR
   ======================================== */
.mp-past-chats {
  position: fixed;
  top: 60px;
  right: 16px;
  width: 320px;
  max-height: calc(100vh - 100px);
  background: rgba(30, 20, 50, 0.97);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
  border-radius: 16px;
  border-radius: var(--mp-radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  z-index: 999;
}

.mp-past-chats-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mp-past-chats-title {
  font-size: 16px;
  font-weight: 600;
  color: white;
  margin: 0;
}

.mp-past-chats-close {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border-radius: var(--mp-radius-sm);
  border: none;
  background: transparent;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mp-past-chats-close:hover {
  background: rgba(255, 255, 255, 0.1);
}

.mp-past-chats-list {
  max-height: 400px;
  overflow-y: auto;
  padding: 8px;
}

.mp-session-btn {
  display: block;
  width: 100%;
  padding: 12px;
  border: none;
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s;
  margin-bottom: 4px;
}

.mp-session-btn:hover {
  background: rgba(139, 92, 246, 0.15);
}

.mp-session-btn.active {
  background: rgba(139, 92, 246, 0.2);
}

.mp-session-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.mp-session-meta svg {
  width: 12px;
  height: 12px;
  color: #8b5cf6;
  color: var(--mp-purple);
}

.mp-session-pet {
  font-size: 14px;
  font-weight: 500;
  color: white;
}

.mp-session-date {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
  margin-left: auto;
}

.mp-session-preview {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ========================================
   RETENTION STATUS BADGES
   ======================================== */

.mp-retention-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 10px;
  font-weight: 500;
  margin-left: 8px;
}

.mp-retention-badge.retention-important {
  background: rgba(250, 204, 21, 0.2);
  color: #facc15;
}

.mp-retention-badge.retention-compressed {
  background: rgba(59, 130, 246, 0.2);
  color: #3b82f6;
}

.mp-retention-badge.retention-archived {
  background: rgba(156, 163, 175, 0.2);
  color: #9ca3af;
}

.retention-icon {
  width: 12px;
  height: 12px;
}

.retention-icon.important { color: #facc15; }
.retention-icon.compressed { color: #3b82f6; }
.retention-icon.archived { color: #9ca3af; }

/* Session Summary (for archived/compressed) */
.mp-session-summary {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 8px;
  margin-top: 4px;
}

.mp-session-summary > p {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  color: var(--mp-text-muted);
  margin: 0;
  line-height: 1.4;
}

.mp-session-summary > svg {
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
}

.mp-session-intents {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.mp-intent-tag {
  padding: 2px 6px;
  background: rgba(139, 92, 246, 0.2);
  border-radius: 4px;
  font-size: 10px;
  color: #8b5cf6;
  color: var(--mp-purple);
}

.mp-msg-count {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.4);
  color: var(--mp-text-subtle);
  margin-top: 2px;
}

/* Archived session styling */
.mp-session-btn.retention-archived {
  opacity: 0.7;
}

.mp-session-btn.retention-archived:hover {
  opacity: 1;
}

.mp-past-chats-footer {
  padding: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.mp-new-chat-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px;
  background: linear-gradient(135deg, #8b5cf6, #6366f1);
  background: linear-gradient(135deg, var(--mp-purple), #6366f1);
  border: none;
  border-radius: 12px;
  border-radius: var(--mp-radius-md);
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.mp-new-chat-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 768px) {
  .mp-header-inner {
    padding: 0 4px;
  }
  
  .mp-logo-text {
    display: none;
  }
  
  .mp-dock {
    justify-content: flex-start;
  }
  
  .mp-dock-btn span {
    display: none;
  }
  
  .mp-dock-btn {
    padding: 8px 12px;
  }
  
  .mp-messages {
    padding: 12px;
  }
  
  .mp-card {
    max-width: 95%;
  }
  
  .mp-past-chats {
    right: 8px;
    left: 8px;
    width: auto;
  }
}

@media (max-width: 480px) {
  .mp-pet-name {
    display: none;
  }
  
  .mp-chip {
    padding: 8px 14px;
    font-size: 13px;
  }
}

/* iOS Safe Areas */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .mp-composer {
    padding-bottom: calc(24px + env(safe-area-inset-bottom));
  }
}

/* ========================================
   COLLAPSIBLE HISTORY - E042
   ======================================== */
.mp-history-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  background: rgba(255,255,255,0.05);
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 1px solid rgba(255,255,255,0.1);
}

.mp-history-toggle:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.2);
}

.mp-history-toggle span {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
}

.mp-history-toggle svg {
  color: rgba(255,255,255,0.6);
}

/* Older messages - compact style */
.mp-old-message {
  opacity: 0.7;
}

.mp-old-message .mp-card {
  padding: 10px 12px;
}

.mp-old-message .mp-card-body {
  font-size: 13px;
  padding: 8px 12px;
}

.mp-old-message .mp-bubble-user {
  font-size: 13px;
  padding: 8px 14px;
}

/* Voice indicator - prevent overflow */
.mp-voice-indicator {
  position: fixed;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  padding: 8px 16px;
  background: rgba(139, 92, 246, 0.95);
  border-radius: 20px;
  color: white;
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 20px rgba(139, 92, 246, 0.4);
}


/* ========================================
   TACTILE FEEDBACK ANIMATIONS (iOS + Android)
   ======================================== */

/* Ripple effect keyframes */
@keyframes ripple-effect {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(2.5);
    opacity: 0;
  }
}

/* Button press states for tactile feel */
.mp-chip,
.mp-test-chip,
.mp-concierge-btn,
.mp-product-add,
.mp-session-btn,
button[data-testid] {
  transition: transform 0.1s ease-out, box-shadow 0.1s ease-out;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.mp-chip:active,
.mp-test-chip:active,
.mp-concierge-btn:active,
.mp-product-add:active,
.mp-session-btn:active,
button[data-testid]:active {
  transform: scale(0.95);
}

/* Voice button tactile states */
.mp-voice-btn {
  transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
  -webkit-tap-highlight-color: transparent;
}

.mp-voice-btn:active {
  transform: scale(0.9);
  box-shadow: 0 2px 10px rgba(139, 92, 246, 0.6);
}

.mp-voice-btn.listening {
  animation: voice-pulse 1.5s ease-in-out infinite;
}

@keyframes voice-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(139, 92, 246, 0.4);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 10px rgba(139, 92, 246, 0);
  }
}

/* Send button tactile */
.mp-send-btn {
  transition: transform 0.1s ease-out, background 0.15s ease-out;
  -webkit-tap-highlight-color: transparent;
}

.mp-send-btn:active {
  transform: scale(0.9);
}

/* Card press states */
.mp-card,
.nearby-place-card,
.mp-product-card {
  transition: transform 0.15s ease-out, box-shadow 0.15s ease-out;
  -webkit-tap-highlight-color: transparent;
}

.mp-card:active,
.nearby-place-card:active,
.mp-product-card:active {
  transform: scale(0.98);
}

/* History toggle tactile */
.mp-history-toggle {
  transition: transform 0.1s ease-out, background 0.15s ease-out;
  -webkit-tap-highlight-color: transparent;
}

.mp-history-toggle:active {
  transform: scale(0.97);
  background: rgba(255,255,255,0.15);
}

/* Mobile nav tactile */
.mobile-nav-item,
.mira-fab {
  transition: transform 0.1s ease-out;
  -webkit-tap-highlight-color: transparent;
}

.mobile-nav-item:active {
  transform: scale(0.9);
}

.mira-fab:active {
  transform: scale(0.85);
}

/* Quick suggestion chips tactile */
[data-testid^="quick-city-"],
[data-testid^="tab-"] {
  transition: transform 0.1s ease-out;
  -webkit-tap-highlight-color: transparent;
}

[data-testid^="quick-city-"]:active,
[data-testid^="tab-"]:active {
  transform: scale(0.95);
}

/* Ensure touch-action for all interactive elements */
button, a, [role="button"], .clickable {
  touch-action: manipulation;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}



/* ========================================
   LEARN OS LAYER STYLES
   ======================================== */

/* Learn Panel - Full Screen */
.learn-panel {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #1e1b4b 0%, #312e81 50%, #581c87 100%);
  background: linear-gradient(180deg, var(--mp-bg-start) 0%, var(--mp-bg-mid) 50%, var(--mp-bg-end) 100%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Learn Header */
.learn-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  padding-top: max(12px, env(safe-area-inset-top));
  background: rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  min-height: 56px;
}

.learn-header-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

.learn-header-title h2 {
  font-size: 18px;
  font-weight: 600;
  color: white;
  margin: 0;
}

.learn-back-btn {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 12px;
  color: white;
  cursor: pointer;
  transition: background 0.2s;
}

.learn-back-btn:active {
  background: rgba(255, 255, 255, 0.2);
}

.learn-header-actions {
  display: flex;
  gap: 8px;
}

.learn-saved-btn {
  position: relative;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.1);
  border: none;
  border-radius: 12px;
  color: white;
  cursor: pointer;
}

.learn-saved-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  background: #8b5cf6;
  background: var(--mp-purple);
  border-radius: 9px;
  font-size: 10px;
  font-weight: 600;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Search Bar */
.learn-search-container {
  padding: 12px 16px;
}

.learn-search-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 12px 16px;
}

.learn-search-icon {
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}

.learn-search-input {
  flex: 1 1;
  background: transparent;
  border: none;
  outline: none;
  color: white;
  font-size: 16px;
}

.learn-search-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.learn-search-clear {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.15);
  border: none;
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
}

/* Topic Chips - Horizontal Scroll */
.learn-topics-scroll {
  display: flex;
  gap: 8px;
  padding: 0 16px 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.learn-topics-scroll::-webkit-scrollbar {
  display: none;
}

.learn-topic-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.2s;
  flex-shrink: 0;
}

.learn-topic-chip svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.learn-topic-chip.active {
  background: #8b5cf6;
  background: var(--mp-purple);
  border-color: #8b5cf6;
  border-color: var(--mp-purple);
  color: white;
}

.learn-topic-chip:active {
  transform: scale(0.95);
}

/* Content Area */
.learn-content-area {
  flex: 1 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 16px 24px;
}

/* Topics Grid */
.learn-topics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 12px;
  gap: 12px;
  margin-top: 16px;
}

.learn-topic-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.2s;
}

.learn-topic-card:active {
  transform: scale(0.95);
  background: rgba(255, 255, 255, 0.12);
}

.learn-topic-card-label {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}

/* Content Shelf */
.learn-shelf {
  margin-top: 24px;
}

.learn-shelf-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.learn-shelf-header h3 {
  font-size: 16px;
  font-weight: 600;
  color: white;
  margin: 0;
  flex: 1 1;
}

.learn-shelf-count {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.1);
  padding: 2px 8px;
  border-radius: 10px;
}

.learn-shelf-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Content Card */
.learn-content-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.2s;
  text-align: left;
  width: 100%;
}

.learn-content-card:active {
  background: rgba(255, 255, 255, 0.12);
  transform: scale(0.98);
}

.learn-card-content {
  flex: 1 1;
  min-width: 0;
}

.learn-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.learn-card-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}

.learn-card-badge {
  font-size: 11px;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 8px;
}

.learn-card-title {
  font-size: 15px;
  font-weight: 600;
  color: white;
  margin: 0 0 4px 0;
  line-height: 1.3;
}

.learn-card-summary {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.learn-card-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.learn-card-topic {
  font-size: 11px;
  font-weight: 500;
}

.learn-card-chevron {
  color: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
}

/* Topic Header */
.learn-topic-header {
  padding: 8px 0 16px;
}

.learn-topic-header h3 {
  font-size: 24px;
  font-weight: 700;
  color: white;
  margin: 0 0 4px 0;
}

.learn-topic-header p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

/* Search Results */
.learn-search-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0 16px;
}

.learn-search-header p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
}

.learn-search-header span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
}

.learn-search-results {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Saved Header */
.learn-saved-header {
  padding: 8px 0 16px;
}

.learn-saved-header h3 {
  font-size: 24px;
  font-weight: 700;
  color: white;
  margin: 0;
}

/* Empty State */
.learn-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
}

.learn-empty p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin: 16px 0;
}

.learn-empty button {
  padding: 12px 24px;
  background: #8b5cf6;
  background: var(--mp-purple);
  border: none;
  border-radius: 12px;
  color: white;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

/* Loading State */
.learn-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
}

.learn-loading-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid rgba(255, 255, 255, 0.1);
  border-top-color: #8b5cf6;
  border-top-color: var(--mp-purple);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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

.learn-loading p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 16px;
}

/* Error State */
.learn-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 48px 24px;
  text-align: center;
}

.learn-error p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 16px;
}

.learn-error button {
  padding: 12px 24px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  color: white;
  font-size: 14px;
  cursor: pointer;
}

/* ========================================
   LEARN READER STYLES
   ======================================== */

.learn-reader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #1e1b4b 0%, #312e81 50%, #581c87 100%);
  background: linear-gradient(180deg, var(--mp-bg-start) 0%, var(--mp-bg-mid) 50%, var(--mp-bg-end) 100%);
  z-index: 10000;
  display: flex;
  flex-direction: column;
}

.learn-reader-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  padding-top: max(12px, env(safe-area-inset-top));
  background: rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  min-height: 56px;
}

.learn-reader-meta {
  display: flex;
  gap: 8px;
  align-items: center;
}

.learn-reader-topic {
  font-size: 12px;
  font-weight: 500;
  color: #8b5cf6;
  color: var(--mp-purple);
  background: rgba(139, 92, 246, 0.2);
  padding: 4px 10px;
  border-radius: 8px;
}

.learn-reader-time {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}

.learn-reader-content {
  flex: 1 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 24px 16px;
}

.learn-reader-title-section {
  margin-bottom: 24px;
}

.learn-reader-title-section h1 {
  font-size: 24px;
  font-weight: 700;
  color: white;
  margin: 0 0 8px 0;
  line-height: 1.3;
}

.risk-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 8px;
}

.risk-badge.risk-high {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}

.risk-badge.risk-medium {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
}

.learn-reader-spacer {
  height: 100px;
}

.learn-reader-source {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}

.trust-badge {
  font-size: 11px;
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  padding: 2px 8px;
  border-radius: 6px;
}

/* Guide Content */
.guide-content {
  color: white;
}

.guide-summary {
  font-size: 16px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 24px;
}

.guide-section {
  margin-bottom: 24px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  padding: 16px;
}

.guide-section h4 {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: white;
  margin: 0 0 12px 0;
}

.guide-section ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.guide-steps ul li {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.guide-steps ul li:last-child {
  border-bottom: none;
}

.step-number {
  width: 24px;
  height: 24px;
  background: #8b5cf6;
  background: var(--mp-purple);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  color: white;
  flex-shrink: 0;
}

.step-text {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.5;
}

.guide-watch-for ul li,
.guide-escalate ul li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 8px 0;
}

.guide-watch-for ul li::before {
  content: "•";
  color: #fbbf24;
  font-weight: bold;
}

.guide-escalate ul li::before {
  content: "!";
  color: #f87171;
  font-weight: bold;
  width: 16px;
  height: 16px;
  background: rgba(248, 113, 113, 0.2);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  flex-shrink: 0;
}

/* Mira Video Frame */
.mira-video-frame {
  margin-top: 16px;
}

.video-before-frame {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  overflow: hidden;
}

.video-thumbnail {
  position: relative;
  aspect-ratio: 16/9;
  cursor: pointer;
}

.video-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-play-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-duration {
  position: absolute;
  bottom: 8px;
  right: 8px;
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(0, 0, 0, 0.7);
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  color: white;
}

.video-bullets-before {
  padding: 16px;
}

.video-bullets-before h4 {
  font-size: 14px;
  font-weight: 600;
  color: white;
  margin: 0 0 12px 0;
}

.video-bullets-before ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.video-bullets-before li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}

.video-safety-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(245, 158, 11, 0.1);
  border-top: 1px solid rgba(245, 158, 11, 0.2);
  font-size: 13px;
  color: #fbbf24;
}

.video-play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  background: #8b5cf6;
  background: var(--mp-purple);
  border: none;
  color: white;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.video-player-container {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 16px;
  overflow: hidden;
}

.video-iframe {
  width: 100%;
  aspect-ratio: 16/9;
  display: block;
}

.video-after-frame {
  padding: 16px;
}

.video-after-frame h4 {
  font-size: 14px;
  font-weight: 600;
  color: white;
  margin: 0 0 12px 0;
}

.video-after-frame ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.video-after-frame li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}

.video-escalation {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.video-escalation h5 {
  font-size: 13px;
  font-weight: 600;
  color: #fbbf24;
  margin: 0 0 8px 0;
}

/* Sticky Action Bar */
.learn-action-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  padding-bottom: max(12px, env(safe-area-inset-bottom));
  background: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
}

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

.action-primary {
  flex: 2 1;
  background: #8b5cf6;
  background: var(--mp-purple);
  color: white;
}

.action-secondary {
  flex: 1 1;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: white;
}

.action-tertiary {
  width: 48px;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.7);
}

.action-tertiary.saved {
  background: rgba(139, 92, 246, 0.2);
  border-color: #8b5cf6;
  border-color: var(--mp-purple);
}

/* Responsive - Tablet+ */
@media (min-width: 768px) {
  .learn-topics-grid {
    grid-template-columns: repeat(5, 1fr);
  }
  
  .learn-content-card {
    max-width: 600px;
  }
  
  .learn-action-bar {
    max-width: 600px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 16px 16px 0 0;
  }
}


/**
 * iOS Premium Design System
 * Gold Standard Mobile-First UI/UX
 * For Mira Pet OS - Celebrate & Dine Pillars
 */

/* ═══════════════════════════════════════════════════════════════════════════
   TYPOGRAPHY - SF Pro Style
   ═══════════════════════════════════════════════════════════════════════════ */

.ios-title-large {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.ios-title-1 {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.ios-title-2 {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.ios-title-3 {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
}

.ios-headline {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
}

.ios-body {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}

.ios-callout {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

.ios-subhead {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
}

.ios-footnote {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
}

.ios-caption {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.3;
}

/* ═══════════════════════════════════════════════════════════════════════════
   GLASSMORPHISM CARDS
   ═══════════════════════════════════════════════════════════════════════════ */

.glass-card {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.glass-card-dark {
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.glass-card-celebrate {
  background: rgba(255, 240, 245, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 45, 85, 0.15);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(255, 45, 85, 0.1);
}

.glass-card-dine {
  background: rgba(255, 248, 240, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 149, 0, 0.15);
  border-radius: 24px;
  box-shadow: 0 8px 32px rgba(255, 149, 0, 0.1);
}

/* ═══════════════════════════════════════════════════════════════════════════
   HAPTIC BUTTON FEEDBACK
   ═══════════════════════════════════════════════════════════════════════════ */

.haptic-btn {
  transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), 
              box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

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

.haptic-card {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.haptic-card:active {
  transform: scale(0.98);
}

/* ═══════════════════════════════════════════════════════════════════════════
   FLOATING PILL DOCK (Filters)
   ═══════════════════════════════════════════════════════════════════════════ */

.pill-dock {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 4px 16px;
  margin: 0 -16px;
}

.pill-dock::-webkit-scrollbar {
  display: none;
}

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

.pill-item {
  flex-shrink: 0;
  scroll-snap-align: start;
  padding: 10px 18px;
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 500;
  color: #3A3A3C;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  white-space: nowrap;
}

.pill-item:active {
  transform: scale(0.95);
}

.pill-item.active {
  background: linear-gradient(135deg, #1C1C1E 0%, #3A3A3C 100%);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.pill-item-celebrate.active {
  background: linear-gradient(135deg, #FF2D55 0%, #AF52DE 100%);
}

.pill-item-dine.active {
  background: linear-gradient(135deg, #FF9500 0%, #FF3B30 100%);
}

/* ═══════════════════════════════════════════════════════════════════════════
   BENTO GRID LAYOUTS
   ═══════════════════════════════════════════════════════════════════════════ */

.bento-grid {
  display: grid;
  grid-gap: 12px;
  gap: 12px;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
  .bento-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}

.bento-featured {
  grid-column: span 2;
}

@media (min-width: 768px) {
  .bento-featured {
    grid-column: span 2;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SQUIRCLE CARD STYLE
   ═══════════════════════════════════════════════════════════════════════════ */

.squircle-card {
  border-radius: 24px;
  overflow: hidden;
  position: relative;
}

.squircle-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 24px;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,0.4), rgba(255,255,255,0.1));
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SAFE AREA SPACING
   ═══════════════════════════════════════════════════════════════════════════ */

.ios-safe-bottom {
  padding-bottom: calc(env(safe-area-inset-bottom, 20px) + 80px);
}

.ios-safe-top {
  padding-top: env(safe-area-inset-top, 44px);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SMOOTH SECTION TRANSITIONS
   ═══════════════════════════════════════════════════════════════════════════ */

.section-fade-in {
  animation: sectionFadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

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

.stagger-1 { animation-delay: 0ms; }
.stagger-2 { animation-delay: 80ms; }
.stagger-3 { animation-delay: 160ms; }
.stagger-4 { animation-delay: 240ms; }
.stagger-5 { animation-delay: 320ms; }
.stagger-6 { animation-delay: 400ms; }

/* ═══════════════════════════════════════════════════════════════════════════
   CELEBRATE THEME
   ═══════════════════════════════════════════════════════════════════════════ */

.theme-celebrate {
  --primary: #FF2D55;
  --secondary: #AF52DE;
  --background: #FFF0F5;
  --surface: rgba(255, 255, 255, 0.8);
  --accent: #FFD700;
}

.gradient-celebrate {
  background: linear-gradient(135deg, #FF9A9E 0%, #FECFEF 99%);
}

.gradient-celebrate-dark {
  background: linear-gradient(135deg, #FF2D55 0%, #AF52DE 100%);
}

/* ═══════════════════════════════════════════════════════════════════════════
   DINE THEME
   ═══════════════════════════════════════════════════════════════════════════ */

.theme-dine {
  --primary: #FF9500;
  --secondary: #FF3B30;
  --background: #FFF8F0;
  --surface: rgba(255, 255, 255, 0.9);
  --accent: #34C759;
}

.gradient-dine {
  background: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
}

.gradient-dine-dark {
  background: linear-gradient(135deg, #FF9500 0%, #FF3B30 100%);
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE OPTIMIZATIONS
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 640px) {
  .mobile-full-bleed {
    margin-left: -16px;
    margin-right: -16px;
    padding-left: 16px;
    padding-right: 16px;
  }
  
  .mobile-card-compact {
    padding: 12px;
  }
  
  .mobile-text-sm {
    font-size: 14px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT CARD PREMIUM
   ═══════════════════════════════════════════════════════════════════════════ */

.product-card-premium {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: white;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
  transition: transform 0.2s, box-shadow 0.2s;
}

.product-card-premium:active {
  transform: scale(0.98);
}

.product-card-premium .add-btn {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.15s, background 0.15s;
}

.product-card-premium .add-btn:active {
  transform: scale(0.9);
  background: #f0f0f0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   EXPERIENCE CARD PREMIUM (Concierge)
   ═══════════════════════════════════════════════════════════════════════════ */

.experience-card {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.experience-card:active {
  transform: scale(0.98);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.experience-card-featured {
  background: linear-gradient(135deg, rgba(255, 45, 85, 0.1), rgba(175, 82, 222, 0.1));
  border: 1px solid rgba(255, 45, 85, 0.2);
}

.experience-card-featured-dine {
  background: linear-gradient(135deg, rgba(255, 149, 0, 0.1), rgba(255, 59, 48, 0.1));
  border: 1px solid rgba(255, 149, 0, 0.2);
}

/* Icon Container */
.experience-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,0.9), rgba(255,255,255,0.6));
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* Badge Style */
.premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.badge-signature {
  background: linear-gradient(135deg, #FFD700, #FFA500);
  color: #1C1C1E;
}

.badge-popular {
  background: linear-gradient(135deg, #FF2D55, #FF6B9D);
  color: white;
}

.badge-new {
  background: linear-gradient(135deg, #34C759, #30D158);
  color: white;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESTAURANT CARD PREMIUM
   ═══════════════════════════════════════════════════════════════════════════ */

.restaurant-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: white;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}

.restaurant-card:active {
  transform: scale(0.98);
}

.restaurant-card-image {
  aspect-ratio: 16/10;
  object-fit: cover;
  width: 100%;
}

.restaurant-card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px;
  background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCROLL INDICATORS
   ═══════════════════════════════════════════════════════════════════════════ */

.scroll-indicator {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 8px 0;
}

.scroll-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.15);
  transition: all 0.3s;
}

.scroll-dot.active {
  width: 20px;
  border-radius: 3px;
  background: #FF2D55;
  background: var(--primary, #FF2D55);
}

/* ═══════════════════════════════════════════════════════════════════════════
   LOADING STATES
   ═══════════════════════════════════════════════════════════════════════════ */

.skeleton-shimmer {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.04) 0%,
    rgba(0, 0, 0, 0.08) 50%,
    rgba(0, 0, 0, 0.04) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

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

/* ═══════════════════════════════════════════════════════════════════════════
   UTILITY CLASSES
   ═══════════════════════════════════════════════════════════════════════════ */

.text-gradient-celebrate {
  background: linear-gradient(135deg, #FF2D55, #AF52DE);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.text-gradient-dine {
  background: linear-gradient(135deg, #FF9500, #FF3B30);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

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

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

:root {
  /* iOS Safe Areas */
  --safe-bottom: env(safe-area-inset-bottom, 20px);
  --safe-top: env(safe-area-inset-top, 44px);
  
  /* Typography System */
  --font-serif: 'Cormorant Garamond', serif;
  --font-sans: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif;
  
  /* iOS Type Scale — bumped for iOS readability (Apple HIG minimum 17px body) */
  --text-xs: 13px;   /* was 12px — used for chips, badges */
  --text-sm: 15px;   /* was 14px — used for secondary text, captions */
  --text-base: 17px; /* was 16px — Apple's standard body size */
  --text-lg: 20px;   /* was 18px */
  --text-xl: 23px;   /* was 22px */
  --text-2xl: 30px;  /* was 28px */
  --text-3xl: 36px;  /* was 34px */
  
  /* Shared Base Colors */
  --color-dark-bg: #0B1628;
  /* --color-gold removed: use --color-gold from tdc-design-tokens.css as single source of truth */
  --color-surface: #FFFFFF;
  --color-surface-secondary: #F8F9FA;
  
  /* Shadows */
  --shadow-ios: 0 8px 30px rgba(0, 0, 0, 0.04);
  --shadow-ios-lg: 0 12px 40px rgba(0, 0, 0, 0.08);
}

/* Global resets for mobile pages */
.mobile-page-container {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif;
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  background: #FFFFFF;
  background: var(--color-surface);
  min-height: 100vh;
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 20px));
  padding-bottom: calc(96px + var(--safe-bottom));
}

.mobile-heading-serif {
  font-family: 'Cormorant Garamond', serif;
  font-family: var(--font-serif);
  letter-spacing: -0.01em;
}

/* Typography Classes */
.ios-h1 { font-family: 'Cormorant Garamond', serif; font-family: var(--font-serif); font-size: 36px; font-size: var(--text-3xl); line-height: 1.2; font-weight: 600; }
.ios-h2 { font-family: 'Cormorant Garamond', serif; font-family: var(--font-serif); font-size: 30px; font-size: var(--text-2xl); line-height: 1.25; font-weight: 600; }
.ios-h3 { font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif; font-family: var(--font-sans); font-size: 23px; font-size: var(--text-xl); line-height: 1.3; font-weight: 600; letter-spacing: -0.5px; }
.ios-body { font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif; font-family: var(--font-sans); font-size: 17px; font-size: var(--text-base); line-height: 1.5; }
.ios-caption { font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif; font-family: var(--font-sans); font-size: 15px; font-size: var(--text-sm); line-height: 1.4; color: #666; }

/* Buttons */
.ios-btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 56px; /* iOS standard touch target */
  padding: 0 24px;
  border-radius: 999px; /* Pill shape */
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif;
  font-family: var(--font-sans);
  font-size: 17px;
  font-size: var(--text-base);
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.2s;
  border: none;
}
.ios-btn-primary:active {
  transform: scale(0.96);
  opacity: 0.9;
}

/* Tab Navigation */
.ios-tab-bar {
  display: flex;
  justify-content: center;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
  position: -webkit-sticky;
  position: sticky;
  top: 0; /* sticks at top of viewport (above hero, covers navbar when scrolled) */
  z-index: 60; /* above navbar z-50 */
  padding: 8px 16px;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.ios-tab-bar::-webkit-scrollbar { display: none; }

.ios-tab {
  padding: 10px 18px;
  border-radius: 999px;
  font-size: 15px;
  font-size: var(--text-sm);
  font-weight: 500;
  color: #666;
  white-space: nowrap;
  transition: all 0.2s;
  background: transparent;
  border: none;
}
.ios-tab.active {
  background: #0B1628;
  background: var(--color-dark-bg);
  color: #fff;
  font-weight: 600;
}

/* Bottom Sheet (Modal override) */
.ios-bottom-sheet-content {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  transform: none !important;
  max-width: 100% !important;
  width: 100% !important;
  max-height: 90dvh !important;
  background: #fff;
  border-radius: 32px 32px 0 0 !important;
  padding: 24px 20px calc(24px + env(safe-area-inset-bottom, 20px)) !important;
  padding: 24px 20px calc(24px + var(--safe-bottom)) !important;
  box-shadow: 0 -10px 40px rgba(0,0,0,0.1) !important;
  animation: slideUp 0.4s cubic-bezier(0.32, 0.72, 0, 1) forwards;
  overflow-y: auto;
}
.ios-bottom-sheet-overlay {
  background: rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
.ios-drag-handle {
  width: 40px;
  height: 5px;
  background: #E5E7EB;
  border-radius: 999px;
  margin: 0 auto 20px;
}

@keyframes slideUp {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

/* Card System */
.ios-card {
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
  box-shadow: var(--shadow-ios);
  border: 1px solid rgba(0, 0, 0, 0.03);
  overflow: hidden;
}

/* ========== RESPONSIVE MODAL → BOTTOM SHEET ========== */
/* On mobile, convert centered modals to iOS-native bottom sheets */
@media (max-width: 768px) {
  /* ProductDetailModal & ConciergeOnlyProductDetailModal */
  .fixed.inset-0 > .bg-white.rounded-2xl,
  .fixed.inset-0 > div > .bg-white.rounded-2xl {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    max-width: 100% !important;
    width: 100% !important;
    max-height: 88dvh !important;
    border-radius: 28px 28px 0 0 !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
    animation: slideUp 0.38s cubic-bezier(0.32, 0.72, 0, 1) both;
  }
  
  /* Add drag handle pseudo-element */
  .fixed.inset-0 > .bg-white.rounded-2xl::before {
    content: '';
    display: block;
    width: 40px;
    height: 5px;
    background: #E5E7EB;
    border-radius: 999px;
    margin: 12px auto 0;
  }
  
  /* Fix backdrop to properly center-bottom */
  .fixed.inset-0.bg-black\/70 {
    align-items: flex-end !important;
    padding: 0 !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  
  /* ServiceBookingModal overlay */
  .fixed.inset-0.z-\[50000\] {
    align-items: flex-end !important;
  }

  /* Grid layout → single column on mobile product modals */
  .bg-white.rounded-2xl .grid.md\:grid-cols-2 {
    grid-template-columns: 1fr !important;
  }
  
  /* Hide desktop-only grid columns on mobile */
  .bg-white.rounded-2xl .relative.aspect-square.bg-gray-50 {
    max-height: 45vw;
    border-radius: 24px 24px 0 0;
  }
}

/* ========== MOBILE HERO IMPROVEMENTS ========== */
@media (max-width: 768px) {
  /* Ensure hero text is visible and properly sized */
  [class*="-m"] > div:first-child {
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', sans-serif;
  }
  
  /* Mira intelligence text bump */
  .mobile-page-container [style*="font-size"] {
    -webkit-font-smoothing: antialiased;
  }
}

/* ========== LETTER SPACING IMPROVEMENTS ========== */
.ios-eyebrow {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* ========== INPUTS & FORM FIELDS ========== */
@media (max-width: 768px) {
  input, textarea, select {
    font-size: 16px !important; /* Prevents iOS auto-zoom on focus */
  }
}

/* ========== MOBILE FONT SIZE FLOOR ========== */
/* Catches hardcoded inline fontSize: 11/12/13/14 values throughout mobile pages.
   Applied only inside .mobile-page-container so desktop is never affected. */
@media (max-width: 768px) {
  .mobile-page-container [style*="font-size: 10px"],
  .mobile-page-container [style*="font-size: 11px"] { font-size: 13px !important; }

  .mobile-page-container [style*="font-size: 12px"] { font-size: 13px !important; }

  .mobile-page-container [style*="font-size: 13px"] { font-size: 15px !important; }

  .mobile-page-container [style*="font-size: 14px"] { font-size: 16px !important; }
}

/* Eyebrow labels — bump from 11px */
.ios-eyebrow { font-size: 12px; }

/* ========== DARK MODAL OVERLAYS ========== */
/* All fixed overlays get consistent dark treatment */
@media (max-width: 768px) {
  .mobile-page-container ~ div[style*="rgba(0,0,0"],
  div[style*="position: fixed"][style*="rgba(0,0,0"],
  div[style*="position:fixed"][style*="rgba(0,0,0"] {
    background: rgba(0,0,0,0.78) !important;
  }
}

/* ========== MODAL CONTENT SCROLLBARS — hide without killing page scroll ========== */
/* Targets only modal inner containers with maxHeight + overflowY */
[style*="maxHeight"][style*="overflowY"]::-webkit-scrollbar,
[style*="max-height"][style*="overflow-y"]::-webkit-scrollbar {
  display: none;
  width: 0;
}
/* NEVER use * { scrollbar: none } — kills ALL page scrolling */
.no-sb,
[style*="overflow-x: auto"],
[style*="overflow-x:auto"] {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.no-sb::-webkit-scrollbar,
[style*="overflow-x: auto"]::-webkit-scrollbar,
[style*="overflow-x:auto"]::-webkit-scrollbar {
  display: none;
}

/* ========== PREMIUM iOS FONT & SPACING UPGRADE ========== */
/* Dipali's Golden Phone Audit — larger, breathable, premium */

/* Base font size bump for all mobile pages */
@media (max-width: 768px) {
  .mobile-page-container {
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: -0.01em;
  }

  /* Hero section — bigger, bolder */
  .mobile-page-container > div:first-child {
    padding: 40px 20px 28px !important;
  }

  /* All section headings */
  .mobile-page-container h1,
  .mobile-page-container h2,
  .mobile-page-container h3 {
    letter-spacing: -0.02em;
    line-height: 1.2;
  }

  /* Mira dark bar — more breathing room */
  .mobile-page-container [style*="borderRadius:20"][style*="padding:16"] {
    padding: 20px !important;
  }

  /* Tab bar pills — bigger touch targets */
  .ios-tab {
    padding: 12px 22px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  /* Product cards — more padding */
  .mobile-page-container [style*="gridTemplateColumns:'1fr 1fr'"] > div,
  .mobile-page-container [style*='gridTemplateColumns:"1fr 1fr"'] > div {
    border-radius: 16px !important;
  }

  /* Buttons — proper Apple touch targets (min 48px) */
  .mobile-page-container button {
    min-height: 44px;
    font-size: 16px !important;
  }

  /* CTA buttons — even bigger */
  .mobile-page-container [class*="-cta"] {
    min-height: 52px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    border-radius: 16px !important;
  }

  /* Cards — more generous padding */
  .mobile-page-container [style*="padding:'14px"] {
    padding: 18px !important;
  }
  .mobile-page-container [style*='padding:"14px'] {
    padding: 18px !important;
  }

  /* Dim tiles — bigger */
  .mobile-page-container [style*="minHeight:130"],
  .mobile-page-container [style*="minHeight: 130"] {
    min-height: 150px !important;
  }

  /* Pet switcher buttons in hero */
  .mobile-page-container [style*="borderRadius:999"][style*="fontSize:13"] {
    font-size: 15px !important;
    padding: 8px 20px !important;
  }

  /* Soul profile card */
  .mobile-page-container [data-testid*="soul-profile"] {
    padding: 20px !important;
    border-radius: 20px !important;
  }

  /* Section labels */
  .mobile-page-container [style*="fontSize:14"][style*="fontWeight:700"],
  .mobile-page-container [style*='fontSize:"14'][style*='fontWeight:"700'] {
    font-size: 16px !important;
  }

  /* Mira quote text */
  .mobile-page-container [style*="fontStyle:'italic'"],
  .mobile-page-container [style*='fontStyle:"italic"'] {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  /* Badge chips */
  .mobile-page-container [style*="fontSize:9"],
  .mobile-page-container [style*='fontSize:"9"'],
  .mobile-page-container [style*="fontSize:10"],
  .mobile-page-container [style*='fontSize:"10"'] {
    font-size: 12px !important;
  }

  /* Eyebrow labels like "THE DOGGY COMPANY" */
  .mobile-page-container [style*="letterSpacing:'0.1em'"],
  .mobile-page-container [style*='letterSpacing:"0.1em"'] {
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
  }

  /* Service cards */
  .mobile-page-container [style*="borderRadius:16"][style*="padding:'14px"] {
    padding: 18px 16px !important;
  }

  /* Spacing between sections */
  .mobile-page-container [style*="margin:'0 16px"],
  .mobile-page-container [style*='margin:"0 16px'] {
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}

/* ========== PREMIUM DESKTOP UPGRADE ========== */
@media (min-width: 769px) {
  /* Soul pages — more generous spacing */
  [class*="SoulPage"],
  [data-testid*="-desktop"] {
    font-size: 16px;
    line-height: 1.65;
  }

  /* All cards on desktop */
  [style*="borderRadius:18"],
  [style*='borderRadius:"18"'] {
    border-radius: 20px !important;
  }

  /* Section headings */
  [style*="fontSize:22"][style*="fontWeight:700"],
  [style*='fontSize:"22"'] {
    font-size: 24px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════════
   WORLD CLASS POLISH — The Doggy Company
   Global enhancements for premium mobile-first experience
   ═══════════════════════════════════════════════════════════════════════ */

/* ─── 1. PRODUCT CARDS — Larger images on mobile ─── */
@media (max-width: 640px) {
  /* Shop page product grid */
  .product-card img,
  [class*="product"] img[class*="object-cover"],
  .grid img[alt] {
    min-height: 180px !important;
  }
  
  /* Product card in 2-column grid — give more vertical space */
  .grid-cols-2 > div,
  [class*="grid-cols-2"] > div {
    min-height: auto;
  }
  
  /* Product name — allow 2 lines */
  .product-card h3,
  .product-card [class*="font-medium"],
  .product-card [class*="font-semibold"] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
  }
}

/* ─── 2. PILLAR HERO SECTIONS — Subtle depth on scroll ─── */
[class*="gradient-to-r"][class*="from-"] {
  position: relative;
}

/* Pillar hero gradient — smoother transition */
.pillar-hero,
[class*="bg-gradient"] {
  transition: opacity 0.3s ease;
}

/* Hero text entrance animation */
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Apply to pillar page titles */
h1[class*="text-4xl"],
h1[class*="text-5xl"],
h1[class*="text-3xl"] {
  animation: heroFadeUp 0.6s ease-out;
}

/* Subtitle fade in slightly delayed */
h1 + p,
h1 + div > p {
  animation: heroFadeUp 0.8s ease-out;
}

/* ─── 3. MIRA DEMO CHAT — Softer message styling ─── */

/* User messages — softer gradient */
.mp-user-bubble,
[class*="bg-gradient"][class*="from-pink"] {
  border-radius: 20px 20px 4px 20px !important;
  box-shadow: 0 2px 12px rgba(236, 72, 153, 0.15);
}

/* Mira messages — glass-morphism feel */
.mp-card,
.mp-mira-card {
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: 20px 20px 20px 4px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
}

/* Chat input area — float above content */
.chat-input-area,
[class*="sticky"][class*="bottom"] {
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}

/* Smoother message transitions */
.mp-card,
.mp-user-bubble {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ─── 4. NOTIFICATION INBOX — Better read/unread contrast ─── */

/* Unread notifications — stronger visual signal */
[data-testid*="inbox-row"]:not([class*="opacity"]) {
  border-left: 3px solid #ec4899;
}

/* Read notifications — clearly dimmed */
.notification-read,
[class*="opacity-70"] {
  opacity: 0.55;
}

/* Unread title — bolder */
.inbox-row-unread h3,
h3[class*="font-semibold"][class*="text-white"] {
  letter-spacing: -0.01em;
}

/* Concierge reply — special highlight */
[class*="concierge"] {
  border-left-color: #a855f7 !important;
}

/* ─── 5. FONT SIZE CONSISTENCY — Mobile-first hierarchy ─── */
@media (max-width: 640px) {
  /* Page titles */
  h1 { font-size: 1.75rem !important; line-height: 1.2; }
  h2 { font-size: 1.375rem !important; line-height: 1.25; }
  h3 { font-size: 1.125rem !important; line-height: 1.3; }
  
  /* Body text */
  p, span, div { 
    font-size: inherit; 
  }
  
  /* Small text — never below 12px */
  .text-xs { font-size: 0.75rem !important; }
  .text-\[10px\] { font-size: 0.6875rem !important; }
  .text-\[11px\] { font-size: 0.6875rem !important; }
}

/* ─── 6. PAGE TRANSITIONS — Rhythm between pages ─── */

/* Smooth page entrance */
@keyframes pageEnter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Apply to main content areas */
main,
[class*="min-h-screen"],
.App > div > div {
  animation: pageEnter 0.4s ease-out;
}

/* Cards and sections — staggered entrance */
@keyframes sectionReveal {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

section,
[class*="rounded-xl"],
[class*="rounded-2xl"] {
  animation: sectionReveal 0.5s ease-out both;
}

/* Stagger effect for grids */
.grid > *:nth-child(1) { animation-delay: 0.05s; }
.grid > *:nth-child(2) { animation-delay: 0.1s; }
.grid > *:nth-child(3) { animation-delay: 0.15s; }
.grid > *:nth-child(4) { animation-delay: 0.2s; }
.grid > *:nth-child(5) { animation-delay: 0.25s; }
.grid > *:nth-child(6) { animation-delay: 0.3s; }

/* ─── 7. SCROLL SMOOTHNESS ─── */
html {
  scroll-behavior: smooth;
}

/* Momentum scrolling on iOS */
[class*="overflow-auto"],
[class*="overflow-x-auto"],
[class*="overflow-y-auto"] {
  -webkit-overflow-scrolling: touch;
}

/* ─── 8. TOUCH TARGETS — Minimum 44px for accessibility ─── */
@media (max-width: 640px) {
  button, a, [role="button"] {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Exception for inline text links */
  p a, span a, li a {
    min-height: auto;
    min-width: auto;
  }
}

/* ─── 9. FOCUS STATES — Beautiful, not ugly ─── */
:focus-visible {
  outline: 2px solid rgba(139, 92, 246, 0.5);
  outline-offset: 2px;
  border-radius: 8px;
}

/* ─── 10. LOADING STATES — Graceful ─── */
@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.loading-shimmer,
[class*="animate-pulse"] {
  background: linear-gradient(90deg, 
    rgba(255,255,255,0.03) 25%, 
    rgba(255,255,255,0.08) 50%, 
    rgba(255,255,255,0.03) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* ============================================
   GLOBAL FONT CONSISTENCY - WORLD CLASS UI
   Consistent typography across all pages
   ============================================ */

*, ::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 */ /* 3 */
  tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

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

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

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

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

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

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

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

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

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

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

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

b,
strong {
  font-weight: bolder;
}

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

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

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

small {
  font-size: 80%;
}

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

button,
select {
  text-transform: none;
}

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

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

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

:-moz-focusring {
  outline: auto;
}

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

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

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

progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

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

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

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

summary {
  display: list-item;
}

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

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

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

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

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

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

input::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% 100%;
        --foreground: 0 0% 3.9%;
        --card: 0 0% 100%;
        --card-foreground: 0 0% 3.9%;
        --popover: 0 0% 100%;
        --popover-foreground: 0 0% 3.9%;
        --primary: 0 0% 9%;
        --primary-foreground: 0 0% 98%;
        --secondary: 0 0% 96.1%;
        --secondary-foreground: 0 0% 9%;
        --muted: 0 0% 96.1%;
        --muted-foreground: 0 0% 45.1%;
        --accent: 0 0% 96.1%;
        --accent-foreground: 0 0% 9%;
        --destructive: 0 84.2% 60.2%;
        --destructive-foreground: 0 0% 98%;
        --border: 0 0% 89.8%;
        --input: 0 0% 89.8%;
        --ring: 0 0% 3.9%;
        --chart-1: 12 76% 61%;
        --chart-2: 173 58% 39%;
        --chart-3: 197 37% 24%;
        --chart-4: 43 74% 66%;
        --chart-5: 27 87% 67%;
        --radius: 0.5rem;
    }

.dark {
        --background: 0 0% 3.9%;
        --foreground: 0 0% 98%;
        --card: 0 0% 3.9%;
        --card-foreground: 0 0% 98%;
        --popover: 0 0% 3.9%;
        --popover-foreground: 0 0% 98%;
        --primary: 0 0% 98%;
        --primary-foreground: 0 0% 9%;
        --secondary: 0 0% 14.9%;
        --secondary-foreground: 0 0% 98%;
        --muted: 0 0% 14.9%;
        --muted-foreground: 0 0% 63.9%;
        --accent: 0 0% 14.9%;
        --accent-foreground: 0 0% 98%;
        --destructive: 0 62.8% 30.6%;
        --destructive-foreground: 0 0% 98%;
        --border: 0 0% 14.9%;
        --input: 0 0% 14.9%;
        --ring: 0 0% 83.1%;
        --chart-1: 220 70% 50%;
        --chart-2: 160 60% 45%;
        --chart-3: 30 80% 55%;
        --chart-4: 280 65% 60%;
        --chart-5: 340 75% 55%;
    }

*{
  border-color: hsl(0 0% 89.8%);
  border-color: hsl(var(--border));
}

body{
  background-color: hsl(0 0% 100%);
  background-color: hsl(var(--background));
  color: hsl(0 0% 3.9%);
  color: hsl(var(--foreground));
}

[data-debug-wrapper="true"] {
        display: contents !important;
    }

/* ==================== SLIDE-OUT DRAWER ANIMATIONS ==================== */

@keyframes slide-in-right {
  from {
    transform: translateX(100%);
    opacity: 0.8;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slide-out-right {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0.8;
  }
}

.animate-slide-in-right {
  animation: slide-in-right 0.3s ease-out forwards;
}

/* Drawer scrollbar styling */

[data-debug-wrapper="true"] > * {
        margin-left: inherit;
        margin-right: inherit;
        margin-top: inherit;
        margin-bottom: inherit;
        padding-left: inherit;
        padding-right: inherit;
        padding-top: inherit;
        padding-bottom: inherit;
        column-gap: inherit;
        row-gap: inherit;
        gap: inherit;
        border-left-width: inherit;
        border-right-width: inherit;
        border-top-width: inherit;
        border-bottom-width: inherit;
        border-left-style: inherit;
        border-right-style: inherit;
        border-top-style: inherit;
        border-bottom-style: inherit;
        border-left-color: inherit;
        border-right-color: inherit;
        border-top-color: inherit;
        border-bottom-color: inherit;
    }
.\!container{
  width: 100% !important;
}
.container{
  width: 100%;
}
@media (min-width: 640px){

  .\!container{
    max-width: 640px !important;
  }

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

  .\!container{
    max-width: 768px !important;
  }

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

  .\!container{
    max-width: 1024px !important;
  }

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

  .\!container{
    max-width: 1280px !important;
  }

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

  .\!container{
    max-width: 1536px !important;
  }

  .container{
    max-width: 1536px;
  }
}
/* Cards - Clean, minimal shadows */
/* Product Card */
.product-card{
  overflow: hidden;
  border-radius: 0.5rem;
  border-radius: var(--radius);
  border-width: 1px;
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / 1);
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / 1);
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 200ms;
  animation-duration: 200ms;
}
.product-card: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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transform: translateY(-2px);
}
.product-card img{
  aspect-ratio: 1 / 1;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / 1);
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
  object-fit: cover;
}
/* Section Headers - Consistent typography */
.section-title{
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: -0.025em;
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / 1);
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
@media (max-width: 640px) {
  
  .section-title {
    font-size: clamp(1.25rem, 4vw, 1.75rem);
  }
}
@media (min-width: 768px){

  .section-title{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}
/* Price styling */
/* Badge styles */
.badge-new{
  display: inline-block;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / 1);
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 700;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
@media (max-width: 640px) {
  .badge-new {
    font-size: 0.75rem;
    min-font-size: 12px;
  }
}
/* Input fields */
/* Links */
.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;
}
.sticky{
  position: -webkit-sticky;
  position: sticky;
}
.-inset-1{
  inset: -0.25rem;
}
.-inset-2{
  inset: -0.5rem;
}
.-inset-3{
  inset: -0.75rem;
}
.-inset-4{
  inset: -1rem;
}
.-inset-6{
  inset: -1.5rem;
}
.inset-0{
  inset: 0px;
}
.inset-2{
  inset: 0.5rem;
}
.inset-4{
  inset: 1rem;
}
.inset-\[-10\%\]{
  inset: -10%;
}
.inset-\[-20\%\]{
  inset: -20%;
}
.inset-\[5\%\]{
  inset: 5%;
}
.inset-x-0{
  left: 0px;
  right: 0px;
}
.inset-y-0{
  top: 0px;
  bottom: 0px;
}
.-bottom-0\.5{
  bottom: -0.125rem;
}
.-bottom-1{
  bottom: -0.25rem;
}
.-bottom-10{
  bottom: -2.5rem;
}
.-bottom-12{
  bottom: -3rem;
}
.-bottom-2{
  bottom: -0.5rem;
}
.-bottom-3{
  bottom: -0.75rem;
}
.-bottom-4{
  bottom: -1rem;
}
.-bottom-40{
  bottom: -10rem;
}
.-bottom-6{
  bottom: -1.5rem;
}
.-left-1{
  left: -0.25rem;
}
.-left-10{
  left: -2.5rem;
}
.-left-12{
  left: -3rem;
}
.-left-2{
  left: -0.5rem;
}
.-left-32{
  left: -8rem;
}
.-left-40{
  left: -10rem;
}
.-left-6{
  left: -1.5rem;
}
.-left-8{
  left: -2rem;
}
.-right-0\.5{
  right: -0.125rem;
}
.-right-1{
  right: -0.25rem;
}
.-right-1\.5{
  right: -0.375rem;
}
.-right-12{
  right: -3rem;
}
.-right-2{
  right: -0.5rem;
}
.-right-20{
  right: -5rem;
}
.-right-3{
  right: -0.75rem;
}
.-right-4{
  right: -1rem;
}
.-right-40{
  right: -10rem;
}
.-right-6{
  right: -1.5rem;
}
.-right-8{
  right: -2rem;
}
.-top-0\.5{
  top: -0.125rem;
}
.-top-1{
  top: -0.25rem;
}
.-top-1\.5{
  top: -0.375rem;
}
.-top-12{
  top: -3rem;
}
.-top-2{
  top: -0.5rem;
}
.-top-20{
  top: -5rem;
}
.-top-3{
  top: -0.75rem;
}
.-top-4{
  top: -1rem;
}
.-top-40{
  top: -10rem;
}
.-top-8{
  top: -2rem;
}
.bottom-0{
  bottom: 0px;
}
.bottom-1{
  bottom: 0.25rem;
}
.bottom-1\/3{
  bottom: 33.333333%;
}
.bottom-1\/4{
  bottom: 25%;
}
.bottom-10{
  bottom: 2.5rem;
}
.bottom-16{
  bottom: 4rem;
}
.bottom-2{
  bottom: 0.5rem;
}
.bottom-20{
  bottom: 5rem;
}
.bottom-24{
  bottom: 6rem;
}
.bottom-28{
  bottom: 7rem;
}
.bottom-3{
  bottom: 0.75rem;
}
.bottom-32{
  bottom: 8rem;
}
.bottom-36{
  bottom: 9rem;
}
.bottom-4{
  bottom: 1rem;
}
.bottom-6{
  bottom: 1.5rem;
}
.bottom-8{
  bottom: 2rem;
}
.bottom-\[76px\]{
  bottom: 76px;
}
.bottom-full{
  bottom: 100%;
}
.left-0{
  left: 0px;
}
.left-0\.5{
  left: 0.125rem;
}
.left-1{
  left: 0.25rem;
}
.left-1\/2{
  left: 50%;
}
.left-1\/3{
  left: 33.333333%;
}
.left-1\/4{
  left: 25%;
}
.left-10{
  left: 2.5rem;
}
.left-12{
  left: 3rem;
}
.left-2{
  left: 0.5rem;
}
.left-2\.5{
  left: 0.625rem;
}
.left-20{
  left: 5rem;
}
.left-3{
  left: 0.75rem;
}
.left-4{
  left: 1rem;
}
.left-5{
  left: 1.25rem;
}
.left-6{
  left: 1.5rem;
}
.left-\[15px\]{
  left: 15px;
}
.left-\[50\%\]{
  left: 50%;
}
.left-\[60\%\]{
  left: 60%;
}
.left-full{
  left: 100%;
}
.right-0{
  right: 0px;
}
.right-0\.5{
  right: 0.125rem;
}
.right-1{
  right: 0.25rem;
}
.right-1\/3{
  right: 33.333333%;
}
.right-1\/4{
  right: 25%;
}
.right-10{
  right: 2.5rem;
}
.right-14{
  right: 3.5rem;
}
.right-16{
  right: 4rem;
}
.right-2{
  right: 0.5rem;
}
.right-20{
  right: 5rem;
}
.right-3{
  right: 0.75rem;
}
.right-4{
  right: 1rem;
}
.right-6{
  right: 1.5rem;
}
.right-8{
  right: 2rem;
}
.right-\[-6px\]{
  right: -6px;
}
.right-full{
  right: 100%;
}
.top-0{
  top: 0px;
}
.top-0\.5{
  top: 0.125rem;
}
.top-1{
  top: 0.25rem;
}
.top-1\/2{
  top: 50%;
}
.top-1\/3{
  top: 33.333333%;
}
.top-1\/4{
  top: 25%;
}
.top-10{
  top: 2.5rem;
}
.top-12{
  top: 3rem;
}
.top-16{
  top: 4rem;
}
.top-2{
  top: 0.5rem;
}
.top-2\.5{
  top: 0.625rem;
}
.top-20{
  top: 5rem;
}
.top-24{
  top: 6rem;
}
.top-3{
  top: 0.75rem;
}
.top-4{
  top: 1rem;
}
.top-5{
  top: 1.25rem;
}
.top-6{
  top: 1.5rem;
}
.top-8{
  top: 2rem;
}
.top-\[1px\]{
  top: 1px;
}
.top-\[50\%\]{
  top: 50%;
}
.top-\[57px\]{
  top: 57px;
}
.top-\[60\%\]{
  top: 60%;
}
.top-\[60px\]{
  top: 60px;
}
.top-full{
  top: 100%;
}
.isolate{
  isolation: isolate;
}
.-z-10{
  z-index: -10;
}
.z-0{
  z-index: 0;
}
.z-10{
  z-index: 10;
}
.z-20{
  z-index: 20;
}
.z-30{
  z-index: 30;
}
.z-40{
  z-index: 40;
}
.z-50{
  z-index: 50;
}
.z-\[10000\]{
  z-index: 10000;
}
.z-\[1000\]{
  z-index: 1000;
}
.z-\[1001\]{
  z-index: 1001;
}
.z-\[100\]{
  z-index: 100;
}
.z-\[110\]{
  z-index: 110;
}
.z-\[1\]{
  z-index: 1;
}
.z-\[200\]{
  z-index: 200;
}
.z-\[50000\]{
  z-index: 50000;
}
.z-\[60000\]{
  z-index: 60000;
}
.z-\[60001\]{
  z-index: 60001;
}
.z-\[60\]{
  z-index: 60;
}
.z-\[70\]{
  z-index: 70;
}
.z-\[90\]{
  z-index: 90;
}
.z-\[9990\]{
  z-index: 9990;
}
.z-\[9997\]{
  z-index: 9997;
}
.z-\[9998\]{
  z-index: 9998;
}
.z-\[99999\]{
  z-index: 99999;
}
.z-\[9999\]{
  z-index: 9999;
}
.order-1{
  order: 1;
}
.order-2{
  order: 2;
}
.col-span-1{
  grid-column: span 1 / span 1;
}
.col-span-2{
  grid-column: span 2 / span 2;
}
.col-span-3{
  grid-column: span 3 / span 3;
}
.col-span-full{
  grid-column: 1 / -1;
}
.row-span-2{
  grid-row: span 2 / span 2;
}
.-m-1{
  margin: -0.25rem;
}
.m-1{
  margin: 0.25rem;
}
.m-1\.5{
  margin: 0.375rem;
}
.m-4{
  margin: 1rem;
}
.m-auto{
  margin: auto;
}
.-mx-1{
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
.-mx-2{
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}
.-mx-4{
  margin-left: -1rem;
  margin-right: -1rem;
}
.-mx-6{
  margin-left: -1.5rem;
  margin-right: -1.5rem;
}
.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-4{
  margin-left: 1rem;
  margin-right: 1rem;
}
.mx-5{
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}
.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-2{
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.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-8{
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.-mb-24{
  margin-bottom: -6rem;
}
.-ml-2{
  margin-left: -0.5rem;
}
.-ml-24{
  margin-left: -6rem;
}
.-ml-4{
  margin-left: -1rem;
}
.-mr-16{
  margin-right: -4rem;
}
.-mr-2{
  margin-right: -0.5rem;
}
.-mr-32{
  margin-right: -8rem;
}
.-mr-4{
  margin-right: -1rem;
}
.-mt-0\.5{
  margin-top: -0.125rem;
}
.-mt-1{
  margin-top: -0.25rem;
}
.-mt-16{
  margin-top: -4rem;
}
.-mt-32{
  margin-top: -8rem;
}
.-mt-4{
  margin-top: -1rem;
}
.-mt-5{
  margin-top: -1.25rem;
}
.-mt-6{
  margin-top: -1.5rem;
}
.-mt-8{
  margin-top: -2rem;
}
.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-2\.5{
  margin-bottom: 0.625rem;
}
.mb-3{
  margin-bottom: 0.75rem;
}
.mb-3\.5{
  margin-bottom: 0.875rem;
}
.mb-4{
  margin-bottom: 1rem;
}
.mb-5{
  margin-bottom: 1.25rem;
}
.mb-6{
  margin-bottom: 1.5rem;
}
.mb-7{
  margin-bottom: 1.75rem;
}
.mb-8{
  margin-bottom: 2rem;
}
.ml-0{
  margin-left: 0px;
}
.ml-0\.5{
  margin-left: 0.125rem;
}
.ml-1{
  margin-left: 0.25rem;
}
.ml-1\.5{
  margin-left: 0.375rem;
}
.ml-12{
  margin-left: 3rem;
}
.ml-16{
  margin-left: 4rem;
}
.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-8{
  margin-left: 2rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-0\.5{
  margin-right: 0.125rem;
}
.mr-1{
  margin-right: 0.25rem;
}
.mr-1\.5{
  margin-right: 0.375rem;
}
.mr-2{
  margin-right: 0.5rem;
}
.mr-3{
  margin-right: 0.75rem;
}
.mr-4{
  margin-right: 1rem;
}
.mr-8{
  margin-right: 2rem;
}
.mt-0{
  margin-top: 0px;
}
.mt-0\.5{
  margin-top: 0.125rem;
}
.mt-1{
  margin-top: 0.25rem;
}
.mt-1\.5{
  margin-top: 0.375rem;
}
.mt-10{
  margin-top: 2.5rem;
}
.mt-12{
  margin-top: 3rem;
}
.mt-16{
  margin-top: 4rem;
}
.mt-2{
  margin-top: 0.5rem;
}
.mt-2\.5{
  margin-top: 0.625rem;
}
.mt-24{
  margin-top: 6rem;
}
.mt-3{
  margin-top: 0.75rem;
}
.mt-4{
  margin-top: 1rem;
}
.mt-5{
  margin-top: 1.25rem;
}
.mt-6{
  margin-top: 1.5rem;
}
.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;
}
.inline-block{
  display: inline-block;
}
.inline{
  display: inline;
}
.flex{
  display: flex;
}
.\!inline-flex{
  display: inline-flex !important;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.grid{
  display: grid;
}
.contents{
  display: contents;
}
.hidden{
  display: none;
}
.aspect-\[4\/5\]{
  aspect-ratio: 4/5;
}
.aspect-square{
  aspect-ratio: 1 / 1;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.\!h-auto{
  height: auto !important;
}
.h-0{
  height: 0px;
}
.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-28{
  height: 7rem;
}
.h-3{
  height: 0.75rem;
}
.h-3\.5{
  height: 0.875rem;
}
.h-32{
  height: 8rem;
}
.h-36{
  height: 9rem;
}
.h-4{
  height: 1rem;
}
.h-40{
  height: 10rem;
}
.h-44{
  height: 11rem;
}
.h-48{
  height: 12rem;
}
.h-5{
  height: 1.25rem;
}
.h-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-\[140px\]{
  height: 140px;
}
.h-\[150px\]{
  height: 150px;
}
.h-\[18px\]{
  height: 18px;
}
.h-\[1px\]{
  height: 1px;
}
.h-\[250px\]{
  height: 250px;
}
.h-\[300px\]{
  height: 300px;
}
.h-\[400px\]{
  height: 400px;
}
.h-\[45vh\]{
  height: 45vh;
}
.h-\[500px\]{
  height: 500px;
}
.h-\[55vh\]{
  height: 55vh;
}
.h-\[600px\]{
  height: 600px;
}
.h-\[60vh\]{
  height: 60vh;
}
.h-\[80vh\]{
  height: 80vh;
}
.h-\[85vh\]{
  height: 85vh;
}
.h-\[90dvh\]{
  height: 90dvh;
}
.h-\[90vh\]{
  height: 90vh;
}
.h-\[96vh\]{
  height: 96vh;
}
.h-\[calc\(100\%\+16px\)\]{
  height: calc(100% + 16px);
}
.h-\[calc\(100\%\+24px\)\]{
  height: calc(100% + 24px);
}
.h-\[calc\(100\%\+32px\)\]{
  height: calc(100% + 32px);
}
.h-\[calc\(100\%\+48px\)\]{
  height: calc(100% + 48px);
}
.h-\[calc\(100vh-120px\)\]{
  height: calc(100vh - 120px);
}
.h-\[calc\(100vh-180px\)\]{
  height: calc(100vh - 180px);
}
.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;
}
.max-h-0{
  max-height: 0px;
}
.max-h-32{
  max-height: 8rem;
}
.max-h-40{
  max-height: 10rem;
}
.max-h-48{
  max-height: 12rem;
}
.max-h-56{
  max-height: 14rem;
}
.max-h-60{
  max-height: 15rem;
}
.max-h-64{
  max-height: 16rem;
}
.max-h-72{
  max-height: 18rem;
}
.max-h-80{
  max-height: 20rem;
}
.max-h-96{
  max-height: 24rem;
}
.max-h-\[--radix-context-menu-content-available-height\]{
  max-height: var(--radix-context-menu-content-available-height);
}
.max-h-\[--radix-select-content-available-height\]{
  max-height: var(--radix-select-content-available-height);
}
.max-h-\[150px\]{
  max-height: 150px;
}
.max-h-\[200px\]{
  max-height: 200px;
}
.max-h-\[300px\]{
  max-height: 300px;
}
.max-h-\[350px\]{
  max-height: 350px;
}
.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-\[80vh\]{
  max-height: 80vh;
}
.max-h-\[85vh\]{
  max-height: 85vh;
}
.max-h-\[88dvh\]{
  max-height: 88dvh;
}
.max-h-\[90vh\]{
  max-height: 90vh;
}
.max-h-\[92vh\]{
  max-height: 92vh;
}
.max-h-\[95vh\]{
  max-height: 95vh;
}
.max-h-\[calc\(100vh-300px\)\]{
  max-height: calc(100vh - 300px);
}
.max-h-\[calc\(85vh-100px\)\]{
  max-height: calc(85vh - 100px);
}
.max-h-\[calc\(85vh-14rem\)\]{
  max-height: calc(85vh - 14rem);
}
.max-h-\[calc\(85vh-180px\)\]{
  max-height: calc(85vh - 180px);
}
.max-h-\[calc\(85vh-200px\)\]{
  max-height: calc(85vh - 200px);
}
.max-h-\[calc\(85vh-220px\)\]{
  max-height: calc(85vh - 220px);
}
.max-h-\[calc\(85vh-80px\)\]{
  max-height: calc(85vh - 80px);
}
.max-h-\[calc\(90vh-11rem\)\]{
  max-height: calc(90vh - 11rem);
}
.max-h-\[calc\(90vh-12rem\)\]{
  max-height: calc(90vh - 12rem);
}
.max-h-\[calc\(90vh-16rem\)\]{
  max-height: calc(90vh - 16rem);
}
.max-h-\[calc\(90vh-8rem\)\]{
  max-height: calc(90vh - 8rem);
}
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{
  max-height: var(--radix-dropdown-menu-content-available-height);
}
.max-h-full{
  max-height: 100%;
}
.max-h-screen{
  max-height: 100vh;
}
.min-h-0{
  min-height: 0px;
}
.min-h-\[100px\]{
  min-height: 100px;
}
.min-h-\[120px\]{
  min-height: 120px;
}
.min-h-\[140px\]{
  min-height: 140px;
}
.min-h-\[2\.5rem\]{
  min-height: 2.5rem;
}
.min-h-\[200px\]{
  min-height: 200px;
}
.min-h-\[320px\]{
  min-height: 320px;
}
.min-h-\[36px\]{
  min-height: 36px;
}
.min-h-\[400px\]{
  min-height: 400px;
}
.min-h-\[40px\]{
  min-height: 40px;
}
.min-h-\[42px\]{
  min-height: 42px;
}
.min-h-\[44px\]{
  min-height: 44px;
}
.min-h-\[48px\]{
  min-height: 48px;
}
.min-h-\[50px\]{
  min-height: 50px;
}
.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-\[70px\]{
  min-height: 70px;
}
.min-h-\[80px\]{
  min-height: 80px;
}
.min-h-screen{
  min-height: 100vh;
}
.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-28{
  width: 7rem;
}
.w-3{
  width: 0.75rem;
}
.w-3\.5{
  width: 0.875rem;
}
.w-3\/4{
  width: 75%;
}
.w-32{
  width: 8rem;
}
.w-36{
  width: 9rem;
}
.w-4{
  width: 1rem;
}
.w-40{
  width: 10rem;
}
.w-44{
  width: 11rem;
}
.w-48{
  width: 12rem;
}
.w-5{
  width: 1.25rem;
}
.w-5\/12{
  width: 41.666667%;
}
.w-52{
  width: 13rem;
}
.w-56{
  width: 14rem;
}
.w-6{
  width: 1.5rem;
}
.w-60{
  width: 15rem;
}
.w-64{
  width: 16rem;
}
.w-7{
  width: 1.75rem;
}
.w-7\/12{
  width: 58.333333%;
}
.w-72{
  width: 18rem;
}
.w-8{
  width: 2rem;
}
.w-80{
  width: 20rem;
}
.w-9{
  width: 2.25rem;
}
.w-96{
  width: 24rem;
}
.w-\[100px\]{
  width: 100px;
}
.w-\[120px\]{
  width: 120px;
}
.w-\[130px\]{
  width: 130px;
}
.w-\[140px\]{
  width: 140px;
}
.w-\[150px\]{
  width: 150px;
}
.w-\[160px\]{
  width: 160px;
}
.w-\[180px\]{
  width: 180px;
}
.w-\[1px\]{
  width: 1px;
}
.w-\[200px\]{
  width: 200px;
}
.w-\[280px\]{
  width: 280px;
}
.w-\[300px\]{
  width: 300px;
}
.w-\[320px\]{
  width: 320px;
}
.w-\[350px\]{
  width: 350px;
}
.w-\[380px\]{
  width: 380px;
}
.w-\[400px\]{
  width: 400px;
}
.w-\[420px\]{
  width: 420px;
}
.w-\[500px\]{
  width: 500px;
}
.w-\[600px\]{
  width: 600px;
}
.w-\[700px\]{
  width: 700px;
}
.w-\[80\%\]{
  width: 80%;
}
.w-\[800px\]{
  width: 800px;
}
.w-\[80px\]{
  width: 80px;
}
.w-\[85\%\]{
  width: 85%;
}
.w-\[90\%\]{
  width: 90%;
}
.w-\[95\%\]{
  width: 95%;
}
.w-\[95vw\]{
  width: 95vw;
}
.w-\[calc\(100\%\+16px\)\]{
  width: calc(100% + 16px);
}
.w-\[calc\(100\%\+24px\)\]{
  width: calc(100% + 24px);
}
.w-\[calc\(100\%\+32px\)\]{
  width: calc(100% + 32px);
}
.w-\[calc\(100\%\+48px\)\]{
  width: calc(100% + 48px);
}
.w-auto{
  width: auto;
}
.w-fit{
  width: -webkit-fit-content;
  width: fit-content;
}
.w-full{
  width: 100%;
}
.w-max{
  width: -webkit-max-content;
  width: max-content;
}
.w-px{
  width: 1px;
}
.min-w-0{
  min-width: 0px;
}
.min-w-10{
  min-width: 2.5rem;
}
.min-w-8{
  min-width: 2rem;
}
.min-w-9{
  min-width: 2.25rem;
}
.min-w-\[100px\]{
  min-width: 100px;
}
.min-w-\[12rem\]{
  min-width: 12rem;
}
.min-w-\[140px\]{
  min-width: 140px;
}
.min-w-\[150px\]{
  min-width: 150px;
}
.min-w-\[160px\]{
  min-width: 160px;
}
.min-w-\[180px\]{
  min-width: 180px;
}
.min-w-\[18px\]{
  min-width: 18px;
}
.min-w-\[200px\]{
  min-width: 200px;
}
.min-w-\[280px\]{
  min-width: 280px;
}
.min-w-\[300px\]{
  min-width: 300px;
}
.min-w-\[44px\]{
  min-width: 44px;
}
.min-w-\[48px\]{
  min-width: 48px;
}
.min-w-\[600px\]{
  min-width: 600px;
}
.min-w-\[80px\]{
  min-width: 80px;
}
.min-w-\[8rem\]{
  min-width: 8rem;
}
.min-w-\[var\(--radix-select-trigger-width\)\]{
  min-width: var(--radix-select-trigger-width);
}
.min-w-full{
  min-width: 100%;
}
.min-w-max{
  min-width: -webkit-max-content;
  min-width: max-content;
}
.max-w-2xl{
  max-width: 42rem;
}
.max-w-3xl{
  max-width: 48rem;
}
.max-w-48{
  max-width: 12rem;
}
.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-\[100px\]{
  max-width: 100px;
}
.max-w-\[1200px\]{
  max-width: 1200px;
}
.max-w-\[120px\]{
  max-width: 120px;
}
.max-w-\[150px\]{
  max-width: 150px;
}
.max-w-\[160px\]{
  max-width: 160px;
}
.max-w-\[200px\]{
  max-width: 200px;
}
.max-w-\[220px\]{
  max-width: 220px;
}
.max-w-\[300px\]{
  max-width: 300px;
}
.max-w-\[400px\]{
  max-width: 400px;
}
.max-w-\[500px\]{
  max-width: 500px;
}
.max-w-\[550px\]{
  max-width: 550px;
}
.max-w-\[600px\]{
  max-width: 600px;
}
.max-w-\[65\%\]{
  max-width: 65%;
}
.max-w-\[80\%\]{
  max-width: 80%;
}
.max-w-\[80px\]{
  max-width: 80px;
}
.max-w-\[85\%\]{
  max-width: 85%;
}
.max-w-\[90\%\]{
  max-width: 90%;
}
.max-w-\[98vw\]{
  max-width: 98vw;
}
.max-w-full{
  max-width: 100%;
}
.max-w-lg{
  max-width: 32rem;
}
.max-w-max{
  max-width: -webkit-max-content;
  max-width: max-content;
}
.max-w-md{
  max-width: 28rem;
}
.max-w-none{
  max-width: none;
}
.max-w-sm{
  max-width: 24rem;
}
.max-w-xl{
  max-width: 36rem;
}
.max-w-xs{
  max-width: 20rem;
}
.flex-1{
  flex: 1 1;
}
.flex-none{
  flex: none;
}
.flex-shrink{
  flex-shrink: 1;
}
.flex-shrink-0{
  flex-shrink: 0;
}
.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-\[--radix-context-menu-content-transform-origin\]{
  transform-origin: var(--radix-context-menu-content-transform-origin);
}
.origin-\[--radix-dropdown-menu-content-transform-origin\]{
  transform-origin: var(--radix-dropdown-menu-content-transform-origin);
}
.origin-\[--radix-hover-card-content-transform-origin\]{
  transform-origin: var(--radix-hover-card-content-transform-origin);
}
.origin-\[--radix-menubar-content-transform-origin\]{
  transform-origin: var(--radix-menubar-content-transform-origin);
}
.origin-\[--radix-popover-content-transform-origin\]{
  transform-origin: var(--radix-popover-content-transform-origin);
}
.origin-\[--radix-select-content-transform-origin\]{
  transform-origin: var(--radix-select-content-transform-origin);
}
.origin-\[--radix-tooltip-content-transform-origin\]{
  transform-origin: var(--radix-tooltip-content-transform-origin);
}
.-translate-x-1\/2{
  --tw-translate-x: -50%;
  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-10{
  --tw-translate-x: -2.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-4{
  --tw-translate-x: -1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-6{
  --tw-translate-x: -1.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-x-full{
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-12{
  --tw-translate-y: -3rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-2{
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-translate-y-8{
  --tw-translate-y: -2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-0{
  --tw-translate-x: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-x-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-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-12{
  --tw-translate-x: 3rem;
  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-8{
  --tw-translate-x: 2rem;
  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-full{
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-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-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-10{
  --tw-translate-y: 2.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-2{
  --tw-translate-y: 0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-4{
  --tw-translate-y: 1rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-6{
  --tw-translate-y: 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-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-12{
  --tw-rotate: -12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.-rotate-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-12{
  --tw-rotate: 12deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-180{
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.rotate-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));
}
.rotate-\[-90deg\]{
  --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-125{
  --tw-scale-x: 1.25;
  --tw-scale-y: 1.25;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-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));
}
.scale-\[0\.98\]{
  --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));
}
.scale-\[1\.02\]{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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));
}
@keyframes bounce{

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

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

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

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

  to{
    transform: rotate(360deg);
  }
}
.animate-spin{
  animation: spin 1s linear infinite;
}
.cursor-default{
  cursor: default;
}
.cursor-grab{
  cursor: grab;
}
.cursor-help{
  cursor: help;
}
.cursor-move{
  cursor: move;
}
.cursor-not-allowed{
  cursor: not-allowed;
}
.cursor-pointer{
  cursor: pointer;
}
.cursor-text{
  cursor: text;
}
.cursor-wait{
  cursor: wait;
}
.touch-none{
  touch-action: none;
}
.touch-pan-x{
  --tw-pan-x: pan-x;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-pan-y{
  --tw-pan-y: pan-y;
  touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom);
}
.touch-manipulation{
  touch-action: manipulation;
}
.select-none{
  -webkit-user-select: none;
          user-select: none;
}
.resize-none{
  resize: none;
}
.resize{
  resize: both;
}
.snap-x{
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory{
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start{
  scroll-snap-align: start;
}
.snap-center{
  scroll-snap-align: center;
}
.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;
          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));
}
.grid-cols-8{
  grid-template-columns: repeat(8, 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;
}
.flex-nowrap{
  flex-wrap: nowrap;
}
.items-start{
  align-items: flex-start;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.items-baseline{
  align-items: baseline;
}
.items-stretch{
  align-items: stretch;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.justify-around{
  justify-content: space-around;
}
.gap-0{
  gap: 0px;
}
.gap-0\.5{
  gap: 0.125rem;
}
.gap-1{
  gap: 0.25rem;
}
.gap-1\.5{
  gap: 0.375rem;
}
.gap-10{
  gap: 2.5rem;
}
.gap-12{
  gap: 3rem;
}
.gap-2{
  gap: 0.5rem;
}
.gap-2\.5{
  gap: 0.625rem;
}
.gap-3{
  gap: 0.75rem;
}
.gap-4{
  gap: 1rem;
}
.gap-5{
  gap: 1.25rem;
}
.gap-6{
  gap: 1.5rem;
}
.gap-8{
  gap: 2rem;
}
.gap-px{
  gap: 1px;
}
.gap-x-2{
  column-gap: 0.5rem;
}
.gap-x-3{
  column-gap: 0.75rem;
}
.gap-x-4{
  column-gap: 1rem;
}
.gap-y-1{
  row-gap: 0.25rem;
}
.gap-y-2{
  row-gap: 0.5rem;
}
.-space-x-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse: 0;
  margin-right: calc(-0.5rem * var(--tw-space-x-reverse));
  margin-left: calc(-0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.-space-x-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-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-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-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse: 0;
  margin-top: calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(4rem * 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));
}
.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-gray-100 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(243 244 246 / 1);
  border-color: rgb(243 244 246 / var(--tw-divide-opacity, 1));
}
.divide-gray-200 > :not([hidden]) ~ :not([hidden]){
  --tw-divide-opacity: 1;
  border-color: rgb(229 231 235 / 1);
  border-color: rgb(229 231 235 / var(--tw-divide-opacity, 1));
}
.divide-slate-700\/50 > :not([hidden]) ~ :not([hidden]){
  border-color: rgb(51 65 85 / 0.5);
}
.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-x-auto{
  overflow-x: auto;
}
.overflow-y-auto{
  overflow-y: auto;
}
.overflow-x-hidden{
  overflow-x: hidden;
}
.overscroll-contain{
  overscroll-behavior: contain;
}
.scroll-smooth{
  scroll-behavior: smooth;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.text-ellipsis{
  text-overflow: ellipsis;
}
.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-\[20px\]{
  border-radius: 20px;
}
.rounded-\[2rem\]{
  border-radius: 2rem;
}
.rounded-\[inherit\]{
  border-radius: inherit;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 0.5rem;
  border-radius: var(--radius);
}
.rounded-md{
  border-radius: calc(0.5rem - 2px);
  border-radius: calc(var(--radius) - 2px);
}
.rounded-none{
  border-radius: 0px;
}
.rounded-sm{
  border-radius: calc(0.5rem - 4px);
  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-lg{
  border-bottom-right-radius: 0.5rem;
  border-bottom-right-radius: var(--radius);
  border-bottom-left-radius: 0.5rem;
  border-bottom-left-radius: var(--radius);
}
.rounded-b-xl{
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.rounded-l-full{
  border-top-left-radius: 9999px;
  border-bottom-left-radius: 9999px;
}
.rounded-l-lg{
  border-top-left-radius: 0.5rem;
  border-top-left-radius: var(--radius);
  border-bottom-left-radius: 0.5rem;
  border-bottom-left-radius: var(--radius);
}
.rounded-l-md{
  border-top-left-radius: calc(0.5rem - 2px);
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(0.5rem - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-r-full{
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
}
.rounded-r-lg{
  border-top-right-radius: 0.5rem;
  border-top-right-radius: var(--radius);
  border-bottom-right-radius: 0.5rem;
  border-bottom-right-radius: var(--radius);
}
.rounded-r-md{
  border-top-right-radius: calc(0.5rem - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(0.5rem - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.rounded-r-xl{
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}
.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-lg{
  border-top-left-radius: 0.5rem;
  border-top-left-radius: var(--radius);
  border-top-right-radius: 0.5rem;
  border-top-right-radius: var(--radius);
}
.rounded-t-xl{
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.rounded-bl-full{
  border-bottom-left-radius: 9999px;
}
.rounded-bl-lg{
  border-bottom-left-radius: 0.5rem;
  border-bottom-left-radius: var(--radius);
}
.rounded-bl-md{
  border-bottom-left-radius: calc(0.5rem - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.rounded-bl-none{
  border-bottom-left-radius: 0px;
}
.rounded-bl-sm{
  border-bottom-left-radius: calc(0.5rem - 4px);
  border-bottom-left-radius: calc(var(--radius) - 4px);
}
.rounded-br-md{
  border-bottom-right-radius: calc(0.5rem - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.rounded-br-none{
  border-bottom-right-radius: 0px;
}
.rounded-br-sm{
  border-bottom-right-radius: calc(0.5rem - 4px);
  border-bottom-right-radius: calc(var(--radius) - 4px);
}
.rounded-tl-md{
  border-top-left-radius: calc(0.5rem - 2px);
  border-top-left-radius: calc(var(--radius) - 2px);
}
.rounded-tl-sm{
  border-top-left-radius: calc(0.5rem - 4px);
  border-top-left-radius: calc(var(--radius) - 4px);
}
.rounded-tr-md{
  border-top-right-radius: calc(0.5rem - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
}
.rounded-tr-sm{
  border-top-right-radius: calc(0.5rem - 4px);
  border-top-right-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-\[3px\]{
  border-width: 3px;
}
.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-2{
  border-bottom-width: 2px;
}
.border-b-\[6px\]{
  border-bottom-width: 6px;
}
.border-l{
  border-left-width: 1px;
}
.border-l-2{
  border-left-width: 2px;
}
.border-l-4{
  border-left-width: 4px;
}
.border-l-\[6px\]{
  border-left-width: 6px;
}
.border-r{
  border-right-width: 1px;
}
.border-r-2{
  border-right-width: 2px;
}
.border-r-4{
  border-right-width: 4px;
}
.border-t{
  border-top-width: 1px;
}
.border-t-4{
  border-top-width: 4px;
}
.border-t-\[6px\]{
  border-top-width: 6px;
}
.border-dashed{
  border-style: dashed;
}
.border-none{
  border-style: none;
}
.border-\[\#0f0720\]{
  --tw-border-opacity: 1;
  border-color: rgb(15 7 32 / 1);
  border-color: rgb(15 7 32 / var(--tw-border-opacity, 1));
}
.border-\[\#C96D9E\]{
  --tw-border-opacity: 1;
  border-color: rgb(201 109 158 / 1);
  border-color: rgb(201 109 158 / var(--tw-border-opacity, 1));
}
.border-\[\#E8DFD3\]{
  --tw-border-opacity: 1;
  border-color: rgb(232 223 211 / 1);
  border-color: rgb(232 223 211 / var(--tw-border-opacity, 1));
}
.border-amber-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 243 199 / 1);
  border-color: rgb(254 243 199 / var(--tw-border-opacity, 1));
}
.border-amber-200{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / 1);
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.border-amber-200\/50{
  border-color: rgb(253 230 138 / 0.5);
}
.border-amber-200\/60{
  border-color: rgb(253 230 138 / 0.6);
}
.border-amber-300{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / 1);
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.border-amber-300\/30{
  border-color: rgb(252 211 77 / 0.3);
}
.border-amber-300\/50{
  border-color: rgb(252 211 77 / 0.5);
}
.border-amber-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / 1);
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.border-amber-400\/30{
  border-color: rgb(251 191 36 / 0.3);
}
.border-amber-500{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / 1);
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-amber-500\/10{
  border-color: rgb(245 158 11 / 0.1);
}
.border-amber-500\/20{
  border-color: rgb(245 158 11 / 0.2);
}
.border-amber-500\/30{
  border-color: rgb(245 158 11 / 0.3);
}
.border-amber-500\/40{
  border-color: rgb(245 158 11 / 0.4);
}
.border-amber-500\/50{
  border-color: rgb(245 158 11 / 0.5);
}
.border-amber-600{
  --tw-border-opacity: 1;
  border-color: rgb(217 119 6 / 1);
  border-color: rgb(217 119 6 / var(--tw-border-opacity, 1));
}
.border-blue-100{
  --tw-border-opacity: 1;
  border-color: rgb(219 234 254 / 1);
  border-color: rgb(219 234 254 / var(--tw-border-opacity, 1));
}
.border-blue-200{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / 1);
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.border-blue-300{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / 1);
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.border-blue-400{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / 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-500{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / 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\/50{
  border-color: rgb(59 130 246 / 0.5);
}
.border-blue-600{
  --tw-border-opacity: 1;
  border-color: rgb(37 99 235 / 1);
  border-color: rgb(37 99 235 / var(--tw-border-opacity, 1));
}
.border-current{
  border-color: currentColor;
}
.border-cyan-100{
  --tw-border-opacity: 1;
  border-color: rgb(207 250 254 / 1);
  border-color: rgb(207 250 254 / var(--tw-border-opacity, 1));
}
.border-cyan-200{
  --tw-border-opacity: 1;
  border-color: rgb(165 243 252 / 1);
  border-color: rgb(165 243 252 / var(--tw-border-opacity, 1));
}
.border-cyan-400{
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / 1);
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.border-cyan-400\/30{
  border-color: rgb(34 211 238 / 0.3);
}
.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-destructive{
  border-color: hsl(0 84.2% 60.2%);
  border-color: hsl(var(--destructive));
}
.border-destructive\/50{
  border-color: hsl(0 84.2% 60.2% / 0.5);
  border-color: hsl(var(--destructive) / 0.5);
}
.border-emerald-100{
  --tw-border-opacity: 1;
  border-color: rgb(209 250 229 / 1);
  border-color: rgb(209 250 229 / var(--tw-border-opacity, 1));
}
.border-emerald-200{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / 1);
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.border-emerald-200\/60{
  border-color: rgb(167 243 208 / 0.6);
}
.border-emerald-300{
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / 1);
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.border-emerald-400{
  --tw-border-opacity: 1;
  border-color: rgb(52 211 153 / 1);
  border-color: rgb(52 211 153 / var(--tw-border-opacity, 1));
}
.border-emerald-400\/30{
  border-color: rgb(52 211 153 / 0.3);
}
.border-emerald-500{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / 1);
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.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-100{
  --tw-border-opacity: 1;
  border-color: rgb(250 232 255 / 1);
  border-color: rgb(250 232 255 / var(--tw-border-opacity, 1));
}
.border-gray-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 244 246 / 1);
  border-color: rgb(243 244 246 / var(--tw-border-opacity, 1));
}
.border-gray-200{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / 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 / 1);
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-gray-50{
  --tw-border-opacity: 1;
  border-color: rgb(249 250 251 / 1);
  border-color: rgb(249 250 251 / var(--tw-border-opacity, 1));
}
.border-gray-500{
  --tw-border-opacity: 1;
  border-color: rgb(107 114 128 / 1);
  border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
}
.border-gray-500\/20{
  border-color: rgb(107 114 128 / 0.2);
}
.border-gray-500\/30{
  border-color: rgb(107 114 128 / 0.3);
}
.border-gray-600{
  --tw-border-opacity: 1;
  border-color: rgb(75 85 99 / 1);
  border-color: rgb(75 85 99 / var(--tw-border-opacity, 1));
}
.border-gray-700{
  --tw-border-opacity: 1;
  border-color: rgb(55 65 81 / 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\/50{
  border-color: rgb(55 65 81 / 0.5);
}
.border-gray-800{
  --tw-border-opacity: 1;
  border-color: rgb(31 41 55 / 1);
  border-color: rgb(31 41 55 / var(--tw-border-opacity, 1));
}
.border-gray-800\/30{
  border-color: rgb(31 41 55 / 0.3);
}
.border-gray-800\/50{
  border-color: rgb(31 41 55 / 0.5);
}
.border-gray-900{
  --tw-border-opacity: 1;
  border-color: rgb(17 24 39 / 1);
  border-color: rgb(17 24 39 / var(--tw-border-opacity, 1));
}
.border-gray-900\/30{
  border-color: rgb(17 24 39 / 0.3);
}
.border-green-100{
  --tw-border-opacity: 1;
  border-color: rgb(220 252 231 / 1);
  border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
}
.border-green-200{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / 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 / 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 / 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-500{
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / 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-600{
  --tw-border-opacity: 1;
  border-color: rgb(22 163 74 / 1);
  border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
}
.border-indigo-100{
  --tw-border-opacity: 1;
  border-color: rgb(224 231 255 / 1);
  border-color: rgb(224 231 255 / var(--tw-border-opacity, 1));
}
.border-indigo-200{
  --tw-border-opacity: 1;
  border-color: rgb(199 210 254 / 1);
  border-color: rgb(199 210 254 / var(--tw-border-opacity, 1));
}
.border-indigo-400{
  --tw-border-opacity: 1;
  border-color: rgb(129 140 248 / 1);
  border-color: rgb(129 140 248 / var(--tw-border-opacity, 1));
}
.border-indigo-500{
  --tw-border-opacity: 1;
  border-color: rgb(99 102 241 / 1);
  border-color: rgb(99 102 241 / var(--tw-border-opacity, 1));
}
.border-indigo-500\/20{
  border-color: rgb(99 102 241 / 0.2);
}
.border-indigo-500\/30{
  border-color: rgb(99 102 241 / 0.3);
}
.border-input{
  border-color: hsl(0 0% 89.8%);
  border-color: hsl(var(--input));
}
.border-lime-200{
  --tw-border-opacity: 1;
  border-color: rgb(217 249 157 / 1);
  border-color: rgb(217 249 157 / var(--tw-border-opacity, 1));
}
.border-orange-100{
  --tw-border-opacity: 1;
  border-color: rgb(255 237 213 / 1);
  border-color: rgb(255 237 213 / var(--tw-border-opacity, 1));
}
.border-orange-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 215 170 / 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 / 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 / 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 / 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\/50{
  border-color: rgb(249 115 22 / 0.5);
}
.border-pink-100{
  --tw-border-opacity: 1;
  border-color: rgb(252 231 243 / 1);
  border-color: rgb(252 231 243 / var(--tw-border-opacity, 1));
}
.border-pink-100\/50{
  border-color: rgb(252 231 243 / 0.5);
}
.border-pink-200{
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / 1);
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.border-pink-200\/20{
  border-color: rgb(251 207 232 / 0.2);
}
.border-pink-200\/50{
  border-color: rgb(251 207 232 / 0.5);
}
.border-pink-200\/60{
  border-color: rgb(251 207 232 / 0.6);
}
.border-pink-300{
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / 1);
  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.border-pink-400{
  --tw-border-opacity: 1;
  border-color: rgb(244 114 182 / 1);
  border-color: rgb(244 114 182 / var(--tw-border-opacity, 1));
}
.border-pink-400\/20{
  border-color: rgb(244 114 182 / 0.2);
}
.border-pink-400\/30{
  border-color: rgb(244 114 182 / 0.3);
}
.border-pink-400\/50{
  border-color: rgb(244 114 182 / 0.5);
}
.border-pink-500{
  --tw-border-opacity: 1;
  border-color: rgb(236 72 153 / 1);
  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.border-pink-500\/20{
  border-color: rgb(236 72 153 / 0.2);
}
.border-pink-500\/30{
  border-color: rgb(236 72 153 / 0.3);
}
.border-pink-500\/40{
  border-color: rgb(236 72 153 / 0.4);
}
.border-pink-500\/50{
  border-color: rgb(236 72 153 / 0.5);
}
.border-pink-600{
  --tw-border-opacity: 1;
  border-color: rgb(219 39 119 / 1);
  border-color: rgb(219 39 119 / var(--tw-border-opacity, 1));
}
.border-primary{
  border-color: hsl(0 0% 9%);
  border-color: hsl(var(--primary));
}
.border-primary\/50{
  border-color: hsl(0 0% 9% / 0.5);
  border-color: hsl(var(--primary) / 0.5);
}
.border-purple-100{
  --tw-border-opacity: 1;
  border-color: rgb(243 232 255 / 1);
  border-color: rgb(243 232 255 / var(--tw-border-opacity, 1));
}
.border-purple-100\/20{
  border-color: rgb(243 232 255 / 0.2);
}
.border-purple-100\/50{
  border-color: rgb(243 232 255 / 0.5);
}
.border-purple-200{
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / 1);
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.border-purple-200\/30{
  border-color: rgb(233 213 255 / 0.3);
}
.border-purple-200\/50{
  border-color: rgb(233 213 255 / 0.5);
}
.border-purple-200\/60{
  border-color: rgb(233 213 255 / 0.6);
}
.border-purple-300{
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / 1);
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.border-purple-400{
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / 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\/50{
  border-color: rgb(192 132 252 / 0.5);
}
.border-purple-50{
  --tw-border-opacity: 1;
  border-color: rgb(250 245 255 / 1);
  border-color: rgb(250 245 255 / var(--tw-border-opacity, 1));
}
.border-purple-500{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / 1);
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-purple-500\/10{
  border-color: rgb(168 85 247 / 0.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-purple-600{
  --tw-border-opacity: 1;
  border-color: rgb(147 51 234 / 1);
  border-color: rgb(147 51 234 / var(--tw-border-opacity, 1));
}
.border-purple-700\/30{
  border-color: rgb(126 34 206 / 0.3);
}
.border-purple-900{
  --tw-border-opacity: 1;
  border-color: rgb(88 28 135 / 1);
  border-color: rgb(88 28 135 / var(--tw-border-opacity, 1));
}
.border-red-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 226 226 / 1);
  border-color: rgb(254 226 226 / var(--tw-border-opacity, 1));
}
.border-red-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / 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 / 1);
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.border-red-400{
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / 1);
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.border-red-400\/30{
  border-color: rgb(248 113 113 / 0.3);
}
.border-red-500{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / 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-600{
  --tw-border-opacity: 1;
  border-color: rgb(220 38 38 / 1);
  border-color: rgb(220 38 38 / var(--tw-border-opacity, 1));
}
.border-rose-100{
  --tw-border-opacity: 1;
  border-color: rgb(255 228 230 / 1);
  border-color: rgb(255 228 230 / var(--tw-border-opacity, 1));
}
.border-rose-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / 1);
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}
.border-rose-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / 1);
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}
.border-rose-400{
  --tw-border-opacity: 1;
  border-color: rgb(251 113 133 / 1);
  border-color: rgb(251 113 133 / var(--tw-border-opacity, 1));
}
.border-rose-500{
  --tw-border-opacity: 1;
  border-color: rgb(244 63 94 / 1);
  border-color: rgb(244 63 94 / var(--tw-border-opacity, 1));
}
.border-rose-500\/30{
  border-color: rgb(244 63 94 / 0.3);
}
.border-sky-100{
  --tw-border-opacity: 1;
  border-color: rgb(224 242 254 / 1);
  border-color: rgb(224 242 254 / var(--tw-border-opacity, 1));
}
.border-sky-200{
  --tw-border-opacity: 1;
  border-color: rgb(186 230 253 / 1);
  border-color: rgb(186 230 253 / var(--tw-border-opacity, 1));
}
.border-sky-300{
  --tw-border-opacity: 1;
  border-color: rgb(125 211 252 / 1);
  border-color: rgb(125 211 252 / var(--tw-border-opacity, 1));
}
.border-slate-100{
  --tw-border-opacity: 1;
  border-color: rgb(241 245 249 / 1);
  border-color: rgb(241 245 249 / var(--tw-border-opacity, 1));
}
.border-slate-200{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / 1);
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-slate-300{
  --tw-border-opacity: 1;
  border-color: rgb(203 213 225 / 1);
  border-color: rgb(203 213 225 / var(--tw-border-opacity, 1));
}
.border-slate-400{
  --tw-border-opacity: 1;
  border-color: rgb(148 163 184 / 1);
  border-color: rgb(148 163 184 / var(--tw-border-opacity, 1));
}
.border-slate-400\/30{
  border-color: rgb(148 163 184 / 0.3);
}
.border-slate-500\/30{
  border-color: rgb(100 116 139 / 0.3);
}
.border-slate-600{
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / 1);
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.border-slate-600\/50{
  border-color: rgb(71 85 105 / 0.5);
}
.border-slate-700{
  --tw-border-opacity: 1;
  border-color: rgb(51 65 85 / 1);
  border-color: rgb(51 65 85 / var(--tw-border-opacity, 1));
}
.border-slate-700\/30{
  border-color: rgb(51 65 85 / 0.3);
}
.border-slate-700\/50{
  border-color: rgb(51 65 85 / 0.5);
}
.border-slate-800{
  --tw-border-opacity: 1;
  border-color: rgb(30 41 59 / 1);
  border-color: rgb(30 41 59 / var(--tw-border-opacity, 1));
}
.border-stone-100{
  --tw-border-opacity: 1;
  border-color: rgb(245 245 244 / 1);
  border-color: rgb(245 245 244 / var(--tw-border-opacity, 1));
}
.border-stone-200{
  --tw-border-opacity: 1;
  border-color: rgb(231 229 228 / 1);
  border-color: rgb(231 229 228 / var(--tw-border-opacity, 1));
}
.border-teal-100{
  --tw-border-opacity: 1;
  border-color: rgb(204 251 241 / 1);
  border-color: rgb(204 251 241 / var(--tw-border-opacity, 1));
}
.border-teal-200{
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / 1);
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
}
.border-teal-200\/50{
  border-color: rgb(153 246 228 / 0.5);
}
.border-teal-300{
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / 1);
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1));
}
.border-teal-500{
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / 1);
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}
.border-teal-500\/20{
  border-color: rgb(20 184 166 / 0.2);
}
.border-teal-500\/30{
  border-color: rgb(20 184 166 / 0.3);
}
.border-transparent{
  border-color: transparent;
}
.border-violet-100{
  --tw-border-opacity: 1;
  border-color: rgb(237 233 254 / 1);
  border-color: rgb(237 233 254 / var(--tw-border-opacity, 1));
}
.border-violet-200{
  --tw-border-opacity: 1;
  border-color: rgb(221 214 254 / 1);
  border-color: rgb(221 214 254 / var(--tw-border-opacity, 1));
}
.border-violet-300{
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / 1);
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.border-violet-500\/20{
  border-color: rgb(139 92 246 / 0.2);
}
.border-violet-500\/30{
  border-color: rgb(139 92 246 / 0.3);
}
.border-violet-500\/50{
  border-color: rgb(139 92 246 / 0.5);
}
.border-white{
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / 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\/80{
  border-color: rgb(255 255 255 / 0.8);
}
.border-yellow-100{
  --tw-border-opacity: 1;
  border-color: rgb(254 249 195 / 1);
  border-color: rgb(254 249 195 / var(--tw-border-opacity, 1));
}
.border-yellow-200{
  --tw-border-opacity: 1;
  border-color: rgb(254 240 138 / 1);
  border-color: rgb(254 240 138 / var(--tw-border-opacity, 1));
}
.border-yellow-300{
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / 1);
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.border-yellow-400\/30{
  border-color: rgb(250 204 21 / 0.3);
}
.border-yellow-400\/50{
  border-color: rgb(250 204 21 / 0.5);
}
.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\/50{
  border-color: rgb(234 179 8 / 0.5);
}
.border-zinc-700\/30{
  border-color: rgb(63 63 70 / 0.3);
}
.border-zinc-700\/50{
  border-color: rgb(63 63 70 / 0.5);
}
.border-b-transparent{
  border-bottom-color: transparent;
}
.border-l-amber-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(245 158 11 / 1);
  border-left-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.border-l-blue-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(59 130 246 / 1);
  border-left-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.border-l-emerald-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(16 185 129 / 1);
  border-left-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.border-l-gray-300{
  --tw-border-opacity: 1;
  border-left-color: rgb(209 213 219 / 1);
  border-left-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.border-l-green-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(74 222 128 / 1);
  border-left-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}
.border-l-green-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(34 197 94 / 1);
  border-left-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-l-orange-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(249 115 22 / 1);
  border-left-color: rgb(249 115 22 / var(--tw-border-opacity, 1));
}
.border-l-pink-400{
  --tw-border-opacity: 1;
  border-left-color: rgb(244 114 182 / 1);
  border-left-color: rgb(244 114 182 / var(--tw-border-opacity, 1));
}
.border-l-pink-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(236 72 153 / 1);
  border-left-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.border-l-purple-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(168 85 247 / 1);
  border-left-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-l-red-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(239 68 68 / 1);
  border-left-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-l-transparent{
  border-left-color: transparent;
}
.border-l-yellow-500{
  --tw-border-opacity: 1;
  border-left-color: rgb(234 179 8 / 1);
  border-left-color: rgb(234 179 8 / var(--tw-border-opacity, 1));
}
.border-t-gray-900{
  --tw-border-opacity: 1;
  border-top-color: rgb(17 24 39 / 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 / 1);
  border-top-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.border-t-purple-600{
  --tw-border-opacity: 1;
  border-top-color: rgb(147 51 234 / 1);
  border-top-color: rgb(147 51 234 / 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 / 1);
  border-top-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.border-opacity-30{
  --tw-border-opacity: 0.3;
}
.bg-\[\#0a0618\]{
  --tw-bg-opacity: 1;
  background-color: rgb(10 6 24 / 1);
  background-color: rgb(10 6 24 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0a0618\]\/80{
  background-color: rgb(10 6 24 / 0.8);
}
.bg-\[\#0a0a14\]{
  --tw-bg-opacity: 1;
  background-color: rgb(10 10 20 / 1);
  background-color: rgb(10 10 20 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0d0d1a\]{
  --tw-bg-opacity: 1;
  background-color: rgb(13 13 26 / 1);
  background-color: rgb(13 13 26 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0f0720\]{
  --tw-bg-opacity: 1;
  background-color: rgb(15 7 32 / 1);
  background-color: rgb(15 7 32 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0f0720\]\/80{
  background-color: rgb(15 7 32 / 0.8);
}
.bg-\[\#0f0a19\]{
  --tw-bg-opacity: 1;
  background-color: rgb(15 10 25 / 1);
  background-color: rgb(15 10 25 / var(--tw-bg-opacity, 1));
}
.bg-\[\#12061f\]{
  --tw-bg-opacity: 1;
  background-color: rgb(18 6 31 / 1);
  background-color: rgb(18 6 31 / var(--tw-bg-opacity, 1));
}
.bg-\[\#12061f\]\/50{
  background-color: rgb(18 6 31 / 0.5);
}
.bg-\[\#1a0a2e\]{
  --tw-bg-opacity: 1;
  background-color: rgb(26 10 46 / 1);
  background-color: rgb(26 10 46 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a0a2e\]\/50{
  background-color: rgb(26 10 46 / 0.5);
}
.bg-\[\#1a0a2e\]\/80{
  background-color: rgb(26 10 46 / 0.8);
}
.bg-\[\#1a0a2e\]\/90{
  background-color: rgb(26 10 46 / 0.9);
}
.bg-\[\#1a1025\]{
  --tw-bg-opacity: 1;
  background-color: rgb(26 16 37 / 1);
  background-color: rgb(26 16 37 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1a1a2e\]{
  --tw-bg-opacity: 1;
  background-color: rgb(26 26 46 / 1);
  background-color: rgb(26 26 46 / var(--tw-bg-opacity, 1));
}
.bg-\[\#C96D9E\]{
  --tw-bg-opacity: 1;
  background-color: rgb(201 109 158 / 1);
  background-color: rgb(201 109 158 / var(--tw-bg-opacity, 1));
}
.bg-\[\#C96D9E\]\/10{
  background-color: rgb(201 109 158 / 0.1);
}
.bg-\[\#E8507A\]{
  --tw-bg-opacity: 1;
  background-color: rgb(232 80 122 / 1);
  background-color: rgb(232 80 122 / var(--tw-bg-opacity, 1));
}
.bg-\[\#F5F2EC\]{
  --tw-bg-opacity: 1;
  background-color: rgb(245 242 236 / 1);
  background-color: rgb(245 242 236 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAF7F2\]{
  --tw-bg-opacity: 1;
  background-color: rgb(250 247 242 / 1);
  background-color: rgb(250 247 242 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAF9F6\]{
  --tw-bg-opacity: 1;
  background-color: rgb(250 249 246 / 1);
  background-color: rgb(250 249 246 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAFAF7\]{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 247 / 1);
  background-color: rgb(250 250 247 / var(--tw-bg-opacity, 1));
}
.bg-\[\#FAFAF9\]{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 249 / 1);
  background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
}
.bg-accent{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.bg-amber-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / 1);
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.bg-amber-200{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / 1);
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.bg-amber-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / 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 / 1);
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.bg-amber-50\/50{
  background-color: rgb(255 251 235 / 0.5);
}
.bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / 1);
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.bg-amber-500\/10{
  background-color: rgb(245 158 11 / 0.1);
}
.bg-amber-500\/15{
  background-color: rgb(245 158 11 / 0.15);
}
.bg-amber-500\/20{
  background-color: rgb(245 158 11 / 0.2);
}
.bg-amber-500\/30{
  background-color: rgb(245 158 11 / 0.3);
}
.bg-amber-500\/5{
  background-color: rgb(245 158 11 / 0.05);
}
.bg-amber-500\/80{
  background-color: rgb(245 158 11 / 0.8);
}
.bg-amber-600{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / 1);
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.bg-amber-600\/20{
  background-color: rgb(217 119 6 / 0.2);
}
.bg-amber-600\/80{
  background-color: rgb(217 119 6 / 0.8);
}
.bg-amber-700\/30{
  background-color: rgb(180 83 9 / 0.3);
}
.bg-amber-800\/50{
  background-color: rgb(146 64 14 / 0.5);
}
.bg-amber-900\/20{
  background-color: rgb(120 53 15 / 0.2);
}
.bg-amber-900\/30{
  background-color: rgb(120 53 15 / 0.3);
}
.bg-background{
  background-color: hsl(0 0% 100%);
  background-color: hsl(var(--background));
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(0 0 0 / 1);
  background-color: rgb(0 0 0 / var(--tw-bg-opacity, 1));
}
.bg-black\/0{
  background-color: rgb(0 0 0 / 0);
}
.bg-black\/10{
  background-color: rgb(0 0 0 / 0.1);
}
.bg-black\/20{
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/30{
  background-color: rgb(0 0 0 / 0.3);
}
.bg-black\/40{
  background-color: rgb(0 0 0 / 0.4);
}
.bg-black\/50{
  background-color: rgb(0 0 0 / 0.5);
}
.bg-black\/60{
  background-color: rgb(0 0 0 / 0.6);
}
.bg-black\/70{
  background-color: rgb(0 0 0 / 0.7);
}
.bg-black\/80{
  background-color: rgb(0 0 0 / 0.8);
}
.bg-black\/90{
  background-color: rgb(0 0 0 / 0.9);
}
.bg-black\/95{
  background-color: rgb(0 0 0 / 0.95);
}
.bg-blue-100{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / 1);
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-200{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / 1);
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.bg-blue-400{
  --tw-bg-opacity: 1;
  background-color: rgb(96 165 250 / 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 / 1);
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-blue-50\/30{
  background-color: rgb(239 246 255 / 0.3);
}
.bg-blue-50\/50{
  background-color: rgb(239 246 255 / 0.5);
}
.bg-blue-500{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / 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\/30{
  background-color: rgb(59 130 246 / 0.3);
}
.bg-blue-600{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / 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-600\/80{
  background-color: rgb(37 99 235 / 0.8);
}
.bg-border{
  background-color: hsl(0 0% 89.8%);
  background-color: hsl(var(--border));
}
.bg-card{
  background-color: hsl(0 0% 100%);
  background-color: hsl(var(--card));
}
.bg-cyan-100{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / 1);
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.bg-cyan-400{
  --tw-bg-opacity: 1;
  background-color: rgb(34 211 238 / 1);
  background-color: rgb(34 211 238 / var(--tw-bg-opacity, 1));
}
.bg-cyan-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 254 255 / 1);
  background-color: rgb(236 254 255 / var(--tw-bg-opacity, 1));
}
.bg-cyan-50\/30{
  background-color: rgb(236 254 255 / 0.3);
}
.bg-cyan-500{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / 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\/20{
  background-color: rgb(6 182 212 / 0.2);
}
.bg-cyan-500\/80{
  background-color: rgb(6 182 212 / 0.8);
}
.bg-cyan-600{
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / 1);
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.bg-destructive{
  background-color: hsl(0 84.2% 60.2%);
  background-color: hsl(var(--destructive));
}
.bg-emerald-100{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / 1);
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.bg-emerald-200{
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / 1);
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
.bg-emerald-400{
  --tw-bg-opacity: 1;
  background-color: rgb(52 211 153 / 1);
  background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / 1);
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.bg-emerald-50\/50{
  background-color: rgb(236 253 245 / 0.5);
}
.bg-emerald-500{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / 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\/30{
  background-color: rgb(16 185 129 / 0.3);
}
.bg-emerald-600{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / 1);
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.bg-emerald-600\/80{
  background-color: rgb(5 150 105 / 0.8);
}
.bg-emerald-700{
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / 1);
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.bg-foreground{
  background-color: hsl(0 0% 3.9%);
  background-color: hsl(var(--foreground));
}
.bg-fuchsia-500\/5{
  background-color: rgb(217 70 239 / 0.05);
}
.bg-gray-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / 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 / 1);
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.bg-gray-200\/50{
  background-color: rgb(229 231 235 / 0.5);
}
.bg-gray-300{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / 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 / 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 / 1);
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.bg-gray-50\/50{
  background-color: rgb(249 250 251 / 0.5);
}
.bg-gray-50\/80{
  background-color: rgb(249 250 251 / 0.8);
}
.bg-gray-500{
  --tw-bg-opacity: 1;
  background-color: rgb(107 114 128 / 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 / 1);
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.bg-gray-700{
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / 1);
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.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 / 1);
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.bg-gray-800\/20{
  background-color: rgb(31 41 55 / 0.2);
}
.bg-gray-800\/30{
  background-color: rgb(31 41 55 / 0.3);
}
.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\/80{
  background-color: rgb(31 41 55 / 0.8);
}
.bg-gray-800\/95{
  background-color: rgb(31 41 55 / 0.95);
}
.bg-gray-900{
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / 1);
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.bg-gray-900\/50{
  background-color: rgb(17 24 39 / 0.5);
}
.bg-gray-900\/80{
  background-color: rgb(17 24 39 / 0.8);
}
.bg-green-100{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / 1);
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-200{
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / 1);
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.bg-green-400{
  --tw-bg-opacity: 1;
  background-color: rgb(74 222 128 / 1);
  background-color: rgb(74 222 128 / var(--tw-bg-opacity, 1));
}
.bg-green-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / 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 / 1);
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-green-500\/10{
  background-color: rgb(34 197 94 / 0.1);
}
.bg-green-500\/15{
  background-color: rgb(34 197 94 / 0.15);
}
.bg-green-500\/20{
  background-color: rgb(34 197 94 / 0.2);
}
.bg-green-500\/30{
  background-color: rgb(34 197 94 / 0.3);
}
.bg-green-500\/90{
  background-color: rgb(34 197 94 / 0.9);
}
.bg-green-600{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / 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-900\/20{
  background-color: rgb(20 83 45 / 0.2);
}
.bg-green-900\/30{
  background-color: rgb(20 83 45 / 0.3);
}
.bg-indigo-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / 1);
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-400{
  --tw-bg-opacity: 1;
  background-color: rgb(129 140 248 / 1);
  background-color: rgb(129 140 248 / var(--tw-bg-opacity, 1));
}
.bg-indigo-50{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / 1);
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500{
  --tw-bg-opacity: 1;
  background-color: rgb(99 102 241 / 1);
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
}
.bg-indigo-500\/10{
  background-color: rgb(99 102 241 / 0.1);
}
.bg-indigo-500\/20{
  background-color: rgb(99 102 241 / 0.2);
}
.bg-indigo-600{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / 1);
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.bg-indigo-600\/30{
  background-color: rgb(79 70 229 / 0.3);
}
.bg-lime-100{
  --tw-bg-opacity: 1;
  background-color: rgb(236 252 203 / 1);
  background-color: rgb(236 252 203 / var(--tw-bg-opacity, 1));
}
.bg-lime-600{
  --tw-bg-opacity: 1;
  background-color: rgb(101 163 13 / 1);
  background-color: rgb(101 163 13 / var(--tw-bg-opacity, 1));
}
.bg-muted{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--muted));
}
.bg-muted\/50{
  background-color: hsl(0 0% 96.1% / 0.5);
  background-color: hsl(var(--muted) / 0.5);
}
.bg-orange-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 237 213 / 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 / 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 / 1);
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.bg-orange-50\/30{
  background-color: rgb(255 247 237 / 0.3);
}
.bg-orange-500{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / 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 / 1);
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.bg-pink-100{
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / 1);
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.bg-pink-200{
  --tw-bg-opacity: 1;
  background-color: rgb(251 207 232 / 1);
  background-color: rgb(251 207 232 / var(--tw-bg-opacity, 1));
}
.bg-pink-200\/50{
  background-color: rgb(251 207 232 / 0.5);
}
.bg-pink-400{
  --tw-bg-opacity: 1;
  background-color: rgb(244 114 182 / 1);
  background-color: rgb(244 114 182 / var(--tw-bg-opacity, 1));
}
.bg-pink-400\/10{
  background-color: rgb(244 114 182 / 0.1);
}
.bg-pink-50{
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / 1);
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-pink-50\/50{
  background-color: rgb(253 242 248 / 0.5);
}
.bg-pink-500{
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / 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-pink-500\/15{
  background-color: rgb(236 72 153 / 0.15);
}
.bg-pink-500\/20{
  background-color: rgb(236 72 153 / 0.2);
}
.bg-pink-500\/30{
  background-color: rgb(236 72 153 / 0.3);
}
.bg-pink-500\/80{
  background-color: rgb(236 72 153 / 0.8);
}
.bg-pink-600{
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / 1);
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.bg-pink-600\/30{
  background-color: rgb(219 39 119 / 0.3);
}
.bg-popover{
  background-color: hsl(0 0% 100%);
  background-color: hsl(var(--popover));
}
.bg-primary{
  background-color: hsl(0 0% 9%);
  background-color: hsl(var(--primary));
}
.bg-primary\/10{
  background-color: hsl(0 0% 9% / 0.1);
  background-color: hsl(var(--primary) / 0.1);
}
.bg-primary\/20{
  background-color: hsl(0 0% 9% / 0.2);
  background-color: hsl(var(--primary) / 0.2);
}
.bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / 1);
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-200{
  --tw-bg-opacity: 1;
  background-color: rgb(233 213 255 / 1);
  background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-200\/30{
  background-color: rgb(233 213 255 / 0.3);
}
.bg-purple-400{
  --tw-bg-opacity: 1;
  background-color: rgb(192 132 252 / 1);
  background-color: rgb(192 132 252 / var(--tw-bg-opacity, 1));
}
.bg-purple-400\/20{
  background-color: rgb(192 132 252 / 0.2);
}
.bg-purple-400\/50{
  background-color: rgb(192 132 252 / 0.5);
}
.bg-purple-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / 1);
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.bg-purple-50\/30{
  background-color: rgb(250 245 255 / 0.3);
}
.bg-purple-50\/40{
  background-color: rgb(250 245 255 / 0.4);
}
.bg-purple-50\/50{
  background-color: rgb(250 245 255 / 0.5);
}
.bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / 1);
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.bg-purple-500\/10{
  background-color: rgb(168 85 247 / 0.1);
}
.bg-purple-500\/15{
  background-color: rgb(168 85 247 / 0.15);
}
.bg-purple-500\/20{
  background-color: rgb(168 85 247 / 0.2);
}
.bg-purple-500\/30{
  background-color: rgb(168 85 247 / 0.3);
}
.bg-purple-500\/50{
  background-color: rgb(168 85 247 / 0.5);
}
.bg-purple-500\/80{
  background-color: rgb(168 85 247 / 0.8);
}
.bg-purple-600{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / 1);
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.bg-purple-600\/10{
  background-color: rgb(147 51 234 / 0.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\/80{
  background-color: rgb(147 51 234 / 0.8);
}
.bg-purple-600\/90{
  background-color: rgb(147 51 234 / 0.9);
}
.bg-purple-700{
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / 1);
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}
.bg-purple-700\/50{
  background-color: rgb(126 34 206 / 0.5);
}
.bg-purple-900{
  --tw-bg-opacity: 1;
  background-color: rgb(88 28 135 / 1);
  background-color: rgb(88 28 135 / var(--tw-bg-opacity, 1));
}
.bg-purple-900\/20{
  background-color: rgb(88 28 135 / 0.2);
}
.bg-purple-900\/30{
  background-color: rgb(88 28 135 / 0.3);
}
.bg-purple-900\/50{
  background-color: rgb(88 28 135 / 0.5);
}
.bg-red-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / 1);
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.bg-red-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / 1);
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.bg-red-400{
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / 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 / 1);
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-50\/30{
  background-color: rgb(254 242 242 / 0.3);
}
.bg-red-50\/50{
  background-color: rgb(254 242 242 / 0.5);
}
.bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / 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\/30{
  background-color: rgb(239 68 68 / 0.3);
}
.bg-red-600{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / 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{
  --tw-bg-opacity: 1;
  background-color: rgb(153 27 27 / 1);
  background-color: rgb(153 27 27 / 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-950\/50{
  background-color: rgb(69 10 10 / 0.5);
}
.bg-rose-100{
  --tw-bg-opacity: 1;
  background-color: rgb(255 228 230 / 1);
  background-color: rgb(255 228 230 / var(--tw-bg-opacity, 1));
}
.bg-rose-200{
  --tw-bg-opacity: 1;
  background-color: rgb(254 205 211 / 1);
  background-color: rgb(254 205 211 / var(--tw-bg-opacity, 1));
}
.bg-rose-400{
  --tw-bg-opacity: 1;
  background-color: rgb(251 113 133 / 1);
  background-color: rgb(251 113 133 / var(--tw-bg-opacity, 1));
}
.bg-rose-50{
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / 1);
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.bg-rose-500{
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / 1);
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.bg-rose-500\/15{
  background-color: rgb(244 63 94 / 0.15);
}
.bg-rose-500\/20{
  background-color: rgb(244 63 94 / 0.2);
}
.bg-rose-600{
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / 1);
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}
.bg-secondary{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--secondary));
}
.bg-sky-100{
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / 1);
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.bg-sky-400{
  --tw-bg-opacity: 1;
  background-color: rgb(56 189 248 / 1);
  background-color: rgb(56 189 248 / var(--tw-bg-opacity, 1));
}
.bg-sky-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / 1);
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-sky-500{
  --tw-bg-opacity: 1;
  background-color: rgb(14 165 233 / 1);
  background-color: rgb(14 165 233 / var(--tw-bg-opacity, 1));
}
.bg-sky-600{
  --tw-bg-opacity: 1;
  background-color: rgb(2 132 199 / 1);
  background-color: rgb(2 132 199 / var(--tw-bg-opacity, 1));
}
.bg-slate-100{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / 1);
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.bg-slate-200{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / 1);
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.bg-slate-50{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / 1);
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.bg-slate-500{
  --tw-bg-opacity: 1;
  background-color: rgb(100 116 139 / 1);
  background-color: rgb(100 116 139 / var(--tw-bg-opacity, 1));
}
.bg-slate-500\/20{
  background-color: rgb(100 116 139 / 0.2);
}
.bg-slate-600{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / 1);
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.bg-slate-600\/30{
  background-color: rgb(71 85 105 / 0.3);
}
.bg-slate-700{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / 1);
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.bg-slate-700\/30{
  background-color: rgb(51 65 85 / 0.3);
}
.bg-slate-700\/50{
  background-color: rgb(51 65 85 / 0.5);
}
.bg-slate-700\/70{
  background-color: rgb(51 65 85 / 0.7);
}
.bg-slate-800{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / 1);
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.bg-slate-800\/30{
  background-color: rgb(30 41 59 / 0.3);
}
.bg-slate-800\/40{
  background-color: rgb(30 41 59 / 0.4);
}
.bg-slate-800\/50{
  background-color: rgb(30 41 59 / 0.5);
}
.bg-slate-800\/60{
  background-color: rgb(30 41 59 / 0.6);
}
.bg-slate-800\/80{
  background-color: rgb(30 41 59 / 0.8);
}
.bg-slate-800\/90{
  background-color: rgb(30 41 59 / 0.9);
}
.bg-slate-800\/95{
  background-color: rgb(30 41 59 / 0.95);
}
.bg-slate-900{
  --tw-bg-opacity: 1;
  background-color: rgb(15 23 42 / 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\/40{
  background-color: rgb(15 23 42 / 0.4);
}
.bg-slate-900\/50{
  background-color: rgb(15 23 42 / 0.5);
}
.bg-slate-900\/60{
  background-color: rgb(15 23 42 / 0.6);
}
.bg-slate-900\/80{
  background-color: rgb(15 23 42 / 0.8);
}
.bg-slate-900\/90{
  background-color: rgb(15 23 42 / 0.9);
}
.bg-slate-900\/95{
  background-color: rgb(15 23 42 / 0.95);
}
.bg-slate-950{
  --tw-bg-opacity: 1;
  background-color: rgb(2 6 23 / 1);
  background-color: rgb(2 6 23 / var(--tw-bg-opacity, 1));
}
.bg-slate-950\/90{
  background-color: rgb(2 6 23 / 0.9);
}
.bg-stone-100{
  --tw-bg-opacity: 1;
  background-color: rgb(245 245 244 / 1);
  background-color: rgb(245 245 244 / var(--tw-bg-opacity, 1));
}
.bg-stone-200{
  --tw-bg-opacity: 1;
  background-color: rgb(231 229 228 / 1);
  background-color: rgb(231 229 228 / var(--tw-bg-opacity, 1));
}
.bg-stone-50{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 249 / 1);
  background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
}
.bg-teal-100{
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / 1);
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.bg-teal-200{
  --tw-bg-opacity: 1;
  background-color: rgb(153 246 228 / 1);
  background-color: rgb(153 246 228 / var(--tw-bg-opacity, 1));
}
.bg-teal-400{
  --tw-bg-opacity: 1;
  background-color: rgb(45 212 191 / 1);
  background-color: rgb(45 212 191 / var(--tw-bg-opacity, 1));
}
.bg-teal-50{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / 1);
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.bg-teal-50\/30{
  background-color: rgb(240 253 250 / 0.3);
}
.bg-teal-500{
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / 1);
  background-color: rgb(20 184 166 / var(--tw-bg-opacity, 1));
}
.bg-teal-500\/10{
  background-color: rgb(20 184 166 / 0.1);
}
.bg-teal-500\/20{
  background-color: rgb(20 184 166 / 0.2);
}
.bg-teal-600{
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / 1);
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1));
}
.bg-transparent{
  background-color: transparent;
}
.bg-violet-100{
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / 1);
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.bg-violet-200{
  --tw-bg-opacity: 1;
  background-color: rgb(221 214 254 / 1);
  background-color: rgb(221 214 254 / var(--tw-bg-opacity, 1));
}
.bg-violet-400{
  --tw-bg-opacity: 1;
  background-color: rgb(167 139 250 / 1);
  background-color: rgb(167 139 250 / var(--tw-bg-opacity, 1));
}
.bg-violet-50{
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / 1);
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.bg-violet-50\/50{
  background-color: rgb(245 243 255 / 0.5);
}
.bg-violet-50\/70{
  background-color: rgb(245 243 255 / 0.7);
}
.bg-violet-500{
  --tw-bg-opacity: 1;
  background-color: rgb(139 92 246 / 1);
  background-color: rgb(139 92 246 / var(--tw-bg-opacity, 1));
}
.bg-violet-500\/10{
  background-color: rgb(139 92 246 / 0.1);
}
.bg-violet-500\/20{
  background-color: rgb(139 92 246 / 0.2);
}
.bg-violet-600{
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / 1);
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / 1);
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10{
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15{
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/20{
  background-color: rgb(255 255 255 / 0.2);
}
.bg-white\/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\/60{
  background-color: rgb(255 255 255 / 0.6);
}
.bg-white\/70{
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/80{
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/90{
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95{
  background-color: rgb(255 255 255 / 0.95);
}
.bg-yellow-100{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / 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 / 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 / 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 / 1);
  background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
}
.bg-yellow-50{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / 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 / 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-900\/50{
  background-color: rgb(113 63 18 / 0.5);
}
.bg-zinc-800\/30{
  background-color: rgb(39 39 42 / 0.3);
}
.bg-zinc-800\/50{
  background-color: rgb(39 39 42 / 0.5);
}
.bg-opacity-10{
  --tw-bg-opacity: 0.1;
}
.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wNSI\+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iNCIvPjwvZz48L2c\+PC9zdmc\+\'\)\]{
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4wNSI+PGNpcmNsZSBjeD0iMzAiIGN5PSIzMCIgcj0iNCIvPjwvZz48L2c+PC9zdmc+);
}
.bg-\[url\(\'data\:image\/svg\+xml\;base64\2c PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4xIj48cGF0aCBkPSJNMzYgMzRjMC0yIDItNCAyLTRzMiAyIDIgNGMwIDItMiA0LTIgNHMtMi0yLTItNHoiLz48L2c\+PC9nPjwvc3ZnPg\=\=\'\)\]{
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4xIj48cGF0aCBkPSJNMzYgMzRjMC0yIDItNCAyLTRzMiAyIDIgNGMwIDItMiA0LTIgNHMtMi0yLTItNHoiLz48L2c+PC9nPjwvc3ZnPg==);
}
.bg-gradient-to-b{
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-bl{
  background-image: linear-gradient(to bottom left, var(--tw-gradient-stops));
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l{
  background-image: linear-gradient(to left, 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-\[\#0369A1\]{
  --tw-gradient-from: #0369A1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(3 105 161 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a0618\]{
  --tw-gradient-from: #0a0618 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 6 24 / 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-\[\#0d0d1a\]{
  --tw-gradient-from: #0d0d1a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(13 13 26 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0f0720\]{
  --tw-gradient-from: #0f0720 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 7 32 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0f0a19\]{
  --tw-gradient-from: #0f0a19 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 10 25 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#14B8A6\]{
  --tw-gradient-from: #14B8A6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1a0a2e\]{
  --tw-gradient-from: #1a0a2e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 10 46 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#1a1025\]{
  --tw-gradient-from: #1a1025 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(26 16 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-\[\#2D1B4E\]{
  --tw-gradient-from: #2D1B4E var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(45 27 78 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#4A1942\]{
  --tw-gradient-from: #4A1942 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(74 25 66 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#6366F1\]{
  --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-\[\#64748B\]{
  --tw-gradient-from: #64748B var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#818CF8\]{
  --tw-gradient-from: #818CF8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#84CC16\]{
  --tw-gradient-from: #84CC16 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#A78BFA\]{
  --tw-gradient-from: #A78BFA var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#C2410C\]{
  --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);
}
.from-\[\#C4B5FD\]{
  --tw-gradient-from: #C4B5FD var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(196 181 253 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#D4458B\]{
  --tw-gradient-from: #D4458B var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(212 69 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#D97706\]{
  --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-\[\#DC2626\]{
  --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-\[\#F43F5E\]{
  --tw-gradient-from: #F43F5E var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#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-amber-100{
  --tw-gradient-from: #fef3c7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 243 199 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-200{
  --tw-gradient-from: #fde68a var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 230 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-200\/20{
  --tw-gradient-from: rgb(253 230 138 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 230 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-200\/30{
  --tw-gradient-from: rgb(253 230 138 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 230 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-200\/40{
  --tw-gradient-from: rgb(253 230 138 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 230 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-300{
  --tw-gradient-from: #fcd34d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 211 77 / 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-400\/10{
  --tw-gradient-from: rgb(251 191 36 / 0.1) 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-400\/20{
  --tw-gradient-from: rgb(251 191 36 / 0.2) 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-400\/30{
  --tw-gradient-from: rgb(251 191 36 / 0.3) 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-50{
  --tw-gradient-from: #fffbeb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-50\/50{
  --tw-gradient-from: rgb(255 251 235 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-50\/80{
  --tw-gradient-from: rgb(255 251 235 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 251 235 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500{
  --tw-gradient-from: #f59e0b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/10{
  --tw-gradient-from: rgb(245 158 11 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-amber-500\/20{
  --tw-gradient-from: rgb(245 158 11 / 0.2) 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-500\/40{
  --tw-gradient-from: rgb(245 158 11 / 0.4) 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\/90{
  --tw-gradient-from: rgb(245 158 11 / 0.9) 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\/95{
  --tw-gradient-from: rgb(245 158 11 / 0.95) 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-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-amber-900\/40{
  --tw-gradient-from: rgb(120 53 15 / 0.4) 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-amber-900\/50{
  --tw-gradient-from: rgb(120 53 15 / 0.5) 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-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\/60{
  --tw-gradient-from: rgb(0 0 0 / 0.6) 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-blue-100{
  --tw-gradient-from: #dbeafe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 234 254 / 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-50{
  --tw-gradient-from: #eff6ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-blue-50\/80{
  --tw-gradient-from: rgb(239 246 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 246 255 / 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-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\/10{
  --tw-gradient-from: rgb(37 99 235 / 0.1) 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\/30{
  --tw-gradient-from: rgb(30 58 138 / 0.3) 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\/40{
  --tw-gradient-from: rgb(30 58 138 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(30 58 138 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-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-50{
  --tw-gradient-from: #ecfeff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 254 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-cyan-50\/30{
  --tw-gradient-from: rgb(236 254 255 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 254 255 / 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\/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-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-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-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-50{
  --tw-gradient-from: #ecfdf5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 253 245 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500{
  --tw-gradient-from: #10b981 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/10{
  --tw-gradient-from: rgb(16 185 129 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/20{
  --tw-gradient-from: rgb(16 185 129 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-500\/95{
  --tw-gradient-from: rgb(16 185 129 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(16 185 129 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-600{
  --tw-gradient-from: #059669 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 150 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-emerald-900\/30{
  --tw-gradient-from: rgb(6 78 59 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-fuchsia-500{
  --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-100{
  --tw-gradient-from: #f3f4f6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 244 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-200{
  --tw-gradient-from: #e5e7eb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(229 231 235 / 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-50{
  --tw-gradient-from: #f9fafb var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-gray-50\/50{
  --tw-gradient-from: rgb(249 250 251 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 250 251 / 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-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-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\/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-green-100{
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 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-50{
  --tw-gradient-from: #f0fdf4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-green-50\/80{
  --tw-gradient-from: rgb(240 253 244 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 244 / 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-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-indigo-100{
  --tw-gradient-from: #e0e7ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 231 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-400{
  --tw-gradient-from: #818cf8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-50{
  --tw-gradient-from: #eef2ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-50\/80{
  --tw-gradient-from: rgb(238 242 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(238 242 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500{
  --tw-gradient-from: #6366f1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-500\/20{
  --tw-gradient-from: rgb(99 102 241 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-indigo-600{
  --tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-400{
  --tw-gradient-from: #a3e635 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(163 230 53 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-50{
  --tw-gradient-from: #f7fee7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(247 254 231 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-lime-500{
  --tw-gradient-from: #84cc16 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-100{
  --tw-gradient-from: #ffedd5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-300{
  --tw-gradient-from: #fdba74 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 186 116 / 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-50{
  --tw-gradient-from: #fff7ed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50\/50{
  --tw-gradient-from: rgb(255 247 237 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-50\/80{
  --tw-gradient-from: rgb(255 247 237 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 247 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500{
  --tw-gradient-from: #f97316 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/10{
  --tw-gradient-from: rgb(249 115 22 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-orange-500\/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-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-900\/90{
  --tw-gradient-from: rgb(124 45 18 / 0.9) 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-100{
  --tw-gradient-from: #fce7f3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 231 243 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-200{
  --tw-gradient-from: #fbcfe8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 207 232 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-400{
  --tw-gradient-from: #f472b6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-400\/20{
  --tw-gradient-from: rgb(244 114 182 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50{
  --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50\/10{
  --tw-gradient-from: rgb(253 242 248 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50\/50{
  --tw-gradient-from: rgb(253 242 248 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-50\/80{
  --tw-gradient-from: rgb(253 242 248 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500{
  --tw-gradient-from: #ec4899 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/10{
  --tw-gradient-from: rgb(236 72 153 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/20{
  --tw-gradient-from: rgb(236 72 153 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/30{
  --tw-gradient-from: rgb(236 72 153 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-500\/80{
  --tw-gradient-from: rgb(236 72 153 / 0.8) 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-600{
  --tw-gradient-from: #db2777 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 39 119 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-600\/20{
  --tw-gradient-from: rgb(219 39 119 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 39 119 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-900\/30{
  --tw-gradient-from: rgb(131 24 67 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(131 24 67 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-900\/40{
  --tw-gradient-from: rgb(131 24 67 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(131 24 67 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-pink-900\/50{
  --tw-gradient-from: rgb(131 24 67 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(131 24 67 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-100{
  --tw-gradient-from: #f3e8ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 232 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-200{
  --tw-gradient-from: #e9d5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(233 213 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-300{
  --tw-gradient-from: #d8b4fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(216 180 254 / 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-400\/20{
  --tw-gradient-from: rgb(192 132 252 / 0.2) 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-400\/30{
  --tw-gradient-from: rgb(192 132 252 / 0.3) 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-50{
  --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50\/50{
  --tw-gradient-from: rgb(250 245 255 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-50\/80{
  --tw-gradient-from: rgb(250 245 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 245 255 / 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\/80{
  --tw-gradient-from: rgb(147 51 234 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-700{
  --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);
}
.from-purple-900{
  --tw-gradient-from: #581c87 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900\/20{
  --tw-gradient-from: rgb(88 28 135 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(88 28 135 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-purple-900\/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\/50{
  --tw-gradient-from: rgb(88 28 135 / 0.5) 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\/80{
  --tw-gradient-from: rgb(88 28 135 / 0.8) 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{
  --tw-gradient-from: #3b0764 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-purple-950\/50{
  --tw-gradient-from: rgb(59 7 100 / 0.5) 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-purple-950\/95{
  --tw-gradient-from: rgb(59 7 100 / 0.95) 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-100{
  --tw-gradient-from: #fee2e2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 226 226 / 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-50{
  --tw-gradient-from: #fef2f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 242 242 / 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\/20{
  --tw-gradient-from: rgb(239 68 68 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-red-600{
  --tw-gradient-from: #dc2626 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 38 38 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-100{
  --tw-gradient-from: #ffe4e6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 228 230 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-400{
  --tw-gradient-from: #fb7185 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(251 113 133 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-50{
  --tw-gradient-from: #fff1f2 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 241 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-50\/80{
  --tw-gradient-from: rgb(255 241 242 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 241 242 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500{
  --tw-gradient-from: #f43f5e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-500\/20{
  --tw-gradient-from: rgb(244 63 94 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-rose-600{
  --tw-gradient-from: #e11d48 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(225 29 72 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-100{
  --tw-gradient-from: #e0f2fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(224 242 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-400{
  --tw-gradient-from: #38bdf8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(56 189 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-50{
  --tw-gradient-from: #f0f9ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 249 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-50\/80{
  --tw-gradient-from: rgb(240 249 255 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 249 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-sky-500{
  --tw-gradient-from: #0ea5e9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(14 165 233 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-200{
  --tw-gradient-from: #e2e8f0 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(226 232 240 / 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-50{
  --tw-gradient-from: #f8fafc var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-50\/80{
  --tw-gradient-from: rgb(248 250 252 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(248 250 252 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500{
  --tw-gradient-from: #64748b var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-500\/20{
  --tw-gradient-from: rgb(100 116 139 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(100 116 139 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-600{
  --tw-gradient-from: #475569 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(71 85 105 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-slate-700{
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 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\/80{
  --tw-gradient-from: rgb(30 41 59 / 0.8) 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\/90{
  --tw-gradient-from: rgb(30 41 59 / 0.9) 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\/95{
  --tw-gradient-from: rgb(30 41 59 / 0.95) 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-950{
  --tw-gradient-from: #020617 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(2 6 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-stone-50{
  --tw-gradient-from: #fafaf9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(250 250 249 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-stone-500{
  --tw-gradient-from: #78716c var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(120 113 108 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-stone-800{
  --tw-gradient-from: #292524 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(41 37 36 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-stone-900{
  --tw-gradient-from: #1c1917 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(28 25 23 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-100{
  --tw-gradient-from: #ccfbf1 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(204 251 241 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-200{
  --tw-gradient-from: #99f6e4 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(153 246 228 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-400{
  --tw-gradient-from: #2dd4bf var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(45 212 191 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-50{
  --tw-gradient-from: #f0fdfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-50\/30{
  --tw-gradient-from: rgb(240 253 250 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-50\/50{
  --tw-gradient-from: rgb(240 253 250 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-50\/80{
  --tw-gradient-from: rgb(240 253 250 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(240 253 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-500{
  --tw-gradient-from: #14b8a6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-500\/10{
  --tw-gradient-from: rgb(20 184 166 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-500\/20{
  --tw-gradient-from: rgb(20 184 166 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-600{
  --tw-gradient-from: #0d9488 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(13 148 136 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-teal-800{
  --tw-gradient-from: #115e59 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(17 94 89 / 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-100{
  --tw-gradient-from: #ede9fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(237 233 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-200{
  --tw-gradient-from: #ddd6fe var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(221 214 254 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400{
  --tw-gradient-from: #a78bfa var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-400\/30{
  --tw-gradient-from: rgb(167 139 250 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-50{
  --tw-gradient-from: #f5f3ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 243 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-50\/70{
  --tw-gradient-from: rgb(245 243 255 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(245 243 255 / 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-violet-500\/90{
  --tw-gradient-from: rgb(139 92 246 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600{
  --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-violet-600\/95{
  --tw-gradient-from: rgb(124 58 237 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-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-yellow-100{
  --tw-gradient-from: #fef9c3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 249 195 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-yellow-200\/40{
  --tw-gradient-from: rgb(254 240 138 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 240 138 / 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-50{
  --tw-gradient-from: #fefce8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(254 252 232 / 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-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);
}
.via-\[\#075985\]{
  --tw-gradient-to: rgb(7 89 133 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #075985 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0D9488\]{
  --tw-gradient-to: rgb(13 148 136 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0D9488 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0f0a19\]{
  --tw-gradient-to: rgb(15 10 25 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f0a19 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#0f0a19\]\/95{
  --tw-gradient-to: rgb(15 10 25 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(15 10 25 / 0.95) 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-\[\#1E3A5F\]{
  --tw-gradient-to: rgb(30 58 95 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1E3A5F var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#1a0a2e\]{
  --tw-gradient-to: rgb(26 10 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1a0a2e var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#1a1025\]{
  --tw-gradient-to: rgb(26 16 37 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1a1025 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#2D1B4E\]{
  --tw-gradient-to: rgb(45 27 78 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #2D1B4E var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#4338CA\]{
  --tw-gradient-to: rgb(67 56 202 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #4338CA var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#475569\]{
  --tw-gradient-to: rgb(71 85 105 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #475569 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#4D7C0F\]{
  --tw-gradient-to: rgb(77 124 15 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #4D7C0F var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#4F46E5\]{
  --tw-gradient-to: rgb(79 70 229 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #4F46E5 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-\[\#8B5CF6\]{
  --tw-gradient-to: rgb(139 92 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #8B5CF6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#92400E\]{
  --tw-gradient-to: rgb(146 64 14 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #92400E var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#991B1B\]{
  --tw-gradient-to: rgb(153 27 27 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #991B1B var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#9A3412\]{
  --tw-gradient-to: rgb(154 52 18 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9A3412 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#9B4DCA\]{
  --tw-gradient-to: rgb(155 77 202 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9B4DCA var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#E11D48\]{
  --tw-gradient-to: rgb(225 29 72 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #E11D48 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#F59E0B\]{
  --tw-gradient-to: rgb(245 158 11 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #F59E0B var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-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-amber-50{
  --tw-gradient-to: rgb(255 251 235 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fffbeb var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-500{
  --tw-gradient-to: rgb(245 158 11 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f59e0b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-600{
  --tw-gradient-to: rgb(217 119 6 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #d97706 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-900\/10{
  --tw-gradient-to: rgb(120 53 15 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(120 53 15 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-950{
  --tw-gradient-to: rgb(69 26 3 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #451a03 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-amber-950\/80{
  --tw-gradient-to: rgb(69 26 3 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(69 26 3 / 0.8) 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-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-950{
  --tw-gradient-to: rgb(23 37 84 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #172554 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-blue-950\/80{
  --tw-gradient-to: rgb(23 37 84 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(23 37 84 / 0.8) 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-600{
  --tw-gradient-to: rgb(8 145 178 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-900\/40{
  --tw-gradient-to: rgb(22 78 99 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(22 78 99 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-cyan-950\/80{
  --tw-gradient-to: rgb(8 51 68 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(8 51 68 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-50{
  --tw-gradient-to: rgb(236 253 245 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #ecfdf5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-500{
  --tw-gradient-to: rgb(16 185 129 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #10b981 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-600{
  --tw-gradient-to: rgb(5 150 105 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #059669 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-emerald-950\/80{
  --tw-gradient-to: rgb(2 44 34 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(2 44 34 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-50{
  --tw-gradient-to: rgb(253 244 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fdf4ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-500{
  --tw-gradient-to: rgb(217 70 239 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #d946ef var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-950\/80{
  --tw-gradient-to: rgb(74 4 78 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(74 4 78 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-fuchsia-950\/90{
  --tw-gradient-to: rgb(74 4 78 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(74 4 78 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-gray-500{
  --tw-gradient-to: rgb(107 114 128 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6b7280 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-gray-900\/50{
  --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.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-gray-900\/85{
  --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.85) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-900\/10{
  --tw-gradient-to: rgb(20 83 45 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(20 83 45 / 0.1) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-950{
  --tw-gradient-to: rgb(5 46 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #052e16 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-green-950\/80{
  --tw-gradient-to: rgb(5 46 22 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(5 46 22 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-50{
  --tw-gradient-to: rgb(238 242 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #eef2ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-500{
  --tw-gradient-to: rgb(99 102 241 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6366f1 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-600{
  --tw-gradient-to: rgb(79 70 229 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #4f46e5 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-900{
  --tw-gradient-to: rgb(49 46 129 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #312e81 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-950{
  --tw-gradient-to: rgb(30 27 75 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e1b4b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-indigo-950\/80{
  --tw-gradient-to: rgb(30 27 75 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(30 27 75 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-lime-950\/80{
  --tw-gradient-to: rgb(26 46 5 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(26 46 5 / 0.8) 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-50{
  --tw-gradient-to: rgb(255 247 237 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff7ed var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-500{
  --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-orange-800\/80{
  --tw-gradient-to: rgb(154 52 18 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(154 52 18 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-950{
  --tw-gradient-to: rgb(67 20 7 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #431407 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-orange-950\/80{
  --tw-gradient-to: rgb(67 20 7 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(67 20 7 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-pink-300{
  --tw-gradient-to: rgb(249 168 212 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f9a8d4 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-pink-400{
  --tw-gradient-to: rgb(244 114 182 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f472b6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-pink-50{
  --tw-gradient-to: rgb(253 242 248 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fdf2f8 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-500\/20{
  --tw-gradient-to: rgb(236 72 153 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(236 72 153 / 0.2) 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-pink-900\/40{
  --tw-gradient-to: rgb(131 24 67 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(131 24 67 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-pink-950{
  --tw-gradient-to: rgb(80 7 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #500724 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-pink-950\/80{
  --tw-gradient-to: rgb(80 7 36 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(80 7 36 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-200{
  --tw-gradient-to: rgb(233 213 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #e9d5ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-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\/30{
  --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.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-50{
  --tw-gradient-to: rgb(250 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #faf5ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-50\/30{
  --tw-gradient-to: rgb(250 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(250 245 255 / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-50\/50{
  --tw-gradient-to: rgb(250 245 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(250 245 255 / 0.5) 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\/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-600{
  --tw-gradient-to: rgb(147 51 234 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-600\/95{
  --tw-gradient-to: rgb(147 51 234 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(147 51 234 / 0.95) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-800{
  --tw-gradient-to: rgb(107 33 168 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #6b21a8 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-900{
  --tw-gradient-to: rgb(88 28 135 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #581c87 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-900\/40{
  --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.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-900\/5{
  --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.05) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-900\/50{
  --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.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-900\/60{
  --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.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-950{
  --tw-gradient-to: rgb(59 7 100 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #3b0764 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-950\/30{
  --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.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-950\/50{
  --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.5) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-950\/80{
  --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.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-purple-950\/90{
  --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.9) 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-200{
  --tw-gradient-to: rgb(254 205 211 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fecdd3 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-rose-50{
  --tw-gradient-to: rgb(255 241 242 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fff1f2 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-rose-500{
  --tw-gradient-to: rgb(244 63 94 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f43f5e var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-rose-600{
  --tw-gradient-to: rgb(225 29 72 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #e11d48 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-rose-950{
  --tw-gradient-to: rgb(76 5 25 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #4c0519 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-rose-950\/80{
  --tw-gradient-to: rgb(76 5 25 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(76 5 25 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-950{
  --tw-gradient-to: rgb(8 47 73 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #082f49 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-sky-950\/80{
  --tw-gradient-to: rgb(8 47 73 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(8 47 73 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-300{
  --tw-gradient-to: rgb(203 213 225 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #cbd5e1 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-500{
  --tw-gradient-to: rgb(100 116 139 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #64748b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-600{
  --tw-gradient-to: rgb(71 85 105 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #475569 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-800{
  --tw-gradient-to: rgb(30 41 59 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #1e293b var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-800\/80{
  --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.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-800\/90{
  --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.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-900{
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f172a var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-900\/60{
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(15 23 42 / 0.6) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-slate-900\/90{
  --tw-gradient-to: rgb(15 23 42 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(15 23 42 / 0.9) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-50{
  --tw-gradient-to: rgb(240 253 250 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f0fdfa var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-500{
  --tw-gradient-to: rgb(20 184 166 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #14b8a6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-600{
  --tw-gradient-to: rgb(13 148 136 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0d9488 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-700{
  --tw-gradient-to: rgb(15 118 110 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #0f766e var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-950{
  --tw-gradient-to: rgb(4 47 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #042f2e var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-teal-950\/80{
  --tw-gradient-to: rgb(4 47 46 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(4 47 46 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-transparent{
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-50{
  --tw-gradient-to: rgb(245 243 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #f5f3ff var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-500{
  --tw-gradient-to: rgb(139 92 246 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #8b5cf6 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-violet-600{
  --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-violet-950\/80{
  --tw-gradient-to: rgb(46 16 101 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(46 16 101 / 0.8) 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\/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-yellow-300{
  --tw-gradient-to: rgb(253 224 71 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fde047 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-50{
  --tw-gradient-to: rgb(254 252 232 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #fefce8 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-yellow-500\/20{
  --tw-gradient-to: rgb(234 179 8 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(234 179 8 / 0.2) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-yellow-950\/80{
  --tw-gradient-to: rgb(66 32 6 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(66 32 6 / 0.8) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.to-\[\#0C1929\]{
  --tw-gradient-to: #0C1929 var(--tw-gradient-to-position);
}
.to-\[\#0D2137\]{
  --tw-gradient-to: #0D2137 var(--tw-gradient-to-position);
}
.to-\[\#0F172A\]{
  --tw-gradient-to: #0F172A var(--tw-gradient-to-position);
}
.to-\[\#0a1a2e\]{
  --tw-gradient-to: #0a1a2e var(--tw-gradient-to-position);
}
.to-\[\#0d0a12\]{
  --tw-gradient-to: #0d0a12 var(--tw-gradient-to-position);
}
.to-\[\#0f0720\]{
  --tw-gradient-to: #0f0720 var(--tw-gradient-to-position);
}
.to-\[\#0f0a19\]{
  --tw-gradient-to: #0f0a19 var(--tw-gradient-to-position);
}
.to-\[\#0f3460\]{
  --tw-gradient-to: #0f3460 var(--tw-gradient-to-position);
}
.to-\[\#120826\]{
  --tw-gradient-to: #120826 var(--tw-gradient-to-position);
}
.to-\[\#134E4A\]{
  --tw-gradient-to: #134E4A var(--tw-gradient-to-position);
}
.to-\[\#1A2E05\]{
  --tw-gradient-to: #1A2E05 var(--tw-gradient-to-position);
}
.to-\[\#1E1B4B\]{
  --tw-gradient-to: #1E1B4B var(--tw-gradient-to-position);
}
.to-\[\#1E3A5F\]{
  --tw-gradient-to: #1E3A5F var(--tw-gradient-to-position);
}
.to-\[\#2E1065\]{
  --tw-gradient-to: #2E1065 var(--tw-gradient-to-position);
}
.to-\[\#3B0764\]{
  --tw-gradient-to: #3B0764 var(--tw-gradient-to-position);
}
.to-\[\#431407\]{
  --tw-gradient-to: #431407 var(--tw-gradient-to-position);
}
.to-\[\#450A0A\]{
  --tw-gradient-to: #450A0A var(--tw-gradient-to-position);
}
.to-\[\#451A03\]{
  --tw-gradient-to: #451A03 var(--tw-gradient-to-position);
}
.to-\[\#4A1942\]{
  --tw-gradient-to: #4A1942 var(--tw-gradient-to-position);
}
.to-\[\#4C0519\]{
  --tw-gradient-to: #4C0519 var(--tw-gradient-to-position);
}
.to-\[\#78350F\]{
  --tw-gradient-to: #78350F var(--tw-gradient-to-position);
}
.to-amber-100{
  --tw-gradient-to: #fef3c7 var(--tw-gradient-to-position);
}
.to-amber-200{
  --tw-gradient-to: #fde68a var(--tw-gradient-to-position);
}
.to-amber-200\/40{
  --tw-gradient-to: rgb(253 230 138 / 0.4) var(--tw-gradient-to-position);
}
.to-amber-400{
  --tw-gradient-to: #fbbf24 var(--tw-gradient-to-position);
}
.to-amber-50{
  --tw-gradient-to: #fffbeb var(--tw-gradient-to-position);
}
.to-amber-50\/30{
  --tw-gradient-to: rgb(255 251 235 / 0.3) var(--tw-gradient-to-position);
}
.to-amber-50\/50{
  --tw-gradient-to: rgb(255 251 235 / 0.5) var(--tw-gradient-to-position);
}
.to-amber-500{
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}
.to-amber-500\/20{
  --tw-gradient-to: rgb(245 158 11 / 0.2) 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-900{
  --tw-gradient-to: #78350f var(--tw-gradient-to-position);
}
.to-black\/10{
  --tw-gradient-to: rgb(0 0 0 / 0.1) var(--tw-gradient-to-position);
}
.to-blue-100{
  --tw-gradient-to: #dbeafe var(--tw-gradient-to-position);
}
.to-blue-200{
  --tw-gradient-to: #bfdbfe var(--tw-gradient-to-position);
}
.to-blue-400{
  --tw-gradient-to: #60a5fa var(--tw-gradient-to-position);
}
.to-blue-50{
  --tw-gradient-to: #eff6ff var(--tw-gradient-to-position);
}
.to-blue-500{
  --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position);
}
.to-blue-600{
  --tw-gradient-to: #2563eb var(--tw-gradient-to-position);
}
.to-blue-600\/10{
  --tw-gradient-to: rgb(37 99 235 / 0.1) var(--tw-gradient-to-position);
}
.to-blue-700{
  --tw-gradient-to: #1d4ed8 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\/40{
  --tw-gradient-to: rgb(30 58 138 / 0.4) var(--tw-gradient-to-position);
}
.to-cyan-200{
  --tw-gradient-to: #a5f3fc var(--tw-gradient-to-position);
}
.to-cyan-400{
  --tw-gradient-to: #22d3ee var(--tw-gradient-to-position);
}
.to-cyan-50{
  --tw-gradient-to: #ecfeff var(--tw-gradient-to-position);
}
.to-cyan-50\/30{
  --tw-gradient-to: rgb(236 254 255 / 0.3) var(--tw-gradient-to-position);
}
.to-cyan-500{
  --tw-gradient-to: #06b6d4 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-600{
  --tw-gradient-to: #0891b2 var(--tw-gradient-to-position);
}
.to-cyan-600\/10{
  --tw-gradient-to: rgb(8 145 178 / 0.1) var(--tw-gradient-to-position);
}
.to-cyan-900{
  --tw-gradient-to: #164e63 var(--tw-gradient-to-position);
}
.to-cyan-900\/20{
  --tw-gradient-to: rgb(22 78 99 / 0.2) var(--tw-gradient-to-position);
}
.to-emerald-100{
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}
.to-emerald-400{
  --tw-gradient-to: #34d399 var(--tw-gradient-to-position);
}
.to-emerald-400\/20{
  --tw-gradient-to: rgb(52 211 153 / 0.2) var(--tw-gradient-to-position);
}
.to-emerald-50{
  --tw-gradient-to: #ecfdf5 var(--tw-gradient-to-position);
}
.to-emerald-50\/30{
  --tw-gradient-to: rgb(236 253 245 / 0.3) 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\/5{
  --tw-gradient-to: rgb(16 185 129 / 0.05) var(--tw-gradient-to-position);
}
.to-emerald-600{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.to-emerald-600\/10{
  --tw-gradient-to: rgb(5 150 105 / 0.1) var(--tw-gradient-to-position);
}
.to-emerald-700{
  --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}
.to-emerald-900{
  --tw-gradient-to: #064e3b var(--tw-gradient-to-position);
}
.to-fuchsia-50{
  --tw-gradient-to: #fdf4ff var(--tw-gradient-to-position);
}
.to-fuchsia-50\/30{
  --tw-gradient-to: rgb(253 244 255 / 0.3) var(--tw-gradient-to-position);
}
.to-fuchsia-500{
  --tw-gradient-to: #d946ef var(--tw-gradient-to-position);
}
.to-fuchsia-600{
  --tw-gradient-to: #c026d3 var(--tw-gradient-to-position);
}
.to-fuchsia-900{
  --tw-gradient-to: #701a75 var(--tw-gradient-to-position);
}
.to-gray-100{
  --tw-gradient-to: #f3f4f6 var(--tw-gradient-to-position);
}
.to-gray-100\/80{
  --tw-gradient-to: rgb(243 244 246 / 0.8) var(--tw-gradient-to-position);
}
.to-gray-200{
  --tw-gradient-to: #e5e7eb var(--tw-gradient-to-position);
}
.to-gray-300{
  --tw-gradient-to: #d1d5db var(--tw-gradient-to-position);
}
.to-gray-400{
  --tw-gradient-to: #9ca3af var(--tw-gradient-to-position);
}
.to-gray-50{
  --tw-gradient-to: #f9fafb var(--tw-gradient-to-position);
}
.to-gray-500{
  --tw-gradient-to: #6b7280 var(--tw-gradient-to-position);
}
.to-gray-500\/20{
  --tw-gradient-to: rgb(107 114 128 / 0.2) var(--tw-gradient-to-position);
}
.to-gray-600{
  --tw-gradient-to: #4b5563 var(--tw-gradient-to-position);
}
.to-gray-700{
  --tw-gradient-to: #374151 var(--tw-gradient-to-position);
}
.to-gray-800{
  --tw-gradient-to: #1f2937 var(--tw-gradient-to-position);
}
.to-gray-900{
  --tw-gradient-to: #111827 var(--tw-gradient-to-position);
}
.to-gray-900\/60{
  --tw-gradient-to: rgb(17 24 39 / 0.6) var(--tw-gradient-to-position);
}
.to-gray-950{
  --tw-gradient-to: #030712 var(--tw-gradient-to-position);
}
.to-green-100{
  --tw-gradient-to: #dcfce7 var(--tw-gradient-to-position);
}
.to-green-50{
  --tw-gradient-to: #f0fdf4 var(--tw-gradient-to-position);
}
.to-green-500{
  --tw-gradient-to: #22c55e var(--tw-gradient-to-position);
}
.to-green-600{
  --tw-gradient-to: #16a34a var(--tw-gradient-to-position);
}
.to-green-700{
  --tw-gradient-to: #15803d var(--tw-gradient-to-position);
}
.to-indigo-100{
  --tw-gradient-to: #e0e7ff var(--tw-gradient-to-position);
}
.to-indigo-400{
  --tw-gradient-to: #818cf8 var(--tw-gradient-to-position);
}
.to-indigo-50{
  --tw-gradient-to: #eef2ff var(--tw-gradient-to-position);
}
.to-indigo-50\/30{
  --tw-gradient-to: rgb(238 242 255 / 0.3) var(--tw-gradient-to-position);
}
.to-indigo-500{
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.to-indigo-500\/20{
  --tw-gradient-to: rgb(99 102 241 / 0.2) var(--tw-gradient-to-position);
}
.to-indigo-600{
  --tw-gradient-to: #4f46e5 var(--tw-gradient-to-position);
}
.to-indigo-600\/10{
  --tw-gradient-to: rgb(79 70 229 / 0.1) var(--tw-gradient-to-position);
}
.to-indigo-700{
  --tw-gradient-to: #4338ca var(--tw-gradient-to-position);
}
.to-indigo-900\/30{
  --tw-gradient-to: rgb(49 46 129 / 0.3) var(--tw-gradient-to-position);
}
.to-indigo-900\/40{
  --tw-gradient-to: rgb(49 46 129 / 0.4) var(--tw-gradient-to-position);
}
.to-indigo-900\/50{
  --tw-gradient-to: rgb(49 46 129 / 0.5) var(--tw-gradient-to-position);
}
.to-indigo-950{
  --tw-gradient-to: #1e1b4b var(--tw-gradient-to-position);
}
.to-lime-50{
  --tw-gradient-to: #f7fee7 var(--tw-gradient-to-position);
}
.to-lime-500{
  --tw-gradient-to: #84cc16 var(--tw-gradient-to-position);
}
.to-orange-100{
  --tw-gradient-to: #ffedd5 var(--tw-gradient-to-position);
}
.to-orange-200{
  --tw-gradient-to: #fed7aa var(--tw-gradient-to-position);
}
.to-orange-200\/40{
  --tw-gradient-to: rgb(254 215 170 / 0.4) var(--tw-gradient-to-position);
}
.to-orange-400{
  --tw-gradient-to: #fb923c var(--tw-gradient-to-position);
}
.to-orange-400\/20{
  --tw-gradient-to: rgb(251 146 60 / 0.2) var(--tw-gradient-to-position);
}
.to-orange-50{
  --tw-gradient-to: #fff7ed var(--tw-gradient-to-position);
}
.to-orange-50\/50{
  --tw-gradient-to: rgb(255 247 237 / 0.5) var(--tw-gradient-to-position);
}
.to-orange-50\/60{
  --tw-gradient-to: rgb(255 247 237 / 0.6) var(--tw-gradient-to-position);
}
.to-orange-50\/70{
  --tw-gradient-to: rgb(255 247 237 / 0.7) 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-500\/5{
  --tw-gradient-to: rgb(249 115 22 / 0.05) var(--tw-gradient-to-position);
}
.to-orange-500\/95{
  --tw-gradient-to: rgb(249 115 22 / 0.95) var(--tw-gradient-to-position);
}
.to-orange-600{
  --tw-gradient-to: #ea580c var(--tw-gradient-to-position);
}
.to-orange-600\/10{
  --tw-gradient-to: rgb(234 88 12 / 0.1) var(--tw-gradient-to-position);
}
.to-orange-900{
  --tw-gradient-to: #7c2d12 var(--tw-gradient-to-position);
}
.to-orange-900\/20{
  --tw-gradient-to: rgb(124 45 18 / 0.2) var(--tw-gradient-to-position);
}
.to-orange-900\/30{
  --tw-gradient-to: rgb(124 45 18 / 0.3) var(--tw-gradient-to-position);
}
.to-pink-100{
  --tw-gradient-to: #fce7f3 var(--tw-gradient-to-position);
}
.to-pink-200{
  --tw-gradient-to: #fbcfe8 var(--tw-gradient-to-position);
}
.to-pink-300{
  --tw-gradient-to: #f9a8d4 var(--tw-gradient-to-position);
}
.to-pink-400{
  --tw-gradient-to: #f472b6 var(--tw-gradient-to-position);
}
.to-pink-400\/20{
  --tw-gradient-to: rgb(244 114 182 / 0.2) var(--tw-gradient-to-position);
}
.to-pink-400\/30{
  --tw-gradient-to: rgb(244 114 182 / 0.3) var(--tw-gradient-to-position);
}
.to-pink-50{
  --tw-gradient-to: #fdf2f8 var(--tw-gradient-to-position);
}
.to-pink-50\/30{
  --tw-gradient-to: rgb(253 242 248 / 0.3) var(--tw-gradient-to-position);
}
.to-pink-50\/50{
  --tw-gradient-to: rgb(253 242 248 / 0.5) 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\/5{
  --tw-gradient-to: rgb(236 72 153 / 0.05) var(--tw-gradient-to-position);
}
.to-pink-500\/90{
  --tw-gradient-to: rgb(236 72 153 / 0.9) var(--tw-gradient-to-position);
}
.to-pink-600{
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}
.to-pink-600\/10{
  --tw-gradient-to: rgb(219 39 119 / 0.1) 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\/80{
  --tw-gradient-to: rgb(219 39 119 / 0.8) var(--tw-gradient-to-position);
}
.to-pink-700{
  --tw-gradient-to: #be185d var(--tw-gradient-to-position);
}
.to-pink-900{
  --tw-gradient-to: #831843 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-pink-900\/40{
  --tw-gradient-to: rgb(131 24 67 / 0.4) var(--tw-gradient-to-position);
}
.to-pink-900\/50{
  --tw-gradient-to: rgb(131 24 67 / 0.5) var(--tw-gradient-to-position);
}
.to-pink-900\/60{
  --tw-gradient-to: rgb(131 24 67 / 0.6) var(--tw-gradient-to-position);
}
.to-pink-900\/80{
  --tw-gradient-to: rgb(131 24 67 / 0.8) var(--tw-gradient-to-position);
}
.to-purple-100{
  --tw-gradient-to: #f3e8ff var(--tw-gradient-to-position);
}
.to-purple-200{
  --tw-gradient-to: #e9d5ff var(--tw-gradient-to-position);
}
.to-purple-200\/20{
  --tw-gradient-to: rgb(233 213 255 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-300{
  --tw-gradient-to: #d8b4fe var(--tw-gradient-to-position);
}
.to-purple-400{
  --tw-gradient-to: #c084fc var(--tw-gradient-to-position);
}
.to-purple-50{
  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);
}
.to-purple-50\/30{
  --tw-gradient-to: rgb(250 245 255 / 0.3) var(--tw-gradient-to-position);
}
.to-purple-50\/5{
  --tw-gradient-to: rgb(250 245 255 / 0.05) var(--tw-gradient-to-position);
}
.to-purple-50\/50{
  --tw-gradient-to: rgb(250 245 255 / 0.5) 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-500\/80{
  --tw-gradient-to: rgb(168 85 247 / 0.8) var(--tw-gradient-to-position);
}
.to-purple-600{
  --tw-gradient-to: #9333ea var(--tw-gradient-to-position);
}
.to-purple-600\/10{
  --tw-gradient-to: rgb(147 51 234 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-600\/20{
  --tw-gradient-to: rgb(147 51 234 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-600\/30{
  --tw-gradient-to: rgb(147 51 234 / 0.3) var(--tw-gradient-to-position);
}
.to-purple-700{
  --tw-gradient-to: #7e22ce var(--tw-gradient-to-position);
}
.to-purple-800{
  --tw-gradient-to: #6b21a8 var(--tw-gradient-to-position);
}
.to-purple-900{
  --tw-gradient-to: #581c87 var(--tw-gradient-to-position);
}
.to-purple-900\/10{
  --tw-gradient-to: rgb(88 28 135 / 0.1) var(--tw-gradient-to-position);
}
.to-purple-900\/20{
  --tw-gradient-to: rgb(88 28 135 / 0.2) var(--tw-gradient-to-position);
}
.to-purple-900\/30{
  --tw-gradient-to: rgb(88 28 135 / 0.3) 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\/50{
  --tw-gradient-to: rgb(88 28 135 / 0.5) var(--tw-gradient-to-position);
}
.to-purple-950{
  --tw-gradient-to: #3b0764 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-100{
  --tw-gradient-to: #fee2e2 var(--tw-gradient-to-position);
}
.to-red-400{
  --tw-gradient-to: #f87171 var(--tw-gradient-to-position);
}
.to-red-50{
  --tw-gradient-to: #fef2f2 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-600{
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.to-red-600\/10{
  --tw-gradient-to: rgb(220 38 38 / 0.1) var(--tw-gradient-to-position);
}
.to-red-700{
  --tw-gradient-to: #b91c1c var(--tw-gradient-to-position);
}
.to-red-800{
  --tw-gradient-to: #991b1b var(--tw-gradient-to-position);
}
.to-rose-100{
  --tw-gradient-to: #ffe4e6 var(--tw-gradient-to-position);
}
.to-rose-400{
  --tw-gradient-to: #fb7185 var(--tw-gradient-to-position);
}
.to-rose-400\/10{
  --tw-gradient-to: rgb(251 113 133 / 0.1) var(--tw-gradient-to-position);
}
.to-rose-50{
  --tw-gradient-to: #fff1f2 var(--tw-gradient-to-position);
}
.to-rose-50\/30{
  --tw-gradient-to: rgb(255 241 242 / 0.3) var(--tw-gradient-to-position);
}
.to-rose-50\/50{
  --tw-gradient-to: rgb(255 241 242 / 0.5) var(--tw-gradient-to-position);
}
.to-rose-500{
  --tw-gradient-to: #f43f5e var(--tw-gradient-to-position);
}
.to-rose-600{
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.to-rose-600\/10{
  --tw-gradient-to: rgb(225 29 72 / 0.1) var(--tw-gradient-to-position);
}
.to-rose-700{
  --tw-gradient-to: #be123c var(--tw-gradient-to-position);
}
.to-rose-900{
  --tw-gradient-to: #881337 var(--tw-gradient-to-position);
}
.to-rose-900\/30{
  --tw-gradient-to: rgb(136 19 55 / 0.3) var(--tw-gradient-to-position);
}
.to-sky-50{
  --tw-gradient-to: #f0f9ff var(--tw-gradient-to-position);
}
.to-sky-500{
  --tw-gradient-to: #0ea5e9 var(--tw-gradient-to-position);
}
.to-sky-600{
  --tw-gradient-to: #0284c7 var(--tw-gradient-to-position);
}
.to-sky-600\/10{
  --tw-gradient-to: rgb(2 132 199 / 0.1) var(--tw-gradient-to-position);
}
.to-sky-900{
  --tw-gradient-to: #0c4a6e var(--tw-gradient-to-position);
}
.to-slate-100{
  --tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position);
}
.to-slate-50{
  --tw-gradient-to: #f8fafc var(--tw-gradient-to-position);
}
.to-slate-50\/30{
  --tw-gradient-to: rgb(248 250 252 / 0.3) 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-600\/20{
  --tw-gradient-to: rgb(71 85 105 / 0.2) var(--tw-gradient-to-position);
}
.to-slate-700{
  --tw-gradient-to: #334155 var(--tw-gradient-to-position);
}
.to-slate-800{
  --tw-gradient-to: #1e293b var(--tw-gradient-to-position);
}
.to-slate-900{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.to-slate-900\/80{
  --tw-gradient-to: rgb(15 23 42 / 0.8) var(--tw-gradient-to-position);
}
.to-slate-950{
  --tw-gradient-to: #020617 var(--tw-gradient-to-position);
}
.to-stone-50\/80{
  --tw-gradient-to: rgb(250 250 249 / 0.8) var(--tw-gradient-to-position);
}
.to-stone-800{
  --tw-gradient-to: #292524 var(--tw-gradient-to-position);
}
.to-teal-100{
  --tw-gradient-to: #ccfbf1 var(--tw-gradient-to-position);
}
.to-teal-400{
  --tw-gradient-to: #2dd4bf var(--tw-gradient-to-position);
}
.to-teal-50{
  --tw-gradient-to: #f0fdfa var(--tw-gradient-to-position);
}
.to-teal-50\/30{
  --tw-gradient-to: rgb(240 253 250 / 0.3) var(--tw-gradient-to-position);
}
.to-teal-500{
  --tw-gradient-to: #14b8a6 var(--tw-gradient-to-position);
}
.to-teal-500\/5{
  --tw-gradient-to: rgb(20 184 166 / 0.05) var(--tw-gradient-to-position);
}
.to-teal-500\/95{
  --tw-gradient-to: rgb(20 184 166 / 0.95) var(--tw-gradient-to-position);
}
.to-teal-600{
  --tw-gradient-to: #0d9488 var(--tw-gradient-to-position);
}
.to-teal-700{
  --tw-gradient-to: #0f766e var(--tw-gradient-to-position);
}
.to-teal-800{
  --tw-gradient-to: #115e59 var(--tw-gradient-to-position);
}
.to-teal-900\/30{
  --tw-gradient-to: rgb(19 78 74 / 0.3) var(--tw-gradient-to-position);
}
.to-transparent{
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.to-violet-100{
  --tw-gradient-to: #ede9fe var(--tw-gradient-to-position);
}
.to-violet-400{
  --tw-gradient-to: #a78bfa var(--tw-gradient-to-position);
}
.to-violet-50{
  --tw-gradient-to: #f5f3ff var(--tw-gradient-to-position);
}
.to-violet-500{
  --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
}
.to-violet-500\/20{
  --tw-gradient-to: rgb(139 92 246 / 0.2) var(--tw-gradient-to-position);
}
.to-violet-600{
  --tw-gradient-to: #7c3aed var(--tw-gradient-to-position);
}
.to-violet-700{
  --tw-gradient-to: #6d28d9 var(--tw-gradient-to-position);
}
.to-violet-700\/95{
  --tw-gradient-to: rgb(109 40 217 / 0.95) var(--tw-gradient-to-position);
}
.to-white{
  --tw-gradient-to: #fff var(--tw-gradient-to-position);
}
.to-yellow-100{
  --tw-gradient-to: #fef9c3 var(--tw-gradient-to-position);
}
.to-yellow-300{
  --tw-gradient-to: #fde047 var(--tw-gradient-to-position);
}
.to-yellow-400{
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}
.to-yellow-400\/30{
  --tw-gradient-to: rgb(250 204 21 / 0.3) var(--tw-gradient-to-position);
}
.to-yellow-50{
  --tw-gradient-to: #fefce8 var(--tw-gradient-to-position);
}
.to-yellow-500{
  --tw-gradient-to: #eab308 var(--tw-gradient-to-position);
}
.to-yellow-500\/20{
  --tw-gradient-to: rgb(234 179 8 / 0.2) var(--tw-gradient-to-position);
}
.to-yellow-500\/90{
  --tw-gradient-to: rgb(234 179 8 / 0.9) 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-zinc-500{
  --tw-gradient-to: #71717a var(--tw-gradient-to-position);
}
.to-zinc-600{
  --tw-gradient-to: #52525b var(--tw-gradient-to-position);
}
.to-zinc-700{
  --tw-gradient-to: #3f3f46 var(--tw-gradient-to-position);
}
.to-zinc-900{
  --tw-gradient-to: #18181b var(--tw-gradient-to-position);
}
.bg-cover{
  background-size: cover;
}
.bg-clip-text{
  -webkit-background-clip: text;
          background-clip: text;
}
.bg-center{
  background-position: center;
}
.fill-amber-300{
  fill: #fcd34d;
}
.fill-amber-400{
  fill: #fbbf24;
}
.fill-amber-500{
  fill: #f59e0b;
}
.fill-current{
  fill: currentColor;
}
.fill-green-200{
  fill: #bbf7d0;
}
.fill-green-500{
  fill: #22c55e;
}
.fill-pink-400{
  fill: #f472b6;
}
.fill-pink-500{
  fill: #ec4899;
}
.fill-pink-600{
  fill: #db2777;
}
.fill-primary{
  fill: hsl(0 0% 9%);
  fill: hsl(var(--primary));
}
.fill-purple-300{
  fill: #d8b4fe;
}
.fill-purple-400{
  fill: #c084fc;
}
.fill-purple-500{
  fill: #a855f7;
}
.fill-purple-600{
  fill: #9333ea;
}
.fill-red-400{
  fill: #f87171;
}
.fill-red-500{
  fill: #ef4444;
}
.fill-violet-200{
  fill: #ddd6fe;
}
.fill-white{
  fill: #fff;
}
.fill-yellow-200{
  fill: #fef08a;
}
.fill-yellow-300{
  fill: #fde047;
}
.fill-yellow-400{
  fill: #facc15;
}
.fill-yellow-500{
  fill: #eab308;
}
.object-contain{
  object-fit: contain;
}
.object-cover{
  object-fit: cover;
}
.object-center{
  object-position: center;
}
.object-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-4{
  padding: 1rem;
}
.p-5{
  padding: 1.25rem;
}
.p-6{
  padding: 1.5rem;
}
.p-7{
  padding: 1.75rem;
}
.p-8{
  padding: 2rem;
}
.p-\[1px\]{
  padding: 1px;
}
.p-\[2px\]{
  padding: 2px;
}
.px-0{
  padding-left: 0px;
  padding-right: 0px;
}
.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-2{
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5{
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3{
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5{
  padding-left: 0.875rem;
  padding-right: 0.875rem;
}
.px-4{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-5{
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.px-6{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.px-7{
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}
.px-8{
  padding-left: 2rem;
  padding-right: 2rem;
}
.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-14{
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
.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-4{
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5{
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6{
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-7{
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8{
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.py-\[1px\]{
  padding-top: 1px;
  padding-bottom: 1px;
}
.pb-0{
  padding-bottom: 0px;
}
.pb-0\.5{
  padding-bottom: 0.125rem;
}
.pb-1{
  padding-bottom: 0.25rem;
}
.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-28{
  padding-bottom: 7rem;
}
.pb-3{
  padding-bottom: 0.75rem;
}
.pb-32{
  padding-bottom: 8rem;
}
.pb-4{
  padding-bottom: 1rem;
}
.pb-44{
  padding-bottom: 11rem;
}
.pb-5{
  padding-bottom: 1.25rem;
}
.pb-6{
  padding-bottom: 1.5rem;
}
.pb-8{
  padding-bottom: 2rem;
}
.pl-0{
  padding-left: 0px;
}
.pl-1{
  padding-left: 0.25rem;
}
.pl-10{
  padding-left: 2.5rem;
}
.pl-12{
  padding-left: 3rem;
}
.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-6{
  padding-left: 1.5rem;
}
.pl-7{
  padding-left: 1.75rem;
}
.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-3{
  padding-right: 0.75rem;
}
.pr-4{
  padding-right: 1rem;
}
.pr-6{
  padding-right: 1.5rem;
}
.pr-8{
  padding-right: 2rem;
}
.pr-9{
  padding-right: 2.25rem;
}
.pt-0{
  padding-top: 0px;
}
.pt-1{
  padding-top: 0.25rem;
}
.pt-1\.5{
  padding-top: 0.375rem;
}
.pt-12{
  padding-top: 3rem;
}
.pt-16{
  padding-top: 4rem;
}
.pt-2{
  padding-top: 0.5rem;
}
.pt-20{
  padding-top: 5rem;
}
.pt-3{
  padding-top: 0.75rem;
}
.pt-4{
  padding-top: 1rem;
}
.pt-5{
  padding-top: 1.25rem;
}
.pt-6{
  padding-top: 1.5rem;
}
.pt-8{
  padding-top: 2rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.align-middle{
  vertical-align: middle;
}
.font-mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.font-sans{
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.font-serif{
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}
.text-2xl{
  font-size: 1.5rem;
  line-height: 2rem;
}
.text-3xl{
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.text-4xl{
  font-size: 2.25rem;
  line-height: 2.5rem;
}
.text-5xl{
  font-size: 3rem;
  line-height: 1;
}
.text-6xl{
  font-size: 3.75rem;
  line-height: 1;
}
.text-\[0\.8rem\]{
  font-size: 0.8rem;
}
.text-\[10px\]{
  font-size: 10px;
}
.text-\[11px\]{
  font-size: 11px;
}
.text-\[12px\]{
  font-size: 12px;
}
.text-\[13px\]{
  font-size: 13px;
}
.text-\[14px\]{
  font-size: 14px;
}
.text-\[6px\]{
  font-size: 6px;
}
.text-\[8px\]{
  font-size: 8px;
}
.text-\[9px\]{
  font-size: 9px;
}
.text-base{
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg{
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl{
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs{
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-black{
  font-weight: 900;
}
.font-bold{
  font-weight: 700;
}
.font-extrabold{
  font-weight: 800;
}
.font-light{
  font-weight: 300;
}
.font-medium{
  font-weight: 500;
}
.font-normal{
  font-weight: 400;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.lowercase{
  text-transform: lowercase;
}
.capitalize{
  text-transform: capitalize;
}
.italic{
  font-style: italic;
}
.not-italic{
  font-style: normal;
}
.ordinal{
  --tw-ordinal: ordinal;
  font-feature-settings: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.leading-6{
  line-height: 1.5rem;
}
.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\.14em\]{
  letter-spacing: 0.14em;
}
.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-\[\#120826\]{
  --tw-text-opacity: 1;
  color: rgb(18 8 38 / 1);
  color: rgb(18 8 38 / var(--tw-text-opacity, 1));
}
.text-\[\#7C3AED\]{
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / 1);
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-\[\#9D174D\]{
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / 1);
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-\[\#A78BFA\]{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / 1);
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-\[\#C4B5FD\]{
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / 1);
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-\[\#C96D9E\]{
  --tw-text-opacity: 1;
  color: rgb(201 109 158 / 1);
  color: rgb(201 109 158 / var(--tw-text-opacity, 1));
}
.text-\[\#E879F9\]{
  --tw-text-opacity: 1;
  color: rgb(232 121 249 / 1);
  color: rgb(232 121 249 / var(--tw-text-opacity, 1));
}
.text-accent-foreground{
  color: hsl(0 0% 9%);
  color: hsl(var(--accent-foreground));
}
.text-amber-100{
  --tw-text-opacity: 1;
  color: rgb(254 243 199 / 1);
  color: rgb(254 243 199 / var(--tw-text-opacity, 1));
}
.text-amber-200{
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / 1);
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.text-amber-200\/70{
  color: rgb(253 230 138 / 0.7);
}
.text-amber-300{
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / 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-300\/90{
  color: rgb(252 211 77 / 0.9);
}
.text-amber-400{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / 1);
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.text-amber-400\/50{
  color: rgb(251 191 36 / 0.5);
}
.text-amber-400\/60{
  color: rgb(251 191 36 / 0.6);
}
.text-amber-400\/70{
  color: rgb(251 191 36 / 0.7);
}
.text-amber-400\/80{
  color: rgb(251 191 36 / 0.8);
}
.text-amber-400\/90{
  color: rgb(251 191 36 / 0.9);
}
.text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / 1);
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.text-amber-600{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / 1);
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.text-amber-600\/70{
  color: rgb(217 119 6 / 0.7);
}
.text-amber-600\/80{
  color: rgb(217 119 6 / 0.8);
}
.text-amber-700{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / 1);
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.text-amber-800{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / 1);
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.text-amber-900{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / 1);
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.text-blue-100{
  --tw-text-opacity: 1;
  color: rgb(219 234 254 / 1);
  color: rgb(219 234 254 / var(--tw-text-opacity, 1));
}
.text-blue-200{
  --tw-text-opacity: 1;
  color: rgb(191 219 254 / 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 / 1);
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.text-blue-400{
  --tw-text-opacity: 1;
  color: rgb(96 165 250 / 1);
  color: rgb(96 165 250 / var(--tw-text-opacity, 1));
}
.text-blue-400\/80{
  color: rgb(96 165 250 / 0.8);
}
.text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / 1);
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / 1);
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-blue-700{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / 1);
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.text-blue-800{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / 1);
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.text-blue-900{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / 1);
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.text-card-foreground{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--card-foreground));
}
.text-current{
  color: currentColor;
}
.text-cyan-300{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / 1);
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.text-cyan-300\/80{
  color: rgb(103 232 249 / 0.8);
}
.text-cyan-400{
  --tw-text-opacity: 1;
  color: rgb(34 211 238 / 1);
  color: rgb(34 211 238 / var(--tw-text-opacity, 1));
}
.text-cyan-400\/70{
  color: rgb(34 211 238 / 0.7);
}
.text-cyan-500{
  --tw-text-opacity: 1;
  color: rgb(6 182 212 / 1);
  color: rgb(6 182 212 / var(--tw-text-opacity, 1));
}
.text-cyan-600{
  --tw-text-opacity: 1;
  color: rgb(8 145 178 / 1);
  color: rgb(8 145 178 / var(--tw-text-opacity, 1));
}
.text-cyan-700{
  --tw-text-opacity: 1;
  color: rgb(14 116 144 / 1);
  color: rgb(14 116 144 / var(--tw-text-opacity, 1));
}
.text-destructive{
  color: hsl(0 84.2% 60.2%);
  color: hsl(var(--destructive));
}
.text-destructive-foreground{
  color: hsl(0 0% 98%);
  color: hsl(var(--destructive-foreground));
}
.text-emerald-100{
  --tw-text-opacity: 1;
  color: rgb(209 250 229 / 1);
  color: rgb(209 250 229 / var(--tw-text-opacity, 1));
}
.text-emerald-200{
  --tw-text-opacity: 1;
  color: rgb(167 243 208 / 1);
  color: rgb(167 243 208 / var(--tw-text-opacity, 1));
}
.text-emerald-200\/80{
  color: rgb(167 243 208 / 0.8);
}
.text-emerald-300{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / 1);
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.text-emerald-300\/70{
  color: rgb(110 231 183 / 0.7);
}
.text-emerald-400{
  --tw-text-opacity: 1;
  color: rgb(52 211 153 / 1);
  color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.text-emerald-400\/70{
  color: rgb(52 211 153 / 0.7);
}
.text-emerald-500{
  --tw-text-opacity: 1;
  color: rgb(16 185 129 / 1);
  color: rgb(16 185 129 / var(--tw-text-opacity, 1));
}
.text-emerald-600{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / 1);
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.text-emerald-700{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / 1);
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.text-emerald-800{
  --tw-text-opacity: 1;
  color: rgb(6 95 70 / 1);
  color: rgb(6 95 70 / var(--tw-text-opacity, 1));
}
.text-emerald-900{
  --tw-text-opacity: 1;
  color: rgb(6 78 59 / 1);
  color: rgb(6 78 59 / var(--tw-text-opacity, 1));
}
.text-foreground{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--foreground));
}
.text-foreground\/50{
  color: hsl(0 0% 3.9% / 0.5);
  color: hsl(var(--foreground) / 0.5);
}
.text-fuchsia-500{
  --tw-text-opacity: 1;
  color: rgb(217 70 239 / 1);
  color: rgb(217 70 239 / var(--tw-text-opacity, 1));
}
.text-gray-100{
  --tw-text-opacity: 1;
  color: rgb(243 244 246 / 1);
  color: rgb(243 244 246 / var(--tw-text-opacity, 1));
}
.text-gray-200{
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / 1);
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.text-gray-300{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / 1);
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.text-gray-300\/80{
  color: rgb(209 213 219 / 0.8);
}
.text-gray-400{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / 1);
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.text-gray-400\/50{
  color: rgb(156 163 175 / 0.5);
}
.text-gray-500{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / 1);
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.text-gray-600{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / 1);
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.text-gray-700{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / 1);
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-gray-800{
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / 1);
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / 1);
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.text-green-100{
  --tw-text-opacity: 1;
  color: rgb(220 252 231 / 1);
  color: rgb(220 252 231 / var(--tw-text-opacity, 1));
}
.text-green-200{
  --tw-text-opacity: 1;
  color: rgb(187 247 208 / 1);
  color: rgb(187 247 208 / var(--tw-text-opacity, 1));
}
.text-green-300{
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / 1);
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.text-green-400{
  --tw-text-opacity: 1;
  color: rgb(74 222 128 / 1);
  color: rgb(74 222 128 / var(--tw-text-opacity, 1));
}
.text-green-400\/70{
  color: rgb(74 222 128 / 0.7);
}
.text-green-500{
  --tw-text-opacity: 1;
  color: rgb(34 197 94 / 1);
  color: rgb(34 197 94 / var(--tw-text-opacity, 1));
}
.text-green-600{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / 1);
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / 1);
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / 1);
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-green-900{
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / 1);
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.text-indigo-300{
  --tw-text-opacity: 1;
  color: rgb(165 180 252 / 1);
  color: rgb(165 180 252 / var(--tw-text-opacity, 1));
}
.text-indigo-400{
  --tw-text-opacity: 1;
  color: rgb(129 140 248 / 1);
  color: rgb(129 140 248 / var(--tw-text-opacity, 1));
}
.text-indigo-500{
  --tw-text-opacity: 1;
  color: rgb(99 102 241 / 1);
  color: rgb(99 102 241 / var(--tw-text-opacity, 1));
}
.text-indigo-600{
  --tw-text-opacity: 1;
  color: rgb(79 70 229 / 1);
  color: rgb(79 70 229 / var(--tw-text-opacity, 1));
}
.text-indigo-700{
  --tw-text-opacity: 1;
  color: rgb(67 56 202 / 1);
  color: rgb(67 56 202 / var(--tw-text-opacity, 1));
}
.text-indigo-900{
  --tw-text-opacity: 1;
  color: rgb(49 46 129 / 1);
  color: rgb(49 46 129 / var(--tw-text-opacity, 1));
}
.text-input{
  color: hsl(0 0% 89.8%);
  color: hsl(var(--input));
}
.text-lime-500{
  --tw-text-opacity: 1;
  color: rgb(132 204 22 / 1);
  color: rgb(132 204 22 / var(--tw-text-opacity, 1));
}
.text-lime-600{
  --tw-text-opacity: 1;
  color: rgb(101 163 13 / 1);
  color: rgb(101 163 13 / var(--tw-text-opacity, 1));
}
.text-lime-700{
  --tw-text-opacity: 1;
  color: rgb(77 124 15 / 1);
  color: rgb(77 124 15 / var(--tw-text-opacity, 1));
}
.text-lime-900{
  --tw-text-opacity: 1;
  color: rgb(54 83 20 / 1);
  color: rgb(54 83 20 / var(--tw-text-opacity, 1));
}
.text-muted-foreground{
  color: hsl(0 0% 45.1%);
  color: hsl(var(--muted-foreground));
}
.text-orange-100{
  --tw-text-opacity: 1;
  color: rgb(255 237 213 / 1);
  color: rgb(255 237 213 / var(--tw-text-opacity, 1));
}
.text-orange-200{
  --tw-text-opacity: 1;
  color: rgb(254 215 170 / 1);
  color: rgb(254 215 170 / var(--tw-text-opacity, 1));
}
.text-orange-300{
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / 1);
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.text-orange-400{
  --tw-text-opacity: 1;
  color: rgb(251 146 60 / 1);
  color: rgb(251 146 60 / var(--tw-text-opacity, 1));
}
.text-orange-500{
  --tw-text-opacity: 1;
  color: rgb(249 115 22 / 1);
  color: rgb(249 115 22 / var(--tw-text-opacity, 1));
}
.text-orange-600{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / 1);
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.text-orange-700{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / 1);
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.text-orange-800{
  --tw-text-opacity: 1;
  color: rgb(154 52 18 / 1);
  color: rgb(154 52 18 / var(--tw-text-opacity, 1));
}
.text-pink-100{
  --tw-text-opacity: 1;
  color: rgb(252 231 243 / 1);
  color: rgb(252 231 243 / var(--tw-text-opacity, 1));
}
.text-pink-200\/40{
  color: rgb(251 207 232 / 0.4);
}
.text-pink-300{
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / 1);
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.text-pink-300\/70{
  color: rgb(249 168 212 / 0.7);
}
.text-pink-300\/80{
  color: rgb(249 168 212 / 0.8);
}
.text-pink-400{
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / 1);
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.text-pink-400\/50{
  color: rgb(244 114 182 / 0.5);
}
.text-pink-400\/60{
  color: rgb(244 114 182 / 0.6);
}
.text-pink-400\/70{
  color: rgb(244 114 182 / 0.7);
}
.text-pink-400\/80{
  color: rgb(244 114 182 / 0.8);
}
.text-pink-500{
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / 1);
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.text-pink-600{
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / 1);
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-pink-700{
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / 1);
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.text-pink-800{
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / 1);
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.text-pink-900{
  --tw-text-opacity: 1;
  color: rgb(131 24 67 / 1);
  color: rgb(131 24 67 / var(--tw-text-opacity, 1));
}
.text-popover-foreground{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--popover-foreground));
}
.text-primary{
  color: hsl(0 0% 9%);
  color: hsl(var(--primary));
}
.text-primary-foreground{
  color: hsl(0 0% 98%);
  color: hsl(var(--primary-foreground));
}
.text-purple-100{
  --tw-text-opacity: 1;
  color: rgb(243 232 255 / 1);
  color: rgb(243 232 255 / var(--tw-text-opacity, 1));
}
.text-purple-200{
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / 1);
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.text-purple-200\/80{
  color: rgb(233 213 255 / 0.8);
}
.text-purple-300{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / 1);
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.text-purple-300\/60{
  color: rgb(216 180 254 / 0.6);
}
.text-purple-300\/70{
  color: rgb(216 180 254 / 0.7);
}
.text-purple-300\/80{
  color: rgb(216 180 254 / 0.8);
}
.text-purple-400{
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / 1);
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.text-purple-400\/30{
  color: rgb(192 132 252 / 0.3);
}
.text-purple-400\/50{
  color: rgb(192 132 252 / 0.5);
}
.text-purple-400\/60{
  color: rgb(192 132 252 / 0.6);
}
.text-purple-400\/70{
  color: rgb(192 132 252 / 0.7);
}
.text-purple-500{
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / 1);
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.text-purple-500\/80{
  color: rgb(168 85 247 / 0.8);
}
.text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / 1);
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.text-purple-600\/80{
  color: rgb(147 51 234 / 0.8);
}
.text-purple-700{
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / 1);
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.text-purple-800{
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / 1);
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.text-purple-900{
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / 1);
  color: rgb(88 28 135 / var(--tw-text-opacity, 1));
}
.text-red-100{
  --tw-text-opacity: 1;
  color: rgb(254 226 226 / 1);
  color: rgb(254 226 226 / var(--tw-text-opacity, 1));
}
.text-red-200{
  --tw-text-opacity: 1;
  color: rgb(254 202 202 / 1);
  color: rgb(254 202 202 / var(--tw-text-opacity, 1));
}
.text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / 1);
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.text-red-400{
  --tw-text-opacity: 1;
  color: rgb(248 113 113 / 1);
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.text-red-500{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / 1);
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-500\/50{
  color: rgb(239 68 68 / 0.5);
}
.text-red-600{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / 1);
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-700{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / 1);
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.text-red-800{
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / 1);
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-red-900{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / 1);
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.text-rose-300{
  --tw-text-opacity: 1;
  color: rgb(253 164 175 / 1);
  color: rgb(253 164 175 / var(--tw-text-opacity, 1));
}
.text-rose-400{
  --tw-text-opacity: 1;
  color: rgb(251 113 133 / 1);
  color: rgb(251 113 133 / var(--tw-text-opacity, 1));
}
.text-rose-500{
  --tw-text-opacity: 1;
  color: rgb(244 63 94 / 1);
  color: rgb(244 63 94 / var(--tw-text-opacity, 1));
}
.text-rose-600{
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / 1);
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.text-rose-700{
  --tw-text-opacity: 1;
  color: rgb(190 18 60 / 1);
  color: rgb(190 18 60 / var(--tw-text-opacity, 1));
}
.text-rose-900{
  --tw-text-opacity: 1;
  color: rgb(136 19 55 / 1);
  color: rgb(136 19 55 / var(--tw-text-opacity, 1));
}
.text-secondary-foreground{
  color: hsl(0 0% 9%);
  color: hsl(var(--secondary-foreground));
}
.text-sky-500{
  --tw-text-opacity: 1;
  color: rgb(14 165 233 / 1);
  color: rgb(14 165 233 / var(--tw-text-opacity, 1));
}
.text-sky-600{
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / 1);
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-sky-700{
  --tw-text-opacity: 1;
  color: rgb(3 105 161 / 1);
  color: rgb(3 105 161 / var(--tw-text-opacity, 1));
}
.text-sky-900{
  --tw-text-opacity: 1;
  color: rgb(12 74 110 / 1);
  color: rgb(12 74 110 / var(--tw-text-opacity, 1));
}
.text-slate-100{
  --tw-text-opacity: 1;
  color: rgb(241 245 249 / 1);
  color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.text-slate-200{
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / 1);
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.text-slate-300{
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / 1);
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / 1);
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / 1);
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600{
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / 1);
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-700{
  --tw-text-opacity: 1;
  color: rgb(51 65 85 / 1);
  color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.text-slate-800{
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / 1);
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}
.text-slate-900{
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / 1);
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-stone-300{
  --tw-text-opacity: 1;
  color: rgb(214 211 209 / 1);
  color: rgb(214 211 209 / var(--tw-text-opacity, 1));
}
.text-stone-400{
  --tw-text-opacity: 1;
  color: rgb(168 162 158 / 1);
  color: rgb(168 162 158 / var(--tw-text-opacity, 1));
}
.text-stone-400\/80{
  color: rgb(168 162 158 / 0.8);
}
.text-stone-500{
  --tw-text-opacity: 1;
  color: rgb(120 113 108 / 1);
  color: rgb(120 113 108 / var(--tw-text-opacity, 1));
}
.text-stone-600{
  --tw-text-opacity: 1;
  color: rgb(87 83 78 / 1);
  color: rgb(87 83 78 / var(--tw-text-opacity, 1));
}
.text-stone-700{
  --tw-text-opacity: 1;
  color: rgb(68 64 60 / 1);
  color: rgb(68 64 60 / var(--tw-text-opacity, 1));
}
.text-stone-800{
  --tw-text-opacity: 1;
  color: rgb(41 37 36 / 1);
  color: rgb(41 37 36 / var(--tw-text-opacity, 1));
}
.text-stone-900{
  --tw-text-opacity: 1;
  color: rgb(28 25 23 / 1);
  color: rgb(28 25 23 / var(--tw-text-opacity, 1));
}
.text-teal-100{
  --tw-text-opacity: 1;
  color: rgb(204 251 241 / 1);
  color: rgb(204 251 241 / var(--tw-text-opacity, 1));
}
.text-teal-200{
  --tw-text-opacity: 1;
  color: rgb(153 246 228 / 1);
  color: rgb(153 246 228 / var(--tw-text-opacity, 1));
}
.text-teal-300{
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / 1);
  color: rgb(94 234 212 / var(--tw-text-opacity, 1));
}
.text-teal-400{
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / 1);
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}
.text-teal-500{
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / 1);
  color: rgb(20 184 166 / var(--tw-text-opacity, 1));
}
.text-teal-600{
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / 1);
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.text-teal-700{
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / 1);
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}
.text-teal-800{
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / 1);
  color: rgb(17 94 89 / var(--tw-text-opacity, 1));
}
.text-transparent{
  color: transparent;
}
.text-violet-100{
  --tw-text-opacity: 1;
  color: rgb(237 233 254 / 1);
  color: rgb(237 233 254 / var(--tw-text-opacity, 1));
}
.text-violet-200{
  --tw-text-opacity: 1;
  color: rgb(221 214 254 / 1);
  color: rgb(221 214 254 / var(--tw-text-opacity, 1));
}
.text-violet-300{
  --tw-text-opacity: 1;
  color: rgb(196 181 253 / 1);
  color: rgb(196 181 253 / var(--tw-text-opacity, 1));
}
.text-violet-400{
  --tw-text-opacity: 1;
  color: rgb(167 139 250 / 1);
  color: rgb(167 139 250 / var(--tw-text-opacity, 1));
}
.text-violet-400\/70{
  color: rgb(167 139 250 / 0.7);
}
.text-violet-500{
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / 1);
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}
.text-violet-600{
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / 1);
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.text-violet-700{
  --tw-text-opacity: 1;
  color: rgb(109 40 217 / 1);
  color: rgb(109 40 217 / var(--tw-text-opacity, 1));
}
.text-violet-800{
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / 1);
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/10{
  color: rgb(255 255 255 / 0.1);
}
.text-white\/20{
  color: rgb(255 255 255 / 0.2);
}
.text-white\/30{
  color: rgb(255 255 255 / 0.3);
}
.text-white\/40{
  color: rgb(255 255 255 / 0.4);
}
.text-white\/5{
  color: rgb(255 255 255 / 0.05);
}
.text-white\/50{
  color: rgb(255 255 255 / 0.5);
}
.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 / 1);
  color: rgb(254 249 195 / var(--tw-text-opacity, 1));
}
.text-yellow-200{
  --tw-text-opacity: 1;
  color: rgb(254 240 138 / 1);
  color: rgb(254 240 138 / var(--tw-text-opacity, 1));
}
.text-yellow-200\/50{
  color: rgb(254 240 138 / 0.5);
}
.text-yellow-300{
  --tw-text-opacity: 1;
  color: rgb(253 224 71 / 1);
  color: rgb(253 224 71 / var(--tw-text-opacity, 1));
}
.text-yellow-400{
  --tw-text-opacity: 1;
  color: rgb(250 204 21 / 1);
  color: rgb(250 204 21 / var(--tw-text-opacity, 1));
}
.text-yellow-500{
  --tw-text-opacity: 1;
  color: rgb(234 179 8 / 1);
  color: rgb(234 179 8 / var(--tw-text-opacity, 1));
}
.text-yellow-600{
  --tw-text-opacity: 1;
  color: rgb(202 138 4 / 1);
  color: rgb(202 138 4 / var(--tw-text-opacity, 1));
}
.text-yellow-700{
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / 1);
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.text-yellow-800{
  --tw-text-opacity: 1;
  color: rgb(133 77 14 / 1);
  color: rgb(133 77 14 / var(--tw-text-opacity, 1));
}
.text-yellow-900{
  --tw-text-opacity: 1;
  color: rgb(113 63 18 / 1);
  color: rgb(113 63 18 / var(--tw-text-opacity, 1));
}
.text-zinc-300{
  --tw-text-opacity: 1;
  color: rgb(212 212 216 / 1);
  color: rgb(212 212 216 / var(--tw-text-opacity, 1));
}
.text-zinc-500{
  --tw-text-opacity: 1;
  color: rgb(113 113 122 / 1);
  color: rgb(113 113 122 / var(--tw-text-opacity, 1));
}
.underline{
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.line-through{
  -webkit-text-decoration-line: line-through;
          text-decoration-line: line-through;
}
.underline-offset-1{
  text-underline-offset: 1px;
}
.underline-offset-2{
  text-underline-offset: 2px;
}
.underline-offset-4{
  text-underline-offset: 4px;
}
.placeholder-gray-400::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(156 163 175 / 1);
  color: rgb(156 163 175 / var(--tw-placeholder-opacity, 1));
}
.placeholder-gray-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(107 114 128 / 1);
  color: rgb(107 114 128 / var(--tw-placeholder-opacity, 1));
}
.placeholder-purple-300\/50::placeholder{
  color: rgb(216 180 254 / 0.5);
}
.placeholder-slate-400::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(148 163 184 / 1);
  color: rgb(148 163 184 / var(--tw-placeholder-opacity, 1));
}
.placeholder-slate-500::placeholder{
  --tw-placeholder-opacity: 1;
  color: rgb(100 116 139 / 1);
  color: rgb(100 116 139 / var(--tw-placeholder-opacity, 1));
}
.placeholder-white\/30::placeholder{
  color: rgb(255 255 255 / 0.3);
}
.placeholder-white\/40::placeholder{
  color: rgb(255 255 255 / 0.4);
}
.placeholder-white\/50::placeholder{
  color: rgb(255 255 255 / 0.5);
}
.opacity-0{
  opacity: 0;
}
.opacity-10{
  opacity: 0.1;
}
.opacity-100{
  opacity: 1;
}
.opacity-15{
  opacity: 0.15;
}
.opacity-20{
  opacity: 0.2;
}
.opacity-25{
  opacity: 0.25;
}
.opacity-30{
  opacity: 0.3;
}
.opacity-40{
  opacity: 0.4;
}
.opacity-50{
  opacity: 0.5;
}
.opacity-60{
  opacity: 0.6;
}
.opacity-70{
  opacity: 0.7;
}
.opacity-75{
  opacity: 0.75;
}
.opacity-80{
  opacity: 0.8;
}
.opacity-90{
  opacity: 0.9;
}
.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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_-4px_20px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{
  --tw-shadow: 0 -4px 20px rgba(0,0,0,0.08);
  --tw-shadow-colored: 0 -4px 20px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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\(236\2c 72\2c 153\2c 0\.3\)\]{
  --tw-shadow: 0 0 20px rgba(236,72,153,0.3);
  --tw-shadow-colored: 0 0 20px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_60px_rgba\(139\2c 92\2c 246\2c 0\.15\)\]{
  --tw-shadow: 0 20px 60px rgba(139,92,246,0.15);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_60px_rgba\(20\2c 184\2c 166\2c 0\.15\)\]{
  --tw-shadow: 0 20px 60px rgba(20,184,166,0.15);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_60px_rgba\(244\2c 114\2c 182\2c 0\.15\)\]{
  --tw-shadow: 0 20px 60px rgba(244,114,182,0.15);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[0_20px_60px_rgba\(245\2c 158\2c 11\2c 0\.15\)\]{
  --tw-shadow: 0 20px 60px rgba(245,158,11,0.15);
  --tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-\[inset_0_0_20px_rgba\(236\2c 72\2c 153\2c 0\.05\)\]{
  --tw-shadow: inset 0 0 20px rgba(236,72,153,0.05);
  --tw-shadow-colored: inset 0 0 20px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow-amber-100\/50{
  --tw-shadow-color: rgb(254 243 199 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-200{
  --tw-shadow-color: #fde68a;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-400\/30{
  --tw-shadow-color: rgb(251 191 36 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-500\/10{
  --tw-shadow-color: rgb(245 158 11 / 0.1);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-500\/25{
  --tw-shadow-color: rgb(245 158 11 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-amber-500\/30{
  --tw-shadow-color: rgb(245 158 11 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-black\/5{
  --tw-shadow-color: rgb(0 0 0 / 0.05);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-blue-400{
  --tw-shadow-color: #60a5fa;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-500\/25{
  --tw-shadow-color: rgb(16 185 129 / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-emerald-500\/40{
  --tw-shadow-color: rgb(16 185 129 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-200\/50{
  --tw-shadow-color: rgb(229 231 235 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-gray-300{
  --tw-shadow-color: #d1d5db;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-green-200{
  --tw-shadow-color: #bbf7d0;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-green-300{
  --tw-shadow-color: #86efac;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-orange-500\/30{
  --tw-shadow-color: rgb(249 115 22 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-pink-500\/20{
  --tw-shadow-color: rgb(236 72 153 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-pink-500\/25{
  --tw-shadow-color: rgb(236 72 153 / 0.25);
  --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-pink-500\/40{
  --tw-shadow-color: rgb(236 72 153 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-100{
  --tw-shadow-color: #f3e8ff;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-200{
  --tw-shadow-color: #e9d5ff;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-200\/50{
  --tw-shadow-color: rgb(233 213 255 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-500{
  --tw-shadow-color: #a855f7;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-500\/20{
  --tw-shadow-color: rgb(168 85 247 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-purple-500\/25{
  --tw-shadow-color: rgb(168 85 247 / 0.25);
  --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-500\/50{
  --tw-shadow-color: rgb(168 85 247 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-red-500\/50{
  --tw-shadow-color: rgb(239 68 68 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-slate-200{
  --tw-shadow-color: #e2e8f0;
  --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-200{
  --tw-shadow-color: #fef08a;
  --tw-shadow: var(--tw-shadow-colored);
}
.shadow-yellow-500{
  --tw-shadow-color: #eab308;
  --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), 0 0 #0000;
  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), 0 0 #0000;
  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), 0 0 #0000;
  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), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[\#C96D9E\]{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(201 109 158 / var(--tw-ring-opacity, 1));
}
.ring-amber-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity, 1));
}
.ring-amber-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1));
}
.ring-amber-400\/30{
  --tw-ring-color: rgb(251 191 36 / 0.3);
}
.ring-amber-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1));
}
.ring-amber-500\/20{
  --tw-ring-color: rgb(245 158 11 / 0.2);
}
.ring-amber-500\/30{
  --tw-ring-color: rgb(245 158 11 / 0.3);
}
.ring-blue-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(96 165 250 / var(--tw-ring-opacity, 1));
}
.ring-blue-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.ring-cyan-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 211 238 / var(--tw-ring-opacity, 1));
}
.ring-cyan-400\/30{
  --tw-ring-color: rgb(34 211 238 / 0.3);
}
.ring-gray-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
}
.ring-green-100{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(220 252 231 / var(--tw-ring-opacity, 1));
}
.ring-green-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity, 1));
}
.ring-green-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(134 239 172 / var(--tw-ring-opacity, 1));
}
.ring-green-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1));
}
.ring-green-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}
.ring-orange-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 146 60 / var(--tw-ring-opacity, 1));
}
.ring-orange-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1));
}
.ring-pink-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(244 114 182 / var(--tw-ring-opacity, 1));
}
.ring-pink-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(236 72 153 / var(--tw-ring-opacity, 1));
}
.ring-pink-500\/20{
  --tw-ring-color: rgb(236 72 153 / 0.2);
}
.ring-purple-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(233 213 255 / var(--tw-ring-opacity, 1));
}
.ring-purple-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));
}
.ring-purple-400{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity, 1));
}
.ring-purple-400\/30{
  --tw-ring-color: rgb(192 132 252 / 0.3);
}
.ring-purple-400\/50{
  --tw-ring-color: rgb(192 132 252 / 0.5);
}
.ring-purple-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}
.ring-purple-500\/20{
  --tw-ring-color: rgb(168 85 247 / 0.2);
}
.ring-purple-500\/30{
  --tw-ring-color: rgb(168 85 247 / 0.3);
}
.ring-purple-500\/50{
  --tw-ring-color: rgb(168 85 247 / 0.5);
}
.ring-red-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 202 202 / var(--tw-ring-opacity, 1));
}
.ring-red-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1));
}
.ring-ring{
  --tw-ring-color: hsl(var(--ring));
}
.ring-rose-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity, 1));
}
.ring-teal-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(94 234 212 / var(--tw-ring-opacity, 1));
}
.ring-violet-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(196 181 253 / var(--tw-ring-opacity, 1));
}
.ring-violet-500{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(139 92 246 / var(--tw-ring-opacity, 1));
}
.ring-white{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity, 1));
}
.ring-white\/10{
  --tw-ring-color: rgb(255 255 255 / 0.1);
}
.ring-white\/20{
  --tw-ring-color: rgb(255 255 255 / 0.2);
}
.ring-yellow-200{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(254 240 138 / var(--tw-ring-opacity, 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-gray-900{
  --tw-ring-offset-color: #111827;
}
.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-\[150px\]{
  --tw-blur: blur(150px);
  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-\[200px\]{
  --tw-blur: blur(200px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-\[80px\]{
  --tw-blur: blur(80px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.blur-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);
}
.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-\[0_1px_2px_rgba\(0\2c 0\2c 0\2c 0\.4\)\]{
  --tw-drop-shadow: drop-shadow(0 1px 2px rgba(0,0,0,0.4));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-\[0_2px_4px_rgba\(0\2c 0\2c 0\2c 0\.5\)\]{
  --tw-drop-shadow: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-lg{
  --tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-md{
  --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.drop-shadow-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);
}
.grayscale-\[30\%\]{
  --tw-grayscale: grayscale(30%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.backdrop-blur{
  --tw-backdrop-blur: blur(8px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-lg{
  --tw-backdrop-blur: blur(16px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-md{
  --tw-backdrop-blur: blur(12px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-sm{
  --tw-backdrop-blur: blur(4px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-blur-xl{
  --tw-backdrop-blur: blur(24px);
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.backdrop-filter{
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}
.transition{
  transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-all{
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors{
  transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  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-300{
  transition-delay: 300ms;
}
.delay-500{
  transition-delay: 500ms;
}
.duration-100{
  transition-duration: 100ms;
}
.duration-1000{
  transition-duration: 1000ms;
}
.duration-150{
  transition-duration: 150ms;
}
.duration-200{
  transition-duration: 200ms;
}
.duration-300{
  transition-duration: 300ms;
}
.duration-500{
  transition-duration: 500ms;
}
.duration-700{
  transition-duration: 700ms;
}
.ease-in-out{
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out{
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
@keyframes enter{

  from{
    opacity: 1;
    opacity: var(--tw-enter-opacity, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);
    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: 1;
    opacity: var(--tw-exit-opacity, 1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotate(0);
    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-50{
  --tw-enter-opacity: 0.5;
}
.zoom-in-95{
  --tw-enter-scale: .95;
}
.slide-in-from-bottom{
  --tw-enter-translate-y: 100%;
}
.slide-in-from-bottom-2{
  --tw-enter-translate-y: 0.5rem;
}
.slide-in-from-bottom-4{
  --tw-enter-translate-y: 1rem;
}
.slide-in-from-right-4{
  --tw-enter-translate-x: 1rem;
}
.slide-in-from-top-2{
  --tw-enter-translate-y: -0.5rem;
}
.slide-in-from-top-4{
  --tw-enter-translate-y: -1rem;
}
.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-300{
  animation-delay: 300ms;
}
.delay-500{
  animation-delay: 500ms;
}
.ease-in-out{
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.ease-out{
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.running{
  animation-play-state: running;
}
.paused{
  animation-play-state: paused;
}
.\[animation-delay\:0ms\]{
  animation-delay: 0ms;
}
.\[animation-delay\:150ms\]{
  animation-delay: 150ms;
}
.\[animation-delay\:300ms\]{
  animation-delay: 300ms;
}

/* Import Mira Premium styles including Learn OS */

/* Import iOS Gold Standard Premium styles for Celebrate & Dine */

/* Import Mobile Design System - iOS quality fonts & bottom sheets */

/* ============================================
   GUIDED PATHS GRID RESPONSIVE
   ============================================ */
.guided-paths-grid {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 900px) {
  .guided-paths-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 560px) {
  .guided-paths-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================
   SERVICE GRID RESPONSIVE (Celebrate Concierge)
   ============================================ */
.service-grid-responsive {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1024px) {
  .service-grid-responsive {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .service-grid-responsive {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .service-grid-responsive {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px !important;
  }
}

/* ============================================
   DRAWER BOTTOM BAR ANIMATIONS (Celebrate Pillars)
   ============================================ */

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

@keyframes badge-pop {
  0%   { transform: scale(0); }
  70%  { transform: scale(1.2); }
  100% { transform: scale(1.0); }
}

.mira-pulse { animation: mira-pulse 2s ease-in-out infinite; }
.badge-pop  { animation: badge-pop 200ms ease forwards; }

/* ============================================
   UTILITY CLASSES
   ============================================ */

/* Hide scrollbar but allow scrolling */
.hide-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;  /* Chrome, Safari and Opera */
}

/* ============================================
   MOBILE PWA STABILITY - CRITICAL FOR SAFARI
   ============================================ */

/* Use dvh/svh for proper mobile viewport */
:root {
  --app-height: 100dvh;
  --safe-area-top: env(safe-area-inset-top, 0px);
  --safe-area-bottom: env(safe-area-inset-bottom, 0px);
  --safe-area-left: env(safe-area-inset-left, 0px);
  --safe-area-right: env(safe-area-inset-right, 0px);
}

/* Fallback for older browsers */
@supports not (height: 100dvh) {
  :root {
    --app-height: 100svh;
  }
}

@supports not (height: 100svh) {
  :root {
    --app-height: 100vh;
  }
}

/* Prevent ALL horizontal scrolling and wobble */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  width: 100%;
  max-width: 100vw;
  /* NOTE: DO NOT add overflow-x:hidden here — it breaks desktop touch-scroll.
     Body handles horizontal overflow containment. */
  overscroll-behavior: none;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: auto; /* Prevent smooth scroll on navigation */
}

body {
  min-height: 100%;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
  position: relative;
  overscroll-behavior: none;
  -webkit-overflow-scrolling: touch;
  margin: 0;
  padding: 0;
  touch-action: pan-y;
  /* Better mobile font scaling */
  font-size: 16px;
}

/* Mobile font scaling - ensure readability on small screens */
@media (max-width: 640px) {
  body {
    font-size: 15px;
  }
  
  /* Slightly larger touch targets for buttons */
  button, a {
    min-height: 44px;
  }
  
  /* Ensure headings are readable */
  h1, .text-3xl, .text-4xl {
    font-size: clamp(1.5rem, 5vw, 2.25rem) !important;
  }
  
  h2, .text-2xl {
    font-size: clamp(1.25rem, 4vw, 1.75rem) !important;
  }
  
  h3, .text-xl {
    font-size: clamp(1.1rem, 3.5vw, 1.5rem) !important;
  }
  
  /* Ensure body text is readable */
  p, span, div {
    font-size: max(0.875rem, 14px);
  }
  
  /* Prevent text from being too small */
  .text-xs {
    font-size: 0.75rem !important;
    min-font-size: 12px;
  }
  
  .text-sm {
    font-size: 0.875rem !important;
  }
}

/* Root container for proper PWA layout */
#root {
  min-height: 100%;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
  position: relative;
}

/* ============================================
   iOS SAFARI INPUT FIX - PREVENTS ZOOM
   ============================================ */
input[type="text"],
input[type="search"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  font-size: 16px !important; /* Prevents iOS zoom on focus */
  touch-action: manipulation;
}

/* Ensure inputs get proper styling back */
input:not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  background-clip: padding-box;
}

/* ============================================
   TOUCH TARGET SIZES - iOS 44px, Android 48px
   ============================================ */
button,

/* iOS fix — buttons inside pan-y scroll containers need this to fire clicks */
.mira-chat-messages button,
.mira-chat-messages a {
  -webkit-user-select: auto;
  touch-action: manipulation;
  cursor: pointer;
}

[role="button"],
a.btn,
.touchable {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -webkit-user-select: none;
  cursor: pointer;
}

/* iOS click delay fix - must be on clickable elements */
@supports (-webkit-touch-callout: none) {
  button,
  [role="button"],
  a {
    cursor: pointer;
    touch-action: manipulation;
  }
}

/* Make all form elements tappable */
@media (max-width: 768px) {
  input, button, select, textarea, a {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  
  /* Minimum touch targets */
  button:not(.compact),
  [role="button"]:not(.compact) {
    min-height: 44px;
    min-width: 44px;
  }
  
  /* Hamburger menu should be easily tappable */
  [data-testid="navbar-mobile-menu-btn"] {
    min-height: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* ============================================
   iOS SAFARI SPECIFIC TOUCH FIXES
   Critical for hamburger menu & navigation
   ============================================ */

/* Ensure hamburger menu is always clickable on iOS */
[data-testid="navbar-mobile-menu-btn"] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  position: relative;
  z-index: 100;
}

/* Prevent SVG icons from capturing touch events */
[data-testid="navbar-mobile-menu-btn"] svg,
[data-testid="navbar-mobile-menu-btn"] * {
  pointer-events: none;
}

/* iOS Safari: Ensure sticky headers don't block scrolling */
@supports (-webkit-touch-callout: none) {
  header[class*="sticky"] {
    transform: translateZ(0);
  }
  
  /* Ensure main content is scrollable */
  main, [role="main"], .main-content {
    -webkit-overflow-scrolling: touch;
    overflow-y: auto;
  }
}

/* ============================================
   SAFE AREA UTILITIES
   ============================================ */
.safe-area-top {
  padding-top: env(safe-area-inset-top, 0px);
}

.safe-area-bottom {
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.safe-area-left {
  padding-left: env(safe-area-inset-left, 0px);
}

.safe-area-right {
  padding-right: env(safe-area-inset-right, 0px);
}

.safe-area-inset {
  padding-top: env(safe-area-inset-top, 0px);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}

/* ============================================
   SCROLLBAR UTILITIES
   ============================================ */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

/* Smooth scrolling for chat */
.scroll-smooth-touch {
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  overscroll-behavior: contain;
}

/* ============================================
   PREVENT PAGE BOUNCE ON IOS
   ============================================ */
.no-bounce {
  overscroll-behavior: none;
  -webkit-overflow-scrolling: auto;
}

/* Google Fonts for Pet Life OS */

/* ============================================
   PET LIFE OS - DESIGN SYSTEM
   World's First Pet Operating System
   Mobile-First Masterpiece
   ============================================ */

:root {
  /* Primary Colors - Deep Teal (Trust, Health) */
  --color-primary: #0F766E;
  --color-primary-light: #14B8A6;
  --color-primary-dark: #0D5C56;
  
  /* Mira Accent - Purple (Intelligence, AI) */
  --color-mira: #9333EA;
  --color-mira-light: #A855F7;
  --color-mira-dark: #7C3AED;
  
  /* Secondary Colors - Warm Amber (Energy, Play) */
  --color-secondary: #D97706;
  --color-secondary-light: #F59E0B;
  --color-secondary-dark: #B45309;
  
  /* Accent Colors - Deep Pink (Love, Heart) */
  --color-accent: #BE185D;
  --color-accent-light: #EC4899;
  
  /* Background - Warm Stone (Organic, Natural) */
  --bg-primary: #FAFAF9;
  --bg-surface: #FFFFFF;
  --bg-elevated: #FFFFFF;
  
  /* Text Colors */
  --text-primary: #1C1917;
  --text-secondary: #57534E;
  --text-muted: #A8A29E;
  
  /* Spacing - Premium 2-3x standard */
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1.25rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4rem;
  
  /* Typography */
  --font-display: 'Manrope', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-special: 'Syne', sans-serif;
  
  /* Shadows - Soft & Premium */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.08);
  --shadow-glow: 0 0 40px rgba(15, 118, 110, 0.15);
  
  /* Radius - Organic feel */
  --radius-sm: 1rem;
  --radius-md: 1.5rem;
  --radius-lg: 2rem;
  --radius-full: 9999px;
}

/* Base Styles */
* {
  -webkit-tap-highlight-color: transparent;
}

/* Mobile Touch Optimization - Fix for "banging" keys issue */
button, 
a, 
input, 
textarea, 
select,
[role="button"] {
  touch-action: manipulation;
  -webkit-touch-callout: none;
}

/* Remove 300ms click delay on mobile */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
textarea {
  touch-action: manipulation;
  font-size: 16px !important; /* Prevent iOS zoom on focus */
}

html {
  /* overflow-x removed — breaks desktop touch-scroll; body handles it */
  scroll-behavior: smooth;
  background: #FAFAF9;
  background: var(--bg-primary);
}

body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  color: #1C1917;
  color: var(--text-primary);
  line-height: 1.6;
  background: #FAFAF9;
  background: var(--bg-primary);
}

/* ============================================
   MOBILE-FIRST UTILITY CLASSES
   ============================================ */

/* Font Families */
.font-display { font-family: 'Manrope', sans-serif; font-family: var(--font-display); }
.font-body { font-family: 'Inter', sans-serif; font-family: var(--font-body); }
.font-special { font-family: 'Syne', sans-serif; font-family: var(--font-special); }

/* Premium Spacing */
.space-premium { padding: 2rem; padding: var(--space-lg); }
.gap-premium { gap: 2rem; gap: var(--space-lg); }

/* Organic Radius */
.radius-organic { border-radius: 2rem; border-radius: var(--radius-lg); }
.radius-pill { border-radius: 9999px; border-radius: var(--radius-full); }

/* Premium Shadows */
.shadow-soft { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06); box-shadow: var(--shadow-md); }
.shadow-glow { box-shadow: 0 0 40px rgba(15, 118, 110, 0.15); box-shadow: var(--shadow-glow); }

/* ============================================
   MOBILE BOTTOM NAVIGATION
   The heart of Pet Life OS
   ============================================ */

/* Mobile Nav Container - Fixed bottom navigation bar */
.mobile-nav-container {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9995;
  padding: 0.5rem 1rem;
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.mobile-nav-bar {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 9999px;
  border-radius: var(--radius-full);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.2);
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
}

.mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem 0.75rem;
  border-radius: 1rem;
  transition: background 0.2s ease, transform 0.2s ease;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
}

.mobile-nav-item:active {
  transform: scale(0.95);
}

.mobile-nav-item.active {
  background: linear-gradient(135deg, rgba(147, 51, 234, 0.25) 0%, rgba(236, 72, 153, 0.25) 100%);
  box-shadow: 0 0 16px rgba(147, 51, 234, 0.35), inset 0 0 8px rgba(147, 51, 234, 0.1);
  transform: translateY(-3px);
  border-radius: 1rem;
}

.mobile-nav-item.active .nav-icon {
  color: #9333EA;
  transform: scale(1.2);
  filter: drop-shadow(0 0 6px rgba(147, 51, 234, 0.6));
}

.mobile-nav-item.active .nav-label {
  color: #9333EA;
  font-weight: 800;
  text-shadow: 0 0 10px rgba(147, 51, 234, 0.4);
  letter-spacing: 0.02em;
}

.nav-icon {
  width: 1.5rem;
  height: 1.5rem;
  color: #A8A29E;
  color: var(--text-muted);
  margin-bottom: 0.25rem;
}

.nav-label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #A8A29E;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Pulse FAB - Center button (DEPRECATED - replaced by Mira) */
.pulse-fab {
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 4rem;
  height: 4rem;
  background: linear-gradient(135deg, #0F766E 0%, #0D5C56 100%);
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(15, 118, 110, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 4px solid #FAFAF9;
  border: 4px solid var(--bg-primary);
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Mira FAB - Center button (New AI assistant) */
.mira-fab {
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 3.5rem;
  height: 3.5rem;
  background: linear-gradient(135deg, #9333EA 0%, #EC4899 100%);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(147, 51, 234, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid white;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  animation: mira-pulse 2s ease-in-out infinite;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  z-index: 10;
}

@keyframes mira-pulse {
  0%, 100% { box-shadow: 0 0 20px rgba(147, 51, 234, 0.5); }
  50% { box-shadow: 0 0 30px rgba(236, 72, 153, 0.6); }
}

/* ============================================
   MOBILE TOUCH FIX - Global styles for iOS
   ============================================ */
.mira-fab:hover {
  transform: translateX(-50%) scale(1.1);
  box-shadow: 0 0 35px rgba(147, 51, 234, 0.7);
}

.mira-fab:active {
  transform: translateX(-50%) scale(0.95);
}

.pulse-fab:hover {
  transform: translateX(-50%) scale(1.05);
  box-shadow: 0 12px 32px rgba(15, 118, 110, 0.5);
}

.pulse-fab:active {
  transform: translateX(-50%) scale(0.95);
}

.pulse-fab svg {
  width: 1.75rem;
  height: 1.75rem;
  color: white;
}

/* ============================================
   BENTO GRID LAYOUT
   Premium dashboard cards
   ============================================ */

.bento-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1rem;
  gap: 1rem;
  padding: 1rem;
}

@media (min-width: 768px) {
  .bento-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    padding: 2rem;
  }
}

.bento-hero {
  grid-column: span 2;
  grid-row: span 2;
  aspect-ratio: 1;
  border-radius: 2rem;
  border-radius: var(--radius-lg);
  overflow: hidden;
  position: relative;
}

.bento-card {
  aspect-ratio: 1;
  border-radius: 2rem;
  border-radius: var(--radius-lg);
  background: #FFFFFF;
  background: var(--bg-surface);
  padding: 1.25rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  box-shadow: var(--shadow-sm);
  border: 1px solid rgba(168, 162, 158, 0.1);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bento-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  box-shadow: var(--shadow-md);
}

.bento-tall {
  grid-row: span 2;
}

/* ============================================
   PREMIUM CARDS
   Glass morphism & depth
   ============================================ */

.card-premium {
  background: #FFFFFF;
  background: var(--bg-surface);
  border-radius: 2rem;
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  box-shadow: var(--shadow-md);
  border: 1px solid rgba(168, 162, 158, 0.08);
  overflow: hidden;
}

.card-glass {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 2rem;
  border-radius: var(--radius-lg);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  box-shadow: var(--shadow-lg);
}

.card-gradient-soul {
  background: linear-gradient(135deg, #FDE68A 0%, #FDBA74 50%, #FDA4AF 100%);
}

/* ============================================
   PREMIUM BUTTONS
   Pill-shaped with micro-animations
   ============================================ */

.btn-premium {
  font-family: 'Manrope', sans-serif;
  font-family: var(--font-display);
  font-weight: 700;
  padding: 1rem 2rem;
  border-radius: 9999px;
  border-radius: var(--radius-full);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.btn-premium:hover {
  transform: scale(1.02);
}

.btn-premium:active {
  transform: scale(0.98);
}

.btn-primary-premium {
  background: #0F766E;
  background: var(--color-primary);
  color: white;
  box-shadow: 0 8px 24px rgba(15, 118, 110, 0.25);
}

.btn-primary-premium:hover {
  box-shadow: 0 12px 32px rgba(15, 118, 110, 0.35);
}

.btn-secondary-premium {
  background: rgba(28, 25, 23, 0.05);
  color: #1C1917;
  color: var(--text-primary);
}

.btn-secondary-premium:hover {
  background: rgba(28, 25, 23, 0.08);
}

/* ============================================
   SOUL JOURNEY STYLES
   Mystical & ethereal
   ============================================ */

.soul-title {
  font-family: 'Syne', sans-serif;
  font-family: var(--font-special);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.soul-gradient {
  background: linear-gradient(135deg, #FDE68A 0%, #FDBA74 30%, #FDA4AF 60%, #DDD6FE 100%);
}

.soul-card {
  background: rgba(255, 255, 255, 0.85);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  border-radius: 2rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, 0.6);
}

/* ============================================
   ANIMATIONS
   Micro-interactions that delight
   ============================================ */

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

@keyframes pulse-glow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(15, 118, 110, 0.3);
  }
  50% {
    box-shadow: 0 0 40px rgba(15, 118, 110, 0.5);
  }
}

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

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

@keyframes shrink-width {
  from { width: 100%; }
  to { width: 0%; }
}

.animate-shrink-width {
  animation: shrink-width 8s linear forwards;
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

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

.animate-scale-in {
  animation: scaleIn 0.3s ease-out forwards;
}

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

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

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

.hover-lift {
  transition: transform 0.3s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
}

/* Staggered animations */
.stagger-1 { animation-delay: 0.1s; }
.stagger-2 { animation-delay: 0.2s; }
.stagger-3 { animation-delay: 0.3s; }
.stagger-4 { animation-delay: 0.4s; }
.stagger-5 { animation-delay: 0.5s; }

/* ============================================
   SCROLLBAR STYLING
   Premium & minimal
   ============================================ */

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

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

.scrollbar-thin {
  scrollbar-width: thin;
  scrollbar-color: rgba(168, 162, 158, 0.3) transparent;
}

.scrollbar-thin::-webkit-scrollbar {
  width: 6px;
}

.scrollbar-thin::-webkit-scrollbar-track {
  background: transparent;
}

.scrollbar-thin::-webkit-scrollbar-thumb {
  background: rgba(168, 162, 158, 0.3);
  border-radius: 3px;
}

/* ============================================
   MOBILE-SPECIFIC OVERRIDES
   ============================================ */

@media (max-width: 768px) {
  /* Extra bottom padding for mobile nav */
  .mobile-safe-bottom {
    padding-bottom: 6rem;
  }
  
  /* Larger touch targets */
  button, a, [role="button"] {
    min-height: 44px;
  }
  
  /* Disable hover effects on mobile */
  .hover-lift:hover {
    transform: none;
  }
  
  /* Active state instead */
  .hover-lift:active {
    transform: scale(0.98);
  }
  
  /* ============================================
     MOBILE TYPOGRAPHY ENHANCEMENTS
     Ensure readability on small screens
     ============================================ */
  
  /* Base text size increase for mobile readability */
  body {
    font-size: 16px;
    line-height: 1.6;
  }
  
  /* Card content should be readable */
  .card-premium p,
  .card-clean p,
  .bento-card p {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  
  /* Form inputs should be readable */
  input, select, textarea {
    font-size: 16px !important; /* Prevents iOS zoom on focus */
  }
  
  /* Modal content readability */
  [role="dialog"] p,
  [role="dialog"] label {
    font-size: 0.9375rem;
  }
  
  /* Badge text minimum */
  .badge, [class*="Badge"] {
    font-size: 0.75rem;
    min-height: 1.5rem;
  }
  
  /* Button text minimum */
  button {
    font-size: 0.875rem;
  }
}

/* ============================================
   LEGACY COMPATIBILITY
   (Keeping existing styles that work)
   ============================================ */

@keyframes wiggle {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-10deg); }
  50% { transform: rotate(10deg); }
  75% { transform: rotate(-5deg); }
}

.animate-wiggle {
  animation: wiggle 0.5s ease-in-out infinite;
}

/* Legacy button classes */

/* ============================================
   ANIMATIONS - Subtle, professional
   ============================================ */

/* Fade in on scroll */
@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;
}

/* Staggered children animation */
.stagger-children > * {
  opacity: 0;
  animation: fadeInUp 0.4s ease-out forwards;
}

.stagger-children > *:nth-child(1) { animation-delay: 0.1s; }
.stagger-children > *:nth-child(2) { animation-delay: 0.15s; }
.stagger-children > *:nth-child(3) { animation-delay: 0.2s; }
.stagger-children > *:nth-child(4) { animation-delay: 0.25s; }
.stagger-children > *:nth-child(5) { animation-delay: 0.3s; }
.stagger-children > *:nth-child(6) { animation-delay: 0.35s; }

/* Hover lift effect */
.hover-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  box-shadow: var(--shadow-lg);
}

/* Smooth image zoom on hover */
.img-zoom {
  overflow: hidden;
}

.img-zoom img {
  transition: transform 0.3s ease;
}

.img-zoom:hover img {
  transform: scale(1.05);
}

code {
    font-family:
        source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
}

/* Hide Emergent badge */
#emergent-badge,
[id="emergent-badge"],
a[href*="emergent"][class*="badge"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Pet Soul Score Animations */
@keyframes pulse-soft {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

@keyframes ping-slow {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  75%, 100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

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

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

.animate-ping-slow {
  animation: ping-slow 2s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-bounce-slow {
  animation: bounce-slow 1.5s ease-in-out infinite;
}

/* Build refresh: 1770976638 */

/* World-class UI polish */

/* ── Mobile: service grid → horizontal scroll carousel ── */
@media (max-width: 767px) {
  .service-grid-responsive {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    gap: 12px !important;
    padding-bottom: 12px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
  }
  .service-grid-responsive::-webkit-scrollbar { display: none; }
  .service-grid-responsive > * {
    flex: 0 0 220px !important;
    min-width: 220px !important;
    scroll-snap-align: start;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .service-grid-responsive {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── Mira widget offset: tracks below sticky header on mobile ── */
:root {
  --mira-top-offset: 105px;
}
@media (min-width: 640px) {
  :root { --mira-top-offset: 0px; }
}

/* TDC Mobile Navigation Header — hidden on desktop, visible on mobile */
.tdc-mobile-header {
  display: none;
}
@media (max-width: 1024px) {
  .tdc-mobile-header {
    display: flex !important;
  }
}


/* When Mira widget is open on desktop, shift product modals left to avoid overlap */
@media (min-width: 640px) {
  body[data-mira-open="true"] .product-modal-backdrop {
    padding-right: 400px;
  }
}

/* Landing page Join Now — desktop nav only, hidden on mobile (mobile menu has its own) */
.tdc-desktop-join {
  display: inline-flex;
}
@media (max-width: 1024px) {
  .tdc-desktop-join {
    display: none !important;
  }
}
.file\:border-0::-webkit-file-upload-button{
  border-width: 0px;
}
.file\:border-0::file-selector-button{
  border-width: 0px;
}
.file\:bg-transparent::-webkit-file-upload-button{
  background-color: transparent;
}
.file\:bg-transparent::file-selector-button{
  background-color: transparent;
}
.file\:text-sm::-webkit-file-upload-button{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.file\:text-sm::file-selector-button{
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.file\:font-medium::-webkit-file-upload-button{
  font-weight: 500;
}
.file\:font-medium::file-selector-button{
  font-weight: 500;
}
.file\:text-foreground::-webkit-file-upload-button{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--foreground));
}
.file\:text-foreground::file-selector-button{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--foreground));
}
.placeholder\:text-gray-400::placeholder{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / 1);
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.placeholder\:text-gray-500::placeholder{
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / 1);
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.placeholder\:text-muted-foreground::placeholder{
  color: hsl(0 0% 45.1%);
  color: hsl(var(--muted-foreground));
}
.placeholder\:text-purple-300::placeholder{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / 1);
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-400::placeholder{
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / 1);
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.placeholder\:text-slate-500::placeholder{
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / 1);
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.after\:absolute::after{
  content: var(--tw-content);
  position: absolute;
}
.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\:left-\[2px\]::after{
  content: var(--tw-content);
  left: 2px;
}
.after\:start-\[2px\]::after{
  content: var(--tw-content);
  inset-inline-start: 2px;
}
.after\:top-\[2px\]::after{
  content: var(--tw-content);
  top: 2px;
}
.after\:h-5::after{
  content: var(--tw-content);
  height: 1.25rem;
}
.after\:w-1::after{
  content: var(--tw-content);
  width: 0.25rem;
}
.after\:w-5::after{
  content: var(--tw-content);
  width: 1.25rem;
}
.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));
}
.after\:rounded-full::after{
  content: var(--tw-content);
  border-radius: 9999px;
}
.after\:border::after{
  content: var(--tw-content);
  border-width: 1px;
}
.after\:border-gray-300::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / 1);
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.after\:bg-white::after{
  content: var(--tw-content);
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / 1);
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.after\:transition-all::after{
  content: var(--tw-content);
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.after\:content-\[\'\'\]::after{
  --tw-content: '';
  content: var(--tw-content);
}
.first\:rounded-l-md:first-child{
  border-top-left-radius: calc(0.5rem - 2px);
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(0.5rem - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.first\:rounded-t-xl:first-child{
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.first\:border-l:first-child{
  border-left-width: 1px;
}
.last\:mb-0:last-child{
  margin-bottom: 0px;
}
.last\:rounded-b-xl:last-child{
  border-bottom-right-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem;
}
.last\:rounded-r-md:last-child{
  border-top-right-radius: calc(0.5rem - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(0.5rem - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.last\:border-0:last-child{
  border-width: 0px;
}
.last\:border-b-0:last-child{
  border-bottom-width: 0px;
}
.focus-within\:relative:focus-within{
  position: relative;
}
.focus-within\:z-20:focus-within{
  z-index: 20;
}
.hover\:-translate-y-0\.5:hover{
  --tw-translate-y: -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));
}
.hover\:-translate-y-1:hover{
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:-translate-y-2:hover{
  --tw-translate-y: -0.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-105:hover{
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-110:hover{
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.01\]:hover{
  --tw-scale-x: 1.01;
  --tw-scale-y: 1.01;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:scale-\[1\.02\]:hover{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.hover\:border-amber-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(253 230 138 / 1);
  border-color: rgb(253 230 138 / var(--tw-border-opacity, 1));
}
.hover\:border-amber-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(252 211 77 / 1);
  border-color: rgb(252 211 77 / var(--tw-border-opacity, 1));
}
.hover\:border-amber-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / 1);
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.hover\:border-amber-400\/50:hover{
  border-color: rgb(251 191 36 / 0.5);
}
.hover\:border-amber-400\/60:hover{
  border-color: rgb(251 191 36 / 0.6);
}
.hover\:border-amber-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / 1);
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.hover\:border-amber-500\/30:hover{
  border-color: rgb(245 158 11 / 0.3);
}
.hover\:border-amber-500\/50:hover{
  border-color: rgb(245 158 11 / 0.5);
}
.hover\:border-blue-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(191 219 254 / 1);
  border-color: rgb(191 219 254 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(147 197 253 / 1);
  border-color: rgb(147 197 253 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(96 165 250 / 1);
  border-color: rgb(96 165 250 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / 1);
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.hover\:border-blue-500\/30:hover{
  border-color: rgb(59 130 246 / 0.3);
}
.hover\:border-cyan-400\/50:hover{
  border-color: rgb(34 211 238 / 0.5);
}
.hover\:border-cyan-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(6 182 212 / 1);
  border-color: rgb(6 182 212 / var(--tw-border-opacity, 1));
}
.hover\:border-emerald-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(167 243 208 / 1);
  border-color: rgb(167 243 208 / var(--tw-border-opacity, 1));
}
.hover\:border-emerald-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(110 231 183 / 1);
  border-color: rgb(110 231 183 / var(--tw-border-opacity, 1));
}
.hover\:border-emerald-500\/50:hover{
  border-color: rgb(16 185 129 / 0.5);
}
.hover\:border-gray-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(229 231 235 / 1);
  border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / 1);
  border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));
}
.hover\:border-gray-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(156 163 175 / 1);
  border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
}
.hover\:border-green-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / 1);
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.hover\:border-green-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(134 239 172 / 1);
  border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
}
.hover\:border-green-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / 1);
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}
.hover\:border-green-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / 1);
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.hover\:border-green-500\/30:hover{
  border-color: rgb(34 197 94 / 0.3);
}
.hover\:border-indigo-500\/20:hover{
  border-color: rgb(99 102 241 / 0.2);
}
.hover\:border-indigo-500\/30:hover{
  border-color: rgb(99 102 241 / 0.3);
}
.hover\:border-orange-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(253 186 116 / 1);
  border-color: rgb(253 186 116 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(251 207 232 / 1);
  border-color: rgb(251 207 232 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(249 168 212 / 1);
  border-color: rgb(249 168 212 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(244 114 182 / 1);
  border-color: rgb(244 114 182 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-400\/50:hover{
  border-color: rgb(244 114 182 / 0.5);
}
.hover\:border-pink-400\/60:hover{
  border-color: rgb(244 114 182 / 0.6);
}
.hover\:border-pink-400\/70:hover{
  border-color: rgb(244 114 182 / 0.7);
}
.hover\:border-pink-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(236 72 153 / 1);
  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.hover\:border-pink-500\/30:hover{
  border-color: rgb(236 72 153 / 0.3);
}
.hover\:border-pink-500\/40:hover{
  border-color: rgb(236 72 153 / 0.4);
}
.hover\:border-pink-500\/50:hover{
  border-color: rgb(236 72 153 / 0.5);
}
.hover\:border-pink-500\/60:hover{
  border-color: rgb(236 72 153 / 0.6);
}
.hover\:border-purple-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(233 213 255 / 1);
  border-color: rgb(233 213 255 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / 1);
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / 1);
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-400\/30:hover{
  border-color: rgb(192 132 252 / 0.3);
}
.hover\:border-purple-400\/40:hover{
  border-color: rgb(192 132 252 / 0.4);
}
.hover\:border-purple-400\/50:hover{
  border-color: rgb(192 132 252 / 0.5);
}
.hover\:border-purple-500:hover{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / 1);
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.hover\:border-purple-500\/20:hover{
  border-color: rgb(168 85 247 / 0.2);
}
.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-purple-500\/50:hover{
  border-color: rgb(168 85 247 / 0.5);
}
.hover\:border-red-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(254 202 202 / 1);
  border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
}
.hover\:border-red-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(252 165 165 / 1);
  border-color: rgb(252 165 165 / var(--tw-border-opacity, 1));
}
.hover\:border-red-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(248 113 113 / 1);
  border-color: rgb(248 113 113 / var(--tw-border-opacity, 1));
}
.hover\:border-red-500\/30:hover{
  border-color: rgb(239 68 68 / 0.3);
}
.hover\:border-red-500\/50:hover{
  border-color: rgb(239 68 68 / 0.5);
}
.hover\:border-rose-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(254 205 211 / 1);
  border-color: rgb(254 205 211 / var(--tw-border-opacity, 1));
}
.hover\:border-rose-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(253 164 175 / 1);
  border-color: rgb(253 164 175 / var(--tw-border-opacity, 1));
}
.hover\:border-slate-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / 1);
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.hover\:border-slate-600:hover{
  --tw-border-opacity: 1;
  border-color: rgb(71 85 105 / 1);
  border-color: rgb(71 85 105 / var(--tw-border-opacity, 1));
}
.hover\:border-stone-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(214 211 209 / 1);
  border-color: rgb(214 211 209 / var(--tw-border-opacity, 1));
}
.hover\:border-teal-200:hover{
  --tw-border-opacity: 1;
  border-color: rgb(153 246 228 / 1);
  border-color: rgb(153 246 228 / var(--tw-border-opacity, 1));
}
.hover\:border-teal-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(94 234 212 / 1);
  border-color: rgb(94 234 212 / var(--tw-border-opacity, 1));
}
.hover\:border-teal-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(45 212 191 / 1);
  border-color: rgb(45 212 191 / var(--tw-border-opacity, 1));
}
.hover\:border-violet-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(196 181 253 / 1);
  border-color: rgb(196 181 253 / var(--tw-border-opacity, 1));
}
.hover\:border-violet-400:hover{
  --tw-border-opacity: 1;
  border-color: rgb(167 139 250 / 1);
  border-color: rgb(167 139 250 / var(--tw-border-opacity, 1));
}
.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-yellow-300:hover{
  --tw-border-opacity: 1;
  border-color: rgb(253 224 71 / 1);
  border-color: rgb(253 224 71 / var(--tw-border-opacity, 1));
}
.hover\:border-yellow-400\/70:hover{
  border-color: rgb(250 204 21 / 0.7);
}
.hover\:bg-\[\#B05C8A\]:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(176 92 138 / 1);
  background-color: rgb(176 92 138 / var(--tw-bg-opacity, 1));
}
.hover\:bg-accent:hover{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.hover\:bg-amber-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 243 199 / 1);
  background-color: rgb(254 243 199 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / 1);
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(251 191 36 / 1);
  background-color: rgb(251 191 36 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / 1);
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-50\/50:hover{
  background-color: rgb(255 251 235 / 0.5);
}
.hover\:bg-amber-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / 1);
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-500\/50:hover{
  background-color: rgb(245 158 11 / 0.5);
}
.hover\:bg-amber-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(217 119 6 / 1);
  background-color: rgb(217 119 6 / var(--tw-bg-opacity, 1));
}
.hover\:bg-amber-600\/30:hover{
  background-color: rgb(217 119 6 / 0.3);
}
.hover\:bg-amber-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(180 83 9 / 1);
  background-color: rgb(180 83 9 / var(--tw-bg-opacity, 1));
}
.hover\:bg-black\/10:hover{
  background-color: rgb(0 0 0 / 0.1);
}
.hover\:bg-black\/20:hover{
  background-color: rgb(0 0 0 / 0.2);
}
.hover\:bg-black\/30:hover{
  background-color: rgb(0 0 0 / 0.3);
}
.hover\:bg-black\/5:hover{
  background-color: rgb(0 0 0 / 0.05);
}
.hover\:bg-black\/50:hover{
  background-color: rgb(0 0 0 / 0.5);
}
.hover\:bg-black\/70:hover{
  background-color: rgb(0 0 0 / 0.7);
}
.hover\:bg-black\/80:hover{
  background-color: rgb(0 0 0 / 0.8);
}
.hover\:bg-blue-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / 1);
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(191 219 254 / 1);
  background-color: rgb(191 219 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / 1);
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(59 130 246 / 1);
  background-color: rgb(59 130 246 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-500\/10:hover{
  background-color: rgb(59 130 246 / 0.1);
}
.hover\:bg-blue-500\/20:hover{
  background-color: rgb(59 130 246 / 0.2);
}
.hover\:bg-blue-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / 1);
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-blue-600\/30:hover{
  background-color: rgb(37 99 235 / 0.3);
}
.hover\:bg-blue-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(29 78 216 / 1);
  background-color: rgb(29 78 216 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(207 250 254 / 1);
  background-color: rgb(207 250 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(6 182 212 / 1);
  background-color: rgb(6 182 212 / var(--tw-bg-opacity, 1));
}
.hover\:bg-cyan-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(8 145 178 / 1);
  background-color: rgb(8 145 178 / var(--tw-bg-opacity, 1));
}
.hover\:bg-destructive\/80:hover{
  background-color: hsl(0 84.2% 60.2% / 0.8);
  background-color: hsl(var(--destructive) / 0.8);
}
.hover\:bg-destructive\/90:hover{
  background-color: hsl(0 84.2% 60.2% / 0.9);
  background-color: hsl(var(--destructive) / 0.9);
}
.hover\:bg-emerald-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(209 250 229 / 1);
  background-color: rgb(209 250 229 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(167 243 208 / 1);
  background-color: rgb(167 243 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(236 253 245 / 1);
  background-color: rgb(236 253 245 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(16 185 129 / 1);
  background-color: rgb(16 185 129 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-500\/10:hover{
  background-color: rgb(16 185 129 / 0.1);
}
.hover\:bg-emerald-500\/20:hover{
  background-color: rgb(16 185 129 / 0.2);
}
.hover\:bg-emerald-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(5 150 105 / 1);
  background-color: rgb(5 150 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-emerald-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(4 120 87 / 1);
  background-color: rgb(4 120 87 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / 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 / 1);
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-300:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / 1);
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(156 163 175 / 1);
  background-color: rgb(156 163 175 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / 1);
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(75 85 99 / 1);
  background-color: rgb(75 85 99 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-600\/50:hover{
  background-color: rgb(75 85 99 / 0.5);
}
.hover\:bg-gray-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(55 65 81 / 1);
  background-color: rgb(55 65 81 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gray-700\/50:hover{
  background-color: rgb(55 65 81 / 0.5);
}
.hover\:bg-gray-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / 1);
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / 1);
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(187 247 208 / 1);
  background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / 1);
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-50\/50:hover{
  background-color: rgb(240 253 244 / 0.5);
}
.hover\:bg-green-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / 1);
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-500\/10:hover{
  background-color: rgb(34 197 94 / 0.1);
}
.hover\:bg-green-500\/20:hover{
  background-color: rgb(34 197 94 / 0.2);
}
.hover\:bg-green-500\/30:hover{
  background-color: rgb(34 197 94 / 0.3);
}
.hover\:bg-green-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / 1);
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.hover\:bg-green-600\/30:hover{
  background-color: rgb(22 163 74 / 0.3);
}
.hover\:bg-green-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(21 128 61 / 1);
  background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(224 231 255 / 1);
  background-color: rgb(224 231 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(199 210 254 / 1);
  background-color: rgb(199 210 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(238 242 255 / 1);
  background-color: rgb(238 242 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(79 70 229 / 1);
  background-color: rgb(79 70 229 / var(--tw-bg-opacity, 1));
}
.hover\:bg-indigo-600\/50:hover{
  background-color: rgb(79 70 229 / 0.5);
}
.hover\:bg-indigo-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(67 56 202 / 1);
  background-color: rgb(67 56 202 / var(--tw-bg-opacity, 1));
}
.hover\:bg-muted:hover{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--muted));
}
.hover\:bg-muted\/50:hover{
  background-color: hsl(0 0% 96.1% / 0.5);
  background-color: hsl(var(--muted) / 0.5);
}
.hover\:bg-orange-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 215 170 / 1);
  background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 247 237 / 1);
  background-color: rgb(255 247 237 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(249 115 22 / 1);
  background-color: rgb(249 115 22 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-500\/20:hover{
  background-color: rgb(249 115 22 / 0.2);
}
.hover\:bg-orange-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(234 88 12 / 1);
  background-color: rgb(234 88 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-orange-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(194 65 12 / 1);
  background-color: rgb(194 65 12 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / 1);
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(251 207 232 / 1);
  background-color: rgb(251 207 232 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / 1);
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-50\/50:hover{
  background-color: rgb(253 242 248 / 0.5);
}
.hover\:bg-pink-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(236 72 153 / 1);
  background-color: rgb(236 72 153 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-500\/10:hover{
  background-color: rgb(236 72 153 / 0.1);
}
.hover\:bg-pink-500\/20:hover{
  background-color: rgb(236 72 153 / 0.2);
}
.hover\:bg-pink-500\/30:hover{
  background-color: rgb(236 72 153 / 0.3);
}
.hover\:bg-pink-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / 1);
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.hover\:bg-pink-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(190 24 93 / 1);
  background-color: rgb(190 24 93 / var(--tw-bg-opacity, 1));
}
.hover\:bg-primary:hover{
  background-color: hsl(0 0% 9%);
  background-color: hsl(var(--primary));
}
.hover\:bg-primary\/80:hover{
  background-color: hsl(0 0% 9% / 0.8);
  background-color: hsl(var(--primary) / 0.8);
}
.hover\:bg-primary\/90:hover{
  background-color: hsl(0 0% 9% / 0.9);
  background-color: hsl(var(--primary) / 0.9);
}
.hover\:bg-purple-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / 1);
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(233 213 255 / 1);
  background-color: rgb(233 213 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(250 245 255 / 1);
  background-color: rgb(250 245 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-50\/50:hover{
  background-color: rgb(250 245 255 / 0.5);
}
.hover\:bg-purple-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / 1);
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 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-500\/40:hover{
  background-color: rgb(168 85 247 / 0.4);
}
.hover\:bg-purple-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / 1);
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-600\/30:hover{
  background-color: rgb(147 51 234 / 0.3);
}
.hover\:bg-purple-600\/50:hover{
  background-color: rgb(147 51 234 / 0.5);
}
.hover\:bg-purple-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(126 34 206 / 1);
  background-color: rgb(126 34 206 / var(--tw-bg-opacity, 1));
}
.hover\:bg-purple-800\/50:hover{
  background-color: rgb(107 33 168 / 0.5);
}
.hover\:bg-red-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / 1);
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 202 202 / 1);
  background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-400:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 113 113 / 1);
  background-color: rgb(248 113 113 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / 1);
  background-color: rgb(254 242 242 / 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:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / 1);
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.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 / 1);
  background-color: rgb(185 28 28 / var(--tw-bg-opacity, 1));
}
.hover\:bg-red-900\/50:hover{
  background-color: rgb(127 29 29 / 0.5);
}
.hover\:bg-rose-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 205 211 / 1);
  background-color: rgb(254 205 211 / var(--tw-bg-opacity, 1));
}
.hover\:bg-rose-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 241 242 / 1);
  background-color: rgb(255 241 242 / var(--tw-bg-opacity, 1));
}
.hover\:bg-rose-500:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(244 63 94 / 1);
  background-color: rgb(244 63 94 / var(--tw-bg-opacity, 1));
}
.hover\:bg-rose-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(225 29 72 / 1);
  background-color: rgb(225 29 72 / var(--tw-bg-opacity, 1));
}
.hover\:bg-rose-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(190 18 60 / 1);
  background-color: rgb(190 18 60 / var(--tw-bg-opacity, 1));
}
.hover\:bg-secondary:hover{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--secondary));
}
.hover\:bg-secondary\/80:hover{
  background-color: hsl(0 0% 96.1% / 0.8);
  background-color: hsl(var(--secondary) / 0.8);
}
.hover\:bg-sky-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / 1);
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-sky-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / 1);
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-sky-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(3 105 161 / 1);
  background-color: rgb(3 105 161 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(241 245 249 / 1);
  background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / 1);
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(248 250 252 / 1);
  background-color: rgb(248 250 252 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(71 85 105 / 1);
  background-color: rgb(71 85 105 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-600\/50:hover{
  background-color: rgb(71 85 105 / 0.5);
}
.hover\:bg-slate-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / 1);
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-700\/30:hover{
  background-color: rgb(51 65 85 / 0.3);
}
.hover\:bg-slate-700\/50:hover{
  background-color: rgb(51 65 85 / 0.5);
}
.hover\:bg-slate-700\/70:hover{
  background-color: rgb(51 65 85 / 0.7);
}
.hover\:bg-slate-700\/80:hover{
  background-color: rgb(51 65 85 / 0.8);
}
.hover\:bg-slate-800:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / 1);
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.hover\:bg-slate-800\/70:hover{
  background-color: rgb(30 41 59 / 0.7);
}
.hover\:bg-stone-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(231 229 228 / 1);
  background-color: rgb(231 229 228 / var(--tw-bg-opacity, 1));
}
.hover\:bg-stone-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(250 250 249 / 1);
  background-color: rgb(250 250 249 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(204 251 241 / 1);
  background-color: rgb(204 251 241 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-200:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(153 246 228 / 1);
  background-color: rgb(153 246 228 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 250 / 1);
  background-color: rgb(240 253 250 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-50\/50:hover{
  background-color: rgb(240 253 250 / 0.5);
}
.hover\:bg-teal-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(13 148 136 / 1);
  background-color: rgb(13 148 136 / var(--tw-bg-opacity, 1));
}
.hover\:bg-teal-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / 1);
  background-color: rgb(15 118 110 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(237 233 254 / 1);
  background-color: rgb(237 233 254 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(245 243 255 / 1);
  background-color: rgb(245 243 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / 1);
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.hover\:bg-violet-700:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(109 40 217 / 1);
  background-color: rgb(109 40 217 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / 1);
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.hover\:bg-white\/10:hover{
  background-color: rgb(255 255 255 / 0.1);
}
.hover\:bg-white\/15:hover{
  background-color: rgb(255 255 255 / 0.15);
}
.hover\:bg-white\/20:hover{
  background-color: rgb(255 255 255 / 0.2);
}
.hover\:bg-white\/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\/50:hover{
  background-color: rgb(255 255 255 / 0.5);
}
.hover\:bg-white\/80:hover{
  background-color: rgb(255 255 255 / 0.8);
}
.hover\:bg-white\/90:hover{
  background-color: rgb(255 255 255 / 0.9);
}
.hover\:bg-white\/\[0\.18\]:hover{
  background-color: rgb(255 255 255 / 0.18);
}
.hover\:bg-yellow-100:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 249 195 / 1);
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
}
.hover\:bg-yellow-400\/10:hover{
  background-color: rgb(250 204 21 / 0.1);
}
.hover\:bg-yellow-50:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(254 252 232 / 1);
  background-color: rgb(254 252 232 / var(--tw-bg-opacity, 1));
}
.hover\:bg-yellow-500\/20:hover{
  background-color: rgb(234 179 8 / 0.2);
}
.hover\:bg-yellow-600:hover{
  --tw-bg-opacity: 1;
  background-color: rgb(202 138 4 / 1);
  background-color: rgb(202 138 4 / var(--tw-bg-opacity, 1));
}
.hover\:bg-gradient-to-br:hover{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.hover\:bg-gradient-to-r:hover{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.hover\:from-amber-400:hover{
  --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);
}
.hover\:from-amber-500:hover{
  --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);
}
.hover\:from-amber-600:hover{
  --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);
}
.hover\:from-amber-700:hover{
  --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);
}
.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-500:hover{
  --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);
}
.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-emerald-400:hover{
  --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);
}
.hover\:from-emerald-600:hover{
  --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);
}
.hover\:from-emerald-700:hover{
  --tw-gradient-from: #047857 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(4 120 87 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-green-100:hover{
  --tw-gradient-from: #dcfce7 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(220 252 231 / 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-orange-100:hover{
  --tw-gradient-from: #ffedd5 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 237 213 / 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-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-pink-100:hover{
  --tw-gradient-from: #fce7f3 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(252 231 243 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-pink-400:hover{
  --tw-gradient-from: #f472b6 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(244 114 182 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-pink-50:hover{
  --tw-gradient-from: #fdf2f8 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(253 242 248 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-pink-500:hover{
  --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);
}
.hover\:from-pink-500\/30:hover{
  --tw-gradient-from: rgb(236 72 153 / 0.3) 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);
}
.hover\:from-pink-600:hover{
  --tw-gradient-from: #db2777 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(219 39 119 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-pink-700:hover{
  --tw-gradient-from: #be185d var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(190 24 93 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-purple-100:hover{
  --tw-gradient-from: #f3e8ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(243 232 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-purple-200:hover{
  --tw-gradient-from: #e9d5ff var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(233 213 255 / 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\/80:hover{
  --tw-gradient-from: rgb(168 85 247 / 0.8) 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-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-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-teal-600:hover{
  --tw-gradient-from: #0d9488 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(13 148 136 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-teal-700:hover{
  --tw-gradient-from: #0f766e var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(15 118 110 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-violet-500:hover{
  --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);
}
.hover\:from-violet-600:hover{
  --tw-gradient-from: #7c3aed var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:from-violet-700:hover{
  --tw-gradient-from: #6d28d9 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(109 40 217 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.hover\:via-emerald-700:hover{
  --tw-gradient-to: rgb(4 120 87 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), #047857 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.hover\:via-pink-600:hover{
  --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);
}
.hover\:to-amber-100:hover{
  --tw-gradient-to: #fef3c7 var(--tw-gradient-to-position);
}
.hover\:to-amber-500:hover{
  --tw-gradient-to: #f59e0b var(--tw-gradient-to-position);
}
.hover\:to-amber-600:hover{
  --tw-gradient-to: #d97706 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-100:hover{
  --tw-gradient-to: #d1fae5 var(--tw-gradient-to-position);
}
.hover\:to-emerald-600:hover{
  --tw-gradient-to: #059669 var(--tw-gradient-to-position);
}
.hover\:to-emerald-700:hover{
  --tw-gradient-to: #047857 var(--tw-gradient-to-position);
}
.hover\:to-indigo-500:hover{
  --tw-gradient-to: #6366f1 var(--tw-gradient-to-position);
}
.hover\:to-indigo-700:hover{
  --tw-gradient-to: #4338ca 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-700:hover{
  --tw-gradient-to: #c2410c var(--tw-gradient-to-position);
}
.hover\:to-pink-100:hover{
  --tw-gradient-to: #fce7f3 var(--tw-gradient-to-position);
}
.hover\:to-pink-200:hover{
  --tw-gradient-to: #fbcfe8 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\/80:hover{
  --tw-gradient-to: rgb(236 72 153 / 0.8) var(--tw-gradient-to-position);
}
.hover\:to-pink-600:hover{
  --tw-gradient-to: #db2777 var(--tw-gradient-to-position);
}
.hover\:to-pink-600\/30:hover{
  --tw-gradient-to: rgb(219 39 119 / 0.3) var(--tw-gradient-to-position);
}
.hover\:to-pink-700:hover{
  --tw-gradient-to: #be185d var(--tw-gradient-to-position);
}
.hover\:to-purple-50:hover{
  --tw-gradient-to: #faf5ff var(--tw-gradient-to-position);
}
.hover\:to-purple-500:hover{
  --tw-gradient-to: #a855f7 var(--tw-gradient-to-position);
}
.hover\:to-purple-500\/30:hover{
  --tw-gradient-to: rgb(168 85 247 / 0.3) 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-600:hover{
  --tw-gradient-to: #dc2626 var(--tw-gradient-to-position);
}
.hover\:to-rose-100:hover{
  --tw-gradient-to: #ffe4e6 var(--tw-gradient-to-position);
}
.hover\:to-rose-400:hover{
  --tw-gradient-to: #fb7185 var(--tw-gradient-to-position);
}
.hover\:to-rose-600:hover{
  --tw-gradient-to: #e11d48 var(--tw-gradient-to-position);
}
.hover\:to-rose-700:hover{
  --tw-gradient-to: #be123c var(--tw-gradient-to-position);
}
.hover\:to-slate-900:hover{
  --tw-gradient-to: #0f172a var(--tw-gradient-to-position);
}
.hover\:to-teal-400:hover{
  --tw-gradient-to: #2dd4bf var(--tw-gradient-to-position);
}
.hover\:to-teal-700:hover{
  --tw-gradient-to: #0f766e var(--tw-gradient-to-position);
}
.hover\:to-yellow-400:hover{
  --tw-gradient-to: #facc15 var(--tw-gradient-to-position);
}
.hover\:text-\[\#5B21B6\]:hover{
  --tw-text-opacity: 1;
  color: rgb(91 33 182 / 1);
  color: rgb(91 33 182 / var(--tw-text-opacity, 1));
}
.hover\:text-accent-foreground:hover{
  color: hsl(0 0% 9%);
  color: hsl(var(--accent-foreground));
}
.hover\:text-amber-200:hover{
  --tw-text-opacity: 1;
  color: rgb(253 230 138 / 1);
  color: rgb(253 230 138 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-300:hover{
  --tw-text-opacity: 1;
  color: rgb(252 211 77 / 1);
  color: rgb(252 211 77 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-400:hover{
  --tw-text-opacity: 1;
  color: rgb(251 191 36 / 1);
  color: rgb(251 191 36 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-600:hover{
  --tw-text-opacity: 1;
  color: rgb(217 119 6 / 1);
  color: rgb(217 119 6 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-700:hover{
  --tw-text-opacity: 1;
  color: rgb(180 83 9 / 1);
  color: rgb(180 83 9 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-800:hover{
  --tw-text-opacity: 1;
  color: rgb(146 64 14 / 1);
  color: rgb(146 64 14 / var(--tw-text-opacity, 1));
}
.hover\:text-amber-900:hover{
  --tw-text-opacity: 1;
  color: rgb(120 53 15 / 1);
  color: rgb(120 53 15 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-300:hover{
  --tw-text-opacity: 1;
  color: rgb(147 197 253 / 1);
  color: rgb(147 197 253 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-600:hover{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / 1);
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-700:hover{
  --tw-text-opacity: 1;
  color: rgb(29 78 216 / 1);
  color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-800:hover{
  --tw-text-opacity: 1;
  color: rgb(30 64 175 / 1);
  color: rgb(30 64 175 / var(--tw-text-opacity, 1));
}
.hover\:text-blue-900:hover{
  --tw-text-opacity: 1;
  color: rgb(30 58 138 / 1);
  color: rgb(30 58 138 / var(--tw-text-opacity, 1));
}
.hover\:text-cyan-300:hover{
  --tw-text-opacity: 1;
  color: rgb(103 232 249 / 1);
  color: rgb(103 232 249 / var(--tw-text-opacity, 1));
}
.hover\:text-emerald-300:hover{
  --tw-text-opacity: 1;
  color: rgb(110 231 183 / 1);
  color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.hover\:text-emerald-600:hover{
  --tw-text-opacity: 1;
  color: rgb(5 150 105 / 1);
  color: rgb(5 150 105 / var(--tw-text-opacity, 1));
}
.hover\:text-emerald-700:hover{
  --tw-text-opacity: 1;
  color: rgb(4 120 87 / 1);
  color: rgb(4 120 87 / var(--tw-text-opacity, 1));
}
.hover\:text-foreground:hover{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--foreground));
}
.hover\:text-gray-200:hover{
  --tw-text-opacity: 1;
  color: rgb(229 231 235 / 1);
  color: rgb(229 231 235 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-300:hover{
  --tw-text-opacity: 1;
  color: rgb(209 213 219 / 1);
  color: rgb(209 213 219 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-400:hover{
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / 1);
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-600:hover{
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / 1);
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-700:hover{
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / 1);
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.hover\:text-gray-900:hover{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / 1);
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.hover\:text-green-300:hover{
  --tw-text-opacity: 1;
  color: rgb(134 239 172 / 1);
  color: rgb(134 239 172 / var(--tw-text-opacity, 1));
}
.hover\:text-green-600:hover{
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / 1);
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.hover\:text-green-700:hover{
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / 1);
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.hover\:text-green-800:hover{
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / 1);
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.hover\:text-green-900:hover{
  --tw-text-opacity: 1;
  color: rgb(20 83 45 / 1);
  color: rgb(20 83 45 / var(--tw-text-opacity, 1));
}
.hover\:text-muted-foreground:hover{
  color: hsl(0 0% 45.1%);
  color: hsl(var(--muted-foreground));
}
.hover\:text-orange-300:hover{
  --tw-text-opacity: 1;
  color: rgb(253 186 116 / 1);
  color: rgb(253 186 116 / var(--tw-text-opacity, 1));
}
.hover\:text-orange-700:hover{
  --tw-text-opacity: 1;
  color: rgb(194 65 12 / 1);
  color: rgb(194 65 12 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-200:hover{
  --tw-text-opacity: 1;
  color: rgb(251 207 232 / 1);
  color: rgb(251 207 232 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-300:hover{
  --tw-text-opacity: 1;
  color: rgb(249 168 212 / 1);
  color: rgb(249 168 212 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-400:hover{
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / 1);
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-500:hover{
  --tw-text-opacity: 1;
  color: rgb(236 72 153 / 1);
  color: rgb(236 72 153 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-600:hover{
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / 1);
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-700:hover{
  --tw-text-opacity: 1;
  color: rgb(190 24 93 / 1);
  color: rgb(190 24 93 / var(--tw-text-opacity, 1));
}
.hover\:text-pink-800:hover{
  --tw-text-opacity: 1;
  color: rgb(157 23 77 / 1);
  color: rgb(157 23 77 / var(--tw-text-opacity, 1));
}
.hover\:text-primary-foreground:hover{
  color: hsl(0 0% 98%);
  color: hsl(var(--primary-foreground));
}
.hover\:text-purple-200:hover{
  --tw-text-opacity: 1;
  color: rgb(233 213 255 / 1);
  color: rgb(233 213 255 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-300:hover{
  --tw-text-opacity: 1;
  color: rgb(216 180 254 / 1);
  color: rgb(216 180 254 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-400:hover{
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / 1);
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-600:hover{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / 1);
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-700:hover{
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / 1);
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-800:hover{
  --tw-text-opacity: 1;
  color: rgb(107 33 168 / 1);
  color: rgb(107 33 168 / var(--tw-text-opacity, 1));
}
.hover\:text-purple-900:hover{
  --tw-text-opacity: 1;
  color: rgb(88 28 135 / 1);
  color: rgb(88 28 135 / var(--tw-text-opacity, 1));
}
.hover\:text-red-300:hover{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / 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 / 1);
  color: rgb(248 113 113 / var(--tw-text-opacity, 1));
}
.hover\:text-red-500:hover{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / 1);
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.hover\:text-red-600:hover{
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / 1);
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.hover\:text-red-700:hover{
  --tw-text-opacity: 1;
  color: rgb(185 28 28 / 1);
  color: rgb(185 28 28 / var(--tw-text-opacity, 1));
}
.hover\:text-red-900:hover{
  --tw-text-opacity: 1;
  color: rgb(127 29 29 / 1);
  color: rgb(127 29 29 / var(--tw-text-opacity, 1));
}
.hover\:text-slate-200:hover{
  --tw-text-opacity: 1;
  color: rgb(226 232 240 / 1);
  color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.hover\:text-stone-600:hover{
  --tw-text-opacity: 1;
  color: rgb(87 83 78 / 1);
  color: rgb(87 83 78 / var(--tw-text-opacity, 1));
}
.hover\:text-stone-700:hover{
  --tw-text-opacity: 1;
  color: rgb(68 64 60 / 1);
  color: rgb(68 64 60 / var(--tw-text-opacity, 1));
}
.hover\:text-stone-900:hover{
  --tw-text-opacity: 1;
  color: rgb(28 25 23 / 1);
  color: rgb(28 25 23 / var(--tw-text-opacity, 1));
}
.hover\:text-teal-400:hover{
  --tw-text-opacity: 1;
  color: rgb(45 212 191 / 1);
  color: rgb(45 212 191 / var(--tw-text-opacity, 1));
}
.hover\:text-teal-700:hover{
  --tw-text-opacity: 1;
  color: rgb(15 118 110 / 1);
  color: rgb(15 118 110 / var(--tw-text-opacity, 1));
}
.hover\:text-white:hover{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.hover\:text-white\/50:hover{
  color: rgb(255 255 255 / 0.5);
}
.hover\:text-white\/60:hover{
  color: rgb(255 255 255 / 0.6);
}
.hover\:text-white\/70:hover{
  color: rgb(255 255 255 / 0.7);
}
.hover\:text-white\/80:hover{
  color: rgb(255 255 255 / 0.8);
}
.hover\:text-white\/90:hover{
  color: rgb(255 255 255 / 0.9);
}
.hover\:text-yellow-700:hover{
  --tw-text-opacity: 1;
  color: rgb(161 98 7 / 1);
  color: rgb(161 98 7 / var(--tw-text-opacity, 1));
}
.hover\:underline:hover{
  -webkit-text-decoration-line: underline;
          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:hover{
  --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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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\(236\2c 72\2c 153\2c 0\.5\)\]:hover{
  --tw-shadow: 0 0 30px rgba(236,72,153,0.5);
  --tw-shadow-colored: 0 0 30px var(--tw-shadow-color);
  box-shadow: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-sm:hover{
  --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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.hover\:shadow-amber-500\/40:hover{
  --tw-shadow-color: rgb(245 158 11 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-pink-500\/40:hover{
  --tw-shadow-color: rgb(236 72 153 / 0.4);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-pink-500\/50:hover{
  --tw-shadow-color: rgb(236 72 153 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-purple-500\/30:hover{
  --tw-shadow-color: rgb(168 85 247 / 0.3);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-purple-500\/35:hover{
  --tw-shadow-color: rgb(168 85 247 / 0.35);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-purple-500\/50:hover{
  --tw-shadow-color: rgb(168 85 247 / 0.5);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-purple-500\/60:hover{
  --tw-shadow-color: rgb(168 85 247 / 0.6);
  --tw-shadow: var(--tw-shadow-colored);
}
.hover\:shadow-teal-500\/25:hover{
  --tw-shadow-color: rgb(20 184 166 / 0.25);
  --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), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.hover\:ring-purple-400:hover{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity, 1));
}
.focus\:border-\[\#C96D9E\]\/50:focus{
  border-color: rgb(201 109 158 / 0.5);
}
.focus\:border-amber-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(251 191 36 / 1);
  border-color: rgb(251 191 36 / var(--tw-border-opacity, 1));
}
.focus\:border-amber-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(245 158 11 / 1);
  border-color: rgb(245 158 11 / var(--tw-border-opacity, 1));
}
.focus\:border-blue-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(59 130 246 / 1);
  border-color: rgb(59 130 246 / var(--tw-border-opacity, 1));
}
.focus\:border-cyan-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(34 211 238 / 1);
  border-color: rgb(34 211 238 / var(--tw-border-opacity, 1));
}
.focus\:border-emerald-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(16 185 129 / 1);
  border-color: rgb(16 185 129 / var(--tw-border-opacity, 1));
}
.focus\:border-green-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(74 222 128 / 1);
  border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
}
.focus\:border-pink-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(236 72 153 / 1);
  border-color: rgb(236 72 153 / var(--tw-border-opacity, 1));
}
.focus\:border-pink-500\/50:focus{
  border-color: rgb(236 72 153 / 0.5);
}
.focus\:border-purple-300:focus{
  --tw-border-opacity: 1;
  border-color: rgb(216 180 254 / 1);
  border-color: rgb(216 180 254 / var(--tw-border-opacity, 1));
}
.focus\:border-purple-400:focus{
  --tw-border-opacity: 1;
  border-color: rgb(192 132 252 / 1);
  border-color: rgb(192 132 252 / var(--tw-border-opacity, 1));
}
.focus\:border-purple-400\/50:focus{
  border-color: rgb(192 132 252 / 0.5);
}
.focus\:border-purple-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(168 85 247 / 1);
  border-color: rgb(168 85 247 / var(--tw-border-opacity, 1));
}
.focus\:border-purple-500\/50:focus{
  border-color: rgb(168 85 247 / 0.5);
}
.focus\:border-red-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / 1);
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.focus\:border-teal-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / 1);
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}
.focus\:border-transparent:focus{
  border-color: transparent;
}
.focus\:border-violet-500:focus{
  --tw-border-opacity: 1;
  border-color: rgb(139 92 246 / 1);
  border-color: rgb(139 92 246 / var(--tw-border-opacity, 1));
}
.focus\:bg-accent:focus{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.focus\:bg-pink-500\/20:focus{
  background-color: rgb(236 72 153 / 0.2);
}
.focus\:bg-primary:focus{
  background-color: hsl(0 0% 9%);
  background-color: hsl(var(--primary));
}
.focus\:bg-slate-800:focus{
  --tw-bg-opacity: 1;
  background-color: rgb(30 41 59 / 1);
  background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.focus\:bg-white:focus{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / 1);
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.focus\:bg-white\/10:focus{
  background-color: rgb(255 255 255 / 0.1);
}
.focus\:text-accent-foreground:focus{
  color: hsl(0 0% 9%);
  color: hsl(var(--accent-foreground));
}
.focus\:text-primary-foreground:focus{
  color: hsl(0 0% 98%);
  color: hsl(var(--primary-foreground));
}
.focus\:opacity-100:focus{
  opacity: 1;
}
.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus\:ring-0: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(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.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), 0 0 #0000;
  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), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-4:focus{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus\:ring-\[\#C96D9E\]\/20:focus{
  --tw-ring-color: rgb(201 109 158 / 0.2);
}
.focus\:ring-\[\#C96D9E\]\/30:focus{
  --tw-ring-color: rgb(201 109 158 / 0.3);
}
.focus\:ring-amber-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(251 191 36 / var(--tw-ring-opacity, 1));
}
.focus\:ring-amber-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(245 158 11 / var(--tw-ring-opacity, 1));
}
.focus\:ring-amber-500\/20:focus{
  --tw-ring-color: rgb(245 158 11 / 0.2);
}
.focus\:ring-blue-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1));
}
.focus\:ring-cyan-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(207 250 254 / var(--tw-ring-opacity, 1));
}
.focus\:ring-emerald-200:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(167 243 208 / var(--tw-ring-opacity, 1));
}
.focus\:ring-emerald-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(16 185 129 / var(--tw-ring-opacity, 1));
}
.focus\:ring-emerald-500\/20:focus{
  --tw-ring-color: rgb(16 185 129 / 0.2);
}
.focus\:ring-gray-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity, 1));
}
.focus\:ring-green-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1));
}
.focus\:ring-green-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1));
}
.focus\:ring-orange-500\/50:focus{
  --tw-ring-color: rgb(249 115 22 / 0.5);
}
.focus\:ring-pink-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(244 114 182 / var(--tw-ring-opacity, 1));
}
.focus\:ring-pink-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(236 72 153 / var(--tw-ring-opacity, 1));
}
.focus\:ring-pink-500\/20:focus{
  --tw-ring-color: rgb(236 72 153 / 0.2);
}
.focus\:ring-pink-500\/30:focus{
  --tw-ring-color: rgb(236 72 153 / 0.3);
}
.focus\:ring-purple-100:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(243 232 255 / var(--tw-ring-opacity, 1));
}
.focus\:ring-purple-200:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(233 213 255 / var(--tw-ring-opacity, 1));
}
.focus\:ring-purple-300:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));
}
.focus\:ring-purple-400:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(192 132 252 / var(--tw-ring-opacity, 1));
}
.focus\:ring-purple-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1));
}
.focus\:ring-purple-500\/20:focus{
  --tw-ring-color: rgb(168 85 247 / 0.2);
}
.focus\:ring-purple-500\/50:focus{
  --tw-ring-color: rgb(168 85 247 / 0.5);
}
.focus\:ring-red-500\/10:focus{
  --tw-ring-color: rgb(239 68 68 / 0.1);
}
.focus\:ring-ring:focus{
  --tw-ring-color: hsl(var(--ring));
}
.focus\:ring-rose-500:focus{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(244 63 94 / var(--tw-ring-opacity, 1));
}
.focus\:ring-teal-500\/10:focus{
  --tw-ring-color: rgb(20 184 166 / 0.1);
}
.focus\:ring-white\/30:focus{
  --tw-ring-color: rgb(255 255 255 / 0.3);
}
.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-0: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(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.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), 0 0 #0000;
  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), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.focus-visible\:ring-ring:focus-visible{
  --tw-ring-color: hsl(var(--ring));
}
.focus-visible\:ring-offset-1:focus-visible{
  --tw-ring-offset-width: 1px;
}
.focus-visible\:ring-offset-2:focus-visible{
  --tw-ring-offset-width: 2px;
}
.focus-visible\:ring-offset-background:focus-visible{
  --tw-ring-offset-color: hsl(var(--background));
}
.active\:translate-y-0:active{
  --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));
}
.active\:scale-90:active{
  --tw-scale-x: .9;
  --tw-scale-y: .9;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-95:active{
  --tw-scale-x: .95;
  --tw-scale-y: .95;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.97\]:active{
  --tw-scale-x: 0.97;
  --tw-scale-y: 0.97;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.98\]:active{
  --tw-scale-x: 0.98;
  --tw-scale-y: 0.98;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:scale-\[0\.99\]:active{
  --tw-scale-x: 0.99;
  --tw-scale-y: 0.99;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.active\:cursor-grabbing:active{
  cursor: grabbing;
}
.active\:bg-amber-200:active{
  --tw-bg-opacity: 1;
  background-color: rgb(253 230 138 / 1);
  background-color: rgb(253 230 138 / var(--tw-bg-opacity, 1));
}
.active\:bg-amber-50:active{
  --tw-bg-opacity: 1;
  background-color: rgb(255 251 235 / 1);
  background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-100:active{
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / 1);
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-200:active{
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / 1);
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-300:active{
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / 1);
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.active\:bg-gray-50:active{
  --tw-bg-opacity: 1;
  background-color: rgb(249 250 251 / 1);
  background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1));
}
.active\:bg-pink-200:active{
  --tw-bg-opacity: 1;
  background-color: rgb(251 207 232 / 1);
  background-color: rgb(251 207 232 / var(--tw-bg-opacity, 1));
}
.active\:bg-slate-200:active{
  --tw-bg-opacity: 1;
  background-color: rgb(226 232 240 / 1);
  background-color: rgb(226 232 240 / var(--tw-bg-opacity, 1));
}
.active\:bg-slate-300:active{
  --tw-bg-opacity: 1;
  background-color: rgb(203 213 225 / 1);
  background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.active\:bg-slate-700:active{
  --tw-bg-opacity: 1;
  background-color: rgb(51 65 85 / 1);
  background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1));
}
.active\:bg-white\/20:active{
  background-color: rgb(255 255 255 / 0.2);
}
.active\:bg-white\/40:active{
  background-color: rgb(255 255 255 / 0.4);
}
.active\:bg-yellow-200:active{
  --tw-bg-opacity: 1;
  background-color: rgb(254 240 138 / 1);
  background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
}
.active\:text-white:active{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.active\:opacity-100:active{
  opacity: 1;
}
.active\:opacity-80:active{
  opacity: 0.8;
}
.active\:opacity-90:active{
  opacity: 0.9;
}
.disabled\:pointer-events-none:disabled{
  pointer-events: none;
}
.disabled\:cursor-not-allowed:disabled{
  cursor: not-allowed;
}
.disabled\:from-slate-700:disabled{
  --tw-gradient-from: #334155 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(51 65 85 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.disabled\:to-slate-700:disabled{
  --tw-gradient-to: #334155 var(--tw-gradient-to-position);
}
.disabled\:opacity-30:disabled{
  opacity: 0.3;
}
.disabled\:opacity-40:disabled{
  opacity: 0.4;
}
.disabled\:opacity-50:disabled{
  opacity: 0.5;
}
.disabled\:opacity-60:disabled{
  opacity: 0.6;
}
.disabled\:opacity-70:disabled{
  opacity: 0.7;
}
.group[open] .group-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[open] .group-open\: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));
}
.group:focus-within .group-focus-within\:text-pink-400{
  --tw-text-opacity: 1;
  color: rgb(244 114 182 / 1);
  color: rgb(244 114 182 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:visible{
  visibility: visible;
}
.group:hover .group-hover\: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));
}
.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-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));
}
.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));
}
.group:hover .group-hover\:scale-\[1\.02\]{
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin{

  to{
    transform: rotate(360deg);
  }
}
.group:hover .group-hover\:animate-spin{
  animation: spin 1s linear infinite;
}
.group:hover .group-hover\:bg-black\/10{
  background-color: rgb(0 0 0 / 0.1);
}
.group:hover .group-hover\:bg-black\/20{
  background-color: rgb(0 0 0 / 0.2);
}
.group:hover .group-hover\:bg-black\/30{
  background-color: rgb(0 0 0 / 0.3);
}
.group:hover .group-hover\:bg-black\/60{
  background-color: rgb(0 0 0 / 0.6);
}
.group:hover .group-hover\:bg-purple-100{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / 1);
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.group:hover .group-hover\:bg-purple-500\/20{
  background-color: rgb(168 85 247 / 0.2);
}
.group:hover .group-hover\:bg-white\/30{
  background-color: rgb(255 255 255 / 0.3);
}
.group:hover .group-hover\:text-amber-500{
  --tw-text-opacity: 1;
  color: rgb(245 158 11 / 1);
  color: rgb(245 158 11 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-blue-500{
  --tw-text-opacity: 1;
  color: rgb(59 130 246 / 1);
  color: rgb(59 130 246 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-blue-600{
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / 1);
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-gray-900{
  --tw-text-opacity: 1;
  color: rgb(17 24 39 / 1);
  color: rgb(17 24 39 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-orange-600{
  --tw-text-opacity: 1;
  color: rgb(234 88 12 / 1);
  color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-purple-400{
  --tw-text-opacity: 1;
  color: rgb(192 132 252 / 1);
  color: rgb(192 132 252 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-purple-500{
  --tw-text-opacity: 1;
  color: rgb(168 85 247 / 1);
  color: rgb(168 85 247 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-purple-600{
  --tw-text-opacity: 1;
  color: rgb(147 51 234 / 1);
  color: rgb(147 51 234 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-purple-700{
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / 1);
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-red-500{
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / 1);
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-rose-600{
  --tw-text-opacity: 1;
  color: rgb(225 29 72 / 1);
  color: rgb(225 29 72 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-teal-500{
  --tw-text-opacity: 1;
  color: rgb(20 184 166 / 1);
  color: rgb(20 184 166 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-teal-600{
  --tw-text-opacity: 1;
  color: rgb(13 148 136 / 1);
  color: rgb(13 148 136 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-violet-500{
  --tw-text-opacity: 1;
  color: rgb(139 92 246 / 1);
  color: rgb(139 92 246 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-violet-600{
  --tw-text-opacity: 1;
  color: rgb(124 58 237 / 1);
  color: rgb(124 58 237 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.group:hover .group-hover\:opacity-10{
  opacity: 0.1;
}
.group:hover .group-hover\:opacity-100{
  opacity: 1;
}
.group:hover .group-hover\:opacity-50{
  opacity: 0.5;
}
.group:hover .group-hover\:opacity-70{
  opacity: 0.7;
}
.group:hover .group-hover\:opacity-80{
  opacity: 0.8;
}
.group:hover .group-hover\: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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\: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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\: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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group:hover .group-hover\:shadow-pink-500\/20{
  --tw-shadow-color: rgb(236 72 153 / 0.2);
  --tw-shadow: var(--tw-shadow-colored);
}
.group.destructive .group-\[\.destructive\]\:border-muted\/40{
  border-color: hsl(0 0% 96.1% / 0.4);
  border-color: hsl(var(--muted) / 0.4);
}
.group.toaster .group-\[\.toaster\]\:border-border{
  border-color: hsl(0 0% 89.8%);
  border-color: hsl(var(--border));
}
.group.toast .group-\[\.toast\]\:bg-muted{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--muted));
}
.group.toast .group-\[\.toast\]\:bg-primary{
  background-color: hsl(0 0% 9%);
  background-color: hsl(var(--primary));
}
.group.toaster .group-\[\.toaster\]\:bg-background{
  background-color: hsl(0 0% 100%);
  background-color: hsl(var(--background));
}
.group.destructive .group-\[\.destructive\]\:text-red-300{
  --tw-text-opacity: 1;
  color: rgb(252 165 165 / 1);
  color: rgb(252 165 165 / var(--tw-text-opacity, 1));
}
.group.toast .group-\[\.toast\]\:text-muted-foreground{
  color: hsl(0 0% 45.1%);
  color: hsl(var(--muted-foreground));
}
.group.toast .group-\[\.toast\]\:text-primary-foreground{
  color: hsl(0 0% 98%);
  color: hsl(var(--primary-foreground));
}
.group.toaster .group-\[\.toaster\]\:text-foreground{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--foreground));
}
.group.toaster .group-\[\.toaster\]\: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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{
  border-color: hsl(0 84.2% 60.2% / 0.3);
  border-color: hsl(var(--destructive) / 0.3);
}
.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{
  background-color: hsl(0 84.2% 60.2%);
  background-color: hsl(var(--destructive));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{
  color: hsl(0 0% 98%);
  color: hsl(var(--destructive-foreground));
}
.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{
  --tw-text-opacity: 1;
  color: rgb(254 242 242 / 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:checked ~ .peer-checked\:bg-amber-500{
  --tw-bg-opacity: 1;
  background-color: rgb(245 158 11 / 1);
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-purple-500{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / 1);
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:bg-red-500{
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / 1);
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.peer:checked ~ .peer-checked\:after\:translate-x-full::after{
  content: var(--tw-content);
  --tw-translate-x: 100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.peer:checked ~ .peer-checked\:after\:border-white::after{
  content: var(--tw-content);
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / 1);
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
}
.peer:focus ~ .peer-focus\:outline-none{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.peer:focus ~ .peer-focus\:ring-4{
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 #0000;
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.peer:focus ~ .peer-focus\:ring-amber-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity, 1));
}
.peer:focus ~ .peer-focus\:ring-emerald-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity, 1));
}
.peer:focus ~ .peer-focus\:ring-purple-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(216 180 254 / var(--tw-ring-opacity, 1));
}
.peer:focus ~ .peer-focus\:ring-red-300{
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(252 165 165 / var(--tw-ring-opacity, 1));
}
.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;
}
.aria-selected\:bg-accent[aria-selected="true"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.aria-selected\:bg-accent\/50[aria-selected="true"]{
  background-color: hsl(0 0% 96.1% / 0.5);
  background-color: hsl(var(--accent) / 0.5);
}
.aria-selected\:text-accent-foreground[aria-selected="true"]{
  color: hsl(0 0% 9%);
  color: hsl(var(--accent-foreground));
}
.aria-selected\:text-muted-foreground[aria-selected="true"]{
  color: hsl(0 0% 45.1%);
  color: hsl(var(--muted-foreground));
}
.aria-selected\:opacity-100[aria-selected="true"]{
  opacity: 1;
}
.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-4[data-state="checked"]{
  --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));
}
.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-b-2[data-state="active"]{
  border-bottom-width: 2px;
}
.data-\[state\=active\]\:border-teal-500[data-state="active"]{
  --tw-border-opacity: 1;
  border-color: rgb(20 184 166 / 1);
  border-color: rgb(20 184 166 / var(--tw-border-opacity, 1));
}
.data-\[selected\=true\]\:bg-accent[data-selected="true"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.data-\[state\=active\]\:bg-background[data-state="active"]{
  background-color: hsl(0 0% 100%);
  background-color: hsl(var(--background));
}
.data-\[state\=active\]\:bg-blue-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(37 99 235 / 1);
  background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-green-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(22 163 74 / 1);
  background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-pink-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(219 39 119 / 1);
  background-color: rgb(219 39 119 / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-purple-100[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(243 232 255 / 1);
  background-color: rgb(243 232 255 / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-purple-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(147 51 234 / 1);
  background-color: rgb(147 51 234 / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-red-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(220 38 38 / 1);
  background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
}
.data-\[state\=active\]\:bg-violet-600[data-state="active"]{
  --tw-bg-opacity: 1;
  background-color: rgb(124 58 237 / 1);
  background-color: rgb(124 58 237 / var(--tw-bg-opacity, 1));
}
.data-\[state\=checked\]\:bg-primary[data-state="checked"]{
  background-color: hsl(0 0% 9%);
  background-color: hsl(var(--primary));
}
.data-\[state\=checked\]\:bg-purple-500[data-state="checked"]{
  --tw-bg-opacity: 1;
  background-color: rgb(168 85 247 / 1);
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
}
.data-\[state\=on\]\:bg-accent[data-state="on"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent[data-state="open"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:bg-accent\/50[data-state="open"]{
  background-color: hsl(0 0% 96.1% / 0.5);
  background-color: hsl(var(--accent) / 0.5);
}
.data-\[state\=open\]\:bg-secondary[data-state="open"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--secondary));
}
.data-\[state\=selected\]\:bg-muted[data-state="selected"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--muted));
}
.data-\[state\=unchecked\]\:bg-input[data-state="unchecked"]{
  background-color: hsl(0 0% 89.8%);
  background-color: hsl(var(--input));
}
.data-\[state\=active\]\:bg-gradient-to-r[data-state="active"]{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.data-\[state\=active\]\:from-purple-500[data-state="active"]{
  --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);
}
.data-\[state\=active\]\:to-pink-500[data-state="active"]{
  --tw-gradient-to: #ec4899 var(--tw-gradient-to-position);
}
.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{
  color: hsl(0 0% 45.1%);
  color: hsl(var(--muted-foreground));
}
.data-\[selected\=true\]\:text-accent-foreground[data-selected="true"]{
  color: hsl(0 0% 9%);
  color: hsl(var(--accent-foreground));
}
.data-\[state\=active\]\:text-foreground[data-state="active"]{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--foreground));
}
.data-\[state\=active\]\:text-purple-700[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(126 34 206 / 1);
  color: rgb(126 34 206 / var(--tw-text-opacity, 1));
}
.data-\[state\=active\]\:text-white[data-state="active"]{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / 1);
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.data-\[state\=checked\]\:text-primary-foreground[data-state="checked"]{
  color: hsl(0 0% 98%);
  color: hsl(var(--primary-foreground));
}
.data-\[state\=on\]\:text-accent-foreground[data-state="on"]{
  color: hsl(0 0% 9%);
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-accent-foreground[data-state="open"]{
  color: hsl(0 0% 9%);
  color: hsl(var(--accent-foreground));
}
.data-\[state\=open\]\:text-muted-foreground[data-state="open"]{
  color: hsl(0 0% 45.1%);
  color: hsl(var(--muted-foreground));
}
.data-\[disabled\=true\]\:opacity-50[data-disabled="true"]{
  opacity: 0.5;
}
.data-\[disabled\]\:opacity-50[data-disabled]{
  opacity: 0.5;
}
.data-\[state\=active\]\:shadow[data-state="active"]{
  --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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.data-\[state\=active\]\:shadow-md[data-state="active"]{
  --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: 0 0 #0000, 0 0 #0000, var(--tw-shadow);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.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));
}
.data-\[state\=open\]\:hover\:bg-accent:hover[data-state="open"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.data-\[state\=open\]\:focus\:bg-accent:focus[data-state="open"]{
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.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));
}
.dark\:border-destructive:is(.dark *){
  border-color: hsl(0 84.2% 60.2%);
  border-color: hsl(var(--destructive));
}
.dark\:bg-gray-800:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(31 41 55 / 1);
  background-color: rgb(31 41 55 / var(--tw-bg-opacity, 1));
}
.dark\:bg-gray-900:is(.dark *){
  --tw-bg-opacity: 1;
  background-color: rgb(17 24 39 / 1);
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
}
.dark\:text-gray-400:is(.dark *){
  --tw-text-opacity: 1;
  color: rgb(156 163 175 / 1);
  color: rgb(156 163 175 / var(--tw-text-opacity, 1));
}
@media (min-width: 640px){

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

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

  .sm\:bottom-0{
    bottom: 0px;
  }

  .sm\:bottom-24{
    bottom: 6rem;
  }

  .sm\:bottom-28{
    bottom: 7rem;
  }

  .sm\:bottom-3{
    bottom: 0.75rem;
  }

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

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

  .sm\:left-3{
    left: 0.75rem;
  }

  .sm\:left-6{
    left: 1.5rem;
  }

  .sm\:left-auto{
    left: auto;
  }

  .sm\:right-0{
    right: 0px;
  }

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

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

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

  .sm\:right-6{
    right: 1.5rem;
  }

  .sm\:right-auto{
    right: auto;
  }

  .sm\:top-0{
    top: 0px;
  }

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

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

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

  .sm\:top-auto{
    top: auto;
  }

  .sm\:col-span-1{
    grid-column: span 1 / span 1;
  }

  .sm\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

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

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

  .sm\:mb-0{
    margin-bottom: 0px;
  }

  .sm\:mb-1{
    margin-bottom: 0.25rem;
  }

  .sm\:mb-10{
    margin-bottom: 2.5rem;
  }

  .sm\:mb-12{
    margin-bottom: 3rem;
  }

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

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

  .sm\:mb-4{
    margin-bottom: 1rem;
  }

  .sm\:mb-6{
    margin-bottom: 1.5rem;
  }

  .sm\:mb-8{
    margin-bottom: 2rem;
  }

  .sm\:mr-1{
    margin-right: 0.25rem;
  }

  .sm\:mr-2{
    margin-right: 0.5rem;
  }

  .sm\:mt-0{
    margin-top: 0px;
  }

  .sm\:mt-10{
    margin-top: 2.5rem;
  }

  .sm\:mt-12{
    margin-top: 3rem;
  }

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

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

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

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

  .sm\:line-clamp-1{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
  }

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

  .sm\:block{
    display: block;
  }

  .sm\:inline{
    display: inline;
  }

  .sm\:flex{
    display: flex;
  }

  .sm\:grid{
    display: grid;
  }

  .sm\:hidden{
    display: none;
  }

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

  .sm\:h-10{
    height: 2.5rem;
  }

  .sm\:h-11{
    height: 2.75rem;
  }

  .sm\:h-12{
    height: 3rem;
  }

  .sm\:h-14{
    height: 3.5rem;
  }

  .sm\:h-16{
    height: 4rem;
  }

  .sm\:h-20{
    height: 5rem;
  }

  .sm\:h-24{
    height: 6rem;
  }

  .sm\:h-28{
    height: 7rem;
  }

  .sm\:h-3{
    height: 0.75rem;
  }

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

  .sm\:h-32{
    height: 8rem;
  }

  .sm\:h-36{
    height: 9rem;
  }

  .sm\:h-4{
    height: 1rem;
  }

  .sm\:h-40{
    height: 10rem;
  }

  .sm\:h-48{
    height: 12rem;
  }

  .sm\:h-5{
    height: 1.25rem;
  }

  .sm\:h-56{
    height: 14rem;
  }

  .sm\:h-6{
    height: 1.5rem;
  }

  .sm\:h-7{
    height: 1.75rem;
  }

  .sm\:h-72{
    height: 18rem;
  }

  .sm\:h-8{
    height: 2rem;
  }

  .sm\:h-80{
    height: 20rem;
  }

  .sm\:h-9{
    height: 2.25rem;
  }

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

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

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

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

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

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

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

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

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

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

  .sm\:w-10{
    width: 2.5rem;
  }

  .sm\:w-12{
    width: 3rem;
  }

  .sm\:w-14{
    width: 3.5rem;
  }

  .sm\:w-16{
    width: 4rem;
  }

  .sm\:w-20{
    width: 5rem;
  }

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

  .sm\:w-3{
    width: 0.75rem;
  }

  .sm\:w-3\.5{
    width: 0.875rem;
  }

  .sm\:w-32{
    width: 8rem;
  }

  .sm\:w-36{
    width: 9rem;
  }

  .sm\:w-4{
    width: 1rem;
  }

  .sm\:w-40{
    width: 10rem;
  }

  .sm\:w-48{
    width: 12rem;
  }

  .sm\:w-5{
    width: 1.25rem;
  }

  .sm\:w-6{
    width: 1.5rem;
  }

  .sm\:w-7{
    width: 1.75rem;
  }

  .sm\:w-72{
    width: 18rem;
  }

  .sm\:w-8{
    width: 2rem;
  }

  .sm\:w-9{
    width: 2.25rem;
  }

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

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

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

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

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

  .sm\:w-auto{
    width: auto;
  }

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

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

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

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

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

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

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

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

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

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

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

  .sm\:flex-1{
    flex: 1 1;
  }

  .sm\:flex-none{
    flex: none;
  }

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

  .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\:grid-cols-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

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

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

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

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

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

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

  .sm\:items-start{
    align-items: flex-start;
  }

  .sm\:items-end{
    align-items: flex-end;
  }

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

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

  .sm\:justify-start{
    justify-content: flex-start;
  }

  .sm\:justify-end{
    justify-content: flex-end;
  }

  .sm\:justify-between{
    justify-content: space-between;
  }

  .sm\:gap-0{
    gap: 0px;
  }

  .sm\:gap-1{
    gap: 0.25rem;
  }

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

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

  .sm\:gap-6{
    gap: 1.5rem;
  }

  .sm\:gap-8{
    gap: 2rem;
  }

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

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

  .sm\:self-auto{
    align-self: auto;
  }

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

  .sm\:overflow-visible{
    overflow: visible;
  }

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

  .sm\:rounded-2xl{
    border-radius: 1rem;
  }

  .sm\:rounded-3xl{
    border-radius: 1.5rem;
  }

  .sm\:rounded-lg{
    border-radius: 0.5rem;
    border-radius: var(--radius);
  }

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

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

  .sm\:border{
    border-width: 1px;
  }

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

  .sm\:border-gray-200{
    --tw-border-opacity: 1;
    border-color: rgb(229 231 235 / 1);
    border-color: rgb(229 231 235 / var(--tw-border-opacity, 1));
  }

  .sm\:p-1{
    padding: 0.25rem;
  }

  .sm\:p-12{
    padding: 3rem;
  }

  .sm\:p-2{
    padding: 0.5rem;
  }

  .sm\:p-2\.5{
    padding: 0.625rem;
  }

  .sm\:p-3{
    padding: 0.75rem;
  }

  .sm\:p-4{
    padding: 1rem;
  }

  .sm\:p-5{
    padding: 1.25rem;
  }

  .sm\:p-6{
    padding: 1.5rem;
  }

  .sm\:p-8{
    padding: 2rem;
  }

  .sm\:px-0{
    padding-left: 0px;
    padding-right: 0px;
  }

  .sm\:px-1\.5{
    padding-left: 0.375rem;
    padding-right: 0.375rem;
  }

  .sm\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

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

  .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-1{
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

  .sm\:py-1\.5{
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }

  .sm\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .sm\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .sm\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .sm\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .sm\:py-2{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }

  .sm\:py-2\.5{
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }

  .sm\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .sm\:py-3{
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }

  .sm\:py-4{
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sm\:py-6{
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .sm\:py-8{
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .sm\:pb-3{
    padding-bottom: 0.75rem;
  }

  .sm\:pb-8{
    padding-bottom: 2rem;
  }

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

  .sm\:pr-0{
    padding-right: 0px;
  }

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

  .sm\:pt-3{
    padding-top: 0.75rem;
  }

  .sm\:pt-4{
    padding-top: 1rem;
  }

  .sm\:pt-6{
    padding-top: 1.5rem;
  }

  .sm\:text-left{
    text-align: left;
  }

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

  .sm\:text-right{
    text-align: right;
  }

  .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-7xl{
    font-size: 4.5rem;
    line-height: 1;
  }

  .sm\:text-8xl{
    font-size: 6rem;
    line-height: 1;
  }

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

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

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

  .sm\:slide-in-from-right{
    --tw-enter-translate-x: 100%;
  }

  .group:hover .sm\:group-hover\:max-h-32{
    max-height: 8rem;
  }

  .group:hover .sm\:group-hover\:opacity-100{
    opacity: 1;
  }

  .sm\: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;
  }

  .sm\: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;
  }

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

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

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

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

  .data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state="open"]{
    --tw-enter-translate-y: 100%;
  }

  .sm\:data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state="closed"]{
    --tw-exit-translate-x: -50%;
  }

  .sm\:data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state="closed"]{
    --tw-exit-translate-y: -48%;
  }

  .sm\:data-\[state\=open\]\:slide-in-from-left-1\/2[data-state="open"]{
    --tw-enter-translate-x: -50%;
  }

  .sm\:data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state="open"]{
    --tw-enter-translate-y: -48%;
  }
}
@media (min-width: 768px){

  .md\:absolute{
    position: absolute;
  }

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

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

  .md\:row-span-2{
    grid-row: span 2 / span 2;
  }

  .md\:mb-16{
    margin-bottom: 4rem;
  }

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

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

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

  .md\:block{
    display: block;
  }

  .md\:inline{
    display: inline;
  }

  .md\:flex{
    display: flex;
  }

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

  .md\:grid{
    display: grid;
  }

  .md\:hidden{
    display: none;
  }

  .md\:h-10{
    height: 2.5rem;
  }

  .md\:h-11{
    height: 2.75rem;
  }

  .md\:h-12{
    height: 3rem;
  }

  .md\:h-14{
    height: 3.5rem;
  }

  .md\:h-16{
    height: 4rem;
  }

  .md\:h-20{
    height: 5rem;
  }

  .md\:h-32{
    height: 8rem;
  }

  .md\:h-36{
    height: 9rem;
  }

  .md\:h-40{
    height: 10rem;
  }

  .md\:h-48{
    height: 12rem;
  }

  .md\:h-5{
    height: 1.25rem;
  }

  .md\:h-6{
    height: 1.5rem;
  }

  .md\:h-64{
    height: 16rem;
  }

  .md\:h-7{
    height: 1.75rem;
  }

  .md\:h-72{
    height: 18rem;
  }

  .md\:h-80{
    height: 20rem;
  }

  .md\:h-9{
    height: 2.25rem;
  }

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

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

  .md\:w-1\/4{
    width: 25%;
  }

  .md\:w-10{
    width: 2.5rem;
  }

  .md\:w-11{
    width: 2.75rem;
  }

  .md\:w-12{
    width: 3rem;
  }

  .md\:w-14{
    width: 3.5rem;
  }

  .md\:w-16{
    width: 4rem;
  }

  .md\:w-20{
    width: 5rem;
  }

  .md\:w-24{
    width: 6rem;
  }

  .md\:w-36{
    width: 9rem;
  }

  .md\:w-40{
    width: 10rem;
  }

  .md\:w-5{
    width: 1.25rem;
  }

  .md\:w-52{
    width: 13rem;
  }

  .md\:w-6{
    width: 1.5rem;
  }

  .md\:w-64{
    width: 16rem;
  }

  .md\:w-7{
    width: 1.75rem;
  }

  .md\:w-72{
    width: 18rem;
  }

  .md\:w-80{
    width: 20rem;
  }

  .md\:w-9{
    width: 2.25rem;
  }

  .md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{
    width: var(--radix-navigation-menu-viewport-width);
  }

  .md\:w-auto{
    width: auto;
  }

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

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

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

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

  .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\:grid-cols-6{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

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

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

  .md\:items-start{
    align-items: flex-start;
  }

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

  .md\:justify-start{
    justify-content: flex-start;
  }

  .md\:justify-between{
    justify-content: space-between;
  }

  .md\:gap-10{
    gap: 2.5rem;
  }

  .md\:gap-16{
    gap: 4rem;
  }

  .md\:gap-2{
    gap: 0.5rem;
  }

  .md\:gap-3{
    gap: 0.75rem;
  }

  .md\:gap-4{
    gap: 1rem;
  }

  .md\:gap-6{
    gap: 1.5rem;
  }

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

  .md\:overflow-visible{
    overflow: visible;
  }

  .md\:rounded-2xl{
    border-radius: 1rem;
  }

  .md\:rounded-3xl{
    border-radius: 1.5rem;
  }

  .md\:p-10{
    padding: 2.5rem;
  }

  .md\:p-12{
    padding: 3rem;
  }

  .md\:p-3{
    padding: 0.75rem;
  }

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

  .md\:p-5{
    padding: 1.25rem;
  }

  .md\:p-6{
    padding: 1.5rem;
  }

  .md\:p-8{
    padding: 2rem;
  }

  .md\:px-2{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .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-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .md\:py-12{
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .md\:py-14{
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .md\:py-16{
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .md\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .md\:py-24{
    padding-top: 6rem;
    padding-bottom: 6rem;
  }

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

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

  .md\:pb-0{
    padding-bottom: 0px;
  }

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

  .md\:pt-16{
    padding-top: 4rem;
  }

  .md\:pt-6{
    padding-top: 1.5rem;
  }

  .md\:pt-8{
    padding-top: 2rem;
  }

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

  .group:hover .md\:group-hover\:opacity-100{
    opacity: 1;
  }
}
@media (min-width: 1024px){

  .lg\:sticky{
    position: -webkit-sticky;
    position: sticky;
  }

  .lg\:top-24{
    top: 6rem;
  }

  .lg\:order-1{
    order: 1;
  }

  .lg\:order-2{
    order: 2;
  }

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

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

  .lg\:mx-0{
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:block{
    display: block;
  }

  .lg\:inline{
    display: inline;
  }

  .lg\:flex{
    display: flex;
  }

  .lg\:grid{
    display: grid;
  }

  .lg\:hidden{
    display: none;
  }

  .lg\:h-40{
    height: 10rem;
  }

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

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

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

  .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\:grid-cols-7{
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }

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

  .lg\:grid-cols-\[320px_1fr\]{
    grid-template-columns: 320px 1fr;
  }

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

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

  .lg\:justify-start{
    justify-content: flex-start;
  }

  .lg\:gap-10{
    gap: 2.5rem;
  }

  .lg\:gap-12{
    gap: 3rem;
  }

  .lg\:gap-6{
    gap: 1.5rem;
  }

  .lg\:overflow-hidden{
    overflow: hidden;
  }

  .lg\:rounded-3xl{
    border-radius: 1.5rem;
  }

  .lg\:p-10{
    padding: 2.5rem;
  }

  .lg\:p-5{
    padding: 1.25rem;
  }

  .lg\:p-8{
    padding: 2rem;
  }

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

  .lg\:px-8{
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-10{
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .lg\:py-20{
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

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

  .lg\:text-2xl{
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .lg\:text-3xl{
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-4xl{
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .lg\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }

  .lg\:text-6xl{
    font-size: 3.75rem;
    line-height: 1;
  }

  .lg\:text-lg{
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .lg\:text-xl{
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}
@media (min-width: 1280px){

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

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

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

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

  .xl\:text-5xl{
    font-size: 3rem;
    line-height: 1;
  }
}
.peer:checked ~ .rtl\:peer-checked\:after\:-translate-x-full:where([dir="rtl"], [dir="rtl"] *)::after{
  content: var(--tw-content);
  --tw-translate-x: -100%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\+div\]\:text-xs+div{
  font-size: 0.75rem;
  line-height: 1rem;
}
.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){
  border-top-right-radius: calc(0.5rem - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(0.5rem - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){
  border-top-left-radius: calc(0.5rem - 2px);
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(0.5rem - 2px);
  border-bottom-left-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){
  border-radius: calc(0.5rem - 2px);
  border-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){
  background-color: hsl(0 0% 96.1%);
  background-color: hsl(var(--accent));
}
.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{
  border-top-left-radius: calc(0.5rem - 2px);
  border-top-left-radius: calc(var(--radius) - 2px);
  border-bottom-left-radius: calc(0.5rem - 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(0.5rem - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(0.5rem - 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(0 0% 96.1% / 0.5);
  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(0.5rem - 2px);
  border-top-right-radius: calc(var(--radius) - 2px);
  border-bottom-right-radius: calc(0.5rem - 2px);
  border-bottom-right-radius: calc(var(--radius) - 2px);
}
.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){
  padding-right: 0px;
}
.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{
  --tw-translate-y: 2px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.\[\&\>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-4>svg{
  width: 1rem;
  height: 1rem;
}
.\[\&\>svg\]\:h-3\.5>svg{
  height: 0.875rem;
}
.\[\&\>svg\]\:w-3\.5>svg{
  width: 0.875rem;
}
.\[\&\>svg\]\:shrink-0>svg{
  flex-shrink: 0;
}
.\[\&\>svg\]\:text-destructive>svg{
  color: hsl(0 84.2% 60.2%);
  color: hsl(var(--destructive));
}
.\[\&\>svg\]\:text-foreground>svg{
  color: hsl(0 0% 3.9%);
  color: hsl(var(--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));
}
.\[\&_\[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(0 0% 45.1%);
  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;
}
.\[\&_h3\]\:hidden h3{
  display: none;
}
.\[\&_li\]\:mb-0\.5 li{
  margin-bottom: 0.125rem;
}
.\[\&_ol\]\:mb-1 ol{
  margin-bottom: 0.25rem;
}
.\[\&_p\]\:mb-1 p{
  margin-bottom: 0.25rem;
}
.\[\&_p\]\:leading-relaxed p{
  line-height: 1.625;
}
.\[\&_strong\]\:font-bold strong{
  font-weight: 700;
}
.\[\&_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;
}
.\[\&_ul\]\:mb-1 ul{
  margin-bottom: 0.25rem;
}

/**
 * Mira Universal Bar CSS
 * The AI OS Interface for Pet Life
 */

/* ========================================
   CSS Variables for Universal Bar
   ======================================== */
:root {
  --mira-magenta: #E91E8C;
  --mira-magenta-dark: #C4177A;
  --mira-orange: #FF6B35;
  --mira-yellow: #FFD166;
  --mira-purple: #7C3AED;
  --mira-dark: #1E1B4B;
  --mira-light: #F8FAFC;
}

/* ========================================
   Universal Header Bar
   ======================================== */
.mira-universal-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* Top Banner */
.mira-universal-banner {
  background: linear-gradient(135deg, #E91E8C 0%, #7C3AED 100%);
  background: linear-gradient(135deg, var(--mira-magenta) 0%, var(--mira-purple) 100%);
  color: white;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
}

/* Main Navigation */
.mira-universal-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  gap: 24px;
}

/* Logo */
.mira-universal-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  flex-shrink: 0;
}

.mira-universal-logo svg {
  color: #E91E8C;
  color: var(--mira-magenta);
}

.mira-universal-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.mira-logo-the {
  font-size: 10px;
  color: #666;
  text-transform: lowercase;
}

.mira-logo-doggy {
  font-size: 18px;
  font-weight: 800;
  color: #E91E8C;
  color: var(--mira-magenta);
  text-transform: lowercase;
}

.mira-logo-company {
  font-size: 10px;
  color: #666;
  text-transform: lowercase;
  margin-top: -2px;
}

.mira-logo-tagline {
  font-size: 8px;
  color: #E91E8C;
  color: var(--mira-magenta);
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-left: 8px;
  padding: 2px 6px;
  border: 1px solid #E91E8C;
  border: 1px solid var(--mira-magenta);
  border-radius: 10px;
}

/* Universal Search Bar */
.mira-universal-search {
  flex: 1 1;
  max-width: 600px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #F1F5F9;
  border: 2px solid transparent;
  border-radius: 50px;
  padding: 4px 8px 4px 20px;
  transition: all 0.2s ease;
}

.mira-universal-search.focused {
  background: white;
  border-color: #E91E8C;
  border-color: var(--mira-magenta);
  box-shadow: 0 4px 20px rgba(233, 30, 140, 0.15);
}

.mira-universal-search-input {
  flex: 1 1;
  border: none;
  background: transparent;
  font-size: 14px;
  color: #1E293B;
  outline: none;
}

.mira-universal-search-input::placeholder {
  color: #94A3B8;
}

.mira-universal-voice-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: white;
  color: #E91E8C;
  color: var(--mira-magenta);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.mira-universal-voice-btn:hover {
  background: #E91E8C;
  background: var(--mira-magenta);
  color: white;
}

.mira-universal-voice-btn.listening {
  background: #E91E8C;
  background: var(--mira-magenta);
  color: white;
  animation: pulse-voice 1.5s ease-in-out infinite;
}

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

.mira-universal-search-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: none;
  background: linear-gradient(135deg, #E91E8C 0%, #7C3AED 100%);
  background: linear-gradient(135deg, var(--mira-magenta) 0%, var(--mira-purple) 100%);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.mira-universal-search-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 15px rgba(233, 30, 140, 0.3);
}

/* User/Pet Area */
.mira-universal-user {
  display: flex;
  align-items: center;
  gap: 12px;
}

.mira-universal-mira-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid #E91E8C;
  border: 2px solid var(--mira-magenta);
  background: white;
  color: #E91E8C;
  color: var(--mira-magenta);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.mira-universal-mira-btn:hover {
  background: #E91E8C;
  background: var(--mira-magenta);
  color: white;
}

.mira-universal-pet-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #FFD166;
  border: 2px solid var(--mira-yellow);
}

.mira-universal-pet-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Pillar Navigation */
.mira-universal-pillars {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 24px;
  background: #FAFAFA;
  border-top: 1px solid #E2E8F0;
  overflow-x: auto;
  scrollbar-width: none;
}

.mira-universal-pillars::-webkit-scrollbar {
  display: none;
}

.mira-universal-pillar {
  display: flex;
  align-items: center;
  padding: 6px 14px;
  border: none;
  background: transparent;
  color: #64748B;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  border-radius: 20px;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.mira-universal-pillar:hover {
  background: rgba(0, 0, 0, 0.05);
  color: var(--pillar-color);
}

.mira-universal-pillar.active {
  background: var(--pillar-color);
  color: white;
}

/* ========================================
   Mira Response Overlay
   ======================================== */
.mira-response-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 120px;
  z-index: 2000;
  animation: fadeIn 0.2s ease;
}

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

.mira-response-modal {
  width: 100%;
  max-width: 600px;
  background: white;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  animation: slideDown 0.3s ease;
}

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

.mira-response-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: linear-gradient(135deg, #E91E8C 0%, #7C3AED 100%);
  background: linear-gradient(135deg, var(--mira-magenta) 0%, var(--mira-purple) 100%);
  color: white;
}

.mira-response-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 16px;
}

.mira-response-badge {
  font-size: 11px;
  padding: 3px 10px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 20px;
  font-weight: 500;
}

.mira-response-close {
  background: transparent;
  border: none;
  color: white;
  cursor: pointer;
  padding: 4px;
  opacity: 0.8;
  transition: opacity 0.2s;
}

.mira-response-close:hover {
  opacity: 1;
}

.mira-response-content {
  padding: 24px;
}

.mira-response-loading {
  display: flex;
  justify-content: center;
  padding: 40px;
}

.mira-typing {
  display: flex;
  gap: 4px;
}

.mira-typing span {
  width: 8px;
  height: 8px;
  background: #E91E8C;
  background: var(--mira-magenta);
  border-radius: 50%;
  animation: typing-bounce 1.4s ease-in-out infinite;
}

.mira-typing span:nth-child(2) { animation-delay: 0.2s; }
.mira-typing span:nth-child(3) { animation-delay: 0.4s; }

@keyframes typing-bounce {
  0%, 80%, 100% { transform: scale(0.8); opacity: 0.5; }
  40% { transform: scale(1); opacity: 1; }
}

.mira-response-text {
  font-size: 15px;
  line-height: 1.6;
  color: #1E293B;
  margin: 0 0 20px;
}

/* Concierge Card */
.mira-concierge-card {
  background: #FEF9C3;
  border: 1px solid #FDE047;
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 20px;
}

.mira-concierge-icon {
  width: 40px;
  height: 40px;
  background: #FF6B35;
  background: var(--mira-orange);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  margin-bottom: 12px;
}

.mira-concierge-info strong {
  display: block;
  font-size: 14px;
  color: #1E293B;
  margin-bottom: 4px;
}

.mira-concierge-info p {
  font-size: 13px;
  color: #64748B;
  margin: 0 0 12px;
  line-height: 1.5;
}

.mira-concierge-btn {
  display: inline-block;
  padding: 10px 20px;
  background: #FF6B35;
  background: var(--mira-orange);
  color: white;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.mira-concierge-btn:hover {
  background: #E55A2B;
  transform: scale(1.02);
}

/* Products Grid */
.mira-response-products h4 {
  font-size: 14px;
  color: #E91E8C;
  color: var(--mira-magenta);
  margin: 0 0 12px;
  font-weight: 600;
}

.mira-response-products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 12px;
  gap: 12px;
}

.mira-response-product {
  background: #F8FAFC;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease;
}

.mira-response-product:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.mira-response-product img {
  width: 100%;
  height: 80px;
  object-fit: cover;
}

.mira-response-product-info {
  padding: 8px;
}

.mira-response-product-name {
  display: block;
  font-size: 11px;
  color: #1E293B;
  margin-bottom: 4px;
  line-height: 1.3;
}

.mira-response-product-price {
  font-size: 12px;
  font-weight: 600;
  color: #E91E8C;
  color: var(--mira-magenta);
}

/* ========================================
   Mobile Responsive
   ======================================== */
@media (max-width: 768px) {
  .mira-universal-nav {
    flex-wrap: wrap;
    padding: 12px 16px;
    gap: 12px;
  }
  
  .mira-universal-search {
    order: 3;
    max-width: 100%;
    width: 100%;
  }
  
  .mira-universal-pillars {
    justify-content: flex-start;
    padding: 8px 16px;
  }
  
  .mira-response-modal {
    margin: 0 16px;
    max-height: 80vh;
    overflow-y: auto;
  }
  
  .mira-response-products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mira product card delayed fade-in */
@keyframes miraProductFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}


/*# sourceMappingURL=main.cc429a99.css.map*/