@tailwind base;
@tailwind components;
@tailwind utilities;

/* Enhanced highlight effect for sections when navigated to via anchor links */
.highlight-section {
  animation: enhanced-highlight 2.5s ease-in-out, attention-pulse 0.4s ease-in-out 2 2.5s;
  scroll-margin-top: 100px; /* Ensures the element isn't hidden behind fixed headers */
  background-color: rgba(30, 181, 58, 0.06); /* Subtle persistent background */
  border-radius: 6px;
  padding: 8px 12px; /* Contained padding */
  margin: 2px 0; /* Small margin to avoid affecting layout */
  border-left: 3px solid rgba(30, 181, 58, 0.7); /* Contained left border */
  border: 1px solid rgba(30, 181, 58, 0.2); /* Subtle full border */
  position: relative;
  transition: all 0.3s ease;
  overflow: hidden; /* Contain any effects within the element */
}

/* Remove effects after animation */
.highlight-section.fade-out {
  background-color: rgba(30, 181, 58, 0.03);
  border-left-color: rgba(30, 181, 58, 0.4);
  border-color: rgba(30, 181, 58, 0.1);
}

@keyframes enhanced-highlight {
  0% {
    background-color: rgba(30, 181, 58, 0.18); /* Contained initial highlight */
    border-left-color: rgba(30, 181, 58, 0.9);
    border-color: rgba(30, 181, 58, 0.3);
  }
  30% {
    background-color: rgba(30, 181, 58, 0.22);
    border-left-color: rgba(30, 181, 58, 1);
    border-color: rgba(30, 181, 58, 0.4);
  }
  70% {
    background-color: rgba(30, 181, 58, 0.12);
    border-left-color: rgba(30, 181, 58, 0.8);
    border-color: rgba(30, 181, 58, 0.25);
  }
  100% {
    background-color: rgba(30, 181, 58, 0.06);
    border-left-color: rgba(30, 181, 58, 0.7);
    border-color: rgba(30, 181, 58, 0.2);
  }
}

/* Subtle attention pulse without glow */
@keyframes attention-pulse {
  0%, 100% {
    background-color: rgba(30, 181, 58, 0.06);
    border-left-color: rgba(30, 181, 58, 0.7);
  }
  50% {
    background-color: rgba(30, 181, 58, 0.1);
    border-left-color: rgba(30, 181, 58, 0.8);
  }
}


body {
  font-family: Arial, Helvetica, sans-serif;
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }
  
  /* Hide scrollbars while maintaining scroll functionality */
  .scrollbar-hide {
    -ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox */
  }
  .scrollbar-hide::-webkit-scrollbar {
    display: none;  /* Safari and Chrome */
  }
}

@layer base {
  :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;
    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
  .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%;
    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
}

@layer base {
  * {
    @apply border-border;
  }
  body {
    @apply bg-background text-foreground;
  }
}

/* Enhanced search result highlighting */
.search-highlight-text {
  background: linear-gradient(120deg, rgba(30, 181, 58, 0.2) 0%, rgba(30, 181, 58, 0.3) 50%, rgba(30, 181, 58, 0.2) 100%);
  padding: 2px 4px;
  border-radius: 4px;
  font-weight: 600;
  color: rgba(10, 123, 36, 1);
  box-shadow: 0 1px 2px rgba(30, 181, 58, 0.1);
}

/* Style for highlighted text in search results */
mark {
  background-color: rgba(30, 181, 58, 0.2);
  color: inherit;
  padding: 0 2px;
  border-radius: 2px;
}

/* Custom styles for audio progress slider thumb */
.audio-progress-slider::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default appearance */
  appearance: none;
  width: 16px; /* Set a specific slider handle width */
  height: 16px; /* Slider handle height */
  background: #10B981; /* Emerald-500 / Green color */
  border-radius: 50%; /* Circular thumb */
  cursor: pointer; /* Cursor on hover */
  margin-top: -3px; /* Adjust vertical position. Move thumb further down for better centering. */
}

.audio-progress-slider::-moz-range-thumb {
  width: 16px; /* Set a specific slider handle width */
  height: 16px; /* Slider handle height */
  background: #10B981; /* Emerald-500 / Green color */
  border-radius: 50%; /* Circular thumb */
  cursor: pointer; /* Cursor on hover */
  border: none; /* Remove default border in Firefox */
  margin-top: -3px; /* Move thumb further down for better centering in Firefox. */
}

/* Optional: Style the track itself if needed */
/*
.audio-progress-slider::-webkit-slider-runnable-track {
  height: 4px;
  background: #D1D5DB; 
  border-radius: 3px;
}

.audio-progress-slider::-moz-range-track {
  height: 4px;
  background: #D1D5DB; 
  border-radius: 3px;
}
*/
