/* ==========================================================
   DXStream Frontend CSS
   Clean universal stylesheet for:
   - Homepage
   - Header / Footer
   - Movie watch page
   - TV / Anime watch page
   - Universal player, info grid, episode list, recommendations

   IMPORTANT SIZE SETTINGS:
   Edit only the variables below if you want to stretch/compact
   the watch/player pages.

   --watch-shell-width:
      Main width for video frame, info grid, episode sidebar,
      and Recommended For You section.
      Increase for wider layout: 1480px / 1560px
      Decrease for compact layout: 1280px / 1200px

   --watch-player-top-space:
      Top spacing before video player.

   --watch-tv-sidebar-width:
      Width of the TV/Anime episode list beside the info card.

   --watch-info-poster-width:
      Poster width inside movie/TV info grid.

   --watch-recommended-columns:
      Number of recommendation cards per row on desktop.

   After editing, update ASSET_VERSION and hard refresh.
========================================================== */

:root{
    --dx-bg:#030405;
    --dx-panel:rgba(15,16,18,.72);
    --dx-panel-solid:#101012;
    --dx-border:rgba(255,255,255,.08);
    --dx-border-strong:rgba(255,255,255,.14);
    --dx-text:#fff;
    --dx-muted:#a9a9a9;
    --dx-red:#F00505;

    /* WATCH PAGE UNIVERSAL SIZE CONTROLS */
    --watch-shell-width:1360px;
    --watch-shell-padding:32px;
    --watch-player-top-space:92px;
    --watch-section-gap:28px;
    --watch-tv-sidebar-width:330px;
    --watch-info-poster-width:210px;
    --watch-info-radius:22px;
    --watch-recommended-columns:8;
    --watch-recommended-card-height:210px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{background:var(--dx-bg)}
body{font-family:Arial,Helvetica,sans-serif;background:var(--dx-bg);color:var(--dx-text);min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font-family:inherit}
button{cursor:pointer}

/* FIXED LEFT FRONT SIDEBAR */
body.layout-side-nav{
    padding-left:86px;
}

.front-header,
.front-nav,
.front-actions,
.mobile-menu-panel,
.tablet-icon-nav{
    display:none!important;
}

.front-side-nav{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    z-index:300;
    width:86px;
    height:100vh;
    padding:22px 12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:22px;
    background:linear-gradient(
        180deg,
        rgba(5,6,8,.55),
        rgba(0,0,0,.45)
    );

    border-right:1px solid rgba(255,255,255,.05);

    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);

    box-shadow:
        18px 0 60px rgba(0,0,0,.25)
}

.side-logo{
    width:52px;
    height:52px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    overflow:hidden;
}

.side-logo img{
    width:38px;
    height:38px;
    object-fit:contain;
}

.side-nav-links{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}

.side-nav-links a,
.side-icon-btn{
    position:relative;
    width:52px;
    height:52px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#cfcfcf;
    background:transparent;
    border:0;
    transition:.22s ease;
}

.side-nav-links a svg,
.side-icon-btn svg{
    width:23px;
    height:23px;
}

.side-nav-links a span{
    position:absolute;
    left:64px;
    top:50%;
    transform:translateY(-50%) translateX(-8px);
    white-space:nowrap;
    background:#141416;
    color:#fff;
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    padding:8px 11px;
    font-size:12px;
    font-weight:800;
    opacity:0;
    pointer-events:none;
    transition:.18s ease;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
}

.side-nav-links a:hover span{
    opacity:1;
    transform:translateY(-50%) translateX(0);
}

.side-nav-links a:hover,
.side-nav-links a.active,
.side-icon-btn:hover{
    color:#fff;
    background:rgba(255,255,255,.08);
}

.side-nav-links a.active{
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.07), 0 10px 26px rgba(0,0,0,.35);
}

.side-nav-links a.active:before{
    content:"";
    position:absolute;
    left:-12px;
    top:14px;
    bottom:14px;
    width:3px;
    border-radius:20px;
    background:var(--dx-red);
}

.side-nav-bottom{
    margin-top:auto;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
}

/* Adjust homepage spacing after removing top header */
.hero-content{
    margin-left:46px;
}

.home-sections{
    padding-left:38px;
}

.feature-strip{
    padding-left:38px;
}

/* Mobile: turn sidebar into bottom icon bar */
@media(max-width:760px){
    body.layout-side-nav{
        padding-left:0;
        padding-bottom:78px;
    }

    .front-side-nav{
        top:auto;
        right:14px;
        left:14px;
        bottom:12px;
        width:auto;
        height:64px;
        padding:8px 12px;
        flex-direction:row;
        border-right:0;
        border:1px solid rgba(255,255,255,.08);
        border-radius:999px;
    }

    .side-logo{
        width:44px;
        height:44px;
        border-radius:50%;
        flex:0 0 auto;
    }

    .side-logo img{
        width:30px;
        height:30px;
    }

    .side-nav-links{
        flex:1;
        flex-direction:row;
        justify-content:flex-start;
        overflow-x:auto;
        gap:6px;
        scrollbar-width:none;
    }

    .side-nav-links::-webkit-scrollbar{
        display:none;
    }

    .side-nav-links a,
    .side-icon-btn{
        width:44px;
        height:44px;
        border-radius:50%;
        flex:0 0 auto;
    }

    .side-nav-links a svg,
    .side-icon-btn svg{
        width:20px;
        height:20px;
    }

    .side-nav-links a span{
        display:none;
    }

    .side-nav-links a.active:before{
        display:none;
    }

    .side-nav-bottom{
        width:auto;
        flex-direction:row;
        margin-top:0;
        gap:6px;
        flex:0 0 auto;
    }

    .hero-content{
        margin-left:22px;
    }

    .home-sections,
    .feature-strip{
        padding-left:22px;
    }
}

/* HERO */
.hero-section{position:relative;height:75vh;min-height:640px;padding:0;overflow:hidden}
.hero-slider{position:relative;width:100%;height:100%;overflow:hidden}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility .8s ease}
.hero-slide.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;transform:scale(1.02)}
.hero-shade{position:absolute;left:0;right:0;bottom:0;height:300px;background:linear-gradient(0deg,var(--dx-bg),transparent);z-index:3}
.hero-content{
    position:relative;
    z-index:5;
    width:min(640px,100%);
    margin-left:90px;
    padding-top:90px;
}
.hero-tag{color:var(--dx-red);font-size:13px;font-weight:900;letter-spacing:.35em;margin-bottom:18px}
.hero-content h1{
    font-size:clamp(34px,4.5vw,60px);
    line-height:1;
    letter-spacing:.08em;
    text-transform:uppercase;
    margin-bottom:18px;
}
.hero-meta{display:flex;flex-wrap:wrap;gap:14px;color:#ddd;font-size:14px;margin-bottom:18px}
.hero-content p{color:#f1f1f1;font-size:17px;line-height:1.55;max-width:500px;margin-bottom:28px}
.hero-actions{display:flex;gap:16px}
.play-btn,.more-btn{min-width:120px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-weight:800}
.play-btn{background:var(--dx-red);color:#fff}.more-btn{background:rgba(255,255,255,.10);color:#fff}
.hero-indicators{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;z-index:20}
.hero-dot{width:34px;height:4px;border:0;border-radius:30px;background:rgba(255,255,255,.25);cursor:pointer;transition:.3s ease}
.hero-dot.active{width:44px;background:var(--dx-red)}.hero-dot:hover{background:#fff}

/* HOME SECTIONS */
.home-sections{position:relative;z-index:4;padding:0 48px 30px}.content-row{margin-bottom:42px}
.row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.row-title{display:flex;align-items:center;gap:12px}
.row-title h2,.row-head h2{margin:0;font-size:25px}.row-actions{margin-left:auto}
.view-all-btn,.row-head>a{display:inline-flex;align-items:center;gap:8px;color:#d8d8d8;text-decoration:none;font-size:14px;font-weight:600;transition:.2s ease}.view-all-btn:hover,.row-head>a:hover{color:#fff}
.slider-wrap{position:relative}.poster-slider{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,1fr);gap:20px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;padding:4px 56px 8px}.poster-slider::-webkit-scrollbar{display:none}
.poster-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.poster-card{position:relative;height:190px;border-radius:16px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.07);transition:.28s ease}.poster-card:hover{transform:translateY(-5px) scale(1.018);border-color:rgba(240,5,5,.45)}
.poster-card img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .35s ease,opacity .35s ease}.poster-card:hover img{transform:scale(1.06);opacity:1}
.poster-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.56) 42%,rgba(0,0,0,.08) 78%,rgba(0,0,0,0) 100%);z-index:1}
.poster-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:20px}.poster-caption strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:800;line-height:1.18;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px;text-shadow:0 2px 8px rgba(0,0,0,.85)}.poster-caption span{display:block;color:#f1f1f1;font-size:15px;font-weight:700;opacity:.96;text-shadow:0 2px 8px rgba(0,0,0,.85)}
.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:52px;height:52px;border:none;border-radius:50%;background:rgba(18,18,22,.88);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(12px);transition:.25s ease;box-shadow:0 6px 18px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.05)}.slide-arrow svg{width:18px;height:18px}.slide-arrow:hover{background:var(--dx-red);transform:translateY(-50%) scale(1.06);box-shadow:0 10px 28px rgba(240,5,5,.35)}.slide-left{left:-8px}.slide-right{right:-8px}

/* FEATURE STRIP */
.feature-strip{padding:0 48px 34px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-box{background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid var(--dx-border);border-radius:14px;padding:18px;display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:center}.feature-box span{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.10);font-size:22px}.feature-box strong{display:block;font-size:14px}.feature-box p{color:#aaa;font-size:12px;line-height:1.35;margin-top:4px}

/* FOOTER */
.front-footer{padding:40px 48px;text-align:center;color:#aaa;border-top:1px solid rgba(255,255,255,.06)}.footer-brand{max-width:720px;margin:0 auto}.footer-brand img{height:52px;width:auto;margin:0 auto 16px}.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:22px 0}.footer-links a{color:#ddd;font-size:13px}.footer-bottom{font-size:13px}
.front-footer{
    position:relative;
    overflow:hidden;
}

.front-footer::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at center,
            rgba(240,5,5,.08),
            transparent 70%
        );

    pointer-events:none;
}
/* SEARCH / MOBILE MENU */
.mobile-menu-panel{display:none}.search-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.82);backdrop-filter:blur(18px);align-items:center;justify-content:center}.search-overlay.active{display:flex}.search-box{width:min(720px,90vw);position:relative}.search-box input{width:100%;height:64px;border:1px solid rgba(255,255,255,.12);background:#151515;color:#fff;border-radius:14px;padding:0 60px 0 22px;font-size:18px;outline:none}.search-box > button[data-search-close]{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;color:#fff;border:0;font-size:32px;cursor:pointer}.empty-home{background:rgba(255,255,255,.04);border:1px solid var(--dx-border);padding:30px;border-radius:14px;margin-bottom:28px}

/* ==========================================================
   UNIVERSAL WATCH PAGE
========================================================== */
.watch-page{position:relative;min-height:100vh;padding:var(--watch-player-top-space) 0 50px;background:radial-gradient(circle at top right,rgba(240,5,5,.08),transparent 35%),var(--dx-bg);overflow:hidden}.watch-page:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.72),rgba(0,0,0,.94)),linear-gradient(180deg,rgba(0,0,0,.65),#030405 760px),var(--watch-bg);background-size:cover;background-position:center top;background-attachment:fixed;opacity:.9;z-index:0;pointer-events:none}.watch-page>*{position:relative;z-index:1}

/* UNIVERSAL WIDTH ALIGNMENT - edit --watch-shell-width above */
.watch-player-wrap,.watch-info-section,.tv-watch-body,.anime-watch-body,.watch-related,.watch-recommended{width:var(--watch-shell-width);max-width:calc(100vw - var(--watch-shell-padding));margin-left:auto;margin-right:auto}
.watch-player-wrap{margin-top:0;margin-bottom:var(--watch-section-gap)}.watch-player{width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 90px rgba(0,0,0,.55)}.watch-player iframe,.watch-player video{width:100%;height:100%;border:0;background:#000;display:block}.watch-no-player{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;text-align:center;padding:24px}
.watch-server-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:14px;text-align:center}.watch-server-list p{width:100%;color:#ff7878;font-weight:800;margin-bottom:2px}.server-btn{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);color:#ddd;padding:10px 16px;border-radius:999px;font-weight:700}.server-btn.active,.server-btn:hover{background:var(--dx-red);border-color:var(--dx-red);color:#fff}

/* MOVIE WATCH INFO */
.watch-info-section{position:relative;overflow:hidden;display:grid;grid-template-columns:var(--watch-info-poster-width) 1fr;gap:26px;min-height:330px;margin-top:var(--watch-section-gap);margin-bottom:0;padding:24px;border-radius:var(--watch-info-radius);border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035)}.watch-info-section::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.70) 45%,rgba(0,0,0,.88) 100%),var(--watch-card-bg);background-size:cover;background-position:center;opacity:.95;z-index:0}.watch-info-section>*{position:relative;z-index:1}

/* TV / ANIME WATCH INFO + EPISODES */
.tv-watch-body,.anime-watch-body{display:grid;grid-template-columns:minmax(0,1fr) var(--watch-tv-sidebar-width);gap:18px;align-items:start;margin-top:var(--watch-section-gap)}.tv-watch-info-card,.anime-watch-info-card{position:relative;overflow:hidden;display:grid;grid-template-columns:var(--watch-info-poster-width) 1fr;gap:26px;min-height:330px;padding:24px;border-radius:var(--watch-info-radius);border:1px solid rgba(255,255,255,.08);background:linear-gradient(90deg,rgba(0,0,0,.90),rgba(0,0,0,.72),rgba(0,0,0,.90)),var(--watch-card-bg);background-size:cover;background-position:center}.tv-watch-episode-sidebar,.anime-watch-episode-sidebar{background:#17171b;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}.tv-watch-episode-head,.anime-watch-episode-head{padding:16px;border-bottom:1px solid rgba(255,255,255,.08)}.tv-watch-episode-head select,.anime-watch-episode-head select{width:100%;height:42px;background:#24242a;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:0 12px}.tv-watch-episode-list,.anime-watch-episode-list{max-height:430px;overflow-y:auto;padding:10px}.tv-watch-episode-item,.anime-watch-episode-item{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;padding:13px 12px;border-radius:10px;color:#bbb;transition:.2s ease}.tv-watch-episode-item span,.anime-watch-episode-item span{color:#aaa;font-size:13px}.tv-watch-episode-item strong,.anime-watch-episode-item strong{color:#ddd;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tv-watch-episode-item:hover,.tv-watch-episode-item.active,.anime-watch-episode-item:hover,.anime-watch-episode-item.active{background:rgba(240,5,5,.18)}.tv-watch-episode-item.active span,.tv-watch-episode-item.active strong,.anime-watch-episode-item.active span,.anime-watch-episode-item.active strong{color:#ff1b1b}

/* SHARED DETAILS */
.watch-poster img{width:100%;border-radius:16px;border:1px solid rgba(255,255,255,.10)}.watch-trailer-btn{margin-top:16px;width:100%;height:46px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.10);border-radius:10px;font-weight:800}.watch-details{padding-top:8px;min-width:0}.watch-kicker{display:block;color:var(--dx-muted);font-size:15px;margin-bottom:6px}.watch-details h1{font-size:36px;line-height:1.12;margin-bottom:12px}.watch-details h2{font-size:24px;line-height:1.25;margin-bottom:8px}.watch-meta{display:flex;flex-wrap:wrap;gap:12px;color:#cfcfcf;font-size:14px;margin-bottom:18px}.rating-pill{color:#ffd23c}.watch-overview{max-width:900px;color:#f1f1f1;line-height:1.55;font-size:16px;margin-bottom:22px}.watch-facts{display:grid;gap:10px;margin-bottom:0}.watch-facts div{display:grid;grid-template-columns:120px 1fr;gap:14px}.watch-facts strong{color:#aaa}.watch-facts span{color:#fff}

/* CAST */
.watch-cast h2{margin-bottom:14px}.watch-cast-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px;max-width:900px}.watch-cast-card{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:10px}.watch-cast-card img{width:100%;aspect-ratio:1/1.25;object-fit:cover;border-radius:10px;margin-bottom:8px}.watch-cast-card strong{display:block;font-size:12px}.watch-cast-card span{display:block;color:#aaa;font-size:11px;margin-top:3px}

/* RECOMMENDED FOR YOU - UNIVERSAL */
.watch-related,.watch-recommended{margin-top:32px}.watch-related h2,.watch-recommended h2{font-size:24px;margin-bottom:18px}.watch-related-grid,.watch-recommended-grid{display:grid;grid-template-columns:repeat(var(--watch-recommended-columns),minmax(0,1fr));gap:16px}.watch-related-card,.watch-recommended-card{display:block;overflow:hidden;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:.25s ease}.watch-related-card:hover,.watch-recommended-card:hover{transform:translateY(-4px);border-color:rgba(240,5,5,.55)}.watch-related-card img,.watch-recommended-card img{width:100%;height:var(--watch-recommended-card-height);object-fit:cover;display:block}.watch-related-body,.watch-recommended-card div{padding:10px}.watch-related-body strong,.watch-recommended-card strong{display:block;color:#fff;font-size:13px;line-height:1.35;margin-bottom:5px}.watch-related-body span,.watch-recommended-card span,.watch-recommended-card small{display:block;color:#999;font-size:12px;margin-top:4px}

/* OLD EPISODE GRID SUPPORT */
.tv-episode-watch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tv-episode-watch-card{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;padding:10px;transition:.2s ease}.tv-episode-watch-card:hover,.tv-episode-watch-card.active{border-color:rgba(240,5,5,.65);background:rgba(240,5,5,.12)}.tv-episode-watch-card img{width:130px;height:74px;object-fit:cover;border-radius:10px}.tv-episode-watch-card strong{display:block;font-size:12px;color:#fff;margin-bottom:4px}.tv-episode-watch-card span{display:block;color:#aaa;font-size:12px;line-height:1.3}
.watch-episode-panel{width:var(--watch-shell-width);max-width:calc(100vw - var(--watch-shell-padding));margin:28px auto 0;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px}.watch-episode-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.watch-episode-panel-head h2{font-size:22px;margin-bottom:4px}.watch-episode-panel-head p{color:#999;font-size:13px}.watch-episode-panel-head select{min-width:150px;height:40px;background:#202024;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:0 12px}.watch-episode-list-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:520px;overflow-y:auto;padding-right:6px}.watch-episode-compact{display:grid;grid-template-columns:62px 1fr;gap:10px;align-items:center;min-height:48px;padding:10px 12px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);border-radius:12px;transition:.2s ease}.watch-episode-compact:hover,.watch-episode-compact.active{background:rgba(240,5,5,.16);border-color:rgba(240,5,5,.6)}.watch-episode-compact .ep-number{color:var(--dx-red);font-weight:800;font-size:12px}.watch-episode-compact .ep-title{color:#fff;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.watch-episode-compact .ep-date{grid-column:2;color:#888;font-size:11px;margin-top:-5px}

/* RESPONSIVE */
@media(max-width:1400px){:root{--watch-shell-width:1280px;--watch-recommended-columns:5}.poster-slider{grid-auto-columns:minmax(300px,1fr)}.poster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1200px){:root{--watch-tv-sidebar-width:310px;--watch-info-poster-width:180px;--watch-recommended-columns:4;--watch-recommended-card-height:230px}.poster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-strip{grid-template-columns:repeat(2,1fr)}.hero-content{margin-left:48px}}
@media(max-width:1100px){.front-nav{display:none!important}.mobile-nav-toggle{display:none!important}.tablet-icon-nav{display:flex!important}.front-header{padding:0 24px}.front-logo span{font-size:22px}.poster-slider{grid-auto-columns:minmax(320px,55vw)}.poster-card{height:170px}.watch-related-grid,.watch-recommended-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){:root{--watch-shell-padding:28px;--watch-info-poster-width:160px;--watch-recommended-columns:3}.tv-watch-body,.anime-watch-body{grid-template-columns:1fr}.tv-watch-info-card,.anime-watch-info-card,.watch-info-section{grid-template-columns:160px 1fr}.tv-watch-episode-list,.anime-watch-episode-list{max-height:360px}}
@media(max-width:900px){.front-header{padding:0 22px}.mobile-menu-panel{display:none;position:fixed;z-index:180;left:18px;top:84px;width:240px;background:rgba(12,12,12,.96);border:1px solid var(--dx-border);border-radius:16px;padding:12px;box-shadow:0 18px 60px rgba(0,0,0,.45)}.mobile-menu-panel.active{display:grid;gap:4px}.mobile-menu-panel a{padding:13px 14px;border-radius:10px;color:#ddd}.mobile-menu-panel a:hover{background:rgba(240,5,5,.13);color:#fff}.hero-section{min-height:620px}.hero-content{margin-left:22px;padding-top:120px;width:calc(100% - 44px)}.home-sections,.feature-strip,.front-footer{padding-left:22px;padding-right:22px}.poster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poster-slider{grid-auto-columns:minmax(300px,72vw);padding-left:64px;padding-right:48px}.poster-card{height:155px}.poster-card img{object-fit:cover;object-position:center}}
@media(max-width:760px){:root{--watch-shell-padding:24px;--watch-info-poster-width:150px;--watch-recommended-columns:2;--watch-recommended-card-height:220px;--watch-player-top-space:78px}.watch-info-section,.tv-watch-info-card,.anime-watch-info-card{grid-template-columns:1fr}.watch-poster{max-width:160px}.watch-details h1{font-size:28px}.watch-details h2{font-size:21px}.watch-overview{font-size:14px}.watch-facts div{grid-template-columns:90px 1fr}.tv-episode-watch-grid{grid-template-columns:1fr}.watch-episode-list-compact{grid-template-columns:repeat(2,minmax(0,1fr));max-height:440px}}
@media(max-width:640px){.front-header{height:64px}.front-logo span{font-size:18px}.front-logo img{width:34px;height:34px}.hero-section{height:82vh;min-height:560px}.hero-content{padding-top:105px}.hero-content h1{font-size:42px;letter-spacing:.12em}.hero-meta{font-size:12px;gap:10px}.hero-content p{font-size:14px}.play-btn,.more-btn{min-width:100px;height:42px;font-size:13px}.poster-slider{grid-auto-columns:82vw;padding-left:46px;padding-right:46px}.poster-card{height:150px;border-radius:14px}.poster-caption{padding:16px}.poster-caption strong{font-size:13px}.poster-caption span{font-size:12px}.slide-arrow{width:40px;height:40px}.slide-left{left:-4px}.slide-right{right:-4px}.feature-strip{grid-template-columns:1fr}.tablet-icon-nav{left:50%;right:auto;top:auto;bottom:18px;transform:translateX(-50%);width:auto;height:58px;padding:8px 12px;border-radius:999px;flex-direction:row;gap:8px}.tablet-icon-nav a{width:42px;height:42px;border-radius:50%}.front-footer{padding-bottom:100px}.phone-floating_bottom .mobile-menu-panel{left:12px;right:12px;top:auto;bottom:18px;width:auto}}
@media(max-width:520px){:root{--watch-shell-padding:20px;--watch-recommended-columns:2;--watch-recommended-card-height:205px}.watch-episode-panel-head{align-items:flex-start;flex-direction:column}.watch-episode-list-compact{grid-template-columns:1fr}.tv-watch-episode-item,.anime-watch-episode-item{grid-template-columns:78px 1fr}}

/* COLLECTION FLOATING 3D STACK */
.collection-stack-slider{
    grid-auto-columns:180px;
    gap:18px;
    padding-top:42px;
    padding-bottom:24px;
}

.collection-stack-card{
    width:180px;
    height:220px;
    border:0;
    background:transparent;
    color:#fff;
    position:relative;
    perspective:900px;
}

.collection-stack-posters{
    position:relative;
    display:block;
    width:130px;
    height:170px;
    margin:0 auto 10px;
    transform-style:preserve-3d;
    animation:stackFloat 4.5s ease-in-out infinite;
}

.collection-stack-poster{
    position:absolute;
    inset:0;
    border-radius:18px;
    overflow:hidden;
    background:#111;
    border:1px solid rgba(240,5,5,.42);
    box-shadow:0 18px 40px rgba(0,0,0,.55), 0 0 18px rgba(240,5,5,.18);
    transition:.35s ease;
}

.collection-stack-poster img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.collection-stack-poster:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(0,0,0,.75),transparent 58%);
}

.collection-stack-wrap,
.collection-stack-slider{
    overflow:visible !important;
}

.stack-poster-1{
    z-index:4;
    transform:translate3d(0,0,40px) rotateY(-8deg) rotateZ(-1deg);
}

.stack-poster-2{
    z-index:3;
    transform:translate3d(22px,-10px,10px) rotateY(-16deg) rotateZ(5deg);
    opacity:.9;
}

.stack-poster-3{
    z-index:2;
    transform:translate3d(42px,-20px,-18px) rotateY(-22deg) rotateZ(10deg);
    opacity:.78;
}

.stack-poster-4{
    z-index:1;
    transform:translate3d(62px,-30px,-42px) rotateY(-28deg) rotateZ(15deg);
    opacity:.62;
}

.collection-stack-card:hover .stack-poster-1{
    transform:translate3d(-18px,0,55px) rotateY(-12deg) rotateZ(-4deg) scale(1.03);
}

.collection-stack-card:hover .stack-poster-2{
    transform:translate3d(26px,-18px,25px) rotateY(-18deg) rotateZ(7deg);
}

.collection-stack-card:hover .stack-poster-3{
    transform:translate3d(68px,-32px,-5px) rotateY(-25deg) rotateZ(13deg);
}

.collection-stack-card:hover .stack-poster-4{
    transform:translate3d(108px,-46px,-35px) rotateY(-34deg) rotateZ(20deg);
}

.collection-stack-card:hover .collection-stack-poster{
    border-color:rgba(240,5,5,.85);
    box-shadow:0 22px 55px rgba(0,0,0,.7), 0 0 28px rgba(240,5,5,.35);
}

.collection-stack-empty{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:18px;
    font-weight:900;
    background:radial-gradient(circle,rgba(240,5,5,.22),#090909 70%);
}

.collection-stack-info{
    display:block;
    text-align:center;
    padding:12px 14px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.09);
    background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}

.collection-stack-info strong{
    display:block;
    font-size:13px;
    font-weight:900;
    text-transform:uppercase;
    line-height:1.25;
}

.collection-stack-info small{
    display:block;
    margin-top:5px;
    color:#aaa;
    font-size:11px;
    font-weight:800;
}

@keyframes stackFloat{
    0%,100%{transform:translateY(0) rotateX(0deg)}
    50%{transform:translateY(-8px) rotateX(3deg)}
}

/* FIX CENTER MODAL */
.collection-modal{
    position:fixed!important;
    inset:0!important;
    z-index:99999!important;
    display:none;
    align-items:center;
    justify-content:center;
    padding:28px;
}

.collection-modal.active{
    display:flex!important;
}

.collection-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.82);
    backdrop-filter:blur(16px);
}

.collection-modal-box{
    position:relative;
    width:min(980px,calc(100vw - 40px));
    max-height:none;
    overflow:visible;
    border-radius:34px;
    border:1px solid rgba(240,5,5,.45);
    background:
        linear-gradient(180deg,
        rgba(12,12,14,.98),
        rgba(5,5,7,.98));
    box-shadow:
        0 0 60px rgba(240,5,5,.16),
        0 30px 100px rgba(0,0,0,.82);
}

@media(max-width:760px){
    .collection-stack-slider{
        grid-auto-columns:205px;
    }

    .collection-stack-card{
        width:205px;
        height:270px;
    }

    .collection-stack-posters{
        width:150px;
        height:205px;
    }

    .collection-stack-card:hover .stack-poster-4{
        transform:translate3d(72px,-38px,-35px) rotateY(-30deg) rotateZ(18deg);
    }
}

.collection-modal-item img{
    width:100%;
    height:180px;
    object-fit:cover;
    display:block;
}

.collection-modal-grid{
    display:grid;
    gap:16px;
    padding:24px 30px 30px;
    overflow:visible;
}

.collection-modal-header{
    padding:24px 30px 18px;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.collection-modal-subtitle{
    color:var(--dx-red);
    text-transform:uppercase;
    letter-spacing:6px;
    font-size:11px;
    font-weight:900;
    margin-bottom:10px;
}

.collection-modal-title{
    font-size: clamp(28px, 3vw, 42px);
    font-weight: 900;
    line-height: 1;
    color: #fff;
    margin-top: 6px;
}

.collection-modal-close{
    position:absolute;
    top:22px;
    right:22px;
    width:52px;
    height:52px;
    border-radius:50%;
    border:0;
    cursor:pointer;
    background:var(--dx-red);
    color:#fff;
    font-size:30px;
    font-weight:900;
    box-shadow:0 0 25px rgba(240,5,5,.45);
}

.collection-modal-item{
    overflow:hidden;
    border-radius:20px;
    background:
        linear-gradient(180deg,
        rgba(255,255,255,.06),
        rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.06);
    transition:.25s ease;
}

.collection-modal-item:hover{
    transform:translateY(-6px);
    border-color:rgba(240,5,5,.5);
    box-shadow:0 12px 30px rgba(240,5,5,.18);
}

.collection-modal-item div{
    padding:12px;
}

.collection-modal-item strong{
    display:block;
    font-size:15px;
    line-height:1.35;
    margin-bottom:6px;
}

.collection-modal-item span{
    color:#999;
    font-size:13px;
}

/* USER AUTH / PROFILE */
.auth-page,.profile-page{min-height:100vh;padding:70px 32px;background:radial-gradient(circle at top,rgba(255,255,255,.08),transparent 28%),#030405}.auth-card{width:min(520px,100%);margin:0 auto}.auth-card h1{font-size:34px;text-align:center;margin-bottom:28px}.auth-card label,.settings-form label{display:block;margin:20px 0 10px;color:#eee}.auth-card input,.settings-form input{width:100%;height:52px;border:0;border-radius:7px;background:#25262a;color:#fff;padding:0 18px;font-size:15px;outline:none}.auth-card button,.settings-form button{width:100%;height:54px;margin-top:22px;border:0;border-radius:8px;background:var(--dx-red);color:#fff;font-weight:800;font-size:15px}.auth-switch{text-align:center;color:#888;margin-top:28px}.auth-switch a{color:#fff}.front-alert{padding:14px 16px;border-radius:10px;margin-bottom:18px}.front-alert.danger{background:rgba(240,5,5,.16);border:1px solid rgba(240,5,5,.45);color:#ffb3b3}.front-alert.success{background:rgba(20,180,90,.14);border:1px solid rgba(20,180,90,.35);color:#8cffbc}.profile-shell{width:min(1380px,100%);margin:0 auto}.profile-banner{height:240px;border-radius:10px;background:#222326;overflow:hidden}.profile-banner img{width:100%;height:100%;object-fit:cover}.profile-head{display:flex;align-items:end;gap:22px;margin-top:-54px;padding:0 22px}.profile-avatar{width:112px;height:112px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#000;border:4px solid #030405;font-size:32px;font-weight:900;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-head h1{font-size:24px}.profile-head p{color:#999;margin-top:5px}.profile-tabs{display:flex;gap:28px;margin:28px 0 22px;border-bottom:1px solid rgba(255,255,255,.08)}.profile-tabs a{padding:0 0 16px;color:#ddd}.profile-tabs a.active{color:#fff;border-bottom:3px solid var(--dx-red)}.profile-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.profile-poster-card{background:#111;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}.profile-poster-card img{width:100%;height:230px;object-fit:cover}.profile-poster-card strong{display:block;padding:12px 12px 4px}.profile-poster-card span{display:block;padding:0 12px 14px;color:#999}.profile-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.profile-info-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px}.profile-info-card strong{display:block;color:#999;margin-bottom:8px}.profile-info-card span{color:#fff}.settings-form{width:min(900px,100%)}.settings-form hr{border:0;border-top:1px solid rgba(255,255,255,.10);margin:34px 0}.settings-form button{width:240px}@media(max-width:900px){.profile-grid{grid-template-columns:repeat(3,1fr)}.profile-overview-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.profile-grid{grid-template-columns:repeat(2,1fr)}.profile-head{align-items:center}.profile-tabs{overflow-x:auto}.auth-page,.profile-page{padding:40px 18px 100px}}

.profile-activity{
    margin-top:28px;
}

.profile-activity-title{
    font-size:24px;
    font-weight:900;
    margin-bottom:18px;
}

.profile-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
    margin-bottom:24px;
}

.profile-stat-card{
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    padding:20px;
}

.profile-stat-card strong{
    display:block;
    color:#999;
    margin-bottom:10px;
}

.profile-stat-card span{
    font-size:28px;
    font-weight:900;
    color:#fff;
}

.profile-recent{
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    border-radius:14px;
    padding:20px;
}

.profile-recent h3{
    margin:0 0 16px;
}

.profile-recent-item{
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.profile-recent-item:last-child{
    border-bottom:none;
}

.profile-recent-item strong{
    display:block;
    color:#fff;
}

.profile-recent-item span{
    color:#999;
    font-size:13px;
}

@media(max-width:1100px){
    .profile-stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .profile-stats-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================
   DXSTREAM AUTH
========================================= */

.auth-page{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:40px;
    position:relative;
    overflow:hidden;
    background:
        radial-gradient(circle at top, rgba(240,5,5,.18), transparent 35%),
        #000;
}

.auth-card{
    width:100%;
    max-width:540px;
    background:rgba(10,10,12,.96);
    border:1px solid rgba(255,255,255,.06);
    border-radius:28px;
    padding:42px;
    position:relative;
    overflow:hidden;
    box-shadow:
        0 0 60px rgba(240,5,5,.12),
        inset 0 0 0 1px rgba(255,255,255,.03);
}

.auth-card::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at top, rgba(240,5,5,.12), transparent 55%);
    pointer-events:none;
}

.auth-title{
    font-size:52px;
    font-weight:800;
    text-align:center;
    margin-bottom:34px;
    color:#fff;
    letter-spacing:-1px;
}

.auth-form{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.auth-field{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.auth-field label{
    color:#fff;
    font-size:15px;
    font-weight:600;
}

.auth-input{
    height:58px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.06);
    background:#1a1a20;
    color:#fff;
    padding:0 18px;
    font-size:15px;
    outline:none;
    transition:.2s ease;
}

.auth-input:focus{
    border-color:#f00505;
    box-shadow:0 0 20px rgba(240,5,5,.18);
}

.auth-submit{
    height:60px;
    border:none;
    border-radius:14px;
    background:#f00505;
    color:#fff;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease;
}

.auth-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 30px rgba(240,5,5,.35);
}

.auth-footer{
    margin-top:28px;
    text-align:center;
    color:#8b8b95;
    font-size:14px;
}

.auth-footer a{
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.auth-error{
    background:rgba(240,5,5,.14);
    border:1px solid rgba(240,5,5,.35);
    color:#ffb1b1;
    padding:14px 18px;
    border-radius:14px;
    margin-bottom:22px;
    font-size:14px;
}

.auth-success{
    background:rgba(0,255,120,.12);
    border:1px solid rgba(0,255,120,.25);
    color:#9dffc8;
    padding:14px 18px;
    border-radius:14px;
    margin-bottom:22px;
    font-size:14px;
}

@media(max-width:768px){

    .auth-page{
        padding:20px;
    }

    .auth-card{
        padding:30px 24px;
        border-radius:22px;
    }

    .auth-title{
        font-size:42px;
    }
}

/* AUTH PAGE FIX WITH LEFT SIDEBAR */
.auth-page{
    width:100%;
    min-height:100vh;
    padding:70px 32px 100px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.auth-card{
    width:min(520px,100%);
    margin:0 auto;
    position:relative;
    z-index:5;
}

.auth-card form{
    display:block;
    width:100%;
}

.auth-card label{
    display:block;
    margin:20px 0 10px;
    color:#eee;
}

.auth-card input{
    display:block;
    width:100%;
    height:52px;
    border:0;
    border-radius:7px;
    background:#25262a;
    color:#fff;
    padding:0 18px;
    font-size:15px;
    outline:none;
}

.auth-card button{
    display:block;
    width:100%;
    height:54px;
    margin-top:22px;
    border:0;
    border-radius:8px;
    background:var(--dx-red);
    color:#fff;
    font-weight:800;
    font-size:15px;
}

.auth-card{
    height:auto!important;
    min-height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:42px!important;
}

.auth-card form{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    visibility:visible!important;
    opacity:1!important;
    height:auto!important;
    overflow:visible!important;
}

.auth-card label,
.auth-card input,
.auth-card button,
.auth-switch{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
}

.auth-card input{
    width:100%!important;
    height:54px!important;
    background:#25262a!important;
    color:#fff!important;
    border-radius:8px!important;
    padding:0 18px!important;
}

.tv-watch-episode-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
}

.episode-watched-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(0,255,120,.12);
    border:1px solid rgba(0,255,120,.22);
    color:#63ff9a;
    font-size:10px;
    font-weight:700;
    padding:4px 8px;
    border-radius:999px;
    white-space:nowrap;
}

.episode-line{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    overflow:hidden;
}

.episode-watch-check{
    color:#00ff84;
    font-size:13px;
    font-weight:700;
    line-height:1;
    flex-shrink:0;
}

.tv-watch-episode-item{
    display:grid !important;
    grid-template-columns:110px minmax(0,1fr);
    align-items:center;
    gap:12px;
}

.episode-number{
    font-size:13px;
    color:#cfcfcf;
    white-space:nowrap;
}

.episode-title{
    display:block;
    min-width:0;
    font-size:14px;
    font-weight:700;
    color:#fff;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.section-continue_watching .poster-caption span{
    color:#d0d0d0;
    font-size:8px !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    opacity:.82 !important;
}

.continue-row{
    border-left:3px solid rgba(240,5,5,.65);
    padding-left:14px;
}

.hero-continue-panel{
    position:absolute;
    right:42px;
    top:110px;
    width:330px;
    padding:22px;
    border-left:1px solid rgba(255,255,255,.18);
    background:linear-gradient(90deg,rgba(0,0,0,.12),rgba(0,0,0,.55));
    backdrop-filter:blur(16px);
    z-index:20;
}

.hero-continue-panel{
    position:absolute;
    right:55px;
    top:95px;
    width:320px;
    padding-left:28px;
    z-index:20;

    background:transparent;
    backdrop-filter:none;
    border:none;
}

.hero-continue-panel::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:1px;
    height:100%;
    background:linear-gradient(
        to bottom,
        rgba(255,255,255,.05),
        rgba(255,255,255,.28),
        rgba(255,255,255,.05)
    );
}

.hero-continue-panel h3{
    margin:0 0 18px;
    font-size:18px;
    font-weight:700;
    color:#f3f3f3;
    letter-spacing:.2px;
    line-height:1.1;
}

.hero-continue-item{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:16px;
    color:#fff;
    text-decoration:none;

    transition:.2s ease;
}

.hero-continue-item:hover{
    transform:translateX(4px);
}

.hero-continue-item img{
    width:96px;
    height:56px;
    object-fit:cover;
    border-radius:10px;

    box-shadow:
        0 8px 20px rgba(0,0,0,.35);
}

.hero-continue-item strong{
    display:block;

    font-size:11px;
    font-weight:600;

    line-height:1.35;

    color:#f7f7f7;

    text-transform:uppercase;
}

.hero-continue-item span{
    display:block;
    margin-top:3px;

    font-size:11px;
    font-weight:400;

    color:rgba(255,255,255,.58);
}

.poster-card{
    position:relative;
}

.poster-badges{
    position:absolute;
    top:10px;
    left:10px;
    right:10px;
    z-index:8;
    display:flex;
    justify-content:space-between;
    align-items:center;
    pointer-events:none;
}

.poster-quality,
.poster-rating{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:24px;
    padding:0 8px;
    border-radius:6px;
    font-size:12px;
    font-weight:900;
    line-height:1;
    white-space:nowrap;
}

.poster-quality{
    background:#f00505;
    color:#fff;
}

.poster-rating{
    background:#ffc400;
    color:#000;
}

.hero-continue-item:hover .hero-resume-btn{
    opacity:1;
}

.hero-continue-info strong{
    display:block;
    font-size:11px;
    font-weight:700;
    line-height:1.25;
    text-transform:uppercase;
}

.hero-continue-info small{
    display:block;
    margin-top:3px;
    font-size:10px;
    font-weight:500;
    color:rgba(255,255,255,.72);
    line-height:1.25;
}

.hero-continue-info span{
    display:block;
    margin-top:3px;
    font-size:10px;
    color:rgba(255,255,255,.55);
}

.hero-continue-item .hero-continue-thumb{
    position:relative !important;
    display:block !important;
    width:82px !important;
    height:48px !important;
    flex:0 0 82px !important;
    overflow:hidden !important;
    border-radius:8px !important;
}

.hero-continue-item .hero-continue-thumb img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:8px !important;
}

.hero-continue-item .hero-resume-btn{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:10 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    background:rgba(0,0,0,.72) !important;
    opacity:0;
    border-radius:8px !important;
}

.hero-continue-item:hover .hero-resume-btn{
    opacity:1 !important;
}

.hero-continue-item .hero-resume-btn::before{
    content:'▶' !important;
    display:block !important;
    color:#f00505 !important;
    font-size:22px !important;
    line-height:1 !important;
    margin:0 0 3px 0 !important;
    padding:0 !important;
    text-shadow:0 0 10px rgba(240,5,5,.65) !important;
}

.hero-continue-item .hero-resume-btn::after{
    content:'Resume' !important;
    display:block !important;
    color:#fff !important;
    font-size:8px !important;
    line-height:1 !important;
    font-weight:900 !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
}

.watch-player{
    position:relative;
}

.next-episode-overlay{
    position:absolute;
    right:28px;
    bottom:95px;
    width:260px;
    padding:16px 18px;
    border-radius:16px;
    background:rgba(0,0,0,.82);
    border:1px solid rgba(240,5,5,.45);
    color:#fff;
    text-decoration:none;
    z-index:80;
    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
    transition:.25s ease;
    box-shadow:0 18px 50px rgba(0,0,0,.55);
}

.next-episode-overlay.show{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

.next-episode-overlay span{
    display:block;
    color:#f00505;
    font-size:11px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:6px;
}

.next-episode-overlay strong{
    display:block;
    font-size:16px;
    font-weight:900;
    margin-bottom:4px;
}

.next-episode-overlay small{
    display:block;
    color:#bbb;
    font-size:12px;
    line-height:1.35;
}

.search-box{
    position:relative;
    width:min(720px,90vw);
}

.global-search-results{
    position:absolute;
    top:64px;
    left:0;
    right:0;
    z-index:999999;
    display:none;
    background:#111216;
    border:1px solid rgba(255,255,255,.1);
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 22px 70px rgba(0,0,0,.75);
}

.global-search-results.active{
    display:block;
}

.global-search-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:12px;
    color:#fff;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.06);
}

.global-search-item:last-child{
    border-bottom:none;
}

.global-search-item:hover{
    background:rgba(240,5,5,.14);
}

.global-search-item img,
.global-search-noimg{
    width:74px;
    height:44px;
    object-fit:cover;
    border-radius:8px;
    background:#222;
    flex-shrink:0;
}

.global-search-item strong{
    display:block;
    font-size:14px;
    color:#fff;
}

.global-search-item span,
.global-search-empty{
    display:block;
    color:#999;
    font-size:12px;
}

.global-search-empty{
    padding:16px;
}

/* ENHANCED GLOBAL SEARCH */
.global-search-results{
    max-height:520px;
    overflow-y:auto;
}

.global-search-section{
    padding:8px 0;
}

.global-search-heading{
    padding:10px 14px 7px;
    color:#f00505;
    font-size:11px;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.global-search-item.selected,
.global-search-item:hover{
    background:rgba(240,5,5,.16);
}

.search-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:18px;
    padding:0 7px;
    border-radius:6px;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
    margin-right:6px;
    color:#fff;
}

.search-badge-movie{
    background:#0d6efd;
}

.search-badge-tv{
    background:#16a34a;
}

.search-badge-anime{
    background:#9333ea;
}

.global-search-viewall{
    display:block;
    padding:14px 16px;
    color:#fff;
    background:rgba(240,5,5,.12);
    border-top:1px solid rgba(255,255,255,.08);
    font-size:13px;
    font-weight:800;
    text-align:center;
}

.global-search-viewall:hover{
    background:rgba(240,5,5,.24);
}

.global-search-recent{
    display:block;
    width:100%;
    padding:12px 16px;
    border:0;
    background:transparent;
    color:#ddd;
    text-align:left;
    font-size:14px;
    font-weight:700;
}

.global-search-recent:hover{
    background:rgba(240,5,5,.14);
    color:#fff;
}

.global-search-empty a{
    display:inline-block;
    margin-left:8px;
    color:#fff;
    font-weight:800;
}

.search-page-main{
    min-height:100vh;
    padding:70px 48px 60px;
}

.search-page-hero{
    width:min(1280px,100%);
    margin:0 auto 34px;
    padding:34px;
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
    border:1px solid rgba(255,255,255,.08);
}

.search-page-form h1{
    font-size:38px;
    margin-bottom:22px;
}

.search-page-input-wrap{
    display:flex;
    gap:12px;
}

.search-page-input-wrap input{
    flex:1;
    height:58px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.12);
    background:#151515;
    color:#fff;
    padding:0 18px;
    font-size:17px;
    outline:none;
}

.search-page-input-wrap button{
    width:140px;
    border:0;
    border-radius:12px;
    background:var(--dx-red);
    color:#fff;
    font-weight:900;
}

.search-page-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.search-page-tabs a{
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#ddd;
    font-size:13px;
    font-weight:800;
}

.search-page-tabs a.active,
.search-page-tabs a:hover{
    background:var(--dx-red);
    color:#fff;
}

.search-page-count{
    margin-top:18px;
    color:#aaa;
}

.search-page-count strong{
    color:#fff;
}

.search-page-results{
    width:min(1280px,100%);
    margin:0 auto;
}

.search-result-total{
    color:#888;
    font-size:15px;
}

.search-result-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:1100px){
    .search-result-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .search-page-main{
        padding:40px 20px 110px;
    }

    .search-page-hero{
        padding:22px;
    }

    .search-page-form h1{
        font-size:28px;
    }

    .search-page-input-wrap{
        flex-direction:column;
    }

    .search-page-input-wrap button{
        width:100%;
        height:52px;
    }

    .search-result-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

.global-search-results{
    top:70px;
}

.global-search-recent{
    height:42px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 16px !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:700 !important;
    color:#fff !important;
    background:transparent !important;
    border:0 !important;
}

.global-search-section{
    padding-top:8px !important;
    padding-bottom:8px !important;
}

.global-search-heading{
    display:block !important;
    height:auto !important;
    padding:10px 16px 8px !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:900 !important;
}

.recent-search-section{
    display:block !important;
}

.global-search-recent-list{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
}

.global-search-recent{
    width:100% !important;
    height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    padding:0 16px !important;
    background:transparent !important;
    border:0 !important;
    color:#fff !important;
    text-align:left !important;
}

.global-search-recent span{
    display:block !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:700 !important;
}

.global-search-recent{
    position:static !important;
    transform:none !important;
    right:auto !important;
    top:auto !important;
    font-size:14px !important;
}

.browse-page-main{
    min-height:100vh;
    padding:70px 48px 60px;
}

.browse-page-hero{
    width:min(1380px,100%);
    margin:0 auto 34px;
    padding:34px;
    border-radius:24px;
    background:
        linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),
        radial-gradient(circle at top right,rgba(240,5,5,.16),transparent 36%);
    border:1px solid rgba(255,255,255,.08);
}

.browse-kicker{
    display:block;
    margin-bottom:12px;
    color:var(--dx-red);
    font-size:12px;
    font-weight:900;
    letter-spacing:.22em;
}

.browse-page-hero h1{
    font-size:42px;
    line-height:1;
    margin-bottom:10px;
}

.browse-page-hero p{
    color:#aaa;
}

.browse-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.browse-tabs a{
    padding:11px 17px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#ddd;
    font-size:13px;
    font-weight:900;
}

.browse-tabs a.active,
.browse-tabs a:hover{
    background:var(--dx-red);
    border-color:var(--dx-red);
    color:#fff;
}

.browse-page-results{
    width:min(1380px,100%);
    margin:0 auto;
}

.browse-result-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.browse-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:34px;
}

.browse-pagination a,
.browse-pagination span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    font-weight:800;
}

.browse-pagination a:hover{
    background:var(--dx-red);
    border-color:var(--dx-red);
}

@media(max-width:1100px){
    .browse-result-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .browse-page-main{
        padding:40px 20px 110px;
    }

    .browse-page-hero{
        padding:24px;
    }

    .browse-page-hero h1{
        font-size:32px;
    }

    .browse-result-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

.browse-count{
    margin-top:8px;
    color:#bbb!important;
}

.browse-period-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}

.browse-period-tabs a{
    padding:9px 14px;
    border-radius:999px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    color:#ccc;
    font-size:12px;
    font-weight:900;
}

.browse-period-tabs a.active,
.browse-period-tabs a:hover{
    background:#fff;
    color:#000;
}

.top-ten-card{
    overflow:hidden;
}

.top-ten-rank{
    position:absolute;
    left:14px;
    bottom:58px;
    z-index:6;
    font-size:54px;
    font-weight:1000;
    line-height:1;
    color:rgba(255,255,255,.92);
    text-shadow:0 12px 30px rgba(0,0,0,.95);
    pointer-events:none;
}

.top-ten-card .poster-caption{
    padding-left:74px;
}

.browse-progress{
    position:absolute;
    left:12px;
    right:12px;
    bottom:10px;
    z-index:8;
    height:4px;
    border-radius:999px;
    background:rgba(255,255,255,.16);
    overflow:hidden;
}

.browse-progress i{
    display:block;
    height:100%;
    border-radius:999px;
    background:var(--dx-red);
}

.top-trending-section{
    position:relative;
    z-index:5;
    padding:0 48px 34px;
    margin-top:-18px;
}

.top-trending-row{
    display:flex;
    gap:18px;
    overflow-x:auto;
    padding:8px 4px 16px;
    scroll-behavior:smooth;
}

.top-trending-row::-webkit-scrollbar{
    height:0;
}

.top-trending-card{
    position:relative;
    flex:0 0 210px;
    height:300px;
    border-radius:14px;
    overflow:hidden;
    background:#111;
    border:1px solid rgba(255,255,255,.08);
}

.top-trending-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.top-trending-card::after{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.9) 100%);
}

.top-trending-rank{
    position:absolute;
    left:-8px;
    bottom:20px;
    z-index:4;
    font-size:120px;
    font-weight:1000;
    line-height:.8;
    color:#000;
    -webkit-text-stroke:3px #fff;
    text-shadow:0 12px 35px rgba(0,0,0,.9);
}

.top-trending-caption{
    position:absolute;
    left:78px;
    right:12px;
    bottom:18px;
    z-index:5;
}

.top-trending-caption strong{
    display:block;
    color:#fff;
    font-size:13px;
    font-weight:900;
    line-height:1.15;
    text-transform:uppercase;
}

.top-trending-caption small{
    display:block;
    margin-top:4px;
    color:#ccc;
    font-size:11px;
}

@media(max-width:760px){
    .top-trending-section{
        padding:0 20px 28px;
    }

    .top-trending-card{
        flex-basis:170px;
        height:245px;
    }

    .top-trending-rank{
        font-size:92px;
    }
}

.top-trending-wrapper{
    position:relative;
}

.top-trending-row{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scrollbar-width:none;
}

.top-trending-row::-webkit-scrollbar{
    display:none;
}

.top-trending-wrapper .carousel-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:20;
}

.top-trending-wrapper .prev{
    left:-20px;
}

.top-trending-wrapper .next{
    right:-20px;
}

.top-trending-wrapper .slide-left{
    left:-26px;
}

.top-trending-wrapper .slide-right{
    right:-26px;
}

.top-trending-wrapper .slide-arrow{
    top:50%;
    transform:translateY(-50%);
}

.section-top_10_today .top-trending-caption{
    left:96px;
    right:12px;
}

.section-top_10_today .top-trending-rank{
    left:8px;
    max-width:110px;
}

.section-top_10_today .top-trending-card:nth-child(10) .top-trending-caption{
    left:118px;
}

.homepage-poster-mode .poster-slider{
    align-items:flex-start;
}

.homepage-poster-mode .poster-card{
    flex:0 0 190px;
    width:190px;
    height:285px;
}

.homepage-poster-mode .poster-grid{
    grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
}

.homepage-poster-mode .poster-card img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.homepage-poster-mode .poster-caption{
    min-height:76px;
}

.homepage-poster-mode .section-top_10_today .top-trending-card{
    flex:0 0 190px;
    width:190px;
    height:285px;
}

/* Live Channels must stay cinematic/wide */
.homepage-poster-mode .section-live .poster-card,
.homepage-poster-mode .section-live_channels .poster-card,
.homepage-poster-mode .section-latest_live .poster-card{
    flex:0 0 320px !important;
    width:320px !important;
    height:135px !important;
}

/* Collections should not become huge */
.homepage-poster-mode .collection-stack-card{
    flex:0 0 230px !important;
    width:230px !important;
    height:auto !important;
}

.homepage-poster-mode .collection-stack-slider{
    justify-content:flex-start !important;
    gap:18px !important;
}

/* Poster mode spacing - balanced size */
.homepage-poster-mode .content-row:not(.section-top_10_today):not(.section-live):not(.section-live_channels):not(.section-latest_live) .poster-slider{
    display:flex;
    justify-content:flex-start !important;
    gap:18px !important;
    padding:0 6px 16px !important;
}

.homepage-poster-mode .content-row:not(.section-top_10_today):not(.section-live):not(.section-live_channels):not(.section-latest_live) .poster-card{
    flex:0 0 198px !important;
    width:198px !important;
    height:285px !important;
}

/* Top 10 can stay slightly smaller so all 10 are visible */
.homepage-poster-mode .section-top_10_today .poster-card{
    flex:0 0 198px !important;
    width:198px !important;
    height:285px !important;
}

/* Live channels stay cinematic/wide */
.homepage-poster-mode .section-live .poster-card,
.homepage-poster-mode .section-live_channels .poster-card,
.homepage-poster-mode .section-latest_live .poster-card{
    flex:0 0 320px !important;
    width:320px !important;
    height:190px !important;
}

.section-continue_watching .poster-caption span{
    font-size:8px !important;
    line-height:1.05 !important;
    font-weight:600 !important;
    opacity:.82 !important;
}