@semanticus/semanticus-css 0.9.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 (144) 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 +24 -15
  29. package/src/components/_card.css +84 -0
  30. package/src/{variants → components}/_sidebar.css +3 -5
  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/attributes/_aria-busy.css +0 -3
  55. package/src/semantics/attributes/_hidden.css +0 -3
  56. package/src/semantics/attributes/_role-group-search.css +11 -14
  57. package/src/semantics/attributes/_role-toolbar.css +2 -5
  58. package/src/semantics/attributes/_role-tooltip.css +6 -9
  59. package/src/semantics/elements/_article.css +0 -3
  60. package/src/semantics/elements/_aside.css +1 -7
  61. package/src/semantics/elements/_blockquote.css +2 -2
  62. package/src/semantics/elements/_body.css +1 -4
  63. package/src/semantics/elements/_button.css +23 -26
  64. package/src/semantics/elements/_code.css +5 -8
  65. package/src/semantics/elements/_del.css +1 -1
  66. package/src/semantics/elements/_details.css +39 -40
  67. package/src/semantics/elements/_dialog.css +13 -17
  68. package/src/semantics/elements/_document.css +10 -4
  69. package/src/semantics/elements/_embedded.css +0 -3
  70. package/src/semantics/elements/_figure.css +0 -3
  71. package/src/semantics/elements/_footer.css +0 -3
  72. package/src/semantics/elements/_header.css +0 -3
  73. package/src/semantics/elements/_headings.css +7 -17
  74. package/src/semantics/elements/_hgroup.css +1 -1
  75. package/src/semantics/elements/_hr.css +1 -4
  76. package/src/semantics/elements/_input.css +33 -36
  77. package/src/semantics/elements/_ins.css +1 -1
  78. package/src/semantics/elements/_links.css +22 -18
  79. package/src/semantics/elements/_main.css +0 -4
  80. package/src/semantics/elements/_mark.css +2 -2
  81. package/src/semantics/elements/_nav.css +5 -8
  82. package/src/semantics/elements/_progress.css +5 -8
  83. package/src/semantics/elements/_section.css +0 -3
  84. package/src/semantics/elements/_small.css +3 -0
  85. package/src/semantics/elements/_table.css +3 -5
  86. package/src/semantics/elements/_type-checkbox-radio.css +19 -22
  87. package/src/semantics/elements/_type-color.css +2 -5
  88. package/src/semantics/elements/_type-date.css +1 -4
  89. package/src/semantics/elements/_type-file.css +7 -10
  90. package/src/semantics/elements/_type-range.css +11 -14
  91. package/src/semantics/elements/_type-search.css +6 -10
  92. package/src/semantics/index.css +2 -5
  93. package/src/semantics/modules.css +1 -7
  94. package/src/sizes/pico.css +20 -33
  95. package/src/utilities/_grid.css +306 -0
  96. package/src/utilities/_variables.css +27 -42
  97. package/src/utilities/borders/_border-radius.css +54 -79
  98. package/src/utilities/borders/_border-style.css +15 -5
  99. package/src/utilities/borders/_border-width.css +0 -28
  100. package/src/utilities/colors/_bg-colors.css +75 -0
  101. package/src/utilities/colors/_border-colors.css +17 -39
  102. package/src/utilities/colors/_subtle-colors.css +145 -0
  103. package/src/utilities/colors/_text-bg-colors.css +62 -0
  104. package/src/utilities/colors/_text-colors.css +32 -409
  105. package/src/utilities/effects/_focus-ring.css +33 -0
  106. package/src/utilities/effects/_shadows.css +0 -33
  107. package/src/utilities/index.css +16 -0
  108. package/src/utilities/layout/_misc.css +2 -5
  109. package/src/utilities/layout/{_grid.css → _ratio.css} +0 -19
  110. package/src/utilities/modules.css +9 -3
  111. package/src/utilities/sizing/_width.css +8 -0
  112. package/src/utilities/spacing/_gap.css +144 -144
  113. package/src/utilities/spacing/_margin.css +324 -324
  114. package/src/utilities/spacing/_padding.css +324 -324
  115. package/src/utilities/typography/_font-sizes.css +6 -6
  116. package/src/variables/_all.css +2 -20
  117. package/src/variables/_elements.css +29 -28
  118. package/src/variables/_theme.css +336 -0
  119. package/src/variants/_variables.css +24 -0
  120. package/src/variants/intent/_contrast.css +46 -0
  121. package/src/variants/intent/_danger.css +38 -0
  122. package/src/variants/intent/_info.css +38 -0
  123. package/src/variants/intent/_primary.css +38 -0
  124. package/src/variants/intent/_secondary.css +38 -0
  125. package/src/variants/intent/_success.css +38 -0
  126. package/src/variants/intent/_warning.css +38 -0
  127. package/src/variants/{_container.css → modifiers/_container.css} +3 -10
  128. package/src/variants/modifiers/_ghost.css +164 -0
  129. package/src/variants/modifiers/_striped.css +11 -0
  130. package/src/variants/modifiers/_subtle.css +133 -0
  131. package/src/variants/modules.css +12 -14
  132. package/src/_normalize.css +0 -214
  133. package/src/semantics/_misc.css +0 -3
  134. package/src/utilities/colors/_background-colors.css +0 -248
  135. package/src/variables/_colors.css +0 -355
  136. package/src/variables/_components.css +0 -330
  137. package/src/variables/_icons.css +0 -55
  138. package/src/variables/_layout.css +0 -123
  139. package/src/variants/_contained.css +0 -43
  140. package/src/variants/_contrast.css +0 -61
  141. package/src/variants/_ghost.css +0 -68
  142. package/src/variants/_pane-panel-card.css +0 -54
  143. package/src/variants/_secondary.css +0 -48
  144. package/src/variants/_striped.css +0 -10
@@ -1,355 +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: 248, 249, 250;
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: rgba(var(--color-contrast-rgb), 0.85);
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: rgb(var(--color-contrast-rgb));
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-body-bg: rgb(var(--color-body-bg-rgb));
86
- --color-background: var(--color-body-bg);
87
- --color-text: rgb(var(--color-text-rgb));
88
- --color-text-selection: rgba(2, 154, 232, 0.25);
89
- --color-text-muted: color-mix(in srgb, rgb(var(--color-text-rgb)), rgb(128, 128, 128) 70%);
90
- --color-border-muted: rgb(231, 234, 239.5);
91
-
92
- /* Primary */
93
- --color-primary-bg: #0172ad;
94
- --color-primary-border: var(--color-primary-bg);
95
- --color-primary-underline: rgba(var(--color-primary-rgb), 0.5);
96
- --color-primary-hover: #015887;
97
- --color-primary-hover-bg: #02659a;
98
- --color-primary-hover-border: var(--color-primary-hover-bg);
99
- --color-primary-hover-underline: var(--color-primary-hover);
100
- --color-primary-focus: rgba(2, 154, 232, 0.5);
101
- --color-primary-inverse: #fff;
102
-
103
- /* Secondary */
104
- --color-secondary-bg: #525f7a;
105
- --color-secondary-border: var(--color-secondary-bg);
106
- --color-secondary-underline: rgba(var(--color-secondary-rgb), 0.5);
107
- --color-secondary-hover: #48536b;
108
- --color-secondary-hover-bg: #48536b;
109
- --color-secondary-hover-border: var(--color-secondary-hover-bg);
110
- --color-secondary-hover-underline: var(--color-secondary-hover);
111
- --color-secondary-focus: rgba(var(--color-secondary-rgb), 0.25);
112
- --color-secondary-inverse: #fff;
113
-
114
- /* Contrast */
115
- --color-contrast-bg: #181c25;
116
- --color-contrast-border: var(--color-contrast-bg);
117
- --color-contrast-underline: rgba(var(--color-contrast-rgb), 0.5);
118
- --color-contrast-hover: #000;
119
- --color-contrast-hover-bg: #000;
120
- --color-contrast-hover-border: var(--color-contrast-hover-bg);
121
- --color-contrast-hover-underline: var(--color-contrast-hover);
122
- --color-contrast-focus: rgba(93, 107, 137, 0.25);
123
- --color-contrast-inverse: #fff;
124
-
125
- /* Shadows */
126
- --shadow-sm: 0 0.0625rem 0.125rem rgba(129, 145, 181, 0.1);
127
- --shadow-md: 0.0625rem 0.125rem 0.5rem rgba(129, 145, 181, 0.15);
128
- --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);
129
-
130
- /* Headings - base color for progressive lightness via color-mix */
131
- --color-heading-base: #2d3138;
132
-
133
- /* Mark & Text */
134
- --color-mark-bg: rgb(252.5, 230.5, 191.5);
135
- --color-mark-text: #0f1114;
136
- }
137
-
138
- /* ==========================================================================
139
- Dark Theme (System Preference)
140
- ========================================================================== */
141
-
142
- @media only screen and (prefers-color-scheme: dark) {
143
- :root:not([data-theme]),
144
- :host(:not([data-theme])) {
145
- color-scheme: dark;
146
-
147
- /* RGB channels */
148
- --color-primary-rgb: 1, 170, 255;
149
- --color-secondary-rgb: 150, 158, 175;
150
- --color-contrast-rgb: 248, 249, 250;
151
- --color-success-rgb: 110, 213, 157;
152
- --color-info-rgb: 10, 194, 194;
153
- --color-warning-rgb: 255, 191, 0;
154
- --color-danger-rgb: 243, 143, 121;
155
-
156
- /* Body & emphasis RGB */
157
- --color-body-rgb: 194, 199, 208;
158
- --color-text-rgb: 194, 199, 208;
159
- --color-body-bg-rgb: 19, 23, 31;
160
- --color-emphasis-rgb: 223, 227, 235;
161
-
162
- /* Secondary surfaces */
163
- --color-secondary-bg-rgb: 42, 49, 64;
164
-
165
- /* Link RGB */
166
- --color-link-rgb: 1, 170, 255;
167
-
168
- /* Emphasis colors */
169
- --color-primary-emphasis-rgb: 121, 192, 255;
170
- --color-secondary-emphasis-rgb: 179, 185, 197;
171
- --color-success-emphasis-rgb: 147, 222, 181;
172
- --color-info-emphasis-rgb: 37, 221, 221;
173
- --color-warning-emphasis-rgb: 232, 174, 1;
174
- --color-danger-emphasis-rgb: 245, 183, 168;
175
- --color-contrast-emphasis-rgb: 24, 28, 37;
176
-
177
- /* Subtle backgrounds */
178
- --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.15);
179
- --color-secondary-bg-subtle: rgba(var(--color-secondary-rgb), 0.15);
180
- --color-success-bg-subtle: rgba(var(--color-success-rgb), 0.15);
181
- --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.15);
182
- --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.15);
183
- --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.15);
184
- --color-contrast-bg-subtle: color-mix(in srgb, rgb(var(--color-contrast-rgb)), black 7%);
185
-
186
- /* Subtle borders */
187
- --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
188
- --color-secondary-border-subtle: rgba(var(--color-secondary-rgb), 0.35);
189
- --color-success-border-subtle: rgba(var(--color-success-rgb), 0.35);
190
- --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
191
- --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
192
- --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
193
- --color-contrast-border-subtle: rgb(var(--color-contrast-rgb));
194
-
195
- /* Core Colors */
196
- --color-background: rgb(19, 22.5, 30.5);
197
- --color-text: rgb(var(--color-text-rgb));
198
- --color-text-selection: rgba(var(--color-primary-rgb), 0.1875);
199
- --color-text-muted: color-mix(in srgb, rgb(var(--color-text-rgb)), rgb(128, 128, 128) 70%);
200
- --color-border-muted: #202632;
201
-
202
- /* Primary */
203
- --color-primary-bg: #0172ad;
204
- --color-primary-border: var(--color-primary-bg);
205
- --color-primary-underline: rgba(var(--color-primary-rgb), 0.5);
206
- --color-primary-hover: #79c0ff;
207
- --color-primary-hover-bg: #017fc0;
208
- --color-primary-hover-border: var(--color-primary-hover-bg);
209
- --color-primary-hover-underline: var(--color-primary-hover);
210
- --color-primary-focus: rgba(var(--color-primary-rgb), 0.375);
211
- --color-primary-inverse: #fff;
212
-
213
- /* Secondary */
214
- --color-secondary-bg: #525f7a;
215
- --color-secondary-border: var(--color-secondary-bg);
216
- --color-secondary-underline: rgba(var(--color-secondary-rgb), 0.5);
217
- --color-secondary-hover: #b3b9c5;
218
- --color-secondary-hover-bg: #5d6b89;
219
- --color-secondary-hover-border: var(--color-secondary-hover-bg);
220
- --color-secondary-hover-underline: var(--color-secondary-hover);
221
- --color-secondary-focus: rgba(144, 158, 190, 0.25);
222
- --color-secondary-inverse: #fff;
223
-
224
- /* Contrast */
225
- --color-contrast-bg: #eff1f4;
226
- --color-contrast-border: var(--color-contrast-bg);
227
- --color-contrast-underline: rgba(var(--color-contrast-rgb), 0.5);
228
- --color-contrast-hover: #fff;
229
- --color-contrast-hover-bg: #fff;
230
- --color-contrast-hover-border: var(--color-contrast-hover-bg);
231
- --color-contrast-hover-underline: var(--color-contrast-hover);
232
- --color-contrast-focus: rgba(207, 213, 226, 0.25);
233
- --color-contrast-inverse: #000;
234
-
235
- /* Shadows */
236
- --shadow-sm: 0 0.0625rem 0.125rem rgba(7, 8.5, 12, 0.1);
237
- --shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
238
- --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);
239
-
240
- /* Headings */
241
- --color-heading-base: #f0f1f3;
242
-
243
- /* Mark & Text */
244
- --color-mark-bg: #014063;
245
- --color-mark-text: #fff;
246
- }
247
- }
248
-
249
- /* ==========================================================================
250
- Dark Theme (Explicit)
251
- ========================================================================== */
252
-
253
- [data-theme="dark"] {
254
- color-scheme: dark;
255
-
256
- /* RGB channels */
257
- --color-primary-rgb: 1, 170, 255;
258
- --color-secondary-rgb: 150, 158, 175;
259
- --color-contrast-rgb: 248, 249, 250;
260
- --color-success-rgb: 110, 213, 157;
261
- --color-info-rgb: 10, 194, 194;
262
- --color-warning-rgb: 255, 191, 0;
263
- --color-danger-rgb: 243, 143, 121;
264
-
265
- /* Body & emphasis RGB */
266
- --color-body-rgb: 194, 199, 208;
267
- --color-text-rgb: 194, 199, 208;
268
- --color-body-bg-rgb: 19, 23, 31;
269
- --color-emphasis-rgb: 223, 227, 235;
270
-
271
- /* Secondary surfaces */
272
- --color-secondary-bg-rgb: 42, 49, 64;
273
-
274
- /* Link RGB */
275
- --color-link-rgb: 1, 170, 255;
276
-
277
- /* Emphasis colors */
278
- --color-primary-emphasis-rgb: 121, 192, 255;
279
- --color-secondary-emphasis-rgb: 179, 185, 197;
280
- --color-success-emphasis-rgb: 147, 222, 181;
281
- --color-info-emphasis-rgb: 37, 221, 221;
282
- --color-warning-emphasis-rgb: 232, 174, 1;
283
- --color-danger-emphasis-rgb: 245, 183, 168;
284
- --color-contrast-emphasis-rgb: 24, 28, 37;
285
-
286
- /* Subtle backgrounds */
287
- --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.15);
288
- --color-secondary-bg-subtle: rgba(var(--color-secondary-rgb), 0.15);
289
- --color-success-bg-subtle: rgba(var(--color-success-rgb), 0.15);
290
- --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.15);
291
- --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.15);
292
- --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.15);
293
- --color-contrast-bg-subtle: color-mix(in srgb, rgb(var(--color-contrast-rgb)), black 7%);
294
-
295
- /* Subtle borders */
296
- --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
297
- --color-secondary-border-subtle: rgba(var(--color-secondary-rgb), 0.35);
298
- --color-success-border-subtle: rgba(var(--color-success-rgb), 0.35);
299
- --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
300
- --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
301
- --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
302
- --color-contrast-border-subtle: rgb(var(--color-contrast-rgb));
303
-
304
- /* Core Colors */
305
- --color-background: rgb(19, 22.5, 30.5);
306
- --color-text: #c2c7d0;
307
- --color-text-selection: rgba(var(--color-primary-rgb), 0.1875);
308
- --color-text-muted: color-mix(in srgb, rgb(var(--color-text-rgb)), rgb(128, 128, 128) 70%);
309
- --color-border-muted: #202632;
310
-
311
- /* Primary */
312
- --color-primary-bg: #0172ad;
313
- --color-primary-border: var(--color-primary-bg);
314
- --color-primary-underline: rgba(var(--color-primary-rgb), 0.5);
315
- --color-primary-hover: #79c0ff;
316
- --color-primary-hover-bg: #017fc0;
317
- --color-primary-hover-border: var(--color-primary-hover-bg);
318
- --color-primary-hover-underline: var(--color-primary-hover);
319
- --color-primary-focus: rgba(var(--color-primary-rgb), 0.375);
320
- --color-primary-inverse: #fff;
321
-
322
- /* Secondary */
323
- --color-secondary-bg: #525f7a;
324
- --color-secondary-border: var(--color-secondary-bg);
325
- --color-secondary-underline: rgba(var(--color-secondary-rgb), 0.5);
326
- --color-secondary-hover: #b3b9c5;
327
- --color-secondary-hover-bg: #5d6b89;
328
- --color-secondary-hover-border: var(--color-secondary-hover-bg);
329
- --color-secondary-hover-underline: var(--color-secondary-hover);
330
- --color-secondary-focus: rgba(144, 158, 190, 0.25);
331
- --color-secondary-inverse: #fff;
332
-
333
- /* Contrast */
334
- --color-contrast-bg: #eff1f4;
335
- --color-contrast-border: var(--color-contrast-bg);
336
- --color-contrast-underline: rgba(var(--color-contrast-rgb), 0.5);
337
- --color-contrast-hover: #fff;
338
- --color-contrast-hover-bg: #fff;
339
- --color-contrast-hover-border: var(--color-contrast-hover-bg);
340
- --color-contrast-hover-underline: var(--color-contrast-hover);
341
- --color-contrast-focus: rgba(207, 213, 226, 0.25);
342
- --color-contrast-inverse: #000;
343
-
344
- /* Shadows */
345
- --shadow-sm: 0 0.0625rem 0.125rem rgba(7, 8.5, 12, 0.1);
346
- --shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
347
- --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);
348
-
349
- /* Headings */
350
- --color-heading-base: #f0f1f3;
351
-
352
- /* Mark & Text */
353
- --color-mark-bg: #014063;
354
- --color-mark-text: #fff;
355
- }
@@ -1,330 +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
- --code-bg: rgb(243, 244.5, 246.75);
30
- --code-color: #646b79;
31
- --kbd-bg: var(--color-text);
32
- --kbd-color: 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
- --pane-bg: var(--color-background);
72
- --pane-border: transparent;
73
- --pane-shadow: none;
74
- --pane-section-border: var(--color-border-muted);
75
- --pane-section-bg: rgb(251, 251.5, 252.25);
76
-
77
- /* Menu & Dropdown */
78
- --menu-bg: #fff;
79
- --menu-border: #eff1f4;
80
- --menu-shadow: var(--shadow-lg);
81
- --menu-text: var(--color-text);
82
- --menu-hover-bg: #eff1f4;
83
-
84
- /* Loading */
85
- --loading-spinner-opacity: 0.5;
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
- /* Backdrop Overlay */
96
- --backdrop-overlay-filter: blur(0.375rem);
97
- --backdrop-overlay-bg: rgba(232, 234, 237, 0.75);
98
- }
99
-
100
- /* Form focus override for actionable input types in light mode */
101
- [data-theme="light"] input:is(
102
- [type="submit"],
103
- [type="button"],
104
- [type="reset"],
105
- [type="checkbox"],
106
- [type="radio"],
107
- [type="file"]
108
- ),
109
- :root:not([data-theme="dark"]) input:is(
110
- [type="submit"],
111
- [type="button"],
112
- [type="reset"],
113
- [type="checkbox"],
114
- [type="radio"],
115
- [type="file"]
116
- ),
117
- :host(:not([data-theme="dark"])) input:is(
118
- [type="submit"],
119
- [type="button"],
120
- [type="reset"],
121
- [type="checkbox"],
122
- [type="radio"],
123
- [type="file"]
124
- ) {
125
- --form-focus: var(--color-primary-focus);
126
- }
127
-
128
- /* ==========================================================================
129
- Dark Theme Component Variables (System Preference)
130
- ========================================================================== */
131
-
132
- @media only screen and (prefers-color-scheme: dark) {
133
- :root:not([data-theme]),
134
- :host(:not([data-theme])) {
135
- /* Button */
136
- --button-shadow: 0 0 0 rgba(0, 0, 0, 0);
137
- --button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
138
-
139
- /* Table */
140
- --table-border-color: var(--color-border-muted);
141
- --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
142
-
143
- /* Code */
144
- --code-bg: rgb(26, 30.5, 40.25);
145
- --code-color: #8891a4;
146
- --kbd-bg: var(--color-text);
147
- --kbd-color: var(--color-background);
148
-
149
- /* Form Elements */
150
- --form-bg: rgb(28, 33, 43.5);
151
- --form-selected-bg: #2a3140;
152
- --form-border-color: #2a3140;
153
- --form-text-color: #e0e3e7;
154
- --form-placeholder-color: #8891a4;
155
- --form-active-bg: rgb(26, 30.5, 40.25);
156
- --form-active-border: var(--color-primary-border);
157
- --form-focus: var(--color-primary-border);
158
- --form-disabled-opacity: 0.5;
159
- --form-invalid-border: rgb(var(--color-danger-rgb));
160
- --form-invalid-active-border: rgb(var(--color-danger-rgb));
161
- --form-invalid-focus: rgba(var(--color-danger-rgb), 0.5);
162
- --form-valid-border: rgb(var(--color-success-rgb));
163
- --form-valid-active-border: rgb(var(--color-success-rgb));
164
- --form-valid-focus: rgba(var(--color-success-rgb), 0.5);
165
-
166
- /* Switch */
167
- --switch-bg: #333c4e;
168
- --switch-checked-bg: var(--color-primary-bg);
169
- --switch-thumb-color: #fff;
170
- --switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0);
171
-
172
- /* Range */
173
- --range-border-color: #202632;
174
- --range-active-border: #2a3140;
175
- --range-thumb-border: var(--color-background);
176
- --range-thumb-color: var(--color-secondary-bg);
177
- --range-thumb-active: var(--color-primary-bg);
178
-
179
- /* Accordion */
180
- --accordion-border: var(--color-border-muted);
181
- --accordion-active-summary: var(--color-primary-hover);
182
- --accordion-closed-summary: var(--color-text);
183
- --accordion-open-summary: var(--color-text-muted);
184
-
185
- /* Card */
186
- --pane-bg: #181c25;
187
- --pane-border: transparent;
188
- --pane-shadow: none;
189
- --pane-section-border: var(--pane-bg);
190
- --pane-section-bg: rgb(26, 30.5, 40.25);
191
-
192
- /* Dropdown */
193
- --menu-bg: #181c25;
194
- --menu-border: #202632;
195
- --menu-shadow: var(--shadow-lg);
196
- --menu-text: var(--color-text);
197
- --menu-hover-bg: #202632;
198
-
199
- /* Loading & Modal */
200
- --loading-spinner-opacity: 0.5;
201
-
202
- /* Progress */
203
- --progress-bg: #202632;
204
- --progress-fill: var(--color-primary-bg);
205
-
206
- /* Tooltip */
207
- --tooltip-bg: var(--color-contrast-bg);
208
- --tooltip-text: var(--color-contrast-inverse);
209
-
210
- /* Backdrop Overlay */
211
- --backdrop-overlay-filter: blur(0.375rem);
212
- --backdrop-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
213
- }
214
-
215
- :root: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
- :host(:not([data-theme])) input:is(
224
- [type="submit"],
225
- [type="button"],
226
- [type="reset"],
227
- [type="checkbox"],
228
- [type="radio"],
229
- [type="file"]
230
- ) {
231
- --form-focus: var(--color-primary-focus);
232
- }
233
- }
234
-
235
- /* ==========================================================================
236
- Dark Theme Component Variables (Explicit)
237
- ========================================================================== */
238
-
239
- [data-theme="dark"] {
240
- /* Button */
241
- --button-shadow: 0 0 0 rgba(0, 0, 0, 0);
242
- --button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
243
-
244
- /* Table */
245
- --table-border-color: var(--color-border-muted);
246
- --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
247
-
248
- /* Code */
249
- --code-bg: rgb(26, 30.5, 40.25);
250
- --code-color: #8891a4;
251
- --kbd-bg: var(--color-text);
252
- --kbd-color: var(--color-background);
253
-
254
- /* Form Elements */
255
- --form-bg: rgb(28, 33, 43.5);
256
- --form-selected-bg: #2a3140;
257
- --form-border-color: #2a3140;
258
- --form-text-color: #e0e3e7;
259
- --form-placeholder-color: #8891a4;
260
- --form-active-bg: rgb(26, 30.5, 40.25);
261
- --form-active-border: var(--color-primary-border);
262
- --form-focus: var(--color-primary-border);
263
- --form-disabled-opacity: 0.5;
264
- --form-invalid-border: rgb(var(--color-danger-rgb));
265
- --form-invalid-active-border: rgb(var(--color-danger-rgb));
266
- --form-invalid-focus: rgba(var(--color-danger-rgb), 0.5);
267
- --form-valid-border: rgb(var(--color-success-rgb));
268
- --form-valid-active-border: rgb(var(--color-success-rgb));
269
- --form-valid-focus: rgba(var(--color-success-rgb), 0.5);
270
-
271
- /* Switch */
272
- --switch-bg: #333c4e;
273
- --switch-checked-bg: var(--color-primary-bg);
274
- --switch-thumb-color: #fff;
275
- --switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0);
276
-
277
- /* Range */
278
- --range-border-color: #202632;
279
- --range-active-border: #2a3140;
280
- --range-thumb-border: var(--color-background);
281
- --range-thumb-color: var(--color-secondary-bg);
282
- --range-thumb-active: var(--color-primary-bg);
283
-
284
- /* Accordion */
285
- --accordion-border: var(--color-border-muted);
286
- --accordion-active-summary: var(--color-primary-hover);
287
- --accordion-closed-summary: var(--color-text);
288
- --accordion-open-summary: var(--color-text-muted);
289
-
290
- /* Card */
291
- --pane-bg: #181c25;
292
- --pane-border: transparent;
293
- --pane-shadow: none;
294
- --pane-section-border: var(--pane-bg);
295
- --pane-section-bg: rgb(26, 30.5, 40.25);
296
-
297
- /* Dropdown */
298
- --menu-bg: #181c25;
299
- --menu-border: #202632;
300
- --menu-shadow: var(--shadow-lg);
301
- --menu-text: var(--color-text);
302
- --menu-hover-bg: #202632;
303
-
304
- /* Loading */
305
- --loading-spinner-opacity: 0.5;
306
-
307
- /* Progress */
308
- --progress-bg: #202632;
309
- --progress-fill: var(--color-primary-bg);
310
-
311
- /* Tooltip */
312
- --tooltip-bg: var(--color-contrast-bg);
313
- --tooltip-text: var(--color-contrast-inverse);
314
-
315
- /* Backdrop Overlay */
316
- --backdrop-overlay-filter: blur(0.375rem);
317
- --backdrop-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
318
- }
319
-
320
- /* Form focus override for actionable input types in explicit dark mode */
321
- [data-theme="dark"] input:is(
322
- [type="submit"],
323
- [type="button"],
324
- [type="reset"],
325
- [type="checkbox"],
326
- [type="radio"],
327
- [type="file"]
328
- ) {
329
- --form-focus: var(--color-primary-focus);
330
- }