commit 7ab05e584d454cd174802239e0a19b6198c511b8
parent d09bbf957567a49a33a36d468a4c05d2c65b30b4
Author: triesap <triesap@radroots.dev>
Date: Thu, 22 Jan 2026 22:49:24 +0000
ui: align tokens with data-theme
- add explicit os_dark and os_light token blocks
- gate system dark tokens when light theme is forced
- mirror light palette into explicit data-theme override
- keep token overrides scoped to root
Diffstat:
1 file changed, 47 insertions(+), 1 deletion(-)
diff --git a/crates/ui-tokens/assets/tokens.css b/crates/ui-tokens/assets/tokens.css
@@ -73,7 +73,7 @@
}
@media (prefers-color-scheme: dark) {
- :root {
+ :root:not([data-theme="os_light"]) {
--bg-app: #000000;
--bg-grouped: #1c1c1e;
--bg-elevated: #2c2c2e;
@@ -95,6 +95,52 @@
}
}
+:root[data-theme="os_dark"] {
+ --bg-app: #000000;
+ --bg-grouped: #1c1c1e;
+ --bg-elevated: #2c2c2e;
+
+ --text-primary: #f5f5f7;
+ --text-secondary: #a1a1a6;
+ --text-tertiary: #6e6e73;
+
+ --separator: rgba(84, 84, 88, 0.65);
+ --stroke: rgba(84, 84, 88, 0.35);
+
+ --accent: #0a84ff;
+ --accent-contrast: #ffffff;
+
+ --material-thin: rgba(44, 44, 46, 0.5);
+ --material-regular: rgba(44, 44, 46, 0.72);
+ --material-thick: rgba(44, 44, 46, 0.85);
+ --material-chrome: rgba(28, 28, 30, 0.9);
+}
+
+:root[data-theme="os_light"] {
+ --bg-app: #f2f2f7;
+ --bg-grouped: #f2f2f7;
+ --bg-elevated: #ffffff;
+
+ --text-primary: #111111;
+ --text-secondary: #3c3c43;
+ --text-tertiary: #6e6e73;
+
+ --separator: rgba(60, 60, 67, 0.29);
+ --stroke: rgba(60, 60, 67, 0.18);
+
+ --accent: #007aff;
+ --accent-contrast: #ffffff;
+
+ --destructive: #ff3b30;
+ --warning: #ff9500;
+ --success: #34c759;
+
+ --material-thin: rgba(255, 255, 255, 0.55);
+ --material-regular: rgba(255, 255, 255, 0.72);
+ --material-thick: rgba(255, 255, 255, 0.85);
+ --material-chrome: rgba(242, 242, 247, 0.9);
+}
+
@media (prefers-reduced-motion: reduce) {
:root {
--dur-1: 1ms;