/* ============================================================
   PUSHCLUB · MOTION KEYFRAMES for the economy asset set.
   The asset SVGs carry their own inline `animation:` declarations
   (durations, delays, vars) — this file only defines the shared
   @keyframes. Include it wherever the SVGs are INLINED into the
   DOM (the app already inlines SVG assets, e.g. avatars.js).
   Rendered as <img>, the assets are intentionally static.
   ============================================================ */
@keyframes pc-pulse   { 0%, 100% { opacity: var(--o0, .3); } 50% { opacity: var(--o1, 1); } }
@keyframes pc-twinkle { 0%, 100% { opacity: 0; } 50% { opacity: var(--o1, 1); } }
@keyframes pc-spin    { to { transform: rotate(360deg); } }
@keyframes pc-sweep   { from { transform: translateX(var(--x0, -70px)) rotate(24deg); }
                        to   { transform: translateX(var(--x1, 170px)) rotate(24deg); } }
@keyframes pc-bob     { 0%, 100% { transform: translateY(var(--b0, -1.6px)); } 50% { transform: translateY(var(--b1, 1.6px)); } }
@keyframes pc-wobble  { 0%, 100% { transform: rotate(var(--w0, -11deg)); } 50% { transform: rotate(var(--w1, 11deg)); } }
@keyframes pc-ring    { from { r: var(--r0, 18px); opacity: var(--ro, .55); } to { r: var(--r1, 46px); opacity: 0; } }
@keyframes pc-rise    { 0% { transform: translateY(8px); opacity: 0; } 45% { opacity: .8; } 100% { transform: translateY(-16px); opacity: 0; } }
@keyframes pc-pop     { 0% { transform: translateY(6px); opacity: 0; } 50% { opacity: 1; } 100% { transform: translateY(-9px); opacity: 0; } }
@keyframes pc-drop    { 0% { transform: translateY(0); opacity: 1; } 70% { transform: translateY(16px); opacity: 1; } 100% { transform: translateY(16px); opacity: 0; } }
@keyframes pc-dash    { to { stroke-dashoffset: var(--d, -38px); } }
@keyframes pc-flicker { 0%, 54%, 65%, 80%, 100% { opacity: 0; } 60% { opacity: .9; } 70% { opacity: .5; } }
@keyframes pc-fall    { 0% { transform: translateY(0); opacity: .7; } 100% { transform: translateY(10px); opacity: 0; } }
@keyframes pc-scale   { 0%, 100% { transform: scale(1); } 50% { transform: scale(var(--s1, 1.06)); } }
@keyframes pc-drift   { 0%, 100% { transform: translateX(var(--dx0, -12px)); } 50% { transform: translateX(var(--dx1, 12px)); } }
@keyframes pc-part-l  { 0% { transform: translateX(0); opacity: .95; } 100% { transform: translateX(-34px); opacity: .06; } }
@keyframes pc-part-r  { 0% { transform: translateX(0); opacity: .95; } 100% { transform: translateX(34px); opacity: .06; } }
@keyframes pc-settle  { 0% { transform: translateY(-14px) scale(1, 1); opacity: 0; }
                        10% { transform: translateY(0) scale(1, 1); opacity: 1; }
                        16% { transform: scale(1.14, .84); }
                        26% { transform: scale(.95, 1.07); }
                        36% { transform: scale(1.04, .98); }
                        46%, 100% { transform: scale(1, 1); opacity: 1; } }
@keyframes pc-shadow  { 0% { transform: scale(.5, .5); opacity: 0; }
                        10% { transform: scale(1, 1); opacity: .45; }
                        16% { transform: scale(1.18, 1); }
                        26% { transform: scale(.96, 1); }
                        46%, 100% { transform: scale(1, 1); } }
@keyframes pc-wump    { 0% { transform: translateY(-12px) scale(1, 1); opacity: 0; }
                        10% { transform: translateY(0) scale(1, 1); opacity: 1; }
                        17% { transform: scale(1.26, .7); }
                        27% { transform: scale(.93, 1.04); }
                        36% { transform: scale(1.08, .94); }
                        46%, 100% { transform: scale(1.03, .97); opacity: 1; } }
@keyframes pc-poof    { 0%, 11% { transform: translateX(0) scale(.2); opacity: 0; }
                        17% { transform: translateX(calc(var(--px, 16px) * .55)) scale(1); opacity: .8; }
                        34% { transform: translateX(var(--px, 16px)) scale(1.35); opacity: 0; }
                        100% { transform: translateX(var(--px, 16px)) scale(1.35); opacity: 0; } }
@keyframes pc-tip     { 0%, 13% { transform: rotate(0deg); }
                        21% { transform: rotate(17deg); }
                        29% { transform: rotate(9deg); }
                        36%, 100% { transform: rotate(14deg); } }
