* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	border: 0;
}

#root {
	display: flex;
	justify-content: center;
	align-items: stretch;
	/* gap: 1rem; */
	flex-wrap: wrap;
	max-width: 100vw;
}

.app-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: white;
	padding: 10px 20px;
	z-index: 1000;
	border-bottom: 1px solid black;
}

main {
	padding-top: 70px; /* header + controls */
	padding-bottom: 60px; /* footer */
	width: 100%;
}

footer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: white;
	padding: 10px 20px;
	border-top: 1px solid black;
	z-index: 1000;
	text-align: center;
}

article {
	display: flex;
	flex-direction: column;
	width: fit-content;
	max-width: 300px;
	padding: 1rem;
	border: 1px solid black;
	border-radius: 20px;
	background: lightgrey;
	margin: 30px 15px;
	text-align: center;
	text-wrap: balance;
	overflow: hidden;
	gap: 10px;
}

h2 {
	font-size: xx-large;
}

.code {
	font-size: large;
	font-weight: 600;
	margin-bottom: 10px;
}

.season,
.episode-number {
	font-size: small;
}

.summary {
	margin-top: 20px;
}

#episodes-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
