/* IrfanPC — clean personal media library */
:root{
  --bg:#080a09;--surface:#0e1210;--surface2:#131815;--surface3:#181e1a;
  --text:#f5f7f5;--muted:#929a94;--muted2:#68716b;--line:#222a25;
  --accent:#5fc83d;--accent2:#86e65f;--max:1320px;--radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.45}
a{color:inherit}
.topbar{position:sticky;top:0;z-index:100;background:rgba(8,10,9,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.055)}
.nav{max-width:var(--max);margin:auto;height:72px;padding:0 24px;display:flex;align-items:center;gap:36px}
.logo{display:flex;align-items:center;gap:0;text-decoration:none;font-size:20px;letter-spacing:-.8px}
.logo span{font-weight:500;color:#fff}.logo b{font-weight:850;color:var(--accent)}
.mainnav{display:flex;align-items:center;gap:25px}.mainnav a{color:#aeb5af;text-decoration:none;font-size:14px;font-weight:600;transition:.18s}.mainnav a:hover{color:#fff}
.search{margin-left:auto;display:flex}.search input{width:220px;height:39px;border:1px solid var(--line);border-right:0;border-radius:9px 0 0 9px;background:#101411;color:#fff;padding:0 13px;outline:0}.search input:focus{border-color:#3d5c3b}.search button{width:42px;border:1px solid var(--line);border-radius:0 9px 9px 0;background:#161b17;color:#dfe6e0;cursor:pointer;font-size:19px}.search button:hover{background:var(--surface3)}
.container{max-width:var(--max);margin:auto;padding:26px 24px 70px;min-height:72vh}
.hero{min-height:545px;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;align-items:flex-end;padding:56px 54px;margin:0 0 52px;background-color:#111; background-size:cover;background-position:center;box-shadow:0 25px 70px rgba(0,0,0,.22)}
.hero-content{max-width:690px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#92d87d;font-size:10px;font-weight:850;letter-spacing:2.2px;text-transform:uppercase}.eyebrow:before{content:"";width:18px;height:2px;background:var(--accent);border-radius:2px}
.hero h1{font-size:clamp(42px,5.2vw,70px);line-height:1;letter-spacing:-3px;margin:13px 0 18px;max-width:720px}.hero p{color:#c0c7c1;font-size:15px;line-height:1.75;max-width:620px;margin:0}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 17px;border-radius:10px;background:var(--accent);color:#071006;text-decoration:none;font-weight:800;font-size:14px;border:1px solid var(--accent)}.button:hover{background:var(--accent2)}.button.ghost{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.13);color:#f4f5f4}.button.ghost:hover{background:rgba(255,255,255,.13)}
.section-block{margin:0 0 50px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 17px}.section-head h2,.listing-head h1{margin:0}.section-head h2{font-size:22px;letter-spacing:-.5px}.section-head>a{font-size:13px;color:#9ca49e;text-decoration:none}.section-head>a:hover{color:#fff}
.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:17px}
.card{display:block;min-width:0;text-decoration:none;color:#fff}.poster-wrap{position:relative;aspect-ratio:2/3;background:#121613;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card img,.poster-empty{display:block;width:100%;height:100%;object-fit:cover}.card img{transition:transform .28s ease,filter .28s ease}.card:hover img{transform:scale(1.035);filter:brightness(1.04)}.card:hover .poster-wrap{border-color:#38453b}.poster-empty{display:grid;place-items:center;color:#58625b;font-size:10px;letter-spacing:1.5px;font-weight:800}
.rating{position:absolute;top:9px;left:9px;padding:5px 7px;border-radius:7px;background:rgba(6,8,7,.82);font-size:11px;font-weight:800;backdrop-filter:blur(5px)}.rating span{color:#ffd45a}.type-pill{position:absolute;right:9px;top:9px;padding:5px 7px;border-radius:7px;background:rgba(6,8,7,.68);color:#c8d0ca;font-size:9px;font-weight:800;letter-spacing:.7px}.card-body{padding:10px 2px 0}.card-title{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted,.meta{color:var(--muted);font-size:12px;margin-top:5px}
.listing-head{padding:28px 0 28px}.listing-head h1{font-size:43px;letter-spacing:-1.8px;margin-top:8px}.listing-head p{color:var(--muted);margin:8px 0 0}.notice{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;color:#c8cec9}
.pager{display:flex;justify-content:center;align-items:center;gap:10px;margin:38px 0}.pager a,.pager span{padding:10px 14px;border:1px solid var(--line);border-radius:9px;color:#d9dedb;text-decoration:none;background:var(--surface);font-size:13px}.pager a:hover{border-color:#415044;background:var(--surface2)}.pager i{font-style:normal;color:var(--muted)}
.backdrop{height:470px;margin:-26px -24px -105px;background-size:cover;background-position:center top;position:relative;opacity:.96}
.detail{position:relative;display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:end;margin-bottom:36px}.detail-poster img{width:100%;display:block;border-radius:13px;box-shadow:0 25px 70px rgba(0,0,0,.6);border:1px solid var(--line)}.detail-info h1{font-size:clamp(38px,4.2vw,58px);line-height:1.02;letter-spacing:-2px;margin:10px 0}.overview{max-width:860px;color:#c1c7c2;line-height:1.8}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.chips a,.chips span{border:1px solid #303932;color:#bfc7c0;padding:6px 10px;border-radius:999px;font-size:11px;text-decoration:none}.chips a:hover{border-color:#536253;color:#fff}
.provider-box{padding:19px 21px;background:var(--surface);border:1px solid var(--line);border-radius:13px;margin:22px 0}.provider-box strong{font-size:15px}.text-link{color:#a8d99b;text-decoration:none;font-size:13px}.text-link:hover{color:#fff}
.cast{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.cast-item{min-width:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.cast-item img,.cast-empty{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:10px;background:#151a16;border:1px solid var(--line)}.cast-item strong,.cast-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cast-item span{color:var(--muted);font-size:11px}
.season-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.season{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:16px}.season div{display:flex;flex-direction:column;gap:5px}.season span{color:var(--muted);font-size:12px}
.genre-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.genre-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.genre{display:flex;justify-content:space-between;align-items:center;padding:14px 15px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:#e4e8e5;text-decoration:none;font-size:13px}.genre:hover{border-color:#425043;background:var(--surface2)}.genre span{color:var(--muted)}
.search-large{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:13px}.search-large form{display:flex}.search-large input{flex:1;border:1px solid var(--line);background:#101411;color:#fff;border-radius:9px 0 0 9px;padding:14px;outline:0}.search-large button{border:1px solid var(--accent);background:var(--accent);color:#071006;border-radius:0 9px 9px 0;padding:0 22px;font-weight:800}
.footer{border-top:1px solid var(--line);background:#070907}.footer-inner{max-width:var(--max);margin:auto;padding:34px 24px 45px;display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:35px}.footer-brand{font-size:19px;text-decoration:none}.footer-brand span{color:var(--accent)}.footer p{margin:8px 0;color:var(--muted);font-size:12px}.footer-links{display:flex;gap:17px;flex-wrap:wrap;align-content:start}.footer-links a,.footer-credit a{color:#aab2ac;text-decoration:none;font-size:12px}.footer-links a:hover,.footer-credit a:hover{color:#fff}.footer-credit{text-align:right}.tiny{color:var(--muted2)!important}
@media(max-width:1100px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cast{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.nav{gap:20px}.mainnav{gap:14px}.mainnav a:nth-child(4){display:none}.search input{width:160px}.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.detail{grid-template-columns:190px minmax(0,1fr)}.cast{grid-template-columns:repeat(4,minmax(0,1fr))}.season-list{grid-template-columns:1fr 1fr}.genre-layout{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.footer-credit{text-align:left}}
@media(max-width:600px){.nav{height:62px;padding:0 15px}.logo{font-size:18px}.mainnav{display:none}.search{margin-left:auto}.search input{width:145px;height:36px}.search button{height:36px;width:38px}.container{padding:16px 15px 55px}.hero{min-height:470px;border-radius:15px;padding:34px 25px;margin-bottom:38px;background-position:58% center}.hero h1{font-size:40px;letter-spacing:-1.8px}.hero p{font-size:14px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.section-block{margin-bottom:38px}.section-head h2{font-size:19px}.listing-head h1{font-size:35px}.backdrop{height:330px;margin:-16px -15px -55px}.detail{grid-template-columns:105px minmax(0,1fr);gap:18px;align-items:end}.detail-info h1{font-size:29px;letter-spacing:-1px}.detail-info .overview{grid-column:1/-1}.detail-poster img{border-radius:9px}.cast{grid-template-columns:repeat(3,minmax(0,1fr))}.season-list{grid-template-columns:1fr}.genre-grid{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr;gap:20px}.footer-credit{text-align:left}}

.detail-line{margin:14px 0 0;color:#d9dedb;font-size:13px}.detail-line span{color:var(--muted);margin-right:8px}.score{color:#e3c04f;font-weight:700}.provider-box{display:flex;align-items:center;justify-content:space-between;gap:20px}.provider-box p{margin:5px 0 0}.provider-box .text-link{white-space:nowrap}
@media(max-width:600px){.provider-box{display:block}.provider-box .text-link{display:inline-block;margin-top:8px}}

.library-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:0 0 28px;padding-bottom:9px}.library-tabs a{padding:9px 13px;border-radius:8px;text-decoration:none;color:var(--muted);font-size:13px;font-weight:650}.library-tabs a:hover{color:#fff;background:var(--surface)}.library-tabs a.active{color:#071006;background:var(--accent)}.empty-library{padding:70px 25px;text-align:center;border:1px dashed #303932;border-radius:14px;background:rgba(14,18,16,.55)}.empty-icon{width:48px;height:48px;margin:auto;border-radius:50%;display:grid;place-items:center;background:var(--surface3);color:var(--accent);font-size:27px}.empty-library h2{margin:15px 0 5px}.empty-library p{color:var(--muted);margin:0 auto 20px;max-width:480px;font-size:13px}.library-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px;margin:0 0 42px;background:linear-gradient(135deg,#101510,#0d110e);border:1px solid var(--line);border-radius:14px}.library-panel h2{margin:5px 0 2px;font-size:19px}.library-actions{display:flex;gap:8px;flex-wrap:wrap}.library-actions button{border:1px solid #303932;background:#151a16;color:#d8ded9;border-radius:9px;padding:10px 12px;font-size:12px;font-weight:700;cursor:pointer}.library-actions button:hover{border-color:#4a5b4b;background:#1b221d}.library-actions button.selected{border-color:var(--accent);background:rgba(95,200,61,.13);color:#a8ec94}.library-grid{margin-bottom:20px}
@media(max-width:600px){.library-panel{display:block}.library-actions{margin-top:15px}.library-actions button{flex:1}}

.watch-page{padding:15px 0 45px}.watch-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:15px 0 22px}.watch-top h1{font-size:38px;letter-spacing:-1.5px;margin:7px 0 2px}.player-shell{position:relative;background:#030403;border:1px solid var(--line);border-radius:15px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}.player-shell video{width:100%;height:100%;display:block;background:#030403}.player-shell video.no-source{visibility:hidden}.player-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;background:radial-gradient(circle at center,#151b16,#060806 65%)}.player-empty.hidden{display:none}.player-empty h2{margin:8px 0}.player-empty p{max-width:500px;color:var(--muted);font-size:13px}.player-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071006;font-weight:900}.watch-info{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 2px}.watch-info div{display:flex;flex-direction:column;gap:4px}.watch-info span{font-size:12px;color:var(--muted)}.watch-info button,.clear-continue{border:1px solid var(--line);background:var(--surface);color:#bfc7c0;border-radius:8px;padding:8px 11px;font-size:11px;cursor:pointer}.watch-info button:hover,.clear-continue:hover{border-color:#465449;color:#fff}.continue-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.continue-card{display:block;text-decoration:none}.continue-poster{aspect-ratio:16/9;border-radius:10px;background:linear-gradient(135deg,#141a15,#0c100d);border:1px solid var(--line);display:grid;place-items:center}.continue-play{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071006;font-size:13px}.continue-title{font-size:13px;font-weight:700;margin-top:8px}.continue-meta{font-size:11px;color:var(--muted);margin-top:3px}.continue-card:hover .continue-poster{border-color:#4a5a4c}.clear-continue{margin-bottom:2px}
@media(max-width:900px){.continue-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.watch-top{display:block}.watch-top .button{margin-top:12px}.watch-top h1{font-size:30px}.watch-info{display:block}.watch-info button{margin-top:10px}.continue-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

.free-source-box{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;margin:17px 0 4px;border:1px solid #2b382d;background:rgba(95,200,61,.06);border-radius:11px}.free-source-box div{display:flex;flex-direction:column;gap:4px}.free-source-box strong{font-size:13px;color:#a8ec94}.free-source-box span{font-size:11px;color:var(--muted)}.free-source-box .button{padding:8px 11px;white-space:nowrap}.free-source-loading{color:var(--muted)!important}.free-source-loading:before{content:"";display:inline-block;width:7px;height:7px;border:1px solid #718074;border-top-color:transparent;border-radius:50%;margin-right:7px;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.free-source-box{display:block}.free-source-box .button{display:inline-block;margin-top:9px}}

.provider-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}.embed-note{position:absolute;bottom:0;left:0;right:0;padding:9px 12px;background:rgba(0,0,0,.78);font-size:10px;color:#c3cbc5}.embed-note a{color:#b7eea6}

.watch-page{padding:15px 0 45px}.watch-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:15px 0 22px}.watch-top h1{font-size:38px;letter-spacing:-1.5px;margin:7px 0 2px}.player-shell{position:relative;background:#030403;border:1px solid var(--line);border-radius:15px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}.player-shell video{width:100%;height:100%;display:block;background:#030403}.player-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;background:radial-gradient(circle at center,#151b16,#060806 65%)}.player-empty h2{margin:8px 0}.player-empty p{max-width:500px;color:var(--muted);font-size:13px}.player-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#071006;font-weight:900;margin:auto}.watch-info{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 2px}.watch-info div{display:flex;flex-direction:column;gap:4px}.watch-info span{font-size:12px;color:var(--muted)}.watch-info button,.clear-continue{border:1px solid var(--line);background:var(--surface);color:#bfc7c0;border-radius:8px;padding:8px 11px;font-size:11px;cursor:pointer}.continue-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.continue-card{display:block;text-decoration:none}.continue-poster-img,.continue-poster{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:linear-gradient(135deg,#141a15,#0c100d)}.continue-title{font-size:13px;font-weight:700;margin-top:8px}.continue-meta{font-size:11px;color:var(--muted);margin-top:3px}@media(max-width:900px){.continue-row{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.watch-top{display:block}.watch-top .button{margin-top:12px}.watch-top h1{font-size:30px}.watch-info{display:block}.watch-info button{margin-top:10px}.continue-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
