*{box-sizing:border-box;}html,body{margin:0;width:1920px;height:1080px;overflow:hidden;background:var(--iptv-surface-1000);color:var(--iptv-text-1000);font-family:Tahoma,Arial,sans-serif;}[hidden]{display:none!important;}.glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 8% 0,var(--iptv-surface-314),transparent 60%),radial-gradient(ellipse at 100% 80%,var(--iptv-surface-251),transparent 65%);pointer-events:none;}header,main,footer{position:relative;}header{height:130px;display:flex;align-items:center;gap:45px;padding:0 62px;border-bottom:1px solid var(--iptv-border-78);}.brand{font-size:31px;font-weight:bold;white-space:nowrap;}.brand span{font-size:14px;letter-spacing:4px;color:var(--iptv-text-1000);margin-left:15px;}nav{display:flex;gap:12px;flex:1;}button{color:var(--iptv-text-1000);background:var(--iptv-surface-27);border:1px solid var(--iptv-border-94);border-radius:14px;font:22px Tahoma,Arial;padding:15px 25px;cursor:pointer;}button.active{background:var(--iptv-surface-141);color:var(--iptv-text-1000);border-color:var(--iptv-border-420);}button:focus,input:focus{outline:3px solid var(--iptv-accent-1000);outline-offset:4px;background-color:var(--iptv-surface-86);}main{display:grid;grid-template-columns:320px 1fr;gap:45px;padding:38px 62px;height:875px;}aside{border-left:1px solid var(--iptv-border-82);padding-left:30px;}.eyebrow{font-size:14px;letter-spacing:3px;color:var(--iptv-accent-1000);}h1{font-size:34px;line-height:1.5;font-weight:normal;margin:15px 0 5px;}#account-note{font-size:16px;line-height:1.8;color:var(--iptv-muted-1000);margin-bottom:25px;}#categories{max-height:595px;overflow:auto;padding:7px;}#categories button{width:100%;display:block;text-align:right;margin-bottom:9px;font-size:18px;padding:16px 19px;}section{min-width:0;}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px;}h2{font-size:37px;font-weight:normal;margin:12px 0 0;}.search{display:flex;gap:10px;}input{background:var(--iptv-surface-27);color:var(--iptv-text-1000);border:1px solid var(--iptv-border-133);border-radius:12px;padding:17px;font:20px Tahoma;width:330px;}#status{font-size:17px;color:var(--iptv-muted-1000);min-height:32px;margin-bottom:14px;}.items{display:grid;grid-template-columns:repeat(5,1fr);gap:19px;max-height:625px;overflow:auto;padding:8px;}.item{position:relative;min-width:0;}.tile{width:100%;height:210px;text-align:right;padding:16px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(140deg,var(--iptv-surface-400),var(--iptv-surface-533));border:1px solid var(--iptv-border-110);border-radius:19px;}.tile img{height:114px;width:100%;object-fit:contain;display:block;border-radius:8px;}.tile strong{font-size:17px;line-height:1.6;font-weight:normal;overflow:hidden;max-height:54px;}.tile .placeholder{font:50px Arial;text-align:center;color:var(--iptv-accent-1000);line-height:115px;}.star{position:absolute;left:6px;top:6px;z-index:2;border-radius:50%;padding:5px;width:36px;height:36px;font-size:21px;background:var(--iptv-surface-875);color:var(--iptv-accent-1000);}.star.selected{color:var(--iptv-accent-1000);}.pagination{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:20px;}.pagination button{font-size:17px;padding:10px 20px;}#page-number{font-size:16px;color:var(--iptv-muted-1000);}footer{display:flex;justify-content:space-between;padding:15px 65px;color:var(--iptv-muted-1000);font-size:14px;}footer span{color:var(--iptv-muted-1000);}button:disabled{opacity:.35;}body[data-kind=vod] .tile,body[data-kind=series] .tile{height:305px;}body[data-kind=vod] .tile img,body[data-kind=series] .tile img{height:205px;object-fit:cover;}body[data-kind=vod] .placeholder,body[data-kind=series] .placeholder{line-height:200px;}header{gap:20px;padding-left:45px;padding-right:45px;}header nav{gap:8px;}header button{font-size:18px;padding:14px 18px;}.resume-tag{display:block;color:var(--iptv-accent-1000);font-size:13px;margin-top:3px;}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--iptv-surface-863);z-index:50;display:flex;align-items:center;justify-content:center;}.settings-dialog{width:760px;padding:40px;background:linear-gradient(135deg,var(--iptv-surface-1000),var(--iptv-surface-1000));border:1px solid var(--iptv-border-1000);border-radius:26px;}.settings-dialog label{display:block;color:var(--iptv-text-1000);font-size:20px;margin:22px 0 12px;}.settings-dialog select{width:100%;padding:16px;color:var(--iptv-text-1000);background:var(--iptv-surface-1000);border:1px solid var(--iptv-border-467);border-radius:12px;font:20px Tahoma;}.settings-dialog .toggle{display:flex;justify-content:space-between;align-items:center;}.toggle input{width:25px;height:25px;accent-color:var(--iptv-accent-1000);}.settings-dialog button{font-size:18px;margin:15px 0 0 8px;}.settings-dialog p{color:var(--iptv-muted-1000);font-size:17px;}#clear-progress{display:block;background:var(--iptv-surface-20);}.tile.saved{border-color:var(--iptv-border-333);}/* Cinema library refresh: clear hierarchy, warm accents and poster-first cards. */html,body{background:var(--iptv-surface-1000);color:var(--iptv-text-1000);}.glow{background:radial-gradient(ellipse at 85% -10%,var(--iptv-surface-333),transparent 55%),radial-gradient(ellipse at 10% 85%,var(--iptv-surface-267),transparent 55%);}header{height:112px;background:linear-gradient(90deg,var(--iptv-surface-800),var(--iptv-surface-400));border-bottom:1px solid var(--iptv-border-75);gap:18px;padding:0 48px;}.brand{font-size:29px;letter-spacing:-1px;}.brand span{color:var(--iptv-accent-1000);letter-spacing:5px;font-size:12px;}header nav{padding:5px;border:1px solid var(--iptv-border-63);background:var(--iptv-surface-302);border-radius:21px;flex:1;justify-content:center;}header nav button{border:0;background:transparent;padding:13px 20px;border-radius:16px;}header nav button.active{background:var(--iptv-surface-1000);color:var(--iptv-muted-1000);box-shadow:0 5px 25px var(--iptv-glow-82);}header>button{border-radius:50px;font-size:16px;padding:15px 18px;background:var(--iptv-surface-27);}button:focus,input:focus,select:focus{outline:4px solid var(--iptv-accent-1000);outline-offset:4px;box-shadow:0 0 26px var(--iptv-glow-169);}main{grid-template-columns:280px 1fr;gap:32px;padding:25px 48px;height:900px;}aside{border:1px solid var(--iptv-border-71);border-radius:25px;padding:25px 18px;background:linear-gradient(160deg,var(--iptv-surface-39),var(--iptv-surface-8));overflow:hidden;}aside .eyebrow{letter-spacing:1px;color:var(--iptv-accent-1000);}h1{font-size:29px;font-weight:600;line-height:1.25;margin:14px 0;}#account-note{font-size:14px;color:var(--iptv-muted-1000);line-height:1.6;margin-bottom:22px;}#categories{max-height:650px;padding:7px;}#categories button{font-size:16px;padding:17px 15px;border:1px solid transparent;background:transparent;border-radius:15px;color:var(--iptv-muted-1000);text-align:start;line-height:1.5;}#categories button.active{background:var(--iptv-surface-110);border-color:var(--iptv-border-333);color:var(--iptv-text-1000);}.eyebrow{color:var(--iptv-accent-1000);letter-spacing:3px;}.heading{height:125px;margin-bottom:10px;padding:8px 18px;border-bottom:1px solid var(--iptv-border-47);}h2{font-size:42px;letter-spacing:-1px;font-weight:500;margin:10px 0;}input{background:var(--iptv-surface-27);border-radius:50px;border:1px solid var(--iptv-border-129);width:335px;padding:17px 23px;}.search button{border-radius:50px;background:var(--iptv-surface-1000);color:var(--iptv-muted-1000);font-size:18px;padding:15px 25px;}.items{gap:23px;max-height:635px;padding:10px 9px 14px;grid-template-columns:repeat(5,1fr);}.tile{border-radius:21px;padding:12px;background:linear-gradient(145deg,var(--iptv-surface-667),var(--iptv-surface-1000));border:1px solid var(--iptv-border-86);transition:transform .12s,box-shadow .12s;}.tile:focus{transform:translateY(-3px);box-shadow:0 14px 35px var(--iptv-shadow-400);}.tile img{border-radius:13px;}.tile strong{font-size:18px;line-height:1.4;text-align:start;unicode-bidi:plaintext;padding:5px 3px;}.star{left:auto;right:15px;top:15px;width:34px;height:34px;border:1px solid var(--iptv-border-251);background:var(--iptv-surface-859);backdrop-filter:blur(12px);font-size:19px;}.star.selected{color:var(--iptv-accent-1000);background:var(--iptv-surface-910);}.resume-tag{color:var(--iptv-accent-1000);font-size:13px;}.pagination{margin-top:12px;}.pagination button{border-radius:30px;background:var(--iptv-surface-43);}.settings-dialog{background:linear-gradient(140deg,var(--iptv-surface-1000),var(--iptv-surface-1000));border-color:var(--iptv-border-388);}footer{font-size:12px;color:var(--iptv-muted-1000);padding:12px 50px;}body[data-kind=vod] .tile,body[data-kind=series] .tile{height:302px;padding:9px;}body[data-kind=vod] .tile img,body[data-kind=series] .tile img{height:225px;object-fit:cover;}body[data-kind=live] .items{grid-template-columns:repeat(4,1fr);}body[data-kind=live] .tile{height:186px;}body[data-kind=live] .tile img{height:105px;padding:8px;}#status{font-size:15px;min-height:25px;margin-bottom:6px;color:var(--iptv-muted-1000);}/* Complete poster artwork and a TV-friendly pre-play page. */body[data-kind=vod] .tile img,body[data-kind=series] .tile img,body[data-kind=episode] .tile img{height:225px;object-fit:contain;background:var(--iptv-surface-1000);flex-shrink:0;}body[data-kind=episode] .tile{height:302px;padding:9px;}.tile strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:48px;}.details-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--iptv-surface-933);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(18px);}.details-dialog{width:1530px;max-height:940px;display:flex;gap:65px;padding:55px;background:linear-gradient(130deg,var(--iptv-surface-1000),var(--iptv-surface-1000));border:1px solid var(--iptv-border-141);border-radius:36px;box-shadow:0 35px 100px var(--iptv-shadow-400);}.details-dialog>img{width:390px;height:585px;object-fit:contain;border-radius:22px;background:var(--iptv-surface-1000);flex-shrink:0;}.detail-copy{flex:1;min-width:0;overflow:auto;}.detail-copy h2{font-size:48px;line-height:1.35;margin-bottom:25px;}.detail-copy p{font-size:23px;line-height:1.9;color:var(--iptv-text-1000);}.detail-copy #detail-meta{color:var(--iptv-accent-1000);font-size:19px;}.detail-copy #detail-plot{max-height:260px;overflow:auto;white-space:pre-line;}.detail-actions{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px;}.detail-actions button{background:var(--iptv-surface-1000);}.detail-actions #detail-resume,.detail-actions #detail-episodes{background:var(--iptv-surface-1000);color:var(--iptv-muted-1000);}.detail-actions button:focus{outline:4px solid var(--iptv-accent-1000);outline-offset:5px;}/* Explicit bounds and margins also work on Tizen 5 / pre-flex-gap engines. */.details-overlay,.settings-overlay{top:0;left:0;width:1920px;height:1080px;}.details-dialog{direction:ltr;gap:0;}.details-dialog>img{margin-right:55px;}.detail-copy{direction:ltr;}html[lang=ar] .detail-copy{direction:rtl;}.detail-actions{gap:0;}.detail-actions button{margin:0 16px 16px 0;}header nav{gap:0;}header nav button{margin:0 5px;}header>.brand{margin-right:28px;}header>button{margin-left:10px;}/* Shared TV portal: explicit bounds work in Android WebView and Tizen. */html,body{background:var(--iptv-surface-1000);}.glow{background:radial-gradient(ellipse at 75% 0,var(--iptv-surface-400),transparent 65%),radial-gradient(ellipse at 0 95%,var(--iptv-surface-267),transparent 60%);}#dashboard{position:relative;height:900px;padding:70px 100px;}.welcome h2{font-size:66px;margin:22px 0;}.welcome p{font-size:26px;color:var(--iptv-accent-1000);}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:28px;margin-top:65px;}.portal-grid button{height:310px;text-align:start;padding:35px;background:linear-gradient(145deg,var(--iptv-surface-733),var(--iptv-surface-1000));border:1px solid var(--iptv-border-400);border-radius:28px;}.portal-grid button>span{display:block;font:76px Arial;color:var(--iptv-accent-1000);margin-bottom:30px;}.portal-grid strong{display:block;font-size:34px;}.portal-grid small{display:block;font-size:20px;color:var(--iptv-text-1000);margin-top:15px;}.portal-grid button:focus{background:linear-gradient(145deg,var(--iptv-surface-1000),var(--iptv-surface-1000));outline-color:var(--iptv-border-1000);}.portal-tools{display:flex;margin-top:42px;}.portal-tools button{margin-inline-end:20px;font-size:22px;padding:20px 30px;}#dashboard-status{color:var(--iptv-text-1000);font-size:23px;line-height:1.7;max-width:1500px;}.settings-dialog{width:1450px;padding:30px 42px;max-height:1000px;overflow:auto;background:linear-gradient(130deg,var(--iptv-surface-1000),var(--iptv-surface-1000));}.settings-heading h2{font-size:40px;}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:35px;margin-top:16px;}.setting-group{padding:16px 26px 22px;background:var(--iptv-surface-24);border:1px solid var(--iptv-border-125);border-radius:20px;}.setting-group h3{font-size:26px;color:var(--iptv-accent-1000);margin:5px 0 15px;}.settings-dialog label{margin:15px 0 9px;}.settings-dialog select{padding:13px;}.settings-dialog .toggle{min-height:44px;}.settings-dialog p{line-height:1.6;}.settings-dialog #cache-note{font-size:17px;color:var(--iptv-muted-1000);}.settings-dialog #clear-progress{display:inline-block;}.settings-dialog button{margin-right:15px;}.settings-dialog #settings-status{min-height:25px;margin-bottom:0;}.items{grid-gap:23px;}body[data-density=compact]:not([data-kind=live]) .items{grid-template-columns:repeat(6,1fr);}body[data-density=compact]:not([data-kind=live]) .tile{height:280px;}body[data-density=compact]:not([data-kind=live]) .tile img{height:200px;}body[data-density=compact][data-kind=live] .items{grid-template-columns:repeat(5,1fr);}.reduce-motion .tile{transition:none;}.reduce-motion .tile:focus{transform:none;}header nav button{padding:13px 15px;}footer{height:60px;}#home-open.active{background:var(--iptv-surface-1000);color:var(--iptv-muted-1000);}#account-panel{padding:20px 25px;margin-top:15px;border:1px solid var(--iptv-border-188);border-radius:18px;}#account-panel input{display:block;width:100%;border-radius:12px;padding:12px;}#account-panel label{margin:10px 0 6px;}#account-panel h3{margin:0;}.settings-dialog{scroll-padding:25px;}.unified-bar{display:flex;margin-top:28px;}.unified-bar input{width:700px;margin-inline-end:18px;}.unified-bar button{background:var(--iptv-surface-1000);color:var(--iptv-muted-1000);}#dashboard{padding-top:45px;}.portal-grid{margin-top:35px;}.portal-grid button{height:265px;}header{padding-left:28px;padding-right:28px;}header nav button{font-size:16px;padding:12px 10px;}header>button{font-size:15px;padding:13px;}#epg-list{max-height:650px;overflow:auto;padding:10px;}#epg-list article{padding:18px 22px;margin-bottom:14px;border:1px solid var(--iptv-border-188);border-radius:18px;background:var(--iptv-surface-20);}#epg-list h3{font-size:26px;margin:12px 0;}#epg-list time{font-size:18px;color:var(--iptv-text-1000);}#epg-list p{font-size:20px;line-height:1.7;}.epg-now{border-color:var(--iptv-border-1000)!important;background:var(--iptv-surface-102)!important;}body[data-kind=all] .items .item .tile{height:302px;}body[data-kind=all] .items .item .tile img{height:225px;object-fit:contain;}.portal-tools{margin-top:24px;}#epg-list article:focus{outline:4px solid var(--media-accent,#b5f6df);outline-offset:3px;}/* Safe inset for focus rings, plus a subtle theme-colored glass reflection. */.details-dialog{position:relative;isolation:isolate;padding:55px 60px;box-shadow:inset 0 1px 0 var(--iptv-shadow-333),0 30px 90px var(--iptv-shadow-467);overflow:visible;}.details-dialog:before{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(125deg,var(--iptv-surface-94) 0%,var(--iptv-surface-16) 35%,transparent 52%,var(--iptv-surface-39) 100%);pointer-events:none;z-index:-1;}.detail-copy{padding:12px 14px 20px;min-width:0;overflow-x:hidden;}.detail-actions{padding:12px 12px 14px;overflow:visible;}.detail-actions button{min-height:62px;padding:12px 24px;margin:0 20px 18px 0;}.detail-actions button:focus{outline-offset:2px;}.details-dialog>img{margin-right:42px;}.portal-grid .portal-icon{display:block;width:92px;height:92px;margin-bottom:22px;filter:drop-shadow(0 10px 18px #0004);}header nav #kind-live:before,header nav #kind-vod:before,header nav #kind-series:before{content:"";display:inline-block;width:32px;height:32px;margin-inline-end:8px;vertical-align:middle;background:center/contain no-repeat;}header nav #kind-live:before{background-image:url(icon-live.svg);}header nav #kind-vod:before{background-image:url(icon-vod.svg);}header nav #kind-series:before{background-image:url(icon-series.svg);}#iptv-feedback{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:30000;max-width:82vw;box-sizing:border-box;padding:16px 28px;border-radius:18px;border:1px solid var(--iptv-border-1000);background:var(--iptv-surface-1000);color:var(--iptv-text-1000);font:22px/1.5 Tahoma,Arial,sans-serif;text-align:center;pointer-events:none;}#iptv-feedback[hidden]{display:none!important;}#iptv-feedback[data-state=busy]{background:var(--iptv-surface-1000);border-color:var(--iptv-border-1000);}#iptv-feedback[data-state=error]{background:var(--iptv-surface-1000);border-color:var(--iptv-border-1000);}.account-subscription-info{white-space:pre-line;padding:18px;border:1px solid var(--iptv-border-361);border-radius:14px;line-height:1.7;font-size:21px!important;color:inherit!important;background:var(--iptv-surface-502);}.saved-accounts{border:1px solid var(--iptv-border-361);border-radius:18px;padding:20px;margin-bottom:18px;}.saved-accounts label{display:block;margin-bottom:10px;}.saved-accounts select{width:100%;max-width:100%;}@media(max-height:800px){#iptv-feedback{top:12px;font-size:17px;padding:12px 20px;}.account-subscription-info{font-size:17px!important;}.saved-accounts{padding:14px;}}#detail-close,#tv-detail-favorite{display:none!important;}/* Watched position remains attached to its own title. */#items .tile .watch-progress{display:block;flex:none;width:100%;height:4px;min-height:4px;background:var(--iptv-surface-1000);border-radius:4px;overflow:hidden;margin-top:5px;}#items .tile .watch-progress i{display:block;height:100%;background:var(--iptv-accent,var(--media-accent,#638cff));border-radius:inherit;}.watch-progress.duration-unknown{width:6px!important;background:var(--iptv-surface-1000)!important;}
