/* Skeleton loading follows TrixHub; no account data is rendered before authentication. */
#authGate{display:none}
html.auth-pending #app,html.auth-pending #dialogs{display:none}
html.auth-pending #authGate{display:block;min-height:100vh;min-height:100dvh;background:var(--bg-alt,var(--bg));color:var(--text)}
.auth-skeleton-bar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border)}
.auth-skeleton-brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600}.auth-skeleton-brand img{width:28px;height:28px}
.auth-placeholder{display:block;border-radius:8px;background:linear-gradient(100deg,var(--border) 20%,var(--surface-soft,var(--surface)) 40%,var(--border) 60%);background-size:240% 100%;animation:auth-shimmer 1.6s ease-in-out infinite}
.auth-skeleton-avatar{width:30px;height:30px;border-radius:50%}
.auth-skeleton-main{max-width:1120px;margin:auto;padding:clamp(32px,6vw,72px) 24px}
.auth-skeleton-heading{height:36px;width:min(360px,72%);margin-bottom:14px}.auth-skeleton-lead{height:18px;width:min(260px,55%)}
.auth-skeleton-sheet{margin-top:32px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden}
.auth-skeleton-tools{display:flex;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}.auth-skeleton-tools>span{height:36px;width:180px;max-width:45%}
.auth-skeleton-row{display:grid;grid-template-columns:minmax(100px,2fr) repeat(3,minmax(30px,1fr));gap:24px;padding:20px 0;border-bottom:1px solid var(--border)}.auth-skeleton-row:last-child{border:0}.auth-skeleton-row>span{height:20px}
#authGate>p[role=status],#authGate>.auth-gate-retry{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#authGate>.auth-gate-retry{display:none}
#authGate.has-issue>p[role=status],#authGate.is-login>p[role=status]{position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;margin:0 auto;padding:16px 24px;max-width:700px;text-align:center}
#authGate.has-issue>.auth-gate-retry{display:block;position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;margin:0 auto 24px;padding:10px 18px;border:0;border-radius:10px;background:var(--blue);color:var(--on-primary,#fff);cursor:pointer}
#authGate.is-login .auth-skeleton{display:none}#authGate.is-login{padding:48px 24px}#authGate.is-login #cloudLoginArea{margin:0 auto}
@keyframes auth-shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
@media(max-width:600px){.auth-skeleton-bar{padding:0 16px}.auth-skeleton-main{padding:32px 16px}.auth-skeleton-sheet{padding:16px}.auth-skeleton-row{gap:12px;padding:18px 0}}
@media(prefers-reduced-motion:reduce){.auth-placeholder{animation:none;background:var(--border)}}
