/* LiveTV+ Blue: the same look as the LiveTV+ app's default theme. Loaded last, after every other sheet. */
body.webplayer-app{
 --lt-top:#1530a8;--lt-bottom:#070f4a;--lt-surface:#0d1c6b;--lt-surface2:#1b3196;
 --lt-card:#ffffff1f;--lt-card-hi:#ffffff33;--lt-focus:#fff;--lt-on-focus:#0a1450;
 --lt-accent:#7cc8ff;--lt-text:#fff;--lt-text2:#c5cdf0;--lt-muted:#8e9ad6;--lt-line:#ffffff26;
 --ultv-accent:var(--lt-accent);--ultv-border:var(--lt-line);--ultv-muted:var(--lt-text2);
 background:linear-gradient(180deg,var(--lt-top) 0,var(--lt-surface) 420px,var(--lt-bottom) 100%) fixed!important;background-color:var(--lt-bottom)!important;
 color:var(--lt-text);font-family:Roboto,'Segoe UI',system-ui,sans-serif;
}
body.webplayer-app p{color:var(--lt-text2)}
body.webplayer-app :focus-visible{outline:2px solid var(--lt-focus)!important;outline-offset:2px}

/* Top bar: "LiveTV+ | Web player", like the app's screen headers. */
body.webplayer-app>header{background:#0a145099!important;border-bottom:1px solid var(--lt-line)!important;box-shadow:none!important;backdrop-filter:blur(8px)}
body.webplayer-app .brand{font-size:21px;letter-spacing:.01em;color:var(--lt-accent)}
body.webplayer-app .brand>span{background:var(--lt-focus)!important;color:var(--lt-on-focus)!important;border-radius:8px!important;box-shadow:none!important;width:30px;height:30px;font-size:15px}
body.webplayer-app .brand small{color:var(--lt-text);font-size:13px;letter-spacing:.02em;font-weight:500;padding-left:14px;border-left:1px solid var(--lt-line)}
body.webplayer-app .quiet-link{color:var(--lt-text2)}body.webplayer-app .quiet-link:hover{color:var(--lt-text)}

/* Buttons: soft translucent pills that turn white when focused or selected. */
body.webplayer-app button{border:1px solid transparent!important;border-radius:999px!important;background:var(--lt-card)!important;background-image:none!important;box-shadow:none!important;color:var(--lt-text)!important;font-weight:600;padding:8px 16px}
body.webplayer-app button:hover{background:var(--lt-card-hi)!important}
body.webplayer-app button:focus-visible,body.webplayer-app .media-tabs button[aria-pressed=true],body.webplayer-app #favorites-only[aria-pressed=true],body.webplayer-app #vod-favorites[aria-pressed=true]{background:var(--lt-focus)!important;color:var(--lt-on-focus)!important;outline:0!important}
body.webplayer-app button:disabled{opacity:.45}
body.webplayer-app .media-tabs{gap:8px}
body.webplayer-app .media-tabs button{padding:9px 20px;font-size:14px}
body.webplayer-app input,body.webplayer-app select{background:var(--lt-card)!important;border:1px solid transparent!important;border-radius:10px!important;color:var(--lt-text)!important}
body.webplayer-app input::placeholder{color:var(--lt-muted)}
body.webplayer-app select option{background:var(--lt-surface);color:var(--lt-text)}
body.webplayer-app input:focus,body.webplayer-app select:focus{border-color:var(--lt-focus)!important;outline:0!important}
body.webplayer-app label{color:var(--lt-text2)}
body.webplayer-app .eyebrow{color:var(--lt-accent)!important;letter-spacing:.14em}
body.webplayer-app .favorite,body.webplayer-app button.favorite{color:var(--lt-muted)!important;background:transparent!important}
body.webplayer-app .favorite[aria-pressed=true]{color:#ffd54f!important}

/* Player and now-playing card. */
body.webplayer-app .player-info{background:var(--lt-card)!important;border:0!important;border-radius:16px!important;box-shadow:none!important}
body.webplayer-app .live-guide-mode .player-area .player-info{background:transparent!important}
body.webplayer-app .video-shell{border:0!important;border-radius:14px!important;box-shadow:0 10px 30px #0006!important;background:#000}
body.webplayer-app #empty{background:radial-gradient(ellipse at 50% 60%,#1b319688,transparent 70%),var(--lt-bottom)!important}
body.webplayer-app .play-symbol{border:0!important;background:var(--lt-focus)!important;color:var(--lt-on-focus)!important;box-shadow:0 0 0 10px #ffffff14!important}
body.webplayer-app #programme-title{color:var(--lt-text)}
body.webplayer-app #programme-detail,body.webplayer-app #quality-status{color:var(--lt-text2)!important}
body.webplayer-app #go-live{background:#e53935!important;color:#fff!important}
body.webplayer-app .library{border-top:1px solid var(--lt-line)!important}

/* TV guide grid. */
body.webplayer-app .epg-scroll,body.webplayer-app #full-guide .epg-scroll{border:1px solid var(--lt-line)!important;border-radius:14px!important;background:var(--lt-bottom)}
body.webplayer-app .epg-head,body.webplayer-app .epg-channel-heading{background:var(--lt-surface)!important;color:var(--lt-text)}
body.webplayer-app .epg-times{color:var(--lt-text2)}body.webplayer-app .epg-times span{border-left-color:var(--lt-line)}
body.webplayer-app .epg-row{border-top-color:#ffffff14!important}
body.webplayer-app .epg-track{background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.666% - 1px),#ffffff10 calc(16.666% - 1px),#ffffff10 16.666%)!important}
body.webplayer-app #full-guide .epg-channel-cell{background:var(--lt-surface)!important;border-right:1px solid var(--lt-line)}
body.webplayer-app #full-guide button.epg-channel,body.webplayer-app #full-guide button.epg-programme,body.webplayer-app #full-guide button.epg-empty{border-radius:0!important}
body.webplayer-app #full-guide button.epg-channel{background:transparent!important}
body.webplayer-app #full-guide button.epg-programme{background:var(--lt-surface)!important;border-right:1px solid var(--lt-line)!important;color:var(--lt-text)!important}
body.webplayer-app #full-guide button.epg-on-now{background:var(--lt-surface2)!important}
body.webplayer-app #full-guide .epg-programme small{color:var(--lt-text2)}
body.webplayer-app #full-guide button.epg-empty{background:transparent!important;color:var(--lt-muted)!important}
body.webplayer-app #full-guide button.epg-channel:hover,body.webplayer-app #full-guide button.epg-programme:hover,body.webplayer-app #full-guide button.epg-empty:hover{background:#2a44b8!important}
body.webplayer-app #full-guide button.epg-channel:focus-visible,body.webplayer-app #full-guide button.epg-programme:focus-visible{background:var(--lt-focus)!important;color:var(--lt-on-focus)!important;outline:0!important}
body.webplayer-app #full-guide button.epg-programme:focus-visible small{color:var(--lt-on-focus)}
body.webplayer-app #full-guide .epg-selected .epg-channel-cell{background:var(--lt-surface2)!important;box-shadow:inset 3px 0 var(--lt-accent)!important}
body.webplayer-app #full-guide button.epg-channel{display:flex;align-items:center;gap:10px}
body.webplayer-app .epg-logo{flex:0 0 auto;width:52px;height:34px;object-fit:contain;border-radius:6px;background:#ffffff14;padding:3px}
body.webplayer-app .channel-logo{display:block;max-width:120px;height:48px;object-fit:contain;margin:8px 0 4px}
body.webplayer-app .epg-now-line{background:var(--lt-accent)!important;box-shadow:0 0 6px var(--lt-accent)}
body.webplayer-app .epg-range,body.webplayer-app .epg-status,body.webplayer-app .epg-loading{color:var(--lt-text2)!important}

/* Live events. */
body.webplayer-app #sports-events{background:transparent!important}
body.webplayer-app #sports-events .events-date{color:var(--lt-text2)}
body.webplayer-app #sports-events .sports-game{background:linear-gradient(135deg,var(--lt-surface2),var(--lt-surface))!important;border:1px solid var(--lt-line)!important;border-radius:16px!important}
body.webplayer-app #sports-events .sports-game p{color:var(--lt-text2)}
body.webplayer-app #sports-events .events-section-title small{color:var(--lt-accent)}
body.webplayer-app #sports-events .event-play{background:#0a1450cc!important;border:1px solid var(--lt-line)!important;border-radius:10px!important}
body.webplayer-app #sports-events .event-play:hover{background:var(--lt-focus)!important;color:var(--lt-on-focus)!important}
body.webplayer-app #sports-events .event-more{border:1px dashed var(--lt-line)!important;background:transparent!important;color:var(--lt-text2)!important}
body.webplayer-app #sports-events .event-restart{border-radius:10px!important}

/* Movies and series. */
body.webplayer-app #vod-library,body.webplayer-app #vodplus-library{background:#0a145066!important;border:1px solid var(--lt-line)!important;border-radius:16px!important}
body.webplayer-app .vod-card{background:var(--lt-card)!important;border:2px solid transparent!important;border-radius:14px!important}
body.webplayer-app .vod-card:hover,body.webplayer-app .vod-card:focus-within{border-color:var(--lt-focus)!important}
body.webplayer-app .vod-card small{color:var(--lt-text2)}
body.webplayer-app .vod-actions button:first-child,body.webplayer-app .details-play{background:var(--lt-focus)!important;color:var(--lt-on-focus)!important}
body.webplayer-app #episodes h3{color:var(--lt-accent)}

/* Sign-in. */
body.webplayer-app .signin-card{background:var(--lt-card)!important;border:1px solid var(--lt-line)!important;border-radius:20px!important;box-shadow:0 20px 50px #0005!important;backdrop-filter:blur(10px)}
body.webplayer-app .signin-card input{background:#0a145099!important}
body.webplayer-app .signin-submit{background:var(--lt-focus)!important;color:var(--lt-on-focus)!important;border-radius:999px!important}
body.webplayer-app .signin-submit:hover{background:#dfe6ff!important}
body.webplayer-app .password-field button{background:transparent!important;color:var(--lt-text2)!important}
body.webplayer-app .auth-eyebrow,body.webplayer-app .signin-story h1 em,body.webplayer-app .signin-footnote a{color:var(--lt-accent)!important}
body.webplayer-app .access-label{color:var(--lt-accent)!important;border-color:#7cc8ff66!important;background:#7cc8ff14!important}
body.webplayer-app .signin-intro,body.webplayer-app .signin-footnote,body.webplayer-app .story-copy,body.webplayer-app .story-notes{color:var(--lt-text2)!important}
body.webplayer-app .story-notes span{border-color:var(--lt-accent)!important}
body.webplayer-app .signal-art{background:repeating-radial-gradient(ellipse at 85% 100%,transparent 0 25px,#7cc8ff26 26px 27px,transparent 28px 46px),linear-gradient(120deg,var(--lt-surface2),var(--lt-surface))!important;border-color:var(--lt-line)!important}
body.webplayer-app .signal-line,body.webplayer-app .signal-line:nth-child(2),body.webplayer-app .signal-line:nth-child(3){background:linear-gradient(90deg,#1b319600,var(--lt-accent))!important}
body.webplayer-app .signin-divider{background:var(--lt-line)}
body.webplayer-app footer{color:var(--lt-muted)}
@media(max-width:700px){body.webplayer-app .epg-logo{width:36px;height:26px;padding:2px}body.webplayer-app #full-guide button.epg-channel{gap:6px}body.webplayer-app .media-tabs button{padding:8px 14px;font-size:13px}body.webplayer-app .brand small{display:none}}

/* Compact sizes like the app (≈90% scale) on desktop and TV-size screens; phones keep 44px touch targets. */
@media(min-width:901px){
 body.webplayer-app{font-size:13px}
 body.webplayer-app>header{min-height:48px!important;padding:6px 20px!important}
 body.webplayer-app .brand{font-size:17px}body.webplayer-app .brand>span{width:26px;height:26px;font-size:13px}
 body.webplayer-app main{padding:10px 20px 16px!important}
 body.webplayer-app button,body.webplayer-app input,body.webplayer-app select{min-height:32px!important;font-size:13px!important;padding:5px 14px}
 body.webplayer-app input,body.webplayer-app select{padding:5px 10px!important}
 body.webplayer-app .media-tabs{margin-bottom:6px;gap:6px}
 body.webplayer-app .media-tabs button{padding:5px 16px;font-size:13px}
 body.webplayer-app .media-tabs label{display:flex;align-items:center;gap:8px;font-size:12px}
 body.webplayer-app #profile-message{font-size:11px;margin:0 0 8px;color:var(--lt-muted)}
 body.webplayer-app .watch-grid{gap:10px}
 body.webplayer-app h2{font-size:18px}
 body.webplayer-app .eyebrow{font-size:9px}

 /* Live TV: small preview + info on one band, then the guide fills the rest of the screen. */
 body.webplayer-app .live-guide-mode:not(.player-expanded) .player-area{grid-template-columns:280px minmax(0,1fr)!important;gap:16px!important}
 body.webplayer-app .live-guide-mode:not(.player-expanded) .player-area .video-shell{height:auto!important;aspect-ratio:16/9!important;min-height:0!important;border-radius:10px!important}
 body.webplayer-app .live-guide-mode .player-area .player-info{padding:2px 0!important}
 body.webplayer-app .live-guide-mode .player-area h2{font-size:18px!important;margin:0 0 2px!important}
 body.webplayer-app .live-guide-mode .channel-logo{height:30px;margin:4px 0 2px}
 body.webplayer-app .live-guide-mode #playback-message{margin:0!important;font-size:11px}
 body.webplayer-app .live-guide-mode #programme-title{margin:6px 0 0;font-size:14px}
 body.webplayer-app .live-guide-mode #programme-detail{margin:2px 0 8px;font-size:12px}
 body.webplayer-app .live-guide-mode .controls button,body.webplayer-app .live-guide-mode .controls select{min-height:30px!important;padding:4px 12px!important;font-size:12px!important}
 body.webplayer-app #live-library{padding:8px 0 0!important}
 body.webplayer-app #live-library .guide-toolbar{align-items:center;gap:8px;margin-bottom:6px}
 body.webplayer-app #live-library .guide-toolbar .eyebrow{display:none}
 body.webplayer-app #live-library .guide-toolbar h2{font-size:17px}
 body.webplayer-app #live-library .guide-toolbar .search{font-size:0;gap:0;flex:0 1 220px}
 body.webplayer-app .epg-navigation{margin:0 0 8px;gap:6px}
 body.webplayer-app .epg-navigation button,body.webplayer-app .epg-navigation input{min-height:30px!important;font-size:12px!important}
 body.webplayer-app .epg-range{font-size:12px}
 body.webplayer-app .epg-scroll{max-height:max(320px,calc(100vh - 150px))!important}
 body.webplayer-app .epg-head{min-height:34px!important}
 body.webplayer-app .epg-channel-heading{padding:8px 12px!important;font-size:12px}
 body.webplayer-app .epg-times span{padding:7px 10px;font-size:11px}
 body.webplayer-app .epg-head,body.webplayer-app .epg-row{grid-template-columns:200px minmax(0,1fr)!important}
 body.webplayer-app #full-guide .epg-row,body.webplayer-app #full-guide .epg-track{min-height:46px!important}
 body.webplayer-app #full-guide button.epg-channel{min-height:46px!important;padding:4px 10px!important;gap:8px}
 body.webplayer-app #full-guide .epg-channel strong{font-size:12px;-webkit-line-clamp:1}
 body.webplayer-app .epg-logo{width:42px;height:28px;padding:2px}
 body.webplayer-app #full-guide .epg-channel-cell button.favorite{min-height:30px!important;font-size:15px}
 body.webplayer-app #full-guide button.epg-programme{padding:5px 10px!important}
 body.webplayer-app #full-guide .epg-programme strong{font-size:12px}
 body.webplayer-app #full-guide .epg-programme small{margin-top:2px;font-size:10.5px}
 body.webplayer-app #full-guide button.epg-empty{min-height:46px!important;padding:6px 10px!important}
 body.webplayer-app .epg-status,body.webplayer-app #catalog-message{font-size:11px;margin:6px 0 0}

 /* Other pages: same tighter spacing. */
 body.webplayer-app #vod-library .guide-toolbar,body.webplayer-app #sports-events .events-toolbar{gap:8px;margin-bottom:8px}
 body.webplayer-app #sports-events{padding:8px 0!important}
 body.webplayer-app #sports-events h2{font-size:20px!important}
 body.webplayer-app #sports-events .events-section-title{font-size:16px!important;margin-top:10px!important}
 body.webplayer-app #sports-events .sports-games{gap:10px!important}
 body.webplayer-app #sports-events .sports-game{padding:12px!important;gap:8px!important}
 body.webplayer-app #sports-events .event-copy strong{font-size:14px}
 body.webplayer-app #sports-events .event-play,body.webplayer-app #sports-events .event-more,body.webplayer-app #sports-events .event-restart{min-height:32px!important;padding:5px 10px!important;font-size:12px!important}
 body.webplayer-app .vod-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;gap:12px!important;margin:12px 0!important}
 body.webplayer-app .vod-open{padding:8px 8px 4px!important;gap:5px!important}
 body.webplayer-app .vod-open strong{font-size:12px}
 body.webplayer-app .vod-actions{padding:6px 8px 40px!important;gap:6px}
 body.webplayer-app .vod-actions button{min-height:30px!important;padding:4px 6px!important;font-size:12px!important}
 body.webplayer-app .player-info{padding:8px 14px!important}
 body.webplayer-app #watch:not(.live-guide-mode) .video-shell{height:min(46vh,calc((100vw - 40px)*.5625))!important}
}

/* Phones and small tablets: compact like the app's phone layout, so the video and guide fit on screen. */
@media(max-width:900px){
 body.webplayer-app{font-size:13px}
 body.webplayer-app>header{min-height:46px!important;padding:6px 12px!important;gap:8px!important;flex-wrap:nowrap!important}
 body.webplayer-app .brand{font-size:16px}body.webplayer-app .brand>span{width:24px;height:24px;font-size:12px}
 body.webplayer-app .account{gap:8px!important;font-size:12px;flex-wrap:nowrap!important}
 body.webplayer-app .quiet-link{min-height:0!important}
 body.webplayer-app main{padding:8px 10px 16px!important}
 body.webplayer-app button,body.webplayer-app input,body.webplayer-app select{min-height:36px!important;font-size:14px!important}
 body.webplayer-app button{padding:5px 14px}
 body.webplayer-app input,body.webplayer-app select{padding:5px 10px!important}
 /* One swipeable row: tabs, then the profile picker. */
 body.webplayer-app .media-tabs{flex-wrap:nowrap!important;overflow-x:auto;gap:6px!important;margin:0 -10px 4px!important;padding:2px 10px 4px;scrollbar-width:none}
 body.webplayer-app .media-tabs::-webkit-scrollbar{display:none}
 body.webplayer-app .media-tabs button{flex:0 0 auto;padding:5px 14px!important;font-size:13px!important;white-space:nowrap!important}
 body.webplayer-app .media-tabs label{flex:0 0 auto;width:auto!important;margin:0!important;display:flex;align-items:center;font-size:0;gap:0}
 body.webplayer-app .media-tabs select{width:auto!important}
 body.webplayer-app #profile-message{font-size:11px;margin:0 0 6px;color:var(--lt-muted)}
 body.webplayer-app .watch-grid{gap:8px!important}
 /* Full-width video with a compact now-playing block under it. */
 body.webplayer-app .live-guide-mode .player-area{grid-template-columns:minmax(0,1fr)!important;gap:6px!important}
 body.webplayer-app .live-guide-mode .player-area .video-shell,body.webplayer-app .video-shell{max-width:none!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;min-height:0!important;border-radius:10px!important}
 body.webplayer-app .player-info{padding:2px 0!important;background:transparent!important}
 body.webplayer-app .player-info .eyebrow{display:none}
 body.webplayer-app .now-title{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px}
 body.webplayer-app .channel-logo{height:24px!important;max-width:70px;margin:0!important}
 body.webplayer-app .player-info h2{font-size:17px!important;margin:0!important}
 body.webplayer-app #playback-message{flex-basis:100%;margin:0!important;font-size:11px}
 body.webplayer-app #programme-title{margin:4px 0 0!important;font-size:14px}
 body.webplayer-app #programme-detail{margin:0 0 6px!important;font-size:12px}
 body.webplayer-app .controls{display:flex!important;flex-wrap:wrap;gap:6px!important;width:100%}
 body.webplayer-app .controls button,body.webplayer-app .controls select{min-height:34px!important;padding:4px 12px!important;font-size:12px!important;flex:0 0 auto!important;width:auto!important}
 body.webplayer-app .controls label{font-size:0!important;flex:0 0 auto!important}
 body.webplayer-app #quality-status{display:none}
 /* Guide toolbar on one or two short lines. */
 body.webplayer-app #live-library{padding:8px 0 0!important}
 body.webplayer-app .guide-toolbar{gap:6px!important;margin-bottom:6px!important;align-items:center!important}
 body.webplayer-app .guide-toolbar>div{flex-basis:auto!important;margin-right:auto}
 body.webplayer-app #live-library .guide-toolbar .eyebrow{display:none}
 body.webplayer-app .guide-toolbar h2{font-size:16px!important}
 body.webplayer-app #live-library .guide-toolbar .search{font-size:0;gap:0;margin:0!important;flex:1 1 40%!important;min-width:0!important}
 body.webplayer-app .epg-navigation{margin:0 0 6px!important;gap:5px!important}
 body.webplayer-app .epg-navigation button,body.webplayer-app .epg-navigation input{min-height:32px!important;font-size:12px!important;padding:3px 10px!important}
 body.webplayer-app .epg-range{font-size:11px}
 body.webplayer-app .epg-scroll{max-height:calc(100vh - 110px)!important;max-height:calc(100dvh - 110px)!important}
 body.webplayer-app #full-guide .epg-row,body.webplayer-app #full-guide .epg-track,body.webplayer-app #full-guide button.epg-channel,body.webplayer-app #full-guide button.epg-empty{min-height:46px!important}
 body.webplayer-app #full-guide button.epg-programme{padding:5px 8px!important}
 body.webplayer-app #full-guide .epg-programme strong{font-size:12px}
 body.webplayer-app #full-guide .epg-programme small{margin-top:2px;font-size:10.5px}
 body.webplayer-app .epg-head{min-height:32px!important}
 body.webplayer-app .epg-times span{padding:6px 8px;font-size:11px}
 body.webplayer-app #full-guide .epg-channel strong{-webkit-line-clamp:1}
 body.webplayer-app #sports-events h2{font-size:18px!important}
 body.webplayer-app #sports-events .sports-game{padding:12px!important;gap:8px!important}
}

/* Respect the operator-controlled optional module visibility. */
#tab-vodplus[hidden] { display: none !important; }
