#scorePicker button,.score-orbit{position:relative;overflow:visible}
.rating-sparkles{position:absolute;inset:0;pointer-events:none;z-index:5;display:block}
.rating-sparkles>span{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px;line-height:1;animation:rating-spark 1.25s ease-out both;animation-delay:var(--spark-delay);will-change:transform,opacity}
.rating-sparkles svg{display:block;width:100%;height:100%;overflow:visible}
.rating-sparkles .star-body{fill:#ffd665;stroke:#fff0b2;stroke-width:1}
.rating-sparkles .star-face{fill:#624121;stroke:none}
.rating-sparkles .star-face path{fill:none;stroke:#624121;stroke-width:2;stroke-linecap:round}
.sad-stars .star-body{fill:#aacbfa;stroke:#e4f0ff}
.sad-stars .star-face{fill:#354c79}
.sad-stars .star-face path{stroke:#354c79}
.sigh-stars .star-body{fill:#9ec9e4;stroke:#d7f0ff}.sigh-stars>span{animation-name:rating-sigh}
.wobble-stars .star-body{fill:#b8b6e6;stroke:#e7e1ff}.wobble-stars>span{animation-name:rating-wobble}
.drift-stars .star-body{fill:#c4c8df;stroke:#eff1ff}.drift-stars>span{animation-name:rating-drift}
.balance-stars .star-body{fill:#efd49b;stroke:#fff1c7}.balance-stars>span{animation-name:rating-balance}
.hop-stars .star-body{fill:#bce1a1;stroke:#e9ffdc}.hop-stars>span{animation-name:rating-hop}
.spiral-stars .star-body{fill:#8ee0d6;stroke:#d6fff6}.spiral-stars>span{animation-name:rating-spiral}
.firework-stars .star-body{fill:#d8b1fa;stroke:#f8e3ff}.firework-stars>span{animation-name:rating-firework}
@keyframes rating-sigh{0%{opacity:0;transform:translate(calc(var(--spark-x)*.5),-20px) scale(.5)}20%,55%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),calc(var(--spark-y) + 38px)) scale(.75) rotate(-12deg)}}
@keyframes rating-wobble{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:translate(calc(var(--spark-x)*.5),calc(var(--spark-y)*.5)) rotate(-24deg)}45%{transform:translate(calc(var(--spark-x)*.65),calc(var(--spark-y)*.65)) rotate(22deg)}70%{opacity:1;transform:translate(calc(var(--spark-x)*.8),calc(var(--spark-y)*.8)) rotate(-15deg)}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) rotate(10deg)}}
@keyframes rating-drift{0%{opacity:0;transform:translate(-28px,15px) scale(.4)}25%,70%{opacity:1}100%{opacity:0;transform:translate(calc(var(--spark-x) + 22px),calc(var(--spark-y)*.6)) scale(.9) rotate(-30deg)}}
@keyframes rating-balance{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:translate(calc(var(--spark-x)*.6),calc(var(--spark-y)*.6)) scale(1.15)}50%{transform:translate(calc(var(--spark-x)*.6),calc(var(--spark-y)*.6)) scale(.8)}75%{opacity:1;transform:translate(calc(var(--spark-x)*.8),calc(var(--spark-y)*.8)) scale(1.1)}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.7)}}
@keyframes rating-hop{0%{opacity:0;transform:translate(0,22px) scale(.4)}25%{opacity:1;transform:translate(calc(var(--spark-x)*.4),calc(var(--spark-y)*.4 - 32px))}50%{transform:translate(calc(var(--spark-x)*.6),calc(var(--spark-y)*.6 + 8px)) scale(.8)}75%{opacity:1;transform:translate(calc(var(--spark-x)*.8),calc(var(--spark-y)*.8 - 20px))}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.7)}}
@keyframes rating-spiral{0%{opacity:0;transform:rotate(-100deg) translate(0,0) scale(.2)}25%{opacity:1}60%{opacity:1;transform:rotate(35deg) translate(calc(var(--spark-x)*.7),calc(var(--spark-y)*.7)) scale(1.05)}100%{opacity:0;transform:rotate(80deg) translate(var(--spark-x),var(--spark-y)) scale(.7)}}
@keyframes rating-firework{0%{opacity:0;transform:scale(.1)}15%{opacity:1;transform:translate(calc(var(--spark-x)*.6),calc(var(--spark-y)*.6)) scale(1.2)}40%{transform:translate(var(--spark-x),var(--spark-y)) scale(.75) rotate(30deg)}65%{opacity:1;transform:translate(var(--spark-x),var(--spark-y)) scale(1.1) rotate(30deg)}100%{opacity:0;transform:translate(calc(var(--spark-x)*1.2),calc(var(--spark-y)*1.2)) scale(.4) rotate(55deg)}}
@keyframes rating-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}12%{opacity:1;transform:translate(calc(var(--spark-x)*.3),calc(var(--spark-y)*.3)) scale(1.15)}65%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.8) rotate(20deg)}}
@media(prefers-reduced-motion:reduce){.rating-sparkles>span{animation:none;opacity:1;transform:translate(var(--spark-x),var(--spark-y))}.rating-sparkles>span:nth-child(n+4){display:none}}
