/* EI Custom Menu 0.1.10 */
.ei-cm {
	--ei-cm-css-build: "0.1.10";
	--ei-cm-bg: #ffffff;
	--ei-cm-surface: #ffffff;
	--ei-cm-text: #172033;
	--ei-cm-muted: #64748b;
	--ei-cm-border: #d8e0ea;
	--ei-cm-accent: #2563eb;
	--ei-cm-hover-bg: #eef4ff;
	--ei-cm-hover-text: #1d4ed8;
	--ei-cm-dropdown-bg: #ffffff;
	--ei-cm-dropdown-text: #172033;
	--ei-cm-dropdown-hover-bg: #eef4ff;
	--ei-cm-dropdown-border: #d8e0ea;
	--ei-cm-shadow: 0 16px 42px rgba(15, 23, 42, 0.14);
	--ei-cm-dropdown-shadow: 0 18px 42px rgba(15, 23, 42, 0.18);
	--ei-cm-border-width: 1px;
	--ei-cm-radius: 0px;
	--ei-cm-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--ei-cm-letter-spacing: normal;
	--ei-cm-text-shadow: none;
	position: relative;
	z-index: var(--ei-cm-z-index, 1000);
	width: 100%;
	font-family: var(--ei-cm-font);
	font-size: var(--ei-cm-font-size, 16px);
	line-height: 1.35;
	isolation: isolate;
}

.ei-cm,
.ei-cm * {
	box-sizing: border-box;
}

.ei-cm--sticky {
	position: sticky;
	top: 0;
}

.ei-cm--uppercase .ei-cm__link,
.ei-cm--uppercase .ei-cm__hamburger,
.ei-cm--uppercase .ei-cm__brand-text {
	text-transform: uppercase;
}

.ei-cm--no-shadow {
	--ei-cm-shadow: none;
	--ei-cm-dropdown-shadow: none;
}

.ei-cm__bar {
	position: relative;
	width: 100%;
	min-height: var(--ei-cm-height, 82px);
	background: var(--ei-cm-bg);
	color: var(--ei-cm-text);
	border: var(--ei-cm-border-width) solid var(--ei-cm-border);
	border-radius: var(--ei-cm-radius);
	box-shadow: var(--ei-cm-shadow);
	overflow: visible;
}

.ei-cm__bar::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	pointer-events: none;
	content: "";
	opacity: 0;
}

.ei-cm__desktop {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	width: min(100%, var(--ei-cm-content-width, 1200px));
	min-height: calc(var(--ei-cm-height, 82px) - (var(--ei-cm-border-width) * 2));
	margin: 0 auto;
	padding: 0 var(--ei-cm-horizontal-padding, 24px);
}

/*
 * Layout containment: some themes/page builders force content-box on nested divs.
 * The desktop grid width already represents the available outer width, so its
 * horizontal padding must stay inside that width or the right edge is pushed out.
 */
.ei-cm[data-ei-custom-menu] .ei-cm__desktop {
	box-sizing: border-box !important;
	width: min(100%, var(--ei-cm-content-width, 1200px)) !important;
	max-width: 100% !important;
}

.ei-cm__mobile {
	display: none;
}

.ei-cm__menu,
.ei-cm__submenu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop > .ei-cm__menu {
	display: flex !important;
	align-items: stretch;
	justify-self: stretch;
	width: 100% !important;
	max-width: 100% !important;
	gap: var(--ei-cm-item-gap, 18px);
	min-width: 0 !important;
}

.ei-cm__item {
	position: relative;
	padding: 0;
	margin: 0;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop > .ei-cm__menu > .ei-cm__item {
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex: 1 1 0% !important;
	width: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
}

.ei-cm__item-row {
	display: flex;
	align-items: center;
	min-width: 0;
	border: var(--ei-cm-item-border-width, 0px) solid var(--ei-cm-border);
	border-radius: var(--ei-cm-item-radius, 8px);
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop > .ei-cm__menu > .ei-cm__item > .ei-cm__item-row {
	align-self: center;
	justify-content: center;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop > .ei-cm__menu > .ei-cm__item > .ei-cm__item-row > .ei-cm__link {
	justify-content: center;
	min-width: 0;
	text-align: center;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop > .ei-cm__menu > .ei-cm__item--has-children > .ei-cm__item-row {
	display: grid;
	grid-template-columns: minmax(0, auto) auto;
	justify-content: center;
	justify-items: center;
	align-items: center;
	column-gap: 2px;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop > .ei-cm__menu > .ei-cm__item--has-children > .ei-cm__item-row > .ei-cm__link {
	flex: 0 1 auto;
	padding-right: 0;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop > .ei-cm__menu > .ei-cm__item--has-children > .ei-cm__item-row > .ei-cm__submenu-toggle {
	align-self: center;
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
}

.ei-cm[data-ei-custom-menu] .ei-cm__link {
	display: flex;
	align-items: center;
	min-width: 0;
	min-height: 44px;
	padding: 9px 13px;
	color: var(--ei-cm-text) !important;
	font: inherit;
	font-weight: var(--ei-cm-font-weight, 600);
	letter-spacing: var(--ei-cm-letter-spacing);
	text-decoration: none !important;
	text-shadow: var(--ei-cm-text-shadow);
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	white-space: nowrap;
	outline: none;
	transition: color 160ms ease;
}

.ei-cm[data-ei-custom-menu] .ei-cm__item-row:hover,
.ei-cm[data-ei-custom-menu] .ei-cm__item:focus-within > .ei-cm__item-row,
.ei-cm[data-ei-custom-menu] .ei-cm__item.is-submenu-open > .ei-cm__item-row,
.ei-cm[data-ei-custom-menu] .ei-cm__item.is-current > .ei-cm__item-row {
	background: var(--ei-cm-hover-bg) !important;
	border-color: var(--ei-cm-accent);
}

.ei-cm[data-ei-custom-menu] .ei-cm__item-row:hover > .ei-cm__link,
.ei-cm[data-ei-custom-menu] .ei-cm__item:focus-within > .ei-cm__item-row > .ei-cm__link,
.ei-cm[data-ei-custom-menu] .ei-cm__item.is-submenu-open > .ei-cm__item-row > .ei-cm__link,
.ei-cm[data-ei-custom-menu] .ei-cm__item.is-current > .ei-cm__item-row > .ei-cm__link {
	color: var(--ei-cm-hover-text) !important;
}

.ei-cm[data-ei-custom-menu] .ei-cm__item-row:hover > .ei-cm__submenu-toggle,
.ei-cm[data-ei-custom-menu] .ei-cm__item:focus-within > .ei-cm__item-row > .ei-cm__submenu-toggle,
.ei-cm[data-ei-custom-menu] .ei-cm__item.is-submenu-open > .ei-cm__item-row > .ei-cm__submenu-toggle,
.ei-cm[data-ei-custom-menu] .ei-cm__item.is-current > .ei-cm__item-row > .ei-cm__submenu-toggle {
	color: var(--ei-cm-hover-text) !important;
}

.ei-cm__link:focus-visible,
.ei-cm__submenu-toggle:focus-visible,
.ei-cm__hamburger:focus-visible,
.ei-cm__brand-link:focus-visible {
	outline: 2px solid var(--ei-cm-accent);
	outline-offset: 3px;
}

.ei-cm[data-ei-custom-menu] .ei-cm__submenu-toggle {
	display: grid;
	place-items: center;
	flex: 0 0 34px;
	width: 34px;
	height: 40px;
	padding: 0;
	margin: 0 3px 0 -6px;
	color: var(--ei-cm-text) !important;
	background: transparent !important;
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}

.ei-cm__submenu-toggle span {
	display: block;
	width: 7px;
	height: 7px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 160ms ease;
}

.ei-cm__item.is-submenu-open > .ei-cm__item-row .ei-cm__submenu-toggle span {
	transform: translateY(2px) rotate(225deg);
}

.ei-cm__desktop .ei-cm__submenu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 20;
	visibility: hidden;
	width: var(--ei-cm-dropdown-width, 220px);
	padding: 8px;
	background: var(--ei-cm-dropdown-bg);
	color: var(--ei-cm-dropdown-text);
	border: 1px solid var(--ei-cm-dropdown-border);
	border-radius: max(6px, var(--ei-cm-item-radius, 8px));
	box-shadow: var(--ei-cm-dropdown-shadow);
	opacity: 0;
	transform: translateY(7px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.ei-cm__desktop .ei-cm__menu--right > .ei-cm__item > .ei-cm__submenu {
	right: 0;
	left: auto;
}

.ei-cm__desktop .ei-cm__submenu .ei-cm__submenu {
	top: -9px;
	left: calc(100% + 8px);
}

.ei-cm__desktop .ei-cm__menu--right .ei-cm__submenu .ei-cm__submenu {
	right: calc(100% + 8px);
	left: auto;
}

.ei-cm__desktop .ei-cm__item:hover > .ei-cm__submenu,
.ei-cm__desktop .ei-cm__item:focus-within > .ei-cm__submenu,
.ei-cm__desktop .ei-cm__item.is-submenu-open > .ei-cm__submenu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

/*
 * Submenu containment: page builders/themes often add left padding or list-item
 * spacing to generic UL/LI content. A nested dropdown must own its geometry,
 * otherwise the hover row starts several pixels to the right while the dropdown
 * shell remains correctly aligned. Keep the reset scoped to desktop submenus.
 */
.ei-cm[data-ei-custom-menu] .ei-cm__desktop .ei-cm__submenu {
	padding: 8px !important;
	margin: 0 !important;
	list-style: none !important;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop .ei-cm__submenu > .ei-cm__item {
	display: block;
	width: 100% !important;
	min-width: 0;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop .ei-cm__submenu > .ei-cm__item::marker {
	content: "";
}

.ei-cm[data-ei-custom-menu] .ei-cm__desktop .ei-cm__submenu > .ei-cm__item > .ei-cm__item-row {
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	transform: none;
}

.ei-cm__submenu .ei-cm__item + .ei-cm__item {
	margin-top: 3px;
}

.ei-cm__submenu .ei-cm__item-row {
	width: 100%;
	border-color: transparent;
}

.ei-cm[data-ei-custom-menu] .ei-cm__submenu .ei-cm__link {
	flex: 1 1 auto;
	min-height: 40px;
	padding: 8px 10px;
	color: var(--ei-cm-dropdown-text) !important;
	white-space: normal;
}

/* Desktop submenu text alignment is an explicit per-menu setting. */
.ei-cm--submenu-align-left .ei-cm__desktop .ei-cm__submenu .ei-cm__link {
	justify-content: flex-start;
	text-align: left;
}

.ei-cm--submenu-align-center .ei-cm__desktop .ei-cm__submenu .ei-cm__link {
	justify-content: center;
	text-align: center;
}

.ei-cm--submenu-align-right .ei-cm__desktop .ei-cm__submenu .ei-cm__link {
	justify-content: flex-end;
	text-align: right;
}

.ei-cm[data-ei-custom-menu] .ei-cm__submenu .ei-cm__submenu-toggle {
	color: var(--ei-cm-dropdown-text) !important;
}

.ei-cm__submenu .ei-cm__item-row:hover,
.ei-cm__submenu .ei-cm__item:focus-within > .ei-cm__item-row,
.ei-cm__submenu .ei-cm__item.is-submenu-open > .ei-cm__item-row,
.ei-cm__submenu .ei-cm__item.is-current > .ei-cm__item-row {
	background: var(--ei-cm-dropdown-hover-bg) !important;
}

.ei-cm__brand {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: calc(var(--ei-cm-logo-width, 190px) + (var(--ei-cm-item-gap, 18px) * 2));
	padding: 8px var(--ei-cm-item-gap, 18px);
}

.ei-cm__brand-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	color: var(--ei-cm-text);
	text-decoration: none;
	border-radius: 6px;
}

.ei-cm__brand-image {
	display: block;
	width: min(var(--ei-cm-logo-width, 190px), 100%);
	max-height: calc(var(--ei-cm-height, 82px) - 16px);
	object-fit: contain;
}

.ei-cm__brand-text {
	color: var(--ei-cm-text);
	font-size: 1.15em;
	font-weight: 800;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.ei-cm__brand-empty {
	display: block;
	width: 1px;
}

.ei-cm__brand--empty {
	min-width: 0;
	padding-inline: 0;
}

.ei-cm__mobile-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 62px;
	padding: 8px 14px;
}

.ei-cm__brand--mobile {
	justify-content: flex-start;
	min-width: 0;
	padding: 0;
}

.ei-cm__brand--mobile .ei-cm__brand-image {
	width: min(var(--ei-cm-logo-mobile-width, 150px), 55vw);
	max-height: 52px;
}

.ei-cm[data-ei-custom-menu] .ei-cm__hamburger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 44px;
	padding: 8px 12px;
	color: var(--ei-cm-text) !important;
	font: inherit;
	font-weight: var(--ei-cm-font-weight, 600);
	background: var(--ei-cm-hover-bg) !important;
	border: 1px solid var(--ei-cm-border);
	border-radius: var(--ei-cm-item-radius, 8px);
	cursor: pointer;
}

.ei-cm__hamburger-icon {
	display: grid;
	gap: 4px;
	width: 20px;
}

.ei-cm__hamburger-icon i {
	display: block;
	width: 100%;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: transform 160ms ease, opacity 160ms ease;
}

.ei-cm__hamburger[aria-expanded="true"] .ei-cm__hamburger-icon i:first-child {
	transform: translateY(6px) rotate(45deg);
}

.ei-cm__hamburger[aria-expanded="true"] .ei-cm__hamburger-icon i:nth-child(2) {
	opacity: 0;
}

.ei-cm__hamburger[aria-expanded="true"] .ei-cm__hamburger-icon i:last-child {
	transform: translateY(-6px) rotate(-45deg);
}

.ei-cm--hamburger-left .ei-cm__mobile-head {
	flex-direction: row-reverse;
}

.ei-cm__mobile-panel {
	border-top: 1px solid var(--ei-cm-border);
}

.ei-cm__mobile-panel[hidden] {
	display: none !important;
}

.ei-cm__menu--mobile {
	padding: 10px 12px 14px;
}

.ei-cm__menu--mobile > .ei-cm__item + .ei-cm__item {
	margin-top: 4px;
}

.ei-cm__menu--mobile .ei-cm__item-row {
	width: 100%;
}

.ei-cm__menu--mobile .ei-cm__link {
	flex: 1 1 auto;
	min-height: 44px;
	white-space: normal;
}

.ei-cm__menu--mobile .ei-cm__submenu {
	display: none;
	padding: 8px;
}

.ei-cm__menu--mobile .ei-cm__item.is-submenu-open > .ei-cm__submenu {
	display: block;
}

.ei-cm__menu--mobile .ei-cm__submenu .ei-cm__link {
	color: var(--ei-cm-dropdown-text) !important;
}

/* Mobile submenu mirrors desktop dropdown row geometry and hover behavior. */
.ei-cm[data-ei-custom-menu] .ei-cm__menu--mobile .ei-cm__submenu > .ei-cm__item {
	width: 100%;
	padding: 0 !important;
	margin: 0 !important;
}

.ei-cm[data-ei-custom-menu] .ei-cm__menu--mobile .ei-cm__submenu > .ei-cm__item + .ei-cm__item {
	margin-top: 3px !important;
}

.ei-cm[data-ei-custom-menu] .ei-cm__menu--mobile .ei-cm__submenu > .ei-cm__item > .ei-cm__item-row {
	width: 100% !important;
	max-width: 100%;
	margin: 0 !important;
	transform: none;
	border-color: transparent;
}

.ei-cm[data-ei-custom-menu] .ei-cm__menu--mobile .ei-cm__submenu > .ei-cm__item > .ei-cm__item-row:hover,
.ei-cm[data-ei-custom-menu] .ei-cm__menu--mobile .ei-cm__submenu > .ei-cm__item:focus-within > .ei-cm__item-row,
.ei-cm[data-ei-custom-menu] .ei-cm__menu--mobile .ei-cm__submenu > .ei-cm__item.is-submenu-open > .ei-cm__item-row,
.ei-cm[data-ei-custom-menu] .ei-cm__menu--mobile .ei-cm__submenu > .ei-cm__item.is-current > .ei-cm__item-row {
	background: var(--ei-cm-dropdown-hover-bg) !important;
}

.ei-cm--mobile-submenu-align-left .ei-cm__menu--mobile .ei-cm__submenu .ei-cm__link {
	justify-content: flex-start;
	text-align: left;
}

.ei-cm--mobile-submenu-align-center .ei-cm__menu--mobile .ei-cm__submenu .ei-cm__link {
	justify-content: center;
	text-align: center;
}

.ei-cm--mobile-submenu-align-right .ei-cm__menu--mobile .ei-cm__submenu .ei-cm__link {
	justify-content: flex-end;
	text-align: right;
}

/* Intrinsic fitting: compact first, then use the configured mobile UI if content still cannot fit. */
.ei-cm--compact .ei-cm__desktop > .ei-cm__menu {
	gap: min(var(--ei-cm-item-gap, 18px), 10px);
}

.ei-cm--compact .ei-cm__desktop > .ei-cm__menu > .ei-cm__item > .ei-cm__item-row .ei-cm__link {
	padding-inline: 8px;
	font-size: 0.94em;
}

.ei-cm--compact .ei-cm__desktop > .ei-cm__menu > .ei-cm__item > .ei-cm__item-row .ei-cm__submenu-toggle {
	flex-basis: 24px;
	width: 24px;
	margin-left: 0;
}

.ei-cm--compact .ei-cm__desktop > .ei-cm__brand {
	min-width: calc(var(--ei-cm-logo-width, 190px) + 12px);
	padding-inline: 6px;
}

.ei-cm--force-mobile .ei-cm__desktop {
	display: none !important;
}

.ei-cm--force-mobile .ei-cm__mobile {
	display: block !important;
}

.ei-cm--mobile-align-center .ei-cm__menu--mobile .ei-cm__link {
	justify-content: center;
	text-align: center;
}

.ei-cm--mobile-align-right .ei-cm__menu--mobile .ei-cm__link {
	justify-content: flex-end;
	text-align: right;
}

.ei-cm--mobile-row .ei-cm__mobile-head {
	justify-content: center;
}

/* Administrator-only diagnostic overlay. Outlines do not participate in layout. */
.ei-cm--diagnostic .ei-cm__desktop {
	outline: 2px dashed #22d3ee !important;
	outline-offset: -2px;
}

.ei-cm--diagnostic .ei-cm__menu--left {
	background: rgba(37, 99, 235, 0.16) !important;
	outline: 2px solid #2563eb !important;
}

.ei-cm--diagnostic .ei-cm__brand {
	background: rgba(245, 158, 11, 0.2) !important;
	outline: 2px solid #f59e0b !important;
}

.ei-cm--diagnostic .ei-cm__menu--right {
	background: rgba(239, 68, 68, 0.16) !important;
	outline: 2px solid #ef4444 !important;
}

.ei-cm--diagnostic .ei-cm__desktop > .ei-cm__menu > .ei-cm__item {
	outline: 1px dashed rgba(15, 23, 42, 0.82) !important;
}

.ei-cm--diagnostic .ei-cm__desktop > .ei-cm__menu > .ei-cm__item > .ei-cm__item-row {
	position: relative;
	outline: 1px solid #ffffff !important;
	outline-offset: -2px;
}

.ei-cm--diagnostic .ei-cm__desktop > .ei-cm__menu > .ei-cm__item::after {
	position: absolute;
	top: 2px;
	left: 50%;
	z-index: 30;
	padding: 1px 4px;
	color: #ffffff;
	font: 700 10px/1.2 monospace;
	content: attr(data-ei-cm-debug-label);
	background: #0f172a;
	border-radius: 3px;
	transform: translateX(-50%);
	pointer-events: none;
}

.ei-cm__diagnostic {
	position: fixed;
	left: 12px;
	bottom: 12px;
	z-index: 2147483647;
	width: min(760px, calc(100vw - 24px));
	max-height: 48vh;
	padding: 12px 14px;
	overflow: auto;
	color: #e2e8f0 !important;
	font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	text-align: left;
	background: rgba(2, 6, 23, 0.96) !important;
	border: 1px solid #38bdf8 !important;
	border-radius: 8px;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.52);
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	direction: ltr;
}

.ei-cm--mobile-row.ei-cm--no-brand .ei-cm__mobile-head {
	display: none;
}

.ei-cm--mobile-row .ei-cm__mobile-panel {
	display: block;
}

.ei-cm--mobile-row .ei-cm__menu--mobile {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
}

.ei-cm--mobile-row .ei-cm__menu--mobile > .ei-cm__item {
	margin: 0;
}

.ei-cm--mobile-row .ei-cm__menu--mobile > .ei-cm__item > .ei-cm__submenu {
	position: absolute;
	top: calc(100% + 5px);
	left: 50%;
	z-index: 20;
	width: min(var(--ei-cm-dropdown-width, 220px), calc(100vw - 24px));
	padding: 8px;
	background: var(--ei-cm-dropdown-bg);
	border: 1px solid var(--ei-cm-dropdown-border);
	border-radius: max(6px, var(--ei-cm-item-radius, 8px));
	box-shadow: var(--ei-cm-dropdown-shadow);
	transform: translateX(-50%);
}

.ei-cm-empty-notice {
	padding: 12px 16px;
	color: #7c2d12;
	background: #fff7ed;
	border: 1px solid #fdba74;
}

/* Canonical EI 26 presets. Every preset defines the complete menu palette. */
.ei-cm--basic {
	--ei-cm-bg: #ffffff;
	--ei-cm-surface: #f8fafc;
	--ei-cm-text: #172033;
	--ei-cm-muted: #64748b;
	--ei-cm-border: #d8e0ea;
	--ei-cm-accent: #2563eb;
	--ei-cm-hover-bg: #eef4ff;
	--ei-cm-hover-text: #1d4ed8;
	--ei-cm-dropdown-bg: #ffffff;
	--ei-cm-dropdown-text: #172033;
	--ei-cm-dropdown-hover-bg: #eef4ff;
	--ei-cm-dropdown-border: #d8e0ea;
	--ei-cm-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
	--ei-cm-dropdown-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
	--ei-cm-radius: 10px;
}

.ei-cm--basic_black {
	--ei-cm-bg: rgba(0, 0, 0, 0.76);
	--ei-cm-surface: rgba(255, 255, 255, 0.1);
	--ei-cm-text: #ffffff;
	--ei-cm-muted: rgba(255, 255, 255, 0.72);
	--ei-cm-border: rgba(255, 255, 255, 0.34);
	--ei-cm-accent: #d8b55f;
	--ei-cm-hover-bg: rgba(255, 255, 255, 0.12);
	--ei-cm-hover-text: #ffe39a;
	--ei-cm-dropdown-bg: rgba(5, 5, 5, 0.94);
	--ei-cm-dropdown-text: #ffffff;
	--ei-cm-dropdown-hover-bg: rgba(255, 255, 255, 0.12);
	--ei-cm-dropdown-border: rgba(255, 255, 255, 0.3);
	--ei-cm-shadow: 0 16px 42px rgba(0, 0, 0, 0.4);
	--ei-cm-dropdown-shadow: 0 18px 46px rgba(0, 0, 0, 0.48);
	--ei-cm-radius: 10px;
}

.ei-cm--basic_black .ei-cm__bar {
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.ei-cm--full_black {
	--ei-cm-bg: rgba(0, 0, 0, 0.92);
	--ei-cm-surface: #0a0a0a;
	--ei-cm-text: #ffffff;
	--ei-cm-muted: #d4d4d8;
	--ei-cm-border: rgba(255, 255, 255, 0.82);
	--ei-cm-accent: #ffffff;
	--ei-cm-hover-bg: #ffffff;
	--ei-cm-hover-text: #050505;
	--ei-cm-dropdown-bg: #050505;
	--ei-cm-dropdown-text: #ffffff;
	--ei-cm-dropdown-hover-bg: #ffffff;
	--ei-cm-dropdown-border: #a1a1aa;
	--ei-cm-shadow: 0 16px 42px rgba(0, 0, 0, 0.44);
	--ei-cm-dropdown-shadow: 0 18px 46px rgba(0, 0, 0, 0.52);
	--ei-cm-radius: 8px;
}

.ei-cm--minimal {
	--ei-cm-bg: #ffffff;
	--ei-cm-surface: #ffffff;
	--ei-cm-text: #111827;
	--ei-cm-muted: #6b7280;
	--ei-cm-border: #e5e7eb;
	--ei-cm-accent: #111827;
	--ei-cm-hover-bg: transparent;
	--ei-cm-hover-text: #2563eb;
	--ei-cm-dropdown-bg: #ffffff;
	--ei-cm-dropdown-text: #111827;
	--ei-cm-dropdown-hover-bg: #f3f4f6;
	--ei-cm-dropdown-border: #e5e7eb;
	--ei-cm-shadow: none;
	--ei-cm-dropdown-shadow: 0 12px 28px rgba(17, 24, 39, 0.12);
	--ei-cm-border-width: 1px;
	--ei-cm-radius: 0px;
}

.ei-cm--glass {
	--ei-cm-bg: rgba(239, 246, 255, 0.68);
	--ei-cm-surface: rgba(255, 255, 255, 0.55);
	--ei-cm-text: #10213d;
	--ei-cm-muted: #52647d;
	--ei-cm-border: rgba(255, 255, 255, 0.82);
	--ei-cm-accent: #4f7fd7;
	--ei-cm-hover-bg: rgba(255, 255, 255, 0.68);
	--ei-cm-hover-text: #1e4f9e;
	--ei-cm-dropdown-bg: rgba(241, 247, 255, 0.92);
	--ei-cm-dropdown-text: #10213d;
	--ei-cm-dropdown-hover-bg: rgba(255, 255, 255, 0.9);
	--ei-cm-dropdown-border: rgba(255, 255, 255, 0.9);
	--ei-cm-shadow: 0 18px 46px rgba(42, 78, 130, 0.18);
	--ei-cm-dropdown-shadow: 0 20px 48px rgba(42, 78, 130, 0.2);
	--ei-cm-radius: 18px;
}

.ei-cm--glass .ei-cm__bar,
.ei-cm--glass .ei-cm__submenu {
	-webkit-backdrop-filter: blur(16px) saturate(135%);
	backdrop-filter: blur(16px) saturate(135%);
}

.ei-cm--pixel {
	--ei-cm-bg: #222034;
	--ei-cm-surface: #352d4d;
	--ei-cm-text: #fff1e8;
	--ei-cm-muted: #b8b5d1;
	--ei-cm-border: #f7d51d;
	--ei-cm-accent: #f7d51d;
	--ei-cm-hover-bg: #4b3f68;
	--ei-cm-hover-text: #fff36b;
	--ei-cm-dropdown-bg: #2d2942;
	--ei-cm-dropdown-text: #fff1e8;
	--ei-cm-dropdown-hover-bg: #4b3f68;
	--ei-cm-dropdown-border: #f7d51d;
	--ei-cm-shadow: 5px 5px 0 #11101c;
	--ei-cm-dropdown-shadow: 5px 5px 0 #11101c;
	--ei-cm-border-width: 3px;
	--ei-cm-radius: 0px;
	--ei-cm-font: "Courier New", monospace;
	--ei-cm-letter-spacing: 0.03em;
}

.ei-cm--pixel .ei-cm__bar,
.ei-cm--pixel .ei-cm__submenu,
.ei-cm--pixel .ei-cm__item-row,
.ei-cm--pixel .ei-cm__hamburger {
	image-rendering: pixelated;
	border-radius: 0;
}

.ei-cm--dq {
	--ei-cm-bg: linear-gradient(180deg, #173878 0%, #071943 100%);
	--ei-cm-surface: #102b68;
	--ei-cm-text: #ffffff;
	--ei-cm-muted: #d9e6ff;
	--ei-cm-border: #ffffff;
	--ei-cm-accent: #ffe36e;
	--ei-cm-hover-bg: #ffffff;
	--ei-cm-hover-text: #10245b;
	--ei-cm-dropdown-bg: #112c69;
	--ei-cm-dropdown-text: #ffffff;
	--ei-cm-dropdown-hover-bg: #ffffff;
	--ei-cm-dropdown-border: #ffffff;
	--ei-cm-shadow: inset 0 0 0 3px #0b163d, 0 10px 0 rgba(4, 11, 30, 0.32);
	--ei-cm-dropdown-shadow: inset 0 0 0 2px #0b163d, 5px 6px 0 rgba(4, 11, 30, 0.42);
	--ei-cm-border-width: 3px;
	--ei-cm-radius: 8px;
	--ei-cm-font: "Trebuchet MS", system-ui, sans-serif;
	--ei-cm-text-shadow: 1px 2px 0 #07102f;
}

.ei-cm--ei_world {
	--ei-cm-bg: linear-gradient(180deg, #071c32 0%, #031326 100%);
	--ei-cm-surface: #0b2945;
	--ei-cm-text: #f8fafc;
	--ei-cm-muted: #bfd0dc;
	--ei-cm-border: #b99239;
	--ei-cm-accent: #d7b14a;
	--ei-cm-hover-bg: rgba(215, 177, 74, 0.12);
	--ei-cm-hover-text: #ffe39a;
	--ei-cm-dropdown-bg: #071b2e;
	--ei-cm-dropdown-text: #f8fafc;
	--ei-cm-dropdown-hover-bg: #123b59;
	--ei-cm-dropdown-border: #b99239;
	--ei-cm-shadow: inset 0 0 0 1px rgba(215, 177, 74, 0.12), 0 18px 46px rgba(2, 12, 23, 0.44);
	--ei-cm-dropdown-shadow: 0 18px 44px rgba(2, 12, 23, 0.48);
	--ei-cm-radius: 8px;
}

.ei-cm--ei_world .ei-cm__bar::before {
	opacity: 1;
	background: radial-gradient(circle at 50% -30%, rgba(38, 115, 170, 0.32), transparent 48%), linear-gradient(90deg, rgba(215, 177, 74, 0.06), transparent 30%, transparent 70%, rgba(215, 177, 74, 0.06));
}

.ei-cm--rpg {
	--ei-cm-bg: linear-gradient(180deg, #392715, #1d130a);
	--ei-cm-surface: #4b3219;
	--ei-cm-text: #ffe7a3;
	--ei-cm-muted: #d6bc82;
	--ei-cm-border: #c9973c;
	--ei-cm-accent: #f3c969;
	--ei-cm-hover-bg: #573a1b;
	--ei-cm-hover-text: #fff4c2;
	--ei-cm-dropdown-bg: #2b1c0e;
	--ei-cm-dropdown-text: #ffe7a3;
	--ei-cm-dropdown-hover-bg: #573a1b;
	--ei-cm-dropdown-border: #c9973c;
	--ei-cm-shadow: inset 0 0 0 2px rgba(255, 230, 160, 0.1), 0 15px 38px rgba(27, 15, 4, 0.38);
	--ei-cm-dropdown-shadow: 0 16px 36px rgba(27, 15, 4, 0.46);
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 10px;
	--ei-cm-font: Georgia, "Noto Serif TC", serif;
}

.ei-cm--western {
	--ei-cm-bg: linear-gradient(180deg, #6f3f20, #3c210f);
	--ei-cm-surface: #81502b;
	--ei-cm-text: #fff1cf;
	--ei-cm-muted: #dfc49b;
	--ei-cm-border: #d0a25e;
	--ei-cm-accent: #f0c879;
	--ei-cm-hover-bg: #8b572e;
	--ei-cm-hover-text: #fff8df;
	--ei-cm-dropdown-bg: #513016;
	--ei-cm-dropdown-text: #fff1cf;
	--ei-cm-dropdown-hover-bg: #8b572e;
	--ei-cm-dropdown-border: #d0a25e;
	--ei-cm-shadow: 0 7px 0 #2b170b, 0 16px 34px rgba(40, 22, 8, 0.28);
	--ei-cm-dropdown-shadow: 4px 6px 0 #2b170b;
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 5px;
	--ei-cm-font: Georgia, "Noto Serif TC", serif;
	--ei-cm-letter-spacing: 0.035em;
}

.ei-cm--classic_wood {
	--ei-cm-bg: linear-gradient(90deg, #4c2d18, #704427 48%, #4c2d18);
	--ei-cm-surface: #6a4125;
	--ei-cm-text: #f7e0b3;
	--ei-cm-muted: #d6bd94;
	--ei-cm-border: #a7733e;
	--ei-cm-accent: #e0b366;
	--ei-cm-hover-bg: rgba(255, 222, 157, 0.13);
	--ei-cm-hover-text: #ffe8b6;
	--ei-cm-dropdown-bg: #4b2c18;
	--ei-cm-dropdown-text: #f7e0b3;
	--ei-cm-dropdown-hover-bg: #704427;
	--ei-cm-dropdown-border: #a7733e;
	--ei-cm-shadow: inset 0 3px 0 rgba(255, 255, 255, 0.06), inset 0 -4px 0 rgba(28, 13, 4, 0.28), 0 14px 34px rgba(42, 23, 8, 0.32);
	--ei-cm-dropdown-shadow: 0 14px 34px rgba(42, 23, 8, 0.4);
	--ei-cm-border-width: 3px;
	--ei-cm-radius: 7px;
	--ei-cm-font: Georgia, "Noto Serif TC", serif;
}

.ei-cm--parchment {
	--ei-cm-bg: linear-gradient(180deg, #f6ebce, #ead8ad);
	--ei-cm-surface: #f3e3be;
	--ei-cm-text: #3c2a17;
	--ei-cm-muted: #735b3a;
	--ei-cm-border: #a77b3b;
	--ei-cm-accent: #8a4d19;
	--ei-cm-hover-bg: rgba(119, 74, 25, 0.12);
	--ei-cm-hover-text: #7a3511;
	--ei-cm-dropdown-bg: #f5e6c2;
	--ei-cm-dropdown-text: #3c2a17;
	--ei-cm-dropdown-hover-bg: #e7d09c;
	--ei-cm-dropdown-border: #a77b3b;
	--ei-cm-shadow: 0 12px 30px rgba(83, 56, 23, 0.18);
	--ei-cm-dropdown-shadow: 0 16px 34px rgba(83, 56, 23, 0.22);
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 3px;
	--ei-cm-font: Georgia, "Noto Serif TC", serif;
}

.ei-cm--ink {
	--ei-cm-bg: linear-gradient(180deg, #f3f0e9, #e4e0d7);
	--ei-cm-surface: #eeebe4;
	--ei-cm-text: #242424;
	--ei-cm-muted: #66635d;
	--ei-cm-border: #343434;
	--ei-cm-accent: #111111;
	--ei-cm-hover-bg: rgba(20, 20, 20, 0.09);
	--ei-cm-hover-text: #000000;
	--ei-cm-dropdown-bg: #f1eee7;
	--ei-cm-dropdown-text: #242424;
	--ei-cm-dropdown-hover-bg: #dcd8ce;
	--ei-cm-dropdown-border: #343434;
	--ei-cm-shadow: 4px 5px 0 rgba(25, 25, 25, 0.16);
	--ei-cm-dropdown-shadow: 4px 5px 0 rgba(25, 25, 25, 0.18);
	--ei-cm-border-width: 1px;
	--ei-cm-radius: 2px;
	--ei-cm-font: "Noto Serif TC", Georgia, serif;
}

.ei-cm--chinese {
	--ei-cm-bg: linear-gradient(180deg, #831d20, #4f0d12);
	--ei-cm-surface: #9c2a29;
	--ei-cm-text: #ffe7ae;
	--ei-cm-muted: #e7c78e;
	--ei-cm-border: #d6a343;
	--ei-cm-accent: #f3cf75;
	--ei-cm-hover-bg: rgba(255, 224, 145, 0.14);
	--ei-cm-hover-text: #fff2bd;
	--ei-cm-dropdown-bg: #681317;
	--ei-cm-dropdown-text: #ffe7ae;
	--ei-cm-dropdown-hover-bg: #9c2a29;
	--ei-cm-dropdown-border: #d6a343;
	--ei-cm-shadow: inset 0 0 0 2px rgba(255, 220, 135, 0.12), 0 14px 34px rgba(72, 7, 12, 0.34);
	--ei-cm-dropdown-shadow: 0 16px 36px rgba(72, 7, 12, 0.4);
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 4px;
	--ei-cm-font: "Noto Serif TC", Georgia, serif;
}

.ei-cm--japanese {
	--ei-cm-bg: linear-gradient(180deg, #faf8f2, #eee9df);
	--ei-cm-surface: #f5f1e8;
	--ei-cm-text: #252525;
	--ei-cm-muted: #68645d;
	--ei-cm-border: #343434;
	--ei-cm-accent: #a02c30;
	--ei-cm-hover-bg: rgba(160, 44, 48, 0.1);
	--ei-cm-hover-text: #8b1e23;
	--ei-cm-dropdown-bg: #faf8f2;
	--ei-cm-dropdown-text: #252525;
	--ei-cm-dropdown-hover-bg: #e9dfd7;
	--ei-cm-dropdown-border: #343434;
	--ei-cm-shadow: 0 12px 28px rgba(50, 45, 38, 0.14);
	--ei-cm-dropdown-shadow: 0 14px 30px rgba(50, 45, 38, 0.18);
	--ei-cm-border-width: 1px;
	--ei-cm-radius: 2px;
	--ei-cm-font: "Noto Serif TC", Georgia, serif;
}

.ei-cm--cute {
	--ei-cm-bg: linear-gradient(180deg, #fff3f8, #ffe5f0);
	--ei-cm-surface: #ffffff;
	--ei-cm-text: #5b2940;
	--ei-cm-muted: #96617a;
	--ei-cm-border: #f2aac8;
	--ei-cm-accent: #e05b95;
	--ei-cm-hover-bg: #ffffff;
	--ei-cm-hover-text: #c63d7a;
	--ei-cm-dropdown-bg: #fff5f9;
	--ei-cm-dropdown-text: #5b2940;
	--ei-cm-dropdown-hover-bg: #ffe0ed;
	--ei-cm-dropdown-border: #f2aac8;
	--ei-cm-shadow: 0 14px 34px rgba(201, 83, 135, 0.17);
	--ei-cm-dropdown-shadow: 0 16px 36px rgba(201, 83, 135, 0.2);
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 22px;
}

.ei-cm--dark {
	--ei-cm-bg: #171a22;
	--ei-cm-surface: #232733;
	--ei-cm-text: #f4f6fb;
	--ei-cm-muted: #aeb6c8;
	--ei-cm-border: #394052;
	--ei-cm-accent: #8ea8ff;
	--ei-cm-hover-bg: #2c3342;
	--ei-cm-hover-text: #b9c8ff;
	--ei-cm-dropdown-bg: #20242e;
	--ei-cm-dropdown-text: #f4f6fb;
	--ei-cm-dropdown-hover-bg: #303747;
	--ei-cm-dropdown-border: #41495c;
	--ei-cm-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
	--ei-cm-dropdown-shadow: 0 20px 46px rgba(0, 0, 0, 0.44);
	--ei-cm-radius: 16px;
}

.ei-cm--windows95 {
	--ei-cm-bg: #c0c0c0;
	--ei-cm-surface: #d4d0c8;
	--ei-cm-text: #000000;
	--ei-cm-muted: #404040;
	--ei-cm-border: #ffffff;
	--ei-cm-accent: #000080;
	--ei-cm-hover-bg: #000080;
	--ei-cm-hover-text: #ffffff;
	--ei-cm-dropdown-bg: #c0c0c0;
	--ei-cm-dropdown-text: #000000;
	--ei-cm-dropdown-hover-bg: #000080;
	--ei-cm-dropdown-border: #000000;
	--ei-cm-shadow: inset -2px -2px #000000, inset 2px 2px #ffffff;
	--ei-cm-dropdown-shadow: 3px 3px 0 #000000;
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 0px;
	--ei-cm-font: Arial, sans-serif;
}

.ei-cm--windows95 .ei-cm__item-row,
.ei-cm--windows95 .ei-cm__hamburger {
	border-radius: 0;
	box-shadow: inset -1px -1px #404040, inset 1px 1px #ffffff;
}

.ei-cm--windows {
	--ei-cm-bg: rgba(247, 249, 252, 0.96);
	--ei-cm-surface: #ffffff;
	--ei-cm-text: #1f2937;
	--ei-cm-muted: #667085;
	--ei-cm-border: #d9e1ec;
	--ei-cm-accent: #0067c0;
	--ei-cm-hover-bg: #e8f1fb;
	--ei-cm-hover-text: #005a9e;
	--ei-cm-dropdown-bg: #f9fbfd;
	--ei-cm-dropdown-text: #1f2937;
	--ei-cm-dropdown-hover-bg: #e8f1fb;
	--ei-cm-dropdown-border: #d9e1ec;
	--ei-cm-shadow: 0 12px 30px rgba(41, 66, 95, 0.14);
	--ei-cm-dropdown-shadow: 0 18px 42px rgba(41, 66, 95, 0.18);
	--ei-cm-radius: 8px;
	--ei-cm-font: "Segoe UI", system-ui, sans-serif;
}

.ei-cm--mac {
	--ei-cm-bg: rgba(246, 247, 250, 0.74);
	--ei-cm-surface: rgba(255, 255, 255, 0.72);
	--ei-cm-text: #202124;
	--ei-cm-muted: #6f737b;
	--ei-cm-border: rgba(255, 255, 255, 0.9);
	--ei-cm-accent: #0a84ff;
	--ei-cm-hover-bg: rgba(255, 255, 255, 0.74);
	--ei-cm-hover-text: #006fd6;
	--ei-cm-dropdown-bg: rgba(248, 249, 252, 0.92);
	--ei-cm-dropdown-text: #202124;
	--ei-cm-dropdown-hover-bg: rgba(225, 232, 243, 0.9);
	--ei-cm-dropdown-border: rgba(255, 255, 255, 0.94);
	--ei-cm-shadow: 0 16px 40px rgba(45, 55, 72, 0.16);
	--ei-cm-dropdown-shadow: 0 20px 46px rgba(45, 55, 72, 0.2);
	--ei-cm-radius: 18px;
	--ei-cm-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
}

.ei-cm--mac .ei-cm__bar,
.ei-cm--mac .ei-cm__submenu {
	-webkit-backdrop-filter: blur(18px) saturate(150%);
	backdrop-filter: blur(18px) saturate(150%);
}

.ei-cm--cyberpunk {
	--ei-cm-bg: linear-gradient(90deg, #10051f, #071423 48%, #10051f);
	--ei-cm-surface: #17112b;
	--ei-cm-text: #f7f7ff;
	--ei-cm-muted: #b9afcb;
	--ei-cm-border: #00e5ff;
	--ei-cm-accent: #ff2bd6;
	--ei-cm-hover-bg: rgba(255, 43, 214, 0.15);
	--ei-cm-hover-text: #55f4ff;
	--ei-cm-dropdown-bg: #0e0a1c;
	--ei-cm-dropdown-text: #f7f7ff;
	--ei-cm-dropdown-hover-bg: rgba(0, 229, 255, 0.14);
	--ei-cm-dropdown-border: #ff2bd6;
	--ei-cm-shadow: 0 0 0 1px rgba(255, 43, 214, 0.5), 0 0 28px rgba(0, 229, 255, 0.2);
	--ei-cm-dropdown-shadow: 0 0 24px rgba(255, 43, 214, 0.3);
	--ei-cm-border-width: 1px;
	--ei-cm-radius: 2px;
	--ei-cm-font: "Trebuchet MS", system-ui, sans-serif;
	--ei-cm-letter-spacing: 0.04em;
}

.ei-cm--cyberpunk .ei-cm__bar::before {
	opacity: 0.5;
	background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(0, 229, 255, 0.04) 3px 4px);
}

.ei-cm--nasapunk {
	--ei-cm-bg: linear-gradient(180deg, #eef0ea, #cfd4cf);
	--ei-cm-surface: #f7f8f4;
	--ei-cm-text: #15212a;
	--ei-cm-muted: #53616a;
	--ei-cm-border: #3e4d55;
	--ei-cm-accent: #e65328;
	--ei-cm-hover-bg: #1c2b35;
	--ei-cm-hover-text: #ffffff;
	--ei-cm-dropdown-bg: #e5e8e3;
	--ei-cm-dropdown-text: #15212a;
	--ei-cm-dropdown-hover-bg: #1c2b35;
	--ei-cm-dropdown-border: #3e4d55;
	--ei-cm-shadow: inset 0 -4px 0 rgba(27, 44, 53, 0.18), 0 12px 28px rgba(31, 49, 58, 0.2);
	--ei-cm-dropdown-shadow: 5px 6px 0 rgba(31, 49, 58, 0.24);
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 4px;
	--ei-cm-font: "Arial Narrow", "Roboto Condensed", sans-serif;
	--ei-cm-letter-spacing: 0.055em;
}

.ei-cm--steampunk {
	--ei-cm-bg: linear-gradient(180deg, #4f331f, #25180f);
	--ei-cm-surface: #624027;
	--ei-cm-text: #f1d9aa;
	--ei-cm-muted: #c0a57f;
	--ei-cm-border: #a66d32;
	--ei-cm-accent: #d59343;
	--ei-cm-hover-bg: #744b2b;
	--ei-cm-hover-text: #ffe5af;
	--ei-cm-dropdown-bg: #3b2617;
	--ei-cm-dropdown-text: #f1d9aa;
	--ei-cm-dropdown-hover-bg: #744b2b;
	--ei-cm-dropdown-border: #a66d32;
	--ei-cm-shadow: inset 0 0 0 2px rgba(225, 161, 82, 0.13), 0 14px 36px rgba(32, 18, 8, 0.38);
	--ei-cm-dropdown-shadow: 0 16px 38px rgba(32, 18, 8, 0.44);
	--ei-cm-border-width: 3px;
	--ei-cm-radius: 8px;
	--ei-cm-font: Georgia, "Noto Serif TC", serif;
}

.ei-cm--terminal {
	--ei-cm-bg: #031108;
	--ei-cm-surface: #061b0d;
	--ei-cm-text: #79ff9b;
	--ei-cm-muted: #43b65f;
	--ei-cm-border: #2ed75a;
	--ei-cm-accent: #79ff9b;
	--ei-cm-hover-bg: #0a2b14;
	--ei-cm-hover-text: #b0ffc2;
	--ei-cm-dropdown-bg: #04150a;
	--ei-cm-dropdown-text: #79ff9b;
	--ei-cm-dropdown-hover-bg: #0a2b14;
	--ei-cm-dropdown-border: #2ed75a;
	--ei-cm-shadow: 0 0 22px rgba(46, 215, 90, 0.16), inset 0 0 28px rgba(46, 215, 90, 0.04);
	--ei-cm-dropdown-shadow: 0 0 22px rgba(46, 215, 90, 0.2);
	--ei-cm-border-width: 1px;
	--ei-cm-radius: 0px;
	--ei-cm-font: "Courier New", monospace;
	--ei-cm-letter-spacing: 0.025em;
}

.ei-cm--terminal .ei-cm__bar::before {
	opacity: 1;
	background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(121, 255, 155, 0.035) 3px 4px);
}

.ei-cm--arcane {
	--ei-cm-bg: radial-gradient(circle at 50% 0%, #31236b, #100a2c 72%);
	--ei-cm-surface: #281c58;
	--ei-cm-text: #f5edff;
	--ei-cm-muted: #c5b7df;
	--ei-cm-border: #a98bea;
	--ei-cm-accent: #d4bbff;
	--ei-cm-hover-bg: rgba(191, 155, 255, 0.16);
	--ei-cm-hover-text: #efe4ff;
	--ei-cm-dropdown-bg: #171038;
	--ei-cm-dropdown-text: #f5edff;
	--ei-cm-dropdown-hover-bg: #35266f;
	--ei-cm-dropdown-border: #a98bea;
	--ei-cm-shadow: 0 0 34px rgba(135, 93, 220, 0.28), inset 0 0 0 1px rgba(224, 204, 255, 0.08);
	--ei-cm-dropdown-shadow: 0 0 30px rgba(135, 93, 220, 0.32);
	--ei-cm-border-width: 2px;
	--ei-cm-radius: 18px;
	--ei-cm-font: Georgia, "Noto Serif TC", serif;
}

.ei-cm--arcane .ei-cm__bar::before {
	opacity: 0.75;
	background: radial-gradient(circle at 14% 50%, rgba(204, 176, 255, 0.16), transparent 22%), radial-gradient(circle at 86% 50%, rgba(204, 176, 255, 0.14), transparent 22%);
}

.ei-cm--wabisabi {
	--ei-cm-bg: linear-gradient(180deg, #eee7db, #ded5c7);
	--ei-cm-surface: #e7dfd2;
	--ei-cm-text: #36312b;
	--ei-cm-muted: #756d63;
	--ei-cm-border: #8d8375;
	--ei-cm-accent: #675746;
	--ei-cm-hover-bg: rgba(80, 69, 57, 0.1);
	--ei-cm-hover-text: #4d4034;
	--ei-cm-dropdown-bg: #ebe4d9;
	--ei-cm-dropdown-text: #36312b;
	--ei-cm-dropdown-hover-bg: #d8cec0;
	--ei-cm-dropdown-border: #8d8375;
	--ei-cm-shadow: 0 12px 28px rgba(57, 48, 38, 0.16);
	--ei-cm-dropdown-shadow: 0 14px 30px rgba(57, 48, 38, 0.2);
	--ei-cm-border-width: 1px;
	--ei-cm-radius: 5px;
	--ei-cm-font: "Noto Serif TC", Georgia, serif;
}

/* Context contrast is deliberately last. Inline color overrides still remain authoritative. */
.ei-cm--contrast-dark,
.ei-cm--auto-dark {
	--ei-cm-hover-bg: rgba(255, 255, 255, 0.16);
	--ei-cm-hover-text: #ffffff;
	--ei-cm-dropdown-hover-bg: rgba(255, 255, 255, 0.16);
}

.ei-cm--contrast-light,
.ei-cm--auto-light {
	--ei-cm-hover-bg: rgba(15, 23, 42, 0.09);
	--ei-cm-hover-text: #0f172a;
	--ei-cm-dropdown-hover-bg: rgba(15, 23, 42, 0.09);
}

@media (max-width: 480px) {
	.ei-cm__mobile-head {
		padding-inline: 10px;
	}

	.ei-cm__hamburger {
		padding-inline: 10px;
	}

	.ei-cm__menu--mobile {
		padding-inline: 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ei-cm *,
	.ei-cm *::before,
	.ei-cm *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.001ms !important;
		animation: none !important;
	}
}
