/* Hall da Fama: scoped tokens keep the game, menus and GBA panels unchanged. */
#screen #overlay[data-ranking=true] {position:fixed!important;inset:0!important;display:block!important;width:auto!important;height:auto!important;max-width:none!important;padding:20px!important;border:0!important;background:#020c0cdf!important;backdrop-filter:blur(12px);z-index:15020;overflow:hidden;box-sizing:border-box;}
#screen #overlay[data-ranking=true]>.panel-back {display:none!important;}
#screen #detail.rankings-panel {--rank-ink:#eff6ec;--rank-muted:#a7bcb2;--rank-gold:#e2c381;--rank-line:#bad6bd24;--rank-emerald:#74ddb2;position:relative!important;inset:auto!important;width:100%!important;height:100%!important;max-width:1320px!important;max-height:none!important;margin:0 auto!important;padding:0!important;border:1px solid #b2caaa40!important;border-radius:18px!important;box-shadow:0 32px 120px #0009,inset 0 1px #e5ffe515!important;background:linear-gradient(135deg,#153e34eb,#091e1df5 50%,#071817fa)!important;overflow:hidden!important;color:var(--rank-ink);font:16px/1.5 'Segoe UI',system-ui,sans-serif;text-shadow:none;}
#screen #detail.rankings-panel * {box-sizing:border-box;}
#screen #detail.rankings-panel [hidden] {display:none!important;}
#screen #detail.rankings-panel :is(h1,h2,h3,p) {margin:0;color:inherit;border:0;text-shadow:none;}
#screen #detail.rankings-panel button {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-width:44px;min-height:44px;padding:10px 14px!important;margin:0;background:#ffffff05;border:1px solid var(--rank-line)!important;border-radius:9px!important;color:var(--rank-ink);box-shadow:none;font:600 13px/1.3 'Segoe UI',system-ui,sans-serif;letter-spacing:0;text-transform:none;text-align:center;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,color .18s;}
#screen #detail.rankings-panel button:hover:not(:disabled) {background:#bcecc814;border-color:#e2c38180!important;color:#fff4d3;}
#screen #detail.rankings-panel button:active:not(:disabled) {transform:translateY(1px) scale(.98);}
#screen #detail.rankings-panel button:focus-visible {outline:2px solid #f2d89d!important;outline-offset:3px;}
#screen #detail.rankings-panel button:disabled {opacity:.35;cursor:default;}
#screen #detail.rankings-panel .rank-shell {height:100%;display:grid;grid-template-rows:64px minmax(0,1fr);}
#screen #detail.rankings-panel .rank-topbar {display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--rank-line);background:#03141240;}
#screen #detail.rankings-panel .rank-back {border:0!important;background:none;color:var(--rank-muted);padding-left:0!important;}
.rank-brand {display:flex;align-items:center;gap:12px;color:#d5c69e;font-size:12px;font-weight:700;letter-spacing:.22em;}
.rank-brand i {width:4px;height:4px;background:#6ba586;rotate:45deg;}
#screen #detail.rankings-panel .rank-close {border:0!important;background:none;font-size:25px;font-weight:300;}
.rank-layout {display:grid;grid-template-columns:230px minmax(0,1fr);min-height:0;}
.rank-sidebar {display:flex;flex-direction:column;gap:20px;padding:22px 14px 18px;border-right:1px solid var(--rank-line);background:linear-gradient(180deg,#2f57451a,#00000012);min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#759f8860 transparent;}
.rank-sidebar-heading {padding:0 12px;}
.rank-sidebar-heading>span,.rank-eyebrow {font-size:12px;letter-spacing:.18em;font-weight:700;color:var(--rank-gold)!important;}
#screen #detail.rankings-panel .rank-sidebar-heading h2 {font-size:28px;font-weight:600;letter-spacing:-.8px;margin:7px 0;}
.rank-sidebar-heading p {font-size:12px;color:var(--rank-muted)!important;}
.rank-tabs {display:flex;flex-direction:column;gap:7px;}
#screen #detail.rankings-panel .rank-tab {position:relative;width:100%;justify-content:flex-start;gap:12px;min-height:58px;text-align:left;padding:10px!important;border:1px solid transparent!important;background:transparent;color:#96b5a8;}
.rank-tab strong {display:block;font-size:14px;font-weight:600;}
.rank-tab small {display:block;font-size:12px;font-weight:400;color:#98b1a6;margin-top:3px;}
.rank-tab-arrow {margin-left:auto;font-size:21px;font-weight:300;opacity:.35;}
#screen #detail.rankings-panel .rank-tab[aria-selected=true] {background:linear-gradient(110deg,#46836338,#91b56612);border-color:#c4d29940!important;color:#f5e4b5;box-shadow:inset 3px 0 #dabe7f,0 3px 18px #0001;}
.rank-tab[aria-selected=true] .rank-icon {filter:drop-shadow(0 0 8px #a1dc9650);color:#e2c381;}
.rank-side-note {display:flex;gap:10px;padding:20px 12px 0;margin-top:auto;border-top:1px solid var(--rank-line);color:#8eaa9e;font-size:12px;}
.rank-side-note strong {font-size:12px;font-weight:600;color:#c5d7bf;}
.rank-side-note p {padding-top:5px;line-height:1.6;}
.rank-live-dot {width:5px;height:5px;flex:0 0 5px;background:#74ddb2;border-radius:50%;box-shadow:0 0 9px #74ddb25a;margin-top:5px;}
.rank-icon {display:block;width:23px;height:23px;flex:0 0 23px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;}
.rank-content {overflow:auto;padding:24px 32px 18px;min-width:0;scrollbar-width:thin;scrollbar-color:#759f8860 transparent;overscroll-behavior:contain;}
.rank-content:focus-visible {outline:1px solid #e2c381!important;outline-offset:-2px;}
.rank-hero {position:relative;display:flex;align-items:center;min-height:160px;padding:8px 0 20px;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--rank-line);}
.rank-hero::after {content:'';position:absolute;inset:-110px -100px -200px 35%;z-index:-1;background:radial-gradient(ellipse,#76b88622,transparent 62%);pointer-events:none;}
.rank-hero-copy {z-index:1;}
#screen #detail.rankings-panel .rank-hero h1 {font-size:clamp(28px,3vw,38px);line-height:1.13;letter-spacing:-1.2px;font-weight:600;margin:8px 0;}
.rank-hero h1 em {font-style:normal;color:#e3cc98;font-weight:400;}
#screen #detail.rankings-panel .rank-description {font-size:12px;color:#acbfb5;max-width:350px;}
.rank-season {position:absolute;top:0;right:0;border:1px solid #d8c08a45;border-radius:100px;padding:5px 12px;color:#e1d3ab;font-size:12px;letter-spacing:.13em;background:#364a2a22;}
.rank-hero-crest {position:absolute;right:50px;bottom:18px;rotate:-8deg;opacity:.65;}
.rank-crest {--elo-color:#e2c381;display:inline-grid;position:relative;place-items:center;width:68px;height:76px;filter:drop-shadow(0 6px 8px #0006);color:var(--elo-color);isolation:isolate;}
.rank-crest::before {content:'';position:absolute;inset:4px 1px 0;background:linear-gradient(135deg,#e6f6d711,#fff0 42%,#0004);clip-path:polygon(50% 0,96% 22%,90% 72%,50% 100%,10% 72%,4% 22%);border-radius:15px;}
.rank-crest .rank-icon:first-child {width:100%;height:100%;stroke-width:.65;fill:color-mix(in srgb,var(--elo-color) 9%,transparent);}
.rank-crest .rank-icon:last-child {position:absolute;width:40%;height:40%;top:13%;stroke-width:1.05;fill:color-mix(in srgb,var(--elo-color) 15%,transparent);}
.rank-hero-crest>.rank-crest {width:130px;height:145px;filter:drop-shadow(0 0 38px #c7ca7930);}
.rank-toolbar {display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0 18px;}
#screen #detail.rankings-panel .rank-category-title {font-size:17px;letter-spacing:-.2px;font-weight:600;}
#screen #detail.rankings-panel .rank-rules {font-size:12px;color:#90ad9f;margin-top:4px;}
.rank-toolbar-actions {display:flex;align-items:center;gap:8px;}
#screen #detail.rankings-panel .rank-refresh {font-size:18px;padding:8px 12px!important;min-height:40px;color:#d9d6b4;}
.rank-refresh span {font-size:12px;font-weight:400;}
.rank-metrics {display:flex;gap:3px;background:#010d0a30;border:1px solid var(--rank-line);border-radius:8px;padding:3px;}
#screen #detail.rankings-panel .rank-metrics button {font-size:12px;min-height:32px;padding:7px 9px!important;border:0!important;background:none;white-space:nowrap;}
#screen #detail.rankings-panel .rank-metrics button[aria-pressed=true] {background:#7295772e;color:#e4d39f;}
.rank-podium {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;}
.rank-podium-card {position:relative;display:flex;flex-direction:column;align-items:center;padding:12px 16px 14px;min-width:0;overflow:hidden;border:1px solid #96c5ad30;border-radius:12px;background:linear-gradient(160deg,#234a3c75,#112d2850);box-shadow:inset 0 1px #e3ffd10a;animation:rank-appear .3s ease-out both;}
.rank-podium-card[data-place="1"] {border-color:#bfa2657a;background:radial-gradient(ellipse at top,#a7b27122,transparent 70%),linear-gradient(140deg,#36583b65,#16342b50);}
.rank-podium-card[data-place="1"]::before {content:'';position:absolute;left:20%;right:20%;top:0;height:1px;background:linear-gradient(90deg,transparent,#f3db8f,transparent);box-shadow:0 0 17px #e6b95c;}
.rank-podium-top {display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:8px;}
.rank-place {font-size:16px;color:#d5c188;font-weight:300;}
.rank-podium-caption {color:#90aa9a;font-size:12px;letter-spacing:.13em;}
.rank-podium-card[data-place="1"] .rank-podium-caption {color:#d6bd82;}
.rank-podium-emblem {height:59px;display:grid;place-items:center;margin:3px 0 7px;}
.rank-podium-emblem .rank-crest {width:48px;height:54px;}
#screen #detail.rankings-panel .rank-podium-emblem canvas {width:64px!important;height:64px!important;image-rendering:pixelated;}
.rank-name {display:inline-flex;align-items:center;gap:5px;max-width:100%;font-weight:600;font-size:13px;overflow-wrap:anywhere;line-height:1.3;}
.rank-hardcore {width:13px;height:13px;flex:0 0 13px;fill:#e3c5ba;shape-rendering:crispEdges;}
.rank-podium-detail {font-size:12px;color:#8fac9d;padding-top:6px;text-align:center;}
.rank-podium-score {font-size:21px;font-weight:500;color:#ead5a4;letter-spacing:-.7px;padding-top:6px;font-variant-numeric:tabular-nums;}
#screen #detail.rankings-panel .rank-table {width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;}
#screen #detail.rankings-panel .rank-table th {padding:9px 10px;color:#7d9a8e;text-align:left;letter-spacing:.14em;font-size:12px;font-weight:500;border-bottom:1px solid var(--rank-line);}
#screen #detail.rankings-panel .rank-table th:first-child {width:54px;}#screen #detail.rankings-panel .rank-table th:nth-child(2) {width:39%;}#screen #detail.rankings-panel .rank-table th:nth-child(4) {width:110px;text-align:right;}
#screen #detail.rankings-panel .rank-table td {padding:12px 10px;border-bottom:1px solid #a9c6ae10;}
#screen #detail.rankings-panel .rank-table tbody tr {transition:background .18s;background:#ffffff00;}
#screen #detail.rankings-panel .rank-table tbody tr:hover {background:#abdab508;}
#screen #detail.rankings-panel .rank-table tr[data-self=true] {background:#5aa78213;box-shadow:inset 2px 0 #d0bb7c;}
.rank-position {color:#83a494;font-size:12px;}
.rank-who {display:table-cell;}
.rank-row-emblem {display:inline-flex;align-items:center;justify-content:center;width:29px;height:34px;vertical-align:middle;margin-right:11px;}
.rank-row-emblem .rank-crest {width:25px;height:29px;}
#screen #detail.rankings-panel .rank-row-emblem canvas {width:32px!important;height:32px!important;image-rendering:pixelated;}
.rank-row-identity {display:inline-flex;flex-direction:column;vertical-align:middle;max-width:calc(100% - 44px);gap:4px;}
.rank-row-identity small {color:#769587;font-size:12px;}
.rank-row-detail {font-size:12px;color:#97b1a3;}
#screen #detail.rankings-panel .rank-row-score {text-align:right;font-size:14px;font-weight:600;color:#ded5ab;}
.rank-pagination {display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0;color:#86a495;font-size:12px;}
.rank-pagination>div {display:flex;gap:12px;align-items:center;}
#screen #detail.rankings-panel .rank-pagination button {width:34px;min-width:34px;min-height:34px;padding:5px!important;font-size:16px;}
.rank-page {font-variant-numeric:tabular-nums;}
.rank-self {display:flex;align-items:center;gap:16px;background:linear-gradient(100deg,#b7c37616,#529d7210);border:1px solid #a3b5863d;border-radius:10px;padding:17px 20px;min-height:69px;}
.rank-self>.rank-icon {color:#d8c48d;}
.rank-self-label {max-width:90px;font-size:12px;letter-spacing:.12em;color:#b0bd9f;}
.rank-self-position {font-size:19px;color:#e4ce9a;font-weight:500;}
.rank-self-score {margin-left:auto;color:#ebd8a3;white-space:nowrap;font-weight:600;}
.rank-self-missing {font-size:12px;color:#91ab9c;}
.rank-footnote {display:flex;justify-content:space-between;gap:15px;color:#668474;font-size:12px;padding-top:13px;}
.rank-empty {min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:25px;text-align:center;border:1px solid var(--rank-line);border-radius:12px;background:radial-gradient(ellipse at top,#4b806227,transparent 75%);}
#screen #detail.rankings-panel .rank-empty h3 {font-size:23px;letter-spacing:-.5px;font-weight:500;}
#screen #detail.rankings-panel .rank-empty p {font-size:12px;color:#a4bbaa;max-width:360px;}
.rank-loading {min-height:300px;color:#9bb5a7;font-size:12px;}
.rank-loading>p {padding:15px 0!important;}
.rank-skeleton {height:44px;margin:12px 0;border-radius:7px;background:linear-gradient(100deg,#b1d7be04,#b1d7be11,#b1d7be04);background-size:200% 100%;animation:rank-shimmer 1.7s linear infinite;}
.rank-opening {padding:30px!important;color:#d7daba!important;}
body:has(#overlay:not([hidden])[data-ranking=true]) {overflow:hidden;}
body:has(#overlay:not([hidden])[data-ranking=true]) :is(#touch-controls,#touch-controls *,#server-presence,#campaign-objective,#companion-chat-toggle,#chat-toggle,#exit-immersive-btn,.game-frame-ornaments) {visibility:hidden!important;pointer-events:none!important;}
#screen #overlay[data-view=menu] #menu button[data-panel=Rankings] {border-color:#c2ab6d55;background:linear-gradient(100deg,#7b895525,transparent);color:#f2db9e;}
#screen #overlay[data-view=menu] #menu button[data-panel=Rankings]::after {content:'GLOBAL';margin-left:auto;font:600 8px/1.4 'Segoe UI',sans-serif;letter-spacing:.15em;color:#c8bb87;border:1px solid #c8bb8740;padding:4px 6px;border-radius:4px;}
@keyframes rank-appear {from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@keyframes rank-shimmer {to{background-position:-200% 0}}
@media(max-width:1000px){.rank-layout{grid-template-columns:195px minmax(0,1fr)}.rank-content{padding:23px 22px 18px}.rank-sidebar{padding:25px 10px}.rank-toolbar{flex-wrap:wrap}.rank-hero-crest{right:5px;opacity:.35}.rank-podium-caption{font-size:12px;letter-spacing:.05em}#screen #detail.rankings-panel .rank-table th:nth-child(2){width:43%}#screen #detail.rankings-panel .rank-table th:nth-child(4){width:90px}.rank-brand{font-size:12px}.rank-self{gap:11px;padding:14px;}}
@media(max-width:700px){
  #screen #overlay[data-ranking=true]{padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;}
  #screen #detail.rankings-panel{border-radius:12px!important;}
  #screen #detail.rankings-panel .rank-shell{grid-template-rows:52px minmax(0,1fr)}
  #screen #detail.rankings-panel .rank-topbar{padding:0 12px}.rank-brand{font-size:12px;letter-spacing:.13em;gap:6px}.rank-back span{display:none}
  .rank-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.rank-sidebar{padding:9px 8px;border-right:0;border-bottom:1px solid var(--rank-line);overflow:visible;gap:0;background:#102d241f}
  .rank-sidebar-heading,.rank-side-note{display:none}.rank-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
  #screen #detail.rankings-panel .rank-tab{flex-direction:column;justify-content:center;gap:6px;padding:8px 2px!important;min-height:62px;text-align:center;border-radius:6px!important;}
  .rank-tab small,.rank-tab-arrow{display:none}.rank-tab strong{font-size:12px}.rank-tab .rank-icon{width:20px;height:20px;flex-basis:20px}
  #screen #detail.rankings-panel .rank-tab[aria-selected=true]{box-shadow:inset 0 -2px #dabe7f;}
  .rank-content{padding:17px 14px 20px}.rank-hero{min-height:192px;padding-top:25px;padding-bottom:20px}.rank-season{font-size:12px;padding:4px 8px}.rank-hero-crest{right:-12px;bottom:20px;opacity:.22}
  #screen #detail.rankings-panel .rank-hero h1{font-size:30px;letter-spacing:-1px;margin:10px 0}.rank-eyebrow{font-size:12px;letter-spacing:.13em}
  #screen #detail.rankings-panel .rank-description{font-size:12px;max-width:270px}.rank-toolbar{padding:18px 0 14px;gap:10px}.rank-toolbar>div:first-child{flex:1;min-width:160px}.rank-toolbar-actions{flex-wrap:wrap}.rank-refresh span{display:none}
  #screen #detail.rankings-panel .rank-category-title{font-size:17px}#screen #detail.rankings-panel .rank-rules{font-size:12px}.rank-podium{gap:6px;margin-bottom:14px}.rank-podium-card{padding:9px 6px 12px;border-radius:8px}.rank-podium-caption{display:none}.rank-podium-top{justify-content:center}.rank-place{font-size:12px}.rank-podium-emblem{height:56px;margin:4px 0 6px}.rank-podium-emblem .rank-crest{width:42px;height:48px}.rank-podium-card .rank-name{font-size:12px;text-align:center}.rank-podium-detail{font-size:12px;line-height:1.5}.rank-podium-score{font-size:18px;padding-top:7px}
  #screen #detail.rankings-panel .rank-pagination button{min-width:44px;min-height:44px}#screen #detail.rankings-panel .rank-metrics button{min-height:44px}
  #screen #detail.rankings-panel .rank-podium-emblem canvas{width:48px!important;height:48px!important}#screen #detail.rankings-panel .rank-table th:nth-child(3),#screen #detail.rankings-panel .rank-table td:nth-child(3){display:none}#screen #detail.rankings-panel .rank-table th:first-child{width:34px}#screen #detail.rankings-panel .rank-table th:nth-child(2){width:auto}#screen #detail.rankings-panel .rank-table th:nth-child(4){width:78px}#screen #detail.rankings-panel .rank-table :is(th,td){padding:11px 5px}#screen #detail.rankings-panel .rank-table .rank-name{font-size:12px}.rank-row-emblem{margin-right:6px}.rank-row-identity{max-width:calc(100% - 39px)}.rank-row-score{font-size:13px}.rank-self{gap:9px;flex-wrap:wrap;padding:13px}.rank-self-label{max-width:74px;font-size:12px}.rank-self>.rank-icon{width:19px;height:19px;flex-basis:19px}.rank-self-position{font-size:17px}.rank-self .rank-name{font-size:12px}.rank-self-score{font-size:12px}.rank-self-missing{flex:1;font-size:12px;min-width:120px}.rank-footnote{font-size:12px;flex-wrap:wrap;gap:4px}.rank-empty{min-height:260px;padding:20px 12px}
}
@media(orientation:landscape) and (max-height:520px) and (min-width:701px){#screen #overlay[data-ranking=true]{padding:8px!important}.rank-sidebar{padding-top:15px;gap:14px}.rank-sidebar-heading>p,.rank-side-note{display:none}#screen #detail.rankings-panel .rank-tab{min-height:50px;padding:8px!important}.rank-tab small{display:none}.rank-content{padding-top:15px}.rank-hero{min-height:165px}#screen #detail.rankings-panel .rank-shell{grid-template-rows:48px minmax(0,1fr)}}
@media(orientation:landscape) and (max-height:520px){
  .rank-sidebar-heading{display:none}.rank-sidebar{gap:0}.rank-tabs{gap:3px}
  .rank-hero{min-height:0;height:30px;padding:0;border-bottom:0}.rank-hero-copy,.rank-hero-crest{display:none}.rank-season{position:static;margin-left:auto}
  .rank-toolbar{padding:12px 0 14px}.rank-podium{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){#screen #detail.rankings-panel *,#screen #detail.rankings-panel *::before{animation:none!important;transition:none!important;}}

/* Explicitly isolate leaderboard rows from the legacy cream GBA table theme. */
#screen #detail.rankings-panel .rank-table tbody tr:nth-child(odd) {background:#102c26;}
#screen #detail.rankings-panel .rank-table tbody tr:nth-child(even) {background:#17372e;}
#screen #detail.rankings-panel .rank-table tbody tr:hover {background:#244b3b;}
#screen #detail.rankings-panel .rank-table tbody tr[data-self=true] {background:#304b34;}
#screen #detail.rankings-panel .rank-table :is(td,th) {background:transparent;color:#dce9df;}
#screen #detail.rankings-panel .rank-name {font-size:16px;color:#f2f7f0;font-weight:600;}
#screen #detail.rankings-panel :is(.rank-row-detail,.rank-row-identity small,.rank-podium-detail,.rank-rules,.rank-footnote,.rank-pagination) {color:#bbd0c3;font-size:13px;}
#screen #detail.rankings-panel .rank-table th {font-size:12px;letter-spacing:.04em;font-weight:600;color:#c7d9cd;}
#screen #detail.rankings-panel .rank-row-score {font-size:17px;color:#f5dfa7;}
@media(max-width:700px) {
  #screen #detail.rankings-panel .rank-name {font-size:14px;}
  #screen #detail.rankings-panel .rank-podium {grid-template-columns:1fr;}
  #screen #detail.rankings-panel .rank-podium-card {padding:12px;}
  #screen #detail.rankings-panel .rank-tab strong {font-size:12px;overflow-wrap:anywhere;}
  #screen #detail.rankings-panel .rank-table th {font-size:11px;}
}

#screen #detail.rankings-panel :is(span,strong,small,p,td,th,h1,h2,h3) {font-family:Arial,Helvetica,sans-serif;text-shadow:none;}
