/* Arena Teney — Forge F.2.2B-8 articulated arm swing
 * g06: abandon detached-hammer motion. The held hammer remains rigidly attached to
 * the glove/forearm assembly; the strike is produced by shoulder + elbow motion.
 * No picker, server state, economy or gameplay ownership.
 */

#i180-forge-layer.i184-living-smith .i184-arm-rig{
  transform-origin:74% 56%;
  isolation:isolate;
}

#i180-forge-layer.i184-living-smith .i184-forearm-slice{
  z-index:1!important;
}

/* Kill the legacy independent hammer node permanently. */
#i180-forge-layer.i184-living-smith .i184-hammer{
  display:none!important;
  animation:none!important;
}

/* Held hammer: rigid child of the forearm rig. It never receives its own strike animation. */
#i180-forge-layer.i184-living-smith .i184-arm-rig::before{
  content:"";
  display:block;
  position:absolute;
  z-index:2;
  left:70.55%;
  top:36.92%;
  width:15.25%;
  height:34.05%;
  pointer-events:none;
  background:url("/assets/core053/forge-hammer-0183.webp?v=0183h02") 50% 50%/contain no-repeat;
  transform-origin:59% 97%;
  transform:rotate(-16deg) translateZ(0);
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.62)) saturate(.92) brightness(.98) contrast(1.04);
  backface-visibility:hidden;
}

/* Real glove fragment above the handle; shares exactly the same arm-rig transform. */
#i180-forge-layer.i184-living-smith .i184-arm-rig::after{
  content:""!important;
  display:block!important;
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:url("/assets/core053/forge-smith-0181.webp?v=0181a03") 50% 50%/cover no-repeat;
  clip-path:polygon(69% 59%,82% 57%,90% 62%,92% 71%,87% 78%,76% 79%,68% 72%);
  filter:saturate(.96) contrast(1.04) brightness(.93);
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* g06: the strike comes from the body chain, not the hammer.
 * 58-60% is the raised/prepared pose; ~70% is contact, matching 0184 impact timing.
 */
@keyframes i184-strike-torso{
  0%,12%,100%{transform:translate3d(0,0,0) rotate(0)}
  28%{transform:translate3d(-1px,-2px,0) rotate(-.2deg)}
  46%{transform:translate3d(3px,-5px,0) rotate(.65deg)}
  58%{transform:translate3d(4px,-7px,0) rotate(.9deg)}
  70%{transform:translate3d(-4px,4px,0) rotate(-.8deg)}
  77%{transform:translate3d(-2px,2px,0) rotate(-.35deg)}
  88%{transform:translate3d(0,1px,0) rotate(-.1deg)}
}

@keyframes i184-strike-upperarm{
  0%,12%,100%{transform:translate3d(0,0,0) rotate(0)}
  28%{transform:translate3d(2px,-2px,0) rotate(3deg)}
  46%{transform:translate3d(7px,-9px,0) rotate(11deg)}
  58%{transform:translate3d(10px,-14px,0) rotate(17deg)}
  64%{transform:translate3d(7px,-10px,0) rotate(11deg)}
  70%{transform:translate3d(-7px,7px,0) rotate(-11deg)}
  76%{transform:translate3d(-4px,5px,0) rotate(-7deg)}
  88%{transform:translate3d(-1px,2px,0) rotate(-2deg)}
}

@keyframes i184-strike-armrig{
  0%,12%,100%{transform:translate3d(0,0,0) rotate(0)}
  26%{transform:translate3d(3px,-3px,0) rotate(5deg)}
  44%{transform:translate3d(9px,-13px,0) rotate(15deg)}
  58%{transform:translate3d(14px,-21px,0) rotate(24deg)}
  64%{transform:translate3d(9px,-13px,0) rotate(14deg)}
  70%{transform:translate3d(-15px,16px,0) rotate(-25deg)}
  74%{transform:translate3d(-11px,12px,0) rotate(-20deg)}
  82%{transform:translate3d(-4px,5px,0) rotate(-8deg)}
  92%{transform:translate3d(-1px,1px,0) rotate(-2deg)}
}

/* Restore the existing impact package now that the whole arm reaches contact again. */
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-impact{
  animation:i184-impact .6s ease-out .95s both!important;
}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-contact-ring{
  animation:i184-ring .62s ease-out .95s both!important;
}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-sparks i:nth-child(1){animation:i184-s1 .76s ease-out .95s both!important}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-sparks i:nth-child(2){animation:i184-s2 .80s ease-out .95s both!important}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-sparks i:nth-child(3){animation:i184-s3 .72s ease-out .95s both!important}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-sparks i:nth-child(4){animation:i184-s4 .84s ease-out .95s both!important}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-sparks i:nth-child(5){animation:i184-s5 .78s ease-out .95s both!important}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-sparks i:nth-child(6){animation:i184-s6 .82s ease-out .95s both!important}
#i180-forge-layer.i184-living-smith.i184-smith-strike .i184-sparks i:nth-child(7){animation:i184-s7 .74s ease-out .95s both!important}

/* Small idle life: the held tool follows the existing breathing motion because it is
 * now inside the forearm rig. No extra loop is introduced here.
 */

@media(max-width:520px){
  #i180-forge-layer.i184-living-smith .i184-arm-rig::before{
    left:70.35%;
    top:36.72%;
    width:15.45%;
    height:34.25%;
  }
}

@media(prefers-reduced-motion:reduce){
  #i180-forge-layer.i184-living-smith .i184-arm-rig::before{
    transform:rotate(-16deg) translateZ(0)!important;
  }
}
