/* reset */
* {
	margin: 0;
	box-sizing: border-box;
}

/* body */
body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	min-height: 100vh;
	background-color: rgb(15, 25, 50);
}

/* link */
a {
	color: #cd88fb;
	font-weight: bolder;
	text-decoration: none;
}

a:hover {
	color: #9d27ec;
	text-decoration: underline;
}

/* container */
.container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 5vw;
	min-height: 100%;
}

/* bot name */
.bot-name {
	color: #cd88fb;
	margin-right: 36px;
	font-size: 450%;
	text-shadow: -1px -2px 0 rgb(0, 60, 140),
		1px -2px 0 rgb(0, 60, 140),
		-1px 2px 0 rgb(0, 60, 140),
		1px 2px 0 rgb(0, 60, 140);
}

/* status */
.status {
	color: lime;
	font-size: 450%;
	text-shadow: -1px -1px 0 black,
		1px -1px 0 black,
		-1px 1px 0 black,
		1px 1px 0 black;
	animation: blink 1s infinite;
}

@keyframes blink {
	50% {
		color: darkgreen;
	}
}

/* outline */
.outline {
	position: relative;
	height: fit-content;
	width: fit-content;
	background-color: rgb(0, 25, 50);
	border-radius: 20px;
	padding: 10px;
	overflow: hidden;
	z-index: -1;
}

.outline::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	height: 200%;
	width: 100%;
	border-radius: 20px;
	padding: 10px;
	transform-origin: bottom right;
	background: linear-gradient(45deg,
			transparent,
			transparent,
			rgba(45, 255, 246, 1));
	animation: outline 2s ease-in-out infinite;
	z-index: -1;
}

@keyframes outline {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* loader */
.loader {
	background-color: rgb(0, 15, 35);
	height: 60%;
	padding-inline: 20px;
	border-radius: 20px;
}

/* header */
header {
	display: flex;
	justify-content: space-between;
	padding: 5px;
	padding-inline: 20px;
	background-color: rgb(43, 51, 106);
	align-items: center;
	width: -webkit-fill-available;
}

/* header logo */
.header-logo {
	flex-shrink: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #cd88fb;
	font-size: 250%;
	font-weight: 500;
}

/* header link */
.header-link {
	flex-shrink: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* header link a */
.header-link a {
	display: flex;
	flex-direction: column;
	padding: 20px;
	align-items: center;
	justify-content: center;
}

/* active */
.active {
	color: #cd88fb;
}

/* footer */
footer {
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	background-color: rgb(43, 51, 106);
	color: #ffffff;
	font-size: 20px;
	width: 100%;
}

/* footer b */
footer b {
	padding-inline: 20px;
}