.music-chart {
  & .item {
    justify-content: space-between;

    &:not(:last-of-type) {
      margin-bottom: var(--sizing-md);
    }

    & .progress-bar__wrapper {
      max-width: 40%;
      margin-left: var(--sizing-lg);
    }

    & img {
      border: 1px solid var(--accent-color);
      border-radius: var(--rounded);
    }

    & img,
    & picture {
      width: calc(var(--sizing-3xl) * 1.5);
      height: calc(var(--sizing-3xl) * 1.5);
    }

    & .meta {
      justify-content: start;
      gap: var(--sizing-md);
      max-width: calc(70% - var(--sizing-lg));
    }

    & .meta-text {
      display: flex;
      flex-direction: column;
      justify-content: start;
      max-width: 80%;
    }

    & .title {
      font-weight: var(--font-weight-bold);
    }

    & .title,
    & .subtext,
    & .subtext p {
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
    }

    & .subtext,
    & .timestamp {
      font-size: var(--font-size-xs);
      line-height: var(--line-height-xs);
    }

    & .timestamp {
      margin-left: var(--sizing-lg);
      text-align: right;
      white-space: nowrap;
    }

    & .presentation {
      display: flex;
      flex-direction: row;
      max-width: calc(60% - var(--sizing-lg));
    }

    & .count {
      margin-right: var(--sizing-sm);
    }

    & .info {
      max-width: calc(100% - var(--sizing-lg));
    }
  }

  & .item,
  & .meta {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  &.grid {
    display: grid;
    gap: var(--sizing-sm);
    grid-template-columns: repeat(2,minmax(0,1fr));
    margin-bottom: var(--sizing-base);

    & .item {
      & .meta {
        max-width: 80%;

        & .title {
          line-height: var(--line-height-sm);
        }

        & .subtext p {
          margin: 0;
          line-height: var(--line-height-sm);
        }
      }
    }
  }
}

@media screen and (min-width: 768px) {
  .music-chart {
    & .item .meta-text {
      max-width: 85%;
    }

    &.grid {
      grid-template-columns: repeat(3,minmax(0,1fr));

      & .item {
        & img,
        & picture {
          width: calc(var(--sizing-3xl) * 2);
          height: calc(var(--sizing-3xl) * 2);
        }
      }
    }
  }
}