/* Tooltip typewriter cursor */
@keyframes cursor-blink { 50% { opacity: 0; } }

/* Rank change highlight */
@keyframes rank-up {
  0% { background: var(--accent-glow); }
  100% { background: transparent; }
}

.rank-changed {
  animation: rank-up 1.5s ease;
}

/* Shimmer loading placeholder */
@keyframes shimmer {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

.skeleton {
  background: var(--bg-card);
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
}

.skeleton::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100%);
  animation: shimmer 1.5s ease-in-out infinite;
}

[data-theme="dark"] .skeleton::after {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.06) 50%, transparent 100%);
}
