/* The sign-in page: the stage art, the name and the language choice are fixed
   to the window; the form is the one thing that scrolls. */
.beta-access-body { display: block; min-height: 100svh; margin: 0; padding: 0; background: var(--theme-page-bg); color: var(--theme-text); }
.beta-gate-visual { position: fixed; inset: 0; z-index: 0; background: url("/_content/Beatori.Server.UI/images/cohesion/auth-arcade.webp") center / cover; }
.beta-gate-title { position: fixed; z-index: 1; left: 0; bottom: 72px; display: grid; justify-items: center; gap: 18px; width: 62vw; padding-inline: 24px; text-align: center; pointer-events: none; }
.beta-gate-title h1 { margin: 0; font: 700 clamp(56px, 6vw, 112px)/.95 var(--font-display); letter-spacing: -.035em; text-transform: uppercase; text-shadow: 0 3px 20px #060818, 0 0 32px #060818; }
.beta-gate-title .beta-badge { padding: 8px 22px; background: color-mix(in srgb, var(--theme-gold) 12%, var(--theme-page-bg)); font: 700 clamp(15px, 1.3vw, 20px)/1.2 var(--font-display); letter-spacing: .16em; }
.beta-gate-language { position: fixed; z-index: 3; left: 24px; bottom: 24px; }
.beta-gate-language .beatori-dropdown-panel { top: auto; bottom: calc(100% + 8px); left: 0; right: auto; }
.beta-gate-page { position: relative; z-index: 2; display: grid; align-items: center; justify-items: end; min-height: 100svh; padding: 40px 4vw; pointer-events: none; }
.beta-auth-card { display: grid; gap: 18px; width: min(100%, 520px); min-width: 0; padding: 28px 32px 32px; border: 1.5px solid var(--ag-edge); border-radius: 14px; background: rgb(7 6 26 / .94); pointer-events: auto; }
.beta-auth-validation.validation-summary { margin: 0; }
.beta-auth-form, .beta-reset-form { display: grid; gap: 14px; min-width: 0; margin: 0; }
.beta-auth-form[hidden] { display: none; }
.beta-auth-form .beta-auth-submit, .beta-reset-form .beta-auth-submit { width: 100%; }
.beta-auth-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.beta-auth-step { margin: 0; font: 700 22px/1.3 var(--font-display); }
.beta-auth-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin: 4px 0 0; }
.beta-access-body .text-link { font-size: 15px; }
/* The beta key is an invitation: a ticket stub with punched notches. */
.beta-ticket-input {
  font: 600 15px/1.2 var(--font-mono, ui-monospace, monospace) !important; letter-spacing: .06em; text-transform: uppercase;
  border: 1.5px dashed color-mix(in srgb, var(--theme-gold) 70%, transparent) !important;
  background: radial-gradient(circle at 0 50%, var(--theme-surface) 9px, transparent 10px),
    radial-gradient(circle at 100% 50%, var(--theme-surface) 9px, transparent 10px),
    color-mix(in srgb, var(--theme-gold) 8%, var(--theme-page-bg)) !important;
  padding-inline: 18px !important; color: var(--theme-gold) !important;
}
.beta-ticket-input::placeholder { color: color-mix(in srgb, var(--theme-gold) 45%, transparent); }
.beta-ticket-input:focus-visible { border-style: solid !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--theme-gold) 30%, transparent); }
.beta-auth-mode-copy p { margin: 0; color: var(--theme-text-muted); font-size: 16px; line-height: 1.5; }
.beta-terms { display: grid; gap: 4px; }
.beta-terms .beatori-checkbox { align-items: flex-start; font-size: 15px; line-height: 1.45; }
.beta-terms .beatori-checkbox > span:last-child { padding-top: 11px; }
.beta-terms .text-link { display: inline; font-size: inherit; }
/* reCAPTCHA v3 works unseen; the notice below the forms replaces its badge. */
.grecaptcha-badge { visibility: hidden; }
.beta-recaptcha-notice { margin: 0; color: var(--theme-text-dim); font-size: 12px; line-height: 1.5; text-align: center; }
.beta-recaptcha-notice a { color: inherit; }
.beatori-dialog.beta-legal-dialog { width: min(820px, calc(100% - 32px)); }
.beta-legal-content { display: grid; gap: 16px; }
.beta-legal-content :is(h2, h3) { margin: 8px 0 0; font: 600 20px/1.3 var(--font-display); color: var(--theme-text); }
.beta-legal-content p, .beta-legal-content li { margin: 0; color: var(--theme-text-muted); font-size: 16px; line-height: 1.6; }
.beta-auth-card :is(input:not([type=checkbox]), select) { min-height: 48px; font-size: 17px; }
.beta-auth-card .beatori-button.beta-auth-submit { min-height: 56px; font-size: 20px; }
.beta-auth-submit i { font-size: 22px; }
.beta-auth-card .beatori-tabs { justify-content: center; }
.beta-auth-card .beatori-tab { flex: 1 1 0; justify-content: center; }
@media (max-height: 820px) and (min-width: 960px) {
  .beta-gate-page { padding-block: 24px; }
  .beta-auth-card { gap: 14px; padding: 22px 28px 26px; }
  .beta-auth-form, .beta-reset-form { gap: 10px; }
}
@media (max-width: 959px) {
  .beta-gate-title { top: 56px; bottom: auto; width: 100%; gap: 12px; }
  .beta-gate-title h1 { font-size: clamp(44px, 12vw, 72px); }
  .beta-gate-page { align-items: start; justify-items: center; padding: 232px 16px 96px; }
  .beta-auth-card { padding: 20px; }
}
@media (max-width: 479px) {
  .beta-auth-pair { grid-template-columns: minmax(0, 1fr); }
  .beta-gate-language { left: 16px; bottom: 16px; }
}
