/* ===============================
   🎯 ANIMATIONS
================================ */

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

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

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

/* ===============================
   🔄 LOADER
================================ */

.spin {
  width: 28px;
  height: 28px;
  border: 3px solid #eee;
  border-top-color: #e94560;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  margin: 0 auto 12px;
}

/* ===============================
   ✨ ANIMATION HELPERS
================================ */

.animate-fade-in {
  animation: fadeIn 0.3s ease both;
}

.animate-scale-in {
  animation: scaleIn 0.25s ease both;
}

/* ===============================
   💎 REUSABLE UI COMPONENTS
================================ */

/* Pill Indicators */
.pill {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  border: 1px solid;
  transition: all 0.2s ease;
  cursor: default;
}

.pill:hover {
  transform: scale(1.05);
}

.pill.green {
  background: #ecfdf5;
  color: #047857;
  border-color: #a7f3d0;
}

.pill.yellow {
  background: #fffbeb;
  color: #b45309;
  border-color: #fde68a;
}

.pill.red {
  background: #fef2f2;
  color: #b91c1c;
  border-color: #fecaca;
}

/* ===============================
   🔘 BUTTON SYSTEM
================================ */

.primary-btn {
  background: linear-gradient(to right, #e94560, #ff6b81);
  color: white;
  padding: 12px 24px;
  border-radius: 12px;
  font-weight: 600;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.primary-btn:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}

.primary-btn:active {
  transform: scale(0.96);
}

/* Secondary Button */
.secondary-btn {
  background: white;
  border: 1px solid #ddd;
  padding: 12px 20px;
  border-radius: 12px;
  color: #555;
  transition: all 0.2s ease;
}

.secondary-btn:hover {
  background: #f5f5f5;
}

/* Sample Buttons */
.sample-btn {
  padding: 6px 14px;
  font-size: 12px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  transition: all 0.2s ease;
}

.sample-btn:hover {
  background: #1a1a2e;
  color: white;
  transform: translateY(-1px);
}

.sample-btn:active {
  transform: scale(0.95);
}

/* ===============================
   📦 CARD SYSTEM
================================ */

.card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  animation: fadeIn 0.3s ease;
}

/* Section Title */
.section-title {
  font-size: 14px;
  font-weight: 600;
  color: #374151;
}

/* ===============================
   🌙 DARK MODE SUPPORT
================================ */

.dark .card {
  background: #1e293b;
  border-color: #334155;
}

.dark .secondary-btn {
  background: #1e293b;
  color: #e5e7eb;
  border-color: #334155;
}

.dark .sample-btn {
  background: #1e293b;
  color: #cbd5f5;
}

.dark .sample-btn:hover {
  background: #e94560;
  color: white;
}

.dark .pill.green {
  background: #064e3b;
  color: #6ee7b7;
}

.dark .pill.yellow {
  background: #78350f;
  color: #facc15;
}

.dark .pill.red {
  background: #7f1d1d;
  color: #f87171;
}

/* ===============================
   📱 RESPONSIVE ENHANCEMENTS
================================ */

@media (min-width: 768px) {
  textarea {
    min-height: 220px;
  }
}

@media (min-width: 1024px) {
  h1 {
    font-size: 26px;
  }
}

@media (min-width: 1440px) {
  h1 {
    font-size: 30px;
  }
}