/* S1762: signed-in Home composition — two full cards, two half cards, full ranking grid. */
.home-shared-date-time-v1.shared-tehran-date-time {
  margin-top: -6px !important;
  margin-bottom: 2px !important;
}

.home-cardex-compact-stack {
  gap: clamp(9px, 1.6vw, 15px);
}

.home-cardex-dual-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(9px, 1.6vw, 15px);
  width: 100%;
  direction: ltr;
}

.home-cardex-dual-row .home-cardex-compact-panel {
  height: clamp(270px, 35vw, 370px);
}

.home-cardex-compact-panel.is-secondary-ranking {
  position: relative;
  overflow: hidden;
  border-color: rgba(255, 255, 255, .28);
  background: #0798c8;
  box-shadow: 0 9px 26px rgba(0, 105, 151, .13);
}

.home-secondary-ranking-slides,
.home-secondary-rank-slide { position: absolute; inset: 0; }
.home-secondary-rank-slide { opacity: 0; transform: translateX(-18px); pointer-events: none; transition: opacity .38s ease, transform .44s cubic-bezier(.22,.72,.22,1); }
.home-secondary-rank-slide.is-active { opacity: 1; transform: translateX(0); pointer-events: auto; }

.home-cardex-ranking-grid-panel {
  position: relative;
  width: 100%;
  height: clamp(650px, 86vw, 880px);
  overflow: hidden;
  border: 1px solid rgba(7, 143, 192, .2);
  border-radius: clamp(12px, 2vw, 18px);
  background: #f4fbfe;
  box-shadow: 0 8px 24px rgba(0, 61, 91, .08);
  isolation: isolate;
}

.home-cardex-ranking-grid-panel > .home-cardex-static-card {
  position: relative !important;
  inset: auto !important;
  display: block;
  width: 100%;
  height: 100%;
}

/* The greeting column and all of its supporting copy share one visual center. */
.is-home-compact-stack .home-cardex-personal-copy,
.is-home-compact-stack .home-cardex-personal-copy.is-admin {
  align-self: start !important;
  justify-items: center !important;
  width: 100%;
  margin-top: clamp(7px, 1.6vw, 16px) !important;
  text-align: center !important;
  transform: translateX(-10px);
}

.is-home-compact-stack .home-cardex-personal-copy h2,
.is-home-compact-stack .home-cardex-rank-copy,
.is-home-compact-stack .home-cardex-rank-population {
  width: 100%;
  text-align: center !important;
}

.is-home-compact-stack .home-cardex-personal-copy button {
  justify-self: center;
  width: clamp(168px, 72%, 248px) !important;
  min-height: 44px !important;
  margin: 7px auto 0 !important;
  font-size: clamp(.7rem, 1.4vw, .94rem) !important;
}

.is-home-compact-stack .home-cardex-rank-copy {
  margin-top: 6px;
  color: #fff !important;
  font-size: clamp(1rem, 2.2vw, 1.48rem) !important;
  text-shadow: 0 4px 14px rgba(0, 67, 98, .24);
  transform-origin: 50% 60%;
}

/* Keep the population line readable on every role-coloured card. */
.is-home-compact-stack .home-cardex-rank-population {
  color: #fff !important;
  opacity: .98;
  font-size: clamp(.62rem, 1.2vw, .84rem);
  font-weight: 850;
  text-shadow: 0 3px 10px rgba(0, 67, 98, .25);
}

/* Replay whenever the donut slide becomes active again. */
.home-auction-top-donut.is-top-active .home-cardex-rank-copy {
  animation: home-cardex-rank-beautiful-reveal .72s .08s cubic-bezier(.16,.86,.24,1.12) both !important;
}

.is-home-compact-stack .home-cardex-personal-copy button[data-home-my-cardex] {
  border: 1px solid rgba(255, 255, 255, .72) !important;
  background: linear-gradient(135deg, rgba(255,255,255,.74), rgba(255,255,255,.38)) !important;
  color: #087fa9 !important;
  box-shadow: 0 12px 30px rgba(0, 79, 113, .17), inset 0 1px 0 rgba(255,255,255,.92) !important;
  -webkit-backdrop-filter: blur(13px) saturate(145%);
  backdrop-filter: blur(13px) saturate(145%);
}

.is-home-compact-stack .home-cardex-personal-copy button[data-home-my-cardex]:active {
  transform: translateY(1px) scale(.985);
}

@keyframes home-cardex-rank-beautiful-reveal {
  0% { opacity: 0; transform: translate3d(22px, 8px, 0) scale(.88); filter: blur(5px); }
  62% { opacity: 1; transform: translate3d(-2px, -1px, 0) scale(1.035); filter: blur(0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
}

.is-home-compact-stack .home-cardex-donut-title {
  justify-self: center;
  width: 100%;
  text-align: center !important;
}

/* Shadow wallet: stronger amount, centered copy, and a slightly livelier float. */
.is-home-compact-stack .home-shadow-wallet-copy,
.is-home-compact-stack .home-shadow-wallet-slide.is-active .home-shadow-wallet-copy {
  justify-items: center !important;
  text-align: center !important;
}

.is-home-compact-stack .home-shadow-wallet-copy strong {
  font-size: clamp(1.08rem, 2.65vw, 1.7rem) !important;
  line-height: 1.35;
  text-align: center;
}

.is-home-compact-stack .home-shadow-wallet-copy small {
  display: none !important;
}

.is-home-compact-stack .home-shadow-wallet-image,
.is-home-compact-stack .home-shadow-wallet-slide.is-active .home-shadow-wallet-image {
  animation: home-split-wallet-float 3.65s ease-in-out infinite !important;
}

@keyframes home-split-wallet-float {
  0%, 100% { transform: translate3d(-4px, 1px, 0) rotate(-.55deg); }
  50% { transform: translate3d(5px, -6px, 0) rotate(.55deg); }
}

/* The right half is still the canonical three-slide carousel. */
.home-cardex-dual-row .home-cardex-ranking-panel {
  direction: rtl;
}

.home-cardex-dual-row .is-secondary-ranking .signed-in-rank-stage {
  direction: rtl;
}

/* Remove the decorative inner ruling from both lower ranking cards. */
.home-cardex-dual-row .signed-in-rank-stage::before {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

/* The left podium follows the gender of the person currently displayed. */
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.gender-female .signed-in-rank-stage {
  background: linear-gradient(145deg, #f58ab1 0%, #ec6f9f 48%, #dc568b 100%) !important;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.gender-male .signed-in-rank-stage,
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.gender-unknown .signed-in-rank-stage {
  background: linear-gradient(145deg, #0798c8 0%, #078fbd 52%, #087fa9 100%) !important;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide .signed-in-rank-kicker,
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide .signed-in-rank-name,
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide .signed-in-rank-position,
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide .signed-in-rank-total {
  color: #fff !important;
  text-shadow: 0 3px 12px rgba(0, 51, 78, .22);
}

/* Circular white/pink or white/blue confetti, only on the left podium. */
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide .signed-in-rank-confetti i {
  width: clamp(7px, 1vw, 12px) !important;
  height: clamp(7px, 1vw, 12px) !important;
  border-radius: 999px !important;
  background: #fff !important;
  opacity: .9;
  animation: none !important;
  will-change: transform, opacity;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.is-active.is-confetti-running .signed-in-rank-confetti i {
  animation: home-secondary-circle-float-a var(--secondary-circle-duration, 3.4s) linear var(--confetti-delay, 0s) infinite !important;
  animation-play-state: running !important;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.gender-female .signed-in-rank-confetti i:nth-child(odd) {
  background: #ffb4cf !important;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.gender-male .signed-in-rank-confetti i:nth-child(odd),
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.gender-unknown .signed-in-rank-confetti i:nth-child(odd) {
  background: #72d4f4 !important;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.is-active.is-confetti-running .signed-in-rank-confetti i:nth-child(3n+1) {
  --secondary-circle-duration: 3.9s;
  animation-name: home-secondary-circle-float-b !important;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide.is-active.is-confetti-running .signed-in-rank-confetti i:nth-child(3n+2) {
  --secondary-circle-duration: 3s;
  animation-name: home-secondary-circle-float-c !important;
}

.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide .signed-in-rank-confetti i:nth-child(4n) { --confetti-delay: -1.7s; }
.home-cardex-dual-row .is-secondary-ranking .home-secondary-rank-slide .signed-in-rank-confetti i:nth-child(5n) { --confetti-delay: -2.6s; }

@keyframes home-secondary-circle-float-a {
  0% { opacity: .15; transform: translate3d(0, -18px, 0) scale(.82); }
  18%, 82% { opacity: .94; }
  100% { opacity: .18; transform: translate3d(15px, 112px, 0) scale(1.08); }
}
@keyframes home-secondary-circle-float-b {
  0% { opacity: .18; transform: translate3d(0, -14px, 0) scale(.88); }
  16%, 84% { opacity: .9; }
  100% { opacity: .12; transform: translate3d(-18px, 126px, 0) scale(1.04); }
}
@keyframes home-secondary-circle-float-c {
  0% { opacity: .12; transform: translate3d(0, -20px, 0) scale(.76); }
  14%, 80% { opacity: .96; }
  100% { opacity: .2; transform: translate3d(8px, 138px, 0) scale(1.12); }
}

.home-cardex-dual-row .signed-in-rank-stage {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: minmax(0, 58%) minmax(0, 42%) !important;
  gap: 1px !important;
  padding: clamp(10px, 1.8vw, 18px) clamp(8px, 1.6vw, 16px) 30px !important;
}

.home-cardex-dual-row .signed-in-rank-visual {
  align-self: center;
  justify-self: center;
  width: min(84%, 190px) !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: 1;
}

.home-cardex-dual-row .signed-in-rank-profile {
  top: 0 !important;
  left: 50% !important;
  width: 82% !important;
  transform: translateX(-50%);
}

.home-cardex-dual-row .signed-in-rank-trophy {
  right: -1% !important;
  left: auto !important;
  bottom: 7% !important;
  width: 39% !important;
  max-height: 43% !important;
}

.home-cardex-dual-row .signed-in-rank-copy {
  align-self: start !important;
  justify-items: center !important;
  gap: 1px !important;
  width: 100%;
  text-align: center !important;
}

.home-cardex-dual-row .signed-in-rank-kicker,
.home-cardex-dual-row .signed-in-rank-name,
.home-cardex-dual-row .signed-in-rank-position,
.home-cardex-dual-row .signed-in-rank-total {
  width: 100%;
  text-align: center !important;
}

.home-cardex-dual-row .signed-in-rank-name {
  font-size: clamp(.88rem, 2vw, 1.28rem) !important;
  line-height: 1.25 !important;
}

.home-cardex-dual-row .signed-in-rank-kicker { font-size: clamp(.43rem, .72vw, .58rem) !important; }
.home-cardex-dual-row .signed-in-rank-position { font-size: clamp(.48rem, .82vw, .64rem) !important; }
.home-cardex-dual-row .signed-in-rank-total {
  width: auto;
  border-right: 0 !important;
  border-bottom: 0 !important;
  font-size: clamp(.42rem, .7vw, .56rem) !important;
}

.home-cardex-dual-row .signed-in-rank-compare {
  justify-self: center;
  width: min(92%, 220px);
  min-height: 34px;
  padding: 5px 10px;
  font-size: clamp(.5rem, .82vw, .66rem);
}

.is-home-compact-stack .shadow-wallet-activate {
  width: clamp(168px, 72%, 248px) !important;
  min-height: 44px !important;
  margin-inline: auto !important;
}

/* The nine-person ranking is now a large, independent 3x3 section below the cards. */
.home-cardex-ranking-grid-panel .signed-in-top-ten-stage {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
  gap: clamp(7px, 1.4vw, 13px) !important;
  height: 100%;
  padding: clamp(18px, 3vw, 34px) clamp(22px, 4.5vw, 58px) clamp(20px, 3vw, 36px) !important;
  box-sizing: border-box;
}

.home-cardex-ranking-grid-panel .signed-in-top-ten-grid[data-top-nine-grid] {
  --top-nine-avatar-size: clamp(98px, 15vw, 142px);
  align-content: space-evenly;
  column-gap: clamp(16px, 4vw, 44px) !important;
  row-gap: clamp(15px, 2.8vw, 30px) !important;
}

.home-cardex-ranking-grid-panel .signed-in-top-ten-name {
  font-size: clamp(.62rem, 1.25vw, .82rem) !important;
}

.home-cardex-ranking-grid-panel .signed-in-top-ten-account,
.home-cardex-ranking-grid-panel .signed-in-top-ten-city,
.home-cardex-ranking-grid-panel .signed-in-top-ten-rank-text {
  font-size: clamp(.52rem, 1vw, .69rem) !important;
}

.home-cardex-ranking-grid-panel .signed-in-current-rank-card {
  min-height: 54px !important;
}

.home-cardex-ranking-grid-panel .signed-in-top-ten-actions a,
.home-cardex-ranking-grid-panel .signed-in-top-ten-actions button {
  min-height: 34px !important;
  font-size: clamp(.54rem, .9vw, .69rem) !important;
}

@media (max-width: 620px) {
  .home-shared-date-time-v1.shared-tehran-date-time {
    margin-top: -8px !important;
    margin-bottom: 0 !important;
  }

  .home-cardex-dual-row { gap: 8px; }

  .home-cardex-dual-row .home-cardex-compact-panel {
    height: clamp(226px, 62vw, 278px);
  }

  .home-cardex-ranking-grid-panel {
    height: clamp(690px, 178vw, 835px);
    border-radius: 11px;
  }

  .is-home-compact-stack .home-cardex-personal-copy,
  .is-home-compact-stack .home-cardex-personal-copy.is-admin {
    margin-top: 4px !important;
  }

  .is-home-compact-stack .home-shadow-wallet-copy strong {
    font-size: clamp(.96rem, 4.1vw, 1.22rem) !important;
  }

  .home-cardex-dual-row .signed-in-rank-stage {
    grid-template-rows: minmax(0, 56%) minmax(0, 44%) !important;
    padding: 8px 5px 28px !important;
  }

  .home-cardex-dual-row .signed-in-rank-visual {
    width: min(92%, 148px) !important;
  }

  .home-cardex-dual-row .signed-in-rank-profile { width: 84% !important; }
  .home-cardex-dual-row .signed-in-rank-trophy { right: -2% !important; bottom: 5% !important; width: 39% !important; }
  .home-cardex-dual-row .signed-in-rank-name { font-size: clamp(.7rem, 3.4vw, .96rem) !important; }
  .home-cardex-dual-row .signed-in-rank-kicker { font-size: .36rem !important; }
  .home-cardex-dual-row .signed-in-rank-position { font-size: .39rem !important; }
  .home-cardex-dual-row .signed-in-rank-total { font-size: .34rem !important; }
  .home-cardex-dual-row .signed-in-rank-compare { width: 94%; min-height: 30px; padding: 4px 5px; font-size: .42rem; }

  .home-cardex-ranking-grid-panel .signed-in-top-ten-stage {
    padding: 13px 13px 16px !important;
    gap: 8px !important;
  }

  .home-cardex-ranking-grid-panel .signed-in-top-ten-grid[data-top-nine-grid] {
    --top-nine-avatar-size: clamp(92px, 25vw, 116px);
    column-gap: 5px !important;
    row-gap: clamp(14px, 3.5vw, 22px) !important;
  }

  .home-cardex-ranking-grid-panel .signed-in-top-ten-name { font-size: .57rem !important; }
  .home-cardex-ranking-grid-panel .signed-in-top-ten-account,
  .home-cardex-ranking-grid-panel .signed-in-top-ten-city,
  .home-cardex-ranking-grid-panel .signed-in-top-ten-rank-text { font-size: .49rem !important; }
  .home-cardex-ranking-grid-panel .signed-in-current-rank-card { min-height: 48px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .is-home-compact-stack .home-shadow-wallet-image { animation: none !important; }
}
