@font-face {
	font-family: 'PTMonoRegular';
	src: url('fonts/PTM55F_W.eot');
	src:
		url('fonts/PTM55F_W.eot?#iefix') format('embedded-opentype'),
		url('fonts/PTM55F_W.woff') format('woff'),
		url('fonts/PTM55F_W.ttf') format('truetype'),
		url('fonts/PTM55F_W.svg#PTMono-Regular') format('svg');
	font-weight: normal;
	font-style: normal;
}
main
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.container
{
	width: 30%;
	aspect-ratio: 1 / 1;
	position: relative;
}
@media (max-width: 900px)
{
	.container
	{
		width: 100%;
	}
}
#speedometer
{
	background-image: url('img/speedometer/speedometer_1152.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	/*border: 2px solid black;*/
	width: 100%;
	height: 100%;
}
@media (max-width: 1920px)
{
	#speedometer
	{
		background-image: url('img/speedometer/speedometer_576.png');
	}
}
/*После 900 px with становится 100%.
Поэтому ниже max-width совпадает с фактическим разрешением*/
@media (max-width: 900px)
{
	#speedometer
	{
		background-image: url('img/speedometer/speedometer_900.png');
	}
}
@media (max-width: 576px)
{
	#speedometer
	{
		background-image: url('img/speedometer/speedometer_576.png');
	}
}
@media (max-width: 396px)
{
	#speedometer
	{
		background-image: url('img/speedometer/speedometer_396.png');
	}
}
@media (max-width: 264px)
{
	#speedometer
	{
		background-image: url('img/speedometer/speedometer_264.png');
	}
}
#arrow
{
	width: 49%;
	height: 0.5%;
	background-color: black;
	position: relative;
	top: 56.65%;
	left: 50.43%;
	transform-origin: left;
	transform: rotate(-225deg);
	transition-property: transform;
	transition-timing-function: linear;
}
#values
{
	font-family: 'PTMonoRegular';
	font-size: calc(0.04 * 30vw);
	position: absolute;
	width: 30%;
	text-align: right;
	top: 75%;
	left: 35%;
}
@media (max-width: 900px)
{
	#values
	{
		font-size: calc(0.04 * 100vw);
	}
}
main > a
{
	font-size: calc(0.04 * 30vw);
}
@media (max-width: 900px)
{
	main > a
	{
		font-size: calc(0.04 * 100vw);
	}
}
.error
{
	color:tomato;
	text-align: center;
	width: 100%;
	font-size: large;
	display: none;
}
/*Блок, отвечающий за переключение темы (светлая, авто, тёмная)*/
.theme_selector
{
	position: relative;
	padding: 0.125rem;
	margin: 0px;
	border: none;
	display: flex;
	width: 5rem;
	z-index: 1;
}
.theme_selector > label
{
	pointer-events: none;
	padding: 0px;
	margin: 0px;
	opacity: 0;
}
.theme_selector > input
{
	appearance: none;
	-webkit-appearance:none;
	width: 100%;
	height: 1rem;
	padding: 0px;
	margin: 0px;
	border: none;
	cursor: pointer;
}
.theme_selector > input:focus
{
	outline: none;
}
.theme_selector > div
{
	background-color: #d4d4d4;
	background-image: url('img/theme/circle.svg');
	background-size: 1rem;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 0.5rem;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: -1;
	transition: background-position 0.1s linear;
}
.theme_selector > input:checked
{
	filter: invert(100%);
	transition: filter 0.1s linear;
}
#radio-light-theme:checked ~ div
{
	background-position: 0.125rem;
}
#radio-dark-theme:checked ~ div
{
	background-position: calc(100% - 0.125rem);
}
#radio-light-theme
{
	background-image: url('img/theme/sun.svg');
	background-repeat: no-repeat;
	background-position: 11%;
	background-size: 0.85rem;
}
#radio-dark-theme
{
	background-image: url('img/theme/moon.svg');
	background-repeat: no-repeat;
	background-position: 75%;
	background-size: 0.4rem;
} 
#radio-auto-theme
{
	background-image: url('img/theme/auto.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 0.5rem;
}
.theme_selector > input:focus-visible ~ div
{
	box-shadow: 0 0 0 0.125rem black;
}
/*Конец блока, отвечающего за переключение темы*/