/* 中考通关 · 登录与云端同步（贴合 app.css 色板） */
.auth-top{
  position:fixed; top:14px; right:16px; z-index:40;
  display:flex; align-items:center; gap:8px;
}
.auth-login-btn,.auth-chip{
  border:1px solid var(--line, #EAE3D7);
  background: var(--card, #fff);
  color: var(--brand-ink, #1E4BD8);
  border-radius:999px;
  padding:7px 13px;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(31,36,48,.05));
  font-family: inherit;
}
.auth-login-btn:hover,.auth-chip:hover{ border-color:#D0D9F5; background: var(--soft, #EDF2FF); }
.auth-chip{
  background: var(--soft, #EDF2FF);
  border-color:#C9D6F5;
  max-width:128px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.auth-modal{
  position:fixed; inset:0;
  background:rgba(31,36,48,.42);
  display:flex; align-items:center; justify-content:center;
  z-index:9999; padding:16px;
}
.auth-modal[hidden]{ display:none !important; }
.auth-card{
  position:relative;
  width:min(380px, 94vw);
  background: var(--card, #fff);
  border:1px solid var(--line, #EAE3D7);
  border-radius: var(--r, 20px);
  padding:22px 22px 16px;
  box-shadow: var(--shadow, 0 14px 34px -20px rgba(31,36,48,.35));
}
.auth-card h2{ margin:0 0 6px; font-size:20px; color: var(--ink, #1F2430); }
.auth-hint{ margin:0 0 14px; color: var(--muted, #79808E); font-size:13px; line-height:1.55; }
.auth-card label{ display:block; font-size:13px; color: var(--ink-2, #3C4353); margin-bottom:10px; font-weight:550; }
.auth-card input{
  display:block; width:100%; margin-top:5px; box-sizing:border-box;
  border:1px solid var(--line, #EAE3D7); border-radius:12px;
  padding:11px 12px; font-size:14px; font-family:inherit;
  background: var(--bg, #FAF7F1); color: var(--ink, #1F2430);
}
.auth-card input:focus{ outline:2px solid rgba(47,107,255,.35); border-color:#2F6BFF; }
.auth-primary{
  width:100%; margin-top:6px; border:0; border-radius:12px;
  background: linear-gradient(180deg, #3B76FF, #2A62F0);
  color:#fff; padding:12px 14px; font-size:14.5px; font-weight:650; cursor:pointer;
  font-family:inherit;
  box-shadow: 0 10px 22px -12px rgba(47,107,255,.95);
}
.auth-primary:disabled{ opacity:.6; cursor:wait; }
.auth-error{ min-height:18px; color: var(--bad, #D9534F); font-size:12.5px; margin:0 0 6px; }
.auth-close{
  position:absolute; right:10px; top:8px; border:0; background:transparent;
  font-size:22px; line-height:1; cursor:pointer; color: var(--muted, #79808E);
}
.auth-card .text-button{
  display:block; width:100%; margin-top:8px; background:transparent; border:0;
  color: var(--brand, #2F6BFF); cursor:pointer; font-size:13px; font-family:inherit;
}
.auth-settings-row{ display:flex; flex-wrap:wrap; gap:10px; margin-top:4px; }
@media (max-width: 860px){
  .auth-top{ top:10px; right:10px; }
}
@media (prefers-color-scheme: dark){
  .auth-login-btn,.auth-chip{ background:rgba(40,44,54,.92); border-color:#3A4050; color:#9DB4FF; }
  .auth-chip{ background:rgba(47,107,255,.18); }
  .auth-card{ background:#232732; border-color:#3A4050; }
  .auth-card input{ background:#1A1D24; border-color:#3A4050; color:#E8EAED; }
}
