/* Leaderboard mobile consolidation - 2026-09-21
   Visual and touch layout only. Scores, reset rules and champion logic are unchanged. */

@media (max-width: 820px) {
  html, body { max-width:100%; overflow-x:hidden; }

  .leaderboard-site-header .site-header-inner {
    width:calc(100% - 16px)!important;
    max-width:none!important;
    align-items:stretch!important;
  }
  .leaderboard-site-header .brand {
    width:100%!important;
    justify-content:center!important;
  }
  .leaderboard-site-header .site-nav {
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .leaderboard-site-header .site-nav a {
    min-width:0!important;
    min-height:42px!important;
    padding:7px 4px!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal!important;
    font-size:.82rem!important;
    line-height:1.08!important;
  }

  .lbx-page {
    width:100%!important;
    max-width:none!important;
    padding:18px 10px 54px!important;
  }
  .lbx-hero {
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:18px 12px!important;
    border-radius:18px!important;
    text-align:center!important;
  }
  .lbx-page-header {
    grid-column:1!important;
    font-size:12px!important;
    letter-spacing:.07em!important;
  }
  .lbx-month-logo,
  .lbx-corner-badge {
    max-width:min(66vw,210px)!important;
    max-height:140px!important;
    margin:0 auto!important;
  }
  .lbx-hero-copy { min-width:0!important; }
  .lbx-hero-copy h1,
  #lbx-month-title {
    font-size:clamp(2rem,10vw,3.4rem)!important;
    line-height:.98!important;
    overflow-wrap:anywhere;
  }
  .lbx-hero-climb-card {
    width:100%!important;
    min-height:0!important;
    padding:14px!important;
  }
  .lbx-hero-climb-card a {
    width:100%!important;
    min-height:44px!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
  }
  .lbx-hero-chips {
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:6px!important;
  }
  .lbx-featured-wrap { min-width:0!important; }
  .lbx-featured-media,
  .lbx-featured-media img,
  .lbx-featured-media video,
  .lbx-featured-media iframe {
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }

  .lbx-podium-zone,
  .lbx-tier,
  .lbx-champions-year {
    width:100%!important;
    min-width:0!important;
    padding:16px 10px!important;
    border-radius:18px!important;
  }
  .lbx-section-title,
  .lbx-tier-heading,
  .lbx-champions-head {
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:5px!important;
    text-align:left!important;
  }

  .lbx-podium {
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .lbx-podium-card,
  .lbx-podium-card.rank-1 {
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:58px 12px 18px!important;
  }
  .lbx-podium-card.rank-1 { order:-1!important; }
  .podium-avatar,
  .rank-1 .podium-avatar {
    width:min(44vw,168px)!important;
    height:min(44vw,168px)!important;
  }

  .lbx-contenders {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .lbx-contender-card {
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:16px 12px!important;
  }
  .contender-avatar {
    width:110px!important;
    height:110px!important;
  }

  .lbx-challengers {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .lbx-challenger-card {
    min-width:0!important;
    min-height:160px!important;
    padding:28px 6px 12px!important;
  }
  .challenger-avatar {
    width:70px!important;
    height:70px!important;
  }
  .lbx-challenger-card>strong {
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .lbx-champions-strip {
    width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    gap:10px!important;
  }
  .lbx-champion-card {
    flex:0 0 min(74vw,230px)!important;
    min-height:250px!important;
    scroll-snap-align:start;
  }

  .lbx-bottom-row { grid-template-columns:1fr!important; gap:10px!important; }
  .lbx-trophy-case,
  .lbx-climb-card {
    width:100%!important;
    min-width:0!important;
    padding:16px!important;
  }

  .lbx-confetti,
  .lbx-sparkles,
  .lbx-spotlights {
    pointer-events:none!important;
  }
}

@media (max-width: 460px) {
  .leaderboard-site-header .site-nav {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .lbx-page { padding-left:8px!important; padding-right:8px!important; }
  .lbx-challengers { grid-template-columns:1fr!important; }
  .lbx-challenger-card {
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    text-align:left!important;
    align-items:center!important;
    gap:3px 10px!important;
    min-height:108px!important;
    padding:12px!important;
  }
  .lbx-challenger-rank {
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
  }
  .challenger-avatar {
    grid-column:1!important;
    grid-row:1/3!important;
    width:76px!important;
    height:76px!important;
  }
  .lbx-challenger-card>strong,
  .lbx-challenger-card>span {
    grid-column:2!important;
  }
  .lbx-champion-card { flex-basis:82vw!important; }
}

@media (hover:none) and (pointer:coarse) {
  .lbx-page a,
  .lbx-page button { touch-action:manipulation; }
  .lbx-podium-card:hover,
  .lbx-contender-card:hover,
  .lbx-challenger-card:hover,
  .lbx-champion-card:hover { transform:none!important; }
}


/* Preserve configured/runtime visibility on mobile. */
.is-hidden{display:none!important;}


/* Touch screens have no real hover: keep spotlight notes accessible instead of hiding them. */
@media (hover:none) and (pointer:coarse) and (max-width:820px){
  .lbx-podium-card.has-spotlight .lbx-podium-note{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    margin-top:12px!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .lbx-podium-card.has-spotlight .lbx-podium-tag{opacity:1!important}
}


/* 2026-09-21 phone review: compact contender stack + smaller off-face medals */
@media(max-width:820px){
  .leaderboard-site-header{
    padding:4px 0!important;
  }
  .leaderboard-site-header .site-header-inner{
    width:calc(100% - 10px)!important;
    padding:5px!important;
    gap:5px!important;
  }
  .leaderboard-site-header .brand{
    min-height:36px!important;
    padding:0 12px!important;
    font-size:1rem!important;
  }
  .leaderboard-site-header .site-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;
    padding:3px!important;
  }
  .leaderboard-site-header .site-nav a{
    min-height:34px!important;
    padding:5px 3px!important;
    font-size:.72rem!important;
    line-height:1!important;
  }

  .lbx-contenders{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    display:grid!important;
    gap:8px!important;
  }
  .lbx-contender-card{
    width:100%!important;
    min-width:0!important;
    min-height:176px!important;
    padding:38px 8px 12px!important;
  }
  .lbx-mini-medal{
    top:8px!important;
    right:9px!important;
    left:auto!important;
    width:32px!important;
    height:32px!important;
    transform:none!important;
  }
  .contender-avatar{
    width:88px!important;
    height:88px!important;
    margin:0 auto!important;
  }
  .lbx-contender-copy{
    margin-top:8px!important;
    gap:3px!important;
  }
  .lbx-contender-copy strong{
    font-size:.9rem!important;
    line-height:1.05!important;
  }
  .lbx-contender-copy .lbx-score-line,
  .lbx-contender-copy>span{
    font-size:.88rem!important;
  }
}

@media(max-width:460px){
  .leaderboard-site-header .site-nav{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .leaderboard-site-header .site-nav a{
    font-size:.69rem!important;
    min-height:33px!important;
  }

  .lbx-contenders{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .lbx-contender-card{
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:8px 11px!important;
    min-height:104px!important;
    padding:10px 44px 10px 10px!important;
    text-align:left!important;
  }
  .contender-avatar{
    width:74px!important;
    height:74px!important;
    margin:0!important;
    grid-column:1!important;
    grid-row:1!important;
  }
  .lbx-contender-copy{
    grid-column:2!important;
    grid-row:1!important;
    align-items:flex-start!important;
    margin:0!important;
    text-align:left!important;
  }
  .lbx-contender-copy strong{
    font-size:1rem!important;
  }
  .lbx-mini-medal{
    top:9px!important;
    right:9px!important;
    width:30px!important;
    height:30px!important;
  }
}
