/* A podium beside the standings keeps all ten places legible on a landscape phone. */
.ranking-layout{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(300px,1.2fr);gap:16px;align-items:stretch;min-width:0;overflow:visible}
.rank-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-items:center;min-width:0;padding-top:12px}
.podium-card{--medal:#ffdf7c;position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 7px;border:1px solid var(--medal);border-radius:16px;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--medal) 25%,transparent),transparent 72%),linear-gradient(150deg,#213d63,#142644);box-shadow:inset 0 1px 0 #ffffff55,0 8px 18px #06142d66;color:#f2f9ff;overflow:visible}
.podium-gold{grid-column:2;grid-row:1;min-height:187px;border-width:2px;box-shadow:inset 0 1px 0 #fff7bdaa,0 0 22px #ffc3512b;transform:translateY(-8px)}.podium-silver{--medal:#d8edff;grid-column:1;grid-row:1;min-height:164px}.podium-bronze{--medal:#ffae78;grid-column:3;grid-row:1;min-height:152px}.rank-podium[data-count="1"]{grid-template-columns:1fr}.rank-podium[data-count="1"] .podium-gold{grid-column:1;min-height:175px}.rank-podium[data-count="2"]{grid-template-columns:1fr 1fr}
.podium-crest{position:relative;display:grid;place-items:center;width:45px;height:49px;color:#14233f;background:linear-gradient(145deg,#fff3c9,var(--medal) 65%,color-mix(in srgb,var(--medal) 62%,#5b3b36));clip-path:polygon(50% 0,95% 20%,89% 71%,50% 100%,11% 71%,5% 20%);flex-shrink:0}.podium-emblem{position:absolute;top:4px;font-size:14px;line-height:1}.podium-place{font-size:20px;line-height:1;padding-top:10px}.podium-gold .podium-crest{width:53px;height:58px}.podium-gold .podium-emblem{font-size:17px}.podium-gold .podium-place{font-size:23px}
.podium-title{font-size:8px;color:var(--medal);letter-spacing:.6px;margin:6px 0 4px;font-weight:950}.rank-fighter-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:900;line-height:1.5}.rank-prestige{display:inline-block;max-width:100%;border:1px solid color-mix(in srgb,var(--prestige-color,#8ae8ff) 40%,transparent);background:color-mix(in srgb,var(--prestige-color,#8ae8ff) 10%,#0e2741);color:var(--prestige-color,#b0f1ff);padding:3px 6px;border-radius:6px;font-size:9px;font-weight:750;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.podium-card .rank-prestige{margin-top:4px;max-width:100%;font-size:8px;padding:3px 4px}.podium-score{display:flex;gap:4px;align-items:baseline;justify-content:center;margin-top:auto;padding-top:7px;flex-wrap:wrap}.podium-score strong{font-size:23px;line-height:1;color:var(--medal);font-variant-numeric:tabular-nums}.podium-score span{font-size:8px;color:#d5e4f1}.podium-secondary{font-size:8px;color:#a6bfd9;margin-top:5px}.podium-you{position:absolute;top:-9px;inset-inline-end:6px;background:#d73463;color:#fff;border:1px solid #ffb8cc;border-radius:5px;padding:2px 5px;font-size:8px;font-weight:900}.podium-card.is-you{outline:2px solid #ff779a;outline-offset:2px}
.rank-list-scroll{min-width:0;overflow:auto;border:1px solid #769fcc66;border-radius:12px;background:#102945bb;scrollbar-width:thin;scrollbar-color:#48accd #173553;max-height:290px}.prestige-leader-table{width:100%;font-size:11px;white-space:normal}.prestige-leader-table thead{position:sticky;top:0;z-index:1;background:#21466b;box-shadow:0 1px 0 #78ceef77}.prestige-leader-table td,.prestige-leader-table th{padding:7px 8px;line-height:1.4;border-bottom:1px solid #69bcdf24}.prestige-leader-table th{font-size:9px;white-space:nowrap;color:#b2edff;font-weight:900}.prestige-leader-table tr:nth-child(even){background:#2351793d}.prestige-leader-table td:first-child{width:28px;color:#a9dff2}.prestige-leader-table td:nth-child(2){max-width:150px}.prestige-leader-table td:nth-child(n+4){font-weight:900;color:#ffe491;text-align:center;font-variant-numeric:tabular-nums}.prestige-leader-table .rank-fighter-name{font-size:11px;max-width:160px}.prestige-leader-table .rank-prestige{font-size:8px}.list-place{display:block;font-size:11px}.ranks-empty{text-align:center;padding:25px 15px;color:#b3cee7!important;font-size:12px!important}
.modal:has(.public-ranks) .modal-card{width:min(1110px,96vw);padding:18px 22px;max-height:94dvh;border-color:#77bbdeaa;background:radial-gradient(ellipse at 0 0,#23697b60,transparent 55%),radial-gradient(ellipse at 100% 0,#76532555,transparent 55%),linear-gradient(145deg,#152e52,#101f3d);overflow:hidden;display:flex;flex-direction:column}.modal:has(.public-ranks) #modalBody{min-height:0;overflow:auto}.modal:has(.public-ranks) .modal-card h2{font-size:23px;margin-bottom:11px;color:#fff0ba}.modal:has(.public-ranks) #modalActions{margin-top:9px}.modal:has(.public-ranks) #modalActions button{min-height:35px}.modal:has(.public-ranks) .rank-filters{display:inline-flex;margin-inline-end:13px;gap:4px}.modal:has(.public-ranks) .rank-filters button{font-size:10px;padding:7px 10px;background:#183d60;border:1px solid #568bb177;color:#a7e8fc}.modal:has(.public-ranks) .rank-filters button.active{background:linear-gradient(#ffe590,#ffa94a);border-color:#ffe9a6;color:#24394d}.modal:has(.public-ranks) #modalBody>.muted,.modal:has(.public-ranks) #modalBody>div>.muted{font-size:9px!important;margin:7px 0 0}
/* Ten lobby slots fit in five paired rows, with one unambiguous prestige spotlight. */
#playerSlots.lobby-roster{margin:7px 0}.waiting-card:has(.lobby-roster){width:min(820px,94vw);padding:17px 24px;max-height:95dvh;background:radial-gradient(ellipse at 50% 0,#37517977,transparent 60%),#112846;border-color:#7cc5e788}.waiting-card:has(.lobby-roster) h2{font-size:23px;margin:6px 0}.waiting-card:has(.lobby-roster) p{font-size:10px;margin:6px 0}.waiting-card:has(.lobby-roster) .queue-clock{font-size:24px;line-height:1.25}.waiting-card:has(.lobby-roster) .text-button{padding:8px}.waiting-card:has(.lobby-roster) #inviteBox{margin:6px 0}
#playerSlots.lobby-roster .lobby-featured{grid-template-columns:33px minmax(80px,1fr) auto;padding:7px 11px;border-width:1px;border-radius:13px;gap:1px 8px;background:linear-gradient(110deg,#514c4b88,#284476,#392b62);margin-bottom:7px;box-shadow:inset 0 0 16px #ffcf6733,0 0 15px #f6c46926}#playerSlots.lobby-roster .lobby-crown{font-size:27px;color:#ffe185}#playerSlots.lobby-roster .lobby-featured strong{font-size:14px;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#playerSlots.lobby-roster .lobby-featured>span:not(.lobby-crown){font-size:10px}#playerSlots.lobby-roster .lobby-featured small{font-size:8px;text-align:start;line-height:1.4}
#playerSlots.lobby-roster .lobby-leaderboard{display:grid;grid-template-columns:1fr 1fr;gap:5px;border:0;overflow:visible}#playerSlots.lobby-roster .lobby-rank-head{display:none}#playerSlots.lobby-roster .lobby-rank-row{display:grid;grid-template-columns:25px minmax(70px,1fr);grid-template-rows:auto auto;padding:6px 9px;gap:0 7px;border:1px solid #85c7e23d;border-radius:10px;min-height:39px;text-align:start;background:linear-gradient(100deg,#173b5e,#132d4c)}#playerSlots.lobby-roster .lobby-rank-row .lobby-placement{grid-row:span 2;align-self:center;text-align:center;font-size:14px;font-weight:950;color:#aacde2}#playerSlots.lobby-roster .lobby-rank-row .lobby-fighter-name{font-size:11px;line-height:1.3;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#playerSlots.lobby-roster .lobby-rank-row small{font-size:8px;line-height:1.4;color:var(--prestige-color)}#playerSlots.lobby-roster .lobby-rank-row[data-place="1"] .lobby-placement{color:#ffe37c}#playerSlots.lobby-roster .lobby-rank-row[data-place="2"] .lobby-placement{color:#dcf1ff}#playerSlots.lobby-roster .lobby-rank-row[data-place="3"] .lobby-placement{color:#ffb086}#playerSlots.lobby-roster .lobby-rank-row.is-featured{border-color:#eec969;background:linear-gradient(100deg,#5d503e77,#214569);box-shadow:inset 3px 0 0 #ffdc6e}#playerSlots.lobby-roster .lobby-rank-row.is-you{border-color:#ff7a9a;box-shadow:inset 3px 0 0 #ff5586}#playerSlots.lobby-roster .lobby-rank-row.is-you .lobby-fighter-name{color:#ffb1c6}#playerSlots.lobby-roster .lobby-rank-row.empty{opacity:.46}
/* The podium represents places 1–3; the adjacent table begins at place 4. */
.tournament-panel:has(.tournament-ranking){width:min(1150px,95vw);max-height:94dvh;padding:12px 17px;border:1px solid #b5dcf5;border-radius:22px;background:radial-gradient(ellipse at 15% 0,#6d523b66,transparent 50%),radial-gradient(ellipse at 100% 100%,#245c7155,transparent 60%),#132847;color:#e2f3ff;box-shadow:inset 0 1px 0 #e6faff55,0 15px 70px #031128dd}.tournament-panel:has(.tournament-ranking) h2{color:#fff0bb;font-size:19px}.tournament-ranking{grid-template-columns:minmax(220px,.85fr) minmax(270px,1.25fr);gap:14px}.tournament-ranking .rank-list-scroll{max-height:255px}.tournament-ranking .score-row{grid-template-columns:27px minmax(80px,1fr) minmax(63px,.85fr) 42px;padding:6px 8px;gap:5px;min-height:29px;font-size:11px;border-bottom:1px solid #7bc8e725;background:transparent}.tournament-ranking .score-row:nth-child(even){background:#224a663d}.tournament-ranking .score-head{position:sticky;top:0;z-index:2;background:#244566;color:#c4edfc;font-size:9px;min-height:25px}.tournament-ranking .score-row.is-you{background:#a62c5b33;border-inline-start:3px solid #ff789b;border-radius:0;box-shadow:inset 0 0 0 1px #ff84a377}.tournament-ranking .score-row.in-top-four{border-inline-start:3px solid #ffd266}.tournament-ranking .rank-number{color:#bfdef5;font-size:13px}.tournament-ranking .score-player{display:flex;flex-wrap:wrap;gap:2px 5px}.tournament-ranking .score-player bdi{max-width:100%;font-size:11px;line-height:1.35}.tournament-ranking .score-player .rank-prestige{font-size:7px;padding:2px 4px}.tournament-ranking .round-gain{font-size:9px;color:#a9dceb;line-height:1.5}.tournament-ranking .total-points{font-size:14px;color:#ffe28a}.tournament-ranking .left-label{color:#ffb1c9;background:#8d294f66}.tournament-ranking .finalist-label{color:#ffe5a0;background:#9e6a263d}.tournament-panel:has(.tournament-ranking) .score-explainer{color:#aecce2;font-size:9px;margin:6px 2px}.tournament-panel:has(.tournament-ranking) footer{color:#fff0bb;background:linear-gradient(100deg,#73532666,#473c6d66);border:1px solid #b6945855;padding:6px 9px;font-size:11px}.tournament-panel:has(.tournament-ranking) #tournamentContent{scrollbar-color:#53b8d7 #173a58}
[dir=rtl] .podium-title{letter-spacing:0}[dir=rtl] .prestige-leader-table{direction:rtl}[dir=rtl] .tournament-ranking .round-gain{direction:ltr}
@media(max-height:500px){.ranking-layout{gap:10px}.rank-podium{gap:5px;padding-top:9px}.podium-card{padding:7px 5px;border-radius:11px}.podium-gold{min-height:166px}.podium-silver{min-height:145px}.podium-bronze{min-height:137px}.podium-crest{width:35px;height:40px}.podium-gold .podium-crest{width:43px;height:47px}.podium-gold .podium-place{font-size:19px}.podium-title{font-size:7px;margin:4px 0 2px}.rank-fighter-name{font-size:11px}.podium-card .rank-prestige{font-size:7px;padding:2px 3px}.podium-score strong{font-size:20px}.podium-score{padding-top:5px}.modal:has(.public-ranks) .modal-card{padding:12px 16px}.modal:has(.public-ranks) .modal-card h2{font-size:20px;margin-bottom:8px}.modal:has(.public-ranks) .rank-filters button{padding:5px 8px;font-size:9px}.rank-list-scroll{max-height:225px}.prestige-leader-table td,.prestige-leader-table th{padding:5px 6px}.tournament-panel:has(.tournament-ranking){padding:9px 13px}.tournament-panel:has(.tournament-ranking) h2{font-size:17px}.tournament-ranking .rank-list-scroll{max-height:228px}.tournament-ranking .score-row{padding:4px 6px;min-height:27px}.tournament-ranking .score-player{gap:1px 4px}.tournament-ranking .score-player .rank-prestige{font-size:6px;padding:1px 3px}.waiting-card:has(.lobby-roster){padding:10px 18px}.waiting-card:has(.lobby-roster) h2{font-size:19px}.waiting-card:has(.lobby-roster) .eyebrow{font-size:8px;margin:0}.waiting-card:has(.lobby-roster) p{font-size:9px;margin:3px 0}#playerSlots.lobby-roster .lobby-rank-row{padding:4px 7px;min-height:34px}#playerSlots.lobby-roster .lobby-featured{padding:5px 9px;margin-bottom:5px}.waiting-card:has(.lobby-roster) .queue-clock{font-size:20px}.waiting-card:has(.lobby-roster) .text-button{font-size:10px;padding:5px}.waiting-card:has(.lobby-roster) .primary{min-height:31px;padding:5px 9px;font-size:11px}}
@media(max-width:740px){.ranking-layout{grid-template-columns:minmax(190px,.9fr) minmax(260px,1.3fr)}.rank-podium{gap:4px}.podium-card .rank-fighter-name{font-size:10px}.podium-card .rank-prestige{max-width:100%;font-size:6px}.podium-score{flex-direction:column;gap:2px;align-items:center}.podium-secondary{font-size:7px}.prestige-leader-table .rank-prestige{font-size:7px;max-width:82px}.prestige-leader-table .rank-fighter-name{max-width:90px}.tournament-ranking .score-row{grid-template-columns:23px minmax(73px,1fr) minmax(59px,.7fr) 33px;gap:3px}.tournament-ranking .round-gain{font-size:8px}.tournament-ranking .score-player bdi{font-size:10px}.tournament-ranking .total-points{font-size:12px}}
@media(max-width:560px){.ranking-layout{grid-template-columns:1fr}.rank-podium{min-height:150px;max-width:410px;width:100%;margin:auto}.rank-list-scroll{max-height:225px}.waiting-card:has(.lobby-roster){padding:12px}.tournament-ranking .score-player bdi{font-size:11px}}
@media(prefers-reduced-motion:reduce){.podium-card,.lobby-featured{animation:none!important}}

/* Match honors share the standings panel, metallic crests and score treatment. */
.tournament-panel:has(.tournament-ranking),.honors-open .modal-card{background:radial-gradient(ellipse at 15% 0,#6d523b66,transparent 50%),radial-gradient(ellipse at 100% 100%,#245c7155,transparent 60%),#132847;border:1px solid #b5dcf5;border-radius:22px;color:#e2f3ff;box-shadow:inset 0 1px 0 #e6faff55,0 15px 70px #031128dd}
#modal.honors-open{padding:10px;background:#040d2099}
.honors-open .modal-card{width:min(1150px,95vw);max-height:94dvh;padding:12px 17px}
.honors-open .modal-card h2{font-size:19px;line-height:1.5;font-weight:900;color:#fff0bb;margin-bottom:11px}
.honors-open .close{color:#def5ff;background:#244566;border:1px solid #83bed677;top:10px;right:13px;width:34px;height:34px;line-height:30px}
[dir=rtl] .honors-open .close{left:13px;right:auto}
.honors-open #modalBody{scrollbar-width:thin;scrollbar-color:#53b8d7 #173a58;padding:2px}
.honors-open .honors-grid{gap:10px}
.honors-open .honor-detail{--medal:var(--honor-bottom);gap:12px;padding:12px;min-height:111px;border:1px solid color-mix(in srgb,var(--medal) 75%,transparent);border-radius:14px;background:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--medal) 18%,transparent),transparent 72%),linear-gradient(150deg,#213d63,#142644);box-shadow:inset 0 1px 0 #ffffff40,0 5px 12px #06142d44;color:#f2f9ff}
.honors-open .honor-emblem{width:53px;height:60px;flex-basis:53px;border:0;border-radius:0;background:linear-gradient(145deg,#fff3c9,var(--medal) 65%,color-mix(in srgb,var(--medal) 62%,#5b3b36));clip-path:polygon(50% 0,95% 20%,89% 71%,50% 100%,11% 71%,5% 20%);box-shadow:none}
.honors-open .honor-emblem img{width:39px;height:39px}
.honors-open .honor-detail .honor-title{font-size:12px;color:var(--medal);line-height:1.5}
.honors-open .honor-detail .honor-description{margin:3px 0 5px;font-size:10px;line-height:1.5;color:#aecce2}
.honors-open .honor-detail .honor-winner{font-size:16px;color:#f2f9ff;line-height:1.4;overflow-wrap:anywhere}
.honors-open .honor-detail .honor-metric{display:inline-block!important;font-size:10px;font-weight:900;line-height:1.5;color:#ffe491;background:#0e274199;border:1px solid #b6945855;border-radius:6px;padding:2px 7px;margin-top:4px!important}
.honors-open .honors-note{color:#aecce2;font-size:9px;line-height:1.6;margin:8px 2px 0}
.honors-open #modalActions{margin-top:8px}
.honors-open #modalActions .secondary{background:linear-gradient(100deg,#73532688,#473c6d88);border:1px solid #b6945866;color:#fff0bb;min-height:34px;padding:6px 12px;font-size:11px;border-radius:10px}
@media(max-height:500px){
 .honors-open .modal-card{padding:9px 13px}
 .honors-open .modal-card h2{font-size:17px;margin-bottom:9px}
 .honors-open .honor-detail{min-height:93px;padding:8px 10px;gap:9px}
 .honors-open .honor-emblem{width:43px;height:50px;flex-basis:43px}
 .honors-open .honor-emblem img{width:33px;height:33px}
 .honors-open .honor-detail .honor-title{font-size:11px}
 .honors-open .honor-detail .honor-description{font-size:9px;margin:2px 0 3px}
 .honors-open .honor-detail .honor-winner{font-size:13px}
 .honors-open .honor-detail .honor-metric{font-size:9px;padding:1px 6px;margin-top:3px!important}
 .honors-open .honors-grid{gap:8px}
}
@media(max-width:560px){.honors-open .honors-grid{grid-template-columns:1fr}}

/* Instructions use the same navy, silver and gold as standings and honors. */
#tournamentPanel:has(.stage-instructions),.rules-open .modal-card{background:radial-gradient(ellipse at 15% 0,#6d523b66,transparent 50%),radial-gradient(ellipse at 100% 100%,#245c7155,transparent 60%),#132847;border:1px solid #b5dcf5;border-radius:22px;color:#e2f3ff;box-shadow:inset 0 1px 0 #e6faff55,0 15px 70px #031128dd}
#tournamentPanel:has(.stage-instructions){width:min(1080px,92vw);padding:15px 18px}
#tournamentPanel:has(.stage-instructions) h2,.rules-open .modal-card h2{color:#fff0bb;font-weight:900;line-height:1.5;font-size:21px}
#tournamentPanel .stage-instructions{gap:18px;margin:6px 0;padding:17px;border:1px solid #83bed655;border-radius:15px;background:radial-gradient(ellipse at 0 0,#b2944633,transparent 70%),linear-gradient(150deg,#213d63,#142644);box-shadow:inset 0 1px 0 #ffffff26;color:#e2f3ff}
#tournamentPanel .stage-instructions p{color:#dcedfa;font-size:14px;line-height:1.85}
#tournamentPanel .stage-symbol{width:63px;height:72px;border:0;border-radius:0;background:linear-gradient(145deg,#fff3c9,#ebc46c 65%,#9c6b39);color:#19314f;font-size:37px;clip-path:polygon(50% 0,95% 20%,89% 71%,50% 100%,11% 71%,5% 20%);box-shadow:none}
#tournamentPanel:has(.stage-instructions) .score-explainer{color:#aecce2;font-size:10px;line-height:1.7;margin:9px 2px 5px}
#tournamentPanel:has(.stage-instructions) .qualification-message{color:#ffe491}
#tournamentPanel:has(.stage-instructions) footer{color:#fff0bb;background:linear-gradient(100deg,#73532666,#473c6d66);border:1px solid #b6945855;padding:8px 10px;font-size:12px}
#tournamentPanel:has(.stage-instructions) #tournamentContent{scrollbar-color:#53b8d7 #173a58}
#modal.rules-open{padding:10px;background:#040d2099}
.rules-open .modal-card{width:min(850px,94vw);padding:18px 22px}
.rules-open .modal-card h2{margin-bottom:12px}
.rules-open #modalBody{scrollbar-width:thin;scrollbar-color:#53b8d7 #173a58}
.rules-open .modal-card p{color:#d5e8f7;background:linear-gradient(140deg,#213d63,#142644);border:1px solid #83bed640;border-radius:12px;padding:12px 14px;margin:0 0 10px;line-height:1.8}
.rules-open .close{color:#def5ff;background:#244566;border:1px solid #83bed677;width:34px;height:34px;line-height:30px;border-radius:9px;font-size:26px;top:12px}
.rules-open #modalActions{margin-top:8px}
.rules-open #modalActions .primary{color:#fff0bb;background:linear-gradient(100deg,#735326aa,#473c6daa);border:1px solid #b6945877;box-shadow:none;min-height:38px;padding:8px 12px;font-size:12px;border-radius:10px}
@media(max-height:500px){
 #tournamentPanel:has(.stage-instructions){padding:10px 14px}
 #tournamentPanel:has(.stage-instructions) h2,.rules-open .modal-card h2{font-size:17px}
 #tournamentPanel .stage-instructions{padding:10px 12px;gap:13px}
 #tournamentPanel .stage-instructions p{font-size:12px;line-height:1.75}
 #tournamentPanel .stage-symbol{width:46px;height:53px;font-size:29px}
 #tournamentPanel:has(.stage-instructions) .score-explainer{font-size:9px;margin:6px 2px 4px}
 #tournamentPanel:has(.stage-instructions) footer{padding:6px 9px;font-size:11px}
 .rules-open .modal-card{padding:12px 17px}
 .rules-open .modal-card h2{margin-bottom:9px}
 .rules-open .modal-card p{padding:9px 11px;font-size:11px}
}

/* All four tournament places are featured, in reading order, with no hidden fourth seat. */
.tournament-ranking .rank-final-four{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;align-items:stretch;gap:10px;padding:10px 2px 2px}
.tournament-ranking .rank-final-four .podium-card{grid-column:auto;grid-row:auto;transform:none;min-height:104px;display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:repeat(5,auto);align-content:center;align-items:center;gap:1px 6px;text-align:start;padding:8px 7px;border-radius:12px}
.tournament-ranking .rank-final-four .podium-crest{grid-column:1;grid-row:1/6;width:38px;height:45px;align-self:center}
.tournament-ranking .rank-final-four .podium-gold .podium-crest{width:40px;height:48px}
.tournament-ranking .rank-final-four .podium-title{grid-column:2;margin:0;font-size:7px;line-height:1.5;letter-spacing:.3px}
.tournament-ranking .rank-final-four .rank-fighter-name{grid-column:2;font-size:11px;line-height:1.4}
.tournament-ranking .rank-final-four .rank-prestige{grid-column:2;justify-self:start;margin:0;padding:1px 3px;font-size:7px;line-height:1.4}
.tournament-ranking .rank-final-four .podium-score{grid-column:2;justify-content:flex-start;flex-direction:row;align-items:baseline;gap:3px;margin:0;padding-top:3px;flex-wrap:nowrap}
.tournament-ranking .rank-final-four .podium-score strong{font-size:19px;line-height:1.2}
.tournament-ranking .rank-final-four .podium-score span{font-size:7px}
.tournament-ranking .rank-final-four .podium-secondary{grid-column:2;font-size:7px;line-height:1.4;margin:0}
.tournament-ranking .podium-amber{--medal:#efc285;border-color:#efc285;background:radial-gradient(ellipse at 0 0,#b0854429,transparent 75%),linear-gradient(150deg,#283d54,#142644)}
[dir=rtl] .tournament-ranking .rank-final-four .podium-title{letter-spacing:0}
@media(max-width:740px){.tournament-ranking{grid-template-columns:minmax(207px,.95fr) minmax(238px,1.15fr);gap:9px}.tournament-ranking .rank-final-four{gap:8px}.tournament-ranking .rank-final-four .podium-card{grid-template-columns:28px minmax(0,1fr);gap:1px 4px;padding:7px 5px}.tournament-ranking .rank-final-four .podium-crest,.tournament-ranking .rank-final-four .podium-gold .podium-crest{width:28px;height:34px}.tournament-ranking .rank-final-four .podium-place{font-size:17px}.tournament-ranking .rank-final-four .podium-emblem{font-size:11px}.tournament-ranking .rank-final-four .rank-fighter-name{font-size:10px}.tournament-ranking .rank-final-four .podium-title{font-size:6px}.tournament-ranking .rank-final-four .rank-prestige{font-size:6px}.tournament-ranking .rank-final-four .podium-score strong{font-size:17px}.tournament-ranking .rank-final-four .podium-score span{font-size:6px}.tournament-ranking .rank-final-four .podium-secondary{font-size:6px}.tournament-ranking .score-row{grid-template-columns:21px minmax(64px,1fr) minmax(55px,.7fr) 33px;gap:3px}.tournament-ranking .score-head{font-size:8px}}
@media(max-height:380px){.tournament-panel:has(.tournament-ranking){padding:8px 12px}.tournament-panel:has(.tournament-ranking) header{min-height:26px}.tournament-panel:has(.tournament-ranking) h2{font-size:15px}.tournament-ranking .rank-final-four{padding-top:8px;gap:7px}.tournament-ranking .rank-final-four .podium-card{min-height:84px;padding-top:5px;padding-bottom:5px}.tournament-ranking .rank-list-scroll{max-height:193px}.tournament-ranking .score-row{min-height:25px;padding:4px 5px}.tournament-ranking .score-head{min-height:22px}.tournament-panel:has(.tournament-ranking) .score-explainer{font-size:8px;margin:4px 2px}.tournament-panel:has(.tournament-ranking) footer{font-size:10px;padding:5px 8px}}
@media(max-width:520px){.tournament-ranking{grid-template-columns:1fr}.tournament-ranking .rank-final-four{max-width:none;min-height:0}}

/* End-of-match badges retain the same metallic crests and navy panels as standings. */
#arena #matchAwards{gap:8px;z-index:3;max-width:92%;bottom:max(74px,calc(env(safe-area-inset-bottom) + 64px))}
#matchAwards .honor-card{--medal:#dfc47b;max-width:215px;min-height:72px;gap:9px;padding:9px;border:1px solid #9cb8d2;border-radius:13px;background:radial-gradient(ellipse at 0 0,#c69c3d22,transparent 72%),linear-gradient(150deg,#213d63,#142644);box-shadow:inset 0 1px 0 #ffffff40,0 5px 12px #06142d55;color:#f2f9ff}
#matchAwards .honor-knockouts{--medal:#ffdd83}#matchAwards .honor-guardian{--medal:#c7e3f5}#matchAwards .honor-escape{--medal:#efca86}#matchAwards .honor-breaker{--medal:#edb88e}
#matchAwards .honor-emblem{width:34px;height:42px;flex-basis:34px;border:0;border-radius:0;background:linear-gradient(145deg,#fff3c9,var(--medal) 65%,#9c754b);clip-path:polygon(50% 0,95% 20%,89% 71%,50% 100%,11% 71%,5% 20%);box-shadow:none}
#matchAwards .honor-emblem img{width:28px;height:28px}
#matchAwards .honor-title{color:var(--medal);font-size:10px;line-height:1.4}
#matchAwards .honor-winner{color:#f2f9ff;font-size:12px;line-height:1.5}
#matchAwards .honor-metric{color:#aecce2;font-size:9px;line-height:1.4}

/* A winner gets space for the equipped dance while result buttons stay accessible. */
#arena #winnerShowcase{position:absolute;z-index:2;top:58px;bottom:158px;left:50%;transform:translateX(-50%);width:min(660px,86vw);display:flex;align-items:center;justify-content:center;gap:18px;padding:4px 24px;border:1px solid #d6bd7755;border-radius:24px;background:radial-gradient(ellipse at 30% 50%,#b8914544,transparent 60%),linear-gradient(105deg,#132747b3,#13274766);box-shadow:inset 0 1px 0 #ffefb533,0 8px 45px #09142b44;pointer-events:none;color:#fff2b5}
#winnerShowcase canvas{height:100%;max-height:260px;width:auto;aspect-ratio:3/2;object-fit:contain;min-width:0;flex:0 1 auto;filter:drop-shadow(0 8px 14px #07112588)}
#winnerShowcase .winner-copy{min-width:0;max-width:320px;flex:0 1 auto}
#winnerShowcase .winner-title{display:block;font-size:clamp(13px,2.2vw,25px);font-weight:950;letter-spacing:1px;line-height:1.4;color:#ffe28a}
#winnerShowcase .winner-name{display:block;max-width:300px;font-size:clamp(20px,3.3vw,40px);font-weight:950;line-height:1.4;color:#f4f8ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#winnerShowcase .winner-subtitle{display:block;color:#b7d5eb;font-size:11px;line-height:1.5}
[dir=rtl] #winnerShowcase .winner-title{letter-spacing:0}
#arena:has(#tournamentPanel:not(.hidden)) #winnerShowcase,#arena:has(#tournamentPanel:not(.hidden)) #matchAwards{visibility:hidden}
@media(max-height:380px){#arena #matchAwards{bottom:max(66px,calc(env(safe-area-inset-bottom) + 58px));gap:6px}#matchAwards .honor-card{min-height:60px;padding:6px 7px;gap:6px}#matchAwards .honor-title{font-size:9px}#matchAwards .honor-winner{font-size:10px}#matchAwards .honor-metric{font-size:8px}#matchAwards .honor-emblem{width:28px;height:35px;flex-basis:28px}#matchAwards .honor-emblem img{width:24px;height:24px}#arena #winnerShowcase{top:57px;bottom:137px;border-radius:17px;gap:13px;padding:3px 15px}#winnerShowcase .winner-title{font-size:14px}#winnerShowcase .winner-name{font-size:24px}#winnerShowcase .winner-subtitle{font-size:9px}}

/* A short nonblocking briefing leaves most of the safe warm-up for social play. */
#tournamentPanel.social-intro{pointer-events:none;top:calc(max(8px,env(safe-area-inset-top)) + 50px);transform:translateX(-50%);max-height:calc(100dvh - 165px);width:min(930px,88vw);padding:8px 12px}
#tournamentPanel.social-intro header{min-height:20px}
#tournamentPanel.social-intro h2{font-size:14px}
#tournamentPanel.social-intro .stage-instructions{padding:7px 10px;gap:9px;margin:2px 0}
#tournamentPanel.social-intro .stage-instructions p{font-size:11px;line-height:1.6}
#tournamentPanel.social-intro .stage-symbol{width:35px;height:41px;font-size:24px}
#tournamentPanel.social-intro .social-safe-note{color:#ffe39b;font-size:10px;line-height:1.5;margin:4px 2px}
#tournamentPanel.social-intro footer{display:none}
#tournamentPanel.social-intro .qualification-message{font-size:10px;margin:3px}
#arena .game-top #stageStatus.social-warmup{border-color:#d6bd77;color:#ffecb1;background:linear-gradient(100deg,#494031ee,#193e5eee)}

/* Arcade 7: an award icon and its numeral occupy separate rows, never overlapping. */
.podium-crest,.podium-gold .podium-crest{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;row-gap:3px;width:46px;height:66px;background:none;clip-path:none;color:var(--medal);overflow:visible}
.podium-crest .podium-emblem,.podium-gold .podium-emblem{position:static;display:block;align-self:end;width:100%;height:38px;max-width:46px;object-fit:contain;filter:drop-shadow(0 2px 3px #050d2677);user-select:none;-webkit-user-select:none;pointer-events:none}
.podium-crest .podium-place,.podium-gold .podium-place{display:block;position:static;padding:0;font-size:23px;line-height:1.1;color:var(--medal);font-variant-numeric:tabular-nums;unicode-bidi:isolate}
.tournament-ranking{grid-template-columns:minmax(228px,.88fr) minmax(320px,1.12fr)}
.tournament-ranking .rank-final-four .podium-card{grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto auto auto auto;column-gap:7px;row-gap:2px;min-height:109px;padding:8px}
.tournament-ranking .rank-final-four .podium-crest,.tournament-ranking .rank-final-four .podium-gold .podium-crest{grid-row:1/4;grid-column:1;width:34px;height:53px;row-gap:3px}
.tournament-ranking .rank-final-four .podium-emblem{height:29px;width:34px}
.tournament-ranking .rank-final-four .podium-place{font-size:19px;line-height:1.1}
.tournament-ranking .rank-final-four .podium-title{grid-column:2;grid-row:1;min-width:0;font-size:8px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.tournament-ranking .rank-final-four .rank-fighter-name{grid-column:2;grid-row:2;font-size:12px;min-width:0}
.tournament-ranking .rank-final-four .rank-prestige{grid-column:2;grid-row:3;font-size:7px;min-width:0;max-width:100%;box-sizing:border-box}
.tournament-ranking .rank-final-four .podium-score{grid-column:1/-1;grid-row:4;display:flex;justify-content:center;align-items:baseline;gap:4px;min-width:0;max-width:100%;padding-top:3px;white-space:nowrap}
.tournament-ranking .rank-final-four .podium-score strong{font-size:20px;line-height:1.25;white-space:nowrap;unicode-bidi:isolate;direction:ltr}
.tournament-ranking .rank-final-four .podium-score span{font-size:8px;flex-shrink:0}
.tournament-ranking .rank-final-four .podium-secondary{grid-column:1/-1;grid-row:5;text-align:center;font-size:7px;line-height:1.5}
.tournament-ranking .score-row{grid-template-columns:25px minmax(72px,1fr) minmax(85px,1.05fr) 66px;gap:7px;padding:6px 9px;box-sizing:border-box}
.tournament-ranking .score-row>*{min-width:0;box-sizing:border-box}
.tournament-ranking .score-heading{white-space:normal;overflow-wrap:anywhere;font-size:9px;line-height:1.4;text-align:center}
.tournament-ranking .score-heading-player{text-align:start}
.tournament-ranking .score-heading-rank{font-size:12px;white-space:nowrap}
.tournament-ranking .rank-number{text-align:center}
.tournament-ranking .score-player{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.tournament-ranking .score-player bdi{display:block;min-width:0;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tournament-ranking .score-player .rank-prestige{max-width:100%;font-size:7px;box-sizing:border-box}
.tournament-ranking .history-gains{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;align-items:center;direction:ltr;unicode-bidi:isolate}
.tournament-ranking .history-gain{display:block;font-size:8px;line-height:1.5;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.tournament-ranking .total-points{font-size:13px;line-height:1.4;text-align:center;white-space:nowrap;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
@media(max-width:740px){
 .tournament-ranking{grid-template-columns:minmax(195px,.82fr) minmax(280px,1.18fr);gap:8px}
 .tournament-ranking .rank-final-four{gap:7px}
 .tournament-ranking .rank-final-four .podium-card{grid-template-columns:25px minmax(0,1fr);gap:2px 4px;padding:6px 5px;min-height:97px}
 .tournament-ranking .rank-final-four .podium-crest,.tournament-ranking .rank-final-four .podium-gold .podium-crest{width:25px;height:44px;row-gap:3px}
 .tournament-ranking .rank-final-four .podium-emblem{width:25px;height:24px}
 .tournament-ranking .rank-final-four .podium-place{font-size:15px;line-height:1.1}
 .tournament-ranking .rank-final-four .podium-title{font-size:7px}
 .tournament-ranking .rank-final-four .rank-fighter-name{font-size:10px}
 .tournament-ranking .rank-final-four .rank-prestige{font-size:6px;padding:1px 2px}
 .tournament-ranking .rank-final-four .podium-score{gap:3px}
 .tournament-ranking .rank-final-four .podium-score strong{font-size:17px}
 .tournament-ranking .rank-final-four .podium-score span{font-size:7px}
 .tournament-ranking .rank-final-four .podium-secondary{font-size:6px}
 .tournament-ranking .score-row{grid-template-columns:21px minmax(65px,1fr) minmax(82px,1.15fr) 57px;gap:4px;padding:5px 6px}
 .tournament-ranking .score-heading{font-size:8px}
 .tournament-ranking .score-heading-rank{font-size:11px}
 .tournament-ranking .history-gain{font-size:7px}
 .tournament-ranking .total-points{font-size:11px}
}
@media(max-height:380px){
 .tournament-ranking .rank-final-four .podium-card{min-height:85px;padding-top:4px;padding-bottom:4px}
 .tournament-ranking .rank-final-four{gap:7px;align-content:start}
 .tournament-ranking .score-row{padding-top:4px;padding-bottom:4px;min-height:27px}
 .tournament-ranking .rank-list-scroll{max-height:208px}
 .tournament-ranking .rank-final-four .podium-score strong{font-size:16px}
 .tournament-panel:has(.tournament-ranking) .score-explainer{line-height:1.45}
}
@media(max-width:520px){.tournament-ranking{grid-template-columns:1fr}.tournament-ranking .rank-final-four .podium-card{min-height:100px}.tournament-ranking .score-row{grid-template-columns:23px minmax(75px,1fr) minmax(90px,1.15fr) 64px}}

/* The winner enters a lit platform; the scene, badges and actions have separate space. */
#arena #winnerShowcase{width:min(980px,94vw);padding:0 18px;gap:6px;border:0;border-radius:0;background:radial-gradient(ellipse at 45% 82%,#bea65430,transparent 68%);box-shadow:none;isolation:isolate;overflow:visible}
#arena #winnerShowcase::before{content:"";position:absolute;inset:-58px -4vw -158px;background:linear-gradient(120deg,#061328d9,#12283adb 48%,#081526e8);z-index:-1;pointer-events:none}
#winnerShowcase canvas{height:100%;max-height:none;max-width:60%;width:auto;aspect-ratio:3/2;flex:0 1 auto;filter:none;object-fit:contain}
#winnerShowcase .winner-copy{flex:0 1 42%;max-width:370px;padding-inline:8px;text-align:start}
#winnerShowcase .winner-title{font-size:clamp(12px,1.7vw,24px);letter-spacing:1.4px;color:#ffe199;line-height:1.6}
#winnerShowcase .winner-name{max-width:100%;font-size:clamp(23px,3.1vw,39px);color:#fff9e9;line-height:1.5;text-shadow:0 2px 12px #0008}
#winnerShowcase[data-phase=arrival] .winner-copy{opacity:0;transform:translateY(8px)}
#winnerShowcase .winner-copy{opacity:1;transform:none;transition:opacity .35s ease,transform .35s ease}
@media(max-height:380px){#arena #winnerShowcase{padding:0 9px;gap:5px}#arena #winnerShowcase::before{inset:-57px -4vw -137px}#winnerShowcase .winner-title{font-size:12px}#winnerShowcase .winner-name{font-size:23px}}
@media(prefers-reduced-motion:reduce){#winnerShowcase .winner-copy{transition:none}}

/* Results remain operable and fully lit above the celebration backdrop. */
#arena .round-actions{z-index:4}
#winnerShowcase .winner-exit{position:absolute;top:-44px;inset-inline-end:8px;z-index:1;pointer-events:auto;min-height:36px;max-width:46vw;margin:0;padding:7px 16px;border:1px solid #b6edff;border-radius:11px;background:#a6eaff;color:#14354e;font-size:12px;font-weight:850;box-shadow:0 3px 12px #07132966;touch-action:manipulation}

/* Bidi isolates the spelling; the game's locale owns the column alignment. */
:root{--fighter-text-align:left}
:root[dir=rtl]{--fighter-text-align:right}
.rank-fighter-name,.lobby-fighter-name,.tournament-ranking .score-player bdi,.honor-winner,#winnerShowcase .winner-name{text-align:var(--fighter-text-align)}
