/* ══ GTALive, anneaux d'avatar + animations (partagé profil + accueil) ══ */
/* Le conteneur .av-ring est dimensionné pour un avatar de 72px.
   Son parent doit créer un contexte d'empilement (position + z-index). */
.av-ring{position:absolute;top:-4px;left:-4px;width:80px;height:80px;border-radius:50%;z-index:-1;pointer-events:none;}
.av-ring::before{content:"";position:absolute;inset:0;border-radius:50%;}
.av-ring--1::before{background:conic-gradient(from 0deg,#FF2D78,#9B30FF,#1B4FFF,#00F0FF,#9B30FF,#FF2D78);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 5px));filter:drop-shadow(0 0 6px rgba(155,48,255,.75));}
.av-ring--1 .diam{position:absolute;width:11px;height:11px;background:linear-gradient(135deg,#FF2D78,#1B4FFF);border-radius:2px;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 8px rgba(155,48,255,.9);}
.av-ring--1 .diam.n{top:0;left:50%;}.av-ring--1 .diam.s{top:100%;left:50%;}.av-ring--1 .diam.e{top:50%;left:100%;}.av-ring--1 .diam.w{top:50%;left:0;}
.av-ring--2::before{background:conic-gradient(from 0deg,#00F0FF 0deg 150deg,transparent 150deg 180deg,#FF2D78 180deg 330deg,transparent 330deg 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 6px rgba(0,240,255,.8));animation:avspin 3.5s linear infinite;}
.av-ring--3::before{background:conic-gradient(from 0deg,#FF2D78,#9B30FF,#1B4FFF,#00F0FF,#FF2D78);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));filter:drop-shadow(0 0 5px rgba(155,48,255,.6));}
.av-ring--3::after{content:"";position:absolute;inset:3px;border-radius:50%;border:1.5px solid rgba(180,120,255,.7);}
.av-ring--g1::before,.av-ring--g2::before{background:conic-gradient(from 0deg,#FDEBA8,#E9BA4E,#C8912E,#F5D98A,#E9BA4E,#FDEBA8);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));filter:drop-shadow(0 0 4px rgba(233,186,78,.55));}
.ring-deco{position:absolute;top:-4px;left:-4px;width:80px;height:80px;z-index:2;pointer-events:none;}
.ring-crown{position:absolute;top:-4px;left:50%;transform:translateX(-50%);line-height:0;filter:drop-shadow(0 0 3px rgba(233,186,78,.7));}
.av-ring--pulse::before{background:conic-gradient(from 0deg,#FF2D78,#9B30FF,#FF2D78);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));animation:avpulse 1.8s ease-in-out infinite;}
@keyframes avpulse{0%,100%{filter:drop-shadow(0 0 3px rgba(255,45,120,.5));}50%{filter:drop-shadow(0 0 11px rgba(255,45,120,1));}}
.av-ring--vice::before{background:conic-gradient(from 0deg,#00FFC6,#00F0FF,#FF2D78,#00FFC6);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 6px rgba(0,255,198,.7));animation:avspin 6s linear infinite;}
.av-ring--comet::before{background:conic-gradient(from 0deg,transparent 0deg,transparent 210deg,rgba(255,45,120,.12) 285deg,#FF2D78 350deg,#fff 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 7px #FF2D78);animation:avspin 2.1s linear infinite;}
.av-ring--comet2::before{background:conic-gradient(from 0deg,transparent 0deg 90deg,rgba(255,45,120,.14) 150deg,#FF2D78 176deg,#fff 180deg,transparent 184deg 270deg,rgba(0,240,255,.14) 330deg,#00F0FF 356deg,#fff 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 7px rgba(255,255,255,.5));animation:avspin 2.4s linear infinite;}
.av-ring--comet3::before{background:conic-gradient(from 0deg,transparent 0deg 40deg,rgba(0,240,255,.14) 95deg,#00F0FF 118deg,#fff 120deg,transparent 124deg 160deg,rgba(255,45,120,.14) 215deg,#FF2D78 238deg,#fff 240deg,transparent 244deg 280deg,rgba(155,48,255,.14) 335deg,#9B30FF 358deg,#fff 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 7px rgba(255,255,255,.55));animation:avspin 2.8s linear infinite;}
.av-ring--holo::before{background:conic-gradient(from 0deg,#FF2D78,#FFD060,#00FFC6,#00F0FF,#9B30FF,#FF2D78);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 6px rgba(255,255,255,.35)) saturate(1.25);animation:avspin 4s linear infinite;}
.av-ring--fire::before{background:conic-gradient(from 0deg,#FFE38A,#FF8A3D,#FF2D2D,#FF8A3D,#FFE38A);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));animation:avspin 3s linear infinite,avflick .45s steps(2,jump-none) infinite;}
@keyframes avflick{0%{filter:drop-shadow(0 0 5px #FF6A1F);}100%{filter:drop-shadow(0 0 12px #FF3D1F);}}
.av-ring--ice::before{background:conic-gradient(from 0deg,#EAFCFF,#8FE6FF,#4FB6FF,#8FE6FF,#EAFCFF);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));animation:avspin 9s linear infinite,avice 2.4s ease-in-out infinite;}
@keyframes avice{0%,100%{filter:drop-shadow(0 0 3px rgba(140,235,255,.6));}50%{filter:drop-shadow(0 0 10px rgba(200,248,255,1));}}
.av-ring--gold::before{background:conic-gradient(from 0deg,#8A6A1E,#FDEBA8,#E9BA4E,#FFF6D5,#E9BA4E,#8A6A1E);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));filter:drop-shadow(0 0 6px rgba(233,186,78,.8));animation:avspin 3.6s linear infinite;}
.av-ring--orbit{animation:avspin 3.4s linear infinite;}
.av-ring--orbit::before{background:conic-gradient(rgba(0,240,255,.25),rgba(155,48,255,.25),rgba(0,240,255,.25));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));}
.av-ring--orbit .orbdot{position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#00F0FF;box-shadow:0 0 8px #00F0FF,0 0 15px #00F0FF;}
.av-ring--orbit .orbdot:nth-child(2){background:#FF2D78;box-shadow:0 0 8px #FF2D78,0 0 15px #FF2D78;}
.av-ring--orbit .orbdot:nth-child(3){background:#9B30FF;box-shadow:0 0 8px #9B30FF,0 0 15px #9B30FF;}
@keyframes avspin{to{transform:rotate(360deg);}}
/* animations de la photo (génériques, à poser sur l'élément avatar) */
@keyframes avflip{to{transform:rotateY(360deg);}}
@keyframes avspinz{to{transform:rotate(360deg);}}
.avfx-flip{animation:avflip 3.6s linear infinite;}
.avfx-spin{animation:avspinz 6s linear infinite;}
/* gratuites (simples) */
@keyframes avpul{0%,100%{transform:scale(1);}50%{transform:scale(1.07);}}
@keyframes avswy{0%,100%{transform:rotate(-5deg);}50%{transform:rotate(5deg);}}
@keyframes avbnc{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.avfx-pulse{animation:avpul 2s ease-in-out infinite;}
.avfx-sway{animation:avswy 2.4s ease-in-out infinite;}
.avfx-bounce{animation:avbnc 1.4s ease-in-out infinite;}
/* premium (stylées) */
@keyframes avjly{0%,100%{transform:scale(1,1);}25%{transform:scale(1.1,.9);}50%{transform:scale(.9,1.1);}75%{transform:scale(1.05,.95);}}
@keyframes avflt{0%,100%{transform:perspective(300px) rotateX(0deg) rotateY(0deg) translateY(0);}25%{transform:perspective(300px) rotateX(9deg) rotateY(-9deg) translateY(-3px);}50%{transform:perspective(300px) rotateX(0deg) rotateY(9deg) translateY(0);}75%{transform:perspective(300px) rotateX(-9deg) rotateY(0deg) translateY(-3px);}}
@keyframes avglw{0%{box-shadow:0 0 8px 2px rgba(255,45,120,.85);}33%{box-shadow:0 0 14px 4px rgba(155,48,255,.9);}66%{box-shadow:0 0 14px 4px rgba(0,240,255,.9);}100%{box-shadow:0 0 8px 2px rgba(255,45,120,.85);}}
.avfx-jelly{animation:avjly 1.7s ease-in-out infinite;}
.avfx-float{animation:avflt 4s ease-in-out infinite;}
.avfx-glow{animation:avglw 3s linear infinite;}
