JSFiddle - React, Tailwind, and code Playground
by fxi
HTML
<body bgcolor=x onload=''><pre id=p>
CSS
body {
display: flex;
justify-content: center;
align-items: center;
margin: 50px;
outline: 1px solid #fff;
background-color: #333;
}
JavaScript
// better, but characters are not all monospaced, prduce unreguar lines
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(!(H.charCodeAt(i/w+t&7)&1<<i%w-3)&&p.x));p.innerHTML=o},t=6e2,`睷䑔睗ᅑ睷`)
// Smarter, but encoded 2022 not included
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(!(H.charCodeAt(i/w+t&7)&1<<i%w-3)&&p.x));p.innerHTML=o},t=6e2,`睷䑔睗ᅑ睷`)
// Compromise : char numbers
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(!([b,17492,30551,4433,b][i/w+t&7]&1<<i%w-3)&&H));p.innerHTML=o/**/},t=500)
//([30583,17492,30551,4433,30583][y-5]&1<<x-2)
//([b,17492,30551,4433,b][y]&1<<x-3)&&H||
//(y-t*3+9+3*cos(x*3-t)-5*sin(x*7))*1e4)
//(y-t*3+9+3*cos(x*3-t)-5*sin(x*7)))
//||(t*x*y*16e6).toString(16)
// wave 1 working
//setInterval(f=H/*appy New Year*/=>{for(x=y=i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;x=i%w,y=i/w,o+=(l[i++]+(i%w?``:`\n`)).fontcolor(([b,17492,30551,4433,b][y+5&7]&1<<x+t)?'#fff':Math.sin(t-i)));p.innerHTML=o/**/},t=100)
setInterval(f=H/*appy New Year*/=>{for(x=y=i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;x=i%w,y=i/w,o+=(l[i++]+(i%w?``:`\n`)).fontcolor(([b,17492,30551,4433,b][y+5&7]&1<<x+t)?'#fff':Math.sin(t-i)));p.innerHTML=o/**/},t=100)
// glitch
//setInterval(f=H/*appy New Year*/=>{for(x=y=i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;a=l[i++],x=i%w,y=i/w,o+=(a+(x?``:`\n`)).fontcolor(([b,17492,30551,4433,b][y+5&7]&1<<x+t/3)?'#fff':Math.tan(t-y)));p.innerHTML=o},t=130)
// wave 2
//setInterval(f=H/*appy New Year*/=>{for(i=0,w=19,b=30583,t++,o=``,l=f+o;i<l.length;o+=(l[i++]+(i%w?``:`\n`)).fontcolor(([b,17492,30551,4433,b][i/w+5&7]&1<<i%w+t/2)?'#fff':Math.sin(t-i)));p.innerHTML=o/**/},t=100)