/* Shared by browser, Chrome 51 APK and the ES5/KitKat canvas. */
html body.tv-broadcast-body #recent-winners {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0px !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
html body.tv-broadcast-body #recent-winners[hidden] { display: none !important; }
html body.tv-broadcast-body #recent-winners > .recent-winners-heading {
  flex: 0 0 auto !important; margin: 0 0 6px !important;
}
html body.tv-broadcast-body #recent-winners .recent-winners-list,
html body.tv-broadcast-body #recent-winners .recent-draw-group,
html body.tv-broadcast-body #recent-winners .recent-winner-list {
  display: flex !important; flex-direction: column !important;
  flex: 1 1 0px !important; min-height: 0 !important;
  width: 100% !important; overflow: hidden !important;
  padding: 0 !important; gap: 0 !important;
}
html body.tv-broadcast-body #recent-winners .recent-draw-group > header {
  flex: 0 0 auto !important; padding: 2px 0 5px !important; margin: 0 !important;
}
html body.tv-broadcast-body #recent-winners .recent-winner-fit-content {
  display: block !important; flex: 0 0 auto !important;
  transform-origin: left top; box-sizing: border-box;
}
html body.tv-broadcast-body #recent-winners .recent-winner-item {
  position: relative !important; display: flex !important;
  align-items: center !important; flex-wrap: nowrap !important;
  box-sizing: border-box !important; min-height: 0 !important; height: auto !important;
  padding: 6px 8px !important; margin: 0 0 4px !important; gap: 0 !important;
}
html body.tv-broadcast-body #recent-winners .recent-winner-trophy {
  position: static !important; flex: 0 0 20px !important; margin: 0 6px 0 0 !important; font-size: 16px !important;
}
html body.tv-broadcast-body #recent-winners .recent-winner-item > div {
  display: block !important; position: static !important; flex: 1 1 0px !important;
  width: auto !important; min-width: 0 !important; max-width: none !important;
}
html body.tv-broadcast-body #recent-winners .recent-winner-item small {
  display: block !important; font-size: 9px !important; line-height: 12px !important; margin: 0 !important;
}
html body.tv-broadcast-body #recent-winners .recent-winner-item strong {
  display: block !important; font-size: 15px !important; line-height: 18px !important;
  white-space: normal !important; overflow-wrap: break-word !important; margin: 0 !important; max-width: none !important;
}
html body.tv-broadcast-body #recent-winners .recent-winner-codes {
  display: block !important; font-size: 10px !important; line-height: 13px !important; margin: 0 !important;
}
html body.tv-broadcast-body #recent-winners .recent-winner-item > b {
  position: static !important; flex: 0 0 auto !important; font-size: 20px !important; line-height: 24px !important;
  padding: 0 !important; margin: 0 0 0 8px !important; border: 0 !important; white-space: nowrap !important;
}
/* Only the official current prize pulses; text and card geometry stay still. */
@keyframes tv-current-prize-neon {
  0%,100% { box-shadow: inset 0 0 0 5px #ffdf00, inset 0 0 22px rgba(255,223,0,.7), 0 0 12px #ffdf00; }
  50% { box-shadow: inset 0 0 0 7px #ffffff, inset 0 0 30px rgba(255,223,0,.95), 0 0 25px #ffdf00; }
}
html body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-active {
  animation: tv-current-prize-neon 1.15s ease-in-out infinite !important;
  border-color: #fff4ac !important;
}
@media (prefers-reduced-motion: reduce) {
  html body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-active {
    animation: none !important;
    box-shadow: inset 0 0 0 3px #fff4ac, 0 0 14px #ffe060 !important;
  }
}
html[data-tv-motion-paused="true"] body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-active { animation-play-state: paused !important; }

/* A readable yellow status band distinguishes the current award at a distance. */
html body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-active .prize-current-label {
  display:block !important; background:#ffdf00 !important; color:#101923 !important;
  font-weight:900 !important; font-size:15px !important; line-height:20px !important;
  padding:2px 5px !important; border-radius:3px !important; text-shadow:none !important;
  letter-spacing:0 !important; white-space:nowrap !important;
}
html body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-active {
  position:relative; z-index:2; border-color:#ffdf00 !important;
}
html body.tv-broadcast-body > main > .board > #prizes.prizes .prize { opacity:1; }
html body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-dimmed { opacity:.78; }
@media(max-width:699px){
 html body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-active .prize-current-label {font-size:10px !important;line-height:13px !important;padding:1px 3px !important;}
}

html body.tv-broadcast-body > main > .board > #prizes.prizes .prize.prize-accumulated-ready {opacity:1 !important;filter:none !important;box-shadow:inset 0 0 0 3px #ffe18a,0 0 14px rgba(255,210,85,.8) !important;}

/* Private cards form one scrollable list; the public ranking stays unchanged. */
html body.tv-broadcast-body #private-participants {
 display:block !important; flex:1 1 0 !important; min-height:0 !important;
 overflow-y:auto !important; overflow-x:hidden !important;
 touch-action:pan-y; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
}
html body.tv-broadcast-body #private-participants > .ticket-private-full {
 flex:none !important; height:auto !important; min-height:var(--private-card-height,190px) !important;
 margin-bottom:8px !important;
}
html body.tv-broadcast-body .private-current-call {
 display:flex; align-items:center; justify-content:space-between; gap:12px;
 min-height:58px; margin:0 0 2px; padding:8px 12px;
 border:1px solid rgba(129,190,255,.55); border-radius:14px;
 background:linear-gradient(135deg,#13375e,#0b1e36);
}
html body.tv-broadcast-body .private-current-call > span {display:flex; flex-direction:column; gap:5px; min-width:0;}
html body.tv-broadcast-body .private-current-call > span strong {color:#bcdcff; font-size:11px; letter-spacing:.08em;}
html body.tv-broadcast-body .private-current-call > span small {color:#fff; font-size:12px; font-weight:700;}
html body.tv-broadcast-body .private-current-ball {
 display:grid; flex:0 0 48px; width:48px; height:48px; place-items:center;
 border:3px solid #fff; border-radius:50%; color:#111827; background:#f3f4f6;
 box-shadow:inset 0 2px 4px rgba(255,255,255,.75),0 3px 10px rgba(0,0,0,.35);
 font-size:22px; font-weight:900; line-height:1;
}
html body.tv-broadcast-body .private-current-ball.ball-group-B {background:#168fe0;}
html body.tv-broadcast-body .private-current-ball.ball-group-I {background:#e73247;}
html body.tv-broadcast-body .private-current-ball.ball-group-N {background:#16b84b;}
html body.tv-broadcast-body .private-current-ball.ball-group-G {background:#f29a16;}
html body.tv-broadcast-body .private-current-ball.ball-group-O {background:#a8b0ba;}

/* On a phone, keep all private tickets in one vertical list. The ticket area
   scrolls inside the sheet while the called number and close button stay put. */
@media screen and (max-width:699px), screen and (hover:none) and (pointer:coarse) and (orientation:portrait) {
 html body.tv-broadcast-body .private-tickets-float.is-open {
  inset:auto 0 0; right:0; bottom:0; left:0; width:100%; max-width:none;
  pointer-events:none;
 }
 html body.tv-broadcast-body .private-tickets-float.is-open::before {
  content:""; position:fixed; inset:0; z-index:-1;
  background:rgba(1,8,20,.68); pointer-events:none;
 }
 html body.tv-broadcast-body .private-tickets-float.is-open > .private-tickets-float-trigger {display:none;}
 html body.tv-broadcast-body .private-tickets-float-panel:not([hidden]) {
  position:fixed; right:auto; bottom:0; left:50%; transform:translateX(-50%);
  box-sizing:border-box; width:min(100vw,520px); height:min(86vh,820px); height:min(86dvh,820px);
  max-height:calc(100vh - 8px) !important; max-height:calc(100dvh - 8px) !important;
  margin:0; padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));
  overflow:hidden; border-radius:20px 20px 0 0;
 }
 html body.tv-broadcast-body .private-tickets-heading {padding:0 2px 6px; font-size:16px;}
 html body.tv-broadcast-body .private-tickets-heading button {width:52px; height:52px; min-width:52px; min-height:52px; flex-basis:52px;}
 html body.tv-broadcast-body .private-current-call {
  display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:12px;
  min-height:68px; padding:8px 12px; border:1px solid rgba(129,190,255,.55);
  border-radius:14px; background:linear-gradient(135deg,#13375e,#0b1e36);
 }
 html body.tv-broadcast-body .private-current-call > span {display:flex; flex-direction:column; gap:5px; min-width:0;}
 html body.tv-broadcast-body .private-current-call > span strong {color:#bcdcff; font-size:12px; letter-spacing:.08em;}
 html body.tv-broadcast-body .private-current-call > span small {color:#fff; font-size:13px; font-weight:700;}
 html body.tv-broadcast-body .private-current-ball {
  display:grid; flex:0 0 54px; width:54px; height:54px; place-items:center;
  border:3px solid #fff; border-radius:50%; color:#111827; background:#f3f4f6;
  box-shadow:inset 0 2px 4px rgba(255,255,255,.75),0 3px 10px rgba(0,0,0,.35);
  font-size:24px; font-weight:900; line-height:1;
 }
 html body.tv-broadcast-body .private-current-ball.ball-group-B {background:#168fe0;}
 html body.tv-broadcast-body .private-current-ball.ball-group-I {background:#e73247;}
 html body.tv-broadcast-body .private-current-ball.ball-group-N {background:#16b84b;}
 html body.tv-broadcast-body .private-current-ball.ball-group-G {background:#f29a16;}
 html body.tv-broadcast-body .private-current-ball.ball-group-O {background:#a8b0ba;}
 html body.tv-broadcast-body #private-participants {
  display:block !important; flex:1 1 0 !important; min-height:0 !important; max-height:none !important;
  margin-top:2px; overflow-x:hidden !important; overflow-y:auto !important;
  touch-action:pan-y; -webkit-overflow-scrolling:touch;
 }
 html body.tv-broadcast-body #private-participants > .ticket-private-full {margin:0 !important;}
}
