* {
	padding: 0;
	margin: 0;
}
a {
	text-decoration: none;
}
html {
	height: 100vh;
	background-color: rgb(255, 255, 255);
	background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdHRlcm4gaWQ9ImdyaWQiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgcGF0dGVyblVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTSAwIDEwIEwgNDAgMTAgTSAxMCAwIEwgMTAgNDAgTSAwIDIwIEwgNDAgMjAgTSAyMCAwIEwgMjAgNDAgTSAwIDMwIEwgNDAgMzAgTSAzMCAwIEwgMzAgNDAiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2QwZDBkMCIgb3BhY2l0eT0iMC4yIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDQwIDAgTCAwIDAgMCA0MCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZDBkMGQwIiBzdHJva2Utd2lkdGg9IjEiLz48L3BhdHRlcm4+PC9kZWZzPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JpZCkiLz48L3N2Zz4=');
	background-position: -1px -1px;
}
body.setup {
	display: grid;
	grid-template-rows: 5em calc(100vh - 8em) 3em;
	grid-template-columns: 100vw;
}
.setup header {
	grid-row: 1;
}
.setup header h1 {
	font-size: 1.2em;
	margin-left: 5vw;
	padding: .9em 0;
}
.setup main {
	grid-row: 2;
}
.setup main iframe {
	width: 90vw;
	height: calc(100vh - 8em);
	margin-left: 5vw;
	border: 0;
	opacity: 1;
	transition: opacity 0.3s;
}
.setup main iframe.loading {
	opacity: 0;
}
.setup main h2 {
	font-size: 1.2em;
	position: absolute;
	top: 0;
	left: calc(5vw + 7em);
	padding: .9em 0;
}
.setup main h2:before {
	position: absolute;
	margin: -.1em 0 0 -1.1em;
	content: '▶';
	color: rgba(0,0,0,.6);
}
.setup main aside {
	position: absolute;
	top: 1em;
	right: 5vw;
}
.setup main aside ul li {
	list-style: none;
	display: inline-block;
}
.setup main aside ul li a {
	display: block;
	padding: .3em .5em;
	background: rgba(200,200,200,.5);
	border-radius: .3em;
}
.setup main aside ul li a em {
	font-style: normal;
	font-size: 1.2em;
}
.setup main aside ul li a + ul {
	position: absolute;
	display: none;
	padding: .3em 0;
	margin-top: -.1em;
	background: rgba(200,200,200,.5);
	opacity: 0;
	transition: opacity 0.2s;
}
.setup main aside ul li a + ul li {
	display: block;
	padding: .1em;
	background: none;
}
.setup main aside ul li a + ul li a {
	display: block;
	background: none;
}
.setup main aside ul li a + ul li a span {
	display: none;
}
.setup main aside ul li a:hover + ul, .setup main aside ul li a + ul:hover {
	position: absolute;
	display: block;
	opacity: 1;
}
.setup main aside ul li a span {
	display: block;
	font-size: smaller;
	opacity: .7;
}
.setup footer {
	grid-row: 3;
	text-align: center;
}
.setup footer p {
	font-size: smaller;
	color: rgba(80,80,80,.8);
	padding: .9em 0;
}
.setup footer p a {
	color: rgba(80,80,80,.8);
}
.setup footer p a:hover {
	color: rgba(40,40,40,.9);
}
