.battle-skill-vfx { position:absolute; inset:0; z-index:8; pointer-events:none; }
.battle-skill-vfx__sprite { position:absolute; display:block; transform:translate(-50%,-50%); background-repeat:no-repeat; image-rendering:pixelated; pointer-events:none; }
.battle-skill-vfx__beam { position:absolute; height:12px; transform-origin:0 50%; pointer-events:none; }
.battle-skill-vfx__beam-bar { display:block; width:100%; height:100%; transform-origin:0 50%; background:linear-gradient(to bottom,#1758a8 0 16%,#359fe9 16% 30%,#91e8ff 30% 40%,#fff 40% 60%,#91e8ff 60% 70%,#359fe9 70% 84%,#1758a8 84%); box-shadow:0 0 3px #55cfff; }

.battle-skill-vfx__redirect-shield { isolation:isolate; }
.battle-skill-vfx__beam-bar--sol-light {
  background:linear-gradient(to bottom,#b82024 0 16%,#eb3826 16% 30%,#fa6925 30% 40%,#ffad36 40% 60%,#fa6925 60% 70%,#eb3826 70% 84%,#b82024 84%);
  box-shadow:0 0 5px #ef4828;
}
.battle-skill-vfx__redirect-beam {
  position:absolute;
  left:-40px;
  top:-52px;
  overflow:visible;
  transform-origin:40px 52px;
  filter:drop-shadow(0 0 4px #329fff66);
  pointer-events:none;
}
.battle-skill-vfx__redirect-device {
  transform-origin:center;
  filter:drop-shadow(0 0 3px #59caff80);
}
