:host {
  contain: layout;
  content-visibility: auto;
  contain-intrinsic-size: 0 75.88px;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  display: block;
  font-size: 0.9rem;
}

.played {
  opacity: 0.7;
  cursor: cell;
}

::slotted(img) {
  display: block;
  width: 48px;
  height: 48px;
  margin-right: calc(1.61803398875rem / 2);
  border-radius: calc(1.61803398875rem / 4);
  overflow: hidden;
  contain: strict;
}

li {
  display: flex;
  flex-direction: row;
  background-color: var(--bg-color);
  transition: background-color 250ms ease;
  padding: calc(1.61803398875rem / 2) 0;
  align-items: center;
}

li:hover {
  background-color: var(--hover-bg);
}

.left {
  flex: 1;
  overflow: hidden;
}

.right {
  margin-left: 1rem;
  display: flex;
  align-items: center;
}

.right episode-progress-indicator {
  margin-right: 0.5em;
  transform: translateY(-1px);
}

play-button {
  all: unset;
  display: contents;
}

li h4 {
  font-weight: 500;
  margin: 0;
  margin-bottom: calc(1.61803398875rem / 6);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.bottom {
  font-size: calc(1.61803398875rem / 2);
  color: var(--sub-title-colour);
}

slot[name="audio"] {
  display: none;
}

:host(.show-player) slot[name="audio"] {
  display: block;
  position: fixed;
  bottom: 50px;
  width: 100%;
  left: 0;
  right: 0;
}