.rk-sort { padding: 14px; margin-bottom: 16px; background: #f7f7f7; border-left: 3px solid #c00; }
.rk-sort select { max-width: 420px; margin: 6px 0 10px; }
.rk-sort-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rk-sort-controls select { width:100%; max-width:none; }
.rk-formula { background:#f8f5fc; border-radius:6px; padding:12px; color:#514064; }
.rk-partial { margin-left:4px; color:#766445; }
.rk-honors-table { table-layout:fixed; width:100%; }
.rk-honors-table .rk-honor-rank { width:40px; }
.rk-honors-table .rk-honor-name { width:20%; }
.rk-honors-table .rk-honor-show { width:12%; }
.rk-honors-table th, .rk-honors-table td { text-align:center; padding:9px 4px; overflow-wrap:anywhere; }
.rk-honors-table .rk-honor-name, .rk-honors-table .rk-honor-show { text-align:left; }
.rk-honor-value { display:inline-block; min-width:24px; padding:3px 5px; border-radius:5px; background:#f3e8c3; color:#72520d; font-weight:700; }
.rk-honors-table th { font-size:11px; }
.rk-honors-total { font-size:12px; font-weight:500; margin-left:8px; opacity:.8; }
@media(max-width:991px) {
  .ranking-view .rk-honors-table, .ranking-view .rk-honors-table tbody { display:block; width:100%; }
  .ranking-view .rk-honors-table thead { display:none; }
  .ranking-view .rk-honors-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; margin-bottom:14px; padding:14px; border:1px solid #ddd; border-radius:8px; background:#fff; }
  .ranking-view .rk-honors-table td { display:flex; justify-content:space-between; align-items:center; gap:8px; width:auto; min-width:0; padding:5px 0; border:0; text-align:right; white-space:normal; }
  .ranking-view .rk-honors-table td::before { content:attr(data-label); font-size:11px; font-weight:600; color:#666; text-align:left; }
  .ranking-view .rk-honors-table td.rk-honor-name, .ranking-view .rk-honors-table td.rk-honor-show { grid-column:1 / -1; }
  .ranking-view .rk-honors-table td.rk-honor-name { font-size:15px; font-weight:700; }
  .ranking-view .rk-honors-table td.rk-honor-name::before { display:none; }
  .ranking-view .rk-honors-table td.rk-honor-empty { display:none; }
  .ranking-view .rk-honors-table tr.rk-row-user { border-left:3px solid #c00; background:#fffaf0; }
}
@media(max-width:480px) {
  .ranking-view .rk-honors-table tr { grid-template-columns:1fr; gap:4px; }
}
.ranking-view .rk-step, .ranking-view .rk-show-name { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .rk-sort-controls { grid-template-columns:1fr; gap:0; }
  .ranking-view .panel-body { padding: 10px; }
  .ranking-view .rk-responsive-table, .ranking-view .rk-responsive-table tbody { display: block; width: 100%; min-width: 0; }
  .ranking-view .rk-responsive-table thead { display: none; }
  .ranking-view .rk-responsive-table tr { display: block; margin-bottom: 12px; padding: 8px 12px; border: 1px solid #ddd; border-radius: 5px; background: #fff; }
  .ranking-view .rk-responsive-table tr.rk-row-user { border-left: 3px solid #c00; background: #fffaf0; }
  .ranking-view .rk-responsive-table td { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: auto; min-width: 0; max-width: 100%; padding: 7px 0; text-align: right; white-space: normal; overflow-wrap: anywhere; border: 0; }
  .ranking-view .rk-responsive-table td::before { content: attr(data-label); flex: 0 0 38%; font-size: 12px; font-weight: 600; text-align: left; color: #666; }
  .ranking-view .rk-responsive-table td wmm-segment { min-width: 0; overflow-wrap: anywhere; }
  .ranking-view .rk-podium { gap: 6px; }
  .ranking-view .rk-step { flex: 1 1 0; padding-left: 3px; padding-right: 3px; width: auto; }
  .ranking-view .rk-step-name { font-size: 12px; overflow-wrap: anywhere; }
  .ranking-view .rk-show { display: grid; grid-template-columns: 28px minmax(0,1fr) 40px; gap: 8px; }
  .ranking-view .rk-show-bar { grid-column: 2; grid-row: 2; width: 100%; }
  .ranking-view .rk-show-ovr { grid-column: 3; grid-row: 1; }
}
/* Career achievements: the same labeled-card layout as the ranking on phones. */
.ss-reign-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:14px 0; }
.ss-reign-card { min-width:0; padding:16px; border:1px solid #ddd; border-top:3px solid #b89020; border-radius:8px; background:#fff; }
.ss-reign-card.silver { border-top-color:#929aa5; }
.ss-reign-card.bronze { border-top-color:#b86b37; }
.ss-reign-card h6 { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:700; margin:0 0 12px; }
.ss-reign-card dl, .ss-mastermania dl { margin:0; }
.ss-reign-card dl > div, .ss-mastermania dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px solid #eee; }
.ss-reign-card dt, .ss-mastermania dt { font-size:12px; font-weight:500; }
.ss-reign-card dd, .ss-mastermania dd { flex-shrink:0; font-weight:700; margin:0; }
.ss-history-note { color:#666; font-size:11px; line-height:1.5; margin:12px 0 0; }
.ss-mastermania { background:#fff9e8; border-left:3px solid #bd941d; padding:12px 16px; margin:16px 0; }
.ss-mastermania dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ss-career-total { margin:12px 0; }
.ranking-view .rk-step-ovr { overflow-wrap:anywhere; }
@media (max-width:767px) {
  .ss-reign-grid { grid-template-columns:1fr; }
  .ss-mastermania dl { grid-template-columns:1fr; gap:0; }
  .superstar-detail-view .ss-career-table, .superstar-detail-view .ss-career-table tbody { display:block; width:100%; min-width:0; }
  .superstar-detail-view .ss-career-table thead { display:none; }
  .superstar-detail-view .ss-career-table tr { display:block; padding:8px 12px; margin-bottom:10px; border:1px solid #ddd; border-radius:6px; background:#fff; }
  .superstar-detail-view .ss-career-table td { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 0; width:auto; min-width:0; white-space:normal; overflow-wrap:anywhere; border:0; text-align:right; }
  .superstar-detail-view .ss-career-table td::before { content:attr(data-label); flex:0 0 38%; text-align:left; font-weight:600; font-size:12px; color:#666; }
  .ranking-view .rk-step-ovr { font-size:12px; }
}
/* Stable and duo cards shared by Superstar and Ranking. */
.wmm-stable-card,.wmm-team-rank-card {width:100%;border:1px solid #ddd;border-radius:12px;padding:18px;background:#fff;color:#222;box-shadow:0 3px 12px rgba(0,0,0,.04);}
.wmm-group-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;}
.wmm-group-heading h3,.wmm-group-heading h4 {margin:3px 0;font-size:18px;font-weight:700;overflow-wrap:anywhere;}
.wmm-group-kicker {font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#777;}
.wmm-group-pop {flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:3px;max-width:45%;}
.wmm-group-pop strong {font-size:25px;color:#a80028;line-height:1.1;}
.wmm-group-pop span {font-size:11px;color:#666;text-align:right;}
.wmm-group-help {color:#777;font-size:12px;margin:12px 0;}
.wmm-duo-panel {padding:14px;border:1px solid #ddd3a6;border-left:4px solid #cda52d;border-radius:9px;background:#fffdf5;margin-top:14px;}
.wmm-group-members {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
.wmm-group-member {display:flex;align-items:center;gap:10px;min-width:0;}
.wmm-group-member img {width:58px;height:58px;object-fit:contain;flex-shrink:0;border-radius:9px;background:#f4f4f4;}
.wmm-group-member>div {min-width:0;overflow-wrap:anywhere;}
.wmm-group-member wmm-segment {font-weight:700;}
.wmm-member-caption {display:block;color:#777;font-size:12px;line-height:1.5;}
.wmm-stable-others {padding:6px 14px 0;}
.wmm-team-ranking {display:grid;gap:14px;margin-top:18px;}
.wmm-team-identity {display:flex;gap:12px;align-items:center;min-width:0;}
.wmm-team-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid #eee;margin:16px 0 0;padding-top:12px;}
.wmm-team-stats div {text-align:center;}
.wmm-team-stats dt {font-weight:400;color:#777;font-size:12px;}
.wmm-team-stats dd {font-size:19px;font-weight:700;}
@media(max-width:480px){.wmm-stable-card,.wmm-team-rank-card{padding:13px;}.wmm-group-members{grid-template-columns:1fr;}.wmm-group-member img{width:52px;height:52px;}.wmm-group-heading{gap:10px;}.wmm-group-heading h3{font-size:16px;}.wmm-group-pop strong{font-size:22px;}.wmm-team-stats{gap:4px;}}
