@font-face {font-family:Champions;src:url('./assets/fonts/Champions-Bold.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face {font-family:Champions;src:url('./assets/fonts/Champions-Regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face {
  font-family: 'Scoreboard Sans';
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url(./assets/fonts/Scoreboard-Manrope-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Scoreboard Sans';
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url(./assets/fonts/Scoreboard-Manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Scoreboard Sans';
  font-style: normal;
  font-weight: 700 800;
  font-display: swap;
  src: url(./assets/fonts/Scoreboard-Manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'AFC Score Sans';
  font-style: normal;
  font-weight: 700 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(./assets/fonts/AFC-NotoSans-vietnamese.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'AFC Score Sans';
  font-style: normal;
  font-weight: 700 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(./assets/fonts/AFC-NotoSans-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'AFC Score Sans';
  font-style: normal;
  font-weight: 700 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(./assets/fonts/AFC-NotoSans-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Self-contained fallback faces: standalone scorebars and canvas exports must
   not depend on the main menu's remote font stylesheet. */
@font-face {font-family:'Hypermotion Headline';src:url('./assets/fonts/LALIGAHeadline-StdBold.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face {font-family:'Hypermotion Text';src:url('./assets/fonts/LALIGAText-Bold.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face {font-family:'FWC 2026 Condensed';src:url('./assets/fonts/FWC2026-CondensedBlack.woff2') format('woff2');font-weight:900;font-display:swap;}
@font-face {font-family:'FWC 2026 Ultra';src:url('./assets/fonts/FWC2026-UltraCondensedBlack.woff2') format('woff2');font-weight:900;font-display:swap;}
@font-face {font-family:'FWC 2026 Normal';src:url('./assets/fonts/FWC2026-NormalBlack.woff2') format('woff2');font-weight:900;font-display:swap;}
@font-face {font-family:'FWC 2026 Numbers';src:url('./assets/fonts/FWC2026-OpenSans.ttf') format('truetype');font-weight:300 800;font-display:swap;}
@font-face {font-family:'WC 2010 Condensed';src:url('./assets/fonts/DFLWeb-Bd.woff2') format('woff2');font-weight:700;font-display:swap;}
/* The 1998 archive did not establish a single shared live scorebug. Its
   restrained navy/gold recreation uses the period broadcast palette. */
body #mainContent .cb-broadcast:is([data-mode="wc1998"],[data-mode="wc2002"],[data-mode="wc2006"]) :is(.cb-code,.cb-score) {color:#fff;}
body #mainContent .cb-broadcast[data-mode="wc1998"] {width:390px;}
.cb-broadcast[data-mode="wc1998"] .cb-scorebug {height:42px;background:#121a32;border-bottom:2px solid #e5ce64;box-sizing:border-box;}
.cb-broadcast[data-mode="wc1998"] :is(.cb-badge,.cb-logo) {display:none;}
.cb-broadcast[data-mode="wc1998"] .cb-team {position:absolute;top:0;width:110px;height:40px;display:flex;align-items:center;justify-content:space-around;}
.cb-broadcast[data-mode="wc1998"] .cb-home {left:0;}.cb-broadcast[data-mode="wc1998"] .cb-away {left:128px;flex-direction:row-reverse;}
.cb-broadcast[data-mode="wc1998"] .cb-home::after {content:'–';position:absolute;left:117px;font:700 20px Arial,sans-serif;}
.cb-broadcast[data-mode="wc1998"] :is(.cb-code,.cb-score) {font:700 23px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc1998"] time {position:absolute;left:244px;right:0;top:0;height:40px;display:flex;align-items:center;justify-content:center;background:#e5ce64;color:#111a2e;font:700 22px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc1998"] time.has-added-time {font-size:16px;}
body #mainContent .cb-broadcast[data-mode="wc2002"] {width:340px;}
.cb-broadcast[data-mode="wc2002"] .cb-context {position:absolute;top:0;left:0;width:100%;height:23px;display:flex;align-items:center;justify-content:center;background:#133d26;font:400 13px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2002"] .cb-scorebug {height:88px;background:linear-gradient(#17472b,#17472b) 0 25px/100% 35px no-repeat;}
.cb-broadcast[data-mode="wc2002"] .cb-logo {display:none;}
.cb-broadcast[data-mode="wc2002"] .cb-team {position:absolute;top:25px;height:35px;width:50%;display:flex;align-items:center;}
.cb-broadcast[data-mode="wc2002"] .cb-home {left:0;}.cb-broadcast[data-mode="wc2002"] .cb-away {right:0;flex-direction:row-reverse;}
.cb-broadcast[data-mode="wc2002"] .cb-badge {width:56px;height:33px;flex-shrink:0;margin:0 2px;}
.cb-broadcast[data-mode="wc2002"] .cb-code {flex:1;text-align:center;font:700 24px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2002"] .cb-score {width:33px;text-align:center;font:700 24px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2002"] time {position:absolute;top:60px;left:100px;width:140px;height:28px;display:flex;align-items:center;justify-content:center;background:#133d26;font:700 21px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2002"] time.has-added-time {font-size:16px;}
body #mainContent .cb-broadcast[data-mode="wc2006"] {width:340px;}
.cb-broadcast[data-mode="wc2006"] .cb-scorebug {height:70px;}
.cb-broadcast[data-mode="wc2006"] .cb-scorebug::before {content:'';position:absolute;top:0;left:0;width:100%;height:42px;border-radius:22px;background:linear-gradient(#f8fafb 0%,#c1c8d0 48%,#edf0f3 52%,#a1acb8 100%);box-shadow:inset 0 1px 1px #fff,0 1px 2px #0005;}
.cb-broadcast[data-mode="wc2006"] .cb-logo {display:none;}
.cb-broadcast[data-mode="wc2006"] .cb-team {position:absolute;top:3px;height:36px;width:50%;display:flex;align-items:center;background:#101e2b;}
.cb-broadcast[data-mode="wc2006"] .cb-home {left:0;border-radius:20px 0 0 20px;}.cb-broadcast[data-mode="wc2006"] .cb-away {right:0;flex-direction:row-reverse;border-radius:0 20px 20px 0;}
.cb-broadcast[data-mode="wc2006"] .cb-badge {width:56px;height:36px;flex-shrink:0;border-radius:20px 0 0 20px;}
.cb-broadcast[data-mode="wc2006"] .cb-away .cb-badge {border-radius:0 20px 20px 0;}
.cb-broadcast[data-mode="wc2006"] .cb-badge::after {content:'';position:absolute;width:56px;height:36px;background:linear-gradient(#fff5,transparent 50%,#0005);pointer-events:none;}
.cb-broadcast[data-mode="wc2006"] .cb-code {flex:1;text-align:center;font:700 24px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2006"] .cb-score {width:33px;text-align:center;font:700 24px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2006"] time {position:absolute;top:42px;left:100px;width:140px;height:28px;display:flex;align-items:center;justify-content:center;background:#101e2b;font:700 21px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2006"] time.has-added-time {font-size:16px;}
.cb-broadcast:is([data-mode="wc1998"],[data-mode="wc2002"],[data-mode="wc2006"]) .cb-team i {top:100%;bottom:auto;left:4px;z-index:2;}
.cb-broadcast:is([data-mode="wc1998"],[data-mode="wc2002"],[data-mode="wc2006"]) .cb-away i {left:auto;right:4px;}
@media(max-width:600px){
 body #mainContent .cb-broadcast:is([data-mode="wc1998"],[data-mode="wc2002"],[data-mode="wc2006"]) {width:min(86%,300px);height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="wc1998"],[data-mode="wc2002"],[data-mode="wc2006"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast[data-mode="wc2002"] .cb-context {width:var(--cb-native-width);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast:is([data-mode="wc1998"],[data-mode="wc2002"],[data-mode="wc2006"]) .cb-penalties {position:absolute;top:100%;left:0;width:100%;margin-top:14px;}
 body #mainContent .cb-broadcast:is([data-mode="wc1998"],[data-mode="wc2002"],[data-mode="wc2006"]):has(.cb-penalties:not([hidden])) {margin-bottom:56px;}
}
/* Country lettering remains an approximation until the Dusha broadcast face
   is available from an authoritative source. It is not the numbers face. */
@font-face {font-family:'WC 2018 Code Approximation';src:url('./assets/fonts/Champions-Regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face {font-family:'Europa Nuova';src:url('./assets/fonts/Europa-Nuova-Bold.woff2') format('woff2');font-weight:700;font-display:swap;}
/* UEFA 2016 final at 00:24: bevelled clock, swept gold ribbon and silver cup.
   The shared SVG supplies identical geometry for the live view and exports. */
body #mainContent .cb-broadcast[data-mode="uel-2016"] {
  width: 440px;
  height: 44px;
  margin-bottom: 36px;
  font-family: Arial, sans-serif;
}
.cb-broadcast[data-mode="uel-2016"] .cb-scorebug {
  width: 440px;
  height: 44px;
  background: url('./assets/europa-league-2015-16/scorebar-frame.svg') center / contain no-repeat;
}
.cb-broadcast[data-mode="uel-2016"] .cb-logo { display: none; }
.cb-broadcast[data-mode="uel-2016"] time {
  position: absolute;
  left: 34px;
  top: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 30px;
  color: #ffffff;
  background: none;
  font: 400 21px/1 Arial, sans-serif;
}
.cb-broadcast[data-mode="uel-2016"] .cb-team {
  position: absolute;
  top: 9px;
  height: 30px;
  display: flex;
  align-items: center;
  background: none;
  border-radius: 0;
}
.cb-broadcast[data-mode="uel-2016"] .cb-home { left: 152px; width: 129px; }
.cb-broadcast[data-mode="uel-2016"] .cb-away { left: 281px; width: 133px; flex-direction: row-reverse; }
.cb-broadcast[data-mode="uel-2016"] .cb-code { width: 88px; text-align: center; font: 400 21px/1 Arial, sans-serif; }
.cb-broadcast[data-mode="uel-2016"] .cb-away .cb-code { width: 96px; }
.cb-broadcast[data-mode="uel-2016"] .cb-score { position: absolute; width: 20px; padding: 0; margin: 0; text-align: center; color: #ffffff; background: none; font: 400 21px/1 Arial, sans-serif; }
.cb-broadcast[data-mode="uel-2016"] .cb-home .cb-score { left: 107px; }
.cb-broadcast[data-mode="uel-2016"] .cb-away .cb-score { left: 1px; }
.cb-broadcast[data-mode="uel-2016"] .cb-home .cb-score::after { content: '-'; position: absolute; left: 19px; width: 6px; z-index: 2; }
.cb-broadcast[data-mode="uel-2016"] .cb-team::after {
  content: '';
  position: absolute;
  top: 0;
  left: -27px;
  width: 13px;
  height: 30px;
  background: linear-gradient(90deg, #ffffff55, transparent 25%, #00000022), var(--kit, #ffffff);
  clip-path: path('M3 0H13Q9 15 13 30H3Q-1 15 3 0Z');
  box-shadow: inset 1px 0 #ffffff99;
}
.cb-broadcast[data-mode="uel-2016"] .cb-away::after { left: auto; right: -22px; }
.cb-broadcast[data-mode="uel-2016"] .cb-badge { display: none; }
.cb-broadcast[data-mode="uel-2016"] .cb-team i { bottom: -13px; }
.cb-broadcast[data-mode="uel-2016"] .cb-aggregate { position: absolute; top: 44px; left: 239px; width: 84px; padding: 3px; color: #ffffff; background: #151515; text-align: center; font: 400 15px/1 Arial, sans-serif; }
@media (max-width: 600px) {
  body #mainContent .cb-broadcast[data-mode="uel-2016"] { width: min(90%, 330px); height: var(--cb-compact-height); }
  .cb-broadcast[data-mode="uel-2016"] .cb-scorebug { transform: scale(var(--cb-compact-scale, 1)); transform-origin: top left; }
}
@font-face {font-family:'UEFA Euro';src:url('./assets/fonts/UEFA-Euro-Bold.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face {font-family:'UEFA Euro Pro';src:url('./assets/fonts/UEFA-Euro-Pro-Medium.woff2') format('woff2');font-weight:500;font-display:swap;}
@font-face {font-family:'UEFA Nations';src:url('./assets/fonts/UEFA-Nations-Bold.woff2') format('woff2');font-weight:700;font-display:swap;}
@font-face {font-family:'UEFA Nations';src:url('./assets/fonts/UEFA-Nations-Regular.woff2') format('woff2');font-weight:400;font-display:swap;}
@font-face {font-family:'Continental Scorebar';src:url('./assets/fonts/Continental-BarlowSemiCondensed-Bold.ttf') format('truetype');font-weight:700;font-display:swap;}
/* Provisional 2027 bar based on the 2023 Asian Cup broadcast reference.
   The 2027 finals package has not been verified. Keep this isolated by mode. */
body #mainContent .cb-broadcast[data-mode="asiancup2027"] {width:420px;height:88px;font-family:'AFC Score Sans',Arial,sans-serif;font-weight:900;}
.cb-broadcast[data-mode="asiancup2027"] .cb-scorebug {height:88px;background:linear-gradient(#24123f,#24123f) 0 0/100% 62px no-repeat;}
.cb-broadcast[data-mode="asiancup2027"] .cb-context {display:flex;position:absolute;top:0;left:0;right:0;height:22px;align-items:center;justify-content:center;color:#c9ed40;font:700 14px/1 'AFC Score Sans',Arial,sans-serif;z-index:1;white-space:nowrap;text-transform:uppercase;}
.cb-broadcast[data-mode="asiancup2027"] :is(.cb-logo,.cb-badge) {display:none;}
.cb-broadcast[data-mode="asiancup2027"] .cb-team {position:absolute;top:22px;height:40px;display:flex;align-items:center;}
.cb-broadcast[data-mode="asiancup2027"] .cb-home {left:86px;width:156px;}
.cb-broadcast[data-mode="asiancup2027"] .cb-away {left:242px;width:178px;flex-direction:row-reverse;}
body #mainContent .cb-broadcast[data-mode="asiancup2027"] .cb-code {display:flex;align-items:center;justify-content:center;flex:1;height:40px;background:#e6e3e9;color:#24123f;font:900 27px/1 'AFC Score Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="asiancup2027"] .cb-home .cb-code {padding-left:16px;box-sizing:border-box;}
.cb-broadcast[data-mode="asiancup2027"] .cb-away .cb-code {padding-right:16px;box-sizing:border-box;}
body #mainContent .cb-broadcast[data-mode="asiancup2027"] .cb-score {width:44px;flex-shrink:0;text-align:center;color:#c9ed40;font:900 31px/1 'AFC Score Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="asiancup2027"] .cb-home::after {content:'·';position:absolute;left:151px;top:6px;color:#c9ed40;font:700 25px/1 'AFC Score Sans',Arial,sans-serif;z-index:1;}
.cb-broadcast[data-mode="asiancup2027"] .cb-team::before {content:'';position:absolute;left:0;top:0;width:26px;height:40px;clip-path:polygon(0 0,54% 0,100% 100%,0 100%);background:linear-gradient(73deg,var(--kit) 0 25%,var(--kit-accent) 26% 35%,var(--kit) 36%);}
.cb-broadcast[data-mode="asiancup2027"] .cb-away::before {left:auto;right:0;transform:scaleX(-1);}
.cb-broadcast[data-mode="asiancup2027"] time {position:absolute;left:0;top:22px;width:86px;height:40px;display:flex;align-items:center;justify-content:center;color:#c9ed40;font:700 24px/1 'AFC Score Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="asiancup2027"] time[data-added-time]::after {content:attr(data-added-time);position:absolute;top:40px;left:0;width:86px;height:26px;display:flex;align-items:center;justify-content:center;color:#24123f;background:#c9ed40;font:700 21px/1 'AFC Score Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="asiancup2027"] .cb-team i {bottom:-17px;left:40px;}
.cb-broadcast[data-mode="asiancup2027"] .cb-away i {left:45px;}
.cb-broadcast[data-mode="asiancup2027"] .cb-penalties {margin-top:4px;color:#f2fff7;}
@media(max-width:600px){
 body #mainContent .cb-broadcast[data-mode="asiancup2027"] {width:min(86%,350px);height:var(--cb-compact-height);}
 .cb-broadcast[data-mode="asiancup2027"] .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast[data-mode="asiancup2027"] .cb-context {width:var(--cb-native-width);right:auto;transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast[data-mode="asiancup2027"] .cb-penalties {position:absolute;top:100%;left:0;width:100%;}
 body #mainContent .cb-broadcast[data-mode="asiancup2027"]:has(.cb-penalties:not([hidden])) {margin-bottom:52px;}
}
body.competition-broadcast-active #mainContent #matchStage #matchup,body.competition-broadcast-active #snapshotModalKicker {display:none!important;}
.cb-broadcast[hidden],.cb-broadcast [hidden] {display:none!important;}
body #mainContent .cb-broadcast {position:relative;margin:30px auto 28px;max-width:calc(100% - 8px);width:480px;font-family:'Scoreboard Sans',Arial,sans-serif;font-weight:800;font-synthesis:style;color:#fff;}
.cb-scorebug {position:relative;filter:drop-shadow(0 3px 5px #0004);}
.cb-context {display:none;}
.cb-aggregate {position:absolute;top:100%;left:50%;transform:translateX(-50%);padding:4px 12px;background:#061a56;color:#fff;font:700 17px/1.2 Champions,Arial,sans-serif;white-space:nowrap;}
/* Secondary labels follow their edition rather than inheriting Champions. */
body #mainContent .cb-broadcast[data-mode="ucl-2004"] :is(.cb-aggregate,.cb-penalties) {font-family:Arial,sans-serif;}
.cb-broadcast[data-mode="nations-current"] .cb-aggregate {font-family:'UEFA Nations',Arial,sans-serif;}
.cb-broadcast[data-mode="carabao-cup"] .cb-aggregate {font-family:'Scoreboard Sans',Arial,sans-serif;}
.cb-team {position:relative;}
.cb-team i {position:absolute;color:#ff5266;font:12px/1 Arial,sans-serif;font-style:normal;white-space:nowrap;bottom:-13px;}
.cb-code {font-size:27px;font-weight:800;line-height:1;white-space:nowrap;}
.cb-score {font-size:34px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;}
.cb-scorebug time {font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;}
.cb-badge {display:flex;align-items:center;justify-content:center;overflow:hidden;}
.cb-badge :is(img,svg) {width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain;}
.cb-penalties {display:block;text-align:center;margin-top:20px;font-size:14px;}
.cb-announcement {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
body #mainContent .cb-broadcast[data-mode="wc2026"] {width:540px;}
.cb-broadcast[data-mode="wc2026"] .cb-context {display:block;background:#101010;width:71%;margin-left:8%;font:900 13px/27px 'FWC 2026 Normal',Arial,sans-serif;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 6px;box-sizing:border-box;}
.cb-broadcast[data-mode="wc2026"] .cb-scorebug {display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr) 108px;background:#101010;border-radius:6px;min-height:48px;box-shadow:0 3px 0 #4ba58f;}
.cb-broadcast[data-mode="wc2026"] .cb-team {display:grid;align-items:center;grid-template-columns:38px minmax(0,1fr) 46px;gap:6px;}
.cb-broadcast[data-mode="wc2026"] .cb-team::after {content:'';position:absolute;bottom:4px;left:10px;right:55px;height:2px;background:var(--kit,#fff);}
.cb-broadcast[data-mode="wc2026"] .cb-home {padding-left:10px;border-left:3px solid #4ba58f;border-radius:6px 0 0 6px;}
.cb-broadcast[data-mode="wc2026"] .cb-away {grid-template-columns:46px minmax(0,1fr) 38px;padding-right:10px;}
.cb-broadcast[data-mode="wc2026"] .cb-away::after {left:55px;right:10px;}
.cb-broadcast[data-mode="wc2026"] .cb-away .cb-badge {grid-column:3;grid-row:1;}.cb-broadcast[data-mode="wc2026"] .cb-away .cb-score {grid-column:1;grid-row:1;}.cb-broadcast[data-mode="wc2026"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="wc2026"] .cb-code {font:900 34px/1 'FWC 2026 Ultra',Arial,sans-serif;text-align:center;}
.cb-broadcast[data-mode="wc2026"] .cb-score {display:flex;align-items:center;justify-content:center;background:#4ba58f;align-self:stretch;border-radius:4px;font:700 31px/1 'FWC 2026 Numbers',Arial,sans-serif;}
.cb-broadcast[data-mode="wc2026"] .cb-badge {width:38px;height:24px;}
.cb-broadcast[data-mode="wc2026"] .cb-logo {background:#101010 url('./assets/ui/world-cup-2026-logo.webp') center/92% auto no-repeat;z-index:2;border-radius:5px;}
.cb-broadcast[data-mode="wc2026"] time {display:flex;align-items:center;justify-content:center;color:#101010;background:#fff;font:700 28px/1 'FWC 2026 Numbers',Arial,sans-serif;border-radius:0 6px 6px 0;border-left:10px solid #ceb970;box-sizing:border-box;}
.cb-broadcast[data-mode="wc2026"] time.has-added-time {font-size:19px;}
.cb-broadcast[data-mode="wc2026"] .cb-team i {bottom:-15px;}
body #mainContent .cb-broadcast[data-mode="ligue1"] {width:220px;margin-bottom:48px;}
.cb-broadcast[data-mode="ligue1"] .cb-scorebug {display:grid;grid-template-columns:62px 1fr;grid-template-rows:44px 44px;background:#151515;}
.cb-broadcast[data-mode="ligue1"] .cb-logo {grid-row:1/3;background:#191919;position:relative;}
.cb-broadcast[data-mode="ligue1"] .cb-logo::before {content:'';position:absolute;inset:9px 7px;background:#d88fc9;mask:url('./assets/ui/ligue-1-logo.webp') center/contain no-repeat;}
.cb-broadcast[data-mode="ligue1"] .cb-team {display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-right:5px solid var(--kit,#fff);}
.cb-broadcast[data-mode="ligue1"] .cb-home {border-bottom:1px solid #ffffff70;}
.cb-broadcast[data-mode="ligue1"] .cb-badge {display:none;}.cb-broadcast[data-mode="ligue1"] .cb-code {font-size:25px;}.cb-broadcast[data-mode="ligue1"] .cb-score {font-size:28px;}
.cb-broadcast[data-mode="ligue1"] .cb-team i {bottom:2px;left:4px;font-size:9px;}
.cb-broadcast[data-mode="ligue1"] time {position:absolute;left:0;top:100%;background:#fff;color:#111;font-size:22px;padding:3px 7px;min-width:66px;text-align:center;}
.cb-broadcast[data-mode="ligue1"] time.has-added-time {font-size:17px;}
body #mainContent .cb-broadcast[data-mode="championship"] {width:270px;}
.cb-broadcast[data-mode="championship"] .cb-scorebug {display:grid;grid-template-columns:1fr 106px 1fr;grid-template-rows:49px 37px;background:#e51c31;border-radius:8px;}
.cb-broadcast[data-mode="championship"] .cb-logo {display:none;}
.cb-broadcast[data-mode="championship"] .cb-team {display:grid;grid-template-rows:49px 37px;align-items:center;justify-items:center;background:#fff;color:#14264d;grid-row:1/3;}
.cb-broadcast[data-mode="championship"] .cb-home {grid-column:1;border-left:5px solid var(--kit,#fff);border-radius:8px 0 0 8px;}.cb-broadcast[data-mode="championship"] .cb-away {grid-column:3;border-right:5px solid var(--kit,#fff);border-radius:0 8px 8px 0;}
.cb-broadcast[data-mode="championship"] .cb-badge {width:35px;height:39px;}.cb-broadcast[data-mode="championship"] .cb-code {font-size:21px;}
.cb-broadcast[data-mode="championship"] .cb-score {position:absolute;top:10px;color:#fff;}.cb-broadcast[data-mode="championship"] .cb-home .cb-score {left:calc(100% + 14px);}.cb-broadcast[data-mode="championship"] .cb-away .cb-score {right:calc(100% + 14px);}
.cb-broadcast[data-mode="championship"] .cb-scorebug::after {content:'–';position:absolute;left:50%;top:8px;transform:translateX(-50%);font-size:30px;}
.cb-broadcast[data-mode="championship"] time {grid-column:2;grid-row:2;font-size:22px;text-align:center;align-self:center;}.cb-broadcast[data-mode="championship"] time.has-added-time {font-size:14px;}
body.competition-broadcast-active #mainContent #matchStage.match-stage {background:transparent!important;border:0!important;box-shadow:none!important;}
body.competition-broadcast-active #mainContent :is(.stage-label,.match-stat-row span,.pl-mini-table th,.pl-mini-table td,.pl-golden-boot-club) {color:#fff!important;}
body[data-broadcast-competition="championship"] {background:radial-gradient(ellipse at 10% 0,#45361955,transparent 60%),linear-gradient(145deg,#171915,#070d11)!important;}
body[data-broadcast-competition="wc2026"] {background:radial-gradient(ellipse at 10% 0,#23659d44,transparent 60%),linear-gradient(145deg,#0b2f78,#071537)!important;}
@media(max-width:600px){
 .cb-broadcast[data-mode="wc2026"] .cb-scorebug {grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 77px;min-height:42px;}
 .cb-broadcast[data-mode="wc2026"] .cb-team {grid-template-columns:22px minmax(0,1fr) 28px;gap:3px;}.cb-broadcast[data-mode="wc2026"] .cb-away {grid-template-columns:28px minmax(0,1fr) 22px;}
 .cb-broadcast[data-mode="wc2026"] .cb-home {padding-left:5px;}.cb-broadcast[data-mode="wc2026"] .cb-away {padding-right:5px;}
 .cb-broadcast[data-mode="wc2026"] .cb-team::after {left:6px;right:33px;}.cb-broadcast[data-mode="wc2026"] .cb-away::after {left:33px;right:6px;}
 .cb-broadcast[data-mode="wc2026"] .cb-code {font-size:24px;}.cb-broadcast[data-mode="wc2026"] .cb-score {font-size:24px;}.cb-broadcast[data-mode="wc2026"] .cb-badge {width:22px;height:17px;}
 .cb-broadcast[data-mode="wc2026"] time {font-size:22px;border-left-width:6px;}.cb-broadcast[data-mode="wc2026"] time.has-added-time {font-size:13px;}
 .cb-broadcast[data-mode="wc2026"] .cb-context {font-size:9px;line-height:22px;}
}

.cb-broadcast[data-mode="wc2026"] .cb-home {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="wc2026"] .cb-away {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode="wc2026"] time {grid-column:4;grid-row:1;}
.cb-broadcast[data-mode="wc2026"] .cb-logo {position:relative;left:auto;top:auto;bottom:auto;grid-column:2;grid-row:1;width:100%;height:100%;}
.cb-broadcast[data-mode="championship"] .cb-score {width:42px;font-size:32px;text-align:center;}
.cb-broadcast[data-mode="championship"] .cb-home .cb-score {left:calc(100% + 4px);}
.cb-broadcast[data-mode="championship"] .cb-away .cb-score {right:calc(100% + 4px);}
body.retro-2026-active #retroWorldCupScreen {background:radial-gradient(ellipse at 10% 0,#23659d44,transparent 60%),linear-gradient(145deg,#0b2f78,#071537)!important;}
body[data-retro-edition-banner="2026"] {--retro-setup-border:#ffffff30;--retro-setup-surface:#0d2c64;--retro-setup-text:#fff;--retro-setup-muted:#d7e5ff;--retro-setup-accent-text:#092052;--retro-setup-selected:linear-gradient(145deg,#f9df5d,#efca24);--retro-setup-shadow:#071537;--retro-setup-hover:#15498b;}
body.retro-edition-banner-active[data-retro-edition-banner="2026"] .retro-screen-header {background:linear-gradient(110deg,#092052,#174487)!important;box-shadow:none!important;border-bottom:1px solid #ffffff30!important;}
body.retro-edition-banner-active[data-retro-edition-banner="2026"] .retro-screen-brand .brand-mark {background:#0d2c64!important;color:#fff!important;border:1px solid #ffffff30!important;box-shadow:none!important;}
body.championship-edition.competition-broadcast-active[data-broadcast-competition="championship"] {background:radial-gradient(ellipse at 10% 0,#90762c33,transparent 60%),linear-gradient(145deg,#17203d,#070d20)!important;}
body.championship-edition.competition-broadcast-active #mainContent :is(#matchAnalysis,#plWatchTactics,#plEngineTablePanel,.golden-boot,.round-board) {background:#142347!important;border-color:#b79a3f55!important;}
body.competition-broadcast-active #mainContent #stageRoundLabel {color:#fff!important;}

/* UEFA world-feed layouts. Edition selection is explicit, never inferred from
   the club name or inherited by custom tournaments and careers. */
body #mainContent .cb-broadcast[data-mode^="ucl-"] {width:380px;font-family:Champions,Arial,sans-serif;font-weight:700;margin-bottom:36px;}
.cb-broadcast[data-mode^="ucl-"] .cb-scorebug {--ucl-leading:132px;display:grid;grid-template-columns:44px 88px minmax(0,1fr) minmax(0,1fr);height:44px;background:linear-gradient(110deg,#103dc9,#072aa9);}
.cb-broadcast[data-mode^="ucl-"] .cb-scorebug::after {content:'–';position:absolute;left:calc((100% + var(--ucl-leading))/2);top:50%;transform:translate(-50%,-50%);color:#091b4a;font:700 15px/1 Champions,Arial,sans-serif;pointer-events:none;}
.cb-broadcast[data-mode^="ucl-"] .cb-logo {grid-column:1;grid-row:1;background:#fff;position:relative;}
.cb-broadcast[data-mode^="ucl-"] .cb-logo::before {content:'';position:absolute;inset:7px;background:#0b2cb0;mask:url('./assets/ui/ucl-starball-white.webp') center/contain no-repeat;}
.cb-broadcast[data-mode^="ucl-"] time {grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;background:#f5f7fa;color:#091b4a;font:700 23px/1 Champions,Arial,sans-serif;}
.cb-broadcast[data-mode^="ucl-"] time.has-added-time {font-size:15px;}
.cb-broadcast[data-mode^="ucl-"] .cb-home {grid-column:3;grid-row:1;grid-template-columns:minmax(0,1fr) 36px;}
.cb-broadcast[data-mode^="ucl-"] .cb-away {grid-column:4;grid-row:1;grid-template-columns:36px minmax(0,1fr);}
.cb-broadcast[data-mode^="ucl-"] .cb-team {display:grid;align-items:center;text-align:center;}
.cb-broadcast[data-mode^="ucl-"] .cb-away .cb-code {grid-column:2;grid-row:1;}.cb-broadcast[data-mode^="ucl-"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode^="ucl-"] .cb-code {font:700 25px/1 Champions,Arial,sans-serif;}
.cb-broadcast[data-mode^="ucl-"] .cb-badge {display:none;}
.cb-broadcast[data-mode^="ucl-"] .cb-score {display:flex;align-items:center;justify-content:center;height:100%;background:#f5f7fa;color:#091b4a;font:700 27px/1 Champions,Arial,sans-serif;}
.cb-broadcast[data-mode^="ucl-"] .cb-team::after {content:'';position:absolute;height:3px;background:var(--kit,#fff);bottom:3px;left:7px;right:43px;}
.cb-broadcast[data-mode^="ucl-"] .cb-away::after {left:43px;right:7px;}
.cb-broadcast[data-mode^="ucl-"] .cb-team i {bottom:-14px;left:4px;}
.cb-broadcast[data-mode^="ucl-"] .cb-away i {left:auto;right:4px;}
.cb-broadcast[data-mode="ucl-current"] .cb-scorebug {background:linear-gradient(115deg,#1025ce,#051464 60%,#1747ef);}
.cb-broadcast[data-mode="ucl-current"] .cb-logo {background:linear-gradient(140deg,#142eaa,#080e4c);}
.cb-broadcast[data-mode="ucl-current"] .cb-logo::before {background:#fff;}
body #mainContent .cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) {width:335px;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-scorebug {--ucl-leading:88px;grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);height:40px;background:linear-gradient(#303741,#11161e);border-radius:5px;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-logo {display:none;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) time {grid-column:1;color:#fff;background:linear-gradient(#2055a4,#071b42);border-radius:5px 0 0 5px;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-home {grid-column:2;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-away {grid-column:3;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-score {height:30px;background:linear-gradient(#fff,#cdd2db);font-size:25px;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-home .cb-score {border-radius:5px 0 0 5px;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-away .cb-score {border-radius:0 5px 5px 0;}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-team::after {display:none;}
.cb-broadcast[data-mode="ucl-2012"] .cb-scorebug {background:linear-gradient(#132c50,#071426);}
.cb-broadcast[data-mode="ucl-2012"] time {background:linear-gradient(#377db6,#143c73);}
.cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"]) time::before {content:'';width:16px;height:16px;margin-right:4px;flex-shrink:0;background:url('./assets/ui/ucl-starball-white.webp') center/contain no-repeat;}
.cb-broadcast[data-mode^="ucl-"] .cb-aggregate {left:calc((100% + var(--ucl-leading))/2);}
.cb-broadcast[data-mode="ucl-2004"] .cb-scorebug {border-radius:0;background:linear-gradient(#26354b,#101b2a);}
.cb-broadcast[data-mode="ucl-2004"] time {background:linear-gradient(#68778a,#344154);border-radius:0;}
.cb-broadcast[data-mode="ucl-2004"] :is(.cb-code,.cb-score,time) {font-family:Arial,sans-serif;font-weight:700;font-size:22px;}
.cb-broadcast[data-mode="ucl-2004"] .cb-score {border-radius:0!important;}
.cb-broadcast.has-aggregate {padding-bottom:14px;}
/* Europa and Conference world feeds share a black scorebar and Europa Nuova.
   Keep the complete graphic's proportions on phones, including kit markers. */
body #mainContent .cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) {width:380px;font-family:'Europa Nuova',Arial,sans-serif;font-weight:700;margin-bottom:36px;--uefa-accent:#ff6900;}
body #mainContent .cb-broadcast[data-mode="uecl-current"] {--uefa-accent:#00be14;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-scorebug {display:grid;grid-template-columns:42px 90px 124px 124px;height:40px;background:#171717;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-logo {position:relative;grid-column:1;grid-row:1;background:#171717;}
.cb-broadcast[data-mode="uel-current"] .cb-logo::before {content:'';position:absolute;inset:5px 10px;background:url('./assets/europa-league-white-trophy.png') center/contain no-repeat;}
.cb-broadcast[data-mode="uecl-current"] .cb-logo::before {content:'';position:absolute;left:10px;top:8px;width:22px;height:24px;background:url('./assets/conference-26-27/conference-league-mark.png') center top/47px auto no-repeat;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) time {display:flex;align-items:center;justify-content:center;grid-column:2;grid-row:1;border-left:2px solid var(--uefa-accent);background:#171717;color:#fff;font:700 24px/1 'Europa Nuova',Arial,sans-serif;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) time.has-added-time {font-size:16px;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-team {display:grid;align-items:center;text-align:center;grid-template-columns:90px 34px;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-home {grid-column:3;grid-row:1;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-away {grid-column:4;grid-row:1;grid-template-columns:34px 90px;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-badge {display:none;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-code {font:700 25px/1 'Europa Nuova',Arial,sans-serif;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-score {display:flex;align-items:center;justify-content:center;align-self:stretch;background:#f4f4f4;color:#111;font:700 27px/1 'Europa Nuova',Arial,sans-serif;box-sizing:border-box;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-home .cb-score {border-right:1px solid #9b9b9b;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-team::after {content:'';position:absolute;top:0;bottom:0;right:34px;width:4px;background:var(--kit,#fff);}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-away::after {left:34px;right:auto;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-team i {left:14px;bottom:-14px;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-away i {left:auto;right:14px;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-aggregate {left:256px;background:#171717;border-bottom:2px solid var(--uefa-accent);font:700 17px/1.2 'Europa Nuova',Arial,sans-serif;}
.cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]).has-aggregate {padding-bottom:24px;}
@media(min-width:601px){
 .cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]).has-aggregate .cb-penalties {margin-top:36px;}
}
@media(max-width:600px){
 body #mainContent .cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) {width:min(88%,300px);height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]) .cb-penalties {position:absolute;top:100%;left:0;width:100%;margin-top:12px;}
 body #mainContent .cb-broadcast:is([data-mode="uel-current"],[data-mode="uecl-current"]):has(.cb-penalties:not([hidden])) {margin-bottom:56px;}
}
/* Historical FIFA world feeds. Source frames and font limitations are in
   docs/world-cup-era-scoreboards-2026-10-02. No modern logo/header is added. */
body #mainContent .cb-broadcast[data-mode="wc2010"] {width:300px;}
/* Lay out this compact bar at its final size. A transformed layer softened
   the lettering; the controller supplies the same proportional scale. */
.cb-broadcast[data-mode="wc2010"] .cb-scorebug {width:100%;height:var(--cb-compact-height,66.6667px);transform:none;background:url('./assets/ui/world-cup-2010-scorebar.svg') center/100% 100% no-repeat;}
.cb-broadcast[data-mode="wc2010"] :is(.cb-badge,.cb-logo) {display:none;}
.cb-broadcast[data-mode="wc2010"] .cb-team {position:absolute;top:48%;bottom:0;width:50%;display:flex;align-items:center;}
.cb-broadcast[data-mode="wc2010"] .cb-home {left:0;}.cb-broadcast[data-mode="wc2010"] .cb-away {right:0;}
.cb-broadcast[data-mode="wc2010"] .cb-code {position:absolute;left:0;width:76%;text-align:center;color:#17120d;font:700 calc(30px * var(--cb-compact-scale,.833333))/1 'WC 2010 Condensed','Arial Narrow',Arial,sans-serif;}
.cb-broadcast[data-mode="wc2010"] .cb-away .cb-code {left:auto;right:0;}
.cb-broadcast[data-mode="wc2010"] .cb-score {position:absolute;left:76%;width:24%;text-align:center;font:700 calc(27px * var(--cb-compact-scale,.833333))/1 'WC 2010 Condensed','Arial Narrow',Arial,sans-serif;text-shadow:0 1px 2px #53210e;}
.cb-broadcast[data-mode="wc2010"] .cb-away .cb-score {left:0;}
.cb-broadcast[data-mode="wc2010"] time {position:absolute;left:8%;right:8%;top:0;height:48%;display:flex;align-items:center;justify-content:center;font:700 calc(28px * var(--cb-compact-scale,.833333))/1 'WC 2010 Condensed','Arial Narrow',Arial,sans-serif;text-shadow:0 1px 2px #53210e;}
.cb-broadcast[data-mode="wc2010"] time.has-added-time {font-size:calc(24px * var(--cb-compact-scale,.833333));}
.cb-broadcast[data-mode="wc2010"] .cb-team i {left:25%;}.cb-broadcast[data-mode="wc2010"] .cb-away i {left:auto;right:25%;}
body #mainContent .cb-broadcast[data-mode="wc2018"] {width:520px;font-family:'WC 2018 Code Approximation',Arial,sans-serif;font-weight:400;}
.cb-broadcast[data-mode="wc2018"] .cb-scorebug {--wc-clock-width:112px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) var(--wc-clock-width);height:40px;background:linear-gradient(#a91c24,#cb2530);border:1px solid #b6b5b0;box-sizing:border-box;}
.cb-broadcast[data-mode="wc2018"] .cb-team {display:grid;align-items:center;grid-template-columns:46px minmax(0,1fr) 52px;}
.cb-broadcast[data-mode="wc2018"] .cb-home {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="wc2018"] .cb-away {grid-column:2;grid-row:1;grid-template-columns:52px minmax(0,1fr) 46px;}
.cb-broadcast[data-mode="wc2018"] .cb-away .cb-score {grid-column:1;grid-row:1;}.cb-broadcast[data-mode="wc2018"] .cb-away .cb-code {grid-column:2;grid-row:1;}.cb-broadcast[data-mode="wc2018"] .cb-away .cb-badge {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode="wc2018"] .cb-code {font:400 29px/1 'WC 2018 Code Approximation',Arial,sans-serif;text-align:center;}
.cb-broadcast[data-mode="wc2018"] .cb-score {display:flex;align-items:center;justify-content:center;align-self:stretch;background:linear-gradient(#062344,#14659a);font:400 30px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2018"] .cb-home .cb-score {border-left:2px solid #c9aa6e;padding-right:5px;}.cb-broadcast[data-mode="wc2018"] .cb-away .cb-score {border-right:2px solid #c9aa6e;padding-left:5px;}
.cb-broadcast[data-mode="wc2018"] .cb-badge {height:100%;width:46px;box-sizing:border-box;padding:2px;background:linear-gradient(#f5f5f5,#acb0b6);clip-path:polygon(15% 0,85% 0,100% 50%,85% 100%,15% 100%,0 50%);}
.cb-broadcast[data-mode="wc2018"] .cb-badge > * {width:100%;height:100%;border-radius:0;overflow:hidden;clip-path:polygon(15% 0,85% 0,100% 50%,85% 100%,15% 100%,0 50%);}
.cb-broadcast[data-mode="wc2018"] .cb-badge img {object-fit:cover!important;}
.cb-broadcast[data-mode="wc2018"] .cb-logo {position:absolute;top:0;left:calc((100% - var(--wc-clock-width))/2);transform:translateX(-50%);width:16px;height:100%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;}
.cb-broadcast[data-mode="wc2018"] .cb-logo::before {content:'✦';font:12px/1 Arial,sans-serif;color:#ece3c5;}
.cb-broadcast[data-mode="wc2018"] time {grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(#062344,#14659a);border-right:2px solid #c9aa6e;font:400 29px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="wc2018"] time.has-added-time {font-size:20px;}
.cb-broadcast[data-mode="wc2018"] .cb-team i {left:50px;}.cb-broadcast[data-mode="wc2018"] .cb-away i {left:auto;right:50px;}
body #mainContent .cb-broadcast[data-mode="wc2022"] {width:590px;font-family:'FWC 2026 Numbers',Arial,sans-serif;font-weight:700;}
.cb-broadcast[data-mode="wc2022"] .cb-scorebug {display:grid;grid-template-columns:134px minmax(0,1fr) 36px minmax(0,1fr);height:40px;background:#8a0732;border:1px solid #f7f1e5;box-sizing:border-box;}
.cb-broadcast[data-mode="wc2022"] time {grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;border-right:1px solid #f7f1e5;font:700 27px/1 'FWC 2026 Numbers',Arial,sans-serif;}
.cb-broadcast[data-mode="wc2022"] time.has-added-time {font-size:18px;}
.cb-broadcast[data-mode="wc2022"] .cb-home {grid-column:2;grid-row:1;display:grid;align-items:center;grid-template-columns:50px minmax(0,1fr) 46px;}
.cb-broadcast[data-mode="wc2022"] .cb-away {grid-column:4;grid-row:1;display:grid;align-items:center;grid-template-columns:46px minmax(0,1fr) 50px;}
.cb-broadcast[data-mode="wc2022"] .cb-away .cb-score {grid-column:1;grid-row:1;}.cb-broadcast[data-mode="wc2022"] .cb-away .cb-code {grid-column:2;grid-row:1;}.cb-broadcast[data-mode="wc2022"] .cb-away .cb-badge {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode="wc2022"] .cb-code {display:flex;align-items:center;justify-content:center;gap:7px;font:700 26px/1 'FWC 2026 Numbers',Arial,sans-serif;}
.cb-broadcast[data-mode="wc2022"] .cb-home .cb-code::before,.cb-broadcast[data-mode="wc2022"] .cb-away .cb-code::after {content:'';width:9px;height:9px;flex-shrink:0;background:var(--kit,#fff);border:1px solid #fff;transform:rotate(45deg);}
.cb-broadcast[data-mode="wc2022"] .cb-score {text-align:center;font:700 27px/1 'FWC 2026 Numbers',Arial,sans-serif;}
.cb-broadcast[data-mode="wc2022"] .cb-badge {height:100%;width:50px;padding:1px;box-sizing:border-box;background:#f7f1e5;}
.cb-broadcast[data-mode="wc2022"] .cb-badge > * {width:100%;height:100%;border-radius:0;overflow:hidden;}
.cb-broadcast[data-mode="wc2022"] .cb-badge img {object-fit:cover!important;}
.cb-broadcast[data-mode="wc2022"] .cb-logo {grid-column:3;grid-row:1;background:url('./assets/ui/world-cup-2022-score-divider.svg') center/100% 100% no-repeat;}
.cb-broadcast[data-mode="wc2022"] .cb-team i {left:54px;}.cb-broadcast[data-mode="wc2022"] .cb-away i {left:auto;right:54px;}
@media(max-width:600px){
 /* Scale the complete desktop graphic uniformly; squeezing individual grid
    columns made flags and score panels too tall and narrow on phones. */
 body #mainContent .cb-broadcast[data-mode="wc2010"] {width:min(76%,230px);}
 body #mainContent .cb-broadcast[data-mode="wc2018"] {width:min(88%,300px);}
 body #mainContent .cb-broadcast[data-mode="wc2022"] {width:min(88%,320px);}
 body #mainContent .cb-broadcast:is([data-mode="wc2010"],[data-mode="wc2018"],[data-mode="wc2022"]) {height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="wc2018"],[data-mode="wc2022"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast:is([data-mode="wc2010"],[data-mode="wc2018"],[data-mode="wc2022"]) .cb-penalties {position:absolute;top:100%;left:0;width:100%;margin-top:12px;}
 body #mainContent .cb-broadcast:is([data-mode="wc2010"],[data-mode="wc2018"],[data-mode="wc2022"]):has(.cb-penalties:not([hidden])) {margin-bottom:56px;}
}
@media(max-width:600px){
 .cb-broadcast[data-mode^="ucl-"] .cb-scorebug {--ucl-leading:106px;grid-template-columns:34px 72px minmax(0,1fr) minmax(0,1fr);height:42px;}
 .cb-broadcast[data-mode^="ucl-"] .cb-code {font-size:22px;}.cb-broadcast[data-mode^="ucl-"] .cb-score {font-size:24px;}
 .cb-broadcast[data-mode^="ucl-"] time {font-size:20px;}
 .cb-broadcast:is([data-mode="ucl-2010"],[data-mode="ucl-2012"],[data-mode="ucl-2004"]) .cb-scorebug {--ucl-leading:72px;grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);}
}
/* Euros keep each tournament's world-feed identity. National teams start in
   their home shirt when it does not clash, regardless of the fixture's side. */
body #mainContent .cb-broadcast[data-mode^="euro"] {width:420px;margin-top:32px;margin-bottom:38px;font-family:'UEFA Euro Pro',Arial,sans-serif;font-weight:500;}
.cb-broadcast[data-mode^="euro"] .cb-scorebug {display:grid;grid-template-columns:50px 120px 125px 125px;height:40px;background:linear-gradient(#185eab,#082e67);}
.cb-broadcast[data-mode^="euro"] .cb-logo {position:relative;grid-column:1;grid-row:1;z-index:2;}
.cb-broadcast[data-mode^="euro"] .cb-logo::before {content:'';position:absolute;inset:-11px -5px;background:url('./assets/ui/euro-2016-logo.webp') center/contain no-repeat;}
.cb-broadcast[data-mode^="euro"] time {grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;font:500 26px/1 'UEFA Euro Pro',Arial,sans-serif;}
.cb-broadcast[data-mode^="euro"] time.has-added-time {font-size:18px;}
.cb-broadcast[data-mode^="euro"] .cb-team {display:grid;align-items:center;grid-template-columns:80px 45px;text-align:center;}
.cb-broadcast[data-mode^="euro"] .cb-home {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode^="euro"] .cb-away {grid-column:4;grid-row:1;grid-template-columns:45px 80px;}
.cb-broadcast[data-mode^="euro"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode^="euro"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode^="euro"] .cb-code {font:500 26px/1 'UEFA Euro Pro',Arial,sans-serif;}
.cb-broadcast[data-mode^="euro"] .cb-badge {display:none;}
.cb-broadcast[data-mode^="euro"] .cb-score {display:flex;align-items:center;justify-content:center;position:relative;height:30px;background:linear-gradient(#fff,#e2e8ee);color:#153971;font:500 27px/1 'UEFA Euro Pro',Arial,sans-serif;}
.cb-broadcast[data-mode^="euro"] .cb-home .cb-score {border-radius:5px 0 0 5px;}
.cb-broadcast[data-mode^="euro"] .cb-away .cb-score {border-radius:0 5px 5px 0;}
.cb-broadcast[data-mode^="euro"] .cb-home .cb-score::after {content:'–';position:absolute;right:-6px;top:50%;transform:translateY(-50%);font-size:16px;z-index:2;}
.cb-broadcast[data-mode^="euro"] .cb-team::after {content:'';position:absolute;top:0;bottom:0;left:0;width:7px;background:var(--kit,#fff);}
.cb-broadcast[data-mode^="euro"] .cb-away::after {left:auto;right:0;}
.cb-broadcast[data-mode^="euro"] .cb-team i {left:10px;bottom:-15px;font-size:13px;}
.cb-broadcast[data-mode^="euro"] .cb-away i {left:auto;right:10px;}
.cb-broadcast[data-mode="euro2020"] .cb-scorebug {background:#008d99;box-shadow:0 3px 0 #d0db45;}
.cb-broadcast[data-mode="euro2020"] .cb-logo::before {background-image:url('./assets/ui/euro-2020-logo.webp');}
.cb-broadcast[data-mode="euro2020"] :is(.cb-home,.cb-away) .cb-score {height:100%;background:#78266b;color:#fff;border-radius:0;}
.cb-broadcast[data-mode="euro2024"] .cb-scorebug {background:#083be9;}
.cb-broadcast[data-mode="euro2024"] .cb-logo::before {background-image:url('./assets/ui/euro-2024-logo.webp');}
.cb-broadcast[data-mode="euro2024"] :is(.cb-code,.cb-score,time) {font-family:'UEFA Euro',Arial,sans-serif;font-weight:700;}
.cb-broadcast[data-mode="euro2024"] :is(.cb-home,.cb-away) .cb-score {height:100%;background:#fff;color:#0837ab;border-radius:0;}
.cb-broadcast[data-mode="euro2024"] .cb-home .cb-score::after {content:'';width:2px;height:23px;background:#0837ab;right:-1px;}
@media(max-width:600px){
 body #mainContent .cb-broadcast[data-mode^="euro"] {width:min(90%,330px);height:var(--cb-compact-height);}
 .cb-broadcast[data-mode^="euro"] .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast[data-mode^="euro"] .cb-penalties {position:absolute;top:100%;left:0;width:100%;margin-top:18px;}
body #mainContent .cb-broadcast[data-mode^="euro"]:has(.cb-penalties:not([hidden])) {margin-bottom:64px;}
}
/* Nations and English cups use the same selected shirts as the pitch and
   comparison bars. Scale the whole bar on phones rather than its columns. */
body #mainContent .cb-broadcast[data-mode="nations-current"] {width:424px;font-family:'UEFA Nations',Arial,sans-serif;font-weight:400;margin-bottom:40px;}
.cb-broadcast[data-mode="nations-current"] .cb-context {display:none;}
.cb-broadcast[data-mode="nations-current"] .cb-scorebug {display:grid;grid-template-columns:134px 134px 156px;height:41px;color:#202c32;}
.cb-broadcast[data-mode="nations-current"] .cb-scorebug::before {content:'';position:absolute;inset:0;background:#dfe3e0 url('./assets/ui/nations-league-scorebar-pattern.svg?v=20261002-2') left center/164px 41px repeat-x;clip-path:polygon(0 0,calc(100% - 20.5px) 0,100% 50%,calc(100% - 20.5px) 100%,0 100%);}
.cb-broadcast[data-mode="nations-current"] .cb-logo {display:none;}
.cb-broadcast[data-mode="nations-current"] time {position:relative;z-index:1;grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:flex-start;padding-left:11px;box-sizing:border-box;background:#202c32 url('./assets/ui/nations-league-scorebar-pattern.svg?v=20261002-2') left center/164px 41px repeat-x;color:#fff;font:700 32px/1 'UEFA Nations',Arial,sans-serif;font-variant-numeric:tabular-nums;}
.cb-broadcast[data-mode="nations-current"] time.has-added-time {font-size:22px;padding-left:7px;}
.cb-broadcast[data-mode="nations-current"] .cb-team {z-index:2;display:grid;align-items:center;grid-template-columns:98px 24px;padding-left:12px;box-sizing:border-box;}
.cb-broadcast[data-mode="nations-current"] .cb-team::before {content:'';position:absolute;top:0;left:-20.5px;width:41px;height:41px;background:var(--kit,#fff);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);}
.cb-broadcast[data-mode="nations-current"] .cb-home {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="nations-current"] .cb-away {grid-column:3;grid-row:1;grid-template-columns:32px 106px 18px;padding-left:0;}
.cb-broadcast[data-mode="nations-current"] .cb-away::before {left:auto;right:0;}
.cb-broadcast[data-mode="nations-current"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="nations-current"] .cb-away .cb-code {grid-column:2;grid-row:1;margin-right:15px;}
.cb-broadcast[data-mode="nations-current"] .cb-code {font:400 32px/1 'UEFA Nations',Arial,sans-serif;text-align:center;}
.cb-broadcast[data-mode="nations-current"] .cb-score {display:flex;align-items:center;justify-content:center;align-self:stretch;font:700 32px/1 'UEFA Nations',Arial,sans-serif;font-variant-numeric:tabular-nums;}
.cb-broadcast[data-mode="nations-current"] .cb-home .cb-score::after {content:'-';position:absolute;right:-5px;z-index:2;font-size:26px;}
.cb-broadcast[data-mode="nations-current"] .cb-badge {position:absolute;z-index:3;display:block;top:10.5px;left:-10px;width:20px;height:20px;border-radius:50%;background:linear-gradient(to bottom,color-mix(in srgb,var(--kit,#fff),white 45%) 50%,color-mix(in srgb,var(--kit,#fff),black 16%) 50%);}
.cb-broadcast[data-mode="nations-current"] .cb-away .cb-badge {left:auto;right:10.5px;}
.cb-broadcast[data-mode="nations-current"] .cb-badge :is(img,svg) {display:none;}
.cb-broadcast[data-mode="nations-current"] .cb-team i {left:10px;bottom:-16px;}
.cb-broadcast[data-mode="nations-current"] .cb-away i {left:auto;right:10px;}
.cb-broadcast[data-mode="nations-current"] .cb-aggregate {left:63.2%;font-family:'UEFA Nations',Arial,sans-serif;background:#202c32;}
body #mainContent .cb-broadcast[data-mode="fa-cup"] {width:370px;margin-bottom:38px;}
.cb-broadcast[data-mode="fa-cup"] .cb-scorebug {display:grid;grid-template-columns:50px 160px 160px;grid-template-rows:40px 24px;height:64px;}
.cb-broadcast[data-mode="fa-cup"] .cb-logo {position:relative;grid-column:1;grid-row:1;background:#ad0b27;}
.cb-broadcast[data-mode="fa-cup"] .cb-logo::before {content:'';position:absolute;inset:3px 13px;background:#fff;mask:url('./assets/fa-cup-2026-27/fa-cup-logo.png') center/contain no-repeat;}
.cb-broadcast[data-mode="fa-cup"] .cb-team {display:grid;align-items:center;grid-template-columns:120px 40px;background:var(--kit,#fff);color:var(--kit-ink,#111820);}
.cb-broadcast[data-mode="fa-cup"] .cb-home {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="fa-cup"] .cb-away {grid-column:3;grid-row:1;grid-template-columns:40px 120px;}
.cb-broadcast[data-mode="fa-cup"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="fa-cup"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="fa-cup"] :is(.cb-code,.cb-score) {font:700 25px/1 'Scoreboard Sans',Arial,sans-serif;text-align:center;}
.cb-broadcast[data-mode="fa-cup"] .cb-score {display:flex;align-items:center;justify-content:center;align-self:stretch;background:#fff;color:#111820;font-size:27px;}
.cb-broadcast[data-mode="fa-cup"] .cb-home .cb-score::after {content:'–';position:absolute;right:-5px;z-index:2;font-size:16px;}
.cb-broadcast[data-mode="fa-cup"] .cb-badge {display:none;}
.cb-broadcast[data-mode="fa-cup"] time {position:absolute;top:40px;left:170px;width:80px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff;color:#111820;font:700 19px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="fa-cup"] time.has-added-time {width:112px;left:154px;font-size:16px;}
.cb-broadcast[data-mode="fa-cup"] .cb-team i {bottom:-16px;left:8px;}
.cb-broadcast[data-mode="fa-cup"] .cb-away i {left:auto;right:8px;}
body #mainContent .cb-broadcast[data-mode="carabao-cup"] {width:390px;margin-bottom:40px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-scorebug {display:grid;grid-template-columns:44px 91px 127.5px 127.5px;height:40px;background:#fff;color:#142650;}
.cb-broadcast[data-mode="carabao-cup"] .cb-logo {grid-column:1;grid-row:1;background:#006b40 url('./assets/carabao-cup-2026-27/carabao-cup-logo.png') center/24px 34px no-repeat;}
.cb-broadcast[data-mode="carabao-cup"] time {grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;background:#102452;color:#fff;font:700 23px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="carabao-cup"] time.has-added-time {font-size:16px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-team {display:grid;align-items:center;grid-template-columns:83.5px 44px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-home {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode="carabao-cup"] .cb-away {grid-column:4;grid-row:1;grid-template-columns:44px 83.5px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="carabao-cup"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="carabao-cup"] :is(.cb-code,.cb-score) {font:700 25px/1 'Scoreboard Sans',Arial,sans-serif;text-align:center;}
.cb-broadcast[data-mode="carabao-cup"] .cb-score {display:flex;align-items:center;justify-content:center;align-self:stretch;background:#ecedf0;color:#111820;font-size:27px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-home .cb-score::after {content:'–';position:absolute;right:-5px;z-index:2;font-size:16px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-code::after {content:'';position:absolute;bottom:0;left:0;width:83.5px;height:4px;background:var(--kit,#fff);}
.cb-broadcast[data-mode="carabao-cup"] .cb-away .cb-code::after {left:44px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-badge {display:none;}
.cb-broadcast[data-mode="carabao-cup"] .cb-team i {bottom:-16px;left:8px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-away i {left:auto;right:8px;}
.cb-broadcast[data-mode="carabao-cup"] .cb-aggregate {left:67.2%;background:#102452;font-family:'Scoreboard Sans',Arial,sans-serif;}
/* Copa 2024 and AFCON Morocco 2025 international-feed scorebars. Their clocks
   sit below the score strip; the complete geometry scales together on phones. */
body #mainContent .cb-broadcast[data-mode="copa2024"] {width:364px;margin-bottom:40px;font-family:'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="copa2024"] .cb-scorebug {display:grid;grid-template-columns:158px 48px 158px;grid-template-rows:44px 32px;height:76px;}
.cb-broadcast[data-mode="copa2024"] .cb-scorebug::before {content:'';position:absolute;inset:0 0 32px;background:linear-gradient(115deg,#063583,#042764 60%,#073989);}
.cb-broadcast[data-mode="copa2024"] .cb-logo {position:relative;grid-column:2;grid-row:1;z-index:2;background:url('./assets/ui/copa-america-2024-logo.webp') center/48px 48px no-repeat;overflow:visible;}
.cb-broadcast[data-mode="copa2024"] .cb-team {display:grid;grid-template-columns:105px 46px;align-items:center;text-align:center;box-sizing:border-box;}
.cb-broadcast[data-mode="copa2024"] .cb-home {grid-column:1;grid-row:1;border-left:7px solid var(--kit,#fff);}
.cb-broadcast[data-mode="copa2024"] .cb-away {grid-column:3;grid-row:1;grid-template-columns:46px 105px;border-right:7px solid var(--kit,#fff);}
.cb-broadcast[data-mode="copa2024"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="copa2024"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="copa2024"] .cb-badge {display:none;}
.cb-broadcast[data-mode="copa2024"] .cb-code {font:700 32px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="copa2024"] .cb-score {display:flex;align-items:center;justify-content:center;background:#fff;color:#082a6b;height:34px;border-radius:5px;font:700 34px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="copa2024"] time {position:absolute;top:44px;left:99px;width:166px;height:32px;display:flex;align-items:center;justify-content:center;background:#fff;color:#072a69;font:700 30px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="copa2024"] time.has-added-time {font-size:25px;}
.cb-broadcast[data-mode="copa2024"] .cb-team i {left:12px;bottom:-18px;}
.cb-broadcast[data-mode="copa2024"] .cb-away i {left:auto;right:12px;}
body #mainContent .cb-broadcast[data-mode="afcon2025"] {width:470px;margin-bottom:40px;font-family:'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="afcon2025"] .cb-scorebug {display:grid;grid-template-columns:220px 30px 220px;grid-template-rows:44px 26px;height:70px;}
.cb-broadcast[data-mode="afcon2025"] .cb-scorebug::before {content:'';position:absolute;inset:0 0 26px;background:linear-gradient(100deg,#9b0311,#c6001b 35%,#b50017 75%,#9b0311);clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,22px 100%,0 50%);}
.cb-broadcast[data-mode="afcon2025"] .cb-logo {position:relative;grid-column:2;grid-row:1;background:url('./assets/ui/afcon-scorebar-trophy.svg') center/20px 39px no-repeat;z-index:2;}
.cb-broadcast[data-mode="afcon2025"] .cb-team {display:grid;grid-template-columns:88px 92px 40px;align-items:center;text-align:center;}
.cb-broadcast[data-mode="afcon2025"] .cb-home {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="afcon2025"] .cb-away {grid-column:3;grid-row:1;grid-template-columns:40px 92px 88px;}
.cb-broadcast[data-mode="afcon2025"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="afcon2025"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="afcon2025"] .cb-away .cb-badge {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode="afcon2025"] .cb-badge {width:88px;height:44px;clip-path:polygon(20px 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,20px 100%,0 50%);background:#fff;}
.cb-broadcast[data-mode="afcon2025"] .cb-badge :is(img,svg) {object-fit:cover;display:block;}
.cb-broadcast[data-mode="afcon2025"] .cb-badge > .country-flag {width:100%!important;height:100%!important;min-width:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;}
.cb-broadcast[data-mode="afcon2025"] .cb-badge .country-flag .flag-fallback {display:none;}
.cb-broadcast[data-mode="afcon2025"] .cb-code {font:700 29px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="afcon2025"] .cb-score {height:38px;display:flex;align-items:center;justify-content:center;background:#fff;color:#8d0412;font:700 36px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="afcon2025"] time {position:absolute;top:44px;left:179px;width:112px;height:26px;display:flex;align-items:center;justify-content:center;background:#bc051b;color:#fff;font:700 24px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="afcon2025"] time.has-added-time {font-size:19px;}
.cb-broadcast[data-mode="afcon2025"] .cb-team i {bottom:-18px;left:98px;}
.cb-broadcast[data-mode="afcon2025"] .cb-away i {left:auto;right:98px;}
@media(max-width:600px){
 body #mainContent .cb-broadcast:is([data-mode="copa2024"],[data-mode="afcon2025"]) {width:min(90%,330px);height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="copa2024"],[data-mode="afcon2025"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast:is([data-mode="copa2024"],[data-mode="afcon2025"]) .cb-penalties {position:absolute;top:100%;left:0;width:100%;margin-top:18px;}
 body #mainContent .cb-broadcast:is([data-mode="copa2024"],[data-mode="afcon2025"]):has(.cb-penalties:not([hidden])) {margin-bottom:72px;}
}
@media(max-width:600px){
 body #mainContent .cb-broadcast:is([data-mode="nations-current"],[data-mode="fa-cup"],[data-mode="carabao-cup"]) {width:min(90%,330px);height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="nations-current"],[data-mode="fa-cup"],[data-mode="carabao-cup"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast:is([data-mode="nations-current"],[data-mode="fa-cup"],[data-mode="carabao-cup"]) .cb-penalties {position:absolute;top:100%;left:0;width:100%;margin-top:22px;}
 body #mainContent .cb-broadcast:is([data-mode="nations-current"],[data-mode="fa-cup"],[data-mode="carabao-cup"]):has(.cb-penalties:not([hidden])) {margin-bottom:70px;}
 .cb-broadcast[data-mode="nations-current"] .cb-scorebug {position:absolute;top:0;height:41px;}
}

/* Domestic broadcast packages, 2026/27. Each bar scales uniformly on phones. */
/* MLS: current FOX horizontal score bar; selected shirts colour the panels. */
body #mainContent .cb-broadcast[data-mode="major-league-soccer"] {width:510px;height:48px;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-scorebug {display:grid;grid-template-columns:201px 201px 108px;height:48px;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-logo {display:none;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-team {display:grid;grid-template-columns:47px 107px 47px;align-items:center;text-align:center;background:var(--kit);color:var(--kit-ink);}
.cb-broadcast[data-mode="major-league-soccer"] .cb-away {grid-template-columns:47px 107px 47px;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-away .cb-badge {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-badge {width:39px;height:40px;justify-self:center;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-code {font:700 29px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-score {height:48px;display:flex;align-items:center;justify-content:center;background:#f1f1ef;color:#181b20;font:700 33px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-scorebug::after {content:'–';position:absolute;left:194px;top:9px;color:#181b20;font:700 29px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="major-league-soccer"] time {display:flex;align-items:center;justify-content:center;background:#171b20;color:#fff;font:700 27px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="major-league-soccer"] time.has-added-time {font-size:20px;}
.cb-broadcast[data-mode="major-league-soccer"] .cb-team i {bottom:-15px;left:68px;}
/* Serie BKT: green club panels, cream score/clock and the dribbling mark. */
body #mainContent .cb-broadcast[data-mode="serie-b"] {width:470px;height:58px;}
.cb-broadcast[data-mode="serie-b"] .cb-scorebug {display:grid;grid-template-columns:154px 60px 145px 111px;grid-template-rows:44px;padding-top:7px;height:58px;box-sizing:border-box;}
.cb-broadcast[data-mode="serie-b"] .cb-team {display:grid;grid-template-columns:109px 39px;align-items:center;text-align:center;background:#38722c;border-left:6px solid var(--kit);box-sizing:border-box;}
.cb-broadcast[data-mode="serie-b"] .cb-home {grid-column:1;grid-row:1;border-radius:5px 0 0 5px;}
.cb-broadcast[data-mode="serie-b"] .cb-away {grid-column:3;grid-row:1;grid-template-columns:30px 109px;border-left:0;border-right:6px solid var(--kit);}
.cb-broadcast[data-mode="serie-b"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="serie-b"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="serie-b"] .cb-logo {grid-column:2;grid-row:1;background:#f5f6ed;position:relative;z-index:2;}
.cb-broadcast[data-mode="serie-b"] .cb-logo::after {content:'';position:absolute;inset:-7px 0;background:url('./assets/ui/serie-b-scorebar-mark.svg') center/60px 58px no-repeat;}
.cb-broadcast[data-mode="serie-b"] .cb-badge {display:none;}
.cb-broadcast[data-mode="serie-b"] .cb-code {font:800 28px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="serie-b"] .cb-score {height:44px;display:flex;align-items:center;justify-content:center;background:#f5f6ed;color:#22653f;font:800 33px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="serie-b"] time {grid-column:4;grid-row:1;display:flex;align-items:center;justify-content:center;background:#f5f6ed;color:#22653f;border-radius:0 5px 5px 0;font:800 28px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="serie-b"] time.has-added-time {font-size:20px;}
.cb-broadcast[data-mode="serie-b"] .cb-team i {bottom:-15px;left:34px;}
/* Ligue 2 BKT: mint 2 mark, stacked charcoal rows and white clock tab. */
body #mainContent .cb-broadcast[data-mode="ligue-2"] {width:240px;height:118px;}
.cb-broadcast[data-mode="ligue-2"] .cb-scorebug {display:grid;grid-template-columns:66px 174px;grid-template-rows:44px 44px 30px;height:118px;}
.cb-broadcast[data-mode="ligue-2"] .cb-logo {grid-column:1;grid-row:1/3;position:relative;background:#03e5b6;}
.cb-broadcast[data-mode="ligue-2"] .cb-logo::after {content:'';position:absolute;top:10px;left:12px;width:42px;height:68px;background:#171b20;mask:url('./assets/ligue-2-2026-27/ligue-2-logo-white.png') 50% 0/84px auto no-repeat;}
.cb-broadcast[data-mode="ligue-2"] .cb-team {display:grid;grid-template-columns:136px 33px;align-items:center;text-align:center;background:#171b20;border-right:5px solid var(--kit);box-sizing:border-box;}
.cb-broadcast[data-mode="ligue-2"] .cb-home {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="ligue-2"] .cb-away {grid-column:2;grid-row:2;}
.cb-broadcast[data-mode="ligue-2"] .cb-away::before {content:'';position:absolute;top:0;left:10px;width:153px;height:1px;background:#53585b;}
.cb-broadcast[data-mode="ligue-2"] .cb-badge {display:none;}
.cb-broadcast[data-mode="ligue-2"] .cb-code {font:800 25px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="ligue-2"] .cb-score {font:800 30px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="ligue-2"] time {grid-column:1;grid-row:3;display:flex;align-items:center;justify-content:center;width:94px;background:#fff;color:#171b20;font:800 22px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="ligue-2"] time.has-added-time {font-size:16px;}
.cb-broadcast[data-mode="ligue-2"] .cb-team i {bottom:1px;left:9px;font-size:7px;}
@media(max-width:600px){
 body #mainContent .cb-broadcast:is([data-mode="major-league-soccer"],[data-mode="serie-b"],[data-mode="ligue-2"]) {width:min(90%,330px,var(--cb-native-width));height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="major-league-soccer"],[data-mode="serie-b"],[data-mode="ligue-2"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
}
body #mainContent .cb-broadcast[data-mode="liga-portugal"] {width:240px;height:122px;}
.cb-broadcast[data-mode="liga-portugal"] .cb-scorebug {display:grid;grid-template-columns:92px 148px;grid-template-rows:46px 46px 30px;height:122px;}
.cb-broadcast[data-mode="liga-portugal"] .cb-logo {grid-row:1/3;background:#fff url('./assets/ui/liga-portugal-scorebar.svg') center/77px 83px no-repeat;position:relative;}
.cb-broadcast[data-mode="liga-portugal"] .cb-logo::after {content:'Betclic';position:absolute;top:100%;left:0;width:92px;height:30px;display:flex;align-items:center;justify-content:center;background:#ea3a2e;color:#fff;font:bold italic 21px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="liga-portugal"] .cb-team {display:grid;grid-template-columns:97px 42px;align-items:center;text-align:center;background:#052740;border-right:9px solid var(--kit);box-sizing:border-box;}
.cb-broadcast[data-mode="liga-portugal"] .cb-home {grid-column:2;grid-row:1;border-radius:0 8px 0 0;}
.cb-broadcast[data-mode="liga-portugal"] .cb-away {grid-column:2;grid-row:2;border-radius:0 0 8px 0;}
.cb-broadcast[data-mode="liga-portugal"] .cb-away::before {content:'';position:absolute;top:0;left:7px;width:90px;height:1px;background:#c7d3dd;}
.cb-broadcast[data-mode="liga-portugal"] .cb-badge {display:none;}
.cb-broadcast[data-mode="liga-portugal"] .cb-code {font:800 27px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="liga-portugal"] .cb-score {height:46px;display:flex;align-items:center;justify-content:center;background:#fff;color:#052740;font:800 30px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="liga-portugal"] time {grid-row:3;grid-column:2;justify-self:start;display:flex;align-items:center;justify-content:center;width:94px;height:30px;background:#fff;color:#052740;font:800 23px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="liga-portugal"] time.has-added-time {font-size:16px;}
.cb-broadcast[data-mode="liga-portugal"] .cb-team i {left:3px;bottom:2px;font-size:8px;}

body #mainContent .cb-broadcast[data-mode="eredivisie"] {width:460px;height:42px;font-family:'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="eredivisie"] .cb-scorebug {display:grid;grid-template-columns:168px 168px 124px;grid-template-rows:42px;height:42px;}
.cb-broadcast[data-mode="eredivisie"] .cb-logo,.cb-broadcast[data-mode="eredivisie"] .cb-badge {display:none;}
.cb-broadcast[data-mode="eredivisie"] .cb-team {display:grid;grid-template-columns:120px 48px;align-items:center;text-align:center;background:var(--kit);color:var(--kit-ink);}
.cb-broadcast[data-mode="eredivisie"] .cb-away {grid-template-columns:48px 120px;}
.cb-broadcast[data-mode="eredivisie"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="eredivisie"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="eredivisie"] .cb-code {font:700 30px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="eredivisie"] .cb-score {display:flex;align-items:center;justify-content:center;height:42px;background:#e8e8e6;color:#151a22;font:700 32px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="eredivisie"] time {display:flex;align-items:center;justify-content:center;background:#fff;color:#171b20;clip-path:polygon(0 0,100% 0,calc(100% - 9px) 100%,0 100%);font:700 29px/1 'Continental Scorebar',Arial,sans-serif;}
.cb-broadcast[data-mode="eredivisie"] time.has-added-time {font-size:24px;}
.cb-broadcast[data-mode="eredivisie"] .cb-team i {left:6px;bottom:-15px;}
.cb-broadcast[data-mode="eredivisie"] .cb-away i {left:auto;right:6px;}

body #mainContent .cb-broadcast[data-mode="saudi-pro-league"] {width:480px;height:86px;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-scorebug {display:grid;grid-template-columns:216px 48px 216px;grid-template-rows:55px 31px;height:86px;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-logo {position:relative;grid-column:2;grid-row:1;background:linear-gradient(to bottom,transparent 13px,#052d45 13px);z-index:2;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-team {display:grid;grid-template-columns:36px 106px 74px;align-items:center;text-align:center;color:var(--kit-ink);background:linear-gradient(to bottom,transparent 13px,var(--kit) 13px);}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-home {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-away {grid-column:3;grid-row:1;grid-template-columns:74px 106px 36px;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-away .cb-code {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-away .cb-badge {grid-column:3;grid-row:1;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-badge {width:27px;height:28px;justify-self:center;align-self:end;margin-bottom:7px;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-code {align-self:end;margin-bottom:7px;color:var(--kit-accent,var(--kit-ink));font:italic 800 29px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-score {display:flex;align-items:center;justify-content:center;height:55px;background:linear-gradient(to bottom,transparent 13px,#052d45 13px);color:#fff;font:800 49px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-logo::after {content:'';position:absolute;top:5px;left:0;width:48px;height:48px;border-radius:50%;background:#fff url('./assets/saudi-pro-league-2026-27/saudi-pro-league-logo.png') center/40px 40px no-repeat;}
.cb-broadcast[data-mode="saudi-pro-league"] time {position:absolute;top:55px;left:176px;width:128px;height:31px;display:flex;align-items:center;justify-content:center;background:#052d45;color:#fff;border-radius:0 0 2px 2px;font:800 26px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="saudi-pro-league"] time.has-added-time {font-size:20px;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-team i {bottom:-15px;left:7px;}
.cb-broadcast[data-mode="saudi-pro-league"] .cb-away i {left:auto;right:7px;}
/* DFL club panels retain their club colour; the strip shows the selected shirt. */
body #mainContent .cb-broadcast[data-mode="bundesliga-2"] {width:288px;height:112px;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-scorebug {display:grid;grid-template-columns:repeat(3,96px);grid-template-rows:30px 82px;height:112px;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-logo {grid-column:1;grid-row:2;background:#f2f2f2 url('./assets/ui/bundesliga-2-scoreboard-mark.svg') center/100% 100% no-repeat;}
.cb-broadcast[data-mode="bundesliga-2"] time {grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;background:#171717;color:#fff;font:700 22px/1 'Bundesliga Score Text',Arial,sans-serif;letter-spacing:-.5px;}
.cb-broadcast[data-mode="bundesliga-2"] time.has-added-time {font-size:17px;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-team {grid-row:1/3;display:flex;flex-direction:column;align-items:center;padding:7px 5px 9px;box-sizing:border-box;background:var(--club-colour);color:var(--club-ink);border-bottom:4px solid var(--kit);}
.cb-broadcast[data-mode="bundesliga-2"] .cb-home {grid-column:2;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-away {grid-column:3;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-badge {display:none;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-code {font:700 21px/1 'Bundesliga Score Text',Arial,sans-serif;letter-spacing:.2px;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-score {font:900 64px/.98 'Bundesliga Score Display',Arial,sans-serif;margin-top:5px;letter-spacing:-1px;}
.cb-broadcast[data-mode="bundesliga-2"] .cb-team i {bottom:3px;left:5px;font-size:9px;}
/* Belgian international feed: stacked black panels and a white clock tab. */
body #mainContent .cb-broadcast[data-mode="belgian-pro-league"] {width:240px;height:118px;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-scorebug {display:grid;grid-template-columns:88px 152px;grid-template-rows:44px 44px 30px;height:118px;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-logo {grid-column:1;grid-row:1/3;position:relative;background:#111;border-right:1px solid #555;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-logo::after {content:'';position:absolute;inset:7px 12px;background:#fff;mask:url('./assets/belgian-pro-league-2026-27/pro-league-logo.png') center/contain no-repeat;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-team {display:grid;grid-template-columns:110px 37px;align-items:center;text-align:center;background:#111;border-right:5px solid var(--kit);box-sizing:border-box;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-home {grid-column:2;grid-row:1;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-away {grid-column:2;grid-row:2;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-away::before {content:'';position:absolute;top:0;left:9px;width:132px;height:1px;background:#555;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-badge {display:none;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-code {font:800 24px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-score {font:800 29px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="belgian-pro-league"] time {grid-column:1;grid-row:3;display:flex;align-items:center;justify-content:center;background:#fff;color:#111;font:800 22px/1 'Scoreboard Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="belgian-pro-league"] time.has-added-time {font-size:15px;}
.cb-broadcast[data-mode="belgian-pro-league"] .cb-team i {bottom:1px;left:9px;font-size:7px;}
@media(max-width:600px){
 body #mainContent .cb-broadcast:is([data-mode="liga-portugal"],[data-mode="eredivisie"],[data-mode="saudi-pro-league"],[data-mode="bundesliga-2"],[data-mode="belgian-pro-league"]) {width:min(90%,330px,var(--cb-native-width));height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="liga-portugal"],[data-mode="eredivisie"],[data-mode="saudi-pro-league"],[data-mode="bundesliga-2"],[data-mode="belgian-pro-league"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
}
/* WSL international feed: kit-coloured club tabs and a charcoal score panel. */
body #mainContent .cb-broadcast[data-mode="womens-super-league"] {width:360px;height:82px;}
.cb-broadcast[data-mode="womens-super-league"] .cb-scorebug {height:82px;}
.cb-broadcast[data-mode="womens-super-league"] :is(.cb-logo,.cb-badge) {display:none;}
.cb-broadcast[data-mode="womens-super-league"] .cb-team {position:absolute;top:0;height:44px;width:180px;display:grid;grid-template-columns:120px 60px;align-items:center;text-align:center;}
.cb-broadcast[data-mode="womens-super-league"] .cb-home {left:0;}.cb-broadcast[data-mode="womens-super-league"] .cb-away {right:0;grid-template-columns:60px 120px;}
.cb-broadcast[data-mode="womens-super-league"] .cb-away .cb-code {grid-column:2;grid-row:1;}.cb-broadcast[data-mode="womens-super-league"] .cb-away .cb-score {grid-column:1;grid-row:1;}
.cb-broadcast[data-mode="womens-super-league"] .cb-code {height:44px;display:flex;align-items:center;justify-content:center;background:var(--kit);color:var(--kit-ink);font:700 30px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="womens-super-league"] .cb-score {height:44px;display:flex;align-items:center;justify-content:center;background:#252525;color:#fff;font:700 33px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="womens-super-league"] .cb-scorebug::after {content:'';position:absolute;top:8px;left:179px;width:2px;height:28px;background:#fff;}
.cb-broadcast[data-mode="womens-super-league"] time {position:absolute;top:44px;left:120px;width:120px;height:38px;display:flex;align-items:center;justify-content:center;background:#fff;color:#171717;font:700 25px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="womens-super-league"] time.has-added-time {font-size:18px;}
.cb-broadcast[data-mode="womens-super-league"] .cb-team i {left:12px;bottom:-14px;}.cb-broadcast[data-mode="womens-super-league"] .cb-away i {left:auto;right:12px;}
/* beIN Süper Lig: red clock/score, slanted dark club panels and shirt ticks. */
body #mainContent .cb-broadcast[data-mode="super-lig"] {width:440px;height:44px;}
.cb-broadcast[data-mode="super-lig"] .cb-scorebug {height:44px;}
.cb-broadcast[data-mode="super-lig"] :is(.cb-logo,.cb-badge) {display:none;}
.cb-broadcast[data-mode="super-lig"] time {position:absolute;top:0;left:0;width:110px;height:44px;display:flex;align-items:center;justify-content:center;background:#ca1932;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);color:#fff;font:700 25px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="super-lig"] time.has-added-time {font-size:18px;}
.cb-broadcast[data-mode="super-lig"] .cb-team {position:absolute;top:0;display:flex;align-items:center;height:44px;}
.cb-broadcast[data-mode="super-lig"] .cb-home {left:110px;width:165px;}.cb-broadcast[data-mode="super-lig"] .cb-away {left:275px;width:165px;flex-direction:row-reverse;}
.cb-broadcast[data-mode="super-lig"] .cb-code {position:relative;width:90px;height:44px;display:flex;align-items:center;justify-content:center;background:#1c2726;color:#fff;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);font:700 27px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="super-lig"] .cb-code::after {content:'';position:absolute;bottom:0;left:10px;right:10px;height:3px;background:var(--kit);}
.cb-broadcast[data-mode="super-lig"] .cb-score {width:75px;height:44px;display:flex;align-items:center;justify-content:center;background:#ca1932;color:#fff;font:700 31px/1 Arial,sans-serif;}
.cb-broadcast[data-mode="super-lig"] .cb-home .cb-score {clip-path:polygon(10px 0,100% 0,100% 100%,0 100%);}.cb-broadcast[data-mode="super-lig"] .cb-away .cb-score {clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);}
.cb-broadcast[data-mode="super-lig"] .cb-scorebug::after {content:'';position:absolute;top:9px;left:274px;width:1px;height:26px;background:#ffffff70;}
.cb-broadcast[data-mode="super-lig"] .cb-team i {left:20px;bottom:-14px;}.cb-broadcast[data-mode="super-lig"] .cb-away i {left:auto;right:20px;}
/* LALIGA HYPERMOTION international feed: stacked teal rows, LL mark/clock. */
body #mainContent .cb-broadcast[data-mode="la-liga-2"] {width:232px;height:96px;}
.cb-broadcast[data-mode="la-liga-2"] .cb-scorebug {display:grid;grid-template-columns:82px 150px;grid-template-rows:48px 48px;height:96px;}
.cb-broadcast[data-mode="la-liga-2"] .cb-logo {grid-column:1;grid-row:1;background:#111;position:relative;}
.cb-broadcast[data-mode="la-liga-2"] .cb-logo::after {content:'';position:absolute;top:8px;left:20px;width:42px;height:30px;background:url('./assets/la-liga-2026-27/laliga-logo.png') center top/42px auto no-repeat;filter:brightness(0) invert(1);}
.cb-broadcast[data-mode="la-liga-2"] .cb-team {grid-column:2;display:grid;grid-template-columns:108px 42px;align-items:center;text-align:center;background:#00cfc4;color:#111;}
.cb-broadcast[data-mode="la-liga-2"] .cb-home {grid-row:1;}.cb-broadcast[data-mode="la-liga-2"] .cb-away {grid-row:2;border-top:1px solid #1113;box-sizing:border-box;}
.cb-broadcast[data-mode="la-liga-2"] .cb-badge {display:none;}
.cb-broadcast[data-mode="la-liga-2"] .cb-code {height:48px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -3px var(--kit);font:700 32px/1 'Hypermotion Headline',Arial,sans-serif;}
.cb-broadcast[data-mode="la-liga-2"] .cb-score {height:48px;display:flex;align-items:center;justify-content:center;background:#fff;font:700 35px/1 'Hypermotion Headline',Arial,sans-serif;}
.cb-broadcast[data-mode="la-liga-2"] time {grid-column:1;grid-row:2;display:flex;align-items:center;justify-content:center;background:#fff;color:#111;font:700 19px/1 'Hypermotion Text',Arial,sans-serif;}
.cb-broadcast[data-mode="la-liga-2"] time.has-added-time {font-size:13px;}
.cb-broadcast[data-mode="la-liga-2"] .cb-team i {bottom:5px;left:8px;font-size:7px;color:#de1932;}
body #mainContent .cb-broadcast:is([data-mode="womens-super-league"],[data-mode="super-lig"]) :is(.cb-code,.cb-score) {color:#fff;}
body #mainContent .cb-broadcast[data-mode="womens-super-league"] .cb-code {color:var(--kit-ink);}
body #mainContent .cb-broadcast[data-mode="la-liga-2"] :is(.cb-code,.cb-score) {color:#111;}
@media(max-width:600px){
 body #mainContent .cb-broadcast:is([data-mode="womens-super-league"],[data-mode="super-lig"],[data-mode="la-liga-2"]) {width:min(86%,300px,var(--cb-native-width));height:var(--cb-compact-height);}
 .cb-broadcast:is([data-mode="womens-super-league"],[data-mode="super-lig"],[data-mode="la-liga-2"]) .cb-scorebug {width:var(--cb-native-width);height:var(--cb-native-height);transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
 .cb-broadcast:is([data-mode="womens-super-league"],[data-mode="super-lig"],[data-mode="la-liga-2"]) .cb-penalties {position:absolute;top:100%;left:0;width:100%;}
}

/* Chile 1962: original newsreel-style lettering and a monochrome score strip.
   This is an era-inspired design, not a reconstruction of a verified TV feed. */
body #mainContent .cb-broadcast[data-mode="wc1962"] {width:420px;height:64px;color:#f3eedc;font-family:'Times New Roman',Times,serif;}
.cb-broadcast[data-mode="wc1962"] .cb-scorebug {height:52px;background:linear-gradient(#252924,#181b19);border:1px solid #b6b3a7;box-sizing:border-box;filter:drop-shadow(0 2px 3px #0003);}
.cb-broadcast[data-mode="wc1962"] :is(.cb-context,.cb-logo,.cb-badge) {display:none;}
.cb-broadcast[data-mode="wc1962"] .cb-team {position:absolute;top:0;height:50px;display:flex;align-items:center;text-align:center;}
.cb-broadcast[data-mode="wc1962"] .cb-home {left:0;width:152px;}
.cb-broadcast[data-mode="wc1962"] .cb-away {left:164px;width:152px;flex-direction:row-reverse;}
body #mainContent .cb-broadcast[data-mode="wc1962"] .cb-code {width:104px;color:#f3eedc;font:700 26px/1 'Times New Roman',Times,serif;letter-spacing:1px;}
body #mainContent .cb-broadcast[data-mode="wc1962"] .cb-score {width:48px;color:#f3eedc;font:700 32px/1 'Times New Roman',Times,serif;font-variant-numeric:tabular-nums;}
body.retro-1962-active #mainContent .cb-broadcast[data-mode="wc1962"] :is(.cb-code,.cb-score) {color:#f3eedc!important;font-family:'Times New Roman',Times,serif!important;}
.cb-broadcast[data-mode="wc1962"] .cb-home::after {content:'–';position:absolute;left:152px;width:12px;color:#f3eedc;font:700 22px/1 'Times New Roman',Times,serif;}
.cb-broadcast[data-mode="wc1962"] time {position:absolute;top:0;left:316px;width:102px;height:50px;display:flex;align-items:center;justify-content:center;background:#f3eedc;color:#181b19;font:700 24px/1 'Courier New',Courier,monospace;}
.cb-broadcast[data-mode="wc1962"] time.has-added-time {font-size:17px;}
.cb-broadcast[data-mode="wc1962"] .cb-team i {left:28px;bottom:-12px;color:#f3eedc;font-size:8px;}
.cb-broadcast[data-mode="wc1962"] .cb-away i {left:auto;right:28px;}
.cb-broadcast[data-mode="wc1962"] .cb-penalties {color:#f3eedc;font-family:'Courier New',Courier,monospace;}
/* The newsreel mode uses the legacy playback controls. Keep those usable
   while replacing only its old team/score/clock presentation. */
body.competition-broadcast-active[data-broadcast-competition="wc1962"]:not(.shared-live-match-layout-active) #mainContent #matchStage #matchup {display:flex!important;min-height:0!important;padding:0!important;margin:0!important;background:none!important;border:0!important;box-shadow:none!important;}
body.competition-broadcast-active[data-broadcast-competition="wc1962"]:not(.shared-live-match-layout-active) #mainContent #matchStage #matchup > .team,
body.competition-broadcast-active[data-broadcast-competition="wc1962"]:not(.shared-live-match-layout-active) #mainContent #matchStage #matchup .score-zone > :not(#eventControls) {display:none!important;}
body.competition-broadcast-active[data-broadcast-competition="wc1962"]:not(.shared-live-match-layout-active) #mainContent #matchStage #matchup .score-zone {position:relative!important;min-height:0!important;padding:0!important;}
body.competition-broadcast-active[data-broadcast-competition="wc1962"]:not(.shared-live-match-layout-active) #mainContent #matchStage #eventControls:not([hidden]) {position:static!important;inset:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 12px!important;}
@media(max-width:600px){
 body #mainContent .cb-broadcast[data-mode="wc1962"] {width:min(86%,360px);height:var(--cb-compact-height);}
 .cb-broadcast[data-mode="wc1962"] .cb-scorebug {width:var(--cb-native-width);height:52px;transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
}

/* AFC Elite world feed: purple club strips, gold scores and a central trophy.
   See docs/afc-elite-broadcast-2026-10-04.md for the supplier's reference. */
@font-face {font-family:'AFC Clubs LC';src:url('./assets/fonts/AFCClubs-LC-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap;}
@font-face {font-family:'AFC Clubs LC';src:url('./assets/fonts/AFCClubs-LC-Italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap;}
body #mainContent .cb-broadcast[data-mode="afc-elite"] {width:480px;height:var(--cb-compact-height,60px);margin:20px auto 28px;color:#fff;}
.cb-broadcast[data-mode="afc-elite"] .cb-scorebug {width:480px;height:60px;transform:scale(var(--cb-compact-scale,1));transform-origin:top left;}
.cb-broadcast[data-mode="afc-elite"] .cb-team {position:absolute;top:24px;display:grid;grid-template-columns:192px 32px;width:224px;height:36px;background:linear-gradient(100deg,#3e1b54,#230331);}
.cb-broadcast[data-mode="afc-elite"] .cb-home {left:0;}
.cb-broadcast[data-mode="afc-elite"] .cb-away {left:256px;grid-template-columns:32px 192px;background:linear-gradient(100deg,#230331,#3e1b54);}
.cb-broadcast[data-mode="afc-elite"] .cb-badge {display:none;}
.cb-broadcast[data-mode="afc-elite"] .cb-code {display:flex;align-items:center;justify-content:center;min-width:0;padding:0 7px;box-sizing:border-box;color:#fff;font:italic 400 24px/1 'AFC Clubs LC','AFC Score Sans',Arial,sans-serif;font-synthesis:none;letter-spacing:0;}
.cb-broadcast[data-mode="afc-elite"] .cb-home .cb-code {border-right:8px solid var(--kit,#fff);}
.cb-broadcast[data-mode="afc-elite"] .cb-away .cb-code {grid-area:1 / 2;border-left:8px solid var(--kit,#fff);}
.cb-broadcast[data-mode="afc-elite"] .cb-score {display:flex;align-items:center;justify-content:center;height:36px;background:#eee4c7;color:#2e0d42;font:400 29px/1 'AFC Clubs LC','AFC Score Sans',Arial,sans-serif;font-synthesis:none;}
.cb-broadcast[data-mode="afc-elite"] .cb-away .cb-score {grid-area:1 / 1;}
.cb-broadcast[data-mode="afc-elite"] .cb-logo {position:absolute;left:224px;top:24px;width:32px;height:36px;background:#2e0d42;}
.cb-broadcast[data-mode="afc-elite"] .cb-logo::before {content:'';position:absolute;left:4px;top:4px;width:24px;height:28px;background:#eee4c7;mask:url('./assets/ui/afc-champions-league-elite-icon.png') center top/24px auto no-repeat;}
.cb-broadcast[data-mode="afc-elite"] time {position:absolute;left:192px;top:0;display:flex;align-items:center;justify-content:center;width:96px;height:24px;background:#eee4c7;color:#2e0d42;font:700 19px/1 'AFC Score Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="afc-elite"] time.has-added-time {font-size:15px;}
.cb-broadcast[data-mode="afc-elite"] .cb-aggregate {top:60px;left:240px;box-sizing:border-box;min-width:96px;text-align:center;background:#2e0d42;color:#eee4c7;font:700 16px/1.2 'AFC Score Sans',Arial,sans-serif;}
.cb-broadcast[data-mode="afc-elite"] .cb-team i {bottom:-14px;left:8px;}
.cb-broadcast[data-mode="afc-elite"] .cb-away i {left:auto;right:8px;}
.cb-broadcast[data-mode="afc-elite"] .cb-penalties {position:absolute;top:calc(100% + 26px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 10px;background:#2e0d42;color:#eee4c7;font:700 14px/1.2 'AFC Score Sans',Arial,sans-serif;}
body #mainContent .cb-broadcast[data-mode="afc-elite"].has-aggregate {margin-bottom:48px;}
body #mainContent .cb-broadcast[data-mode="afc-elite"]:has(.cb-penalties:not([hidden])) {margin-bottom:66px;}
@media(max-width:600px){body #mainContent .cb-broadcast[data-mode="afc-elite"] {width:min(96%,480px);}}
