.vote-ranking-description { color: var(--az-muted, var(--bs-secondary-color)); font-size: .9rem; margin-bottom: 1.5rem; }
.vote-ranking-table { width: 100%; table-layout: fixed; vertical-align: middle; }
.vote-ranking-table th:first-child { width: 20%; }
.vote-ranking-table th:last-child { width: 30%; }
.vote-ranking-table > :not(caption) > * > * { padding: 1rem .75rem; }
.vote-ranking-table thead th { color: var(--az-muted, var(--bs-secondary-color)); font-size: .8rem; font-weight: 700; border-bottom-width: 1px; }
.vote-ranking-table td, .vote-ranking-table th { overflow-wrap: anywhere; }
.vote-position { display: inline-flex; align-items: center; gap: .6rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.vote-position .bi { font-size: 1.25rem; }
.vote-place-1 { --vote-metal: #f4c861; --vote-step: #5a4622; --vote-top: #796032; }
.vote-place-2 { --vote-metal: #c5d4e9; --vote-step: #38465e; --vote-top: #53627a; }
.vote-place-3 { --vote-metal: #e2a57a; --vote-step: #594032; --vote-top: #79553f; }
.vote-position[class*="vote-place-"] { color: var(--vote-metal); }
.vote-player { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.vote-player img { border-radius: .5rem; flex-shrink: 0; image-rendering: pixelated; box-shadow: 0 2px 8px #0002; }
.vote-player > span { min-width: 0; font-weight: 650; }
.vote-count { font-weight: 700; font-variant-numeric: tabular-nums; }
.vote-ranking-table .vote-ranking-empty { text-align: center; padding: 2rem 1rem; color: var(--az-muted, var(--bs-secondary-color)); }
.vote-podium-card { overflow: hidden; text-align: center; }
.vote-podium-card > .card-body { background: radial-gradient(ellipse at 50% 100%, #4284d51a, transparent 70%); }
.vote-podium-eyebrow { display: block; color: var(--az-primary, #68b5ff); text-transform: uppercase; font-size: .7rem; letter-spacing: .12em; font-weight: 800; margin: .5rem 0 .65rem; }
.vote-podium { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: end; width: min(100%, 660px); margin: 2rem auto .5rem; padding-top: .5rem; }
.vote-podium-player { display: flex; flex-direction: column; align-items: center; min-width: 0; }
.vote-podium-name { width: 100%; min-height: 2.8rem; padding: 0 .35rem; color: var(--vote-metal); font-weight: 750; line-height: 1.4; overflow-wrap: anywhere; transform: translateY(-18px); }
.vote-podium-skin { display: block; position: relative; z-index: 1; width: 110px; max-width: 90%; height: 220px; object-fit: contain; object-position: center bottom; transform: translateY(-18px); filter: drop-shadow(0 8px 8px #0003); }
.vote-podium-step { display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; width: 100%; height: 114px; margin-top: -.5rem; gap: .3rem; padding: 1.25rem .4rem .5rem; color: #f6f9ff; border: 1px solid var(--vote-top); border-top: 0; background: linear-gradient(125deg, var(--vote-step), #101b30); box-shadow: 0 12px 25px #0002; }
.vote-podium-step::before { content: ""; position: absolute; inset: -18px -1px auto; height: 19px; background: var(--vote-top); clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%); }
.vote-podium-step strong { display: flex; gap: .45rem; align-items: center; color: var(--vote-metal); font-size: 1rem; letter-spacing: .04em; }
.vote-podium-step > span { font-size: .9rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.vote-podium-step .vote-podium-reward { color: var(--vote-metal); font-size: .76rem; font-weight: 600; }
.vote-podium-player.vote-place-1 .vote-podium-step { height: 144px; }
.vote-podium-player.vote-place-3 .vote-podium-step { height: 96px; }
.vote-podium-player.is-empty .vote-podium-name { color: var(--az-muted, var(--bs-secondary-color)); font-size: .8rem; font-weight: 500; }
body[data-bs-theme="light"] .vote-position.vote-place-1, html[data-bs-theme="light"] .vote-position.vote-place-1 { color: #8d610b; }
body[data-bs-theme="light"] .vote-position.vote-place-2, html[data-bs-theme="light"] .vote-position.vote-place-2 { color: #596a80; }
body[data-bs-theme="light"] .vote-position.vote-place-3, html[data-bs-theme="light"] .vote-position.vote-place-3 { color: #955025; }
body[data-bs-theme="light"] .vote-podium-name { color: var(--bs-body-color); }
/* Avoid black filter tiles while podium skins are offscreen on mobile. */
@media (max-width: 767.98px) { .vote-podium-skin { filter: none; } }
@media (max-width: 575.98px) {
    .vote-ranking-table { font-size: .8rem; }
    .vote-ranking-table thead th { font-size: .7rem; }
    .vote-ranking-table th:first-child { width: 23%; }
    .vote-ranking-table th:last-child { width: 29%; }
    .vote-ranking-table > :not(caption) > * > * { padding: .8rem .25rem; }
    .vote-position { gap: .35rem; }
    .vote-position .bi { font-size: 1rem; }
    .vote-player { gap: .4rem; }
    .vote-player img { width: 28px; height: 28px; border-radius: .35rem; }
    .vote-podium { margin-top: 1.5rem; }
    .vote-podium-name { font-size: .75rem; min-height: 3rem; }
    .vote-podium-skin { width: 76px; height: 152px; }
    .vote-podium-step { height: 98px; gap: .2rem; padding: .9rem .15rem .4rem; }
    .vote-podium-step strong { font-size: .73rem; gap: .25rem; }
    .vote-podium-step > span { font-size: .7rem; }
    .vote-podium-step .vote-podium-reward { font-size: .63rem; line-height: 1.15; }
    .vote-podium-player.vote-place-1 .vote-podium-step { height: 122px; }
    .vote-podium-player.vote-place-3 .vote-podium-step { height: 84px; }
    .vote-podium-player.is-empty .vote-podium-name { font-size: .7rem; }
}
