html, body {
	padding: 0;
	margin: 0;
	height: 100%;
	font-family: sans-serif;
	background: black;
}

.page-layout {
	display: grid;
	grid-template-rows: auto 1fr;
	grid-template-columns: 200px 1fr;
	height: 100vh;
	box-sizing: border-box;
}

.header-section {
	grid-column: span 2;
	background-color: black;
	color: white;
	padding: 10px;
	border: 10px solid #4B006E;

	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
}

.sidebar {
	grid-row: 2;
	grid-column: 1;
	background-color: black;
	padding: 20px;
	overflow-y: auto;
	border-right: 10px solid #4B006E;
	color: white;
}

.menu-btn {
	cursor: pointer;
	padding: 8px 8px;
	border: 4px solid #14006E;
	border-radius: 4px;
	transition: background 0.2s ease;
}

.menu-btn:hover {
	background-color: #dcdde1;
}

.menu-btn.active {
	background-color: #6E005A !important;
	color: white !important;
}

.container {
	grid-row: 2;
	grid-column: 2;
	background-color: #87CEEB;
	position: relative;
	overflow: hidden;
}

.page-content {
	padding: 20px;
	color: #333;
}

.floor {
	position: absolute;
	bottom: 0;
	left: 0;

	width: 100%;
	height: 320px;
	background-image: url('floor.png');
	background-size: 320px 320px;
	background-repeat: repeat;
	
	image-rendering: pixelated;
	image-rendering: crisp-edges;
}

.character {
	position: absolute;
	bottom: 75px;
	left: 0;
	width: 64px;
	height: 64px;

	background-image: url('spritesheet.png');
	background-size: 128px 64px;
	background-repeat: no-repeat;

	image-rendering: pixelated;
	image-rendering: crisp-edges;
	
	transform: translateX(-50%) scaleX(var(--flip, 1));
}

.doppio-one-regular {
  font-family: "Doppio One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.paint-splat {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 100vh;
	background-color: #6E005A;
	border-radius: 50%;
	transform: translate(-50%, -50%) scale(0);
	pointer-events: none;
	z-index: 50;

	transition: transform 0.6s linear, top 1.0s cubic-bezier(0.4, 0, 0.6, 1), border-radius 0.6s linear;
	will-change: transform, top;
}

.paint-splat.splat {
	transform: translate(-50%, -50%) scale(2.5);
	border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
}

.paint-splat.slide-down {
	top: 300vh;
}

.paint-splat.no-transition {
	transition: none !important;
}

.paint-projectile {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #6E005A;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 99;
}
