/* One continuous ticker is moved between the meter footer and Bronze Nieuws.
   Reserve room inside the existing bezel; PTT and channel controls stay put. */
/* Keep the animated text's paint and compositing clip local to the visible strip.
   Never promote the entire radio or the very wide track to a forced GPU layer. */
#radio .radio-ticker-viewport {
  contain: paint;
  isolation: isolate;
  clip-path: inset(0);
}
.radio-ticker-dialog select { width:100%; box-sizing:border-box; padding:10px; color:#ffdc98; background:#0a100b; border:1px solid #8d7048; border-radius:3px; font:16px/1.3 sans-serif; }
.radio-ticker-dialog #radioTickerExpiry { color:#c4bba6; font-size:12px; line-height:1.5; }
#radio .meter-bezel { --ticker-height: 24px; --ticker-inset: 10px; --ticker-space: 28px; }
#radio .meter-bezel.has-radio-ticker { padding-bottom: calc(var(--ticker-inset) + var(--ticker-space)); }
#radio .has-radio-ticker > .radio-ticker {
  position: absolute; z-index: 2; inset: auto var(--ticker-inset) var(--ticker-inset);
  height: var(--ticker-height); margin: 0; padding-inline: 5px;
}
#radio .radio-ticker button[hidden] { display: none; }
#radio .has-radio-ticker > .radio-ticker .radio-ticker-viewport { line-height: calc(var(--ticker-height) - 2px); }
#radio .has-radio-ticker > :is(.digital-meter, .bronze-meter, .b112) { bottom: calc(var(--ticker-space) + var(--ticker-inset)); }
#radio .has-radio-ticker > .horizontal-meter-face { min-height: calc(145px - var(--ticker-space)); padding-block: 7px; }

@media (max-width:760px), (pointer:coarse) and (max-width:1100px) {
  #radio .has-radio-ticker > .horizontal-meter-face { min-height:calc(125px - var(--ticker-space)); }
}
@media (max-width:760px) and (orientation:portrait) {
  #radio .meter-bezel { --ticker-height:20px; --ticker-space:24px; }
}
@media (max-width:760px) and (max-height:830px) and (orientation:portrait) {
  body:not(.ptt-classic) #radio .meter-bezel { --ticker-inset:6px; }
  body:not(.ptt-classic) #radio .has-radio-ticker > .horizontal-meter-face { min-height:calc(82px - var(--ticker-space)); gap:3px; padding-block:3px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .line-meter-row { gap:4px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .digital-meter { padding:4px 7px; gap:2px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .digital-link { gap:2px; padding-top:2px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .digital-audio { grid-template-rows:auto 8px minmax(6px,1fr); gap:1px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .digital-meter-scale { height:8px; font-size:7px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .digital-heading output { font-size:11px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .digital-bar { min-height:6px; }
  body:not(.ptt-classic) #radio .has-radio-ticker .digital-link { grid-template-rows:auto minmax(6px,1fr) auto; gap:1px; padding-top:1px; }
}
@media (orientation:portrait) and (min-width:761px) and (max-width:1100px) and (pointer:coarse) {
  #radio[data-meter="bronze-news"] .local-radio-station { padding:3px 6px; }
  #radio[data-meter="bronze-news"] .local-radio-station > img,
  #radio[data-meter="bronze-news"] #bronzeNewsStationFallback { width:24px; height:24px; flex-basis:24px; }
}
:is(.android-tablet,.ipad-pro,.desktop-radio) #radio .has-radio-ticker > .horizontal-meter-face { min-height:0; }
@media (orientation:landscape) and (min-width:480px) and (max-width:1100px) and (max-height:600px) and (pointer:coarse) {
  #radio .meter-bezel { --ticker-height:18px; --ticker-space:21px; --ticker-inset:4px; }
  #radio .has-radio-ticker > .horizontal-meter-face { min-height:0; }
  body:not(.compact-radio) #radio .has-radio-ticker .digital-meter { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:minmax(0,1fr); gap:8px; padding:4px 7px; }
  body:not(.compact-radio) #radio .has-radio-ticker .digital-meter-header { display:none; }
  body:not(.compact-radio) #radio .has-radio-ticker .digital-link { border:0; padding-top:0; gap:2px; }
  body:not(.compact-radio) #radio .has-radio-ticker .digital-audio { gap:2px; }
}
/* The miniature view keeps the two signal scales; network details remain in
   the existing enlarged meter view, reached by tapping the miniature meter. */
body.compact-radio:not(.compact-meter-open) #radio .meter-bezel { --ticker-height:13px; --ticker-space:15px; --ticker-inset:1px; }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker { grid-template-rows:minmax(0,1fr); }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker > .network-readout { display:none; }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .horizontal-meter-face { min-height:0; padding:1px 3px; gap:1px; }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .line-meter-heading strong,
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .line-meter-scale { font-size:7px; }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .radio-ticker-viewport { font-size:9px; }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .digital-network-values { display:none; }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .digital-audio,
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .digital-link { gap:1px; }
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .digital-heading,
body.compact-radio:not(.compact-meter-open) #radio .has-radio-ticker .digital-heading output { font-size:8px; }
