@zovaris/sephiro 0.4.0 → 0.5.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/dist/index.css CHANGED
@@ -1,338 +1,494 @@
1
- /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties;
3
- @layer theme, components, utilities;
4
- @layer theme {
5
- :root, :host {
6
- --color-black: #000;
7
- --color-white: #fff;
8
- --spacing: 0.25rem;
9
- --container-md: 28rem;
10
- --container-lg: 32rem;
11
- --text-xs: 0.75rem;
12
- --text-xs--line-height: calc(1 / 0.75);
13
- --text-sm: 0.875rem;
14
- --text-sm--line-height: calc(1.25 / 0.875);
15
- --text-base: 1rem;
16
- --text-base--line-height: calc(1.5 / 1);
17
- --font-weight-normal: 400;
18
- --font-weight-medium: 500;
19
- --font-weight-semibold: 600;
20
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
21
- --default-transition-duration: 150ms;
22
- --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
23
- --font-sph-sans: "Geist Variable", ui-sans-serif, system-ui, sans-serif;
24
- --color-sph-surface: var(--sph-surface);
25
- --color-sph-raised: var(--sph-raised);
26
- --color-sph-border: var(--sph-border);
27
- --color-sph-border-strong: var(--sph-border-strong);
28
- --color-sph-text: var(--sph-text);
29
- --color-sph-text-muted: var(--sph-text-muted);
30
- --color-sph-accent: var(--sph-accent);
31
- --color-sph-accent-hover: var(--sph-accent-hover);
32
- --color-sph-accent-pressed: var(--sph-accent-pressed);
33
- --color-sph-accent-soft: var(--sph-accent-soft);
34
- --radius-sph-xs: var(--sph-radius-xs);
35
- --radius-sph-sm: var(--sph-radius-sm);
36
- --radius-sph-md: var(--sph-radius-md);
1
+ :where(:root, [data-sephiro-theme="default"], [data-sephiro-theme="dark"]) {
2
+ --sph-font-sans: "Geist Variable", ui-sans-serif, system-ui, sans-serif;
3
+ --sph-bg: #151714;
4
+ --sph-surface: #1c201b;
5
+ --sph-surface-elevated: #232822;
6
+ --sph-raised: #293029;
7
+ --sph-border: #394139;
8
+ --sph-border-strong: #4f7658;
9
+ --sph-text: #f2efe8;
10
+ --sph-text-muted: #b4b0a7;
11
+ --sph-accent: #4f7658;
12
+ --sph-accent-hover: #587f61;
13
+ --sph-accent-pressed: #42664b;
14
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 18%, transparent);
15
+ --sph-accent-strong: #7fa687;
16
+ --sph-on-accent: #ffffff;
17
+ --sph-success: #70b58a;
18
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 15%, transparent);
19
+ --sph-warning: #e0b468;
20
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 15%, transparent);
21
+ --sph-danger: #e47b78;
22
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 15%, transparent);
23
+ --sph-focus: #7fa687;
24
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 24%, transparent);
25
+ --sph-radius-xs: 4px;
26
+ --sph-radius-sm: 6px;
27
+ --sph-radius-md: 10px;
28
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
29
+ --sph-motion-fast: 120ms;
30
+ --sph-motion-normal: 180ms;
31
+ --sph-motion-slow: 280ms;
32
+ --sph-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
33
+ --sph-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
34
+ --sph-control-height-sm: 32px;
35
+ --sph-control-height-md: 36px;
36
+ --sph-control-height-lg: 40px;
37
+ }
38
+
39
+ :where([data-sephiro-theme="default"], [data-sephiro-theme="dark"]) {
40
+ color-scheme: dark;
41
+ }
42
+
43
+ [data-sephiro-theme="light"] {
44
+ --sph-bg: #f5f3ee;
45
+ --sph-surface: #fbfaf7;
46
+ --sph-surface-elevated: #ffffff;
47
+ --sph-raised: #eaede6;
48
+ --sph-border: #d2d6ce;
49
+ --sph-border-strong: #8a9388;
50
+ --sph-text: #22241f;
51
+ --sph-text-muted: #5e645c;
52
+ --sph-accent: #3f6f4b;
53
+ --sph-accent-hover: #345f40;
54
+ --sph-accent-pressed: #294d34;
55
+ --sph-accent-strong: #315c3b;
56
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 13%, transparent);
57
+ --sph-on-accent: #ffffff;
58
+ --sph-success: #2f7448;
59
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 12%, transparent);
60
+ --sph-warning: #805b17;
61
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 12%, transparent);
62
+ --sph-danger: #a43d3d;
63
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 12%, transparent);
64
+ --sph-focus: #3f6f4b;
65
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 18%, transparent);
66
+ --sph-shadow-popover: 0 14px 36px rgb(32 42 31 / 0.14);
67
+ color-scheme: light;
68
+ }
69
+
70
+ [data-sephiro-theme="asterism"] {
71
+ --sph-bg: #111111;
72
+ --sph-surface: #1c1c1c;
73
+ --sph-surface-elevated: #2a2a2a;
74
+ --sph-raised: #232323;
75
+ --sph-border: #2e2e2e;
76
+ --sph-border-strong: #3f3f3f;
77
+ --sph-text: #ececec;
78
+ --sph-text-muted: #a3a3a3;
79
+ --sph-accent: #d71921;
80
+ --sph-accent-hover: #ea343c;
81
+ --sph-accent-pressed: #b9151c;
82
+ --sph-accent-strong: #ef4444;
83
+ --sph-on-accent: #ffffff;
84
+ --sph-success: #28c840;
85
+ --sph-warning: #f2bc68;
86
+ --sph-danger: #ff7278;
87
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
88
+ color-scheme: dark;
89
+ }
90
+
91
+ [data-sephiro-theme="fizza"] {
92
+ --sph-bg: #000000;
93
+ --sph-surface: #111111;
94
+ --sph-surface-elevated: #1a1a1a;
95
+ --sph-raised: #1a1a1a;
96
+ --sph-border: #222222;
97
+ --sph-border-strong: #333333;
98
+ --sph-text: #e8e8e8;
99
+ --sph-text-muted: #999999;
100
+ --sph-accent: #7c3aed;
101
+ --sph-accent-hover: #6d28d9;
102
+ --sph-accent-pressed: #5b21b6;
103
+ --sph-accent-strong: #a78bfa;
104
+ --sph-on-accent: #ffffff;
105
+ --sph-success: #4a9e5c;
106
+ --sph-warning: #d4a843;
107
+ --sph-danger: #d71921;
108
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.5);
109
+ color-scheme: dark;
110
+ }
111
+
112
+ [data-sephiro-theme="pulso"] {
113
+ --sph-bg: #f5f5f0;
114
+ --sph-surface: #fcfcf8;
115
+ --sph-surface-elevated: #ffffff;
116
+ --sph-raised: #e9ede5;
117
+ --sph-border: #d0d7ce;
118
+ --sph-border-strong: #879287;
119
+ --sph-text: #222720;
120
+ --sph-text-muted: #5b655c;
121
+ --sph-accent: #3d7049;
122
+ --sph-accent-hover: #325f3d;
123
+ --sph-accent-pressed: #284d32;
124
+ --sph-accent-strong: #2f5b39;
125
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 13%, transparent);
126
+ --sph-on-accent: #ffffff;
127
+ --sph-success: #2f7448;
128
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 12%, transparent);
129
+ --sph-warning: #805b17;
130
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 12%, transparent);
131
+ --sph-danger: #a43d3d;
132
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 12%, transparent);
133
+ --sph-focus: #3d7049;
134
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 18%, transparent);
135
+ --sph-shadow-popover: 0 14px 36px rgb(35 50 38 / 0.14);
136
+ color-scheme: light;
137
+ }
138
+
139
+ [data-theme="dark"][data-sephiro-theme="pulso"],
140
+ [data-theme="dark"] [data-sephiro-theme="pulso"] {
141
+ --sph-bg: #131713;
142
+ --sph-surface: #1a211b;
143
+ --sph-surface-elevated: #222a23;
144
+ --sph-raised: #283129;
145
+ --sph-border: #354039;
146
+ --sph-border-strong: #4e7657;
147
+ --sph-text: #f0f1ea;
148
+ --sph-text-muted: #acb1a7;
149
+ --sph-accent: #4e7657;
150
+ --sph-accent-hover: #587f61;
151
+ --sph-accent-pressed: #41664a;
152
+ --sph-accent-strong: #80a989;
153
+ --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 18%, transparent);
154
+ --sph-on-accent: #ffffff;
155
+ --sph-success: #70b58a;
156
+ --sph-success-soft: color-mix(in srgb, var(--sph-success) 15%, transparent);
157
+ --sph-warning: #e0b468;
158
+ --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 15%, transparent);
159
+ --sph-danger: #e47b78;
160
+ --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 15%, transparent);
161
+ --sph-focus: #80a989;
162
+ --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 24%, transparent);
163
+ --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
164
+ color-scheme: dark;
165
+ }
166
+
167
+ @media (prefers-reduced-motion: reduce) {
168
+ :where(:root, [data-sephiro-theme]) {
169
+ --sph-motion-fast: 0ms;
170
+ --sph-motion-normal: 0ms;
171
+ --sph-motion-slow: 0ms;
37
172
  }
38
173
  }
39
- @layer utilities;
40
- @layer components {
41
- .sph-badge {
174
+
175
+ :where([class^="sph-"], [class*=" sph-"]) {
176
+ --tw-font-weight: initial;
177
+ --tw-border-style: solid;
178
+ --tw-leading: initial;
179
+ --tw-shadow: 0 0 #0000;
180
+ --tw-shadow-color: initial;
181
+ --tw-shadow-alpha: 100%;
182
+ --tw-inset-shadow: 0 0 #0000;
183
+ --tw-inset-shadow-color: initial;
184
+ --tw-inset-shadow-alpha: 100%;
185
+ --tw-ring-color: initial;
186
+ --tw-ring-shadow: 0 0 #0000;
187
+ --tw-inset-ring-color: initial;
188
+ --tw-inset-ring-shadow: 0 0 #0000;
189
+ --tw-ring-inset: initial;
190
+ --tw-ring-offset-width: 0px;
191
+ --tw-ring-offset-color: #fff;
192
+ --tw-ring-offset-shadow: 0 0 #0000;
193
+ --tw-duration: initial;
194
+ --tw-ease: initial;
195
+ }
196
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
197
+ .sph-badge {
42
198
  display: inline-flex;
43
199
  align-items: center;
44
200
  border-radius: calc(infinity * 1px);
45
- padding-inline: calc(var(--spacing) * 2);
46
- padding-block: calc(var(--spacing) * 0.5);
47
- --tw-font-weight: var(--font-weight-medium);
48
- font-weight: var(--font-weight-medium);
201
+ padding-inline: calc(var(--spacing, 0.25rem) * 2);
202
+ padding-block: calc(var(--spacing, 0.25rem) * 0.5);
203
+ --tw-font-weight: var(--font-weight-medium, 500);
204
+ font-weight: var(--font-weight-medium, 500);
49
205
  color: var(--sph-text-muted);
50
206
  font: 550 11px / 1.4 var(--sph-font-sans);
51
207
  letter-spacing: 0.01em;
52
208
  transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard);
53
209
  }
54
- .sph-badge[data-size="sm"] {
55
- min-height: calc(var(--spacing) * 5);
210
+ .sph-badge[data-size="sm"] {
211
+ min-height: calc(var(--spacing, 0.25rem) * 5);
56
212
  }
57
- .sph-badge[data-size="md"] {
58
- min-height: calc(var(--spacing) * 6);
59
- padding-inline: calc(var(--spacing) * 2.5);
60
- font-size: var(--text-xs);
61
- line-height: var(--tw-leading, var(--text-xs--line-height));
213
+ .sph-badge[data-size="md"] {
214
+ min-height: calc(var(--spacing, 0.25rem) * 6);
215
+ padding-inline: calc(var(--spacing, 0.25rem) * 2.5);
216
+ font-size: var(--text-xs, 0.75rem);
217
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
62
218
  }
63
- .sph-badge[data-size="lg"] {
64
- min-height: calc(var(--spacing) * 7);
65
- padding-inline: calc(var(--spacing) * 3);
66
- font-size: var(--text-sm);
67
- line-height: var(--tw-leading, var(--text-sm--line-height));
219
+ .sph-badge[data-size="lg"] {
220
+ min-height: calc(var(--spacing, 0.25rem) * 7);
221
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
222
+ font-size: var(--text-sm, 0.875rem);
223
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
68
224
  }
69
- .sph-badge[data-variant="neutral"] {
225
+ .sph-badge[data-variant="neutral"] {
70
226
  background: var(--sph-raised);
71
227
  }
72
- .sph-badge[data-variant="accent"] {
228
+ .sph-badge[data-variant="accent"] {
73
229
  background: var(--sph-accent-soft);
74
230
  color: var(--sph-accent-strong);
75
231
  }
76
- .sph-badge[data-variant="success"] {
232
+ .sph-badge[data-variant="success"] {
77
233
  background: var(--sph-success-soft);
78
234
  color: var(--sph-success);
79
235
  }
80
- .sph-badge[data-variant="warning"] {
236
+ .sph-badge[data-variant="warning"] {
81
237
  background: var(--sph-warning-soft);
82
238
  color: var(--sph-warning);
83
239
  }
84
- .sph-badge[data-variant="danger"] {
240
+ .sph-badge[data-variant="danger"] {
85
241
  background: var(--sph-danger-soft);
86
242
  color: var(--sph-danger);
87
243
  }
88
- @media (prefers-reduced-motion: reduce) {
244
+ @media (prefers-reduced-motion: reduce) {
89
245
  .sph-badge {
90
246
  transition: none;
91
247
  }
92
248
  }
93
- .sph-button {
249
+ .sph-button {
94
250
  display: inline-flex;
95
- height: calc(var(--spacing) * 9);
251
+ height: calc(var(--spacing, 0.25rem) * 9);
96
252
  align-items: center;
97
253
  justify-content: center;
98
- gap: calc(var(--spacing) * 1.5);
99
- border-radius: var(--radius-sph-sm);
254
+ gap: calc(var(--spacing, 0.25rem) * 1.5);
255
+ border-radius: var(--sph-radius-sm);
100
256
  border-style: var(--tw-border-style);
101
257
  border-width: 0px;
102
258
  background-color: transparent;
103
- padding-inline: calc(var(--spacing) * 3);
259
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
104
260
  font-size: 12.5px;
105
- --tw-font-weight: var(--font-weight-medium);
106
- font-weight: var(--font-weight-medium);
107
- color: var(--color-sph-text);
261
+ --tw-font-weight: var(--font-weight-medium, 500);
262
+ font-weight: var(--font-weight-medium, 500);
263
+ color: var(--sph-text);
108
264
  box-sizing: border-box;
109
265
  cursor: pointer;
110
266
  font-family: var(--sph-font-sans);
111
267
  font-weight: 550;
112
268
  transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
113
269
  }
114
- .sph-button[data-size="sm"] {
115
- height: calc(var(--spacing) * 8);
270
+ .sph-button[data-size="sm"] {
271
+ height: calc(var(--spacing, 0.25rem) * 8);
116
272
  }
117
- .sph-button[data-size="md"] {
118
- height: calc(var(--spacing) * 9);
119
- font-size: var(--text-sm);
120
- line-height: var(--tw-leading, var(--text-sm--line-height));
273
+ .sph-button[data-size="md"] {
274
+ height: calc(var(--spacing, 0.25rem) * 9);
275
+ font-size: var(--text-sm, 0.875rem);
276
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
121
277
  }
122
- .sph-button[data-size="lg"] {
123
- height: calc(var(--spacing) * 10);
124
- font-size: var(--text-sm);
125
- line-height: var(--tw-leading, var(--text-sm--line-height));
278
+ .sph-button[data-size="lg"] {
279
+ height: calc(var(--spacing, 0.25rem) * 10);
280
+ font-size: var(--text-sm, 0.875rem);
281
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
126
282
  }
127
- .sph-button[data-variant="primary"] {
128
- background-color: var(--color-sph-accent);
129
- color: var(--color-white);
283
+ .sph-button[data-variant="primary"] {
284
+ background-color: var(--sph-accent);
285
+ color: var(--sph-on-accent);
130
286
  }
131
- .sph-button[data-variant="primary"]:hover {
132
- background-color: var(--color-sph-accent-hover);
287
+ .sph-button[data-variant="primary"]:hover {
288
+ background-color: var(--sph-accent-hover);
133
289
  }
134
- .sph-button[data-variant="primary"]:active {
135
- background-color: var(--color-sph-accent-pressed);
290
+ .sph-button[data-variant="primary"]:active {
291
+ background-color: var(--sph-accent-pressed);
136
292
  transform: translateY(1px);
137
293
  }
138
- .sph-button[data-variant="secondary"] {
294
+ .sph-button[data-variant="secondary"] {
139
295
  border-style: var(--tw-border-style);
140
296
  border-width: 1px;
141
- border-color: var(--color-sph-border);
142
- background-color: var(--color-sph-surface);
297
+ border-color: var(--sph-border);
298
+ background-color: var(--sph-surface);
143
299
  }
144
- .sph-button[data-variant="secondary"]:hover, .sph-button[data-variant="quiet"]:hover {
145
- background-color: var(--color-sph-raised);
300
+ .sph-button[data-variant="secondary"]:hover, .sph-button[data-variant="quiet"]:hover {
301
+ background-color: var(--sph-raised);
146
302
  }
147
- .sph-button[data-variant="quiet"] {
148
- color: var(--color-sph-text-muted);
303
+ .sph-button[data-variant="quiet"] {
304
+ color: var(--sph-text-muted);
149
305
  }
150
- .sph-button:disabled {
306
+ .sph-button:disabled {
151
307
  opacity: 45%;
152
308
  cursor: not-allowed;
153
309
  transform: none;
154
310
  }
155
- .sph-button:focus-visible {
311
+ .sph-button:focus-visible {
156
312
  outline: 2px solid var(--sph-focus);
157
313
  outline-offset: 2px;
158
314
  }
159
- .sph-button[data-loading="true"] {
315
+ .sph-button[data-loading="true"] {
160
316
  cursor: wait;
161
317
  }
162
- .sph-button__label {
318
+ .sph-button__label {
163
319
  display: inline-flex;
164
320
  align-items: center;
165
321
  }
166
- @media (prefers-reduced-motion: reduce) {
322
+ @media (prefers-reduced-motion: reduce) {
167
323
  .sph-button {
168
324
  transition: none;
169
325
  }
170
326
  }
171
- .sph-checkbox {
327
+ .sph-checkbox {
172
328
  display: inline-flex;
173
- min-height: calc(var(--spacing) * 9);
329
+ min-height: calc(var(--spacing, 0.25rem) * 9);
174
330
  cursor: pointer;
175
331
  align-items: center;
176
- gap: calc(var(--spacing) * 2);
177
- font-size: var(--text-sm);
178
- line-height: var(--tw-leading, var(--text-sm--line-height));
179
- color: var(--color-sph-text);
332
+ gap: calc(var(--spacing, 0.25rem) * 2);
333
+ font-size: var(--text-sm, 0.875rem);
334
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
335
+ color: var(--sph-text);
180
336
  font-family: var(--sph-font-sans);
181
337
  }
182
- .sph-checkbox[data-size="sm"] {
183
- min-height: calc(var(--spacing) * 8);
184
- font-size: var(--text-xs);
185
- line-height: var(--tw-leading, var(--text-xs--line-height));
338
+ .sph-checkbox[data-size="sm"] {
339
+ min-height: calc(var(--spacing, 0.25rem) * 8);
340
+ font-size: var(--text-xs, 0.75rem);
341
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
186
342
  }
187
- .sph-checkbox[data-size="lg"] {
188
- min-height: calc(var(--spacing) * 10);
343
+ .sph-checkbox[data-size="lg"] {
344
+ min-height: calc(var(--spacing, 0.25rem) * 10);
189
345
  }
190
- .sph-checkbox__input {
346
+ .sph-checkbox__input {
191
347
  position: absolute;
192
348
  opacity: 0;
193
349
  pointer-events: none;
194
350
  }
195
- .sph-checkbox__box {
351
+ .sph-checkbox__box {
196
352
  box-sizing: border-box;
197
- width: calc(var(--spacing) * 4);
198
- height: calc(var(--spacing) * 4);
199
- border-radius: var(--radius-sph-xs);
353
+ width: calc(var(--spacing, 0.25rem) * 4);
354
+ height: calc(var(--spacing, 0.25rem) * 4);
355
+ border-radius: var(--sph-radius-xs);
200
356
  border-style: var(--tw-border-style);
201
357
  border-width: 1px;
202
- border-color: var(--color-sph-border);
203
- background-color: var(--color-sph-surface);
358
+ border-color: var(--sph-border);
359
+ background-color: var(--sph-surface);
204
360
  position: relative;
205
361
  flex: 0 0 auto;
206
362
  transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), border-color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
207
363
  }
208
- .sph-checkbox[data-size="sm"] .sph-checkbox__box {
209
- width: calc(var(--spacing) * 3.5);
210
- height: calc(var(--spacing) * 3.5);
364
+ .sph-checkbox[data-size="sm"] .sph-checkbox__box {
365
+ width: calc(var(--spacing, 0.25rem) * 3.5);
366
+ height: calc(var(--spacing, 0.25rem) * 3.5);
211
367
  }
212
- .sph-checkbox[data-size="lg"] .sph-checkbox__box {
213
- width: calc(var(--spacing) * 5);
214
- height: calc(var(--spacing) * 5);
368
+ .sph-checkbox[data-size="lg"] .sph-checkbox__box {
369
+ width: calc(var(--spacing, 0.25rem) * 5);
370
+ height: calc(var(--spacing, 0.25rem) * 5);
215
371
  }
216
- .sph-checkbox__input:checked + .sph-checkbox__box {
217
- border-color: var(--color-sph-accent);
218
- background-color: var(--color-sph-accent);
372
+ .sph-checkbox__input:checked + .sph-checkbox__box {
373
+ border-color: var(--sph-accent);
374
+ background-color: var(--sph-accent);
219
375
  }
220
- .sph-checkbox__check {
376
+ .sph-checkbox__check {
221
377
  display: block;
222
378
  width: 100%;
223
379
  height: 100%;
224
- color: var(--color-white);
380
+ color: var(--color-white, #fff);
225
381
  opacity: 0;
226
382
  transform: scale(0.72);
227
383
  transition: opacity var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
228
384
  }
229
- .sph-checkbox__input:checked + .sph-checkbox__box .sph-checkbox__check {
385
+ .sph-checkbox__input:checked + .sph-checkbox__box .sph-checkbox__check {
230
386
  opacity: 1;
231
387
  transform: scale(1);
232
388
  }
233
- .sph-checkbox__input:focus-visible + .sph-checkbox__box {
389
+ .sph-checkbox__input:focus-visible + .sph-checkbox__box {
234
390
  outline: 2px solid var(--sph-focus);
235
391
  outline-offset: 2px;
236
392
  }
237
- .sph-checkbox__input:active + .sph-checkbox__box {
393
+ .sph-checkbox__input:active + .sph-checkbox__box {
238
394
  transform: scale(0.92);
239
395
  }
240
- .sph-checkbox__input:disabled ~ * {
396
+ .sph-checkbox__input:disabled ~ * {
241
397
  opacity: 50%;
242
398
  cursor: not-allowed;
243
399
  }
244
- .sph-checkbox__input[aria-invalid="true"] + .sph-checkbox__box {
400
+ .sph-checkbox__input[aria-invalid="true"] + .sph-checkbox__box {
245
401
  border-color: var(--sph-danger);
246
402
  }
247
- @media (prefers-reduced-motion: reduce) {
403
+ @media (prefers-reduced-motion: reduce) {
248
404
  .sph-checkbox__box, .sph-checkbox__check {
249
405
  transition: none;
250
406
  }
251
407
  }
252
- .sph-icon-button {
408
+ .sph-icon-button {
253
409
  display: inline-flex;
254
410
  flex-shrink: 0;
255
411
  align-items: center;
256
412
  justify-content: center;
257
- border-radius: var(--radius-sph-sm);
413
+ border-radius: var(--sph-radius-sm);
258
414
  border-style: var(--tw-border-style);
259
415
  border-width: 0px;
260
416
  background-color: transparent;
261
417
  padding: 0px;
262
- color: var(--color-sph-text-muted);
418
+ color: var(--sph-text-muted);
263
419
  box-sizing: border-box;
264
420
  cursor: pointer;
265
421
  font-family: var(--sph-font-sans);
266
422
  transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
267
423
  }
268
- .sph-icon-button[data-size="sm"] {
269
- width: calc(var(--spacing) * 8);
270
- height: calc(var(--spacing) * 8);
424
+ .sph-icon-button[data-size="sm"] {
425
+ width: calc(var(--spacing, 0.25rem) * 8);
426
+ height: calc(var(--spacing, 0.25rem) * 8);
271
427
  }
272
- .sph-icon-button[data-size="md"] {
273
- width: calc(var(--spacing) * 9);
274
- height: calc(var(--spacing) * 9);
428
+ .sph-icon-button[data-size="md"] {
429
+ width: calc(var(--spacing, 0.25rem) * 9);
430
+ height: calc(var(--spacing, 0.25rem) * 9);
275
431
  }
276
- .sph-icon-button[data-size="lg"] {
277
- width: calc(var(--spacing) * 10);
278
- height: calc(var(--spacing) * 10);
432
+ .sph-icon-button[data-size="lg"] {
433
+ width: calc(var(--spacing, 0.25rem) * 10);
434
+ height: calc(var(--spacing, 0.25rem) * 10);
279
435
  }
280
- .sph-icon-button:hover:not(:disabled) {
281
- background-color: var(--color-sph-raised);
282
- color: var(--color-sph-text);
436
+ .sph-icon-button:hover:not(:disabled) {
437
+ background-color: var(--sph-raised);
438
+ color: var(--sph-text);
283
439
  }
284
- .sph-icon-button:active:not(:disabled) {
285
- background-color: var(--color-sph-accent-soft);
440
+ .sph-icon-button:active:not(:disabled) {
441
+ background-color: var(--sph-accent-soft);
286
442
  transform: scale(0.94);
287
443
  }
288
- .sph-icon-button[data-variant="solid"] {
289
- background-color: var(--color-sph-accent);
290
- color: var(--color-white);
444
+ .sph-icon-button[data-variant="solid"] {
445
+ background-color: var(--sph-accent);
446
+ color: var(--sph-on-accent);
291
447
  }
292
- .sph-icon-button[data-variant="solid"]:hover:not(:disabled) {
293
- background-color: var(--color-sph-accent-hover);
294
- color: var(--color-white);
448
+ .sph-icon-button[data-variant="solid"]:hover:not(:disabled) {
449
+ background-color: var(--sph-accent-hover);
450
+ color: var(--sph-on-accent);
295
451
  }
296
- .sph-icon-button[data-variant="solid"]:active:not(:disabled) {
297
- background-color: var(--color-sph-accent-pressed);
452
+ .sph-icon-button[data-variant="solid"]:active:not(:disabled) {
453
+ background-color: var(--sph-accent-pressed);
298
454
  }
299
- .sph-icon-button[data-variant="outline"] {
455
+ .sph-icon-button[data-variant="outline"] {
300
456
  border-style: var(--tw-border-style);
301
457
  border-width: 1px;
302
- border-color: var(--color-sph-border);
303
- background-color: var(--color-sph-surface);
304
- color: var(--color-sph-text);
458
+ border-color: var(--sph-border);
459
+ background-color: var(--sph-surface);
460
+ color: var(--sph-text);
305
461
  }
306
- .sph-icon-button[data-variant="outline"]:hover:not(:disabled) {
307
- background-color: var(--color-sph-raised);
462
+ .sph-icon-button[data-variant="outline"]:hover:not(:disabled) {
463
+ background-color: var(--sph-raised);
308
464
  border-color: var(--sph-border-strong);
309
465
  }
310
- .sph-icon-button:focus-visible {
466
+ .sph-icon-button:focus-visible {
311
467
  outline: 2px solid var(--sph-focus);
312
468
  outline-offset: 2px;
313
469
  box-shadow: 0 0 0 4px var(--sph-focus-ring);
314
470
  }
315
- .sph-icon-button:disabled {
471
+ .sph-icon-button:disabled {
316
472
  opacity: 45%;
317
473
  cursor: not-allowed;
318
474
  transform: none;
319
475
  }
320
- .sph-icon-button[data-loading="true"] {
476
+ .sph-icon-button[data-loading="true"] {
321
477
  cursor: wait;
322
478
  }
323
- @media (prefers-reduced-motion: reduce) {
479
+ @media (prefers-reduced-motion: reduce) {
324
480
  .sph-icon-button {
325
481
  transition: none;
326
482
  }
327
483
  }
328
- .sph-input {
484
+ .sph-input {
329
485
  box-sizing: border-box;
330
- height: calc(var(--spacing) * 9);
486
+ height: calc(var(--spacing, 0.25rem) * 9);
331
487
  width: 100%;
332
- border-radius: var(--radius-sph-sm);
333
- background-color: var(--color-sph-surface);
334
- padding-inline: calc(var(--spacing) * 3);
335
- color: var(--color-sph-text);
488
+ border-radius: var(--sph-radius-sm);
489
+ background-color: var(--sph-surface);
490
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
491
+ color: var(--sph-text);
336
492
  --tw-outline-style: none;
337
493
  outline-style: none;
338
494
  border: 0.5px solid var(--sph-border);
@@ -342,43 +498,43 @@
342
498
  font: 13px var(--sph-font-sans);
343
499
  transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard);
344
500
  }
345
- .sph-input[data-size="sm"] {
346
- height: calc(var(--spacing) * 8);
501
+ .sph-input[data-size="sm"] {
502
+ height: calc(var(--spacing, 0.25rem) * 8);
347
503
  }
348
- .sph-input[data-size="lg"] {
349
- height: calc(var(--spacing) * 10);
504
+ .sph-input[data-size="lg"] {
505
+ height: calc(var(--spacing, 0.25rem) * 10);
350
506
  }
351
- .sph-input:hover:not(:disabled) {
507
+ .sph-input:hover:not(:disabled) {
352
508
  border-color: var(--sph-border-strong);
353
509
  }
354
- .sph-input::placeholder {
355
- color: var(--color-sph-text-muted);
510
+ .sph-input::placeholder {
511
+ color: var(--sph-text-muted);
356
512
  }
357
- .sph-input[aria-invalid="true"] {
513
+ .sph-input[aria-invalid="true"] {
358
514
  border-color: var(--sph-danger);
359
515
  }
360
- .sph-input:disabled {
516
+ .sph-input:disabled {
361
517
  opacity: 50%;
362
518
  cursor: not-allowed;
363
519
  }
364
- .sph-input:focus-visible {
520
+ .sph-input:focus-visible {
365
521
  outline: none;
366
522
  box-shadow: none;
367
523
  border-color: var(--sph-border-strong);
368
524
  }
369
- .sph-input[aria-invalid="true"]:focus-visible {
525
+ .sph-input[aria-invalid="true"]:focus-visible {
370
526
  border-color: var(--sph-danger);
371
527
  }
372
- @media (prefers-reduced-motion: reduce) {
528
+ @media (prefers-reduced-motion: reduce) {
373
529
  .sph-input {
374
530
  transition: none;
375
531
  }
376
532
  }
377
- .sph-skeleton {
533
+ .sph-skeleton {
378
534
  display: inline-block;
379
- min-height: calc(var(--spacing) * 3);
380
- border-radius: var(--radius-sph-sm);
381
- background-color: var(--color-sph-raised);
535
+ min-height: calc(var(--spacing, 0.25rem) * 3);
536
+ border-radius: var(--sph-radius-sm);
537
+ background-color: var(--sph-raised);
382
538
  background-image: linear-gradient( 90deg, transparent, var(--sph-text), transparent );
383
539
  @supports (color: color-mix(in lab, red, red)) {
384
540
  background-image: linear-gradient( 90deg, transparent, color-mix(in srgb, var(--sph-text) 8%, transparent), transparent );
@@ -386,7 +542,7 @@
386
542
  background-size: 200% 100%;
387
543
  animation: sph-skeleton-shimmer 1.4s var(--sph-ease-standard) infinite;
388
544
  }
389
- @keyframes sph-skeleton-shimmer {
545
+ @keyframes sph-skeleton-shimmer {
390
546
  from {
391
547
  background-position: 200% 0;
392
548
  }
@@ -394,54 +550,54 @@
394
550
  background-position: -200% 0;
395
551
  }
396
552
  }
397
- @media (prefers-reduced-motion: reduce) {
553
+ @media (prefers-reduced-motion: reduce) {
398
554
  .sph-skeleton {
399
555
  animation: none;
400
556
  }
401
557
  }
402
- .sph-slider {
558
+ .sph-slider {
403
559
  display: grid;
404
560
  width: 100%;
405
- gap: calc(var(--spacing) * 2);
406
- font-family: var(--font-sph-sans);
561
+ gap: calc(var(--spacing, 0.25rem) * 2);
562
+ font-family: var(--sph-font-sans);
407
563
  --sph-slider-track: 4px;
408
564
  --sph-slider-thumb: 15px;
409
565
  }
410
- .sph-slider[data-size="sm"] {
566
+ .sph-slider[data-size="sm"] {
411
567
  --sph-slider-track: 3px;
412
568
  --sph-slider-thumb: 12px;
413
569
  }
414
- .sph-slider[data-size="lg"] {
570
+ .sph-slider[data-size="lg"] {
415
571
  --sph-slider-track: 5px;
416
572
  --sph-slider-thumb: 18px;
417
573
  }
418
- .sph-slider__head {
574
+ .sph-slider__head {
419
575
  display: flex;
420
576
  align-items: baseline;
421
577
  justify-content: space-between;
422
- gap: calc(var(--spacing) * 3);
578
+ gap: calc(var(--spacing, 0.25rem) * 3);
423
579
  }
424
- .sph-slider__label {
580
+ .sph-slider__label {
425
581
  font-size: 11px;
426
582
  --tw-leading: 1;
427
583
  line-height: 1;
428
- color: var(--color-sph-text);
584
+ color: var(--sph-text);
429
585
  }
430
- .sph-slider__value {
586
+ .sph-slider__value {
431
587
  font-size: 11px;
432
588
  --tw-leading: 1;
433
589
  line-height: 1;
434
- color: var(--color-sph-text-muted);
590
+ color: var(--sph-text-muted);
435
591
  font-variant-numeric: tabular-nums;
436
592
  }
437
- .sph-slider[data-size="sm"] .sph-slider__label, .sph-slider[data-size="sm"] .sph-slider__value {
593
+ .sph-slider[data-size="sm"] .sph-slider__label, .sph-slider[data-size="sm"] .sph-slider__value {
438
594
  font-size: 10px;
439
595
  }
440
- .sph-slider[data-size="lg"] .sph-slider__label, .sph-slider[data-size="lg"] .sph-slider__value {
441
- font-size: var(--text-xs);
442
- line-height: var(--tw-leading, var(--text-xs--line-height));
596
+ .sph-slider[data-size="lg"] .sph-slider__label, .sph-slider[data-size="lg"] .sph-slider__value {
597
+ font-size: var(--text-xs, 0.75rem);
598
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
443
599
  }
444
- .sph-slider__input {
600
+ .sph-slider__input {
445
601
  margin: 0px;
446
602
  width: 100%;
447
603
  cursor: pointer;
@@ -454,24 +610,24 @@
454
610
  box-sizing: border-box;
455
611
  height: calc(var(--sph-slider-thumb) + 2px);
456
612
  }
457
- .sph-slider__input::-webkit-slider-runnable-track {
613
+ .sph-slider__input::-webkit-slider-runnable-track {
458
614
  box-sizing: border-box;
459
615
  height: var(--sph-slider-track);
460
616
  border-radius: 999px;
461
617
  background: linear-gradient( to right, var(--sph-slider-fill, var(--sph-accent)) var(--sph-slider-progress, 0%), var(--sph-border) var(--sph-slider-progress, 0%) );
462
618
  }
463
- .sph-slider__input::-moz-range-track {
619
+ .sph-slider__input::-moz-range-track {
464
620
  box-sizing: border-box;
465
621
  height: var(--sph-slider-track);
466
622
  border-radius: 999px;
467
623
  background: var(--sph-border);
468
624
  }
469
- .sph-slider__input::-moz-range-progress {
625
+ .sph-slider__input::-moz-range-progress {
470
626
  height: var(--sph-slider-track);
471
627
  border-radius: 999px;
472
628
  background: var(--sph-slider-fill, var(--sph-accent));
473
629
  }
474
- .sph-slider__input::-webkit-slider-thumb {
630
+ .sph-slider__input::-webkit-slider-thumb {
475
631
  appearance: none;
476
632
  -webkit-appearance: none;
477
633
  box-sizing: border-box;
@@ -484,7 +640,7 @@
484
640
  box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 1px 2px rgb(0 0 0 / 0.28);
485
641
  transition: box-shadow var(--sph-motion-fast) var(--sph-ease-standard);
486
642
  }
487
- .sph-slider__input::-moz-range-thumb {
643
+ .sph-slider__input::-moz-range-thumb {
488
644
  box-sizing: border-box;
489
645
  width: var(--sph-slider-thumb);
490
646
  height: var(--sph-slider-thumb);
@@ -493,119 +649,119 @@
493
649
  background: var(--sph-slider-fill, var(--sph-accent));
494
650
  box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 1px 2px rgb(0 0 0 / 0.28);
495
651
  }
496
- .sph-slider__input:hover::-webkit-slider-thumb, .sph-slider__input:active::-webkit-slider-thumb {
652
+ .sph-slider__input:hover::-webkit-slider-thumb, .sph-slider__input:active::-webkit-slider-thumb {
497
653
  box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 0 0 5px var(--sph-accent-soft);
498
654
  }
499
- .sph-slider__input:hover::-moz-range-thumb, .sph-slider__input:active::-moz-range-thumb {
655
+ .sph-slider__input:hover::-moz-range-thumb, .sph-slider__input:active::-moz-range-thumb {
500
656
  box-shadow: 0 0 0 1px var(--sph-slider-ring, var(--sph-surface)), 0 0 0 5px var(--sph-accent-soft);
501
657
  }
502
- .sph-slider__input:focus-visible {
658
+ .sph-slider__input:focus-visible {
503
659
  outline: 2px solid var(--sph-focus);
504
660
  outline-offset: 4px;
505
661
  border-radius: 999px;
506
662
  }
507
- .sph-slider[data-invalid] .sph-slider__input {
663
+ .sph-slider[data-invalid] .sph-slider__input {
508
664
  --sph-slider-fill: var(--sph-danger);
509
665
  }
510
- .sph-slider[data-invalid] .sph-slider__value {
666
+ .sph-slider[data-invalid] .sph-slider__value {
511
667
  color: var(--sph-danger);
512
668
  }
513
- .sph-slider[data-disabled] .sph-slider__input {
669
+ .sph-slider[data-disabled] .sph-slider__input {
514
670
  cursor: not-allowed;
515
671
  opacity: 0.45;
516
672
  }
517
- .sph-slider[data-disabled] .sph-slider__label, .sph-slider[data-disabled] .sph-slider__value {
673
+ .sph-slider[data-disabled] .sph-slider__label, .sph-slider[data-disabled] .sph-slider__value {
518
674
  opacity: 60%;
519
675
  }
520
- @media (prefers-reduced-motion: reduce) {
676
+ @media (prefers-reduced-motion: reduce) {
521
677
  .sph-slider__input::-webkit-slider-thumb, .sph-slider__input::-moz-range-thumb {
522
678
  transition: none;
523
679
  }
524
680
  }
525
- .sph-separator {
681
+ .sph-separator {
526
682
  margin: 0px;
527
683
  border-style: var(--tw-border-style);
528
684
  border-width: 0px;
529
- background-color: var(--color-sph-border);
685
+ background-color: var(--sph-border);
530
686
  flex: 0 0 auto;
531
687
  }
532
- .sph-separator[data-orientation="horizontal"] {
688
+ .sph-separator[data-orientation="horizontal"] {
533
689
  height: 1px;
534
690
  width: 100%;
535
691
  }
536
- .sph-separator[data-orientation="vertical"] {
692
+ .sph-separator[data-orientation="vertical"] {
537
693
  height: 100%;
538
694
  width: 1px;
539
695
  min-height: 18px;
540
696
  }
541
- .sph-spinner {
697
+ .sph-spinner {
542
698
  box-sizing: border-box;
543
699
  display: inline-block;
544
700
  flex-shrink: 0;
545
701
  border-radius: calc(infinity * 1px);
546
702
  border-style: var(--tw-border-style);
547
703
  border-width: 2px;
548
- border-color: var(--color-sph-border);
549
- border-top-color: var(--color-sph-accent);
704
+ border-color: var(--sph-border);
705
+ border-top-color: var(--sph-accent);
550
706
  animation: sph-spin 700ms linear infinite;
551
707
  }
552
- .sph-spinner--sm {
553
- width: calc(var(--spacing) * 3);
554
- height: calc(var(--spacing) * 3);
708
+ .sph-spinner--sm {
709
+ width: calc(var(--spacing, 0.25rem) * 3);
710
+ height: calc(var(--spacing, 0.25rem) * 3);
555
711
  }
556
- .sph-spinner--md {
557
- width: calc(var(--spacing) * 4);
558
- height: calc(var(--spacing) * 4);
712
+ .sph-spinner--md {
713
+ width: calc(var(--spacing, 0.25rem) * 4);
714
+ height: calc(var(--spacing, 0.25rem) * 4);
559
715
  }
560
- .sph-spinner--lg {
561
- width: calc(var(--spacing) * 5);
562
- height: calc(var(--spacing) * 5);
716
+ .sph-spinner--lg {
717
+ width: calc(var(--spacing, 0.25rem) * 5);
718
+ height: calc(var(--spacing, 0.25rem) * 5);
563
719
  }
564
- @keyframes sph-spin {
720
+ @keyframes sph-spin {
565
721
  to {
566
722
  transform: rotate(360deg);
567
723
  }
568
724
  }
569
- @media (prefers-reduced-motion: reduce) {
725
+ @media (prefers-reduced-motion: reduce) {
570
726
  .sph-spinner {
571
727
  animation: none;
572
728
  }
573
729
  }
574
- .sph-surface {
730
+ .sph-surface {
575
731
  min-width: 0px;
576
- border-radius: var(--radius-sph-md);
577
- color: var(--color-sph-text);
732
+ border-radius: var(--sph-radius-md);
733
+ color: var(--sph-text);
578
734
  background: var(--sph-surface);
579
735
  font-family: var(--sph-font-sans);
580
736
  }
581
- .sph-surface[data-tone="elevated"] {
737
+ .sph-surface[data-tone="elevated"] {
582
738
  background: var(--sph-surface-elevated);
583
739
  }
584
- .sph-surface[data-tone="raised"] {
740
+ .sph-surface[data-tone="raised"] {
585
741
  background: var(--sph-raised);
586
742
  }
587
- .sph-surface[data-padding="none"] {
743
+ .sph-surface[data-padding="none"] {
588
744
  padding: 0;
589
745
  }
590
- .sph-surface[data-padding="sm"] {
746
+ .sph-surface[data-padding="sm"] {
591
747
  padding: 10px;
592
748
  }
593
- .sph-surface[data-padding="md"] {
749
+ .sph-surface[data-padding="md"] {
594
750
  padding: 16px;
595
751
  }
596
- .sph-surface[data-padding="lg"] {
752
+ .sph-surface[data-padding="lg"] {
597
753
  padding: 24px;
598
754
  }
599
- .sph-textarea {
755
+ .sph-textarea {
600
756
  box-sizing: border-box;
601
- min-height: calc(var(--spacing) * 24);
757
+ min-height: calc(var(--spacing, 0.25rem) * 24);
602
758
  width: 100%;
603
759
  resize: vertical;
604
- border-radius: var(--radius-sph-sm);
605
- background-color: var(--color-sph-surface);
606
- padding-inline: calc(var(--spacing) * 3);
607
- padding-block: calc(var(--spacing) * 2.5);
608
- color: var(--color-sph-text);
760
+ border-radius: var(--sph-radius-sm);
761
+ background-color: var(--sph-surface);
762
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
763
+ padding-block: calc(var(--spacing, 0.25rem) * 2.5);
764
+ color: var(--sph-text);
609
765
  --tw-outline-style: none;
610
766
  outline-style: none;
611
767
  border: 0.5px solid var(--sph-border);
@@ -615,283 +771,283 @@
615
771
  font: 13px / 1.5 var(--sph-font-sans);
616
772
  transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-fast) var(--sph-ease-standard);
617
773
  }
618
- .sph-textarea[data-size="sm"] {
619
- min-height: calc(var(--spacing) * 20);
774
+ .sph-textarea[data-size="sm"] {
775
+ min-height: calc(var(--spacing, 0.25rem) * 20);
620
776
  }
621
- .sph-textarea[data-size="lg"] {
622
- min-height: calc(var(--spacing) * 32);
777
+ .sph-textarea[data-size="lg"] {
778
+ min-height: calc(var(--spacing, 0.25rem) * 32);
623
779
  }
624
- .sph-textarea:hover:not(:disabled) {
780
+ .sph-textarea:hover:not(:disabled) {
625
781
  border-color: var(--sph-border-strong);
626
782
  }
627
- .sph-textarea::placeholder {
628
- color: var(--color-sph-text-muted);
783
+ .sph-textarea::placeholder {
784
+ color: var(--sph-text-muted);
629
785
  }
630
- .sph-textarea[aria-invalid="true"] {
786
+ .sph-textarea[aria-invalid="true"] {
631
787
  border-color: var(--sph-danger);
632
788
  }
633
- .sph-textarea:disabled {
789
+ .sph-textarea:disabled {
634
790
  opacity: 50%;
635
791
  cursor: not-allowed;
636
792
  }
637
- .sph-textarea:focus-visible {
793
+ .sph-textarea:focus-visible {
638
794
  outline: 2px solid var(--sph-focus);
639
795
  outline-offset: 2px;
640
796
  box-shadow: 0 0 0 4px var(--sph-focus-ring);
641
797
  }
642
- @media (prefers-reduced-motion: reduce) {
798
+ @media (prefers-reduced-motion: reduce) {
643
799
  .sph-textarea {
644
800
  transition: none;
645
801
  }
646
802
  }
647
- .sph-toggle {
803
+ .sph-toggle {
648
804
  box-sizing: border-box;
649
805
  display: inline-flex;
650
- height: calc(var(--spacing) * 9);
651
- width: calc(var(--spacing) * 11);
806
+ height: calc(var(--spacing, 0.25rem) * 9);
807
+ width: calc(var(--spacing, 0.25rem) * 11);
652
808
  align-items: center;
653
809
  justify-content: center;
654
810
  border-style: var(--tw-border-style);
655
811
  border-width: 0px;
656
812
  background-color: transparent;
657
813
  padding: 0px;
658
- font-family: var(--font-sph-sans);
814
+ font-family: var(--sph-font-sans);
659
815
  --sph-toggle-travel: 16px;
660
816
  cursor: pointer;
661
817
  }
662
- .sph-toggle[data-size="sm"] {
663
- height: calc(var(--spacing) * 8);
664
- width: calc(var(--spacing) * 10);
818
+ .sph-toggle[data-size="sm"] {
819
+ height: calc(var(--spacing, 0.25rem) * 8);
820
+ width: calc(var(--spacing, 0.25rem) * 10);
665
821
  --sph-toggle-travel: 12px;
666
822
  }
667
- .sph-toggle[data-size="lg"] {
668
- height: calc(var(--spacing) * 10);
669
- width: calc(var(--spacing) * 12);
823
+ .sph-toggle[data-size="lg"] {
824
+ height: calc(var(--spacing, 0.25rem) * 10);
825
+ width: calc(var(--spacing, 0.25rem) * 12);
670
826
  --sph-toggle-travel: 20px;
671
827
  }
672
- .sph-toggle__track {
828
+ .sph-toggle__track {
673
829
  position: relative;
674
830
  box-sizing: border-box;
675
831
  display: block;
676
- height: calc(var(--spacing) * 5);
677
- width: calc(var(--spacing) * 9);
832
+ height: calc(var(--spacing, 0.25rem) * 5);
833
+ width: calc(var(--spacing, 0.25rem) * 9);
678
834
  border-radius: calc(infinity * 1px);
679
- background-color: var(--color-sph-border-strong);
680
- padding: calc(var(--spacing) * 0.5);
835
+ background-color: var(--sph-border-strong);
836
+ padding: calc(var(--spacing, 0.25rem) * 0.5);
681
837
  transition: background-color var(--sph-motion-normal) var(--sph-ease-standard);
682
838
  }
683
- .sph-toggle[data-size="sm"] .sph-toggle__track {
684
- height: calc(var(--spacing) * 4);
685
- width: calc(var(--spacing) * 7);
839
+ .sph-toggle[data-size="sm"] .sph-toggle__track {
840
+ height: calc(var(--spacing, 0.25rem) * 4);
841
+ width: calc(var(--spacing, 0.25rem) * 7);
686
842
  }
687
- .sph-toggle[data-size="lg"] .sph-toggle__track {
688
- height: calc(var(--spacing) * 6);
689
- width: calc(var(--spacing) * 11);
843
+ .sph-toggle[data-size="lg"] .sph-toggle__track {
844
+ height: calc(var(--spacing, 0.25rem) * 6);
845
+ width: calc(var(--spacing, 0.25rem) * 11);
690
846
  }
691
- .sph-toggle[data-state="checked"] .sph-toggle__track {
692
- background-color: var(--color-sph-accent);
847
+ .sph-toggle[data-state="checked"] .sph-toggle__track {
848
+ background-color: var(--sph-accent);
693
849
  }
694
- .sph-toggle__thumb {
850
+ .sph-toggle__thumb {
695
851
  display: block;
696
- width: calc(var(--spacing) * 4);
697
- height: calc(var(--spacing) * 4);
852
+ width: calc(var(--spacing, 0.25rem) * 4);
853
+ height: calc(var(--spacing, 0.25rem) * 4);
698
854
  border-radius: calc(infinity * 1px);
699
- background-color: var(--color-white);
855
+ background-color: var(--color-white, #fff);
700
856
  box-shadow: 0 0 0 1px var(--sph-text), 0 1px 3px rgb(0 0 0 / 0.3);
701
857
  @supports (color: color-mix(in lab, red, red)) {
702
858
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sph-text) 16%, transparent), 0 1px 3px rgb(0 0 0 / 0.3);
703
859
  }
704
860
  transition: transform var(--sph-motion-normal) var(--sph-ease-emphasis);
705
861
  }
706
- .sph-toggle[data-size="sm"] .sph-toggle__thumb {
707
- width: calc(var(--spacing) * 3);
708
- height: calc(var(--spacing) * 3);
862
+ .sph-toggle[data-size="sm"] .sph-toggle__thumb {
863
+ width: calc(var(--spacing, 0.25rem) * 3);
864
+ height: calc(var(--spacing, 0.25rem) * 3);
709
865
  }
710
- .sph-toggle[data-size="lg"] .sph-toggle__thumb {
711
- width: calc(var(--spacing) * 5);
712
- height: calc(var(--spacing) * 5);
866
+ .sph-toggle[data-size="lg"] .sph-toggle__thumb {
867
+ width: calc(var(--spacing, 0.25rem) * 5);
868
+ height: calc(var(--spacing, 0.25rem) * 5);
713
869
  }
714
- .sph-toggle[data-state="checked"] .sph-toggle__thumb {
870
+ .sph-toggle[data-state="checked"] .sph-toggle__thumb {
715
871
  transform: translateX(var(--sph-toggle-travel));
716
872
  }
717
- .sph-toggle:active:not(:disabled) .sph-toggle__thumb {
873
+ .sph-toggle:active:not(:disabled) .sph-toggle__thumb {
718
874
  transform: scale(0.9);
719
875
  }
720
- .sph-toggle[data-state="checked"]:active:not(:disabled) .sph-toggle__thumb {
876
+ .sph-toggle[data-state="checked"]:active:not(:disabled) .sph-toggle__thumb {
721
877
  transform: translateX(var(--sph-toggle-travel)) scale(0.9);
722
878
  }
723
- .sph-toggle:disabled {
879
+ .sph-toggle:disabled {
724
880
  cursor: not-allowed;
725
881
  }
726
- .sph-toggle:disabled .sph-toggle__track {
882
+ .sph-toggle:disabled .sph-toggle__track {
727
883
  background: var(--sph-border);
728
884
  @supports (color: color-mix(in lab, red, red)) {
729
885
  background: color-mix(in srgb, var(--sph-border) 65%, var(--sph-surface));
730
886
  }
731
887
  }
732
- .sph-toggle:disabled[data-state="checked"] .sph-toggle__track {
888
+ .sph-toggle:disabled[data-state="checked"] .sph-toggle__track {
733
889
  background: var(--sph-accent);
734
890
  @supports (color: color-mix(in lab, red, red)) {
735
891
  background: color-mix(in srgb, var(--sph-accent) 38%, var(--sph-surface));
736
892
  }
737
893
  }
738
- .sph-toggle:disabled .sph-toggle__thumb {
894
+ .sph-toggle:disabled .sph-toggle__thumb {
739
895
  box-shadow: 0 0 0 1px var(--sph-text);
740
896
  @supports (color: color-mix(in lab, red, red)) {
741
897
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sph-text) 14%, transparent);
742
898
  }
743
899
  }
744
- .sph-toggle:focus-visible {
900
+ .sph-toggle:focus-visible {
745
901
  outline: 2px solid var(--sph-focus);
746
902
  outline-offset: 2px;
747
903
  }
748
- @media (prefers-reduced-motion: reduce) {
904
+ @media (prefers-reduced-motion: reduce) {
749
905
  .sph-toggle__track, .sph-toggle__thumb {
750
906
  transition: none;
751
907
  }
752
908
  }
753
- .sph-field {
909
+ .sph-field {
754
910
  display: grid;
755
- gap: calc(var(--spacing) * 1.5);
911
+ gap: calc(var(--spacing, 0.25rem) * 1.5);
756
912
  font-family: var(--sph-font-sans);
757
913
  }
758
- .sph-field__label {
914
+ .sph-field__label {
759
915
  display: flex;
760
916
  align-items: center;
761
917
  justify-content: space-between;
762
- gap: calc(var(--spacing) * 3);
763
- font-size: var(--text-sm);
764
- line-height: var(--tw-leading, var(--text-sm--line-height));
765
- --tw-font-weight: var(--font-weight-medium);
766
- font-weight: var(--font-weight-medium);
767
- color: var(--color-sph-text);
918
+ gap: calc(var(--spacing, 0.25rem) * 3);
919
+ font-size: var(--text-sm, 0.875rem);
920
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
921
+ --tw-font-weight: var(--font-weight-medium, 500);
922
+ font-weight: var(--font-weight-medium, 500);
923
+ color: var(--sph-text);
768
924
  line-height: 1.25;
769
925
  }
770
- .sph-field__required {
771
- font-size: var(--text-xs);
772
- line-height: var(--tw-leading, var(--text-xs--line-height));
773
- --tw-font-weight: var(--font-weight-normal);
774
- font-weight: var(--font-weight-normal);
775
- color: var(--color-sph-text-muted);
926
+ .sph-field__required {
927
+ font-size: var(--text-xs, 0.75rem);
928
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
929
+ --tw-font-weight: var(--font-weight-normal, 400);
930
+ font-weight: var(--font-weight-normal, 400);
931
+ color: var(--sph-text-muted);
776
932
  }
777
- .sph-field__description {
933
+ .sph-field__description {
778
934
  margin: 0px;
779
- font-size: var(--text-xs);
780
- line-height: var(--tw-leading, var(--text-xs--line-height));
781
- color: var(--color-sph-text-muted);
935
+ font-size: var(--text-xs, 0.75rem);
936
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
937
+ color: var(--sph-text-muted);
782
938
  line-height: 1.4;
783
939
  }
784
- .sph-field__control {
940
+ .sph-field__control {
785
941
  min-width: 0px;
786
942
  }
787
- .sph-field-message {
943
+ .sph-field-message {
788
944
  margin: 0px;
789
- font-size: var(--text-xs);
790
- line-height: var(--tw-leading, var(--text-xs--line-height));
791
- color: var(--color-sph-text-muted);
945
+ font-size: var(--text-xs, 0.75rem);
946
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
947
+ color: var(--sph-text-muted);
792
948
  font-family: var(--sph-font-sans);
793
949
  line-height: 1.4;
794
950
  }
795
- .sph-field-message[data-variant="error"] {
951
+ .sph-field-message[data-variant="error"] {
796
952
  color: var(--sph-danger);
797
953
  }
798
- .sph-field-message[data-variant="success"] {
954
+ .sph-field-message[data-variant="success"] {
799
955
  color: var(--sph-success);
800
956
  }
801
- .sph-card {
957
+ .sph-card {
802
958
  min-width: 0px;
803
959
  overflow: hidden;
804
- border-radius: var(--radius-sph-md);
960
+ border-radius: var(--sph-radius-md);
805
961
  border-style: var(--tw-border-style);
806
962
  border-width: 1px;
807
- border-color: var(--color-sph-border);
808
- background-color: var(--color-sph-surface);
809
- color: var(--color-sph-text);
963
+ border-color: var(--sph-border);
964
+ background-color: var(--sph-surface);
965
+ color: var(--sph-text);
810
966
  font-family: var(--sph-font-sans);
811
967
  transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
812
968
  }
813
- .sph-card[data-interactive="true"] {
969
+ .sph-card[data-interactive="true"] {
814
970
  cursor: pointer;
815
971
  }
816
- .sph-card[data-interactive="true"]:hover {
972
+ .sph-card[data-interactive="true"]:hover {
817
973
  border-color: var(--sph-border-strong);
818
974
  background: var(--sph-surface-elevated);
819
975
  }
820
- .sph-card[data-interactive="true"]:active {
976
+ .sph-card[data-interactive="true"]:active {
821
977
  transform: translateY(1px);
822
978
  }
823
- .sph-card[data-selected="true"] {
979
+ .sph-card[data-selected="true"] {
824
980
  border-color: var(--sph-accent);
825
981
  box-shadow: 0 0 0 1px var(--sph-accent-soft);
826
982
  }
827
- .sph-card:focus-within {
983
+ .sph-card:focus-within {
828
984
  border-color: var(--sph-focus);
829
985
  }
830
- .sph-card__header {
986
+ .sph-card__header {
831
987
  display: grid;
832
- gap: var(--spacing);
988
+ gap: var(--spacing, 0.25rem);
833
989
  border-bottom-style: var(--tw-border-style);
834
990
  border-bottom-width: 1px;
835
- border-color: var(--color-sph-border);
836
- padding-inline: calc(var(--spacing) * 4);
837
- padding-block: calc(var(--spacing) * 3.5);
991
+ border-color: var(--sph-border);
992
+ padding-inline: calc(var(--spacing, 0.25rem) * 4);
993
+ padding-block: calc(var(--spacing, 0.25rem) * 3.5);
838
994
  }
839
- .sph-card__title {
995
+ .sph-card__title {
840
996
  margin: 0px;
841
- font-size: var(--text-sm);
842
- line-height: var(--tw-leading, var(--text-sm--line-height));
843
- --tw-font-weight: var(--font-weight-semibold);
844
- font-weight: var(--font-weight-semibold);
845
- color: var(--color-sph-text);
997
+ font-size: var(--text-sm, 0.875rem);
998
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
999
+ --tw-font-weight: var(--font-weight-semibold, 600);
1000
+ font-weight: var(--font-weight-semibold, 600);
1001
+ color: var(--sph-text);
846
1002
  line-height: 1.3;
847
1003
  }
848
- .sph-card__description {
1004
+ .sph-card__description {
849
1005
  margin: 0px;
850
- font-size: var(--text-xs);
851
- line-height: var(--tw-leading, var(--text-xs--line-height));
852
- color: var(--color-sph-text-muted);
1006
+ font-size: var(--text-xs, 0.75rem);
1007
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1008
+ color: var(--sph-text-muted);
853
1009
  line-height: 1.45;
854
1010
  }
855
- .sph-card__content {
1011
+ .sph-card__content {
856
1012
  min-width: 0px;
857
- padding-inline: calc(var(--spacing) * 4);
858
- padding-block: calc(var(--spacing) * 4);
1013
+ padding-inline: calc(var(--spacing, 0.25rem) * 4);
1014
+ padding-block: calc(var(--spacing, 0.25rem) * 4);
859
1015
  }
860
- .sph-card__footer {
1016
+ .sph-card__footer {
861
1017
  display: flex;
862
1018
  flex-wrap: wrap;
863
1019
  align-items: center;
864
1020
  justify-content: flex-end;
865
- gap: calc(var(--spacing) * 2);
1021
+ gap: calc(var(--spacing, 0.25rem) * 2);
866
1022
  border-top-style: var(--tw-border-style);
867
1023
  border-top-width: 1px;
868
- border-color: var(--color-sph-border);
869
- padding-inline: calc(var(--spacing) * 4);
870
- padding-block: calc(var(--spacing) * 3);
1024
+ border-color: var(--sph-border);
1025
+ padding-inline: calc(var(--spacing, 0.25rem) * 4);
1026
+ padding-block: calc(var(--spacing, 0.25rem) * 3);
871
1027
  }
872
- @media (prefers-reduced-motion: reduce) {
1028
+ @media (prefers-reduced-motion: reduce) {
873
1029
  .sph-card {
874
1030
  transition: none;
875
1031
  }
876
1032
  }
877
- .sph-alert {
1033
+ .sph-alert {
878
1034
  display: flex;
879
1035
  min-width: 0px;
880
1036
  align-items: flex-start;
881
- gap: calc(var(--spacing) * 3);
882
- border-radius: var(--radius-sph-md);
1037
+ gap: calc(var(--spacing, 0.25rem) * 3);
1038
+ border-radius: var(--sph-radius-md);
883
1039
  border-style: var(--tw-border-style);
884
1040
  border-width: 1px;
885
- padding-inline: calc(var(--spacing) * 3.5);
886
- padding-block: calc(var(--spacing) * 3);
887
- font-size: var(--text-sm);
888
- line-height: var(--tw-leading, var(--text-sm--line-height));
1041
+ padding-inline: calc(var(--spacing, 0.25rem) * 3.5);
1042
+ padding-block: calc(var(--spacing, 0.25rem) * 3);
1043
+ font-size: var(--text-sm, 0.875rem);
1044
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
889
1045
  background: var(--sph-surface);
890
1046
  border-color: var(--sph-border);
891
1047
  color: var(--sph-text);
892
1048
  font-family: var(--sph-font-sans);
893
1049
  }
894
- .sph-alert[data-variant="info"] {
1050
+ .sph-alert[data-variant="info"] {
895
1051
  background: var(--sph-accent);
896
1052
  @supports (color: color-mix(in lab, red, red)) {
897
1053
  background: color-mix(in srgb, var(--sph-accent) 8%, var(--sph-surface));
@@ -901,114 +1057,114 @@
901
1057
  border-color: color-mix(in srgb, var(--sph-accent) 30%, var(--sph-border));
902
1058
  }
903
1059
  }
904
- .sph-alert[data-variant="success"] {
1060
+ .sph-alert[data-variant="success"] {
905
1061
  background: var(--sph-success-soft);
906
1062
  border-color: var(--sph-success);
907
1063
  @supports (color: color-mix(in lab, red, red)) {
908
1064
  border-color: color-mix(in srgb, var(--sph-success) 34%, var(--sph-border));
909
1065
  }
910
1066
  }
911
- .sph-alert[data-variant="warning"] {
1067
+ .sph-alert[data-variant="warning"] {
912
1068
  background: var(--sph-warning-soft);
913
1069
  border-color: var(--sph-warning);
914
1070
  @supports (color: color-mix(in lab, red, red)) {
915
1071
  border-color: color-mix(in srgb, var(--sph-warning) 34%, var(--sph-border));
916
1072
  }
917
1073
  }
918
- .sph-alert[data-variant="danger"] {
1074
+ .sph-alert[data-variant="danger"] {
919
1075
  background: var(--sph-danger-soft);
920
1076
  border-color: var(--sph-danger);
921
1077
  @supports (color: color-mix(in lab, red, red)) {
922
1078
  border-color: color-mix(in srgb, var(--sph-danger) 34%, var(--sph-border));
923
1079
  }
924
1080
  }
925
- .sph-alert__icon {
1081
+ .sph-alert__icon {
926
1082
  display: flex;
927
- width: calc(var(--spacing) * 8);
928
- height: calc(var(--spacing) * 8);
1083
+ width: calc(var(--spacing, 0.25rem) * 8);
1084
+ height: calc(var(--spacing, 0.25rem) * 8);
929
1085
  flex-shrink: 0;
930
1086
  align-items: center;
931
1087
  justify-content: center;
932
1088
  align-self: center;
933
- border-radius: var(--radius-sph-md);
1089
+ border-radius: var(--sph-radius-md);
934
1090
  background: var(--sph-accent-soft, var(--sph-raised));
935
1091
  color: var(--sph-accent);
936
1092
  }
937
- .sph-alert__icon svg {
1093
+ .sph-alert__icon svg {
938
1094
  display: block;
939
- width: calc(var(--spacing) * 4);
940
- height: calc(var(--spacing) * 4);
1095
+ width: calc(var(--spacing, 0.25rem) * 4);
1096
+ height: calc(var(--spacing, 0.25rem) * 4);
941
1097
  }
942
- .sph-alert[data-variant="success"] .sph-alert__icon {
1098
+ .sph-alert[data-variant="success"] .sph-alert__icon {
943
1099
  background: var(--sph-success-soft);
944
1100
  color: var(--sph-success);
945
1101
  }
946
- .sph-alert[data-variant="warning"] .sph-alert__icon {
1102
+ .sph-alert[data-variant="warning"] .sph-alert__icon {
947
1103
  background: var(--sph-warning-soft);
948
1104
  color: var(--sph-warning);
949
1105
  }
950
- .sph-alert[data-variant="danger"] .sph-alert__icon {
1106
+ .sph-alert[data-variant="danger"] .sph-alert__icon {
951
1107
  background: var(--sph-danger-soft);
952
1108
  color: var(--sph-danger);
953
1109
  }
954
- .sph-alert__body {
1110
+ .sph-alert__body {
955
1111
  min-width: 0px;
956
1112
  flex: 1;
957
1113
  }
958
- .sph-alert__title {
1114
+ .sph-alert__title {
959
1115
  margin: 0px;
960
- --tw-font-weight: var(--font-weight-semibold);
961
- font-weight: var(--font-weight-semibold);
1116
+ --tw-font-weight: var(--font-weight-semibold, 600);
1117
+ font-weight: var(--font-weight-semibold, 600);
962
1118
  line-height: 1.35;
963
1119
  }
964
- .sph-alert__content {
965
- margin-top: calc(var(--spacing) * 0.5);
966
- font-size: var(--text-xs);
967
- line-height: var(--tw-leading, var(--text-xs--line-height));
968
- color: var(--color-sph-text-muted);
1120
+ .sph-alert__content {
1121
+ margin-top: calc(var(--spacing, 0.25rem) * 0.5);
1122
+ font-size: var(--text-xs, 0.75rem);
1123
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1124
+ color: var(--sph-text-muted);
969
1125
  line-height: 1.45;
970
1126
  }
971
- .sph-alert__dismiss {
1127
+ .sph-alert__dismiss {
972
1128
  margin-block: auto;
973
1129
  display: inline-flex;
974
- width: calc(var(--spacing) * 6);
975
- height: calc(var(--spacing) * 6);
1130
+ width: calc(var(--spacing, 0.25rem) * 6);
1131
+ height: calc(var(--spacing, 0.25rem) * 6);
976
1132
  flex-shrink: 0;
977
1133
  align-items: center;
978
1134
  justify-content: center;
979
- border-radius: var(--radius-sph-sm);
1135
+ border-radius: var(--sph-radius-sm);
980
1136
  border-style: var(--tw-border-style);
981
1137
  border-width: 0px;
982
1138
  background-color: transparent;
983
1139
  padding: 0px;
984
- color: var(--color-sph-text-muted);
1140
+ color: var(--sph-text-muted);
985
1141
  cursor: pointer;
986
1142
  }
987
- .sph-alert__dismiss:hover {
988
- background-color: var(--color-sph-raised);
989
- color: var(--color-sph-text);
1143
+ .sph-alert__dismiss:hover {
1144
+ background-color: var(--sph-raised);
1145
+ color: var(--sph-text);
990
1146
  }
991
- .sph-alert__dismiss:focus-visible {
1147
+ .sph-alert__dismiss:focus-visible {
992
1148
  outline: 2px solid var(--sph-focus);
993
1149
  outline-offset: 1px;
994
1150
  }
995
- .sph-select {
1151
+ .sph-select {
996
1152
  position: relative;
997
1153
  box-sizing: border-box;
998
- font-family: var(--font-sph-sans);
1154
+ font-family: var(--sph-font-sans);
999
1155
  }
1000
- .sph-select__trigger {
1156
+ .sph-select__trigger {
1001
1157
  display: flex;
1002
- height: calc(var(--spacing) * 9);
1158
+ height: calc(var(--spacing, 0.25rem) * 9);
1003
1159
  width: 100%;
1004
1160
  align-items: center;
1005
1161
  justify-content: space-between;
1006
- gap: calc(var(--spacing) * 3);
1007
- border-radius: var(--radius-sph-sm);
1008
- background-color: var(--color-sph-surface);
1009
- padding-inline: calc(var(--spacing) * 3);
1162
+ gap: calc(var(--spacing, 0.25rem) * 3);
1163
+ border-radius: var(--sph-radius-sm);
1164
+ background-color: var(--sph-surface);
1165
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
1010
1166
  text-align: left;
1011
- color: var(--color-sph-text);
1167
+ color: var(--sph-text);
1012
1168
  border: 0.5px solid var(--sph-border);
1013
1169
  @supports (color: color-mix(in lab, red, red)) {
1014
1170
  border: 0.5px solid color-mix(in srgb, var(--sph-border) 86%, transparent);
@@ -1017,24 +1173,24 @@
1017
1173
  font: 13px var(--sph-font-sans);
1018
1174
  transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard), box-shadow var(--sph-motion-fast) var(--sph-ease-standard);
1019
1175
  }
1020
- .sph-select[data-size="sm"] .sph-select__trigger {
1021
- height: calc(var(--spacing) * 8);
1176
+ .sph-select[data-size="sm"] .sph-select__trigger {
1177
+ height: calc(var(--spacing, 0.25rem) * 8);
1022
1178
  }
1023
- .sph-select[data-size="lg"] .sph-select__trigger {
1024
- height: calc(var(--spacing) * 10);
1179
+ .sph-select[data-size="lg"] .sph-select__trigger {
1180
+ height: calc(var(--spacing, 0.25rem) * 10);
1025
1181
  }
1026
- .sph-select__trigger:hover:not(:disabled) {
1182
+ .sph-select__trigger:hover:not(:disabled) {
1027
1183
  border-color: var(--sph-border-strong);
1028
1184
  }
1029
- .sph-select__trigger:active:not(:disabled) {
1030
- background-color: var(--color-sph-raised);
1185
+ .sph-select__trigger:active:not(:disabled) {
1186
+ background-color: var(--sph-raised);
1031
1187
  }
1032
- .sph-select__value {
1188
+ .sph-select__value {
1033
1189
  overflow: hidden;
1034
1190
  text-overflow: ellipsis;
1035
1191
  white-space: nowrap;
1036
1192
  }
1037
- .sph-select__caret {
1193
+ .sph-select__caret {
1038
1194
  width: 7px;
1039
1195
  height: 7px;
1040
1196
  border-right: 1.5px solid currentColor;
@@ -1042,213 +1198,213 @@
1042
1198
  transform: translateY(-2px) rotate(45deg);
1043
1199
  transition: transform var(--sph-motion-fast) var(--sph-ease-standard);
1044
1200
  }
1045
- .sph-select__trigger[aria-expanded="true"] .sph-select__caret {
1201
+ .sph-select__trigger[aria-expanded="true"] .sph-select__caret {
1046
1202
  transform: translateY(2px) rotate(225deg);
1047
1203
  }
1048
- .sph-select__trigger:disabled {
1204
+ .sph-select__trigger:disabled {
1049
1205
  opacity: 50%;
1050
1206
  cursor: not-allowed;
1051
1207
  }
1052
- .sph-select__trigger:focus-visible {
1208
+ .sph-select__trigger:focus-visible {
1053
1209
  outline: 2px solid var(--sph-focus);
1054
1210
  outline-offset: 2px;
1055
1211
  box-shadow: 0 0 0 4px var(--sph-focus-ring);
1056
1212
  }
1057
- .sph-select__listbox {
1213
+ .sph-select__listbox {
1058
1214
  position: absolute;
1059
1215
  left: 0px;
1060
1216
  z-index: 100;
1061
- max-height: calc(var(--spacing) * 60);
1217
+ max-height: calc(var(--spacing, 0.25rem) * 60);
1062
1218
  width: 100%;
1063
1219
  overflow: auto;
1064
- border-radius: var(--radius-sph-md);
1220
+ border-radius: var(--sph-radius-md);
1065
1221
  border-style: var(--tw-border-style);
1066
1222
  border-width: 1px;
1067
- border-color: var(--color-sph-border);
1068
- background-color: var(--color-sph-surface);
1069
- padding: var(--spacing);
1223
+ border-color: var(--sph-border);
1224
+ background-color: var(--sph-surface);
1225
+ padding: var(--spacing, 0.25rem);
1070
1226
  --tw-shadow: var(--sph-shadow-popover);
1071
1227
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1072
1228
  top: calc(100% + 4px);
1073
1229
  }
1074
- .sph-select__option {
1230
+ .sph-select__option {
1075
1231
  display: flex;
1076
1232
  width: 100%;
1077
1233
  align-items: center;
1078
1234
  justify-content: space-between;
1079
- gap: calc(var(--spacing) * 3);
1080
- border-radius: var(--radius-sph-xs);
1235
+ gap: calc(var(--spacing, 0.25rem) * 3);
1236
+ border-radius: var(--sph-radius-xs);
1081
1237
  border-style: var(--tw-border-style);
1082
1238
  border-width: 0px;
1083
1239
  background-color: transparent;
1084
- padding-inline: calc(var(--spacing) * 2.5);
1085
- padding-block: calc(var(--spacing) * 2);
1086
- color: var(--color-sph-text-muted);
1240
+ padding-inline: calc(var(--spacing, 0.25rem) * 2.5);
1241
+ padding-block: calc(var(--spacing, 0.25rem) * 2);
1242
+ color: var(--sph-text-muted);
1087
1243
  cursor: pointer;
1088
1244
  font: 13px var(--sph-font-sans);
1089
1245
  text-align: left;
1090
1246
  }
1091
- .sph-select__option[data-active="true"] {
1092
- background-color: var(--color-sph-raised);
1093
- color: var(--color-sph-text);
1247
+ .sph-select__option[data-active="true"] {
1248
+ background-color: var(--sph-raised);
1249
+ color: var(--sph-text);
1094
1250
  }
1095
- .sph-select__option:active:not(:disabled) {
1096
- background-color: var(--color-sph-accent-soft);
1251
+ .sph-select__option:active:not(:disabled) {
1252
+ background-color: var(--sph-accent-soft);
1097
1253
  }
1098
- .sph-select__option:disabled {
1254
+ .sph-select__option:disabled {
1099
1255
  opacity: 40%;
1100
1256
  cursor: not-allowed;
1101
1257
  }
1102
- .sph-select__check {
1258
+ .sph-select__check {
1103
1259
  width: 10px;
1104
1260
  height: 6px;
1105
1261
  border-left: 2px solid var(--sph-accent);
1106
1262
  border-bottom: 2px solid var(--sph-accent);
1107
1263
  transform: rotate(-45deg);
1108
1264
  }
1109
- @media (prefers-reduced-motion: reduce) {
1265
+ @media (prefers-reduced-motion: reduce) {
1110
1266
  .sph-select__trigger, .sph-select__caret {
1111
1267
  transition: none;
1112
1268
  }
1113
1269
  }
1114
- .sph-radio-group {
1270
+ .sph-radio-group {
1115
1271
  display: grid;
1116
1272
  min-width: 0px;
1117
- gap: calc(var(--spacing) * 2);
1273
+ gap: calc(var(--spacing, 0.25rem) * 2);
1118
1274
  border-style: var(--tw-border-style);
1119
1275
  border-width: 0px;
1120
1276
  padding: 0px;
1121
- font-family: var(--font-sph-sans);
1277
+ font-family: var(--sph-font-sans);
1122
1278
  }
1123
- .sph-radio-group__legend {
1279
+ .sph-radio-group__legend {
1124
1280
  padding: 0px;
1125
- font-size: var(--text-sm);
1126
- line-height: var(--tw-leading, var(--text-sm--line-height));
1127
- --tw-font-weight: var(--font-weight-medium);
1128
- font-weight: var(--font-weight-medium);
1129
- color: var(--color-sph-text);
1281
+ font-size: var(--text-sm, 0.875rem);
1282
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
1283
+ --tw-font-weight: var(--font-weight-medium, 500);
1284
+ font-weight: var(--font-weight-medium, 500);
1285
+ color: var(--sph-text);
1130
1286
  }
1131
- .sph-radio-group__description {
1287
+ .sph-radio-group__description {
1132
1288
  margin: 0px;
1133
- font-size: var(--text-xs);
1134
- line-height: var(--tw-leading, var(--text-xs--line-height));
1135
- color: var(--color-sph-text-muted);
1289
+ font-size: var(--text-xs, 0.75rem);
1290
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1291
+ color: var(--sph-text-muted);
1136
1292
  line-height: 1.4;
1137
1293
  }
1138
- .sph-radio-group__options {
1294
+ .sph-radio-group__options {
1139
1295
  display: grid;
1140
- gap: var(--spacing);
1296
+ gap: var(--spacing, 0.25rem);
1141
1297
  }
1142
- .sph-radio-group[data-orientation="horizontal"] .sph-radio-group__options {
1298
+ .sph-radio-group[data-orientation="horizontal"] .sph-radio-group__options {
1143
1299
  display: flex;
1144
1300
  flex-wrap: wrap;
1145
- column-gap: calc(var(--spacing) * 5);
1146
- row-gap: calc(var(--spacing) * 2);
1301
+ column-gap: calc(var(--spacing, 0.25rem) * 5);
1302
+ row-gap: calc(var(--spacing, 0.25rem) * 2);
1147
1303
  }
1148
- .sph-radio-group__option {
1304
+ .sph-radio-group__option {
1149
1305
  display: inline-flex;
1150
- min-height: calc(var(--spacing) * 9);
1306
+ min-height: calc(var(--spacing, 0.25rem) * 9);
1151
1307
  min-width: 0px;
1152
1308
  cursor: pointer;
1153
1309
  align-items: flex-start;
1154
- gap: calc(var(--spacing) * 2);
1155
- font-size: var(--text-sm);
1156
- line-height: var(--tw-leading, var(--text-sm--line-height));
1157
- color: var(--color-sph-text);
1310
+ gap: calc(var(--spacing, 0.25rem) * 2);
1311
+ font-size: var(--text-sm, 0.875rem);
1312
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
1313
+ color: var(--sph-text);
1158
1314
  }
1159
- .sph-radio-group[data-size="sm"] .sph-radio-group__option {
1160
- min-height: calc(var(--spacing) * 8);
1161
- font-size: var(--text-xs);
1162
- line-height: var(--tw-leading, var(--text-xs--line-height));
1315
+ .sph-radio-group[data-size="sm"] .sph-radio-group__option {
1316
+ min-height: calc(var(--spacing, 0.25rem) * 8);
1317
+ font-size: var(--text-xs, 0.75rem);
1318
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1163
1319
  }
1164
- .sph-radio-group[data-size="lg"] .sph-radio-group__option {
1165
- min-height: calc(var(--spacing) * 10);
1320
+ .sph-radio-group[data-size="lg"] .sph-radio-group__option {
1321
+ min-height: calc(var(--spacing, 0.25rem) * 10);
1166
1322
  }
1167
- .sph-radio-group__option input {
1323
+ .sph-radio-group__option input {
1168
1324
  position: absolute;
1169
1325
  opacity: 0;
1170
1326
  pointer-events: none;
1171
1327
  }
1172
- .sph-radio-group__control {
1173
- margin-top: calc(var(--spacing) * 0.5);
1328
+ .sph-radio-group__control {
1329
+ margin-top: calc(var(--spacing, 0.25rem) * 0.5);
1174
1330
  box-sizing: border-box;
1175
1331
  display: inline-flex;
1176
- width: calc(var(--spacing) * 4);
1177
- height: calc(var(--spacing) * 4);
1332
+ width: calc(var(--spacing, 0.25rem) * 4);
1333
+ height: calc(var(--spacing, 0.25rem) * 4);
1178
1334
  flex-shrink: 0;
1179
1335
  align-items: center;
1180
1336
  justify-content: center;
1181
1337
  border-radius: calc(infinity * 1px);
1182
1338
  border-style: var(--tw-border-style);
1183
1339
  border-width: 1px;
1184
- border-color: var(--color-sph-border);
1185
- background-color: var(--color-sph-surface);
1340
+ border-color: var(--sph-border);
1341
+ background-color: var(--sph-surface);
1186
1342
  transition: border-color var(--sph-motion-fast) var(--sph-ease-standard), background-color var(--sph-motion-fast) var(--sph-ease-standard), transform var(--sph-motion-fast) var(--sph-ease-emphasis);
1187
1343
  }
1188
- .sph-radio-group[data-size="sm"] .sph-radio-group__control {
1189
- width: calc(var(--spacing) * 3.5);
1190
- height: calc(var(--spacing) * 3.5);
1344
+ .sph-radio-group[data-size="sm"] .sph-radio-group__control {
1345
+ width: calc(var(--spacing, 0.25rem) * 3.5);
1346
+ height: calc(var(--spacing, 0.25rem) * 3.5);
1191
1347
  }
1192
- .sph-radio-group[data-size="lg"] .sph-radio-group__control {
1193
- width: calc(var(--spacing) * 5);
1194
- height: calc(var(--spacing) * 5);
1348
+ .sph-radio-group[data-size="lg"] .sph-radio-group__control {
1349
+ width: calc(var(--spacing, 0.25rem) * 5);
1350
+ height: calc(var(--spacing, 0.25rem) * 5);
1195
1351
  }
1196
- .sph-radio-group__option input:checked + .sph-radio-group__control {
1197
- border-color: var(--color-sph-accent);
1352
+ .sph-radio-group__option input:checked + .sph-radio-group__control {
1353
+ border-color: var(--sph-accent);
1198
1354
  box-shadow: inset 0 0 0 3.5px var(--sph-surface), inset 0 0 0 8px var(--sph-accent);
1199
1355
  }
1200
- .sph-radio-group__option:hover:not([data-disabled="true"]) .sph-radio-group__control {
1356
+ .sph-radio-group__option:hover:not([data-disabled="true"]) .sph-radio-group__control {
1201
1357
  border-color: var(--sph-border-strong);
1202
1358
  }
1203
- .sph-radio-group__option input:focus-visible + .sph-radio-group__control {
1359
+ .sph-radio-group__option input:focus-visible + .sph-radio-group__control {
1204
1360
  outline: 2px solid var(--sph-focus);
1205
1361
  outline-offset: 2px;
1206
1362
  }
1207
- .sph-radio-group__option input:active + .sph-radio-group__control {
1363
+ .sph-radio-group__option input:active + .sph-radio-group__control {
1208
1364
  transform: scale(0.92);
1209
1365
  }
1210
- .sph-radio-group__option[data-disabled="true"], .sph-radio-group[disabled] .sph-radio-group__option {
1366
+ .sph-radio-group__option[data-disabled="true"], .sph-radio-group[disabled] .sph-radio-group__option {
1211
1367
  cursor: not-allowed;
1212
1368
  opacity: 50%;
1213
1369
  }
1214
- .sph-radio-group__content {
1370
+ .sph-radio-group__content {
1215
1371
  display: grid;
1216
1372
  min-width: 0px;
1217
- gap: calc(var(--spacing) * 0.5);
1373
+ gap: calc(var(--spacing, 0.25rem) * 0.5);
1218
1374
  }
1219
- .sph-radio-group__label {
1220
- --tw-leading: calc(var(--spacing) * 5);
1221
- line-height: calc(var(--spacing) * 5);
1375
+ .sph-radio-group__label {
1376
+ --tw-leading: calc(var(--spacing, 0.25rem) * 5);
1377
+ line-height: calc(var(--spacing, 0.25rem) * 5);
1222
1378
  }
1223
- .sph-radio-group__option-description {
1224
- font-size: var(--text-xs);
1225
- line-height: var(--tw-leading, var(--text-xs--line-height));
1226
- color: var(--color-sph-text-muted);
1379
+ .sph-radio-group__option-description {
1380
+ font-size: var(--text-xs, 0.75rem);
1381
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1382
+ color: var(--sph-text-muted);
1227
1383
  line-height: 1.35;
1228
1384
  }
1229
- @media (prefers-reduced-motion: reduce) {
1385
+ @media (prefers-reduced-motion: reduce) {
1230
1386
  .sph-radio-group__control {
1231
1387
  transition: none;
1232
1388
  }
1233
1389
  }
1234
- .sph-tabs {
1390
+ .sph-tabs {
1235
1391
  min-width: 0px;
1236
- font-family: var(--font-sph-sans);
1392
+ font-family: var(--sph-font-sans);
1237
1393
  }
1238
- .sph-tabs__list {
1394
+ .sph-tabs__list {
1239
1395
  display: flex;
1240
1396
  min-width: 0px;
1241
- gap: var(--spacing);
1397
+ gap: var(--spacing, 0.25rem);
1242
1398
  border-bottom-style: var(--tw-border-style);
1243
1399
  border-bottom-width: 1px;
1244
- border-color: var(--color-sph-border);
1400
+ border-color: var(--sph-border);
1245
1401
  }
1246
- .sph-tabs[data-orientation="vertical"] {
1402
+ .sph-tabs[data-orientation="vertical"] {
1247
1403
  display: flex;
1248
- gap: calc(var(--spacing) * 4);
1404
+ gap: calc(var(--spacing, 0.25rem) * 4);
1249
1405
  }
1250
- .sph-tabs[data-orientation="vertical"] .sph-tabs__list {
1251
- width: calc(var(--spacing) * 40);
1406
+ .sph-tabs[data-orientation="vertical"] .sph-tabs__list {
1407
+ width: calc(var(--spacing, 0.25rem) * 40);
1252
1408
  flex-shrink: 0;
1253
1409
  flex-direction: column;
1254
1410
  border-right-style: var(--tw-border-style);
@@ -1256,32 +1412,32 @@
1256
1412
  border-bottom-style: var(--tw-border-style);
1257
1413
  border-bottom-width: 0px;
1258
1414
  }
1259
- .sph-tabs__tab {
1415
+ .sph-tabs__tab {
1260
1416
  position: relative;
1261
- min-height: calc(var(--spacing) * 9);
1417
+ min-height: calc(var(--spacing, 0.25rem) * 9);
1262
1418
  flex-shrink: 0;
1263
- border-radius: var(--radius-sph-sm);
1419
+ border-radius: var(--sph-radius-sm);
1264
1420
  border-style: var(--tw-border-style);
1265
1421
  border-width: 0px;
1266
1422
  background-color: transparent;
1267
- padding-inline: calc(var(--spacing) * 3);
1268
- font-size: var(--text-xs);
1269
- line-height: var(--tw-leading, var(--text-xs--line-height));
1270
- --tw-font-weight: var(--font-weight-medium);
1271
- font-weight: var(--font-weight-medium);
1272
- color: var(--color-sph-text-muted);
1423
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
1424
+ font-size: var(--text-xs, 0.75rem);
1425
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1426
+ --tw-font-weight: var(--font-weight-medium, 500);
1427
+ font-weight: var(--font-weight-medium, 500);
1428
+ color: var(--sph-text-muted);
1273
1429
  cursor: pointer;
1274
1430
  font-family: var(--sph-font-sans);
1275
1431
  transition: background-color var(--sph-motion-fast) var(--sph-ease-standard), color var(--sph-motion-fast) var(--sph-ease-standard);
1276
1432
  }
1277
- .sph-tabs__tab:hover:not(:disabled) {
1278
- background-color: var(--color-sph-raised);
1279
- color: var(--color-sph-text);
1433
+ .sph-tabs__tab:hover:not(:disabled) {
1434
+ background-color: var(--sph-raised);
1435
+ color: var(--sph-text);
1280
1436
  }
1281
- .sph-tabs__tab[data-selected="true"] {
1282
- color: var(--color-sph-text);
1437
+ .sph-tabs__tab[data-selected="true"] {
1438
+ color: var(--sph-text);
1283
1439
  }
1284
- .sph-tabs__tab[data-selected="true"]::after {
1440
+ .sph-tabs__tab[data-selected="true"]::after {
1285
1441
  content: "";
1286
1442
  position: absolute;
1287
1443
  bottom: -1px;
@@ -1291,17 +1447,17 @@
1291
1447
  border-radius: 2px;
1292
1448
  background: var(--sph-accent);
1293
1449
  transition-property: all;
1294
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1295
- transition-duration: var(--tw-duration, var(--default-transition-duration));
1450
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));
1451
+ transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));
1296
1452
  --tw-duration: 200ms;
1297
1453
  transition-duration: 200ms;
1298
- --tw-ease: var(--ease-in-out);
1299
- transition-timing-function: var(--ease-in-out);
1454
+ --tw-ease: var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1));
1455
+ transition-timing-function: var(--ease-in-out, cubic-bezier(0.4, 0, 0.2, 1));
1300
1456
  }
1301
- .sph-tabs[data-orientation="vertical"] .sph-tabs__tab {
1457
+ .sph-tabs[data-orientation="vertical"] .sph-tabs__tab {
1302
1458
  text-align: left;
1303
1459
  }
1304
- .sph-tabs[data-orientation="vertical"] .sph-tabs__tab[data-selected="true"]::after {
1460
+ .sph-tabs[data-orientation="vertical"] .sph-tabs__tab[data-selected="true"]::after {
1305
1461
  top: 7px;
1306
1462
  right: -1px;
1307
1463
  bottom: 7px;
@@ -1310,128 +1466,128 @@
1310
1466
  height: auto;
1311
1467
  border-radius: 2px 0 0 2px;
1312
1468
  }
1313
- .sph-tabs__tab:disabled {
1469
+ .sph-tabs__tab:disabled {
1314
1470
  opacity: 40%;
1315
1471
  cursor: not-allowed;
1316
1472
  }
1317
- .sph-tabs__tab:focus-visible {
1473
+ .sph-tabs__tab:focus-visible {
1318
1474
  outline: 2px solid var(--sph-focus);
1319
1475
  outline-offset: -2px;
1320
1476
  }
1321
- .sph-tabs__panel {
1477
+ .sph-tabs__panel {
1322
1478
  min-width: 0px;
1323
- padding-top: calc(var(--spacing) * 4);
1479
+ padding-top: calc(var(--spacing, 0.25rem) * 4);
1324
1480
  color: var(--sph-text);
1325
1481
  }
1326
- @media (prefers-reduced-motion: reduce) {
1482
+ @media (prefers-reduced-motion: reduce) {
1327
1483
  .sph-tabs__tab {
1328
1484
  transition: none;
1329
1485
  }
1330
1486
  }
1331
- .sph-menu {
1487
+ .sph-menu {
1332
1488
  position: relative;
1333
1489
  display: inline-flex;
1334
- font-family: var(--font-sph-sans);
1490
+ font-family: var(--sph-font-sans);
1335
1491
  }
1336
- .sph-menu__trigger {
1492
+ .sph-menu__trigger {
1337
1493
  display: inline-flex;
1338
1494
  align-items: center;
1339
1495
  justify-content: center;
1340
- border-radius: var(--radius-sph-sm);
1496
+ border-radius: var(--sph-radius-sm);
1341
1497
  border-style: var(--tw-border-style);
1342
1498
  border-width: 0px;
1343
1499
  background-color: transparent;
1344
1500
  padding: 0px;
1345
- color: var(--color-sph-text);
1501
+ color: var(--sph-text);
1346
1502
  cursor: pointer;
1347
1503
  font: inherit;
1348
1504
  }
1349
- .sph-menu__trigger:focus-visible {
1505
+ .sph-menu__trigger:focus-visible {
1350
1506
  outline: 2px solid var(--sph-focus);
1351
1507
  outline-offset: 2px;
1352
1508
  }
1353
- .sph-menu__trigger:disabled {
1509
+ .sph-menu__trigger:disabled {
1354
1510
  opacity: 45%;
1355
1511
  cursor: not-allowed;
1356
1512
  }
1357
- .sph-menu__content {
1513
+ .sph-menu__content {
1358
1514
  position: absolute;
1359
1515
  top: calc(100% + 4px);
1360
1516
  z-index: 110;
1361
1517
  display: grid;
1362
- min-width: calc(var(--spacing) * 44);
1363
- gap: calc(var(--spacing) * 0.5);
1364
- border-radius: var(--radius-sph-md);
1518
+ min-width: calc(var(--spacing, 0.25rem) * 44);
1519
+ gap: calc(var(--spacing, 0.25rem) * 0.5);
1520
+ border-radius: var(--sph-radius-md);
1365
1521
  border-style: var(--tw-border-style);
1366
1522
  border-width: 1px;
1367
- border-color: var(--color-sph-border);
1368
- background-color: var(--color-sph-surface);
1369
- padding: var(--spacing);
1523
+ border-color: var(--sph-border);
1524
+ background-color: var(--sph-surface);
1525
+ padding: var(--spacing, 0.25rem);
1370
1526
  --tw-shadow: var(--sph-shadow-popover);
1371
1527
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1372
1528
  }
1373
- .sph-menu__content[data-align="end"] {
1529
+ .sph-menu__content[data-align="end"] {
1374
1530
  right: 0px;
1375
1531
  }
1376
- .sph-menu__item {
1532
+ .sph-menu__item {
1377
1533
  display: flex;
1378
- min-height: calc(var(--spacing) * 8);
1534
+ min-height: calc(var(--spacing, 0.25rem) * 8);
1379
1535
  width: 100%;
1380
1536
  align-items: center;
1381
1537
  justify-content: space-between;
1382
- gap: calc(var(--spacing) * 4);
1383
- border-radius: var(--radius-sph-sm);
1538
+ gap: calc(var(--spacing, 0.25rem) * 4);
1539
+ border-radius: var(--sph-radius-sm);
1384
1540
  border-style: var(--tw-border-style);
1385
1541
  border-width: 0px;
1386
1542
  background-color: transparent;
1387
- padding-inline: calc(var(--spacing) * 2.5);
1543
+ padding-inline: calc(var(--spacing, 0.25rem) * 2.5);
1388
1544
  text-align: left;
1389
- font-size: var(--text-xs);
1390
- line-height: var(--tw-leading, var(--text-xs--line-height));
1391
- color: var(--color-sph-text-muted);
1545
+ font-size: var(--text-xs, 0.75rem);
1546
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1547
+ color: var(--sph-text-muted);
1392
1548
  cursor: pointer;
1393
1549
  font-family: var(--sph-font-sans);
1394
1550
  }
1395
- .sph-menu__item:hover:not(:disabled) {
1396
- background-color: var(--color-sph-raised);
1397
- color: var(--color-sph-text);
1551
+ .sph-menu__item:hover:not(:disabled) {
1552
+ background-color: var(--sph-raised);
1553
+ color: var(--sph-text);
1398
1554
  }
1399
- .sph-menu__item:active:not(:disabled) {
1400
- background-color: var(--color-sph-accent-soft);
1555
+ .sph-menu__item:active:not(:disabled) {
1556
+ background-color: var(--sph-accent-soft);
1401
1557
  }
1402
- .sph-menu__item:focus-visible {
1558
+ .sph-menu__item:focus-visible {
1403
1559
  outline: 2px solid var(--sph-focus);
1404
1560
  outline-offset: -2px;
1405
1561
  }
1406
- .sph-menu__item[data-danger="true"] {
1562
+ .sph-menu__item[data-danger="true"] {
1407
1563
  color: var(--sph-danger);
1408
1564
  }
1409
- .sph-menu__item:disabled {
1565
+ .sph-menu__item:disabled {
1410
1566
  opacity: 40%;
1411
1567
  cursor: not-allowed;
1412
1568
  }
1413
- .sph-menu__item-label {
1569
+ .sph-menu__item-label {
1414
1570
  display: inline-flex;
1415
1571
  min-width: 0px;
1416
1572
  align-items: center;
1417
- gap: calc(var(--spacing) * 2);
1573
+ gap: calc(var(--spacing, 0.25rem) * 2);
1418
1574
  }
1419
- .sph-menu__shortcut {
1575
+ .sph-menu__shortcut {
1420
1576
  font-size: 11px;
1421
- color: var(--color-sph-text-muted);
1577
+ color: var(--sph-text-muted);
1422
1578
  }
1423
- .sph-menu__separator {
1424
- margin-block: var(--spacing);
1579
+ .sph-menu__separator {
1580
+ margin-block: var(--spacing, 0.25rem);
1425
1581
  height: 1px;
1426
- background-color: var(--color-sph-border);
1582
+ background-color: var(--sph-border);
1427
1583
  }
1428
- .sph-popover {
1584
+ .sph-popover {
1429
1585
  position: relative;
1430
1586
  display: inline-flex;
1431
1587
  min-width: 0px;
1432
- font-family: var(--font-sph-sans);
1588
+ font-family: var(--sph-font-sans);
1433
1589
  }
1434
- .sph-popover__trigger {
1590
+ .sph-popover__trigger {
1435
1591
  display: inline-flex;
1436
1592
  min-width: 0px;
1437
1593
  align-items: center;
@@ -1440,41 +1596,41 @@
1440
1596
  border-width: 0px;
1441
1597
  background-color: transparent;
1442
1598
  padding: 0px;
1443
- color: var(--color-sph-text);
1599
+ color: var(--sph-text);
1444
1600
  cursor: pointer;
1445
1601
  font: inherit;
1446
1602
  }
1447
- .sph-popover__trigger:focus-visible {
1603
+ .sph-popover__trigger:focus-visible {
1448
1604
  outline: 2px solid var(--sph-focus);
1449
1605
  outline-offset: 2px;
1450
1606
  }
1451
- .sph-popover__trigger:disabled {
1607
+ .sph-popover__trigger:disabled {
1452
1608
  opacity: 45%;
1453
1609
  cursor: not-allowed;
1454
1610
  }
1455
- .sph-popover__content {
1611
+ .sph-popover__content {
1456
1612
  position: absolute;
1457
1613
  top: calc(100% + 6px);
1458
1614
  z-index: 105;
1459
1615
  max-width: min(26rem, calc(100vw - 2rem));
1460
- min-width: calc(var(--spacing) * 48);
1461
- border-radius: var(--radius-sph-md);
1616
+ min-width: calc(var(--spacing, 0.25rem) * 48);
1617
+ border-radius: var(--sph-radius-md);
1462
1618
  border-style: var(--tw-border-style);
1463
1619
  border-width: 1px;
1464
- border-color: var(--color-sph-border);
1465
- background-color: var(--color-sph-surface);
1466
- padding: calc(var(--spacing) * 4);
1467
- font-size: var(--text-sm);
1468
- line-height: var(--tw-leading, var(--text-sm--line-height));
1469
- color: var(--color-sph-text);
1620
+ border-color: var(--sph-border);
1621
+ background-color: var(--sph-surface);
1622
+ padding: calc(var(--spacing, 0.25rem) * 4);
1623
+ font-size: var(--text-sm, 0.875rem);
1624
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
1625
+ color: var(--sph-text);
1470
1626
  --tw-shadow: var(--sph-shadow-popover);
1471
1627
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1472
1628
  animation: sph-popover-in var(--sph-motion-fast) var(--sph-ease-emphasis) both;
1473
1629
  }
1474
- .sph-popover__content[data-placement="end"] {
1630
+ .sph-popover__content[data-placement="end"] {
1475
1631
  right: 0px;
1476
1632
  }
1477
- @keyframes sph-popover-in {
1633
+ @keyframes sph-popover-in {
1478
1634
  from {
1479
1635
  opacity: 0;
1480
1636
  transform: translateY(-3px) scale(0.98);
@@ -1484,34 +1640,34 @@
1484
1640
  transform: translateY(0) scale(1);
1485
1641
  }
1486
1642
  }
1487
- @media (prefers-reduced-motion: reduce) {
1643
+ @media (prefers-reduced-motion: reduce) {
1488
1644
  .sph-popover__content {
1489
1645
  animation: none;
1490
1646
  }
1491
1647
  }
1492
- .sph-tooltip {
1648
+ .sph-tooltip {
1493
1649
  position: relative;
1494
1650
  display: inline-flex;
1495
- font-family: var(--font-sph-sans);
1651
+ font-family: var(--sph-font-sans);
1496
1652
  }
1497
- .sph-tooltip__trigger {
1653
+ .sph-tooltip__trigger {
1498
1654
  display: inline-flex;
1499
1655
  min-width: 0px;
1500
1656
  }
1501
- .sph-tooltip__content {
1657
+ .sph-tooltip__content {
1502
1658
  pointer-events: none;
1503
1659
  position: absolute;
1504
1660
  z-index: 140;
1505
- border-radius: var(--radius-sph-sm);
1661
+ border-radius: var(--sph-radius-sm);
1506
1662
  border-style: var(--tw-border-style);
1507
1663
  border-width: 1px;
1508
- border-color: var(--color-sph-border);
1509
- background-color: var(--color-sph-raised);
1510
- padding-inline: calc(var(--spacing) * 2.5);
1511
- padding-block: calc(var(--spacing) * 1.5);
1512
- font-size: var(--text-xs);
1513
- line-height: var(--tw-leading, var(--text-xs--line-height));
1514
- color: var(--color-sph-text);
1664
+ border-color: var(--sph-border);
1665
+ background-color: var(--sph-raised);
1666
+ padding-inline: calc(var(--spacing, 0.25rem) * 2.5);
1667
+ padding-block: calc(var(--spacing, 0.25rem) * 1.5);
1668
+ font-size: var(--text-xs, 0.75rem);
1669
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1670
+ color: var(--sph-text);
1515
1671
  --tw-shadow: var(--sph-shadow-popover);
1516
1672
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1517
1673
  width: max-content;
@@ -1519,30 +1675,30 @@
1519
1675
  white-space: normal;
1520
1676
  animation: sph-tooltip-in var(--sph-motion-fast) var(--sph-ease-emphasis) both;
1521
1677
  }
1522
- .sph-tooltip__content[hidden] {
1678
+ .sph-tooltip__content[hidden] {
1523
1679
  display: none;
1524
1680
  }
1525
- .sph-tooltip__content[data-side="top"] {
1681
+ .sph-tooltip__content[data-side="top"] {
1526
1682
  bottom: calc(100% + 6px);
1527
1683
  left: 50%;
1528
1684
  transform: translateX(-50%);
1529
1685
  }
1530
- .sph-tooltip__content[data-side="bottom"] {
1686
+ .sph-tooltip__content[data-side="bottom"] {
1531
1687
  left: 50%;
1532
1688
  top: calc(100% + 6px);
1533
1689
  transform: translateX(-50%);
1534
1690
  }
1535
- .sph-tooltip__content[data-side="left"] {
1691
+ .sph-tooltip__content[data-side="left"] {
1536
1692
  right: calc(100% + 6px);
1537
1693
  top: 50%;
1538
1694
  transform: translateY(-50%);
1539
1695
  }
1540
- .sph-tooltip__content[data-side="right"] {
1696
+ .sph-tooltip__content[data-side="right"] {
1541
1697
  left: calc(100% + 6px);
1542
1698
  top: 50%;
1543
1699
  transform: translateY(-50%);
1544
1700
  }
1545
- @keyframes sph-tooltip-in {
1701
+ @keyframes sph-tooltip-in {
1546
1702
  from {
1547
1703
  opacity: 0;
1548
1704
  }
@@ -1550,12 +1706,12 @@
1550
1706
  opacity: 1;
1551
1707
  }
1552
1708
  }
1553
- @media (prefers-reduced-motion: reduce) {
1709
+ @media (prefers-reduced-motion: reduce) {
1554
1710
  .sph-tooltip__content {
1555
1711
  animation: none;
1556
1712
  }
1557
1713
  }
1558
- .sph-dialog__backdrop {
1714
+ .sph-dialog__backdrop {
1559
1715
  position: fixed;
1560
1716
  inset: 0px;
1561
1717
  z-index: 200;
@@ -1564,100 +1720,100 @@
1564
1720
  justify-content: center;
1565
1721
  background-color: color-mix(in srgb, #000 55%, transparent);
1566
1722
  @supports (color: color-mix(in lab, red, red)) {
1567
- background-color: color-mix(in oklab, var(--color-black) 55%, transparent);
1723
+ background-color: color-mix(in oklab, var(--color-black, #000) 55%, transparent);
1568
1724
  }
1569
- padding: calc(var(--spacing) * 4);
1725
+ padding: calc(var(--spacing, 0.25rem) * 4);
1570
1726
  animation: sph-dialog-fade var(--sph-motion-normal) var(--sph-ease-standard) both;
1571
1727
  }
1572
- .sph-dialog {
1728
+ .sph-dialog {
1573
1729
  display: grid;
1574
1730
  max-height: min(42rem, calc(100vh - 2rem));
1575
1731
  width: 100%;
1576
- max-width: var(--container-lg);
1732
+ max-width: var(--container-lg, 32rem);
1577
1733
  overflow: auto;
1578
- border-radius: var(--radius-sph-md);
1734
+ border-radius: var(--sph-radius-md);
1579
1735
  border-style: var(--tw-border-style);
1580
1736
  border-width: 1px;
1581
- border-color: var(--color-sph-border);
1582
- background-color: var(--color-sph-surface);
1583
- color: var(--color-sph-text);
1737
+ border-color: var(--sph-border);
1738
+ background-color: var(--sph-surface);
1739
+ color: var(--sph-text);
1584
1740
  --tw-shadow: var(--sph-shadow-popover);
1585
1741
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1586
1742
  animation: sph-dialog-in var(--sph-motion-normal) var(--sph-ease-emphasis) both;
1587
1743
  font-family: var(--sph-font-sans);
1588
1744
  }
1589
- .sph-dialog__header {
1745
+ .sph-dialog__header {
1590
1746
  display: flex;
1591
1747
  align-items: flex-start;
1592
1748
  justify-content: space-between;
1593
- gap: calc(var(--spacing) * 4);
1749
+ gap: calc(var(--spacing, 0.25rem) * 4);
1594
1750
  border-bottom-style: var(--tw-border-style);
1595
1751
  border-bottom-width: 1px;
1596
- border-color: var(--color-sph-border);
1597
- padding-inline: calc(var(--spacing) * 5);
1598
- padding-block: calc(var(--spacing) * 4);
1752
+ border-color: var(--sph-border);
1753
+ padding-inline: calc(var(--spacing, 0.25rem) * 5);
1754
+ padding-block: calc(var(--spacing, 0.25rem) * 4);
1599
1755
  }
1600
- .sph-dialog__heading {
1756
+ .sph-dialog__heading {
1601
1757
  display: grid;
1602
1758
  min-width: 0px;
1603
- gap: var(--spacing);
1759
+ gap: var(--spacing, 0.25rem);
1604
1760
  }
1605
- .sph-dialog__title {
1761
+ .sph-dialog__title {
1606
1762
  margin: 0px;
1607
- font-size: var(--text-base);
1608
- line-height: var(--tw-leading, var(--text-base--line-height));
1609
- --tw-font-weight: var(--font-weight-semibold);
1610
- font-weight: var(--font-weight-semibold);
1763
+ font-size: var(--text-base, 1rem);
1764
+ line-height: var(--tw-leading, var(--text-base--line-height, calc(1.5 / 1)));
1765
+ --tw-font-weight: var(--font-weight-semibold, 600);
1766
+ font-weight: var(--font-weight-semibold, 600);
1611
1767
  line-height: 1.3;
1612
1768
  }
1613
- .sph-dialog__description {
1769
+ .sph-dialog__description {
1614
1770
  margin: 0px;
1615
- font-size: var(--text-xs);
1616
- line-height: var(--tw-leading, var(--text-xs--line-height));
1617
- color: var(--color-sph-text-muted);
1771
+ font-size: var(--text-xs, 0.75rem);
1772
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1773
+ color: var(--sph-text-muted);
1618
1774
  line-height: 1.45;
1619
1775
  }
1620
- .sph-dialog__close {
1776
+ .sph-dialog__close {
1621
1777
  display: inline-flex;
1622
- width: calc(var(--spacing) * 7);
1623
- height: calc(var(--spacing) * 7);
1778
+ width: calc(var(--spacing, 0.25rem) * 7);
1779
+ height: calc(var(--spacing, 0.25rem) * 7);
1624
1780
  flex-shrink: 0;
1625
1781
  align-items: center;
1626
1782
  justify-content: center;
1627
- border-radius: var(--radius-sph-sm);
1783
+ border-radius: var(--sph-radius-sm);
1628
1784
  border-style: var(--tw-border-style);
1629
1785
  border-width: 0px;
1630
1786
  background-color: transparent;
1631
1787
  padding: 0px;
1632
- color: var(--color-sph-text-muted);
1788
+ color: var(--sph-text-muted);
1633
1789
  cursor: pointer;
1634
1790
  }
1635
- .sph-dialog__close:hover {
1636
- background-color: var(--color-sph-raised);
1637
- color: var(--color-sph-text);
1791
+ .sph-dialog__close:hover {
1792
+ background-color: var(--sph-raised);
1793
+ color: var(--sph-text);
1638
1794
  }
1639
- .sph-dialog__close:focus-visible {
1795
+ .sph-dialog__close:focus-visible {
1640
1796
  outline: 2px solid var(--sph-focus);
1641
1797
  outline-offset: 1px;
1642
1798
  }
1643
- .sph-dialog__content {
1799
+ .sph-dialog__content {
1644
1800
  min-width: 0px;
1645
- padding-inline: calc(var(--spacing) * 5);
1646
- padding-block: calc(var(--spacing) * 5);
1801
+ padding-inline: calc(var(--spacing, 0.25rem) * 5);
1802
+ padding-block: calc(var(--spacing, 0.25rem) * 5);
1647
1803
  }
1648
- .sph-dialog__footer {
1804
+ .sph-dialog__footer {
1649
1805
  display: flex;
1650
1806
  flex-wrap: wrap;
1651
1807
  align-items: center;
1652
1808
  justify-content: flex-end;
1653
- gap: calc(var(--spacing) * 2);
1809
+ gap: calc(var(--spacing, 0.25rem) * 2);
1654
1810
  border-top-style: var(--tw-border-style);
1655
1811
  border-top-width: 1px;
1656
- border-color: var(--color-sph-border);
1657
- padding-inline: calc(var(--spacing) * 5);
1658
- padding-block: calc(var(--spacing) * 3.5);
1812
+ border-color: var(--sph-border);
1813
+ padding-inline: calc(var(--spacing, 0.25rem) * 5);
1814
+ padding-block: calc(var(--spacing, 0.25rem) * 3.5);
1659
1815
  }
1660
- @keyframes sph-dialog-fade {
1816
+ @keyframes sph-dialog-fade {
1661
1817
  from {
1662
1818
  opacity: 0;
1663
1819
  }
@@ -1665,7 +1821,7 @@
1665
1821
  opacity: 1;
1666
1822
  }
1667
1823
  }
1668
- @keyframes sph-dialog-in {
1824
+ @keyframes sph-dialog-in {
1669
1825
  from {
1670
1826
  opacity: 0;
1671
1827
  transform: translateY(8px) scale(0.98);
@@ -1675,18 +1831,18 @@
1675
1831
  transform: translateY(0) scale(1);
1676
1832
  }
1677
1833
  }
1678
- @media (prefers-reduced-motion: reduce) {
1834
+ @media (prefers-reduced-motion: reduce) {
1679
1835
  .sph-dialog__backdrop, .sph-dialog {
1680
1836
  animation: none;
1681
1837
  }
1682
1838
  }
1683
- [data-sonner-toaster].sph-toast-viewport {
1839
+ [data-sonner-toaster].sph-toast-viewport {
1684
1840
  --width: min(380px, calc(100vw - 32px));
1685
1841
  --offset-right: 16px;
1686
1842
  --offset-bottom: 16px;
1687
1843
  font-family: var(--sph-font-sans);
1688
1844
  }
1689
- [data-sonner-toast].sph-toast {
1845
+ [data-sonner-toast].sph-toast {
1690
1846
  box-sizing: border-box;
1691
1847
  display: grid;
1692
1848
  grid-template-columns: 40px minmax(0, 1fr) auto;
@@ -1703,29 +1859,29 @@
1703
1859
  box-shadow: 0 14px 32px rgb(0 0 0 / 0.18);
1704
1860
  font-family: var(--sph-font-sans);
1705
1861
  }
1706
- [data-sonner-toast].sph-toast[data-type="success"] {
1862
+ [data-sonner-toast].sph-toast[data-type="success"] {
1707
1863
  --sph-toast-tone: var(--sph-success);
1708
1864
  --sph-toast-tone-soft: var(--sph-success-soft);
1709
1865
  }
1710
- [data-sonner-toast].sph-toast[data-type="info"] {
1866
+ [data-sonner-toast].sph-toast[data-type="info"] {
1711
1867
  --sph-toast-tone: var(--sph-accent);
1712
1868
  --sph-toast-tone-soft: var(--sph-accent-soft);
1713
1869
  }
1714
- [data-sonner-toast].sph-toast[data-type="warning"] {
1870
+ [data-sonner-toast].sph-toast[data-type="warning"] {
1715
1871
  --sph-toast-tone: var(--sph-warning);
1716
1872
  --sph-toast-tone-soft: var(--sph-warning-soft);
1717
1873
  }
1718
- [data-sonner-toast].sph-toast[data-type="error"] {
1874
+ [data-sonner-toast].sph-toast[data-type="error"] {
1719
1875
  --sph-toast-tone: var(--sph-danger);
1720
1876
  --sph-toast-tone-soft: var(--sph-danger-soft);
1721
1877
  }
1722
- [data-sonner-toast].sph-toast [data-icon] {
1878
+ [data-sonner-toast].sph-toast [data-icon] {
1723
1879
  display: flex;
1724
- width: calc(var(--spacing) * 10);
1725
- height: calc(var(--spacing) * 10);
1880
+ width: calc(var(--spacing, 0.25rem) * 10);
1881
+ height: calc(var(--spacing, 0.25rem) * 10);
1726
1882
  align-items: center;
1727
1883
  justify-content: center;
1728
- border-radius: var(--radius-sph-md);
1884
+ border-radius: var(--sph-radius-md);
1729
1885
  grid-column: 1;
1730
1886
  grid-row: 1;
1731
1887
  align-self: center;
@@ -1733,77 +1889,77 @@
1733
1889
  background: var(--sph-toast-tone-soft, var(--sph-raised));
1734
1890
  color: var(--sph-toast-tone, var(--sph-text-muted));
1735
1891
  }
1736
- .sph-toast__status-icon {
1892
+ .sph-toast__status-icon {
1737
1893
  display: flex;
1738
- width: calc(var(--spacing) * 5);
1739
- height: calc(var(--spacing) * 5);
1894
+ width: calc(var(--spacing, 0.25rem) * 5);
1895
+ height: calc(var(--spacing, 0.25rem) * 5);
1740
1896
  align-items: center;
1741
1897
  justify-content: center;
1742
1898
  }
1743
- .sph-toast__status-icon svg {
1899
+ .sph-toast__status-icon svg {
1744
1900
  display: block;
1745
- width: calc(var(--spacing) * 5);
1746
- height: calc(var(--spacing) * 5);
1901
+ width: calc(var(--spacing, 0.25rem) * 5);
1902
+ height: calc(var(--spacing, 0.25rem) * 5);
1747
1903
  }
1748
- [data-sonner-toast].sph-toast [data-content] {
1904
+ [data-sonner-toast].sph-toast [data-content] {
1749
1905
  display: flex;
1750
1906
  min-width: 0px;
1751
1907
  flex-direction: column;
1752
- gap: calc(var(--spacing) * 0.5);
1908
+ gap: calc(var(--spacing, 0.25rem) * 0.5);
1753
1909
  grid-column: 2;
1754
1910
  grid-row: 1;
1755
1911
  align-self: center;
1756
1912
  }
1757
- [data-sonner-toast].sph-toast [data-title] {
1913
+ [data-sonner-toast].sph-toast [data-title] {
1758
1914
  margin: 0px;
1759
- font-size: var(--text-sm);
1760
- line-height: var(--tw-leading, var(--text-sm--line-height));
1761
- --tw-font-weight: var(--font-weight-semibold);
1762
- font-weight: var(--font-weight-semibold);
1763
- color: var(--color-sph-text);
1915
+ font-size: var(--text-sm, 0.875rem);
1916
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
1917
+ --tw-font-weight: var(--font-weight-semibold, 600);
1918
+ font-weight: var(--font-weight-semibold, 600);
1919
+ color: var(--sph-text);
1764
1920
  line-height: 1.35;
1765
1921
  }
1766
- [data-sonner-toast].sph-toast [data-description] {
1922
+ [data-sonner-toast].sph-toast [data-description] {
1767
1923
  margin: 0px;
1768
- font-size: var(--text-xs);
1769
- line-height: var(--tw-leading, var(--text-xs--line-height));
1770
- color: var(--color-sph-text-muted);
1924
+ font-size: var(--text-xs, 0.75rem);
1925
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1926
+ color: var(--sph-text-muted);
1771
1927
  line-height: 1.4;
1772
1928
  }
1773
- [data-sonner-toast].sph-toast [data-button] {
1774
- height: calc(var(--spacing) * 8);
1775
- border-radius: var(--radius-sph-sm);
1929
+ [data-sonner-toast].sph-toast [data-button] {
1930
+ height: calc(var(--spacing, 0.25rem) * 8);
1931
+ border-radius: var(--sph-radius-sm);
1776
1932
  border-style: var(--tw-border-style);
1777
1933
  border-width: 0px;
1778
- background-color: var(--color-sph-raised);
1779
- padding-inline: calc(var(--spacing) * 2.5);
1780
- font-size: var(--text-xs);
1781
- line-height: var(--tw-leading, var(--text-xs--line-height));
1782
- --tw-font-weight: var(--font-weight-medium);
1783
- font-weight: var(--font-weight-medium);
1784
- color: var(--color-sph-text);
1934
+ background-color: var(--sph-raised);
1935
+ padding-inline: calc(var(--spacing, 0.25rem) * 2.5);
1936
+ font-size: var(--text-xs, 0.75rem);
1937
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
1938
+ --tw-font-weight: var(--font-weight-medium, 500);
1939
+ font-weight: var(--font-weight-medium, 500);
1940
+ color: var(--sph-text);
1785
1941
  cursor: pointer;
1786
1942
  font-family: var(--sph-font-sans);
1787
1943
  }
1788
- [data-sonner-toast].sph-toast [data-button]:hover {
1944
+ [data-sonner-toast].sph-toast [data-button]:hover {
1789
1945
  background: var(--sph-toast-tone-soft, var(--sph-raised));
1790
1946
  color: var(--sph-toast-tone, var(--sph-text));
1791
1947
  }
1792
- [data-sonner-toast].sph-toast [data-button]:focus-visible, [data-sonner-toast].sph-toast [data-close-button]:focus-visible {
1948
+ [data-sonner-toast].sph-toast [data-button]:focus-visible, [data-sonner-toast].sph-toast [data-close-button]:focus-visible {
1793
1949
  outline: 2px solid var(--sph-focus);
1794
1950
  outline-offset: 2px;
1795
1951
  }
1796
- [data-sonner-toast].sph-toast [data-close-button] {
1952
+ [data-sonner-toast].sph-toast [data-close-button] {
1797
1953
  margin: auto;
1798
1954
  display: inline-flex;
1799
1955
  align-items: center;
1800
1956
  justify-content: center;
1801
- border-radius: var(--radius-sph-sm);
1957
+ border-radius: var(--sph-radius-sm);
1802
1958
  border-style: var(--tw-border-style);
1803
1959
  border-width: 0px;
1804
1960
  background-color: transparent;
1805
1961
  padding: 0px;
1806
- color: var(--color-sph-text-muted);
1962
+ color: var(--sph-text-muted);
1807
1963
  grid-column: 3;
1808
1964
  grid-row: 1;
1809
1965
  align-self: start;
@@ -1812,19 +1968,19 @@
1812
1968
  cursor: pointer;
1813
1969
  transform: none;
1814
1970
  }
1815
- [data-sonner-toast].sph-toast [data-close-button]:hover {
1816
- background-color: var(--color-sph-raised);
1817
- color: var(--color-sph-text);
1971
+ [data-sonner-toast].sph-toast [data-close-button]:hover {
1972
+ background-color: var(--sph-raised);
1973
+ color: var(--sph-text);
1818
1974
  }
1819
- [data-sonner-toast].sph-toast [data-close-button] svg {
1975
+ [data-sonner-toast].sph-toast [data-close-button] svg {
1820
1976
  width: 13px;
1821
1977
  height: 13px;
1822
1978
  stroke-width: 2.5;
1823
1979
  }
1824
- [data-sonner-toast].sph-toast[data-expanded="false"][data-front="false"] > * {
1980
+ [data-sonner-toast].sph-toast[data-expanded="false"][data-front="false"] > * {
1825
1981
  opacity: 0;
1826
1982
  }
1827
- @media (max-width: 600px) {
1983
+ @media (max-width: 600px) {
1828
1984
  [data-sonner-toaster].sph-toast-viewport {
1829
1985
  --mobile-offset-left: 12px;
1830
1986
  --mobile-offset-right: 12px;
@@ -1834,235 +1990,235 @@
1834
1990
  width: calc(100vw - 24px);
1835
1991
  }
1836
1992
  }
1837
- @media (prefers-reduced-motion: reduce) {
1993
+ @media (prefers-reduced-motion: reduce) {
1838
1994
  [data-sonner-toast].sph-toast {
1839
1995
  animation: none !important;
1840
1996
  transition: none !important;
1841
1997
  }
1842
1998
  }
1843
- .sph-empty-state {
1999
+ .sph-empty-state {
1844
2000
  display: grid;
1845
2001
  justify-items: center;
1846
- gap: calc(var(--spacing) * 2);
1847
- padding-inline: calc(var(--spacing) * 6);
1848
- padding-block: calc(var(--spacing) * 14);
2002
+ gap: calc(var(--spacing, 0.25rem) * 2);
2003
+ padding-inline: calc(var(--spacing, 0.25rem) * 6);
2004
+ padding-block: calc(var(--spacing, 0.25rem) * 14);
1849
2005
  text-align: center;
1850
- font-family: var(--font-sph-sans);
2006
+ font-family: var(--sph-font-sans);
1851
2007
  }
1852
- .sph-empty-state[data-compact="true"] {
1853
- padding-block: calc(var(--spacing) * 8);
2008
+ .sph-empty-state[data-compact="true"] {
2009
+ padding-block: calc(var(--spacing, 0.25rem) * 8);
1854
2010
  }
1855
- .sph-empty-state__icon {
1856
- margin-bottom: var(--spacing);
2011
+ .sph-empty-state__icon {
2012
+ margin-bottom: var(--spacing, 0.25rem);
1857
2013
  display: flex;
1858
- width: calc(var(--spacing) * 10);
1859
- height: calc(var(--spacing) * 10);
2014
+ width: calc(var(--spacing, 0.25rem) * 10);
2015
+ height: calc(var(--spacing, 0.25rem) * 10);
1860
2016
  align-items: center;
1861
2017
  justify-content: center;
1862
- border-radius: var(--radius-sph-md);
1863
- background-color: var(--color-sph-raised);
1864
- color: var(--color-sph-text-muted);
2018
+ border-radius: var(--sph-radius-md);
2019
+ background-color: var(--sph-raised);
2020
+ color: var(--sph-text-muted);
1865
2021
  }
1866
- .sph-empty-state__icon svg {
2022
+ .sph-empty-state__icon svg {
1867
2023
  display: block;
1868
- width: calc(var(--spacing) * 5);
1869
- height: calc(var(--spacing) * 5);
2024
+ width: calc(var(--spacing, 0.25rem) * 5);
2025
+ height: calc(var(--spacing, 0.25rem) * 5);
1870
2026
  }
1871
- .sph-empty-state__title {
2027
+ .sph-empty-state__title {
1872
2028
  margin: 0px;
1873
- font-size: var(--text-base);
1874
- line-height: var(--tw-leading, var(--text-base--line-height));
1875
- --tw-font-weight: var(--font-weight-semibold);
1876
- font-weight: var(--font-weight-semibold);
1877
- color: var(--color-sph-text);
2029
+ font-size: var(--text-base, 1rem);
2030
+ line-height: var(--tw-leading, var(--text-base--line-height, calc(1.5 / 1)));
2031
+ --tw-font-weight: var(--font-weight-semibold, 600);
2032
+ font-weight: var(--font-weight-semibold, 600);
2033
+ color: var(--sph-text);
1878
2034
  line-height: 1.3;
1879
2035
  }
1880
- .sph-empty-state__description {
2036
+ .sph-empty-state__description {
1881
2037
  margin: 0px;
1882
- max-width: var(--container-md);
1883
- font-size: var(--text-sm);
1884
- line-height: var(--tw-leading, var(--text-sm--line-height));
1885
- color: var(--color-sph-text-muted);
2038
+ max-width: var(--container-md, 28rem);
2039
+ font-size: var(--text-sm, 0.875rem);
2040
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
2041
+ color: var(--sph-text-muted);
1886
2042
  line-height: 1.5;
1887
2043
  }
1888
- .sph-empty-state__action {
1889
- margin-top: calc(var(--spacing) * 2);
2044
+ .sph-empty-state__action {
2045
+ margin-top: calc(var(--spacing, 0.25rem) * 2);
1890
2046
  }
1891
- .sph-table-wrap {
2047
+ .sph-table-wrap {
1892
2048
  max-width: 100%;
1893
2049
  min-width: 0px;
1894
2050
  overflow-x: auto;
1895
- border-radius: var(--radius-sph-md);
2051
+ border-radius: var(--sph-radius-md);
1896
2052
  border-style: var(--tw-border-style);
1897
2053
  border-width: 1px;
1898
- border-color: var(--color-sph-border);
1899
- background-color: var(--color-sph-surface);
1900
- font-family: var(--font-sph-sans);
2054
+ border-color: var(--sph-border);
2055
+ background-color: var(--sph-surface);
2056
+ font-family: var(--sph-font-sans);
1901
2057
  }
1902
- .sph-table {
2058
+ .sph-table {
1903
2059
  width: 100%;
1904
2060
  border-collapse: collapse;
1905
2061
  text-align: left;
1906
- font-size: var(--text-xs);
1907
- line-height: var(--tw-leading, var(--text-xs--line-height));
1908
- color: var(--color-sph-text);
2062
+ font-size: var(--text-xs, 0.75rem);
2063
+ line-height: var(--tw-leading, var(--text-xs--line-height, calc(1 / 0.75)));
2064
+ color: var(--sph-text);
1909
2065
  min-width: 480px;
1910
2066
  }
1911
- .sph-table caption {
2067
+ .sph-table caption {
1912
2068
  border-bottom-style: var(--tw-border-style);
1913
2069
  border-bottom-width: 1px;
1914
- border-color: var(--color-sph-border);
1915
- padding-inline: calc(var(--spacing) * 4);
1916
- padding-block: calc(var(--spacing) * 3);
2070
+ border-color: var(--sph-border);
2071
+ padding-inline: calc(var(--spacing, 0.25rem) * 4);
2072
+ padding-block: calc(var(--spacing, 0.25rem) * 3);
1917
2073
  text-align: left;
1918
- font-size: var(--text-sm);
1919
- line-height: var(--tw-leading, var(--text-sm--line-height));
1920
- --tw-font-weight: var(--font-weight-semibold);
1921
- font-weight: var(--font-weight-semibold);
1922
- color: var(--color-sph-text);
2074
+ font-size: var(--text-sm, 0.875rem);
2075
+ line-height: var(--tw-leading, var(--text-sm--line-height, calc(1.25 / 0.875)));
2076
+ --tw-font-weight: var(--font-weight-semibold, 600);
2077
+ font-weight: var(--font-weight-semibold, 600);
2078
+ color: var(--sph-text);
1923
2079
  caption-side: top;
1924
2080
  }
1925
- .sph-table th {
2081
+ .sph-table th {
1926
2082
  border-bottom-style: var(--tw-border-style);
1927
2083
  border-bottom-width: 1px;
1928
- border-color: var(--color-sph-border);
1929
- background-color: var(--color-sph-raised);
1930
- padding-inline: calc(var(--spacing) * 4);
1931
- padding-block: calc(var(--spacing) * 2.5);
1932
- --tw-font-weight: var(--font-weight-medium);
1933
- font-weight: var(--font-weight-medium);
1934
- color: var(--color-sph-text-muted);
2084
+ border-color: var(--sph-border);
2085
+ background-color: var(--sph-raised);
2086
+ padding-inline: calc(var(--spacing, 0.25rem) * 4);
2087
+ padding-block: calc(var(--spacing, 0.25rem) * 2.5);
2088
+ --tw-font-weight: var(--font-weight-medium, 500);
2089
+ font-weight: var(--font-weight-medium, 500);
2090
+ color: var(--sph-text-muted);
1935
2091
  white-space: nowrap;
1936
2092
  }
1937
- .sph-table td {
2093
+ .sph-table td {
1938
2094
  border-bottom-style: var(--tw-border-style);
1939
2095
  border-bottom-width: 1px;
1940
- border-color: var(--color-sph-border);
1941
- padding-inline: calc(var(--spacing) * 4);
1942
- padding-block: calc(var(--spacing) * 3);
2096
+ border-color: var(--sph-border);
2097
+ padding-inline: calc(var(--spacing, 0.25rem) * 4);
2098
+ padding-block: calc(var(--spacing, 0.25rem) * 3);
1943
2099
  vertical-align: middle;
1944
2100
  }
1945
- .sph-table tbody tr:last-child td {
2101
+ .sph-table tbody tr:last-child td {
1946
2102
  border-bottom: 0;
1947
2103
  }
1948
- .sph-table tbody tr:hover {
2104
+ .sph-table tbody tr:hover {
1949
2105
  background: var(--sph-raised);
1950
2106
  @supports (color: color-mix(in lab, red, red)) {
1951
2107
  background: color-mix(in srgb, var(--sph-raised) 58%, transparent);
1952
2108
  }
1953
2109
  }
1954
- .sph-table[data-striped="true"] tbody tr:nth-child(even) {
2110
+ .sph-table[data-striped="true"] tbody tr:nth-child(even) {
1955
2111
  background: var(--sph-raised);
1956
2112
  @supports (color: color-mix(in lab, red, red)) {
1957
2113
  background: color-mix(in srgb, var(--sph-raised) 32%, transparent);
1958
2114
  }
1959
2115
  }
1960
- .sph-table[data-striped="true"] tbody tr:nth-child(even):hover {
2116
+ .sph-table[data-striped="true"] tbody tr:nth-child(even):hover {
1961
2117
  background: var(--sph-raised);
1962
2118
  @supports (color: color-mix(in lab, red, red)) {
1963
2119
  background: color-mix(in srgb, var(--sph-raised) 62%, transparent);
1964
2120
  }
1965
2121
  }
1966
- .sph-table[data-density="compact"] th {
1967
- padding-inline: calc(var(--spacing) * 3);
1968
- padding-block: calc(var(--spacing) * 2);
2122
+ .sph-table[data-density="compact"] th {
2123
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
2124
+ padding-block: calc(var(--spacing, 0.25rem) * 2);
1969
2125
  }
1970
- .sph-table[data-density="compact"] td {
1971
- padding-inline: calc(var(--spacing) * 3);
1972
- padding-block: calc(var(--spacing) * 2);
2126
+ .sph-table[data-density="compact"] td {
2127
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
2128
+ padding-block: calc(var(--spacing, 0.25rem) * 2);
1973
2129
  }
1974
- .sph-table th[data-align="center"], .sph-table td[data-align="center"] {
2130
+ .sph-table th[data-align="center"], .sph-table td[data-align="center"] {
1975
2131
  text-align: center;
1976
2132
  }
1977
- .sph-table th[data-align="end"], .sph-table td[data-align="end"] {
2133
+ .sph-table th[data-align="end"], .sph-table td[data-align="end"] {
1978
2134
  text-align: right;
1979
2135
  }
1980
- .sph-table[data-sticky-header="true"] thead th {
2136
+ .sph-table[data-sticky-header="true"] thead th {
1981
2137
  position: sticky;
1982
2138
  top: 0px;
1983
2139
  z-index: 10;
1984
2140
  }
1985
- .sph-table__empty {
1986
- padding-block: calc(var(--spacing) * 10);
2141
+ .sph-table__empty {
2142
+ padding-block: calc(var(--spacing, 0.25rem) * 10);
1987
2143
  text-align: center;
1988
- color: var(--color-sph-text-muted);
2144
+ color: var(--sph-text-muted);
1989
2145
  }
1990
- .sph-toolbar {
2146
+ .sph-toolbar {
1991
2147
  display: flex;
1992
2148
  min-width: 0px;
1993
2149
  align-items: center;
1994
- gap: calc(var(--spacing) * 2);
1995
- border-radius: var(--radius-sph-md);
2150
+ gap: calc(var(--spacing, 0.25rem) * 2);
2151
+ border-radius: var(--sph-radius-md);
1996
2152
  border-style: var(--tw-border-style);
1997
2153
  border-width: 1px;
1998
- border-color: var(--color-sph-border);
1999
- background-color: var(--color-sph-surface);
2000
- font-family: var(--font-sph-sans);
2001
- }
2002
- .sph-toolbar[data-size="sm"] {
2003
- gap: calc(var(--spacing) * 1.5);
2004
- padding-inline: calc(var(--spacing) * 2);
2005
- padding-block: var(--spacing);
2154
+ border-color: var(--sph-border);
2155
+ background-color: var(--sph-surface);
2156
+ font-family: var(--sph-font-sans);
2157
+ }
2158
+ .sph-toolbar[data-size="sm"] {
2159
+ gap: calc(var(--spacing, 0.25rem) * 1.5);
2160
+ padding-inline: calc(var(--spacing, 0.25rem) * 2);
2161
+ padding-block: var(--spacing, 0.25rem);
2006
2162
  min-height: 2.5rem;
2007
2163
  }
2008
- .sph-toolbar[data-size="md"] {
2009
- gap: calc(var(--spacing) * 2);
2010
- padding-inline: calc(var(--spacing) * 2.5);
2011
- padding-block: calc(var(--spacing) * 1.5);
2164
+ .sph-toolbar[data-size="md"] {
2165
+ gap: calc(var(--spacing, 0.25rem) * 2);
2166
+ padding-inline: calc(var(--spacing, 0.25rem) * 2.5);
2167
+ padding-block: calc(var(--spacing, 0.25rem) * 1.5);
2012
2168
  min-height: 2.75rem;
2013
2169
  }
2014
- .sph-toolbar[data-size="lg"] {
2015
- gap: calc(var(--spacing) * 2);
2016
- padding-inline: calc(var(--spacing) * 3);
2017
- padding-block: calc(var(--spacing) * 2);
2170
+ .sph-toolbar[data-size="lg"] {
2171
+ gap: calc(var(--spacing, 0.25rem) * 2);
2172
+ padding-inline: calc(var(--spacing, 0.25rem) * 3);
2173
+ padding-block: calc(var(--spacing, 0.25rem) * 2);
2018
2174
  min-height: 3rem;
2019
2175
  }
2020
- .sph-toolbar[data-orientation="vertical"] {
2176
+ .sph-toolbar[data-orientation="vertical"] {
2021
2177
  flex-direction: column;
2022
2178
  align-items: stretch;
2023
2179
  }
2024
- .sph-toolbar__start, .sph-toolbar__content, .sph-toolbar__end {
2180
+ .sph-toolbar__start, .sph-toolbar__content, .sph-toolbar__end {
2025
2181
  display: flex;
2026
2182
  min-width: 0px;
2027
2183
  align-items: center;
2028
- gap: calc(var(--spacing) * 1.5);
2184
+ gap: calc(var(--spacing, 0.25rem) * 1.5);
2029
2185
  }
2030
- .sph-toolbar__start {
2186
+ .sph-toolbar__start {
2031
2187
  flex-shrink: 0;
2032
2188
  }
2033
- .sph-toolbar__content {
2189
+ .sph-toolbar__content {
2034
2190
  flex: 1;
2035
2191
  }
2036
- .sph-toolbar__end {
2192
+ .sph-toolbar__end {
2037
2193
  margin-left: auto;
2038
2194
  flex-shrink: 0;
2039
2195
  }
2040
- .sph-toolbar[data-orientation="vertical"] .sph-toolbar__end {
2196
+ .sph-toolbar[data-orientation="vertical"] .sph-toolbar__end {
2041
2197
  margin-left: 0px;
2042
2198
  }
2043
- .sph-toolbar:focus-visible {
2199
+ .sph-toolbar:focus-visible {
2044
2200
  outline: 2px solid var(--sph-focus);
2045
2201
  outline-offset: 2px;
2046
2202
  }
2047
- .sph-toolbar .sph-tabs__list {
2203
+ .sph-toolbar .sph-tabs__list {
2048
2204
  border-bottom-width: 0;
2049
2205
  gap: 2px;
2050
2206
  }
2051
- .sph-toolbar .sph-tabs__tab {
2207
+ .sph-toolbar .sph-tabs__tab {
2052
2208
  min-height: 2rem;
2053
2209
  }
2054
- .sph-toolbar[data-size="md"] .sph-tabs__tab {
2210
+ .sph-toolbar[data-size="md"] .sph-tabs__tab {
2055
2211
  min-height: 2.25rem;
2056
2212
  }
2057
- .sph-toolbar[data-size="lg"] .sph-tabs__tab {
2213
+ .sph-toolbar[data-size="lg"] .sph-tabs__tab {
2058
2214
  min-height: 2.5rem;
2059
2215
  }
2060
- .sph-toolbar .sph-tabs__tab[data-selected="true"]::after {
2216
+ .sph-toolbar .sph-tabs__tab[data-selected="true"]::after {
2061
2217
  bottom: 1px;
2062
2218
  left: 12px;
2063
2219
  right: 12px;
2064
2220
  }
2065
- @media (max-width: 560px) {
2221
+ @media (max-width: 560px) {
2066
2222
  .sph-toolbar {
2067
2223
  flex-wrap: wrap;
2068
2224
  }
@@ -2071,273 +2227,3 @@
2071
2227
  flex-basis: 100%;
2072
2228
  }
2073
2229
  }
2074
- }
2075
- :where(:root, [data-sephiro-theme="default"]) {
2076
- --sph-font-sans: var(--font-sph-sans);
2077
- --sph-bg: #111111;
2078
- --sph-surface: #191919;
2079
- --sph-surface-elevated: #1d1d1d;
2080
- --sph-raised: #242424;
2081
- --sph-border: #303030;
2082
- --sph-border-strong: #4a4a4a;
2083
- --sph-text: #eeeeee;
2084
- --sph-text-muted: #a4a4a4;
2085
- --sph-accent: #d71921;
2086
- --sph-accent-hover: #ea343c;
2087
- --sph-accent-pressed: #b9151c;
2088
- --sph-accent-soft: var(--sph-accent);
2089
- @supports (color: color-mix(in lab, red, red)) {
2090
- --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 16%, transparent);
2091
- }
2092
- --sph-accent-strong: #ff6670;
2093
- --sph-success: #5fd29a;
2094
- --sph-success-soft: var(--sph-success);
2095
- @supports (color: color-mix(in lab, red, red)) {
2096
- --sph-success-soft: color-mix(in srgb, var(--sph-success) 15%, transparent);
2097
- }
2098
- --sph-warning: #f2bc68;
2099
- --sph-warning-soft: var(--sph-warning);
2100
- @supports (color: color-mix(in lab, red, red)) {
2101
- --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 15%, transparent);
2102
- }
2103
- --sph-danger: #ff7278;
2104
- --sph-danger-soft: var(--sph-danger);
2105
- @supports (color: color-mix(in lab, red, red)) {
2106
- --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 15%, transparent);
2107
- }
2108
- --sph-focus: var(--sph-accent);
2109
- @supports (color: color-mix(in lab, red, red)) {
2110
- --sph-focus: color-mix(in srgb, var(--sph-accent) 42%, transparent);
2111
- }
2112
- --sph-focus-ring: var(--sph-accent);
2113
- @supports (color: color-mix(in lab, red, red)) {
2114
- --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 16%, transparent);
2115
- }
2116
- --sph-radius-xs: 4px;
2117
- --sph-radius-sm: 6px;
2118
- --sph-radius-md: 10px;
2119
- --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.38);
2120
- --sph-motion-fast: 120ms;
2121
- --sph-motion-normal: 180ms;
2122
- --sph-motion-slow: 280ms;
2123
- --sph-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
2124
- --sph-ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
2125
- --sph-control-height-sm: 32px;
2126
- --sph-control-height-md: 36px;
2127
- --sph-control-height-lg: 40px;
2128
- color-scheme: dark;
2129
- }
2130
- [data-sephiro-theme="light"] {
2131
- --sph-bg: #f3f3f3;
2132
- --sph-surface: #ffffff;
2133
- --sph-surface-elevated: #ffffff;
2134
- --sph-raised: #ebebeb;
2135
- --sph-border: #d6d6d6;
2136
- --sph-border-strong: #a9a9a9;
2137
- --sph-text: #171717;
2138
- --sph-text-muted: #5b5b5b;
2139
- --sph-accent: #c01820;
2140
- --sph-accent-hover: #a7141b;
2141
- --sph-accent-pressed: #8c1117;
2142
- --sph-accent-strong: #a7141b;
2143
- --sph-accent-soft: var(--sph-accent);
2144
- @supports (color: color-mix(in lab, red, red)) {
2145
- --sph-accent-soft: color-mix(in srgb, var(--sph-accent) 12%, transparent);
2146
- }
2147
- --sph-success: #14784b;
2148
- --sph-success-soft: var(--sph-success);
2149
- @supports (color: color-mix(in lab, red, red)) {
2150
- --sph-success-soft: color-mix(in srgb, var(--sph-success) 12%, transparent);
2151
- }
2152
- --sph-warning: #8a5a08;
2153
- --sph-warning-soft: var(--sph-warning);
2154
- @supports (color: color-mix(in lab, red, red)) {
2155
- --sph-warning-soft: color-mix(in srgb, var(--sph-warning) 12%, transparent);
2156
- }
2157
- --sph-danger: #a5141b;
2158
- --sph-danger-soft: var(--sph-danger);
2159
- @supports (color: color-mix(in lab, red, red)) {
2160
- --sph-danger-soft: color-mix(in srgb, var(--sph-danger) 12%, transparent);
2161
- }
2162
- --sph-focus: var(--sph-accent);
2163
- @supports (color: color-mix(in lab, red, red)) {
2164
- --sph-focus: color-mix(in srgb, var(--sph-accent) 42%, transparent);
2165
- }
2166
- --sph-focus-ring: var(--sph-accent);
2167
- @supports (color: color-mix(in lab, red, red)) {
2168
- --sph-focus-ring: color-mix(in srgb, var(--sph-accent) 14%, transparent);
2169
- }
2170
- --sph-shadow-popover: 0 14px 36px rgb(0 0 0 / 0.14);
2171
- color-scheme: light;
2172
- }
2173
- [data-sephiro-theme="asterism"] {
2174
- --sph-bg: #10121f;
2175
- --sph-surface: #171a2d;
2176
- --sph-surface-elevated: #1d2140;
2177
- --sph-raised: #252b4b;
2178
- --sph-border: #353c64;
2179
- --sph-border-strong: #56619a;
2180
- --sph-text: #f1f3ff;
2181
- --sph-text-muted: #a9b2d6;
2182
- --sph-accent: #7c82ff;
2183
- --sph-accent-hover: #969aff;
2184
- --sph-accent-pressed: #5f66eb;
2185
- --sph-accent-strong: #b9bdff;
2186
- --sph-success: #63d8be;
2187
- --sph-warning: #f6c56d;
2188
- --sph-danger: #ff8f9b;
2189
- color-scheme: dark;
2190
- }
2191
- [data-sephiro-theme="soffy"] {
2192
- --sph-bg: #f8f3ec;
2193
- --sph-surface: #fffdf9;
2194
- --sph-surface-elevated: #ffffff;
2195
- --sph-raised: #f0e7dc;
2196
- --sph-border: #ddcfc0;
2197
- --sph-border-strong: #bda996;
2198
- --sph-text: #302b2a;
2199
- --sph-text-muted: #756967;
2200
- --sph-accent: #e36b54;
2201
- --sph-accent-hover: #c95440;
2202
- --sph-accent-pressed: #ad4534;
2203
- --sph-accent-strong: #b74d3b;
2204
- --sph-success: #3d8062;
2205
- --sph-warning: #986518;
2206
- --sph-danger: #bd473b;
2207
- --sph-shadow-popover: 0 14px 36px rgb(82 55 33 / 0.16);
2208
- color-scheme: light;
2209
- }
2210
- :where(:root, [data-sephiro-theme]) {
2211
- --color-sph-bg: var(--sph-bg);
2212
- --color-sph-surface: var(--sph-surface);
2213
- --color-sph-raised: var(--sph-raised);
2214
- --color-sph-border: var(--sph-border);
2215
- --color-sph-border-strong: var(--sph-border-strong);
2216
- --color-sph-text: var(--sph-text);
2217
- --color-sph-text-muted: var(--sph-text-muted);
2218
- --color-sph-accent: var(--sph-accent);
2219
- --color-sph-accent-hover: var(--sph-accent-hover);
2220
- --color-sph-accent-pressed: var(--sph-accent-pressed);
2221
- --color-sph-accent-soft: var(--sph-accent-soft);
2222
- --radius-sph-sm: var(--sph-radius-sm);
2223
- --radius-sph-md: var(--sph-radius-md);
2224
- --shadow-sph-popover: var(--sph-shadow-popover);
2225
- }
2226
- @media (prefers-reduced-motion: reduce) {
2227
- :where(:root, [data-sephiro-theme]) {
2228
- --sph-motion-fast: 0ms;
2229
- --sph-motion-normal: 0ms;
2230
- --sph-motion-slow: 0ms;
2231
- }
2232
- }
2233
- @property --tw-font-weight {
2234
- syntax: "*";
2235
- inherits: false;
2236
- }
2237
- @property --tw-border-style {
2238
- syntax: "*";
2239
- inherits: false;
2240
- initial-value: solid;
2241
- }
2242
- @property --tw-leading {
2243
- syntax: "*";
2244
- inherits: false;
2245
- }
2246
- @property --tw-shadow {
2247
- syntax: "*";
2248
- inherits: false;
2249
- initial-value: 0 0 #0000;
2250
- }
2251
- @property --tw-shadow-color {
2252
- syntax: "*";
2253
- inherits: false;
2254
- }
2255
- @property --tw-shadow-alpha {
2256
- syntax: "<percentage>";
2257
- inherits: false;
2258
- initial-value: 100%;
2259
- }
2260
- @property --tw-inset-shadow {
2261
- syntax: "*";
2262
- inherits: false;
2263
- initial-value: 0 0 #0000;
2264
- }
2265
- @property --tw-inset-shadow-color {
2266
- syntax: "*";
2267
- inherits: false;
2268
- }
2269
- @property --tw-inset-shadow-alpha {
2270
- syntax: "<percentage>";
2271
- inherits: false;
2272
- initial-value: 100%;
2273
- }
2274
- @property --tw-ring-color {
2275
- syntax: "*";
2276
- inherits: false;
2277
- }
2278
- @property --tw-ring-shadow {
2279
- syntax: "*";
2280
- inherits: false;
2281
- initial-value: 0 0 #0000;
2282
- }
2283
- @property --tw-inset-ring-color {
2284
- syntax: "*";
2285
- inherits: false;
2286
- }
2287
- @property --tw-inset-ring-shadow {
2288
- syntax: "*";
2289
- inherits: false;
2290
- initial-value: 0 0 #0000;
2291
- }
2292
- @property --tw-ring-inset {
2293
- syntax: "*";
2294
- inherits: false;
2295
- }
2296
- @property --tw-ring-offset-width {
2297
- syntax: "<length>";
2298
- inherits: false;
2299
- initial-value: 0px;
2300
- }
2301
- @property --tw-ring-offset-color {
2302
- syntax: "*";
2303
- inherits: false;
2304
- initial-value: #fff;
2305
- }
2306
- @property --tw-ring-offset-shadow {
2307
- syntax: "*";
2308
- inherits: false;
2309
- initial-value: 0 0 #0000;
2310
- }
2311
- @property --tw-duration {
2312
- syntax: "*";
2313
- inherits: false;
2314
- }
2315
- @property --tw-ease {
2316
- syntax: "*";
2317
- inherits: false;
2318
- }
2319
- @layer properties {
2320
- @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
2321
- *, ::before, ::after, ::backdrop {
2322
- --tw-font-weight: initial;
2323
- --tw-border-style: solid;
2324
- --tw-leading: initial;
2325
- --tw-shadow: 0 0 #0000;
2326
- --tw-shadow-color: initial;
2327
- --tw-shadow-alpha: 100%;
2328
- --tw-inset-shadow: 0 0 #0000;
2329
- --tw-inset-shadow-color: initial;
2330
- --tw-inset-shadow-alpha: 100%;
2331
- --tw-ring-color: initial;
2332
- --tw-ring-shadow: 0 0 #0000;
2333
- --tw-inset-ring-color: initial;
2334
- --tw-inset-ring-shadow: 0 0 #0000;
2335
- --tw-ring-inset: initial;
2336
- --tw-ring-offset-width: 0px;
2337
- --tw-ring-offset-color: #fff;
2338
- --tw-ring-offset-shadow: 0 0 #0000;
2339
- --tw-duration: initial;
2340
- --tw-ease: initial;
2341
- }
2342
- }
2343
- }