/* SPDX-License-Identifier: AGPL-3.0-or-later */ :host { display: block; font-family: var(--font-family-base); } :host(:not([has-media])) { display: none; } .panel { padding: var(--spacing-2xl); } /* Mobile notification sheet: hide when no media */ :host(.inline:not([has-media])) { display: none; } .media-device { font-size: var(--font-size-sm); color: var(--color-text-tertiary); margin-bottom: var(--spacing-xs); } .media-info { margin-bottom: var(--spacing-xs); overflow: hidden; } .media-title { font-size: var(--font-size-md); font-weight: var(--font-weight-bold); color: var(--color-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .media-artist { font-size: var(--font-size-base); color: var(--color-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .media-buttons { display: flex; align-items: center; justify-content: center; gap: var(--spacing-md); } .media-btn { background: none; border: none; color: var(--color-text); cursor: pointer; padding: var(--spacing-xs); border-radius: var(--radius-sm); display: flex; align-items: center; justify-content: center; } .media-btn:hover { background: var(--bg-hover); } .play-btn lucide-icon { font-size: larger; } .media-progress { display: flex; align-items: center; gap: var(--spacing-xs); margin-top: var(--spacing-xs); } .media-time { font-size: var(--font-size-sm); color: var(--color-text-tertiary); min-width: 3em; text-align: center; } .media-progress-bar { flex: 1; height: 4px; background: var(--color-border); border-radius: 2px; overflow: hidden; } .media-progress-fill { height: 100%; background: var(--color-primary); border-radius: 2px; }