/* Shared TV detail view: natural poster proportions and a readable content column. */html[data-tv-library] .details-overlay{padding:36px;background:var(--iptv-surface-880);box-sizing:border-box;}html[data-tv-library] .details-dialog{box-sizing:border-box;padding:48px!important;grid-template-columns: minmax(280px,29%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center;gap:48px!important;grid-gap:48px!important;background:linear-gradient(120deg,var(--iptv-surface-970),var(--iptv-surface-940));border:1px solid var(--iptv-border-361);border-radius:20px;color:var(--iptv-text-1000);}html[data-tv-library] .details-dialog>img{width:100%!important;height:auto!important;max-height:80vh!important;object-fit:contain!important;align-self:center;margin:0!important;border-radius:20px;background:var(--iptv-surface-1000);box-shadow:none;}html[data-tv-library] .details-dialog.poster-missing{grid-template-columns:1fr;}html[data-tv-library] .detail-copy{padding:12px 8px!important;max-height:100%;overflow:auto;direction:ltr;text-align:start;min-width:0;box-sizing:border-box;}html[lang=ar][data-tv-library] .detail-copy{direction:rtl;}html[data-tv-library] .detail-copy>.eyebrow{font-size:18px;color:var(--iptv-accent-1000);}html[data-tv-library] .detail-copy h2{font-size:56px;line-height:1.24;margin:12px 0 20px;unicode-bidi:plaintext;overflow-wrap:break-word;}html[data-tv-library] .detail-copy p{font-size:26px;line-height:1.65;color:var(--iptv-text-1000);margin:14px 0;}html[data-tv-library] .detail-copy #detail-meta{font-size:23px;color:var(--iptv-accent-1000);}html[data-tv-library] #detail-plot{max-height:32vh;overflow:auto;scrollbar-width:thin;}html[data-tv-library] #detail-cast{font-size:22px;color:var(--iptv-text-1000);}html[data-tv-library] #detail-director{font-size:22px;color:var(--iptv-text-1000);}html[data-tv-library] #detail-position{font-size:23px;color:var(--iptv-accent-1000);}html[data-tv-library] .detail-actions{display:flex;flex-wrap:wrap;align-items:stretch;margin-top:28px;gap:0;}html[data-tv-library] .detail-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:78px;font-size:24px;font-weight:600;padding:16px 24px;margin:8px 12px 8px 0!important;border-radius:16px;border:1px solid var(--iptv-border-400);background:var(--iptv-surface-1000);color:var(--iptv-text-1000);}html[data-tv-library] .detail-actions #detail-start{background:var(--media-accent,#66e1cf);color:var(--iptv-muted-1000);border-color:var(--iptv-border-1000);}html[data-tv-library] .detail-actions #detail-resume{background:var(--media-accent,#66e1cf);color:var(--iptv-muted-1000);border-color:var(--iptv-border-1000);}html[data-tv-library] .detail-actions #detail-episodes{background:var(--media-accent,#66e1cf);color:var(--iptv-muted-1000);border-color:var(--iptv-border-1000);}html[data-tv-library] .detail-actions button:focus{outline:4px solid var(--iptv-accent-1000);outline-offset:4px;box-shadow:0 0 28px var(--iptv-glow-400);transform:translateY(-2px);}html[data-tv-library] .detail-actions button:before{content:"";display:inline-block;width:32px;height:32px;min-width:32px;margin-inline-end:12px;background:center/contain no-repeat;}html[data-tv-library] #detail-start:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 5v22l19-11z' fill='%23061522'/%3E%3C/svg%3E");}html[data-tv-library] #detail-resume:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 5v22l19-11z' fill='%23061522'/%3E%3C/svg%3E");}html[data-tv-library] #detail-episodes:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23061522' stroke-width='2.5'%3E%3Crect x='3' y='4' width='26' height='24' rx='4'/%3E%3Cpath d='M10 4v24M3 12h7M3 20h7M16 11v10l8-5z'/%3E%3C/svg%3E");}html[data-tv-library] #detail-close:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2398d9ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 7l-9 9 9 9M7 16h20'/%3E%3C/svg%3E");}html[data-tv-library] #tv-detail-favorite:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m16 3 4 8 9 1-6.5 6.5 1.5 9-8-4.3L8 27.5l1.5-9L3 12l9-1z' fill='%23ffcf62'/%3E%3C/svg%3E");}html[data-tv-library] #tv-detail-trailer:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='2' y='6' width='28' height='20' rx='6' fill='%23ff0033'/%3E%3Cpath d='m13 11 9 5-9 5z' fill='white'/%3E%3C/svg%3E");}html[data-tv-library] .detail-rating{display:flex;align-items:center;flex-wrap:wrap;margin:16px 0;color:var(--iptv-accent-1000);font-size:25px;line-height:1.5;}html[data-tv-library] .detail-rating-stars{position:relative;display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap;font:38px/1.3 Arial;letter-spacing:5px;margin-inline-end:16px;color:var(--iptv-muted-1000);}html[data-tv-library] .detail-rating-fill{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:var(--iptv-accent-1000);}html[data-tv-library] .detail-rating-value{direction:ltr;unicode-bidi:isolate;font-weight:700;font-size:30px;margin-inline-end:12px;}html[data-tv-library] .detail-rating-label{color:var(--iptv-text-1000);font-size:21px;}html[data-tv-library] .details-dialog.tv-series-detail{row-gap:24px!important;grid-row-gap:24px!important;}html[data-tv-library] .tv-series-detail>img{height:100%!important;width:auto!important;max-width:100%;max-height:100%!important;justify-self:center;}html[data-tv-library] .tv-series-detail .detail-copy h2{font-size:34px;margin:4px 0 8px;}html[data-tv-library] .tv-series-detail .detail-copy p{font-size:20px;line-height:1.45;margin:5px 0;}html[data-tv-library] .tv-series-detail #detail-plot{max-height:10vh;}html[data-tv-library] .tv-series-detail .detail-actions{margin-top:8px;}html[data-tv-library] .tv-series-detail .detail-actions button{min-height:56px;font-size:20px;padding:10px 16px;}html[data-tv-library] .tv-series-detail .detail-rating{margin:8px 0;}html[data-tv-library] #tv-series-episodes{direction:ltr;}html[lang=ar][data-tv-library] #tv-series-episodes{direction:rtl;}html[data-tv-library] .tv-episode-toolbar h3{font-size:30px;}html[data-tv-library] .tv-episode-toolbar select{font-size:22px;min-height:52px;border-radius:12px;}html[data-tv-library] .tv-episode-toolbar button{font-size:22px;min-height:52px;border-radius:12px;}html[data-tv-library] header nav #kind-live:before{width:34px;height:34px;}html[data-tv-library] header nav #kind-vod:before{width:34px;height:34px;}html[data-tv-library] header nav #kind-series:before{width:34px;height:34px;}html[data-tv-library] header nav #only-favorites:before{width:34px;height:34px;}@media(max-width:1500px){html[data-tv-library] .details-overlay{padding:24px;}html[data-tv-library] .details-dialog{padding:30px!important;gap:30px!important;grid-gap:30px!important;grid-template-columns:minmax(220px,29%) minmax(0,1fr);}html[data-tv-library] .detail-copy h2{font-size:38px;}html[data-tv-library] .detail-copy p{font-size:20px;}html[data-tv-library] #detail-cast{font-size:18px;}html[data-tv-library] #detail-director{font-size:18px;}html[data-tv-library] .detail-copy #detail-meta{font-size:18px;}html[data-tv-library] #detail-position{font-size:18px;}html[data-tv-library] .detail-actions button{min-height:60px;font-size:18px;padding:12px 17px;margin:6px 9px 6px 0!important;}html[data-tv-library] .detail-actions button:before{width:28px;height:28px;min-width:28px;margin-inline-end:9px;}html[data-tv-library] .detail-rating-stars{font-size:30px;}html[data-tv-library] .detail-rating-value{font-size:25px;}html[data-tv-library] .detail-rating-label{font-size:18px;}html[data-tv-library] .tv-series-detail .detail-copy h2{font-size:30px;}html[data-tv-library] .tv-series-detail .detail-copy p{font-size:18px;}html[data-tv-library] .tv-series-detail .detail-actions button{min-height:52px;font-size:17px;}html[data-tv-library] .tv-episode-toolbar h3{font-size:24px;}html[data-tv-library] .tv-episode-toolbar select{font-size:18px;min-height:44px;}html[data-tv-library] .tv-episode-toolbar button{font-size:18px;min-height:44px;}}/* Override generated generic grid fallbacks with the same poster/content proportions. */html.morph-legacy-layout[data-tv-library] .details-dialog{display:flex!important;flex-wrap:wrap!important;align-content:center;align-items:center;}html.morph-legacy-layout[data-tv-library] .details-dialog>:nth-child(1){flex:0 0 29%!important;width:29%!important;margin:0!important;}html.morph-legacy-layout[data-tv-library] .details-dialog>:nth-child(2){flex:0 0 calc(71% - 48px)!important;width:calc(71% - 48px)!important;margin:0 0 0 48px!important;}html.morph-legacy-layout[data-tv-library] .details-dialog.tv-series-detail{align-content:flex-start;}html.morph-legacy-layout[data-tv-library] .tv-series-detail>:nth-child(1){height:34%!important;max-height:34%!important;}html.morph-legacy-layout[data-tv-library] .tv-series-detail>:nth-child(2){height:34%!important;max-height:34%!important;}html.morph-legacy-layout[data-tv-library] .details-dialog #tv-series-episodes:nth-child(3){flex:0 0 100%!important;width:100%!important;height:calc(66% - 16px);margin:16px 0 0!important;}@media(max-width:1500px){html.morph-legacy-layout[data-tv-library] .details-dialog>:nth-child(2){flex-basis:calc(71% - 30px)!important;width:calc(71% - 30px)!important;margin-left:30px!important;}}html[data-tv-library] .poster-missing #tv-series-episodes{grid-column:1;}html.morph-legacy-layout[data-tv-library] .details-dialog.poster-missing>:nth-child(2){flex:0 0 100%!important;width:100%!important;margin:0!important;}/* Keep long episode lists inside their grid row rather than centering their full content height over the details. */html[data-tv-library] .details-dialog.tv-series-detail #tv-series-episodes{height:100%;max-height:100%;align-self:stretch;overflow:hidden;box-sizing:border-box;}html[data-tv-library] #tv-episode-list{overflow:auto;}html[data-tv-library] .tv-episode-toolbar{flex:0 0 auto;}html[data-tv-library] #tv-episodes-status{flex:0 0 auto;}html[data-tv-library] .details-dialog.tv-series-detail{grid-template-rows:minmax(0,34%) minmax(0,1fr);}html[data-tv-library] #tv-episode-list{flex:1;min-height:0;display:block;}html[data-tv-library] .tv-episode{width:100%;display:flex;}/* Preserve the complete artwork in library cards, regardless of provider aspect ratio. */html body[data-kind] #items .item .tile img{object-fit:contain;object-position:center center;}html .details-dialog>#detail-poster{object-fit:contain!important;object-position:center center!important;justify-self:center;min-height:0;}html .tv-episode>img{object-fit:contain;object-position:center center;}#tv-season-panel{position:absolute;left:22%;right:22%;top:12%;bottom:12%;z-index:90;background:var(--iptv-surface-1000);border:2px solid var(--media-accent,#8ce7ff);border-radius:18px;padding:24px;overflow:auto;box-shadow:none;}#tv-season-panel h3{font-size:26px;margin:0 0 18px;}#tv-season-options{display:flex;flex-direction:column;gap:10px;}#tv-season-options button{min-height:52px;text-align:center;font-size:22px;}#tv-season-open{min-width:180px;}
