/* (your existing CSS - unchanged, keep as is) */
:root{
  --red:#e50914;--red-dim:rgba(229,9,20,.15);--red-glow:rgba(229,9,20,.25);
  --dark:#000000;--surface:#0d0d0d;--surface2:#141414;--surface3:#1e1e1e;
  --border:rgba(255,255,255,.07);--border2:rgba(255,255,255,.12);
  --text:#f0f0f0;--muted:rgba(255,255,255,.55);
  --ease:.3s cubic-bezier(.4,0,.2,1);--spring:.4s cubic-bezier(.34,1.56,.64,1);
  --si:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);
  --sl:env(safe-area-inset-left,0px);--sr:env(safe-area-inset-right,0px);
  --nav-h:60px;--bnav-h:calc(60px + var(--sb));
  --card-w:clamp(118px,30vw,162px);
  --card-h:clamp(177px,45vw,243px);
  --card-radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--dark);color:var(--text);
  font-family:'DM Sans',sans-serif;
  min-height:100dvh;overflow-x:hidden;
  padding-bottom:var(--bnav-h);
}
::-webkit-scrollbar{width:5px;height:0}
::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:4px}
img{-webkit-user-drag:none;user-select:none}
nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  height:calc(var(--nav-h) + var(--si));
  padding-top:var(--si);
  display:flex;align-items:center;
  padding-left:calc(20px + var(--sl));
  padding-right:calc(20px + var(--sr));
  gap:14px;
  transition:background .3s;
}
nav.solid{background:rgba(0,0,0,.97);border-bottom:1px solid var(--border)}
nav:not(.solid){background:linear-gradient(to bottom,rgba(0,0,0,.88),transparent)}
.logo{
  width:156px;height:42px;padding:0;border:0;background:transparent;
  cursor:pointer;flex-shrink:0;user-select:none;
  display:flex;align-items:center;justify-content:flex-start;
  -webkit-appearance:none;appearance:none;
}
.logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}
.logo:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
.nav-links{display:flex;gap:22px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav-links::-webkit-scrollbar{display:none}
.nav-links a{
  color:rgba(255,255,255,.6);text-decoration:none;
  font-size:.9rem;font-weight:500;cursor:pointer;
  white-space:nowrap;transition:color .2s;padding:4px 0;
  position:relative;
}
.nav-links a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--red);border-radius:2px;transition:width .25s;}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.search-box{
  display:flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;padding:8px 16px;
  transition:border-color .2s,background .2s;
}
.search-box:focus-within{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.09)}
.search-box input{background:none;border:none;color:#fff;font-size:.85rem;outline:none;width:165px;font-family:'DM Sans',sans-serif;}
.search-box input::placeholder{color:#444}
.search-toggle{display:none;background:none;border:none;color:#fff;font-size:1.2rem;padding:6px;cursor:pointer}
.livetv-btn{
  background:transparent;
  border:1px solid rgba(229,9,20,.45);
  color:rgba(229,9,20,.9);
  padding:8px 20px;border-radius:999px;
  font-size:.85rem;font-weight:600;
  cursor:pointer;white-space:nowrap;
  display:flex;align-items:center;gap:6px;
  transition:background .2s,border-color .2s;font-family:'DM Sans',sans-serif;
}
.livetv-btn:hover{background:var(--red-dim);border-color:var(--red)}
.livetv-btn.active{background:rgba(229,9,20,.2);border-color:var(--red);color:#fff}
.livetv-btn-dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:hbpulse 1.4s infinite}
.hero{position:relative;height:100vh;min-height:520px;max-height:840px;overflow:hidden;}
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;background-size:cover;background-position:center 18%;will-change:opacity;}
.hero-slide.active{opacity:1}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(to top,var(--dark) 0%,var(--dark) 9%,rgba(0,0,0,.82) 24%,rgba(0,0,0,.15) 52%,transparent 76%),linear-gradient(to right,rgba(0,0,0,.78) 0%,rgba(0,0,0,.28) 42%,transparent 72%),linear-gradient(to bottom,rgba(0,0,0,.55) 0%,transparent 20%);}
.hero-content{position:absolute;bottom:0;left:0;right:0;padding:0 5% 84px;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:7px;font-size:.6rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:14px;}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--red);animation:hbpulse 2s infinite;}
@keyframes hbpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.4rem,8.5vw,5.8rem);line-height:.95;letter-spacing:1px;margin-bottom:16px;text-shadow:0 6px 32px rgba(0,0,0,.6);}
.hero-meta{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.8rem;flex-wrap:wrap;}
.hero-rating{color:#4ade80;font-weight:700}
.hero-year{color:var(--muted)}
.hero-runtime{color:rgba(255,255,255,.4);font-size:.75rem}
.hero-type{background:var(--red-dim);border:1px solid rgba(229,9,20,.55);color:rgba(255,100,100,.95);padding:2px 9px;border-radius:5px;font-size:.6rem;font-weight:700;letter-spacing:2px;}
.hero-genre{color:rgba(255,255,255,.38);font-size:.76rem}
.hero-overview{font-size:.87rem;color:rgba(255,255,255,.68);line-height:1.65;margin-bottom:24px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:560px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{padding:14px 30px;border:none;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:9px;white-space:nowrap;min-height:50px;-webkit-appearance:none;font-family:'DM Sans',sans-serif;transition:background .2s,transform .2s;}
.btn-play{background:#fff;color:#000;letter-spacing:.3px}
.btn-play:hover{background:rgba(255,255,255,.88);transform:translateY(-1px)}
.btn-play:active{transform:scale(.97)}
.btn-info{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18);}
.btn-info:hover{background:rgba(255,255,255,.17);transform:translateY(-1px)}
.hero-dots{position:absolute;bottom:30px;left:5%;display:flex;gap:7px;z-index:3;align-items:center;}
.dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);}
.dot.active{background:#fff;width:24px;border-radius:4px}
.hero-thumbs{display:none}
.content{position:relative;z-index:10;padding:44px 5% 44px;background:var(--dark);overflow:visible;}
.row{margin-bottom:3.5rem}
.row-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.row-title{font-size:1.4rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px;letter-spacing:-.02em;}
.row-title-accent{color:var(--red)}
.because-title{flex-wrap:nowrap;overflow:hidden;gap:6px;min-width:0;}
.because-label{font-size:1rem;font-weight:500;color:rgba(255,255,255,.55);white-space:nowrap;flex-shrink:0;}
.because-name{font-size:1rem;font-weight:700;color:var(--red);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.row-explore{font-size:.85rem;color:rgba(229,9,20,.75);cursor:pointer;margin-left:auto;flex-shrink:0;transition:color .2s;font-weight:600;display:flex;align-items:center;gap:4px;}
.row-explore:hover{color:var(--red)}
.cards-track{display:flex;gap:14px;overflow-x:auto;overflow-y:visible;height:calc(var(--card-h) + 24px);padding:8px 4px 10px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;touch-action:pan-x pan-y;overscroll-behavior-x:contain;}
.cards-track::-webkit-scrollbar{display:none}
.card{flex:0 0 var(--card-w);width:var(--card-w);height:var(--card-h);border-radius:var(--card-radius);overflow:hidden;cursor:pointer;position:relative;background:var(--surface2);flex-shrink:0;scroll-snap-align:start;-webkit-user-select:none;user-select:none;box-shadow:none;transition:box-shadow .22s;}
.card:active{transform:scale(.95);box-shadow:none;}
#seriesGrid .card,
.search-grid .card,
.search-overlay-grid .card{
  flex:none;
  width:100%;
  height:0;
  padding-bottom:150%;
  position:relative;
}
#seriesGrid .card img,
#seriesGrid .card .card-placeholder,
.search-grid .card img,
.search-grid .card .card-placeholder,
.search-overlay-grid .card img,
.search-overlay-grid .card .card-placeholder{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
#seriesGrid .card .card-overlay,
.search-grid .card .card-overlay,
.search-overlay-grid .card .card-overlay{
  position:absolute;
  inset:0;
}
#seriesGrid .card .series-badge,
.search-grid .card .series-badge,
.search-overlay-grid .card .series-badge{
  position:absolute;
}
#seriesGrid .card .card-play,
.search-grid .card .card-play,
.search-overlay-grid .card .card-play{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
#seriesGrid .card .card-progress,
.search-grid .card .card-progress,
.search-overlay-grid .card .card-progress{
  position:absolute;
  bottom:0;left:0;right:0;
}
.card img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--card-radius);transition:none;contain:paint;backface-visibility:hidden;transform:translateZ(0);}
.card-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;background:linear-gradient(160deg,#1a1a2e,#14142a,#0d1a2e);border-radius:var(--card-radius);}
.card-placeholder .icon{font-size:2.4rem;opacity:.4}
.card-placeholder .pname{font-size:.62rem;color:#555;text-align:center;line-height:1.5;}
.card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:12px 10px 10px;border-radius:var(--card-radius);background:linear-gradient(to top,rgba(0,0,0,.95) 0%,rgba(0,0,0,.55) 38%,rgba(0,0,0,.1) 62%,transparent 100%);}
.card-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;background:rgba(255,255,255,.88);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;box-shadow:0 2px 10px rgba(0,0,0,.5);pointer-events:none;}
.card-play svg{width:12px;height:12px;fill:#000;margin-left:2px}
.card-title{font-size:.7rem;font-weight:600;color:#fff;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.card-meta{font-size:.6rem;color:rgba(255,255,255,.5);margin-top:4px;display:flex;gap:6px;align-items:center;}
.card-rating{color:#4ade80;font-weight:700}
.card-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.1);border-radius:0 0 var(--card-radius) var(--card-radius);}
.card-progress-fill{height:100%;background:var(--red);border-radius:0 2px 2px 0;transition:width .3s ease;}
.series-badge{position:absolute;top:8px;left:8px;background:rgba(229,9,20,.9);color:#fff;font-size:.52rem;font-weight:700;letter-spacing:1px;padding:3px 8px;border-radius:6px;pointer-events:none;}
.live-home-track{
  display:flex;gap:12px;overflow-x:auto;overflow-y:visible;
  padding-bottom:4px;padding-top:4px;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
  scroll-snap-type:x proximity;
  touch-action:pan-x pan-y;
  overscroll-behavior-x:contain;
}
.live-home-track::-webkit-scrollbar{display:none}
.live-ch-card{
  flex:0 0 88px;width:88px;
  border-radius:0;overflow:visible;
  cursor:pointer;
  background:transparent;
  border:0;
  scroll-snap-align:start;
  transition:transform .22s cubic-bezier(.4,0,.2,1);
  position:relative;
  box-shadow:none;
}
.live-ch-card:active{transform:scale(.94)}
@media(min-width:640px){
  .live-ch-card{flex:0 0 96px;width:96px}
  .live-ch-card:hover{
    transform:translateY(-3px) scale(1.04);
    box-shadow:none;
    border-color:transparent;
  }
}
.live-ch-inner{
  aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  position:relative;
  overflow:visible;
  background:transparent!important;
}
.live-ch-initial{
  font-family:'Bebas Neue',sans-serif;
  font-size:2.2rem;letter-spacing:2px;
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 10px rgba(0,0,0,.5);
  line-height:1;
  pointer-events:none;
}
.channel-logo{
  width:72px;
  height:72px;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  padding:0;
}
.live-ch-live-pill{
  position:absolute;top:6px;right:6px;
  display:flex;align-items:center;gap:3px;
  background:rgba(0,0,0,.75);
  border:1px solid rgba(229,9,20,.45);
  border-radius:5px;
  padding:2px 6px;
  font-size:.5rem;font-weight:800;
  letter-spacing:1.5px;color:rgba(255,80,80,.95);
  pointer-events:none;
}
.live-ch-live-dot{
  width:4px;height:4px;border-radius:50%;
  background:#ff4444;
  animation:livepulse 1.4s infinite;
  flex-shrink:0;
}
.live-ch-name{
  display:none;
}
.live-ch-cat{
  font-size:.55rem;color:rgba(255,255,255,.3);
  margin-top:1px;letter-spacing:.4px;
}
.row-title-live-dot{
  display:inline-block;width:7px;height:7px;
  border-radius:50%;background:var(--red);
  margin-right:2px;vertical-align:middle;
  animation:livepulse 1.4s infinite;
}
#liveSection{
  display:none;
  padding:calc(var(--nav-h) + var(--si) + 28px) 5% calc(36px + var(--bnav-h));
  min-height:100dvh;
}
.live-section-header{
  display:flex;align-items:center;gap:12px;
  margin-bottom:24px;
}
.live-section-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.9rem;letter-spacing:1px;
  display:flex;align-items:center;gap:10px;
}
.live-pulse{
  display:inline-flex;align-items:center;justify-content:center;
  width:10px;height:10px;
}
.live-pulse::before{
  content:'';display:block;
  width:10px;height:10px;border-radius:50%;
  background:var(--red);
  animation:livepulse 1.4s ease-in-out infinite;
}
@keyframes livepulse{
  0%,100%{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(229,9,20,.6)}
  50%{transform:scale(1.2);opacity:.8;box-shadow:0 0 0 6px rgba(229,9,20,0)}
}
.live-cats{
  display:flex;gap:8px;
  overflow-x:auto;scrollbar-width:none;
  padding-bottom:2px;margin-bottom:22px;
}
.live-cats::-webkit-scrollbar{display:none}
.live-cat{
  padding:8px 20px;border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:transparent;color:rgba(255,255,255,.45);
  font-size:.82rem;font-weight:600;cursor:pointer;
  white-space:nowrap;flex-shrink:0;min-height:38px;
  -webkit-appearance:none;font-family:'DM Sans',sans-serif;
  transition:background .2s,border-color .2s,color .2s;
}
.live-cat.active{background:var(--red);border-color:var(--red);color:#fff}
.live-cat:hover:not(.active){border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.75)}
.live-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(88px,96px));
  gap:14px;
  row-gap:14px;
}
.channel-card{
  border-radius:0;overflow:visible;
  cursor:pointer;
  background:transparent;
  border:0;
  transition:transform .22s cubic-bezier(.4,0,.2,1);
  position:relative;
}
.channel-card:hover{
  transform:translateY(-3px) scale(1.04);
  box-shadow:none;
  border-color:transparent;
}
.channel-card:active{transform:scale(.96)}
.channel-card-inner{
  aspect-ratio:1/1;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  position:relative;padding:0;
  background:transparent!important;
}
.channel-initial{
  font-family:'Bebas Neue',sans-serif;
  font-size:2.6rem;letter-spacing:2px;
  color:rgba(255,255,255,.9);
  text-shadow:0 2px 12px rgba(0,0,0,.4);
  line-height:1;
}
.channel-live-badge{
  position:absolute;top:8px;right:8px;
  display:flex;align-items:center;gap:4px;
  background:rgba(0,0,0,.78);
  border:1px solid rgba(229,9,20,.4);
  border-radius:6px;
  padding:3px 7px;
  font-size:.56rem;font-weight:800;
  letter-spacing:1.5px;color:rgba(255,80,80,.95);
}
.channel-live-dot{
  width:5px;height:5px;border-radius:50%;
  background:#ff4444;
  animation:livepulse 1.4s infinite;
}
.channel-nourl-badge{
  position:absolute;top:8px;left:8px;
  background:rgba(0,0,0,.6);
  border:1px solid rgba(255,255,255,.1);
  border-radius:6px;padding:3px 7px;
  font-size:.52rem;font-weight:700;
  letter-spacing:1px;color:rgba(255,255,255,.35);
}
.channel-name{
  display:none;
}
.channel-cat-label{
  font-size:.58rem;color:rgba(255,255,255,.3);
  margin-top:1px;letter-spacing:.5px;
}
.live-setup-note{
  grid-column:1/-1;
  background:rgba(229,9,20,.06);
  border:1px solid rgba(229,9,20,.2);
  border-radius:14px;
  padding:28px 24px;
  text-align:center;
}
.live-setup-note h3{font-size:1rem;font-weight:700;margin-bottom:10px;color:rgba(255,255,255,.7)}
.live-setup-note p{font-size:.83rem;color:rgba(255,255,255,.35);line-height:1.7;max-width:500px;margin:0 auto}
.live-setup-note code{background:rgba(255,255,255,.07);padding:2px 8px;border-radius:5px;font-size:.8rem;color:rgba(255,200,100,.8)}
.player-live-badge{
  display:none;
  align-items:center;gap:5px;
  font-size:.7rem;font-weight:800;
  letter-spacing:1.5px;color:#ff4444;
  background:rgba(0,0,0,.5);
  border:1px solid rgba(229,9,20,.4);
  padding:5px 10px;border-radius:7px;
  flex-shrink:0;
}
.player-live-badge.show{display:flex}
.player-live-dot{width:6px;height:6px;border-radius:50%;background:#ff4444;animation:livepulse 1.4s infinite}
.search-overlay{display:none;position:fixed;inset:0;background:var(--dark);z-index:700;flex-direction:column;padding:calc(var(--si) + 14px) 16px 0;gap:14px;}
.search-overlay.open{display:flex;animation:fadeSlideUp .22s ease}
@keyframes fadeSlideUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.search-overlay-row{display:flex;align-items:center;gap:10px}
.search-overlay-box{flex:1;display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border2);border-radius:999px;padding:12px 18px;}
.search-overlay-box input{flex:1;background:none;border:none;color:#fff;font-size:.95rem;outline:none;-webkit-appearance:none;font-family:'DM Sans',sans-serif;}
.search-overlay-box input::placeholder{color:#3a3a3a}
.search-cancel{background:none;border:none;color:var(--red);font-size:.88rem;font-weight:600;cursor:pointer;padding:4px 0;flex-shrink:0}
.search-overlay-results{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--bnav-h) + 16px)}
.search-overlay-label{font-size:.82rem;color:#444;padding:2px 0 10px}
.search-overlay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;}
#seriesSection{display:none;padding:calc(var(--nav-h) + var(--si) + 24px) 5% calc(36px + var(--bnav-h));}
.sec-header{margin-bottom:20px}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:1px}
.sec-count{font-size:.8rem;color:#444;margin-top:4px}
#seriesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;}
#seriesGrid .card{flex:none;width:100%;height:0;padding-bottom:150%;position:relative;}
.series-modal{position:fixed;inset:0;background:#000000;z-index:800;display:none;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--surface3) transparent;}
.series-modal.open{display:flex;animation:smFadeIn .3s ease}
@keyframes smFadeIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.sm-back{position:fixed;top:calc(var(--si) + 14px);left:calc(14px + var(--sl));z-index:820;width:40px;height:40px;background:rgba(20,20,20,.85);border:1px solid rgba(255,255,255,.14);border-radius:50%;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s;}
.sm-back:hover{background:rgba(0,0,0,.8)}
.sm-topbar{display:none}
.series-modal-inner{width:100%;padding-bottom:calc(48px + var(--bnav-h))}
.sm-hero{position:relative;width:100%;height:clamp(360px,55vw,660px);overflow:hidden;flex-shrink:0;}
.sm-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;display:block;filter:brightness(.55);}
.sm-hero-vignette{position:absolute;inset:0;background:linear-gradient(to top,#000000 0%,rgba(0,0,0,.75) 30%,rgba(0,0,0,.15) 62%,transparent 100%),linear-gradient(to right,rgba(0,0,0,.6) 0%,transparent 55%);}
.sm-info{position:absolute;bottom:0;left:0;right:0;padding:0 5% 36px;}
.sm-badge{display:inline-flex;align-items:center;gap:6px;font-size:.6rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px;}
.sm-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:1px;line-height:.95;margin-bottom:12px;text-shadow:0 4px 20px rgba(0,0,0,.6);}
.sm-meta{display:flex;align-items:center;gap:10px;font-size:.78rem;color:rgba(255,255,255,.55);flex-wrap:wrap;margin-bottom:14px;}
.sm-rating{color:#4ade80;font-weight:700;font-size:.82rem;}
.sm-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.3);}
.sm-overview{font-size:.88rem;color:rgba(255,255,255,.72);line-height:1.65;max-width:560px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:20px;}
.sm-play-btn{display:inline-flex;align-items:center;gap:9px;background:#fff;color:#000;border:none;border-radius:999px;padding:13px 28px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .18s,transform .15s;letter-spacing:.2px;}
.sm-play-btn:hover{background:rgba(255,255,255,.88);transform:translateY(-1px)}
.sm-tabs-row{display:flex;align-items:center;justify-content:space-between;padding:28px 5% 0;flex-wrap:wrap;gap:12px;}
.sm-section-title{font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:-.01em;}
.season-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 0;}
.season-tabs::-webkit-scrollbar{display:none}
.season-tab{padding:7px 20px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:rgba(255,255,255,.45);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;min-height:36px;-webkit-appearance:none;font-family:'DM Sans',sans-serif;transition:all .2s;}
.season-tab.active{background:var(--red);border-color:var(--red);color:#fff;}
.ep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;padding:20px 5% 0;}
@media(max-width:639px){.ep-grid{grid-template-columns:1fr;gap:10px;padding:12px 0 0;}}
.ep-card{display:flex;gap:14px;padding:14px 16px;border-radius:14px;cursor:pointer;transition:background .18s;align-items:flex-start;}
.ep-card:hover{background:var(--surface2)}
.ep-thumb{flex-shrink:0;width:120px;height:68px;border-radius:10px;background:var(--surface3);overflow:hidden;position:relative;}
.ep-thumb-img{width:100%;height:100%;object-fit:cover;display:block;}
.ep-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#0d1a2e);}
.ep-thumb-num{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:rgba(255,255,255,.18);letter-spacing:1px;}
.ep-thumb-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4);opacity:0;transition:opacity .18s;border-radius:10px;}
.ep-thumb-play svg{filter:drop-shadow(0 1px 4px rgba(0,0,0,.6))}
.ep-card:hover .ep-thumb-play{opacity:1}
.ep-info{flex:1;min-width:0;padding-top:2px;}
.ep-num-label{font-size:.65rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:4px;}
.ep-title{font-size:.88rem;font-weight:600;color:#fff;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;}
.ep-overview{font-size:.72rem;color:rgba(255,255,255,.42);line-height:1.5;margin-top:5px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:1em;}
.ep-brief-skeleton{display:block;height:.65rem;width:85%;border-radius:4px;background:linear-gradient(90deg,var(--surface3) 25%,var(--surface2) 50%,var(--surface3) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.ep-duration{font-size:.7rem;color:rgba(255,255,255,.28);margin-top:4px;}
.ep-prog-bar{height:2px;background:rgba(255,255,255,.1);border-radius:2px;margin-top:7px;overflow:hidden;}
.ep-prog-fill{height:100%;background:var(--red);border-radius:2px;}
.sm-related{padding:40px 0 0;}
.sm-related-title{
  font-size:1.05rem;font-weight:700;color:#fff;
  margin-bottom:18px;
  display:flex;align-items:center;gap:8px;
  padding:0 5%;
  letter-spacing:-.01em;
}
.sm-related-title svg{opacity:.55;flex-shrink:0}
.sm-related-title-arrow{
  font-size:.8rem;color:rgba(255,255,255,.35);
  margin-left:4px;font-weight:400;
}
.sm-related-track{
  display:flex;gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:4px 5% 16px;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.sm-related-track::-webkit-scrollbar{display:none}
.sm-related-track .card{
  flex:0 0 clamp(100px,22vw,148px);
  width:clamp(100px,22vw,148px);
  height:clamp(150px,33vw,222px);
  scroll-snap-align:start;
}
@media(min-width:640px){
  .sm-related-track .card{
    flex:0 0 148px;
    width:148px;
    height:222px;
  }
  .sm-related-track .card:hover img{filter:none}
  .sm-related-track .card:hover .card-play{opacity:1}
}
.sm-related-divider{
  height:1px;
  background:rgba(255,255,255,.06);
  margin:8px 5% 0;
}
#smRelatedSeries{border-top:1px solid rgba(255,255,255,.07);margin-top:32px;}
#smRelatedMovies{margin-top:0;padding-bottom:16px;}
#smMoreSeries{border-top:1px solid rgba(255,255,255,.07);padding-bottom:32px;}
.player-modal{position:fixed;inset:0;background:#000;z-index:9999;display:none;align-items:center;justify-content:center;}
.player-modal.open{display:flex;animation:fadeIn .2s ease}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.player-wrap{position:relative;width:100%;height:100%;cursor:none;overflow:hidden;background:#000;}
.player-wrap.show-cursor{cursor:default}
#videoPlayer{width:100%;height:100%;object-fit:contain;background:#000;display:block;-webkit-media-controls:none;}
#videoPlayer::-webkit-media-controls,#videoPlayer::-webkit-media-controls-enclosure,#videoPlayer::-webkit-media-controls-overlay-enclosure,#videoPlayer::-webkit-media-controls-overlay-play-button,#videoPlayer::-webkit-media-controls-panel,#videoPlayer::-webkit-media-controls-play-button,#videoPlayer::-webkit-media-controls-start-playback-button,#videoPlayer::-webkit-media-controls-timeline,#videoPlayer::-webkit-media-controls-current-time-display,#videoPlayer::-webkit-media-controls-time-remaining-display,#videoPlayer::-webkit-media-controls-mute-button,#videoPlayer::-webkit-media-controls-volume-slider,#videoPlayer::-webkit-media-controls-fullscreen-button,#videoPlayer::-webkit-media-controls-picture-in-picture-button,#videoPlayer::-webkit-media-controls-seek-back-button,#videoPlayer::-webkit-media-controls-seek-forward-button,#videoPlayer::-webkit-media-controls-toggle-closed-captions-button,#videoPlayer::-webkit-media-controls-status-display,#videoPlayer::-webkit-media-controls-wireless-playback-picker-button,#videoPlayer::-webkit-media-controls-loading-indicator{display:none !important;opacity:0 !important;pointer-events:none !important;}
.subtitle-overlay{position:absolute;left:5%;right:5%;bottom:calc(var(--sb) + 98px);z-index:18;display:none;justify-content:center;text-align:center;pointer-events:none;font-size:clamp(1.05rem,2.2vw,1.8rem);font-weight:700;line-height:1.32;color:#fff;text-shadow:0 2px 3px #000,0 0 8px #000,0 0 14px #000;}
.subtitle-overlay.show{display:flex}
.subtitle-overlay span{display:inline-block;max-width:min(980px,100%);padding:3px 8px;border-radius:4px;background:rgba(0,0,0,.42);white-space:pre-line;}
.player-wrap.subtitles-low .subtitle-overlay{bottom:calc(var(--sb) + 44px)}
.player-progress-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;min-width:0;}
.player-spinner{position:relative;width:16px;height:20px;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:23;flex:0 0 16px;}
.player-spinner.on{display:flex}
.spinner-ring{width:13px;height:13px;border:2px solid rgba(229,9,20,.22);border-top-color:var(--red);border-right-color:var(--red);border-radius:50%;animation:spin .62s linear infinite;box-shadow:0 0 10px rgba(229,9,20,.28);}
@keyframes spin{to{transform:rotate(360deg)}}
.seek-flash{position:absolute;top:50%;transform:translateY(-50%);pointer-events:none;opacity:0;z-index:12;display:flex;align-items:center;justify-content:center;transition:opacity .12s linear;}
.seek-flash.left{left:8%}
.seek-flash.right{right:8%}
.seek-flash.show{opacity:1}
.seek-flash-ring{width:46px;height:46px;border-radius:50%;background:rgba(12,14,18,.72);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;}
.seek-flash-ring svg{width:24px;height:24px;fill:#fff}
.seek-flash-label{display:none!important}
.center-flash{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;pointer-events:none;z-index:12;width:48px;height:48px;border-radius:50%;background:rgba(12,14,18,.72);display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:opacity .12s linear;}
.center-flash.pop{opacity:1}
.player-notice{position:absolute;inset:0;z-index:24;display:none;align-items:center;justify-content:center;padding:24px;pointer-events:none;}
.player-notice.show{display:flex}
.player-notice-panel{width:min(460px,calc(100vw - 48px));background:rgba(16,16,20,.9);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:22px;box-shadow:0 20px 70px rgba(0,0,0,.65);text-align:center;pointer-events:auto;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);}
.player-notice-message{color:#fff;font-size:1rem;font-weight:700;line-height:1.4}
.player-notice-actions{display:flex;justify-content:center;gap:10px;margin-top:18px;flex-wrap:wrap}
.player-notice-btn{min-height:42px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:8px;padding:0 16px;font-size:.84rem;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;}
.player-notice-btn:hover{background:rgba(255,255,255,.16)}
.player-notice-btn.primary{background:var(--red);border-color:var(--red);color:#fff}
.player-ui{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;background:linear-gradient(to bottom,rgba(0,0,0,.72) 0%,transparent 18%,transparent 64%,rgba(0,0,0,.82) 85%,rgba(0,0,0,.96) 100%);transition:opacity .35s;}
.player-ui.hidden{opacity:0;pointer-events:none}
.player-top{display:flex;align-items:center;gap:12px;padding:calc(var(--si) + 14px) calc(18px + var(--sr)) 14px calc(18px + var(--sl));flex-shrink:0;}
.player-back{width:46px;height:46px;background:rgba(255,255,255,.12);border:none;border-radius:50%;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s;}
.player-back:hover{background:rgba(255,255,255,.22)}
.player-title-wrap{flex:1;min-width:0}
.player-title{font-size:.95rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-subtitle-title{font-size:.72rem;color:rgba(255,255,255,.5);margin-top:2px}
.player-middle{flex:1;display:flex;align-items:center;justify-content:center;position:relative}
.player-tap-zone{position:absolute;inset:0;z-index:0;pointer-events:auto;cursor:pointer}
.skip-center,
.play-pause-center,
.skip-btn{position:relative;z-index:5;pointer-events:auto}
.skip-center{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:center;opacity:0;transition:opacity .12s linear;pointer-events:none;}
.player-ui:not(.hidden) .skip-center{pointer-events:auto}
@media(min-width:640px){.player-wrap:hover .skip-center,.player-ui:not(.hidden) .skip-center{opacity:1}}
.skip-btn{width:44px;height:44px;border-radius:50%;background:rgba(12,14,18,.72);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:0;cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;transition:background .1s linear,border-color .1s linear;-webkit-appearance:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.skip-btn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24);transform:none}
.skip-btn svg{width:22px;height:22px;fill:currentColor;display:block}
.skip-btn svg text,
.seek-flash-ring svg text{display:none!important}
.skip-btn span{display:none!important}
.play-pause-center{width:54px;height:54px;border-radius:50%;background:rgba(12,14,18,.78);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s linear,border-color .1s linear;-webkit-appearance:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.play-pause-center:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);transform:none}
.player-bottom{padding:0 calc(18px + var(--sr)) calc(var(--sb) + 16px) calc(18px + var(--sl));flex-shrink:0;}
.progress-wrap{position:relative;height:20px;cursor:pointer;display:flex;align-items:center;margin-bottom:0;flex:1 1 auto;min-width:0;}
.progress-track{position:absolute;left:0;right:0;height:4px;border-radius:2px;background:rgba(255,255,255,.2);overflow:visible;transition:height .15s;}
.progress-wrap:hover .progress-track,.progress-wrap.dragging .progress-track{height:6px}
.progress-buffered{position:absolute;left:0;top:0;height:100%;border-radius:2px;background:rgba(255,255,255,.28);pointer-events:none;}
.progress-played{position:absolute;left:0;top:0;height:100%;border-radius:2px;background:var(--red);pointer-events:none;}
.progress-thumb{position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:14px;height:14px;border-radius:50%;background:#fff;pointer-events:none;transition:transform .15s;box-shadow:0 1px 6px rgba(0,0,0,.5);}
.progress-wrap:hover .progress-thumb,.progress-wrap.dragging .progress-thumb{transform:translate(-50%,-50%) scale(1)}
.progress-tooltip{position:absolute;bottom:calc(100% + 8px);background:rgba(20,20,20,.92);color:#fff;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:5px;pointer-events:none;transform:translateX(-50%);white-space:nowrap;opacity:0;transition:opacity .15s;}
.progress-wrap:hover .progress-tooltip{opacity:1}
.progress-wrap.live-mode{pointer-events:none;opacity:.3}
.controls-row{display:flex;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;}
.controls-row::-webkit-scrollbar{display:none}
.ctrl{background:none;border:none;color:rgba(255,255,255,.8);font-size:.82rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:5px;padding:10px 14px;border-radius:999px;white-space:nowrap;flex-shrink:0;min-height:44px;-webkit-appearance:none;font-family:'DM Sans',sans-serif;transition:background .15s,color .15s;}
.ctrl:hover{background:rgba(255,255,255,.12);color:#fff}
.ctrl.active{color:var(--red)}
.ctrl svg{width:22px;height:22px;fill:currentColor;flex-shrink:0}
.ctrl-icon-only{padding:10px}
.ctrl-sep{width:1px;height:22px;background:rgba(255,255,255,.1);flex-shrink:0;margin:0 2px}
.spacer{flex:1}
.vol-wrap{display:flex;align-items:center;gap:6px}
.vol-slider{-webkit-appearance:none;appearance:none;width:76px;height:4px;border-radius:2px;background:rgba(255,255,255,.25);outline:none;cursor:pointer;}
.vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.vol-slider::-moz-range-thumb{width:13px;height:13px;border:none;border-radius:50%;background:#fff;cursor:pointer}
.time-display{font-size:.76rem;color:rgba(255,255,255,.65);font-variant-numeric:tabular-nums;white-space:nowrap}
.player-dropdown{position:fixed;z-index:99999;background:#1a1a22;border:1px solid rgba(255,255,255,.1);border-radius:14px;min-width:190px;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 16px 56px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.04);display:none;}
.player-dropdown.open{display:block;animation:dropIn .16s ease}
#subList,#audioList{max-height:min(280px,calc(100dvh - 96px));overflow-y:auto;overscroll-behavior:contain;}
@keyframes dropIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.pd-header{font-size:.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#444;padding:12px 16px 8px;border-bottom:1px solid rgba(255,255,255,.06);}
.pd-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:.87rem;color:#aaa;cursor:pointer;transition:background .14s;gap:12px;min-height:46px;}
.pd-item:hover{background:rgba(255,255,255,.07);color:#fff}
.pd-item.active{color:#fff;font-weight:700}
.pd-item.disabled{cursor:default;color:rgba(255,255,255,.38);pointer-events:none}
.pd-item.disabled:hover{background:transparent;color:rgba(255,255,255,.38)}
.pd-item .check{color:var(--red);font-size:.75rem;opacity:0;flex-shrink:0}
.pd-item.active .check{opacity:1}
.pd-badge{font-size:.58rem;background:var(--red-dim);color:rgba(229,9,20,.9);padding:2px 7px;border-radius:4px;font-weight:700}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bnav-h);padding-bottom:var(--sb);background:rgba(0,0,0,.98);border-top:1px solid rgba(255,255,255,.06);z-index:400;display:flex;justify-content:space-around;align-items:flex-start;padding-top:10px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}
.bn-item{display:flex;flex-direction:column;align-items:center;gap:4px;color:rgb(255, 255, 255);cursor:pointer;padding:4px 12px;min-width:56px;min-height:44px;transition:color .2s,transform .2s;}
.bn-item.active{color:var(--red)}
.bn-item:active{transform:scale(.92)}
.bn-icon{font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center}
.bn-label{font-size:.62rem;letter-spacing:.3px;font-weight:600}
.bn-live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--red);margin-left:3px;vertical-align:middle;animation:livepulse 1.4s infinite}
#searchSection{display:none;padding:calc(var(--nav-h) + var(--si) + 22px) 5% calc(28px + var(--bnav-h));}
.search-heading{font-size:.94rem;font-weight:600;margin-bottom:16px;color:rgba(255,255,255,.55)}
.search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;}
.empty{text-align:center;padding:70px 20px;color:#2a2a2a}
.empty h2{font-size:1.1rem;margin-bottom:6px;color:#222}
.toast{position:fixed;bottom:calc(var(--bnav-h) + 18px);left:50%;transform:translateX(-50%) translateY(14px);background:rgba(28,28,36,.97);color:#fff;padding:10px 22px;border-radius:24px;font-size:.82rem;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:99999;border:1px solid rgba(255,255,255,.09);white-space:nowrap;max-width:calc(100vw - 40px);text-align:center;box-shadow:0 6px 24px rgba(0,0,0,.6);}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:640px){
  :root{--nav-h:66px;--bnav-h:0px;--card-w:clamp(130px,11.5vw,185px);--card-h:clamp(195px,17.25vw,277px);--card-radius:16px}
  body{padding-bottom:0}
  .bottom-nav{display:none !important}
  .hero{height:88vh;min-height:520px}
  .hero-vignette{background:linear-gradient(to top,var(--dark) 0%,var(--dark) 5%,rgba(0,0,0,.78) 22%,rgba(0,0,0,.08) 46%,transparent 70%),linear-gradient(to right,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 46%,transparent 68%),linear-gradient(to bottom,rgba(0,0,0,.68) 0%,transparent 20%);}
  .hero-content{padding:0 5% 96px}
  .hero-overview{-webkit-line-clamp:3}
  .hero-thumbs{display:flex;position:absolute;right:5%;bottom:16%;gap:9px;z-index:3;align-items:flex-end;}
  .hero-thumb{width:66px;height:96px;border-radius:10px;object-fit:cover;cursor:pointer;opacity:.35;border:2px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);background:#222;flex-shrink:0;}
  .hero-thumb.active{opacity:1;border-color:rgba(255,255,255,.8);transform:scale(1.1)}
  .hero-thumb:hover{opacity:.75}
  .content{padding:52px 5% 64px}
  .cards-track{height:calc(var(--card-h) + 24px);gap:16px}
  nav{padding-left:calc(5% + var(--sl));padding-right:calc(5% + var(--sr));gap:34px}
  .search-toggle{display:none}
  .search-box{display:flex}
  .livetv-btn{display:flex}
  .live-grid{grid-template-columns:repeat(auto-fill,minmax(88px,96px));gap:16px;row-gap:16px}
  .series-modal-inner{max-width:1200px;margin:0 auto;width:100%;}
  .sm-hero{border-radius:0;width:100%;}
  .sm-info{padding:0 5% 52px;max-width:1200px;margin:0 auto;}
  .toast{bottom:30px}
  #seriesGrid{grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:16px;}
  #seriesSection{padding:calc(var(--nav-h) + var(--si) + 22px) 5% 64px}
  #liveSection{padding:calc(var(--nav-h) + var(--si) + 28px) 5% 64px}
  .skip-center{opacity:0}
  .player-wrap:hover .skip-center{opacity:1}
  .vol-slider{width:92px}
  .card{transition:box-shadow .22s}
  .card:active{transform:none}
  .card:hover img{filter:none}
  .card:hover .card-play{opacity:1}
  .card-overlay{opacity:1}
}
@media(max-width:639px){
  .nav-links,.livetv-btn,.search-box{display:none}
  .search-toggle{display:flex;align-items:center;justify-content:center}
  nav{height:calc(52px + var(--si));--nav-h:52px}
  .hero{height:70vh;min-height:360px}
  .hero-content{padding:0 4% 70px}
  .content{padding:32px 4% 24px}
  .row{margin-bottom:2.4rem}
  .row-title{font-size:1.25rem}
  .hero-title{font-size:clamp(1.8rem,8.5vw,3rem)}
  #searchSection{padding:calc(52px + var(--si) + 16px) 4% calc(20px + var(--bnav-h))}
  .vol-wrap{display:none}
  .player-modal.mobile-landscape{display:flex;background:#000;}
  .player-modal.mobile-landscape .player-wrap{cursor:default;}
  @media (orientation:portrait){
    .player-modal.mobile-landscape .player-wrap{
      width:100dvh;
      height:100dvw;
      max-width:none;
      max-height:none;
      flex:0 0 auto;
      transform:rotate(90deg);
    }
  }
  .player-modal.mobile-landscape .player-ui{
    background:linear-gradient(to bottom,rgba(0,0,0,.76) 0%,transparent 22%,transparent 62%,rgba(0,0,0,.9) 100%);
  }
  .player-modal.mobile-landscape .player-top{
    padding:calc(10px + var(--si)) calc(14px + var(--sr)) 8px calc(14px + var(--sl));
    gap:10px;
  }
  .player-modal.mobile-landscape .player-back{width:40px;height:40px;background:rgba(0,0,0,.42)}
  .player-modal.mobile-landscape .player-title{font-size:.86rem}
  .player-modal.mobile-landscape .player-subtitle-title{display:none}
  .player-modal.mobile-landscape .player-bottom{padding:0 calc(14px + var(--sr)) calc(10px + var(--sb)) calc(14px + var(--sl));}
  .player-modal.mobile-landscape .controls-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    overflow:visible;
    align-items:center;
    padding:0;
  }
  .player-modal.mobile-landscape .vol-wrap{display:flex;gap:2px}
  .player-modal.mobile-landscape .vol-slider{display:none}
  .player-modal.mobile-landscape .ctrl-sep{display:none}
  .player-modal.mobile-landscape .spacer{display:none}
  .player-modal.mobile-landscape .time-display{
    flex:0 0 auto;
    order:3;
    text-align:left;
    font-size:.74rem;
    color:rgba(255,255,255,.78);
    min-width:86px;
  }
  .player-modal.mobile-landscape .player-tool-wrap{display:block}
  .player-modal.mobile-landscape .controls-row > .ctrl-icon-only:first-child{order:1}
  .player-modal.mobile-landscape .vol-wrap{order:2}
  .player-modal.mobile-landscape .tool-sep{order:4}
  .player-modal.mobile-landscape #subBtn{order:5}
  .player-modal.mobile-landscape #subBtn,
  .player-modal.mobile-landscape #audioBtn,
  .player-modal.mobile-landscape .speed-tool .ctrl{min-width:0}
  .player-modal.mobile-landscape .sub-tool{order:5}
  .player-modal.mobile-landscape .audio-tool{order:6}
  .player-modal.mobile-landscape .speed-tool{order:7}
  .player-modal.mobile-landscape #fsBtn{order:9}
  .player-modal.mobile-landscape .ctrl{
    min-height:36px;
    padding:7px 9px;
    border-radius:999px;
    background:rgba(0,0,0,.34);
    font-size:.7rem;
    max-width:96px;
  }
  .player-modal.mobile-landscape .ctrl-icon-only{width:38px;padding:7px}
  .player-modal.mobile-landscape .ctrl svg{width:19px;height:19px}
  .player-modal.mobile-landscape #subLabel,
  .player-modal.mobile-landscape #audioLabel,
  .player-modal.mobile-landscape #speedLabel{max-width:54px;overflow:hidden;text-overflow:ellipsis}
  .player-modal.mobile-landscape #fsBtn{display:flex}
  .player-modal.mobile-landscape .player-progress-row{margin-bottom:4px}
  .player-modal.mobile-landscape .progress-wrap{height:24px;margin-bottom:0}
  .player-modal.mobile-landscape .progress-thumb{transform:translate(-50%,-50%) scale(1);width:14px;height:14px}
  .player-modal.mobile-landscape .skip-center{flex-direction:row;gap:14px;opacity:1;align-items:center;justify-content:center}
  .player-modal.mobile-landscape .skip-btn{width:42px;height:42px;background:rgba(0,0,0,.52);border-color:rgba(255,255,255,.16)}
  .player-modal.mobile-landscape .play-pause-center{width:50px;height:50px;background:rgba(0,0,0,.58)}
  .player-modal.mobile-landscape .player-dropdown{min-width:170px;max-width:82vw}
  .player-modal.mobile-landscape .series-player-bar{margin-bottom:6px;gap:6px;overflow-x:auto}
  .skip-center{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:14px;opacity:1}
  .ctrl-sep.vol-sep{display:none}
  .skip-btn{width:42px;height:42px}
  .play-pause-center{width:52px;height:52px}
  .ctrl svg{width:24px;height:24px}
  .ctrl-icon-only{padding:12px}
  .player-back{width:48px;height:48px}
  .player-progress-row{margin-bottom:12px}
  .progress-wrap{height:28px;margin-bottom:0}
  .progress-track{height:5px}
  .progress-thumb{width:18px;height:18px}
  .controls-row{gap:2px}
  .time-display{font-size:.8rem}
  .hero-btns{gap:10px}
  .btn{min-height:50px;font-size:.92rem}
  .bn-item{min-height:48px;padding:4px 14px}
}
.allMovies-btn{
  background:transparent;
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.85);
  padding:8px 20px;border-radius:999px;
  font-size:.85rem;font-weight:600;
  cursor:pointer;white-space:nowrap;
  display:flex;align-items:center;gap:7px;
  transition:all .2s;font-family:'DM Sans',sans-serif;
}
.allMovies-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);color:#fff}
.allMovies-btn.active{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}
.allMovies-btn svg{flex-shrink:0}
#moviesSection{
  display:none;
  min-height:100dvh;
  padding:calc(var(--nav-h) + var(--si) + 24px) 5% calc(36px + var(--bnav-h));
}
#mobileMp4Section{
  display:none;
  min-height:100dvh;
  padding:calc(var(--nav-h) + var(--si) + 24px) 5% calc(36px + var(--bnav-h));
}
.movies-header{
  display:flex;align-items:flex-end;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
  margin-bottom:22px;
}
.movies-header-left{}
.movies-page-title{
  font-family:'Bebas Neue',sans-serif;
  font-size:1.9rem;letter-spacing:1px;
  display:flex;align-items:center;gap:10px;
}
.movies-count{font-size:.82rem;color:#555;margin-top:3px;font-weight:500}
.movies-filters{
  display:flex;gap:8px;flex-wrap:wrap;
  align-items:center;
  margin-bottom:20px;
}
.movies-search-wrap{
  flex:1;min-width:180px;max-width:340px;
  display:flex;align-items:center;gap:8px;
  background:var(--surface2);
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;padding:10px 16px;
  transition:border-color .2s;
}
.movies-search-wrap:focus-within{border-color:rgba(255,255,255,.3)}
.movies-search-wrap input{
  background:none;border:none;color:#fff;
  font-size:.87rem;outline:none;flex:1;
  font-family:'DM Sans',sans-serif;
}
.movies-search-wrap input::placeholder{color:#444}
.movies-select{
  background:var(--surface2);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.75);
  border-radius:999px;
  padding:10px 14px;
  font-size:.82rem;font-weight:500;
  font-family:'DM Sans',sans-serif;
  cursor:pointer;outline:none;
  appearance:none;-webkit-appearance:none;
  padding-right:32px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='rgba(255,255,255,0.4)'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  transition:border-color .2s,background-color .2s;
  white-space:nowrap;
}
.movies-select:focus{border-color:rgba(255,255,255,.3)}
.movies-select option{background:#1a1a22;color:#fff}
.sort-pills{display:flex;gap:6px;flex-wrap:wrap}
.sort-pill{
  padding:8px 14px;border-radius:999px;
  border:1px solid rgba(255,255,255,.1);
  background:transparent;color:rgba(255,255,255,.5);
  font-size:.78rem;font-weight:600;
  cursor:pointer;white-space:nowrap;
  font-family:'DM Sans',sans-serif;
  transition:all .18s;
}
.sort-pill.active{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff}
.sort-pill:hover:not(.active){border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.75)}
.active-filters{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-bottom:14px;
  min-height:0;
}
.filter-chip{
  display:flex;align-items:center;gap:5px;
  background:var(--red-dim);border:1px solid rgba(229,9,20,.35);
  color:rgba(255,150,150,.9);
  border-radius:999px;padding:4px 12px 4px 10px;
  font-size:.75rem;font-weight:600;cursor:pointer;
  transition:background .15s;
}
.filter-chip:hover{background:rgba(229,9,20,.22)}
.filter-chip-x{font-size:.9rem;line-height:1;margin-left:2px;opacity:.7}
.movies-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:14px;
}
@media(min-width:640px){
  .movies-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:18px;}
}
.movies-grid .card{
  flex:none;width:100%;height:0;
  padding-bottom:150%;position:relative;
}
.movies-grid .card img,
.movies-grid .card .card-placeholder{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.movies-grid .card .card-overlay,
.movies-grid .card .card-play,
.movies-grid .card .series-badge,
.movies-grid .card .card-progress{position:absolute;}
.movies-grid .card .card-play{top:50%;left:50%;transform:translate(-50%,-50%);}
.load-more-wrap{display:flex;justify-content:center;padding:32px 0 16px;}
.load-more-btn{
  background:var(--surface2);border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.7);border-radius:999px;
  padding:13px 36px;font-size:.88rem;font-weight:600;
  cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:all .2s;
}
.load-more-btn:hover{background:var(--surface3);color:#fff;border-color:rgba(255,255,255,.25)}
.movies-empty{
  text-align:center;padding:80px 20px;
  color:#2a2a2a;
}
.movies-empty h2{font-size:1.1rem;color:#333;margin-bottom:8px}
.movies-empty p{font-size:.85rem;color:#2a2a2a}
@media(max-width:639px){
  #moviesSection{padding:calc(52px + var(--si) + 20px) 4% calc(20px + var(--bnav-h));}
  #seriesSection{padding:calc(52px + var(--si) + 20px) 4% calc(20px + var(--bnav-h));}
  #mobileMp4Section{padding:calc(52px + var(--si) + 20px) 4% calc(20px + var(--bnav-h));}
  .movies-filters{gap:6px}
  .movies-search-wrap{min-width:0;width:100%;max-width:100%;flex:0 0 100%}
  .movies-page-title{font-size:1.5rem}
}
.skeleton{background:linear-gradient(90deg,var(--surface2) 25%,var(--surface3) 50%,var(--surface2) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;border-radius:var(--card-radius);}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.series-player-bar{
  display:none;
  align-items:center;
  gap:6px;
  margin:0;
  flex-wrap:nowrap;
  flex:0 0 auto;
}
.series-player-bar.show{display:flex}
.next-ep-btn{
  display:flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;border-radius:999px;
  padding:8px 12px;font-size:.76rem;font-weight:650;
  cursor:pointer;white-space:nowrap;
  font-family:'DM Sans',sans-serif;
  transition:background .18s,transform .15s;
  flex-shrink:0;
}
.next-ep-btn:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}
.next-ep-btn:active{transform:scale(.96)}
.next-ep-btn svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}
.series-ctrl-btn{
  display:flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.8);border-radius:999px;
  padding:7px 11px;font-size:.74rem;font-weight:650;
  cursor:pointer;white-space:nowrap;
  font-family:'DM Sans',sans-serif;
  transition:background .18s;
  flex-shrink:0;max-width:170px;
}
.series-ctrl-btn:hover{background:rgba(255,255,255,.14);color:#fff}
.series-ctrl-btn svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}
.series-ctrl-btn-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:104px}
.spd-series{
  position:fixed;z-index:99999;background:#1a1a22;
  border:1px solid rgba(255,255,255,.1);border-radius:14px;
  min-width:220px;max-width:280px;
  max-height:60vh;overflow-y:auto;
  box-shadow:0 16px 56px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.04);
  display:none;
  scrollbar-width:thin;scrollbar-color:var(--surface3) transparent;
}
.spd-series.open{display:block;animation:dropIn .16s ease}
.spd-series::-webkit-scrollbar{width:4px}
.spd-series::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:4px}
.spd-series-season-header{
  font-size:.6rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:var(--red);padding:12px 16px 6px;
  position:sticky;top:0;background:#1a1a22;z-index:1;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.spd-series-season-header:not(:first-child){margin-top:4px}
.spd-series-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 16px;font-size:.85rem;color:#aaa;
  cursor:pointer;transition:background .14s;gap:10px;min-height:44px;
}
.spd-series-item:hover{background:rgba(255,255,255,.07);color:#fff}
.spd-series-item.active{color:#fff;font-weight:700}
.spd-series-item .check{color:var(--red);font-size:.75rem;opacity:0;flex-shrink:0}
.spd-series-item.active .check{opacity:1}
.spd-series-ep-num{font-size:.65rem;color:rgba(255,255,255,.35);flex-shrink:0;min-width:28px}
@media(max-width:639px){
  .series-player-bar{gap:6px}
  .next-ep-btn{padding:8px 14px;font-size:.78rem}
  .series-ctrl-btn{padding:7px 12px;font-size:.74rem}
  .series-ctrl-btn-text{max-width:90px}
}
/* ── Mobile Performance Overrides ── */
@media (max-width: 768px) and (pointer: coarse) {
  /* Disable hover transforms that trigger layout on tap */
  .btn-play:hover,.btn-info:hover,.live-ch-card:hover,.channel-card:hover,
  .skip-btn:hover,.play-pause-center:hover,.sm-play-btn:hover,
  .card:hover img { transform: none !important; }
  /* Disable filter transitions on cards */
  .card img { transition: none; }
  /* Paint containment on scroll tracks */
  .cards-track, .live-home-track, .live-cats, .sm-related-track {
    contain: layout style;
  }
  /* Reduce hero height on mobile to save composited layers */
  .hero { max-height: 620px; }
  /* Disable scroll-behavior on html — causes jank during momentum scroll */
  html { scroll-behavior: auto; }
  /* Reduce animation count — only keep hero badge pulse */
  .livetv-btn-dot, .channel-live-dot, .live-ch-live-dot,
  .player-live-dot { animation-duration: 2.5s; }
}

/* Premium StreamVault UI refresh */
:root{
  color-scheme:light;
  --bg:#f7f7f4;
  --surface:#ffffff;
  --surface-soft:#efeff4;
  --surface-glass:rgba(255,255,255,.72);
  --text:#050507;
  --text-muted:#7d7d86;
  --border:rgba(16,18,24,.10);
  --border2:rgba(16,18,24,.14);
  --shadow:0 18px 52px rgba(29,31,39,.14);
  --shadow-soft:0 10px 28px rgba(29,31,39,.09);
  --accent:#101114;
  --accent-contrast:#ffffff;
  --nav-bg:rgba(255,255,255,.76);
  --card-bg:#ffffff;
  --red:var(--accent);
  --red-dim:rgba(16,17,20,.08);
  --red-glow:rgba(16,17,20,.18);
  --dark:var(--bg);
  --surface2:var(--surface);
  --surface3:var(--surface-soft);
  --muted:var(--text-muted);
  --card-w:154px;
  --card-h:231px;
  --card-radius:20px;
  --nav-h:62px;
  --bnav-h:calc(100px + var(--sb));
}
[data-theme="dark"]{
  color-scheme:dark;
  --bg:#070708;
  --surface:#121216;
  --surface-soft:#1c1c22;
  --surface-glass:rgba(20,20,24,.68);
  --text:#f7f7f8;
  --text-muted:#9b9ba4;
  --border:rgba(255,255,255,.10);
  --border2:rgba(255,255,255,.15);
  --shadow:0 22px 60px rgba(0,0,0,.50);
  --shadow-soft:0 12px 34px rgba(0,0,0,.34);
  --accent:#f7f7f8;
  --accent-contrast:#050507;
  --nav-bg:rgba(18,18,22,.72);
  --card-bg:#15151a;
  --red-dim:rgba(255,255,255,.08);
  --red-glow:rgba(255,255,255,.16);
}
*{letter-spacing:0}
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 16% 0%,rgba(144,190,255,.12),transparent 28rem),
    radial-gradient(circle at 100% 12%,rgba(255,116,153,.08),transparent 24rem),
    var(--bg);
  color:var(--text);
  padding-bottom:calc(118px + var(--sb));
}
[data-theme="dark"] body{
  background:
    radial-gradient(circle at 8% 0%,rgba(75,117,177,.13),transparent 26rem),
    radial-gradient(circle at 100% 10%,rgba(180,78,112,.10),transparent 24rem),
    var(--bg);
}
body.modal-open{overflow:hidden}
body.player-mobile-landscape{background:#000}
button,input,select{font:inherit}
button:focus-visible,
input:focus-visible,
select:focus-visible,
.card:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent) 72%,transparent);
  outline-offset:3px;
}
nav{
  top:calc(10px + var(--si));
  left:calc(12px + var(--sl));
  right:calc(12px + var(--sr));
  height:var(--nav-h);
  padding:0 12px 0 14px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--nav-bg) !important;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(28px) saturate(160%);
  -webkit-backdrop-filter:blur(28px) saturate(160%);
}
nav.solid{background:var(--nav-bg) !important;border-color:var(--border)}
.logo{
  width:clamp(142px,12vw,190px);
  height:42px;
  padding:0;
  border:0;
  background:transparent;
}
.logo img{filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
.nav-links{gap:8px}
.nav-links a{
  color:var(--text-muted);
  padding:9px 12px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
}
.nav-links a::after{display:none}
.nav-links a:hover{background:var(--surface-soft);color:var(--text)}
.nav-right{gap:8px}
.search-box,
.movies-search-wrap,
.search-overlay-box,
.search-page-bar{
  background:var(--surface-glass);
  border-color:var(--border);
  color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.search-box input,
.movies-search-wrap input,
.search-overlay-box input,
.search-page-bar input{
  color:var(--text);
}
.search-box input::placeholder,
.movies-search-wrap input::placeholder,
.search-overlay-box input::placeholder,
.search-page-bar input::placeholder{color:var(--text-muted)}
.search-box svg,
.movies-search-wrap svg,
.search-overlay-box svg,
.search-page-bar svg{fill:var(--text-muted) !important}
.livetv-btn,.allMovies-btn,.theme-toggle,.top-action-btn{
  min-width:44px;
  min-height:44px;
  border-radius:50%;
  border:1px solid var(--border);
  color:var(--text);
  background:var(--surface-glass);
  box-shadow:var(--shadow-soft);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:0;
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.livetv-btn span:not(.livetv-btn-dot),
.allMovies-btn span{display:none}
.livetv-btn:hover,.allMovies-btn:hover,.theme-toggle:hover,.top-action-btn:hover{
  color:var(--text);
  background:var(--surface);
  border-color:var(--border2);
  transform:translateY(-1px);
}
.livetv-btn.active,.allMovies-btn.active{
  color:var(--accent-contrast);
  background:var(--accent);
  border-color:transparent;
}
.livetv-btn-dot{width:8px;height:8px;background:#ff3b30;margin:0}
.theme-toggle svg,.top-action-btn svg,.allMovies-btn svg{width:20px;height:20px;fill:currentColor}
.theme-toggle .moon-icon{display:none}
[data-theme="dark"] .theme-toggle .sun-icon{display:none}
[data-theme="dark"] .theme-toggle .moon-icon{display:block}
.page-intro,
.movies-header,
.live-section-header,
.search-page-header,
.library-header{
  padding-top:calc(var(--nav-h) + var(--si) + 34px);
}
.page-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-left:5%;
  padding-right:5%;
  padding-bottom:18px;
}
.page-kicker{
  color:var(--text-muted);
  font-size:.95rem;
  font-weight:700;
  margin-top:4px;
}
.page-title,
.movies-page-title,
.live-section-title,
.search-page-title,
.library-title{
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  font-size:3.35rem;
  line-height:.95;
  font-weight:900;
  letter-spacing:0;
}
.page-actions{display:flex;gap:10px;align-items:center;padding-top:6px}
.hero{
  height:540px;
  min-height:0;
  max-height:none;
  margin:0 5% 40px;
  border-radius:34px;
  overflow:hidden;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.hero-content{padding:0 28px 36px}
.hero-badge{color:rgba(255,255,255,.72);letter-spacing:1.5px}
.hero-badge-dot{background:#34c759}
.hero-title{
  font-family:'DM Sans',sans-serif;
  font-size:4rem;
  font-weight:900;
  letter-spacing:0;
  line-height:.96;
  color:#fff;
}
.hero-meta,.hero-year,.hero-runtime,.hero-genre{color:rgba(255,255,255,.76)}
.hero-rating{color:#7ee787}
.hero-overview{font-size:.96rem;color:rgba(255,255,255,.78)}
.featured-showcase{
  margin:0 5% 38px;
}
.featured-showcase .row-header{
  margin-bottom:16px;
}
.featured-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overflow-y:visible;
  padding:4px 2px 16px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;
  overscroll-behavior-x:contain;
}
.featured-track::-webkit-scrollbar{display:none}
.featured-card{
  flex:0 0 clamp(220px,28vw,340px);
  height:clamp(320px,42vw,510px);
  border-radius:24px;
}
.featured-card .card-title{
  font-size:1rem;
  line-height:1.18;
}
.featured-card .card-meta{
  font-size:.72rem;
  margin-top:7px;
}
.featured-card .series-badge{
  top:12px;
  left:12px;
}
.btn{
  border-radius:999px;
  min-height:52px;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.btn-play{
  background:#fff;
  color:#050507;
}
.btn-info{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.content{
  background:transparent;
  padding:0 5% calc(22px + var(--bnav-h));
}
.row{margin-bottom:3rem;content-visibility:auto;contain-intrinsic-size:340px}
.row-header{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:4px 12px;
  margin-bottom:16px;
}
.row-title{
  color:var(--text);
  font-size:1.65rem;
  line-height:1.05;
  font-weight:900;
  letter-spacing:0;
}
.row-title::after{
  content:'>';
  color:var(--text-muted);
  margin-left:8px;
  font-weight:800;
}
.row-subtitle{
  grid-column:1/2;
  color:var(--text-muted);
  font-size:.98rem;
  line-height:1.35;
}
.row-explore{
  grid-column:2/3;
  grid-row:1/3;
  align-self:center;
  color:var(--text-muted);
  font-size:.78rem;
  font-weight:800;
  background:var(--surface-glass);
  border:1px solid var(--border);
  border-radius:999px;
  padding:8px 12px;
}
.row-explore:hover{color:var(--text);background:var(--surface)}
.row-controls{
  grid-column:2/3;
  grid-row:1/3;
  align-self:center;
  display:flex;
  gap:8px;
}
.row-header .row-explore{grid-column:3/4}
.row-control-btn{
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--border);
  background:var(--surface-glass);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s,opacity .2s,transform .2s;
}
.row-control-btn:hover{background:var(--surface);transform:translateY(-1px)}
.row-control-btn:disabled{opacity:.28;cursor:default;transform:none}
.row-control-btn svg{width:18px;height:18px;fill:currentColor}
.row-title-accent{display:none}
.cards-track,
.live-home-track,
.sm-related-track,
.detail-related-track{
  gap:16px;
  height:calc(var(--card-h) + 20px);
  padding:4px 2px 14px;
}
.card{
  background:var(--card-bg);
  border-radius:var(--card-radius);
  box-shadow:none;
  border:1px solid var(--border);
  transform:translateZ(0);
}
.card:active{box-shadow:none}
.card img,
.card-placeholder{border-radius:var(--card-radius)}
.card-placeholder{
  background:linear-gradient(145deg,var(--surface-soft),var(--surface));
  color:var(--text-muted);
}
.card-placeholder .pname{color:var(--text-muted)}
.card-overlay{
  background:linear-gradient(to top,rgba(0,0,0,.84) 0%,rgba(0,0,0,.34) 45%,transparent 78%);
  padding:14px 12px 12px;
}
.card-title{font-size:.78rem;font-weight:800}
.card-meta{color:rgba(255,255,255,.72)}
.card-rating{color:#7ee787}
.card-play{
  width:44px;
  height:44px;
  background:rgba(255,255,255,.92);
  box-shadow:none;
}
.series-badge{
  top:10px;
  left:10px;
  background:rgba(255,255,255,.88);
  color:#050507;
  border:1px solid rgba(0,0,0,.08);
}
#moviesSection,
#seriesSection,
#mobileMp4Section,
#searchSection,
#librarySection,
#liveSection{
  min-height:100dvh;
  padding:0 5% calc(26px + var(--bnav-h));
}
#searchSection,#librarySection{display:none}
.movies-header,
.search-page-header,
.library-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
  padding-left:0;
  padding-right:0;
}
.movies-page-title svg{display:none}
.movies-count,
.search-page-subtitle,
.library-subtitle{
  color:var(--text-muted);
  font-size:.96rem;
  font-weight:700;
  margin-top:8px;
}
.movies-filters{
  background:var(--surface-glass);
  border:1px solid var(--border);
  border-radius:28px;
  padding:10px;
  margin-bottom:18px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(24px) saturate(150%);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
}
.movies-search-wrap{box-shadow:none}
.movies-select{
  background-color:var(--surface);
  border-color:var(--border);
  color:var(--text);
  box-shadow:none;
}
.movies-select option{background:var(--surface);color:var(--text)}
.active-filters{margin-bottom:18px}
.filter-chip{
  background:var(--surface);
  border-color:var(--border);
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
.movies-grid,
#seriesGrid,
.search-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.movies-grid .card,
#seriesGrid .card,
.search-grid .card,
.search-overlay-grid .card{
  border-radius:22px;
  box-shadow:none;
}
.movies-empty,
.empty{
  grid-column:1/-1;
  color:var(--text-muted);
  background:var(--surface-glass);
  border:1px solid var(--border);
  border-radius:28px;
  box-shadow:var(--shadow-soft);
}
.movies-empty h2,
.empty h2{color:var(--text)}
.movies-empty p,
.empty p{color:var(--text-muted)}
.load-more-btn{
  background:var(--surface-glass);
  border-color:var(--border);
  color:var(--text);
  box-shadow:var(--shadow-soft);
}
.bottom-nav{
  display:flex !important;
  left:50%;
  right:auto;
  bottom:calc(14px + var(--sb));
  width:min(92vw,620px);
  height:74px;
  padding:7px;
  transform:translateX(-50%) translateZ(0);
  border-radius:999px;
  background:var(--nav-bg);
  border:1px solid var(--border);
  box-shadow:0 18px 58px rgba(22,24,31,.22);
  align-items:center;
  justify-content:space-between;
  backdrop-filter:blur(30px) saturate(170%);
  -webkit-backdrop-filter:blur(30px) saturate(170%);
}
[data-theme="dark"] .bottom-nav{box-shadow:0 20px 64px rgba(0,0,0,.62)}
.bn-item{
  flex:0 0 20%;
  width:20%;
  min-width:0;
  min-height:58px;
  border-radius:999px;
  color:var(--text);
  opacity:.72;
  gap:3px;
  padding:7px 4px;
}
.bn-item.active{
  opacity:1;
  color:var(--text);
  background:var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 26px rgba(0,0,0,.10);
}
.bn-icon svg{width:24px;height:24px}
.bn-label{
  font-size:.68rem;
  font-weight:800;
  letter-spacing:0;
}
.search-overlay{
  background:var(--bg);
  color:var(--text);
}
.search-cancel{color:var(--text)}
.search-overlay-label,
.search-heading{color:var(--text-muted)}
.search-overlay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.search-page-bar{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  border-radius:999px;
  padding:0 20px;
  margin:0 0 18px;
}
.search-page-bar input{
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  font-size:1rem;
}
.library-groups{display:grid;gap:34px}
.library-section-title{
  color:var(--text);
  font-size:1.7rem;
  line-height:1.05;
  font-weight:900;
  margin-bottom:6px;
}
.library-section-subtitle{
  color:var(--text-muted);
  font-size:.98rem;
  margin-bottom:16px;
}
.library-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.library-card{
  min-height:134px;
  border:1px solid var(--border);
  border-radius:28px;
  background:linear-gradient(145deg,var(--surface),var(--surface-soft));
  box-shadow:var(--shadow-soft);
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  cursor:pointer;
}
.library-card svg{width:34px;height:34px;fill:var(--text-muted);opacity:.7}
.library-card-title{font-size:1.05rem;font-weight:900;color:var(--text)}
.library-card-count{color:var(--text-muted);font-weight:800}
.library-row{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none}
.library-row::-webkit-scrollbar{display:none}
.library-row .card{flex:0 0 var(--card-w);width:var(--card-w);height:var(--card-h)}

/* Desktop media details popup. Mobile keeps the existing details view. */
.media-modal{display:none}
@media(min-width:769px){
  .media-modal{position:fixed;inset:0;z-index:920;display:flex;align-items:flex-start;justify-content:center;padding:4vh 20px;box-sizing:border-box;overflow:hidden;opacity:1}
  .media-modal.hidden{display:none}
  .media-modal.show{display:flex}
  .media-modal-backdrop{position:absolute;inset:0;background:rgba(3,4,7,.82);backdrop-filter:blur(16px) saturate(115%);-webkit-backdrop-filter:blur(16px) saturate(115%);animation:mediaModalFade .22s ease both}
  .media-modal-content{position:relative;width:min(1050px,94vw);height:92vh;overflow-y:auto;overscroll-behavior:contain;border-radius:18px;background:#111214;color:#fff;box-shadow:0 34px 100px rgba(0,0,0,.7);animation:mediaModalScale .24s cubic-bezier(.2,.8,.2,1) both;scrollbar-width:thin}
  .media-modal .close-btn{position:absolute;z-index:6;top:18px;right:18px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(18,18,18,.88);color:#fff;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.42)}
  .media-modal .hero-section{position:sticky;top:0;z-index:2;min-height:520px;overflow:hidden;background:#08090b}
  #modalPreview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#08090b center/cover no-repeat}
  .media-modal .hero-section::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,11,.94) 0%,rgba(8,9,11,.42) 55%,rgba(8,9,11,.08) 100%),linear-gradient(0deg,#111214 0%,transparent 45%);pointer-events:none}
  .media-modal .hero-overlay{position:absolute;z-index:1;left:6%;right:38%;bottom:64px}
  #modalTitle{margin:0 0 14px;font:900 clamp(2.2rem,5vw,4.8rem)/.98 'DM Sans',sans-serif;letter-spacing:-.04em;text-shadow:0 3px 22px rgba(0,0,0,.75)}
  #modalMeta{margin:0 0 22px;color:#d1d4d8;font-size:.96rem;font-weight:750;line-height:1.5}
  #modalButtons{display:flex;gap:11px;flex-wrap:wrap}
  .media-modal-action{min-height:46px;padding:0 24px;border:0;border-radius:7px;font:800 .96rem/1 'DM Sans',sans-serif;cursor:pointer}
  .media-modal-action.primary{background:#fff;color:#111}
  .media-modal-action.secondary{background:rgba(109,109,110,.75);color:#fff}
  .media-modal-action:disabled{opacity:.52;cursor:not-allowed}
  .media-modal .details-section{position:relative;z-index:3;padding:8px 6% 64px;background:#111214}
  .media-modal-section{padding:28px 0;border-top:1px solid rgba(255,255,255,.1)}
  .media-modal-section:first-child{border-top:0}
  .media-modal-heading{margin:0 0 15px;font-size:1.3rem;font-weight:900;color:#fff}
  #modalDescription{max-width:780px;margin:0;color:#d5d6d8;font-size:1.02rem;line-height:1.7}
  .media-modal-cast-track,.media-modal-related-track{display:flex;gap:14px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
  .media-modal-cast-track::-webkit-scrollbar,.media-modal-related-track::-webkit-scrollbar{display:none}
  #modalCast .person-card{flex:0 0 128px}
  #modalRelated .card{flex:0 0 var(--card-w);width:var(--card-w);height:var(--card-h)}
  #modalExtraInfo .metadata-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .media-modal-season-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}
  .media-modal-season-row select{background:#25272b;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:9px 12px;font-weight:800}
  .media-modal-episodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .media-modal-episode{display:flex;gap:14px;padding:12px;border:0;border-radius:10px;background:#1c1e22;color:#fff;text-align:left;cursor:pointer}
  .media-modal-episode img{width:150px;aspect-ratio:16/9;object-fit:cover;border-radius:7px;background:#090a0c}
  .media-modal-episode-copy{min-width:0;align-self:center}
  .media-modal-episode-number{color:#aeb2b8;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
  .media-modal-episode-title{margin-top:5px;font-size:.92rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  @keyframes mediaModalFade{from{opacity:0}to{opacity:1}}
  @keyframes mediaModalScale{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
}
@media(min-width:769px) and (max-width:980px){
  .media-modal .hero-overlay{right:14%}
  .media-modal-episodes{grid-template-columns:1fr}
}
.detail-modal,
.series-modal{
  background:var(--bg);
  color:var(--text);
}
.detail-modal{
  position:fixed;
  inset:0;
  z-index:850;
  display:none;
  flex-direction:column;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.detail-modal.open{display:flex;animation:smFadeIn .25s ease}
.detail-floating{
  position:fixed;
  z-index:890;
  top:calc(16px + var(--si));
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid var(--border);
  background:var(--surface-glass);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
  cursor:pointer;
}
.detail-back{left:calc(16px + var(--sl))}
.detail-more{right:calc(16px + var(--sr))}
.detail-floating svg{width:23px;height:23px;fill:currentColor}
.detail-hero,
.sm-hero{
  position:relative;
  height:auto;
  min-height:620px;
  flex:0 0 auto;
  overflow:hidden;
  background:var(--surface);
}
.detail-backdrop,
.sm-backdrop{
  position:absolute;
  inset:-24px;
  width:calc(100% + 48px);
  height:calc(100% + 48px);
  object-fit:cover;
  filter:blur(24px) saturate(120%) brightness(.72);
  transform:scale(1.04);
}
.detail-hero-vignette,
.sm-hero-vignette{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to bottom,rgba(255,255,255,.20),transparent 28%),
    linear-gradient(to top,var(--bg) 0%,rgba(247,247,244,.94) 18%,rgba(247,247,244,.20) 56%,transparent 100%);
}
[data-theme="dark"] .detail-hero-vignette,
[data-theme="dark"] .sm-hero-vignette{
  background:
    linear-gradient(to bottom,rgba(0,0,0,.20),transparent 28%),
    linear-gradient(to top,var(--bg) 0%,rgba(7,7,8,.94) 18%,rgba(7,7,8,.28) 56%,transparent 100%);
}
.detail-hero-content,
.sm-info{
  position:relative;
  z-index:2;
  box-sizing:border-box;
  height:auto;
  min-height:620px;
  display:block;
  text-align:center;
  padding:92px 5% 36px;
}
.detail-poster,
.sm-poster{
  display:block;
  width:176px;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:26px;
  box-shadow:0 28px 70px rgba(0,0,0,.36);
  border:1px solid rgba(255,255,255,.22);
  background:var(--surface-soft);
  margin:0 auto 22px;
}
.detail-kicker,
.sm-badge{
  color:var(--text-muted);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1.4px;
  margin-bottom:8px;
}
.detail-title,
.sm-title{
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  font-size:2.7rem;
  font-weight:900;
  line-height:1.06;
  letter-spacing:0;
  text-shadow:none;
  max-width:min(920px,100%);
  margin:0 auto;
  overflow-wrap:anywhere;
  word-break:normal;
}
.detail-meta,
.sm-meta{
  color:var(--text-muted);
  justify-content:center;
  margin:16px auto 22px;
  font-size:.9rem;
  font-weight:700;
  max-width:min(860px,100%);
  row-gap:8px;
}
.detail-rating,.sm-rating{color:#2da44e}
[data-theme="dark"] .detail-rating,
[data-theme="dark"] .sm-rating{color:#7ee787}
.detail-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  width:100%;
  flex-shrink:0;
  margin-top:4px;
  padding-bottom:4px;
}
.action-pill,
.sm-play-btn{
  min-height:54px;
  border:0;
  border-radius:999px;
  padding:0 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:900;
  cursor:pointer;
  box-shadow:var(--shadow-soft);
}
.action-pill.primary,
.sm-play-btn{
  background:var(--accent);
  color:var(--accent-contrast);
}
.action-pill.secondary{
  background:var(--surface-glass);
  color:var(--text);
  border:1px solid var(--border);
}
.action-pill svg,.sm-play-btn svg{width:18px;height:18px;fill:currentColor}
.action-pill:disabled{
  cursor:not-allowed;
  opacity:.6;
  box-shadow:none;
}
.detail-floating.active{
  background:var(--accent);
  color:var(--accent-contrast);
}
.detail-body,
.series-modal-inner{
  position:relative;
  z-index:3;
  width:min(1120px,100%);
  margin:0 auto;
  padding:0 5% calc(42px + var(--bnav-h));
}
.detail-section,
.sm-related{
  padding:30px 0 0;
}
.detail-section-title,
.sm-section-title,
.sm-related-title{
  color:var(--text);
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:0;
  padding:0;
}
.detail-overview,
.sm-overview{
  color:var(--text);
  opacity:.82;
  line-height:1.72;
  font-size:.98rem;
  max-width:760px;
  max-height:520px;
  margin:12px auto 0;
  text-align:left;
  transition:max-height .28s ease, opacity .2s ease;
}
.detail-overview.is-collapsed{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height:7em;
}
.sm-overview.is-collapsed{
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height:7em;
}
.show-more-btn{
  margin-top:10px;
  border:0;
  background:transparent;
  color:var(--text);
  font-weight:900;
  cursor:pointer;
}
.sm-info .show-more-btn{
  flex-shrink:0;
  margin:12px 0 14px;
}
.metadata-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.metadata-item{
  background:var(--surface-glass);
  border:1px solid var(--border);
  border-radius:22px;
  padding:15px;
  box-shadow:var(--shadow-soft);
}
.metadata-label{
  color:var(--text-muted);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:6px;
}
.metadata-value{
  color:var(--text);
  font-weight:800;
  line-height:1.35;
}
.detail-empty{
  margin-top:14px;
  color:var(--text-muted);
  border:1px solid var(--border);
  background:var(--surface-glass);
  border-radius:18px;
  padding:18px;
  font-weight:800;
}
.detail-scroll-track{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:14px 2px 12px;
  scrollbar-width:none;
}
.detail-scroll-track:empty,
.detail-related-track:empty{display:none}
.detail-scroll-track::-webkit-scrollbar{display:none}
.rating-card{
  flex:0 0 158px;
  min-height:112px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface-glass);
  padding:16px;
  box-shadow:var(--shadow-soft);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-decoration:none;
  color:inherit;
}
.rating-source{
  color:var(--text-muted);
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
}
.rating-value{
  color:var(--text);
  font-size:1.5rem;
  font-weight:900;
  line-height:1.05;
}
.rating-card.unavailable .rating-value{
  color:var(--text-muted);
  font-size:.92rem;
  line-height:1.25;
}
.rating-subvalue{
  color:var(--text-muted);
  font-size:.78rem;
  font-weight:800;
}
.trailer-card{
  flex:0 0 min(320px,78vw);
  color:#fff;
  text-decoration:none;
}
.trailer-thumb{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:20px;
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
}
.trailer-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.trailer-thumb iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.trailer-thumb:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.08) 58%,transparent);
  pointer-events:none;
}
.trailer-play{
  position:absolute;
  left:16px;
  bottom:14px;
  z-index:2;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:#111;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.trailer-play svg{width:20px;height:20px;fill:currentColor}
.trailer-thumb.no-image{
  display:flex;
  align-items:center;
  justify-content:center;
}
.trailer-thumb.no-image:before{
  content:"";
  width:54px;
  height:54px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow-soft);
}
.trailer-thumb.no-image:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-35%,-50%);
  border-left:18px solid #111;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  background:none;
}
.trailer-title{
  margin-top:10px;
  color:var(--text);
  font-weight:900;
  line-height:1.25;
}
.trailer-meta{
  margin-top:4px;
  color:var(--text-muted);
  font-weight:800;
  font-size:.84rem;
}
.person-card{
  flex:0 0 132px;
  text-align:center;
}
.person-photo{
  width:96px;
  height:96px;
  margin:0 auto 10px;
  border-radius:50%;
  background:var(--surface-soft);
  border:1px solid var(--border);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.person-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.person-photo svg{width:42px;height:42px;fill:var(--text-muted);opacity:.45}
.person-name{
  color:var(--text);
  font-size:.94rem;
  font-weight:900;
  line-height:1.18;
}
.person-role{
  color:var(--text-muted);
  font-size:.84rem;
  font-weight:800;
  line-height:1.25;
  margin-top:4px;
}
.company-card{
  flex:0 0 220px;
}
.company-logo{
  height:118px;
  border-radius:18px;
  border:1px solid var(--border);
  background:var(--surface-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  box-shadow:var(--shadow-soft);
}
.company-logo img{
  max-width:100%;
  max-height:78px;
  object-fit:contain;
}
.company-logo-placeholder{
  color:var(--text-muted);
  font-weight:900;
  font-size:1.8rem;
}
.company-name{
  margin-top:10px;
  color:var(--text);
  font-weight:900;
  line-height:1.25;
}
.detail-related-track{
  display:flex;
  gap:14px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:14px 2px 12px;
}
.detail-related-track::-webkit-scrollbar{display:none}
.detail-related-track .card{
  flex:0 0 var(--card-w);
  width:var(--card-w);
  height:var(--card-h);
}
.sm-back{
  background:var(--surface-glass);
  color:var(--text);
  border-color:var(--border);
  width:48px;
  height:48px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}
.sm-back svg{fill:currentColor}
.sm-play-btn{flex-shrink:0;margin-top:8px}
.sm-tabs-row{
  padding:30px 0 0;
}
.season-tab{
  background:var(--surface-glass);
  color:var(--text-muted);
  border-color:var(--border);
}
.season-tab.active{
  background:var(--accent);
  border-color:transparent;
  color:var(--accent-contrast);
}
.ep-card{
  background:var(--surface-glass);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow-soft);
}
.ep-card:hover{background:var(--surface)}
.ep-title{color:var(--text)}
.ep-num-label,.ep-overview,.ep-duration{color:var(--text-muted)}
.sm-related-title{margin-bottom:14px}
.sm-related-track{padding-left:0;padding-right:0}
#smRelatedSeries,#smMoreSeries{border-top:1px solid var(--border)}
.toast{
  background:var(--surface-glass);
  color:var(--text);
  border-color:var(--border);
  box-shadow:var(--shadow);
  bottom:calc(104px + var(--sb));
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}
@media(min-width:430px){
  :root{--card-w:172px;--card-h:258px}
  .movies-grid,#seriesGrid,.search-grid,.search-overlay-grid{gap:16px}
}
@media(min-width:760px){
  :root{--card-w:180px;--card-h:270px}
  body{padding-bottom:calc(112px + var(--sb))}
  nav{left:5%;right:5%;padding-left:18px;padding-right:18px}
  .page-title,.movies-page-title,.live-section-title,.search-page-title,.library-title{font-size:4.4rem}
  .hero{height:610px;border-radius:40px}
  .hero-content{padding:0 48px 52px}
  .hero-title{font-size:5rem}
  .movies-grid,#seriesGrid,.search-grid{grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:18px}
  .library-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .metadata-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .detail-title,.sm-title{font-size:4rem}
  .detail-poster,.sm-poster{width:210px}
  .detail-hero,.sm-hero,.detail-hero-content,.sm-info{min-height:700px}
}
@media(max-width:759px){
  nav{height:56px;--nav-h:56px}
  nav .livetv-btn,
  nav .allMovies-btn,
  nav .search-toggle{display:none !important}
  .logo{width:128px;height:34px}
  .page-intro{padding:calc(74px + var(--si)) 26px 16px}
  .page-title,.movies-page-title,.live-section-title,.search-page-title,.library-title{font-size:3rem}
  .page-kicker,.movies-count,.search-page-subtitle,.library-subtitle{font-size:.92rem}
  .page-actions{padding-top:0}
  .page-actions .top-action-btn:last-child{display:none}
  .hero{height:520px;margin:0 18px 34px;border-radius:32px}
  .featured-showcase{margin:0 0 34px;padding-left:26px}
  .featured-showcase .row-header{padding-right:26px}
  .featured-track{padding-right:26px}
  .featured-card{flex-basis:clamp(196px,62vw,260px);height:clamp(294px,93vw,390px)}
  .hero-content{padding:0 20px 30px}
  .hero-title{font-size:2.9rem}
  .hero-overview{-webkit-line-clamp:3}
  .content{padding-left:26px;padding-right:0}
  .row-header{padding-right:26px}
  .cards-track,.live-home-track{padding-right:26px}
  #moviesSection,#seriesSection,#mobileMp4Section,#searchSection,#librarySection,#liveSection{padding-left:26px;padding-right:26px}
  .movies-header,.search-page-header,.library-header{padding-top:calc(76px + var(--si))}
  .movies-filters{border-radius:24px}
  .movies-select{flex:1;min-width:calc(50% - 4px)}
  .row-title{font-size:1.55rem}
  .bottom-nav{height:76px;width:calc(100vw - 12px) !important;overflow:hidden}
  .bn-item{flex:0 0 20% !important;width:20% !important;min-width:0 !important;padding:6px 0 !important}
  .bn-label{font-size:.58rem}
  .detail-hero,.sm-hero,.detail-hero-content,.sm-info{min-height:auto}
  .detail-title,.sm-title{font-size:2.5rem;line-height:1.1}
  .detail-hero-content,.sm-info{padding-top:calc(92px + var(--si));padding-bottom:calc(46px + var(--sb));gap:0}
  .detail-meta,.sm-meta{margin:12px auto 18px}
  .detail-actions{gap:8px}
  .action-pill,.sm-play-btn{min-height:50px;padding-left:22px;padding-right:22px}
  .sm-overview{margin-bottom:8px}
  .metadata-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:380px){
  :root{--card-w:142px;--card-h:213px}
  .page-title,.movies-page-title,.live-section-title,.search-page-title,.library-title{font-size:2.55rem}
  .bottom-nav{width:calc(100vw - 20px);padding:6px}
  .bn-icon svg{width:21px;height:21px}
  .bn-label{font-size:.59rem}
  .movies-grid,#seriesGrid,.search-grid,.search-overlay-grid{gap:12px}
  .detail-hero,.sm-hero,.detail-hero-content,.sm-info{min-height:auto}
  .detail-title,.sm-title{font-size:2.05rem;line-height:1.12}
  .detail-poster,.sm-poster{width:146px;margin-bottom:14px}
  .action-pill,.sm-play-btn{width:100%;max-width:260px}
  .detail-actions{flex-direction:column;align-items:center}
}
@media(min-width:1000px){
  body{padding-bottom:0}
  .bottom-nav{display:none !important}
  .content,
  #moviesSection,
  #seriesSection,
  #mobileMp4Section,
  #searchSection,
  #librarySection,
  #liveSection{padding-bottom:64px}
}

/* ─────────────────────────────────────────────────────────────────────────────
   StreamVault mobile polish patch
   - fixes left/right spacing
   - fixes floating bottom nav clipping
   - adds square Live TV logo cards
   - keeps normal content rows on poster cards
   - reduces mobile image/layout jank
───────────────────────────────────────────────────────────────────────────── */
:root{
  --sv-mobile-pad:24px;
}
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
@supports (overflow:clip){html,body{overflow-x:clip}}
img{content-visibility:auto}

/* Live TV cards: same design on homepage and full Live TV page */
.live-home-track{
  align-items:flex-start;
}
.live-ch-card,
.channel-card{
  --ch-color:#8f8f99;
  text-align:center;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transform:translateZ(0);
  will-change:transform;
}
.live-ch-card{
  flex:0 0 92px!important;
  width:92px!important;
}
.channel-card{
  width:100%;
}
.live-ch-inner,
.channel-card-inner{
  aspect-ratio:1/1;
  width:100%;
  border-radius:22px!important;
  padding:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,rgba(255,255,255,.90),rgba(245,245,248,.62))!important;
  border:1.5px solid rgba(20,20,24,.10)!important;
  border-color:color-mix(in srgb,var(--ch-color) 55%,rgba(20,20,24,.12))!important;
  box-shadow:0 12px 30px rgba(24,26,32,.10), inset 0 1px 0 rgba(255,255,255,.70)!important;
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}
[data-theme="dark"] .live-ch-inner,
[data-theme="dark"] .channel-card-inner{
  background:linear-gradient(145deg,rgba(22,22,28,.92),rgba(6,6,8,.70))!important;
  border-color:rgba(255,255,255,.14)!important;
  border-color:color-mix(in srgb,var(--ch-color) 62%,rgba(255,255,255,.14))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.channel-logo{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:78%!important;
  max-height:72%!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
}
.live-ch-initial,
.channel-initial{
  color:var(--text)!important;
  text-shadow:none!important;
  font-family:'DM Sans',sans-serif!important;
  font-size:1.35rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
}
.live-grid{
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important;
  gap:18px!important;
  align-items:start;
}
@media(min-width:640px){
  .live-ch-card{flex-basis:100px!important;width:100px!important}
  .live-grid{grid-template-columns:repeat(auto-fill,minmax(100px,112px))!important;gap:20px!important}
  .live-ch-card:hover,.channel-card:hover{transform:translateY(-3px) scale(1.035)!important}
}

/* Marvel/DC rows use the same poster cards as normal sections */
#marvelTrack,
#dcTrack{
  height:calc(var(--card-h) + 20px)!important;
  gap:16px!important;
}
#marvelTrack .card,
#dcTrack .card{
  flex:0 0 var(--card-w)!important;
  width:var(--card-w)!important;
  min-width:var(--card-w)!important;
  max-width:var(--card-w)!important;
  height:var(--card-h)!important;
  min-height:var(--card-h)!important;
  max-height:var(--card-h)!important;
  border-radius:var(--card-radius)!important;
  background:var(--card-bg)!important;
}
#marvelTrack .card img,
#dcTrack .card img,
#marvelTrack .card-placeholder,
#dcTrack .card-placeholder{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:var(--card-radius)!important;
}
#marvelTrack .card-overlay,
#dcTrack .card-overlay{
  padding:14px 12px 12px!important;
  background:linear-gradient(to top,rgba(0,0,0,.84) 0%,rgba(0,0,0,.34) 45%,transparent 78%)!important;
}
#marvelTrack .card-title,
#dcTrack .card-title{
  font-size:.78rem!important;
  line-height:1.35!important;
  -webkit-line-clamp:2;
}
#marvelTrack .card-meta,
#dcTrack .card-meta{
  font-size:.6rem!important;
  margin-top:4px!important;
}
#marvelTrack .card::before,
#dcTrack .card::before{
  opacity:.58;
}
@media(max-width:420px){
  :root{--card-w:clamp(142px,39vw,162px);--card-h:calc(var(--card-w) * 1.5)}
}

/* Mobile alignment and bottom nav fix */
@media(max-width:759px){
  .page-intro{
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
  }
  .featured-showcase{
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .featured-showcase .row-header,
  .row-header{
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
  }
  .featured-track,
  .cards-track,
  .live-home-track,
  .sm-related-track,
  .detail-related-track,
  .library-row{
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
    scroll-padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    scroll-padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  .content{
    padding-left:0!important;
    padding-right:0!important;
  }
  #moviesSection,#seriesSection,#sectionPage,#mobileMp4Section,#searchSection,#librarySection,#liveSection{
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
  }
  .bottom-nav{
    left:max(12px,var(--sl))!important;
    right:max(12px,var(--sr))!important;
    bottom:max(10px,var(--sb))!important;
    width:auto!important;
    max-width:none!important;
    height:74px!important;
    padding:7px!important;
    transform:translateZ(0)!important;
    overflow:visible!important;
    border-radius:999px!important;
    justify-content:space-between!important;
  }
  .bn-item{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 2px!important;
  }
}

@media(max-width:380px){
  .bottom-nav{width:auto!important;left:max(10px,var(--sl))!important;right:max(10px,var(--sr))!important}
}

@media(max-width:768px) and (pointer:coarse){
  .card,.live-ch-card,.channel-card{transition:transform .16s ease!important}
  .card img{filter:none!important;transition:none!important}
  .card::before{filter:none!important}
  .cards-track,.featured-track,.live-home-track,.sm-related-track,.detail-related-track{contain:layout paint style}
}



/* ─────────────────────────────────────────────────────────────────────────────
   StreamVault final mobile/home-order patch
   - Locks Marvel/DC rows to horizontal-only carousel movement
   - Restores compact homepage Live TV row
   - Restores requested homepage section order
───────────────────────────────────────────────────────────────────────────── */
#liveHomeRow{
  margin:0 0 .95rem!important;
  padding:0!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
#liveHomeRow .row-header{
  margin-bottom:6px!important;
}
.live-home-track{
  height:86px!important;
  min-height:0!important;
  padding:2px 0 4px!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  align-items:flex-start!important;
}
.live-ch-card{
  flex:0 0 76px!important;
  width:76px!important;
  height:76px!important;
}
.live-ch-inner{
  width:76px!important;
  height:76px!important;
  aspect-ratio:1/1!important;
}
.live-ch-card .channel-logo{
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  max-height:58px!important;
}
#marvelRow,#dcRow{
  overflow:hidden!important;
  contain:layout paint style;
}
#marvelTrack,#dcTrack{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  height:calc(var(--card-h) + 20px)!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  touch-action:pan-x pan-y!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  transform:none!important;
}
#marvelTrack .card,#dcTrack .card{
  flex:0 0 var(--card-w)!important;
  width:var(--card-w)!important;
  min-width:var(--card-w)!important;
  max-width:var(--card-w)!important;
  height:var(--card-h)!important;
  min-height:var(--card-h)!important;
  max-height:var(--card-h)!important;
  scroll-snap-align:start!important;
  transform:none!important;
  translate:none!important;
  transition:box-shadow .16s ease!important;
  contain:layout paint!important;
}
#marvelTrack .card:hover,#dcTrack .card:hover,
#marvelTrack .card:active,#dcTrack .card:active{
  transform:none!important;
}
#marvelTrack .card img,#dcTrack .card img{
  transform:none!important;
  transition:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:759px){
  #marvelTrack,#dcTrack{
    touch-action:pan-x pan-y!important;
    padding-top:2px!important;
    padding-bottom:12px!important;
  }
}


/* ── StreamVault v2: compact vertical rhythm + compact Live TV carousel ── */
@media(max-width:759px){
  .page-intro{
    padding-top:calc(66px + var(--si))!important;
    padding-bottom:10px!important;
  }
  .featured-showcase{
    margin-bottom:18px!important;
  }
  .content{
    padding-left:calc(24px + var(--sl))!important;
    padding-right:calc(24px + var(--sr))!important;
    padding-bottom:calc(14px + var(--bnav-h))!important;
  }
  .row{
    margin-bottom:1.02rem!important;
  }
  .row-header{
    margin-bottom:6px!important;
    padding-right:0!important;
  }
  .cards-track{
    padding-top:1px!important;
    padding-bottom:4px!important;
    padding-left:0!important;
    padding-right:0!important;
    height:calc(var(--card-h) + 6px)!important;
    scroll-padding-left:24px!important;
    scroll-padding-right:24px!important;
  }
  #marvelTrack,#dcTrack{
    height:calc(var(--card-h) + 6px)!important;
    padding-bottom:5px!important;
  }
  #liveHomeRow{
    margin-bottom:.85rem!important;
  }
  .live-home-track{
    height:82px!important;
    padding:0 0 3px!important;
  }
  .live-ch-card,.live-ch-inner{
    width:72px!important;
    height:72px!important;
    flex-basis:72px!important;
  }
  .live-ch-card .channel-logo{
    width:54px!important;
    height:54px!important;
    max-width:54px!important;
    max-height:54px!important;
  }
}

/* StreamVault lite mode: keep layout/content, reduce paint and GPU cost */
nav,
.bottom-nav,
.search-box,
.search-overlay-box,
.row-explore,
.row-control-btn,
.movie-detail-modal,
.series-modal,
.player-dropdown,
.filter-panel,
.movies-search-wrap{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.card,
.card img,
.live-ch-card,
.channel-card,
.row-control-btn{
  transition:none!important;
}
.card:hover img,
.sm-related-track .card:hover img{
  filter:none!important;
}
.card-play{
  display:none!important;
}
@media(max-width:759px){
  .hero,
  nav,
  .bottom-nav,
  .movie-detail-modal,
  .series-modal{
    box-shadow:none!important;
  }
}

/* Performance layer: lazy rows, virtual carousels, and cheaper offscreen paint */
.row.sv-row-pending,
.row.sv-row-loaded{
  min-height:calc(var(--card-h) + 64px);
}
.row.sv-row-loaded{
  animation:svRowIn .18s ease-out both;
}
@keyframes svRowIn{
  from{opacity:.72}
  to{opacity:1}
}
.sv-skeleton-card{
  flex:0 0 var(--card-w);
  width:var(--card-w);
  height:var(--card-h);
  border-radius:var(--card-radius);
  background:linear-gradient(115deg,var(--surface2) 0%,var(--surface3) 42%,var(--surface2) 84%);
  border:1px solid var(--border);
  opacity:.72;
}
.card img{
  opacity:0;
  transition:none!important;
}
.card img.is-loaded,
.card img[src^="data:"]{
  opacity:1;
}
.section-page{
  display:none;
  padding:calc(88px + var(--si)) 5% calc(32px + var(--bnav-h));
  min-height:100dvh;
}
.section-page.open{
  display:block;
}
.section-page-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:22px;
}
.section-page-title{
  color:var(--text);
  font-size:clamp(1.8rem,5vw,3.3rem);
  line-height:1;
  font-weight:900;
  letter-spacing:0;
}
.section-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:16px;
  content-visibility:auto;
  contain-intrinsic-size:900px;
}
.section-load-more{
  display:flex;
  justify-content:center;
  margin:26px 0 0;
}
.perf-back-btn,
.perf-load-btn{
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  border-radius:999px;
  min-height:42px;
  padding:0 18px;
  font-family:'DM Sans',sans-serif;
  font-weight:800;
  cursor:pointer;
}
@media(hover:none){
  .card,
  .live-ch-card,
  .channel-card,
  .btn,
  .row-control-btn,
  .bn-item{
    transition:none!important;
    transform:none!important;
  }
}
.bottom-nav,
.search-box,
.search-overlay-box,
.row-explore,
.row-control-btn,
.btn,
.action-pill,
.detail-floating,
.metadata-item,
.season-tab,
.live-cat,
.movies-search-wrap,
.movies-select,
.filter-chip,
.library-card,
.channel-card,
.channel-card-inner,
.live-ch-card,
.live-ch-inner,
.player-dropdown,
.detail-modal,
.series-modal{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.metadata-item,
.library-card,
.channel-card-inner,
.player-dropdown,
.toast{
  box-shadow:none!important;
}

/* Mobile-only home/header typography polish */
@media(max-width:759px){
  nav{
    background:color-mix(in srgb,var(--nav-bg) 92%,transparent)!important;
    backdrop-filter:blur(8px) saturate(120%)!important;
    -webkit-backdrop-filter:blur(8px) saturate(120%)!important;
  }
  .logo img{
    filter:brightness(1.45) contrast(1.14) drop-shadow(0 2px 8px rgba(0,0,0,.5))!important;
  }
  .discover-intro{
    align-items:center!important;
    padding-bottom:10px!important;
  }
  .discover-intro .page-kicker,
  .discover-intro .page-actions{
    display:none!important;
  }
  .page-title,
  .movies-page-title,
  .live-section-title,
  .search-page-title,
  .library-title{
    font-size:2.2rem!important;
    line-height:1!important;
  }
  .row-title{
    font-size:1.18rem!important;
    line-height:1.12!important;
  }
  .featured-showcase .row-title{
    font-size:1.2rem!important;
  }
  .section-page-title{
    font-size:1.65rem!important;
  }
  .library-section-title{
    font-size:1.05rem!important;
  }
  .hero-title,
  .detail-title,
  .sm-title{
    font-size:2.05rem!important;
  }
  .page-kicker,
  .row-subtitle,
  .movies-count,
  .sec-count,
  .search-page-subtitle,
  .library-subtitle,
  .library-section-subtitle{
    display:none!important;
  }
}

@media(max-width:380px){
  .page-title,
  .movies-page-title,
  .live-section-title,
  .search-page-title,
  .library-title{
    font-size:2rem!important;
  }
  .row-title{
    font-size:1.08rem!important;
  }
}

/* Mobile section cleanup: full-width rows, compact studio cards, quieter nav */
@media(max-width:759px){
  :root{
    --card-h:calc(var(--card-w) * 1.5);
  }
  .featured-showcase > .row-header{
    display:none!important;
  }
  .content{
    padding-left:0!important;
    padding-right:0!important;
  }
  .row-header{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
  }
  .row-title{
    min-width:0!important;
    max-width:100%!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .row-title::after,
  .row-controls{
    display:none!important;
  }
  .row-explore{
    grid-column:2/3!important;
    grid-row:1/2!important;
  }
  .cards-track,
  .live-home-track,
  .sm-related-track,
  .detail-related-track,
  .library-row{
    width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
    scroll-padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    scroll-padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
  }
  #seriesGrid .card,
  .search-grid .card,
  .search-overlay-grid .card,
  .movies-grid .card{
    padding-bottom:130%!important;
  }
  #marvelTrack,
  #dcTrack{
    height:calc(var(--card-h) + 6px)!important;
  }
  #marvelTrack .card-overlay,
  #dcTrack .card-overlay{
    padding:14px 12px 12px!important;
  }
  #marvelTrack .card-title,
  #dcTrack .card-title{
    font-size:.78rem!important;
    line-height:1.35!important;
  }
  #marvelTrack .card-meta,
  #dcTrack .card-meta{
    font-size:.6rem!important;
    margin-top:4px!important;
  }
  .bottom-nav{
    background:color-mix(in srgb,var(--nav-bg) 88%,transparent)!important;
    backdrop-filter:blur(7px) saturate(115%)!important;
    -webkit-backdrop-filter:blur(7px) saturate(115%)!important;
  }
}

/* Shared header/home cleanup */
nav,
nav.solid{
  background:rgba(7,7,8,.88)!important;
  border-color:rgba(255,255,255,.10)!important;
  backdrop-filter:blur(6px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(6px) saturate(115%)!important;
}
.logo img{
  filter:brightness(1.5) contrast(1.16) drop-shadow(0 2px 8px rgba(0,0,0,.5))!important;
}
.discover-intro .page-kicker,
.discover-intro .page-actions,
.featured-showcase > .row-header{
  display:none!important;
}
.featured-card{
  flex-basis:clamp(146px,18.7vw,226px)!important;
  height:clamp(213px,28vw,340px)!important;
}

@media(max-width:759px){
  nav,
  nav.solid{
    background:rgba(7,7,8,.90)!important;
  }
  .bottom-nav{
    background:color-mix(in srgb,var(--nav-bg) 78%,transparent)!important;
    backdrop-filter:blur(2px) saturate(105%)!important;
    -webkit-backdrop-filter:blur(2px) saturate(105%)!important;
  }
  #marvelRow,
  #dcRow{
    content-visibility:visible!important;
    contain:none!important;
    contain-intrinsic-size:0 0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    margin-bottom:.2rem!important;
    min-height:0!important;
    height:auto!important;
  }
  #marvelTrack,
  #dcTrack{
    flex:0 0 auto!important;
    height:calc(var(--card-h) + 6px)!important;
    min-height:0!important;
    max-height:calc(var(--card-h) + 6px)!important;
    padding-top:0!important;
    padding-bottom:4px!important;
    margin-bottom:0!important;
    align-items:flex-start!important;
  }
  #marvelTrack .card,
  #dcTrack .card{
    border-radius:var(--card-radius)!important;
    flex:0 0 var(--card-w)!important;
    width:var(--card-w)!important;
    min-width:var(--card-w)!important;
    max-width:var(--card-w)!important;
    height:var(--card-h)!important;
    min-height:var(--card-h)!important;
    max-height:var(--card-h)!important;
  }
  #marvelTrack .card img,
  #dcTrack .card img,
  #marvelTrack .card-placeholder,
  #dcTrack .card-placeholder{
    border-radius:var(--card-radius)!important;
  }
}

/* Movies/Shows collapsed filter panel */
.movies-filters{
  display:grid!important;
  grid-template-columns:minmax(220px,420px) 46px!important;
  align-items:center!important;
  gap:10px!important;
}
.movies-filters .movies-search-wrap{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  flex:0 1 auto!important;
}
.filter-toggle-btn{
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:none;
  transition:background .18s,border-color .18s,transform .18s;
}
.filter-toggle-btn svg{
  width:20px;
  height:20px;
  fill:currentColor;
}
.filter-toggle-btn:hover,
.movies-filters.filters-open .filter-toggle-btn{
  background:var(--accent);
  color:var(--accent-contrast);
  border-color:transparent;
}
.filter-panel{
  grid-column:1/-1;
  display:none;
  flex-wrap:wrap;
  gap:8px;
  padding-top:10px;
  border-top:1px solid var(--border);
}
.movies-filters.filters-open .filter-panel{
  display:flex;
}
.filter-panel .movies-select{
  min-width:150px;
}
@media(max-width:759px){
  .movies-filters{
    grid-template-columns:44px minmax(0,1fr)!important;
    border-radius:22px!important;
  }
  .filter-toggle-btn{
    width:44px;
    height:44px;
  }
  .filter-panel .movies-select{
    width:100%;
    min-width:0;
  }
}

/* Global search cleanup */
.movies-filters{
  grid-template-columns:46px minmax(0,1fr)!important;
}
.search-box input,
.search-overlay-box input{
  min-width:0;
  -webkit-appearance:none;
  appearance:none;
}
.search-box input:focus,
.search-box input:focus-visible,
.search-overlay-box input:focus,
.search-overlay-box input:focus-visible{
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.search-box input::-webkit-search-cancel-button,
.search-overlay-box input::-webkit-search-cancel-button{
  -webkit-appearance:none;
  appearance:none;
  display:none;
}
.search-box:focus-within,
.search-overlay-box:focus-within{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)!important;
}
html[data-theme] body nav .search-box input:focus,
html[data-theme] body nav .search-box input:focus-visible,
html[data-theme] body .search-overlay-box input:focus,
html[data-theme] body .search-overlay-box input:focus-visible{
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
html[data-theme] body nav .search-box:focus-within,
html[data-theme] body .search-overlay-box:focus-within{
  border-color:color-mix(in srgb,var(--accent) 42%,var(--border))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)!important;
}
.search-clear-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border:0;
  border-radius:50%;
  padding:0;
  background:transparent;
  color:var(--text-muted);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s,color .16s,background .16s;
}
.search-box.has-query .search-clear-btn,
.search-overlay-box.has-query .search-clear-btn{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.search-clear-btn svg{
  width:14px;
  height:14px;
  fill:currentColor!important;
}
html[data-theme] body nav .search-box .search-clear-btn svg,
html[data-theme] body .search-overlay-box .search-clear-btn svg{
  fill:currentColor!important;
}
.search-clear-btn:hover,
.search-clear-btn:focus-visible{
  outline:0;
  background:var(--surface-soft);
  color:var(--text);
}
@media(max-width:759px){
  .movies-filters{
    grid-template-columns:44px minmax(0,1fr)!important;
  }
  nav .search-toggle{
    display:flex!important;
    align-items:center;
    justify-content:center;
  }
}

/* Performance mode: same layout, cheaper paint on weak hardware */
.sv-weak-device nav,
.sv-weak-device .bottom-nav,
.sv-weak-device .movies-filters,
.sv-weak-device .search-overlay-box,
.sv-weak-device .theme-toggle,
.sv-weak-device .top-action-btn,
.sv-weak-device .livetv-btn,
.sv-weak-device .allMovies-btn{
  backdrop-filter:blur(4px) saturate(112%)!important;
  -webkit-backdrop-filter:blur(4px) saturate(112%)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.16)!important;
}
.sv-weak-device .card,
.sv-weak-device .featured-card,
.sv-weak-device .channel-card,
.sv-weak-device .live-ch-card{
  transition:transform .12s ease, opacity .18s ease!important;
}
.sv-weak-device .card-overlay{
  background:linear-gradient(to top,rgba(0,0,0,.88) 0%,rgba(0,0,0,.46) 42%,transparent 82%)!important;
}

/* Final performance guardrails for large home feeds */
#mainSection > .row{
  content-visibility:auto;
  contain-intrinsic-size:360px;
}
.sv-weak-device .livetv-btn-dot,
.sv-weak-device .row-title-live-dot{
  animation:none!important;
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
}
.sv-weak-device .row.sv-row-loaded{
  animation:none!important;
}
.sv-weak-device .sv-skeleton-card{
  background:var(--surface2)!important;
}
.sv-weak-device .card,
.sv-weak-device .card img,
.sv-weak-device .live-ch-card,
.sv-weak-device .channel-card{
  transition:none!important;
}
.sv-weak-device .card:hover img,
.sv-weak-device .sm-related-track .card:hover img{
  filter:none!important;
}

/* Stable poster rendering: append-only rows keep images alive after decode */
.card{
  contain:layout paint style;
  box-shadow:none!important;
}
.card img{
  filter:none!important;
  transition:none!important;
  will-change:auto!important;
  contain:paint;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.card:hover img,
.sm-related-track .card:hover img{
  filter:none!important;
}
.card img.poster-loaded,
.card img.is-loaded,
.card img[src^="data:"]{
  opacity:1!important;
}

/* Production performance: keep visuals stable while avoiding expensive paint */
nav,
nav.solid,
.bottom-nav,
.search-box,
.search-overlay-box,
.movies-filters,
.movies-search-wrap,
.filter-panel,
.theme-toggle,
.top-action-btn,
.livetv-btn,
.allMovies-btn,
.player-notice-panel,
.player-dropdown,
.detail-floating,
.action-pill,
.metadata-item,
.library-card{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
}
.logo img,
.ep-thumb-play svg{
  filter:none!important;
}
.detail-backdrop,
.sm-backdrop{
  filter:brightness(.62)!important;
  transform:none!important;
  will-change:auto!important;
}
.row.sv-row-loaded,
.search-overlay.open,
.series-modal.open,
.detail-modal.open,
.player-modal.open,
.player-dropdown.open,
.spd-series.open{
  animation:none!important;
}
.sv-skeleton-card,
.skeleton,
.ep-brief-skeleton{
  animation:none!important;
  background:var(--surface2)!important;
}
.card,
.featured-card,
.live-ch-card,
.channel-card,
.row-control-btn{
  box-shadow:none!important;
  will-change:auto!important;
}

/* Downloads page */
.download-nav-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 16px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  font-size:.82rem;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.download-nav-btn:hover,
.download-nav-btn.active{
  background:var(--accent);
  border-color:transparent;
  color:var(--accent-contrast);
}
.download-nav-btn svg{
  width:17px;
  height:17px;
  fill:currentColor;
  flex-shrink:0;
}
#downloadsSection{
  display:none;
  min-height:100dvh;
  padding:0 5% calc(26px + var(--bnav-h));
}
.downloads-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-top:calc(var(--nav-h) + var(--si) + 34px);
  margin-bottom:20px;
}
.downloads-title{
  color:var(--text);
  font-size:2rem;
  line-height:1.05;
  font-weight:900;
  letter-spacing:0;
}
.downloads-subtitle,
.downloads-count{
  color:var(--text-muted);
  font-size:.95rem;
  font-weight:700;
  margin-top:7px;
}
.downloads-search-bar{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  border-radius:999px;
  padding:0 20px;
  margin:0 0 14px;
  background:var(--surface-glass);
  border:1px solid var(--border);
  color:var(--text);
}
.downloads-search-bar svg{
  fill:var(--text-muted);
  flex-shrink:0;
}
.downloads-search-bar input{
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  font-family:'DM Sans',sans-serif;
  font-size:1rem;
}
.downloads-search-bar input::placeholder{color:var(--text-muted)}
.downloads-filter-chips{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:2px 0 10px;
  margin-bottom:4px;
}
.downloads-filter-chips::-webkit-scrollbar{display:none}
.download-filter{
  flex-shrink:0;
  min-height:38px;
  padding:0 16px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  color:var(--text-muted);
  font-family:'DM Sans',sans-serif;
  font-size:.82rem;
  font-weight:800;
  cursor:pointer;
}
.download-filter.active{
  background:var(--accent);
  border-color:transparent;
  color:var(--accent-contrast);
}
.downloads-warning{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:36px;
  margin:2px 0 10px;
  padding:8px 12px;
  border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  color:var(--text);
  font-size:.82rem;
  font-weight:800;
}
.downloads-count{margin-bottom:14px}
.downloads-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
  gap:14px;
  align-items:stretch;
}
.download-card{
  min-width:0;
  min-height:198px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-glass);
}
.download-icon{
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  color:#fff;
}
.download-icon svg{
  width:30px;
  height:30px;
  fill:currentColor;
}
.download-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}
.download-icon-android{background:linear-gradient(135deg,#2e7d32,#64dd17)}
.download-icon-windows{background:linear-gradient(135deg,#0067b8,#38bdf8)}
.download-icon-disk{background:linear-gradient(135deg,#4b5563,#c7d2fe)}
.download-icon-game{background:linear-gradient(135deg,#7c3aed,#ef4444)}
.download-icon-archive{background:linear-gradient(135deg,#b45309,#facc15)}
.download-icon-mac{background:linear-gradient(135deg,#111827,#9ca3af)}
.download-icon-file{background:linear-gradient(135deg,#334155,#14b8a6)}
.download-card-body{
  width:100%;
  min-width:0;
  text-align:center;
  flex:1;
}
.download-name{
  color:var(--text);
  font-size:.88rem;
  line-height:1.22;
  font-weight:900;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow-wrap:anywhere;
}
.download-meta,
.download-size{
  color:var(--text-muted);
  font-size:.72rem;
  line-height:1.25;
  font-weight:800;
  margin-top:6px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.download-size{opacity:.82}
.download-action{
  width:100%;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--text);
  color:var(--bg);
  text-decoration:none;
  font-size:.8rem;
  font-weight:900;
}
.download-action:hover{opacity:.9}
.downloads-empty{
  grid-column:1/-1;
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-glass);
  color:var(--text-muted);
  font-weight:800;
}

@media(max-width:759px){
  .download-nav-btn{display:none!important}
  #downloadsSection{
    padding-left:calc(var(--sv-mobile-pad) + var(--sl));
    padding-right:calc(var(--sv-mobile-pad) + var(--sr));
    padding-bottom:calc(24px + var(--bnav-h));
  }
  .downloads-header{
    padding-top:calc(76px + var(--si));
    margin-bottom:16px;
  }
  .downloads-title{
    font-size:2.2rem;
    line-height:1;
  }
  .downloads-subtitle{font-size:.9rem}
  .downloads-search-bar{
    min-height:52px;
    padding:0 16px;
  }
  .downloads-search-bar input{font-size:.9rem}
  .downloads-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .download-card{
    min-height:190px;
    padding:12px;
  }
  .download-icon{
    width:54px;
    height:54px;
  }
  #bnDownloads .bn-label{
    font-size:.58rem;
    line-height:1.05;
  }
}

@media(min-width:1000px){
  #downloadsSection{padding-bottom:64px}
}

/* Discover featured carousel fix: equal poster cards + arrows */
.featured-showcase{
  position:relative!important;
}
#heroCards.featured-track,
#heroCards.sv-featured-poster-track{
  height:calc(var(--card-h) + 20px)!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x proximity!important;
  scroll-behavior:smooth!important;
  padding-top:4px!important;
  padding-bottom:16px!important;
}
#heroCards .card,
#heroCards .card.featured-card,
#heroCards .featured-card,
#heroCards .card.featured-card.studio-wide-card{
  flex:0 0 var(--card-w)!important;
  width:var(--card-w)!important;
  min-width:var(--card-w)!important;
  max-width:var(--card-w)!important;
  height:var(--card-h)!important;
  min-height:var(--card-h)!important;
  max-height:var(--card-h)!important;
  padding:0!important;
  margin:0!important;
  border-radius:var(--card-radius)!important;
  scroll-snap-align:start!important;
  transform:none!important;
}
#heroCards .card img,
#heroCards .card .card-placeholder{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  border-radius:var(--card-radius)!important;
}
#heroCards .card-title{
  font-size:.78rem!important;
  line-height:1.25!important;
  -webkit-line-clamp:2!important;
}
#heroCards .card-meta{
  font-size:.64rem!important;
  margin-top:5px!important;
}
.featured-carousel-controls{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-10%);
  z-index:10;
  display:flex;
  gap:8px;
  pointer-events:none;
}
.featured-control-btn{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--border);
  background:rgba(12,12,14,.72);
  color:var(--text);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  pointer-events:auto;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.featured-control-btn svg{
  width:20px;
  height:20px;
  fill:currentColor;
}
.featured-control-btn:disabled{
  opacity:.28;
  cursor:default;
}
@media(max-width:759px){
  #heroCards.featured-track,
  #heroCards.sv-featured-poster-track{
    height:calc(var(--card-h) + 18px)!important;
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
  }
  .featured-carousel-controls{
    right:calc(12px + var(--sr));
    top:52%;
  }
  .featured-control-btn{
    width:36px;
    height:36px;
  }
}

/* FIFA live Discover surface */
.discover-intro.sv-fifa-intro-hidden{
  display:none!important;
}
.featured-showcase.sv-fifa-hero{
  margin:0 5% 18px!important;
  padding:0!important;
  overflow:hidden!important;
  contain:layout paint style;
}
.fifa-live-section{
  position:relative;
  overflow:hidden;
  max-width:100%;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.12);
  background:#07090d;
  box-shadow:0 4px 12px rgba(0,0,0,.14);
  padding:clamp(16px,2vw,24px);
  contain:layout paint style;
}
.fifa-live-section::before{
  display:none;
}
.fifa-live-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.fifa-live-heading{
  min-width:0;
}
.fifa-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
  color:rgba(255,255,255,.68);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.fifa-live-heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.6rem,2.55vw,2.9rem);
  line-height:1.02;
  font-weight:950;
  letter-spacing:0;
}
.fifa-feed-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:6px;
  flex:0 0 auto;
  min-width:130px;
}
.fifa-feed-state,
.fifa-feed-updated{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  max-width:190px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.065);
  color:rgba(255,255,255,.86);
  padding:7px 10px;
  font-size:.7rem;
  font-weight:850;
  white-space:nowrap;
}
.fifa-feed-updated{
  color:rgba(255,255,255,.55);
  background:rgba(0,0,0,.14);
}
.fifa-live-dot,
.fifa-status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#22c55e;
  flex:0 0 auto;
}
.fifa-live-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  max-width:100%;
  contain:layout paint style;
}
.fifa-live-section.has-standings .fifa-live-layout{
  grid-template-columns:minmax(0,1.45fr) minmax(240px,.85fr);
}
.fifa-table-card[hidden],
.fifa-match-strip-wrap[hidden],
.fifa-match-strip[hidden],
.fifa-headline-strip[hidden]{
  display:none;
}
.fifa-featured-card,
.fifa-table-card{
  min-width:0;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.1);
  background:#101318;
  contain:layout paint style;
}
.fifa-featured-card{
  min-height:260px;
  padding:16px;
  display:flex;
}
.fifa-featured-card-inner{
  width:100%;
  min-width:0;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
}
.fifa-featured-empty{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:10px;
}
.fifa-featured-card-inner.is-live{
  background:#0f1512;
}
.fifa-feature-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.fifa-card-label{
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.66);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fifa-card-label span:last-child{
  color:rgba(255,255,255,.5);
  letter-spacing:0;
  text-transform:none;
}
.fifa-card-label.is-live{
  color:#86efac;
}
.fifa-scoreboard{
  display:grid;
  gap:8px;
}
.fifa-team-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.fifa-team-name{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
  max-width:100%;
  vertical-align:middle;
}
.fifa-team-name > span:last-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fifa-team-flag{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:50%;
  object-fit:cover;
  background:rgba(255,255,255,.12);
  box-shadow:0 0 0 1px rgba(255,255,255,.12) inset;
}
.fifa-team-flag-stack{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  flex:0 0 22px;
}
.fifa-team-flag-stack .fifa-team-flag{
  flex:0 0 22px;
}
.fifa-team-flag.emoji{
  display:inline-grid;
  place-items:center;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  font-size:1rem;
  line-height:1;
}
.fifa-team-line > span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:clamp(1.25rem,2.6vw,2.2rem);
  line-height:1;
  font-weight:950;
}
.fifa-team-line strong{
  display:flex;
  align-items:center;
  justify-content:center;
  width:clamp(42px,5vw,56px);
  height:clamp(38px,4.6vw,52px);
  border-radius:16px;
  background:rgba(255,255,255,.94);
  color:#050507;
  font-size:clamp(1.2rem,2.4vw,2rem);
  line-height:1;
  font-weight:950;
}
.fifa-match-meta{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.56);
  font-size:.85rem;
  font-weight:700;
}
.fifa-feature-scoreboard{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:clamp(12px,2vw,22px);
  min-width:0;
}
.fifa-feature-team{
  min-width:0;
  color:#fff;
  font-size:clamp(1.25rem,2.6vw,2.4rem);
  font-weight:950;
  line-height:1;
}
.fifa-feature-team .fifa-team-name{
  gap:10px;
}
.fifa-feature-team .fifa-team-flag,
.fifa-feature-team .fifa-team-flag-stack{
  width:28px;
  height:28px;
  flex-basis:28px;
}
.fifa-feature-team .fifa-team-flag-stack .fifa-team-flag{
  flex-basis:28px;
}
.fifa-feature-team-away .fifa-team-name{
  justify-content:flex-end;
  margin-left:auto;
}
.fifa-feature-score{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:#f7f8fa;
  color:#040607;
  padding:8px 10px;
  font-size:clamp(1.45rem,3vw,2.6rem);
  font-weight:950;
  line-height:1;
}
.fifa-feature-score span{
  min-width:34px;
  text-align:center;
}
.fifa-feature-score b{
  color:rgba(4,6,7,.42);
}
.fifa-feature-meta{
  font-size:.9rem;
}
.fifa-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  min-width:0;
}
.fifa-feature-info{
  min-width:0;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.86);
  padding:9px 10px;
}
.fifa-feature-info.is-event{
  border-color:rgba(34,197,94,.28);
  background:rgba(34,197,94,.08);
}
.fifa-feature-info b{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.5);
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fifa-feature-info strong{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  color:rgba(255,255,255,.9);
  font-size:.78rem;
  font-weight:900;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fifa-table-card{
  padding:14px;
  align-self:stretch;
}
.fifa-table-title{
  margin-bottom:12px;
  color:#fff;
  font-size:.98rem;
  font-weight:950;
}
.fifa-table-head,
.fifa-table-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 36px 36px 46px;
  align-items:center;
  gap:8px;
}
.fifa-table-head{
  margin-bottom:8px;
  color:rgba(255,255,255,.42);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
}
.fifa-table-row{
  min-height:28px;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.78);
  font-size:.78rem;
  font-weight:750;
}
.fifa-table-row span:first-child{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fifa-table-row span:first-child b{
  color:rgba(255,255,255,.38);
}
.fifa-table-row strong{
  color:#f7d46b;
  font-size:.9rem;
}
.fifa-table-empty,
.fifa-empty-title{
  color:rgba(255,255,255,.58);
  font-weight:800;
}
.fifa-match-strip-wrap{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  max-width:100%;
  min-width:0;
}
.fifa-match-strip{
  display:flex;
  gap:12px;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:12px 0 2px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  contain:layout paint style;
}
.fifa-match-nav{
  width:38px;
  height:58px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:#151a20;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:1.85rem;
  line-height:1;
  font-weight:900;
}
.fifa-match-nav:hover,
.fifa-match-nav:focus-visible{
  border-color:rgba(34,197,94,.42);
  color:#86efac;
  outline:none;
}
.fifa-match-strip::-webkit-scrollbar,
.fifa-headline-strip::-webkit-scrollbar{
  display:none;
}
.fifa-match-card{
  flex:0 0 clamp(196px,20vw,258px);
  min-width:0;
  min-height:112px;
  scroll-snap-align:start;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  background:#101318;
  padding:12px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  contain:layout paint style;
}
.fifa-match-empty{
  justify-content:center;
}
.fifa-match-card:nth-child(n+7){
  display:none;
}
.fifa-match-card .fifa-team-line > span{
  font-size:1rem;
  font-weight:900;
}
.fifa-match-card .fifa-team-line strong{
  width:34px;
  height:30px;
  font-size:1rem;
  border-radius:12px;
}
.fifa-match-card.is-live{
  border-color:rgba(34,197,94,.42);
  background:#111a15;
}
.fifa-headline-strip{
  display:flex;
  gap:8px;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding-top:10px;
  scrollbar-width:none;
  contain:layout paint style;
}
.fifa-headline-item{
  flex:0 0 auto;
  max-width:min(460px,82vw);
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(0,0,0,.18);
  color:rgba(255,255,255,.78);
  padding:8px 11px;
  font-size:.76rem;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fifa-headline-item:nth-child(n+5){
  display:none;
}
.fifa-headline-item b{
  color:#7ee787;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.fifa-live-section.is-stale .fifa-feed-state{
  border-color:rgba(247,212,107,.36);
  color:#f7d46b;
}
.fifa-live-section.is-error{
  border-color:rgba(255,95,86,.35);
}
.fifa-featured-card-inner.is-clickable,
.fifa-match-card.is-clickable{
  cursor:pointer;
  outline:none;
}
.fifa-featured-card-inner.is-clickable:focus-visible,
.fifa-match-card.is-clickable:focus-visible{
  box-shadow:0 0 0 2px rgba(126,231,135,.7) inset;
}
.fifa-detail-cta{
  align-self:flex-start;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:rgba(255,255,255,.72);
  background:rgba(255,255,255,.06);
  padding:5px 8px;
  font-size:.66rem;
  font-weight:900;
}
.fifa-detail-modal{
  --fifa-modal-bg:#11151b;
  --fifa-modal-panel:#080b10;
  --fifa-modal-soft:#171d25;
  --fifa-modal-text:#f7f8fa;
  --fifa-modal-muted:#a3aab5;
  --fifa-modal-border:rgba(255,255,255,.12);
  position:fixed;
  inset:0;
  z-index:860;
  display:none;
  place-items:center;
  padding:24px;
  color:var(--fifa-modal-text);
  contain:layout style;
}
.fifa-detail-modal.open{
  display:grid;
}
.fifa-detail-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.48);
}
.fifa-detail-panel{
  position:relative;
  width:min(980px,calc(100vw - 32px));
  max-height:min(82vh,760px);
  border:1px solid var(--fifa-modal-border);
  border-radius:24px;
  background:var(--fifa-modal-panel);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
  overflow:hidden;
  display:flex;
  contain:layout paint style;
}
.fifa-detail-content{
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:0;
  max-height:inherit;
}
.fifa-detail-header{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 20px 16px;
  border-bottom:1px solid var(--fifa-modal-border);
  background:var(--fifa-modal-panel);
}
.fifa-detail-meta-row,
.fifa-detail-title-row{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.fifa-detail-meta-row{
  justify-content:space-between;
}
.fifa-detail-meta-row .fifa-card-label{
  flex:0 0 auto;
}
.fifa-detail-title-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
}
.fifa-detail-title-wrap{
  min-width:0;
}
.fifa-detail-title-wrap h3{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 6px;
  color:var(--fifa-modal-text);
  font-size:clamp(1.25rem,2.2vw,1.9rem);
  line-height:1.12;
  letter-spacing:0;
}
.fifa-detail-title-wrap h3 .fifa-team-name{
  max-width:min(320px,36vw);
}
.fifa-versus{
  color:var(--fifa-modal-muted);
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
}
.fifa-detail-meta,
.fifa-detail-source{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--fifa-modal-muted);
  font-size:.78rem;
  font-weight:750;
}
.fifa-detail-source{
  flex:0 1 auto;
  text-align:right;
}
.fifa-detail-scoreboard{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:clamp(12px,2vw,22px);
  min-width:0;
}
.fifa-detail-team{
  min-width:0;
  color:var(--fifa-modal-text);
  font-size:clamp(1.1rem,2vw,1.75rem);
  font-weight:950;
  line-height:1.08;
}
.fifa-detail-team .fifa-team-name{
  gap:10px;
}
.fifa-detail-team .fifa-team-flag,
.fifa-detail-team .fifa-team-flag-stack{
  width:26px;
  height:26px;
  flex-basis:26px;
}
.fifa-detail-team .fifa-team-flag-stack .fifa-team-flag{
  flex-basis:26px;
}
.fifa-detail-team-away .fifa-team-name{
  justify-content:flex-end;
  margin-left:auto;
  text-align:right;
}
.fifa-detail-score{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--fifa-modal-text);
  font-size:1.75rem;
  font-weight:950;
}
.fifa-detail-score span{
  display:grid;
  place-items:center;
  min-width:54px;
  height:46px;
  border-radius:14px;
  background:#f7f8fa;
  color:#07090d;
}
.fifa-detail-score b{
  color:var(--fifa-modal-muted);
}
.fifa-detail-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid var(--fifa-modal-border);
  border-radius:999px;
  background:var(--fifa-modal-soft);
  color:var(--fifa-modal-text);
  cursor:pointer;
  font-size:1.25rem;
  line-height:1;
}
.fifa-detail-tabs{
  position:static;
  flex:0 0 auto;
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px 20px;
  border-bottom:1px solid var(--fifa-modal-border);
  scrollbar-width:none;
  background:var(--fifa-modal-panel);
}
.fifa-detail-tabs::-webkit-scrollbar{
  display:none;
}
.fifa-detail-tab{
  flex:0 0 auto;
  border:1px solid var(--fifa-modal-border);
  border-radius:999px;
  background:transparent;
  color:var(--fifa-modal-muted);
  padding:8px 12px;
  font-size:.76rem;
  font-weight:900;
  cursor:pointer;
}
.fifa-detail-tab.active{
  background:var(--fifa-modal-text);
  color:var(--fifa-modal-panel);
  border-color:var(--fifa-modal-text);
}
.fifa-detail-notice{
  flex:0 0 auto;
  margin:12px 20px 0;
  border:1px solid rgba(229,161,43,.34);
  border-radius:12px;
  background:rgba(229,161,43,.08);
  color:#9a6700;
  padding:10px 12px;
  font-size:.82rem;
  font-weight:800;
}
.fifa-detail-body{
  flex:1 1 auto;
  min-height:220px;
  min-width:0;
  overflow-y:auto;
  padding:18px 20px 20px;
  -webkit-overflow-scrolling:touch;
  contain:layout paint style;
}
.fifa-detail-loading,
.fifa-detail-empty{
  min-height:180px;
  display:grid;
  place-items:center;
  border:1px dashed var(--fifa-modal-border);
  border-radius:16px;
  color:var(--fifa-modal-muted);
  text-align:center;
  padding:20px;
  font-weight:850;
}
.fifa-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.fifa-detail-info,
.fifa-lineup-team{
  border:1px solid var(--fifa-modal-border);
  border-radius:16px;
  background:var(--fifa-modal-bg);
  padding:12px;
}
.fifa-detail-info span,
.fifa-lineup-label,
.fifa-lineup-coach{
  display:block;
  color:var(--fifa-modal-muted);
  font-size:.7rem;
  font-weight:900;
}
.fifa-detail-info strong{
  display:block;
  margin-top:6px;
  color:var(--fifa-modal-text);
  font-size:.96rem;
  line-height:1.25;
}
.fifa-detail-na{
  color:var(--fifa-modal-muted);
  font-weight:750;
}
.fifa-stats-board,
.fifa-event-list,
.fifa-detail-standings{
  border:1px solid var(--fifa-modal-border);
  border-radius:16px;
  overflow:hidden;
  background:var(--fifa-modal-bg);
}
.fifa-stats-teams{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:0 14px;
  border-bottom:1px solid var(--fifa-modal-border);
  color:var(--fifa-modal-muted);
  font-size:.72rem;
  font-weight:950;
  text-transform:uppercase;
}
.fifa-stats-teams .fifa-team-name:first-child{
  justify-content:flex-start;
}
.fifa-stats-teams .fifa-team-name:last-child{
  justify-content:flex-end;
}
.fifa-stat-row{
  padding:12px 14px;
  border-bottom:1px solid var(--fifa-modal-border);
}
.fifa-stat-row:last-child,
.fifa-detail-standings-row:last-child{
  border-bottom:0;
}
.fifa-stat-values{
  display:grid;
  grid-template-columns:64px minmax(110px,1fr) 64px;
  align-items:center;
  gap:10px;
  text-align:center;
}
.fifa-stat-values span{
  color:var(--fifa-modal-muted);
  font-size:.78rem;
  font-weight:850;
}
.fifa-stat-values strong{
  color:var(--fifa-modal-text);
}
.fifa-stat-bars{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  height:6px;
  margin-top:8px;
}
.fifa-stat-bars i,
.fifa-stat-bars b{
  display:block;
  height:6px;
  max-width:100%;
  border-radius:999px;
}
.fifa-stat-bars i{
  justify-self:end;
  background:#22c55e;
}
.fifa-stat-bars b{
  justify-self:start;
  background:rgba(255,255,255,.42);
}
.fifa-lineups-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.fifa-lineup-team-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.fifa-lineup-team-head strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--fifa-modal-text);
  font-size:1rem;
}
.fifa-lineup-team-head .fifa-lineup-formation{
  flex:0 0 auto;
  border-radius:999px;
  background:var(--fifa-modal-soft);
  color:var(--fifa-modal-muted);
  padding:5px 8px;
  font-size:.72rem;
  font-weight:900;
}
.fifa-lineup-label{
  margin:12px 0 6px;
  text-transform:uppercase;
}
.fifa-player-row{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:30px;
  border-top:1px solid var(--fifa-modal-border);
  color:var(--fifa-modal-text);
  font-size:.82rem;
}
.fifa-player-row b{
  color:var(--fifa-modal-muted);
}
.fifa-player-row span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:850;
}
.fifa-player-row em{
  color:var(--fifa-modal-muted);
  font-style:normal;
  font-weight:800;
}
.fifa-event-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid var(--fifa-modal-border);
}
.fifa-event-row.is-goal{
  background:rgba(34,197,94,.08);
}
.fifa-event-row time{
  align-self:start;
  display:grid;
  place-items:center;
  min-height:32px;
  border-radius:999px;
  background:rgba(34,197,94,.12);
  color:#7ee787;
  font-weight:950;
}
.fifa-event-main,
.fifa-event-title,
.fifa-event-team,
.fifa-event-player,
.fifa-event-row p{
  display:block;
  min-width:0;
}
.fifa-event-main{
  display:grid;
  gap:5px;
}
.fifa-event-title{
  display:flex;
  align-items:center;
  gap:8px;
}
.fifa-event-title i{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  color:#86efac;
  font-size:.68rem;
  font-style:normal;
  font-weight:950;
}
.fifa-event-title strong{
  color:var(--fifa-modal-text);
  font-size:.9rem;
}
.fifa-event-team,
.fifa-event-player,
.fifa-event-row p{
  color:var(--fifa-modal-muted);
  font-size:.78rem;
  line-height:1.4;
}
.fifa-event-team{
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:850;
}
.fifa-event-player{
  font-weight:900;
  color:var(--fifa-modal-text);
}
.fifa-event-row p{
  margin-top:4px;
}
.fifa-detail-standings-head,
.fifa-detail-standings-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px 48px 56px;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:0 12px;
  border-bottom:1px solid var(--fifa-modal-border);
}
.fifa-detail-standings-head{
  color:var(--fifa-modal-muted);
  font-size:.68rem;
  font-weight:950;
  text-transform:uppercase;
}
.fifa-detail-standings-row{
  color:var(--fifa-modal-text);
  font-size:.82rem;
  font-weight:850;
}
.fifa-detail-standings-row span:first-child{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fifa-detail-standings-row b{
  color:var(--fifa-modal-muted);
}
:root:not([data-theme="dark"]) .fifa-live-section{
  border-color:rgba(16,18,24,.14);
  background:#080b10;
  box-shadow:0 4px 12px rgba(29,31,39,.12);
}
:root:not([data-theme="dark"]) .fifa-live-heading h2,
:root:not([data-theme="dark"]) .fifa-table-title,
:root:not([data-theme="dark"]) .fifa-team-line > span{
  color:#fff;
}
:root:not([data-theme="dark"]) .fifa-kicker,
:root:not([data-theme="dark"]) .fifa-card-label,
:root:not([data-theme="dark"]) .fifa-match-meta{
  color:rgba(255,255,255,.64);
}
:root:not([data-theme="dark"]) .fifa-featured-card,
:root:not([data-theme="dark"]) .fifa-table-card,
:root:not([data-theme="dark"]) .fifa-match-card{
  border-color:rgba(255,255,255,.1);
  background:#101318;
}
:root:not([data-theme="dark"]) .fifa-feed-state,
:root:not([data-theme="dark"]) .fifa-feed-updated,
:root:not([data-theme="dark"]) .fifa-headline-item,
:root:not([data-theme="dark"]) .fifa-detail-cta{
  border-color:rgba(255,255,255,.1);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.76);
}
:root:not([data-theme="dark"]) .fifa-table-head,
:root:not([data-theme="dark"]) .fifa-table-row{
  color:rgba(255,255,255,.72);
  border-color:rgba(255,255,255,.08);
}
:root:not([data-theme="dark"]) .fifa-empty-title{
  color:rgba(255,255,255,.62);
}
[data-theme="dark"] .fifa-detail-modal{
  --fifa-modal-bg:#15161b;
  --fifa-modal-panel:#0d0e12;
  --fifa-modal-soft:#1c1e25;
  --fifa-modal-text:#f5f6f8;
  --fifa-modal-muted:#9da3ad;
  --fifa-modal-border:rgba(255,255,255,.11);
}
[data-theme="dark"] .fifa-detail-notice{
  color:#f7d46b;
  background:rgba(247,212,107,.08);
}
[data-theme="dark"] .fifa-event-row time{
  color:#7ee787;
}
.fifa-skeleton-line,
.fifa-skeleton-score,
.fifa-skeleton-row,
.fifa-match-skeleton div,
.fifa-headline-skeleton{
  border-radius:8px;
  background:rgba(255,255,255,.1);
}
.fifa-skeleton-line{height:18px;width:62%;margin-bottom:16px}
.fifa-skeleton-line.w40{width:40%}
.fifa-skeleton-line.w55{width:55%}
.fifa-skeleton-line.w70{width:70%}
.fifa-skeleton-score{height:82px;width:100%;margin:22px 0}
.fifa-skeleton-row{height:34px;margin-top:8px}
.fifa-match-skeleton div{height:18px}
.fifa-headline-skeleton{
  display:inline-block;
  width:280px;
  height:36px;
  border-radius:999px;
}
.fifa-headline-skeleton.short{width:190px}
@media(max-width:900px){
  .fifa-live-layout{
    grid-template-columns:1fr;
  }
  .fifa-featured-card{
    min-height:236px;
  }
  .fifa-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .fifa-detail-scoreboard{
    grid-template-columns:1fr;
    text-align:left;
  }
  .fifa-detail-team-away .fifa-team-name{
    justify-content:flex-start;
    margin-left:0;
    text-align:left;
  }
}
@media(max-width:759px){
  .featured-showcase.sv-fifa-hero{
    margin:0 0 12px!important;
    padding:0 calc(var(--sv-mobile-pad) + var(--sl))!important;
  }
  .fifa-live-section{
    border-radius:22px;
    padding:12px;
  }
  .fifa-live-top{
    flex-direction:column;
    gap:8px;
    margin-bottom:10px;
  }
  .fifa-feed-meta{
    width:100%;
    min-width:0;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .fifa-feed-state,
  .fifa-feed-updated{
    max-width:50%;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    padding:6px 9px;
    font-size:.66rem;
  }
  .fifa-kicker{
    font-size:.64rem;
    margin-bottom:5px;
  }
  .fifa-live-heading h2{
    font-size:1.55rem;
  }
  .fifa-featured-card{
    min-height:248px;
    padding:10px;
  }
  .fifa-feature-scoreboard{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:8px;
  }
  .fifa-feature-team{
    font-size:1rem;
  }
  .fifa-feature-team .fifa-team-flag,
  .fifa-feature-team .fifa-team-flag-stack{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .fifa-feature-team .fifa-team-flag-stack .fifa-team-flag{
    flex-basis:22px;
  }
  .fifa-feature-score{
    border-radius:14px;
    padding:7px 8px;
    font-size:1.25rem;
  }
  .fifa-feature-score span{
    min-width:24px;
  }
  .fifa-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .fifa-feature-info{
    padding:7px 8px;
  }
  .fifa-feature-info strong{
    font-size:.72rem;
  }
  .fifa-team-line > span{
    font-size:1.08rem;
  }
  .fifa-team-line strong{
    width:36px;
    height:30px;
    font-size:.98rem;
  }
  .fifa-table-card{
    padding:10px;
  }
  .fifa-table-title{
    margin-bottom:8px;
    font-size:.88rem;
  }
  .fifa-table-head,
  .fifa-table-row{
    grid-template-columns:minmax(0,1fr) 30px 30px 38px;
    gap:6px;
  }
  .fifa-table-row{
    min-height:25px;
    font-size:.7rem;
  }
  .fifa-match-card{
    flex-basis:min(68vw,226px);
    min-height:96px;
    padding:10px;
  }
  .fifa-match-strip-wrap{
    grid-template-columns:34px minmax(0,1fr) 34px;
    gap:5px;
  }
  .fifa-match-nav{
    width:34px;
    height:48px;
    border-radius:14px;
    font-size:1.45rem;
  }
  .fifa-match-card:nth-child(n+5){
    display:none;
  }
  .fifa-headline-item{
    max-width:78vw;
    padding:6px 9px;
    font-size:.7rem;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .fifa-headline-item:nth-child(n+3){
    display:none;
  }
  .fifa-detail-modal{
    align-items:end;
    place-items:end center;
    padding:0;
  }
  .fifa-detail-panel{
    width:100%;
    max-height:min(92dvh,calc(100dvh - var(--si)));
    border-radius:24px 24px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  .fifa-detail-header{
    gap:10px;
    padding:14px 14px 12px;
  }
  .fifa-detail-meta-row{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
  .fifa-detail-source{
    max-width:100%;
    text-align:left;
  }
  .fifa-detail-scoreboard{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:8px;
  }
  .fifa-detail-team{
    font-size:.95rem;
  }
  .fifa-detail-team .fifa-team-flag,
  .fifa-detail-team .fifa-team-flag-stack{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .fifa-detail-team .fifa-team-flag-stack .fifa-team-flag{
    flex-basis:22px;
  }
  .fifa-detail-team-away .fifa-team-name{
    justify-content:flex-end;
    margin-left:auto;
    text-align:right;
  }
  .fifa-detail-score{
    justify-content:center;
    font-size:1.2rem;
  }
  .fifa-detail-score span{
    min-width:34px;
    height:34px;
    border-radius:11px;
  }
  .fifa-detail-close{
    width:36px;
    height:36px;
    flex-basis:36px;
  }
  .fifa-detail-tabs{
    padding:10px 14px;
  }
  .fifa-detail-notice{
    margin:10px 14px 0;
  }
  .fifa-detail-body{
    padding:14px;
    min-height:220px;
  }
  .fifa-detail-grid,
  .fifa-lineups-grid{
    grid-template-columns:1fr;
  }
  .fifa-stats-teams,
  .fifa-stat-values{
    grid-template-columns:.72fr minmax(92px,1fr) .72fr;
    padding-left:8px;
    padding-right:8px;
  }
  .fifa-stat-row{
    padding:10px 8px;
  }
  .fifa-detail-standings-head,
  .fifa-detail-standings-row{
    grid-template-columns:minmax(0,1fr) 34px 34px 42px;
    padding:0 8px;
  }
  .fifa-player-row{
    grid-template-columns:26px minmax(0,1fr) 42px;
  }
}

/* Strict FIFA visual polish: spacing, theme parity, flags, cards, and match center */
.featured-showcase.sv-fifa-hero{
  margin:calc(var(--nav-h) + var(--si) + 34px) 5% 28px!important;
  padding:0!important;
}
.fifa-live-section{
  --fifa-panel:#f8faf8;
  --fifa-card:#ffffff;
  --fifa-card-soft:#f1f5f2;
  --fifa-text:#101411;
  --fifa-muted:#68716c;
  --fifa-border:rgba(16,24,20,.12);
  --fifa-border-strong:rgba(16,24,20,.18);
  --fifa-pill:#edf4ef;
  --fifa-score-bg:#111611;
  --fifa-score-text:#ffffff;
  --fifa-live:#16a34a;
  --fifa-live-soft:rgba(22,163,74,.10);
  border-radius:24px;
  border-color:var(--fifa-border);
  background:var(--fifa-panel);
  color:var(--fifa-text);
  box-shadow:none;
  padding:clamp(18px,2.1vw,26px);
}
:root:not([data-theme="dark"]) .fifa-live-section{
  --fifa-panel:#f8faf8;
  --fifa-card:#ffffff;
  --fifa-card-soft:#f1f5f2;
  --fifa-text:#101411;
  --fifa-muted:#68716c;
  --fifa-border:rgba(16,24,20,.12);
  --fifa-border-strong:rgba(16,24,20,.18);
  --fifa-pill:#edf4ef;
  --fifa-score-bg:#111611;
  --fifa-score-text:#ffffff;
  --fifa-live:#16a34a;
  --fifa-live-soft:rgba(22,163,74,.10);
  border-color:var(--fifa-border);
  background:var(--fifa-panel);
  color:var(--fifa-text);
}
[data-theme="dark"] .fifa-live-section{
  --fifa-panel:#07090d;
  --fifa-card:#101318;
  --fifa-card-soft:#171b21;
  --fifa-text:#f7f8fa;
  --fifa-muted:#a0a8a2;
  --fifa-border:rgba(255,255,255,.11);
  --fifa-border-strong:rgba(255,255,255,.17);
  --fifa-pill:#151a20;
  --fifa-score-bg:#f7f8fa;
  --fifa-score-text:#050607;
  --fifa-live:#22c55e;
  --fifa-live-soft:rgba(34,197,94,.12);
}
.fifa-live-heading h2,
.fifa-table-title,
.fifa-team-line > span,
.fifa-feature-team,
.fifa-empty-title{
  color:var(--fifa-text);
}
:root:not([data-theme="dark"]) .fifa-live-heading h2,
:root:not([data-theme="dark"]) .fifa-table-title,
:root:not([data-theme="dark"]) .fifa-team-line > span,
:root:not([data-theme="dark"]) .fifa-feature-team,
:root:not([data-theme="dark"]) .fifa-empty-title{
  color:var(--fifa-text);
}
.fifa-kicker,
.fifa-card-label,
.fifa-card-label span:last-child,
.fifa-match-meta,
.fifa-table-head,
.fifa-table-row span:first-child b,
.fifa-feed-updated{
  color:var(--fifa-muted);
}
:root:not([data-theme="dark"]) .fifa-kicker,
:root:not([data-theme="dark"]) .fifa-card-label,
:root:not([data-theme="dark"]) .fifa-card-label span:last-child,
:root:not([data-theme="dark"]) .fifa-match-meta,
:root:not([data-theme="dark"]) .fifa-table-head,
:root:not([data-theme="dark"]) .fifa-table-row span:first-child b,
:root:not([data-theme="dark"]) .fifa-feed-updated{
  color:var(--fifa-muted);
}
.fifa-card-label.is-live,
.fifa-headline-item b{
  color:var(--fifa-live);
}
.fifa-live-dot,
.fifa-status-dot{
  background:var(--fifa-live);
}
.fifa-feed-state,
.fifa-feed-updated,
.fifa-headline-item,
.fifa-detail-cta{
  border-color:var(--fifa-border);
  background:var(--fifa-pill);
  color:var(--fifa-text);
}
:root:not([data-theme="dark"]) .fifa-feed-state,
:root:not([data-theme="dark"]) .fifa-feed-updated,
:root:not([data-theme="dark"]) .fifa-headline-item,
:root:not([data-theme="dark"]) .fifa-detail-cta{
  border-color:var(--fifa-border);
  background:var(--fifa-pill);
  color:var(--fifa-text);
}
.fifa-feed-updated{
  color:var(--fifa-muted);
}
.fifa-featured-card,
.fifa-table-card,
.fifa-match-card{
  border-color:var(--fifa-border);
  background:var(--fifa-card);
  box-shadow:none;
}
:root:not([data-theme="dark"]) .fifa-featured-card,
:root:not([data-theme="dark"]) .fifa-table-card,
:root:not([data-theme="dark"]) .fifa-match-card{
  border-color:var(--fifa-border);
  background:var(--fifa-card);
}
.fifa-featured-card-inner.is-live,
.fifa-match-card.is-live{
  border-color:rgba(22,163,74,.34);
  background:var(--fifa-live-soft);
}
.fifa-featured-card-inner{
  justify-content:flex-start;
  gap:10px;
}
.fifa-feature-score,
.fifa-team-line strong{
  background:var(--fifa-score-bg);
  color:var(--fifa-score-text);
}
.fifa-feature-score b{
  color:color-mix(in srgb,var(--fifa-score-text) 45%,transparent);
}
.fifa-feature-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.fifa-feature-info{
  min-height:58px;
  border-color:var(--fifa-border);
  background:var(--fifa-card-soft);
  color:var(--fifa-text);
  padding:8px 9px;
}
.fifa-feature-info[data-fifa-card-source="cache"]{
  border-style:dashed;
}
.fifa-feature-info.is-event{
  border-color:rgba(22,163,74,.34);
  background:var(--fifa-live-soft);
}
.fifa-feature-info b{
  color:var(--fifa-muted);
}
.fifa-feature-info strong{
  color:var(--fifa-text);
  font-size:.86rem;
}
.fifa-feature-provider-note,
.fifa-provider-note{
  border:1px solid rgba(22,163,74,.18);
  border-radius:12px;
  background:rgba(22,163,74,.06);
  color:var(--fifa-muted);
  font-size:.84rem;
  font-weight:800;
  line-height:1.35;
}
.fifa-feature-provider-note{
  margin-top:8px;
  padding:8px 10px;
}
.fifa-provider-note{
  margin-top:10px;
  padding:10px 12px;
  color:var(--fifa-modal-muted);
}
.fifa-feature-timer::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:999px;
  background:var(--fifa-live);
  box-shadow:0 0 0 4px var(--fifa-live-soft);
}
.fifa-table-head,
.fifa-table-row{
  border-color:var(--fifa-border);
}
.fifa-table-row{
  color:var(--fifa-text);
}
:root:not([data-theme="dark"]) .fifa-table-head,
:root:not([data-theme="dark"]) .fifa-table-row{
  border-color:var(--fifa-border);
  color:var(--fifa-text);
}
.fifa-table-row strong{
  color:var(--fifa-live);
}
.fifa-match-strip-wrap{
  margin-top:12px;
}
.fifa-match-nav{
  border-color:var(--fifa-border-strong);
  background:var(--fifa-card);
  color:var(--fifa-text);
  box-shadow:none;
}
.fifa-match-card:nth-child(n+7){
  display:flex;
}
.fifa-match-nav:hover,
.fifa-match-nav:focus-visible{
  border-color:rgba(22,163,74,.45);
  color:var(--fifa-live);
  background:var(--fifa-pill);
}
.fifa-team-flag,
.fifa-team-flag-stack{
  position:relative;
  z-index:1;
  overflow:visible;
}
img.fifa-team-flag{
  display:block;
  object-fit:cover;
}
.fifa-team-flag.emoji{
  font-size:1.08rem;
  filter:none;
}
.fifa-feature-team .fifa-team-flag.emoji,
.fifa-detail-team .fifa-team-flag.emoji{
  font-size:1.25rem;
}
:root:not([data-theme="dark"]) .fifa-detail-modal{
  --fifa-modal-bg:#f5f7f5;
  --fifa-modal-panel:#ffffff;
  --fifa-modal-soft:#eef3ef;
  --fifa-modal-text:#101411;
  --fifa-modal-muted:#68716c;
  --fifa-modal-border:rgba(16,24,20,.13);
}
.fifa-detail-backdrop{
  background:rgba(5,7,8,.48);
}
.fifa-detail-panel{
  width:min(1040px,calc(100vw - 32px));
  border-radius:20px;
  background:var(--fifa-modal-panel);
  box-shadow:0 10px 28px rgba(0,0,0,.20);
}
.fifa-detail-header{
  align-items:stretch;
  gap:14px;
  padding:18px 22px 16px;
  background:var(--fifa-modal-panel);
}
.fifa-detail-meta-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 38px;
  align-items:center;
  gap:12px;
}
.fifa-detail-scoreboard{
  width:min(760px,100%);
  margin:0 auto;
}
.fifa-detail-team{
  color:var(--fifa-modal-text);
}
.fifa-detail-score{
  gap:7px;
}
.fifa-detail-score span{
  background:var(--fifa-modal-text);
  color:var(--fifa-modal-panel);
}
.fifa-detail-context,
.fifa-detail-scorers{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
}
.fifa-detail-context span,
.fifa-detail-scorers span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  max-width:100%;
  border:1px solid var(--fifa-modal-border);
  border-radius:999px;
  background:var(--fifa-modal-soft);
  color:var(--fifa-modal-muted);
  padding:6px 9px;
  font-size:.74rem;
  font-weight:850;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fifa-detail-scorers span{
  color:var(--fifa-modal-text);
  background:rgba(22,163,74,.10);
  border-color:rgba(22,163,74,.28);
}
.fifa-detail-tabs{
  justify-content:center;
  gap:18px;
  padding:0 22px;
  position:static!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  height:auto!important;
  min-height:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-radius:0!important;
  background:var(--fifa-modal-panel)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.fifa-detail-tab{
  border:0;
  border-bottom:3px solid transparent;
  border-radius:0;
  background:transparent;
  padding:12px 0 10px;
  color:var(--fifa-modal-muted);
}
.fifa-detail-tab.active{
  background:transparent;
  border-color:var(--fifa-live);
  color:var(--fifa-modal-text);
}
.fifa-detail-notice{
  color:#8a5a00;
  box-shadow:none;
  border-color:rgba(229,161,43,.22);
  background:rgba(229,161,43,.055);
  font-size:.84rem;
}
[data-theme="dark"] .fifa-detail-notice{
  color:#f7d46b;
}
.fifa-detail-info,
.fifa-lineup-team,
.fifa-stats-board,
.fifa-event-list,
.fifa-detail-standings{
  box-shadow:none;
}
.fifa-stat-bars i{
  background:var(--fifa-live);
}
.fifa-stat-bars b{
  background:var(--fifa-modal-muted);
  opacity:.45;
}
.fifa-event-row.is-goal{
  background:rgba(22,163,74,.10);
}
.fifa-event-row time{
  color:var(--fifa-live);
}
@media(max-width:900px){
  .fifa-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:759px){
  .featured-showcase.sv-fifa-hero{
    margin-top:calc(var(--nav-h) + var(--si) + 20px)!important;
    margin-bottom:16px!important;
    padding:0 calc(var(--sv-mobile-pad) + var(--sl))!important;
  }
  .fifa-live-section{
    border-radius:20px;
    padding:12px;
  }
  .fifa-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .fifa-feature-info{
    min-height:54px;
  }
  .fifa-match-strip-wrap{
    grid-template-columns:34px minmax(0,1fr) 34px;
  }
  .fifa-match-nav{
    width:34px;
    height:48px;
  }
  .fifa-match-card:nth-child(n+5){
    display:flex;
  }
  .fifa-detail-panel{
    width:100%;
    border-radius:20px 20px 0 0;
  }
  .fifa-detail-header{
    padding:14px 14px 12px;
  }
  .fifa-detail-meta-row{
    grid-template-columns:minmax(0,1fr) 36px;
  }
  .fifa-detail-source{
    grid-column:1/-1;
    grid-row:2;
    text-align:left;
  }
  .fifa-detail-close{
    grid-column:2;
    grid-row:1;
  }
  .fifa-detail-scoreboard{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  }
  .fifa-detail-context,
  .fifa-detail-scorers{
    justify-content:flex-start;
  }
  .fifa-detail-context span,
  .fifa-detail-scorers span{
    max-width:100%;
    font-size:.7rem;
  }
  .fifa-detail-tabs{
    justify-content:flex-start;
    gap:16px;
    padding:0 14px;
  }
}

/* FIFA PR #131 final visible fixes */
.nav-links a{
  font-size:.93rem;
  font-weight:800;
  color:rgba(5,5,7,.78);
}
[data-theme="dark"] .nav-links a{
  color:rgba(255,255,255,.94);
}
.nav-links a:hover,
.nav-links a.active{
  color:var(--text);
}
[data-theme="dark"] .nav-links a:hover,
[data-theme="dark"] .nav-links a.active{
  color:#fff;
  background:rgba(255,255,255,.12);
}
.download-nav-btn{
  font-size:.9rem;
  font-weight:900;
}

.fifa-card-label,
.fifa-match-meta,
.fifa-feed-state,
.fifa-feed-updated,
.fifa-headline-item,
.fifa-detail-cta,
.fifa-detail-source,
.fifa-detail-tab,
.fifa-detail-notice,
.fifa-detail-context span,
.fifa-detail-scorers span,
.fifa-detail-info span,
.fifa-lineup-label,
.fifa-lineup-coach,
.fifa-stat-values span,
.fifa-event-team,
.fifa-event-player,
.fifa-event-row p,
.fifa-feature-provider-note,
.fifa-provider-note{
  font-size:.9rem;
}
.fifa-feature-info b,
.fifa-table-head,
.fifa-detail-standings-head{
  font-size:.8rem;
}
.fifa-feature-info strong,
.fifa-table-row,
.fifa-detail-info strong,
.fifa-stat-values strong,
.fifa-player-row,
.fifa-detail-standings-row{
  font-size:.94rem;
}
.fifa-team-line > span{
  font-size:1.12rem;
}

.fifa-team-flag{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-grid;
  place-items:center;
  vertical-align:middle;
}
.fifa-team-flag-blank{
  background:transparent;
  box-shadow:none;
}
.fifa-match-card .fifa-team-flag{
  width:20px;
  height:20px;
  flex-basis:20px;
  font-size:1rem;
}
.fifa-feature-team .fifa-team-flag{
  width:26px;
  height:26px;
  flex-basis:26px;
}
.fifa-detail-team .fifa-team-flag{
  width:24px;
  height:24px;
  flex-basis:24px;
}

.fifa-feature-status{
  margin-bottom:0;
}
.fifa-feature-timer{
  justify-self:center;
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  max-width:100%;
  border:1px solid var(--fifa-border);
  border-radius:999px;
  background:var(--fifa-pill);
  color:var(--fifa-text);
  padding:7px 13px;
  font-size:.9rem;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
}
.fifa-feature-scoreboard{
  grid-template-columns:minmax(0,1fr) minmax(108px,auto) minmax(0,1fr);
  gap:clamp(20px,4vw,44px);
  width:100%;
}
.fifa-feature-team{
  display:flex;
  min-width:0;
}
.fifa-feature-team-home{
  justify-content:flex-start;
}
.fifa-feature-team-away{
  justify-content:flex-end;
  text-align:right;
}
.fifa-feature-team .fifa-team-name{
  min-width:0;
  max-width:100%;
}
.fifa-feature-team .fifa-team-name > span:last-child,
.fifa-detail-team .fifa-team-name > span:last-child{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
  line-height:1.08;
}
.fifa-feature-team-away .fifa-team-name > span:last-child,
.fifa-detail-team-away .fifa-team-name > span:last-child{
  text-align:right;
}
.fifa-feature-score{
  min-width:108px;
  justify-self:center;
}
.fifa-detail-scoreboard{
  grid-template-columns:minmax(0,1fr) minmax(116px,auto) minmax(0,1fr);
  gap:clamp(18px,3vw,36px);
}
.fifa-stats-teams{
  font-size:.875rem;
}

@media(max-width:759px){
  .fifa-card-label,
  .fifa-match-meta,
  .fifa-feed-state,
  .fifa-feed-updated,
  .fifa-headline-item,
  .fifa-detail-cta,
  .fifa-detail-source,
  .fifa-detail-tab,
  .fifa-detail-notice,
  .fifa-detail-context span,
  .fifa-detail-scorers span,
  .fifa-detail-info span,
  .fifa-lineup-label,
  .fifa-lineup-coach,
  .fifa-stat-values span,
  .fifa-event-team,
  .fifa-event-player,
  .fifa-event-row p{
    font-size:.8rem;
  }
  .fifa-feature-info b,
  .fifa-table-head,
  .fifa-detail-standings-head{
    font-size:.78rem;
  }
  .fifa-feature-info strong,
  .fifa-table-row,
  .fifa-detail-info strong,
  .fifa-stat-values strong,
  .fifa-player-row,
  .fifa-detail-standings-row{
    font-size:.86rem;
  }
  .fifa-feature-timer{
    min-height:32px;
    padding:7px 11px;
    font-size:.86rem;
  }
  .fifa-feature-provider-note,
  .fifa-provider-note{
    font-size:.82rem;
  }
  .fifa-feature-scoreboard{
    grid-template-columns:1fr;
    gap:10px;
    text-align:center;
  }
  .fifa-feature-team,
  .fifa-feature-team-home,
  .fifa-feature-team-away{
    justify-content:center;
    text-align:center;
  }
  .fifa-feature-team .fifa-team-name,
  .fifa-feature-team-away .fifa-team-name{
    justify-content:center;
    margin:0 auto;
    text-align:center;
  }
  .fifa-feature-team .fifa-team-name > span:last-child,
  .fifa-feature-team-away .fifa-team-name > span:last-child{
    text-align:center;
  }
  .fifa-feature-score{
    min-width:104px;
  }
  .fifa-feature-team .fifa-team-flag,
  .fifa-detail-team .fifa-team-flag{
    width:20px;
    height:20px;
    flex-basis:20px;
  }
  .fifa-match-card .fifa-team-flag{
    width:18px;
    height:18px;
    flex-basis:18px;
  }
  .fifa-detail-scoreboard{
    grid-template-columns:1fr;
    text-align:center;
  }
  .fifa-detail-team,
  .fifa-detail-team-away{
    text-align:center;
  }
  .fifa-detail-team .fifa-team-name,
  .fifa-detail-team-away .fifa-team-name{
    justify-content:center;
    margin:0 auto;
    text-align:center;
  }
  .fifa-detail-team .fifa-team-name > span:last-child,
  .fifa-detail-team-away .fifa-team-name > span:last-child{
    text-align:center;
  }
}

/* FIFA final layout-fit pass: compact hero, header timer, mobile ratio */
@keyframes fifaTimerPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(.72); opacity:.58; }
}
.featured-showcase.sv-fifa-hero{
  margin:calc(var(--nav-h) + var(--si) + 22px) 5% 18px!important;
}
.fifa-live-section{
  padding:clamp(12px,1.5vw,18px);
}
.fifa-live-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.fifa-live-timer-slot{
  min-width:0;
  display:flex;
  justify-content:center;
}
.fifa-feed-meta{
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}
.fifa-feed-updated{
  display:none!important;
}
.fifa-live-header-timer[hidden]{
  display:none!important;
}
.fifa-live-header-timer{
  min-height:40px;
  padding:9px 16px;
  font-size:clamp(1.08rem,1.45vw,1.32rem);
  font-weight:950;
  justify-content:center;
  white-space:nowrap;
}
.fifa-feature-timer::before{
  width:10px;
  height:10px;
  flex-basis:10px;
  animation:fifaTimerPulse 1.8s ease-in-out infinite;
}
.fifa-featured-card{
  min-height:0;
  padding:12px;
}
.fifa-featured-card-inner{
  gap:8px;
}
.fifa-feature-status{
  display:none;
}
.fifa-feature-scoreboard{
  grid-template-columns:minmax(0,1fr) minmax(96px,auto) minmax(0,1fr);
  gap:clamp(16px,3vw,34px);
}
.fifa-feature-team{
  font-size:clamp(1.35rem,2.3vw,2.2rem);
}
.fifa-feature-team .fifa-team-flag,
.fifa-feature-team .fifa-team-flag-stack{
  width:34px;
  height:34px;
  flex-basis:34px;
}
.fifa-feature-team .fifa-team-flag-stack .fifa-team-flag{
  flex-basis:34px;
}
.fifa-detail-team .fifa-team-flag,
.fifa-detail-team .fifa-team-flag-stack{
  width:30px;
  height:30px;
  flex-basis:30px;
}
.fifa-match-card .fifa-team-flag,
.fifa-match-card .fifa-team-flag-stack{
  width:20px;
  height:20px;
  flex-basis:20px;
}
.fifa-feature-score{
  min-width:96px;
  padding:7px 9px;
  border-radius:16px;
  font-size:clamp(1.35rem,2.4vw,2.2rem);
}
.fifa-feature-meta{
  font-size:.84rem;
}
.fifa-feature-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
}
.fifa-feature-info{
  min-height:48px;
  border-radius:11px;
  padding:7px 8px;
}
.fifa-feature-info b{
  margin-bottom:3px;
  font-size:.72rem;
}
.fifa-feature-info strong{
  display:block;
  font-size:.86rem;
  line-height:1.15;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}
.fifa-match-strip-wrap{
  margin-top:10px;
}
.fifa-headline-strip{
  display:flex;
  gap:8px;
  max-width:100%;
  min-width:0;
  margin-top:8px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 0 2px;
  scrollbar-width:none;
  contain:layout paint style;
}
.fifa-headline-strip[hidden]{
  display:none!important;
}
.fifa-headline-item,
.fifa-headline-item:nth-child(n+3),
.fifa-headline-item:nth-child(n+5){
  display:inline-flex;
}
.fifa-headline-item{
  flex:0 0 auto;
  align-items:center;
  gap:7px;
  max-width:min(420px,78vw);
  min-width:0;
  border:1px solid rgba(34,197,94,.24);
  border-radius:999px;
  background:rgba(22,163,74,.11);
  color:var(--fifa-text);
  padding:7px 11px;
  font-size:.74rem;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.fifa-headline-item:hover,
.fifa-headline-item:focus-visible{
  border-color:rgba(34,197,94,.48);
  background:rgba(22,163,74,.17);
  color:var(--fifa-text);
  outline:none;
}
.fifa-headline-item b{
  flex:0 0 auto;
  color:var(--fifa-live);
  font-size:.64rem;
  letter-spacing:.07em;
}
.fifa-headline-item span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fifa-headline-item em{
  flex:0 0 auto;
  color:var(--fifa-muted);
  font-size:.68rem;
  font-style:normal;
  font-weight:750;
}

@media(max-width:759px){
  .featured-showcase.sv-fifa-hero{
    margin-top:calc(var(--nav-h) + var(--si) + 12px)!important;
    margin-bottom:10px!important;
    padding:0 calc(10px + var(--sl))!important;
  }
  .fifa-live-section{
    border-radius:18px;
    padding:10px;
  }
  .fifa-live-top{
    grid-template-columns:minmax(0,1fr);
    justify-items:stretch;
    align-items:center;
    gap:8px;
    margin-bottom:8px;
  }
  .fifa-live-timer-slot{
    justify-content:center;
    width:100%;
  }
  .fifa-live-heading h2{
    font-size:1.42rem;
  }
  .fifa-kicker{
    margin-bottom:4px;
    font-size:.62rem;
  }
  .fifa-feed-meta{
    justify-content:center;
    gap:6px;
    width:100%;
  }
  .fifa-feed-state{
    padding:6px 9px;
    font-size:.78rem;
  }
  .fifa-live-header-timer{
    min-height:34px;
    padding:7px 12px;
    font-size:1rem;
  }
  .fifa-featured-card{
    border-radius:18px;
    padding:10px;
  }
  .fifa-featured-card-inner{
    gap:7px;
  }
  .fifa-feature-scoreboard{
    grid-template-columns:1fr;
    gap:7px;
  }
  .fifa-feature-team{
    font-size:1.05rem;
  }
  .fifa-feature-team .fifa-team-flag,
  .fifa-feature-team .fifa-team-flag-stack,
  .fifa-detail-team .fifa-team-flag,
  .fifa-detail-team .fifa-team-flag-stack{
    width:22px;
    height:22px;
    flex-basis:22px;
  }
  .fifa-match-card .fifa-team-flag,
  .fifa-match-card .fifa-team-flag-stack{
    width:18px;
    height:18px;
    flex-basis:18px;
  }
  .fifa-feature-score{
    min-width:92px;
    padding:7px 8px;
    font-size:1.32rem;
  }
  .fifa-feature-meta{
    font-size:.76rem;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    line-height:1.2;
  }
  .fifa-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .fifa-feature-info{
    min-height:46px;
    padding:6px 7px;
  }
  .fifa-feature-info b{
    font-size:.68rem;
  }
  .fifa-feature-info strong{
    font-size:.78rem;
  }
  .fifa-match-strip-wrap{
    grid-template-columns:30px minmax(0,1fr) 30px;
    margin-top:8px;
  }
  .fifa-match-nav{
    width:30px;
    height:42px;
  }
  .fifa-headline-strip{
    margin-top:7px;
  }
  .fifa-headline-item,
  .fifa-headline-item:nth-child(n+3),
  .fifa-headline-item:nth-child(n+5){
    display:inline-flex;
  }
  .fifa-headline-item{
    max-width:82vw;
    padding:6px 9px;
    font-size:.69rem;
  }
  .fifa-headline-item em{
    display:none;
  }
}

/* FIFA PR #131 finishing pass */
html.fifa-detail-lock{
  overflow:hidden!important;
  overscroll-behavior:none;
}
body.fifa-detail-lock{
  position:fixed;
  top:calc(-1 * var(--sv-fifa-scroll-y, 0px));
  left:0;
  right:0;
  width:100%;
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:none;
}
.fifa-detail-modal{
  overflow:hidden;
  overscroll-behavior:contain;
  touch-action:none;
  padding:max(16px,var(--si)) max(16px,var(--sr)) max(16px,var(--sb)) max(16px,var(--sl));
}
.fifa-detail-backdrop{
  touch-action:none;
}
.fifa-detail-panel{
  max-height:min(90vh,820px);
  overflow:hidden;
  display:block;
}
.fifa-detail-content{
  display:block;
  max-height:min(90vh,820px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.fifa-detail-body{
  min-height:0;
  overflow:visible!important;
  contain:none;
}
.fifa-feed-meta,
.fifa-feed-state[hidden]{
  display:none!important;
}
.fifa-live-top{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
}
.fifa-live-header-timer{
  border-color:rgba(34,197,94,.34);
}
.fifa-featured-card{
  padding:0!important;
  overflow:hidden;
}
.fifa-featured-empty{
  padding:clamp(14px,1.6vw,20px);
}
.fifa-featured-card-inner{
  min-height:100%;
  box-sizing:border-box;
  border-radius:inherit;
  padding:clamp(14px,1.6vw,20px);
}
.fifa-featured-card.is-live-featured{
  border-color:rgba(34,197,94,.42);
  background:linear-gradient(135deg,rgba(22,163,74,.30),rgba(20,83,45,.18));
}
.fifa-featured-card-inner.is-live{
  background:linear-gradient(135deg,rgba(22,163,74,.34),rgba(20,83,45,.16));
}
:root:not([data-theme="dark"]) .fifa-featured-card.is-live-featured{
  background:linear-gradient(135deg,rgba(22,163,74,.24),rgba(240,253,244,.98));
}
:root:not([data-theme="dark"]) .fifa-featured-card-inner.is-live{
  background:linear-gradient(135deg,rgba(22,163,74,.24),rgba(240,253,244,.96));
}
[data-theme="dark"] .fifa-featured-card.is-live-featured,
[data-theme="dark"] .fifa-featured-card-inner.is-live{
  background:linear-gradient(135deg,rgba(34,197,94,.22),rgba(5,46,22,.72));
}
.fifa-featured-card-inner.is-live .fifa-feature-info{
  border-color:rgba(34,197,94,.30);
  background:rgba(255,255,255,.16);
}
[data-theme="dark"] .fifa-featured-card-inner.is-live .fifa-feature-info{
  background:rgba(2,6,23,.36);
}
.fifa-featured-card-inner.is-live .fifa-feature-meta,
.fifa-featured-card-inner.is-live .fifa-feature-info b{
  color:color-mix(in srgb,var(--fifa-text) 68%,transparent);
}

@media(max-width:759px){
  .featured-showcase.sv-fifa-hero{
    margin:calc(var(--nav-h) + var(--si) + 12px) 0 calc(var(--bnav-h,76px) + 18px)!important;
    padding:0!important;
    overflow:visible!important;
  }
  .fifa-live-section{
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
    overflow:visible!important;
    contain:layout style;
  }
  .fifa-live-top{
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:7px;
    margin-bottom:9px;
    padding:0 10px;
  }
  .fifa-live-heading{
    text-align:center;
  }
  .fifa-kicker{
    justify-content:center;
    margin-bottom:4px;
  }
  .fifa-live-heading h2{
    font-size:1.38rem;
    line-height:1.05;
  }
  .fifa-live-timer-slot{
    width:100%;
    justify-content:center;
  }
  .fifa-live-header-timer{
    min-height:34px;
    padding:7px 12px;
    font-size:.98rem;
  }
  .fifa-live-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .fifa-featured-card{
    width:100%;
    max-width:100%;
    border-radius:16px;
  }
  .fifa-featured-card-inner{
    gap:8px;
    padding:12px;
  }
  .fifa-feature-scoreboard{
    grid-template-columns:1fr;
    gap:7px;
    text-align:center;
  }
  .fifa-feature-team,
  .fifa-feature-team-home,
  .fifa-feature-team-away{
    justify-content:center;
    text-align:center;
    font-size:1.02rem;
    line-height:1.15;
  }
  .fifa-feature-team .fifa-team-name,
  .fifa-feature-team-away .fifa-team-name{
    justify-content:center;
    margin:0 auto;
    text-align:center;
  }
  .fifa-feature-team .fifa-team-name > span:last-child,
  .fifa-feature-team-away .fifa-team-name > span:last-child{
    text-align:center;
  }
  .fifa-feature-score{
    justify-self:center;
    min-width:88px;
    padding:7px 8px;
    border-radius:14px;
    font-size:1.24rem;
  }
  .fifa-feature-meta{
    font-size:.74rem;
    line-height:1.25;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .fifa-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .fifa-feature-grid > .fifa-feature-info:nth-child(5):last-child{
    grid-column:1/-1;
  }
  .fifa-feature-info{
    min-height:46px;
    padding:6px 7px;
    border-radius:10px;
  }
  .fifa-feature-info b{
    font-size:.66rem;
  }
  .fifa-feature-info strong{
    font-size:.76rem;
    line-height:1.16;
  }
  .fifa-match-strip-wrap{
    grid-template-columns:28px minmax(0,1fr) 28px;
    gap:5px;
    max-width:100%;
    overflow:hidden;
    margin-top:8px;
  }
  .fifa-match-nav{
    width:28px;
    height:42px;
    border-radius:12px;
    font-size:1.35rem;
  }
  .fifa-match-strip{
    gap:8px;
    padding:8px 0 2px;
  }
  .fifa-match-card{
    flex-basis:206px;
    min-height:100px;
    border-radius:16px;
    padding:10px;
  }
  .fifa-headline-strip{
    padding:8px 0 2px;
  }
  .fifa-headline-item{
    max-width:82vw;
    padding:6px 9px;
    font-size:.68rem;
  }
  .fifa-detail-modal{
    align-items:end;
    place-items:end center;
    padding:0;
  }
  .fifa-detail-panel{
    width:100%;
    max-height:min(90dvh,calc(100dvh - var(--si)));
    border-radius:20px 20px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  .fifa-detail-content{
    max-height:min(90dvh,calc(100dvh - var(--si)));
  }
}

@media(max-width:420px){
  .fifa-match-card{
    flex-basis:198px;
  }
  .fifa-feature-info strong{
    font-size:.74rem;
  }
}

/* FIFA priority fix: final live-card state, modal scroll, and mobile fit */
html.fifa-modal-open,
html.fifa-detail-lock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.fifa-modal-open,
body.fifa-detail-lock{
  position:fixed!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.fifa-detail-modal{
  position:fixed!important;
  inset:0!important;
  z-index:860!important;
  display:none;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  padding:max(18px,var(--si)) max(16px,var(--sr)) max(18px,var(--sb)) max(16px,var(--sl))!important;
}
.fifa-detail-modal.open{
  display:block!important;
}
.fifa-detail-backdrop{
  position:fixed!important;
  inset:0!important;
  touch-action:none!important;
}
.fifa-detail-panel{
  position:relative!important;
  width:min(1040px,calc(100vw - 32px))!important;
  max-height:none!important;
  min-height:0!important;
  margin:min(5dvh,48px) auto!important;
  overflow:visible!important;
  display:block!important;
}
.fifa-detail-content{
  display:block!important;
  max-height:none!important;
  min-height:0!important;
  overflow:visible!important;
}
.fifa-detail-header,
.fifa-detail-tabs,
.fifa-detail-notice,
.fifa-detail-body{
  flex:none!important;
}
.fifa-detail-body{
  min-height:0!important;
  overflow:visible!important;
  contain:none!important;
}

.fifa-featured-card.is-live,
.fifa-featured-card.is-live-featured{
  border:1px solid rgba(74,222,128,.78)!important;
  background:linear-gradient(180deg,rgba(20,23,29,.98),rgba(7,10,14,.98))!important;
  box-shadow:0 0 0 1px rgba(74,222,128,.14),0 0 24px rgba(34,197,94,.24),0 18px 48px rgba(0,0,0,.34)!important;
  padding:0!important;
  overflow:hidden!important;
}
.fifa-featured-card.is-live .fifa-featured-card-inner,
.fifa-featured-card.is-live-featured .fifa-featured-card-inner{
  min-height:100%!important;
  box-sizing:border-box!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important;
  padding:clamp(14px,1.7vw,22px)!important;
}
.fifa-featured-card.is-live .fifa-feature-scoreboard,
.fifa-featured-card.is-live .fifa-feature-meta,
.fifa-featured-card.is-live .fifa-feature-grid,
.fifa-featured-card.is-live-featured .fifa-feature-scoreboard,
.fifa-featured-card.is-live-featured .fifa-feature-meta,
.fifa-featured-card.is-live-featured .fifa-feature-grid{
  background:transparent!important;
}
.fifa-featured-card.is-live .fifa-feature-team,
.fifa-featured-card.is-live .fifa-feature-meta,
.fifa-featured-card.is-live-featured .fifa-feature-team,
.fifa-featured-card.is-live-featured .fifa-feature-meta{
  color:rgba(248,250,252,.96)!important;
}
.fifa-featured-card.is-live .fifa-feature-info,
.fifa-featured-card.is-live-featured .fifa-feature-info{
  border-color:rgba(74,222,128,.20)!important;
  background:rgba(7,11,17,.72)!important;
  color:rgba(248,250,252,.96)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.fifa-featured-card.is-live .fifa-feature-info b,
.fifa-featured-card.is-live-featured .fifa-feature-info b{
  color:rgba(187,247,208,.72)!important;
}
.fifa-featured-card.is-live .fifa-feature-info strong,
.fifa-featured-card.is-live-featured .fifa-feature-info strong{
  color:rgba(255,255,255,.96)!important;
}
.fifa-featured-card.is-live .fifa-feature-score,
.fifa-featured-card.is-live-featured .fifa-feature-score{
  border-color:rgba(74,222,128,.26)!important;
  background:rgba(2,6,23,.78)!important;
  color:#ffffff!important;
  box-shadow:0 0 18px rgba(34,197,94,.12)!important;
}
.fifa-featured-card.is-live .fifa-feature-score b,
.fifa-featured-card.is-live-featured .fifa-feature-score b{
  color:rgba(187,247,208,.56)!important;
}
[data-theme="dark"] .fifa-featured-card.is-live,
[data-theme="dark"] .fifa-featured-card.is-live-featured{
  background:linear-gradient(180deg,rgba(18,22,29,.98),rgba(3,7,10,.98))!important;
}
[data-theme="dark"] .fifa-featured-card.is-live .fifa-feature-info,
[data-theme="dark"] .fifa-featured-card.is-live-featured .fifa-feature-info{
  background:rgba(3,8,14,.76)!important;
}

@media(max-width:760px){
  .featured-showcase.sv-fifa-hero{
    width:100%!important;
    max-width:100%!important;
    margin:calc(var(--nav-h) + var(--si) + 10px) 0 12px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .fifa-live-section{
    width:100%!important;
    max-width:100%!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0 8px!important;
    overflow-x:hidden!important;
    contain:layout style!important;
  }
  .fifa-live-top{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
    gap:7px!important;
    margin-bottom:9px!important;
    padding:0!important;
  }
  .fifa-live-heading{
    width:100%!important;
    text-align:center!important;
  }
  .fifa-kicker{
    justify-content:center!important;
    margin-bottom:4px!important;
  }
  .fifa-live-heading h2{
    font-size:1.38rem!important;
    line-height:1.05!important;
  }
  .fifa-live-timer-slot{
    width:100%!important;
    justify-content:center!important;
  }
  .fifa-live-header-timer{
    min-height:34px!important;
    padding:7px 12px!important;
    font-size:.98rem!important;
  }
  .fifa-featured-card{
    width:100%!important;
    max-width:100%!important;
    border-radius:16px!important;
  }
  .fifa-featured-card .fifa-featured-card-inner{
    gap:8px!important;
    padding:12px!important;
  }
  .fifa-feature-scoreboard{
    grid-template-columns:1fr!important;
    gap:7px!important;
    text-align:center!important;
  }
  .fifa-feature-team,
  .fifa-feature-team-home,
  .fifa-feature-team-away{
    justify-content:center!important;
    text-align:center!important;
    font-size:1.02rem!important;
    line-height:1.15!important;
  }
  .fifa-feature-team .fifa-team-name,
  .fifa-feature-team-away .fifa-team-name{
    justify-content:center!important;
    margin:0 auto!important;
    text-align:center!important;
  }
  .fifa-feature-score{
    justify-self:center!important;
    min-width:88px!important;
    padding:7px 8px!important;
    border-radius:14px!important;
    font-size:1.24rem!important;
  }
  .fifa-feature-meta{
    font-size:.74rem!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .fifa-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .fifa-feature-grid > .fifa-feature-info:nth-child(5):last-child{
    grid-column:1/-1!important;
  }
  .fifa-feature-info{
    min-height:46px!important;
    padding:6px 7px!important;
    border-radius:10px!important;
  }
  .fifa-feature-info b{
    font-size:.66rem!important;
  }
  .fifa-feature-info strong{
    font-size:.75rem!important;
    line-height:1.16!important;
  }
  .fifa-match-strip-wrap{
    grid-template-columns:28px minmax(0,1fr) 28px!important;
    gap:5px!important;
    max-width:100%!important;
    overflow:hidden!important;
    margin-top:8px!important;
  }
  .fifa-match-nav{
    width:28px!important;
    height:42px!important;
    border-radius:12px!important;
    font-size:1.35rem!important;
  }
  .fifa-match-strip{
    gap:8px!important;
    padding:8px 0 2px!important;
  }
  .fifa-match-card{
    flex-basis:min(206px,68vw)!important;
    min-height:100px!important;
    border-radius:16px!important;
    padding:10px!important;
  }
  .fifa-headline-strip{
    width:100%!important;
    padding:8px 0 2px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  .fifa-headline-item{
    max-width:82vw!important;
    padding:6px 9px!important;
    font-size:.68rem!important;
  }
  .fifa-detail-modal{
    padding:0!important;
  }
  .fifa-detail-panel{
    width:100%!important;
    margin:max(10px,var(--si)) auto max(12px,var(--sb))!important;
    border-radius:20px 20px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
  }
}

.fifa-kicker{
  display:none!important;
}
.fifa-feed-meta{
  display:none!important;
}
.nav-links a.live-match-nav-pill{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  min-height:34px!important;
  padding:7px 14px 7px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(74,222,128,.42)!important;
  background:linear-gradient(180deg,rgba(10,18,14,.92),rgba(5,9,8,.84))!important;
  color:#ecfdf5!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  box-shadow:0 8px 24px rgba(0,0,0,.28),0 0 18px rgba(34,197,94,.13)!important;
  text-decoration:none!important;
}
.nav-links a.live-match-nav-pill::before{
  content:''!important;
  width:9px!important;
  height:9px!important;
  flex:0 0 9px!important;
  border-radius:50%!important;
  background:#22c55e!important;
  box-shadow:0 0 0 0 rgba(34,197,94,.62)!important;
  animation:svLiveMatchPulse 1.35s ease-out infinite!important;
}
.nav-links a.live-match-nav-pill::after{
  display:none!important;
}
.nav-links a.live-match-nav-pill:hover{
  border-color:rgba(134,239,172,.72)!important;
  background:linear-gradient(180deg,rgba(16,31,22,.96),rgba(6,13,10,.9))!important;
  color:#ffffff!important;
}
@keyframes svLiveMatchPulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.62)}
  70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
.channel-card.sv-live-match-target .channel-card-inner{
  border-color:rgba(74,222,128,.88)!important;
  box-shadow:0 0 0 2px rgba(74,222,128,.32),0 16px 34px rgba(0,0,0,.36)!important;
}
@media(max-width:759px){
  .bottom-nav{
    background:rgba(6,8,12,.96)!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.54),inset 0 1px 0 rgba(255,255,255,.08)!important;
    backdrop-filter:blur(16px) saturate(135%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(135%)!important;
  }
  .bn-item{
    color:rgba(255,255,255,.86)!important;
    opacity:.94!important;
  }
  .bn-item.active{
    color:#ffffff!important;
    background:rgba(255,255,255,.13)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 22px rgba(0,0,0,.22)!important;
  }
  .bn-icon svg{
    filter:drop-shadow(0 1px 5px rgba(0,0,0,.48));
  }
  .bn-label{
    color:inherit!important;
  }
}

/* FIFA polish pass: theme-correct nav, right-side live match pill, clean edges, fixed detail modal */
:root:not([data-theme="dark"]) nav,
:root:not([data-theme="dark"]) nav.solid{
  background:rgba(255,255,255,.93)!important;
  border-color:rgba(16,18,24,.12)!important;
  color:#050507!important;
  box-shadow:0 10px 26px rgba(29,31,39,.10)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
}
[data-theme="dark"] nav,
[data-theme="dark"] nav.solid{
  background:rgba(7,7,8,.90)!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#f7f7f8!important;
}
:root:not([data-theme="dark"]) .logo img{
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.65))!important;
}
[data-theme="dark"] .logo img{
  filter:brightness(1.5) contrast(1.16) drop-shadow(0 2px 8px rgba(0,0,0,.5))!important;
}
:root:not([data-theme="dark"]) .nav-links a{
  color:rgba(5,5,7,.74)!important;
}
:root:not([data-theme="dark"]) .nav-links a:hover,
:root:not([data-theme="dark"]) .nav-links a.active{
  background:rgba(5,5,7,.07)!important;
  color:#050507!important;
}
:root:not([data-theme="dark"]) .search-box,
:root:not([data-theme="dark"]) .livetv-btn,
:root:not([data-theme="dark"]) .allMovies-btn,
:root:not([data-theme="dark"]) .theme-toggle,
:root:not([data-theme="dark"]) .download-nav-btn{
  background:rgba(255,255,255,.76)!important;
  border-color:rgba(16,18,24,.12)!important;
  color:#050507!important;
}
:root:not([data-theme="dark"]) .search-box input{
  color:#050507!important;
}
:root:not([data-theme="dark"]) .search-box input::placeholder{
  color:rgba(5,5,7,.48)!important;
}
:root:not([data-theme="dark"]) .search-box svg{
  fill:rgba(5,5,7,.48)!important;
}
[data-theme="dark"] .search-box,
[data-theme="dark"] .livetv-btn,
[data-theme="dark"] .allMovies-btn,
[data-theme="dark"] .theme-toggle,
[data-theme="dark"] .download-nav-btn{
  background:rgba(18,18,22,.78)!important;
  border-color:rgba(255,255,255,.14)!important;
  color:#f7f7f8!important;
}
.live-match-nav-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  min-height:44px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(34,197,94,.36)!important;
  background:#0b1510!important;
  color:#ecfdf5!important;
  font-size:.78rem!important;
  font-weight:950!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.live-match-nav-pill::before{
  content:''!important;
  width:8px!important;
  height:8px!important;
  flex:0 0 8px!important;
  border-radius:50%!important;
  background:#22c55e!important;
  box-shadow:0 0 0 0 rgba(34,197,94,.55)!important;
  animation:svLiveMatchPulse 1.35s ease-out infinite!important;
}
.live-match-nav-pill::after{
  display:none!important;
}
.live-match-nav-pill:hover,
.live-match-nav-pill:focus-visible{
  border-color:rgba(134,239,172,.68)!important;
  background:#102018!important;
  color:#fff!important;
}
:root:not([data-theme="dark"]) .live-match-nav-pill{
  background:#ecfdf3!important;
  border-color:rgba(22,163,74,.32)!important;
  color:#065f46!important;
}
:root:not([data-theme="dark"]) .live-match-nav-pill:hover,
:root:not([data-theme="dark"]) .live-match-nav-pill:focus-visible{
  background:#dcfce7!important;
  color:#064e3b!important;
}
@media(max-width:759px){
  .live-match-nav-pill{
    display:none!important;
  }
}
.featured-showcase.sv-fifa-hero,
.fifa-live-section,
.fifa-featured-card,
.fifa-table-card,
.fifa-match-card,
.fifa-headline-item,
.fifa-match-nav{
  background-clip:padding-box!important;
  isolation:isolate;
}
.featured-showcase.sv-fifa-hero{
  overflow:visible!important;
}
.fifa-live-section{
  overflow:clip!important;
  box-shadow:none!important;
}
.fifa-featured-card,
.fifa-table-card,
.fifa-match-card,
.fifa-headline-item,
.fifa-match-nav{
  box-shadow:none!important;
}
.fifa-featured-card,
.fifa-table-card{
  overflow:hidden!important;
}
.fifa-featured-card.is-live,
.fifa-featured-card.is-live-featured,
[data-theme="dark"] .fifa-featured-card.is-live,
[data-theme="dark"] .fifa-featured-card.is-live-featured,
:root:not([data-theme="dark"]) .fifa-featured-card.is-live-featured{
  background:var(--fifa-card)!important;
  border-color:var(--fifa-border-strong)!important;
}
.fifa-featured-card.is-live .fifa-featured-card-inner,
.fifa-featured-card.is-live-featured .fifa-featured-card-inner,
[data-theme="dark"] .fifa-featured-card-inner.is-live,
:root:not([data-theme="dark"]) .fifa-featured-card-inner.is-live{
  background:transparent!important;
}
.fifa-match-card.is-live{
  background:var(--fifa-card)!important;
  border-color:rgba(34,197,94,.34)!important;
}
.fifa-match-strip-wrap{
  overflow:hidden!important;
}
.fifa-headline-strip{
  overflow-y:hidden!important;
}
html.fifa-modal-open,
html.fifa-detail-lock{
  height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.fifa-modal-open,
body.fifa-detail-lock{
  position:fixed!important;
  top:calc(-1 * var(--sv-fifa-scroll-y,0px))!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:100vh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
}
.fifa-detail-modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  z-index:860!important;
  display:none!important;
  place-items:center!important;
  overflow:hidden!important;
  padding:24px!important;
  overscroll-behavior:none!important;
  touch-action:none!important;
  background:transparent!important;
  contain:none!important;
}
.fifa-detail-modal.open{
  display:grid!important;
}
.fifa-detail-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  background:rgba(3,6,10,.58)!important;
  backdrop-filter:blur(12px) saturate(115%)!important;
  -webkit-backdrop-filter:blur(12px) saturate(115%)!important;
  transform:translateZ(0);
  touch-action:none!important;
}
.fifa-detail-panel{
  position:relative!important;
  z-index:1!important;
  width:min(1040px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  max-height:calc(100dvh - 48px)!important;
  margin:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
.fifa-detail-content{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:calc(100vh - 48px)!important;
  max-height:calc(100dvh - 48px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
@media(max-width:759px){
  .fifa-detail-modal.open{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    padding:0!important;
  }
  .fifa-detail-panel{
    width:100%!important;
    max-height:calc(100vh - max(10px,var(--si)))!important;
    max-height:calc(100dvh - max(10px,var(--si)))!important;
    border-radius:20px 20px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
  }
  .fifa-detail-content{
    max-height:calc(100vh - max(10px,var(--si)))!important;
    max-height:calc(100dvh - max(10px,var(--si)))!important;
  }
}

/* FIFA fast path: lighter first render and smoother strip scrolling */
.fifa-live-section,
.fifa-featured-card,
.fifa-table-card,
.fifa-match-card,
.fifa-match-strip,
.fifa-match-strip-wrap{
  contain:layout paint style!important;
}
.fifa-match-strip{
  scroll-snap-type:none!important;
}
.fifa-team-flag,
.fifa-feature-info,
.fifa-feature-score,
.fifa-table-card,
.fifa-match-card{
  box-shadow:none!important;
}
.fifa-live-section[data-sv-fifa-fast-rendered="1"] .fifa-headline-strip[hidden]{
  display:none!important;
}
.fifa-featured-card-inner,
.fifa-match-card{
  transition:none!important;
}

:root{
  --sv-apple-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif;
}
html,
body,
body *,
button,
input,
select,
textarea{
  font-family:var(--sv-apple-font)!important;
  letter-spacing:0!important;
}
.fifa-match-card.is-result,
.fifa-match-card.is-final,
.fifa-featured-card-inner.is-result,
.fifa-featured-card-inner.is-final{
  border-color:rgba(148,163,184,.24)!important;
  background:var(--fifa-card)!important;
}
.fifa-card-label.is-result,
.fifa-card-label.is-final{
  color:var(--fifa-muted)!important;
}
.fifa-match-card[data-fifa-card-kind="past"]{
  border-color:rgba(148,163,184,.22)!important;
}
.fifa-match-card[data-fifa-card-kind="past"] .fifa-detail-cta{
  color:var(--fifa-muted)!important;
}
@media(max-width:759px){
  .fifa-match-strip{
    gap:8px!important;
    padding-inline:2px!important;
    will-change:scroll-position;
  }
  .fifa-match-card{
    flex-basis:min(76vw,270px)!important;
    min-height:108px!important;
    padding:12px!important;
  }
  .fifa-live-section[data-sv-fifa-fast-rendered="1"] .fifa-match-card{
    content-visibility:auto;
    contain-intrinsic-size:270px 120px;
  }
}

/* FIFA theme/live polish */
html[data-theme="dark"],
html[data-theme="dark"] body{
  background:#000!important;
}
html[data-theme="light"],
html[data-theme="light"] body{
  background:#f7f7f4!important;
}
html[data-theme="dark"] body,
html[data-theme="dark"] nav,
html[data-theme="dark"] nav.solid,
html[data-theme="dark"] nav:not(.solid),
html[data-theme="dark"] .content,
html[data-theme="dark"] #mainSection,
html[data-theme="dark"] .page-intro,
html[data-theme="dark"] .search-overlay,
html[data-theme="dark"] .featured-showcase,
html[data-theme="dark"] .featured-showcase.sv-fifa-hero{
  background:#000!important;
}
html[data-theme="dark"] nav{
  border-bottom-color:rgba(255,255,255,.08)!important;
}
html[data-theme="light"] body,
html[data-theme="light"] .content,
html[data-theme="light"] #mainSection,
html[data-theme="light"] .page-intro,
html[data-theme="light"] .search-overlay,
html[data-theme="light"] .featured-showcase,
html[data-theme="light"] .featured-showcase.sv-fifa-hero{
  background:#f7f7f4!important;
  color:#050507!important;
}
html[data-theme="light"] .search-overlay{
  background:rgba(255,255,255,.98)!important;
}
html[data-theme="dark"] .fifa-live-section{
  --fifa-panel:#000!important;
  background:#000!important;
}
html[data-theme="light"] .fifa-live-section{
  --fifa-panel:#f7f7f4!important;
  background:#f7f7f4!important;
}
.featured-showcase.sv-fifa-hero{
  background-image:none!important;
}
.fifa-live-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:12px!important;
}
.fifa-live-heading{
  justify-self:start!important;
  text-align:left!important;
}
.fifa-live-heading h2{
  text-align:left!important;
}
.fifa-live-timer-slot{
  justify-self:end!important;
  justify-content:flex-end!important;
}

@media(max-width:759px){
  body{
    overflow-x:hidden!important;
  }
  .bottom-nav{
    gap:6px!important;
  }
  html[data-theme="dark"] .bottom-nav{
    background:#000!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.08)!important;
  }
  html[data-theme="light"] .bottom-nav{
    background:rgba(255,255,255,.94)!important;
    border-color:rgba(5,5,7,.12)!important;
    box-shadow:0 18px 42px rgba(15,23,42,.14),inset 0 1px 0 rgba(255,255,255,.85)!important;
  }
  html[data-theme="light"] .bottom-nav .bn-item{
    color:rgba(5,5,7,.68)!important;
  }
  html[data-theme="light"] .bottom-nav .bn-item.active{
    color:#050507!important;
    background:rgba(5,5,7,.08)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 8px 22px rgba(15,23,42,.10)!important;
  }
  .bottom-nav .bn-item{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    text-decoration:none!important;
  }
  .bottom-nav .bn-item:not(.bn-live-match){
    flex:1 1 0!important;
  }
  .bn-live-match{
    position:relative!important;
    flex:2 1 0!important;
    min-width:0!important;
    overflow:hidden!important;
    border:1px solid rgba(34,197,94,.32)!important;
    background:#06140d!important;
    color:#dcfce7!important;
    opacity:1!important;
  }
  html[data-theme="light"] .bn-live-match{
    background:#ecfdf3!important;
    border-color:rgba(22,163,74,.32)!important;
    color:#065f46!important;
  }
  .bn-live-match::before{
    content:""!important;
    position:absolute!important;
    inset:5px!important;
    border-radius:999px!important;
    border:1px solid rgba(34,197,94,.18)!important;
    opacity:.55!important;
    pointer-events:none!important;
  }
  .bn-live-match .bn-icon,
  .bn-live-match .bn-label{
    position:relative;
    z-index:1;
  }
  .bn-live-match .bn-label{
    font-size:.62rem!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }
  html.sv-fifa-match-live .bn-live-match,
  .bn-live-match.is-live{
    border-color:rgba(74,222,128,.72)!important;
    color:#f0fdf4!important;
    animation:svLiveBottomGlow 1.45s ease-in-out infinite!important;
  }
  html[data-theme="light"].sv-fifa-match-live .bn-live-match,
  html[data-theme="light"] .bn-live-match.is-live{
    color:#064e3b!important;
  }
  html.sv-fifa-match-live .bn-live-match::after,
  .bn-live-match.is-live::after{
    content:""!important;
    position:absolute!important;
    inset:-2px!important;
    border-radius:999px!important;
    border:2px solid rgba(34,197,94,.46)!important;
    pointer-events:none!important;
    animation:svLiveBottomRing 1.45s ease-out infinite!important;
  }
  .fifa-live-top{
    grid-template-columns:minmax(0,1fr) max-content!important;
    gap:8px!important;
  }
  .fifa-live-heading h2{
    font-size:clamp(1.05rem,4.2vw,1.35rem)!important;
    line-height:1.04!important;
  }
  .fifa-live-header-timer{
    min-height:34px!important;
    padding:7px 9px!important;
    font-size:.72rem!important;
    white-space:nowrap!important;
  }
  .fifa-match-strip-wrap{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"strip strip" "prev next"!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    align-items:center!important;
  }
  .fifa-match-strip{
    grid-area:strip!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
    padding:10px 2px 4px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:2px!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);
  }
  .fifa-match-card{
    flex:0 0 calc(100% - 4px)!important;
    width:calc(100% - 4px)!important;
    min-width:calc(100% - 4px)!important;
    min-height:124px!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    border-radius:18px!important;
    padding:13px!important;
  }
  .fifa-match-card .fifa-team-line > span{
    font-size:1rem!important;
  }
  .fifa-match-nav{
    position:static!important;
    width:58px!important;
    height:42px!important;
    border-radius:999px!important;
    font-size:1.65rem!important;
    justify-self:center!important;
    align-self:center!important;
    z-index:2!important;
  }
  .fifa-match-nav-prev{
    grid-area:prev!important;
    justify-self:end!important;
  }
  .fifa-match-nav-next{
    grid-area:next!important;
    justify-self:start!important;
  }
}

@keyframes svLiveBottomGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,.18),0 10px 26px rgba(0,0,0,.38)}
  50%{box-shadow:0 0 0 5px rgba(34,197,94,.22),0 0 28px rgba(34,197,94,.30),0 10px 26px rgba(0,0,0,.38)}
}
@keyframes svLiveBottomRing{
  0%{opacity:.75;transform:scale(.96)}
  100%{opacity:0;transform:scale(1.14)}
}

/* FIFA logo/mobile polish */
.logo img,
.channel-logo,
.live-ch-card .channel-logo,
.channel-card .channel-logo{
  opacity:1!important;
  visibility:visible!important;
  content-visibility:visible!important;
  object-fit:contain!important;
  object-position:center!important;
}
.logo img{
  min-width:0;
  min-height:0;
}
.live-ch-card .channel-logo,
.channel-card .channel-logo{
  image-rendering:auto;
}
.fifa-headline-strip{
  gap:10px!important;
  padding:8px 0 4px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.fifa-headline-item,
.fifa-headline-item:nth-child(n+3),
.fifa-headline-item:nth-child(n+5){
  display:inline-flex!important;
  align-items:center!important;
  min-height:44px!important;
  max-width:min(560px,88vw)!important;
  padding:11px 16px!important;
  border-radius:999px!important;
  font-size:.9rem!important;
  line-height:1.18!important;
  gap:10px!important;
}
.fifa-headline-item b{
  font-size:.78rem!important;
}
.fifa-headline-item span,
.fifa-headline-item em{
  font-size:.9rem!important;
  line-height:1.18!important;
}

@media(max-width:759px){
  .fifa-live-section{
    font-size:16px!important;
  }
  .fifa-live-heading h2{
    font-size:clamp(1.18rem,4.8vw,1.55rem)!important;
  }
  .fifa-live-header-timer{
    min-height:38px!important;
    padding:8px 11px!important;
    font-size:.86rem!important;
  }
  .fifa-featured-card .fifa-featured-card-inner,
  .fifa-featured-card-inner{
    padding:14px!important;
    gap:10px!important;
  }
  .fifa-feature-scoreboard{
    grid-template-columns:minmax(0,1fr) minmax(74px,auto) minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    text-align:initial!important;
    width:100%!important;
    max-width:100%!important;
  }
  .fifa-feature-team,
  .fifa-feature-team-home,
  .fifa-feature-team-away{
    min-width:0!important;
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:clamp(1.02rem,4.1vw,1.22rem)!important;
    line-height:1.08!important;
  }
  .fifa-feature-team-away{
    justify-content:flex-end!important;
    text-align:right!important;
  }
  .fifa-feature-team .fifa-team-name,
  .fifa-feature-team-away .fifa-team-name{
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    gap:6px!important;
    text-align:inherit!important;
  }
  .fifa-feature-team-home .fifa-team-name{
    justify-content:flex-start!important;
  }
  .fifa-feature-team-away .fifa-team-name{
    justify-content:flex-end!important;
  }
  .fifa-feature-team .fifa-team-name > span:last-child,
  .fifa-feature-team-away .fifa-team-name > span:last-child{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    text-align:inherit!important;
  }
  .fifa-feature-team .fifa-team-flag,
  .fifa-feature-team .fifa-team-flag-stack{
    width:23px!important;
    height:23px!important;
    flex-basis:23px!important;
  }
  .fifa-feature-score{
    justify-self:center!important;
    min-width:74px!important;
    padding:8px 9px!important;
    border-radius:15px!important;
    font-size:clamp(1.22rem,5vw,1.48rem)!important;
  }
  .fifa-feature-score span{
    min-width:24px!important;
  }
  .fifa-feature-meta,
  .fifa-match-meta{
    font-size:.92rem!important;
    line-height:1.26!important;
  }
  .fifa-card-label{
    font-size:.82rem!important;
    gap:7px!important;
  }
  .fifa-match-card{
    min-height:132px!important;
    padding:14px!important;
  }
  .fifa-match-card .fifa-team-line > span{
    font-size:1.1rem!important;
  }
  .fifa-match-card .fifa-team-line strong{
    width:40px!important;
    height:34px!important;
    font-size:1.08rem!important;
  }
  .fifa-detail-cta{
    font-size:.9rem!important;
  }
  .fifa-headline-strip{
    gap:10px!important;
    padding:9px 1px 5px!important;
  }
  .fifa-headline-item,
  .fifa-headline-item:nth-child(n+3),
  .fifa-headline-item:nth-child(n+5){
    min-height:46px!important;
    max-width:86vw!important;
    padding:12px 15px!important;
    font-size:.92rem!important;
  }
  .fifa-headline-item b{
    font-size:.8rem!important;
  }
  .fifa-headline-item span,
  .fifa-headline-item em{
    font-size:.92rem!important;
  }
}

/* Mobile FIFA readability + bottom nav font bump */
@media(max-width:759px){
  .fifa-live-section{
    font-size:16px!important;
  }
  .fifa-live-heading h2{
    font-size:clamp(1.3rem,5.5vw,1.68rem)!important;
    line-height:1.08!important;
  }
  .fifa-card-label,
  .fifa-match-meta,
  .fifa-feature-meta,
  .fifa-feed-state,
  .fifa-feed-updated,
  .fifa-feature-provider-note,
  .fifa-provider-note{
    font-size:.95rem!important;
    line-height:1.3!important;
  }
  .fifa-live-header-timer,
  .fifa-feature-timer{
    min-height:38px!important;
    font-size:.98rem!important;
    line-height:1!important;
  }
  .fifa-feature-team,
  .fifa-feature-team-home,
  .fifa-feature-team-away{
    font-size:clamp(1.1rem,4.7vw,1.34rem)!important;
    line-height:1.12!important;
  }
  .fifa-team-line > span,
  .fifa-match-card .fifa-team-line > span{
    font-size:clamp(1.12rem,4.6vw,1.28rem)!important;
    line-height:1.1!important;
  }
  .fifa-feature-score{
    min-width:clamp(76px,21vw,94px)!important;
    font-size:clamp(1.38rem,5.8vw,1.72rem)!important;
  }
  .fifa-team-line strong,
  .fifa-match-card .fifa-team-line strong{
    width:clamp(40px,11.5vw,48px)!important;
    height:clamp(34px,10vw,40px)!important;
    font-size:clamp(1.14rem,4.7vw,1.3rem)!important;
  }
  .fifa-feature-info b,
  .fifa-table-head,
  .fifa-detail-standings-head{
    font-size:.84rem!important;
    line-height:1.2!important;
  }
  .fifa-feature-info strong,
  .fifa-table-row,
  .fifa-detail-info strong,
  .fifa-stat-values strong,
  .fifa-player-row,
  .fifa-detail-standings-row{
    font-size:.96rem!important;
    line-height:1.3!important;
  }
  .fifa-headline-item,
  .fifa-headline-item:nth-child(n+3),
  .fifa-headline-item:nth-child(n+5){
    font-size:.96rem!important;
    line-height:1.22!important;
  }
  .fifa-headline-item b{
    font-size:.84rem!important;
  }
  .fifa-headline-item span,
  .fifa-headline-item em{
    font-size:.96rem!important;
    line-height:1.22!important;
  }
  .fifa-detail-panel{
    font-size:16px!important;
  }
  .fifa-detail-title-wrap h3{
    font-size:clamp(1.1rem,4.6vw,1.38rem)!important;
    line-height:1.15!important;
  }
  .fifa-detail-team{
    font-size:clamp(1rem,4.1vw,1.16rem)!important;
    line-height:1.14!important;
  }
  .fifa-detail-score{
    font-size:clamp(1.38rem,6vw,1.76rem)!important;
  }
  .fifa-detail-score span{
    min-width:40px!important;
    height:40px!important;
  }
  .fifa-detail-meta-row,
  .fifa-detail-source,
  .fifa-detail-tab,
  .fifa-detail-notice,
  .fifa-detail-loading,
  .fifa-detail-empty,
  .fifa-detail-context span,
  .fifa-detail-scorers span,
  .fifa-detail-info span,
  .fifa-lineup-label,
  .fifa-lineup-coach,
  .fifa-stat-values span,
  .fifa-event-team,
  .fifa-event-player,
  .fifa-event-row p{
    font-size:.96rem!important;
    line-height:1.35!important;
  }
  .fifa-detail-cta,
  .fifa-match-nav{
    font-size:.98rem!important;
  }
  .bottom-nav{
    height:78px!important;
    min-height:78px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:7px 6px!important;
  }
  .bottom-nav .bn-item{
    min-height:58px!important;
    min-width:0!important;
    gap:5px!important;
    padding:7px 3px!important;
    line-height:1.05!important;
  }
  .bottom-nav .bn-item:not(.bn-live-match){
    flex:1 1 0!important;
    width:auto!important;
  }
  .bn-icon svg{
    width:24px!important;
    height:24px!important;
  }
  .bn-label{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:clamp(.7rem,2.9vw,.78rem)!important;
    line-height:1.05!important;
    font-weight:850!important;
    letter-spacing:0!important;
  }
  .bottom-nav .bn-live-match{
    flex:1.5 1 0!important;
    min-width:94px!important;
    max-width:132px!important;
    min-height:58px!important;
    gap:5px!important;
    padding:7px 8px!important;
  }
  .bottom-nav .bn-live-match .bn-label{
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:clamp(.68rem,2.7vw,.74rem)!important;
  }
}
@media(max-width:380px){
  .fifa-live-heading h2{
    font-size:1.28rem!important;
  }
  .fifa-feature-scoreboard{
    grid-template-columns:minmax(0,1fr) minmax(72px,auto) minmax(0,1fr)!important;
    gap:6px!important;
  }
  .fifa-feature-team,
  .fifa-feature-team-home,
  .fifa-feature-team-away{
    font-size:1.08rem!important;
  }
  .fifa-feature-score{
    min-width:72px!important;
    padding:7px 8px!important;
    font-size:1.32rem!important;
  }
  .fifa-card-label,
  .fifa-match-meta,
  .fifa-feature-meta{
    font-size:.9rem!important;
  }
  .fifa-match-card .fifa-team-line > span{
    font-size:1.12rem!important;
  }
  .fifa-match-card .fifa-team-line strong{
    width:40px!important;
    height:34px!important;
    font-size:1.12rem!important;
  }
  .fifa-detail-score span{
    min-width:38px!important;
    height:38px!important;
  }
  .bottom-nav{
    height:76px!important;
    min-height:76px!important;
    gap:4px!important;
    padding:6px 5px!important;
  }
  .bottom-nav .bn-item{
    gap:4px!important;
    padding:6px 2px!important;
  }
  .bn-icon svg{
    width:22px!important;
    height:22px!important;
  }
  .bn-label{
    font-size:.68rem!important;
  }
  .bottom-nav .bn-live-match{
    min-width:88px!important;
    max-width:118px!important;
    gap:4px!important;
    padding:7px 6px!important;
  }
  .bottom-nav .bn-live-match .bn-label{
    font-size:.66rem!important;
  }
}

/* FIFA light contrast + mobile Live Match pill */
html[data-theme="dark"] .fifa-live-section{
  --fifa-panel:#000!important;
  --fifa-card:#101318!important;
  --fifa-card-soft:#171b21!important;
  --fifa-text:#f7f8fa!important;
  --fifa-muted:#a0a8a2!important;
  --fifa-border:rgba(255,255,255,.11)!important;
  --fifa-border-strong:rgba(255,255,255,.17)!important;
  --fifa-pill:#151a20!important;
  --fifa-score-bg:#f7f8fa!important;
  --fifa-score-text:#050607!important;
  --fifa-live:#22c55e!important;
  --fifa-live-soft:rgba(34,197,94,.12)!important;
}
html[data-theme="light"] .fifa-live-section{
  --fifa-panel:#f7f7f4!important;
  --fifa-card:#ffffff!important;
  --fifa-card-soft:#eef4f0!important;
  --fifa-text:#101411!important;
  --fifa-muted:#4f5c55!important;
  --fifa-border:rgba(16,24,20,.14)!important;
  --fifa-border-strong:rgba(16,24,20,.22)!important;
  --fifa-pill:#edf4ef!important;
  --fifa-score-bg:#111611!important;
  --fifa-score-text:#ffffff!important;
  --fifa-live:#15803d!important;
  --fifa-live-soft:rgba(22,163,74,.12)!important;
  background:var(--fifa-panel)!important;
  color:var(--fifa-text)!important;
}
html[data-theme="light"] .fifa-live-section .fifa-featured-card,
html[data-theme="light"] .fifa-live-section .fifa-table-card,
html[data-theme="light"] .fifa-live-section .fifa-match-card{
  background:var(--fifa-card)!important;
  border-color:var(--fifa-border)!important;
  color:var(--fifa-text)!important;
}
html[data-theme="light"] .fifa-live-section .fifa-featured-card.is-live,
html[data-theme="light"] .fifa-live-section .fifa-featured-card.is-live-featured,
html[data-theme="light"] .fifa-live-section .fifa-match-card.is-live{
  background:var(--fifa-card)!important;
  border-color:rgba(22,163,74,.34)!important;
}
html[data-theme="light"] .fifa-live-section .fifa-featured-card.is-live .fifa-featured-card-inner,
html[data-theme="light"] .fifa-live-section .fifa-featured-card.is-live-featured .fifa-featured-card-inner,
html[data-theme="light"] .fifa-live-section .fifa-featured-card-inner.is-live{
  background:var(--fifa-live-soft)!important;
}
html[data-theme="light"] .fifa-live-section .fifa-feature-info{
  background:var(--fifa-card-soft)!important;
  border-color:var(--fifa-border)!important;
  color:var(--fifa-text)!important;
}
html[data-theme="light"] .fifa-live-section .fifa-feature-info.is-event{
  background:var(--fifa-live-soft)!important;
  border-color:rgba(22,163,74,.28)!important;
}
html[data-theme="light"] .fifa-live-section .fifa-feature-score,
html[data-theme="light"] .fifa-live-section .fifa-team-line strong{
  background:var(--fifa-score-bg)!important;
  color:var(--fifa-score-text)!important;
  border-color:rgba(17,22,17,.18)!important;
}
html[data-theme="light"] .fifa-live-section .fifa-feature-score b{
  color:rgba(255,255,255,.58)!important;
}
html[data-theme="light"] .fifa-live-section :is(
  .fifa-live-heading h2,
  .fifa-table-title,
  .fifa-table-row,
  .fifa-team-line > span,
  .fifa-feature-team,
  .fifa-team-name,
  .fifa-feature-info strong,
  .fifa-headline-item,
  .fifa-headline-item span,
  .fifa-empty-title,
  .fifa-detail-cta
){
  color:var(--fifa-text)!important;
}
html[data-theme="light"] .fifa-live-section :is(
  .fifa-kicker,
  .fifa-card-label,
  .fifa-card-label span:last-child,
  .fifa-match-meta,
  .fifa-feature-meta,
  .fifa-table-head,
  .fifa-table-row span:first-child b,
  .fifa-feed-state,
  .fifa-feed-updated,
  .fifa-headline-item em,
  .fifa-feature-info b,
  .fifa-feature-provider-note,
  .fifa-provider-note
){
  color:var(--fifa-muted)!important;
}
html[data-theme="light"] .fifa-live-section :is(.fifa-card-label.is-live,.fifa-headline-item b,.fifa-table-row strong){
  color:var(--fifa-live)!important;
}
html[data-theme="light"] .fifa-live-section :is(.fifa-feed-state,.fifa-feed-updated,.fifa-headline-item,.fifa-detail-cta){
  background:var(--fifa-pill)!important;
  border-color:var(--fifa-border)!important;
}
html[data-theme="light"] .fifa-live-section :is(.fifa-headline-item:hover,.fifa-headline-item:focus-visible){
  background:#e1f3e7!important;
  color:var(--fifa-text)!important;
}

@media(max-width:759px){
  .bottom-nav{
    justify-content:center!important;
    gap:6px!important;
  }
  .bottom-nav .bn-item:not(.bn-live-match){
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
  }
  .bottom-nav .bn-live-match{
    flex:2 1 0!important;
    width:auto!important;
    min-width:clamp(104px,36%,136px)!important;
    min-height:58px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    padding:7px 12px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
  }
  .bottom-nav .bn-live-match .bn-icon{
    flex:0 0 auto!important;
  }
  .bottom-nav .bn-live-match .bn-label{
    min-width:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
}

/* Premium video player controls */
.player-wrap.premium-player{
  --player-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;
  --player-accent:#22c55e;
  --player-accent-strong:#16a34a;
  font-family:var(--player-font);
}
.player-wrap.premium-player,
.player-wrap.premium-player button,
.player-wrap.premium-player input,
.player-wrap.premium-player .player-dropdown,
.player-wrap.premium-player .spd-series,
.player-wrap.premium-player .progress-preview{
  font-family:var(--player-font);
}
.player-wrap.premium-player:not(.show-cursor),
.player-wrap.premium-player:not(.show-cursor) .player-tap-zone{
  cursor:none;
}
.player-wrap.premium-player .player-ui{
  background:
    linear-gradient(to bottom,rgba(0,0,0,.68) 0%,rgba(0,0,0,.26) 16%,transparent 42%),
    linear-gradient(to top,rgba(0,0,0,.70) 0%,rgba(0,0,0,.32) 18%,transparent 48%);
  transition:opacity .18s ease,visibility .18s ease;
}
.player-wrap.premium-player .player-ui.hidden{
  opacity:0;
  visibility:hidden;
}
.player-wrap.premium-player .player-top{
  padding:calc(var(--si) + 18px) calc(24px + var(--sr)) 12px calc(24px + var(--sl));
}
.player-wrap.premium-player .player-back,
.player-wrap.premium-player .skip-btn,
.player-wrap.premium-player .play-pause-center{
  background:rgba(12,14,18,.76);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:background .1s linear,border-color .1s linear,color .1s linear;
}
.player-wrap.premium-player .player-back:hover,
.player-wrap.premium-player .skip-btn:hover,
.player-wrap.premium-player .play-pause-center:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.24);
  transform:none;
}
.player-wrap.premium-player .skip-center{
  flex-direction:row;
  gap:16px;
  align-items:center;
  justify-content:center;
}
.player-wrap.premium-player .skip-btn{
  width:44px;
  height:44px;
  font-size:0;
}
.player-wrap.premium-player .skip-btn svg{
  width:22px;
  height:22px;
}
.player-wrap.premium-player .skip-btn span{
  display:none!important;
}
.player-wrap.premium-player .play-pause-center{
  width:54px;
  height:54px;
}
.player-wrap.premium-player .play-pause-center svg{
  width:24px;
  height:24px;
}
.player-wrap.premium-player .player-title{
  font-size:clamp(.92rem,1.4vw,1.1rem);
  letter-spacing:0;
  text-shadow:0 1px 8px rgba(0,0,0,.62);
  font-family:var(--player-font);
}
.player-wrap.premium-player .player-subtitle-title{
  color:rgba(255,255,255,.66);
  font-family:var(--player-font);
}
.player-wrap.premium-player .player-bottom{
  margin:0 calc(22px + var(--sr)) calc(var(--sb) + 20px) calc(22px + var(--sl));
  padding:10px 12px 11px;
  overflow:visible;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(10,12,16,.82);
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.player-wrap.premium-player .player-progress-row{
  margin:0 2px 6px;
  position:relative;
  z-index:2;
  overflow:visible;
}
.player-wrap.premium-player .progress-wrap{
  height:24px;
  margin:0;
  overflow:visible;
  touch-action:none;
}
.player-wrap.premium-player .progress-track{
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);
}
.player-wrap.premium-player .progress-wrap:hover .progress-track,
.player-wrap.premium-player .progress-wrap.dragging .progress-track{
  height:5px;
}
.player-wrap.premium-player .progress-buffered{
  background:rgba(255,255,255,.28);
}
.player-wrap.premium-player .progress-played{
  background:linear-gradient(90deg,var(--player-accent-strong),var(--player-accent));
  box-shadow:none;
}
.player-wrap.premium-player .progress-thumb{
  width:14px;
  height:14px;
  background:#fff;
  box-shadow:none;
}
.player-wrap.premium-player .progress-tooltip{
  display:none;
}
.player-wrap.premium-player .player-ui.hidden .player-bottom{
  visibility:visible;
  pointer-events:none;
}
.player-wrap.premium-player .player-ui.hidden .progress-wrap{
  visibility:visible;
  pointer-events:auto;
}
.progress-preview{
  display:block;
  position:fixed;
  top:0;
  left:0;
  min-width:74px;
  padding:6px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(9,11,15,.94);
  box-shadow:none;
  color:#fff;
  opacity:0;
  visibility:hidden;
  transform:translate(-50%,0);
  transform-origin:center bottom;
  pointer-events:none;
  transition:none;
  z-index:2147483647;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.progress-preview.show{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.progress-preview-time{
  padding:0;
  text-align:center;
  font-size:.76rem;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
  font-family:var(--player-font);
}
.player-wrap.premium-player .controls-row{
  gap:6px;
  overflow-x:auto;
  overflow-y:visible;
  padding:0;
  min-width:0;
}
.player-wrap.premium-player .ctrl{
  min-height:38px;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.84);
  border-radius:999px;
  padding:7px 10px;
  transition:background .1s linear,border-color .1s linear,color .1s linear;
  font-family:var(--player-font);
}
.player-wrap.premium-player .ctrl:hover,
.player-wrap.premium-player .ctrl:focus-visible{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.25);
  color:#fff;
  outline:none;
}
.player-wrap.premium-player .ctrl:active{
  transform:none;
}
.player-wrap.premium-player .ctrl.active{
  color:#fff;
  background:rgba(34,197,94,.20);
  border-color:rgba(34,197,94,.55);
  box-shadow:none;
}
.player-wrap.premium-player .ctrl svg{
  width:19px;
  height:19px;
}
.player-wrap.premium-player .ctrl-icon-only{
  width:38px;
  min-width:38px;
  padding:7px;
  justify-content:center;
}
.player-wrap.premium-player .ctrl-sep{
  height:24px;
  background:rgba(255,255,255,.12);
  margin:0 2px;
}
.player-wrap.premium-player .vol-wrap{
  gap:8px;
}
.player-wrap.premium-player .vol-slider{
  width:96px;
  height:5px;
  background:rgba(255,255,255,.22);
}
.player-wrap.premium-player .vol-slider::-webkit-slider-thumb{
  width:15px;
  height:15px;
}
.player-wrap.premium-player .vol-slider::-moz-range-thumb{
  width:15px;
  height:15px;
}
.player-wrap.premium-player .time-display{
  display:inline-flex!important;
  align-items:center;
  gap:0;
  flex:0 0 auto;
  min-width:max-content;
  color:rgba(255,255,255,.74);
  font-size:.78rem;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  line-height:1;
  font-family:var(--player-font);
}
.player-wrap.live-player .time-display{
  color:var(--player-accent);
  font-weight:800;
  letter-spacing:.02em;
}
.player-wrap.live-player .time-display::before{
  content:'';
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  margin-right:7px;
  background:var(--player-accent);
}
.player-wrap.live-player .progress-wrap,
.player-wrap.live-player .series-player-bar,
.player-wrap.live-player .sub-tool,
.player-wrap.live-player .audio-tool,
.player-wrap.live-player .speed-tool,
.player-wrap.live-player .ctrl-sep:not(.vol-sep):not(.fs-sep){
  display:none!important;
}
.player-wrap.live-player:not(.has-live-captions) .sub-tool{
  display:none!important;
}
.player-wrap.live-player.has-live-captions .sub-tool{
  display:none!important;
}
.player-wrap.live-player.has-live-captions .tool-sep{
  display:none!important;
}
.player-wrap.live-player .player-bottom{
  max-width:min(620px,calc(100vw - 44px - var(--sl) - var(--sr)));
  margin-left:auto;
  margin-right:auto;
}
.player-wrap.live-player .controls-row{
  justify-content:center;
}
.player-wrap.live-player .spacer{
  flex:0 1 28px;
}
.player-dropdown,
.spd-series{
  background:rgba(12,14,19,.94)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif!important;
}
.pd-header,
.spd-series-season-header{
  color:rgba(255,255,255,.5)!important;
  background:rgba(12,14,19,.94)!important;
}
.pd-item,
.spd-series-item{
  color:rgba(255,255,255,.72)!important;
}
.pd-item:hover,
.spd-series-item:hover{
  background:rgba(255,255,255,.09)!important;
  color:#fff!important;
}
.pd-item.active,
.spd-series-item.active{
  color:#fff!important;
  background:rgba(34,197,94,.16)!important;
}
.pd-item.disabled{
  color:rgba(255,255,255,.38)!important;
  background:transparent!important;
  cursor:default!important;
  pointer-events:none!important;
}
.pd-item.disabled:hover{
  color:rgba(255,255,255,.38)!important;
  background:transparent!important;
}
@media(max-width:639px){
  .player-wrap.premium-player .player-top{
    padding:calc(12px + var(--si)) calc(14px + var(--sr)) 8px calc(14px + var(--sl));
  }
  .player-wrap.premium-player .player-bottom{
    margin:0 calc(10px + var(--sr)) calc(var(--sb) + 10px) calc(10px + var(--sl));
    padding:10px;
    border-radius:12px;
  }
  .player-wrap.premium-player .skip-center{
    flex-direction:row;
    gap:14px;
    align-items:center;
    justify-content:center;
  }
  .player-wrap.premium-player .skip-btn{
    width:42px;
    height:42px;
  }
  .player-wrap.premium-player .play-pause-center{
    width:50px;
    height:50px;
  }
  .player-wrap.premium-player .controls-row{
    justify-content:center;
    gap:6px;
  }
  .player-wrap.premium-player .ctrl{
    min-height:38px;
    padding:7px 9px;
    font-size:.72rem;
  }
  .player-wrap.premium-player .ctrl-icon-only{
    width:38px;
    min-width:38px;
  }
  .player-wrap.premium-player .ctrl svg{
    width:19px;
    height:19px;
  }
  .player-wrap.premium-player .vol-wrap{
    display:flex;
  }
  .player-wrap.premium-player .vol-slider{
    display:none;
  }
  .player-wrap.premium-player .progress-wrap{
    height:24px;
    margin-bottom:0;
  }
  .player-wrap.premium-player .player-progress-row{
    margin-bottom:6px;
  }
  .progress-preview{
    min-width:70px;
    bottom:calc(100% + 10px);
  }
  .player-wrap.premium-player #subLabel,
  .player-wrap.premium-player #audioLabel,
  .player-wrap.premium-player #speedLabel{
    max-width:58px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(max-width:430px){
  .player-wrap.premium-player .controls-row{
    gap:5px;
  }
  .player-wrap.premium-player .ctrl{
    padding:7px;
  }
  .player-wrap.premium-player .skip-center{
    flex-direction:row;
    gap:12px;
    align-items:center;
    justify-content:center;
  }
  .player-wrap.premium-player .skip-btn{
    width:40px;
    height:40px;
  }
  .player-wrap.premium-player .play-pause-center{
    width:48px;
    height:48px;
  }
  .player-wrap.premium-player .ctrl svg{
    width:18px;
    height:18px;
  }
  .player-wrap.premium-player #subLabel,
  .player-wrap.premium-player #audioLabel,
  .player-wrap.premium-player #speedLabel{
    max-width:44px;
  }
  .progress-preview{
    min-width:66px;
  }
}

/* Shared website section spacing */
:root{
  --sv-section-gap:.95rem;
  --sv-section-header-gap:6px;
  --sv-section-flow-gap:8px;
  --sv-section-track-extra:8px;
}
.sv-section-spacing{
  margin-block-end:var(--sv-section-gap);
}
.sv-section-header-spacing{
  margin-block-end:var(--sv-section-header-gap);
}
#mainSection > .row,
.content > .row,
.library-groups > section{
  margin-bottom:var(--sv-section-gap)!important;
}
#mainSection > .row:last-child,
.content > .row:last-child,
.library-groups > section:last-child{
  margin-bottom:0!important;
}
.featured-showcase,
.featured-showcase.sv-fifa-hero{
  margin-bottom:var(--sv-section-gap)!important;
}
.row-header,
.featured-showcase .row-header,
#liveHomeRow .row-header,
.movies-header,
.live-section-header,
.search-page-header,
.library-header,
.section-page-header,
.downloads-header{
  margin-bottom:var(--sv-section-header-gap)!important;
}
#mainSection > .row > .cards-track,
.content > .row > .cards-track{
  height:calc(var(--card-h) + var(--sv-section-track-extra))!important;
  padding-top:2px!important;
  padding-bottom:4px!important;
}
#marvelTrack,
#dcTrack,
#mainSection #marvelRow #marvelTrack,
#mainSection #dcRow #dcTrack{
  height:calc(var(--card-h) + var(--sv-section-track-extra))!important;
  max-height:calc(var(--card-h) + var(--sv-section-track-extra))!important;
  padding-top:2px!important;
  padding-bottom:4px!important;
}
#mainSection #marvelRow #marvelTrack .card,
#mainSection #dcRow #dcTrack .card{
  flex:0 0 var(--card-w)!important;
  width:var(--card-w)!important;
  min-width:var(--card-w)!important;
  max-width:var(--card-w)!important;
  height:var(--card-h)!important;
  min-height:var(--card-h)!important;
  max-height:var(--card-h)!important;
}
.live-home-track{
  padding-top:2px!important;
  padding-bottom:4px!important;
}
.featured-track,
#heroCards.featured-track,
#heroCards.sv-featured-poster-track,
.library-row,
.sm-related-track,
.detail-related-track{
  padding-top:2px!important;
  padding-bottom:4px!important;
}
.movies-filters,
.live-cats,
.search-heading,
.library-section-subtitle,
.downloads-search-bar,
.downloads-filter-chips,
.downloads-warning,
.active-filters{
  margin-bottom:var(--sv-section-flow-gap)!important;
}
.library-groups{
  gap:var(--sv-section-gap)!important;
}
.load-more-wrap,
.section-load-more{
  margin-top:var(--sv-section-gap)!important;
  padding-top:0!important;
}
@media(max-width:759px){
  :root{
    --sv-section-gap:.85rem;
    --sv-section-flow-gap:8px;
    --sv-section-track-extra:6px;
  }
  #mainSection > #liveHomeRow,
  #mainSection > #marvelRow,
  #mainSection > #dcRow{
    margin-bottom:var(--sv-section-gap)!important;
  }
  .featured-showcase.sv-fifa-hero{
    margin-bottom:var(--sv-section-gap)!important;
  }
  .cards-track,
  .live-home-track,
  .featured-track,
  #heroCards.featured-track,
  #heroCards.sv-featured-poster-track,
  .library-row,
  .sm-related-track,
  .detail-related-track{
    padding-bottom:4px!important;
  }
}

.detail-modal,
.series-modal{
  max-width:100vw!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:100dvh;
  max-height:100dvh;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:none;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
}
.detail-modal.open,
.series-modal.open{
  display:block!important;
}
.detail-body,
.series-modal-inner,
.detail-hero,
.sm-hero,
.detail-hero-content,
.sm-info,
.detail-section,
.sm-related{
  flex:0 0 auto!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden;
  overflow-y:visible!important;
}
.ep-grid{
  max-height:none!important;
  overflow:visible!important;
}
.detail-related-track,
.sm-related-track,
.series-modal .season-tabs{
  max-width:100%!important;
  overscroll-behavior-x:contain;
}
@media(max-width:759px){
  .detail-modal .detail-related-track,
  .series-modal .sm-related-track,
  .series-modal .season-tabs{
    width:100%!important;
    max-width:100vw!important;
  }
}

/* Single-flow detail pages: hero, episodes, metadata, and related content share one scroll container. */
.series-modal.open{
  display:block!important;
}
.series-modal{
  flex-direction:initial!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  height:100dvh!important;
  max-height:100dvh!important;
  scroll-behavior:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.series-modal :is(.sm-hero,.series-modal-inner,.sm-tabs-row,.ep-grid,.detail-section,.metadata-grid,.detail-related-track){
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:auto!important;
}
.series-modal .sm-hero{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-height:clamp(520px,72vh,760px)!important;
  height:auto!important;
  overflow:hidden!important;
}
.series-modal .sm-info{
  position:relative!important;
  inset:auto!important;
  min-height:clamp(520px,72vh,760px)!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  padding:calc(84px + var(--si)) 5% 42px!important;
  overflow:visible!important;
}
.series-modal .series-modal-inner{
  display:block!important;
  width:min(1120px,100%)!important;
  margin:0 auto!important;
  padding:0 5% calc(42px + var(--bnav-h))!important;
  overflow:visible!important;
}
.series-modal .sm-tabs-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:28px 0 0!important;
  overflow:visible!important;
}
.series-modal .season-tabs{
  flex:0 1 auto!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.series-modal .ep-grid{
  display:grid!important;
  max-height:none!important;
  overflow:visible!important;
  padding:20px 0 0!important;
}
@media(max-width:639px){
  .series-modal .sm-hero,
  .series-modal .sm-info{
    min-height:auto!important;
  }
  .series-modal .sm-info{
    padding:calc(72px + var(--si)) 5% 30px!important;
  }
  .series-modal .series-modal-inner{
    padding-left:calc(var(--sv-mobile-pad) + var(--sl))!important;
    padding-right:calc(var(--sv-mobile-pad) + var(--sr))!important;
  }
  .series-modal .sm-tabs-row{
    padding-top:20px!important;
  }
}

/* Lightweight, single-scroll media details. The modal is the only vertical scroller. */
.detail-modal,
.series-modal{
  display:none;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.detail-modal.open,
.series-modal.open{
  display:block!important;
}
.detail-modal :is(.detail-hero,.detail-body,.detail-section,.metadata-grid,.detail-related-track),
.series-modal :is(.sm-hero,.series-modal-inner,.sm-tabs-row,.ep-grid,.detail-section,.metadata-grid,.detail-related-track){
  max-height:none!important;
  overflow-y:visible!important;
}
.detail-modal .detail-body,
.series-modal .series-modal-inner{
  display:block!important;
  position:relative!important;
  overflow:visible!important;
}
.detail-modal .detail-section,
.series-modal .detail-section,
.detail-modal .metadata-grid,
.series-modal .metadata-grid,
.series-modal .sm-tabs-row,
.series-modal .ep-grid{
  overflow:visible!important;
}
.detail-modal .detail-section,
.series-modal .detail-section{
  content-visibility:auto;
  contain-intrinsic-size:1px 360px;
}
.detail-modal .detail-hero,
.series-modal .sm-hero{
  content-visibility:visible!important;
}

/* Media details are document pages: window scrolls, inner wrappers never do. */
body.detail-page-open{
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.detail-modal,
.series-modal{
  position:absolute!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  height:auto!important;
  min-height:100dvh!important;
  max-height:none!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  touch-action:auto!important;
}
.detail-modal .detail-hero,
.series-modal .sm-hero{
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
}
.detail-modal .detail-body,
.series-modal .series-modal-inner,
.detail-modal .detail-hero-content,
.series-modal .sm-info{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
