/* In the swipe stack, only the top card should glow */
.swipe-sheet-item.shiny:not(:first-child) {
  animation: none;
  box-shadow: none;
  border-color: #666;
  filter: none;
}
.swipe-sheet-item.shiny:not(:first-child)::after {
  display: none;
}

@keyframes shiny-flash {
  0%, 100% {
    filter: brightness(1) saturate(1);
    box-shadow: 0 0 28px 8px rgba(255,215,0,0.85), 0 0 65px 20px rgba(255,165,0,0.45);
    border-color: rgba(255,215,0,0.95);
  }
  20% {
    filter: brightness(1.7) saturate(1.8);
    box-shadow: 0 0 65px 28px rgba(255,255,180,1), 0 0 130px 55px rgba(255,215,0,0.7);
    border-color: #fff;
  }
  55% {
    filter: brightness(1) saturate(1);
    box-shadow: 0 0 28px 8px rgba(180,80,255,0.85), 0 0 65px 20px rgba(180,80,255,0.45);
    border-color: rgba(200,100,255,0.95);
  }
  75% {
    filter: brightness(1.7) saturate(1.8);
    box-shadow: 0 0 65px 28px rgba(210,150,255,1), 0 0 130px 55px rgba(180,80,255,0.7);
    border-color: #fff;
  }
}

@keyframes shiny-sweep {
  0%   { transform: skewX(-20deg) translateX(-300%); }
  100% { transform: skewX(-20deg) translateX(600%); }
}

.shiny {
  border: 4px solid rgba(255,215,0,0.95);
  animation: shiny-flash 2.4s ease-in-out infinite;
}

.shiny::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 40%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255,255,255,0.55) 50%,
    transparent 100%
  );
  animation: shiny-sweep 2.4s ease-in-out infinite;
  pointer-events: none;
  z-index: 5;
}
