ui-style-kit-css 2.3.0 → 2.4.1
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/CHANGELOG.md +57 -2
- package/CONTRIBUTING.md +8 -1
- package/README.md +102 -44
- package/STYLE-MAP.md +14 -5
- package/dist/assets/bauhaus-barlow-OFL.txt +93 -0
- package/dist/assets/bauhaus-barlow-semibold.ttf +0 -0
- package/dist/assets/bauhaus-barlow.ttf +0 -0
- package/dist/assets/bauhaus-condensed-OFL.txt +93 -0
- package/dist/assets/bauhaus-condensed-bold.ttf +0 -0
- package/dist/assets/bauhaus-condensed-extrabold.ttf +0 -0
- package/dist/assets/bento-manrope-OFL.txt +93 -0
- package/dist/assets/bento-manrope.ttf +0 -0
- package/dist/assets/clay-grain.png +0 -0
- package/dist/assets/clay-rounded-OFL.txt +93 -0
- package/dist/assets/clay-rounded.ttf +0 -0
- package/dist/assets/neo-noir-corner-dark.png +0 -0
- package/dist/assets/neo-noir-corner-light.png +0 -0
- package/dist/assets/neo-noir-texture-dark.png +0 -0
- package/dist/assets/neo-noir-texture-light.png +0 -0
- package/dist/assets/organic-display-OFL.txt +93 -0
- package/dist/assets/organic-display.ttf +0 -0
- package/dist/assets/organic-icons-LICENSE.txt +21 -0
- package/dist/assets/organic-sans-OFL.txt +93 -0
- package/dist/assets/organic-sans.ttf +0 -0
- package/dist/ui-style-kit.css +47898 -15121
- package/dist/ui-style-kit.min.css +2 -2
- package/dist/ui-style-kit.visual.css +47771 -15122
- package/dist/ui-style-kit.visual.min.css +2 -2
- package/dist/ui-style-kit.with-bridge.css +47932 -15145
- package/dist/ui-style-kit.with-bridge.min.css +2 -2
- package/dist/visual/art-deco.css +3247 -295
- package/dist/visual/bauhaus.css +2 -4692
- package/dist/visual/bento.css +2 -4708
- package/dist/visual/brutalism.css +1229 -231
- package/dist/visual/clay.css +2 -4786
- package/dist/visual/cyberpunk.css +2663 -282
- package/dist/visual/data-terminal.css +2064 -276
- package/dist/visual/editorial-luxe.css +2315 -259
- package/dist/visual/industrial-utility.css +3142 -270
- package/dist/visual/maximalist.css +2185 -454
- package/dist/visual/minimal-saas.css +1503 -398
- package/dist/visual/neo-noir.css +2 -4787
- package/dist/visual/neumorphism.css +1690 -402
- package/dist/visual/organic-modern.css +2 -4764
- package/dist/visual/paper-editorial.css +2977 -292
- package/dist/visual/retro-glass.css +2625 -299
- package/dist/visual/retrofuturism.css +1885 -397
- package/dist/visual/tactile.css +2716 -498
- package/dist/visual/technical-blueprint.css +2599 -267
- package/dist/visual/y2k.css +1906 -309
- package/docs/ART-DECO.md +80 -0
- package/docs/BAUHAUS.md +152 -0
- package/docs/BENTO.md +121 -0
- package/docs/CLAY.md +127 -0
- package/docs/COLOR-THEMES.md +63 -0
- package/docs/DEMO-SHOWCASE.md +65 -0
- package/docs/ECOSYSTEM.md +4 -4
- package/docs/EDITORIAL-LUX.md +75 -0
- package/docs/INDUSTRIAL-UTILITY.md +131 -0
- package/docs/NATIVE-ELEMENTS.md +23 -17
- package/docs/NEO-NOIR.md +94 -0
- package/docs/ORGANIC-MODERN.md +91 -0
- package/docs/PAPER-EDITORIAL.md +63 -0
- package/docs/PUBLISHING.md +31 -10
- package/docs/RELEASE-2.4.0.md +88 -0
- package/docs/RELEASE-2.4.1.md +35 -0
- package/docs/RETRO-GLASS.md +105 -0
- package/docs/STYLE-GUIDE.md +41 -26
- package/docs/TACTILE.md +38 -0
- package/docs/TECHNICAL-BLUEPRINT.md +60 -0
- package/docs/TOKENS.md +80 -3
- package/docs/superpowers/plans/2026-09-04-library-wide-theme-fallback-and-fidelity.md +331 -0
- package/docs/superpowers/specs/2026-09-04-library-wide-theme-fallback-and-fidelity-design.md +113 -0
- package/manifest.json +624 -28
- package/package.json +20 -11
- package/styles/art-deco.css +1402 -17
- package/styles/assets/bauhaus-barlow-OFL.txt +93 -0
- package/styles/assets/bauhaus-barlow-semibold.ttf +0 -0
- package/styles/assets/bauhaus-barlow.ttf +0 -0
- package/styles/assets/bauhaus-condensed-OFL.txt +93 -0
- package/styles/assets/bauhaus-condensed-bold.ttf +0 -0
- package/styles/assets/bauhaus-condensed-extrabold.ttf +0 -0
- package/styles/assets/bento-manrope-OFL.txt +93 -0
- package/styles/assets/bento-manrope.ttf +0 -0
- package/styles/assets/clay-grain.png +0 -0
- package/styles/assets/clay-rounded-OFL.txt +93 -0
- package/styles/assets/clay-rounded.ttf +0 -0
- package/styles/assets/neo-noir-corner-dark.png +0 -0
- package/styles/assets/neo-noir-corner-light.png +0 -0
- package/styles/assets/neo-noir-texture-dark.png +0 -0
- package/styles/assets/neo-noir-texture-light.png +0 -0
- package/styles/assets/organic-display-OFL.txt +93 -0
- package/styles/assets/organic-display.ttf +0 -0
- package/styles/assets/organic-icons-LICENSE.txt +21 -0
- package/styles/assets/organic-sans-OFL.txt +93 -0
- package/styles/assets/organic-sans.ttf +0 -0
- package/styles/bauhaus.css +881 -110
- package/styles/bento.css +1182 -113
- package/styles/brutalism.css +266 -15
- package/styles/clay.css +1307 -72
- package/styles/compat-layout.css +1 -2
- package/styles/components.css +107 -36
- package/styles/content-overflow.css +11 -5
- package/styles/cyberpunk.css +1856 -51
- package/styles/data-terminal.css +1122 -18
- package/styles/editorial-luxe.css +581 -17
- package/styles/industrial-utility.css +1775 -16
- package/styles/interactive-surface-bridge.css +30 -20
- package/styles/interactive-surface-theme.css +21 -11
- package/styles/maximalist.css +1215 -133
- package/styles/minimal-saas.css +465 -93
- package/styles/native-elements.css +347 -171
- package/styles/neo-noir.css +661 -19
- package/styles/neumorphism.css +1021 -149
- package/styles/organic-modern.css +693 -23
- package/styles/paper-editorial.css +1053 -17
- package/styles/retro-glass.css +639 -50
- package/styles/retrofuturism.css +948 -60
- package/styles/tactile.css +1813 -111
- package/styles/technical-blueprint.css +673 -22
- package/styles/theme-colors.css +412 -2
- package/styles/y2k.css +954 -46
package/styles/neumorphism.css
CHANGED
|
@@ -23,12 +23,14 @@
|
|
|
23
23
|
--neo-font-heading: var(--neo-font-display);
|
|
24
24
|
--neo-font-control: var(--neo-font-display);
|
|
25
25
|
--neo-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
|
|
26
|
-
--neo-radius-xs: .
|
|
27
|
-
--neo-radius-sm: .
|
|
28
|
-
--neo-radius-md:
|
|
29
|
-
--neo-radius-lg: 1.
|
|
30
|
-
--neo-radius-xl:
|
|
26
|
+
--neo-radius-xs: .52rem;
|
|
27
|
+
--neo-radius-sm: .82rem;
|
|
28
|
+
--neo-radius-md: 1.15rem;
|
|
29
|
+
--neo-radius-lg: 1.55rem;
|
|
30
|
+
--neo-radius-xl: 2.25rem;
|
|
31
31
|
--neo-radius-pill: 999px;
|
|
32
|
+
--neo-soft-edge: 1px solid rgb(var(--neo-border-rgb) / .28);
|
|
33
|
+
--neo-sunken-edge: 1px solid rgb(var(--neo-border-rgb) / .18);
|
|
32
34
|
--neo-space-1: .25rem;
|
|
33
35
|
--neo-space-2: .5rem;
|
|
34
36
|
--neo-space-3: .75rem;
|
|
@@ -42,6 +44,29 @@
|
|
|
42
44
|
|
|
43
45
|
[data-ui="neumorphism"][data-mode="light"] {
|
|
44
46
|
color-scheme: light;
|
|
47
|
+
--neo-fallback-bg-rgb: 241 245 255;
|
|
48
|
+
--neo-fallback-surface-rgb: 255 255 255;
|
|
49
|
+
--neo-fallback-surface-strong-rgb: 248 251 255;
|
|
50
|
+
--neo-fallback-surface-soft-rgb: 223 231 246;
|
|
51
|
+
--neo-fallback-text-rgb: 20 27 46;
|
|
52
|
+
--neo-fallback-text-muted-rgb: 88 100 122;
|
|
53
|
+
--neo-fallback-border-rgb: 190 203 227;
|
|
54
|
+
--neo-fallback-primary-rgb: 64 94 184;
|
|
55
|
+
--neo-fallback-primary-hover-rgb: 49 72 148;
|
|
56
|
+
--neo-fallback-primary-text-rgb: 255 255 255;
|
|
57
|
+
--neo-fallback-secondary-rgb: 46 125 157;
|
|
58
|
+
--neo-fallback-secondary-hover-rgb: 35 97 122;
|
|
59
|
+
--neo-fallback-secondary-text-rgb: 255 255 255;
|
|
60
|
+
--neo-fallback-accent-rgb: 123 147 232;
|
|
61
|
+
--neo-fallback-accent-text-rgb: 0 0 0;
|
|
62
|
+
--neo-fallback-success-rgb: 47 125 84;
|
|
63
|
+
--neo-fallback-success-text-rgb: 255 255 255;
|
|
64
|
+
--neo-fallback-warning-rgb: 166 106 0;
|
|
65
|
+
--neo-fallback-warning-text-rgb: 0 0 0;
|
|
66
|
+
--neo-fallback-danger-rgb: 182 64 82;
|
|
67
|
+
--neo-fallback-danger-text-rgb: 255 255 255;
|
|
68
|
+
--neo-fallback-link-rgb: 49 72 148;
|
|
69
|
+
--neo-fallback-focus-rgb: 123 147 232;
|
|
45
70
|
--neo-panel-alpha: .98;
|
|
46
71
|
--neo-panel-soft-alpha: .78;
|
|
47
72
|
--neo-border-alpha: .58;
|
|
@@ -51,6 +76,29 @@
|
|
|
51
76
|
|
|
52
77
|
[data-ui="neumorphism"][data-mode="dark"] {
|
|
53
78
|
color-scheme: dark;
|
|
79
|
+
--neo-fallback-bg-rgb: 6 10 22;
|
|
80
|
+
--neo-fallback-surface-rgb: 16 24 43;
|
|
81
|
+
--neo-fallback-surface-strong-rgb: 24 35 66;
|
|
82
|
+
--neo-fallback-surface-soft-rgb: 10 16 32;
|
|
83
|
+
--neo-fallback-text-rgb: 237 243 255;
|
|
84
|
+
--neo-fallback-text-muted-rgb: 178 191 217;
|
|
85
|
+
--neo-fallback-border-rgb: 58 75 120;
|
|
86
|
+
--neo-fallback-primary-rgb: 145 168 255;
|
|
87
|
+
--neo-fallback-primary-hover-rgb: 183 197 255;
|
|
88
|
+
--neo-fallback-primary-text-rgb: 5 8 22;
|
|
89
|
+
--neo-fallback-secondary-rgb: 118 216 243;
|
|
90
|
+
--neo-fallback-secondary-hover-rgb: 165 234 255;
|
|
91
|
+
--neo-fallback-secondary-text-rgb: 4 17 22;
|
|
92
|
+
--neo-fallback-accent-rgb: 194 206 255;
|
|
93
|
+
--neo-fallback-accent-text-rgb: 0 0 0;
|
|
94
|
+
--neo-fallback-success-rgb: 114 219 166;
|
|
95
|
+
--neo-fallback-success-text-rgb: 0 0 0;
|
|
96
|
+
--neo-fallback-warning-rgb: 255 209 102;
|
|
97
|
+
--neo-fallback-warning-text-rgb: 0 0 0;
|
|
98
|
+
--neo-fallback-danger-rgb: 255 125 145;
|
|
99
|
+
--neo-fallback-danger-text-rgb: 0 0 0;
|
|
100
|
+
--neo-fallback-link-rgb: 183 197 255;
|
|
101
|
+
--neo-fallback-focus-rgb: 145 168 255;
|
|
54
102
|
--neo-panel-alpha: .92;
|
|
55
103
|
--neo-panel-soft-alpha: .64;
|
|
56
104
|
--neo-border-alpha: .52;
|
|
@@ -60,6 +108,29 @@
|
|
|
60
108
|
|
|
61
109
|
[data-ui="neumorphism"][data-mode="contrast"] {
|
|
62
110
|
color-scheme: dark;
|
|
111
|
+
--neo-fallback-bg-rgb: 0 0 0;
|
|
112
|
+
--neo-fallback-surface-rgb: 3 8 22;
|
|
113
|
+
--neo-fallback-surface-strong-rgb: 8 18 42;
|
|
114
|
+
--neo-fallback-surface-soft-rgb: 0 0 0;
|
|
115
|
+
--neo-fallback-text-rgb: 255 255 255;
|
|
116
|
+
--neo-fallback-text-muted-rgb: 238 244 255;
|
|
117
|
+
--neo-fallback-border-rgb: 255 255 255;
|
|
118
|
+
--neo-fallback-primary-rgb: 111 140 255;
|
|
119
|
+
--neo-fallback-primary-hover-rgb: 255 255 255;
|
|
120
|
+
--neo-fallback-primary-text-rgb: 0 0 0;
|
|
121
|
+
--neo-fallback-secondary-rgb: 0 217 255;
|
|
122
|
+
--neo-fallback-secondary-hover-rgb: 255 255 255;
|
|
123
|
+
--neo-fallback-secondary-text-rgb: 0 0 0;
|
|
124
|
+
--neo-fallback-accent-rgb: 184 196 255;
|
|
125
|
+
--neo-fallback-accent-text-rgb: 0 0 0;
|
|
126
|
+
--neo-fallback-success-rgb: 0 255 144;
|
|
127
|
+
--neo-fallback-success-text-rgb: 0 0 0;
|
|
128
|
+
--neo-fallback-warning-rgb: 255 225 0;
|
|
129
|
+
--neo-fallback-warning-text-rgb: 0 0 0;
|
|
130
|
+
--neo-fallback-danger-rgb: 255 63 95;
|
|
131
|
+
--neo-fallback-danger-text-rgb: 0 0 0;
|
|
132
|
+
--neo-fallback-link-rgb: 159 178 255;
|
|
133
|
+
--neo-fallback-focus-rgb: 255 255 255;
|
|
63
134
|
--neo-panel-alpha: 1;
|
|
64
135
|
--neo-panel-soft-alpha: .92;
|
|
65
136
|
--neo-border-alpha: 1;
|
|
@@ -67,8 +138,8 @@
|
|
|
67
138
|
--neo-focus-alpha: .72;
|
|
68
139
|
}
|
|
69
140
|
|
|
141
|
+
/** Preserves direct aliases for static extraction when a scheme is selected. */
|
|
70
142
|
[data-ui="neumorphism"][data-theme][data-mode] {
|
|
71
|
-
/* Shared scheme aliases preserve the existing prefixed token API. */
|
|
72
143
|
--neo-bg-rgb: var(--usk-bg-rgb);
|
|
73
144
|
--neo-surface-rgb: var(--usk-surface-rgb);
|
|
74
145
|
--neo-surface-strong-rgb: var(--usk-surface-strong-rgb);
|
|
@@ -83,15 +154,43 @@
|
|
|
83
154
|
--neo-secondary-hover-rgb: var(--usk-secondary-hover-rgb);
|
|
84
155
|
--neo-secondary-text-rgb: var(--usk-secondary-text-rgb);
|
|
85
156
|
--neo-accent-rgb: var(--usk-accent-rgb);
|
|
86
|
-
--neo-success-rgb: var(--usk-success-rgb);
|
|
87
|
-
--neo-warning-rgb: var(--usk-warning-rgb);
|
|
88
|
-
--neo-danger-rgb: var(--usk-danger-rgb);
|
|
89
|
-
--neo-link-rgb: var(--usk-link-rgb);
|
|
90
157
|
--neo-accent-text-rgb: var(--usk-accent-text-rgb);
|
|
158
|
+
--neo-success-rgb: var(--usk-success-rgb);
|
|
91
159
|
--neo-success-text-rgb: var(--usk-success-text-rgb);
|
|
160
|
+
--neo-warning-rgb: var(--usk-warning-rgb);
|
|
92
161
|
--neo-warning-text-rgb: var(--usk-warning-text-rgb);
|
|
162
|
+
--neo-danger-rgb: var(--usk-danger-rgb);
|
|
93
163
|
--neo-danger-text-rgb: var(--usk-danger-text-rgb);
|
|
164
|
+
--neo-link-rgb: var(--usk-link-rgb);
|
|
94
165
|
--neo-focus-rgb: var(--usk-focus-rgb);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
[data-ui="neumorphism"][data-mode] {
|
|
169
|
+
--usk-native-bg: var(--neo-bg);
|
|
170
|
+
/* Explicit schemes win; reference colors are used only when no scheme exists. */
|
|
171
|
+
--neo-bg-rgb: var(--usk-bg-rgb, var(--neo-fallback-bg-rgb));
|
|
172
|
+
--neo-surface-rgb: var(--usk-surface-rgb, var(--neo-fallback-surface-rgb));
|
|
173
|
+
--neo-surface-strong-rgb: var(--usk-surface-strong-rgb, var(--neo-fallback-surface-strong-rgb));
|
|
174
|
+
--neo-surface-soft-rgb: var(--usk-surface-soft-rgb, var(--neo-fallback-surface-soft-rgb));
|
|
175
|
+
--neo-text-rgb: var(--usk-text-rgb, var(--neo-fallback-text-rgb));
|
|
176
|
+
--neo-text-muted-rgb: var(--usk-text-muted-rgb, var(--neo-fallback-text-muted-rgb));
|
|
177
|
+
--neo-border-rgb: var(--usk-border-rgb, var(--neo-fallback-border-rgb));
|
|
178
|
+
--neo-primary-rgb: var(--usk-primary-rgb, var(--neo-fallback-primary-rgb));
|
|
179
|
+
--neo-primary-hover-rgb: var(--usk-primary-hover-rgb, var(--neo-fallback-primary-hover-rgb));
|
|
180
|
+
--neo-primary-text-rgb: var(--usk-primary-text-rgb, var(--neo-fallback-primary-text-rgb));
|
|
181
|
+
--neo-secondary-rgb: var(--usk-secondary-rgb, var(--neo-fallback-secondary-rgb));
|
|
182
|
+
--neo-secondary-hover-rgb: var(--usk-secondary-hover-rgb, var(--neo-fallback-secondary-hover-rgb));
|
|
183
|
+
--neo-secondary-text-rgb: var(--usk-secondary-text-rgb, var(--neo-fallback-secondary-text-rgb));
|
|
184
|
+
--neo-accent-rgb: var(--usk-accent-rgb, var(--neo-fallback-accent-rgb));
|
|
185
|
+
--neo-accent-text-rgb: var(--usk-accent-text-rgb, var(--neo-fallback-accent-text-rgb));
|
|
186
|
+
--neo-success-rgb: var(--usk-success-rgb, var(--neo-fallback-success-rgb));
|
|
187
|
+
--neo-success-text-rgb: var(--usk-success-text-rgb, var(--neo-fallback-success-text-rgb));
|
|
188
|
+
--neo-warning-rgb: var(--usk-warning-rgb, var(--neo-fallback-warning-rgb));
|
|
189
|
+
--neo-warning-text-rgb: var(--usk-warning-text-rgb, var(--neo-fallback-warning-text-rgb));
|
|
190
|
+
--neo-danger-rgb: var(--usk-danger-rgb, var(--neo-fallback-danger-rgb));
|
|
191
|
+
--neo-danger-text-rgb: var(--usk-danger-text-rgb, var(--neo-fallback-danger-text-rgb));
|
|
192
|
+
--neo-link-rgb: var(--usk-link-rgb, var(--neo-fallback-link-rgb));
|
|
193
|
+
--neo-focus-rgb: var(--usk-focus-rgb, var(--neo-fallback-focus-rgb));
|
|
95
194
|
/* Native fallback selectors inherit visual identity through shared tokens. */
|
|
96
195
|
--usk-native-surface: var(--neo-surface);
|
|
97
196
|
--usk-native-surface-strong: var(--neo-surface-strong);
|
|
@@ -122,6 +221,57 @@
|
|
|
122
221
|
--usk-native-border-width: 1px;
|
|
123
222
|
--usk-native-field-gap: .5rem;
|
|
124
223
|
--usk-native-panel-padding: var(--neo-space-5);
|
|
224
|
+
--usk-native-control-min-block-size: 3rem;
|
|
225
|
+
--usk-native-control-padding-block: .74rem;
|
|
226
|
+
--usk-native-control-padding-inline: 1rem;
|
|
227
|
+
--usk-native-subcontrol-padding-block: .58rem;
|
|
228
|
+
--usk-native-subcontrol-padding-inline: .8rem;
|
|
229
|
+
--usk-native-choice-size: 1.55rem;
|
|
230
|
+
--usk-native-choice-background: var(--neo-control-bg);
|
|
231
|
+
--usk-native-choice-border: 1px solid var(--neo-border);
|
|
232
|
+
--usk-native-checkbox-radius: .45rem;
|
|
233
|
+
--usk-native-radio-radius: 50%;
|
|
234
|
+
--usk-native-choice-shadow: 4px 4px 8px rgb(0 0 0 / .22);
|
|
235
|
+
--usk-native-choice-checked-background: var(--neo-primary);
|
|
236
|
+
--usk-native-choice-mark-color: var(--neo-on-primary);
|
|
237
|
+
--usk-native-select-indicator-image: linear-gradient(42deg, transparent 50%, var(--neo-primary) 50%), linear-gradient(138deg, var(--neo-primary) 50%, transparent 50%);
|
|
238
|
+
--usk-native-select-indicator-size: 0.34rem 0.34rem, 0.34rem 0.34rem;
|
|
239
|
+
--usk-native-select-indicator-position: calc(100% - 1.08rem) 50%, calc(100% - 0.78rem) 50%;
|
|
240
|
+
--usk-native-select-padding-inline-end: 2.4rem;
|
|
241
|
+
--usk-native-range-track-size: .62rem;
|
|
242
|
+
--usk-native-range-track-background: var(--neo-surface-soft);
|
|
243
|
+
--usk-native-range-track-border: 1px solid var(--neo-border);
|
|
244
|
+
--usk-native-range-track-radius: 999px;
|
|
245
|
+
--usk-native-range-track-shadow: 4px 4px 8px rgb(0 0 0 / .22);
|
|
246
|
+
--usk-native-range-progress-background: var(--neo-primary);
|
|
247
|
+
--usk-native-range-thumb-size: 1.45rem;
|
|
248
|
+
--usk-native-range-thumb-background: var(--neo-surface-strong);
|
|
249
|
+
--usk-native-range-thumb-border: 1px solid var(--neo-border);
|
|
250
|
+
--usk-native-range-thumb-radius: 50%;
|
|
251
|
+
--usk-native-range-thumb-shadow: 4px 4px 8px rgb(0 0 0 / .22);
|
|
252
|
+
--usk-native-progress-size: .82rem;
|
|
253
|
+
--usk-native-progress-track-background: var(--neo-surface-soft);
|
|
254
|
+
--usk-native-progress-track-border: 1px solid var(--neo-border);
|
|
255
|
+
--usk-native-progress-track-radius: 999px;
|
|
256
|
+
--usk-native-progress-track-shadow: 4px 4px 8px rgb(0 0 0 / .22);
|
|
257
|
+
--usk-native-progress-value-background: var(--neo-primary);
|
|
258
|
+
--usk-native-progress-value-radius: 999px;
|
|
259
|
+
--usk-native-progress-value-shadow: 4px 4px 8px rgb(0 0 0 / .22);
|
|
260
|
+
--usk-native-meter-optimum-background: var(--neo-success);
|
|
261
|
+
--usk-native-meter-suboptimum-background: var(--neo-warning);
|
|
262
|
+
--usk-native-meter-critical-background: var(--neo-danger);
|
|
263
|
+
--usk-native-file-button-background: var(--neo-primary);
|
|
264
|
+
--usk-native-file-button-border: 1px solid var(--neo-border);
|
|
265
|
+
--usk-native-file-button-radius: .45rem;
|
|
266
|
+
--usk-native-file-button-shadow: 4px 4px 8px rgb(0 0 0 / .22);
|
|
267
|
+
--usk-native-color-swatch-border: 1px solid var(--neo-border);
|
|
268
|
+
--usk-native-color-swatch-radius: .45rem;
|
|
269
|
+
--usk-native-indicator-opacity: 0.72;
|
|
270
|
+
--usk-native-indicator-filter: none;
|
|
271
|
+
--usk-native-scrollbar-size: .8rem;
|
|
272
|
+
--usk-native-scrollbar-track: var(--neo-surface-soft);
|
|
273
|
+
--usk-native-scrollbar-thumb: var(--neo-primary);
|
|
274
|
+
--usk-native-scrollbar-radius: 999px;
|
|
125
275
|
--usk-native-shadow: var(--neo-shadow-sm);
|
|
126
276
|
--usk-native-shadow-md: var(--neo-shadow-md);
|
|
127
277
|
--neo-bg: rgb(var(--neo-bg-rgb));
|
|
@@ -164,7 +314,7 @@
|
|
|
164
314
|
}
|
|
165
315
|
|
|
166
316
|
@supports (color: color-mix(in srgb, black, white)) {
|
|
167
|
-
[data-ui="neumorphism"][data-
|
|
317
|
+
[data-ui="neumorphism"][data-mode] { --neo-border: color-mix(in srgb, rgb(var(--neo-border-rgb) / max(var(--neo-border-alpha), var(--usk-border-min-alpha))), var(--neo-text) var(--usk-border-text-mix)); }
|
|
168
318
|
}
|
|
169
319
|
|
|
170
320
|
|
|
@@ -216,7 +366,7 @@
|
|
|
216
366
|
[data-ui="neumorphism"] *::before,
|
|
217
367
|
[data-ui="neumorphism"] *::after { box-sizing: border-box; }
|
|
218
368
|
|
|
219
|
-
[data-ui="neumorphism"][data-
|
|
369
|
+
[data-ui="neumorphism"][data-mode] { background: var(--neo-theme-bg); background-size: var(--neo-theme-bg-size); }
|
|
220
370
|
|
|
221
371
|
.neo-page { min-height: 100vh; padding: clamp(1rem, 4vw, 3rem); }
|
|
222
372
|
.neo-container { width: min(100% - 2rem, 1200px); margin-inline: auto; }
|
|
@@ -233,7 +383,7 @@
|
|
|
233
383
|
.neo-title, .neo-heading, .neo-kicker, .neo-button, .neo-badge, .neo-nav-link { font-family: var(--neo-font-heading); }
|
|
234
384
|
.neo-title { margin: 0; color: var(--neo-text); font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.02; letter-spacing: -0.045em; }
|
|
235
385
|
.neo-heading { margin: 0; color: var(--neo-text); font-size: clamp(1.2rem, 2.5vw, 2rem); line-height: 1.15; letter-spacing: -0.03em; }
|
|
236
|
-
.neo-kicker { margin: 0; color: var(--neo-primary); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
|
|
386
|
+
.neo-kicker { margin: 0; color: var(--usk-primary-ink, var(--neo-primary)); font-size: .82rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
|
|
237
387
|
.neo-subtitle, .neo-copy { margin: 0; color: var(--neo-text-muted); line-height: 1.65; }
|
|
238
388
|
.neo-text-muted { color: var(--neo-text-muted); }
|
|
239
389
|
.neo-divider { width: 100%; height: 1px; border: 0; background: var(--neo-border); }
|
|
@@ -283,7 +433,7 @@
|
|
|
283
433
|
/* Theme-responsive component defaults */
|
|
284
434
|
.neo-card, .neo-panel { background: var(--neo-card-bg); }
|
|
285
435
|
.neo-toolbar, .neo-table-wrap { background: var(--neo-control-bg); }
|
|
286
|
-
.neo-button:not(.neo-button-primary):not(.neo-button-secondary):not(.neo-button-danger):not(.neo-button-ghost), .neo-icon-button { background: var(--neo-control-bg); }
|
|
436
|
+
.neo-button:not(.neo-button-primary):not(.neo-button-secondary):not(.neo-button-danger):not(.neo-button-warning):not(.neo-button-ghost), .neo-icon-button { background: var(--neo-control-bg); }
|
|
287
437
|
.neo-button, .neo-icon-button, .neo-badge, .neo-nav-link { font-family: var(--neo-font-control); }
|
|
288
438
|
|
|
289
439
|
|
|
@@ -368,7 +518,7 @@
|
|
|
368
518
|
Utilities
|
|
369
519
|
========================================================= */
|
|
370
520
|
|
|
371
|
-
.neo-text-primary { color: var(--neo-primary); } .neo-text-secondary { color: var(--neo-secondary); } .neo-text-accent { color: var(--neo-accent); } .neo-text-success { color: var(--neo-success); } .neo-text-warning { color: var(--neo-warning); } .neo-text-danger { color: var(--neo-danger); }
|
|
521
|
+
.neo-text-primary { color: var(--usk-primary-ink, var(--neo-primary)); } .neo-text-secondary { color: var(--neo-secondary); } .neo-text-accent { color: var(--usk-accent-ink, var(--neo-accent)); } .neo-text-success { color: var(--neo-success); } .neo-text-warning { color: var(--neo-warning); } .neo-text-danger { color: var(--neo-danger); }
|
|
372
522
|
.neo-bg-primary { background: var(--neo-primary); color: var(--neo-on-primary); } .neo-bg-secondary { background: var(--neo-secondary); color: var(--neo-on-secondary); }
|
|
373
523
|
.neo-border { border: 1px solid var(--neo-border); } .neo-rounded { border-radius: var(--neo-radius-md); } .neo-rounded-lg { border-radius: var(--neo-radius-lg); } .neo-rounded-xl { border-radius: var(--neo-radius-xl); } .neo-pill { border-radius: var(--neo-radius-pill); }
|
|
374
524
|
.neo-sr-only, .neo-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
|
|
@@ -377,72 +527,670 @@
|
|
|
377
527
|
|
|
378
528
|
|
|
379
529
|
/* =========================================================
|
|
380
|
-
|
|
530
|
+
Reference Material Contract
|
|
531
|
+
Mode material, component recipes, semantic roles, interaction
|
|
532
|
+
states, and accessibility overrides are intentionally ordered.
|
|
381
533
|
========================================================= */
|
|
534
|
+
|
|
535
|
+
/**
|
|
536
|
+
* Keeps the public font and radius tokens consumer-overridable while
|
|
537
|
+
* matching the reference's soft, compact geometry by default.
|
|
538
|
+
*/
|
|
539
|
+
:root {
|
|
540
|
+
--neo-font-sans: "Trebuchet MS", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
|
|
541
|
+
--neo-font-display: "Trebuchet MS", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
|
|
542
|
+
--neo-radius-xs: .45rem;
|
|
543
|
+
--neo-radius-sm: .65rem;
|
|
544
|
+
--neo-radius-md: .85rem;
|
|
545
|
+
--neo-radius-lg: 1.15rem;
|
|
546
|
+
--neo-radius-xl: 1.45rem;
|
|
547
|
+
}
|
|
548
|
+
|
|
382
549
|
[data-ui="neumorphism"][data-mode="light"] {
|
|
383
|
-
--neo-
|
|
384
|
-
--neo-
|
|
550
|
+
--neo-material-canvas: rgb(241 238 236);
|
|
551
|
+
--neo-material-raised: rgb(241 238 236);
|
|
552
|
+
--neo-material-inset: rgb(234 231 229);
|
|
553
|
+
--neo-material-top-light: rgb(255 255 255 / .3);
|
|
554
|
+
--neo-material-hairline: rgb(190 184 181);
|
|
555
|
+
--neo-material-edge: rgb(133 127 124);
|
|
556
|
+
--neo-nm-light: rgb(255 255 255 / .92);
|
|
557
|
+
--neo-nm-dark: rgb(169 161 157 / .4);
|
|
558
|
+
--neo-nm-primary-glow: rgb(var(--neo-primary-rgb) / .26);
|
|
385
559
|
}
|
|
560
|
+
|
|
386
561
|
[data-ui="neumorphism"][data-mode="dark"] {
|
|
387
|
-
--neo-
|
|
388
|
-
--neo-
|
|
562
|
+
--neo-material-canvas: rgb(26 36 52);
|
|
563
|
+
--neo-material-raised: rgb(26 36 52);
|
|
564
|
+
--neo-material-inset: rgb(21 30 44);
|
|
565
|
+
--neo-material-top-light: rgb(255 255 255 / .07);
|
|
566
|
+
--neo-material-hairline: rgb(75 91 113);
|
|
567
|
+
--neo-material-edge: rgb(109 126 149);
|
|
568
|
+
--neo-nm-light: rgb(52 66 87 / .72);
|
|
569
|
+
--neo-nm-dark: rgb(5 9 16 / .78);
|
|
570
|
+
--neo-nm-primary-glow: rgb(var(--neo-primary-rgb) / .34);
|
|
389
571
|
}
|
|
572
|
+
|
|
390
573
|
[data-ui="neumorphism"][data-mode="contrast"] {
|
|
391
|
-
--neo-
|
|
574
|
+
--neo-material-canvas: rgb(10 14 22);
|
|
575
|
+
--neo-material-raised: rgb(10 14 22);
|
|
576
|
+
--neo-material-inset: rgb(3 6 11);
|
|
577
|
+
--neo-material-top-light: rgb(255 255 255 / .12);
|
|
578
|
+
--neo-material-hairline: rgb(255 255 255);
|
|
579
|
+
--neo-material-edge: rgb(255 255 255);
|
|
580
|
+
--neo-nm-light: rgb(255 255 255 / .34);
|
|
392
581
|
--neo-nm-dark: rgb(0 0 0 / 1);
|
|
582
|
+
--neo-nm-primary-glow: rgb(var(--neo-primary-rgb) / .5);
|
|
393
583
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* Maps stable reference material to the existing theme-aware semantic contract.
|
|
587
|
+
* Themes continue to own action and status paint; modes own depth and lighting.
|
|
588
|
+
*/
|
|
589
|
+
[data-ui="neumorphism"][data-mode] {
|
|
590
|
+
--neo-bg: var(--neo-material-canvas);
|
|
591
|
+
--neo-surface: var(--neo-material-raised);
|
|
592
|
+
--neo-surface-strong: var(--neo-material-raised);
|
|
593
|
+
--neo-surface-soft: var(--neo-material-inset);
|
|
594
|
+
--neo-theme-bg: var(--neo-material-canvas);
|
|
595
|
+
--neo-theme-bg-size: auto;
|
|
596
|
+
--neo-card-bg: var(--neo-material-raised);
|
|
597
|
+
--neo-control-bg: var(--neo-material-inset);
|
|
598
|
+
--neo-muted-divider: var(--neo-material-hairline);
|
|
599
|
+
--neo-raised-shadow: -.72rem -.72rem 1.45rem var(--neo-nm-light), .76rem .76rem 1.5rem var(--neo-nm-dark);
|
|
600
|
+
--neo-raised-shadow-sm: -.3rem -.3rem .68rem var(--neo-nm-light), .34rem .34rem .72rem var(--neo-nm-dark);
|
|
601
|
+
--neo-raised-shadow-lg: -.92rem -.92rem 1.8rem var(--neo-nm-light), 1rem 1rem 1.95rem var(--neo-nm-dark);
|
|
602
|
+
--neo-inset-shadow: inset .42rem .42rem .82rem var(--neo-nm-dark), inset -.42rem -.42rem .82rem var(--neo-nm-light);
|
|
603
|
+
--neo-inset-shadow-sm: inset .22rem .22rem .46rem var(--neo-nm-dark), inset -.22rem -.22rem .46rem var(--neo-nm-light);
|
|
604
|
+
--neo-button-shadow: -.28rem -.28rem .62rem var(--neo-nm-light), .32rem .32rem .68rem var(--neo-nm-dark);
|
|
605
|
+
--neo-button-primary-shadow: -.24rem -.24rem .56rem var(--neo-nm-light), .34rem .34rem .72rem var(--neo-nm-primary-glow);
|
|
606
|
+
--neo-control-shadow: var(--neo-inset-shadow-sm);
|
|
607
|
+
--neo-focus-ring: 0 0 0 .2rem rgb(var(--neo-focus-rgb) / var(--neo-focus-alpha)), var(--neo-inset-shadow-sm);
|
|
608
|
+
--usk-native-surface: var(--neo-material-raised);
|
|
609
|
+
--usk-native-surface-strong: var(--neo-material-raised);
|
|
610
|
+
--usk-native-surface-soft: var(--neo-material-inset);
|
|
611
|
+
--usk-native-card-bg: var(--neo-material-raised);
|
|
612
|
+
--usk-native-control-bg: var(--neo-material-inset);
|
|
613
|
+
--usk-native-border: var(--neo-material-edge);
|
|
614
|
+
--usk-native-radius-sm: var(--neo-radius-sm);
|
|
615
|
+
--usk-native-radius: var(--neo-radius-md);
|
|
616
|
+
--usk-native-radius-lg: var(--neo-radius-lg);
|
|
617
|
+
--usk-native-border-width: 1px;
|
|
618
|
+
--usk-native-panel-padding: 1.5rem;
|
|
619
|
+
--usk-native-control-min-block-size: 3rem;
|
|
620
|
+
--usk-native-control-padding-block: .8rem;
|
|
621
|
+
--usk-native-control-padding-inline: 1rem;
|
|
622
|
+
--usk-native-subcontrol-padding-block: .62rem;
|
|
623
|
+
--usk-native-subcontrol-padding-inline: .85rem;
|
|
624
|
+
--usk-native-choice-size: 1.5rem;
|
|
625
|
+
--usk-native-choice-background: var(--neo-material-inset);
|
|
626
|
+
--usk-native-choice-border: 1px solid var(--neo-material-edge);
|
|
627
|
+
--usk-native-choice-shadow: var(--neo-inset-shadow-sm);
|
|
628
|
+
--usk-native-checkbox-radius: var(--neo-radius-xs);
|
|
629
|
+
--usk-native-range-track-size: .65rem;
|
|
630
|
+
--usk-native-range-track-background: var(--neo-material-inset);
|
|
631
|
+
--usk-native-range-track-border: 1px solid var(--neo-material-edge);
|
|
632
|
+
--usk-native-range-track-radius: var(--neo-radius-pill);
|
|
633
|
+
--usk-native-range-track-shadow: var(--neo-inset-shadow-sm);
|
|
634
|
+
--usk-native-range-thumb-size: 1.65rem;
|
|
635
|
+
--usk-native-range-thumb-background: var(--neo-material-raised);
|
|
636
|
+
--usk-native-range-thumb-border: 1px solid var(--neo-material-edge);
|
|
637
|
+
--usk-native-range-thumb-radius: 50%;
|
|
638
|
+
--usk-native-range-thumb-shadow: var(--neo-button-shadow);
|
|
639
|
+
--usk-native-progress-size: .95rem;
|
|
640
|
+
--usk-native-progress-track-background: var(--neo-material-inset);
|
|
641
|
+
--usk-native-progress-track-border: 1px solid var(--neo-material-edge);
|
|
642
|
+
--usk-native-progress-track-radius: var(--neo-radius-pill);
|
|
643
|
+
--usk-native-progress-track-shadow: var(--neo-inset-shadow-sm);
|
|
644
|
+
--usk-native-progress-value-background: linear-gradient(90deg, var(--neo-primary), var(--neo-primary-hover));
|
|
645
|
+
--usk-native-progress-value-radius: var(--neo-radius-pill);
|
|
646
|
+
--usk-native-progress-value-shadow: inset 0 1px 0 rgb(255 255 255 / .42), 0 .12rem .38rem rgb(var(--neo-primary-rgb) / .3);
|
|
647
|
+
--usk-native-file-button-background: var(--neo-material-raised);
|
|
648
|
+
--usk-native-file-button-border: 1px solid var(--neo-material-edge);
|
|
649
|
+
--usk-native-file-button-radius: var(--neo-radius-md);
|
|
650
|
+
--usk-native-file-button-shadow: var(--neo-button-shadow);
|
|
651
|
+
--usk-native-color-swatch-border: 1px solid var(--neo-material-edge);
|
|
652
|
+
--usk-native-color-swatch-radius: var(--neo-radius-md);
|
|
653
|
+
--usk-native-scrollbar-size: .85rem;
|
|
654
|
+
--usk-native-scrollbar-track: var(--neo-material-inset);
|
|
655
|
+
--usk-native-scrollbar-thumb: var(--neo-primary);
|
|
656
|
+
--usk-native-scrollbar-radius: var(--neo-radius-pill);
|
|
657
|
+
--usk-native-shadow: var(--neo-raised-shadow-sm);
|
|
658
|
+
--usk-native-shadow-md: var(--neo-raised-shadow);
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
/* =========================================================
|
|
662
|
+
Typography and Surfaces
|
|
663
|
+
========================================================= */
|
|
664
|
+
|
|
665
|
+
[data-ui="neumorphism"] {
|
|
666
|
+
background: var(--neo-material-canvas);
|
|
398
667
|
}
|
|
399
|
-
|
|
400
|
-
|
|
668
|
+
|
|
669
|
+
.neo-title { margin-block: .75rem;
|
|
670
|
+
font-weight: 680;
|
|
671
|
+
letter-spacing: max(.016em, .5px);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
.neo-heading {
|
|
675
|
+
font-weight: 680;
|
|
676
|
+
letter-spacing: -.028em;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
.neo-label {
|
|
680
|
+
font-size: .86rem;
|
|
681
|
+
font-weight: 680;
|
|
682
|
+
letter-spacing: 0;
|
|
401
683
|
}
|
|
402
|
-
|
|
403
|
-
|
|
684
|
+
|
|
685
|
+
.neo-subtitle,
|
|
686
|
+
.neo-copy,
|
|
687
|
+
.neo-help-text {
|
|
688
|
+
color: var(--neo-text-muted);
|
|
404
689
|
}
|
|
405
|
-
|
|
406
|
-
|
|
690
|
+
|
|
691
|
+
.neo-divider {
|
|
692
|
+
background: var(--neo-muted-divider);
|
|
407
693
|
}
|
|
408
|
-
|
|
409
|
-
|
|
694
|
+
|
|
695
|
+
.neo-surface,
|
|
696
|
+
.neo-card,
|
|
697
|
+
.neo-panel,
|
|
698
|
+
.neo-toolbar,
|
|
699
|
+
.neo-table-wrap {
|
|
700
|
+
background-color: var(--neo-material-raised);
|
|
701
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 44%);
|
|
702
|
+
color: var(--neo-text);
|
|
703
|
+
border: 1px solid var(--neo-material-hairline);
|
|
704
|
+
border-radius: var(--neo-radius-xl);
|
|
705
|
+
box-shadow: var(--neo-raised-shadow);
|
|
410
706
|
}
|
|
411
707
|
|
|
412
|
-
|
|
413
|
-
.neo-
|
|
708
|
+
.neo-card,
|
|
709
|
+
.neo-panel {
|
|
710
|
+
padding: clamp(1.25rem, 3vw, 2rem);
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
.neo-toolbar {
|
|
714
|
+
padding: 1rem 1.25rem;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
.neo-surface-sm {
|
|
718
|
+
border-radius: var(--neo-radius-lg);
|
|
719
|
+
box-shadow: var(--neo-raised-shadow-sm);
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
.neo-surface-lg,
|
|
723
|
+
.neo-hover-lift:hover {
|
|
724
|
+
box-shadow: var(--neo-raised-shadow-lg);
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
.neo-well,
|
|
728
|
+
.neo-inset {
|
|
729
|
+
background: var(--neo-material-inset);
|
|
730
|
+
color: var(--neo-text);
|
|
731
|
+
border: 1px solid var(--neo-material-edge);
|
|
732
|
+
border-radius: var(--neo-radius-lg);
|
|
733
|
+
box-shadow: var(--neo-inset-shadow);
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
/**
|
|
737
|
+
* Composes the small-surface utility as a tighter, shallower inset treatment.
|
|
738
|
+
*/
|
|
739
|
+
:where(.neo-well, .neo-inset).neo-surface-sm {
|
|
740
|
+
padding: var(--neo-space-3);
|
|
741
|
+
border-radius: var(--neo-radius-md);
|
|
742
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
/* =========================================================
|
|
746
|
+
Controls and Interaction States
|
|
747
|
+
========================================================= */
|
|
748
|
+
|
|
749
|
+
.neo-button,
|
|
750
|
+
.neo-icon-button {
|
|
751
|
+
min-height: 3rem;
|
|
752
|
+
padding: .8rem 1.2rem;
|
|
753
|
+
background-color: var(--neo-material-raised);
|
|
754
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
755
|
+
color: var(--neo-text);
|
|
756
|
+
border: 1px solid var(--neo-material-edge);
|
|
757
|
+
border-radius: var(--neo-radius-md);
|
|
758
|
+
box-shadow: var(--neo-button-shadow);
|
|
759
|
+
font-weight: 680;
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
.neo-icon-button {
|
|
763
|
+
inline-size: 3rem;
|
|
764
|
+
padding: 0;
|
|
765
|
+
border-radius: 50%;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
.neo-button:not(:disabled):hover,
|
|
769
|
+
.neo-icon-button:not(:disabled):hover {
|
|
770
|
+
transform: translateY(-1px);
|
|
771
|
+
box-shadow: var(--neo-raised-shadow-sm);
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
.neo-button:focus-visible,
|
|
775
|
+
.neo-icon-button:focus-visible,
|
|
776
|
+
.neo-nav-link:focus-visible {
|
|
777
|
+
outline: 2px solid var(--neo-focus);
|
|
778
|
+
outline-offset: 3px;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
.neo-button:active,
|
|
782
|
+
.neo-icon-button:active,
|
|
783
|
+
.neo-button[aria-pressed="true"],
|
|
784
|
+
.neo-icon-button[aria-pressed="true"],
|
|
785
|
+
.neo-button.is-active,
|
|
786
|
+
.neo-icon-button.is-active {
|
|
787
|
+
transform: translateY(1px);
|
|
788
|
+
background-image: none;
|
|
789
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
.neo-button-primary,
|
|
793
|
+
.neo-button-secondary,
|
|
794
|
+
.neo-button-danger {
|
|
795
|
+
background-image: linear-gradient(155deg, rgb(255 255 255 / .28), transparent 52%, rgb(0 0 0 / .08));
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
.neo-button-primary {
|
|
799
|
+
background-color: var(--neo-primary);
|
|
800
|
+
color: var(--neo-on-primary);
|
|
801
|
+
border-color: var(--neo-primary);
|
|
802
|
+
box-shadow: var(--neo-button-primary-shadow);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
.neo-button-primary:hover {
|
|
806
|
+
background-color: var(--neo-primary-hover);
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
.neo-button-secondary {
|
|
810
|
+
background-color: var(--neo-secondary);
|
|
811
|
+
color: var(--neo-on-secondary);
|
|
812
|
+
border-color: var(--neo-secondary);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
.neo-button-secondary:hover {
|
|
816
|
+
background-color: var(--neo-secondary-hover);
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
.neo-button-danger {
|
|
820
|
+
background-color: var(--neo-danger);
|
|
821
|
+
color: var(--neo-on-danger);
|
|
822
|
+
border-color: var(--neo-danger);
|
|
823
|
+
box-shadow: var(--neo-button-primary-shadow);
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
.neo-button-primary:active,
|
|
827
|
+
.neo-button-secondary:active,
|
|
828
|
+
.neo-button-danger:active,
|
|
829
|
+
.neo-button-primary[aria-pressed="true"],
|
|
830
|
+
.neo-button-secondary[aria-pressed="true"],
|
|
831
|
+
.neo-button-danger[aria-pressed="true"] {
|
|
832
|
+
background-image: none;
|
|
833
|
+
box-shadow: inset .28rem .28rem .58rem rgb(0 0 0 / .34), inset -.22rem -.22rem .5rem rgb(255 255 255 / .22);
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
.neo-button-ghost,
|
|
837
|
+
.neo-button:not(.neo-button-primary):not(.neo-button-secondary):not(.neo-button-danger):not(.neo-button-warning):not(.neo-button-ghost),
|
|
838
|
+
.neo-icon-button {
|
|
839
|
+
background-color: var(--neo-material-raised);
|
|
840
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
841
|
+
color: var(--neo-text);
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
.neo-button.neo-button-cut,
|
|
845
|
+
.neo-button-cut {
|
|
846
|
+
min-inline-size: 6rem;
|
|
847
|
+
max-inline-size: 100%;
|
|
848
|
+
justify-self: center;
|
|
849
|
+
justify-content: center;
|
|
850
|
+
border-radius: var(--neo-radius-md);
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
.neo-button.neo-button-outline-heavy,
|
|
854
|
+
.neo-button-outline-heavy {
|
|
855
|
+
background-color: var(--neo-material-raised);
|
|
856
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
857
|
+
color: var(--usk-primary-ink, var(--neo-primary));
|
|
858
|
+
border: 1px solid var(--neo-material-edge);
|
|
859
|
+
border-radius: var(--neo-radius-md);
|
|
860
|
+
box-shadow: var(--neo-button-shadow);
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
.neo-button.neo-button-outline-heavy:hover,
|
|
864
|
+
.neo-button-outline-heavy:hover {
|
|
865
|
+
color: var(--usk-primary-ink, var(--neo-primary-hover));
|
|
866
|
+
border-color: var(--neo-primary);
|
|
867
|
+
}
|
|
868
|
+
|
|
869
|
+
.neo-button:disabled,
|
|
870
|
+
.neo-icon-button:disabled,
|
|
871
|
+
.neo-disabled {
|
|
872
|
+
opacity: .5;
|
|
873
|
+
cursor: not-allowed;
|
|
874
|
+
transform: none;
|
|
875
|
+
box-shadow: -.14rem -.14rem .3rem var(--neo-nm-light), .16rem .16rem .34rem var(--neo-nm-dark);
|
|
876
|
+
}
|
|
877
|
+
|
|
878
|
+
/* =========================================================
|
|
879
|
+
Forms and Choices
|
|
880
|
+
========================================================= */
|
|
881
|
+
|
|
882
|
+
.neo-input,
|
|
883
|
+
.neo-textarea,
|
|
884
|
+
.neo-select {
|
|
885
|
+
min-height: 3rem;
|
|
886
|
+
padding: .8rem 1rem;
|
|
887
|
+
background: var(--neo-material-inset);
|
|
888
|
+
color: var(--neo-text);
|
|
889
|
+
border: 1px solid var(--neo-material-edge);
|
|
890
|
+
border-radius: var(--neo-radius-md);
|
|
891
|
+
box-shadow: var(--neo-control-shadow);
|
|
892
|
+
}
|
|
893
|
+
|
|
894
|
+
.neo-input:hover,
|
|
895
|
+
.neo-textarea:hover,
|
|
896
|
+
.neo-select:hover {
|
|
897
|
+
border-color: var(--neo-primary);
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
.neo-input:focus,
|
|
901
|
+
.neo-textarea:focus,
|
|
902
|
+
.neo-select:focus {
|
|
903
|
+
background: var(--neo-material-inset);
|
|
904
|
+
border-color: var(--neo-focus);
|
|
905
|
+
box-shadow: var(--neo-focus-ring);
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
.neo-input[aria-invalid="true"],
|
|
909
|
+
.neo-textarea[aria-invalid="true"],
|
|
910
|
+
.neo-select[aria-invalid="true"] {
|
|
911
|
+
border-color: var(--neo-danger);
|
|
912
|
+
box-shadow: 0 0 0 2px rgb(var(--neo-danger-rgb) / .2), var(--neo-inset-shadow-sm);
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
.neo-input[readonly],
|
|
916
|
+
.neo-textarea[readonly] {
|
|
917
|
+
filter: saturate(.72);
|
|
918
|
+
opacity: .78;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
.neo-check-control,
|
|
922
|
+
.neo-radio-control,
|
|
923
|
+
.neo-switch-track {
|
|
924
|
+
background: var(--neo-material-inset);
|
|
925
|
+
border: 1px solid var(--neo-material-edge);
|
|
926
|
+
box-shadow: var(--neo-control-shadow);
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
.neo-check-control {
|
|
930
|
+
border-radius: var(--neo-radius-xs);
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
.neo-check input:checked + .neo-check-control,
|
|
934
|
+
.neo-radio input:checked + .neo-radio-control {
|
|
935
|
+
background: var(--neo-primary);
|
|
936
|
+
border-color: var(--neo-primary);
|
|
937
|
+
box-shadow: var(--neo-button-primary-shadow);
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
.neo-check input:checked + .neo-check-control::after {
|
|
941
|
+
content: "";
|
|
942
|
+
inline-size: .42rem;
|
|
943
|
+
block-size: .72rem;
|
|
944
|
+
border: solid var(--neo-on-primary);
|
|
945
|
+
border-width: 0 .14rem .14rem 0;
|
|
946
|
+
transform: rotate(45deg) translateY(-.04rem);
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
.neo-switch-track {
|
|
950
|
+
inline-size: 3.6rem;
|
|
951
|
+
block-size: 1.9rem;
|
|
952
|
+
}
|
|
953
|
+
|
|
954
|
+
.neo-switch-thumb {
|
|
955
|
+
inset-block-start: .23rem;
|
|
956
|
+
inset-inline-start: .23rem;
|
|
957
|
+
background: var(--neo-material-raised);
|
|
958
|
+
border: 1px solid var(--neo-material-edge);
|
|
959
|
+
box-shadow: var(--neo-button-shadow);
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
.neo-switch input:checked + .neo-switch-track {
|
|
963
|
+
background: var(--neo-primary);
|
|
964
|
+
border-color: var(--neo-primary);
|
|
965
|
+
box-shadow: inset .2rem .2rem .45rem rgb(var(--neo-primary-hover-rgb) / .72), inset -.2rem -.2rem .45rem rgb(255 255 255 / .26);
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
.neo-switch input:checked + .neo-switch-track .neo-switch-thumb {
|
|
969
|
+
background: var(--neo-on-primary);
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
/* =========================================================
|
|
973
|
+
Badges, Navigation, Feedback, and Data
|
|
974
|
+
========================================================= */
|
|
975
|
+
|
|
976
|
+
.neo-badge {
|
|
977
|
+
min-height: 1.8rem;
|
|
978
|
+
padding: .38rem .78rem;
|
|
979
|
+
background-color: var(--neo-material-raised);
|
|
980
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
981
|
+
color: var(--neo-text);
|
|
982
|
+
border: 1px solid var(--neo-material-edge);
|
|
983
|
+
border-radius: var(--neo-radius-pill);
|
|
984
|
+
box-shadow: var(--neo-raised-shadow-sm);
|
|
985
|
+
font-size: .76rem;
|
|
986
|
+
font-weight: 680;
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
.neo-badge-primary,
|
|
990
|
+
.neo-badge-secondary,
|
|
991
|
+
.neo-badge-success,
|
|
992
|
+
.neo-badge-warning,
|
|
993
|
+
.neo-badge-danger {
|
|
994
|
+
background-image: linear-gradient(145deg, rgb(255 255 255 / .24), transparent 52%, rgb(0 0 0 / .06));
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
.neo-badge-primary {
|
|
998
|
+
background-color: var(--neo-primary);
|
|
999
|
+
color: var(--neo-on-primary);
|
|
1000
|
+
border-color: var(--neo-primary);
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
.neo-badge-secondary {
|
|
1004
|
+
background-color: var(--neo-secondary);
|
|
1005
|
+
color: var(--neo-on-secondary);
|
|
1006
|
+
border-color: var(--neo-secondary);
|
|
1007
|
+
}
|
|
1008
|
+
|
|
1009
|
+
.neo-badge-success {
|
|
1010
|
+
background-color: var(--neo-success);
|
|
1011
|
+
color: var(--neo-on-success);
|
|
1012
|
+
border-color: var(--neo-success);
|
|
1013
|
+
}
|
|
1014
|
+
|
|
1015
|
+
.neo-badge-warning {
|
|
1016
|
+
background-color: var(--neo-warning);
|
|
1017
|
+
color: var(--neo-on-warning);
|
|
1018
|
+
border-color: var(--neo-warning);
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
.neo-badge-danger {
|
|
1022
|
+
background-color: var(--neo-danger);
|
|
1023
|
+
color: var(--neo-on-danger);
|
|
1024
|
+
border-color: var(--neo-danger);
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
.neo-nav {
|
|
1028
|
+
gap: .35rem;
|
|
1029
|
+
padding: .55rem;
|
|
1030
|
+
background: var(--neo-material-raised);
|
|
1031
|
+
border: 1px solid var(--neo-material-hairline);
|
|
1032
|
+
border-radius: var(--neo-radius-xl);
|
|
1033
|
+
box-shadow: var(--neo-raised-shadow-sm);
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
.neo-nav-link {
|
|
1037
|
+
min-height: 2.7rem;
|
|
1038
|
+
padding: .68rem 1rem;
|
|
1039
|
+
color: var(--neo-text-muted);
|
|
1040
|
+
border: 1px solid transparent;
|
|
1041
|
+
border-radius: var(--neo-radius-md);
|
|
1042
|
+
font-weight: 680;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
.neo-nav-link:hover {
|
|
1046
|
+
color: var(--neo-text);
|
|
1047
|
+
background: var(--neo-material-inset);
|
|
1048
|
+
border-color: var(--neo-material-edge);
|
|
1049
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
.neo-nav-link[aria-current="page"],
|
|
1053
|
+
.neo-nav-link.is-active {
|
|
1054
|
+
color: var(--neo-on-primary);
|
|
1055
|
+
background: var(--neo-primary);
|
|
1056
|
+
border-color: var(--neo-primary);
|
|
1057
|
+
box-shadow: inset .2rem .2rem .42rem rgb(var(--neo-primary-hover-rgb) / .62), inset -.16rem -.16rem .35rem rgb(255 255 255 / .2);
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
.neo-tooltip,
|
|
1061
|
+
[data-ui="neumorphism"] :where(.ui-tooltip, [role="tooltip"], [data-tooltip]) {
|
|
1062
|
+
background: var(--neo-material-raised);
|
|
1063
|
+
color: var(--neo-text);
|
|
1064
|
+
border: 1px solid var(--neo-material-edge);
|
|
1065
|
+
border-radius: var(--neo-radius-md);
|
|
1066
|
+
box-shadow: var(--neo-raised-shadow-sm);
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
.neo-tooltip-arrow {
|
|
1070
|
+
background: var(--neo-material-raised);
|
|
1071
|
+
border: 1px solid var(--neo-material-edge);
|
|
1072
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
.neo-progress {
|
|
1076
|
+
height: 1rem;
|
|
1077
|
+
padding: .14rem;
|
|
1078
|
+
background: var(--neo-material-inset);
|
|
1079
|
+
border: 1px solid var(--neo-material-edge);
|
|
1080
|
+
border-radius: var(--neo-radius-pill);
|
|
1081
|
+
box-shadow: var(--neo-inset-shadow);
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
.neo-progress-bar {
|
|
1085
|
+
background: linear-gradient(90deg, var(--neo-primary), var(--neo-primary-hover));
|
|
1086
|
+
border-radius: inherit;
|
|
1087
|
+
box-shadow: inset 0 1px 0 rgb(255 255 255 / .38), 0 .12rem .38rem rgb(var(--neo-primary-rgb) / .3);
|
|
1088
|
+
}
|
|
1089
|
+
|
|
1090
|
+
.neo-alert {
|
|
1091
|
+
padding: 1.35rem 1.5rem;
|
|
1092
|
+
background: var(--neo-material-raised);
|
|
1093
|
+
border: 1px solid var(--neo-material-hairline);
|
|
1094
|
+
border-radius: var(--neo-radius-xl);
|
|
1095
|
+
box-shadow: var(--neo-raised-shadow);
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
.neo-alert-success {
|
|
1099
|
+
box-shadow: var(--neo-raised-shadow), inset .3rem 0 0 var(--neo-success);
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
.neo-alert-warning {
|
|
1103
|
+
box-shadow: var(--neo-raised-shadow), inset .3rem 0 0 var(--neo-warning);
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
.neo-alert-danger {
|
|
1107
|
+
box-shadow: var(--neo-raised-shadow), inset .3rem 0 0 var(--neo-danger);
|
|
1108
|
+
}
|
|
1109
|
+
|
|
1110
|
+
.neo-table {
|
|
1111
|
+
border-collapse: separate;
|
|
1112
|
+
border-spacing: 0 .42rem;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
.neo-table th,
|
|
1116
|
+
.neo-table td {
|
|
1117
|
+
padding: .9rem 1rem;
|
|
1118
|
+
background: var(--neo-material-inset);
|
|
1119
|
+
border-block-end: 0;
|
|
1120
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
.neo-table th:first-child,
|
|
1124
|
+
.neo-table td:first-child {
|
|
1125
|
+
border-radius: var(--neo-radius-md) 0 0 var(--neo-radius-md);
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
.neo-table th:last-child,
|
|
1129
|
+
.neo-table td:last-child {
|
|
1130
|
+
border-radius: 0 var(--neo-radius-md) var(--neo-radius-md) 0;
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
/* =========================================================
|
|
1134
|
+
Loading Indicators
|
|
1135
|
+
========================================================= */
|
|
1136
|
+
|
|
1137
|
+
.neo-spinner,
|
|
1138
|
+
.neo-loading-spinner,
|
|
1139
|
+
[data-ui="neumorphism"] :where(.ui-spinner, .loading-spinner, [data-loading-spinner]) {
|
|
414
1140
|
display: inline-block;
|
|
415
1141
|
inline-size: 2rem;
|
|
416
1142
|
block-size: 2rem;
|
|
417
|
-
border: .
|
|
1143
|
+
border: .18rem solid var(--neo-material-edge);
|
|
418
1144
|
border-block-start-color: var(--neo-spinner-stroke);
|
|
419
1145
|
border-inline-end-color: var(--neo-spinner-accent);
|
|
420
1146
|
border-radius: 50%;
|
|
421
|
-
background:
|
|
422
|
-
box-shadow:
|
|
1147
|
+
background: var(--neo-material-raised);
|
|
1148
|
+
box-shadow: var(--neo-button-shadow), inset 0 0 0 .28rem var(--neo-material-inset);
|
|
423
1149
|
vertical-align: -.2em;
|
|
424
1150
|
animation: neo-spin 1s linear infinite;
|
|
425
1151
|
}
|
|
426
|
-
|
|
427
|
-
.neo-spinner-
|
|
428
|
-
|
|
429
|
-
|
|
1152
|
+
|
|
1153
|
+
.neo-spinner-sm {
|
|
1154
|
+
inline-size: 1rem;
|
|
1155
|
+
block-size: 1rem;
|
|
1156
|
+
border-width: .12rem;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
.neo-spinner-lg {
|
|
1160
|
+
inline-size: 3rem;
|
|
1161
|
+
block-size: 3rem;
|
|
1162
|
+
border-width: .26rem;
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
.neo-button[aria-busy="true"],
|
|
1166
|
+
.neo-icon-button[aria-busy="true"],
|
|
1167
|
+
[data-ui="neumorphism"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"]) {
|
|
1168
|
+
gap: .55rem;
|
|
1169
|
+
cursor: progress;
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
.neo-button[aria-busy="true"]::after,
|
|
1173
|
+
.neo-icon-button[aria-busy="true"]::after,
|
|
1174
|
+
[data-ui="neumorphism"] :where(button[aria-busy="true"], input[type="button"][aria-busy="true"], input[type="submit"][aria-busy="true"], input[type="reset"][aria-busy="true"])::after {
|
|
430
1175
|
content: "";
|
|
431
1176
|
display: inline-block;
|
|
432
1177
|
inline-size: 1em;
|
|
433
1178
|
block-size: 1em;
|
|
434
|
-
border: .
|
|
435
|
-
border-block-start-color:
|
|
1179
|
+
border: .12em solid currentColor;
|
|
1180
|
+
border-block-start-color: transparent;
|
|
436
1181
|
border-radius: 50%;
|
|
437
|
-
|
|
1182
|
+
box-shadow: inset 0 0 0 .1em rgb(255 255 255 / .16);
|
|
1183
|
+
animation: neo-spin .78s linear infinite;
|
|
438
1184
|
}
|
|
439
|
-
@keyframes neo-spin { to { transform: rotate(360deg); } }
|
|
440
|
-
|
|
441
1185
|
|
|
1186
|
+
@keyframes neo-spin {
|
|
1187
|
+
to {
|
|
1188
|
+
transform: rotate(360deg);
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
442
1191
|
|
|
443
1192
|
/* =========================================================
|
|
444
|
-
Marketing
|
|
445
|
-
Reusable visual patterns derived from service-oriented brand systems.
|
|
1193
|
+
Marketing and Commercial Modifiers
|
|
446
1194
|
========================================================= */
|
|
447
1195
|
|
|
448
1196
|
.neo-card-media {
|
|
@@ -450,8 +1198,9 @@
|
|
|
450
1198
|
inline-size: 100%;
|
|
451
1199
|
aspect-ratio: 16 / 9;
|
|
452
1200
|
object-fit: cover;
|
|
453
|
-
border: 1px solid
|
|
1201
|
+
border: 1px solid var(--neo-material-edge);
|
|
454
1202
|
border-radius: var(--neo-radius-lg);
|
|
1203
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
455
1204
|
}
|
|
456
1205
|
|
|
457
1206
|
.neo-card-service {
|
|
@@ -459,16 +1208,16 @@
|
|
|
459
1208
|
display: grid;
|
|
460
1209
|
gap: var(--neo-space-3);
|
|
461
1210
|
align-content: start;
|
|
462
|
-
text-align: center;
|
|
463
1211
|
overflow: visible;
|
|
464
1212
|
}
|
|
465
|
-
|
|
1213
|
+
|
|
1214
|
+
.neo-card-service > .neo-icon-medallion,
|
|
1215
|
+
.neo-card-service > .neo-card-media + .neo-icon-medallion {
|
|
466
1216
|
justify-self: center;
|
|
467
|
-
margin-block-start: -2.15rem;
|
|
468
1217
|
position: relative;
|
|
469
1218
|
z-index: 2;
|
|
1219
|
+
margin-block-start: -2.1rem;
|
|
470
1220
|
}
|
|
471
|
-
.neo-card-service > .neo-card-media + .neo-icon-medallion { margin-block-start: -2.15rem; }
|
|
472
1221
|
|
|
473
1222
|
.neo-card-feature {
|
|
474
1223
|
display: grid;
|
|
@@ -478,7 +1227,20 @@
|
|
|
478
1227
|
}
|
|
479
1228
|
|
|
480
1229
|
.neo-card-accent-edge {
|
|
481
|
-
border-inline-start: .
|
|
1230
|
+
border-inline-start: .3rem solid var(--neo-primary);
|
|
1231
|
+
}
|
|
1232
|
+
|
|
1233
|
+
.neo-card-service,
|
|
1234
|
+
.neo-card-feature,
|
|
1235
|
+
.neo-feature-strip,
|
|
1236
|
+
.neo-callout-bar {
|
|
1237
|
+
padding: 1.4rem;
|
|
1238
|
+
background-color: var(--neo-material-raised);
|
|
1239
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 44%);
|
|
1240
|
+
color: var(--neo-text);
|
|
1241
|
+
border: 1px solid var(--neo-material-hairline);
|
|
1242
|
+
border-radius: var(--neo-radius-xl);
|
|
1243
|
+
box-shadow: var(--neo-raised-shadow);
|
|
482
1244
|
}
|
|
483
1245
|
|
|
484
1246
|
.neo-icon-medallion {
|
|
@@ -488,36 +1250,19 @@
|
|
|
488
1250
|
block-size: 3.75rem;
|
|
489
1251
|
flex: 0 0 auto;
|
|
490
1252
|
padding: .7rem;
|
|
491
|
-
background: var(--neo-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
border
|
|
1253
|
+
background-color: var(--neo-material-raised);
|
|
1254
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
1255
|
+
color: var(--usk-primary-ink, var(--neo-primary));
|
|
1256
|
+
border: 1px solid var(--neo-material-edge);
|
|
1257
|
+
border-radius: var(--neo-radius-lg);
|
|
1258
|
+
box-shadow: var(--neo-button-shadow);
|
|
495
1259
|
line-height: 1;
|
|
496
1260
|
}
|
|
497
|
-
.neo-icon-medallion > :where(svg, img) { inline-size: 100%; block-size: 100%; object-fit: contain; }
|
|
498
1261
|
|
|
499
|
-
.neo-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
}
|
|
504
|
-
.neo-button.neo-button-cut:focus-visible,
|
|
505
|
-
.neo-button-cut:focus-visible { outline-offset: -3px; }
|
|
506
|
-
|
|
507
|
-
.neo-button.neo-button-outline-heavy,
|
|
508
|
-
.neo-button-outline-heavy {
|
|
509
|
-
background: transparent;
|
|
510
|
-
color: var(--neo-primary);
|
|
511
|
-
border-style: solid;
|
|
512
|
-
border-width: 2px;
|
|
513
|
-
border-color: var(--neo-primary);
|
|
514
|
-
box-shadow: none;
|
|
515
|
-
}
|
|
516
|
-
.neo-button.neo-button-outline-heavy:hover,
|
|
517
|
-
.neo-button-outline-heavy:hover {
|
|
518
|
-
background: var(--neo-primary);
|
|
519
|
-
color: var(--neo-on-primary);
|
|
520
|
-
border-color: var(--neo-primary-hover);
|
|
1262
|
+
.neo-icon-medallion > :where(svg, img) {
|
|
1263
|
+
inline-size: 100%;
|
|
1264
|
+
block-size: 100%;
|
|
1265
|
+
object-fit: contain;
|
|
521
1266
|
}
|
|
522
1267
|
|
|
523
1268
|
.neo-badge-seal {
|
|
@@ -528,10 +1273,12 @@
|
|
|
528
1273
|
min-inline-size: 5rem;
|
|
529
1274
|
aspect-ratio: 1;
|
|
530
1275
|
padding: .65rem;
|
|
531
|
-
background: var(--neo-
|
|
1276
|
+
background-color: var(--neo-material-raised);
|
|
1277
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
532
1278
|
color: var(--neo-text);
|
|
533
|
-
border:
|
|
1279
|
+
border: 1px solid var(--neo-material-edge);
|
|
534
1280
|
border-radius: 50%;
|
|
1281
|
+
box-shadow: var(--neo-button-shadow);
|
|
535
1282
|
text-align: center;
|
|
536
1283
|
font-family: var(--neo-font-heading);
|
|
537
1284
|
font-size: .72rem;
|
|
@@ -540,14 +1287,13 @@
|
|
|
540
1287
|
letter-spacing: .04em;
|
|
541
1288
|
}
|
|
542
1289
|
|
|
1290
|
+
.neo-badge-seal :where(strong, small, span) {
|
|
1291
|
+
color: inherit;
|
|
1292
|
+
}
|
|
1293
|
+
|
|
543
1294
|
.neo-feature-strip {
|
|
544
1295
|
display: grid;
|
|
545
1296
|
grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
|
|
546
|
-
overflow: hidden;
|
|
547
|
-
background: var(--neo-card-bg);
|
|
548
|
-
color: var(--neo-text);
|
|
549
|
-
border: 1px solid var(--neo-border);
|
|
550
|
-
border-radius: var(--neo-radius-lg);
|
|
551
1297
|
}
|
|
552
1298
|
|
|
553
1299
|
.neo-feature-item {
|
|
@@ -556,29 +1302,49 @@
|
|
|
556
1302
|
align-items: center;
|
|
557
1303
|
gap: var(--neo-space-3);
|
|
558
1304
|
min-inline-size: 0;
|
|
559
|
-
padding:
|
|
560
|
-
|
|
1305
|
+
padding: 1rem;
|
|
1306
|
+
background: var(--neo-material-inset);
|
|
1307
|
+
border: 1px solid var(--neo-material-edge);
|
|
1308
|
+
border-radius: var(--neo-radius-lg);
|
|
1309
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
1310
|
+
}
|
|
1311
|
+
|
|
1312
|
+
.neo-feature-item > :where(p, small) {
|
|
1313
|
+
margin: 0;
|
|
1314
|
+
color: var(--neo-text-muted);
|
|
561
1315
|
}
|
|
562
|
-
.neo-feature-item:last-child { border-inline-end: 0; }
|
|
563
|
-
.neo-feature-item > :where(p, small) { margin: 0; color: var(--neo-text-muted); }
|
|
564
1316
|
|
|
565
1317
|
.neo-callout-bar {
|
|
566
1318
|
display: grid;
|
|
567
1319
|
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
568
1320
|
align-items: center;
|
|
569
1321
|
gap: var(--neo-space-4);
|
|
570
|
-
padding: var(--neo-space-4) var(--neo-space-5);
|
|
571
|
-
background: var(--neo-card-bg);
|
|
572
|
-
color: var(--neo-text);
|
|
573
|
-
border: 1px solid var(--neo-border);
|
|
574
|
-
border-radius: var(--neo-radius-lg);
|
|
575
1322
|
}
|
|
576
|
-
|
|
577
|
-
|
|
1323
|
+
|
|
1324
|
+
/**
|
|
1325
|
+
* Gives callout lead artwork enough scale and relief to anchor a primary CTA lane.
|
|
1326
|
+
*/
|
|
1327
|
+
.neo-callout-bar > .neo-icon-medallion {
|
|
1328
|
+
inline-size: clamp(4.75rem, 8vw, 6rem);
|
|
1329
|
+
block-size: clamp(4.75rem, 8vw, 6rem);
|
|
1330
|
+
justify-self: start;
|
|
1331
|
+
padding: 1rem;
|
|
1332
|
+
font-size: clamp(2rem, 3.2vw, 2.75rem);
|
|
1333
|
+
font-weight: 800;
|
|
1334
|
+
text-shadow: 0 1px 0 var(--neo-material-highlight), 0 -1px 1px var(--neo-shadow-dark);
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
.neo-callout-bar > :where(p, div) {
|
|
1338
|
+
min-inline-size: 0;
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
.neo-callout-bar > :where(.neo-button, a, button):last-child {
|
|
1342
|
+
justify-self: end;
|
|
1343
|
+
}
|
|
578
1344
|
|
|
579
1345
|
.neo-eyebrow {
|
|
580
1346
|
margin: 0;
|
|
581
|
-
color: var(--neo-primary);
|
|
1347
|
+
color: var(--usk-primary-ink, var(--neo-primary));
|
|
582
1348
|
font-family: var(--neo-font-heading);
|
|
583
1349
|
font-size: .76rem;
|
|
584
1350
|
font-weight: 900;
|
|
@@ -592,10 +1358,12 @@
|
|
|
592
1358
|
overflow: hidden;
|
|
593
1359
|
isolation: isolate;
|
|
594
1360
|
min-block-size: 12rem;
|
|
595
|
-
background: var(--neo-
|
|
596
|
-
border: 1px solid var(--neo-
|
|
597
|
-
border-radius: var(--neo-radius-
|
|
1361
|
+
background: var(--neo-material-inset);
|
|
1362
|
+
border: 1px solid var(--neo-material-edge);
|
|
1363
|
+
border-radius: var(--neo-radius-xl);
|
|
1364
|
+
box-shadow: var(--neo-inset-shadow);
|
|
598
1365
|
}
|
|
1366
|
+
|
|
599
1367
|
.neo-media-scrim > :where(img, picture, video) {
|
|
600
1368
|
display: block;
|
|
601
1369
|
inline-size: 100%;
|
|
@@ -603,6 +1371,7 @@
|
|
|
603
1371
|
min-block-size: inherit;
|
|
604
1372
|
object-fit: cover;
|
|
605
1373
|
}
|
|
1374
|
+
|
|
606
1375
|
.neo-media-scrim > :where(figcaption, [data-media-caption]) {
|
|
607
1376
|
position: absolute;
|
|
608
1377
|
z-index: 1;
|
|
@@ -612,73 +1381,176 @@
|
|
|
612
1381
|
color: #fff;
|
|
613
1382
|
background: linear-gradient(to top, rgb(0 0 0 / .9), rgb(0 0 0 / .58) 56%, transparent);
|
|
614
1383
|
}
|
|
1384
|
+
|
|
615
1385
|
.neo-media-scrim > :where(figcaption, [data-media-caption]) * {
|
|
616
1386
|
color: inherit;
|
|
617
1387
|
}
|
|
618
1388
|
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
1389
|
+
/* =========================================================
|
|
1390
|
+
Native Element Coverage
|
|
1391
|
+
========================================================= */
|
|
1392
|
+
|
|
1393
|
+
[data-ui="neumorphism"][data-mode] :where(fieldset, article, aside, details, dialog) {
|
|
1394
|
+
background-color: var(--neo-material-raised);
|
|
1395
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 44%);
|
|
1396
|
+
color: var(--neo-text);
|
|
1397
|
+
border: 1px solid var(--neo-material-hairline);
|
|
1398
|
+
border-radius: var(--neo-radius-xl);
|
|
1399
|
+
box-shadow: var(--neo-raised-shadow);
|
|
624
1400
|
}
|
|
625
1401
|
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
1402
|
+
[data-ui="neumorphism"][data-mode] :where(legend) {
|
|
1403
|
+
padding: .4rem .75rem;
|
|
1404
|
+
background: var(--neo-material-raised);
|
|
1405
|
+
border: 1px solid var(--neo-material-edge);
|
|
1406
|
+
border-radius: var(--neo-radius-md);
|
|
1407
|
+
box-shadow: var(--neo-raised-shadow-sm);
|
|
1408
|
+
}
|
|
629
1409
|
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
clip-path: inset(0 round var(--neo-radius-pill));
|
|
1410
|
+
[data-ui="neumorphism"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])) {
|
|
1411
|
+
background-color: var(--neo-material-raised);
|
|
1412
|
+
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
1413
|
+
color: var(--neo-text);
|
|
1414
|
+
border: 1px solid var(--neo-material-edge);
|
|
1415
|
+
border-radius: var(--neo-radius-md);
|
|
1416
|
+
box-shadow: var(--neo-button-shadow);
|
|
638
1417
|
}
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
box-shadow:
|
|
1418
|
+
|
|
1419
|
+
[data-ui="neumorphism"][data-mode] :where(button:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class])):active {
|
|
1420
|
+
transform: translateY(1px);
|
|
1421
|
+
background-image: none;
|
|
1422
|
+
box-shadow: var(--neo-inset-shadow-sm);
|
|
644
1423
|
}
|
|
645
1424
|
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
border
|
|
650
|
-
|
|
1425
|
+
[data-ui="neumorphism"][data-mode] :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]), textarea, select) {
|
|
1426
|
+
background-color: var(--neo-material-inset);
|
|
1427
|
+
color: var(--neo-text);
|
|
1428
|
+
border: 1px solid var(--neo-material-edge);
|
|
1429
|
+
border-radius: var(--neo-radius-md);
|
|
1430
|
+
box-shadow: var(--neo-control-shadow);
|
|
651
1431
|
}
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
1432
|
+
|
|
1433
|
+
/**
|
|
1434
|
+
* Restores the focused inset-and-ring state after the higher-specificity native field recipe.
|
|
1435
|
+
*/
|
|
1436
|
+
[data-ui="neumorphism"][data-mode] :where(.neo-input, .neo-textarea, .neo-select):focus {
|
|
1437
|
+
border-color: var(--neo-focus);
|
|
1438
|
+
box-shadow: var(--neo-focus-ring);
|
|
657
1439
|
}
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
1440
|
+
|
|
1441
|
+
/**
|
|
1442
|
+
* Keeps authored invalid fields distinct after the shared native field paint is applied.
|
|
1443
|
+
*/
|
|
1444
|
+
[data-ui="neumorphism"][data-mode] :where(.neo-input, .neo-textarea, .neo-select)[aria-invalid="true"],
|
|
1445
|
+
[data-ui="neumorphism"][data-mode] :where(input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"]) {
|
|
1446
|
+
border-color: var(--neo-danger);
|
|
1447
|
+
box-shadow: 0 0 0 2px rgb(var(--neo-danger-rgb) / .2), var(--neo-inset-shadow-sm);
|
|
662
1448
|
}
|
|
663
1449
|
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
1450
|
+
[data-ui="neumorphism"][data-mode] :where(input[readonly]:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]), textarea[readonly]) {
|
|
1451
|
+
filter: saturate(.72);
|
|
1452
|
+
opacity: .78;
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
[data-ui="neumorphism"][data-mode] :where(input[type="file"])::file-selector-button,
|
|
1456
|
+
[data-ui="neumorphism"][data-mode] :where(input[type="file"])::-webkit-file-upload-button {
|
|
1457
|
+
color: var(--neo-text);
|
|
1458
|
+
background: var(--neo-material-raised);
|
|
1459
|
+
border: 1px solid var(--neo-material-edge);
|
|
1460
|
+
border-radius: var(--neo-radius-md);
|
|
1461
|
+
box-shadow: var(--neo-button-shadow);
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
[data-ui="neumorphism"][data-mode] :where(dialog) {
|
|
1465
|
+
background-color: var(--neo-material-raised);
|
|
1466
|
+
color: var(--neo-text);
|
|
1467
|
+
border: 1px solid var(--neo-material-hairline);
|
|
1468
|
+
box-shadow: var(--neo-raised-shadow-lg);
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
/** Keeps pill controls distinct from circular busy and icon indicators in the public identity contract. */
|
|
1472
|
+
.neo-button {
|
|
1473
|
+
border-radius: var(--neo-radius-md);
|
|
1474
|
+
}
|
|
1475
|
+
|
|
1476
|
+
/* =========================================================
|
|
1477
|
+
Responsive and Accessibility Overrides
|
|
1478
|
+
========================================================= */
|
|
1479
|
+
|
|
1480
|
+
@media (max-width: 42rem) {
|
|
1481
|
+
.neo-callout-bar {
|
|
1482
|
+
grid-template-columns: 1fr;
|
|
1483
|
+
align-items: start;
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
.neo-callout-bar > :where(.neo-button, a, button):last-child {
|
|
1487
|
+
justify-self: stretch;
|
|
1488
|
+
}
|
|
1489
|
+
|
|
1490
|
+
.neo-feature-strip {
|
|
1491
|
+
grid-template-columns: 1fr;
|
|
1492
|
+
}
|
|
667
1493
|
}
|
|
668
1494
|
|
|
669
1495
|
@media (prefers-reduced-motion: reduce) {
|
|
670
|
-
[data-ui="neumorphism"] *,
|
|
1496
|
+
[data-ui="neumorphism"] *,
|
|
1497
|
+
[data-ui="neumorphism"] *::before,
|
|
1498
|
+
[data-ui="neumorphism"] *::after {
|
|
1499
|
+
scroll-behavior: auto !important;
|
|
1500
|
+
transition-duration: 1ms !important;
|
|
1501
|
+
animation-duration: 1ms !important;
|
|
1502
|
+
animation-iteration-count: 1 !important;
|
|
1503
|
+
}
|
|
671
1504
|
}
|
|
1505
|
+
|
|
672
1506
|
@media (prefers-contrast: more) {
|
|
673
|
-
[data-ui="neumorphism"] {
|
|
1507
|
+
[data-ui="neumorphism"] {
|
|
1508
|
+
--neo-border-alpha: 1;
|
|
1509
|
+
--neo-focus-alpha: .75;
|
|
1510
|
+
--neo-material-edge: currentColor;
|
|
1511
|
+
}
|
|
674
1512
|
}
|
|
1513
|
+
|
|
675
1514
|
@media (forced-colors: active) {
|
|
676
|
-
@supports (forced-color-adjust: auto) {
|
|
677
|
-
|
|
1515
|
+
@supports (forced-color-adjust: auto) {
|
|
1516
|
+
[data-ui="neumorphism"] * {
|
|
1517
|
+
forced-color-adjust: auto;
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
[data-ui="neumorphism"] :where(:focus-visible) {
|
|
1522
|
+
outline: 3px solid CanvasText;
|
|
1523
|
+
}
|
|
678
1524
|
}
|
|
1525
|
+
|
|
679
1526
|
@media print {
|
|
680
|
-
[data-ui="neumorphism"] {
|
|
681
|
-
|
|
682
|
-
|
|
1527
|
+
[data-ui="neumorphism"] {
|
|
1528
|
+
background: #fff !important;
|
|
1529
|
+
color: #000 !important;
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
[data-ui="neumorphism"] * {
|
|
1533
|
+
box-shadow: none !important;
|
|
1534
|
+
text-shadow: none !important;
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
[data-ui="neumorphism"] a {
|
|
1538
|
+
color: #000 !important;
|
|
1539
|
+
text-decoration: underline;
|
|
1540
|
+
}
|
|
1541
|
+
}
|
|
683
1542
|
}
|
|
1543
|
+
|
|
1544
|
+
@layer ui-style-kit.neumorphism {
|
|
1545
|
+
/* Shared annotation fidelity: readable display rhythm and appropriately scaled text icons. */
|
|
1546
|
+
.neo-feature-item > .neo-icon-medallion { font-size: 1.5rem; line-height: 1; }
|
|
1547
|
+
.neo-callout-bar > .neo-icon-medallion { min-inline-size: 4.5rem; min-block-size: 4.5rem; font-size: 2rem; font-weight: 800; line-height: 1; }
|
|
1548
|
+
/** Warning actions inherit preset geometry and use the paired semantic warning colors. */
|
|
1549
|
+
[data-ui="neumorphism"][data-mode] .neo-button.neo-button-warning {
|
|
1550
|
+
background: var(--neo-warning);
|
|
1551
|
+
color: var(--neo-on-warning);
|
|
1552
|
+
border-color: var(--neo-warning);
|
|
1553
|
+
text-shadow: none;
|
|
1554
|
+
}
|
|
1555
|
+
|
|
684
1556
|
}
|