/* Album actions live with the album view so they never depend on Commerce's layout. */
.music-album-purchase {
    display: inline-block;
    margin: 0 .5rem .75rem 0;
}

.music-track-terminal {
    margin-top: 2rem;
    overflow: hidden;
    border: 1px solid rgba(0, 255, 204, .4);
    border-radius: .65rem;
    background: rgba(6, 8, 19, .95);
}

.music-track-terminal > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.35rem 1.5rem;
    border-bottom: 1px solid rgba(0, 255, 204, .22);
    background: linear-gradient(110deg, rgba(0, 255, 204, .06), transparent 65%);
}

.music-track-terminal h2 {
    margin: .25rem 0 .5rem;
    color: var(--drakima-text);
    font: 600 1.5rem/1.3 "Orbitron", sans-serif;
}

.music-track-help {
    margin: 0;
    color: var(--drakima-muted);
    font-size: .85rem;
    line-height: 1.6;
}

.music-track-count {
    flex-shrink: 0;
    padding: .45rem .7rem;
    border: 1px solid rgba(0, 255, 204, .2);
    border-radius: 2rem;
    color: var(--drakima-cyan-soft);
    font: .85rem/1.2 var(--drakima-mono-font);
}

.music-track-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.music-track-commerce-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: .5rem 1.25rem .5rem .5rem;
    border-bottom: 1px solid rgba(154, 143, 202, .16);
}

.music-track-commerce-row:last-child { border-bottom: 0; }
.music-track-commerce-row:has(.is-selected) { background: rgba(0, 255, 204, .055); }
.music-track-commerce-row:has(.is-playing) { box-shadow: inset 3px 0 var(--drakima-cyan); }

.music-track-row {
    display: grid;
    grid-template-columns: 1.8rem 2.5rem minmax(0, 1fr) 3.5rem;
    align-items: center;
    gap: .85rem;
    width: 100%;
    min-width: 0;
    min-height: 4rem;
    padding: .5rem .65rem;
    border: 0;
    border-radius: .35rem;
    color: var(--drakima-text);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.music-track-row:hover { background: rgba(0, 255, 204, .065); }
.music-track-row.is-selected { color: var(--drakima-cyan-soft); }
.music-track-number,
.music-track-duration { color: var(--drakima-muted); font: .85rem/1.4 var(--drakima-mono-font); }
.music-track-number { text-align: center; }
.music-track-duration { text-align: right; white-space: nowrap; }

.music-track-play {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid rgba(0, 255, 204, .45);
    border-radius: 50%;
    color: var(--drakima-cyan);
    background: rgba(0, 255, 204, .045);
    font-size: .85rem;
}

.music-track-row:hover .music-track-play,
.music-track-row.is-playing .music-track-play { color: #041018; background: var(--drakima-cyan); }
.music-track-info { display: grid; gap: .2rem; min-width: 0; }
.music-track-title { font-size: .95rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.music-track-playing { display: none; color: var(--drakima-cyan); font: .75rem/1.3 var(--drakima-mono-font); }
.music-track-row.is-playing .music-track-playing { display: block; }

.music-track-actions {
    display: grid;
    grid-template-columns: 4.75rem 12rem;
    align-items: center;
    gap: .6rem;
}

.music-track-purchase { display: grid; gap: .3rem; margin: 0; min-width: 0; }
.music-track-purchase,
.music-track-buy.is-owned,
.music-track-stream-only { grid-column: 2; grid-row: 1; }
.music-track-lyrics-link { grid-column: 1; grid-row: 1; justify-content: center; }

.music-track-lyrics-link,
.music-track-buy {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-height: 44px;
    padding: .6rem .75rem;
    border: 1px solid rgba(0, 255, 204, .35);
    border-radius: .35rem;
    color: var(--drakima-cyan-soft);
    background: transparent;
    font: .8rem/1.4 "Orbitron", sans-serif;
    text-decoration: none;
    cursor: pointer;
}

.music-track-buy { width: 100%; justify-content: space-between; background: rgba(0, 255, 204, .09); }
.music-track-buy:hover,
.music-track-lyrics-link:hover { border-color: var(--drakima-cyan); color: #fff; background: rgba(0, 255, 204, .17); }
.music-track-row:focus-visible,
.music-track-lyrics-link:focus-visible,
.music-track-buy:focus-visible { outline: 2px solid var(--drakima-cyan); outline-offset: 3px; }
.music-track-price { color: var(--drakima-cyan); font: .85rem/1.3 var(--drakima-mono-font); white-space: nowrap; }
.music-track-credit-price { color: var(--drakima-muted); font: .75rem/1.3 var(--drakima-mono-font); text-align: right; }
.music-track-owned { color: var(--drakima-cyan); font: .75rem/1.3 var(--drakima-mono-font); }
.music-track-stream-only { color: var(--drakima-muted); font-size: .8rem; text-align: center; }
.music-track-empty { margin: 0; padding: 1.5rem; color: var(--drakima-muted); }

@media (max-width: 991.98px) {
    .music-track-commerce-row { grid-template-columns: minmax(0, 1fr); gap: .2rem; padding: .65rem; }
    .music-track-actions { grid-template-columns: 4.75rem minmax(0, 12rem); justify-content: end; padding: 0 .65rem .35rem; }
}

@media (max-width: 479.98px) {
    .music-track-terminal > header { flex-wrap: wrap; padding: 1rem; }
    .music-track-row { grid-template-columns: 1.25rem 2.5rem minmax(0, 1fr) 2.75rem; gap: .45rem; padding-inline: .25rem; }
    .music-track-title { font-size: .85rem; }
    .music-track-actions { grid-template-columns: 4.75rem minmax(0, 1fr); padding-inline: .25rem; }
}
