:root{--bg:#08090b;--panel:#121419;--text:#f5f7fb;--muted:#a5a9b4;--accent:#f43f5e;--card:#151821}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;height:70px;display:flex;align-items:center;gap:28px;padding:0 4vw;background:linear-gradient(#08090bee,transparent)}.brand{font-size:27px;font-weight:900;letter-spacing:.14em}.topbar nav{display:flex;gap:4px}.nav-btn{border:0;background:transparent;color:#d4d7df;padding:9px 12px;border-radius:10px;cursor:pointer}.nav-btn.active,.nav-btn:hover{background:#ffffff10;color:white}.search-wrap{margin-left:auto}.search-wrap input{width:min(31vw,360px);border:1px solid #ffffff22;background:#0b0d12cc;color:white;border-radius:999px;padding:11px 16px;outline:none}.hero{min-height:72vh;display:flex;align-items:flex-end;padding:0 6vw 7vh;background-position:center;background-size:cover;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#08090bf2 0%,#08090b9c 44%,#08090b1c 76%),linear-gradient(0deg,#08090b 0%,transparent 45%)}.hero-inner{position:relative;max-width:680px}.hero h1{font-size:clamp(40px,7vw,88px);line-height:.95;margin:0 0 18px}.hero p{color:#d7d9df;font-size:17px;line-height:1.5;max-width:630px}.meta{display:flex;gap:10px;color:#ddd;font-size:14px;margin-bottom:12px}.pill{background:#ffffff15;border:1px solid #ffffff17;padding:5px 9px;border-radius:999px}.actions{display:flex;gap:10px;margin-top:20px}.btn{border:0;border-radius:10px;padding:12px 18px;font-weight:750;cursor:pointer}.btn.primary{background:white;color:#08090b}.btn.secondary{background:#ffffff1b;color:white}.rows{padding:0 0 60px}.row{margin:0 0 30px}.row h2{font-size:21px;margin:0 4vw 13px}.scroller{display:flex;gap:12px;overflow-x:auto;padding:0 4vw 12px;scrollbar-width:none}.scroller::-webkit-scrollbar{display:none}.poster{flex:0 0 174px;aspect-ratio:2/3;background:var(--card);border-radius:10px;overflow:hidden;position:relative;cursor:pointer;transform:translateZ(0);transition:.2s}.poster:hover{transform:scale(1.045);z-index:2}.poster img{width:100%;height:100%;object-fit:cover}.poster .caption{position:absolute;inset:auto 0 0;padding:40px 10px 9px;background:linear-gradient(transparent,#000e);font-size:13px;font-weight:700}.search-results{padding:100px 4vw 50px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.hidden{display:none!important}.modal{position:fixed;z-index:50;inset:0;background:#000b;display:grid;place-items:center;padding:4vh 4vw}.modal-card,.player-card{position:relative;width:min(980px,96vw);max-height:92vh;overflow:auto;background:#111318;border:1px solid #ffffff16;border-radius:18px;box-shadow:0 30px 90px #000b}.modal-hero{min-height:480px;padding:270px 40px 38px;background-position:center;background-size:cover;position:relative}.modal-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111318 6%,transparent 70%),linear-gradient(90deg,#111318dd,transparent)}.modal-copy{position:relative;max-width:700px}.modal-copy h2{font-size:46px;margin:0 0 12px}.close{position:absolute;right:16px;top:16px;z-index:2;border:0;background:#000a;color:#fff;width:38px;height:38px;border-radius:50%;font-size:25px;cursor:pointer}.details-body{padding:0 40px 40px;color:#d7d9e0}.player-card{padding:58px 18px 18px}.player-card video{display:block;width:100%;max-height:75vh;background:#000;border-radius:10px}.source-bar{display:flex;align-items:center;gap:12px;padding-top:12px}.source-bar select{background:#1c2029;color:#fff;border:1px solid #ffffff20;padding:10px;border-radius:8px}.loading{background:#111318}.empty{padding:30px;color:var(--muted)}@media(max-width:720px){.topbar{gap:8px;padding:0 14px}.brand{font-size:20px}.topbar nav{display:none}.search-wrap input{width:48vw}.hero{min-height:63vh;padding:0 18px 45px}.hero h1{font-size:45px}.poster{flex-basis:135px}.row h2{margin-left:18px}.scroller{padding-left:18px}.modal{padding:0}.modal-card,.player-card{width:100vw;height:100vh;max-height:none;border-radius:0}.modal-hero{padding:300px 20px 25px}.details-body{padding:0 20px 30px}.modal-copy h2{font-size:34px}}
.episode-picker{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.episode-picker label{display:grid;gap:6px;font-size:12px;color:#c6c9d2}.episode-picker select{min-width:170px;max-width:310px;background:#141820e8;color:#fff;border:1px solid #ffffff26;border-radius:9px;padding:10px 12px}.btn:disabled{opacity:.55;cursor:wait}.source-bar{flex-wrap:wrap}.source-bar #playerStatus{color:#b8bdc9;font-size:13px}
