:root{--bg:#0b0d12;--panel:#12151d;--panel-2:#181c26;--line:#262b38;--text:#f2f4f8;--muted:#8a92a6;--accent:#4f8cff;--accent-2:#7cb1ff;--danger:#ff5c5c;--star:#ffcc4d;--focus-ring:0 0 0 4px var(--accent);--radius:14px}*{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);margin:0;font-family:Segoe UI,Noto Sans,Roboto,system-ui,sans-serif;font-size:28px;overflow:hidden}body.tizen{cursor:none}::-webkit-scrollbar{width:0;height:0}h1{margin:0 0 24px;font-size:52px;font-weight:600}h2{margin:24px 0 12px;font-size:36px;font-weight:600}.muted{color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:40px}.error{border:2px solid var(--danger);color:#ffb3b3;border-radius:var(--radius);background:rgba(255,92,92,.15);margin:16px 0;padding:16px 24px}.toast{z-index:50;position:fixed;top:32px;right:48px}.hint{color:var(--muted);font-size:22px}.focused{box-shadow:var(--focus-ring);outline:none}.btn{border-radius:var(--radius);background:var(--panel-2);border:2px solid var(--line);align-items:center;padding:18px 36px;transition:transform .12s,background .12s;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent)}.btn.danger{border-color:var(--danger);color:#ffb3b3}.btn.focused{background:var(--accent-2);color:#0b0d12;transform:scale(1.05)}.row{flex-wrap:wrap;gap:20px;margin:20px 0;display:flex}.chip{border:2px solid var(--line);background:var(--panel-2);border-radius:999px;padding:14px 32px}.chip.active{border-color:var(--accent);color:var(--accent-2)}.form-screen{width:100%;max-width:1400px;height:100%;padding:80px 160px;overflow-y:auto}.field{border-radius:var(--radius);background:var(--panel);border:2px solid var(--line);margin:18px 0;padding:16px 24px}.field label{color:var(--muted);margin-bottom:8px;font-size:22px;display:block}.field input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-family:inherit;font-size:30px}.field input:focus{color:var(--accent-2)}.source-list{flex-direction:column;gap:14px;display:flex}.source-row{align-items:stretch;gap:16px;display:flex}.source{border-radius:var(--radius);background:var(--panel);border:2px solid var(--line);flex:1;padding:18px 24px}.source.active{border-color:var(--accent)}.src-name{font-weight:600}.src-detail{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:22px;overflow:hidden}.center-screen{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:32px;display:flex}.spinner{border:6px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;width:72px;height:72px;animation:.9s linear infinite spin}.player .spinner{margin:-36px 0 0 -36px;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}.browse{grid-template-columns:320px 400px 1fr 520px;width:100%;height:100%;display:grid}.browse>section,.browse>aside{height:100%;overflow-x:hidden;overflow-y:auto}.rail{background:var(--panel);flex-direction:column;gap:10px;padding:40px 24px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:12px;margin:0 12px 32px;font-size:34px;font-weight:700;display:flex}.brand-dot{background:var(--accent);width:18px;height:18px;box-shadow:0 0 20px var(--accent);border-radius:50%}.rail-item{border-radius:var(--radius);color:var(--muted);padding:18px 24px}.rail-item.active{color:var(--text);background:var(--panel-2)}.rail-item.focused{color:#0b0d12;background:var(--accent-2);box-shadow:none}.rail-spacer{flex:1}.rail-source{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:12px 24px 0;font-size:22px;overflow:hidden}.cats{background:var(--panel-2);padding:40px 16px}.cat{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;padding:16px 22px;overflow:hidden}.cat.active{color:var(--text)}.cat.focused{color:#0b0d12;background:var(--accent-2);box-shadow:none}.channels{padding:40px 24px}.channel{border-radius:12px;align-items:center;gap:20px;margin-bottom:4px;padding:12px 20px;display:flex}.channel.focused{background:var(--panel-2);box-shadow:var(--focus-ring)}.channel .num{width:60px;color:var(--muted);text-align:right;font-size:22px}.channel .logo{object-fit:contain;background:rgba(255,255,255,.067);border-radius:8px;flex-shrink:0;width:88px;height:52px}.channel .name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.channel .star{color:var(--star)}.preview{background:var(--panel);border-left:2px solid var(--line);padding:48px 40px}.preview-logo{object-fit:contain;max-width:100%;max-height:180px;margin-bottom:24px}.preview h2{margin:0 0 6px}.preview-group{color:var(--muted);margin-bottom:28px}.epg-now .epg-title{font-weight:600}.epg-time{color:var(--muted);margin:4px 0 10px;font-size:22px}.epg-desc{color:var(--muted);max-height:180px;font-size:22px;line-height:1.4;overflow:hidden}.epg-next{margin-top:20px;font-size:24px}.preview-actions{flex-direction:column;gap:14px;margin-top:36px;display:flex}.bar{background:rgba(255,255,255,.133);border-radius:4px;height:8px;overflow:hidden}.bar-fill{background:var(--accent);height:100%}.episodes{height:100%;padding:60px 120px;overflow-y:auto}.episodes-head{align-items:center;gap:32px;margin-bottom:24px;display:flex}.episodes-head img{object-fit:cover;border-radius:var(--radius);width:200px;height:280px}.episodes-head>div{flex:1}.episodes-head h1{margin-bottom:8px}.episode-list{max-height:calc(100% - 340px);overflow-y:auto}.episode{border-radius:12px;gap:20px;margin-bottom:4px;padding:14px 20px;display:flex}.episode.focused{background:var(--panel-2)}.episode .num{color:var(--muted);width:80px}.player{background:#000;position:fixed;top:0;bottom:0;left:0;right:0}.player video{object-fit:contain;background:#000;width:100%;height:100%}.player-error{background:rgba(0,0,0,.7);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:34px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.osd{pointer-events:none;opacity:0;transition:opacity .25s;position:absolute;top:0;bottom:0;left:0;right:0}.osd.show{opacity:1}.osd-top{background:linear-gradient(rgba(0,0,0,.8),transparent);align-items:baseline;gap:24px;padding:48px 72px;display:flex;position:absolute;top:0;left:0;right:0}.osd-title{font-size:44px;font-weight:600}.osd-sub{color:var(--muted)}.osd-fav{color:var(--star);font-size:40px}.osd-bottom{background:linear-gradient(transparent,rgba(0,0,0,.85));padding:48px 72px;position:absolute;bottom:0;left:0;right:0}.osd-prog{margin-bottom:6px;font-size:34px;font-weight:600}.osd-next{color:var(--muted);margin-bottom:14px}.osd-time{margin-top:10px}.osd-hint{color:var(--muted);margin-top:16px;font-size:22px}.avplayer{width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.osd-engine{color:var(--muted);text-transform:uppercase;letter-spacing:2px;margin-left:auto;font-size:20px}.small{text-align:center;max-width:1400px;font-size:22px}.home{flex-direction:column;height:100%;padding:40px 64px 0;display:flex}.home-head{align-items:center;gap:32px;margin-bottom:28px;display:flex}.home-head .brand{margin:0}.home-actions{gap:16px;margin-left:24px;display:flex}.home-actions .btn{padding:12px 28px;font-size:24px}.home-clock{font-variant-numeric:tabular-nums;margin-left:auto;font-size:30px}.home-clock .muted{font-size:22px}.tiles{flex:1;grid-template-columns:repeat(4,1fr);align-content:start;gap:22px;padding:8px 8px 40px;display:grid;overflow-y:auto}.tile{background:var(--panel);border:2px solid var(--line);border-radius:18px;flex-direction:column;gap:8px;min-height:210px;padding:20px 22px;transition:transform .12s,background .12s;display:flex}.tile.focused{background:var(--panel-2);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent), 0 20px 50px rgba(0,0,0,.5);z-index:1;transform:scale(1.04)}.tile-head{align-items:center;gap:14px;display:flex}.tile-head img,.tile-logo-ph{object-fit:contain;background:rgba(255,255,255,.067);border-radius:8px;flex-shrink:0;width:72px;height:44px}.tile-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:30px;font-weight:600;overflow:hidden}.tile-q{color:var(--accent-2);border:1px solid var(--accent);border-radius:6px;padding:2px 8px;font-size:18px}.tile-now{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:26px;line-height:1.25;display:-webkit-box;overflow:hidden}.tile-time{color:var(--muted);font-size:20px}.tile-next{color:#c3c9d6;white-space:nowrap;text-overflow:ellipsis;margin-top:auto;font-size:20px;overflow:hidden}.osd-quality{color:var(--accent-2);border:1px solid var(--accent);border-radius:6px;align-self:center;padding:2px 10px;font-size:22px}.live-badge{color:#fff;letter-spacing:1px;vertical-align:middle;background:#e0313a;border-radius:5px;margin-right:10px;padding:2px 8px;font-size:15px;font-weight:700;display:inline-block}.rows{flex-direction:column;flex:1;gap:14px;padding:8px 8px 60px;display:flex;overflow-y:auto}.row-ch{background:var(--panel);border:2px solid var(--line);border-radius:18px;flex:none;grid-template-columns:500px 1fr;gap:20px;min-height:170px;padding:18px 22px;display:grid}.row-info{flex-direction:column;gap:6px;min-width:0;display:flex}.row-info .tile-now{font-size:24px}.row-variants{flex-wrap:nowrap;align-items:center;gap:12px;min-width:0;display:flex}.vtile{background:var(--panel-2);border:2px solid var(--line);border-radius:14px;flex-direction:column;flex:1 1 0;justify-content:center;gap:6px;min-width:0;max-width:200px;min-height:110px;padding:12px 14px;transition:transform .12s,background .12s;display:flex}.vtile.focused{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent), 0 16px 40px rgba(0,0,0,.5);z-index:1;background:#1d2536;transform:scale(1.06)}.vtile-q{font-size:30px;font-weight:700}.vtile.q-4 .vtile-q,.vtile.q-5 .vtile-q{color:var(--accent-2)}.vtile.q-0 .vtile-q,.vtile.q-1 .vtile-q{color:var(--muted)}.vtile-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}:root{--accent-glow:rgba(79,140,255,.45);--card:linear-gradient(180deg, #171b26 0%, #10131b 100%);--card-line:rgba(255,255,255,.07);--card-line-strong:rgba(255,255,255,.14)}html,body,#root{background:radial-gradient(1200px 700px at 15% -10%, #1a2540 0%, transparent 60%), radial-gradient(900px 600px at 100% 100%, #141a2c 0%, transparent 55%), var(--bg)}.home-head{border-bottom:1px solid var(--card-line);padding-bottom:18px}.brand{letter-spacing:4px;background:linear-gradient(90deg,#fff,#9cc0ff);color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.brand-dot{background:var(--accent);box-shadow:0 0 18px var(--accent), 0 0 40px var(--accent-glow)}.home-actions .btn{border-color:var(--card-line-strong);color:#d5dbe8;background:rgba(255,255,255,.04)}.home-actions .btn.focused{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-glow), 0 10px 30px rgba(0,0,0,.4)}.home-clock{color:#c7cfdd;font-weight:300}.row-ch{background:var(--card);border:1px solid var(--card-line);box-shadow:inset 0 1px rgba(255,255,255,.05),0 10px 30px rgba(0,0,0,.35)}.tile-head img,.tile-logo-ph{background:rgba(255,255,255,.06);border-radius:10px;padding:3px}.tile-name{letter-spacing:.3px;color:#f6f8fc}.row-info .tile-now{color:#e6eaf2}.tile-time{color:#8f98ad}.tile-next{color:#aeb6c6}.bar{background:rgba(255,255,255,.08);height:6px}.bar-fill{box-shadow:0 0 10px var(--accent-glow);background:linear-gradient(90deg,#4f8cff,#7cb1ff)}.live-badge{background:#e0313a}.vtile{border:1px solid var(--card-line);background:linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.016));box-shadow:inset 0 1px rgba(255,255,255,.05)}.vtile-q{letter-spacing:.5px}.vtile-name{color:#8f98ad}.vtile.q-5 .vtile-q,.vtile.q-4 .vtile-q{color:#8fbaff;text-shadow:0 0 14px rgba(79,140,255,.35)}.vtile.q-3 .vtile-q{color:#7fe0c8}.vtile.q-2 .vtile-q{color:#e2e6ee}.vtile.q-1 .vtile-q,.vtile.q-0 .vtile-q{color:#7a8395}.vtile.q-5,.vtile.q-4{border-color:rgba(79,140,255,.28)}.vtile.focused{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent), 0 0 28px var(--accent-glow), 0 18px 40px rgba(0,0,0,.55);background:linear-gradient(#24304a,#182034)}.vtile.focused .vtile-q{color:#fff;text-shadow:none}.vtile.focused .vtile-name{color:#c9d6f0}.osd-top{background:linear-gradient(rgba(0,0,0,.85),rgba(0,0,0,.35) 70%,transparent)}.osd-bottom{background:linear-gradient(transparent,rgba(0,0,0,.45) 30%,rgba(0,0,0,.9))}.osd-quality{background:rgba(79,140,255,.15)}.row-ch{border-left-width:6px;position:relative;overflow:hidden}.row-ch.brand-sporttv{background:linear-gradient(90deg, rgba(255,210,63,.12) 0%, rgba(255,210,63,.03) 30%, transparent 55%), var(--card);border-left-color:#ffd23f}.row-ch.brand-sporttv .tile-name{color:#ffe27a}.row-ch.brand-sporttv .bar-fill{background:linear-gradient(90deg,#ffb800,#ffd23f);box-shadow:0 0 10px rgba(255,210,63,.45)}.row-ch.brand-dazn{background:linear-gradient(90deg, rgba(255,255,255,.11) 0%, rgba(255,255,255,.03) 30%, transparent 55%), var(--card);border-left-color:#fff}.row-ch.brand-dazn .tile-name{color:#fff}.row-ch.brand-dazn .bar-fill{background:linear-gradient(90deg,#d8dde8,#fff);box-shadow:0 0 10px rgba(255,255,255,.35)}.row-ch.brand-benfica{background:linear-gradient(90deg, rgba(138,84,31,.28) 0%, rgba(138,84,31,.08) 35%, transparent 60%), var(--card);border-left-color:#8a541f}.row-ch.brand-benfica .tile-name{color:#d9a86c}.row-ch.brand-benfica .bar-fill{background:linear-gradient(90deg,#6d3f17,#a86a2c);box-shadow:0 0 10px rgba(138,84,31,.5)}.cocos{pointer-events:none;opacity:.9;gap:6px;display:flex;position:absolute;bottom:6px;right:16px}.cocos img{width:40px;height:40px}.cocos img:nth-child(odd){transform:rotate(-10deg)translateY(2px)}.cocos img:nth-child(2n){transform:rotate(8deg)}.row-ch{content-visibility:auto;contain-intrinsic-size:224px;height:224px;min-height:0}.row-info .tile-now{-webkit-line-clamp:2}.tile-next{margin-top:auto}.vtile.focused{transform:none}.vtile,.vtile.focused,.rows{will-change:auto}
