body.term {
	#content {
		padding-left: 0;
		padding-right: 0;

		h1 {
			font-size: fsize(5);
			@include media($phone) {
				font-size: fsize(3);
			}
		}

		// longer duration to load everything in background nicely
		transition: opacity 0.25s ease-in;
	}
}

#screen {
	white-space: nowrap;
	background: #111213;
	display: inline-block;
	border: 2px solid #3983CD;
	position: relative;
	line-height: 0;

	cursor: default;

	canvas {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}

	canvas.selectable {
		cursor: text;
	}

	.screen-margin {
		position: absolute;
		// #111213 as rgb
		background: rgba(17, 18, 19, 0.2);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		pointer-events: none;

		&.top {
			top: 0;
			left: 0;
			right: 0;
			height: 6px;
		}
		&.left, &.right {
			top: 6px;
			left: 0;
			bottom: 0;
			width: 6px;
		}
		&.right {
			left: auto;
			right: 0;
		}
		&.bottom {
			left: 6px;
			right: 6px;
			bottom: 0;
			height: 6px;
		}
	}

	@include noselect();

	// Dummy input field used to open soft keyboard
	#softkb-input {
		position: absolute;
		// compensate for padding
		top: 6px;
		left: 6px;
		width: 1em;
		height: 1em;
		background: none;
		border: none;
		resize: none;
		overflow: hidden;
		opacity: 0;
		outline: 0 none !important;
		caret-color: transparent;
		color: transparent;
		@include click-through;

		// iOS Safari still shows a caret regardless of the above, so set the font
		// size as small as it can be (will show up as a blinking blue pixel)
		font-size: 1px;
	}

	#touch-select-menu {
		display: none;
		position: absolute;
		// compensate for padding
		top: 6px;
		left: 6px;

		&.open {
			display: block;
		}
	}

	.debug-canvas {
		position: absolute;
		top: 6px;
		left: 6px;
		pointer-events: none;
	}

	.debug-toolbar {
		line-height: 1.5;
		text-align: left;
		padding: 6px 12px 12px 12px;
		font-family: $screen-stack;
		font-size: 12px;
		white-space: normal;

		.toolbar-buttons {
			button {
				margin-right: 5px;
			}
		}

		.heartbeat {
			float: right;
			font-family: $font-stack;
			color: crimson;
			font-size: 120%;
			padding-right: 5px;

			&.beat {
				animation-name: heartbeat-beat;
				animation-duration: 3s;
				animation-fill-mode: forwards;

				@keyframes heartbeat-beat {
					0% {
						transform: scale(1);
						animation-timing-function: ease-out;
					}
					5% {
						transform: scale(1.2);
						animation-timing-function: linear;
					}
					100% {
						transform: scale(0);
						opacity: 0;
					}
				}
			}
		}
	}
}

#action-buttons {
	margin-top: 10px;
	white-space: nowrap;

	button {
		margin: 0 3px;
		padding: 8px 5px;
		min-width: 62px;
		cursor: pointer;
		font-weight: bold;

		&:focus {
			outline: 0 none !important;
		}

		&.inactive {
			opacity: 0.2;
		}
	}
}

#load-failed {
	color: red;
	font-size: 18px;
	font-weight: bold;
	margin: 20px 15px;
}

#screen.failed {
	canvas, .screen-margin {
		display: none;
	}
}

#term-nav {
	padding-top: 1.5em;
	text-align: center;

	a {
		text-decoration: none;
		padding: 5px 5px;
		border-radius: 2px;
		position: relative;

		&, &:visited, &:link {
			color: #336085;
		}

		&:hover {
			color: #5abfff;
			background: #1b273c;
		}

		&:active {
			top: 1px;
		}

		i::before {
			display: inline;
		}

		span {
			margin-left: .2em;
		}

		@include media($phone) {
			span {
				display: none;
			}

			font-size: 130%;
			padding: 6px;
		}
	}

	.icn-keyboard {
		text-decoration: none;
		font-size: 130%; // make it bigger - icon is too small to be recognizable
		vertical-align: middle;
	}
}

#term-wrap {
	text-align: center;
}

#fu_modal {
	align-items: flex-start;
}

#fu_form {
	padding: dist(0);
	margin-top: 100px; // offset

	z-index: 1000;

	label {
		width: 12em;
		display: inline-block;
	}

	input[type="number"], select {
		width: 10em;
	}

	textarea {
		width: 100%;
		min-height: 8em;
		margin-top: dist(-1);
		resize: vertical;
	}

	.fu-buttons {
		text-align: center;
		padding: dist(-2);
		margin-top: dist(-2);
		border-radius: 3px;
	}

	.fu-prog-box {
		display: none;
	}

	&.busy {
		background: rgba($c-modal-bg, .3);
		border-left-color: rgba($c-form-highlight, .3);
		border-right-color: rgba($c-form-highlight, .3);

		.fu-content {
			@include click-through;
			opacity: .3;
		}

		.fu-buttons {
			text-align: left;
			background: $c-modal-bg;
			border: 1px solid $c-form-highlight;
		}

		.fu-prog-box {
			display: inline-block;
		}
	}
}

// shortcut bar on iOS
#keyboard-shortcut-bar {
	border-radius: 4px;
	width: calc(100vw - 20px);
	background: #d1d5db;
	padding: 5px 10px;
	overflow-x: auto;
	margin: 6px;

	&:not(.open) {
		display: none;
	}

	.shortcut-button {
		background: #fff;
		color: #000;
		padding: 10px 20px;
		box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
		text-shadow: none;
		border-radius: 4px;
		margin: 0 10px 0 0;
		font-family: -apple-system, sans-serif;
		min-width: 2em;

		&.modifier:not(.enabled) {
			background: #9ea6b1;
			color: #000;
		}
	}
}

body.pseudo-fullscreen {
	#screen .screen-margin,
	#keyboard-shortcut-bar {
		display: none;
	}
	#outer {
		position: static;
	}
	#screen {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border: none;
	}
	#screen canvas {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
	}
	#term-nav {
		position: fixed;
		width: 100%;
		bottom: 0;
		z-index: 98;
		height: 24px;
		padding: 0;
	}
}

// Attributes
.bold {
	font-weight: bold !important;
}

.faint span { // content of faint is wrapped in span
	opacity: 0.6;
}

.italic {
	font-style: italic;
}

.under {
	text-decoration: underline;
}

.strike {
	text-decoration: line-through;
}

.underline.strike {
	text-decoration: underline line-through;
}

.blink-hide .blink {
	color: transparent;
}
//

.color-example {
	font-family: monospace;
	font-size: 14pt;
	padding: 4px 6px;
}

.preset {
	cursor: pointer;
	font-family: monospace;
	font-size: 14pt;
}

.Row.color-preview {
	label {
		align-self: center;
	}

	@include media($phone) {
		font-size: 12pt;
		align-items: flex-start;

		label {
			align-self: flex-start;
		}
	}

	.colorprev {
		font-family: monospace;
		font-size: 14pt;
		display:block;
		margin: 0;
		cursor: pointer;
	}
}

#color-example {
	display: inline-block;
	padding: 5px;
}

.theme-nav-btn {
	width: 2em;
	height: 2em;
	display: flex;
	align-items: center;
	justify-content: space-around;
	background: #4c4c4c;
	color: #eaeaea;
	margin: 5px;
	border-radius: 5px;

	@include noselect();

	cursor: pointer;
	position: relative;
	&:active {
		top: 1px;
	}
}