#hud {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 100;
}

#speedometer {
  position: absolute;
  bottom: 28px;
  right: 28px;
  width: 160px;
  background: rgba(8, 10, 20, 0.85);
  border: 1px solid rgba(0, 212, 255, 0.25);
  border-radius: 12px;
  padding: 14px 16px;
  text-align: center;
}

.speed-value {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}

.speed-value .unit {
  font-size: 0.7rem;
  color: #6a8aaa;
  margin-left: 4px;
}

.gear {
  font-size: 1.1rem;
  color: #00d4ff;
  margin: 4px 0 8px;
  font-weight: 600;
}

.rpm-bar {
  height: 4px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
  overflow: hidden;
}

#rpm-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #00d4ff, #ff4d8d);
  transition: width 0.08s linear;
}

#vehicle-name-display{font-size:.9rem;font-weight:950;letter-spacing:.08em;color:#fff;margin-bottom:9px;text-transform:uppercase;text-shadow:0 0 12px rgba(0,212,255,.35)}

#vehicle-status {
  position: absolute;
  bottom: 28px;
  left: 28px;
  width: 180px;
  background: rgba(8, 10, 20, 0.85);
  border: 1px solid rgba(0, 212, 255, 0.2);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.75rem;
}

.stat-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.stat-row:last-child {
  margin-bottom: 0;
}

.stat-row span:first-child {
  width: 42px;
  color: #8a9aaa;
  font-weight: 600;
}

.stat-row .bar {
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,0.1);
  border-radius: 3px;
  overflow: hidden;
}

.stat-row .bar div {
  height: 100%;
  width: 100%;
  border-radius: 3px;
  transition: width 0.2s;
}

#fuel-bar { background: linear-gradient(90deg, #ffaa00, #00d4ff); }
#cond-bar { background: linear-gradient(90deg, #ff4d4d, #00ff88); }
#nitro-bar { background: linear-gradient(90deg, #7b5cff, #00d4ff); }

.stat-row span:last-child {
  width: 36px;
  text-align: right;
  color: #c0c8d8;
}

#top-bar {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 24px;
  background: rgba(8, 10, 20, 0.8);
  border: 1px solid rgba(0, 212, 255, 0.2);
  border-radius: 10px;
  padding: 8px 22px;
}

#money-display {
  font-size: 1.15rem;
  font-weight: 700;
  color: #00ff9d;
}

#wanted-stars {
  color: #ffcc00;
  letter-spacing: 2px;
  font-size: 1rem;
  min-width: 60px;
  text-align: center;
}

#level-display {
  font-size: 0.9rem;
  color: #7b5cff;
  font-weight: 600;
}

#mission-panel {
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
  backdrop-filter: blur(10px);
  position: absolute;
  top: 70px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(8, 10, 20, 0.88);
  border: 1px solid rgba(0, 212, 255, 0.3);
  border-radius: 10px;
  padding: 12px 20px;
  text-align: center;
  min-width: 280px;
}

#mission-title {
  font-weight: 800;
  font-size: 0.72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #00d4ff;
  margin-bottom: 4px;
}

#mission-objective {
  font-size: 1rem;
  font-weight: 700;
  color: #c0c8d8;
}

#mission-distance {
  font-size: 0.8rem;
  color: #8a9aaa;
  margin-top: 4px;
}

#minimap-container {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 180px;
  height: 180px;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid rgba(0, 212, 255, 0.35);
  background: rgba(10, 15, 30, 0.9);
}

#minimap {
  width: 100%;
  height: 100%;
}

#prompt {
  position: absolute;
  bottom: 160px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 212, 255, 0.15);
  border: 1px solid rgba(0, 212, 255, 0.5);
  padding: 10px 22px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  color: #00d4ff;
  letter-spacing: 0.05em;
}

#mp-board {
  position: absolute;
  top: 70px;
  left: 18px;
  min-width: 180px;
  background: rgba(8, 10, 20, 0.85);
  border: 1px solid rgba(0, 212, 255, 0.3);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.8rem;
  line-height: 1.45;
}

#mp-board .you { color: #00ff9d; font-weight: 700; }
#mission-help{font-size:.68rem;color:#7fd8ff;margin-top:7px;letter-spacing:.06em;font-weight:700}

#mission-reward{margin-top:5px;font-size:.72rem;font-weight:800;color:#00ff9d;letter-spacing:.04em}
.campaign-brief{display:flex;flex-direction:column;gap:8px}
.campaign-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.mission-card.campaign-active{border-color:#00ff9d;box-shadow:0 0 18px rgba(0,255,157,.12)}
.mission-card.campaign-done{opacity:.78;border-color:rgba(0,255,157,.28)}
.mission-reward{color:#aab6c8}.mission-status{display:inline-block;margin-top:8px;font-size:.65rem;font-weight:900;letter-spacing:.08em;color:#00ff9d}
@media(max-width:600px){.campaign-list{grid-template-columns:1fr}}

.city-map-wrap{display:flex;flex-direction:column;gap:10px}.city-map-info{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 12px;align-items:center;font-size:.8rem;color:#9aa}.city-map-info strong{color:#00ff9d;font-size:.68rem;letter-spacing:.08em}.city-map-info .map-dest-label{color:#ffcc33}.map-no-route{grid-column:1/-1;color:#9aa}.city-map-wrap canvas{width:100%;height:min(62vh,560px);display:block;border:1px solid #263746;border-radius:12px;background:#08111a}.city-map-legend{display:flex;gap:14px;flex-wrap:wrap;color:#aab6c8;font-size:.7rem;font-weight:800}.map-actions{display:flex;gap:8px;flex-wrap:wrap}.map-destination-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px}.map-destination-list.hidden{display:none}
@media(max-width:600px){.city-map-info{grid-template-columns:1fr 1fr}.city-map-wrap canvas{height:52vh}.city-map-legend{font-size:.62rem}}
.daily-challenge-card{margin-bottom:16px;padding:16px;border:1px solid rgba(255,204,51,.45);border-radius:14px;background:linear-gradient(135deg,rgba(255,204,51,.09),rgba(0,212,255,.05));box-shadow:0 0 24px rgba(255,204,51,.08)}
.daily-challenge-card.daily-done{border-color:rgba(0,255,157,.45)}
.daily-badge{font-size:.62rem;font-weight:900;letter-spacing:.15em;color:#ffcc33}.daily-challenge-card h2{margin:5px 0;font-size:1.2rem}.daily-progress{font-size:1rem;font-weight:900;color:#00ff9d;margin:8px 0}
