/* Magic 1Xtra TV approved visual system V2, ONLY /tv?tv-preview=1.
   No app nav/header shell, player, API, account, routing or global styles. */
body.mxtv-approved-v2 #page{background:#060d19;color:#f7faff;min-width:0}
body.mxtv-approved-v2 #page .mx-flutter-tv{width:min(1510px,100%);max-width:none;margin:0 auto;padding:clamp(12px,2vw,28px);box-sizing:border-box;background:radial-gradient(ellipse at 80% 13%,#14223b 0%,transparent 50%),#060d19}
body.mxtv-approved-v2 #page .mx-flutter-tv *,body.mxtv-approved-v2 #page .mx-flutter-tv *:before,body.mxtv-approved-v2 #page .mx-flutter-tv *:after{box-sizing:border-box}
body.mxtv-approved-v2 #page .mx-flutter-tv .mx-fl-tv-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;max-width:none}
body.mxtv-approved-v2 #page .mx-flutter-tv .mx-fl-tv-head :is(h1,h2){color:#fff}
body.mxtv-approved-v2 #page .mx-flutter-tv #mxtvApprovedV2{width:100%;min-width:0;max-width:none;margin:0 auto;padding:0 0 60px;font:inherit;color:#f8fbff}
body.mxtv-approved-v2 .mxtv-shell button{font:inherit;cursor:pointer}
body.mxtv-approved-v2 .mxtv-shell button:focus-visible,body.mxtv-approved-v2 .mxtv-shell input:focus-visible{outline:2px solid #ff3988;outline-offset:3px}
body.mxtv-approved-v2 .mxtv-heading{display:none}
body.mxtv-approved-v2 .mxtv-eyebrow,body.mxtv-approved-v2 .mxtv-hero-kicker{display:block;color:#ff619c;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:850;margin-bottom:9px}
body.mxtv-approved-v2 .mxtv-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:286px;border-radius:25px;overflow:hidden;border:1px solid #fa2089;background:radial-gradient(ellipse at 82% 15%,#61205b 0%,transparent 55%),linear-gradient(120deg,#10152b,#091427 70%);box-shadow:0 18px 50px #0006;margin-bottom:20px}
body.mxtv-approved-v2 .mxtv-hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:13px;padding:clamp(22px,3vw,45px);min-width:0;position:relative;z-index:2}
body.mxtv-approved-v2 .mxtv-hero-copy h2{font-size:clamp(29px,3.1vw,47px)!important;line-height:1.08!important;letter-spacing:-.03em;margin:0!important;color:#fff!important;font-weight:850}
body.mxtv-approved-v2 .mxtv-hero-copy p{color:#c7d3e5;font-size:clamp(13px,1.2vw,16px);line-height:1.5;max-width:470px;margin:0}
body.mxtv-approved-v2 .mxtv-hero-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}
body.mxtv-approved-v2 .mxtv-hero-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:45px;border-radius:12px;padding:10px 18px;font-weight:800;font-size:13px;border:1px solid #61708a;color:#f4f7ff;background:#15213a}
body.mxtv-approved-v2 .mxtv-hero-buttons #mxtvBrowse{background:#ff006d;color:#fff;border-color:#ff006d;box-shadow:0 8px 22px #ff006d33}
body.mxtv-approved-v2 .mxtv-hero-buttons svg{width:18px;height:18px}
body.mxtv-approved-v2 .mxtv-hero-art{min-width:0;min-height:260px;position:relative;overflow:hidden;display:flex;align-items:stretch;background:linear-gradient(145deg,#131c3b,#240e36)}
body.mxtv-approved-v2 .mxtv-art-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:radial-gradient(circle at 40% 37%,#972c8288,transparent 47%),radial-gradient(circle at 80% 87%,#1869d955,transparent 45%);color:white}
body.mxtv-approved-v2 .mxtv-glow-tv{width:95px;height:95px;display:grid;place-items:center;border-radius:25px;border:2px solid #ff3b96;background:#ff006d20;box-shadow:0 0 38px #ff006d88}
body.mxtv-approved-v2 .mxtv-glow-tv svg{width:55px;height:55px;color:#ff6cb1}
body.mxtv-approved-v2 .mxtv-art-fallback strong{font-size:28px;letter-spacing:-.04em;font-weight:900}
body.mxtv-approved-v2 .mxtv-art-fallback strong span{color:#ff348b}
body.mxtv-approved-v2 .mxtv-art-fallback small{font-size:11px;letter-spacing:.17em;color:#d6bad7;font-weight:800}
/* Existing TV-ad HTML is moved into hero without replacing its click handlers or artwork. */
body.mxtv-approved-v2 .mxtv-hero-art .mx-fl-tv-ad-slot{position:absolute;inset:0;width:100%;height:100%;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;z-index:1;display:block!important}
body.mxtv-approved-v2 .mxtv-hero-art .mx-fl-tv-ad-slot:empty{display:none!important}
body.mxtv-approved-v2 .mxtv-hero-art .mx-fl-tv-ad{position:absolute;inset:0;width:100%;height:100%;max-width:none!important;min-height:100%!important;display:block!important;border:0!important;border-radius:0!important;overflow:hidden}
body.mxtv-approved-v2 .mxtv-hero-art .mx-fl-tv-ad img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;max-width:none!important;max-height:none!important;border-radius:0!important}
body.mxtv-approved-v2 .mxtv-hero-art .mx-fl-tv-ad:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050b1c88,transparent 55%);pointer-events:none}
body.mxtv-approved-v2 .mxtv-hero-art .mx-fl-tv-ad :is(strong,b,.mx-fl-tv-ad-label){position:relative;z-index:2}
body.mxtv-approved-v2 .mxtv-controls{display:flex;align-items:center;gap:12px;margin:0 0 12px}
body.mxtv-approved-v2 .mxtv-search{display:flex;align-items:center;gap:10px;flex:1;min-width:0;height:53px;padding:0 16px;border:1px solid #344964;border-radius:14px;background:#14233a;color:#a8bbd6}
body.mxtv-approved-v2 .mxtv-search input{width:100%;min-width:0;height:100%;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;font-size:15px!important;font:inherit;box-shadow:none!important}
body.mxtv-approved-v2 .mxtv-search input::placeholder{color:#aabbd1}
body.mxtv-approved-v2 .mxtv-search svg{width:22px;height:22px;flex:none}
body.mxtv-approved-v2 .mxtv-view-toggle{display:flex;gap:4px;padding:5px;background:#14233a;border:1px solid #344964;border-radius:14px;height:53px;align-items:center}
body.mxtv-approved-v2 .mxtv-view-toggle button{height:40px;min-width:43px;border:0;border-radius:10px;background:transparent;color:#a5b9d2;display:grid;place-items:center}
body.mxtv-approved-v2 .mxtv-view-toggle button[aria-pressed=true]{background:#ff006d;color:#fff}
body.mxtv-approved-v2 .mxtv-shortcuts{display:flex;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:2px 0 12px;margin-bottom:11px}
body.mxtv-approved-v2 .mxtv-shortcuts button{border:1px solid #344862;border-radius:30px;min-height:36px;white-space:nowrap;padding:7px 15px;color:#cad5e6;background:#111d30;font-weight:730;font-size:12px}
body.mxtv-approved-v2 .mxtv-shortcuts button.selected{background:#ff006d;border-color:#ff006d;color:#fff}
body.mxtv-approved-v2 .mxtv-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:17px 0 17px}
body.mxtv-approved-v2 .mxtv-section-head h2{margin:0!important;font-size:clamp(22px,2.4vw,30px)!important;letter-spacing:-.025em;color:#fff!important;line-height:1.2!important;font-weight:850}
body.mxtv-approved-v2 .mxtv-section-head p{margin:7px 0 0;color:#aabbd1;font-size:13px;line-height:1.4}
body.mxtv-approved-v2 .mxtv-count{font-size:12px;color:#b7c7dc;white-space:nowrap}
body.mxtv-approved-v2 .mxtv-content{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:17px;align-items:start}
body.mxtv-approved-v2 .mxtv-native-grid-host{min-width:0}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:15px!important;width:100%;margin:0!important;padding:0!important;align-items:stretch}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;gap:12px!important;min-width:0!important;width:100%!important;min-height:175px!important;height:auto!important;padding:19px!important;background:radial-gradient(circle at 80% 20%,#193b70aa,transparent 55%),linear-gradient(150deg,#162740,#0b1729)!important;border:1px solid #324660!important;border-radius:19px!important;color:#fff!important;text-align:left!important;box-shadow:0 10px 20px #0003;overflow:hidden;transition:transform .18s,border-color .18s}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category:nth-child(6n+1){background:radial-gradient(circle at 90% 5%,#90205c88,transparent 60%),linear-gradient(145deg,#182541,#0b1529)!important}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category:nth-child(6n+2){background:radial-gradient(circle at 95% 0%,#1e5a9988,transparent 62%),linear-gradient(145deg,#172746,#0a1829)!important}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category:nth-child(6n+3){background:radial-gradient(circle at 90% 0%,#722b9980,transparent 62%),linear-gradient(145deg,#17243c,#0a1727)!important}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category:hover{transform:translateY(-2px);border-color:#ff2988!important}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category:focus-visible{outline:2px solid #ff619c;outline-offset:3px}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-top{width:100%;height:auto;display:flex;align-items:center;justify-content:space-between;margin-bottom:auto;gap:10px}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-icon{display:grid!important;place-items:center!important;width:53px!important;height:53px!important;min-height:53px!important;padding:7px!important;background:#ff006d16!important;border:1px solid #ff3f9770!important;border-radius:14px!important;font-size:27px!important;overflow:hidden}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-icon img{width:100%;height:100%;object-fit:contain}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category strong{font-size:clamp(16px,1.4vw,21px)!important;font-weight:850!important;letter-spacing:-.015em;line-height:1.15!important;display:block!important;max-width:100%;overflow-wrap:anywhere;color:#fff!important}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category small{font-size:12px!important;font-weight:750!important;line-height:1.4!important;color:#ff66a4!important}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-chevron{display:grid!important;place-items:center!important;width:35px!important;height:35px!important;background:#12243bbf!important;border:1px solid #50647d!important;color:#dbe5f3!important;border-radius:50%!important;flex-shrink:0}
body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category[hidden]{display:none!important}
body.mxtv-approved-v2 .mxtv-native-grid-host.mxtv-list .mx-fl-tv-category-grid{grid-template-columns:1fr!important}
body.mxtv-approved-v2 .mxtv-native-grid-host.mxtv-list .mx-fl-tv-category{min-height:85px!important;display:grid!important;grid-template-columns:55px 1fr;gap:7px 14px;padding:13px 18px!important}
body.mxtv-approved-v2 .mxtv-native-grid-host.mxtv-list .mx-fl-tv-category .mx-fl-tv-category-top{grid-row:1/3;grid-column:1;display:block;margin:0}
body.mxtv-approved-v2 .mxtv-native-grid-host.mxtv-list .mx-fl-tv-category .mx-fl-tv-chevron{display:none!important}
body.mxtv-approved-v2 .mxtv-side-card{border:1px solid #344764;background:linear-gradient(160deg,#16263d,#0a1628);padding:19px;border-radius:18px}
body.mxtv-approved-v2 .mxtv-side-card h3{font-size:19px;color:white;font-weight:850;margin:0 0 17px}
body.mxtv-approved-v2 .mxtv-side-card button{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;width:100%;color:#d5e1f0;background:transparent;border:0;border-bottom:1px solid #30405b;padding:12px 0;font-size:13px;font-weight:750}
body.mxtv-approved-v2 .mxtv-side-card button:last-child{border-bottom:0}
body.mxtv-approved-v2 .mxtv-side-card button svg{width:17px;height:17px;color:#ff5596;flex-shrink:0}
body.mxtv-approved-v2 .mxtv-side-note{font-size:12px;line-height:1.6;color:#8fa5c4;padding:16px 5px}
body.mxtv-approved-v2 .mxtv-empty{color:#c7d5e7;border:1px dashed #3b5273;padding:22px;border-radius:13px;margin:12px 0}
body.mxtv-approved-v2 .mxtv-footnote{margin:22px 0 0;font-size:11px;color:#7d93b1}
/* Make API-backed channel subpage look at home in the same design; don't intercept its controls/player. */
body.mxtv-approved-v2 .mx-flutter-tv .mx-fl-tv-search-wrap{border-radius:13px!important;background:#14243b!important;border:1px solid #344962!important}
body.mxtv-approved-v2 .mx-flutter-tv :is(.mx-fl-tv-channel-card,.mx-fl-tv-channel,.mx-fl-tv-channel-item){border-radius:15px!important}
@media(max-width:1140px){body.mxtv-approved-v2 .mxtv-content{grid-template-columns:minmax(0,1fr) 215px}body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:767px){
  body.mxtv-approved-v2 #page .mx-flutter-tv{padding:12px 13px 110px}
  body.mxtv-approved-v2 #page .mx-flutter-tv .mx-fl-tv-head{margin-bottom:13px}
  body.mxtv-approved-v2 #page .mx-flutter-tv #mxtvApprovedV2{padding-bottom:10px}
  body.mxtv-approved-v2 .mxtv-hero{grid-template-columns:1fr;min-height:0;border-radius:19px;margin-bottom:16px}
  body.mxtv-approved-v2 .mxtv-hero-art{grid-row:1;min-height:160px;height:160px}
  body.mxtv-approved-v2 .mxtv-hero-copy{grid-row:2;padding:19px 18px 20px;gap:10px}
  body.mxtv-approved-v2 .mxtv-hero-copy h2{font-size:26px!important}
  body.mxtv-approved-v2 .mxtv-hero-copy p{font-size:13px}
  body.mxtv-approved-v2 .mxtv-hero-buttons button{min-height:42px;font-size:12px;padding:9px 11px}
  body.mxtv-approved-v2 .mxtv-glow-tv{width:66px;height:66px;border-radius:19px}
  body.mxtv-approved-v2 .mxtv-glow-tv svg{width:39px;height:39px}
  body.mxtv-approved-v2 .mxtv-art-fallback strong{font-size:22px}
  body.mxtv-approved-v2 .mxtv-controls{gap:9px}
  body.mxtv-approved-v2 .mxtv-search{height:48px;padding:0 12px}
  body.mxtv-approved-v2 .mxtv-search input{font-size:13px!important}
  body.mxtv-approved-v2 .mxtv-view-toggle{height:48px}
  body.mxtv-approved-v2 .mxtv-view-toggle button{min-width:36px;height:36px}
  body.mxtv-approved-v2 .mxtv-shortcuts{padding-bottom:10px}
  body.mxtv-approved-v2 .mxtv-section-head{margin:8px 0 14px}
  body.mxtv-approved-v2 .mxtv-section-head h2{font-size:23px!important}
  body.mxtv-approved-v2 .mxtv-section-head p{font-size:12px}
  body.mxtv-approved-v2 .mxtv-content{display:block}
  body.mxtv-approved-v2 .mxtv-side{display:none}
  body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category{min-height:168px!important;padding:13px!important;border-radius:16px!important}
  body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-icon{width:45px!important;height:45px!important;min-height:45px!important;font-size:23px!important}
  body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category strong{font-size:16px!important}
  body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category small{font-size:11px!important}
  body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-chevron{width:29px!important;height:29px!important}
}
@media(max-width:350px){body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){body.mxtv-approved-v2 .mxtv-native-grid-host .mx-fl-tv-category{transition:none!important}}
