@keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes grow {
  from {
    transform: scale(0.8);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.animate-fade {
  animation: fade 0.6s ease-in-out;
}

.animate-grow {
  animation: grow 0.8s ease-out;
}

/* Custom Color Palette */
:root {
  --color-white: #FFFFFF;
  --color-beige-light: #F5F0E8;
  --color-blue-dusty: #A8B8C8;
  --color-blue-gray: #6B7A8A;
  --color-blue-dark-soft: #4A5A6A;
}

/* Custom Color Classes */
.text-primary { color: #4A5A6A; }
.text-primary-light { color: #6B7A8A; }
.text-primary-lighter { color: #A8B8C8; }
.bg-primary { background-color: #4A5A6A; }
.bg-primary-light { background-color: #6B7A8A; }
.bg-primary-lighter { background-color: #A8B8C8; }
.bg-beige { background-color: #F5F0E8; }
.border-primary { border-color: #4A5A6A; }
.border-primary-light { border-color: #6B7A8A; }
.border-primary-lighter { border-color: #A8B8C8; }
.hover\:text-primary:hover { color: #4A5A6A; }
.hover\:bg-primary:hover { background-color: #4A5A6A; }
.hover\:bg-primary-light:hover { background-color: #6B7A8A; }

/* Progress Bar Styles */
.progress-container {
  width: 100%;
  background-color: #E8E3D9;
  border-radius: 10px;
  overflow: hidden;
  height: 24px;
  position: relative;
}

.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #6B7A8A 0%, #A8B8C8 100%);
  border-radius: 10px;
  transition: width 0.6s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 12px;
  font-weight: 600;
}

/* Module Card Styles */
.module-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.module-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(107, 122, 138, 0.15);
}

.lesson-section {
  border-left: 4px solid #6B7A8A;
  padding-left: 20px;
  margin-bottom: 24px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #F5F0E8;
}

::-webkit-scrollbar-thumb {
  background: #6B7A8A;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #4A5A6A;
}
