.radio-view,.programme-page{padding:1.5rem;max-width:100rem;margin:auto}.radio-view h1,.programme-page h1{margin-top:0}.radio-list,.programme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.65rem;margin-top:1rem}.radio-list button{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.65rem;align-items:center;text-align:left}.radio-list img,.programme-channel>img{width:3rem;height:3rem;object-fit:contain;background:#171717;border-radius:.35rem}.radio-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-view audio{width:100%;margin-top:1rem}.programme-channel{display:grid;grid-template-columns:4rem minmax(0,1fr);gap:.8rem;min-height:6.2rem;padding:.8rem;background:#111;border:1px solid #282828;border-radius:.65rem}.programme-channel>img{width:4rem;height:4rem}.programme-channel h2{margin:0 0 .45rem;font-size:1rem}.programme-channel p{margin:.25rem 0;color:#ddd;font-size:.86rem}.programme-channel p.next{color:#a2a2a2;font-size:.78rem}.programme-channel b{display:inline-block;width:5rem;color:#fff}.program-back{color:#f4f4f4;text-decoration:none;border:1px solid #303030;border-radius:.65rem;padding:.55rem .8rem}
.programme-detail>div{display:block}.programme-copy h2{margin:0 0 .45rem;font-size:1.45rem}.programme-copy p{margin:.5rem 0;line-height:1.45}.programme-copy .programme-meta{color:#aaa}.krri-rating{display:inline-grid;place-items:center;min-width:1.45rem;height:1.45rem;margin-right:.3rem;background:#d0d639;color:#fff;border-radius:.16rem;font-weight:800}.guide-head .category-choice select{height:2.52rem;min-width:10.5rem}.guide-head .category-choice{font-size:.65rem}.guide-row{position:relative}.channel-star{position:absolute;right:.75rem;display:grid;place-items:center;width:2rem;height:2rem;color:#ffe066;font-size:1.25rem;font-style:normal;opacity:0;transition:opacity .15s}.guide-row:hover .channel-star,.guide-row:focus-visible .channel-star,.guide-row.active .channel-star{opacity:1}.guide-row span{padding-right:2rem}
.hidden,[hidden]{display:none!important}dialog{width:min(42rem,calc(100vw - 2rem));max-height:min(48rem,calc(100vh - 2rem));overflow:auto;padding:0;color:#f4f4f4;background:#0d0d0d;border:1px solid #303030;border-radius:1rem;box-shadow:0 1.5rem 5rem rgb(0 0 0/.65)}dialog::backdrop{background:rgb(0 0 0/.76);backdrop-filter:blur(5px)}dialog>h2{margin:0;padding:1.35rem 1.5rem;border-bottom:1px solid #282828;font-size:1.35rem}dialog>.close{position:absolute;top:.8rem;right:.8rem;width:2.35rem;height:2.35rem;padding:0;border-radius:50%;font-size:1.35rem}dialog section,dialog form{display:grid;gap:.8rem;margin:1rem;padding:1.1rem;background:#111;border:1px solid #282828;border-radius:.75rem}dialog section h3{margin:0 0 .15rem;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase}dialog label{display:grid;gap:.38rem;color:#c8c8c8;font-size:.82rem}dialog input,dialog select{width:100%;padding:.78rem .85rem;color:#f4f4f4;background:#0b0b0b;border:1px solid #383838;border-radius:.55rem;outline:none}dialog input:focus,dialog select:focus{border-color:#666;box-shadow:0 0 0 2px rgb(255 224 102/.15)}dialog .hint{margin:0;color:#929292;font-size:.78rem;line-height:1.45}dialog #settings-status,dialog #login-status{min-height:1.2rem;margin:0;color:#ffe066}.guide-head{align-items:flex-end}.guide-head>.category-choice select,.guide-head>#guide-title{height:2.55rem}
#fullscreen-clock{display:none}.video-shell.has-video:fullscreen,.video-shell.has-video:-webkit-full-screen,.video-shell.has-video:fullscreen video,.video-shell.has-video:-webkit-full-screen video{background:#000}.video-shell:fullscreen #fullscreen-banner,.video-shell:-webkit-full-screen #fullscreen-banner{top:.55rem;right:.55rem;left:.55rem;max-width:none;grid-template-columns:6.2rem minmax(0,1fr);gap:1rem;padding:1rem;background:rgb(0 0 0/.64);border-radius:.8rem}.video-shell:fullscreen #fullscreen-banner img,.video-shell:-webkit-full-screen #fullscreen-banner img{width:6.2rem;height:6.2rem}.video-shell:fullscreen #fullscreen-banner strong,.video-shell:-webkit-full-screen #fullscreen-banner strong{font-size:1.65rem}.video-shell:fullscreen #fullscreen-banner span,.video-shell:-webkit-full-screen #fullscreen-banner span{grid-template-columns:7rem minmax(0,1fr)}.video-shell:fullscreen #fullscreen-banner b,.video-shell:fullscreen #fullscreen-banner em,.video-shell:-webkit-full-screen #fullscreen-banner b,.video-shell:-webkit-full-screen #fullscreen-banner em{font-size:1.15rem}.video-shell:fullscreen #fullscreen-clock,.video-shell:-webkit-full-screen #fullscreen-clock{position:absolute;z-index:5;top:1.25rem;right:1.35rem;display:block;color:#fff;font-size:2.1rem;font-weight:750;font-variant-numeric:tabular-nums;line-height:1;opacity:0;pointer-events:none;transition:opacity .12s}.video-shell.controls:fullscreen #fullscreen-clock,.video-shell.controls:-webkit-full-screen #fullscreen-clock,.video-shell.clock-always:fullscreen #fullscreen-clock,.video-shell.clock-always:-webkit-full-screen #fullscreen-clock{opacity:1}.video-shell:fullscreen #fullscreen-banner>div,.video-shell:-webkit-full-screen #fullscreen-banner>div{padding-right:8rem}
#volume{width:6.2rem;accent-color:#ffe066}.volume{display:flex;align-items:center;gap:.4rem;color:#fff}.video-shell:hover .video-controls{opacity:0;pointer-events:none}.video-shell.controls .video-controls{opacity:1;pointer-events:auto}.guide-row{grid-template-columns:4rem minmax(0,1fr);background:linear-gradient(90deg,#242424 0 var(--progress,0%),#111 var(--progress,0%) 100%)}.guide-row span{display:grid;gap:.18rem}.guide-row .guide-next{color:#888;font-size:.7rem}.guide-row .guide-now{font-size:.75rem}.video-shell:fullscreen #edge-guide,.video-shell:-webkit-full-screen #edge-guide{right:auto;left:0;transform:translateX(-102%);width:min(27rem,42vw);padding:1rem;background:rgb(13 13 13/.97)}.video-shell.show-edge-guide:fullscreen #edge-guide,.video-shell.show-edge-guide:-webkit-full-screen #edge-guide{transform:translateX(0)}#edge-category{width:100%;margin-bottom:.8rem;padding:.65rem;color:#fff;background:#111;border:1px solid #303030;border-radius:.55rem}.video-shell:fullscreen #edge-guide .guide-row,.video-shell:-webkit-full-screen #edge-guide .guide-row{min-height:5.5rem}.video-shell:fullscreen #fullscreen-banner .next em,.video-shell:-webkit-full-screen #fullscreen-banner .next em{font-size:.95rem;color:#aaa}.programme-detail{min-height:0;max-height:calc(100vh - min(56vw,100vh));overflow:auto}.programme-detail>div{align-items:flex-start}.programme-detail #channel-logo{display:block;flex:0 0 auto}.programme-detail .programme:empty{display:none}.programme-detail:has(.programme:empty){padding-bottom:1.1rem}.programme-detail:has(.programme:empty) h1{margin-bottom:0}.krri-rating-image{width:1.45rem!important;height:1.45rem!important;vertical-align:middle;margin-right:.3rem;border-radius:.16rem;object-fit:cover}.programme-page{max-width:none;background:#090909}.programme-grid{grid-template-columns:repeat(auto-fill,minmax(21rem,1fr));gap:1px;background:#2b2b2b}.programme-channel{border:0;border-radius:0;background:#111}.programme-channel:hover{background:#1b1b1b}
.video-shell.radio-mode{isolation:isolate;display:grid;place-items:center;overflow:hidden;background:#080808}.video-shell.radio-mode::before{content:"";position:absolute;z-index:-1;inset:-2rem;background-image:var(--station-art);background-size:cover;background-position:center;filter:blur(2.5rem) brightness(.38);transform:scale(1.14)}.video-shell.radio-mode>#idle-logo{position:relative;inset:auto;width:min(42%,16rem);height:min(42%,16rem);padding:0;object-fit:contain;background:transparent;border-radius:1rem;box-shadow:none;transform:translateY(-1.4rem)}.video-shell.radio-mode video{opacity:0;pointer-events:none}.video-shell.radio-mode .video-controls{z-index:4}.video-shell.radio-mode:fullscreen>#idle-logo,.video-shell.radio-mode:-webkit-full-screen>#idle-logo{width:min(36vw,26rem);height:min(36vw,26rem)}
.video-shell>#radio-now{display:none}.video-shell.radio-mode>#radio-now{display:block;position:absolute;top:calc(50% + min(21%,8rem));right:1rem;left:1rem;z-index:2;margin:0;color:#fff;text-align:center;font-size:clamp(1rem,2vw,1.45rem);font-weight:750;text-shadow:0 .15rem .8rem #000}.video-shell.radio-mode:fullscreen>#radio-now,.video-shell.radio-mode:-webkit-full-screen>#radio-now{font-size:clamp(1.2rem,2.4vw,1.8rem)}
.player-area{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.programme-detail{max-height:none;min-height:0;overflow:auto;background:#0d0d0d}.programme-detail>div{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:center}.programme-detail #channel-logo{grid-column:1}.programme-detail #channel-logo+div{grid-column:2;min-width:0}.programme-detail h1{margin:.15rem 0 .35rem}.programme-detail .programme{min-width:0}@media(max-width:900px){.player-area{display:block;overflow:visible}.programme-detail{overflow:visible}}

/* Stały układ paska: Play/Stop i status po lewej, pozostałe elementy po prawej. */
.video-controls #play{margin-right:0}.video-controls #live{margin-right:auto}.krri-rating-image{border-radius:0!important;object-fit:contain!important}.programme-detail>div{display:grid!important;grid-template-columns:5rem minmax(0,1fr)!important;align-items:center!important}.programme-detail #channel-logo{background:#171717!important;border-radius:.45rem!important;object-fit:contain}.programme-detail .programme-copy{grid-column:1 / -1;margin-top:.75rem}.programme-detail .programme-meta{margin:0!important}.programme-detail .programme-description{margin:.45rem 0 0!important;line-height:1.45}.video-shell.radio-mode>#idle-logo{background:transparent!important}

/* W radiu okładka i tytuł są kolejnymi elementami, także w pełnym ekranie. */
.video-shell.radio-mode{grid-template-rows:auto auto;align-content:center;gap:1rem}.video-shell.radio-mode>#idle-logo{transform:none}.video-shell.radio-mode>#radio-now{position:relative;inset:auto;right:auto;left:auto;top:auto;max-width:min(90%,44rem);margin:0;text-wrap:balance}.video-shell.radio-mode:fullscreen>#idle-logo,.video-shell.radio-mode:-webkit-full-screen>#idle-logo{width:min(32vw,23rem);height:min(32vw,23rem)}

/* Safari nie zawsze przycina obraz <img> samym border-radius. */
.video-shell.radio-mode>#idle-logo{border-radius:1rem!important;clip-path:inset(0 round 1rem);overflow:hidden}

/* Sekcja programu: cztery jednoznaczne wiersze. */
.programme-detail>div{display:grid!important;grid-template-columns:5rem minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:1.2rem;row-gap:0;align-items:center!important}.programme-detail #channel-logo{grid-column:1;grid-row:1;width:5rem;height:5rem;background:#171717!important;border-radius:.45rem!important;object-fit:contain}.programme-detail #channel-name{grid-column:2;grid-row:1;margin:0!important}.programme-detail #programme{grid-column:1 / -1;grid-row:2;display:block!important}.programme-copy h2{margin:0 0 .35rem!important;font-size:1.45rem}.programme-copy .programme-meta{margin:0!important}.programme-copy .programme-description{margin:.45rem 0 0!important}

/* Radio: karta okładki jak w widoku pełnoekranowym. */
.video-shell.radio-mode{gap:1.15rem}.video-shell.radio-mode>#idle-logo{width:min(46%,30rem);height:min(46%,30rem);max-height:62%;padding:1rem!important;background:#171717!important;border-radius:1.25rem!important;clip-path:inset(0 round 1.25rem);object-fit:cover}.video-shell.radio-mode>#radio-now{font-size:clamp(1.05rem,2vw,1.55rem);font-weight:800}.video-shell.radio-mode:fullscreen>#idle-logo,.video-shell.radio-mode:-webkit-full-screen>#idle-logo{width:min(42vw,34rem);height:min(42vw,34rem);max-height:68%}

/* Gazetowy widok programu TV. */
.programme-page{padding:1.4rem;max-width:none}.programme-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.25rem}.programme-toolbar h1{margin:0}.programme-toolbar p{margin:.35rem 0 0;color:#a2a2a2}.programme-filters{display:flex;gap:.7rem;align-items:end}.programme-filters .category-choice select{min-width:12rem;height:2.65rem}.programme-board{display:flex;min-height:calc(100vh - 12rem);overflow-x:auto;overflow-y:hidden;border:1px solid #282828;background:#151515;scroll-snap-type:x proximity}.schedule-column{flex:0 0 min(19rem,86vw);min-height:100%;background:#0d0d0d;border-right:1px solid #282828;scroll-snap-align:start}.schedule-column.loading{padding:1rem;color:#999}.schedule-channel{position:sticky;top:0;z-index:2;display:grid;place-items:center;width:100%;height:7.5rem;padding:1rem;background:#141414;border:0;border-bottom:1px solid #303030;border-radius:0}.schedule-channel:hover{background:#1c1c1c}.schedule-channel img{width:4.5rem;height:4.5rem;object-fit:contain;background:#171717;border-radius:.45rem}.schedule-channel span{position:absolute;right:.55rem;bottom:.4rem;left:.55rem;overflow:hidden;color:#aaa;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.schedule-item{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-content:start;width:100%;min-height:7rem;padding:1rem;border:0;border-bottom:1px solid #282828;border-radius:0;background:#101010;text-align:left}.schedule-item:hover{background:#191919}.schedule-item time{padding:.12rem .3rem;height:max-content;background:#282828;border-radius:.18rem;color:#ddd;font-size:.78rem;font-variant-numeric:tabular-nums}.schedule-item strong{overflow:hidden;font-size:1rem;line-height:1.28}.schedule-item span{grid-column:1 / -1;color:#999;font-size:.8rem}.schedule-item i{position:absolute;right:1rem;bottom:.75rem;left:1rem;height:.22rem;background:linear-gradient(90deg,#ffe066 var(--progress),#343434 var(--progress));border-radius:99rem}.schedule-item.current{box-shadow:inset 3px 0 #ffe066}.schedule-empty{padding:1rem;color:#999}@media(max-width:700px){.programme-toolbar{align-items:stretch;flex-direction:column}.programme-filters{width:100%}.programme-filters .category-choice{flex:1}.programme-filters .category-choice select{min-width:0;width:100%}.programme-page{padding:.8rem}.programme-board{min-height:calc(100vh - 15rem)}}

/* Widok radia odpowiada pełnoekranowemu odtwarzaczowi z głównej strony. */
.video-shell.radio-mode{isolation:isolate;background:#000}.video-shell.radio-mode::before{z-index:0;inset:-3rem;filter:blur(32px);opacity:1;transform:scale(1.08)}.video-shell.radio-mode::after{content:"";position:absolute;z-index:1;inset:0;background:rgb(0 0 0 / 50%)}.video-shell.radio-mode>#idle-logo{position:relative;z-index:2;width:min(68vmin,38rem);height:min(68vmin,38rem);max-width:78%;max-height:68%;padding:0!important;object-fit:contain!important;background:#fff!important;border-radius:1.25rem!important;clip-path:inset(0 round 1.25rem);box-shadow:0 1.5rem 4rem rgb(0 0 0 / 45%)}.video-shell.radio-mode>#radio-now{z-index:2;max-width:min(90%,48rem);margin:0;font-size:clamp(1.3rem,3vw,2rem);line-height:1.2}.video-shell.radio-mode .video-controls{z-index:3}

/* Oś czasu programu: kafelki mają wysokość zależną od długości audycji. */
.programme-board{height:calc(100vh - 12rem);min-height:32rem;overflow:auto;align-items:flex-start}.schedule-column{min-height:2592px;height:max-content}.schedule-item{height:auto;min-height:0}.schedule-item strong{align-self:start}@media(max-width:700px){.programme-board{height:calc(100vh - 15rem);min-height:28rem}}

/* Jeden wspólny wymiar eliminuje rozciąganie okładki w widoku osadzonym. */
.video-shell.radio-mode>#idle-logo{--cover-size:min(58vmin,38rem,calc(100vh - 14rem));width:var(--cover-size)!important;height:var(--cover-size)!important;max-width:none!important;max-height:none!important;aspect-ratio:1 / 1}

/* Lewa grupa: Play/Stop + status. Prawa grupa: dźwięk, głośność, fullscreen. */
.video-controls #play{margin-right:0!important}.video-controls #live{margin-right:auto!important}.video-controls #live[hidden]+#mute{margin-left:auto}

/* Skala zależy od wysokości playera, nie od wysokości całego okna. */
.video-shell.radio-mode{container-type:size}.video-shell.radio-mode>#idle-logo{--cover-size:min(56cqh,38rem);width:var(--cover-size)!important;height:var(--cover-size)!important;max-width:none!important;max-height:none!important;aspect-ratio:1 / 1}.video-shell.radio-mode>#radio-now{width:calc(100% - 3rem)!important;max-width:none!important;font-size:clamp(1.1rem,2.1vw,2rem)!important;line-height:1.22}.video-shell.radio-mode:fullscreen>#idle-logo,.video-shell.radio-mode:-webkit-full-screen>#idle-logo{--cover-size:min(62cqh,38rem);width:var(--cover-size)!important;height:var(--cover-size)!important}

/* Osadzony player: połowa jego wysokości. Fullscreen: połowa wysokości ekranu. */
.video-shell.radio-mode{grid-template-rows:auto auto!important;align-content:center!important}.video-shell.radio-mode>#idle-logo{width:50cqh!important;height:50cqh!important;max-width:none!important;max-height:none!important;aspect-ratio:1 / 1!important}.video-shell.radio-mode:fullscreen>#idle-logo,.video-shell.radio-mode:-webkit-full-screen>#idle-logo{width:50vh!important;height:50vh!important;max-width:none!important;max-height:none!important}.video-shell.radio-mode>#radio-now{position:relative!important;inset:auto!important;width:calc(100% - 3rem)!important;max-width:none!important;margin:0!important;text-align:center!important}

/* Dropdown w panelu fullscreen ma ten sam rozmiar i kontrast co na stronie. */
#edge-guide .edge-category-choice{display:grid;gap:.38rem;margin:0 0 .8rem;color:#c8c8c8;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}#edge-guide #edge-category{display:block;box-sizing:border-box;width:100%;height:2.55rem!important;min-height:2.55rem!important;margin:0;padding:.55rem .7rem;color:#f4f4f4;background:#0b0b0b;border:1px solid #383838;border-radius:.55rem;font:inherit;font-size:.9rem!important;font-weight:650;line-height:1.2;letter-spacing:normal;text-transform:none}

/* Wspólna pionowa oś czasu Programu TV. */
.schedule-column{position:relative;min-height:4728px!important;height:4728px!important}.schedule-item{position:absolute!important;right:0;left:0;min-height:0!important;overflow:hidden}.schedule-item.past{color:#777}.schedule-item.past strong,.schedule-item.past time{color:#888}.schedule-item.past span{color:#666}.schedule-item.current{background:linear-gradient(90deg,#242424 0 var(--progress),#101010 var(--progress) 100%)!important;box-shadow:inset 3px 0 #ffe066}.schedule-item.current i{display:none}.programme-modal{width:min(34rem,calc(100vw - 2rem));padding:1.4rem;color:#f4f4f4;background:#111;border:1px solid #383838;border-radius:1rem;box-shadow:0 1.5rem 5rem rgb(0 0 0/.65)}.programme-modal::backdrop{background:rgb(0 0 0/.7);backdrop-filter:blur(4px)}.programme-modal h2{margin:0 2.5rem .6rem 0}.programme-modal p{line-height:1.5}.programme-modal-meta{color:#aaa}.programme-modal .close{position:absolute;top:.8rem;right:.8rem;width:2.25rem;height:2.25rem;padding:0;border-radius:50%;font-size:1.3rem}.programme-filters>#show-day{height:2.65rem;white-space:nowrap}

/* Jednolity, dyskretny scrollbar dla całej strony TV i jej paneli. */
body{--sb-track-color:#232323;--sb-thumb-color:#353535;--sb-size:14px;scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}body::-webkit-scrollbar,.programme-board::-webkit-scrollbar,#guide-list::-webkit-scrollbar,.programme-detail::-webkit-scrollbar,dialog::-webkit-scrollbar{width:var(--sb-size);height:var(--sb-size)}body::-webkit-scrollbar-track,.programme-board::-webkit-scrollbar-track,#guide-list::-webkit-scrollbar-track,.programme-detail::-webkit-scrollbar-track,dialog::-webkit-scrollbar-track{background:var(--sb-track-color);border-radius:3px}body::-webkit-scrollbar-thumb,.programme-board::-webkit-scrollbar-thumb,#guide-list::-webkit-scrollbar-thumb,.programme-detail::-webkit-scrollbar-thumb,dialog::-webkit-scrollbar-thumb{background:var(--sb-thumb-color);border-radius:3px}@supports not selector(::-webkit-scrollbar){.programme-board,#guide-list,.programme-detail,dialog{scrollbar-color:var(--sb-thumb-color) var(--sb-track-color)}}

/* Program mieści się w ekranie; tylko jego plansza jest przewijana. */
body:has(.programme-page){overflow:hidden}.programme-page{height:calc(100vh - 4.25rem);overflow:hidden;display:flex;flex-direction:column}.programme-toolbar{flex:0 0 auto}.programme-board{flex:1 1 auto;height:auto!important;min-height:0!important}

/* Ustawienia: wyszukiwanie logo oraz ręczne układanie ulubionych. */
.logo-results{max-height:15rem;overflow:auto;border:1px solid #303030;border-radius:.55rem;background:#0b0b0b}.logo-results button{display:grid;grid-template-columns:2.35rem minmax(0,1fr);gap:.65rem;align-items:center;width:100%;padding:.45rem .6rem;border:0;border-bottom:1px solid #252525;border-radius:0;text-align:left}.logo-results button:last-child{border-bottom:0}.logo-results img{width:2.35rem;height:2.35rem;object-fit:contain;background:#171717;border-radius:.35rem}.logo-results span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-editor{grid-template-columns:4.5rem minmax(0,1fr);gap:.9rem;align-items:start;padding:.7rem;border:1px solid #303030;border-radius:.6rem;background:#0b0b0b}.logo-editor:not([hidden]){display:grid}.logo-editor>img{width:4.5rem;height:4.5rem;object-fit:contain;background:#171717;border-radius:.45rem}.logo-editor>div{display:grid;gap:.55rem}.logo-editor strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favorite-order{display:grid;gap:.35rem}.favorite-drag{display:grid;grid-template-columns:1.25rem 2.1rem minmax(0,1fr);gap:.55rem;align-items:center;min-height:3rem;padding:.4rem .55rem;border:1px solid #303030;border-radius:.5rem;background:#0b0b0b;cursor:grab}.favorite-drag.dragging{opacity:.4}.favorite-drag.drag-over{border-color:#ffe066;background:#1c1a12}.favorite-drag>span{color:#929292;font-size:1.2rem;cursor:grab}.favorite-drag img{width:2.1rem;height:2.1rem;object-fit:contain;background:#171717;border-radius:.32rem}.favorite-drag strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Aktualne pozycje zachowują swój postęp także po wybraniu kanału. */
.guide-row.active{background:linear-gradient(90deg,#242424 0 var(--progress,0%),#181818 var(--progress,0%) 100%)!important}.schedule-item.current:hover{filter:brightness(1.16)}

/* Ustawienia jako czytelny dashboard zamiast jednej długiej listy pól. */
.settings-dashboard{width:min(68rem,calc(100vw - 2rem));max-height:min(54rem,calc(100vh - 2rem));padding:0;background:#0b0b0b}.settings-dashboard>header{padding:1.8rem 1.8rem 1.35rem;background:linear-gradient(120deg,#151515,#0b0b0b);border-bottom:1px solid #292929}.settings-dashboard>header h2{margin:.15rem 0;font-size:1.7rem}.settings-dashboard>header>p:last-child{margin:.2rem 0 0;color:#9c9c9c}.settings-dashboard .eyebrow,.account-kicker{display:block;color:#ffe066;font-size:.7rem;font-weight:800;letter-spacing:.12em}.settings-account{display:flex!important;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 1.2rem!important;padding:1rem 1.15rem!important;background:#151515!important;border-color:#343434!important}.settings-account>div:first-child{display:grid;gap:.25rem}.settings-account strong{font-size:1.05rem}.settings-account small{color:#969696}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 1.2rem 1.2rem}.settings-dashboard .settings-grid>section{margin:0;padding:1.1rem;background:#101010;border:1px solid #292929;border-radius:0}.settings-dashboard .settings-grid>section:nth-child(1){border-radius:.75rem 0 0 0}.settings-dashboard .settings-grid>section:nth-child(2){border-radius:0 .75rem 0 0}.settings-dashboard .settings-grid>section:nth-child(3){border-radius:0 0 0 .75rem}.settings-dashboard .settings-grid>section:nth-child(4){border-radius:0 0 .75rem 0}.settings-dashboard .settings-grid>section.wide{grid-column:1 / -1;margin-top:1rem;border-radius:.75rem}.settings-dashboard .settings-grid h3{color:#f4f4f4;font-size:.82rem}.settings-actions{display:flex;flex-wrap:wrap;gap:.55rem}.settings-actions button{flex:1 1 9rem}.settings-dashboard>#settings-status{display:block;min-height:1.3rem;margin:0 1.2rem 1.3rem}.settings-dashboard label{font-size:.78rem}.settings-dashboard button{min-height:2.55rem}@media(max-width:700px){.settings-dashboard{width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.settings-dashboard>header{padding:1.35rem}.settings-account{align-items:stretch!important;flex-direction:column}.settings-grid{grid-template-columns:1fr;margin:.75rem}.settings-dashboard .settings-grid>section{border-radius:0!important}.settings-dashboard .settings-grid>section:first-child{border-radius:.75rem .75rem 0 0!important}.settings-dashboard .settings-grid>section:nth-child(4){border-radius:0 0 .75rem .75rem!important}.settings-dashboard .settings-grid>section.wide{grid-column:auto;margin-top:.75rem;border-radius:.75rem!important}}
.video-shell.radio-mode>#radio-now{font-size:clamp(.95rem,1.7vw,1.3rem)!important;font-weight:600!important}
.video-shell:fullscreen.cursor-hidden,.video-shell:-webkit-full-screen.cursor-hidden{cursor:none}

/* Catch-up: controls appear only when the selected TV stream exposes a DVR range. */
#live{width:7.5rem!important;min-width:7.5rem!important;padding:.3rem .45rem!important;border:0!important;border-radius:.35rem!important;background:transparent!important;color:#fff!important;font-size:.75rem!important;font-weight:800!important;letter-spacing:.1em!important;white-space:nowrap;cursor:pointer}
#live.catchup-active{color:#818181!important}
#catchup-controls{display:flex;align-items:center;gap:.4rem;min-width:0;flex:1 1 14rem}
#catchup-controls[hidden]{display:none!important}
#catchup-controls button{width:auto!important;min-width:2.7rem!important;padding:0 .45rem!important;border-radius:.42rem!important;font-size:.72rem!important;font-weight:800!important}
#catchup-progress{min-width:3rem;flex:1 1 7rem;accent-color:#ffe066}
#catchup-delay{min-width:6.8rem;color:#b8b8b8;font-size:.69rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.video-controls.catchup-available #live{margin-right:0!important}
@media(max-width:720px){#catchup-delay{display:none}#catchup-controls{flex-basis:8rem}#catchup-progress{display:none}}

/* Touch devices do not have hover. Keep controls actionable on iPhone/iPad
   while retaining the mouse-driven auto-hide behaviour on desktop. */
@media(hover:none),(pointer:coarse){.video-shell .video-controls{opacity:1;pointer-events:auto}}
/* Shared subpage navigation. */
.topbar nav a{display:flex;align-items:center;height:100%;padding:0 .8rem;color:#f4f4f4;text-decoration:none;border-bottom:3px solid transparent}
.topbar nav a:hover{background:#171717}.topbar nav a.active{border-bottom-color:#ffe066}
.topbar nav{gap:.2rem!important}.topbar nav a{flex:0 0 7.15rem;justify-content:center;font-family:"Overused Grotesk",sans-serif!important;font-size:.85rem!important;font-weight:800!important;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}@media(max-width:560px){.topbar nav a{flex-basis:auto;min-width:5.3rem;padding-inline:.45rem;font-size:.74rem!important}}

@font-face{font-family:"Overused Grotesk";src:url("../fonts/overused-grotesk.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
body,body *{font-family:"Overused Grotesk",sans-serif!important}
.topbar{position:relative!important;z-index:20!important;min-height:4.25rem!important;height:auto!important;gap:1.4rem!important;padding:0 1.25rem!important;border-bottom:1px solid rgb(255 255 255 / 13%)!important;background:#070707!important}.topbar nav{display:flex!important;align-self:stretch!important;gap:.2rem!important;height:auto!important}.topbar nav a{display:inline-flex!important;flex:0 0 7.15rem!important;align-items:center!important;justify-content:center!important;padding:0 .8rem!important;border-bottom:3px solid transparent!important;color:#f4f4f4!important;text-decoration:none!important;white-space:nowrap!important;font-size:.85rem!important;font-weight:800!important;letter-spacing:.09em!important;text-transform:uppercase!important}.topbar nav a:hover{background:#171717!important}.topbar nav a.active{border-bottom-color:#ffe066!important}@media(max-width:620px){.topbar{gap:.35rem!important;padding-inline:.7rem!important}.brand-name{display:none!important}.topbar nav a{flex-basis:auto!important;min-width:5.3rem!important;padding-inline:.45rem!important;font-size:.74rem!important}}
/* Na ekranach dotykowych panel sterowania jest stale dostępny i ma pola
   wystarczająco duże do wygodnego dotknięcia. */
@media(hover:none),(pointer:coarse){.video-shell{touch-action:manipulation}.video-shell .video-controls{right:.45rem;bottom:.45rem;left:.45rem;min-height:3.35rem;padding:.45rem;gap:.35rem}.video-shell .video-controls button{width:2.75rem;height:2.75rem}.video-shell .video-controls #live{min-height:2.75rem}.video-shell .video-controls input[type="range"]{min-height:2.75rem}}

/* Safari na iPhonie nie udostępnia pełnego ekranu dla dowolnego kontenera.
   Ten tryb powiększa własny player wraz z jego kontrolkami. */
@media(hover:none),(pointer:coarse){html.touch-player-fullscreen,body.touch-player-fullscreen{overflow:hidden!important}.video-shell.touch-fullscreen{position:fixed!important;z-index:10000!important;inset:0!important;width:100vw!important;height:100dvh!important;aspect-ratio:auto!important;background:#000!important}.video-shell.touch-fullscreen .video-controls{bottom:max(.65rem,env(safe-area-inset-bottom))!important}.video-shell.touch-fullscreen.radio-mode>#idle-logo{width:min(50dvh,82vw)!important;height:min(50dvh,82vw)!important}.video-shell.touch-fullscreen>#radio-now{width:calc(100% - 2rem)!important}}

/* Pionowy telefon: kompaktowa informacja o kanale, opis na żądanie,
   a lista kanałów zaczyna się bezpośrednio pod nią. */
.programme-title-toggle{display:none}
@media(max-width:700px) and (orientation:portrait){.programme-title-static{display:none}}
@media(max-width:700px) and (orientation:portrait){.programme-detail{padding:.7rem .85rem!important}.programme-detail>div{grid-template-columns:1.45rem minmax(0,1fr)!important;column-gap:.55rem!important}.programme-detail #channel-logo{width:1.45rem!important;height:1.45rem!important;border-radius:.25rem!important}.programme-detail #channel-name{font-size:1.2rem!important;line-height:1.2!important}.programme-detail .programme-copy{margin-top:.45rem!important}.programme-copy h2,.programme-title-toggle{margin:0!important;font:inherit!important;font-size:.94rem!important;font-weight:650!important;line-height:1.35!important;color:#f4f4f4!important}.programme-title-toggle{display:block!important;width:100%!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:left!important}.programme-detail .programme-meta{margin-top:.2rem!important;font-size:.76rem!important;line-height:1.35!important}.programme-detail .programme-description{display:none!important;margin-top:.45rem!important;font-size:.84rem!important;line-height:1.4!important}.programme-copy.expanded .programme-description{display:block!important}.guide{height:auto!important;min-height:65vh!important;padding:.7rem!important}.guide-table{min-height:60vh!important}.video-controls{flex-wrap:wrap!important}.video-controls #volume{flex:1 1 4.5rem!important;width:auto!important}.video-controls #fullscreen{margin-left:auto!important}}
/* Kontrolki nie mogą znikać na żadnym wąskim ekranie, nawet gdy WebKit
   nie zgłosi poprawnie rodzaju wskaźnika. */
@media(max-width:700px){.video-shell .video-controls{opacity:1!important;pointer-events:auto!important}.video-shell .video-controls button{touch-action:manipulation!important}}

/* Telefon w pionie: odtwarzacz pozostaje na miejscu, a przewija się wyłącznie
   lista kanałów. Sterowanie jest celowo ograniczone do odtwarzania i pełnego ekranu. */
@media(max-width:700px) and (orientation:portrait){body{overflow:hidden!important}main{height:calc(100dvh - 4.25rem)!important;min-height:0!important}.screen{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;height:100%!important;overflow:hidden!important}.player-area{display:block!important;overflow:visible!important;border:0!important}.video-shell{aspect-ratio:16 / 9!important}.programme-detail{overflow:visible!important}.guide{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:0!important;height:auto!important;padding:.7rem!important;border-top:1px solid #282828!important;overflow:hidden!important}.guide-table{min-height:0!important;height:100%!important}.guide-list,#guide-list{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}.video-controls{right:.55rem!important;left:auto!important;bottom:.55rem!important;display:flex!important;min-height:auto!important;padding:.35rem!important;gap:.45rem!important;background:rgb(0 0 0 / .68)!important}.video-controls #live,.video-controls #catchup-controls,.video-controls #mute,.video-controls #volume{display:none!important}.video-controls #play,.video-controls #fullscreen{display:grid!important;width:2.65rem!important;height:2.65rem!important;margin:0!important}.video-controls #fullscreen{margin-left:0!important}}

/* Pionowy mobile: przyciski są pod obrazem, lista jest bardziej zwarta. */
.guide-labels{display:none!important}.guide-table{grid-template-rows:minmax(0,1fr)!important}
@media(max-width:700px) and (orientation:portrait){.video-shell{margin-bottom:3.35rem!important;overflow:visible!important}.video-shell .video-controls{top:calc(100% + .35rem)!important;right:.85rem!important;bottom:auto!important;left:.85rem!important;justify-content:space-between!important;padding:0!important;background:transparent!important}.guide-row{grid-template-columns:3rem minmax(0,1fr)!important;min-height:3.65rem!important;padding:.35rem .45rem!important}.guide-row img{width:2.55rem!important;height:2.55rem!important;border-radius:.35rem!important}.guide-row span{padding-left:.5rem!important}.guide-row strong{font-size:.82rem!important}.guide-row .guide-now,.guide-row .guide-next{margin-top:.12rem!important;font-size:.66rem!important}.channel-star{right:.35rem!important;width:1.7rem!important;height:1.7rem!important;font-size:1.05rem!important}.guide-row span{padding-right:1.6rem!important}}

/* Mobilne sterowanie radiem: bez belki oraz bez tła pod ikonami. */
.video-shell .video-controls #mute{margin-left:auto!important}
.video-shell.not-playing .video-controls{opacity:1!important;pointer-events:auto!important}
.video-shell #playback-hint{position:absolute;z-index:4;bottom:4.5rem;left:1rem;right:1rem;margin:0;padding:.65rem;background:#000c;color:#ddd;font-size:.8rem;text-align:center;border-radius:.5rem;pointer-events:none}.video-shell #playback-hint[hidden]{display:none!important}
@media(max-width:700px) and (orientation:portrait){.video-shell .video-controls{flex-wrap:nowrap!important;justify-content:flex-start!important;gap:.35rem!important}.video-shell .video-controls #mute{display:grid!important;width:2.65rem!important;height:2.65rem!important;flex:0 0 auto!important}.video-shell .video-controls #volume{display:block!important;flex:0 1 5rem!important;width:5rem!important;min-width:2.5rem!important;max-width:20vw!important}.video-shell .video-controls #fullscreen{margin-left:0!important;flex:0 0 auto!important}}
.guide-head .category-choice>span{display:none!important}
@media(max-width:700px) and (orientation:portrait){.video-shell.radio-mode::before{inset:0!important;clip-path:inset(0)!important}.video-shell.radio-mode .video-controls{top:100%!important;right:0!important;left:0!important;width:100%!important;height:3.35rem!important;padding:0 .85rem!important;background:#000!important;border-radius:0!important}.video-shell.radio-mode .video-controls button{background:rgb(0 0 0 / .62)!important;border-color:transparent!important}}

/* The phone player is shared by all touch-capable screens, regardless of size. */
html.touch-player-ui .video-shell{touch-action:manipulation;margin-bottom:3.35rem!important;overflow:visible!important}
html.touch-player-ui .video-shell .video-controls{opacity:1!important;pointer-events:auto!important;top:calc(100% + .35rem)!important;right:.85rem!important;bottom:auto!important;left:.85rem!important;display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;min-height:auto!important;padding:0!important;gap:.35rem!important;background:transparent!important}
html.touch-player-ui .video-controls :is(#live,#catchup-controls){display:none!important}
html.touch-player-ui .video-controls :is(#play,#mute,#fullscreen){display:grid!important;width:2.65rem!important;height:2.65rem!important;min-height:2.65rem!important;margin:0!important;flex:0 0 auto!important;touch-action:manipulation!important}
html.touch-player-ui .video-controls #mute{margin-left:auto!important}
html.touch-player-ui .video-controls #volume{display:block!important;flex:0 1 5rem!important;width:5rem!important;min-width:2.5rem!important;max-width:20vw!important;min-height:2.65rem!important}
html.touch-player-ui .programme-title-static{display:none!important}
html.touch-player-ui .programme-detail{padding:.7rem .85rem!important}
html.touch-player-ui .programme-detail #channel-logo{width:1.45rem!important;height:1.45rem!important;border-radius:.25rem!important}
html.touch-player-ui .programme-detail #channel-name{font-size:1.2rem!important;line-height:1.2!important}
html.touch-player-ui .programme-copy{margin-top:.45rem!important}
html.touch-player-ui .programme-title-toggle{display:block!important;width:100%!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;text-align:left!important;font:inherit!important;font-size:.94rem!important;font-weight:650!important;line-height:1.35!important;color:#f4f4f4!important}
html.touch-player-ui .programme-meta{margin-top:.2rem!important;font-size:.76rem!important;line-height:1.35!important}
html.touch-player-ui .programme-description{display:none!important;margin-top:.45rem!important;font-size:.84rem!important;line-height:1.4!important}
html.touch-player-ui .programme-copy.expanded .programme-description{display:block!important}
html.touch-player-ui .guide-row{grid-template-columns:3rem minmax(0,1fr)!important;min-height:3.65rem!important;padding:.35rem .45rem!important}
html.touch-player-ui .guide-row img{width:2.55rem!important;height:2.55rem!important;border-radius:.35rem!important}
html.touch-player-ui .guide-row span{padding-left:.5rem!important;padding-right:1.6rem!important}
html.touch-player-ui .guide-row strong{font-size:.82rem!important}
html.touch-player-ui .guide-row :is(.guide-now,.guide-next){margin-top:.12rem!important;font-size:.66rem!important}
html.touch-player-ui .channel-star{right:.35rem!important;width:1.7rem!important;height:1.7rem!important;font-size:1.05rem!important;opacity:1}
html.touch-player-ui .video-shell.radio-mode::before{inset:0!important;clip-path:inset(0)!important}
html.touch-player-ui .video-shell.radio-mode .video-controls{top:100%!important;right:0!important;left:0!important;width:100%!important;height:3.35rem!important;padding:0 .85rem!important;background:#000!important;border-radius:0!important}
@media(orientation:portrait){
  html.touch-player-ui body{overflow:hidden!important}
  html.touch-player-ui main{height:calc(100dvh - var(--site-header-height,4.25rem))!important;min-height:0!important}
  html.touch-player-ui .screen{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(0,1fr)!important;height:100%!important;overflow:hidden!important}
  html.touch-player-ui .player-area{overflow:visible!important;border:0!important}
  html.touch-player-ui .video-shell{aspect-ratio:16/9!important;max-height:42dvh}
  html.touch-player-ui .programme-detail{overflow:visible!important}
  html.touch-player-ui .guide{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-height:0!important;height:auto!important;padding:.7rem!important;border-top:1px solid #282828!important;overflow:hidden!important}
  html.touch-player-ui .guide-table{min-height:0!important;height:100%!important}
  html.touch-player-ui #guide-list{overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}
}
/* Keep exit controls inside the fullscreen canvas, not underneath it. */
@media(orientation:landscape){
  html.touch-player-ui .screen{grid-template-columns:minmax(0,1.78fr) minmax(14rem,.9fr)!important;height:calc(100dvh - var(--site-header-height,4.25rem))!important;overflow:hidden!important}
  html.touch-player-ui .player-area{overflow-y:auto!important}
  html.touch-player-ui .video-shell{max-height:calc(100dvh - 11rem)}
  html.touch-player-ui .guide{height:100%!important;min-height:0!important}
  html.touch-player-ui .guide-head{flex-wrap:wrap}
}
html.touch-player-fullscreen,html.touch-player-fullscreen body{overflow:hidden!important}
html.touch-player-ui .video-shell.touch-fullscreen{position:fixed!important;z-index:10000!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;overflow:hidden!important;background:#000!important}
html.touch-player-ui .video-shell:is(.touch-fullscreen,:fullscreen) .video-controls{top:auto!important;bottom:max(.65rem,env(safe-area-inset-bottom))!important;left:.85rem!important;right:.85rem!important;width:auto!important;background:rgb(0 0 0 / .68)!important;padding:.35rem!important;border-radius:.7rem!important}
html.touch-player-ui .video-shell.touch-fullscreen.radio-mode>#idle-logo{width:min(50dvh,82vw)!important;height:min(50dvh,82vw)!important}

/* Fixed touch viewport: only the channel list and programme description scroll. */
html.touch-player-ui,html.touch-player-ui body{height:100%;overflow:hidden!important;overscroll-behavior:none}
html.touch-player-ui main{height:calc(100dvh - var(--site-header-height,calc(4.25rem + var(--site-safe-top,0px))))!important;min-height:0!important;overflow:hidden!important}
html.touch-player-ui .screen{height:100%!important;min-height:0!important;overflow:hidden!important;grid-template-rows:minmax(0,1fr)!important}
html.touch-player-ui .player-area{display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
html.touch-player-ui .video-shell{flex:0 0 auto!important;align-self:stretch!important;width:100%!important;min-width:0!important;height:var(--touch-video-height,30dvh)!important;max-height:none!important;aspect-ratio:auto!important;box-sizing:border-box!important}
html.touch-player-ui .programme-detail{flex:1 1 0!important;min-height:0!important;max-height:none!important;overflow:hidden!important;padding:.5rem .85rem!important}
html.touch-player-ui .programme-detail>div{height:100%;min-height:0;grid-template-columns:1.45rem minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;column-gap:.5rem!important;align-items:start!important}
html.touch-player-ui .programme-detail #channel-name{align-self:center!important;min-width:0!important}
html.touch-player-ui .programme-detail #programme{height:100%;min-height:0;overflow:hidden!important}
html.touch-player-ui .programme-copy{display:grid!important;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;margin-top:0!important;padding-top:.4rem;overflow:hidden!important}
html.touch-player-ui .programme-title-static{display:block!important;font-size:.94rem!important;line-height:1.3!important}
html.touch-player-ui .programme-title-toggle{display:none!important}
html.touch-player-ui .programme-description{display:block!important;min-height:0;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
html.touch-player-ui .guide{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;min-width:0!important;min-height:0!important;height:100%!important;overflow:hidden!important}
html.touch-player-ui .guide-table{min-height:0!important;height:100%!important;overflow:hidden!important}
html.touch-player-ui #guide-list{min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(orientation:portrait){html.touch-player-ui .screen{grid-template-rows:minmax(0,1.2fr) minmax(0,1fr)!important}}
html.touch-player-ui .video-shell.touch-fullscreen{height:100dvh!important;width:100vw!important}
/* Let the fixed viewport distribute its full height, including iOS PWA space. */
html.touch-player-ui{height:100%!important}
html.touch-player-ui body{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important}
html.touch-player-ui body>.topbar{flex:0 0 auto!important}
html.touch-player-ui body>main{flex:1 1 0!important;height:0!important;min-height:0!important}
html.touch-player-ui .guide{padding-bottom:0!important}
html.touch-player-ui{height:var(--touch-viewport-height,100dvh)!important}
html.touch-player-ui .guide{padding-top:.25rem!important}
html.touch-player-ui .guide-head{margin-bottom:.35rem!important}
html.touch-player-ui .guide-head[hidden]{display:none!important;margin:0!important}
html.touch-player-ui body:has(.radio-mode) .guide-head{display:none!important}
/* Respect the landscape notch and keep the picture ratio even on short screens. */
html.touch-player-ui body>main{padding-left:env(safe-area-inset-left,0px)!important;padding-right:env(safe-area-inset-right,0px)!important;padding-bottom:0!important;box-sizing:border-box!important}
html.touch-player-ui #guide-list{padding-bottom:env(safe-area-inset-bottom,0px);scroll-padding-bottom:env(safe-area-inset-bottom,0px)}
html.touch-player-ui .video-shell:not(.touch-fullscreen):not(:fullscreen){width:var(--touch-video-width,100%)!important;align-self:center!important;aspect-ratio:16/9!important}
/* Collapsed programme details take only the space they actually need. */
html.touch-player-ui .programme-detail{flex:0 0 auto!important;max-height:14rem!important}
html.touch-player-ui .programme-detail>div{height:auto;grid-template-rows:auto auto!important}
html.touch-player-ui .programme-detail #programme{height:auto}
html.touch-player-ui .programme-copy{height:auto;grid-template-rows:auto auto auto}
html.touch-player-ui .programme-title-static{display:none!important}
html.touch-player-ui .programme-title-toggle{display:block!important}
html.touch-player-ui .programme-description{display:none!important;max-height:8rem}
html.touch-player-ui .programme-copy.expanded .programme-description{display:block!important}
html.touch-player-ui .guide-head{display:flex!important;flex-wrap:nowrap!important;gap:.5rem;align-items:center}
html.touch-player-ui .guide-head .category-choice{flex:1 1 0;min-width:0}
html.touch-player-ui .guide-head .category-choice select{width:100%!important;min-width:0!important}
html.touch-player-ui .guide-head #guide-title{flex:0 0 auto;white-space:nowrap;padding-inline:.6rem;font-size:.85rem}
@media(orientation:portrait){html.touch-player-ui .screen{grid-template-rows:auto minmax(0,1fr)!important}}
@media(orientation:landscape){
  html.touch-player-ui .programme-detail{flex:1 1 0!important}
  html.touch-player-ui .programme-detail>div{height:100%;grid-template-rows:auto minmax(0,1fr)!important}
  html.touch-player-ui .programme-detail #programme{height:100%}
  html.touch-player-ui .programme-copy{height:100%;grid-template-rows:auto auto minmax(0,1fr)}
  html.touch-player-ui .programme-description{max-height:none}
}
