:root{--r:#E52522;--n:#1D0E4F;--bg:#0F1115;--c:#171a22;--mut:#8a8fa0;--tx:#ECEEF3;--hi:#fff;--nav:#0B0D11;--bd:#1f2230;--bd2:#262a36;--tick:#16192a;--trk:#2a2e3a;--dim:#7d8292;--soft:#c9cbe0;--ic:#aab;--ring:#3a3f50;--hero:linear-gradient(160deg,var(--n),var(--bg));--pl:var(--pl);--curbg:var(--curbg);color-scheme:dark}
html[data-theme=light]{--bg:#F4F5F8;--c:#fff;--mut:#5f6577;--tx:#15171d;--hi:#0d0f14;--nav:#fff;--bd:#e2e4ea;--bd2:#d5d8e0;--tick:#fff;--trk:#e3e5ec;--dim:#6b7183;--soft:#4a5063;--ic:#555b6e;--ring:#c4c8d3;--hero:linear-gradient(160deg,#e9e6f6,#fff);--curbg:rgba(229,37,34,.08);color-scheme:light}
html[data-theme=red]{--r:#FF2B27;--bg:#1a0b0d;--c:#2a1215;--mut:#c49a9c;--nav:#14080a;--bd:#3a1a1e;--bd2:#4a2226;--tick:#E52522;--trk:#4a2226;--dim:#b68b8e;--soft:#f0d2d3;--ic:#f0c6c7;--ring:#6a2a30;--hero:linear-gradient(160deg,#E52522,#5a0d10 60%,var(--bg));--pl:linear-gradient(135deg,#E52522,#1a0004);--curbg:rgba(255,43,39,.18)}
html[data-theme=red] .tick .l{background:#7a0c0c}
html[data-theme=oled]{--bg:#000;--c:#0d0d0f;--mut:#80848f;--nav:#000;--bd:#16171b;--bd2:#1c1d22;--tick:#000;--trk:#1c1d22;--hero:linear-gradient(160deg,#120a2c,#000);--pl:#000;--curbg:rgba(229,37,34,.12)}
*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--tx);font-family:Roboto,system-ui,'DejaVu Sans',Arial,sans-serif}
body{max-width:480px;margin:0 auto;min-height:100vh;padding-bottom:72px}
.top{position:sticky;top:0;z-index:5;background:var(--bg);display:flex;align-items:center;gap:10px;padding:10px 16px}
.top img{width:34px;height:34px;border-radius:8px}.top b{font-size:20px}.top small{display:block;font-size:10px;color:var(--mut)}.sp{flex:1}
.live{background:var(--r);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px}
.tab{display:none}.tab.on{display:block}
.player{aspect-ratio:16/9;background:var(--pl)}.player iframe{width:100%;height:100%;display:block}
.tick{display:flex;background:var(--tick);border-block:1px solid var(--bd);height:34px;align-items:center;font-size:13px;overflow:hidden}
.tick .l{background:var(--r);height:100%;display:flex;align-items:center;padding:0 10px;font-weight:700;font-size:11px;flex:none}
.tw{overflow:hidden;flex:1;white-space:nowrap}.tw span{display:inline-block;padding-left:100%;animation:mq 60s linear infinite}@keyframes mq{to{transform:translateX(-100%)}}
.sec{padding:14px 16px 6px;font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:1px}
.card{margin:0 16px 10px;background:var(--c);border-radius:12px;padding:12px 14px}.now{border-left:4px solid var(--r)}
.time{color:var(--r);font-weight:700;font-size:13px}.card .ttl{font-size:16px;font-weight:600;margin-top:3px}.card .ds{font-size:12px;color:var(--mut);margin-top:6px;line-height:1.35}
.prog{height:4px;background:var(--trk);border-radius:2px;margin-top:10px}.prog i{display:block;height:4px;width:0;background:var(--r);border-radius:2px}
.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;height:64px;background:var(--nav);border-top:1px solid var(--bd);display:flex;z-index:9}
.nav button{flex:1;background:none;border:0;color:var(--dim);font-size:11px;padding-top:8px;cursor:pointer}.nav svg{display:block;width:24px;height:24px;margin:0 auto 3px;fill:currentColor}.nav .a{color:var(--r)}
.tabs{display:flex;gap:8px;padding:4px 16px 10px;overflow-x:auto;position:sticky;top:54px;background:var(--bg);z-index:4}
.tabs button{min-width:52px;flex:none;padding:7px 0;border-radius:10px;background:var(--c);font-size:12px;color:var(--ic);border:0;cursor:pointer}.tabs b{display:block;font-size:16px;color:var(--hi)}.tabs .a b{color:#fff}.tabs .a{background:var(--r);color:#fff}
.row{display:flex;align-items:center;padding:11px 16px;border-bottom:1px solid var(--bd);gap:12px}.row .tm{width:44px;font-weight:700;font-size:14px}
.row .nm{flex:1;font-size:14px}.row .nm small{display:block;color:var(--dim);font-size:11px;margin-top:2px}.row.cur{background:var(--curbg)}.row.cur .tm{color:var(--r)}.row.past{opacity:.45}
.bell{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ring);background:none;display:flex;align-items:center;justify-content:center;color:var(--mut);cursor:pointer;flex:none}
.bell svg{width:16px;height:16px;fill:currentColor}.bell.on{background:var(--r);border-color:var(--r);color:#fff}
.hero{display:block;margin:6px 16px 12px;border-radius:14px;overflow:hidden;position:relative;height:200px;color:#fff;text-decoration:none}.hero img{width:100%;height:100%;object-fit:cover}
.hero div{position:absolute;bottom:0;left:0;right:0;padding:40px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.9));font-size:16px;font-weight:600}
.tag{display:inline-block;background:var(--r);font-size:10px;padding:2px 6px;border-radius:3px;margin-bottom:6px;font-weight:700}
.ni{display:flex;gap:12px;margin:0 16px 12px;color:inherit;text-decoration:none}.ni img{width:96px;height:72px;border-radius:10px;object-fit:cover;flex:none;background:var(--c)}.ni p{font-size:13.5px;line-height:1.3}.ni small{color:var(--dim);font-size:11px;display:block;margin-top:4px}
.st{margin:0 16px 12px;border-radius:16px;padding:14px;display:flex;gap:14px;align-items:center;background:var(--c);border:1.5px solid transparent;cursor:pointer;color:inherit;text-decoration:none}
.st.a{border-color:var(--r)}.st .lg{width:60px;height:60px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--n);font-size:12px;text-align:center;flex:none;overflow:hidden}
.st h3{font-size:16px}.st p{font-size:12px;color:var(--soft);margin-top:3px;line-height:1.35}.st .go{margin-left:auto;color:var(--r)}.st .go svg{width:22px;fill:currentColor}
.big{margin:6px 16px 14px;background:var(--hero);border-radius:20px;padding:22px;text-align:center}
.big .cov{width:140px;height:140px;margin:0 auto 14px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:center}.big .cov img{width:112px}
.big h3{font-size:20px}.big p{color:var(--soft);font-size:13px;margin-top:4px}
.eq{display:flex;gap:4px;justify-content:center;height:30px;align-items:flex-end;margin:12px 0}.eq i{width:5px;background:var(--r);border-radius:2px;height:6px;transition:height .15s}
.ctl{display:flex;justify-content:center;gap:28px;align-items:center}.ctl button{background:none;border:0;cursor:pointer}.ctl svg{width:30px;fill:var(--ic)}
.ctl .p2{width:62px;height:62px;border-radius:50%;background:var(--r);display:flex;align-items:center;justify-content:center}.ctl .p2 svg{fill:#fff;width:32px}
.msg{padding:30px 16px;color:var(--mut);text-align:center}
.npl{color:var(--hi)!important;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl{color:var(--r);font-size:11px;font-weight:700}.big .cov.art{background:#000;overflow:hidden}.big .cov.art img{width:100%;height:100%;object-fit:cover}
.vrow{display:flex;gap:10px;overflow-x:auto;padding:0 16px 6px;scroll-padding-left:16px;scroll-snap-type:x mandatory}.vc{flex:none;width:200px;background:none;border:0;color:inherit;text-align:left;cursor:pointer;scroll-snap-align:start}.vt{display:block;position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--c)}.vt img{width:100%;height:100%;object-fit:cover}.vt em{color:#fff;position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.75);font:600 11px sans-serif;padding:1px 5px;border-radius:4px;font-style:normal}.vc b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:500;margin-top:6px;line-height:1.3}.vc small{color:var(--mut);font-size:11px}
.vrow::before,.vrow::after{content:"";flex:0 0 1px}.vsec{display:flex;justify-content:space-between;align-items:center}.more{background:none;border:0;color:var(--r);font-size:12px;cursor:pointer;text-transform:none}
.vsearch{padding:10px 16px 0}.vsearch input{width:100%;background:var(--c);border:1px solid var(--bd2);border-radius:10px;padding:10px 12px;color:var(--tx);font-size:14px}
.vbar{display:flex;align-items:center;gap:10px;padding:12px 16px 4px}.vbar .back{background:var(--c);border:0;color:var(--tx);border-radius:8px;padding:6px 10px;cursor:pointer}.vbar b{flex:1;font-size:15px}.vbar small{color:var(--mut)}
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:8px 16px}.vg{width:auto}
.pli{display:flex;gap:12px;align-items:center;width:calc(100% - 32px);margin:0 16px 8px;background:var(--c);border:0;border-radius:12px;padding:8px;color:inherit;text-align:left;cursor:pointer;text-transform:none}.pt{width:96px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:var(--c);flex:none;display:flex;align-items:center;justify-content:center}.pt img{width:100%;height:100%;object-fit:cover}.pt img.lg0{width:40px;height:40px;object-fit:contain}.pn b{display:block;font-size:14px;font-weight:600}.pn small{color:var(--mut);font-size:11px}
*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none;width:0;height:0}
.pn{flex:1;min-width:0}.gn{font-size:10px;color:var(--mut);max-width:70px;text-align:right}
#vOv{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center}#vOv.on{display:flex}.vbox{width:100%;max-width:480px;background:var(--bg);border-radius:14px;overflow:hidden}.vtop{display:flex;gap:10px;align-items:center;padding:10px 12px}.vtop b{flex:1;font-size:14px;line-height:1.3}.vx{background:var(--c);border:0;color:var(--tx);width:34px;height:34px;border-radius:50%;font-size:16px;cursor:pointer}.vmeta{padding:10px 12px 14px;font-size:12px;color:var(--mut)}.vmeta a{color:var(--r)}
#shows .gn{display:none}

html[data-theme=light] .tick,html[data-theme=light] .card,html[data-theme=light] .st,html[data-theme=light] .pli{box-shadow:0 1px 3px rgba(20,25,40,.08)}
html[data-theme=light] .big h3,html[data-theme=light] .big{color:var(--tx)}html[data-theme=light] .pt{background:#eef0f4}
html[data-theme=light] .st .lg,html[data-theme=light] .big .cov{box-shadow:0 0 0 1px var(--bd)}
html[data-theme=red] .tick{color:#fff}
.gear{background:none;border:0;color:var(--mut);width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:4px}.gear svg{width:22px;height:22px;fill:currentColor}
#sOv{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.55);display:none;align-items:flex-end;justify-content:center}#sOv.on{display:flex}
.sheet{width:100%;max-width:480px;background:var(--bg);color:var(--tx);border-radius:18px 18px 0 0;padding:14px 16px 22px;max-height:85vh;overflow-y:auto}
.sheet h4{font-size:17px;display:flex;align-items:center}.sheet h4 span{flex:1}.sheet .lbl{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:1px;margin:14px 0 8px}
.thg{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.thb{border:2px solid var(--bd2);border-radius:14px;background:var(--c);padding:6px;color:var(--tx);cursor:pointer;text-align:left;font-size:13px;font-weight:600}.thb.a{border-color:var(--r)}
.thb small{display:block;font-size:10px;color:var(--mut);font-weight:400;margin-top:1px}
.pv{display:block;height:74px;border-radius:9px;overflow:hidden;position:relative;margin-bottom:6px;background:var(--pb)}
.pv i{position:absolute;left:7px;right:7px;height:9px;border-radius:3px;background:var(--pc)}.pv i:nth-child(1){top:7px;width:42%;background:var(--pt)}.pv i:nth-child(2){top:22px;height:22px;border-left:3px solid var(--pr)}.pv i:nth-child(3){top:49px;width:60%}
.pv b{position:absolute;right:7px;top:6px;width:22px;height:11px;border-radius:3px;background:var(--pr)}.pv u{position:absolute;left:0;right:0;bottom:0;height:12px;background:var(--pn);border-top:1px solid rgba(128,128,128,.25)}
.pv.sys{background:linear-gradient(135deg,#F4F5F8 50%,#0F1115 50%)}

#toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,20px);background:var(--hi);color:var(--bg);padding:9px 14px;border-radius:10px;font-size:13px;z-index:80;opacity:0;pointer-events:none;transition:.25s;max-width:90%;text-align:center}#toast.on{opacity:1;transform:translate(-50%,0)}
.shr{background:none;border:0;color:var(--mut);width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-left:auto;align-self:center}.shr svg{width:18px;height:18px;fill:currentColor}
.hero .shr.hs{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.5);color:#fff;border-radius:50%}.vtop .shr{margin:0}
.star{flex:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--ring);cursor:pointer}.star svg{width:20px;height:20px;fill:currentColor}.star.on{color:#FFB400}
.sleep{display:flex;align-items:center;gap:6px;margin:0 16px 6px;background:var(--c);border-radius:12px;padding:8px 10px}.sleep span{flex:1;font-size:14px;font-weight:600}.sleep small{display:block;font-size:11px;color:var(--mut);font-weight:400}
.sleep button{border:0;background:var(--bg);color:var(--tx);border-radius:8px;padding:7px 9px;font-size:12px;cursor:pointer}.sleep button.a{background:var(--r);color:#fff}
.tg{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd);cursor:pointer}.tg span{flex:1;font-size:14px}.tg small{display:block;color:var(--mut);font-size:11px;margin-top:2px}
.tg input{display:none}.tg i{width:42px;height:24px;border-radius:12px;background:var(--trk);position:relative;flex:none;transition:.2s}.tg i::after{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.tg input:checked+i{background:var(--r)}.tg input:checked+i::after{left:21px}
.sbtn{display:block;width:100%;margin-top:10px;background:var(--r);color:#fff;border:0;border-radius:10px;padding:10px;font-size:14px;cursor:pointer}
.ni{align-items:flex-start}
html.pip body{padding:0;max-width:none}html.pip .top,html.pip .nav,html.pip #toast,html.pip #sOv{display:none!important}
html.pip #t-efir.on>*:not(.player){display:none}html.pip #t-efir.on .player{position:fixed;inset:0;aspect-ratio:auto;z-index:100;background:#000}
html.pip #vOv.on{background:#000;z-index:100}html.pip #vOv .vtop,html.pip #vOv .vmeta{display:none}html.pip #vOv .vbox{max-width:none;height:100%;border-radius:0;display:flex}html.pip #vOv .player{flex:1;aspect-ratio:auto}

img.ph{object-fit:cover!important;background:var(--n)}
.seg{display:flex;gap:6px}.seg button{flex:1;border:1px solid var(--bd2);background:var(--c);color:var(--tx);border-radius:10px;padding:8px;font-size:13px;cursor:pointer}.seg button.a{background:var(--r);border-color:var(--r);color:#fff}
.player{position:relative}.lstart{position:absolute;inset:0;border:0;background:var(--pl);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:16px;font-weight:600;cursor:pointer}
.lstart span{width:64px;height:64px;border-radius:50%;background:var(--r);display:flex;align-items:center;justify-content:center;font-size:26px}.lstart small{font-size:11px;color:#c9cbe0;font-weight:400}
/* ---------- Android TV ---------- */
html.tv{font-size:20px}html.tv body{max-width:none;padding:0 32px 24px 236px}
html.tv .top{padding:18px 0 10px}html.tv .top b{font-size:30px}html.tv .top small{font-size:15px}html.tv .top img{width:52px;height:52px}
html.tv .nav{top:0;bottom:0;left:0;transform:none;width:212px;max-width:none;height:100vh;flex-direction:column;justify-content:center;gap:8px;padding:24px 14px;border-top:0;border-right:1px solid var(--bd)}
html.tv .nav button{flex:none;display:flex;align-items:center;gap:14px;font-size:19px;padding:14px 16px;border-radius:14px;text-align:left}html.tv .nav svg{margin:0;width:30px;height:30px}
html.tv .nav button.a{background:var(--curbg)}
html.tv :focus{outline:none}html.tv :focus-visible,html.tv .tv-f:focus,html.tv [tabindex]:focus,html.tv button:focus,html.tv a:focus{outline:4px solid var(--r);outline-offset:3px;border-radius:12px;box-shadow:0 0 0 8px rgba(229,37,34,.25)}
html.tv .nav button:focus{outline-offset:-2px;background:var(--r);color:#fff}
html.tv #t-efir.on{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:0 28px;align-items:start}html.tv #t-efir .player{grid-row:span 6;border-radius:16px;overflow:hidden}
html.tv #t-efir .tick{grid-column:1;border-radius:10px;margin-top:12px;height:44px;font-size:18px}
html.tv .card{margin:0 0 12px}html.tv .card .ttl{font-size:24px}html.tv .card .ds{font-size:16px}html.tv .time{font-size:17px}html.tv .sec{font-size:15px;padding:14px 0 8px}
html.tv .vgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;padding:8px 0}html.tv .vc b{font-size:18px}html.tv .vc small{font-size:14px}html.tv .vrow{padding:0 4px 10px}html.tv .vrow .vc{width:300px}
html.tv .pli{width:100%;margin:0 0 12px;padding:12px}html.tv .pt{width:200px}html.tv .pn b{font-size:20px}html.tv .pn small{font-size:15px}
html.tv .row{padding:16px 12px;border-radius:10px}html.tv .row .tm{width:80px;font-size:20px}html.tv .row .nm{font-size:20px}html.tv .tabs{top:0;padding:4px 0 12px}html.tv .tabs button{min-width:90px;font-size:15px}html.tv .tabs b{font-size:22px}
html.tv .ni{margin:0 0 14px;padding:6px;border-radius:12px}html.tv .ni img{width:200px;height:120px}html.tv .ni p{font-size:20px}html.tv .hero{height:340px;margin:6px 0 16px}html.tv .hero div{font-size:26px}
html.tv .big{margin:6px 0 16px;display:grid;grid-template-columns:240px 1fr;text-align:left;gap:8px 28px;align-items:center}html.tv .big .cov{width:240px;height:240px;margin:0;grid-row:span 4}html.tv .big h3{font-size:32px}html.tv .ctl{justify-content:flex-start}
html.tv .st{margin:0 0 14px}html.tv .st h3{font-size:22px}html.tv .sleep{margin:0 0 10px}html.tv .vsearch{padding:10px 0 0}html.tv .vsearch input{font-size:18px;padding:14px}
html.tv .gear,html.tv .shr,html.tv #toast{display:none!important}
html.tv #vOv .vbox{max-width:min(1400px,92vw)}html.tv #sOv .sheet{max-width:720px;border-radius:18px;margin:auto}html.tv #sOv{align-items:center}
html.tv.tvlive body{padding:0}html.tv.tvlive .top,html.tv.tvlive .nav{display:none}
html.tv.tvlive #t-efir.on>*:not(.player){display:none}html.tv.tvlive #t-efir .player{position:fixed;inset:0;border-radius:0;z-index:40;aspect-ratio:auto;background:#000}
html.tv .nav button[data-t=efir]{order:1}html.tv .nav button[data-t=prog]{order:2}html.tv .nav button[data-t=video]{order:3}html.tv .nav button[data-t=shows]{order:4}html.tv .nav button[data-t=radio]{order:5}html.tv .nav button[data-t=news]{order:6}
