.ltxe-auth {
	--ltxe-af-accent: #1d4ed8;
	--ltxe-af-border: #d1d5db;
	--ltxe-af-bg: #fff;
	--ltxe-af-muted: #6b7280;
	--ltxe-af-error: #b91c1c;
	max-width: 24rem;
	font-size: 1rem;
}

.ltxe-auth__title {
	margin: 0 0 1rem;
	font-size: 1.35rem;
}

.ltxe-auth__form {
	display: grid;
	gap: 0.85rem;
}

.ltxe-auth__form label {
	display: grid;
	gap: 0.3rem;
}

.ltxe-auth__form input[type="text"],
.ltxe-auth__form input[type="email"],
.ltxe-auth__form input[type="password"] {
	width: 100%;
	min-height: 2.5rem;
	padding: 0.4rem 0.6rem;
	border: 1px solid var(--ltxe-af-border);
	background: var(--ltxe-af-bg);
	border-radius: 0.25rem;
}

.ltxe-auth__pwd {
	display: grid;
	gap: 0.35rem;
}

.ltxe-auth__toggle {
	justify-self: start;
	border: 0;
	background: transparent;
	color: var(--ltxe-af-accent);
	padding: 0;
	cursor: pointer;
	text-decoration: underline;
}

.ltxe-auth__check {
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.ltxe-auth__submit {
	min-height: 2.5rem;
	border: 0;
	border-radius: 0.25rem;
	background: var(--ltxe-af-accent);
	color: #fff;
	cursor: pointer;
}

.ltxe-auth__submit:disabled {
	opacity: 0.6;
	cursor: wait;
}

.ltxe-auth__lost,
.ltxe-auth__hello {
	margin: 0;
}

.ltxe-auth__status {
	margin: 0.75rem 0 0;
	color: var(--ltxe-af-muted);
}

.ltxe-auth__status.is-error {
	color: var(--ltxe-af-error);
}

.ltxe-auth__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
