body {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0;
}

#loadingWrapper h1, #configWrapper h1 {
	text-align: center;
}

body.loaded #loadingWrapper {
	display: none;
}

body:not(.loaded) #configWrapper {
	display: none;
}

#crothesSetWrapper {
	text-align: center;
	margin-bottom: 1em;
}

body.gameRunning #configWrapper {
	display: none;
}

#crothesSetSelector {
	margin-bottom: 1em;
}

#crothesSetImage {
	max-width: 25em;
	max-height: 10em;
}

#crothesSetWrapper:not(.modelLoading) #crothesLoadingIndicator {
	display: none;
}

#crothesSetWrapper:not(.modelLoadFailed) #crothesLoadFailedIndicator {
	display: none;
}

#crothesSetWrapper.modelLoading #crothesSetImage, #crothesSetWrapper.modelLoadFailed #crothesSetImage {
	display: none;
}

#paramsWrapper {
	display: table;
}

#paramsWrapper > div {
	display: table-row;
}

#paramsWrapper > div > div {
	display: table-cell;
	text-align: center;
	padding: 0.25em 0.5em;
}

#firstControlApiUrl, #secondControlApiUrl {
	margin-top: 0.1em;
	width: calc(100% - 1em);
}

select:not(.externalSelected) ~ input.apiUrlArea {
	visibility: hidden;
}

#startWrapper {
	text-align: center;
	margin-top: 1em;
}

#startButton {
	font-size: 300%;
	padding: 0.1em 0.5em;
}

#userModelWrapper {
	text-align: center;
	margin-top: 1.5em;
}

#deleteModelButton {
	margin-left: 1em;
}

#boardWrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
}

body:not(.gameRunning) #boardWrapper {
	display: none;
}

#statusArea {
	display: grid;
	grid-template-rows: 1fr auto auto;
	grid-template-columns: auto auto 1fr auto auto;
	margin-top: 1em;
	margin-bottom: 1em;
}

#controlArea {
	grid-row: 1 / span 2;
	grid-column: 3;
	text-align: center;
	align-content: center;
}

#retryButton, #returnButton {
	padding: 0.25em 0.5em;
}

#retryButton {
	margin-right: 0.5em;
}

#returnButton {
	margin-left: 0.5em;
}

#firstImageArea {
	grid-row: 1 / span 3;
	grid-column: 1;
}

#secondImageArea {
	grid-row: 1 / span 3;
	grid-column: 5;
}

#firstImageArea, #secondImageArea {
	line-height: 0;
	border: 2px solid transparent;
}

#firstImageArea.myTurn {
	border-color: red;
}

#secondImageArea.myTurn {
	border-color: blue;
}

#firstImage, #secondImage {
	height: 6em;
	margin: 2px;
}

#firstNameArea {
	grid-row: 1;
	grid-column: 2;
	text-align: left;
	padding-left: 0.5em;
	padding-right: 0.5em;
	align-content: end;
}

#secondNameArea {
	grid-row: 1;
	grid-column: 4;
	text-align: right;
	padding-left: 0.5em;
	padding-right: 0.5em;
	align-content: end;
}

#firstNumArea {
	grid-row: 2;
	grid-column: 2;
	text-align: left;
	padding-left: 0.5em;
}

#secondNumArea {
	grid-row: 2;
	grid-column: 4;
	text-align: right;
	padding-right: 0.5em;
}

#graphArea {
	grid-row: 3;
	grid-column: 2 / span 3;
	display: grid;
	height: 1em;
	padding-left: 0.5em;
	padding-right: 0.5em;
}

#firstBar {
	grid-row: 1;
	grid-column: 1;
	background-color: red;
}

#secondBar {
	grid-row: 1;
	grid-column: 2;
	background-color: blue;
}

#boardArea {
	display: grid;
	grid-template-rows: repeat(8, 1fr);
	grid-template-columns:repeat(8, 1fr);
	border: 1px solid black;
	width: fit-content;
	height: fit-content;
}

#boardArea button {
	border: 1px solid black;
	background: none;
	padding: 0;
	line-height: 0;
	width: fit-content;
	height: fit-content;
}

#boardArea canvas {
	max-width: calc((100vw - 2em) / 8 - 2px);
	max-height: calc((100vh - 12em) / 8 - 2px);
}

#boardArea:not(.animating) button:not(:disabled) {
	background-color: lightcoral;
}

#boardArea:not(.animating).secondTurn button:not(:disabled) {
	background-color: dodgerblue;
}

#boardArea:not(.animating).manualMode button:not(:disabled) {
	cursor: pointer;
}
