/* Public TV visual skin, following the supplied broadcast reference.
   Outer layout, sizing and breakpoints remain in fit.css. */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/barlow-regular-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('./fonts/barlow-semibold-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/barlow-bold-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('./fonts/barlow-extrabold-latin.woff2') format('woff2');
}
:root {
  --font-display: 'Barlow', 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Barlow', 'Segoe UI', Roboto, sans-serif;
  --tv-navy: #020e24;
  --tv-panel: #062451;
  --tv-panel-raised: #0b3570;
  --tv-border: #398bd2;
  --tv-text: #f7faff;
  --tv-muted: #d0e5ff;
  --tv-gold: #fff0a3;
  --tv-success: #87f1b0;
  --tv-shadow: 0 9px 22px rgba(0, 13, 43, .45), inset 0 1px 2px rgba(174, 224, 255, .25);
  --tv-quadra-edge: #3eff72;
  --tv-quina-edge: #55bfff;
  --tv-bingo-edge: #ffb43d;
  --tv-acumulado-edge: #ffe27b;
  --gold-primary: var(--tv-gold);
  --gold-light: #fff0c5;
  --gold-deep: #c29a49;
  --text-pure: var(--tv-text);
  --text-muted: var(--tv-muted);
  --text-dim: #a9bfd6;
  --border-subtle: var(--tv-border);
}

body.tv-broadcast-body {
  color: var(--tv-text);
  background-color: #0870e8 !important;
  background-image: linear-gradient(180deg, rgba(0, 54, 142, .12), rgba(13, 92, 198, .04) 48%, rgba(0, 60, 164, .15)), url('/public/reference/sky.jpg') !important;
  background-size: cover !important;
  background-position: center top !important;
  background-attachment: fixed !important;
  font-variant-numeric: tabular-nums;
  font-family: var(--font-body);
  scrollbar-color: #6684a4 var(--tv-navy);
}

body.tv-broadcast-body ::selection { color: var(--tv-navy); background: var(--tv-gold); }
body.tv-broadcast-body button:focus-visible,
body.tv-broadcast-body a:focus-visible { outline: 3px solid #a7d8ff; outline-offset: 3px; }
body.tv-broadcast-body ::-webkit-scrollbar-track { background: var(--tv-navy); }
body.tv-broadcast-body ::-webkit-scrollbar-thumb { background: #6684a4; border-radius: 8px; }

body.tv-broadcast-body > .topbar {
  background: linear-gradient(180deg, #0a2b59, var(--tv-navy)) !important;
  border-bottom-color: #70b9f3;
  box-shadow: 0 4px 18px rgba(3, 15, 32, .18) !important;
}
body.tv-broadcast-body .brand:hover { text-shadow: none; }
body.tv-broadcast-body .brand-mark {
  background: linear-gradient(145deg, #fff0c5, #e2b75f);
  color: #14243a;
  border-color: #f8e2ac;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .8), 0 3px 8px rgba(0, 0, 0, .18);
  text-shadow: none;
}
body.tv-broadcast-body .brand-title {
  color: var(--tv-text);
  background: none;
  -webkit-text-fill-color: currentColor;
  font-weight: 800;
  letter-spacing: .025em;
  text-shadow: none;
}
body.tv-broadcast-body .brand-badge { color: var(--tv-gold); letter-spacing: .08em; text-shadow: none; }
body.tv-broadcast-body .studio-clock-chip,
body.tv-broadcast-body .connection,
body.tv-broadcast-body .tv-account {
  background: #0e223b;
  border-color: var(--tv-border);
  box-shadow: none;
  color: var(--tv-text);
}
body.tv-broadcast-body .studio-clock-label { color: var(--tv-muted); }
body.tv-broadcast-body .studio-clock-chip strong { color: var(--tv-text); text-shadow: none; }
body.tv-broadcast-body .studio-clock-dot,
body.tv-broadcast-body .connection::before { background: #88a0b8; box-shadow: none; animation: none; }
body.tv-broadcast-body .studio-clock-dot,
body.tv-broadcast-body .connection.ok::before { background: var(--tv-success); }
body.tv-broadcast-body .live-dot-mini { box-shadow: none; animation: none; }
body.tv-broadcast-body .connection.error { color: #ffd3d3; border-color: #be727c; }
body.tv-broadcast-body .connection.error::before { background: #ff9eaa; }
body.tv-broadcast-body .connection.warning { color: #ffe6b0; border-color: #aa8c56; }
body.tv-broadcast-body .connection.warning::before { background: var(--tv-gold); }

body.tv-broadcast-body button {
  background: #132c49;
  border-color: #58738f;
  color: var(--tv-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  text-shadow: none;
  transition: background-color .16s ease, border-color .16s ease;
}
body.tv-broadcast-body button:hover {
  background: #214363;
  border-color: #9bb8d3;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  transform: none;
}
body.tv-broadcast-body button:active { background: #0b1b30; transform: none; }
body.tv-broadcast-body #narration-toggle[aria-pressed="true"] {
  background: #133b3b;
  color: #bff3df;
  border-color: #80c5b3;
  box-shadow: none;
}
body.tv-broadcast-body #narration-toggle.narration-muted { background: #132c49; border-color: #58738f; }
body.tv-broadcast-body #narration-toggle.narration-prompt { animation: none; }

body.tv-broadcast-body .heading h1,
body.tv-broadcast-body .heading .eyebrow,
body.tv-broadcast-body .heading .schedule-icon,
body.tv-broadcast-body .heading .schedule strong,
body.tv-broadcast-body .heading .room-tag {
  color: var(--tv-text) !important;
  text-shadow: 0 1px 3px rgba(5, 21, 40, .45) !important;
}
body.tv-broadcast-body .heading h1 { font-weight: 800; letter-spacing: -.025em; }
body.tv-broadcast-body .heading .eyebrow { color: var(--tv-gold) !important; letter-spacing: .08em; }
body.tv-broadcast-body .heading .schedule-countdown {
  color: var(--tv-text) !important;
  background: #0d2948 !important;
  border-color: #7999b6 !important;
  text-shadow: none;
}
body.tv-broadcast-body .schedule-label { color: #e3eefb; }

body.tv-broadcast-body .board .prizes .prize {
  --prize-top: #176de2;
  --prize-base: #001844;
  --prize-edge: var(--tv-quina-edge);
  --prize-light: #edf8ff;
  --prize-glow: rgba(50, 151, 255, .38);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  background: radial-gradient(ellipse at 25% 0%, var(--prize-top), transparent 72%), linear-gradient(180deg, var(--prize-top), var(--prize-base) 72%) !important;
  border-style: solid;
  border-color: var(--prize-edge);
  border-radius: 12px;
  box-shadow: 0 5px 16px rgba(0, 12, 40, .45), 0 0 9px var(--prize-glow), inset 0 1px 3px rgba(255, 255, 255, .8), inset 0 -3px 8px rgba(0, 0, 0, .28);
  transform: none !important;
  animation: none !important;
  transition: border-color .18s ease;
}
body.tv-broadcast-body .board .prizes .prize.prize-quadra {
  --prize-top: #09812a;
  --prize-base: #002411;
  --prize-edge: var(--tv-quadra-edge);
  --prize-light: #fff9b7;
  --prize-glow: rgba(25, 244, 87, .4);
}
body.tv-broadcast-body .board .prizes .prize.prize-quina {
  --prize-top: #0874ea;
  --prize-base: #001953;
}
body.tv-broadcast-body .board .prizes .prize.prize-bingo {
  --prize-top: #d86400;
  --prize-base: #441401;
  --prize-edge: var(--tv-bingo-edge);
  --prize-light: #fff5b3;
  --prize-glow: rgba(255, 148, 25, .45);
}
body.tv-broadcast-body .board .prizes .prize.prize-acumulado {
  --prize-top: #a98100;
  --prize-base: #372600;
  --prize-edge: var(--tv-acumulado-edge);
  --prize-light: #fff6bd;
  --prize-glow: rgba(255, 213, 57, .45);
}
body.tv-broadcast-body .board .prizes .prize .prize-header {
  order: 2;
  justify-content: center;
  width: 100%;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(0, 9, 24, .14), rgba(0, 9, 24, .55));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
  text-align: center;
}
body.tv-broadcast-body .board .prizes .prize .prize-title-wrap { align-items: center; }
body.tv-broadcast-body .board .prizes .prize .prize-label {
  color: var(--tv-text) !important;
  font-weight: 800;
  letter-spacing: .025em;
  text-shadow: none;
}
body.tv-broadcast-body .board .prizes .prize .prize-sub { color: #edf5ff !important; letter-spacing: .025em; text-shadow: none; }
body.tv-broadcast-body .board .prizes .prize .prize-amount {
  order: 1;
  margin-top: 0 !important;
  color: var(--prize-light) !important;
  text-align: center;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  text-shadow: none !important;
  filter: none;
}
body.tv-broadcast-body .board .prizes .prize .prize-icon-wrap { display: none; }
body.tv-broadcast-body .board .prizes .prize-shine { display: none; }
body.tv-broadcast-body .board .prizes .prize::before {
  content: '';
  position: absolute;
  inset: 1px 12% auto;
  height: 1px;
  border: 0;
  background: rgba(255, 255, 255, .65);
  opacity: 1;
  box-shadow: none;
  animation: none !important;
  pointer-events: none;
}
body.tv-broadcast-body .board .prizes .prize.prize-active {
  border-color: var(--tv-gold) !important;
  box-shadow: 0 5px 16px rgba(0, 12, 40, .45), 0 0 12px var(--prize-glow), inset 0 0 0 2px var(--tv-gold), inset 0 1px 3px rgba(255, 255, 255, .8);
}
body.tv-broadcast-body .board .prizes .prize.prize-active .prize-current-label {
  display: block;
  color: var(--tv-gold) !important;
  font-size: 12px !important;
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .03em;
}
body.tv-broadcast-body .board .prizes .prize.prize-accumulated-ready {
  border-color: var(--tv-acumulado-edge);
}
body.tv-broadcast-body .board .prizes .prize.prize-accumulated-expired {
  background: linear-gradient(180deg, #4a3b18, #201a10) !important;
  border-color: #ac945d;
  box-shadow: var(--tv-shadow);
}
body.tv-broadcast-body .board .prizes .prize.prize-accumulated-expired .prize-amount,
body.tv-broadcast-body .board .prizes .prize.prize-accumulated-expired .prize-label,
body.tv-broadcast-body .board .prizes .prize.prize-accumulated-expired .prize-sub {
  color: #e6dcc6 !important;
}

body.tv-broadcast-body .board .waiting-screen,
body.tv-broadcast-body #live-strip.live-strip,
body.tv-broadcast-body #number-board,
body.tv-broadcast-body > main > aside > .tickets {
  background: radial-gradient(ellipse at 0% 0%, rgba(17, 81, 151, .58), transparent 65%), linear-gradient(155deg, #062752, #020e24 75%) !important;
  border-color: #59a4df !important;
  box-shadow: var(--tv-shadow) !important;
}
body.tv-broadcast-body .waiting-screen::before { opacity: 0; }
/* The waiting panel alone floats gently while the official countdown runs.
   Moving its existing surface avoids repainting shadows or changing layout. */
body.tv-broadcast-body #waiting-screen:not([hidden]) {
  --tv-waiting-float-offset: -3px;
  animation: tv-waiting-float 4.8s cubic-bezier(.45, 0, .55, 1) infinite;
}
@keyframes tv-waiting-float {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, var(--tv-waiting-float-offset), 0); }
}
html[data-tv-motion-paused="true"] body.tv-broadcast-body #waiting-screen {
  animation-play-state: paused;
}
@media (max-height: 500px), (max-width: 699px) {
  body.tv-broadcast-body #waiting-screen:not([hidden]) { --tv-waiting-float-offset: -2px; }
}
@media (prefers-reduced-motion: reduce) {
  body.tv-broadcast-body #waiting-screen:not([hidden]) { animation: none !important; transform: none; }
}
body.tv-broadcast-body .waiting-badge { background: #102841; color: var(--tv-text); border-color: #476780; box-shadow: none; }
body.tv-broadcast-body .pulse-beacon { background: var(--tv-gold); box-shadow: none; animation: none; }
body.tv-broadcast-body .big-countdown span {
  color: var(--tv-gold) !important;
  background: linear-gradient(180deg, #152f4c, #091b30) !important;
  border-color: #7892ac !important;
  border-radius: 14px;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .23), inset 0 1px 0 rgba(255, 255, 255, .09) !important;
  text-shadow: none !important;
  font-weight: 800;
}
body.tv-broadcast-body .big-countdown b,
body.tv-broadcast-body .countdown-sep { color: var(--tv-gold) !important; text-shadow: none; animation: none; }
body.tv-broadcast-body .countdown-unit label,
body.tv-broadcast-body #waiting-hint { color: var(--tv-muted) !important; text-shadow: none; }
body.tv-broadcast-body .ticket-price-badge {
  background: transparent;
  border-color: #617f9b;
  color: var(--tv-text);
  box-shadow: none;
}
body.tv-broadcast-body #ticket-price { background: #edd08e !important; color: #102239 !important; text-shadow: none; box-shadow: none !important; }

body.tv-broadcast-body #live-strip .eyebrow,
body.tv-broadcast-body #live-strip .recent-label,
body.tv-broadcast-body #live-strip .called-meter { color: var(--tv-text) !important; text-shadow: none !important; }
body.tv-broadcast-body #live-strip .phase-row strong { color: var(--tv-text); font-weight: 800; letter-spacing: -.025em; text-shadow: none; }
body.tv-broadcast-body > main > .board > #live-strip .phase-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}
body.tv-broadcast-body > main > .board > #live-strip #phase.phase-prize {
  flex: 1 1 240px;
  min-width: 0;
  color: var(--tv-gold) !important;
  font-size: 22px;
  font-size: clamp(20px, 2.2vw, 34px) !important;
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: balance;
}
@media (max-width: 699px) {
  body.tv-broadcast-body > main > .board > #live-strip #phase.phase-prize {
    flex-basis: 100%;
    font-size: 22px !important;
  }
}
@media (orientation: landscape) and (max-height: 500px) {
  body.tv-broadcast-body > main > .board > #live-strip #phase.phase-prize {
    font-size: 16px !important;
    flex-basis: 180px;
  }
  body.tv-broadcast-body .board .prizes .prize.prize-active .prize-current-label {
    font-size: 9px !important;
  }
}
body.tv-broadcast-body #live-strip .recent { background: #031735; border-color: #275994; box-shadow: inset 0 1px 0 rgba(122, 191, 255, .15); }
body.tv-broadcast-body #live-strip .called-meter { background: #051e40; border-color: #275994; }
body.tv-broadcast-body #live-strip[data-status="finished"] .phase-row strong,
body.tv-broadcast-body #live-strip[data-status="cancelled"] .phase-row strong {
  padding: 3px 8px;
  border: 1px solid #ff8c90;
  border-radius: 7px;
  background: linear-gradient(180deg, #ed293b, #9c0618);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .45), 0 3px 8px rgba(0, 0, 0, .3);
}
body.tv-broadcast-body #live-strip .last-ball.bingo-sphere {
  --ball-color: #168fe0;
}
/* Lacquered spheres: one light source, a curved number face and contact shadow. */
body.tv-broadcast-body #last-ball > small,
body.tv-broadcast-body #recent .bingo-sphere > small { display: none !important; }
body.tv-broadcast-body #live-strip .last-ball.bingo-sphere,
body.tv-broadcast-body #live-strip .recent span.bingo-sphere {
  isolation: isolate;
  background:
    radial-gradient(ellipse at 29% 17%, #fff 0%, rgba(255,255,255,.9) 2%, rgba(255,255,255,.36) 9%, transparent 22%),
    radial-gradient(ellipse at 80% 84%, rgba(128,215,255,.3), transparent 32%),
    radial-gradient(circle at 35% 28%, transparent 24%, rgba(0,6,24,.2) 65%, rgba(0,3,15,.88) 100%),
    var(--ball-color) !important;
  border: 1px solid rgba(198,230,255,.8);
  box-shadow: inset 2px 3px 4px rgba(255,255,255,.68), inset -3px -5px 7px rgba(0,0,0,.5), 3px 12px 14px rgba(0,3,16,.55);
}
/* The featured sphere inherits its group colour from fit.css, like the
   recent calls. Enlarge that sequence without shrinking its number faces. */
body.tv-broadcast-body #live-strip {
  --tv-recent-ball-size: 60px;
}
@supports (width: clamp(60px, 5vw, 80px)) {
  body.tv-broadcast-body #live-strip { --tv-recent-ball-size: clamp(60px, 5vw, 80px); }
}
body.tv-broadcast-body > main > .board > #live-strip .recent-track {
  flex-wrap: wrap !important;
  gap: 8px !important;
}
body.tv-broadcast-body > main > .board > #live-strip .recent {
  flex-wrap: nowrap !important;
  gap: 10px !important;
  padding: 6px 10px !important;
}
body.tv-broadcast-body > main > .board > #live-strip .recent span.bingo-sphere {
  box-sizing: border-box !important;
  width: 60px;
  width: var(--tv-recent-ball-size) !important;
  height: 60px;
  height: var(--tv-recent-ball-size) !important;
  flex: 0 0 var(--tv-recent-ball-size) !important;
}
body.tv-broadcast-body #live-strip .last-ball.bingo-sphere::before,
body.tv-broadcast-body #live-strip .last-ball.bingo-sphere.is-entering::before,
body.tv-broadcast-body #live-strip .recent span.bingo-sphere::before {
  content: '';
  position: absolute;
  inset: 14%;
  width: 72%;
  height: 72%;
  z-index: 0;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  transform: none;
  background: radial-gradient(circle at 32% 23%, #fff 0%, #fcfdff 31%, #e6edf3 68%, #a1b1c0 100%) !important;
  box-shadow: inset -2px -4px 6px rgba(49,73,98,.2), 1px 2px 3px rgba(0,5,20,.26);
  animation: none;
}
body.tv-broadcast-body #live-strip .last-ball.bingo-sphere::after,
body.tv-broadcast-body #live-strip .recent span.bingo-sphere::after {
  content: '';
  position: absolute;
  top: 7%;
  left: 14%;
  width: 40%;
  height: 18%;
  z-index: 2;
  border-radius: 50%;
  transform: rotate(-35deg);
  background: linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,0));
  pointer-events: none;
}
body.tv-broadcast-body > main > .board > #live-strip .last-ball.bingo-sphere > strong,
body.tv-broadcast-body > main > .board > #live-strip .recent span.bingo-sphere > strong {
  position: absolute;
  top: 50% !important;
  left: 14% !important;
  width: 72% !important;
  margin: 0;
  z-index: 1;
  transform: translateY(-50%);
  color: #161d25 !important;
  font-weight: 800;
  line-height: 1 !important;
  letter-spacing: -.03em;
  text-shadow: 0 1px 1px rgba(255,255,255,.7);
}
body.tv-broadcast-body > main > .board > #live-strip .recent span.bingo-sphere > strong {
  font-size: 28px !important;
  font-size: clamp(26px, 2.2vw, 35px) !important;
}
@supports (font-size: 1cqw) {
  body.tv-broadcast-body > main > .board > #live-strip .last-ball.bingo-sphere > strong,
  body.tv-broadcast-body > main > .board > #live-strip .recent span.bingo-sphere > strong { font-size: 44cqw !important; }
}
body.tv-broadcast-body #number-board .number {
  background: linear-gradient(180deg, #082e64, #020b20) !important;
  color: #f7faff !important;
  border-color: #3d74ae !important;
  box-shadow: inset 0 1px 1px rgba(123, 186, 255, .24), inset 0 -2px 3px rgba(0, 0, 0, .35) !important;
  text-shadow: none;
  animation: none;
}
body.tv-broadcast-body #number-board .number.called {
  background: linear-gradient(180deg, #40fb69, #09d32d) !important;
  color: #001908 !important;
  border-color: #a4ffb5 !important;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .58), inset 0 -2px 3px rgba(0, 99, 20, .25) !important;
}
body.tv-broadcast-body #number-board .number.latest {
  background: #f7faff !important;
  color: #09213b !important;
  border-color: #f7faff !important;
  box-shadow: inset 0 0 0 2px #57baff, 0 0 8px rgba(80, 179, 255, .75) !important;
  animation: none !important;
}

body.tv-broadcast-body .tickets-title,
body.tv-broadcast-body .recent-winners-heading,
body.tv-broadcast-body .recent-draw-group > header { border-color: #3c5773; }
body.tv-broadcast-body .tickets-title h2 { color: var(--tv-text); text-shadow: none; }
body.tv-broadcast-body .tickets-kicker,
body.tv-broadcast-body .recent-winners-heading span { color: var(--tv-gold); text-shadow: none; }
body.tv-broadcast-body .recent-winners-heading strong,
body.tv-broadcast-body .recent-draw-group > header span { color: var(--tv-success); }
body.tv-broadcast-body .recent-draw-group > header strong { color: var(--tv-text); text-shadow: none; }
body.tv-broadcast-body .recent-winners,
body.tv-broadcast-body .winners { background: transparent; border-color: #405d79; box-shadow: none; }
body.tv-broadcast-body .recent-winner-item {
  --result-top: #0b3e77;
  --result-base: #03142d;
  --result-edge: #4a87be;
  --result-light: var(--tv-gold);
  background: radial-gradient(ellipse at 8% 0%, var(--result-top), transparent 78%), linear-gradient(110deg, var(--result-base) 62%, #020e24);
  border-color: var(--result-edge);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .24), 0 3px 9px rgba(0, 9, 28, .24);
}
body.tv-broadcast-body .recent-winner-item.recent-winner-quadra {
  --result-top: #07872c;
  --result-base: #002416;
  --result-edge: #32db68;
  --result-light: #fff9b7;
}
body.tv-broadcast-body .recent-winner-item.recent-winner-quina {
  --result-top: #075ed3;
  --result-base: #001846;
  --result-edge: #43aaff;
  --result-light: #edf8ff;
}
body.tv-broadcast-body .recent-winner-item.recent-winner-bingo {
  --result-top: #bd5500;
  --result-base: #371300;
  --result-edge: #ffa634;
  --result-light: #fff5b3;
}
body.tv-broadcast-body .recent-winner-item.recent-winner-acumulado {
  --result-top: #997400;
  --result-base: #302400;
  --result-edge: #f6d768;
  --result-light: #fff6bd;
}
body.tv-broadcast-body .winner-item,
body.tv-broadcast-body .ticket {
  background: #0a1b30;
  border-color: #38536f;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
body.tv-broadcast-body .recent-winner-item strong,
body.tv-broadcast-body .recent-winner-item small,
body.tv-broadcast-body .winner-item strong,
body.tv-broadcast-body .winner-item small { color: var(--tv-text); text-shadow: none; }
body.tv-broadcast-body .recent-winner-item span,
body.tv-broadcast-body .winner-item span { color: var(--tv-muted); }
body.tv-broadcast-body .recent-winner-item > b { color: var(--result-light); text-shadow: none; font-variant-numeric: tabular-nums; }
body.tv-broadcast-body .winner-item > b { color: var(--tv-gold); text-shadow: none; font-variant-numeric: tabular-nums; }
body.tv-broadcast-body .recent-winner-trophy,
body.tv-broadcast-body .winner-trophy { filter: none; }
body.tv-broadcast-body .ticket.ticket-missing-only { background: #0a1b30 !important; border-color: #3e5a78 !important; box-shadow: none !important; }
body.tv-broadcast-body .ticket-missing-only .ticket-player strong { color: var(--tv-text); text-shadow: none; }
body.tv-broadcast-body .ticket-missing-only .ticket-player small,
body.tv-broadcast-body .ticket-missing-only .missing-label { color: var(--tv-muted); }
body.tv-broadcast-body .ticket-missing-only .missing-number { color: #ffe8b8; background: #493a22; border-color: #aa8c56; }
body.tv-broadcast-body .ticket.is-winner-card { background: linear-gradient(110deg, #3b382e, #102239) !important; box-shadow: inset 0 0 0 1px rgba(244, 211, 138, .18) !important; border-color: #d8b86f !important; }
body.tv-broadcast-body .ticket.is-winner-card .ticket-player strong { color: var(--tv-gold) !important; text-shadow: none; }
body.tv-broadcast-body .participants-empty { color: var(--tv-muted); }

body.tv-broadcast-body .private-tickets-float-trigger { background: linear-gradient(120deg, #1d496f, #285e8e); border-color: #d8b86f; box-shadow: 0 8px 24px rgba(3, 15, 32, .3); }
body.tv-broadcast-body .private-tickets-float-trigger:hover { transform: none; }
body.tv-broadcast-body .private-tickets-float-icon { color: #14243a; background: #edd08e; box-shadow: none; }
body.tv-broadcast-body .private-tickets-float-panel { background: var(--tv-navy); border-color: #d8b86f; box-shadow: var(--tv-shadow); }
body.tv-broadcast-body .private-tickets-heading { color: var(--tv-text); }
body.tv-broadcast-body .winner-spotlight-card {
  --spotlight-accent: var(--tv-gold);
  --spotlight-surface: #173d61;
  padding: 32px;
  border-radius: 16px;
  background: linear-gradient(155deg, var(--spotlight-surface), #041328 75%);
  border-color: #456c94;
  border-top: 1px solid var(--spotlight-accent);
  box-shadow: 0 20px 50px rgba(0, 5, 19, .56);
}
body.tv-broadcast-body .winner-spotlight-quadra { --spotlight-accent: #87f1b0; --spotlight-surface: #0b3937; }
body.tv-broadcast-body .winner-spotlight-quina { --spotlight-accent: #a5dbff; --spotlight-surface: #103b70; }
body.tv-broadcast-body .winner-spotlight-bingo { --spotlight-accent: #ffd58b; --spotlight-surface: #413323; }
body.tv-broadcast-body .winner-spotlight-acumulado { --spotlight-accent: #fff0a3; --spotlight-surface: #3b3526; }
body.tv-broadcast-body .winner-spotlight-card::before,
body.tv-broadcast-body .winner-spotlight-card::after { content: none; }
body.tv-broadcast-body .winner-spotlight-ribbon {
  display: flex;
  flex-wrap: nowrap;
  justify-content: start;
  gap: 10px;
  padding: 0;
  color: var(--tv-text);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.tv-broadcast-body .winner-spotlight-mark {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: var(--tv-success);
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
body.tv-broadcast-body .winner-spotlight-ribbon small {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .02em;
}
body.tv-broadcast-body .winner-spotlight-ribbon b {
  margin-left: auto;
  padding: 7px 12px;
  border: 1px solid var(--spotlight-accent);
  border-radius: 8px;
  color: var(--spotlight-accent);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .03em;
}
body.tv-broadcast-body .winner-spotlight-heading {
  align-items: center;
  gap: 10px;
  margin: 22px 0 28px;
  padding-bottom: 18px;
  border-bottom: 1px solid #416387;
}
body.tv-broadcast-body .winner-spotlight-heading > strong {
  flex: 1 1 340px;
  min-width: 0;
  font-size: 24px;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 700;
  line-height: 1.25;
}
body.tv-broadcast-body .winner-spotlight-heading > b {
  margin: 0;
  padding: 0;
  color: var(--tv-muted);
  border: 0;
  font-size: 14px;
  font-weight: 600;
}
body.tv-broadcast-body .winner-spotlight-winner-hero { margin: 0 auto 22px; }
body.tv-broadcast-body .winner-spotlight-winner-hero strong {
  font-size: 40px;
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 800;
  line-height: 1.12;
  text-shadow: none;
}
body.tv-broadcast-body .winner-spotlight-prize-hero {
  margin: 0 0 24px;
  padding: 0;
  gap: 8px;
  border: 0;
}
body.tv-broadcast-body .winner-spotlight-prize-hero small {
  color: var(--tv-muted);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
}
body.tv-broadcast-body .winner-spotlight-prize-hero strong {
  max-width: 100%;
  color: var(--tv-gold);
  font-size: 76px;
  font-size: clamp(34px, 7.8vw, 84px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.03em;
  font-variant-numeric: tabular-nums;
  white-space: normal;
  overflow-wrap: anywhere;
  text-shadow: none;
}
body.tv-broadcast-body .winner-spotlight-message {
  margin: 0 0 24px;
  color: var(--tv-muted);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}
body.tv-broadcast-body .winner-spotlight-message strong { color: var(--spotlight-accent); }
body.tv-broadcast-body .winner-spotlight-ticket-codes {
  display: grid;
  gap: 6px;
  padding-top: 18px;
  color: var(--tv-muted);
  border-top: 1px solid #416387;
  text-align: center;
  font-size: 15px;
}
body.tv-broadcast-body .winner-spotlight-ticket-codes strong {
  color: var(--tv-text);
  font-size: 18px;
  font-weight: 600;
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
body.tv-broadcast-body .winner-spotlight-item {
  padding: 16px 0;
  border: 0;
  border-top: 1px solid #416387;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.tv-broadcast-body .winner-spotlight-item div { text-align: left; gap: 6px; }
body.tv-broadcast-body .winner-spotlight-item strong { font-size: 24px; font-weight: 700; line-height: 1.2; }
body.tv-broadcast-body .winner-spotlight-item span { color: var(--tv-muted); font-size: 15px; }
body.tv-broadcast-body > #winner-gift-overlay .winner-spotlight-item > b {
  color: var(--tv-gold);
  font-size: 32px !important;
  font-size: clamp(25px, 3.2vw, 36px) !important;
  text-shadow: none;
}
@media (max-width: 699px) {
  body.tv-broadcast-body > #winner-gift-overlay.winner-gift-overlay { width: 100% !important; }
  body.tv-broadcast-body .winner-spotlight-card { padding: 22px 18px; }
  body.tv-broadcast-body .winner-spotlight-ribbon { flex-wrap: wrap; }
  body.tv-broadcast-body .winner-spotlight-ribbon small { font-size: 12px; }
  body.tv-broadcast-body .winner-spotlight-ribbon b { font-size: 12px; padding: 6px 9px; }
  body.tv-broadcast-body .winner-spotlight-heading { align-items: start; margin: 20px 0 24px; gap: 8px; }
  body.tv-broadcast-body .winner-spotlight-heading > strong { flex: none; }
  body.tv-broadcast-body .winner-spotlight-prize-hero strong { font-size: clamp(32px, 10vw, 64px); }
  body.tv-broadcast-body .winner-spotlight-item { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.tv-broadcast-body .winner-spotlight-item > b { text-align: left; }
  body.tv-broadcast-body .winner-spotlight-item strong { font-size: 23px; }
  body.tv-broadcast-body #live-strip { --tv-recent-ball-size: 48px; }
  @supports (width: clamp(48px, 12vw, 56px)) {
    body.tv-broadcast-body #live-strip { --tv-recent-ball-size: clamp(48px, 12vw, 56px); }
  }
  body.tv-broadcast-body > main > .board > #live-strip .recent span.bingo-sphere > strong { font-size: 21px !important; }
}
@media (orientation: landscape) and (max-height: 500px) {
  body.tv-broadcast-body #live-strip { --tv-recent-ball-size: 40px; }
  body.tv-broadcast-body > main > .board > #live-strip .recent { gap: 6px !important; padding: 4px 8px !important; }
  body.tv-broadcast-body > main > .board > #live-strip .recent span.bingo-sphere > strong { font-size: 18px !important; }
}
body.tv-broadcast-body .next-round {
  color: var(--tv-muted);
  background: linear-gradient(155deg, #163655, #0d233c) !important;
  border-color: #7999b6 !important;
  box-shadow: var(--tv-shadow) !important;
}
body.tv-broadcast-body .next-round > strong {
  color: var(--tv-gold) !important;
  background: #0a1b30 !important;
  border-color: #617f9b !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body.tv-broadcast-body > .bottom { color: var(--tv-text); background: rgba(0, 44, 111, .7); border-color: #5b9fdd; text-shadow: 0 1px 2px #092e66; }
body.tv-broadcast-body .broadcast-live-indicator { background: var(--tv-success); box-shadow: none; }

/* Fit the reference's amount-first hierarchy inside the existing TV cards. */
@media (orientation: landscape) and (min-width: 700px) and (min-aspect-ratio: 1501/1000) and (min-height: 501px) and (max-height: 900px) {
  body.tv-broadcast-body > main > .board > .prizes .prize { padding-top: 3px; padding-bottom: 3px; }
  body.tv-broadcast-body > main > .board > .prizes .prize .prize-amount {
    font-size: 28px;
    font-size: clamp(17px, 2.25vw, 36px) !important;
    line-height: 1;
  }
  body.tv-broadcast-body > main > .board > .prizes .prize .prize-label {
    font-size: 12px;
    font-size: clamp(9px, .9vw, 14px);
    line-height: 1.05;
  }
  body.tv-broadcast-body > main > .board > .prizes .prize .prize-sub {
    font-size: 9px;
    font-size: clamp(7px, .65vw, 10px);
    line-height: 1.05;
  }
}

@media (max-width: 699px) {
  body.tv-broadcast-body > main > .board > .heading {
    background: linear-gradient(155deg, #163655, #0d233c);
    border-color: #6886a0;
    box-shadow: var(--tv-shadow);
  }
  body.tv-broadcast-body > main > .board > .heading .eyebrow,
  body.tv-broadcast-body > main > .board > .heading h1,
  body.tv-broadcast-body > main > .board > .heading .schedule-icon,
  body.tv-broadcast-body > main > .board > .heading .schedule strong,
  body.tv-broadcast-body > main > .board > .heading .room-tag {
    color: var(--tv-text) !important;
    text-shadow: none !important;
  }
  body.tv-broadcast-body > .topbar nav .buy-tickets-link {
    background: #edd08e;
    border-color: #fff0c5;
    color: #102239;
    box-shadow: none;
    text-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.tv-broadcast-body *, body.tv-broadcast-body *::before, body.tv-broadcast-body *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Compact the schedule strip on landscape TVs and return its height to the
   90-number board. Keep every schedule detail visible at 1280×720. */
@media (orientation: landscape) and (min-width: 950px) and (min-height: 501px) {
  body.tv-broadcast-body > main > .board > .next-round {
    flex: 0 0 40px !important;
    flex: 0 0 clamp(34px, 4.2vh, 40px) !important;
    height: 40px !important;
    height: clamp(34px, 4.2vh, 40px) !important;
    min-height: 0 !important;
    padding: 2px 8px !important;
    gap: clamp(4px, .45vw, 7px) !important;
    overflow: hidden !important;
  }

  body.tv-broadcast-body > main > .board > .next-round > .next-round-kicker {
    font-size: 9px !important;
    letter-spacing: .8px !important;
    line-height: 1 !important;
  }

  body.tv-broadcast-body > main > .board > .next-round > .next-round-copy strong {
    font-size: 14px !important;
    line-height: 1.05 !important;
  }

  body.tv-broadcast-body > main > .board > .next-round > .next-round-copy small {
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  body.tv-broadcast-body > main > .board > .next-round > strong {
    padding: 2px 6px !important;
    font-size: 18px !important;
    line-height: 1 !important;
  }

  body.tv-broadcast-body > main > .board > .next-round > .next-round-prizes {
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  body.tv-broadcast-body > main > .board > #number-board .number {
    font-size: 18px !important;
    font-size: clamp(15px, 1.6vw, 22px) !important;
    line-height: 1 !important;
  }
}
