/* The center stays visible; only the two outward signal waves fade. */
.pm-live-signal {
    --pm-signal-size: 18px;
    position: relative;
    display: inline-block;
    width: var(--pm-signal-size);
    height: var(--pm-signal-size);
    flex: 0 0 var(--pm-signal-size);
    vertical-align: middle;
    background: radial-gradient(circle, currentColor 0 24%, transparent 26%);
}
.pm-live-signal::before, .pm-live-signal::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 1.2px solid currentColor;
    border-radius: 50%;
    animation: pm-live-signal-wave 1.6s linear infinite;
}
.pm-live-signal::after { animation-delay: -.8s; }
@keyframes pm-live-signal-wave {
    from { transform: scale(.4); opacity: .6; }
    to { transform: scale(1); opacity: 0; }
}
/* This control updates its localized text without replacing the animation. */
.pm-cine-live-edge-badge.has-live-signal { padding-left: 28px; }
.pm-cine-live-edge-badge.has-live-signal::before,
.pm-cine-live-edge-badge.has-live-signal::after {
    content: ''; position: absolute; top: 50%; left: 5px;
    width: 18px; height: 18px; margin-top: -9px; border-radius: 50%;
}
.pm-cine-live-edge-badge.has-live-signal::before {
    background: radial-gradient(circle, currentColor 0 24%, transparent 26%);
}
.pm-cine-live-edge-badge.has-live-signal::after {
    border: 1.2px solid currentColor;
    animation: pm-live-signal-wave 1.6s linear infinite;
}
.pm-cine-live-edge-badge.is-behind-live::after { animation: none; opacity: 0; }
@media (prefers-reduced-motion: reduce) {
    .pm-live-signal::before, .pm-live-signal::after,
    .pm-cine-live-edge-badge.has-live-signal::after { animation: none; opacity: 0; }
}
