/* Keep active work recognizable without moving the graph or its labels. */
@keyframes crackls-breathe {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.crackls-view .node .badge.running,
.crackls-view .jobs .job > span.running:last-child,
.status.running > span {
  animation: crackls-breathe 2.2s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .crackls-view .node .badge.running,
  .crackls-view .jobs .job > span.running:last-child,
  .status.running > span {
    animation: none;
  }
}
/* Slow amber emphasis; never flash the entire card or its tooltip. */
@keyframes crackls-freshness { 50% { color:#b16d10; } }
.crackls-view .freshness.stale { animation:crackls-freshness 2.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .crackls-view .freshness.stale { animation:none; } }
