/* VOLT EDM — @keyframes (order-independent)
   Verbatim from index.html (refactor: physical split only, no rule edits). */
@keyframes bgShift{0%{background-position:0% 0%,100% 100%,50% 50%,0 0}100%{background-position:30% 20%,70% 70%,60% 40%,0 0}}
@keyframes floatP{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1}90%{opacity:.4}100%{transform:translateY(-20px) scale(1);opacity:0}}
@keyframes topbarGlow{0%{opacity:.4;transform:scaleX(.8)}100%{opacity:1;transform:scaleX(1)}}
@keyframes logoPulse{0%{transform:scale(1);filter:drop-shadow(0 0 8px rgba(124,58,237,.8))}100%{transform:scale(1.15);filter:drop-shadow(0 0 16px rgba(167,139,250,1))}}
@keyframes heroBgPulse{0%{transform:scale(1) rotate(0deg);opacity:.8}100%{transform:scale(1.2) rotate(15deg);opacity:1}}
@keyframes iconFloat{0%{transform:translateY(0) rotate(-2deg)}100%{transform:translateY(-6px) rotate(2deg)}}
@keyframes wave{0%{transform:scaleY(.2)}100%{transform:scaleY(1)}}
@keyframes newBadgePulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,.4)}50%{box-shadow:0 0 0 4px rgba(52,211,153,0)}}
@keyframes detailBg{0%{opacity:.8}100%{opacity:1;transform:scale(1.05)}}
@keyframes artFloat{0%{transform:translateY(0) rotate(-1deg)}100%{transform:translateY(-8px) rotate(1deg)}}
@keyframes cardAppear{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes modalBgIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes toastPop{from{transform:translateX(-50%) translateY(20px);opacity:0}to{transform:translateX(-50%) translateY(0);opacity:1}}
@keyframes eq{0%{height:3px}100%{height:14px}}
@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes djBlink{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes djRotateSpin{0%,20%{transform:rotate(0deg)}50%,70%{transform:rotate(-90deg)}100%{transform:rotate(-90deg)}}

@keyframes skelShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

@keyframes vpEq{0%,100%{height:5px}50%{height:16px}}

@keyframes pgFwd{from{opacity:.35;transform:translateX(18px)}to{opacity:1;transform:none}}

@keyframes vdUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
