:root{color-scheme:dark;font-family:Segoe UI,system-ui,sans-serif;background:#090c12;color:#f5f5f6;--accent:#9dbdff;--muted:#b2b2bb}*{box-sizing:border-box}body{margin:0}header{height:90px;border-bottom:1px solid #303035;display:flex;align-items:center;justify-content:space-between;padding:0 6vw}a{color:inherit;text-decoration:none}.brand{font-size:25px;font-weight:800;letter-spacing:-1px}.brand span{font-weight:400;letter-spacing:3px;font-size:12px;margin-left:12px;color:var(--accent)}.tag,.muted,footer{color:var(--muted);font-size:14px}main{max-width:1440px;margin:auto;padding:65px 6vw;min-height:calc(100vh - 150px)}h1{font-size:clamp(36px,5vw,62px);line-height:1.08;letter-spacing:-2px;margin:14px 0 22px;font-weight:600}h2{font-size:23px;letter-spacing:-.5px}p{color:var(--muted);line-height:1.65}.eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--accent);font-weight:600}.panel{background:#202024;border:1px solid #37373e;border-radius:18px;padding:30px}.narrow{max-width:640px;margin:25px auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px}label{display:block;color:#c4c4cc;font-size:13px;margin:16px 0 8px}input{display:block;width:100%;padding:14px 16px;background:#17171b;border:1px solid #505059;border-radius:9px;color:#fff;font:inherit;margin:8px 0 14px}button{background:var(--accent);border:1px solid transparent;border-radius:9px;color:#0b1424;padding:12px 20px;font:600 14px Segoe UI,system-ui;cursor:pointer}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c8d9ff;outline-offset:4px}.secondary,.filters button{background:transparent;color:#d0d0d7;border-color:#51515a}.filters{display:flex;gap:10px;margin:22px 0 32px}.filters .selected{background:var(--accent);color:#0b1424;border-color:var(--accent)}.search{width:280px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:24px}.card{padding:0;text-align:left;background:transparent;color:#f5f5f6;min-width:0}.poster{aspect-ratio:2/3;background:linear-gradient(145deg,#493039,#242126 58%,#592a32);border:1px solid #65434b;border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;overflow:hidden}.poster .initial{font-size:75px;font-weight:300;align-self:center;color:#9dbdff78}.poster .format{font-size:10px;letter-spacing:2px;color:#e5dce0}.poster .play{font-size:12px;color:var(--accent)}.card strong{display:block;margin-top:14px;overflow-wrap:anywhere;font-size:16px}.card small{display:block;color:var(--muted);font-weight:400;margin-top:8px}.admin-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:35px}.admin li{overflow-wrap:anywhere;color:var(--muted);padding:7px 0}footer{padding:0 6vw 24px}dialog{padding:24px;background:#1b1b20;color:#fff;border:1px solid #55555e;border-radius:16px;width:min(1100px,95vw);max-height:95vh}dialog::backdrop{background:#000d}.player-head{display:flex;justify-content:space-between;align-items:center;gap:18px}video{width:100%;max-height:68vh;background:#000}#message{color:#c8d9ff;white-space:pre-line}[hidden]{display:none!important}@media(max-width:700px){header{height:72px}.tag{display:none}main{padding-top:35px}.heading{display:block}.search{width:100%}.admin-grid{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.panel{padding:22px}.poster{padding:14px}.poster .initial{font-size:55px}}
/* Streaming experience */
.stream-app{background:#090c12}.stream-header{position:sticky;top:0;z-index:5;background:#090c12ed;backdrop-filter:blur(16px);height:80px;gap:35px}.stream-header nav{display:flex;gap:8px;flex:1}.stream-header nav button{background:transparent;color:#b2b2bb;padding:10px 13px;font-weight:400}.stream-header nav button[aria-current]{color:#fff;font-weight:700}.stream-header nav button[aria-current]::after{content:'';display:block;height:2px;background:var(--accent);margin-top:7px}.stream-app main{max-width:none;padding:0 6vw 35px}.stream-app #connect{margin-top:70px}.hero{position:relative;min-height:560px;margin:0 -6vw;padding:75px 6vw 85px;overflow:hidden;background:#111b2b;isolation:isolate}.hero-art{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 25%,#28466c 0,transparent 48%),linear-gradient(115deg,#19171b 35%,#1e3048 70%,#18171c);z-index:-3}.hero-monogram{position:absolute;right:8%;top:-160px;font-size:780px;line-height:1.1;font-weight:900;font-style:italic;transform:rotate(-13deg);color:#9dbdff18;text-shadow:15px 0 0 #e3919820}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#090c12,transparent 35%),linear-gradient(90deg,#090c12e8,transparent 85%)}.hero-copy{max-width:660px}.hero-kicker{letter-spacing:3px;font-size:10px;color:#b5a8ac;margin-top:32px}.hero h1{font-size:clamp(40px,5.5vw,78px);line-height:1.04;margin:18px 0 22px;overflow-wrap:anywhere;max-width:650px}.hero-copy>p:not(.eyebrow):not(.hero-kicker){max-width:470px}.title-meta{font-size:13px;color:#d6cbd0;letter-spacing:.5px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.primary-play{background:#9dbdff;color:#0b1424;padding:14px 24px}.glass{background:#ffffff17;color:#fff;border-color:#ffffff21;backdrop-filter:blur(5px)}.hero-signature{position:absolute;bottom:70px;right:6vw;font-size:9px;letter-spacing:4px;color:#bca7ad}.browse-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:12px 0 30px}.browse-heading h2{font-size:29px;margin:5px 0}.browse-heading p{margin:6px 0}.browse-heading .eyebrow{font-size:10px}.browse-tools{display:flex;align-items:center;gap:16px}.browse-tools input{width:260px;margin-bottom:0}.browse-tools label{margin:0}.browse-tools>button{margin-top:22px}.shelf{margin:30px 0 44px}.shelf-heading{display:flex;justify-content:space-between;align-items:center}.shelf h2{font-size:22px;margin:0 0 7px}.shelf-heading p{font-size:13px;margin:0 0 17px}.rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;padding:10px 4px 16px;margin:0 -4px;scrollbar-width:thin;scrollbar-color:#55515a transparent}.media-card{flex:0 0 260px;min-width:0;scroll-snap-align:start}.cover{width:100%;height:165px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;padding:20px;background:radial-gradient(ellipse at 100% 0,#823c4b,transparent 65%),linear-gradient(140deg,#332b37,#1d1c23);color:#fff;border:1px solid #58404b;border-radius:10px;transition:transform .18s}.media-card:nth-child(3n+2) .cover{background:radial-gradient(ellipse at 100% 0,#4c535d,transparent 65%),linear-gradient(140deg,#2c3036,#1c1c22);border-color:#474b54}.media-card:nth-child(3n) .cover{background:radial-gradient(ellipse at 100% 0,#695046,transparent 65%),linear-gradient(140deg,#3b2b2a,#211c20);border-color:#594643}.cover:hover{transform:translateY(-3px)}.cover-brand{font-size:10px;letter-spacing:2px;color:#c8d9ff}.cover-title{font-size:24px;font-weight:700;line-height:1.1;letter-spacing:-.8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cover-caption{font-size:8px;letter-spacing:2px;color:#c4b6c0}.card-title-line{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:10px}.card-title-line h3{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-icon{padding:0;flex:0 0 30px;height:30px;border-radius:50%;border:1px solid #65616b;background:transparent;color:#fff;font-size:18px}.card-meta{font-size:11px;margin:4px 0 10px}.card-play{padding:6px 0;background:none;color:#c8d9ff;font-size:12px}.watch-progress{display:block;width:100%;height:3px;border:0;margin:8px 0;accent-color:var(--accent)}.watch-progress::-webkit-progress-bar{background:#40383e}.watch-progress::-webkit-progress-value{background:var(--accent)}.rail-controls{display:flex;gap:8px}.rail-arrow{width:32px;height:32px;padding:0;font-size:24px;color:#ddd;background:#242328;border-color:#44414a}.details-dialog{max-width:780px;padding:35px;background:linear-gradient(145deg,#202c40,#1c1b21 60%)}.detail-top{display:flex;justify-content:space-between;align-items:center}.details-dialog h2{font-size:36px;overflow-wrap:anywhere}.details-dialog .actions{margin-bottom:28px}.episodes{display:grid;gap:8px}.episode-button{text-align:left;background:#ffffff08;color:#ddd;border-color:#ffffff15;padding:17px}.episode-button[aria-current]{border-color:var(--accent);color:#c8d9ff}.player-head h2{margin-top:0}.player-head .eyebrow{margin-bottom:6px}.player-tools{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:14px}.player-tools label{margin:0}.player-tools select{display:block;margin-top:5px;padding:9px;border:1px solid #53515a;border-radius:7px;background:#25242b;color:#eee;max-width:260px}.check-label{display:flex;align-items:center;gap:9px}.check-label input{width:auto;margin:0;accent-color:var(--accent)}.next-up{display:flex;align-items:center;gap:16px;padding:18px;margin-top:20px;background:#1b293e;border:1px solid #435e85;border-radius:10px}.next-up>div{flex:1}.next-up p{margin:5px 0}.empty-state{padding:45px;text-align:center}.stream-app footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #303035;padding:30px 6vw;font-size:12px}.stream-app #message:empty{display:none}
@media(min-width:1700px){.hero-copy{max-width:800px}.hero{min-height:660px;padding-top:100px}.media-card{flex-basis:310px}.cover{height:190px}}
@media(max-width:800px){.stream-header{height:auto;min-height:80px;flex-wrap:wrap;gap:6px;padding-top:15px;padding-bottom:8px}.stream-header nav{flex-basis:100%;gap:0}.stream-header nav button{padding:10px;font-size:13px}.stream-header .tag{display:none}.hero{min-height:490px;padding-top:35px;padding-bottom:45px}.hero-signature{display:none}.hero-monogram{right:-40%;font-size:600px;top:-60px}.hero-copy{max-width:100%}.hero .actions{gap:8px}.hero .actions button{font-size:12px;padding:12px}.browse-heading{display:block}.browse-tools{gap:10px;margin-top:20px}.browse-tools label{flex:1}.browse-tools input{width:100%}.browse-tools>button{font-size:12px;padding:13px}.media-card{flex-basis:230px}.cover{height:145px}.shelf{margin-bottom:30px}.details-dialog{padding:22px}.details-dialog h2{font-size:28px}.next-up{flex-wrap:wrap}.next-up>div{flex-basis:100%}.stream-app footer .brand{font-size:18px}.stream-app footer .brand span{font-size:9px}.stream-app footer{gap:20px}}
@media(prefers-reduced-motion:reduce){.cover{transition:none}.rail{scroll-behavior:auto}}
/* TMDB artwork and title information */
.cover{isolation:isolate}.tmdb-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.cover:has(.tmdb-cover)::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#09080bed,transparent 85%);z-index:-1}.cover:has(.tmdb-cover) .cover-title{text-shadow:0 2px 12px #000}.tmdb-hero{width:100%;height:100%;object-fit:cover;object-position:center 30%;opacity:.75}.hero-copy> #hero-description{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.hero:has(.tmdb-hero) .hero-shade{background:linear-gradient(0deg,#090c12,transparent 40%),linear-gradient(90deg,#090c12f2 10%,#090c1295 55%,#090c1230)}#detail-art{float:right;margin:0 0 20px 25px}.tmdb-poster{display:block;width:160px;border-radius:10px}#detail-description{white-space:pre-line}#detail-original{overflow-wrap:anywhere}#detail-source{color:#c8d9ff;text-decoration:underline}#match-panel{clear:both;padding:20px;background:#151419;border-radius:12px;margin:20px 0}#match-type{padding:12px;margin:0 15px 15px 0;background:#27242b;color:#fff;border:1px solid #55515b;border-radius:8px}#match-results{display:grid;gap:10px;margin-top:15px}.match-choice{display:flex;align-items:center;gap:15px;text-align:left;background:#27222b;color:#fff;border-color:#50434e}.match-poster{width:50px;height:75px;object-fit:cover;border-radius:4px}.credits{margin:0 6vw 25px;color:#b2b2bb;font-size:12px}.credits summary{cursor:pointer}.credits a{text-decoration:underline}.credits p{margin:8px 0}#metadata-status:empty{display:none}#detail-cast,#detail-files{clear:both}.details-dialog .actions{clear:both}@media(max-width:600px){.tmdb-poster{width:100px}#detail-art{margin-left:15px}.details-dialog h2{font-size:24px}}

.tmdb-logo{width:100px;height:auto;margin-top:18px}.tmdb-settings{margin-top:24px}
/* Dedicated title and watch routes */
.title-page{position:relative;isolation:isolate;margin:0 -6vw;min-height:calc(100vh - 80px);padding:0 6vw 60px}.title-backdrop{position:absolute;inset:0 0 auto;height:min(850px,95vh);z-index:-2;background:radial-gradient(ellipse at 80% 10%,#203b62,#10151e 70%);overflow:hidden}.title-backdrop-image{width:100%;height:100%;object-fit:cover;object-position:center 20%}.title-backdrop::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090c12 0%,#090c1210 65%),linear-gradient(90deg,#090c12f5 5%,#090c12b0 45%,#090c1225 90%)}.title-intro{min-height:650px;padding-top:35px;padding-bottom:65px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.title-intro .detail-top{width:100%;margin-bottom:65px;flex-direction:row-reverse}.title-intro h1{font-size:clamp(40px,5.8vw,82px);max-width:850px;line-height:1.04;letter-spacing:-2.5px;margin:0 0 20px;text-wrap:balance}.title-intro #detail-meta{max-width:720px;color:#e4dce0}.title-intro #detail-description{max-width:680px;color:#d7d4d9;font-size:17px;line-height:1.8;text-shadow:0 2px 15px #000}.title-intro .actions{max-width:850px}.title-intro .primary-play{min-width:190px;padding:17px 30px;font-size:17px}.title-content{border-top:1px solid #ffffff1c;padding-top:35px}.title-information{max-width:1000px;margin-top:50px;min-height:300px}.title-information h2{font-size:28px}.title-information #detail-art{float:right;margin:0 0 30px 40px}.title-information #detail-cast,.title-information #detail-files{clear:none;max-width:720px}.file-settings{clear:both;margin-top:35px;border-top:1px solid #39333d;padding-top:20px;color:var(--muted);font-size:13px}.file-settings summary{cursor:pointer}.episode-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.episode-heading h2{font-size:28px}.episode-heading label{display:flex;align-items:center;gap:14px}.episode-heading select{padding:12px 20px;border:1px solid #5b535e;border-radius:8px;color:#fff;background:#29252d;font:inherit}.title-content .episodes{max-width:1100px;gap:0}.title-content .episode-button{display:flex;align-items:center;gap:25px;border-radius:0;border-width:0 0 1px;padding:27px 20px;background:transparent}.episode-number{font-size:28px;color:#948a96;font-weight:400;min-width:40px}.episode-name{flex:1;font-size:17px}.episode-position{font-size:13px;font-weight:400;color:#b7aebc}.episode-play{font-size:22px;color:#c8d9ff}.title-content .episode-button[aria-current]{background:#ffffff07}.title-content .episode-button:hover{background:#ffffff0c}.watching{background:#000}.watching .stream-header,.watching footer,.watching .credits{display:none}.watching main{padding:0;min-height:100dvh}.watch-page{min-height:100dvh;display:flex;flex-direction:column;background:#000;padding:20px 3vw}.watch-page .player-head{min-height:64px;margin-bottom:12px}.watch-page .player-head h1{font-size:clamp(18px,2.5vw,30px);letter-spacing:-.5px;margin:0}.watch-page .player-head .eyebrow{font-size:9px;margin:0 0 8px}.watch-page #video{display:block;flex:1;width:100%;height:calc(100dvh - 200px);max-height:none;min-height:240px;object-fit:contain}.watch-page .player-tools{margin:15px 0 0;justify-content:center}.watch-page #playback-message{margin:10px 0;text-align:center}.watch-page #playback-message:empty{display:none}.watch-page .next-up{position:fixed;bottom:135px;right:4vw;max-width:550px;background:#211c24f5;box-shadow:0 12px 50px #000a}.watching #message:not(:empty){position:fixed;bottom:0;left:20px;background:#20191f;padding:12px;z-index:10}.cover{font:600 14px Segoe UI,system-ui}.cover:focus-visible{outline:3px solid #c8d9ff;outline-offset:4px}h1:focus,h2:focus{outline:none}
@media(max-width:800px){.title-intro{min-height:590px;padding-top:20px;padding-bottom:40px}.title-intro .detail-top{margin-bottom:50px}.title-intro h1{font-size:42px;letter-spacing:-1.5px}.title-intro #detail-description{font-size:15px}.title-backdrop{height:760px}.title-backdrop-image{object-position:65% top}.title-backdrop::after{background:linear-gradient(0deg,#090c12 5%,#090c1288 60%,#090c1240),linear-gradient(90deg,#090c12c0,#090c1210)}.title-information #detail-art{margin-left:20px}.title-content .episode-button{gap:12px;padding:22px 10px}.episode-number{font-size:22px;min-width:24px}.episode-name{font-size:14px}.episode-position{font-size:11px;max-width:80px}.watch-page{padding:15px}.watch-page #video{height:calc(100dvh - 280px)}.watch-page .player-tools{gap:10px}.watch-page .player-tools button{font-size:12px;padding:10px}.watch-page .next-up{bottom:170px;left:20px;right:20px}.watch-page .player-head{gap:12px}.watch-page .player-head button{padding:10px;white-space:nowrap}.episode-heading{gap:12px}.episode-heading label{font-size:0}.episode-heading select{font-size:14px;padding:10px}}

/* Poster-led cinema layout */
:root{--accent:#9dbdff;--muted:#a4adbb;background:#090c12;color:#f5f7fb}.stream-app{background:#090c12}.stream-header{height:84px;padding:0 4vw;background:#090c12ef;border:0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px}.stream-header nav{justify-content:center;gap:14px}.stream-header nav button{color:#c5cbd5;font-weight:600;font-size:15px;padding:12px 10px}.stream-header nav button[aria-current]::after{background:#fff}.stream-header .brand{justify-self:start}.brand span{color:#c3d5fa}.header-search{justify-self:end;display:grid;place-items:center;width:44px;height:44px;padding:0;background:none;color:#edf2fa;border:1px solid transparent;border-radius:50%}.header-search:hover{background:#ffffff12;border-color:#ffffff30}.home-cinema .stream-header{position:absolute;inset:0 0 auto;z-index:5;background:linear-gradient(#090c128c,transparent);backdrop-filter:none}.stream-app main{padding-left:4vw;padding-right:4vw}.home-cinema .hero{margin:0 -4vw;min-height:720px;height:87svh;max-height:1100px;padding:180px 4vw 100px;display:flex;align-items:flex-end}.hero .hero-copy{max-width:620px}.hero .eyebrow,.hero-kicker,.hero-signature{display:none}.hero h1{font-weight:650;font-size:clamp(44px,4.5vw,76px);letter-spacing:-2px;margin:0 0 16px;line-height:1.03}.hero .title-meta{font-size:13px;color:#e4eaf3}.hero-copy> #hero-description{font-size:15px;line-height:1.55;max-width:540px;-webkit-line-clamp:2;color:#eef0f5;margin:12px 0 22px}.hero .actions{margin-top:0;gap:12px}.primary-play,.hero .primary-play{background:#f4f6fa;color:#10141c;border-color:transparent;font-weight:700}.glass{background:#ffffff18;color:#fff;border-color:#ffffff30}.hero #hero-save{display:none}.tmdb-hero{opacity:1;object-position:center 20%}.hero:has(.tmdb-hero) .hero-shade{background:linear-gradient(0deg,#090c12,transparent 45%),linear-gradient(90deg,#090c12cc,transparent 78%)}.home-cinema .browse-heading{display:none}.home-cinema.search-open .browse-heading{display:flex}.home-cinema #rows{position:relative;margin-top:-40px}.shelf{margin:0 0 38px}.shelf-heading{margin-bottom:12px}.shelf h2{font-size:19px;letter-spacing:0;font-weight:650;margin:0}.rail{gap:16px;padding:5px 4px 12px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.media-card{flex:0 0 calc((100% - 96px)/7);min-width:145px}.cover,.media-card:nth-child(n) .cover{display:block;position:relative;width:100%;height:auto;aspect-ratio:2/3;padding:0;border:0;border-radius:5px;background:#172133;overflow:hidden;isolation:isolate;transition:transform .2s,box-shadow .2s}.cover:hover{transform:translateY(-4px);box-shadow:0 0 0 2px #dce7ff99,0 12px 25px #0008;filter:none}.cover .tmdb-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.cover:has(.tmdb-cover)::after{display:none}.poster-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:20px;background:radial-gradient(ellipse at top right,#35486d,transparent 75%),linear-gradient(150deg,#1e293b,#111820)}.fallback-mark{font-size:12px;letter-spacing:3px;color:#c2d4f7}.fallback-title{font-size:20px;font-weight:600;line-height:1.2;overflow-wrap:anywhere}.cover:has(.tmdb-cover) .poster-fallback{visibility:hidden}.cover .watch-progress{position:absolute;bottom:0;left:0;right:0;z-index:2;margin:0;height:3px}.rail-controls{gap:4px}.rail-arrow{background:none;border:0;font-size:27px;color:#acb6c6}.browse-heading{margin:40px 0 30px}.browse-heading>.eyebrow,.browse-heading>div>.eyebrow{display:none}.browse-heading h2{font-size:30px}.browse-tools input{border-color:#3a4659;background:#111722}.stream-app footer{padding-left:4vw;padding-right:4vw;border-color:#202835}.title-page{margin:0 -4vw;padding-left:4vw;padding-right:4vw}.next-up{background:#162235;border-color:#405978}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#c8d9ff}
@media(min-width:1700px){.media-card{flex-basis:calc((100% - 112px)/8)}.cover{height:auto}.home-cinema .hero{padding-bottom:110px}.hero-copy{max-width:660px}}
@media(max-width:1100px){.media-card{flex-basis:calc((100% - 64px)/5);min-width:140px}.stream-header nav{gap:4px}.home-cinema .hero{min-height:620px}.hero-copy{max-width:520px}}
@media(max-width:700px){.stream-header{grid-template-columns:1fr auto;height:auto;min-height:104px;padding:15px 5vw 8px;gap:4px 20px}.stream-header .brand{grid-column:1;grid-row:1}.header-search{grid-column:2;grid-row:1;width:36px;height:36px}.stream-header nav{grid-column:1 / -1;grid-row:2;justify-content:flex-start;gap:12px}.stream-header nav button{font-size:13px;padding:9px 0}.home-cinema .hero{min-height:590px;height:78svh;max-height:800px;margin:0 -4vw;padding:170px 5vw 80px}.hero h1{font-size:39px;letter-spacing:-1.4px}.hero .hero-copy{max-width:100%}.hero .actions button{font-size:13px;padding:13px 16px}.hero-copy> #hero-description{font-size:14px}.hero .tmdb-hero{object-position:62% center}.hero:has(.tmdb-hero) .hero-shade{background:linear-gradient(0deg,#090c12 0%,#090c1260 60%,#090c1240),linear-gradient(90deg,#090c1280,transparent)}.home-cinema #rows{margin-top:-25px}.media-card{flex-basis:36vw;min-width:120px}.cover,.media-card:nth-child(n) .cover{height:auto;border-radius:4px}.rail{gap:10px}.shelf{margin-bottom:28px}.shelf h2{font-size:17px}.fallback-title{font-size:16px}.poster-fallback{padding:14px}.home-cinema.search-open .browse-heading{display:block}.browse-tools{flex-wrap:wrap}.browse-tools label{min-width:180px}.title-intro .primary-play{background:#f4f6fa}.stream-app footer .brand span{letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){.cover{transition:none}}
/* Editorial title page */
.title-cinema .stream-header{position:absolute;inset:0 0 auto;background:linear-gradient(#090c12b0,transparent);backdrop-filter:none}.title-page{padding-bottom:70px}.title-backdrop{height:850px;max-height:110svh;background:#142135}.title-backdrop-image{opacity:1;object-position:center 20%}.title-backdrop::after{background:linear-gradient(0deg,#090c12 0%,#090c1210 60%),linear-gradient(90deg,#090c12df 0%,#090c1270 45%,transparent 85%)}.title-intro{position:relative;min-height:730px;height:83svh;max-height:1000px;justify-content:flex-end;align-items:flex-start;padding:160px 0 70px}.title-intro .detail-top{position:absolute;left:0;right:0;top:108px;margin:0;flex-direction:row;justify-content:space-between}.title-intro .detail-top .eyebrow{order:2;font-size:10px;letter-spacing:3px;color:#d1daeb}.title-intro #detail-close{background:#090c1240;border-color:#ffffff25;font-size:12px;padding:10px 15px}.title-intro h1{font-size:clamp(42px,5vw,80px);max-width:760px;margin:0 0 21px;font-weight:650;letter-spacing:-2.5px;line-height:1.06}.title-intro #detail-meta{color:#d6dfed;font-size:13px;max-width:650px;margin:0 0 18px}.title-intro #detail-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;line-height:1.7;max-width:580px;margin:0 0 7px;color:#f0f2f7}.read-story{color:#c6cfdf;font-size:12px;padding:5px 0;text-decoration:none}.read-story:hover{color:#fff;text-decoration:underline}.title-intro .title-actions{margin-top:25px;gap:12px}.title-intro .primary-play{min-width:185px;padding:16px 28px;font-size:16px;background:#f4f6fa;color:#10141c}.title-intro #detail-save{background:#ffffff17;border-color:#ffffff30;color:#fff;padding:15px 25px}.title-intro #detail-restart{background:none;border-color:transparent;color:#c8d2e2;font-size:13px;padding:15px}.title-intro .resume-note{font-size:12px;color:#aebcd1;letter-spacing:.3px;margin:17px 0 0}.title-sections{display:flex;gap:35px;border-bottom:1px solid #ffffff19;padding:0;position:relative}.title-sections a{display:block;padding:19px 0 17px;font-size:15px;color:#e8edf5;border-bottom:2px solid #c4d7fc}.title-sections a:hover{color:#fff;border-color:#fff}.title-content{border:0;padding-top:0}.title-information{max-width:none;margin:0;padding:48px 0;display:grid;grid-template-columns:150px minmax(0,1.5fr) minmax(220px,1fr);column-gap:45px;row-gap:28px;align-items:start;min-height:0}.title-information #detail-art{float:none;margin:0;grid-column:1;grid-row:1}.title-information .tmdb-poster{width:150px;border-radius:5px}.about-story{grid-column:2}.about-story .eyebrow{font-size:10px;letter-spacing:2px;margin-top:0;color:#8fa5c8}.title-information h2{font-size:25px;letter-spacing:-.5px;margin:12px 0 18px}.about-story p:last-child{font-size:14px;line-height:1.85;color:#b9c3d2;margin:0;white-space:pre-line}.about-facts{grid-column:3;padding-left:25px;border-left:1px solid #ffffff15}.about-facts h3{font-size:14px;margin:0 0 22px;color:#e3eaf4;font-weight:600}.about-facts dl{display:grid;grid-template-columns:90px 1fr;gap:12px;font-size:12px;line-height:1.6;margin:0 0 22px}.about-facts dt{color:#7f90a9}.about-facts dd{margin:0;color:#c1cede}.title-information #detail-cast{font-size:12px;line-height:1.85;margin:15px 0;color:#aab8cd}.about-facts #detail-source{font-size:12px;color:#c6d7f4}.title-information .file-settings{grid-column:1 / -1;margin:8px 0 0;border-color:#ffffff10;font-size:12px;color:#8190a7}.title-information #detail-status{grid-column:1 / -1;margin:0}.title-content #episode-section{padding:35px 0;border-bottom:1px solid #ffffff15}.title-content .episode-heading h2{font-size:24px}.title-content .episodes{max-width:none}.title-content .episode-button{border-color:#ffffff10;background:none;border-radius:6px}.title-content .episode-button[aria-current]{background:#c0d8ff08}.episode-position{color:#91a5c3}.title-content .episode-name{font-size:15px}.title-information:has(#detail-art[hidden]){grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}.title-information:has(#detail-art[hidden]) .about-story{grid-column:1}.title-information:has(#detail-art[hidden]) .about-facts{grid-column:2}#title-about,#episode-section{scroll-margin-top:30px}
@media(min-width:1700px){.title-intro{min-height:800px;padding-bottom:90px}.title-intro h1{max-width:900px}.title-information{grid-template-columns:180px minmax(0,1.6fr) minmax(280px,1fr);gap:55px}.title-information .tmdb-poster{width:180px}}
@media(max-width:1000px){.title-information{grid-template-columns:120px minmax(0,1fr);gap:28px}.title-information .tmdb-poster{width:120px}.about-facts{grid-column:2;border-left:0;padding-left:0}.title-information:has(#detail-art[hidden]){grid-template-columns:1fr}.title-information:has(#detail-art[hidden]) .about-facts{grid-column:1}.title-intro h1{max-width:680px}.title-intro{min-height:680px}}
@media(max-width:600px){.title-intro{height:auto;min-height:680px;max-height:none;padding:275px 0 45px}.title-intro .detail-top{top:128px}.title-backdrop{height:720px;max-height:none}.title-backdrop-image{object-position:65% top}.title-backdrop::after{background:linear-gradient(0deg,#090c12 4%,#090c1280 58%,#090c1230 100%),linear-gradient(90deg,#090c1260,transparent)}.title-intro h1{font-size:40px;letter-spacing:-1.5px;margin-bottom:18px;max-width:100%}.title-intro #detail-meta{font-size:12px;line-height:1.8}.title-intro #detail-description{font-size:14px;line-height:1.7}.title-intro .title-actions{gap:10px;width:100%;margin-top:22px}.title-intro .primary-play{min-width:0;flex:1;padding:14px 18px;font-size:14px}.title-intro #detail-save{padding:14px 18px;font-size:14px}.title-intro #detail-restart{padding:8px 0;flex-basis:100%;text-align:left}.title-sections{gap:25px}.title-sections a{font-size:13px;padding:17px 0}.title-information{grid-template-columns:85px minmax(0,1fr);column-gap:20px;row-gap:28px;padding:30px 0}.title-information .tmdb-poster{width:85px}.title-information h2{font-size:20px;margin-top:8px}.about-story p:last-child{font-size:13px;line-height:1.8}.about-facts{grid-column:1 / -1;border-top:1px solid #ffffff12;padding-top:22px}.title-information .file-settings{padding-top:18px}.title-content .episode-button{padding:20px 8px}.title-content .episode-name{font-size:13px}.title-content .episode-heading h2{font-size:22px}}

.brand{display:inline-flex;align-items:center;gap:12px}.brand-logo{display:block;width:146px;height:44px;object-fit:contain}.brand .server-brand-label{margin:0;font-size:10px;letter-spacing:2px;color:#9baec9}.stream-app footer .brand-logo{width:119px;height:36px}@media(max-width:700px){.brand-logo{width:119px;height:36px}}

/* Immersive player: every control belongs to the video surface. */
body.watching { overflow:hidden; }
.watch-page { position:fixed; inset:0; z-index:100; width:100%; height:100dvh; min-height:0; padding:0; display:block; background:#000; color:#f7f9fc; }
.watch-page:fullscreen { width:100%; height:100%; }
.watch-page #video { position:absolute; inset:0; width:100%; height:100%; max-height:none; min-height:0; margin:0; object-fit:contain; background:#000; }
.player-overlay { transition:opacity .25s ease; }
.watch-page .player-head { position:absolute; inset:0 0 auto; z-index:2; display:flex; justify-content:flex-start; align-items:center; gap:20px; padding:32px 3.5vw 70px; background:linear-gradient(#000b,transparent); pointer-events:none; }
.player-head > * { pointer-events:auto; }
.player-caption { font-size:10px; letter-spacing:.22em; color:#aab3c0; }
.watch-page .player-head h1 { font-size:clamp(16px,2vw,24px); font-weight:500; margin:5px 0 0; line-height:1.3; }
.watch-page .player-icon { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:48px; height:48px; padding:11px; border:0; border-radius:50%; background:transparent; color:#fff; cursor:pointer; transition:background .16s,transform .16s; }
.watch-page .player-icon:hover { background:#ffffff1c; transform:scale(1.06); }
.watch-page .player-icon:focus-visible { outline:2px solid #a4d9ff; outline-offset:4px; }
.player-icon svg { width:100%; height:100%; }
.watch-page .center-play { position:absolute; z-index:2; top:50%; left:50%; width:84px; height:84px; padding:25px; transform:translate(-50%,-50%); background:#ffffff18; border:1px solid #ffffff35; backdrop-filter:blur(8px); }
.watch-page .center-play:hover { transform:translate(-50%,-50%) scale(1.07); }
.player-bottom { position:absolute; inset:auto 0 0; z-index:3; padding:90px 4vw max(26px,env(safe-area-inset-bottom)); background:linear-gradient(transparent,#000c 55%,#000e); }
.player-timeline { display:flex; align-items:center; gap:22px; margin-bottom:13px; }
.player-timeline #remaining { min-width:66px; text-align:right; font-size:13px; color:#d8dce2; font-variant-numeric:tabular-nums; }
.watch-page input[type=range] { appearance:none; -webkit-appearance:none; display:block; min-width:0; padding:0; margin:0; border:0; height:4px; border-radius:5px; cursor:pointer; accent-color:#b7ddff; background:#ffffff45; }
.watch-page #seek { flex:1; width:100%; background:linear-gradient(to right,#b7ddff var(--played,0%),#ffffff45 var(--played,0%)); }
.watch-page input[type=range]::-webkit-slider-thumb { appearance:none; width:13px; height:13px; border:0; border-radius:50%; background:#fff; box-shadow:0 0 10px #0004; }
.watch-page input[type=range]::-moz-range-thumb { width:13px; height:13px; border:0; border-radius:50%; background:#fff; }
.player-controls { display:flex; align-items:center; gap:12px; }
.player-volume { display:flex; align-items:center; gap:6px; }
.watch-page #volume { width:76px; }
.player-spacer { flex:1; }
.player-time { font-size:13px; color:#b9c1cc; font-variant-numeric:tabular-nums; margin-left:12px; }
.player-settings { position:absolute; z-index:5; right:4vw; bottom:155px; width:min(330px,calc(100% - 32px)); padding:24px; background:#161c26f5; border:1px solid #ffffff20; box-shadow:0 12px 60px #0008; border-radius:16px; backdrop-filter:blur(24px); max-height:calc(100dvh - 180px); overflow:auto; }
.player-settings h2 { font-size:18px; margin:0 0 20px; }
.player-settings label { font-size:13px; color:#bac4d1; }
.player-settings select { width:100%; margin:8px 0 18px; background:#242d3b; }
.player-settings .check-label { display:flex; gap:12px; align-items:center; line-height:1.5; }
.player-settings input[type=checkbox] { width:18px; height:18px; accent-color:#a4d9ff; flex-shrink:0; }
.watch-page #playback-message { position:absolute; z-index:2; top:62%; left:50%; transform:translateX(-50%); width:min(520px,85%); text-align:center; color:#d7dde7; font-size:14px; }
.watch-page #playback-message:empty { display:none; }
.watch-page .next-up { position:absolute; z-index:4; bottom:165px; right:4vw; left:auto; max-width:calc(100% - 32px); background:#151c28ed; border:1px solid #ffffff25; border-radius:14px; }
.watch-page.controls-hidden { cursor:none; }
.controls-hidden .player-overlay { opacity:0; pointer-events:none; }
.controls-hidden .player-overlay * { pointer-events:none; }
@media(max-width:600px) { .watch-page .player-head { padding:20px 16px 60px; gap:10px; } .player-bottom { padding:70px 16px max(20px,env(safe-area-inset-bottom)); } .player-controls { gap:3px; } .watch-page .player-icon { width:42px; height:42px; padding:10px; } .watch-page .center-play { width:68px; height:68px; padding:20px; } .watch-page #volume,.player-time { display:none; } .player-timeline { gap:10px; } .player-settings { right:16px; bottom:135px; } }
@media(max-height:480px) { .watch-page .player-head { padding-top:12px; } .player-bottom { padding-bottom:12px; } .player-settings { bottom:115px; max-height:calc(100dvh - 130px); padding:16px; } }
@media(prefers-reduced-motion:reduce) { .player-overlay,.watch-page .player-icon { transition:none; } }
.player-settings select { appearance:none; padding:12px 14px; border:1px solid #ffffff25; border-radius:8px; color:#fff; font:inherit; cursor:pointer; }

.watch-page #seek { height:24px; background-size:100% 4px; background-position:center; background-repeat:no-repeat; }

/* Shared account and TV pairing surfaces */
.auth-shell { min-height:calc(100dvh - 200px); display:grid; place-items:center; padding:60px 20px; }
.auth-card { width:min(100%,470px); margin:auto; padding:40px; border:1px solid #ffffff14; border-radius:22px; background:linear-gradient(145deg,#192333,#0e141e); box-shadow:0 24px 100px #0004; }
.auth-card h1 { font-size:clamp(30px,4vw,46px); line-height:1.1; letter-spacing:-.04em; margin:16px 0 20px; }
.auth-card p { line-height:1.6; color:#b4bfce; }
.auth-card form { display:grid; gap:10px; margin-top:28px; }
.auth-card label { color:#d9e1ec; font-size:14px; }
.auth-card input { width:100%; padding:14px 16px; border-radius:9px; background:#0b1019; border:1px solid #ffffff25; color:white; }
.auth-card form button { margin-top:12px; }
.auth-card .text-button { display:block; background:transparent; color:#bedfff; padding:12px 0; border:0; box-shadow:none; }
.auth-tv-link { display:block; margin-top:24px; color:#d5e9ff; }
.auth-card .muted { font-size:12px; color:#8493a7; }
.tv-login { width:min(100%,1040px); display:grid; grid-template-columns:1fr 320px; gap:70px; padding:60px; }
.tv-login ol { padding-left:20px; color:#c5cfdd; line-height:2.1; margin:28px 0; }
.qr-column { text-align:center; align-self:center; }
#tv-qr { display:block; width:280px; height:280px; margin:auto; border-radius:14px; }
.device-code { font:600 26px/1.6 ui-monospace,monospace; letter-spacing:.1em; display:block; margin:20px 0 8px; }
.qr-column .text-button { margin:auto; }
.account-server { margin:24px 0; padding:20px 0; border-top:1px solid #ffffff20; border-bottom:1px solid #ffffff20; }
.account-server h2 { font-size:18px; }
.account-link { width:34px; height:34px; margin-left:auto; color:#d6e3f4; padding:5px; }
.account-link svg { width:100%; height:100%; }
#server-connect { display:grid; gap:12px; } #server-connect .muted { font-size:12px; margin:0; }
#server-connected { display:grid; gap:18px; }
@media(max-width:760px) { .auth-shell { padding:28px 0; } .auth-card { padding:28px 24px; } .tv-login { grid-template-columns:1fr; gap:24px; } .qr-column { order:-1; } #tv-qr { width:220px; height:220px; } .tv-login h1 { font-size:30px; } .device-code { font-size:22px; } }

/* Search unfolds in the header without moving the page. */
.stream-header .header-actions { grid-column:3; grid-row:1; justify-self:end; display:flex; align-items:center; gap:12px; }
.header-actions .account-link { margin:0; }
.header-search-panel { position:absolute; right:calc(4vw + 106px); top:20px; width:min(310px,32vw); opacity:0; transform:translateX(16px) scaleX(.92); transform-origin:right center; pointer-events:none; transition:opacity .2s ease,transform .24s ease; }
.search-open .header-search-panel { opacity:1; transform:translateX(0) scaleX(1); pointer-events:auto; }
.stream-header #search { width:100%; height:44px; margin:0; padding:0 16px; border:1px solid #93b5df70; border-radius:10px; background:#0d1422f5; box-shadow:0 8px 30px #0003; color:#f5f7fb; font-size:14px; }
.stream-header #search:focus { outline:2px solid #bfdcff; outline-offset:2px; }
.header-search[aria-expanded=true] { background:#ffffff14; border-color:#ffffff30; }
.home-cinema.search-open .browse-heading { display:none; }
.browse-tools > #refresh { margin-top:0; }
@media(min-width:701px) and (max-width:1250px) { .search-open .stream-header nav { visibility:hidden; } .header-search-panel { width:min(340px,42vw); } }
@media(max-width:700px) { .stream-header .header-actions { grid-column:2; gap:10px; } .header-search-panel { top:15px; right:calc(5vw + 92px); width:calc(90vw - 100px); } .stream-header #search { height:40px; font-size:16px; padding:0 12px; } .search-open .stream-header > .brand { visibility:hidden; } }
@media(prefers-reduced-motion:reduce) { .header-search-panel { transition:none; } }

.title-intro #detail-close { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:0; border-radius:50%; background:#090c1260; color:#fff; border:1px solid #ffffff30; }
.title-intro #detail-close:hover { background:#ffffff20; border-color:#ffffff60; }
.title-intro #detail-close:focus-visible { outline:2px solid #bfdcff; outline-offset:4px; }
.title-intro #detail-close svg { flex-shrink:0; }

/* Slightly smaller captions, with breathing room below the text. */
.watch-page #video::cue { font-size:clamp(14px,3.2vmin,36px); }
.player-settings #audio-status { font-size:12px; line-height:1.5; color:#bac4d1; margin:-8px 0 18px; }
.player-settings #audio-status:empty { display:none; }

.choose-folder { display:inline-flex; align-items:center; gap:12px; margin-top:10px; padding:15px 22px; }
.folder-hint,#folder-status { color:var(--muted); font-size:13px; line-height:1.6; }
#folder-status:empty { display:none; }
.manual-folder { margin:24px 0; font-size:13px; color:var(--muted); }
.manual-folder summary { cursor:pointer; }
.manual-folder form { margin-top:18px; }
.folder-list-title { margin-top:28px; font-size:14px; font-weight:600; }
.folder-list { list-style:none; padding:0; display:grid; gap:10px; }
.folder-list li { padding:14px 16px; background:#ffffff05; border:1px solid #ffffff14; border-radius:10px; overflow-wrap:anywhere; font-size:13px; }
.folder-list li { display:flex; align-items:center; gap:14px; }
.folder-list .folder-path { flex:1; min-width:0; overflow-wrap:anywhere; }
.folder-list .remove-folder { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:40px; height:40px; padding:0; border-radius:50%; background:transparent; border:1px solid #ffffff20; color:#c4d2e4; }
.folder-list .remove-folder:hover { background:#ffffff12; color:#fff; border-color:#ffffff45; }
.folder-list .remove-folder:focus-visible { outline:2px solid #bfdcff; outline-offset:3px; }

/* Local server setup */
.server-header-actions { display:flex; align-items:center; gap:20px; }
#pair-qr { display:block; background:white; border-radius:12px; margin:20px 0; max-width:100%; height:auto; }
#pair-code { font-size:24px; letter-spacing:3px; }

.email-options{display:grid;gap:12px;margin:14px 0 22px}.email-options .secondary{width:100%}.email-code{letter-spacing:.25em;font-size:1.4rem;font-variant-numeric:tabular-nums}#email-panel>.text-button{display:block;margin:14px 0}#email-message{line-height:1.6}
