* {
	margin: 0;
	padding: 0;

	box-sizing: border-box;
}

body {
	background: #111;
}
section {
	display: flex;
	justify-content: center;
	align-items: center;

	min-height: 100vh;

	background: #042104;

	animation: animates 10s linear infinite;
}
@keyframes animates {
	0% {
		filter: hue-rotate(0deg);
	}
	100% {
		filter: hue-rotate(360deg);
	}
}
section .loader {
	position: relative;
	width: 120px;
	height: 120px;
}
section .loader span {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 100%;

	transform: rotate(calc(18deg * var(--i)));
}
section .loader span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;

	width: 15px;
	height: 15px;

	border-radius: 50%;

	background: #00ff0a;
	box-shadow: 0 0 10px #00ff0a, 0 0 20px #00ff0a, 0 0 40px #00ff0a,
		0 0 100px #00ff0a, 0 0 200px #00ff0a;

	animation: animate 2s linear infinite;
	animation-delay: calc(0.1s * var(--i));
}
@keyframes animate {
	0% {
		transform: scale(1);
	}

	80%,
	100% {
		transform: scale(0);
	}
}
