@halogen-ui/tokens 0.1.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/LICENSE.md +102 -0
- package/README.md +43 -0
- package/dist/CONTRAST-REPORT.md +511 -0
- package/dist/figma.json +1932 -0
- package/dist/fonts/Geist-Variable.woff2 +0 -0
- package/dist/fonts/GeistMono-Variable.woff2 +0 -0
- package/dist/fonts/LICENSE-Geist-OFL-1.1.txt +92 -0
- package/dist/fonts.css +24 -0
- package/dist/halogen.tokens.json +2061 -0
- package/dist/theme.css +859 -0
- package/dist/token-review.html +902 -0
- package/dist/tokens.css +782 -0
- package/dist/tokens.d.ts +535 -0
- package/dist/tokens.js +532 -0
- package/dist/tokens.ts +540 -0
- package/dist/tw-classgroups.json +351 -0
- package/fonts/Geist-Variable.woff2 +0 -0
- package/fonts/GeistMono-Variable.woff2 +0 -0
- package/fonts/LICENSE-Geist-OFL-1.1.txt +92 -0
- package/package.json +66 -0
- package/src/color/oklch.ts +306 -0
- package/src/contrast-pairs.ts +473 -0
- package/src/namespaces.ts +59 -0
- package/src/primitives/color.ts +404 -0
- package/src/primitives/elevation.ts +38 -0
- package/src/primitives/motion.ts +129 -0
- package/src/primitives/scale.ts +163 -0
- package/src/primitives/typography.ts +184 -0
- package/src/semantic/index.ts +415 -0
package/dist/tokens.css
ADDED
|
@@ -0,0 +1,782 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Halogen design tokens — GENERATED. Do not edit.
|
|
3
|
+
* Source: packages/tokens/src/ · Rebuild: pnpm --filter @halogen-ui/tokens build
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/* ---- Primitives. Theme-independent; never referenced directly by a component. ---- */
|
|
7
|
+
:root {
|
|
8
|
+
--halogen-color-neutral-0: #ffffff;
|
|
9
|
+
--halogen-color-neutral-25: #f8f7f6;
|
|
10
|
+
--halogen-color-neutral-50: #f0efed;
|
|
11
|
+
--halogen-color-neutral-100: #e4e2e0;
|
|
12
|
+
--halogen-color-neutral-200: #d3d1cf;
|
|
13
|
+
--halogen-color-neutral-300: #bbb9b6;
|
|
14
|
+
--halogen-color-neutral-400: #a7a5a3;
|
|
15
|
+
--halogen-color-neutral-450: #969492;
|
|
16
|
+
--halogen-color-neutral-500: #8c8a88;
|
|
17
|
+
--halogen-color-neutral-550: #7c7a77;
|
|
18
|
+
--halogen-color-neutral-600: #6e6c69;
|
|
19
|
+
--halogen-color-neutral-700: #54524f;
|
|
20
|
+
--halogen-color-neutral-800: #3b3936;
|
|
21
|
+
--halogen-color-neutral-850: #2f2d2b;
|
|
22
|
+
--halogen-color-neutral-900: #292725;
|
|
23
|
+
--halogen-color-neutral-950: #1e1c1a;
|
|
24
|
+
--halogen-color-neutral-1000: #12100e;
|
|
25
|
+
--halogen-color-state-hover-dark: rgba(255, 255, 255, 0.08);
|
|
26
|
+
--halogen-color-state-active-dark: rgba(255, 255, 255, 0.14);
|
|
27
|
+
--halogen-color-state-hover-light: rgba(0, 0, 0, 0.06);
|
|
28
|
+
--halogen-color-state-active-light: rgba(0, 0, 0, 0.1);
|
|
29
|
+
--halogen-color-state-focus-glow: rgba(255, 100, 31, 0.24);
|
|
30
|
+
--halogen-color-state-selection-dark: rgba(255, 100, 31, 0.35);
|
|
31
|
+
--halogen-color-state-selection-light: rgba(255, 100, 31, 0.32);
|
|
32
|
+
--halogen-color-heat-dark-0: #4d2f29;
|
|
33
|
+
--halogen-color-heat-dark-1: #7b513c;
|
|
34
|
+
--halogen-color-heat-dark-2: #aa7647;
|
|
35
|
+
--halogen-color-heat-dark-3: #d8a147;
|
|
36
|
+
--halogen-color-heat-dark-4: #fdd345;
|
|
37
|
+
--halogen-color-heat-light-0: #eee1df;
|
|
38
|
+
--halogen-color-heat-light-1: #e1b49f;
|
|
39
|
+
--halogen-color-heat-light-2: #c98c55;
|
|
40
|
+
--halogen-color-heat-light-3: #99712f;
|
|
41
|
+
--halogen-color-heat-light-4: #6a560b;
|
|
42
|
+
--halogen-color-orange-base: #ff641f;
|
|
43
|
+
--halogen-color-orange-bright: #ff875b;
|
|
44
|
+
--halogen-color-orange-dim: #ee5500;
|
|
45
|
+
--halogen-color-orange-text-light: #bf4200;
|
|
46
|
+
--halogen-color-orange-mark-light: #ef5500;
|
|
47
|
+
--halogen-color-orange-surface-dark: #351f17;
|
|
48
|
+
--halogen-color-orange-surface-light: #f6eae6;
|
|
49
|
+
--halogen-color-orange-surface-dark-hover: #482c22;
|
|
50
|
+
--halogen-color-orange-surface-light-hover: #f0dad3;
|
|
51
|
+
--halogen-color-orange-border-dark: #a36047;
|
|
52
|
+
--halogen-color-orange-border-light: #ce5f34;
|
|
53
|
+
--halogen-color-orange-text-light-strong: #8e3000;
|
|
54
|
+
--halogen-color-orange-text-on-chip-light: #bc4100;
|
|
55
|
+
--halogen-color-coral-base: #ff493f;
|
|
56
|
+
--halogen-color-coral-bright: #ff7466;
|
|
57
|
+
--halogen-color-coral-dim: #ee3730;
|
|
58
|
+
--halogen-color-coral-text-light: #da0010;
|
|
59
|
+
--halogen-color-coral-mark-light: #ff3d35;
|
|
60
|
+
--halogen-color-amber-base: #ff9f00;
|
|
61
|
+
--halogen-color-amber-bright: #ffba6d;
|
|
62
|
+
--halogen-color-amber-dim: #ec9300;
|
|
63
|
+
--halogen-color-amber-text-light: #9b5e00;
|
|
64
|
+
--halogen-color-amber-mark-light: #c27700;
|
|
65
|
+
--halogen-color-yellow-base: #ffd21a;
|
|
66
|
+
--halogen-color-yellow-bright: #ffe89d;
|
|
67
|
+
--halogen-color-yellow-dim: #efc400;
|
|
68
|
+
--halogen-color-yellow-text-light: #826900;
|
|
69
|
+
--halogen-color-yellow-mark-light: #a48500;
|
|
70
|
+
--halogen-color-peach-base: #ffb46b;
|
|
71
|
+
--halogen-color-peach-bright: #ffcda0;
|
|
72
|
+
--halogen-color-peach-dim: #f0a65d;
|
|
73
|
+
--halogen-color-peach-text-light: #9f5c00;
|
|
74
|
+
--halogen-color-peach-mark-light: #c67500;
|
|
75
|
+
--halogen-color-pink-base: #e8a6d8;
|
|
76
|
+
--halogen-color-pink-bright: #fbb7ea;
|
|
77
|
+
--halogen-color-pink-dim: #d998c9;
|
|
78
|
+
--halogen-color-pink-text-light: #a54a94;
|
|
79
|
+
--halogen-color-pink-mark-light: #ce5fb9;
|
|
80
|
+
--halogen-color-teal-base: #22b8a8;
|
|
81
|
+
--halogen-color-teal-bright: #3ecab9;
|
|
82
|
+
--halogen-color-teal-dim: #00a99a;
|
|
83
|
+
--halogen-color-teal-text-light: #13796f;
|
|
84
|
+
--halogen-color-teal-mark-light: #1a988b;
|
|
85
|
+
--halogen-color-teal-surface-dark: #1a2926;
|
|
86
|
+
--halogen-color-teal-surface-light: #d2f6ef;
|
|
87
|
+
--halogen-color-teal-surface-dark-hover: #263835;
|
|
88
|
+
--halogen-color-teal-surface-light-hover: #abefe4;
|
|
89
|
+
--halogen-color-teal-border-dark: #4d7a73;
|
|
90
|
+
--halogen-color-teal-border-light: #3d8c82;
|
|
91
|
+
--halogen-color-teal-text-light-strong: #0b5951;
|
|
92
|
+
--halogen-color-teal-text-on-chip-light: #13786e;
|
|
93
|
+
--halogen-color-success-solid: #62c84a;
|
|
94
|
+
--halogen-color-success-on-solid: #12100e;
|
|
95
|
+
--halogen-color-success-surface-dark: #1d291b;
|
|
96
|
+
--halogen-color-success-surface-light: #dff4da;
|
|
97
|
+
--halogen-color-success-text-dark: #62c94a;
|
|
98
|
+
--halogen-color-success-text-light: #28591c;
|
|
99
|
+
--halogen-color-success-border-dark: #577b50;
|
|
100
|
+
--halogen-color-success-border-light: #538d46;
|
|
101
|
+
--halogen-color-warning-solid: #d6a453;
|
|
102
|
+
--halogen-color-warning-on-solid: #12100e;
|
|
103
|
+
--halogen-color-warning-surface-dark: #2a241b;
|
|
104
|
+
--halogen-color-warning-surface-light: #f3ece0;
|
|
105
|
+
--halogen-color-warning-text-dark: #deaa56;
|
|
106
|
+
--halogen-color-warning-text-light: #634a22;
|
|
107
|
+
--halogen-color-warning-border-dark: #816f53;
|
|
108
|
+
--halogen-color-warning-border-light: #997b4d;
|
|
109
|
+
--halogen-color-error-solid: #cd1f2c;
|
|
110
|
+
--halogen-color-error-on-solid: #ffffff;
|
|
111
|
+
--halogen-color-error-surface-dark: #381c1a;
|
|
112
|
+
--halogen-color-error-surface-light: #f5eae9;
|
|
113
|
+
--halogen-color-error-text-dark: #fa9891;
|
|
114
|
+
--halogen-color-error-text-light: #9b151f;
|
|
115
|
+
--halogen-color-error-border-dark: #b05752;
|
|
116
|
+
--halogen-color-error-border-light: #e14b4a;
|
|
117
|
+
--halogen-space-0: 0px;
|
|
118
|
+
--halogen-space-1: 4px;
|
|
119
|
+
--halogen-space-2: 8px;
|
|
120
|
+
--halogen-space-3: 12px;
|
|
121
|
+
--halogen-space-4: 16px;
|
|
122
|
+
--halogen-space-5: 20px;
|
|
123
|
+
--halogen-space-6: 24px;
|
|
124
|
+
--halogen-space-8: 32px;
|
|
125
|
+
--halogen-space-10: 40px;
|
|
126
|
+
--halogen-space-12: 48px;
|
|
127
|
+
--halogen-space-16: 64px;
|
|
128
|
+
--halogen-space-20: 80px;
|
|
129
|
+
--halogen-space-24: 96px;
|
|
130
|
+
--halogen-space-32: 128px;
|
|
131
|
+
--halogen-space-40: 160px;
|
|
132
|
+
--halogen-space-48: 192px;
|
|
133
|
+
--halogen-space-64: 256px;
|
|
134
|
+
--halogen-space-80: 320px;
|
|
135
|
+
--halogen-space-px: 1px;
|
|
136
|
+
--halogen-space-half: 2px;
|
|
137
|
+
--halogen-radius-none: 0px;
|
|
138
|
+
--halogen-radius-xs: 4px;
|
|
139
|
+
--halogen-radius-sm: 6px;
|
|
140
|
+
--halogen-radius-md: 10px;
|
|
141
|
+
--halogen-radius-lg: 16px;
|
|
142
|
+
--halogen-radius-xl: 24px;
|
|
143
|
+
--halogen-radius-2xl: 32px;
|
|
144
|
+
--halogen-radius-full: 9999px;
|
|
145
|
+
--halogen-control-sm: 32px;
|
|
146
|
+
--halogen-control-md: 40px;
|
|
147
|
+
--halogen-control-lg: 48px;
|
|
148
|
+
--halogen-control-xl: 56px;
|
|
149
|
+
--halogen-icon-sm: 16px;
|
|
150
|
+
--halogen-icon-md: 20px;
|
|
151
|
+
--halogen-icon-lg: 24px;
|
|
152
|
+
--halogen-icon-stroke-sm: 1.5;
|
|
153
|
+
--halogen-icon-stroke-md: 1.75;
|
|
154
|
+
--halogen-icon-stroke-lg: 2;
|
|
155
|
+
--halogen-border-width-0: 0px;
|
|
156
|
+
--halogen-border-width-1: 1px;
|
|
157
|
+
--halogen-border-width-2: 2px;
|
|
158
|
+
--halogen-target-min: 24px;
|
|
159
|
+
--halogen-target-touch: 44px;
|
|
160
|
+
--halogen-container-prose: 720px;
|
|
161
|
+
--halogen-container-default: 1280px;
|
|
162
|
+
--halogen-container-wide: 1440px;
|
|
163
|
+
--halogen-breakpoint-sm: 640px;
|
|
164
|
+
--halogen-breakpoint-md: 768px;
|
|
165
|
+
--halogen-breakpoint-lg: 1024px;
|
|
166
|
+
--halogen-breakpoint-xl: 1280px;
|
|
167
|
+
--halogen-breakpoint-2xl: 1536px;
|
|
168
|
+
--halogen-layer-base: 0;
|
|
169
|
+
--halogen-layer-raised: 10;
|
|
170
|
+
--halogen-layer-sticky: 100;
|
|
171
|
+
--halogen-layer-overlay: 1000;
|
|
172
|
+
--halogen-layer-modal: 1100;
|
|
173
|
+
--halogen-layer-popover: 1200;
|
|
174
|
+
--halogen-layer-toast: 1300;
|
|
175
|
+
--halogen-layer-tooltip: 1400;
|
|
176
|
+
--halogen-aspect-video: 16 / 9;
|
|
177
|
+
--halogen-aspect-square: 1 / 1;
|
|
178
|
+
--halogen-aspect-wide: 21 / 9;
|
|
179
|
+
--halogen-font-family-sans: 'Geist', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
|
|
180
|
+
--halogen-font-family-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
|
|
181
|
+
--halogen-font-weight-regular: 400;
|
|
182
|
+
--halogen-font-weight-medium: 500;
|
|
183
|
+
--halogen-font-weight-semibold: 600;
|
|
184
|
+
--halogen-font-weight-bold: 700;
|
|
185
|
+
--halogen-font-size-2xs: 11px;
|
|
186
|
+
--halogen-font-size-xs: 12px;
|
|
187
|
+
--halogen-font-size-sm: 13px;
|
|
188
|
+
--halogen-font-size-base: 14px;
|
|
189
|
+
--halogen-font-size-md: 16px;
|
|
190
|
+
--halogen-font-size-lg: 18px;
|
|
191
|
+
--halogen-font-size-xl: 20px;
|
|
192
|
+
--halogen-display-size-xs: clamp(1.5rem, 1.4rem + 0.5vw, 1.5rem);
|
|
193
|
+
--halogen-display-size-sm: clamp(1.75rem, 1.6rem + 0.75vw, 1.875rem);
|
|
194
|
+
--halogen-display-size-md: clamp(2.25rem, 1.9rem + 1.5vw, 2.75rem);
|
|
195
|
+
--halogen-display-size-lg: clamp(2.75rem, 2.1rem + 3vw, 3.75rem);
|
|
196
|
+
--halogen-display-size-xl: clamp(3.5rem, 2.4rem + 5vw, 5.5rem);
|
|
197
|
+
--halogen-display-size-2xl: clamp(4.5rem, 2.6rem + 8vw, 8rem);
|
|
198
|
+
--halogen-line-height-none: 1;
|
|
199
|
+
--halogen-line-height-display-2xl: 0.95;
|
|
200
|
+
--halogen-line-height-display-xl: 1;
|
|
201
|
+
--halogen-line-height-display-lg: 1.05;
|
|
202
|
+
--halogen-line-height-display-md: 1.1;
|
|
203
|
+
--halogen-line-height-display-sm: 1.2;
|
|
204
|
+
--halogen-line-height-display-xs: 1.25;
|
|
205
|
+
--halogen-line-height-snug: 1.35;
|
|
206
|
+
--halogen-line-height-normal: 1.5;
|
|
207
|
+
--halogen-line-height-relaxed: 1.6;
|
|
208
|
+
--halogen-tracking-wider: 0.015em;
|
|
209
|
+
--halogen-tracking-wide: 0.005em;
|
|
210
|
+
--halogen-tracking-normal: 0em;
|
|
211
|
+
--halogen-tracking-tight: -0.01em;
|
|
212
|
+
--halogen-tracking-tighter: -0.015em;
|
|
213
|
+
--halogen-tracking-tightest: -0.02em;
|
|
214
|
+
--halogen-tracking-display: -0.03em;
|
|
215
|
+
--halogen-tracking-display-tight: -0.035em;
|
|
216
|
+
--halogen-measure-prose: 68ch;
|
|
217
|
+
--halogen-measure-narrow: 46ch;
|
|
218
|
+
--halogen-duration-instant: 0ms;
|
|
219
|
+
--halogen-duration-press: 70ms;
|
|
220
|
+
--halogen-duration-fast: 120ms;
|
|
221
|
+
--halogen-duration-base: 180ms;
|
|
222
|
+
--halogen-duration-slow: 260ms;
|
|
223
|
+
--halogen-duration-slower: 400ms;
|
|
224
|
+
--halogen-duration-deliberate: 600ms;
|
|
225
|
+
--halogen-easing-enter: cubic-bezier(0.22, 1, 0.36, 1);
|
|
226
|
+
--halogen-easing-exit: cubic-bezier(0.64, 0, 0.78, 0);
|
|
227
|
+
--halogen-easing-move: cubic-bezier(0.65, 0, 0.35, 1);
|
|
228
|
+
--halogen-easing-overshoot: cubic-bezier(0.34, 1.4, 0.64, 1);
|
|
229
|
+
--halogen-easing-linear: linear;
|
|
230
|
+
--halogen-travel-ui: 8px;
|
|
231
|
+
--halogen-travel-expressive: 24px;
|
|
232
|
+
--halogen-press-scale: 0.97;
|
|
233
|
+
--halogen-reel-travel: 100%;
|
|
234
|
+
--halogen-overlay-zoom-from: 0.96;
|
|
235
|
+
--halogen-overlay-sheet-travel: 100%;
|
|
236
|
+
--halogen-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.16);
|
|
237
|
+
--halogen-shadow-md: 0 4px 12px -2px rgb(0 0 0 / 0.24), 0 2px 4px -2px rgb(0 0 0 / 0.16);
|
|
238
|
+
--halogen-shadow-lg: 0 16px 40px -8px rgb(0 0 0 / 0.36), 0 4px 8px -4px rgb(0 0 0 / 0.2);
|
|
239
|
+
--halogen-shadow-none: none;
|
|
240
|
+
--halogen-alpha-hairline-dark: 0.08;
|
|
241
|
+
--halogen-alpha-hairline-light: 0.08;
|
|
242
|
+
--halogen-alpha-edge-highlight: 0.06;
|
|
243
|
+
--halogen-alpha-scrim-dark: 0.72;
|
|
244
|
+
--halogen-alpha-scrim-light: 0.48;
|
|
245
|
+
--halogen-alpha-disabled: 0.38;
|
|
246
|
+
--halogen-scrim-blur: 5px;
|
|
247
|
+
--halogen-scrim-opacity: 0.7;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/* ---- Semantic: dark. The default theme. ---- */
|
|
251
|
+
:root {
|
|
252
|
+
--halogen-surface-ground: #12100e;
|
|
253
|
+
--halogen-surface-raised: #1e1c1a;
|
|
254
|
+
--halogen-surface-overlay: #292725;
|
|
255
|
+
--halogen-surface-floating: #292725;
|
|
256
|
+
--halogen-surface-modal: #292725;
|
|
257
|
+
--halogen-surface-subtle: #292725;
|
|
258
|
+
--halogen-surface-field: #292725;
|
|
259
|
+
--halogen-surface-subtle-hover: #2f2d2b;
|
|
260
|
+
--halogen-surface-subtle-active: #3b3936;
|
|
261
|
+
--halogen-surface-state-hover: rgba(255, 255, 255, 0.08);
|
|
262
|
+
--halogen-surface-state-active: rgba(255, 255, 255, 0.14);
|
|
263
|
+
--halogen-surface-selection: rgba(255, 100, 31, 0.35);
|
|
264
|
+
--halogen-surface-knob: #f0efed;
|
|
265
|
+
--halogen-surface-inverse: #f0efed;
|
|
266
|
+
--halogen-surface-accent: #ff641f;
|
|
267
|
+
--halogen-surface-accent-hover: #ff875b;
|
|
268
|
+
--halogen-surface-accent-active: #ee5500;
|
|
269
|
+
--halogen-surface-accent-subtle: #351f17;
|
|
270
|
+
--halogen-surface-accent-subtle-hover: #482c22;
|
|
271
|
+
--halogen-surface-disabled: #292725;
|
|
272
|
+
--halogen-surface-scrim: #12100e;
|
|
273
|
+
--halogen-ink-primary: #f0efed;
|
|
274
|
+
--halogen-ink-secondary: #bbb9b6;
|
|
275
|
+
--halogen-ink-tertiary: #969492;
|
|
276
|
+
--halogen-ink-placeholder: #969492;
|
|
277
|
+
--halogen-ink-disabled: #6e6c69;
|
|
278
|
+
--halogen-ink-accent: #ff641f;
|
|
279
|
+
--halogen-ink-on-accent-subtle: #ff641f;
|
|
280
|
+
--halogen-ink-on-accent: #12100e;
|
|
281
|
+
--halogen-ink-on-gradient: #12100e;
|
|
282
|
+
--halogen-ink-on-scrim: #f0efed;
|
|
283
|
+
--halogen-ink-on-scrim-secondary: #d3d1cf;
|
|
284
|
+
--halogen-ink-inverse: #12100e;
|
|
285
|
+
--halogen-ink-link: #ff641f;
|
|
286
|
+
--halogen-ink-link-hover: #ff875b;
|
|
287
|
+
--halogen-line-subtle: #2f2d2b;
|
|
288
|
+
--halogen-line-divider: #3b3936;
|
|
289
|
+
--halogen-line-control: #3b3936;
|
|
290
|
+
--halogen-line-strong: #969492;
|
|
291
|
+
--halogen-line-focus: #ff641f;
|
|
292
|
+
--halogen-line-focus-glow: rgba(255, 100, 31, 0.24);
|
|
293
|
+
--halogen-line-accent: #a36047;
|
|
294
|
+
--halogen-line-disabled: #2f2d2b;
|
|
295
|
+
--halogen-line-edge-highlight: #54524f;
|
|
296
|
+
--halogen-status-success-solid: #62c84a;
|
|
297
|
+
--halogen-status-success-on-solid: #12100e;
|
|
298
|
+
--halogen-status-success-ink: #62c94a;
|
|
299
|
+
--halogen-status-success-surface: #1d291b;
|
|
300
|
+
--halogen-status-success-line: #577b50;
|
|
301
|
+
--halogen-status-warning-solid: #d6a453;
|
|
302
|
+
--halogen-status-warning-on-solid: #12100e;
|
|
303
|
+
--halogen-status-warning-ink: #deaa56;
|
|
304
|
+
--halogen-status-warning-surface: #2a241b;
|
|
305
|
+
--halogen-status-warning-line: #816f53;
|
|
306
|
+
--halogen-status-error-solid: #cd1f2c;
|
|
307
|
+
--halogen-status-error-on-solid: #ffffff;
|
|
308
|
+
--halogen-status-error-ink: #fa9891;
|
|
309
|
+
--halogen-status-error-surface: #381c1a;
|
|
310
|
+
--halogen-status-error-line: #b05752;
|
|
311
|
+
--halogen-status-info-solid: #22b8a8;
|
|
312
|
+
--halogen-status-info-on-solid: #12100e;
|
|
313
|
+
--halogen-status-info-ink: #22b8a8;
|
|
314
|
+
--halogen-status-info-surface: #1a2926;
|
|
315
|
+
--halogen-status-info-line: #4d7a73;
|
|
316
|
+
--halogen-viz-1: #ff641f;
|
|
317
|
+
--halogen-viz-2: #22b8a8;
|
|
318
|
+
--halogen-viz-3: #ffd21a;
|
|
319
|
+
--halogen-viz-4: #e8a6d8;
|
|
320
|
+
--halogen-viz-5: #ff493f;
|
|
321
|
+
--halogen-viz-6: #ffb46b;
|
|
322
|
+
--halogen-viz-7: #bbb9b6;
|
|
323
|
+
--halogen-viz-grid: #2f2d2b;
|
|
324
|
+
--halogen-viz-axis: #969492;
|
|
325
|
+
--halogen-viz-sequential-0: #4d2f29;
|
|
326
|
+
--halogen-viz-sequential-1: #7b513c;
|
|
327
|
+
--halogen-viz-sequential-2: #aa7647;
|
|
328
|
+
--halogen-viz-sequential-3: #d8a147;
|
|
329
|
+
--halogen-viz-sequential-4: #fdd345;
|
|
330
|
+
--halogen-viz-diverging-neg-2: #00a99a;
|
|
331
|
+
--halogen-viz-diverging-neg-1: #3ecab9;
|
|
332
|
+
--halogen-viz-diverging-0: #8c8a88;
|
|
333
|
+
--halogen-viz-diverging-pos-1: #ff875b;
|
|
334
|
+
--halogen-viz-diverging-pos-2: #ee5500;
|
|
335
|
+
--halogen-gradient-ember: linear-gradient(135deg, #ff641f 0%, #ff493f 100%);
|
|
336
|
+
--halogen-gradient-solar: linear-gradient(135deg, #ff641f 0%, #ff9f00 50%, #ffd21a 100%);
|
|
337
|
+
--halogen-gradient-dusk: linear-gradient(135deg, #ff493f 0%, #e8a6d8 100%);
|
|
338
|
+
--halogen-gradient-glow: radial-gradient(circle at 50% 0%, #351f17 0%, transparent 70%);
|
|
339
|
+
--halogen-gradient-ground: linear-gradient(180deg, #12100e 0%, #1e1c1a 100%);
|
|
340
|
+
--halogen-elevation-1: none;
|
|
341
|
+
--halogen-elevation-2: none;
|
|
342
|
+
--halogen-elevation-3: 0 4px 12px -2px rgb(0 0 0 / 0.24), 0 2px 4px -2px rgb(0 0 0 / 0.16);
|
|
343
|
+
--halogen-elevation-4: 0 16px 40px -8px rgb(0 0 0 / 0.36), 0 4px 8px -4px rgb(0 0 0 / 0.2);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* Three-state theming.
|
|
348
|
+
* - no attribute -> follow the OS, defaulting to dark
|
|
349
|
+
* - [data-theme] -> an explicit choice wins in both directions
|
|
350
|
+
* The :not() guard is what stops an explicit dark choice being overridden by a
|
|
351
|
+
* light OS preference.
|
|
352
|
+
*/
|
|
353
|
+
@media (prefers-color-scheme: light) {
|
|
354
|
+
:root:not([data-theme='dark']) {
|
|
355
|
+
--halogen-surface-ground: #ffffff;
|
|
356
|
+
--halogen-surface-raised: #f8f7f6;
|
|
357
|
+
--halogen-surface-overlay: #ffffff;
|
|
358
|
+
--halogen-surface-floating: #ffffff;
|
|
359
|
+
--halogen-surface-modal: #ffffff;
|
|
360
|
+
--halogen-surface-subtle: #e4e2e0;
|
|
361
|
+
--halogen-surface-field: #f8f7f6;
|
|
362
|
+
--halogen-surface-subtle-hover: #d3d1cf;
|
|
363
|
+
--halogen-surface-subtle-active: #bbb9b6;
|
|
364
|
+
--halogen-surface-state-hover: rgba(0, 0, 0, 0.06);
|
|
365
|
+
--halogen-surface-state-active: rgba(0, 0, 0, 0.1);
|
|
366
|
+
--halogen-surface-selection: rgba(255, 100, 31, 0.32);
|
|
367
|
+
--halogen-surface-knob: #ffffff;
|
|
368
|
+
--halogen-surface-inverse: #12100e;
|
|
369
|
+
--halogen-surface-accent: #ff641f;
|
|
370
|
+
--halogen-surface-accent-hover: #ff875b;
|
|
371
|
+
--halogen-surface-accent-active: #ee5500;
|
|
372
|
+
--halogen-surface-accent-subtle: #f6eae6;
|
|
373
|
+
--halogen-surface-accent-subtle-hover: #f0dad3;
|
|
374
|
+
--halogen-surface-disabled: #e4e2e0;
|
|
375
|
+
--halogen-surface-scrim: #12100e;
|
|
376
|
+
--halogen-ink-primary: #12100e;
|
|
377
|
+
--halogen-ink-secondary: #54524f;
|
|
378
|
+
--halogen-ink-tertiary: #6e6c69;
|
|
379
|
+
--halogen-ink-placeholder: #54524f;
|
|
380
|
+
--halogen-ink-disabled: #a7a5a3;
|
|
381
|
+
--halogen-ink-accent: #bf4200;
|
|
382
|
+
--halogen-ink-on-accent-subtle: #bc4100;
|
|
383
|
+
--halogen-ink-on-accent: #12100e;
|
|
384
|
+
--halogen-ink-on-gradient: #12100e;
|
|
385
|
+
--halogen-ink-on-scrim: #f0efed;
|
|
386
|
+
--halogen-ink-on-scrim-secondary: #d3d1cf;
|
|
387
|
+
--halogen-ink-inverse: #ffffff;
|
|
388
|
+
--halogen-ink-link: #bf4200;
|
|
389
|
+
--halogen-ink-link-hover: #8e3000;
|
|
390
|
+
--halogen-line-subtle: #e4e2e0;
|
|
391
|
+
--halogen-line-divider: #d3d1cf;
|
|
392
|
+
--halogen-line-control: #e4e2e0;
|
|
393
|
+
--halogen-line-strong: #54524f;
|
|
394
|
+
--halogen-line-focus: #ff641f;
|
|
395
|
+
--halogen-line-focus-glow: rgba(255, 100, 31, 0.24);
|
|
396
|
+
--halogen-line-accent: #ce5f34;
|
|
397
|
+
--halogen-line-disabled: #d3d1cf;
|
|
398
|
+
--halogen-line-edge-highlight: #e4e2e0;
|
|
399
|
+
--halogen-status-success-solid: #62c84a;
|
|
400
|
+
--halogen-status-success-on-solid: #12100e;
|
|
401
|
+
--halogen-status-success-ink: #28591c;
|
|
402
|
+
--halogen-status-success-surface: #dff4da;
|
|
403
|
+
--halogen-status-success-line: #538d46;
|
|
404
|
+
--halogen-status-warning-solid: #d6a453;
|
|
405
|
+
--halogen-status-warning-on-solid: #12100e;
|
|
406
|
+
--halogen-status-warning-ink: #634a22;
|
|
407
|
+
--halogen-status-warning-surface: #f3ece0;
|
|
408
|
+
--halogen-status-warning-line: #997b4d;
|
|
409
|
+
--halogen-status-error-solid: #cd1f2c;
|
|
410
|
+
--halogen-status-error-on-solid: #ffffff;
|
|
411
|
+
--halogen-status-error-ink: #9b151f;
|
|
412
|
+
--halogen-status-error-surface: #f5eae9;
|
|
413
|
+
--halogen-status-error-line: #e14b4a;
|
|
414
|
+
--halogen-status-info-solid: #22b8a8;
|
|
415
|
+
--halogen-status-info-on-solid: #12100e;
|
|
416
|
+
--halogen-status-info-ink: #13786e;
|
|
417
|
+
--halogen-status-info-surface: #d2f6ef;
|
|
418
|
+
--halogen-status-info-line: #3d8c82;
|
|
419
|
+
--halogen-viz-1: #ef5500;
|
|
420
|
+
--halogen-viz-2: #1a988b;
|
|
421
|
+
--halogen-viz-3: #a48500;
|
|
422
|
+
--halogen-viz-4: #ce5fb9;
|
|
423
|
+
--halogen-viz-5: #ff3d35;
|
|
424
|
+
--halogen-viz-6: #c67500;
|
|
425
|
+
--halogen-viz-7: #6e6c69;
|
|
426
|
+
--halogen-viz-grid: #e4e2e0;
|
|
427
|
+
--halogen-viz-axis: #6e6c69;
|
|
428
|
+
--halogen-viz-sequential-0: #eee1df;
|
|
429
|
+
--halogen-viz-sequential-1: #e1b49f;
|
|
430
|
+
--halogen-viz-sequential-2: #c98c55;
|
|
431
|
+
--halogen-viz-sequential-3: #99712f;
|
|
432
|
+
--halogen-viz-sequential-4: #6a560b;
|
|
433
|
+
--halogen-viz-diverging-neg-2: #13796f;
|
|
434
|
+
--halogen-viz-diverging-neg-1: #1a988b;
|
|
435
|
+
--halogen-viz-diverging-0: #bbb9b6;
|
|
436
|
+
--halogen-viz-diverging-pos-1: #ef5500;
|
|
437
|
+
--halogen-viz-diverging-pos-2: #bf4200;
|
|
438
|
+
--halogen-gradient-ember: linear-gradient(135deg, #ff641f 0%, #ff493f 100%);
|
|
439
|
+
--halogen-gradient-solar: linear-gradient(135deg, #ff641f 0%, #ff9f00 50%, #ffd21a 100%);
|
|
440
|
+
--halogen-gradient-dusk: linear-gradient(135deg, #ff493f 0%, #e8a6d8 100%);
|
|
441
|
+
--halogen-gradient-glow: radial-gradient(circle at 50% 0%, #f6eae6 0%, transparent 70%);
|
|
442
|
+
--halogen-gradient-ground: linear-gradient(180deg, #f0efed 0%, #e4e2e0 100%);
|
|
443
|
+
--halogen-elevation-1: none;
|
|
444
|
+
--halogen-elevation-2: 0 1px 2px 0 rgb(0 0 0 / 0.16);
|
|
445
|
+
--halogen-elevation-3: 0 4px 12px -2px rgb(0 0 0 / 0.24), 0 2px 4px -2px rgb(0 0 0 / 0.16);
|
|
446
|
+
--halogen-elevation-4: 0 16px 40px -8px rgb(0 0 0 / 0.36), 0 4px 8px -4px rgb(0 0 0 / 0.2);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
[data-theme='light'] {
|
|
451
|
+
--halogen-surface-ground: #ffffff;
|
|
452
|
+
--halogen-surface-raised: #f8f7f6;
|
|
453
|
+
--halogen-surface-overlay: #ffffff;
|
|
454
|
+
--halogen-surface-floating: #ffffff;
|
|
455
|
+
--halogen-surface-modal: #ffffff;
|
|
456
|
+
--halogen-surface-subtle: #e4e2e0;
|
|
457
|
+
--halogen-surface-field: #f8f7f6;
|
|
458
|
+
--halogen-surface-subtle-hover: #d3d1cf;
|
|
459
|
+
--halogen-surface-subtle-active: #bbb9b6;
|
|
460
|
+
--halogen-surface-state-hover: rgba(0, 0, 0, 0.06);
|
|
461
|
+
--halogen-surface-state-active: rgba(0, 0, 0, 0.1);
|
|
462
|
+
--halogen-surface-selection: rgba(255, 100, 31, 0.32);
|
|
463
|
+
--halogen-surface-knob: #ffffff;
|
|
464
|
+
--halogen-surface-inverse: #12100e;
|
|
465
|
+
--halogen-surface-accent: #ff641f;
|
|
466
|
+
--halogen-surface-accent-hover: #ff875b;
|
|
467
|
+
--halogen-surface-accent-active: #ee5500;
|
|
468
|
+
--halogen-surface-accent-subtle: #f6eae6;
|
|
469
|
+
--halogen-surface-accent-subtle-hover: #f0dad3;
|
|
470
|
+
--halogen-surface-disabled: #e4e2e0;
|
|
471
|
+
--halogen-surface-scrim: #12100e;
|
|
472
|
+
--halogen-ink-primary: #12100e;
|
|
473
|
+
--halogen-ink-secondary: #54524f;
|
|
474
|
+
--halogen-ink-tertiary: #6e6c69;
|
|
475
|
+
--halogen-ink-placeholder: #54524f;
|
|
476
|
+
--halogen-ink-disabled: #a7a5a3;
|
|
477
|
+
--halogen-ink-accent: #bf4200;
|
|
478
|
+
--halogen-ink-on-accent-subtle: #bc4100;
|
|
479
|
+
--halogen-ink-on-accent: #12100e;
|
|
480
|
+
--halogen-ink-on-gradient: #12100e;
|
|
481
|
+
--halogen-ink-on-scrim: #f0efed;
|
|
482
|
+
--halogen-ink-on-scrim-secondary: #d3d1cf;
|
|
483
|
+
--halogen-ink-inverse: #ffffff;
|
|
484
|
+
--halogen-ink-link: #bf4200;
|
|
485
|
+
--halogen-ink-link-hover: #8e3000;
|
|
486
|
+
--halogen-line-subtle: #e4e2e0;
|
|
487
|
+
--halogen-line-divider: #d3d1cf;
|
|
488
|
+
--halogen-line-control: #e4e2e0;
|
|
489
|
+
--halogen-line-strong: #54524f;
|
|
490
|
+
--halogen-line-focus: #ff641f;
|
|
491
|
+
--halogen-line-focus-glow: rgba(255, 100, 31, 0.24);
|
|
492
|
+
--halogen-line-accent: #ce5f34;
|
|
493
|
+
--halogen-line-disabled: #d3d1cf;
|
|
494
|
+
--halogen-line-edge-highlight: #e4e2e0;
|
|
495
|
+
--halogen-status-success-solid: #62c84a;
|
|
496
|
+
--halogen-status-success-on-solid: #12100e;
|
|
497
|
+
--halogen-status-success-ink: #28591c;
|
|
498
|
+
--halogen-status-success-surface: #dff4da;
|
|
499
|
+
--halogen-status-success-line: #538d46;
|
|
500
|
+
--halogen-status-warning-solid: #d6a453;
|
|
501
|
+
--halogen-status-warning-on-solid: #12100e;
|
|
502
|
+
--halogen-status-warning-ink: #634a22;
|
|
503
|
+
--halogen-status-warning-surface: #f3ece0;
|
|
504
|
+
--halogen-status-warning-line: #997b4d;
|
|
505
|
+
--halogen-status-error-solid: #cd1f2c;
|
|
506
|
+
--halogen-status-error-on-solid: #ffffff;
|
|
507
|
+
--halogen-status-error-ink: #9b151f;
|
|
508
|
+
--halogen-status-error-surface: #f5eae9;
|
|
509
|
+
--halogen-status-error-line: #e14b4a;
|
|
510
|
+
--halogen-status-info-solid: #22b8a8;
|
|
511
|
+
--halogen-status-info-on-solid: #12100e;
|
|
512
|
+
--halogen-status-info-ink: #13786e;
|
|
513
|
+
--halogen-status-info-surface: #d2f6ef;
|
|
514
|
+
--halogen-status-info-line: #3d8c82;
|
|
515
|
+
--halogen-viz-1: #ef5500;
|
|
516
|
+
--halogen-viz-2: #1a988b;
|
|
517
|
+
--halogen-viz-3: #a48500;
|
|
518
|
+
--halogen-viz-4: #ce5fb9;
|
|
519
|
+
--halogen-viz-5: #ff3d35;
|
|
520
|
+
--halogen-viz-6: #c67500;
|
|
521
|
+
--halogen-viz-7: #6e6c69;
|
|
522
|
+
--halogen-viz-grid: #e4e2e0;
|
|
523
|
+
--halogen-viz-axis: #6e6c69;
|
|
524
|
+
--halogen-viz-sequential-0: #eee1df;
|
|
525
|
+
--halogen-viz-sequential-1: #e1b49f;
|
|
526
|
+
--halogen-viz-sequential-2: #c98c55;
|
|
527
|
+
--halogen-viz-sequential-3: #99712f;
|
|
528
|
+
--halogen-viz-sequential-4: #6a560b;
|
|
529
|
+
--halogen-viz-diverging-neg-2: #13796f;
|
|
530
|
+
--halogen-viz-diverging-neg-1: #1a988b;
|
|
531
|
+
--halogen-viz-diverging-0: #bbb9b6;
|
|
532
|
+
--halogen-viz-diverging-pos-1: #ef5500;
|
|
533
|
+
--halogen-viz-diverging-pos-2: #bf4200;
|
|
534
|
+
--halogen-gradient-ember: linear-gradient(135deg, #ff641f 0%, #ff493f 100%);
|
|
535
|
+
--halogen-gradient-solar: linear-gradient(135deg, #ff641f 0%, #ff9f00 50%, #ffd21a 100%);
|
|
536
|
+
--halogen-gradient-dusk: linear-gradient(135deg, #ff493f 0%, #e8a6d8 100%);
|
|
537
|
+
--halogen-gradient-glow: radial-gradient(circle at 50% 0%, #f6eae6 0%, transparent 70%);
|
|
538
|
+
--halogen-gradient-ground: linear-gradient(180deg, #f0efed 0%, #e4e2e0 100%);
|
|
539
|
+
--halogen-elevation-1: none;
|
|
540
|
+
--halogen-elevation-2: 0 1px 2px 0 rgb(0 0 0 / 0.16);
|
|
541
|
+
--halogen-elevation-3: 0 4px 12px -2px rgb(0 0 0 / 0.24), 0 2px 4px -2px rgb(0 0 0 / 0.16);
|
|
542
|
+
--halogen-elevation-4: 0 16px 40px -8px rgb(0 0 0 / 0.36), 0 4px 8px -4px rgb(0 0 0 / 0.2);
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
[data-theme='dark'] {
|
|
546
|
+
--halogen-surface-ground: #12100e;
|
|
547
|
+
--halogen-surface-raised: #1e1c1a;
|
|
548
|
+
--halogen-surface-overlay: #292725;
|
|
549
|
+
--halogen-surface-floating: #292725;
|
|
550
|
+
--halogen-surface-modal: #292725;
|
|
551
|
+
--halogen-surface-subtle: #292725;
|
|
552
|
+
--halogen-surface-field: #292725;
|
|
553
|
+
--halogen-surface-subtle-hover: #2f2d2b;
|
|
554
|
+
--halogen-surface-subtle-active: #3b3936;
|
|
555
|
+
--halogen-surface-state-hover: rgba(255, 255, 255, 0.08);
|
|
556
|
+
--halogen-surface-state-active: rgba(255, 255, 255, 0.14);
|
|
557
|
+
--halogen-surface-selection: rgba(255, 100, 31, 0.35);
|
|
558
|
+
--halogen-surface-knob: #f0efed;
|
|
559
|
+
--halogen-surface-inverse: #f0efed;
|
|
560
|
+
--halogen-surface-accent: #ff641f;
|
|
561
|
+
--halogen-surface-accent-hover: #ff875b;
|
|
562
|
+
--halogen-surface-accent-active: #ee5500;
|
|
563
|
+
--halogen-surface-accent-subtle: #351f17;
|
|
564
|
+
--halogen-surface-accent-subtle-hover: #482c22;
|
|
565
|
+
--halogen-surface-disabled: #292725;
|
|
566
|
+
--halogen-surface-scrim: #12100e;
|
|
567
|
+
--halogen-ink-primary: #f0efed;
|
|
568
|
+
--halogen-ink-secondary: #bbb9b6;
|
|
569
|
+
--halogen-ink-tertiary: #969492;
|
|
570
|
+
--halogen-ink-placeholder: #969492;
|
|
571
|
+
--halogen-ink-disabled: #6e6c69;
|
|
572
|
+
--halogen-ink-accent: #ff641f;
|
|
573
|
+
--halogen-ink-on-accent-subtle: #ff641f;
|
|
574
|
+
--halogen-ink-on-accent: #12100e;
|
|
575
|
+
--halogen-ink-on-gradient: #12100e;
|
|
576
|
+
--halogen-ink-on-scrim: #f0efed;
|
|
577
|
+
--halogen-ink-on-scrim-secondary: #d3d1cf;
|
|
578
|
+
--halogen-ink-inverse: #12100e;
|
|
579
|
+
--halogen-ink-link: #ff641f;
|
|
580
|
+
--halogen-ink-link-hover: #ff875b;
|
|
581
|
+
--halogen-line-subtle: #2f2d2b;
|
|
582
|
+
--halogen-line-divider: #3b3936;
|
|
583
|
+
--halogen-line-control: #3b3936;
|
|
584
|
+
--halogen-line-strong: #969492;
|
|
585
|
+
--halogen-line-focus: #ff641f;
|
|
586
|
+
--halogen-line-focus-glow: rgba(255, 100, 31, 0.24);
|
|
587
|
+
--halogen-line-accent: #a36047;
|
|
588
|
+
--halogen-line-disabled: #2f2d2b;
|
|
589
|
+
--halogen-line-edge-highlight: #54524f;
|
|
590
|
+
--halogen-status-success-solid: #62c84a;
|
|
591
|
+
--halogen-status-success-on-solid: #12100e;
|
|
592
|
+
--halogen-status-success-ink: #62c94a;
|
|
593
|
+
--halogen-status-success-surface: #1d291b;
|
|
594
|
+
--halogen-status-success-line: #577b50;
|
|
595
|
+
--halogen-status-warning-solid: #d6a453;
|
|
596
|
+
--halogen-status-warning-on-solid: #12100e;
|
|
597
|
+
--halogen-status-warning-ink: #deaa56;
|
|
598
|
+
--halogen-status-warning-surface: #2a241b;
|
|
599
|
+
--halogen-status-warning-line: #816f53;
|
|
600
|
+
--halogen-status-error-solid: #cd1f2c;
|
|
601
|
+
--halogen-status-error-on-solid: #ffffff;
|
|
602
|
+
--halogen-status-error-ink: #fa9891;
|
|
603
|
+
--halogen-status-error-surface: #381c1a;
|
|
604
|
+
--halogen-status-error-line: #b05752;
|
|
605
|
+
--halogen-status-info-solid: #22b8a8;
|
|
606
|
+
--halogen-status-info-on-solid: #12100e;
|
|
607
|
+
--halogen-status-info-ink: #22b8a8;
|
|
608
|
+
--halogen-status-info-surface: #1a2926;
|
|
609
|
+
--halogen-status-info-line: #4d7a73;
|
|
610
|
+
--halogen-viz-1: #ff641f;
|
|
611
|
+
--halogen-viz-2: #22b8a8;
|
|
612
|
+
--halogen-viz-3: #ffd21a;
|
|
613
|
+
--halogen-viz-4: #e8a6d8;
|
|
614
|
+
--halogen-viz-5: #ff493f;
|
|
615
|
+
--halogen-viz-6: #ffb46b;
|
|
616
|
+
--halogen-viz-7: #bbb9b6;
|
|
617
|
+
--halogen-viz-grid: #2f2d2b;
|
|
618
|
+
--halogen-viz-axis: #969492;
|
|
619
|
+
--halogen-viz-sequential-0: #4d2f29;
|
|
620
|
+
--halogen-viz-sequential-1: #7b513c;
|
|
621
|
+
--halogen-viz-sequential-2: #aa7647;
|
|
622
|
+
--halogen-viz-sequential-3: #d8a147;
|
|
623
|
+
--halogen-viz-sequential-4: #fdd345;
|
|
624
|
+
--halogen-viz-diverging-neg-2: #00a99a;
|
|
625
|
+
--halogen-viz-diverging-neg-1: #3ecab9;
|
|
626
|
+
--halogen-viz-diverging-0: #8c8a88;
|
|
627
|
+
--halogen-viz-diverging-pos-1: #ff875b;
|
|
628
|
+
--halogen-viz-diverging-pos-2: #ee5500;
|
|
629
|
+
--halogen-gradient-ember: linear-gradient(135deg, #ff641f 0%, #ff493f 100%);
|
|
630
|
+
--halogen-gradient-solar: linear-gradient(135deg, #ff641f 0%, #ff9f00 50%, #ffd21a 100%);
|
|
631
|
+
--halogen-gradient-dusk: linear-gradient(135deg, #ff493f 0%, #e8a6d8 100%);
|
|
632
|
+
--halogen-gradient-glow: radial-gradient(circle at 50% 0%, #351f17 0%, transparent 70%);
|
|
633
|
+
--halogen-gradient-ground: linear-gradient(180deg, #12100e 0%, #1e1c1a 100%);
|
|
634
|
+
--halogen-elevation-1: none;
|
|
635
|
+
--halogen-elevation-2: none;
|
|
636
|
+
--halogen-elevation-3: 0 4px 12px -2px rgb(0 0 0 / 0.24), 0 2px 4px -2px rgb(0 0 0 / 0.16);
|
|
637
|
+
--halogen-elevation-4: 0 16px 40px -8px rgb(0 0 0 / 0.36), 0 4px 8px -4px rgb(0 0 0 / 0.2);
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
/* ---- Derived defaults. Declared BEFORE the overrides that follow. ---- */
|
|
641
|
+
:root {
|
|
642
|
+
--halogen-duration-fade: var(--halogen-duration-fast);
|
|
643
|
+
--halogen-duration-spin: 700ms;
|
|
644
|
+
--halogen-duration-pulse: 1800ms;
|
|
645
|
+
color-scheme: dark light;
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
/**
|
|
649
|
+
* Reduced motion. Transforms are zeroed and movement durations collapse, but
|
|
650
|
+
* opacity fades are RETAINED at 120ms: removing state-change feedback entirely
|
|
651
|
+
* makes changes harder to perceive, which is a worse outcome for the people
|
|
652
|
+
* this preference exists to serve.
|
|
653
|
+
*
|
|
654
|
+
* Source order is load-bearing, and it was wrong once. With the
|
|
655
|
+
* --duration-fade: var(--duration-fast) default declared AFTER this block, it
|
|
656
|
+
* won on equal specificity and dragged the fade down to 1ms along with
|
|
657
|
+
* everything else — the retained-feedback rule was written, documented, tested
|
|
658
|
+
* at the token layer, and completely inert in the browser.
|
|
659
|
+
*
|
|
660
|
+
* A spinner IS motion, so it stops here rather than inheriting a 1ms duration,
|
|
661
|
+
* which would produce a strobing disc. aria-busy and the visible loading text
|
|
662
|
+
* still convey the state; only the rotation stops.
|
|
663
|
+
*/
|
|
664
|
+
@media (prefers-reduced-motion: reduce) {
|
|
665
|
+
:root {
|
|
666
|
+
--halogen-duration-fast: 1ms;
|
|
667
|
+
--halogen-duration-base: 1ms;
|
|
668
|
+
--halogen-duration-slow: 1ms;
|
|
669
|
+
--halogen-duration-slower: 1ms;
|
|
670
|
+
--halogen-duration-deliberate: 1ms;
|
|
671
|
+
--halogen-travel-ui: 0px;
|
|
672
|
+
--halogen-travel-expressive: 0px;
|
|
673
|
+
--halogen-easing-overshoot: linear;
|
|
674
|
+
--halogen-duration-spin: 0ms;
|
|
675
|
+
/* The skeleton stops breathing; the placeholder simply sits there. */
|
|
676
|
+
--halogen-duration-pulse: 0ms;
|
|
677
|
+
/* A press is motion, so the scale is neutralised. Feedback survives: the
|
|
678
|
+
active background color still changes, so the control still confirms it
|
|
679
|
+
was pressed — only the movement stops. */
|
|
680
|
+
--halogen-press-scale: 1;
|
|
681
|
+
/* The reel stops travelling; the icon simply stays put. */
|
|
682
|
+
--halogen-reel-travel: 0%;
|
|
683
|
+
/* Overlays stop moving and stop scaling, but still fade.
|
|
684
|
+
Collapsing the durations rather than setting animation:none is what
|
|
685
|
+
keeps the fade: none would remove the opacity animation along with the
|
|
686
|
+
travel, and retaining feedback while removing movement is the rule the
|
|
687
|
+
press and the spinner already follow.
|
|
688
|
+
(It is NOT an unmount hazard — that was an assumption, and it was wrong.
|
|
689
|
+
Radix reads animationName, treats none as "no animation", and unmounts
|
|
690
|
+
immediately. Verified in a browser rather than reasoned about.) */
|
|
691
|
+
--halogen-overlay-zoom-from: 1;
|
|
692
|
+
--halogen-overlay-sheet-travel: 0%;
|
|
693
|
+
/* Opacity transitions keep a perceptible duration. */
|
|
694
|
+
--halogen-duration-fade: 120ms;
|
|
695
|
+
}
|
|
696
|
+
[class*='animate-spin'] { animation: none; }
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
/**
|
|
700
|
+
* The 44px touch-target house standard, applied where it actually matters.
|
|
701
|
+
*
|
|
702
|
+
* WCAG 2.5.8 AA requires 24x24, which every Halogen control already exceeds.
|
|
703
|
+
* The house standard is 44x44 on touch — but forcing that on a mouse-driven
|
|
704
|
+
* dashboard would destroy the dense mode the aesthetic direction calls for.
|
|
705
|
+
* A coarse pointer is the honest signal, so compact controls grow only there.
|
|
706
|
+
* This is one rule at the token layer instead of a pseudo-element hit area
|
|
707
|
+
* bolted onto every small control, and it cannot be forgotten on a new one.
|
|
708
|
+
*/
|
|
709
|
+
@media (pointer: coarse) {
|
|
710
|
+
:root {
|
|
711
|
+
--halogen-control-sm: var(--halogen-target-touch);
|
|
712
|
+
--halogen-control-md: var(--halogen-target-touch);
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
/* A heading never clips.
|
|
717
|
+
A display step floors at 36px (display-md) and cannot clamp below it, which
|
|
718
|
+
is correct for a display face — but a single long word at 36px is wider than
|
|
719
|
+
a 320px screen has room for, and the default overflow-wrap silently cuts it.
|
|
720
|
+
The document scroll width stays at zero, so nothing reports a problem: the
|
|
721
|
+
text is simply gone. Breaking the word is the only behavior that keeps the
|
|
722
|
+
words on screen without redesigning the scale. */
|
|
723
|
+
h1, h2, h3, h4, h5, h6 {
|
|
724
|
+
overflow-wrap: break-word;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
/* Text selection. The browser default is a blue-gray belonging to no design
|
|
728
|
+
system; on a warm palette it reads as an accident. */
|
|
729
|
+
::selection {
|
|
730
|
+
background: var(--halogen-surface-selection);
|
|
731
|
+
color: var(--halogen-ink-primary);
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
@keyframes halogen-spin {
|
|
735
|
+
to { transform: rotate(360deg); }
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
/* A skeleton breathes rather than flashes: opacity only, never a moving
|
|
739
|
+
highlight sweeping across the page. */
|
|
740
|
+
@keyframes halogen-pulse {
|
|
741
|
+
0%, 100% { opacity: 1; }
|
|
742
|
+
50% { opacity: 0.45; }
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
/* Accordion. Radix measures the panel and exposes its height as a variable,
|
|
746
|
+
which is the only way to animate to auto. */
|
|
747
|
+
@keyframes halogen-accordion-open {
|
|
748
|
+
from { height: 0; opacity: 0; }
|
|
749
|
+
to { height: var(--radix-accordion-content-height); opacity: 1; }
|
|
750
|
+
}
|
|
751
|
+
@keyframes halogen-accordion-close {
|
|
752
|
+
from { height: var(--radix-accordion-content-height); opacity: 1; }
|
|
753
|
+
to { height: 0; opacity: 0; }
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
/* ---- Overlay keyframes ----
|
|
757
|
+
Split by property on purpose: opacity and transform run as separate
|
|
758
|
+
animations so reduced motion can collapse one and keep the other. */
|
|
759
|
+
@keyframes halogen-fade-in {
|
|
760
|
+
from { opacity: 0; }
|
|
761
|
+
to { opacity: 1; }
|
|
762
|
+
}
|
|
763
|
+
@keyframes halogen-fade-out {
|
|
764
|
+
from { opacity: 1; }
|
|
765
|
+
to { opacity: 0; }
|
|
766
|
+
}
|
|
767
|
+
@keyframes halogen-zoom-in {
|
|
768
|
+
from { scale: var(--halogen-overlay-zoom-from); }
|
|
769
|
+
to { scale: 1; }
|
|
770
|
+
}
|
|
771
|
+
@keyframes halogen-zoom-out {
|
|
772
|
+
from { scale: 1; }
|
|
773
|
+
to { scale: var(--halogen-overlay-zoom-from); }
|
|
774
|
+
}
|
|
775
|
+
@keyframes halogen-slide-in {
|
|
776
|
+
from { translate: var(--halogen-overlay-x, 0) var(--halogen-overlay-y, 0); }
|
|
777
|
+
to { translate: 0 0; }
|
|
778
|
+
}
|
|
779
|
+
@keyframes halogen-slide-out {
|
|
780
|
+
from { translate: 0 0; }
|
|
781
|
+
to { translate: var(--halogen-overlay-x, 0) var(--halogen-overlay-y, 0); }
|
|
782
|
+
}
|