/* The leaderboard, in the shape of Polymarket's: a ranked table on the left, biggest wins on the right. */
.product .lb-main{padding-top:40px}
.lb-layout{max-width:920px;margin:0 auto}
.lb-board{min-width:0}
.lb-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.product .lb-head h1{font-size:34px;letter-spacing:-1.2px;margin:0}
.lb-join{position:relative}
.lb-join .pill.small{padding:10px 16px;gap:10px}
.lb-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:min(calc(100vw - 32px),320px);display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 16px 44px rgba(0,0,0,.4)}
.lb-pop[hidden]{display:none}
.lb-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.lb-field input{font:inherit;font-size:14px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text)}
.lb-field input:focus{outline:none;border-color:var(--accent)}
.lb-check{display:flex;align-items:center;gap:8px;font-size:13px}
.lb-check input{accent-color:var(--accent)}
.lb-check[aria-disabled="true"]{color:var(--muted)}
.lb-pop-note{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}
.lb-pop-actions{display:flex;gap:8px}
.lb-pop-status{margin:0;font-size:12px;color:var(--muted)}
.lb-pop-status:empty{display:none}
.lb-pop-status[data-kind="error"]{color:#f26d6d}
.lb-pop-status[data-kind="ok"]{color:#4cc38a}

.lb-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px}
.lb-tabs [role=tab]{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:9px 12px;color:var(--muted);font:inherit;font-size:14px;font-weight:500;cursor:pointer}
.lb-tabs [role=tab]:hover{color:var(--text)}
.lb-tabs [role=tab][aria-selected="true"]{color:var(--text);border-bottom-color:var(--text)}

.lb-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.lb-periods{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.lb-periods button{background:none;border:0;border-right:1px solid var(--line);padding:8px 14px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.lb-periods button:last-child{border-right:0}
.lb-periods button:hover{color:var(--text)}
.lb-periods button[aria-pressed="true"]{background:var(--surface-2);color:var(--text);font-weight:600}
.lb-periods button[aria-disabled="true"]{opacity:.4;cursor:not-allowed}
.lb-updated{font-size:11px;color:var(--muted)}

.lb-table{--value:140px;--cols:2}
.lb-table[data-cols="3"]{--cols:3;--value:124px}
.lb-row{display:grid;grid-template-columns:34px minmax(0,1fr) repeat(var(--cols),var(--value));align-items:center;gap:10px;padding:0 6px;min-height:64px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
a.lb-row:hover,.lb-row.lb-link:hover{background:color-mix(in srgb,var(--surface) 70%,transparent)}
.lb-header{min-height:48px;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--line)}
.lb-search{display:flex;align-items:center;gap:8px;color:var(--muted);min-width:0}
.lb-search svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;flex:none}
.lb-search input{border:0;background:none;color:var(--text);font:inherit;font-size:13px;min-width:0;width:100%;outline:none;padding:8px 0}
.lb-cols{display:grid;grid-template-columns:repeat(var(--cols),var(--value));gap:10px;align-self:stretch}
.lb-sort{position:relative;display:flex;align-items:center;justify-content:flex-end;background:none;border:0;padding:0 2px;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.lb-sort+.lb-sort::before{content:"";position:absolute;left:-6px;top:50%;height:14px;margin-top:-7px;border-left:1px solid var(--line)}
.lb-sort:hover{color:var(--text)}
.lb-sort[aria-pressed="true"]{color:var(--text)}
.lb-sort[aria-pressed="true"]::after{content:"";position:absolute;left:8px;right:0;bottom:-1px;height:2px;background:var(--text)}
.lb-rank{font-size:13px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.lb-who{display:flex;align-items:center;gap:12px;min-width:0}
.lb-avatar{position:relative;flex:none;width:36px;height:36px;border-radius:50%}
.lb-medal{position:absolute;left:-3px;bottom:-3px;width:15px;height:15px;border-radius:50%;border:2px solid var(--bg);box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.lb-medal[data-rank="1"]{background:#e7b843}
.lb-medal[data-rank="2"]{background:#c4ccd6}
.lb-medal[data-rank="3"]{background:#c98a5a}
.lb-name{font-size:15px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lb-mine{flex:none;font-size:12.5px;color:var(--muted);white-space:nowrap}
.lb-row-mine{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.lb-badge{flex:none;padding:2px 7px;border:1px solid var(--line);border-radius:6px;font-size:10px;color:var(--muted);white-space:nowrap}
.lb-value{text-align:right;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.lb-value.lb-muted{color:var(--muted)}
.lb-value[data-sign="up"]{color:#4cc38a}
.lb-value[data-sign="down"]{color:#f26d6d}
.lb-empty{padding:26px 6px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.lb-empty .pill.small{padding:8px 14px}
.lb-skeleton{height:64px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 80%,transparent),transparent);background-size:200% 100%;animation:lb-shine 1.4s linear infinite}
@keyframes lb-shine{to{background-position:-200% 0}}
.lb-pages{display:flex;gap:6px;justify-content:center;padding:18px 0}
.lb-pages:empty{display:none}
.lb-pages button{min-width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:none;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}
.lb-pages button[aria-current="page"]{background:var(--surface-2);color:var(--text);font-weight:600}


@media (max-width:640px){
  .lb-table,.lb-table[data-cols="3"]{--value:74px}
  .lb-table[data-cols="3"] .lb-col-extra{display:none}
  .lb-table[data-cols="3"]{--cols:2}
  .lb-row:not(.lb-header){gap:6px;padding:0 2px;grid-template-columns:20px minmax(0,1fr) repeat(var(--cols),var(--value))}
  .lb-header{gap:6px;padding:0 2px}
  .lb-cols{gap:6px}
  .lb-who{gap:10px}
  .lb-name{font-size:13.5px}
  .lb-value{font-size:13px}
  .lb-avatar{width:28px;height:28px}
  .lb-sort{font-size:11px}
  .lb-badge{display:none}
  .lb-controls{flex-wrap:wrap}
  .lb-periods button{padding:7px 10px}
  .lb-head{flex-wrap:wrap}
}
