/* Sonariva TV 1.7.1 · portrait web presentation.
   Only the controller activates these selectors. An embedded landscape canvas
   never decides its own orientation, and TV / broadcast / channels 09–10 keep
   their original rules. No media element is duplicated or moved. */
html.stv-mobile-page .stv-signal-frame.stv-mobile-signal-frame {
  aspect-ratio:auto!important;
  height:var(--stv-mobile-frame-height)!important;
  min-height:0!important;
}
html.stv-mobile-page .stv-signal-frame.stv-mobile-signal-frame>iframe {
  position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
}
html.stv-mobile-page .stv-signal-frame:fullscreen,
html.stv-mobile-page .stv-signal-frame:-webkit-full-screen {
  height:100vh!important; aspect-ratio:auto!important;
}

html.stv-mobile-layout {
  --stv43-u:1vw;
  --stv-cont-u:1vw;
  --stv-mobile-gap:12px;
  height:auto!important; min-height:0!important; overflow-x:hidden!important;
  background:#f4f5f9!important;
}
html.stv-mobile-layout body {
  display:block!important; position:relative; width:100%!important;
  height:auto!important; min-height:0!important; margin:0!important; padding:0!important;
  overflow-x:hidden!important; overflow-y:auto!important;
}
html.stv-mobile-layout :is(.stv-broadcast,.stv-topic,.stv2-broadcast) {
  position:relative!important; display:flex!important; flex-direction:column!important;
  width:100%!important; max-width:none!important; min-width:0!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  aspect-ratio:auto!important; margin:0!important; padding:0 0 12px!important;
  overflow:hidden!important; transform:none!important; box-sizing:border-box;
  container-type:inline-size;
}
html.stv-mobile-layout :is(.stv-safe-guide,.stv-topic__ambient,.stv2-ambient,.stv2-dots,.stv2-rings,.stv2-scan) { display:none!important; }

/* A small channel masthead precedes the full-width player. Contact blocks and
   the extra weather summary belong to the desktop television header. */
html.stv-mobile-layout header.stv-signal-header {
  flex:0 0 auto!important; height:auto!important; min-height:68px!important;
  grid-template-columns:minmax(0,1fr) auto!important; grid-template-rows:auto!important;
  padding:10px 14px!important; gap:12px!important;
}
html.stv-mobile-layout header.stv-signal-header>.stv-signal-header__brand {
  grid-template-columns:52px minmax(0,1fr)!important; column-gap:9px!important;
}
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__brand>img { width:52px!important; height:40px!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__number { gap:4px 6px!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__number>span { font-size:9px!important; letter-spacing:.08em!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__number>strong { width:27px!important; height:21px!important; font-size:12px!important; border-radius:6px!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__number>.stv-signal-header__name { font-size:12px!important; padding-top:2px!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__topic,
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__contacts,
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__weather { display:none!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__clock { grid-column:2!important; grid-row:1!important; justify-self:end!important; gap:4px!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__clock-line>strong { font-size:21px!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__clock>time { font-size:9px!important; max-width:116px; white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__event { max-width:120px; }
html.stv-mobile-layout header.stv-signal-header .stv-signal-header__event :is(span,strong,time) { font-size:9px!important; }

/* The central image / HLS / remote player is the first item. Service cards are
   a separate row in document flow, so they cannot cover any part of its image. */
html.stv-mobile-layout .stv-broadcast>.stv-content,
html.stv-mobile-layout .stv-topic>.stv-topic__layout {
  position:relative!important; display:grid!important; flex:0 0 auto!important;
  grid-template-columns:minmax(0,1fr)!important; grid-template-rows:auto auto!important;
  height:auto!important; min-height:0!important; gap:16px!important; padding:12px!important;
}
html.stv-mobile-layout :is(.stv-lead,.stv-topic__lead) {
  grid-column:1!important; grid-row:1!important;
  position:relative!important; width:100%!important; height:auto!important;
  aspect-ratio:16 / 9; min-height:250px!important; max-height:none!important;
  border-radius:14px!important; overflow:hidden!important;
}
html.stv-mobile-layout :is(.stv-lead-video,.stv-channel-live,.stv-remote-media-host) { inset:0!important; width:100%!important; height:100%!important; max-height:100%!important; }
html.stv-mobile-layout .stv-channel-live { border:0!important; border-radius:inherit!important; }
html.stv-mobile-layout :is(.stv-lead-video,.stv-channel-live video,.stv-remote-media-frame video) { object-fit:contain!important; }
html.stv-mobile-layout .stv-topic__lead>img { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; object-fit:cover; }
html.stv-mobile-layout :is(.stv-lead-content,.stv-topic__copy) {
  position:absolute!important; inset:auto 0 0!important; width:100%!important;
  max-width:100%!important; padding:56px 16px 18px!important; box-sizing:border-box;
}
html.stv-mobile-layout :is(.stv-lead h1,.stv-topic__copy h1) {
  display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:4!important;
  max-width:100%!important; margin:6px 0!important; padding:0!important;
  color:#fff!important; font-size:clamp(22px,5.7vw,34px)!important;
  line-height:1.12!important; letter-spacing:-.025em!important; overflow:hidden!important;
}
html.stv-mobile-layout :is(.stv-lead p,.stv-topic__copy p) {
  max-width:100%!important; margin:6px 0!important; font-size:13px!important;
  line-height:1.4!important; -webkit-line-clamp:2!important;
}
html.stv-mobile-layout :is(.stv-eyebrow,.stv-topic__copy>span) { font-size:10px!important; padding:5px 7px!important; border-radius:5px!important; margin:0!important; }
html.stv-mobile-layout .stv-eyebrow::before { width:12px!important; height:3px!important; }
html.stv-mobile-layout :is(.stv-lead-content small,.stv-topic__copy a,.stv-topic__copy b) { font-size:10px!important; line-height:1.25!important; margin-top:5px!important; }
html.stv-mobile-layout .stv-topic__copy>div { gap:12px!important; }
html.stv-mobile-layout .stv-slide-count { top:12px!important; right:116px!important; gap:3px!important; }
html.stv-mobile-layout .stv-slide-count strong { font-size:20px!important; }
html.stv-mobile-layout .stv-slide-count span { font-size:10px!important; }
html.stv-mobile-layout :is(.stv-story-nav,.stv-topic__arrows) { top:10px!important; right:10px!important; bottom:auto!important; gap:6px!important; }
html.stv-mobile-layout :is(.stv-story-nav,.stv-topic__arrows) button { width:40px!important; height:40px!important; font-size:28px!important; border-radius:50%!important; }
html.stv-mobile-layout .stv-story-nav span { font-size:28px!important; }
html.stv-mobile-layout :is(.stv-progress,.stv-topic__progress) { height:3px!important; bottom:0!important; }
html.stv-mobile-layout .stv-progress i { height:3px!important; }
html.stv-mobile-layout .stv-host { display:none!important; }
html.stv-mobile-layout :is(.stv-continuity-signature,.stv-continuity-ident) { top:10px!important; left:10px!important; max-width:58%!important; padding:7px 9px!important; border-radius:7px!important; }
html.stv-mobile-layout .stv-continuity-signature>span { font-size:9px!important; padding-right:6px!important; }
html.stv-mobile-layout .stv-continuity-signature>strong,
html.stv-mobile-layout .stv-continuity-ident>span { font-size:11px!important; }
html.stv-mobile-layout .stv-continuity-signature>small,
html.stv-mobile-layout .stv-continuity-ident>strong { font-size:9px!important; }

/* Below-player cards use readable document text, never a shrunken 16:9 unit. */
html.stv-mobile-layout :is(.stv-info-dock,.stv-topic__rail) {
  position:relative!important; inset:auto!important; grid-column:1!important; grid-row:2!important;
  display:grid!important; grid-template-columns:minmax(0,1fr)!important; grid-template-rows:auto!important;
  height:auto!important; min-height:0!important; gap:12px!important; overflow:visible!important;
}
html.stv-mobile-layout .stv-mobile-channel-shortcut {
  position:relative; grid-column:1!important; grid-row:2!important;
  display:block; width:100%; min-height:44px; padding:11px 16px; margin:0;
  border:1px solid #cbd7e5; border-radius:11px; background:#e8e3f1; color:#354861;
  font:700 14px/1.4 "Avenir Next",Avenir,"Segoe UI",Arial,sans-serif; cursor:pointer;
}
html.stv-mobile-layout .stv-mobile-channel-shortcut[hidden] { display:none!important; }
html.stv-mobile-layout .stv-mobile-channel-shortcut:focus-visible { outline:2px solid #74658e; outline-offset:3px; }
html.stv-mobile-layout .stv-mobile-channel-shortcut~:is(.stv-info-dock,.stv-topic__rail) { grid-row:3!important; }
html.stv-mobile-layout .stv2-broadcast>.stv-mobile-channel-shortcut { width:calc(100% - 24px); margin:0 12px 12px; flex:0 0 auto; }
html.stv-mobile-layout :is(.stv-lottery-dock,.stv-topic__card) {
  position:relative!important; inset:auto!important; flex:0 0 auto!important;
  width:100%!important; height:auto!important; min-height:0!important; max-height:none!important;
  padding:16px!important; border-radius:14px!important; box-sizing:border-box;
}
html.stv-mobile-layout :is(.stv-lottery-dock,.stv-topic__card)>header { padding-bottom:10px!important; margin-bottom:10px!important; gap:8px!important; }
html.stv-mobile-layout :is(.stv-lottery-dock,.stv-topic__card)>header span { font-size:13px!important; line-height:1.3!important; }
html.stv-mobile-layout :is(.stv-lottery-dock,.stv-topic__card)>header small { font-size:10px!important; line-height:1.2!important; padding:4px 6px!important; }
html.stv-mobile-layout :is(.stv-info-dock-list,.stv-lottery-dock-inner) { height:auto!important; min-height:0!important; gap:8px!important; margin:0!important; }
html.stv-mobile-layout .stv-info-dock-row {
  height:auto!important; min-height:72px!important; grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important; padding:11px 12px!important; gap:5px!important; border-radius:9px!important;
}
html.stv-mobile-layout .stv-info-dock-row>span { grid-column:1!important; grid-row:1!important; font-size:11px!important; }
html.stv-mobile-layout .stv-info-dock-row>strong { grid-column:1!important; grid-row:2!important; font-size:16px!important; line-height:1.3!important; overflow-wrap:break-word; }
html.stv-mobile-layout .stv-info-dock-row>small { grid-column:1!important; grid-row:3!important; font-size:11px!important; line-height:1.3!important; }
html.stv-mobile-layout :is(.stv-info-dock-footer,.stv-lottery-legal) { display:block; margin-top:10px!important; font-size:11px!important; line-height:1.4!important; }
html.stv-mobile-layout .stv-lottery-card { height:auto!important; min-height:0!important; padding:12px!important; border-radius:10px!important; margin:8px 0!important; }
html.stv-mobile-layout .stv-lottery-card strong { font-size:17px!important; line-height:1.2!important; }
html.stv-mobile-layout .stv-lottery-card :is(span,time) { font-size:11px!important; line-height:1.3!important; }
html.stv-mobile-layout :is(.stv-lottery-live-numbers,.stv-number-row) { gap:5px!important; margin:12px 0!important; flex-wrap:wrap!important; }
html.stv-mobile-layout :is(.stv-lottery-live-numbers,.stv-lottery-live-extra,.stv-number-row) b { width:32px!important; height:32px!important; font-size:14px!important; border-radius:50%!important; }
html.stv-mobile-layout .stv-lottery-live-extra { gap:6px!important; }
html.stv-mobile-layout .stv-lottery-live-extra small,
html.stv-mobile-layout body #stvRotatingDock.is-lottery .stv-lottery-status { font-size:11px!important; line-height:1.4!important; }

/* The existing headlines controller still advances its real rows. Give its
   measurement window a stable height independent of the iframe viewport. */
html.stv-mobile-layout body #stvRotatingDock.is-news { --stv-headline-u:13px; --stv-headline-gap:9px; gap:10px!important; }
html.stv-mobile-layout body #stvRotatingDock.is-news>.stv-rotating-dock-head>span { font-size:13px!important; }
html.stv-mobile-layout body #stvRotatingDock.is-news>.stv-rotating-dock-head>small,
html.stv-mobile-layout body #stvRotatingDock.is-news>.stv-info-dock-footer { font-size:11px!important; }
html.stv-mobile-layout body #stvRotatingDock.is-news .stv-headlines-pause { width:40px!important; height:40px!important; font-size:17px!important; border-radius:8px!important; }
html.stv-mobile-layout body #stvRotatingDock.is-news .stv-headlines-window { flex:0 0 402px!important; height:402px!important; }
html.stv-mobile-layout body #stvRotatingDock.is-news .stv-headlines-track>.stv-info-dock-row { min-height:0!important; padding:10px 12px 19px!important; gap:5px!important; }
html.stv-mobile-layout body #stvRotatingDock.is-news .stv-headlines-track>.stv-info-dock-row>span,
html.stv-mobile-layout body #stvRotatingDock.is-news .stv-headlines-track>.stv-info-dock-row>small { font-size:11px!important; line-height:1.25!important; }
html.stv-mobile-layout body #stvRotatingDock.is-news .stv-headlines-track>.stv-info-dock-row>strong { font-size:16px!important; line-height:1.25!important; -webkit-line-clamp:3!important; }

html.stv-mobile-layout .stv-topic__weather-card>div { margin:12px 0!important; gap:10px!important; }
html.stv-mobile-layout .stv-topic__weather-card>div i { font-size:32px!important; }
html.stv-mobile-layout .stv-topic__weather-card>div strong { font-size:27px!important; line-height:1.1!important; }
html.stv-mobile-layout .stv-topic__weather-card h2 { font-size:18px!important; margin:8px 0!important; }
html.stv-mobile-layout .stv-topic__card p { font-size:13px!important; line-height:1.4!important; }
html.stv-mobile-layout .stv-topic__context-card #stvTopicContext { gap:8px!important; margin-top:10px!important; }
html.stv-mobile-layout .stv-topic__context-card #stvTopicContext p { padding:10px!important; border-radius:8px!important; font-size:13px!important; }
html.stv-mobile-layout .stv-topic__context-card #stvTopicContext p strong { font-size:15px!important; line-height:1.3!important; }
html.stv-mobile-layout .stv-topic__context-card #stvTopicContext p span { margin-top:4px!important; font-size:12px!important; line-height:1.4!important; }
html.stv-mobile-layout .stv-topic__radio-card>strong { font-size:18px!important; margin:10px 0!important; }
html.stv-mobile-layout .stv-topic__radio-card.has-stv-continuity-data { grid-template-rows:auto auto auto!important; row-gap:10px!important; padding:16px!important; }
html.stv-mobile-layout .stv-continuity-program { gap:10px!important; padding:5px 0!important; }
html.stv-mobile-layout .stv-continuity-program__logo { flex:0 0 48px!important; width:48px!important; height:52px!important; }
html.stv-mobile-layout :is(.stv-continuity-program span,.stv-continuity-next>span) { font-size:11px!important; line-height:1.3!important; }
html.stv-mobile-layout :is(.stv-continuity-program strong,.stv-continuity-next>strong) { font-size:18px!important; line-height:1.25!important; margin:5px 0!important; -webkit-line-clamp:2!important; }
html.stv-mobile-layout :is(.stv-continuity-program small,.stv-continuity-next>small,.stv-continuity-next>time) { font-size:12px!important; line-height:1.3!important; }
html.stv-mobile-layout .stv-topic__radio-card .stv-continuity-next { gap:5px 10px!important; padding:12px 0 0!important; }
html.stv-mobile-layout .stv-topic__radio-card .stv-continuity-next>time { font-size:12px!important; }

/* Actual programme and result bands follow the player and its service rail. */
html.stv-mobile-layout .stv-broadcast>.stv-lower-third {
  position:relative!important; display:grid!important; flex:0 0 auto!important;
  height:auto!important; min-height:0!important; grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important; margin:0 12px 12px!important; border-radius:12px!important;
}
html.stv-mobile-layout .stv-onair { padding:10px 14px!important; justify-content:flex-start!important; gap:8px!important; }
html.stv-mobile-layout .stv-onair span { font-size:10px!important; }
html.stv-mobile-layout .stv-onair strong { font-size:12px!important; }
html.stv-mobile-layout .stv-onair>i { width:7px!important; height:7px!important; }
html.stv-mobile-layout .stv-now { padding:14px!important; gap:12px!important; }
html.stv-mobile-layout .stv-now>#stvCover { flex:0 0 48px!important; width:48px!important; height:48px!important; }
html.stv-mobile-layout :is(.stv-track>span,.stv-next>span) { font-size:11px!important; line-height:1.3!important; }
html.stv-mobile-layout .stv-track h3 { margin:5px 0!important; font-size:19px!important; line-height:1.25!important; white-space:normal!important; }
html.stv-mobile-layout .stv-track p { font-size:13px!important; line-height:1.35!important; }
html.stv-mobile-layout .stv-wave { display:none!important; }
html.stv-mobile-layout .stv-next { padding:14px!important; gap:5px 10px!important; border-left:0!important; border-top:1px solid var(--stv-cont-accent,#d8deea)!important; }
html.stv-mobile-layout .stv-next>strong { font-size:18px!important; line-height:1.3!important; white-space:normal!important; }
html.stv-mobile-layout .stv-next>small { font-size:12px!important; line-height:1.3!important; }
html.stv-mobile-layout .stv-continuity-next-time { font-size:12px!important; }
html.stv-mobile-layout .stv-continuity-progress { height:3px!important; }
html.stv-mobile-layout .stv-broadcast>:is(.stv-data-bands,.stv-extra-ticker,.stv-breaking-ticker),
html.stv-mobile-layout .stv-remote-breaking-ticker {
  position:relative!important; inset:auto!important; flex:0 0 auto!important;
  width:100%!important; height:auto!important; min-height:48px!important;
  margin:0!important; grid-template-rows:auto!important; box-sizing:border-box;
}
html.stv-mobile-layout .stv-data-band { min-height:74px!important; height:auto!important; }
html.stv-mobile-layout .stv-data-label { min-width:80px!important; padding:10px!important; font-size:11px!important; }
html.stv-mobile-layout .stv-data-label small { font-size:9px!important; margin-top:4px!important; }
html.stv-mobile-layout .stv-data-item { min-width:220px!important; padding:10px 12px!important; }
html.stv-mobile-layout :is(.stv-data-item strong,.stv-data-item span,.stv-score-band-line span.stv-score-band-team) { font-size:12px!important; line-height:1.3!important; }
html.stv-mobile-layout .stv-score-band-value { min-width:44px!important; padding:6px!important; font-size:13px!important; }
html.stv-mobile-layout :is(.stv-extra-ticker,.stv-breaking-ticker,.stv-remote-breaking-ticker)>strong { max-width:112px!important; padding:10px!important; font-size:10px!important; white-space:normal!important; }
html.stv-mobile-layout :is(.stv-extra-ticker-window,.stv-ticker-window,.stv-remote-breaking-ticker span) { font-size:13px!important; line-height:1.4!important; }
html.stv-mobile-layout .stv-extra-ticker-entry b { font-size:11px!important; }
html.stv-mobile-layout .stv-extra-ticker-entry small { font-size:11px!important; }
html.stv-mobile-layout .stv-topic>.stv-topic__footer { position:relative!important; inset:auto!important; flex:0 0 auto!important; height:auto!important; min-height:60px!important; gap:10px!important; padding:10px 12px!important; }
html.stv-mobile-layout .stv-topic__live { padding:8px!important; gap:5px!important; }
html.stv-mobile-layout .stv-topic__live strong { font-size:10px!important; }
html.stv-mobile-layout .stv-topic__live span { display:none!important; }
html.stv-mobile-layout .stv-topic__ticker span { font-size:13px!important; }
html.stv-mobile-layout .stv-topic__footer>button { min-height:40px!important; padding:6px!important; font-size:11px!important; }
html.stv-mobile-layout .stv-topic__footer>button i { width:28px!important; height:28px!important; }

/* Festival: retain the same stage and all of its actual media hosts. */
html.stv-mobile-layout .stv2-broadcast>.stv2-stage {
  position:relative!important; flex:0 0 auto!important; height:auto!important; min-height:310px!important;
  aspect-ratio:4 / 3; width:calc(100% - 24px)!important; margin:12px!important;
  grid-template-columns:minmax(0,1fr)!important; grid-template-rows:minmax(0,1fr) auto auto!important;
  justify-items:center!important; gap:8px!important; padding:16px!important;
  border-radius:14px!important; overflow:hidden!important; box-sizing:border-box;
}
html.stv-mobile-layout .stv2-logo-wrap { grid-column:1!important; grid-row:1!important; width:160px!important; max-height:140px!important; }
html.stv-mobile-layout .stv2-logo-wrap img { width:100%!important; max-height:130px!important; object-fit:contain; }
html.stv-mobile-layout .stv2-claim { grid-column:1!important; grid-row:2!important; text-align:center!important; }
html.stv-mobile-layout .stv2-claim span { font-size:10px!important; }
html.stv-mobile-layout .stv2-claim strong { font-size:28px!important; }
html.stv-mobile-layout .stv2-candidatures { grid-column:1!important; grid-row:3!important; width:100%!important; max-width:none!important; gap:6px!important; text-align:center!important; }
html.stv-mobile-layout .stv2-candidatures>small { font-size:11px!important; }
html.stv-mobile-layout .stv2-candidatures>strong { max-width:none!important; font-size:14px!important; line-height:1.3!important; }
html.stv-mobile-layout .stv2-candidature-cta { padding:8px 12px!important; min-height:36px!important; font-size:12px!important; }
html.stv-mobile-layout .stv2-candidature-domain { font-size:10px!important; }
html.stv-mobile-layout .stv2-program-visual { inset:0!important; border:0!important; border-radius:14px!important; }
html.stv-mobile-layout .stv2-program-visual__copy { left:16px!important; right:16px!important; bottom:20px!important; }
html.stv-mobile-layout .stv2-program-visual__copy h2 { max-width:100%!important; font-size:28px!important; line-height:1.12!important; }
html.stv-mobile-layout .stv2-program-visual__copy p { max-width:100%!important; font-size:14px!important; }
html.stv-mobile-layout .stv2-program-visual__copy>span,
html.stv-mobile-layout .stv2-program-visual__copy>strong { font-size:11px!important; }
html.stv-mobile-layout .stv2-broadcast>.stv2-footer,
html.stv-mobile-layout .stv2-footer.has-stv-continuity-data { flex:0 0 auto!important; height:auto!important; min-height:0!important; grid-template-columns:minmax(0,1fr)!important; padding:16px!important; gap:14px!important; }
html.stv-mobile-layout .stv2-footer-brand { gap:6px!important; }
html.stv-mobile-layout .stv2-footer-brand :is(strong,span) { font-size:11px!important; }
html.stv-mobile-layout .stv-continuity-strip { grid-template-columns:minmax(0,1fr)!important; gap:12px!important; height:auto!important; }
html.stv-mobile-layout .stv-continuity-strip .stv-continuity-next { border-left:0!important; border-top:1px solid var(--stv-cont-accent,#ddd)!important; padding:12px 0 0!important; }
html.stv-mobile-layout .stv-continuity-strip strong { font-size:18px!important; }
html.stv-mobile-layout .stv-continuity-strip span { font-size:11px!important; }

/* Full-screen broadcast overlays become boxes over the visible player only.
   JS measures this region without moving the overlay, iframe, or video. */
html.stv-mobile-layout body [data-stv-mobile-overlay] {
  position:absolute!important; inset:auto!important;
  left:var(--stv-mobile-overlay-left,12px)!important; top:var(--stv-mobile-overlay-top,80px)!important;
  right:auto!important; bottom:auto!important;
  width:var(--stv-mobile-overlay-width,calc(100% - 24px))!important;
  height:var(--stv-mobile-overlay-height,250px)!important;
  min-width:0!important; min-height:0!important; max-width:none!important; max-height:none!important;
  margin:0!important; box-sizing:border-box!important; border-radius:14px!important;
  overflow:hidden!important; transform:none!important;
}
html.stv-mobile-layout body [data-stv-mobile-overlay][hidden] { display:none!important; }
html.stv-mobile-layout body .stv-countdown-scene { --stv-countdown-u:1vw; }
html.stv-mobile-layout body .stv-countdown-scene>.stv-countdown-stage { gap:5px!important; width:90%!important; max-width:90%!important; max-height:94%!important; padding:10px!important; }
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-logo { width:78px!important; height:58px!important; max-height:24%!important; margin:0!important; }
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-eyebrow { font-size:10px!important; letter-spacing:.12em!important; }
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-title { display:-webkit-box!important; -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important; overflow:hidden!important; font-size:20px!important; line-height:1.15!important; margin:0!important; }
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-label { font-size:10px!important; margin:0!important; }
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-clock { font-size:48px!important; line-height:1!important; margin:0!important; }
html.stv-mobile-layout body .stv-countdown-scene[data-clock-format="hours"] .stv-countdown-clock,
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-clock--long { font-size:36px!important; }
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-clock--live { font-size:28px!important; }
html.stv-mobile-layout body .stv-countdown-scene .stv-countdown-detail { font-size:11px!important; line-height:1.3!important; margin:0!important; }
html.stv-mobile-layout :is(.stv-welcome-screen,.stv-topic__intro,.stv2-intro) { padding:12px!important; gap:6px!important; }
html.stv-mobile-layout :is(.stv-welcome-screen,.stv-topic__intro,.stv2-intro)>img { width:100px!important; height:72px!important; margin:0 auto!important; }
html.stv-mobile-layout :is(.stv-welcome-screen,.stv-topic__intro,.stv2-intro) h1 { font-size:26px!important; line-height:1.1!important; margin:4px 0!important; }
html.stv-mobile-layout :is(.stv-welcome-screen,.stv-topic__intro,.stv2-intro)>span { font-size:10px!important; }
html.stv-mobile-layout :is(.stv-welcome-screen,.stv-topic__intro,.stv2-intro)>p { font-size:12px!important; line-height:1.35!important; margin:4px 0!important; }
html.stv-mobile-layout :is(.stv-welcome-screen,.stv-topic__intro,.stv2-intro)>time { font-size:10px!important; margin:4px 0!important; padding:5px!important; }
html.stv-mobile-layout .stv-remote-breaking { padding:16px!important; gap:8px!important; }
html.stv-mobile-layout .stv-remote-breaking>strong { font-size:25px!important; line-height:1.12!important; }
html.stv-mobile-layout .stv-remote-breaking>p { max-width:100%!important; font-size:13px!important; }
html.stv-mobile-layout .stv-remote-breaking>span,
html.stv-mobile-layout .stv-remote-breaking>small { font-size:10px!important; }
html.stv-mobile-layout .stv-breaking-alert { padding:12px 16px!important; gap:6px!important; }
html.stv-mobile-layout .stv-breaking-header img { width:40px!important; height:28px!important; }
html.stv-mobile-layout .stv-breaking-header strong,
html.stv-mobile-layout .stv-breaking-header>span { font-size:10px!important; }
html.stv-mobile-layout .stv-breaking-label { padding:5px 8px!important; font-size:10px!important; }
html.stv-mobile-layout .stv-breaking-copy { max-width:100%!important; padding:0!important; }
html.stv-mobile-layout .stv-breaking-copy h2 { font-size:24px!important; line-height:1.1!important; -webkit-line-clamp:3!important; }
html.stv-mobile-layout .stv-breaking-copy p { font-size:12px!important; line-height:1.3!important; -webkit-line-clamp:2!important; }
html.stv-mobile-layout .stv-breaking-footer span { font-size:9px!important; }
html.stv-mobile-layout :is(.stv-breaking-notice,.stv-remote-breaking-notice) { position:relative!important; inset:auto!important; width:calc(100% - 24px)!important; margin:0 12px 12px!important; min-height:50px!important; padding:10px!important; gap:8px!important; box-sizing:border-box; }
html.stv-mobile-layout :is(.stv-breaking-notice,.stv-remote-breaking-notice)>span { font-size:10px!important; }
html.stv-mobile-layout :is(.stv-breaking-notice,.stv-remote-breaking-notice)>strong { font-size:13px!important; line-height:1.3!important; white-space:normal!important; }
html.stv-mobile-layout :is(.stv-breaking-notice,.stv-remote-breaking-notice)>small { font-size:9px!important; }

/* The existing controls retain their actions and touch-sized targets. */
html.stv-mobile-layout .stv-controls { position:relative!important; inset:auto!important; width:calc(100% - 24px)!important; max-width:none!important; margin:12px!important; padding:8px!important; opacity:1!important; transform:none!important; gap:6px!important; border-radius:12px!important; }
html.stv-mobile-layout .stv-controls button { min-width:40px!important; height:40px!important; font-size:20px!important; }
html.stv-mobile-layout .stv-controls small { font-size:10px!important; }
html.stv-mobile-layout .stv-controls input { min-width:35px!important; width:70px!important; }
html.stv-mobile-layout .stv-external-control b { display:none!important; }
html.stv-mobile-layout :is(.stv-sound-gate,.stv-topic__sound-gate,.stv2-sound-gate)>button { max-width:90%!important; min-height:44px!important; padding:10px 14px!important; font-size:12px!important; }
html.stv-mobile-layout :is(.stv-sound-gate,.stv2-sound-gate) button strong { font-size:13px!important; }
html.stv-mobile-layout :is(.stv-sound-gate,.stv2-sound-gate) button small { font-size:11px!important; }
html.stv-mobile-layout :is(.stv-video-sound-gate,.stv-channel-live-sound) { bottom:12px!important; max-width:90%!important; }
html.stv-mobile-layout .stv-video-sound-gate button,
html.stv-mobile-layout .stv-channel-live-sound { min-height:40px!important; padding:10px 12px!important; font-size:12px!important; line-height:1.25!important; }
html.stv-mobile-layout .stv-channel-live>span { top:10px!important; left:10px!important; padding:6px 8px!important; font-size:10px!important; }
html.stv-mobile-layout .stv-cast-panel { width:100%!important; max-height:100%!important; overflow:auto!important; padding:14px!important; }
html.stv-mobile-layout .stv-cast-panel h2 { font-size:19px!important; }
html.stv-mobile-layout .stv-cast-panel :is(p,small) { font-size:12px!important; line-height:1.4!important; }
html.stv-mobile-layout .stv-cast-option { min-height:44px!important; }
html.stv-mobile-layout .stv-cast-option strong { font-size:13px!important; }

@media (prefers-reduced-motion:reduce) {
  html.stv-mobile-layout .stv-continuity-enter>.stv-lead-content,
  html.stv-mobile-layout .stv-continuity-enter>.stv-topic__copy { animation:none!important; }
}
