/* ═══ 动态头像框插件 ═══ */
.af-box{position:relative;display:inline-block;line-height:0}
.af-box>img{display:block}
/* 会员中心大头像：负上移 margin 放到包裹盒上，避免头像脱离框环 */
.uc-head-info .af-box{margin-top:-92px;flex:none}
.uc-head-info .af-box>.uc-avatar{margin-top:0}
@media (max-width:860px){.uc-head-info .af-box{margin-top:-72px}}
.af-box .af-ring{position:absolute;inset:-4px;border-radius:50%;pointer-events:none;z-index:3;
  will-change:transform;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 7px),#000 calc(100% - 6px))}
.af-box .af-deco{position:absolute;z-index:4;pointer-events:none;line-height:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))}
/* 流光彩虹：旋转七彩环 */
.af-rainbow .af-ring{background:conic-gradient(#ff5f5f,#ffb84d,#fff95e,#6bff7c,#5bd0ff,#7c6bff,#ff5fd0,#ff5f5f);
  animation:afSpin 3.2s linear infinite}
/* 星河漫步：深蓝星夜 + 星光闪烁 */
.af-star .af-ring{background:conic-gradient(from 40deg,#1b2a5e,#3d55b8,#6a86e8,#1b2a5e)}
.af-star .af-d1{top:-9px;right:-1px;font-size:14px;animation:afBlink 1.6s ease-in-out infinite}
.af-star .af-d2{bottom:-6px;left:-5px;font-size:12px;animation:afBlink 2.2s .5s ease-in-out infinite}
.af-star .af-d3{top:38%;left:-12px;font-size:11px;animation:afBlink 1.9s 1s ease-in-out infinite}
@keyframes afBlink{0%,100%{opacity:.2;transform:scale(.75)}50%{opacity:1;transform:scale(1.18)}}
/* 樱花物语：粉环 + 落樱 */
.af-sakura .af-ring{background:linear-gradient(135deg,#ffc2d4,#ff8fb3 55%,#f76fa0)}
.af-sakura .af-d1{top:-10px;right:0;font-size:16px;animation:afFall 3.5s ease-in-out infinite}
.af-sakura .af-d2{top:30%;left:-13px;font-size:13px;animation:afFall 4.2s 1.2s ease-in-out infinite}
.af-sakura .af-d3{bottom:-9px;right:12%;font-size:12px;animation:afFall 3.8s 2s ease-in-out infinite}
@keyframes afFall{0%{transform:translateY(-4px) rotate(0)}50%{transform:translateY(5px) rotate(160deg)}100%{transform:translateY(-4px) rotate(360deg)}}
/* 烈焰战意：橙红环 + 呼吸光晕 */
.af-flame .af-ring{background:linear-gradient(135deg,#ffb35c,#ff7a3d 45%,#e23c24)}
.af-flame::after{content:'';position:absolute;inset:-11px;border-radius:50%;z-index:2;pointer-events:none;
  background:radial-gradient(circle,rgba(255,110,40,.34),transparent 68%);animation:afPulse 1.8s ease-in-out infinite}
@keyframes afPulse{0%,100%{opacity:.45;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}
/* 爱心气泡：粉环 + 心形上升 */
.af-love .af-ring{background:linear-gradient(135deg,#ff9ab8,#ff5f8e)}
.af-love .af-d1{bottom:-6px;left:16%;font-size:13px;animation:afRise 3s ease-in infinite}
.af-love .af-d2{bottom:-6px;right:14%;font-size:11px;animation:afRise 3.4s 1.4s ease-in infinite}
.af-love .af-d3{top:-11px;left:50%;margin-left:-8px;font-size:15px;animation:afBlink 2.4s ease-in-out infinite}
@keyframes afRise{0%{transform:translateY(3px);opacity:0}25%{opacity:1}75%{opacity:.9}100%{transform:translateY(-15px);opacity:0}}
/* 极光幻境：流转变色环 */
.af-aurora .af-ring{background:conic-gradient(#5eff9d,#3ed6ff,#8f7bf8,#ff7bd5,#5eff9d);
  animation:afSpin 5s linear infinite,afHue 7s linear infinite}
@keyframes afHue{to{filter:hue-rotate(360deg)}}
/* 荣耀金冠：鎏金旋转环 */
.af-gold .af-ring{background:conic-gradient(#f7d774,#b9791f,#ffe9b0,#c98f2a,#f7d774);
  animation:afSpin 6s linear infinite}
.af-gold .af-d1{top:-14px;left:50%;margin-left:-9px;font-size:17px}
.af-gold .af-d2{bottom:-6px;left:-6px;font-size:11px;animation:afBlink 2s ease-in-out infinite}
/* 星月神话：深蓝夜空环 */
.af-moon .af-ring{background:linear-gradient(135deg,#2b3a72,#4a5fc0 55%,#2b3a72)}
.af-moon .af-d1{top:-11px;right:-1px;font-size:15px}
.af-moon .af-d2{top:22%;left:-11px;font-size:11px;animation:afBlink 1.8s ease-in-out infinite}
.af-moon .af-d3{bottom:-7px;right:20%;font-size:10px;animation:afBlink 2.3s .7s ease-in-out infinite}
@keyframes afSpin{to{transform:rotate(360deg)}}
/* 导航栏小头像：同步全部特效（光点缩小、火焰光晕保留） */
.af-sm .af-ring{inset:-2px;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}
.af-sm .af-orb{inset:-2px}
.af-sm .af-orb i{width:4px;height:4px;box-shadow:0 0 3px 1px var(--af-glow,#7c6bff)}
.af-sm .af-orb .o1{margin-left:-2px;top:-2px}
.af-sm.af-flame::after{display:block;inset:-6px}
/* 环绕光点：沿框环旋转的发光粒子 */
.af-orb{position:absolute;inset:-4px;border-radius:50%;pointer-events:none;z-index:4;
  display:block;will-change:transform;animation:afSpin 6s linear infinite}
.af-orb i{position:absolute;width:7px;height:7px;border-radius:50%;display:block;
  background:radial-gradient(circle at 35% 35%,#fff,var(--af-glow,#7c6bff) 72%);
  box-shadow:0 0 6px 2px var(--af-glow,#7c6bff);animation:afTw 2.4s ease-in-out infinite}
.af-orb .o1{top:-3px;left:50%;margin-left:-3.5px}
.af-orb .o2{bottom:7%;left:-3px;animation-delay:.9s}
.af-orb .o3{top:32%;right:-4px;animation-delay:1.7s}
@keyframes afTw{0%,100%{opacity:.35;transform:scale(.65)}50%{opacity:1;transform:scale(1.2)}}
/* 各款光点颜色 + 光环辉光 */
.af-rainbow{--af-glow:#ff5fd0}.af-rainbow .af-ring{filter:drop-shadow(0 0 5px rgba(150,110,255,.55))}
.af-rainbow .af-orb{animation-duration:5s}
.af-star{--af-glow:#6a86e8}.af-star .af-ring{filter:drop-shadow(0 0 5px rgba(106,134,232,.6))}
.af-star .af-orb{animation-duration:8s}
.af-sakura{--af-glow:#ff8fb3}.af-sakura .af-ring{filter:drop-shadow(0 0 5px rgba(255,143,179,.55))}
.af-sakura .af-orb{animation-duration:7s}
.af-flame{--af-glow:#ff7a3d}.af-flame .af-ring{filter:drop-shadow(0 0 6px rgba(255,122,61,.6))}
.af-flame .af-orb{animation-duration:3.5s}
.af-love{--af-glow:#ff5f8e}.af-love .af-ring{filter:drop-shadow(0 0 5px rgba(255,95,142,.55))}
.af-love .af-orb{animation-duration:6s}
.af-aurora{--af-glow:#3ed6ff}.af-aurora .af-ring{filter:drop-shadow(0 0 6px rgba(62,214,255,.55))}
.af-aurora .af-orb{animation-duration:5s}
.af-gold{--af-glow:#f0b429}.af-gold .af-ring{filter:drop-shadow(0 0 6px rgba(240,180,41,.6))}
.af-gold .af-orb{animation-duration:9s}
.af-moon{--af-glow:#8fa7ff}.af-moon .af-ring{filter:drop-shadow(0 0 6px rgba(143,167,255,.55))}
.af-moon .af-orb{animation-duration:10s}
/* 预览用示例头像 */
.af-demo{border-radius:50%;background:linear-gradient(135deg,#dfe7f2,#c6d4e8);display:flex;align-items:center;
  justify-content:center;font-weight:800;color:#8ba1b9;flex:none}
@media (prefers-reduced-motion:reduce){
  .af-box .af-ring,.af-box .af-orb,.af-box .af-orb i,.af-box .af-twi,.af-box .af-fall,.af-box .af-rise,.af-box .af-glint,.af-flame::after{animation:none!important}
}
/* ── 各款专属粒子特效 ── */
/* 彩虹：三色光粒环绕 */
.af-rainbow .af-orb .o1{--af-glow:#ff5fd0}
.af-rainbow .af-orb .o2{--af-glow:#5bd0ff}
.af-rainbow .af-orb .o3{--af-glow:#ffe95e}
/* 星河：环上星光闪烁 */
.af-twi{position:absolute;width:5px;height:5px;border-radius:50%;display:block;pointer-events:none;z-index:4;
  background:radial-gradient(circle at 35% 35%,#fff,var(--af-glow,#cfe0ff) 75%);
  box-shadow:0 0 5px 1px var(--af-glow,#cfe0ff);animation:afTw 2.2s ease-in-out infinite}
.af-twi.t1{top:-3px;left:28%}
.af-twi.t2{top:30%;right:-4px;animation-delay:.5s}
.af-twi.t3{bottom:-2px;right:26%;animation-delay:1.1s}
.af-twi.t4{bottom:26%;left:-4px;animation-delay:1.5s}
.af-twi.t5{top:-4px;left:62%;animation-delay:1.9s}
.af-star{--af-glow:#cfe0ff}
.af-moon .af-twi{animation-duration:3.6s}
/* 樱花：落樱飘舞 */
.af-fall{position:absolute;width:6px;height:6px;border-radius:60% 60% 60% 10%;display:block;pointer-events:none;z-index:4;
  background:linear-gradient(135deg,#ffd9e6,var(--af-glow,#ff8fb3));box-shadow:0 0 4px 1px rgba(255,143,179,.55);
  animation:afFallY 3.8s ease-in-out infinite}
.af-fall.f1{left:4%;top:-9px}
.af-fall.f2{left:48%;top:-9px;animation-delay:1.3s}
.af-fall.f3{left:90%;top:-9px;animation-delay:2.5s}
@keyframes afFallY{0%{transform:translateY(0) rotate(0);opacity:0}12%{opacity:1}82%{opacity:.9}100%{transform:translateY(150px) rotate(320deg);opacity:0}}
/* 烈焰/爱心：上升火星与气泡 */
.af-rise{position:absolute;width:5px;height:5px;border-radius:50%;display:block;pointer-events:none;z-index:4;
  background:radial-gradient(circle at 35% 35%,#fff,var(--af-glow));box-shadow:0 0 5px 1px var(--af-glow);
  animation:afRiseY 2.8s ease-in infinite}
.af-rise.e1{left:8%;bottom:-4px}
.af-rise.e2{left:44%;bottom:-4px;animation-delay:.9s}
.af-rise.e3{left:80%;bottom:-4px;animation-delay:1.8s}
.af-rise.e4{left:62%;bottom:-4px;animation-delay:2.3s;width:4px;height:4px}
@keyframes afRiseY{0%{transform:translateY(0);opacity:0}18%{opacity:1}78%{opacity:.85}100%{transform:translateY(-150px);opacity:0}}
.af-love .af-rise{width:6px;height:6px;animation-duration:3.2s}
/* 金冠：掠光辉光扫过环面 */
.af-glint{position:absolute;inset:-4px;border-radius:50%;display:block;pointer-events:none;z-index:4;
  will-change:transform;
  background:conic-gradient(transparent 0 42%,rgba(255,255,255,.95) 48%,transparent 56% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 8px),#000 calc(100% - 7px));
  mix-blend-mode:screen;animation:afSpin 3s linear infinite}
/* 小头像同步（缩小版） */
.af-sm .af-twi,.af-sm .af-fall,.af-sm .af-rise{width:3px;height:3px;box-shadow:0 0 2px 1px var(--af-glow)}
.af-sm .af-glint{inset:-2px;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px))}