.n-button {
	--n-button-height: var(--control-height-md);
	--n-button-padding-inline: var(--space-24);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--n-button-height);
	padding-inline: var(--n-button-padding-inline);
	padding-block: 0;
	border: 1px solid transparent;
	border-radius: var(--radius-md);
	background-color: transparent;
	color: var(--color-text-primary);
	font: inherit;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition:
		background-color var(--motion-duration-base) var(--motion-ease-soft),
		border-color var(--motion-duration-base) var(--motion-ease-soft),
		color var(--motion-duration-base) var(--motion-ease-soft);
}

.n-button:focus-visible {
	outline: var(--focus-ring-width) solid var(--focus-ring-color);
	outline-offset: var(--focus-ring-offset);
	box-shadow: var(--focus-ring-shadow);
}

.n-button--primary {
	background-color: var(--color-brand-primary);
	color: var(--color-text-inverse);
}

.n-button--secondary {
	background-color: var(--color-brand-secondary);
	color: var(--color-text-inverse);
}

.n-button--ghost {
	border-color: var(--color-border);
	background-color: transparent;
	color: var(--color-text-primary);
}

.n-button--link {
	min-height: auto;
	padding-inline: 0;
	border-color: transparent;
	border-radius: 0;
	background-color: transparent;
	color: var(--color-text-primary);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.n-button--sm {
	--n-button-height: var(--control-height-sm);
	--n-button-padding-inline: var(--space-16);
}

.n-button--md {
	--n-button-height: var(--control-height-md);
	--n-button-padding-inline: var(--space-24);
}

.n-button--lg {
	--n-button-height: var(--control-height-lg);
	--n-button-padding-inline: var(--space-32);
}
