diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 9a11db8..fe56186 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -8,6 +8,7 @@ For longer narratives, see link:changelog-details/[changelog-details/] (when pre
== Timeline
+* 2026-09-27 -- Themed Mermaid manifests: bind `#my-svg .label` to `color.text.primary` for dark-mode edge labels; regenerated four diagram SVG pairs (unblocks openshellorg/docs hub `diagram-audit`).
* 2026-09-27 -- xref:entrypoint-dispatch.adoc[Shell pains]: human-facing rewrite (concrete Node pin scene before jargon; stable URL); nav and in-repo link labels updated.
* 2026-09-27 -- xref:webview-run-surface.adoc[Webview run surface]: architecture page (display vs transport via `layout.html` + `ops.jsonl`), companion demo under `demos/webview-run-surface/`, cross-links from Tool Runs and command channels.
* 2026-09-08 -- Kept the four OpenShell-native diagrams under local deterministic Mermaid generation. Synchronized all twelve PlayTime standalone-adaptive and host artifacts from canonical Scriptbook commit `9753437`, preserved their fixed originals, removed duplicate PlayTime source ownership, and added pinned checksum, XML, safety, accessibility, and light/dark validation.
diff --git a/docs/modules/ROOT/images/declaration-without-dispatch.host.svg b/docs/modules/ROOT/images/declaration-without-dispatch.host.svg
index 174ee5c..74331eb 100644
--- a/docs/modules/ROOT/images/declaration-without-dispatch.host.svg
+++ b/docs/modules/ROOT/images/declaration-without-dispatch.host.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/images/declaration-without-dispatch.svg b/docs/modules/ROOT/images/declaration-without-dispatch.svg
index 37b25eb..cae9db1 100644
--- a/docs/modules/ROOT/images/declaration-without-dispatch.svg
+++ b/docs/modules/ROOT/images/declaration-without-dispatch.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg b/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg
index 949bd3d..5d3eaf1 100644
--- a/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg
+++ b/docs/modules/ROOT/images/honest-entrypoint-dispatch.host.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg b/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg
index d42f994..10754aa 100644
--- a/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg
+++ b/docs/modules/ROOT/images/honest-entrypoint-dispatch.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/images/sibling-ownership.host.svg b/docs/modules/ROOT/images/sibling-ownership.host.svg
index 975e5eb..33acd1c 100644
--- a/docs/modules/ROOT/images/sibling-ownership.host.svg
+++ b/docs/modules/ROOT/images/sibling-ownership.host.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/images/sibling-ownership.svg b/docs/modules/ROOT/images/sibling-ownership.svg
index a7f5897..0d6f98e 100644
--- a/docs/modules/ROOT/images/sibling-ownership.svg
+++ b/docs/modules/ROOT/images/sibling-ownership.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/images/toolchain-architecture.host.svg b/docs/modules/ROOT/images/toolchain-architecture.host.svg
index 626e911..c1c79e9 100644
--- a/docs/modules/ROOT/images/toolchain-architecture.host.svg
+++ b/docs/modules/ROOT/images/toolchain-architecture.host.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/images/toolchain-architecture.svg b/docs/modules/ROOT/images/toolchain-architecture.svg
index 0eae438..25ba9b5 100644
--- a/docs/modules/ROOT/images/toolchain-architecture.svg
+++ b/docs/modules/ROOT/images/toolchain-architecture.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json b/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json
index 5211277..feace08 100644
--- a/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json
+++ b/docs/modules/ROOT/partials/diagrams/declaration-without-dispatch.theme.json
@@ -33,6 +33,7 @@
},
"bindings": [
{ "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" },
+ { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .label text", "property": "fill", "token": "color.text.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "fill", "token": "color.surface.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "stroke", "token": "color.border.primary" },
diff --git a/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json b/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json
index a109d62..b633097 100644
--- a/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json
+++ b/docs/modules/ROOT/partials/diagrams/honest-entrypoint-dispatch.theme.json
@@ -10,6 +10,7 @@
},
"bindings": [
{ "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" },
+ { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .actor", "property": "fill", "token": "color.surface.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .actor", "property": "stroke", "token": "color.border.primary" },
{ "kind": "stylesheet", "selector": "#my-svg text.actor>tspan", "property": "fill", "token": "color.text.primary" },
diff --git a/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json b/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json
index 377e488..8838127 100644
--- a/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json
+++ b/docs/modules/ROOT/partials/diagrams/sibling-ownership.theme.json
@@ -32,6 +32,7 @@
},
"bindings": [
{ "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" },
+ { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .label text", "property": "fill", "token": "color.text.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "fill", "token": "color.surface.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "stroke", "token": "color.border.primary" },
diff --git a/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json b/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json
index dd31562..9290b36 100644
--- a/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json
+++ b/docs/modules/ROOT/partials/diagrams/toolchain-architecture.theme.json
@@ -32,6 +32,7 @@
},
"bindings": [
{ "kind": "stylesheet", "selector": "#my-svg", "property": "fill", "token": "color.text.primary" },
+ { "kind": "stylesheet", "selector": "#my-svg .label", "property": "color", "token": "color.text.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .label text", "property": "fill", "token": "color.text.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "fill", "token": "color.surface.primary" },
{ "kind": "stylesheet", "selector": "#my-svg .node rect", "property": "stroke", "token": "color.border.primary" },