/* 登录/注册页样式（2026-09-12 重做）。
 *
 * 为什么要重做：这一页此前用的是 DING 遗留的 landing.css,还挂着星空 canvas 与极光层,
 * 是全站唯一没被统一到 nx-dark 体系里的页面。现在只用全站设计令牌（bg 系列 / gold / text 等）,
 * 页内不再有任何发光/极光装饰,和其余页面一致。
 *
 * 注意：写注释别在 CSS 里出现「星号 + 斜杠」连写 —— 那会提前闭合注释，
 * 整个文件从那里开始乱解析（2026-09-12 我就是这么把 .auth-wrap 的规则写丢的）。
 */

.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width:900px){.auth-wrap{grid-template-columns:1fr}}

/* 左栏：品牌与卖点（窄屏隐藏，把空间让给表单） */
.auth-brand{position:relative;display:flex;flex-direction:column;justify-content:center;gap:26px;
  padding:56px 52px;border-right:1px solid var(--border);
  background:linear-gradient(160deg,var(--bg-1),var(--bg-0))}
@media (max-width:900px){.auth-brand{display:none}}
.auth-brand .mark{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:var(--text)}
.auth-brand .mark b{color:var(--brand-1)}
.auth-brand h1{margin:0;font-size:34px;line-height:1.25;font-weight:800;color:var(--text);letter-spacing:-.4px}
.auth-brand .sub{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.auth-points{display:flex;flex-direction:column;gap:16px;margin-top:6px}
.auth-point{display:flex;gap:12px;align-items:flex-start}
.auth-point .ic{flex:0 0 auto;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;
  justify-content:center;background:var(--gold-tint);color:var(--brand-1);border:1px solid var(--border)}
.auth-point h4{margin:0 0 3px;font-size:14px;font-weight:700;color:var(--text)}
.auth-point p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.7}
.auth-brand .foot{margin-top:auto;font-size:12px;color:var(--faint)}

/* 右栏：表单卡 */
.auth-main{display:flex;align-items:center;justify-content:center;padding:40px 20px;background:var(--bg-0)}
.auth-card{width:100%;max-width:396px;background:var(--bg-2);border:1px solid var(--border);
  border-radius:var(--r-xl,18px);padding:26px 26px 22px;box-shadow:0 18px 40px rgba(0,0,0,.32)}
.auth-card .tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;
  background:var(--bg-3);border:1px solid var(--border);border-radius:12px;padding:4px}
.auth-card .tab{position:relative;z-index:1;text-align:center;padding:9px 0;font-size:14px;font-weight:600;
  color:var(--muted);cursor:pointer;border-radius:9px;transition:color .18s ease}
.auth-card .tab.active{color:var(--gold-on, #121214)}
.auth-card .tab-pill{position:absolute;z-index:0;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);
  border-radius:9px;background:var(--brand-1);transition:transform .22s ease}
.auth-card .tab-pill.r{transform:translateX(100%)}

.auth-card h3{margin:0 0 4px;font-size:19px;font-weight:800;color:var(--text)}
.auth-card .desc{margin:0 0 18px;font-size:12.5px;color:var(--muted);line-height:1.7}
.auth-card .form-row{margin-bottom:13px}
.auth-card label{display:block;margin-bottom:6px;font-size:12.5px;font-weight:600;color:var(--muted)}
.auth-card input{width:100%;box-sizing:border-box;padding:11px 12px;font-size:14px;color:var(--text);
  background:var(--bg-3);border:1px solid var(--border);border-radius:10px;outline:none;
  transition:border-color .16s ease,box-shadow .16s ease}
.auth-card input::placeholder{color:var(--faint)}
.auth-card input:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px var(--gold-tint)}
/* 邮箱 + 发送验证码 一行 */
.auth-card .row-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.auth-card .row-inline button{white-space:nowrap;padding:0 14px;font-size:13px;font-weight:600;cursor:pointer;
  color:var(--brand-1);background:var(--gold-tint);border:1px solid var(--border);border-radius:10px;
  transition:opacity .16s ease}
.auth-card .row-inline button:disabled{opacity:.5;cursor:default}
.auth-card .btn{width:100%;margin-top:6px;padding:12px 0;font-size:15px;font-weight:700;cursor:pointer;
  color:var(--gold-on, #121214);background:var(--brand-1);border:1px solid var(--brand-1);border-radius:11px;
  transition:background .16s ease,transform .12s ease}
.auth-card .btn:hover{background:var(--brand-2, var(--brand-1))}
.auth-card .btn:active{transform:translateY(1px)}
.auth-card .alt{margin-top:14px;font-size:12.5px;color:var(--muted);text-align:center;line-height:1.8}
.auth-card .alt a{color:var(--brand-1);text-decoration:none}
.auth-card .alt a:hover{text-decoration:underline}
.auth-card .alert{margin-bottom:14px;padding:9px 12px;font-size:12.5px;border-radius:10px;line-height:1.6}
.auth-card .alert-err{color:#f0b4b4;background:rgba(210,90,90,.12);border:1px solid rgba(210,90,90,.3)}
.auth-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;font-size:12.5px;
  color:var(--muted);text-decoration:none}
.auth-back:hover{color:var(--brand-1)}
