@import "tailwindcss";
@import "tw-animate-css";

@custom-variant dark (&:is(.dark *));

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --font-sans: var(--font-geist-sans);
  --font-mono: var(--font-geist-mono);
  --color-sidebar-ring: var(--sidebar-ring);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar: var(--sidebar);
  --color-chart-5: var(--chart-5);
  --color-chart-4: var(--chart-4);
  --color-chart-3: var(--chart-3);
  --color-chart-2: var(--chart-2);
  --color-chart-1: var(--chart-1);
  --color-ring: var(--ring);
  --color-input: var(--input);
  --color-border: var(--border);
  --color-destructive: var(--destructive);
  --color-accent-foreground: var(--accent-foreground);
  --color-accent: var(--accent);
  --color-muted-foreground: var(--muted-foreground);
  --color-muted: var(--muted);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-secondary: var(--secondary);
  --color-primary-foreground: var(--primary-foreground);
  --color-primary: var(--primary);
  --color-popover-foreground: var(--popover-foreground);
  --color-popover: var(--popover);
  --color-card-foreground: var(--card-foreground);
  --color-card: var(--card);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);
}

:root {
  --radius: 0.625rem;

  /* Custom gradient color scheme */
  --background: #1a3638; /* Dark teal base */
  --foreground: #ffffff; /* White text for contrast */
  --card: rgba(255, 255, 255, 0.1); /* Semi-transparent white cards */
  --card-foreground: #ffffff; /* White text */
  --popover: rgba(26, 54, 56, 0.95); /* Dark teal popover */
  --popover-foreground: #ffffff; /* White text */

  /* Primary colors - gradient from pink to purple */
  --primary: #ee6285; /* Pink gradient start */
  --primary-foreground: #ffffff; /* White text */

  /* Secondary colors - gradient from pink to purple */
  --secondary: #bb56d2; /* Purple gradient end */
  --secondary-foreground: #ffffff; /* White text */

  /* Accent colors - using gradient colors */
  --accent: #ee6285; /* Pink accent */
  --accent-foreground: #ffffff; /* White text */

  /* Error colors */
  --destructive: #ff4757; /* Vibrant red */
  --destructive-foreground: #ffffff; /* White text */

  /* Neutral colors with gradient influence */
  --muted: rgba(255, 255, 255, 0.1); /* Semi-transparent white */
  --muted-foreground: #a0a0a0; /* Muted white */

  /* Border and input colors */
  --border: rgba(255, 255, 255, 0.2); /* Semi-transparent white borders */
  --input: rgba(255, 255, 255, 0.1); /* Semi-transparent input backgrounds */
  --ring: #ee6285; /* Pink ring color */

  /* Chart colors - using gradient palette */
  --chart-1: #ee6285; /* Pink */
  --chart-2: #bb56d2; /* Purple */
  --chart-3: #9837b6; /* Dark purple */
  --chart-4: #1a3638; /* Dark teal */
  --chart-5: #ff4757; /* Red */

  /* Sidebar colors */
  --sidebar: rgba(26, 54, 56, 0.9); /* Dark teal sidebar */
  --sidebar-foreground: #ffffff; /* White text */
  --sidebar-primary: #ee6285; /* Pink primary */
  --sidebar-primary-foreground: #ffffff; /* White text */
  --sidebar-accent: #bb56d2; /* Purple accent */
  --sidebar-accent-foreground: #ffffff; /* White text */
  --sidebar-border: rgba(255, 255, 255, 0.1); /* Semi-transparent borders */
  --sidebar-ring: #ee6285; /* Pink ring */
}

.dark {
  /* Enhanced dark theme with custom gradient colors */
  --background: #0f1f20; /* Darker teal for dark theme */
  --foreground: #ffffff; /* White text */
  --card: rgba(255, 255, 255, 0.05); /* Very subtle white cards */
  --card-foreground: #ffffff; /* White text */
  --popover: rgba(15, 31, 32, 0.95); /* Darker teal popover */
  --popover-foreground: #ffffff; /* White text */

  /* Primary colors - enhanced vibrancy */
  --primary: #ff6b8a; /* Brighter pink for dark theme */
  --primary-foreground: #ffffff; /* White text */

  /* Secondary colors - enhanced purple */
  --secondary: #c766e0; /* Brighter purple for dark theme */
  --secondary-foreground: #ffffff; /* White text */

  /* Accent colors - enhanced pink */
  --accent: #ff6b8a; /* Brighter pink for dark theme */
  --accent-foreground: #ffffff; /* White text */

  /* Error colors */
  --destructive: #ff4757; /* Vibrant red */
  --destructive-foreground: #ffffff; /* White text */

  /* Neutral colors with more transparency */
  --muted: rgba(255, 255, 255, 0.05); /* Very subtle white */
  --muted-foreground: #888888; /* Muted white */

  /* Border and input colors */
  --border: rgba(255, 255, 255, 0.1); /* Subtle white borders */
  --input: rgba(255, 255, 255, 0.05); /* Very subtle input backgrounds */
  --ring: #ff6b8a; /* Brighter pink ring */

  /* Chart colors - enhanced vibrancy */
  --chart-1: #ff6b8a; /* Bright pink */
  --chart-2: #c766e0; /* Bright purple */
  --chart-3: #9837b6; /* Dark purple */
  --chart-4: #0f1f20; /* Dark teal */
  --chart-5: #ff4757; /* Red */

  /* Sidebar colors */
  --sidebar: rgba(15, 31, 32, 0.9); /* Darker teal sidebar */
  --sidebar-foreground: #ffffff; /* White text */
  --sidebar-primary: #ff6b8a; /* Bright pink primary */
  --sidebar-primary-foreground: #ffffff; /* White text */
  --sidebar-accent: #c766e0; /* Bright purple accent */
  --sidebar-accent-foreground: #ffffff; /* White text */
  --sidebar-border: rgba(255, 255, 255, 0.05); /* Very subtle borders */
  --sidebar-ring: #ff6b8a; /* Bright pink ring */
}

@layer base {
  * {
    @apply border-border outline-ring/50;
  }
  body {
    background: linear-gradient(135deg, #1a3638 0%, #9837b6 100%);
    min-height: 100vh;
    @apply text-foreground;
  }
}

/* Gradient background utilities */
.gradient-bg {
  background: linear-gradient(#1a3638 0%, #9837b6 100%);
}

.gradient-bg-alt {
  background: linear-gradient(135deg, #ee6285 0%, #bb56d2 100%);
}

.gradient-text {
  background: linear-gradient(135deg, #ee6285 0%, #bb56d2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gradient-border {
  border: 1px solid;
  border-image: linear-gradient(135deg, #ee6285, #bb56d2) 1;
}

/* Button and badge gradient styles */
.gradient-button {
  background: linear-gradient(135deg, #ee6285 0%, #bb56d2 100%);
  border: none;
  color: white;
  transition: all 0.3s ease;
}

.gradient-button:hover {
  background: linear-gradient(135deg, #ff6b8a 0%, #c766e0 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(238, 98, 133, 0.4);
}

.gradient-badge {
  background: linear-gradient(135deg, #ee6285 0%, #bb56d2 100%);
  color: white;
  border: none;
}

/* Card gradient overlays */
.card-gradient {
  background: linear-gradient(
    135deg,
    rgba(238, 98, 133, 0.1) 0%,
    rgba(187, 86, 210, 0.1) 100%
  );
}

/* Custom AudioPlayer Styles - Custom Gradient Theme */
.custom-audio-player {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 12px !important;
}

.custom-audio-player .rhap_container {
  background: rgba(255, 255, 255, 0.05) !important;
  box-shadow: 0 4px 20px rgba(238, 98, 133, 0.2) !important;
  border-radius: 12px !important;
  padding: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.custom-audio-player .rhap_progress-section {
  height: 24px !important;
  margin: 8px 0 !important;
}

.custom-audio-player .rhap_progress-bar {
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 6px !important;
  height: 6px !important;
}

.custom-audio-player .rhap_progress-filled {
  background: linear-gradient(90deg, #ee6285 0%, #bb56d2 100%) !important;
  border-radius: 6px !important;
  box-shadow: 0 0 10px rgba(238, 98, 133, 0.5) !important;
}

.custom-audio-player .rhap_progress-indicator {
  background: linear-gradient(135deg, #ee6285, #bb56d2) !important;
  border: 3px solid #ffffff !important;
  box-shadow: 0 0 15px rgba(238, 98, 133, 0.8) !important;
  width: 16px !important;
  height: 16px !important;
  top: -5px;
}

.custom-audio-player .rhap_controls-section {
  margin-top: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.custom-audio-player .rhap_play-pause-button {
  color: #ee6285 !important;
  font-size: 24px !important;
  transition: all 0.3s ease !important;
}

.custom-audio-player .rhap_play-pause-button:hover {
  color: #bb56d2 !important;
  transform: scale(1.1) !important;
}

.custom-audio-player .rhap_time {
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.custom-audio-player .rhap_volume-button {
  color: #ee6285 !important;
  transition: color 0.3s ease !important;
}

.custom-audio-player .rhap_volume-button:hover {
  color: #bb56d2 !important;
}

.custom-audio-player .rhap_volume-bar {
  background: rgba(255, 255, 255, 0.2) !important;
  border-radius: 4px !important;
}

.custom-audio-player .rhap_volume-indicator {
  background: linear-gradient(90deg, #ee6285, #bb56d2) !important;
  border-radius: 4px !important;
  box-shadow: 0 0 8px rgba(238, 98, 133, 0.6) !important;
}
