/* Step 25 — genuine live leaderboard visual layer */
.loa-rank-section{background:radial-gradient(ellipse at 85% 9%,#153146 0%,transparent 44%),#101924}
.loa-rank-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.loa-rank-intro h2{margin-bottom:7px}
.loa-rank-live-label{border:1px solid #668c80;color:#b4f0d8;background:#142c2c;padding:10px 16px;font-size:11px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;white-space:nowrap}
.loa-rank-live-dot{display:inline-block;background:#83dfbd;border-radius:50%;width:9px;height:9px;margin-right:7px;box-shadow:0 0 10px #83dfbd75}
.loa-rank-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:end;padding:20px;border:1px solid #465a6c;background:#162332;margin:8px 0 16px}
.loa-rank-controls .field{flex:1;min-width:170px}.loa-rank-controls .loa-rank-search{flex:1.5;min-width:185px}
.loa-rank-refresh{min-height:43px;padding:10px 15px;border:1px solid #8a7755;background:#263043;color:#ebd4aa;font:800 11px Inter,sans-serif;cursor:pointer}
.loa-rank-refresh:hover{background:#3b3d42}.loa-rank-refresh:disabled{opacity:.5;cursor:progress}
.loa-rank-status{min-height:22px;color:#b5d7df;margin:12px 0 16px;font-size:12px;line-height:1.6}
.loa-rank-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}
.loa-rank-podium:empty{display:none}
.loa-rank-winner{min-width:0;position:relative;border:1px solid #566b7c;background:linear-gradient(145deg,#25374a,#14212e);padding:18px;display:flex;gap:12px;align-items:center}
.loa-rank-winner[data-place="1"]{border-color:#bb9651;background:linear-gradient(145deg,#3c3021,#202533)}
.loa-rank-place{font:800 31px Cinzel,serif;color:#e7c784;line-height:1;min-width:37px}
.loa-rank-winner strong{display:block;font:700 15px Cinzel,serif;color:#f0dfb9;overflow-wrap:anywhere}
.loa-rank-winner small{display:block;color:#bed3df;font-size:11px;margin-top:5px}
.loa-rank-winner a{text-decoration:none}.loa-rank-winner a:hover strong{text-decoration:underline}
.loa-rank-winner .loa-rank-score{color:#b5e8e7;font-weight:800;font-size:14px;margin-top:6px}
.loa-rank-table{margin-top:10px}.loa-rank-table tr:first-child td{border-top-color:#9e8157}.loa-rank-table td:nth-child(3){font-weight:800;color:#edc88e;font-variant-numeric:tabular-nums}
.loa-rank-table small{font-size:11px;color:#95aebc;display:block;margin-top:3px}
.loa-rank-game-link{display:inline-block;white-space:nowrap}
.loa-rank-empty{padding:25px;text-align:center;background:#172433;border:1px solid #56677a;margin:10px auto}
.loa-rank-empty[hidden]{display:none!important}.loa-rank-empty-glyph{color:#deb66e;font-size:35px}.loa-rank-empty h3{font:700 20px Cinzel,serif;color:#eacb98;margin:7px 0}
.loa-rank-empty p{max-width:560px;margin:0 auto;color:#b4c4d1;line-height:1.7;font-size:12px}
.loa-rank-disclaimer{font-size:11px;line-height:1.8;color:#a7bbc7;border-left:3px solid #6c8f9b;padding:10px 13px;margin:23px 0 0;background:#152333}
.loa-rank-disclaimer strong{color:#e9d3a6}
@media(max-width:850px){.loa-rank-podium{grid-template-columns:1fr}.loa-rank-winner{padding:13px 17px}.loa-rank-controls{padding:15px}}
@media(max-width:480px){.loa-rank-controls .field{min-width:100%}.loa-rank-refresh{width:100%}.loa-rank-intro{display:block}.loa-rank-live-label{display:inline-block;margin:0 0 15px}.loa-rank-section{padding-top:39px}}
/* Step 31: Top 25 plus signed-in player's own row and honest snapshot movement. */
.loa-rank-move{display:inline-flex;align-items:center;gap:2px;font:800 12px/1 Inter,system-ui,sans-serif;letter-spacing:0;margin-left:7px;vertical-align:middle;white-space:nowrap}
.loa-rank-move.up{color:#64e5a4}.loa-rank-move.down{color:#ff777d}
.loa-rank-self-row{background:linear-gradient(90deg,rgba(187,143,72,.19),rgba(16,37,55,.2));outline:1px solid rgba(231,191,119,.4);outline-offset:-1px}
.loa-rank-self,.loa-rank-search-results{margin-top:18px;border-top:1px solid #846c4c;padding-top:17px}
.loa-rank-self[hidden],.loa-rank-search-results[hidden]{display:none!important}
.loa-rank-self h3,.loa-rank-search-results h3{font:700 18px/1.35 Cinzel,Georgia,serif;color:#f3d69c;margin:0 0 7px}
.loa-rank-self>p{color:#c1cfdb;font-size:12px;margin:6px 0 10px}
.loa-rank-podium .loa-rank-move{font-size:11px;margin-left:4px}
.loa-rank-table .rank-number{white-space:nowrap}

.loa-rank-self-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin:9px 0 15px}
.loa-rank-stat-pill{display:flex;flex-direction:column;gap:5px;padding:9px 11px;border:1px solid #526778;background:#142335}
.loa-rank-stat-pill small{font:600 10px/1.35 Inter,system-ui,sans-serif;color:#afc1cd}
.loa-rank-stat-pill strong{font:800 16px/1.2 Inter,system-ui,sans-serif;color:#f2d9a6}
