pts=[100,-100,-15,-140,-118,-75,-132,45,-47,131,73,118,137,16],t=c.getContext("2d"),a=Math.sin,e=Math.cos,l=0,f=0,h=e=>{for(iteration=e/5|0,o=1.1+.1*iteration,s=(10*Math.log(e-5*iteration+1)|0)/6,t.fillStyle=`hsl(${80*e},100%,50%,0.05`,i=1e4;i--;)t.fillRect((l=pts[ofs=2*(7*Math.random()|0)]*o+l*(1-o))*s+480,(f=pts[ofs+1]*o+f*(1-o))*s+270,1,1)},M=0,(n=()=>{requestAnimationFrame(n),h(M++/60)})(); 397 bytes