:root{--cell-size:8px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}canvas{z-index:10;image-rendering:pixelated}.render,canvas{position:absolute;top:0;left:0}.render{white-space:pre;letter-spacing:.4em;font-family:JetBrains Mono,monospace}.render span{display:inline-block;transition:all .3s ease;color:hsla(0,0%,100%,.8);text-shadow:0 0 10px hsla(0,0%,100%,.5)}.render span:hover{color:#fff;text-shadow:0 0 15px hsla(0,0%,100%,.8)}.credits{text-transform:uppercase;position:absolute;top:.5em;letter-spacing:.1em;z-index:100}.credits.-right{right:0}.credits.-left{left:0}.credits,.render{font-size:var(--cell-size);line-height:var(--cell-size);font-weight:700}.credits a{color:#fff;text-decoration:none;display:block;padding:.5em 1em 1.5em;text-align:right}.credits a:hover{color:#ff0}.credits .credits-label{display:inline-block;background:#000}.overlay-image{position:fixed;top:0;left:0;width:100%;height:100%;z-index:50;pointer-events:none;opacity:1}.gradient-bg{z-index:5;background:linear-gradient(-45deg,#06f,#036);background-size:400% 400%;animation:gradient 15s ease infinite;opacity:.9;mix-blend-mode:color-dodge}.gradient-bg,.gradient-bg:before{position:absolute;top:0;left:0;width:100%;height:100%}.gradient-bg:before{content:"";background:radial-gradient(circle at 0 0,rgba(255,215,0,.6) 0,rgba(255,165,0,.5) 20%,transparent 50%),radial-gradient(circle at 36% 30%,rgba(255,215,0,.8) 0,rgba(255,165,0,.5) 20%,transparent 50%);animation:pulse 8s ease-in-out infinite;filter:blur(1px)}.gradient-bg:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 50%,rgba(255,215,0,.4) 0,rgba(255,165,0,.3) 25%,transparent 60%);animation:glow 12s ease-in-out infinite;filter:blur(3px)}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.7;transform:scale(1)}}@keyframes glow{0%{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:.5;transform:scale(1)}}