#machine_text_wrapper {
	margin: 0 auto;
	width: 410px;
}
#machine_text {
	text-align: center;
	font-family: "Fira Code", "Monaco", "Courier New";
	font-size: 21px;
	width: 400px;
	border: 1px solid rgba(0,0,0,0.5);
	padding: 5px;
	border-radius: 30px;
}
#machine_text.correct {
	background-color: #aaffb8;
}
#machine_text.wrong {
	background-color: #ffb4aa;
}
#machine_template {
	font-family: "Fira Code", "Monaco", "Courier New";
	font-size: 21px;
	text-align: center;
}
#machine_return {
	display: none;
	text-align: center;
}
#machine_return .bad_entry {
	color: red;
}

text {
	/*visibility: hidden;*/
}
text.grammar_nt_S {
	visibility: visible;
}
text.grammar_nt_mod, text.grammar_nt_seq, text.grammar_nt_alt, text.grammar_nt_seq0 {
	transform: translateY(-0.5px);
}
text.grammar_terminal {
	font-family: Monaco;
}
text.grammar_terminal {
	transform: translateY(-0.5px);
	visibility: visible;
}
text.grammar_epsilon {
	transform: translateY(-0.7px);
	visibility: visible;
}
rect.grammar_se_seq {
	fill: #f88c80;
}
text.grammar_se_seq {
	transform: translateY(-0.5px);
	visibility: visible;
}
span.se_seq {
	color: #f88c80;
}
rect.grammar_se_plus, rect.grammar_se_star, rect.grammar_se_opt {
	fill: #64b15c;
}
span.se_plus, span.se_opt, span.se_star {
	color: #64b15c;
}
text.grammar_se_plus, text.grammar_se_star, text.grammar_se_opt {
	transform: translateY(-0.5px);
	visibility: visible;
}
rect.grammar_se_alt {
	fill: #c8688e;
}
span.se_alt {
	color: #c8688e;
}
text.grammar_se_alt {
	transform: translateY(-0.5px);
	visibility: visible;
}
text.grammar_se_char {
	transform: translateY(-0.5px);
	visibility: visible;
}
span.se_char_char {
	color: #f57f29;
	font-weight: bold;
	font-size: 1.2em;
}
rect.grammar_se_digit, rect.grammar_se_alpha {
	fill: #db6f4e;
}
span.se_digit, span.se_alpha {
	color: #db6f4e;
}
text.grammar_se_alpha {
	font-size: 3px;
}
text.grammar_se_digit, text.grammar_se_alpha {
	transform: translateY(-0.5px);
	visibility: visible;
}