
:root{
  --bg:#141414;
  --bg-soft:#1a1a1a;
  --card:#202020;
  --elevated:#2a2a2a;
  --text:#fff;
  --muted:#a8a8a8;
  --brand:#e50914;
  --brand-2:#e50914;
  --line:rgba(255,255,255,.12);
  --shadow:0 18px 48px rgba(0,0,0,.45);
  --radius:12px;
  --ease:220ms ease;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;background:radial-gradient(circle at 15% -10%,#2a2a2a 0,#141414 45%);color:var(--text)}
body{font-family:Poppins,Arial,sans-serif;line-height:1.45;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
input{outline:none}
.sf-app{padding-top:76px}
.sf-nav{position:fixed;inset:0 0 auto 0;z-index:1000;padding:12px clamp(14px,3vw,38px);background:linear-gradient(to bottom,rgba(0,0,0,.92),rgba(0,0,0,.62),transparent)}
.sf-nav-inner{max-width:1800px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.sf-nav-left,.sf-nav-right{display:flex;align-items:center;gap:18px}
.sf-brand{display:inline-flex;align-items:center;gap:9px;color:var(--brand);font-size:clamp(1.2rem,2vw,1.65rem);font-weight:700;white-space:nowrap}
.sf-icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);transition:background var(--ease),transform var(--ease)}
.sf-icon-btn:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.sf-nav-links{display:flex;gap:20px;color:var(--muted);font-size:.92rem}
.sf-nav-links a:hover,.sf-nav-links a.active{color:#fff}
.sf-global-search{position:relative;display:flex;align-items:center;gap:8px;width:min(260px,24vw);padding:5px 12px;border:1px solid var(--line);background:rgba(255,255,255,.08);border-radius:999px}
.sf-global-search i{color:var(--muted)}
.sf-global-search input{width:100%;border:0;background:transparent}
.sf-global-search input::placeholder{color:#8b8b8b}
.sf-search-results{display:none;position:absolute;right:0;top:52px;width:min(430px,88vw);background:#171717;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow)}
.sf-search-results.open{display:block}
.sf-search-item{display:flex;gap:10px;padding:10px;border-radius:9px}
.sf-search-item:hover{background:rgba(255,255,255,.07)}
.sf-search-item img{width:42px;height:56px;object-fit:cover;border-radius:6px;background:#111}
.sf-search-item .meta{min-width:0}.sf-search-item .title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-search-item .sub{font-size:.78rem;color:var(--muted)}
.sf-account-pill{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.08)}
.sf-account-name{font-size:.84rem;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#e50914,#5c0307);font-weight:700;font-size:.8rem}
.sf-avatar-large{width:44px;height:44px}.sf-avatar-xl{width:96px;height:96px;font-size:2rem;margin:auto}
.sf-overlay{position:fixed;inset:0;background:rgba(0,0,0,.68);opacity:0;visibility:hidden;z-index:1050;transition:opacity var(--ease),visibility var(--ease)}
.sf-overlay.open{opacity:1;visibility:visible}
.sf-drawer{position:fixed;left:0;top:0;width:min(330px,90vw);height:100dvh;background:#111;border-right:1px solid var(--line);z-index:1100;transform:translateX(-100%);transition:transform var(--ease);padding:20px 16px 16px;display:flex;flex-direction:column;gap:18px}
.sf-drawer.open{transform:translateX(0)}
.sf-drawer-head{display:flex;align-items:center;justify-content:space-between}
.sf-drawer-brand{color:var(--brand);font-weight:700;font-size:1.05rem}
.sf-drawer-profile{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04)}
.sf-drawer-profile strong{display:block}.sf-drawer-profile span{color:var(--muted);font-size:.78rem}
.sf-drawer-nav{display:grid;gap:6px}
.sf-drawer-nav a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;color:#ddd}
.sf-drawer-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.sf-drawer-footer{margin-top:auto;display:grid;gap:12px;color:var(--muted)}
.sf-ghost-btn{border:1px solid var(--line);border-radius:9px;padding:10px;color:#ddd;text-align:left}
.sf-page{max-width:1800px;margin:0 auto;padding:0 clamp(16px,3vw,42px) 50px}
.sf-hero{position:relative;min-height:560px;display:flex;align-items:flex-end;overflow:hidden;border-radius:0 0 18px 18px;margin:0 calc(clamp(16px,3vw,42px) * -1)}
.sf-hero-backdrop{position:absolute;inset:0;background:
  radial-gradient(circle at 70% 30%,rgba(229,9,20,.32),transparent 34%),
  linear-gradient(90deg,rgba(0,0,0,.95) 0,rgba(0,0,0,.63) 48%,rgba(0,0,0,.18) 100%),
  linear-gradient(180deg,rgba(0,0,0,.08) 20%,#141414 100%);}
.sf-hero-content{position:relative;z-index:1;max-width:720px;padding:110px clamp(22px,5vw,78px) 72px}
.sf-kicker{font-size:.72rem;letter-spacing:.16em;font-weight:700;color:#e9e9e9;opacity:.88}
.sf-kicker i{color:var(--brand);margin-right:6px}
.sf-hero h1{font-size:clamp(2.7rem,7vw,5.6rem);line-height:1.02;margin:12px 0 18px;letter-spacing:-.04em}
.sf-hero h1 span{color:#d0d0d0}
.sf-hero p{max-width:620px;color:#c0c0c0;font-size:1rem}
.sf-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:0 18px;border-radius:8px;font-weight:600;transition:transform var(--ease),background var(--ease)}
.sf-btn:hover{transform:translateY(-1px)}
.sf-btn-primary{background:#fff;color:#111}.sf-btn-primary:hover{background:#ededed}
.sf-btn-secondary{background:rgba(109,109,110,.65);border:1px solid var(--line)}.sf-btn-secondary:hover{background:rgba(255,255,255,.16)}
.sf-section{margin-top:42px}
.sf-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px}
.sf-section-head.compact{align-items:center}.sf-section-head h2,.sf-page-head h1{font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.1;margin-top:4px}
.sf-see-all{color:#bdbdbd;font-size:.85rem}.sf-see-all:hover{color:#fff}
.sf-row{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}
.sf-card{position:relative;flex:0 0 220px;min-height:126px;background:#222;border-radius:10px;overflow:hidden;cursor:pointer;border:1px solid transparent;transition:transform var(--ease),border-color var(--ease)}
.sf-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.18)}
.sf-card.poster{flex-basis:190px;min-height:280px}
.sf-card img{width:100%;height:100%;display:block;object-fit:cover;background:#101010}
.sf-card .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92),transparent 55%)}
.sf-card .label{position:absolute;left:12px;right:12px;bottom:10px}.sf-card .label strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-card .label span{display:block;color:#c0c0c0;font-size:.75rem;margin-top:2px}
.sf-card .play-mark{position:absolute;right:10px;top:10px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#111;opacity:0;transform:scale(.86);transition:opacity var(--ease),transform var(--ease)}
.sf-card:hover .play-mark{opacity:1;transform:scale(1)}
.sf-skeleton{flex:0 0 220px;height:126px;border-radius:10px;background:linear-gradient(90deg,#1d1d1d,#292929,#1d1d1d);background-size:200% 100%;animation:skeleton 1.2s infinite}
.sf-skeleton.large{height:290px;flex-basis:190px}.sf-skeleton.channel{height:150px}
@keyframes skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sf-browse-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sf-browse-card{min-height:150px;padding:20px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,#242424,#171717);display:flex;align-items:flex-end;justify-content:space-between;gap:12px;transition:transform var(--ease),border-color var(--ease)}
.sf-browse-card:hover{transform:translateY(-3px);border-color:rgba(229,9,20,.45)}
.sf-browse-card i:first-child{color:var(--brand);font-size:1.65rem;margin-bottom:12px}.sf-browse-card h3{font-size:1.05rem}.sf-browse-card p{font-size:.8rem;color:var(--muted);margin-top:3px}.sf-browse-card > i:last-child{color:#777}
.sf-footer{max-width:1800px;margin:auto;padding:24px clamp(16px,3vw,42px) 36px;color:#767676;font-size:.75rem;display:flex;justify-content:space-between;gap:20px}

.sf-page-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:52px 0 26px}.sf-page-head p{color:var(--muted);margin-top:7px}.sf-inline-search{display:flex;align-items:center;gap:9px;width:min(360px,100%);padding:11px 13px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:10px}.sf-inline-search i{color:#888}.sf-inline-search input{width:100%;background:transparent;border:0}
.sf-category-bar{display:flex;gap:8px;overflow:auto;padding:4px 0 16px;scrollbar-width:thin}.sf-category-bar button{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 13px;color:#bbb;background:rgba(255,255,255,.04)}.sf-category-bar button:hover,.sf-category-bar button.active{color:#fff;background:rgba(229,9,20,.15);border-color:rgba(229,9,20,.5)}
.sf-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:14px}.sf-card-grid .sf-card{width:100%;flex-basis:auto;min-height:0;height:280px}.sf-card-grid.channel-grid .sf-card{height:150px}
.sf-empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:#888}.sf-empty i{font-size:2.1rem;color:#666;margin-bottom:12px}.sf-empty h3{color:#ddd;margin-bottom:5px}
.sf-player-page{background:#050505;min-height:100vh}.sf-player-nav{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08);background:#090909}.sf-player-nav-actions{display:flex;gap:8px;flex-wrap:wrap}.sf-nav-pill{border:1px solid var(--line);padding:8px 12px;border-radius:999px;color:#ccc;font-size:.8rem}.sf-nav-pill:hover{color:#fff;background:rgba(255,255,255,.06)}
.sf-player-shell{max-width:1500px;margin:auto;padding:24px}.sf-video-card{background:#111;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.sf-video-wrap{position:relative;aspect-ratio:16/9;background:#000}.sf-video-wrap video{width:100%;height:100%;display:block;background:#000}.sf-video-overlay{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;background:rgba(0,0,0,.56);pointer-events:none}.sf-video-overlay.hidden{display:none}.sf-spinner{width:46px;height:46px;border:4px solid rgba(255,255,255,.18);border-top-color:var(--brand);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sf-now-playing{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.sf-now-playing h1{font-size:clamp(1.4rem,3vw,2.2rem);margin-top:5px}.sf-now-playing p{color:var(--muted);margin-top:5px}

.sf-modal{position:fixed;inset:0;z-index:1400;display:none;place-items:center;padding:20px;background:rgba(0,0,0,.72)}.sf-modal.open{display:grid}.sf-modal-panel{width:min(760px,96vw);max-height:85vh;overflow:auto;background:#151515;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.sf-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--line)}.sf-modal-head h2{font-size:1.5rem}.sf-modal-body{padding:20px}.sf-modal-plot{color:#bbb;margin-bottom:18px}.sf-episode-list{display:grid;gap:9px}.sf-episode{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.03)}.sf-episode strong{display:block}.sf-episode span{display:block;color:#888;font-size:.75rem;margin-top:2px}
.sf-account-layout{display:grid;grid-template-columns:minmax(250px,340px) 1fr;gap:16px}.sf-account-card{background:linear-gradient(160deg,#242424,#171717);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 12px 35px rgba(0,0,0,.18)}.sf-account-summary{text-align:center;display:grid;gap:12px;align-content:start}.sf-account-summary h2{font-size:1.4rem}.sf-account-summary p{color:#a6a6a6;font-size:.85rem;word-break:break-word}.sf-local-badge{justify-self:center;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(229,9,20,.35);background:rgba(229,9,20,.1);color:#ffd8db;border-radius:999px;padding:7px 10px;font-size:.72rem}.full{width:100%}.sf-account-form{display:grid;gap:14px}.sf-form-head h2{font-size:1.2rem}.sf-form-head p{color:#9c9c9c;font-size:.82rem}.sf-form-head-spaced{margin-top:7px}.sf-account-form label{display:grid;gap:7px;font-size:.8rem;color:#bbb}.sf-account-form input{width:100%;padding:12px;border:1px solid var(--line);background:#101010;border-radius:9px}.sf-account-form input:focus{border-color:rgba(229,9,20,.7)}.sf-form-status{min-height:22px;font-size:.82rem;color:#8ddc9a}.sf-form-status.error{color:#ff8b91}.sf-account-note{margin-top:16px;display:flex;gap:15px;align-items:flex-start}.sf-account-note > i{color:var(--brand);font-size:1.4rem}.sf-account-note h3{margin-bottom:4px}.sf-account-note p{color:#999;font-size:.82rem}.sf-account-note code{color:#ddd}
.sf-empty-page{min-height:calc(100vh - 160px);display:grid;place-items:center;align-content:center;text-align:center;gap:10px}.sf-empty-icon{font-size:3rem;color:var(--brand)}.sf-empty-page h1{font-size:clamp(2rem,5vw,3rem)}.sf-empty-page p{color:#999;margin-bottom:12px}

@media(max-width:1000px){.sf-nav-links{display:none}.sf-global-search{width:min(300px,42vw)}.sf-browse-grid{grid-template-columns:repeat(2,1fr)}.sf-account-layout{grid-template-columns:1fr}}
@media(max-width:700px){.sf-app{padding-top:68px}.sf-nav{padding:10px 12px}.sf-nav-inner{gap:10px}.sf-nav-left,.sf-nav-right{gap:9px}.sf-brand span{display:none}.sf-global-search{width:42px;padding:9px;overflow:hidden;transition:width var(--ease)}.sf-global-search:focus-within{width:210px}.sf-global-search input{width:150px}.sf-account-name,.sf-account-pill > .fa-chevron-down{display:none}.sf-hero{min-height:510px;margin:0 -16px}.sf-hero-content{padding:90px 20px 54px}.sf-hero h1{font-size:clamp(2.3rem,11vw,3.6rem)}.sf-section{margin-top:34px}.sf-browse-grid{grid-template-columns:1fr}.sf-page-head{align-items:stretch;flex-direction:column;padding-top:36px}.sf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sf-card-grid .sf-card{height:250px}.sf-card-grid.channel-grid{grid-template-columns:1fr}.sf-card-grid.channel-grid .sf-card{height:135px}.sf-footer{flex-direction:column;gap:4px}.sf-player-nav{padding:0 12px}.sf-player-nav-actions{display:none}.sf-player-shell{padding:8px}.sf-now-playing{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Direct Xtream demo additions */
.sf-demo-art{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;background:
  radial-gradient(circle at 30% 25%,rgba(229,9,20,.32),transparent 38%),
  linear-gradient(145deg,#292929,#111)}
.sf-demo-art.live{background:radial-gradient(circle at 70% 25%,rgba(50,120,255,.24),transparent 38%),linear-gradient(145deg,#272727,#111)}
.sf-demo-art.movie{background:radial-gradient(circle at 65% 35%,rgba(229,9,20,.25),transparent 40%),linear-gradient(145deg,#2b2b2b,#111)}
.sf-demo-art.show{background:radial-gradient(circle at 50% 25%,rgba(150,50,220,.24),transparent 38%),linear-gradient(145deg,#2a2a2a,#111)}
.sf-demo-art span{font-size:1rem;font-weight:700;max-width:84%}
.sf-demo-search-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;background:#262626;border-radius:8px;color:var(--brand)}


/* Global Netflix-style loading overlay */
.sf-loading-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.58);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  opacity:1;
  visibility:visible;
  transition:opacity 180ms ease,visibility 180ms ease;
}
.sf-loading-overlay.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.sf-loading-box{
  display:grid;
  place-items:center;
}
.sf-netflix-spinner{
  width:56px;
  height:56px;
  border:4px solid rgba(255,255,255,.14);
  border-top-color:var(--brand);
  border-right-color:var(--brand);
  border-radius:50%;
  animation:sfNetflixSpin .85s linear infinite;
  box-shadow:0 0 22px rgba(229,9,20,.20);
}
@keyframes sfNetflixSpin{
  to{transform:rotate(360deg)}
}

/* Modal backdrop: slightly dark + blurred, Netflix-like */
.sf-modal{
  background:rgba(0,0,0,.66);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}


/* Netflix-style category navigation */
.hidden{display:none!important}
.sf-library-section{margin-top:38px}
.sf-library-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px}
.sf-library-head h2{font-size:clamp(1.4rem,3vw,2rem);margin-top:6px}
.sf-library-count{font-size:.8rem;color:#aaa;font-weight:500}
.sf-back-link{display:inline-flex;align-items:center;gap:8px;color:#bbb;font-size:.78rem;margin-bottom:7px}
.sf-back-link:hover{color:#fff}
.sf-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.sf-category-card{display:block;min-height:165px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#171717;text-align:left;transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease)}
.sf-category-card:hover{transform:translateY(-4px);border-color:rgba(229,9,20,.45);box-shadow:0 16px 34px rgba(0,0,0,.28)}
.sf-category-art{min-height:165px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:
  radial-gradient(circle at 70% 25%,rgba(229,9,20,.32),transparent 37%),
  linear-gradient(155deg,#303030,#111)}
.sf-category-art.movie{background:
  radial-gradient(circle at 76% 24%,rgba(229,9,20,.34),transparent 38%),
  linear-gradient(155deg,#303030,#111)}
.sf-category-art.show{background:
  radial-gradient(circle at 72% 28%,rgba(142,62,218,.32),transparent 38%),
  linear-gradient(155deg,#303030,#111)}
.sf-category-art i{font-size:2.5rem;color:rgba(255,255,255,.88);margin-bottom:auto;padding-top:6px}
.sf-category-art span{font-weight:700;font-size:1rem;line-height:1.2;max-width:92%}
.sf-country-art{min-height:165px;padding:20px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;background:
  radial-gradient(circle at 76% 18%,rgba(45,132,255,.28),transparent 36%),
  linear-gradient(155deg,#292929,#111)}
.sf-country-flag{font-size:3.4rem;line-height:1;margin-bottom:5px}
.sf-country-art strong{font-size:1.08rem}
.sf-country-art small{color:#888;font-size:.72rem}
.sf-load-more-wrap{display:flex;justify-content:center;margin-top:20px}
.sf-skeleton.category{height:165px;flex-basis:auto;border-radius:14px}
.sf-category-view{padding-top:4px}

@media(max-width:700px){
  .sf-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .sf-category-card,.sf-category-art,.sf-country-art{min-height:145px}
  .sf-country-flag{font-size:2.8rem}
  .sf-category-art i{font-size:2rem}
}

/* Blue StreamFlix visual system */
:root{--brand:#e50914}
html,body{max-width:100%;overflow-x:hidden}
body{overscroll-behavior-x:none}
button,a{accent-color:var(--brand)}
.sf-row{
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.sf-row::-webkit-scrollbar{display:none;width:0;height:0}
.sf-card{scroll-snap-align:start}
.sf-card.movie-card{height:330px;min-height:330px}
.sf-card.movie-card .shade{background:linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.10) 62%)}
.sf-card-meta{display:flex;gap:8px;color:#ddd;font-size:.7rem;margin:4px 0 2px}
.sf-card-meta span+span{padding-left:8px;border-left:1px solid rgba(255,255,255,.25)}
.sf-card-description{font-size:.69rem;line-height:1.35;color:#c8c8c8;margin-top:5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-card.movie-card .label{bottom:11px}

.sf-provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:14px}
.sf-provider-card{position:relative;min-height:150px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(150deg,#222,#111);padding:17px;text-align:left;overflow:hidden;transition:transform var(--ease),border-color var(--ease),box-shadow var(--ease)}
.sf-provider-card:hover{transform:translateY(-4px);border-color:rgba(229,9,20,.55);box-shadow:0 15px 30px rgba(0,0,0,.28)}
.sf-provider-card.disabled{opacity:.64}
.sf-provider-brand{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:14px;background:rgba(229,9,20,.12);border:1px solid rgba(229,9,20,.32);color:#fff;font-weight:800;font-size:1rem;letter-spacing:-.03em;margin-bottom:20px}
.sf-provider-icon{font-size:1.35rem;color:var(--brand)}
.sf-provider-card h3{font-size:.98rem}.sf-provider-card p{color:#8e8e8e;font-size:.72rem;margin-top:4px}
.sf-provider-arrow{position:absolute;right:14px;top:14px;color:#777}
.sf-country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:13px}
.sf-country-card{min-height:145px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(150deg,#212121,#101010);padding:18px;text-align:left;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;transition:transform var(--ease),border-color var(--ease)}
.sf-country-card:hover{transform:translateY(-4px);border-color:rgba(229,9,20,.55)}
.sf-country-card .flag{font-size:2.6rem;line-height:1}
.sf-country-card strong{font-size:1rem}.sf-country-card small{font-size:.7rem;color:#888}
.sf-filter-stack{display:grid;gap:16px}
.sf-filter-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sf-filter-title{font-size:1.4rem}.sf-filter-sub{color:#888;font-size:.78rem;margin-top:3px}
.sf-chip-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:#bbb;background:rgba(255,255,255,.04)}
.sf-chip-btn:hover{color:#fff;border-color:rgba(229,9,20,.55);background:rgba(229,9,20,.10)}
.sf-category-card .sf-category-art i{color:var(--brand)}
.sf-category-card:hover .sf-category-art{filter:saturate(1.15)}
.sf-category-art.movie{background:radial-gradient(circle at 76% 24%,rgba(229,9,20,.32),transparent 38%),linear-gradient(155deg,#303030,#111)}
.sf-category-art.show{background:radial-gradient(circle at 72% 28%,rgba(229,9,20,.26),transparent 38%),linear-gradient(155deg,#303030,#111)}
.sf-country-art{background:radial-gradient(circle at 76% 18%,rgba(229,9,20,.28),transparent 36%),linear-gradient(155deg,#292929,#111)}

.sf-movie-modal-panel{width:min(900px,96vw)}
.sf-movie-detail{display:grid;grid-template-columns:220px 1fr;gap:22px}
.sf-movie-poster{width:100%;aspect-ratio:2/3;border-radius:12px;overflow:hidden;background:#101010}
.sf-movie-poster img{width:100%;height:100%;object-fit:cover}
.sf-movie-detail h2{font-size:clamp(1.45rem,3vw,2.2rem)}
.sf-movie-detail-meta{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0;color:#aaa;font-size:.76rem}
.sf-movie-detail-plot{color:#c4c4c4;line-height:1.65;margin:15px 0 20px}
.sf-movie-actions{display:flex;gap:9px;flex-wrap:wrap}
.sf-trailer-btn{display:inline-flex;align-items:center;gap:8px}
@media(max-width:700px){.sf-movie-detail{grid-template-columns:110px 1fr;gap:14px}.sf-provider-grid,.sf-country-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:480px){.sf-movie-detail{grid-template-columns:1fr}.sf-movie-poster{max-width:180px}.sf-provider-grid,.sf-country-grid{grid-template-columns:1fr 1fr}}

.sf-player-tools{position:absolute;right:14px;top:14px;display:flex;gap:8px;z-index:4}
.sf-player-tool{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(5,5,5,.68);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff}
.sf-player-tool:hover{background:rgba(229,9,20,.25);border-color:rgba(229,9,20,.65);color:#fff}
.sf-player-tool.active{background:var(--brand);border-color:var(--brand)}
.sf-settings-panel{position:absolute;right:14px;top:64px;width:min(300px,calc(100vw - 28px));z-index:5;background:rgba(14,14,14,.94);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:15px;display:grid;gap:13px;box-shadow:0 18px 50px rgba(0,0,0,.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.sf-settings-panel.hidden{display:none}
.sf-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;color:#bbb}
.sf-setting-row select{min-width:125px;background:#171717;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:7px 8px}
.sf-setting-row input[type=checkbox]{accent-color:var(--brand)}
.sf-player-cc{position:absolute;right:65px;bottom:70px;z-index:4;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.72);color:#fff;border-radius:7px;padding:6px 8px;font-size:.72rem;display:none}
.sf-player-cc.visible{display:block}
.sf-player-status{color:#aaa;font-size:.76rem;margin-top:6px}

@media(max-width:700px){
  .sf-player-tools{right:8px;top:8px}.sf-player-tool{width:38px;height:38px}
  .sf-settings-panel{right:8px;top:56px}
}

/* Never show a horizontal page scrollbar in Safari/Chrome while preserving row swiping. */
.sf-page,.sf-app,.sf-player-page,.sf-player-shell,.sf-video-card,.sf-page-head,.sf-library-section{min-width:0}
.sf-nav-inner,.sf-nav-left,.sf-nav-right{min-width:0}

/* Reliable artwork / progress for Continue Watching and library cards */
.sf-media-visual{position:absolute;inset:0;background:#101010}
.sf-media-visual img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.sf-media-visual img.broken{display:none}
.sf-image-fallback{position:absolute;inset:0;z-index:0;display:grid;place-items:center;align-content:center;gap:10px;padding:16px;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(229,9,20,.22),transparent 48%),linear-gradient(145deg,#2a2a2a,#101010)}
.sf-image-fallback i{font-size:2.3rem;color:var(--brand)}
.sf-image-fallback span{font-size:.78rem;font-weight:700;max-width:88%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sf-media-visual > .sf-image-fallback{display:none}
.sf-media-visual img.broken + .sf-image-fallback{display:grid}
.sf-progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.22);z-index:6}
.sf-progress span{display:block;height:100%;background:var(--brand);border-radius:0 2px 2px 0}
.sf-card.series-card{height:330px;min-height:330px}
.sf-card.series-card .label{bottom:11px}
.sf-card.movie-card .sf-progress,.sf-card.series-card .sf-progress{bottom:0}

/* Safari can require byte-range MP4 responses for precise seeking. */
.sf-video-wrap video{object-fit:contain}
.sf-video-wrap video::-webkit-media-controls-timeline{accent-color:var(--brand)}

/* Keep the whole loading surface dark + blurred with only the spinner visible. */
.sf-loading-box{background:transparent!important;box-shadow:none!important;padding:0!important;border:0!important}

:root{--brand-2:#e50914}
.sf-local-badge{color:#bfe1ff}

@media(max-width:700px){
  .sf-card.series-card{height:250px;min-height:250px}
}

/* v14 content detail modals */
.sf-movie-modal-panel{width:min(900px,96vw)}
.sf-movie-detail{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}
.sf-movie-poster{aspect-ratio:2/3;background:#0e0e0e;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.sf-movie-poster img,.sf-show-top>img{width:100%;height:100%;object-fit:cover;display:block}
.sf-show-top{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;margin-bottom:18px}
.sf-show-top>img,.sf-show-top>.sf-demo-art{aspect-ratio:2/3;border-radius:12px;overflow:hidden}
.sf-show-top>.sf-demo-art{display:grid;place-items:center;text-align:center;padding:15px;background:#111;border:1px solid var(--line)}
.sf-show-top>.sf-demo-art i{font-size:2.3rem;color:var(--brand);margin-bottom:8px}
.sf-trailer-frame{margin:16px 0;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9}
.sf-trailer-frame iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:700px){.sf-movie-detail,.sf-show-top{grid-template-columns:1fr}.sf-movie-poster{max-width:230px}.sf-show-top>img,.sf-show-top>.sf-demo-art{max-width:230px}}

/* v17 library and player polish */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sf-video-overlay.loading #videoStatus{display:none!important}
.sf-video-overlay.error{pointer-events:auto;background:rgba(0,0,0,.72)}
.sf-video-overlay.error #videoStatus{display:block;color:#fff;font-size:.92rem;max-width:min(520px,86vw);text-align:center;line-height:1.5}
.sf-video-overlay.error .sf-spinner{display:none}
.sf-provider-card,.sf-country-card,.sf-category-card{box-shadow:0 12px 34px rgba(0,0,0,.20)}
.sf-provider-card:focus-visible,.sf-country-card:focus-visible,.sf-category-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.sf-provider-brand{position:relative;overflow:hidden}
.sf-provider-brand::after{content:"";position:absolute;inset:-20%;background:radial-gradient(circle,rgba(229,9,20,.22),transparent 60%);opacity:.8}
.sf-provider-card h3{font-size:1.02rem;letter-spacing:-.01em}.sf-provider-card p{max-width:92%}
.sf-country-card{min-height:155px;background:radial-gradient(circle at 80% 18%,rgba(229,9,20,.15),transparent 35%),linear-gradient(145deg,#222,#101010)}
.sf-country-card .flag{filter:drop-shadow(0 5px 12px rgba(0,0,0,.28))}
.sf-category-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.sf-card-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.sf-load-more-wrap{min-height:42px}
@media(max-width:1200px){.sf-category-grid,.sf-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.sf-category-grid,.sf-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.sf-category-grid,.sf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sf-category-art small{display:block;margin-top:6px;color:#929292;font-size:.68rem;line-height:1.3;max-width:92%}

/* v18 page layouts */
.sf-about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center;padding:30px 0 18px}.sf-about-copy h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.1;margin:12px 0}.sf-about-copy h2 span{color:#e50914}.sf-about-copy p,.sf-about-note p,.sf-feature-grid p{color:var(--muted);max-width:720px;line-height:1.8}.sf-about-art{min-height:300px;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(229,9,20,.22),transparent 68%);border-radius:22px}.sf-about-screen{width:min(100%,440px);padding:18px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:linear-gradient(145deg,#242424,#080808);box-shadow:0 25px 70px #0008;transform:rotate(-2deg)}.sf-about-screen-top{font-weight:700;color:#e50914;display:flex;gap:8px;align-items:center}.sf-about-posters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.sf-about-posters div{height:135px;border-radius:9px;display:grid;place-items:end start;padding:10px;font-weight:700;background:linear-gradient(145deg,#4d0a0e,#151515 65%);border:1px solid #ffffff22}.sf-about-posters div:nth-child(2){background:linear-gradient(145deg,#7a0b12,#161616 70%)}.sf-about-posters div:nth-child(3){background:linear-gradient(145deg,#3a1416,#121212 70%)}.sf-about-screen>p{font-weight:600}.sf-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sf-feature-grid article,.sf-about-note{border:1px solid var(--line);border-radius:16px;padding:22px;background:rgba(255,255,255,.025)}.sf-feature-grid article>i{font-size:1.6rem;color:#e50914}.sf-feature-grid h3{margin:12px 0 6px}.sf-about-note{margin-top:36px}.sf-about-note h2{margin:8px 0}.sf-page-head{padding-bottom:12px}.sf-section .sf-row{scrollbar-width:none}.sf-section .sf-row::-webkit-scrollbar{display:none}
@media(max-width:700px){.sf-about-grid{grid-template-columns:1fr;gap:14px}.sf-feature-grid{grid-template-columns:1fr}.sf-about-art{min-height:230px}.sf-about-posters div{height:100px}}
