/* animate.css 精简版（2026-08-08 性能专项）。
 * 原 animate.min.css 62,502 B 含 74 个动画，而全站模板实测只用到 4 个：
 * fadeInDown(167 处) / fadeInUp(130) / fadeInRight(4) / fadeInLeft(2)。
 * 本文件由 scripts 从原版精确提取生成，原文件保留在同目录以便回滚。
 * 若日后新增其他动画类，须回到完整版或在此补对应 keyframes。 */
@-webkit-keyframes fadeInDown {
0% {
opacity:0;
-webkit-transform:translateY(-20px);
transform:translateY(-20px)
}
100% {
opacity:1;
-webkit-transform:translateY(0);
transform:translateY(0)
}
}@keyframes fadeInDown {
0% {
opacity:0;
-webkit-transform:translateY(-20px);
-ms-transform:translateY(-20px);
transform:translateY(-20px)
}
100% {
opacity:1;
-webkit-transform:translateY(0);
-ms-transform:translateY(0);
transform:translateY(0)
}
}@-webkit-keyframes fadeInLeft {
0% {
opacity:0;
-webkit-transform:translateX(-20px);
transform:translateX(-20px)
}
100% {
opacity:1;
-webkit-transform:translateX(0);
transform:translateX(0)
}
}@keyframes fadeInLeft {
0% {
opacity:0;
-webkit-transform:translateX(-20px);
-ms-transform:translateX(-20px);
transform:translateX(-20px)
}
100% {
opacity:1;
-webkit-transform:translateX(0);
-ms-transform:translateX(0);
transform:translateX(0)
}
}@-webkit-keyframes fadeInRight {
0% {
opacity:0;
-webkit-transform:translateX(20px);
transform:translateX(20px)
}
100% {
opacity:1;
-webkit-transform:translateX(0);
transform:translateX(0)
}
}@keyframes fadeInRight {
0% {
opacity:0;
-webkit-transform:translateX(20px);
-ms-transform:translateX(20px);
transform:translateX(20px)
}
100% {
opacity:1;
-webkit-transform:translateX(0);
-ms-transform:translateX(0);
transform:translateX(0)
}
}@-webkit-keyframes fadeInUp {
0% {
opacity:0;
-webkit-transform:translateY(20px);
transform:translateY(20px)
}
100% {
opacity:1;
-webkit-transform:translateY(0);
transform:translateY(0)
}
}@keyframes fadeInUp {
0% {
opacity:0;
-webkit-transform:translateY(20px);
-ms-transform:translateY(20px);
transform:translateY(20px)
}
100% {
opacity:1;
-webkit-transform:translateY(0);
-ms-transform:translateY(0);
transform:translateY(0)
}
}.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both
}.animated.infinite {
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite
}.fadeInDown {
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown
}.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp
}.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft
}.fadeInRight {
	-webkit-animation-name: fadeInRight;
	animation-name: fadeInRight
}
