﻿/* 全局盒模型统一 */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	background: linear-gradient(90deg, #6d57cd, #aa4cbe);
	color: #ffffff;
	font-family: system-ui, -apple-system, sans-serif;
	transition: all 0.1s ease;
}

/* 全局圆角变量 三级固定 */
:root {
	--radius-sm: 0px;
	--radius-md: 0px;
	--radius-lg: 0px;
	--transition-all: all 0.1s ease;
}

/* ========== PC端独立尺寸变量 (≥768px) ========== */
@media screen and (min-width: 768px) {
	:root {
		--pc-base-font: 16px;
		--pc-logo-font: 32px;
		--pc-nav-font: 16px;
		--pc-container-title: 22px;
		--pc-card-title: 17px;
		--pc-tag-font: 13px;
		--pc-date-font: 13px;
		--pc-search-text: 15px;
		--pc-card-padding: 14px;
		--pc-title-meta-gap: 10px;
		--pc-header-py: 18px;
		--pc-header-px: 30px;
		--pc-search-w: 320px;
		--pc-btn-font: 15px;
		--pc-search-py: 10px;
		--pc-bread-top-gap: 16px;
	}
}

/* ========== 移动端独立尺寸变量 (<768px) ========== */
@media screen and (max-width: 767px) {
	:root {
		--mobile-base-font: 14px;
		--mobile-logo-font: 18px;
		--mobile-nav-font: 14px;
		--mobile-container-title: 16px;
		--mobile-card-title: 14px;
		--mobile-tag-font: 12px;
		--mobile-date-font: 11px;
		--mobile-search-text: 14px;
		--mobile-card-padding: 10px;
		--mobile-title-meta-gap: 8px;
		--mobile-header-py: 12px;
		--mobile-header-px: 16px;
		--mobile-search-w: 100%;
		--mobile-btn-font: 13px;
		--mobile-search-py: 7px;
		--mobile-bread-top-gap: 12px;
	}
}

/* 全局单行省略核心类 */
.text-ellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ==================== 1. Header 头部模块（内含面包屑） ==================== */
[class*="-header-wrap"] {
	padding: var(--pc-header-py) var(--pc-header-px);
	display: flex;
	flex-direction: column;
	gap: var(--pc-bread-top-gap);
	background: #00000094;
	border-bottom: 1px solid rgba(138, 43, 226, 0.2);
}

/* 头部顶部行：logo + 搜索同行 */
[class*="-header-top-row"] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
}

@media screen and (max-width:767px) {
	[class*="-header-wrap"] {
		padding: var(--mobile-header-py) var(--mobile-header-px);
		gap: var(--mobile-bread-top-gap);
	}

	[class*="-header-top-row"] {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
}

[class*="-header-logo"] {
	font-weight: 700;
	background: #fff;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

@media screen and (min-width:768px) {
	[class*="-header-logo"] {
		font-size: var(--pc-logo-font);
	}
}

@media screen and (max-width:767px) {
	[class*="-header-logo"] {
		font-size: var(--mobile-logo-font);
		text-align: center;
	}
}

[class*="-search-form"] {
	display: flex;
	gap: 8px;
	align-items: center;
}

@media screen and (min-width:768px) {
	[class*="-search-form"] {
		width: auto;
		flex-wrap: wrap;
	}

	[class*="-search-input"] {
		width: var(--pc-search-w);
		font-size: var(--pc-search-text);
		padding: var(--pc-search-py) 14px;
	}

	[class*="-search-btn"] {
		font-size: var(--pc-btn-font);
		padding: var(--pc-search-py) 20px;
		white-space: nowrap;
	}
}

@media screen and (max-width:767px) {
	[class*="-search-form"] {
		width: 100%;
		flex-wrap: nowrap;
	}

	[class*="-search-input"] {
		flex: 1;
		min-width: 0;
		font-size: var(--mobile-search-text);
		padding: var(--mobile-search-py) 12px;
	}

	[class*="-search-btn"] {
		font-size: var(--mobile-btn-font);
		padding: var(--mobile-search-py) 14px;
		white-space: nowrap;
		flex-shrink: 0;
	}
}

[class*="-search-input"] {
	border-radius: var(--radius-md);
	border: 0px solid rgba(138, 43, 226, 0.3);
	background: rgb(255 255 255);
	color: #000000;
	outline: none;
	transition: var(--transition-all);
}

[class*="-search-input"]:focus {
	box-shadow: 0 0 12px #a855f7;
	border-color: #a855f7;
}

[class*="-search-btn"] {
	border-radius: var(--radius-md);
	border: none;
	background: linear-gradient(90deg, #4f46e5, #9333ea);
	color: white;
	cursor: pointer;
	transition: var(--transition-all);
}

[class*="-search-btn"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 10px #9333ea;
}

[class*="-search-input"][disabled],
[class*="-search-btn"][disabled] {
	background: #333338;
	color: #888;
	border-color: #444;
	box-shadow: none;
	cursor: not-allowed;
	transform: none;
}

/* ==================== 面包屑导航（移入header内部） ==================== */
[class*="-breadcrumb-wrap"] {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

[class*="-breadcrumb-item"] a {
	display: inline-block;
	padding: 8px 16px;
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: var(--transition-all);
	white-space: nowrap;
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.6);
}

@media screen and (min-width:768px) {
	[class*="-breadcrumb-item"] a {
		font-size: var(--pc-nav-font);
		font-weight: 600;
	}
}

@media screen and (max-width:767px) {
	[class*="-breadcrumb-item"] a {
		font-size: var(--mobile-nav-font);
		font-weight: 600;
	}
}

[class*="-breadcrumb-item"] a:hover {
	transform: translateY(-2px);
	filter: brightness(1.15);
}

/* ==================== 通用容器 ==================== */
[class*="-container-wrap"] {
	margin: 20px 30px 30px;
	border-radius: 0;
	padding: 20px;
	background: rgba(15, 10, 30, 0.5);
	border: 1px solid rgba(138, 43, 226, 0.15);
}

@media screen and (max-width:767px) {
	[class*="-container-wrap"] {
		margin: 20px 10px 10px;
		padding: 10px;
	}
}

[class*="-container-title"] {
	margin-bottom: 16px;
	font-weight: 600;
}

@media screen and (min-width:768px) {
	[class*="-container-title"] {
		font-size: var(--pc-container-title);
	}
}

@media screen and (max-width:767px) {
	[class*="-container-title"] {
		font-size: var(--mobile-container-title);
	}
}

/* ==================== 播放器 ==================== */
[class*="-player-box"] {
	width: 100%;
	position: relative;
	background: #000;
	border-radius: var(--radius-md);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid transparent;
	background-image: linear-gradient(#000, #000), linear-gradient(135deg, #4f46e5, #a855f7);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	box-shadow: 0 0 18px rgba(138, 43, 226, 0.35);
}

/* ==================== 下载按钮 ==================== */
[class*="-download-btns"] {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
}

[class*="-download-btn"] {
	padding: 10px 18px;
	border-radius: var(--radius-sm);
	border: none;
	background: #09b5b6;
	color: #001122;
	font-weight: 500;
	cursor: pointer;
	transition: var(--transition-all);
	white-space: nowrap;
	text-decoration: underline;
	text-underline-offset: 6px;
}

@media screen and (min-width:768px) {
	[class*="-download-btn"] {
		font-size: var(--pc-btn-font);
	}
}

@media screen and (max-width:767px) {
	[class*="-download-btn"] {
		font-size: var(--mobile-btn-font);
		padding: 8px 14px;
	}
}

[class*="-download-btn"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 12px #c5c5c5;
}

/* ==================== 视频卡片网格 ==================== */
[class*="-video-grid"] {
	display: grid;
	gap: 18px;
}

@media screen and (min-width:768px) {
	[class*="-video-grid"] {
		grid-template-columns: repeat(5, 1fr);
	}
}

@media screen and (max-width:767px) {
	[class*="-video-grid"] {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}

[class*="-video-card"] {
	background: rgba(20, 12, 38, 0.6);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: var(--transition-all);
	border: 1px solid rgba(138, 43, 226, 0.12);
}

[class*="-video-card"]:hover {
	transform: translateY(-6px);
	box-shadow: 0 0 22px rgba(168, 85, 247, 0.45);
	border-color: #a855f7;
}

/* 封面 16:9 */
[class*="-video-cover"] {
	width: 100%;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	aspect-ratio: 4 / 3;
}

[class*="-video-cover"] img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

/* 文字信息容器 */
[class*="-video-info"] {
	padding: var(--pc-card-padding);
	min-width: 0;
	position: relative;
	z-index: 2;
}

@media screen and (max-width:767px) {
	[class*="-video-info"] {
		padding: var(--mobile-card-padding);
	}
}

/* 视频标题 */
[class*="-video-title"] {
	min-width: 0;
}

[class*="-video-title"] a {
	text-decoration: none;
	color: #f0f0ff;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media screen and (min-width:768px) {
	[class*="-video-title"] {
		font-size: var(--pc-card-title);
		margin-bottom: var(--pc-title-meta-gap);
	}
}

@media screen and (max-width:767px) {
	[class*="-video-title"] {
		font-size: var(--mobile-card-title);
		margin-bottom: var(--mobile-title-meta-gap);
	}
}

/* 底部meta行 防重叠 */
[class*="-video-meta"] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

[class*="-video-date"],
[class*="-video-cate"] {
	max-width: 45%;
	min-width: 0;
	flex-shrink: 1;
	overflow: hidden;
}

[class*="-video-date"] span {
	display: inline-block;
	padding: 4px 8px;
	border-radius: var(--radius-sm);
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.6);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

[class*="-video-cate"] a {
	display: inline-block;
	padding: 4px 8px;
	border-radius: var(--radius-sm);
	text-decoration: none;
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.6);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

@media screen and (min-width:768px) {

	[class*="-video-date"] span,
	[class*="-video-cate"] a {
		font-size: var(--pc-tag-font);
	}
}

@media screen and (max-width:767px) {

	[class*="-video-date"] span,
	[class*="-video-cate"] a {
		font-size: var(--mobile-tag-font);
	}
}

@media (max-width:767px) {

	[class*="-breadcrumb-item"] a {
		padding: 6px 12px;
	}
}