/* 注册 / 登录 / 验证三页：深色星空 + 中间一张卡。按钮、颜色跟首页同一套（dark.css） */
body { min-height:100dvh; display:flex; flex-direction:column; }
.auth { position:relative; z-index:1; flex:1; display:grid; place-items:center; padding:40px 16px 60px; }
.box { width:100%; max-width:420px; border-radius:24px; padding:36px 30px 30px; text-align:center;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); box-shadow:0 0 0 1px var(--line) inset, 0 40px 100px -40px rgba(47,107,255,.45);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.box .logo { display:block; width:52px; height:52px; margin:0 auto 20px; filter:drop-shadow(0 0 22px var(--glow)); }
.box h1 { margin:0 0 8px; font-size:26px; line-height:1.2; letter-spacing:-.02em; font-weight:800; }
.box .p { margin:0 0 26px; color:var(--sub); font-size:15px; line-height:1.6; }
.box .p b { color:var(--ink); font-weight:600; }
.box form { display:grid; gap:10px; text-align:left; }
.box input { width:100%; height:50px; border:0; border-radius:12px; padding:0 14px; font:15.5px Inter, "Noto Sans SC", sans-serif; color:var(--ink);
  background:rgba(255,255,255,.04); box-shadow:0 0 0 1px var(--line) inset; outline:none; transition:box-shadow .2s; }
.box input:focus { box-shadow:0 0 0 1.5px var(--blue2) inset, 0 0 0 4px rgba(47,107,255,.15); }
.box input::placeholder { color:var(--dim); }
.pw { position:relative; }
.pw input { padding-right:72px; }
.pw button { position:absolute; right:4px; top:50%; transform:translateY(-50%); height:42px; padding:0 12px; border:0; background:none; cursor:pointer; color:var(--sub); font:500 13px Inter, "Noto Sans SC", sans-serif; }
.pw button:hover { color:var(--ink); }
.box .btn { width:100%; }
.box .btn:disabled { opacity:.55; cursor:default; transform:none; }
.gbtn { width:100%; height:50px; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:999px; cursor:pointer;
  font:600 15px Inter, "Noto Sans SC", sans-serif; color:#1a1f2e; background:#fff; box-shadow:0 10px 30px -12px rgba(255,255,255,.35); transition:transform .2s; }
.gbtn:hover { transform:translateY(-1px); }
.gbtn:disabled { opacity:.7; cursor:default; transform:none; }
.gis { display:flex; justify-content:center; min-height:44px; }   /* Google 自己的按钮放这里 */
.or { display:flex; align-items:center; gap:12px; margin:18px 0; color:var(--dim); font-size:12.5px; }
.or::before, .or::after { content:""; flex:1; height:1px; background:var(--line); }
.err { margin:2px 0 0; color:#ff8a8a; font-size:13.5px; line-height:1.55; }
.legal { margin:16px 0 0; color:var(--dim); font-size:12.5px; line-height:1.6; }
.legal a, .link { color:var(--blue2); }
.legal a:hover, .link:hover { color:var(--cyan); }
.foot { margin:24px 0 0; color:var(--sub); font-size:14px; }
.foot .link { font-weight:600; }
.small { display:inline-block; margin-top:4px; font-size:13px; color:var(--sub); background:none; border:0; cursor:pointer; padding:0; }
.small:hover { color:var(--ink); }
.note { padding:14px 16px; border-radius:14px; background:rgba(47,107,255,.1); box-shadow:0 0 0 1px rgba(91,140,255,.35) inset; color:#cfe0ff; font-size:14px; line-height:1.6; text-align:left; }
.spin { width:34px; height:34px; margin:6px auto 18px; border-radius:50%; border:3px solid rgba(255,255,255,.12); border-top-color:var(--cyan); animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
@media (max-width:480px) { .box { padding:30px 20px 24px; } .box h1 { font-size:23px; } }

html, body { overflow-x:clip; overscroll-behavior-x:none; -webkit-text-size-adjust:100%; }   /* 9/24：手机不许左右晃 */
