.account-entry { width:100%; max-width:34rem; margin-inline:auto; color-scheme:dark; }
.account-entry-heading { margin-bottom:32px; }
.account-entry h1 { font-size:clamp(2.5rem,5vw,3.5rem); text-wrap:balance; }
.account-entry .form-label { margin-bottom:8px; }
.account-entry .form-text { color:var(--muted); margin-top:8px; }
.account-entry .field-validation-error { margin-top:8px; overflow-wrap:anywhere; }
.account-entry .validation-summary-valid { display:none; }
.account-entry .validation-summary-errors { margin-bottom:24px; }
.account-entry .validation-summary-errors ul { margin:0; padding-left:24px; }
.account-entry .input-validation-error { border-color:#ff9e90; }
.account-entry input { caret-color:var(--paper); }
.account-entry input:autofill { border-color:var(--control-border); }
.account-entry ::selection { background:var(--paper); color:var(--ink); }
.account-remember { display:inline-flex; align-items:center; gap:12px; min-height:44px; cursor:pointer; }
.account-remember .form-check-input { float:none; margin:0; width:20px; height:20px; border-radius:0; background-color:var(--panel); border-color:var(--control-border); }
.account-remember .form-check-input:checked { background-color:var(--red); border-color:var(--red); }
.account-switch { margin:24px 0 0; color:var(--muted); }
.account-switch .text-link { margin-left:8px; }
.account-recovery { display:flex; flex-wrap:wrap; gap:8px 24px; border-top:1px solid var(--line); margin-top:24px; padding-top:16px; }
.account-external { border-top:1px solid var(--line); margin-top:32px; padding-top:24px; }
.account-external h2 { font-size:1.55rem; margin-bottom:16px; }
.account-external form { display:flex; flex-wrap:wrap; gap:12px; }
@media(max-width:767px) { .account-entry-heading { margin-bottom:24px; } .account-recovery { flex-direction:column; align-items:flex-start; gap:8px; } }

/* Facelift (Nov 2): sign-in and sign-up in the site's neon look. */
body.brand-page .account-entry { max-width:36rem; }
body.brand-page .account-entry-heading { text-align:center; margin-bottom:16px; }
body.brand-page .account-entry h1 { font-family:Anton,Impact,"Arial Narrow",sans-serif; font-weight:400; text-transform:uppercase; color:#ff3b2b; text-shadow:0 0 6px rgba(255,42,31,.7),0 0 22px rgba(255,42,31,.4); line-height:1; margin:0; }
body.brand-page .account-entry > p { text-align:center; color:#e6e1d6; text-shadow:0 1px 6px #000; }
body.brand-page .account-entry-panel { background:rgba(8,8,8,.78); border:1px solid rgba(255,42,31,.35); border-radius:10px; padding:24px clamp(18px,4vw,28px); box-shadow:0 0 22px rgba(255,42,31,.12); backdrop-filter:blur(3px); }
body.brand-page .account-entry .form-label { color:#f2f2f2; }
body.brand-page .account-entry .form-text, body.brand-page .account-entry-panel > p, body.brand-page .account-entry-panel form > p { color:#b8b8b8; }
body.brand-page .account-entry .btn-primary { min-height:52px; font-size:1.05rem; letter-spacing:.02em; }
body.brand-page .account-entry .form-check-input, body.brand-page .account-remember .form-check-input { width:22px; height:22px; background-color:rgba(0,0,0,.65); border:2px solid #36c6d6; border-radius:4px; }
body.brand-page .account-entry .form-check-input:checked { background-color:#ff2a1f; border-color:#ff2a1f; }
body.brand-page .account-entry .form-check { display:flex; align-items:center; gap:12px; padding-left:0; }
body.brand-page .account-entry .form-check .form-check-input { float:none; margin:0; flex:none; }
body.brand-page .account-entry input[type=date] { color-scheme:dark; }
body.brand-page .account-switch, body.brand-page .account-recovery { justify-content:center; text-align:center; }
body.brand-page .account-recovery { border-top-color:rgba(255,255,255,.12); }
body.brand-page .account-entry .text-link { color:#ff6a5a; }
/* Membership steps: four neon chips, the current one lit. */
body.brand-page .account-entry .membership-steps { justify-content:center; gap:8px; padding:0; border:0; margin:0 0 18px; list-style:none; counter-reset:step; }
body.brand-page .account-entry .membership-steps li { counter-increment:step; padding:6px 12px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(0,0,0,.55); color:#9a9a9a; font-size:.8rem; }
body.brand-page .account-entry .membership-steps li::before { content:counter(step) " · "; color:#666; }
body.brand-page .account-entry .membership-steps [aria-current="step"] { border-color:#ff2a1f; color:#fff; box-shadow:0 0 8px rgba(255,42,31,.55); }
body.brand-page .account-entry .membership-steps [aria-current="step"]::before { color:#ff6a5a; }
/* Phones: the four joining steps sit in a tidy 2 × 2 grid instead of 3 + 1. */
@media (max-width:480px) {
  body.brand-page .account-entry .membership-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  body.brand-page .account-entry .membership-steps li { text-align:center; padding:6px 8px; }
}
