@charset "UTF-8";

/* ============================================================
   关于 / 公告 / 帮助 / 友链 / 地图 — #31AB46 生活服务主题
   ============================================================ */

:root{
	--lf-green:#31AB46;
	--lf-green-soft:#5BC46B;
	--lf-green-deep:#27963A;
	--lf-mist:#F3FAF4;
	--lf-ink:#1E3322;
	--lf-muted:#5F7A64;
	--lf-line:rgba(49,171,70,.2);
}

html{scroll-behavior:smooth;}

body.about-life-page{
	margin:0;
	min-height:100vh;
	overflow-x:hidden;
	display:flex;
	flex-direction:column;
	background:var(--lf-mist)!important;
	color:var(--lf-ink);
	font-family:"Nunito","PingFang SC","Microsoft YaHei",sans-serif;
	-webkit-font-smoothing:antialiased;
	position:relative;
}

.ab-bg{
	position:fixed;
	inset:0;
	z-index:0;
	pointer-events:none;
	background:
		radial-gradient(ellipse 70% 50% at 12% 8%,rgba(49,171,70,.12),transparent 55%),
		radial-gradient(ellipse 55% 45% at 92% 18%,rgba(91,196,107,.1),transparent 50%),
		radial-gradient(ellipse 60% 40% at 70% 88%,rgba(49,171,70,.08),transparent 55%),
		var(--lf-mist);
}
.ab-wash{
	position:absolute;
	border-radius:50%;
	filter:blur(40px);
	opacity:.55;
	animation:ab-drift 18s ease-in-out infinite alternate;
}
.ab-wash--1{width:320px;height:320px;left:-60px;top:12%;background:rgba(49,171,70,.18);}
.ab-wash--2{width:260px;height:260px;right:-40px;top:40%;background:rgba(91,196,107,.16);animation-delay:-6s;}
.ab-wash--3{width:220px;height:220px;left:35%;bottom:8%;background:rgba(39,150,58,.1);animation-delay:-11s;}
@keyframes ab-drift{
	from{transform:translate(0,0);}
	to{transform:translate(18px,-22px);}
}
.ab-wave{
	position:absolute;
	left:0;right:0;bottom:0;
	width:100%;
	height:120px;
	opacity:.35;
}
.ab-wave__a{fill:rgba(49,171,70,.12);}
.ab-wave__b{fill:rgba(49,171,70,.08);}

/* ---------- 顶栏 ---------- */
.ab-top{
	position:relative;
	z-index:2;
	padding:18px 16px 0;
	box-sizing:border-box;
}
.ab-top__inner{
	max-width:1100px;
	margin:0 auto;
	padding:14px 22px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	box-sizing:border-box;
	background:rgba(255,255,255,.88);
	border:1px solid var(--lf-line);
	border-radius:18px;
	box-shadow:0 12px 36px rgba(49,171,70,.1);
	backdrop-filter:blur(12px);
}
.ab-brand{
	display:flex;
	align-items:center;
	gap:12px;
	min-width:0;
	text-decoration:none!important;
	color:inherit!important;
}
.ab-brand img{
	width:44px;
	height:44px;
	object-fit:contain;
	border-radius:12px;
	background:rgba(49,171,70,.08);
	padding:4px;
	box-sizing:border-box;
}
.ab-brand span{min-width:0;display:flex;flex-direction:column;gap:2px;}
.ab-brand strong{
	font-size:15px;
	font-weight:800;
	color:var(--lf-ink);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.ab-brand em{
	font-style:normal;
	font-size:11px;
	font-weight:600;
	color:var(--lf-muted);
	letter-spacing:.04em;
}
.ab-nav{
	display:flex;
	flex-wrap:wrap;
	gap:4px 6px;
	justify-content:flex-end;
}
.ab-nav a{
	display:inline-flex;
	align-items:center;
	padding:8px 14px;
	border-radius:999px;
	font-size:13px;
	font-weight:700;
	color:var(--lf-muted)!important;
	text-decoration:none!important;
	transition:background .2s,color .2s;
}
.ab-nav a:hover{
	color:var(--lf-green)!important;
	background:rgba(49,171,70,.08);
}
.ab-nav a.is-on{
	color:#fff!important;
	background:var(--lf-green);
	box-shadow:0 6px 16px rgba(49,171,70,.28);
}

/* ---------- 主内容壳 ---------- */
.ab-shell{
	position:relative;
	z-index:1;
	flex:1;
	width:100%;
	max-width:1100px;
	margin:0 auto;
	padding:22px 16px 56px;
	box-sizing:border-box;
}

.ab-hero{
	margin:0 0 22px;
	padding:8px 4px 0;
}
.ab-hero__label{
	display:inline-block;
	margin:0 0 10px;
	font-size:12px;
	font-weight:800;
	letter-spacing:.14em;
	color:var(--lf-green);
}
.ab-hero h1{
	margin:0;
	font-family:"ZCOOL XiaoWei","PingFang SC","Microsoft YaHei",serif;
	font-size:clamp(1.9rem,3.4vw,2.55rem);
	font-weight:400;
	line-height:1.2;
	color:var(--lf-green-deep);
}
.ab-hero h1 em{
	font-style:normal;
	color:var(--lf-green);
}
.ab-hero p{
	margin:12px 0 0;
	max-width:36em;
	font-size:14px;
	line-height:1.7;
	font-weight:600;
	color:var(--lf-muted);
}

.ab-panel{
	background:rgba(255,255,255,.92);
	border:1px solid var(--lf-line);
	border-radius:20px;
	padding:22px 24px;
	box-shadow:0 14px 40px rgba(49,171,70,.08);
	box-sizing:border-box;
}
.ab-panel + .ab-panel{margin-top:14px;}
.ab-panel__title{
	margin:0 0 16px;
	padding:0 0 0 12px;
	border-left:3px solid var(--lf-green);
	font-size:15px;
	font-weight:800;
	color:var(--lf-ink);
	line-height:1.3;
}

.ab-content{
	font-size:14px;
	line-height:1.85;
	color:var(--lf-ink);
	font-weight:500;
}
.ab-content h1,.ab-content h2,.ab-content h3,.ab-content h4{
	color:var(--lf-ink);
	font-weight:800;
	line-height:1.35;
}
.ab-content a{color:var(--lf-green);font-weight:700;}
.ab-content img{max-width:100%;height:auto;}
.ab-content p{margin:0 0 12px;}

/* ---------- 关于我们 ---------- */
.ab-kpis{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
	margin-bottom:16px;
}
.ab-kpi{
	padding:16px;
	border-radius:14px;
	background:rgba(49,171,70,.06);
	border:1px solid rgba(49,171,70,.12);
}
.ab-kpi strong{
	display:block;
	margin-bottom:8px;
	font-size:14px;
	font-weight:800;
	color:var(--lf-green-deep);
}
.ab-kpi span{
	font-size:13px;
	line-height:1.65;
	color:var(--lf-muted);
	font-weight:600;
}
.ab-note{
	padding:14px 16px;
	border-radius:12px;
	background:linear-gradient(135deg,rgba(49,171,70,.1),rgba(91,196,107,.06));
	border:1px solid rgba(49,171,70,.14);
	font-size:14px;
	line-height:1.7;
	color:var(--lf-ink);
	font-weight:600;
}
.ab-note p{margin:0;}

.ab-rail{
	display:flex;
	flex-direction:column;
	gap:8px;
}
.ab-rail a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:12px 14px;
	border-radius:12px;
	border:1px solid transparent;
	background:rgba(49,171,70,.05);
	color:var(--lf-ink)!important;
	text-decoration:none!important;
	font-size:14px;
	font-weight:700;
	transition:background .2s,border-color .2s,transform .2s;
}
.ab-rail a em{font-style:normal;color:var(--lf-green);font-weight:800;}
.ab-rail a:hover{
	border-color:rgba(49,171,70,.28);
	background:#fff;
	transform:translateX(2px);
}
.ab-rail a.is-on,
.ab-rail a.current{
	background:var(--lf-green);
	color:#fff!important;
	border-color:transparent;
	box-shadow:0 8px 18px rgba(49,171,70,.25);
}
.ab-rail a.is-on em,
.ab-rail a.current em{color:#fff;}

.ab-split{
	display:grid;
	grid-template-columns:minmax(220px,280px) minmax(0,1fr);
	gap:14px;
	align-items:start;
}
.ab-split > .ab-panel{margin-top:0;}

/* ---------- 公告时间线 ---------- */
.ab-timeline{display:flex;flex-direction:column;gap:0;}
.ab-item{
	position:relative;
	padding:0 0 22px 22px;
	border-left:2px solid rgba(49,171,70,.2);
}
.ab-item:last-child{padding-bottom:0;border-left-color:transparent;}
.ab-item::before{
	content:"";
	position:absolute;
	left:-7px;top:6px;
	width:12px;height:12px;
	border-radius:50%;
	background:var(--lf-green);
	box-shadow:0 0 0 4px rgba(49,171,70,.18);
}
.ab-item h3{
	margin:0 0 10px;
	font-size:17px;
	font-weight:800;
	color:var(--lf-ink);
}

/* ---------- FAQ ---------- */
.ab-faq-group{margin-bottom:18px;}
.ab-faq-group:last-child{margin-bottom:0;}
.ab-faq-group h4{
	margin:0 0 8px;
	font-size:13px;
	font-weight:800;
	color:var(--lf-green);
	letter-spacing:.04em;
}
.ab-faq-list{display:flex;flex-direction:column;gap:6px;}
.ab-faq-list a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:10px 12px;
	border-radius:10px;
	font-size:13px;
	font-weight:700;
	color:var(--lf-ink)!important;
	text-decoration:none!important;
	background:rgba(49,171,70,.04);
	transition:background .2s,color .2s;
}
.ab-faq-list a span:last-child{color:var(--lf-green);flex-shrink:0;}
.ab-faq-list a:hover{background:rgba(49,171,70,.1);}
.ab-faq-list a.is-on,
.ab-faq-list a.current{
	background:var(--lf-green);
	color:#fff!important;
}
.ab-faq-list a.is-on span:last-child,
.ab-faq-list a.current span:last-child{color:#fff;}
.ab-faq-title{
	margin:0 0 14px!important;
	font-size:20px!important;
	font-weight:800!important;
	color:var(--lf-ink)!important;
}

/* ---------- 友链 ---------- */
.ab-flink-block{margin-bottom:20px;}
.ab-flink-block:last-child{margin-bottom:0;}
.ab-flink-block h4{
	margin:0 0 12px;
	font-size:15px;
	font-weight:800;
	color:var(--lf-ink);
}
.ab-link-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
	gap:10px;
	margin-bottom:10px;
}
.ab-site{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:8px;
	padding:14px 10px;
	border-radius:14px;
	border:1px solid var(--lf-line);
	background:rgba(247,251,248,.95);
	text-decoration:none!important;
	color:var(--lf-ink)!important;
	font-size:12px;
	font-weight:700;
	text-align:center;
	transition:transform .2s,box-shadow .2s,border-color .2s;
}
.ab-site:hover{
	transform:translateY(-2px);
	border-color:rgba(49,171,70,.4);
	box-shadow:0 10px 24px rgba(49,171,70,.12);
}
.ab-site img{max-width:88px;max-height:40px;object-fit:contain;}
.ab-txt-links{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.ab-txt-links a{
	padding:6px 12px;
	border-radius:999px;
	background:rgba(49,171,70,.08);
	color:var(--lf-green)!important;
	font-size:13px;
	font-weight:700;
	text-decoration:none!important;
}
.ab-txt-links a:hover{background:rgba(49,171,70,.16);}

.ab-steps{display:flex;flex-direction:column;gap:12px;}
.ab-step{
	display:flex;
	gap:14px;
	align-items:flex-start;
	font-size:13px;
	line-height:1.7;
	color:var(--lf-muted);
	font-weight:600;
}
.ab-step b{
	flex-shrink:0;
	width:28px;height:28px;
	border-radius:50%;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:var(--lf-green);
	color:#fff;
	font-size:13px;
	font-weight:800;
	box-shadow:0 4px 12px rgba(49,171,70,.25);
}

.ab-form{display:flex;flex-direction:column;gap:14px;}
.ab-form .row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}
.ab-form .group{display:flex;flex-direction:column;gap:8px;}
.ab-form label{
	font-size:13px;
	font-weight:700;
	color:var(--lf-ink);
}
.ab-form input,
.ab-form select,
.ab-form textarea{
	width:100%;
	height:46px;
	padding:0 14px;
	border:1.5px solid rgba(49,171,70,.2);
	border-radius:10px;
	background:#f7fbf8;
	color:var(--lf-ink);
	font-size:14px;
	font-family:inherit;
	box-sizing:border-box;
	outline:none;
	transition:border-color .2s,box-shadow .2s,background .2s;
}
.ab-form textarea{
	height:auto;
	min-height:100px;
	padding:12px 14px;
	resize:vertical;
	line-height:1.55;
}
.ab-form input:focus,
.ab-form select:focus,
.ab-form textarea:focus{
	border-color:var(--lf-green);
	background:#fff;
	box-shadow:0 0 0 3px rgba(49,171,70,.14);
}
.ab-form .inline{
	display:flex;
	align-items:center;
	gap:10px;
}
.ab-form .inline input{flex:1;min-width:0;}
.ab-form .inline img{
	height:46px;
	border-radius:10px;
	border:1.5px solid rgba(49,171,70,.2);
	cursor:pointer;
	background:#fff;
}
.ab-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:50px;
	border:0;
	border-radius:12px;
	background:linear-gradient(135deg,#5BC46B,#31AB46);
	color:#fff!important;
	font-size:15px;
	font-weight:800;
	letter-spacing:.06em;
	cursor:pointer;
	font-family:inherit;
	box-shadow:0 10px 24px rgba(49,171,70,.28);
	transition:transform .2s,box-shadow .2s;
}
.ab-btn:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 32px rgba(49,171,70,.36);
}

/* ---------- 网站地图 ---------- */
.ab-map-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
	gap:14px;
}
.ab-map-cat{
	padding:16px;
	border-radius:14px;
	background:rgba(49,171,70,.05);
	border:1px solid rgba(49,171,70,.12);
}
.ab-map-cat h4{
	margin:0 0 12px;
	font-size:15px;
	font-weight:800;
}
.ab-map-cat h4 a{
	color:var(--lf-green-deep)!important;
	text-decoration:none!important;
}
.ab-map-cat h4 a:hover{color:var(--lf-green)!important;}
.ab-map-links{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
.ab-map-links a{
	padding:5px 10px;
	border-radius:8px;
	background:#fff;
	border:1px solid rgba(49,171,70,.14);
	color:var(--lf-muted)!important;
	font-size:12px;
	font-weight:700;
	text-decoration:none!important;
	transition:border-color .2s,color .2s,background .2s;
}
.ab-map-links a:hover{
	color:var(--lf-green)!important;
	border-color:rgba(49,171,70,.4);
	background:rgba(49,171,70,.06);
}

/* ---------- 页脚 ---------- */
body.about-life-page .footer{
	position:relative;
	z-index:1;
	margin:0;
	padding:18px 16px 28px;
	text-align:center;
	font-size:12px;
	color:var(--lf-muted);
	background:transparent;
	border:0;
	font-weight:600;
}
body.about-life-page .footer a{
	color:var(--lf-green)!important;
	text-decoration:none;
}

@media (max-width:900px){
	.ab-top__inner{
		flex-direction:column;
		align-items:stretch;
		padding:14px 16px;
	}
	.ab-nav{justify-content:flex-start;}
	.ab-kpis{grid-template-columns:1fr;}
	.ab-split{grid-template-columns:1fr;}
	.ab-form .row{grid-template-columns:1fr;}
}
@media (max-width:560px){
	.ab-nav a{padding:7px 10px;font-size:12px;}
	.ab-panel{padding:18px 16px;}
}
