/*
 * Package 114D - Activity Burst + Profile Photo Restore
 */

/* Activity button animated burst */
.so114b-member-subnav a[href*="activity.php"]{
    position:relative!important;
    overflow:visible!important;
}

.so114b-member-subnav a[href*="activity.php"] .so114b-icon{
    position:relative!important;
    isolation:isolate;
}

.so114b-member-subnav a[href*="activity.php"] .so114b-icon::before,
.so114b-member-subnav a[href*="activity.php"] .so114b-icon::after{
    content:"";
    position:absolute;
    inset:-8px;
    border-radius:999px;
    pointer-events:none;
    opacity:0;
    z-index:-1;
}

.so114b-member-subnav a[href*="activity.php"] .so114b-icon::before{
    background:
        radial-gradient(circle at 50% 0%, #ff5ca8 0 3px, transparent 4px),
        radial-gradient(circle at 100% 50%, #6b7cff 0 3px, transparent 4px),
        radial-gradient(circle at 50% 100%, #42c8ff 0 3px, transparent 4px),
        radial-gradient(circle at 0% 50%, #ffcf55 0 3px, transparent 4px);
}

.so114b-member-subnav a[href*="activity.php"] .so114b-icon::after{
    border:2px solid rgba(243,50,134,.35);
}

.so114b-member-subnav a[href*="activity.php"].so114d-burst .so114b-icon::before{
    animation:so114d-activity-particles .78s ease-out both;
}

.so114b-member-subnav a[href*="activity.php"].so114d-burst .so114b-icon::after{
    animation:so114d-activity-ring .78s ease-out both;
}

.so114b-member-subnav a[href*="activity.php"].so114d-burst{
    animation:so114d-activity-pop .42s ease-out both;
}

@media (prefers-reduced-motion:no-preference){
    .so114b-member-subnav a[href*="activity.php"] .so114b-icon{
        animation:so114d-activity-idle 3.8s ease-in-out infinite;
    }
}

@keyframes so114d-activity-idle{
    0%,100%{transform:translateY(0) rotate(0deg) scale(1)}
    45%{transform:translateY(-1px) rotate(-5deg) scale(1.08)}
    70%{transform:translateY(0) rotate(4deg) scale(1.02)}
}

@keyframes so114d-activity-pop{
    0%{transform:scale(1)}
    45%{transform:scale(1.09)}
    100%{transform:scale(1)}
}

@keyframes so114d-activity-ring{
    0%{opacity:0; transform:scale(.4)}
    35%{opacity:1}
    100%{opacity:0; transform:scale(1.9)}
}

@keyframes so114d-activity-particles{
    0%{opacity:0; transform:scale(.2) rotate(0deg)}
    25%{opacity:1}
    100%{opacity:0; transform:scale(1.8) rotate(35deg)}
}

/* Profile image should fill the profile card nicely */
.profile-page .sticky-profile-card,
.sticky-profile-card{
    overflow:hidden;
}

.sticky-profile-card .so113b-photo-wrap,
.sticky-profile-card .so113a-photo-wrap,
.sticky-profile-card .so113-photo-wrap{
    width:100%!important;
    max-width:340px!important;
    aspect-ratio:1 / 1!important;
    display:block!important;
    margin:0 auto 18px!important;
    border-radius:28px!important;
    overflow:hidden!important;
    line-height:0!important;
    background:linear-gradient(135deg,#fff0f6,#eef7ff)!important;
    box-shadow:0 18px 44px rgba(31,41,95,.14)!important;
    border:4px solid rgba(255,255,255,.92)!important;
}

.sticky-profile-card .avatar-xl{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:24px!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
}

.sticky-profile-card .so113b-verified-icon,
.sticky-profile-card .so113a-verified-icon,
.sticky-profile-card .so113-verified-icon,
.sticky-profile-card .profile-verified-inline,
.sticky-profile-card .verified-badge{
    top:12px!important;
    left:12px!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border-width:3px!important;
}

/* Profile image on smaller screens */
@media(max-width:760px){
    .sticky-profile-card .so113b-photo-wrap,
    .sticky-profile-card .so113a-photo-wrap,
    .sticky-profile-card .so113-photo-wrap{
        max-width:280px!important;
        border-radius:24px!important;
    }
}

/* If profile.php still uses bare avatar image without wrapper, make it larger but safe. */
.sticky-profile-card > .avatar-xl,
.sticky-profile-card img.avatar-xl:first-child{
    width:100%!important;
    max-width:340px!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:28px!important;
    box-shadow:0 18px 44px rgba(31,41,95,.14)!important;
}