body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; }
a { text-decoration: none; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-in-up { animation: fadeInUp 420ms ease both; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.animate-fade-in { animation: fadeIn 420ms ease both; }
.loader { width: 56px; height: 56px; border-radius: 9999px; border: 6px solid rgba(255,255,255,0.06); border-top-color: #60a5fa; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.opacity-0 { opacity: 0; }
.translate-y-6 { transform: translateY(24px); }
.card-item { transition: transform 220ms ease, opacity 220ms ease; }
.card-item:hover { transform: translateY(-6px) scale(1.02); }
