/* CMS Rankings – app-matched black/red/copper design */
.rankings-page .hero{max-width:1600px}
.rankings-page main{max-width:1530px}
.rankings-page .hero h1{font-size:clamp(34px,5vw,66px);line-height:1.03}
.rankings-page main>h2{font-family:"Bahnschrift","Segoe UI",sans-serif;font-size:clamp(26px,3vw,39px);margin:10px 0}
.rankings-page .rank-intro{max-width:920px;color:#c8bcb5;line-height:1.68}
.rankings-page .rank-section{padding:45px 0 5px;border-top:1px solid #2b1d1b;margin-top:42px}
.rankings-page .rank-section>p{max-width:1050px;color:#c6b9b1;line-height:1.65}
.rankings-page .rank-section h2{font-size:clamp(25px,3vw,37px);margin:5px 0 12px}
.rankings-page .rank-toolbar{display:flex;align-items:end;gap:13px;padding:17px 19px;margin:21px 0 17px;flex-wrap:wrap}
.rankings-page .rank-toolbar label{min-width:min(260px,100%);display:flex;flex-direction:column;gap:8px;color:#bfb1a9;font-weight:600}
.rankings-page .rank-toolbar select{min-height:44px}
.rankings-page .rank-toolbar button{flex:0 0 auto}
.rankings-page .rank-status{flex-basis:100%;min-height:19px;font-size:13px;color:#e3a063;overflow-wrap:anywhere}
.rankings-page .rank-error{color:#ff7d6c!important}
.rankings-page .cms-ranking-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 23px}
.rankings-page .rank-metric{background:linear-gradient(160deg,#150e0e,#0a0808);border:1px solid #3d2925;border-radius:12px;box-shadow:0 8px 23px #0008;padding:19px 16px;min-width:0}
.rankings-page .rank-metric strong{font:800 clamp(25px,3vw,39px)/1 "Bahnschrift","Segoe UI",system-ui,sans-serif;color:#e3a063;display:block}
.rankings-page .rank-metric span{font-size:12px;font-weight:600;color:#a8a09a;display:block;margin-top:9px}
.rankings-page .rank-board{padding:0;overflow:hidden}
.rankings-page .rank-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 21px;border-bottom:1px solid #3d2925}
.rankings-page .rank-head h3{font-size:22px;margin:0}
.rankings-page .rank-badge,.rankings-page .rank-label{display:inline-flex;background:#2f1411;border:1px solid #5e2922;color:#ec9f83;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:750}
.rankings-page .rank-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rankings-page .rank-table{width:100%;min-width:570px;border-collapse:collapse;font-size:14px}
.rankings-page .rank-table th{text-align:left;background:#190e0d;color:#e3a063;padding:13px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.rankings-page .rank-table td{padding:14px 13px;border-bottom:1px solid #2b1d1b;color:#e5dcd5;white-space:nowrap}
.rankings-page .rank-table tr:hover td{background:#201211}
.rankings-page .rank-profile-cell{cursor:pointer;color:#e3a063!important;font-weight:800}
.rankings-page .rank-profile-cell:focus-visible{outline:2px solid #e3a063;outline-offset:-2px}
.rankings-page .rank-table .rank-empty{text-align:center;color:#b5aaa3;padding:25px 16px;white-space:normal}
.rankings-page .rank-mobile-list{display:none;padding:14px}
.rankings-page .rank-player-card{display:flex;flex-direction:column;gap:12px;padding:16px;margin-bottom:11px}
.rankings-page .rank-player-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rankings-page .rank-player-head strong{font-size:17px}
.rankings-page .rank-player-rating{font-weight:800;font-size:24px;color:#e3a063}
.rankings-page .rank-player-card p{font-size:13px;color:#b3a9a1}
.rankings-page .rank-player-card button{align-self:flex-start;min-height:42px}
.rankings-page .rank-badges{display:flex;flex-wrap:wrap;gap:7px}
.rankings-page .rank-provisional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;margin:18px 0}
.rankings-page .rank-categories{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:24px 0}
.rankings-page .rank-categories article{padding:16px 12px;min-width:0}
.rankings-page .rank-categories strong{display:block;color:#e3a063;font:800 clamp(19px,2.5vw,28px)/1.1 "Bahnschrift","Segoe UI",sans-serif}
.rankings-page .rank-categories span{display:block;color:#bfb1aa;font-size:12px;margin-top:7px}
.rankings-page .rank-form{display:flex;flex-direction:column;gap:14px;padding:23px;min-width:0}
.rankings-page .rank-form label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:13px;color:#d7c8bf;min-width:0}
.rankings-page .rank-form label.check{display:flex;flex-direction:row;align-items:center;gap:10px;line-height:1.5}
.rankings-page .rank-form label.check input{flex:0 0 auto;min-height:0}
.rankings-page .rank-form p{font-size:13px;color:#a8a09a}
.rankings-page .rank-form input,.rankings-page .rank-form select,.rankings-page .rank-form textarea{width:100%;min-width:0;font-size:16px}
.rankings-page .rank-form button{align-self:flex-start}
.rankings-page .rank-admin-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:17px 0 22px}
.rankings-page .rank-score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.rankings-page .rank-score-grid label:last-child{grid-column:1 / -1}
.rankings-page #rank-audit{max-height:380px;overflow-y:auto;padding:12px}
.rankings-page .rank-audit-line{border-bottom:1px solid #30201c;padding:9px 2px;font-size:13px;overflow-wrap:anywhere}
.rankings-page #rank-admin>.panel{padding:18px}
.rankings-page #rank-my-status,#rank-profile-detail,#rank-nomination-empty{padding:20px;margin:18px 0}
.rankings-page #rank-my-status h3,#rank-profile-detail h3{margin-bottom:10px}
.rankings-page #rank-my-status p,#rank-profile-detail p{color:#c5b7b0;margin-bottom:9px}
.rankings-page section[hidden],.rankings-page form[hidden],.rankings-page div[hidden]{display:none!important}
html[data-cms-view="mobile"] .rankings-page .rank-table-scroll{display:none}
html[data-cms-view="mobile"] .rankings-page .rank-mobile-list{display:block}
html[data-cms-view="mobile"] .rankings-page .rank-admin-panel{grid-template-columns:minmax(0,1fr)}
html[data-cms-view="mobile"] .rankings-page .rank-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-cms-view="mobile"] .rankings-page .cms-ranking-metrics{gap:7px}
html[data-cms-view="mobile"] .rankings-page .rank-metric{padding:11px 9px}
html[data-cms-view="mobile"] .rankings-page .rank-metric strong{font-size:25px}
html[data-cms-view="mobile"] .rankings-page .rank-metric span{font-size:10px}
html[data-cms-view="mobile"] .rankings-page .rank-toolbar{flex-direction:column;align-items:stretch;padding:15px;gap:12px}
html[data-cms-view="mobile"] .rankings-page .rank-toolbar button{width:100%}
html[data-cms-view="mobile"] .rankings-page .rank-head h3{font-size:18px}
html[data-cms-view="mobile"] .rankings-page .rank-section{margin-top:30px;padding-top:26px}
html[data-cms-view="mobile"] .rankings-page .rank-provisional-grid{grid-template-columns:minmax(0,1fr)}
html[data-cms-view="mobile"] .rankings-page .rank-form{padding:16px}
@media(max-width:360px){.rankings-page .rank-score-grid{grid-template-columns:1fr}.rankings-page .rank-head{padding:12px}}

.cms-medal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:18px 0}
.cms-medal-card{min-height:195px;border:1px solid #66503a;border-radius:12px;background:radial-gradient(ellipse at top,#483322,#100e10 74%);padding:18px 12px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:10px}
.cms-medal-card strong{color:#ffdfaa;font-size:15px}
.cms-medal-card small{color:#c9beb0;line-height:1.45}
.cms-medal-symbol{width:79px;height:79px;display:grid;place-items:center;font-size:43px;font-weight:800;color:#ffda94;border:5px double #c08c4e;border-radius:50%;background:radial-gradient(circle at 35% 30%,#dabc79,#634225 56%,#24150f 80%);box-shadow:0 4px 18px #0009,inset 0 0 12px #f7cd6d55;text-shadow:0 2px 4px #17100a}
.cms-medal-0,.cms-medal-4{filter:saturate(.72)}
.cms-medal-1,.cms-medal-5{filter:grayscale(.85) brightness(1.15)}
.cms-medal-3,.cms-medal-7{border-color:#f9cb6e;box-shadow:0 0 22px #c98d4680}
@media(max-width:600px){.cms-medal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
