@keyframes spin { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes floatUp { 0% { opacity: 1; transform: translateY(0) scale(1); } 100% { opacity: 0; transform: translateY(-60px) scale(0.8); } }
#particles { position: fixed; inset: 0; pointer-events: none; z-index: -1; }
.particle { position: absolute; width: 2px; height: 2px; background: var(--jade); border-radius: 50%; opacity: 0; animation: particleFloat 8s infinite; }
@keyframes particleFloat { 0% { opacity: 0; transform: translateY(100vh) scale(0); } 10% { opacity: 0.6; } 90% { opacity: 0.6; } 100% { opacity: 0; transform: translateY(-10vh) scale(1); } }