/* =====================================================================
   THE LEADERBOARD (Nov 2026)
   Title on the left like every other page. The top three as three quiet
   cards, the first a little taller. The rest as one table in a card.
   Loaded after app.css: this wins.
   ===================================================================== */
.lbwrap{max-width:none;margin:0;padding:0 0 110px;text-align:left;animation:none}
.lbh1{font:800 36px/1 Inter,sans-serif;letter-spacing:-.03em;margin:0 0 30px;color:#15181D}

/* the podium */
.lbfloat{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:end;max-width:880px;margin:0;padding:0;perspective:none}
.lbfl{position:relative;background:#fff;border:1px solid #ECEBE6;border-radius:22px;padding:28px 18px 24px;
  box-shadow:0 1px 2px rgba(16,15,13,.04),0 10px 30px rgba(16,15,13,.06);
  transform:none!important;transition:transform .18s ease,box-shadow .18s ease}
.lbfl:hover{transform:translateY(-3px)!important;box-shadow:0 2px 4px rgba(16,15,13,.05),0 18px 44px rgba(16,15,13,.10)}
.lbfl.first{padding:36px 18px 30px;border-color:#EBD79B;box-shadow:0 1px 2px rgba(16,15,13,.04),0 16px 44px rgba(138,106,18,.12)}
.lbpav{margin-bottom:16px}
.lbav3{width:96px;height:96px;box-shadow:0 2px 6px rgba(16,15,13,.10),0 12px 28px rgba(16,15,13,.14)}
.lbfl.first .lbav3{width:124px;height:124px;box-shadow:0 2px 6px rgba(16,15,13,.10),0 18px 40px rgba(16,15,13,.18)}
.lbrank{right:-2px;bottom:2px;width:28px;height:28px;font:800 12.5px/26px Inter,sans-serif;text-align:center;color:#6B6860;
  box-shadow:0 1px 3px rgba(16,15,13,.14)}
.lbfl.first .lbrank{background:#F2D36B;border-color:#E3BE3E;color:#5A4200}
.lbfl.second .lbrank{background:#E9E8E3;border-color:#D8D6CF;color:#4A4842}
.lbfl.third .lbrank{background:#EAD5C3;border-color:#D9B99E;color:#6B4423}
.lbpn{font:700 16px/1.2 Inter,sans-serif;letter-spacing:-.01em;color:#15181D}
.lbfl.first .lbpn{font-size:19px}
.lbpe{font-size:28px!important;font-weight:800!important;letter-spacing:-.025em;margin-top:6px!important;color:#15181D}
.lbfl.first .lbpe{font-size:36px!important}
.lbpe span{font-size:9.5px!important;letter-spacing:.16em;color:#9A968C}
.lbfl .wdl{margin-top:10px;font-size:12.5px}

/* the table */
.lbtable{max-width:880px;margin:20px 0 0;border:1px solid #ECEBE6;border-radius:20px;background:#fff;overflow:hidden;text-align:left;
  box-shadow:0 1px 2px rgba(16,15,13,.04),0 10px 30px rgba(16,15,13,.05)}
.lbrow2{gap:16px;padding:13px 20px;border-bottom:1px solid #F1F0EB}
.lbrow2:last-child{border-bottom:0}
.lbrow2:hover{background:#FAFAF8}
.lbrow2.me{background:#EEF8F3;border-radius:0;padding-left:20px;padding-right:20px}
.lbrow2.me:hover{background:#E6F4EC}
.lbno{width:26px;font:700 13px/1 Inter,sans-serif;color:#9A968C}
.lbav3.sm{width:38px;height:38px;box-shadow:0 1px 3px rgba(16,15,13,.14)}
.lbnm2{font:600 15px/1 Inter,sans-serif;color:#15181D}
.lbnm2 em{font-size:12px;color:#9A968C}
.lbrow2 .wdl{margin-right:22px;font-size:12.5px}
.lbelo{font-size:18px!important;font-weight:800!important;letter-spacing:-.02em;width:64px}

@media(max-width:820px){
  .lbfloat{grid-template-columns:1fr;max-width:none}
  .lbfl.first{order:-1}
}

/* ---- the sign-in gate sits in the true centre of the page ---- */
.gatebox{left:50%!important;top:46%!important;transform:translate(-50%,-50%)!important}

/* ---- the invite code on the waiting screen ---- */
.gli-code{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 6px 0 14px;border-radius:12px;background:#fff;border:1px solid #ECEBE6;
  box-shadow:0 1px 2px rgba(16,15,13,.04)}
.gli-ck{font:600 12.5px/1 Inter,sans-serif;color:#8A867B;white-space:nowrap}
.gli-cv{font:800 17px/1 Inter,sans-serif;letter-spacing:.22em;color:#C9C6BD;min-width:64px;text-align:center;font-variant-numeric:tabular-nums}
.gli-cv.on{color:#15181D}
.gli-cb{height:30px;padding:0 12px;border:0;border-radius:9px;background:#15181D;color:#fff;font:700 12.5px/1 Inter,sans-serif;cursor:pointer;transition:background .14s}
.gli-cb:hover{background:#2A2E35}

/* ---- the arena's cards fill the row: four across when there is room ---- */
.aqlist{max-width:none;grid-template-columns:repeat(auto-fill,minmax(262px,1fr))}
@media(min-width:1500px){.aqlist{grid-template-columns:repeat(4,1fr);max-width:1240px}}
