/* presence-dot.css — green "active now" indicator
 * Used on profile-public + team-public roster + anywhere a player avatar appears.
 */

.presence-dot {
    position: absolute;
    bottom: 6%;
    right: 6%;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #22c55e;
    border: 2px solid #0a0a0f;
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.45);
    z-index: 5;
    pointer-events: none;
}

/* Larger on the hero avatar (profile-public) */
.player-hero__avatar-wrap > .presence-dot {
    width: 18px;
    height: 18px;
    border-width: 3px;
    bottom: 8px;
    right: 8px;
}

/* Smaller corner badge on tight tiles */
.presence-dot--corner {
    width: 12px;
    height: 12px;
    bottom: 4%;
    right: 4%;
}

.presence-dot--online {
    background: radial-gradient(circle at 30% 30%, #4ade80 0%, #16a34a 70%);
}

.presence-dot__pulse {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.55);
    animation: presencePulse 1.8s infinite ease-out;
    pointer-events: none;
}

@keyframes presencePulse {
    0%   { transform: scale(0.85); opacity: 0.75; }
    70%  { transform: scale(1.6);  opacity: 0;    }
    100% { transform: scale(1.6);  opacity: 0;    }
}

/* Make sure parent avatar wrappers can host an absolutely-positioned dot */
.player-hero__avatar-wrap,
.tpv2-player__avatar,
.pe-avatar {
    position: relative;
}
