/* === Score Tier Animations ===
 * Plays once (forwards) when a hit line is inserted into the DOM.
 * Severity escalates: glimmer < spark < blaze < inferno; wildcard and penalty are special.
 */

/* --- Glimmer: subtle text-shadow opacity shimmer --- */
@keyframes glimmer-shimmer {
  0%   { text-shadow: none; opacity: 0.85; }
  50%  { text-shadow: 0 0 6px var(--glimmer); opacity: 1; }
  100% { text-shadow: none; opacity: 0.85; }
}

/* --- Spark: single brightness flash sweep --- */
@keyframes spark-sweep {
  0%   { filter: brightness(1); }
  20%  { filter: brightness(2); }
  100% { filter: brightness(1); }
}

/* --- Blaze: bold glow pulse --- */
@keyframes blaze-pulse {
  0%   { text-shadow: 0 0 4px var(--blaze); }
  50%  { text-shadow: 0 0 12px var(--blaze), 0 0 22px var(--blaze); }
  100% { text-shadow: 0 0 4px var(--blaze); }
}

/* --- Inferno: intense expanding three-layer glow --- */
@keyframes inferno-glow {
  0%   { text-shadow: 0 0 6px var(--inferno), 0 0 12px var(--inferno); }
  50%  { text-shadow: 0 0 14px var(--inferno), 0 0 28px var(--inferno), 0 0 44px rgba(255, 121, 198, 0.5); }
  100% { text-shadow: 0 0 6px var(--inferno), 0 0 12px var(--inferno); }
}

/* --- Wildcard: purple glow pulse --- */
@keyframes wildcard-pulse {
  0%   { text-shadow: 0 0 6px var(--wildcard), 0 0 12px var(--wildcard); }
  50%  { text-shadow: 0 0 14px var(--wildcard), 0 0 28px var(--wildcard), 0 0 44px rgba(189, 147, 249, 0.5); }
  100% { text-shadow: 0 0 6px var(--wildcard), 0 0 12px var(--wildcard); }
}

/* --- Penalty: horizontal shake --- */
@keyframes penalty-shake {
  0%   { transform: translateX(0); }
  15%  { transform: translateX(-4px); }
  30%  { transform: translateX(4px); }
  45%  { transform: translateX(-3px); }
  60%  { transform: translateX(3px); }
  75%  { transform: translateX(-2px); }
  90%  { transform: translateX(1px); }
  100% { transform: translateX(0); }
}

/* === Apply animations to tier hit lines (play once on insertion) === */

.hit-line.tier-glimmer  { animation: glimmer-shimmer 2s ease-in-out forwards; }
.hit-line.tier-spark    { animation: spark-sweep 0.8s ease-out forwards; }
.hit-line.tier-blaze    { animation: blaze-pulse 1.5s ease-in-out forwards; }
.hit-line.tier-inferno  { animation: inferno-glow 1.5s ease-in-out forwards; }
.hit-line.tier-wildcard { animation: wildcard-pulse 1.5s ease-in-out forwards; }
.hit-line.tier-penalty  { animation: penalty-shake 0.6s ease-in-out forwards; }
