@media screen {
	.page-container {
		position: fixed;
		inset: 0;
		background-color: var(--background-color);
		padding: var(--page-gap-y) 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		overflow-y: auto;
	}

	.page-container > * {
		width: min(var(--page-width), 100%);
	}

	.page-container > .page {
		flex-shrink: 0;
		background-color: var(--page-color);
		min-height: var(--page-min-height, auto);
		padding: var(--page-padding);
	}

	.page-container > .page + .page {
		margin-top: var(--page-gap-y);
	}
}

@media print {
	.page-container > .page {
		page-break-after: always;
	}

	.page-container > :not(.page) {
		display: none;
	}
}
