/* TatarWar v23.0 — Auth Mockup */
body.v23-auth{
  min-height:100vh;color:#eee5d2;
  background:
    linear-gradient(rgba(18,16,11,.48),rgba(18,16,11,.66)),
    url('../../img/branding/hero-v23.webp') center/cover fixed no-repeat
}
.v23-authbar{background:rgba(22,20,15,.94);border-bottom:1px solid #685a3e;box-shadow:0 5px 18px rgba(0,0,0,.35)}
.v23-authbar-inner{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:72px}
.v23-auth-logo img{display:block;width:205px}
.v23-auth-links{display:flex;gap:5px}.v23-auth-links a{padding:9px 11px;border-radius:7px;color:#e6dbc6;text-decoration:none;font-weight:800}
.v23-auth-links a:hover{background:rgba(255,255,255,.07);color:#ffd371}
.v23-auth-shell{display:grid;place-items:center;min-height:calc(100vh - 110px);padding:34px 0}
.v23-auth-card{
  width:min(470px,100%);overflow:hidden;border:1px solid #66583f;border-radius:14px;
  background:rgba(28,25,19,.94);box-shadow:0 20px 55px rgba(0,0,0,.48)
}
.v23-auth-head{text-align:center;padding:23px 24px 15px;border-bottom:1px solid #4c4331}
.v23-auth-head img{width:190px}
.v23-auth-head h1{margin:11px 0 0;color:#f5e7c7;font-size:25px}
.v23-auth-head p{margin:6px 0 0;color:#aa9d87;line-height:1.65;font-size:13px}
.v23-auth-content{padding:22px;min-height:250px;overflow:hidden}
.v23-auth-content h1,.v23-auth-content h5,.v23-auth-content center img[src*="login.gif"]{display:none!important}
.v23-auth-content table{width:100%!important;margin:0 auto!important;border-collapse:separate!important;border-spacing:0 9px!important}
.v23-auth-content td,.v23-auth-content th{color:#dbcfb9!important;padding:4px!important}
.v23-auth-content input[type=text],.v23-auth-content input[type=password],.v23-auth-content input[type=email],.v23-auth-content select,.v23-auth-content textarea{
  width:100%!important;max-width:none!important;padding:10px 11px!important;border:1px solid #5d523f!important;
  border-radius:7px!important;background:#201e19!important;color:#f3e7d0!important;outline:none!important
}
.v23-auth-content input:focus,.v23-auth-content select:focus,.v23-auth-content textarea:focus{border-color:#c18b31!important;box-shadow:0 0 0 2px rgba(193,139,49,.15)!important}
.v23-auth-content input[type=submit],.v23-auth-content button,.v23-auth-content input.login{
  width:100%!important;min-height:41px!important;padding:9px 16px!important;border:1px solid #416211!important;border-radius:7px!important;
  background:linear-gradient(#739631,#4a7017)!important;color:#fff!important;font-weight:900!important;box-shadow:0 3px 0 #30480e!important;cursor:pointer!important
}
.v23-auth-content .error{color:#ff9e87!important;font-weight:900!important}
.v23-auth-content img[src*="facebook"],.v23-auth-content img[src*="twitter"],.v23-auth-content img[src*="google"],.v23-auth-content img[src*="youtube"]{display:none!important}
.v23-auth-extra{padding:0 22px 21px;text-align:center;color:#a99d89;font-size:12px}
.v23-auth-extra a{color:#d9ad53;text-decoration:none;font-weight:800}
.v23-auth-footer{text-align:center;padding:14px;color:#c4b69d;font-size:12px}
@media(max-width:520px){
  .v23-authbar-inner{min-height:62px}.v23-auth-logo img{width:165px}
  .v23-auth-links a:nth-child(n+3){display:none}
  .v23-auth-shell{padding:18px 0}
  .v23-auth-card{border-radius:11px}
}


.v23-form-alert{margin:0 0 14px;padding:12px 14px;border-radius:9px;font-weight:800;line-height:1.8}
.v23-form-alert.is-success{background:#28391d;border:1px solid #55782b;color:#c6e6a0}
.v23-form-alert.is-error{background:#43231f;border:1px solid #7f4238;color:#f3b1a4}
.v23-form-stack{display:grid;gap:12px}
.v23-form-field span{display:block;margin-bottom:6px;color:#dfd1b6;font-weight:800}
.v23-support-intro{margin-bottom:14px;color:#d6cab6;line-height:1.9}
.v23-support-intro h2{margin:0 0 6px;color:#f2e5c8;font-size:22px}
.v23-support-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #4f4532;color:#b8ab93;font-size:12px}


/* v23.2 support and large auth cards */
.v23-auth-card-support{width:min(660px,100%)}
.v23-auth-card-signup{width:min(760px,100%)}
.v23-auth-content.support{padding:22px 26px}
.v23-auth-content.support .v23-form-stack{display:grid;gap:14px}
.v23-auth-content.support .v23-form-field{display:block;width:100%;margin:0}
.v23-auth-content.support .v23-form-field>span{display:block;margin:0 0 7px;color:#eadcc2;font-weight:900;text-align:right}
.v23-auth-content.support input[type=text],
.v23-auth-content.support input[type=email],
.v23-auth-content.support select,
.v23-auth-content.support textarea{display:block;width:100%!important;max-width:none!important;margin:0!important;padding:11px 12px!important;box-sizing:border-box!important}
.v23-auth-content.support textarea{min-height:150px!important;line-height:1.8}
.v23-auth-content.support button[type=submit]{margin-top:2px}
.v23-auth-content.support .v23-support-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:center}
.v23-auth-content.signup{overflow:visible}
.v23-auth-content.signup table{table-layout:auto!important}
@media(max-width:680px){
  .v23-auth-card-support,.v23-auth-card-signup{width:100%}
  .v23-auth-content.support{padding:18px}
  .v23-auth-content.support .v23-support-meta{grid-template-columns:1fr}
}

/* v23.3 — rebuilt login and registration */
body.v23-auth{
  background:
    linear-gradient(rgba(17,15,10,.45),rgba(17,15,10,.72)),
    url('../../img/branding/auth-bg-v233.webp') center/cover fixed no-repeat!important;
}
.v23-auth-card-login{width:min(500px,100%)}
.v23-auth-card-signup{width:min(900px,100%)}
.v23-auth-login .v23-auth-extra,.v23-auth-signup .v23-auth-extra{display:none}
.v23-auth-content.login,.v23-auth-content.signup{padding:24px!important;overflow:visible!important}
.v233-auth-form,.v233-register-form{display:grid;gap:15px}
.v233-auth-field{display:grid;gap:7px;margin:0!important;white-space:normal!important;color:#e9dcc5;font-weight:800}
.v233-auth-field>span{font-size:13px;color:#dcccad}
.v233-auth-control{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;border:1px solid #5b503c;border-radius:9px;background:#1d1b16;overflow:hidden}
.v233-auth-icon{display:grid;place-items:center;height:100%;border-left:1px solid #514632;color:#e1ad4b}
.v233-auth-control input{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.v233-auth-field>input,.v233-auth-field select,.v233-auth-field textarea{width:100%!important;margin:0!important;box-sizing:border-box!important}
.v233-auth-error{display:block;color:#ff9d87;font-size:12px;line-height:1.6}
.v233-auth-server-error{padding:11px 13px;border:1px solid #7b4037;border-radius:8px;background:#42241f;color:#f4b3a7;line-height:1.8;font-size:12px}
.v233-auth-server-error .error_box{margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important}
.v233-auth-server-error a{color:#ffd16f!important}
.v233-auth-submit{width:100%;min-height:46px;border:1px solid #416211;border-radius:8px;background:linear-gradient(#79a238,#4b7317);color:#fff;font-weight:900;box-shadow:0 3px 0 #2d470d;cursor:pointer}
.v233-auth-secondary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:4px}
.v233-auth-secondary a,.v233-register-note a{color:#e1ad4b;text-decoration:none;font-weight:800}
.v233-auth-notice{padding:11px 13px;margin-bottom:13px;border:1px solid #765d31;border-radius:8px;background:#30281b;color:#f1dfb8;text-align:center}
.v233-auth-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:8px 14px;border:1px solid #5f523e;border-radius:8px;background:#29251d;color:#eadcc2;text-decoration:none;font-weight:900}
.v233-auth-link-button.is-gold{background:linear-gradient(#e5b653,#bd7c18);border-color:#9e6b1d;color:#211406}
.v233-terms{color:#d9cdb7;line-height:1.95}
.v233-terms h2{margin:0 0 10px;color:#f2e5c8}
.v233-terms ul{margin:0;padding-right:20px}
.v233-terms-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}

.v233-register-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:8px;border:1px solid #4c4332;border-radius:9px;background:#201e18}
.v233-register-steps span{padding:9px;border-radius:7px;text-align:center;color:#9f927d;font-size:12px;font-weight:900}
.v233-register-steps span.is-active{background:#5a5b1e;color:#fff0c9}
.v233-register-section{padding:16px;border:1px solid #4d4331;border-radius:10px;background:linear-gradient(#29251c,#211e17)}
.v233-register-section h2{margin:0 0 13px;color:#e3b85c;font-size:17px}
.v233-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v233-captcha-control{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px;align-items:center}
.v233-captcha-control img{width:112px;height:42px;object-fit:cover;border:1px solid #5b503c;border-radius:7px;background:#fff}
.v233-tribe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.v233-choice-card,.v233-location-card{display:block;position:relative;margin:0!important;white-space:normal!important;cursor:pointer}
.v233-choice-card input,.v233-location-card input{position:absolute;opacity:0;pointer-events:none}
.v233-choice-body{display:grid;place-items:center;gap:5px;min-height:120px;padding:12px;border:1px solid #574c38;border-radius:9px;background:#1f1d17;color:#d9cdb8;transition:.15s ease}
.v233-choice-body img{width:45px;height:45px;object-fit:contain;border:1px solid #6a5d46;border-radius:6px;background:#eee}
.v233-choice-body strong{color:#f0e2c5}
.v233-choice-body small{color:#978a75}
.v233-choice-card input:checked + .v233-choice-body{border-color:#c18b31;background:#342b1c;box-shadow:0 0 0 2px rgba(193,139,49,.15)}
.v233-location-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.v233-location-card span{display:grid;place-items:center;min-height:48px;padding:8px;border:1px solid #574c38;border-radius:8px;background:#1f1d17;color:#d7cbb5;font-weight:800}
.v233-location-card input:checked + span{border-color:#7a9b37;background:#2d3b1f;color:#dff0bc;box-shadow:0 0 0 2px rgba(122,155,55,.14)}
.v233-register-note{margin:0!important;text-align:center;color:#9f927d;font-size:12px;line-height:1.8}
.v233-register-state{padding:18px;text-align:center;color:#d9cdb7;line-height:1.9}
.v233-register-state h2{margin:0 0 8px;color:#f2e5c8}
.v233-register-state.is-success{border:1px solid #4f6d2b;border-radius:9px;background:#26351d}

@media(max-width:760px){
  .v23-auth-card-signup{width:100%}
  .v233-register-grid{grid-template-columns:1fr}
  .v233-tribe-grid{grid-template-columns:repeat(2,1fr)}
  .v233-location-grid{grid-template-columns:repeat(2,1fr)}
  .v233-location-card:first-child{grid-column:1/-1}
}
@media(max-width:480px){
  .v23-auth-content.login,.v23-auth-content.signup{padding:16px!important}
  .v233-auth-secondary{display:grid;justify-content:stretch;text-align:center}
  .v233-register-steps{grid-template-columns:1fr}
  .v233-tribe-grid{grid-template-columns:1fr 1fr}
}

/* v23.7 — Mobile auth refinement and iOS input-zoom prevention */
@media (max-width: 760px) {
  html,
  body.v23-auth {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body.v23-auth {
    min-height: 100svh !important;
    background-attachment: scroll !important;
    background-position: center top !important;
  }

  .v23-authbar {
    width: 100% !important;
  }

  .v23-authbar-inner {
    width: 100% !important;
    min-height: 62px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
  }

  .v23-auth-logo img {
    width: 150px !important;
    max-width: 38vw !important;
  }

  .v23-auth-links {
    gap: 1px !important;
  }

  .v23-auth-links a {
    padding: 9px 8px !important;
    font-size: 14px !important;
  }

  .v23-auth-links a:nth-child(n+3) {
    display: none !important;
  }

  .v23-auth-shell {
    display: block !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 14px 10px 28px !important;
    box-sizing: border-box !important;
  }

  .v23-auth-card,
  .v23-auth-card-login,
  .v23-auth-card-signup,
  .v23-auth-card-support {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  .v23-auth-head {
    padding: 20px 16px 14px !important;
  }

  .v23-auth-head img {
    width: 165px !important;
    max-width: 62vw !important;
  }

  .v23-auth-head h1 {
    margin-top: 8px !important;
    font-size: 27px !important;
  }

  .v23-auth-head p {
    font-size: 14px !important;
  }

  .v23-auth-content,
  .v23-auth-content.login,
  .v23-auth-content.signup,
  .v23-auth-content.support {
    width: 100% !important;
    min-width: 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* iPhone Safari zooms when a focused field is below 16px. */
  .v23-auth-content input[type=text],
  .v23-auth-content input[type=password],
  .v23-auth-content input[type=email],
  .v23-auth-content input[type=number],
  .v23-auth-content input[type=tel],
  .v23-auth-content select,
  .v23-auth-content textarea,
  .v233-auth-control input,
  .v233-auth-field > input,
  .v233-captcha-control input {
    min-height: 48px !important;
    font-size: 16px !important;
    line-height: 1.35 !important;
    -webkit-appearance: none;
    appearance: none;
  }

  .v233-auth-field > span {
    font-size: 15px !important;
  }

  .v233-auth-control {
    grid-template-columns: 48px minmax(0,1fr) !important;
  }

  .v233-auth-submit {
    min-height: 52px !important;
    font-size: 18px !important;
  }

  .v233-auth-secondary {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    text-align: center !important;
  }

  .v233-register-form {
    gap: 12px !important;
  }

  .v233-register-steps {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 5px !important;
    padding: 6px !important;
  }

  .v233-register-steps span {
    min-width: 0 !important;
    padding: 9px 4px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .v233-register-section {
    padding: 14px 12px !important;
  }

  .v233-register-section h2 {
    font-size: 20px !important;
  }

  .v233-register-grid {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }

  .v233-captcha-control {
    grid-template-columns: minmax(0,1fr) 96px !important;
  }

  .v233-captcha-control img {
    width: 96px !important;
    height: 48px !important;
  }

  .v233-tribe-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 9px !important;
  }

  .v233-choice-body {
    min-height: 122px !important;
    padding: 10px 7px !important;
  }

  .v233-choice-body strong {
    font-size: 16px !important;
  }

  .v233-choice-body small {
    font-size: 13px !important;
  }

  .v233-location-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .v233-location-card:first-child {
    grid-column: 1 / -1 !important;
  }

  .v233-location-card span {
    min-height: 50px !important;
    font-size: 15px !important;
  }

  .v233-register-note {
    font-size: 13px !important;
  }

  .v23-auth-footer {
    position: static !important;
    width: 100% !important;
    padding: 14px 10px 22px !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 390px) {
  .v23-authbar-inner {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  .v23-auth-links a {
    padding-right: 6px !important;
    padding-left: 6px !important;
    font-size: 13px !important;
  }

  .v23-auth-shell {
    padding-right: 7px !important;
    padding-left: 7px !important;
  }

  .v23-auth-content,
  .v23-auth-content.login,
  .v23-auth-content.signup,
  .v23-auth-content.support {
    padding: 15px !important;
  }

  .v233-register-steps span {
    font-size: 11px !important;
  }
}

/* v24.3 — scheduled world launch and pre-registration */
.v243-auth-launch-notice,.v243-prereg-notice{display:grid;gap:5px;margin:0 0 16px;padding:13px 15px;border:1px solid rgba(220,169,62,.52);border-radius:12px;background:rgba(53,42,22,.72);color:#e7d8ba;text-align:center}
.v243-auth-launch-notice strong,.v243-prereg-notice strong{color:#f2bd4c;font-size:16px}.v243-auth-launch-notice span,.v243-prereg-notice span{font-size:13px}.v243-auth-launch-notice small,.v243-prereg-notice small{color:#ad9d80}
.v243-world-waiting{max-width:760px;margin:0 auto;padding:28px 24px;border:1px solid rgba(221,169,62,.48);border-radius:20px;background:linear-gradient(150deg,rgba(35,29,19,.97),rgba(13,12,9,.98));box-shadow:0 22px 55px rgba(0,0,0,.38);text-align:center;color:#e8dcc6}
.v243-world-kicker{display:inline-flex;padding:6px 11px;border:1px solid rgba(218,165,54,.45);border-radius:999px;background:rgba(171,113,22,.15);color:#e6b451;font-size:12px;font-weight:700}
.v243-world-waiting h1{margin:14px 0 8px;color:#f2bd4c;font-size:clamp(27px,5vw,42px)}.v243-world-waiting>p{max-width:620px;margin:0 auto 18px;color:#c2b497;line-height:1.85}
.v243-launch-date{display:grid;gap:4px;margin:16px auto;padding:13px;border:1px solid rgba(126,107,69,.52);border-radius:12px;background:rgba(21,18,13,.8)}.v243-launch-date span,.v243-launch-date small{color:#9e9076}.v243-launch-date strong{color:#efe1c4;font-size:18px;direction:ltr}
.v243-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.v243-countdown div{padding:15px 8px;border:1px solid rgba(124,103,62,.52);border-radius:12px;background:rgba(18,16,12,.82)}.v243-countdown strong{display:block;color:#f0bb4b;font-size:28px;line-height:1}.v243-countdown span{display:block;margin-top:7px;color:#a99a7f;font-size:12px}
.v243-wait-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:18px}.v243-wait-note{margin-top:16px!important;padding-top:14px;border-top:1px solid rgba(118,100,65,.35);font-size:12px!important;color:#9f927a!important}
@media(max-width:620px){.v243-world-waiting{padding:22px 14px;border-radius:15px}.v243-countdown{grid-template-columns:repeat(2,minmax(0,1fr))}.v243-wait-actions{display:grid}.v243-wait-actions a{width:100%;box-sizing:border-box}}

/* v24.5 — selected-world context and central gateway links */
.v245-auth-world{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;width:max-content;max-width:100%;margin:10px auto 0;padding:7px 10px;border:1px solid #65563c;border-radius:999px;background:#211e17;color:#bfb095;font-size:12px;box-sizing:border-box}
.v245-auth-world strong{color:#f1d99d}.v245-auth-world a{color:#e6ad42;text-decoration:none;font-weight:900}
@media(max-width:760px){
  .v23-auth-links{display:flex!important;overflow-x:auto!important;white-space:nowrap!important;max-width:58vw!important;padding-bottom:2px!important;scrollbar-width:none}
  .v23-auth-links::-webkit-scrollbar{display:none}
  .v23-auth-links a{display:inline-flex!important;flex:0 0 auto!important}
  .v23-auth-links a:nth-child(n+3){display:inline-flex!important}
  .v245-auth-world{width:100%;border-radius:10px;font-size:13px}
}
@media(max-width:480px){
  .v23-authbar-inner{gap:8px!important}
  .v23-auth-logo img{width:132px!important;max-width:34vw!important}
  .v23-auth-links{max-width:61vw!important}
  .v23-auth-links a{padding:8px 7px!important;font-size:12px!important}
}
