/* Standings: restrained medal accents, clear scores, responsive team identities. */
.ranking-board{--rank-gold:#e3ad29;--rank-muted:#7890a3;max-width:1220px;margin:0 auto;color:#133f60;}
.ranking-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:4px 0 24px;}
.ranking-kicker{font-size:9px;font-weight:800;letter-spacing:2px;color:#b32037;}
.ranking-heading h2{font-size:clamp(24px,3vw,36px);letter-spacing:-1.2px;line-height:1.2;margin:10px 0;}
.ranking-heading p,.ranking-table-heading p{color:var(--rank-muted);font-size:12px;line-height:1.7;margin:0;}
.ranking-status{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:10px;font-weight:700;background:#fff;border:1px solid #dce8ef;border-radius:30px;padding:10px 14px;}
.ranking-status i{width:6px;height:6px;background:#209779;border-radius:50%;box-shadow:0 0 0 4px #20977912;}
.ranking-summary{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:24px;border:1px solid #dfeaf2;background:#fff;border-radius:16px;padding:20px 25px;margin-bottom:24px;}
.ranking-summary>div:not(.ranking-progress){display:flex;align-items:center;gap:14px;}
.ranking-summary>.ranking-progress{display:flex;flex-direction:column;justify-content:center;gap:10px;}
.ranking-summary .ux-icon{width:38px;height:38px;padding:9px;background:#eff6fb;border-radius:11px;color:#075ba6;}
.ranking-summary>div>span{display:flex;flex-direction:column;gap:4px;font-size:10px;color:var(--rank-muted);}
.ranking-summary strong{font-size:24px;letter-spacing:-.6px;color:#123f63;line-height:1;}
.ranking-summary strong small{font-size:14px;color:#9aabba;font-weight:500;}
.ranking-progress>span{flex-direction:row!important;justify-content:space-between;}
.ranking-progress>span b{color:#075ba6;}
.ranking-progress>div,.ranking-rate>div{height:5px;background:#edf3f7;border-radius:20px;overflow:hidden;}
.ranking-progress i,.ranking-rate i{display:block;width:var(--rate);height:100%;border-radius:20px;background:#075ba6;transform-origin:left;animation:rankingBar .8s cubic-bezier(.2,.8,.2,1) both;}
.ranking-leaders{display:grid;grid-template-columns:1fr 1.12fr 1fr;align-items:center;gap:18px;padding:12px 24px 28px;position:relative;}
.ranking-leaders::before{content:'';position:absolute;inset:22px 0 8px;background:radial-gradient(ellipse at center,#dceaf6a0,transparent 72%);z-index:-1;}
.ranking-leader{position:relative;text-align:center;background:#fff;border:1px solid #dce6ee;border-radius:20px;padding:18px 24px 0;overflow:hidden;box-shadow:0 8px 24px #073b7005;animation:rankingArrive .65s cubic-bezier(.2,.8,.2,1) both;}
.ranking-leader.place-2{--medal:#8a9ab2;animation-delay:.08s;}.ranking-leader.place-3{--medal:#be855a;animation-delay:.16s;}
.ranking-leader.place-1{--medal:#ffe183;color:#fff;background:linear-gradient(135deg,#075ba6,#073b70);border-color:#0b5d9c;box-shadow:0 14px 30px #073b7020;padding-top:23px;padding-bottom:0;}
.ranking-leader::before{content:'';position:absolute;height:3px;background:var(--medal);top:0;left:24px;right:24px;border-radius:0 0 3px 3px;}
.ranking-leader-top{display:flex;align-items:center;gap:8px;text-align:left;margin-bottom:16px;color:var(--rank-muted);font-size:8px;font-weight:800;letter-spacing:1.3px;}
.ranking-leader-top>.ux-icon{margin-left:auto;width:18px;height:18px;color:var(--medal);}
.ranking-place{font-size:17px;font-weight:900;letter-spacing:-.5px;color:var(--medal);}
.ranking-leader.place-1 .ranking-leader-top{color:#c6dff3;}
.ranking-leader>.grp-logo{width:58px!important;height:58px!important;background:#fff;padding:5px;object-fit:contain;border:1px solid #e4ecf3;border-radius:15px;box-shadow:none;}
.ranking-leader.place-1>.grp-logo{width:68px!important;height:68px!important;border:4px solid #ffffff2b;background:#fff;}
.ranking-leader h3{font-size:17px;margin:12px 0 5px;line-height:1.35;overflow-wrap:anywhere;text-wrap:balance;}
.ranking-leader p{font-size:10px;color:var(--rank-muted);margin:0;}.ranking-leader.place-1 p{color:#b8d5eb;}
.ranking-leader-score{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:16px 0 18px;}
.ranking-leader-score strong{font-size:39px;line-height:1;font-weight:850;letter-spacing:-2px;font-variant-numeric:tabular-nums;}
.ranking-leader-score span{font-size:11px;color:var(--rank-muted);}.ranking-leader.place-1 .ranking-leader-score strong{color:#ffe183;font-size:49px;}.ranking-leader.place-1 .ranking-leader-score span{color:#b8d5eb;}
.ranking-leader-foot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #e6eef4;font-size:10px;padding:13px 0;color:#68869a;}
.ranking-leader.place-1 .ranking-leader-foot{border-color:#ffffff26;color:#c1dbed;padding:16px 0;}
.ranking-table-card{background:#fff;border:1px solid #dce7f0;border-radius:19px;overflow:hidden;}
.ranking-table-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;}
.ranking-table-heading h3{font-size:17px;letter-spacing:-.4px;margin:0 0 5px;}
.ranking-table-heading .pill-group{flex-shrink:0;background:#f2f6fa;border-radius:11px;padding:4px;gap:2px;}
.ranking-table-heading .pill{border:0;background:transparent;border-radius:8px;font-size:10px;padding:9px 15px;}
.ranking-table-heading .pill.active{background:#075ba6;color:#fff;box-shadow:0 3px 7px #075ba61a;}
.ranking-table{border:0;border-radius:0;}.ranking-table table{width:100%;min-width:680px;table-layout:auto;}
.ranking-table thead th{background:#f4f8fb;color:#7890a3;font-size:9px;text-transform:none;letter-spacing:.4px;padding:13px 20px;white-space:nowrap;}
.ranking-table td{padding:18px 20px;border-bottom:1px solid #edf2f6;font-size:12px;vertical-align:middle;}
.ranking-table th:first-child,.ranking-table td:first-child{width:68px;text-align:center;}
.ranking-table tbody tr{animation:rankingArrive .5s ease both;animation-delay:var(--rank-delay,0ms);}
.ranking-table tbody tr:last-child td{border-bottom:0;}.ranking-table tbody tr:hover{background:#f8fbfd;}
.ranking-table .rank-num{font-size:12px;width:28px;height:28px;background:#f0f5f9;box-shadow:none;color:#7991a6;border-radius:9px;}
.ranking-table .rank-num.top1{background:#fff0c2;color:#96701d;}.ranking-table .rank-num.top2{background:#edf0f6;color:#667992;}.ranking-table .rank-num.top3{background:#f8eadd;color:#a7744b;}
.ranking-identity{display:flex;align-items:center;gap:12px;min-width:150px;max-width:310px;}
.ranking-identity>.grp-logo{width:40px!important;height:40px!important;object-fit:contain;flex-shrink:0;background:#fff;border:1px solid #e7edf2;padding:3px;border-radius:11px;box-shadow:none;}
.ranking-identity>div{min-width:0;}.ranking-identity strong,.ranking-pair strong{display:block;font-size:12px;line-height:1.5;overflow-wrap:anywhere;}
.ranking-identity small,.ranking-pair small{display:block;color:#91a3b2;font-size:10px;margin-top:3px;}
.ranking-table .ranking-points strong{font-size:21px;letter-spacing:-.8px;font-variant-numeric:tabular-nums;color:#075ba6;}
.ranking-points small{display:block;color:#9aaab7;font-size:9px;margin-top:2px;}
.ranking-difference{font-weight:700;font-variant-numeric:tabular-nums;}.ranking-difference.is-positive{color:#168267;}.ranking-difference.is-negative{color:#ba4b5c;}
.ranking-rate{width:80px;font-size:10px;color:#64849c;}.ranking-rate>div{margin-top:6px;height:3px;}
.ranking-rate i{background:#5c9bbf;}.ranking-record{white-space:nowrap;}.ranking-record span{color:#93a4b1;font-size:10px;}
.ranking-criteria{display:flex;align-items:flex-start;gap:10px;padding:17px 24px;background:#fbfdff;border-top:1px solid #e8eff5;}
.ranking-criteria>.ux-icon{flex-shrink:0;color:#8aa2b4;width:16px;height:16px;margin-top:3px;}.ranking-criteria p{font-size:10px;color:#7690a3;line-height:1.9;margin:0;}.ranking-criteria strong{color:#3f6886;margin-right:12px;}.ranking-criteria span{margin:0 5px;color:#abc0cf;}.ranking-criteria small{font-size:9px;color:#8fa4b4;}
.ranking-awaiting{display:flex;align-items:center;justify-content:center;gap:20px;min-height:170px;margin-bottom:24px;background:#edf5fb80;border:1px dashed #cbdfea;border-radius:18px;}.ranking-awaiting>.ux-icon{width:46px;height:46px;color:#75a2c3;}.ranking-awaiting h3{font-size:19px;margin:0 0 8px;}.ranking-awaiting p{font-size:12px;color:#7890a3;margin:0;}
.board-group-brand .grp-chip>span{overflow-wrap:anywhere;min-width:0;}.board-group-brand .grp-chip{line-height:1.5;}.board-col-head{gap:12px;}.board-logo-edit{white-space:nowrap;}
@keyframes rankingArrive{from{opacity:0;translate:0 12px;}to{opacity:1;translate:0 0;}}
@keyframes rankingBar{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@media(max-width:760px){.ranking-heading{align-items:flex-start;}.ranking-heading h2{font-size:25px;}.ranking-status{font-size:8px;padding:8px 10px;}.ranking-summary{padding:17px;gap:16px;grid-template-columns:1fr 1fr;}.ranking-summary .ranking-progress{grid-column:1/-1;}.ranking-leaders{gap:10px;padding:0 0 22px;grid-template-columns:1fr 1.08fr 1fr;}.ranking-leader{padding:14px 10px 0;border-radius:14px;}.ranking-leader.place-1{padding-top:18px;}.ranking-leader-top{font-size:7px;letter-spacing:.3px;gap:5px;}.ranking-leader-top>.ux-icon{display:none;}.ranking-leader h3{font-size:13px;}.ranking-leader p{font-size:8px;}.ranking-leader>.grp-logo{width:46px!important;height:46px!important;}.ranking-leader.place-1>.grp-logo{width:56px!important;height:56px!important;}.ranking-leader-score strong{font-size:32px;}.ranking-leader.place-1 .ranking-leader-score strong{font-size:40px;}.ranking-leader-foot{font-size:8px;flex-wrap:wrap;justify-content:center;gap:4px 8px;}.ranking-table-heading{padding:18px;flex-wrap:wrap;gap:14px;}.ranking-table-heading p{font-size:10px;}.ranking-table td,.ranking-table th{padding:15px!important;}.ranking-criteria{padding:16px;}.ranking-awaiting{padding:20px;}.ranking-awaiting p{font-size:10px;}}
@media(max-width:420px){.ranking-heading{flex-wrap:wrap;gap:10px;}.ranking-leader-top>span:nth-child(2){font-size:6px;}.ranking-place{font-size:14px;}.ranking-leader h3{font-size:11px;}.ranking-leader-score{gap:4px;}.ranking-leader-score span{font-size:9px;}}
@media(prefers-reduced-motion:reduce){.ranking-board *{animation:none!important;transition:none!important;}}

/* Classic podium: silver / gold / bronze, with a common baseline. */
.ranking-leaders{grid-template-columns:1fr 1.12fr 1fr;align-items:end;max-width:850px;margin:0 auto 28px;padding:22px 38px 0;gap:18px;isolation:isolate;}
.ranking-leaders::before{inset:0 -50px -15px;background:radial-gradient(ellipse at 50% 75%,#f7df9b45,transparent 65%);}
.ranking-leaders::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#b8cbd9,transparent);}
.medal-podium{--metal-dark:#765319;--metal-border:#efd37c;--column-height:190px;text-align:center;min-width:0;animation:medalRise .8s cubic-bezier(.16,1,.3,1) both;}
.medal-2{--metal-dark:#52647c;--metal-border:#c7d1e0;--column-height:151px;animation-delay:.12s;}
.medal-3{--metal-dark:#80502f;--metal-border:#dfb08d;--column-height:126px;animation-delay:.24s;}
.medal-team{padding:0 8px 17px;}
.medal-portrait{position:relative;display:inline-block;margin:0 0 13px;}
.medal-portrait>.grp-logo{display:block;width:68px!important;height:68px!important;object-fit:contain;border-radius:50%;padding:7px;background:#fff;border:2px solid var(--metal-border);box-shadow:0 5px 18px #183a6510,0 0 0 5px #ffffffa0;}
.medal-1 .medal-portrait>.grp-logo{width:82px!important;height:82px!important;border-width:3px;box-shadow:0 7px 22px #bd902326,0 0 0 6px #fff8e2;}
.medal-badge{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:26px;height:30px;background:linear-gradient(145deg,#fff0ad,#e7b638);color:#805814;font-weight:900;font-size:14px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);filter:drop-shadow(0 2px 3px #64450a20);}
.medal-2 .medal-badge{background:linear-gradient(145deg,#f4f7fc,#a5b3c8);color:#52647c;}.medal-3 .medal-badge{background:linear-gradient(145deg,#f5d0ac,#bd8157);color:#744328;}
.medal-team h3{font-size:16px;line-height:1.4;margin:0 0 5px;overflow-wrap:anywhere;text-wrap:balance;color:#163e5b;}
.medal-team p{font-size:10px;color:#88a0b2;margin:0;}
.medal-column{position:relative;isolation:isolate;overflow:hidden;height:var(--column-height);display:flex;align-items:center;flex-direction:column;justify-content:center;border:1px solid var(--metal-border);border-radius:16px 16px 3px 3px;background:linear-gradient(115deg,#f4cf59 0%,#fff0b1 25%,#f6d366 44%,#eab938 75%,#f8d875 100%);box-shadow:inset 0 1px 0 #fff9,0 10px 24px #b48a181a;color:var(--metal-dark);}
.medal-2 .medal-column{background:linear-gradient(115deg,#b4c1d3,#edf2f9 28%,#d7e0ec 48%,#aebdd0 80%,#d0dbe8);box-shadow:inset 0 1px 0 #fffc,0 8px 18px #52647c12;}
.medal-3 .medal-column{background:linear-gradient(115deg,#ce986d,#f4d4b6 28%,#e2b08b 48%,#c58b60 80%,#e4b48e);box-shadow:inset 0 1px 0 #fff9,0 8px 18px #80502f12;}
.medal-column::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,#ffffff7a 48%,transparent 65%);translate:-100% 0;animation:medalShine 1.5s .6s ease-out both;pointer-events:none;}
.medal-metal{display:flex;align-items:center;gap:5px;font-size:8px;font-weight:800;letter-spacing:2px;opacity:.8;}.medal-metal .ux-icon{width:15px;height:15px;}
.medal-title{font-size:12px;letter-spacing:2.5px;font-weight:900;margin-top:7px;}
.medal-score{display:flex;align-items:baseline;gap:6px;justify-content:center;margin-top:8px;}
.medal-score strong{font-size:41px;line-height:1;font-weight:900;letter-spacing:-1.7px;font-variant-numeric:tabular-nums;text-shadow:0 1px 0 #fff7;}
.medal-1 .medal-score strong{font-size:55px;}.medal-score>span{font-size:10px;}
.medal-record{display:flex;justify-content:center;gap:12px;font-size:9px;border-top:1px solid #ffffff55;padding-top:9px;margin-top:11px;}
@keyframes medalRise{from{opacity:0;translate:0 22px;}to{opacity:1;translate:0 0;}}
@keyframes medalShine{from{translate:-100% 0;}to{translate:100% 0;}}
@media(max-width:760px){.ranking-leaders{padding:12px 0 0;gap:10px;margin-bottom:25px;}.ranking-leaders::before{inset:0 0 -10px;}.medal-podium{--column-height:160px;}.medal-2{--column-height:133px;}.medal-3{--column-height:113px;}.medal-team{padding:0 2px 13px;}.medal-team h3{font-size:12px;}.medal-team p{font-size:8px;}.medal-portrait>.grp-logo{width:52px!important;height:52px!important;}.medal-1 .medal-portrait>.grp-logo{width:64px!important;height:64px!important;}.medal-badge{width:22px;height:25px;font-size:12px;}.medal-column{border-radius:12px 12px 3px 3px;}.medal-title{font-size:9px;letter-spacing:1px;}.medal-metal{font-size:7px;letter-spacing:1px;}.medal-metal .ux-icon{width:12px;height:12px;}.medal-score strong{font-size:32px;}.medal-1 .medal-score strong{font-size:43px;}.medal-record{font-size:8px;gap:6px;margin-top:8px;padding-top:7px;}.medal-score{gap:4px;margin-top:6px;}}
@media(prefers-reduced-motion:reduce){.medal-podium,.medal-column::after{animation:none!important;}}

.overview-ranking{width:100%;min-width:0;margin:0;box-sizing:border-box;}
.overview-ranking .ranking-leaders{padding:14px 20px 0;gap:14px;margin-bottom:24px;}
.overview-ranking .ranking-table{border:1px solid #e4edf4;border-radius:12px;}
.overview-ranking .ranking-table table{min-width:620px;}
.overview-ranking .ranking-table td,.overview-ranking .ranking-table th{padding:13px 14px;}
.overview-ranking .ranking-identity{min-width:130px;}
.overview-ranking .section-title{align-items:flex-start;}
.overview-ranking .section-title>.btn{flex-shrink:0;}
@media(max-width:760px){.overview-ranking .ranking-leaders{padding:10px 0 0;gap:8px;}.overview-ranking .medal-team h3{font-size:11px;}.overview-ranking .medal-record{font-size:7px;gap:5px;}}
