/* The artist is an isolated cutout: no card, disc, stage or opaque backdrop. */
#gimenes-avatar-viewport{isolation:isolate;display:block;overflow:visible;contain:layout style;pointer-events:none}
#gimenes-avatar-viewport>img,#gimenes-avatar-viewport>canvas{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;background:transparent}
#gimenes-avatar-canvas{opacity:0;transition:opacity .35s ease}
#gimenes-avatar-fallback{opacity:1;transition:opacity .35s ease}
#gimenes-avatar-viewport[data-ready="true"] #gimenes-avatar-canvas{opacity:1}
#gimenes-avatar-viewport[data-ready="true"] #gimenes-avatar-fallback{opacity:0}
.avatar-vortex{position:absolute;inset:-9% -24%;z-index:3;display:block;opacity:0;pointer-events:none;transform-origin:50% 58%;filter:drop-shadow(0 0 4px #ff704c66)}
.avatar-vortex:before{content:'';position:absolute;inset:13% 14% 7%;border-radius:50%;background:radial-gradient(ellipse,#ffe2aa2b,transparent 66%);filter:blur(5px)}
.avatar-vortex-ring{position:absolute;display:block;left:12%;right:12%;top:calc(20% + var(--ring)*22%);height:24%;border:1.5px solid #ffc38d;border-left-color:transparent;border-right-color:#ff613b55;border-bottom-color:#fff2ce33;border-radius:50%;box-shadow:0 1px 7px #ff6b3c22;transform:rotate(calc(-24deg + var(--ring)*19deg)) scaleX(.6);opacity:0}
.avatar-vortex-ring:nth-child(2){left:4%;right:4%;height:29%;border-top-color:#fff0cc;border-bottom-color:transparent}
.avatar-vortex-spark{position:absolute;display:block;left:50%;top:51%;width:3px;height:3px;margin:-1.5px;border-radius:50%;background:#ffdfad;box-shadow:0 0 5px #ffae78;opacity:0}
.avatar-vortex-spark:nth-child(3n){width:2px;height:6px;border-radius:2px;background:#fff1d0}
#gimenes-avatar-viewport.is-transforming .avatar-vortex{animation:avatar-vortex-envelope .9s ease-in-out both}
#gimenes-avatar-viewport.is-transforming .avatar-vortex-ring{animation:avatar-vortex-ring .9s cubic-bezier(.25,.5,.3,1) both}
#gimenes-avatar-viewport.is-transforming .avatar-vortex-spark{animation:avatar-vortex-spark .78s cubic-bezier(.15,.6,.3,1) var(--delay) both}
@keyframes avatar-vortex-envelope{0%{opacity:0;transform:scale(.65)}22%{opacity:.65}43%,60%{opacity:1;transform:scale(1.08)}100%{opacity:0;transform:scale(1.15)}}
@keyframes avatar-vortex-ring{0%{opacity:0;transform:translateY(18px) rotate(calc(-85deg + var(--ring)*23deg)) scaleX(.3)}25%{opacity:.8}55%{opacity:1}100%{opacity:0;transform:translateY(-20px) rotate(calc(255deg + var(--ring)*23deg)) scaleX(1.15)}}
@keyframes avatar-vortex-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}25%{opacity:1}70%{opacity:.8}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) rotate(150deg) scale(.15)}}
.motion-off .avatar-vortex{display:none!important}
.avatar-wand-glow{position:absolute;z-index:4;display:block;width:13px;height:13px;margin:-6.5px;border-radius:50%;background:radial-gradient(circle,#fffce9 0%,#ffe0a4 13%,#ff9c4e88 30%,transparent 68%);filter:drop-shadow(0 0 4px #ffbe77);opacity:0;pointer-events:none}
.avatar-wand-glow:before,.avatar-wand-glow:after{content:'';position:absolute;inset:6px 0;background:#fff6cc;transform:rotate(25deg)}
.avatar-wand-glow:after{transform:rotate(115deg)}
.avatar-wand-glow i{position:absolute;left:5px;top:5px;width:2px;height:2px;border-radius:50%;background:#ffdfa5;opacity:.7;transform:rotate(calc(var(--ray)*72deg)) translateX(10px)}
#gimenes-avatar-viewport[data-wand-active=true] .avatar-wand-glow i{animation:avatar-wand-spark .55s ease-out infinite}
@keyframes avatar-wand-spark{from{opacity:1;transform:rotate(calc(var(--ray)*72deg)) translateX(2px)}to{opacity:0;transform:rotate(calc(var(--ray)*72deg + 25deg)) translateX(17px)}}
.motion-off .avatar-wand-glow{display:none!important}
@media(prefers-reduced-motion:reduce){#gimenes-avatar-viewport>img,#gimenes-avatar-viewport>canvas{transition:none}}
@media(prefers-reduced-motion:reduce){.avatar-vortex{display:none!important}}
@media(prefers-reduced-motion:reduce){.avatar-wand-glow{display:none!important}}
