:root{color-scheme:dark;--bg:#080f1b;--card:#132235;--line:#23374e;--muted:#95a8c0;--aqua:#48e2cd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f1f6ff;font:15px/1.5 'Segoe UI',sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:#172b40;color:#f2f7ff;border:1px solid var(--line);padding:11px 18px;border-radius:9px;transition:background .15s,transform .15s}button:hover{background:#25445e}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--aqua);color:#06181d;font-weight:700;border-color:transparent}.primary:hover{background:#7ff7e8}.hidden{display:none!important}h1,h2,p{margin-top:0}h1{font-size:44px;line-height:1.15;letter-spacing:-1.5px}h2{font-size:23px}p,small{color:var(--muted)}.eyebrow{color:var(--aqua);font-size:11px;font-weight:700;letter-spacing:3px}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center;padding:7%;background:radial-gradient(ellipse at top left,#183951,transparent 65%)}.pitch img{width:180px;margin-bottom:20px}.pitch h1{font-size:66px}.login form{max-width:440px;padding:30px;background:#101f31;border:1px solid var(--line);border-radius:20px}label{display:block;margin-bottom:17px;color:#bbcddd}input,select{display:block;width:100%;background:#0c1727;border:1px solid #2e435c;border-radius:8px;color:white;padding:12px;margin-top:7px}#connect{width:100%}#loginError,#countryError{color:#ffb2a3;min-height:12px}aside{position:fixed;inset:0 auto 0 0;width:245px;padding:24px 17px;background:#0d1828;border-right:1px solid #1c2a3d;display:flex;flex-direction:column}.wordmark{display:flex;align-items:center;gap:10px;margin:0 8px 30px}.wordmark img{width:65px}.wordmark strong{font-size:19px}.wordmark span{display:block;font-size:9px;color:var(--muted);letter-spacing:1.5px}nav{display:grid;gap:5px}nav button{text-align:left;border:0;background:transparent;color:#a9bad0;font-size:17px}nav button.active{background:#17483f;color:#73f4d5}.sidehead{font-size:10px;letter-spacing:2px;color:#68809d;margin:28px 12px 14px}#groups{overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:4px}#groups button{background:none;border:0;text-align:left;font-size:12px;padding:10px 12px;color:#aabbd0;flex-shrink:0}#groups button:hover,#groups button.active{background:#203349;color:#fff}.sidefoot{padding-top:15px;border-top:1px solid var(--line);display:grid;gap:8px}.sidefoot button{font-size:12px}main{margin-left:245px;padding:24px 36px 60px}header{display:flex;justify-content:space-between;align-items:center;color:#7189a5;font-size:11px;letter-spacing:1.5px}.topright{display:flex;align-items:center;gap:15px}.topright button{font-size:12px;padding:7px 11px;letter-spacing:0}.hero{padding:45px 0 25px;background:radial-gradient(ellipse at right,#18334866,transparent 65%)}.hero h1{max-width:1000px;margin-bottom:15px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:15px 0 25px;gap:20px}.toolbar h2{margin:0;font-size:18px}.toolbar input{width:300px;margin:0;padding:10px 14px}#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:26px 19px}.poster{border:0;background:none;padding:0;text-align:left;min-width:0}.poster:hover{background:none;transform:translateY(-4px)}.poster img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;background:#172b42;box-shadow:0 12px 22px #0004}.poster strong{display:block;font-size:13px;font-weight:600;padding-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster span{font-size:11px;color:#7d96b4}.poster.live img{aspect-ratio:16/10;object-fit:cover;object-position:center;padding:0}#more{display:block;margin:30px auto}#empty{padding:50px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}dialog{border:1px solid #2c415a;background:#102034;color:white;border-radius:20px;padding:32px;max-height:90vh;width:min(780px,90vw);box-shadow:0 20px 100px #0008}dialog::backdrop{background:#020914cb;backdrop-filter:blur(8px)}dialog footer{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}#countryList{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:42vh;overflow:auto}#countryList label{display:flex;align-items:center;gap:10px;padding:10px;background:#192d42;border-radius:8px;margin:0}input[type=checkbox]{width:18px;height:18px;accent-color:var(--aqua);margin:0}.close{position:absolute;right:15px;top:12px;padding:2px 12px;font-size:25px;border:0;background:#24384c;z-index:2}#details{width:min(980px,92vw);padding:40px}.detail-layout{display:grid;grid-template-columns:220px 1fr;gap:32px}.detail-layout img{width:100%;border-radius:12px}.detail-layout p{line-height:1.7}.detail-layout h2{font-size:32px;line-height:1.2;padding-right:20px}.episodes{display:grid;gap:6px;max-height:240px;overflow:auto;margin-top:14px}.episodes button{text-align:left;font-size:13px}.episodes select{margin-bottom:8px}#player{width:95vw;max-width:1600px;background:#070b12;text-align:center}video{width:100%;max-height:69vh;background:black;border-radius:8px}#playingTitle{padding-right:30px}#toast{position:fixed;right:25px;bottom:25px;max-width:450px;background:#793f3f;padding:18px;border-radius:12px;z-index:20}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#33495f;border-radius:6px}@media(max-width:1100px){aside{width:210px}main{margin-left:210px;padding:20px 24px}h1{font-size:34px}.topright>span{display:none}}@media(max-width:900px){#grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.detail-layout{grid-template-columns:150px 1fr}.login{gap:30px}.pitch h1{font-size:45px}}
/* Home shelves */
#spotlight{position:relative;height:450px;isolation:isolate;border-radius:18px;overflow:hidden;margin:22px 0 32px;background:#101f31}#featureArt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-3;animation:artwork-pan 25s ease-in-out infinite alternate}.feature-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#06101bf5 0%,#06101bd9 35%,#06101b22 80%),linear-gradient(0deg,#06101b,transparent 65%)}.feature-copy{position:absolute;bottom:36px;left:34px;width:min(65%,660px)}.feature-copy h1{font-size:46px;line-height:1.05;margin-bottom:18px}.feature-copy>p:not(.eyebrow){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:15px;color:#d2dce9}.feature-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.feature-copy small{font-size:11px;color:#869cb8}.shelf{margin:24px 0 35px}.shelf-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.shelf-head h2{font-size:19px;margin:0 0 12px}.shelf-head button{padding:4px 12px;margin-left:6px}.shelf-strip{display:flex;gap:15px;overflow-x:auto;padding:5px 2px 14px;scroll-snap-type:x proximity}.poster.landscape{flex:0 0 245px;scroll-snap-align:start}.poster.landscape img{aspect-ratio:16/9;object-position:center 25%;border-radius:10px}.poster.landscape strong{max-width:245px}#homeStatus{color:var(--muted);font-size:12px}.guide{margin-top:20px}.guide .episodes{max-height:45vh}@keyframes artwork-pan{from{transform:scale(1)}to{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){#featureArt{animation:none}}
/* Persistent player overlay and dock. No pointer-lock is used. */
#playerBackdrop{position:fixed;inset:0;background:#020814d9;z-index:80}#player{position:fixed;z-index:90;margin:0;padding:0;border:1px solid #354c65;border-radius:13px;background:#060b13;color:white;box-shadow:0 18px 80px #000b;display:flex;flex-direction:column;max-width:none;text-align:left;overflow:hidden}#player.expanded{inset:4vh 4vw;width:92vw;height:92vh;max-height:none}#playerBar{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#122137;flex-shrink:0}#playingTitle{font-size:17px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1;min-width:0;margin:0;padding:0}.player-actions{display:flex;gap:7px;flex-shrink:0}.player-actions button{padding:7px 10px;font-size:12px}#closePlayer{position:static;font-size:20px;line-height:1;padding:5px 11px}#videoFrame{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:black}#video{display:block;width:100%;height:100%;max-height:none;object-fit:contain;border-radius:0}.player-bottom{display:flex;align-items:center;gap:15px;padding:8px 13px;flex-shrink:0}.player-bottom button{font-size:12px;padding:6px 10px}#playerStatus{font-size:12px;color:#a9c0da}#trackPanel{padding:15px;display:flex;flex-wrap:wrap;gap:15px;border-top:1px solid #2a3b51;background:#142339;max-height:35vh;overflow:auto}#trackPanel label{flex:1;min-width:190px;font-size:12px;margin:0}#trackPanel select{font-size:12px;padding:8px}#trackPanel small{flex-basis:100%;font-size:11px}#subtitleFile{font-size:11px;padding:7px}#player.mini{inset:auto;top:85px;right:20px;width:420px;height:auto;max-height:85vh;resize:horizontal;min-width:330px;max-width:min(650px,90vw)}#player.mini #playerBar{padding:8px;cursor:grab;touch-action:none;user-select:none}#player.mini #playingTitle{font-size:12px}#player.mini #videoFrame{aspect-ratio:16/9;flex:none}#player.mini #video{height:100%}#player.mini .player-actions{gap:4px}#player.mini .player-actions button{padding:5px;font-size:10px}#player.mini .player-bottom{gap:8px;padding:6px}#player.mini #playerStatus{font-size:10px}#player:fullscreen{inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0;border:0;resize:none}#player:fullscreen #videoFrame{flex:1;aspect-ratio:auto}#player:fullscreen .player-bottom{background:#090f19}#player:fullscreen #playerBar{background:#090f19}
@media(max-width:1000px){.feature-copy{width:80%;left:24px}.feature-copy h1{font-size:34px}.feature-actions button{font-size:12px;padding:8px 12px}#spotlight{height:400px}}
/* Playback and mouse browsing */
#seekBar{display:flex;align-items:center;gap:10px;padding:5px 12px;background:#0e1a29}#seekBar input{flex:1;padding:0;margin:0;accent-color:var(--aqua)}#seekBar button{padding:4px 8px;font-size:11px}#seekTime{font-size:11px;white-space:nowrap}#volume{width:90px;padding:0;margin:0;accent-color:var(--aqua)}#player.compatible video::-webkit-media-controls-timeline{display:none}#player.mini #seekTime{display:none}#player.mini #volume{width:45px}#player.mini .player-bottom{flex-wrap:wrap}#player.mini #playerStatus{flex-basis:100%}.shelf-strip,#groups,.episodes{cursor:grab;scroll-behavior:auto}.dragging,.dragging *{cursor:grabbing!important;user-select:none!important}.shelf-strip img{-webkit-user-drag:none;user-select:none}.continue-tile{position:relative;flex:0 0 245px;width:245px}.continue-tile .poster{width:100%}.continue-tile progress{width:100%;height:4px;accent-color:var(--aqua);display:block;margin-top:9px}.remove-progress{position:absolute;top:6px;right:6px;padding:1px 8px;background:#09121de8;font-size:20px}.motion-toggle{font-size:11px;padding:5px 10px;margin-top:10px}#trackPanel select{min-width:230px}
.shelf-strip{scroll-snap-type:none}
/* Fullscreen cinema controls float over video; idle mode leaves only the picture. */
.shelf-strip{scrollbar-width:none;-ms-overflow-style:none}.shelf-strip::-webkit-scrollbar{display:none;width:0;height:0}
#player:fullscreen #videoFrame{position:absolute;inset:0;width:100%;height:100%}
#player:fullscreen #playerBar{position:absolute;top:0;left:0;right:0;z-index:3;background:linear-gradient(#07111feb,#07111f99);transition:opacity .25s,transform .25s,visibility .25s}
#player:fullscreen .player-bottom{position:absolute;bottom:0;left:0;right:0;min-height:50px;z-index:3;background:#09121ee8;transition:opacity .25s,transform .25s,visibility .25s}
#player:fullscreen #seekBar{position:absolute;left:0;right:0;bottom:50px;z-index:3;background:#09121ee8;transition:opacity .25s,transform .25s,visibility .25s}
#player:fullscreen #trackPanel{position:absolute;bottom:94px;left:0;right:0;z-index:4;transition:opacity .25s,transform .25s,visibility .25s}
#player:fullscreen.controls-hidden{cursor:none}#player:fullscreen.controls-hidden #playerBar{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-100%)}
#player:fullscreen.controls-hidden .player-bottom,#player:fullscreen.controls-hidden #seekBar,#player:fullscreen.controls-hidden #trackPanel{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(100%)}
@media(prefers-reduced-motion:reduce){#player:fullscreen #playerBar,#player:fullscreen .player-bottom,#player:fullscreen #seekBar,#player:fullscreen #trackPanel{transition:none}}
#grid.live-shelves{display:block}#grid.live-shelves .shelf{margin-top:10px;margin-bottom:25px}.poster.live.landscape{width:245px;flex:0 0 245px}.poster.live img.programme-art{object-fit:cover;padding:0}.poster .now-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;font-size:13px;color:#e2f4ed}.poster .now-time{color:#48e2cd;font-size:11px}.replay-programme{display:flex;gap:14px;align-items:center}.replay-programme img{width:104px;height:60px;object-fit:cover;border-radius:6px;background:#0b1827}.replay-programme img.channel-art{object-fit:contain;padding:7px}.replay-programme span{min-width:0;display:grid;gap:3px}.replay-programme strong{font-size:13px}.replay-programme small{font-size:11px;color:#48e2cd}.guide .episodes{max-height:52vh}
/* Episode selection overlays playback without replacing the video surface. */
#playerEpisodes{width:min(520px,calc(100vw - 24px));max-height:85vh;text-align:left;padding:18px;z-index:10}
#playerEpisodes header{letter-spacing:0;margin-bottom:12px;gap:10px}#playerEpisodes h2{font-size:19px;margin:0;color:#f1f6ff}
#playerEpisodes label{margin:0;font-size:12px}#playerEpisodes select{min-height:40px;font-size:14px;padding:7px}
#playerEpisodes .episodes{max-height:45vh;overflow:auto;margin-top:12px}#playerEpisodes .episodes button{min-height:44px}
#playerEpisodes [aria-current=true]{border-color:var(--aqua);background:#17483f;color:#73f4d5}
#episodeMessage{font-size:12px;margin:8px 0 0}#player.mini #episodesButton,#player.mini #nextEpisode{display:none}
@media(orientation:landscape) and (max-height:500px){#playerEpisodes{max-height:94vh;padding:12px}#playerEpisodes .episodes{max-height:48vh}#playerEpisodes header{margin-bottom:5px}}

.country-actions{display:flex;gap:8px;margin-bottom:12px}

.track-panel-header{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:600}#closeTrackPanel{position:static;flex:none;min-width:44px;min-height:44px;padding:6px;font-size:26px;line-height:1}#closeTrackPanel:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}

.live-tile{position:relative;min-width:0}.live-tile.landscape{width:245px;flex:0 0 245px;scroll-snap-align:start}.live-tile>.poster{width:100%}.favorite-channel{position:absolute;top:6px;right:6px;width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:28px;background:#09121de8;border:1px solid #486078;border-radius:10px;color:#dce7f4;z-index:1}.favorite-channel[aria-pressed=true]{color:#ffda70}.favorite-channel:hover{background:#294359}

.live-view-tabs{display:flex;gap:12px;border-bottom:1px solid var(--line);margin:0 0 20px}.live-view-tabs button{border:0;border-radius:0;background:transparent;padding:12px 4px}.live-view-tabs [aria-pressed=true]{color:var(--aqua);box-shadow:0 3px 0 var(--aqua)}
.tv-schedule{--schedule-channel-width:160px}.schedule-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.schedule-controls label{margin:0;font-size:12px}.schedule-controls input{padding:8px;width:170px}.schedule-range{padding:10px;color:var(--muted)}.schedule-viewport{overflow:auto;max-height:65vh;border:1px solid var(--line);border-radius:12px}.schedule-table{position:relative;width:100%;min-width:calc(var(--schedule-channel-width) + 1320px)}.schedule-row{display:flex;height:76px;border-bottom:1px solid var(--line)}.schedule-hours{height:40px;position:sticky;top:0;z-index:4;background:#0d1828}.schedule-channel{position:sticky;left:0;z-index:2;flex:0 0 var(--schedule-channel-width);width:var(--schedule-channel-width);padding:8px;display:flex;align-items:center;gap:8px;border:0;border-right:1px solid var(--line);border-radius:0;background:#132235;text-align:left;font-size:12px}.schedule-channel img{width:38px;height:38px;object-fit:contain}.schedule-channel span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.schedule-hours .schedule-channel{background:#0d1828}.schedule-lane{position:relative;flex:1;min-width:0;background:linear-gradient(90deg,transparent calc(100% - 1px),#23374e88 0);background-size:calc(100% / 12) 100%}.schedule-hour{position:absolute;padding:10px 8px;font-size:12px;color:var(--muted)}.schedule-programme{position:absolute;top:3px;height:69px;border-radius:5px;text-align:left;padding:8px;background:#1a2d43;overflow:hidden;min-width:0}.schedule-programme strong,.schedule-programme small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.schedule-programme small{margin-top:4px;font-size:10px}.schedule-programme.is-current{background:#17483f;border-color:#48e2cd}.schedule-programme.has-replay small{color:#73f4d5}.schedule-message{display:inline-block;padding:20px;color:var(--muted);font-size:12px}.schedule-retry{padding:6px 12px}.schedule-now{position:absolute;top:40px;bottom:0;width:2px;background:var(--aqua);pointer-events:none;z-index:1}.schedule-now:before{content:"";position:absolute;top:0;left:-5px;width:12px;height:8px;background:var(--aqua)}.schedule-pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}.schedule-pagination span{color:var(--muted);font-size:12px}
@media(max-width:600px){.tv-schedule{--schedule-channel-width:110px}.schedule-channel{font-size:10px;gap:4px}.schedule-channel img{width:26px;height:26px}.live-view-tabs{margin-top:8px}.schedule-controls{gap:6px}.schedule-controls button{padding:9px 12px}.schedule-range{font-size:12px}.schedule-pagination{gap:6px}.schedule-pagination button{padding:9px;font-size:12px}.schedule-viewport{max-height:55vh}}

@media(max-width:600px){.schedule-active #browseView .hero{padding-bottom:4px}.schedule-active #browseView .hero .eyebrow{display:none}.schedule-active #collection{font-size:23px;line-height:1.2;margin-bottom:6px}.schedule-active #status{font-size:11px;margin-bottom:8px}.schedule-active .live-view-tabs{margin-bottom:12px}.schedule-active .toolbar{margin-bottom:10px}.schedule-active .toolbar h2{font-size:14px}}
