/* ===== CELEB ICON ANIMATIONS ===== */
@keyframes float-bob {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-1deg); }
  50% { transform: translateX(-50%) translateY(-10px) rotate(1deg); }
}
.celeb-icon-wrap {
  /* animation removed: movement via GIF */
}

@keyframes pulse-amount {
  0% { opacity: 0.95; }
  100% { opacity: 1; text-shadow: 0 0 20px rgba(255,215,0,0.6); }
}

@keyframes twinkle {
  0% { opacity: 0.2; }
  100% { opacity: 0.6; }
}

/* ===== MASCOT ANIMATIONS ===== */
@keyframes mascot-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-14px); }
}
@keyframes mascot-fly-path {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(40px, -30px) rotate(8deg); }
  50% { transform: translate(80px, 0) rotate(0deg); }
  75% { transform: translate(40px, 25px) rotate(-8deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes mascot-sway {
  0%, 100% { transform: rotate(-5deg); transform-origin: bottom center; }
  50% { transform: rotate(5deg); transform-origin: bottom center; }
}
@keyframes mascot-tap {
  0%, 100% { transform: rotate(0deg); transform-origin: right center; }
  50% { transform: rotate(-30deg); transform-origin: right center; }
}
@keyframes mascot-spin {
  from { transform: rotateY(0deg); }
  to { transform: rotateY(360deg); }
}
@keyframes mascot-roll {
  0% { transform: translateX(0) rotate(0deg); }
  100% { transform: translateX(60px) rotate(360deg); }
}
@keyframes mascot-wag {
  0%, 100% { transform: rotate(0deg); transform-origin: left center; }
  50% { transform: rotate(40deg); transform-origin: left center; }
}
@keyframes mascot-flame {
  0%, 100% { opacity: 1; transform: scaleX(1); }
  50% { opacity: 0.8; transform: scaleX(0.9) scaleY(1.1); }
}
@keyframes mascot-drive {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(30px); }
}
@keyframes mascot-lift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}
@keyframes mascot-bob {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-8px) rotate(3deg); }
}
@keyframes mascot-clap {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-25deg); }
}
@keyframes mascot-slide {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(20px); }
}

.anim-float { animation: mascot-fly-path 5s ease-in-out infinite; }
.anim-bounce { animation: mascot-bounce 0.6s ease-in-out infinite; }
.anim-fly { animation: mascot-fly-path 4s ease-in-out infinite; }
.anim-sway { animation: mascot-sway 2s ease-in-out infinite; }
.anim-tap { animation: mascot-tap 0.5s ease-in-out infinite; }
.anim-spin { animation: mascot-spin 3s linear infinite; }
.anim-roll { animation: mascot-roll 2s linear infinite alternate; }
.anim-wag { animation: mascot-wag 0.4s ease-in-out infinite; }
.anim-flame { animation: mascot-flame 0.3s ease-in-out infinite; }
.anim-drive { animation: mascot-drive 2s ease-in-out infinite; }
.anim-lift { animation: mascot-lift 1.2s ease-in-out infinite; }
.anim-bob { animation: mascot-bob 1.5s ease-in-out infinite; }
.anim-clap { animation: mascot-clap 0.4s ease-in-out infinite; }
.anim-slide { animation: mascot-slide 2.5s ease-in-out infinite; }

/* ===== POOR PERSON ANIMATIONS ===== */

/* idle - gentle sway */
@keyframes poor-idle-body {
  0%, 100% { transform: rotate(-1deg); }
  50% { transform: rotate(1deg); }
}
#poor-person.poor-idle { animation: poor-idle-body 2.5s ease-in-out infinite; }

/* envious - lean toward celeb area, drool, eyes wide */
@keyframes poor-envious {
  0%, 100% { transform: rotate(0deg) translateX(0); }
  30% { transform: rotate(-15deg) translateX(-8px); }
  60% { transform: rotate(-18deg) translateX(-10px); }
  80% { transform: rotate(-12deg) translateX(-6px); }
}
#poor-person.poor-envious { animation: poor-envious 2s ease-in-out infinite; }
#poor-person.poor-envious .pupil-l,
#poor-person.poor-envious .pupil-r {
  transform: translate(2px, -2px) scale(1.3);
  fill: #ff4444;
}
#poor-person.poor-envious .mouth {
  d: path('M48 46 Q60 54 72 46');
}

/* crying - tears and heaving shoulders */
@keyframes poor-crying {
  0%, 100% { transform: translateY(0); }
  25% { transform: translateY(-3px); }
  75% { transform: translateY(3px); }
}
#poor-person.poor-crying { animation: poor-crying 0.8s ease-in-out infinite; }
#poor-person.poor-crying #poor-tear-l,
#poor-person.poor-crying #poor-tear-r { opacity: 1; animation: tear-fall 0.6s ease-in infinite; }
#poor-person.poor-crying .mouth {
  d: path('M50 50 Q60 44 70 50');
}
@keyframes tear-fall {
  0% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(15px); opacity: 0; }
}

/* angry - shake, red face */
@keyframes poor-angry {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px) rotate(-3deg); }
  75% { transform: translateX(5px) rotate(3deg); }
}
#poor-person.poor-angry { animation: poor-angry 0.15s ease-in-out infinite; }
#poor-person.poor-angry .head { fill: #e08060; }
#poor-person.poor-angry .arm-l { transform: rotate(-40deg) translateX(-5px); transform-origin: right center; }
#poor-person.poor-angry .arm-r { transform: rotate(40deg) translateX(5px); transform-origin: left center; }
#poor-person.poor-angry .brow-l { transform: rotate(15deg); transform-origin: left center; }
#poor-person.poor-angry .brow-r { transform: rotate(-15deg); transform-origin: right center; }

/* hungry - holding stomach */
@keyframes poor-hungry {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
#poor-person.poor-hungry { animation: poor-hungry 1s ease-in-out infinite; }
#poor-person.poor-hungry .arm-l { transform: translate(10px, 15px) rotate(60deg); transform-origin: right center; }
#poor-person.poor-hungry .arm-r { transform: translate(-10px, 15px) rotate(-60deg); transform-origin: left center; }
#poor-person.poor-hungry #poor-sweat { opacity: 1; animation: sweat-drop 0.8s ease-in infinite; }
@keyframes sweat-drop {
  0% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(10px); opacity: 0; }
}

/* reaching - one arm stretched toward money */
@keyframes poor-reaching {
  0%, 100% { transform: rotate(0deg) translateX(0); }
  50% { transform: rotate(-10deg) translateX(-5px); }
}
#poor-person.poor-reaching { animation: poor-reaching 1.5s ease-in-out infinite; }
#poor-person.poor-reaching .arm-l {
  transform: translateX(-15px) translateY(-10px) rotate(-50deg);
  transform-origin: right center;
}
#poor-person.poor-reaching .hand-l { transform: translateX(-30px) translateY(-18px); }

/* fainting - sway backward */
@keyframes poor-fainting {
  0% { transform: rotate(0deg); transform-origin: bottom center; }
  30% { transform: rotate(-20deg); transform-origin: bottom center; }
  60% { transform: rotate(-40deg) translateY(10px); transform-origin: bottom center; }
  80% { transform: rotate(-50deg) translateY(20px); transform-origin: bottom center; }
  100% { transform: rotate(-40deg) translateY(15px); transform-origin: bottom center; }
}
#poor-person.poor-fainting { animation: poor-fainting 3s ease-in-out forwards; }
#poor-person.poor-fainting .pupil-l,
#poor-person.poor-fainting .pupil-r { fill: #888; animation: spiral-eye 0.3s linear infinite; }
@keyframes spiral-eye {
  0% { transform: translate(0,0); }
  25% { transform: translate(2px, 0); }
  50% { transform: translate(0, 2px); }
  75% { transform: translate(-2px, 0); }
  100% { transform: translate(0, -2px); }
}

/* praying - hands together, eyes closed, look up */
@keyframes poor-praying {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
#poor-person.poor-praying { animation: poor-praying 2s ease-in-out infinite; }
#poor-person.poor-praying .arm-l { transform: translateX(15px) translateY(-5px) rotate(40deg); transform-origin: right center; }
#poor-person.poor-praying .arm-r { transform: translateX(-15px) translateY(-5px) rotate(-40deg); transform-origin: left center; }
#poor-person.poor-praying .brow-l { transform: rotate(-10deg); transform-origin: center; }
#poor-person.poor-praying .brow-r { transform: rotate(10deg); transform-origin: center; }

/* jumping - bounce up */
@keyframes poor-jumping {
  0%, 100% { transform: translateY(0); }
  30% { transform: translateY(-25px) rotate(-5deg); }
  60% { transform: translateY(-18px) rotate(5deg); }
}
#poor-person.poor-jumping { animation: poor-jumping 0.7s ease-in-out infinite; }

/* fleeing - run away */
@keyframes poor-fleeing {
  0% { transform: translateX(0) scaleX(1); }
  100% { transform: translateX(60px) scaleX(1); }
}
@keyframes poor-fleeing-return {
  0% { transform: translateX(60px) scaleX(-1); }
  100% { transform: translateX(0) scaleX(-1); }
}
#poor-person.poor-fleeing { animation: poor-fleeing 1s ease-in forwards, poor-fleeing-return 1s ease-out 1.5s forwards; }

/* ===== MANAGER ANIMATIONS ===== */
@keyframes mgr-bow-short {
  0% { transform: rotate(0deg); transform-origin: bottom center; }
  30% { transform: rotate(-30deg); transform-origin: bottom center; }
  70% { transform: rotate(-30deg); transform-origin: bottom center; }
  100% { transform: rotate(0deg); transform-origin: bottom center; }
}
.mgr-bow-short { animation: mgr-bow-short 1s ease-in-out forwards; }

@keyframes mgr-bow-medium {
  0% { transform: rotate(0deg); transform-origin: bottom center; }
  20% { transform: rotate(-50deg); transform-origin: bottom center; }
  80% { transform: rotate(-50deg); transform-origin: bottom center; }
  100% { transform: rotate(0deg); transform-origin: bottom center; }
}
.mgr-bow-medium { animation: mgr-bow-medium 1.5s ease-in-out forwards; }

@keyframes mgr-bow-long {
  0% { transform: rotate(0deg); transform-origin: bottom center; }
  15% { transform: rotate(-75deg); transform-origin: bottom center; }
  85% { transform: rotate(-75deg); transform-origin: bottom center; }
  100% { transform: rotate(0deg); transform-origin: bottom center; }
}
.mgr-bow-long { animation: mgr-bow-long 2s ease-in-out forwards; }

@keyframes mgr-prostrate {
  0% { transform: rotate(0deg) scale(1); transform-origin: bottom center; }
  20% { transform: rotate(-90deg) scale(0.9) translateY(20px); transform-origin: bottom center; }
  80% { transform: rotate(-90deg) scale(0.9) translateY(20px); transform-origin: bottom center; }
  100% { transform: rotate(0deg) scale(1); transform-origin: bottom center; }
}
.mgr-prostrate { animation: mgr-prostrate 2.5s ease-in-out forwards; }

@keyframes mgr-celebrate {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  25% { transform: translateY(-15px) rotate(-10deg); }
  75% { transform: translateY(-15px) rotate(10deg); }
}
.mgr-celebrate { animation: mgr-celebrate 0.5s ease-in-out infinite; }

@keyframes mgr-eat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
.mgr-eat-bread, .mgr-eat-ramen, .mgr-eat-steak { animation: mgr-eat 0.5s ease-in-out infinite; }
.mgr-drink-wine { animation: mgr-eat 0.7s ease-in-out infinite; }

/* Well-dressed glow */
.mgr-well-dressed #mgr-body { animation: suit-glow 2s ease-in-out infinite alternate; }
@keyframes suit-glow {
  from { filter: brightness(1); }
  to { filter: brightness(1.3) drop-shadow(0 0 6px rgba(100,150,255,0.5)); }
}

/* ===== MISC ANIMATIONS ===== */
@keyframes pop-in {
  0% { transform: scale(0.5) translateY(30px); opacity: 0; }
  70% { transform: scale(1.05) translateY(-5px); opacity: 1; }
  100% { transform: scale(1) translateY(0); opacity: 1; }
}

/* Perspective floor grid pulse */
@keyframes floor-grid-pulse {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 0.8; }
}
.celeb-floor-grid { animation: floor-grid-pulse 4s ease-in-out infinite; }
