/* Blue/violet is the default; theme accents and artwork come from MediaTheme. */html[data-media-cinema] body{background:var(--media-bg,#050d19)!important;isolation:isolate;}html[data-media-cinema] body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(90deg,var(--iptv-surface-937),var(--iptv-surface-831)),var(--media-art);background-size:cover;background-position:center;}html[data-media-cinema] header{height:104px;flex-basis:104px;border:0!important;background:var(--iptv-surface-722)!important;padding:0 36px;direction:ltr;gap:12px;}html[data-media-cinema] header .brand{font-size:30px;white-space:nowrap;color:var(--iptv-text-1000);padding-left:52px;position:relative;}html[data-media-cinema] header .brand:before{content:"▷";position:absolute;left:0;top:-5px;width:42px;height:42px;border-radius:12px;line-height:42px;text-align:center;color:var(--iptv-text-1000);background:linear-gradient(130deg,var(--media-accent),var(--media-secondary));box-shadow:0 0 16px var(--iptv-glow-333);}html[data-media-cinema] header nav{display:flex;background:var(--iptv-surface-522);border:1px solid var(--iptv-border-125);border-radius:44px;padding:5px;flex:1;justify-content:center;min-width:0;}html[data-media-cinema] header button{font-size:18px;padding:14px 16px;border:0;border-radius:30px;background:transparent!important;white-space:nowrap;}html[data-media-cinema] header button.active,html[data-media-cinema] #categories button.active,html[data-media-cinema] #library-special button.active{color:var(--iptv-text-1000)!important;background:linear-gradient(115deg,var(--media-accent),var(--media-secondary))!important;box-shadow:0 0 15px var(--iptv-glow-271);}html[data-media-cinema] body.cinema-home header nav button.active:not(#home-open){background:transparent!important;box-shadow:none;}html[data-media-cinema] header #refresh,html[data-media-cinema] header #epg-open{display:none;}html[data-media-cinema] .media-clock{font-size:17px;color:var(--iptv-text-1000);white-space:nowrap;}html[data-media-cinema] header #kind-live,html[data-media-cinema] header #kind-vod,html[data-media-cinema] header #kind-series,html[data-media-cinema] header #only-favorites{display:block!important;}html[data-media-cinema] header nav{flex:0 1 auto;}html[data-media-cinema] header .unified-bar{position:absolute;top:98px;right:36px;z-index:20;background:var(--iptv-surface-961);padding:14px;border:1px solid var(--media-accent);border-radius:18px;width:650px;}html[data-media-cinema] header .unified-bar{position:static;order:0;flex:0 1 370px;width:auto;min-width:180px;margin-left:auto;padding:0;background:var(--iptv-surface-314);border-color:var(--iptv-border-267);}html[data-media-cinema] header .unified-bar input{padding:12px;font-size:17px;min-width:70px;}html[data-media-cinema] header .unified-bar button{color:var(--iptv-text-1000)!important;font-size:16px;padding:12px;}html[data-media-cinema] #dashboard{padding:14px 36px 12px;display:flex;flex-direction:column;overflow:hidden;gap:0;}html[data-media-cinema] #cinematic-hero{height:390px;flex:1 1 390px;min-height:260px;position:relative;overflow:hidden;border-radius:26px;border:1px solid var(--iptv-border-188);background:var(--iptv-surface-1000);}html[data-media-cinema] .cinematic-hero-art{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;}html[data-media-cinema] .cinematic-hero-art{object-position:center top;}html[data-media-cinema] #cinematic-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--iptv-surface-933),transparent 78%),linear-gradient(0deg,var(--iptv-surface-400),transparent 70%);pointer-events:none;}html[data-media-cinema] .cinematic-hero-copy{position:relative;padding:48px 64px;z-index:1;width:60%;text-align:start;}html[data-media-cinema] .cinematic-hero-copy{margin-right:auto;direction:inherit;}html[data-media-cinema] .cinematic-kicker{font-size:18px;letter-spacing:3px;color:var(--iptv-text-1000);}html[data-media-cinema] .cinematic-hero-copy h1{font-size:62px;line-height:1.2;margin:22px 0 16px;color:var(--iptv-text-1000);}html[data-media-cinema] .cinematic-hero-copy p{font-size:24px;line-height:1.6;max-width:650px;margin:0 0 24px;color:var(--iptv-text-1000);}html[data-media-cinema] #cinematic-browse{background:var(--iptv-surface-1000)!important;color:var(--iptv-muted-1000);border:0;border-radius:34px;padding:18px 30px;font-size:23px;font-weight:700;}html[data-media-cinema] .hero-dots{position:absolute;right:34px;bottom:26px;z-index:2;display:flex;}.hero-dots i{width:12px;height:12px;border-radius:50%;background:var(--iptv-surface-333);margin-left:12px;}.hero-dots i:first-child{background:var(--iptv-surface-1000);}html[data-media-cinema] #dashboard .portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;flex:0 0 194px;margin:16px 0 0;direction:ltr;}html[data-media-cinema] #dashboard .portal-grid button{position:relative;isolation:isolate;overflow:hidden;padding:25px 25px 20px!important;min-height:0;height:194px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;border-radius:22px;border:1px solid var(--iptv-border-333)!important;background:var(--iptv-surface-1000)!important;text-align:start;}html[data-media-cinema] #dashboard .portal-grid button .category-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.95;}html[data-media-cinema] #dashboard .portal-grid button:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--iptv-surface-722),transparent),linear-gradient(0deg,var(--iptv-surface-659),transparent 90%);z-index:-1;}html[data-media-cinema] #dashboard .portal-grid .portal-icon{width:49px;height:49px;margin:0 0 12px;filter:brightness(0) invert(1);}html[data-media-cinema] #dashboard .portal-grid strong{font-size:27px;color:var(--iptv-text-1000);margin:0 0 7px;line-height:1.2;}html[data-media-cinema] #dashboard .portal-grid small{font-size:17px;color:var(--iptv-text-1000);line-height:1.3;}html[data-media-cinema] .music-glyph{font-size:49px;line-height:49px;margin-bottom:12px;}html[data-media-cinema] #continue-heading{font-size:26px;margin:16px 0 8px;color:var(--iptv-text-1000);flex-shrink:0;}html[data-media-cinema] #watch-hero.watch-history-grid{height:162px;min-height:162px;flex:0 0 162px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:18px;margin:0;}html[data-media-cinema] .watch-card{position:relative;height:162px;min-height:0;border-radius:18px;padding:0;overflow:hidden;border:1px solid var(--iptv-border-267);background:var(--iptv-surface-1000)!important;}html[data-media-cinema] .watch-card>img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.5;}html[data-media-cinema] .watch-card.empty>img{width:70px;height:70px;left:auto;right:22px;top:45px;opacity:.4;object-fit:contain;}html[data-media-cinema] .watch-copy{position:relative;inset:auto;padding:14px 22px;width:100%;height:100%;background:linear-gradient(90deg,var(--iptv-surface-902),var(--iptv-surface-133));box-sizing:border-box;}html[data-media-cinema] .watch-copy .watch-label{font-size:14px;color:var(--iptv-text-1000);}html[data-media-cinema] .watch-copy h2{font-size:22px;margin:7px 0;max-width:85%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}html[data-media-cinema] .watch-copy p{font-size:15px;line-height:1.2;margin:0 0 4px;min-height:0;}html[data-media-cinema] .watch-copy button{font-size:16px;min-height:30px;padding:6px 16px;border-radius:22px;background:var(--iptv-surface-667)!important;}html[data-media-cinema] .portal-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;flex:0 0 62px;margin:18px 0 0;}html[data-media-cinema] .portal-tools button{font-size:20px;border-radius:18px;background:var(--iptv-surface-600)!important;border:1px solid var(--iptv-border-267)!important;padding:14px;text-align:start;}html[data-media-cinema] #dashboard-status{font-size:15px;margin:5px 0;min-height:18px;}html[data-media-cinema] #dashboard .portal-grid{padding:0;gap:16px;}html[data-media-cinema] #dashboard .portal-grid button{width:100%;flex:none;}html[data-media-cinema] #dashboard .portal-grid button .portal-icon{width:49px;height:49px;margin:0 0 12px;object-fit:contain;filter:brightness(0) invert(1);}html[data-media-cinema] #dashboard .portal-grid button span.portal-icon{filter:none;color:var(--iptv-text-1000);display:block;}html[data-media-cinema] #dashboard .portal-grid button .portal-icon svg{width:100%;height:100%;display:block;}html[data-media-cinema] #dashboard .portal-grid button strong{font-size:27px;}html[data-media-cinema] #dashboard .portal-grid button small{display:block;}html[data-media-cinema] #dashboard #watch-hero h2{font-size:22px;margin:7px 0;}html[data-media-cinema] #dashboard #watch-hero p{margin:0 0 4px;}html[data-media-cinema] #dashboard #watch-hero .watch-label{font-size:14px;}html[data-media-cinema] #dashboard #watch-hero button{color:var(--iptv-text-1000)!important;}html[data-media-cinema] #dashboard #watch-hero .watch-card>img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}html[data-media-cinema] #dashboard #watch-hero .watch-card.empty>img{left:auto;right:20px;top:45px;width:65px;height:65px;object-fit:contain;}html[data-media-cinema] #dashboard #watch-hero{margin-bottom:0;}@media(max-width:1400px){html[data-media-cinema] header .brand{font-size:23px;padding-left:40px;}html[data-media-cinema] header button{padding:10px 9px;font-size:13px;}html[data-media-cinema] header .unified-bar{flex-basis:265px;}html[data-media-cinema] header .unified-bar input,html[data-media-cinema] header .unified-bar button{font-size:13px;padding:10px;}}@media(max-height:800px){html[data-media-cinema] #dashboard .portal-grid{flex-basis:133px;padding:0;gap:12px;}html[data-media-cinema] #dashboard .portal-grid button .portal-icon{width:32px;height:32px;margin-bottom:6px;}html[data-media-cinema] #dashboard .portal-grid button strong{font-size:20px;}html[data-media-cinema] #dashboard #watch-hero h2{font-size:16px;margin:4px 0;}html[data-media-cinema] #dashboard #watch-hero .watch-label{font-size:11px;}}html[data-media-cinema] main>aside{border-radius:22px;background:var(--iptv-surface-863)!important;border:1px solid var(--iptv-border-251)!important;padding:20px 12px;}html[data-media-cinema] #categories button,html[data-media-cinema] #library-special button{border-radius:10px;min-height:54px;}html[data-media-cinema] #items .tile{border-radius:16px!important;background:var(--iptv-surface-910)!important;border:1px solid var(--iptv-border-333)!important;}html[data-media-cinema] #catalog-sort,html[data-media-cinema] #catalog-view-toggle{font-size:17px;min-height:46px;padding:9px 16px;background:var(--iptv-surface-733);border:1px solid var(--iptv-border-267);border-radius:14px;color:var(--iptv-text-1000);margin-inline-start:10px;}html[data-media-cinema] #catalog-sort{margin-inline-start:auto;max-width:230px;}html[data-media-cinema] #catalog-view-toggle{display:none;}html[data-media-cinema] body[data-kind=live] #catalog-view-toggle{display:block;}html[data-media-cinema] .heading .search{flex:0 1 470px;}html[data-media-cinema] body.channel-grid[data-kind=live] main>section{display:flex;flex-direction:column;min-height:0;}html[data-media-cinema] body.channel-grid[data-kind=live] #tv-live-preview{display:none;}html[data-media-cinema] body.channel-grid[data-kind=live] #items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--tv-channel-row,170px);flex:1;min-height:0;grid-gap:14px;align-content:start;}html[data-media-cinema] body.channel-grid[data-kind=live] #items .item{height:100%;min-height:0;}html[data-media-cinema] body.channel-grid[data-kind=live] #items .tile{height:100%;min-height:0;flex-direction:column;justify-content:center;padding:20px;}html[data-media-cinema] body.channel-grid[data-kind=live] #items .tile img{width:100%;height:0;min-height:0;flex:1;object-fit:contain;background:transparent;border-radius:14px;padding:22px!important;}html[data-media-cinema] body.channel-grid[data-kind=live] .tile strong{flex:0 0 auto;width:100%;padding:14px 0 0;text-align:center;white-space:normal;max-height:70px;}@media(max-width:1400px){html[data-media-cinema] #catalog-sort,html[data-media-cinema] #catalog-view-toggle{font-size:13px;padding:7px 9px;max-width:160px;min-height:36px;}html[data-media-cinema] .heading .search{flex-basis:330px;}html[data-media-cinema] .heading h2{font-size:21px;}html[data-media-cinema] body.channel-grid[data-kind=live] #items .tile{padding:10px;}}html[data-media-cinema] button:focus,html[data-media-cinema] input:focus,html[data-media-cinema] select:focus{outline:3px solid var(--media-accent)!important;outline-offset:3px!important;box-shadow:0 0 12px var(--media-accent),0 0 22px var(--iptv-glow-400)!important;}html[data-media-cinema] #dashboard .portal-grid button:focus{transform:none;border-color:var(--media-accent)!important;}html[data-media-cinema] footer{font-size:12px;opacity:.6;height:22px;min-height:22px;padding:4px 36px;}@media(max-height:800px){html[data-media-cinema] header{height:76px;flex-basis:76px;padding:0 22px;}html[data-media-cinema] header button{font-size:14px;padding:10px;}html[data-media-cinema] .media-clock{display:none;}html[data-media-cinema] #dashboard{padding:10px 24px;}html[data-media-cinema] #cinematic-hero{min-height:205px;}html[data-media-cinema] .cinematic-hero-copy{padding:24px 34px;}html[data-media-cinema] .cinematic-hero-copy h1{font-size:42px;margin:12px 0;}html[data-media-cinema] .cinematic-hero-copy p{font-size:17px;margin-bottom:12px;}html[data-media-cinema] #cinematic-browse{font-size:17px;padding:12px 20px;}html[data-media-cinema] #dashboard .portal-grid{flex-basis:133px;margin-top:12px;grid-gap:12px;}html[data-media-cinema] #dashboard .portal-grid button{height:133px;padding:16px!important;}html[data-media-cinema] #dashboard .portal-grid .portal-icon{width:32px;height:32px;margin-bottom:6px;}html[data-media-cinema] .music-glyph{font-size:32px;line-height:32px;margin-bottom:6px;}html[data-media-cinema] #dashboard .portal-grid strong{font-size:20px;}html[data-media-cinema] #dashboard .portal-grid small{font-size:12px;}html[data-media-cinema] #continue-heading{font-size:20px;margin:12px 0 7px;}html[data-media-cinema] #watch-hero.watch-history-grid{height:112px;min-height:112px;flex-basis:112px;}html[data-media-cinema] .watch-card{height:112px;}html[data-media-cinema] .watch-copy{padding:9px 14px;}html[data-media-cinema] .watch-copy h2{font-size:16px;margin:4px 0;}html[data-media-cinema] .watch-copy p{font-size:12px;}html[data-media-cinema] .watch-copy .watch-label{font-size:11px;}html[data-media-cinema] .watch-copy button{font-size:12px;padding:4px 12px;min-height:24px;}html[data-media-cinema] .portal-tools{flex-basis:44px;margin-top:12px;}html[data-media-cinema] .portal-tools button{font-size:15px;padding:10px;}html[data-media-cinema] #dashboard-status{font-size:11px;min-height:12px;}}/* TV remote focus and press feedback; the layout footprint stays stable. */html[data-media-cinema] #dashboard .portal-tools{display:none!important;}html[data-media-cinema] #dashboard .portal-grid{overflow:visible;}html[data-media-cinema] #dashboard .portal-grid button{position:relative;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;transform-origin:center;}html[data-media-cinema] #dashboard .portal-grid button:focus{transform:scale(1.035);z-index:2;border-color:var(--media-accent)!important;}html[data-media-cinema] #dashboard .portal-grid button:active,html[data-media-cinema] #dashboard .portal-grid button.portal-pressed{animation:portal-press 240ms ease-out;}@keyframes portal-press{0%{transform:scale(1.035);}40%{transform:scale(.975);}100%{transform:scale(1.035);}}html[data-media-cinema] header .unified-bar{background:var(--iptv-surface-910);border:1px solid var(--iptv-border-600);border-radius:16px;box-shadow:inset 0 1px var(--iptv-shadow-141);}html[data-media-cinema] header #unified-query{color:var(--iptv-text-1000);background:var(--iptv-surface-788);border-radius:12px;}html[data-media-cinema] header #unified-query::placeholder{color:var(--iptv-text-1000);opacity:1;}html[data-media-cinema] body.reduce-motion #dashboard .portal-grid button{transition:none!important;animation:none!important;transform:none!important;}@media(prefers-reduced-motion:reduce){html[data-media-cinema] #dashboard .portal-grid button{transition:none!important;animation:none!important;transform:none!important;}}html[data-media-cinema] body.channel-grid[data-kind=live] #items .item{position:relative;display:block;}html[data-media-cinema] body.channel-grid[data-kind=live] .tv-live-favorite{position:absolute;right:8px;top:8px;z-index:2;width:46px;height:46px;font-size:28px;background:var(--iptv-surface-902);}/* Keep recent artwork whole, bright and separate from readable metadata. */html[data-media-cinema] #dashboard #watch-hero .watch-card>img{inset:auto;left:auto;right:0;top:0;width:34%;height:100%;padding:8px;object-fit:contain;object-position:center;opacity:1;background:var(--iptv-surface-1000);border-radius:0;}html[data-media-cinema] #dashboard #watch-hero .watch-card:after{display:none;}html[data-media-cinema] #dashboard #watch-hero .watch-copy{position:relative;inset:auto;width:66%;height:100%;margin:0 auto 0 0;padding:14px 18px;background:linear-gradient(120deg,var(--iptv-surface-1000),var(--iptv-surface-1000));direction:inherit;text-align:start;}html[data-media-cinema] #dashboard #watch-hero .watch-copy h2{max-width:100%;}html[data-media-cinema] #dashboard #watch-hero .watch-card[data-watch-kind=live]>img{padding:16px;background:radial-gradient(ellipse at center,var(--iptv-surface-1000),var(--iptv-surface-1000));}html[data-media-cinema] #dashboard #watch-hero .watch-card.empty>img{inset:auto;right:0;top:0;width:34%;height:100%;padding:25px;opacity:.85;object-fit:contain;}html[data-media-cinema] #dashboard .portal-grid button[data-open=live]{--category-color:var(--iptv-accent);}html[data-media-cinema] #dashboard .portal-grid button[data-open=vod]{--category-color:var(--iptv-accent);}html[data-media-cinema] #dashboard .portal-grid button[data-open=series]{--category-color:var(--iptv-accent);}html[data-media-cinema] #dashboard .portal-grid button#home-favorites{--category-color:var(--iptv-accent);}html[data-media-cinema] #dashboard .portal-grid button#home-music{--category-color:var(--iptv-accent);}html[data-media-cinema] #dashboard .portal-grid button .portal-icon{filter:none;color:var(--category-color);border-radius:12px;box-shadow:0 0 20px var(--iptv-shadow-400);}html[data-media-cinema] #dashboard .portal-grid button strong{color:var(--category-color,#fff);text-shadow:0 2px 8px var(--iptv-shadow-1000);}html[data-media-cinema] #dashboard .portal-grid button .music-glyph{color:var(--category-color);}@media(max-height:800px){html[data-media-cinema] #dashboard #watch-hero .watch-copy{padding:9px 12px;}html[data-media-cinema] #dashboard #watch-hero .watch-card[data-watch-kind=live]>img{padding:10px;}}html[data-media-cinema] #dashboard .portal-grid button span.portal-icon{color:var(--category-color,#fff);filter:none;}html[data-media-cinema] #dashboard #watch-hero .watch-card>img{transform:none;}/* Background only: hero artwork, posters and channel logos retain their sources. */html[data-media-cinema] body:before{background-image:var(--iptv-background);background-size:cover;background-position:center;}/* Live favorites use long press; no additional remote stop on a star. */html[data-tv-library] .item[data-kind="live"] .tile.favorite:after{content:none!important;display:none!important;}#tv-channel-favorite[hidden]{display:none!important;}#favorite-kinds{display:flex;flex-wrap:wrap;flex:0 0 auto;gap:12px;padding:4px 8px 12px;direction:inherit;}#favorite-kinds[hidden]{display:none!important;}#favorite-kinds button{min-height:52px;padding:10px 22px;margin:0 10px 0 0;font-size:21px;border:1px solid var(--iptv-border-361);border-radius:14px;background:var(--iptv-surface-1000);color:var(--iptv-text-1000);}#favorite-kinds button[aria-pressed=true]{background:var(--media-accent,#65ddd1);color:var(--iptv-muted-1000);border-color:var(--iptv-border-1000);}#favorite-kinds button:focus{outline:3px solid var(--iptv-accent-1000);outline-offset:3px;}.poster-unavailable{width:100%;background:linear-gradient(150deg,var(--iptv-surface-1000),var(--iptv-surface-1000));color:var(--iptv-accent-1000);border-radius:8px;min-height:90px!important;}@media(max-width:1500px){#favorite-kinds button{font-size:18px;min-height:44px;padding:8px 16px;}}/* Explicit on-light CTA text in both normal and focused states. */html[data-media-cinema] body #cinematic-browse,html[data-media-cinema] body #cinematic-browse:focus{color:var(--iptv-muted-1000)!important;-webkit-text-fill-color:var(--iptv-accent-1000)!important;background:var(--iptv-surface-1000)!important;text-shadow:none!important;opacity:1;line-height:1.4;min-height:48px;}#catalog-sort-panel[hidden]{display:none!important;}#catalog-sort-panel{position:fixed;inset:0;z-index:150;background:var(--iptv-surface-733);display:flex;align-items:center;justify-content:center;}#catalog-sort-panel section{width:560px;max-height:85vh;overflow:auto;padding:30px;background:var(--iptv-surface-1000);border:1px solid var(--iptv-border-533);border-radius:24px;color:var(--iptv-text-1000);}#catalog-sort-options{display:flex;flex-direction:column;gap:14px;}#catalog-sort-options button{min-height:70px;font-size:25px;text-align:center;color:var(--iptv-text-1000);background:var(--iptv-surface-1000);border:2px solid transparent;border-radius:14px;}#catalog-sort-options button:focus{outline:3px solid var(--iptv-accent-1000);outline-offset:2px;background:var(--iptv-surface-1000);}#catalog-sort-options button[aria-pressed=true]{border-color:var(--iptv-border-1000);}/* Live logos use compact channel cards, independent of movie poster geometry. */html[data-media-cinema] body.channel-grid[data-kind=live] #items .tile .poster-unavailable{display:flex;align-items:center;justify-content:center;flex:1;width:100%;height:auto;min-height:0;line-height:1;font-size:42px;background:transparent;}html[data-media-cinema] body.channel-grid[data-kind=live] #items .tile img{box-sizing:border-box;object-position:center center;padding:12px!important;}html[data-media-cinema] body.channel-grid[data-kind=live] #items .tile strong{font-size:20px;line-height:1.3;max-height:64px;padding:8px 4px 0;flex:0 0 auto;white-space:normal;}@media(max-width:1400px){html[data-media-cinema] body.channel-grid[data-kind=live] #items .tile strong{font-size:16px;max-height:50px;}}html[data-media-cinema] #home-source-switch{margin-inline-start:16px;padding:14px 20px;border-radius:24px;font-size:18px;background:var(--iptv-surface-902)!important;color:var(--iptv-text-1000)!important;border:1px solid var(--iptv-border-541)!important;max-width:100%;}@media(max-height:800px){html[data-media-cinema] #home-source-switch{font-size:14px;padding:10px 14px;margin-inline-start:10px;}}
