/* Private beta entrance; all game controls stay inert until authorization. */
.access-gate { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: max(24px, env(safe-area-inset-top)) 22px; background: #17130f; color: #e9dcc4; }
.access-gate[hidden] { display: none; }
.access-card { width: min(100%, 360px); text-align: center; }
.access-card > img { display: block; margin: 0 auto 22px; }
.access-kicker { color: #bca17a; letter-spacing: .2em; font-size: 12px; }
.access-card h1 { margin: 14px 0; font-size: 30px; font-weight: 400; }
.access-card p { color: #bcb0a1; line-height: 1.6; font-size: 16px; }
.access-card button, .access-card a { display: block; width: 100%; padding: 14px; margin-top: 14px; border: 1px solid #79613e; border-radius: 12px; font: inherit; color: #eed7ad; background: #33291e; text-decoration: none; cursor: pointer; }
.access-card [hidden] { display: none; }
.access-loader { display: none; width: 24px; height: 24px; margin: 26px auto; border: 2px solid #493e2f; border-top-color: #d2b579; border-radius: 50%; animation: access-turn 1.2s linear infinite; }
.is-loading .access-loader { display: block; }
@keyframes access-turn { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .access-loader { animation: none; } }
