.ct-color-switch[data-id="color-mode-switcher"] .ct-switch-type-expand,
.ct-color-switch[data-id="color-mode-switcher"] .ct-label {
	display: none !important;
}

:root {
	--esh-grain-coarse-opacity: 0.14;
	--esh-grain-coarse-blend-mode: multiply;
	--esh-grain-coarse-invert: 0;
	--esh-grain-fine-opacity: 0.04;
	--esh-grain-fine-blend-mode: multiply;
	--esh-grain-fine-invert: 0;
}

html[data-color-mode^="dark"] {
	--esh-grain-coarse-opacity: 0.11;
	--esh-grain-coarse-blend-mode: screen;
	--esh-grain-coarse-invert: 1;
	--esh-grain-fine-opacity: 0.03;
	--esh-grain-fine-blend-mode: screen;
	--esh-grain-fine-invert: 1;
}

.ct-color-switch[data-id="color-mode-switcher"] {
	align-items: center;
	display: inline-flex;
	justify-content: center;
}

.ct-color-switch[data-id="color-mode-switcher"] .esh-aperture-icon {
	block-size: 22px;
	color: var(--theme-palette-color-3);
	display: inline-block;
	inline-size: 22px;
	line-height: 0;
	pointer-events: none;
	position: relative;
	transition: color 600ms ease;
}

.ct-color-switch[data-id="color-mode-switcher"] .esh-aperture-icon svg {
	block-size: 100%;
	display: block;
	inline-size: 100%;
}

.ct-color-switch[data-id="color-mode-switcher"] .esh-aperture-icon .aperture-color {
	fill: currentColor;
	transition: fill 600ms ease;
}

html,
body,
.ct-header,
.ct-footer,
.entry-content {
	transition:
		background-color 600ms ease,
		border-color 600ms ease,
		color 600ms ease,
		fill 600ms ease,
		stroke 600ms ease;
}

body::before,
body::after,
#offcanvas .ct-panel-inner::before,
#offcanvas .ct-panel-inner::after {
	content: "";
	inset: 0;
	pointer-events: none;
	position: fixed;
	transition:
		filter 600ms ease,
		opacity 600ms ease;
	z-index: 9999;
}

body::before,
#offcanvas .ct-panel-inner::before {
	background-image: url("../img/grain-tile-0.1.1.svg");
	background-repeat: repeat;
	background-size: 320px 320px;
	filter: contrast(1.25) invert(var(--esh-grain-coarse-invert));
	mix-blend-mode: var(--esh-grain-coarse-blend-mode);
	opacity: var(--esh-grain-coarse-opacity);
}

body::after,
#offcanvas .ct-panel-inner::after {
	background-image: url("../img/grain-fine-0.1.0.svg");
	background-repeat: repeat;
	background-size: 180px 180px;
	filter: contrast(1.1) invert(var(--esh-grain-fine-invert));
	mix-blend-mode: var(--esh-grain-fine-blend-mode);
	opacity: var(--esh-grain-fine-opacity);
}

#offcanvas .ct-panel-inner {
	isolation: isolate;
	position: relative;
}

html[data-color-mode*="updating"][data-color-mode] *:not(.ct-color-switch *) {
	transition:
		background-color 600ms ease,
		border-color 600ms ease,
		color 600ms ease,
		fill 600ms ease,
		stroke 600ms ease !important;
}

.site-title .esh-logo-em {
	font-style: italic;
}

.site-title .esh-logo-dot {
	background: #e8602a;
	border-radius: 50%;
	display: inline-block;
	block-size: 8px;
	inline-size: 8px;
	margin-inline-end: 8px;
	position: relative;
	top: -3px;
	vertical-align: middle;
}

@supports (view-transition-name: none) {
	::view-transition-old(root) {
		animation: embodic-vt-blur-out 1.2s cubic-bezier(.45, 0, .35, 1) both;
	}

	@keyframes embodic-vt-blur-out {
		0%   { filter: blur(0)    opacity(1); }
		100% { filter: blur(10px) opacity(0.6); }
	}
}

@media (prefers-reduced-motion: reduce) {
	.ct-color-switch[data-id="color-mode-switcher"] .esh-aperture-icon,
	.ct-color-switch[data-id="color-mode-switcher"] .esh-aperture-icon .aperture-color,
	html,
	body,
	body::before,
	body::after,
	#offcanvas .ct-panel-inner::before,
	#offcanvas .ct-panel-inner::after,
	.ct-header,
	.ct-footer,
	.entry-content,
	html[data-color-mode*="updating"][data-color-mode] *:not(.ct-color-switch *) {
		transition: none !important;
	}
}
