.table-wrap { overflow-x: auto; background: var(--panel); border: 1px solid var(--line); }
.table { width: 100%; min-width: 560px; border-collapse: collapse; text-align: left; }
.table th { padding: .9rem 1.2rem; border-bottom: 1px solid var(--line); color: var(--muted); font: 500 .85rem/1 var(--font-main); text-transform: uppercase; letter-spacing: .1em; }
.table td { padding: .9rem 1.2rem; border-bottom: 1px solid #242424; font-variant-numeric: tabular-nums; }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: #1f1f1f; }
.table .num { text-align: right; }
.table .rank { width: 4rem; color: var(--muted); font: 700 1.3rem/1 var(--font-main); }
.table tbody tr:nth-child(-n+3) .rank { color: var(--red); }

/* «скелет» вместо ника, пока нет данных */
.ph { display: inline-block; width: 9rem; max-width: 100%; height: .8em; background: linear-gradient(90deg, #262626 30%, #333 50%, #262626 70%) 0 0 / 200% 100%; animation: shimmer 1.8s linear infinite; }
@keyframes shimmer { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .ph { animation: none; } }
