/* ---------- login / register ---------- */
.login-screen{
  position:absolute; inset:0; z-index:30;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,45,149,.20), transparent 45%),
    radial-gradient(circle at 80% 100%, rgba(123,47,247,.22), transparent 45%),
    var(--bg);
  display:flex; flex-direction:column; justify-content:center;
  padding:32px 26px; overflow-y:auto;
  transition:opacity .35s ease, visibility .35s ease;
}
.login-screen.hide{ opacity:0; visibility:hidden; pointer-events:none; }
.login-logo-wrap{ display:flex; flex-direction:column; align-items:center; margin-bottom:32px; }
.login-logo{
  width:64px; height:64px; border-radius:20px;
  background:linear-gradient(135deg,#1b1b24,#0d0d12); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 24px rgba(255,45,149,.4), inset 0 0 14px rgba(123,47,247,.3);
  margin-bottom:14px;
}
.login-word{ font-size:22px; font-weight:800; letter-spacing:.5px; }
.login-word span{ background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
.login-tagline{ font-size:12px; color:var(--text-2); margin-top:6px; text-align:center; max-width:220px; }
.login-title{ font-size:19px; font-weight:700; margin-bottom:4px; }
.login-subtitle{ font-size:12px; color:var(--text-2); margin-bottom:22px; }

.field-group{ display:flex; flex-direction:column; gap:8px; margin-bottom:14px; }
.field-label{ font-size:11.5px; color:var(--text-2); font-weight:600; }
.field-input{
  display:flex; align-items:center; gap:10px;
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:13px 14px; transition:border-color .15s;
}
.field-input svg{ color:var(--text-3); width:18px; height:18px; flex-shrink:0; }
.field-input input{ background:none; border:none; outline:none; color:var(--text-1); font-size:13.5px; width:100%; font-family:inherit; }
.field-input input::placeholder{ color:var(--text-3); }
.field-input button{ background:none; border:none; color:var(--text-3); cursor:pointer; display:flex; padding:0; }
.field-input:focus-within{ border-color:var(--pink); }

.login-forgot{ text-align:right; font-size:11.5px; color:var(--text-2); margin:-4px 0 18px; cursor:pointer; }
.auth-error{ display:none; color:var(--pink); font-size:11.5px; margin:-6px 0 14px; }
.auth-error.show{ display:block; }
.login-footer{ text-align:center; font-size:12.5px; color:var(--text-2); margin-top:20px; }
.login-footer a{ color:var(--pink); font-weight:700; cursor:pointer; }
