/* WishFlower animations (shared by homepage, wizard pickers and the recipient player) */
.wish-flower { display: block; width: 100%; height: auto; overflow: visible; }
.wish-flower .wf-p, .wish-flower .wf-p * { transform-box: view-box; }
.wish-flower .wf-p, .wish-flower .wf-sway > g > g { transform-origin: 0 0; }
.wish-flower .wf-glow { opacity: 0; transition: opacity 2s ease 1.2s; }
.wish-flower.is-open .wf-glow { opacity: 1; }
.wish-flower .wf-sway { transform-origin: 100px 272px; }
.wish-flower.is-open .wf-sway { animation: wfSway 7s ease-in-out 3.2s infinite; }
@keyframes wfSway { 0%, 100% { transform: rotate(-1.1deg); } 50% { transform: rotate(1.3deg); } }
.wish-flower .wf-fall { opacity: 0; transform: translate(var(--x, 90px), 70px); }
.wish-flower.is-open .wf-fall { animation: wfFall 7.5s ease-in infinite; }
.wish-flower .wf-fall.f0 { animation-delay: 3.4s; } .wish-flower .wf-fall.f1 { animation-delay: 5.6s; } .wish-flower .wf-fall.f2 { animation-delay: 7.6s; }
@keyframes wfFall {
  0% { opacity: 0; transform: translate(var(--x, 90px), 70px) rotate(0deg); }
  12% { opacity: .9; }
  100% { opacity: 0; transform: translate(calc(var(--x, 90px) + 34px), 262px) rotate(220deg); }
}
@media (prefers-reduced-motion: reduce) { .wish-flower .wf-sway, .wish-flower .wf-fall { animation: none !important; } }
