Japt, 9191 57 bytes
The latest entry in my series of making Japt do things it shouldn't be able to do! For some reason, compressing the "vanilla" JavaScript in a string and evaling it with Ox, which would make this a heck of a lot shorter, just doesn't seem to want to work at all
Ol"%c "²³$,...$`fÇÛÆèÆÇ¾b`roT ò3 Ëi`padÜA:2%26%;baå®":# Test it :\(Open your browser's console. Only tested in Chrome.)
Original solution
$flags$ `fÇÛÆèÆÇ¾b`roT ò3 £$V.before(V.cloneNode(),V.style.border=V.style.background='#'+X And here's the initial version I was toying with before deciding it would probably be invalid:
Japt, 40 bytes
`fÇÛÆèÆÇ¾b`roT ò3 £Ol`%c`úI Xi`baå®":# Test it (Open your browser's console.)