:root {
	--color-back1: hsl(164, 57%, 30%);
	--color-back2 : hsl(164, 57%, 15%);
	--color-front1: hsl(164, 57%, 70%);
}

@font-face {
	font-family: "Mulish-ExtraLight";
	src: url("Mulish/Mulish-ExtraLight.ttf");
}

body {
	margin: 0px;
	height: 100dvh;
	width: 100dvw;
	overflow: hidden;
	background-color: var(--color-back2);
}

#header {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-back1);
	width: 100dvw;
}

#title {
	color: var(--color-front1);
	font-family: "Mulish-ExtraLight";
	align-content: center;
}

#body {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: calc(100dvw - 1rem);
	background-color: var(--color-back2);
	padding: 0.5rem;
	overflow-y: scroll;
}

#preview {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 0.5rem;
}

#preview:empty {
	display: none;
}

#files {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.block {
	flex-grow: 1;
	padding: 1.3rem;
	border: 2px solid var(--color-back1);
	border-radius: 6px;
}

.block-label {
	width: fit-content;
	margin-top: calc(-1.3rem - 1px);
	margin-left: calc(-1.3rem - 1px);
	padding-top: 1px;
	background-color: var(--color-back1);
	border-top-left-radius: 6px;
	border-bottom-right-radius: 6px;
}

.block-label span {
	color: var(--color-front1);
	font-family: "Mulish-ExtraLight";
	align-content: center;
}

.block-content {
	box-sizing: border-box;
	height: 100%;
	padding-top: 1rem;
	padding-bottom: 1.3rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.block-content a {
	color: var(--color-front1);
	font-family: "Mulish-ExtraLight";
	align-content: center;
}

svg {
	height: calc(90vmin - 8rem);
	width: calc(90vmin - 8rem);
}

@media (orientation: landscape) {

	#header {
		height: 4rem;
	}
	
	#title {
		font-size: 1.5rem;
	}
	
	#body {
		height: calc(100dvh - 5rem);
	}
	
	.block-label {
		height: calc(1.5rem + 1px);
		padding-left: 0.3rem;
		padding-right: 0.3rem;
	}

	.block-label span {
		font-size: 1.2rem;
	}

	.block-content div {
		margin-bottom: 0.8rem;
	}

	.block-content a {
		font-size: 1.5rem;
	}

}

@media (orientation: portrait) {

	#header {
		height: 8rem;
	}
	
	#title {
		font-size: 2rem;
	}
	
	#body {
		height: calc(100dvh - 9rem);
	}
	
	.block-label {
		height: calc(3rem + 1px);
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}

	.block-label span {
		font-size: 2.4rem;
	}

	.block-content div {
		margin-bottom: 1.5rem;
	}

	.block-content a {
		font-size: 3rem;
	}

}