/* NEXORIA 1.0.60: approved login art, independent from account/game logic. */
#authGate.auth-gate {
  isolation: isolate;
  place-items: center;
  background: #243e4a;
}
#authGate > .auth-glow { display: none; }
.nexoria-login-scene {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #243e4a;
}
.nexoria-login-canvas {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.nexoria-login-layer {
  position: absolute;
  display: block;
  max-width: none;
  pointer-events: none;
  -webkit-user-drag: none;
}
.nexoria-login-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nexoria-login-scene::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,16,29,.03), transparent 55%, rgba(5,13,20,.24));
}
#authGate .auth-shell {
  z-index: 1;
  width: min(342px, 94vw);
  min-height: 0;
  padding: 0;
  margin: auto;
  pointer-events: none;
}
#authGate .auth-card {
  width: 100%;
  margin: auto;
  padding: clamp(14px, 2.2vh, 22px);
  background: rgba(10,18,27,.36);
  border-color: rgba(243,223,187,.46);
  box-shadow: 0 12px 35px rgba(5,18,29,.15), inset 0 1px rgba(255,255,255,.07);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  text-shadow: 0 1px 4px rgba(0,0,0,.6);
  pointer-events: auto;
}
#authGate .auth-brand h1 { color: #ffecbe; }
#authGate .auth-brand span,
#authGate .auth-form label > span { color: #fff3db; }
#authGate .auth-form input {
  background: rgba(6,18,28,.42);
  border-color: rgba(232,220,186,.55);
  min-height: 44px;
  color: #fff;
  font-size: 16px;
}
#authGate .auth-form input::placeholder { color: rgba(245,237,219,.78); }
#authGate .auth-form input:focus { background: rgba(6,18,28,.6); }
#authGate .auth-tab, #authGate .auth-submit, #authGate .account-exit { min-height: 44px; }
#authGate .quick-note { color: #f4e9d5; }
.nexoria-login-tilt {
  position: fixed;
  z-index: 2;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(12px, env(safe-area-inset-bottom));
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid rgba(240,223,184,.42);
  border-radius: 10px;
  background: rgba(10,18,27,.48);
  color: #fff3db;
  font-size: 11px;
  cursor: pointer;
  touch-action: manipulation;
}
.nexoria-login-tilt[aria-pressed="true"] { border-color: #e9c784; }
#authGate .nexoria-login-tilt[hidden] { display: none !important; }
@media (max-height: 500px) and (orientation: landscape) {
  #authGate .auth-shell { width: min(310px, 84vw); }
  #authGate .auth-card { padding: 10px 14px; }
  #authGate .auth-brand { margin-bottom: 5px; }
  #authGate .auth-brand h1 { font-size: 26px; }
  #authGate .auth-brand p { font-size: 8px; }
  #authGate .auth-brand span { margin-top: 2px; font-size: 9px; }
  #authGate .auth-tabs { margin-bottom: 6px; padding: 2px; }
  #authGate .auth-form { gap: 5px; }
  #authGate .quick-note { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nexoria-login-layer { transform: none !important; }
}
