html, body {
	margin: 0;
	height: 100%;
	background: radial-gradient(circle at 50% 50%, #1a0b2e 0%, #000000 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.scanlines {
	--scanline-even-color: rgba(255, 255, 255, 0.1);
	--scanline-odd-color: transparent;
	--scanline-size: .1rem;
	--scanline-opacity: .9;
	--scanline-blend-mode: color-dodge;

	width: 100%;
	height: 100px;
	z-index: 10;
	background: linear-gradient(
			0deg,
			var(--scanline-odd-color) 0%,
			var(--scanline-even-color) 50%,
			var(--scanline-odd-color) 100%
	);
	background-size: 100% var(--scanline-size);
	position: absolute;
	left: 0;
	top: 0;
	opacity: var(--scanline-opacity);
	mix-blend-mode: var(--scanline-blend-mode);
	pointer-events: none;
	animation: scanline 5s linear infinite;
}

@keyframes scanline {
	0% {
		transform: translateY(-100px);
	}
	100% {
		transform: translateY(100vh);
	}
}


canvas {
	max-width: 90vw;
	max-height: 90vh;
	width: auto;
	height: auto;
	display: block;
	box-shadow: 0 0 40px rgba(255, 0, 128, 0.15);
}

.hint {
	position: fixed;
	bottom: 12px;
	left: 50%;
	transform: translateX(-50%);
	color: #888;
	font-family: monospace;
	font-size: max(1.5vh, 1.5vw);
	opacity: 0.8;
	pointer-events: none;
}

