@semanticus/semanticus-css 0.7.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.
- package/README.md +8 -10
- package/dist/semanticus-semantics.css +11 -1
- package/dist/semanticus.css +13 -1
- package/dist/semanticus.palette.amber.css +1 -1
- package/dist/semanticus.palette.blue.css +1 -1
- package/dist/semanticus.palette.cyan.css +1 -1
- package/dist/semanticus.palette.fuchsia.css +1 -1
- package/dist/semanticus.palette.green.css +1 -1
- package/dist/semanticus.palette.grey.css +1 -1
- package/dist/semanticus.palette.indigo.css +1 -1
- package/dist/semanticus.palette.jade.css +1 -1
- package/dist/semanticus.palette.lime.css +1 -1
- package/dist/semanticus.palette.orange.css +1 -1
- package/dist/semanticus.palette.pink.css +1 -1
- package/dist/semanticus.palette.pumpkin.css +1 -1
- package/dist/semanticus.palette.purple.css +1 -1
- package/dist/semanticus.palette.red.css +1 -1
- package/dist/semanticus.palette.sand.css +1 -1
- package/dist/semanticus.palette.slate.css +1 -1
- package/dist/semanticus.palette.violet.css +1 -1
- package/dist/semanticus.palette.yellow.css +1 -1
- package/dist/semanticus.palette.zinc.css +1 -1
- package/dist/semanticus.size.pico.css +1 -0
- package/package.json +13 -14
- package/src/index.css +11 -4
- package/src/palettes/amber.css +3 -3
- package/src/palettes/blue.css +3 -3
- package/src/palettes/cyan.css +3 -3
- package/src/palettes/fuchsia.css +3 -3
- package/src/palettes/green.css +3 -3
- package/src/palettes/grey.css +3 -3
- package/src/palettes/indigo.css +3 -3
- package/src/palettes/jade.css +3 -3
- package/src/palettes/lime.css +3 -3
- package/src/palettes/orange.css +3 -3
- package/src/palettes/pink.css +3 -3
- package/src/palettes/pumpkin.css +3 -3
- package/src/palettes/purple.css +3 -3
- package/src/palettes/red.css +3 -3
- package/src/palettes/sand.css +3 -3
- package/src/palettes/slate.css +3 -3
- package/src/palettes/violet.css +3 -3
- package/src/palettes/yellow.css +3 -3
- package/src/palettes/zinc.css +3 -3
- package/src/semantics/_misc.css +3 -0
- package/src/semantics/attributes/_popover.css +13 -0
- package/src/semantics/attributes/_role-group-search.css +140 -0
- package/src/semantics/elements/_abbr.css +5 -0
- package/src/semantics/elements/_address.css +7 -0
- package/src/semantics/elements/_article.css +6 -0
- package/src/semantics/{_aside.css → elements/_aside.css} +3 -3
- package/src/semantics/elements/_blockquote.css +18 -0
- package/src/semantics/{_button.css → elements/_button.css} +2 -2
- package/src/semantics/{_code.css → elements/_code.css} +10 -7
- package/src/semantics/elements/_del.css +3 -0
- package/src/semantics/{_details.css → elements/_details.css} +10 -10
- package/src/semantics/elements/_dialog.css +117 -0
- package/src/semantics/elements/_footer.css +13 -0
- package/src/semantics/elements/_header.css +13 -0
- package/src/semantics/elements/_headings.css +34 -0
- package/src/semantics/elements/_hgroup.css +14 -0
- package/src/semantics/{_hr.css → elements/_hr.css} +1 -1
- package/src/semantics/{_input.css → elements/_input.css} +3 -4
- package/src/semantics/elements/_ins.css +4 -0
- package/src/semantics/{_links.css → elements/_links.css} +11 -4
- package/src/semantics/elements/_lists.css +22 -0
- package/src/semantics/elements/_main.css +7 -0
- package/src/semantics/elements/_mark.css +6 -0
- package/src/semantics/{_nav.css → elements/_nav.css} +4 -4
- package/src/semantics/elements/_p.css +11 -0
- package/src/semantics/{_progress.css → elements/_progress.css} +1 -1
- package/src/semantics/elements/_section.css +7 -0
- package/src/semantics/elements/_strong.css +4 -0
- package/src/semantics/elements/_sub.css +7 -0
- package/src/semantics/elements/_sup.css +7 -0
- package/src/semantics/{_table.css → elements/_table.css} +7 -2
- package/src/semantics/index.css +9 -4
- package/src/semantics/modules.css +47 -32
- package/src/sizes/pico.css +100 -0
- package/src/utilities/_variables.css +19 -214
- package/src/utilities/borders/_border-radius.css +24 -0
- package/src/utilities/borders/_border-width.css +8 -0
- package/src/utilities/colors/_background-colors.css +51 -44
- package/src/utilities/colors/_border-colors.css +14 -14
- package/src/utilities/colors/_text-colors.css +80 -80
- package/src/utilities/effects/_shadows.css +10 -10
- package/src/utilities/layout/_flexbox.css +16 -1
- package/src/utilities/layout/_misc.css +2 -2
- package/src/utilities/modules.css +6 -0
- package/src/utilities/spacing/_gap.css +63 -0
- package/src/utilities/spacing/_margin.css +145 -0
- package/src/utilities/spacing/_padding.css +145 -0
- package/src/utilities/typography/_font-sizes.css +0 -15
- package/src/variables/_all.css +15 -739
- package/src/variables/_breakpoints.css +10 -0
- package/src/variables/_colors.css +355 -0
- package/src/variables/_components.css +330 -0
- package/src/variables/_elements.css +194 -0
- package/src/variables/_icons.css +55 -0
- package/src/variables/_layout.css +123 -0
- package/src/variants/_contrast.css +28 -14
- package/src/variants/_ghost.css +36 -29
- package/src/variants/_pane-panel-card.css +54 -0
- package/src/variants/_secondary.css +25 -12
- package/src/variants/_sidebar.css +49 -9
- package/src/variants/modules.css +4 -6
- package/dist/semanticus-utilities.css +0 -7
- package/dist/semanticus-variants.css +0 -1
- package/dist/semanticus.size.slim.css +0 -1
- package/src/semantics/_article.css +0 -12
- package/src/semantics/_dialog.css +0 -157
- package/src/semantics/_footer.css +0 -12
- package/src/semantics/_header.css +0 -12
- package/src/semantics/_main.css +0 -10
- package/src/semantics/_role-group-search.css +0 -129
- package/src/semantics/_section.css +0 -9
- package/src/semantics/_typography.css +0 -146
- package/src/sizes/slim.css +0 -41
- package/src/utilities/index.css +0 -14
- package/src/variables/_shared.css +0 -121
- package/src/variants/_card.css +0 -45
- package/src/variants/_flow.css +0 -15
- package/src/variants/_panel.css +0 -18
- package/src/variants/index.css +0 -9
- /package/src/semantics/{_aria-busy.css → attributes/_aria-busy.css} +0 -0
- /package/src/semantics/{_hidden.css → attributes/_hidden.css} +0 -0
- /package/src/semantics/{_role-toolbar.css → attributes/_role-toolbar.css} +0 -0
- /package/src/semantics/{_role-tooltip.css → attributes/_role-tooltip.css} +0 -0
- /package/src/semantics/{_body.css → elements/_body.css} +0 -0
- /package/src/semantics/{_document.css → elements/_document.css} +0 -0
- /package/src/semantics/{_embedded.css → elements/_embedded.css} +0 -0
- /package/src/semantics/{_figure.css → elements/_figure.css} +0 -0
- /package/src/semantics/{_type-checkbox-radio.css → elements/_type-checkbox-radio.css} +0 -0
- /package/src/semantics/{_type-color.css → elements/_type-color.css} +0 -0
- /package/src/semantics/{_type-date.css → elements/_type-date.css} +0 -0
- /package/src/semantics/{_type-file.css → elements/_type-file.css} +0 -0
- /package/src/semantics/{_type-range.css → elements/_type-range.css} +0 -0
- /package/src/semantics/{_type-search.css → elements/_type-search.css} +0 -0
package/src/variables/_all.css
CHANGED
|
@@ -1,746 +1,22 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
Consolidated Theme Variables
|
|
4
|
-
============================
|
|
5
|
-
|
|
6
|
-
This file defines the semantic theme variables for Semanticus CSS.
|
|
7
|
-
- Semantic colors: Theme-aware variables for light/dark modes using
|
|
8
|
-
--color-primary, --color-secondary, and --color-contrast roles
|
|
9
|
-
- Layout variables: Typography, spacing, and component sizing
|
|
10
|
-
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
@import './_shared.css';
|
|
14
|
-
|
|
15
|
-
/* ==========================================================================
|
|
16
|
-
Semantic Colors - Light Theme (Default)
|
|
17
|
-
==========================================================================
|
|
18
|
-
|
|
19
|
-
Color variable naming convention used throughout sections 3–5:
|
|
20
|
-
|
|
21
|
-
--color-{role} Text color for links, buttons, and inline elements
|
|
22
|
-
--color-{role}-bg Background fill (e.g. button backgrounds)
|
|
23
|
-
--color-{role}-border Border color (usually matches -bg)
|
|
24
|
-
--color-{role}-underline Semi-transparent underline for links
|
|
25
|
-
--color-{role}-hover Text color on hover
|
|
26
|
-
--color-{role}-hover-bg Background on hover
|
|
27
|
-
--color-{role}-focus Semi-transparent focus ring / outline color
|
|
28
|
-
--color-{role}-inverse Text on top of the filled -bg (e.g. white text on a colored button)
|
|
29
|
-
|
|
30
|
-
Roles: primary (brand CTA), secondary (neutral actions), contrast (high-emphasis)
|
|
31
|
-
========================================================================== */
|
|
32
|
-
|
|
33
|
-
[data-theme="light"],
|
|
34
|
-
:root:not([data-theme="dark"]),
|
|
35
|
-
:host(:not([data-theme="dark"])) {
|
|
36
|
-
color-scheme: light;
|
|
37
|
-
|
|
38
|
-
/* Status Colors */
|
|
39
|
-
--success-rgb: 43, 122, 76;
|
|
40
|
-
--info-rgb: 4, 120, 120;
|
|
41
|
-
--warning-rgb: 255, 191, 0;
|
|
42
|
-
--danger-rgb: 197, 47, 33;
|
|
43
|
-
|
|
44
|
-
/* Core Colors – page-level background, body text, and text selection highlight */
|
|
45
|
-
--color-background: #fff;
|
|
46
|
-
--color-text: #373c44;
|
|
47
|
-
--color-text-selection: rgba(2, 154, 232, 0.25); /* Highlight color when the user selects text */
|
|
48
|
-
--color-text-muted: #646b79; /* Subdued text for captions, hints, and secondary information */
|
|
49
|
-
--color-border-muted: rgb(231, 234, 239.5); /* Subtle border for dividers, table rows, and card edges */
|
|
50
|
-
|
|
51
|
-
/* Primary */
|
|
52
|
-
--color-primary: #0172ad;
|
|
53
|
-
--color-primary-bg: #0172ad;
|
|
54
|
-
--color-primary-border: var(--color-primary-bg);
|
|
55
|
-
--color-primary-underline: rgba(1, 114, 173, 0.5);
|
|
56
|
-
--color-primary-hover: #015887;
|
|
57
|
-
--color-primary-hover-bg: #02659a;
|
|
58
|
-
--color-primary-hover-border: var(--color-primary-hover-bg);
|
|
59
|
-
--color-primary-hover-underline: var(--color-primary-hover);
|
|
60
|
-
--color-primary-focus: rgba(2, 154, 232, 0.5);
|
|
61
|
-
--color-primary-inverse: #fff;
|
|
62
|
-
|
|
63
|
-
/* Secondary */
|
|
64
|
-
--color-secondary: #5d6b89;
|
|
65
|
-
--color-secondary-bg: #525f7a;
|
|
66
|
-
--color-secondary-border: var(--color-secondary-bg);
|
|
67
|
-
--color-secondary-underline: rgba(93, 107, 137, 0.5);
|
|
68
|
-
--color-secondary-hover: #48536b;
|
|
69
|
-
--color-secondary-hover-bg: #48536b;
|
|
70
|
-
--color-secondary-hover-border: var(--color-secondary-hover-bg);
|
|
71
|
-
--color-secondary-hover-underline: var(--color-secondary-hover);
|
|
72
|
-
--color-secondary-focus: rgba(93, 107, 137, 0.25);
|
|
73
|
-
--color-secondary-inverse: #fff;
|
|
74
|
-
|
|
75
|
-
/* Contrast */
|
|
76
|
-
--color-contrast: #181c25;
|
|
77
|
-
--color-contrast-bg: #181c25;
|
|
78
|
-
--color-contrast-border: var(--color-contrast-bg);
|
|
79
|
-
--color-contrast-underline: rgba(24, 28, 37, 0.5);
|
|
80
|
-
--color-contrast-hover: #000;
|
|
81
|
-
--color-contrast-hover-bg: #000;
|
|
82
|
-
--color-contrast-hover-border: var(--color-contrast-hover-bg);
|
|
83
|
-
--color-contrast-hover-underline: var(--color-contrast-hover);
|
|
84
|
-
--color-contrast-focus: rgba(93, 107, 137, 0.25);
|
|
85
|
-
--color-contrast-inverse: #fff;
|
|
86
|
-
|
|
87
|
-
/* Shadows – elevation levels used by cards, dropdowns, and other floating UI */
|
|
88
|
-
--shadow-sm: 0 0.0625rem 0.125rem rgba(129, 145, 181, 0.1); /* Subtle lift – e.g. buttons */
|
|
89
|
-
--shadow-md: 0.0625rem 0.125rem 0.5rem rgba(129, 145, 181, 0.15); /* Medium elevation – e.g. dropdowns */
|
|
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 */
|
|
91
|
-
|
|
92
|
-
/* Headings - base color for progressive lightness via color-mix */
|
|
93
|
-
--color-heading-base: #2d3138;
|
|
94
|
-
|
|
95
|
-
/* Mark & Text – colors for <mark>, <ins>, and <del> elements */
|
|
96
|
-
--color-mark-bg: rgb(252.5, 230.5, 191.5); /* Background highlight for <mark> */
|
|
97
|
-
--color-mark-text: #0f1114; /* Text color inside <mark> */
|
|
98
|
-
|
|
99
|
-
/* Blockquote */
|
|
100
|
-
--blockquote-border-color: var(--color-border-muted);
|
|
101
|
-
--blockquote-footer-color: var(--color-text-muted);
|
|
102
|
-
|
|
103
|
-
/* Button – box-shadow values for resting and hovered states */
|
|
104
|
-
--button-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
|
105
|
-
--button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
|
|
106
|
-
|
|
107
|
-
/* Table – border and striped-row styling */
|
|
108
|
-
--table-border-color: var(--color-border-muted);
|
|
109
|
-
--table-row-stripe-bg: rgba(111, 120, 135, 0.0375); /* Background for alternating (striped) table rows */
|
|
110
|
-
|
|
111
|
-
/* Code – styling for <code>, <pre>, and <kbd> elements */
|
|
112
|
-
--color-code-bg: rgb(243, 244.5, 246.75); /* Background for inline <code> and <pre> blocks */
|
|
113
|
-
--color-code-text: #646b79; /* Text color inside code blocks */
|
|
114
|
-
--color-kbd-bg: var(--color-text); /* Background for <kbd> (keyboard key) elements */
|
|
115
|
-
--color-kbd-text: var(--color-background); /* Text color for <kbd> elements */
|
|
116
|
-
|
|
117
|
-
/* Form Elements – colors and state variants for inputs, selects, and textareas */
|
|
118
|
-
--form-bg: rgb(251, 251.5, 252.25); /* Default background */
|
|
119
|
-
--form-selected-bg: #dfe3eb; /* Background when an option is selected (e.g. <select>) */
|
|
120
|
-
--form-border-color: #cfd5e2;
|
|
121
|
-
--form-text-color: #23262c;
|
|
122
|
-
--form-placeholder-color: var(--color-text-muted); /* Placeholder text color */
|
|
123
|
-
--form-active-bg: #fff; /* Background when the field is focused / active */
|
|
124
|
-
--form-active-border: var(--color-primary-border); /* Border when focused */
|
|
125
|
-
--form-focus: var(--color-primary-border); /* Focus ring color */
|
|
126
|
-
--form-disabled-opacity: 0.5; /* Opacity applied to disabled form elements */
|
|
127
|
-
--form-invalid-border: rgb(var(--danger-rgb)); /* Border for invalid fields (idle) */
|
|
128
|
-
--form-invalid-active-border: rgb(var(--danger-rgb)); /* Border for invalid fields (focused) */
|
|
129
|
-
--form-invalid-focus: rgba(var(--danger-rgb), 0.5); /* Focus ring for invalid fields */
|
|
130
|
-
--form-valid-border: rgb(var(--success-rgb)); /* Border for valid fields (idle) */
|
|
131
|
-
--form-valid-active-border: rgb(var(--success-rgb)); /* Border for valid fields (focused) */
|
|
132
|
-
--form-valid-focus: rgba(var(--success-rgb), 0.5); /* Focus ring for valid fields */
|
|
133
|
-
|
|
134
|
-
/* Switch – toggle switch component (checkbox[role="switch"]) */
|
|
135
|
-
--switch-bg: #bfc7d9; /* Track background (unchecked) */
|
|
136
|
-
--switch-checked-bg: var(--color-primary-bg); /* Track background (checked) */
|
|
137
|
-
--switch-thumb-color: #fff; /* Thumb (knob) color */
|
|
138
|
-
--switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0); /* Shadow on the thumb */
|
|
139
|
-
|
|
140
|
-
/* Range – <input type="range"> slider */
|
|
141
|
-
--range-border-color: #dfe3eb; /* Track border */
|
|
142
|
-
--range-active-border: #bfc7d9; /* Track border when active */
|
|
143
|
-
--range-thumb-border: var(--color-background); /* Border around the draggable thumb */
|
|
144
|
-
--range-thumb-color: var(--color-secondary-bg); /* Thumb fill color */
|
|
145
|
-
--range-thumb-active: var(--color-primary-bg); /* Thumb fill when actively dragging */
|
|
146
|
-
|
|
147
|
-
/* Accordion – <details> disclosure component */
|
|
148
|
-
--accordion-border: var(--color-border-muted);
|
|
149
|
-
--accordion-active-summary: var(--color-primary-hover); /* <summary> color while clicking */
|
|
150
|
-
--accordion-closed-summary: var(--color-text); /* <summary> color when accordion is closed */
|
|
151
|
-
--accordion-open-summary: var(--color-text-muted); /* <summary> color when accordion is open */
|
|
152
|
-
|
|
153
|
-
/* Card – container component for grouped content */
|
|
154
|
-
--card-bg: var(--color-background);
|
|
155
|
-
--card-border: var(--color-border-muted);
|
|
156
|
-
--card-shadow: var(--shadow-lg);
|
|
157
|
-
--card-section-bg: rgb(251, 251.5, 252.25); /* Background for header/footer sections inside a card */
|
|
158
|
-
|
|
159
|
-
/* Dropdown – flyout menu triggered by a <details> or button */
|
|
160
|
-
--dropdown-bg: #fff;
|
|
161
|
-
--dropdown-border: #eff1f4;
|
|
162
|
-
--dropdown-shadow: var(--shadow-lg);
|
|
163
|
-
--dropdown-text: var(--color-text);
|
|
164
|
-
--dropdown-hover-bg: #eff1f4; /* Background for the hovered item in the dropdown list */
|
|
165
|
-
|
|
166
|
-
/* Loading & Modal – overlay and spinner appearance */
|
|
167
|
-
--loading-spinner-opacity: 0.5; /* Opacity of the loading spinner icon */
|
|
168
|
-
--modal-overlay-bg: rgba(232, 234, 237, 0.75); /* Semi-transparent backdrop behind open modals */
|
|
169
|
-
|
|
170
|
-
/* Progress – <progress> bar styling */
|
|
171
|
-
--progress-bg: #dfe3eb; /* Track (empty) background */
|
|
172
|
-
--progress-fill: var(--color-primary-bg); /* Filled portion color */
|
|
173
|
-
|
|
174
|
-
/* Tooltip – floating label shown on [role="tooltip"] hover */
|
|
175
|
-
--tooltip-bg: var(--color-contrast-bg);
|
|
176
|
-
--tooltip-text: var(--color-contrast-inverse);
|
|
177
|
-
|
|
178
|
-
/* Icons – theme-aware validation icons (stroke color adapts to the theme) */
|
|
179
|
-
--icon-valid: 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(43, 122, 76)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); /* Checkmark shown on valid form fields */
|
|
180
|
-
--icon-invalid: 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(197, 47, 33)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); /* Warning icon shown on invalid form fields */
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/*
|
|
184
|
-
* Override --form-focus to use the primary focus ring for actionable input types
|
|
185
|
-
* (submit, button, reset, checkbox, radio, file) in light mode.
|
|
186
|
-
* These inputs use a broader ring rather than the subtle 1px form focus.
|
|
187
|
-
*/
|
|
188
|
-
[data-theme="light"] input:is(
|
|
189
|
-
[type="submit"],
|
|
190
|
-
[type="button"],
|
|
191
|
-
[type="reset"],
|
|
192
|
-
[type="checkbox"],
|
|
193
|
-
[type="radio"],
|
|
194
|
-
[type="file"]
|
|
195
|
-
),
|
|
196
|
-
:root:not([data-theme="dark"]) input:is(
|
|
197
|
-
[type="submit"],
|
|
198
|
-
[type="button"],
|
|
199
|
-
[type="reset"],
|
|
200
|
-
[type="checkbox"],
|
|
201
|
-
[type="radio"],
|
|
202
|
-
[type="file"]
|
|
203
|
-
),
|
|
204
|
-
:host(:not([data-theme="dark"])) input:is(
|
|
205
|
-
[type="submit"],
|
|
206
|
-
[type="button"],
|
|
207
|
-
[type="reset"],
|
|
208
|
-
[type="checkbox"],
|
|
209
|
-
[type="radio"],
|
|
210
|
-
[type="file"]
|
|
211
|
-
) {
|
|
212
|
-
--form-focus: var(--color-primary-focus);
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/* ==========================================================================
|
|
216
|
-
Semantic Colors - Dark Theme (System Preference)
|
|
217
|
-
==========================================================================
|
|
218
|
-
|
|
219
|
-
Applied when the user's OS is set to dark mode AND no explicit
|
|
220
|
-
data-theme attribute is present. Mirrors the variable structure
|
|
221
|
-
from §3 with adjusted values for dark backgrounds.
|
|
222
|
-
========================================================================== */
|
|
223
|
-
|
|
224
|
-
@media only screen and (prefers-color-scheme: dark) {
|
|
225
|
-
:root:not([data-theme]),
|
|
226
|
-
:host(:not([data-theme])) {
|
|
227
|
-
color-scheme: dark;
|
|
228
|
-
|
|
229
|
-
/* Status Colors */
|
|
230
|
-
--success-rgb: 110, 213, 157;
|
|
231
|
-
--info-rgb: 10, 194, 194;
|
|
232
|
-
--warning-rgb: 255, 191, 0;
|
|
233
|
-
--danger-rgb: 243, 143, 121;
|
|
234
|
-
|
|
235
|
-
/* Core Colors */
|
|
236
|
-
--color-background: rgb(19, 22.5, 30.5);
|
|
237
|
-
--color-text: #c2c7d0;
|
|
238
|
-
--color-text-selection: rgba(1, 170, 255, 0.1875);
|
|
239
|
-
--color-text-muted: #7b8495;
|
|
240
|
-
--color-border-muted: #202632;
|
|
241
|
-
|
|
242
|
-
/* Primary */
|
|
243
|
-
--color-primary: #01aaff;
|
|
244
|
-
--color-primary-bg: #0172ad;
|
|
245
|
-
--color-primary-border: var(--color-primary-bg);
|
|
246
|
-
--color-primary-underline: rgba(1, 170, 255, 0.5);
|
|
247
|
-
--color-primary-hover: #79c0ff;
|
|
248
|
-
--color-primary-hover-bg: #017fc0;
|
|
249
|
-
--color-primary-hover-border: var(--color-primary-hover-bg);
|
|
250
|
-
--color-primary-hover-underline: var(--color-primary-hover);
|
|
251
|
-
--color-primary-focus: rgba(1, 170, 255, 0.375);
|
|
252
|
-
--color-primary-inverse: #fff;
|
|
253
|
-
|
|
254
|
-
/* Secondary */
|
|
255
|
-
--color-secondary: #969eaf;
|
|
256
|
-
--color-secondary-bg: #525f7a;
|
|
257
|
-
--color-secondary-border: var(--color-secondary-bg);
|
|
258
|
-
--color-secondary-underline: rgba(150, 158, 175, 0.5);
|
|
259
|
-
--color-secondary-hover: #b3b9c5;
|
|
260
|
-
--color-secondary-hover-bg: #5d6b89;
|
|
261
|
-
--color-secondary-hover-border: var(--color-secondary-hover-bg);
|
|
262
|
-
--color-secondary-hover-underline: var(--color-secondary-hover);
|
|
263
|
-
--color-secondary-focus: rgba(144, 158, 190, 0.25);
|
|
264
|
-
--color-secondary-inverse: #fff;
|
|
265
|
-
|
|
266
|
-
/* Contrast */
|
|
267
|
-
--color-contrast: #dfe3eb;
|
|
268
|
-
--color-contrast-bg: #eff1f4;
|
|
269
|
-
--color-contrast-border: var(--color-contrast-bg);
|
|
270
|
-
--color-contrast-underline: rgba(223, 227, 235, 0.5);
|
|
271
|
-
--color-contrast-hover: #fff;
|
|
272
|
-
--color-contrast-hover-bg: #fff;
|
|
273
|
-
--color-contrast-hover-border: var(--color-contrast-hover-bg);
|
|
274
|
-
--color-contrast-hover-underline: var(--color-contrast-hover);
|
|
275
|
-
--color-contrast-focus: rgba(207, 213, 226, 0.25);
|
|
276
|
-
--color-contrast-inverse: #000;
|
|
277
|
-
|
|
278
|
-
/* Shadows */
|
|
279
|
-
--shadow-sm: 0 0.0625rem 0.125rem rgba(7, 8.5, 12, 0.1);
|
|
280
|
-
--shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
|
|
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);
|
|
282
|
-
|
|
283
|
-
/* Headings - base color for progressive lightness via color-mix */
|
|
284
|
-
--color-heading-base: #f0f1f3;
|
|
285
|
-
|
|
286
|
-
/* Mark & Text */
|
|
287
|
-
--color-mark-bg: #014063;
|
|
288
|
-
--color-mark-text: #fff;
|
|
289
|
-
|
|
290
|
-
/* Blockquote */
|
|
291
|
-
--blockquote-border-color: var(--color-border-muted);
|
|
292
|
-
--blockquote-footer-color: var(--color-text-muted);
|
|
293
|
-
|
|
294
|
-
/* Button */
|
|
295
|
-
--button-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
|
296
|
-
--button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
|
|
297
|
-
|
|
298
|
-
/* Table */
|
|
299
|
-
--table-border-color: var(--color-border-muted);
|
|
300
|
-
--table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
|
|
301
|
-
|
|
302
|
-
/* Code */
|
|
303
|
-
--color-code-bg: rgb(26, 30.5, 40.25);
|
|
304
|
-
--color-code-text: #8891a4;
|
|
305
|
-
--color-kbd-bg: var(--color-text);
|
|
306
|
-
--color-kbd-text: var(--color-background);
|
|
307
|
-
|
|
308
|
-
/* Form Elements */
|
|
309
|
-
--form-bg: rgb(28, 33, 43.5);
|
|
310
|
-
--form-selected-bg: #2a3140;
|
|
311
|
-
--form-border-color: #2a3140;
|
|
312
|
-
--form-text-color: #e0e3e7;
|
|
313
|
-
--form-placeholder-color: #8891a4;
|
|
314
|
-
--form-active-bg: rgb(26, 30.5, 40.25);
|
|
315
|
-
--form-active-border: var(--color-primary-border);
|
|
316
|
-
--form-focus: var(--color-primary-border);
|
|
317
|
-
--form-disabled-opacity: 0.5;
|
|
318
|
-
--form-invalid-border: rgb(var(--danger-rgb));
|
|
319
|
-
--form-invalid-active-border: rgb(var(--danger-rgb));
|
|
320
|
-
--form-invalid-focus: rgba(var(--danger-rgb), 0.5);
|
|
321
|
-
--form-valid-border: rgb(var(--success-rgb));
|
|
322
|
-
--form-valid-active-border: rgb(var(--success-rgb));
|
|
323
|
-
--form-valid-focus: rgba(var(--success-rgb), 0.5);
|
|
324
|
-
|
|
325
|
-
/* Switch */
|
|
326
|
-
--switch-bg: #333c4e;
|
|
327
|
-
--switch-checked-bg: var(--color-primary-bg);
|
|
328
|
-
--switch-thumb-color: #fff;
|
|
329
|
-
--switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
|
330
|
-
|
|
331
|
-
/* Range */
|
|
332
|
-
--range-border-color: #202632;
|
|
333
|
-
--range-active-border: #2a3140;
|
|
334
|
-
--range-thumb-border: var(--color-background);
|
|
335
|
-
--range-thumb-color: var(--color-secondary-bg);
|
|
336
|
-
--range-thumb-active: var(--color-primary-bg);
|
|
337
|
-
|
|
338
|
-
/* Accordion */
|
|
339
|
-
--accordion-border: var(--color-border-muted);
|
|
340
|
-
--accordion-active-summary: var(--color-primary-hover);
|
|
341
|
-
--accordion-closed-summary: var(--color-text);
|
|
342
|
-
--accordion-open-summary: var(--color-text-muted);
|
|
343
|
-
|
|
344
|
-
/* Card */
|
|
345
|
-
--card-bg: #181c25;
|
|
346
|
-
--card-border: var(--card-bg);
|
|
347
|
-
--card-shadow: var(--shadow-lg);
|
|
348
|
-
--card-section-bg: rgb(26, 30.5, 40.25);
|
|
349
|
-
|
|
350
|
-
/* Dropdown */
|
|
351
|
-
--dropdown-bg: #181c25;
|
|
352
|
-
--dropdown-border: #202632;
|
|
353
|
-
--dropdown-shadow: var(--shadow-lg);
|
|
354
|
-
--dropdown-text: var(--color-text);
|
|
355
|
-
--dropdown-hover-bg: #202632;
|
|
356
|
-
|
|
357
|
-
/* Loading & Modal */
|
|
358
|
-
--loading-spinner-opacity: 0.5;
|
|
359
|
-
--modal-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
|
|
360
|
-
|
|
361
|
-
/* Progress */
|
|
362
|
-
--progress-bg: #202632;
|
|
363
|
-
--progress-fill: var(--color-primary-bg);
|
|
364
|
-
|
|
365
|
-
/* Tooltip */
|
|
366
|
-
--tooltip-bg: var(--color-contrast-bg);
|
|
367
|
-
--tooltip-text: var(--color-contrast-inverse);
|
|
368
|
-
|
|
369
|
-
/* Icons */
|
|
370
|
-
--icon-valid: 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(110, 213, 157)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
|
371
|
-
--icon-invalid: 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(243, 143, 121)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
:root:not([data-theme]) input:is(
|
|
375
|
-
[type="submit"],
|
|
376
|
-
[type="button"],
|
|
377
|
-
[type="reset"],
|
|
378
|
-
[type="checkbox"],
|
|
379
|
-
[type="radio"],
|
|
380
|
-
[type="file"]
|
|
381
|
-
),
|
|
382
|
-
:host(:not([data-theme])) input:is(
|
|
383
|
-
[type="submit"],
|
|
384
|
-
[type="button"],
|
|
385
|
-
[type="reset"],
|
|
386
|
-
[type="checkbox"],
|
|
387
|
-
[type="radio"],
|
|
388
|
-
[type="file"]
|
|
389
|
-
) {
|
|
390
|
-
--form-focus: var(--color-primary-focus);
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
|
|
394
1
|
/* ==========================================================================
|
|
395
|
-
|
|
2
|
+
Semanticus CSS Variables
|
|
396
3
|
==========================================================================
|
|
397
4
|
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
as §4 so both explicit and system-preference dark mode look identical.
|
|
401
|
-
========================================================================== */
|
|
402
|
-
|
|
403
|
-
[data-theme="dark"] {
|
|
404
|
-
color-scheme: dark;
|
|
405
|
-
|
|
406
|
-
/* Status Colors */
|
|
407
|
-
--success-rgb: 110, 213, 157;
|
|
408
|
-
--info-rgb: 10, 194, 194;
|
|
409
|
-
--warning-rgb: 255, 191, 0;
|
|
410
|
-
--danger-rgb: 243, 143, 121;
|
|
411
|
-
|
|
412
|
-
/* Core Colors */
|
|
413
|
-
--color-background: rgb(19, 22.5, 30.5);
|
|
414
|
-
--color-text: #c2c7d0;
|
|
415
|
-
--color-text-selection: rgba(1, 170, 255, 0.1875);
|
|
416
|
-
--color-text-muted: #7b8495;
|
|
417
|
-
--color-border-muted: #202632;
|
|
418
|
-
|
|
419
|
-
/* Primary */
|
|
420
|
-
--color-primary: #01aaff;
|
|
421
|
-
--color-primary-bg: #0172ad;
|
|
422
|
-
--color-primary-border: var(--color-primary-bg);
|
|
423
|
-
--color-primary-underline: rgba(1, 170, 255, 0.5);
|
|
424
|
-
--color-primary-hover: #79c0ff;
|
|
425
|
-
--color-primary-hover-bg: #017fc0;
|
|
426
|
-
--color-primary-hover-border: var(--color-primary-hover-bg);
|
|
427
|
-
--color-primary-hover-underline: var(--color-primary-hover);
|
|
428
|
-
--color-primary-focus: rgba(1, 170, 255, 0.375);
|
|
429
|
-
--color-primary-inverse: #fff;
|
|
430
|
-
|
|
431
|
-
/* Secondary */
|
|
432
|
-
--color-secondary: #969eaf;
|
|
433
|
-
--color-secondary-bg: #525f7a;
|
|
434
|
-
--color-secondary-border: var(--color-secondary-bg);
|
|
435
|
-
--color-secondary-underline: rgba(150, 158, 175, 0.5);
|
|
436
|
-
--color-secondary-hover: #b3b9c5;
|
|
437
|
-
--color-secondary-hover-bg: #5d6b89;
|
|
438
|
-
--color-secondary-hover-border: var(--color-secondary-hover-bg);
|
|
439
|
-
--color-secondary-hover-underline: var(--color-secondary-hover);
|
|
440
|
-
--color-secondary-focus: rgba(144, 158, 190, 0.25);
|
|
441
|
-
--color-secondary-inverse: #fff;
|
|
442
|
-
|
|
443
|
-
/* Contrast */
|
|
444
|
-
--color-contrast: #dfe3eb;
|
|
445
|
-
--color-contrast-bg: #eff1f4;
|
|
446
|
-
--color-contrast-border: var(--color-contrast-bg);
|
|
447
|
-
--color-contrast-underline: rgba(223, 227, 235, 0.5);
|
|
448
|
-
--color-contrast-hover: #fff;
|
|
449
|
-
--color-contrast-hover-bg: #fff;
|
|
450
|
-
--color-contrast-hover-border: var(--color-contrast-hover-bg);
|
|
451
|
-
--color-contrast-hover-underline: var(--color-contrast-hover);
|
|
452
|
-
--color-contrast-focus: rgba(207, 213, 226, 0.25);
|
|
453
|
-
--color-contrast-inverse: #000;
|
|
454
|
-
|
|
455
|
-
/* Shadows */
|
|
456
|
-
--shadow-sm: 0 0.0625rem 0.125rem rgba(7, 8.5, 12, 0.1);
|
|
457
|
-
--shadow-md: 0.0625rem 0.125rem 0.5rem rgba(7, 8.5, 12, 0.15);
|
|
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);
|
|
459
|
-
|
|
460
|
-
/* Headings - base color for progressive lightness via color-mix */
|
|
461
|
-
--color-heading-base: #f0f1f3;
|
|
462
|
-
|
|
463
|
-
/* Mark & Text */
|
|
464
|
-
--color-mark-bg: #014063;
|
|
465
|
-
--color-mark-text: #fff;
|
|
466
|
-
|
|
467
|
-
/* Blockquote */
|
|
468
|
-
--blockquote-border-color: var(--color-border-muted);
|
|
469
|
-
--blockquote-footer-color: var(--color-text-muted);
|
|
470
|
-
|
|
471
|
-
/* Button */
|
|
472
|
-
--button-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
|
473
|
-
--button-shadow-hover: 0 0 0 rgba(0, 0, 0, 0);
|
|
474
|
-
|
|
475
|
-
/* Table */
|
|
476
|
-
--table-border-color: var(--color-border-muted);
|
|
477
|
-
--table-row-stripe-bg: rgba(111, 120, 135, 0.0375);
|
|
478
|
-
|
|
479
|
-
/* Code */
|
|
480
|
-
--color-code-bg: rgb(26, 30.5, 40.25);
|
|
481
|
-
--color-code-text: #8891a4;
|
|
482
|
-
--color-kbd-bg: var(--color-text);
|
|
483
|
-
--color-kbd-text: var(--color-background);
|
|
484
|
-
|
|
485
|
-
/* Form Elements */
|
|
486
|
-
--form-bg: rgb(28, 33, 43.5);
|
|
487
|
-
--form-selected-bg: #2a3140;
|
|
488
|
-
--form-border-color: #2a3140;
|
|
489
|
-
--form-text-color: #e0e3e7;
|
|
490
|
-
--form-placeholder-color: #8891a4;
|
|
491
|
-
--form-active-bg: rgb(26, 30.5, 40.25);
|
|
492
|
-
--form-active-border: var(--color-primary-border);
|
|
493
|
-
--form-focus: var(--color-primary-border);
|
|
494
|
-
--form-disabled-opacity: 0.5;
|
|
495
|
-
--form-invalid-border: rgb(var(--danger-rgb));
|
|
496
|
-
--form-invalid-active-border: rgb(var(--danger-rgb));
|
|
497
|
-
--form-invalid-focus: rgba(var(--danger-rgb), 0.5);
|
|
498
|
-
--form-valid-border: rgb(var(--success-rgb));
|
|
499
|
-
--form-valid-active-border: rgb(var(--success-rgb));
|
|
500
|
-
--form-valid-focus: rgba(var(--success-rgb), 0.5);
|
|
501
|
-
|
|
502
|
-
/* Switch */
|
|
503
|
-
--switch-bg: #333c4e;
|
|
504
|
-
--switch-checked-bg: var(--color-primary-bg);
|
|
505
|
-
--switch-thumb-color: #fff;
|
|
506
|
-
--switch-thumb-shadow: 0 0 0 rgba(0, 0, 0, 0);
|
|
507
|
-
|
|
508
|
-
/* Range */
|
|
509
|
-
--range-border-color: #202632;
|
|
510
|
-
--range-active-border: #2a3140;
|
|
511
|
-
--range-thumb-border: var(--color-background);
|
|
512
|
-
--range-thumb-color: var(--color-secondary-bg);
|
|
513
|
-
--range-thumb-active: var(--color-primary-bg);
|
|
514
|
-
|
|
515
|
-
/* Accordion */
|
|
516
|
-
--accordion-border: var(--color-border-muted);
|
|
517
|
-
--accordion-active-summary: var(--color-primary-hover);
|
|
518
|
-
--accordion-closed-summary: var(--color-text);
|
|
519
|
-
--accordion-open-summary: var(--color-text-muted);
|
|
520
|
-
|
|
521
|
-
/* Card */
|
|
522
|
-
--card-bg: #181c25;
|
|
523
|
-
--card-border: var(--card-bg);
|
|
524
|
-
--card-shadow: var(--shadow-lg);
|
|
525
|
-
--card-section-bg: rgb(26, 30.5, 40.25);
|
|
526
|
-
|
|
527
|
-
/* Dropdown */
|
|
528
|
-
--dropdown-bg: #181c25;
|
|
529
|
-
--dropdown-border: #202632;
|
|
530
|
-
--dropdown-shadow: var(--shadow-lg);
|
|
531
|
-
--dropdown-text: var(--color-text);
|
|
532
|
-
--dropdown-hover-bg: #202632;
|
|
533
|
-
|
|
534
|
-
/* Loading & Modal */
|
|
535
|
-
--loading-spinner-opacity: 0.5;
|
|
536
|
-
--modal-overlay-bg: rgba(7.5, 8.5, 10, 0.75);
|
|
537
|
-
|
|
538
|
-
/* Progress */
|
|
539
|
-
--progress-bg: #202632;
|
|
540
|
-
--progress-fill: var(--color-primary-bg);
|
|
541
|
-
|
|
542
|
-
/* Tooltip */
|
|
543
|
-
--tooltip-bg: var(--color-contrast-bg);
|
|
544
|
-
--tooltip-text: var(--color-contrast-inverse);
|
|
545
|
-
|
|
546
|
-
/* Icons */
|
|
547
|
-
--icon-valid: 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(110, 213, 157)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
|
|
548
|
-
--icon-invalid: 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(243, 143, 121)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
|
|
549
|
-
}
|
|
5
|
+
This file imports all CSS custom properties used throughout the framework.
|
|
6
|
+
The import order matches the original _all.css to ensure proper cascade:
|
|
550
7
|
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
[type="radio"],
|
|
558
|
-
[type="file"]
|
|
559
|
-
) {
|
|
560
|
-
--form-focus: var(--color-primary-focus);
|
|
561
|
-
}
|
|
562
|
-
|
|
563
|
-
/* ==========================================================================
|
|
564
|
-
Scoped Element Variables (from Pico Theme)
|
|
565
|
-
==========================================================================
|
|
566
|
-
|
|
567
|
-
These selectors override the global :root variables on a per-element
|
|
568
|
-
basis so each component can have its own defaults (font-size, weight,
|
|
569
|
-
line-height, border-radius, etc.) without class-name bloat.
|
|
570
|
-
========================================================================== */
|
|
571
|
-
|
|
572
|
-
/* Links get an underline by default */
|
|
573
|
-
a {
|
|
574
|
-
--text-decoration: underline;
|
|
575
|
-
}
|
|
576
|
-
|
|
577
|
-
a.secondary,
|
|
578
|
-
a.contrast {
|
|
579
|
-
--text-decoration: underline;
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
small {
|
|
583
|
-
--font-size: 0.875em;
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
/* Heading typography – per-level sizing and vertical spacing above each heading */
|
|
587
|
-
h1,
|
|
588
|
-
h2,
|
|
589
|
-
h3,
|
|
590
|
-
h4,
|
|
591
|
-
h5,
|
|
592
|
-
h6 {
|
|
593
|
-
--font-weight: 700;
|
|
594
|
-
}
|
|
595
|
-
|
|
596
|
-
h1 {
|
|
597
|
-
--font-size: 2rem;
|
|
598
|
-
--line-height: 1.125;
|
|
599
|
-
--typography-headings-top: 3rem; /* Extra top margin to separate from previous content */
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
h2 {
|
|
603
|
-
--font-size: 1.75rem;
|
|
604
|
-
--line-height: 1.15;
|
|
605
|
-
--typography-headings-top: 2.625rem;
|
|
606
|
-
}
|
|
607
|
-
|
|
608
|
-
h3 {
|
|
609
|
-
--font-size: 1.5rem;
|
|
610
|
-
--line-height: 1.175;
|
|
611
|
-
--typography-headings-top: 2.25rem;
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
h4 {
|
|
615
|
-
--font-size: 1.25rem;
|
|
616
|
-
--line-height: 1.2;
|
|
617
|
-
--typography-headings-top: 1.874rem;
|
|
618
|
-
}
|
|
619
|
-
|
|
620
|
-
h5 {
|
|
621
|
-
--font-size: 1.125rem;
|
|
622
|
-
--line-height: 1.225;
|
|
623
|
-
--typography-headings-top: 1.6875rem;
|
|
624
|
-
}
|
|
625
|
-
|
|
626
|
-
h6 {
|
|
627
|
-
--font-size: 1rem;
|
|
628
|
-
--line-height: 1.25;
|
|
629
|
-
--typography-headings-top: 1.5rem;
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
/* Table head/foot cells get a bolder weight and a thicker bottom border */
|
|
633
|
-
thead th,
|
|
634
|
-
thead td,
|
|
635
|
-
tfoot th,
|
|
636
|
-
tfoot td {
|
|
637
|
-
--font-weight: 600;
|
|
638
|
-
--border-width: 0.1875rem;
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
pre,
|
|
642
|
-
code,
|
|
643
|
-
kbd,
|
|
644
|
-
samp {
|
|
645
|
-
--font-family: var(--font-family-monospace);
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
kbd {
|
|
649
|
-
--font-weight: bolder;
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
/* Text-style form inputs use a thinner outline to distinguish from buttons */
|
|
653
|
-
input:not(
|
|
654
|
-
[type="submit"],
|
|
655
|
-
[type="button"],
|
|
656
|
-
[type="reset"],
|
|
657
|
-
[type="checkbox"],
|
|
658
|
-
[type="radio"],
|
|
659
|
-
[type="file"]
|
|
660
|
-
),
|
|
661
|
-
:where(select, textarea) {
|
|
662
|
-
--outline-width: 0.0625rem;
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
/* Pill-shaped border-radius for search inputs */
|
|
666
|
-
[type="search"] {
|
|
667
|
-
--border-radius: 5rem;
|
|
668
|
-
}
|
|
669
|
-
|
|
670
|
-
/* Checkboxes & radios use a slightly thicker border than text inputs */
|
|
671
|
-
[type="checkbox"],
|
|
672
|
-
[type="radio"] {
|
|
673
|
-
--border-width: 0.125rem;
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
/* Toggle switches get an even thicker border for visual prominence */
|
|
677
|
-
[type="checkbox"][role="switch"] {
|
|
678
|
-
--border-width: 0.1875rem;
|
|
679
|
-
}
|
|
680
|
-
|
|
681
|
-
/* Pill-shaped border-radius for [role="search"] wrappers */
|
|
682
|
-
[role="search"] {
|
|
683
|
-
--border-radius: 5rem;
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
/*
|
|
687
|
-
* Focus ring overrides for grouped buttons:
|
|
688
|
-
* When a .secondary or .contrast button inside a [role="search"] or
|
|
689
|
-
* [role="group"] receives focus, the group ring matches that variant's
|
|
690
|
-
* focus color instead of the default primary.
|
|
691
|
-
*/
|
|
692
|
-
[role="search"]:has(
|
|
693
|
-
button.secondary:focus,
|
|
694
|
-
[type="submit"].secondary:focus,
|
|
695
|
-
[type="button"].secondary:focus,
|
|
696
|
-
[role="button"].secondary:focus
|
|
697
|
-
),
|
|
698
|
-
[role="group"]:has(
|
|
699
|
-
button.secondary:focus,
|
|
700
|
-
[type="submit"].secondary:focus,
|
|
701
|
-
[type="button"].secondary:focus,
|
|
702
|
-
[role="button"].secondary:focus
|
|
703
|
-
) {
|
|
704
|
-
--group-shadow-focus-with-button: 0 0 0 var(--outline-width) var(--color-secondary-focus);
|
|
705
|
-
}
|
|
706
|
-
|
|
707
|
-
[role="search"]:has(
|
|
708
|
-
button.contrast:focus,
|
|
709
|
-
[type="submit"].contrast:focus,
|
|
710
|
-
[type="button"].contrast:focus,
|
|
711
|
-
[role="button"].contrast:focus
|
|
712
|
-
),
|
|
713
|
-
[role="group"]:has(
|
|
714
|
-
button.contrast:focus,
|
|
715
|
-
[type="submit"].contrast:focus,
|
|
716
|
-
[type="button"].contrast:focus,
|
|
717
|
-
[role="button"].contrast:focus
|
|
718
|
-
) {
|
|
719
|
-
--group-shadow-focus-with-button: 0 0 0 var(--outline-width) var(--color-contrast-focus);
|
|
720
|
-
}
|
|
721
|
-
|
|
722
|
-
/* Buttons inside search/group combos get wider horizontal padding */
|
|
723
|
-
[role="search"] button,
|
|
724
|
-
[role="search"] [type="submit"],
|
|
725
|
-
[role="search"] [type="button"],
|
|
726
|
-
[role="search"] [role="button"],
|
|
727
|
-
[role="group"] button,
|
|
728
|
-
[role="group"] [type="submit"],
|
|
729
|
-
[role="group"] [type="button"],
|
|
730
|
-
[role="group"] [role="button"] {
|
|
731
|
-
--form-element-spacing-horizontal: 2rem;
|
|
732
|
-
}
|
|
733
|
-
|
|
734
|
-
/* ==========================================================================
|
|
735
|
-
7. Form Element Accent Color
|
|
736
|
-
==========================================================================
|
|
8
|
+
1. _breakpoints.css - Responsive breakpoint custom media queries
|
|
9
|
+
2. _layout.css - --transparent, typography, spacing, sizing
|
|
10
|
+
3. _colors.css - Color palette, light/dark theme colors
|
|
11
|
+
4. _components.css - Component-specific variables (buttons, forms, etc.)
|
|
12
|
+
5. _icons.css - SVG icon data-URIs
|
|
13
|
+
6. _elements.css - Element-scoped variable overrides
|
|
737
14
|
|
|
738
|
-
Sets the native browser accent-color for checkboxes, radios, and range
|
|
739
|
-
sliders so they match the primary brand color without needing custom styling.
|
|
740
15
|
========================================================================== */
|
|
741
16
|
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
17
|
+
@import './_breakpoints.css';
|
|
18
|
+
@import './_layout.css';
|
|
19
|
+
@import './_colors.css';
|
|
20
|
+
@import './_components.css';
|
|
21
|
+
@import './_icons.css';
|
|
22
|
+
@import './_elements.css';
|