@keyframes float-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulse-dot {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.18);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0.8;
  }
}

.fade-in {
  animation: float-in 0.4s ease-out both;
}

.pulse {
  animation: pulse-dot 1.8s ease-in-out infinite;
}

.grid-halo {
  background-image: radial-gradient(circle at top, rgba(200, 165, 85, 0.15), transparent 55%),
    linear-gradient(to right, rgba(27, 27, 23, 0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(27, 27, 23, 0.05) 1px, transparent 1px);
  background-size: 100% 100%, 64px 64px, 64px 64px;
}
