/* ═══════════════════════════════════════════
   Email Verification Code Login — Overlay
   ═══════════════════════════════════════════ */

#login-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(12, 12, 20, 0.88);
  backdrop-filter: blur(8px);
  display: none !important; align-items: center; justify-content: center;
}
#login-overlay.show { display: flex !important; }

#login-box {
  background: #14141f;
  border: 1px solid rgba(167,139,250,0.2);
  border-radius: 16px;
  padding: 36px 32px;
  width: 380px; max-width: 90vw;
  box-shadow: 0 24px 64px rgba(0,0,0,0.5);
  position: relative;
  animation: fadeScale .25s cubic-bezier(0.4,0,0.2,1);
}
@keyframes fadeScale {
  from { opacity: 0; transform: scale(.95); }
  to { opacity: 1; transform: scale(1); }
}

#login-box h3 {
  font-size: 1.2rem; margin-bottom: 6px; text-align: center; color: #f1f1f9;
}
#login-box .login-sub {
  color: #9d9db5; font-size: 0.85rem;
  text-align: center; margin-bottom: 24px;
}

.login-step { display: none; }
.login-step.active { display: block; }

.login-input-group {
  display: flex; gap: 8px; margin-bottom: 16px;
}
.login-input-group input {
  flex: 1;
  background: #1c1c2e; color: #f1f1f9; font-size: 0.9rem;
  border: 1px solid rgba(167,139,250,0.15);
  border-radius: 8px; padding: 10px 14px;
  font-family: "Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  outline: none; transition: border-color 0.2s;
}
.login-input-group input:focus { border-color: #a78bfa; }
.login-input-group input::placeholder { color: #6b6b85; }

.login-input-group .btn-send {
  white-space: nowrap; padding: 10px 16px;
  background: rgba(167,139,250,0.12); color: #a78bfa;
  border: 1px solid rgba(167,139,250,0.15); border-radius: 8px;
  cursor: pointer; font-size: 0.85rem;
  font-family: "Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  transition: all 0.2s;
}
.login-input-group .btn-send:hover { background: #a78bfa; color: #0c0c14; }
.login-input-group .btn-send:disabled { opacity: 0.4; cursor: not-allowed; }

.login-error { color: #ef4444; font-size: 0.8rem; margin: 8px 0; display: none; }
.login-error.show { display: block; }

#login-box .btn { width: 100%; justify-content: center; margin-top: 4px; color: #0c0c14; font-weight: 600; }

.login-close {
  position: absolute; top: 12px; right: 16px;
  background: none; border: none; color: #6b6b85;
  font-size: 1.3rem; cursor: pointer;
  font-family: "Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  transition: color .15s;
}
.login-close:hover { color: #f1f1f9; }
