/* Homepage leaderboards. Specificity isolates the legacy homepage table rules. */
#leaderboards.pws-leaderboards { padding:clamp(44px,6vw,80px) 0; background:radial-gradient(ellipse at 5% 0,color-mix(in srgb,var(--primary) 8%,transparent),transparent 55%),var(--background); scroll-margin-top:100px; }
#leaderboards.pws-leaderboards *,#leaderboards.pws-leaderboards *::before { box-sizing:border-box; }
#leaderboards.pws-leaderboards [hidden] { display:none!important; }
#leaderboards .pws-lb-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:30px; }
#leaderboards .pws-lb-eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; font-weight:800; color:var(--primary); }
#leaderboards .pws-lb-eyebrow::before { content:''; width:20px; height:2px; background:currentColor; border-radius:2px; }
#leaderboards .pws-lb-heading h2 { font-size:clamp(29px,3.5vw,40px); line-height:1.2; letter-spacing:-.04em; color:var(--text-main); margin:12px 0; }
#leaderboards .pws-lb-heading p { color:var(--text-secondary); font-size:15px; line-height:1.7; margin:0; max-width:640px; }
#leaderboards .pws-lb-heading-badge { display:inline-flex; align-items:center; gap:9px; flex-shrink:0; border:1px solid var(--border); padding:12px 16px; border-radius:100px; font-size:12px; color:var(--primary); background:var(--card-background); }
#leaderboards .pws-lb-shell { border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border)); border-radius:26px; background:var(--card-background); overflow:hidden; box-shadow:0 20px 45px -30px color-mix(in srgb,var(--primary) 35%,transparent); }
#leaderboards .pws-lb-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; padding:16px; background:color-mix(in srgb,var(--primary) 4%,var(--card-background)); border-bottom:1px solid var(--border); }
#leaderboards .pws-lb-tabs button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:58px; font:inherit; font-size:14px; font-weight:650; padding:12px 10px; line-height:1.4; color:var(--text-secondary); background:transparent; border:1px solid transparent; border-radius:14px; cursor:pointer; transition:background .18s,border-color .18s,box-shadow .18s; }
#leaderboards .pws-lb-tab-icon { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; }
#leaderboards .pws-lb-icon { display:block; flex-shrink:0; }
#leaderboards .pws-lb-tabs button[aria-selected="true"] { color:#fff; background:linear-gradient(135deg,var(--primary),var(--primary-hover,var(--primary))); border-color:var(--primary); box-shadow:0 7px 14px -8px color-mix(in srgb,var(--primary) 65%,transparent); }
#leaderboards .pws-lb-tabs button:not([aria-selected="true"]):hover { color:var(--primary); background:var(--card-background); border-color:var(--border); }
#leaderboards .pws-lb-tabs button:focus-visible,#leaderboards .lb-name:focus-visible,#leaderboards .pws-lb-action:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
#leaderboards .pws-lb-panel:focus-visible { outline:3px solid var(--primary); outline-offset:-3px; }
#leaderboards .pws-lb-panel-heading { padding:26px 28px 24px; }
#leaderboards .pws-lb-panel-kicker { font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--primary); }
#leaderboards .pws-lb-panel-heading h3 { font-size:clamp(20px,2.4vw,25px); color:var(--text-main); letter-spacing:-.025em; margin:8px 0 0; line-height:1.4; }
#leaderboards .pws-lb-table-wrap { padding:0 16px; }
#leaderboards.pws-leaderboards table { width:100%; min-width:0; white-space:normal; border-collapse:separate; border-spacing:0; table-layout:fixed; margin:0; }
#leaderboards.pws-leaderboards thead { position:static; }
#leaderboards.pws-leaderboards thead th { padding:14px 14px; border-bottom:1px solid var(--border); background:var(--background); color:var(--text-secondary); font-size:11px; text-transform:uppercase; letter-spacing:.07em; font-weight:650; text-align:left; }
#leaderboards.pws-leaderboards tbody td,#leaderboards.pws-leaderboards tbody th { padding:24px 14px; border-bottom:1px solid var(--border); vertical-align:middle; text-align:left; background:transparent; color:var(--text-main); }
#leaderboards.pws-leaderboards tbody th { text-transform:none; letter-spacing:normal; font-weight:inherit; }
#leaderboards.pws-leaderboards tbody tr:last-child td,#leaderboards.pws-leaderboards tbody tr:last-child th { border-bottom:0; }
#leaderboards.pws-leaderboards tbody tr:hover { background:color-mix(in srgb,var(--primary) 3%,var(--card-background)); }
#leaderboards.pws-leaderboards .pws-lb-rank-col { width:66px; text-align:center; }
#leaderboards.pws-leaderboards .pws-lb-author-col { width:22%; }
#leaderboards.pws-leaderboards .pws-lb-value-col { width:116px; text-align:right; }
#leaderboards.pws-leaderboards .pws-lb-action-col { width:132px; text-align:right; }
#leaderboards .pws-lb-podium { display:inline-flex; align-items:center; justify-content:center; font-size:28px; line-height:1; min-height:36px; }
#leaderboards .lb-name { display:inline-block; font-size:16px; font-weight:700; color:var(--text-main); line-height:1.55; text-decoration:none; overflow-wrap:anywhere; }
#leaderboards .lb-name:hover { color:var(--primary); }
#leaderboards .lb-author { font-size:14px; color:var(--text-secondary); line-height:1.6; overflow-wrap:anywhere; }
#leaderboards .pws-lb-value-col strong { font-size:20px; color:var(--text-main); font-weight:750; font-variant-numeric:tabular-nums; }
#leaderboards .pws-lb-value-col small { font-size:12px; color:var(--text-secondary); margin-left:2px; font-weight:500; }
#leaderboards .pws-lb-value-detail { display:block; font-size:11px; color:var(--text-secondary); margin-top:3px; }
#leaderboards .pws-lb-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 15px; border:1px solid var(--border); border-radius:10px; font-size:13px; font-weight:650; line-height:1.3; text-decoration:none; white-space:nowrap; color:var(--primary); background:var(--background); }
#leaderboards .pws-lb-action.is-purchase { background:var(--primary); border-color:var(--primary); color:#fff; box-shadow:0 5px 12px -9px var(--primary); }
#leaderboards .pws-lb-action:hover { border-color:var(--primary); }
#leaderboards .pws-lb-mobile-action,#leaderboards .pws-lb-mobile-author { display:none; }
#leaderboards .pws-lb-footnote { font-size:12px; color:var(--text-secondary); border-top:1px solid var(--border); margin:0; padding:17px 28px; line-height:1.7; background:color-mix(in srgb,var(--primary) 2%,var(--card-background)); }
#leaderboards .pws-lb-empty { text-align:center; padding:20px 28px 42px; }
#leaderboards .pws-lb-empty > span { display:inline-grid; place-items:center; width:56px; height:56px; border-radius:17px; color:var(--primary); background:color-mix(in srgb,var(--primary) 8%,var(--card-background)); }
#leaderboards .pws-lb-empty .pws-lb-icon { width:27px; height:27px; }
#leaderboards .pws-lb-empty h4 { color:var(--text-main); font-size:20px; margin:17px 0 10px; }
#leaderboards .pws-lb-empty p { margin:0 auto; max-width:440px; font-size:14px; line-height:1.7; color:var(--text-secondary); }
#leaderboards .pws-lb-sr { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:900px) { #leaderboards .pws-lb-tabs { gap:6px; padding:12px; } #leaderboards .pws-lb-tabs button { font-size:12px; gap:6px; padding:10px 6px; } #leaderboards .pws-lb-tab-icon { width:24px; } #leaderboards .pws-lb-heading { align-items:flex-start; } }
@media(max-width:700px) { #leaderboards .pws-lb-heading { flex-direction:column; gap:18px; } #leaderboards .pws-lb-tabs { grid-template-columns:repeat(6,minmax(0,1fr)); } #leaderboards .pws-lb-tabs button { grid-column:span 2; min-height:62px; flex-direction:column; gap:6px; } #leaderboards .pws-lb-tabs button:nth-last-child(-n+2) { grid-column:span 3; } }
@media(max-width:640px) {
 #leaderboards .pws-lb-shell { border-radius:21px; }
 #leaderboards .pws-lb-heading p { font-size:14px; }
 #leaderboards .pws-lb-heading-badge { font-size:11px; padding:10px 13px; }
 #leaderboards .pws-lb-panel-heading { padding:22px 18px; }
 #leaderboards .pws-lb-table-wrap { padding:0 10px; }
 #leaderboards.pws-leaderboards .pws-lb-author-col,#leaderboards.pws-leaderboards .pws-lb-action-col { display:none; }
 #leaderboards.pws-leaderboards .pws-lb-rank-col { width:38px; }
 #leaderboards.pws-leaderboards .pws-lb-value-col { width:72px; }
 #leaderboards.pws-leaderboards thead th { padding:12px 5px; font-size:10px; letter-spacing:.03em; }
 #leaderboards.pws-leaderboards tbody td,#leaderboards.pws-leaderboards tbody th { padding:20px 5px; }
 #leaderboards .pws-lb-podium { font-size:24px; }
 #leaderboards .lb-name { font-size:14px; line-height:1.5; }
 #leaderboards .pws-lb-mobile-author { display:block; color:var(--text-secondary); font-size:12px; font-weight:400; margin-top:5px; line-height:1.5; overflow-wrap:anywhere; }
 #leaderboards .pws-lb-mobile-action { display:block; margin-top:12px; }
 #leaderboards .pws-lb-mobile-action .pws-lb-action { font-size:12px; padding:10px 12px; white-space:normal; }
 #leaderboards .pws-lb-value-col strong { font-size:19px; }
 #leaderboards .pws-lb-value-col small { display:block; font-size:11px; }
 #leaderboards .pws-lb-footnote { padding:16px 18px; font-size:11px; }
}
@media(max-width:370px) { #leaderboards .pws-lb-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); } #leaderboards .pws-lb-tabs button { grid-column:span 1; flex-direction:row; min-height:52px; } #leaderboards .pws-lb-tabs button:nth-last-child(-n+2) { grid-column:span 1; } #leaderboards .pws-lb-tabs button:last-child { grid-column:1/-1; } }
@media(prefers-reduced-motion:reduce) { #leaderboards .pws-lb-tabs button { transition:none; } }
