*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #12141d;--card: #1c1f2b;--card-hover: #252836;--accent: #e54d4c;--accent-glow: rgba(229, 77, 76, .35);--text: #ffffff;--text-muted: #9ca3af;--border: #2d3142;--radius: 16px;--radius-sm: 12px;--font: "Tajawal", system-ui, sans-serif}html{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}body{min-height:100dvh;background:var(--bg)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit}img{max-width:100%;display:block}.app-shell{min-height:100dvh;padding-bottom:80px}.container{max-width:1200px;margin:0 auto;padding:0 16px}.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:20px 16px 12px}.site-header-side{display:flex;align-items:center;justify-content:flex-start;min-width:0}.site-header-side--end{justify-content:flex-end}.site-header .brand{justify-self:center}.brand{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.brand-logo-img{display:block;width:auto;object-fit:contain}.brand-logo-img--header{height:72px;max-width:min(62vw,260px)}.brand-logo-img--popup{height:44px;max-width:120px}.brand-logo-img--admin{height:52px;max-width:180px}.brand-tagline{font-size:.8rem;color:var(--text-muted);font-weight:600;margin:0;line-height:1.2}.admin-brand{flex-direction:row;align-items:center}.login-brand{display:flex;justify-content:center;margin-bottom:20px}.login-brand .brand-logo-img--admin{height:72px;max-width:min(80vw,260px)}.live-badge{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:8px 16px;font-size:.85rem;font-weight:600}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ads-slider-container{width:100%;max-width:920px;margin:0 auto 24px;padding:0 16px}.ads-slider{position:relative;width:100%;border-radius:0;overflow:visible;background:transparent;height:clamp(150px,32vw,400px);touch-action:pan-y pinch-zoom;direction:ltr}.ads-slider-viewport{width:100%;height:100%;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;direction:ltr;background:transparent}.ads-slider-viewport:active{cursor:grabbing}.ads-slider-track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;height:100%;width:100%;will-change:transform}.ads-slide{width:100%;height:100%;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:0;box-sizing:border-box;background:transparent}.ads-slide img{width:100%;height:100%;object-fit:contain;object-position:center center;pointer-events:none;display:block;background:transparent}.ads-slide a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ads-slider-dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.ads-slider-dot{width:7px;height:7px;border-radius:50%;border:none;padding:0;background:#ffffff59;cursor:pointer}.ads-slider-dot.on{background:var(--accent);transform:scale(1.15)}.ads-banner{margin:0 16px 20px;border-radius:var(--radius);overflow:hidden;background:var(--card);aspect-ratio:16 / 5;max-height:180px}.ads-banner img{width:100%;height:100%;object-fit:cover}.ads-banner a{display:block;height:100%}.install-hint-popup{position:fixed;z-index:110;left:12px;right:12px;bottom:calc(68px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;padding:14px 16px 14px 14px;border-radius:12px;background:#fff;color:#1a1a1a;box-shadow:0 8px 32px #00000073;animation:install-hint-in .35s ease}@keyframes install-hint-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.install-hint-popup-close{position:absolute;top:-10px;inset-inline-start:-6px;width:28px;height:28px;border-radius:50%;border:none;background:#e53935;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #e5393573;padding:0}.install-hint-popup-logo{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none}.install-hint-popup-text{flex:1;margin:0;font-size:.82rem;line-height:1.5;color:#333;unicode-bidi:plaintext}.install-hint-inline-icon{display:inline-block;vertical-align:middle;margin:0 2px}.install-hint-plus{font-size:.9em}.install-hint-kw{font-weight:600;color:#111}.section-block{margin-bottom:28px}.section-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:0 16px 12px}.section-header h2,.section-title{font-size:1.1rem;font-weight:700;margin:0;unicode-bidi:plaintext;text-align:start}.section-divider{border:none;border-top:1px solid var(--border);margin:8px 16px 20px}.section-divider-banner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;width:100%;margin:12px 0 20px;padding:10px 16px;box-sizing:border-box}.section-divider-line{display:block;width:100%;height:1px;background:var(--border);min-width:0}.section-divider-text{flex-shrink:0;max-width:70%;padding:6px 14px;border-radius:999px;background:#e54d4c1f;border:1px solid rgba(229,77,76,.25);color:#f0a8a7;font-size:.82rem;font-weight:600;text-align:center;unicode-bidi:plaintext}.channels-row{display:flex;gap:12px;overflow-x:auto;padding:0 16px 4px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.channels-row::-webkit-scrollbar{display:none}.channels-grid-wrap{flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none}.channel-card{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;scroll-snap-align:start;border-radius:var(--radius-sm);background:linear-gradient(160deg,#252836,#1a1d28,#12141d);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;text-decoration:none;color:inherit;padding:8px 6px 6px;gap:6px}.channel-card:hover,.channel-card:focus-visible{transform:translateY(-2px);border-color:var(--accent)}.channel-card:focus{outline:none}[data-tv-focus]:focus-visible,[data-tv-focus]:focus{outline:3px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 5px var(--accent-glow);border-color:var(--accent)}.channel-card.featured{width:108px}.channel-card.normal{width:96px}.channel-card .logo-wrap{width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--border);overflow:hidden;display:grid;place-items:center;flex-shrink:0}.channel-card.featured .logo-wrap{width:50px;height:50px}.channel-card .logo-wrap img{width:100%;height:100%;object-fit:contain;padding:2px}.channel-card .logo-wrap svg{color:var(--text-muted)}.channel-card.show-more{justify-content:center;border-style:dashed;background:var(--card);color:var(--text-muted);font:inherit}.channel-card.show-more:hover,.channel-card.show-more:focus-visible{color:var(--accent)}.channel-card.show-more span{font-size:.8rem;font-weight:600}.channel-card .name{width:100%;font-size:.68rem;font-weight:600;text-align:center;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;unicode-bidi:plaintext}.channel-card.featured .name{font-size:.72rem}.watch-recommended{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.watch-recommended .channels-row{padding-bottom:8px}.watch-recommended .channel-card.normal{width:104px}.watch-recommended .channel-card .logo-wrap{width:48px;height:48px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#12141df2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:10px 0 calc(10px + env(safe-area-inset-bottom));z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted);padding:8px 24px;min-width:72px;min-height:48px;transition:color .2s;border-radius:var(--radius-sm)}.nav-item.active{color:var(--accent)}.nav-item svg{width:24px;height:24px}.watch-page{min-height:100dvh;background:var(--bg);color:var(--text)}.watch-shell{width:100%;max-width:1400px;margin:0 auto}.watch-top-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));background:#12141df0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(45,49,66,.65)}.watch-back-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;color:var(--text-muted);font-size:.88rem;font-weight:600;padding:8px 12px;border-radius:999px;min-height:44px;min-width:44px;transition:color .2s,background .2s}.watch-back-btn:hover{color:var(--text);background:#ffffff0f}.watch-back-label{unicode-bidi:plaintext}.watch-channel-capsule{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;max-width:min(72vw,420px);padding:6px 12px;margin-inline-start:auto;border-radius:999px;background:var(--card);border:1px solid var(--border)}.watch-channel-logo{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--bg);border:1px solid var(--border);overflow:hidden;display:grid;place-items:center;align-self:center}.watch-channel-logo img{width:100%;height:100%;object-fit:contain;padding:2px}.watch-channel-logo svg{color:var(--text-muted)}.watch-channel-name{flex:1;min-width:0;font-size:.84rem;font-weight:700;line-height:1;text-align:center;unicode-bidi:plaintext;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:center;padding:0;margin:0}.watch-channel-fav{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:none;border-radius:50%;background:none;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s;align-self:center}.watch-channel-fav:hover,.watch-channel-fav.active{color:var(--accent);background:#e54d4c1f}.watch-player-stage{padding:12px max(12px,env(safe-area-inset-right)) 20px max(12px,env(safe-area-inset-left))}.watch-player-frame{position:relative;width:100%;margin:0 auto;border-radius:10px;overflow:hidden;background:transparent;border:1px solid var(--border);box-shadow:none}.watch-page .video-wrap{width:100%;aspect-ratio:16 / 9;max-height:min(52vh,520px);background:#000;position:relative}.watch-page .video-wrap video,.watch-page .video-wrap .video-player{max-height:none;border-radius:0}.watch-page .embed-player-wrap{aspect-ratio:unset;height:100%;min-height:0;border-radius:0}.watch-page .embed-player-frame{min-height:0;height:100%}.back-btn{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.9rem;padding:8px 12px;border-radius:var(--radius-sm);min-height:44px}.back-btn:hover{color:var(--text)}.video-wrap{width:100%;aspect-ratio:16 / 9;background:#000;position:relative}.video-wrap video{width:100%;height:100%}.video-player-wrap{position:relative;width:100%;height:100%;min-height:200px}.video-player-wrap .video-player{width:100%;height:100%;display:block;background:#000}.embed-player-wrap{position:relative;width:100%;aspect-ratio:16 / 9;background:#0d1117;border-radius:10px;overflow:hidden}.embed-player-frame{width:100%;height:100%;min-height:360px;border:0;display:block;background:#000}.player-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#000000b8;color:#fff;text-align:center;padding:16px;z-index:2}.player-loading p,.player-error p{margin:0;font-size:.95rem}.player-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--accent, #e54d4c);border-radius:50%;animation:player-spin .8s linear infinite}@keyframes player-spin{to{transform:rotate(360deg)}}.player-retry-btn{display:inline-flex;align-items:center;gap:8px}.player-error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}.player-buffering-badge{position:absolute;top:12px;right:12px;z-index:2;padding:6px 10px;border-radius:20px;background:#0000008c;display:flex;align-items:center;gap:6px}.player-buffering-text{font-size:.7rem;color:#ddd}.player-spinner-sm{width:20px;height:20px;border-width:2px}.watch-play-hint{background:#e54d4c26;color:#f0a8a7}.settings-card .settings-intro{margin-bottom:16px;line-height:1.6}.settings-steps{margin:0 0 20px;padding-right:20px;line-height:1.8;color:var(--text-muted)}.settings-steps code{font-size:.85em;background:var(--card);padding:2px 6px;border-radius:4px}.settings-tips{margin:0;padding-right:20px;line-height:1.8;color:var(--text-muted)}.settings-test{margin-top:16px}.settings-test a{color:var(--accent)}.site-setup-banner{margin:12px 16px 0;padding:12px 14px;border-radius:8px;background:#e54d4c26;color:#f0a8a7;font-size:.9rem;text-align:center}.site-setup-banner-info{background:#ffc1071f;color:#e3b341}.site-setup-banner a{color:#fff;font-weight:700}.watch-title{padding:16px;font-size:1.1rem;font-weight:700}.fav-btn{margin:0 16px 16px;display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--text);font-size:.9rem}.fav-btn.active{border-color:var(--accent);color:var(--accent)}.watch-hint{margin:0 16px 12px;padding:10px 14px;border-radius:8px;background:#ffc1071f;color:#e3b341;font-size:.85rem;line-height:1.5}.watch-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 16px 16px;align-items:center}.watch-actions .fav-btn{margin:0}.watch-vlc-btn{text-decoration:none}.watch-error-box{padding:20px;text-align:center}.watch-fallback-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.clappr-player,.video-wrap .clappr-player{width:100%;height:100%;min-height:200px}.admin-page{min-height:100dvh;padding:20px 16px 40px;max-width:720px;margin:0 auto}.admin-page.is-refreshing .admin-body{opacity:.72;pointer-events:none;transition:opacity .2s ease}.admin-refresh-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;margin-bottom:12px;border-radius:var(--radius-sm);background:#6495ed1f;color:#6495ed;font-size:.85rem;font-weight:600}.admin-refresh-bar:before{content:"";width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:adminSpin .7s linear infinite}@keyframes adminSpin{to{transform:rotate(360deg)}}.admin-body-flash{animation:adminBodyFlash .35s ease}@keyframes adminBodyFlash{0%{opacity:.45}to{opacity:1}}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-tabs{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto}.admin-tab{flex:1;min-width:0;padding:12px 16px;border-radius:var(--radius-sm);background:var(--card);color:var(--text-muted);font-weight:600;font-size:.9rem;text-align:center;white-space:nowrap;transition:background .2s,color .2s}.admin-tab.active{background:var(--accent);color:#fff}.admin-card{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:20px;border:1px solid var(--border)}.admin-card h3{font-size:1rem;font-weight:700;margin-bottom:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:.95rem}.form-input:focus{outline:none;border-color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-sm);padding:24px;text-align:center;cursor:pointer;transition:border-color .2s}.upload-zone:hover{border-color:var(--accent)}.upload-zone img{max-height:80px;margin:0 auto 8px;border-radius:8px}.upload-zone p{font-size:.85rem;color:var(--text-muted)}.image-upload-field{display:flex;flex-direction:column;gap:8px}.image-upload-remove{display:inline-flex;align-items:center;justify-content:center;gap:6px;align-self:flex-start;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid rgba(231,76,60,.45);background:#e74c3c1a;color:#ff8a80;font:inherit;font-size:.85rem;cursor:pointer}.image-upload-remove:hover{background:#e74c3c2e;border-color:#e74c3c}.checkbox-row{display:flex;align-items:center;gap:10px;font-size:.9rem}.checkbox-row input{width:18px;height:18px;accent-color:var(--accent)}.btn-primary{width:100%;padding:14px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:8px 16px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--border);color:var(--text-muted);font-size:.85rem;display:inline-flex;align-items:center;gap:6px}.btn-danger{padding:6px 12px;border-radius:8px;background:#e54d4c26;color:var(--accent);font-size:.8rem}.btn-edit{padding:6px 12px;border-radius:8px;background:#6495ed26;color:#6495ed;font-size:.8rem}.form-actions-row{display:flex;gap:10px;align-items:center}.form-actions-row .btn-primary{flex:1}.list-actions{display:flex;gap:6px;flex-shrink:0}.item-list{display:flex;flex-direction:column;gap:10px}.list-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.list-item-selected{border-color:var(--accent);background:#e54d4c14}.list-select-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;cursor:pointer;flex-shrink:0}.list-item img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--card)}.list-item .info{flex:1;min-width:0}.list-item .info h4{font-size:.9rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item .info p{font-size:.75rem;color:var(--text-muted)}.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:400px;background:var(--card);border-radius:var(--radius);padding:32px 24px;border:1px solid var(--border)}.login-card h2{text-align:center;margin-bottom:8px}.login-card .subtitle{text-align:center;color:var(--text-muted);font-size:.9rem;margin-bottom:24px}.error-msg{background:#e54d4c26;color:var(--accent);padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px}.warning-msg{background:#ffc10726;color:#e3b341;padding:10px 14px;border-radius:8px;font-size:.85rem;margin:12px 0;line-height:1.5}.ip-ban-help{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.help-steps{font-size:.85rem;color:var(--text-muted);margin:8px 0 12px;padding-right:20px;line-height:1.7}.help-steps code{background:var(--bg);padding:1px 6px;border-radius:4px;font-size:.8rem}.success-msg{background:#2ea04326;color:#3fb950;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:16px}.form-hint{font-size:.85rem;color:var(--text-muted);margin-bottom:16px;line-height:1.5}.form-divider{text-align:center;color:var(--text-muted);font-size:.85rem;margin:16px 0;position:relative}.form-divider:before,.form-divider:after{content:"";position:absolute;top:50%;width:42%;height:1px;background:var(--border)}.form-divider:before{right:0}.form-divider:after{left:0}.m3u-upload{display:block;margin-bottom:16px}.m3u-options{display:flex;flex-direction:column;gap:4px;margin-top:16px}.m3u-options .form-group{margin-bottom:8px}.m3u-preview{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.m3u-preview-summary{font-size:.9rem;font-weight:600;margin-bottom:12px}.m3u-preview-list{max-height:280px;overflow-y:auto;margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.m3u-preview-item{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.m3u-preview-item img{width:32px;height:32px;border-radius:6px;object-fit:contain;background:var(--card)}.m3u-preview-placeholder{width:32px;height:32px;border-radius:6px;background:var(--card);flex-shrink:0}.m3u-preview-item strong{display:block;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.m3u-preview-item span{font-size:.75rem;color:var(--text-muted)}.m3u-details summary{cursor:pointer;font-weight:700;font-size:1rem;margin-bottom:12px;list-style:none}.m3u-details summary::-webkit-details-marker{display:none}.xtream-actions{display:flex;gap:10px;margin-bottom:8px}.xtream-actions .btn-primary{flex:1}.xtream-stats{display:flex;gap:16px;font-size:.85rem;font-weight:600;margin:16px 0 12px}.xtream-toolbar{display:flex;align-items:center;justify-content:space-between;margin:12px 0}.search-input-wrap{position:relative}.search-input-wrap svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input-wrap .form-input{padding-right:36px}.xtream-list{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.xtream-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:right;width:100%;color:var(--text);cursor:pointer;transition:border-color .15s}.xtream-item:not(.added):hover{border-color:var(--accent)}.xtream-item.selected{border-color:var(--accent);background:#e54d4c14}.xtream-item.added{opacity:.65;cursor:default}.xtream-item img{width:36px;height:36px;border-radius:6px;object-fit:contain;background:var(--card);flex-shrink:0}.xtream-item-info{flex:1;min-width:0}.xtream-item-info strong{display:block;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xtream-item-info span{font-size:.75rem;color:var(--text-muted)}.xtream-badge{font-size:.7rem;padding:2px 8px;border-radius:999px;background:#2ea04333;color:#3fb950;flex-shrink:0}.xtream-checkbox{display:block;width:18px;height:18px;border:2px solid var(--border);border-radius:4px}.xtream-checkbox.on{background:var(--accent);border-color:var(--accent)}.xtream-check{flex-shrink:0;color:#3fb950}.video-wrap .video-player,.video-wrap video{width:100%;max-height:50vh;background:#000;border-radius:var(--radius-sm)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state svg{width:48px;height:48px;margin:0 auto 12px;opacity:.5}.app-download-section{padding:0 16px 20px}.app-download-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.app-download-title{font-size:1rem;font-weight:700;margin:0 0 14px}.app-download-actions{display:flex;flex-direction:column;gap:10px}.app-download-btn{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);text-decoration:none;transition:border-color .15s,background .15s}.app-download-btn:hover,.app-download-btn:focus-visible{border-color:var(--accent);background:#e54d4c14}.app-download-btn span{display:flex;flex-direction:column;gap:2px;font-weight:600;font-size:.9rem}.app-download-btn small{font-weight:400;font-size:.75rem;color:var(--text-muted)}.app-download-btn--ios{border-color:#e54d4c59}.app-download-code{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.app-download-code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.app-download-code pre{margin:0;padding:12px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow:auto}.app-download-copy{font-size:.8rem;padding:6px 10px}.app-admin-meta{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.app-admin-meta p{margin:0 0 12px;font-size:.9rem}.app-admin-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.install-menu-trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s;max-width:100%}.install-menu-trigger span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.install-menu-trigger:hover,.install-menu-trigger:focus-visible{border-color:var(--accent);background:#e54d4c14}.install-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000a6;display:flex;align-items:flex-end;justify-content:center;padding:16px}.install-menu-popup{width:min(100%,480px);max-height:min(85vh,640px);overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 40px #00000059}.install-menu-popup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card);z-index:1}.install-menu-popup-head h2{margin:0;font-size:1rem}.install-menu-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer}.install-menu-close:hover,.install-menu-close:focus-visible{background:var(--bg);color:var(--text)}.install-menu-popup-body{padding:16px}.install-menu-links{display:flex;flex-direction:column;gap:10px}.install-menu-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);text-decoration:none;transition:border-color .15s,background .15s}.install-menu-link:hover,.install-menu-link:focus-visible{border-color:var(--accent);background:#e54d4c14}.install-menu-link strong{display:block;font-size:.9rem}.install-menu-link small{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}.install-menu-link--ios-install{border-color:#e54d4c59}.install-menu-code{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.install-menu-code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.install-menu-code pre{margin:0;padding:12px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);font-size:.8rem;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:160px;overflow:auto}.install-menu-note{margin-top:14px;margin-bottom:0}.app-menu-link-row{margin-bottom:12px}.app-menu-link-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.app-menu-divider{border:none;border-top:1px solid var(--border);margin:16px 0 0}.app-menu-preview{margin:8px 0 0;padding-right:20px;font-size:.85rem;color:var(--text-muted)}.app-plist-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.45;resize:vertical}@media (min-width: 600px){.install-menu-overlay{align-items:center}.install-menu-trigger span{max-width:160px}}@media (max-width: 380px){.watch-back-label{display:none}.watch-channel-capsule{max-width:min(78vw,320px)}}@media (min-width: 600px){.app-shell{max-width:960px;margin:0 auto}.channel-card.normal{width:104px}.channel-card.featured{width:116px}.section-header h2,.section-title{font-size:1.2rem}}@media (min-width: 768px){.ads-slider-container{max-width:960px;padding:0 20px}.ads-slider{height:clamp(170px,26vw,420px)}.app-shell{max-width:1100px;padding-bottom:88px}.channel-card.normal{width:112px}.channel-card .logo-wrap{width:48px;height:48px}.channel-card.featured .logo-wrap{width:54px;height:54px}.channel-card .name{font-size:.72rem}.brand-logo-img--header{height:80px;max-width:300px}.channels-grid-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;padding:0 16px}.channels-grid-wrap .channel-card{width:100%}.watch-page .video-wrap{max-height:min(56vh,560px)}.watch-player-stage{padding:14px 20px 22px}.watch-player-frame{border-radius:12px}.watch-channel-logo{width:32px;height:32px}.watch-channel-name{font-size:.92rem}.watch-channel-capsule{max-width:min(60vw,480px);padding:7px 12px}.watch-recommended{padding-inline:8px}.watch-recommended .channel-card.normal{width:112px}.watch-recommended .channel-card .logo-wrap{width:52px;height:52px}}@media (min-width: 1024px){.watch-shell{max-width:1200px}.watch-top-bar{padding:14px 24px}.watch-player-stage{padding:16px 24px 28px}.watch-page .video-wrap{max-height:min(60vh,680px)}.watch-player-frame{border-radius:14px}.watch-channel-logo{width:36px;height:36px}.watch-channel-name{font-size:1rem}.watch-back-btn{font-size:.95rem;padding:10px 16px}.watch-recommended .channel-card.normal{width:120px}}@media (min-width: 1280px){.app-shell{max-width:1280px}.channel-card.normal{width:120px}.section-header h2,.section-title{font-size:1.35rem}.nav-item{font-size:.85rem;padding:10px 32px}.nav-item svg{width:28px;height:28px}.watch-shell{max-width:1280px}.watch-page .video-wrap{max-height:min(62vh,760px)}.watch-channel-capsule{max-width:520px}}@media (min-width: 1920px){:root{--radius: 20px;--radius-sm: 14px}.app-shell{max-width:1600px;padding-bottom:100px}.site-header{padding:28px 24px 16px}.ads-slider-container{max-width:1100px;margin-bottom:28px}.ads-slider{height:clamp(200px,22vw,460px)}.section-header{padding:0 24px 16px}.channels-row{gap:18px;padding:0 24px 8px}.channel-card.normal{width:132px;padding:10px 8px 8px}.channel-card.featured{width:144px}.channel-card .logo-wrap{width:52px;height:52px}.channel-card.featured .logo-wrap{width:58px;height:58px}.channel-card .name{font-size:.78rem}.section-header h2,.section-title{font-size:1.5rem}.section-divider-text{font-size:.95rem;padding:8px 20px}.bottom-nav{padding:14px 0 calc(14px + env(safe-area-inset-bottom))}.nav-item{font-size:1rem;min-height:56px}.nav-item svg{width:32px;height:32px}[data-tv-focus]:focus-visible,[data-tv-focus]:focus{outline-width:4px;outline-offset:4px}.watch-top-bar{padding:18px 28px}.watch-back-btn{min-height:52px;min-width:52px;font-size:1.05rem;padding:12px 20px}.watch-channel-capsule{max-width:640px;padding:10px 16px;gap:12px}.watch-channel-logo{width:44px;height:44px}.watch-channel-name{font-size:1.15rem}.watch-channel-fav{width:44px;height:44px}.watch-player-stage{padding:20px 28px 32px}.watch-player-frame{border-radius:18px}.watch-page .video-wrap{max-height:min(68vh,900px)}.watch-recommended .channel-card.normal{width:140px}.watch-recommended .channel-card .logo-wrap{width:58px;height:58px}.watch-recommended .channel-card .name{font-size:.82rem}}
