/* Custom styles for Daily Discipline */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap');

body {
  font-family: 'Inter', sans-serif;
  background: linear-gradient(135deg, #fef3c7 0%, #f5f5f4 100%);
  min-height: 100vh;
}

.font-serif {
  font-family: 'Playfair Display', serif;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f5f9;
}

::-webkit-scrollbar-thumb {
  background: #d4b896;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #b39975;
}

/* Smooth transitions for all interactive elements */
button, input, .hover\:scale-105:hover {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Custom focus styles */
input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
}

button:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.3);
}

/* Gentle pulsing animation for active timer */
.timer-active {
  animation: gentlePulse 2s ease-in-out infinite;
}

@keyframes gentlePulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.02);
    opacity: 0.95;
  }
}

/* Floating animation for breakthrough modal */
@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
}

.animate-float {
  animation: float 3s ease-in-out infinite;
}

/* Custom gradient backgrounds */
.bg-zen-gradient {
  background: linear-gradient(135deg, #f7f3e9 0%, #ffffff 50%, #f0f4f0 100%);
}

/* Improved shadows */
.shadow-zen {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Typography improvements */
.text-zen {
  color: #4a5568;
  line-height: 1.7;
}

/* Custom animations for progress ring */
.progress-ring-circle {
  transition: stroke-dashoffset 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover effects for interactive elements */
.card-hover:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Mobile responsiveness improvements */
@media (max-width: 768px) {
  .text-6xl {
    font-size: 3rem;
  }
  
  .text-4xl {
    font-size: 2rem;
  }
  
  .grid-cols-7 {
    gap: 0.5rem;
  }
}