:root {
	--main-bg-color: #fff;
	--main-text-color: #f58f70;
	--main-fill-color: #e2e2e2;
	--main-border-color: #37352f;
}

[pomodoro-timer-data-theme="dark"] {
	--main-bg-color: #191919;
	--main-text-color: #f58f70;
	--main-fill-color: #252525;
	--main-border-color: #fff;
}

* {
	touch-action: none;
	color: var(--main-text-color);
	box-sizing: border-box;
	transition: all ease 0.2s;
}

body {
	margin: 40px auto 20px;
	background: var(--main-bg-color);
	font-family: 'Oswald', sans-serif;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
}

.countdown {
	display: block;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 16em;
	min-width: 16em;
	overflow: hidden;
	cursor: pointer;
	transition: width, height, border-radius, font-size;
	border-radius: 50%;
	border: 4px solid var(--main-border-color);
	/*box-shadow: 0 -15px 15px rgba(255, 255, 255, 0.05),
		inset 0 -15px 15px rgba(255, 255, 255, 0.05), 0 15px 15px rgba(0, 0, 0, 0.3),
		inset 0 15px 15px rgba(0, 0, 0, 0.3);*/
}

.countdown--ended {
	-webkit-animation: buzz 0.5s;
	animation: buzz 0.5s;
	animation-iteration-count: infinite;
}

.countdown:active {
	transform: scale(1.02);
}

.countdown__fill {
	pointer-events: none;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: var(--main-fill-color);
	opacity: 0.5;
}

.countdown__digit {
	width: 100%;
	text-align: center;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	z-index: 1;
	font-size: 5em;
}

@-webkit-keyframes buzz {
	0% {
		transform: rotate(0);
	}

	10%, 30%, 50%, 70%, 90% {
		transform: rotate(6deg);
	}

	20%, 40%, 60%, 80% {
		transform: rotate(-6deg);
	}

	100% {
		transform: rotate(0);
	}
}

@keyframes buzz {
	0% {
		transform: rotate(0);
	}

	10%, 30%, 50%, 70%, 90% {
		transform: rotate(6deg);
	}

	20%, 40%, 60%, 80% {
		transform: rotate(-6deg);
	}

	100% {
		transform: rotate(0);
	}
}

#logo {
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-size: 40px;
	position: absolute;
	margin-top: 500px;
}

#logo:hover {
	opacity: 0.3;
	transform: scale(1.1);
}

@media screen and (max-width:750px) {
	#logo {
		display: none;
	}
}