#rg-container, #rg-title {
	text-align: center;
}

#instructions, #mazeDiv {
	display: inline-block;
	text-align: left;
}

#instructions ul {
	padding-inline-start: 10px;
}

.rel {
	position: relative;
}
.label {
	display: inline-block;
	position: absolute;
	margin-left: -3px;
	margin-top: -7px;
}
#character {
	position: absolute;
	transition: left 0.2s, top 0.2s;
}
#character img {
	--size: min(3.973vw, 24px);
	--offset: max(-1.987vw, -12px);
	width: var(--size);
	height: auto;
	margin-top: var(--offset);
	margin-left: var(--offset);
	display: none;
}
#character.red #red,
#character.blue #blue {
	display: block;
}
#bubble {
	position: absolute;
	left: 58.77%;
	top: 72.14%;
	background: url('bubble.png');
	background-size: cover;
	width: 22%;
	height: 14.925%;
	box-sizing: border-box;
	transition: width 0.5s 0.3s ease-out, height 0.5s 0.3s ease-out;
}
#bubble .text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin-top: -2px;
	opacity: 1;
	display: inline-block;
	transition: opacity 0.3s 0.7s linear;
	text-align: center;
	font-size: min(2.5vw, 100%);
}

#bubble.rg-hidden {
	width: 0;
	height: 0;
}
#bubble.rg-hidden .text {
	opacity: 0;
	transition: opacity 0.1s linear;
}
#bubble.completed .text#stuck-text,
#bubble.stuck .text#completed-text {
	display: none;
}

.fit-box {
	max-inline-size: 100%;
	block-size: auto;
}

.touch {
	/**/display: none;/**/
}

@media(hover: none) {
	.touch {
		display: initial;
	}
	.keys {
		display: none;
	}
}