/* MemberAppearance.baseTheme inherits the audited component bridge.
   Member variants override semantic roles, not layout or per-page selectors. */
html[data-member-theme] {
  --th-bg: #101114; --th-bg-2: #18191d; --th-card: #18191d; --th-card-hover: #23252b;
  --th-text: #f5f5f7; --th-text-2: #c5c5d0; --th-text-secondary: #d3d3dc; --th-text-muted: #b0b0bd;
  --th-input-bg: #1e2026; --th-border: #3c3f49; --th-border-top: #555864;
  --th-success: #69dfb0; --th-warning: #f0c971; --th-danger: #ff9aae; --th-info: #80ceeb;
  --th-surface-subtle: #202228; --th-surface-muted: #2b2d35; --th-overlay: #08090bc9; --th-grid: #ffffff06;
  --th-button-text: #101114; --th-logo-grad: var(--th-accent);
}
html[data-member-theme="aurora-violet"] { --th-accent: #c4aff5; --th-accent-2: #8bcdd9; }
html[data-member-theme="solar-gold"] { --th-accent: #e7c670; --th-accent-2: #84c5af; }
html[data-member-theme$="-light"] {
  --th-bg: #f4f5f7; --th-bg-2: #ffffff; --th-card: #ffffff; --th-card-hover: #edeef2;
  --th-text: #20212a; --th-text-2: #50525f; --th-text-secondary: #444650; --th-text-muted: #60626f;
  --th-input-bg: #fafafb; --th-border: #d0d2da; --th-border-top: #bec1cc;
  --th-success: #08754f; --th-warning: #855900; --th-danger: #b52b4b; --th-info: #17628b;
  --th-surface-subtle: #f0f1f4; --th-surface-muted: #e5e7ed; --th-overlay: #16192159; --th-grid: #20212a06;
  --th-button-text: #ffffff;
}
html[data-member-theme="aurora-violet-light"] { --th-accent: #7042b0; --th-accent-2: #266d85; }
html[data-member-theme="solar-gold-light"] { --th-accent: #856015; --th-accent-2: #236f59; }
html[data-member-theme] .btn-solid,
html[data-member-theme] .btn-connect { background: var(--th-accent) !important; color: var(--th-button-text) !important; box-shadow: none; }
html[data-member-theme] .btn-solid:hover,
html[data-member-theme] .btn-connect:hover { background: color-mix(in srgb, var(--th-accent) 88%, var(--th-text)) !important; }
html[data-member-theme] .nexus-prompt-card { --nexus-prompt-confirm-text: var(--th-button-text); }
html[data-member-theme] .brand-icon,
html[data-member-theme] .user-avatar-dot { box-shadow: none !important; }
html[data-member-theme] .usage-endpoint-line span { font-size: 12px; }

#theme-switcher-app .theme-menu {
  position: fixed; top: calc(var(--app-header-height, 56px) + 8px); right: 16px;
  width: min(312px, calc(100vw - 24px)); min-width: 0; max-height: calc(100dvh - 88px); overflow-y: auto;
  padding: 8px; border-radius: 8px; letter-spacing: 0;
}
#theme-switcher-app .theme-option { width: 100%; min-height: 42px; padding: 10px; font-size: 14px; gap: 10px; border-radius: 5px; text-align: left; }
#theme-switcher-app .theme-option .theme-swatch { width: 18px; height: 18px; flex: 0 0 18px; }
#theme-switcher-app .theme-option .check-icon { width: 16px; height: 16px; flex: 0 0 16px; }
html[data-member-theme] #theme-switcher-app .check-icon { color: var(--th-accent); }
#theme-switcher-app .theme-option[disabled] { cursor: not-allowed; opacity: 1; color: var(--th-text-muted) !important; }
#theme-switcher-app .member-lock-icon { margin-left: auto; flex: 0 0 14px; }
#theme-switcher-app .member-lock-icon[hidden] { display: none; }
#theme-switcher-app .member-theme-option[disabled] .check-icon { display: none; }
#theme-switcher-app [data-theme-value="aurora-violet"],
#theme-switcher-app [data-theme-value="solar-gold"] { border-top: 1px solid var(--th-border); margin-top: 6px; }
[data-theme-value="aurora-violet"] .theme-swatch { background: #18191d !important; border-color: #c4aff5 !important; }
[data-theme-value="solar-gold"] .theme-swatch { background: #18191d !important; border-color: #e7c670 !important; }
[data-theme-value="aurora-violet-light"] .theme-swatch { background: #fafafb !important; border-color: #7042b0 !important; }
[data-theme-value="solar-gold-light"] .theme-swatch { background: #fafafb !important; border-color: #856015 !important; }
.member-theme-tools { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 12px 8px 6px; margin-top: 6px; border-top: 1px solid var(--th-border); color: var(--th-text-secondary); font-size: 13px; }
.member-theme-tools label { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; }
.member-theme-tools input { accent-color: var(--th-accent); width: 16px; height: 16px; }
.member-theme-tools button { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 6px 10px; border: 1px solid var(--th-border); border-radius: 6px; background: var(--th-surface-subtle); color: var(--th-text); font-size: 13px; }
.member-theme-tools button:disabled { cursor: not-allowed; color: var(--th-text-muted); }
.member-theme-tools svg { width: 15px; height: 15px; }
.member-theme-tools :focus-visible, .theme-menu button:focus-visible { outline: 2px solid var(--th-accent); outline-offset: 2px; }

/* User-requested opening: full-bleed and time-bounded, never a loading gate. */
.member-splash {
  position: fixed; inset: 0; margin: 0; width: 100%; height: 100dvh; max-width: none; max-height: none;
  border: 0; border-radius: 0; padding: 24px; background: var(--th-bg); color: var(--th-text);
  overflow: auto; letter-spacing: 0;
}
.member-splash[open] { display: grid; grid-template-rows: 1fr auto; }
.member-splash::backdrop { background: var(--th-bg); }
.member-splash[data-member-tier="vip"] { --member-splash-accent: #7042b0; }
.member-splash[data-member-tier="svip"] { --member-splash-accent: #856015; }
html:not([data-theme="pine-green"]) .member-splash[data-member-tier="vip"] { --member-splash-accent: #c4aff5; }
html:not([data-theme="pine-green"]) .member-splash[data-member-tier="svip"] { --member-splash-accent: #e7c670; }
.member-splash-center { align-self: center; justify-self: center; width: min(520px, 100%); display: grid; justify-items: center; gap: 20px; text-align: center; }
.member-splash-emblem { position: relative; display: grid; place-items: center; width: 128px; height: 128px; }
.member-splash-emblem img { position: relative; width: 80px; height: 80px; object-fit: contain; border-radius: 8px; }
.member-splash-frame { position: absolute; inset: 0; border: 1px solid var(--member-splash-accent); border-radius: 8px; }
.member-splash[open] .member-splash-frame { animation: memberSplashFrame 1050ms cubic-bezier(.16,1,.3,1) both; }
.member-splash[data-member-tier="svip"] .member-splash-frame { outline: 1px solid color-mix(in srgb, var(--member-splash-accent) 35%, transparent); outline-offset: 10px; }
.member-splash-tier { color: var(--member-splash-accent); font: 600 15px 'DM Mono', monospace; letter-spacing: 0; }
.member-splash h2 { margin: 0; max-width: 100%; font: 600 28px 'Outfit', sans-serif; line-height: 1.4; overflow-wrap: anywhere; color: var(--th-text); }
.member-splash-rule { width: 128px; height: 2px; background: var(--member-splash-accent); }
.member-splash[open] .member-splash-rule { animation: memberSplashRule 1100ms cubic-bezier(.16,1,.3,1) both; }
.member-splash-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; width: 100%; }
.member-splash-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 14px; border: 1px solid var(--th-border); border-radius: 6px; background: var(--th-bg-2); color: var(--th-text-secondary); font-size: 14px; }
.member-splash-actions button:hover { background: var(--th-surface-muted); }
.member-splash-actions button:focus-visible { outline: 2px solid var(--member-splash-accent); outline-offset: 3px; }
.member-splash-actions svg { width: 16px; height: 16px; }
@keyframes memberSplashFrame { from { transform: scale(.86) rotate(-8deg); opacity: .35; } to { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes memberSplashRule { from { transform: scaleX(.12); opacity: .35; } to { transform: scaleX(1); opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .member-splash[open] .member-splash-frame, .member-splash[open] .member-splash-rule { animation: none; }
  #boot-splash * { animation: none !important; transition: none !important; }
}
