/* Decorative blessing rain, clipped to the invitation rather than the desktop. */
.blessing-rain{position:fixed;z-index:24;top:0;left:50%;width:min(100%,480px);height:100vh;height:100dvh;transform:translateX(-50%);overflow:hidden;pointer-events:none!important;user-select:none;contain:strict}
.blessing-rain[hidden]{display:none!important}
.blessing-drop{position:absolute;top:-64px;display:block;width:max-content;max-width:90px;line-height:1.4;color:var(--blessing-color,#b8765e);font:normal var(--blessing-size,23px)/1.4 'Songti SC','STSong','SimSun',serif;white-space:nowrap;pointer-events:none!important;will-change:transform,opacity;opacity:0;animation:blessing-fall var(--blessing-duration,10s) linear var(--blessing-delay,0s) both}
.blessing-drop.is-wish{font-size:13px;letter-spacing:1px;padding:3px 6px;border:1px solid currentColor;border-radius:2px;background:#fff9edb3}
.blessing-drop.is-rose{width:34px;height:44px}.blessing-drop.is-rose img{display:block;width:100%;height:100%;object-fit:contain}
.blessing-drop.is-petal{width:11px;height:15px;border-radius:80% 18% 75% 28%;background:radial-gradient(ellipse at 25% 20%,#f7d8e0,currentColor 80%);box-shadow:inset 1px 0 0 #fff5}
@keyframes blessing-fall{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--blessing-tilt,-12deg))}8%{opacity:.7}50%{transform:translate3d(var(--blessing-sway,12px),50vh,0) rotate(12deg)}85%{opacity:.5}100%{opacity:0;transform:translate3d(0,calc(100vh + 110px),0) rotate(var(--blessing-turn,32deg))}}
@supports(height:100dvh){@keyframes blessing-fall{0%{opacity:0;transform:translate3d(0,0,0) rotate(var(--blessing-tilt,-12deg))}8%{opacity:.7}50%{transform:translate3d(var(--blessing-sway,12px),50dvh,0) rotate(12deg)}85%{opacity:.5}100%{opacity:0;transform:translate3d(0,calc(100dvh + 110px),0) rotate(var(--blessing-turn,32deg))}}}
.poster-mode .blessing-rain,.album-preview .blessing-rain,[data-long-image-export] .blessing-rain{display:none!important}
@media(prefers-reduced-motion:reduce){.blessing-rain{display:none!important}.blessing-drop{animation:none!important}}
