:root{color-scheme:dark;--bg:#10151a;--panel:#192128;--panel2:#202b32;--accent:#aed9ce;--cream:#f2efe5;--sub:#9eafb7;--outline:#4a6166;--line:#ffffff16;--shadow:0 15px 55px #0005;--font:Cairo,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--cream);font-family:var(--font)}body{overflow-x:hidden}
button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #ffefb0!important;outline-offset:4px!important;box-shadow:0 0 0 9px #b0dfd733!important;z-index:3;position:relative}
button:hover{border-color:#8da9a8}
.tv-shell{min-height:100dvh;background:radial-gradient(ellipse 58% 32% at 0 0,#23303655,transparent 75%),var(--bg)}
.tv-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:clamp(14px,1.7vw,36px);padding:clamp(14px,1.6vw,25px) clamp(25px,4.2vw,84px);min-height:95px;background:#111920ec;border-bottom:1px solid #ffffff15;backdrop-filter:blur(16px)}
.tv-brand{display:flex;align-items:center;gap:13px;font-size:clamp(20px,1.5vw,32px);font-weight:900;white-space:nowrap}
.tv-brand-n{display:grid;place-items:center;width:43px;height:43px;font-size:26px;background:#c99a8a;color:#192022;border-radius:13px;transform:rotate(-6deg)}
.tv-nav{display:flex;align-items:center;gap:8px;margin-right:auto;margin-left:auto}
.nav-btn,.search-trigger{border:1px solid transparent;border-radius:11px;color:#b4c3c7;background:transparent;padding:10px clamp(12px,1.6vw,23px);font-size:clamp(15px,1.06vw,20px);font-weight:800;min-height:48px;white-space:nowrap}
.nav-btn.active{background:#26373b;color:#d9efde;border-color:#405b5b}
.nav-btn:hover,.search-trigger:hover{background:#27363d;color:white}
.search-trigger{display:flex;align-items:center;gap:12px;border-color:#ffffff25;background:#1b282e}
.tv-content{padding:clamp(22px,3.2vw,58px) clamp(25px,4.2vw,84px) 100px;min-height:calc(100dvh - 100px)}
.tv-loading{min-height:38vh;display:flex;gap:18px;justify-content:center;align-items:center;font-size:20px;color:var(--sub)}
.spin{width:34px;height:34px;border:3px solid #34474c;border-top-color:var(--accent);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.tv-hero{min-height:clamp(310px,29vw,520px);background:#233039;border:1px solid var(--line);border-radius:22px;display:flex;align-items:center;position:relative;overflow:hidden;margin-bottom:42px}
.tv-hero-art{position:absolute;inset:0;background-size:cover;background-position:center 35%;opacity:.35;filter:blur(9px) saturate(.7);transform:scale(1.06)}
.tv-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#15212649 0,#152126dc 60%,#152126f4)}
.tv-hero-inner{position:relative;z-index:2;max-width:65%;padding:clamp(30px,5vw,90px)}
.tv-kicker{font-size:clamp(14px,1vw,19px);font-weight:900;color:#a8d4cc}
.tv-hero h1{font-size:clamp(34px,3.5vw,69px);line-height:1.35;font-weight:900;margin:14px 0 28px;text-wrap:balance}
.tv-action{padding:16px 34px;min-height:62px;border-radius:13px;border:1px solid #aac9c5;background:#b6d7cb;color:#132027;font-size:clamp(16px,1.3vw,24px);font-weight:900;display:inline-flex;align-items:center;gap:12px}
.tv-action.secondary{background:#25353c;color:#e9f1e8;border-color:#546c73}
.tv-action:hover{background:#d4e9dd}
.tv-shelf{margin-top:35px}.tv-shelf-head,.tv-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.tv-shelf-title,.tv-heading h1{font-size:clamp(24px,2vw,41px);font-weight:900;margin:0}
.tv-heading{margin-bottom:29px}.tv-heading span,.tv-sub{color:#9caeb4;font-size:clamp(14px,1.05vw,20px)}
.tv-text-btn{background:transparent;border:1px solid #557078;color:#bdd8d6;border-radius:11px;padding:10px 21px;font-size:18px;font-weight:800}
.tv-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(12px,1.4vw,26px);align-items:start}
.tv-card{background:none;text-align:right;border:0;color:#f4f3eb;min-width:0;width:100%;padding:0;border-radius:14px}
.tv-cover{position:relative;aspect-ratio:2/3;background:linear-gradient(155deg,#3a4950,#1b272f);border-radius:15px;border:2px solid #465961;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 23px #0004}
.tv-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tv-cover span{font-weight:900;font-size:clamp(35px,3.3vw,60px);color:#9bb5ac88}
.tv-card-title{display:block;margin:12px 3px 0;font-size:clamp(16px,1.15vw,22px);font-weight:800;line-height:1.65;min-height:2.8em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.tv-card:hover .tv-cover,.tv-card:focus-visible .tv-cover{border-color:#f8edaa;transform:scale(1.025)}
.tv-card:focus-visible{outline-offset:8px!important}
.tv-empty{padding:85px 20px;text-align:center;color:#a6b6bc;background:#1c272f;border:1px solid var(--line);border-radius:17px;font-size:23px}
.tv-more{display:block;margin:55px auto 0;padding:16px 43px;min-width:230px;border-radius:12px;background:#24363e;color:#f1f6ef;border:1px solid #57717b;font-size:21px;font-weight:800}
.tv-back{background:transparent;border:1px solid #42616d;border-radius:11px;font-size:18px;padding:11px 21px;color:#c7e3db;margin:0 0 22px}
.tv-detail{display:grid;grid-template-columns:minmax(215px,25%) 1fr;align-items:start;gap:clamp(28px,4vw,65px);padding:clamp(22px,3vw,55px);border:1px solid #394d50;background:linear-gradient(150deg,#202b33,#17232a);border-radius:24px}
.tv-detail-poster{width:100%;aspect-ratio:2/3;border-radius:15px;background:#354750;overflow:hidden;display:grid;place-items:center;color:#a6ccc6;font-size:68px;font-weight:900}
.tv-detail-poster img{width:100%;height:100%;object-fit:cover}
.tv-detail h1{font-size:clamp(32px,3vw,59px);line-height:1.4;margin:6px 0 15px}
.tv-detail p{color:#bcc7ca;font-size:clamp(17px,1.2vw,23px);line-height:2;max-width:60ch}
.tv-detail-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:27px}
.tv-season-bar{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.tv-pill{padding:11px 24px;border:1px solid #496169;background:#223037;color:#d1d9dc;border-radius:10px;font-size:18px;font-weight:800}
.tv-pill.selected{background:#a8cec2;color:#122027;border-color:#c1e9d6}
.tv-episodes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px;margin-top:16px}
.tv-episode{background:#223039;color:#f6f3ee;border:1px solid #49616b;padding:18px 12px;border-radius:12px;text-align:center;min-height:93px;font-size:clamp(16px,1.2vw,22px);font-weight:900}
.tv-player-wrap{position:relative;border-radius:18px;overflow:hidden;background:#000;aspect-ratio:16/9;max-height:70vh;display:grid;place-items:center;border:1px solid #42565a}
.tv-player-wrap video{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;background:#000}
.tv-player-wrap:fullscreen{width:100vw;height:100vh;max-height:none;aspect-ratio:auto;border:0;border-radius:0}
.tv-player-wrap.manual-fullscreen{position:fixed;inset:0;width:100vw;height:100dvh;z-index:1000;max-height:none;aspect-ratio:auto;border:0;border-radius:0}
.tv-player-exit{position:absolute;top:18px;right:18px;z-index:6;padding:11px 20px;background:#101f25df;color:white;border:1px solid #b1d0ce;border-radius:12px;font-size:19px;font-weight:900}
.tv-player-controls{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin:20px 0 0}
.tv-player-controls button{font-size:18px;padding:12px 24px;background:#26353b;border:1px solid #5a747c;color:#f0f2eb;border-radius:11px;font-weight:800}
.tv-player-controls button.primary{background:#b4d3ca;color:#132327}
.tv-video-error{color:#d4dddb;display:grid;gap:20px;place-items:center;font-size:22px}
.tv-player-title{font-size:clamp(23px,1.8vw,33px);font-weight:900;margin:0 0 22px}
.tv-search-wrap{max-width:1350px;margin:auto}
.tv-search-top{display:flex;gap:15px;align-items:center;margin-bottom:27px}
.tv-search-field{flex:1;min-height:70px;border:2px solid #586c74;background:#222e34;border-radius:14px;font-size:26px;color:white;padding:12px 24px;text-align:right}
.tv-keyboard{background:#1b252c;border:1px solid #394f58;border-radius:18px;padding:23px;margin:20px 0 35px}
.tv-keys{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px}
.tv-key{background:#34444d;color:#f0f4ee;border:1px solid #4c6670;border-radius:10px;height:clamp(56px,5.5vw,85px);font-size:clamp(18px,1.4vw,28px);font-weight:900}
.tv-key.special{background:#29424b;color:#bed6d0}.tv-key.wide{grid-column:span 2}
.tv-search-results h2{font-size:24px}.tv-toast{position:fixed;bottom:28px;left:40px;background:#33464b;border:1px solid #90afac;color:#f6f7ef;border-radius:12px;padding:14px 24px;font-size:18px;opacity:0;transform:translateY(14px);transition:.2s;z-index:1001;pointer-events:none}
.tv-toast.show{opacity:1;transform:none}
@media(max-width:1600px){.tv-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.tv-episodes{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1150px){.tv-header{gap:10px;padding:17px 25px}.tv-nav{gap:3px}.nav-btn{padding:9px 11px;font-size:14px}.tv-brand{font-size:19px}.tv-content{padding:25px 28px 80px}.tv-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.tv-episodes{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:770px){.tv-header{position:relative;flex-wrap:wrap;justify-content:space-between}.tv-nav{order:3;overflow:auto;width:100%;margin:5px 0 0}.tv-brand{font-size:18px}.tv-content{padding:18px 18px 60px}.tv-hero{min-height:330px}.tv-hero-inner{max-width:96%;padding:26px}.tv-hero h1{font-size:27px}.tv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tv-card-title{font-size:14px}.tv-detail{grid-template-columns:1fr}.tv-detail-poster{max-width:220px}.tv-detail h1{font-size:27px}.tv-episodes{grid-template-columns:repeat(3,minmax(0,1fr))}.tv-keys{grid-template-columns:repeat(8,minmax(0,1fr))}.tv-key{height:54px}.tv-search-field{min-height:55px;font-size:18px}}
@media(max-width:450px){.tv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-keys{grid-template-columns:repeat(6,minmax(0,1fr))}.tv-episodes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:1450px){.tv-nav{max-width:75vw;overflow-x:auto;scrollbar-width:none}.tv-nav::-webkit-scrollbar{display:none}}
.tv-hero-art{width:100%;height:100%;object-fit:cover}

/* TV: keep the player unobstructed until the viewer taps the video */
.tv-player-exit{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.tv-player-wrap.controls-visible .tv-player-exit{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.tv-movie-tabs{gap:17px;margin:8px 0 30px}
.tv-movie-tabs .tv-pill{min-width:195px;min-height:65px;font-size:clamp(19px,1.25vw,24px);border-radius:12px}
.tv-movie-tabs .tv-pill.selected{background:#b4d6ca;color:#15222a;border-color:#c7e4d5}
@media(max-width:700px){.tv-movie-tabs .tv-pill{min-width:130px;min-height:53px;font-size:16px}}
