/* Masjid Display v4.2.19 — optimasi PAPARAN automatik Android TV.
   Hanya aktif untuk data-runtime-profile="android-tv". PC/Windows tidak berubah. */
:root{--tv-safe-x:2.4vw;--tv-safe-y:2.2vh}
html[data-player-runtime="android-tv"],body[data-player-runtime="android-tv"]{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:none}
.player[data-runtime-profile="android-tv"]{--bar-height:18vh;text-rendering:optimizeLegibility;font-synthesis:none}
.player[data-runtime-profile="android-tv"] .slide-layer,.player[data-runtime-profile="android-tv"] .slide-content{contain:layout paint}
.player[data-runtime-profile="android-tv"] .slide-content iframe{transform:translateZ(0)}

/* Ruang selamat TV/overscan tanpa mengecilkan latar penuh skrin. */
.player[data-runtime-profile="android-tv"] .dashboard-slide,
.player[data-runtime-profile="android-tv"] .data-slide,
.player[data-runtime-profile="android-tv"] .lecture-schedule,
.player[data-runtime-profile="android-tv"] .weekly-lecture-schedule{padding-left:max(3.6vw,var(--tv-safe-x));padding-right:max(3.6vw,var(--tv-safe-x));padding-top:max(3vh,var(--tv-safe-y))}
.player[data-runtime-profile="android-tv"] .prayer-bar{padding-left:var(--tv-safe-x);padding-right:var(--tv-safe-x)}
.player[data-runtime-profile="android-tv"] .date-face{padding-left:max(3vw,var(--tv-safe-x));padding-right:max(3vw,var(--tv-safe-x))}
.player[data-runtime-profile="android-tv"] .running-ticker>div{padding-right:var(--tv-safe-x)}
.player[data-runtime-profile="android-tv"] .offline-badge,
.player[data-runtime-profile="android-tv"] .sync-badge,
.player[data-runtime-profile="android-tv"] .audio-badge{margin:var(--tv-safe-y) var(--tv-safe-x)}

/* Dashboard: kekal mudah dibaca dari jauh dan tidak terpotong. */
.player[data-runtime-profile="android-tv"] .dashboard-main{column-gap:2.3vw}
.player[data-runtime-profile="android-tv"] .dash-clock{font-size:clamp(78px,11.2vw,240px);line-height:.86}
.player[data-runtime-profile="android-tv"] .dash-mosque{font-size:clamp(27px,3vw,72px);line-height:1.08}
.player[data-runtime-profile="android-tv"] .dash-date{font-size:clamp(18px,1.85vw,42px);margin-top:1.7vh}
.player[data-runtime-profile="android-tv"] .dashboard-prayers{gap:.72vw;margin-top:2.6vh}
.player[data-runtime-profile="android-tv"] .dashboard-prayer{padding:1.15vh .55vw;border-radius:1vw}
.player[data-runtime-profile="android-tv"] .dashboard-prayer span{font-size:clamp(12px,1vw,23px)}
.player[data-runtime-profile="android-tv"] .dashboard-prayer strong{font-size:clamp(25px,2.35vw,52px)}
.player[data-runtime-profile="android-tv"] .dash-next{margin-top:1.6vh;padding:1.5vh 1.5vw;font-size:clamp(17px,1.6vw,36px)}

/* Bar waktu solat: saiz konsisten untuk 720p, 1080p dan 4K. */
.player[data-runtime-profile="android-tv"] .prayer-brand{padding:1.1vh 1vw}
.player[data-runtime-profile="android-tv"] .prayer-brand strong{font-size:clamp(17px,1.25vw,30px)}
.player[data-runtime-profile="android-tv"] .prayer-brand span{font-size:clamp(10px,.68vw,17px)}
.player[data-runtime-profile="android-tv"] .prayer-cell.next:before{top:.55vh}
.player[data-runtime-profile="android-tv"] .prayer-cell span{font-size:clamp(10px,.68vw,17px)}
.player[data-runtime-profile="android-tv"] .prayer-cell strong{font-size:clamp(22px,1.9vw,43px);margin-top:.45vh}
.player[data-runtime-profile="android-tv"] .date-bar{height:10vh}
.player[data-runtime-profile="android-tv"] .date-face strong{font-size:clamp(21px,1.9vw,42px)}
.player[data-runtime-profile="android-tv"] .date-face span{font-size:clamp(15px,1.2vw,28px)}

/* Countdown/takeover: hadkan tinggi agar tiada elemen keluar skrin Android TV. */
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact){padding:max(12px,var(--tv-safe-y)) max(16px,var(--tv-safe-x))}
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .prayer-event-card{width:min(94vw,1660px);min-height:0;max-height:92vh;padding:clamp(14px,2.2vh,34px) clamp(18px,3vw,54px);overflow:hidden}
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .prayer-event-card h1{font-size:clamp(58px,8vw,150px);margin:1.5vh 0 1vh}
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .flip-clock{min-height:clamp(136px,28vh,292px);margin-top:.7vh}
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .flip-digit{width:clamp(70px,9.5vw,180px);height:clamp(106px,25vh,260px)}
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .flip-half b,
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .flip-leaf b{font-size:clamp(82px,11.5vw,216px)}
.player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .prayer-event-card p{font-size:clamp(19px,1.85vw,36px);margin-top:1.4vh}
.player[data-runtime-profile="android-tv"] .prayer-event-reminders{margin-top:1.8vh;max-width:90vw}
.player[data-runtime-profile="android-tv"] .prayer-event-reminders span{font-size:clamp(14px,1.05vw,23px);padding:.75vh 1vw}

/* Jadual kuliah: elak baris terlalu kecil atau terpotong. */
.player[data-runtime-profile="android-tv"] .lecture-schedule .agenda-list,
.player[data-runtime-profile="android-tv"] .weekly-agenda-list{height:calc(100% - 13.5vh);margin-top:1.4vh}
.player[data-runtime-profile="android-tv"] .lecture-schedule .agenda-list article{border-radius:1vw}
.player[data-runtime-profile="android-tv"] .weekly-agenda-list article{grid-template-columns:minmax(86px,7vw) minmax(0,1fr) minmax(135px,13vw);gap:1vw;border-radius:1vw;padding:.75vh 1vw}
.player[data-runtime-profile="android-tv"] .weekly-agenda-copy h2{font-size:clamp(18px,1.65vw,36px)}
.player[data-runtime-profile="android-tv"] .weekly-agenda-copy p{font-size:clamp(11px,.86vw,18px)}
.player[data-runtime-profile="android-tv"] .weekly-agenda-next strong{font-size:clamp(13px,1vw,22px)}

/* Cuaca: susun semula untuk ruang selamat dan teks TV. */
.player[data-runtime-profile="android-tv"] .weather-slide{padding:max(2.6vw,var(--tv-safe-y)) max(3vw,var(--tv-safe-x)) 2.1vw;gap:1.45vh}
.player[data-runtime-profile="android-tv"] .weather-head h1{font-size:clamp(42px,4.4vw,100px);margin:.45vh 0}
.player[data-runtime-profile="android-tv"] .weather-head p{font-size:clamp(15px,1.15vw,27px)}
.player[data-runtime-profile="android-tv"] .weather-three-grid{gap:1.1vw}
.player[data-runtime-profile="android-tv"] .weather-period{border-radius:1.35vw}
.player[data-runtime-profile="android-tv"] .weather-period-content{padding:1.45vw}
.player[data-runtime-profile="android-tv"] .weather-period-icon{font-size:clamp(52px,5.8vw,128px);margin:.5vh 0}
.player[data-runtime-profile="android-tv"] .weather-period-content small{font-size:clamp(14px,1.1vw,25px)}
.player[data-runtime-profile="android-tv"] .weather-period-content h2{font-size:clamp(23px,2vw,45px)}
.player[data-runtime-profile="android-tv"] .weather-summary{padding:.9vh 1vw}
.player[data-runtime-profile="android-tv"] .weather-summary strong{font-size:clamp(17px,1.45vw,33px)}

/* Waktu Dunia: bumi kekal di tengah, kad tidak menutup atau keluar skrin. */
.player[data-runtime-profile="android-tv"] .world-clock-head{left:var(--tv-safe-x);right:var(--tv-safe-x);top:max(2.6vh,var(--tv-safe-y))}
.player[data-runtime-profile="android-tv"] .world-clock-head h1{font-size:clamp(22px,1.8vw,42px)}
.player[data-runtime-profile="android-tv"] .world-clock-grid{inset:13vh max(2.8vw,var(--tv-safe-x)) 8.5vh;gap:clamp(12px,1.6vw,32px)}
.player[data-runtime-profile="android-tv"] .world-clock-card{max-width:40vw;padding:clamp(13px,1.25vw,26px);border-radius:clamp(13px,1.15vw,24px);gap:7px 15px}
.player[data-runtime-profile="android-tv"] .world-card-place h2{font-size:clamp(22px,2vw,44px)}
.player[data-runtime-profile="android-tv"] .world-card-time strong{font-size:clamp(28px,2.5vw,56px)}
.player[data-runtime-profile="android-tv"] .world-card-weather>b{font-size:clamp(24px,1.8vw,39px)}
.player[data-runtime-profile="android-tv"] .world-earth{width:min(32vw,580px)}
.player[data-runtime-profile="android-tv"] .world-clock-source{bottom:max(2vh,var(--tv-safe-y))}

/* Galeri dan poster: beri kawasan selamat tetapi latar masih penuh. */
.player[data-runtime-profile="android-tv"] .gallery-fullscreen-stage{inset:max(9vh,var(--tv-safe-y)) max(2vw,var(--tv-safe-x)) max(7.5vh,var(--tv-safe-y));border-radius:1.3vw}
.player[data-runtime-profile="android-tv"] .gallery-player-slide.mode-fullscreen .gallery-caption{left:max(3vw,var(--tv-safe-x));right:max(3vw,var(--tv-safe-x));bottom:max(3vh,var(--tv-safe-y))}
.player[data-runtime-profile="android-tv"] .gallery-photo-frame.fit-smart .gallery-photo-main{padding:1vh .7vw}
.player[data-runtime-profile="android-tv"] .slide-content.image .poster{max-width:100%;max-height:100%}

/* Profil resolusi Android TV. */
.player[data-runtime-profile="android-tv"][data-display-profile="hd"]{--bar-height:19vh}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .dashboard-slide{padding-top:2.2vh;padding-bottom:2vh}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .dashboard-prayers{margin-top:1.8vh}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .dashboard-prayer{padding:.85vh .4vw}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .prayer-event-overlay:not(.compact) .prayer-event-card{max-height:94vh}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .prayer-event-overlay:not(.compact) .prayer-event-card h1{font-size:clamp(48px,8.5vw,95px)}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .prayer-event-overlay:not(.compact) .flip-clock{min-height:clamp(110px,26vh,190px)}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .weather-temperature{padding:.8vh .8vw}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .world-clock-grid{inset:12.5vh max(2.4vw,var(--tv-safe-x)) 8vh}
.player[data-runtime-profile="android-tv"][data-display-profile="hd"] .world-clock-card{max-width:41vw}
.player[data-runtime-profile="android-tv"][data-display-profile="ultra-hd"]{--bar-height:17vh}
.player[data-runtime-profile="android-tv"][data-display-profile="ultra-hd"] .world-earth{width:min(34vw,760px)}

/* TV 4:3 atau viewport pelik: tukar kepada susun atur yang selamat. */
.player[data-runtime-profile="android-tv"][data-aspect-profile="standard"] .dashboard-prayers{grid-template-columns:repeat(4,1fr)}
.player[data-runtime-profile="android-tv"][data-aspect-profile="standard"] .world-clock-grid{grid-template-columns:1fr 1fr;inset-inline:max(2vw,var(--tv-safe-x))}
.player[data-runtime-profile="android-tv"][data-aspect-profile="standard"] .world-earth{width:42vw;opacity:.72}
.player[data-runtime-profile="android-tv"][data-aspect-profile="portrait"] .prayer-brand{display:none}
.player[data-runtime-profile="android-tv"][data-aspect-profile="portrait"] .prayer-bar{grid-template-columns:repeat(7,1fr)}

@media(max-height:620px){
  .player[data-runtime-profile="android-tv"]{--bar-height:20vh}
  .player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .prayer-event-type{font-size:clamp(12px,1.7vw,20px);padding:.6vh 1vw}
  .player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .prayer-event-card h1{font-size:clamp(42px,7.7vw,82px);margin:.8vh 0}
  .player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .flip-digit{height:clamp(82px,23vh,142px)}
  .player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .flip-half b,
  .player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .flip-leaf b{font-size:clamp(62px,10.8vw,122px)}
  .player[data-runtime-profile="android-tv"] .prayer-event-overlay:not(.compact) .prayer-event-card p{font-size:clamp(15px,1.7vw,24px);margin-top:.7vh}
}
