/* v605 — single interaction authority for Crab, Angry Hands, and Boxing Gloves */
body.avatar-page #avatarStage{position:relative;overflow:hidden}

/* CRAB — move the whole claw, not only the pincer pieces */
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-tap .hand-left .hand-motion{
  animation:ggV605CrabWholeL .72s cubic-bezier(.22,.8,.22,1) 1 both!important;
}
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-tap .hand-right .hand-motion{
  animation:ggV605CrabWholeR .76s cubic-bezier(.22,.8,.22,1) .025s 1 both!important;
}
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-tap .gg-v597-crab-upper{
  animation:ggV605CrabUpper .72s cubic-bezier(.2,.85,.2,1) 1 both!important;
}
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-tap .gg-v597-crab-lower{
  animation:ggV605CrabLower .72s cubic-bezier(.2,.85,.2,1) 1 both!important;
}
@keyframes ggV605CrabWholeL{
  0%,100%{transform:translate(0,0) rotate(0deg) scale(1)}
  18%{transform:translate(-12px,-12px) rotate(-18deg) scale(1.05)}
  42%{transform:translate(18px,-22px) rotate(15deg) scale(1.14)}
  58%{transform:translate(22px,-13px) rotate(8deg) scale(1.09)}
  76%{transform:translate(-5px,4px) rotate(-7deg) scale(.98)}
}
@keyframes ggV605CrabWholeR{
  0%,100%{transform:translate(0,0) rotate(0deg) scale(1)}
  18%{transform:translate(12px,-12px) rotate(18deg) scale(1.05)}
  42%{transform:translate(-18px,-22px) rotate(-15deg) scale(1.14)}
  58%{transform:translate(-22px,-13px) rotate(-8deg) scale(1.09)}
  76%{transform:translate(5px,4px) rotate(7deg) scale(.98)}
}
@keyframes ggV605CrabUpper{
  0%,100%{transform:rotate(0deg)}
  18%,38%{transform:rotate(-42deg)}
  55%{transform:rotate(18deg)}
  70%{transform:rotate(-8deg)}
}
@keyframes ggV605CrabLower{
  0%,100%{transform:rotate(0deg)}
  18%,38%{transform:rotate(38deg)}
  55%{transform:rotate(-16deg)}
  70%{transform:rotate(7deg)}
}
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-idle-a .hand-left .hand-motion{animation:ggV605CrabIdleL 1.15s ease-in-out 1 both!important}
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-idle-a .hand-right .hand-motion{animation:ggV605CrabIdleR 1.18s ease-in-out .06s 1 both!important}
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-idle-b .hand-left .hand-motion{animation:ggV605CrabIdleL2 1.2s ease-in-out 1 both!important}
body.avatar-page #ggGlobalHandsV536[data-mode="crab"].gg-v605-crab-idle-b .hand-right .hand-motion{animation:ggV605CrabIdleR2 1.2s ease-in-out 1 both!important}
@keyframes ggV605CrabIdleL{0%,100%{transform:none}48%{transform:translate(-7px,-10px) rotate(-12deg) scale(1.04)}}
@keyframes ggV605CrabIdleR{0%,100%{transform:none}48%{transform:translate(7px,-10px) rotate(12deg) scale(1.04)}}
@keyframes ggV605CrabIdleL2{0%,100%{transform:none}35%{transform:translate(8px,-5px) rotate(8deg)}68%{transform:translate(-4px,-11px) rotate(-10deg)}}
@keyframes ggV605CrabIdleR2{0%,100%{transform:none}35%{transform:translate(-8px,-5px) rotate(-8deg)}68%{transform:translate(4px,-11px) rotate(10deg)}}

/* ANGRY HANDS — normal fist bump every tap */
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="hulk"].gg-v605-angry-tap .hand-left .hand-motion{animation:ggV605AngryTapL .62s cubic-bezier(.2,.82,.18,1) 1 both!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="hulk"].gg-v605-angry-tap .hand-right .hand-motion{animation:ggV605AngryTapR .62s cubic-bezier(.2,.82,.18,1) 1 both!important}
@keyframes ggV605AngryTapL{0%,100%{transform:none}16%{transform:translate(-18px,-5px) rotate(-10deg)}42%{transform:translate(48px,-12px) rotate(15deg) scale(1.12)}54%{transform:translate(43px,-9px) rotate(10deg) scale(1.08)}72%{transform:translate(-7px,3px) rotate(-4deg)}}
@keyframes ggV605AngryTapR{0%,100%{transform:none}16%{transform:translate(18px,-5px) rotate(10deg)}42%{transform:translate(-48px,-12px) rotate(-15deg) scale(1.12)}54%{transform:translate(-43px,-9px) rotate(-10deg) scale(1.08)}72%{transform:translate(7px,3px) rotate(4deg)}}

body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="hulk"].gg-v605-angry-big .hand-left .hand-motion{animation:ggV605AngryBigL 1.12s cubic-bezier(.16,.86,.18,1) 1 both!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="hulk"].gg-v605-angry-big .hand-right .hand-motion{animation:ggV605AngryBigR 1.12s cubic-bezier(.16,.86,.18,1) 1 both!important}
@keyframes ggV605AngryBigL{0%,100%{transform:none}20%{transform:translate(-30px,-12px) rotate(-18deg) scale(1.12)}38%{transform:translate(-36px,-16px) rotate(-21deg) scale(1.15)}50%{transform:translate(56px,-18px) rotate(20deg) scale(1.24)}60%{transform:translate(49px,-14px) rotate(14deg) scale(1.17)}76%{transform:translate(-8px,5px) rotate(-6deg)}}
@keyframes ggV605AngryBigR{0%,100%{transform:none}20%{transform:translate(30px,-12px) rotate(18deg) scale(1.12)}38%{transform:translate(36px,-16px) rotate(21deg) scale(1.15)}50%{transform:translate(-56px,-18px) rotate(-20deg) scale(1.24)}60%{transform:translate(-49px,-14px) rotate(-14deg) scale(1.17)}76%{transform:translate(8px,5px) rotate(6deg)}}

/* BOXING — larger gloves are rendered by v548 scale; these are the punch motions */
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="boxing"].gg-v605-box-tap-l .hand-left .hand-motion{animation:ggV605BoxPunchL .5s cubic-bezier(.18,.9,.2,1) 1 both!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="boxing"].gg-v605-box-tap-r .hand-right .hand-motion{animation:ggV605BoxPunchR .5s cubic-bezier(.18,.9,.2,1) 1 both!important}
@keyframes ggV605BoxPunchL{0%,100%{transform:none}24%{transform:translate(-8px,5px) rotate(-8deg)}48%{transform:translate(32px,-34px) rotate(18deg) scale(1.14)}66%{transform:translate(24px,-25px) rotate(12deg) scale(1.08)}}
@keyframes ggV605BoxPunchR{0%,100%{transform:none}24%{transform:translate(8px,5px) rotate(8deg)}48%{transform:translate(-32px,-34px) rotate(-18deg) scale(1.14)}66%{transform:translate(-24px,-25px) rotate(-12deg) scale(1.08)}}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="boxing"].gg-v605-box-big .hand-left .hand-motion{animation:ggV605BoxBigL .92s cubic-bezier(.14,.9,.18,1) 1 both!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="boxing"].gg-v605-box-big .hand-right .hand-motion{animation:ggV605BoxBigR .92s cubic-bezier(.14,.9,.18,1) 1 both!important}
@keyframes ggV605BoxBigL{0%,100%{transform:none}22%{transform:translate(-16px,8px) rotate(-12deg)}46%{transform:translate(40px,-44px) rotate(22deg) scale(1.22)}62%{transform:translate(28px,-30px) rotate(15deg) scale(1.1)}}
@keyframes ggV605BoxBigR{0%,100%{transform:none}22%{transform:translate(16px,8px) rotate(12deg)}46%{transform:translate(-40px,-44px) rotate(-22deg) scale(1.22)}62%{transform:translate(-28px,-30px) rotate(-15deg) scale(1.1)}}

/* Head reaction: only head/face-related SVG pieces move, never body/outfit. */
body.avatar-page #avatarSvg.gg-v605-head-hit-l :is(#backHairLayer,#ggHairV326Rear,#face,#earLayer,#hairLayer,#ggHairV326Front,#brows,#eyesWhite,#eyes,#nose,#lips,#mouthAccessory,#facialHair,#eyeAccessory,#lashAccessory,#beakAccessory,#earAccessory,#headAccessory,#extraAccessory,#extraAccessory2,#ggFaceTatsLayerV221,#ggFaceTatsLayerV222,#ggFaceTatsStable){animation:ggV605HeadHitL .48s ease-out 1 both!important;transform-box:view-box;transform-origin:210px 210px}
body.avatar-page #avatarSvg.gg-v605-head-hit-r :is(#backHairLayer,#ggHairV326Rear,#face,#earLayer,#hairLayer,#ggHairV326Front,#brows,#eyesWhite,#eyes,#nose,#lips,#mouthAccessory,#facialHair,#eyeAccessory,#lashAccessory,#beakAccessory,#earAccessory,#headAccessory,#extraAccessory,#extraAccessory2,#ggFaceTatsLayerV221,#ggFaceTatsLayerV222,#ggFaceTatsStable){animation:ggV605HeadHitR .48s ease-out 1 both!important;transform-box:view-box;transform-origin:210px 210px}
body.avatar-page #avatarSvg.gg-v605-head-ko :is(#backHairLayer,#ggHairV326Rear,#face,#earLayer,#hairLayer,#ggHairV326Front,#brows,#eyesWhite,#eyes,#nose,#lips,#mouthAccessory,#facialHair,#eyeAccessory,#lashAccessory,#beakAccessory,#earAccessory,#headAccessory,#extraAccessory,#extraAccessory2,#ggFaceTatsLayerV221,#ggFaceTatsLayerV222,#ggFaceTatsStable){animation:ggV605HeadKO .82s cubic-bezier(.18,.8,.2,1) 1 both!important;transform-box:view-box;transform-origin:210px 210px}
@keyframes ggV605HeadHitL{0%,100%{transform:none}34%{transform:translate(-9px,3px) rotate(-5deg)}62%{transform:translate(4px,-1px) rotate(2deg)}}
@keyframes ggV605HeadHitR{0%,100%{transform:none}34%{transform:translate(9px,3px) rotate(5deg)}62%{transform:translate(-4px,-1px) rotate(-2deg)}}
@keyframes ggV605HeadKO{0%,100%{transform:none}25%{transform:translate(-3px,-2px) rotate(-3deg)}48%{transform:translate(16px,11px) rotate(11deg) scale(.98)}62%{transform:translate(-10px,5px) rotate(-7deg)}78%{transform:translate(4px,-2px) rotate(3deg)}}

/* Shockwaves */
body.avatar-page #avatarSvg .gg-v605-impact{pointer-events:none;transform-box:view-box;transform-origin:210px 210px}
body.avatar-page #avatarSvg .gg-v605-impact .ring{fill:none;stroke:#fff5c5;stroke-linecap:round;animation:ggV605ImpactRing .55s ease-out forwards}
body.avatar-page #avatarSvg .gg-v605-impact .ring.gold{stroke:#d7b05b;animation-delay:.04s}
body.avatar-page #avatarSvg .gg-v605-impact .burst{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;animation:ggV605ImpactBurst .42s ease-out forwards}
body.avatar-page #avatarSvg .gg-v605-impact.big .ring{stroke-width:6}
body.avatar-page #avatarSvg .gg-v605-impact.small .ring{stroke-width:4}
@keyframes ggV605ImpactRing{0%{opacity:.95;transform:scale(.2)}100%{opacity:0;transform:scale(2.5)}}
@keyframes ggV605ImpactBurst{0%{opacity:1;transform:scale(.45)}100%{opacity:0;transform:scale(1.5)}}
body.avatar-page #avatarStage.gg-v605-heavy-shake{animation:ggV605HeavyShake .36s linear 1!important}
@keyframes ggV605HeavyShake{0%,100%{transform:none}15%{transform:translate(-4px,2px)}30%{transform:translate(5px,-3px)}45%{transform:translate(-5px,-1px)}60%{transform:translate(4px,3px)}75%{transform:translate(-2px,-2px)}90%{transform:translate(2px,1px)}}

/* Boxing knockout blackout + blink-open from middle */
body.avatar-page #ggV605KnockoutBlink{position:absolute;inset:0;z-index:9998;pointer-events:none;overflow:hidden;border-radius:inherit}
body.avatar-page #ggV605KnockoutBlink::before,
body.avatar-page #ggV605KnockoutBlink::after{content:"";position:absolute;left:0;width:100%;height:50%;background:#000;will-change:transform}
body.avatar-page #ggV605KnockoutBlink::before{top:0;transform-origin:top center;animation:ggV605BlinkTop 1.15s ease-in-out forwards}
body.avatar-page #ggV605KnockoutBlink::after{bottom:0;transform-origin:bottom center;animation:ggV605BlinkBottom 1.15s ease-in-out forwards}
@keyframes ggV605BlinkTop{0%{transform:translateY(-100%)}28%{transform:translateY(0)}58%{transform:translateY(0)}100%{transform:translateY(-100%)}}
@keyframes ggV605BlinkBottom{0%{transform:translateY(100%)}28%{transform:translateY(0)}58%{transform:translateY(0)}100%{transform:translateY(100%)}}

@media (prefers-reduced-motion:reduce){
  /* Keep direct user-triggered reactions visible, but shorten them. */
  body.avatar-page #ggGlobalHandsV536[class*="gg-v605-"] .hand-motion{animation-duration:.28s!important}
  body.avatar-page #ggV605KnockoutBlink::before,body.avatar-page #ggV605KnockoutBlink::after{animation-duration:.72s!important}
}

/* v606: direct interaction always outranks legacy hulk/boxing idle motion. */
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="hulk"].gg-v605-angry-tap .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="hulk"].gg-v605-angry-big .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="boxing"].gg-v605-box-tap-l .hand-left .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="boxing"].gg-v605-box-tap-r .hand-right .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536[data-mode="boxing"].gg-v605-box-big .hand-motion{animation-play-state:running!important}
