@keyframes fadeSlideIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 8px var(--glow-primary-weak); }
  50%       { box-shadow: 0 0 28px var(--glow-primary-strong); }
}
@keyframes alarm-pulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.02); }
  100% { transform: scale(1); }
}
@keyframes shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@keyframes slideUp {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-20px); }
}

/* Staggered card entrance */
.tab-panel .decision-card:nth-child(1)  { animation: fadeSlideIn 300ms 0ms ease both; }
.tab-panel .decision-card:nth-child(2)  { animation: fadeSlideIn 300ms 60ms ease both; }
.tab-panel .decision-card:nth-child(3)  { animation: fadeSlideIn 300ms 120ms ease both; }
.tab-panel .decision-card:nth-child(4)  { animation: fadeSlideIn 300ms 180ms ease both; }
.tab-panel .decision-card:nth-child(5)  { animation: fadeSlideIn 300ms 240ms ease both; }
.tab-panel .ghost-card:nth-child(1)     { animation: fadeSlideIn 300ms 0ms ease both; }
.tab-panel .ghost-card:nth-child(2)     { animation: fadeSlideIn 300ms 60ms ease both; }
.tab-panel .ghost-card:nth-child(3)     { animation: fadeSlideIn 300ms 120ms ease both; }
.tab-panel .ghost-card:nth-child(4)     { animation: fadeSlideIn 300ms 180ms ease both; }
.tab-panel .ghost-card:nth-child(5)     { animation: fadeSlideIn 300ms 240ms ease both; }
.tab-panel .assumption-card:nth-child(1){ animation: fadeSlideIn 300ms 0ms ease both; }
.tab-panel .assumption-card:nth-child(2){ animation: fadeSlideIn 300ms 60ms ease both; }
.tab-panel .assumption-card:nth-child(3){ animation: fadeSlideIn 300ms 120ms ease both; }
.tab-panel .assumption-card:nth-child(4){ animation: fadeSlideIn 300ms 180ms ease both; }
.tab-panel .assumption-card:nth-child(5){ animation: fadeSlideIn 300ms 240ms ease both; }
.tab-panel .failure-card:nth-child(1)   { animation: fadeSlideIn 300ms 0ms ease both; }
.tab-panel .failure-card:nth-child(2)   { animation: fadeSlideIn 300ms 60ms ease both; }
.tab-panel .failure-card:nth-child(3)   { animation: fadeSlideIn 300ms 120ms ease both; }
.tab-panel .failure-card:nth-child(4)   { animation: fadeSlideIn 300ms 180ms ease both; }
.tab-panel .failure-card:nth-child(5)   { animation: fadeSlideIn 300ms 240ms ease both; }

.skeleton {
  background: linear-gradient(
    90deg, var(--bg-secondary) 25%, 
    var(--bg-elevated) 50%, 
    var(--bg-secondary) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: var(--radius-md);
  height: 120px;
}