/* 52Lift 动画头像组件 · 纯 SVG + CSS
   用法：页面引 lift-avatar.css + lift-avatar.js，L52.create(尺寸) 生成内联 SVG（use 引用拿不到外部 class，所以内联），或给元素加 data-l52="尺寸" 后调 L52.mountAll()。
   状态：默认常亮；加 .is-working → 三角循环上行 + 光晕呼吸；去掉即回常亮。 */
.l52{display:inline-block;vertical-align:middle;overflow:visible}
.l52 .l52-halo{transform-box:fill-box;transform-origin:center;transition:opacity .4s}
.l52 .l52-tri{transform-box:view-box;transition:transform .35s ease,opacity .35s ease}
.l52 .l52-tri-b{opacity:0}
.l52.is-working .l52-halo{animation:l52-breathe 1.6s ease-in-out infinite}
.l52.is-working .l52-tri-a{animation:l52-rise 1.3s cubic-bezier(.45,.05,.4,1) infinite}
.l52.is-working .l52-tri-b{animation:l52-rise 1.3s cubic-bezier(.45,.05,.4,1) .65s infinite}
@keyframes l52-rise{
  0%{transform:translateY(46px);opacity:0}
  30%{opacity:1}
  65%{opacity:1}
  100%{transform:translateY(-46px);opacity:0}
}
@keyframes l52-breathe{
  0%,100%{opacity:.75;transform:scale(1)}
  50%{opacity:1;transform:scale(1.07)}
}
@media (prefers-reduced-motion:reduce){
  .l52.is-working .l52-tri-a{animation:none;transform:none;opacity:1}
  .l52.is-working .l52-tri-b{animation:none;opacity:0}
  .l52.is-working .l52-halo{animation:l52-flash 1.6s ease-in-out infinite}
  @keyframes l52-flash{0%,100%{opacity:.55}50%{opacity:1}}
}
