/* ===== 浮生万象 · 登录弹窗样式（C2 并入全站令牌 tokens.css） ===== */
@import url("/css/tokens.css");
:root{
  --bg:var(--bg-auth); --panel:var(--bg-panel); --panel2:var(--bg-panel); --line:var(--line);
  --txt:var(--text-main); --dim:var(--text-dim);
  --cyan:var(--accent); --blue:var(--accent-alt); --green:var(--ok); --gold:var(--warn); --red:var(--bad);
}

.auth-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;z-index:1000;padding:20px;
}
.auth-mask.show{display:flex}
.auth-modal{
  width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line);
  border-radius:14px;padding:28px 26px;box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.auth-modal h2{
  font-size:20px;font-weight:800;margin-bottom:4px;letter-spacing:2px;
  color:var(--text-main);
}
.auth-modal .auth-sub{font-size:12.5px;color:var(--dim);margin-bottom:18px}
.auth-tabs{display:flex;gap:8px;margin-bottom:18px}
.auth-tabs button{
  flex:1;padding:9px;border-radius:8px;border:1px solid var(--line);
  background:transparent;color:var(--dim);cursor:pointer;font-family:inherit;font-size:14px;
}
.auth-tabs button.active{
  border-color:var(--cyan);color:var(--cyan);
  background:rgba(56,189,248,.08);
}
.auth-modal input{
  width:100%;padding:10px 12px;margin-bottom:10px;border-radius:8px;
  border:1px solid var(--line);background:var(--panel2);color:var(--txt);
  font-family:inherit;font-size:14px;outline:none;
}
.auth-modal input:focus{border-color:var(--cyan)}
.auth-modal .auth-btn{
  width:100%;padding:11px;border-radius:8px;border:none;cursor:pointer;
  background:linear-gradient(90deg,var(--cyan),var(--blue));color:#03121f;
  font-weight:700;font-size:15px;font-family:inherit;margin-top:4px;
}
.auth-modal .auth-btn:hover{filter:brightness(1.1)}
.auth-modal .auth-btn[disabled]{opacity:.5;cursor:not-allowed}
.auth-divider{
  display:flex;align-items:center;gap:10px;color:var(--dim);font-size:12px;
  margin:16px 0;
}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-oauth{display:flex;flex-direction:column;gap:8px}
.auth-oauth button{
  padding:10px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);
  color:var(--txt);cursor:pointer;font-family:inherit;font-size:14px;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.auth-oauth button:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}
.auth-oauth button:disabled{opacity:.45;cursor:not-allowed}
.auth-agree{
  display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--dim);
  margin:10px 0;
}
.auth-agree input{width:auto;margin:3px 0 0}
.auth-agree a{color:var(--cyan)}
.auth-msg{font-size:13px;margin-top:10px;min-height:18px}
.auth-msg.err{color:var(--red)}
.auth-msg.ok{color:var(--green)}
.auth-close{
  position:absolute;top:14px;right:16px;background:none;border:none;
  color:var(--dim);font-size:20px;cursor:pointer;
}
.auth-modal{position:relative}

/* 已登录后的用户区 */
.nav-user{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--dim)}
.nav-user .nav-email{color:var(--cyan)}
.nav-user .auth-logout{
  background:none;border:1px solid var(--line);color:var(--dim);
  padding:5px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;
}
.nav-user .auth-logout:hover{border-color:var(--red);color:var(--red)}

/* 下载按钮登录拦截提示 */
.dl-needs-login{
  display:inline-block;padding:8px 14px;border-radius:6px;
  background:rgba(245,166,35,.1);color:var(--gold);font-size:12.5px;
  border:1px dashed rgba(245,166,35,.4);cursor:pointer;
}
.auth-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
