/* Ranking only: presentation; the existing example data remains explicit. */
#page-ranking .page-heading{background:linear-gradient(115deg,#e4f7ee,#edf8fa);border:1px solid #badbce;border-radius:22px;padding:24px;box-shadow:0 6px 20px #164c3b08}
#page-ranking .page-heading h1{color:#105c48;font-size:clamp(30px,3vw,40px)}
#page-ranking .ranking-top-grid{grid-template-columns:minmax(0,1fr)}
#page-ranking .ranking-side{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}
#page-ranking .league-card{background:linear-gradient(125deg,#fff5d3,#fffaf0);border:1px solid #e6d099;border-radius:20px;box-shadow:0 5px 18px #8d6b1509}
#page-ranking .league-name strong{color:#896319;font-size:22px}
#page-ranking .league-progress{background:#ebdfbd}
#page-ranking .league-progress span{background:linear-gradient(90deg,#e3ac32,#f3d16c)}
#page-ranking .ranking-quick-stats article{border:1px solid #bcd9e6;border-radius:18px;background:#eaf5fc;color:#216b8c;padding:20px}
#page-ranking .ranking-quick-stats article:nth-child(2){background:#f0eafb;border-color:#d9cbed;color:#7a529f}
#page-ranking .ranking-quick-stats strong{font-size:32px}
#page-ranking .ranking-toolbar,#page-ranking .ranking-filter-row{gap:14px;flex-wrap:wrap}
#page-ranking .ranking-periods,#page-ranking .ranking-metrics{background:#eaf1ed;border:1px solid #d0dfd7;border-radius:14px;padding:5px}
#page-ranking .rank-filter{border-radius:10px;min-height:40px;color:#405f52}
#page-ranking .rank-filter.active{background:#fff;color:#0d765a;box-shadow:0 3px 10px #214f3c12}
#page-ranking .rank-switch.active{background:#147f63;color:#fff;box-shadow:0 4px 12px #147f6320}
#page-ranking .rank-list-panel{border:1px solid #cfdfd6;border-radius:22px;background:#fff;box-shadow:0 8px 26px #2349380b}
#page-ranking .rank-list-heading{padding:22px 22px 16px;gap:12px;flex-wrap:wrap}
#page-ranking .rank-list-heading h2{font-size:25px;color:#175e49;margin:0}
#page-ranking .rank-list-heading p{font-size:14px;color:#5d7368}
#page-ranking .rank-list{padding:0 16px;gap:10px}
#page-ranking .rank-row{background:#f8faf8;border:1px solid #e2eae4;border-radius:16px;padding:14px;grid-template-columns:52px minmax(0,1fr) auto auto;min-height:78px;gap:14px}
#page-ranking .rank-position{display:grid;gap:2px;justify-items:center;color:#587466;font-size:14px}
#page-ranking .rank-award{font-size:24px;line-height:1.15}
#page-ranking .rank-award:empty{display:none}
#page-ranking .rank-person-copy strong{font-size:16px;color:#243f33;white-space:normal;overflow-wrap:anywhere}
#page-ranking .rank-person-copy small{font-size:13px;color:#65786d}
#page-ranking .rank-avatar{width:42px;height:42px;border:2px solid #fff;box-shadow:0 2px 8px #224b3a13;font-size:14px}
#page-ranking .rank-score{font-size:17px;color:#15694f;background:#e4f3ec;padding:7px 10px;border-radius:10px}
#page-ranking .rank-top{min-height:92px;border-width:1px;box-shadow:0 4px 12px #6b593008}
#page-ranking .rank-top .rank-person-copy strong{font-size:20px;font-weight:800}
#page-ranking .rank-top .rank-score{font-size:21px}
#page-ranking .rank-top-1{background:linear-gradient(110deg,#fff1b9,#fffaf0);border-color:#e5c467;border-left:5px solid #d3a52a}
#page-ranking .rank-top-1 .rank-score{background:#ffe7a1;color:#845d10}
#page-ranking .rank-top-2{background:linear-gradient(110deg,#e8f2fb,#f7fbff);border-color:#b9d3e9;border-left:5px solid #7fabc9}
#page-ranking .rank-top-2 .rank-score{background:#dbeaf7;color:#346780}
#page-ranking .rank-top-3{background:linear-gradient(110deg,#fbe6db,#fff8f2);border-color:#e5baa0;border-left:5px solid #c9885d}
#page-ranking .rank-top-3 .rank-score{background:#f6d8c5;color:#965931}
#page-ranking .rank-me-fixed{position:static;margin:16px;border:1px solid #ab8ed0;border-left:5px solid #8a63b6;border-radius:16px;background:linear-gradient(110deg,#eae0f8,#f6efff);color:#59417b;box-shadow:0 4px 14px #65488c0d;padding:16px;grid-template-columns:52px minmax(0,1fr) auto}
#page-ranking .rank-me-fixed .rank-score{background:#dfd0f0;color:#694390}
#page-ranking .rank-me-fixed .rank-person-copy strong{color:#593b7c;font-size:17px}
#page-ranking .rank-me-label{display:table;margin:5px 0 0;background:#7953a9;color:white;padding:4px 8px;font-size:10px;letter-spacing:.04em}
#page-ranking .rank-rules{background:#fff;border:1px solid #d6e3dc;border-radius:20px;box-shadow:0 5px 18px #23493806}
#page-ranking .rank-rules summary{font-size:18px;color:#1b6551}
@media(hover:hover){#page-ranking .rank-row:hover{filter:brightness(.98);box-shadow:0 4px 12px #214f3c12}}
@media(max-width:760px){#page-ranking .ranking-side{grid-template-columns:minmax(0,1fr)}#page-ranking .page-heading{padding:20px;flex-wrap:wrap}#page-ranking .rank-list-heading{padding:18px}#page-ranking .rank-list{padding:0 10px}#page-ranking .rank-row{grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:12px;min-height:78px}#page-ranking .rank-person{grid-column:2;grid-row:1/3;gap:8px}#page-ranking .rank-position{grid-row:1/3}#page-ranking .rank-score{grid-column:3;grid-row:1;font-size:14px;padding:6px}#page-ranking .rank-movement{grid-column:3;grid-row:2}#page-ranking .rank-top .rank-person-copy strong{font-size:17px}#page-ranking .rank-top .rank-score{font-size:16px}#page-ranking .rank-me-fixed{margin:14px 10px;grid-template-columns:36px minmax(0,1fr) auto;padding:12px;gap:9px}#page-ranking .rank-me-fixed .rank-person{grid-row:1}#page-ranking .rank-me-fixed .rank-position{grid-row:1}#page-ranking .rank-person-copy strong{font-size:15px}#page-ranking .rank-avatar{width:34px;height:34px;font-size:12px}}
@media(max-width:390px){#page-ranking .rank-row,#page-ranking .rank-me-fixed{grid-template-columns:30px minmax(0,1fr);gap:8px}#page-ranking .rank-person{grid-row:1;grid-column:2}#page-ranking .rank-position{grid-row:1/3}#page-ranking .rank-score{grid-row:2;grid-column:2;justify-self:start}#page-ranking .rank-movement{grid-column:2;grid-row:2;justify-self:end}#page-ranking .rank-top .rank-person-copy strong{font-size:17px}#page-ranking .rank-me-fixed .rank-score{grid-row:2}#page-ranking .rank-me-fixed .rank-position{grid-row:1/3}}
