/* rescue-v0.html — hero animation (prefix: v0-)
   Theme: Code with red wiggle warnings → all 6 quality gates ticked green */
@keyframes v0Glow { 0%,100% { opacity: 0.08; } 50% { opacity: 0.2; } }
@keyframes v0Fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes v0Wig  { 0%,100% { stroke-dashoffset: 0; } 50% { stroke-dashoffset: -4; } }
@keyframes v0AnyPulse { 0%,100% { fill: #D94060; } 50% { fill: #F66F8A; } }
@keyframes v0Item { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }
.v0-glow { animation: v0Glow 3.5s ease-in-out infinite; }
.v0-code { animation: v0Fade 0.5s var(--ease-spring) 0.4s both; }
.v0-any  { animation: v0AnyPulse 1.8s ease-in-out 1.2s infinite; }
.v0-wig  { stroke-dasharray: 4; animation: v0Wig 1.2s ease-in-out infinite; }
.v0-problems { animation: v0Fade 0.4s ease-out 1.2s both; }
.v0-check { animation: v0Fade 0.55s var(--ease-spring) 1.4s both; }
.v0-item  { transform-box: fill-box; transform-origin: center; }
.v0-i1 { animation: v0Item 0.4s ease-out 1.7s both; }
.v0-i2 { animation: v0Item 0.4s ease-out 1.85s both; }
.v0-i3 { animation: v0Item 0.4s ease-out 2.0s both; }
.v0-i4 { animation: v0Item 0.4s ease-out 2.15s both; }
.v0-i5 { animation: v0Item 0.4s ease-out 2.3s both; }
.v0-i6 { animation: v0Item 0.4s ease-out 2.45s both; }
