#rankings { scroll-margin-top: 5rem; }
.ranking-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.ranking-heading .section-title { margin-bottom: 1rem; }
.ranking-demo { color: #aaa4a4; font: .8rem/1.5 'Segoe UI', sans-serif; margin-bottom: 1.5rem; }
.race-rankings { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #64242a; border-radius: 5px; overflow: hidden; background: linear-gradient(#151212eb, #080909f5); box-shadow: 0 15px 65px #0006; }
.faction-slayer { --faction: #51b7ff; --faction-dark: #12366b; }
.faction-ouster { --faction: #a3cf57; --faction-dark: #365526; }
.faction-vampire { --faction: #ff4e57; --faction-dark: #752329; }
.faction-overall { --faction: #dfbf78; --faction-dark: #5e4624; }
.ranking-faction { min-width: 0; }
.ranking-faction + .ranking-faction { border-left: 1px solid #352c2d; }
.faction-title { display: flex; align-items: center; gap: 12px; justify-content: center; margin: 0; padding: 16px; color: var(--faction); font-size: 1.7rem; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid #34282a; }
.faction-title::before, .faction-title::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--faction)); }
.faction-title::after { transform: rotate(180deg); }
.faction-table { width: 100%; table-layout: fixed; font: 12px/1.35 'Segoe UI', sans-serif; }
.faction-table tr { height: 41px; border-bottom: 1px solid #ffffff09; }
.faction-table tbody tr:last-child { border-bottom: 0; }
.faction-table tbody tr:hover { background: #ffffff06; }
.faction-table td, .faction-table th { padding: 7px 4px; vertical-align: middle; }
.faction-table .hunter-position { width: 8%; text-align: right; color: #8c8987; font-size: 10px; }
.hunter-name { width: 27%; color: var(--faction); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 650; }
.hunter-title { width: 29%; color: #ff6368; white-space: nowrap; font-size: 10px; }
.military-number { font-size: 15px; font-style: italic; font-weight: 800; }
.rank-governor { color: #ffe75a; text-shadow: 0 0 7px #d8ba2a; }
.rank-commander { color: #e1c57d; }
.rank-general { color: #c2cbd6; }
.hunter-level { width: 12%; color: var(--faction); text-align: right; font-weight: 650; font-variant-numeric: tabular-nums; }
.faction-table td:nth-last-child(-n+2) { width: 12%; text-align: center; }
.hunter-emblem, .hunter-badge { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 1px solid #b2b1ba70; font: 20px/1 Georgia, serif; }
.hunter-emblem { color: #e6faff; background: radial-gradient(ellipse, var(--faction), var(--faction-dark) 55%, #090d20); text-shadow: 0 0 5px #fff; }
.emblem-1 { border-radius: 50%; } .emblem-2 { background: conic-gradient(var(--faction-dark), var(--faction), #071122, var(--faction-dark)); }
.hunter-badge { color: #f7d680; border-color: #ad7a47; background: linear-gradient(135deg, #201022, #53136c); text-shadow: 0 0 5px #f4a532; }
.ranking-overall { grid-template-columns: 1fr; max-width: 650px; margin-inline: auto; }
@media(max-width: 991px) { .race-rankings { grid-template-columns: 1fr; } .ranking-faction + .ranking-faction { border-left: 0; border-top: 1px solid #64242a; } .faction-table { font-size: 13px; } }
