/* Signal overlays reuse the approved SVG; avatar layout and curves stay intact. */
.team-visual.team-signal-ready > svg .connection{
  animation:none!important;
  opacity:.8;
  stroke:#a5bd98;
  stroke-dasharray:4 5;
}
.team-signal-layer{pointer-events:none}
.team-signal-packet{
  fill:none;
  stroke:var(--lime,#98e27a);
  stroke-width:6;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:0;
  filter:drop-shadow(0 1px 1px #163c3124);
}
.team-signal-glow{stroke-width:12;stroke-opacity:.23;filter:none}
.team-center>.team-signal-arrival{
  position:absolute;
  inset:-4px;
  border:2px solid var(--lime,#98e27a);
  border-radius:inherit;
  box-shadow:0 0 0 3px #98e27a18;
  pointer-events:none;
  opacity:0;
  transform-origin:center;
}
.team-signal-ready:not(.team-signal-running) .team-signal-layer,
.team-signal-ready:not(.team-signal-running) .team-signal-arrival,
html.motion-off .team-signal-layer,
html.motion-off .team-signal-arrival,
html.tupa-capture .team-signal-layer,
html.tupa-capture .team-signal-arrival{visibility:hidden}
@media(prefers-reduced-motion:reduce){
  html:not(.motion-on) .team-signal-layer,
  html:not(.motion-on) .team-signal-arrival{visibility:hidden}
}
