/* Comic login theme. Scoped to #loginView to leave the video review UI untouched. */
@import url('https://fonts.googleapis.com/css2?family=Bangers&family=Permanent+Marker&family=Fredoka:wght@500;700&display=swap');
@keyframes comic-shake {0%,100%{transform:rotate(-12deg) translate(0,0)}25%{transform:rotate(-14deg) translate(-3px,2px)}75%{transform:rotate(-10deg) translate(3px,-2px)}}
@keyframes comic-pop {0%,100%{transform:rotate(10deg) scale(1)}50%{transform:rotate(14deg) scale(1.17)}}
@keyframes comic-jitter {0%,100%{transform:rotate(-7deg)}50%{transform:rotate(-10deg) translate(2px,-2px)}}
@keyframes comic-bounce {0%,100%{transform:rotate(-15deg) translateY(0)}50%{transform:rotate(-19deg) translateY(7px)}}
/* Preserve the HTML hidden attribute even if app.css assigns a display property. */
#loginView[hidden]{display:none!important}
body:has(#loginView:not([hidden])){background:#000}
body:has(#loginView:not([hidden]))>.header{display:none}
body:has(#loginView:not([hidden])) .wrap{max-width:none;width:100%;margin:0;padding:0}
#loginView.comic-login{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:center;padding:80px 28px;background:#000;color:#000;font-family:'Fredoka',sans-serif;overflow:hidden}
#loginView .comic-flashes{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}
#loginView .comic-flash{position:absolute;display:block;font:clamp(20px,3vw,42px)/1 'Bangers',Impact,sans-serif;letter-spacing:2px;padding:9px 15px;border:4px solid #000;box-shadow:5px 5px #000;text-transform:uppercase;white-space:nowrap;user-select:none;animation:comic-shake .4s infinite linear}
#loginView .comic-flash:nth-child(4n+1){background:#ff3366;color:white;text-shadow:2px 2px #000;animation-name:comic-shake}
#loginView .comic-flash:nth-child(4n+2){background:#00e5ff;color:#000;animation-name:comic-pop;animation-duration:.75s}
#loginView .comic-flash:nth-child(4n+3){background:#ff9100;color:white;text-shadow:2px 2px #000;animation-name:comic-jitter;animation-duration:.3s}
#loginView .comic-flash:nth-child(4n){background:#ccff00;color:#000;animation-name:comic-bounce;animation-duration:1s}
/* Spread flashes across the screen; centre is reserved for the login folder. */
#loginView .flash-1{top:5%;left:3%}#loginView .flash-2{top:4%;left:39%}#loginView .flash-3{top:7%;right:4%}#loginView .flash-4{top:22%;left:1%}
#loginView .flash-5{top:27%;right:3%}#loginView .flash-6{top:41%;left:2%}#loginView .flash-7{top:44%;right:1%}#loginView .flash-8{top:60%;left:2%}
#loginView .flash-9{top:62%;right:3%}#loginView .flash-10{bottom:8%;left:4%}#loginView .flash-11{bottom:4%;left:25%}#loginView .flash-12{bottom:6%;right:26%}
#loginView .flash-13{bottom:12%;right:3%}#loginView .flash-14{top:13%;left:23%}#loginView .flash-15{top:14%;right:24%}#loginView .flash-16{bottom:17%;left:18%}
#loginView .folder-container{position:relative;z-index:2;width:min(100%,420px);background:#ffde4d;border:5px solid #000;padding:30px 25px;box-shadow:12px 12px #ff3366;transform:rotate(-3deg);border-radius:4px}
#loginView .folder-container:before{content:'';position:absolute;top:-25px;left:20px;width:140px;height:25px;background:#ffde4d;border:5px solid #000;border-bottom:0;border-radius:8px 8px 0 0}
#loginView .warning-stamp{font:clamp(24px,5vw,35px)/1.1 'Bangers',Impact,sans-serif;color:#ff1e1e;text-shadow:3px 3px #000;letter-spacing:2px;text-align:center;margin-bottom:20px;transform:rotate(1deg)}
#loginView .collection-title{font:clamp(25px,5vw,30px)/1.2 'Permanent Marker',cursive;color:#000;text-align:center;margin:0 0 30px}
#loginView .login-form{display:block;background:#fff;border:4px solid #000;padding:20px;box-shadow:6px 6px #000;transform:rotate(1deg)}
#loginView .input-group{margin-bottom:15px}#loginView .input-group label{display:block;color:#000;font-size:.9rem;font-weight:bold;text-transform:uppercase;margin-bottom:5px}
#loginView .input-group input{display:block;width:100%;min-width:0;padding:10px;border:3px solid #000;border-radius:0;font:1rem 'Fredoka',sans-serif;color:#000;background:white;box-sizing:border-box}
#loginView .input-group input:focus{background:#e8f9ff;outline:3px solid #ff3366;outline-offset:2px}
#loginView .btn-submit{display:block;width:100%;background:#00cc44;color:white;font:1.5rem 'Bangers',Impact,sans-serif;letter-spacing:1px;padding:10px;border:4px solid #000;border-radius:0;box-shadow:4px 4px #000;cursor:pointer;text-transform:uppercase}
#loginView .btn-submit:active{transform:translate(2px,2px);box-shadow:2px 2px #000}
#loginView #loginError{color:#9c0000;font-weight:700;margin:16px 0 0;text-align:center}
#loginView .speech-bubble{position:absolute;right:-105px;bottom:35px;width:140px;background:white;border:4px solid #000;border-radius:30px;padding:12px;text-align:center;box-shadow:6px 6px #000;transform:rotate(8deg)}
#loginView .speech-bubble:before{content:'';position:absolute;bottom:12px;left:-27px;border:15px solid transparent;border-right:22px solid #000}
#loginView .speech-bubble:after{content:'';position:absolute;bottom:15px;left:-19px;border:12px solid transparent;border-right:20px solid white}
#loginView .cartoon-eyes{display:flex;justify-content:center;gap:6px;margin-bottom:4px}
#loginView .eye{display:block;width:16px;height:22px;background:white;border:2px solid #000;border-radius:50%;position:relative}
#loginView .pupil{display:block;width:6px;height:6px;background:#000;border-radius:50%;position:absolute;bottom:4px;left:3px}
#loginView .bubble-text{font-size:.9rem;font-weight:bold;color:#000}
@media(max-width:720px){#loginView.comic-login{padding:85px 25px}#loginView .speech-bubble{right:-12px;bottom:-80px;transform:rotate(5deg) scale(.8)}#loginView .comic-flash{font-size:22px;padding:5px 8px}#loginView .flash-14,#loginView .flash-15,#loginView .flash-16{display:none}}
@media(prefers-reduced-motion:reduce){#loginView .comic-flash{animation:none}}
