.music-chart { margin-bottom: var(--sizing-base); & .item { display: flex; flex-direction: row; align-items: center; 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); width: calc(var(--sizing-3xl) * 1.5); height: calc(var(--sizing-3xl) * 1.5); } & .meta, & .presentation { justify-content: start; gap: var(--sizing-md); width: calc(55% - var(--sizing-lg)); } & .meta { display: flex; flex-direction: row; align-items: center; } & .meta-text { display: flex; flex-direction: column; justify-content: start; max-width: 75%; } & .title { font-weight: var(--font-weight-bold); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; line-height: 1.5; } & .title, & .subtext, & .subtext p, & .timestamp { line-height: 1.5; } & .subtext, & .timestamp { font-size: var(--font-size-sm); white-space: nowrap; } & .timestamp { margin-left: var(--sizing-lg); text-align: right; } & .count { margin-right: var(--sizing-sm); } & .info { max-width: calc(95% - var(--sizing-lg)); } } &.grid { display: grid; gap: var(--sizing-sm); grid-template-columns: repeat(2, 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 { & .meta, & .presentation { width: calc(80% - var(--sizing-lg)); } & .item { & .meta { width: calc(75% - var(--sizing-lg)); } & .meta-text { max-width: 85%; } } &.grid { grid-template-columns: repeat(3, 1fr); & .item img { width: calc(var(--sizing-3xl) * 2); height: calc(var(--sizing-3xl) * 2); } } } }