body {
	font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	color: var(--foreground-color);
	background-color: var(--background-color);
	width: 100vw;
	height: 100vh;
	display: grid;
	justify-content: center;
	align-content: center;
}

img {
	border-radius: 1rem;
	box-shadow: var(--standard-shadow);
}

dialog {
	width: calc(100vw - 10rem);
	max-width: 20rem;
	border: none;
	border-radius: 1rem;
	background-color: var(--background-color);
	box-shadow: var(--standard-shadow);
	padding: 1.5rem;
	color: var(--foreground-color);
	accent-color: var(--accent-color);
}

dialog::backdrop {
	background-color: var(--background-color);
}

.progress {
	display: grid;
	grid-template-columns: 1fr 6ch;
	align-items: center;
	margin-block-start: 1rem;
}

progress {
	height: 1rem;
	width: 100%;
	margin: 0;
	padding: 0;
	accent-color: var(--accent-color);
	display: block;
	background-color: var(--background-color);
	border-radius: 1rem;
	border: none;
	box-shadow: 0.125rem 0.125rem 0.25rem var(--shadow-color) inset, -0.125rem -0.125rem 0.25rem var(--highlight-color) inset;
	overflow: hidden;
}

progress::-moz-progress-bar {
	background-color: var(--accent-color);
	box-shadow: 0 0 0.5rem var(--accent-color);
	border-radius: 1rem;
}

progress::-webkit-progress-bar {
	height: 1rem;
	width: 100%;
	margin: 0;
	padding: 0;
	accent-color: var(--accent-color);
	display: block;
	background-color: var(--background-color);
	border-radius: 1rem;
	border: none;
	box-shadow: 0.125rem 0.125rem 0.25rem var(--shadow-color) inset, -0.125rem -0.125rem 0.25rem var(--highlight-color) inset;
}
progress::-webkit-progress-value {
	background-color: var(--accent-color);
	box-shadow: 0 0 0.5rem var(--accent-color);
	border-radius: 1rem;
}

dialog #progress-value {
	text-align: right;
}

button {
	background-color: var(--accent-color);
	border: none;
	font-size: 1rem;
	color: var(--background-color);
	padding: 0.25rem 0.75rem;
	border-radius: 2rem;
	margin-block-start: 1rem;
	box-shadow: var(--half-shadow);
}

article header {
	font-weight: bold;
	font-size: 1.35rem;
}

:root {
	--background-color: hsl(0, 0%, 87%);
	--foreground-color: hsl(0, 0%, 21%);
	--highlight-color: hsl(0, 0%, 100%);
	--shadow-color: hsl(0, 0%, 73%);

	--standard-shadow: -0.5rem -0.5rem 1rem var(--highlight-color), 0.5rem 0.5rem 1rem var(--shadow-color);
	--half-shadow: -0.25rem -0.25rem 0.5rem var(--highlight-color), 0.25rem 0.25rem 0.5rem var(--shadow-color);

	--accent-color: hsl(285, 42%, 51%);
}
