#authModal { z-index: 12000; }
.auth-card { width: min(420px, calc(100vw - 32px)); padding: 28px; display: grid; gap: 12px; background: #071321; color: #ecf7ff; border: 1px solid #42b7df; box-shadow: 0 0 40px #11a6d666; }
.auth-card h2 { margin: 0; font-size: 1.5rem; }
.auth-card p { margin: 0; line-height: 1.45; }
.auth-card label { font-size: .85rem; }
.auth-card input { width: 100%; box-sizing: border-box; font: inherit; padding: 10px; color: #fff; background: #10233a; border: 1px solid #598baa; }
.auth-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.auth-actions button { flex: 1 1 150px; }
#authError { min-height: 1.2em; color: #ff8794; }
.hero-choice.locked { opacity: .46; filter: grayscale(.65); cursor: not-allowed; }
