*{box-sizing:border-box}
:root{
  --bg:#080e13;
  --surface:#111820;
  --surface-2:#0d141b;
  --text:#edf4f8;
  --muted:#8da0ae;
  --line:#27323d;
  --accent:#73b9f1;
  --accent-2:#9ed2fb;
  --gold:#d7b56d;
  --gold-2:#f4d993;
  --danger:#ff8b8b;
  --success:#85ddb8;
  --max:1440px;
}
html{color-scheme:dark}
body{
  margin:0;
  min-height:100vh;
  background:radial-gradient(circle at 50% 18%,rgba(115,185,241,.08),transparent 32%),var(--bg);
  color:var(--text);
  font-family:Inter,"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;
}
.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.site-header{border-bottom:1px solid var(--line);background:rgba(7,12,17,.94);backdrop-filter:blur(14px)}
.nav-wrap{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{color:var(--accent);font-weight:850;letter-spacing:.22em;text-decoration:none}
.nav-links{display:flex;align-items:center;gap:8px}
.nav-links a{padding:9px 14px;border-radius:9px;color:var(--muted);text-decoration:none}
.nav-links a:hover{color:var(--text);background:#13202b}
.nav-links .vip-link{color:#111;background:var(--gold);font-weight:800}
.nav-links .vip-link:hover{color:#111;background:var(--gold-2)}
.auth-main{min-height:calc(100vh - 87px);padding:64px 20px 80px;display:grid;place-items:start center}
.auth-card{width:min(100%,560px);padding:42px;border:1px solid var(--line);border-radius:20px;background:rgba(17,24,32,.96);box-shadow:0 24px 70px rgba(0,0,0,.25)}
.auth-kicker{color:var(--accent);font-size:.75rem;font-weight:850;letter-spacing:.16em}
.auth-card h1{margin:10px 0;font-size:2.05rem;letter-spacing:-.025em}
.auth-lead{margin:0 0 28px;color:var(--muted);line-height:1.7}
.auth-form{display:grid;gap:10px}
.auth-form label{margin-top:8px;font-size:.92rem;font-weight:700}
.auth-form input[type="text"],.auth-form input[type="email"],.auth-form input[type="password"]{
  width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:10px;outline:none;background:var(--surface-2);color:var(--text);font:inherit
}
.auth-form input:focus{border-color:#48799f;box-shadow:0 0 0 3px rgba(115,185,241,.10)}
.auth-form input::placeholder{color:#61717e}
.form-row{margin:6px 0 4px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.remember,.terms{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-weight:500!important}
.remember input,.terms input{margin-top:3px}
.text-link{color:var(--accent);text-decoration:none;font-size:.9rem}
.primary-btn{width:100%;min-height:50px;margin-top:12px;border:1px solid #4f8dbd;border-radius:10px;background:var(--accent);color:#071018;font:inherit;font-weight:850;cursor:pointer}
.primary-btn:hover{background:var(--accent-2)}
.form-message{min-height:24px;margin:4px 0 0;font-size:.88rem}
.form-message[data-type="error"]{color:var(--danger)}
.form-message[data-type="success"]{color:var(--success)}
.auth-footer{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);text-align:center}
.auth-footer a{color:var(--accent);font-weight:750;text-decoration:none}
.demo-note{margin-top:18px;padding:12px 14px;border:1px dashed #34424e;border-radius:10px;color:#748592;background:#0b1117;font-size:.78rem;line-height:1.55}
@media(max-width:680px){
  .wrap{width:min(100% - 28px,var(--max))}
  .nav-wrap{min-height:72px}
  .nav-links{gap:2px}
  .nav-links a{padding:7px 9px;font-size:.86rem}
  .auth-main{padding:28px 14px 50px}
  .auth-card{padding:28px 20px;border-radius:16px}
  .auth-card h1{font-size:1.7rem}
  .form-row{align-items:flex-start;flex-direction:column;gap:8px}
}