/* login 的页面样式（从 templates/login.html.html 的内联 <style> 外置而来）
 *
 * ⚠ 为什么要外置：内联 CSS 没法单独缓存 —— 每页访问都要重新下载、
 *   重新解析。一个达人主页原本 72KB，其中 31KB 就是这段。
 *   外置后浏览器缓存它，换页/回头再访都不再下载。
 * ⚠ 改样式请改**这个文件**，改 templates/login.html.html 里的内联块无效
 *   （外置脚本已经把那段搬走了）。
 */
  .login-wrap { padding: 34px 20px 40px; }
  .login-mark {
    width: 54px; height: 54px; border-radius: 16px; margin: 0 auto 16px;
    background: linear-gradient(140deg, var(--cover-a), var(--cover-b));
    display: grid; place-items: center; color: #fff; font-family: var(--serif); font-size: 26px;
    box-shadow: 0 6px 20px var(--accent-soft);
    animation: drop .55s var(--ease-out) both;
  }
  @keyframes drop { from { opacity: 0; transform: translateY(-14px) scale(.9); } to { opacity: 1; transform: none; } }
  .login-wrap h1 { font-family: var(--serif); font-size: 23px; text-align: center; margin-bottom: 6px; }
  .login-wrap .sub { text-align: center; color: var(--text-3); font-size: 13px; margin-bottom: 24px; }

  /* ── 登录 / 注册 双 tab ─────────────────────────────── */
  .tabs {
    display: flex; gap: 4px; padding: 4px; margin-bottom: 14px;
    background: var(--surface-2); border-radius: 999px;
  }
  .tab {
    flex: 1; padding: 9px 12px; border: 0; border-radius: 999px;
    background: transparent; color: var(--text-2);
    font-family: inherit; font-size: 14px; font-weight: 600;
    cursor: pointer; transition: all .24s var(--ease);
    /* ⚠ 触控目标 ≥ 44px（2026-10-31）：原来 38px 高。 */
    min-height: 44px;
  }
  .tab.on {
    background: var(--surface); color: var(--accent);
    box-shadow: 0 1px 4px rgba(26, 24, 20, .10);
  }

  .code-input { display: flex; gap: 8px; }
  .code-input .input { flex: 1; letter-spacing: 4px; font-size: 17px; text-align: center; }
  .code-input .btn { flex: none; }

  .linkish {
    /* ⚠ 触控目标 ≥ 44px（2026-10-31）：原来 18px 高（纯文字行），
       手机上很难点准。改成 inline-flex + min-height，字号不变。 */
    display: inline-flex; align-items: center; min-height: 44px;
    margin-top: 8px; padding: 0; border: 0;
    background: none; color: var(--accent); font-family: inherit;
    font-size: 13px; font-weight: 600; cursor: pointer;
  }
  /* ⚠️ 必须显式写这条：`.linkish{display:inline-block}` 的优先级高于
     浏览器默认的 `[hidden]{display:none}` —— 不写的话 hidden=true 也藏不住，
     注册模式下「用验证码登录」按钮会露出来。 */
  .linkish[hidden] { display: none; }
  .linkish:hover { color: var(--accent-2); text-decoration: underline; }

  .agree { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; color: var(--text-3); line-height: 1.55; }
  .agree svg { width: 14px; height: 14px; flex: none; margin-top: 2px; color: var(--accent); }
  .alt { text-align: center; font-size: 13px; color: var(--text-3); margin-top: 18px; }
  .alt a { color: var(--accent); font-weight: 600; }
  .admin-alt { font-size: 12px; margin-top: 10px; }
  .admin-alt a { color: var(--text-3); font-weight: 500; }

  .notice {
    display: none; align-items: flex-start; gap: 8px;
    margin: 0 0 16px; padding: 11px 13px; border-radius: 12px;
    background: var(--accent-soft); color: var(--accent-2);
    font-size: 12.5px; line-height: 1.55;
  }
  .notice.show { display: flex; }
  .notice svg { width: 15px; height: 15px; flex: none; margin-top: 1px; }

  /* 强制改密：登录成功后先把 token 押住，设完密码才放行 */
  .pwset-title { font-family: var(--serif); font-size: 17px; font-weight: 600; margin-bottom: 6px; }
