/* 引入自定义字体 */
@font-face {
	font-family: 'FZRuiZhengHei_GBK Medium';
	src: url('../fonts/FZRuiZhengHei_GBK-Medium.woff2') format('woff2'),
		 url('../fonts/FZRuiZhengHei_GBK-Medium.woff') format('woff'),
		 url('../fonts/FZRuiZhengHei_GBK-Zhun.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'FZZongYi-M05-JF';
	src: url('../fonts/FZZongYiM05JF-Regular.woff2') format('woff2'),
		 url('../fonts/FZZongYiM05JF-Regular.woff') format('woff'),
		 url('../fonts/FZZYJF.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'HYWenHei-85W';
	src: url('../fonts/HYWenHei-85W.woff2') format('woff2'),
		 url('../fonts/HYWenHei-85W.woff') format('woff'),
		 url('../fonts/HYWenHei-85W.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
/* Basic Reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	line-height: 1.6;
	color: #333;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
	padding: 20px;
	overflow-x: hidden;
}

body::before {
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('../images/building2.png');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	filter: blur(10px);
	transform: scale(1.1); /* Slightly scale up to avoid edge blur */
	z-index: -1;
}

.login-container {
	width: 100%;
	max-width: 450px;
}

.login-box {
	padding: 35px 40px;
	border-radius: 20px;
	text-align: center;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3), 0 5px 15px rgba(0, 0, 0, 0.2);
	position: relative; /* 为内部的绝对定位元素提供上下文 */
	z-index: 1;
	background: linear-gradient(to bottom, #FFFFFF, #D3D3D3);
	overflow: hidden; /* 隐藏超出边界的内容，确保翻折角不影响布局 */
}

/* Reduced Glassmorphism Effect */
.glass-effect {
	background: rgba(255, 255, 255, 0.75); /* Lower opacity for less glass effect */
	backdrop-filter: blur(15px); /* Reduced blur for subtler effect */
	-webkit-backdrop-filter: blur(15px);
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.login-box h2 {
	font-size: 2.2rem;
	margin-bottom: 10px;
	color: #333;
	font-family: 'FZZongYi-M05-JF', 'Segoe UI', sans-serif;
	font-weight: normal;
}

.login-box .subtitle {
	font-size: 1rem;
	color: #666;
	margin-bottom: 30px;
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
}

/* Form Elements */
.input-group {
	margin-bottom: 20px;
	text-align: left;
}

.input-group label {
	display: block;
	font-size: 0.9rem;
	color: #333;
	margin-bottom: 8px;
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
}

.input-group input[type="text"],
.input-group input[type="password"] {
	width: 100%;
	padding: 12px 15px;
	border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, 0.2);
	background-color: rgba(245, 245, 245, 0.8);
	color: #333;
	font-size: 1rem;
	outline: none;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
}

.input-group input[type="text"]::placeholder,
.input-group input[type="password"]::placeholder {
	color: #999;
}

.input-group input[type="text"]:focus,
.input-group input[type="password"]:focus {
	border-color: #FFD700;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 0 0 2px rgba(255, 215, 0, 0.3);
}

.password-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.toggle-password {
	position: absolute;
	right: 1px;
	top: 1px;
	bottom: 1px;
	width: 40px;
	background: transparent;
	border: none;
	border-left: 1px solid rgba(0, 0, 0, 0.2);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

.toggle-password svg {
	fill: #999;
	transition: fill 0.3s ease;
}

.toggle-password:hover svg {
	fill: #333;
}

.options {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 25px;
	font-size: 0.9rem;
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
}

.remember-me {
	color: #333;
	display: flex;
	align-items: center;
}

.remember-me input[type="checkbox"] {
	margin-right: 8px;
	accent-color: #FFD700;
	width: 16px;
	height: 16px;
}

.options a {
	color: #0080ba; /* 修正：直接写颜色值，而不是0080ba */
	text-decoration: none;
}

.options a:hover {
	text-decoration: underline; /* 悬停时加下划线 */
}

.forgot-password {
	color: #0080ba;
	text-decoration: none;
}

.forgot-password:hover {
	text-decoration: underline;
}

.btn-login {
	width: 100%;
	padding: 14px;
	background-image: linear-gradient(to right, #FFD700, #FFC107);
	color: #333;
	border: none;
	border-radius: 8px;
	font-size: 1.1rem;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 4px 10px rgba(255, 215, 0, 0.3), 0 2px 5px rgba(0, 0, 0, 0.1);
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
}

.btn-login:hover {
	background-image: linear-gradient(to right, #FFC107, #FFC107);
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(255, 215, 0, 0.4), 0 3px 7px rgba(0, 0, 0, 0.15);
}

.btn-login:active {
	transform: translateY(0);
	box-shadow: 0 2px 5px rgba(255, 215, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.1);
}

.success-message {
	margin-top: 20px;
	text-align: center;
}

.btn-home {
	display: inline-block;
	margin-top: 15px;
	padding: 10px 20px;
	background-image: linear-gradient(to right, #FFD700, #FFC107);
	color: #333;
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: bold;
	text-decoration: none;
	transition: all 0.3s ease;
	box-shadow: 0 4px 10px rgba(255, 215, 0, 0.3);
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
}

.btn-home:hover {
	background-image: linear-gradient(to right, #FFC107, #FFC107);
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(255, 215, 0, 0.4);
}

.btn-home:active {
	transform: translateY(0);
	box-shadow: 0 2px 5px rgba(255, 215, 0, 0.3);
}

/* Alternative Login */
.alternative-login {
	margin-top: 30px;
	margin-bottom: 20px;
}

.alternative-login p {
	color: #666;
	margin-bottom: 15px;
	font-size: 0.9rem;
	position: relative;
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
	line-height: 1.6; /* Consistent with body */
	text-align: center;
}

.alternative-login p::before,
.alternative-login p::after {
	content: '';
	position: absolute;
	top: 50%;
	width: 30%;
	height: 1px;
	background-color: rgba(0, 0, 0, 0.3);
	transform: translateY(-50%); /* Precise vertical centering */
}

.alternative-login p::before {
	left: 0;
}

.alternative-login p::after {
	right: 0;
}

.social-icons {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.social-icon img {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.social-icon img:hover {
	transform: scale(1.1);
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}

.signup-link, .back-to-home {
	margin-top: 25px;
	font-size: 0.95rem;
	color: #333;
	font-family: 'FZRuiZhengHei_GBK Medium', 'Segoe UI', sans-serif;
}

.signup-link a, .back-to-home a { /* Removed 'sixe' typo */
	color: #0080ba;
	font-weight: 500;
	text-decoration: none;
}

.signup-link a:hover, .back-to-home a:hover {
	text-decoration: underline;
}

.back-to-home {
	margin-top: 15px;
}

.container {
	width: 90%;
	max-width: 1100px; /* 限制容器宽度以居中 */
	margin: auto;
	padding: 0 20px;
}

/* 隐藏的弹窗区域（隐私政策和服务协议） */
.hidden-section {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 80px;
	overflow-y: auto;
	z-index: 1001;
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
}

.hidden-section.active {
	display: block;
}

.hidden-section .container {
	padding-top: 30px;
	padding-bottom: 30px;
	text-align: left; /* 文字左对齐 */
}

.hidden-section h2, .hidden-section h4 {
	color: #333;
	font-family: 'FZZongYi-M05-JF';
	font-weight: normal;
}

.hidden-section p {
	color: #333;
	font-family: 'FZRuiZhengHei_GBK Medium';
}

.hidden-section::-webkit-scrollbar {
	width: 16px;
}

.hidden-section::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.8);
	border-radius: 10px;
	margin: 10px 0;
}

.hidden-section::-webkit-scrollbar-thumb {
	background: linear-gradient(to right, #FFD700, #FFC107);
	border-radius: 10px;
	border: 2px solid rgba(255, 255, 255, 0.8);
}

.hidden-section::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(to right, #FFC107, #FFC107);
}
.close-section-link {
	display: inline-block;
	margin: 20px 0;
	padding: 10px 20px;
	background: linear-gradient(to right, #FFD700, #FFC107);
	color: #333 !important; /* 确保文字颜色为 #333 */
	text-decoration: none !important;
	border-radius: 5px;
	transition: background 0.3s ease;
	font-family: 'FZRuiZhengHei_GBK Medium';
}

.close-section-link:hover {
	background: linear-gradient(to right, #FFC107, #FFC107);
	color: #333 !important; /* 确保悬停时文字颜色仍为 #333 */
	text-decoration: none !important;
}
.close-section {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 20px;
	background: linear-gradient(to right, #FFD700, #FFC107);
	color: #333;
	text-decoration: none;
	border-radius: 5px;
	transition: background 0.3s ease;
	font-family: 'FZRuiZhengHei_GBK Medium';
}

.close-section:hover {
	background: linear-gradient(to right, #FFC107, #FFC107);
}

#privacy-policy .close-section-link, #terms-of-service .close-section-link {
	color: #333 !important;
}

/* 隐私政策特定样式 */
#privacy-policy .container h2 {
	font-size: 2.5rem; /* 修改字体大小 */
	margin-left: -5px; /* 与“关于我们”标题对齐 */
	margin-bottom: 16px; /* 标题下边距，减少与段落的间距 */
}

#privacy-policy .container h4 {
	font-size: 1.5rem;
	margin-top: 20px;
	margin-bottom: 10px;
}

#privacy-policy .container p {
	margin-left: 20px; /* 与“关于我们”段落一致 */
	margin-top: 5px;
	margin-bottom: 15px;
}

#privacy-policy .container a {
	color: #0080ba;
	text-decoration: none;
}

#privacy-policy .container a:hover {
	color: #FFD700;
	text-decoration: underline;
}

#privacy-policy .container a:visited {
	color: #0080ba;
	text-decoration: none;
}

/* 服务协议特定样式 */
#terms-of-service .container h2 {
	font-size: 2.5rem; /* 修改字体大小 */
	margin-left: -5px; /* 与“关于我们”标题对齐 */
	margin-bottom: 16px; /* 标题下边距，减少与段落的间距 */
}

#terms-of-service .container h4 {
	font-size: 1.5rem;
	margin-top: 20px;
	margin-bottom: 10px;
}

#terms-of-service .container p {
	margin-left: 20px; /* 与“关于我们”段落一致 */
	margin-top: 5px;
	margin-bottom: 15px;
}

#terms-of-service .container a {
	color: #0080ba;
	text-decoration: none;
}

#terms-of-service .container a:hover {
	color: #FFD700;
	text-decoration: underline;
}

#terms-of-service .container a:visited {
	color: #0080ba;
	text-decoration: none;
}

/* Responsive Design */
@media (max-width: 480px) {
	.login-box {
		padding: 30px 25px;
	}

	.login-box h2 {
		font-size: 1.8rem;
	}

	.input-group input[type="text"],
	.input-group input[type="password"],
	.btn-login, .btn-home {
		padding: 12px;
		font-size: 1rem;
	}
	
	.alternative-login p::before,
	.alternative-login p::after {
		width: 30%;
	}
}

/* --- 新增的二维码登录功能样式 --- */

/* 登录模式切换的公共样式 */
.login-section {
	transition: opacity 0.5s ease, transform 0.5s ease;
	/* 默认隐藏状态 */
	opacity: 0;
	pointer-events: none; /* 阻止交互 */
	position: absolute; /* 使它们可以叠加 */
	/* 调整top, left, right, bottom以确保内容填充 login-box 的 padding 区域 */
	top: 35px;
	left: 40px;
	right: 40px;
	bottom: 35px;
	display: flex; /* 使用flex布局让内容在容器内垂直居中 */
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	z-index: 2; /* 确保在qr-toggle-corner之上 */
}

/* 激活状态 */
.login-section.active {
	opacity: 1;
	pointer-events: auto; /* 允许交互 */
	/* 激活时恢复正常流布局，避免影响 login-box 尺寸 */
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	bottom: auto;
	width: 100%;
	height: auto; /* 让内容决定高度 */
}

/* 初始隐藏状态（js会处理display，但这个类可以用于初始设置） */
.login-section.hidden {
	display: none;
}

/* 二维码登录区域特定样式 */
#qrLoginSection {
	/* 确保初始内容在动画前是隐藏的 */
	visibility: hidden;
}

#qrLoginSection.active {
	visibility: visible; /* 激活时才显示 */
}

#qrLoginSection h2 {
	margin-bottom: 5px; /* 调整标题间距 */
}

#qrLoginSection .subtitle {
	margin-bottom: 20px;
}

.qr-code-wrapper {
	position: relative;
	width: 180px; /* 二维码区域大小 */
	height: 180px;
	margin: 20px auto;
	border: 5px solid rgba(255, 255, 255, 0.9);
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden; /* 确保二维码状态文字不溢出 */
}

.qr-code-img {
	width: 90%; /* 二维码图片大小 */
	height: 90%;
	object-fit: contain;
}

.qr-code-status {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 0.85rem;
	padding: 5px 0;
	cursor: pointer;
	text-align: center;
	transform: translateY(100%); /* 默认隐藏在二维码下方 */
	transition: transform 0.3s ease, opacity 0.3s ease;
	opacity: 0;
}

.qr-code-wrapper:hover .qr-code-status,
.qr-code-status.active { /* 当状态需要显示时 */
	transform: translateY(0);
	opacity: 1;
}


.qr-instructions {
	font-size: 0.95rem;
	color: #555;
	margin-top: 20px;
	margin-bottom: 30px;
	line-height: 1.8;
}

/* 翻折角切换按钮样式 */
	.qr-toggle-corner {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 80px;
		height: 80px;
		background-color: transparent;
		cursor: pointer;
		z-index: 10;
		transition: transform 0.3s ease, opacity 0.3s ease;
	}

	.qr-toggle-corner:before {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 0;
		height: 0;
		border-top: 100px solid transparent; /* 调整为右下角三角形 */
		border-right: 100px solid rgba(255, 215, 0, 0.9); /* 金黄色三角形 */
		background: none;
		transform: none;
		z-index: -1;
	}

		.qr-toggle-corner span {
			font-size: 1rem;
			color: #333;
			font-weight: bold;
			position: absolute;
			bottom: 35px; /* 调整文字位置，靠近三角形顶部 */
			right: 5px; /* 靠近三角形右侧 */
			transform: rotate(-45deg); /* 保持文字旋转 */
			transform-origin: center; /* 居中旋转 */
			white-space: nowrap;
			line-height: 1;
		}

		.qr-toggle-corner span2 {
			font-size: 1.7rem;
			position: absolute;
			bottom: 15px; /* 靠近三角形底部 */
			right: 20px; /* 靠近三角形右侧 */
			fill: #333;
			transform: rotate(-45deg); /* 保持图标旋转 */
			width: 20px;
			height: 20px;
		}

		/* 鼠标悬停效果 */
		.qr-toggle-corner:hover {
			transform: scale(1.1); /* 稍微放大 */
		}

		/* 当二维码模式激活时，隐藏翻折角 */
		.qr-toggle-corner.active {
			transform: scale(0);
			opacity: 0;
			pointer-events: none;
		}
/* 返回密码登录按钮样式 (复用btn-login) */
.btn-back-to-password {
	margin-top: 20px;
}

/* 调整响应式布局中的翻折角大小 */
@media (max-width: 480px) {
	/* 为 login-section 调整内边距，使其在小屏幕下保持一致 */
	.login-section {
		padding: 30px 25px;
	}

	.qr-toggle-corner {
		width: 80px; /* 调整翻折角大小 */
		height: 80px;
	}
	.qr-toggle-corner span {
		font-size: 0.75rem; /* 小屏幕下字体小一点 */
		right: 10px;
		bottom: 35px;
	}
	.qr-toggle-corner svg {
		width: 18px;
		height: 18px;
		bottom: 8px;
		right: 8px;
	}
}

.container {
	width: 90%;
	max-width: 1100px;
	margin: auto;
	padding: 0 20px;
}

/* Header */
header {
	background: linear-gradient(to right, #FFD700, #FFC107); /* 黄色到深黄色渐变 */
	color: #333;
	padding: 1rem 0;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	border-bottom: 1px solid rgba(0,0,0,0.1);
	box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

header .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .logo {
	height: 60px; /* 增大 logo 高度 */
	max-width: 200px; /* 增大最大宽度以适应 3.3:1 比例 */
	object-fit: contain; /* 保持图片比例 */
}

header nav ul {
	list-style: none;
	display: flex;
}

header nav ul li {
	margin-left: 20px;
}

header nav ul li a {
	color: #333;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.3s ease;
}

header nav ul li a:hover {
	color: #fff;
}

.mobile-menu-toggle {
	display: none;
	background: none;
	border: none;
	color: #333;
	font-size: 2rem;
	cursor: pointer;
}
