.tv{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.tv-logo{position:relative;display:block;object-fit:contain}
.tv.on{background:#fff;animation:login-splash 5000ms ease-in-out forwards}
.tv.on .tv-logo{height:40px!important;animation:login-logo-reveal 5000ms cubic-bezier(.16,1,.3,1) forwards}
.tv.on .tv-logo.dk{display:none}
.tv.off{animation:fade-to-black 5000ms ease-in forwards}
.tv-back{position:absolute;inset:0;background:#030712}
.tv.off .tv-logo{width:12rem;animation:logo-pulse-out 5000ms cubic-bezier(.4,0,.2,1) forwards}
.auth-logo{display:block;height:28px;margin:0 auto 22px;animation:logo-reveal 1.5s cubic-bezier(.16,1,.3,1) both}
.auth h1{animation:hero-text-in 1.2s cubic-bezier(.16,1,.3,1) .8s both}
.auth .lede{animation:hero-text-in 1.2s cubic-bezier(.16,1,.3,1) 1s both}
.auth .auth-msg,.auth .card,.auth .auth-links{animation:form-slide-up 1s cubic-bezier(.16,1,.3,1) 1.6s both}
@media (min-width:640px){.tv.on .tv-logo{height:48px!important}.tv.off .tv-logo{width:14rem}}
@media (min-width:768px){.tv.off .tv-logo{width:16rem}}
@media (prefers-color-scheme:dark){.tv.on{background:#030712!important}.tv.on .tv-logo.lt{display:none}.tv.on .tv-logo.dk{display:block}}
@keyframes login-splash{0%{opacity:1}82%{opacity:1}to{opacity:0}}
@keyframes login-logo-reveal{0%{opacity:0;transform:scale(.92)}12%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}
@keyframes fade-to-black{0%{opacity:0}to{opacity:1}}
@keyframes logo-pulse-out{0%{opacity:1;filter:blur(0);transform:scale(1)}30%{opacity:1;filter:blur(0);transform:scale(1.05)}70%{opacity:1;filter:blur(0);transform:scale(1.02)}to{opacity:0;filter:blur(20px);transform:scale(.85)}}
@keyframes logo-reveal{0%{opacity:0;filter:blur(12px);transform:scale(.8)}60%{opacity:1;filter:blur(0)}to{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes hero-text-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes form-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.tv{display:none}.auth-logo,.auth h1,.auth .lede,.auth .auth-msg,.auth .card,.auth .auth-links{animation:none}}
