.kiss-entry{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden;animation:kiss-finish 3.9s linear both}
.kiss-print{position:absolute;left:50%;top:50%;width:min(510px,82vw);height:auto;opacity:0;transform:translate(-50%,-50%) rotate(-12deg);animation:lipstick-print 1.35s 1.25s both}
.kiss-particle{position:absolute;left:50%;top:50%;width:var(--size);height:var(--size);color:var(--color);opacity:0;animation:heart-burst 1.25s var(--delay) cubic-bezier(.12,.64,.25,1) both}
.kiss-heart{filter:drop-shadow(0 2px 3px #6f092b55)}
.kiss-heart svg{display:block;width:100%;height:100%}
.kiss-glitter{background:var(--color);box-shadow:0 0 7px 2px var(--color);border-radius:1px}
.kiss-glitter:nth-child(3n){clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
@keyframes lipstick-print{0%{opacity:0;transform:translate(-50%,-50%) rotate(-14deg) scale(1.15)}18%,74%{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}86%{opacity:.6;transform:translate(-50%,-50%) rotate(-12deg) scale(1.05)}100%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(1.13);visibility:hidden}}
@keyframes heart-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}9%{opacity:1}65%{opacity:.9}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--spin)) scale(.65)}}
@keyframes kiss-finish{0%,98%{visibility:visible}100%{visibility:hidden}}
@media(max-width:650px){.kiss-heart:nth-of-type(n+21){display:none}.kiss-glitter:nth-of-type(n+271){display:none}.kiss-glitter{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.kiss-entry{display:none!important}}
html.motion-paused .kiss-entry{display:none!important}
