/* ---------- monthly leaderboard ---------- */
.lb-month{width:auto;min-width:180px;border-radius:100px;padding:9px 34px 9px 14px;height:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.lb-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end;margin:6px 0 22px}
.lb-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:26px 16px 18px;min-width:0}
.lb-step.empty{visibility:hidden}
.lb-step.p1{padding-top:38px;border-color:var(--red);box-shadow:var(--shadow-md)}
.lb-step.p1:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:var(--og-accent-bar-w);height:var(--og-accent-bar-h);background:var(--red)}
.lb-step.me{background:var(--red-soft)}
.lb-place{position:absolute;left:14px;top:10px;font:400 34px/1 var(--og-font-display-alt);color:var(--muted-2)}
.lb-step.p1 .lb-place{color:var(--red)}
.lb-step b{font-weight:600;color:var(--ink);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.lb-score{font:400 34px/1 var(--og-font-display-alt);color:var(--ink)}
.lb-step.p1 .lb-score{font-size:44px;color:var(--red)}
.lb-score small{display:block;font:400 10.5px/1 var(--og-font-title);letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.lb-mini{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.lb-mini span{font-size:11.5px;color:var(--muted);background:var(--bg-2);border-radius:100px;padding:3px 8px}
.lb-av{position:relative;display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:var(--bg-2);border:1px solid var(--line);overflow:hidden;vertical-align:middle}
.lb-av.lg{width:64px;height:64px;border:2px solid var(--line)}
.lb-step.p1 .lb-av.lg{width:76px;height:76px;border-color:var(--red)}
.lb-av i{font:600 12px/1 var(--og-font-alt);font-style:normal;color:var(--ink-2)}
.lb-av.lg i{font-size:18px}
.lb-av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lb-table{padding:18px 0 6px}
.lb-table .card-h{padding:0 20px}
.lb-scroll{overflow-x:auto}
.lb-table table{width:100%;border-collapse:collapse;font-size:13.5px}
.lb-table th{text-align:left;padding:8px 12px;font:400 10.5px/1.2 var(--og-font-title);letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2);border-bottom:1px solid var(--line);white-space:nowrap}
.lb-table td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);white-space:nowrap}
.lb-table tr:last-child td{border-bottom:0}
.lb-table tr.me td{background:var(--red-soft)}
.lb-table .num{text-align:right}
.lb-table .rk{font:400 20px/1 var(--og-font-display-alt);color:var(--red);width:36px;padding-left:20px}
.lb-table .pts{font-weight:700;color:var(--ink)}
.lb-who{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}
@media(max-width:700px){.lb-podium{grid-template-columns:1fr;}.lb-step.empty{display:none}.lb-step.p1{order:-1}}
