@semanticus/semanticus-css 0.8.0 → 1.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 (166) hide show
  1. package/NOTICE +16 -16
  2. package/README.md +128 -29
  3. package/dist/semanticus-no-utilities.css +11 -0
  4. package/dist/semanticus-semantics.css +3 -4
  5. package/dist/semanticus-utilities.css +11 -0
  6. package/dist/semanticus.css +4 -12
  7. package/dist/semanticus.palette.amber.css +1 -1
  8. package/dist/semanticus.palette.azure.css +1 -0
  9. package/dist/semanticus.palette.blue.css +1 -1
  10. package/dist/semanticus.palette.cyan.css +1 -1
  11. package/dist/semanticus.palette.fuchsia.css +1 -1
  12. package/dist/semanticus.palette.green.css +1 -1
  13. package/dist/semanticus.palette.grey.css +1 -1
  14. package/dist/semanticus.palette.indigo.css +1 -1
  15. package/dist/semanticus.palette.jade.css +1 -1
  16. package/dist/semanticus.palette.lime.css +1 -1
  17. package/dist/semanticus.palette.orange.css +1 -1
  18. package/dist/semanticus.palette.pink.css +1 -1
  19. package/dist/semanticus.palette.pumpkin.css +1 -1
  20. package/dist/semanticus.palette.purple.css +1 -1
  21. package/dist/semanticus.palette.red.css +1 -1
  22. package/dist/semanticus.palette.sand.css +1 -1
  23. package/dist/semanticus.palette.slate.css +1 -1
  24. package/dist/semanticus.palette.violet.css +1 -1
  25. package/dist/semanticus.palette.yellow.css +1 -1
  26. package/dist/semanticus.palette.zinc.css +1 -1
  27. package/dist/semanticus.size.pico.css +1 -1
  28. package/package.json +28 -16
  29. package/src/components/_card.css +84 -0
  30. package/src/components/_sidebar.css +49 -0
  31. package/src/components/modules.css +2 -0
  32. package/src/index.css +8 -10
  33. package/src/no-utilities.css +22 -0
  34. package/src/palettes/amber.css +28 -53
  35. package/src/palettes/azure.css +31 -0
  36. package/src/palettes/blue.css +28 -53
  37. package/src/palettes/cyan.css +28 -53
  38. package/src/palettes/fuchsia.css +28 -53
  39. package/src/palettes/green.css +28 -53
  40. package/src/palettes/grey.css +28 -53
  41. package/src/palettes/indigo.css +28 -53
  42. package/src/palettes/jade.css +28 -53
  43. package/src/palettes/lime.css +28 -53
  44. package/src/palettes/orange.css +28 -53
  45. package/src/palettes/pink.css +28 -53
  46. package/src/palettes/pumpkin.css +28 -53
  47. package/src/palettes/purple.css +28 -53
  48. package/src/palettes/red.css +28 -53
  49. package/src/palettes/sand.css +28 -53
  50. package/src/palettes/slate.css +28 -53
  51. package/src/palettes/violet.css +28 -53
  52. package/src/palettes/yellow.css +28 -53
  53. package/src/palettes/zinc.css +28 -53
  54. package/src/semantics/{_aria-busy.css → attributes/_aria-busy.css} +0 -3
  55. package/src/semantics/{_hidden.css → attributes/_hidden.css} +0 -3
  56. package/src/semantics/attributes/_popover.css +13 -0
  57. package/src/semantics/attributes/_role-group-search.css +137 -0
  58. package/src/semantics/{_role-toolbar.css → attributes/_role-toolbar.css} +2 -5
  59. package/src/semantics/{_role-tooltip.css → attributes/_role-tooltip.css} +6 -9
  60. package/src/semantics/elements/_abbr.css +5 -0
  61. package/src/semantics/elements/_address.css +7 -0
  62. package/src/semantics/elements/_article.css +3 -0
  63. package/src/semantics/elements/_aside.css +10 -0
  64. package/src/semantics/elements/_blockquote.css +18 -0
  65. package/src/semantics/elements/_body.css +5 -0
  66. package/src/semantics/{_button.css → elements/_button.css} +23 -26
  67. package/src/semantics/{_code.css → elements/_code.css} +11 -11
  68. package/src/semantics/elements/_del.css +3 -0
  69. package/src/semantics/{_details.css → elements/_details.css} +42 -43
  70. package/src/semantics/elements/_dialog.css +113 -0
  71. package/src/semantics/{_document.css → elements/_document.css} +10 -4
  72. package/src/semantics/{_embedded.css → elements/_embedded.css} +0 -3
  73. package/src/semantics/{_figure.css → elements/_figure.css} +0 -3
  74. package/src/semantics/elements/_footer.css +10 -0
  75. package/src/semantics/elements/_header.css +10 -0
  76. package/src/semantics/elements/_headings.css +24 -0
  77. package/src/semantics/elements/_hgroup.css +14 -0
  78. package/src/semantics/{_hr.css → elements/_hr.css} +1 -4
  79. package/src/semantics/{_input.css → elements/_input.css} +34 -38
  80. package/src/semantics/elements/_ins.css +4 -0
  81. package/src/semantics/elements/_links.css +61 -0
  82. package/src/semantics/elements/_lists.css +22 -0
  83. package/src/semantics/elements/_main.css +3 -0
  84. package/src/semantics/elements/_mark.css +6 -0
  85. package/src/semantics/{_nav.css → elements/_nav.css} +5 -8
  86. package/src/semantics/elements/_p.css +11 -0
  87. package/src/semantics/{_progress.css → elements/_progress.css} +5 -8
  88. package/src/semantics/elements/_section.css +4 -0
  89. package/src/semantics/elements/_small.css +3 -0
  90. package/src/semantics/elements/_strong.css +4 -0
  91. package/src/semantics/elements/_sub.css +7 -0
  92. package/src/semantics/elements/_sup.css +7 -0
  93. package/src/semantics/{_table.css → elements/_table.css} +10 -7
  94. package/src/semantics/{_type-checkbox-radio.css → elements/_type-checkbox-radio.css} +19 -22
  95. package/src/semantics/{_type-color.css → elements/_type-color.css} +2 -5
  96. package/src/semantics/{_type-date.css → elements/_type-date.css} +1 -4
  97. package/src/semantics/elements/_type-file.css +23 -0
  98. package/src/semantics/{_type-range.css → elements/_type-range.css} +11 -14
  99. package/src/semantics/elements/_type-search.css +30 -0
  100. package/src/semantics/index.css +2 -5
  101. package/src/semantics/modules.css +46 -37
  102. package/src/sizes/pico.css +21 -29
  103. package/src/utilities/_grid.css +306 -0
  104. package/src/utilities/_variables.css +27 -42
  105. package/src/utilities/borders/_border-radius.css +54 -79
  106. package/src/utilities/borders/_border-style.css +15 -5
  107. package/src/utilities/borders/_border-width.css +0 -28
  108. package/src/utilities/colors/_bg-colors.css +75 -0
  109. package/src/utilities/colors/_border-colors.css +17 -39
  110. package/src/utilities/colors/_subtle-colors.css +145 -0
  111. package/src/utilities/colors/_text-bg-colors.css +62 -0
  112. package/src/utilities/colors/_text-colors.css +32 -409
  113. package/src/utilities/effects/_focus-ring.css +33 -0
  114. package/src/utilities/effects/_shadows.css +0 -33
  115. package/src/utilities/index.css +16 -0
  116. package/src/utilities/layout/_misc.css +2 -5
  117. package/src/utilities/layout/{_grid.css → _ratio.css} +0 -19
  118. package/src/utilities/modules.css +9 -3
  119. package/src/utilities/sizing/_width.css +8 -0
  120. package/src/utilities/spacing/_gap.css +144 -144
  121. package/src/utilities/spacing/_margin.css +324 -324
  122. package/src/utilities/spacing/_padding.css +324 -324
  123. package/src/utilities/typography/_font-sizes.css +6 -6
  124. package/src/variables/_all.css +2 -20
  125. package/src/variables/_elements.css +29 -33
  126. package/src/variables/_theme.css +336 -0
  127. package/src/variants/_variables.css +24 -0
  128. package/src/variants/intent/_contrast.css +46 -0
  129. package/src/variants/intent/_danger.css +38 -0
  130. package/src/variants/intent/_info.css +38 -0
  131. package/src/variants/intent/_primary.css +38 -0
  132. package/src/variants/intent/_secondary.css +38 -0
  133. package/src/variants/intent/_success.css +38 -0
  134. package/src/variants/intent/_warning.css +38 -0
  135. package/src/variants/{_container.css → modifiers/_container.css} +3 -10
  136. package/src/variants/modifiers/_ghost.css +164 -0
  137. package/src/variants/modifiers/_striped.css +11 -0
  138. package/src/variants/modifiers/_subtle.css +133 -0
  139. package/src/variants/modules.css +12 -15
  140. package/src/_normalize.css +0 -214
  141. package/src/semantics/_article.css +0 -12
  142. package/src/semantics/_aside.css +0 -16
  143. package/src/semantics/_body.css +0 -8
  144. package/src/semantics/_dialog.css +0 -157
  145. package/src/semantics/_footer.css +0 -12
  146. package/src/semantics/_header.css +0 -12
  147. package/src/semantics/_links.css +0 -50
  148. package/src/semantics/_main.css +0 -10
  149. package/src/semantics/_role-group-search.css +0 -129
  150. package/src/semantics/_section.css +0 -9
  151. package/src/semantics/_type-file.css +0 -26
  152. package/src/semantics/_type-search.css +0 -34
  153. package/src/semantics/_typography.css +0 -146
  154. package/src/utilities/colors/_background-colors.css +0 -248
  155. package/src/variables/_colors.css +0 -366
  156. package/src/variables/_components.css +0 -318
  157. package/src/variables/_icons.css +0 -43
  158. package/src/variables/_layout.css +0 -128
  159. package/src/variants/_card.css +0 -45
  160. package/src/variants/_contained.css +0 -43
  161. package/src/variants/_contrast.css +0 -47
  162. package/src/variants/_ghost.css +0 -61
  163. package/src/variants/_panel.css +0 -18
  164. package/src/variants/_secondary.css +0 -35
  165. package/src/variants/_sidebar.css +0 -11
  166. package/src/variants/_striped.css +0 -10
@@ -1,366 +0,0 @@
1
- /* ==========================================================================
2
- Color Variables
3
- ==========================================================================
4
-
5
- Semantic color system with RGB values for opacity manipulation,
6
- theme-aware variables for light/dark modes, and component color roles.
7
-
8
- Naming convention:
9
- --color-{role} Text color for links, buttons, inline elements
10
- --color-{role}-bg Background fill
11
- --color-{role}-border Border color
12
- --color-{role}-underline Semi-transparent underline for links
13
- --color-{role}-hover Text color on hover
14
- --color-{role}-hover-bg Background on hover
15
- --color-{role}-focus Focus ring / outline color
16
- --color-{role}-inverse Text on top of filled backgrounds
17
-
18
- Roles: primary (brand CTA), secondary (neutral actions), contrast (high-emphasis)
19
- ========================================================================== */
20
-
21
- /* ==========================================================================
22
- Light Theme (Default)
23
- ========================================================================== */
24
-
25
- [data-theme="light"],
26
- :root:not([data-theme="dark"]),
27
- :host(:not([data-theme="dark"])) {
28
- color-scheme: light;
29
-
30
- /* RGB channels */
31
- --color-primary-rgb: 1, 114, 173;
32
- --color-secondary-rgb: 93, 107, 137;
33
- --color-contrast-rgb: 24, 28, 37;
34
- --color-success-rgb: 43, 122, 76;
35
- --color-info-rgb: 4, 120, 120;
36
- --color-warning-rgb: 255, 191, 0;
37
- --color-danger-rgb: 197, 47, 33;
38
-
39
- /* Body & emphasis RGB */
40
- --color-body-rgb: 55, 60, 68;
41
- --color-text-rgb: 55, 60, 68;
42
- --color-body-bg-rgb: 255, 255, 255;
43
- --color-emphasis-rgb: 24, 28, 37;
44
-
45
- /* Secondary surfaces */
46
- --color-secondary-bg-rgb: 233, 236, 239;
47
-
48
- /* Link RGB */
49
- --color-link-rgb: 1, 114, 173;
50
-
51
- /* Emphasis colors (RGB format for use with rgba()) */
52
- --color-primary-emphasis-rgb: 1, 88, 135;
53
- --color-secondary-emphasis-rgb: 72, 83, 107;
54
- --color-success-emphasis-rgb: 32, 96, 59;
55
- --color-info-emphasis-rgb: 2, 93, 93;
56
- --color-warning-emphasis-rgb: 105, 77, 0;
57
- --color-danger-emphasis-rgb: 155, 35, 24;
58
- --color-contrast-emphasis-rgb: 249, 250, 251;
59
-
60
- /* Subtle backgrounds (low opacity) */
61
- --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.1);
62
- --color-secondary-bg-subtle: rgba(var(--color-secondary-rgb), 0.1);
63
- --color-success-bg-subtle: rgba(var(--color-success-rgb), 0.1);
64
- --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.1);
65
- --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.1);
66
- --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.1);
67
- --color-contrast-bg-subtle: #ced4da;
68
-
69
- /* Subtle borders (medium opacity) */
70
- --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
71
- --color-secondary-border-subtle: rgba(var(--color-secondary-rgb), 0.35);
72
- --color-success-border-subtle: rgba(var(--color-success-rgb), 0.35);
73
- --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
74
- --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
75
- --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
76
- --color-contrast-border-subtle: #adb5bd;
77
-
78
- /* Status inverse colors */
79
- --color-success-inverse: #fff;
80
- --color-info-inverse: #fff;
81
- --color-warning-inverse: #000;
82
- --color-danger-inverse: #fff;
83
-
84
- /* Core Colors */
85
- --color-background: #fff;
86
- --color-text: rgb(var(--color-text-rgb));
87
- --color-text-selection: rgba(2, 154, 232, 0.25);
88
- --color-text-muted: color-mix(in srgb, rgb(var(--color-text-rgb)), rgb(128, 128, 128) 70%);
89
- --color-border-muted: rgb(231, 234, 239.5);
90
-
91
- /* Primary */
92
- --color-primary-bg: #0172ad;
93
- --color-primary-border: var(--color-primary-bg);
94
- --color-primary-underline: rgba(var(--color-primary-rgb), 0.5);
95
- --color-primary-hover: #015887;
96
- --color-primary-hover-bg: #02659a;
97
- --color-primary-hover-border: var(--color-primary-hover-bg);
98
- --color-primary-hover-underline: var(--color-primary-hover);
99
- --color-primary-focus: rgba(2, 154, 232, 0.5);
100
- --color-primary-inverse: #fff;
101
-
102
- /* Secondary */
103
- --color-secondary-bg: #525f7a;
104
- --color-secondary-border: var(--color-secondary-bg);
105
- --color-secondary-underline: rgba(var(--color-secondary-rgb), 0.5);
106
- --color-secondary-hover: #48536b;
107
- --color-secondary-hover-bg: #48536b;
108
- --color-secondary-hover-border: var(--color-secondary-hover-bg);
109
- --color-secondary-hover-underline: var(--color-secondary-hover);
110
- --color-secondary-focus: rgba(var(--color-secondary-rgb), 0.25);
111
- --color-secondary-inverse: #fff;
112
-
113
- /* Contrast */
114
- --color-contrast-bg: #181c25;
115
- --color-contrast-border: var(--color-contrast-bg);
116
- --color-contrast-underline: rgba(var(--color-contrast-rgb), 0.5);
117
- --color-contrast-hover: #000;
118
- --color-contrast-hover-bg: #000;
119
- --color-contrast-hover-border: var(--color-contrast-hover-bg);
120
- --color-contrast-hover-underline: var(--color-contrast-hover);
121
- --color-contrast-focus: rgba(93, 107, 137, 0.25);
122
- --color-contrast-inverse: #fff;
123
-
124
- /* Shadows */
125
- --shadow-sm: 0 0.0625rem 0.125rem rgba(129, 145, 181, 0.1);
126
- --shadow-md: 0.0625rem 0.125rem 0.5rem rgba(129, 145, 181, 0.15);
127
- --shadow-lg: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
128
-
129
- /* Headings - base color for progressive lightness via color-mix */
130
- --color-heading-base: #2d3138;
131
-
132
- /* Mark & Text */
133
- --color-mark-bg: rgb(252.5, 230.5, 191.5);
134
- --color-mark-text: #0f1114;
135
-
136
- /* Blockquote */
137
- --blockquote-border-color: var(--color-border-muted);
138
- --blockquote-footer-color: var(--color-text-muted);
139
- }
140
-
141
- /* ==========================================================================
142
- Dark Theme (System Preference)
143
- ========================================================================== */
144
-
145
- @media only screen and (prefers-color-scheme: dark) {
146
- :root:not([data-theme]),
147
- :host(:not([data-theme])) {
148
- color-scheme: dark;
149
-
150
- /* RGB channels */
151
- --color-primary-rgb: 1, 170, 255;
152
- --color-secondary-rgb: 150, 158, 175;
153
- --color-contrast-rgb: 248, 249, 250;
154
- --color-success-rgb: 110, 213, 157;
155
- --color-info-rgb: 10, 194, 194;
156
- --color-warning-rgb: 255, 191, 0;
157
- --color-danger-rgb: 243, 143, 121;
158
-
159
- /* Body & emphasis RGB */
160
- --color-body-rgb: 194, 199, 208;
161
- --color-text-rgb: 194, 199, 208;
162
- --color-body-bg-rgb: 19, 23, 31;
163
- --color-emphasis-rgb: 223, 227, 235;
164
-
165
- /* Secondary surfaces */
166
- --color-secondary-bg-rgb: 42, 49, 64;
167
-
168
- /* Link RGB */
169
- --color-link-rgb: 1, 170, 255;
170
-
171
- /* Emphasis colors */
172
- --color-primary-emphasis-rgb: 121, 192, 255;
173
- --color-secondary-emphasis-rgb: 179, 185, 197;
174
- --color-success-emphasis-rgb: 147, 222, 181;
175
- --color-info-emphasis-rgb: 37, 221, 221;
176
- --color-warning-emphasis-rgb: 232, 174, 1;
177
- --color-danger-emphasis-rgb: 245, 183, 168;
178
- --color-contrast-emphasis-rgb: 255, 255, 255;
179
-
180
- /* Subtle backgrounds */
181
- --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.15);
182
- --color-secondary-bg-subtle: rgba(var(--color-secondary-rgb), 0.15);
183
- --color-success-bg-subtle: rgba(var(--color-success-rgb), 0.15);
184
- --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.15);
185
- --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.15);
186
- --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.15);
187
- --color-contrast-bg-subtle: #2a3140;
188
-
189
- /* Subtle borders */
190
- --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
191
- --color-secondary-border-subtle: rgba(var(--color-secondary-rgb), 0.35);
192
- --color-success-border-subtle: rgba(var(--color-success-rgb), 0.35);
193
- --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
194
- --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
195
- --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
196
- --color-contrast-border-subtle: #2a3140;
197
-
198
- /* Core Colors */
199
- --color-background: rgb(19, 22.5, 30.5);
200
- --color-text: rgb(var(--color-text-rgb));
201
- --color-text-selection: rgba(var(--color-primary-rgb), 0.1875);
202
- --color-text-muted: color-mix(in srgb, rgb(var(--color-text-rgb)), rgb(128, 128, 128) 70%);
203
- --color-border-muted: #202632;
204
-
205
- /* Primary */
206
- --color-primary-bg: #0172ad;
207
- --color-primary-border: var(--color-primary-bg);
208
- --color-primary-underline: rgba(var(--color-primary-rgb), 0.5);
209
- --color-primary-hover: #79c0ff;
210
- --color-primary-hover-bg: #017fc0;
211
- --color-primary-hover-border: var(--color-primary-hover-bg);
212
- --color-primary-hover-underline: var(--color-primary-hover);
213
- --color-primary-focus: rgba(var(--color-primary-rgb), 0.375);
214
- --color-primary-inverse: #fff;
215
-
216
- /* Secondary */
217
- --color-secondary-bg: #525f7a;
218
- --color-secondary-border: var(--color-secondary-bg);
219
- --color-secondary-underline: rgba(var(--color-secondary-rgb), 0.5);
220
- --color-secondary-hover: #b3b9c5;
221
- --color-secondary-hover-bg: #5d6b89;
222
- --color-secondary-hover-border: var(--color-secondary-hover-bg);
223
- --color-secondary-hover-underline: var(--color-secondary-hover);
224
- --color-secondary-focus: rgba(144, 158, 190, 0.25);
225
- --color-secondary-inverse: #fff;
226
-
227
- /* Contrast */
228
- --color-contrast-bg: #eff1f4;
229
- --color-contrast-border: var(--color-contrast-bg);
230
- --color-contrast-underline: rgba(var(--color-contrast-rgb), 0.5);
231
- --color-contrast-hover: #fff;
232
- --color-contrast-hover-bg: #fff;
233
- --color-contrast-hover-border: var(--color-contrast-hover-bg);
234
- --color-contrast-hover-underline: var(--color-contrast-hover);
235
- --color-contrast-focus: rgba(207, 213, 226, 0.25);
236
- --color-contrast-inverse: #000;
237
-
238
- /* Shadows */
239
- --shadow-sm: 0 0.0625rem 0.125rem rgba(7, 8.5, 12, 0.1);
240
- --shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
241
- --shadow-lg: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
242
-
243
- /* Headings */
244
- --color-heading-base: #f0f1f3;
245
-
246
- /* Mark & Text */
247
- --color-mark-bg: #014063;
248
- --color-mark-text: #fff;
249
-
250
- /* Blockquote */
251
- --blockquote-border-color: var(--color-border-muted);
252
- --blockquote-footer-color: var(--color-text-muted);
253
- }
254
- }
255
-
256
- /* ==========================================================================
257
- Dark Theme (Explicit)
258
- ========================================================================== */
259
-
260
- [data-theme="dark"] {
261
- color-scheme: dark;
262
-
263
- /* RGB channels */
264
- --color-primary-rgb: 1, 170, 255;
265
- --color-secondary-rgb: 150, 158, 175;
266
- --color-contrast-rgb: 248, 249, 250;
267
- --color-success-rgb: 110, 213, 157;
268
- --color-info-rgb: 10, 194, 194;
269
- --color-warning-rgb: 255, 191, 0;
270
- --color-danger-rgb: 243, 143, 121;
271
-
272
- /* Body & emphasis RGB */
273
- --color-body-rgb: 194, 199, 208;
274
- --color-text-rgb: 194, 199, 208;
275
- --color-body-bg-rgb: 19, 23, 31;
276
- --color-emphasis-rgb: 223, 227, 235;
277
-
278
- /* Secondary surfaces */
279
- --color-secondary-bg-rgb: 42, 49, 64;
280
-
281
- /* Link RGB */
282
- --color-link-rgb: 1, 170, 255;
283
-
284
- /* Emphasis colors */
285
- --color-primary-emphasis-rgb: 121, 192, 255;
286
- --color-secondary-emphasis-rgb: 179, 185, 197;
287
- --color-success-emphasis-rgb: 147, 222, 181;
288
- --color-info-emphasis-rgb: 37, 221, 221;
289
- --color-warning-emphasis-rgb: 232, 174, 1;
290
- --color-danger-emphasis-rgb: 245, 183, 168;
291
- --color-contrast-emphasis-rgb: 255, 255, 255;
292
-
293
- /* Subtle backgrounds */
294
- --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.15);
295
- --color-secondary-bg-subtle: rgba(var(--color-secondary-rgb), 0.15);
296
- --color-success-bg-subtle: rgba(var(--color-success-rgb), 0.15);
297
- --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.15);
298
- --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.15);
299
- --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.15);
300
- --color-contrast-bg-subtle: #2a3140;
301
-
302
- /* Subtle borders */
303
- --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
304
- --color-secondary-border-subtle: rgba(var(--color-secondary-rgb), 0.35);
305
- --color-success-border-subtle: rgba(var(--color-success-rgb), 0.35);
306
- --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
307
- --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
308
- --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
309
- --color-contrast-border-subtle: #2a3140;
310
-
311
- /* Core Colors */
312
- --color-background: rgb(19, 22.5, 30.5);
313
- --color-text: #c2c7d0;
314
- --color-text-selection: rgba(var(--color-primary-rgb), 0.1875);
315
- --color-text-muted: color-mix(in srgb, rgb(var(--color-text-rgb)), rgb(128, 128, 128) 70%);
316
- --color-border-muted: #202632;
317
-
318
- /* Primary */
319
- --color-primary-bg: #0172ad;
320
- --color-primary-border: var(--color-primary-bg);
321
- --color-primary-underline: rgba(var(--color-primary-rgb), 0.5);
322
- --color-primary-hover: #79c0ff;
323
- --color-primary-hover-bg: #017fc0;
324
- --color-primary-hover-border: var(--color-primary-hover-bg);
325
- --color-primary-hover-underline: var(--color-primary-hover);
326
- --color-primary-focus: rgba(var(--color-primary-rgb), 0.375);
327
- --color-primary-inverse: #fff;
328
-
329
- /* Secondary */
330
- --color-secondary-bg: #525f7a;
331
- --color-secondary-border: var(--color-secondary-bg);
332
- --color-secondary-underline: rgba(var(--color-secondary-rgb), 0.5);
333
- --color-secondary-hover: #b3b9c5;
334
- --color-secondary-hover-bg: #5d6b89;
335
- --color-secondary-hover-border: var(--color-secondary-hover-bg);
336
- --color-secondary-hover-underline: var(--color-secondary-hover);
337
- --color-secondary-focus: rgba(144, 158, 190, 0.25);
338
- --color-secondary-inverse: #fff;
339
-
340
- /* Contrast */
341
- --color-contrast-bg: #eff1f4;
342
- --color-contrast-border: var(--color-contrast-bg);
343
- --color-contrast-underline: rgba(var(--color-contrast-rgb), 0.5);
344
- --color-contrast-hover: #fff;
345
- --color-contrast-hover-bg: #fff;
346
- --color-contrast-hover-border: var(--color-contrast-hover-bg);
347
- --color-contrast-hover-underline: var(--color-contrast-hover);
348
- --color-contrast-focus: rgba(207, 213, 226, 0.25);
349
- --color-contrast-inverse: #000;
350
-
351
- /* Shadows */
352
- --shadow-sm: 0 0.0625rem 0.125rem rgba(7, 8.5, 12, 0.1);
353
- --shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
354
- --shadow-lg: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
355
-
356
- /* Headings */
357
- --color-heading-base: #f0f1f3;
358
-
359
- /* Mark & Text */
360
- --color-mark-bg: #014063;
361
- --color-mark-text: #fff;
362
-
363
- /* Blockquote */
364
- --blockquote-border-color: var(--color-border-muted);
365
- --blockquote-footer-color: var(--color-text-muted);
366
- }
@@ -1,318 +0,0 @@
1
- /* ==========================================================================
2
- Component Variables
3
- ==========================================================================
4
-
5
- Component-specific CSS custom properties organized by UI component.
6
- These define the appearance of buttons, forms, tables, cards, modals,
7
- and other interactive elements.
8
-
9
- Each component section is self-contained with all its color, spacing,
10
- and state variable definitions.
11
- ========================================================================== */
12
-
13
- /* ==========================================================================
14
- Light Theme Component Variables
15
- ========================================================================== */
16
-
17
- [data-theme="light"],
18
- :root:not([data-theme="dark"]),
19
- :host(:not([data-theme="dark"])) {
20
- /* Button */
21
- --button-shadow: 0 0 0 rgba(0, 0, 0, 0);
22
- --button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
23
-
24
- /* Table */
25
- --table-border-color: var(--color-border-muted);
26
- --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
27
-
28
- /* Code */
29
- --color-code-bg: rgb(243, 244.5, 246.75);
30
- --color-code-text: #646b79;
31
- --color-kbd-bg: var(--color-text);
32
- --color-kbd-text: var(--color-background);
33
-
34
- /* Form Elements */
35
- --form-bg: rgb(251, 251.5, 252.25);
36
- --form-selected-bg: #dfe3eb;
37
- --form-border-color: #cfd5e2;
38
- --form-text-color: #23262c;
39
- --form-placeholder-color: var(--color-text-muted);
40
- --form-active-bg: #fff;
41
- --form-active-border: var(--color-primary-border);
42
- --form-focus: var(--color-primary-border);
43
- --form-disabled-opacity: 0.5;
44
- --form-invalid-border: rgb(var(--color-danger-rgb));
45
- --form-invalid-active-border: rgb(var(--color-danger-rgb));
46
- --form-invalid-focus: rgba(var(--color-danger-rgb), 0.5);
47
- --form-valid-border: rgb(var(--color-success-rgb));
48
- --form-valid-active-border: rgb(var(--color-success-rgb));
49
- --form-valid-focus: rgba(var(--color-success-rgb), 0.5);
50
-
51
- /* Switch */
52
- --switch-bg: #bfc7d9;
53
- --switch-checked-bg: var(--color-primary-bg);
54
- --switch-thumb-color: #fff;
55
- --switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0);
56
-
57
- /* Range */
58
- --range-border-color: #dfe3eb;
59
- --range-active-border: #bfc7d9;
60
- --range-thumb-border: var(--color-background);
61
- --range-thumb-color: var(--color-secondary-bg);
62
- --range-thumb-active: var(--color-primary-bg);
63
-
64
- /* Accordion */
65
- --accordion-border: var(--color-border-muted);
66
- --accordion-active-summary: var(--color-primary-hover);
67
- --accordion-closed-summary: var(--color-text);
68
- --accordion-open-summary: var(--color-text-muted);
69
-
70
- /* Card */
71
- --card-bg: var(--color-background);
72
- --card-border: var(--color-border-muted);
73
- --card-shadow: var(--shadow-lg);
74
- --card-section-bg: rgb(251, 251.5, 252.25);
75
-
76
- /* Dropdown */
77
- --dropdown-bg: #fff;
78
- --dropdown-border: #eff1f4;
79
- --dropdown-shadow: var(--shadow-lg);
80
- --dropdown-text: var(--color-text);
81
- --dropdown-hover-bg: #eff1f4;
82
-
83
- /* Loading & Modal */
84
- --loading-spinner-opacity: 0.5;
85
- --modal-overlay-bg: rgba(232, 234, 237, 0.75);
86
-
87
- /* Progress */
88
- --progress-bg: #dfe3eb;
89
- --progress-fill: var(--color-primary-bg);
90
-
91
- /* Tooltip */
92
- --tooltip-bg: var(--color-contrast-bg);
93
- --tooltip-text: var(--color-contrast-inverse);
94
- }
95
-
96
- /* Form focus override for actionable input types in light mode */
97
- [data-theme="light"] input:is(
98
- [type="submit"],
99
- [type="button"],
100
- [type="reset"],
101
- [type="checkbox"],
102
- [type="radio"],
103
- [type="file"]
104
- ),
105
- :root:not([data-theme="dark"]) input:is(
106
- [type="submit"],
107
- [type="button"],
108
- [type="reset"],
109
- [type="checkbox"],
110
- [type="radio"],
111
- [type="file"]
112
- ),
113
- :host(:not([data-theme="dark"])) input:is(
114
- [type="submit"],
115
- [type="button"],
116
- [type="reset"],
117
- [type="checkbox"],
118
- [type="radio"],
119
- [type="file"]
120
- ) {
121
- --form-focus: var(--color-primary-focus);
122
- }
123
-
124
- /* ==========================================================================
125
- Dark Theme Component Variables (System Preference)
126
- ========================================================================== */
127
-
128
- @media only screen and (prefers-color-scheme: dark) {
129
- :root:not([data-theme]),
130
- :host(:not([data-theme])) {
131
- /* Button */
132
- --button-shadow: 0 0 0 rgba(0, 0, 0, 0);
133
- --button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
134
-
135
- /* Table */
136
- --table-border-color: var(--color-border-muted);
137
- --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
138
-
139
- /* Code */
140
- --color-code-bg: rgb(26, 30.5, 40.25);
141
- --color-code-text: #8891a4;
142
- --color-kbd-bg: var(--color-text);
143
- --color-kbd-text: var(--color-background);
144
-
145
- /* Form Elements */
146
- --form-bg: rgb(28, 33, 43.5);
147
- --form-selected-bg: #2a3140;
148
- --form-border-color: #2a3140;
149
- --form-text-color: #e0e3e7;
150
- --form-placeholder-color: #8891a4;
151
- --form-active-bg: rgb(26, 30.5, 40.25);
152
- --form-active-border: var(--color-primary-border);
153
- --form-focus: var(--color-primary-border);
154
- --form-disabled-opacity: 0.5;
155
- --form-invalid-border: rgb(var(--color-danger-rgb));
156
- --form-invalid-active-border: rgb(var(--color-danger-rgb));
157
- --form-invalid-focus: rgba(var(--color-danger-rgb), 0.5);
158
- --form-valid-border: rgb(var(--color-success-rgb));
159
- --form-valid-active-border: rgb(var(--color-success-rgb));
160
- --form-valid-focus: rgba(var(--color-success-rgb), 0.5);
161
-
162
- /* Switch */
163
- --switch-bg: #333c4e;
164
- --switch-checked-bg: var(--color-primary-bg);
165
- --switch-thumb-color: #fff;
166
- --switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0);
167
-
168
- /* Range */
169
- --range-border-color: #202632;
170
- --range-active-border: #2a3140;
171
- --range-thumb-border: var(--color-background);
172
- --range-thumb-color: var(--color-secondary-bg);
173
- --range-thumb-active: var(--color-primary-bg);
174
-
175
- /* Accordion */
176
- --accordion-border: var(--color-border-muted);
177
- --accordion-active-summary: var(--color-primary-hover);
178
- --accordion-closed-summary: var(--color-text);
179
- --accordion-open-summary: var(--color-text-muted);
180
-
181
- /* Card */
182
- --card-bg: #181c25;
183
- --card-border: var(--card-bg);
184
- --card-shadow: var(--shadow-lg);
185
- --card-section-bg: rgb(26, 30.5, 40.25);
186
-
187
- /* Dropdown */
188
- --dropdown-bg: #181c25;
189
- --dropdown-border: #202632;
190
- --dropdown-shadow: var(--shadow-lg);
191
- --dropdown-text: var(--color-text);
192
- --dropdown-hover-bg: #202632;
193
-
194
- /* Loading & Modal */
195
- --loading-spinner-opacity: 0.5;
196
- --modal-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
197
-
198
- /* Progress */
199
- --progress-bg: #202632;
200
- --progress-fill: var(--color-primary-bg);
201
-
202
- /* Tooltip */
203
- --tooltip-bg: var(--color-contrast-bg);
204
- --tooltip-text: var(--color-contrast-inverse);
205
- }
206
-
207
- :root:not([data-theme]) input:is(
208
- [type="submit"],
209
- [type="button"],
210
- [type="reset"],
211
- [type="checkbox"],
212
- [type="radio"],
213
- [type="file"]
214
- ),
215
- :host(:not([data-theme])) input:is(
216
- [type="submit"],
217
- [type="button"],
218
- [type="reset"],
219
- [type="checkbox"],
220
- [type="radio"],
221
- [type="file"]
222
- ) {
223
- --form-focus: var(--color-primary-focus);
224
- }
225
- }
226
-
227
- /* ==========================================================================
228
- Dark Theme Component Variables (Explicit)
229
- ========================================================================== */
230
-
231
- [data-theme="dark"] {
232
- /* Button */
233
- --button-shadow: 0 0 0 rgba(0, 0, 0, 0);
234
- --button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
235
-
236
- /* Table */
237
- --table-border-color: var(--color-border-muted);
238
- --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
239
-
240
- /* Code */
241
- --color-code-bg: rgb(26, 30.5, 40.25);
242
- --color-code-text: #8891a4;
243
- --color-kbd-bg: var(--color-text);
244
- --color-kbd-text: var(--color-background);
245
-
246
- /* Form Elements */
247
- --form-bg: rgb(28, 33, 43.5);
248
- --form-selected-bg: #2a3140;
249
- --form-border-color: #2a3140;
250
- --form-text-color: #e0e3e7;
251
- --form-placeholder-color: #8891a4;
252
- --form-active-bg: rgb(26, 30.5, 40.25);
253
- --form-active-border: var(--color-primary-border);
254
- --form-focus: var(--color-primary-border);
255
- --form-disabled-opacity: 0.5;
256
- --form-invalid-border: rgb(var(--color-danger-rgb));
257
- --form-invalid-active-border: rgb(var(--color-danger-rgb));
258
- --form-invalid-focus: rgba(var(--color-danger-rgb), 0.5);
259
- --form-valid-border: rgb(var(--color-success-rgb));
260
- --form-valid-active-border: rgb(var(--color-success-rgb));
261
- --form-valid-focus: rgba(var(--color-success-rgb), 0.5);
262
-
263
- /* Switch */
264
- --switch-bg: #333c4e;
265
- --switch-checked-bg: var(--color-primary-bg);
266
- --switch-thumb-color: #fff;
267
- --switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0);
268
-
269
- /* Range */
270
- --range-border-color: #202632;
271
- --range-active-border: #2a3140;
272
- --range-thumb-border: var(--color-background);
273
- --range-thumb-color: var(--color-secondary-bg);
274
- --range-thumb-active: var(--color-primary-bg);
275
-
276
- /* Accordion */
277
- --accordion-border: var(--color-border-muted);
278
- --accordion-active-summary: var(--color-primary-hover);
279
- --accordion-closed-summary: var(--color-text);
280
- --accordion-open-summary: var(--color-text-muted);
281
-
282
- /* Card */
283
- --card-bg: #181c25;
284
- --card-border: var(--card-bg);
285
- --card-shadow: var(--shadow-lg);
286
- --card-section-bg: rgb(26, 30.5, 40.25);
287
-
288
- /* Dropdown */
289
- --dropdown-bg: #181c25;
290
- --dropdown-border: #202632;
291
- --dropdown-shadow: var(--shadow-lg);
292
- --dropdown-text: var(--color-text);
293
- --dropdown-hover-bg: #202632;
294
-
295
- /* Loading & Modal */
296
- --loading-spinner-opacity: 0.5;
297
- --modal-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
298
-
299
- /* Progress */
300
- --progress-bg: #202632;
301
- --progress-fill: var(--color-primary-bg);
302
-
303
- /* Tooltip */
304
- --tooltip-bg: var(--color-contrast-bg);
305
- --tooltip-text: var(--color-contrast-inverse);
306
- }
307
-
308
- /* Form focus override for actionable input types in explicit dark mode */
309
- [data-theme="dark"] input:is(
310
- [type="submit"],
311
- [type="button"],
312
- [type="reset"],
313
- [type="checkbox"],
314
- [type="radio"],
315
- [type="file"]
316
- ) {
317
- --form-focus: var(--color-primary-focus);
318
- }