* { -webkit-tap-highlight-color: transparent; }

.card {
  transition: opacity 0.3s ease, transform 0.2s ease;
  will-change: transform;
}
.card:active { transform: scale(0.98); }

#xp-toast {
  transform: translateY(-8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

@keyframes slide-up {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.slide-up { animation: slide-up 0.3s ease forwards; }

input, textarea, button { -webkit-appearance: none; }
textarea { font-size: 16px; }

@media (max-width: 640px) {
  .max-w-2xl { padding-left: 1rem; padding-right: 1rem; }
}
