/*
 * Visual bridge for KSE RAG Chatbot / Story Workbench.
 * The plugin owns app geometry and behaviour. The theme supplies shared tokens,
 * normal-page widths and a compact responsive frame for the fixed dark Story Guide.
 */
body.mth-theme :where(
	.kse-rag-chatbot,
	.kse-story-root,
	.kse-course-root,
	.kse-seminar-root
) {
	--kse-color-accent: #70bf4b;
	--kse-color-focus: #70bf4b;
	--kse-color-ink: #e9f8f3;
	--kse-color-text: #e9f8f3;
	--kse-color-surface: #0d1511;
	--kse-color-surface-soft: #121d17;
	--kse-color-panel: #121d17;
	--kse-color-card: #17231d;
	--kse-color-dark: #0d1511;
	--kse-color-dark-panel: #121d17;
	--kse-color-dark-card: #17231d;
	--kse-color-warning: #d97706;
	--kse-color-error: #b42318;
	--kse-warning: var(--kse-color-warning);
	--kse-error: var(--kse-color-error);
	font-family: inherit;
}

body.mth-theme :where(.kse-course-root, .kse-rag-chatbot) {
	width: 100%;
	max-width: var(--mth-wide);
	margin-inline: auto;
}

/* WordPress constrains direct post-content children to the reading width (840px).
 * Story guides are designed as wide plugin surfaces on desktop and laptop screens. */
@media (min-width: 783px) {
	body.mth-theme .entry-content.is-layout-constrained > .kse-story-guide {
		width: 100%;
		max-width: none !important;
		margin-inline: 0 !important;
	}
}

/* The Story Guide is a third-party integration boundary. Its former white
 * paper and inset cards now consume the same dark/glass tokens as the shell. */
body.mth-theme .kse-story-guide {
	--kse-guide-ink: #fff;
	--kse-guide-jade: #8af2cf;
	--kse-guide-muted: rgb(233 248 243 / 0.9);
	--kse-guide-surface: var(--nxs-neon-content-surface, linear-gradient(145deg, rgb(18 29 23 / 0.96), rgb(8 18 13 / 0.96)));
	--kse-guide-card: linear-gradient(145deg, rgb(24 66 51 / 0.78), rgb(7 37 27 / 0.84));
	--kse-guide-card-soft: linear-gradient(145deg, rgb(33 83 65 / 0.48), rgb(8 43 31 / 0.62));
	--kse-guide-control: linear-gradient(135deg, rgb(40 122 92 / 0.66), rgb(20 82 68 / 0.78));
	--kse-guide-control-hover: linear-gradient(135deg, rgb(52 151 112 / 0.78), rgb(25 103 86 / 0.88));
	--kse-guide-control-border: rgb(126 234 198 / 0.72);
	--kse-guide-border: var(--nxs-neon-content-border, rgb(112 191 75 / 0.48));
	color: var(--kse-guide-ink);
	background: transparent !important;
	color-scheme: dark;
}

body.mth-theme .kse-story-guide :where(h1, h2, h3, h4, h5, h6) {
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide :where(p, li, dd, dt, figcaption) {
	color: var(--kse-guide-muted);
}

body.mth-theme .kse-story-guide .kse-story-guide-article > :where(header, aside, nav, section, details, footer),
body.mth-theme .kse-story-guide :where(.kse-guide-toc, .kse-guide-callout, .kse-guide-project-brief, .kse-guide-workbench-map, details.kse-guide-phase-accordion) {
	border-color: var(--kse-guide-border) !important;
	color: var(--kse-guide-ink) !important;
	background: var(--kse-guide-surface) !important;
}

body.mth-theme .kse-story-guide :where(
	.kse-guide-workbench-map > div,
	.kse-guide-grid > *,
	.kse-guide-facts > div,
	.kse-guide-startline > div,
	.kse-guide-flow__step,
	.kse-guide-pipeline > div,
	.kse-guide-step,
	.kse-guide-fields > div,
	.kse-guide-compare__item,
	.kse-guide-do-dont > div,
	.kse-guide-example,
	.kse-guide-example > header,
	.kse-guide-mini-card,
	.kse-guide-character-files > div,
	.kse-guide-media-records > div,
	.kse-guide-story-plot > div,
	.kse-guide-scenes details,
	.kse-guide-prompt,
	.kse-guide-next,
	.kse-guide-example__timeline > div,
	.kse-guide-loop > div,
	.kse-guide-rag > div,
	.kse-guide-ai-literacy > div,
	.kse-guide-export-stack > div,
	.kse-guide-faq
) {
	border-color: var(--kse-guide-border) !important;
	color: var(--kse-guide-ink) !important;
	background: var(--kse-guide-card) !important;
}

/* Inset labels and grid separators are part of the same dark component
 * contract. Leaving their plugin paper colours in place produces white type
 * on white cards even though the surrounding guide already uses dark tokens. */
body.mth-theme .kse-story-guide :where(
	.kse-guide-workbench-map span,
	.kse-guide-table thead th
) {
	background: var(--kse-guide-card-soft) !important;
	border-color: var(--kse-guide-border) !important;
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide :where(.kse-guide-loop, .kse-guide-table) {
	background: rgb(126 234 198 / 0.2) !important;
	border-color: var(--kse-guide-border) !important;
}

body.mth-theme .kse-story-guide .kse-guide-table :where(th, td) {
	border-color: rgb(126 234 198 / 0.2) !important;
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide :where(
	.kse-guide-startline strong,
	.kse-guide-flow__step strong,
	.kse-guide-pipeline strong,
	.kse-guide-step > h3,
	.kse-guide-loop strong,
	.kse-guide-workbench-map strong,
	.kse-guide-table strong
) {
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide :where(
	.kse-guide-startline small,
	.kse-guide-flow__step small,
	.kse-guide-pipeline small,
	.kse-guide-loop small,
	.kse-guide-export-stack span,
	.kse-guide-example > header > span,
	.kse-guide-example__timeline > div > span,
	.kse-guide-ai-literacy > div > span,
	.kse-guide-character-files > div > span
) {
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-loop > div > span {
	color: #8af2cf !important;
}

@media (max-width: 782px) {
	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .mth-content-shell {
		padding: 0;
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .mth-content-shell > .entry-content {
		width: 100%;
		max-width: none;
		margin-block: 0 !important;
		padding-inline: 0 !important;
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .entry-content > .kse-story-guide {
		width: 100%;
		max-width: none !important;
		margin: 0 !important;
		font-size: clamp(15px, 4.2vw, 16px);
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .kse-story-guide-article {
		padding: 8px;
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .kse-story-guide-article > section {
		margin: 12px 0;
		padding: 18px 14px;
		border-radius: 16px;
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .kse-guide-hero {
		padding: 24px 16px;
		border-radius: 18px;
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .kse-story-guide h1 {
		font-size: clamp(1.8rem, 7vw, 2.6rem);
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .kse-story-guide h2 {
		font-size: clamp(1.5rem, 7.5vw, 2rem);
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) :where(.kse-guide-toc, .kse-guide-workbench-map) {
		margin-block: 12px;
		padding: 8px;
		border-radius: 14px;
	}

	body.mth-theme:is(.mth-story-guide-page, .kse-story-guide-page) .kse-guide-workbench-map > div {
		padding: 14px;
	}
}

/* Workbench, Seminar Dashboard, Chatbot and catalogue follow the Theme's one
 * fixed dark state. The plugin switches remain hidden at this integration
 * boundary; the companion script also normalizes their data-theme attribute. */
body.mth-theme :is(.kse-rag-chatbot, .kse-course-root, .kse-story-root, .kse-seminar-root) {
	--kse-color-accent: #70bf4b;
	--kse-color-focus: #70bf4b;
	--kse-color-ink: #e9f8f3;
	--kse-color-text: #e9f8f3;
	--kse-color-surface: #0d1511;
	--kse-color-surface-soft: #121d17;
	--kse-color-panel: #121d17;
	--kse-color-card: #17231d;
	--kse-color-warning: #f4a340;
	--kse-color-error: #ff9188;
	color-scheme: dark;
}

body.mth-theme :is(.kse-story-theme-switch, .kse-seminar-theme-switch) {
	display: none !important;
}

/* Story Guide component contract: one glass surface per section, readable
 * controls, and no background layer on plain text children. */
body.mth-theme .kse-story-guide .kse-guide-callout {
	border: 1px solid var(--kse-guide-border) !important;
	border-left: 4px solid #57cd9b !important;
	border-radius: 14px;
	background: linear-gradient(110deg, rgb(87 205 155 / 0.16), rgb(80 185 212 / 0.08)) !important;
}

body.mth-theme .kse-story-guide :where(
	.kse-guide-callout > strong,
	.kse-guide-callout > p,
	.kse-guide-project-brief > h2,
	.kse-guide-project-brief > .kse-guide-grid,
	.kse-guide-project-brief > .kse-guide-story-spine
) {
	background: transparent !important;
	box-shadow: none !important;
}

body.mth-theme .kse-story-guide .kse-guide-toc > strong {
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide .kse-guide-toc a {
	align-items: center;
	background: var(--kse-guide-control) !important;
	border: 1px solid var(--kse-guide-control-border) !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.14), 0 6px 18px rgb(0 8 6 / 0.22);
	color: #fff !important;
	display: inline-flex;
	font-weight: 750;
	justify-content: center;
	min-height: 44px;
	padding: 0.58rem 0.9rem;
	text-decoration: none !important;
	text-shadow: 0 1px 2px rgb(0 0 0 / 0.55);
}

body.mth-theme .kse-story-guide .kse-guide-toc a:hover {
	background: var(--kse-guide-control-hover) !important;
	border-color: #a6f2d8 !important;
	color: #fff !important;
	transform: translateY(-1px);
}

body.mth-theme .kse-story-guide .kse-guide-toc a:focus-visible,
body.mth-theme .kse-story-guide .kse-guide-phase-accordion__summary:focus-visible {
	outline: 3px solid #8af2cf !important;
	outline-offset: 3px;
}

body.mth-theme .kse-story-guide details.kse-guide-phase-accordion {
	border: 1px solid var(--kse-guide-border) !important;
	border-radius: 18px;
	overflow: clip;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__summary {
	background: linear-gradient(135deg, rgb(31 92 70 / 0.72), rgb(10 53 42 / 0.82)) !important;
	border: 0 !important;
	color: var(--kse-guide-ink) !important;
	min-height: 76px;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__summary:hover {
	background: var(--kse-guide-control-hover) !important;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__summary :where(strong, span) {
	color: inherit;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__copy > strong {
	color: #fff !important;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__copy > span {
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__badge {
	background: linear-gradient(135deg, #58cfaa, #38a8bd) !important;
	color: #061a14 !important;
	text-shadow: none;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__toggle {
	background: rgb(5 35 26 / 0.74) !important;
	border-color: var(--kse-guide-control-border) !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1);
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__toggle::before,
body.mth-theme .kse-story-guide .kse-guide-phase-accordion__toggle::after {
	background: #dffcf2 !important;
}

body.mth-theme .kse-story-guide .kse-guide-phase-accordion__body {
	background: transparent !important;
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-field-example {
	background: var(--kse-guide-card-soft) !important;
	border-color: var(--kse-guide-border) !important;
	border-top-color: #57cd9b !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.06);
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-field-example h3 {
	color: #fff !important;
}

body.mth-theme .kse-story-guide .kse-guide-field-example h3 em {
	background: rgb(87 205 155 / 0.15) !important;
	border: 1px solid rgb(126 234 198 / 0.34);
	color: #c8f8e6 !important;
}

body.mth-theme .kse-story-guide .kse-guide-example-value {
	background: rgb(255 255 255 / 0.055) !important;
	border-color: rgb(126 234 198 / 0.28) !important;
	border-left-color: #57cd9b !important;
	color: #f2fcf8 !important;
}

body.mth-theme .kse-story-guide .kse-guide-field-example > p {
	background: transparent !important;
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-phase-link {
	background: linear-gradient(110deg, rgb(87 205 155 / 0.13), rgb(80 185 212 / 0.07)) !important;
	border-color: rgb(126 234 198 / 0.3) !important;
	color: var(--kse-guide-muted) !important;
}

/* Finished graphic novel: the Theme owns surface, foreground and geometry as
 * one component because the plugin paper palette conflicts with white Theme type. */
body.mth-theme .kse-story-guide .kse-guide-finished-product--comic {
	--kse-comic-scene: linear-gradient(145deg, rgb(19 58 45 / 0.96), rgb(7 32 24 / 0.98));
	--kse-comic-copy: linear-gradient(155deg, rgb(20 62 48 / 0.94), rgb(8 37 28 / 0.98));
	--kse-comic-line: rgb(126 234 198 / 0.42);
	background: var(--kse-guide-surface) !important;
	border-color: var(--kse-guide-border) !important;
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide .kse-guide-finished-product--comic .kse-guide-finished-product__hero {
	background: linear-gradient(125deg, rgb(13 55 42 / 0.96), rgb(17 74 59 / 0.92) 58%, rgb(53 48 27 / 0.9)) !important;
	border-color: var(--kse-comic-line) !important;
}

body.mth-theme .kse-story-guide .kse-guide-finished-product--comic :where(.kse-guide-finished-product__hero p, .kse-guide-product-facts span) {
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-finished-product--comic .kse-guide-product-facts span {
	background: rgb(255 255 255 / 0.065) !important;
	border-color: var(--kse-comic-line) !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic {
	background:
		linear-gradient(rgb(126 234 198 / 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgb(126 234 198 / 0.035) 1px, transparent 1px),
		rgb(3 25 18 / 0.52) !important;
	background-size: 32px 32px !important;
}

body.mth-theme .kse-story-guide :where(.kse-guide-comic-scene, .kse-guide-comic-scene.is-reverse) {
	align-items: stretch;
	grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
	min-height: clamp(32rem, 46vw, 44rem);
	background: var(--kse-comic-scene) !important;
	border-color: var(--kse-comic-line) !important;
	border-radius: 18px;
	box-shadow: 0 22px 48px rgb(0 8 6 / 0.34);
}

body.mth-theme .kse-story-guide .kse-guide-comic-scene.is-reverse {
	grid-template-columns: minmax(17rem, 0.65fr) minmax(0, 1.35fr);
}

body.mth-theme .kse-story-guide .kse-guide-comic-scene figure {
	align-self: stretch;
	aspect-ratio: auto !important;
	height: 100%;
	min-height: 0 !important;
	background: rgb(3 25 18) !important;
}

body.mth-theme .kse-story-guide :where(.kse-guide-comic-media, .kse-guide-comic-media__stage) {
	height: 100% !important;
	min-height: 0 !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-scene :where(figure img, figure video) {
	height: 100% !important;
	min-height: 0 !important;
	object-fit: cover;
}

body.mth-theme .kse-story-guide .kse-guide-comic-copy {
	align-self: stretch;
	min-width: 0;
	background: var(--kse-comic-copy) !important;
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-copy h3 {
	color: #fff !important;
	text-shadow: 0 1px 2px rgb(0 0 0 / 0.38);
}

body.mth-theme .kse-story-guide .kse-guide-comic-chapter {
	color: #8af2cf !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-copy > p:not(.kse-guide-comic-chapter):not(.kse-guide-comic-narration),
body.mth-theme .kse-story-guide .kse-guide-comic-ending {
	background: transparent !important;
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-narration {
	background: rgb(4 29 22 / 0.82) !important;
	border-left-color: #e0aa52 !important;
	color: #fff7e8 !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-dialogue {
	background: linear-gradient(145deg, rgb(24 83 63 / 0.92), rgb(9 47 35 / 0.96)) !important;
	border-color: rgb(126 234 198 / 0.48) !important;
	box-shadow: 0 8px 20px rgb(0 8 6 / 0.24);
	color: #f2fcf8 !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-dialogue.is-ben {
	background: linear-gradient(145deg, rgb(24 77 82 / 0.92), rgb(8 43 50 / 0.96)) !important;
	border-color: rgb(108 220 231 / 0.48) !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-dialogue.is-ruiz {
	background: linear-gradient(145deg, rgb(101 72 32 / 0.9), rgb(51 37 19 / 0.96)) !important;
	border-color: rgb(235 187 105 / 0.58) !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-dialogue strong { color: #8af2cf !important; }
body.mth-theme .kse-story-guide .kse-guide-comic-dialogue.is-ben strong { color: #9aeef2 !important; }
body.mth-theme .kse-story-guide .kse-guide-comic-dialogue.is-ruiz strong { color: #ffd38b !important; }
body.mth-theme .kse-story-guide .kse-guide-comic-dialogue p {
	background: transparent !important;
	color: inherit !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-copy blockquote {
	background: rgb(23 72 55 / 0.78) !important;
	border-left-color: #57cd9b !important;
	color: #f2fcf8 !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-ending { border-top-color: var(--kse-comic-line) !important; }

body.mth-theme .kse-story-guide .kse-guide-comic-media__toggle {
	min-height: 44px;
	background: var(--kse-guide-control) !important;
	border-color: var(--kse-guide-control-border) !important;
	color: #fff !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-media__toggle:hover,
body.mth-theme .kse-story-guide .kse-guide-comic-media__toggle:focus-visible {
	background: var(--kse-guide-control-hover) !important;
	border-color: #a6f2d8 !important;
	color: #fff !important;
}

body.mth-theme .kse-story-guide .kse-guide-comic-scene.is-climax {
	grid-template-columns: 1fr;
	min-height: 0;
}

body.mth-theme .kse-story-guide .kse-guide-comic-scene.is-climax figure {
	aspect-ratio: 3 / 2 !important;
	height: auto;
}

body.mth-theme .kse-story-guide .kse-guide-comic-scene.is-climax .kse-guide-comic-copy {
	background: linear-gradient(135deg, rgb(67 58 28 / 0.94), rgb(21 67 51 / 0.96) 62%, rgb(8 39 31 / 0.98)) !important;
}

body.mth-theme .kse-story-guide .kse-guide-finished-product--comic .kse-guide-product-source-note {
	background: rgb(12 48 36 / 0.9) !important;
	border-top: 1px solid var(--kse-comic-line);
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-finished-product--comic .kse-guide-product-source-note strong {
	color: #8af2cf !important;
}
/* Narrative Story Guide content: the plugin's light paper sections must not
 * compete with the Theme's light type. Each surface owns its foreground. */
body.mth-theme .kse-story-guide .kse-guide-story-opening {
	--kse-story-note: linear-gradient(135deg, rgb(29 91 69 / 0.72), rgb(12 53 40 / 0.82));
	--kse-story-analysis: linear-gradient(145deg, rgb(29 78 61 / 0.46), rgb(7 39 29 / 0.68));
	background: var(--kse-guide-surface) !important;
	border-color: var(--kse-guide-border) !important;
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-opening > header {
	background: linear-gradient(125deg, rgb(18 65 49 / 0.92), rgb(15 76 61 / 0.86) 58%, rgb(56 50 28 / 0.82)) !important;
	border-bottom: 1px solid var(--kse-guide-border);
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-opening > header :where(h2, p) {
	color: inherit !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-opening > header p:last-child {
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-text {
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-text > p {
	background: transparent !important;
	color: inherit !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-text > p:first-child::first-letter {
	color: #57cd9b !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-text > p.kse-guide-story-note {
	background: var(--kse-story-note) !important;
	border: 1px solid rgb(126 234 198 / 0.28);
	border-left: 4px solid #57cd9b;
	border-radius: 0 12px 12px 0;
	color: #f2fcf8 !important;
}

body.mth-theme .kse-story-guide footer.kse-guide-story-opening__analysis {
	background: var(--kse-story-analysis) !important;
	border-top-color: var(--kse-guide-border) !important;
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-opening__analysis h3 {
	color: #fff !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-opening__analysis .kse-guide-grid > div {
	background: var(--kse-guide-card-soft) !important;
	border-color: var(--kse-guide-border) !important;
	color: var(--kse-guide-ink) !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-opening__analysis :where(.kse-guide-grid > div > strong, p) {
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-story-opening__analysis .kse-guide-grid > div > strong {
	color: #fff !important;
}

body.mth-theme .kse-story-guide .kse-guide-checklist li {
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-checklist--boxed li {
	min-width: 0;
	background: var(--kse-guide-card-soft) !important;
	border-color: var(--kse-guide-border) !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.05);
	color: var(--kse-guide-muted) !important;
}

body.mth-theme .kse-story-guide .kse-guide-checklist li::before {
	color: #8af2cf !important;
}

body.mth-theme .kse-story-guide .kse-guide-checklist--boxed li::before {
	top: 50%;
	transform: translateY(-50%);
}


@container kse-guide (max-width: 860px) {
	body.mth-theme .kse-story-guide :where(.kse-guide-comic-scene, .kse-guide-comic-scene.is-reverse) {
		grid-template-columns: 1fr !important;
		min-height: 0;
	}
	body.mth-theme .kse-story-guide :where(.kse-guide-comic-scene figure, .kse-guide-comic-scene.is-reverse figure, .kse-guide-comic-scene.is-reverse .kse-guide-comic-copy) {
		grid-column: 1;
		grid-row: auto;
	}
	body.mth-theme .kse-story-guide .kse-guide-comic-scene figure {
		aspect-ratio: 16 / 10 !important;
		height: auto;
	}
}

@media (max-width: 860px) {
	body.mth-theme .kse-story-guide :where(.kse-guide-comic-scene, .kse-guide-comic-scene.is-reverse) {
		grid-template-columns: 1fr !important;
		min-height: 0;
	}
	body.mth-theme .kse-story-guide :where(.kse-guide-comic-scene figure, .kse-guide-comic-scene.is-reverse figure, .kse-guide-comic-scene.is-reverse .kse-guide-comic-copy) {
		grid-column: 1;
		grid-row: auto;
	}
	body.mth-theme .kse-story-guide .kse-guide-comic-scene figure {
		aspect-ratio: 16 / 10 !important;
		height: auto;
	}
}

@media (max-width: 782px) {
	body.mth-theme .kse-story-guide .kse-guide-toc a {
		flex: 1 1 min(100%, 7rem);
	}

	body.mth-theme .kse-story-guide .kse-guide-toc > strong {
		flex-basis: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.mth-theme .kse-story-guide .kse-guide-toc a:hover {
		transform: none;
	}
}

@media (prefers-reduced-transparency: reduce) {
	body.mth-theme .kse-story-guide {
		--kse-guide-card: linear-gradient(145deg, #184333, #0c2c21);
		--kse-guide-card-soft: linear-gradient(145deg, #1b4938, #0d3024);
		--kse-guide-control: linear-gradient(135deg, #23775a, #155747);
	}

	body.mth-theme .kse-story-guide .kse-guide-finished-product--comic {
		--kse-comic-scene: #0f3428;
		--kse-comic-copy: #123b2e;
	}
	body.mth-theme .kse-story-guide .kse-guide-story-opening {
		--kse-story-note: #174c3a;
		--kse-story-analysis: #12372b;
	}
}

@media (forced-colors: active) {
	body.mth-theme .kse-story-guide :where(.kse-guide-toc a, .kse-guide-phase-accordion__summary, .kse-guide-field-example, .kse-guide-example-value, .kse-guide-comic-dialogue, .kse-guide-comic-narration, .kse-guide-comic-media__toggle, .kse-guide-story-note, .kse-guide-story-opening__analysis, .kse-guide-checklist--boxed li, .kse-guide-startline > div, .kse-guide-flow__step, .kse-guide-loop > div, .kse-guide-step, .kse-guide-workbench-map span) {
		background: Canvas !important;
		border: 1px solid CanvasText !important;
		box-shadow: none !important;
		color: CanvasText !important;
		forced-color-adjust: auto;
	}
}
/*
 * Optional Workbench presentation style.
 * The global interface controller owns the persisted state; this Theme bridge
 * maps that state to Nexus surfaces without changing Workbench behaviour.
 */
html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root {
	--story-theme-panel: var(--ws-bg, var(--nxs-neon-content-surface, linear-gradient(145deg, rgb(0 18 13 / 0.96), rgb(0 5 4 / 0.94))));
	--story-theme-inset: var(--ws-inset, var(--nxs-neon-content-inset, linear-gradient(145deg, rgb(0 14 10 / 0.98), rgb(0 4 3 / 0.96))));
	--story-theme-card: var(--ws-card, var(--nxs-neon-surface-card, rgb(0 12 9 / 0.9)));
	--story-theme-solid: var(--ws-bg, var(--nxs-neon-surface-solid, #000));
	--story-theme-border: var(--ws-line, var(--nxs-neon-content-border, rgb(87 205 155 / 0.48)));
	--story-theme-border-strong: var(--nxs-neon-border, rgb(87 205 155 / 0.72));
	--story-theme-shadow: var(--nxs-neon-content-shadow, 0 12px 30px rgb(0 0 0 / 0.42));
	--story-theme-glow: var(--nxs-neon-glow-strong, 0 0 14px rgb(87 205 155 / 0.42));
	--story-theme-card-shadow: 0 0.65rem 1.8rem rgb(0 0 0 / 0.3), inset 0 1px rgb(255 255 255 / 0.08);
	--story-border: var(--story-theme-border);
	--story-border-strong: var(--story-theme-border-strong);
	--story-text: var(--ws-text, var(--nxs-neon-text, #fff));
	--story-ink: var(--story-text);
	--story-accent: var(--ws-accent, #57cd9b);
	--story-accent-strong: color-mix(in srgb, var(--story-accent) 75%, var(--story-text));
	--story-muted: var(--ws-muted, rgb(255 255 255 / 0.8));
	--story-surface: var(--story-theme-solid);
	--story-surface-raised: var(--story-theme-panel);
	--story-surface-soft: var(--story-theme-inset);
	--story-control-border: var(--story-theme-border-strong);
	--story-field-status-base: var(--ws-card, var(--story-theme-solid));
	--story-field-risk: color-mix(in srgb, #c43d3d 80%, var(--story-text));
	--story-field-warning: color-mix(in srgb, #b57d1d 80%, var(--story-text));
	--story-field-strong: color-mix(in srgb, #23945f 80%, var(--story-text));
	background:
		radial-gradient(circle at 12% 6%, rgb(87 205 155 / 0.2), transparent 30%),
		radial-gradient(circle at 88% 92%, rgb(80 185 212 / 0.12), transparent 32%),
		var(--story-theme-solid);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-workbench {
	background: var(--story-theme-panel);
	border: 1px solid var(--story-theme-border-strong);
	border-radius: 0.95rem;
	box-shadow: var(--story-theme-shadow);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-sidebar,
	.kse-story-board,
	.kse-story-chat
) {
	-webkit-backdrop-filter: var(--nxs-neon-content-filter, none);
	backdrop-filter: var(--nxs-neon-content-filter, none);
	color: var(--story-text);
	background: var(--story-theme-panel);
	border-color: var(--story-theme-border);
	box-shadow: inset 0 1px rgb(255 255 255 / 0.08);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-header,
	.kse-story-chat-head,
	.kse-story-mobile-toolbar,
	.kse-story-phases,
	.kse-story-chat-form,
	.kse-story-phase-actions,
	.kse-story-collaboration-strip
) {
	color: var(--story-text);
	background: var(--ws-toolbar, var(--story-theme-inset));
	border-color: var(--story-theme-border);
	box-shadow: inset 0 1px rgb(255 255 255 / 0.08), 0 0.55rem 1.4rem rgb(0 0 0 / 0.2);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-project-fixed-meta > div,
	.kse-story-project-dialog-panel,
	.kse-story-quality-dialog-panel,
	.kse-story-template-option,
	.kse-story-phase-status,
	.kse-story-rubric-result,
	.kse-story-quality-section,
	.kse-story-quality-item,
	.kse-story-score-scale,
	.kse-story-theory-help,
	.kse-story-writer-structure,
	.kse-story-writer-editor,
	.kse-story-writer-tools,
	.kse-story-writer-quality,
	.kse-story-writer-phase,
	.kse-story-media-documentation,
	.kse-story-media-upload,
	.kse-story-image-item,
	.kse-story-image-review-item,
	.kse-story-scene-row,
	.kse-story-character-row,
	.kse-story-export-panel,
	.kse-story-export-result,
	.kse-story-user-media-picker,
	.kse-story-user-media-row,
	.kse-story-collaboration-choice,
	.kse-story-collaboration-mode-button,
	.kse-story-collaboration-person,
	.kse-story-storyboard-intro,
	.kse-story-curriculum-layer,
	.kse-story-message
) {
	color: var(--story-text);
	background: var(--ws-card, var(--story-theme-inset));
	border-color: var(--story-theme-border);
	box-shadow: var(--story-theme-card-shadow);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-media-list > .kse-story-image-item {
	color: var(--story-text);
	background: var(--ws-card, var(--story-theme-inset));
	border-color: var(--story-theme-border);
	box-shadow: var(--story-theme-card-shadow);
}

/* Workbench owns the rating state. Preserve its full frame even in the flat Studio. */
html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-fields-grid > .kse-story-field {
	color: var(--story-text);
	background: var(--story-field-status-surface, var(--ws-card, var(--story-theme-inset)));
	border-color: var(--story-field-status-border, var(--story-theme-border));
	box-shadow: var(--story-theme-card-shadow);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-media-list > .kse-story-image-item[open] > summary,
html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-media-list > .kse-story-image-item[open] > .kse-story-media-documentation {
	color: var(--story-text);
	background: var(--story-theme-card);
	border-color: var(--story-theme-border);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-project-item,
	.kse-story-phase-button,
	.kse-story-mode-button,
	.kse-story-check-field,
	.kse-story-edit-project,
	.kse-story-leave-workbench,
	.kse-story-project-dialog-close,
	.kse-story-dismiss-suggestion,
	.kse-story-copy-export,
	.kse-story-mobile-projects-button,
	.kse-story-mobile-coach-button,
	.kse-story-coach-toggle,
	.kse-story-projects-toggle
) {
	color: var(--story-text);
	background: var(--story-theme-card);
	border-color: var(--story-theme-border);
	box-shadow: inset 0 1px rgb(255 255 255 / 0.08), 0 0.45rem 1.2rem rgb(0 0 0 / 0.24);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-project-item,
	.kse-story-phase-button,
	.kse-story-mode-button,
	.kse-story-check-field,
	.kse-story-edit-project,
	.kse-story-leave-workbench,
	.kse-story-project-dialog-close,
	.kse-story-dismiss-suggestion,
	.kse-story-copy-export,
	.kse-story-mobile-projects-button,
	.kse-story-mobile-coach-button
):hover {
	color: var(--story-text);
	background: rgb(87 205 155 / 0.14);
	border-color: var(--story-theme-border-strong);
	box-shadow: 0 0 1rem rgb(87 205 155 / 0.24);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-project-item.is-active,
	.kse-story-phase-button.is-active,
	.kse-story-mode-button.is-active,
	.kse-story-mobile-projects-button[aria-expanded="true"],
	.kse-story-mobile-coach-button[aria-expanded="true"]
) {
	color: var(--story-text);
	background:
		linear-gradient(var(--story-theme-solid), var(--story-theme-solid)) padding-box,
		var(--nxs-neon-gradient, linear-gradient(90deg, #57cd9b, #3fcfb6, #50b9d4)) border-box;
	border: 1px solid transparent;
	box-shadow: var(--story-theme-glow);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-new-project,
	.kse-story-create-project-submit,
	.kse-story-update-project-submit,
	.kse-story-send,
	.kse-story-next-phase,
	.kse-story-rubric-check:not(:disabled),
	.kse-story-export,
	.kse-story-download-export,
	.kse-story-download-binary-export,
	.kse-story-save-phase,
	.kse-story-save-draft,
	.kse-story-generate-opening:not(:disabled),
	.kse-story-apply-suggestion,
	.kse-story-upload-image,
	.kse-story-upload-nested-media,
	.kse-story-add-scene,
	.kse-story-add-character
) {
	color: var(--story-text);
	background:
		linear-gradient(var(--story-theme-solid), var(--story-theme-solid)) padding-box,
		var(--nxs-neon-gradient, linear-gradient(90deg, #57cd9b, #3fcfb6, #50b9d4)) border-box;
	border: 1px solid transparent;
	box-shadow: 0 0 0.8rem rgb(87 205 155 / 0.38), 0 0 1.6rem rgb(80 185 212 / 0.16);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-new-project,
	.kse-story-create-project-submit,
	.kse-story-update-project-submit,
	.kse-story-send,
	.kse-story-next-phase,
	.kse-story-rubric-check:not(:disabled),
	.kse-story-export,
	.kse-story-download-export,
	.kse-story-download-binary-export,
	.kse-story-save-phase,
	.kse-story-save-draft,
	.kse-story-generate-opening:not(:disabled),
	.kse-story-apply-suggestion,
	.kse-story-upload-image,
	.kse-story-upload-nested-media,
	.kse-story-add-scene,
	.kse-story-add-character
):hover {
	background:
		linear-gradient(rgb(87 205 155 / 0.14), rgb(87 205 155 / 0.14)) padding-box,
		var(--nxs-neon-gradient, linear-gradient(90deg, #57cd9b, #3fcfb6, #50b9d4)) border-box;
	box-shadow: var(--story-theme-glow);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-style-toggle {
	color: var(--story-text);
	background: var(--story-theme-inset);
	border-color: var(--story-theme-border-strong);
	box-shadow: var(--story-theme-card-shadow);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-style-toggle[aria-checked="true"] {
	box-shadow: var(--story-theme-glow);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-field input,
	.kse-story-field textarea,
	.kse-story-field select,
	.kse-story-chat-input,
	.kse-story-draft-editor,
	.kse-story-scene-row input,
	.kse-story-scene-row textarea,
	.kse-story-scene-row select,
	.kse-story-character-row input,
	.kse-story-character-row textarea,
	.kse-story-media-documentation textarea,
	.kse-story-nested-media-controls textarea,
	.kse-story-media-prompt,
	.kse-story-phase-select,
	.kse-story-collaboration-members,
	.kse-story-new-project-title
) {
	color: #000;
	background: #fff;
	border-color: var(--story-theme-border-strong);
	box-shadow: inset 0 1px 3px rgb(0 0 0 / 0.12), 0 0 0.7rem rgb(87 205 155 / 0.1);
	caret-color: #000;
	color-scheme: light;
	-webkit-text-fill-color: #000;
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-field input,
	.kse-story-field textarea,
	.kse-story-field select,
	.kse-story-chat-input,
	.kse-story-draft-editor,
	.kse-story-scene-row input,
	.kse-story-scene-row textarea,
	.kse-story-scene-row select,
	.kse-story-character-row input,
	.kse-story-character-row textarea,
	.kse-story-media-documentation textarea,
	.kse-story-nested-media-controls textarea,
	.kse-story-media-prompt,
	.kse-story-phase-select,
	.kse-story-collaboration-members,
	.kse-story-new-project-title
):focus {
	border-color: #57cd9b;
	box-shadow: 0 0 0 3px rgb(87 205 155 / 0.28), 0 0 1.1rem rgb(63 207 182 / 0.24);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(input, textarea)::placeholder {
	color: #52655f;
	opacity: 1;
	-webkit-text-fill-color: #52655f;
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root select option {
	color: #000;
	background: #fff;
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-field-help,
	.kse-story-cross-phase-note,
	.kse-story-image-note,
	.kse-story-chat-hint,
	.kse-story-rubric-meta-row span,
	.kse-story-quality-overview-card,
	.kse-story-rubric-priority,
	.kse-story-rubric-details,
	.kse-story-draft-annotation,
	.kse-story-quality-basis,
	.kse-story-quality-source,
	.kse-story-score-explain,
	.kse-story-quality-pending-note
) {
	color: var(--story-muted);
	background: var(--story-theme-card);
	border-color: var(--story-theme-border);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-message-user {
	color: var(--story-text);
	background:
		linear-gradient(var(--story-theme-solid), var(--story-theme-solid)) padding-box,
		var(--nxs-neon-gradient, linear-gradient(90deg, #57cd9b, #3fcfb6, #50b9d4)) border-box;
	border: 1px solid transparent;
	box-shadow: 0 0 1rem rgb(87 205 155 / 0.18);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-scene-head,
	.kse-story-scene-actions,
	.kse-story-scene-advanced,
	.kse-story-nested-media-add,
	.kse-story-curriculum-layer > summary,
	.kse-story-curriculum-headings,
	.kse-story-curriculum-method,
	.kse-story-curriculum-project,
	.kse-story-curriculum-basis,
	.kse-story-curriculum-basis-item,
	.kse-story-curriculum-recommendation
) {
	color: var(--story-text);
	background: var(--story-theme-card);
	border-color: var(--story-theme-border);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-scene-summary-title,
	.kse-story-scene-row label,
	.kse-story-storyboard-intro,
	.kse-story-storyboard-intro strong
) {
	color: var(--story-text);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
	.kse-story-scene-function-badge,
	.kse-story-scene-time-badge,
	.kse-story-scene-score,
	.kse-story-storyboard-check-guide span
) {
	color: var(--story-text);
	background: rgb(87 205 155 / 0.1);
	border-color: var(--story-theme-border);
}

html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root .kse-story-scene-actions button:not(.kse-story-remove-scene) {
	color: var(--story-text);
	background: var(--story-theme-card);
	border-color: var(--story-theme-border);
}

@media (prefers-reduced-transparency: reduce) {
html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root {
		--story-theme-panel: var(--ws-panel, #03110c);
		--story-theme-inset: var(--ws-inset, #071b14);
		--story-theme-card: var(--ws-card, #0b241b);
	}

	html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
		.kse-story-sidebar,
		.kse-story-board,
		.kse-story-chat
	) {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
}

@media (forced-colors: active) {
	html[data-kse-workbench-style="theme"] body.mth-theme .kse-story-root :is(
		.kse-story-workbench,
		.kse-story-sidebar,
		.kse-story-board,
		.kse-story-chat,
		.kse-story-project-item,
		.kse-story-phase-button,
		.kse-story-field,
		.kse-story-scene-row,
		.kse-story-image-item,
		.kse-story-style-toggle
	) {
		background: Canvas;
		border: 1px solid CanvasText;
		box-shadow: none;
		color: CanvasText;
		forced-color-adjust: auto;
	}
}
