.community-ranking{padding-top:18px;color:#f4f8fb}.community-ranking__hero{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px}.community-ranking__hero h1{margin:0 0 8px;font-size:clamp(30px,4vw,46px);letter-spacing:-.04em}.community-ranking__hero p{max-width:720px;margin:0;color:#8fa6bf;font-size:15px;line-height:1.6}.community-ranking__period{display:grid;flex:0 0 220px;gap:4px;padding:13px 15px;border:1px solid rgba(96,165,250,.28);border-radius:12px;background:#071a34}.community-ranking__period span,.community-ranking__period strong{font-size:13px}.community-ranking__period span{color:#8fa6bf}.community-ranking__period strong{color:#bfdbfe;text-transform:uppercase;letter-spacing:.08em}.community-ranking__period time{color:#fff;font-size:21px;font-weight:800;font-variant-numeric:tabular-nums}.community-ranking__layout{align-items:stretch}.community-ranking__layout>.secondary-main{padding:16px}.ranking-panel{border:1px solid rgba(65,125,169,.28);border-radius:14px;background:linear-gradient(145deg,rgba(7,26,52,.9),rgba(5,18,36,.94));overflow:hidden}.ranking-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid rgba(65,125,169,.22)}.ranking-panel__head h2{margin:0 0 5px;font-size:20px;letter-spacing:-.025em}.ranking-panel__head p{margin:0;color:#8fa6bf;font-size:15px;line-height:1.55}.ranking-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}.ranking-podium__card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"medal avatar" "identity identity" "score movement";gap:8px 10px;align-items:center;min-width:0;padding:14px;border:1px solid rgba(96,165,250,.24);border-radius:13px;background:#071a34}.ranking-podium__card.is-gold{border-color:rgba(245,190,76,.55);background:linear-gradient(145deg,rgba(72,51,15,.46),#071a34)}.ranking-podium__card.is-silver{border-color:rgba(184,202,222,.46);background:linear-gradient(145deg,rgba(84,101,122,.3),#071a34)}.ranking-podium__card.is-bronze{border-color:rgba(198,124,76,.52);background:linear-gradient(145deg,rgba(87,48,25,.38),#071a34)}.ranking-podium__medal{grid-area:medal;display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#12345a;color:#dbeafe;font-size:15px;font-weight:900}.is-gold .ranking-podium__medal{background:#e3ad3f;color:#241706}.is-silver .ranking-podium__medal{background:#b8c9dd;color:#152033}.is-bronze .ranking-podium__medal{background:#bd7247;color:#260f06}.ranking-avatar{grid-area:avatar;display:grid;place-items:center;width:48px;height:48px;margin-left:auto;border:2px solid rgba(96,165,250,.45);border-radius:50%;background:#12345a;color:#fff;font-weight:900;overflow:hidden}.ranking-avatar img{width:100%;height:100%;object-fit:cover}.ranking-podium__identity{grid-area:identity;display:grid;min-width:0;gap:3px}.ranking-podium__identity a,.ranking-table__author a{overflow:hidden;color:#f4f8fb;font-weight:800;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ranking-podium__identity small,.ranking-table__author small{color:#8fa6bf;font-size:15px}.ranking-podium__card>strong{grid-area:score;color:#dbeafe;font-size:15px}.ranking-movement{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 7px;border-radius:999px;background:rgba(96,165,250,.1);color:#9fc7f5;font-size:12px;font-weight:800;white-space:nowrap}.ranking-podium__card>.ranking-movement{grid-area:movement;justify-self:end}.ranking-movement.is-up{background:rgba(52,211,153,.1);color:#6ee7b7}.ranking-movement.is-down{background:rgba(251,113,133,.1);color:#fda4af}.ranking-personal{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:13px;align-items:center;padding:14px 16px;border:1px solid rgba(96,165,250,.48);border-radius:14px;background:linear-gradient(105deg,rgba(37,99,235,.18),rgba(7,26,52,.95))}.ranking-personal__position{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#123e72;color:#fff;font-size:17px;font-weight:900}.ranking-personal>div{display:grid;min-width:0;gap:2px}.ranking-personal small{color:#8fbdf2;font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ranking-personal strong{font-size:14px}.ranking-personal p{margin:2px 0 0;color:#8fa6bf;font-size:15px}.ranking-personal>b{color:#fff;font-size:16px;white-space:nowrap}.ranking-personal>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid rgba(96,165,250,.38);border-radius:10px;background:rgba(37,99,235,.12);color:#dbeafe;font-size:15px;font-weight:800;text-decoration:none}.ranking-personal .ui-icon,.ranking-guide .ui-icon,.ranking-mix .ui-icon{fill:none;stroke:currentColor;stroke-width:1.8}.ranking-table{display:grid}.ranking-table__row{display:grid;grid-template-columns:42px 38px minmax(145px,1fr) 110px 110px 32px;gap:10px;align-items:center;min-height:66px;padding:9px 14px;border-bottom:1px solid rgba(65,125,169,.19)}.ranking-table__row:last-child{border-bottom:0}.ranking-table__place{color:#7db5f7;font-size:12px}.ranking-avatar--small{grid-area:auto;width:36px;height:36px;margin:0;border-width:1px;font-size:14px}.ranking-table__author{display:grid;min-width:0;gap:3px}.ranking-table__row>strong{justify-self:end;color:#dbeafe;font-size:14px}.ranking-breakdown{position:relative}.ranking-breakdown summary{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(96,165,250,.3);border-radius:9px;color:#8fbdf2;cursor:pointer;list-style:none}.ranking-breakdown summary::-webkit-details-marker{display:none}.ranking-breakdown .ui-icon{fill:none;stroke:currentColor;stroke-width:1.8}.ranking-breakdown p{position:absolute;z-index:12;right:0;bottom:36px;width:250px;margin:0;padding:10px;border:1px solid rgba(96,165,250,.38);border-radius:10px;background:#061426;box-shadow:0 15px 34px rgba(0,0,0,.36);color:#bdd0e5;font-size:15px;line-height:1.5}.ranking-pagination{padding:12px 14px;border-top:1px solid rgba(65,125,169,.19)}.ranking-pagination nav{display:flex;justify-content:center}.ranking-empty{display:grid;min-height:190px;place-items:center;align-content:center;padding:24px;text-align:center}.ranking-empty .ui-icon{fill:none;stroke:#60a5fa;stroke-width:1.7}.ranking-empty h3{margin:10px 0 5px;font-size:15px}.ranking-empty p{max-width:480px;margin:0;color:#8fa6bf;font-size:15px;line-height:1.6}.ranking-empty--compact{min-height:90px}.ranking-guide{scroll-margin-top:90px}.ranking-guide__points{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px}.ranking-guide__points>div{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:10px;border:1px solid rgba(65,125,169,.24);border-radius:11px;background:#071a34}.ranking-guide__points span{font-size:13px;line-height:1.35}.ranking-guide__points b{grid-column:2;color:#60a5fa;font-size:12px}.ranking-guide__tips{padding:0 17px 14px}.ranking-guide__tips>strong{font-size:12px}.ranking-guide__tips ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 22px;margin:9px 0 0;padding-left:18px;color:#9db1c7;font-size:13px;line-height:1.5}.ranking-guide__note{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px 17px;border-top:1px solid rgba(65,125,169,.2);color:#7f98b3;font-size:12px;line-height:1.5}.community-ranking__rail{gap:0}.ranking-top-mixes{display:grid;gap:7px}.ranking-top-mixes>p,.ranking-archive em{color:#8fa6bf;font-size:15px;font-style:normal}.ranking-mix{display:grid;grid-template-columns:44px 25px minmax(0,1fr) 34px;gap:7px;align-items:center;padding:7px;border:1px solid rgba(65,125,169,.22);border-radius:11px;background:#071a34}.ranking-mix>img{width:44px;height:44px;border-radius:8px;object-fit:cover}.ranking-mix>span{color:#60a5fa;font-size:13px;font-weight:900}.ranking-mix>div{display:grid;min-width:0;gap:3px}.ranking-mix>div button{overflow:hidden;padding:0;border:0;background:none;color:#f4f8fb;font-size:15px;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ranking-mix small{overflow:hidden;color:#819ab4;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.ranking-mix>.ui-play-circle{width:32px;height:32px}.ranking-archive>div{display:grid;margin-top:10px}.ranking-archive a{display:grid;grid-template-columns:45px minmax(0,1fr);gap:2px 7px;padding:8px 0;border-bottom:1px solid rgba(65,125,169,.17);text-decoration:none}.ranking-archive a:last-child{border-bottom:0}.ranking-archive a span{grid-row:1/3;color:#7390ae;font-size:11px}.ranking-archive a b{overflow:hidden;color:#dce9f8;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.ranking-archive a small{color:#8fa6bf;font-size:15px}
@media(max-width:1100px){.ranking-guide__points{grid-template-columns:repeat(3,minmax(0,1fr))}.ranking-table__row{grid-template-columns:38px 36px minmax(130px,1fr) 100px 100px 32px}.ranking-podium{grid-template-columns:1fr}.ranking-podium__card{grid-template-columns:auto 48px minmax(0,1fr) auto auto;grid-template-areas:"medal avatar identity score movement"}.ranking-avatar{margin:0}.ranking-podium__identity{grid-area:identity}.ranking-podium__card>strong{white-space:nowrap}}
@media(max-width:900px){.community-ranking__hero{align-items:flex-start;flex-direction:column}.community-ranking__period{width:100%;box-sizing:border-box;flex-basis:auto}.ranking-podium__card{grid-template-columns:auto 48px minmax(0,1fr);grid-template-areas:"medal avatar identity" "score score movement"}.ranking-personal{grid-template-columns:auto minmax(0,1fr) auto}.ranking-personal>a{grid-column:2/4;justify-self:start}.ranking-table__row{grid-template-columns:38px 36px minmax(0,1fr) auto 32px}.ranking-table__row>.ranking-movement{display:none}.ranking-table__row>strong{grid-column:4}.ranking-breakdown{grid-column:5}.ranking-guide__points{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.community-ranking{padding-top:10px}.community-ranking__hero{padding:17px!important}.community-ranking__hero h1{font-size:28px}.community-ranking__layout>.secondary-main{padding:10px}.ranking-panel__head{padding:14px}.ranking-podium{padding:10px}.ranking-podium__card{grid-template-columns:31px 42px minmax(0,1fr);grid-template-areas:"medal avatar identity" "score score movement";padding:11px}.ranking-avatar{width:42px;height:42px}.ranking-personal{grid-template-columns:42px minmax(0,1fr);padding:11px}.ranking-personal__position{width:42px;height:42px}.ranking-personal>b{grid-column:2}.ranking-personal>a{grid-column:1/-1;width:100%;box-sizing:border-box}.ranking-table__row{grid-template-columns:34px 34px minmax(0,1fr) 30px;gap:7px;min-height:60px;padding:8px 10px}.ranking-table__row>strong{grid-column:3;justify-self:start;color:#8fbdf2;font-size:13px}.ranking-breakdown{grid-column:4;grid-row:1/3}.ranking-breakdown p{position:fixed;right:12px;bottom:96px;left:12px;width:auto}.ranking-guide__points,.ranking-guide__tips ul{grid-template-columns:1fr}.ranking-guide__points{padding:10px}.ranking-guide__tips{padding:0 14px 12px}}
.ranking-avatar{position:relative}.ranking-avatar img{position:absolute;inset:0}.ranking-avatar img[hidden]{display:none}
@media(prefers-reduced-motion:reduce){[data-ranking-countdown]{transition:none}}

/* Ranking 1.0.2: premium podium art and a dense two-column author table. */
.ranking-podium{gap:12px;padding:16px}
.ranking-podium__card{isolation:isolate;min-height:178px;padding:17px;overflow:hidden;grid-template-columns:58px minmax(0,1fr);grid-template-areas:"medal medal" "avatar identity" "score movement";align-content:space-between;border-color:rgba(96,165,250,.34);background-position:center;background-size:cover;box-shadow:0 16px 36px rgba(0,0,0,.26)}
.ranking-podium__card::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(105deg,rgba(3,16,31,.98) 0%,rgba(3,16,31,.86) 45%,rgba(3,16,31,.3) 100%)}
.ranking-podium__card::after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(180deg,transparent 45%,rgba(3,16,31,.86) 100%)}
.ranking-podium__card.is-gold{border-color:rgba(240,190,77,.65);box-shadow:0 18px 42px rgba(112,74,9,.23),inset 0 1px rgba(255,225,151,.16)}
.ranking-podium__card.is-silver{border-color:rgba(190,211,233,.55);box-shadow:0 18px 42px rgba(89,124,164,.19),inset 0 1px rgba(239,248,255,.14)}
.ranking-podium__card.is-bronze{border-color:rgba(205,128,76,.62);box-shadow:0 18px 42px rgba(117,58,22,.2),inset 0 1px rgba(255,196,145,.14)}
.ranking-podium__medal{width:43px;height:43px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 8px 22px rgba(0,0,0,.3);font-size:17px}
.ranking-podium__card .ranking-avatar{width:56px;height:56px;margin:0;border-width:2px;box-shadow:0 0 0 5px rgba(5,18,36,.54),0 10px 24px rgba(0,0,0,.35)}
.ranking-podium__identity{align-self:center;gap:4px}.ranking-podium__identity a{font-size:17px}.ranking-podium__identity small{font-size:15px}.ranking-podium__card>strong{align-self:end;font-size:15px}.ranking-podium__card>.ranking-movement{align-self:end;backdrop-filter:blur(8px)}
.ranking-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}
.ranking-table__row{grid-template-columns:35px 42px minmax(0,1fr) auto 32px;grid-template-areas:"place avatar author score info" "place avatar movement movement info";gap:4px 9px;min-height:70px;padding:10px 11px;border:1px solid rgba(65,125,169,.25);border-radius:12px;background:linear-gradient(135deg,rgba(7,26,52,.96),rgba(5,18,36,.9))}
.ranking-table__row:last-child{border-bottom:1px solid rgba(65,125,169,.25)}
.ranking-table__place{grid-area:place;align-self:center}.ranking-table__row>.ranking-avatar{grid-area:avatar;align-self:center;width:40px;height:40px}.ranking-table__author{grid-area:author;align-self:end}.ranking-table__row>.ranking-movement{grid-area:movement;align-self:start}.ranking-table__row>strong{grid-area:score;align-self:end;justify-self:end}.ranking-breakdown{grid-area:info;align-self:center}.ranking-breakdown p{bottom:38px}
.ranking-pagination{grid-column:1/-1;padding:12px 0 0;border-top:0}
@media(max-width:1100px){.ranking-podium{grid-template-columns:1fr}.ranking-podium__card{min-height:128px;grid-template-columns:48px 56px minmax(0,1fr) auto;grid-template-areas:"medal avatar identity score" "medal avatar movement movement"}.ranking-podium__card>.ranking-movement{justify-self:end}.ranking-table{grid-template-columns:1fr}}
@media(max-width:600px){.ranking-podium__card{min-height:122px;padding:12px;grid-template-columns:39px 46px minmax(0,1fr);grid-template-areas:"medal avatar identity" "score score movement"}.ranking-podium__medal{width:37px;height:37px}.ranking-podium__card .ranking-avatar{width:44px;height:44px}.ranking-podium__identity a{font-size:15px}.ranking-table{gap:7px;padding:9px}.ranking-table__row{grid-template-columns:31px 38px minmax(0,1fr) 30px;grid-template-areas:"place avatar author info" "place avatar score info";min-height:62px;padding:8px}.ranking-table__row>.ranking-movement{display:none}.ranking-table__row>strong{grid-area:score;justify-self:start;font-size:13px}}

/* Keep the real avatar above its initial fallback. */
.ranking-avatar{position:relative}
.ranking-avatar img{position:absolute;inset:0}

/* Ranking 1.1.0: ceremonial top-three cards with generated medal artwork. */
.ranking-podium{align-items:stretch;padding:26px 16px 18px}
.ranking-podium__card{min-height:206px;padding:18px 20px 18px 14px;grid-template-columns:112px minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"award identity" "award score" "award movement";gap:6px 15px;align-content:center;background-position:center right;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.ranking-podium__card::before{background:linear-gradient(102deg,rgba(3,16,31,.99) 0%,rgba(3,16,31,.88) 48%,rgba(3,16,31,.4) 100%)}
.ranking-podium__card::after{z-index:-1;border:1px solid rgba(255,255,255,.04);border-radius:inherit;background:radial-gradient(circle at 18% 45%,rgba(96,165,250,.15),transparent 42%),linear-gradient(180deg,transparent 58%,rgba(3,16,31,.88) 100%);pointer-events:none}
.ranking-podium__card:hover{transform:translateY(-3px);border-color:rgba(96,165,250,.68);box-shadow:0 22px 48px rgba(0,0,0,.34)}
.ranking-podium__card.is-gold{transform:translateY(-8px);box-shadow:0 24px 56px rgba(145,94,7,.32),inset 0 1px rgba(255,225,151,.22)}
.ranking-podium__card.is-gold:hover{transform:translateY(-11px)}
.ranking-podium__card.is-gold::after{background:radial-gradient(circle at 19% 45%,rgba(245,190,76,.2),transparent 43%),linear-gradient(180deg,transparent 55%,rgba(3,16,31,.9) 100%)}
.ranking-podium__card.is-silver::after{background:radial-gradient(circle at 19% 45%,rgba(196,218,241,.17),transparent 43%),linear-gradient(180deg,transparent 55%,rgba(3,16,31,.9) 100%)}
.ranking-podium__card.is-bronze::after{background:radial-gradient(circle at 19% 45%,rgba(215,129,72,.18),transparent 43%),linear-gradient(180deg,transparent 55%,rgba(3,16,31,.9) 100%)}
.ranking-podium__award{position:relative;grid-area:award;align-self:center;width:112px;height:126px}
.ranking-podium__medal-art{display:block;width:108px;height:108px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.42))}
.is-gold .ranking-podium__medal-art{width:116px;height:116px;margin:-4px 0 0 -4px;filter:drop-shadow(0 14px 22px rgba(218,153,34,.28))}
.ranking-podium__award .ranking-avatar{position:absolute;z-index:2;right:-1px;bottom:0;width:46px;height:46px;margin:0;border-width:2px;box-shadow:0 0 0 4px #061426,0 8px 20px rgba(0,0,0,.45)}
.ranking-podium__medal-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ranking-podium__identity{align-self:end;gap:5px}.ranking-podium__identity a{font-size:18px;letter-spacing:-.02em}.ranking-podium__identity small{color:#9bb1c9;font-size:15px}
.ranking-podium__card>strong{align-self:start;color:#f5f9ff;font-size:17px;letter-spacing:-.02em}
.ranking-podium__card>.ranking-movement{align-self:end;justify-self:start;padding:5px 8px;border:1px solid rgba(110,231,183,.12);backdrop-filter:blur(10px)}

@media(max-width:1100px){.ranking-podium{padding-top:16px}.ranking-podium__card,.ranking-podium__card.is-gold{min-height:145px;padding:14px 18px;transform:none;grid-template-columns:108px minmax(0,1fr) auto;grid-template-rows:auto 1fr;grid-template-areas:"award identity score" "award movement movement";gap:6px 14px}.ranking-podium__card.is-gold:hover,.ranking-podium__card:hover{transform:translateY(-2px)}.ranking-podium__award{width:104px;height:112px}.ranking-podium__medal-art{width:98px;height:98px}.is-gold .ranking-podium__medal-art{width:106px;height:106px}.ranking-podium__award .ranking-avatar{width:42px;height:42px}.ranking-podium__card>.ranking-movement{justify-self:start}}
@media(max-width:600px){.ranking-podium{padding:11px}.ranking-podium__card,.ranking-podium__card.is-gold{min-height:132px;padding:12px;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"award identity" "award score" "movement movement";gap:4px 10px}.ranking-podium__award{width:84px;height:96px}.ranking-podium__medal-art{width:82px;height:82px}.is-gold .ranking-podium__medal-art{width:88px;height:88px;margin:-3px 0 0 -3px}.ranking-podium__award .ranking-avatar{right:-2px;width:38px;height:38px;box-shadow:0 0 0 3px #061426,0 7px 16px rgba(0,0,0,.4)}.ranking-podium__identity{align-self:end}.ranking-podium__identity a{font-size:15px}.ranking-podium__card>strong{font-size:14px}.ranking-podium__card>.ranking-movement{grid-area:movement;align-self:end}}
@media(prefers-reduced-motion:reduce){.ranking-podium__card{transition:none}}

/* Ranking 1.1.1: clean podium cards without decorative background images. */
.ranking-podium__card,
.ranking-podium__card.is-gold,
.ranking-podium__card.is-silver,
.ranking-podium__card.is-bronze{
    background-color:#061426;
    background-image:none;
}
.ranking-podium__card::before{
    background:linear-gradient(90deg,rgba(3,16,31,.38),rgba(3,16,31,.08));
}
.ranking-podium__card::after{
    background:radial-gradient(circle at 19% 45%,rgba(96,165,250,.1),transparent 38%);
}
.ranking-podium__card.is-gold::after{
    background:radial-gradient(circle at 19% 45%,rgba(245,190,76,.14),transparent 38%);
}
.ranking-podium__card.is-silver::after{
    background:radial-gradient(circle at 19% 45%,rgba(196,218,241,.12),transparent 38%);
}
.ranking-podium__card.is-bronze::after{
    background:radial-gradient(circle at 19% 45%,rgba(215,129,72,.12),transparent 38%);
}

/* Ranking 1.2.0: season density, activity details and adaptive achievement cards. */
.community-ranking__period b{color:#60a5fa;font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ranking-podium__card{min-height:278px;grid-template-rows:auto auto auto 1fr auto auto;grid-template-areas:"award identity" "award score" "award movement" "mix mix" "metrics metrics" "progress progress"}
.ranking-podium__mix{grid-area:mix;display:grid;gap:3px;min-width:0;padding-top:10px;border-top:1px solid rgba(65,125,169,.2)}
.ranking-podium__mix small{color:#7f98b3;font-size:15px;text-transform:uppercase;letter-spacing:.07em}.ranking-podium__mix b{overflow:hidden;color:#dce9f8;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.ranking-podium__metrics{grid-area:metrics;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ranking-podium__metrics>span{display:grid;grid-template-columns:auto auto;grid-template-areas:"icon value" "label label";gap:2px 5px;align-items:center;justify-content:start;min-width:0;padding:7px;border:1px solid rgba(65,125,169,.2);border-radius:9px;background:#071a34}
.ranking-podium__metrics .ui-icon{grid-area:icon;fill:none;stroke:#60a5fa;stroke-width:1.8}.ranking-podium__metrics b{grid-area:value;color:#f4f8fb;font-size:16px}.ranking-podium__metrics small{grid-area:label;overflow:hidden;color:#7f98b3;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.ranking-podium__progress{grid-area:progress;display:block;height:3px;border-radius:999px;background:#102f52;overflow:hidden}.ranking-podium__progress b{display:block;height:100%;border-radius:inherit;background:#3b82f6}.is-gold .ranking-podium__progress b{background:#eab84d}.is-silver .ranking-podium__progress b{background:#bcd0e5}.is-bronze .ranking-podium__progress b{background:#ca7c4c}
.ranking-archive{position:relative}.ranking-archive>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ranking-archive>header .ui-icon{fill:none;stroke:#60a5fa;stroke-width:1.8}.ranking-archive>header p{margin:4px 0 0}
.ranking-archive__list{display:grid;margin-top:10px}.ranking-archive__item{position:relative;border-bottom:1px solid rgba(65,125,169,.18)}.ranking-archive__item:last-child{border-bottom:0}
.ranking-archive__trigger{display:grid;width:100%;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}
.ranking-archive__trigger>img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(218,153,34,.22))}.ranking-archive__trigger>span{display:grid;min-width:0;gap:2px}.ranking-archive__trigger small{color:#60a5fa;font-size:15px;font-weight:800;text-transform:uppercase}.ranking-archive__trigger b,.ranking-archive__trigger em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-archive__trigger b{color:#f4f8fb;font-size:15px}.ranking-archive__trigger em{color:#8fa6bf;font-size:11px;font-style:normal}.ranking-archive__trigger>strong{color:#dbeafe;font-size:14px;white-space:nowrap}
.ranking-achievement-popover{position:absolute;z-index:30;right:calc(100% + 12px);bottom:0;display:grid;width:252px;justify-items:center;gap:6px;padding:16px;border:1px solid rgba(96,165,250,.52);border-radius:13px;background:#061426;box-shadow:0 22px 52px rgba(0,0,0,.52);opacity:0;visibility:hidden;transform:translateX(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;text-align:center;pointer-events:none}
.ranking-achievement-popover>[data-season-achievement-close]{position:absolute;top:8px;right:8px;display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(65,125,169,.34);border-radius:9px;background:#071a34;color:#9db1c7;cursor:pointer}.ranking-achievement-popover>img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(218,153,34,.28))}.ranking-achievement-popover>small{color:#60a5fa;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.ranking-achievement-popover h3{margin:0;color:#f4f8fb;font-size:16px}.ranking-achievement-popover time{color:#8fa6bf;font-size:12px}.ranking-achievement-popover p{margin:2px 0;color:#b8c9dc;font-size:15px;line-height:1.45}.ranking-achievement-popover>a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin-top:4px;padding:0 12px;border:1px solid rgba(96,165,250,.38);border-radius:9px;background:#0a2445;color:#dbeafe;font-size:14px;font-weight:800;text-decoration:none}
@media(hover:hover) and (pointer:fine){.ranking-archive__item:hover .ranking-achievement-popover,.ranking-archive__item:focus-within .ranking-achievement-popover{opacity:1;visibility:visible;transform:none;pointer-events:auto}}
.ranking-archive__item.is-open .ranking-achievement-popover{opacity:1;visibility:visible;transform:none;pointer-events:auto}
@media(max-width:1100px){.ranking-podium__card,.ranking-podium__card.is-gold{min-height:190px;grid-template-columns:108px minmax(0,1fr) auto;grid-template-rows:auto auto auto;grid-template-areas:"award identity score" "award mix movement" "metrics metrics metrics" "progress progress progress"}.ranking-achievement-popover{right:0;bottom:calc(100% + 8px)}}
@media(max-width:600px){.ranking-podium__card,.ranking-podium__card.is-gold{min-height:250px;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto auto auto auto;grid-template-areas:"award identity" "award score" "movement movement" "mix mix" "metrics metrics" "progress progress"}.ranking-podium__metrics>span{padding:6px}.ranking-achievement-popover{position:fixed;z-index:90;right:12px;bottom:184px;left:12px;width:auto;max-height:calc(100dvh - 216px);box-sizing:border-box;overflow:auto;transform:translateY(8px)}}

/* Ranking 1.4.0: aligned podium and clearer, visual scoring guide. */
.ranking-podium__card,
.ranking-podium__card.is-gold,
.ranking-podium__card.is-silver,
.ranking-podium__card.is-bronze{align-self:stretch;height:100%;box-sizing:border-box;transform:none}
.ranking-podium__card:hover,
.ranking-podium__card.is-gold:hover{transform:translateY(-3px)}
.ranking-guide__points{gap:10px;padding:16px}
.ranking-guide__points>.ranking-guide__point{--guide-accent:#60a5fa;position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 10px;min-height:82px;box-sizing:border-box;padding:12px 13px;border-color:color-mix(in srgb,var(--guide-accent) 28%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--guide-accent) 9%,#071a34),#071a34);overflow:hidden}
.ranking-guide__points>.ranking-guide__point::after{content:"";position:absolute;right:-19px;bottom:-25px;width:72px;height:72px;border:1px solid color-mix(in srgb,var(--guide-accent) 18%,transparent);border-radius:50%;opacity:.62}
.ranking-guide__point--2{--guide-accent:#38bdf8!important}.ranking-guide__point--3{--guide-accent:#fb7185!important}.ranking-guide__point--4{--guide-accent:#a78bfa!important}.ranking-guide__point--5{--guide-accent:#34d399!important}
.ranking-guide__icon{position:relative;z-index:1;grid-row:1/3;display:grid;width:40px;height:40px;place-items:center;align-self:center;border:1px solid color-mix(in srgb,var(--guide-accent) 42%,transparent);border-radius:12px;background:color-mix(in srgb,var(--guide-accent) 12%,#071a34);color:var(--guide-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--guide-accent) 10%,transparent)}
.ranking-guide__icon .ui-icon{fill:none;stroke:currentColor;stroke-width:1.8}
.ranking-guide__label{position:relative;z-index:1;align-self:end;color:#dce9f8;font-size:15px!important;font-weight:780;line-height:1.35}
.ranking-guide__points>.ranking-guide__point>b{position:relative;z-index:1;grid-column:2;display:inline-flex;align-items:center;gap:6px;width:max-content;color:var(--guide-accent);font-size:13px}
.ranking-guide__points>.ranking-guide__point>b::before{content:"";width:0;height:0;border-right:5px solid transparent;border-bottom:8px solid var(--guide-accent);border-left:5px solid transparent;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--guide-accent) 45%,transparent))}
.ranking-guide__tips{padding:2px 18px 16px}.ranking-guide__tips>strong{display:flex;align-items:center;gap:8px;color:#f4f8fb}.ranking-guide__tips>strong::before{content:"✦";color:#60a5fa;font-size:14px}
.ranking-guide__tips ul{padding-left:0;list-style:none}.ranking-guide__tips li{position:relative;padding-left:17px}.ranking-guide__tips li::before{content:"";position:absolute;top:.42em;left:1px;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:7px solid #60a5fa}
@media(max-width:600px){.ranking-podium__card,.ranking-podium__card.is-gold{height:auto}.ranking-guide__points>.ranking-guide__point{min-height:74px}.ranking-guide__tips ul{gap:9px}}

/* Typography scale 2026-08: keep enlarged supporting copy readable inside the two-column shell. */
.ranking-podium__metrics small{overflow:visible;line-height:1.2;text-overflow:clip;white-space:normal}
.ranking-guide__points{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.ranking-guide__points{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.ranking-guide__points{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ranking-achievement-popover{transition:none}}

/* Ranking 1.3.0: one season card contains the complete gold/silver/bronze podium. */
.ranking-archive__trigger{grid-template-columns:56px minmax(0,1fr) auto}
.ranking-archive__medals{position:relative!important;display:block!important;width:56px;height:43px;min-width:56px}
.ranking-archive__medals img{position:absolute;top:5px;width:34px;height:34px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.32))}
.ranking-archive__medals img:nth-child(1){z-index:3;top:0;left:0;width:42px;height:42px}
.ranking-archive__medals img:nth-child(2){z-index:2;right:3px}.ranking-archive__medals img:nth-child(3){z-index:1;right:-5px;transform:translateX(9px)}
.ranking-archive__trigger>span:not(.ranking-archive__medals){display:grid;min-width:0;gap:2px}
.ranking-achievement-popover{right:100%;bottom:-8px;width:360px;justify-items:stretch;gap:7px;padding:17px;text-align:left;transform:translateX(8px)}
.ranking-achievement-popover::after{position:absolute;top:0;right:-12px;width:12px;height:100%;content:""}
.ranking-achievement-popover>[data-season-achievement-close]{display:none}
.ranking-achievement-popover>small,.ranking-achievement-popover>h3,.ranking-achievement-popover>time{text-align:left}
.ranking-achievement-popover__winners{display:grid;gap:7px;margin-top:5px}
.ranking-achievement-popover__winners>article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:56px;padding:7px 9px;border:1px solid rgba(65,125,169,.24);border-radius:10px;background:#071a34}
.ranking-achievement-popover__winners img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(0,0,0,.3))}
.ranking-achievement-popover__winners span{display:grid;min-width:0;gap:3px}.ranking-achievement-popover__winners a,.ranking-achievement-popover__winners b{overflow:hidden;color:#f4f8fb;font-size:16px;font-weight:800;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ranking-achievement-popover__winners a:hover{color:#60a5fa}.ranking-achievement-popover__winners small{overflow:hidden;color:#8fa6bf;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.ranking-achievement-popover__winners strong{color:#dbeafe;font-size:14px;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.ranking-archive__item:focus-within:not(:hover) .ranking-achievement-popover{opacity:0;visibility:hidden;transform:translateX(8px);pointer-events:none}.ranking-archive__item:hover .ranking-achievement-popover,.ranking-archive__item.is-open .ranking-achievement-popover{opacity:1;visibility:visible;transform:none;pointer-events:auto}}
@media(hover:none),(pointer:coarse){.ranking-achievement-popover>[data-season-achievement-close]{display:grid}}
@media(max-width:1100px){.ranking-achievement-popover{right:0;bottom:calc(100% + 8px);width:min(360px,calc(100vw - 32px))}.ranking-achievement-popover::after{display:none}}
@media(max-width:600px){.ranking-achievement-popover{right:12px;bottom:184px;left:12px;width:auto;max-height:calc(100dvh - 216px);padding:15px}.ranking-achievement-popover__winners>article{grid-template-columns:44px minmax(0,1fr) auto}.ranking-achievement-popover__winners img{width:44px;height:44px}}

/* Compact podium activity and readable guide copy. */
.ranking-podium__card{min-height:244px}
.ranking-podium__metrics>span.ranking-podium__metric{position:relative;display:flex;min-height:39px;box-sizing:border-box;align-items:center;justify-content:center;gap:7px;padding:7px 9px;cursor:help}
.ranking-podium__metrics .ranking-podium__metric .ui-icon{flex:0 0 auto;width:17px;height:17px}
.ranking-podium__metrics .ranking-podium__metric b{font-size:16px;line-height:1}
.ranking-guide__tips>strong,.ranking-guide__tips ul{font-size:15px;font-weight:400;line-height:1.5}
.ranking-guide__tips>strong{font-weight:700}
.ranking-guide__tips ul{color:#7f98b3}
@media(hover:hover) and (pointer:fine){
  .ranking-podium__metric::after{content:attr(data-tooltip);position:absolute;z-index:40;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:180px;padding:7px 9px;border:1px solid rgba(96,165,250,.34);border-radius:8px;background:#041225;color:#dbeafe;font-size:15px;font-weight:650;line-height:1.35;white-space:normal;box-shadow:0 12px 30px rgba(0,0,0,.45);opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .15s,transform .15s}
  .ranking-podium__metric:is(:hover,:focus-visible)::after{opacity:1;transform:translate(-50%,0)}
}
@media(max-width:1100px){.ranking-podium__card,.ranking-podium__card.is-gold{min-height:166px}}
@media(max-width:600px){.ranking-podium__card,.ranking-podium__card.is-gold{min-height:215px}.ranking-podium__metrics>span.ranking-podium__metric{min-height:38px;padding:6px}}

/* Archive 1.5.0: compact seasons in the rail; winner names stay in the detail popover. */
.ranking-archive{padding-top:15px!important}
.ranking-archive>header{align-items:center;padding-bottom:11px;border-bottom:1px solid rgba(65,125,169,.2)}
.ranking-archive>header>div{display:grid;min-width:0;gap:2px}
.ranking-archive>header small{color:#60a5fa;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ranking-archive>header strong{color:#f4f8fb;font-size:17px;line-height:1.25}
.ranking-archive__list{margin-top:4px}
.ranking-archive__item[hidden]{display:none!important}
.ranking-archive__trigger{grid-template-columns:49px minmax(0,1fr) 28px;min-height:60px;gap:10px;padding:8px 0}
.ranking-archive__medals{width:49px;height:38px;min-width:49px}
.ranking-archive__medals img{top:6px;width:29px;height:29px}
.ranking-archive__medals img:nth-child(1){top:0;left:0;width:38px;height:38px}
.ranking-archive__medals img:nth-child(2){right:2px}
.ranking-archive__medals img:nth-child(3){right:-4px;transform:translateX(8px)}
.ranking-archive__trigger>span:not(.ranking-archive__medals){gap:3px}
.ranking-archive__trigger small{font-size:14px;line-height:1.2}
.ranking-archive__trigger em{color:#8fa6bf;font-size:13px;line-height:1.25}
.ranking-archive__trigger>.ui-icon{justify-self:end;color:#60a5fa;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .16s ease}
.ranking-archive__item:is(:hover,:focus-within) .ranking-archive__trigger>.ui-icon{transform:translateX(3px)}
.ranking-archive__more{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:8px;margin-top:10px;border:1px solid rgba(96,165,250,.3);border-radius:10px;background:rgba(37,99,235,.1);color:#bfdbfe;font-size:14px;font-weight:800;cursor:pointer}
.ranking-archive__more:hover{border-color:rgba(96,165,250,.5);background:rgba(37,99,235,.16)}
.ranking-archive__more .ui-icon{fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .16s ease}
.ranking-archive__more[aria-expanded="true"] .ui-icon{transform:rotate(-90deg)}
@media(max-width:1100px){.ranking-archive__trigger{grid-template-columns:49px minmax(0,1fr) 28px}.ranking-archive__more{min-height:42px}}

/* Podium 1.6.1: readable activity controls, compact mix action and wider rail. */
.community-ranking{--secondary-rail:298px}
.ranking-podium__card,
.ranking-podium__card.is-gold,
.ranking-podium__card.is-silver,
.ranking-podium__card.is-bronze{
  min-height:232px;
  grid-template-rows:auto auto 1fr auto auto;
  grid-template-areas:"award identity" "award score" "award movement" "mix mix" "progress progress";
}
.ranking-podium__identity{padding-right:78px}
.ranking-podium__metrics{position:absolute;z-index:5;top:14px;right:12px;display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(35px,auto);justify-items:end;width:max-content;min-width:42px;max-width:calc(100% - 24px);gap:5px}
.ranking-podium__metrics>span.ranking-podium__metric{width:max-content;min-width:42px;max-width:100%;min-height:35px;box-sizing:border-box;padding:5px 8px;gap:5px;border-color:rgba(96,165,250,.28);background:rgba(5,24,47,.9);cursor:help;backdrop-filter:blur(10px)}
.ranking-podium__metrics .ranking-podium__metric .ui-icon{width:15px;height:15px}
.ranking-podium__metrics .ranking-podium__metric b{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ranking-podium__mix{min-width:0;padding-top:10px;border-top:1px solid rgba(65,125,169,.23)}
.ranking-podium__mix>small{display:block;margin-bottom:5px;color:#7f98b3;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.ranking-podium__mix>div{position:relative;top:-3px;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:9px}
.ranking-podium__mix-title{overflow:hidden;min-width:0;padding:0;border:0;background:transparent;color:#f4f8fb;font:inherit;font-size:15px;font-weight:800;line-height:1.3;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.ranking-podium__mix-title:is(:hover,:focus-visible){color:#60a5fa;text-decoration:underline;text-underline-offset:3px}
.ranking-podium__mix-title:focus-visible,.ranking-podium__mix-play:focus-visible{outline:2px solid #60a5fa;outline-offset:3px}
.ranking-podium__mix-play{position:relative;top:-3px;flex:0 0 34px;width:34px;height:34px;color:#dbeafe}
.ranking-podium__mix-play .ui-icon{fill:currentColor;stroke:none}
.ranking-mix{grid-template-columns:44px 22px minmax(0,1fr) 34px;gap:6px}
@media(hover:hover) and (pointer:fine){
  .ranking-podium__metric::after{right:calc(100% + 8px);bottom:auto;left:auto;top:50%;transform:translate(-4px,-50%)}
  .ranking-podium__metric:is(:hover,:focus-visible)::after{transform:translate(0,-50%)}
  .ranking-podium__mix-play::after{content:attr(data-tooltip);position:absolute;z-index:40;right:0;bottom:calc(100% + 8px);width:max-content;max-width:190px;padding:7px 9px;border:1px solid rgba(96,165,250,.34);border-radius:8px;background:#041225;color:#dbeafe;font-size:13px;font-weight:650;line-height:1.35;white-space:normal;box-shadow:0 12px 30px rgba(0,0,0,.45);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s,transform .15s}
  .ranking-podium__mix-play:is(:hover,:focus-visible)::after{opacity:1;transform:none}
}
@media(max-width:1100px){
  .ranking-podium__card,.ranking-podium__card.is-gold,.ranking-podium__card.is-silver,.ranking-podium__card.is-bronze{min-height:168px;grid-template-columns:108px minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"award identity" "award score" "award movement" "mix mix" "progress progress"}
}
@media(max-width:600px){
  .ranking-podium__card,.ranking-podium__card.is-gold,.ranking-podium__card.is-silver,.ranking-podium__card.is-bronze{min-height:220px;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"award identity" "award score" "award movement" "mix mix" "progress progress"}
  .ranking-podium__metrics{top:10px;right:9px}
  .ranking-podium__identity{padding-right:74px}
  .ranking-podium__mix-title{font-size:14px}
}
