html {
	-ms-touch-action: none;
}

body,
canvas,
div {
	display: block;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	-khtml-user-select: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	margin: 0;
	cursor: default;
	color: #888;
	background-color: #333;
	text-align: center;
	font-family: Helvetica, Verdana, Arial, sans-serif;
	display: flex;
	flex-direction: column;
}

canvas {
	background-color: rgba(0, 0, 0, 0);
}

#GameDiv,
#Cocos3dGameContainer,
#GameCanvas {
	width: 100%;
	height: 100%;
}

:root {
	--safe-top: env(safe-area-inset-top);
	--safe-right: env(safe-area-inset-right);
	--safe-bottom: env(safe-area-inset-bottom);
	--safe-left: env(safe-area-inset-left);
}

@keyframes animate-stripes {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: 60px 0;
	}
}

.splash_half,
.splash_full {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-size: 100% auto;
	background-position: center;
	background-repeat: no-repeat;
}

.splash_half {
	background-image: url(full_start.69000.jpg);
}

.splash_full {
	background-image: url(full_start.69000.jpg);
}

/* ========== 新增/修改：flex 布局让 logo、ip 自动水平居中 ========== */
#splash {
	display: flex !important;
	flex-direction: column;
	align-items: center;
}

#splash-container {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center; /* 让进度条本身在容器内居中 */
	z-index: 10;
}

.splash-container_half {
	bottom: 20%;
}

.splash-container_full {
	bottom: 20%;
}

#progress-bg-container {
	width: 254px;
	height: 20px;
	overflow: hidden;
	position: relative;
}

#progress-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 99%;
	top: 45%;
	transform: translateY(-50%);
}

#progress-fill-container {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0;
	overflow: hidden;
}

#progress-fill {
	padding-left: 2px;
	padding-right: 2px;
	margin-top: 2px;
	width: auto;
	height: auto;
}

/* ========== 修改：进度文本绝对定位在进度条正中间 ========== */
#loading-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	color: white;
	font-family: Helvetica, sans-serif;
	font-size: 14px;
	white-space: nowrap;
	text-align: center;
	pointer-events: none;
}

/* ========== 修改：logo 改为 flex 子项，保持顶部间距 ========== */
#splash-logo {
	position: relative;
	left: auto;
	transform: none;
	top: auto;
	margin-top: 5vh;
}

/* 覆盖 JS 动态添加的 class，防止它们又把 top 设回 5% */
.splash-logo-full,
.splash-logo-half {
	top: auto;
}

#logo {
	overflow: hidden;
	position: relative;
	width: 262px;
	height: 161px;
}

/* ========== 新增：ip 块始终水平居中，且与 logo 保持 2vh 垂直距离 ========== */
#splash-ip {
	position: relative;
	margin-top: 2vh;
	display: flex;
	justify-content: center;
	width: 100%;
}

/* 覆盖可能存在的动态 class，避免被旧样式干扰 */
.splash-ip-full,
.splash-ip-half {
	top: auto;
	bottom: auto;
}

#ip {
	overflow: hidden;
	position: relative;
	width: 372px;
	height: 480px;
}

#age-rating {
	position: absolute;
	left: 16px;
	top: 16px;
	width: 43px;
	height: auto;
	display: block;
	z-index: 11;
	pointer-events: none;
}