/* Six-star avatar frames. Portrait stays still; only jewels and ambient light breathe. */
.profile-avatar .profile-portrait{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;overflow:hidden;background:inherit;color:inherit}
.profile-avatar .profile-photo{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;object-fit:cover}
.profile-avatar .profile-initial{position:relative;line-height:1;z-index:0}
body :is(#app,#modal) .profile-avatar.profile-framed{
 --frame-accent:#c9a2f8;--frame-soft:#e7caff;
 position:relative;display:inline-grid;isolation:isolate;flex-shrink:0;
 width:60px;height:60px;border:0;border-radius:0;background:transparent;outline:0;box-shadow:none;overflow:visible;
 color:var(--frame-soft);font-size:13px;
}
body :is(#app,#modal) .profile-avatar.profile-framed[data-avatar-frame='ruby']{--frame-accent:#e96882;--frame-soft:#ffd6df}
body :is(#app,#modal) .profile-avatar.profile-framed .profile-portrait{
 inset:auto;left:50%;top:48.5%;width:47%;height:47%;transform:translate(-50%,-50%);z-index:1;
 border-radius:50%;background:radial-gradient(circle at 35% 25%,#483352,#1c1325 75%);color:var(--frame-soft);
 border:1px solid color-mix(in srgb,var(--frame-accent) 40%,transparent);
 box-shadow:0 0 5px color-mix(in srgb,var(--frame-accent) 12%,transparent);
}
.profile-avatar.profile-framed:before{content:'';position:absolute;inset:20%;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,transparent 45%,color-mix(in srgb,var(--frame-accent) 12%,transparent) 63%,transparent 73%);animation:avatar-frame-breathe 6.8s ease-in-out infinite}
.profile-avatar .profile-frame{position:absolute;inset:0;z-index:2;pointer-events:none;user-select:none}
.profile-avatar .profile-frame .profile-frame-art{position:absolute;inset:0;width:100%;height:100%;border-radius:0;object-fit:contain;filter:drop-shadow(0 1px 1px #10091755)}
.profile-frame-glint{position:absolute;z-index:3;width:5%;height:5%;max-width:8px;max-height:8px;opacity:0;background:var(--frame-soft);filter:drop-shadow(0 0 2px var(--frame-accent));clip-path:polygon(50% 0,61% 38%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 38%);transform:translate(-50%,-50%) scale(.5);animation:avatar-jewel-glint 6.8s ease-in-out infinite}
.profile-frame-glint.glint-crown{left:50%;top:4%;animation-delay:-.8s}
.profile-frame-glint.glint-left{left:27%;top:42%;animation-delay:-3.5s}
.profile-frame-glint.glint-right{left:73%;top:42%;animation-delay:-5.3s}
.profile-frame-glint.glint-gem{left:50%;top:92%;animation-delay:-2s}
body :is(#app,#modal) .royal-member .profile-avatar.profile-framed{width:64px;height:64px}
body :is(#app,#modal) .side-profile .profile-avatar.profile-framed{width:58px;height:58px}
body :is(#app,#modal) .profile-account-card .profile-avatar.profile-framed{width:156px;height:156px;font-size:28px;margin:0 0 12px;border-radius:0}
.profile-account-card:has(.profile-framed){padding-top:0}
.profile-avatar.frame-unavailable .profile-frame,.profile-avatar.frame-unavailable:before{display:none}
body :is(#app,#modal) .profile-avatar.profile-framed.frame-unavailable .profile-portrait{width:72%;height:72%;top:50%}
@media(max-width:680px){body :is(#app,#modal) .profile-account-card .profile-avatar.profile-framed{width:142px;height:142px}.profile-account-button:has(.profile-framed){min-width:60px}}
@keyframes avatar-frame-breathe{0%,100%{opacity:.35;transform:scale(.98)}50%{opacity:.75;transform:scale(1.045)}}
@keyframes avatar-jewel-glint{0%,28%,48%,100%{opacity:0;transform:translate(-50%,-50%) scale(.45)}37%{opacity:.8;transform:translate(-50%,-50%) scale(1)}}
html[data-motion='reduced'] .profile-framed:before,html[data-motion='reduced'] .profile-frame-glint{animation:none!important}
@media(prefers-reduced-motion:reduce){.profile-framed:before,.profile-frame-glint{animation:none!important}}
