/* Traffic light glow animations */
@keyframes pulse-green {
  0%, 100% { box-shadow: 0 0 15px 5px rgba(34, 197, 94, 0.6); }
  50% { box-shadow: 0 0 25px 10px rgba(34, 197, 94, 0.8); }
}
@keyframes pulse-yellow {
  0%, 100% { box-shadow: 0 0 15px 5px rgba(234, 179, 8, 0.6); }
  50% { box-shadow: 0 0 25px 10px rgba(234, 179, 8, 0.8); }
}
@keyframes pulse-orange {
  0%, 100% { box-shadow: 0 0 15px 5px rgba(249, 115, 22, 0.6); }
  50% { box-shadow: 0 0 25px 10px rgba(249, 115, 22, 0.8); }
}
@keyframes pulse-red {
  0%, 100% { box-shadow: 0 0 15px 5px rgba(239, 68, 68, 0.6); }
  50% { box-shadow: 0 0 25px 10px rgba(239, 68, 68, 0.8); }
}

.light-active-green {
  background-color: #22c55e !important;
  border-color: #16a34a !important;
  animation: pulse-green 2s ease-in-out infinite;
}
.light-active-yellow {
  background-color: #eab308 !important;
  border-color: #ca8a04 !important;
  animation: pulse-yellow 2s ease-in-out infinite;
}
.light-active-orange {
  background-color: #f97316 !important;
  border-color: #ea580c !important;
  animation: pulse-orange 2s ease-in-out infinite;
}
.light-active-red {
  background-color: #ef4444 !important;
  border-color: #dc2626 !important;
  animation: pulse-red 2s ease-in-out infinite;
}

/* Progress bar animation */
.progress-bar {
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Score counter animation */
@keyframes count-up {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.score-animate {
  animation: count-up 0.5s ease-out;
}

/* Toast animation */
.toast-show {
  transform: translateY(0) !important;
  opacity: 1 !important;
}

/* Slider styling */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 6px;
  border-radius: 3px;
  background: #e2e8f0;
  outline: none;
}
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #006837;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 104, 55, 0.3);
}
input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #006837;
  cursor: pointer;
  border: none;
  box-shadow: 0 2px 6px rgba(0, 104, 55, 0.3);
}

/* Advisory card hover */
.advisory-card {
  transition: all 0.2s ease;
}
.advisory-card:hover {
  transform: translateX(4px);
}

/* Number input spinner hide */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  opacity: 1;
}
