.auth-pending body{overflow:hidden}
.auth-pending body>*:not(.auth-gate){visibility:hidden}
.auth-pending .auth-gate{visibility:visible}

.auth-gate{
  position:fixed;inset:0;z-index:100000;display:grid;place-items:center;
  padding:24px;background:
    radial-gradient(circle at 50% 28%,rgba(184,140,93,.13),transparent 32%),
    linear-gradient(145deg,#171512,#302a23 58%,#1f1b17);
  color:#25211c;font-family:'Source Sans 3',Arial,sans-serif
}
.auth-card{
  width:min(430px,100%);padding:42px 40px 38px;text-align:center;
  border:1px solid rgba(255,255,255,.14);border-radius:18px;
  background:#fbf9f4;box-shadow:0 30px 90px rgba(0,0,0,.38)
}
.auth-brand-mark{
  width:58px;height:58px;margin:0 auto 18px;border-radius:15px;display:grid;place-items:center;
  color:#e1bd87;background:radial-gradient(circle at 50% 50%,rgba(213,169,102,.28),transparent 46%),linear-gradient(145deg,#121418,#383038);
  box-shadow:0 14px 28px rgba(0,0,0,.22)
}
.auth-brand-mark svg{width:34px;height:34px;display:block}
.auth-kicker{margin:0 0 8px;color:#8b6a48;font-weight:600;font-size:.68rem;letter-spacing:.2em}
.auth-card h1{margin:0;font-family:'Newsreader','Spectral',Georgia,serif;font-size:2rem;font-weight:600;letter-spacing:-.02em}
.auth-description{max-width:330px;margin:13px auto 26px;color:#746c61;font-family:'Spectral',Georgia,serif;font-size:1rem;line-height:1.55}
.auth-google-button{min-height:44px;display:flex;justify-content:center;align-items:center}
.auth-message{margin:18px 0 0;padding:11px 12px;border:1px solid #e0b8b3;border-radius:9px;background:#fff1ef;color:#8f3027;font-size:.78rem;line-height:1.45}
.auth-message[data-type="info"]{border-color:#d5c7b4;background:#f7f2e9;color:#62594e}
.auth-message[data-type="config"]{border-color:#d9bf91;background:#fff8e9;color:#74531d}

.auth-account-control{
  min-height:38px;max-width:220px;padding:3px 9px 3px 4px;border:1px solid rgba(216,177,117,.23);border-radius:999px;
  display:inline-flex;align-items:center;gap:8px;background:rgba(216,177,117,.1);color:#eee8dd;
  font-family:'Source Sans 3',Arial,sans-serif;cursor:pointer;transition:background .16s,border-color .16s
}
.auth-account-control:hover{background:rgba(216,177,117,.18);border-color:rgba(216,177,117,.38)}
.auth-account-control img,.auth-account-initial{width:30px;height:30px;border-radius:50%;flex:0 0 auto}
.auth-account-control img{object-fit:cover;background:#eee8dd}
.auth-account-initial{display:grid;place-items:center;background:#dfbd8a;color:#29251f;font-weight:700}
.auth-account-label{min-width:0;display:block;text-align:left;line-height:1.05}
.auth-account-label strong{max-width:145px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:600}
.auth-account-label small{display:block;margin-top:3px;color:#cbbca8;font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.auth-account-floating{
  position:fixed;left:12px;bottom:12px;z-index:1100;max-width:42px;padding:4px;background:rgba(41,37,31,.94);
  box-shadow:0 8px 24px rgba(0,0,0,.22)
}
.auth-account-floating .auth-account-label{display:none}

@media(max-width:650px){
  .auth-card{padding:34px 22px 30px}
  .auth-account-control:not(.auth-account-floating){max-width:42px;padding:4px}
  .auth-account-control:not(.auth-account-floating) .auth-account-label{display:none}
}
