(function () {
var card = document.currentScript.previousElementSibling;
if (!card) return;
if (card.querySelector(‘:scope > .emoji-rain[data-scope=”dakota”]’)) return;
var cs = getComputedStyle(card);
if (cs.position === ‘static’) card.style.position = ‘relative’;
if (cs.overflow === ‘visible’) card.style.overflow = ‘hidden’;
var rain = document.createElement(‘div’);
rain.className = ’emoji-rain’;
rain.dataset.scope = ‘dakota’;
Object.assign(rain.style, {
position: ‘absolute’,
inset: ‘0’,
zIndex: ‘1’,
pointerEvents: ‘none’,
overflow: ‘hidden’
});
card.appendChild(rain);
if (!document.getElementById(‘dakota-keyframes’)) {
var style = document.createElement(‘style’);
style.id = ‘dakota-keyframes’;
style.textContent = `
@keyframes dakotaFall {
0% { transform: translateY(-10%); opacity: 1; }
100% { transform: translateY(110%); opacity: 0.8; }
}
@keyframes sparkleMove {
from { background-position:0 0; }
to { background-position:40px 40px; }
}
.dakota-emoji {
position: absolute;
top: -5%;
opacity: 0.9;
pointer-events: none;
animation: dakotaFall linear forwards;
}
`;
document.head.appendChild(style);
}
var emojis = [“💋”,”💕”,”🍒”,”😘”,”😍”];
function spawn() {
if (!document.body.contains(rain)) return;
var e = document.createElement(‘div’);
e.className = ‘dakota-emoji’;
e.textContent = emojis[(Math.random() * emojis.length) | 0];
e.style.left = (Math.random() * 100) + ‘%’;
e.style.fontSize = (20 + Math.random() * 30) + ‘px’;
e.style.animationDuration = (4 + Math.random() * 5) + ‘s’;
rain.appendChild(e);
setTimeout(function () { e.remove(); }, 9000);
}
var timer = setInterval(function () {
if (!document.body.contains(card)) { clearInterval(timer); return; }
spawn();
}, 450);
})();