/* Rankings v2: banner-shield podium, emblem rows, neon-edged table. Loaded after era.css. */
.podium { max-width: 560px; margin: 2rem auto 1rem; display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: .3rem; align-items: end; }
.pcol { text-align: center; }
.banner3 { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; }
.bshield { position: relative; width: 100%; aspect-ratio: .86; display: grid; place-items: center; clip-path: polygon(0 0, 100% 0, 100% 74%, 50% 100%, 0 74%); border: 0; }
.g1 .bshield { background: linear-gradient(160deg, #fff3a6, #f2b02a 45%, #c07a12); filter: drop-shadow(0 0 22px rgba(255,200,60,.8)); }
.g2 .bshield { background: linear-gradient(160deg, #e6ddff, #a899e6 55%, #6f5fc0); filter: drop-shadow(0 0 14px rgba(160,140,255,.6)); }
.g3 .bshield { background: linear-gradient(160deg, #cfe9ff, #6fa6e8 55%, #3a6ab8); filter: drop-shadow(0 0 14px rgba(110,170,255,.6)); }
.g1 .bshield { width: 100%; } .g2 .bshield, .g3 .bshield { width: 84%; }
.bshield::before { content: ""; position: absolute; inset: 5% 6% 9%; clip-path: polygon(0 0, 100% 0, 100% 74%, 50% 100%, 0 74%); background: linear-gradient(#151d44, #0a1030); }
.bshield .emb { position: relative; z-index: 2; margin-top: -8%; }
.emb { position: relative; width: 44px; height: 52px; display: grid; place-items: center; flex: 0 0 auto; clip-path: polygon(0 0, 100% 0, 100% 72%, 50% 100%, 0 72%); background: linear-gradient(160deg, color-mix(in srgb, var(--c) 70%, #fff), var(--c) 60%, color-mix(in srgb, var(--c) 55%, #000)); }
.emb span { font-family: var(--serif); font-weight: 800; font-size: 1.4rem; color: #fff; text-shadow: 0 2px 0 rgba(0,0,0,.5); margin-top: -4px; }
.emb.big { width: 70%; height: auto; aspect-ratio: .86; } .emb.big span { font-size: clamp(1.8rem, 9vw, 2.8rem); }
.g1 .emb.big { width: 74%; } .g1 .emb.big span { font-size: clamp(2.2rem, 11vw, 3.4rem); }
.plc { position: absolute; z-index: 3; bottom: 5%; left: 50%; transform: translateX(-50%); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-size: 1.1rem; color: #fff; border: 3px solid #fff; background: radial-gradient(circle at 35% 30%, #ffd34d, #c07a12); text-shadow: 0 2px 0 rgba(0,0,0,.5); }
.g2 .plc { background: radial-gradient(circle at 35% 30%, #c9bdff, #6f5fc0); } .g3 .plc { background: radial-gradient(circle at 35% 30%, #a9d2ff, #3a6ab8); } .g1 .plc { width: 42px; height: 42px; font-size: 1.4rem; bottom: 3%; }
.crown { position: absolute; z-index: 4; top: -24px; font-size: 2rem; color: #ffe27a; text-shadow: 0 0 16px #ffb92e, 0 3px 0 #0a1236; animation: idle 2.6s ease-in-out infinite; }
.pn { margin-top: .5rem; font-family: var(--serif); font-weight: 800; font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 2px 0 #0a1236; }
.psc { margin: .2rem auto 0; display: inline-block; min-width: 80%; padding: .1rem .6rem; border-radius: 4px; background: rgba(10,16,48,.85); border: 1px solid rgba(160,190,255,.5); font-weight: 800; font-size: .9rem; font-variant-numeric: tabular-nums; }
.pcol.me .pn { color: #ffe27a; } .pcol.me .bshield { outline: 3px solid #ff5a3c; }
.pillar { display: none; }

/* neon-edged table */
.rtable { max-width: 760px; margin: 1rem auto 0; padding: .4rem .5rem .6rem; border-radius: 16px; background: linear-gradient(rgba(14,22,70,.82), rgba(10,14,50,.9)); border: 3px solid transparent; background-clip: padding-box; position: relative; box-shadow: 0 0 0 2px #0a1236, 0 0 26px rgba(255,90,160,.35), 0 0 26px rgba(80,140,255,.35); }
.rtable::before { content: ""; position: absolute; inset: -3px; border-radius: 18px; z-index: -1; background: linear-gradient(135deg, #ff5aa0, #7a5aff 50%, #35b6ff); }
.rth { display: grid; grid-template-columns: 3.2rem 1fr auto; gap: .6rem; padding: .35rem .6rem; color: #b6c6f2; font-weight: 800; font-size: .8rem; border-bottom: 1px solid rgba(160,190,255,.3); margin-bottom: .4rem; text-transform: capitalize; }
.rth span:nth-child(3) { text-align: right; }
.rtable .rrow { background: linear-gradient(rgba(60,90,180,.55), rgba(30,50,130,.55)); border: 0; border-bottom: 1px solid rgba(160,190,255,.25); border-radius: 10px; box-shadow: none; margin-bottom: 5px; padding: .35rem .6rem .35rem .3rem; }
.rtable .rrow .rn { width: 3.2rem; font-size: 1.5rem; color: #fff; text-shadow: 0 2px 0 rgba(0,0,0,.4); }
.rtable .rrow .rm b { font-size: .88rem; } .rtable .rrow .rm span { font-size: .72rem; color: #9ec0ff; }
.rtable .rrow .rs { font-size: 1.05rem; }
.rtable .rrow.me { background: linear-gradient(90deg, #ffd34d, #ff9a3d); box-shadow: 0 0 18px rgba(255,170,60,.8); } .rtable .rrow.me .rm b, .rtable .rrow.me .rn, .rtable .rrow.me .rs { color: #2a1200; text-shadow: none; } .rtable .rrow.me .rm span { color: #5a2a00; }
.rtable .rrow .emb { width: 38px; height: 46px; } .rtable .rrow .emb span { font-size: 1.15rem; }
.rtable .gap { text-align: center; color: #fff; letter-spacing: .4em; }
