     for (let i = 0; i < numParticles; i++) {
                     this.particles.push({
                         x: Math.random() * this.canvas.width,
                         y: Math.random() * this.canvas.height,
                         vx: (Math.random() - 0.5) * 0.4,
                         vy: (Math.random() - 0.5) * 0.4,
                         size: Math.random() * 1.5 + 0.5,
                         baseSize: Math.random() * 1.5 + 0.5,
                         pulse: Math.random() * Math.PI * 2,