* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #000;
}

#game {
  display: block;
  width: 100%;
  height: 100%;
}

/* Canvas HUD handles its own positioning */
#hud-canvas {
  image-rendering: auto;
}

/* minimap styles handled in js/minimap.js */

/* Soft sunset vignette — cheap CSS "post-processing" that focuses
   the eye on the track and warms the frame edges. */
#vignette {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  background:
    radial-gradient(ellipse 120% 90% at 50% 42%,
      rgba(0,0,0,0) 55%,
      rgba(30,8,24,0.28) 82%,
      rgba(16,4,20,0.5) 100%);
}

/* Loading overlay — removed by js/game.js after the first rendered frame */
#loading {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: linear-gradient(180deg, #1a1a3e 0%, #5b2a4a 55%, #b3541e 100%);
  color: #fff;
  font-family: 'Orbitron', 'Impact', sans-serif;
  font-weight: 900;
  font-size: clamp(28px, 6vw, 54px);
  letter-spacing: 6px;
  text-shadow: 0 0 40px rgba(255,120,40,0.7), 0 4px 16px rgba(0,0,0,0.8);
  z-index: 400;
  transition: opacity 0.6s;
}

#loading span {
  font-size: clamp(11px, 1.6vw, 15px);
  font-weight: 400;
  letter-spacing: 4px;
  opacity: 0.75;
  animation: loadingPulse 1.4s ease-in-out infinite;
}

#loading.done {
  opacity: 0;
  pointer-events: none;
}

@keyframes loadingPulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 0.9; }
}

#controls {
  position: fixed;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Racing Sans One', 'Impact', 'Arial Black', sans-serif;
  font-size: 13px;
  color: #fff;
  opacity: 0.55;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
  pointer-events: none;
  letter-spacing: 2px;
}

/* Phone-sized viewports: scale the corner gauges down so the HUD gauge
   (220px, bottom-left) and the minimap (180px, bottom-right) never
   overlap, and keep the bottom hint inside the frame. */
@media (max-width: 600px) {
  #hud-canvas {
    transform: scale(0.62);
    transform-origin: bottom left;
  }
  #minimap {
    transform: scale(0.62);
    transform-origin: bottom right;
  }
  #controls {
    font-size: 10px;
    letter-spacing: 1px;
    max-width: 94vw;
    text-align: center;
  }
}
