/* Arena Teney — Forge Smith P1 Stable Strike Arm
 * Static scene/body + local cutout arm chain + hammer fixed to hand + contact FX.
 */
#i180-forge-layer.i188-stable-strike{
  --i188-art:url("/assets/core053/forge-smith-0181.webp?v=0181a03");
  --i188-hammer:url("/assets/core053/forge-hammer-0183.webp?v=0183h02");
}

/* Retire the two rejected animation engines without touching their source files. */
#i180-forge-layer.i188-stable-strike .i187-smith-canvas,
#i180-forge-layer.i188-stable-strike .i184-living-layer,
#i180-forge-layer.i188-stable-strike .i183-work-layer,
#i180-forge-layer.i188-stable-strike .i181-hammer-rig,
#i180-forge-layer.i188-stable-strike .i181-impact-glow,
#i180-forge-layer.i188-stable-strike .i181-sparks{
  display:none!important;
}

/* Body and environment never participate in strike transforms. */
#i180-forge-layer.i188-stable-strike .i181-smith-art-img{
  opacity:1!important;
  animation:none!important;
  transform:scale(1.005)!important;
}

#i180-forge-layer.i188-stable-strike .i188-strike-layer{
  position:absolute;
  inset:0;
  z-index:6;
  overflow:hidden;
  pointer-events:none;
  isolation:isolate;
}

/* During movement, soften the original static forearm underneath the cutout rig.
 * This is finite and only becomes visible while the arm leaves its resting pose.
 */
#i180-forge-layer.i188-stable-strike .i188-arm-clean{
  position:absolute;
  inset:0;
  z-index:0;
  opacity:0;
  clip-path:polygon(57% 27%,84% 28%,99% 47%,100% 83%,82% 88%,66% 73%,59% 53%);
  background:
    radial-gradient(ellipse at 78% 57%,rgba(7,8,11,.94) 0,rgba(8,8,11,.8) 35%,rgba(7,7,10,.48) 61%,transparent 82%),
    linear-gradient(120deg,rgba(11,10,13,.92),rgba(8,8,11,.42));
  -webkit-backdrop-filter:blur(7px) brightness(.62) saturate(.72);
  backdrop-filter:blur(7px) brightness(.62) saturate(.72);
}

#i180-forge-layer.i188-stable-strike .i188-upperarm,
#i180-forge-layer.i188-stable-strike .i188-forearm,
#i180-forge-layer.i188-stable-strike .i188-hand{
  position:absolute;
  inset:0;
  background:var(--i188-art) 52% 50%/cover no-repeat;
  filter:saturate(.96) contrast(1.04) brightness(.93);
  backface-visibility:hidden;
  transform:translateZ(0);
}

#i180-forge-layer.i188-stable-strike .i188-upperarm{
  z-index:1;
  clip-path:polygon(57% 28%,81% 29%,96% 48%,94% 64%,79% 69%,66% 55%,58% 41%);
  transform-origin:66% 39%;
}

#i180-forge-layer.i188-stable-strike .i188-forearm-rig{
  position:absolute;
  inset:0;
  z-index:2;
  transform-origin:74% 55%;
  backface-visibility:hidden;
  transform:translateZ(0);
}

#i180-forge-layer.i188-stable-strike .i188-forearm{
  z-index:1;
  clip-path:polygon(68% 47%,94% 44%,99% 65%,94% 79%,81% 85%,70% 78%,65% 65%);
  transform-origin:74% 55%;
}

#i180-forge-layer.i188-stable-strike .i188-hand-rig{
  position:absolute;
  inset:0;
  z-index:3;
  transform-origin:79.2% 70.4%;
  backface-visibility:hidden;
  transform:translateZ(0);
}

/* Hammer is permanently inside the hand rig; it has no independent strike animation. */
#i180-forge-layer.i188-stable-strike .i188-hammer{
  position:absolute;
  z-index:2;
  left:69.7%;
  top:38.2%;
  width:17.1%;
  height:36.2%;
  background:var(--i188-hammer) 50% 50%/contain no-repeat;
  filter:drop-shadow(0 8px 8px rgba(0,0,0,.67)) saturate(.94) brightness(.96) contrast(1.04);
  transform-origin:51% 89%;
  transform:rotate(-19deg) translateZ(0);
  backface-visibility:hidden;
}

/* Real glove art stays above the handle so the grip cannot visually separate. */
#i180-forge-layer.i188-stable-strike .i188-hand{
  z-index:3;
  clip-path:polygon(73% 59%,88% 56%,97% 63%,98% 73%,92% 82%,79% 84%,71% 77%,69% 67%);
}

#i180-forge-layer.i188-stable-strike .i188-impact,
#i180-forge-layer.i188-stable-strike .i188-contact-ring,
#i180-forge-layer.i188-stable-strike .i188-sparks{
  position:absolute;
  left:49.6%;
  top:86.2%;
  z-index:8;
  pointer-events:none;
}

#i180-forge-layer.i188-stable-strike .i188-impact{
  width:92px;
  height:44px;
  border-radius:50%;
  opacity:0;
  transform:translate(-50%,-50%) scale(.18);
  background:radial-gradient(ellipse,rgba(255,252,215,.98),rgba(255,173,67,.8) 28%,rgba(231,79,22,.3) 56%,transparent 74%);
  mix-blend-mode:screen;
}

#i180-forge-layer.i188-stable-strike .i188-contact-ring{
  width:42px;
  height:11px;
  opacity:0;
  transform:translate(-50%,-50%) scaleX(.35);
  border:1px solid rgba(255,219,144,.96);
  border-radius:50%;
  box-shadow:0 0 14px rgba(255,138,43,.8);
}

#i180-forge-layer.i188-stable-strike .i188-sparks{width:1px;height:1px}
#i180-forge-layer.i188-stable-strike .i188-sparks i{
  position:absolute;
  width:2px;
  height:15px;
  border-radius:999px;
  opacity:0;
  transform-origin:50% 100%;
  background:linear-gradient(#fffbd7,#ffc45f 34%,#ff762c 70%,rgba(255,72,18,0));
  box-shadow:0 0 7px rgba(255,154,47,.9);
}

/* Five-phase studio cycle: idle -> backswing -> downstroke -> impact -> recovery. */
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-arm-clean{
  animation:i188-clean 1.48s ease-out both;
}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-upperarm{
  animation:i188-upper 1.48s cubic-bezier(.2,.72,.16,1) both;
}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-forearm-rig{
  animation:i188-forearm 1.48s cubic-bezier(.18,.76,.13,1) both;
}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-hand-rig{
  animation:i188-hand 1.48s cubic-bezier(.15,.78,.11,1) both;
}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-impact{
  animation:i188-impact .58s ease-out .96s both;
}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-contact-ring{
  animation:i188-ring .62s ease-out .96s both;
}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(1){animation:i188-s1 .72s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(2){animation:i188-s2 .76s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(3){animation:i188-s3 .8s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(4){animation:i188-s4 .74s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(5){animation:i188-s5 .84s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(6){animation:i188-s6 .78s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(7){animation:i188-s7 .82s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(8){animation:i188-s8 .72s ease-out .96s both}
#i180-forge-layer.i188-stable-strike.i188-smith-strike .i188-sparks i:nth-child(9){animation:i188-s9 .8s ease-out .96s both}

@keyframes i188-clean{
  0%,17%,100%{opacity:0}
  28%{opacity:.34}
  45%,76%{opacity:.92}
  88%{opacity:.38}
}
@keyframes i188-upper{
  0%,14%,100%{transform:translate3d(0,0,0) rotate(0)}
  32%{transform:translate3d(1px,-2px,0) rotate(4deg)}
  48%{transform:translate3d(3px,-4px,0) rotate(8deg)}
  67%{transform:translate3d(-4px,4px,0) rotate(-6deg)}
  73%{transform:translate3d(-3px,3px,0) rotate(-4deg)}
  86%{transform:translate3d(-1px,1px,0) rotate(-1deg)}
}
@keyframes i188-forearm{
  0%,14%,100%{transform:translate3d(0,0,0) rotate(0)}
  32%{transform:translate3d(2px,-4px,0) rotate(10deg)}
  48%{transform:translate3d(6px,-10px,0) rotate(24deg)}
  67%{transform:translate3d(-11px,10px,0) rotate(-31deg)}
  73%{transform:translate3d(-8px,7px,0) rotate(-23deg)}
  86%{transform:translate3d(-2px,2px,0) rotate(-5deg)}
}
@keyframes i188-hand{
  0%,14%,100%{transform:translate3d(0,0,0) rotate(0)}
  32%{transform:translate3d(2px,-3px,0) rotate(16deg)}
  48%{transform:translate3d(5px,-7px,0) rotate(31deg)}
  63%{transform:translate3d(-4px,3px,0) rotate(-36deg)}
  67%{transform:translate3d(-14px,10px,0) rotate(-91deg)}
  72%{transform:translate3d(-11px,8px,0) rotate(-82deg)}
  84%{transform:translate3d(-4px,3px,0) rotate(-34deg)}
}
@keyframes i188-impact{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}
  18%{opacity:1;transform:translate(-50%,-50%) scale(1.22)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(2.15)}
}
@keyframes i188-ring{
  0%{opacity:0;transform:translate(-50%,-50%) scaleX(.35)}
  20%{opacity:.98;transform:translate(-50%,-50%) scaleX(1.06)}
  100%{opacity:0;transform:translate(-50%,-50%) scaleX(2.55)}
}
@keyframes i188-s1{0%{opacity:0;transform:translate(0,0) rotate(-56deg)}16%{opacity:1}100%{opacity:0;transform:translate(-94px,-61px) rotate(-64deg)}}
@keyframes i188-s2{0%{opacity:0;transform:translate(0,0) rotate(-39deg)}16%{opacity:1}100%{opacity:0;transform:translate(-69px,-94px) rotate(-47deg)}}
@keyframes i188-s3{0%{opacity:0;transform:translate(0,0) rotate(-22deg)}16%{opacity:1}100%{opacity:0;transform:translate(-38px,-121px) rotate(-28deg)}}
@keyframes i188-s4{0%{opacity:0;transform:translate(0,0) rotate(-5deg)}16%{opacity:1}100%{opacity:0;transform:translate(-9px,-137px) rotate(-8deg)}}
@keyframes i188-s5{0%{opacity:0;transform:translate(0,0) rotate(12deg)}16%{opacity:1}100%{opacity:0;transform:translate(28px,-131px) rotate(17deg)}}
@keyframes i188-s6{0%{opacity:0;transform:translate(0,0) rotate(28deg)}16%{opacity:1}100%{opacity:0;transform:translate(62px,-104px) rotate(36deg)}}
@keyframes i188-s7{0%{opacity:0;transform:translate(0,0) rotate(45deg)}16%{opacity:1}100%{opacity:0;transform:translate(88px,-76px) rotate(54deg)}}
@keyframes i188-s8{0%{opacity:0;transform:translate(0,0) rotate(63deg)}16%{opacity:1}100%{opacity:0;transform:translate(109px,-45px) rotate(72deg)}}
@keyframes i188-s9{0%{opacity:0;transform:translate(0,0) rotate(80deg)}16%{opacity:1}100%{opacity:0;transform:translate(116px,-17px) rotate(88deg)}}

@media(max-width:520px){
  #i180-forge-layer.i188-stable-strike .i188-hammer{
    left:69.35%;
    top:38.7%;
    width:17.6%;
    height:35.8%;
  }
  #i180-forge-layer.i188-stable-strike .i188-impact,
  #i180-forge-layer.i188-stable-strike .i188-contact-ring,
  #i180-forge-layer.i188-stable-strike .i188-sparks{
    left:49.3%;
    top:86.4%;
  }
}

@media(prefers-reduced-motion:reduce){
  #i180-forge-layer.i188-stable-strike .i188-arm-clean,
  #i180-forge-layer.i188-stable-strike .i188-upperarm,
  #i180-forge-layer.i188-stable-strike .i188-forearm-rig,
  #i180-forge-layer.i188-stable-strike .i188-hand-rig,
  #i180-forge-layer.i188-stable-strike .i188-impact,
  #i180-forge-layer.i188-stable-strike .i188-contact-ring,
  #i180-forge-layer.i188-stable-strike .i188-sparks i{
    animation:none!important;
  }
}
