:root{--bg: #212121;--surface: #2A2A2A;--card: #2E2E2E;--card-pulse: #3A3A3A;--nav: #1A1A1A;--accent: #FF1744;--accent-dark: #D50000;--text: #FFFFFF;--text-secondary: #B0B0B0;--text-muted: #717171;--chip-bg: #2E2E2E;--chip-selected-bg: #FFFFFF;--chip-selected-text: #000000;--divider: #3A3A3A;--epg-program: #333333;--epg-now-line: #FF0000;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--header-h: 72px;--tabs-h: 52px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden;touch-action:manipulation}#app{height:100%}button,input{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--accent);text-decoration:none}img{display:block;max-width:100%}.screen{height:100%;display:flex;flex-direction:column;overflow:hidden}.screen-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.splash{align-items:center;justify-content:center;background:var(--bg)}.splash-logo{width:180px;height:auto;animation:pulse 1.5s ease-in-out infinite}.splash-text{margin-top:24px;color:var(--text-secondary);font-size:14px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.login-screen{padding:var(--safe-top) 20px var(--safe-bottom);overflow-y:auto}.login-card{background:var(--surface);border-radius:12px;padding:28px 24px;max-width:480px;margin:40px auto 20px}.login-logo{width:200px;margin-bottom:8px}.login-subtitle{color:var(--text-secondary);font-size:15px;margin-bottom:24px}.input-field{width:100%;height:48px;background:var(--card);border:1px solid var(--divider);border-radius:8px;padding:0 16px;margin-bottom:12px;outline:none;font-size:16px}.input-field:focus{border-color:var(--accent)}.error-text{color:#ff7a7a;font-size:14px;min-height:20px;margin:4px 0}.btn-primary{width:100%;height:48px;background:var(--text);color:#000;border-radius:8px;font-size:18px;font-weight:700;margin-top:8px}.btn-primary:disabled{opacity:.5}.qr-card{background:var(--surface);border-radius:12px;padding:24px;max-width:480px;margin:0 auto 40px;text-align:center}.qr-card h3{font-size:20px;margin-bottom:8px}.qr-card p{color:var(--text-secondary);font-size:14px;margin-bottom:16px}.qr-img{width:180px;height:180px;background:#fff;padding:8px;border-radius:8px;margin:0 auto 12px}.qr-link{color:var(--accent);font-weight:700;font-size:16px}.profiles-screen{align-items:center;justify-content:flex-start;padding:calc(40px + var(--safe-top)) 20px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch}.profiles-title{font-size:28px;font-weight:400;margin-bottom:32px;text-align:center}.profiles-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;max-width:600px}.profile-card{text-align:center;width:120px;cursor:pointer}.profile-avatar{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;margin:0 auto 12px;transition:transform .15s;color:#fff;overflow:hidden}.profile-avatar-image{background:transparent;padding:0}.profile-avatar-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-avatar-add{background:var(--card);font-size:36px;color:var(--text-muted);border-radius:8px}.profile-card:active .profile-avatar{transform:scale(.95)}.profile-name{font-size:14px;color:#9a9a9a}.profile-add .profile-avatar-add{border-radius:8px}.profiles-actions{margin-top:32px;display:flex;gap:16px}.profiles-loading{justify-content:center}.profiles-sync-loader{text-align:center;width:240px}.profiles-sync-bar{height:4px;background:#fff3;border-radius:4px;overflow:hidden}.profiles-sync-bar-fill{height:100%;width:40%;background:#fff;border-radius:4px;animation:profileSyncSlide 1.2s ease-in-out infinite}@keyframes profileSyncSlide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.profiles-sync-text{margin-top:24px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fffc}.btn-secondary{padding:10px 24px;border:1px solid var(--divider);border-radius:6px;color:var(--text-secondary);font-size:14px}.main-shell{height:100%;display:flex;flex-direction:column}.main-header{height:calc(var(--header-h) + var(--safe-top));padding-top:var(--safe-top);background:var(--bg);display:flex;align-items:center;justify-content:space-between;padding-left:14px;padding-right:14px;flex-shrink:0;z-index:100;box-shadow:0 2px 8px #0000004d}.header-logo{height:42px}.header-left{position:relative;display:flex;align-items:center;min-width:0;min-height:42px}.platform-back-hint{display:flex;align-items:center;gap:8px;position:relative;z-index:1;padding:4px 4px 4px 0;color:var(--text)}.platform-back-hint[hidden]{display:none}.platform-back-key{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 8px;border-radius:4px;background:#3a3a3a;font-size:14px;font-weight:700}.platform-back-text{font-size:13px;font-weight:600;letter-spacing:.2px}.main-header:has(.platform-back-hint:not([hidden])) .header-logo{visibility:hidden;position:absolute}.platform-card{flex-shrink:0;width:148px;height:84px;border-radius:10px;border:1px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:center;padding:16px 20px;overflow:hidden;scroll-snap-align:start;cursor:pointer;color:#fff}.platform-card.selected{border:3px solid #fff;box-shadow:0 0 0 1px #0006}.platform-card-logo{width:100%;height:100%;object-fit:contain;pointer-events:none}.platform-card.fill{padding:0}.platform-card.fill .platform-card-logo{object-fit:cover}.platform-card-name{font-size:15px;font-weight:800;letter-spacing:.4px;text-align:center;line-height:1.15;text-shadow:0 1px 2px rgba(0,0,0,.45)}.header-actions{display:flex;align-items:center;gap:12px}.icon-btn{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text)}.icon-btn svg{width:28px;height:28px}.profile-btn-wrap{padding:0;border:none;background:none;border-radius:50%;cursor:pointer}.profile-btn{width:42px;height:42px;border-radius:50%;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden;padding:0}.profile-btn.profile-avatar-image img{width:100%;height:100%;object-fit:cover}.main-content{flex:1;overflow:hidden;position:relative;padding-bottom:calc(var(--tabs-h) + var(--safe-bottom))}.bottom-tabs{position:fixed;bottom:0;left:0;right:0;height:calc(var(--tabs-h) + var(--safe-bottom));padding:8px 8px calc(8px + var(--safe-bottom));background:var(--nav);display:flex;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:100}.bottom-tabs::-webkit-scrollbar{display:none}.tab-btn{flex:1;min-width:0;height:36px;display:flex;align-items:center;justify-content:center;color:#bebebe;font-size:11px;font-weight:700;letter-spacing:.8px;padding:0 8px;white-space:nowrap;border-radius:14px;background:var(--chip-bg);border:2px solid transparent;transition:background .15s,color .15s,border-color .15s}.tab-btn.active{color:var(--chip-selected-text);background:var(--chip-selected-bg);border-color:var(--chip-selected-bg)}.tab-btn:focus-visible{border-color:#fff;outline:none}.tab-panel{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 0 24px}.rail{margin-bottom:20px}.rail-title{font-size:13px;font-weight:700;letter-spacing:1px;color:var(--text-secondary);padding:0 16px 10px;text-transform:uppercase}.rail-scroll{display:flex;gap:10px;overflow-x:auto;padding:0;scroll-snap-type:x mandatory;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.rail-scroll:before,.rail-scroll:after{content:"";flex:0 0 16px}.rail-scroll::-webkit-scrollbar{display:none}.poster-card{flex-shrink:0;width:120px;scroll-snap-align:start;cursor:pointer}.poster-card.wide{width:200px}.poster-card.channel-card{width:148px}.poster-card.channel-card .poster-img-wrap{aspect-ratio:unset;height:68px;display:flex;align-items:center;justify-content:center}.poster-card.channel-card .poster-img{object-fit:contain;width:100%;height:100%;padding:10px;box-sizing:border-box}.poster-card.channel-card .poster-placeholder{font-size:18px}.poster-card.tall{width:110px}.poster-img-wrap{position:relative;border-radius:8px;overflow:hidden;background:var(--card);aspect-ratio:2/3}.poster-card.wide .poster-img-wrap{aspect-ratio:16/9}.poster-img{width:100%;height:100%;object-fit:cover}.poster-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:24px;background:var(--card)}.poster-live-badge{position:absolute;top:6px;left:6px;z-index:2;background:var(--accent);color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.5px}.poster-schedule-badge{position:absolute;top:6px;left:6px;z-index:2;background:#000000b8;color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;max-width:calc(100% - 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-card.poster-fill-card{width:200px}.poster-card.poster-fill-card .poster-img-wrap{aspect-ratio:16 / 9;height:auto}.poster-card.poster-fill-card .poster-img{display:block;width:100%;height:100%;object-fit:cover}.poster-card.poster-fill-card.channel-card{width:200px}.poster-card.poster-fill-card.channel-card .poster-img-wrap{aspect-ratio:16 / 9;height:auto}.poster-card.poster-fill-card.channel-card .poster-img{object-fit:contain;padding:12px}.poster-new-badge{position:absolute;top:6px;right:6px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px}.poster-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#fff3}.poster-progress-fill{height:100%;background:#fff}.poster-title{font-size:12px;margin-top:6px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-subtitle{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sport-thumb-wrap{position:relative;overflow:hidden}.sport-thumb{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.sport-thumb-single{background:var(--sport-home, #1a1a2e)}.sport-thumb-diagonal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--sport-home, #2d2d44)}.sport-thumb-diagonal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--sport-away, #1a1a2e);clip-path:polygon(0 0,58% 0,42% 100%,0 100%)}.sport-matchup{position:relative;z-index:1;display:flex;height:100%;align-items:stretch}.sport-team{flex:1;display:flex;align-items:center;justify-content:center;padding:18px 12px;min-width:0}.sport-team img{width:100%;height:100%;max-height:88px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.sport-team-initial{font-size:20px;font-weight:800;color:#ffffffd1;letter-spacing:.04em}.sport-thumb-img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}.sport-event-card{flex-shrink:0;width:200px;scroll-snap-align:start;cursor:pointer;outline:none}.sport-event-thumb{position:relative;width:100%;height:124px;border-radius:12px;overflow:hidden;background:#1e1e1e;border:1px solid #2a2a2a;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.sport-event-thumb .sport-matchup{height:100%}.sport-event-card:focus-visible .sport-event-thumb,.sport-event-card:active .sport-event-thumb{transform:scale(1.05);box-shadow:0 10px 28px #00000073;border-color:#f2f2f2}.sport-live-badge{position:absolute;top:8px;left:8px;z-index:2;background:#ff1744;color:#fff;font-size:10px;font-weight:700;padding:3px 7px;border-radius:4px;letter-spacing:.4px}.sport-schedule-badge{position:absolute;top:8px;left:8px;z-index:2;background:#484848;color:#fff;font-size:10px;font-weight:700;padding:3px 7px;border-radius:4px;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sports-panel .rail-scroll{gap:12px;padding-bottom:8px}.game-card{flex-shrink:0;width:200px;scroll-snap-align:start;cursor:pointer}.game-card .poster-img-wrap{aspect-ratio:16 / 9}.home-banner{margin:0 16px 16px;border-radius:12px;overflow:hidden;position:relative;aspect-ratio:16/7;background:var(--card);cursor:pointer}.home-banner img{width:100%;height:100%;object-fit:cover}.home-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 40%,#212121f2);display:flex;flex-direction:column;justify-content:flex-end;padding:16px}.home-banner-title{font-size:18px;font-weight:700}.home-banner-sub{font-size:13px;color:var(--text-secondary);margin-top:4px}.live-panel{height:100%;display:flex;flex-direction:column}.live-header-info{padding:8px 16px 4px}.live-channel-name{font-size:18px;font-weight:700}.live-program-title{font-size:13px;color:var(--text-muted);font-weight:600;margin-top:2px}.live-toolbar{display:flex;align-items:center;gap:8px;padding:0 16px 4px}.sort-chip{flex-shrink:0;padding:8px 14px;border-radius:20px;background:var(--chip-bg);font-size:13px;font-weight:700;color:var(--text-secondary)}.live-toolbar .category-chips{flex:1;padding:8px 0}.category-chips{display:flex;gap:8px;overflow-x:auto;padding:8px 16px;scrollbar-width:none}.category-chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;padding:8px 16px;border-radius:20px;background:var(--chip-bg);font-size:13px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.chip.active{background:var(--chip-selected-bg);color:var(--chip-selected-text)}.channel-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.channel-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--divider);cursor:pointer}.channel-row:active{background:var(--card)}.channel-logo-sm{width:28px;height:28px;border-radius:4px;object-fit:contain;background:var(--card);flex-shrink:0;padding:2px;box-sizing:border-box}.channel-info{flex:1;min-width:0}.channel-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-now{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-fav{color:var(--accent);font-size:16px;flex-shrink:0}.live-guide-panel{overflow:hidden}.epg-guide{flex:1;display:flex;flex-direction:column;min-height:0;padding:0 0 8px}.epg-time-header{display:flex;align-items:stretch;background:#1a1a1a;border-bottom:1px solid var(--divider);flex-shrink:0}.epg-channel-spacer{flex-shrink:0;border-right:1px solid var(--divider)}.epg-time-slots{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.epg-time-slots::-webkit-scrollbar{display:none}.epg-time-slot{flex-shrink:0;font-size:11px;font-weight:600;color:var(--text-muted);padding:10px 4px;text-align:center;border-right:1px solid var(--divider);box-sizing:border-box}.epg-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.epg-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--text-secondary);font-size:14px}.epg-row{display:flex;align-items:stretch;height:56px;border-bottom:1px solid var(--divider)}.epg-channel-cell{width:72px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;background:var(--card);border:none;border-right:1px solid var(--divider);cursor:pointer;color:inherit}.epg-channel-cell:active{background:#3a3a3a}.epg-channel-logo{width:40px;height:24px;object-fit:contain}.epg-channel-initial{font-size:12px;color:var(--text-muted)}.epg-channel-label{font-size:8px;color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.epg-programs-track{flex:1;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.epg-programs-track::-webkit-scrollbar{display:none}.epg-programs-inner{display:flex;height:100%;min-width:max-content}.epg-program{flex-shrink:0;height:100%;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--epg-program);border-right:1px solid var(--divider);cursor:pointer;box-sizing:border-box;overflow:hidden}.epg-program-thumb{width:48px;height:40px;border-radius:4px;object-fit:cover;flex-shrink:0;background:#3d3d3d}.epg-program:active{background:#444}.epg-program.is-now{background:#3d3d3d;border-left:2px solid var(--epg-now-line)}.epg-program-title{font-size:12px;font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.epg-program.is-now .epg-program-title{color:var(--text)}.search-screen{height:100%;display:flex;flex-direction:column}.search-bar-wrap{padding:max(48px,calc(16px + var(--safe-top))) 16px 16px;display:flex;gap:8px;align-items:center}.search-back{font-size:24px;padding:8px;min-width:44px;min-height:44px}.search-input{flex:1;height:48px;background:var(--surface);border:1px solid var(--divider);border-radius:24px;padding:0 16px;font-size:16px;outline:none}.search-filters{display:flex;gap:8px;padding:0 16px 12px}.filter-btn{padding:6px 14px;border-radius:16px;background:var(--chip-bg);font-size:13px;font-weight:600;color:var(--text-secondary)}.filter-btn.active{background:var(--text);color:#000}.search-results{flex:1;overflow-y:auto;padding:0 16px 24px}.search-result-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--divider);cursor:pointer}.search-result-row:active{opacity:.7}.settings-screen{height:100%;overflow-y:auto;padding-bottom:40px}.settings-header{display:flex;align-items:center;gap:12px;padding:max(48px,calc(16px + var(--safe-top))) 16px 16px}.settings-back{display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;padding:8px;min-width:44px;min-height:44px}.settings-title{font-size:20px;font-weight:700}.setting-group-title{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text-muted);padding:20px 16px 8px;text-transform:uppercase}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--divider);cursor:pointer}.setting-row:active{background:var(--surface)}.setting-label{font-size:15px}.setting-value{font-size:14px;color:var(--text-secondary)}.setting-danger{color:var(--accent)}.player-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:1000;display:flex;flex-direction:column}.player-video-wrap:fullscreen,.player-video-wrap:-webkit-full-screen{width:100%;height:100%;background:#000}.player-screen:fullscreen .player-video,.player-screen:-webkit-full-screen .player-video,.player-video-wrap:fullscreen .player-video,.player-video-wrap:-webkit-full-screen .player-video{width:100%;height:100%;object-fit:contain}.player-video-wrap{flex:1;position:relative;background:#000;min-height:0}.player-video{width:100%;height:100%;object-fit:contain;background:#000}.player-screen:fullscreen,.player-screen:-webkit-full-screen{width:100%;height:100%}.player-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#ffffffd9;font-size:14px;pointer-events:none;z-index:2;text-align:center;max-width:90%}.player-live-header{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;align-items:center;gap:12px;padding:calc(12px + var(--safe-top)) 16px 16px;background:linear-gradient(rgba(0,0,0,.75) 0%,rgba(0,0,0,.35) 70%,transparent 100%);pointer-events:auto}.player-close,.player-back,.player-fs-btn{font-size:28px;color:#fff;flex-shrink:0;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#ffffff24;border:1px solid rgba(255,255,255,.22)}.player-back svg,.player-fs-btn svg{width:24px;height:24px;fill:currentColor}.player-fs-btn{margin-left:auto}.player-close{font-size:26px}.player-controls{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(rgba(0,0,0,.6) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.8) 100%);opacity:1;transition:opacity .3s;z-index:3}.player-controls.hidden{opacity:0;pointer-events:none}.player-top{display:flex;align-items:center;gap:12px;padding:calc(12px + var(--safe-top)) 16px 12px}.player-top .player-title-wrap,.player-title-wrap{flex:1;min-width:0}.player-title-text{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-now-text{margin-top:4px;font-size:14px;font-weight:400;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-center{display:flex;align-items:center;justify-content:center}.player-play-btn{width:72px;height:72px;border-radius:50%;background:#00000073;border:2px solid rgba(255,255,255,.35);color:#fff;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 24px #00000059}.player-play-btn svg{width:32px;height:32px;fill:currentColor}.player-play-btn .player-icon-pause,.player-play-btn .player-icon-retry,.player-play-btn.is-playing .player-icon-play{display:none}.player-play-btn.is-playing .player-icon-pause{display:block}.player-play-btn.is-retry .player-icon-play,.player-play-btn.is-retry .player-icon-pause{display:none}.player-play-btn.is-retry .player-icon-retry{display:block}.player-play-btn:active{transform:scale(.96);background:#ffffff2e}.player-bottom{padding:12px 16px calc(12px + var(--safe-bottom))}.player-progress-bar{padding:14px 0;margin-bottom:4px;cursor:pointer;touch-action:none}.player-progress-bar.scrubbing .player-progress-fill{background:#fff}.player-progress-track{height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden}.player-progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .1s linear}.player-progress-bar.scrubbing .player-progress-fill{transition:none}.player-time{display:flex;justify-content:space-between;font-size:12px;color:#ffffffb3}.player-vod-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.player-action-chip{flex:1 1 calc(50% - 4px);min-width:0;padding:10px 12px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:13px;font-weight:600;text-align:center}.player-action-chip:active{background:#ffffff38}.player-picker-overlay{z-index:1100}.picker-sheet{padding:16px 16px calc(16px + var(--safe-bottom))}.picker-title{font-size:18px;font-weight:700;margin-bottom:12px;padding:0 4px}.picker-list{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto;margin-bottom:12px}.picker-item{width:100%;text-align:left;padding:14px 12px;border-radius:10px;background:var(--card);color:var(--text);font-size:14px;line-height:1.35}.picker-item:active{background:var(--surface-hover, rgba(255,255,255,.08))}.picker-cancel{width:100%;padding:14px;border-radius:10px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:15px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:500;display:flex;align-items:flex-end;justify-content:center}.modal-sheet{background:var(--surface);border-radius:16px 16px 0 0;width:100%;max-height:90vh;overflow-y:auto;padding-bottom:var(--safe-bottom);animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0}.detail-hero{position:relative;aspect-ratio:16/9;background:var(--card)}.detail-hero img{width:100%;height:100%;object-fit:cover}.detail-hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 30%,var(--surface))}.detail-close{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#00000080;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;z-index:1}.detail-body{padding:0 16px 24px;margin-top:-40px;position:relative}.detail-title{font-size:22px;font-weight:700;margin-bottom:8px}.detail-meta{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.detail-overview{font-size:14px;line-height:1.5;color:var(--text-secondary);margin-bottom:16px}.detail-actions{display:flex;gap:10px;margin-bottom:20px}.btn-play{flex:1;height:44px;background:var(--text);color:#000;border-radius:8px;font-weight:700;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-icon-action{width:44px;height:44px;background:#ffffff26;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px}.season-chips{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px;scrollbar-width:none}.episode-list{display:flex;flex-direction:column;gap:2px}.episode-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--divider);cursor:pointer}.episode-row:active{opacity:.7}.episode-num{font-size:20px;font-weight:700;color:var(--text-muted);width:28px;flex-shrink:0}.episode-still{width:100px;height:56px;border-radius:6px;object-fit:cover;background:var(--card);flex-shrink:0}.episode-info{flex:1;min-width:0}.episode-name{font-size:14px;font-weight:600;margin-bottom:2px}.episode-desc{font-size:12px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary)}.spinner{width:36px;height:36px;border:3px solid var(--divider);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-center .loading-text{margin-top:12px;color:var(--text-secondary);font-size:14px}.profiles-grid.profiles-syncing{opacity:.55;pointer-events:none}.empty-state h3{color:var(--text);font-size:18px;margin-bottom:8px;font-weight:400}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:600;display:flex;align-items:center;justify-content:center;padding:20px}.dialog-box{background:var(--surface);border-radius:12px;padding:24px;max-width:360px;width:100%;text-align:center}.dialog-title{font-size:18px;font-weight:700;margin-bottom:12px}.dialog-message{font-size:14px;color:var(--text-secondary);margin-bottom:20px;line-height:1.4}.dialog-actions{display:flex;gap:10px}.dialog-btn{flex:1;height:44px;border-radius:8px;font-weight:600;font-size:15px}.dialog-btn.primary{background:var(--text);color:#000}.dialog-btn.secondary{background:var(--card);color:var(--text-secondary)}.create-profile-form{padding:24px 16px 32px}.avatar-preview{width:96px;height:96px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:#fff;background:var(--card)}.avatar-preview-image{padding:0;overflow:hidden;background:transparent}.avatar-preview-image img{width:100%;height:100%;object-fit:cover;border-radius:50%}.swatch-label{font-size:13px;color:var(--text-secondary);margin:16px 0 8px}.avatar-swatch-scroll{display:flex;gap:10px;overflow-x:auto;padding:8px 4px 12px;margin-bottom:16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;-webkit-mask-image:linear-gradient(to right,transparent,black 24px,black calc(100% - 24px),transparent);mask-image:linear-gradient(to right,transparent,black 24px,black calc(100% - 24px),transparent)}.avatar-swatch{flex-shrink:0;width:52px;height:52px;border-radius:50%;border:3px solid transparent;padding:0;cursor:pointer;overflow:hidden;background:none}.avatar-swatch.selected{border-color:#fff;transform:scale(1.08)}.avatar-swatch.image-swatch img{width:100%;height:100%;object-fit:cover;border-radius:50%}.btn-text{width:100%;margin-top:12px;padding:10px;color:var(--text-secondary);font-size:14px}@media (min-width: 768px){.poster-card{width:140px}.poster-card.wide{width:240px}.poster-card.poster-fill-card,.poster-card.poster-fill-card.channel-card{width:260px}.poster-card.channel-card{width:168px}.poster-card.channel-card .poster-img-wrap{height:76px}.poster-card.poster-fill-card.channel-card .poster-img-wrap{height:auto}.platform-card{width:176px;height:96px}.sport-event-card{width:220px}.sport-event-thumb{height:135px}.game-card{width:220px}.login-screen{display:flex;gap:24px;justify-content:center;align-items:flex-start;padding-top:60px}.modal-sheet{max-width:600px;border-radius:16px;margin-bottom:40px}.modal-overlay{align-items:center}}@media (min-width: 1024px){.bottom-tabs{justify-content:center;padding-left:24px;padding-right:24px}.tab-btn{flex:0 1 120px;max-width:140px}}
