/* Platform cards and ranking podium. Scoped to preserve the base theme. */
.platform-downloads{gap:16px}
.platform-card.gateway-card{--platform-rgb:83,185,242;--platform-color:#91d6ff;display:flex;align-items:center;gap:16px;min-height:124px;padding:16px 20px;border:1px solid rgba(var(--platform-rgb),.28);border-top:2px solid rgba(var(--platform-rgb),.8);background:radial-gradient(ellipse at 100% 0,rgba(var(--platform-rgb),.17),transparent 66%),linear-gradient(135deg,#19212b,#0e1118 70%);isolation:isolate;text-decoration:none}
.platform-card.platform-android{--platform-rgb:111,199,143;--platform-color:#a2e5b9;background:radial-gradient(ellipse at 100% 0,rgba(var(--platform-rgb),.16),transparent 66%),linear-gradient(135deg,#17271f,#0d1511 70%)}
.platform-card.platform-ios{--platform-rgb:177,158,225;--platform-color:#d4c7f4;background:radial-gradient(ellipse at 100% 0,rgba(var(--platform-rgb),.18),transparent 66%),linear-gradient(135deg,#242030,#121018 70%)}
.platform-card .platform-mark{flex:0 0 54px;display:grid;place-items:center;width:54px;height:58px;border:1px solid rgba(var(--platform-rgb),.35);border-radius:16px;background:linear-gradient(145deg,rgba(var(--platform-rgb),.18),rgba(var(--platform-rgb),.04));box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 25px #0003;color:var(--platform-color);font-size:28px;transform:rotate(-5deg)}
.platform-card .platform-mark i{transform:rotate(5deg)}
.platform-card .platform-copy{position:relative;z-index:2;display:grid;gap:5px;min-width:0}
.platform-card .platform-copy small{color:var(--platform-color);font-size:8px;letter-spacing:1.6px}
.platform-card .platform-copy strong{font-family:inherit;font-size:14px;font-weight:600;color:#f3f2ee;line-height:1.4}
.platform-card .platform-copy strong em{display:inline;font-size:21px;font-weight:800;font-style:normal;letter-spacing:-.7px;color:var(--platform-color)}
.platform-card .platform-copy p{display:none;font-size:11px;color:#a9b0b5;line-height:1.5}
.platform-card .platform-status{display:inline-flex;align-items:center;gap:7px;justify-self:start;padding:4px 9px;border:1px solid rgba(var(--platform-rgb),.28);border-radius:5px;background:rgba(var(--platform-rgb),.1);color:var(--platform-color);font-size:10px;font-weight:700}
.platform-card .platform-watermark{position:absolute;right:4px;bottom:-14px;z-index:-1;font-size:90px;line-height:1;font-weight:900;letter-spacing:-10px;color:rgba(var(--platform-rgb),.065);pointer-events:none}
.platform-card .platform-arrow{position:absolute;right:14px;top:12px;color:var(--platform-color);font-size:22px}
.platform-card.platform-pc:hover{border-color:rgba(var(--platform-rgb),.8);box-shadow:0 15px 35px #0006,0 0 28px rgba(var(--platform-rgb),.12);transform:translateY(-5px)}
.platform-card[aria-disabled=true]{cursor:default}
.platform-card[aria-disabled=true]:hover{transform:none;border-color:rgba(var(--platform-rgb),.4);box-shadow:0 20px 45px #0005}
.platform-card[aria-disabled=true]::after{display:none}
.ranking-showcase{margin:0 0 30px;border:1px solid #715132;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#7d4d1d26,transparent 65%),linear-gradient(150deg,#21170f,#100c09 75%);box-shadow:0 16px 36px #0004}
.ranking-showcase-heading{display:flex;align-items:center;gap:13px;padding:22px 23px 18px;background:linear-gradient(110deg,#80512a20,transparent);border-bottom:1px solid #b78a5130}
.ranking-showcase-heading small{font-size:11px;letter-spacing:2.3px;color:#b78d5d;font-weight:700}
.ranking-showcase-heading h2{font-family:"Trajan Pro",Georgia,serif;font-size:21px;line-height:1.3;color:#eed1a2;margin:5px 0 0}
.ranking-trophy{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:12px;border:1px solid #c18d4d50;background:#bb843618;color:#e6ba70;font-size:20px}
.ranking-top-label{margin-left:auto;padding:5px 8px;font-size:10px;letter-spacing:2px;color:#aa8053;border:1px solid #a5763c40;border-radius:4px;white-space:nowrap}
.ranking-switch{display:flex;gap:6px;margin:18px auto 0;padding:5px;border:1px solid #a5763c40;background:#08060580;border-radius:9px;width:max-content;max-width:calc(100% - 30px)}
.ranking-switch a{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 22px;border-radius:5px;color:#9f917e;text-decoration:none;font-size:11px;font-weight:700;transition:background .2s,color .2s}
.ranking-switch a:hover{color:#f0d6af;background:#a5763c15}.ranking-switch a.is-active{color:#f6d7a7;background:linear-gradient(125deg,#93622f65,#78512b40);box-shadow:inset 0 0 0 1px #bf8e5050}
.ranking-podium{display:flex;align-items:stretch;justify-content:center;gap:12px;padding:42px 20px 22px}
.podium-card{--medal:#b9c3cd;position:relative;flex:1;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;padding:24px 12px 17px;border-radius:12px;border:1px solid #a9b8c33d;background:radial-gradient(ellipse at 50% 0,#bdc9d10b,transparent 80%),#100b08;box-shadow:0 9px 20px #0003}
.podium-rank-1{--medal:#edbc71;order:2;margin-top:-13px;border-color:#bd8d4e;background:radial-gradient(ellipse at 50% 0,#c9944536,transparent 85%),linear-gradient(#2f2115,#1b120b);box-shadow:0 0 24px #c9944512,0 12px 25px #0005}
.podium-rank-2{order:1}.podium-rank-3{--medal:#cc9160;order:3;border-color:#a975454d}
.podium-medal{position:absolute;top:-15px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:linear-gradient(#e5ebed,#8a959e);color:#23170b;box-shadow:0 3px 10px #0008;font-size:13px;font-weight:800;border:1px solid #fff4}
.podium-rank-1 .podium-medal{width:34px;height:34px;top:-18px;background:linear-gradient(#ffe3a1,#c88536);font-size:15px}.podium-rank-3 .podium-medal{background:linear-gradient(#e2b284,#a46336)}
.rank-avatar{display:inline-flex;flex-shrink:0;width:34px;height:34px;border-radius:50%;overflow:hidden;border:1px solid #b68b5159;background:#1b1713;align-items:center;justify-content:center;vertical-align:middle}
.rank-avatar img{display:block;width:100%;height:100%;object-fit:cover}.rank-avatar-fallback{color:#ba9f7b;font-size:20px}
.podium-portrait{padding:4px;border:1px solid var(--medal);border-radius:50%;box-shadow:0 0 0 4px #0002;margin:2px 0 14px}
.podium-portrait .rank-avatar{width:64px;height:64px;border:0}.podium-rank-1 .podium-portrait .rank-avatar{width:78px;height:78px}
.podium-place{font-size:9px;font-weight:700;letter-spacing:1.4px;color:var(--medal);opacity:.85}
.podium-card h3{max-width:100%;font-family:"Trajan Pro",Georgia,serif;font-size:15px;line-height:1.4;margin:8px 0 5px;color:#eddfcd;overflow-wrap:anywhere}
.podium-secondary{max-width:100%;min-height:17px;margin:0 0 10px;color:#a59785;font-size:12px;overflow-wrap:anywhere;line-height:1.5}
.podium-empire{display:inline-flex;align-items:center;gap:5px;font-size:10px}.podium-empire i{width:4px;height:4px;background:currentColor;border-radius:50%}
.podium-score{display:grid;gap:4px;margin-top:18px;padding-top:14px;width:100%;border-top:1px solid #b68b5126}.podium-score strong{font-size:26px;font-weight:800;line-height:1.1;color:var(--medal);font-variant-numeric:tabular-nums}.podium-score small{font-size:9px;letter-spacing:1.8px;color:#a58a68}
.podium-detail{font-size:10px;color:#8e7a62;margin-top:8px}
.ranking-showcase-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 21px;border-top:1px solid #a5763c26;background:#08060530;color:#8c775d;font-size:11px;line-height:1.5}.ranking-showcase-footer i{margin-right:4px}.ranking-podium-empty{padding:30px 20px;margin:0;text-align:center;color:#bba78b;font-size:12px}
.ranking-identity{display:inline-flex;align-items:center;gap:10px}.ranking-identity>span:last-child{overflow-wrap:anywhere}
@media(min-width:901px) and (max-width:1250px){.platform-card.gateway-card{padding:14px 16px;gap:13px}.platform-card .platform-mark{flex-basis:48px;width:48px;height:56px;font-size:26px}.platform-card .platform-copy strong em{font-size:20px}.ranking-podium{gap:8px;padding-left:12px;padding-right:12px}.podium-card{padding-left:7px;padding-right:7px}.podium-card h3{font-size:12px}}
@media(max-width:600px){.platform-card.gateway-card{padding:16px;min-height:118px;gap:16px}.platform-card .platform-copy p{display:none}.ranking-showcase-heading{padding:18px 15px;gap:10px}.ranking-showcase-heading h2{font-size:17px}.ranking-showcase-heading small{font-size:6px;letter-spacing:1.8px}.ranking-top-label{display:none}.ranking-switch a{padding:9px 19px}.ranking-podium{gap:7px;padding:36px 9px 16px}.podium-card{padding:23px 5px 13px;border-radius:9px}.podium-portrait .rank-avatar{width:46px;height:46px}.podium-rank-1 .podium-portrait .rank-avatar{width:56px;height:56px}.podium-card h3{font-size:11px}.podium-place{font-size:5px;letter-spacing:.7px}.podium-secondary,.podium-empire{font-size:8px}.podium-score strong{font-size:21px}.podium-score small{font-size:5px;letter-spacing:.8px}.podium-detail{font-size:8px}.ranking-showcase-footer{padding:11px 12px;font-size:8px}.ranking-showcase-footer span:last-child{max-width:45%;text-align:right}}

/* Straight panel edge for both login and registration. */
.auth-card .auth-diagonal{display:none}
.auth-card .auth-welcome-side{border-left:1px solid rgba(225,190,142,.12)}
.news-card-symbol svg{display:block;flex-shrink:0;width:25px;height:25px}

/* Primer puesto: oro */
.table-responsive-modern tr[data-rank="1"] {
    --rank-bg: rgba(212, 163, 65, .12);
    --rank-color: #edc778;
}

/* Segundo puesto: plata */
.table-responsive-modern tr[data-rank="2"] {
    --rank-bg: rgba(180, 195, 210, .10);
    --rank-color: #c6d1dc;
}

/* Tercer puesto: bronce */
.table-responsive-modern tr[data-rank="3"] {
    --rank-bg: rgba(185, 119, 66, .12);
    --rank-color: #dba174;
}

.table-responsive-modern tr:is(
    [data-rank="1"],
    [data-rank="2"],
    [data-rank="3"]
) > * {
    background-color: var(--rank-bg) !important;
    color: var(--rank-color) !important;
}

.table-responsive-modern tr:is(
    [data-rank="1"],
    [data-rank="2"],
    [data-rank="3"]
) > th[scope="row"] {
    border-left: 3px solid var(--rank-color);
    font-weight: 800;
}

/* Efectos de las tarjetas del podio */
.ranking-podium .podium-card {
    isolation: isolate;
    transition: transform .3s ease, border-color .3s ease;
}

/* Reflejo suave sobre la tarjeta */
.ranking-podium .podium-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(
        115deg,
        transparent 40%,
        rgba(255, 235, 200, .09) 50%,
        transparent 60%
    );
    background-size: 300% 100%;
    background-position: 100% 0;
    animation: eclipse-podium-shine 8s ease-in-out infinite;
}

.ranking-podium .podium-rank-2::before {
    animation-delay: 2s;
}

.ranking-podium .podium-rank-3::before {
    animation-delay: 4s;
}

/* Resplandor dorado del primer puesto */
.ranking-podium .podium-rank-1::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: 0 0 24px rgba(237, 188, 113, .28);
    animation: eclipse-champion-glow 4s ease-in-out infinite;
}

.ranking-podium .podium-portrait {
    transition: transform .3s ease, box-shadow .3s ease;
}

@media (hover: hover) and (pointer: fine) {
    .ranking-podium .podium-card:hover {
        transform: translateY(-7px);
        border-color: var(--medal);
    }

    .ranking-podium .podium-card:hover .podium-portrait {
        transform: scale(1.06);
        box-shadow: 0 0 18px var(--medal);
    }
}

@keyframes eclipse-podium-shine {
    0%, 55% { background-position: 100% 0; }
    85%, 100% { background-position: 0% 0; }
}

@keyframes eclipse-champion-glow {
    0%, 100% { opacity: .25; }
    50% { opacity: .85; }
}

@media (prefers-reduced-motion: reduce) {
    .ranking-podium .podium-card::before,
    .ranking-podium .podium-card::after {
        animation: none;
    }

    .ranking-podium .podium-card,
    .ranking-podium .podium-portrait {
        transition: none;
        transform: none !important;
    }
}
