html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background-color: #f8faf8;
  color: #111;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.animate-pulse-dot {
  animation: pulse-dot 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.bg-traffic-green { background-color: #22c55e; }
.bg-traffic-yellow { background-color: #f59e0b; }
.bg-traffic-red { background-color: #ef4444; }
.text-traffic-green { color: #22c55e; }
.text-traffic-yellow { color: #f59e0b; }
.text-traffic-red { color: #ef4444; }
.fill-traffic-yellow { fill: #f59e0b; }
