*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#e9ded2;background:radial-gradient(ellipse at 50% 0,#381b17 0,transparent 38%),#0b0b0e;font-family:Inter,Arial,sans-serif;font-size:14px}a{color:inherit}.wrap{width:min(1260px,calc(100% - 38px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;color:#000;padding:12px;z-index:10}.top{background:#100c0ded;border-bottom:1px solid #6c3c2b;position:relative;z-index:2}.top-inner{display:flex;justify-content:space-between;align-items:center;min-height:84px;gap:18px}.brand img{width:188px;max-width:100%;height:auto}.top nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.top nav a{text-decoration:none;padding:12px 13px;color:#d0bca8;font-weight:800;font-size:12px;letter-spacing:.7px}.top nav a:hover,.top nav .chosen{color:#f4cf84;background:#331713;border-bottom:2px solid #d1a653}.hero{background:linear-gradient(90deg,#0b090bbb,#17090965,#0b090bc9),url(ancientmu-hero.webp) center 39% /cover;min-height:340px;display:flex;border-bottom:2px solid #80552f}.hero-inner{text-align:center;align-self:center;padding:55px 0}.kicker,.eyebrow{letter-spacing:3px;color:#daae6b;font-size:11px;font-weight:800}.hero h1{font-family:Cinzel,Georgia,serif;font-size:clamp(36px,6vw,76px);color:#f3d694;letter-spacing:2px;text-shadow:0 4px 15px #000;margin:8px 0 14px}.hero h1 span{color:#d83e32}.hero p:not(.kicker){color:#e9ceac;font-size:16px}.rune{color:#cb8c42;display:block;margin-top:20px}.hud{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:23px 0;color:#b6a498;font-size:12px}.hud button{border:1px solid #775631;background:#291914;color:#f5cf88;font-weight:700;padding:10px 16px;cursor:pointer;border-radius:4px}.hud button:hover{background:#48231b}.hud button:disabled{opacity:.55;cursor:wait}.panel{background:linear-gradient(140deg,#211a18 0,#0e1016 72%);border:1px solid #66422c;border-top:3px solid #b48447;box-shadow:0 14px 35px #0008;margin-bottom:28px;padding:28px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #4c382a;padding-bottom:17px;margin-bottom:22px}.section-head h2{font-family:Cinzel,Georgia,serif;color:#eac27b;font-size:clamp(19px,2.5vw,31px);margin:5px 0}.section-head h2 span{color:#fff}.eyebrow{margin:0}.pill{white-space:nowrap;border:1px solid #7d542c;color:#f3d391;border-radius:30px;padding:9px 12px;font-size:11px;font-weight:800}.dot{display:inline-block;background:#67cd83;border-radius:50%;height:8px;width:8px;margin-right:6px}.subtle{font-size:11px;font-weight:700;letter-spacing:1px;color:#baa48c}.section-note{color:#ada49e;line-height:1.6;margin:0 0 20px}.podium{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:15px;align-items:end;margin:20px 0 30px}.champ{background:linear-gradient(#40281d,#19151a);border:1px solid #865e40;text-align:center;position:relative;padding:24px 10px 16px;min-height:179px;display:flex;flex-direction:column;justify-content:center;gap:10px;overflow:hidden}.champ:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0,#a87b401f,transparent 70%);pointer-events:none}.champ.first{min-height:215px;border-color:#ecc06a;box-shadow:0 0 24px #a8732838}.champ.silver{border-color:#95a5b3}.champ.bronze{border-color:#b87557}.champ .rank{font:900 35px Cinzel,serif;color:#dec49b}.champ.first .rank{color:#ffd36b}.champ .name{font:700 clamp(15px,2vw,23px) Cinzel,serif;color:#f1e1bd;overflow-wrap:anywhere}.champ .cls{font-size:11px;color:#c9b6a4;text-transform:uppercase}.champ .wins{font-weight:900;color:#f1c36e;letter-spacing:1px}.board-wrap h3{font-family:Cinzel,serif;color:#dfb874;margin:16px 0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:490px}thead{background:#42241d;color:#e8c68a;font-size:11px;letter-spacing:1px}th,td{text-align:left;padding:13px 17px;border-bottom:1px solid #45362e}tbody tr:nth-child(even){background:#ffffff08}tbody tr:hover{background:#8d5b1919}td:first-child{color:#d3a25b;font-weight:900;width:15%}td:last-child{color:#ecc47c;font-weight:900}td .player{color:#f0dfc4;font-weight:700}.placeholder{padding:28px;text-align:center;grid-column:1/-1;color:#b6a99d}.archive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.archive-card{border:1px solid #65462b;background:#1b1717;overflow:hidden}.archive-card img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:contain;background:#100c0e}.archive-copy{padding:17px}.archive-copy h3{font:700 20px Cinzel,serif;color:#eac27b;margin:0 0 8px}.archive-copy p{color:#9f958e;font-size:12px}.archive-copy a{display:inline-block;text-decoration:none;color:#ffe0a0;border:1px solid #b07c43;padding:10px 14px;margin-top:6px;font-weight:800}.footer-note{text-align:center;color:#988a81;line-height:1.6;padding:3px 0 24px}.foot{background:#0d0b0c;border-top:1px solid #49301d;padding:20px 0;text-align:center;color:#b99a6c;font:700 12px Cinzel,serif;letter-spacing:2px}.foot span{color:#b84530;margin:0 8px}@media(max-width:740px){.top-inner{flex-direction:column;padding:12px 0}.top nav{justify-content:center}.top nav a{font-size:10px;padding:9px}.hero{min-height:250px}.hero-inner{padding:32px 0}.panel{padding:15px}.section-head{align-items:flex-start;flex-direction:column}.podium{gap:6px}.champ{padding:18px 5px;min-height:170px}.champ.first{min-height:185px}.champ .rank{font-size:24px}.champ .name{font-size:13px}.champ .wins{font-size:11px}.hud{flex-direction:column;align-items:flex-start}} /* Archived season posters carry the complete Top 10 — avoid duplicate tables. */
.archive-card .archive-copy > h3:nth-of-type(2),
.archive-card .archive-copy > table {
    display: none;
}
/* AncientMU Royal Champion Poster */
#archive-list .archive-card > img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 2px solid #d5a24f;
    border-radius: 4px;

    box-shadow:
        0 0 0 5px #130d0c,
        0 0 0 7px rgba(218, 167, 75, 0.65),
        0 20px 55px rgba(0, 0, 0, 0.85),
        0 0 45px rgba(255, 105, 25, 0.24);
}

/* Immortal Champions royal title */
#archive-list .archive-card .archive-copy > h3:first-child {
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(20px, 2.8vw, 34px);
    font-weight: 800;
    letter-spacing: 2px;
    text-align: center;
    color: #ffdb89;
    text-shadow:
        0 2px 3px #000,
        0 0 18px rgba(255, 130, 30, 0.45);
    padding: 20px 10px;
    margin: 10px 0 14px;
    border-bottom: 1px solid rgba(218, 167, 75, 0.45);
}

/* Royal Champion Poster Button */
#archive-list .archive-card .archive-copy > a {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 22px auto 12px;
    padding: 15px 28px;

    background: linear-gradient(
        135deg,
        #4d150e,
        #210b0c 55%,
        #631e12
    );

    border: 1px solid #d7a34f;
    border-radius: 4px;

    color: #ffe0a0;
    font-family: Cinzel, Georgia, serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-align: center;
    text-decoration: none;

    box-shadow: 0 0 20px rgba(208, 85, 26, 0.25);
    transition: box-shadow 0.2s ease, color 0.2s ease;
}

#archive-list .archive-card .archive-copy > a:hover {
    color: #fff5d6;
    box-shadow: 0 0 28px rgba(255, 130, 35, 0.5);
}
/* Royal archive description */
#archive-list .archive-card .archive-copy > p {
    text-align: center;
    color: #cbb99c;
    font-size: 13px;
    line-height: 1.6;
    letter-spacing: 0.5px;
    margin: 12px auto 4px;
}

/* Empty Season Throne */
#podium > .placeholder {
    grid-column: 1 / -1;
    position: relative;
    width: 100%;
    min-height: 220px;
    padding: 48px 24px;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(
            ellipse at center,
            rgba(115, 45, 18, 0.40),
            transparent 70%
        ),
        linear-gradient(
            145deg,
            #100d13,
            #261416 50%,
            #100d13
        );

    border: 1px solid #a97837;
    outline: 1px solid rgba(255, 207, 116, 0.20);
    outline-offset: -9px;

    color: #ffdc91;
    font-family: Cinzel, Georgia, serif;
    font-size: clamp(17px, 2vw, 25px);
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: 1px;
    text-align: center;

    text-shadow:
        0 2px 4px #000,
        0 0 20px rgba(255, 130, 35, 0.35);

    box-shadow:
        inset 0 0 35px rgba(255, 109, 24, 0.10),
        0 16px 40px rgba(0, 0, 0, 0.45);
}

#podium > .placeholder::before {
    content: attr(data-season-label);
    display: block;
    margin-bottom: 20px;
    padding-bottom: 12px;

    color: #e6b664;
    font-family: Cinzel, Georgia, serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;

    border-bottom: 1px solid rgba(222, 163, 75, 0.5);
}
/* New Era subtitle */
#podium > .placeholder::after {
    content: "The throne awaits its first champion.";
    display: block;
    margin-top: 14px;

    font-family: Cinzel, Georgia, serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    line-height: 1.6;

    color: #d6b99b;
    text-shadow: 0 2px 5px #000;
}
/* Only hide the season table if the API confirms zero current victories. */
.panel[aria-labelledby="season-heading"].no-victories > .board-wrap {
    display: none;
}
/* All-Time Legends Top 3 */

#alltime-rows tr:nth-child(1) td {
    background: rgba(180, 125, 30, 0.20);
    color: #ffe3a0;
    font-weight: 700;
}

#alltime-rows tr:nth-child(2) td {
    background: rgba(70, 125, 165, 0.18);
    color: #d2e7f5;
    font-weight: 700;
}

#alltime-rows tr:nth-child(3) td {
    background: rgba(165, 85, 40, 0.18);
    color: #f0bea0;
    font-weight: 700;
}

/* All-Time Legends medals for Top 3 */

/* make the character cell a good anchor for medal + text */
#alltime-rows tr:nth-child(1) td:nth-child(2),
#alltime-rows tr:nth-child(2) td:nth-child(2),
#alltime-rows tr:nth-child(3) td:nth-child(2) {
  font-weight: 700;
  white-space: nowrap;
}

/* gold medal */
#alltime-rows tr:nth-child(1) td:nth-child(2)::before {
  content: "🥇 ";
  display: inline-block;
  margin-right: 6px;
  filter: drop-shadow(0 0 6px rgba(255, 210, 90, 0.35));
}

/* silver medal */
#alltime-rows tr:nth-child(2) td:nth-child(2)::before {
  content: "🥈 ";
  display: inline-block;
  margin-right: 6px;
  filter: drop-shadow(0 0 6px rgba(180, 220, 255, 0.30));
}

/* bronze medal */
#alltime-rows tr:nth-child(3) td:nth-child(2)::before {
  content: "🥉 ";
  display: inline-block;
  margin-right: 6px;
  filter: drop-shadow(0 0 6px rgba(255, 170, 110, 0.28));
}
/* Legendary Top 3 Player Names */

#alltime-rows tr:nth-child(1) .player {
    color: #ffe08a;
    text-shadow: 0 0 12px rgba(255, 190, 45, 0.55);
}

#alltime-rows tr:nth-child(2) .player {
    color: #d6efff;
    text-shadow: 0 0 12px rgba(85, 190, 255, 0.45);
}

#alltime-rows tr:nth-child(3) .player {
    color: #ffbe94;
    text-shadow: 0 0 12px rgba(255, 110, 45, 0.45);
}
/* LIVE: Archive posters deserve their full width even after multiple seasons. */
#archive-list.archive-grid { grid-template-columns: minmax(0, 1fr); }
#archive-list .archive-card > img { aspect-ratio: auto; object-fit: contain; }
/* LIVE: keep mobile tables scrollable and never truncate player names. */
@media (max-width: 740px) {
    #alltime-rows td:nth-child(2) { min-width: 148px; }
    #archive-list .archive-card .archive-copy > h3:first-child { letter-spacing: 1px; }
}
