/* Global */
:root {
	color-scheme: light dark;
	
	--header-scaling-factor: min(1, 100vw / 1050px);
	
	--color-page-bg: light-dark(white, rgb(20, 20, 20));
}

* {
	box-sizing: border-box;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/* Common elements */
a {
	color: #f24998;
}

/* Structure */
html {
	height: 100%;
	
	background-color: var(--color-page-bg);
}

body {
	height: 100%;
}

.page {
	display: flex;
	height: 100%;
	flex-direction: column;
	
	font-family: system-ui;
	font-size: 19px;
}

.page-header {
	display: flex;
	flex-direction: column;
	align-items: center;
}

main {
	padding: 0 11px;
	
	.finder-screenshots {
		position: relative;
		margin-bottom: -490px;
		
		background-color: var(--color-page-bg); /* for mix-blend-mode (in JS) to work */
		mask-image: linear-gradient(to bottom, black 33%, transparent 51%);
		mask-image:
			linear-gradient(
				to bottom,
				color-mix(in oklab, black, transparent 0%) 28%, /* easeInOutSine */
				color-mix(in oklab, black, transparent 1.25%),
				color-mix(in oklab, black, transparent 4.95%),
				color-mix(in oklab, black, transparent 10.91%),
				color-mix(in oklab, black, transparent 18.83%),
				color-mix(in oklab, black, transparent 28.31%),
				color-mix(in oklab, black, transparent 38.87%),
				color-mix(in oklab, black, transparent 50%),
				color-mix(in oklab, black, transparent 61.13%),
				color-mix(in oklab, black, transparent 71.69%),
				color-mix(in oklab, black, transparent 81.17%),
				color-mix(in oklab, black, transparent 89.09%),
				color-mix(in oklab, black, transparent 95.05%),
				color-mix(in oklab, black, transparent 98.75%),
				color-mix(in oklab, black, transparent 100%) 54%
			);
		
		zoom: var(--header-scaling-factor);
	}
	
	.dye-screenshot {
		margin-bottom: -425px;
		
		mask-image: linear-gradient(to bottom, black 38%, transparent 61%);
		mask-image:
			linear-gradient(
				to bottom,
				color-mix(in oklab, black, transparent 0%) 33%, /* easeInOutSine */
				color-mix(in oklab, black, transparent 1.25%),
				color-mix(in oklab, black, transparent 4.95%),
				color-mix(in oklab, black, transparent 10.91%),
				color-mix(in oklab, black, transparent 18.83%),
				color-mix(in oklab, black, transparent 28.31%),
				color-mix(in oklab, black, transparent 38.87%),
				color-mix(in oklab, black, transparent 50%),
				color-mix(in oklab, black, transparent 61.13%),
				color-mix(in oklab, black, transparent 71.69%),
				color-mix(in oklab, black, transparent 81.17%),
				color-mix(in oklab, black, transparent 89.09%),
				color-mix(in oklab, black, transparent 95.05%),
				color-mix(in oklab, black, transparent 98.75%),
				color-mix(in oklab, black, transparent 100%) 65%
			);
		
		zoom: var(--header-scaling-factor);
	}
	
	.app-block {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 18px;
		
		z-index: 0;
		
		h1 {
			margin: 0;
			
			font-size: 51px;
			font-weight: 650;
		}
		
		.tagline {
			text-align: center;
			text-wrap: balance;
			font-weight: 350;
			font-size: 33px;
		}
	}
}

.download-container {
	display: flex;
	margin-top: 40px;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	
	.download-link {
		padding: 13px 19px;
		
		background: linear-gradient(rgb(252, 252, 252), rgb(235, 235, 235));
		border-radius: 10px;
		box-shadow:
			0px 0px 0px 1px rgba(0, 0, 0, 0.141),
			0px 1px 2px 1px rgba(0, 0, 0, 0.137),
			0px 0px 3px 0px inset rgb(252, 252, 252);
		
		font-weight: 600;
		color: rgb(29, 29, 29);
		text-decoration: none;
		text-shadow: 0px 1px 0px rgba(255, 255, 255, 1);
		
		
		&:active {
			background: linear-gradient(rgb(196, 196, 196), rgb(220, 220, 220));
			box-shadow:
				0px 0px 0px 1px rgba(0, 0, 0, 0.141),
				0px 1px 1px 1px rgba(0, 0, 0, 0.137);
			
			text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5);
		}
	}
	
	.download-info {
		text-align: center;
		text-wrap: balance;
		
		opacity: 0.5;
	}
}

.page-footer-separator {
	visibility: hidden;
	flex-grow: 1;
}

.page-footer {
	margin-top: 130px;
	padding: 27px 10px 28px;
	
	text-align: center;
	line-height: 1.5em;
	text-wrap: balance;
	
	ul {
		margin: 0;
		padding: 0;
		list-style: none;
		
		li {
			display: inline;
			
			text-wrap: nowrap;
			
			&::before {
				content: " • ";
				display: inline;
			}
			
			&:first-child::before {
				content: none;
			}
		}
	}
}

/* Allow Noir to detect dark mode */
@media (prefers-color-scheme: dark) {
	._ {
		color: inherit;
	}
}
