/* A legible, self-contained 16:9 scoreboard, independent of the app's light mode. */
/* The ticker gets its own measured row. The stage uses the remaining height,
   so a 16:9 television never needs to scroll and phones show a letterbox. */
.bc-tv-screen.bc-primary-tv{height:100dvh;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:#030d16}
.bc-tv-screen.bc-primary-tv>.bc-tv-content{container-type:size;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;min-width:0;flex:none;padding:0;overflow:hidden}
.bc-tv-screen.bc-primary-tv>.bc-tv-content>.bc-main-tv{width:min(100%,177.777777cqh);max-width:100%;flex:none;margin:0;align-self:center}
.bc-tv-screen.bc-primary-tv>.bc-tv-bottom{min-width:0;max-width:100%;margin:0}
.bc-tv-screen.bc-primary-tv>.bc-tv-bottom:empty{display:none}
.bc-tv-screen.bc-primary-tv .mtv-footer{display:flex}
.bc-tv-screen.bc-primary-tv .bc-display-tools{inset:auto auto 85px 12px;max-width:calc(100% - 24px)}
.bc-main-tv{--mtv-bg:color-mix(in srgb,#03101c 88%,var(--bt-bg,#071714));--mtv-accent:color-mix(in srgb,var(--bt-accent,#20e28e) 70%,#d7fff1);--mtv-ink:#f6fbff;--mtv-muted:#acbecb;container-type:inline-size;width:100%;max-width:100%;min-width:0;margin-inline:auto;color:var(--mtv-ink);color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:var(--mtv-bg);isolation:isolate}
.bc-main-tv[data-bc-theme="emerald-club"]{--mtv-accent:#22e695}
.bc-main-tv .mtv-stage,.bc-main-tv .mtv-stage *{box-sizing:border-box}
.bc-main-tv .mtv-stage{position:relative;width:100%;min-width:0;aspect-ratio:16/9;display:grid;grid-template-rows:32% 46% 22%;padding:2.5% 4%;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--mtv-accent) 6%,transparent),transparent 65%),linear-gradient(145deg,#03101cf0,transparent 58%),var(--mtv-bg);color:var(--mtv-ink)}
.bc-main-tv .mtv-stage::before,.bc-main-tv .mtv-stage::after{content:"";position:absolute;pointer-events:none;width:25%;height:21%;border:1px solid color-mix(in srgb,var(--mtv-accent) 16%,transparent);z-index:0}
.bc-main-tv .mtv-stage::before{inset:auto auto -13% -8%;transform:rotate(28deg)}
.bc-main-tv .mtv-stage::after{inset:-13% -8% auto auto;transform:rotate(28deg)}
.bc-main-tv .mtv-heading,.bc-main-tv .mtv-scoreboard,.bc-main-tv .mtv-footer{position:relative;z-index:1;min-width:0}
.bc-main-tv .mtv-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2cqw;text-align:center;min-height:0}
.bc-main-tv .mtv-platform-logo{display:block;width:25%;max-height:5.5cqw;object-fit:contain;flex:none;margin:0}
.bc-main-tv .mtv-event-title{margin:0;width:100%;max-width:100%;font-family:Arial,Helvetica,sans-serif;font-size:4.3cqw;font-weight:850;letter-spacing:-.035em;line-height:1.08;color:var(--mtv-ink);text-wrap:balance;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bc-main-tv .mtv-heading.is-long{gap:.8cqw}
.bc-main-tv .mtv-heading.is-long .mtv-event-title{font-size:3cqw}
.bc-main-tv .mtv-heading.is-long .mtv-platform-logo{max-height:4cqw}
.bc-main-tv .mtv-event-subtitle{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.65cqw 1.15cqw;margin:0;color:var(--mtv-muted);font-size:1.3cqw;font-weight:600;line-height:1.3;letter-spacing:.1em;text-transform:uppercase}
.bc-main-tv .mtv-event-subtitle i{display:block;width:.25cqw;height:.25cqw;background:var(--mtv-accent);transform:rotate(45deg);flex:none}
.bc-main-tv .mtv-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:1.1cqw;min-height:0}
.bc-main-tv .mtv-player{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;max-width:100%;height:100%;gap:.7cqw;text-align:center;color:var(--mtv-ink)}
.bc-main-tv .mtv-portrait{display:grid;place-items:center;width:8cqw;height:8cqw;flex:none;position:relative;border-radius:50%;overflow:hidden;border:1px solid #71869566;background:#17303b;color:#e9f4fa;font-size:2.5cqw;font-weight:750;box-shadow:0 .4cqw 2cqw #0003}
.bc-main-tv .mtv-portrait[data-photo-shape="square"]{border-radius:.6cqw}
.bc-main-tv .mtv-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bc-main-tv .mtv-portrait>span{font-size:inherit;color:inherit;line-height:1}
.bc-main-tv .mtv-player.is-active .mtv-portrait{border-color:var(--mtv-accent);box-shadow:0 0 0 .18cqw color-mix(in srgb,var(--mtv-accent) 16%,transparent)}
.bc-main-tv .mtv-player-state{min-height:1.2em;color:var(--mtv-muted);font-size:.9cqw;line-height:1.2;letter-spacing:.12em;font-weight:700;text-transform:uppercase}
.bc-main-tv .mtv-player.is-active .mtv-player-state,.bc-main-tv .mtv-player.is-winner .mtv-player-state{color:var(--mtv-accent)}
.bc-main-tv .mtv-player-name{display:block;width:100%;max-width:100%;font-family:Arial,Helvetica,sans-serif;font-size:3.2cqw;line-height:1.06;font-weight:800;letter-spacing:-.035em;color:var(--mtv-ink);text-wrap:balance;overflow-wrap:anywhere}
.bc-main-tv .mtv-player-name bdi{color:inherit;font-weight:inherit}
.bc-main-tv .mtv-player-name.is-medium{font-size:2.4cqw}
.bc-main-tv .mtv-player-name.is-long{font-size:1.85cqw}
.bc-main-tv .mtv-player-indicators{display:flex;justify-content:center;align-items:center;gap:1cqw;min-height:2.4cqw;max-width:100%}
.bc-main-tv .mtv-player-indicators .bc-bar-country{font-size:2.6cqw;line-height:1;display:inline-flex;align-items:center;justify-content:center;margin:0;color:var(--mtv-ink)}
.bc-main-tv .mtv-country svg{display:block;width:3.3cqw;height:2.2cqw;border-radius:.15cqw;box-shadow:0 0 0 1px #ffffff21;overflow:hidden}
.bc-main-tv .mtv-cue{display:block;flex:none;width:1.05cqw;height:1.05cqw;border-radius:50%;background:radial-gradient(circle at 32% 26%,#fff 20%,#f4f7f4 55%,#96a59e 100%);box-shadow:0 0 0 .12cqw #ffffff19}
.bc-main-tv .mtv-player-indicators .bc-bar-group{display:flex;gap:.18cqw;align-items:center;margin:0}
.bc-main-tv .mtv-player-indicators .bc-bar-group i{display:block;width:.78cqw;height:.78cqw;border-radius:50%;box-shadow:inset 0 -.1cqw .18cqw #0005;border:1px solid #ffffff30}
.bc-main-tv .mtv-player-indicators .bc-bar-group-red i{background:#ed394d}
.bc-main-tv .mtv-player-indicators .bc-bar-group-yellow i{background:#ffcd35}
.bc-main-tv .mtv-player-indicators .bc-bar-group-solid i{background:#5591fa}
.bc-main-tv .mtv-player-indicators .bc-bar-group-stripe i{background:linear-gradient(#fbfdff 20%,#5591fa 20%,#5591fa 80%,#fbfdff 80%)}
.bc-main-tv .mtv-center{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9cqw;color:var(--mtv-ink)}
.bc-main-tv .mtv-match-status{display:inline-flex;align-items:center;justify-content:center;gap:.55cqw;color:var(--mtv-muted);font-size:.95cqw;line-height:1.25;text-transform:uppercase;letter-spacing:.16em;font-weight:700;text-align:center}
.bc-main-tv .mtv-match-status i{width:.35cqw;height:.35cqw;border-radius:50%;background:var(--mtv-muted);flex:none}
.bc-main-tv .mtv-match-status.is-live{color:var(--mtv-accent)}
.bc-main-tv .mtv-match-status.is-live i{background:var(--mtv-accent);box-shadow:0 0 .55cqw color-mix(in srgb,var(--mtv-accent) 45%,transparent)}
.bc-main-tv .mtv-score{display:flex;align-items:center;justify-content:center;gap:1.3cqw;max-width:100%;font-variant-numeric:tabular-nums;font-size:14cqw;font-weight:850;line-height:1;letter-spacing:-.055em;white-space:nowrap}
.bc-main-tv .mtv-score>b{font:inherit;line-height:1;color:var(--mtv-ink);letter-spacing:inherit}
.bc-main-tv .mtv-score>span{font-size:.3em;font-weight:400;letter-spacing:0;color:var(--mtv-accent);padding-bottom:.08em}
.bc-main-tv [data-score-digits="2"] .mtv-score{font-size:10.5cqw}
.bc-main-tv [data-score-digits="3"] .mtv-score{font-size:8cqw}
.bc-main-tv [data-score-digits="4"] .mtv-score{font-size:6cqw}
.bc-main-tv .mtv-clocks{display:flex;justify-content:center;align-items:center;gap:1.6cqw;max-width:100%}
.bc-main-tv .mtv-clock{display:flex;align-items:center;gap:.65cqw;min-width:0;color:var(--mtv-muted);font-size:.85cqw;text-transform:uppercase;letter-spacing:.1em}
.bc-main-tv .mtv-clock strong{font-size:1.8cqw;line-height:1.2;letter-spacing:0;font-weight:700;font-variant-numeric:tabular-nums;color:var(--mtv-ink)}
.bc-main-tv .mtv-clock .bc-clock-warning{color:#ffbb83}
.bc-main-tv .mtv-footer{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.1cqw;padding-top:1.7cqw;text-align:center;min-height:0}
.bc-main-tv .mtv-geometric-rule{position:relative;display:flex;align-items:center;justify-content:center;gap:1.3cqw;width:100%;height:.5cqw;flex:none}
.bc-main-tv .mtv-geometric-rule>i{height:1px;flex:1;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--mtv-accent) 70%,transparent))}
.bc-main-tv .mtv-geometric-rule>i:last-child{transform:rotate(180deg)}
.bc-main-tv .mtv-geometric-rule>b{display:block;width:.55cqw;height:.55cqw;transform:rotate(45deg);border:1px solid var(--mtv-accent)}
.bc-main-tv .mtv-partners{display:flex;align-items:center;justify-content:center;gap:2.2cqw;width:100%;min-width:0;max-height:5.5cqw}
.bc-main-tv .mtv-club-brand{display:flex;align-items:center;justify-content:center;gap:1.2cqw;min-width:0;max-width:50%;color:var(--mtv-ink)}
.bc-main-tv .mtv-club-brand img{display:block;object-fit:contain;max-width:9cqw;max-height:4.2cqw;background:#fbfff9;border-radius:.3cqw;padding:.3cqw}
.bc-main-tv .mtv-club-brand strong,.bc-main-tv .mtv-partner strong{display:block;min-width:0;font-size:1.6cqw;line-height:1.1;font-weight:750;color:var(--mtv-ink);overflow-wrap:anywhere}
.bc-main-tv .mtv-partner{display:flex;flex-direction:column;align-items:center;gap:.4cqw;max-width:45%;min-width:0}
.bc-main-tv .mtv-partner>span{font-size:.68cqw;text-transform:uppercase;letter-spacing:.13em;color:var(--mtv-muted)}
.bc-main-tv .mtv-partner-divider{height:2.5cqw;width:1px;background:#a5c4d333;flex:none}
.bc-main-tv .mtv-discipline{font-size:.65cqw;letter-spacing:.24em;text-transform:uppercase;color:var(--mtv-muted);line-height:1.2}
.bc-main-tv .mtv-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2cqw;text-align:center}
.bc-main-tv .mtv-empty h1{color:var(--mtv-ink);font-size:4cqw;margin:0;line-height:1.15;overflow-wrap:anywhere}
.bc-main-tv .mtv-empty p{font-size:2cqw;color:var(--mtv-muted);margin:0}
/* Snooker puts the current frame points beside each player; frames won remain
   a smaller central score. The lower rail reflects only the live scoring DTO. */
.bc-main-tv .mtv-stage.is-snooker{grid-template-rows:26% 54% 20%}
.bc-main-tv .is-snooker .mtv-heading{gap:.7cqw}
.bc-main-tv .is-snooker .mtv-platform-logo{width:22%;max-height:4cqw}
.bc-main-tv .is-snooker .mtv-event-title{font-size:3.5cqw}
.bc-main-tv .is-snooker .mtv-heading.is-long .mtv-event-title{font-size:2.7cqw}
.bc-main-tv .is-snooker .mtv-heading.is-long .mtv-platform-logo{max-height:3.2cqw}
.bc-main-tv .is-snooker .mtv-scoreboard{grid-template-columns:minmax(0,1fr) minmax(0,.64fr) minmax(0,1fr);gap:1.3cqw}
.bc-main-tv .is-snooker .mtv-player{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;align-content:center;justify-items:center;gap:.5cqw 1cqw;min-height:0}
.bc-main-tv .is-snooker .mtv-player:has(.mtv-portrait){grid-template-columns:5.5cqw minmax(0,1fr)}
.bc-main-tv .is-snooker .mtv-portrait{grid-column:1;grid-row:1/4;width:5.5cqw;height:5.5cqw;font-size:1.8cqw}
.bc-main-tv .is-snooker .mtv-player:has(.mtv-portrait) .mtv-player-state,.bc-main-tv .is-snooker .mtv-player:has(.mtv-portrait) .mtv-player-name,.bc-main-tv .is-snooker .mtv-player:has(.mtv-portrait) .mtv-player-indicators{grid-column:2}
.bc-main-tv .is-snooker .mtv-player-name{font-size:2.8cqw;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bc-main-tv .is-snooker .mtv-player-name.is-medium{font-size:2.2cqw}
.bc-main-tv .is-snooker .mtv-player-name.is-long{font-size:1.7cqw}
.bc-main-tv .mtv-snooker-points{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:.3cqw;padding-top:.5cqw;min-width:0;width:100%;font-variant-numeric:tabular-nums}
.bc-main-tv .mtv-snooker-points>b{font-family:Arial,Helvetica,sans-serif;font-size:11.2cqw;font-weight:850;line-height:1;letter-spacing:-.035em;color:var(--mtv-ink)}
.bc-main-tv .mtv-snooker-points[data-point-digits="4"]>b{font-size:8.8cqw}
.bc-main-tv .mtv-snooker-points>span,.bc-main-tv .mtv-frames-label{font-size:1cqw;line-height:1.25;text-transform:uppercase;letter-spacing:.13em;font-weight:700;color:var(--mtv-muted)}
.bc-main-tv .is-snooker .mtv-center{gap:.8cqw}
.bc-main-tv .is-snooker .mtv-match-status{margin-bottom:.6cqw}
.bc-main-tv .is-snooker .mtv-score{font-size:5.3cqw;gap:1cqw;letter-spacing:-.025em}
.bc-main-tv .is-snooker[data-score-digits="3"] .mtv-score{font-size:4cqw}
.bc-main-tv .is-snooker[data-score-digits="4"] .mtv-score{font-size:3cqw}
.bc-main-tv .is-snooker .mtv-clocks{flex-wrap:wrap;gap:.5cqw;margin-top:.5cqw}
.bc-main-tv .is-snooker .mtv-clock strong{font-size:1.5cqw}
.bc-main-tv .is-snooker .mtv-footer{gap:.65cqw;padding-top:.4cqw;justify-content:flex-start}
.bc-main-tv .mtv-snooker-rail{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1.4cqw;width:100%;min-width:0;padding:.6cqw 1cqw;border-block:1px solid color-mix(in srgb,var(--mtv-accent) 25%,transparent);background:color-mix(in srgb,var(--mtv-accent) 5%,transparent);color:var(--mtv-muted);font-size:.85cqw;text-transform:uppercase;letter-spacing:.06em}
.bc-main-tv .mtv-current-break,.bc-main-tv .mtv-reds{display:flex;align-items:center;gap:.65cqw;white-space:nowrap}
.bc-main-tv .mtv-current-break>b,.bc-main-tv .mtv-reds>b{font-size:1.5cqw;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--mtv-ink)}
.bc-main-tv .mtv-current-break>b{color:var(--mtv-accent)}
.bc-main-tv .mtv-ball-trail{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:.42cqw;min-width:0;overflow:hidden}
.bc-main-tv .mtv-visit-ball{display:flex;align-items:center;gap:.15cqw;flex:none}
.bc-main-tv .mtv-visit-ball>b{font-size:.65cqw;font-weight:700;letter-spacing:0;color:var(--mtv-ink)}
.bc-main-tv .mtv-ball{display:grid;place-items:center;flex:none;width:1.5cqw;height:1.5cqw;border-radius:50%;background:radial-gradient(circle at 30% 22%,#ffffff4d,transparent 58%),var(--mtv-ball);box-shadow:inset 0 -.15cqw .25cqw #0004,0 0 0 1px #ffffff25;color:#fff;font-size:.72cqw;font-weight:750;font-style:normal;line-height:1;letter-spacing:0}
.bc-main-tv .mtv-ball-1{--mtv-ball:#cc243d}.bc-main-tv .mtv-ball-2{--mtv-ball:#f2d249;color:#171b20}.bc-main-tv .mtv-ball-3{--mtv-ball:#208351}.bc-main-tv .mtv-ball-4{--mtv-ball:#80502f}.bc-main-tv .mtv-ball-5{--mtv-ball:#246cbe}.bc-main-tv .mtv-ball-6{--mtv-ball:#e793bc;color:#171b20}.bc-main-tv .mtv-ball-7{--mtv-ball:#121820}
.bc-main-tv .is-snooker .mtv-geometric-rule{height:.3cqw}
.bc-main-tv .is-snooker .mtv-geometric-rule>b{width:.35cqw;height:.35cqw}
.bc-main-tv .is-snooker .mtv-partners{max-height:2.7cqw;gap:2cqw}
.bc-main-tv .is-snooker .mtv-club-brand img{max-height:2.6cqw;max-width:7cqw}
.bc-main-tv .is-snooker .mtv-club-brand strong,.bc-main-tv .is-snooker .mtv-partner strong{font-size:1.15cqw}
.bc-main-tv .is-snooker .mtv-partner{gap:.2cqw}
.bc-main-tv .is-snooker .mtv-partner>span{font-size:.55cqw}
.bc-main-tv .is-snooker .mtv-partner-divider{height:1.8cqw}
/* Keep the broadcast frame intact on handheld previews; no horizontal scroll. */
@container (max-width:600px){.bc-main-tv .mtv-stage{padding:3% 2.5%;grid-template-rows:32% 47% 21%}.bc-main-tv .mtv-heading{gap:1cqw}.bc-main-tv .mtv-platform-logo{width:28%;max-height:6cqw}.bc-main-tv .mtv-player-state{font-size:1.15cqw;letter-spacing:.045em}.bc-main-tv .mtv-event-subtitle{font-size:1.6cqw;letter-spacing:.045em}.bc-main-tv .mtv-match-status{font-size:1.2cqw;letter-spacing:.06em}.bc-main-tv .mtv-clock{font-size:1cqw;gap:.4cqw}.bc-main-tv .mtv-clock strong{font-size:2cqw}.bc-main-tv .mtv-partner>span{font-size:.9cqw}.bc-main-tv .mtv-discipline{font-size:.9cqw}.bc-main-tv .mtv-footer{gap:.8cqw;padding-top:1.4cqw}}
@media(hover:none) and (pointer:coarse){.bc-tv-screen.bc-primary-tv .bc-display-tools{opacity:1}}
@media(prefers-reduced-motion:reduce){.bc-main-tv *{animation:none!important;transition:none!important}}
