/* 28gq living illustration (parallax layers + particles) behind the loader / select screen */
#tb-livebg{position:absolute;inset:0;overflow:hidden;z-index:0;background:#0b1220;pointer-events:none}
#tb-livebg .lb-layer{position:absolute;left:-6%;top:-6%;width:112%;height:112%;background-size:cover;background-position:center;will-change:transform;opacity:0;transition:opacity .8s}
#tb-livebg .lb-layer.on{opacity:1}
#tb-livebg canvas{position:absolute;inset:0;width:100%;height:100%}
#tb-livebg .lb-cop{position:absolute;width:46vmax;height:46vmax;border-radius:50%;mix-blend-mode:screen;filter:blur(8px);opacity:0}
#tb-livebg .lb-red{left:-14vmax;bottom:-20vmax;background:radial-gradient(circle,rgba(255,30,50,.55),rgba(255,30,50,0) 62%);animation:lbRed 1.1s steps(1) infinite}
#tb-livebg .lb-blue{left:4vmax;bottom:-22vmax;background:radial-gradient(circle,rgba(40,110,255,.55),rgba(40,110,255,0) 62%);animation:lbBlue 1.1s steps(1) infinite}
@keyframes lbRed{0%,20%{opacity:.85}10%,30%,100%{opacity:0}}
@keyframes lbBlue{0%,45%{opacity:0}50%,70%{opacity:.85}60%,80%,100%{opacity:0}}
#tb-livebg .lb-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,9,18,.62) 0%,rgba(6,9,18,.18) 30%,rgba(6,9,18,.22) 62%,rgba(6,9,18,.82) 100%),radial-gradient(ellipse at 50% 45%,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%)}
#tb-loader.lb-host{background:#0b1220 !important}
#tb-loader.lb-host>*:not(#tb-livebg){position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){#tb-livebg .lb-cop{animation:none;opacity:.25}}
