/* Potworki — Explorer RIG 2D 0.2
   3/4 rig only for lateral/diagonal walking. Vertical walking keeps the original frontal avatar. */

.heath-walker .walker-rig-side {
  --rig-scale: .245;
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: -2px;
  width: 300px;
  height: 500px;
  transform: translateX(-50%) scale(var(--rig-scale));
  transform-origin: 50% 100%;
  pointer-events: none;
  overflow: visible;
  display: none;
}

.heath-walker.rig-enabled.walking.rig-side > #heath-player-avatar { display: none !important; }
.heath-walker.rig-enabled.walking.rig-side > .walker-rig-side { display: block; }

.heath-walker.facing-left .walker-rig-side {
  transform: translateX(-50%) scale(calc(var(--rig-scale) * -1), var(--rig-scale));
}

.walker-rig-side .rig-root,
.walker-rig-side .rig-bone {
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  transform-origin: 0 0;
  will-change: transform;
}

.walker-rig-side .rig-root { left: 145px; top: 275px; }
.walker-rig-side .rig-part {
  position: absolute;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
  filter: drop-shadow(0 7px 5px #0008);
}

/* Back cape */
.walker-rig-side .bone-cape { left: -22px; top: -162px; z-index: 0; }
.walker-rig-side .part-cape { left: -86px; top: -25px; width: 126px; height: 196px; }

/* Far leg */
.walker-rig-side .bone-leg-far-thigh { left: -15px; top: 15px; z-index: 1; }
.walker-rig-side .part-leg-far-thigh { left: -29px; top: -4px; width: 64px; height: 77px; }
.walker-rig-side .bone-leg-far-shin { left: 3px; top: 61px; }
.walker-rig-side .part-leg-far-shin { left: -34px; top: -8px; width: 86px; height: 154px; }

/* Far/free arm */
.walker-rig-side .bone-arm-far-upper { left: -35px; top: -126px; z-index: 2; }
.walker-rig-side .part-arm-far-upper { left: -35px; top: -8px; width: 65px; height: 89px; }
.walker-rig-side .bone-arm-far-forearm { left: -6px; top: 65px; }
.walker-rig-side .part-arm-far-forearm { left: -38px; top: -8px; width: 88px; height: 90px; }

/* Torso/head */
.walker-rig-side .bone-torso { left: 0; top: -35px; z-index: 4; }
.walker-rig-side .part-torso { left: -59px; top: -151px; width: 115px; height: 180px; }
.walker-rig-side .bone-head { left: -5px; top: -135px; z-index: 7; }
.walker-rig-side .part-head { left: -45px; top: -80px; width: 90px; height: 85px; }

/* Near leg */
.walker-rig-side .bone-leg-near-thigh { left: 25px; top: 17px; z-index: 5; }
.walker-rig-side .part-leg-near-thigh { left: -27px; top: -3px; width: 63px; height: 78px; }
.walker-rig-side .bone-leg-near-shin { left: 4px; top: 61px; }
.walker-rig-side .part-leg-near-shin { left: -31px; top: -8px; width: 89px; height: 142px; }

/* Staff arm */
.walker-rig-side .bone-arm-staff-upper { left: 38px; top: -126px; z-index: 6; }
.walker-rig-side .part-arm-staff-upper { left: -20px; top: -8px; width: 56px; height: 91px; }
.walker-rig-side .bone-arm-staff-forearm { left: 8px; top: 65px; }
.walker-rig-side .part-arm-staff-forearm { left: -19px; top: -8px; width: 85px; height: 81px; }
.walker-rig-side .bone-staff { left: 40px; top: 47px; z-index: -1; }
.walker-rig-side .part-staff { left: -26px; top: -185px; width: 60px; height: 209px; }

/* Side walk: deliberately restrained to avoid the "dance" effect. */
.heath-walker.rig-enabled.walking.rig-side .rig-root { animation: rig02-root .58s ease-in-out infinite; }
.heath-walker.rig-enabled.walking.rig-side .bone-torso { animation: rig02-torso .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-head { animation: rig02-head .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-cape { animation: rig02-cape .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-arm-far-upper { animation: rig02-arm-a .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-arm-far-forearm { animation: rig02-forearm-a .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-arm-staff-upper { animation: rig02-arm-b .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-arm-staff-forearm { animation: rig02-forearm-b .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-leg-far-thigh { animation: rig02-leg-a .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-leg-far-shin { animation: rig02-shin-a .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-leg-near-thigh { animation: rig02-leg-b .58s ease-in-out infinite alternate; }
.heath-walker.rig-enabled.walking.rig-side .bone-leg-near-shin { animation: rig02-shin-b .58s ease-in-out infinite alternate; }

/* Mostly vertical movement: use the original frontal art and only add a tiny walking bob. */
.heath-walker.rig-enabled.walking.rig-front-walk > #heath-player-avatar {
  display: block !important;
  animation: rig02-front-bob .58s ease-in-out infinite;
}

@keyframes rig02-root { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-5px)} }
@keyframes rig02-torso { from{transform:rotate(-.7deg)} to{transform:rotate(.7deg)} }
@keyframes rig02-head { from{transform:rotate(.4deg)} to{transform:rotate(-.4deg)} }
@keyframes rig02-cape { from{transform:rotate(-1deg) translateX(-1px)} to{transform:rotate(1.4deg) translateX(2px)} }
@keyframes rig02-arm-a { from{transform:rotate(6deg)} to{transform:rotate(-5deg)} }
@keyframes rig02-forearm-a { from{transform:rotate(-3deg)} to{transform:rotate(4deg)} }
@keyframes rig02-arm-b { from{transform:rotate(-2deg)} to{transform:rotate(2deg)} }
@keyframes rig02-forearm-b { from{transform:rotate(1deg)} to{transform:rotate(-2deg)} }
@keyframes rig02-leg-a { from{transform:rotate(9deg)} to{transform:rotate(-8deg)} }
@keyframes rig02-shin-a { from{transform:rotate(-3deg)} to{transform:rotate(7deg)} }
@keyframes rig02-leg-b { from{transform:rotate(-8deg)} to{transform:rotate(9deg)} }
@keyframes rig02-shin-b { from{transform:rotate(7deg)} to{transform:rotate(-3deg)} }
@keyframes rig02-front-bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }

@media(max-width:720px){ .heath-walker .walker-rig-side{--rig-scale:.235} }
@media(prefers-reduced-motion:reduce){
  .heath-walker.rig-enabled .rig-bone,
  .heath-walker.rig-enabled .rig-root,
  .heath-walker.rig-enabled > #heath-player-avatar{animation:none!important}
}
