/* Phone-only layout recovery. The earlier TV fit rules use a fixed viewport
   and hidden overflow; this final layer restores document flow on phones so
   every broadcast section remains reachable by scrolling. */
@media screen and (max-width: 699px), screen and (hover: none) and (pointer: coarse) and (orientation: portrait) {
  html {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.tv-broadcast-body {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 100vh !important;
    min-height: 100svh !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    overscroll-behavior-y: auto !important;
  }

  body.tv-broadcast-body > .topbar,
  body.tv-broadcast-body > main,
  body.tv-broadcast-body > .bottom {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.tv-broadcast-body > .topbar {
    flex: 0 0 auto !important;
  }

  body.tv-broadcast-body > main {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
  }

  body.tv-broadcast-body > main > .board {
    position: static !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.tv-broadcast-body > main > .board > .heading,
  body.tv-broadcast-body > main > .board > #prizes,
  body.tv-broadcast-body > main > .board > #waiting-screen,
  body.tv-broadcast-body > main > .board > #live-strip,
  body.tv-broadcast-body > main > .board > #number-board,
  body.tv-broadcast-body > main > .board > #next-round,
  body.tv-broadcast-body > main > .board > .winners {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.tv-broadcast-body > main > .board > #waiting-screen:not([hidden]) {
    display: flex !important;
    min-height: 190px !important;
    padding: 14px 10px !important;
    gap: 8px !important;
    animation: none !important;
  }

  body.tv-broadcast-body > main > .board > #waiting-screen .big-countdown {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 8px 0 !important;
  }

  body.tv-broadcast-body > main > .board > #waiting-screen .countdown-unit {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  body.tv-broadcast-body > main > .board > #waiting-screen .countdown-unit > span {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 7px 4px !important;
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1 !important;
  }

  body.tv-broadcast-body > main > .board > #waiting-screen .countdown-sep {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: clamp(24px, 7vw, 34px) !important;
    line-height: 1 !important;
  }

  body.tv-broadcast-body > main > .board > #live-strip.live-strip:not([hidden]) {
    min-height: 150px !important;
  }

  body.tv-broadcast-body > main > aside {
    position: static !important;
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.tv-broadcast-body > main > aside > .tickets {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.tv-broadcast-body > main > aside > .tickets > #participants {
    flex: 0 0 auto !important;
    max-height: 55vh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
  }

  body.tv-broadcast-body > main > aside > .tickets > .recent-winners {
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.tv-broadcast-body > .bottom {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  }
}
