/* Laser beam plugin for Obsidian
MIT License (c) Bernardo Pires (@drbap)
*/
body {
	--lb-laser-top: 0;
	--lb-laser-width: 1.0;
	--lb-laser-area: 82px;
	--lb-laser-margin-left: 0;
	--lb-laser-margin-right: 0;
	--lb-laser-intensity: 0.7;
}

/* Laser */
body.lb-laser-active::before {
	content: '';
	left: var(--lb-laser-margin-left);
	right: var(--lb-laser-margin-right);
	position: fixed;
	z-index: 2000;
	opacity: var(--lb-laser-intensity);
	width: auto;
	height: auto;
	mix-blend-mode: normal;
	pointer-events: none;
	will-change: transform;
	animation-name: show-laser;
	animation-duration: 0.2s;
	animation-iteration-count: 1;
}

body.lb-laser-active.lb-laser-static::before {
	pointer-events: none;
	transition: none;
}

body.lb-laser-active.lb-laser-type-line::before {
	height: 3px;
	box-shadow: 0 0 8px 2px var(--lb-laser-color-glow), 0 0 calc(var(--lb-laser-width) * 22px) 2px var(--lb-laser-color-glow);
	background-color: var(--lb-laser-color-bg);
	border-radius: 24px;
	transform: translateY(var(--lb-laser-top)) scaleY(var(--lb-laser-width));
}

body.lb-laser-active.lb-laser-type-area::before {
	height: var(--lb-laser-area);
	box-shadow: inset 0 0 10px 1px var(--lb-laser-color-glow), 0 0 4px 1px var(--lb-laser-color-glow), 0 0 calc(var(--lb-laser-width) * 12px) 1px var(--lb-laser-color-glow);
	border: calc(var(--lb-laser-width) * 1px) solid var(--lb-laser-color-bg);
	background-color: transparent;
	border-radius: 0;
	transform: translateY(var(--lb-laser-top));
}

.theme-dark.lb-laser-green {
	--lb-laser-color-bg: #80ffaa;
	--lb-laser-color-glow: #00ff55;
}

.theme-light.lb-laser-green {
	--lb-laser-color-bg: #00e84d;
	--lb-laser-color-glow: #00ff5580;
}

.theme-dark.lb-laser-blue {
	--lb-laser-color-bg: #00f1ff;
	--lb-laser-color-glow: #00a3ff;
}

.theme-light.lb-laser-blue {
	--lb-laser-color-bg: #00a3ff;
	--lb-laser-color-glow: #00a3ff88;
}

.theme-dark.lb-laser-red {
	--lb-laser-color-bg: #ff7f7f;
	--lb-laser-color-glow: #ff0000;
}

.theme-light.lb-laser-red {
	--lb-laser-color-bg: #ff0000;
	--lb-laser-color-glow: #ff000088;
}

.theme-dark.lb-laser-orange {
	--lb-laser-color-bg: #ffcf00;
	--lb-laser-color-glow: #ff7f00;
}

.theme-light.lb-laser-orange {
	--lb-laser-color-bg: #ff7f00;
	--lb-laser-color-glow: #ff7f0088;
}

.theme-dark.lb-laser-yellow {
	--lb-laser-color-bg: #ffff00;
	--lb-laser-color-glow: #e1e100;
}

.theme-light.lb-laser-yellow {
	--lb-laser-color-bg: #ffd700;
	--lb-laser-color-glow: #ffd70088;
}

.theme-dark.lb-laser-purple {
	--lb-laser-color-bg: #d88fff;
	--lb-laser-color-glow: #bf48ff;
}

.theme-light.lb-laser-purple {
	--lb-laser-color-bg: #bf48ff;
	--lb-laser-color-glow: #a300ff88;
}

.theme-dark.lb-laser-pink {
	--lb-laser-color-bg: #ff8ce1;
	--lb-laser-color-glow: #ff48cf;
}

.theme-light.lb-laser-pink {
	--lb-laser-color-bg: #ff00cf;
	--lb-laser-color-glow: #ff48cf88;
}

@keyframes show-laser {
	from {
		opacity: 0;
		width: 0;
		height: 0;
	}

	to {
		opacity: 0.1;
		width: 50px;
		height: 20px;
	}
}