/* 
	=============================================
	全局播放器公共样式
	- 固定底部，深色主题
	- 兼容安全区（刘海屏）
	=============================================
*/
.compact-player,
.detail-player {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: #121212;
	color: #fff;
	border-top: 1px solid rgba(255,255,255,0.1);
	padding: 8px 12px;
	display: flex;
	align-items: center;
	box-shadow: 0 -4px 12px rgba(0,0,0,0.2);
}
.compact-player.hidden,
.detail-player.hidden {
	display: none;
}

/* 主体结构：封面 + 信息 + 控件 */
.compact-player-main,
.detail-player-main {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1;
	user-select: none;
	-webkit-user-select: none;
	touch-action: pan-x;
}
.global-player-poster {
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 6px;
}
.compact-player-info,
.detail-player-info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
	min-width: 0;
}
.global-player-detail-top {
	display: none;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	color: rgba(255,255,255,0.85);
}
.detail-player.detail-theme .global-player-detail-top {
	display: flex;
}
.detail-stat i { margin-right: 6px;}
.global-player-title {
	font-size: 14px;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
	animation: none;
}
.global-player-title.marquee {
	white-space: nowrap;
	animation: marquee 8s linear infinite;
}
@keyframes marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
.global-player-timeline {
	display: flex;
	align-items: center;
	gap: 8px;
}
.compact-player-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: rgba(255,255,255,0.85);
}
.global-player-progress {
	flex: 1;
	accent-color: #00d1b2;
}
.global-player-time {
	font-size: 12px;
	color: rgba(255,255,255,0.75);
	display: flex;
	align-items: center;
	gap: 4px;
}
.compact-player-controls,
.detail-player-controls {
	display: flex;
	align-items: center;
	gap: 8px;
}
.global-player-btn {
	background: #1f1f1f;
	color: #fff;
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 6px;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.global-player-btn:hover { background: #2a2a2a; }
.global-player-btn i { font-size: 14px; }

/* 播放列表面板（自下而上滑出） */
.global-player-queue {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	background: #1a1a1a;
	color: #fff;
	max-height: 50vh;
	overflow-y: auto;
	box-shadow: 0 -8px 24px rgba(0,0,0,0.35);
	transform: translateY(100%);
	transition: transform 0.25s ease;
	z-index: 10000;
}
.global-player-queue.open {
	transform: translateY(0%);
}
.global-player-queue-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	cursor: pointer;
}
.global-player-queue-item.active {
	background: rgba(255,255,255,0.06);
}
.global-player-queue-item-poster {
	width: 32px;
	height: 32px;
	border-radius: 4px;
	object-fit: cover;
}
.global-player-queue-item-title {
	font-size: 13px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* 安全区适配：在 iOS 刘海屏底部预留 */
@supports(padding: max(0px)) {
	.compact-player,
	.detail-player {
		padding-bottom: max(8px, env(safe-area-inset-bottom));
	}
}
