.mayi-canvas-shell .reference-generation-animation{background:radial-gradient(ellipse at center,#25232e 0,#17171f 52%,#101116 100%)}
.mayi-canvas-shell .reference-generation-animation>span{width:96px;height:112px;max-width:40%;max-height:60%;border-radius:0;background:transparent url('/brand/ip-sprite.png') center/contain no-repeat;mask:none;filter:drop-shadow(0 5px 8px #08090d66);animation:canvas-ip-hop 1.8s ease-in-out infinite}
.mayi-canvas-shell .reference-generation-animation>i,.mayi-canvas-shell .reference-generation-animation>.canvas-running-caption{display:none}
.mayi-canvas-shell .reference-generation-animation::before{left:50%;top:68%;width:72px;height:10px;border-radius:50%;transform:translateX(-50%);transform-origin:center;background:#aaa0bc26;filter:blur(4px);animation:canvas-ip-hop-shadow 1.8s ease-in-out infinite}
.mayi-canvas-shell .reference-generation-animation::after{content:none}
@keyframes canvas-ip-hop{0%,18%,100%{transform:translate(-50%,-50%) scale(1)}32%{transform:translate(-50%,-44%) scale(1.035,.96)}56%{transform:translate(-50%,calc(-50% - 14px)) scale(.98,1.02)}78%{transform:translate(-50%,-50%) scale(1.03,.97)}}
@keyframes canvas-ip-hop-shadow{0%,18%,100%{transform:translateX(-50%) scaleX(1);opacity:.3}32%,78%{transform:translateX(-50%) scaleX(1.06);opacity:.38}56%{transform:translateX(-50%) scaleX(.72);opacity:.18}}
@media(prefers-reduced-motion:reduce){.mayi-canvas-shell .reference-generation-animation>span,.mayi-canvas-shell .reference-generation-animation::before{animation:none}}
