/* 登录引导页（第一次进入编辑器时全屏显示）。
   样式完全走编辑器皮肤系统：只使用 --rpen-* 设计变量和现有组件类（button / .primary / .hint / dialog 同一套 token），
   不另造配色、圆角、阴影；皮肤切换后这里的颜色/字体/按钮外观会跟着变。
   组件别名（login-gate、account-chip、account-settings 等）已登记在 edit/src/core/editor-skin.js。 */

body.rpen-auth-pending > :not(#login-gate):not(#asset-loading) { visibility: hidden !important; }

.login-gate {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 56px 24px 84px;
  overflow: auto;
  color: var(--rpen-text, #f0f0f0);
  background: var(--rpen-background, #303030);
  font-family: inherit;
}

.login-gate-panel {
  position: relative;
  width: min(560px, 100%);
  padding: 34px 36px 28px;
  background: var(--rpen-surface, #303030);
  border: 1px solid var(--rpen-border, #666);
  border-radius: var(--rpen-radius-panel, 4px);
  box-shadow: var(--rpen-panel-shadow, 0 4px 16px #0005);
}

.login-gate-panel::before {
  content: '';
  position: absolute;
  left: 36px;
  right: 36px;
  top: 0;
  height: 2px;
  background: var(--rpen-accent, #ffdc70);
  opacity: .55;
}

.login-gate-brand { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
.login-gate-brand img { width: 44px; height: 44px; object-fit: contain; }
.login-gate-brand-title { display: block; font-size: 20px; }
.login-gate-brand-sub { display: block; margin-top: 3px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--rpen-accent, #ffdc70); }

.login-gate-title { margin: 0 0 10px; font-size: 24px; font-weight: 400; }
.login-gate-intro { margin: 0 0 22px; font-size: 13px; line-height: 1.9; color: var(--rpen-muted, #aaa); }

.login-gate-account { margin: 0 0 18px; }
.login-gate-account-body { display: flex; align-items: center; gap: 14px; padding: 12px 14px; background: var(--rpen-surface-alt, #282828); border: 1px solid var(--rpen-border, #666); border-radius: var(--rpen-radius-panel, 4px); }
.login-gate-avatar { flex: none; width: 48px; height: 48px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--rpen-input, #383838); border: 1px solid var(--rpen-border, #666); font-size: 14px; }
.login-gate-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.login-gate-account-name { display: block; font-size: 15px; }
.login-gate-account-meta { display: block; margin-top: 4px; font-size: 12px; color: var(--rpen-muted, #aaa); }

.login-gate-status { display: flex; align-items: center; gap: 9px; min-height: 22px; margin: 4px 0 18px; font-size: 12.5px; line-height: 1.7; color: var(--rpen-muted, #aaa); }
.login-gate-status[data-tone="error"] .login-gate-status-text { color: var(--rpen-error, #e46e6e); }
.login-gate-spinner { flex: none; width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--rpen-border, #666); border-top-color: var(--rpen-accent, #ffdc70); animation: login-gate-spin .8s linear infinite; }

.login-gate-actions { display: flex; flex-direction: column; gap: 10px; }
.login-gate-actions .login-gate-button { width: 100%; min-height: 40px; font-size: 14px; }
.login-gate-button[hidden] { display: none !important; }

.login-gate-extra { margin-top: 18px; }
.login-gate-link { margin-top: 6px; }
.login-gate-link[hidden] { display: none !important; }
.login-gate-hint { margin: 12px 0 0; font-size: 11.5px; line-height: 1.8; color: var(--rpen-muted, #aaa); }

.login-gate-foot {
  position: fixed;
  left: 30px;
  bottom: 30px;
  font-size: 11px;
  letter-spacing: 1.4px;
  color: var(--rpen-muted, #aaa);
  text-transform: uppercase;
}

@keyframes login-gate-spin { to { transform: rotate(360deg); } }

@media (max-width: 640px) {
  .login-gate { padding: 28px 16px 100px; align-items: flex-start; }
  .login-gate-panel { padding: 24px 20px 20px; margin-top: 4vh; }
  .login-gate-panel::before { left: 20px; right: 20px; }
  .login-gate-title { font-size: 21px; }
  .login-gate-brand { margin-bottom: 20px; }
  .login-gate-foot { left: 16px; bottom: 20px; }
}
/* 多账号选择列表 */
.login-gate-accounts { margin: 0 0 18px; }
.login-gate-accounts-title { margin: 0 0 10px; font-size: 15px; font-weight: 400; }
.login-gate-accounts-list { display: flex; flex-direction: column; gap: 8px; }
.login-gate-account-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: var(--rpen-surface-alt, #282828);
  border: 1px solid var(--rpen-border, #666);
  border-radius: var(--rpen-radius-panel, 4px);
}
.login-gate-account-row-info { flex: 1 1 auto; min-width: 0; }
.login-gate-account-row-name { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.login-gate-account-row-name strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.login-gate-account-row-meta { display: block; margin-top: 3px; font-size: 11.5px; color: var(--rpen-muted, #aaa); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.login-gate-account-badge { flex: none; padding: 1px 7px; border: 1px solid var(--rpen-border, #666); border-radius: 999px; font-size: 10.5px; color: var(--rpen-muted, #aaa); }
.login-gate-account-enter { flex: none; min-height: 30px; padding: 4px 12px; }
html[data-editor-skin] .login-gate-account-enter.primary { color: var(--rpen-accent-text, #ffe49b); background: var(--rpen-selected, #4d4632); border-color: var(--rpen-selected-border, #aa9251); }
