/* The title route converges on the final; placement is a separate contest.
   A readable minimum canvas scrolls in constrained desktop windows. */
.schedule-centre-page .championship-scroll { padding:8px 20px 24px;scrollbar-color:var(--lime) var(--surface-inset); }
.schedule-centre-page .championship-bracket {
  --route-gap:24px;--route-card-min:224px;--route-slot-min:174px;--route-heading:78px;
  position:relative;isolation:isolate;display:grid;align-items:stretch;
  grid-template-columns:repeat(var(--bracket-columns),minmax(var(--route-card-min),1fr));
  gap:var(--route-gap);min-width:calc(var(--bracket-columns) * var(--route-card-min) + (var(--bracket-columns) - 1) * var(--route-gap));
  padding-bottom:var(--placement-overflow,180px);
}
.schedule-centre-page .championship-bracket:not(:has(.championship-placement)) { padding-bottom:0; }
.schedule-centre-page .championship-bracket:not(:has(.championship-round)) { max-width:640px;min-width:0;margin-inline:auto; }
.schedule-centre-page :is(.championship-round,.championship-centre) {
  position:relative;min-width:0;display:grid;grid-template-rows:var(--route-heading) minmax(0,1fr);
}
.schedule-centre-page :is(.championship-round,.championship-centre)>header {
  display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 0 12px;min-width:0;
  border-bottom:1px solid var(--line);text-align:center;
}
.schedule-centre-page :is(.championship-round,.championship-centre)>header h3 { margin:0;color:var(--text-1);font-size:clamp(17px,1vw,22px);line-height:1.3; }
.schedule-centre-page :is(.championship-round,.championship-centre)>header small { color:var(--text-2);font-size:13px;line-height:1.4; }
.schedule-centre-page .championship-round-matches {
  display:grid;grid-template-rows:repeat(var(--bracket-slots),minmax(var(--route-slot-min),1fr));
}
.schedule-centre-page .championship-match-slot { display:grid;align-items:center;min-width:0;padding-block:12px; }
.schedule-centre-page .championship-bracket .knockout-match {
  position:relative;z-index:1;display:block;box-sizing:border-box;width:100%;min-width:0;
  height:auto;min-height:138px;margin:0;padding:12px;overflow:hidden;border:1px solid var(--line-strong);border-radius:6px;
  background:linear-gradient(145deg,var(--panel-grad-1),var(--surface-1));box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.schedule-centre-page .championship-bracket .knockout-match.complete { border-color:var(--lime);background:var(--surface-success); }
.schedule-centre-page .championship-bracket .knockout-match>header { flex-wrap:wrap;gap:4px 8px;margin-bottom:8px; }
.schedule-centre-page .championship-bracket .knockout-match>header :is(span,b) { font-size:12px;line-height:1.4; }
.schedule-centre-page .championship-bracket .knockout-match>header b { white-space:normal; }
.schedule-centre-page .championship-bracket .knockout-team-row { display:grid;grid-template-columns:25px minmax(0,1fr) auto auto;gap:5px;min-height:37px!important;align-items:center; }
.schedule-centre-page .championship-bracket .knockout-team-row>b { font-size:16px!important;line-height:1.45; }
.schedule-centre-page .championship-bracket .knockout-team-row>strong { font-size:19px; }
.schedule-centre-page .championship-bracket .knockout-result-mark:empty { display:none; }
.schedule-centre-page .championship-bracket .knockout-result-mark { font-size:11px; }
.schedule-centre-page .championship-bracket .postseason-team-name { width:auto;max-width:none; }
.schedule-centre-page .championship-bracket .postseason-leg { padding:8px; }
.schedule-centre-page .championship-bracket .postseason-leg>header { display:flex;flex-wrap:wrap;gap:6px; }
.schedule-centre-page .championship-bracket .postseason-leg-meta { display:flex;flex-wrap:wrap;gap:5px;min-width:0; }
.schedule-centre-page .championship-bracket .postseason-leg-meta :is(span,b) { font-size:12px;white-space:normal; }
.schedule-centre-page .championship-bracket .postseason-leg-actions { display:flex;flex-wrap:wrap;gap:4px; }
.schedule-centre-page .championship-bracket .postseason-round-score { grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); }
.schedule-centre-page .championship-bracket .postseason-round-team { width:auto;max-width:none;font-size:13px; }
.schedule-centre-page .championship-bracket :is(.fixture-card-action,.postseason-round-options,.postseason-leg-state) { min-height:32px;font-size:12px; }
.schedule-centre-page .championship-centre-matches { position:relative;display:grid;grid-template-areas:"contest";align-items:center;min-width:0; }
.schedule-centre-page .championship-final-slot { grid-area:contest;min-width:0; }
.schedule-centre-page .championship-final-heading { position:relative; }
.schedule-centre-page .championship-final-heading svg { width:27px;height:27px;position:absolute;left:calc(50% - 82px);top:15px;fill:none;stroke:var(--gold);stroke-width:1.8; }
.schedule-centre-page .championship-centre>.championship-final-heading h3 { color:var(--gold);font-size:clamp(20px,1.2vw,28px); }
.schedule-centre-page .championship-final-slot .knockout-match { border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 9%,transparent),0 10px 24px rgba(0,0,0,.16); }
.schedule-centre-page .championship-placement {
  grid-area:contest;min-width:0;align-self:center;
  transform:translateY(calc(50% + var(--final-card-height,160px) / 2 + 32px));
}
.schedule-centre-page .championship-placement>header { display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;margin:0 0 8px;border-top:1px solid var(--line);padding-top:12px; }
.schedule-centre-page .championship-placement h3 { margin:0;color:var(--text-2);font-size:16px; }
.schedule-centre-page .championship-placement small { color:var(--text-2);font-size:12px; }
.schedule-centre-page .championship-placement .knockout-match { box-shadow:none;background:var(--surface-inset); }
.schedule-centre-page .championship-routes { position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0; }
.schedule-centre-page .championship-route { fill:none;stroke:var(--text-3,#71858f);stroke-width:1.6;stroke-linejoin:round;opacity:.7; }
.schedule-centre-page .championship-route.is-complete { stroke:var(--lime);opacity:.95; }
.schedule-centre-page .championship-scroll-hint { display:none; }
.schedule-centre-page .knockout-workspace:has(.championship-scroll.is-overflowing) .championship-scroll-hint { display:inline; }
@media(min-width:2400px) {
  .schedule-centre-page .championship-bracket { --route-card-min:290px;--route-gap:34px;--route-slot-min:200px;--route-heading:90px; }
  .schedule-centre-page .championship-bracket .knockout-match { padding:16px; }
  .schedule-centre-page .championship-bracket .knockout-team-row { min-height:43px; }
  .schedule-centre-page .championship-bracket .knockout-team-row>b { font-size:20px!important; }
  .schedule-centre-page .championship-bracket .knockout-team-row>strong { font-size:24px; }
  .schedule-centre-page .championship-bracket .knockout-match>header :is(span,b),
  .schedule-centre-page .championship-bracket :is(.postseason-round-team,.postseason-leg-meta span,.postseason-leg-meta b) { font-size:14px; }
}
@media(max-width:760px) and (orientation:portrait) {
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) .championship-bracket { display:flex;flex-direction:column;min-width:0;gap:18px;padding:0; }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.championship-round,.championship-centre) { display:block; }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.championship-round-matches,.championship-centre-matches) { display:grid;grid-template-rows:none;grid-template-areas:none;gap:12px; }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) :is(.championship-final-slot,.championship-placement) { grid-area:auto;transform:none; }
  .schedule-centre-page [data-bracket-browser]:not(.is-round-browser-active) .championship-final-heading svg { position:static;transform:none;align-self:center; }
  .schedule-centre-page .championship-routes { display:none; }
}
