/* Presentation only. Auth forms, identifiers and session ownership stay intact. */
body:not([data-social-v2-authenticated="1"]):has(> #authGateV2:not(.hidden):not([hidden])) {
  padding-bottom: 0;
}
#authGateV2 {
  --auth-surface: #e5e9ed;
  --auth-ink: #263645;
  --auth-muted: #536576;
  --auth-blue: #0865bb;
  min-height: 100vh;
  min-height: 100dvh;
  padding: max(36px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(36px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
  background: var(--auth-surface);
  color: var(--auth-ink);
  isolation: isolate;
  overflow: clip;
}
#authGateV2[hidden] { display: none !important; }
#authGateV2::before, #authGateV2::after {
  z-index: -1;
  background: var(--auth-surface);
  box-shadow: 14px 14px 28px #c5cdd6, -14px -14px 28px #fff;
}
#authGateV2::before { width: 180px; height: 180px; left: calc(50% - 282px); top: calc(50% - 278px); }
#authGateV2::after { width: 144px; height: 144px; right: calc(50% - 264px); bottom: calc(50% - 260px); }
#authGateV2 .auth-card-v2 {
  width: min(416px, 100%);
  min-width: 0;
  padding: 34px 30px 28px;
  border: 1px solid #eef1f4;
  border-radius: 32px;
  background: var(--auth-surface);
  box-shadow: 20px 20px 44px #c4ccd6, -20px -20px 44px #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
#authGateV2 .auth-emblem-v2 {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  margin: 0 auto 22px;
  border-radius: 50%;
  color: #a88031;
  box-shadow: 6px 6px 12px #c3cbd5, -6px -6px 12px #fff;
}
#authGateV2 .auth-heading-v2 { text-align: center; }
#authGateV2 .eyebrow-v2 { margin: 0 0 9px; color: var(--auth-muted); font-size: 10px; letter-spacing: .15em; }
#authGateV2 h1 { margin: 0; font-size: 27px; line-height: 1.3; letter-spacing: -.04em; color: var(--auth-ink); }
#authGateV2 .muted-v2 { margin: 8px 0 0; color: var(--auth-muted); font-size: 12px; line-height: 1.65; }
#authGateV2 .auth-form-v2 { margin-top: 28px; gap: 19px; }
#authGateV2 .auth-form-v2[hidden] { display: none !important; }
#authGateV2 .auth-form-v2:not([hidden]) { animation: auth-panel-enter-v2 .28s ease-out both; }
#authGateV2 .auth-form-v2 label { color: var(--auth-muted); min-width: 0; font-size: 12px; }
#authGateV2 .auth-form-v2 input, #authGateV2 .auth-form-v2 select {
  width: 100%;
  min-width: 0;
  height: 54px;
  padding: 0 16px;
  border: 1px solid #cbd3db;
  border-radius: 13px;
  color: var(--auth-ink);
  background: var(--auth-surface);
  box-shadow: inset 5px 5px 10px #c4cdd7, inset -5px -5px 10px #fff;
  font-size: 16px;
  font-weight: 500;
  outline: none;
  transition: border-color .18s, box-shadow .18s;
}
#authGateV2 .auth-form-v2 input:focus, #authGateV2 .auth-form-v2 select:focus {
  border-color: #1285d8;
  box-shadow: inset 3px 3px 7px #c4cdd7, inset -3px -3px 7px #fff, 0 0 0 3px #1685d82b;
}
#authGateV2 .auth-field-v2 { position: relative; display: block; }
#authGateV2 .auth-field-v2 > span {
  position: absolute;
  top: 5px;
  left: 16px;
  right: 42px;
  z-index: 1;
  color: var(--auth-blue);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  pointer-events: none;
  transform-origin: left center;
  transition: transform .18s, color .18s;
}
#authGateV2 .auth-field-v2 input, #authGateV2 .auth-field-v2 select { padding-top: 16px; }
#authGateV2 .auth-field-v2:has(input:placeholder-shown):not(:focus-within) > span {
  transform: translateY(14px) scale(1.24);
  color: var(--auth-muted);
}
#authGateV2 .auth-field-v2:has(.auth-visibility-v2) input { padding-right: 52px; }
#authGateV2 .auth-visibility-v2 {
  position: absolute;
  top: 5px;
  right: 5px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #536576;
}
#authGateV2 .auth-visibility-v2:hover { color: var(--auth-blue); }
#authGateV2 .auth-visibility-v2 svg { width: 21px; height: 21px; }
#authGateV2 .auth-visibility-v2 .eye-slash { display: none; }
#authGateV2 .auth-visibility-v2[aria-pressed="true"] .eye-slash { display: block; }
#authGateV2 .auth-card-v2 .primary-btn-v2 {
  position: relative;
  min-height: 52px;
  margin-top: 3px;
  padding: 13px 18px;
  border-radius: 13px;
  border: 1px solid #edf2f6;
  color: var(--auth-blue);
  background: var(--auth-surface);
  box-shadow: 7px 7px 14px #c0cad5, -7px -7px 14px #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .035em;
  transition: color .2s, background .2s, box-shadow .2s, transform .2s;
}
#authGateV2 .auth-card-v2 .primary-btn-v2:not(:disabled):hover,
#authGateV2 .auth-card-v2 .primary-btn-v2:focus-visible {
  background: linear-gradient(110deg, #008dd2, #0964ed);
  color: #fff;
  box-shadow: 5px 7px 16px #8bbae0, -5px -5px 12px #fff;
  transform: translateY(-1px);
  filter: none;
}
#authGateV2 .auth-card-v2 .primary-btn-v2:active { transform: translateY(1px); box-shadow: inset 3px 3px 8px #1d62a1; }
#authGateV2 button:focus-visible { outline: 2px solid #0865bb; outline-offset: 4px; }
#authGateV2 .auth-links-v2 { gap: 7px; margin-top: 0; padding-top: 1px; flex-wrap: wrap; }
#authGateV2 .auth-links-v2 button { min-height: 44px; color: var(--auth-blue); font-size: 12px; line-height: 1.5; text-align: left; }
#authGateV2 .auth-links-v2 button:hover { color: #084e8b; }
#authGateV2 .auth-links-v2 button[data-auth-mode-v2="signup"] { display: flex; align-items: center; gap: 9px; }
#authGateV2 .auth-links-v2 button[data-auth-mode-v2="signup"]::after {
  content: "";
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(currentColor, currentColor) center / 12px 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 12px no-repeat;
  box-shadow: 4px 4px 8px #c3cbd5, -4px -4px 8px #fff;
  font-size: 18px;
}
#authGateV2 .auth-panel-head-v2 { padding: 0; background: none; }
#authGateV2[data-presentation-ready="1"] .auth-panel-head-v2 strong { display: none; }
#authGateV2 .auth-panel-head-v2 span { font-size: 12px; color: var(--auth-muted); line-height: 1.65; }
#authGateV2 .auth-status-v2 { padding: 13px; border-radius: 13px; font-size: 12px; }
@keyframes auth-panel-enter-v2 { from { opacity: .35; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@media (max-width: 520px) {
  #authGateV2 { padding: max(28px, env(safe-area-inset-top)) 22px max(28px, env(safe-area-inset-bottom)); }
  #authGateV2 .auth-card-v2 { padding: 28px 22px 22px; border-radius: 28px; }
  #authGateV2 h1 { font-size: 25px; }
  #authGateV2 .auth-form-v2 { gap: 17px; margin-top: 25px; }
  #authGateV2 .auth-links-v2 { flex-direction: row; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  #authGateV2 *, #authGateV2 *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
  #authGateV2 .auth-card-v2, #authGateV2 button, #authGateV2 input, #authGateV2 select { border: 1px solid CanvasText; }
}
