:root { color-scheme: dark; font-family: Arial, Helvetica, sans-serif; background:#0b1014; color:#f5f5f5; }
* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; }
body { background:#0b1014; }
.page-shell { display:grid; grid-template-columns:minmax(650px, 2fr) minmax(520px, 1fr); min-height:900px; }
.hero { min-width:0; position:relative; border-right:1px solid #4a4e52; overflow:hidden; }
.brand svg { display:block; width:100%; height:100%; }
.brand--desktop { position:absolute; left:58px; top:50px; width:80px; height:80px; }
.hero h1 { margin:115px auto 0; width:max-content; max-width:80%; font-size:54px; line-height:1.19; letter-spacing:-1px; text-align:center; font-weight:400; }
.collage { position:relative; width:590px; height:500px; margin:38px auto 0; overflow:hidden; filter:drop-shadow(0 10px 24px #0008); }
.collage img { position:absolute; width:1920px; max-width:none; left:-340px; top:-340px; }
.login-panel { background:#1f1f22; min-width:0; }
.login-card { width:min(546px, calc(100% - 54px)); margin:28px auto; }
.login-card form { display:grid; gap:12px; }
label span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
input,button { width:100%; height:61px; border-radius:18px; font:inherit; }
input { border:1px solid #555a60; background:transparent; padding:0 17px; color:white; font-size:15px; outline:none; }
input:focus { border-color:#888f98; }
input::placeholder { color:#c6cbd2; opacity:1; }
button { border:0; cursor:pointer; color:#fff; }
.login-button { margin-top:12px; height:44px; border-radius:24px; background:#174f91; color:#97999e; font-weight:600; }
/* .forgot { display:block; margin:26px 0 64px; color:white; text-align:center; text-decoration:none; font-size:14px; font-weight:700; } */
.forgot { display:block; margin:26px 0 8px; color:white; text-align:center; text-decoration:none; font-size:14px; font-weight:700; }
/* .message { min-height: 20px; margin-top: 8px; color: #ff9c9c; text-align: center; font-size: 13px; } */
.message { min-height: 8px; margin: 8px 0; padding: 8px 0; margin-bottom: 32px; text-align: center; font-size: 16px; }

.facebook { height:44px; border-radius:24px; background:#292a2d; color:#c6cbd2; font-size:15px; }
.facebook span { color:#168aff; margin-right:8px; }
.create { margin-top:12px; height:44px; border:1px solid #3d96ff; background:transparent; color:#4da1ff; }
.meta { margin-top:24px; color:#dddfe3; text-align:center; font-size:16px; }.meta strong { font-size:28px; vertical-align:-3px; }
.mobile-language,.brand--mobile,.mobile-legal { display:none; }
footer { border-top:1px solid #4a4e52; min-height:180px; padding:22px 24px; text-align:center; color:#b7bdc6; font-size:12px; }
footer nav { display:flex; flex-wrap:wrap; justify-content:center; gap:0 16px; }
footer a { color:inherit; text-decoration:none; line-height:26px; } footer p { margin:6px 0; }

@media (max-width: 700px) {
  :root, body { background:#1e1e1f; }
  .page-shell { display:block; min-height:100vh; }
  .hero, footer { display:none; }
  .login-panel { min-height:100vh; padding:1px 0 24px; background:#1e1e1f; }
  .mobile-language { display:block; margin-top:42px; text-align:center; color:#b9b9bd; font-size:17px; }
  .login-card { width:auto; margin:58px 21px 0; }
  .brand--mobile { display:block; width:91px; height:91px; margin:0 auto 76px; }
  .login-card form { gap:16px; }
  input { height:78px; border-radius:23px; padding:0 23px; font-size:18px; }
  input::placeholder { color:#c4c4c8; }
  .login-button { height:61px; margin-top:0; border-radius:31px; background:#0c29b4; color:#fff; font-size:20px; font-weight:400; }
  .forgot { margin:28px 0 107px; font-size:19px; font-weight:500; }
  .facebook { display:none; }
  .create { height:58px; margin:0; border-radius:31px; border-color:#2f78e8; color:#8ad3ff; font-size:19px; font-weight:600; }
  .meta { margin-top:25px; color:#111a22; font-size:18px; }.meta strong { color:#0759c8; font-size:35px; }
  .mobile-legal { display:block; margin-top:24px; color:#b4b8c0; text-align:center; font-size:16px; line-height:1.35; }
}

@media (max-width: 390px) {
  .mobile-language { margin-top:28px; }
  .login-card { margin-top:42px; }
  .brand--mobile { margin-bottom:50px; }
  .forgot { margin-bottom:16px; }
}
