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

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

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

.task-card {
  animation: fadeIn 0.3s ease-out;
}

.suggestion-reveal {
  animation: scaleIn 0.4s ease-out;
}

.toast {
  animation: slideUp 0.3s ease-out;
}

/* Subtle pulse for the suggestion box */
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
  50% {
    box-shadow: 0 25px 30px -5px rgba(139, 92, 246, 0.3), 0 10px 10px -5px rgba(239, 68, 68, 0.2);
  }
}

.suggestion-reveal {
  animation: scaleIn 0.4s ease-out, pulse 2s ease-in-out 0.4s;
}

/* Smooth transitions */
* {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Focus styles for accessibility */
button:focus-visible,
input:focus-visible {
  outline: 2px solid #8B5CF6;
  outline-offset: 2px;
}