/*
  Pride Picks Homepage
  Owns the public locked homepage only. Keep new homepage edits here.
  Structure: tokens -> shared layout -> reusable components -> mobile -> tablet -> desktop.
*/

:root {
  --landing-bg: #030205;
  --landing-pink: #ff4fd8;
  --landing-purple: #8b5cff;
  --landing-cyan: #00d4ff;
  --landing-gold: #f6d77a;
  --landing-border-gold: rgba(216, 169, 65, 0.64);
  --landing-border-pink: rgba(255, 45, 170, 0.22);
  --landing-copy: rgba(255, 255, 255, 0.94);
  --landing-muted: rgba(207, 207, 207, 0.92);
  --landing-display-font: "Bodoni Moda", "Bodoni 72 Poster", Didot, "Playfair Display", Georgia, serif;
  --landing-label-font: "Cinzel", "Montserrat", "Inter", ui-sans-serif, system-ui, sans-serif;
  --landing-body-font: "Inter", "Montserrat", ui-sans-serif, system-ui, sans-serif;
}

/* Shared homepage state */
html:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)),
body:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)) {
  width: 100% !important;
  height: auto !important;
  min-height: 100% !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(255, 45, 170, 0.2), transparent 22rem),
    radial-gradient(circle at 92% 10%, rgba(122, 60, 255, 0.22), transparent 28rem),
    linear-gradient(135deg, #050006 0%, #11051e 52%, #020104 100%) !important;
}

.shell:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)) {
  width: 100% !important;
  min-height: 100dvh !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) {
  width: 100% !important;
  max-width: none !important;
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open)::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open)::after {
  content: none !important;
  display: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .topbar,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .wallet,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .tab-row,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .screen,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .site-footer {
  display: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) #authPanel {
  width: 100% !important;
  max-width: none !important;
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  display: grid !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash {
  position: relative !important;
  width: 100% !important;
  min-height: 100dvh !important;
  height: auto !important;
  max-height: none !important;
  display: grid !important;
  align-items: start !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.35) 45%, var(--landing-bg) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.74) 48%, rgba(0, 0, 0, 0.14) 100%),
    url("./assets/pride-hero-crowned.png") right top / auto 42rem no-repeat,
    var(--landing-bg) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 215, 93, 0.2) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash::before {
  content: "" !important;
  position: absolute !important;
  inset: 10px !important;
  z-index: 1 !important;
  pointer-events: none !important;
  border: 1px solid var(--landing-border-gold) !important;
  border-radius: 24px !important;
  box-shadow:
    inset 0 0 32px rgba(216, 169, 65, 0.12),
    0 0 34px rgba(255, 45, 170, 0.12) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 78% 18%, rgba(255, 208, 84, 0.24), transparent 10rem),
    radial-gradient(circle at 68% 24%, rgba(255, 45, 170, 0.28), transparent 13rem),
    linear-gradient(180deg, transparent 0%, rgba(6, 0, 10, 0.22) 45%, rgba(6, 0, 10, 0.82) 100%) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-art,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-kicker,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-bolt {
  display: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 430px) !important;
  max-width: 430px !important;
  min-height: auto !important;
  height: auto !important;
  max-height: none !important;
  display: grid !important;
  gap: 9px !important;
  justify-items: center !important;
  align-content: start !important;
  margin: 0 auto !important;
  overflow: visible !important;
  text-align: center !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo {
  display: block !important;
  z-index: 5 !important;
  width: min(34vw, 140px) !important;
  height: auto !important;
  margin: 0 !important;
  opacity: 0.96 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter:
    drop-shadow(0 5px 16px rgba(0, 0, 0, 0.72))
    drop-shadow(0 0 10px rgba(246, 215, 122, 0.12)) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo img {
  display: block !important;
  width: min(34vw, 140px) !important;
  height: auto !important;
  max-height: 56px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title {
  display: grid !important;
  justify-items: center !important;
  width: min(100%, 560px) !important;
  max-width: 100% !important;
  gap: clamp(5px, 1.2vw, 10px) !important;
  margin: 10px auto 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  isolation: isolate !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .category-title-line {
  display: block !important;
  color: rgba(255, 244, 210, 0.86) !important;
  font-family: var(--landing-label-font) !important;
  font-size: clamp(0.82rem, 3.15vw, 1.08rem) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: clamp(0.28em, 1.28vw, 0.46em) !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  text-shadow:
    0 2px 14px rgba(0, 0, 0, 0.92),
    0 0 14px rgba(212, 175, 55, 0.18) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-word {
  position: relative !important;
  display: inline-grid !important;
  width: min(100%, 560px) !important;
  max-width: 100% !important;
  justify-items: center !important;
  padding: 0 0.03em 0.09em !important;
  overflow: visible !important;
  isolation: isolate !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .category-title-line::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .category-title-line::after,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-text::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-text::after {
  content: none !important;
  display: none !important;
}

/* Reusable slot word component */
.slot-word,
.phone .login-splash h1 .legacy-text,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-text {
  position: relative !important;
  z-index: 3 !important;
  display: inline-block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 1em !important;
  padding: 0.04em 0 0.1em !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  color: #f7f3ff !important;
  -webkit-text-fill-color: #f7f3ff !important;
  background: transparent !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-mask: none !important;
  mask: none !important;
  font-family: var(--landing-display-font) !important;
  font-size: clamp(2.55rem, 11.5vw, 5.4rem) !important;
  font-weight: 800 !important;
  line-height: 0.86 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

.slot-word::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-word::before {
  content: "" !important;
  position: absolute !important;
  inset: -18% -10% -8% -12% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  display: block !important;
  background:
    radial-gradient(ellipse at 48% 50%, rgba(246, 215, 122, 0.18), transparent 35%),
    radial-gradient(ellipse at 60% 50%, rgba(255, 79, 216, 0.28), transparent 43%),
    radial-gradient(ellipse at 42% 60%, rgba(122, 60, 255, 0.28), transparent 54%),
    radial-gradient(ellipse at 66% 62%, rgba(0, 212, 255, 0.16), transparent 48%) !important;
  filter: blur(12px) saturate(1.12) !important;
  opacity: 0.7 !important;
}

.slot-word__track,
.phone .login-splash h1 .legacy-slot-track,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-slot-track {
  display: grid !important;
  grid-auto-rows: 0.86em !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  justify-items: center !important;
  text-align: center !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: transparent !important;
  filter: none !important;
  transform: translate3d(0, var(--legacy-slot-shift, 0px), 0) !important;
  transition: none !important;
  animation: none !important;
  will-change: transform !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
}

.slot-word__item,
.phone .login-splash h1 .legacy-slot-track span,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-slot-track span {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  padding: 0 !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-family: var(--landing-display-font) !important;
  font-size: inherit !important;
  font-weight: 800 !important;
  line-height: 0.86 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  background: linear-gradient(180deg, #ffffff 0%, #dfe5f2 22%, #ff4fd8 44%, #8b5cff 56%, #f7f3ff 74%, #9aa4ba 88%, #ffffff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-stroke: 0.35px rgba(255, 244, 255, 0.34) !important;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.42),
    0 -1px 0 rgba(0, 0, 0, 0.74),
    0 0 12px rgba(255, 79, 216, 0.26) !important;
  filter:
    drop-shadow(0 3px 10px rgba(0, 0, 0, 0.82))
    drop-shadow(0 0 12px rgba(255, 79, 216, 0.24)) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2 {
  position: relative !important;
  width: fit-content !important;
  margin: 7px auto 2px !important;
  padding: 0 14px !important;
  color: transparent !important;
  background: linear-gradient(90deg, var(--landing-gold) 0%, var(--landing-pink) 46%, var(--landing-cyan) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-family: var(--landing-label-font) !important;
  font-size: clamp(0.84rem, 3.35vw, 1.02rem) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-shadow:
    0 2px 16px rgba(0, 0, 0, 0.92),
    0 0 12px rgba(212, 175, 55, 0.2) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  width: min(18vw, 88px) !important;
  height: 1px !important;
  transform: translateY(-50%) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2::before {
  right: calc(100% + 2px) !important;
  background: linear-gradient(270deg, rgba(246, 215, 122, 0.72), rgba(255, 79, 216, 0.54), rgba(0, 212, 255, 0.34), transparent) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2::after {
  left: calc(100% + 2px) !important;
  background: linear-gradient(90deg, rgba(246, 215, 122, 0.72), rgba(255, 79, 216, 0.54), rgba(0, 212, 255, 0.34), transparent) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-body {
  max-width: 318px !important;
  margin: 0 auto !important;
  color: var(--landing-copy) !important;
  font-family: var(--landing-body-font) !important;
  font-size: clamp(0.95rem, 3.35vw, 1.04rem) !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.94) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy span {
  color: var(--landing-pink) !important;
  font-weight: 700 !important;
  text-shadow:
    0 0 12px rgba(255, 79, 216, 0.34),
    0 0 22px rgba(168, 85, 247, 0.2) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-body {
  max-width: 340px !important;
  margin-top: 13px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(255, 79, 216, 0.22) !important;
  color: var(--landing-muted) !important;
  font-size: clamp(0.78rem, 2.78vw, 0.9rem) !important;
  line-height: 1.46 !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-body span {
  color: var(--landing-gold) !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
  text-shadow: 0 0 14px rgba(246, 215, 122, 0.24) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  width: min(100%, 286px) !important;
  max-width: 286px !important;
  margin: 12px auto 0 !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row button {
  width: 100% !important;
  min-height: 50px !important;
  border-radius: 12px !important;
  font-family: var(--landing-label-font) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row .join-gradient {
  color: #090309 !important;
  border: 1px solid rgba(255, 246, 198, 0.76) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.16) 33%, rgba(0, 0, 0, 0.18) 100%),
    linear-gradient(105deg, #f6d77a 0%, #fff0a8 28%, #ff4fd8 70%, #8b5cff 100%) !important;
  box-shadow:
    0 8px 24px rgba(255, 79, 216, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.72) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row .login-outline {
  color: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(246, 215, 122, 0.4) !important;
  background: linear-gradient(135deg, rgba(255, 79, 216, 0.14), rgba(0, 212, 255, 0.08)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05) !important;
}

/* Reusable landing card components */
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-final-cta {
  width: 100% !important;
  max-width: 430px !important;
  margin-inline: auto !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside {
  margin-top: 14px !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside h3,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line h3,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-final-cta h3 {
  position: relative !important;
  width: fit-content !important;
  margin: 0 auto 10px !important;
  padding: 0 14px !important;
  color: var(--landing-pink) !important;
  font-family: var(--landing-label-font) !important;
  font-size: clamp(0.66rem, 2.6vw, 0.8rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-shadow: 0 0 12px rgba(255, 79, 216, 0.42) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside h3::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside h3::after,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-final-cta::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  width: min(18vw, 82px) !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255, 79, 216, 0.6), rgba(0, 212, 255, 0.34), transparent) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside h3::before {
  right: calc(100% + 2px) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside h3::after {
  left: calc(100% + 2px) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside-grid,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live-grid {
  display: grid !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 1px solid rgba(216, 169, 65, 0.28) !important;
  border-radius: 8px !important;
  background: rgba(0, 0, 0, 0.72) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 10px 28px rgba(0, 0, 0, 0.34) !important;
  transform: translate3d(var(--landing-parallax-x, 0), var(--landing-parallax-y, 0), 0) !important;
  transition:
    transform 260ms ease,
    border-color 260ms ease,
    box-shadow 260ms ease,
    filter 260ms ease !important;
  will-change: transform !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(112deg, transparent 0%, rgba(255, 255, 255, 0.08) 38%, rgba(246, 215, 122, 0.22) 49%, rgba(255, 79, 216, 0.12) 58%, transparent 72%),
    radial-gradient(circle at 72% 18%, var(--card-glow, var(--live-glow, rgba(255, 45, 170, 0.24))), transparent 5.6rem),
    linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.82)) !important;
  background-size: 240% 100%, 100% 100%, 100% 100% !important;
  background-position: var(--landing-sweep-x, 130%) 0, center, center !important;
  opacity: 0.98 !important;
  transition: opacity 260ms ease, background-position 760ms ease !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card::after,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card::after,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: var(--card-image, var(--inside-image, var(--live-image))) var(--card-position, center) / cover no-repeat !important;
  transform: scale(var(--landing-image-scale, 1.01)) translate3d(var(--landing-image-x, 0), var(--landing-image-y, 0), 0) !important;
  transition: transform 900ms cubic-bezier(0.2, 0.72, 0.18, 1), filter 420ms ease !important;
  filter: saturate(1.03) contrast(1.03) brightness(0.96) !important;
  will-change: transform !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card {
  min-height: 152px !important;
  display: grid !important;
  align-content: end !important;
  justify-items: center !important;
  gap: 6px !important;
  padding: 14px 10px 12px !important;
  scroll-snap-align: center !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: grid !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  height: 100% !important;
  padding: 14px 10px 12px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  text-align: center !important;
}

@media (hover: hover) and (pointer: fine) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card:hover,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card:hover,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card:hover,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card:focus-within,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card:focus-within,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card:focus-within {
    --landing-image-scale: 1.075;
    --landing-sweep-x: -80%;
    border-color: rgba(246, 215, 122, 0.58) !important;
    box-shadow:
      inset 0 0 0 1px rgba(255, 255, 255, 0.06),
      0 12px 34px rgba(0, 0, 0, 0.42),
      0 0 22px rgba(255, 79, 216, 0.18) !important;
  }
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card:active,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card:active,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card:active {
  transform: translate3d(0, 1px, 0) scale(0.985) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card strong,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card span,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card strong,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card span,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card small {
  position: relative !important;
  z-index: 2 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.92) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card strong,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card strong {
  max-width: 100% !important;
  color: #fff !important;
  font-family: var(--landing-display-font) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: 0.006em !important;
  background: none !important;
  -webkit-text-fill-color: #fff !important;
  -webkit-text-stroke: 0.16px rgba(255, 244, 206, 0.38) !important;
  text-transform: uppercase !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card strong {
  width: 100% !important;
  font-size: clamp(0.66rem, 1.58vw, 0.78rem) !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card span {
  width: 100% !important;
  max-width: 13.5em !important;
  color: rgba(255, 255, 255, 0.94) !important;
  font-family: var(--landing-body-font) !important;
  font-size: clamp(0.58rem, 1.82vw, 0.72rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: break-word !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card-overlay strong {
  color: #fff !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.94), 0 0 18px rgba(246, 215, 122, 0.22) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-ballroom { --inside-image: url("./assets/landing-ballroom-lgbtq.png"); }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-drag { --inside-image: url("./assets/landing-drag-race-queen.png"); --card-position: 50% 18%; }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-pageantry { --inside-image: url("./assets/featured-pageant.png"); --card-position: right 42%; }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-events { --inside-image: url("./assets/landing-events-culture.png"); }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-community { --inside-image: url("./assets/landing-community-rainbow.png"); --card-position: 50% 22%; }

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live {
  margin-top: 16px !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line {
  position: relative !important;
  display: grid !important;
  justify-items: center !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line::before,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-final-cta::before {
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(74vw, 360px) !important;
  opacity: 0.5 !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line .text-button {
  min-height: 0 !important;
  padding: 0 !important;
  color: var(--landing-pink) !important;
  border: 0 !important;
  background: transparent !important;
  font-family: var(--landing-label-font) !important;
  font-size: clamp(0.62rem, 2.3vw, 0.74rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card {
  min-height: 128px !important;
  display: grid !important;
  align-content: end !important;
  justify-items: center !important;
  gap: 5px !important;
  padding: 14px 8px 12px !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card strong {
  font-size: clamp(0.58rem, 1.75vw, 0.78rem) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card span {
  width: fit-content !important;
  justify-self: center !important;
  padding: 4px 6px !important;
  border-radius: 999px !important;
  color: #120507 !important;
  background: linear-gradient(180deg, #ff4bc1, #bc167b) !important;
  font-size: clamp(0.48rem, 2.1vw, 0.58rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card small {
  color: rgba(255, 214, 110, 0.88) !important;
  font-size: clamp(0.46rem, 2vw, 0.58rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-atl { --live-image: url("./assets/live-atl-summer-ball.png"); --card-position: 50% 18%; --live-glow: rgba(255, 45, 170, 0.22); }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-drag { --live-image: url("./assets/live-drag-race-finale.png"); --card-position: 50% 18%; --live-glow: rgba(216, 169, 65, 0.22); }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-realness { --live-image: url("./assets/live-realness-battle.png"); --card-position: 50% 18%; --live-glow: rgba(255, 45, 170, 0.2); }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-iconic { --live-image: url("./assets/live-iconic-ball.png"); --card-position: 50% 18%; --live-glow: rgba(138, 43, 226, 0.24); }

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row {
  animation: landingHeroIn 700ms cubic-bezier(0.2, 0.72, 0.18, 1) both !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo { animation-delay: 80ms !important; }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title { animation-delay: 160ms !important; }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2 { animation-delay: 240ms !important; }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy { animation-delay: 320ms !important; }
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row { animation-delay: 420ms !important; }

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash::after {
  animation: landingLightDrift 14s ease-in-out infinite alternate !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card {
  opacity: 0 !important;
  transform:
    translate3d(var(--landing-parallax-x, 0), calc(var(--landing-parallax-y, 0) + 12px), 0)
    scale(0.985) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card.is-visible {
  opacity: 1 !important;
  transform: translate3d(var(--landing-parallax-x, 0), var(--landing-parallax-y, 0), 0) scale(1) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside > h3,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-body {
  opacity: 0 !important;
  transform: translateY(10px) !important;
  transition: opacity 520ms ease, transform 520ms ease !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .is-visible .landing-section-line,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .is-visible > h3,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .is-visible .landing-body {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row button,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line .text-button {
  transition: transform 220ms ease, filter 220ms ease, border-color 220ms ease, box-shadow 220ms ease !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row button:hover,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line .text-button:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08) saturate(1.04) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row button:active,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line .text-button:active {
  transform: translateY(1px) scale(0.985) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-category-ticker {
  grid-column: 1 / -1 !important;
  width: min(100%, 760px) !important;
  max-width: 100% !important;
  overflow: hidden !important;
  margin: 4px auto 0 !important;
  color: rgba(255, 244, 210, 0.72) !important;
  font-family: var(--landing-label-font) !important;
  font-size: clamp(0.58rem, 1.8vw, 0.7rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-category-ticker-track {
  display: inline-flex !important;
  min-width: max-content !important;
  gap: 28px !important;
  animation: landingTicker 22s linear infinite !important;
  will-change: transform !important;
}

@keyframes landingHeroIn {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes landingLightDrift {
  from {
    transform: scale(1);
    opacity: 0.86;
  }
  to {
    transform: scale(1.025) translate3d(-1.2%, 0.8%, 0);
    opacity: 1;
  }
}

@keyframes landingTicker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-final-cta {
  display: grid !important;
  gap: 12px !important;
  padding: 18px 0 6px !important;
  text-align: center !important;
}

/* Mobile */
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash {
  padding: max(14px, env(safe-area-inset-top)) 14px 24px !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
  padding: 72px 10px 26px !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo {
  position: absolute !important;
  top: 14px !important;
  left: clamp(12px, 3vw, 22px) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title {
  max-width: min(100%, 380px) !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

@media (max-width: 600px) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-community {
    grid-column: 1 / -1 !important;
    width: calc((100% - 10px) / 2) !important;
    justify-self: center !important;
  }
}

@media (max-width: 430px) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash {
    padding-left: 10px !important;
    padding-right: 10px !important;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.48) 42%, var(--landing-bg) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.75) 58%, rgba(0, 0, 0, 0.22) 100%),
      url("./assets/pride-hero-crowned.png") 74% top / auto 32rem no-repeat,
      var(--landing-bg) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
    width: min(100%, 360px) !important;
    padding: 70px 8px 26px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card {
    min-height: 158px !important;
    padding: 15px 12px 13px !important;
  }
}

/* Tablet */
@media (min-width: 740px) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash {
    min-height: calc(100dvh - 32px) !important;
    padding: 20px !important;
    border-radius: 26px 26px 0 0 !important;
    background:
      linear-gradient(90deg, rgba(0, 0, 0, 0.96) 0%, rgba(0, 0, 0, 0.62) 48%, rgba(0, 0, 0, 0.08) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.02) 0%, rgba(0, 0, 0, 0.76) 88%),
      url("./assets/pride-hero-crowned.png") right top / auto 100% no-repeat,
      var(--landing-bg) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    padding: 82px 24px 38px !important;
    align-self: start !important;
    justify-items: center !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title {
    width: min(100%, 540px) !important;
    max-width: 540px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-word {
    width: min(100%, 540px) !important;
    max-width: 100% !important;
  }

  .phone .login-splash h1 .legacy-text,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-text {
    width: 100% !important;
    font-size: clamp(3.35rem, 7.9vw, 4.55rem) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live {
    max-width: 620px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside-grid {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card {
    min-height: 166px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card {
    min-height: 142px !important;
  }
}

/* Desktop */
@media (min-width: 960px) {
  .shell:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)) {
    padding: 24px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) {
    width: min(calc(100vw - 48px), 1440px) !important;
    min-height: calc(100dvh - 48px) !important;
    border: 1px solid var(--landing-border-pink) !important;
    border-radius: 30px !important;
    background:
      radial-gradient(circle at 18% 12%, rgba(255, 45, 170, 0.12), transparent 18rem),
      radial-gradient(circle at 88% 18%, rgba(122, 60, 255, 0.14), transparent 24rem),
      var(--landing-bg) !important;
    box-shadow:
      0 24px 74px rgba(0, 0, 0, 0.48),
      inset 0 0 0 1px rgba(216, 169, 65, 0.12) !important;
    overflow: hidden !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash {
    min-height: calc(100dvh - 50px) !important;
    padding: 28px !important;
    border-radius: 30px !important;
    display: grid !important;
    align-items: stretch !important;
    background:
      linear-gradient(90deg, rgba(0, 0, 0, 0.98) 0%, rgba(0, 0, 0, 0.88) 32%, rgba(0, 0, 0, 0.34) 63%, rgba(0, 0, 0, 0.7) 100%),
      radial-gradient(circle at 78% 28%, rgba(255, 79, 216, 0.22), transparent 22rem),
      radial-gradient(circle at 88% 11%, rgba(246, 215, 122, 0.16), transparent 18rem),
      url("./assets/pride-hero-crowned.png") right center / auto 112% no-repeat,
      var(--landing-bg) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash::before {
    inset: 14px !important;
    border-radius: 24px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
    width: 100% !important;
    max-width: 1120px !important;
    min-height: calc(100dvh - 106px) !important;
    display: grid !important;
    grid-template-columns: minmax(390px, 520px) minmax(360px, 1fr) !important;
    grid-auto-rows: min-content !important;
    column-gap: clamp(40px, 6vw, 96px) !important;
    row-gap: 16px !important;
    align-content: start !important;
    justify-items: center !important;
    margin: 0 auto !important;
    padding: 42px 30px 44px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row {
    grid-column: 1 !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo {
    position: static !important;
    justify-self: start !important;
    width: 132px !important;
    margin: 0 0 14px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo img {
    width: 132px !important;
    max-height: 54px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title {
    width: 100% !important;
    max-width: 520px !important;
    margin-top: 8px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .category-title-line {
    font-size: clamp(0.96rem, 1.18vw, 1.28rem) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-word {
    width: min(100%, 520px) !important;
    max-width: 100% !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-text {
    width: 100% !important;
    font-size: clamp(3.55rem, 4.2vw, 4.8rem) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2 {
    font-size: clamp(1rem, 1.2vw, 1.24rem) !important;
    margin-top: 8px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy {
    max-width: 390px !important;
    font-size: 1.06rem !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row {
    width: min(100%, 324px) !important;
    max-width: 324px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live {
    grid-column: 1 / -1 !important;
    width: min(100%, 980px) !important;
    max-width: 980px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside {
    margin-top: 30px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card {
    min-height: 162px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live {
    margin-top: 24px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live-grid {
    gap: 10px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card {
    min-height: 132px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-body {
    max-width: 640px !important;
  }
}

@media (min-width: 1100px) {
  .shell:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)) {
    padding: clamp(22px, 2.2vw, 42px) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) {
    width: min(calc(100vw - 72px), 1540px) !important;
    min-height: min(920px, calc(100dvh - 56px)) !important;
    border-radius: 28px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash {
    min-height: min(920px, calc(100dvh - 56px)) !important;
    padding: clamp(26px, 2.1vw, 42px) !important;
    align-items: center !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
    max-width: 1320px !important;
    min-height: auto !important;
    grid-template-columns: minmax(360px, 470px) minmax(560px, 760px) !important;
    column-gap: clamp(92px, 7.4vw, 150px) !important;
    align-content: center !important;
    justify-content: center !important;
    padding: clamp(34px, 3vw, 58px) clamp(30px, 3vw, 56px) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash h2,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row {
    justify-self: center !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo {
    justify-self: start !important;
    width: 142px !important;
    margin: 0 0 18px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-logo img {
    width: 142px !important;
    max-height: 58px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-title {
    max-width: 470px !important;
    margin: 6px auto 0 !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .category-title-line {
    font-size: clamp(1rem, 0.92vw, 1.2rem) !important;
    letter-spacing: clamp(0.28em, 0.8vw, 0.44em) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-word {
    width: min(100%, 470px) !important;
    max-width: 100% !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-text {
    width: 100% !important;
    font-size: clamp(3.55rem, 3.75vw, 4.45rem) !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-subcopy {
    max-width: 360px !important;
    font-size: clamp(1.02rem, 0.95vw, 1.12rem) !important;
    line-height: 1.38 !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-action-row {
    width: min(100%, 330px) !important;
    max-width: 330px !important;
    margin-top: 14px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-final-cta {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 760px !important;
    justify-self: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside {
    margin-top: 0 !important;
    align-self: end !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .inside-card {
    min-height: 158px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live {
    margin-top: 18px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-live-grid {
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: 14px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .live-category-card {
    min-height: 128px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) *,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) *::before,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) *::after {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-section-line,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-inside > h3,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-body {
    opacity: 1 !important;
    transform: none !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-card::after {
    transform: none !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .landing-category-ticker-track {
    animation: none !important;
    transform: none !important;
  }
}

@media (min-width: 1500px) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
    max-width: 1400px !important;
    grid-template-columns: minmax(390px, 500px) minmax(640px, 820px) !important;
    column-gap: 150px !important;
  }

  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-text {
    font-size: 4.55rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-word::before,
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) .legacy-slot-track {
    animation: none !important;
    transition: none !important;
  }
}


/* Single scroll owner for the logged-out landing page — 2026-07-21 */
html:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)),
body:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)) {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  overflow: hidden !important;
}

.shell:has(.phone.locked:not(.auth-modal-open):not(.signup-success-open)) {
  width: 100% !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) {
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
}

.phone.locked:not(.auth-modal-open):not(.signup-success-open) #authPanel,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash,
.phone.locked:not(.auth-modal-open):not(.signup-success-open) .login-splash-content {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

@media (min-width: 960px) {
  .phone.locked:not(.auth-modal-open):not(.signup-success-open) {
    height: calc(100dvh - 48px) !important;
    min-height: calc(100dvh - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
  }
}
