.lb { display: grid; grid-template-columns: 1fr 360px; gap: 16px; align-items: start; }
.lb-side { display: grid; gap: 16px; }
.guest-only { display: none; }
.guest .guest-only { display: grid; }
.lb-filter { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.lb-filter label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.lb-filter select { width: auto; min-width: 180px; }
.lb-main h2 { margin: 6px 0 12px; font: 400 24px var(--display); color: var(--gold); }
.ranks { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; counter-reset: rank; }
.ranks li { counter-increment: rank; display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 10px;
            background: var(--panel-2); border-radius: 10px; padding: 10px 12px; font-size: 16px; }
.ranks li::before { content: counter(rank); font: 400 18px var(--display); color: var(--muted); text-align: center; }
.ranks li:nth-child(1)::before { content: "🥇"; } .ranks li:nth-child(2)::before { content: "🥈"; } .ranks li:nth-child(3)::before { content: "🥉"; }
.ranks li.me { box-shadow: inset 0 0 0 2px var(--gold); }
.ranks b { font-weight: 700; color: #fff; }
.ranks .v { font: 700 16px ui-monospace, Consolas, monospace; color: #7dff9b; }
.ranks .v.neg { color: #ff8aa8; }
.ranks li.empty { display: block; background: none; color: var(--muted); }
.ranks li.empty::before { content: none; }

.statgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.stat { background: var(--panel-2); border-radius: 10px; padding: 8px 10px; }
.stat small { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.stat b { font: 700 17px ui-monospace, Consolas, monospace; color: #fff; }
.stat b.up { color: #7dff9b; } .stat b.down { color: #ff8aa8; }
.pergame { width: 100%; border-collapse: collapse; font-size: 13px; }
.pergame th, .pergame td { padding: 5px 4px; text-align: right; border-bottom: 1px solid var(--line); }
.pergame th:first-child, .pergame td:first-child { text-align: left; }
.pergame th { color: var(--muted); font-weight: 500; }
.hist { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; max-height: 360px; overflow-y: auto; font-size: 13px; }
.hist li { display: flex; justify-content: space-between; gap: 8px; padding: 5px 2px; border-bottom: 1px solid var(--line); }
.hist .up { color: #7dff9b; } .hist .down { color: #ff8aa8; }
.hist small { color: var(--muted); }
@media (max-width: 900px) { .lb { grid-template-columns: 1fr; } }
