/* Leaderboard page only (loaded after site.css). */

.bhero{position:relative;isolation:isolate;padding:26px 0 8px;text-align:center}
/* Lamp (Aceternity): two conic beams under a glowing bar; blurs swapped for a box-shadow */
.lamp{position:absolute;top:10px;left:0;right:0;z-index:-1;height:300px;overflow:hidden;pointer-events:none}
.lamp i{position:absolute;top:0;width:min(30rem,50vw);height:100%;opacity:.5;-webkit-mask-image:linear-gradient(#000 20%,transparent 90%);mask-image:linear-gradient(#000 20%,transparent 90%)}
.lamp__l{right:50%;background:conic-gradient(from 70deg at center top,var(--blue),transparent,transparent)}
.lamp__r{left:50%;background:conic-gradient(from 290deg at center top,transparent,transparent,var(--blue))}
.lamp b{position:absolute;top:0;left:50%;width:min(18rem,60vw);height:2px;transform:translateX(-50%);background:var(--blue3);box-shadow:0 0 30px 8px rgba(66,153,225,.45)}
.btitle{margin-top:16px;font-size:clamp(2.4rem,9vw,4.5rem);font-weight:900;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.bmeta{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;margin-top:12px;font-size:14px;font-weight:600;color:var(--muted)}
.bmeta>span+span::before{content:'';display:inline-block;width:4px;height:4px;margin-right:14px;border-radius:50%;background:var(--raised2);vertical-align:middle}
.bmeta b{color:var(--text)}
.tabs{display:flex;gap:4px;max-width:420px;margin:20px auto 0;padding:4px;border-radius:var(--r1);background:var(--card)}
.tabs button{flex:1;min-height:44px;border-radius:var(--r1);font-weight:700;color:var(--muted);transition:background-color .15s,color .15s}
.tabs button:hover,.tabs [aria-selected=true]{color:var(--text)}
.tabs [aria-selected=true]{background:var(--raised)}
.board-sec{padding-top:8px}
.board{max-width:960px;margin:0 auto}
.notice{display:flex;align-items:flex-start;gap:10px;margin:8px 0 12px;padding:12px 14px;border-radius:var(--r2);border:1px solid rgba(236,201,75,.25);background:rgba(236,201,75,.07);color:#f6e05e;font-size:14px}
.notice .ic{width:18px;height:18px;margin-top:1px}
.board-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 16px;margin-bottom:4px}
.updated{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;color:var(--muted)}
.updated .dot{width:7px;height:7px}
.updated.is-stale .dot{background:var(--gold)}
.updated.is-error .dot,.updated.is-final .dot{background:var(--raised2)}
.updated[class*=is-] .dot::before,.updated[class*=is-] .dot::after{animation:none}
.help-link{display:none;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:700;color:var(--muted)}
.help-link:hover{color:var(--text)}
.help-link .ic{width:16px;height:16px}
.board-stats{width:100%;margin-top:-8px;margin-bottom:8px;font-size:14px;color:var(--dim)}
.board-stats b{color:var(--text)}
@media (min-width:640px){.help-link{display:inline-flex}.board-stats{order:3;margin-bottom:4px}}

/* standings (Upstash Leaderboard + trophyso Leaderboard Rankings + rank bars) */
.table{margin-top:16px;overflow:hidden;border-radius:var(--r2);border:1px solid var(--line);background:var(--card)}
.thead,.row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 12px}
.thead{height:44px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600;color:var(--dim)}
.thead span:first-child,.row__rank{text-align:center}
.thead span:last-child,.thead .c-w,.row__wager,.row__prize{text-align:right}
/* phones: the wager shows under the name; this copy stays for screen readers */
.thead .c-w{display:none}
.row__wager{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.row{position:relative;z-index:0;min-height:64px;padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line);transition:background-color .15s}
.row:last-child{border-bottom:0}
.row:hover{background:rgba(22,26,29,.5)}
.row__rank{font-weight:800;color:var(--dim)}
.row__player{display:flex;align-items:center;gap:10px;min-width:0}
.row .av{box-shadow:0 0 0 1px var(--line2)}
.row__who{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.row__name{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.row__sub{font-size:13px;color:var(--muted)}
.row__wager{font-weight:800}
.row__prize{min-width:56px;font-weight:800;color:var(--prize)}
.row__prize.is-none{color:var(--dim)}
/* rank bar: a thin line along the bottom of the row, as long as the gap to 1st */
.row__bar{position:absolute;inset:auto 0 0;z-index:-1;height:2px;pointer-events:none;background:linear-gradient(90deg,rgba(66,153,225,.55) var(--p,0%),transparent 0)}
.row--open .row__name{font-weight:700;color:var(--dim)}
@media (min-width:640px){
  .thead,.row{grid-template-columns:48px minmax(0,1fr) 170px 110px;gap:16px;padding:0 20px}
  .thead .c-w{display:block}
  .row__wager{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
  .row__sub{display:none}
}

/* empty / not-yet / couldn't-load card: above the podium, so the 1st-5th ladder stays in one piece */
.empty{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 14px;margin:8px 0 16px;padding:18px;border-radius:var(--r4);border:1px solid var(--line);background:radial-gradient(90% 120% at 0 0,rgba(66,153,225,.14),transparent 60%),var(--card)}
.empty__ic{width:44px;height:44px;border-radius:var(--r3);color:var(--blue3);box-shadow:0 0 30px -8px rgba(66,153,225,.6)}
.empty__ic .ic{width:22px;height:22px}
.empty__title{font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
.empty__text{grid-column:1/-1;color:var(--muted);text-wrap:pretty}
.empty__text b{color:var(--text)}
.empty__act{grid-column:1/-1;display:flex;flex-direction:column;gap:10px}
.empty .code-pill{max-width:none;margin:0}
.empty.is-error{border-color:rgba(236,201,75,.25);background:rgba(236,201,75,.05)}
.empty.is-error .empty__ic{color:var(--gold);box-shadow:none}
@media (min-width:640px){
  .empty{padding:22px 24px}
  .empty__act{flex-direction:row;align-items:center}
  .empty .code-pill{flex:0 1 400px;max-width:400px}
}

/* skeleton rows */
.row .skel--av{width:34px;height:34px}
.skel--row{width:40%}
.skel--num{width:18px;margin:0 auto}
.skel--amt{width:56px;margin-left:auto}

/* rules, verification, FAQ (FAQs 01 layout, PackDraw accordion cards) */
.rules{display:grid;gap:8px;counter-reset:rule}
.rules li{position:relative;padding:14px 16px 14px 58px;border-radius:var(--r2);border:1px solid var(--line);background:var(--card);color:#e2e8f0;counter-increment:rule}
.rules li::before{content:counter(rule);position:absolute;top:12px;left:14px;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r1);background:rgba(66,153,225,.14);color:var(--blue3);font-size:14px;font-weight:800}
.verify{display:flex;gap:14px;margin-top:16px;padding:16px;border-radius:var(--r4);border:1px solid rgba(66,153,225,.25);background:linear-gradient(180deg,rgba(66,153,225,.08),transparent 70%),var(--card)}
.verify__label{font-weight:800}
.verify p+p{margin-top:4px;font-size:14px;color:var(--muted)}
.faq{display:grid;gap:8px}
.faq details{border-radius:var(--r2);background:var(--card)}
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size .25s ease-out,content-visibility .25s allow-discrete}
.faq details[open]::details-content{block-size:auto}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 16px;font-weight:800;list-style:none;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{color:var(--dim);transition:transform .2s}
.faq [open] summary .ic{transform:rotate(180deg)}
.faq details p{padding:0 16px 16px;color:var(--muted)}
.ask{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:24px;padding:18px;border-radius:var(--r4);border:1px dashed rgba(250,250,250,.14);background:rgba(250,250,250,.02)}
.ask div{flex:1;min-width:180px}
.ask p{font-size:14px;color:var(--muted)}
.join{padding:32px 20px;border-radius:var(--r4);border:1px solid var(--line);background:radial-gradient(60% 90% at 50% 0,rgba(66,153,225,.2),transparent 70%),var(--card);text-align:center}
.join .h2{margin-top:0}
.join p{max-width:40ch;margin:8px auto 0;color:var(--muted)}
