1018 bytes
_='h=70;k=[];nXmovpXlinq:f,g,5p(e,l,5}r=0;j=;ut=Date.now(requestAnimationFrame(uf=t-r;XfillRect(K,900Style="#fff"Y6J18+821E29%3L92ZN0`8@4+7J1GZ@7N112487L88!Y8;w^+`80w^-`74)0;6>iBq^%EE*i,460-iq^E,4+28,454)%3L4014N59!N495,5N1Z%J39!~+203+2157~!?4L2!3E!4+3!8-2!5?3L7!6!53N5,685,6L7!Z0;i=H_&&k.splice(iYh-=f;0>h&&(h=7k.push([-400+80z,66z/1.5,50+3z])r=t}we=PI,l=sin,m=cos;:OQ$6)p6;:.3$6)p(W$6qW)$qUU.3))}u(p^;:()(i0,K/2random()XbeginPath() s_/(f,g,e,l){(OQ$1;8>=iBfunction .3$gG4*m5(s[0],s[1]eTo(f+*e,g+*e)}Z,0$(2*eG-1Xstroke/8*e*2GMath.f+8*l;for(i=4);!6$),%30:;n(?G7,457,@Y5YB;i++)Cxp+ 2E+4G+1Hk[i]J+5Kc.widthL-NOf+27*lQ$gE0*mU((i)Vn- 2W.3Xa.Y,1Z6^(_[2]`71x 3z0*| 1.7~G5422-';for(Y in $='~|zx`_^ZYXWVUQONLKJHGECB@?:%$! ')with(_.split($[Y]))_=join(pop());eval(_)