.emote-layer{z-index:1000;pointer-events:none;position:fixed;inset:0;overflow:hidden}.emote-sprite{top:var(--emote-y);left:var(--emote-x);opacity:0;will-change:transform, opacity;width:clamp(3rem,6vw,6rem);height:auto;animation-duration:var(--emote-duration);animation-delay:var(--emote-delay);animation-fill-mode:both;position:absolute}.emote-sprite-rise{animation-name:emote-rise;animation-timing-function:ease-out}.emote-sprite-burst{animation-name:emote-burst;animation-timing-function:ease-out}@keyframes emote-rise{0%{opacity:0;transform:translate(0,0)scale(.5)}15%{opacity:1;transform:translateY(-4vh)scale(1)}70%{opacity:1}to{opacity:0;transform:translate3d(var(--emote-drift), -28vh, 0) scale(1)}}@keyframes emote-burst{0%{opacity:0;transform:scale(.1)}12%{opacity:1}45%{transform:scale(1.5)}70%{opacity:1}to{opacity:0;transform:scale(1.7)}}@keyframes emote-fade{0%,to{opacity:0}20%,70%{opacity:1}}@media (prefers-reduced-motion:reduce){.emote-sprite{animation-name:emote-fade}}
