:root{--bg-main:#07090e;--bg-surface:#0f141f;--bg-surface-elevated:#161e2e;--bg-card:#121926bf;--bg-glass:#0a0e17d9;--border-subtle:#ffffff14;--border-active:#38bdf873;--border-hover:#fff3;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-cyan:#38bdf8;--accent-blue:#3b82f6;--accent-indigo:#6366f1;--accent-pink:#ec4899;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-red:#ef4444;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 2px 8px #00000059;--shadow-md:0 8px 24px #00000080;--shadow-lg:0 16px 40px #000000b3;--shadow-glow:0 0 24px #38bdf847;--font-sans:"Inter", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;padding-bottom:env(safe-area-inset-bottom,0px);line-height:1.5;overflow-x:hidden}.cursor-pointer,button,.channel-card,.group-tab,.bottom-nav-item{cursor:pointer}.app-layout{flex-direction:column;min-height:100vh;padding-bottom:72px;display:flex}@media (width>=1024px){.app-layout{padding-bottom:20px}}.app-header{z-index:100;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);padding:10px 24px;padding-top:calc(10px + env(safe-area-inset-top,0px));justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.header-left{flex-shrink:0;align-items:center;display:flex}.brand-logo{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.logo-icon-wrapper{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#0284c7,#6366f1);justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 4px 14px #6366f159}.brand-text{flex-direction:column;display:flex}.brand-title{letter-spacing:-.02em;color:#fff;font-size:1.15rem;font-weight:800}.brand-title .highlight{color:var(--accent-cyan);margin-left:2px}.brand-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-emerald);align-items:center;gap:5px;font-size:.65rem;font-weight:700;display:inline-flex}.pulse-dot{background:var(--accent-emerald);width:6px;height:6px;box-shadow:0 0 8px var(--accent-emerald);border-radius:50%;animation:1.8s infinite pulse-ring}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.4)}to{opacity:.8;transform:scale(.95)}}.header-center{flex:1;max-width:480px}.search-container{align-items:center;width:100%;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:14px}.search-container input{border:1px solid var(--border-subtle);border-radius:var(--radius-full);width:100%;height:42px;color:var(--text-primary);transition:var(--transition-fast);background:#ffffff0d;outline:none;padding:0 40px 0 42px;font-family:inherit;font-size:.9rem}.search-container input:focus{border-color:var(--accent-cyan);box-shadow:var(--shadow-glow);background:#ffffff14}.search-container input::placeholder{color:var(--text-muted)}.btn-clear{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:12px}.btn-clear:hover{color:#fff;background:#fff3}.header-right{align-items:center;gap:8px;display:flex}.btn-header{border-radius:var(--radius-md);border:1px solid var(--border-subtle);min-height:40px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;background:#ffffff0d;align-items:center;gap:7px;padding:0 14px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-header:hover{color:#fff;border-color:var(--border-hover);background:#ffffff1a}.btn-header.icon-only{justify-content:center;width:40px;padding:0}.header-pl-label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.btn-header.btn-accent{color:#fff;background:linear-gradient(135deg,#0284c7,#6366f1);border:none;box-shadow:0 4px 12px #6366f14d}.btn-header.btn-accent:hover{filter:brightness(1.1);transform:translateY(-1px)}.main-workspace{flex-direction:column;flex:1;gap:20px;width:100%;max-width:1680px;margin:0 auto;padding:16px 24px 40px;display:flex}.player-section{width:100%;transition:all var(--transition-normal)}.video-container{aspect-ratio:16/9;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);width:100%;max-height:72vh;box-shadow:var(--shadow-lg);background:#000;position:relative;overflow:hidden}.video-container video{object-fit:contain;width:100%;height:100%;display:block}.video-overlay{cursor:pointer;z-index:10;position:absolute;inset:0}.video-container.hide-controls .video-controls,.video-container.hide-controls .player-info-bar{opacity:0;pointer-events:none;transform:translateY(10px)}.player-spinner{z-index:20;backdrop-filter:blur(10px);background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.spinner-ring{border:3px solid #38bdf833;border-top-color:var(--accent-cyan);border-radius:50%;width:50px;height:50px;animation:.8s linear infinite spin}.spinner-text{color:var(--text-secondary);font-size:.9rem;font-weight:500}@keyframes spin{to{transform:rotate(360deg)}}.player-error{z-index:25;backdrop-filter:blur(14px);background:#07090eeb;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.error-content{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:500px;display:flex}.error-icon-box{width:54px;height:54px;color:var(--accent-red);background:#ef444426;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:flex}.error-title{color:#fff;font-size:1.25rem;font-weight:800}.error-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.error-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.stats-overlay{z-index:30;display:none;position:absolute;top:16px;right:16px}.stats-overlay.open{display:block}.stats-card{backdrop-filter:blur(16px);border:1px solid var(--border-active);border-radius:var(--radius-md);min-width:270px;box-shadow:var(--shadow-md);font-family:var(--font-mono);background:#0a0f1af2;padding:14px 18px;font-size:.78rem}.stats-header{color:var(--accent-cyan);justify-content:space-between;align-items:center;margin-bottom:10px;font-weight:700;display:flex}.stats-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1rem}.stats-grid{flex-direction:column;gap:6px;display:flex}.stat-item{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--text-muted)}.stat-val{color:var(--text-primary);font-weight:600}.badge-engine{color:var(--accent-cyan);background:#38bdf826;border-radius:4px;padding:2px 6px}.osd-drawer{z-index:40;backdrop-filter:blur(20px);border-right:1px solid var(--border-subtle);width:320px;transition:transform var(--transition-normal);background:#07090ef5;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.osd-drawer.open{transform:translate(0)}.osd-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:16px 20px;font-weight:700;display:flex}.osd-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.osd-list{flex-direction:column;flex:1;gap:6px;padding:10px;display:flex;overflow-y:auto}.osd-item{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);background:#ffffff08;align-items:center;gap:12px;padding:10px 12px;display:flex}.osd-item:hover{background:#ffffff14}.osd-item.playing{border:1px solid var(--border-active);background:#38bdf826}.osd-logo{background:#1e293b;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.75rem;font-weight:700;display:flex;overflow:hidden}.osd-logo img{object-fit:contain;width:100%;height:100%}.osd-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.osd-name-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.osd-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.85rem;font-weight:600;overflow:hidden}.osd-group{color:var(--text-muted);font-size:.72rem}.osd-live-badge{background:var(--accent-red);color:#fff;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.video-controls{z-index:30;transition:opacity var(--transition-normal), transform var(--transition-normal);background:linear-gradient(#0000 0%,#0000008c 40%,#000000eb 100%);flex-direction:column;padding:24px 20px 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.player-info-bar{transition:opacity var(--transition-normal);justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.info-left{align-items:center;gap:14px;min-width:0;display:flex}.info-logo{border-radius:var(--radius-sm);object-fit:contain;width:44px;height:44px;box-shadow:var(--shadow-sm);background:#ffffff14;padding:4px}.info-details{flex-direction:column;gap:4px;min-width:0;display:flex}.info-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.info-channel-title{color:#fff;letter-spacing:-.01em;text-shadow:0 2px 4px #000c;font-size:1.15rem;font-weight:800}.info-epg-row{align-items:center;gap:6px;display:flex}.live-dot{background:var(--accent-red);width:8px;height:8px;box-shadow:0 0 6px var(--accent-red);border-radius:50%}.info-epg-title{color:var(--text-secondary);font-size:.82rem;font-weight:500}.info-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.btn-ctrl-text{border:1px solid var(--border-subtle);color:#fff;border-radius:var(--radius-sm);cursor:pointer;backdrop-filter:blur(8px);background:#ffffff1f;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.btn-ctrl-text:hover{background:#fff3}.sleep-timer-badge{color:var(--accent-amber);border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;font-family:var(--font-mono);background:#f59e0b33;border:1px solid #f59e0b66;padding:4px 8px}.epg-progress-wrapper{background:#ffffff26;border-radius:2px;width:100%;height:4px;margin-bottom:12px;overflow:hidden}.epg-progress-bar{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-blue));border-radius:2px;width:50%;height:100%;transition:width .3s}.controls-bottom{justify-content:space-between;align-items:center;display:flex}.ctrl-group{align-items:center;gap:8px;display:flex}.btn-ctrl{color:#fff;cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;transition:var(--transition-fast);backdrop-filter:blur(8px);background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.btn-ctrl:hover{background:#fff3;transform:scale(1.05)}.btn-ctrl.btn-play-main{background:linear-gradient(135deg,#0284c7,#6366f1);width:48px;height:48px;box-shadow:0 4px 14px #6366f166}.btn-ctrl.btn-play-main:hover{filter:brightness(1.15);transform:scale(1.08)}.btn-ctrl.btn-ctrl-quality{border-radius:var(--radius-full);background:#ffffff1f;border:1px solid #ffffff26;gap:6px;width:auto;min-width:64px;padding:0 12px}.btn-ctrl.btn-ctrl-quality:hover{border-color:var(--accent-cyan);background:#ffffff38}.quality-label{color:var(--accent-cyan);letter-spacing:.02em;font-size:.78rem;font-weight:800}.volume-container{border-radius:var(--radius-full);background:#ffffff0f;align-items:center;gap:6px;padding:0 10px 0 0;display:flex}.volume-slider{appearance:none;cursor:pointer;background:#fff3;border-radius:2px;outline:none;width:76px;height:4px}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-cyan);cursor:pointer;width:14px;height:14px;box-shadow:0 0 8px var(--accent-cyan);border-radius:50%}.dropdown-wrapper{position:relative}.dropdown-menu{backdrop-filter:blur(24px);border:1px solid var(--border-active);border-radius:var(--radius-lg);min-width:250px;box-shadow:var(--shadow-lg);z-index:100;background:#0f141ffa;flex-direction:column;gap:4px;padding:10px;animation:.15s cubic-bezier(.16,1,.3,1) modal-pop;display:none;position:absolute;bottom:54px;right:0}.dropdown-menu.open{display:flex}.quality-menu-header{border-bottom:1px solid var(--border-subtle);margin-bottom:4px;padding:6px 10px 10px}.quality-menu-title{color:#fff;font-size:.85rem;font-weight:700}.quality-current-res{font-size:.72rem;font-family:var(--font-mono);color:var(--accent-cyan);margin-top:2px}.quality-menu-list{flex-direction:column;gap:4px;max-height:240px;display:flex;overflow-y:auto}.menu-item{border-radius:var(--radius-md);min-height:44px;color:var(--text-secondary);cursor:pointer;text-align:left;transition:var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.menu-item:hover{color:#fff;background:#ffffff14}.menu-item.active{color:var(--accent-cyan);background:#38bdf826;font-weight:800}.check-icon{color:var(--accent-cyan);font-size:.95rem;font-weight:800}.menu-item-info{border-radius:var(--radius-sm);color:var(--text-primary);background:#ffffff0a;flex-direction:column;gap:4px;padding:10px 12px;font-size:.8rem;display:flex}.menu-item-info small{color:var(--text-muted);font-size:.72rem}.quality-menu-footer{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:8px}.menu-item-alt{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;min-height:38px;color:var(--text-secondary);cursor:pointer;text-align:center;transition:var(--transition-fast);background:#ffffff0d;padding:8px 12px;font-size:.78rem;font-weight:600}.menu-item-alt:hover{color:#fff;background:#ffffff1f}.playlist-quick-dropdown{min-width:280px;top:48px;bottom:auto;right:0}.category-bar-wrapper{scrollbar-width:none;width:100%;padding-bottom:4px;overflow-x:auto}.category-bar-wrapper::-webkit-scrollbar{display:none}.group-tabs{align-items:center;gap:8px;display:flex}.group-tab{border-radius:var(--radius-full);background:var(--bg-surface);border:1px solid var(--border-subtle);min-height:42px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:var(--transition-fast);align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.group-tab:hover{background:var(--bg-surface-elevated);color:#fff;border-color:var(--border-hover)}.group-tab.active{color:var(--accent-cyan);border-color:var(--border-active);background:linear-gradient(135deg,#0284c738,#6366f147);box-shadow:0 2px 10px #38bdf82e}.tab-icon{align-items:center;display:flex}.tab-count{border-radius:var(--radius-full);color:var(--text-muted);background:#ffffff14;padding:2px 6px;font-size:.72rem}.group-tab.active .tab-count{color:var(--accent-cyan);background:#38bdf833}.channels-section{flex-direction:column;gap:16px;display:flex}.channels-header{justify-content:space-between;align-items:center;display:flex}.channels-header-left{align-items:center;gap:12px;display:flex}.section-title{letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.badge-count{border-radius:var(--radius-full);color:var(--text-secondary);background:#ffffff0f;padding:4px 10px;font-size:.78rem;font-weight:600}.channel-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.channel-grid.compact-view{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.channel-grid.compact-view .channel-card{padding:10px 14px}.channel-grid.compact-view .card-logo-container{width:44px;height:44px}.channel-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-fast);backdrop-filter:blur(12px);align-items:center;gap:14px;min-height:78px;padding:14px 16px;display:flex;position:relative}.channel-card:hover{background:var(--bg-surface-elevated);border-color:var(--border-hover);box-shadow:var(--shadow-md)}.channel-card.playing{border-color:var(--border-active);box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#0284c72e,#6366f12e)}.card-logo-container{border-radius:var(--radius-md);background:#151d2c;border:1px solid #ffffff0d;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative;overflow:hidden}.channel-logo{object-fit:contain;width:100%;height:100%;padding:4px}.logo-fallback{color:var(--accent-cyan);text-transform:uppercase;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.live-wave{align-items:flex-end;gap:2px;height:12px;display:flex;position:absolute;bottom:4px;right:4px}.live-wave span{background:var(--accent-cyan);border-radius:1px;width:2px;animation:1s ease-in-out infinite alternate wave}.live-wave span:nth-child(2){height:10px;animation-delay:.2s}.live-wave span:nth-child(3){height:6px;animation-delay:.4s}@keyframes wave{0%{height:3px}to{height:12px}}.card-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.channel-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.channel-group{color:var(--text-muted);font-size:.72rem;font-weight:500}.card-epg{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:.76rem;display:flex;overflow:hidden}.epg-icon{color:var(--accent-cyan);font-size:.65rem}.btn-fav{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.btn-fav:hover{color:#fff}.btn-fav.active{color:var(--accent-amber)}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;align-items:center;padding:2px 6px;font-size:.65rem;font-weight:700;display:inline-flex}.badge-hls{color:var(--accent-cyan);background:#38bdf826}.badge-dash{color:var(--accent-pink);background:#ec489926}.badge-drm{color:var(--accent-amber);background:#f59e0b26}.badge-group{color:var(--text-secondary);background:#ffffff14}.badge-format{color:var(--accent-cyan);background:#38bdf826}.badge-live{background:var(--accent-red);color:#fff}.channel-status-badge{letter-spacing:.02em;transition:var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:5px;padding:2px 6px;font-size:.65rem;font-weight:700;display:inline-flex}.status-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px}.status-online{color:#4ade80;background:#22c55e1f;border-color:#22c55e4d}.status-online .status-dot{background:#22c55e;animation:1.8s infinite pulse-dot;box-shadow:0 0 6px #22c55e}.status-offline{color:#f87171;background:#ef444414;border-color:#ef444433}.status-offline .status-dot{background:#ef4444}.status-checking{color:#38bdf8;background:#38bdf814;border-color:#38bdf833}.status-checking .status-dot{background:#38bdf8;animation:1s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.btn-filter-online{border:1px solid var(--border-subtle);border-radius:var(--radius-full);height:32px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:#ffffff0a;align-items:center;gap:6px;padding:0 12px;font-size:.78rem;font-weight:600;display:inline-flex}.btn-filter-online:hover{border-color:var(--border-hover);color:#fff;background:#ffffff14}.btn-filter-online.active{color:#4ade80;background:#22c55e26;border-color:#22c55e66}.online-filter-dot{background:var(--text-muted);width:7px;height:7px;transition:var(--transition-fast);border-radius:50%}.btn-filter-online.active .online-filter-dot{background:#22c55e;box-shadow:0 0 6px #22c55e}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.empty-icon{width:56px;height:56px;color:var(--text-muted);background:#ffffff0d;border-radius:50%;justify-content:center;align-items:center;display:flex}.empty-title{color:#fff;font-size:1.15rem;font-weight:700}.empty-desc{font-size:.88rem}.modal{z-index:1000;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal.open{display:flex}.modal-backdrop{backdrop-filter:blur(10px);background:#000000c7;position:absolute;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) modal-pop;display:flex;position:relative;overflow:hidden}.modal-content.modal-lg{max-width:720px}@keyframes modal-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-header-title{flex-direction:column;gap:2px;display:flex}.modal-header h3{color:#fff;font-size:1.15rem;font-weight:800}.modal-subtitle{color:var(--text-muted);font-size:.78rem;font-weight:500}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:6px;font-size:1.2rem}.modal-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-subtle);background:#00000040;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.playlist-mode-bar{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:#00000059;grid-template-columns:1fr 1fr;gap:8px;padding:5px;display:grid}.btn-mode{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:10px 14px;font-size:.84rem;font-weight:700;display:flex}.btn-mode:hover{color:#fff;background:#ffffff0f}.btn-mode.active{border:1px solid var(--border-active);color:var(--accent-cyan);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#0284c740,#6366f14d)}.playlist-section-header h4{color:var(--text-secondary);font-size:.9rem;font-weight:700}.saved-playlists-list{flex-direction:column;gap:8px;max-height:360px;padding-right:4px;display:flex;overflow-y:auto}.add-playlist-collapsible{flex-direction:column;gap:8px;margin-top:4px;display:flex}.btn-collapse-toggle{border:1px dashed var(--border-hover);border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);background:#ffffff0a;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.88rem;font-weight:700;display:flex}.btn-collapse-toggle:hover{border-color:var(--accent-cyan);color:var(--accent-cyan);background:#ffffff14}.btn-collapse-toggle.active{border-color:var(--border-active);color:var(--accent-cyan);background:#38bdf81a}.toggle-icon{color:var(--text-muted);transition:transform var(--transition-fast);font-size:.8rem}.add-playlist-box.collapsible-content{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#ffffff05;flex-direction:column;gap:12px;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) modal-pop;display:flex}.playlist-item-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:var(--transition-fast);background:#ffffff08;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.playlist-item-card:hover{background:#ffffff12}.playlist-item-card.active{border-color:var(--border-active);background:#38bdf81a}.pl-item-info{flex-direction:column;gap:4px;min-width:0;display:flex}.pl-item-title{align-items:center;gap:8px;display:flex}.pl-name{color:#fff;font-size:.92rem;font-weight:700}.pl-item-url{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:380px;font-size:.74rem;font-family:var(--font-mono);overflow:hidden}.pl-item-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.btn-delete-pl{color:var(--accent-red);background:#ef444426;border:1px solid #ef44444d}.btn-delete-pl:hover{background:#ef44444d}.add-playlist-box{border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);background:#ffffff05;flex-direction:column;gap:12px;padding:16px;display:flex}.add-playlist-box h4{color:#fff;font-size:.9rem;font-weight:700}.add-pl-actions{justify-content:flex-end;margin-top:6px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-group input,.form-group select{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:#f8fafc;cursor:pointer;background:#161e2e;outline:none;width:100%;height:44px;padding:0 14px;font-family:inherit;font-size:.9rem}.form-group select option{color:#f8fafc;background-color:#0f141f;padding:12px 14px}.form-group input:focus,.form-group select:focus{border-color:var(--accent-cyan);background:#1c2638}.checkbox-group label{color:var(--text-primary);cursor:pointer;align-items:center;gap:10px;font-size:.88rem;display:flex}.modal-divider{text-align:center;color:var(--text-muted);align-items:center;margin:4px 0;font-size:.75rem;font-weight:700;display:flex}.modal-divider:before,.modal-divider:after{content:"";border-bottom:1px solid var(--border-subtle);flex:1}.modal-divider span{padding:0 10px}.btn{border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 18px;font-size:.88rem;font-weight:600;display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#0284c7,#6366f1);box-shadow:0 2px 10px #6366f140}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{color:var(--text-secondary);background:#ffffff14}.btn-secondary:hover{color:#fff;background:#ffffff26}.btn-sm{min-height:34px;padding:6px 12px;font-size:.8rem}.epg-schedule-list{flex-direction:column;gap:8px;display:flex}.epg-schedule-item{border-radius:var(--radius-md);background:#ffffff08;border-left:3px solid #0000;gap:16px;padding:12px 14px;display:flex}.epg-schedule-item.now-playing{border-left-color:var(--accent-cyan);background:#38bdf81a}.epg-time{font-family:var(--font-mono);color:var(--accent-cyan);white-space:nowrap;font-size:.82rem;font-weight:600}.epg-details{flex-direction:column;gap:4px;display:flex}.epg-prog-title{font-size:.9rem;font-weight:700}.epg-prog-desc{color:var(--text-secondary);font-size:.8rem}.shortcuts-grid{flex-direction:column;gap:10px;display:flex}.shortcut-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 0;display:flex}kbd{border:1px solid var(--border-subtle);font-family:var(--font-mono);color:var(--accent-cyan);background:#ffffff1a;border-radius:6px;padding:4px 8px;font-size:.8rem}.mobile-bottom-nav{z-index:90;-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));background:#07090ef2;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=1024px){.mobile-bottom-nav{display:none}}.bottom-nav-item{color:var(--text-muted);border-radius:var(--radius-sm);transition:var(--transition-fast);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-width:54px;padding:6px 12px;font-size:.72rem;font-weight:600;display:flex}.bottom-nav-item svg{transition:transform var(--transition-fast)}.bottom-nav-item.active{color:var(--accent-cyan)}.bottom-nav-item.active svg{transform:translateY(-1px)}.toast{z-index:2000;backdrop-filter:blur(16px);border:1px solid var(--border-active);border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-lg);opacity:0;transition:all var(--transition-normal);pointer-events:none;background:#0a0f1af5;padding:12px 20px;font-size:.88rem;font-weight:600;position:fixed;bottom:84px;right:24px;transform:translateY(100px)}.toast.show{opacity:1;transform:translateY(0)}@media (width>=1024px){.toast{bottom:24px}}@media (width<=768px){.app-header{padding:8px 14px}.main-workspace{gap:14px;padding:8px 12px 24px}.header-pl-label,.btn-label-text{display:none}.search-container input{height:38px;font-size:.82rem}.video-container{border-radius:var(--radius-lg);max-height:48vh}.volume-container{display:none}.channel-grid,.channel-grid.compact-view{grid-template-columns:1fr}.dropdown-menu.quality-dropdown{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:60vh;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));z-index:1500;border-bottom:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #000c}}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}
