.calendar-star-burst {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 11000001;
    pointer-events: none;
    user-select: none;
}
.calendar-star-burst span {
    position: absolute;
    left: var(--burst-x);
    top: var(--burst-y);
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
    opacity: 0;
    animation: calendar-star-flight 640ms cubic-bezier(.12, .65, .2, 1) both;
}
.calendar-star-burst::before {
    content: "\2728";
    position: absolute;
    left: var(--burst-x);
    top: var(--burst-y);
    font-size: var(--burst-flash);
    line-height: 1;
    animation: calendar-star-flash 300ms ease-out both;
}
@keyframes calendar-star-flight {
    0% { opacity: 0; transform: translate(-50%, -50%) translate(0, 0) rotate(0deg) scale(.25); }
    15%, 65% { opacity: 1; }
    100% { opacity: 0; transform: translate(-50%, -50%) translate(var(--star-x), var(--star-y)) rotate(var(--star-spin)) scale(1); }
}
@keyframes calendar-star-flash {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(.2); }
    25% { opacity: 1; }
    100% { opacity: 0; transform: translate(-50%, -50%) scale(1.4); }
}
@media (prefers-reduced-motion: reduce) {
    .calendar-star-burst { display: none; }
}
