/* Decorative artwork only. Names, ranks and points remain accessible live text. */
body {
  background:
    radial-gradient(ellipse at 62% 8%, #002b514f, transparent 43%),
    linear-gradient(150deg, #020a17, #031224 38%, #020a16 75%);
}
.heading-row { margin-bottom: 18px; }
.top-badge { background:linear-gradient(135deg,#07324b,#06182e); border-color:#2c6b8a; box-shadow:inset 0 1px 0 #8cecff18,0 0 18px #009dff0a; color:#9cf3ff; }
.podium { width:min(920px,100%); margin:0 auto 20px; gap:0; align-items:end; }
.champion, .champion.first, .champion.third {
  --award-color:#ffe499;
  position:relative;
  display:block;
  height:clamp(210px,43vw,450px);
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background-color:transparent;
  background-image:url('/assets/leaderboard-podium-luxury-2026-10-17.png');
  background-repeat:no-repeat;
  background-size:300% 100%;
  background-position:0 0;
  box-shadow:none;
  isolation:isolate;
}
.champion.first {
  --award-color:#ffe8a2;
  height:clamp(242px,50vw,520px);
  background-position:50% 0;
}
.champion.third {
  --award-color:#ffd0a4;
  background-image:url('/assets/leaderboard-podium-copper-2026-10-17.png');
  background-size:100% 100%;
  background-position:center 0;
}
.champion .medal {
  position:absolute;
  top:20%; left:8%; right:8%;
  color:var(--award-color);
  font-size:clamp(11px,1.65vw,17px);
  line-height:1.2;
  font-weight:800;
  text-shadow:0 2px 5px #000,0 0 12px #000;
}
.champion.first .medal { top:28%; color:#ffe67c; }
.champion.third .medal { color:#ffd0a4; }
.champion .avatar {
  position:absolute;
  top:30%; left:50%;
  transform:translateX(-50%);
  display:grid;
  width:clamp(34px,6vw,70px);
  height:clamp(34px,6vw,70px);
  margin:0;
  border:1px solid #ead28a;
  border-radius:clamp(9px,1.8vw,18px);
  background:linear-gradient(145deg,#4f3e1e85,#0b0d12eb 58%,#53432085);
  box-shadow:inset 0 0 14px #f2c6592e,0 0 13px #ffd85f25;
  color:#fffef1;
  font-size:clamp(14px,2.8vw,27px);
  font-weight:800;
  text-shadow:0 2px 8px #000;
}
.champion.first .avatar {
  top:34%;
  width:clamp(38px,6.5vw,76px);
  height:clamp(38px,6.5vw,76px);
  border-color:#eeb866;
  background:linear-gradient(145deg,#6b391a80,#120a1eee 55%,#4c144859);
  box-shadow:inset 0 0 16px #f9c86522,0 0 14px #ec62ed21;
  color:#fff;
}
.champion.third .avatar {
  border-color:#ffc08b;
  background:linear-gradient(145deg,#9b522d77,#241007e8 58%,#8d3a185c);
  box-shadow:inset 0 0 16px #ff973b35,0 0 13px #ff7c4538;
  color:#fff3e6;
}
.champion .player-name {
  position:absolute;
  top:49%; left:11%; right:11%;
  margin:0;
  color:#fff;
  font-size:clamp(11px,1.85vw,19px);
  line-height:1.15;
  font-weight:800;
  text-shadow:0 2px 5px #000,0 0 10px #000;
  overflow-wrap:anywhere;
}
.champion.first .player-name { top:50%; }
.champion .score { position:absolute; inset:0; font-size:inherit; line-height:1; }
.champion .score-value {
  position:absolute;
  top:61%; left:8%; right:8%;
  display:block;
  color:#ffe18a;
  font-size:clamp(28px,4.8vw,49px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.045em;
  text-shadow:0 2px 4px #000,0 0 12px #f0b3235e;
}
.champion.first .score-value {
  top:63%;
  font-size:clamp(30px,5.8vw,59px);
  color:#8deaff;
  background:linear-gradient(100deg,#25cfff 12%,#5df2ff 35%,#a36bff 58%,#ff45ee 83%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 0 3px #28ccff7a) drop-shadow(0 0 9px #d62bff85);
}
.champion.third .score-value { color:#ffca93; text-shadow:0 2px 4px #000,0 0 13px #ff93456b; }
.champion .score small {
  position:absolute;
  top:75%; left:4%; right:4%;
  margin:0;
  color:#e7d9b6;
  font-size:clamp(11px,1.4vw,14px);
  line-height:1;
  text-shadow:0 2px 5px #000,0 0 5px #000;
}
.champion.first .score small { top:76%; color:#c9eaff; }
.champion.third .score small { color:#efc6a1; }
.rankings { border-color:#285c91; border-radius:19px; background:linear-gradient(145deg,#06182c,#030e1f); box-shadow:0 12px 40px #0004,inset 0 1px 0 #90d4ff18,0 0 18px #008cff14; }
.table-heading { border-bottom-color:#25445f; padding:18px 20px; }
.table-heading h2 { font-size:18px; }
.table-heading span { font-size:12px; }
.rankings table { border-collapse:separate; border-spacing:0 8px; padding:0 5px 1px; }
.rankings tbody tr { filter:drop-shadow(0 0 4px #009dff8a); }
.rankings th { background:transparent; border:0; padding:11px 15px; }
.rankings td {
  position:relative;
  height:66px;
  padding:12px 15px;
  border-top:1px solid #159ada;
  border-bottom:1px solid #087dd0;
  background:linear-gradient(180deg,#09294a,#051a30 30%,#041425 80%,#082f53);
  box-shadow:inset 0 1px 0 #7ae5ff30,inset 0 -1px 0 #00a7ff2e;
}
.rankings td:first-child { border-left:2px solid #23d5ff; border-radius:13px 0 0 13px; color:#b5dafa; font-size:18px; overflow:hidden; }
.rankings td:last-child { border-right:2px solid #168fff; border-radius:0 13px 13px 0; color:#2fe7ff; font-size:22px; overflow:hidden; text-shadow:0 0 13px #00d9ff55; }
.rankings td:first-child::before { content:""; position:absolute; top:0; left:0; width:26px; height:26px; background:linear-gradient(225deg,#073c6c00 21%,#29e2ff 43%,#087fff 62%,#14335f 85%); clip-path:polygon(0 0,100% 0,0 100%); pointer-events:none; }
.rankings td:last-child::after { content:""; position:absolute; top:0; right:0; width:26px; height:26px; background:linear-gradient(135deg,#073c6c00 21%,#29e2ff 43%,#087fff 62%,#14335f 85%); clip-path:polygon(0 0,100% 0,100% 100%); pointer-events:none; }
.rankings td:last-child::before { content:""; position:absolute; right:2px; bottom:0; width:95px; height:28px; background-image:radial-gradient(#28acff70 1px,transparent 1.5px); background-size:6px 6px; mask-image:linear-gradient(135deg,transparent 15%,#000); opacity:.65; pointer-events:none; }
.row-avatar { width:36px; height:39px; border-color:#85c3f4; border-radius:10px; background:linear-gradient(135deg,#2368a5,#092d52 46%,#061b31 78%); color:#f2fbff; font-size:13px; box-shadow:inset 0 0 8px #51bfff54,0 1px 3px #0008; }
.row-player strong { font-weight:700; font-size:15px; }
.ranking-note { margin-top:24px; color:#9ab1c9; }
@media(max-width:550px) {
  main { width:calc(100% - 22px); }
  .heading-row { margin-left:3px; margin-right:3px; margin-bottom:8px; }
  .podium { margin-bottom:12px; }
  .table-heading { padding:15px 13px; }
  .table-heading h2 { font-size:15px; }
  .table-heading span { font-size:11px; }
  .rankings th,.rankings td { padding:10px 10px; }
  .rankings th:first-child { width:48px; }
  .rankings th:last-child { width:83px; }
  .rankings td { height:53px; }
  .rankings td:first-child { font-size:14px; }
  .rankings td:last-child { font-size:18px; }
  .rankings td:first-child::before,.rankings td:last-child::after { width:20px; height:20px; }
  .row-avatar { width:28px; height:31px; border-radius:8px; font-size:11px; }
  .row-player strong { font-size:12px; }
  .ranking-note { margin:22px 3px 0; font-size:12px; }
}
