:root {
  --color-accent-900: #7b1a2e; /* burgundy-deep */
  --color-accent-800: #8c1e34;
  --color-accent-600: #b52744;
  --color-accent-500: #d63353;
  --color-accent: #c5a861; /* gold */
}

@keyframes rk-spark {
  0% { transform: translate(0, 0) scaleY(0.35); opacity: 0; }
  16% { opacity: var(--op, 0.6); }
  100% { transform: translate(var(--px, 8px), var(--py, -140px)) scaleY(1); opacity: 0; }
}
@keyframes rk-impact {
  0% { transform: translate(-50%, -50%) scale(0.15); opacity: 0.95; }
  100% { transform: translate(-50%, -50%) scale(2.8); opacity: 0; }
}
@keyframes rk-flash {
  0% { transform: translate(-50%, -50%) scale(0.3); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1.8); opacity: 0; }
}
@keyframes rk-crater-in {
  0% { transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(0.3); opacity: 0; }
  60% { opacity: var(--op, 0.3); }
  100% { transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(1); opacity: var(--op, 0.3); }
}
@keyframes rk-ignite {
  0% { transform: translate(-50%, -50%) scale(0.12); opacity: 0; }
  20% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  55% { transform: translate(-50%, -50%) scale(0.86); opacity: 0.8; }
  100% { transform: translate(-50%, -50%) scale(0.4); opacity: 0; }
}
@keyframes rk-birth {
  0% { transform: translate(-50%, -50%) scale(0.2); opacity: 0.9; }
  100% { transform: translate(-50%, -50%) scale(2.4); opacity: 0; }
}
@keyframes rk-spray {
  0% { transform: rotate(var(--sa, 0deg)) translateX(0) scaleX(0.4); opacity: 0.9; }
  100% { transform: rotate(var(--sa, 0deg)) translateX(var(--sd, 26px)) scaleX(1); opacity: 0; }
}
