/* Shared arcade ranking surfaces. Text wraps at mobile widths without hiding scores. */
.champion-preview {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:12px 16px 0;font-size:12px;line-height:1.45;}
.champion-preview small {grid-column:1/-1;color:var(--muted);font-size:10px;}
.champion-preview > span:not(.lb-score) {grid-column:1/-1;color:var(--muted);}
.champion-preview .lb-score {color:var(--text);font-weight:800;}
.scene-champion {display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 14px;padding:12px 18px;background:#17251b;color:#edf6e5;border:1px solid #b8f57435;border-bottom:0;font-size:13px;}
.scene-champion small {color:#b8f574;font-weight:750;}
.scene-champion .lb-name {flex:1;min-width:0;}
.lb-name {overflow-wrap:anywhere;word-break:normal;}
.lb-score {font-variant-numeric:tabular-nums;}
.lb-podium {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:24px 0;padding:0;}
.lb-podium-place {display:flex;flex-direction:column;gap:9px;min-width:0;padding:18px;border:1px solid #ffffff18;border-radius:14px;background:#19232d;color:#f6f5ed;}
.lb-podium-place.lb-place-1 {background:#24331e;border-color:#b8f57488;}
.lb-place {font-size:12px;letter-spacing:.05em;color:#b8f574;}
.lb-podium .lb-name {font-size:17px;line-height:1.3;}
.lb-podium .lb-score {font-size:clamp(22px,3.5vw,32px);font-weight:850;letter-spacing:-.035em;margin-top:auto;}
.lb-table {width:100%;border-collapse:collapse;table-layout:fixed;}
.lb-table caption {text-align:left;padding:4px 0 14px;color:var(--muted);font-size:13px;}
#leaderboardContent .lb-table th,#leaderboardContent .lb-table td {text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);font-size:14px;}
.lb-table th {color:var(--muted);font-weight:550;}
.lb-table td {color:var(--text);}
.lb-table th {overflow-wrap:anywhere;}
.lb-table th:first-child,.lb-table td:first-child {width:15%;}
#leaderboardContent .lb-table th:last-child,#leaderboardContent .lb-table td:last-child {width:30%;text-align:right;overflow-wrap:anywhere;}
.lb-table td:last-child {font-weight:800;}
.lb-own {background:#b8f57418;box-shadow:inset 3px 0 #86b955;}
.lb-you {display:inline-block;margin-left:8px;padding:3px 6px;border:1px solid #7fba5066;border-radius:5px;font-size:10px;}
.lb-personal {margin-top:22px;padding:18px;border:1px solid #86b95570;border-radius:14px;background:#b8f5740a;}
.lb-personal h3 {margin:0 0 12px;font-size:16px;}
.lb-personal-stats {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.lb-personal-stats p {display:flex;flex-direction:column;gap:5px;margin:0;}
.lb-personal-stats span {font-size:12px;color:var(--muted);}
.lb-personal-stats strong {font-size:27px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.lb-target {margin:12px 0 0;font-size:13px;}
.lb-notice,.lb-join {padding:18px 0;line-height:1.7;color:var(--muted);}
.game-result {margin-top:20px;margin-bottom:24px;padding:24px;border:1px solid #92c95980;border-radius:16px;background:var(--panel-solid);color:var(--text);}
.game-result h3 {font-size:18px;margin:0 0 16px;}
.result-score {display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 22px;margin:0;}
.result-score span {font-size:13px;color:var(--muted);}
.result-score strong {font-size:44px;font-weight:850;letter-spacing:-.04em;overflow-wrap:anywhere;}
.result-local,.result-state {font-size:13px;line-height:1.65;}
.result-local {color:var(--muted);}
.result-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.result-actions button {min-height:44px;padding:12px 18px;white-space:normal;max-width:100%;}
.result-record {border-radius:9px;background:#b8f574;color:#172312;padding:12px 16px;font-weight:800;animation:record-glow 700ms ease-out 1;}
@keyframes record-glow {from {box-shadow:0 0 0 7px #b8f57438;}to {box-shadow:0 0 0 0 #b8f57400;}}
@media(max-width:600px) {
  .lb-podium {gap:6px;}
  .lb-podium-place {padding:12px 8px;gap:7px;}
  .lb-podium .lb-name {font-size:13px;}
  .lb-podium .lb-score {font-size:21px;overflow-wrap:anywhere;}
  #leaderboardContent .lb-table th,#leaderboardContent .lb-table td {padding:12px 6px;font-size:12px;}
  .lb-table th:first-child,.lb-table td:first-child {width:19%;}
  .lb-personal {padding:14px;}
  .game-result {padding:18px;}
  .result-actions button {flex:1 1 130px;}
}
@media(prefers-reduced-motion:reduce) {.result-record {animation:none;}}
