.user-select(@value: ~"none") {
	-webkit-user-select: @value;
	-moz-user-select: @value;
	-ms-user-select: @value;
	user-select: @value;
}

.appearance() {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.hidden() {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.touch-action(@value: manipulation) {
	-ms-touch-action: @value;
	touch-action: @value;
}

@outline-color: var(--primary);
@outline-width: 0.25em;

@outline: @outline-color solid @outline-width;

.outline() {
	&:focus {
		outline: @outline;
	}

	@supports selector(:focus-visible) {
		&:focus {
			outline: none;
		}
	}

	&:focus-visible {
		outline: @outline;
		outline-offset: @outline-width;

		&:active {
			outline-offset: 0;
		}
	}
}

.backdrop-filter-blur(@blur: 1rem, @saturate: true){
	-webkit-backdrop-filter: if(@saturate, ~"saturate(180%)") blur(@blur);
	backdrop-filter: if(@saturate, ~"saturate(180%)") blur(@blur);
}
