* {
	transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition-duration: 350ms;
	background: var(--background);
	font-family: sans-serif;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	touch-action: manipulation;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

:root {
	--background: #0d0d0d;
	--border-1: #222;
	--border-2: #000;
	--accent-1: #01b636;
	--accent-2: #01b09b;
	--text: #fff;
	--outset: var(--border-1) var(--border-2) var(--border-2) var(--border-1);
	--inset: var(--border-2) var(--border-1) var(--border-1) var(--border-2);
}

.light {
	--background: #dedede;
	--border-1: #fff;
	--border-2: #ababab;
	--accent-1: #0af;
	--accent-2: #01b09b;
	--text: #000;
	--outset: var(--border-1) var(--border-2) var(--border-2) var(--border-1);
	--inset: var(--border-2) var(--border-1) var(--border-1) var(--border-2);
}

p {
	color: var(--text);
	top: 200px;
	left: 200px;
	z-index: 1;
	background: none;
}

#cover {
	opacity: 1;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	background: #0d0d0d;
	display: flex;
	justify-content: center;
	align-items: center;
	transition-duration: 800ms;
}

#loading {
	width: 10vw;
	height: 10vw;
	border: 1vw solid #222;
	border-top-color: #01b09b;
	animation: loading 1s linear infinite;
	border-radius: 5vw;
}

@keyframes loading {
	to {
		transform: rotate(1turn);
	}
}

#wrapper {
	position: fixed;
	top: 0.5px;
	left: 0;
	right: 0;
	bottom: 0.5px;
	overflow-x: hidden;
	overflow-y: auto;
}

#desktop,
#mobile {
	width: 100vw;
	height: 100%;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
}

#switch {
	opacity: 0.5;
}

#switchLabel {
	width: 100%;
	height: 100%;
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
}

#switchArea {
	width: 30vw;
	height: 18vw;
	border: 1.8vw solid;
	border-color: var(--outset);
	border-radius: 9vw;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

#ball,
#mobile-ball {
	width: 12vw;
	height: 12vw;
	background: var(--accent-1);
	border-radius: 6vw;
	margin: 1vw;
	box-sizing: content-box;
}

.moveBall {
	transform: translateX(12vw);
}

/* Desktop Only */

#desktop-globalTextArea {
	position: fixed;
	padding: 0 3vw 0 3vw;
	height: 25vh;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1vw solid;
	border-color: var(--inset);
	border-radius: 5vw 5vw 0 0;
}

#desktop-globalTextLabel {
	font-size: 25px;
}

#desktop-globalText {
	margin-top: 0.5vw;
	font-size: 50px;
}

#coolNeonStrip {
	width: 75%;
	border-radius: 2vh;
	height: 10vh;
	bottom: 12.5vh;
	margin-bottom: -5vh;
	background: linear-gradient(
		to bottom right,
		var(--accent-1),
		var(--accent-2)
	);
	position: fixed;
}

/* Mobile Only */

#mobile-globalTextArea {
	position: fixed;
	width: 100%;
	height: 25vh;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 3vw solid;
	border-color: var(--inset);
}

#mobile-globalTextLabel {
	font-size: 25px;
}

#mobile-globalText {
	margin-top: 0.5vw;
	font-size: 50px;
}
