body {
  font-family: "Manrope", sans-serif;
}
.font-space-grotesk {
  font-family: "Space Grotesk", sans-serif;
}
.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 24;
}
.tonal-shift-no-borders {
  border: none !important;
}
.glass-card {
  background: rgba(30, 31, 38, 0.7);
  backdrop-filter: blur(12px);
}
.speed-lines {
  background-image: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 40px,
    rgba(51, 52, 59, 0.1) 40px,
    rgba(51, 52, 59, 0.1) 41px
  );
}

/* Leaflet Race Map — themed to match site */
#race-map {
  background: #121319;
  position: relative;
  z-index: 0;
}
.leaflet-container {
  background: #121319 !important;
  font-family: "Manrope", sans-serif !important;
  outline: none !important;
}
.leaflet-popup-content-wrapper {
  background: #1e1f26 !important;
  color: #e3e1eb !important;
  border: 1px solid #444653 !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6) !important;
}
.leaflet-popup-tip {
  background: #1e1f26 !important;
  border: 1px solid #444653 !important;
}
.leaflet-popup-content {
  margin: 16px 18px !important;
  line-height: 1.4 !important;
}
.leaflet-popup-close-button {
  color: #c4c5d5 !important;
  font-size: 20px !important;
  padding: 6px 8px !important;
}
.leaflet-popup-close-button:hover {
  color: #b7c4ff !important;
  background: transparent !important;
}
.leaflet-control-zoom a {
  background: rgba(30, 31, 38, 0.9) !important;
  color: #b7c4ff !important;
  border: 1px solid #444653 !important;
  border-radius: 0 !important;
  font-family: "Inter", sans-serif !important;
}
.leaflet-control-zoom a:hover {
  background: #2646ad !important;
  color: #fff !important;
}
.leaflet-control-attribution {
  background: rgba(30, 31, 38, 0.85) !important;
  color: #8e909e !important;
  font-size: 10px !important;
  font-family: "Inter", sans-serif !important;
}
.leaflet-control-attribution a {
  color: #b7c4ff !important;
}
.race-marker-pulse {
  animation: race-pulse 2s ease-in-out infinite;
}
@keyframes race-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.85;
  }
}
