/* Server cover: specificity also protects against legacy desktop styles. */
html:has(body.login-cover) { color-scheme:dark; height:auto; overflow:auto; background:#141414; }
html body.login-page.login-cover { --cover-gold:#f2cc83; margin:0; min-height:100dvh; overflow-x:hidden; background:#141414; color:#efeee8; font:16px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; }
html body.login-page.login-cover * { box-sizing:border-box; }
html body.login-page.login-cover [hidden] { display:none!important; }
html body.login-page.login-cover .cover-art { position:fixed; inset:-24px; pointer-events:none; z-index:0; overflow:hidden; }
html body.login-page.login-cover .cover-art img { width:100%; height:100%; display:block; object-fit:cover; opacity:.92; }
html body.login-page.login-cover .cover-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,58fr) minmax(0,42fr); min-height:100dvh; width:100%; max-width:none; margin:0; padding:0; }
html body.login-page.login-cover .cover-statement { position:relative; min-width:0; }
html body.login-page.login-cover .cover-motto { position:absolute; left:28px; bottom:28px; color:var(--cover-gold); font-size:14px; letter-spacing:.28em; }
html body.login-page.login-cover .cover-access { display:flex; align-items:center; justify-content:center; min-width:0; min-height:100dvh; padding:48px; }
html body.login-page.login-cover .cover-auth { width:100%; max-width:360px; text-align:center; }
html body.login-page.login-cover .cover-brand { display:block; width:118px; height:118px; margin:0 auto 22px; }
html body.login-page.login-cover .cover-brand img { display:block; width:100%; height:100%; object-fit:contain; }
html body.login-page.login-cover #auth-title { margin:0; color:#efeee8; font-size:36px; font-weight:600; line-height:1.3; letter-spacing:0; }
html body.login-page.login-cover #auth-help { margin:14px 0 38px; color:#b4b2ad; font-size:15px; }
html body.login-page.login-cover #auth-form { text-align:left; }
html body.login-page.login-cover #auth-form label { display:block; margin:25px 0 10px; color:#deddd7; font-size:14px; font-weight:500; }
html body.login-page.login-cover #auth-form input { width:100%; height:52px; min-height:52px; padding:0 16px; border:1px solid #605e58; border-radius:7px; background:#151515b8; color:#efeee8; font:inherit; font-size:15px; outline:none; caret-color:var(--cover-gold); transition:border-color .16s,background-color .16s; }
html body.login-page.login-cover #auth-form input::placeholder { color:#a3a19b; opacity:1; }
html body.login-page.login-cover #auth-form input:hover { border-color:#8a8579; }
html body.login-page.login-cover #auth-form input:focus { background:#191919; border-color:var(--cover-gold); box-shadow:0 0 0 3px #f2cc8340; }
html body.login-page.login-cover .cover-password { position:relative; }
html body.login-page.login-cover #auth-form #password { padding-right:68px; }
html body.login-page.login-cover #auth-form button { font:inherit; cursor:pointer; }
html body.login-page.login-cover #auth-form #show-password { position:absolute; right:5px; top:4px; height:44px; min-width:54px; margin:0; padding:0 10px; border:0; border-radius:5px; background:transparent; color:#c3c0b9; font-size:13px; }
html body.login-page.login-cover #auth-form #show-password:hover { background:#ffffff0d; color:#efeee8; }
html body.login-page.login-cover .cover-actions { margin-top:30px; }
html body.login-page.login-cover #auth-form #auth-submit { display:block; width:100%; height:52px; margin:0; border:1px solid var(--cover-gold); border-radius:7px; color:#231e15; background:var(--cover-gold); font-size:15px; font-weight:650; letter-spacing:0; box-shadow:none; transition:background-color .16s,transform .16s; }
html body.login-page.login-cover #auth-form #auth-submit:hover:not(:disabled) { background:#ffdda0; border-color:#ffdda0; transform:translateY(-1px); }
html body.login-page.login-cover #auth-form #auth-submit:active:not(:disabled) { transform:translateY(0); }
html body.login-page.login-cover #auth-form #auth-submit:disabled { background:var(--cover-gold); opacity:.6; cursor:wait; }
html body.login-page.login-cover #auth-form #auth-toggle { display:block; margin:18px auto 0; min-height:44px; border:0; background:transparent; color:var(--cover-gold); font-size:14px; }
html body.login-page.login-cover :is(button,a,input,[tabindex]):focus-visible { outline:2px solid var(--cover-gold); outline-offset:3px; }
html body.login-page.login-cover #auth-form #auth-error { margin:12px 0 0; color:#ffb5a9; font-size:14px; }
html body.login-page.login-cover #auth-form #auth-status { margin:12px 0 0; color:#c8c2b4; font-size:14px; }
html body.login-page.login-cover #auth-error:empty,html body.login-page.login-cover #auth-status:empty { display:none; }
html body.login-page.login-cover #username-help { color:#b4b2ad; font-size:12px; }
html body.login-page.login-cover #register-note { padding:12px; border-radius:7px; background:#27241d; color:#c8c2b4; font-size:13px; }
@media (max-width:1000px) and (min-width:761px) {
  html body.login-page.login-cover .cover-layout { grid-template-columns:minmax(0,52fr) minmax(0,48fr); }
  html body.login-page.login-cover .cover-access { padding:40px 36px 40px 20px; }
}
@media (max-width:760px) {
  html body.login-page.login-cover .cover-layout { display:flex; flex-direction:column; }
  html body.login-page.login-cover .cover-statement { min-height:0; padding:28px 24px 12px; }
  html body.login-page.login-cover .cover-motto { position:static; display:block; margin-top:12px; font-size:13px; }
  html body.login-page.login-cover .cover-access { min-height:0; padding:24px 28px 48px; }
  html body.login-page.login-cover .cover-brand { width:150px; height:150px; }
  html body.login-page.login-cover #auth-title { font-size:30px; }
  html body.login-page.login-cover #auth-help { margin-bottom:26px; }
}
@media (prefers-reduced-motion:reduce) {
  html body.login-page.login-cover .cover-art,html body.login-page.login-cover .cover-art img { transform:none!important; }
  html body.login-page.login-cover #auth-form #auth-submit { transition:none; transform:none!important; }
}
