@semanticus/semanticus-css 0.8.0 → 0.9.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 (73) hide show
  1. package/dist/semanticus-semantics.css +1 -1
  2. package/dist/semanticus.css +2 -2
  3. package/dist/semanticus.size.pico.css +1 -1
  4. package/package.json +11 -8
  5. package/src/semantics/_misc.css +3 -0
  6. package/src/semantics/attributes/_popover.css +13 -0
  7. package/src/semantics/attributes/_role-group-search.css +140 -0
  8. package/src/semantics/elements/_abbr.css +5 -0
  9. package/src/semantics/elements/_address.css +7 -0
  10. package/src/semantics/elements/_article.css +6 -0
  11. package/src/semantics/{_aside.css → elements/_aside.css} +1 -1
  12. package/src/semantics/elements/_blockquote.css +18 -0
  13. package/src/semantics/{_button.css → elements/_button.css} +2 -2
  14. package/src/semantics/{_code.css → elements/_code.css} +10 -7
  15. package/src/semantics/elements/_del.css +3 -0
  16. package/src/semantics/{_details.css → elements/_details.css} +9 -9
  17. package/src/semantics/elements/_dialog.css +117 -0
  18. package/src/semantics/elements/_footer.css +13 -0
  19. package/src/semantics/elements/_header.css +13 -0
  20. package/src/semantics/elements/_headings.css +34 -0
  21. package/src/semantics/elements/_hgroup.css +14 -0
  22. package/src/semantics/{_hr.css → elements/_hr.css} +1 -1
  23. package/src/semantics/{_input.css → elements/_input.css} +1 -2
  24. package/src/semantics/elements/_ins.css +4 -0
  25. package/src/semantics/{_links.css → elements/_links.css} +11 -4
  26. package/src/semantics/elements/_lists.css +22 -0
  27. package/src/semantics/elements/_main.css +7 -0
  28. package/src/semantics/elements/_mark.css +6 -0
  29. package/src/semantics/{_nav.css → elements/_nav.css} +4 -4
  30. package/src/semantics/elements/_p.css +11 -0
  31. package/src/semantics/elements/_section.css +7 -0
  32. package/src/semantics/elements/_strong.css +4 -0
  33. package/src/semantics/elements/_sub.css +7 -0
  34. package/src/semantics/elements/_sup.css +7 -0
  35. package/src/semantics/{_table.css → elements/_table.css} +7 -2
  36. package/src/semantics/modules.css +47 -32
  37. package/src/sizes/pico.css +14 -9
  38. package/src/variables/_colors.css +11 -22
  39. package/src/variables/_components.css +59 -47
  40. package/src/variables/_elements.css +0 -5
  41. package/src/variables/_icons.css +12 -0
  42. package/src/variables/_layout.css +18 -23
  43. package/src/variants/_contrast.css +27 -13
  44. package/src/variants/_ghost.css +35 -28
  45. package/src/variants/_pane-panel-card.css +54 -0
  46. package/src/variants/_secondary.css +24 -11
  47. package/src/variants/_sidebar.css +49 -9
  48. package/src/variants/modules.css +4 -5
  49. package/src/semantics/_article.css +0 -12
  50. package/src/semantics/_dialog.css +0 -157
  51. package/src/semantics/_footer.css +0 -12
  52. package/src/semantics/_header.css +0 -12
  53. package/src/semantics/_main.css +0 -10
  54. package/src/semantics/_role-group-search.css +0 -129
  55. package/src/semantics/_section.css +0 -9
  56. package/src/semantics/_typography.css +0 -146
  57. package/src/variants/_card.css +0 -45
  58. package/src/variants/_panel.css +0 -18
  59. /package/src/semantics/{_aria-busy.css → attributes/_aria-busy.css} +0 -0
  60. /package/src/semantics/{_hidden.css → attributes/_hidden.css} +0 -0
  61. /package/src/semantics/{_role-toolbar.css → attributes/_role-toolbar.css} +0 -0
  62. /package/src/semantics/{_role-tooltip.css → attributes/_role-tooltip.css} +0 -0
  63. /package/src/semantics/{_body.css → elements/_body.css} +0 -0
  64. /package/src/semantics/{_document.css → elements/_document.css} +0 -0
  65. /package/src/semantics/{_embedded.css → elements/_embedded.css} +0 -0
  66. /package/src/semantics/{_figure.css → elements/_figure.css} +0 -0
  67. /package/src/semantics/{_progress.css → elements/_progress.css} +0 -0
  68. /package/src/semantics/{_type-checkbox-radio.css → elements/_type-checkbox-radio.css} +0 -0
  69. /package/src/semantics/{_type-color.css → elements/_type-color.css} +0 -0
  70. /package/src/semantics/{_type-date.css → elements/_type-date.css} +0 -0
  71. /package/src/semantics/{_type-file.css → elements/_type-file.css} +0 -0
  72. /package/src/semantics/{_type-range.css → elements/_type-range.css} +0 -0
  73. /package/src/semantics/{_type-search.css → elements/_type-search.css} +0 -0
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Main fills up the available width, and has a height defined by its content.
3
+ * Stacks its children vertically.
4
+ */
5
+ main {
6
+ width: 100%;
7
+ }
@@ -0,0 +1,6 @@
1
+ mark {
2
+ padding: 0.125rem 0.25rem;
3
+ background-color: var(--color-mark-bg);
4
+ color: var(--color-mark-text);
5
+ vertical-align: baseline;
6
+ }
@@ -6,7 +6,7 @@ nav {
6
6
  --typography-headings-top: 0;
7
7
 
8
8
  display: flex;
9
- gap: var(--spacing);
9
+ gap: calc(var(--nav-link-spacing) * 1.5);
10
10
  align-items: center;
11
11
  justify-content: space-between;
12
12
  overflow: visible;
@@ -21,13 +21,13 @@ nav {
21
21
 
22
22
  & ul li {
23
23
  &:not(:first-child) {
24
- margin-inline-start: calc(var(--nav-link-spacing-horizontal) * 2);
24
+ margin-inline-start: calc(var(--nav-link-spacing) * 2);
25
25
  }
26
26
 
27
27
  &:not(:last-child)::after {
28
28
  display: inline-block;
29
29
  position: absolute;
30
- width: calc(var(--nav-link-spacing-horizontal) * 4);
30
+ width: calc(var(--nav-link-spacing) * 3);
31
31
  content: var(--nav-breadcrumb-divider);
32
32
  color: var(--color-text-muted);
33
33
  text-align: center;
@@ -47,7 +47,7 @@ nav {
47
47
  ul, ol {
48
48
  align-items: center;
49
49
  display: flex;
50
- gap: var(--spacing);
50
+ gap: calc(var(--nav-link-spacing) * 1.5);
51
51
  list-style: none;
52
52
  margin-bottom: 0 !important;
53
53
  padding: 0;
@@ -0,0 +1,11 @@
1
+ p {
2
+ color: var(--color-text);
3
+ font-style: normal;
4
+ font-weight: var(--font-weight);
5
+ margin-bottom: var(--typography-spacing-vertical);
6
+ margin-top: 0;
7
+
8
+ &:last-of-type {
9
+ margin-bottom: 0;
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Section
3
+ */
4
+ section {
5
+ width: 100%;
6
+ margin-bottom: var(--spacing);
7
+ }
@@ -0,0 +1,4 @@
1
+ b,
2
+ strong {
3
+ font-weight: bolder;
4
+ }
@@ -0,0 +1,7 @@
1
+ sub {
2
+ position: relative;
3
+ font-size: 0.75em;
4
+ line-height: 0;
5
+ vertical-align: baseline;
6
+ bottom: -0.25em;
7
+ }
@@ -0,0 +1,7 @@
1
+ sup {
2
+ position: relative;
3
+ font-size: 0.75em;
4
+ line-height: 0;
5
+ vertical-align: baseline;
6
+ top: -0.5em;
7
+ }
@@ -1,11 +1,16 @@
1
1
  /**
2
2
  * Table
3
3
  */
4
- :where(table) {
5
- width: 100%;
4
+ table {
6
5
  border-collapse: collapse;
7
6
  border-spacing: 0;
7
+ color: var(--color-text);
8
+ font-style: normal;
9
+ font-weight: var(--font-weight);
10
+ margin-bottom: var(--typography-spacing-vertical);
11
+ margin-top: 0;
8
12
  text-indent: 0;
13
+ width: 100%;
9
14
  }
10
15
 
11
16
  th,
@@ -3,36 +3,51 @@
3
3
  * Just the semantic component styles (no variables, no normalize)
4
4
  * Used by the full version which imports variables/normalize separately
5
5
  */
6
+ @import "./_misc.css";
6
7
 
7
- @import "./_aria-busy.css";
8
- @import "./_article.css";
9
- @import "./_aside.css";
10
- @import "./_body.css";
11
- @import "./_button.css";
12
- @import "./_code.css";
13
- @import "./_details.css";
14
- @import "./_dialog.css";
15
- @import "./_document.css";
16
- @import "./_embedded.css";
17
- @import "./_figure.css";
18
- @import "./_footer.css";
19
- @import "./_header.css";
20
- @import "./_hidden.css";
21
- @import "./_hr.css";
22
- @import "./_input.css";
23
- @import "./_links.css";
24
- @import "./_main.css";
25
- @import "./_nav.css";
26
- @import "./_progress.css";
27
- @import "./_role-group-search.css";
28
- @import "./_role-toolbar.css";
29
- @import "./_role-tooltip.css";
30
- @import "./_section.css";
31
- @import "./_table.css";
32
- @import "./_type-checkbox-radio.css";
33
- @import "./_type-color.css";
34
- @import "./_type-date.css";
35
- @import "./_type-file.css";
36
- @import "./_type-range.css";
37
- @import "./_type-search.css";
38
- @import "./_typography.css";
8
+ @import "./attributes/_aria-busy.css";
9
+ @import "./attributes/_hidden.css";
10
+ @import "./attributes/_popover.css";
11
+ @import "./attributes/_role-group-search.css";
12
+ @import "./attributes/_role-toolbar.css";
13
+ @import "./attributes/_role-tooltip.css";
14
+
15
+ @import "./elements/_abbr.css";
16
+ @import "./elements/_address.css";
17
+ @import "./elements/_article.css";
18
+ @import "./elements/_aside.css";
19
+ @import "./elements/_blockquote.css";
20
+ @import "./elements/_body.css";
21
+ @import "./elements/_button.css";
22
+ @import "./elements/_code.css";
23
+ @import "./elements/_del.css";
24
+ @import "./elements/_details.css";
25
+ @import "./elements/_dialog.css";
26
+ @import "./elements/_document.css";
27
+ @import "./elements/_embedded.css";
28
+ @import "./elements/_figure.css";
29
+ @import "./elements/_footer.css";
30
+ @import "./elements/_header.css";
31
+ @import "./elements/_headings.css";
32
+ @import "./elements/_hgroup.css";
33
+ @import "./elements/_hr.css";
34
+ @import "./elements/_input.css";
35
+ @import "./elements/_ins.css";
36
+ @import "./elements/_links.css";
37
+ @import "./elements/_lists.css";
38
+ @import "./elements/_main.css";
39
+ @import "./elements/_mark.css";
40
+ @import "./elements/_nav.css";
41
+ @import "./elements/_p.css";
42
+ @import "./elements/_progress.css";
43
+ @import "./elements/_section.css";
44
+ @import "./elements/_strong.css";
45
+ @import "./elements/_sub.css";
46
+ @import "./elements/_sup.css";
47
+ @import "./elements/_table.css";
48
+ @import "./elements/_type-checkbox-radio.css";
49
+ @import "./elements/_type-color.css";
50
+ @import "./elements/_type-date.css";
51
+ @import "./elements/_type-file.css";
52
+ @import "./elements/_type-range.css";
53
+ @import "./elements/_type-search.css";
@@ -22,11 +22,10 @@
22
22
  --transition: 0.2s ease-in-out; /* Default transition timing for interactive state changes */
23
23
 
24
24
  /* Spacing – shared base unit used for padding, margins, and gaps throughout the layout */
25
- --spacing: 1rem;
26
- --responsive-multiplier: 1; /* Multiplier applied to spacing for responsive adjustments at wider breakpoints */
25
+ --base-spacing: 1rem;
26
+ --responsive-multiplier: 1;
27
+ --spacing: calc(var(--base-spacing) * var(--responsive-multiplier));
27
28
  --typography-spacing-vertical: 1rem; /* Vertical margin below typographic elements (p, lists, etc.) */
28
- --block-spacing-vertical: var(--spacing); /* Vertical padding inside block-level components (cards, modals, etc.) */
29
- --block-spacing-horizontal: var(--spacing); /* Horizontal padding inside block-level components */
30
29
  --grid-column-gap: var(--spacing); /* Column gap in CSS Grid layouts */
31
30
  --grid-row-gap: var(--spacing); /* Row gap in CSS Grid layouts */
32
31
  --form-element-spacing-vertical: 0.75rem; /* Vertical padding inside form inputs, selects, and textareas */
@@ -37,12 +36,8 @@
37
36
  --group-shadow-focus-with-button: 0 0 0 var(--outline-width) var(--color-primary-focus); /* Focus ring when a button inside the group is focused */
38
37
  --group-shadow-focus-with-input: 0 0 0 0.0625rem var(--form-border-color); /* Focus ring when an input inside the group is focused */
39
38
 
40
- /* Modal – backdrop overlay settings */
41
- --modal-overlay-backdrop-filter: blur(0.375rem); /* Applies a blur behind the modal overlay */
42
-
43
39
  /* Navigation – spacing and breadcrumb configuration */
44
- --nav-link-spacing-vertical: 0.5rem; /* Vertical padding inside nav links */
45
- --nav-link-spacing-horizontal: 0.5rem; /* Horizontal padding inside nav links */
40
+ --nav-link-spacing: calc(var(--spacing) * 0.5); /* padding inside nav links */
46
41
  --nav-breadcrumb-divider: ">"; /* Character displayed between breadcrumb items */
47
42
 
48
43
  --sidebar-width: 25%; /* Sidebar width */
@@ -55,6 +50,8 @@
55
50
  --font-size: 106.25%;
56
51
  --sidebar-width: max(25%, 150px);
57
52
  --responsive-multiplier: 1.25;
53
+ --spacing: calc(var(--base-spacing) * var(--responsive-multiplier));
54
+ --nav-link-spacing: calc(var(--spacing) * 0.5);
58
55
  }
59
56
  }
60
57
 
@@ -64,6 +61,8 @@
64
61
  --font-size: 112.5%;
65
62
  --sidebar-width: max(22%, 180px);
66
63
  --responsive-multiplier: 1.5;
64
+ --spacing: calc(var(--base-spacing) * var(--responsive-multiplier));
65
+ --nav-link-spacing: calc(var(--spacing) * 0.5);
67
66
  }
68
67
  }
69
68
 
@@ -73,6 +72,8 @@
73
72
  --font-size: 118.75%;
74
73
  --sidebar-width: max(20%, 200px);
75
74
  --responsive-multiplier: 1.75;
75
+ --spacing: calc(var(--base-spacing) * var(--responsive-multiplier));
76
+ --nav-link-spacing: calc(var(--spacing) * 0.5);
76
77
  }
77
78
  }
78
79
 
@@ -82,6 +83,8 @@
82
83
  --font-size: 125%;
83
84
  --sidebar-width: max(18%, 220px);
84
85
  --responsive-multiplier: 2;
86
+ --spacing: calc(var(--base-spacing) * var(--responsive-multiplier));
87
+ --nav-link-spacing: calc(var(--spacing) * 0.5);
85
88
  }
86
89
  }
87
90
 
@@ -91,5 +94,7 @@
91
94
  --font-size: 131.25%;
92
95
  --sidebar-width: clamp(240px, 16%, 300px);
93
96
  --responsive-multiplier: 2.25;
97
+ --spacing: calc(var(--base-spacing) * var(--responsive-multiplier));
98
+ --nav-link-spacing: calc(var(--spacing) * 0.5);
94
99
  }
95
100
  }
@@ -55,7 +55,7 @@
55
55
  --color-info-emphasis-rgb: 2, 93, 93;
56
56
  --color-warning-emphasis-rgb: 105, 77, 0;
57
57
  --color-danger-emphasis-rgb: 155, 35, 24;
58
- --color-contrast-emphasis-rgb: 249, 250, 251;
58
+ --color-contrast-emphasis-rgb: 248, 249, 250;
59
59
 
60
60
  /* Subtle backgrounds (low opacity) */
61
61
  --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.1);
@@ -64,7 +64,7 @@
64
64
  --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.1);
65
65
  --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.1);
66
66
  --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.1);
67
- --color-contrast-bg-subtle: #ced4da;
67
+ --color-contrast-bg-subtle: rgba(var(--color-contrast-rgb), 0.85);
68
68
 
69
69
  /* Subtle borders (medium opacity) */
70
70
  --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
@@ -73,7 +73,7 @@
73
73
  --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
74
74
  --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
75
75
  --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
76
- --color-contrast-border-subtle: #adb5bd;
76
+ --color-contrast-border-subtle: rgb(var(--color-contrast-rgb));
77
77
 
78
78
  /* Status inverse colors */
79
79
  --color-success-inverse: #fff;
@@ -82,7 +82,8 @@
82
82
  --color-danger-inverse: #fff;
83
83
 
84
84
  /* Core Colors */
85
- --color-background: #fff;
85
+ --color-body-bg: rgb(var(--color-body-bg-rgb));
86
+ --color-background: var(--color-body-bg);
86
87
  --color-text: rgb(var(--color-text-rgb));
87
88
  --color-text-selection: rgba(2, 154, 232, 0.25);
88
89
  --color-text-muted: color-mix(in srgb, rgb(var(--color-text-rgb)), rgb(128, 128, 128) 70%);
@@ -132,10 +133,6 @@
132
133
  /* Mark & Text */
133
134
  --color-mark-bg: rgb(252.5, 230.5, 191.5);
134
135
  --color-mark-text: #0f1114;
135
-
136
- /* Blockquote */
137
- --blockquote-border-color: var(--color-border-muted);
138
- --blockquote-footer-color: var(--color-text-muted);
139
136
  }
140
137
 
141
138
  /* ==========================================================================
@@ -175,7 +172,7 @@
175
172
  --color-info-emphasis-rgb: 37, 221, 221;
176
173
  --color-warning-emphasis-rgb: 232, 174, 1;
177
174
  --color-danger-emphasis-rgb: 245, 183, 168;
178
- --color-contrast-emphasis-rgb: 255, 255, 255;
175
+ --color-contrast-emphasis-rgb: 24, 28, 37;
179
176
 
180
177
  /* Subtle backgrounds */
181
178
  --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.15);
@@ -184,7 +181,7 @@
184
181
  --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.15);
185
182
  --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.15);
186
183
  --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.15);
187
- --color-contrast-bg-subtle: #2a3140;
184
+ --color-contrast-bg-subtle: color-mix(in srgb, rgb(var(--color-contrast-rgb)), black 7%);
188
185
 
189
186
  /* Subtle borders */
190
187
  --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
@@ -193,7 +190,7 @@
193
190
  --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
194
191
  --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
195
192
  --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
196
- --color-contrast-border-subtle: #2a3140;
193
+ --color-contrast-border-subtle: rgb(var(--color-contrast-rgb));
197
194
 
198
195
  /* Core Colors */
199
196
  --color-background: rgb(19, 22.5, 30.5);
@@ -246,10 +243,6 @@
246
243
  /* Mark & Text */
247
244
  --color-mark-bg: #014063;
248
245
  --color-mark-text: #fff;
249
-
250
- /* Blockquote */
251
- --blockquote-border-color: var(--color-border-muted);
252
- --blockquote-footer-color: var(--color-text-muted);
253
246
  }
254
247
  }
255
248
 
@@ -288,7 +281,7 @@
288
281
  --color-info-emphasis-rgb: 37, 221, 221;
289
282
  --color-warning-emphasis-rgb: 232, 174, 1;
290
283
  --color-danger-emphasis-rgb: 245, 183, 168;
291
- --color-contrast-emphasis-rgb: 255, 255, 255;
284
+ --color-contrast-emphasis-rgb: 24, 28, 37;
292
285
 
293
286
  /* Subtle backgrounds */
294
287
  --color-primary-bg-subtle: rgba(var(--color-primary-rgb), 0.15);
@@ -297,7 +290,7 @@
297
290
  --color-info-bg-subtle: rgba(var(--color-info-rgb), 0.15);
298
291
  --color-warning-bg-subtle: rgba(var(--color-warning-rgb), 0.15);
299
292
  --color-danger-bg-subtle: rgba(var(--color-danger-rgb), 0.15);
300
- --color-contrast-bg-subtle: #2a3140;
293
+ --color-contrast-bg-subtle: color-mix(in srgb, rgb(var(--color-contrast-rgb)), black 7%);
301
294
 
302
295
  /* Subtle borders */
303
296
  --color-primary-border-subtle: rgba(var(--color-primary-rgb), 0.35);
@@ -306,7 +299,7 @@
306
299
  --color-info-border-subtle: rgba(var(--color-info-rgb), 0.35);
307
300
  --color-warning-border-subtle: rgba(var(--color-warning-rgb), 0.35);
308
301
  --color-danger-border-subtle: rgba(var(--color-danger-rgb), 0.35);
309
- --color-contrast-border-subtle: #2a3140;
302
+ --color-contrast-border-subtle: rgb(var(--color-contrast-rgb));
310
303
 
311
304
  /* Core Colors */
312
305
  --color-background: rgb(19, 22.5, 30.5);
@@ -359,8 +352,4 @@
359
352
  /* Mark & Text */
360
353
  --color-mark-bg: #014063;
361
354
  --color-mark-text: #fff;
362
-
363
- /* Blockquote */
364
- --blockquote-border-color: var(--color-border-muted);
365
- --blockquote-footer-color: var(--color-text-muted);
366
355
  }
@@ -26,10 +26,10 @@
26
26
  --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
27
27
 
28
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);
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
33
 
34
34
  /* Form Elements */
35
35
  --form-bg: rgb(251, 251.5, 252.25);
@@ -68,21 +68,21 @@
68
68
  --accordion-open-summary: var(--color-text-muted);
69
69
 
70
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 */
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 */
84
85
  --loading-spinner-opacity: 0.5;
85
- --modal-overlay-bg: rgba(232, 234, 237, 0.75);
86
86
 
87
87
  /* Progress */
88
88
  --progress-bg: #dfe3eb;
@@ -91,6 +91,10 @@
91
91
  /* Tooltip */
92
92
  --tooltip-bg: var(--color-contrast-bg);
93
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);
94
98
  }
95
99
 
96
100
  /* Form focus override for actionable input types in light mode */
@@ -137,10 +141,10 @@
137
141
  --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
138
142
 
139
143
  /* 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
+ --code-bg: rgb(26, 30.5, 40.25);
145
+ --code-color: #8891a4;
146
+ --kbd-bg: var(--color-text);
147
+ --kbd-color: var(--color-background);
144
148
 
145
149
  /* Form Elements */
146
150
  --form-bg: rgb(28, 33, 43.5);
@@ -179,21 +183,21 @@
179
183
  --accordion-open-summary: var(--color-text-muted);
180
184
 
181
185
  /* 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
+ --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);
186
191
 
187
192
  /* 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
+ --menu-bg: #181c25;
194
+ --menu-border: #202632;
195
+ --menu-shadow: var(--shadow-lg);
196
+ --menu-text: var(--color-text);
197
+ --menu-hover-bg: #202632;
193
198
 
194
199
  /* Loading & Modal */
195
200
  --loading-spinner-opacity: 0.5;
196
- --modal-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
197
201
 
198
202
  /* Progress */
199
203
  --progress-bg: #202632;
@@ -202,6 +206,10 @@
202
206
  /* Tooltip */
203
207
  --tooltip-bg: var(--color-contrast-bg);
204
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);
205
213
  }
206
214
 
207
215
  :root:not([data-theme]) input:is(
@@ -238,10 +246,10 @@
238
246
  --table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
239
247
 
240
248
  /* 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);
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);
245
253
 
246
254
  /* Form Elements */
247
255
  --form-bg: rgb(28, 33, 43.5);
@@ -280,21 +288,21 @@
280
288
  --accordion-open-summary: var(--color-text-muted);
281
289
 
282
290
  /* 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);
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);
287
296
 
288
297
  /* 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;
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;
294
303
 
295
- /* Loading & Modal */
304
+ /* Loading */
296
305
  --loading-spinner-opacity: 0.5;
297
- --modal-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
298
306
 
299
307
  /* Progress */
300
308
  --progress-bg: #202632;
@@ -303,6 +311,10 @@
303
311
  /* Tooltip */
304
312
  --tooltip-bg: var(--color-contrast-bg);
305
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);
306
318
  }
307
319
 
308
320
  /* Form focus override for actionable input types in explicit dark mode */
@@ -15,11 +15,6 @@ a {
15
15
  --text-decoration: underline;
16
16
  }
17
17
 
18
- a.secondary,
19
- a.contrast {
20
- --text-decoration: underline;
21
- }
22
-
23
18
  /* Small text */
24
19
  small {
25
20
  --font-size: 0.875em;
@@ -10,6 +10,18 @@
10
10
  are defined in _layout.css as they use consistent colors across themes.
11
11
  ========================================================================== */
12
12
 
13
+ :root,
14
+ :host {
15
+ --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
16
+ --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
17
+ --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
18
+ --icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
19
+ --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");
20
+ --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
21
+ --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
22
+ --icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E");
23
+ }
24
+
13
25
  /* ==========================================================================
14
26
  Light Theme Validation Icons
15
27
  ========================================================================== */