.penalty-ball{transform-box:fill-box;transform-origin:center}.penalty-ball-flight{animation:penalty-ball-flight var(--flight-ms) cubic-bezier(.25,.7,.35,1) forwards}@keyframes penalty-ball-flight{0%{transform:translate(0) scale(1)}55%{transform:translate(calc(var(--dx) * .55),calc(var(--dy) * .6 - var(--lob, 70px))) scale(.9)}to{transform:translate(var(--dx),var(--dy)) scale(.72)}}.penalty-ball-soft{--lob:0px}.penalty-ball-over{animation:penalty-ball-over var(--flight-ms) cubic-bezier(.2,.6,.4,1) forwards}@keyframes penalty-ball-over{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.5);opacity:.4}}.penalty-ball-caught{opacity:0;transition:opacity .12s linear}.penalty-goalie{transform-box:fill-box;transform-origin:50% 100%}.penalty-goalie-dive{animation:penalty-goalie-dive var(--dive-ms) cubic-bezier(.3,.8,.4,1) var(--pre-dive-ms) forwards}@keyframes penalty-goalie-dive{0%{transform:translate(0) rotate(0deg)}to{transform:translate(var(--gx),var(--gy)) rotate(var(--gr))}}.penalty-goalie-read{animation-timing-function:linear}.penalty-goalie-guess{animation-timing-function:cubic-bezier(.2,.9,.3,1)}.penalty-goalie-stay{animation:penalty-goalie-stay var(--dive-ms) ease-out var(--pre-dive-ms) forwards}@keyframes penalty-goalie-stay{0%{transform:scale(1)}to{transform:scale(1.22,.96)}}.penalty-goalie-happy{animation:penalty-goalie-happy .7s ease-out}@keyframes penalty-goalie-happy{0%,to{transform:translateY(0)}30%{transform:translateY(-34px)}60%{transform:translateY(0)}80%{transform:translateY(-16px)}}.penalty-net{transform-box:fill-box;transform-origin:center}.penalty-net-goal{animation:penalty-net-ripple .6s ease-out}@keyframes penalty-net-ripple{0%{transform:scale(1)}30%{transform:scale(1.035,1.05)}60%{transform:scale(.99)}to{transform:scale(1)}}.penalty-net-flash{animation:penalty-net-flash .65s ease-out forwards}@keyframes penalty-net-flash{0%{opacity:.55}to{opacity:0}}.penalty-confetti{transform-box:fill-box;transform-origin:center;animation:penalty-confetti .85s cubic-bezier(.2,.8,.3,1) forwards}@keyframes penalty-confetti{0%{transform:rotate(var(--a)) translateY(0) rotate(0deg);opacity:1}to{transform:rotate(var(--a)) translateY(calc(var(--d) * -1)) rotate(200deg);opacity:0}}.penalty-zone{box-shadow:0 0 22px rgba(253,230,138,.45)}.penalty-zone-ready{animation:penalty-zone-glow 1.6s ease-in-out infinite}@keyframes penalty-zone-glow{0%,to{box-shadow:0 0 22px rgba(253,230,138,.45)}50%{box-shadow:0 0 40px rgba(253,230,138,.85)}}.penalty-telegraph{animation:penalty-telegraph var(--telegraph-ms) ease-in forwards}@keyframes penalty-telegraph{0%{opacity:.6}70%{opacity:.5}to{opacity:0}}.penalty-pick-bar{transform-origin:left center;animation:penalty-pick-bar var(--pick-ms) linear forwards}@keyframes penalty-pick-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.penalty-ball-spin{transform-box:fill-box;transform-origin:center;animation:penalty-ball-spin var(--flight-ms) linear forwards}@keyframes penalty-ball-spin{0%{transform:rotate(0deg)}to{transform:rotate(var(--spin,2turn))}}.penalty-ball-soft{--spin:300deg}.penalty-kicker{transform-box:fill-box;transform-origin:50% 100%}.penalty-kicker-cheer{animation:penalty-kicker-cheer .7s ease-out}@keyframes penalty-kicker-cheer{0%,to{transform:translateY(0)}30%{transform:translateY(-30px)}60%{transform:translateY(0)}80%{transform:translateY(-12px)}}.penalty-kicker-shrug{animation:penalty-kicker-shrug .6s ease-in-out}@keyframes penalty-kicker-shrug{0%,to{transform:rotate(0deg)}35%{transform:rotate(-4deg)}70%{transform:rotate(3deg)}}.penalty-bubble{transform-box:fill-box;transform-origin:100% 50%}.penalty-bubble,.penalty-pop{animation:penalty-pop .26s cubic-bezier(.2,.8,.25,1.2) both}@keyframes penalty-pop{0%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.penalty-ball-spin,.penalty-bubble,.penalty-kicker-cheer,.penalty-kicker-shrug,.penalty-pop{animation:none}}