.bk-canvas-grid-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: none;
	pointer-events: none;
	--bk-grid-line-color: rgba(255, 255, 255, 0.9);
	--bk-grid-line-shadow: rgba(0, 0, 0, 0.58);
	--bk-grid-dash-size: 8px;
	--bk-grid-gap-size: 6px;
}

.bk-canvas-grid-overlay.is-visible {
	display: block;
}

.bk-canvas-grid-line {
	position: absolute;
	filter: drop-shadow(0 0 1px var(--bk-grid-line-shadow));
}

.bk-canvas-grid-overlay.is-black {
	--bk-grid-line-color: rgba(0, 0, 0, 0.72);
	--bk-grid-line-shadow: rgba(255, 255, 255, 0.72);
}

.bk-canvas-grid-overlay.is-white {
	--bk-grid-line-color: rgba(255, 255, 255, 0.9);
	--bk-grid-line-shadow: rgba(0, 0, 0, 0.58);
}

.bk-canvas-grid-line-strong {
	opacity: 0.96;
	--bk-grid-dash-size: 34px;
	--bk-grid-gap-size: 1px;
}

.bk-canvas-grid-line-guide {
	opacity: 0.62;
	--bk-grid-dash-size: 8px;
	--bk-grid-gap-size: 8px;
}

.bk-canvas-grid-line-vertical {
	top: 0;
	width: 1px;
	height: 100%;
	background-image: repeating-linear-gradient(to bottom, var(--bk-grid-line-color) 0, var(--bk-grid-line-color) var(--bk-grid-dash-size), transparent var(--bk-grid-dash-size), transparent calc(var(--bk-grid-dash-size) + var(--bk-grid-gap-size)));
}

.bk-canvas-grid-line-horizontal {
	left: 0;
	width: 100%;
	height: 1px;
	background-image: repeating-linear-gradient(to right, var(--bk-grid-line-color) 0, var(--bk-grid-line-color) var(--bk-grid-dash-size), transparent var(--bk-grid-dash-size), transparent calc(var(--bk-grid-dash-size) + var(--bk-grid-gap-size)));
}

.bk-canvas-grid-coordinate {
	display: none;
	box-sizing: border-box;
	width: 100%;
	padding: 8px 12px;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	background: #f5f5f5;
	color: #333;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}

.bk-canvas-grid-coordinate.is-visible {
	display: block;
}
