@semanticus/semanticus-css 0.4.0 → 0.7.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.
- package/README.md +4 -4
- package/dist/semanticus-semantics.css +1 -1
- package/dist/semanticus-utilities.css +2 -2
- package/dist/semanticus-variants.css +1 -1
- package/dist/semanticus.css +2 -2
- package/dist/semanticus.size.slim.css +1 -1
- package/package.json +5 -5
- package/src/index.css +4 -4
- package/src/semantics/_article.css +10 -4
- package/src/semantics/_aside.css +16 -0
- package/src/semantics/_body.css +5 -7
- package/src/semantics/_button.css +25 -1
- package/src/semantics/_details.css +7 -8
- package/src/semantics/_dialog.css +11 -17
- package/src/semantics/_footer.css +12 -0
- package/src/semantics/_header.css +12 -0
- package/src/semantics/_links.css +17 -0
- package/src/semantics/_main.css +8 -1
- package/src/semantics/_nav.css +55 -88
- package/src/semantics/_role-tooltip.css +1 -1
- package/src/semantics/_section.css +3 -0
- package/src/semantics/_typography.css +15 -6
- package/src/semantics/index.css +1 -1
- package/src/semantics/modules.css +3 -0
- package/src/sizes/slim.css +31 -2
- package/src/utilities/_variables.css +5 -0
- package/src/utilities/colors/_background-colors.css +39 -7
- package/src/utilities/colors/_text-colors.css +108 -18
- package/src/utilities/index.css +2 -2
- package/src/utilities/sizing/_height.css +4 -0
- package/src/utilities/sizing/_width.css +8 -0
- package/src/{_variables.css → variables/_all.css} +17 -145
- package/src/variables/_shared.css +121 -0
- package/src/variants/_card.css +4 -0
- package/src/variants/_contained.css +43 -0
- package/src/variants/_container.css +1 -1
- package/src/variants/_contrast.css +13 -16
- package/src/variants/_flow.css +15 -0
- package/src/variants/_ghost.css +36 -33
- package/src/variants/_panel.css +18 -0
- package/src/variants/_secondary.css +1 -4
- package/src/variants/_sidebar.css +11 -0
- package/src/variants/index.css +2 -2
- package/src/variants/modules.css +8 -2
|
@@ -1,49 +1,56 @@
|
|
|
1
1
|
.text-bg-primary {
|
|
2
2
|
--color-text: var(--color-primary-inverse) !important;
|
|
3
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
3
4
|
|
|
4
|
-
color: var(--color-
|
|
5
|
+
color: var(--color-text) !important;
|
|
5
6
|
background-color: rgba(var(--primary-rgb), var(--bg-opacity, 1)) !important;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
.text-bg-secondary {
|
|
9
10
|
--color-text: var(--color-secondary-inverse) !important;
|
|
11
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
10
12
|
|
|
11
|
-
color: var(--color-
|
|
13
|
+
color: var(--color-text) !important;
|
|
12
14
|
background-color: rgba(var(--secondary-rgb), var(--bg-opacity, 1)) !important;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
.text-bg-success {
|
|
16
18
|
--color-text: var(--color-success-inverse) !important;
|
|
19
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
17
20
|
|
|
18
|
-
color: var(--color-
|
|
21
|
+
color: var(--color-text) !important;
|
|
19
22
|
background-color: rgba(var(--success-rgb), var(--bg-opacity, 1)) !important;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
.text-bg-info {
|
|
23
26
|
--color-text: var(--color-info-inverse) !important;
|
|
27
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
24
28
|
|
|
25
|
-
color: var(--color-
|
|
29
|
+
color: var(--color-text) !important;
|
|
26
30
|
background-color: rgba(var(--info-rgb), var(--bg-opacity, 1)) !important;
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
.text-bg-warning {
|
|
30
34
|
--color-text: var(--color-warning-inverse) !important;
|
|
35
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
31
36
|
|
|
32
|
-
color: var(--color-
|
|
37
|
+
color: var(--color-text) !important;
|
|
33
38
|
background-color: rgba(var(--warning-rgb), var(--bg-opacity, 1)) !important;
|
|
34
39
|
}
|
|
35
40
|
|
|
36
41
|
.text-bg-danger {
|
|
37
42
|
--color-text: var(--color-danger-inverse) !important;
|
|
43
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
38
44
|
|
|
39
|
-
color: var(--color-
|
|
45
|
+
color: var(--color-text) !important;
|
|
40
46
|
background-color: rgba(var(--danger-rgb), var(--bg-opacity, 1)) !important;
|
|
41
47
|
}
|
|
42
48
|
|
|
43
49
|
.text-bg-contrast {
|
|
44
50
|
--color-text: var(--color-contrast-inverse) !important;
|
|
51
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
45
52
|
|
|
46
|
-
color: var(--color-
|
|
53
|
+
color: var(--color-text) !important;
|
|
47
54
|
background-color: rgba(var(--contrast-rgb), var(--bg-opacity, 1)) !important;
|
|
48
55
|
}
|
|
49
56
|
|
|
@@ -207,3 +214,28 @@
|
|
|
207
214
|
.bg-gradient {
|
|
208
215
|
background-image: var(--gradient) !important;
|
|
209
216
|
}
|
|
217
|
+
|
|
218
|
+
/* Dark mode: headings should be lighter than inverse text (mix in white) */
|
|
219
|
+
@media (prefers-color-scheme: dark) {
|
|
220
|
+
.text-bg-primary,
|
|
221
|
+
.text-bg-secondary,
|
|
222
|
+
.text-bg-success,
|
|
223
|
+
.text-bg-info,
|
|
224
|
+
.text-bg-warning,
|
|
225
|
+
.text-bg-danger,
|
|
226
|
+
.text-bg-contrast {
|
|
227
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), white 75%);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
[data-theme="dark"] {
|
|
232
|
+
.text-bg-primary,
|
|
233
|
+
.text-bg-secondary,
|
|
234
|
+
.text-bg-success,
|
|
235
|
+
.text-bg-info,
|
|
236
|
+
.text-bg-warning,
|
|
237
|
+
.text-bg-danger,
|
|
238
|
+
.text-bg-contrast {
|
|
239
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), white 75%);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
@@ -88,68 +88,90 @@
|
|
|
88
88
|
|
|
89
89
|
.text-primary {
|
|
90
90
|
--text-opacity: 1;
|
|
91
|
+
--color-text: rgba(var(--primary-rgb), var(--text-opacity)) !important;
|
|
92
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
91
93
|
|
|
92
|
-
color:
|
|
94
|
+
color: var(--color-text) !important;
|
|
93
95
|
}
|
|
94
96
|
|
|
95
97
|
.text-secondary {
|
|
96
98
|
--text-opacity: 1;
|
|
99
|
+
--color-text: rgba(var(--secondary-rgb), var(--text-opacity)) !important;
|
|
100
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
97
101
|
|
|
98
|
-
color:
|
|
102
|
+
color: var(--color-text) !important;
|
|
99
103
|
}
|
|
100
104
|
|
|
101
105
|
.text-success {
|
|
102
106
|
--text-opacity: 1;
|
|
107
|
+
--color-text: rgba(var(--success-rgb), var(--text-opacity)) !important;
|
|
108
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
103
109
|
|
|
104
|
-
color:
|
|
110
|
+
color: var(--color-text) !important;
|
|
105
111
|
}
|
|
106
112
|
|
|
107
113
|
.text-info {
|
|
108
114
|
--text-opacity: 1;
|
|
115
|
+
--color-text: rgba(var(--info-rgb), var(--text-opacity)) !important;
|
|
116
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
109
117
|
|
|
110
|
-
color:
|
|
118
|
+
color: var(--color-text) !important;
|
|
111
119
|
}
|
|
112
120
|
|
|
113
121
|
.text-warning {
|
|
114
122
|
--text-opacity: 1;
|
|
123
|
+
--color-text: rgba(var(--warning-rgb), var(--text-opacity)) !important;
|
|
124
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
115
125
|
|
|
116
|
-
color:
|
|
126
|
+
color: var(--color-text) !important;
|
|
117
127
|
}
|
|
118
128
|
|
|
119
129
|
.text-danger {
|
|
120
130
|
--text-opacity: 1;
|
|
131
|
+
--color-text: rgba(var(--danger-rgb), var(--text-opacity)) !important;
|
|
132
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
121
133
|
|
|
122
|
-
color:
|
|
134
|
+
color: var(--color-text) !important;
|
|
123
135
|
}
|
|
124
136
|
|
|
125
137
|
.text-contrast {
|
|
126
138
|
--text-opacity: 1;
|
|
139
|
+
--color-text: rgba(var(--contrast-rgb), var(--text-opacity)) !important;
|
|
140
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
127
141
|
|
|
128
|
-
color:
|
|
142
|
+
color: var(--color-text) !important;
|
|
129
143
|
}
|
|
130
144
|
|
|
131
145
|
.text-body {
|
|
132
146
|
--text-opacity: 1;
|
|
147
|
+
--color-text: rgba(var(--body-color-rgb), var(--text-opacity)) !important;
|
|
148
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
133
149
|
|
|
134
|
-
color:
|
|
150
|
+
color: var(--color-text) !important;
|
|
135
151
|
}
|
|
136
152
|
|
|
137
153
|
.text-muted {
|
|
138
154
|
--text-opacity: 1;
|
|
155
|
+
--color-text: var(--secondary-color) !important;
|
|
156
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
139
157
|
|
|
140
|
-
color: var(--
|
|
158
|
+
color: var(--color-text) !important;
|
|
141
159
|
}
|
|
142
160
|
|
|
143
161
|
.text-body-secondary {
|
|
144
162
|
--text-opacity: 1;
|
|
163
|
+
--color-text: var(--secondary-color) !important;
|
|
164
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
145
165
|
|
|
146
|
-
color: var(--
|
|
166
|
+
color: var(--color-text) !important;
|
|
147
167
|
}
|
|
148
168
|
|
|
149
169
|
.text-body-emphasis {
|
|
150
170
|
--text-opacity: 1;
|
|
171
|
+
--color-text: var(--emphasis-color) !important;
|
|
172
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
151
173
|
|
|
152
|
-
color: var(--
|
|
174
|
+
color: var(--color-text) !important;
|
|
153
175
|
}
|
|
154
176
|
|
|
155
177
|
.text-reset {
|
|
@@ -175,31 +197,52 @@
|
|
|
175
197
|
}
|
|
176
198
|
|
|
177
199
|
.text-primary-emphasis {
|
|
178
|
-
color: var(--primary-text-emphasis) !important;
|
|
200
|
+
--color-text: var(--primary-text-emphasis) !important;
|
|
201
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
202
|
+
|
|
203
|
+
color: var(--color-text) !important;
|
|
179
204
|
}
|
|
180
205
|
|
|
181
206
|
.text-secondary-emphasis {
|
|
182
|
-
color: var(--secondary-text-emphasis) !important;
|
|
207
|
+
--color-text: var(--secondary-text-emphasis) !important;
|
|
208
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
209
|
+
|
|
210
|
+
color: var(--color-text) !important;
|
|
183
211
|
}
|
|
184
212
|
|
|
185
213
|
.text-success-emphasis {
|
|
186
|
-
color: var(--success-text-emphasis) !important;
|
|
214
|
+
--color-text: var(--success-text-emphasis) !important;
|
|
215
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
216
|
+
|
|
217
|
+
color: var(--color-text) !important;
|
|
187
218
|
}
|
|
188
219
|
|
|
189
220
|
.text-info-emphasis {
|
|
190
|
-
color: var(--info-text-emphasis) !important;
|
|
221
|
+
--color-text: var(--info-text-emphasis) !important;
|
|
222
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
223
|
+
|
|
224
|
+
color: var(--color-text) !important;
|
|
191
225
|
}
|
|
192
226
|
|
|
193
227
|
.text-warning-emphasis {
|
|
194
|
-
color: var(--warning-text-emphasis) !important;
|
|
228
|
+
--color-text: var(--warning-text-emphasis) !important;
|
|
229
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
230
|
+
|
|
231
|
+
color: var(--color-text) !important;
|
|
195
232
|
}
|
|
196
233
|
|
|
197
234
|
.text-danger-emphasis {
|
|
198
|
-
color: var(--danger-text-emphasis) !important;
|
|
235
|
+
--color-text: var(--danger-text-emphasis) !important;
|
|
236
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
237
|
+
|
|
238
|
+
color: var(--color-text) !important;
|
|
199
239
|
}
|
|
200
240
|
|
|
201
241
|
.text-contrast-emphasis {
|
|
202
|
-
color: var(--contrast-text-emphasis) !important;
|
|
242
|
+
--color-text: var(--contrast-text-emphasis) !important;
|
|
243
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), black 18%);
|
|
244
|
+
|
|
245
|
+
color: var(--color-text) !important;
|
|
203
246
|
}
|
|
204
247
|
|
|
205
248
|
.link-opacity-10 {
|
|
@@ -369,3 +412,50 @@
|
|
|
369
412
|
.link-underline-opacity-100-hover:hover {
|
|
370
413
|
--link-underline-opacity: 1;
|
|
371
414
|
}
|
|
415
|
+
|
|
416
|
+
/* Dark mode: headings should be lighter than text color (mix in white) */
|
|
417
|
+
@media (prefers-color-scheme: dark) {
|
|
418
|
+
.text-primary,
|
|
419
|
+
.text-secondary,
|
|
420
|
+
.text-success,
|
|
421
|
+
.text-info,
|
|
422
|
+
.text-warning,
|
|
423
|
+
.text-danger,
|
|
424
|
+
.text-contrast,
|
|
425
|
+
.text-body,
|
|
426
|
+
.text-muted,
|
|
427
|
+
.text-body-secondary,
|
|
428
|
+
.text-body-emphasis,
|
|
429
|
+
.text-primary-emphasis,
|
|
430
|
+
.text-secondary-emphasis,
|
|
431
|
+
.text-success-emphasis,
|
|
432
|
+
.text-info-emphasis,
|
|
433
|
+
.text-warning-emphasis,
|
|
434
|
+
.text-danger-emphasis,
|
|
435
|
+
.text-contrast-emphasis {
|
|
436
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), white 75%);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
[data-theme="dark"] {
|
|
441
|
+
.text-primary,
|
|
442
|
+
.text-secondary,
|
|
443
|
+
.text-success,
|
|
444
|
+
.text-info,
|
|
445
|
+
.text-warning,
|
|
446
|
+
.text-danger,
|
|
447
|
+
.text-contrast,
|
|
448
|
+
.text-body,
|
|
449
|
+
.text-muted,
|
|
450
|
+
.text-body-secondary,
|
|
451
|
+
.text-body-emphasis,
|
|
452
|
+
.text-primary-emphasis,
|
|
453
|
+
.text-secondary-emphasis,
|
|
454
|
+
.text-success-emphasis,
|
|
455
|
+
.text-info-emphasis,
|
|
456
|
+
.text-warning-emphasis,
|
|
457
|
+
.text-danger-emphasis,
|
|
458
|
+
.text-contrast-emphasis {
|
|
459
|
+
--color-heading-base: color-mix(in srgb, var(--color-text), white 75%);
|
|
460
|
+
}
|
|
461
|
+
}
|
package/src/utilities/index.css
CHANGED
|
@@ -10,123 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
1. Base Tokens
|
|
15
|
-
========================================================================== */
|
|
16
|
-
|
|
17
|
-
:root {
|
|
18
|
-
--transparent: transparent;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/* ==========================================================================
|
|
22
|
-
Responsive Breakpoints (custom media queries)
|
|
23
|
-
Used consistently across semantics, variants, and utilities.
|
|
24
|
-
========================================================================== */
|
|
25
|
-
|
|
26
|
-
@custom-media --breakpoint-sm (min-width: 576px);
|
|
27
|
-
@custom-media --breakpoint-md (min-width: 768px);
|
|
28
|
-
@custom-media --breakpoint-lg (min-width: 1024px);
|
|
29
|
-
@custom-media --breakpoint-xl (min-width: 1280px);
|
|
30
|
-
@custom-media --breakpoint-xxl (min-width: 1536px);
|
|
31
|
-
|
|
32
|
-
/* ==========================================================================
|
|
33
|
-
2. Typography & Layout Variables (from Pico Theme)
|
|
34
|
-
========================================================================== */
|
|
35
|
-
|
|
36
|
-
:root,
|
|
37
|
-
:host {
|
|
38
|
-
/* Font Families */
|
|
39
|
-
--font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
40
|
-
--font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--font-family-emoji);
|
|
41
|
-
--font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--font-family-emoji);
|
|
42
|
-
--font-family: var(--font-family-sans-serif);
|
|
43
|
-
|
|
44
|
-
/* Typography – base defaults inherited by all elements */
|
|
45
|
-
--line-height: 1.5;
|
|
46
|
-
--font-weight: 400;
|
|
47
|
-
--font-size: 100%; /* Root font-size; overridden per breakpoint below and per element in §6 */
|
|
48
|
-
--text-underline-offset: 0.1rem;
|
|
49
|
-
|
|
50
|
-
/* Borders & Effects – global defaults for border-radius, border-width, outline, and transition */
|
|
51
|
-
--border-radius: 0.25rem;
|
|
52
|
-
--border-width: 0.0625rem; /* 1px – base border width used by forms, tables, etc. */
|
|
53
|
-
--outline-width: 0.125rem; /* 2px – focus-ring width */
|
|
54
|
-
--transition: 0.2s ease-in-out; /* Default transition timing for interactive state changes */
|
|
55
|
-
|
|
56
|
-
/* Spacing – shared base unit used for padding, margins, and gaps throughout the layout */
|
|
57
|
-
--spacing: 1rem;
|
|
58
|
-
--typography-spacing-vertical: 1rem; /* Vertical margin below typographic elements (p, lists, etc.) */
|
|
59
|
-
--block-spacing-vertical: var(--spacing); /* Vertical padding inside block-level components (cards, modals, etc.) */
|
|
60
|
-
--block-spacing-horizontal: var(--spacing); /* Horizontal padding inside block-level components */
|
|
61
|
-
--grid-column-gap: var(--spacing); /* Column gap in CSS Grid layouts */
|
|
62
|
-
--grid-row-gap: var(--spacing); /* Row gap in CSS Grid layouts */
|
|
63
|
-
--form-element-spacing-vertical: 0.75rem; /* Vertical padding inside form inputs, selects, and textareas */
|
|
64
|
-
--form-element-spacing-horizontal: 1rem; /* Horizontal padding inside form inputs, selects, and textareas */
|
|
65
|
-
|
|
66
|
-
/* Shadows – used by [role="group"] and [role="search"] button/input combos */
|
|
67
|
-
--group-shadow: 0 0 0 rgba(0, 0, 0, 0); /* Default (no shadow) */
|
|
68
|
-
--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 */
|
|
69
|
-
--group-shadow-focus-with-input: 0 0 0 0.0625rem var(--form-border-color); /* Focus ring when an input inside the group is focused */
|
|
70
|
-
|
|
71
|
-
/* Modal – backdrop overlay settings */
|
|
72
|
-
--modal-overlay-backdrop-filter: blur(0.375rem); /* Applies a blur behind the modal overlay */
|
|
73
|
-
|
|
74
|
-
/* Navigation – spacing and breadcrumb configuration */
|
|
75
|
-
--nav-element-spacing-vertical: 1rem; /* Vertical padding for nav container items */
|
|
76
|
-
--nav-element-spacing-horizontal: 0.5rem; /* Horizontal padding for nav container items */
|
|
77
|
-
--nav-link-spacing-vertical: 0.5rem; /* Vertical padding inside nav links */
|
|
78
|
-
--nav-link-spacing-horizontal: 0.5rem; /* Horizontal padding inside nav links */
|
|
79
|
-
--nav-breadcrumb-divider: ">"; /* Character displayed between breadcrumb items */
|
|
80
|
-
|
|
81
|
-
/* Icons – inline SVG data-URIs used by form elements and UI components */
|
|
82
|
-
--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"); /* Checkmark for checked checkboxes */
|
|
83
|
-
--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"); /* Minus icon for indeterminate checkboxes */
|
|
84
|
-
--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"); /* Dropdown arrow for <select> elements */
|
|
85
|
-
--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"); /* Calendar icon for date inputs */
|
|
86
|
-
--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"); /* Clock icon for time inputs */
|
|
87
|
-
--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"); /* Magnifying glass for search inputs */
|
|
88
|
-
--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"); /* X icon for close/dismiss actions (e.g. modal close button) */
|
|
89
|
-
--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"); /* Animated spinner for [aria-busy="true"] elements */
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/* Responsive Font Sizes – progressively increase root font-size at wider viewports */
|
|
93
|
-
@media (--breakpoint-sm) {
|
|
94
|
-
:root,
|
|
95
|
-
:host {
|
|
96
|
-
--font-size: 106.25%;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
@media (--breakpoint-md) {
|
|
101
|
-
:root,
|
|
102
|
-
:host {
|
|
103
|
-
--font-size: 112.5%;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
@media (--breakpoint-lg) {
|
|
108
|
-
:root,
|
|
109
|
-
:host {
|
|
110
|
-
--font-size: 118.75%;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
@media (--breakpoint-xl) {
|
|
115
|
-
:root,
|
|
116
|
-
:host {
|
|
117
|
-
--font-size: 125%;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
@media (--breakpoint-xxl) {
|
|
122
|
-
:root,
|
|
123
|
-
:host {
|
|
124
|
-
--font-size: 131.25%;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
13
|
+
@import './_shared.css';
|
|
127
14
|
|
|
128
15
|
/* ==========================================================================
|
|
129
|
-
|
|
16
|
+
Semantic Colors - Light Theme (Default)
|
|
130
17
|
==========================================================================
|
|
131
18
|
|
|
132
19
|
Color variable naming convention used throughout sections 3–5:
|
|
@@ -202,13 +89,8 @@
|
|
|
202
89
|
--shadow-md: 0.0625rem 0.125rem 0.5rem rgba(129, 145, 181, 0.15); /* Medium elevation – e.g. dropdowns */
|
|
203
90
|
--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); /* Multi-layer realistic shadow – e.g. cards, modals */
|
|
204
91
|
|
|
205
|
-
/* Headings
|
|
206
|
-
--color-
|
|
207
|
-
--color-h2: #373c44;
|
|
208
|
-
--color-h3: #424751;
|
|
209
|
-
--color-h4: #4d535e;
|
|
210
|
-
--color-h5: #5c6370;
|
|
211
|
-
--color-h6: #646b79;
|
|
92
|
+
/* Headings - base color for progressive lightness via color-mix */
|
|
93
|
+
--color-heading-base: #2d3138;
|
|
212
94
|
|
|
213
95
|
/* Mark & Text – colors for <mark>, <ins>, and <del> elements */
|
|
214
96
|
--color-mark-bg: rgb(252.5, 230.5, 191.5); /* Background highlight for <mark> */
|
|
@@ -331,7 +213,7 @@
|
|
|
331
213
|
}
|
|
332
214
|
|
|
333
215
|
/* ==========================================================================
|
|
334
|
-
|
|
216
|
+
Semantic Colors - Dark Theme (System Preference)
|
|
335
217
|
==========================================================================
|
|
336
218
|
|
|
337
219
|
Applied when the user's OS is set to dark mode AND no explicit
|
|
@@ -398,13 +280,8 @@
|
|
|
398
280
|
--shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
|
|
399
281
|
--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);
|
|
400
282
|
|
|
401
|
-
/* Headings */
|
|
402
|
-
--color-
|
|
403
|
-
--color-h2: #e0e3e7;
|
|
404
|
-
--color-h3: #c2c7d0;
|
|
405
|
-
--color-h4: #b3b9c5;
|
|
406
|
-
--color-h5: #a4acba;
|
|
407
|
-
--color-h6: #8891a4;
|
|
283
|
+
/* Headings - base color for progressive lightness via color-mix */
|
|
284
|
+
--color-heading-base: #f0f1f3;
|
|
408
285
|
|
|
409
286
|
/* Mark & Text */
|
|
410
287
|
--color-mark-bg: #014063;
|
|
@@ -515,7 +392,7 @@
|
|
|
515
392
|
}
|
|
516
393
|
|
|
517
394
|
/* ==========================================================================
|
|
518
|
-
|
|
395
|
+
Semantic Colors - Dark Theme (Explicit)
|
|
519
396
|
==========================================================================
|
|
520
397
|
|
|
521
398
|
Applied when data-theme="dark" is set on the root element,
|
|
@@ -580,13 +457,8 @@
|
|
|
580
457
|
--shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
|
|
581
458
|
--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);
|
|
582
459
|
|
|
583
|
-
/* Headings */
|
|
584
|
-
--color-
|
|
585
|
-
--color-h2: #e0e3e7;
|
|
586
|
-
--color-h3: #c2c7d0;
|
|
587
|
-
--color-h4: #b3b9c5;
|
|
588
|
-
--color-h5: #a4acba;
|
|
589
|
-
--color-h6: #8891a4;
|
|
460
|
+
/* Headings - base color for progressive lightness via color-mix */
|
|
461
|
+
--color-heading-base: #f0f1f3;
|
|
590
462
|
|
|
591
463
|
/* Mark & Text */
|
|
592
464
|
--color-mark-bg: #014063;
|
|
@@ -689,7 +561,7 @@
|
|
|
689
561
|
}
|
|
690
562
|
|
|
691
563
|
/* ==========================================================================
|
|
692
|
-
|
|
564
|
+
Scoped Element Variables (from Pico Theme)
|
|
693
565
|
==========================================================================
|
|
694
566
|
|
|
695
567
|
These selectors override the global :root variables on a per-element
|
|
@@ -724,37 +596,37 @@ h6 {
|
|
|
724
596
|
h1 {
|
|
725
597
|
--font-size: 2rem;
|
|
726
598
|
--line-height: 1.125;
|
|
727
|
-
--typography-
|
|
599
|
+
--typography-headings-top: 3rem; /* Extra top margin to separate from previous content */
|
|
728
600
|
}
|
|
729
601
|
|
|
730
602
|
h2 {
|
|
731
603
|
--font-size: 1.75rem;
|
|
732
604
|
--line-height: 1.15;
|
|
733
|
-
--typography-
|
|
605
|
+
--typography-headings-top: 2.625rem;
|
|
734
606
|
}
|
|
735
607
|
|
|
736
608
|
h3 {
|
|
737
609
|
--font-size: 1.5rem;
|
|
738
610
|
--line-height: 1.175;
|
|
739
|
-
--typography-
|
|
611
|
+
--typography-headings-top: 2.25rem;
|
|
740
612
|
}
|
|
741
613
|
|
|
742
614
|
h4 {
|
|
743
615
|
--font-size: 1.25rem;
|
|
744
616
|
--line-height: 1.2;
|
|
745
|
-
--typography-
|
|
617
|
+
--typography-headings-top: 1.874rem;
|
|
746
618
|
}
|
|
747
619
|
|
|
748
620
|
h5 {
|
|
749
621
|
--font-size: 1.125rem;
|
|
750
622
|
--line-height: 1.225;
|
|
751
|
-
--typography-
|
|
623
|
+
--typography-headings-top: 1.6875rem;
|
|
752
624
|
}
|
|
753
625
|
|
|
754
626
|
h6 {
|
|
755
627
|
--font-size: 1rem;
|
|
756
628
|
--line-height: 1.25;
|
|
757
|
-
--typography-
|
|
629
|
+
--typography-headings-top: 1.5rem;
|
|
758
630
|
}
|
|
759
631
|
|
|
760
632
|
/* Table head/foot cells get a bolder weight and a thicker bottom border */
|