/*
 * Plugin-owned Revision theme integration.
 *
 * This stylesheet intentionally loads after theme styles. Keep selectors
 * scoped to .starlight-theme-shell so Revision updates cannot replace the
 * Starlight visual layer and unrelated themes remain untouched.
 */
body.starlight-theme-shell {
	--sl-shell-bg: #060018;
	--sl-shell-bg-strong: #0d0324;
	--sl-shell-panel: rgba(255, 255, 255, .075);
	--sl-shell-panel-strong: rgba(255, 255, 255, .115);
	--sl-shell-border: rgba(216, 180, 254, .19);
	--sl-shell-border-strong: rgba(216, 180, 254, .31);
	--sl-shell-text: #ffffff;
	--sl-shell-text-muted: rgba(245, 238, 255, .72);
	--sl-shell-accent: #c084fc;
	--sl-shell-accent-strong: #a855f7;
	--sl-shell-shadow: rgba(4, 0, 18, .42);
	--sl-shell-container-max: var(--sl-container-max, 1320px);
	--sl-shell-container-gutter: var(--sl-container-gutter, 48px);
}

body.starlight-theme-shell .cs-logo a > img,
body.starlight-theme-shell .cs-header__logo img,
body.starlight-theme-shell .cs-footer__logo img {
	max-width: 160px !important;
	border-radius: 0 !important;
}

body.starlight-theme-shell:not(.starlight-landing-page) .cs-site-content {
	box-sizing: border-box;
	margin-bottom: 0;
	padding-bottom: 4rem;
	background:
		radial-gradient(circle at 88% 0%, rgba(139, 92, 246, .09), transparent 30%),
		radial-gradient(circle at 8% 78%, rgba(168, 85, 247, .055), transparent 32%),
		linear-gradient(180deg, #fcfbff 0%, #f6f3ff 100%) !important;
}

body.starlight-theme-shell.blog:not(.starlight-landing-page) .cs-site-content {
	margin-top: 0;
	padding-top: 1.5rem;
}

body.starlight-theme-shell[data-scheme="dark"]:not(.starlight-landing-page) .cs-site-content {
	color: var(--sl-shell-text);
	background:
		radial-gradient(circle at 88% 0%, rgba(139, 92, 246, .18), transparent 30%),
		linear-gradient(180deg, #0d0324 0%, #08021d 100%) !important;
}

@media (prefers-color-scheme: dark) {
	body.starlight-theme-shell[data-scheme="auto"]:not(.starlight-landing-page) .cs-site-content {
		color: var(--sl-shell-text);
		background:
			radial-gradient(circle at 88% 0%, rgba(139, 92, 246, .18), transparent 30%),
			linear-gradient(180deg, #0d0324 0%, #08021d 100%) !important;
	}
}

body.starlight-theme-shell .cs-header__logo,
body.starlight-theme-shell .cs-footer__logo,
body.starlight-theme-shell .cs-offcanvas .cs-header__logo {
	font-weight: 800;
	letter-spacing: -.025em;
}

/*
 * The Intro Reveal owns the homepage header. Apply the same visual language to
 * Revision pages that do not contain that block.
 */
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header {
	--cs-color-primary: var(--sl-shell-text);
	--cs-color-secondary: var(--sl-shell-text-muted);
	--cs-color-border: var(--sl-shell-border);
	--cs-color-highlight-background: rgba(168, 85, 247, .16);
	--cs-header-submenu-background: rgba(18, 5, 41, .96);
	--sl-shell-header-text-muted: rgba(255, 255, 255, .66);
	--sl-shell-header-border: rgba(196, 181, 253, .20);
	--sl-shell-header-border-strong: rgba(196, 181, 253, .28);
	--sl-shell-header-hover: rgba(176, 95, 255, .16);
	--sl-shell-header-background:
		radial-gradient(circle at 72% 8%, rgba(139, 92, 246, .26), transparent 34%),
		radial-gradient(circle at 12% 38%, rgba(168, 85, 247, .15), transparent 36%),
		linear-gradient(180deg, #060018 0%, #10002b 100%);
	--sl-header-sticky-opacity: 1;
	--sl-header-top-opacity: 0;
	isolation: isolate;
	z-index: 20;
	width: 100%;
	max-width: none;
	color: var(--sl-shell-text);
	background: var(--sl-shell-header-background) !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	content: "";
	pointer-events: none;
	background: var(--sl-shell-header-background);
	opacity: 0;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-scroll-sticky::before {
	opacity: var(--sl-header-top-opacity);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header::after {
	display: none;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header > .cs-container {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: min(100% - var(--sl-shell-container-gutter), var(--sl-shell-container-max));
	max-width: var(--sl-shell-container-max);
	margin-inline: auto;
	padding-inline: 0;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	min-height: 64px;
	margin-block: 9px;
	padding-inline: 16px;
	color: var(--sl-shell-text);
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .078), rgba(255, 255, 255, .028)) !important;
	border: 1px solid var(--sl-shell-header-border) !important;
	border-radius: 999px;
	box-shadow:
		0 18px 54px rgba(0, 0, 0, .28),
		0 0 38px rgba(139, 92, 246, .13),
		inset 0 1px 0 rgba(255, 255, 255, .11) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner::before {
	position: absolute;
	z-index: 0;
	inset: 0;
	content: "";
	pointer-events: none;
	background:
		linear-gradient(135deg, rgba(28, 16, 54, .94), rgba(8, 2, 24, .97));
	border-radius: inherit;
	opacity: 0;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-mobile {
	position: relative;
	z-index: 1;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop {
	gap: clamp(8px, 1vw, 16px);
	align-items: center;
	overflow: visible;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-header__col {
	min-width: 0;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-left {
	flex: 0 1 auto;
	padding-right: clamp(8px, 1vw, 16px) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-center {
	flex: 1 1 0;
	justify-content: center;
	padding-inline: clamp(8px, 1vw, 16px) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-right {
	flex: 0 0 auto;
	min-width: max-content;
	padding-left: clamp(8px, 1vw, 14px) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-right > *:not(:first-child) {
	margin-left: 8px;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: 0;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner {
	box-sizing: border-box;
	max-width: 100%;
	justify-content: center;
	gap: 6px;
	white-space: nowrap;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-scroll-sticky,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-search-visible {
	background: transparent !important;
	box-shadow: none !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-scroll-sticky .cs-header__inner,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-search-visible .cs-header__inner {
	min-height: 64px;
	margin-block: 9px;
	padding: 0 16px;
	border-color: var(--sl-shell-header-border) !important;
	box-shadow:
		0 18px 54px rgba(0, 0, 0, .28),
		0 0 38px rgba(139, 92, 246, .13),
		inset 0 1px 0 rgba(255, 255, 255, .11) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-scroll-sticky .cs-header__inner::before {
	opacity: var(--sl-header-sticky-opacity);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-search-visible .cs-header__inner::before {
	opacity: 1;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__logo,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__offcanvas-toggle,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__search-toggle,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__scheme-toggle-icons {
	color: var(--sl-shell-text) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header .cs-header__logo,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header .cs-header__logo:hover,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header .cs-header__logo:focus-visible {
	color: var(--sl-shell-text) !important;
	opacity: 1 !important;
	filter: none !important;
	mix-blend-mode: normal;
	text-shadow: none !important;
	transition: none !important;
	transform: translateZ(0);
	backface-visibility: hidden;
	will-change: transform;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li > a {
	position: relative;
	padding: 8px 11px !important;
	color: var(--sl-shell-header-text-muted) !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 999px;
	box-shadow: none !important;
	transition: color .18s ease, background-color .18s ease, text-shadow .18s ease;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li > a::before {
	background: transparent !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li > a > span,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li > a > span span,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner li.menu-item-has-children > a::after {
	color: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li:hover > a,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li > a:focus-visible {
	color: var(--sl-shell-text) !important;
	background: var(--sl-shell-header-hover) !important;
	outline: none;
	text-shadow: 0 0 18px rgba(168, 85, 247, .22);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current-menu-item > a,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current-menu-parent > a,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current-menu-ancestor > a,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current_page_item > a {
	color: var(--sl-shell-accent) !important;
	background: transparent !important;
	box-shadow: none !important;
	text-shadow: none;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current-menu-item > a::before,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current-menu-parent > a::before,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current-menu-ancestor > a::before,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li.current_page_item > a::before {
	top: auto;
	right: auto;
	bottom: 4px;
	left: 50%;
	width: 18px;
	height: 1px;
	min-height: 1px;
	background: linear-gradient(90deg, transparent, var(--sl-shell-accent), transparent) !important;
	border-radius: 999px;
	box-shadow: 0 0 12px rgba(168, 85, 247, .56);
	opacity: 1;
	z-index: 0;
	transform: translateX(-50%);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner .sub-menu {
	color: var(--sl-shell-text);
	background:
		linear-gradient(145deg, rgba(28, 16, 54, .96), rgba(18, 5, 41, .94)) !important;
	border: 1px solid var(--sl-shell-header-border-strong);
	border-radius: 18px;
	box-shadow:
		0 24px 70px rgba(0, 0, 0, .42),
		0 0 30px rgba(139, 92, 246, .14);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner .sub-menu a {
	color: var(--sl-shell-text) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner .sub-menu a:hover,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner .sub-menu a:focus-visible {
	color: var(--sl-shell-text) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-site-scheme-toggle {
	padding: 3px;
	background: rgba(255, 255, 255, .055) !important;
	border: 1px solid var(--sl-shell-header-border);
	border-radius: 999px;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .08),
		0 10px 26px rgba(0, 0, 0, .16);
	transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-site-scheme-toggle .cs-header__scheme-toggle-icons {
	gap: 5px;
	color: var(--sl-shell-text) !important;
	background: transparent !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-site-scheme-toggle .cs-header__scheme-toggle-icons > span {
	width: 26px;
	height: 26px;
	color: var(--sl-shell-header-text-muted) !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal)[data-scheme="light"] .cs-site-scheme-toggle .cs-light-mode,
body.starlight-theme-shell:not(.starlight-has-intro-reveal)[data-scheme="dark"] .cs-site-scheme-toggle .cs-dark-mode {
	color: rgba(255, 255, 255, .90) !important;
	background: rgba(196, 181, 253, .14) !important;
	box-shadow:
		0 0 18px rgba(168, 85, 247, .22),
		inset 0 1px 0 rgba(255, 255, 255, .10) !important;
}

@media (prefers-color-scheme: light) {
	body.starlight-theme-shell:not(.starlight-has-intro-reveal)[data-scheme="auto"] .cs-site-scheme-toggle .cs-light-mode {
		color: rgba(255, 255, 255, .90) !important;
		background: rgba(196, 181, 253, .14) !important;
	}
}

@media (prefers-color-scheme: dark) {
	body.starlight-theme-shell:not(.starlight-has-intro-reveal)[data-scheme="auto"] .cs-site-scheme-toggle .cs-dark-mode {
		color: rgba(255, 255, 255, .90) !important;
		background: rgba(196, 181, 253, .14) !important;
	}
}

body.starlight-theme-shell .cs-header__custom-button,
body.starlight-theme-shell .wp-block-button__link,
body.starlight-theme-shell .vc_btn3.vc_btn3-style-modern,
body.starlight-theme-shell div.wpforms-container-full button[type="submit"],
body.starlight-theme-shell div.wpforms-container-full input[type="submit"] {
	color: #ffffff !important;
	background:
		linear-gradient(135deg, #8b5cf6 0%, #a855f7 58%, #c15cff 100%) !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 999px !important;
	box-shadow:
		0 16px 38px rgba(124, 58, 237, .30),
		inset 0 1px 0 rgba(255, 255, 255, .18) !important;
	transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

body.starlight-theme-shell .cs-header__custom-button:hover,
body.starlight-theme-shell .cs-header__custom-button:focus-visible,
body.starlight-theme-shell .wp-block-button__link:hover,
body.starlight-theme-shell .wp-block-button__link:focus-visible,
body.starlight-theme-shell .vc_btn3.vc_btn3-style-modern:hover,
body.starlight-theme-shell .vc_btn3.vc_btn3-style-modern:focus-visible,
body.starlight-theme-shell div.wpforms-container-full button[type="submit"]:hover,
body.starlight-theme-shell div.wpforms-container-full button[type="submit"]:focus-visible,
body.starlight-theme-shell div.wpforms-container-full input[type="submit"]:hover,
body.starlight-theme-shell div.wpforms-container-full input[type="submit"]:focus-visible {
	color: #ffffff !important;
	box-shadow:
		0 20px 48px rgba(124, 58, 237, .40),
		0 0 26px rgba(192, 132, 252, .18) !important;
	filter: brightness(1.06);
	transform: translateY(-1px);
	outline: none;
}

/* Global Revision search panel, excluding the more detailed Intro scope. */
body.starlight-theme-shell:not(.starlight-has-intro-reveal) {
	--sl-search-panel-background:
		radial-gradient(circle at 88% 12%, rgba(168, 85, 247, .24), transparent 42%),
		linear-gradient(135deg, rgba(22, 12, 52, .98), rgba(8, 2, 24, .99));
	--sl-search-panel-border: var(--sl-shell-border-strong);
	--sl-search-panel-shadow:
		0 24px 80px rgba(8, 2, 24, .50),
		0 0 48px rgba(139, 92, 246, .18);
	--sl-search-text: #ffffff;
	--sl-search-text-muted: rgba(245, 238, 255, .62);
	--sl-search-control-background: rgba(255, 255, 255, .075);
	--sl-search-control-background-focus: rgba(255, 255, 255, .10);
	--sl-search-control-border: rgba(216, 180, 254, .24);
	--sl-search-chip-background: rgba(255, 255, 255, .065);
	--sl-search-chip-background-hover: rgba(168, 85, 247, .18);
	--sl-search-chip-border: rgba(216, 180, 254, .20);
	--sl-search-overlay: rgba(6, 0, 24, .72);
}

body.starlight-theme-shell[data-scheme="light"]:not(.starlight-has-intro-reveal) {
	--sl-search-panel-background:
		radial-gradient(circle at 88% 12%, rgba(168, 85, 247, .15), transparent 42%),
		linear-gradient(145deg, rgba(255, 255, 255, .99), rgba(244, 238, 255, .99));
	--sl-search-panel-border: rgba(124, 58, 237, .22);
	--sl-search-panel-shadow:
		0 24px 72px rgba(40, 20, 72, .20),
		0 0 42px rgba(139, 92, 246, .11);
	--sl-search-text: #25143f;
	--sl-search-text-muted: rgba(37, 20, 63, .62);
	--sl-search-control-background: rgba(255, 255, 255, .90);
	--sl-search-control-background-focus: #ffffff;
	--sl-search-control-border: rgba(124, 58, 237, .24);
	--sl-search-chip-background: rgba(124, 58, 237, .075);
	--sl-search-chip-background-hover: rgba(124, 58, 237, .14);
	--sl-search-chip-border: rgba(124, 58, 237, .17);
	--sl-search-overlay: rgba(30, 12, 55, .28);
}

@media (prefers-color-scheme: light) {
	body.starlight-theme-shell[data-scheme="auto"]:not(.starlight-has-intro-reveal) {
		--sl-search-panel-background:
			radial-gradient(circle at 88% 12%, rgba(168, 85, 247, .15), transparent 42%),
			linear-gradient(145deg, rgba(255, 255, 255, .99), rgba(244, 238, 255, .99));
		--sl-search-panel-border: rgba(124, 58, 237, .22);
		--sl-search-panel-shadow:
			0 24px 72px rgba(40, 20, 72, .20),
			0 0 42px rgba(139, 92, 246, .11);
		--sl-search-text: #25143f;
		--sl-search-text-muted: rgba(37, 20, 63, .62);
		--sl-search-control-background: rgba(255, 255, 255, .90);
		--sl-search-control-background-focus: #ffffff;
		--sl-search-control-border: rgba(124, 58, 237, .24);
		--sl-search-chip-background: rgba(124, 58, 237, .075);
		--sl-search-chip-background-hover: rgba(124, 58, 237, .14);
		--sl-search-chip-border: rgba(124, 58, 237, .17);
		--sl-search-overlay: rgba(30, 12, 55, .28);
	}
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search {
	color: var(--sl-search-text);
	background: var(--sl-search-panel-background) !important;
	border: 1px solid var(--sl-search-panel-border);
	border-radius: 24px;
	box-shadow: var(--sl-search-panel-shadow);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__header h2,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__close {
	color: var(--sl-search-text) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__close {
	background: var(--sl-search-chip-background) !important;
	border: 1px solid var(--sl-search-chip-border);
	border-radius: 999px;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__form-container {
	margin-top: 22px;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__form .cs-search__group {
	gap: 12px;
	align-items: stretch;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__form .cs-search__group:hover {
	box-shadow: none;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__input {
	width: 100% !important;
	min-height: 48px;
	color: var(--sl-search-text) !important;
	background: var(--sl-search-control-background) !important;
	border: 1px solid var(--sl-search-control-border) !important;
	border-radius: 999px !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .10),
		0 10px 26px rgba(8, 2, 24, .08) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__input::placeholder {
	color: var(--sl-search-text-muted) !important;
	opacity: 1;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__input:focus {
	background: var(--sl-search-control-background-focus) !important;
	border-color: rgba(168, 85, 247, .58) !important;
	box-shadow:
		0 0 0 4px rgba(168, 85, 247, .13),
		0 14px 32px rgba(8, 2, 24, .12) !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__submit {
	min-height: 48px;
	padding-inline: 22px;
	color: #ffffff !important;
	background: linear-gradient(135deg, #8b5cf6, #a855f7) !important;
	border-radius: 999px !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content {
	margin-top: 22px;
	color: var(--sl-search-text-muted);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .post-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .post-categories li {
	display: inline-flex;
	margin: 0 !important;
	padding: 0;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .post-categories a,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .cs-meta-category .post-categories li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 12px;
	color: var(--sl-search-text) !important;
	background: var(--sl-search-chip-background) !important;
	border: 1px solid var(--sl-search-chip-border) !important;
	border-radius: 999px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
	text-decoration: none !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .post-categories a::after,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .cs-meta-category .post-categories li a::after {
	content: none !important;
	display: none !important;
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .post-categories a:hover,
body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-search__content .post-categories a:focus-visible {
	background: var(--sl-search-chip-background-hover) !important;
	border-color: rgba(168, 85, 247, .38) !important;
}

/* Mobile navigation belongs to the theme, but its visual treatment belongs here. */
body.starlight-theme-shell .cs-offcanvas {
	--cs-color-primary: var(--sl-shell-text);
	--cs-color-secondary: var(--sl-shell-text-muted);
	color: var(--sl-shell-text);
	background:
		radial-gradient(circle at 18% 8%, rgba(168, 85, 247, .26), transparent 34%),
		linear-gradient(160deg, #12052e 0%, #08021d 58%, #060018 100%) !important;
	border-right: 1px solid var(--sl-shell-border);
	box-shadow: 26px 0 80px rgba(4, 0, 18, .48);
}

body.starlight-theme-shell .cs-offcanvas__header {
	border-bottom: 1px solid var(--sl-shell-border);
}

body.starlight-theme-shell .cs-offcanvas__toggle,
body.starlight-theme-shell .cs-offcanvas .cs-header__logo,
body.starlight-theme-shell .cs-offcanvas .widget_nav_menu a {
	color: var(--sl-shell-text) !important;
}

body.starlight-theme-shell .cs-offcanvas .widget_nav_menu a {
	border-radius: 14px;
	transition: color .18s ease, background-color .18s ease;
}

body.starlight-theme-shell .cs-offcanvas .widget_nav_menu a:hover,
body.starlight-theme-shell .cs-offcanvas .widget_nav_menu a:focus-visible,
body.starlight-theme-shell .cs-offcanvas .widget_nav_menu .current-menu-item > a {
	color: var(--sl-shell-accent) !important;
	background: rgba(168, 85, 247, .13);
	outline: none;
}

body.starlight-theme-shell .cs-offcanvas__bottombar {
	border-top: 1px solid var(--sl-shell-border);
}

body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-offcanvas__bottombar {
	justify-content: flex-end;
}

body.starlight-theme-shell .cs-site-overlay,
body.starlight-theme-shell .cs-search-overlay {
	background: var(--sl-search-overlay, rgba(6, 0, 24, .72)) !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

/* Footer is the most visible theme-owned surface after the landing blocks. */
body.starlight-theme-shell .cs-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--sl-shell-text);
	background:
		radial-gradient(circle at 82% 8%, rgba(139, 92, 246, .25), transparent 34%),
		radial-gradient(circle at 12% 88%, rgba(168, 85, 247, .14), transparent 38%),
		linear-gradient(180deg, #0d0324 0%, #060018 100%) !important;
	border-top: 1px solid var(--sl-shell-border);
}

body.starlight-theme-shell .cs-footer::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	content: "";
	opacity: .14;
	background-image:
		linear-gradient(rgba(255, 255, 255, .08) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .08) 1px, transparent 1px);
	background-size: 32px 32px;
	mask-image: linear-gradient(to bottom, #000, transparent 90%);
	pointer-events: none;
}

body.starlight-theme-shell .cs-footer > .cs-container {
	box-sizing: border-box;
	width: min(100% - var(--sl-shell-container-gutter), var(--sl-shell-container-max));
	max-width: var(--sl-shell-container-max);
	margin-inline: auto;
	padding-inline: 0;
}

body.starlight-theme-shell .cs-footer__item {
	padding-block: clamp(42px, 6vw, 80px) 28px;
	background: transparent !important;
	border: 0 !important;
}

body.starlight-theme-shell .cs-footer__item-inner {
	padding: clamp(28px, 4vw, 48px);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)) !important;
	border: 1px solid var(--sl-shell-border);
	border-radius: 28px;
	box-shadow:
		0 28px 78px rgba(4, 0, 18, .38),
		0 0 46px rgba(139, 92, 246, .10),
		inset 0 1px 0 rgba(255, 255, 255, .10);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body.starlight-theme-shell .cs-footer__logo,
body.starlight-theme-shell .cs-footer__nav > li > a {
	color: var(--sl-shell-text) !important;
}

body.starlight-theme-shell .cs-footer__nav > li > a {
	font-weight: 700;
	letter-spacing: .01em;
}

body.starlight-theme-shell .cs-footer__nav > li > ul > li > a,
body.starlight-theme-shell .cs-footer__desc,
body.starlight-theme-shell .cs-footer__copyright {
	color: var(--sl-shell-text-muted) !important;
}

body.starlight-theme-shell .cs-footer__nav > li > ul > li > a {
	transition: color .18s ease, transform .18s ease;
}

body.starlight-theme-shell .cs-footer__nav > li > ul > li > a:hover,
body.starlight-theme-shell .cs-footer__nav > li > ul > li > a:focus-visible,
body.starlight-theme-shell .cs-footer__copyright a:hover,
body.starlight-theme-shell .cs-footer__copyright a:focus-visible {
	color: var(--sl-shell-accent) !important;
	outline: none;
}

body.starlight-theme-shell .cs-footer__item-inner-bottom {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--sl-shell-border);
}

body.starlight-theme-shell .cs-footer__copyright {
	margin-top: 0 !important;
	text-align: center;
}

body.starlight-theme-shell .cs-scroll-top {
	color: rgba(255, 255, 255, .92) !important;
	background:
		linear-gradient(135deg, rgba(30, 15, 64, .94), rgba(8, 2, 24, .98)) !important;
	border: 1px solid var(--sl-shell-border-strong) !important;
	box-shadow:
		0 14px 34px rgba(8, 2, 24, .46),
		0 0 28px rgba(168, 92, 255, .18) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

body.starlight-theme-shell .cs-scroll-top:hover,
body.starlight-theme-shell .cs-scroll-top:focus-visible {
	color: #ffffff !important;
	border-color: rgba(216, 180, 254, .48) !important;
	box-shadow:
		0 18px 46px rgba(8, 2, 24, .52),
		0 0 34px rgba(178, 92, 255, .24) !important;
	outline: 2px solid rgba(216, 180, 254, .52);
	outline-offset: 3px;
}

body.starlight-theme-shell .cs-scroll-top-border path {
	stroke: rgba(216, 180, 254, .24) !important;
}

body.starlight-theme-shell .cs-scroll-top-progress path {
	stroke: var(--sl-shell-accent) !important;
}

/* CookieYes is visually prominent on first load, so keep it in the same shell. */
body.starlight-theme-shell .cky-consent-container .cky-consent-bar {
	color: var(--sl-shell-text) !important;
	background:
		radial-gradient(circle at 90% 8%, rgba(168, 85, 247, .22), transparent 38%),
		linear-gradient(145deg, rgba(24, 12, 54, .97), rgba(8, 2, 24, .98)) !important;
	border: 1px solid var(--sl-shell-border-strong) !important;
	border-radius: 22px !important;
	box-shadow:
		0 24px 70px rgba(4, 0, 18, .48),
		0 0 36px rgba(139, 92, 246, .16) !important;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

body.starlight-theme-shell .cky-title,
body.starlight-theme-shell .cky-notice-des,
body.starlight-theme-shell .cky-notice-des *,
body.starlight-theme-shell .cky-preference-title,
body.starlight-theme-shell .cky-preference-content-wrapper,
body.starlight-theme-shell .cky-accordion-header-des,
body.starlight-theme-shell .cky-accordion-btn {
	color: var(--sl-shell-text) !important;
}

body.starlight-theme-shell .cky-notice-des,
body.starlight-theme-shell .cky-preference-content-wrapper,
body.starlight-theme-shell .cky-accordion-header-des {
	color: var(--sl-shell-text-muted) !important;
}

body.starlight-theme-shell .cky-btn {
	min-height: 44px;
	color: var(--sl-shell-text) !important;
	background: rgba(255, 255, 255, .06) !important;
	border: 1px solid var(--sl-shell-border-strong) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}

body.starlight-theme-shell .cky-btn:hover,
body.starlight-theme-shell .cky-btn:focus-visible {
	color: #ffffff !important;
	background: rgba(168, 85, 247, .20) !important;
	border-color: rgba(216, 180, 254, .52) !important;
	outline: none;
}

body.starlight-theme-shell .cky-btn-accept {
	background: linear-gradient(135deg, #8b5cf6, #a855f7) !important;
	border-color: rgba(255, 255, 255, .18) !important;
	box-shadow: 0 14px 32px rgba(124, 58, 237, .30);
}

body.starlight-theme-shell .cky-btn-close {
	color: var(--sl-shell-text) !important;
	background: rgba(255, 255, 255, .08) !important;
	border-radius: 999px;
}

body.starlight-theme-shell :where(
	a,
	button,
	input,
	textarea,
	select,
	[role="button"]
):focus-visible {
	outline: 2px solid rgba(216, 180, 254, .72);
	outline-offset: 3px;
}

@media (max-width: 991px) {
	body.starlight-theme-shell {
		--sl-shell-container-gutter: 24px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner {
		min-height: 56px;
		margin-block: 8px;
		padding: 0 10px 0 8px;
		border-radius: 24px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-scroll-sticky .cs-header__inner,
	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-search-visible .cs-header__inner {
		min-height: 56px;
		margin-block: 8px;
		padding: 0 10px 0 8px;
		border-radius: 24px;
	}
}

@media (min-width: 768px) {
	body.starlight-theme-shell:not(.starlight-landing-page) .cs-site-content {
		padding-bottom: 6rem;
	}
}

@media (min-width: 992px) {
	body.starlight-theme-shell:not(.starlight-landing-page) .cs-site-content {
		padding-bottom: 7.5rem;
	}
}

@media (min-width: 992px) and (max-width: 1280px) {
	body.starlight-theme-shell:not(.starlight-has-intro-reveal) {
		--sl-shell-container-gutter: 24px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header > .cs-container {
		padding-inline: 0;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner {
		padding-inline: 12px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-scroll-sticky .cs-header__inner,
	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header.cs-search-visible .cs-header__inner {
		padding-inline: 12px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner {
		gap: 4px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li > a {
		padding: 7px 8px !important;
	}
}

@media (min-width: 992px) and (max-width: 1180px) {
	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop {
		gap: 6px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-left {
		padding-right: 8px !important;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-center {
		padding-inline: 6px !important;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-right {
		padding-left: 8px !important;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-col-right > *:not(:first-child) {
		margin-left: 8px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner {
		gap: 2px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__nav-inner > li > a {
		padding: 7px 6px !important;
		font-size: 13px;
	}

	body.starlight-theme-shell:not(.starlight-has-intro-reveal) .cs-header__inner-desktop .cs-site-scheme-toggle .cs-header__scheme-toggle-icons > span {
		width: 24px;
		height: 24px;
	}
}

@media (max-width: 767px) {
	body.starlight-theme-shell {
		--sl-shell-container-gutter: 20px;
	}

	body.starlight-theme-shell .cs-footer__item {
		padding-block: 28px 20px;
	}

	body.starlight-theme-shell .cs-footer__item-inner {
		padding: 24px 20px;
		border-radius: 22px;
	}

	body.starlight-theme-shell .cs-footer__item-inner-bottom {
		margin-top: 20px;
		padding-top: 20px;
	}

	body.starlight-theme-shell .cky-consent-container .cky-consent-bar {
		border-radius: 20px 20px 0 0 !important;
	}
}

@media (max-width: 575px) {
	body.starlight-theme-shell .cky-notice-btn-wrapper {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		width: 100%;
	}

	body.starlight-theme-shell .cky-notice-btn-wrapper .cky-btn {
		width: 100% !important;
		margin: 0 !important;
		padding-inline: 10px !important;
	}

	body.starlight-theme-shell .cky-notice-btn-wrapper .cky-btn-accept {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.starlight-theme-shell *,
	body.starlight-theme-shell *::before,
	body.starlight-theme-shell *::after {
		scroll-behavior: auto !important;
	}

	body.starlight-theme-shell .cs-header__custom-button,
	body.starlight-theme-shell .wp-block-button__link,
	body.starlight-theme-shell .vc_btn3,
	body.starlight-theme-shell .cky-btn {
		transition: none !important;
	}
}
