.task_complete_tips_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;

	.mask_overlay {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0);
		&::after {
			content: '';
			position: absolute;
			bottom: 42rpx;
			right: 26rpx;
			width: 136rpx;
			height: 136rpx;
			background: transparent;
			border-radius: 20rpx;
			box-shadow: 0 0 0 9999rpx rgba(0, 0, 0, 0.8);
			mix-blend-mode: multiply;
		}
	}

	.task_complete_tips_container {
		position: relative;
		width: 600rpx;
		// height: 500rpx;
		border-radius: 30rpx;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		z-index: 2;

		.tips_title {
			font-size: 64rpx;
			font-weight: 400rpx;
			color: #ffffff;
			margin-bottom: 20rpx;
			text-align: center;
			display: block;
			// overflow: hidden;
			// text-overflow: ellipsis;
			// white-space: nowrap;
			max-width: 560rpx;
			max-height: 200rpx;
		}

		.points_text {
			font-size: 32rpx;
			color: #ffffff;
			margin-bottom: 60rpx;
			text-align: center;
		}

		.task_complete_icon_container {
			position: relative;
			width: 300rpx;
			height: 300rpx;
			margin-bottom: 60rpx;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.task_complete_icon {
			position: absolute;
			width: 238rpx;
			height: 232rpx;
			left: 50%;
			top: 50%;
			transform: translate(-50%, -50%);
		}

		.task_complete_icon_animating {
			animation: taskCompleteIconFly 1s linear 1;
			z-index: 5;
		}

		.accept_button {
			width: 324rpx;
			height: 78rpx;
			background: #D3A458;
			border-radius: 40rpx;
			display: flex;
			align-items: center;
			justify-content: center;
			margin-bottom: 104rpx;

			.accept_button_text {
				font-size: 32rpx;
				color: #ffffff;
				font-weight: 400;
			}
		}

		.close_button {
			width: 60rpx;
			height: 60rpx;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			background: rgba(255, 255, 255, 0.7);

			.close_icon {
				margin-top: -7rpx;
				margin-left: 2rpx;
				font-size: 40rpx;
				color: #ffffff;
				// font-weight: bold;
			}
		}
	}
}

/* 缓动动画关键帧 - 优化版本，更流畅 */
@keyframes taskCompleteIconFly {
	0% {
		transform: translate(-50%, -50%) scale(1.3) rotate(0deg);
		opacity: 1;
	}

	15% {
		transform: translate(calc(-50% + 80rpx), calc(-50% + 100rpx)) scale(1.25) rotate(8deg);
		opacity: 1;
	}

	30% {
		transform: translate(calc(-50% + 140rpx), calc(-50% + 220rpx)) scale(1.2) rotate(14deg);
		opacity: 1;
	}

	45% {
		transform: translate(calc(-50% + 180rpx), calc(-50% + 340rpx)) scale(1.1) rotate(20deg);
		opacity: 0.95;
	}

	60% {
		transform: translate(calc(-50% + 205rpx), calc(-50% + 420rpx)) scale(0.95) rotate(28deg);
		opacity: 0.85;
	}

	75% {
		transform: translate(calc(-50% + 215rpx), calc(-50% + 480rpx)) scale(0.6) rotate(36deg);
		opacity: 0.7;
	}

	90% {
		transform: translate(calc(-50% + 220rpx), calc(-50% + 530rpx)) scale(0.25) rotate(42deg);
		opacity: 0.4;
	}

	100% {
		transform: translate(calc(-50% + 225rpx), calc(-50% + 580rpx)) scale(0) rotate(45deg);
		opacity: 0;
	}
}