body {
	margin: 0;
	padding: 0;
	background-color: #EDEDED;
	font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center; /* 垂直居中 */
	height: 100vh;
	position: relative;
	overflow: hidden;
}

.content {
	/* 移除固定百分比 margin-top，改用 flex 布局居中配合视觉偏移 */
	margin-top: -10vh; /* 视觉上稍微偏上，符合移动端阅读习惯 */
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.icon-container {
	width: 18vw;
	height: 18vw;
	max-width: 80px;
	max-height: 80px;
	min-width: 60px;
	min-height: 60px;
	margin-bottom: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 简单的加载动画 */
.spinner {
	width: 40px;
	height: 40px;
	border: 3px solid #E0E0E0;
	border-top: 3px solid #09BB07;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* 成功图标样式 */
.success-icon {
	width: 100%;
	height: 100%;
}

/* 失败图标样式 */
.fail-icon {
    width: 100%;
    height: 100%;
}

/* 通用隐藏类 */
.hidden {
	display: none !important;
}

.status-text {
	font-size: 20px;
	color: #000000;
	font-weight: 400;
	letter-spacing: 0.5px;
}

.status-text.fail {
    color: #000000; /* 保持黑色，模仿微信官方提示 */
}

.footer {
	position: absolute;
	bottom: 30px;
	width: 100%;
	text-align: center;
	color: #9A9A9A;
	font-size: 12px;
}

/* 错误提示容器 */
.error-container {
	margin-top: 30%;
	text-align: center;
	color: #000;
	font-size: 20px;
}

/* PC端适配 */
@media (min-width: 768px) {
	.content {
		margin-top: 0; /* PC端不偏移 */
		max-width: 400px;
		background: #fff; /* PC端通常做一个白色卡片悬浮感更官方 */
		padding: 50px;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	}
	.content.loading {
		display: none;
		background: transparent;
		box-shadow: none;
		padding: 0;
	}
}

