@keyframes blink {
	to {
		visibility: hidden;
	}
}

@-webkit-keyframes blink {
	to {
	  visibility: hidden;
	}
  }

:root {
	--frame-color-edges: rgb(60, 70, 69);
	--frame-color-center: rgb(51, 58, 56);
	--screen-color-center: rgb(22, 22, 22);
	--screen-color-edges: rgb(8, 8, 8);
	--text-color: #fff;
	--text-color-rgb: 255, 255, 255;
	--text-color-alt: #0f0;
	--font-family: "VT323", "Cutive Mono", monospace;
	--text-shadow: 0 0 12px var(--text-color)
}

html,
body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;

	font-family: var(--font-family);
	font-size: 16pt;
}

* {
	box-sizing: border-box;
}

th, td {
	text-align: left;
}

table td:not(:last-child), table th:not(:last-child) {
	padding-right: 2em;
}

a {
	color: var(--text-color);
}

a:not(.underline) {
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a.button, button {
	background: none;
	color: var(--text-color);
	outline: none;
	font-family: var(--font-family);
	font-size: inherit;
	text-shadow: var(--text-shadow);
	text-decoration: none;
	display: inline-block;
	padding: 0.3em  0.6em;
	border: 1.5px solid var(--text-color);
	font-weight: bold;
}

a.button:hover, button:hover {
	background-color: rgba(var(--text-color-rgb), 0.6);
	color:black;
	mix-blend-mode: screen;
	cursor: pointer;
}

.flex-row {
	display: flex;
	gap: 1em;
}

.flex-wrap {
	flex-wrap: wrap;
}

.screen {
	font-family: var(--font-family);
	font-size: 16pt;
	color: var(--text-color);
	text-shadow: var(--text-shadow);
	line-height: 1.3em;
}

.screen p {
	margin: 0;
}

.frame {
	position: fixed;
	inset: 0;
}

.frame-border {
	position: fixed;
	inset: 0;
	border: 3em solid;
	border-image: url("img/frame.png") 120 120;
	pointer-events: none;
}

.screen {
	background: radial-gradient(var(--screen-color-center), var(--screen-color-edges));
	width: 100%;
	height: 100%;
	padding: 4em;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1em;
}

.content {
	flex: 1;
	overflow-y: auto;
	max-height: 100%;
	-ms-overflow-style: none;  /* Internet Explorer 10+ */
    scrollbar-width: none;  /* Firefox */
}
.content::-webkit-scrollbar { 
    display: none;  /* Safari and Chrome */
}

.glass {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.glass img {
	width: 100%;
	height: 100%;
	opacity: 0.3;
}

.prompt-symbol {
	color: var(--text-color-alt) !important;
	text-shadow: 0 0 12px var(--text-color-alt) !important;
}

.prompt {
	background: none;
	outline: none;
	border: none;
}

.prompt-info br {
	display: none;
}

.ghost-prompt {
	position: fixed;
	width: 0;
	height: 0;
	opacity: 0;
}

.caret {
	--blink-period: 
	width: 0.5rem;
	height: 1rem;
	border-radius: 1px;
	border: 1px solid var(--text-color);
	color: transparent;
	box-shadow: 0 0 3px var(--text-color), inset 0 0 3pt var(--text-color);
	opacity: 0.8;

	animation: blink var(--blink-period) steps(2, start) infinite;
    -webkit-animation: blink 1s steps(2, start) infinite;
}

.caret.active {
	background: var(--text-color);
	box-shadow: 0 0 8px var(--text-color);
}

.orange {
	--col: #ff9100;
	color: var(--col);
	text-shadow: 0 0 12px var(--col);
}

.red {
	--col: #e4271d;
	color: var(--col);
	text-shadow: 0 0 12px var(--col);
}

.green {
	--col: #1fff8f;
	color: var(--col);
	text-shadow: 0 0 12px var(--col);
}

.blue {
	--col: #00f;
	color: var(--col);
	text-shadow: 0 0 12px var(--col);
}

.purple {
	--col: #bc65ff;
	color: var(--col);
	text-shadow: 0 0 12px var(--col);
}


@media screen and (max-width: 720px) {
	.frame::after {
		background-size: 110% 120%;
		background-position: center;
	}

	.screen {
		padding: 4em 3em;
	}

	.prompt-info br {
		display: block;
	}
}
