/* gate.css — MyUniverse's Google-only sign-in gate. Not a dismissible modal: no close button, no
   click-outside-to-close — see auth/gate.js. z-index 200 keeps it above every other overlay,
   including the launcher (ui/styles/launcher.css) and #app. */
#authGateWrap{position:fixed;inset:0;background:#000e;backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;z-index:200;}
#authGateWrap.show{display:flex;}
#authGateModal{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:36px;
  width:360px;text-align:center;box-shadow:0 30px 80px #000e;}
#authGateModal h2{margin:0 0 8px;font-size:20px;display:flex;align-items:center;justify-content:center;gap:9px;}
#authGateModal p{color:var(--dim);font-size:13px;line-height:1.7;margin:0 0 20px;}

.auth-google-btn{width:100%;justify-content:center;gap:10px;font-size:13.5px;padding:10px 14px;position:relative;}
.auth-google-btn .spinner{display:none;width:14px;height:14px;border-radius:50%;
  border:2px solid rgba(247,244,242,.35);border-top-color:var(--text);animation:auth-spin .7s linear infinite;}
.auth-google-btn.busy{pointer-events:none;opacity:.8;}
.auth-google-btn.busy .btn-label{visibility:hidden;}
.auth-google-btn.busy .spinner{display:inline-block;position:absolute;left:50%;top:50%;margin:-7px 0 0 -7px;}
@keyframes auth-spin{to{transform:rotate(360deg);}}

#authGateError{display:none;margin-top:14px;font-size:12px;color:#ff6b6b;background:#3a1414;
  border:1px solid #5a1e1e;border-radius:8px;padding:8px 10px;text-align:left;}
#authGateError.show{display:block;}

/* Shared by #authUserBadge (topbar, only visible while a vault is open) and #launcherUserBadge
   (the launcher's own header, ui/launcher.js) — see auth/gate.js's renderUserBadge(). */
.auth-user-badge{display:none;align-items:center;gap:7px;cursor:default;}
.auth-user-badge.show{display:flex;}
.auth-user-badge img{width:20px;height:20px;border-radius:50%;display:block;}
.auth-user-badge i{font-size:14px;color:var(--dim);}
.auth-user-badge span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
