/* Receiver UI uses TV-relative units so the same composition survives embedded/mobile views. */
.tv-os {
  position: absolute;
  inset: 0;
  color: #f5f5f7;
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
  line-height: 1.25;
  --tv-bg: #08090b;
  --tv-muted: #b4b5bb;
}
.tv-home,
.tv-library,
.tv-player,
.tv-search,
.tv-photos,
.tv-game,
.tv-settings,
.tv-details,
.tv-arcade,
.tv-screensaver {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background: var(--tv-bg);
}
#tv-content button {
  -webkit-user-select: none;
  user-select: none;
}
#tv-content button:focus-visible {
  outline: 0.28cqw solid #fff;
  outline-offset: 0.4cqw;
}
#tv-content svg {
  width: 2.3cqw;
  height: 2.3cqw;
}
.scene-art {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.app-mark {
  display: flex;
  height: 100%;
  width: 100%;
  align-items: center;
  justify-content: center;
  background: var(--app-color);
  color: #fff;
  border-radius: inherit;
  overflow: hidden;
  user-select: none;
}
.app-mark svg,
#tv-content .app-mark svg {
  width: 45%;
  height: 65%;
}
.app-mark[data-app='music'] {
  background: linear-gradient(160deg, #ff506e, #f32649);
}
.app-mark[data-app='search'] {
  background: linear-gradient(160deg, #e4e7ec, #a1a9b5);
}
.app-mark[data-app='search'] svg {
  color: #fff;
  width: 37%;
}
.app-mark[data-app='settings'] {
  background: linear-gradient(160deg, #d1d2d7, #8d929b);
}
.app-mark[data-app='settings'] svg {
  color: #41434a;
  width: 45%;
  height: 77%;
}
.app-mark[data-app='podcasts'] {
  background: linear-gradient(160deg, #cd66ee, #7927c7);
}
.app-mark[data-app='computers'] {
  background: linear-gradient(150deg, #ffb238, #f3801e);
}
.app-mark[data-app='tv'] {
  background: linear-gradient(135deg, #252528, #020203);
}
.apple-tv-mark,
.plex-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72%;
  height: 70%;
}
.app-mark .apple-tv-mark svg,
#tv-content .app-mark .apple-tv-mark svg,
.app-mark .plex-mark svg,
#tv-content .app-mark .plex-mark svg {
  width: 100%;
  height: 100%;
}
.prime-mark {
  font-size: 1.8cqw;
  font-weight: 700;
  text-align: center;
  width: 80%;
}
.app-mark .prime-mark svg,
#tv-content .app-mark .prime-mark svg {
  width: 60%;
  height: 2cqw;
  margin: -0.05cqw auto 0;
}
.arcade-mark {
  display: flex;
  align-items: center;
  flex-direction: column;
  height: 90%;
  justify-content: center;
}
.arcade-mark small {
  font-size: 1.4cqw;
  font-weight: 650;
}
.photo-flower {
  position: relative;
  width: 42%;
  height: 68%;
}
.photo-flower i {
  position: absolute;
  left: 34%;
  top: 0;
  width: 32%;
  height: 57%;
  border-radius: 50%;
  transform-origin: 50% 88%;
  background: #ff7d54;
  opacity: 0.8;
}
.photo-flower i:nth-child(2) {
  transform: rotate(45deg);
  background: #ffaf38;
}
.photo-flower i:nth-child(3) {
  transform: rotate(90deg);
  background: #e9dc41;
}
.photo-flower i:nth-child(4) {
  transform: rotate(135deg);
  background: #90c95b;
}
.photo-flower i:nth-child(5) {
  transform: rotate(180deg);
  background: #50bdd0;
}
.photo-flower i:nth-child(6) {
  transform: rotate(225deg);
  background: #5985df;
}
.photo-flower i:nth-child(7) {
  transform: rotate(270deg);
  background: #ad70c7;
}
.photo-flower i:nth-child(8) {
  transform: rotate(315deg);
  background: #f46ca3;
}
.phone-app-tile .prime-mark {
  font-size: 17px;
}
.phone-app-tile .arcade-mark small {
  font-size: 12px;
}
.phone-app-tile .prime-mark svg {
  height: 14px;
}
.home-wallpaper {
  background-position: center 42%;
}
.home-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #01050b80, transparent 72%),
    linear-gradient(0deg, #050b20e6, transparent 85%);
}
.tv-top {
  position: absolute;
  top: 2.8cqw;
  left: 4.8cqw;
  right: 4.8cqw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.45cqw;
  color: #ffffffd0;
}
.tv-top > span,
.tv-profile {
  display: flex;
  align-items: center;
  gap: 0.9cqw;
}
.tv-profile i,
.app-avatar {
  display: inline-grid;
  place-items: center;
  height: 2.8cqw;
  width: 2.8cqw;
  border-radius: 50%;
  background: linear-gradient(130deg, #c7d7e6, #657989);
  color: #172530;
  font-style: normal;
  font-size: 1.45cqw;
  font-weight: 600;
}
.home-feature {
  position: absolute;
  top: 12.5cqw;
  left: 5cqw;
  width: 53%;
  text-shadow: 0 0.2cqw 2cqw #0004;
}
.home-feature small {
  font-size: 1cqw;
  letter-spacing: 0.2cqw;
  font-weight: 650;
  color: #e0e7f6;
}
.home-feature h2 {
  font-size: 5.1cqw;
  letter-spacing: -0.18cqw;
  line-height: 1.02;
  margin: 1cqw 0;
  max-width: 43cqw;
  font-weight: 650;
}
.home-feature p {
  font-size: 1.5cqw;
  color: #d5dbe6;
  margin-top: 1.4cqw;
}
.home-dock-glass {
  position: absolute;
  inset: 30.3cqw 2.5cqw 2.2cqw;
  border-radius: 2cqw;
  background: linear-gradient(150deg, #e0eaff13, #5a739411);
  border: 0.1cqw solid #fff1;
  backdrop-filter: blur(18px);
}
.tv-app-grid {
  position: absolute;
  left: 5cqw;
  right: 5cqw;
  bottom: 3.8cqw;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 2.1cqw 2.15cqw;
}
.tv-app-cell {
  position: relative;
  min-width: 0;
}
.tv-app-cell > button {
  display: block;
  width: 100%;
  aspect-ratio: 5 / 3;
  padding: 0;
  border-radius: 1.25cqw;
  background: #161619;
  box-shadow: 0 0.4cqw 1cqw #0003;
  transition:
    transform 180ms cubic-bezier(0.2, 0.7, 0.3, 1),
    box-shadow 180ms;
}
.tv-app-cell > button.focused {
  transform: translateY(-0.25cqw) scale(1.11);
  box-shadow:
    0 1.1cqw 2.2cqw #0006,
    0 0 0 0.2cqw #ffffffb0,
    inset 0 0 0.3cqw #fff;
  z-index: 2;
  position: relative;
}
.tv-app-cell > button.focused:after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(140deg, #fff2, transparent 60%);
  pointer-events: none;
}
.tv-app-cell > span {
  position: absolute;
  bottom: -1.85cqw;
  left: -15%;
  right: -15%;
  text-align: center;
  font-size: 1.25cqw;
  visibility: hidden;
  white-space: nowrap;
  text-shadow: 0 0.1cqw 0.8cqw #000;
}
.tv-app-cell > button.focused + span {
  visibility: visible;
}
.tv-app-cell.editing > button {
  animation: jiggle 0.25s infinite alternate;
}
.home-edit-note {
  position: absolute;
  bottom: 0.6cqw;
  width: 100%;
  text-align: center;
  font-size: 1.1cqw;
}
/* Navigation and the streaming services. */
.app-navigation {
  z-index: 5;
  position: absolute;
}
.wordmark {
  display: flex;
  align-items: center;
  gap: 0.45cqw;
  color: #fff;
  font-size: 2.2cqw;
  font-weight: 650;
  white-space: nowrap;
}
#tv-content .wordmark > svg {
  width: 2.6cqw;
  height: 2.6cqw;
}
.tv-wordmark {
  width: 5.5cqw;
  height: 3.4cqw;
}
#tv-content .tv-wordmark > svg,
#tv-content .plex-wordmark > svg {
  width: 100%;
  height: 100%;
}
.netflix-wordmark {
  color: #e50914;
  font-size: 2.45cqw;
  font-weight: 850;
  letter-spacing: -0.09cqw;
}
.prime-wordmark {
  font-size: 2cqw;
  font-weight: 700;
  letter-spacing: -0.04cqw;
}
.plex-wordmark {
  width: 5.7cqw;
  height: 3cqw;
}
.youtube-wordmark {
  font-size: 2.15cqw;
  letter-spacing: -0.08cqw;
}
.youtube-wordmark .app-mark {
  background: none;
  width: 3.5cqw;
  height: 3cqw;
}
#tv-content .youtube-wordmark .app-mark svg {
  width: 100%;
  height: 100%;
}
.top-navigation {
  top: 0;
  left: 0;
  right: 0;
  padding: 2.5cqw 4cqw;
  display: flex;
  align-items: center;
  gap: 3cqw;
  background: linear-gradient(#06070b9e, transparent);
}
.app-tabs {
  display: flex;
  align-items: center;
  gap: 0.7cqw;
}
.app-tabs button {
  background: transparent;
  color: #d4d4da;
  font-size: 1.4cqw;
  font-weight: 550;
  padding: 0.85cqw 1.3cqw;
  border-radius: 2cqw;
  white-space: nowrap;
  transition:
    color 130ms,
    background 130ms;
}
.app-tabs button.active {
  color: #fff;
  background: #fff2;
}
.app-tabs button.focused {
  color: #101114;
  background: #fff;
  box-shadow: 0 0.3cqw 1cqw #0004;
}
.top-navigation .app-tabs svg {
  display: none;
}
.top-navigation > .app-avatar {
  margin-left: auto;
  flex: 0 0 auto;
}
.side-navigation {
  left: 0;
  top: 0;
  bottom: 0;
  width: 7.5cqw;
  background: linear-gradient(90deg, #101114ed, #101114ba);
  padding: 2.3cqw 1.5cqw;
  display: flex;
  flex-direction: column;
  align-items: center;
  border-right: 0.1cqw solid #fff1;
  backdrop-filter: blur(20px);
  transition: width 180ms;
}
.side-navigation .wordmark {
  height: 3.5cqw;
  justify-content: center;
}
.side-navigation .app-tabs {
  margin-top: 4cqw;
  flex-direction: column;
  width: 100%;
  gap: 1cqw;
}
.side-navigation .app-tabs button {
  display: flex;
  align-items: center;
  gap: 1.6cqw;
  padding: 1cqw;
  width: 100%;
  border-radius: 0.8cqw;
  height: 4.3cqw;
  overflow: hidden;
}
.side-navigation .app-tabs button > span {
  opacity: 0;
}
.side-navigation > .app-avatar {
  margin-top: auto;
}
.side-navigation.nav-expanded {
  width: 24cqw;
  align-items: flex-start;
  box-shadow: 4cqw 0 8cqw #0009;
}
.side-navigation.nav-expanded .app-tabs button > span {
  opacity: 1;
}
.side-navigation.nav-expanded .wordmark {
  padding-left: 1cqw;
}
.side-navigation.nav-expanded > .app-avatar {
  margin-left: 1cqw;
}
.side-navigation .youtube-wordmark {
  font-size: 0;
}
.side-navigation.nav-expanded .youtube-wordmark {
  font-size: 2.1cqw;
}
.side-navigation .plex-wordmark {
  width: 5.7cqw;
  height: 3cqw;
}
.cinema-hero {
  position: absolute;
  inset: 0 0 17cqw;
}
.cinema-hero .scene-art {
  inset: 0 0 -3cqw;
  background-position: center 38%;
}
.hero-shade {
  position: absolute;
  inset: 0 0 -6cqw;
  background:
    linear-gradient(90deg, #09090dde, transparent 80%),
    linear-gradient(0deg, var(--tv-bg) 8%, transparent 62%);
}
.cinema-copy {
  position: absolute;
  top: 9cqw;
  left: 5cqw;
  width: 49cqw;
}
.app-tv .cinema-copy,
.app-plex .cinema-copy {
  left: 11cqw;
}
.hero-eyebrow {
  font-size: 0.95cqw;
  letter-spacing: 0.22cqw;
  color: #e3e3e8;
  font-weight: 650;
}
.cinema-copy h2 {
  font-size: 5.2cqw;
  line-height: 0.97;
  font-weight: 650;
  max-width: 42cqw;
  letter-spacing: -0.18cqw;
  margin: 1.1cqw 0 1.6cqw;
}
.cinema-copy h2.title-city {
  text-transform: uppercase;
  font-weight: 850;
  font-size: 4.8cqw;
  max-width: 38cqw;
  letter-spacing: -0.14cqw;
}
.cinema-copy h2.title-dunes {
  font-family: Georgia, serif;
  font-weight: 400;
  letter-spacing: -0.2cqw;
  font-size: 5.4cqw;
}
.cinema-copy > p {
  font-size: 1.4cqw;
  color: #e2e2e5;
}
.media-meta {
  display: flex;
  align-items: center;
  gap: 1cqw;
  font-size: 1.15cqw;
  color: #c5c6cd;
  margin: 1.4cqw 0;
}
.media-meta b,
.player-top b {
  border: 0.1cqw solid #a0a2a9;
  border-radius: 0.25cqw;
  font-size: 0.85cqw;
  padding: 0.08cqw 0.25cqw;
}
.hero-actions {
  display: flex;
  gap: 1cqw;
  margin-top: 1.5cqw;
}
.tv-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6cqw;
  background: #ffffff28;
  color: #fff;
  border-radius: 0.75cqw;
  font-size: 1.3cqw;
  font-weight: 650;
  padding: 1cqw 1.9cqw;
  backdrop-filter: blur(12px);
}
#tv-content .tv-action svg {
  width: 1.5cqw;
  height: 1.5cqw;
}
.tv-action.primary {
  color: #111;
  background: #fafafa;
}
.tv-action.focused {
  box-shadow:
    0 0 0 0.3cqw #fff,
    0 0 0 0.5cqw #0007;
  transform: scale(1.035);
}
.hero-pagination {
  position: absolute;
  right: 5cqw;
  bottom: 6cqw;
  display: flex;
  gap: 0.6cqw;
}
.hero-pagination i {
  width: 0.45cqw;
  height: 0.45cqw;
  border-radius: 50%;
  background: #fff5;
}
.hero-pagination i.active {
  background: #fff;
}
.shelves-viewport {
  position: absolute;
  top: 33.5cqw;
  left: 3.8cqw;
  padding-left: 1cqw;
  right: 0;
  bottom: 1.4cqw;
  overflow: hidden;
}
.app-tv .shelves-viewport,
.app-plex .shelves-viewport {
  left: 10cqw;
}
.shelves-track {
  transform: translateY(calc(-1 * var(--row-offset)));
  transition: transform 210ms ease-out;
}
.media-shelf {
  height: 21.5cqw;
}
.media-shelf h3 {
  font-size: 1.9cqw;
  font-weight: 650;
  margin-bottom: 1cqw;
  letter-spacing: -0.04cqw;
}
.media-shelf h3 > span {
  color: #92949b;
  font-weight: 400;
}
.shelf-window {
  padding: 0.9cqw 0.8cqw 1.5cqw;
  margin-left: -0.8cqw;
  overflow: hidden;
}
.media-row {
  display: flex;
  gap: 1.6cqw;
  transform: translateX(calc(-1 * var(--card-offset)));
  transition: transform 200ms ease-out;
}
.media-card {
  width: 21.4cqw;
  flex: 0 0 21.4cqw;
  min-width: 0;
  background: none;
  color: inherit;
  padding: 0;
  text-align: left;
}
.media-art {
  position: relative;
  aspect-ratio: 16/9;
  border-radius: 0.75cqw;
  transition:
    transform 160ms,
    box-shadow 160ms;
  background: #202127;
}
.media-art > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}
.card-title-art {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 1.2cqw;
  border-radius: inherit;
  background: linear-gradient(transparent 40%, #0008);
  font-size: 1.7cqw;
  line-height: 1;
  letter-spacing: -0.03cqw;
  font-weight: 700;
  text-shadow: 0 0.1cqw 0.6cqw #0009;
}
.media-title {
  display: block;
  font-size: 1.3cqw;
  font-weight: 550;
  margin: 1cqw 0 0.4cqw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.media-subtitle {
  display: block;
  font-size: 1.05cqw;
  color: var(--tv-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.media-card.focused .media-art {
  transform: scale(1.04);
  box-shadow:
    0 0 0 0.28cqw #fff,
    0 0.7cqw 2cqw #0009;
  z-index: 1;
}
.media-card:hover .media-art {
  filter: brightness(1.13);
}
.card-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 0.35cqw;
  background: #fff;
}
.collection-empty {
  font-size: 1.8cqw;
  color: #dedfe4;
  padding: 2cqw 0;
}
.collection-empty small {
  display: block;
  font-size: 1.25cqw;
  color: var(--tv-muted);
  margin-top: 0.9cqw;
}
.app-netflix {
  --tv-bg: #141414;
}
.app-netflix .cinema-copy {
  top: 8.5cqw;
}
.app-netflix .hero-eyebrow {
  color: #f0303c;
}
.app-netflix .top-navigation .app-tabs button.active {
  background: none;
  box-shadow: 0 0.2cqw white;
  border-radius: 0;
}
.app-netflix .top-navigation .app-tabs button.focused {
  background: #fff;
  color: #111;
  border-radius: 0.6cqw;
}
.app-netflix .media-art {
  border-radius: 0.4cqw;
}
.app-netflix .card-progress,
.app-netflix .player-progress {
  background: #e50914;
}
.app-prime {
  --tv-bg: #00050d;
}
.app-prime .hero-eyebrow {
  color: #72c9ff;
  letter-spacing: 0;
}
.app-prime .tv-action {
  border-radius: 2cqw;
}
.app-prime .top-navigation {
  gap: 2cqw;
}
.app-prime .app-tabs {
  gap: 0;
}
.app-prime .app-tabs button {
  font-size: 1.3cqw;
}
.app-prime .card-progress,
.app-prime .player-progress {
  background: #00a8e1;
}
.app-plex {
  --tv-bg: #181719;
}
.app-plex .tv-action.primary {
  background: #e4af30;
}
.app-plex .media-shelf h3 > span {
  color: #e4af30;
}
/* YouTube's density, navigation rail and metadata are intentionally distinct. */
.app-youtube {
  --tv-bg: #0f0f0f;
}
.app-youtube .side-navigation {
  width: 7.5cqw;
  background: #0f0f0f;
  border: 0;
}
.app-youtube .side-navigation.nav-expanded {
  width: 24cqw;
}
.app-youtube .side-navigation > .wordmark {
  visibility: hidden;
}
.app-youtube .side-navigation .app-tabs {
  margin-top: 5cqw;
}
.youtube-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 2.5cqw;
  left: 10cqw;
  right: 4cqw;
}
.youtube-heading > span {
  display: flex;
  align-items: center;
  gap: 2cqw;
}
.youtube-filters {
  display: flex;
  gap: 1cqw;
  position: absolute;
  top: 8.2cqw;
  left: 10cqw;
}
.youtube-filters button {
  padding: 0.7cqw 1.3cqw;
  background: #2b2b2b;
  border-radius: 0.65cqw;
  font-size: 1.15cqw;
}
.youtube-filters .active {
  background: #f1f1f1;
  color: #111;
}
.app-youtube .shelves-viewport {
  top: 14.3cqw;
  left: 9cqw;
}
.video-shelves .media-shelf {
  height: 28cqw;
}
.video-shelves .media-card {
  width: 27.4cqw;
  flex-basis: 27.4cqw;
}
.video-shelves .media-title {
  white-space: normal;
  height: 3.6cqw;
  line-height: 1.25;
  margin-top: 1.2cqw;
}
.video-shelves .media-art {
  border-radius: 1cqw;
}
.video-length {
  position: absolute;
  right: 0.6cqw;
  bottom: 0.6cqw;
  padding: 0.2cqw 0.4cqw;
  background: #000d;
  color: #fff;
  font-size: 1cqw;
  border-radius: 0.25cqw;
}
/* Music and Podcasts use editorial square artwork and dedicated Now Playing. */
.app-music,
.app-podcasts {
  --tv-bg: #171316;
}
.app-music .top-navigation,
.app-podcasts .top-navigation {
  background: #191519;
  padding-top: 2cqw;
}
.app-music .top-navigation .wordmark {
  color: #ff546d;
}
.app-podcasts .top-navigation .wordmark {
  color: #c089fa;
}
.audio-library-heading {
  position: absolute;
  left: 4.5cqw;
  top: 8cqw;
  right: 4.5cqw;
  display: flex;
  align-items: baseline;
  gap: 2cqw;
}
.audio-library-heading h2 {
  font-size: 3cqw;
  letter-spacing: -0.1cqw;
}
.audio-library-heading > span {
  font-size: 1.35cqw;
  color: #b8b2b9;
}
.audio-feature {
  position: absolute;
  top: 13cqw;
  left: 4.5cqw;
  right: 4.5cqw;
  height: 13cqw;
  border-radius: 1cqw;
  overflow: hidden;
  background: #432534;
}
.audio-feature > img {
  position: absolute;
  right: 0;
  top: -8cqw;
  width: 48%;
  height: 32cqw;
  object-fit: cover;
  mask-image: linear-gradient(90deg, transparent, #000 30%);
}
.audio-feature > div {
  position: absolute;
  left: 2.5cqw;
  top: 1.5cqw;
  right: 2.5cqw;
}
.audio-feature small {
  font-size: 0.9cqw;
  letter-spacing: 0.14cqw;
  font-weight: 650;
  color: #ffd4de;
}
.audio-feature h3 {
  font-size: 3cqw;
  margin: 0.7cqw 0;
  letter-spacing: -0.08cqw;
}
.audio-feature p {
  font-size: 1.2cqw;
  color: #ead6df;
}
.audio-feature .tv-action {
  position: absolute;
  left: 47cqw;
  top: 3.5cqw;
  margin-top: 0;
  font-size: 1.1cqw;
  padding: 0.65cqw 1.3cqw;
}
.app-podcasts .audio-feature {
  background: #122659;
}
.app-podcasts .audio-feature small {
  color: #abd0ff;
}
.app-music .shelves-viewport,
.app-podcasts .shelves-viewport {
  top: 28.5cqw;
}
.square-shelves .media-shelf {
  height: 28cqw;
}
.square-card {
  width: 16.4cqw;
  flex-basis: 16.4cqw;
}
.square-card .media-art {
  aspect-ratio: 1;
  border-radius: 0.55cqw;
}
.square-card .media-title {
  margin-top: 0.9cqw;
}
.square-card .media-subtitle {
  font-size: 1.15cqw;
}
.app-computers {
  --tv-bg: #252326;
}
.computer-heading {
  position: absolute;
  top: 11cqw;
  left: 5cqw;
  display: flex;
  align-items: center;
  gap: 3cqw;
}
#tv-content .computer-heading > svg {
  width: 10cqw;
  height: 10cqw;
  color: #f1a942;
}
.computer-heading small {
  font-size: 1cqw;
  letter-spacing: 0.15cqw;
  color: #e8b85f;
}
.computer-heading h2 {
  font-size: 3.6cqw;
  letter-spacing: -0.1cqw;
  margin: 0.7cqw 0;
}
.computer-heading p {
  font-size: 1.3cqw;
  color: #b6b3b7;
}
.app-computers .shelves-viewport {
  top: 28cqw;
}
/* Cinematic playback. */
.playback-art {
  transform: scale(1.07) translateX(var(--scene-shift, 0px));
}
.player-chrome {
  position: absolute;
  inset: 0;
  transition: opacity 400ms;
}
.video-player.controls-hidden .player-chrome {
  opacity: 0;
  pointer-events: none;
}
.video-player:hover .player-chrome {
  opacity: 1;
  pointer-events: auto;
}
.player-top {
  position: absolute;
  top: 3cqw;
  left: 4.5cqw;
  right: 4.5cqw;
  display: flex;
  justify-content: space-between;
  font-size: 1.4cqw;
  text-shadow: 0 0.2cqw 1cqw #000;
}
.player-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14cqw 4.5cqw 2.5cqw;
  background: linear-gradient(transparent, #050608e8);
}
.player-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2cqw;
}
.player-title small {
  font-size: 1cqw;
  letter-spacing: 0.18cqw;
  color: #c9cbd5;
}
.player-title h2 {
  font-size: 3cqw;
  font-weight: 600;
  margin: 0.6cqw 0 0;
  letter-spacing: -0.07cqw;
}
.player-track {
  height: 0.38cqw;
  min-height: 1px;
  border-radius: 2cqw;
  background: #fff5;
  overflow: hidden;
}
.player-progress {
  height: 100%;
  width: var(--progress, 0%);
  background: #fff;
  border-radius: inherit;
}
.player-time {
  display: flex;
  justify-content: space-between;
  font-size: 1.15cqw;
  color: #d2d3dc;
  margin: 0.7cqw 0;
  font-variant-numeric: tabular-nums;
}
.transport {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.5cqw;
  margin-top: 0.8cqw;
}
.transport button {
  background: transparent;
  color: #fff;
  width: 3.6cqw;
  height: 3.6cqw;
  display: grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
}
.transport button:hover {
  background: #fff3;
}
#tv-content .transport .transport-play svg {
  width: 3cqw;
  height: 3cqw;
}
.paused-badge {
  display: inline-block;
  font-size: 1.2cqw;
  color: #e4e5ec;
  background: #ffffff20;
  padding: 0.6cqw 1cqw;
  border-radius: 0.6cqw;
}
.audio-ambient {
  filter: blur(4cqw);
  transform: scale(1.25);
  opacity: 0.5;
}
.audio-player-shade {
  position: absolute;
  inset: 0;
  background: #15122070;
}
.now-playing-header {
  position: absolute;
  top: 3.5cqw;
  left: 5cqw;
  right: 5cqw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.now-playing-header > span {
  color: #fff9;
  font-size: 1.4cqw;
}
.now-playing-cover {
  position: absolute;
  left: 7cqw;
  top: 14cqw;
  width: 32cqw;
  height: 32cqw;
  border-radius: 1cqw;
  object-fit: cover;
  box-shadow: 0 2cqw 5cqw #0006;
}
.now-playing-copy {
  position: absolute;
  top: 17cqw;
  left: 48cqw;
  right: 7cqw;
}
.now-playing-copy > small {
  font-size: 0.95cqw;
  letter-spacing: 0.14cqw;
  color: #e0c9d8;
}
.now-playing-copy h2 {
  font-size: 3.8cqw;
  margin: 1cqw 0 0.8cqw;
  letter-spacing: -0.13cqw;
}
.now-playing-copy > p {
  font-size: 1.8cqw;
  color: #cec4d1;
}
.audio-quality {
  margin: 2cqw 0 3cqw;
  color: #c0b6c4;
  font-size: 1cqw;
}
.audio-player .transport {
  margin-top: 2cqw;
  gap: 5cqw;
}
.audio-player .paused-badge {
  position: absolute;
  right: 0;
  bottom: -4cqw;
}
.equalizer {
  position: absolute;
  right: 0;
  bottom: -4cqw;
  height: 2cqw;
  display: flex;
  align-items: center;
  gap: 0.3cqw;
}
.equalizer i {
  height: 70%;
  width: 0.3cqw;
  background: #e9d1e7;
  border-radius: 0.2cqw;
  animation: equalize 0.9s ease-in-out infinite alternate;
}
.equalizer i:nth-child(2n) {
  animation-delay: -0.5s;
  height: 100%;
}
.equalizer i:nth-child(3n) {
  animation-delay: -0.8s;
  height: 40%;
}
@keyframes equalize {
  to {
    transform: scaleY(0.25);
  }
}
/* Title details and search keyboard. */
.detail-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #07090ced, transparent), linear-gradient(0deg, #07090c, transparent);
}
.details-content {
  position: absolute;
  left: 6cqw;
  top: 17cqw;
  width: 50cqw;
}
.details-content > small {
  font-size: 1cqw;
  letter-spacing: 0.17cqw;
  color: #bec7d3;
}
.details-content h2 {
  font-size: 5.8cqw;
  line-height: 1;
  letter-spacing: -0.17cqw;
  margin: 1.5cqw 0;
}
.details-content > p {
  font-size: 1.5cqw;
  line-height: 1.5;
  color: #d6d9e0;
  max-width: 43cqw;
  margin: 2cqw 0;
}
.tv-search {
  background: radial-gradient(ellipse at 70% 0, #32373f, #17181c 70%);
  padding: 3.5cqw 5cqw;
}
.search-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.6cqw;
}
.search-heading h2 {
  font-size: 3cqw;
  font-weight: 600;
  letter-spacing: -0.08cqw;
}
.search-heading > span {
  font-size: 1.3cqw;
  color: #9ca1ac;
}
.tv-text-field {
  font-size: 2.3cqw;
  height: 5.2cqw;
  color: #fff;
  background: #ffffff13;
  border-bottom: 0.2cqw solid #ffffff75;
  padding: 0.9cqw 1.4cqw;
  border-radius: 0.6cqw 0.6cqw 0 0;
  overflow: hidden;
  white-space: nowrap;
}
.tv-text-field.empty {
  color: #b2b5bd;
}
.tv-keyboard {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 0.55cqw 1cqw;
  margin: 2cqw auto;
  max-width: 75cqw;
}
.tv-keyboard button {
  color: #ebedf1;
  border-radius: 0.6cqw;
  font-size: 2cqw;
  height: 3.5cqw;
  background: transparent;
  padding: 0;
}
.tv-keyboard button:nth-last-child(-n + 3) {
  font-size: 1.2cqw;
  background: #fff1;
}
.tv-keyboard button.focused {
  background: #fff;
  color: #15151a;
  box-shadow: 0 0.4cqw 1cqw #0003;
  transform: scale(1.1);
}
.search-results > p {
  font-size: 1.5cqw;
  font-weight: 600;
  margin: 1.7cqw 0 1.3cqw;
}
.search-film-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.4cqw;
}
.film-card {
  background: none;
  padding: 0;
  text-align: left;
  color: #fff;
}
.film-art {
  height: 9cqw;
  border-radius: 0.6cqw;
  background: #25252b;
}
.film-art > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.film-card > span {
  display: block;
  font-size: 1.1cqw;
  margin-top: 0.9cqw;
}
.film-card.focused .film-art {
  box-shadow: 0 0 0 0.25cqw white;
  transform: scale(1.04);
}
.search-empty {
  font-size: 2cqw;
  color: #e2e3e8;
  padding: 2cqw 0;
}
.search-empty small {
  display: block;
  color: #aaaeb7;
  font-size: 1.3cqw;
  margin-top: 0.8cqw;
}
/* Photos, Arcade and Settings. */
.photo-library {
  padding: 3cqw 4.5cqw;
  background: #18191e;
}
.photo-library header {
  display: flex;
  align-items: center;
  gap: 3cqw;
}
.photo-library header h2 {
  font-size: 2.5cqw;
  letter-spacing: -0.1cqw;
}
.photo-library header > span {
  background: #fff;
  color: #19191e;
  padding: 0.65cqw 2cqw;
  border-radius: 2cqw;
  font-size: 1.3cqw;
}
.photo-library header small {
  margin-left: auto;
  font-size: 1.2cqw;
  color: #aaabb1;
}
.photo-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 2.8cqw 0 1.8cqw;
}
.photo-section-heading h3 {
  font-size: 2cqw;
  font-weight: 600;
}
.photo-section-heading p {
  font-size: 1.15cqw;
  color: #a6a7b0;
}
.photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6cqw;
}
.photo-grid button {
  aspect-ratio: 1.7;
  padding: 0;
  border-radius: 0.75cqw;
  overflow: hidden;
  position: relative;
  background: #222;
}
.photo-grid img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.photo-grid button.focused {
  transform: scale(1.035);
  box-shadow:
    0 0 0 0.25cqw #fff,
    0 0.8cqw 2cqw #0006;
  z-index: 1;
}
.photo-grid button > span {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2cqw 1cqw 1cqw;
  background: linear-gradient(transparent, #0008);
  color: #fff;
  text-align: left;
  font-size: 1.1cqw;
}
.photo-vignette {
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 60%, #0008);
}
.photo-caption {
  position: absolute;
  bottom: 4cqw;
  left: 4.5cqw;
}
.photo-caption small {
  font-size: 0.9cqw;
  letter-spacing: 0.15cqw;
}
.photo-caption h2 {
  font-size: 2.8cqw;
  letter-spacing: -0.07cqw;
  margin-top: 0.7cqw;
}
.photo-count {
  position: absolute;
  right: 4.5cqw;
  bottom: 4cqw;
  font-size: 1.3cqw;
}
.photo-toggle {
  position: absolute;
  right: 4cqw;
  top: 3cqw;
  display: grid;
  place-items: center;
  background: #0004;
  color: #fff;
  width: 4cqw;
  height: 4cqw;
  border-radius: 50%;
}
.tv-arcade {
  background: #070b23;
}
.arcade-backdrop {
  opacity: 0.5;
  background-position: center 20%;
}
.arcade-feature {
  position: absolute;
  left: 6cqw;
  top: 14cqw;
  z-index: 2;
}
.arcade-feature small {
  font-size: 1cqw;
  letter-spacing: 0.18cqw;
  color: #a8c9fa;
}
.arcade-feature h2 {
  font-size: 10cqw;
  font-weight: 250;
  letter-spacing: 1.2cqw;
  margin: 1cqw 0 0.4cqw;
}
.arcade-feature p {
  font-size: 1.7cqw;
  color: #c9d9ec;
}
.arcade-feature .tv-action {
  margin: 3cqw 0 1cqw;
}
.arcade-feature > span {
  font-size: 1.05cqw;
  color: #95a9c3;
}
.arcade-orbit {
  position: absolute;
  width: 30cqw;
  height: 30cqw;
  border: 0.08cqw solid #8cc8ff6b;
  border-radius: 50%;
  right: 9cqw;
  top: 12cqw;
  transform: rotate(-25deg);
}
.arcade-orbit:before,
.arcade-orbit:after {
  content: '';
  position: absolute;
  inset: 3cqw -3cqw;
  border: 0.08cqw solid #ffffff30;
  border-radius: 50%;
  transform: rotate(50deg);
}
.arcade-orbit:after {
  transform: rotate(90deg);
}
.arcade-orbit i {
  position: absolute;
  width: 9cqw;
  height: 9cqw;
  top: 9cqw;
  left: 10cqw;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, #f8ebd5, #8babd4 40%, #101c38 75%);
  box-shadow: 0 0 6cqw #9cc9ff45;
}
.arcade-orbit b {
  position: absolute;
  top: 10cqw;
  left: -0.4cqw;
  width: 1.5cqw;
  height: 1.5cqw;
  border-radius: 50%;
  background: #fff2c7;
  box-shadow: 0 0 2cqw #ffde82;
}
.arcade-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.4cqw 6cqw;
  background: #0d142cbf;
  backdrop-filter: blur(15px);
}
.arcade-footer strong {
  display: block;
  font-size: 1.7cqw;
}
.arcade-footer span {
  font-size: 1.1cqw;
  color: #98aaca;
}
.arcade-footer b {
  padding: 0 1cqw;
}
.game-backdrop {
  opacity: 0.35;
}
.game-top {
  position: absolute;
  top: 3cqw;
  left: 4cqw;
  right: 4cqw;
  display: flex;
  justify-content: space-between;
}
.game-top small {
  font-size: 0.85cqw;
  letter-spacing: 0.15cqw;
  color: #a8bddf;
  display: block;
}
.game-top h2 {
  font-size: 3cqw;
  font-weight: 350;
  letter-spacing: 0.7cqw;
  margin-top: 0.5cqw;
}
.game-score {
  text-align: right;
  font-size: 3cqw;
  font-variant-numeric: tabular-nums;
}
.game-score small {
  margin-top: 0.3cqw;
}
.game-orbit-line {
  position: absolute;
  left: 15%;
  right: 15%;
  top: 23%;
  bottom: 20%;
  border: 0.1cqw solid #a4cfff1c;
  border-radius: 50%;
  transform: rotate(-18deg);
}
.game-target {
  position: absolute;
  width: 6cqw;
  height: 6cqw;
  border: 0.17cqw solid #c6e5ff;
  border-radius: 50%;
  box-shadow:
    0 0 2cqw #88baff50,
    inset 0 0 2cqw #88baff20;
  transform: translate(-50%, -50%);
}
.game-target i {
  position: absolute;
  inset: 1.4cqw;
  border: 0.1cqw solid #fff6;
  border-radius: 50%;
}
.game-orb {
  position: absolute;
  width: 3cqw;
  height: 3cqw;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff8e3, #ffd785 55%, #bf925a);
  box-shadow:
    0 0 3cqw #ffc86388,
    0 0 0.5cqw #fff6;
  transform: translate(-50%, -50%);
  transition:
    left 85ms,
    top 85ms;
}
.game-hint {
  position: absolute;
  bottom: 3cqw;
  width: 100%;
  text-align: center;
  font-size: 1.3cqw;
  color: #d3dff0;
}
.game-hint span {
  color: #8598b8;
  margin-left: 1cqw;
}
.tv-settings {
  background: radial-gradient(ellipse at 25% 40%, #41495a, #232735 70%);
}
.settings-identity {
  position: absolute;
  top: 14cqw;
  left: 5cqw;
  width: 37cqw;
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
.settings-identity > .app-mark {
  width: 12cqw;
  height: 9cqw;
  border-radius: 1.6cqw;
  box-shadow: 0 1cqw 4cqw #0003;
}
.settings-identity h2 {
  font-size: 3.5cqw;
  font-weight: 550;
  letter-spacing: -0.1cqw;
  margin: 2.8cqw 0 0.8cqw;
}
.settings-identity p {
  font-size: 1.5cqw;
  color: #b5bccb;
}
.tv-settings-list {
  position: absolute;
  left: 48cqw;
  right: 5cqw;
  top: 7.5cqw;
}
.tv-settings-list button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 5cqw;
  padding: 1.4cqw 1.6cqw;
  border-bottom: 0.08cqw solid #fff1;
  background: transparent;
  border-radius: 0.7cqw;
  color: #f2f3f7;
  font-size: 1.65cqw;
  text-align: left;
}
.tv-settings-list button small {
  display: flex;
  align-items: center;
  gap: 1cqw;
  color: #b0b6c4;
  font-size: 1.3cqw;
}
#tv-content .tv-settings-list button svg {
  width: 1.3cqw;
  height: 1.3cqw;
}
.tv-settings-list button.focused {
  background: #f4f5fa;
  color: #252632;
  box-shadow: 0 0.6cqw 2cqw #0003;
  transform: scale(1.025);
}
.tv-settings-list button.focused small {
  color: #646979;
}
.tv-settings-footnote {
  position: absolute;
  left: 50cqw;
  right: 5cqw;
  top: 45cqw;
  font-size: 1.15cqw;
  color: #a4aec2;
}
.appearance-light .home-dock-glass {
  background: linear-gradient(180deg, #e8edf21a, #dfe5ee66);
  border-color: #ffffff42;
}
.appearance-light .tv-settings {
  background: radial-gradient(ellipse at 25% 40%, #f0f2f6, #c3c9d5);
  color: #22252e;
}
.appearance-light .tv-settings-list button {
  color: #22252e;
  border-color: #0001;
}
.appearance-light .settings-identity p,
.appearance-light .tv-settings-list button small {
  color: #626b7c;
}
.tv-screensaver .scene-art {
  animation: aerial-drift 35s ease-in-out infinite alternate;
}
.tv-screensaver > span {
  position: absolute;
  right: 5cqw;
  bottom: 5cqw;
  font-size: 5cqw;
  font-weight: 300;
  text-shadow: 0 0.2cqw 1cqw #0006;
}
.tv-screensaver small {
  display: block;
  font-size: 1.2cqw;
  text-align: right;
}
@keyframes aerial-drift {
  to {
    transform: scale(1.1) translateX(-1%);
  }
}
/* System overlays sit above any service. */
.tv-menu-backdrop {
  position: absolute;
  inset: 0;
  z-index: 20;
  background: #04061080;
  display: grid;
  place-items: center;
  backdrop-filter: blur(1.2cqw);
}
.tv-menu {
  width: 34cqw;
  background: #343640dc;
  color: #fff;
  padding: 2.3cqw;
  border-radius: 2cqw;
  box-shadow: 0 2cqw 8cqw #0007;
  border: 0.1cqw solid #ffffff28;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.tv-menu > .app-mark {
  width: 8cqw;
  height: 5cqw;
  border-radius: 0.7cqw;
}
.tv-menu h3 {
  font-size: 2cqw;
  font-weight: 600;
  margin: 1.6cqw 0;
}
.tv-menu button {
  width: 100%;
  padding: 1.4cqw 1.5cqw;
  border-radius: 0.8cqw;
  background: none;
  color: #fff;
  font-size: 1.7cqw;
  text-align: center;
}
.tv-menu button.focused {
  background: #f5f5f8;
  color: #24262d;
  box-shadow: 0 0.5cqw 1.5cqw #0002;
}
.control-backdrop {
  background: #04061040;
  backdrop-filter: blur(0.35cqw);
}
.tv-control {
  position: absolute;
  right: 2.5cqw;
  top: 2.5cqw;
  bottom: 2.5cqw;
  width: 33cqw;
  border-radius: 2cqw;
  padding: 2.5cqw;
  background: #303440df;
  backdrop-filter: blur(3cqw);
  border: 0.1cqw solid #ffffff30;
  box-shadow: 0 2cqw 7cqw #0005;
}
.tv-control header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 2.5cqw;
  margin-bottom: 1.7cqw;
}
.tv-control h2 {
  font-size: 1.6cqw;
  font-weight: 600;
}
.tv-control > p {
  color: #a9b0c0;
  font-size: 1.2cqw;
  margin-top: 0.5cqw;
}
.control-user {
  display: flex;
  align-items: center;
  gap: 1.4cqw;
  padding: 2cqw 0;
  margin: 1cqw 0;
  font-size: 1.6cqw;
}
.control-user .app-avatar {
  height: 4cqw;
  width: 4cqw;
  font-size: 2cqw;
}
.control-user small {
  display: block;
  font-size: 1.1cqw;
  color: #a9b0c0;
  margin-top: 0.3cqw;
}
.tv-control button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1.5cqw;
  padding: 1.8cqw;
  border-radius: 1cqw;
  background: #ffffff13;
  color: #f2f3f9;
  margin-top: 1cqw;
  font-size: 1.6cqw;
}
.tv-control button.focused {
  background: #f8f8fa;
  color: #282d36;
}
.switcher-backdrop {
  overflow: hidden;
}
.switcher-cards {
  position: absolute;
  left: 7cqw;
  top: 16cqw;
  width: 190cqw;
  height: 24cqw;
  transform: translateX(calc(-1 * var(--switcher-offset)));
  transition: transform 180ms;
}
.switcher-card {
  position: absolute;
  left: 0;
  top: 0;
  width: 28cqw;
  transform: translateX(calc(var(--switcher-index) * 31cqw));
  transition: transform 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
  padding: 0;
  background: none;
  color: #fff;
}
.switcher-preview {
  position: relative;
  height: 18cqw;
  border-radius: 1cqw;
  overflow: hidden;
  box-shadow: 0 1cqw 4cqw #0005;
}
.switcher-preview > div:last-child {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, #0009, transparent);
  display: flex;
  align-items: flex-end;
  padding: 2cqw;
}
.switcher-card.focused .switcher-preview {
  box-shadow:
    0 0 0 0.25cqw white,
    0 2cqw 4cqw #0006;
  transform: scale(1.055);
}
.switcher-card > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1cqw;
  margin-top: 2cqw;
  font-size: 1.6cqw;
}
.switcher-card > span .app-mark {
  width: 3.8cqw;
  height: 2.6cqw;
  border-radius: 0.4cqw;
}
.switcher-card .prime-mark {
  font-size: 0.7cqw;
}
.switcher-card .arcade-mark small {
  font-size: 0.4cqw;
}
.switcher-hint {
  position: absolute;
  bottom: 8cqw;
  font-size: 1.3cqw;
  color: #ffffff95;
}
.volume-hud {
  position: absolute;
  right: 2.5cqw;
  top: 32%;
  z-index: 30;
  width: 4.8cqw;
  border-radius: 2.3cqw;
  background: #d7dce3d9;
  backdrop-filter: blur(1cqw);
  padding: 1.2cqw;
  color: #2b3342;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1cqw;
  box-shadow: 0 0.6cqw 3cqw #0003;
}
.volume-hud svg {
  width: 2.2cqw;
  height: 2.2cqw;
}
.volume-track {
  position: relative;
  height: 12cqw;
  width: 0.6cqw;
  border-radius: 1cqw;
  background: #36415433;
  overflow: hidden;
}
.volume-track i {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: var(--volume);
  background: #303e50;
}
.volume-hud small {
  font-size: 1.1cqw;
}
.sleep-screen,
.pairing-screen {
  position: absolute;
  inset: 0;
  background: #050609;
  color: #8e949e;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1.5cqw;
  font-size: 2cqw;
}
#tv-content .sleep-screen svg,
#tv-content .pairing-screen svg {
  width: 4cqw;
  height: 4cqw;
}
.sleep-screen p {
  font-size: 1.2cqw;
  color: #656a74;
}
.pairing-screen {
  background: radial-gradient(ellipse at top, #323c50, #111722);
  color: #fff;
}
.pairing-screen h2 {
  font-size: 2.8cqw;
  font-weight: 500;
  margin-top: 1cqw;
}
.pairing-screen strong {
  font-size: 10cqw;
  font-weight: 300;
  letter-spacing: 2cqw;
  margin-left: 2cqw;
}
.pairing-screen p {
  font-size: 1.5cqw;
  color: #bac7dc;
}
.reduce-motion *,
.reduce-motion *:before,
.reduce-motion *:after {
  animation: none !important;
  transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .tv-os *,
  .tv-os *:before,
  .tv-os *:after {
    animation: none !important;
    transition: none !important;
  }
}

.arcade-mark {
  width: 65%;
}

.youtube-filters button {
  color: #eee;
}
.youtube-filters button.focused {
  color: #111;
  background: #fff;
  box-shadow:
    0 0 0 0.2cqw #fff,
    0 0 0 0.4cqw #222;
}
#tv-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.tv-enter {
  animation: tv-launch 180ms ease-out;
}
@keyframes tv-launch {
  from {
    opacity: 0.2;
    transform: scale(1.015);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.switcher-card.closing {
  pointer-events: none;
  animation: dismiss-app 320ms cubic-bezier(0.3, 0.05, 0.55, 1) forwards;
}
@keyframes dismiss-app {
  to {
    transform: translate(calc(var(--switcher-index) * 31cqw), -48cqw) scale(0.92);
    opacity: 0;
  }
}
