.player { position: sticky; bottom: var(--spacing-4); z-index: 30; width: min(1180px, calc(100% - 2rem)); margin: var(--spacing-6) auto 0; display: grid; grid-template-columns: minmax(240px, 1fr) minmax(320px, 1.25fr) minmax(240px, 1fr); align-items: center; gap: var(--spacing-4); padding: var(--spacing-3) var(--spacing-4); background: #14171d; border: 1px solid #2f3540; border-radius: 4px; box-shadow: 0 4px 12px rgba(0,0,0,.3); backdrop-filter: blur(22px); } .nowPlaying, .transport, .controls, .playerMeta, .timeline { display: flex; align-items: center; } .nowPlaying { gap: var(--spacing-3); min-width: 0; } .cover { width: 44px; height: 44px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 3px; background: #1e222a; color: var(--primary); border: 1px solid var(--border); overflow: hidden; } .cover img { width: 100%; height: 100%; display: block; object-fit: contain; background: #191414; } .trackText { min-width: 0; } .trackText strong, .trackText span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .trackText strong { font-size: .88rem; } .trackText span, .albumText { margin-top: 2px; color: var(--muted-foreground); font-size: .72rem; } .spotifyLink { display: inline-flex; align-items: center; gap: 4px; color: #9aa4af; text-decoration: none; font-size: .65rem; } .spotifyLink:hover { color: #fff; } .transport { flex-direction: column; gap: var(--spacing-2); } .controls { gap: var(--spacing-1); } .timeline { width: 100%; gap: var(--spacing-2); color: var(--muted-foreground); font: .66rem/1 var(--font-family-monospace); } .timelineSlider { flex: 1; } .playerMeta { justify-content: flex-end; gap: var(--spacing-2); } .albumText { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .volumeSlider { width: 78px; } @media (max-width: 860px) { .player { grid-template-columns: 1fr auto; } .transport { order: 3; grid-column: 1 / -1; } .albumText, .playerMeta > svg, .volumeSlider { display: none; } } @media (max-width: 900px) { .player { bottom: 0; width: 100%; margin: 0; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px; padding: 6px 7px; border-radius: 3px; box-shadow: none; backdrop-filter: none; } .cover { width: 38px; height: 38px; } .nowPlaying { gap: 8px; } .trackText strong { font-size: .74rem; } .trackText span { max-width: 150px; font-size: .62rem; } .transport { order: initial; grid-column: auto; flex-direction: row; gap: 0; } .timeline { display: none; } .controls { gap: 0; } .playerMeta { display: flex; gap: 0; } .playerMeta > a, .playerMeta > svg, .albumText, .volumeSlider { display: none; } .playerMeta button { font-size: 0; padding-inline: var(--spacing-3); } .playerMeta button svg { margin: 0; } }