/* rescue-chatgpt-code.html — hero animation (prefix: cg-)
   Theme: 4 red verification failures → 3 green verified replacements */
@keyframes cgGlow { 0%,100% { opacity: 0.08; } 50% { opacity: 0.2; } }
@keyframes cgFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes cgRowIn { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes cgRowInR{ from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes cgBadPulse { 0%,100% { opacity: 0.9; } 50% { opacity: 1; } }
.cg-glow { animation: cgGlow 3.5s ease-in-out infinite; }
.cg-list { animation: cgFade 0.5s var(--ease-spring) 0.4s both; }
.cg-row  { }
.cg-r1 { animation: cgRowIn 0.4s ease-out 0.8s both; }
.cg-r2 { animation: cgRowIn 0.4s ease-out 0.95s both; }
.cg-r3 { animation: cgRowIn 0.4s ease-out 1.1s both; }
.cg-r4 { animation: cgRowIn 0.4s ease-out 1.25s both; }
.cg-bad  { animation: cgBadPulse 1.6s ease-in-out 1.5s infinite; }
.cg-fix  { animation: cgFade 0.55s var(--ease-spring) 1.5s both; }
.cg-gd   { }
.cg-g1 { animation: cgRowInR 0.4s ease-out 1.8s both; }
.cg-g2 { animation: cgRowInR 0.4s ease-out 1.95s both; }
.cg-g3 { animation: cgRowInR 0.4s ease-out 2.1s both; }
