/* Browser layout: content reflows independently from the shared TV stylesheet. */
.mobile-nav, .mobile-brand, .mobile-source-tabs { display: none; }
html { min-width: 280px; scroll-padding-bottom: 90px; }
#workspace, main, .detail-columns > *, .sync-source { min-width: 0; }
.source-return { display: none; }
.web-player.expanded { height: 100vh; height: 100dvh; }
.web-player-title { min-width: 0; }
.web-player-top { padding-top: max(12px, env(safe-area-inset-top)); padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
.web-controls { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
.web-player video { object-fit: contain; }
.web-player.expanded[data-fit="cover"] video { object-fit: cover; }
.web-player.expanded[data-fit="contain"] video { object-fit: contain; }
.web-player.expanded[data-fit="fill"] video { object-fit: fill; transform: none; }
.web-player .web-mini-fullscreen { display: none; }
.web-player.mini .web-mini-fullscreen { display: inline-flex; position: absolute; bottom: 6px; right: 6px; width: 36px; min-width: 36px; height: 36px; z-index: 8; border-radius: 50%; background: #08080c9c; color: #fff; }
.web-volume { position: relative; display: flex; align-items: center; justify-content: center; }
.web-player .web-volume-slider { position: absolute; bottom: calc(100% + 16px); left: 50%; transform: translateX(-50%); writing-mode: vertical-lr; direction: rtl; width: 24px; height: 120px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; accent-color: #aa87ff; cursor: pointer; touch-action: none; z-index: 6; }
.tv-channels > .tv-sources { order: 0; flex: 0 0 auto; width: 100%; max-height: none; overflow: visible; padding: 14px; margin: -4px 0 8px; border: 1px solid #40344f; border-radius: 0 0 14px 14px; background: #1b1724; }
.tv-channels > .tv-sources[hidden] { display: none; }
.tv-channels > .tv-sources h3 { font-size: 14px; color: #d7c7eb; margin: 0 0 10px; }
.tv-channels > .tv-sources .tv-source { background: #272130; border: 1px solid #463852; min-height: 48px; color: #f2edf8; }
.tv-channel[aria-expanded="true"] { border-radius: 12px 12px 0 0; }
.tv-channel[aria-expanded]:after { content: '⌄'; color: #baa4da; font-size: 22px; margin-left: auto; flex-shrink: 0; }
.tv-channel[aria-expanded="true"]:after { content: '⌃'; }
.web-player .web-seek { min-width: 0; }
.web-control-row { flex-wrap: wrap; }
.web-menu { max-height: calc(100% - 170px); overscroll-behavior: contain; }

/* Login can scroll when the keyboard or landscape viewport reduces its height. */
body.auth { height: auto; min-height: 100dvh; overflow: auto; }
body.auth #workspace { height: auto; min-height: 100dvh; }
.auth main { height: auto; min-height: 100dvh; overflow: visible; padding: 28px 20px; }
.login-layout { width: min(430px, 100%); max-height: none; }
.login-form { max-height: none; }
.login-form input { min-height: 48px; font-size: 16px; }
.login-form label { font-size: 14px; }
.login-form button { min-height: 48px; }
.sync-screen { max-width: 100%; }
.sync-source p { overflow-wrap: anywhere; }

@media (max-width: 1024px) {
  :root { --header-height: 64px; --gutter: 20px; --poster-width: 140px; --gap: 14px; }
  body { font-size: 14px; }
  h2 { font-size: 19px; }
  input, select { min-height: 44px; font-size: 16px; }
  #search { height: 44px; font-size: 16px; }
  .card .title { font-size: 14px; }
  .section-head .quiet { font-size: 12px; min-height: 44px; }
  .detail-columns { grid-template-columns: minmax(0, 1fr); }
  .detail-columns > .source-panel { position: static; height: auto; max-height: none; margin: 0; min-height: 0; }
  .source-panel { padding: 14px; }
  .detail-columns > .source-panel.choosing-source { min-height: calc(100dvh - 170px); scroll-margin-top: calc(var(--header-height) + 12px); }
  .source-return { display: block; min-height: 44px; text-align: left; }
  .source-panel .source { padding: 14px 8px; gap: 14px; }
  .source-panel .source-brand, .source-panel .source-description, .source-panel .source-description small { font-size: 14px; line-height: 1.45; }
  .source-panel .source-brand { flex-basis: 90px; }
  .source-panel .source-play { width: 32px; height: 32px; flex-basis: 32px; }
  .source-panel .source-toolbar { position: static; }
  .source-panel .source-toolbar select, .source-choice-label { font-size: 14px; }
  .series-detail .series-title-row h1, .synopsis h1 { font-size: 28px; line-height: 1.2; }
  .series-detail .series-title-row .facts, .facts { font-size: 13px; flex-wrap: wrap; }
  .series-detail .synopsis .series-description, .synopsis p { font-size: 14px; line-height: 1.6; -webkit-line-clamp: 4; }
  .series-detail .detail-genres .tag { font-size: 12px; padding: 4px 10px; }
  .series-detail .synopsis h3 { font-size: 12px; margin: 16px 0 8px; }
  .season-card { min-height: 44px; font-size: 14px; }
  .episode-rail { max-height: none; min-height: 0; overflow-y: visible; }
  .episode-rail .episode-card { grid-template-columns: clamp(100px, 28vw, 185px) minmax(0, 1fr); }
  .episode-rail .episode-card strong { font-size: 15px; }
  .episode-rail .episode-card .episode-description { font-size: 13px; -webkit-line-clamp: 3; }
  .filters > * { flex: 1 1 140px; min-width: 0; }
  .addon-info p { font-size: 14px; }
  .settings-card { padding: 18px; }
  .tv-layout { grid-template-columns: 150px minmax(0, 1fr); height: auto; }
  .tv-page { height: auto; overflow: auto; }
  .tv-page main { height: auto; min-height: 100dvh; overflow: visible; }
  .tv-center { height: auto; }
  .tv-channels { max-height: 65dvh; min-height: 180px; }
  .tv-category-column { grid-row: 1 / 3; }
  .tv-categories { max-height: 80dvh; }
  .tv-categories button { font-size: 14px; min-height: 44px; }
  .tv-right { grid-column: 2; overflow: visible; }
  .tv-sources { overflow: visible; flex: auto; }
  .tv-source { font-size: 14px; min-height: 44px; }
  .tv-list-status, .tv-source small { font-size: 12px; }
  .tv-center input { min-height: 44px; font-size: 16px; }
}

@media (max-width: 700px) {
  :root { --gutter: 16px; --poster-width: clamp(120px, 34vw, 170px); }
  #workspace { margin-left: 0; padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  #sidebar { inset: auto 0 0; width: 100%; height: calc(72px + env(safe-area-inset-bottom)); padding: 4px 8px max(4px, env(safe-area-inset-bottom)); flex-direction: row; gap: 0; overflow-x: auto; overflow-y: hidden; background: #100d20f5; border-top: 1px solid #322840; }
  #sidebar .brand { display: none; }
  #sidebar nav { display: flex; width: auto; gap: 2px; }
  #sidebar button { flex: 0 0 64px; width: 64px; height: 58px; min-height: 44px; gap: 5px; }
  #sidebar svg { width: 23px; height: 23px; }
  #sidebar button span { font-size: 9px; }
  #sidebar #exit { margin: 0; }
  #sidebar button.active { background: #39275477; }
  header { padding: 10px 16px; height: auto; min-height: 64px; gap: 8px; flex-wrap: wrap; }
  #searchForm, .catalog-page #searchForm { flex: 1 1 180px; width: auto; max-width: none; margin: 0; min-width: 0; }
  #catalogTitle { position: static; transform: none; max-width: none; font-size: 23px; width: 100%; }
  header .detail-back { min-height: 44px; padding: 8px; font-size: 13px; }
  #profile { padding: 4px; margin: 0; }
  .profile-name { display: none; }
  main { padding: 16px var(--gutter) 28px; }
  .section { margin-bottom: 26px; }
  .section-head { gap: 8px; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .detail { margin: -16px calc(-1 * var(--gutter)) -28px; }
  .detail-columns { padding: 12px var(--gutter) 24px; }
  .detail .backdrop { height: 65dvh; }
  .detail .backdrop img { object-position: center top; }
  .synopsis { padding: 20px 0; }
  .series-detail .synopsis { padding: 12px 0; }
  .episode-rail { padding: 6px 0; }
  .episode-rail .episode-card { padding: 10px; gap: 6px 12px; }
  .source-panel .source-brand { flex-basis: 78px; }
  .addon { display: grid; grid-template-columns: minmax(0, 1fr); padding: 18px; }
  .addon-actions { display: flex; flex-wrap: wrap; min-width: 0; }
  .addon-actions button { flex: 1; min-height: 44px; }
  .addon-info h3 span { display: block; margin: 4px 0 0; }
  dialog { padding: 20px; max-height: 85dvh; overflow: auto; }
  dialog .actions { flex-wrap: wrap; }
  #toast { bottom: calc(88px + env(safe-area-inset-bottom)); width: max-content; max-width: calc(100% - 32px); }
  body.auth #workspace { padding-bottom: 0; }
  .login-layout { width: min(430px, 100%); margin-left: 0; }
  .login-form { gap: 14px; }
  .login-support { position: static; width: 104px; margin: 8px auto 0; gap: 6px; }
  .login-user-row { display: contents; }
  .login-support { order: 1; }
  .sync-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sync-screen h1 { font-size: clamp(24px, 7vw, 34px); text-align: center; line-height: 1.2; }
  .sync-grid h2 { font-size: 16px; }
  .tv-page main { padding: 12px var(--gutter) 24px; }
  .tv-layout { display: flex; flex-direction: column; gap: 16px; }
  .tv-category-column { padding: 8px; }
  .tv-category-heading h2 { font-size: 18px; }
  .tv-categories { display: flex; gap: 8px; overflow-x: auto; max-height: none; flex: auto; }
  .tv-categories button { flex: 0 0 auto; width: auto; white-space: nowrap; padding: 10px 14px; }
  .tv-list-status { max-height: 90px; }
  .tv-channels { max-height: 48dvh; }
  .tv-channel { min-height: 100px; }
  .tv-right { min-height: 0; }
  .tv-right { display: contents; }
  .tv-right .tv-preview { order: 1; }
  .tv-center { order: 2; }
  .tv-right h3 { order: 3; }
  .tv-sources { order: 4; }
  .tv-right h3 { font-size: 16px; margin: 8px 0; }
  .web-controls { padding: 40px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); }
  .web-control-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; justify-items: center; }
  .web-control-space { display: none; }
  .web-player .web-icon { min-width: 44px; width: 44px; height: 44px; }
  .web-time-row { flex-direction: column-reverse; gap: 0; align-items: stretch; }
  .web-clock { font-size: 12px; }
  .web-menu, .web-subtitle-panel { bottom: 190px; right: 12px; width: calc(100% - 24px); max-height: calc(100% - 265px); }
  .web-subtitle-columns { grid-template-columns: 1fr; }
  .web-subtitle-columns section { max-height: 160px; }
}

/* Modest default crop for wide movies; full-height crop is an explicit choice. */
@media (max-width: 700px) and (orientation: portrait) {
  .web-player.expanded[data-fit="auto"] video { transform: scale(1.25); }
  .web-player.expanded[data-fit="fill"] video { position: absolute; top: auto; bottom: 30%; width: 100%; height: min(52%, 105vw); object-fit: fill; transform: none; }
}
@media (max-height: 500px) and (orientation: landscape) {
  .web-player-top { padding-bottom: 20px; }
  .web-controls { padding-top: 24px; }
  .web-control-row { display: flex; flex-wrap: nowrap; justify-content: space-between; }
  .web-control-space { display: block; }
  .web-time-row { flex-direction: row; align-items: center; gap: 12px; }
  .web-menu, .web-subtitle-panel { bottom: 100px; max-height: calc(100% - 155px); }
  .web-player .web-next { padding: 7px 12px; margin-bottom: 4px; }
  #sidebar button { min-height: 44px; }
}

/* Landscape phones keep the preview and its source list together beside channels. */
@media (max-width: 700px) and (orientation: landscape) {
  .tv-page main { height: calc(100dvh - 54px); min-height: 0; overflow: hidden; }
  .tv-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); height: 100%; gap: 8px; }
  .tv-category-column { grid-column: 1 / -1; grid-row: 1; min-width: 0; padding: 4px 0; }
  .tv-category-column h2 { display: none; }
  .tv-categories { display: flex; flex-direction: row; gap: 6px; max-height: none; overflow-x: auto; }
  .tv-categories button { flex: 0 0 auto; width: auto; min-height: 32px; padding: 6px 10px; white-space: nowrap; font-size: 13px !important; }
  .tv-center { display: block; grid-column: 1; grid-row: 2; min-width: 0; min-height: 0; height: 100%; order: initial; }
  .tv-channel-column { height: 100%; min-height: 0; }
  .tv-channels { height: 100%; min-height: 0; max-height: none; overflow: auto; }
  .tv-right { display: flex; flex-direction: column; grid-column: 2; grid-row: 2; min-width: 0; min-height: 0; height: 100%; overflow: auto; }
  .tv-right .tv-preview { order: 0; flex: 0 0 auto; }
  .tv-right h3 { order: 1; margin: 7px 0; font-size: 13px; }
  .tv-right .tv-sources { order: 2; display: flex; flex: 1 1 auto; width: 100%; max-height: none; min-height: 0; overflow: auto; margin: 0; padding: 8px; }
}
@media (min-width: 701px) and (max-width: 850px) {
  .login-layout { margin-left: 160px; width: min(430px, calc(100% - 176px)); }
}
@media (min-width: 701px) and (max-width: 1024px) and (orientation: landscape) {
  .tv-layout { grid-template-columns: 125px minmax(0, 1fr) minmax(200px, 32%); height: calc(100dvh - 24px); }
  .tv-category-column { grid-row: 1; }
  .tv-right { grid-column: 3; overflow-y: auto; }
  .tv-center { height: 100%; }
  .tv-channels, .tv-categories { max-height: none; }
  .tv-channel { gap: 8px; }
  .tv-channel .channel-logo { width: 60px; flex-basis: 60px; }
  .tv-channel .channel-logo img { max-width: 56px; }
}

/* Compact navigation and spacious content retain AMZPLAY's purple surfaces. */
.mobile-menu { width: min(540px, 100%); max-height: 80dvh; margin: auto auto 0; border-radius: 24px 24px 0 0; padding: 22px 20px max(24px, env(safe-area-inset-bottom)); background: #1c172c; }
.mobile-menu-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.mobile-menu-heading h2 { font-size: 18px; letter-spacing: 3px; color: #c4aaff; }
.mobile-menu-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mobile-menu-items button { min-height: 72px; display: flex; align-items: center; gap: 12px; text-align: left; background: #292139; }
.mobile-menu-items button.active { color: #c8afff; background: #3b2a5b; }
.mobile-menu svg, .mobile-nav svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
@media (max-width: 700px) {
  #sidebar { display: none; }
  .mobile-nav { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); position: fixed; inset: auto 0 0; z-index: 6; padding: 6px 8px max(6px, env(safe-area-inset-bottom)); background: #110e20f5; backdrop-filter: blur(16px); border-top: 1px solid #30253e; }
  .mobile-nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; min-height: 58px; padding: 6px 0; gap: 5px; background: transparent; color: #a69bb9; font-size: 10px; }
  .mobile-nav button.active { color: #bc9cff; background: #39275477; }
  .auth .mobile-nav { display: none; }
  .mobile-brand { display: block; width: 36px; height: 36px; flex: 0 0 36px; }
  .mobile-detail .mobile-brand { display: none; }
  #searchForm, .catalog-page #searchForm { flex-basis: 0; }
  #search { font-size: 14px; padding-left: 12px; }
  #profile { display: none; }
  #catalogTitle { font-size: 21px; }
  .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 10px; }
  .grid .card .title { font-size: 12px; }
  .filters { flex-wrap: nowrap; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
  .filters > select { flex: 1 0 95px; width: 0; font-size: 12px; padding-left: 10px; padding-right: 24px; border-radius: 12px; }
  .filters > input { flex: 1 0 150px; }
  .detail .backdrop { height: 370px; }
  .detail .backdrop img { opacity: .8; }
  .detail:after { background: linear-gradient(0deg, #100e1c calc(100% - 370px), transparent), linear-gradient(90deg, #11101d55, transparent); }
  .detail:has(.backdrop) .synopsis { padding-top: 170px; }
  .detail:has(.backdrop) .synopsis h1 { text-shadow: 0 2px 16px #000; font-size: 30px; margin-bottom: 16px; }
  .synopsis p, .series-detail .synopsis .series-description { font-size: 15px; line-height: 1.65; display: block; margin: 18px 0; }
  .detail-genres { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px; align-items: center; }
  .detail-genres .tag, .series-detail .detail-genres .tag { flex: 0 0 auto; margin: 0; font-size: 13px; padding: 7px 14px; }
  .detail-genres h3 { display: none; }
  .episode-rail .episode-card { background: #17132188; border-radius: 12px; padding: 12px 8px; margin-bottom: 6px; }
  .source-panel { background: transparent; padding: 0; }
  .source-panel .source-toolbar { background: transparent; }
  .source-toolbar select { display: none; }
  .mobile-source-tabs { display: flex; overflow-x: auto; gap: 8px; padding: 8px 0; }
  .mobile-source-tabs button { flex: 0 0 auto; min-height: 44px; padding: 10px 18px; border-radius: 24px; color: #c5b8d5; background: #231b33; }
  .mobile-source-tabs button.selected { background: #7650d8 !important; border-color: #9c7cdd !important; color: white; }
  .source-panel .source { display: flex; flex-direction: column; padding: 18px; margin: 10px 0 18px; gap: 12px; background: #242034; border: 1px solid #3b2d4d; border-radius: 16px; }
  .source-panel .source-brand { flex: auto; flex-direction: row; align-items: center; font-size: 16px; font-weight: 650; width: 100%; }
  .source-panel .source-play { order: -1; flex: 0 0 32px; }
  .source-panel .source-description { font-size: 14px; line-height: 1.55; width: 100%; color: #c5bbd3; }
  .source-panel .source-summary { display: block; }
  .source-panel .source-language-tag { font-size: 12px; padding: 4px 10px; }
}

/* Compact browser presentation, based on the supplied mobile references. */
@media (max-width: 700px) {
 :root { --bg:#0c0c12; --panel:#24242c; --muted:#aaa9b6; --poster-width:clamp(96px,29vw,146px); --gap:12px; --gutter:14px; }
 body:not(.auth) { background:#0c0c12; color:#eeeeF3; font-size:13px; }
 #workspace > header { background:#101016ed; min-height:58px; padding:8px 14px; }
 #search { background:#22222c; height:42px; border-radius:18px; font-size:13px; }
 .mobile-brand { width:32px; height:32px; flex-basis:32px; }
 main { padding-top:10px; }
 h2 { font-size:17px; font-weight:600; }
 .section { margin-bottom:20px; }
 .section-head { margin-bottom:8px; }
 .section-head .quiet { font-size:11px; min-height:36px; padding:4px; }
 .card .title { font-size:12px; font-weight:500; margin-top:6px; }
 .poster { border-radius:11px; }
 .rail { gap:12px; padding-bottom:6px; }
 .streaming-card.card { flex-basis:104px; width:104px; min-width:104px; height:42px; padding:5px; background:transparent; }
 .streaming-card img.streaming-wordmark { height:28px; }
 .mobile-nav { background:#0d0d15ed; padding-top:3px; padding-bottom:max(3px,env(safe-area-inset-bottom)); border-top-color:#24242d; }
 .mobile-nav button { min-height:52px; font-size:10px; gap:4px; border-radius:24px; }
 .mobile-nav button.active { background:transparent; color:#a385ff; }
 .mobile-nav svg { width:23px; height:23px; }
 .filters > select { border:1px solid #44444f; background-color:#111118; border-radius:13px; font-size:12px; min-height:40px; }
 .season-card, .tv-categories button { border-radius:24px; min-height:38px; padding:8px 14px; font-size:13px; background:transparent; }
 .season-card.selected, .tv-categories button.selected { background:#194ba4 !important; border-color:transparent !important; }
 .tv-page main { padding:8px 14px 18px; }
 .tv-layout { gap:10px; }
 .tv-category-column { background:transparent; padding:0; }
 .tv-category-heading { padding-bottom:0; }
 .tv-category-heading h2 { font-size:16px; padding:2px 4px; }
 .tv-list-status { font-size:11px; padding:0 4px 2px; }
 .tv-categories { gap:4px; padding:0; }
 .tv-channel { min-height:76px; padding:8px; gap:10px; border:0; border-radius:12px; background:#202027; }
 .tv-channel.selected { background:#30303e !important; border-color:transparent !important; }
 .tv-channel .channel-logo { width:54px; height:54px; min-height:54px; flex-basis:54px; border-radius:9px; background:#292932; font-size:10px; }
 .tv-channel .channel-logo img { width:50px; height:50px; max-width:50px; max-height:50px; padding:2px; }
 .tv-channel .channel-labels { grid-template-columns:42px minmax(0,1fr); gap:2px 5px; }
 .tv-channel .channel-labels strong { font-size:13px; line-height:1.3; }
 .tv-channel .channel-labels .epg-label { font-size:9px; line-height:1.5; }
 .tv-channel .channel-now, .tv-channel .channel-next { font-size:11px; line-height:1.4; -webkit-line-clamp:2; }
 .tv-center .tv-search input { font-size:13px; min-height:40px; background:#24242e; border-color:#383842; }
 .tv-channels > .tv-sources { padding:10px; background:#1b1724; border-color:#40344f; }
 .tv-channels > .tv-sources .tv-source { min-height:42px; padding:8px 12px; border-radius:12px; background:#272130; font-size:12px; }
 .tv-source small { font-size:10px; }
 .mobile-source-tabs { gap:6px; padding:6px 0; }
 .mobile-source-tabs button { min-height:38px; padding:8px 16px; font-size:13px; background:transparent; color:#aaa9b6; }
 .mobile-source-tabs button.selected { background:#194ba4 !important; border-color:transparent !important; }
 .source-panel .source { padding:14px; margin:8px 0 12px; gap:8px; border:0; background:#25252e; border-radius:14px; }
 .source-panel .source-brand { font-size:14px; gap:10px; }
 .source-panel .source-play { width:28px; height:28px; flex-basis:28px; background:#7e58eb; }
 .source-panel .source-description { font-size:13px; line-height:1.45; color:#b6b5c1; }
 .source-panel .source-description small { font-size:11px; }
 .source-return { min-height:38px; border-radius:22px; font-size:12px; background:#23232d; }
 .episode-rail .episode-card { min-height:86px; padding:8px 4px; gap:4px 12px; background:transparent; margin-bottom:2px; }
 .episode-rail .episode-card.selected { background:#292932 !important; border-color:transparent !important; }
 .episode-rail .episode-card strong { font-size:14px; }
 .episode-rail .episode-card .episode-description { font-size:12px; line-height:1.4; -webkit-line-clamp:2; }
 .detail-genres .tag, .series-detail .detail-genres .tag { background:#292931; border:0; padding:6px 13px; font-size:12px; }
 .mobile-menu { background:#1d1d26; }
 .mobile-menu-items button { min-height:56px; border-radius:18px; background:#2a2a35; font-size:13px; }
 .web-player .web-menu-choice { padding:10px 12px; font-size:14px; border-radius:18px; }
 .web-menu { background:#24232ded; border-radius:18px; }
 .web-player .web-next { border-radius:22px; padding:8px 14px; font-size:12px; }
 .web-player .web-icon { border-radius:50%; }
}

/* Search shares the category heading; its former row enlarges the preview. */
.tv-list-status:empty { display:none; }
@media (max-width:700px) {
 .tv-category-heading { gap:8px; margin-bottom:6px; }
 .tv-category-heading h2 { flex:0 0 auto; font-size:14px; padding:0; }
 .tv-category-heading .tv-search { flex:1; min-width:0; }
 .tv-category-heading .tv-search input { width:100%; min-height:36px; height:36px; font-size:12px; padding:7px 30px 7px 12px; background:#24242e; border-color:#383842; }
 .tv-category-heading .tv-reload { width:28px; }
 .tv-right .tv-preview { aspect-ratio:auto; height:calc((100vw - 28px) * 9 / 16 + 44px); }
 .web-player.mini video { object-fit:fill; }
}

.pwa-install[hidden] { display:none !important; }
.login-layout > .pwa-install { display:block; margin:20px auto 0; color:#bda5ef; background:transparent; font-size:13px; }
.pwa-dialog { max-width:420px; }
.pwa-dialog h2 { font-size:20px; }
.pwa-dialog p { line-height:1.7; }
.pwa-dialog button { border-radius:24px; background:#7650d8; }
/* Live TV: consistent labels, stable source column, and explicit playback state. */
.tv-categories button,.tv-channel .channel-labels strong { font-size:13px !important; line-height:1.25 !important; }
.tv-channel[aria-expanded]:after { content:none !important; display:none !important; }
.tv-channel.playing-channel,.tv-source.playing-source { border:2px solid #a583e6 !important; background:#30223f !important; box-shadow:none !important; }
.tv-channel.playing-channel .channel-labels strong,.tv-source.playing-source strong { color:#f2e8ff; }
@media(display-mode:standalone) {
 #workspace > header { padding-top:max(10px,env(safe-area-inset-top)); }
 .tv-page main { padding-top:max(8px,env(safe-area-inset-top)); }
 .pwa-install { display:none !important; }
}

/* Compact touch landscape: preserve the established portrait proportions. */
@media (orientation:landscape) and (max-height:600px) and (max-width:1400px) {
 :root { --header-height:48px; --gutter:16px; --poster-width:110px; --gap:12px; }
 body { font-size:13px; background:#0c0c12; }
 #workspace { margin-left:62px; padding-bottom:0; }
 #sidebar { inset:0 auto 0 0; width:62px; height:100dvh; padding:8px 3px; overflow-y:auto; background:#111019; }
 #sidebar .brand { height:44px; padding:0; }
 #sidebar .brand img { width:38px; height:38px; }
 #sidebar button { height:45px; min-height:40px; width:54px; padding:5px 2px; gap:3px; border-radius:18px; }
 #sidebar button span { font-size:8px; }
 #sidebar svg { width:19px; height:19px; }
 #workspace>header { height:48px; padding:5px 16px; }
 #searchForm { max-width:380px; }
 #search { height:36px; min-height:36px; font-size:13px; }
 #profile { padding:3px 8px; } .profile-avatar { width:25px; height:25px; flex-basis:25px; }
 main { padding:10px 16px 20px; }
 h2,.section-head h2 { font-size:17px; }
 .section-head { margin:6px 0 8px; }
 .rail { gap:12px; margin-bottom:14px; }
 .rail .card { width:110px; flex:0 0 110px; }
 .card .title { font-size:11px; line-height:1.3; }
 .grid { grid-template-columns:repeat(auto-fill,minmax(100px,1fr)); gap:12px; }
 button,select { border-radius:18px; }
 .streaming-shortcut { min-height:48px; }
 .tv-page main { min-height:0; height:100dvh; padding:8px 12px; overflow:hidden; }
 .tv-layout { height:100%; grid-template-columns:126px minmax(230px,1fr) minmax(220px,.85fr); gap:10px; }
 .tv-category-column { grid-row:1; padding:0; background:transparent; min-height:0; }
 .tv-category-heading h2 { font-size:14px; }
 .tv-categories { max-height:none; min-height:0; }
 .tv-categories button { font-size:12px; min-height:34px; padding:7px 10px; }
 .tv-center { height:100%; min-height:0; }
 .tv-channel-column { min-height:0; height:100%; }
 .tv-channels { min-height:0; max-height:none; height:100%; gap:6px; }
 .tv-center .tv-search input { min-height:34px; height:34px; font-size:12px; }
 .tv-right { grid-column:3; grid-row:1; min-height:0; }
 .tv-channel { height:auto; min-height:70px; padding:7px; gap:8px; border-radius:12px; background:#202027; }
 .tv-channel .channel-logo { width:48px; height:48px; min-height:48px; flex:0 0 48px; }
 .tv-channel .channel-logo img { width:44px; height:44px; max-width:44px; max-height:44px; }
 .tv-channel .channel-labels { grid-template-columns:35px minmax(0,1fr); gap:2px 4px; }
 .tv-channel .channel-labels strong { font-size:12px; }
 .tv-channel .channel-labels .epg-label { font-size:8px; }
 .tv-channel .channel-now,.tv-channel .channel-next { font-size:10px; line-height:1.3; }
 .tv-sources .tv-source { min-height:36px; padding:7px 10px; font-size:12px; }
 .web-player .web-player-top { padding:8px 14px; min-height:40px; }
 .web-player .web-controls { padding:5px 16px 8px; }
 .web-player .web-icon { width:38px; height:38px; min-height:38px; }
 .web-player .web-control-row { gap:6px; }
 .web-menu { max-height:calc(100% - 80px); bottom:62px; }
 .web-player .web-menu-choice { padding:8px 12px; font-size:13px; }
}

.cinema-badge{position:absolute;top:5px;left:5px;max-width:calc(100% - 10px);border-radius:7px;background:#08080be6;color:#fff;padding:5px 7px;font-size:9px;font-weight:700;line-height:1;letter-spacing:.3px;z-index:1;pointer-events:none}.poster.has-cinema .score{top:auto;bottom:6px}
.episode-card>.episode-thumb{position:relative;grid-row:span 2;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px;align-self:center}.episode-card>.episode-thumb img{display:block;width:100%;height:100%;object-fit:cover;margin:0}.episode-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:#342c43}.episode-progress i{display:block;height:100%;background:#b698f6}

.web-center-controls{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:28px;z-index:4}.web-center-controls .web-icon{width:56px;height:56px;background:#0003;border-radius:50%}.web-center-controls .web-icon:nth-last-child(2){width:72px;height:72px}.web-center-controls .web-icon svg{width:34px;height:34px}.web-player.controls-hidden .web-center-controls,.web-player.is-loading .web-center-controls,.web-player.mini .web-center-controls{visibility:hidden;pointer-events:none}.web-player .web-next-episode[hidden]{display:none}.web-player .web-skip-intro{min-height:40px}
@media(max-width:600px) and (orientation:portrait){.web-player .web-control-row{grid-template-columns:repeat(6,minmax(0,1fr))}.web-center-controls{gap:20px}.web-center-controls .web-icon{width:48px;height:48px}}
@media(max-height:450px){.web-center-controls{top:43%}.web-controls{padding-top:20px}.web-center-controls .web-icon{width:44px;height:44px}}

.low-memory .card,.low-memory .episode-card,.low-memory .source{transition:none;box-shadow:none}.low-memory .detail-bg,.low-memory .detail::before{filter:none}.low-memory .web-controls,.low-memory .web-player-top{transition:none}

.web-player.controls-hidden .web-controls{opacity:1;background:none;pointer-events:none}.web-player.controls-hidden .web-time-row,.web-player.controls-hidden .web-control-row{visibility:hidden}.web-player.controls-hidden .web-skip-intro{pointer-events:auto}

.web-player .web-control-row{justify-content:center}.web-player .web-control-space{display:none}
.web-player .web-skip-intro{margin:0;padding:7px 10px;border-radius:7px;font-size:12px;white-space:nowrap;flex-shrink:0}
.web-player .web-next-prompt{border-radius:7px;max-width:calc(100% - 32px)}
.web-player.controls-hidden .web-next-prompt{visibility:hidden;pointer-events:none}
@media(max-width:700px) and (orientation:portrait){.web-player .web-skip-intro{grid-column:span 2;justify-self:center}}

.web-player .web-skip-intro:disabled{opacity:.45}

@media(max-width:700px) and (orientation:portrait){
.web-player .web-control-row{grid-template-columns:repeat(10,minmax(0,1fr))}
.web-player .web-control-row>.web-icon,.web-player .web-control-row>.web-volume{grid-column:span 2}
.web-player .web-control-row>.web-skip-intro{grid-column:span 4}
}

@media(orientation:landscape),(min-width:701px){
.web-player .web-control-row{justify-content:flex-start}
.web-player .web-control-space{display:block;flex:1;min-width:12px}
}

/* Keep channel categories and names at the same readable size across breakpoints. */
.tv-categories button,.tv-channel .channel-labels strong { font-size:13px !important; line-height:1.25 !important; }
.tv-channel[aria-expanded]:after { content:none !important; display:none !important; }
.tv-channel.playing-channel,.tv-source.playing-source { border:2px solid #a583e6 !important; background:#30223f !important; box-shadow:none !important; }
.tv-channel.playing-channel .channel-labels strong,.tv-source.playing-source strong { color:#f2e8ff; }
@media (max-width:700px) and (orientation:landscape) {
 .tv-page main { height:calc(100dvh - 54px); min-height:0; overflow:hidden; }
 .tv-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); height:100%; gap:8px; }
 .tv-category-column { grid-column:1 / -1; grid-row:1; min-width:0; padding:4px 0; }
 .tv-category-column h2 { display:none; }
 .tv-categories { display:flex; flex-direction:row; gap:6px; max-height:none; overflow-x:auto; }
 .tv-categories button { flex:0 0 auto; width:auto; min-height:32px; padding:6px 10px; white-space:nowrap; }
 .tv-center { display:block; grid-column:1; grid-row:2; min-width:0; min-height:0; height:100%; order:initial; }
 .tv-channel-column { height:100%; min-height:0; }
 .tv-channels { height:100%; min-height:0; max-height:none; overflow:auto; }
 .tv-right { display:flex; flex-direction:column; grid-column:2; grid-row:2; min-width:0; min-height:0; height:100%; overflow:auto; }
 .tv-right .tv-preview { order:0; flex:0 0 auto; }
 .tv-right h3 { order:1; margin:7px 0; font-size:13px; }
 .tv-right .tv-sources { order:2; display:flex; flex:1 1 auto; width:100%; max-height:none; min-height:0; overflow:auto; margin:0; padding:8px; }
}

/* Keep channel categories and names at the same readable size across breakpoints. */
.tv-categories button,.tv-channel .channel-labels strong { font-size:13px !important; line-height:1.25 !important; }
.tv-channel[aria-expanded]:after { content:none !important; display:none !important; }
.tv-channel.playing-channel,.tv-source.playing-source { border:2px solid #a583e6 !important; background:#30223f !important; box-shadow:none !important; }
.tv-channel.playing-channel .channel-labels strong,.tv-source.playing-source strong { color:#f2e8ff; }
@media (max-width:700px) and (orientation:landscape) {
 .tv-page main { height:calc(100dvh - 54px); min-height:0; overflow:hidden; }
 .tv-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto minmax(0,1fr); height:100%; gap:8px; }
 .tv-category-column { grid-column:1 / -1; grid-row:1; min-width:0; padding:4px 0; }
 .tv-category-column h2 { display:none; }
 .tv-categories { display:flex; flex-direction:row; gap:6px; max-height:none; overflow-x:auto; }
 .tv-categories button { flex:0 0 auto; width:auto; min-height:32px; padding:6px 10px; white-space:nowrap; }
 .tv-center { display:block; grid-column:1; grid-row:2; min-width:0; min-height:0; height:100%; order:initial; }
 .tv-channel-column { height:100%; min-height:0; }
 .tv-channels { height:100%; min-height:0; max-height:none; overflow:auto; }
 .tv-right { display:flex; flex-direction:column; grid-column:2; grid-row:2; min-width:0; min-height:0; height:100%; overflow:auto; }
 .tv-right .tv-preview { order:0; flex:0 0 auto; }
 .tv-right h3 { order:1; margin:7px 0; font-size:13px; }
 .tv-right .tv-sources { order:2; display:flex; flex:1 1 auto; width:100%; max-height:none; min-height:0; overflow:auto; margin:0; padding:8px; }
}

/* Portrait live TV: mini-player first, categories below, selected sources inline under the channel. */
@media (max-width:700px) and (orientation:portrait) {
  .tv-page main { overflow:visible; }
  .tv-layout { display:flex; flex-direction:column; gap:10px; }
  .tv-right { display:contents; }
  .tv-right .tv-preview { order:-2; width:100%; height:auto; flex:none; min-height:0; aspect-ratio:16/9; }
  .tv-category-column { order:-1; min-width:0; padding:4px 0; }
  .tv-category-heading h2 { font-size:15px; }
  .tv-categories { display:flex; flex-direction:row; gap:6px; max-height:none; overflow-x:auto; }
  .tv-categories button { flex:0 0 auto; width:auto; min-height:36px; padding:7px 11px; white-space:nowrap; }
  .tv-center { order:0; min-width:0; }
  .tv-channel-column { min-height:0; }
  .tv-channels { display:flex; flex-direction:column; max-height:65dvh; min-height:0; overflow:auto; }
  .tv-right > h3 { display:none; }
  .tv-channels > .tv-sources { display:flex; flex-direction:column; order:0; width:100%; max-height:none; min-height:0; overflow:visible; margin:-8px 0 8px; padding:10px; border:1px solid #40344f; border-radius:0 0 12px 12px; background:#1b1724; }
  .tv-channels > .tv-sources[hidden] { display:none; }
  .tv-channels > .tv-sources .tv-sources-heading { display:block; margin:0 0 8px; color:#d7c7eb; font-size:13px; }
}

/* Mobile navigation and detail presentation, October 2026. */
@media(max-width:700px){
 .mobile-back-icon{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:9px!important;border-radius:50%!important;background:#181522d9!important;border:1px solid #514568!important;color:#e4d8ff!important;display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0}
 .mobile-back-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .catalog-page header{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-height:64px;padding:8px 12px}
 .catalog-page #catalogTitle{display:none}.catalog-page #searchForm{flex:1;min-width:0}.catalog-page .mobile-brand{display:none}
 .catalog-page .filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:4px 0 12px;margin:0}
 .catalog-page .filters select{width:100%;min-width:0;min-height:44px;height:44px;border:1px solid #48424f;border-radius:13px;background-color:#111017;font-size:12px;padding:0 22px 0 9px;text-overflow:ellipsis}
 .login-layout{display:flex;flex-direction:column;align-items:center;width:100%;max-width:430px}.login-form{width:100%}.login-user-row{display:contents}
 .login-form .login-brand{order:0}.login-form>.login-support{order:-1;position:static;width:88px;margin:0 auto 18px;display:flex;flex-direction:column;align-items:center}.login-support img{width:80px;height:80px}.login-support strong{font-size:10px;letter-spacing:2px}
 .auth main{padding:22px 24px;min-height:100dvh}.login-brand{margin-bottom:16px}
 .scroll-affordance{position:relative;min-width:0}.scroll-affordance>.rail-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;display:flex;width:28px;height:40px;min-height:0;padding:0;align-items:center;justify-content:center;border:1px solid #655080;background:#181124e8;color:#d0b9ff;border-radius:12px;font-size:26px;box-shadow:0 2px 8px #0008}.rail-arrow.prev{left:0}.rail-arrow.next{right:0}.rail-arrow:disabled{opacity:.2;pointer-events:none}.scroll-affordance>.rail,.scroll-affordance>.tv-categories{padding-left:30px;padding-right:30px;scroll-padding:30px}
 .addon-filters{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;overflow:visible!important;width:100%}.addon-filters>*{min-width:0!important;width:100%!important;flex:auto!important;min-height:44px!important;font-size:13px!important;padding:10px!important;border-radius:12px!important}.addon-filters input{grid-column:1/-1;grid-row:1}.addon-filters select{background:#18151f}.addon-filters .primary{grid-column:1}
 .addon{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:12px!important;padding:16px!important;margin-bottom:12px!important;border:1px solid #393141!important;border-radius:18px!important;background:#1b1824!important}.addon>.addon-logo{display:flex!important;width:44px;height:44px}.addon-info h3{font-size:16px;margin:0 0 5px}.addon-info h3 span{font-size:10px;color:#aa9fb8}.addon-info p{font-size:13px;line-height:1.5;color:#d0c6de;overflow-wrap:anywhere}.addon-actions{grid-column:1/-1;display:flex!important;flex-wrap:wrap;gap:8px}.addon-actions button{flex:1 1 100px;min-width:0;min-height:40px;font-size:12px;padding:8px 12px;border:1px solid #504261;border-radius:12px}.addon-actions button:first-child{background:#44315c;color:#f1e4ff}
}
@media(max-width:700px) and (orientation:portrait){
 .detail,.series-detail{padding:0!important;position:relative}.detail .backdrop{position:absolute;top:0;left:0;right:0;height:470px!important;max-height:none!important;opacity:.62}.detail .backdrop:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10101825 0%,#10101880 40%,#101018 100%)}.detail .backdrop img{height:100%;object-fit:cover}
 .detail>.back{position:absolute;top:10px;left:12px;z-index:4}.detail-columns{display:block!important;padding:0!important}.detail-columns>.synopsis{position:relative;z-index:1;padding:76px 16px 18px!important;margin:0!important;min-height:0!important}.series-detail .synopsis{padding-top:35px!important}.synopsis h1,.series-title-row h1{font-size:25px!important;line-height:1.16!important;margin:0 0 10px!important}.synopsis .eyebrow{font-size:10px;margin-bottom:6px}.synopsis .facts{margin:10px 0!important}.synopsis .detail-genres{margin:10px 0!important}.synopsis .detail-genres h3{display:none}.synopsis>.series-description{font-size:14px!important;line-height:1.55!important;display:-webkit-box!important;-webkit-line-clamp:5!important;-webkit-box-orient:vertical;overflow:hidden;margin:14px 0 0!important}.synopsis>h3,.synopsis>.tag,.synopsis>button{display:none!important}
 .detail-columns>.source-panel{margin:0!important;padding:16px!important;border-radius:18px 18px 0 0!important;background:#101018!important;position:relative;z-index:2;min-height:0!important}.series-detail:not(.episode-source-page) .source-panel{display:none!important}
 .series-browser{margin:22px -16px -18px;background:#101018;padding:12px 12px 18px}.series-browser .episode-rail{display:flex!important;flex-direction:column;gap:10px;overflow:visible!important;max-height:none!important}.episode-rail .episode-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:auto 1fr;column-gap:12px;row-gap:6px;padding:10px!important;border-radius:14px!important;min-height:90px!important;background:#211e29!important;flex:none!important;width:100%!important}.episode-card>.episode-thumb{grid-row:span 2;aspect-ratio:16/10!important;width:112px!important}.episode-card strong{font-size:14px!important;line-height:1.3!important}.episode-card .episode-description{font-size:12px!important;line-height:1.4!important;-webkit-line-clamp:2!important}.season-card{border-radius:20px!important;padding:10px 18px!important}.series-rail-head h3{font-size:12px!important;letter-spacing:.8px}
 .episode-source-page .synopsis{display:none!important}.episode-source-page .source-panel{background:transparent!important;padding-top:0!important}.episode-source-page .episode-source-intro{padding:36px 0 24px;min-height:230px}.episode-source-intro h1{font-size:26px;line-height:1.2}.episode-source-intro h2{font-size:17px;margin:18px 0 10px}.episode-source-intro p{font-size:14px;line-height:1.6;color:#dbd4e5}.episode-source-page .source-toolbar{margin-top:0;background:#101018;padding:12px 0}.episode-source-page .source-return{display:none!important}
}

/* Keep compact controls contained, including after a device rotation. */
.rail-arrow{display:none}.scroll-affordance{min-width:0;min-height:0}.mobile-back-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}
@media(min-width:701px){.catalog-back{display:none}.tv-category-column>.scroll-affordance{display:contents}}
@media(max-width:700px){.sync-screen{width:100%;min-width:0}.sync-grid h2{overflow-wrap:anywhere}.login-layout{margin-left:0}.streaming-rail{scroll-padding:30px}.scroll-affordance>.streaming-rail{padding-left:30px;padding-right:30px}.detail-back,.catalog-back{margin:0}.mobile-detail header{display:flex;gap:8px;align-items:center}.mobile-detail header .mobile-brand{display:none}.mobile-detail header #searchForm{flex:1;min-width:0}}

.web-player .web-icon[hidden]{display:none}


/* Live navigation stays above the mobile preview. */
.tv-back{display:none}
@media(max-width:700px){.tv-layout>.tv-back{display:flex;align-items:center;justify-content:center;order:-3;align-self:flex-start;flex:0 0 auto;width:40px;height:40px;min-height:40px;padding:8px;border:0;border-radius:50%;background:transparent;color:#e4d8ff}.tv-back svg{width:24px;height:24px}.tv-back:focus-visible{outline:2px solid #aa87e8}.tv-categories button.selected{background:#463063!important;border-color:#9b73d4!important;color:#f4ecff}}
@media(max-width:700px){.login-support .login-telegram-links{width:152px;max-width:calc(100vw - 36px);margin-top:2px}.login-support .login-telegram-link{font-size:12px;padding:6px 4px}}



/* Stable live-TV columns: the back control belongs inside the category column. */
@media(min-width:701px){
 .tv-page .tv-layout{display:grid;grid-template-columns:minmax(125px,18%) minmax(260px,1fr) minmax(230px,30%);grid-template-rows:minmax(0,1fr);height:calc(100dvh - 30px);gap:16px;align-items:stretch}
 .tv-page .tv-category-column{grid-column:1;grid-row:1;min-height:0;display:flex;flex-direction:column}
 .tv-page .tv-center{grid-column:2;grid-row:1;min-height:0;height:100%}
 .tv-page .tv-right{grid-column:3;grid-row:1;display:flex;flex-direction:column;min-height:0;gap:10px}
 .tv-page .tv-channel-column{height:100%;display:flex;flex-direction:column;min-height:0}
 .tv-page .tv-channels{display:flex;flex-direction:column;gap:0;overflow:auto;min-height:0;flex:1;grid-template-columns:none;grid-auto-rows:auto;padding:5px}
 .tv-page .tv-channel{display:flex;flex-direction:row;align-items:center;flex:0 0 auto;width:100%;height:76px;min-height:76px;padding:8px;gap:12px;border:0;border-bottom:1px solid #393044;border-radius:4px;background:transparent}
 .tv-page .channel-logo{width:46px;height:46px;min-height:46px;flex:0 0 46px}
 .tv-page .channel-logo img{width:44px;height:44px;max-width:44px;max-height:44px;object-fit:contain}
 .tv-page .channel-labels{display:grid;flex:1;min-width:0;grid-template-columns:42px minmax(0,1fr);grid-template-rows:20px 17px 17px;gap:0 4px}
 .tv-page .channel-labels strong{grid-column:1/-1;font-size:13px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .tv-page .channel-now,.tv-page .channel-next,.tv-page .epg-label{font-size:10px;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .tv-page .tv-preview{width:100%;height:auto;aspect-ratio:16/9;min-height:0;flex:0 0 auto}
 .tv-page .tv-sources{flex:1;min-height:0;overflow:auto}
 .tv-page .tv-categories{flex:1;min-height:0;overflow:auto}
}
.tv-category-column>.tv-back{display:flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;flex:0 0 34px;padding:6px;margin-bottom:8px;border-radius:50%}
/* One lilac focus treatment, without changing element dimensions. */
body :is(button,input,select,a,[tabindex]):focus-visible{outline:2px solid #d4adff!important;outline-offset:2px;box-shadow:0 0 12px #ba79ff88,inset 0 1px 7px #efd7ff55!important;animation:amz-lilac-focus 1.7s ease-in-out infinite!important}
@keyframes amz-lilac-focus{0%,100%{filter:brightness(1);outline-color:#bb86ef;box-shadow:0 0 7px #b874ff66,inset 0 1px 5px #efdbff33}50%{filter:brightness(1.15);outline-color:#f0d6ff;box-shadow:0 0 16px #c58affaa,inset 0 2px 9px #f5e7ff66}}
@media(prefers-reduced-motion:reduce){body :is(button,input,select,a,[tabindex]):focus-visible{animation:none!important}}
