*, *::before, *::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Poppins', sans-serif;
}

body, html {
	width: 100%;
	height: 100%;
}

.wrap {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background-color: #28292b;
}

.wrap .snake-container {
	--deg: 0deg;
	width: 600px;
	aspect-ratio: 1/1;
	background-color: hsl(223, 20%, 17%);
	border: 2px solid hsl(223, 20%, 20%);
	border-radius: 10px;
	display: grid;
	grid-template-columns: repeat(25, 1fr);
	grid-template-rows: repeat(25, 1fr);
	padding: 20px;
	position: relative;
	isolation: isolate;
}

.wrap .score-board {
	min-width: 300px;
	height: auto;
	padding: 20px;
	margin-bottom: 10px;
	background-color: hsl(223, 20%, 17%);
	background-color: rgba(255,255,255,0.1);
	border: 2px solid #555;
	border-radius: 10px;
	position: relative;
}

.wrap .score-board h5 {
	color: #ccc;
	font-size: 17px;
	width: 100%;
	font-weight: 600;
}

.wrap .score-board h5 span {
	float: right;
	color: hsl(190, 60%, 52%);
}

.wrap .score-board h5 span#high-score {
	color: hsl(157, 65%, 57%);
}

.wrap .score-board .new-high {
	width: auto;
	height: auto;
	padding: 10px;
	background-color: hsl(157, 65%, 57%);
	position: absolute;
	top: 50%;
	left: calc(100% + 15px);
	translate: 0 -50%;
	border-radius: 7px;
	border: 2px solid hsl(157, 65%, 37%);
	animation: bounce 4s linear infinite;
}

.wrap .score-board .new-high p {
	width: max-content;
	font-size: 14px;
	font-weight: 600;
}

.wrap .snake-container::before {
	background-color: #111;
	box-shadow: 0 0 0 2px hsl(223, 20%, 20%);
	position: absolute;
	content: '';
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	top: 20px;
	left: 20px;
	border-radius: 5px;
	z-index: -1
}

.wrap .snake-container div {
	width: 100%;
	height: 100%;
	border-radius: 2px;
	transition: .1s ease;
	box-shadow: 0 0 0 2px #ddd inset;
}

.wrap .snake-container .snake {
	/*background: hsl(30, 100%, 50%);*/
	background: linear-gradient(to bottom, hsl(36, 100%, 50%) 0% 25%, hsl(170, 59%, 84%) 25% 75%, hsl(36, 100%, 50%) 75% 100%);
	/*box-shadow: 0 0 0 2px hsl(36, 100%, 60%) inset;*/
	grid-column-start: 5;
	grid-row-start: 5;
	rotate: var(--deg);
}

.wrap .snake-container .snake:first-child {
	background: hsl(0, 100%, 50%);
	position: relative;
	border-radius: 0 50px 50px 0;
	z-index: 2
}

.wrap .snake-container .snake:first-child .tongue {
	position: absolute;
	width: 10px;
	height: 3px;
	border-radius: 0 3px 3px 0;
	background-color: hsl(36, 100%, 50%);
	right: 0;
	top: 50%;
	translate: 100% -50%;
	animation: tongue 3s ease-in-out infinite;
}

.wrap .snake-container .snake:first-child::before,
.wrap .snake-container .snake:first-child::after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	background-color: black;
	border-radius: 50%;
	right: 2px;
	box-shadow: 0 0 0 1px white inset;
}
.wrap .snake-container .snake:first-child::after {
	bottom: 0;
}

.wrap .snake-container .food {
	background-color: hsl(120, 100%, 46%);
	animation: food 2s ease infinite;
	position: relative;
	z-index: 0;
}

@keyframes food {
	0% {
		scale: 0.9;
	}
	10%{
		scale: 1.3
	}
	35% {
		scale: 0.9;
	}
	50%{
		scale: 1.1;
	}
	75% {
		scale: 0.9;
	}
	80%, 100%{
		scale: 1;

	}
}

@keyframes tongue {
	0%, 20% {
		width: 0px;
	}
	3%, 23% {
		width: 12px;
	}
	6%, 26%, 100% {
		width: 0px;
	}
}

@keyframes bounce {
	0%, 
}