:root {
	--bg-top: #151419;
	--bg-bottom: #1f1208;
	--card-bg: rgba(255, 255, 255, 0.08);
	--card-border: rgba(255, 255, 255, 0.18);
	--text-main: #ffffff;
	--text-sub: rgba(255, 255, 255, 0.7);
	--btn-left: #c84529;
	--btn-right: #f4b01f;
	--safe-bottom: env(safe-area-inset-bottom, 0px);
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	min-height: 100%;
	font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
	background: transparent;
	color: var(--text-main);
}

body {
	position: relative;
	overflow-x: hidden;
}

.bg-swiper {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	overflow: hidden;
	background-color: transparent;
}

.bg-swiper-layer {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	filter: blur(18px) brightness(0.48);
	transform: scale(1.08);
	opacity: 0;
	transition: opacity 0.55s ease;
}

.bg-swiper-layer.is-active {
	opacity: 1;
}

.page {
	position: relative;
	z-index: 2;
	width: min(100%, 560px);
	margin: 0 auto;
	padding: 14px 12px calc(112px + var(--safe-bottom));
}

.logo-wrap {
	margin-bottom: 14px;
}

.logo {
	width: 118px;
	height: 18px;
	object-fit: contain;
	display: block;
}

.banner-card {
	overflow: visible;
	padding: 0;
}

.swiper {
	width: 100%;
	border-radius: 14px;
	overflow: visible;
}

.banner-swiper {
	padding: 6px 0 8px;
}

.banner-swiper .swiper-slide {
	width: 85%;
	transform: translateY(12px) scale(0.75);
	opacity: 0.55;
	transition: transform 0.35s ease, opacity 0.35s ease;
}

.banner-swiper .swiper-slide-active {
	transform: translateY(0) scale(1);
	opacity: 1;
	z-index: 2;
}

.banner-swiper .swiper-slide .slide-link {
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

.banner-swiper .swiper-slide-active .slide-link {
	box-shadow: 0 16px 28px rgba(0, 0, 0, 0.42);
}

.slide-link {
	display: block;
	position: relative;
}

.slide-image {
	width: 100%;
	aspect-ratio: 1 / 1;
	display: block;
	object-fit: cover;
	background: rgba(255, 255, 255, 0.06);
}

.section-title {
	margin: 18px 2px 10px;
	font-size: 14px;
	letter-spacing: 0.2px;
	color: #ffd07b;
}

.marquee-wrap {
	display: grid;
	gap: 10px;
}

.marquee-row {
	position: relative;
	overflow: hidden;
	height: 108px;
}

.marquee-track {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	height: 100%;
	gap: 8px;
	width: max-content;
	padding: 8px;
}

.marquee-forward {
	animation: marquee-forward 8s linear infinite;
}

.marquee-reverse {
	animation: marquee-reverse 7s linear infinite;
}

.horse-item {
	flex: 0 0 auto;
	width: 146px;
	height: 92px;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.13);
}

.horse-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.horse-title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 12px;
	padding: 4px 6px;
	color: #fff;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.56));
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.empty-tip {
	font-size: 13px;
	color: var(--text-sub);
	padding: 18px 6px;
}

.fontBottom {
	width: min(100%, 150px);
	height: 24px;
	margin: 8px auto 0;
	background: url('/static/images/fontBottom-BKr7p9Mq.png') center center / contain no-repeat;
}

.bottom-fixed {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10;
	padding: 10px 12px calc(10px + var(--safe-bottom));
	background: linear-gradient(180deg, rgba(20, 12, 8, 0), rgba(20, 12, 8, 0.9) 36%, rgba(20, 12, 8, 0.96));
}

.bottom-btns {
	width: min(100%, 560px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.cta-btn {
	height: 44px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: #1a1205;
}

.cta-watch {
	color: #fbe7df;
	background: linear-gradient(90deg, #9f2918, var(--btn-left));
	border: 1px solid rgba(255, 154, 127, 0.4);
}

.cta-download {
	background: linear-gradient(90deg, #f8be45, var(--btn-right));
	border: 1px solid rgba(255, 235, 178, 0.55);
}

@keyframes marquee-forward {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@keyframes marquee-reverse {
	from {
		transform: translateX(-50%);
	}
	to {
		transform: translateX(0);
	}
}

@media (max-width: 390px) {
	.horse-item {
		width: 132px;
	}
}
