diff --git a/Controls/TopBar.xaml b/Controls/TopBar.xaml
index f972fc1..eb137b4 100644
--- a/Controls/TopBar.xaml
+++ b/Controls/TopBar.xaml
@@ -68,7 +68,7 @@
-
+
diff --git a/DESIGN.md b/DESIGN.md
index 8e90cc5..ceb6ee9 100644
--- a/DESIGN.md
+++ b/DESIGN.md
@@ -43,7 +43,8 @@
| Token | Hex | Role |
|---|---|---|
| `tertiary` (electric blue) | `#38bdf8` | **The** interactive accent: selection, focus, sliders, primary buttons, transform handles |
-| `on-tertiary` | `#0b1326` | Text/icon on a blue fill |
+| `on-tertiary` | `#0b1326` | Dark ink, for large blue **surfaces** only |
+| `on-accent` | `#ffffff` | Text/icon on any saturated accent fill — the blue EDIT button, the armed REC/ON-AIR pills. One rule: a coloured fill carries white ink |
| `primary` (red) | `#ff5451` | **On-air / recording only** — LIVE badge, program border, End/Go Live |
| `primary-container` | `#b91a24` | Red pressed/hover state |
| `secondary` (amber) | `#ffb95f` | Game audio channel, Super Chat highlight |
diff --git a/Themes/Controls.xaml b/Themes/Controls.xaml
index 75dc73f..ee70aa7 100644
--- a/Themes/Controls.xaml
+++ b/Themes/Controls.xaml
@@ -770,7 +770,7 @@
-
+
diff --git a/Themes/Tokens.xaml b/Themes/Tokens.xaml
index e76c7e4..67a1163 100644
--- a/Themes/Tokens.xaml
+++ b/Themes/Tokens.xaml
@@ -34,6 +34,7 @@
+
diff --git a/ytLive.Tests/UiShellTests.cs b/ytLive.Tests/UiShellTests.cs
index b11dda7..829f736 100644
--- a/ytLive.Tests/UiShellTests.cs
+++ b/ytLive.Tests/UiShellTests.cs
@@ -30,7 +30,7 @@ public class UiShellTests
// 2. EDIT: resting face differs from the armed face, and the label follows it.
Assert.Contains("x:Name=\"EditBody\" Background=\"{StaticResource Brush.SurfaceContainerHigh}\"", topBar);
Assert.Contains("", topBar);
- Assert.Contains("", topBar);
+ Assert.Contains("", topBar);
// 3. Active scene = orange; live stays red.
Assert.Contains("IsStaged}\" Value=\"True\">\n ", strip);