/* ==========================================================================
 * 物竞堂 登录 / 注册页样式（auth.css）
 * 铁律（老板硬要求）：
 *   · 禁 alert 弹窗 —— 错误提示一律用「按钮倒计时 + 行内小字」(见 .wj-btn-code / .wj-inline-tip)
 *   · 按钮按操作顺序摆（手机号 → 获取验证码 → 滑块 → 登录），多表单用选项卡不并排
 *   · 手机端优先：先做 390px；输入框字号 ≥16px（iOS 聚焦才不会放大页面）
 *   · 触控目标 ≥44px
 * ========================================================================== */

/* 品牌头部（深色渐变，与控制台原型的 .hero 同源取色） */
.wj-auth-hero{background:linear-gradient(150deg,#1b2430 0%,#2c3a4e 55%,#3d4f66 100%);
  padding:26px 20px 30px;position:relative;overflow:hidden}
.wj-auth-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:190px;height:190px;
  border-radius:50%;background:radial-gradient(circle,rgba(212,173,119,.28),transparent 70%)}
.wj-auth-hero .wj-logo{width:44px;height:44px;border-radius:13px;flex:0 0 44px;
  background:linear-gradient(140deg,#ffd84d,#e0a800);color:#2c2416;font-size:20px;font-weight:700;
  display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.28)}
.wj-auth-hero h1{font-size:22px;font-weight:700;color:#fff;margin-top:14px;letter-spacing:.5px}
.wj-auth-hero p{font-size:12.5px;color:#a9bacb;margin-top:7px;line-height:1.7}
.wj-auth-hero .wj-row{display:flex;align-items:center;gap:12px;position:relative;z-index:1}

/* 表单卡（与原型 .tier / .panel 同圆角与投影） */
.wj-auth-body{padding:0 14px 28px}
.wj-auth-card{background:#fff;border-radius:14px;padding:16px 16px 18px;margin-top:-16px;
  position:relative;z-index:2;box-shadow:var(--shadow-float)}
.wj-auth-foot{text-align:center;font-size:12.5px;color:#8b93a3;padding:16px 20px 8px;line-height:2}
.wj-auth-foot a{color:#b9996c;font-weight:600}

/* 选项卡（多表单用选项卡，绝不并排） */
.wj-tabs{display:flex;gap:8px;background:#f4f6f8;border-radius:20px;padding:4px;margin-bottom:16px}
.wj-tabs button{flex:1;min-height:44px;border:0;border-radius:16px;background:transparent;
  font-family:inherit;font-size:13.5px;color:#6b7684;font-weight:600;cursor:pointer;transition:.15s}
.wj-tabs button.on{background:#fff;color:var(--ink-800);box-shadow:0 1px 4px rgba(20,30,50,.10)}

/* 字段 */
.wj-field{margin-bottom:14px}
.wj-field label{display:block;font-size:12.5px;color:#6b7684;margin-bottom:6px;font-weight:600}
.wj-field .wj-row{display:flex;gap:8px;align-items:stretch}
.wj-input{flex:1;min-width:0;width:100%;height:46px;border:1px solid #e3e7ec;border-radius:10px;
  padding:0 13px;font-size:16px;font-family:inherit;color:var(--ink-800);background:#fbfcfd;
  -webkit-appearance:none;outline:none;transition:border-color .15s,background .15s}
.wj-input::placeholder{color:#aeb6c0;font-size:14px}
.wj-input:focus{border-color:var(--brand-gold);background:#fff}
.wj-input.err{border-color:var(--danger);background:var(--danger-bg)}

/* 「获取验证码」按钮：固定在手机号输入框右侧（width+min-width+max-width 同时写，避免被 flex 拉伸） */
.wj-btn-code{width:112px;min-width:112px;max-width:112px;height:46px;border:1px solid var(--brand-gold);
  border-radius:10px;background:#fff;color:var(--brand-gold-deep);font-size:13px;font-weight:600;
  font-family:inherit;cursor:pointer;white-space:nowrap;padding:0}
.wj-btn-code:disabled{background:#f2f4f7;border-color:#e3e7ec;color:#aeb6c0;cursor:not-allowed}

/* ---- 滑块人机验证（内联面板，不是弹窗；按钮顺操作顺序：手机号→获取验证码→拖滑块） ---- */
.wj-cap{display:none;margin:2px 0 14px;border:1px solid #f0e6d5;border-radius:12px;background:#fffdf8;
  padding:12px}
.wj-cap.show{display:block}
.wj-cap .wj-cap-h{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#8a7a5c;margin-bottom:9px}
.wj-cap .wj-cap-h .wj-cap-st{margin-left:auto;font-weight:600}
.wj-cap .wj-cap-h .wj-cap-st.ok{color:var(--success)}
.wj-cap .wj-cap-h .wj-cap-st.err{color:var(--danger)}
.wj-slider-img{position:relative;width:100%;overflow:hidden;border-radius:8px;background:#eef0f4;
  line-height:0;user-select:none;touch-action:none}
.wj-slider-img img.bg{width:100%;display:block;-webkit-user-drag:none}
.wj-slider-img img.piece{position:absolute;width:15.625%;display:block;left:0;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.wj-slider-track{position:relative;height:44px;margin-top:10px;background:#f1f3f6;border:1px solid #e3e7ec;
  border-radius:22px;overflow:hidden;user-select:none}
.wj-slider-track .wj-slider-tx{position:absolute;left:0;top:0;bottom:0;width:100%;height:100%}
.wj-slider-track .wj-slider-tx span{position:absolute;width:100%;text-align:center;top:50%;
  transform:translateY(-50%);font-size:12.5px;color:#98a1ad;letter-spacing:1px}
.wj-slider-track .wj-slider-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#fdf3e2;
  border-right:1px solid #eadfc4}
.wj-slider-thumb{position:absolute;left:0;top:0;height:44px;width:44px;min-width:44px;border:0;
  border-radius:22px;background:linear-gradient(135deg,#d4ad77,#b9996c);color:#fff;font-size:16px;
  display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;
  font-family:inherit;padding:0;z-index:3}
.wj-slider-thumb:active{cursor:grabbing}
.wj-slider-thumb.done{background:linear-gradient(135deg,#3fbf7f,#2e8b57)}
.wj-cap-note{font-size:12.5px;color:#a09580;margin-top:9px;line-height:1.7}

/* 密码输入（注册/密码登录用） */
.wj-hint-ok{font-size:12px;color:var(--success);margin-top:6px}
.wj-hint-bad{font-size:12px;color:var(--danger);margin-top:6px}

/* 协议行（注册页） */
.wj-agree{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:#8b93a3;line-height:1.7;
  margin:6px 0 14px}
.wj-agree input{width:17px;height:17px;min-width:17px;margin-top:2px;accent-color:#b9996c}

/* 登录页脚注（未登录可看落地页的入口） */
.wj-back-home{text-align:center;padding:14px 0 22px}
.wj-back-home a{font-size:12.5px;color:#8b93a3}

/* PC 只做兼容：卡片居中、限宽 430px（原型同款） */
@media (min-width:768px){
  .wj-page{box-shadow:0 0 40px rgba(20,30,50,.08);min-height:100vh}
}

/* 审计修正：拖动/通过后淡出轨道提示文案（拇指滑过时不遮字） */
.wj-slider-track .wj-slider-tx{transition:opacity .18s}
.wj-slider-track.tx-hide .wj-slider-tx{opacity:0}

/* 审计修正：① 卡片内与页脚的内联文字链撑到 44px 触控目标；② 「显示密码」改真按钮后的样式 */
.wj-auth-card a,.wj-back-home a{display:inline-block;padding:15px 4px}
.wj-back-home a{min-height:44px;padding:15px 6px}
.wj-link-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;border:0;
  background:none;font-family:inherit;font-size:12.5px;color:#8b93a3;cursor:pointer}
