@transcodes/design-tokens 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.js ADDED
@@ -0,0 +1,407 @@
1
+ /**
2
+ * Do not edit directly, this file was auto-generated.
3
+ * Design tokens as JavaScript object for use in JS/TS environments
4
+ */
5
+
6
+ // CSS side-effect imports (auto-loaded when package is imported)
7
+ import './tokens.css';
8
+ import './tokens-dark.css';
9
+
10
+ /**
11
+ * All design tokens as a JavaScript object
12
+ * Keys are camelCase versions of CSS variable names
13
+ * @example
14
+ * import { tokens } from '@transcodes/design-tokens';
15
+ * console.log(tokens.accentPrimary); // '#6b4fd9'
16
+ */
17
+ export const tokens = {
18
+ durationInstant: "150ms",
19
+ durationFast: "300ms",
20
+ durationSmooth: "400ms",
21
+ durationSlow: "600ms",
22
+ durationSlower: "800ms",
23
+ easingEase: "ease",
24
+ easingEaseInOut: "cubic-bezier(0.4, 0, 0.2, 1)",
25
+ easingBounce: "cubic-bezier(0.34, 1.56, 0.64, 1)",
26
+ inkEffectRippleDuration: "600ms",
27
+ inkEffectRippleEasing: "cubic-bezier(0.4, 0, 0.2, 1)",
28
+ inkEffectSpreadScale: "2.5",
29
+ inkEffectFadeDuration: "300ms",
30
+ transitionFast: "150ms ease",
31
+ transitionSmooth: "300ms cubic-bezier(0.4, 0, 0.2, 1)",
32
+ transitionBounce: "400ms cubic-bezier(0.34, 1.56, 0.64, 1)",
33
+ opacityDisabled: "0.6",
34
+ opacityHover: "0.7",
35
+ opacityLoading: "0.6",
36
+ opacityHidden: "0",
37
+ opacityVisible: "1",
38
+ brandPrimary: "#7c5cff",
39
+ brandPrimaryHover: "#6a4ae8",
40
+ brandLogoText: "#1a1a1a",
41
+ accentPrimary: "#6b4fd9",
42
+ accentPrimaryHover: "#5a3fc8",
43
+ accentPrimaryPressed: "#4a32b0",
44
+ accentSuccess: "#357a46",
45
+ accentSuccessHover: "#2d6a3c",
46
+ accentSuccessPressed: "#255a32",
47
+ alphaPrimary04: "#7c5cff0a",
48
+ alphaPrimary08: "#7c5cff14",
49
+ alphaPrimary10: "#7c5cff1a",
50
+ alphaPrimary12: "#7c5cff1f",
51
+ alphaPrimary15: "#7c5cff26",
52
+ alphaPrimary20: "#7c5cff33",
53
+ alphaPrimary30: "#7c5cff4d",
54
+ alphaPrimary40: "#7c5cff66",
55
+ alphaPrimary50: "#7c5cff80",
56
+ alphaSuccess10: "#3d8a501a",
57
+ alphaSuccess15: "#3d8a5026",
58
+ alphaSuccess20: "#3d8a5033",
59
+ alphaSuccess30: "#3d8a504d",
60
+ alphaWarning08: "#b4530914",
61
+ alphaWarning15: "#b4530926",
62
+ alphaWarning20: "#b4530933",
63
+ alphaInfo08: "#0369a114",
64
+ alphaInfo15: "#0369a126",
65
+ alphaInfo20: "#0369a133",
66
+ alphaInk04: "#1a1a1a0a",
67
+ alphaInk06: "#1a1a1a0f",
68
+ alphaInk10: "#1a1a1a1a",
69
+ alphaWhite15: "#ffffff26",
70
+ alphaWhite30: "#ffffff4d",
71
+ alphaWhite90: "#ffffffe6",
72
+ errorBase: "#c0392b",
73
+ errorBg: "#e74c3c14",
74
+ errorBorder: "#e74c3c33",
75
+ inkBlack: "#1a1a1a",
76
+ inkDark: "#2d2d2d",
77
+ inkMedium: "#5c5c5c",
78
+ inkLight: "#8a8a8a",
79
+ inkFaint: "#c4c4c4",
80
+ overlayDim: "#00000080",
81
+ overlayDark: "#000000b3",
82
+ overlayShadowLight: "#0000001a",
83
+ overlayShadowSubtle: "#00000026",
84
+ overlayShadowMedium: "#00000033",
85
+ overlayShadowStrong: "#0000004d",
86
+ overlayShadowHeavy: "#00000066",
87
+ overlayGlowWhite: "#ffffff26",
88
+ overlaySpinnerTrack: "#ffffff4d",
89
+ paperWhite: "#faf9fc",
90
+ paperCream: "#f5f4f8",
91
+ paperWarm: "#ebe9f0",
92
+ semanticWarning: "#b45309",
93
+ semanticWarningHover: "#92400e",
94
+ semanticWarningBg: "#fff8e1",
95
+ semanticWarningLight: "#fef3c7",
96
+ semanticSuccessBg: "#d1fae5",
97
+ semanticInfo: "#0369a1",
98
+ semanticInfoHover: "#075985",
99
+ semanticInfoBg: "#e0f2fe",
100
+ buttonHeight: "3.25rem",
101
+ buttonHeightSecondary: "3rem",
102
+ buttonRadius: "0.625rem",
103
+ buttonFontSize: "0.9375rem",
104
+ buttonFontWeight: "500",
105
+ buttonLetterSpacing: "0.02em",
106
+ buttonDark: "#1a1a1a",
107
+ buttonDarkHover: "#2a2a2a",
108
+ buttonLight: "#f5f4f8",
109
+ buttonLightHover: "#ebe9f0",
110
+ buttonTextHeight: "2.5rem",
111
+ buttonTextFontSize: "0.875rem",
112
+ buttonTextPaddingSm: "clamp(0.25rem, 0.23rem + 0.11vw, 0.3125rem) clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
113
+ buttonTextPaddingMd: "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem) clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
114
+ buttonContentGap: "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
115
+ buttonSpinnerSize: "1rem",
116
+ buttonSpinnerBorderWidth: "2px",
117
+ cardPadding: "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
118
+ cardRadius: "clamp(0.75rem, 0.59rem + 0.78vw, 1rem)",
119
+ containerMaxWidth: "25rem",
120
+ containerMaxWidthWide: "26.25rem",
121
+ feedbackErrorPadding: "clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
122
+ feedbackErrorRadius: "0.625rem",
123
+ feedbackErrorGap: "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
124
+ feedbackErrorIconSize: "1rem",
125
+ feedbackNoticePadding: "clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
126
+ feedbackNoticeRadius: "0.625rem",
127
+ feedbackNoticeGap: "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
128
+ feedbackNoticeIconSize: "1.25rem",
129
+ inputPaddingY: "0.875rem",
130
+ inputPaddingX: "1rem",
131
+ inputRadius: "0.625rem",
132
+ inputFontSize: "1rem",
133
+ labelFontSize: "0.75rem",
134
+ labelFontWeight: "500",
135
+ labelLetterSpacing: "0.08em",
136
+ titleFontSize: "clamp(1.375rem, 1.27rem + 0.54vw, 1.75rem)",
137
+ titleFontWeight: "600",
138
+ titleLetterSpacing: "-0.02em",
139
+ formHeaderMarginBottom: "clamp(1.5rem, 1.15rem + 1.74vw, 2.75rem)",
140
+ formSubtitleFontSize: "0.9375rem",
141
+ formFieldsGap: "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
142
+ formFooterMarginTop: "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
143
+ fieldGroupGap: "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
144
+ pageContainerMaxWidth: "25rem",
145
+ pageContainerMaxWidthWide: "26.25rem",
146
+ pageContainerPadding: "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
147
+ pageCardPadding: "clamp(1.5rem, 1.15rem + 1.74vw, 2.75rem)",
148
+ pageCardRadius: "0.75rem",
149
+ radiusSm: "0.5rem",
150
+ radiusMd: "0.625rem",
151
+ radiusLg: "0.75rem",
152
+ radiusFull: "9999px",
153
+ radiusCard: "clamp(0.75rem, 0.59rem + 0.78vw, 1rem)",
154
+ shadowCard: "0 0.0625rem 0.1875rem rgba(26, 26, 26, 0.04), 0 0.375rem 1rem rgba(26, 26, 26, 0.06), 0 1.5rem 3rem rgba(26, 26, 26, 0.06)",
155
+ shadowButtonHoverPrimary: "0 0.25rem 0.75rem rgba(124, 92, 255, 0.3), 0 0.125rem 0.25rem rgba(124, 92, 255, 0.2)",
156
+ shadowButtonHoverSuccess: "0 0.25rem 0.75rem rgba(61, 138, 80, 0.3), 0 0.125rem 0.25rem rgba(61, 138, 80, 0.2)",
157
+ shadowInputFocus: "0 0 0 0.1875rem rgba(124, 92, 255, 0.12), inset 0 0.0625rem 0.125rem rgba(26, 26, 26, 0.04)",
158
+ shadowOverlay: "0 0.25rem 0.5rem rgba(0, 0, 0, 0.1)",
159
+ shadowModal: "0 1.5rem 3rem rgba(0, 0, 0, 0.15)",
160
+ shadowOtpCellFocus: "0 0 0 0.25rem rgba(124, 92, 255, 0.1)",
161
+ breakpointSm: "640px",
162
+ breakpointMd: "768px",
163
+ breakpointLg: "1024px",
164
+ breakpointXl: "1280px",
165
+ zIndexDropdown: "1000",
166
+ zIndexSticky: "1020",
167
+ zIndexFixed: "1030",
168
+ zIndexModalBackdrop: "1040",
169
+ zIndexModal: "1050",
170
+ zIndexPopover: "1060",
171
+ zIndexTooltip: "1070",
172
+ sizeIconSm: "1rem",
173
+ sizeIconMd: "1.5rem",
174
+ sizeIconLg: "2rem",
175
+ sizeIconXl: "2.5rem",
176
+ sizeSpinnerSm: "1rem",
177
+ sizeSpinnerMd: "2rem",
178
+ sizeSpinnerLg: "4rem",
179
+ sizeSpinnerButton: "1.125rem",
180
+ sizeBorderWidthThin: "0.0625rem",
181
+ sizeBorderWidthBase: "0.09375rem",
182
+ sizeBorderWidthThick: "0.125rem",
183
+ sizeBorderWidthHeavy: "0.1875rem",
184
+ sizeBorderWidthBold: "0.25rem",
185
+ sizeChipPaddingSm: "0.125rem 0.5rem",
186
+ sizeChipPaddingMd: "0.25rem 0.75rem",
187
+ sizeCloseButton: "2rem",
188
+ spaceFixed2xs: "0.0625rem",
189
+ spaceFixedXs: "0.125rem",
190
+ spaceFixedSm: "0.25rem",
191
+ spaceFixedMd: "0.5rem",
192
+ spaceXs: "clamp(0.25rem, 0.23rem + 0.11vw, 0.3125rem)",
193
+ spaceSm: "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
194
+ spaceMd: "clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
195
+ spaceLg: "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
196
+ spaceXl: "clamp(1.5rem, 1.15rem + 1.74vw, 2.75rem)",
197
+ space2xl: "clamp(2rem, 1.35rem + 3.26vw, 4.5rem)",
198
+ fontBody: "\"DM Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
199
+ fontSizeSm: "clamp(0.8125rem, 0.78rem + 0.16vw, 0.9375rem)",
200
+ fontSizeBase: "clamp(0.875rem, 0.83rem + 0.22vw, 1rem)",
201
+ fontSizeLg: "clamp(1rem, 0.93rem + 0.33vw, 1.25rem)",
202
+ fontSizeXl: "clamp(1.25rem, 1.14rem + 0.54vw, 1.5rem)",
203
+ fontSize2xl: "clamp(1.5rem, 1.35rem + 0.76vw, 1.875rem)",
204
+ lineHeightTight: "1.25",
205
+ lineHeightNormal: "1.5",
206
+ lineHeightRelaxed: "1.75"
207
+ };
208
+
209
+ /**
210
+ * CSS variable names mapped to their values
211
+ * @example
212
+ * import { cssVars } from '@transcodes/design-tokens';
213
+ * console.log(cssVars['--accent-primary']); // '#6b4fd9'
214
+ */
215
+ export const cssVars = {
216
+ '--duration-instant': "150ms",
217
+ '--duration-fast': "300ms",
218
+ '--duration-smooth': "400ms",
219
+ '--duration-slow': "600ms",
220
+ '--duration-slower': "800ms",
221
+ '--easing-ease': "ease",
222
+ '--easing-ease-in-out': "cubic-bezier(0.4, 0, 0.2, 1)",
223
+ '--easing-bounce': "cubic-bezier(0.34, 1.56, 0.64, 1)",
224
+ '--ink-effect-ripple-duration': "600ms",
225
+ '--ink-effect-ripple-easing': "cubic-bezier(0.4, 0, 0.2, 1)",
226
+ '--ink-effect-spread-scale': "2.5",
227
+ '--ink-effect-fade-duration': "300ms",
228
+ '--transition-fast': "150ms ease",
229
+ '--transition-smooth': "300ms cubic-bezier(0.4, 0, 0.2, 1)",
230
+ '--transition-bounce': "400ms cubic-bezier(0.34, 1.56, 0.64, 1)",
231
+ '--opacity-disabled': "0.6",
232
+ '--opacity-hover': "0.7",
233
+ '--opacity-loading': "0.6",
234
+ '--opacity-hidden': "0",
235
+ '--opacity-visible': "1",
236
+ '--brand-primary': "#7c5cff",
237
+ '--brand-primary-hover': "#6a4ae8",
238
+ '--brand-logo-text': "#1a1a1a",
239
+ '--accent-primary': "#6b4fd9",
240
+ '--accent-primary-hover': "#5a3fc8",
241
+ '--accent-primary-pressed': "#4a32b0",
242
+ '--accent-success': "#357a46",
243
+ '--accent-success-hover': "#2d6a3c",
244
+ '--accent-success-pressed': "#255a32",
245
+ '--alpha-primary04': "#7c5cff0a",
246
+ '--alpha-primary08': "#7c5cff14",
247
+ '--alpha-primary10': "#7c5cff1a",
248
+ '--alpha-primary12': "#7c5cff1f",
249
+ '--alpha-primary15': "#7c5cff26",
250
+ '--alpha-primary20': "#7c5cff33",
251
+ '--alpha-primary30': "#7c5cff4d",
252
+ '--alpha-primary40': "#7c5cff66",
253
+ '--alpha-primary50': "#7c5cff80",
254
+ '--alpha-success10': "#3d8a501a",
255
+ '--alpha-success15': "#3d8a5026",
256
+ '--alpha-success20': "#3d8a5033",
257
+ '--alpha-success30': "#3d8a504d",
258
+ '--alpha-warning08': "#b4530914",
259
+ '--alpha-warning15': "#b4530926",
260
+ '--alpha-warning20': "#b4530933",
261
+ '--alpha-info08': "#0369a114",
262
+ '--alpha-info15': "#0369a126",
263
+ '--alpha-info20': "#0369a133",
264
+ '--alpha-ink04': "#1a1a1a0a",
265
+ '--alpha-ink06': "#1a1a1a0f",
266
+ '--alpha-ink10': "#1a1a1a1a",
267
+ '--alpha-white15': "#ffffff26",
268
+ '--alpha-white30': "#ffffff4d",
269
+ '--alpha-white90': "#ffffffe6",
270
+ '--error-base': "#c0392b",
271
+ '--error-bg': "#e74c3c14",
272
+ '--error-border': "#e74c3c33",
273
+ '--ink-black': "#1a1a1a",
274
+ '--ink-dark': "#2d2d2d",
275
+ '--ink-medium': "#5c5c5c",
276
+ '--ink-light': "#8a8a8a",
277
+ '--ink-faint': "#c4c4c4",
278
+ '--overlay-dim': "#00000080",
279
+ '--overlay-dark': "#000000b3",
280
+ '--overlay-shadow-light': "#0000001a",
281
+ '--overlay-shadow-subtle': "#00000026",
282
+ '--overlay-shadow-medium': "#00000033",
283
+ '--overlay-shadow-strong': "#0000004d",
284
+ '--overlay-shadow-heavy': "#00000066",
285
+ '--overlay-glow-white': "#ffffff26",
286
+ '--overlay-spinner-track': "#ffffff4d",
287
+ '--paper-white': "#faf9fc",
288
+ '--paper-cream': "#f5f4f8",
289
+ '--paper-warm': "#ebe9f0",
290
+ '--semantic-warning': "#b45309",
291
+ '--semantic-warning-hover': "#92400e",
292
+ '--semantic-warning-bg': "#fff8e1",
293
+ '--semantic-warning-light': "#fef3c7",
294
+ '--semantic-success-bg': "#d1fae5",
295
+ '--semantic-info': "#0369a1",
296
+ '--semantic-info-hover': "#075985",
297
+ '--semantic-info-bg': "#e0f2fe",
298
+ '--button-height': "3.25rem",
299
+ '--button-height-secondary': "3rem",
300
+ '--button-radius': "0.625rem",
301
+ '--button-font-size': "0.9375rem",
302
+ '--button-font-weight': "500",
303
+ '--button-letter-spacing': "0.02em",
304
+ '--button-dark': "#1a1a1a",
305
+ '--button-dark-hover': "#2a2a2a",
306
+ '--button-light': "#f5f4f8",
307
+ '--button-light-hover': "#ebe9f0",
308
+ '--button-text-height': "2.5rem",
309
+ '--button-text-font-size': "0.875rem",
310
+ '--button-text-padding-sm': "clamp(0.25rem, 0.23rem + 0.11vw, 0.3125rem) clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
311
+ '--button-text-padding-md': "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem) clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
312
+ '--button-content-gap': "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
313
+ '--button-spinner-size': "1rem",
314
+ '--button-spinner-border-width': "2px",
315
+ '--card-padding': "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
316
+ '--card-radius': "clamp(0.75rem, 0.59rem + 0.78vw, 1rem)",
317
+ '--container-max-width': "25rem",
318
+ '--container-max-width-wide': "26.25rem",
319
+ '--feedback-error-padding': "clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
320
+ '--feedback-error-radius': "0.625rem",
321
+ '--feedback-error-gap': "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
322
+ '--feedback-error-icon-size': "1rem",
323
+ '--feedback-notice-padding': "clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
324
+ '--feedback-notice-radius': "0.625rem",
325
+ '--feedback-notice-gap': "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
326
+ '--feedback-notice-icon-size': "1.25rem",
327
+ '--input-padding-y': "0.875rem",
328
+ '--input-padding-x': "1rem",
329
+ '--input-radius': "0.625rem",
330
+ '--input-font-size': "1rem",
331
+ '--label-font-size': "0.75rem",
332
+ '--label-font-weight': "500",
333
+ '--label-letter-spacing': "0.08em",
334
+ '--title-font-size': "clamp(1.375rem, 1.27rem + 0.54vw, 1.75rem)",
335
+ '--title-font-weight': "600",
336
+ '--title-letter-spacing': "-0.02em",
337
+ '--form-header-margin-bottom': "clamp(1.5rem, 1.15rem + 1.74vw, 2.75rem)",
338
+ '--form-subtitle-font-size': "0.9375rem",
339
+ '--form-fields-gap': "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
340
+ '--form-footer-margin-top': "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
341
+ '--field-group-gap': "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
342
+ '--page-container-max-width': "25rem",
343
+ '--page-container-max-width-wide': "26.25rem",
344
+ '--page-container-padding': "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
345
+ '--page-card-padding': "clamp(1.5rem, 1.15rem + 1.74vw, 2.75rem)",
346
+ '--page-card-radius': "0.75rem",
347
+ '--radius-sm': "0.5rem",
348
+ '--radius-md': "0.625rem",
349
+ '--radius-lg': "0.75rem",
350
+ '--radius-full': "9999px",
351
+ '--radius-card': "clamp(0.75rem, 0.59rem + 0.78vw, 1rem)",
352
+ '--shadow-card': "0 0.0625rem 0.1875rem rgba(26, 26, 26, 0.04), 0 0.375rem 1rem rgba(26, 26, 26, 0.06), 0 1.5rem 3rem rgba(26, 26, 26, 0.06)",
353
+ '--shadow-button-hover-primary': "0 0.25rem 0.75rem rgba(124, 92, 255, 0.3), 0 0.125rem 0.25rem rgba(124, 92, 255, 0.2)",
354
+ '--shadow-button-hover-success': "0 0.25rem 0.75rem rgba(61, 138, 80, 0.3), 0 0.125rem 0.25rem rgba(61, 138, 80, 0.2)",
355
+ '--shadow-input-focus': "0 0 0 0.1875rem rgba(124, 92, 255, 0.12), inset 0 0.0625rem 0.125rem rgba(26, 26, 26, 0.04)",
356
+ '--shadow-overlay': "0 0.25rem 0.5rem rgba(0, 0, 0, 0.1)",
357
+ '--shadow-modal': "0 1.5rem 3rem rgba(0, 0, 0, 0.15)",
358
+ '--shadow-otp-cell-focus': "0 0 0 0.25rem rgba(124, 92, 255, 0.1)",
359
+ '--breakpoint-sm': "640px",
360
+ '--breakpoint-md': "768px",
361
+ '--breakpoint-lg': "1024px",
362
+ '--breakpoint-xl': "1280px",
363
+ '--z-index-dropdown': "1000",
364
+ '--z-index-sticky': "1020",
365
+ '--z-index-fixed': "1030",
366
+ '--z-index-modal-backdrop': "1040",
367
+ '--z-index-modal': "1050",
368
+ '--z-index-popover': "1060",
369
+ '--z-index-tooltip': "1070",
370
+ '--size-icon-sm': "1rem",
371
+ '--size-icon-md': "1.5rem",
372
+ '--size-icon-lg': "2rem",
373
+ '--size-icon-xl': "2.5rem",
374
+ '--size-spinner-sm': "1rem",
375
+ '--size-spinner-md': "2rem",
376
+ '--size-spinner-lg': "4rem",
377
+ '--size-spinner-button': "1.125rem",
378
+ '--size-border-width-thin': "0.0625rem",
379
+ '--size-border-width-base': "0.09375rem",
380
+ '--size-border-width-thick': "0.125rem",
381
+ '--size-border-width-heavy': "0.1875rem",
382
+ '--size-border-width-bold': "0.25rem",
383
+ '--size-chip-padding-sm': "0.125rem 0.5rem",
384
+ '--size-chip-padding-md': "0.25rem 0.75rem",
385
+ '--size-close-button': "2rem",
386
+ '--space-fixed2xs': "0.0625rem",
387
+ '--space-fixed-xs': "0.125rem",
388
+ '--space-fixed-sm': "0.25rem",
389
+ '--space-fixed-md': "0.5rem",
390
+ '--space-xs': "clamp(0.25rem, 0.23rem + 0.11vw, 0.3125rem)",
391
+ '--space-sm': "clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem)",
392
+ '--space-md': "clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem)",
393
+ '--space-lg': "clamp(1.25rem, 1.03rem + 1.09vw, 2rem)",
394
+ '--space-xl': "clamp(1.5rem, 1.15rem + 1.74vw, 2.75rem)",
395
+ '--space2xl': "clamp(2rem, 1.35rem + 3.26vw, 4.5rem)",
396
+ '--font-body': "\"DM Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif",
397
+ '--font-size-sm': "clamp(0.8125rem, 0.78rem + 0.16vw, 0.9375rem)",
398
+ '--font-size-base': "clamp(0.875rem, 0.83rem + 0.22vw, 1rem)",
399
+ '--font-size-lg': "clamp(1rem, 0.93rem + 0.33vw, 1.25rem)",
400
+ '--font-size-xl': "clamp(1.25rem, 1.14rem + 0.54vw, 1.5rem)",
401
+ '--font-size2xl': "clamp(1.5rem, 1.35rem + 0.76vw, 1.875rem)",
402
+ '--line-height-tight': "1.25",
403
+ '--line-height-normal': "1.5",
404
+ '--line-height-relaxed': "1.75"
405
+ };
406
+
407
+ export default tokens;
@@ -1,27 +1 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- [data-theme="dark"] {
6
- --ink-black: #ffffff; /** Primary text (dark). WCAG AAA: 16.1:1 on paper-white */
7
- --ink-dark: #e5e5e5; /** Secondary text (dark). WCAG AAA: 12.7:1 on paper-white */
8
- --ink-medium: #a3a3a3; /** Tertiary text (dark). WCAG AAA: 7.0:1 on paper-white */
9
- --ink-light: #737373; /** Placeholder, disabled text (dark). Contrast: 4.2:1 (meets 3:1 minimum) */
10
- --ink-faint: #525252; /** Decorative only (dark). NOT for readable text. Contrast: 2.6:1 */
11
- --paper-white: #1a1a1a; /** Primary background (dark) */
12
- --paper-cream: #2d2d2d; /** Secondary background (dark) */
13
- --paper-warm: #404040; /** Tertiary background (dark) */
14
- --accent-primary: #a78bfa; /** Primary accent (dark). WCAG AA: 7.5:1 on paper-white */
15
- --accent-primary-hover: #c4b5fd; /** Primary accent hover (dark). WCAG AA: 10.2:1 on paper-white */
16
- --accent-primary-pressed: #8b5cf6; /** Primary accent pressed (dark). WCAG AA: 5.5:1 on paper-white */
17
- --accent-success: #4ade80; /** Success accent (dark). WCAG AA: 9.8:1 on paper-white */
18
- --accent-success-hover: #86efac; /** Success accent hover (dark). WCAG AA: 12.5:1 on paper-white */
19
- --accent-success-pressed: #22c55e; /** Success accent pressed (dark). WCAG AA: 7.2:1 on paper-white */
20
- --semantic-warning: #fbbf24; /** Warning state (dark). WCAG AA: 11.3:1 on paper-white */
21
- --semantic-warning-hover: #fcd34d; /** Warning hover (dark). WCAG AA: 12.8:1 on paper-white */
22
- --semantic-info: #38bdf8; /** Info state (dark). WCAG AA: 9.4:1 on paper-white */
23
- --semantic-info-hover: #7dd3fc; /** Info hover (dark). WCAG AA: 11.6:1 on paper-white */
24
- --error-base: #f87171; /** Error state (dark). WCAG AA: 6.5:1 on paper-white */
25
- --error-bg: rgba(248, 113, 113, 0.12); /** Error background (dark). Decorative, not for text */
26
- --error-border: rgba(248, 113, 113, 0.3); /** Error border (dark). Decorative, not for text */
27
- }
1
+ @media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink-black:#fff;--ink-dark:#e5e5e5;--ink-medium:#a3a3a3;--ink-light:#737373;--ink-faint:#525252;--paper-white:#1a1a1a;--paper-cream:#2d2d2d;--paper-warm:#404040;--accent-primary:#a78bfa;--accent-primary-hover:#c4b5fd;--accent-primary-pressed:#8b5cf6;--accent-success:#4ade80;--accent-success-hover:#86efac;--accent-success-pressed:#22c55e;--semantic-warning:#fbbf24;--semantic-warning-hover:#fcd34d;--semantic-info:#38bdf8;--semantic-info-hover:#7dd3fc;--error-base:#f87171;--error-bg:#f871711f;--error-border:#f871714d}}[data-theme=dark]{--ink-black:#fff;--ink-dark:#e5e5e5;--ink-medium:#a3a3a3;--ink-light:#737373;--ink-faint:#525252;--paper-white:#1a1a1a;--paper-cream:#2d2d2d;--paper-warm:#404040;--accent-primary:#a78bfa;--accent-primary-hover:#c4b5fd;--accent-primary-pressed:#8b5cf6;--accent-success:#4ade80;--accent-success-hover:#86efac;--accent-success-pressed:#22c55e;--semantic-warning:#fbbf24;--semantic-warning-hover:#fcd34d;--semantic-info:#38bdf8;--semantic-info-hover:#7dd3fc;--error-base:#f87171;--error-bg:#f871711f;--error-border:#f871714d}
package/build/tokens.css CHANGED
@@ -1,187 +1 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
4
-
5
- :root, [data-theme="light"] {
6
- --duration-instant: 150ms; /** Instant feedback for micro-interactions */
7
- --duration-fast: 300ms; /** Fast transitions for hover/focus states */
8
- --duration-smooth: 400ms; /** Smooth transitions for modals/overlays */
9
- --duration-slow: 600ms; /** Slow transitions for page animations */
10
- --duration-slower: 800ms; /** Slower transitions for complex animations */
11
- --easing-ease: ease; /** Default easing function */
12
- --easing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1); /** Smooth ease-in-out for transitions */
13
- --easing-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); /** Bounce effect for playful interactions */
14
- --ink-effect-ripple-duration: 600ms;
15
- --ink-effect-ripple-easing: cubic-bezier(0.4, 0, 0.2, 1);
16
- --ink-effect-spread-scale: 2.5;
17
- --ink-effect-fade-duration: 300ms;
18
- --transition-fast: 150ms ease;
19
- --transition-smooth: 300ms cubic-bezier(0.4, 0, 0.2, 1);
20
- --transition-bounce: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
21
- --opacity-disabled: 0.6; /** Disabled state opacity - WCAG 1.4.3 minimum */
22
- --opacity-hover: 0.7; /** Hover state for interactive elements */
23
- --opacity-loading: 0.6; /** Loading pulse animation minimum opacity */
24
- --opacity-hidden: 0; /** Fully transparent/hidden state */
25
- --opacity-visible: 1; /** Fully visible state */
26
- --brand-primary: #7c5cff; /** Transcodes primary brand color */
27
- --brand-primary-hover: #6a4ae8;
28
- --brand-logo-text: #1a1a1a;
29
- --accent-primary: #6b4fd9; /** Primary accent. WCAG AA: 4.5:1 on paper-white */
30
- --accent-primary-hover: #5a3fc8; /** Primary accent hover. WCAG AA: 5.2:1 on paper-white */
31
- --accent-primary-pressed: #4a32b0; /** Primary accent pressed. WCAG AA: 6.5:1 on paper-white */
32
- --accent-success: #357a46; /** Success accent. WCAG AA: 4.8:1 on paper-white */
33
- --accent-success-hover: #2d6a3c; /** Success accent hover. WCAG AA: 5.6:1 on paper-white */
34
- --accent-success-pressed: #255a32; /** Success accent pressed. WCAG AA: 6.8:1 on paper-white */
35
- --alpha-primary04: rgba(124, 92, 255, 0.04);
36
- --alpha-primary08: rgba(124, 92, 255, 0.08);
37
- --alpha-primary10: rgba(124, 92, 255, 0.1);
38
- --alpha-primary12: rgba(124, 92, 255, 0.12);
39
- --alpha-primary15: rgba(124, 92, 255, 0.15);
40
- --alpha-primary20: rgba(124, 92, 255, 0.2);
41
- --alpha-primary30: rgba(124, 92, 255, 0.3);
42
- --alpha-primary40: rgba(124, 92, 255, 0.4);
43
- --alpha-primary50: rgba(124, 92, 255, 0.5);
44
- --alpha-success10: rgba(61, 138, 80, 0.1);
45
- --alpha-success15: rgba(61, 138, 80, 0.15);
46
- --alpha-success20: rgba(61, 138, 80, 0.2);
47
- --alpha-success30: rgba(61, 138, 80, 0.3);
48
- --alpha-warning08: rgba(180, 83, 9, 0.08);
49
- --alpha-warning15: rgba(180, 83, 9, 0.15);
50
- --alpha-warning20: rgba(180, 83, 9, 0.2);
51
- --alpha-info08: rgba(3, 105, 161, 0.08);
52
- --alpha-info15: rgba(3, 105, 161, 0.15);
53
- --alpha-info20: rgba(3, 105, 161, 0.2);
54
- --alpha-ink04: rgba(26, 26, 26, 0.04);
55
- --alpha-ink06: rgba(26, 26, 26, 0.06);
56
- --alpha-ink10: rgba(26, 26, 26, 0.1);
57
- --alpha-white15: rgba(255, 255, 255, 0.15);
58
- --alpha-white30: rgba(255, 255, 255, 0.3);
59
- --alpha-white90: rgba(255, 255, 255, 0.9);
60
- --error-base: #c0392b; /** Error state. WCAG AA: 4.8:1 on paper-white */
61
- --error-bg: rgba(231, 76, 60, 0.08); /** Error background. Decorative, not for text */
62
- --error-border: rgba(231, 76, 60, 0.2); /** Error border. Decorative, not for text */
63
- --ink-black: #1a1a1a; /** Primary text. WCAG AA: 15.8:1 on paper-white */
64
- --ink-dark: #2d2d2d; /** Secondary text. WCAG AA: 12.5:1 on paper-white */
65
- --ink-medium: #5c5c5c; /** Tertiary text. WCAG AA: 6.0:1 on paper-white */
66
- --ink-light: #8a8a8a; /** Placeholder, disabled text. Contrast: 3.5:1 (meets 3:1 minimum) */
67
- --ink-faint: #c4c4c4; /** Decorative only. NOT for readable text. Contrast: 1.7:1 */
68
- --overlay-dim: rgba(0, 0, 0, 0.5); /** Modal/dialog overlay background */
69
- --overlay-dark: rgba(0, 0, 0, 0.7); /** Darker overlay for critical modals (offline, error states) */
70
- --overlay-shadow-light: rgba(0, 0, 0, 0.1); /** Light shadow for subtle elevation */
71
- --overlay-shadow-subtle: rgba(0, 0, 0, 0.15); /** Subtle shadow for toasts and banners */
72
- --overlay-shadow-medium: rgba(0, 0, 0, 0.2); /** Medium shadow for cards and dropdowns */
73
- --overlay-shadow-strong: rgba(0, 0, 0, 0.3); /** Strong shadow for modals and floating elements */
74
- --overlay-shadow-heavy: rgba(0, 0, 0, 0.4); /** Heavy shadow for prominent floating elements */
75
- --overlay-glow-white: rgba(255, 255, 255, 0.15); /** Button radial glow overlay effect */
76
- --overlay-spinner-track: rgba(255, 255, 255, 0.3); /** Spinner base track color on dark backgrounds */
77
- --paper-white: #faf9fc;
78
- --paper-cream: #f5f4f8;
79
- --paper-warm: #ebe9f0;
80
- --semantic-warning: #b45309; /** Warning state. WCAG AA: 4.6:1 on paper-white */
81
- --semantic-warning-hover: #92400e; /** Warning hover. WCAG AA: 5.8:1 on paper-white */
82
- --semantic-info: #0369a1; /** Info state. WCAG AA: 4.8:1 on paper-white */
83
- --semantic-info-hover: #075985; /** Info hover. WCAG AA: 5.8:1 on paper-white */
84
- --button-height: 3.25rem;
85
- --button-height-secondary: 3rem;
86
- --button-radius: 0.625rem;
87
- --button-font-size: 0.9375rem;
88
- --button-font-weight: 500;
89
- --button-letter-spacing: 0.02em;
90
- --button-text-height: 2.5rem; /** Text button height */
91
- --button-text-font-size: 0.875rem; /** Text button font size */
92
- --button-spinner-size: 1rem; /** Loading spinner size */
93
- --button-spinner-border-width: 2px; /** Spinner border width */
94
- --container-max-width: 25rem;
95
- --container-max-width-wide: 26.25rem;
96
- --feedback-error-icon-size: 1rem; /** Error icon size */
97
- --feedback-notice-icon-size: 1.25rem; /** Notice icon size */
98
- --input-padding-y: 0.875rem;
99
- --input-padding-x: 1rem;
100
- --input-radius: 0.625rem;
101
- --input-font-size: 1rem;
102
- --label-font-size: 0.75rem;
103
- --label-font-weight: 500;
104
- --label-letter-spacing: 0.08em;
105
- --title-font-size: clamp(1.375rem, 1.27rem + 0.54vw, 1.75rem);
106
- --title-font-weight: 600;
107
- --title-letter-spacing: -0.02em;
108
- --form-subtitle-font-size: 0.9375rem; /** Form subtitle font size */
109
- --page-container-max-width: 25rem; /** Default page container max width (400px) */
110
- --page-container-max-width-wide: 26.25rem; /** Wide page container max width (420px) */
111
- --radius-sm: 0.5rem;
112
- --radius-md: 0.625rem;
113
- --radius-lg: 0.75rem;
114
- --radius-full: 9999px;
115
- --radius-card: clamp(0.75rem, 0.59rem + 0.78vw, 1rem);
116
- --shadow-card: 0 0.0625rem 0.1875rem rgba(26, 26, 26, 0.04), 0 0.375rem 1rem rgba(26, 26, 26, 0.06), 0 1.5rem 3rem rgba(26, 26, 26, 0.06);
117
- --shadow-button-hover-primary: 0 0.25rem 0.75rem rgba(124, 92, 255, 0.3), 0 0.125rem 0.25rem rgba(124, 92, 255, 0.2);
118
- --shadow-button-hover-success: 0 0.25rem 0.75rem rgba(61, 138, 80, 0.3), 0 0.125rem 0.25rem rgba(61, 138, 80, 0.2);
119
- --shadow-input-focus: 0 0 0 0.1875rem rgba(124, 92, 255, 0.12), inset 0 0.0625rem 0.125rem rgba(26, 26, 26, 0.04);
120
- --shadow-overlay: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
121
- --shadow-modal: 0 1.5rem 3rem rgba(0, 0, 0, 0.15);
122
- --shadow-otp-cell-focus: 0 0 0 0.25rem rgba(124, 92, 255, 0.1);
123
- --breakpoint-sm: 640px;
124
- --breakpoint-md: 768px;
125
- --breakpoint-lg: 1024px;
126
- --breakpoint-xl: 1280px;
127
- --z-index-dropdown: 1000;
128
- --z-index-sticky: 1020;
129
- --z-index-fixed: 1030;
130
- --z-index-modal-backdrop: 1040;
131
- --z-index-modal: 1050;
132
- --z-index-popover: 1060;
133
- --z-index-tooltip: 1070;
134
- --size-icon-sm: 1rem; /** Small icon size (16px) */
135
- --size-icon-md: 1.5rem; /** Medium icon size (24px) */
136
- --size-icon-lg: 2rem; /** Large icon size (32px) */
137
- --size-icon-xl: 2.5rem; /** Extra large icon size (40px) */
138
- --size-spinner-sm: 1rem; /** Small spinner (16px) */
139
- --size-spinner-md: 2rem; /** Medium spinner (32px) */
140
- --size-spinner-lg: 4rem; /** Large spinner (64px) */
141
- --size-spinner-button: 1.125rem; /** Spinner size inside buttons (18px) */
142
- --size-border-width-thin: 0.0625rem; /** Thin border (1px) */
143
- --size-border-width-base: 0.09375rem; /** Base border (1.5px) */
144
- --size-border-width-thick: 0.125rem; /** Thick border (2px) */
145
- --size-border-width-heavy: 0.1875rem; /** Heavy border (3px) */
146
- --size-border-width-bold: 0.25rem; /** Bold border (4px) */
147
- --size-chip-padding-sm: 0.125rem 0.5rem; /** Small chip padding */
148
- --size-chip-padding-md: 0.25rem 0.75rem; /** Medium chip padding */
149
- --size-close-button: 2rem; /** Close button size (32px) */
150
- --space-fixed-2xs: 0.0625rem; /** 1px - border, hairline */
151
- --space-fixed-xs: 0.125rem; /** 2px - focus ring */
152
- --space-fixed-sm: 0.25rem; /** 4px - small gap */
153
- --space-fixed-md: 0.5rem; /** 8px - standard gap */
154
- --space-xs: clamp(0.25rem, 0.23rem + 0.11vw, 0.3125rem);
155
- --space-sm: clamp(0.5rem, 0.46rem + 0.22vw, 0.625rem);
156
- --space-md: clamp(0.875rem, 0.77rem + 0.54vw, 1.25rem);
157
- --space-lg: clamp(1.25rem, 1.03rem + 1.09vw, 2rem);
158
- --space-xl: clamp(1.5rem, 1.15rem + 1.74vw, 2.75rem);
159
- --space-2xl: clamp(2rem, 1.35rem + 3.26vw, 4.5rem);
160
- --font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
161
- --font-size-sm: clamp(0.8125rem, 0.78rem + 0.16vw, 0.9375rem);
162
- --font-size-base: clamp(0.875rem, 0.83rem + 0.22vw, 1rem);
163
- --font-size-lg: clamp(1rem, 0.93rem + 0.33vw, 1.25rem);
164
- --font-size-xl: clamp(1.25rem, 1.14rem + 0.54vw, 1.5rem);
165
- --font-size-2xl: clamp(1.5rem, 1.35rem + 0.76vw, 1.875rem);
166
- --line-height-tight: 1.25;
167
- --line-height-normal: 1.5;
168
- --line-height-relaxed: 1.75;
169
- --button-text-padding-sm: var(--space-xs) var(--space-sm); /** Small text button padding */
170
- --button-text-padding-md: var(--space-sm) var(--space-md); /** Medium text button padding */
171
- --button-content-gap: var(--space-sm); /** Gap between button icon and text */
172
- --card-padding: var(--space-lg);
173
- --card-radius: var(--radius-card);
174
- --feedback-error-padding: var(--space-md); /** Error message padding */
175
- --feedback-error-radius: var(--radius-md); /** Error message border radius */
176
- --feedback-error-gap: var(--space-sm); /** Gap between error icon and text */
177
- --feedback-notice-padding: var(--space-md); /** Notice box padding */
178
- --feedback-notice-radius: var(--radius-md); /** Notice box border radius */
179
- --feedback-notice-gap: var(--space-sm); /** Gap between notice icon and text */
180
- --form-header-margin-bottom: var(--space-xl); /** Space below form header */
181
- --form-fields-gap: var(--space-lg); /** Gap between form fields */
182
- --form-footer-margin-top: var(--space-lg); /** Space above form footer */
183
- --field-group-gap: var(--space-sm); /** Gap between label and input in field group */
184
- --page-container-padding: var(--space-lg); /** Page container horizontal padding */
185
- --page-card-padding: var(--space-xl); /** Page card internal padding */
186
- --page-card-radius: var(--radius-lg); /** Page card border radius */
187
- }
1
+ :root,[data-theme=light]{--duration-instant:.15s;--duration-fast:.3s;--duration-smooth:.4s;--duration-slow:.6s;--duration-slower:.8s;--easing-ease:ease;--easing-ease-in-out:cubic-bezier(.4,0,.2,1);--easing-bounce:cubic-bezier(.34,1.56,.64,1);--ink-effect-ripple-duration:.6s;--ink-effect-ripple-easing:cubic-bezier(.4,0,.2,1);--ink-effect-spread-scale:2.5;--ink-effect-fade-duration:.3s;--transition-fast:.15s ease;--transition-smooth:.3s cubic-bezier(.4,0,.2,1);--transition-bounce:.4s cubic-bezier(.34,1.56,.64,1);--opacity-disabled:.6;--opacity-hover:.7;--opacity-loading:.6;--opacity-hidden:0;--opacity-visible:1;--brand-primary:#7c5cff;--brand-primary-hover:#6a4ae8;--brand-logo-text:#1a1a1a;--accent-primary:#6b4fd9;--accent-primary-hover:#5a3fc8;--accent-primary-pressed:#4a32b0;--accent-success:#357a46;--accent-success-hover:#2d6a3c;--accent-success-pressed:#255a32;--alpha-primary04:#7c5cff0a;--alpha-primary08:#7c5cff14;--alpha-primary10:#7c5cff1a;--alpha-primary12:#7c5cff1f;--alpha-primary15:#7c5cff26;--alpha-primary20:#7c5cff33;--alpha-primary30:#7c5cff4d;--alpha-primary40:#7c5cff66;--alpha-primary50:#7c5cff80;--alpha-success10:#3d8a501a;--alpha-success15:#3d8a5026;--alpha-success20:#3d8a5033;--alpha-success30:#3d8a504d;--alpha-warning08:#b4530914;--alpha-warning15:#b4530926;--alpha-warning20:#b4530933;--alpha-info08:#0369a114;--alpha-info15:#0369a126;--alpha-info20:#0369a133;--alpha-ink04:#1a1a1a0a;--alpha-ink06:#1a1a1a0f;--alpha-ink10:#1a1a1a1a;--alpha-white15:#ffffff26;--alpha-white30:#ffffff4d;--alpha-white90:#ffffffe6;--error-base:#c0392b;--error-bg:#e74c3c14;--error-border:#e74c3c33;--ink-black:#1a1a1a;--ink-dark:#2d2d2d;--ink-medium:#5c5c5c;--ink-light:#8a8a8a;--ink-faint:#c4c4c4;--overlay-dim:#00000080;--overlay-dark:#000000b3;--overlay-shadow-light:#0000001a;--overlay-shadow-subtle:#00000026;--overlay-shadow-medium:#0003;--overlay-shadow-strong:#0000004d;--overlay-shadow-heavy:#0006;--overlay-glow-white:#ffffff26;--overlay-spinner-track:#ffffff4d;--paper-white:#faf9fc;--paper-cream:#f5f4f8;--paper-warm:#ebe9f0;--semantic-warning:#b45309;--semantic-warning-hover:#92400e;--semantic-warning-bg:#fff8e1;--semantic-warning-light:#fef3c7;--semantic-success-bg:#d1fae5;--semantic-info:#0369a1;--semantic-info-hover:#075985;--semantic-info-bg:#e0f2fe;--button-height:3.25rem;--button-height-secondary:3rem;--button-radius:.625rem;--button-font-size:.9375rem;--button-font-weight:500;--button-letter-spacing:.02em;--button-dark-hover:#2a2a2a;--button-text-height:2.5rem;--button-text-font-size:.875rem;--button-spinner-size:1rem;--button-spinner-border-width:2px;--container-max-width:25rem;--container-max-width-wide:26.25rem;--feedback-error-icon-size:1rem;--feedback-notice-icon-size:1.25rem;--input-padding-y:.875rem;--input-padding-x:1rem;--input-radius:.625rem;--input-font-size:1rem;--label-font-size:.75rem;--label-font-weight:500;--label-letter-spacing:.08em;--title-font-size:clamp(1.375rem,1.27rem + .54vw,1.75rem);--title-font-weight:600;--title-letter-spacing:-.02em;--form-subtitle-font-size:.9375rem;--page-container-max-width:25rem;--page-container-max-width-wide:26.25rem;--radius-sm:.5rem;--radius-md:.625rem;--radius-lg:.75rem;--radius-full:9999px;--radius-card:clamp(.75rem,.59rem + .78vw,1rem);--shadow-card:0 .0625rem .1875rem #1a1a1a0a,0 .375rem 1rem #1a1a1a0f,0 1.5rem 3rem #1a1a1a0f;--shadow-button-hover-primary:0 .25rem .75rem #7c5cff4d,0 .125rem .25rem #7c5cff33;--shadow-button-hover-success:0 .25rem .75rem #3d8a504d,0 .125rem .25rem #3d8a5033;--shadow-input-focus:0 0 0 .1875rem #7c5cff1f,inset 0 .0625rem .125rem #1a1a1a0a;--shadow-overlay:0 .25rem .5rem #0000001a;--shadow-modal:0 1.5rem 3rem #00000026;--shadow-otp-cell-focus:0 0 0 .25rem #7c5cff1a;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--size-icon-sm:1rem;--size-icon-md:1.5rem;--size-icon-lg:2rem;--size-icon-xl:2.5rem;--size-spinner-sm:1rem;--size-spinner-md:2rem;--size-spinner-lg:4rem;--size-spinner-button:1.125rem;--size-border-width-thin:.0625rem;--size-border-width-base:.09375rem;--size-border-width-thick:.125rem;--size-border-width-heavy:.1875rem;--size-border-width-bold:.25rem;--size-chip-padding-sm:.125rem .5rem;--size-chip-padding-md:.25rem .75rem;--size-close-button:2rem;--space-fixed-2xs:.0625rem;--space-fixed-xs:.125rem;--space-fixed-sm:.25rem;--space-fixed-md:.5rem;--space-xs:clamp(.25rem,.23rem + .11vw,.3125rem);--space-sm:clamp(.5rem,.46rem + .22vw,.625rem);--space-md:clamp(.875rem,.77rem + .54vw,1.25rem);--space-lg:clamp(1.25rem,1.03rem + 1.09vw,2rem);--space-xl:clamp(1.5rem,1.15rem + 1.74vw,2.75rem);--space-2xl:clamp(2rem,1.35rem + 3.26vw,4.5rem);--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-sm:clamp(.8125rem,.78rem + .16vw,.9375rem);--font-size-base:clamp(.875rem,.83rem + .22vw,1rem);--font-size-lg:clamp(1rem,.93rem + .33vw,1.25rem);--font-size-xl:clamp(1.25rem,1.14rem + .54vw,1.5rem);--font-size-2xl:clamp(1.5rem,1.35rem + .76vw,1.875rem);--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--button-dark:var(--ink-black);--button-light:var(--paper-cream);--button-light-hover:var(--paper-warm);--button-text-padding-sm:var(--space-xs)var(--space-sm);--button-text-padding-md:var(--space-sm)var(--space-md);--button-content-gap:var(--space-sm);--card-padding:var(--space-lg);--card-radius:var(--radius-card);--feedback-error-padding:var(--space-md);--feedback-error-radius:var(--radius-md);--feedback-error-gap:var(--space-sm);--feedback-notice-padding:var(--space-md);--feedback-notice-radius:var(--radius-md);--feedback-notice-gap:var(--space-sm);--form-header-margin-bottom:var(--space-xl);--form-fields-gap:var(--space-lg);--form-footer-margin-top:var(--space-lg);--field-group-gap:var(--space-sm);--page-container-padding:var(--space-lg);--page-card-padding:var(--space-xl);--page-card-radius:var(--radius-lg)}