/*
 * CAKE UI Framework
 * Canonical token-driven components shared by the frontend, dashboard and editors.
 * Golden rule: use ::before / ::after for visual lines and active indicators; reserve
 * real borders for focus, validation and accessibility modes.
 */
:root {
	color-scheme: light;
	--cake-primary: var(--cake-pink, #f52aa0);
	--cake-primary-strong: var(--cake-pink-hot, #df178a);
	--cake-secondary: var(--cake-purple, #8c35e8);
	--cake-secondary-strong: var(--cake-blue, #36b9e8);
	--cake-ink: #151826;
	--cake-muted: #746b7b;
	--cake-subtle: #9b91a2;
	--cake-page: #fff6fb;
	--cake-page-alt: #f7eff8;
	--cake-surface: rgba(255, 255, 255, 0.82);
	--cake-surface-strong: rgba(255, 255, 255, 0.94);
	--cake-surface-soft: rgba(255, 255, 255, 0.58);
	--cake-control: rgba(255, 255, 255, 0.72);
	--cake-separator: rgba(219, 84, 160, 0.18);
	--cake-separator-strong: rgba(219, 84, 160, 0.34);
	--cake-danger: #e93863;
	--cake-success: #179d67;
	--cake-warning: #e28a24;
	--cake-info: #318ee8;
	--cake-shadow-xs: 0 7px 20px rgba(89, 31, 72, 0.06);
	--cake-shadow-sm: 0 14px 34px rgba(114, 32, 85, 0.10);
	--cake-shadow-md: 0 22px 56px rgba(139, 29, 99, 0.15);
	--cake-shadow-lg: 0 30px 84px rgba(139, 29, 99, 0.20);
	--cake-glow-primary: 0 16px 38px rgba(245, 42, 160, 0.30);
	--cake-glow-secondary: 0 18px 46px rgba(140, 53, 232, 0.22);
	--cake-radius-xs: 10px;
	--cake-radius-sm: 14px;
	--cake-radius-md: 20px;
	--cake-radius-lg: 28px;
	--cake-radius-xl: 34px;
	--cake-radius-pill: 999px;
	--cake-control-height: 44px;
	--cake-font-body: "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cake-font-heading: "Rubik", "Lexend", system-ui, sans-serif;
	--cake-ease: cubic-bezier(.2, .8, .2, 1);
	--cake-fast: 150ms;
	--cake-normal: 260ms;
	--cake-slow: 9s;
}

[data-cake-theme="dark"],
.cake-theme-dark {
	color-scheme: dark;
	--cake-ink: var(--cake-dark-ink, #fbf7ff);
	--cake-muted: var(--cake-dark-muted, #c7bbcf);
	--cake-subtle: #9d91a8;
	--cake-page: var(--cake-dark-page, #0c0d14);
	--cake-page-alt: var(--cake-dark-page-alt, #13131d);
	--cake-surface: var(--cake-dark-surface, rgba(24, 23, 34, 0.82));
	--cake-surface-strong: var(--cake-dark-surface-strong, rgba(30, 29, 43, 0.96));
	--cake-surface-soft: rgba(31, 29, 44, 0.60);
	--cake-control: var(--cake-dark-control, rgba(38, 36, 52, 0.78));
	--cake-separator: var(--cake-dark-separator, rgba(255, 113, 194, 0.16));
	--cake-separator-strong: rgba(255, 113, 194, 0.34);
	--cake-shadow-xs: 0 8px 24px rgba(0, 0, 0, 0.18);
	--cake-shadow-sm: 0 16px 40px rgba(0, 0, 0, 0.28);
	--cake-shadow-md: 0 24px 64px rgba(0, 0, 0, 0.38);
	--cake-shadow-lg: 0 34px 90px rgba(0, 0, 0, 0.48);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-cake-theme="light"]) {
		color-scheme: dark;
		--cake-ink: var(--cake-dark-ink, #fbf7ff);
		--cake-muted: var(--cake-dark-muted, #c7bbcf);
		--cake-subtle: #9d91a8;
		--cake-page: var(--cake-dark-page, #0c0d14);
		--cake-page-alt: var(--cake-dark-page-alt, #13131d);
		--cake-surface: var(--cake-dark-surface, rgba(24, 23, 34, 0.82));
		--cake-surface-strong: var(--cake-dark-surface-strong, rgba(30, 29, 43, 0.96));
		--cake-surface-soft: rgba(31, 29, 44, 0.60);
		--cake-control: var(--cake-dark-control, rgba(38, 36, 52, 0.78));
		--cake-separator: var(--cake-dark-separator, rgba(255, 113, 194, 0.16));
		--cake-separator-strong: rgba(255, 113, 194, 0.34);
	}
}

body:not(.wp-admin) {
	font-family: var(--cake-font-body);
}
body:not(.wp-admin) :is(h1,h2,h3,h4,h5,h6) {
	font-family: var(--cake-font-heading);
	letter-spacing: -0.025em;
}

.cake-admin-shell,
.cake-editor-shell,
.cake-member-shell,
.cake-ui-scope {
	color: var(--cake-ink);
	font-family: var(--cake-font-body);
}

.cake-admin-shell :is(h1, h2, h3, h4, h5, h6),
.cake-editor-shell :is(h1, h2, h3, h4, h5, h6),
.cake-member-shell :is(h1, h2, h3, h4, h5, h6),
.cake-heading {
	color: var(--cake-ink);
	font-family: var(--cake-font-heading);
	font-weight: 720;
	letter-spacing: -0.025em;
}

/* Shared floating surfaces */
.cake-surface,
.cake-card,
.cake-dashboard-panel,
.cake-admin-topbar,
.cake-admin-sidebar,
.cake-editor-topbar,
.cake-editor-sidebar,
.cake-editor-stage,
.cake-settings-card,
.cake-settings-aside-card,
.cake-theme-editor-card {
	position: relative;
	isolation: isolate;
	border: 0;
	background: var(--cake-surface);
	box-shadow: var(--cake-shadow-sm);
	backdrop-filter: blur(22px) saturate(1.28);
	-webkit-backdrop-filter: blur(22px) saturate(1.28);
}

.cake-card::before,
.cake-dashboard-panel::before,
.cake-settings-card::before,
.cake-settings-aside-card::before,
.cake-theme-editor-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	pointer-events: none;
	background: linear-gradient(115deg, rgba(255,255,255,.34), transparent 38%, rgba(245,42,160,.035));
}

/* Canonical buttons */
.cake-button,
.cake-btn,
.cake-admin-shell .button,
.cake-editor-shell .button,
.cake-member-shell button,
.cake-member-social-button,
.cake-user-menu-login,
.cake-pwa-install-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-height: var(--cake-control-height);
	padding: 0.7rem 1.15rem;
	border: 0;
	border-radius: var(--cake-radius-pill);
	font: 700 0.9rem/1 var(--cake-font-body);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: transform var(--cake-fast) var(--cake-ease), box-shadow var(--cake-normal) var(--cake-ease), background var(--cake-normal) var(--cake-ease), color var(--cake-fast) ease;
}

.cake-button::after,
.cake-btn::after,
.cake-admin-shell .button::after,
.cake-editor-shell .button::after {
	content: "";
	position: absolute;
	inset: auto 18% -7px;
	height: 10px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0;
	filter: blur(12px);
	transition: opacity var(--cake-normal) ease;
	pointer-events: none;
}

.cake-button:hover,
.cake-btn:hover,
.cake-admin-shell .button:hover,
.cake-editor-shell .button:hover {
	transform: translateY(-1px);
}

.cake-button:hover::after,
.cake-btn:hover::after,
.cake-admin-shell .button:hover::after,
.cake-editor-shell .button:hover::after { opacity: .16; }

.cake-button-primary,
.cake-btn-primary,
.cake-admin-shell .button-primary,
.cake-admin-shell button[type="submit"],
.cake-settings-save {
	background: linear-gradient(135deg, var(--cake-primary), var(--cake-primary-strong) 54%, var(--cake-secondary));
	color: #fff;
	box-shadow: var(--cake-glow-primary);
}

.cake-button-secondary,
.cake-btn-secondary {
	background: linear-gradient(135deg, color-mix(in srgb, var(--cake-secondary) 82%, white), var(--cake-secondary-strong));
	color: #fff;
	box-shadow: var(--cake-glow-secondary);
}

.cake-button-quiet,
.cake-button-outline,
.cake-btn-outline,
.cake-admin-shell .button:not(.button-primary),
.cake-editor-shell .button:not(.button-primary) {
	background: var(--cake-control);
	color: var(--cake-ink);
	box-shadow: var(--cake-shadow-xs);
}

/* Canonical controls */
.cake-input,
.cake-select,
.cake-textarea,
.cake-admin-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.cake-editor-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
.cake-member-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	width: 100%;
	min-height: var(--cake-control-height);
	padding: 0.72rem 0.9rem;
	border: 0;
	border-radius: var(--cake-radius-sm);
	background: var(--cake-control);
	color: var(--cake-ink);
	font: 600 0.9rem/1.35 var(--cake-font-body);
	box-shadow: inset 0 -1px 0 var(--cake-separator), var(--cake-shadow-xs);
	outline: none;
	transition: box-shadow var(--cake-fast) ease, background var(--cake-fast) ease, transform var(--cake-fast) ease;
}

.cake-admin-shell select,
.cake-editor-shell select,
.cake-member-shell select,
.cake-select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.6rem;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--cake-muted) 50%),
		linear-gradient(135deg, var(--cake-muted) 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
}

.cake-input:focus,
.cake-select:focus,
.cake-textarea:focus,
.cake-admin-shell :is(input, select, textarea):focus,
.cake-editor-shell :is(input, select, textarea):focus,
.cake-member-shell :is(input, select, textarea):focus {
	box-shadow: inset 0 -2px 0 var(--cake-primary), 0 0 0 4px color-mix(in srgb, var(--cake-primary) 18%, transparent), var(--cake-shadow-xs);
}

.cake-field-label,
.cake-settings-field > label,
.cake-settings-field-label {
	display: block;
	margin: 0 0 .45rem;
	color: var(--cake-ink);
	font-size: .78rem;
	font-weight: 760;
}

.cake-field-help,
.cake-settings-description,
.cake-muted,
.cake-admin-shell .description {
	color: var(--cake-muted);
	font-size: .78rem;
	line-height: 1.55;
}

/* Checkboxes and switches */
.cake-check,
.cake-switch {
	display: inline-flex;
	align-items: center;
	gap: .65rem;
	color: var(--cake-ink);
	font-weight: 650;
}

.cake-admin-shell input[type="checkbox"],
.cake-editor-shell input[type="checkbox"],
.cake-member-shell input[type="checkbox"] {
	appearance: none;
	width: 20px;
	height: 20px;
	margin: 0;
	border: 0;
	border-radius: 7px;
	background: var(--cake-control);
	box-shadow: inset 0 0 0 1px var(--cake-separator-strong);
	cursor: pointer;
}

.cake-admin-shell input[type="checkbox"]:checked,
.cake-editor-shell input[type="checkbox"]:checked,
.cake-member-shell input[type="checkbox"]:checked {
	background: linear-gradient(135deg, var(--cake-primary), var(--cake-secondary));
	box-shadow: var(--cake-glow-primary);
}

.cake-admin-shell input[type="checkbox"]:checked::before,
.cake-editor-shell input[type="checkbox"]:checked::before,
.cake-member-shell input[type="checkbox"]:checked::before {
	content: "\2713";
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	margin: 0;
	color: #fff;
	font-size: 13px;
	font-weight: 900;
}

/* Underline tabbers — never bubbles by default */
.cake-tabs,
.cake-settings-tabs,
.cake-admin-sidebar-mode-tabs,
.cake-editor-mode-tabs,
.cake-editor-top-tabs {
	position: relative;
	display: flex;
	align-items: center;
	gap: clamp(.9rem, 2vw, 2rem);
	padding: 0;
	background: transparent;
}

.cake-tabs::after,
.cake-settings-tabs::after,
.cake-admin-sidebar-mode-tabs::after,
.cake-editor-mode-tabs::after,
.cake-editor-top-tabs::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cake-separator-strong), transparent 85%);
	pointer-events: none;
}

.cake-tab,
.cake-settings-tab,
.cake-admin-sidebar-mode-tabs button,
.cake-editor-mode-tabs button,
.cake-editor-top-tabs button {
	position: relative;
	min-height: 44px;
	padding: .65rem .15rem .8rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--cake-muted);
	font: 700 .82rem/1 var(--cake-font-body);
	cursor: pointer;
}

.cake-tab::after,
.cake-settings-tab::after,
.cake-admin-sidebar-mode-tabs button::after,
.cake-editor-mode-tabs button::after,
.cake-editor-top-tabs button::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	border-radius: var(--cake-radius-pill);
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary));
	box-shadow: 0 0 18px color-mix(in srgb, var(--cake-primary) 58%, transparent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--cake-normal) var(--cake-ease);
}

.cake-tab:is(.is-active,[aria-selected="true"]),
.cake-settings-tab:is(.is-active,[aria-selected="true"]),
.cake-admin-sidebar-mode-tabs button.is-active,
.cake-editor-mode-tabs button.is-active,
.cake-editor-top-tabs button.is-active {
	color: var(--cake-primary);
	background: transparent;
}

.cake-tab:is(.is-active,[aria-selected="true"])::after,
.cake-settings-tab:is(.is-active,[aria-selected="true"])::after,
.cake-admin-sidebar-mode-tabs button.is-active::after,
.cake-editor-mode-tabs button.is-active::after,
.cake-editor-top-tabs button.is-active::after { transform: scaleX(1); }

/* Notices */
.cake-notice,
.cake-member-notice,
.cake-admin-notification {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .8rem;
	align-items: start;
	padding: 1rem 1.1rem 1rem 1.25rem;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: var(--cake-surface-strong);
	box-shadow: var(--cake-shadow-sm);
	color: var(--cake-ink);
}

.cake-notice::before,
.cake-member-notice::before,
.cake-admin-notification::before {
	content: "";
	position: absolute;
	left: 0;
	top: 18%;
	bottom: 18%;
	width: 4px;
	border-radius: var(--cake-radius-pill);
	background: var(--cake-info);
	box-shadow: 0 0 18px color-mix(in srgb, var(--cake-info) 55%, transparent);
}
.cake-member-notice-success::before,.cake-notice-success::before { background: var(--cake-success); }
.cake-notice-warning::before { background: var(--cake-warning); }
.cake-notice-error::before { background: var(--cake-danger); }

/* Dashboard shell */
.cake-admin-shell {
	min-height: 100vh;
	background:
		radial-gradient(circle at 6% 12%, color-mix(in srgb, var(--cake-primary) 13%, transparent), transparent 30rem),
		radial-gradient(circle at 84% 8%, color-mix(in srgb, var(--cake-secondary) 11%, transparent), transparent 34rem),
		linear-gradient(135deg, var(--cake-page), var(--cake-page-alt));
}

.cake-admin-topbar {
	border-radius: var(--cake-radius-xl);
	overflow: visible;
}
.cake-admin-topbar::after {
	content: "";
	position: absolute;
	left: clamp(18px, 3vw, 42px);
	right: clamp(18px, 3vw, 42px);
	bottom: -1px;
	height: 2px;
	border-radius: var(--cake-radius-pill);
	background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cake-primary) 45%, transparent), transparent);
	pointer-events: none;
}

.cake-admin-sidebar {
	border-radius: var(--cake-radius-xl);
	overflow: hidden;
}
.cake-admin-sidebar::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 240px;
	height: 240px;
	left: -100px;
	top: 12%;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--cake-primary) 35%, transparent), transparent 68%);
	filter: blur(10px);
	opacity: .8;
	animation: cake-sidebar-aurora var(--cake-slow) ease-in-out infinite alternate;
	will-change: transform, opacity;
	pointer-events: none;
}

@keyframes cake-sidebar-aurora {
	from { transform: translate3d(-4%, -5%, 0) scale(.94); opacity: .58; }
	to { transform: translate3d(14%, 18%, 0) scale(1.08); opacity: .9; }
}

.cake-admin-sidebar-group { position: relative; }
.cake-admin-sidebar-group + .cake-admin-sidebar-group::before {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	top: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
}

.cake-admin-sidebar-nav a {
	position: relative;
	border: 0;
	background: transparent;
	transition: color var(--cake-fast) ease, background var(--cake-normal) ease, transform var(--cake-fast) ease;
}
.cake-admin-sidebar-nav a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20%;
	bottom: 20%;
	width: 3px;
	border-radius: var(--cake-radius-pill);
	background: linear-gradient(var(--cake-primary), var(--cake-secondary));
	box-shadow: 0 0 18px color-mix(in srgb, var(--cake-primary) 55%, transparent);
	transform: scaleY(0);
	transition: transform var(--cake-normal) var(--cake-ease);
}
.cake-admin-sidebar-nav a.is-active {
	background: linear-gradient(90deg, color-mix(in srgb, var(--cake-primary) 13%, transparent), transparent);
	color: var(--cake-primary);
}
.cake-admin-sidebar-nav a.is-active::before { transform: scaleY(1); }

/* Settings layout */
.cake-settings-shell { display: grid; gap: 1.25rem; }
.cake-settings-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
}
.cake-settings-heading h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.15rem); }
.cake-settings-heading p { margin: .35rem 0 0; color: var(--cake-muted); }
.cake-settings-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
	gap: 1.15rem;
	align-items: start;
}
.cake-settings-main { min-width: 0; }
.cake-settings-panel[hidden] { display: none; }
.cake-settings-panel { display: grid; gap: 1rem; }
.cake-settings-card {
	border-radius: var(--cake-radius-lg);
	padding: clamp(1rem, 2.4vw, 1.65rem);
}
.cake-settings-card-heading {
	position: relative;
	margin: 0 0 1.15rem;
	padding-bottom: .8rem;
}
.cake-settings-card-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(180px, 36%);
	height: 2px;
	border-radius: var(--cake-radius-pill);
	background: linear-gradient(90deg, var(--cake-primary), transparent);
}
.cake-settings-card-heading h3 { margin: 0; font-size: 1.1rem; }
.cake-settings-card-heading p { margin: .3rem 0 0; color: var(--cake-muted); font-size: .8rem; }
.cake-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.cake-settings-field { min-width: 0; }
.cake-settings-field-full { grid-column: 1 / -1; }
.cake-settings-field-row { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.cake-settings-icon-preview {
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	border-radius: var(--cake-radius-md);
	background: var(--cake-control);
	box-shadow: var(--cake-shadow-xs);
	overflow: hidden;
}
.cake-settings-icon-preview img { width: 100%; height: 100%; object-fit: contain; }
.cake-settings-aside { display: grid; gap: 1rem; position: sticky; top: 18px; }
.cake-settings-aside-card { border-radius: var(--cake-radius-lg); padding: 1.1rem; }
.cake-settings-aside-card h3 { margin: 0 0 .45rem; font-size: .98rem; }
.cake-settings-aside-card p { margin: 0; color: var(--cake-muted); font-size: .78rem; line-height: 1.6; }
.cake-settings-action-list { display: grid; gap: .65rem; }
.cake-settings-action {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .85rem 0;
	color: var(--cake-ink);
	font-weight: 700;
	text-decoration: none;
}
.cake-settings-action + .cake-settings-action::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cake-separator), transparent);
}

/* Dropdowns */
.cake-dropdown,
.cake-user-menu-dropdown,
.cake-navigation-dropdown-menu,
.cake-editor-revision-menu {
	border: 0;
	border-radius: var(--cake-radius-md);
	background: var(--cake-surface-strong);
	box-shadow: var(--cake-shadow-md);
	backdrop-filter: blur(22px) saturate(1.28);
	-webkit-backdrop-filter: blur(22px) saturate(1.28);
}

/* Accessibility profiles */
[data-cake-accessibility~="prominent-lines"] {
	--cake-separator: color-mix(in srgb, var(--cake-ink) 42%, transparent);
	--cake-separator-strong: color-mix(in srgb, var(--cake-ink) 64%, transparent);
}
[data-cake-accessibility~="high-contrast"] {
	--cake-surface: var(--cake-surface-strong);
	--cake-muted: var(--cake-ink);
}
[data-cake-accessibility~="dyslexia-font"] { --cake-font-body: "OpenDyslexic", "Atkinson Hyperlegible", Arial, sans-serif; }

:where(.cake-admin-shell,.cake-editor-shell,.cake-member-shell) :focus-visible {
	outline: 3px solid var(--cake-primary);
	outline-offset: 3px;
}

@media (max-width: 980px) {
	.cake-settings-layout { grid-template-columns: 1fr; }
	.cake-settings-aside { position: static; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
}
@media (max-width: 680px) {
	.cake-settings-grid { grid-template-columns: 1fr; }
	.cake-settings-heading { align-items: stretch; }
	.cake-settings-save { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto;
		animation-duration: .001ms;
		animation-iteration-count: 1;
		transition-duration: .001ms;
	}
}

/* Dashboard notification centre */
.cake-admin-topbar-actions {
	display: flex;
	align-items: center;
	gap: .65rem;
}
.cake-admin-notifications {
	position: relative;
}
.cake-admin-notifications > summary {
	position: relative;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: var(--cake-radius-pill);
	background: var(--cake-control);
	box-shadow: var(--cake-shadow-xs);
	color: var(--cake-ink);
	cursor: pointer;
	list-style: none;
	transition: transform var(--cake-fast) var(--cake-ease), box-shadow var(--cake-normal) var(--cake-ease);
}
.cake-admin-notifications > summary::-webkit-details-marker { display: none; }
.cake-admin-notifications > summary:hover { transform: translateY(-1px); box-shadow: var(--cake-glow-primary); }
.cake-admin-notification-icon {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	color: transparent;
	background: linear-gradient(135deg, var(--cake-primary), var(--cake-secondary));
	box-shadow: 0 0 16px color-mix(in srgb, var(--cake-primary) 70%, transparent);
}
.cake-admin-notification-count {
	position: absolute;
	right: -4px;
	top: -4px;
	display: grid;
	place-items: center;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: var(--cake-radius-pill);
	background: linear-gradient(135deg, var(--cake-primary), var(--cake-primary-strong));
	color: #fff;
	font: 800 10px/1 var(--cake-font-body);
	box-shadow: 0 7px 18px color-mix(in srgb, var(--cake-primary) 40%, transparent);
}
.cake-admin-notification-panel {
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	z-index: 80;
	width: min(330px, calc(100vw - 32px));
	padding: .8rem;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: var(--cake-surface-strong);
	box-shadow: var(--cake-shadow-lg);
	backdrop-filter: blur(24px) saturate(1.3);
	-webkit-backdrop-filter: blur(24px) saturate(1.3);
}
.cake-admin-notification-panel::before {
	content: "";
	position: absolute;
	right: 18px;
	top: -7px;
	width: 15px;
	height: 15px;
	background: inherit;
	transform: rotate(45deg);
}
.cake-admin-notification-heading {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .45rem .5rem .8rem;
	font-size: .8rem;
}
.cake-admin-notification-heading::after {
	content: "";
	position: absolute;
	left: .5rem;
	right: .5rem;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cake-separator-strong), transparent);
}
.cake-admin-notification-heading span { color: var(--cake-muted); font-size: .7rem; }
.cake-admin-notification-panel > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .85rem .5rem .45rem;
	color: var(--cake-ink);
	font-size: .78rem;
	text-decoration: none;
}
.cake-admin-notification-panel > a strong { color: var(--cake-primary); }

/* Make the approved Nebula shell win over legacy one-off dashboard styling. */
body .cake-admin-topbar,
body .cake-admin-sidebar,
body .cake-dashboard-panel,
body .cake-dashboard-member-tools {
	border: 0;
	background: var(--cake-surface);
	box-shadow: var(--cake-shadow-sm);
}
body .cake-admin-topbar { backdrop-filter: blur(24px) saturate(1.3); -webkit-backdrop-filter: blur(24px) saturate(1.3); }
body .cake-admin-sidebar { backdrop-filter: blur(26px) saturate(1.34); -webkit-backdrop-filter: blur(26px) saturate(1.34); }
body .cake-admin-logo { object-fit: contain; }
body .cake-admin-brand-text { font-family: var(--cake-font-heading); }

/* Avoid a badge for a clean inbox without removing the accessible control. */
.cake-admin-notification-count:empty,
.cake-admin-notification-count[data-count="0"] { display: none; }

@media (max-width: 720px) {
	.cake-admin-topbar-link { display: none; }
	.cake-admin-notification-panel { position: fixed; right: 16px; top: 78px; }
}

/* Template-driven dashboard wrapper and footer */
.cake-admin-shell-dashboard {
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	padding: clamp(12px, 1.5vw, 24px);
}
.cake-admin-footer {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .45rem 1rem;
	padding: 1.15rem .5rem .35rem;
	color: var(--cake-muted);
	font-size: .72rem;
	text-align: center;
}
.cake-admin-footer::before {
	content: "";
	position: absolute;
	left: 12%;
	right: 12%;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
}
.cake-settings-grow { flex: 1 1 260px; }
.cake-settings-aside-action { margin: .75rem 0 0; }

/* Per-user appearance and accessibility preferences.
 * These controls only override token values selected by the user; all other
 * values continue to inherit from the shared theme framework. */
.cake-preferences-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}
.cake-preferences-theme-field { grid-column: 1 / -1; max-width: 360px; }
.cake-preferences-colours {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .85rem;
}
.cake-preference-colour-card,
.cake-preference-toggle {
	position: relative;
	display: grid;
	gap: .8rem;
	padding: 1rem;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: var(--cake-surface-soft);
	box-shadow: var(--cake-shadow-xs);
}
.cake-preference-colour-card::after,
.cake-preference-toggle::after {
	content: "";
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator-strong), transparent);
	opacity: .72;
}
.cake-preference-colour-control {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	align-items: center;
	gap: .8rem;
	color: var(--cake-muted);
	font-size: .78rem;
	line-height: 1.45;
}
.cake-preference-colour-control input[type="color"] {
	width: 52px;
	height: 42px;
	min-height: 42px;
	padding: 4px;
	border: 0;
	border-radius: var(--cake-radius-sm);
	background: var(--cake-control);
	box-shadow: var(--cake-shadow-xs);
	cursor: pointer;
}
.cake-preference-colour-control input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.cake-preference-colour-control input[type="color"]::-webkit-color-swatch { border: 0; border-radius: calc(var(--cake-radius-sm) - 4px); }
.cake-preference-colour-control input[type="color"]::-moz-color-swatch { border: 0; border-radius: calc(var(--cake-radius-sm) - 4px); }
.cake-preference-colour-control input:disabled { opacity: .38; cursor: not-allowed; }
.cake-preference-toggle-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;
}
.cake-preference-toggle {
	grid-template-columns: auto minmax(0, 1fr);
	align-items: start;
	cursor: pointer;
}
.cake-preference-toggle input { margin-top: .2rem; }
.cake-preference-toggle span { display: grid; gap: .25rem; }
.cake-preference-toggle strong { color: var(--cake-ink); font: 700 .84rem/1.25 var(--cake-font-body); }
.cake-preference-toggle small { color: var(--cake-muted); font: 500 .72rem/1.45 var(--cake-font-body); }
.cake-preferences-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .9rem;
	margin-top: 1rem;
}
.cake-preferences-actions p { margin: 0; color: var(--cake-muted); font-size: .76rem; }
.cake-preferences-explanation { color: var(--cake-muted); font-size: .84rem; line-height: 1.65; }
.cake-member-account-section {
	position: relative;
	margin: 1.5rem 0;
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 0;
	border-radius: var(--cake-radius-lg);
	background: var(--cake-surface-soft);
	box-shadow: var(--cake-shadow-sm);
}
.cake-member-account-section::before {
	content: "";
	position: absolute;
	left: clamp(1rem, 3vw, 1.5rem);
	right: clamp(1rem, 3vw, 1.5rem);
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary), transparent 88%);
	border-radius: var(--cake-radius-pill);
}
.cake-member-section-heading h3 { margin: .15rem 0 1rem; }

/* Class aliases let WordPress admin body classes and root data attributes share
 * exactly the same accessibility implementation. */
.cake-accessibility-prominent-lines,
[data-cake-accessibility~="prominent-lines"] {
	--cake-separator: color-mix(in srgb, var(--cake-ink) 42%, transparent);
	--cake-separator-strong: color-mix(in srgb, var(--cake-ink) 64%, transparent);
}
.cake-accessibility-prominent-lines :is(.cake-admin-topbar,.cake-admin-sidebar,.cake-dashboard-panel,.cake-editor-topbar,.cake-editor-sidebar,.cake-editor-stage,.cake-member-shell-panel,.cake-settings-card,.cake-preference-colour-card,.cake-preference-toggle),
[data-cake-accessibility~="prominent-lines"] :is(.cake-admin-topbar,.cake-admin-sidebar,.cake-dashboard-panel,.cake-editor-topbar,.cake-editor-sidebar,.cake-editor-stage,.cake-member-shell-panel,.cake-settings-card,.cake-preference-colour-card,.cake-preference-toggle) {
	outline: 2px solid var(--cake-separator-strong);
	outline-offset: -2px;
}
.cake-accessibility-high-contrast,
[data-cake-accessibility~="high-contrast"] {
	--cake-surface: var(--cake-surface-strong);
	--cake-surface-soft: var(--cake-surface-strong);
	--cake-control: var(--cake-surface-strong);
	--cake-muted: var(--cake-ink);
	--cake-shadow-xs: none;
	--cake-shadow-sm: none;
	backdrop-filter: none;
}
.cake-accessibility-high-contrast :is(.cake-admin-topbar,.cake-admin-sidebar,.cake-dashboard-panel,.cake-editor-topbar,.cake-editor-sidebar,.cake-editor-stage,.cake-member-shell-panel,.cake-settings-card,.cake-user-menu-dropdown),
[data-cake-accessibility~="high-contrast"] :is(.cake-admin-topbar,.cake-admin-sidebar,.cake-dashboard-panel,.cake-editor-topbar,.cake-editor-sidebar,.cake-editor-stage,.cake-member-shell-panel,.cake-settings-card,.cake-user-menu-dropdown) {
	background: var(--cake-surface-strong);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}
.cake-accessibility-dyslexia-font,
[data-cake-accessibility~="dyslexia-font"] {
	--cake-font-body: "Atkinson Hyperlegible", Arial, Verdana, sans-serif;
	--cake-font-heading: "Atkinson Hyperlegible", Arial, Verdana, sans-serif;
	letter-spacing: .018em;
	word-spacing: .055em;
}
.cake-accessibility-reduced-motion *,
.cake-accessibility-reduced-motion *::before,
.cake-accessibility-reduced-motion *::after,
[data-cake-accessibility~="reduced-motion"] *,
[data-cake-accessibility~="reduced-motion"] *::before,
[data-cake-accessibility~="reduced-motion"] *::after {
	scroll-behavior: auto;
	animation-duration: .001ms;
	animation-iteration-count: 1;
	transition-duration: .001ms;
}

@media (max-width: 720px) {
	.cake-preferences-grid,
	.cake-preferences-colours,
	.cake-preference-toggle-grid { grid-template-columns: 1fr; }
}

/* ======================================================================
 * CAKE UI 0.9.50 — component consolidation layer
 * One canonical treatment for menus, dialogs, data surfaces and states.
 * ====================================================================== */
:root,
.cake-admin-shell,
.cake-editor-shell,
.cake-member-shell,
.cake-theme-preview {
	--cake-surface-blur: 22px;
	--cake-surface-saturation: 1.28;
	--cake-overlay: rgba(18, 12, 22, 0.42);
	--cake-glow-motion-duration: 9s;
	--cake-focus-outline: 3px solid color-mix(in srgb, var(--cake-primary) 68%, white);
	--cake-disabled-opacity: .54;
	--cake-row-height: 58px;
}

/* Token-driven glass is shared by every CAKE surface. */
:is(.cake-surface,.cake-card,.cake-dashboard-panel,.cake-admin-topbar,.cake-admin-sidebar,.cake-editor-topbar,.cake-editor-sidebar,.cake-editor-stage,.cake-settings-card,.cake-settings-aside-card,.cake-theme-editor-card,.cake-member-shell-panel) {
	backdrop-filter: blur(var(--cake-surface-blur)) saturate(var(--cake-surface-saturation));
	-webkit-backdrop-filter: blur(var(--cake-surface-blur)) saturate(var(--cake-surface-saturation));
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	:is(.cake-surface,.cake-card,.cake-dashboard-panel,.cake-admin-topbar,.cake-admin-sidebar,.cake-editor-topbar,.cake-editor-sidebar,.cake-editor-stage,.cake-settings-card,.cake-settings-aside-card,.cake-theme-editor-card,.cake-member-shell-panel) {
		background: var(--cake-surface-strong);
	}
}

/* Focus is intentionally a real outline: this is an accessibility exception. */
:is(.cake-admin-shell,.cake-editor-shell,.cake-member-shell,.cake-ui-scope) :is(a,button,input,select,textarea,[tabindex]):focus-visible {
	outline: var(--cake-focus-outline);
	outline-offset: 3px;
	box-shadow: var(--cake-focus-ring, 0 0 0 4px color-mix(in srgb, var(--cake-primary) 18%, transparent));
}

:is(.cake-admin-shell,.cake-editor-shell,.cake-member-shell,.cake-ui-scope) :is(button,input,select,textarea)[disabled],
:is(.cake-admin-shell,.cake-editor-shell,.cake-member-shell,.cake-ui-scope) [aria-disabled="true"] {
	opacity: var(--cake-disabled-opacity);
	cursor: not-allowed;
	filter: saturate(.55);
	transform: none;
}

/* Dropdowns and popovers */
:is(.cake-dropdown,.cake-popover,.cake-new-menu,.cake-row-menu,.cake-admin-notification-panel,.cake-user-menu-dropdown,.cake-custom-select-menu,.cake-editor-revision-menu,.cake-sidebar-context-menu) {
	position: absolute;
	z-index: 10020;
	min-width: 220px;
	padding: 8px;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: var(--cake-dropdown-surface, var(--cake-surface-strong));
	color: var(--cake-ink);
	box-shadow: var(--cake-dropdown-shadow, var(--cake-shadow-lg));
	backdrop-filter: blur(var(--cake-dropdown-blur, 18px)) saturate(1.25);
	-webkit-backdrop-filter: blur(var(--cake-dropdown-blur, 18px)) saturate(1.25);
}

:is(.cake-dropdown,.cake-popover,.cake-new-menu,.cake-row-menu,.cake-admin-notification-panel,.cake-user-menu-dropdown,.cake-custom-select-menu,.cake-editor-revision-menu,.cake-sidebar-context-menu)::before {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-primary), var(--cake-secondary), transparent);
	opacity: .62;
	pointer-events: none;
}

:is(.cake-dropdown,.cake-popover,.cake-new-menu,.cake-row-menu,.cake-admin-notification-panel,.cake-user-menu-dropdown,.cake-custom-select-menu,.cake-editor-revision-menu,.cake-sidebar-context-menu) :is(a,button,[role="option"]) {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 40px;
	padding: 9px 11px;
	border: 0;
	border-radius: var(--cake-radius-sm);
	background: transparent;
	color: var(--cake-ink);
	font: 650 .82rem/1.3 var(--cake-font-body);
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}

:is(.cake-dropdown,.cake-popover,.cake-new-menu,.cake-row-menu,.cake-admin-notification-panel,.cake-user-menu-dropdown,.cake-custom-select-menu,.cake-editor-revision-menu,.cake-sidebar-context-menu) :is(a,button,[role="option"]):hover,
:is(.cake-dropdown,.cake-popover,.cake-new-menu,.cake-row-menu,.cake-admin-notification-panel,.cake-user-menu-dropdown,.cake-custom-select-menu,.cake-editor-revision-menu,.cake-sidebar-context-menu) :is(.is-active,.is-selected,[aria-selected="true"]) {
	background: linear-gradient(90deg, color-mix(in srgb, var(--cake-primary) 13%, transparent), color-mix(in srgb, var(--cake-secondary) 7%, transparent));
	color: var(--cake-primary);
}

/* Modals and dialogs */
:is(.cake-modal,.cake-create-section-modal,.cake-media-modal,.cake-options-modal,[data-cake-modal]) {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: clamp(14px, 4vw, 44px);
}

:is(.cake-modal,.cake-create-section-modal,.cake-media-modal,.cake-options-modal,[data-cake-modal])[hidden] { display: none; }

:is(.cake-modal-backdrop,.cake-create-section-backdrop,.cake-media-modal-backdrop,.cake-options-modal-backdrop) {
	position: absolute;
	inset: 0;
	background: var(--cake-overlay);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

:is(.cake-modal-panel,.cake-create-section-dialog,.cake-media-modal-panel,.cake-options-modal-panel) {
	position: relative;
	z-index: 1;
	width: min(720px, 100%);
	max-height: min(86vh, 900px);
	overflow: auto;
	padding: clamp(20px, 3vw, 34px);
	border: 0;
	border-radius: var(--cake-radius-xl);
	background: var(--cake-surface-strong);
	color: var(--cake-ink);
	box-shadow: var(--cake-shadow-lg), var(--cake-glow-secondary);
	backdrop-filter: blur(var(--cake-surface-blur)) saturate(var(--cake-surface-saturation));
	-webkit-backdrop-filter: blur(var(--cake-surface-blur)) saturate(var(--cake-surface-saturation));
}

:is(.cake-modal-panel,.cake-create-section-dialog,.cake-media-modal-panel,.cake-options-modal-panel)::before {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--cake-primary), var(--cake-secondary), transparent);
	box-shadow: 0 0 24px color-mix(in srgb, var(--cake-primary) 52%, transparent);
}

.cake-options-modal-panel-compact { width: min(440px, 100%); }
.cake-rename-input { width: 100%; margin: 0 0 12px; }
.cake-modal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

/* Canonical toolbars and action bars */
:is(.cake-toolbar,.cake-action-bar,.cake-content-toolbar,.cake-dashboard-row-actions,.cake-media-toolbar,.cake-settings-actions) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

:is(.cake-toolbar,.cake-action-bar,.cake-content-toolbar,.cake-media-toolbar) {
	position: relative;
	padding: 4px 0 14px;
}

:is(.cake-toolbar,.cake-action-bar,.cake-content-toolbar,.cake-media-toolbar)::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cake-separator-strong), transparent 86%);
}

/* Canonical lists, data rows and tables */
:is(.cake-management-list,.cake-dashboard-queue-list,.cake-settings-action-list,.cake-data-list) {
	display: grid;
	gap: 0;
}

:is(.cake-management-row,.cake-dashboard-list-row,.cake-plugin-row,.cake-data-row,.cake-dashboard-queue-list > a,.cake-settings-action) {
	position: relative;
	min-height: var(--cake-row-height);
	border: 0;
	background: transparent;
}

:is(.cake-management-row,.cake-dashboard-list-row,.cake-plugin-row,.cake-data-row,.cake-dashboard-queue-list > a,.cake-settings-action) + :is(.cake-management-row,.cake-dashboard-list-row,.cake-plugin-row,.cake-data-row,.cake-dashboard-queue-list > a,.cake-settings-action)::before {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
}

:is(.cake-management-row,.cake-dashboard-list-row,.cake-plugin-row,.cake-data-row):hover {
	background: linear-gradient(90deg, color-mix(in srgb, var(--cake-primary) 6%, transparent), transparent 76%);
}

.cake-dashboard-table-wrap { width: 100%; overflow-x: auto; }
.cake-dashboard-table-wrap table,
.cake-admin-shell table.widefat,
.cake-admin-shell .wp-list-table {
	width: 100%;
	border: 0;
	border-collapse: separate;
	border-spacing: 0 8px;
	background: transparent;
	box-shadow: none;
}

.cake-dashboard-table-wrap :is(th,td),
.cake-admin-shell :is(table.widefat,.wp-list-table) :is(th,td) {
	padding: 12px 14px;
	border: 0;
	background: var(--cake-table-surface, var(--cake-surface-soft));
	color: var(--cake-ink);
}

.cake-dashboard-table-wrap tr > :first-child,
.cake-admin-shell :is(table.widefat,.wp-list-table) tr > :first-child { border-radius: var(--cake-radius-sm) 0 0 var(--cake-radius-sm); }
.cake-dashboard-table-wrap tr > :last-child,
.cake-admin-shell :is(table.widefat,.wp-list-table) tr > :last-child { border-radius: 0 var(--cake-radius-sm) var(--cake-radius-sm) 0; }
.cake-dashboard-table-wrap thead th,
.cake-admin-shell :is(table.widefat,.wp-list-table) thead th { background: transparent; color: var(--cake-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }

/* Status system */
.cake-status-chip,
.cake-badge,
.cake-pill {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 28px;
	padding: 5px 10px;
	border: 0;
	border-radius: var(--cake-radius-pill);
	background: color-mix(in srgb, var(--cake-muted) 10%, transparent);
	color: var(--cake-muted);
	font: 750 .7rem/1 var(--cake-font-body);
	white-space: nowrap;
}

.cake-status-chip::before,
.cake-badge::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 10px currentColor;
}

:is(.cake-status-chip-progress,.cake-status-chip-info) { color: var(--cake-info); background: color-mix(in srgb, var(--cake-info) 11%, transparent); }
.cake-status-chip-success { color: var(--cake-success); background: color-mix(in srgb, var(--cake-success) 11%, transparent); }
.cake-status-chip-warning { color: var(--cake-warning); background: color-mix(in srgb, var(--cake-warning) 12%, transparent); }
.cake-status-chip-danger { color: var(--cake-danger); background: color-mix(in srgb, var(--cake-danger) 11%, transparent); }

/* Feature / coming soon workspaces */
.cake-feature-hero { overflow: hidden; }
.cake-feature-hero::before {
	content: "";
	position: absolute;
	inset: -50% -20% auto 34%;
	height: 280%;
	background: conic-gradient(from 180deg, transparent, color-mix(in srgb, var(--cake-primary) 16%, transparent), transparent 36%, color-mix(in srgb, var(--cake-secondary) 13%, transparent), transparent 70%);
	filter: blur(22px);
	animation: cake-feature-aurora var(--cake-glow-motion-duration) linear infinite;
	pointer-events: none;
}

@keyframes cake-feature-aurora { to { transform: rotate(1turn); } }

.cake-coming-soon-panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr);
	gap: clamp(22px, 4vw, 52px);
	align-items: center;
	overflow: hidden;
}

.cake-coming-soon-panel-compact { grid-template-columns: minmax(150px, .34fr) minmax(0, 1fr); }
.cake-coming-soon-copy { position: relative; z-index: 1; }
.cake-coming-soon-copy h2 { margin: 10px 0 8px; font-size: clamp(1.55rem, 3vw, 2.45rem); }
.cake-coming-soon-copy p { max-width: 72ch; margin: 0; color: var(--cake-muted); line-height: 1.7; }

.cake-coming-soon-orbit {
	position: relative;
	width: min(240px, 68vw);
	aspect-ratio: 1;
	margin: auto;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--cake-primary) 22%, transparent), transparent 64%);
	filter: drop-shadow(0 20px 34px color-mix(in srgb, var(--cake-primary) 22%, transparent));
}

.cake-coming-soon-orbit::before,
.cake-coming-soon-orbit::after,
.cake-coming-soon-orbit span {
	content: "";
	position: absolute;
	inset: 18%;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cake-primary) 32%, transparent);
}
.cake-coming-soon-orbit::after { inset: 32%; box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--cake-secondary) 36%, transparent); }
.cake-coming-soon-orbit span { width: 18px; height: 18px; inset: 12% auto auto 48%; background: linear-gradient(135deg,var(--cake-primary),var(--cake-secondary)); box-shadow: var(--cake-glow-primary); animation: cake-orbit-dot var(--cake-glow-motion-duration) linear infinite; transform-origin: 8px 94px; }
.cake-coming-soon-orbit span:nth-child(2) { inset: 44% auto auto 5%; width: 12px; height: 12px; animation-duration: calc(var(--cake-glow-motion-duration) * 1.4); transform-origin: 102px 6px; }
.cake-coming-soon-orbit span:nth-child(3) { inset: auto 14% 18% auto; width: 9px; height: 9px; animation-duration: calc(var(--cake-glow-motion-duration) * .78); transform-origin: -54px -36px; }
@keyframes cake-orbit-dot { to { rotate: 1turn; } }

.cake-coming-soon-grid {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
.cake-coming-soon-grid article,
.cake-board-rebuild-card {
	position: relative;
	display: grid;
	gap: 8px;
	padding: 18px;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: var(--cake-surface-soft);
	box-shadow: var(--cake-shadow-xs);
}
.cake-coming-soon-grid article::after,
.cake-board-rebuild-card::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator-strong), transparent);
}
.cake-coming-soon-grid article > span { color: var(--cake-primary); font: 800 .72rem/1 var(--cake-font-heading); }
.cake-coming-soon-grid article strong,
.cake-board-rebuild-card strong { color: var(--cake-ink); font-family: var(--cake-font-heading); }
.cake-coming-soon-grid article p,
.cake-board-rebuild-card p { margin: 0; color: var(--cake-muted); font-size: .8rem; line-height: 1.55; }

.cake-debug-banner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 14px;
	padding: 14px 18px;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: color-mix(in srgb, var(--cake-warning) 9%, var(--cake-surface));
	box-shadow: var(--cake-shadow-sm);
}
.cake-debug-banner::before { content:""; position:absolute; left:0; top:18%; bottom:18%; width:4px; border-radius:999px; background:var(--cake-warning); box-shadow:0 0 18px color-mix(in srgb,var(--cake-warning) 55%,transparent); }
.cake-debug-banner > div { display:flex; align-items:center; gap:12px; min-width:0; }

/* Accessibility modes intentionally override the no-border aesthetic. */
.cake-access-prominent-borders :is(.cake-card,.cake-dashboard-panel,.cake-settings-card,.cake-settings-aside-card,.cake-editor-sidebar,.cake-editor-stage,.cake-member-shell-panel),
.cake-access-high-contrast :is(.cake-card,.cake-dashboard-panel,.cake-settings-card,.cake-settings-aside-card,.cake-editor-sidebar,.cake-editor-stage,.cake-member-shell-panel) {
	outline: 2px solid var(--cake-separator-strong);
	outline-offset: -2px;
}

.cake-access-high-contrast {
	--cake-surface: var(--cake-surface-strong);
	--cake-surface-soft: var(--cake-surface-strong);
	--cake-muted: color-mix(in srgb, var(--cake-ink) 78%, transparent);
	--cake-separator: color-mix(in srgb, var(--cake-ink) 38%, transparent);
	--cake-separator-strong: color-mix(in srgb, var(--cake-ink) 68%, transparent);
}

@media (max-width: 900px) {
	.cake-coming-soon-panel,
	.cake-coming-soon-panel-compact { grid-template-columns: 1fr; }
	.cake-coming-soon-orbit { width: min(190px, 58vw); }
	.cake-coming-soon-grid { grid-template-columns: 1fr; }
	.cake-debug-banner { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	.cake-feature-hero::before,
	.cake-coming-soon-orbit span { animation: none; }
}

/* ======================================================================
 * CAKE UI 0.9.51 — typography convergence
 * Keep typography token-driven across legacy and current UI chrome.
 * Content canvases remain free to use their saved page/theme typography.
 * ====================================================================== */
.cake-admin-shell,
.cake-editor-shell,
.cake-member-shell,
.cake-ui-scope,
.cake-options-modal,
.cake-options-modal-panel,
.cake-sidebar-context-menu,
.cake-admin-notification-panel,
.cake-user-menu-dropdown {
	font-family: var(--cake-font-body, "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.cake-admin-shell :is(
	h1, h2, h3, h4, h5, h6,
	.cake-admin-brand,
	.cake-admin-page-title,
	.cake-admin-section-title,
	.cake-dashboard-title,
	.cake-panel-title,
	.cake-card-title,
	.cake-tool-card-title,
	.cake-upcoming-title,
	.cake-modal-title,
	.cake-empty-state-title
),
.cake-editor-shell :is(
	h1, h2, h3, h4, h5, h6,
	.cake-editor-title,
	.cake-sidebar-title,
	.cake-properties-title,
	.cake-modal-title,
	.cake-panel-title
),
.cake-member-shell :is(
	h1, h2, h3, h4, h5, h6,
	.cake-member-title,
	.cake-member-section-title,
	.cake-modal-title
),
.cake-options-modal-panel :is(h1, h2, h3, h4, .cake-modal-title) {
	font-family: var(--cake-font-heading, "Rubik", "Lexend", system-ui, sans-serif);
	font-optical-sizing: auto;
	letter-spacing: -0.025em;
}

.cake-admin-shell :is(
	button, input, select, textarea,
	.button, .cake-btn, .cake-button,
	.cake-admin-nav-link,
	.cake-admin-nav-group-title,
	.cake-admin-tab,
	.cake-status-chip,
	.cake-badge,
	.cake-filter-menu,
	.cake-row-menu
),
.cake-editor-shell :is(
	button, input, select, textarea,
	.cake-btn, .cake-editor-button,
	.cake-editor-mode-tabs,
	.cake-editor-top-tabs,
	.cake-sidebar-tabs,
	.cake-property-label,
	.cake-prop-group summary
),
.cake-member-shell :is(button, input, select, textarea, .cake-member-social-button),
.cake-options-modal-panel :is(button, input, select, textarea) {
	font-family: var(--cake-font-body, "Lexend", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

/* WordPress adds its own heading font to some admin table and notice children. */
.cake-admin-shell :is(.widefat, .wp-list-table, .notice, .updated, .error, .update-nag) {
	font-family: var(--cake-font-body, "Lexend", system-ui, sans-serif);
}

/* Preserve user-selected typography inside actual editable/rendered content. */
.cake-editor-shell :is(
	.cake-editor-canvas,
	.cake-editor-preview,
	.cake-visual-editor-canvas,
	.cake-page-preview,
	[contenteditable="true"]
),
.cake-theme-preview {
	font-family: inherit;
}

/* CAKE UI 0.9.52 — framework-native editor block defaults. */
.cake-grid-default {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.cake-spacer-default { height: 48px; }
.cake-editor-block-icon-math {
	display: inline-grid;
	place-items: center;
	font-family: var(--cake-font-heading, "Rubik", "Lexend", system-ui, sans-serif);
	font-size: 1rem;
	font-weight: 800;
}
@media (max-width: 640px) {
	.cake-grid-default { grid-template-columns: 1fr; }
}


/* Compact action size used by data rows and contextual controls. */
.cake-button-small {
	min-height: 2rem;
	padding: .4rem .72rem;
	font-size: .76rem;
	border-radius: var(--cake-radius-sm);
}


/* ================================================================
   Shared dialogs and toasts
   ================================================================ */
html.cake-dialog-open,
html.cake-dialog-open body { overflow: hidden; }
.cake-dialog-layer {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 40px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}
.cake-dialog-layer.is-visible { opacity: 1; pointer-events: auto; }
.cake-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--cake-overlay, #24152a) 44%, transparent);
  backdrop-filter: blur(14px) saturate(1.08);
  -webkit-backdrop-filter: blur(14px) saturate(1.08);
}
.cake-dialog {
  position: relative;
  width: min(560px, 100%);
  max-height: min(760px, calc(100vh - 32px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  border-radius: var(--cake-radius-panel, 26px);
  background: var(--cake-surface-strong, rgba(255,255,255,.94));
  color: var(--cake-ink, #18111c);
  box-shadow: var(--cake-shadow-panel, 0 28px 80px rgba(77,31,70,.24)), var(--cake-glow-primary, 0 18px 46px rgba(245,42,160,.18));
  transform: translateY(10px) scale(.985);
  transition: transform .18s ease;
}
.cake-dialog-layer.is-visible .cake-dialog { transform: translateY(0) scale(1); }
.cake-dialog::before {
  content: '';
  position: absolute;
  inset: 0 12% auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cake-primary, #f52aa0), var(--cake-secondary, #8c35e8), transparent);
  opacity: .88;
  pointer-events: none;
}
.cake-dialog-header,
.cake-dialog-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 22px;
}
.cake-dialog-header { justify-content: space-between; }
.cake-dialog-header::after,
.cake-dialog-actions::before {
  content: '';
  position: absolute;
  left: 22px;
  right: 22px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cake-separator, rgba(119,76,112,.18)), transparent);
}
.cake-dialog-header::after { bottom: 0; }
.cake-dialog-actions::before { top: 0; }
.cake-dialog-header,
.cake-dialog-actions { position: relative; }
.cake-dialog-header h2 { margin: 2px 0 0; font-family: var(--cake-font-heading, Rubik, sans-serif); font-size: clamp(1.25rem, 3vw, 1.65rem); }
.cake-dialog-kicker { margin: 0; color: var(--cake-primary, #f52aa0); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.cake-dialog-close,
.cake-toast-close {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--cake-control, rgba(255,255,255,.72));
  color: var(--cake-ink, #18111c);
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}
.cake-dialog-body { overflow: auto; padding: 22px; }
.cake-dialog-body > :first-child { margin-top: 0; }
.cake-dialog-body > :last-child { margin-bottom: 0; }
.cake-dialog-actions { justify-content: flex-end; flex-wrap: wrap; }
.cake-dialog-form { display: grid; gap: 12px; }
.cake-dialog-form label { display: grid; gap: 8px; font-weight: 750; }
.cake-dialog-error { margin: 0; color: var(--cake-danger, #bb234d); font-weight: 700; }
.cake-button-danger {
  background: linear-gradient(135deg, #d52955, #8d1f46);
  color: #fff;
  box-shadow: 0 14px 34px rgba(181, 28, 70, .24);
}
.cake-toast-region {
  position: fixed;
  z-index: 1000001;
  top: 18px;
  right: 18px;
  width: min(390px, calc(100vw - 36px));
  display: grid;
  gap: 10px;
  pointer-events: none;
}
.cake-toast {
  position: relative;
  display: grid;
  grid-template-columns: 10px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 14px 14px 16px;
  border: 0;
  border-radius: var(--cake-radius-button, 18px);
  background: var(--cake-surface-strong, rgba(255,255,255,.96));
  color: var(--cake-ink, #18111c);
  box-shadow: var(--cake-shadow-panel, 0 18px 46px rgba(77,31,70,.18));
  transform: translateX(18px);
  opacity: 0;
  pointer-events: auto;
  transition: opacity .18s ease, transform .18s ease;
}
.cake-toast.is-visible { opacity: 1; transform: translateX(0); }
.cake-toast::after {
  content: '';
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cake-separator, rgba(119,76,112,.16)), transparent);
}
.cake-toast-icon { width: 8px; height: 28px; border-radius: 999px; background: var(--cake-primary, #f52aa0); box-shadow: 0 0 18px color-mix(in srgb, var(--cake-primary, #f52aa0) 54%, transparent); }
.cake-toast-success .cake-toast-icon { background: var(--cake-success, #1aa46f); }
.cake-toast-error .cake-toast-icon { background: var(--cake-danger, #d52955); }
.cake-toast-warning .cake-toast-icon { background: var(--cake-warning, #dc881e); }
.cake-toast-copy { min-width: 0; display: grid; gap: 2px; }
.cake-toast-copy strong { font-family: var(--cake-font-heading, Rubik, sans-serif); }
.cake-toast-copy span { overflow-wrap: anywhere; color: var(--cake-muted, #716675); font-size: .88rem; }
.cake-toast-close { width: 32px; height: 32px; font-size: 1.1rem; }
@media (max-width: 640px) {
  .cake-dialog-layer { align-items: end; padding: 10px; }
  .cake-dialog { width: 100%; max-height: calc(100vh - 20px); border-radius: 24px 24px 16px 16px; }
  .cake-toast-region { top: 10px; right: 10px; width: calc(100vw - 20px); }
}
@media (prefers-reduced-motion: reduce) {
  .cake-dialog-layer,.cake-dialog,.cake-toast { transition: none; }
}

/* Canonical button sizing/layout variants. */
.cake-button-compact {
	min-height: 34px;
	padding: 0.5rem 0.78rem;
	font-size: 0.78rem;
}

.cake-button-block {
	width: 100%;
}

/* ========================================================================
 * Legacy visual convergence compatibility layer
 * One component language across dashboard, frontend, account and editor.
 * Decorative rules are pseudo-elements; real borders are reserved for focus
 * and explicit accessibility modes.
 * ===================================================================== */

:root,
.cake-admin-shell,
.cake-editor-shell,
.cake-member-shell,
.cake-ui-scope {
	--cake-shell-max: 1840px;
	--cake-shell-gap: clamp(16px, 1.6vw, 28px);
	--cake-shell-padding: clamp(14px, 2vw, 32px);
	--cake-sidebar-width: clamp(250px, 17vw, 310px);
	--cake-header-height: 82px;
	--cake-panel-padding: clamp(22px, 2.4vw, 38px);
	--cake-glass-blur: 28px;
	--cake-page-glow-a: color-mix(in srgb, var(--cake-primary) 22%, transparent);
	--cake-page-glow-b: color-mix(in srgb, var(--cake-secondary) 18%, transparent);
}

body:not(.wp-admin),
.cake-admin-shell,
.cake-editor-shell,
.cake-member-shell {
	background:
		radial-gradient(circle at 5% 2%, var(--cake-page-glow-a), transparent 28rem),
		radial-gradient(circle at 96% 5%, var(--cake-page-glow-b), transparent 32rem),
		linear-gradient(145deg, var(--cake-page), var(--cake-page-alt));
	background-attachment: fixed;
	color: var(--cake-ink);
}

.cake-admin-shell {
	min-height: 100vh;
	padding: var(--cake-shell-padding);
	box-sizing: border-box;
}

.cake-admin-topbar,
.cake-site-header,
.cake-editor-topbar {
	position: relative;
	isolation: isolate;
	border: 0;
	border-radius: var(--cake-radius-xl);
	background: color-mix(in srgb, var(--cake-surface-strong) 92%, transparent);
	box-shadow: var(--cake-shadow-md), inset 0 1px 0 rgba(255,255,255,.38);
	backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.28);
	-webkit-backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.28);
}

.cake-admin-topbar::after,
.cake-site-header::after,
.cake-editor-topbar::after {
	content: "";
	position: absolute;
	left: clamp(24px, 4vw, 74px);
	right: clamp(24px, 4vw, 74px);
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator-strong), transparent);
	pointer-events: none;
}

.cake-admin-topbar {
	position: sticky;
	top: var(--cake-shell-padding);
	z-index: 120;
	max-width: var(--cake-shell-max);
	min-height: var(--cake-header-height);
	margin: 0 auto var(--cake-shell-gap);
	padding: 14px clamp(18px, 2.2vw, 34px);
}

.cake-admin-layout {
	display: grid;
	grid-template-columns: var(--cake-sidebar-width) minmax(0, 1fr);
	gap: var(--cake-shell-gap);
	width: min(100%, var(--cake-shell-max));
	margin: 0 auto;
	align-items: start;
}

.cake-admin-sidebar {
	position: sticky;
	top: calc(var(--cake-header-height) + var(--cake-shell-padding) + var(--cake-shell-gap));
	height: calc(100vh - var(--cake-header-height) - (var(--cake-shell-padding) * 3));
	padding: 18px 14px;
	border: 0;
	border-radius: var(--cake-radius-xl);
	background: color-mix(in srgb, var(--cake-surface) 88%, transparent);
	box-shadow: var(--cake-shadow-md), 0 0 70px color-mix(in srgb, var(--cake-primary) 14%, transparent);
	backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.3);
	-webkit-backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.3);
	overflow: auto;
}

.cake-admin-sidebar::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 10% -14% 35%;
	border-radius: 44%;
	background: radial-gradient(circle, color-mix(in srgb, var(--cake-primary) 25%, transparent), transparent 68%);
	filter: blur(22px);
	opacity: .72;
	transform: translate3d(0,0,0);
	animation: cake-sidebar-glow var(--cake-glow-animation-duration, 11s) ease-in-out infinite alternate;
	pointer-events: none;
}

@keyframes cake-sidebar-glow {
	0% { opacity: .52; transform: translate3d(-3%, -2%, 0) scale(.96); }
	100% { opacity: .9; transform: translate3d(4%, 5%, 0) scale(1.07); }
}

.cake-admin-main {
	display: grid;
	gap: var(--cake-shell-gap);
	min-width: 0;
	padding: 0;
}

.cake-dashboard-welcome,
.cake-admin-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 150px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: clamp(28px, 4vw, 54px);
	border: 0;
	border-radius: var(--cake-radius-xl);
	background:
		radial-gradient(circle at 8% 0%, color-mix(in srgb, var(--cake-primary) 12%, transparent), transparent 28rem),
		linear-gradient(135deg, color-mix(in srgb, var(--cake-surface-strong) 94%, transparent), color-mix(in srgb, var(--cake-surface) 86%, transparent));
	box-shadow: var(--cake-shadow-md), inset 0 1px 0 rgba(255,255,255,.42);
	backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.26);
	-webkit-backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.26);
	overflow: hidden;
}

.cake-dashboard-welcome::before,
.cake-admin-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: min(52vw, 760px);
	height: min(52vw, 760px);
	right: -16%;
	top: -160%;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--cake-primary) 17%, transparent), transparent 68%);
	filter: blur(6px);
	pointer-events: none;
}

.cake-dashboard-welcome::after,
.cake-admin-hero::after {
	content: "";
	position: absolute;
	left: clamp(28px, 4vw, 54px);
	right: clamp(28px, 4vw, 54px);
	bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary), transparent 82%);
	opacity: .72;
	pointer-events: none;
}

.cake-dashboard-welcome h1,
.cake-admin-hero h1 {
	margin: 0;
	color: var(--cake-ink);
	font-family: var(--cake-font-heading);
	font-size: clamp(2.25rem, 4.1vw, 4.9rem);
	font-weight: 780;
	line-height: .98;
	letter-spacing: -.045em;
	text-shadow: none;
}

.cake-dashboard-welcome p,
.cake-admin-hero p {
	max-width: 64ch;
	margin: 12px 0 0;
	color: var(--cake-muted);
	font-size: clamp(.92rem, 1vw, 1.05rem);
	font-weight: 560;
	line-height: 1.65;
	text-shadow: none;
}

.cake-dashboard-welcome .cake-dashboard-kicker,
.cake-admin-hero .cake-dashboard-kicker,
.cake-dashboard-kicker {
	margin: 0 0 10px;
	color: var(--cake-primary-strong);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
}

.cake-dashboard-welcome-actions,
.cake-admin-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.cake-dashboard-panel,
.cake-dashboard-member-tools,
.cake-settings-card,
.cake-settings-aside-card,
.cake-management-panel,
.cake-empty-workspace {
	position: relative;
	isolation: isolate;
	border: 0;
	border-radius: var(--cake-radius-xl);
	background: color-mix(in srgb, var(--cake-surface) 91%, transparent);
	box-shadow: var(--cake-shadow-sm), inset 0 1px 0 rgba(255,255,255,.34);
	backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.24);
	-webkit-backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.24);
}

.cake-dashboard-panel::after,
.cake-settings-card::after,
.cake-settings-aside-card::after,
.cake-management-panel::after {
	content: "";
	position: absolute;
	left: var(--cake-panel-padding);
	right: var(--cake-panel-padding);
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
	pointer-events: none;
}

.cake-dashboard-panel,
.cake-settings-card,
.cake-settings-aside-card,
.cake-management-panel { padding: var(--cake-panel-padding); }

.cake-dashboard-metric {
	position: relative;
	min-height: 132px;
	padding: 22px;
	border: 0;
	border-radius: var(--cake-radius-lg);
	background:
		radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--cake-secondary) 11%, transparent), transparent 12rem),
		color-mix(in srgb, var(--cake-surface-strong) 91%, transparent);
	box-shadow: var(--cake-shadow-xs);
	color: var(--cake-ink);
	overflow: hidden;
}

.cake-dashboard-metric::after {
	content: "";
	position: absolute;
	left: 20px;
	bottom: 0;
	width: 72px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary));
}

.cake-dashboard-metric:hover,
.cake-dashboard-metric:focus-visible {
	transform: translateY(-2px);
	box-shadow: var(--cake-shadow-sm), var(--cake-glow-primary);
	outline: none;
}

.cake-dashboard-metric span,
.cake-dashboard-metric small { color: var(--cake-muted); }
.cake-dashboard-metric strong { color: var(--cake-ink); font-family: var(--cake-font-heading); }

.cake-dashboard-list-row,
.cake-management-row,
.cake-member-table tr,
.cake-settings-row {
	position: relative;
	border: 0;
}

.cake-dashboard-list-row::after,
.cake-management-row::after,
.cake-member-table tr::after,
.cake-settings-row::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
	pointer-events: none;
}

.cake-admin-sidebar-group {
	position: relative;
	border: 0;
	background: transparent;
}

.cake-admin-sidebar-group + .cake-admin-sidebar-group::before {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
}

.cake-admin-sidebar-group summary {
	position: relative;
	padding: 16px 14px 10px 28px;
	color: var(--cake-muted);
	font-size: .72rem;
	font-weight: 820;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	list-style: none;
}

.cake-admin-sidebar-group summary::-webkit-details-marker { display: none; }
.cake-admin-sidebar-group summary::before,
.cake-admin-sidebar-group summary::after {
	content: "";
	position: absolute;
	left: 13px;
	top: 50%;
	width: 8px;
	height: 2px;
	border-radius: 999px;
	background: var(--cake-primary);
	transform-origin: center;
	transition: transform var(--cake-fast) var(--cake-ease);
}
.cake-admin-sidebar-group summary::before { transform: translateY(-50%) rotate(45deg); }
.cake-admin-sidebar-group summary::after { left: 18px; transform: translateY(-50%) rotate(-45deg); }
.cake-admin-sidebar-group:not([open]) summary::before { transform: translateY(-50%) rotate(-45deg); }
.cake-admin-sidebar-group:not([open]) summary::after { transform: translateY(-50%) rotate(45deg); }

.cake-admin-sidebar-nav a {
	position: relative;
	min-height: 44px;
	margin: 3px 0;
	padding: 10px 14px;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: transparent;
	color: var(--cake-ink);
	box-shadow: none;
	font-weight: 680;
}

.cake-admin-sidebar-nav a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 11px;
	bottom: 11px;
	width: 3px;
	border-radius: 999px;
	background: linear-gradient(var(--cake-primary), var(--cake-secondary));
	opacity: 0;
	transform: scaleY(.3);
	transition: opacity var(--cake-fast) ease, transform var(--cake-fast) var(--cake-ease);
}

.cake-admin-sidebar-nav a:hover,
.cake-admin-sidebar-nav a.is-active {
	background: color-mix(in srgb, var(--cake-control) 85%, transparent);
	box-shadow: var(--cake-shadow-xs);
}
.cake-admin-sidebar-nav a.is-active::before { opacity: 1; transform: scaleY(1); }
.cake-admin-sidebar-icon { display: none; }

/* Frontend shell: same surfaces, typography and navigation language. */
body:not(.wp-admin) .wp-site-blocks,
body:not(.wp-admin) .cake-site-shell {
	width: min(calc(100% - (var(--cake-shell-padding) * 2)), var(--cake-shell-max));
	margin-inline: auto;
}

body:not(.wp-admin) .wp-site-blocks {
	display: grid;
	gap: var(--cake-shell-gap);
	padding-block: var(--cake-shell-padding);
}

.cake-site-header {
	z-index: 500;
	margin: 0;
	padding: 12px clamp(18px, 2.6vw, 36px);
}

.cake-site-header__inner {
	display: flex;
	min-height: 66px;
	align-items: center;
	gap: clamp(18px, 3vw, 46px);
}

.cake-brand-link,
.cake-admin-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	color: var(--cake-ink);
	font-family: var(--cake-font-heading);
	font-weight: 800;
	text-decoration: none;
}

.cake-brand-mark img,
.cake-admin-logo {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: contain;
	filter: drop-shadow(0 10px 18px color-mix(in srgb, var(--cake-primary) 22%, transparent));
}

.cake-site-title,
.cake-admin-brand-text {
	color: var(--cake-ink);
	font-family: var(--cake-font-heading);
	font-size: clamp(1.65rem, 2.1vw, 2.4rem);
	font-weight: 820;
	letter-spacing: -.04em;
}

.cake-header-actions { display: flex; flex: 1 1 auto; align-items: center; justify-content: flex-end; gap: 16px; min-width: 0; }

.cake-bound-navigation-pill {
	position: relative;
	border: 0;
	background: transparent;
	color: var(--cake-ink);
	box-shadow: none;
	opacity: 1;
}

.cake-bound-navigation-pill::after {
	content: "";
	position: absolute;
	left: 18%;
	right: 18%;
	bottom: 2px;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary));
	opacity: 0;
	transform: scaleX(.35);
	transition: opacity var(--cake-fast) ease, transform var(--cake-fast) var(--cake-ease);
}

.cake-bound-navigation-item:hover > .cake-bound-navigation-pill::after,
.cake-bound-navigation-item:focus-within > .cake-bound-navigation-pill::after,
.cake-bound-navigation-item.is-current > .cake-bound-navigation-pill::after {
	opacity: 1;
	transform: scaleX(1);
}

.cake-bound-navigation-menu,
.cake-user-menu-dropdown,
.cake-admin-notification-panel {
	border: 0;
	background: color-mix(in srgb, var(--cake-surface-strong) 96%, transparent);
	box-shadow: var(--cake-shadow-lg);
	backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.3);
	-webkit-backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.3);
}

.cake-bound-navigation-menu::before,
.cake-user-menu-dropdown::before,
.cake-admin-notification-panel::before {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary), transparent);
	border-radius: 999px;
}

body:not(.wp-admin) :is(.wp-block-group,.wp-block-cover,.cake-page-content,.cake-content-surface) {
	color: var(--cake-ink);
}

body:not(.wp-admin) :is(h1,h2,h3,h4,h5,h6,p,li,figcaption) { opacity: 1; }
body:not(.wp-admin) :is(h1,h2,h3,h4,h5,h6) { color: var(--cake-ink); }
body:not(.wp-admin) :is(p,li,figcaption) { color: var(--cake-muted); }

body:not(.wp-admin) .wp-block-group.has-background,
body:not(.wp-admin) .cake-page-content > section,
body:not(.wp-admin) .cake-page-content > div {
	border: 0;
	border-radius: var(--cake-radius-xl);
}

.cake-site-footer {
	position: relative;
	padding: clamp(24px, 4vw, 52px);
	border: 0;
	border-radius: var(--cake-radius-xl);
	background: color-mix(in srgb, var(--cake-surface) 90%, transparent);
	box-shadow: var(--cake-shadow-sm);
}
.cake-site-footer::before {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator-strong), transparent);
}

/* ------------------------- custom select ------------------------- */
.cake-native-control {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

.cake-select-control,
.cake-color-control {
	position: relative;
	width: 100%;
	min-width: 0;
}

.cake-select-button,
.cake-color-trigger {
	position: relative;
	display: flex;
	width: 100%;
	min-height: var(--cake-control-height);
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: .72rem .9rem;
	border: 0;
	border-radius: var(--cake-radius-sm);
	background: var(--cake-control);
	color: var(--cake-ink);
	box-shadow: var(--cake-shadow-xs);
	font: 620 .9rem/1.3 var(--cake-font-body);
	text-align: left;
	cursor: pointer;
}

.cake-select-button::after,
.cake-color-trigger::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator-strong), transparent);
}

.cake-select-chevron {
	position: relative;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
}
.cake-select-chevron::before,
.cake-select-chevron::after {
	content: "";
	position: absolute;
	top: 6px;
	width: 8px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transition: transform var(--cake-fast) var(--cake-ease);
}
.cake-select-chevron::before { left: 0; transform: rotate(45deg); }
.cake-select-chevron::after { right: 0; transform: rotate(-45deg); }
.is-open > .cake-select-button .cake-select-chevron::before,
.is-open > .cake-color-trigger .cake-select-chevron::before { transform: rotate(-45deg); }
.is-open > .cake-select-button .cake-select-chevron::after,
.is-open > .cake-color-trigger .cake-select-chevron::after { transform: rotate(45deg); }

.cake-select-popover,
.cake-color-popover {
	position: absolute;
	z-index: 100000;
	left: 0;
	top: calc(100% + 9px);
	width: max(100%, 240px);
	max-width: min(460px, calc(100vw - 32px));
	padding: 9px;
	border: 0;
	border-radius: var(--cake-radius-md);
	background: color-mix(in srgb, var(--cake-surface-strong) 97%, transparent);
	box-shadow: var(--cake-shadow-lg), inset 0 1px 0 rgba(255,255,255,.35);
	backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.32);
	-webkit-backdrop-filter: blur(var(--cake-glass-blur)) saturate(1.32);
}

.cake-select-popover::before,
.cake-color-popover::before {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	top: 0;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary), transparent);
}

.cake-select-option {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 40px;
	align-items: center;
	padding: 9px 12px;
	border: 0;
	border-radius: var(--cake-radius-sm);
	background: transparent;
	color: var(--cake-ink);
	font: 620 .88rem/1.3 var(--cake-font-body);
	text-align: left;
	cursor: pointer;
}
.cake-select-option:hover,
.cake-select-option:focus-visible,
.cake-select-option.is-selected {
	background: color-mix(in srgb, var(--cake-primary) 10%, var(--cake-control));
	outline: none;
}
.cake-select-option.is-selected::after {
	content: "";
	position: absolute;
	right: 12px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cake-primary);
	box-shadow: 0 0 14px color-mix(in srgb, var(--cake-primary) 70%, transparent);
}
.cake-select-group-label {
	padding: 10px 12px 6px;
	color: var(--cake-muted);
	font-size: .67rem;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

/* ------------------------- custom colour / gradient picker ------------------------- */
.cake-color-trigger { justify-content: flex-start; }
.cake-color-trigger-value {
	min-width: 0;
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.cake-color-swatch,
.cake-gradient-stop-swatch {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 9px;
	background:
		linear-gradient(45deg, rgba(0,0,0,.08) 25%, transparent 25%, transparent 75%, rgba(0,0,0,.08) 75%),
		linear-gradient(45deg, rgba(0,0,0,.08) 25%, white 25%, white 75%, rgba(0,0,0,.08) 75%);
	background-size: 10px 10px;
	background-position: 0 0, 5px 5px;
	box-shadow: var(--cake-shadow-xs);
}

.cake-color-popover {
	width: min(430px, calc(100vw - 32px));
	padding: 16px;
}
.cake-color-popover-head,
.cake-color-code-row,
.cake-gradient-stop {
	display: flex;
	align-items: center;
	gap: 9px;
}
.cake-color-popover-head { justify-content: space-between; margin-bottom: 12px; }
.cake-color-popover-head strong { font-family: var(--cake-font-heading); font-size: 1.05rem; }
.cake-icon-button {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--cake-control);
	color: var(--cake-ink);
	font: 750 1rem/1 var(--cake-font-body);
	cursor: pointer;
}
.cake-color-tabs {
	position: relative;
	display: flex;
	gap: 22px;
	margin: 0 0 15px;
}
.cake-color-tabs::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--cake-separator);
}
.cake-color-tabs button {
	position: relative;
	z-index: 1;
	padding: 7px 1px 10px;
	border: 0;
	background: transparent;
	color: var(--cake-muted);
	font: 700 .82rem/1 var(--cake-font-body);
	cursor: pointer;
}
.cake-color-tabs button::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary));
	opacity: 0;
	transform: scaleX(.4);
}
.cake-color-tabs button.is-active { color: var(--cake-primary-strong); }
.cake-color-tabs button.is-active::after { opacity: 1; transform: scaleX(1); }
.cake-color-preview {
	height: 74px;
	margin-bottom: 14px;
	border-radius: var(--cake-radius-md);
	box-shadow: inset 0 -1px 0 rgba(0,0,0,.08), var(--cake-shadow-xs);
}
.cake-color-slider-grid { display: grid; gap: 10px; }
.cake-color-slider-grid label,
.cake-gradient-angle {
	display: grid;
	grid-template-columns: 92px minmax(0,1fr);
	align-items: center;
	gap: 10px;
	color: var(--cake-muted);
	font-size: .76rem;
	font-weight: 680;
}
.cake-color-control input[type="range"],
.cake-editor-shell input[type="range"],
.cake-admin-shell input[type="range"] {
	width: 100%;
	height: 6px;
	min-height: 6px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--cake-primary), var(--cake-secondary));
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}
.cake-color-control input[type="range"]::-webkit-slider-thumb,
.cake-editor-shell input[type="range"]::-webkit-slider-thumb,
.cake-admin-shell input[type="range"]::-webkit-slider-thumb {
	width: 18px;
	height: 18px;
	border: 0;
	border-radius: 50%;
	background: var(--cake-surface-strong);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--cake-primary) 22%, transparent), var(--cake-shadow-xs);
	appearance: none;
	-webkit-appearance: none;
}
.cake-color-code-row { margin-top: 14px; align-items: stretch; }
.cake-color-code-row > input { flex: 1 1 auto; min-width: 0; }
.cake-color-code-row > select { flex: 0 0 82px; }
.cake-color-code-row .cake-button { min-height: 38px; padding-inline: 11px; }
.cake-gradient-stops { display: grid; gap: 9px; margin: 14px 0; }
.cake-gradient-stop {
	position: relative;
	padding: 10px;
	border-radius: var(--cake-radius-sm);
	background: var(--cake-control);
}
.cake-gradient-stop::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
}
.cake-gradient-stop input[type="text"] { flex: 1 1 120px; min-width: 80px; }
.cake-gradient-stop input[type="range"] { flex: 1 1 100px; }
.cake-gradient-stop output { min-width: 40px; color: var(--cake-muted); font-size: .72rem; }
.is-invalid { box-shadow: inset 0 -2px 0 var(--cake-danger), 0 0 0 3px color-mix(in srgb, var(--cake-danger) 13%, transparent); }

/* Boolean controls retain semantic input, but no native browser chrome. */
.cake-boolean-control {
	position: relative;
	width: 22px;
	height: 22px;
	min-height: 22px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 7px;
	background: var(--cake-control);
	box-shadow: inset 0 -1px 0 var(--cake-separator), var(--cake-shadow-xs);
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
.cake-boolean-control[type="radio"] { border-radius: 50%; }
.cake-boolean-control:checked {
	background: linear-gradient(135deg, var(--cake-primary), var(--cake-secondary));
}
.cake-boolean-control:checked::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 3px;
	width: 6px;
	height: 11px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(42deg);
}
.cake-boolean-control[type="radio"]:checked::after {
	left: 6px;
	top: 6px;
	width: 10px;
	height: 10px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	transform: none;
}

/* Editor properties use exactly the same controls and surfaces. */
.cake-prop-group,
.cake-binding-row,
.cake-prop-selected {
	position: relative;
	border: 0;
	background: color-mix(in srgb, var(--cake-surface) 88%, transparent);
	box-shadow: var(--cake-shadow-xs);
}
.cake-prop-group::after,
.cake-binding-row::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--cake-separator), transparent);
}
.cake-prop-row { gap: 9px; }
.cake-prop-row > span { color: var(--cake-muted); font-size: .72rem; font-weight: 760; }

/* Accessibility modes intentionally restore visible outlines. */
.cake-prominent-borders :is(.cake-dashboard-panel,.cake-dashboard-welcome,.cake-admin-topbar,.cake-admin-sidebar,.cake-site-header,.cake-site-footer,.cake-select-button,.cake-color-trigger),
[data-cake-prominent-borders="1"] :is(.cake-dashboard-panel,.cake-dashboard-welcome,.cake-admin-topbar,.cake-admin-sidebar,.cake-site-header,.cake-site-footer,.cake-select-button,.cake-color-trigger) {
	outline: 2px solid var(--cake-separator-strong);
	outline-offset: 0;
}

@media (max-width: 980px) {
	.cake-admin-shell { padding: 12px; }
	.cake-admin-topbar { top: 12px; }
	.cake-admin-layout { grid-template-columns: 1fr; }
	.cake-admin-sidebar { position: relative; top: auto; height: auto; max-height: none; }
	.cake-dashboard-welcome,.cake-admin-hero { align-items: flex-start; flex-direction: column; }
	.cake-dashboard-welcome-actions,.cake-admin-hero-actions { justify-content: flex-start; }
	.cake-site-header__inner { flex-wrap: wrap; }
	.cake-header-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 620px) {
	:root,.cake-admin-shell,.cake-editor-shell,.cake-member-shell { --cake-radius-xl: 24px; --cake-panel-padding: 20px; }
	.cake-admin-topbar { position: relative; top: auto; }
	.cake-dashboard-welcome h1,.cake-admin-hero h1 { font-size: clamp(2.2rem, 12vw, 3.5rem); }
	.cake-color-popover { position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; max-height: 82vh; overflow: auto; }
	.cake-color-code-row { flex-wrap: wrap; }
	.cake-gradient-stop { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
	.cake-admin-sidebar::before { animation: none; }
}

/* 0.9.75 shared visual-editor blocks and button variants */
.cake-container-block { display:block; min-width:0; }
.cake-form-field { display:grid;gap:8px;min-width:0; }
.cake-form-field > .cake-field-label { color:var(--cake-text-muted);font-size:.82rem;font-weight:700; }
.cake-slider-field { grid-template-columns:minmax(0,1fr) auto;align-items:center; }
.cake-slider-field > .cake-field-label { grid-column:1/-1; }
.cake-slider-field input[type="range"] { width:100%; }
.cake-slider-field output { min-width:3ch;text-align:right;color:var(--cake-text);font-weight:750; }
.cake-button-outline { background:transparent !important;color:var(--cake-primary) !important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cake-primary) 42%,transparent) !important; }
.cake-button-quiet { background:color-mix(in srgb,var(--cake-surface-strong) 76%,transparent) !important;color:var(--cake-text) !important;box-shadow:none !important; }
.cake-button-danger { background:linear-gradient(135deg,var(--cake-danger,#ef4444),color-mix(in srgb,var(--cake-danger,#ef4444) 72%,black)) !important;color:#fff !important; }
.cake-button-custom { background:var(--cake-primary);color:#fff; }
body > .cake-select-popover.cake-control-portal,
body > .cake-color-popover.cake-control-portal { z-index:2147483000 !important; }

/* Editable system-page routes */
.cake-system-route,
.cake-virtual-page > .cake-page-content,
.cake-virtual-page-inner.cake-page-content {
	width: min(calc(100% - 32px), var(--cake-content-width, 1180px));
	margin-inline: auto;
}
.cake-system-route { padding-block: clamp(28px, 5vw, 72px); }
.cake-system-page { display: grid; gap: 16px; }
.cake-system-page > :first-child { margin-top: 0; }
.cake-system-page > :last-child { margin-bottom: 0; }
.cake-system-search-form { margin-block: 18px 24px; }
.cake-system-search-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.cake-system-search-results { display: grid; gap: 10px; }
.cake-system-search-result { padding: 16px 0; position: relative; }
.cake-system-search-result::after { content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,var(--cake-separator),transparent); }
.cake-system-search-result h2 { margin: 0 0 6px; font-size: 1.05rem; }
.cake-system-search-result p { margin: 0; color: var(--cake-text-muted); }
@media (max-width: 560px) { .cake-system-search-controls { grid-template-columns: 1fr; } }

/* 0.9.75 interactive block runtime parity ---------------------------------
 * These are public/editor-preview primitives. The editor's own handles and
 * dropzone outlines remain isolated in cake-editor.js. */
.cake-row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--cake-space-4, 16px);
	min-width: 0;
}
.cake-row > .cake-col {
	flex: 1 1 min(100%, 240px);
	min-width: 0;
}
.cake-stack {
	display: flex;
	flex-direction: column;
	gap: var(--cake-space-4, 16px);
	min-width: 0;
}
.cake-grid,
.cake-grid-default {
	display: grid;
	grid-template-columns: repeat(var(--cake-grid-columns, 2), minmax(0, 1fr));
	gap: var(--cake-grid-gap, var(--cake-space-4, 16px));
	min-width: 0;
}
.cake-col,
.cake-grid-cell,
.cake-container-block {
	min-width: 0;
}

.cake-tabber {
	display: grid;
	gap: var(--cake-space-4, 16px);
	min-width: 0;
}
.cake-tabber-header {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
}
.cake-tabber-header::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cake-separator), transparent);
	pointer-events: none;
}
.cake-tabber-tabs {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2.5vw, 28px);
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: thin;
}
.cake-tabber-tab {
	position: relative;
	appearance: none;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--cake-text-muted);
	font: 700 .82rem/1.2 var(--cake-font-body, Lexend, sans-serif);
	padding: 10px 0 13px;
	white-space: nowrap;
	cursor: pointer;
}
.cake-tabber-tab::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 999px;
	background: var(--cake-primary);
	box-shadow: 0 0 16px color-mix(in srgb, var(--cake-primary) 42%, transparent);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .18s ease;
}
.cake-tabber-tab:hover,
.cake-tabber-tab:focus-visible,
.cake-tabber-tab.is-active {
	color: var(--cake-text);
}
.cake-tabber-tab.is-active::after {
	transform: scaleX(1);
}
.cake-tabber-panel {
	display: none;
	min-width: 0;
}
.cake-tabber-panel.is-active {
	display: block;
}

.cake-checklist {
	display: grid;
	gap: 10px;
	min-width: 0;
}
.cake-checklist-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--cake-text);
	cursor: pointer;
}
.cake-checklist-item > input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: .2em;
}
.cake-checklist-item.done > span {
	color: var(--cake-text-muted);
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.cake-slideshow {
	display: grid;
	gap: 12px;
	min-width: 0;
	overflow: visible;
}
.cake-slideshow-viewport {
	overflow: hidden;
	border-radius: var(--cake-radius-lg, 22px);
}
.cake-slideshow-track {
	display: flex;
	align-items: stretch;
	transition: transform .28s ease;
	will-change: transform;
}
.cake-slideshow-slide {
	flex: 0 0 100%;
	min-width: 0;
}
.cake-slideshow-nav {
	display: flex;
	justify-content: center;
	gap: 8px;
}
.cake-slideshow-nav > button {
	display: inline-grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 999px;
	background: var(--cake-control);
	color: var(--cake-text);
	box-shadow: var(--cake-shadow-control);
	cursor: pointer;
}
.cake-slideshow-nav > button:hover,
.cake-slideshow-nav > button:focus-visible {
	background: var(--cake-control-hover);
	color: var(--cake-primary);
}

@media (max-width: 680px) {
	.cake-grid,
	.cake-grid-default { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.cake-tabber-tab::after,
	.cake-slideshow-track { transition: none; }
}
