.demo main{
	display:grid;
	grid-template-rows:auto minmax(0, 1fr);
	position:relative;
}
.demo-head{
	display:flex;
	gap:2em;
	align-items:flex-start;
	justify-content:space-between;
	padding:1rem 2rem;
	border-bottom:1px solid #555;
}
.demo-title h2{
	color:#eee;
	font-size:1.35em;
	line-height:1.1;
}
.demo-title p{
	padding-top:0.35em;
	color:#909090;
}
.demo-nav{
	margin:0;
}
.demo-nav button{
	display:block;
	padding:0.35em 0.8em;
}
.demo .page{
	grid-row:2;
	min-height:0;
	background:transparent;
}
.demo-stage{
	position:relative;
	height:100%;
	overflow:hidden;
}
.wasm{
	display:block;
	width:auto;
	max-width:100%;
	height:100%;
	margin:auto;
	border:1px solid #555;
	border-radius:20px;
	background:#555;
}
.wasm.wide{
	width:100%;
}
@media (min-width:761px){
	.wasm.wide{
		position:fixed;
		top:10em;
		left:0;
		right:0;
		width:max(90%, min(100%, var(--maxwidth)));
		max-width:none;
		height:calc(100% - 14em);
	}
}
.loader{
	display:flex;
	flex-direction:column;
	gap:0.75em;
	justify-content:center;
	position:absolute;
	top:2em;
	left:1em;
	right:1em;
	max-width:20em;
	min-width:10em;
	height:10em;
	margin:auto;
	border:1px solid #555;
	border-radius:20px;
	background:#777;
	overflow:hidden;
}
.emscripten{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
}
.loader progress{width:calc(100% - 2em)}
.demo #what{
	position:fixed;
	inset:0;
	width:min(calc(100% - 4rem), 42em);
	max-height:calc(100% - 2rem);
	margin:auto;
	padding:1.25em;
}
.popup-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding-bottom:1.2em;
}
.popup-head h2{
	min-width:0;
	color:#eee;
	font-size:1.25em;
	font-weight:500;
	overflow-wrap:anywhere;
}
.popup-head .photo-close{
	flex:none;
}
.demo #what:popover-open{
	display:block;
}
.demo #what:not(:popover-open){
	display:none;
}
.demo #what::backdrop{
	background:rgba(0, 0, 0, 0.84);
	backdrop-filter:blur(2px);
}
@media (max-width:760px){
	.demo-head{
		gap:1em;
		padding:1rem;
	}
	.demo-title h2{
		font-size:1.15em;
	}
	.wasm,
	.loader{
		border-radius:12px;
	}
	.demo #what{
		width:calc(100% - 1rem);
	}
}
