:root {
	--kse-brand-neon-green: #57cd9b;
	--kse-brand-neon-turquoise: #3fcfb6;
	--kse-brand-neon-cyan: #50b9d4;
	--kse-brand-black: #000000;
	--kse-brand-navy-950: #000000;
	--kse-brand-navy-900: #020c0a;
	--kse-brand-navy-800: #061a16;
	--kse-brand-teal-700: #176b4f;
	--kse-brand-teal-500: #238a68;
	--kse-brand-teal-400: #57cd9b;
	--kse-brand-violet-700: #176b4f;
	--kse-brand-violet-500: #57cd9b;
	--kse-brand-cyan-600: #50b9d4;
	--kse-brand-gradient: linear-gradient(135deg, #57cd9b 0%, #57cd9b 56%, #3fcfb6 82%, #50b9d4 100%);
	--kse-brand-gradient-vivid: linear-gradient(135deg, #68d9a8 0%, #57cd9b 46%, #3fcfb6 76%, #50b9d4 100%);
	--kse-brand-on-gradient: #000000;
	--kse-brand-focus: #57cd9b;
	--kse-brand-ink: #000000;
	--kse-brand-text: #172b27;
	--kse-brand-muted: #587069;
	--kse-brand-surface: #f3fcf9;
	--kse-brand-surface-soft: #e7f8f3;
	--kse-brand-panel: #ffffff;
	--kse-brand-border: #c4e9d8;
	--kse-brand-shadow: 0 18px 48px rgba(23, 107, 79, 0.12);
}

.kse-site-theme-menu-item {
	display: flex;
	align-items: center;
}

.kse-site-theme-toggle {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 36px;
	padding: 7px 11px;
	border: 1px solid rgba(87, 205, 155, 0.4);
	border-radius: 8px;
	color: inherit;
	font: inherit;
	font-size: 0.88em;
	font-weight: 700;
	line-height: 1;
	background: linear-gradient(135deg, rgba(87, 205, 155, 0.2), rgba(63, 207, 182, 0.08));
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.kse-site-theme-toggle:hover,
.kse-site-theme-toggle:focus-visible {
	border-color: var(--kse-brand-teal-700);
	background: linear-gradient(135deg, rgba(87, 205, 155, 0.3), rgba(80, 185, 212, 0.14));
	transform: translateY(-1px);
}

.kse-site-theme-toggle:focus-visible {
	outline: 3px solid rgba(87, 205, 155, 0.34);
	outline-offset: 2px;
}

.kse-site-theme-toggle__icon {
	display: inline-grid;
	width: 18px;
	height: 18px;
	place-items: center;
	font-size: 16px;
	line-height: 1;
}

html[data-kse-theme="dark"] {
	color-scheme: dark;
	--kse-brand-ink: #effffb;
	--kse-brand-text: #d9eee8;
	--kse-brand-muted: #9dbbb3;
	--kse-brand-surface: #000000;
	--kse-brand-surface-soft: #061a16;
	--kse-brand-panel: #020c0a;
	--kse-brand-border: #245f54;
	--kse-brand-shadow: 0 18px 48px rgba(0, 0, 0, 0.34);
	--wp--preset--color--base: #000000;
	--wp--preset--color--contrast: #effffb;
	--wp--preset--color--background: #000000;
	--wp--preset--color--foreground: #effffb;
}

html[data-kse-theme="dark"] body {
	color: var(--kse-brand-text);
	background-color: var(--kse-brand-surface);
}

html[data-kse-theme="dark"] :is(header.wp-block-template-part, footer.wp-block-template-part, .site-header, .site-footer) {
	color: var(--kse-brand-text);
	background-color: var(--kse-brand-panel);
}

html[data-kse-theme="dark"] :is(header.wp-block-template-part, footer.wp-block-template-part, .site-header, .site-footer) a {
	color: inherit;
}

html[data-kse-theme="dark"] .kse-site-theme-toggle {
	border-color: rgba(87, 205, 155, 0.46);
	color: #d9eee8;
	background: linear-gradient(135deg, rgba(87, 205, 155, 0.18), rgba(63, 207, 182, 0.08));
}

@media (max-width: 782px) {
	.kse-site-theme-toggle {
		width: 100%;
		justify-content: flex-start;
	}
}
