:root {
	--dpp-primary: var(--theme-primary);
	--dpp-primary-light: var(--theme-primary-soft);
	--dpp-bg: var(--theme-card);
	--dpp-row-bg: var(--theme-card-2);
	--dpp-text: var(--theme-text);
	--dpp-muted: var(--theme-muted);
	--dpp-border: var(--theme-border);
	--dpp-player-bg: var(--theme-player-bg);
	--dpp-player-text: var(--theme-player-text);
}

.dpp-playlist-container {
	background: var(--dpp-bg) !important;
	border: 1px solid var(--dpp-border) !important;
	border-radius: 8px !important;
	box-shadow: var(--theme-shadow);
	padding: 14px !important;
	color: var(--dpp-text);
}

.dpp-playlist-stats {
	background: var(--dpp-primary-light) !important;
	color: var(--dpp-primary) !important;
	border: 1px solid var(--dpp-border);
}

.dpp-playlist-play-btn {
	background: var(--dpp-row-bg) !important;
	border: 1px solid var(--dpp-border) !important;
	border-radius: 8px !important;
	color: var(--dpp-text) !important;
}

.dpp-playlist-play-btn:hover {
	background: var(--dpp-primary-light) !important;
	border-color: var(--dpp-primary) !important;
}

.dpp-playlist-play-icon svg,
.dpp-track-actions button svg {
	fill: currentColor !important;
	stroke: currentColor;
}

.dpp-playlist-play-icon,
.dpp-playlist-play-text {
	color: var(--dpp-primary) !important;
}

.dpp-playlist-tracks {
	gap: 7px !important;
}

.dpp-track-row {
	background: var(--dpp-row-bg) !important;
	border: 1px solid var(--dpp-border) !important;
	border-radius: 8px !important;
	color: var(--dpp-text) !important;
}

.dpp-track-row:hover {
	background: var(--dpp-primary-light) !important;
	box-shadow: none !important;
	transform: translateY(-1px) !important;
}

.dpp-track-row.playing {
	background: var(--dpp-primary-light) !important;
	border-right: 4px solid var(--dpp-primary) !important;
}

.dpp-track-number,
.dpp-track-title {
	color: var(--dpp-text) !important;
}

.dpp-track-number {
	color: var(--dpp-primary) !important;
}

[data-theme="dark"] .dpp-track-number,
.theme-dark .dpp-track-number {
	background: rgba(196, 181, 253, 0.14) !important;
	border: 1px solid rgba(196, 181, 253, 0.28) !important;
	border-radius: 999px !important;
	color: #ddd6fe !important;
	min-width: 30px;
	height: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

[data-theme="dark"] .dpp-track-row.playing .dpp-track-number,
.theme-dark .dpp-track-row.playing .dpp-track-number {
	background: #8b5cf6 !important;
	border-color: #a78bfa !important;
	color: #ffffff !important;
}

.dpp-track-actions button,
.dpp-download-btn,
.dpp-play-btn {
	background: var(--theme-card) !important;
	border: 1px solid var(--dpp-border) !important;
	color: var(--dpp-text) !important;
	border-radius: 999px !important;
}

.dpp-track-actions button:hover,
.dpp-download-btn:hover,
.dpp-play-btn:hover {
	background: var(--dpp-primary) !important;
	border-color: var(--dpp-primary) !important;
	color: var(--theme-button-text) !important;
}

.dpp-floating-player,
body.dpp-light-player .dpp-floating-player {
	background: var(--dpp-player-bg) !important;
	background-image: none !important;
	color: var(--dpp-player-text) !important;
	border-top: 1px solid var(--dpp-border);
	box-shadow: 0 -10px 30px rgba(32, 33, 38, 0.12) !important;
}

.dpp-player-title,
body.dpp-light-player .dpp-player-title,
.dpp-player-controls button,
body.dpp-light-player .dpp-player-controls button,
.dpp-player-close,
body.dpp-light-player .dpp-player-close {
	color: var(--dpp-player-text) !important;
	fill: var(--dpp-player-text) !important;
}

.dpp-player-controls button,
body.dpp-light-player .dpp-player-controls button,
.dpp-player-close,
body.dpp-light-player .dpp-player-close {
	background: var(--theme-card-2) !important;
	border: 1px solid var(--dpp-border) !important;
}

.dpp-player-controls button:hover,
.dpp-theme-toggle:hover,
body.dpp-light-player .dpp-player-controls button:hover,
body.dpp-light-player .dpp-theme-toggle:hover {
	background: var(--dpp-primary-light) !important;
	color: var(--dpp-primary) !important;
	fill: var(--dpp-primary) !important;
}

.dpp-music-icon,
body.dpp-light-player .dpp-music-icon {
	fill: var(--dpp-primary) !important;
}

.dpp-progress-bar,
body.dpp-light-player .dpp-progress-bar {
	background: var(--theme-player-progress-bg) !important;
}

.dpp-progress-filled,
body.dpp-light-player .dpp-progress-filled {
	background: var(--theme-player-progress) !important;
}

.dpp-theme-toggle {
	display: inline-flex !important;
}

.dpp-notification {
	background: var(--theme-primary) !important;
	color: var(--theme-button-text) !important;
	border-radius: 8px !important;
	box-shadow: var(--theme-shadow) !important;
}

@media (max-width: 768px) {
	.dpp-playlist-container {
		padding: 10px !important;
	}
	.dpp-track-row {
		align-items: center !important;
	}
	.dpp-track-actions button {
		min-width: 82px;
		justify-content: center;
	}
	.dpp-floating-player {
		padding: 10px 12px !important;
	}
}

/* Dark mode readability fixes for playlist summary and main play button */
[data-theme="dark"],
.theme-dark {
	--dpp-primary: #a78bfa;
	--dpp-primary-light: rgba(124, 58, 237, 0.26);
	--dpp-bg: #1e222b;
	--dpp-row-bg: #242936;
	--dpp-text: #f6f2ff;
	--dpp-muted: #c8c2d8;
	--dpp-border: rgba(196, 181, 253, 0.22);
}

[data-theme="dark"] .dpp-playlist-stats,
.theme-dark .dpp-playlist-stats {
	background: rgba(124, 58, 237, 0.34) !important;
	border: 1px solid rgba(196, 181, 253, 0.28) !important;
	color: #f1eaff !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.035) !important;
}

[data-theme="dark"] .dpp-playlist-play-btn,
.theme-dark .dpp-playlist-play-btn {
	background: #242936 !important;
	border-color: rgba(196, 181, 253, 0.20) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025) !important;
}

[data-theme="dark"] .dpp-playlist-play-btn:hover,
.theme-dark .dpp-playlist-play-btn:hover {
	background: rgba(124, 58, 237, 0.28) !important;
	border-color: rgba(196, 181, 253, 0.52) !important;
}

[data-theme="dark"] .dpp-playlist-play-icon,
[data-theme="dark"] .dpp-playlist-play-text,
.theme-dark .dpp-playlist-play-icon,
.theme-dark .dpp-playlist-play-text {
	color: #c4b5fd !important;
}

[data-theme="dark"] .dpp-playlist-play-text,
.theme-dark .dpp-playlist-play-text {
	font-weight: 800 !important;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25) !important;
}

[data-theme="dark"] .dpp-playlist-play-icon svg,
[data-theme="dark"] .dpp-playlist-play-icon svg *,
.theme-dark .dpp-playlist-play-icon svg,
.theme-dark .dpp-playlist-play-icon svg * {
	fill: #8b5cf6 !important;
	stroke: #8b5cf6 !important;
	filter: drop-shadow(0 0 8px rgba(139, 92, 246, 0.20));
}

[data-theme="dark"] .dpp-playlist-play-btn:hover .dpp-playlist-play-icon,
[data-theme="dark"] .dpp-playlist-play-btn:hover .dpp-playlist-play-text,
.theme-dark .dpp-playlist-play-btn:hover .dpp-playlist-play-icon,
.theme-dark .dpp-playlist-play-btn:hover .dpp-playlist-play-text {
	color: #ffffff !important;
}

[data-theme="dark"] .dpp-playlist-play-btn:hover .dpp-playlist-play-icon svg,
[data-theme="dark"] .dpp-playlist-play-btn:hover .dpp-playlist-play-icon svg *,
.theme-dark .dpp-playlist-play-btn:hover .dpp-playlist-play-icon svg,
.theme-dark .dpp-playlist-play-btn:hover .dpp-playlist-play-icon svg * {
	fill: #ffffff !important;
	stroke: #ffffff !important;
}
