:root {
	--theme-color: rgba(15, 20, 32, 0.9);
	/* 主要颜色 */
	--primary: #6c5ce7;
	--secondary: #a29bfe;
	--accent: #fd79a8;
	--dark: #0f1420;
	--darker: #090b13;
	--light: #f5f6fa;
	--card-bg: rgba(30, 33, 57, 0.7);

}

body {
	background: linear-gradient(135deg, var(--darker), var(--dark));
	color: var(--light);
	min-height: 100vh;
	line-height: 1.6;
	/* padding-bottom: 50px; */
	overflow-x: hidden;
}

.search_container {
	/* height: 20vw; */
	background-color: var(--theme-color);
	display: flex;
	justify-content: center;
	align-items: center;
	backdrop-filter: blur(10px);
	padding: 15px 5%;
	/* position: sticky;
	top: 0; */
	z-index: 100;
	border-bottom: 1px solid rgba(108, 92, 231, 0.3);
}

/* 
.search_layout {

	width: 100vw;
} */

/* 设置 placeholder 的颜色 */
.search_container input::placeholder {
	color: #BBBABA;
	/* 提示字颜色 */
	opacity: 1;
	/* 确保提示字的透明度 */
}


.search_input_layout {
	width: 100%;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 30px;
	padding: 8px 20px;
	display: flex;
	align-items: center;
}

.search_input_layout input {
	background: transparent;
	border: none;
	color: var(--light);
	font-size: 1rem;
	width: 100%;
	padding: 5px 10px;
	outline: none;
}

.search_btn>img {
	width: 8vw;
	height: 8vw;
}

.top_layout .game_title {
	width: 76vw;
	text-align: center;
	font-size: 20px;
	color: white;
	font-weight: bold;
}

.top_layout .search_icon {
	width: 10vw;
	height: 10vw;
}

.top_layout .search_icon img {
	width: 100%;
	height: 100%;
}



.item_title {
	height: 10vw;
	display: flex;
	align-items: center;
	padding: 0 1vw;
}

.item_title img {
	width: 9vw;
	height: 9vw;
}

.item_title h4 {
	width: 80vw;
	font-family: MicrosoftYaHei-Bold;
	font-weight: bold;
	font-size: 14px;
	padding-left: 5px;
}

.item_title a {
	width: 9vw;
	height: 9vw;
}

.table_container {
	display: flex;
	text-align: center;
	/* 标题居中 */
	padding: 0 2vw;
}


.small-images {
	display: grid;
	/* 使用网格布局 */
	grid-template-columns: repeat(2, 1fr);
	/* 两列布局 */
	column-gap: 2vw;
	/* 小图之间的间距 */
}

.small-images a {
	display: flex;
	flex-direction: column;
	/* 使小图和标题垂直排列 */
	text-align: center;
	/* 标题居中 */
}

.small-images img {
	width: 100% !important;
	/* 小图宽度占满容器 */
	height: 100% !important;
	/* 固定高度 */
	object-fit: fill;
	/* 保持图像比例，裁剪超出部分 */
	border-radius: 10px;
	/* 添加圆角 */
}

.list_layout a {
	background: var(--card-bg);
	border-radius: 15px;
	overflow: hidden;
	transition: all 0.3s ease;
	position: relative;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(5px);
}

.list_layout a .game_img_block {
	width: 40vw;
	height: 44vw;
}

.list_layout a .game_img_block img {
	width: 42vw;
	height: 42vw;
	object-fit: cover;
	transition: transform 0.5s;
}

.title {
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 8px;
	/* display: -webkit-box; */
	white-space: nowrap;
	/* 不换行 */
	overflow: hidden;
	/* 超出部分隐藏 */
	text-overflow: ellipsis;
	color: #f5f6fa;
	text-align: center;
}

.top_layout {
	height: 14vw;
	background-color: var(--theme-color);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1rem;
}

.top_layout .icon_back {
	width: 4vw;
	height: 6vw;
	position: absolute;
	left: 5vw;
}

.top_layout .game_title {
	font-size: 20px;
	color: white;
	font-weight: bold;
}

.rec_layout {
	background: var(--card-bg);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	margin-top: 2vw;
	color: #f5f6fa;
}


.game_info {
	position: relative;
	width: 100%;
	background: var(--card-bg);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 5vw 0;
}

.detail_img {
	position: relative;
	width: 40vw;
	height: 40vw;
	border-radius: 10px;
}

.star_row {
	display: flex;
	flex-direction: row;
	width: 40vw;
	height: 15vw;
	justify-content: space-between;
	margin-top: 2vw;
}

.rate_col,
.play_col {
	position: relative;
	height: 12vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #0f1420;
}

.star_row img {
	width: 5vw;
	height: 5vw;
}

.star_row p {
	font-size: 10px;
	line-height: 12px;
	font-weight: bold;
	margin-top: 5px;
	color: #FF6407;
}

.play_button {
	width: 50vw;
	text-align: center;
	background-color: var(--primary);
	border-radius: 10px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	font-size: 20px;
	line-height: 50px;
	font-weight: 500;
	color: rgb(255 255 255);
}

.desc_layout {
	padding: 4vw;
	margin-top: 10px;
	background: var(--card-bg);
	color: #f5f6fa;
}

.desc_layout p {
	font-size: 12px;
	line-height: 18px;
	margin-top: 10px;
}

.other_layout {
	padding: 4vw;
}

.list_item {
	width: 100%;
	height: 20vw;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	margin-top: 10px;
	background-color: var(--card-bg);
}

.game_img_block {
	width: 20vw;
	height: 20vw;
}

.game_img_block img {
	width: 20vw;
	height: 20vw;
	border-radius: 5px;
}

.item_text {
	flex: 1;
	margin-left: 20px;
}

.item_name {
	font-weight: 400;
	color: #f5f6fa;
	line-height: 15px;
	font-size: 12px;
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

.item_count {
	font-size: 10px;
	line-height: 15px;
	font-family: PingFangSC-Regular, PingFang SC;
	font-weight: 400;
	color: #ff9c60;
	margin-top: 15px;
}

.btn_play {
	width: 15vw;
	height: 6vw;
	line-height: 6vw;
	text-align: center;
	background-color: var(--primary);
	border-radius: 10px;
	font-size: 16px;
	color: #fff;
	font-weight: 500;
}

.search_list {
	height: 100%;
	display: flex;
	align-items: center;
	padding: 10px;
	flex-direction: column;
}

.cate_list_result {
	display: flex;
	flex-direction: column;
	padding: 10px;
}

.container {
	max-width: 800px;
	margin: 100px auto;
}

.tags {
	display: flex;
	justify-content: space-around;
	/* 标签均匀分布 */
	margin-bottom: 20px;
}

.tag {
	padding: 10px 20px;
	border: none;
	/* background-color: #3498db; */
	/* 标签背景色 */
	color: white;
	/* 标签文字颜色 */
	cursor: pointer;
	border-radius: 5px;
	/* 标签圆角 */
	transition: background-color 0.3s;
}

.tag:hover {
	/* background-color: #2980b9; */
	/* 悬停时的背景色 */
}

.list {
	display: flex;
	flex-wrap: wrap;
	/* 允许换行 */
}

.list-item {
	flex: 1 1 calc(33.33% - 20px);
	/* 三列布局，减去间距 */
	margin: 10px;
	/* 列表项之间的间距 */
	padding: 20px;
	background: var(--card-bg);
	/* 列表项背景色 */
	border-radius: 5px;
	/* 列表项圆角 */
	display: flex;
	align-items: center;
	justify-content: center;
	/* 内容居中 */
}

/* .category_layout {
	padding: 30px 5%;
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--primary) transparent;
} */

.cate_container {
	padding: 30px 5%;
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--primary) transparent;
}

/* 隐藏 Chrome/Safari 中的滚动条 */
.cate_container::-webkit-scrollbar {
	display: none;
	/* 隐藏滚动条 */
}


.cate_btn {
	min-width: 160px;
	height: 100px;
	border-radius: 15px;
	overflow: hidden;
	position: relative;
	cursor: pointer;
	transition: all 0.3s ease;
	flex-shrink: 0;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

.cate_btn img {
	width: 160px;
	height: auto;
	object-fit: cover;
	transition: transform 0.5s;
}

.cate_btn span {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
	padding: 15px 10px 10px;
	font-weight: 600;
	font-size: 1.1rem;
	text-align: center;
}

.bg-gray-100 {
	/* background-color: rgb(243 244 246); */
}

.bg-primary {
	/* background-color: var(--theme-color); */
	background-color: transparent;
}

.text-white {
	color: rgb(255 255 255);
	box-shadow: 0 0 0 3px var(--accent), 0 8px 25px rgba(108, 92, 231, 0.4);
}

.list_layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px;
	margin: 1.875rem 0;
	padding: 0 5vw;
}




.carousel {
	position: relative;
	width: 94vw;
	/* 设置轮播图最大宽度 */
	max-width: 94vw;
	margin: auto;
	/* 居中 */
	overflow: hidden;
	/* 隐藏溢出的部分 */
	margin-top: 2vw;
}

.carousel-images {
	display: flex;
	/* 使用 flexbox 布局 */
	transition: transform 0.5s ease;
	/* 添加过渡效果 */
}

.carousel-images img {
	width: 100%;
	/* 图片宽度 */
	height: 50vw;
	/* 图片高度 */
}

.indicators {
	position: absolute;
	/* 绝对定位 */
	bottom: 20px;
	/* 距离底部的距离 */
	left: 50%;
	/* 居中对齐 */
	transform: translateX(-50%);
	/* 调整位置使其真正居中 */
	display: flex;
	/* 使用 flexbox 布局 */
}

.indicator {
	width: 10px;
	/* 点的宽度 */
	height: 10px;
	/* 点的高度 */
	margin: 0 5px;
	/* 点之间的间距 */
	background-color: #ccc;
	/* 默认点颜色 */
	border-radius: 50%;
	/* 圆形 */
	cursor: pointer;
	/* 鼠标指针样式 */
}

.indicator.active {
	background-color: var(--theme-color);
	/* 当前点的颜色 */
}