(function () { 'use strict'; var SVG = [ '', // Exhaust flame '', '', // Fins '', '', // Body '', // Nose cone '', // Window '', '', // Body highlight '', '' ].join(''); function isDark() { return document.documentElement.classList.contains('dark'); } function launch() { if (!isDark()) { scheduleNext(); return; } var goRight = Math.random() > 0.5; var topPct = 6 + Math.random() * 72; var duration = (3.5 + Math.random() * 4).toFixed(1); var wrapper = document.createElement('div'); wrapper.className = 'fairydust-wrapper ' + (goRight ? 'go-right' : 'go-left'); wrapper.style.top = topPct + 'vh'; wrapper.style.setProperty('--fly-duration', duration + 's'); var rocket = document.createElement('div'); rocket.className = 'fairydust-rocket'; rocket.style.transform = 'rotate(' + (goRight ? 90 : -90) + 'deg)'; rocket.innerHTML = SVG; wrapper.appendChild(rocket); document.body.appendChild(wrapper); wrapper.addEventListener('animationend', function (e) { if (e.animationName === 'fairydust-fly-right' || e.animationName === 'fairydust-fly-left') { wrapper.remove(); } }); scheduleNext(); } function scheduleNext() { setTimeout(launch, 250000 + Math.random() * 950000); // 250–1200 s } })();