@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
body {
  font-family: 'Noto Sans JP', 'Montserrat', sans-serif;
  -webkit-tap-highlight-color: transparent;
}
.diagnostic-overlay {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.diagnostic-overlay.active {
  opacity: 1;
  visibility: visible;
}
@keyframes stamp-active {
  0% { transform: scale(3); opacity: 0; }
  50% { transform: scale(0.8); opacity: 0.8; }
  100% { transform: scale(1); opacity: 1; }
}
.animate-stamp {
  animation: stamp-active 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
