/* Separate full-screen experiences for live broadcasts and on-demand video. */
#player:focus{outline:none}
.player-chrome{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:1;transition:opacity .2s}
.player-chrome.hidden{opacity:0;visibility:hidden;pointer-events:none}
.playback-topbar{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:14px;padding:14px 22px 55px;background:linear-gradient(#0009,transparent)}
.playback-topbar h1{margin:0;font-size:clamp(20px,1.7vw,34px);font-weight:700;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none;flex:1;min-width:0}
.player-back,.player-bookmark{width:38px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff;border-radius:50%;pointer-events:auto;flex-shrink:0}
.player-back svg,.player-bookmark svg{width:28px;height:28px}
.player-back:focus,.player-bookmark:focus{outline:2px solid #fff;box-shadow:none;background:#ffffff22}
.player-bookmark{margin-left:auto}
.player-bookmark.saved{color:#ed1829}
.player-bookmark.saved svg{fill:#ed18294d}
.live-info-bar{position:absolute;bottom:5%;left:2.5%;right:2.5%;display:flex;align-items:center;gap:24px;padding:20px 27px;background:rgba(0,0,0,.78);border-radius:20px;color:#fff;min-height:140px;pointer-events:none}
.live-info-clock{flex-shrink:0;width:16.2%;min-width:0;border-right:1px solid #ffffff33;padding-right:25px;display:flex;flex-direction:column;gap:9px}
.live-info-clock strong{font-size:clamp(30px,2.8vw,54px);line-height:1;font-weight:750}
.live-info-clock strong small{font-size:clamp(15px,1.3vw,25px)}
.live-info-clock>span{font-size:clamp(13px,1.15vw,22px);color:#bbb}
.network-offline{color:#ffb1b1;font-size:16px}
.live-info-logo{width:clamp(60px,6.5vw,125px);height:clamp(45px,4.5vw,86px);flex-shrink:0;background:#ffffff12;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:9px}
.live-info-logo img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.live-info-current{flex:1;min-width:0}
.live-info-channel{display:flex;gap:15px;align-items:center;font-size:clamp(15px,1.3vw,25px);color:#ddd;min-width:0}
.live-info-channel>span:last-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.live-badge{display:flex;align-items:center;gap:8px;color:#4cd964;font-weight:700;flex-shrink:0}
.live-badge i{width:9px;height:9px;border-radius:50%;background:#4cd964}
.live-info-current h2{font-size:clamp(22px,2.2vw,42px);line-height:1.3;margin:5px 0 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.programme-progress{height:5px;background:#ffffff44;margin:12px 0 7px;border-radius:3px;overflow:hidden}
.programme-progress>span{display:block;height:100%;background:#fff}
.programme-airtimes{display:flex;justify-content:space-between;font-size:clamp(12px,1vw,19px);color:#bbb}
.live-info-next{border-left:1px solid #ffffff33;padding-left:25px;flex-shrink:0;width:13.5%;min-width:155px;display:flex;flex-direction:column;gap:8px}
.live-info-next small{font-size:clamp(13px,1.1vw,21px);color:#aaa;font-weight:600}
.live-info-next strong{font-size:clamp(16px,1.4vw,27px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-info-next>span{font-size:clamp(12px,1.05vw,20px);color:#bbb;white-space:nowrap}
.vod-overlay{bottom:0;left:0;right:0;padding:90px 4.5% 30px;background:linear-gradient(transparent,#000c 45%,#000e);pointer-events:auto}
.vod-timeline{display:flex;align-items:center;gap:20px;min-height:42px;margin-bottom:18px}
.vod-timeline>span{font-size:clamp(16px,1.3vw,25px);font-variant-numeric:tabular-nums;white-space:nowrap;color:#ddd;min-width:55px}
#player-seek{appearance:none;-webkit-appearance:none;flex:1;min-width:0;height:6px;background:linear-gradient(to right,#ed1829 0%,#ed1829 var(--played,0%),#ffffff55 var(--played,0%),#ffffff55 100%);border-radius:5px;padding:0;border:0;cursor:pointer;pointer-events:auto}
#player-seek::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:19px;height:19px;background:#ed1829;border:0;border-radius:50%}
#player-seek::-moz-range-thumb{width:19px;height:19px;background:#ed1829;border:0;border-radius:50%}
#player-seek:focus{outline:2px solid #fff;outline-offset:8px}
#player-seek:disabled{opacity:.35;cursor:default}
.vod-control-row{position:relative;display:flex;align-items:center;justify-content:center;gap:30px;min-height:78px}
.vod-main-controls{display:flex;gap:26px;align-items:center}
.vod-control{position:relative;display:flex;align-items:center;justify-content:center;background:transparent;color:#fff;width:58px;height:58px;border-radius:50%;pointer-events:auto}
.vod-control svg{width:35px;height:35px}
.skip-control>span{position:absolute;left:0;right:0;top:24px;text-align:center;font-size:13px;font-weight:700}
.pause-control{width:68px;height:68px;background:#fff;color:#111}
.pause-control svg{width:33px;height:33px}
.vod-control:focus{outline:3px solid #ed1829;outline-offset:5px;box-shadow:none}
.next-episode-button{position:absolute;right:0;display:flex;gap:12px;align-items:center;border:1px solid #ffffff66;background:#ffffff12;border-radius:8px;padding:12px 20px;font-size:clamp(16px,1.3vw,25px);pointer-events:auto}
.next-episode-button svg{width:22px;height:22px}
.next-episode-button:focus{outline:2px solid #fff;box-shadow:none;background:#ffffff33}
.vod-player-hint{display:flex;justify-content:center;flex-wrap:wrap;gap:22px;font-size:clamp(12px,1vw,18px);color:#aaa;margin-top:15px}
/* Android SmoothSeeker feedback: lower pill and a small progress rail. */
.seek-feedback{position:absolute;z-index:3;bottom:7.8%;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:10px;color:#fff;opacity:0;visibility:hidden;pointer-events:none}
.seek-feedback.visible{opacity:1;visibility:visible}
.seek-pill{display:flex;align-items:center;gap:9px;padding:10px 18px;background:rgba(0,0,0,.8);border-radius:24px;font-size:clamp(16px,1.35vw,26px);font-variant-numeric:tabular-nums;white-space:nowrap}
.seek-pill svg{width:24px;height:24px}
.seek-pill span{color:#ffffffb3}
.seek-mini-track{width:25vw;max-width:480px;min-width:180px;height:3px;border-radius:2px;overflow:hidden;background:#ffffff40}
.seek-mini-track i{display:block;height:100%;background:#ed1829}
.player .player-message{top:43%;left:50%;transform:translate(-50%,-50%);z-index:4;max-width:75%;text-align:center;background:#000c;font-size:clamp(17px,1.5vw,28px)}
@media(min-width:1650px){.playback-topbar{padding:32px 44px 80px;gap:24px}.player-back,.player-bookmark{width:64px;height:64px}.player-back svg,.player-bookmark svg{width:39px;height:39px}.live-info-bar{padding:30px 38px;gap:33px;min-height:185px;border-radius:25px}.live-info-clock{gap:15px;padding-right:35px}.live-info-next{gap:12px;padding-left:35px}.programme-progress{height:7px;margin:18px 0 10px}.live-badge i{width:12px;height:12px}.vod-overlay{padding-bottom:45px}.vod-timeline{gap:28px;margin-bottom:30px;min-height:55px}#player-seek{height:8px}#player-seek::-webkit-slider-thumb{width:27px;height:27px}.vod-control-row{min-height:105px}.vod-main-controls{gap:42px}.vod-control{width:84px;height:84px}.vod-control svg{width:50px;height:50px}.skip-control>span{top:35px;font-size:18px}.pause-control{width:94px;height:94px}.pause-control svg{width:46px;height:46px}.next-episode-button{padding:18px 28px}.next-episode-button svg{width:31px;height:31px}.vod-player-hint{margin-top:24px;gap:35px}}
@media(max-width:750px){.playback-topbar{padding:15px 18px 45px;gap:10px}.playback-topbar h1{font-size:18px}.player-back,.player-bookmark{width:38px;height:38px}.player-back svg,.player-bookmark svg{width:23px;height:23px}.live-info-bar{left:2%;right:2%;bottom:5%;padding:15px;gap:12px;min-height:105px;border-radius:13px}.live-info-clock{min-width:21%;padding-right:12px;gap:7px}.live-info-clock strong{font-size:25px}.live-info-clock>span{font-size:11px}.live-info-logo{display:none}.live-info-channel{font-size:12px;gap:8px}.live-info-current h2{font-size:17px}.live-info-next{width:24%;min-width:95px;padding-left:12px;gap:6px}.live-info-next strong{font-size:13px}.live-info-next small{font-size:11px}.live-info-next>span{font-size:10px;white-space:normal}.vod-overlay{padding:70px 5% 20px}.vod-timeline{gap:13px}.vod-timeline>span{font-size:14px;min-width:40px}.next-episode-button{position:static;font-size:13px;padding:9px 12px}.vod-control-row{gap:18px}.vod-main-controls{gap:18px}.vod-control{width:47px;height:47px}.vod-control svg{width:29px;height:29px}.skip-control>span{font-size:11px;top:20px}.pause-control{width:56px;height:56px}.vod-player-hint{font-size:11px;gap:10px}.vod-player-hint span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.player-chrome{transition:none}}

.player-tools{display:flex;align-items:center;gap:20px;margin-left:auto;flex-shrink:0;pointer-events:auto}
.player-tools .player-bookmark{margin:0;width:44px}
.player-tool{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;color:#fff;pointer-events:auto}
.player-tool svg{width:27px;height:27px}
.player-tool:focus{outline:2px solid #fff;box-shadow:none;background:#ffffff22}
.network-status{display:flex;align-items:center;gap:8px;font-size:clamp(13px,1.15vw,22px);font-weight:600;white-space:nowrap}
.network-status i{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}
.network-online{color:#4cd964}
.player-captions-text{position:absolute;bottom:9%;left:8%;right:8%;z-index:1;color:#fff;text-align:center;white-space:pre-line;font-size:clamp(22px,2.2vw,42px);line-height:1.4;text-shadow:0 2px 5px #000,0 0 8px #000;pointer-events:none}
.live-player.controls-visible .player-captions-text{bottom:29%}
.vod-player.controls-visible .player-captions-text{bottom:36%}
.player-menu{position:absolute;right:0;top:0;bottom:0;width:34%;min-width:350px;max-width:680px;background:rgba(10,10,10,.95);z-index:6;display:flex;flex-direction:column;padding:28px 24px;border-left:1px solid #ffffff22;pointer-events:auto}
.player-menu>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;flex-shrink:0}
.player-menu h2{font-size:clamp(24px,2vw,38px);margin:0}
.player-menu-close{width:40px;height:40px;background:transparent;display:flex;align-items:center;justify-content:center;border-radius:50%}
.player-menu-close svg{width:25px;height:25px}
.player-menu-list{display:flex;flex-direction:column;gap:9px;overflow-y:auto;min-height:0;padding:5px;scrollbar-width:thin}
.player-menu-option{flex-shrink:0;border-radius:8px;padding:14px 16px;text-align:left;background:#ffffff08;color:#ddd;font-size:clamp(16px,1.4vw,27px);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-menu-option.selected{background:#ffffff20;color:#fff}
.player-menu-option:focus{outline:2px solid #ed1829;outline-offset:1px;box-shadow:none;background:#343434}
.player-menu p{font-size:clamp(16px,1.4vw,27px);line-height:1.5;color:#aaa}
.player-menu-pages{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;font-size:clamp(14px,1.2vw,22px);flex-shrink:0}
.player-menu-pages button{padding:10px 12px;background:#292929;border-radius:6px}
@media(min-width:1650px){.player-tools{gap:30px}.player-tool,.player-tools .player-bookmark{width:64px;height:64px}.player-tool svg{width:39px;height:39px}.player-menu{padding:40px 34px}.player-menu>header{margin-bottom:30px}.player-menu-list{gap:14px}.player-menu-option{padding:20px 24px}.player-menu-close{width:60px;height:60px}.player-menu-close svg{width:35px;height:35px}}
@media(max-width:750px){.player-tools{gap:7px}.player-tool,.player-tools .player-bookmark{width:32px;height:36px}.player-tool svg{width:22px;height:22px}.player-menu{width:65%;min-width:240px;padding:20px 15px}.network-status{font-size:11px;gap:5px}.network-status i{width:6px;height:6px}}

.player .player-message.loading{top:50%;width:48px;height:48px;max-width:none;padding:0;border-radius:50%;border:4px solid transparent;border-top-color:#ed1829;border-right-color:#ed1829;background:transparent;color:transparent;font-size:0;animation:player-buffer-spin .8s linear infinite}
@keyframes player-buffer-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(min-width:1650px){.seek-feedback{gap:15px}.seek-pill{padding:15px 27px;border-radius:36px;gap:13px}.seek-pill svg{width:36px;height:36px}.seek-mini-track{height:4px}.player .player-message.loading{width:64px;height:64px;border-width:5px}}
@media(prefers-reduced-motion:reduce){.player .player-message.loading{animation:none}}
