/* Only the photo is circularly clipped; the frame can extend beyond it. */
:root .player-avatar,
:root .profile-frame[data-frame] {
    overflow: visible !important;
}
:root .profile-frame[data-frame]:not([data-frame='developer'])::before {
    z-index: 4 !important;
}
:root .profile-frame[data-frame]:not([data-frame='developer'])::after {
    z-index: 5 !important;
}
:root .frame-item:not(.developer) {
    overflow: visible;
}
:root .frame-item:not(.developer) > .frame-preview {
    margin: 18px 0 20px;
}

/* SVGs already have a transparent, antialiased center. A second CSS mask
   cuts off gems and ornaments where they overlap the photo, and erases
   the artwork's inner bevel. Keep the complete artwork above the photo. */
:root .profile-frame:is(
    [data-frame='crown'], [data-frame='dragon'], [data-frame='galaxy'],
    [data-frame='cosmos'], [data-frame='obsidian'], [data-frame='fcsion'],
    [data-frame^='rank-'], [data-frame^='launch-']
)[data-frame]::before {
    -webkit-mask: none !important;
    mask: none !important;
    border-radius: 0 !important;
}

/* Reveal shells reserve 154px for a 130px photo. */
:root .profile-avatar-shell.profile-frame[data-frame='galaxy']::before {
    inset: -4.5% !important;
}
:root .profile-avatar-shell.profile-frame[data-frame='cosmos']::before {
    inset: -5.7% !important;
}
:root .profile-avatar-shell.profile-frame[data-frame^='rank-'][data-frame]::before {
    inset: -6.25% !important;
}
:root .profile-avatar-shell.profile-frame[data-frame='fcsion'][data-frame]::before {
    inset: -6.25% !important;
}
:root .profile-avatar-shell.profile-frame[data-frame^='launch-'][data-frame]::before {
    inset: -3.9% !important;
}

/* Avoid a second pale border or background peeking through the inner edge. */
:root .player-avatar > .profile-frame[data-frame]:not([data-frame='developer']) {
    background: transparent !important;
}
:root .profile-avatar-shell.profile-frame[data-frame]:not([data-frame='developer']) > .profile-avatar {
    border: 0 !important;
    border-radius: 50% !important;
}
