h1 { font-family: Arial, Helvetica, sans-serif; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

@keyframes modal-in {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.animate-modal-in {
  animation: modal-in 0.18s ease-out;
}

@keyframes toast-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-toast-in {
  animation: toast-in 0.2s ease-out;
}

@keyframes shake {
  10%, 90% { transform: translateX(-1px); }
  20%, 80% { transform: translateX(2px); }
  30%, 50%, 70% { transform: translateX(-4px); }
  40%, 60% { transform: translateX(4px); }
}
.animate-shake {
  animation: shake 0.4s;
}

@keyframes pulse-slow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(244, 63, 94, 0.25); }
  50% { box-shadow: 0 0 0 6px rgba(244, 63, 94, 0.05); }
}
.animate-pulse-slow {
  animation: pulse-slow 2s ease-in-out infinite;
}
