#game-big-wrapper {
	height: 100vh;
	padding: 15px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

#game-title {
	width: 835px;
}

#game-wrapper {
	height: 735px;
	display: flex;
	justify-content: center;
	flex-direction: row;
}

#data-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 300px;
}

#labels-wrapper {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border: var(--border);
	border-bottom: none;
}

#data-wrapper .label {
	height: 25px;
}

#data-wrapper .label:nth-child(2) {
	border-left: var(--border);
	border-right: var(--border);
}

.label {
	background-color: var(--background-color);
	border-bottom: var(--border);
	text-align: center;
}

#data-columns-wrapper {
	display: grid;
	grid-template-columns: 100px 99px 96px;
	overflow-y: scroll;
	overflow-x: hidden;
	border: var(--border);
	border-left: none;
	border-top: none;
	flex-grow: 1;
}

pre {
	color: var(--text-color);
	background-color: var(--background-color);
	user-select: none;
}

#data-columns-wrapper pre {
	background-color: var(--background-color);
	text-align: right;
	padding-right: 5px;
	border-left: var(--border);
}

.selected-line {
	background-color: var(--selected-line);
	color: var(--selected-line-text);
	font-weight: bold;
}

.error-line {
	background-color: var(--error-line);
	color: var(--error-line-text);
	font-weight: bold;
}

#mid-column {
	margin: 0 30px;
	width: 350px;
	display: flex;
	flex-direction: column;
}

#instructions-wrapper {
	margin-bottom: 20px;
	border: var(--border);
	overflow: hidden;
	min-height: 120px;
}

#instructions {
	min-height: 100%;
	padding: 0 5px;
	overflow-y: auto;
	overflow-x: hidden;
	white-space: pre-wrap;
	word-wrap: break-word;
}

#program-wrapper {
	border: var(--border);
	flex-grow: 1;
	overflow-y: hidden;
	display: flex;
	flex-direction: column;
}

#code-wrapper {
	flex-grow: 1;
	overflow-y: scroll;
	overflow-x: hidden;
}

#code-area {
	display: inline-block;
	padding-left: 5px;
	outline: none;
	min-height: 100%;
	min-width: 100%;
}

#code-area[contenteditable="false"] {
	background-color: var(--background-color-disabled);
}

#error-wrapper {
	margin-top: 20px;
	border: var(--border);
	overflow: hidden;
	min-height: 80px;
}

#errors {
	padding: 0 5px;
	overflow-y: auto;
	overflow-x: hidden;
	white-space: pre-wrap;
	word-wrap: break-word;
	color: var(--error-text-color);
	user-select: none;
	min-height: 100%;
}

#memory-wrapper {
	width: 125px;
	display: flex;
	flex-direction: column;
	height: 300px;
}

#memory-wrapper .label {
	border: var(--border);
}

#registers-wrapper div {
	display: grid;
	grid-template-columns: 30px auto;
	border: var(--border);
	border-top: none;
}

.register {
	border-right: var(--border);
	text-align: center;
	overflow: hidden;
}

.register-value {
	overflow: hidden;
	padding-left: 10px;
}

#right-column {
	display: flex;
	flex-direction: column;
}

#buttons-wrapper {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.game-button {
	height: 50px;
	padding-top: 12px;
	margin-bottom: 15px;
}

.game-button.on {
	border: var(--button-border-on);
}

.button:active {
	border: var(--button-border-click);
}

.button-disabled {
	background-color: var(--button-disabled-color);
	color: var(--button-disabled-text-color);
	cursor: default;
}

.button-disabled:active {
	border: var(--button-border-off);
}

#stop-btn {
	background-color: var(--button-stop-bg);
	color: var(--button-stop-text);
}

#help-btn, #menu-btn {
	background-color: var(--button-help-bg);
	color: var(--button-help-text);
}

#help-btn {
	margin-top: auto;
}

#menu-btn {
	margin-bottom: 0;
}