dom() * this.canvas.width,
                     y: Math.random() * this.canvas.height,
                     vx: (Math.random() - 0.5) * 0.8, // Higher initial momentum
                     vy: (Math.random() - 0.5) * 0.8,
                     size: Math.random() * 1.5 + 0.5,
                     baseSize: Math.random() * 1.5 + 0.5,
                     pulse: Math.random() * Math.PI * 2,
                     pulseSpeed: 0.01 + Math.random() * 0.02,
                     opacity: 0.15 + Math.random() * 0.25,
