:root{color-scheme:dark;--bg:#0c0d10;--text:#f2f2f4;--muted:#a0a3ab;--accent:#aabace;--line:#34373f}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,'Segoe UI',sans-serif}body:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,#0c0d10 10%,#0c0d10ee 38%,#0c0d1018 100%),var(--login-character,url('/assets/login-zeratul-initial-v8.jpg')) 65% center/cover no-repeat}header,footer{display:flex;align-items:center;justify-content:space-between;padding:28px clamp(24px,6vw,96px)}.brand{font-size:24px;font-weight:850;letter-spacing:.16em}.access,.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--accent)}main{min-height:calc(100svh - 180px);display:flex;align-items:center;padding:40px clamp(24px,10vw,160px)}section{width:100%;max-width:380px}h1{font-size:clamp(32px,4vw,44px);line-height:1.2;letter-spacing:-.05em;margin:18px 0}.intro{color:var(--muted);margin:0 0 32px}button,input{font:inherit;width:100%;min-height:48px;border-radius:7px}button{cursor:pointer;font-weight:650}.google{background:#f2f2f4;color:#17191e;border:0;display:flex;align-items:center;justify-content:center;gap:14px}.google span{font-size:21px;font-weight:800}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:24px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}label{display:block;font-size:13px;margin:15px 0 7px}input{background:#17191ee8;border:1px solid var(--line);padding:10px 14px;color:var(--text)}input::placeholder{color:#898d97}.submit{margin-top:24px;background:var(--accent);border:0;color:#0c0d10;padding:10px 18px;display:flex;justify-content:space-between}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:2px solid #aabace;outline-offset:4px}.notice{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}#status{font-size:13px;color:#ffc1ba;min-height:21px}footer{font-size:10px;letter-spacing:.1em;color:var(--muted)}a{color:var(--muted)}@media(max-width:600px){body:before{background:linear-gradient(#0c0d10dd,#0c0d10f7),var(--login-character,url('/assets/login-zeratul-initial-v8.jpg')) center/cover}header,footer{padding:22px 24px}main{padding:32px 24px;justify-content:center}.access{font-size:9px}}

body:before{pointer-events:none}body{isolation:isolate}.signal-slices{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.signal-slice{position:absolute;inset:0;opacity:0;background:linear-gradient(90deg,#0c0d10 10%,#0c0d10ee 38%,#0c0d1018 100%),var(--slice-image) 65% center/cover no-repeat;clip-path:inset(var(--slice-top) 0 var(--slice-bottom) 0)}.signal-slice:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 2px,#c9d0df35 2px 3px,transparent 3px 7px);mix-blend-mode:screen;opacity:.55}@media(max-width:600px){.signal-slice{background:linear-gradient(#0c0d10dd,#0c0d10f7),var(--slice-image) center/cover}}@media(prefers-reduced-motion:reduce){.character-switch .signal-slice{animation:none}}body:before{filter:brightness(var(--character-exposure,1.625))}.character-reveal:before{animation:none}@keyframes character-emerge{from{filter:brightness(calc(var(--character-exposure)*.55)) blur(1.2px)}to{filter:brightness(var(--character-exposure)) blur(0)}}@media(prefers-reduced-motion:reduce){.character-reveal:before{animation:none}}
.submit{background:#f2f2f4;color:#0c0d10}.google:hover,.submit:hover{background:#dfe3eb}.brand{color:#f2f2f4}
.character-motion{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-2;pointer-events:none;visibility:hidden;filter:brightness(var(--character-exposure,1.625))}.motion-ready .character-motion.active{visibility:visible}.motion-ready:before{background:linear-gradient(90deg,#0c0d10 10%,#0c0d10ee 38%,#0c0d1018 100%);filter:none;animation:none}.motion-ready.character-reveal .character-motion.active{animation:none}@media(max-width:600px){.character-motion{object-position:center}.motion-ready:before{background:linear-gradient(#0c0d10dd,#0c0d10f7)}}@media(prefers-reduced-motion:reduce){.character-motion{display:none}}

body[data-character="kerrigan"].character-reveal:before,body[data-character="kerrigan"].motion-ready.character-reveal .character-motion.active{animation:none}

@media(max-width:600px){
 body{--mobile-portrait-position:75% center;--mobile-portrait-shade:linear-gradient(180deg,#0c0d1030 0%,#0c0d1008 28%,#0c0d1080 43%,#0c0d10f5 62%,#0c0d10 100%)}
 body:before{background-image:var(--mobile-portrait-shade),var(--login-character,url('/assets/login-zeratul-initial-v8.jpg'));background-position:center,var(--mobile-portrait-position);background-size:cover;background-repeat:no-repeat}
 .character-motion{object-position:var(--mobile-portrait-position)}
 .motion-ready:before{background:var(--mobile-portrait-shade)}
 .signal-slice{background-image:var(--mobile-portrait-shade),var(--slice-image);background-position:center,var(--mobile-portrait-position);background-size:cover;background-repeat:no-repeat}
 main{align-items:flex-start;min-height:0;padding-top:42svh;padding-bottom:24px}
 footer{gap:16px;flex-wrap:wrap}
}

@media(max-width:600px){
 body{--mobile-portrait-shade:linear-gradient(180deg,#0c0d1010 0%,#0c0d1000 65%,#0c0d10 100%)}
 .character-motion{height:100vw;object-fit:contain;object-position:center top}
 body:before,.signal-slice{height:100vw;bottom:auto;background-position:center top;background-size:100% 100%;background-repeat:no-repeat}
 body:before{background-image:var(--mobile-portrait-shade),var(--login-character,url('/assets/login-zeratul-mobile-poster.jpg'))}
 .motion-ready:before{background-image:var(--mobile-portrait-shade)}
 main{padding-top:max(16px,calc(100vw - 100px))}
}

/* Fade the left edge while keeping the portrait side clear. */
body{--portrait-left-shade:linear-gradient(90deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.65) 25%,rgba(0,0,0,.3) 60%,rgba(0,0,0,.3) 100%)}
@media(min-width:601px){
 body:before{background-image:var(--portrait-left-shade),var(--login-character,url('/assets/login-zeratul-initial-v8.jpg'))}
 .signal-slice{background-image:var(--portrait-left-shade),var(--slice-image)}
 .motion-ready:before{background:var(--portrait-left-shade)}
}
@media(max-width:600px){
 body:before{background-image:var(--portrait-left-shade),var(--mobile-portrait-shade),var(--login-character,url('/assets/login-zeratul-mobile-poster.jpg'))}
 .signal-slice{background-image:var(--portrait-left-shade),var(--mobile-portrait-shade),var(--slice-image)}
 .motion-ready:before{background-image:var(--portrait-left-shade),var(--mobile-portrait-shade)}
}

/* Subtle scroll parallax shared by video, poster and transition layers. */
.character-motion,body:before,.signal-slices{translate:0 var(--portrait-scroll-y,0px)}
@media(prefers-reduced-motion:reduce){.character-motion,body:before,.signal-slices{translate:none}}

.mobile-login-trigger,.sheet-close{display:none}
@media(max-width:600px){
 .mobile-login-trigger{display:flex}
 .login-sheet{display:none;position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.45);align-items:flex-end}
 .login-sheet.is-open{display:flex}
 .sheet-content{width:100%;max-height:85svh;overflow:auto;background:#14161c;border-radius:22px 22px 0 0;padding:54px 24px max(24px,env(safe-area-inset-bottom));box-shadow:0 -12px 60px #0006}
 .sheet-close{display:block;position:absolute;right:18px;bottom:min(calc(85svh - 46px),calc(var(--sheet-height,600px) - 46px));width:36px;min-height:36px;background:transparent;border:0;color:#fff;font-size:28px;z-index:1}
 body.login-sheet-open{overflow:hidden}
 .sheet-content .notice{margin-bottom:0}
}
@media(max-width:600px){.sheet-content{position:relative}.sheet-close{top:12px;bottom:auto}}
@media(max-width:600px){.login-sheet.is-open .sheet-content{animation:login-sheet-enter .22s ease-out}}
@keyframes login-sheet-enter{from{transform:translateY(32px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.login-sheet.is-open .sheet-content{animation:none}}
