/**
 * 十周年UI - 特效样式
 */

/** 特效窗口 */

.effect-window {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	transition-timing-function: ease-in;
	z-index: 9;
}

/** 击杀特效 */

/* 击杀者 */
.effect-window > .killer-warpper {
	display: block;
	left: 100%;
	top: calc(50% - 180px);
	width: 240px;
	height: 360px;
	animation: moveout-left-killer 2.6s 0.2s forwards;
	z-index: 2;
}

.effect-window > .killer-warpper::before {
	content: "";
	display: block;
	position: absolute;
	left: -40%;
	top: -40%;
	width: 180%;
	height: 180%;
	background-image: url("../../image/ui/misc/shine.png");
	background-size: 100% 100%;
	background-repeat: no-repeat;
	z-index: -1;
}

.effect-window > .killer-warpper > .killer {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top;
}

/* 被击杀者 */
.effect-window > .victim {
	display: block;
	left: 100%;
	top: calc(50% - 135px);
	width: 180px;
	height: 270px;
	animation: moveout-left-victim 2.6s 0.2s forwards;
	z-index: 1;
}

.effect-window > .victim > div {
	filter: drop-shadow(0 0 3px black) grayscale(1);
	-webkit-filter: drop-shadow(0 0 3px black) grayscale(1);
}

.effect-window > .victim > .back {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

/* 分裂效果 */
.effect-window > .victim > .back > .part1,
.effect-window > .victim > .back > .part2 {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: top;
	animation-delay: 1s;
	animation-duration: 0.6s;
	animation-fill-mode: forwards;
}

.effect-window > .victim > .back > .part1 {
	animation-name: split-part1;
	clip-path: polygon(0 0, 100% 0, 100% 70%, 0 30%);
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 70%, 0 30%);
}

.effect-window > .victim > .back > .part2 {
	animation-name: split-part2;
	clip-path: polygon(0 30%, 100% 70%, 100% 100%, 0 100%);
	-webkit-clip-path: polygon(0 30%, 100% 70%, 100% 100%, 0 100%);
}

/* 败字效果 */
.effect-window > .victim > .rout {
	display: flex;
	align-items: center;
	justify-content: center;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	font-size: 100px;
	font-family: xinwei;
	color: rgb(70, 15, 15);
	text-align: center;
	text-shadow: 0 0 10px red;
	opacity: 0;
	filter: none;
	-webkit-filter: none;
	animation: scale-rout 0.5s 0.5s forwards;
}

.effect-window > .victim > .rout.shadow {
	animation: scale-rout-shadow 1s 0.8s forwards;
}

/** 光效 */

.effect-window > .li {
	display: block;
	left: 100%;
	top: calc(50% - 5px);
	width: 300px;
	height: 10px;
	border-radius: 50%;
	background-image: radial-gradient(white, rgb(250, 250, 100));
	box-shadow:
		0 0 10px rgb(250, 250, 100),
		0 0 20px rgb(250, 250, 100),
		0 0 30px rgb(250, 250, 100);
	filter: blur(1px);
	-webkit-filter: blur(1px);
	animation: moveout-left 0.4s forwards;
	animation-iteration-count: 2;
}

.effect-window > .li-big {
	display: block;
	left: 100%;
	top: calc(50% - 70px);
	width: 120%;
	height: 120px;
	border-radius: 15% / 50%;
	background: linear-gradient(to right, white, white 70%, transparent);
	-webkit-filter: blur(10px) drop-shadow(0 0 50px yellow);
	animation: moveout-left-li-big 0.8s linear forwards;
}

/** 技能名显示 */

.skill-name {
	display: block;
	position: absolute;
	left: 50%;
	top: calc(50% + 165px);
	font-size: 55px;
	font-family: xingkai;
	color: rgb(215, 234, 67);
	text-shadow:
		0 0 5px rgb(77, 60, 51),
		0 0 4px rgb(77, 60, 51);
	transform: translateX(-50%);
	animation: scale-skill-name 2.18s linear forwards;
	z-index: 99 !important;
}

/** 动画定义 */

@keyframes moveout-left-killer {
	0% {
		left: 100%;
	}

	10% {
		left: calc(32% - 120px);
	}

	60% {
		left: calc(32% - 120px);
		opacity: 1;
	}

	100% {
		left: calc(32% - 120px);
		opacity: 0;
	}
}

@keyframes moveout-left-victim {
	0% {
		left: 100%;
	}

	6% {
		left: calc(67% - 90px);
	}

	60% {
		left: calc(67% - 90px);
		opacity: 1;
	}

	100% {
		left: calc(67% - 90px);
		opacity: 0;
	}
}

@keyframes moveout-left-li-big {
	0% {
		left: 100%;
	}

	100% {
		left: -120%;
	}
}

@keyframes split-part1 {
	0% {
		transform: translateZ(0);
	}

	100% {
		transform: translate(20px, -20px);
	}
}

@keyframes split-part2 {
	0% {
		transform: translateZ(0);
	}

	100% {
		transform: translate(-20px, 20px);
	}
}

@keyframes scale-rout {
	0% {
		opacity: 1;
		transform: scale(8);
	}

	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes scale-rout-shadow {
	0% {
		opacity: 1;
		transform: scale(1);
	}

	100% {
		opacity: 0.1;
		transform: scale(1.8);
	}
}

@keyframes scale-skill-name {
	0% {
		opacity: 0;
		transform: translateX(-50%) scale(5);
	}

	18% {
		opacity: 0;
		transform: translateX(-50%) scale(5);
	}

	20% {
		opacity: 1;
		transform: translateX(-50%) scale(4.5);
	}

	23% {
		opacity: 1;
		transform: translateX(-50%) scale(0.95);
	}

	27% {
		opacity: 1;
		transform: translateX(-50%) scale(1);
	}

	92% {
		opacity: 1;
		transform: translateX(-50%) scale(1);
	}

	100% {
		opacity: 0;
		transform: translateX(-50%) scale(1);
	}
}
