.up-font-size {
	position: fixed;
	top: .375rem;
	right: .375rem;
	z-index: 100000;
	display: flex;
	align-items: center;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: .375rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
	font-size: 16px;
}

@media (max-width: 1100px) {
	.up-font-size {
		top: 50%;
		right: .375rem;
		transform: translateY(-50%);
		flex-direction: column;
	}
	.up-font-size__btn + .up-font-size__btn {
		border-left: none;
		border-top: 1px solid #e5e5e5;
	}
	.up-font-size__btn:first-child {
		border-radius: .375rem .375rem 0 0;
	}
	.up-font-size__btn:last-of-type {
		border-radius: 0 0 .375rem .375rem;
	}
	.up-font-size__toast {
		top: 50%;
		right: calc(100% + .375rem);
		transform: translateY(-50%) translateX(4px);
	}
	.up-font-size__toast.is-visible {
		transform: translateY(-50%) translateX(0);
	}
}

.up-font-size__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 1.375rem;
	height: 1.375rem;
	padding: 0 .25rem;
	border: none;
	border-radius: 0;
	background: transparent;
	color: #333;
	font-weight: 700;
	font-size: .625rem;
	letter-spacing: -.08em;
	cursor: pointer;
	transition: background .2s;
}

.up-font-size__btn + .up-font-size__btn {
	border-left: 1px solid #e5e5e5;
}

.up-font-size__btn:first-child {
	border-radius: .375rem 0 0 .375rem;
}

.up-font-size__btn:last-of-type {
	border-radius: 0 .375rem .375rem 0;
}

.up-font-size__btn--reset {
	font-size: .5rem;
}

.up-font-size__btn:hover {
	background: #f0f0f0;
}

.up-font-size__btn:focus-visible {
	outline: 3px solid var(--color-first, #005088);
	outline-offset: -3px;
}

.up-font-size__toast {
	position: absolute;
	top: calc(100% + .375rem);
	right: 0;
	padding: .125rem .5rem;
	background: rgba(0, 0, 0, .8);
	color: #fff;
	font-size: .625rem;
	font-weight: 700;
	border-radius: .25rem;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity .3s, transform .3s;
	pointer-events: none;
	white-space: nowrap;
}

.up-font-size__toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.up-font-size__status {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
