
.award-podium { list-style:none; padding:0; margin:6px 0 0; width:100%; text-align:left; }
.award-place { display:flex; align-items:center; gap:9px; padding:12px 0; border-top:1px solid var(--bs-border-color); }
.award-rank { color:var(--bs-secondary-color); font-size:.78rem; width:16px; flex-shrink:0; }
.award-place:first-child .award-rank { color:var(--bs-warning); }
.award-player { flex:1; min-width:0; }.award-player strong { font-size:.83rem; overflow-wrap:anywhere; }
.award-player small,.award-numbers small { display:block; margin-top:4px; font-size:.68rem; color:var(--bs-secondary-color); }
.award-numbers { text-align:right; flex-shrink:0; font-variant-numeric:tabular-nums; }.award-numbers strong { font-size:.88rem; color:var(--bs-warning); }
@media(max-width:1000px) { .awards-pyramid .award-card { width:calc(50% - 7px); }.awards-pyramid .award-mvp { width:100%; margin:0 15% 8px; } }
@media(max-width:480px) { .awards-pyramid .award-card { width:100%; }.awards-pyramid .award-mvp { margin:0 0 8px; } }

.awards-pyramid { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; max-width:1200px; margin:auto; }
.award-card { display:flex; align-items:center; flex-direction:column; gap:7px; width:calc(25% - 11px); padding:20px 12px; border:1px solid var(--bs-border-color); border-radius:12px; background:var(--bs-tertiary-bg); text-align:center; }
.award-mvp { width:100%; max-width:400px; margin:0 calc((100% - 400px)/2) 8px; border-color:rgba(201,164,78,.5); background:linear-gradient(145deg,rgba(201,164,78,.14),transparent); }
.award-icon { color:var(--bs-warning); }.award-mvp .award-icon svg { width:32px;height:32px; }
.award-label { font-size:.72rem; color:var(--bs-secondary-color); }.award-score { font-size:.75rem; color:var(--bs-warning); }

@media(max-width:767px) { .award-card { width:calc(50% - 7px); }.award-mvp { width:100%;margin:0 10% 8px; } }

.st-ratings { display:flex; flex-wrap:wrap; gap:20px; align-items:flex-start; }
.st-board { overflow:hidden; width:calc(50% - 10px); min-width:0; transition:width .4s cubic-bezier(.22,1,.36,1); }
.st-board.is-expanded { width:100%; }
.st-board .table { font-size:.88rem; }
.st-board th { font-size:.7rem; letter-spacing:.04em; white-space:nowrap; }
.st-board td,.st-board th { padding:12px 16px; }
.st-board .st-metric { display:none; }
.st-board.is-expanded .st-metric { display:table-cell; animation:st-reveal .4s ease; }
.st-board.is-expanded .table { min-width:900px; }
.st-board.is-expanded.st-team .table { min-width:650px; }
.st-board .st-name { width:100%; min-width:130px; }
.st-board.is-expanded .st-name { width:auto; }
.st-toggle { white-space:nowrap; }
.st-judge { margin-top:36px; padding:22px 24px; border:1px solid rgba(201,164,78,.2); border-radius:12px; background:linear-gradient(110deg,rgba(201,164,78,.07),transparent 70%); }
.st-judge-identity { display:flex; align-items:center; gap:16px; }
.st-judge-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:rgba(201,164,78,.1); color:var(--bs-warning); font-size:1.25rem; }
.st-judge-label { display:block; font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; color:var(--bs-secondary-color); margin-bottom:5px; }
.st-judge-name { font-size:1.05rem; font-weight:600; }
.st-series-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; }
.st-series-card { position:relative; display:flex; flex-direction:column; gap:18px; padding:22px; border:1px solid var(--bs-border-color); border-radius:12px; background:var(--bs-tertiary-bg); color:var(--bs-body-color); text-decoration:none; transition:transform .25s,border-color .25s,box-shadow .25s; }
.st-series-card:hover { transform:translateY(-4px); border-color:var(--bs-warning); box-shadow:0 8px 24px #0002; }
.st-series-card.is-active { border-color:rgba(201,164,78,.65); background:linear-gradient(135deg,rgba(201,164,78,.1),transparent); }
.st-series-number { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--bs-secondary-color); }
.st-series-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }

@keyframes st-reveal { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:767px) { .st-board { width:100%; } .st-series-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .st-board,.st-series-card { transition:none; } .st-board .st-metric { animation:none; } }

.tournament-heading { padding:8px 0 4px; }
.tournament-back { display:inline-flex; align-items:center; gap:9px; font-size:.8rem; text-decoration:none; color:var(--bs-secondary-color); margin-bottom:20px; }
.tournament-back:hover { color:var(--ms-gold-light); }
.tournament-heading-main { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.tournament-eyebrow { display:block; font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; color:var(--bs-secondary-color); margin-bottom:6px; }
.tournament-heading-main h2 { font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.25; }
.tournament-status { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border-radius:20px; font-size:.8rem; color:var(--ms-gold-light); background:#C7A55208; border:1px solid #C7A55244; }
.tournament-status > span { width:6px; height:6px; border-radius:50%; background:currentColor; }
.tournament-status--finished { color:#9FC9BB; border-color:#9FC9BB33; }
.tournament-description { margin:16px 0 0; max-width:900px; font-size:.85rem; line-height:1.7; color:var(--bs-secondary-color); }
.tournament-actions { padding:14px; border:1px solid var(--bs-border-color); border-radius:12px; background:var(--bs-tertiary-bg); }
.tournament-actions .btn { display:inline-flex; align-items:center; gap:6px; border-radius:8px; padding:9px 13px; font-size:.8rem; }
@media(max-width:575px) { .tournament-heading-main { align-items:flex-start; }.tournament-actions .btn { padding:8px 11px; } }

.st-board:not(.is-all-players) .st-extra-player { display:none; }
.st-all-footer { padding:12px 16px;border-top:1px solid var(--bs-border-color);text-align:center; }
.st-all-toggle { border-radius:8px;font-size:.78rem;padding:7px 13px; }
.st-all-toggle .bi { display:inline-block;transition:transform .2s; }
.st-board.is-all-players .st-all-toggle .bi { transform:rotate(180deg); }
@media(prefers-reduced-motion:reduce) { .st-all-toggle .bi { transition:none; } }

.tournament-page { min-width:0; }
.st-ratings > .st-board:only-child { width:100%; }
.tournament-summary { display:flex; flex-wrap:wrap; gap:24px; padding:18px 0; margin-bottom:22px; border-block:1px solid var(--bs-border-color); }
.tournament-summary div { display:flex; align-items:baseline; gap:8px; }.tournament-summary strong { font-size:1.2rem; font-variant-numeric:tabular-nums; }.tournament-summary span { font-size:.78rem;color:var(--bs-secondary-color); }
.tournament-nav { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px; }.tournament-nav a { padding:8px 13px;border:1px solid var(--bs-border-color);border-radius:8px;color:var(--bs-secondary-color);text-decoration:none;font-size:.8rem; }.tournament-nav a[aria-current=page] { color:var(--ms-gold-light);border-color:var(--ms-gold);background:var(--ms-gold-glow); }
.tournament-management { margin:28px 0; }.tournament-management > summary { padding:16px 0;cursor:pointer;font-weight:600; }.tournament-management[open] > summary { margin-bottom:12px; }
.tournament-stage-card { min-height:150px; }.tournament-stage-card strong { overflow-wrap:anywhere; }
.st-board th,.st-board td { font-variant-numeric:tabular-nums; }.st-board .discipline { color:#df9a92; }.st-board .finalist-row td:first-child { border-left:3px solid var(--ms-gold); }
.st-board:not(.is-all-players) .st-extra-player { display:table-row; }
.st-board:not(.is-all-players) tr[hidden] { display:none; }
@media(max-width:575px) { .st-board td,.st-board th { padding:11px 9px; }.tournament-summary { gap:16px; }.tournament-heading-main h2 { overflow-wrap:anywhere; } }
