@keyframes float-slow{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}@keyframes float-medium{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes float-fast{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes pulse-slow{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse-medium{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pulse-fast{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.animate-float-slow{animation:float-slow 6s ease-in-out infinite}.animate-float-medium{animation:float-medium 5s ease-in-out infinite}.animate-float-fast{animation:float-fast 4s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 6s ease-in-out infinite}.animate-pulse-medium{animation:pulse-medium 5s ease-in-out infinite}.animate-pulse-fast{animation:pulse-fast 4s ease-in-out infinite}:root{--particle-gap:40px}@media (min-width:768px){:root{--particle-gap:80px}}.particle-glowing{position:absolute;inset:0;width:100%;height:100%;animation:particle-color-change 5s linear infinite}.particle-glowing,.particle-glowing:nth-child(2n){transform-origin:center}@keyframes particle-color-change{0%{filter:hue-rotate(0deg);transform:rotate(0deg)}to{filter:hue-rotate(1turn);transform:rotate(1turn)}}.particle-glowing span{position:absolute;top:calc(var(--particle-gap) * var(--i));left:calc(var(--particle-gap) * var(--i));bottom:calc(var(--particle-gap) * var(--i));right:calc(var(--particle-gap) * var(--i))}.particle-glowing span:before{content:"";position:absolute;top:50%;left:-8px;width:6px;height:6px;border-radius:50%;background:var(--palette-accent1)}.particle-glowing span:nth-child(3n+1):before{background:var(--palette-accent1);box-shadow:0 0 10px var(--palette-accent1),0 0 20px var(--palette-accent1),0 0 0 4px rgb(from var(--palette-accent1) r g b/.1)}.particle-glowing span:nth-child(3n+2):before{background:var(--palette-accent-dark);box-shadow:0 0 10px var(--palette-accent-dark),0 0 20px var(--palette-accent-dark),0 0 0 4px rgb(from var(--palette-accent-dark) r g b/.1)}.particle-glowing span:nth-child(3n+3):before{background:var(--white);box-shadow:0 0 10px var(--white),0 0 20px var(--white),0 0 0 4px rgb(from var(--white) r g b/.1)}.particle-glowing.vibrant span:before{width:14px;height:14px}.particle-glowing.vibrant span:nth-child(3n+1):before{background:var(--palette-accent1);box-shadow:0 0 20px var(--palette-accent1),0 0 40px var(--palette-accent1),0 0 60px var(--palette-accent1),0 0 80px var(--palette-accent1),0 0 0 8px rgb(from var(--palette-accent1) r g b/.1)}.particle-glowing.vibrant span:nth-child(3n+2):before{background:var(--palette-accent-dark);box-shadow:0 0 20px var(--palette-accent-dark),0 0 40px var(--palette-accent-dark),0 0 60px var(--palette-accent-dark),0 0 80px var(--palette-accent-dark),0 0 0 8px rgb(from var(--palette-accent-dark) r g b/.1)}.particle-glowing.vibrant span:nth-child(3n+3):before{background:var(--white);box-shadow:0 0 20px var(--white),0 0 40px var(--white),0 0 60px var(--white),0 0 80px var(--white),0 0 0 8px rgb(from var(--white) r g b/.1)}.particle-glowing span:nth-child(3n+1){animation:particle-animate 10s infinite alternate}.particle-glowing span:nth-child(3n+2){animation:particle-animate-reverse 3s infinite alternate}.particle-glowing span:nth-child(3n+3){animation:particle-animate 8s infinite alternate}@keyframes particle-animate{0%{transform:rotate(180deg)}50%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes particle-animate-reverse{0%{transform:rotate(1turn)}50%{transform:rotate(180deg)}to{transform:rotate(0deg)}}