zabi-components 5.0.22 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +139 -1478
  2. package/THEME.md +473 -0
  3. package/THEMING.md +248 -0
  4. package/dist/atoms/ActionPanel.svelte +116 -0
  5. package/dist/atoms/ActionPanel.svelte.d.ts +19 -0
  6. package/dist/atoms/Badge.svelte +1 -1
  7. package/dist/atoms/Badge.svelte.d.ts +1 -1
  8. package/dist/atoms/Button.svelte +35 -16
  9. package/dist/atoms/Button.svelte.d.ts +3 -1
  10. package/dist/atoms/Card.svelte +49 -67
  11. package/dist/atoms/Card.svelte.d.ts +4 -4
  12. package/dist/atoms/CardHeader.svelte +15 -2
  13. package/dist/atoms/CardHeader.svelte.d.ts +5 -0
  14. package/dist/atoms/Checkbox.svelte +50 -76
  15. package/dist/atoms/Checkbox.svelte.d.ts +7 -2
  16. package/dist/atoms/CodeBlock.svelte +20 -34
  17. package/dist/atoms/CodeBlock.svelte.d.ts +1 -0
  18. package/dist/atoms/ColorPicker.svelte +3 -7
  19. package/dist/atoms/Container.svelte +41 -0
  20. package/dist/atoms/Container.svelte.d.ts +12 -0
  21. package/dist/atoms/Divider.svelte +68 -0
  22. package/dist/atoms/Divider.svelte.d.ts +13 -0
  23. package/dist/atoms/FeatureCard.svelte +35 -50
  24. package/dist/atoms/FeatureCard.svelte.d.ts +9 -4
  25. package/dist/atoms/IconButton.svelte +33 -24
  26. package/dist/atoms/IconButton.svelte.d.ts +4 -8
  27. package/dist/atoms/Input.svelte +58 -26
  28. package/dist/atoms/Input.svelte.d.ts +6 -1
  29. package/dist/atoms/List.svelte +2 -7
  30. package/dist/atoms/List.svelte.d.ts +1 -6
  31. package/dist/atoms/ListItem.svelte +54 -65
  32. package/dist/atoms/ListItem.svelte.d.ts +7 -13
  33. package/dist/atoms/ListItemLeading.svelte +19 -0
  34. package/dist/atoms/ListItemLeading.svelte.d.ts +9 -0
  35. package/dist/atoms/Progress.svelte +2 -2
  36. package/dist/atoms/Radio.svelte +51 -0
  37. package/dist/atoms/Radio.svelte.d.ts +14 -0
  38. package/dist/atoms/Select.svelte +28 -33
  39. package/dist/atoms/Select.svelte.d.ts +0 -10
  40. package/dist/atoms/SelectionControl.svelte +98 -0
  41. package/dist/atoms/SelectionControl.svelte.d.ts +26 -0
  42. package/dist/atoms/Skeleton.svelte +39 -15
  43. package/dist/atoms/Skeleton.svelte.d.ts +7 -3
  44. package/dist/atoms/Table.svelte +27 -0
  45. package/dist/atoms/Table.svelte.d.ts +10 -0
  46. package/dist/atoms/Text.svelte +46 -0
  47. package/dist/atoms/Text.svelte.d.ts +13 -0
  48. package/dist/atoms/Textarea.svelte +74 -53
  49. package/dist/atoms/Textarea.svelte.d.ts +6 -2
  50. package/dist/atoms/ThemeToggle.svelte +35 -24
  51. package/dist/atoms/ThemeToggle.svelte.d.ts +1 -0
  52. package/dist/atoms/Toast.svelte +55 -31
  53. package/dist/atoms/Toast.svelte.d.ts +4 -1
  54. package/dist/atoms/Toggle.svelte +37 -22
  55. package/dist/atoms/Toggle.svelte.d.ts +2 -1
  56. package/dist/atoms/Tooltip.svelte +90 -11
  57. package/dist/atoms/index.d.ts +6 -0
  58. package/dist/atoms/index.js +6 -0
  59. package/dist/atoms/selection-control.styles.d.ts +25 -0
  60. package/dist/atoms/selection-control.styles.js +30 -0
  61. package/dist/components/atoms/index.d.ts +6 -0
  62. package/dist/components/atoms/index.d.ts.map +1 -1
  63. package/dist/components/atoms/selection-control.styles.d.ts +26 -0
  64. package/dist/components/atoms/selection-control.styles.d.ts.map +1 -0
  65. package/dist/components/index.d.ts +42 -7
  66. package/dist/components/index.d.ts.map +1 -1
  67. package/dist/components/molecules/index.d.ts +10 -0
  68. package/dist/components/molecules/index.d.ts.map +1 -1
  69. package/dist/components/molecules/navigation-menu-context.d.ts +11 -0
  70. package/dist/components/molecules/navigation-menu-context.d.ts.map +1 -1
  71. package/dist/components/molecules/toast-store.d.ts +39 -0
  72. package/dist/components/molecules/toast-store.d.ts.map +1 -0
  73. package/dist/components/organisms/index.d.ts +3 -3
  74. package/dist/components/organisms/index.d.ts.map +1 -1
  75. package/dist/components/types/page.types.d.ts +69 -0
  76. package/dist/components/types/page.types.d.ts.map +1 -0
  77. package/dist/components/types/page.types.js +1 -0
  78. package/dist/components/types/variants.d.ts +64 -0
  79. package/dist/components/types/variants.d.ts.map +1 -0
  80. package/dist/components/types/variants.js +44 -0
  81. package/dist/components/util/fixed-sidebar-flyout.d.ts +23 -0
  82. package/dist/components/util/fixed-sidebar-flyout.d.ts.map +1 -0
  83. package/dist/components/util/focus-utils.d.ts +12 -0
  84. package/dist/components/util/focus-utils.d.ts.map +1 -0
  85. package/dist/components/util/ssr-safe.d.ts +17 -0
  86. package/dist/components/util/ssr-safe.d.ts.map +1 -0
  87. package/dist/index.d.ts +42 -7
  88. package/dist/index.js +45 -10
  89. package/dist/lib/layout-width-tokens.d.ts +17 -0
  90. package/dist/lib/layout-width-tokens.d.ts.map +1 -0
  91. package/dist/lib/showcase/component-docs/Button.d.ts +3 -0
  92. package/dist/lib/showcase/component-docs/Button.d.ts.map +1 -0
  93. package/dist/lib/showcase/component-docs/Input.d.ts +3 -0
  94. package/dist/lib/showcase/component-docs/Input.d.ts.map +1 -0
  95. package/dist/lib/showcase/component-docs/List.d.ts +3 -0
  96. package/dist/lib/showcase/component-docs/List.d.ts.map +1 -0
  97. package/dist/lib/showcase/component-docs/Modal.d.ts +3 -0
  98. package/dist/lib/showcase/component-docs/Modal.d.ts.map +1 -0
  99. package/dist/lib/showcase/component-docs/Radio.d.ts +3 -0
  100. package/dist/lib/showcase/component-docs/Radio.d.ts.map +1 -0
  101. package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts +3 -0
  102. package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts.map +1 -0
  103. package/dist/lib/showcase/component-docs/Skeleton.d.ts +3 -0
  104. package/dist/lib/showcase/component-docs/Skeleton.d.ts.map +1 -0
  105. package/dist/lib/showcase/component-docs/_shared.d.ts +12 -0
  106. package/dist/lib/showcase/component-docs/_shared.d.ts.map +1 -0
  107. package/dist/lib/showcase/component-docs/index.d.ts +4 -0
  108. package/dist/lib/showcase/component-docs/index.d.ts.map +1 -0
  109. package/dist/lib/showcase/components-catalog.d.ts +3 -0
  110. package/dist/lib/showcase/components-catalog.d.ts.map +1 -0
  111. package/dist/lib/showcase/components-showcase-constants.d.ts +89 -0
  112. package/dist/lib/showcase/components-showcase-constants.d.ts.map +1 -0
  113. package/dist/lib/showcase/docs-sidebar-helpers.d.ts +15 -0
  114. package/dist/lib/showcase/docs-sidebar-helpers.d.ts.map +1 -0
  115. package/dist/molecules/Alert.svelte +50 -23
  116. package/dist/molecules/Alert.svelte.d.ts +1 -1
  117. package/dist/molecules/ComponentDemo.svelte +54 -51
  118. package/dist/molecules/ContactForm.svelte +70 -65
  119. package/dist/molecules/Dropdown.svelte +99 -108
  120. package/dist/molecules/Dropdown.svelte.d.ts +12 -6
  121. package/dist/molecules/EmptyState.svelte +44 -0
  122. package/dist/molecules/EmptyState.svelte.d.ts +11 -0
  123. package/dist/molecules/FormField.svelte +89 -0
  124. package/dist/molecules/FormField.svelte.d.ts +23 -0
  125. package/dist/molecules/Header.svelte +41 -0
  126. package/dist/molecules/Header.svelte.d.ts +10 -0
  127. package/dist/molecules/ImageUpload.svelte +1 -1
  128. package/dist/molecules/Modal.svelte +39 -26
  129. package/dist/molecules/Modal.svelte.d.ts +4 -2
  130. package/dist/molecules/NavigationMenu.svelte +16 -0
  131. package/dist/molecules/NavigationMenu.svelte.d.ts +2 -0
  132. package/dist/molecules/NavigationMenuContent.svelte +9 -1
  133. package/dist/molecules/NavigationMenuLink.svelte +1 -1
  134. package/dist/molecules/NavigationMenuTrigger.svelte +9 -4
  135. package/dist/molecules/Page.svelte +16 -0
  136. package/dist/molecules/Page.svelte.d.ts +8 -0
  137. package/dist/molecules/PropsTable.svelte +61 -0
  138. package/dist/molecules/PropsTable.svelte.d.ts +8 -0
  139. package/dist/molecules/RadioGroup.svelte +197 -0
  140. package/dist/molecules/RadioGroup.svelte.d.ts +20 -0
  141. package/dist/molecules/Section.svelte +14 -23
  142. package/dist/molecules/Section.svelte.d.ts +2 -11
  143. package/dist/molecules/SidebarBrandHeader.svelte +68 -0
  144. package/dist/molecules/SidebarBrandHeader.svelte.d.ts +10 -0
  145. package/dist/molecules/SidebarFooter.svelte +119 -0
  146. package/dist/molecules/SidebarFooter.svelte.d.ts +23 -0
  147. package/dist/molecules/SidebarNavSection.svelte +49 -0
  148. package/dist/molecules/SidebarNavSection.svelte.d.ts +14 -0
  149. package/dist/molecules/SlideUp.svelte +21 -16
  150. package/dist/molecules/SlideUp.svelte.d.ts +1 -1
  151. package/dist/molecules/Tabs.svelte +6 -11
  152. package/dist/molecules/Toaster.svelte +21 -0
  153. package/dist/molecules/Toaster.svelte.d.ts +6 -0
  154. package/dist/molecules/ToasterToast.svelte +217 -0
  155. package/dist/molecules/ToasterToast.svelte.d.ts +7 -0
  156. package/dist/molecules/index.d.ts +10 -0
  157. package/dist/molecules/index.js +10 -0
  158. package/dist/molecules/navigation-menu-context.d.ts +11 -0
  159. package/dist/molecules/navigation-menu-context.js +18 -0
  160. package/dist/molecules/toast-store.d.ts +38 -0
  161. package/dist/molecules/toast-store.js +34 -0
  162. package/dist/organisms/SidebarAccountPanel.svelte +118 -0
  163. package/dist/organisms/SidebarAccountPanel.svelte.d.ts +20 -0
  164. package/dist/organisms/SidebarNavigation.svelte +286 -212
  165. package/dist/organisms/SidebarNavigation.svelte.d.ts +22 -1
  166. package/dist/organisms/{SidebarProjectPanel.svelte → SidebarPanel.svelte} +67 -34
  167. package/dist/organisms/{SidebarProjectPanel.svelte.d.ts → SidebarPanel.svelte.d.ts} +9 -6
  168. package/dist/organisms/TopNavbar.svelte +214 -0
  169. package/dist/organisms/TopNavbar.svelte.d.ts +35 -0
  170. package/dist/organisms/index.d.ts +3 -3
  171. package/dist/organisms/index.js +3 -3
  172. package/dist/routes/lib/focus-utils.d.ts +7 -18
  173. package/dist/routes/lib/focus-utils.ts +32 -34
  174. package/dist/routes/lib/ssr-safe.ts +5 -4
  175. package/dist/routes/lib/variant-utils.ts +48 -39
  176. package/dist/types/components.d.ts +187 -0
  177. package/dist/types/components.d.ts.map +1 -0
  178. package/dist/types/events.d.ts +200 -0
  179. package/dist/types/events.d.ts.map +1 -0
  180. package/dist/types/index.d.ts +171 -0
  181. package/dist/types/index.d.ts.map +1 -0
  182. package/dist/types/page.types.d.ts +3 -0
  183. package/dist/types/page.types.d.ts.map +1 -0
  184. package/dist/types/page.types.js +1 -0
  185. package/dist/types/page.types.ts +79 -0
  186. package/dist/types/variants.d.ts +3 -0
  187. package/dist/types/variants.d.ts.map +1 -0
  188. package/dist/types/variants.js +1 -0
  189. package/dist/types/variants.ts +75 -0
  190. package/dist/util/fixed-sidebar-flyout.d.ts +22 -0
  191. package/dist/util/fixed-sidebar-flyout.js +148 -0
  192. package/dist/util/focus-utils.d.ts +11 -0
  193. package/dist/util/focus-utils.js +94 -0
  194. package/dist/util/ssr-safe.d.ts +16 -0
  195. package/dist/util/ssr-safe.js +48 -0
  196. package/dist/zabi-components-colors.css +360 -324
  197. package/dist/zabi-components-theme-dark-only.css +164 -151
  198. package/dist/zabi-components-theme-dark.css +164 -151
  199. package/dist/zabi-components-theme-only.css +253 -230
  200. package/dist/zabi-components-theme.css +253 -230
  201. package/dist/zabi-components.css +1262 -241
  202. package/docs/theme-imports.md +112 -0
  203. package/package.json +32 -10
  204. package/dist/organisms/Navbar.svelte +0 -92
  205. package/dist/organisms/Navbar.svelte.d.ts +0 -14
  206. package/dist/organisms/Navigation.svelte +0 -119
  207. package/dist/organisms/Navigation.svelte.d.ts +0 -21
@@ -7,395 +7,431 @@
7
7
  ======================================== */
8
8
 
9
9
  :root {
10
+ /*
11
+ * Custom base (gray) ramp — single physical scale for --color-base-*.
12
+ * 21 stops: 50 … 950 (lightest → darkest). Edit hex here; mirror the same block in .dark for standalone imports.
13
+ * Dark: semantic step S maps to physical (1000 − S), e.g. 50↔950, 75↔925; 500 stays fixed.
14
+ * Midpoints are frozen hex values (default mode: fixed).
15
+ */
16
+ --zabi-base-50: #fafafa
17
+ --zabi-base-75: #f7f7f7
18
+ --zabi-base-100: #f4f4f5
19
+ --zabi-base-150: #ececee
20
+ --zabi-base-200: #e4e4e7
21
+ --zabi-base-250: #dcdcdf
22
+ --zabi-base-300: #d4d4d8
23
+ --zabi-base-350: #babac1
24
+ --zabi-base-400: #a1a1aa
25
+ --zabi-base-450: #898992
26
+ --zabi-base-500: #71717a
27
+ --zabi-base-550: #61616a
28
+ --zabi-base-600: #52525b
29
+ --zabi-base-650: #484850
30
+ --zabi-base-700: #3f3f46
31
+ --zabi-base-750: #333338
32
+ --zabi-base-800: #27272a
33
+ --zabi-base-850: #1f1f22
34
+ --zabi-base-900: #18181b
35
+ --zabi-base-925: #101013
36
+ --zabi-base-950: #09090b
10
37
  /* Typography - Nunito Sans font family */
11
- --font-family-sans: 'Nunito Sans', ui-sans-serif, system-ui, sans-serif;
12
-
38
+ --font-family-sans: 'Nunito Sans', ui-sans-serif, system-ui, sans-serif
13
39
  /* Brand Color Scale */
14
- --color-brand-50: #f7faff;
15
- --color-brand-100: #edf2fb;
16
- --color-brand-200: #dfe7fb;
17
- --color-brand-300: #ccdbfd;
18
- --color-brand-400: #abc4ff;
19
- --color-brand-500: #8fa8ff;
20
- --color-brand-600: #6e84fa;
21
- --color-brand-700: #5366e2;
22
- --color-brand-800: #3f4fc0;
23
- --color-brand-900: #2f3c99;
24
- --color-brand-950: #1f2866;
25
-
40
+ --color-brand-50: #f7faff
41
+ --color-brand-100: #edf2fb
42
+ --color-brand-200: #dfe7fb
43
+ --color-brand-300: #ccdbfd
44
+ --color-brand-400: #abc4ff
45
+ --color-brand-500: #8fa8ff
46
+ --color-brand-600: #6e84fa
47
+ --color-brand-700: #5366e2
48
+ --color-brand-800: #3f4fc0
49
+ --color-brand-900: #2f3c99
50
+ --color-brand-950: #1f2866
26
51
  /* Citron Color Scale */
27
- --color-citron-50: #f9faeb;
28
- --color-citron-100: #f1f5cf;
29
- --color-citron-200: #e4ecaa;
30
- --color-citron-300: #d5e184;
31
- --color-citron-400: #c7d460;
32
- --color-citron-500: #bbbe64;
33
- --color-citron-600: #a3a852;
34
- --color-citron-700: #848a43;
35
- --color-citron-800: #666c35;
36
- --color-citron-900: #4d5229;
37
- --color-citron-950: #323518;
38
-
52
+ --color-citron-50: #f9faeb
53
+ --color-citron-100: #f1f5cf
54
+ --color-citron-200: #e4ecaa
55
+ --color-citron-300: #d5e184
56
+ --color-citron-400: #c7d460
57
+ --color-citron-500: #bbbe64
58
+ --color-citron-600: #a3a852
59
+ --color-citron-700: #848a43
60
+ --color-citron-800: #666c35
61
+ --color-citron-900: #4d5229
62
+ --color-citron-950: #323518
39
63
  /* Pine Color Scale */
40
- --color-pine-50: #e9f6f2;
41
- --color-pine-100: #d2ece4;
42
- --color-pine-200: #a7d9c9;
43
- --color-pine-300: #78c4ad;
44
- --color-pine-400: #49ad91;
45
- --color-pine-500: #0C5D43;
46
- --color-pine-600: #0a513a;
47
- --color-pine-700: #084532;
48
- --color-pine-800: #063a2a;
49
- --color-pine-900: #04231a;
50
- --color-pine-950: #02160f;
51
-
64
+ --color-pine-50: #e9f6f2
65
+ --color-pine-100: #d2ece4
66
+ --color-pine-200: #a7d9c9
67
+ --color-pine-300: #78c4ad
68
+ --color-pine-400: #49ad91
69
+ --color-pine-500: #0C5D43
70
+ --color-pine-600: #0a513a
71
+ --color-pine-700: #084532
72
+ --color-pine-800: #063a2a
73
+ --color-pine-900: #04231a
74
+ --color-pine-950: #02160f
52
75
  /* Iris Color Scale */
53
- --color-iris-50: #f4f4fa;
54
- --color-iris-100: #e9e9f7;
55
- --color-iris-200: #d6d6f0;
56
- --color-iris-300: #bdbde6;
57
- --color-iris-400: #a3a3d8;
58
- --color-iris-500: #6969B3;
59
- --color-iris-600: #58589e;
60
- --color-iris-700: #474788;
61
- --color-iris-800: #38386f;
62
- --color-iris-900: #2a2a56;
63
- --color-iris-950: #1b1b37;
64
-
65
- /* Base Color Scale - Maps to neutral palette */
66
- --color-base-50: theme(colors.neutral.50);
67
- --color-base-100: theme(colors.neutral.100);
68
- --color-base-200: theme(colors.neutral.200);
69
- --color-base-300: theme(colors.neutral.300);
70
- --color-base-400: theme(colors.neutral.400);
71
- --color-base-500: theme(colors.neutral.500);
72
- --color-base-600: theme(colors.neutral.600);
73
- --color-base-700: theme(colors.neutral.700);
74
- --color-base-800: theme(colors.neutral.800);
75
- --color-base-900: theme(colors.neutral.900);
76
- --color-base-950: theme(colors.neutral.950);
77
-
78
-
76
+ --color-iris-50: #f4f4fa
77
+ --color-iris-100: #e9e9f7
78
+ --color-iris-200: #d6d6f0
79
+ --color-iris-300: #bdbde6
80
+ --color-iris-400: #a3a3d8
81
+ --color-iris-500: #6969B3
82
+ --color-iris-600: #58589e
83
+ --color-iris-700: #474788
84
+ --color-iris-800: #38386f
85
+ --color-iris-900: #2a2a56
86
+ --color-iris-950: #1b1b37
87
+ /* Base Color Scale — semantic tokens alias the physical ramp (light: 1:1) */
88
+ --color-base-50: var(--zabi-base-50)
89
+ --color-base-75: var(--zabi-base-75)
90
+ --color-base-100: var(--zabi-base-100)
91
+ --color-base-150: var(--zabi-base-150)
92
+ --color-base-200: var(--zabi-base-200)
93
+ --color-base-250: var(--zabi-base-250)
94
+ --color-base-300: var(--zabi-base-300)
95
+ --color-base-350: var(--zabi-base-350)
96
+ --color-base-400: var(--zabi-base-400)
97
+ --color-base-450: var(--zabi-base-450)
98
+ --color-base-500: var(--zabi-base-500)
99
+ --color-base-550: var(--zabi-base-550)
100
+ --color-base-600: var(--zabi-base-600)
101
+ --color-base-650: var(--zabi-base-650)
102
+ --color-base-700: var(--zabi-base-700)
103
+ --color-base-750: var(--zabi-base-750)
104
+ --color-base-800: var(--zabi-base-800)
105
+ --color-base-850: var(--zabi-base-850)
106
+ --color-base-900: var(--zabi-base-900)
107
+ --color-base-925: var(--zabi-base-925)
108
+ --color-base-950: var(--zabi-base-950)
79
109
  /* Background Colors */
80
- --color-background: var(--color-base-100);
81
- --color-background-secondary: var(--color-base-50);
82
- --color-background-tertiary: var(--color-base-100);
83
-
110
+ --color-background: var(--color-base-100)
111
+ --color-background-secondary: var(--color-base-50)
112
+ --color-background-tertiary: var(--color-base-100)
84
113
  /* Page Colors */
85
- --color-page: var(--color-base-100);
86
- --color-page-secondary: var(--color-base-200);
87
-
114
+ --color-page: var(--color-base-100)
115
+ --color-page-secondary: var(--color-base-200)
88
116
  /* Card Colors */
89
- --color-card: theme(colors.white);
90
- --color-card-hover: var(--color-base-100);
91
- --color-card-active: var(--color-base-100);
92
- --color-card-elevated: theme(colors.white);
93
-
117
+ --color-card: theme(colors.white)
118
+ --color-card-hover: var(--color-base-100)
119
+ --color-card-active: var(--color-base-100)
120
+ --color-card-elevated: theme(colors.white)
121
+ /* Surfaces — layered UI (ascending number = higher layer / more contrast against page) */
122
+ --color-surface-1: theme(colors.white)
123
+ --color-surface-2: var(--color-base-50)
124
+ --color-surface-3: var(--color-base-75)
125
+ --color-surface-4: var(--color-base-100)
94
126
  /* Overlay Colors */
95
- --color-overlay: rgba(0, 0, 0, 0.5);
96
-
127
+ --color-overlay: rgba(0, 0, 0, 0.5)
97
128
  /* Input Colors */
98
- --color-input: var(--color-base-200);
99
- --color-input-hover: var(--color-base-100);
100
- --color-input-focus: var(--color-base-100);
101
- --color-input-disabled: var(--color-base-100);
102
-
129
+ --color-input: var(--color-base-250)
130
+ --color-input-border: var(--color-base-350)
131
+ --color-input-hover: var(--color-base-300)
132
+ --color-input-focus: var(--color-base-300)
133
+ --color-input-disabled: var(--color-base-100)
103
134
  /* Text Colors */
104
- --color-headline: var(--color-base-900);
105
- --color-body: var(--color-base-800);
106
- --color-description: var(--color-base-600);
107
- --color-caption: var(--color-base-500);
108
- --color-input-placeholder: var(--color-base-400);
109
- --color-label: var(--color-base-700);
110
- --color-link: theme(colors.brand.600);
111
- --color-link-hover: theme(colors.brand.700);
112
- --color-success-text: var(--color-success);
113
- --color-warning-text: theme(colors.amber.700);
114
- --color-neutral-text: var(--color-base-700);
115
- --color-energetic-text: theme(colors.citron.700);
116
- --color-error-text: theme(colors.red.700);
117
- --color-inverse: theme(colors.white);
118
- --color-disabled: var(--color-base-400);
119
-
135
+ --color-headline: var(--color-base-900)
136
+ --color-body: var(--color-base-800)
137
+ --color-description: var(--color-base-600)
138
+ --color-caption: var(--color-base-500)
139
+ --color-input-placeholder: var(--color-base-400)
140
+ --color-label: var(--color-base-700)
141
+ --color-link: theme(colors.brand.600)
142
+ --color-link-hover: theme(colors.brand.700)
143
+ /* Navigation menu item — menubar triggers, menu links, inline/sidebar nav rows */
144
+ --color-nav-menu-item: var(--color-body)
145
+ --color-nav-menu-item-hover: var(--color-headline)
146
+ --color-nav-menu-item-active: var(--color-link)
147
+ --color-nav-menu-hover: var(--color-base-100)
148
+ --color-nav-menu-active: var(--color-action-primary-subtle)
149
+ --color-nav-menu-focus: var(--color-brand-500)
150
+ --color-success-text: var(--color-success)
151
+ --color-warning-text: theme(colors.amber.700)
152
+ --color-neutral-text: var(--color-base-700)
153
+ --color-energetic-text: theme(colors.citron.700)
154
+ --color-error-text: theme(colors.red.700)
155
+ --color-inverse: theme(colors.white)
156
+ --color-disabled: var(--color-base-400)
120
157
  /* Border Colors */
121
- --color-border: var(--color-base-200);
122
- --color-border-weak: var(--color-base-300);
123
- --color-border-medium: var(--color-base-400);
124
- --color-border-strong: var(--color-base-500);
125
-
158
+ --color-border: var(--color-base-300)
159
+ --color-border-weak: var(--color-base-300)
160
+ --color-border-medium: var(--color-base-400)
161
+ --color-border-strong: var(--color-base-500)
126
162
  /* Focus Colors */
127
- --color-focus: theme(colors.brand.500);
128
- --color-focus-weak: theme(colors.brand.600);
129
- --color-focus-medium: theme(colors.brand.700);
130
- --color-focus-strong: theme(colors.brand.800);
131
-
163
+ --color-focus: theme(colors.brand.500)
164
+ --color-focus-weak: theme(colors.brand.600)
165
+ --color-focus-medium: theme(colors.brand.700)
166
+ --color-focus-strong: theme(colors.brand.800)
167
+ /* Aliases for `ring-focus-ring`, `.focus-ring`, and form utils */
168
+ --color-focus-ring: var(--color-focus)
169
+ --color-focus-ring-offset: var(--color-card)
132
170
  /* Primary Colors */
133
- --color-primary: theme(colors.brand.600);
134
- --color-primary-weak: theme(colors.brand.700);
135
- --color-primary-medium: theme(colors.brand.800);
136
- --color-primary-strong: theme(colors.brand.900);
137
-
171
+ --color-primary: theme(colors.brand.600)
172
+ --color-primary-weak: theme(colors.brand.700)
173
+ --color-primary-medium: theme(colors.brand.800)
174
+ --color-primary-strong: theme(colors.brand.900)
138
175
  /* Secondary Colors */
139
- --color-secondary: var(--color-base-600);
140
- --color-secondary-weak: var(--color-base-700);
141
- --color-secondary-medium: var(--color-base-800);
142
- --color-secondary-strong: var(--color-base-900);
143
-
176
+ --color-secondary: var(--color-base-600)
177
+ --color-secondary-weak: var(--color-base-700)
178
+ --color-secondary-medium: var(--color-base-800)
179
+ --color-secondary-strong: var(--color-base-900)
144
180
  /* Success Colors */
145
- --color-success: theme(colors.pine.600);
146
- --color-success-weak: theme(colors.pine.700);
147
- --color-success-medium: theme(colors.pine.800);
148
- --color-success-strong: theme(colors.pine.900);
149
-
181
+ --color-success: theme(colors.pine.600)
182
+ --color-success-weak: theme(colors.pine.700)
183
+ --color-success-medium: theme(colors.pine.800)
184
+ --color-success-strong: theme(colors.pine.900)
150
185
  /* Warning Colors */
151
- --color-warning: theme(colors.amber.500);
152
- --color-warning-weak: theme(colors.amber.600);
153
- --color-warning-medium: theme(colors.amber.400);
154
- --color-warning-strong: theme(colors.amber.300);
155
-
186
+ --color-warning: theme(colors.amber.500)
187
+ --color-warning-weak: theme(colors.amber.600)
188
+ --color-warning-medium: theme(colors.amber.400)
189
+ --color-warning-strong: theme(colors.amber.300)
156
190
  /* Error Colors */
157
- --color-error: theme(colors.red.500);
158
- --color-error-weak: theme(colors.red.600);
159
- --color-error-medium: theme(colors.red.400);
160
- --color-error-strong: theme(colors.red.300);
161
-
191
+ --color-error: theme(colors.red.500)
192
+ --color-error-weak: theme(colors.red.600)
193
+ --color-error-medium: theme(colors.red.400)
194
+ --color-error-strong: theme(colors.red.300)
162
195
  /* Energetic Colors (Citron) */
163
- --color-energetic: theme(colors.citron.500);
164
- --color-energetic-weak: theme(colors.citron.600);
165
- --color-energetic-medium: theme(colors.citron.400);
166
- --color-energetic-strong: theme(colors.citron.300);
167
-
196
+ --color-energetic: theme(colors.citron.500)
197
+ --color-energetic-weak: theme(colors.citron.600)
198
+ --color-energetic-medium: theme(colors.citron.400)
199
+ --color-energetic-strong: theme(colors.citron.300)
168
200
  /* Neutral Colors */
169
- --color-neutral: var(--color-base-600);
170
- --color-neutral-weak: var(--color-base-700);
171
- --color-neutral-medium: var(--color-base-800);
172
- --color-neutral-strong: var(--color-base-900);
173
-
201
+ --color-neutral: var(--color-base-600)
202
+ --color-neutral-weak: var(--color-base-700)
203
+ --color-neutral-medium: var(--color-base-800)
204
+ --color-neutral-strong: var(--color-base-900)
174
205
  /* Info Colors */
175
- --color-info: theme(colors.iris.600);
176
- --color-info-weak: theme(colors.iris.700);
177
- --color-info-medium: theme(colors.iris.800);
178
- --color-info-strong: theme(colors.iris.900);
206
+ --color-info: theme(colors.iris.600)
207
+ --color-info-weak: theme(colors.iris.700)
208
+ --color-info-medium: theme(colors.iris.800)
209
+ --color-info-strong: theme(colors.iris.900)
179
210
  /* Text alias */
180
- --color-info-text: var(--color-info);
181
-
211
+ --color-info-text: var(--color-info)
182
212
  /* ========================================
183
213
  ACTION COLORS - For interactive elements (buttons, links, etc.)
184
214
  ======================================== */
185
-
186
215
  /* Primary Actions - Used by bg-action-primary utility class */
187
216
  /* 🎯 TO CHANGE bg-action-primary COLOR: Edit the values below */
188
- --color-action-primary: var(--color-brand-950);
189
- --color-action-primary-hover: var(--color-brand-900);
190
- --color-action-primary-active: var(--color-brand-400);
191
- --color-action-primary-disabled: var(--color-brand-500);
192
- --color-action-primary-subtle: var(--color-brand-100);
193
- --color-action-primary-subtle-hover: var(--color-brand-200);
194
- --color-action-primary-text: var(--color-brand-50);
195
-
217
+ --color-action-primary: var(--color-brand-950)
218
+ --color-action-primary-hover: var(--color-brand-900)
219
+ --color-action-primary-active: var(--color-brand-400)
220
+ --color-action-primary-disabled: var(--color-brand-500)
221
+ --color-action-primary-subtle: var(--color-brand-100)
222
+ --color-action-primary-subtle-hover: var(--color-brand-200)
223
+ --color-action-primary-text: var(--color-brand-50)
196
224
  /* Secondary Actions - Used by bg-action-secondary utility class */
197
- --color-action-secondary: color-mix(in srgb, var(--color-brand-800) 10%, transparent);
198
- --color-action-secondary-hover: color-mix(in srgb, var(--color-brand-800) 20%, transparent);
199
- --color-action-secondary-active: var(--color-brand-400);
200
- --color-action-secondary-disabled: var(--color-brand-500);
201
- --color-action-secondary-subtle: var(--color-brand-600);
202
- --color-action-secondary-subtle-hover: var(--color-brand-700);
203
-
225
+ --color-action-secondary: color-mix(in srgb, var(--color-brand-800) 10%, transparent)
226
+ --color-action-secondary-hover: color-mix(in srgb, var(--color-brand-800) 20%, transparent)
227
+ --color-action-secondary-active: var(--color-brand-400)
228
+ --color-action-secondary-disabled: var(--color-brand-500)
229
+ --color-action-secondary-subtle: var(--color-brand-600)
230
+ --color-action-secondary-subtle-hover: var(--color-brand-700)
204
231
  /* Danger Actions - Used by bg-action-danger utility class */
205
- --color-action-danger: theme(colors.red.600);
206
- --color-action-danger-hover: theme(colors.red.700);
207
- --color-action-danger-active: theme(colors.red.800);
208
- --color-action-danger-disabled: theme(colors.red.300);
209
- --color-action-danger-subtle: theme(colors.red.50);
210
- --color-action-danger-subtle-hover: theme(colors.red.100);
211
-
232
+ --color-action-danger: theme(colors.red.600)
233
+ --color-action-danger-hover: theme(colors.red.700)
234
+ --color-action-danger-active: theme(colors.red.800)
235
+ --color-action-danger-disabled: theme(colors.red.300)
236
+ --color-action-danger-subtle: theme(colors.red.50)
237
+ --color-action-danger-subtle-hover: theme(colors.red.100)
212
238
  /* Shadow Colors */
213
- --shadow-color: 0 0 0;
214
- --shadow-opacity: 0.1;
215
- --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));
216
- --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));
217
- --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));
218
- --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));
219
-
239
+ --shadow-color: 0 0 0
240
+ --shadow-opacity: 0.1
241
+ --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity))
242
+ --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity))
243
+ --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity))
244
+ --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity))
220
245
  /* Spacing */
221
- --spacing-xs: 0.25rem;
222
- --spacing-sm: 0.5rem;
223
- --spacing-md: 1rem;
224
- --spacing-lg: 1.5rem;
225
- --spacing-xl: 2rem;
226
- --spacing-2xl: 3rem;
227
-
246
+ --spacing-xs: 0.25rem
247
+ --spacing-sm: 0.5rem
248
+ --spacing-md: 1rem
249
+ --spacing-lg: 1.5rem
250
+ --spacing-xl: 2rem
251
+ --spacing-2xl: 3rem
228
252
  /* Border Radius */
229
- --radius-sm: 0.25rem;
230
- --radius-md: 0.375rem;
231
- --radius-lg: 0.5rem;
232
- --radius-xl: 0.75rem;
233
-
253
+ --radius-sm: 0.25rem
254
+ --radius-md: 0.375rem
255
+ --radius-lg: 0.5rem
256
+ --radius-xl: 0.75rem
234
257
  /* Z-index */
235
- --z-dropdown: 1000;
236
- --z-sticky: 1020;
237
- --z-fixed: 1030;
238
- --z-modal-backdrop: 1040;
239
- --z-modal: 1050;
240
- --z-popover: 1060;
241
- --z-tooltip: 1070;
242
- --z-toast: 1080;
258
+ --z-dropdown: 1000
259
+ --z-sticky: 1020
260
+ --z-fixed: 1030
261
+ --z-modal-backdrop: 1040
262
+ --z-modal: 1050
263
+ --z-popover: 1060
264
+ --z-tooltip: 1070
265
+ --z-toast: 1080
243
266
  }
244
267
 
245
268
  /* Dark Mode */
246
269
  .dark {
270
+ /* Mirror @theme --zabi-base-* ramp (same physical hex; required for standalone dark import) */
271
+ --zabi-base-50: #fafafa
272
+ --zabi-base-75: #f7f7f7
273
+ --zabi-base-100: #f4f4f5
274
+ --zabi-base-150: #ececee
275
+ --zabi-base-200: #e4e4e7
276
+ --zabi-base-250: #dcdcdf
277
+ --zabi-base-300: #d4d4d8
278
+ --zabi-base-350: #babac1
279
+ --zabi-base-400: #a1a1aa
280
+ --zabi-base-450: #898992
281
+ --zabi-base-500: #71717a
282
+ --zabi-base-550: #61616a
283
+ --zabi-base-600: #52525b
284
+ --zabi-base-650: #484850
285
+ --zabi-base-700: #3f3f46
286
+ --zabi-base-750: #333338
287
+ --zabi-base-800: #27272a
288
+ --zabi-base-850: #1f1f22
289
+ --zabi-base-900: #18181b
290
+ --zabi-base-925: #101013
291
+ --zabi-base-950: #09090b
247
292
  /* Brand Color Scale - Dark mode variants */
248
- --color-brand-50: theme(colors.brand.950);
249
- --color-brand-100: theme(colors.brand.900);
250
- --color-brand-200: theme(colors.brand.800);
251
- --color-brand-300: theme(colors.brand.700);
252
- --color-brand-400: theme(colors.brand.600);
253
- --color-brand-500: theme(colors.brand.500);
254
- --color-brand-600: theme(colors.brand.400);
255
- --color-brand-700: theme(colors.brand.300);
256
- --color-brand-800: theme(colors.brand.200);
257
- --color-brand-900: theme(colors.brand.100);
258
- --color-brand-950: theme(colors.brand.50);
259
-
293
+ --color-brand-50: theme(colors.brand.950)
294
+ --color-brand-100: theme(colors.brand.900)
295
+ --color-brand-200: theme(colors.brand.800)
296
+ --color-brand-300: theme(colors.brand.700)
297
+ --color-brand-400: theme(colors.brand.600)
298
+ --color-brand-500: theme(colors.brand.500)
299
+ --color-brand-600: theme(colors.brand.400)
300
+ --color-brand-700: theme(colors.brand.300)
301
+ --color-brand-800: theme(colors.brand.200)
302
+ --color-brand-900: theme(colors.brand.100)
303
+ --color-brand-950: theme(colors.brand.50)
260
304
  /* Citron Color Scale - Dark mode variants */
261
- --color-citron-50: theme(colors.citron.950);
262
- --color-citron-100: theme(colors.citron.900);
263
- --color-citron-200: theme(colors.citron.800);
264
- --color-citron-300: theme(colors.citron.700);
265
- --color-citron-400: theme(colors.citron.600);
266
- --color-citron-500: theme(colors.citron.500);
267
- --color-citron-600: theme(colors.citron.400);
268
- --color-citron-700: theme(colors.citron.300);
269
- --color-citron-800: theme(colors.citron.200);
270
- --color-citron-900: theme(colors.citron.100);
271
- --color-citron-950: theme(colors.citron.50);
272
-
305
+ --color-citron-50: theme(colors.citron.950)
306
+ --color-citron-100: theme(colors.citron.900)
307
+ --color-citron-200: theme(colors.citron.800)
308
+ --color-citron-300: theme(colors.citron.700)
309
+ --color-citron-400: theme(colors.citron.600)
310
+ --color-citron-500: theme(colors.citron.500)
311
+ --color-citron-600: theme(colors.citron.400)
312
+ --color-citron-700: theme(colors.citron.300)
313
+ --color-citron-800: theme(colors.citron.200)
314
+ --color-citron-900: theme(colors.citron.100)
315
+ --color-citron-950: theme(colors.citron.50)
273
316
  /* Pine Color Scale - Dark mode variants */
274
- --color-pine-50: theme(colors.pine.950);
275
- --color-pine-100: theme(colors.pine.900);
276
- --color-pine-200: theme(colors.pine.800);
277
- --color-pine-300: theme(colors.pine.700);
278
- --color-pine-400: theme(colors.pine.600);
279
- --color-pine-500: theme(colors.pine.500);
280
- --color-pine-600: theme(colors.pine.400);
281
- --color-pine-700: theme(colors.pine.300);
282
- --color-pine-800: theme(colors.pine.200);
283
- --color-pine-900: theme(colors.pine.100);
284
- --color-pine-950: theme(colors.pine.50);
285
-
317
+ --color-pine-50: theme(colors.pine.950)
318
+ --color-pine-100: theme(colors.pine.900)
319
+ --color-pine-200: theme(colors.pine.800)
320
+ --color-pine-300: theme(colors.pine.700)
321
+ --color-pine-400: theme(colors.pine.600)
322
+ --color-pine-500: theme(colors.pine.500)
323
+ --color-pine-600: theme(colors.pine.400)
324
+ --color-pine-700: theme(colors.pine.300)
325
+ --color-pine-800: theme(colors.pine.200)
326
+ --color-pine-900: theme(colors.pine.100)
327
+ --color-pine-950: theme(colors.pine.50)
286
328
  /* Iris Color Scale - Dark mode variants */
287
- --color-iris-50: theme(colors.iris.950);
288
- --color-iris-100: theme(colors.iris.900);
289
- --color-iris-200: theme(colors.iris.800);
290
- --color-iris-300: theme(colors.iris.700);
291
- --color-iris-400: theme(colors.iris.600);
292
- --color-iris-500: theme(colors.iris.500);
293
- --color-iris-600: theme(colors.iris.400);
294
- --color-iris-700: theme(colors.iris.300);
295
- --color-iris-800: theme(colors.iris.200);
296
- --color-iris-900: theme(colors.iris.100);
297
- --color-iris-950: theme(colors.iris.50);
298
-
299
- /* Base Color Scale - Dark mode variants (inverted neutral palette) */
300
- --color-base-50: theme(colors.neutral.950);
301
- --color-base-100: theme(colors.neutral.900);
302
- --color-base-200: theme(colors.neutral.800);
303
- --color-base-300: theme(colors.neutral.700);
304
- --color-base-400: theme(colors.neutral.600);
305
- --color-base-500: theme(colors.neutral.500);
306
- --color-base-600: theme(colors.neutral.400);
307
- --color-base-700: theme(colors.neutral.300);
308
- --color-base-800: theme(colors.neutral.200);
309
- --color-base-900: theme(colors.neutral.100);
310
- --color-base-950: theme(colors.neutral.50);
311
-
329
+ --color-iris-50: theme(colors.iris.950)
330
+ --color-iris-100: theme(colors.iris.900)
331
+ --color-iris-200: theme(colors.iris.800)
332
+ --color-iris-300: theme(colors.iris.700)
333
+ --color-iris-400: theme(colors.iris.600)
334
+ --color-iris-500: theme(colors.iris.500)
335
+ --color-iris-600: theme(colors.iris.400)
336
+ --color-iris-700: theme(colors.iris.300)
337
+ --color-iris-800: theme(colors.iris.200)
338
+ --color-iris-900: theme(colors.iris.100)
339
+ --color-iris-950: theme(colors.iris.50)
340
+ /* Base Color Scale — semantic → physical mirror (1000 − step); 500 is fixed point */
341
+ --color-base-50: #09090b
342
+ --color-base-75: #101013
343
+ --color-base-100: #18181b
344
+ --color-base-150: #1f1f22
345
+ --color-base-200: #27272a
346
+ --color-base-250: #333338
347
+ --color-base-300: #3f3f46
348
+ --color-base-350: #484850
349
+ --color-base-400: #52525b
350
+ --color-base-450: #61616a
351
+ --color-base-500: #71717a
352
+ --color-base-550: #898992
353
+ --color-base-600: #a1a1aa
354
+ --color-base-650: #babac1
355
+ --color-base-700: #d4d4d8
356
+ --color-base-750: #dcdcdf
357
+ --color-base-800: #e4e4e7
358
+ --color-base-850: #ececee
359
+ --color-base-900: #f4f4f5
360
+ --color-base-925: #f7f7f7
361
+ --color-base-950: #fafafa
312
362
  /* Background Colors - No dark mode overrides needed, base colors are already inverted */
313
-
314
363
  /* Page Colors - No dark mode overrides needed, base colors are already inverted */
315
-
316
364
  /* Card Colors */
317
- --color-card: var(--color-base-200);
318
- --color-card-hover: var(--color-base-300);
319
- --color-card-active: var(--color-base-400);
320
- --color-card-elevated: var(--color-base-200);
321
-
365
+ --color-card: var(--color-base-200)
366
+ --color-card-hover: var(--color-base-300)
367
+ --color-card-active: var(--color-base-400)
368
+ --color-card-elevated: var(--color-base-200)
369
+ /* Surfaces — layered UI (each step is lighter than the previous to read as "elevated") */
370
+ --color-surface-1: var(--color-base-250)
371
+ --color-surface-2: var(--color-base-300)
372
+ --color-surface-3: var(--color-base-350)
373
+ --color-surface-4: var(--color-base-400)
322
374
  /* Overlay Colors */
323
- --color-overlay: rgba(0, 0, 0, 0.7);
324
-
375
+ --color-overlay: rgba(0, 0, 0, 0.7)
325
376
  /* Input Colors */
326
- --color-input: var(--color-base-300);
327
- --color-input-hover: var(--color-base-400);
328
- --color-input-focus: var(--color-base-300);
329
- --color-input-disabled: var(--color-base-400);
330
-
377
+ --color-input: var(--color-base-250)
378
+ --color-input-border: var(--color-base-350)
379
+ --color-input-hover: var(--color-base-300)
380
+ --color-input-focus: var(--color-base-300)
381
+ --color-input-disabled: var(--color-base-300)
331
382
  /* Text Colors - No dark mode overrides needed, base colors are already inverted */
332
-
333
383
  /* Border Colors - No dark mode overrides needed, base colors are already inverted */
334
-
335
384
  /* Focus Colors - No dark mode overrides needed, brand colors are already inverted */
336
-
337
385
  /* Primary Colors - No dark mode overrides needed, brand colors are already inverted */
338
-
339
386
  /* Secondary Colors - No dark mode overrides needed, base colors are already inverted */
340
-
341
387
  /* Success Colors */
342
- --color-success: theme(colors.pine.400);
343
- --color-success-weak: theme(colors.pine.500);
344
- --color-success-medium: theme(colors.pine.300);
345
- --color-success-strong: theme(colors.pine.200);
346
-
388
+ --color-success: theme(colors.pine.400)
389
+ --color-success-weak: theme(colors.pine.500)
390
+ --color-success-medium: theme(colors.pine.300)
391
+ --color-success-strong: theme(colors.pine.200)
347
392
  /* Warning Colors */
348
- --color-warning: theme(colors.amber.500);
349
- --color-warning-weak: theme(colors.amber.600);
350
- --color-warning-medium: theme(colors.amber.400);
351
- --color-warning-strong: theme(colors.amber.300);
352
-
393
+ --color-warning: theme(colors.amber.500)
394
+ --color-warning-weak: theme(colors.amber.600)
395
+ --color-warning-medium: theme(colors.amber.400)
396
+ --color-warning-strong: theme(colors.amber.300)
353
397
  /* Error Colors */
354
- --color-error: theme(colors.red.500);
355
- --color-error-weak: theme(colors.red.600);
356
- --color-error-medium: theme(colors.red.400);
357
- --color-error-strong: theme(colors.red.300);
358
-
398
+ --color-error: theme(colors.red.500)
399
+ --color-error-weak: theme(colors.red.600)
400
+ --color-error-medium: theme(colors.red.400)
401
+ --color-error-strong: theme(colors.red.300)
359
402
  /* Energetic Colors (Citron) */
360
- --color-energetic: theme(colors.citron.400);
361
- --color-energetic-weak: theme(colors.citron.500);
362
- --color-energetic-medium: theme(colors.citron.300);
363
- --color-energetic-strong: theme(colors.citron.200);
364
-
403
+ --color-energetic: theme(colors.citron.400)
404
+ --color-energetic-weak: theme(colors.citron.500)
405
+ --color-energetic-medium: theme(colors.citron.300)
406
+ --color-energetic-strong: theme(colors.citron.200)
365
407
  /* Neutral Colors - No dark mode overrides needed, base colors are already inverted */
366
-
367
408
  /* Info Colors */
368
- --color-info: theme(colors.iris.500);
369
- --color-info-weak: theme(colors.iris.600);
370
- --color-info-active: theme(colors.iris.400);
371
- --color-info-medium: theme(colors.iris.400);
372
- --color-info-strong: theme(colors.iris.300);
409
+ --color-info: theme(colors.iris.500)
410
+ --color-info-weak: theme(colors.iris.600)
411
+ --color-info-active: theme(colors.iris.400)
412
+ --color-info-medium: theme(colors.iris.400)
413
+ --color-info-strong: theme(colors.iris.300)
373
414
  /* Text alias */
374
- --color-info-text: var(--color-info);
375
-
415
+ --color-info-text: var(--color-info)
376
416
  /* ========================================
377
417
  ACTION COLORS - Dark Mode Overrides
378
418
  ======================================== */
379
-
380
419
  /* Primary Actions - Background adapts automatically via brand color inversion */
381
420
  /* 🎯 TO CHANGE bg-action-primary IN DARK MODE: Edit --color-brand-800 in .dark block (line ~275) */
382
421
  /* Text color - Use brand-50 (which maps to brand-950/darkest in dark mode) for proper contrast */
383
- --color-action-primary-text: var(--color-brand-50);
384
-
422
+ --color-action-primary-text: var(--color-brand-50)
385
423
  /* Secondary Actions - No dark mode overrides needed, base colors are already inverted */
386
-
387
424
  /* Danger Actions */
388
- --color-action-danger: theme(colors.red.500);
389
- --color-action-danger-hover: theme(colors.red.600);
390
- --color-action-danger-active: theme(colors.red.700);
391
- --color-action-danger-disabled: theme(colors.red.700);
392
- --color-action-danger-subtle: theme(colors.red.950);
393
- --color-action-danger-subtle-hover: theme(colors.red.900);
394
-
425
+ --color-action-danger: theme(colors.red.500)
426
+ --color-action-danger-hover: theme(colors.red.600)
427
+ --color-action-danger-active: theme(colors.red.700)
428
+ --color-action-danger-disabled: theme(colors.red.700)
429
+ --color-action-danger-subtle: theme(colors.red.950)
430
+ --color-action-danger-subtle-hover: theme(colors.red.900)
395
431
  /* Shadow Colors */
396
- --shadow-opacity: 0.3;
397
- --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));
398
- --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));
399
- --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));
400
- --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));
432
+ --shadow-opacity: 0.3
433
+ --shadow-sm: 0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity))
434
+ --shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity))
435
+ --shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity))
436
+ --shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity))
401
437
  }