@import url(https://fonts.googleapis.com/css?family=Press+Start+2P&subset=latin,greek,latin-ext,cyrillic);

html {
	background-color: #000;
	color: #fff;
	font: 1.5vw 'Press Start 2P', monospace;
}

html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
}

select, select:focus {
	background-color: #000;
	color: #fff;
	width: 50vw;
	border: 0;
	font: inherit;
}

option {
	padding-top: 0.4em;
}

option:checked {
	background-color: #fff;
	color: #000;
}

#title {
	display: inline-block;
	animation: title;
	animation-duration: 1s;
	animation-direction: alternate;
	animation-iteration-count: 100000000;
	margin: 0;
	font-size: 20vh;
	text-align: center;
	transform: scale(1, 1.2) perspective(0.5em) rotateY(-7deg) rotateZ(-7deg) translateX(100%) translateZ(-0.4em);
	opacity: 0;
	transition: transform 2.5s, opacity 10s;
	position: absolute;
}

#title.active {
	transform: scale(1, 1.2) perspective(0.5em) rotateY(-7deg) rotateZ(-7deg) translateX(-25%) translateZ(-0.4em);
	opacity: 1;
	transition: transform 10s;
	position: static;
}

#title a {
	color: inherit;
	text-decoration: none;
}

@keyframes title {
	from { text-shadow: 0 0 0.25em #fff; }
	to { text-shadow: 0 0 0.5em #fff; }
}

#loading-status, #attract-screen, #main-menu {
	text-align: center;
	text-shadow: 0 0 25px #fff;
}

#loading-status div, #attract-screen, #main-menu {
	display: none;
}

#loading-status .active, #attract-screen.active, #main-menu.active {
	display: block;
}

.dialog, .intro-text {
	position: absolute;
	z-index: 1;
	left: -150%;
	top: 50%;
	transition: left 0.5s;
}

.dialog.active, .intro-text.active {
	left: 50%;
}

#attract-screen.error {
	text-shadow: 0 0 25px #f00;
}

.name-tag {
	font-size: 0.5em;
	display: inline-block;
	padding: 0.25em;
	text-align: center;
	line-height: 1.5;
	color: #fff;
	background-color: #c00;
}

.left {
	transform: perspective(5em) translateZ(-1em) rotateY(5deg);
	float: left;
}

.right {
	transform: perspective(5em) translateZ(-1em) rotateY(-5deg);
	float: right;
}

.name-tag span {
	font-size: 3em;
	background-color: #fff;
	color: #000;
	padding: 0.2em;
	display: inline-block;
}

.name-tag span.protagonist-name {
	text-transform: uppercase;
}

#menu-bar {
	position: absolute;
	top: -2em;
	left: 0;
	width: 100%;
	height: 1em;
	padding: 0.5em 0;
	background-color: #444;
	text-shadow: 0 0 0.25em #666;
	transition: top 0.5s;
}

#menu-bar.active {
	top: 0em;
}

#menu-bar span {
	cursor: pointer;
	transition: text-shadow 0.1s;
	display: inline-block;
	margin-left: 1em;
	display: none;
}

#menu-bar .active {
	display: inline-block;
}

#menu-bar.active span:hover {
	text-shadow: 0 0 0.25em #fff;
}

#save-dialog {
	width: 40em;
	padding: 1em;
	color: #fff;
	background: #444;
	margin-left: -20em;
	margin-top: -2.5em;
	line-height: 1;
	height: 3em;
	text-align: right;
}

input {
	color: inherit;
	background: transparent;
	font: inherit;
	width: 39.5em;
	border: 0;
	padding: 0.25em;
	margin-bottom: 0.5em;
}

#save-dialog-name {
	color: #fff;
	background: #000;
}

#save-dialog-button {
	cursor: pointer;
}

#space-credit-card-dialog {
	margin-left: -25.5em;
	margin-top: -4.5em;
	width: 50em;
	height: 8em;
	padding: 0.5em;
	background-color: #222;
	color: #777;
}

#space-credit-card-dialog .space-credits {
	color: #fff;
}

#space-credit-card-dialog .space-credit-card-number {
	font-size: 2em;
	color: #fff;
}

.intro-text {
	top: 3em;
	margin-left: -30em;
	width: 60em;
}

#intro-text-0000 img {
	width: 20em;
	height: auto;
}

#intro-text-0000 .name-tag {
	font-size: 1em;
}

.dialog-button, .activate-ui-element-button {
	cursor: pointer;
	text-shadow: 0 0 0em #77f;
	transition: text-shadow 0.5s;
}

.dialog-button:hover, .activate-ui-element-button:hover {
	text-shadow: 0 0 0.5em #77f;
}

.space-credits:before {
	content: '§';
}
