/* Elite Media Center v0.10.5.40: phone sign-in screen, independently
   scrolling sidebar and cleaner Currently Watching cards.
   Loaded after every other stylesheet so it can replace older rules.
   The installed Android app styles its own sign-in screen in
   mobile-patches.css, so the sign-in rules here skip html.emc-android-ui. */

/* ------------------------------------------------------------------ */
/* Sign-in. Wide two-column page everywhere except phones in portrait. */
/* ------------------------------------------------------------------ */

/* The card wrapper only exists for the phone layout. Everywhere else it is
   transparent to layout, so the wide page and the Android app look the same
   as before. */
.eliteLoginFormCard{display:contents}

/* Older rules stacked the sign-in page at 820px wide or less. Keep the wide
   page for tablets, big screens and phones held sideways. */
@media (max-width:820px) and (min-width:600.02px), (max-width:820px) and (orientation:landscape){
  html:not(.emc-android-ui) .eliteLoginStage{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr)!important}
  html:not(.emc-android-ui) .eliteLoginShowcase{height:auto!important;min-height:100vh!important;min-height:100dvh!important}
  html:not(.emc-android-ui) .eliteLoginArt{background-position:center center!important}
  html:not(.emc-android-ui) .eliteLoginPanel{min-height:100vh!important;min-height:100dvh!important;border-left:1px solid #2a4870!important;padding:24px 20px!important}
  html:not(.emc-android-ui) .eliteLoginPanel .loginCard{padding:16px 8px!important}
  html:not(.emc-android-ui) .eliteLoginLogo{width:88px;height:88px;margin-bottom:8px}
}

/* Tall portrait screens that keep the wide page (tablets, large phones):
   show the whole artwork, centred, so its built-in headline is never cut off. */
@media (orientation:portrait) and (min-width:600.02px){
  html:not(.emc-android-ui) .eliteLoginArt{
    inset:auto 0!important;top:50%!important;transform:translateY(-50%);
    width:100%;height:auto!important;aspect-ratio:1023/941;
    background-size:cover!important;background-position:center center!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 90%,transparent 100%);
  }
}

/* Phones in portrait: one column, artwork as a soft backdrop, the form in a
   card, and the Android download button at the bottom of the screen. */
@media (orientation:portrait) and (max-width:600px){
  html:not(.emc-android-ui) #loginStage.eliteLoginStage:not([hidden]){
    display:block!important;position:relative;overflow-x:hidden;
    min-height:100vh!important;min-height:100dvh!important;
    background:radial-gradient(120% 60% at 50% 0%,#123b73 0%,#0a2145 45%,#061327 100%)!important;
  }
  html:not(.emc-android-ui) #loginStage .eliteLoginShowcase{
    position:absolute!important;left:0;right:0;top:0;z-index:0;
    height:min(320px,40vh)!important;height:min(320px,40dvh)!important;min-height:0!important;
    background:transparent!important;opacity:.6;pointer-events:none;overflow:hidden;
    -webkit-mask-image:linear-gradient(180deg,#000 50%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 50%,transparent 100%);
  }
  html:not(.emc-android-ui) #loginStage .eliteLoginArt{
    inset:0;filter:none!important;
    background-image:linear-gradient(180deg,rgba(6,19,39,.15) 0%,rgba(6,19,39,.55) 55%,#061327 100%),
      url('/static/login_phone_bg.webp?v=0.10.5.40')!important;
    background-size:cover!important;background-position:center top!important;background-repeat:no-repeat!important;
  }
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel{
    position:relative;z-index:1;display:block!important;
    min-height:100vh;min-height:100dvh;border-left:0!important;background:transparent!important;
    padding:28px 18px 18px!important;
  }
  html:not(.emc-android-ui) #loginStage #loginBox.loginCard:not([hidden]){
    display:flex!important;flex-direction:column;align-items:stretch;gap:0!important;
    width:100%;max-width:420px!important;margin:0 auto!important;padding:0!important;
    min-height:calc(100vh - 46px);min-height:calc(100dvh - 46px);
    background:transparent;border:0;box-shadow:none;
  }
  html:not(.emc-android-ui) #loginStage .eliteLoginLogo{
    width:64px;height:64px;border-radius:17px;margin:0 auto 10px;
    box-shadow:0 0 36px rgba(60,140,240,.45);
  }
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel h1{font-size:25px!important;line-height:1.15;margin:0}
  html:not(.emc-android-ui) #loginStage .eliteLoginWelcome{font-size:18px;margin:12px 0 0}
  html:not(.emc-android-ui) #loginStage #loginBox>.muted{margin:4px 0 18px;font-size:14px;color:#b6cbe1}
  html:not(.emc-android-ui) #loginStage .eliteLoginFormCard{
    display:flex;flex-direction:column;gap:10px;
    padding:18px 16px 8px;border-radius:18px;
    background:rgba(8,24,48,.84);border:1px solid rgba(120,170,225,.22);
    box-shadow:0 18px 40px rgba(0,0,0,.35);
  }
  html:not(.emc-android-ui) #loginStage #loginForm{display:flex;flex-direction:column;gap:12px;margin:0}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel .fieldLabel{margin:0!important;gap:6px;font-size:13px;color:#b6cbe1}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel .fieldLabel input{
    height:48px;border-radius:11px;background:#0c2142;border:1px solid rgba(120,170,225,.3);font-size:16px;
  }
  html:not(.emc-android-ui) #loginStage .elitePasswordEye{bottom:7px}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel .rememberControl{margin:0!important;min-height:40px;font-size:14px;color:#d3e2f2}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel .rememberControl input{width:20px;height:20px;margin:0}
  html:not(.emc-android-ui) #loginStage .eliteLoginSubmit{min-height:52px;padding:0 18px;border-radius:12px;font-size:17px}
  html:not(.emc-android-ui) #loginStage #loginError{margin:0}
  html:not(.emc-android-ui) #loginStage #loginError:empty{display:none}
  html:not(.emc-android-ui) #loginStage .eliteAuthLinks{justify-content:space-between;gap:8px;margin:0}
  html:not(.emc-android-ui) #loginStage .eliteAuthLinks button{
    min-height:44px;padding:0 4px;font-size:14px;color:#8cc4f5;text-decoration:none;
  }
  html:not(.emc-android-ui) #loginStage .eliteAuthLinks button:hover,
  html:not(.emc-android-ui) #loginStage .eliteAuthLinks button:focus-visible{text-decoration:underline;color:#cfe6ff}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel .eliteLoginBottom{
    border-top:0;margin:16px 0 18px;padding:0;font-size:12.5px;line-height:1.45;color:#9db4cc;
  }
  html:not(.emc-android-ui) #loginStage #loginBox a.eliteAndroidDownloadLogin{
    margin:auto 0 0;min-height:48px;padding:10px 14px;border-radius:12px;
    border:1px solid rgba(120,170,225,.35);background:transparent;box-shadow:none;
    color:#d3e2f2;font-size:15px;font-weight:600;
  }
  html:not(.emc-android-ui) #loginStage #loginBox a.eliteAndroidDownloadLogin:hover,
  html:not(.emc-android-ui) #loginStage #loginBox a.eliteAndroidDownloadLogin:focus-visible{
    background:rgba(43,111,209,.18);color:#fff;
  }
}

/* Short phones in portrait: tighten spacing so the whole form still fits. */
@media (orientation:portrait) and (max-width:600px) and (max-height:700px){
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel{padding-top:18px!important}
  html:not(.emc-android-ui) #loginStage #loginBox.loginCard:not([hidden]){min-height:calc(100vh - 36px);min-height:calc(100dvh - 36px)}
  html:not(.emc-android-ui) #loginStage .eliteLoginLogo{width:52px;height:52px;border-radius:14px;margin-bottom:6px}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel h1{font-size:22px!important}
  html:not(.emc-android-ui) #loginStage .eliteLoginWelcome{font-size:17px;margin-top:8px}
  html:not(.emc-android-ui) #loginStage #loginBox>.muted{margin-bottom:12px}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel .fieldLabel input{height:44px}
  html:not(.emc-android-ui) #loginStage .elitePasswordEye{bottom:5px}
  html:not(.emc-android-ui) #loginStage .eliteLoginSubmit{min-height:48px}
  html:not(.emc-android-ui) #loginStage #loginForm{gap:10px}
  html:not(.emc-android-ui) #loginStage .eliteLoginPanel .eliteLoginBottom{margin:12px 0 14px}
}

/* ------------------------------------------------------------------ */
/* Sidebar: its own scrolling panel. Admin and Sign Out stay reachable  */
/* on short screens without moving the media page (see app.js).         */
/* ------------------------------------------------------------------ */
#appBox .appShell .sideNav{
  height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;
  overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#2c4766 transparent;
}
#appBox .appShell .sideNav .sideBrand,
#appBox .appShell .sideNav .sideNavButtons,
#appBox .appShell .sideNav .sideNavBottom{flex-shrink:0}
#appBox .appShell .sideNav::-webkit-scrollbar{width:6px}
#appBox .appShell .sideNav::-webkit-scrollbar-track{background:transparent}
#appBox .appShell .sideNav::-webkit-scrollbar-thumb{background:#2c4766;border-radius:6px}
#appBox .appShell .sideNav::-webkit-scrollbar-thumb:hover{background:#3e6390}

/* ------------------------------------------------------------------ */
/* Currently Watching: one Play/star row under the title, the artwork   */
/* unobstructed, and the progress bar visible on the artwork.           */
/* ------------------------------------------------------------------ */
#homePage .homeWatchingCard .posterHoverActions{display:none!important}
#homePage #homeWatching.mediaRail{grid-auto-columns:minmax(250px,300px)}
#homePage .homeWatchingCard .continueProgress{left:8px;right:8px;bottom:8px;height:5px}
@media (max-width:640px){
  #homePage #homeWatching.mediaRail{grid-auto-columns:minmax(230px,268px)}
}
