*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(ellipse at 80% 0,#172047 0,transparent 45%),#080d1b;color:#eef3ff;font:16px/1.5 system-ui,sans-serif}header{padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ffffff14;background:#080d1bf0}.brand{font-size:27px;font-weight:800;letter-spacing:-1px;text-decoration:none;color:inherit;white-space:nowrap}.orbit{color:#83e7ff;font-size:33px}.beta{font-size:10px;letter-spacing:2px;margin-left:10px;color:#99b6e8}.top{display:flex;align-items:center;gap:12px}button,select,input{font:inherit;color:inherit;border:1px solid #ffffff24;background:#172137;border-radius:12px;padding:12px 15px}button{cursor:pointer}button:hover,.selected{background:#344978}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:4px solid #83e7ff;outline-offset:4px}main{max-width:1720px;margin:auto;padding:0 4vw}.intro{padding:35px 0 22px}.eyebrow{color:#83e7ff;letter-spacing:3px;font-size:12px;font-weight:700}h1{font-size:clamp(28px,3.4vw,49px);line-height:1.12;margin:12px 0}p{color:#a9bad5}#summary{margin-bottom:5px}.watch{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:26px;align-items:center}.screen{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 45% 65%,#243766,transparent 70%),#030713;border:1px solid #ffffff20;box-shadow:0 25px 60px #0006}video{width:100%;height:100%;background:#000}#empty{position:absolute;inset:0;display:grid;align-content:center;text-align:center;pointer-events:none}#empty span{color:#83e7ff;font-size:60px}#empty h2{font-size:clamp(17px,2vw,28px);margin:10px}#empty p{margin:0}aside h2{font-size:clamp(22px,2.3vw,34px);line-height:1.18}aside small{display:block;margin-top:20px;color:#96a7c3}.pill{font-size:10px;font-weight:800;letter-spacing:2px;color:#8ce5c4;background:#1b493d;padding:7px 10px;border-radius:6px}.playerButtons{display:grid;grid-template-columns:1fr 1fr;gap:10px}#status{min-height:48px;color:#d2dff5;font-size:14px}#official{display:inline-block;color:#83e7ff;margin-top:15px}#official[hidden]{display:none}.catalog{margin-top:42px}.sectionTitle{display:flex;justify-content:space-between;align-items:center;gap:12px}.tabs{display:flex;gap:6px}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:12px;margin:16px 0}.filters>*{width:100%;min-width:0}.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.channel{padding:0;text-align:left;overflow:hidden;background:#111b2d;border-radius:15px;border:1px solid #ffffff15}.channel:hover{transform:translateY(-3px);background:#1e3050}.channel.active{border:2px solid #83e7ff}.logoArea{height:110px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#203456,#142033);padding:18px}.logoArea img{max-width:100%;max-height:75px;object-fit:contain}.monogram{color:#83e7ff;font-size:32px;font-weight:800}.cardText{padding:13px}.cardText strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cardText small{display:block;color:#a9bad5;margin-top:5px}.badge{font-size:10px;color:#a9bad5;text-transform:uppercase;letter-spacing:1px}.badge.ok{color:#8ce5c4}#more{display:block;margin:22px auto}#more[hidden]{display:none}footer{margin:45px 0 25px;border-top:1px solid #ffffff18;padding-top:20px;text-align:center;color:#8ca2c3}footer span{display:block;padding:12px;background:#111b2d;border-radius:10px;font-size:12px}footer small{display:block;font-size:11px;margin-top:14px}#online{font-size:12px;color:#8ce5c4}
@media(min-width:1800px){body{font-size:20px}.logoArea{height:140px}}
@media(max-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.watch{grid-template-columns:1.6fr 1fr}.filters{grid-template-columns:1fr 1fr}.top #online{display:none}}
@media(max-width:700px){header{padding:15px 4vw;flex-wrap:wrap}.brand{font-size:25px}.top{width:100%;justify-content:space-between}.intro{padding-top:22px}.watch{grid-template-columns:1fr}.screen{border-radius:12px}.watch aside h2{margin:12px 0}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sectionTitle{align-items:flex-start;flex-direction:column}.tabs{width:100%}.tabs button{flex:1;padding:10px;font-size:13px}.filters{gap:8px}.filters input{grid-column:1/-1}.filters #health{grid-column:1/-1}.logoArea{height:90px}.cardText{padding:10px}h1{font-size:31px}button,select,input{font-size:14px}.catalog{margin-top:24px}}

.browseModes{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 12px}
.quickGroups{display:flex;gap:9px;overflow-x:auto;padding:5px 0 13px;scrollbar-width:thin}
.quickGroups[hidden]{display:none}
.groupChip{white-space:nowrap;padding:8px 12px;font-size:13px}
@media(max-width:700px){.browseModes button{flex:1;padding:9px 6px;font-size:12px}}

/* GalaticaTV — live guide layout, optimized for mobile and television */
:root{--galatica-accent:#5278ff}
body{background:radial-gradient(ellipse at 15% 0%,#171d45,transparent 48%),#0e1020}
header{background:#151624;border-bottom:1px solid #33364c;position:relative;z-index:2}
.brand{font-style:italic;letter-spacing:-1.3px;font-weight:900}
.orbit{color:#7c94ff}
.beta{color:#b4aefb}
main{max-width:1500px}
.intro{padding:16px 0 8px}
.intro .eyebrow{display:none}
.intro h1{font-size:clamp(20px,2.5vw,30px);margin:0 0 5px}
.intro #summary{font-size:13px;margin:0 0 12px}
.watch{grid-template-columns:minmax(0,2.3fr) minmax(260px,1fr);gap:16px;align-items:stretch}
.screen{border-radius:12px;background:#080913;box-shadow:none}
.watch aside{padding:10px 4px}
.catalog{margin-top:22px}
.sectionTitle{border-bottom:1px solid #34354c;gap:15px}
.sectionTitle h2{font-size:20px}
.tabs{flex:1;display:flex;justify-content:flex-end}
.tabs button{background:transparent;border:0;border-radius:0;font-size:clamp(15px,2vw,22px);padding:13px 24px;color:#a9afc9}
.tabs button.selected{color:#7390ff;border-bottom:3px solid #5278ff}
.browseModes{margin:13px 0 10px}
.browseModes button.selected,.groupChip.selected{background:#4269ee;color:#fff}
.quickGroups{padding:4px 0 10px}
.filters{margin:8px 0 12px}
.guideHead{display:grid;grid-template-columns:115px 1fr 70px;gap:15px;color:#8d9bb8;letter-spacing:1.5px;font-size:11px;padding:10px 18px;border-bottom:1px solid #34354c}
.guideHead span:last-child{text-align:right}
#count{font-size:12px;color:#9ba9c5;margin:7px 10px}
.grid{display:flex;flex-direction:column;gap:0;border:1px solid #ffffff12;border-radius:12px;overflow:hidden}
.channel{display:flex;align-items:center;gap:14px;min-height:86px;width:100%;border:0;border-bottom:1px solid #ffffff12;border-radius:0;padding:10px 18px;background:#191b2a;transform:none!important}
.channel:nth-child(even){background:#202231}
.channel:hover,.channel:focus-visible{background:#2d3558}
.channel.active{border:0;border-left:4px solid #5278ff;background:#222a4d}
.logoArea{flex:0 0 76px;height:57px;padding:7px;background:transparent}
.logoArea img{max-height:53px}
.monogram{font-size:20px}
.channelNumber{flex:0 0 48px;color:#aab3cb;font-size:18px;font-variant-numeric:tabular-nums}
.channel.active .channelNumber,.channel.active .cardText strong{color:#7190ff}
.cardText{flex:1;min-width:0;padding:0}
.cardText strong{font-size:clamp(15px,1.6vw,19px);font-weight:600}
.cardText small{font-size:13px;margin-top:1px}
.cardText .badge{font-size:10px;display:block;margin-top:3px}
.channelArrow{flex:0 0 34px;display:flex;align-items:center;justify-content:center;border:2px solid #8991a6;border-radius:50%;width:32px;height:32px;font-size:22px;color:#b3bdd6}
#more{background:#314a98}
@media(min-width:1400px){.channel{min-height:92px}.grid{max-height:none}}
@media(max-width:900px){.watch{grid-template-columns:1fr}.watch aside{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.watch aside .playerButtons{grid-column:1/-1;display:flex;flex-wrap:wrap}.watch aside #details,.watch aside #status,.watch aside small,.watch aside #official{grid-column:1/-1}.watch aside .pill{justify-self:end;align-self:center}}
@media(max-width:700px){header{padding:12px 4vw}.brand{font-size:24px}.intro{padding-top:10px}.intro h1{font-size:19px}.sectionTitle h2{display:none}.tabs{width:100%;justify-content:stretch}.tabs button{flex:1;font-size:17px;padding:12px 5px}.guideHead{display:none}.channel{min-height:76px;gap:8px;padding:8px 10px}.logoArea{flex-basis:54px;height:51px;padding:3px}.channelNumber{flex-basis:38px;font-size:15px}.channelArrow{flex-basis:28px;width:28px;height:28px;font-size:18px}.cardText strong{font-size:15px}.cardText small{font-size:12px}.watch aside .playerButtons button{flex:1 1 42%;padding:9px 6px}.top{gap:5px}.top button,.top select{padding:8px}}

/* Keep the live player visible while the channel guide scrolls underneath. */
.watch{position:sticky;top:0;z-index:10;background:#0e1020;padding:8px 0 12px;box-shadow:0 12px 22px #0e1020aa}
@media(max-width:900px){.watch{top:0}.watch aside{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0}.watch aside .pill,.watch aside #details,.watch aside #status,.watch aside #official,.watch aside small{display:none}.watch aside h2{font-size:14px;margin:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watch aside .playerButtons{display:flex;flex-wrap:nowrap;gap:5px;width:100%;overflow-x:auto}.watch aside .playerButtons button{flex:1 0 auto;font-size:12px;padding:6px 8px}}
@media(max-width:700px){.watch{position:fixed!important;top:0!important;left:0;right:0;width:100%;margin:0;z-index:9999;padding:5px 10px 8px;background:#0e1020;display:block;box-shadow:0 6px 24px #000b}.watch .screen{width:100%;aspect-ratio:16/9;max-height:42vh}.watch aside{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;padding:3px 0!important}.watch aside .pill,.watch aside #details,.watch aside #status,.watch aside #official,.watch aside small{display:none!important}.watch aside h2{display:block!important;font-size:12px!important;line-height:1.2!important;margin:0!important;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch aside .playerButtons{display:flex!important;gap:4px!important;flex-wrap:nowrap!important;overflow-x:auto!important;width:100%;margin:0!important}.watch aside .playerButtons button{font-size:11px!important;padding:5px 6px!important;flex:1 0 auto!important;white-space:nowrap}main{padding-top:calc(56.25vw + 92px)!important}.intro{display:none!important}.catalog{margin-top:8px!important}}

/* TVGalaxyne cosmic living-room theme — non-destructive visual refresh */
:root{--galatica-accent:#69d8ff;--cosmic-ink:#080e20;--cosmic-line:#ffffff20}
body{background:radial-gradient(ellipse 65% 42% at 90% 4%,#28336a 0%,transparent 75%),radial-gradient(ellipse 45% 30% at 2% 25%,#112f4b 0%,transparent 80%),#080e20;color:#f2f6ff}
header{background:linear-gradient(90deg,#0b1430f7,#111a37ef);border-bottom:1px solid #69d8ff30;box-shadow:0 8px 35px #0004}
.brand{font-style:normal;letter-spacing:-.7px;text-shadow:0 0 24px #70cfff45}
.orbit{color:#69d8ff;text-shadow:0 0 20px #69d8ff}
.beta{font-style:normal;color:#93e5ff;border:1px solid #69d8ff55;padding:4px 7px;border-radius:20px}
.intro{padding:25px 0 16px}.intro h1{font-size:clamp(23px,2.9vw,40px);font-weight:800;letter-spacing:-.8px}
.intro #summary{color:#a8bddd;font-size:14px}
.watch{background:linear-gradient(180deg,#0a1125f5,#0b1225f5);border:1px solid #ffffff12;border-radius:18px;padding:14px;box-shadow:0 18px 45px #0008}
.screen{border:1px solid #69d8ff42;border-radius:15px;box-shadow:0 0 0 1px #ffffff0a,0 12px 32px #0007;background:radial-gradient(ellipse at 50% 45%,#254479,#090e20 70%)}
.watch aside{padding:12px}.watch aside h2{letter-spacing:-.5px}.pill{background:#0d5149;color:#9bffe0}
.playerButtons button{background:#1b2a49;border:1px solid #78cfff30;transition:background .18s,transform .18s}.playerButtons button:hover{background:#2b4770;transform:translateY(-2px)}
.sectionTitle{border-bottom:1px solid #70d8ff35}.tabs button.selected{color:#8ce7ff;border-bottom-color:#69d8ff}
.browseModes button.selected,.groupChip.selected{background:linear-gradient(110deg,#1468ad,#4054a9)}
.groupChip{background:#14233c;border-color:#ffffff1e}.filters>*{background:#101e36;border-color:#77b7f033}
.grid{border-color:#69d8ff26}.channel{background:#101b31;border-bottom-color:#ffffff10;transition:background .15s}.channel:nth-child(even){background:#15223a}.channel:hover,.channel:focus-visible{background:#263e64}.channel.active{border-left-color:#69d8ff;background:#203758}.channel.active .channelNumber,.channel.active .cardText strong{color:#8ee8ff}
.channelArrow{border-color:#6badd4;color:#a8e8ff}.logoArea{border-radius:10px;background:#ffffff08}.cardText small{color:#a7bbd8}
#more{background:#1b5082}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #8ce7ff;outline-offset:3px}
@media(min-width:1400px){main{max-width:1650px}.watch{grid-template-columns:minmax(0,2.5fr) minmax(280px,1fr)}.screen{max-height:60vh}}
@media(max-width:900px){.watch{padding:9px}.watch aside{padding:5px}}
@media(max-width:700px){.watch{border-radius:0!important;border:0!important;padding:5px 10px 8px!important;background:#0a1226!important}.watch .screen{border-radius:9px}.channel{min-height:82px}.brand{font-size:22px}.beta{font-size:8px}}

/* TVGalaxyne V2: true living-room layout, responsive and remote-friendly */
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{background:radial-gradient(ellipse 70% 40% at 70% -5%,#17457d 0%,transparent 78%),radial-gradient(ellipse 65% 40% at 0 60%,#171c50 0%,transparent 80%),#070b18}
header{padding:16px 3.5vw;position:sticky;top:0;z-index:30;background:#070e1af2;backdrop-filter:blur(16px)}
main{max-width:1900px;padding:0 3.5vw}
.tvNav{display:flex;gap:10px;align-items:center;padding:16px 0 3px;overflow-x:auto;scrollbar-width:none}
.tvNav a{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none;color:#c4d5ef;background:#15233c;border:1px solid #ffffff16;border-radius:100px;padding:9px 19px;font-weight:650;font-size:14px}
.tvNav a:first-child,.tvNav a:hover{background:#1a5285;color:#fff;border-color:#62c8ff88}
.intro{padding:26px 0 14px!important;display:block}.intro h1{font-size:clamp(27px,3.4vw,53px);max-width:900px;line-height:1.12}.intro #summary{font-size:15px;margin-top:10px}
.watch{position:relative!important;top:auto!important;display:grid!important;grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr);gap:22px;padding:18px!important;border:1px solid #62c8ff30;border-radius:22px;background:linear-gradient(135deg,#142b4d,#10182d 60%,#0d1428);box-shadow:0 22px 60px #0007}
.screen{width:100%;aspect-ratio:16/9;max-height:none!important;border-radius:17px;background:radial-gradient(ellipse at 50% 45%,#195ca2,#0b1732 70%);box-shadow:0 12px 40px #0007}
.watch aside{display:flex!important;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:12px!important;min-width:0}
.watch aside .pill,.watch aside #details,.watch aside #status,.watch aside #official,.watch aside small{display:block!important}
.watch aside .pill{align-self:flex-start}.watch aside h2{font-size:clamp(22px,2.4vw,37px)!important;white-space:normal!important;line-height:1.15!important;margin:12px 0!important}
.watch aside .playerButtons{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;width:100%;overflow:visible!important}
.watch aside .playerButtons button{white-space:normal!important;font-size:14px!important;padding:12px 8px!important}
.catalog{margin-top:38px!important}.sectionTitle{padding:0 0 10px;align-items:center}.sectionTitle h2{display:block;font-size:clamp(22px,2.6vw,34px);margin:0}
.tabs{flex:initial}.tabs button{font-size:15px;padding:11px 16px}.browseModes{margin:18px 0 14px}
.quickGroups{gap:12px;padding:8px 0 18px;scroll-snap-type:x proximity}.groupChip{font-size:14px;padding:12px 18px;border-radius:14px;scroll-snap-align:start;background:#162842}
.filters{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(125px,1fr));gap:10px;margin:0 0 20px}.filters>*{min-height:49px;border-radius:11px}
.guideHead{display:none}#count{margin:12px 0;color:#a3bddb;font-size:14px}
.grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;border:0!important;border-radius:0!important;overflow:visible!important}
.channel,.channel:nth-child(even){position:relative;display:flex!important;flex-direction:column;align-items:stretch;gap:0;min-height:215px;width:100%;border:1px solid #ffffff20!important;border-radius:17px!important;background:linear-gradient(150deg,#172e4d,#111c31)!important;overflow:hidden;transform:none!important;box-shadow:0 8px 22px #0003;transition:transform .18s,box-shadow .18s,border-color .18s}
.channel:hover,.channel:focus-visible{transform:translateY(-5px) scale(1.015)!important;box-shadow:0 14px 34px #0008;border-color:#7bdeff!important;background:#203b60!important}
.channel.active{border:2px solid #7bdeff!important;background:#1d3758!important}
.logoArea{display:flex;flex:initial!important;width:100%;height:118px!important;padding:17px!important;border-radius:0!important;background:radial-gradient(ellipse at 50% 60%,#2b5d91,#152440 78%)!important}
.logoArea img{max-height:80px!important;max-width:88%;object-fit:contain}.monogram{font-size:35px!important;letter-spacing:-1px}
.channelNumber{position:absolute;top:9px;left:10px;flex:initial!important;font-size:11px!important;color:#cbdfff;background:#071a32aa;padding:3px 7px;border-radius:7px}
.cardText{padding:13px 14px 16px!important;min-width:0;flex:1}.cardText strong{font-size:16px!important;white-space:nowrap}.cardText small{font-size:12px!important;margin-top:5px}.cardText .badge{font-size:9px;margin-top:8px;letter-spacing:.5px}
.channelArrow{position:absolute;right:12px;top:90px;width:29px;height:29px;font-size:18px;background:#10365f;border:1px solid #7ddcff66;color:#fff}
#more{padding:13px 28px;border-radius:13px}footer{margin-top:50px}
@media(min-width:1750px){.grid{grid-template-columns:repeat(6,minmax(0,1fr))}.logoArea{height:145px!important}.channel{min-height:240px}}
@media(max-width:1200px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.watch{grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr)}}
@media(max-width:850px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.watch{grid-template-columns:1fr!important}.watch aside{display:flex!important}.watch aside .playerButtons{display:grid!important}.filters{grid-template-columns:1fr 1fr}.sectionTitle{flex-wrap:wrap}}
@media(max-width:700px){header{position:relative;padding:12px 4vw}.top{width:auto;flex:1;justify-content:flex-end}.top #online{display:none}.tvNav{padding:12px 0 3px}.tvNav a{font-size:12px;padding:8px 12px}main{padding:0 4vw!important}.intro{padding:15px 0 12px!important;display:block!important}.intro h1{font-size:26px}.intro #summary{font-size:12px}.watch{position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;margin:0!important;padding:9px!important;border-radius:15px!important;box-shadow:none!important}.watch .screen{max-height:none!important;border-radius:10px}.watch aside{display:flex!important;padding:8px 2px!important;gap:3px!important}.watch aside .pill,.watch aside #details,.watch aside small{display:none!important}.watch aside #status{display:block!important;min-height:0;font-size:12px}.watch aside h2{font-size:20px!important;margin:6px 0!important;white-space:normal!important}.watch aside .playerButtons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.watch aside .playerButtons button{font-size:12px!important;padding:8px 5px!important}.catalog{margin-top:25px!important}.sectionTitle h2{font-size:22px}.tabs{width:100%}.tabs button{flex:1}.browseModes{gap:6px}.browseModes button{font-size:12px}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.filters #health{grid-column:1/-1}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.channel{min-height:185px}.logoArea{height:99px!important;padding:10px!important}.cardText{padding:10px!important}.cardText strong{font-size:14px!important}.cardText small{font-size:11px!important}.channelArrow{top:73px;right:8px}#count{font-size:12px}}
@media(max-width:370px){.grid{grid-template-columns:1fr 1fr}.channel{min-height:178px}.logoArea{height:88px!important}}

/* Fullscreen TV overlay: bottom bar and left country accordion */
.tvOverlay[hidden],.tvSide[hidden],.tvSettingsPanel[hidden],.tvSubmenu[hidden]{display:none!important}
#screen:fullscreen{width:100vw!important;height:100vh!important;max-height:none!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;background:#000!important}
#screen:fullscreen video{width:100%;height:100%;object-fit:contain}
#screen:fullscreen .tvOverlay{position:absolute;inset:0;z-index:100;pointer-events:none;color:#fff;font-size:clamp(14px,1.4vw,21px)}
#screen:fullscreen .tvBottom{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-around;gap:clamp(5px,2vw,30px);padding:20px max(20px,4vw) max(24px,3vh);background:linear-gradient(0deg,#020713f5,#06152ac9 70%,transparent);pointer-events:auto}
.tvBottom button{min-height:52px;min-width:100px;border:1px solid #ffffff45;background:#173050e8;color:white;border-radius:13px;font-weight:700}.tvBottom button:hover,.tvBottom button:focus-visible{background:#1d70a5}.tvBottom button span{margin-left:7px}
.tvVolume{display:flex;align-items:center;gap:12px;min-width:120px;max-width:250px;flex:1}.tvVolume input{width:100%;accent-color:#71dbff;cursor:pointer;padding:0;background:transparent;border:0}.tvVolume span{font-size:25px}
#tvSettings{min-width:58px;font-size:29px}
#screen:fullscreen .tvSide{position:absolute;left:0;top:0;bottom:0;width:min(440px,86vw);display:flex;flex-direction:column;background:linear-gradient(130deg,#071326fa,#102b4afa);border-right:1px solid #79d7ff66;box-shadow:20px 0 80px #000b;pointer-events:auto;z-index:2;padding:24px 16px 125px}
.tvSideHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px 18px}.tvSideHeader strong{font-size:clamp(19px,2vw,27px)}.tvSideHeader button{padding:7px 13px;background:#223c60}.tvCountryList{overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;flex:1}.tvCountryGroup{margin:3px 0}.tvCountryButton,.tvChannelButton{width:100%;text-align:left;border:0;border-bottom:1px solid #ffffff14;border-radius:7px;padding:13px 16px;background:transparent;color:#e8f5ff}.tvCountryButton{font-weight:700;background:#17304a;margin-top:5px}.tvCountryButton[aria-expanded=true]{background:#175b87;color:#fff}.tvChannelButton{padding-left:29px;font-size:.9em;background:#0a1c32}.tvCountryButton:hover,.tvChannelButton:hover,.tvCountryButton:focus-visible,.tvChannelButton:focus-visible{background:#2673a4;outline:2px solid #8de9ff;outline-offset:-2px}
#screen:fullscreen .tvSettingsPanel{position:absolute;right:24px;bottom:110px;display:flex;flex-direction:column;gap:12px;min-width:240px;background:#091c33f5;border:1px solid #72d8ff55;border-radius:16px;padding:20px;pointer-events:auto;z-index:3}.tvSettingsPanel select,.tvSettingsPanel button{background:#1b3759}
@media(max-width:700px){#screen:fullscreen .tvBottom{padding:10px 8px 16px;gap:5px}.tvBottom button{min-width:0;min-height:43px;padding:7px;font-size:12px}.tvBottom button span{display:none}.tvVolume{min-width:65px;gap:3px}.tvVolume span{font-size:16px}#tvSettings{min-width:39px;font-size:21px}#screen:fullscreen .tvSide{padding:15px 9px 85px;width:min(340px,90vw)}#screen:fullscreen .tvSettingsPanel{right:10px;bottom:75px}}

/* Keep our controls above the video in application fullscreen */
#screen:fullscreen .tvOverlay:not([hidden]){display:block!important;visibility:visible!important;z-index:999!important}
#screen:fullscreen .tvBottom{z-index:5!important}
#screen:fullscreen video::-webkit-media-controls{display:none!important}
#screen:fullscreen video::-webkit-media-controls-enclosure{display:none!important}

/* Highlight the last selected channel when reopening the country drawer */
.tvChannelButton:focus-visible{background:#2673a4;color:#fff;box-shadow:inset 4px 0 #8de9ff}

/* Search pinned above the country/channel accordion */
.tvChannelSearch{display:block;width:100%;flex:0 0 auto;margin:0 0 13px;padding:13px 15px;border-radius:12px;border:1px solid #69d8ff77;background:#07182e;color:#fff;font-size:16px;outline-offset:2px}
.tvChannelSearch::placeholder{color:#a8c0dc}.tvChannelSearch:focus{border-color:#9eeaff;box-shadow:0 0 0 2px #5acaff44}

.vpnInfo{margin:12px 0;padding:12px;border:1px solid #3a6780;border-radius:12px;background:#071b2c;color:#e9f7ff}.vpnInfo strong{display:block;font-size:14px}.vpnInfo p{font-size:13px;line-height:1.45;margin:8px 0}.vpnInfo small{color:#9eb5c6;font-size:11px}

#discoveries{white-space:nowrap}#discoveries.selected{color:#9eeaff;border-bottom-color:#9eeaff}.tabs{overflow-x:auto}.catalog:has(#discoveries.selected) #health,.catalog:has(#discoveries.selected) #country,.catalog:has(#discoveries.selected) #category,.catalog:has(#discoveries.selected) .browseModes{display:none}.catalog:has(#discoveries.selected) #count:after{content:' · Candidatos para prueba; no se garantiza reproducción ni licencia. Primero los de lista USA.';color:#f8c77c;font-size:12px}

.vpnInfo label{display:block;margin-top:9px;font-size:12px;color:#d5ebff}.vpnInfo select{width:100%;padding:8px;margin:5px 0;background:#152c40;color:#9bb5c7;border:1px solid #3a6780;border-radius:8px}.vpnInfo select:disabled{opacity:.7}

.vpnProviderLink{display:block;margin:10px 0;padding:9px 12px;border:1px solid #4bbbe6;border-radius:9px;color:#d9f6ff;text-align:center;text-decoration:none;background:#164264}.vpnProviderLink:hover{background:#22608a}

/* Mobile: visible fullscreen button on the video itself */
.screen{position:relative}#mobileFull{display:none;position:absolute;right:10px;bottom:10px;z-index:8;background:#0b2848ed;color:white;border:1px solid #7bd9ff99;border-radius:9px;padding:9px 12px;font-size:13px;font-weight:700;box-shadow:0 3px 15px #000a;cursor:pointer}#screen:fullscreen #mobileFull{display:none!important}@media(max-width:900px){#mobileFull{display:block}}@media(max-width:480px){#mobileFull span{display:none}#mobileFull{font-size:24px;padding:5px 12px}}

.externalOptions{margin:12px 0;padding:12px;border:1px solid #6bd6ff66;border-radius:12px;background:#112b45}.externalOptions[hidden],.externalOptions a[hidden]{display:none!important}.externalOptions strong{display:block;color:#e6faff;margin-bottom:7px}.externalOptions a{display:block;color:#c6f1ff;background:#21527a;border-radius:8px;text-decoration:none;padding:9px;margin:6px 0;font-size:13px}.externalOptions small{display:block;color:#b6c9dc;font-size:11px;margin:8px 0 0}@media(max-width:700px){.watch aside .externalOptions{width:100%;order:10}.watch aside .externalOptions small{display:block!important}}

.videoHelp{width:100%;margin:10px 0;background:#284b70;border:1px solid #84d8ff77;color:#fff;padding:11px;font-size:13px}.videoHelp[hidden]{display:none!important}@media(max-width:700px){.watch aside .videoHelp{order:9}}

/* Keep Galactic TV controls visible in the embedded fullscreen player */
#screen:fullscreen .tvOverlay{display:block!important;visibility:visible!important;pointer-events:none}#screen:fullscreen .tvBottom{pointer-events:auto}#screen:fullscreen .tvOverlay[hidden]{display:block!important}#screen:fullscreen #tvRetry{min-width:54px}@media(max-width:700px){#screen:fullscreen #tvRetry{min-width:37px}}

/* Automatic recovery replaces manual troubleshooting buttons. */
#tvRetry,#internalRetry,#videoHelp,#externalSource{display:none!important}

#unmuteAutoplay{position:absolute;z-index:15;left:50%;top:50%;transform:translate(-50%,-50%);padding:13px 22px;border:2px solid #79dfff;border-radius:12px;background:#082138;color:white;font-weight:700;cursor:pointer}#unmuteAutoplay[hidden]{display:none!important}

/* GalaticaTV: espacio publicitario semitransparente de demostración */
.screen{position:relative}
.adOverlay{position:absolute;bottom:52px;left:5%;right:5%;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 14px;border-radius:8px;background:rgba(9,17,32,.82);color:white;opacity:var(--ad-opacity,.5);pointer-events:none;font:600 13px/1.3 system-ui,sans-serif}
.adTag{font-size:10px;letter-spacing:.06em;border:1px solid currentColor;padding:3px 5px;border-radius:4px}.adCopy{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.adPrefs{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0;padding:8px 12px;border:1px solid #334155;border-radius:9px}.adPrefs input{width:130px;accent-color:#70b7ff}.adPrefs output{min-width:90px}
@media(max-width:550px){.adOverlay{bottom:42px;left:3%;right:3%;font-size:11px;padding:6px 9px}}

.adOverlay[hidden]{display:none!important}

/* GalaticaTV: video fijo, guia desplazable debajo, sin perder el canal */
@media(max-width:700px){
 header{position:relative!important;z-index:1!important}
 .watch{position:sticky!important;top:0!important;left:auto!important;right:auto!important;width:100%!important;z-index:40!important;margin:0!important;padding:6px!important;border-radius:0 0 13px 13px!important;background:#091428f5!important;box-shadow:0 9px 25px #000b!important}
 .watch .screen{aspect-ratio:16/9!important;max-height:36vh!important}
 main{padding-top:0!important}
 .intro{display:none!important}
 .adPrefs{margin:4px 0!important;padding:4px 8px!important;font-size:11px!important}
 .watch aside{max-height:64px;overflow:hidden}
 .catalog{margin-top:12px!important}
}
#screen:fullscreen{position:fixed!important;inset:0!important;z-index:99999!important}
#screen:fullscreen .tvSide:not([hidden]){display:flex!important}

/* GalaticaTV: guia compacta con logo, nombre y espacio para EPG */
.grid{display:flex!important;flex-direction:column!important;gap:3px!important;border:0!important;overflow:visible!important}
.channel,.channel:nth-child(even){position:relative!important;display:grid!important;grid-template-columns:56px minmax(0,1fr) 26px!important;grid-template-rows:auto!important;align-items:center!important;gap:10px!important;min-height:66px!important;height:auto!important;padding:7px 12px!important;border:1px solid #ffffff1c!important;border-radius:9px!important;background:#111d34!important;box-shadow:none!important;transform:none!important;flex-direction:row!important}
.channel:nth-child(even){background:#172540!important}.channel.active{background:#1c4260!important;border-color:#6bd6ff!important}
.channel .logoArea{grid-column:1;grid-row:1;width:52px!important;height:48px!important;min-height:0!important;padding:5px!important;border-radius:7px!important;flex:initial!important;background:#ffffff0c!important}
.channel .logoArea img{max-height:39px!important;max-width:100%!important;object-fit:contain}.channel .monogram{font-size:16px!important}
.channel .channelNumber{display:none!important}.channel .cardText{grid-column:2;grid-row:1;min-width:0;padding:0!important;display:flex;flex-direction:column;gap:1px}.channel .cardText strong{font-size:14px!important;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel .cardText small{font-size:11px!important;margin:0!important;line-height:1.25}.channel .programLine{display:block;color:#8de1f8;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.channel .channelArrow{position:static!important;grid-column:3;grid-row:1;width:24px!important;height:24px!important;border:0!important;background:transparent!important;font-size:25px!important;flex:initial!important}
@media(min-width:800px){.channel,.channel:nth-child(even){grid-template-columns:70px minmax(0,1fr) 36px!important;min-height:78px!important}.channel .logoArea{width:64px!important;height:56px!important}.channel .cardText strong{font-size:17px!important}.channel .programLine{font-size:13px}}

/* 2026-11-12: repair mobile clipping and keep placeholder ad out of video. */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:700px){
 .watch{width:100%!important;min-width:0!important}
 .watch aside{max-height:none!important;overflow:visible!important;min-width:0!important}
 .watch aside h2{font-size:15px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin:3px 0!important}
 .watch aside .playerButtons{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;overflow:visible!important}
 .watch aside .playerButtons button{min-width:0!important;white-space:normal!important;font-size:11px!important;padding:6px 3px!important}
 .sectionTitle{display:block!important;min-width:0!important}
 .sectionTitle h2{display:block!important;font-size:19px!important;margin:0 0 8px!important}
 .tabs{display:flex!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:thin}
 .tabs button{flex:0 0 auto!important;font-size:13px!important;padding:10px 12px!important}
 .browseModes{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%!important}
 .browseModes button{flex:0 0 auto!important;white-space:nowrap!important}
 .catalog{min-width:0!important;overflow:visible!important}
 #count{overflow-wrap:anywhere!important}
}
/* House-ad placeholder stays below player, never covering video or channel text. */
.adOverlay{display:none!important}
.adPrefs{display:none!important}

/* Sticky player must not be trapped by document overflow clipping. */
html,body{overflow-x:clip!important}
@media(max-width:700px){
 .watch{position:sticky!important;top:0!important;z-index:90!important;align-self:start!important;overflow:visible!important}
 .screen{overflow:hidden!important}
 .catalog{position:relative!important;z-index:1!important}
}
