/**
 * KMD Auth — Reset & typography. Scoped to `.kmd-auth` so it can never
 * leak into (or be leaked into by) the active theme.
 */

.kmd-auth,
.kmd-auth *,
.kmd-auth *::before,
.kmd-auth *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html:has(body.kmd-auth) {
	background: var( --kmd-color-bg );
}

/*
 * `.kmd-auth--embedded` is the shortcode's wrapper <div> — it needs the
 * same reset as the real <body> tag on a full virtual-route page, or
 * embedded text silently inherits the surrounding theme's typography.
 */
body.kmd-auth,
.kmd-auth--embedded {
	min-height: 100vh;
	background: var( --kmd-color-bg );
	color: var( --kmd-color-text );
	font-family: var( --kmd-font-family );
	font-size: var( --kmd-font-size-md );
	line-height: var( --kmd-line-height-normal );
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.kmd-auth h1,
.kmd-auth h2,
.kmd-auth h3 {
	line-height: var( --kmd-line-height-tight );
	font-weight: var( --kmd-font-weight-semibold );
}

.kmd-auth a {
	color: inherit;
	text-decoration: none;
}

.kmd-auth button {
	font-family: inherit;
	cursor: pointer;
	background: none;
	border: none;
}

.kmd-auth input {
	font-family: inherit;
	font-size: var( --kmd-font-size-md );
	color: var( --kmd-color-text );
}

.kmd-auth :focus-visible {
	outline: 2px solid var( --kmd-color-accent );
	outline-offset: 2px;
}

#kmd-auth-root {
	min-height: 100vh;
}
