:root {
	/* One phosphor colour, two intensities. Nothing else. */
	--bg: #0b120c;
	--fg: #3df06a;
	--dim: #1d7a3b;
	--error: #d9603f;
}

* {
	box-sizing: border-box;
}

html {
	height: 100%;
	background: var(--bg);
}

body {
	height: 100%;
	margin: 0;
	color: var(--fg);
	background: var(--bg);
	font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace;
	font-size: 15px;
	line-height: 1.6;
	text-transform: uppercase;
	overflow: hidden;
}

::selection {
	color: var(--bg);
	background: var(--fg);
}

.terminal {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-width: 80ch;
	margin: 0 auto;
	padding: clamp(1rem, 4vw, 2.5rem) clamp(1rem, 4vw, 2rem);
	overflow-y: auto;
}

.masthead {
	margin: 0 0 1.6em;
	padding-bottom: 0.8em;
	border-bottom: 1px solid var(--dim);
}

.masthead p {
	margin: 0;
}

.output {
	white-space: pre-wrap;
	word-break: break-word;
}

.line {
	min-height: 1.6em;
	padding-left: var(--indent, 0);
	text-indent: calc(-1 * var(--indent, 0));
}

.line--error {
	color: var(--error);
}

.line-label,
.prompt-label {
	flex: none;
	color: var(--dim);
}

.prompt {
	display: flex;
	gap: 1ch;
	align-items: baseline;
}


.prompt-field {
	position: relative;
	flex: 1;
	min-width: 0;
}

.prompt-input {
	width: 100%;
	padding: 0;
	border: 0;
	outline: none;
	color: inherit;
	background: none;
	caret-color: transparent;
	font: inherit;
	text-transform: inherit;
}

.prompt-cursor {
	position: absolute;
	bottom: 0.05em;
	left: calc(var(--caret, 0) * 1ch);
	width: 1ch;
	height: 1.15em;
	background: var(--fg);
	animation: blink 1.1s steps(1, end) infinite;
	pointer-events: none;
}

.prompt-input:not(:focus) + .prompt-cursor {
	background: none;
	box-shadow: inset 0 0 0 1px var(--dim);
	animation: none;
}


.kolo-image {
	display: block;
	width: 100%;
	max-width: 48ch;
	margin: 0.4em 0;
	border: 1px solid var(--dim);
	
}

@keyframes blink {
	50% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.prompt-cursor {
		animation: none;
	}
}

@media (max-width: 520px) {
	body {
		font-size: 14px;
	}
}
