:root {
	--purple: #7d50ff;
	--purple-bg: #cec6ff;
	--orange: #ff5416;
	--orange-bg: #ffb58d;

	--color: white;
	--background: white;

	--size: 56px;
}

.box {
	position: absolute;
	top: 0;
	left: 0;
	width: 256px;
	height: 256px;
	background-color: var(--color);
	border-radius: 4px;
	pointer-events: none;
}

html,
body {
	cursor: none;
	font-family: Arial, Helvetica, sans-serif;
	font-size: var(--size);
	line-height: 1.2;
	color: var(--color);
	margin: 0 16px;
	overflow-x: hidden;
}

a {
	color: currentColor;
}

a::after {
	content: "↗";
}

header {
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

main {
	max-width: 45ch;
	margin: 0 auto;
}

h1 {
	font-size: clamp(24px, 2rem + 2vw, 96px);
	line-height: 1.2;
	text-transform: uppercase;
	font-family: "SI17";
	text-align: center;
	user-select: none;
	z-index: 1000;
	color: white;
	opacity: 0.75;
	/* color: transparent; */
	/* -webkit-text-fill: transparent; */
	/* -webkit-text-stroke: 1.5px white; */
}

h2,
h3 {
	margin-top: 3rem;
}

.img {
	display: inline-block;
	width: var(--size);
	height: var(--size);
	margin: 0;
	position: relative;
}

img {
	width: 100%;
	height: 100%;

	object-fit: cover;

	/* mix-blend-mode: screen;
	-webkit-filter: grayscale(100%) contrast(150%);
	filter: grayscale(100%) contrast(150%);
	opacity: 1; */
}

img:focus,
img:hover {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 50;
	width: 256px;
	height: 256px;
}

.logo {
	width: 1em;
	height: 1em;
	object-fit: contain;
	object-position: center center;
	cursor: pointer;
}

ul,
ol {
	list-style: none;
	padding: 0;
}

ul li,
ol li {
	display: inline;
}

.index {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	line-height: 1.4;
	text-align: center;
}

.index li {
	/* flex: 1; */

	display: inline-block;
	text-transform: uppercase;
	/* font-weight: bold;
	color: transparent;
	-webkit-text-fill: transparent;
	-webkit-text-stroke: 2px var(--color); */
}

.index li + li {
	margin-left: 1ch;
}

.index li:hover {
	color: var(--color);
}

.index li::first-letter {
	text-transform: uppercase;
	font-family: "SI17";
}

.index a {
	text-decoration: none;
}

.download {
	font-size: 120px;
	text-align: center;
}

.contents,
.download {
	margin: 2rem auto;
}

a {
	text-decoration: none;
}

a.purple,
a.orange {
	display: inline-block;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	margin: 0 4px;
	position: relative;
	z-index: 200;
}

a.purple {
	background-color: var(--purple);
}
a.orange {
	background-color: var(--orange);
}

a.purple::after,
a.orange::after,
.purchase::after {
	content: "";
}

.signed {
	transform: translateY(100%);
}

.letter {
	font-style: italic;
}

h2::first-letter,
h3::first-letter,
.first::first-letter {
	text-transform: uppercase;
	font-family: "SI17";
}

.first {
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 0;
}

svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
	vertical-align: middle;
}

@media (max-width: 767.98px) {
	:root {
		--size: 21px;
	}

	body {
		cursor: default;
		margin: 0 4px;
	}

	.download {
		font-size: 24px;
	}

	.index {
		display: block;
		text-align: left;
		justify-content: start;
	}

	.index li {
		display: block;
		margin: 0 !important;
	}

	h1 {
		color: var(--color);
		opacity: 1;
	}

	h2,
	h3 {
		font-size: 28px;
	}

	.box {
		display: none;
	}
}
