.tv-loading-screen {
  min-height: 100dvh;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 32px;
  background: #fffaf5;
  color: #42505f;
  font: 400 13px/1.5 Inter, system-ui, sans-serif;
}
.tv-loading-screen .tv-loading-screen__mark {
  display: block;
  width: 220px;
  max-width: 65vw;
  height: auto;
}
.tv-loading-screen p {
  margin: 0;
  font: inherit;
  color: inherit;
}
.tv-loading-screen__track {
  width: 160px;
  height: 2px;
  background: #e7e1d9;
  overflow: hidden;
}
.tv-loading-screen__track span {
  display: block;
  width: 40%;
  height: 100%;
  background: #486b62;
  animation: tv-loading-progress 1.4s ease-in-out infinite alternate;
}
.tv-loading-screen--inline {
  min-height: 240px;
  background: transparent;
  color: inherit;
}
@keyframes tv-loading-progress {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(250%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .tv-loading-screen__track span {
    animation: none;
    width: 100%;
  }
}
