/* Keep the frame and portrait anchored to the same avatar box on every ranking layout. */
body[data-page="leaderboard"] .player-avatar{position:relative;display:inline-block;flex-shrink:0;isolation:isolate;overflow:visible;vertical-align:middle;line-height:0}
body[data-page="leaderboard"] .player-avatar>img:not(.ornament-frame){position:absolute;left:8%;top:8%;right:auto;bottom:auto;display:block;width:84%;height:84%;margin:0;object-fit:cover;transform:none;border:0!important;border-radius:7%!important}
body[data-page="leaderboard"] .player-avatar>img.ornament-frame.frame-shell{position:absolute;left:50%;top:50%;right:auto;bottom:auto;display:block;width:118%;height:118%;max-width:none;margin:0;transform:translate(-50%,-50%);object-fit:contain;object-position:center;border-radius:0!important;border:0!important;mask-image:none!important;-webkit-mask-image:none!important;z-index:5;pointer-events:none}
/* Effects have a real empty interval; name glows, frames and banners retain their own behavior. */
[data-timed-effect-host]:after{content:none!important;display:none!important}
[data-timed-effect-host]>.timed-profile-effect{position:absolute!important;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;mix-blend-mode:screen;opacity:0;pointer-events:none;z-index:1!important;border:0;border-radius:inherit;mask-image:linear-gradient(0deg,#000,#0008 65%,#0003)}
img[data-timed-profile-effect]{animation:none!important;transition:none!important;pointer-events:none}
img[data-timed-profile-effect][data-effect-phase="waiting"]{opacity:0!important;visibility:hidden!important}
img[data-timed-profile-effect][data-effect-phase="playing"]{opacity:.7!important;visibility:visible!important}
[data-timed-effect-host]>.timed-profile-effect[data-effect-phase="playing"]{opacity:.45!important}
.motion-off img[data-timed-profile-effect]{opacity:0!important;visibility:hidden!important}
@media(prefers-reduced-motion:reduce){img[data-timed-profile-effect]{opacity:0!important;visibility:hidden!important}}

/* Source-specific opening calibration shared by catalog, profiles, team and rankings. */
:is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>.frame-shell){position:relative;isolation:isolate;overflow:visible;flex-shrink:0;line-height:0}
:is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>.frame-shell)>img:not(.ornament-frame){position:absolute!important;inset:var(--portrait-pos,8%) auto auto var(--portrait-pos,8%)!important;width:var(--portrait-size,84%)!important;height:var(--portrait-size,84%)!important;max-width:none!important;margin:0!important;transform:none!important;object-fit:cover!important;border:0!important;border-radius:7%!important}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar)>img.ornament-frame.frame-shell{position:absolute!important;inset:auto!important;left:var(--frame-x,-9%)!important;top:var(--frame-y,-9%)!important;width:var(--frame-w,118%)!important;height:var(--frame-h,118%)!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;transform:none!important;object-fit:fill!important;border:0!important;border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important;pointer-events:none;z-index:5}

body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/eclipse.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/oni.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/abyss.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/imperial.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/ghost.webp"]){--portrait-pos:11.0000%;--portrait-size:78.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/katana.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/akira.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/phantom.webp"]){--portrait-pos:8.3750%;--portrait-size:83.2500%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/ronin.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/obsidian.webp"]){--portrait-pos:17.0000%;--portrait-size:66.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/monarch.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/shogun.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/kuro.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/tempest.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/nocturne.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/reactor.webp"]){--portrait-pos:8.7500%;--portrait-size:82.5000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/lotus.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/shinobi.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/seraph.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
body :is(.profile-portrait,.identity-avatar-wrap,.player-avatar,.sample-avatar):has(>img.frame-shell[src*="/spectre.webp"]){--portrait-pos:8.0000%;--portrait-size:84.0000%}
