.dm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 20px;
	border: 1px solid var(--border-strong);
	background: var(--surface);
	color: var(--text);
	border-radius: var(--r-lg);
	font-size: var(--fs-400);
	font-weight: 500;
	transition: transform var(--dur) var(--ease), background var(--dur-fast), border-color var(--dur-fast);
}

.dm-btn:hover {
	background: var(--surface-hover);
	color: var(--text);
	transform: translateY(-2px);
}

.dm-btn--primary {
	border: none;
	background: var(--accent);
	color: var(--accent-fg);
	font-weight: 600;
}

.dm-btn--primary:hover {
	background: var(--accent);
	color: var(--accent-fg);
	opacity: 0.92;
	transform: translateY(-2px);
}

.dm-btn--sm {
	height: 36px;
	padding: 0 16px;
	border-radius: var(--r-md);
	font-size: var(--fs-400);
}

.dm-btn--lg {
	height: 52px;
	padding: 0 28px;
	font-size: 16px;
	border-radius: var(--r-lg);
}

.dm-btn--ghost {
	background: transparent;
	border-color: var(--border);
}

.dm-icon-btn {
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border: 1px solid var(--border);
	background: var(--surface);
	border-radius: var(--r-md);
	color: var(--text);
	transition: transform var(--dur) var(--ease), background var(--dur-fast), border-color var(--dur-fast);
}

.dm-icon-btn:hover {
	transform: translateY(-2px);
}
