/* Grim & Goldie Studios — Avatar Studio living motion + effects authority v786.
   All whole-avatar movement occurs outside the SVG so cosmetic layer order remains untouched. */

body.avatar-page #avatarStage{position:relative!important;isolation:isolate}
body.avatar-page #ggAvatarIdleRigV786,
body.avatar-page #ggAvatarTapRigV786{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  display:grid;
  place-items:center;
  transform-origin:50% 62%;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
body.avatar-page #ggAvatarIdleRigV786{z-index:2;will-change:transform}
body.avatar-page #ggAvatarTapRigV786{will-change:transform,filter}
body.avatar-page[data-gg-builder-mode="familiar"] #ggAvatarIdleRigV786{display:none!important}
body.avatar-page #ggAvatarTapRigV786>svg#avatarSvg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
}
body.avatar-page #ggAvatarIdleRigV786:not([data-waapi-idle="1"]){
  animation:ggAvatarIdleRigV786 4.25s cubic-bezier(.42,0,.3,1) infinite!important;
  animation-play-state:running!important;
}
@keyframes ggAvatarIdleRigV786{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
  36%{transform:translate3d(0,-4px,0) rotate(-.18deg) scale(1.004)}
  58%{transform:translate3d(0,-2px,0) rotate(.13deg) scale(1.007)}
  78%{transform:translate3d(0,1px,0) rotate(.06deg) scale(.998)}
}

/* Non-SVG tap particles. */
body.avatar-page #ggAvatarTapFxV786{
  position:absolute;
  inset:0;
  z-index:2135;
  overflow:hidden;
  border-radius:inherit;
  pointer-events:none!important;
}
body.avatar-page #ggAvatarTapFxV786>i{
  position:absolute;
  left:var(--x,50%);
  top:var(--y,50%);
  width:var(--size,9px);
  height:var(--size,9px);
  transform:translate(-50%,-50%);
  opacity:0;
  color:#ffe58c;
  text-shadow:0 0 6px rgba(255,217,90,.85);
  font:900 var(--size,9px)/1 system-ui,sans-serif;
  animation:ggAvatarTapParticleV786 var(--dur,720ms) ease-out forwards!important;
}
@keyframes ggAvatarTapParticleV786{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(0)}
  16%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),calc(-50% + var(--dy,-44px))) scale(1.18) rotate(var(--rot,80deg))}
}

/* Asset life. These selectors load last and deliberately override older pause rules. */
body.avatar-page #avatarSvg .avatar-bees .bee{
  transform-origin:210px 175px!important;
  animation:ggV786BeeOrbit 4.3s linear infinite!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .avatar-bees .bee:nth-child(2){animation-delay:-1.08s!important}
body.avatar-page #avatarSvg .avatar-bees .bee:nth-child(3){animation-delay:-2.16s!important}
body.avatar-page #avatarSvg .avatar-bees .bee:nth-child(4){animation-delay:-3.24s!important}
@keyframes ggV786BeeOrbit{
  0%{transform:translate(105px,125px) rotate(0deg)}
  25%{transform:translate(310px,145px) rotate(12deg)}
  50%{transform:translate(285px,275px) rotate(-8deg)}
  75%{transform:translate(115px,250px) rotate(10deg)}
  100%{transform:translate(105px,125px) rotate(0deg)}
}

body.avatar-page #avatarSvg .avatar-bees .bee ellipse:nth-of-type(2),
body.avatar-page #avatarSvg .avatar-bees .bee ellipse:nth-of-type(3){
  transform-box:fill-box!important;
  transform-origin:50% 100%!important;
  animation:ggV786BeeWing 180ms ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .avatar-bees .bee ellipse:nth-of-type(3){animation-delay:-90ms!important}
@keyframes ggV786BeeWing{from{transform:scaleY(.62) rotate(-6deg)}to{transform:scaleY(1.18) rotate(6deg)}}
body.avatar-page #avatarSvg #headAccessory>ellipse[rx="75"][ry="22"]{
  animation:ggV786HaloGlow 2.1s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .gg-fire-halo-glow-v335,
body.avatar-page #avatarSvg .gg-fire-halo-ring-v335,
body.avatar-page #avatarSvg .gg-fire-halo-core-v335{
  animation:ggV786HaloGlow 1.75s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .gg-fire-halo-ring-v335{animation-delay:-.6s!important}
body.avatar-page #avatarSvg .gg-fire-halo-core-v335{animation-delay:-1.1s!important}
@keyframes ggV786HaloGlow{from{opacity:.68;filter:drop-shadow(0 0 4px rgba(255,211,92,.48))}to{opacity:1;filter:drop-shadow(0 0 11px rgba(255,211,92,.95))}}
body.avatar-page #avatarSvg .avatar-flies-v084>*{
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786FlyDrift 2.5s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .avatar-flies-v084>*:nth-child(2){animation-delay:-.7s!important}
body.avatar-page #avatarSvg .avatar-flies-v084>*:nth-child(3){animation-delay:-1.4s!important}
@keyframes ggV786FlyDrift{from{transform:translate3d(-3px,2px,0) rotate(-7deg)}to{transform:translate3d(5px,-5px,0) rotate(8deg)}}

body.avatar-page #avatarSvg .snake-hair-v103>path,
body.avatar-page #avatarSvg .snake-hair path{
  transform-box:fill-box!important;
  transform-origin:50% 100%!important;
  animation:ggV786SnakeWiggle 1.75s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .snake-hair-v103>path:nth-child(2),body.avatar-page #avatarSvg .snake-hair>path:nth-child(2){animation-delay:-.42s!important}
body.avatar-page #avatarSvg .snake-hair-v103>path:nth-child(3),body.avatar-page #avatarSvg .snake-hair>path:nth-child(3){animation-delay:-.84s!important}
body.avatar-page #avatarSvg .snake-hair-v103>path:nth-child(4),body.avatar-page #avatarSvg .snake-hair>path:nth-child(4){animation-delay:-1.26s!important}
@keyframes ggV786SnakeWiggle{from{transform:rotate(-2.5deg) translateY(0)}to{transform:rotate(3deg) translateY(-2px)}}

body.avatar-page #avatarSvg :is(.gg-fire-hair-v328,.gg-v331-fire-hair,.fire-hair){
  transform-box:fill-box!important;
  transform-origin:50% 100%!important;
  animation:ggV786FireHair 1.05s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
@keyframes ggV786FireHair{from{transform:scale(1,.975) translateY(1px);filter:drop-shadow(0 0 7px #ff5e13)}to{transform:scale(1.018,1.035) translateY(-2px);filter:drop-shadow(0 0 13px #ff9d22)}}
body.avatar-page #avatarSvg :is(.gg-v331-fire-flicker,.gg-fire-flicker-v328)>*,
body.avatar-page #avatarSvg .gg-halo-flames-v335 path,
body.avatar-page #avatarSvg .halo-flames path{
  transform-box:fill-box!important;
  transform-origin:50% 100%!important;
  animation:ggV786Flame 620ms ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg :is(.gg-v331-fire-flicker,.gg-fire-flicker-v328)>*:nth-child(2),body.avatar-page #avatarSvg .gg-halo-flames-v335 path:nth-child(2),body.avatar-page #avatarSvg .halo-flames path:nth-child(2){animation-delay:-.21s!important;animation-duration:510ms!important}
body.avatar-page #avatarSvg :is(.gg-v331-fire-flicker,.gg-fire-flicker-v328)>*:nth-child(3),body.avatar-page #avatarSvg .gg-halo-flames-v335 path:nth-child(3),body.avatar-page #avatarSvg .halo-flames path:nth-child(3){animation-delay:-.39s!important;animation-duration:730ms!important}
@keyframes ggV786Flame{from{transform:translateY(1px) scale(.96,.88) rotate(-1.2deg)}to{transform:translateY(-2px) scale(1.04,1.12) rotate(1.5deg)}}
body.avatar-page #avatarSvg :is(.gg-fire-halo-v335,.halo-flames){
  animation-play-state:running!important;
  filter:drop-shadow(0 0 7px rgba(255,100,20,.8))!important;
}
body.avatar-page #avatarSvg .gg-halo-sparks-v335>*{
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786SparkFloat 1.7s ease-in-out infinite!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .gg-halo-sparks-v335>*:nth-child(2){animation-delay:-.6s!important}
body.avatar-page #avatarSvg .gg-halo-sparks-v335>*:nth-child(3){animation-delay:-1.2s!important}
@keyframes ggV786SparkFloat{0%,100%{opacity:.2;transform:translateY(4px) scale(.65)}45%{opacity:1;transform:translateY(-6px) scale(1.15)}}

body.avatar-page #avatarSvg :is(.pulse-eyes,.gg-heart-eyes-motion-v658){
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786HeartPulse 2.15s cubic-bezier(.42,0,.2,1) infinite!important;
  animation-play-state:running!important;
}
@keyframes ggV786HeartPulse{0%,100%{transform:scale(1)}22%{transform:scale(1.09)}38%{transform:scale(1.01)}56%{transform:scale(1.12)}71%{transform:scale(1.02)}}
body.avatar-page #avatarSvg .gg-poop-eye-life-v642,
body.avatar-page #avatarSvg .gg-turd-eye-motion-v658{
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786TurdWobble 3.6s ease-in-out infinite!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .gg-poop-eye-right-v642{animation-delay:-.55s!important}
@keyframes ggV786TurdWobble{0%,100%{transform:translate(0,0) rotate(0) scale(1)}30%{transform:translate(0,-2px) rotate(-3deg) scale(1.04,.97)}58%{transform:translate(1px,0) rotate(2.5deg) scale(.98,1.04)}76%{transform:translate(-1px,-1px) rotate(-1.5deg) scale(1.02)}}
body.avatar-page #avatarSvg .gg-star-dust-v642>*{
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786StarDust 2.2s ease-in-out infinite!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .gg-star-dust-v642>*:nth-child(2){animation-delay:-.7s!important}
body.avatar-page #avatarSvg .gg-star-dust-v642>*:nth-child(3){animation-delay:-1.4s!important}
body.avatar-page #avatarSvg .gg-star-dust-v642>*:nth-child(4){animation-delay:-1.8s!important}
@keyframes ggV786StarDust{0%,100%{opacity:.22;transform:translateY(3px) scale(.65) rotate(0)}48%{opacity:1;transform:translateY(-6px) scale(1.24) rotate(65deg)}}
body.avatar-page #avatarSvg :is(.googly-pupil,.chameleon-pupil){
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786PupilLook 3.8s ease-in-out infinite!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg :is(.googly-pupil,.chameleon-pupil).right{animation-delay:-1.9s!important}
@keyframes ggV786PupilLook{0%,100%{transform:translate(0,0)}23%{transform:translate(5px,-4px)}49%{transform:translate(-4px,4px)}72%{transform:translate(3px,3px)}}

body.avatar-page #avatarSvg .avatar-butterfly.flying{
  animation:butterflyFlutter .34s ease-in-out infinite alternate,butterflyDrift 7s ease-in-out forwards!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .avatar-butterfly.landed{
  animation:butterflyRest .8s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .gg-third-eye-iris-v680{
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786ThirdEye 2.8s ease-in-out infinite!important;
  animation-play-state:running!important;
}
@keyframes ggV786ThirdEye{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 transparent)}42%{transform:scale(1.16);filter:drop-shadow(0 0 5px rgba(215,176,91,.75))}55%{transform:scale(.96)}}
body.avatar-page #avatarSvg .gg-long-tongue-top-v155,
body.avatar-page #avatarSvg #mouthAccessory>path[d*="62-18 96"]{
  transform-box:fill-box!important;
  transform-origin:50% 0!important;
  animation:ggV786TongueSway 2.3s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
@keyframes ggV786TongueSway{from{transform:rotate(-1.3deg) scaleY(.985)}to{transform:rotate(1.6deg) scaleY(1.025)}}
body.avatar-page #avatarSvg .idle-fly{animation:idleFly 2.2s ease-in-out infinite alternate!important;animation-play-state:running!important}
body.avatar-page #avatarSvg .idle-tear{animation:idleTear 1.8s ease-in infinite!important;animation-play-state:running!important}
body.avatar-page #avatarSvg .idle-sleep text{animation:idleZ 1.8s ease-in-out infinite alternate!important;animation-play-state:running!important}
body.avatar-page #avatarSvg .gg-sleepy-eyes-v173{transform-box:fill-box!important;transform-origin:center!important;animation:ggV786Sleepy 4.4s ease-in-out infinite!important;animation-play-state:running!important}
@keyframes ggV786Sleepy{0%,86%,100%{transform:scaleY(1)}91%,96%{transform:scaleY(.18)}}
body.avatar-page #avatarSvg .gg-v331-bald-glow{animation:ggV331BaldGlow 1.8s ease-in-out infinite alternate!important;animation-play-state:running!important}
body.avatar-page #avatarSvg .gg-pizza-outfit-v406{animation:ggPizzaBounceV406 1.35s ease-in-out infinite!important;animation-play-state:running!important}
body.avatar-page #avatarSvg .pizza-sparkles{animation:ggPizzaSparkV406 1.2s ease-in-out infinite alternate!important;animation-play-state:running!important}

/* Modern hand authority: only the internal motion groups move. */
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"]):not([data-mode="none"]) .hand-left .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"]):not([data-mode="none"]) .hand-right .hand-motion{
  transform-box:fill-box!important;
  transform-origin:center!important;
  animation:ggV786HandFloat 2.25s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"]):not([data-mode="none"]) .hand-right .hand-motion{animation-delay:-1.12s!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="wave"] .hand-left .hand-motion{animation:ggV786HandWave 1.45s ease-in-out infinite!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="bounce"] .hand-left .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="bounce"] .hand-right .hand-motion{animation:ggV786HandBounce 1.25s ease-in-out infinite alternate!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="crab"] .hand-left .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="crab"] .hand-right .hand-motion{animation:ggV786CrabClaw 2s ease-in-out infinite alternate!important}
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="boxing"] .hand-left .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="boxing"] .hand-right .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="hulk"] .hand-left .hand-motion,
body.avatar-page.gg-hands-v548 #avatarSvg #ggGlobalHandsV536:not([class*="gg-v605-"]):not([class*="gg-v608-"]):not([class*="gg-v609-"]):not([class*="gg-v626-"]):not([class*="gg-v629-"])[data-mode="hulk"] .hand-right .hand-motion{animation:ggV786FistReady 1.55s ease-in-out infinite alternate!important}
@keyframes ggV786HandFloat{from{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-4px) rotate(1.4deg)}}
@keyframes ggV786HandWave{0%,100%{transform:rotate(0deg) translateY(0)}25%{transform:rotate(-10deg) translateY(-3px)}55%{transform:rotate(9deg) translateY(-5px)}78%{transform:rotate(-5deg) translateY(-2px)}}
@keyframes ggV786HandBounce{from{transform:translateY(1px) scale(1)}to{transform:translateY(-7px) scale(1.025)}}
@keyframes ggV786CrabClaw{from{transform:translateY(1px) rotate(-2deg) scale(.98)}to{transform:translateY(-3px) rotate(2.2deg) scale(1.025)}}
@keyframes ggV786FistReady{from{transform:translateY(1px) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}

body.avatar-page #avatarSvg .gg-v610-foot-motion{
  transform-box:fill-box!important;
  transform-origin:50% 100%!important;
  animation:ggV786FootIdle 2.4s ease-in-out infinite alternate!important;
  animation-play-state:running!important;
}
body.avatar-page #avatarSvg .gg-v610-foot-motion.right{animation-delay:-1.2s!important}
@keyframes ggV786FootIdle{from{transform:translateY(0) rotate(-.6deg)}to{transform:translateY(-2px) rotate(.7deg)}}

body.avatar-page #avatarSvg :is(#reactionEffect,#idleEffect,#moodEffect) *,
body.avatar-page #avatarSvg :is([class*="flame"],[class*="spark"],[class*="glow"],[class*="pulse"],[class*="flutter"],[class*="wiggle"]){
  animation-play-state:running!important;
}

/* The user explicitly requested visible motion; reduced-motion gets slower, gentler movement rather than none. */
@media(prefers-reduced-motion:reduce){
  body.avatar-page #ggAvatarIdleRigV786:not([data-waapi-idle="1"]){animation-duration:7s!important}
  body.avatar-page #avatarSvg .avatar-bees .bee{animation-duration:7s!important}
  body.avatar-page #avatarSvg :is(.gg-fire-hair-v328,.gg-v331-fire-hair,.fire-hair){animation-duration:1.8s!important}
  body.avatar-page #avatarSvg #ggGlobalHandsV536:not([data-mode="none"]) .hand-motion{animation-duration:3.8s!important}
}

/* v800 hearts share the avatar SVG coordinate system and sit at layer 13. */
#ggAvatarHeartsV800{pointer-events:none}
.gg-avatar-heart-outline-v800{transform-origin:210px 220px;animation:ggHeartOutlineV800 2.35s ease-out both}
@keyframes ggHeartOutlineV800{0%{opacity:.95;transform:scale(.97)}12%{opacity:.95;transform:scale(1.025)}22%{transform:scale(.99)}32%{transform:scale(1.02)}70%{opacity:.65;transform:scale(1)}100%{opacity:0;transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.gg-avatar-heart-outline-v800{animation-name:ggHeartFadeV800}@keyframes ggHeartFadeV800{0%,70%{opacity:.8}100%{opacity:0}}}
