.fbo-sudoku-wrapper {
	max-width: 520px;
	margin: 20px auto;
	font-family: 'Comic Sans MS', 'Caveat', 'Chalkboard SE', sans-serif;
	box-sizing: border-box;
}
.fbo-sudoku-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	width: 100%;
	height: 260px;
	background-color: #fffdf5;
	border: 2px solid #2980b9;
	box-sizing: border-box;
}
.fbo-sudoku-cell {
	border: 1px solid #009fe3;;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-size: 28px;
	font-weight: bold;
}
.fbo-sudoku-given {
	color: #111111;
}
.fbo-sudoku-input {
	width: 80%;
	height: 80%;
	background: transparent;
	text-align: center;
	font-size: 28px;
	font-family: inherit;
	font-weight: bold;
	color: #e74c3c;
	outline: none;
	border: none !important;
	appearance: textfield !important;
}
.fbo-sudoku-input::-webkit-outer-spin-button,
.fbo-sudoku-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.fbo-sudoku-input.fbo-correct {
	color: #27ae60;
}
.fbo-sudoku-input.fbo-incorrect {
	color: #c0392b;
	background-color: #fadbd8;
}
.fbo-sudoku-solution-reveal {
	color: #d32f2f;
	font-weight: bold;
}
.fbo-sudoku-sum {
	position: absolute;
	background-color: #009fe3;
	color: #ffffff;
	font-weight: bold;
	font-size: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32%;
	height: 18%;
	border-radius: 2px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.15);
	z-index: 10;
	pointer-events: none;
}
.fbo-sum-1 { top: 33.33%; left: 33.33%; transform: translate(-50%, -50%); }
.fbo-sum-2 { top: 33.33%; left: 66.66%; transform: translate(-50%, -50%); }
.fbo-sum-3 { top: 66.66%; left: 33.33%; transform: translate(-50%, -50%); }
.fbo-sum-4 { top: 66.66%; left: 66.66%; transform: translate(-50%, -50%); }

.fbo-sudoku-actions {
	display: flex;
	gap: 10px;
	justify-content: center;
	margin-top: 15px;
}

@media screen and (max-width:460px) {
	.fbo-sudoku-actions {
		flex-direction: column;
	}
}

.fbo-btn {
	font-family: 'Cabin';
	color: #FFF;
	background-color: #009fe3;
	height: 40px;
	border: none;
	border-radius: 2px;
	font-size: 12px;
	text-transform: uppercase;
	line-height: 1;
	text-align: center;
	padding: 14px 20px;
	font-weight: 700;
	box-shadow: 0 3px 5px 0 rgba(0,0,0,.1),inset 0 0 0 transparent;
	transition: all .2s ease-in-out;
}
.fbo-btn:hover {
	box-shadow: 0 5px 10px 0 rgba(0,0,0,.3),inset 0 0 230px rgba(0,0,0,.1);
}
.fbo-sudoku-feedback {
	font-family: 'Cabin';
	margin-top: 10px;
	text-align: center;
	font-weight: bold;
}