
/* ============ 登录 / 注册页专用 ============ */
.auth-page{min-height:calc(100vh - 32px);display:flex;align-items:center;justify-content:center;padding:48px 24px;position:relative;overflow:hidden}
.auth-page::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 18% 28%,rgba(213,56,44,.12),transparent 55%),
  radial-gradient(circle at 82% 72%,rgba(166,201,74,.10),transparent 55%);
  pointer-events:none}
.auth-card{position:relative;width:100%;max-width:420px;border:1px solid var(--line);background:rgba(32,37,22,.92);box-shadow:0 12px 40px rgba(0,0,0,.55);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
.auth-head{padding:28px 30px 18px;border-bottom:1px dashed var(--line)}
.auth-head .k{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.2em}
.auth-head h1{font-family:var(--disp);font-weight:400;font-size:30px;letter-spacing:.08em;color:var(--ink);margin-top:6px}
.auth-head h1 span{color:var(--red)}
.auth-body{padding:22px 30px 30px}
.tabs{display:flex;border:1px solid var(--line);margin-bottom:22px}
.tabs button{flex:1;background:transparent;border:0;color:var(--muted);font-family:var(--mono);font-size:13px;letter-spacing:.18em;padding:11px 0;cursor:pointer;transition:all .2s}
.tabs button.on{background:var(--red);color:#fff;box-shadow:0 0 12px rgba(213,56,44,.35)}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.12em;margin-bottom:7px}
.field input{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--ink);padding:11px 12px;font-family:var(--body);font-size:14px;outline:none;transition:border-color .2s}
.field input:focus{border-color:var(--gold)}
.field .hint{font-size:11.5px;color:var(--muted);margin-top:6px}
.auth-row{display:flex;align-items:center;justify-content:space-between;margin:4px 0 20px;font-size:12.5px;color:var(--muted)}
.auth-row label{display:flex;align-items:center;gap:6px;cursor:pointer}
.auth-row a{color:var(--gold)}
.auth-row a:hover{text-decoration:underline}
.btn-auth{width:100%;justify-content:center;font-size:16px;padding:13px}
.auth-alt{margin-top:20px;text-align:center;font-size:13px;color:var(--muted)}
.auth-alt a{color:var(--green)}
.auth-alt a:hover{text-decoration:underline}
#authErr{font-family:var(--mono);font-size:12px;color:var(--red);min-height:18px;margin-bottom:8px;letter-spacing:.05em}
.toast{position:fixed;left:50%;bottom:36px;transform:translateX(-50%);background:var(--panel);border:1px solid var(--gold);color:var(--ink);font-family:var(--mono);font-size:13px;letter-spacing:.08em;padding:12px 22px;box-shadow:0 8px 28px rgba(0,0,0,.55);z-index:120;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}
.mono{font-family:var(--mono)}
@media(max-width:520px){.auth-page{padding:28px 14px}.auth-card{max-width:100%}}
