/* ================================================================
   login.css —— 登录 / 注册全屏门禁
   ================================================================ */

.login-gate {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  /* 图书馆午后：暖光渐变 */
  background:
    radial-gradient(1100px 500px at 75% -10%, rgba(232, 145, 47, 0.22), transparent 60%),
    radial-gradient(900px 500px at 10% 110%, rgba(28, 176, 246, 0.16), transparent 60%),
    var(--bg);
}
.login-gate[hidden] { display: none; }

.login-card {
  width: 100%;
  max-width: 400px;
  background: #fff;
  border: 2px solid var(--line-2);
  border-radius: var(--r-l);
  box-shadow: 0 10px 0 rgba(138, 78, 12, 0.08);
  padding: 30px 28px 22px;
  text-align: center;
  animation: loginPop .28s cubic-bezier(.34, 1.4, .64, 1);
}
@keyframes loginPop {
  from { transform: translateY(14px) scale(.97); opacity: 0; }
  to   { transform: none; opacity: 1; }
}

.login-logo {
  width: 64px; height: 64px;
  margin: 0 auto 14px;
  border-radius: 20px;
  /* 和顶栏左上角那个小方块保持完全一致 */
  background: linear-gradient(160deg, #F2A64B, var(--brand));
  box-shadow: 0 5px 0 var(--brand-edge);
  display: flex;
  align-items: center;
  justify-content: center;
}
.login-logo svg { display: block; }
.login-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
}
.login-sub {
  margin-top: 4px;
  font-size: 13px;
  color: var(--ink-2);
}

/* 登录 / 注册 两个页签 */
.login-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 18px 0 16px;
  background: var(--bg-2);
  border-radius: var(--r-pill);
  padding: 4px;
}
.login-tab {
  border: none;
  background: transparent;
  border-radius: var(--r-pill);
  padding: 9px 0;
  font-family: var(--font);
  font-size: 14px;
  font-weight: 700;
  color: var(--ink-2);
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.login-tab.is-on {
  background: #fff;
  color: var(--brand-deep);
  box-shadow: 0 2px 0 rgba(0,0,0,.06);
}

/* 表单 */
.login-fields { text-align: left; }
.login-label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink-2);
  margin: 12px 2px 6px;
}
.login-fields .field { width: 100%; box-sizing: border-box; }

#lgError { margin: 12px 0 0; }

#lgGo { margin-top: 18px; }

.login-foot {
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ink-3);
}

/* ---------- 窄屏 ---------- */
@media (max-width: 480px) {
  .login-card { padding: 24px 18px 18px; }
}
