/* Television workspace: categories, channel tuning, and a real viewing pane. */
body[data-view=discover] .dashboard-grid{display:none}body[data-view=discover] .page-heading{justify-content:flex-start;text-align:left}
:root{--rail:208px;--category:152px;--channel-list:320px;--player-list:270px;--pane-gap:16px;--row:82px;--row-compact:64px;--screen-height:calc(100dvh - 290px);--guide-channel:180px;--guide-width:940px;--guide-row:88px;--line:#34445f;--workspace:#101b2e;--screen:#060b15;--guide-current:#213f45;--shell-header:76px;--settings-nav:168px;--source-list:300px}
.main{min-height:100dvh}.topbar{max-width:none;height:var(--shell-header);padding-inline:var(--s6);border-bottom:1px solid var(--line)}.app-brand{font-size:var(--s5);letter-spacing:-.6px}.app-brand img{width:var(--s8);height:var(--s8)}.breadcrumb #breadcrumb{display:inline;font-size:var(--body);color:var(--text);font-weight:600}.page-content{max-width:none;padding:var(--s6) var(--s6) calc(var(--nav-gap) + env(safe-area-inset-bottom,0px))}.page-heading{margin:0 0 var(--s5)}.page-heading h1{font-size:var(--title);margin:var(--s1) 0 var(--s2)}.page-heading p{font-size:var(--small)}.page-heading .eyebrow{display:none}.library-toolbar{margin-bottom:var(--s5);max-width:none;align-items:center}.active-source-control{flex:0 1 var(--source-list);flex-direction:row;align-items:center;gap:var(--s3);font-size:var(--small)}.active-source-control select{font-size:var(--body)}.search-box{max-width:none;margin-left:auto;flex:0 1 460px}.rail-library{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4) 0;border-top:1px solid var(--line);margin-bottom:var(--s4)}.rail-library strong{overflow-wrap:anywhere;font-size:var(--small)}.rail-library .eyebrow{font-size:var(--micro)}.rail-library .text-button{justify-content:flex-start;line-height:1.4}.profile{padding-top:var(--s4)}
.tv-workspace{display:grid;grid-template-columns:var(--category) minmax(250px,var(--channel-list)) minmax(0,1fr);gap:var(--pane-gap);align-items:start;min-width:0}.category-pane,.channel-pane,.watch-pane{min-width:0;background:var(--workspace);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden}.pane-heading{padding:var(--s5) var(--s4) var(--s4)}.pane-heading h2,.pane-heading h3{font-size:var(--body);margin:var(--s2) 0 0;font-weight:650}.pane-heading .eyebrow{font-size:var(--micro)}.category-list{max-height:var(--screen-height);overflow:auto;padding:0 var(--s2) var(--s2);scrollbar-width:thin}.category-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);width:100%;text-align:left;min-height:var(--target);padding:var(--s3) var(--s2);border-radius:var(--r1);color:var(--muted);font-size:var(--small);line-height:1.5}.category-row>span:first-child{overflow-wrap:anywhere}.category-row>span:last-child{font-variant-numeric:tabular-nums;font-size:var(--micro);opacity:.9}.category-row.active{background:var(--raised);color:var(--accent);font-weight:650}.category-row:hover{background:var(--raised);color:var(--text)}.channel-pane>.section-heading{padding:var(--s4);margin:0;border-bottom:1px solid var(--line);gap:var(--s2)}.channel-pane .section-heading h2{font-size:var(--body)}.channel-pane .section-heading p{font-size:var(--micro);margin-top:var(--s2);line-height:1.5}.channel-pane .layout-options{padding:0;border:0;background:none;gap:0}.channel-pane .layout-options .icon-button{width:var(--s10);min-width:var(--s10)}
.channel-rows{display:flex;flex-direction:column;max-height:var(--screen-height);overflow:auto;scrollbar-width:thin}.channel-row{display:flex;align-items:center;min-width:0;border-bottom:1px solid var(--line);background:transparent;padding:0;gap:0;box-shadow:none;border-radius:0}.channel-row:last-child{border-bottom:0}.channel-row.is-watching{background:var(--raised);box-shadow:inset 3px 0 0 var(--accent)}.channel-tune{display:flex;align-items:center;min-width:0;gap:var(--s3);padding:var(--s4) var(--s2) var(--s4) var(--s3);min-height:var(--row);flex:1;text-align:left}.channel-tune:hover{background:var(--raised)}.channel-number{width:var(--s4);flex-shrink:0;color:var(--muted);font-size:var(--micro);font-variant-numeric:tabular-nums}.channel-row .channel-mark{width:var(--s10);height:var(--s10);border:1px solid var(--line);border-radius:var(--r1);font-size:var(--micro);flex-shrink:0}.channel-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:var(--s1)}.channel-copy strong{font-size:var(--small);font-weight:600;line-height:1.5;overflow-wrap:anywhere}.channel-copy>span{font-size:var(--micro);line-height:1.5;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-play{color:var(--accent);width:var(--s4);flex-shrink:0}.row-play svg{width:var(--s4);height:var(--s4)}.row-favourite{display:grid;place-items:center;flex-shrink:0;width:var(--target);height:var(--target);color:var(--muted);border-radius:var(--r1);margin-right:var(--s1)}.row-favourite svg{width:var(--s5);height:var(--s5)}.row-favourite.saved{color:var(--accent)}.row-favourite:hover{background:var(--raised)}.channel-rows.list-layout .channel-tune{min-height:var(--row-compact);padding-block:var(--s2)}.channel-rows .empty-state{border:0;border-radius:0;background:none;padding:var(--s8) var(--s5)}.channel-rows .empty-state h3{font-size:var(--body)}.channel-pane .load-more-wrap{padding:var(--s4);margin:0;border-top:1px solid var(--line)}
.preview-screen{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:270px;padding:var(--s8) var(--s5);background:var(--screen);gap:var(--s3);overflow:hidden}.preview-watermark{color:var(--stroke-soft);width:var(--s12);height:var(--s12);margin-bottom:var(--s2)}.preview-watermark svg{width:100%;height:100%;stroke-width:1.2}.preview-screen h2{font-size:var(--title);line-height:1.3;margin:0;font-weight:650;overflow-wrap:anywhere}.preview-screen p{font-size:var(--small);color:var(--muted);margin:0 0 var(--s2)}.programme-detail{padding:var(--s6)}.programme-detail h3{font-size:var(--s5);line-height:1.5;margin:var(--s3) 0}.programme-detail p{font-size:var(--small);color:var(--muted);line-height:1.8}.programme-time{font-size:var(--small);font-variant-numeric:tabular-nums;color:var(--accent)}
.cinema-player{width:min(1240px,calc(100vw - var(--s12)));max-width:none;padding:0;max-height:calc(100dvh - var(--s12));border-radius:var(--r2);background:var(--workspace)}.cinema-player .player-heading{padding:var(--s5);gap:var(--s3);border-bottom:1px solid var(--line)}.cinema-player .player-channel{min-width:0}.cinema-player .player-channel>div:last-child{min-width:0}.cinema-player .player-heading h2{font-size:var(--s5);line-height:1.4;white-space:normal;overflow-wrap:anywhere}.cinema-player .player-heading p{font-size:var(--small);line-height:1.5;white-space:normal}.cinema-player .player-tools{flex-shrink:0}.cinema-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--player-list);align-items:start}.cinema-stage{min-width:0}.cinema-player .video-container{aspect-ratio:16/9;background:var(--screen)}.cinema-player .player-footer{padding:var(--s3) var(--s4);gap:var(--s3);flex-wrap:wrap}.cinema-player .player-footer>div{gap:var(--s2)}.cinema-player .player-programme{padding:var(--s4);font-size:var(--small);line-height:1.8;color:var(--muted);empty-cells:hide}.player-programme:empty{display:none}.channel-stepper{display:flex;gap:var(--s2);padding:var(--s4);border-top:1px solid var(--line)}.channel-stepper .button{flex:1;padding-inline:var(--s2)}.player-browser{border-left:1px solid var(--line);padding:0 var(--s3) var(--s4);min-width:0}.player-browser .pane-heading{padding-inline:var(--s1)}.player-search{display:flex;flex-direction:column;gap:var(--s2);font-size:var(--small);color:var(--muted);padding-bottom:var(--s4)}.player-search input{min-width:0;width:100%;min-height:var(--target);background:var(--input);color:var(--text);font-size:var(--body);padding:var(--s3);border:1px solid var(--border);border-radius:var(--r1)}#player-channel-list{max-height:480px;overflow:auto;scrollbar-width:thin}.player-channel-option{display:flex;align-items:center;gap:var(--s3);min-height:var(--row-compact);width:100%;padding:var(--s3) var(--s2);border-radius:var(--r1);text-align:left;min-width:0}.player-channel-option>span:nth-child(2){display:flex;flex-direction:column;gap:var(--s1);min-width:0;flex:1}.player-channel-option strong{font-size:var(--small);line-height:1.5;overflow-wrap:anywhere}.player-channel-option small{font-size:var(--micro);color:var(--muted);line-height:1.5}.player-channel-option>.channel-mark{width:var(--s8);height:var(--s8);font-size:var(--micro);flex-shrink:0}.player-channel-option>svg{width:var(--s4);height:var(--s4);flex-shrink:0;color:var(--accent)}.player-channel-option.selected,.player-channel-option:hover{background:var(--raised)}.player-channel-option.selected{box-shadow:inset 2px 0 0 var(--accent)}
dialog.inline-player[open]{display:block;position:relative;inset:auto;width:100%;max-height:none;margin:0;border:0;border-radius:0;box-shadow:none;overflow:visible}.inline-player .cinema-layout{display:block}.inline-player .player-browser{display:none}.inline-player .player-heading{padding:var(--s4);background:var(--workspace)}.inline-player .player-heading .channel-mark{display:none}.inline-player .player-heading h2{font-size:var(--body)}.inline-player .player-subtitle{font-size:var(--micro)}.inline-player .player-info{font-size:var(--micro)}.inline-player .player-footer{background:var(--workspace)}.inline-player .player-footer>span{width:100%}.inline-player .player-footer>div{width:100%;justify-content:space-between}.inline-player .channel-stepper{flex-wrap:wrap}.inline-player .channel-stepper .button{font-size:var(--micro)}
.guide-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5);border:1px solid var(--line);border-radius:var(--r2) var(--r2) 0 0;background:var(--workspace)}.guide-toolbar h2{font-size:var(--s5);margin:var(--s2) 0 0}.guide-notice{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border-inline:1px solid var(--line);background:var(--workspace);color:var(--muted);font-size:var(--small);line-height:1.7}.guide-notice svg{width:var(--s5);height:var(--s5);flex-shrink:0}.guide-notice p{margin:0}.schedule-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:0 0 var(--r2) var(--r2);background:var(--workspace);scrollbar-width:thin}.schedule{min-width:var(--guide-width)}.schedule-header,.schedule-row{display:grid;grid-template-columns:var(--guide-channel) minmax(0,1fr)}.schedule-header{min-height:var(--target);align-items:center;font-size:var(--micro);color:var(--muted);border-bottom:1px solid var(--line)}.schedule-header>strong{padding:var(--s4);position:sticky;left:0;background:var(--workspace);z-index:2}.schedule-times{display:grid;grid-template-columns:repeat(4,1fr);font-variant-numeric:tabular-nums}.schedule-times>span{padding-left:var(--s3)}.schedule-row{border-bottom:1px solid var(--line);min-height:var(--guide-row)}.schedule-row:last-child{border-bottom:0}.schedule-channel{display:flex;align-items:center;gap:var(--s3);position:sticky;left:0;z-index:2;background:var(--workspace);padding:var(--s3);text-align:left;border-right:1px solid var(--line)}.schedule-channel strong{font-size:var(--small);line-height:1.5;overflow-wrap:anywhere}.schedule-channel .channel-mark{flex-shrink:0;width:var(--s10);height:var(--s10);font-size:var(--micro)}.schedule-track{position:relative;min-width:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),var(--line) calc(25% - 1px),var(--line) 25%)}.schedule-show{position:absolute;top:var(--s2);bottom:var(--s2);display:flex;flex-direction:column;justify-content:center;gap:var(--s2);padding:var(--s3);background:var(--raised);border:1px solid var(--line);border-radius:var(--r1);text-align:left;overflow:hidden;min-width:0}.schedule-show.current{background:var(--guide-current);border-color:var(--accent)}.schedule-show span{font-size:var(--micro);color:var(--muted);white-space:nowrap}.schedule-show strong{font-size:var(--small);line-height:1.5;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.schedule-empty{display:flex;align-items:center;min-height:var(--guide-row);padding-inline:var(--s4);color:var(--muted);font-size:var(--small)}
.source-manager{display:grid;grid-template-columns:var(--source-list) minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r2);background:var(--workspace);overflow:hidden;min-height:460px}.source-index{min-width:0;border-right:1px solid var(--line);padding:0 var(--s4) var(--s4)}.source-index .pane-heading{padding-inline:0}.source-index-list{margin-top:var(--s4);display:flex;flex-direction:column;gap:var(--s2)}.source-choice{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s4) var(--s3);border:1px solid transparent;border-radius:var(--r1);text-align:left}.source-choice.selected{background:var(--raised);border-color:var(--border)}.source-choice:hover{background:var(--raised)}.source-choice>span:nth-child(2){min-width:0;flex:1;display:flex;flex-direction:column;gap:var(--s1)}.source-choice strong{font-size:var(--small);line-height:1.5;overflow-wrap:anywhere}.source-choice small{font-size:var(--micro);color:var(--muted);line-height:1.5}.source-choice>.source-icon{width:var(--s8);height:var(--s8);border-radius:var(--r1);flex-shrink:0}.source-choice>.source-icon svg{width:var(--s5);height:var(--s5)}.source-choice>svg{width:var(--s4);height:var(--s4);flex-shrink:0;color:var(--muted)}.connection-detail{padding:var(--s8);min-width:0}.connection-title{display:flex;align-items:center;gap:var(--s5)}.connection-title h2{font-size:var(--title);line-height:1.4;margin:var(--s2) 0;overflow-wrap:anywhere}.connection-title p{font-size:var(--small);color:var(--muted);margin:0}.connection-title>.source-icon{width:var(--s12);height:var(--s12);border-radius:var(--r1);flex-shrink:0}.connection-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);padding:var(--s6) 0;margin:var(--s5) 0;border-block:1px solid var(--line)}.connection-facts>div{min-width:0}.connection-facts dt{font-size:var(--small);color:var(--muted);margin-bottom:var(--s2)}.connection-facts dd{font-size:var(--body);margin:0;overflow-wrap:anywhere;line-height:1.5}.connection-actions{display:flex;flex-wrap:wrap;gap:var(--s3)}.connection-note{display:flex;align-items:flex-start;gap:var(--s3);margin-top:var(--s6);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r1)}.connection-note svg{width:var(--s5);height:var(--s5);flex-shrink:0;color:var(--muted)}.connection-note p{font-size:var(--small);line-height:1.8;color:var(--muted);margin:0}
@media(min-width:1100px){.sidebar{width:var(--rail);transform:none;border-right:1px solid var(--line);padding:var(--s6) var(--s4)}.sidebar .nav-item{font-size:var(--small);padding-inline:var(--s3)}.sidebar .drawer-heading{margin-bottom:var(--s6)}.sidebar .drawer-heading .brand{font-size:var(--s5)}.sidebar .drawer-heading .brand img{width:var(--s8);height:var(--s8)}.sidebar .drawer-heading>button{display:none}.sidebar .profile{display:none}.sidebar-bottom{margin-top:var(--s5)}.workspace-label{font-size:var(--micro)}.sidebar-shade,.sidebar-shade.visible{display:none}.main{margin-left:var(--rail);width:calc(100% - var(--rail))}.mobile-menu{display:none}.mobile-nav{display:none}.page-content{padding-bottom:var(--s8)}.main::after{display:none}footer{display:none}.topbar .app-brand{display:none}.topbar .breadcrumb{flex:1}.sidebar .brand{letter-spacing:-.8px}.sidebar .brand-dot{color:var(--accent)}}
@media(max-width:1099px){.tv-workspace{grid-template-columns:minmax(0,1fr);gap:var(--s4)}.category-pane{border:0;background:none;border-radius:0}.category-pane .pane-heading{display:none}.category-list{display:flex;flex-wrap:nowrap;gap:var(--s2);overflow-x:auto;max-height:none;padding:var(--s1) 0 var(--s2)}.category-row{width:auto;flex-shrink:0;max-width:240px;border:1px solid var(--line);border-radius:var(--pill);padding:var(--s2) var(--s4);gap:var(--s3);font-size:var(--small);background:var(--workspace)}.category-row>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-row.active{border-color:var(--accent)}.channel-rows{max-height:none}.watch-pane{display:none}.channel-tune{padding-inline:var(--s4)}.channel-number{width:var(--s6)}.channel-copy strong{font-size:var(--body)}.channel-copy>span{font-size:var(--small)}.channel-row .channel-mark{width:var(--s12);height:var(--s12);font-size:var(--small)}.row-favourite{margin-right:var(--s3)}.cinema-player{width:calc(100vw - var(--s6));max-height:calc(100dvh - var(--s6))}.cinema-layout{grid-template-columns:minmax(0,1fr) 240px}.source-manager{grid-template-columns:240px minmax(0,1fr)}.connection-detail{padding:var(--s6)}.connection-title{gap:var(--s4)}.connection-title h2{font-size:var(--s5)}}
@media(max-width:700px){.topbar{height:calc(var(--shell-header) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--s4) 0}.topbar .app-brand{display:none}.page-content{padding:var(--s5) var(--s4) calc(var(--nav-gap) + env(safe-area-inset-bottom,0px))}.page-heading h1{font-size:var(--title)}.page-heading{margin-bottom:var(--s5)}.page-heading p{font-size:var(--small);line-height:1.6}.library-toolbar{gap:var(--s3);flex-direction:column;align-items:stretch;margin-bottom:var(--s4)}.active-source-control{flex:auto;flex-direction:row;min-width:0}.active-source-control select{min-width:0}.search-box{flex:auto;margin:0;max-width:none}.channel-pane>.section-heading{padding:var(--s3) var(--s4)}.channel-tune{gap:var(--s3);padding:var(--s3)}.channel-number{width:var(--s4)}.channel-copy strong{font-size:var(--small)}.channel-copy>span{font-size:var(--micro)}.channel-row .channel-mark{width:var(--s10);height:var(--s10);font-size:var(--micro)}.row-favourite{margin-right:var(--s1)}.channel-rows.list-layout .channel-tune{min-height:var(--row-compact)}.cinema-player{width:100vw;height:100dvh;max-height:100dvh;max-width:none;margin:0;inset:0;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.cinema-player .player-heading{padding:var(--s4);position:sticky;top:0;z-index:3;background:var(--workspace)}.cinema-player .player-heading h2{font-size:var(--body)}.cinema-player .player-heading p{font-size:var(--micro)}.cinema-player .player-channel>.channel-mark{display:none}.cinema-layout{display:flex;flex-direction:column}.cinema-stage,.player-browser{width:100%}.player-browser{border-left:0;border-top:1px solid var(--line);padding-inline:var(--s4)}.cinema-player .player-footer{font-size:var(--micro)}.cinema-player .player-footer>div{gap:var(--s1)}.quality-label{font-size:var(--micro)}.cinema-player .player-programme{padding:var(--s4)}#player-channel-list{max-height:none}.player-search{position:sticky;top:0}.source-manager{display:flex;flex-direction:column;min-height:0}.source-index{border-right:0;border-bottom:1px solid var(--line);padding:0 var(--s4) var(--s4)}.source-index-list{flex-direction:row;overflow:auto;max-width:100%;padding-bottom:var(--s1)}.source-choice{width:240px;flex-shrink:0}.source-index>.full-width{width:auto}.connection-detail{padding:var(--s5)}.connection-title{align-items:flex-start;gap:var(--s3)}.connection-title h2{font-size:var(--s5)}.connection-facts{gap:var(--s5);grid-template-columns:1fr 1fr}.connection-facts dd{font-size:var(--small)}.connection-actions .button{flex:1;flex-basis:40%}.guide-toolbar{padding:var(--s4)}.guide-toolbar h2{font-size:var(--body)}.guide-toolbar .eyebrow{font-size:var(--micro)}.guide-toolbar .button{font-size:var(--micro);padding-inline:var(--s3)}.guide-notice{padding:var(--s4)}.schedule-scroll{border-radius:0 0 var(--r1) var(--r1)}.schedule{--guide-channel:136px}.schedule-channel{gap:var(--s2);padding:var(--s2)}.schedule-channel .channel-mark{width:var(--s8);height:var(--s8)}.schedule-channel strong{font-size:var(--micro)}.mobile-nav button{font-size:var(--micro)}body[data-view=discover] .page-heading{text-align:left;justify-content:flex-start}body[data-view=discover] .dashboard-grid{display:none}.dashboard-tools{justify-content:flex-start}.dashboard-status{padding:var(--s4);background:var(--workspace);border:1px solid var(--line);border-radius:var(--r1)}.playlist-picker{margin-top:var(--s5)}.playlist-heading h2{font-size:var(--s5)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.settings-console{width:min(860px,calc(100vw - var(--s12)));padding:0}.settings-console>.dialog-heading{padding:var(--s6);margin:0;border-bottom:1px solid var(--line)}.settings-layout{display:grid;grid-template-columns:var(--settings-nav) minmax(0,1fr);min-height:360px}.settings-navigation{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5) var(--s3);border-right:1px solid var(--line);background:var(--workspace)}.settings-navigation button{display:flex;align-items:center;gap:var(--s3);min-height:var(--target);padding:var(--s3);border-radius:var(--r1);color:var(--muted);font-size:var(--small);text-align:left}.settings-navigation button svg{width:var(--s5);height:var(--s5);flex-shrink:0}.settings-navigation button[aria-pressed=true]{background:var(--raised);color:var(--accent);font-weight:600}.settings-content{padding:var(--s6);min-width:0}.settings-content .settings-block:first-child{margin-top:0;padding-top:0;border-top:0}.settings-content .setting-row:first-child{padding-top:0}.settings-content strong{font-size:var(--s5);line-height:1.4}.settings-content .setting-row strong{font-size:var(--body)}.settings-content .settings-block p{font-size:var(--small);line-height:1.8}.settings-content .settings-input{margin-top:var(--s2)}.settings-content #relay-copy,.settings-content #relay-disconnect{margin-top:var(--s3)}
@media(max-width:700px){.settings-console{width:calc(100vw - var(--s6));padding:0}.settings-console>.dialog-heading{padding:var(--s5)}.settings-layout{display:flex;flex-direction:column;min-height:0}.settings-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;border-right:0;border-bottom:1px solid var(--line);padding:var(--s2);gap:var(--s1)}.settings-navigation button{flex-direction:column;align-items:center;justify-content:center;min-width:0;white-space:nowrap;font-size:var(--micro);gap:var(--s2);padding:var(--s3) var(--s1)}.settings-navigation button svg{width:var(--s5);height:var(--s5)}.settings-content{padding:var(--s5)}}
