/* ─── runner-specific HUD extras ─────────────────────────────────────────── */
/* Common HUD styles (score-cards, rp-bar, icon-btn, etc.) come from shared/css/hud.css */

/* ─── Speed badge ──────────────────────────────────────────────────── */
.speed-badge {
  font-family: 'Outfit', 'Noto Sans Georgian', Sylfaen, sans-serif;
  font-weight: 900;
  font-size: 10px;
  padding: 3px 9px;
  background: rgba(230,107,0,0.12);
  color: var(--c-orange);
  border-radius: 100px;
  letter-spacing: 0.1em;
  border: 1px solid rgba(230,107,0,0.28);
  transition: all 0.5s var(--ease-out);
  white-space: nowrap;
}
.speed-badge.fast {
  background: rgba(230,0,126,0.12);
  color: var(--c-pink);
  border-color: rgba(230,0,126,0.32);
}
.speed-badge.max {
  background: rgba(230,57,70,0.16);
  color: var(--c-red);
  border-color: rgba(230,57,70,0.4);
  animation: speedPulse 0.6s ease-in-out infinite;
}
@keyframes speedPulse {
  0%, 100% { box-shadow: none; }
  50%       { box-shadow: 0 0 10px rgba(230,57,70,0.4); }
}

/* ─── Combo display ────────────────────────────────────────────────── */
.combo-display {
  position: absolute;
  top: 120px;
  left: 50%; transform: translateX(-50%);
  z-index: 31;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s var(--ease-out);
}
.combo-display.show { opacity: 1; }
.combo-num {
  font-family: 'Outfit', 'Noto Sans Georgian', Sylfaen, sans-serif;
  font-weight: 900;
  font-size: 38px;
  color: var(--c-purple);
  letter-spacing: -0.02em;
  line-height: 1;
}
.combo-label {
  font-size: 10px;
  color: var(--c-ink-soft);
  font-weight: 800;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  margin-top: 2px;
}
.combo-num.pop { animation: comboPop 0.3s var(--spring-bouncy); }
@keyframes comboPop {
  0%   { transform: scale(0.6) translateY(8px); }
  60%  { transform: scale(1.25) translateY(-4px); }
  100% { transform: scale(1) translateY(0); }
}

/* ─── Float-up text (gem +50, etc.) ───────────────────────────────── */
.float-text {
  position: absolute;
  font-family: 'Outfit', 'Noto Sans Georgian', Sylfaen, sans-serif;
  font-weight: 900;
  font-size: 22px;
  color: var(--c-purple);
  pointer-events: none;
  z-index: 32;
  animation: floatUp 0.9s var(--ease-out) forwards;
  white-space: nowrap;
}
@keyframes floatUp {
  0%   { opacity: 1; transform: translateY(0) scale(1); }
  30%  { opacity: 1; transform: translateY(-20px) scale(1.1); }
  100% { opacity: 0; transform: translateY(-55px) scale(0.85); }
}
