/* v534 — globally aligned top-layer hands/feet with idle gestures */
svg #ggFloatingHandsV515,svg #ggGlobalHandsV531,svg #ggGlobalFeetV531,svg #ggGlobalHandsV532,svg #ggGlobalFeetV532{display:none!important;visibility:hidden!important;opacity:0!important}
svg #ggGlobalHandsV534,svg #ggGlobalFeetV534{pointer-events:none!important}
svg #ggGlobalHandsV534 .motion,svg #ggGlobalFeetV534 .motion{transform-box:fill-box;transform-origin:center center}
svg #ggGlobalHandsV534[data-mode="none"]{display:none!important}
svg #ggGlobalHandsV534 .left .motion{animation:ggV534HandL 3.7s ease-in-out infinite}
svg #ggGlobalHandsV534 .right .motion{animation:ggV534HandR 3.7s ease-in-out .22s infinite}
svg #ggGlobalHandsV534[data-mode="wave"] .right .motion{animation:ggV534HandWave 1.25s ease-in-out infinite}
svg #ggGlobalHandsV534[data-mode="bounce"] .motion{animation:ggV534HandBounce 1.9s ease-in-out infinite}
svg #ggGlobalHandsV534.gg-v534-hand-extra .right .motion{animation:ggV534HandExtra .85s ease-in-out 2!important}
svg #ggGlobalFeetV534 .left .motion,svg #ggGlobalFeetV534 .right .motion{animation:ggV534FootBreath 4.6s ease-in-out infinite}
svg #ggGlobalFeetV534.gg-v534-tap-left .left .motion{animation:ggV534FootTap .55s ease-in-out 2!important}
svg #ggGlobalFeetV534.gg-v534-tap-right .right .motion{animation:ggV534FootTapR .55s ease-in-out 2!important}
@keyframes ggV534HandL{0%,100%{transform:translate(0,0) rotate(0)}42%{transform:translate(-1px,-3px) rotate(-2deg)}70%{transform:translate(1px,-1px) rotate(1deg)}}
@keyframes ggV534HandR{0%,100%{transform:translate(0,0) rotate(0)}42%{transform:translate(1px,-3px) rotate(2deg)}70%{transform:translate(-1px,-1px) rotate(-1deg)}}
@keyframes ggV534HandWave{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(10deg)}65%{transform:translateY(-2px) rotate(-10deg)}}
@keyframes ggV534HandBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ggV534HandExtra{0%,100%{transform:translate(0,0) rotate(0)}35%{transform:translate(2px,-5px) rotate(8deg)}65%{transform:translate(-1px,-2px) rotate(-6deg)}}
@keyframes ggV534FootBreath{0%,100%{transform:translateY(0)}50%{transform:translateY(1px)}}
@keyframes ggV534FootTap{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-7deg)}}
@keyframes ggV534FootTapR{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(7deg)}}
@media(prefers-reduced-motion:reduce){svg #ggGlobalHandsV534 *,svg #ggGlobalFeetV534 *{animation:none!important}}

/* v665 — Room uses the authoritative serialized V536 hands + V566 feet.
   Do not add fallback limb art; animate the real shared components in place. */
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536,
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer{
  pointer-events:none!important;
}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536 .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536 .hand-motion{
  transform-box:fill-box;
  transform-origin:50% 82%;
}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="none"],
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="none"]{display:none!important}

/* preserve the selected hand mode without flattening the Studio component */
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="float"] .hand-left .hand-motion,
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="beardKnuckles"] .hand-left .hand-motion,
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="gothSpikes"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="float"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="beardKnuckles"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="gothSpikes"] .hand-left .hand-motion{animation:ggV665RoomHandFloatL 3s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="float"] .hand-right .hand-motion,
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="beardKnuckles"] .hand-right .hand-motion,
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="gothSpikes"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="float"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="beardKnuckles"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="gothSpikes"] .hand-right .hand-motion{animation:ggV665RoomHandFloatR 3.2s ease-in-out .12s infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wave"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wave"] .hand-left .hand-motion{animation:ggV665RoomHandFloatL 3s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wave"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wave"] .hand-right .hand-motion{animation:ggV665RoomHandWave 1.08s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="bounce"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="bounce"] .hand-left .hand-motion{animation:ggV665RoomHandBounceL 1.14s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="bounce"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="bounce"] .hand-right .hand-motion{animation:ggV665RoomHandBounceR 1.14s ease-in-out .08s infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="crab"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="crab"] .hand-left .hand-motion{animation:ggV665RoomCrabL .9s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="crab"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="crab"] .hand-right .hand-motion{animation:ggV665RoomCrabR .9s ease-in-out .08s infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="boxing"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="boxing"] .hand-left .hand-motion{animation:ggV665RoomBoxL .96s cubic-bezier(.42,0,.3,1) infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="boxing"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="boxing"] .hand-right .hand-motion{animation:ggV665RoomBoxR .96s cubic-bezier(.42,0,.3,1) infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="hulk"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="hulk"] .hand-left .hand-motion{animation:ggV665RoomHulkL 1.36s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="hulk"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="hulk"] .hand-right .hand-motion{animation:ggV665RoomHulkR 1.36s ease-in-out .1s infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wolverine"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wolverine"] .hand-left .hand-motion{animation:ggV665RoomSlashL 1.05s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wolverine"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="wolverine"] .hand-right .hand-motion{animation:ggV665RoomSlashR 1.05s ease-in-out .08s infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="electric"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="electric"] .hand-left .hand-motion{animation:ggV665RoomElectricL .82s linear infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="electric"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="electric"] .hand-right .hand-motion{animation:ggV665RoomElectricR .82s linear infinite!important}
/* nunchucks still get a lively alternating motion in Room without another JS loop */
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="nunchucks"] .hand-left .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="nunchucks"] .hand-left .hand-motion{animation:ggV665RoomNunchL 1.35s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="nunchucks"] .hand-right .hand-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536[data-mode="nunchucks"] .hand-right .hand-motion{animation:ggV665RoomNunchR 1.2s ease-in-out .08s infinite!important}

/* authoritative V566 feet stay single-instance and retain a light living/tapping cycle */
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion{transform-box:fill-box;transform-origin:50% 82%;will-change:transform}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion.left,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion.left{animation:ggV665RoomFootL 4.8s ease-in-out infinite!important}
body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion.right,
body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion.right{animation:ggV665RoomFootR 5.2s ease-in-out .45s infinite!important}

@keyframes ggV665RoomHandFloatL{0%,100%{transform:translate(0,1px) rotate(-1deg)}35%{transform:translate(-1px,-2px) rotate(-4deg)}68%{transform:translate(1px,0) rotate(1deg)}}
@keyframes ggV665RoomHandFloatR{0%,100%{transform:translate(0,0) rotate(1deg)}40%{transform:translate(1px,-2px) rotate(3deg)}74%{transform:translate(-1px,1px) rotate(-1deg)}}
@keyframes ggV665RoomHandWave{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(3px,-7px) rotate(14deg)}50%{transform:translate(4px,-10px) rotate(22deg)}75%{transform:translate(1px,-4px) rotate(-7deg)}}
@keyframes ggV665RoomHandBounceL{0%,100%{transform:translateY(1px) rotate(-1deg)}50%{transform:translateY(-9px) rotate(-5deg) scale(1.04)}}
@keyframes ggV665RoomHandBounceR{0%,100%{transform:translateY(2px) rotate(1deg)}50%{transform:translateY(-9px) rotate(5deg) scale(1.04)}}
@keyframes ggV665RoomCrabL{0%,100%{transform:translateY(1px) rotate(-2deg) scaleX(1)}50%{transform:translateY(-6px) rotate(-16deg) scaleX(1.06)}}
@keyframes ggV665RoomCrabR{0%,100%{transform:translateY(1px) rotate(2deg) scaleX(1)}50%{transform:translateY(-6px) rotate(16deg) scaleX(1.06)}}
@keyframes ggV665RoomBoxL{0%,100%{transform:translate(0,2px)}50%{transform:translate(-10px,-10px) scale(1.05)}}
@keyframes ggV665RoomBoxR{0%,100%{transform:translate(0,2px)}50%{transform:translate(10px,-10px) scale(1.05)}}
@keyframes ggV665RoomHulkL{0%,100%{transform:translate(0,2px)}50%{transform:translate(-5px,-8px) scale(1.1) rotate(-6deg)}}
@keyframes ggV665RoomHulkR{0%,100%{transform:translate(0,2px)}50%{transform:translate(5px,-8px) scale(1.1) rotate(6deg)}}
@keyframes ggV665RoomSlashL{0%,100%{transform:translate(0,2px)}50%{transform:translate(-8px,-10px) rotate(-14deg)}}
@keyframes ggV665RoomSlashR{0%,100%{transform:translate(0,2px)}50%{transform:translate(8px,-10px) rotate(14deg)}}
@keyframes ggV665RoomElectricL{0%,100%{transform:translate(0,2px) rotate(-1deg);filter:drop-shadow(0 0 4px rgba(121,240,255,.45))}50%{transform:translate(-2px,-8px) rotate(-4deg) scale(1.05);filter:drop-shadow(0 0 10px rgba(121,240,255,.8))}}
@keyframes ggV665RoomElectricR{0%,100%{transform:translate(0,2px) rotate(1deg);filter:drop-shadow(0 0 4px rgba(121,240,255,.45))}50%{transform:translate(2px,-8px) rotate(4deg) scale(1.05);filter:drop-shadow(0 0 10px rgba(121,240,255,.8))}}
@keyframes ggV665RoomNunchL{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(-12deg)}}
@keyframes ggV665RoomNunchR{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-7px) rotate(12deg)}}
@keyframes ggV665RoomFootL{0%,100%{transform:translateY(0) rotate(0)}42%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-4deg)}58%{transform:translateY(1px) rotate(0)}72%{transform:translateY(0) rotate(0)}}
@keyframes ggV665RoomFootR{0%,100%{transform:translateY(0) rotate(0)}48%{transform:translateY(0) rotate(0)}56%{transform:translateY(-6px) rotate(4deg)}64%{transform:translateY(1px) rotate(0)}78%{transform:translateY(0) rotate(0)}}

@media(prefers-reduced-motion:reduce){
  body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536 .hand-motion,
  body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggGlobalHandsV536 .hand-motion,
  body.room-page-v054 #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion,
  body.avatar-room-page #avatarRoom .room-avatar.room-avatar-exact #ggV566FeetLayer .gg-v610-foot-motion{animation-duration:7s!important}
}
