body {
  font-family: 'Inter', sans-serif;
}

.dark ::-webkit-scrollbar { width: 6px; height: 6px; }
.dark ::-webkit-scrollbar-track { background: #1e293b; }
.dark ::-webkit-scrollbar-thumb { background: #475569; border-radius: 3px; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp .35s ease both; }

.grad-text {
  background: linear-gradient(135deg, #f59e0b, #fb923c, #fbbf24);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.item-card { transition: transform 0.15s ease, box-shadow 0.15s ease; }
.item-card:hover { transform: translateY(-2px); }

.stat-card { transition: transform 0.15s ease; }
.stat-card:hover { transform: translateY(-1px); }

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Record low badge pulsing animation */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(245, 158, 11, 0.4); }
  50% { box-shadow: 0 0 0 6px rgba(245, 158, 11, 0); }
}
.record-low-badge {
  animation: pulse-glow 2s infinite;
}

/* Record low banner shimmer */
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.record-low-banner {
  background-size: 200% auto;
  animation: shimmer 3s linear infinite;
}
