.floaties-container {
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}
 
main, header, footer {
    position: relative;
    z-index: 1;
}
 
.floatie {
    will-change: transform, opacity;
    position: absolute;
    border-radius: 50%;
    filter: blur(25px);
    opacity: 0;
    animation: floatUp var(--duration) ease-in-out var(--delay) infinite;
}
 
@keyframes floatUp {
    0%   { transform: translateY(0)     translateX(0)     scale(0.8);  opacity: 0;    }
    10%  { opacity: 1; }
    50%  { transform: translateY(-45vh) translateX(40px)  scale(1.05); opacity: 0.85; }
    90%  { opacity: 0.6; }
    100% { transform: translateY(-95vh) translateX(-20px) scale(0.9);  opacity: 0;    }
}