@reliability-design/web 1.4.5 → 1.4.7

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.
Files changed (142) hide show
  1. package/CHANGELOG.md +211 -49
  2. package/dist/components/rel-accordion/README.md +132 -132
  3. package/dist/components/rel-alert/README.md +145 -141
  4. package/dist/components/rel-autocomplete/README.md +156 -61
  5. package/dist/components/rel-avatar/README.md +116 -130
  6. package/dist/components/rel-badge/README.md +98 -93
  7. package/dist/components/rel-breadcrumb/README.md +96 -102
  8. package/dist/components/rel-button/README.md +160 -130
  9. package/dist/components/rel-calendar/README.md +109 -109
  10. package/dist/components/rel-card/README.md +75 -94
  11. package/dist/components/rel-cardmedia/README.md +100 -127
  12. package/dist/components/rel-carousel/README.md +184 -166
  13. package/dist/components/rel-checkbox/README.md +93 -75
  14. package/dist/components/rel-chip/README.md +132 -121
  15. package/dist/components/rel-container/README.md +107 -99
  16. package/dist/components/rel-date-picker/README.md +200 -289
  17. package/dist/components/rel-divider/README.md +78 -100
  18. package/dist/components/rel-drawer/README.md +187 -200
  19. package/dist/components/rel-kbd/README.md +141 -151
  20. package/dist/components/rel-menu/README.md +178 -151
  21. package/dist/components/rel-menubar/README.md +218 -329
  22. package/dist/components/rel-otp/README.md +170 -440
  23. package/dist/components/rel-pagination/README.md +100 -424
  24. package/dist/components/rel-popover/README.md +203 -568
  25. package/dist/components/rel-progress/README.md +88 -110
  26. package/dist/components/rel-radio/README.md +131 -135
  27. package/dist/components/rel-range-picker/README.md +162 -0
  28. package/dist/components/rel-resizable/README.md +199 -140
  29. package/dist/components/rel-segmented-button/README.md +155 -141
  30. package/dist/components/rel-select/README.md +154 -93
  31. package/dist/components/rel-sheet/README.md +168 -224
  32. package/dist/components/rel-skeleton/README.md +103 -0
  33. package/dist/components/rel-slider/README.md +130 -135
  34. package/dist/components/rel-snackbar/README.md +162 -134
  35. package/dist/components/rel-stepper/README.md +158 -160
  36. package/dist/components/rel-switch/README.md +108 -102
  37. package/dist/components/rel-tab/README.md +171 -163
  38. package/dist/components/rel-textfield/README.md +159 -69
  39. package/dist/components/rel-time-picker/README.md +122 -157
  40. package/dist/components/rel-toast/README.md +157 -148
  41. package/dist/components/rel-tooltip/README.md +108 -103
  42. package/dist/components/rel-upload/README.md +220 -0
  43. package/dist/index.d.mts +1387 -350
  44. package/dist/index.d.ts +1387 -350
  45. package/dist/index.js +5863 -3600
  46. package/dist/index.js.map +1 -1
  47. package/dist/index.mjs +5864 -3592
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/styles/vars.css +877 -866
  50. package/dist/{vars-XNMTSRVN.css → vars-JHTUGNRG.css} +877 -866
  51. package/package.json +4 -3
  52. package/dist/components/rel-accordion/rel-accordion.ts +0 -336
  53. package/dist/components/rel-alert/rel-alert.ts +0 -305
  54. package/dist/components/rel-autocomplete/rel-autocomplete.ts +0 -689
  55. package/dist/components/rel-avatar/rel-avatar.ts +0 -142
  56. package/dist/components/rel-badge/rel-badge.ts +0 -170
  57. package/dist/components/rel-breadcrumb/rel-breadcrumb.ts +0 -106
  58. package/dist/components/rel-button/rel-button.ts +0 -560
  59. package/dist/components/rel-calendar/index.ts +0 -1
  60. package/dist/components/rel-calendar/rel-calendar.ts +0 -519
  61. package/dist/components/rel-card/rel-card.ts +0 -88
  62. package/dist/components/rel-cardmedia/rel-cardmedia.ts +0 -88
  63. package/dist/components/rel-carousel/index.ts +0 -1
  64. package/dist/components/rel-carousel/rel-carousel.ts +0 -700
  65. package/dist/components/rel-chart/README.md +0 -286
  66. package/dist/components/rel-chart/index.ts +0 -1
  67. package/dist/components/rel-chart/rel-chart.ts +0 -754
  68. package/dist/components/rel-checkbox/rel-checkbox.ts +0 -382
  69. package/dist/components/rel-chip/rel-chip.ts +0 -472
  70. package/dist/components/rel-container/rel-container.ts +0 -95
  71. package/dist/components/rel-date-picker/date-format.test.ts +0 -43
  72. package/dist/components/rel-date-picker/date-format.ts +0 -47
  73. package/dist/components/rel-date-picker/index.ts +0 -1
  74. package/dist/components/rel-date-picker/rel-date-picker.ts +0 -1237
  75. package/dist/components/rel-divider/rel-divider.ts +0 -54
  76. package/dist/components/rel-drawer/index.ts +0 -1
  77. package/dist/components/rel-drawer/rel-drawer-footer.ts +0 -27
  78. package/dist/components/rel-drawer/rel-drawer.ts +0 -604
  79. package/dist/components/rel-kbd/rel-kbd.ts +0 -188
  80. package/dist/components/rel-layout/rel-layout.ts +0 -49
  81. package/dist/components/rel-menu/rel-menu.ts +0 -535
  82. package/dist/components/rel-menubar/index.ts +0 -2
  83. package/dist/components/rel-menubar/rel-menubar-menu.css +0 -3
  84. package/dist/components/rel-menubar/rel-menubar-menu.ts +0 -17
  85. package/dist/components/rel-menubar/rel-menubar.ts +0 -777
  86. package/dist/components/rel-nav-menu/README.md +0 -289
  87. package/dist/components/rel-nav-menu/index.ts +0 -3
  88. package/dist/components/rel-nav-menu/rel-nav-menu-item.ts +0 -243
  89. package/dist/components/rel-nav-menu/rel-nav-menu-panel.ts +0 -72
  90. package/dist/components/rel-nav-menu/rel-nav-menu.ts +0 -270
  91. package/dist/components/rel-navbar/README.md +0 -126
  92. package/dist/components/rel-navbar/rel-navbar.ts +0 -105
  93. package/dist/components/rel-otp/index.ts +0 -1
  94. package/dist/components/rel-otp/rel-otp.ts +0 -517
  95. package/dist/components/rel-pagination/index.ts +0 -1
  96. package/dist/components/rel-pagination/rel-pagination.ts +0 -509
  97. package/dist/components/rel-popover/index.ts +0 -2
  98. package/dist/components/rel-popover/rel-popover-content.ts +0 -81
  99. package/dist/components/rel-popover/rel-popover.ts +0 -444
  100. package/dist/components/rel-progress/rel-progress.ts +0 -225
  101. package/dist/components/rel-radio/rel-radio.ts +0 -305
  102. package/dist/components/rel-range-picker/rel-range-picker.ts +0 -1331
  103. package/dist/components/rel-resizable/index.ts +0 -3
  104. package/dist/components/rel-resizable/rel-resizable-group.ts +0 -405
  105. package/dist/components/rel-resizable/rel-resizable-handle.ts +0 -150
  106. package/dist/components/rel-resizable/rel-resizable-panel.ts +0 -58
  107. package/dist/components/rel-segmented-button/rel-segmented-button.ts +0 -213
  108. package/dist/components/rel-select/rel-select.ts +0 -1385
  109. package/dist/components/rel-sheet/rel-sheet.ts +0 -465
  110. package/dist/components/rel-sidebar/README.md +0 -209
  111. package/dist/components/rel-sidebar/rel-sidebar.ts +0 -1185
  112. package/dist/components/rel-skeleton/rel-skeleton.ts +0 -134
  113. package/dist/components/rel-slider/rel-slider.ts +0 -670
  114. package/dist/components/rel-snackbar/rel-snackbar.ts +0 -325
  115. package/dist/components/rel-stepper/rel-stepper.ts +0 -565
  116. package/dist/components/rel-switch/rel-switch.ts +0 -197
  117. package/dist/components/rel-tab/rel-tab.ts +0 -264
  118. package/dist/components/rel-table/README.md +0 -178
  119. package/dist/components/rel-table/rel-table-body.ts +0 -22
  120. package/dist/components/rel-table/rel-table-caption.ts +0 -30
  121. package/dist/components/rel-table/rel-table-cell.ts +0 -43
  122. package/dist/components/rel-table/rel-table-footer.ts +0 -24
  123. package/dist/components/rel-table/rel-table-head.ts +0 -47
  124. package/dist/components/rel-table/rel-table-header.ts +0 -22
  125. package/dist/components/rel-table/rel-table-row.ts +0 -37
  126. package/dist/components/rel-table/rel-table.ts +0 -62
  127. package/dist/components/rel-textfield/rel-textfield.ts +0 -866
  128. package/dist/components/rel-time-picker/rel-time-picker.ts +0 -1126
  129. package/dist/components/rel-toast/rel-toast.ts +0 -204
  130. package/dist/components/rel-tooltip/rel-tooltip.ts +0 -190
  131. package/dist/components/rel-topbar/rel-topbar-actions.ts +0 -27
  132. package/dist/components/rel-topbar/rel-topbar-brand.ts +0 -54
  133. package/dist/components/rel-topbar/rel-topbar-dropdown-item.ts +0 -69
  134. package/dist/components/rel-topbar/rel-topbar-dropdown.ts +0 -31
  135. package/dist/components/rel-topbar/rel-topbar-item.ts +0 -324
  136. package/dist/components/rel-topbar/rel-topbar-mobile-panel.ts +0 -27
  137. package/dist/components/rel-topbar/rel-topbar-profile.ts +0 -243
  138. package/dist/components/rel-topbar/rel-topbar-utilities.ts +0 -27
  139. package/dist/components/rel-topbar/rel-topbar.ts +0 -446
  140. package/dist/components/rel-upload/UPLOAD-DESIGN-CHANGES.md +0 -134
  141. package/dist/components/rel-upload/rel-upload-actions.ts +0 -163
  142. package/dist/components/rel-upload/rel-upload.ts +0 -943
@@ -1,866 +1,877 @@
1
- /* AUTO-GENERATED by figma-pipeline/scripts/build-vars.ts — DO NOT EDIT */
2
- /* Source: figma-pipeline/tokens/{primitives, color tokens}/*.tokens.json (RelDS_A1 V2) */
3
- /* Contains: color + foundation primitives, semantic color tokens (light/dark). */
4
-
5
- :root {
6
- /* ==================== PRIMITIVES — COLOR (mode-agnostic) ==================== */
7
- --rel-colors-gray-0: #FFFFFF;
8
- --rel-colors-gray-50: #F7F7F7;
9
- --rel-colors-gray-100: #E5E5E5;
10
- --rel-colors-gray-200: #C2C2C2;
11
- --rel-colors-gray-300: #A3A3A3;
12
- --rel-colors-gray-350: #8C8C8C;
13
- --rel-colors-gray-400: #7D7D7D;
14
- --rel-colors-gray-500: #525252;
15
- --rel-colors-gray-600: #404040;
16
- --rel-colors-gray-700: #2B2B2B;
17
- --rel-colors-gray-800: #1B1B1B;
18
- --rel-colors-gray-900: #111111;
19
- --rel-colors-gray-950: #0B0B0B;
20
- --rel-colors-brand-400: #28F6AB;
21
- --rel-colors-brand-500: #00F49C;
22
- --rel-colors-brand-600: #00DB8B;
23
- --rel-colors-green-50: #EDF8F4;
24
- --rel-colors-green-100: #D5F1E7;
25
- --rel-colors-green-200: #91D9BF;
26
- --rel-colors-green-300: #5FC9A3;
27
- --rel-colors-green-400: #30B887;
28
- --rel-colors-green-500: #00A86B;
29
- --rel-colors-green-600: #008655;
30
- --rel-colors-green-700: #006440;
31
- --rel-colors-green-800: #003823;
32
- --rel-colors-green-900: #002115;
33
- --rel-colors-blue-50: #EFF7FF;
34
- --rel-colors-blue-100: #DEEFFF;
35
- --rel-colors-blue-200: #B6E1FF;
36
- --rel-colors-blue-300: #75C9FF;
37
- --rel-colors-blue-400: #2CAFFF;
38
- --rel-colors-blue-500: #0091EA;
39
- --rel-colors-blue-600: #007DD4;
40
- --rel-colors-blue-700: #00528D;
41
- --rel-colors-blue-800: #053C66;
42
- --rel-colors-blue-900: #042B4D;
43
- --rel-colors-red-50: #FFEBEB;
44
- --rel-colors-red-100: #FFDBDB;
45
- --rel-colors-red-200: #FFB2B2;
46
- --rel-colors-red-300: #FF9393;
47
- --rel-colors-red-400: #FF7272;
48
- --rel-colors-red-500: #FF5252;
49
- --rel-colors-red-600: #CE3131;
50
- --rel-colors-red-700: #942323;
51
- --rel-colors-red-800: #3E0E0E;
52
- --rel-colors-red-900: #2C0B0E;
53
- --rel-colors-yellow-50: #FFFBF5;
54
- --rel-colors-yellow-100: #FFEFD1;
55
- --rel-colors-yellow-200: #FFE3AE;
56
- --rel-colors-yellow-300: #FFD78A;
57
- --rel-colors-yellow-400: #FFCB66;
58
- --rel-colors-yellow-500: #FFB82E;
59
- --rel-colors-yellow-600: #CC9324;
60
- --rel-colors-yellow-700: #997228;
61
- --rel-colors-yellow-800: #4E380E;
62
- --rel-colors-yellow-900: #32260D;
63
- --rel-colors-orange-50: #FFF7F2;
64
- --rel-colors-orange-100: #FFDBC1;
65
- --rel-colors-orange-200: #FFC091;
66
- --rel-colors-orange-300: #FFA460;
67
- --rel-colors-orange-400: #FF8830;
68
- --rel-colors-orange-500: #FF6D00;
69
- --rel-colors-orange-600: #CC5700;
70
- --rel-colors-orange-700: #994100;
71
- --rel-colors-orange-800: #662B00;
72
- --rel-colors-orange-900: #321500;
73
- --rel-colors-dark-alpha-1: rgba(11, 11, 11, 0.05);
74
- --rel-colors-dark-alpha-2: rgba(11, 11, 11, 0.08);
75
- --rel-colors-dark-alpha-3: rgba(11, 11, 11, 0.1);
76
- --rel-colors-dark-alpha-4: rgba(11, 11, 11, 0.2);
77
- --rel-colors-dark-alpha-5: rgba(11, 11, 11, 0.25);
78
- --rel-colors-dark-alpha-6: rgba(11, 11, 11, 0.3);
79
- --rel-colors-dark-alpha-7: rgba(11, 11, 11, 0.35);
80
- --rel-colors-dark-alpha-8: rgba(11, 11, 11, 0.4);
81
- --rel-colors-dark-alpha-9: rgba(11, 11, 11, 0.45);
82
- --rel-colors-dark-alpha-10: rgba(11, 11, 11, 0.5);
83
- --rel-colors-light-alpha-1: rgba(255, 255, 255, 0.05);
84
- --rel-colors-light-alpha-2: rgba(255, 255, 255, 0.08);
85
- --rel-colors-light-alpha-3: rgba(255, 255, 255, 0.1);
86
- --rel-colors-light-alpha-4: rgba(255, 255, 255, 0.2);
87
- --rel-colors-light-alpha-5: rgba(255, 255, 255, 0.25);
88
- --rel-colors-light-alpha-6: rgba(255, 255, 255, 0.3);
89
- --rel-colors-light-alpha-7: rgba(255, 255, 255, 0.35);
90
- --rel-colors-light-alpha-8: rgba(255, 255, 255, 0.4);
91
- --rel-colors-light-alpha-9: rgba(255, 255, 255, 0.45);
92
- --rel-colors-light-alpha-10: rgba(255, 255, 255, 0.5);
93
-
94
- /* ==================== PRIMITIVES — FOUNDATIONS ==================== */
95
-
96
- /* --- fonts --- */
97
- --rel-fonts-font-family: Poppins, sans-serif;
98
- --rel-fonts-weight-headings-semibold: 600;
99
- --rel-fonts-weight-body-regular: 400;
100
- --rel-fonts-weight-body-medium: 500;
101
- --rel-fonts-weight-body-semibold: 600;
102
- --rel-fonts-size-headings-3xl: 36px;
103
- --rel-fonts-size-headings-2xl: 32px;
104
- --rel-fonts-size-headings-xl: 28px;
105
- --rel-fonts-size-headings-lg: 24px;
106
- --rel-fonts-size-headings-md: 20px;
107
- --rel-fonts-size-headings-sm: 16px;
108
- --rel-fonts-size-headings-xs: 14px;
109
- --rel-fonts-size-body-xl: 20px;
110
- --rel-fonts-size-body-lg: 16px;
111
- --rel-fonts-size-body-md: 14px;
112
- --rel-fonts-size-body-sm: 12px;
113
- --rel-fonts-size-body-xs: 10px;
114
- --rel-fonts-size-paragraph-xl: 20px;
115
- --rel-fonts-size-paragraph-lg: 16px;
116
- --rel-fonts-size-paragraph-md: 14px;
117
- --rel-fonts-size-paragraph-sm: 12px;
118
- --rel-fonts-size-paragraph-xs: 10px;
119
- --rel-fonts-size-label-xl: 20px;
120
- --rel-fonts-size-label-lg: 16px;
121
- --rel-fonts-size-label-md: 14px;
122
- --rel-fonts-size-label-sm: 12px;
123
- --rel-fonts-size-label-xs: 10px;
124
- --rel-fonts-size-action-xl: 16px;
125
- --rel-fonts-size-action-lg: 14px;
126
- --rel-fonts-size-action-md: 12px;
127
- --rel-fonts-line-height-headings-3xl: 44px;
128
- --rel-fonts-line-height-headings-2xl: 40px;
129
- --rel-fonts-line-height-headings-xl: 36px;
130
- --rel-fonts-line-height-headings-lg: 32px;
131
- --rel-fonts-line-height-headings-md: 28px;
132
- --rel-fonts-line-height-headings-sm: 24px;
133
- --rel-fonts-line-height-headings-xs: 22px;
134
- --rel-fonts-line-height-body-xl: 28px;
135
- --rel-fonts-line-height-body-lg: 24px;
136
- --rel-fonts-line-height-body-md: 22px;
137
- --rel-fonts-line-height-body-sm: 20px;
138
- --rel-fonts-line-height-body-xs: 18px;
139
- --rel-fonts-line-height-paragraph-xl: 30px;
140
- --rel-fonts-line-height-paragraph-lg: 26px;
141
- --rel-fonts-line-height-paragraph-md: 24px;
142
- --rel-fonts-line-height-paragraph-sm: 22px;
143
- --rel-fonts-line-height-paragraph-xs: 20px;
144
- --rel-fonts-line-height-label-xl: 24px;
145
- --rel-fonts-line-height-label-lg: 20px;
146
- --rel-fonts-line-height-label-md: 18px;
147
- --rel-fonts-line-height-label-sm: 16px;
148
- --rel-fonts-line-height-label-xs: 14px;
149
- --rel-fonts-line-height-action-xl: 24px;
150
- --rel-fonts-line-height-action-lg: 24px;
151
- --rel-fonts-line-height-action-md: 24px;
152
- --rel-fonts-letter-spacing-md: -1.2px;
153
- --rel-fonts-letter-spacing-sm: -0.6px;
154
- --rel-fonts-letter-spacing-xs: -0.2px;
155
- --rel-fonts-letter-spacing-none: 0px;
156
-
157
- /* --- spacing --- */
158
- --rel-spacing-3xs: 2px;
159
- --rel-spacing-2xs: 4px;
160
- --rel-spacing-xs: 8px;
161
- --rel-spacing-sm: 12px;
162
- --rel-spacing-md: 16px;
163
- --rel-spacing-lg: 20px;
164
- --rel-spacing-xl: 24px;
165
- --rel-spacing-2xl: 32px;
166
- --rel-spacing-3xl: 48px;
167
-
168
- /* --- border-radius --- */
169
- --rel-border-radius-square: 0px;
170
- --rel-border-radius-xs: 4px;
171
- --rel-border-radius-sm: 8px;
172
- --rel-border-radius-md: 16px;
173
- --rel-border-radius-lg: 24px;
174
- --rel-border-radius-xl: 32px;
175
- --rel-border-radius-full-rounded: 1000px;
176
-
177
- /* --- stroke --- */
178
- --rel-stroke-xs: 0.5px;
179
- --rel-stroke-sm: 1px;
180
- --rel-stroke-md: 1.5px;
181
- --rel-stroke-lg: 2px;
182
-
183
- /* ==================== TYPOGRAPHY — COMPOSITE ROLES ==================== */
184
- --rel-headings-3xl-font-family: var(--rel-fonts-font-family);
185
- --rel-headings-3xl-font-weight: var(--rel-fonts-weight-headings-semibold);
186
- --rel-headings-3xl-font-size: var(--rel-fonts-size-headings-3xl);
187
- --rel-headings-3xl-line-height: var(--rel-fonts-line-height-headings-3xl);
188
- --rel-headings-3xl-letter-spacing: var(--rel-fonts-letter-spacing-md);
189
- --rel-headings-2xl-font-family: var(--rel-fonts-font-family);
190
- --rel-headings-2xl-font-weight: var(--rel-fonts-weight-headings-semibold);
191
- --rel-headings-2xl-font-size: var(--rel-fonts-size-headings-2xl);
192
- --rel-headings-2xl-line-height: var(--rel-fonts-line-height-headings-2xl);
193
- --rel-headings-2xl-letter-spacing: var(--rel-fonts-letter-spacing-md);
194
- --rel-headings-xl-font-family: var(--rel-fonts-font-family);
195
- --rel-headings-xl-font-weight: var(--rel-fonts-weight-headings-semibold);
196
- --rel-headings-xl-font-size: var(--rel-fonts-size-headings-xl);
197
- --rel-headings-xl-line-height: var(--rel-fonts-line-height-headings-xl);
198
- --rel-headings-xl-letter-spacing: var(--rel-fonts-letter-spacing-sm);
199
- --rel-headings-lg-font-family: var(--rel-fonts-font-family);
200
- --rel-headings-lg-font-weight: var(--rel-fonts-weight-headings-semibold);
201
- --rel-headings-lg-font-size: var(--rel-fonts-size-headings-lg);
202
- --rel-headings-lg-line-height: var(--rel-fonts-line-height-headings-lg);
203
- --rel-headings-lg-letter-spacing: var(--rel-fonts-letter-spacing-sm);
204
- --rel-headings-md-font-family: var(--rel-fonts-font-family);
205
- --rel-headings-md-font-weight: var(--rel-fonts-weight-headings-semibold);
206
- --rel-headings-md-font-size: var(--rel-fonts-size-headings-md);
207
- --rel-headings-md-line-height: var(--rel-fonts-line-height-headings-md);
208
- --rel-headings-md-letter-spacing: var(--rel-fonts-letter-spacing-sm);
209
- --rel-headings-sm-font-family: var(--rel-fonts-font-family);
210
- --rel-headings-sm-font-weight: var(--rel-fonts-weight-headings-semibold);
211
- --rel-headings-sm-font-size: var(--rel-fonts-size-headings-sm);
212
- --rel-headings-sm-line-height: var(--rel-fonts-line-height-headings-sm);
213
- --rel-headings-sm-letter-spacing: var(--rel-fonts-letter-spacing-xs);
214
- --rel-headings-xs-font-family: var(--rel-fonts-font-family);
215
- --rel-headings-xs-font-weight: var(--rel-fonts-weight-headings-semibold);
216
- --rel-headings-xs-font-size: var(--rel-fonts-size-headings-xs);
217
- --rel-headings-xs-line-height: var(--rel-fonts-line-height-headings-xs);
218
- --rel-headings-xs-letter-spacing: var(--rel-fonts-letter-spacing-xs);
219
- --rel-body-xl-regular-font-family: var(--rel-fonts-font-family);
220
- --rel-body-xl-regular-font-weight: var(--rel-fonts-weight-body-regular);
221
- --rel-body-xl-regular-font-size: var(--rel-fonts-size-body-xl);
222
- --rel-body-xl-regular-line-height: var(--rel-fonts-line-height-body-xl);
223
- --rel-body-xl-regular-letter-spacing: var(--rel-fonts-letter-spacing-sm);
224
- --rel-body-xl-medium-font-family: var(--rel-fonts-font-family);
225
- --rel-body-xl-medium-font-weight: var(--rel-fonts-weight-body-medium);
226
- --rel-body-xl-medium-font-size: var(--rel-fonts-size-body-xl);
227
- --rel-body-xl-medium-line-height: var(--rel-fonts-line-height-body-xl);
228
- --rel-body-xl-medium-letter-spacing: var(--rel-fonts-letter-spacing-sm);
229
- --rel-body-xl-semibold-font-family: var(--rel-fonts-font-family);
230
- --rel-body-xl-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
231
- --rel-body-xl-semibold-font-size: var(--rel-fonts-size-body-xl);
232
- --rel-body-xl-semibold-line-height: var(--rel-fonts-line-height-body-xl);
233
- --rel-body-xl-semibold-letter-spacing: var(--rel-fonts-letter-spacing-sm);
234
- --rel-body-lg-regular-font-family: var(--rel-fonts-font-family);
235
- --rel-body-lg-regular-font-weight: var(--rel-fonts-weight-body-regular);
236
- --rel-body-lg-regular-font-size: var(--rel-fonts-size-body-lg);
237
- --rel-body-lg-regular-line-height: var(--rel-fonts-line-height-body-lg);
238
- --rel-body-lg-regular-letter-spacing: var(--rel-fonts-letter-spacing-sm);
239
- --rel-body-lg-medium-font-family: var(--rel-fonts-font-family);
240
- --rel-body-lg-medium-font-weight: var(--rel-fonts-weight-body-medium);
241
- --rel-body-lg-medium-font-size: var(--rel-fonts-size-body-lg);
242
- --rel-body-lg-medium-line-height: var(--rel-fonts-line-height-body-lg);
243
- --rel-body-lg-medium-letter-spacing: var(--rel-fonts-letter-spacing-sm);
244
- --rel-body-lg-semibold-font-family: var(--rel-fonts-font-family);
245
- --rel-body-lg-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
246
- --rel-body-lg-semibold-font-size: var(--rel-fonts-size-body-lg);
247
- --rel-body-lg-semibold-line-height: var(--rel-fonts-line-height-body-lg);
248
- --rel-body-lg-semibold-letter-spacing: var(--rel-fonts-letter-spacing-sm);
249
- --rel-body-md-regular-font-family: var(--rel-fonts-font-family);
250
- --rel-body-md-regular-font-weight: var(--rel-fonts-weight-body-regular);
251
- --rel-body-md-regular-font-size: var(--rel-fonts-size-body-md);
252
- --rel-body-md-regular-line-height: var(--rel-fonts-line-height-body-md);
253
- --rel-body-md-regular-letter-spacing: var(--rel-fonts-letter-spacing-xs);
254
- --rel-body-md-medium-font-family: var(--rel-fonts-font-family);
255
- --rel-body-md-medium-font-weight: var(--rel-fonts-weight-body-medium);
256
- --rel-body-md-medium-font-size: var(--rel-fonts-size-body-md);
257
- --rel-body-md-medium-line-height: var(--rel-fonts-line-height-body-md);
258
- --rel-body-md-medium-letter-spacing: var(--rel-fonts-letter-spacing-xs);
259
- --rel-body-md-semibold-font-family: var(--rel-fonts-font-family);
260
- --rel-body-md-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
261
- --rel-body-md-semibold-font-size: var(--rel-fonts-size-body-md);
262
- --rel-body-md-semibold-line-height: var(--rel-fonts-line-height-body-md);
263
- --rel-body-md-semibold-letter-spacing: var(--rel-fonts-letter-spacing-xs);
264
- --rel-body-sm-regular-font-family: var(--rel-fonts-font-family);
265
- --rel-body-sm-regular-font-weight: var(--rel-fonts-weight-body-regular);
266
- --rel-body-sm-regular-font-size: var(--rel-fonts-size-body-sm);
267
- --rel-body-sm-regular-line-height: var(--rel-fonts-line-height-body-sm);
268
- --rel-body-sm-regular-letter-spacing: var(--rel-fonts-letter-spacing-xs);
269
- --rel-body-sm-medium-font-family: var(--rel-fonts-font-family);
270
- --rel-body-sm-medium-font-weight: var(--rel-fonts-weight-body-medium);
271
- --rel-body-sm-medium-font-size: var(--rel-fonts-size-body-sm);
272
- --rel-body-sm-medium-line-height: var(--rel-fonts-line-height-body-sm);
273
- --rel-body-sm-medium-letter-spacing: var(--rel-fonts-letter-spacing-xs);
274
- --rel-body-sm-semibold-font-family: var(--rel-fonts-font-family);
275
- --rel-body-sm-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
276
- --rel-body-sm-semibold-font-size: var(--rel-fonts-size-body-sm);
277
- --rel-body-sm-semibold-line-height: var(--rel-fonts-line-height-body-sm);
278
- --rel-body-sm-semibold-letter-spacing: var(--rel-fonts-letter-spacing-xs);
279
- --rel-body-xs-regular-font-family: var(--rel-fonts-font-family);
280
- --rel-body-xs-regular-font-weight: var(--rel-fonts-weight-body-regular);
281
- --rel-body-xs-regular-font-size: var(--rel-fonts-size-body-xs);
282
- --rel-body-xs-regular-line-height: var(--rel-fonts-line-height-body-xs);
283
- --rel-body-xs-regular-letter-spacing: var(--rel-fonts-letter-spacing-xs);
284
- --rel-body-xs-medium-font-family: var(--rel-fonts-font-family);
285
- --rel-body-xs-medium-font-weight: var(--rel-fonts-weight-body-medium);
286
- --rel-body-xs-medium-font-size: var(--rel-fonts-size-body-xs);
287
- --rel-body-xs-medium-line-height: var(--rel-fonts-line-height-body-xs);
288
- --rel-body-xs-medium-letter-spacing: var(--rel-fonts-letter-spacing-xs);
289
- --rel-body-xs-semibold-font-family: var(--rel-fonts-font-family);
290
- --rel-body-xs-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
291
- --rel-body-xs-semibold-font-size: var(--rel-fonts-size-body-xs);
292
- --rel-body-xs-semibold-line-height: var(--rel-fonts-line-height-body-xs);
293
- --rel-body-xs-semibold-letter-spacing: var(--rel-fonts-letter-spacing-xs);
294
- --rel-paragraph-xl-font-family: var(--rel-fonts-font-family);
295
- --rel-paragraph-xl-font-weight: var(--rel-fonts-weight-body-regular);
296
- --rel-paragraph-xl-font-size: var(--rel-fonts-size-paragraph-xl);
297
- --rel-paragraph-xl-line-height: var(--rel-fonts-line-height-paragraph-xl);
298
- --rel-paragraph-xl-letter-spacing: var(--rel-fonts-letter-spacing-xs);
299
- --rel-paragraph-lg-font-family: var(--rel-fonts-font-family);
300
- --rel-paragraph-lg-font-weight: var(--rel-fonts-weight-body-regular);
301
- --rel-paragraph-lg-font-size: var(--rel-fonts-size-paragraph-lg);
302
- --rel-paragraph-lg-line-height: var(--rel-fonts-line-height-paragraph-lg);
303
- --rel-paragraph-lg-letter-spacing: var(--rel-fonts-letter-spacing-xs);
304
- --rel-paragraph-md-font-family: var(--rel-fonts-font-family);
305
- --rel-paragraph-md-font-weight: var(--rel-fonts-weight-body-regular);
306
- --rel-paragraph-md-font-size: var(--rel-fonts-size-paragraph-md);
307
- --rel-paragraph-md-line-height: var(--rel-fonts-line-height-paragraph-md);
308
- --rel-paragraph-md-letter-spacing: var(--rel-fonts-letter-spacing-xs);
309
- --rel-paragraph-sm-font-family: var(--rel-fonts-font-family);
310
- --rel-paragraph-sm-font-weight: var(--rel-fonts-weight-body-regular);
311
- --rel-paragraph-sm-font-size: var(--rel-fonts-size-paragraph-sm);
312
- --rel-paragraph-sm-line-height: var(--rel-fonts-line-height-paragraph-sm);
313
- --rel-paragraph-sm-letter-spacing: var(--rel-fonts-letter-spacing-xs);
314
- --rel-paragraph-xs-font-family: var(--rel-fonts-font-family);
315
- --rel-paragraph-xs-font-weight: var(--rel-fonts-weight-body-regular);
316
- --rel-paragraph-xs-font-size: var(--rel-fonts-size-paragraph-xs);
317
- --rel-paragraph-xs-line-height: var(--rel-fonts-line-height-paragraph-xs);
318
- --rel-paragraph-xs-letter-spacing: var(--rel-fonts-letter-spacing-xs);
319
- --rel-label-xl-font-family: var(--rel-fonts-font-family);
320
- --rel-label-xl-font-weight: var(--rel-fonts-weight-body-medium);
321
- --rel-label-xl-font-size: var(--rel-fonts-size-label-xl);
322
- --rel-label-xl-line-height: var(--rel-fonts-line-height-label-xl);
323
- --rel-label-xl-letter-spacing: var(--rel-fonts-letter-spacing-sm);
324
- --rel-label-lg-font-family: var(--rel-fonts-font-family);
325
- --rel-label-lg-font-weight: var(--rel-fonts-weight-body-medium);
326
- --rel-label-lg-font-size: var(--rel-fonts-size-label-lg);
327
- --rel-label-lg-line-height: var(--rel-fonts-line-height-label-lg);
328
- --rel-label-lg-letter-spacing: var(--rel-fonts-letter-spacing-sm);
329
- --rel-label-md-font-family: var(--rel-fonts-font-family);
330
- --rel-label-md-font-weight: var(--rel-fonts-weight-body-medium);
331
- --rel-label-md-font-size: var(--rel-fonts-size-label-md);
332
- --rel-label-md-line-height: var(--rel-fonts-line-height-label-md);
333
- --rel-label-md-letter-spacing: var(--rel-fonts-letter-spacing-sm);
334
- --rel-label-sm-font-family: var(--rel-fonts-font-family);
335
- --rel-label-sm-font-weight: var(--rel-fonts-weight-body-medium);
336
- --rel-label-sm-font-size: var(--rel-fonts-size-label-sm);
337
- --rel-label-sm-line-height: var(--rel-fonts-line-height-label-sm);
338
- --rel-label-sm-letter-spacing: var(--rel-fonts-letter-spacing-sm);
339
- --rel-label-xs-font-family: var(--rel-fonts-font-family);
340
- --rel-label-xs-font-weight: var(--rel-fonts-weight-body-medium);
341
- --rel-label-xs-font-size: var(--rel-fonts-size-label-xs);
342
- --rel-label-xs-line-height: var(--rel-fonts-line-height-label-xs);
343
- --rel-label-xs-letter-spacing: var(--rel-fonts-letter-spacing-sm);
344
- --rel-action-xl-font-family: var(--rel-fonts-font-family);
345
- --rel-action-xl-font-weight: var(--rel-fonts-weight-body-semibold);
346
- --rel-action-xl-font-size: var(--rel-fonts-size-action-xl);
347
- --rel-action-xl-line-height: var(--rel-fonts-line-height-action-xl);
348
- --rel-action-xl-letter-spacing: var(--rel-fonts-letter-spacing-xs);
349
- --rel-action-lg-font-family: var(--rel-fonts-font-family);
350
- --rel-action-lg-font-weight: var(--rel-fonts-weight-body-semibold);
351
- --rel-action-lg-font-size: var(--rel-fonts-size-action-lg);
352
- --rel-action-lg-line-height: var(--rel-fonts-line-height-action-lg);
353
- --rel-action-lg-letter-spacing: var(--rel-fonts-letter-spacing-xs);
354
- --rel-action-md-font-family: var(--rel-fonts-font-family);
355
- --rel-action-md-font-weight: var(--rel-fonts-weight-body-semibold);
356
- --rel-action-md-font-size: var(--rel-fonts-size-action-md);
357
- --rel-action-md-line-height: var(--rel-fonts-line-height-action-md);
358
- --rel-action-md-letter-spacing: var(--rel-fonts-letter-spacing-xs);
359
-
360
- /* ==================== CARRY-FORWARD (not in Figma export) ==================== */
361
- /* --- shadows (carry-forward) --- */
362
- --rel-shadows-shadow-100: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 1px 3px 1px rgba(0,0,0,0.15);
363
- --rel-shadows-shadow-200: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 2px 6px 2px rgba(0,0,0,0.15);
364
- --rel-shadows-shadow-300: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 4px 8px 3px rgba(0,0,0,0.15);
365
- --rel-shadows-shadow-400: 0px 2px 3px 0px rgba(0,0,0,0.3), 0px 6px 10px 4px rgba(0,0,0,0.15);
366
- --rel-shadows-shadow-500: 0px 4px 4px 0px rgba(0,0,0,0.3), 0px 8px 12px 6px rgba(0,0,0,0.15);
367
- /* --- overlay (carry-forward) --- */
368
- --rel-overlay-scrim: rgba(0,0,0,0.5);
369
-
370
- /* ==================== SEMANTIC — LIGHT ==================== */
371
- /* --- bg --- */
372
- --rel-bg-static-light: var(--rel-colors-gray-0);
373
- --rel-bg-static-dark: var(--rel-colors-gray-900);
374
- --rel-bg-page: var(--rel-colors-gray-50);
375
- --rel-bg-page-inverse: var(--rel-colors-gray-950);
376
- --rel-bg-surface: var(--rel-colors-gray-0);
377
- --rel-bg-surface-elevated: var(--rel-colors-gray-50);
378
- --rel-bg-surface-inverse: var(--rel-colors-gray-950);
379
- --rel-bg-surface-brand: var(--rel-colors-brand-500);
380
- --rel-bg-neutral: var(--rel-colors-gray-0);
381
- --rel-bg-neutral-elevated-1: var(--rel-colors-gray-50);
382
- --rel-bg-neutral-elevated-2: var(--rel-colors-gray-100);
383
- --rel-bg-neutral-elevated-3: var(--rel-colors-gray-300);
384
- --rel-bg-neutral-inverse-1: var(--rel-colors-gray-800);
385
- --rel-bg-neutral-inverse-2: var(--rel-colors-gray-950);
386
- --rel-bg-brand: var(--rel-colors-brand-500);
387
- --rel-bg-danger-light: var(--rel-colors-red-50);
388
- --rel-bg-danger: var(--rel-colors-red-500);
389
- --rel-bg-danger-strong: var(--rel-colors-red-800);
390
- --rel-bg-warning-light: var(--rel-colors-yellow-100);
391
- --rel-bg-warning: var(--rel-colors-yellow-400);
392
- --rel-bg-warning-strong: var(--rel-colors-yellow-800);
393
- --rel-bg-info-light: var(--rel-colors-blue-50);
394
- --rel-bg-info: var(--rel-colors-blue-500);
395
- --rel-bg-info-strong: var(--rel-colors-blue-800);
396
- --rel-bg-success-light: var(--rel-colors-green-50);
397
- --rel-bg-success: var(--rel-colors-green-500);
398
- --rel-bg-success-strong: var(--rel-colors-green-800);
399
-
400
- /* --- text --- */
401
- --rel-text-static-light: var(--rel-colors-gray-0);
402
- --rel-text-static-dark: var(--rel-colors-gray-950);
403
- --rel-text-default: var(--rel-colors-gray-950);
404
- --rel-text-label: var(--rel-colors-gray-700);
405
- --rel-text-body: var(--rel-colors-gray-500);
406
- --rel-text-caption: var(--rel-colors-gray-500);
407
- --rel-text-placeholder: var(--rel-colors-gray-500);
408
- --rel-text-disabled: var(--rel-colors-gray-200);
409
- --rel-text-inverse: var(--rel-colors-gray-0);
410
- --rel-text-danger: var(--rel-colors-red-600);
411
- --rel-text-warning: var(--rel-colors-yellow-800);
412
- --rel-text-info: var(--rel-colors-blue-700);
413
- --rel-text-success: var(--rel-colors-green-700);
414
-
415
- /* --- border --- */
416
- --rel-border-default: var(--rel-colors-gray-100);
417
- --rel-border-subtle: var(--rel-colors-gray-50);
418
- --rel-border-accent: var(--rel-colors-gray-350);
419
- --rel-border-strong: var(--rel-colors-gray-950);
420
- --rel-border-inverse: var(--rel-colors-gray-0);
421
- --rel-border-brand: var(--rel-colors-brand-500);
422
- --rel-border-success-subtle: var(--rel-colors-green-100);
423
- --rel-border-success: var(--rel-colors-green-600);
424
- --rel-border-success-strong: var(--rel-colors-green-800);
425
- --rel-border-danger-subtle: var(--rel-colors-red-100);
426
- --rel-border-danger: var(--rel-colors-red-600);
427
- --rel-border-danger-strong: var(--rel-colors-red-800);
428
- --rel-border-warning-subtle: var(--rel-colors-yellow-100);
429
- --rel-border-warning: var(--rel-colors-yellow-700);
430
- --rel-border-warning-strong: var(--rel-colors-yellow-800);
431
- --rel-border-focus: var(--rel-colors-gray-950);
432
- --rel-border-focus-subtle: var(--rel-colors-gray-100);
433
- --rel-border-focus-inner: var(--rel-colors-gray-0);
434
-
435
- /* --- action --- */
436
- --rel-action-overlay-hover: var(--rel-colors-dark-alpha-1);
437
- --rel-action-overlay-pressed: var(--rel-colors-dark-alpha-2);
438
- --rel-action-overlay-hover-strong: var(--rel-colors-dark-alpha-3);
439
- --rel-action-overlay-dragged: var(--rel-colors-dark-alpha-6);
440
- --rel-action-overlay-hover-inverse: var(--rel-colors-light-alpha-4);
441
- --rel-action-neutral-static-hover: var(--rel-colors-light-alpha-1);
442
- --rel-action-neutral-fill: var(--rel-colors-gray-950);
443
- --rel-action-neutral-fill-hover: var(--rel-colors-gray-700);
444
- --rel-action-neutral-fill-dragged: var(--rel-colors-gray-600);
445
- --rel-action-neutral-subtle: var(--rel-colors-gray-50);
446
- --rel-action-neutral-subtle-hover: var(--rel-colors-gray-100);
447
- --rel-action-neutral-subtle-dragged: var(--rel-colors-gray-200);
448
- --rel-action-neutral-ghost-hover: var(--rel-colors-dark-alpha-1);
449
- --rel-action-neutral-label-icons-fill-inverse: var(--rel-colors-gray-0);
450
- --rel-action-neutral-label-icons-subtle: var(--rel-colors-gray-950);
451
- --rel-action-neutral-label-icons-outline: var(--rel-colors-gray-950);
452
- --rel-action-neutral-label-icons-ghost: var(--rel-colors-gray-950);
453
- --rel-action-neutral-label-icons-link: var(--rel-colors-gray-950);
454
- --rel-action-neutral-label-icons-link-hover: var(--rel-colors-gray-600);
455
- --rel-action-neutral-border-subtle-hover: var(--rel-colors-gray-100);
456
- --rel-action-neutral-border-subtle-dragged: var(--rel-colors-gray-200);
457
- --rel-action-neutral-border-outline: var(--rel-colors-gray-350);
458
- --rel-action-neutral-border-outline-hover: var(--rel-colors-gray-950);
459
- --rel-action-brand-fill: var(--rel-colors-brand-500);
460
- --rel-action-brand-fill-hover: var(--rel-colors-brand-600);
461
- --rel-action-brand-fill-disabled: var(--rel-colors-gray-200);
462
- --rel-action-brand-label-icons-primary: var(--rel-colors-gray-950);
463
- --rel-action-brand-label-icons-primary-disabled: var(--rel-colors-gray-950);
464
- --rel-action-danger-fill: var(--rel-colors-red-600);
465
- --rel-action-danger-fill-hover: var(--rel-colors-red-700);
466
- --rel-action-danger-fill-dragged: var(--rel-colors-red-500);
467
- --rel-action-danger-subtle: var(--rel-colors-red-50);
468
- --rel-action-danger-subtle-hover: var(--rel-colors-red-100);
469
- --rel-action-danger-subtle-dragged: var(--rel-colors-red-200);
470
- --rel-action-danger-outline-hover: var(--rel-colors-red-50);
471
- --rel-action-danger-ghost-hover: var(--rel-colors-red-50);
472
- --rel-action-danger-label-icons-fill: var(--rel-colors-gray-0);
473
- --rel-action-danger-label-icons-subtle: var(--rel-colors-red-600);
474
- --rel-action-danger-label-icons-subtle-hover: var(--rel-colors-red-700);
475
- --rel-action-danger-label-icons-subtle-dragged: var(--rel-colors-red-700);
476
- --rel-action-danger-label-icons-outline: var(--rel-colors-red-600);
477
- --rel-action-danger-label-icons-ghost: var(--rel-colors-red-600);
478
- --rel-action-danger-label-icons-link: var(--rel-colors-red-600);
479
- --rel-action-danger-label-icons-link-hover: var(--rel-colors-red-600);
480
- --rel-action-danger-border-subtle-hover: var(--rel-colors-red-100);
481
- --rel-action-danger-border-subtle-dragged: var(--rel-colors-red-200);
482
- --rel-action-danger-border-outline: var(--rel-colors-red-100);
483
- --rel-action-danger-border-outline-hover: var(--rel-colors-red-600);
484
- --rel-action-warning-fill: var(--rel-colors-yellow-400);
485
- --rel-action-warning-fill-hover: var(--rel-colors-yellow-500);
486
- --rel-action-warning-fill-dragged: var(--rel-colors-yellow-300);
487
- --rel-action-warning-subtle: var(--rel-colors-yellow-100);
488
- --rel-action-warning-subtle-hover: var(--rel-colors-yellow-200);
489
- --rel-action-warning-subtle-dragged: var(--rel-colors-yellow-300);
490
- --rel-action-warning-label-icons-fill: var(--rel-colors-gray-950);
491
- --rel-action-warning-label-icons-subtle: var(--rel-colors-yellow-800);
492
- --rel-action-warning-label-icons-subtle-hover: var(--rel-colors-yellow-800);
493
- --rel-action-warning-label-icons-subtle-dragged: var(--rel-colors-yellow-900);
494
- --rel-action-warning-border-subtle-hover: var(--rel-colors-yellow-300);
495
- --rel-action-warning-border-subtle-dragged: var(--rel-colors-yellow-300);
496
- --rel-action-success-fill: var(--rel-colors-green-600);
497
- --rel-action-success-fill-hover: var(--rel-colors-green-700);
498
- --rel-action-success-fill-dragged: var(--rel-colors-green-500);
499
- --rel-action-success-subtle: var(--rel-colors-green-50);
500
- --rel-action-success-subtle-hover: var(--rel-colors-green-100);
501
- --rel-action-success-subtle-dragged: var(--rel-colors-green-200);
502
- --rel-action-success-outline-hover: var(--rel-colors-green-300);
503
- --rel-action-success-ghost-hover: var(--rel-colors-green-50);
504
- --rel-action-success-label-icons-fill: var(--rel-colors-gray-0);
505
- --rel-action-success-label-icons-subtle: var(--rel-colors-green-700);
506
- --rel-action-success-label-icons-subtle-hover: var(--rel-colors-green-700);
507
- --rel-action-success-label-icons-subtle-dragged: var(--rel-colors-green-800);
508
- --rel-action-success-border-subtle-hover: var(--rel-colors-green-200);
509
- --rel-action-success-border-subtle-dragged: var(--rel-colors-green-200);
510
- --rel-action-info-fill: var(--rel-colors-blue-700);
511
- --rel-action-info-fill-hover: var(--rel-colors-blue-800);
512
- --rel-action-info-fill-dragged: var(--rel-colors-blue-600);
513
- --rel-action-info-subtle: var(--rel-colors-blue-50);
514
- --rel-action-info-subtle-hover: var(--rel-colors-blue-100);
515
- --rel-action-info-subtle-dragged: var(--rel-colors-blue-200);
516
- --rel-action-info-label-icons-fill: var(--rel-colors-gray-0);
517
- --rel-action-info-label-icons-subtle: var(--rel-colors-blue-700);
518
- --rel-action-info-label-icons-subtle-hover: var(--rel-colors-blue-700);
519
- --rel-action-info-label-icons-subtle-dragged: var(--rel-colors-blue-800);
520
- --rel-action-info-border-subtle-hover: var(--rel-colors-blue-200);
521
- --rel-action-info-border-subtle-dragged: var(--rel-colors-blue-300);
522
-
523
- /* --- additions --- */
524
- --rel-border-info: var(--rel-colors-blue-500); /* ADDED: no V2 borders/info — aligned to info fill */
525
- }
526
-
527
- :root[data-theme="dark"], .dark {
528
- /* ==================== CARRY-FORWARD (dark) ==================== */
529
- --rel-shadows-shadow-100: 0px 1px 2px rgba(0,0,0,0.6);
530
- --rel-shadows-shadow-200: 0px 2px 6px rgba(0,0,0,0.6);
531
- --rel-shadows-shadow-300: 0px 4px 10px rgba(0,0,0,0.65);
532
- --rel-shadows-shadow-400: 0px 6px 16px rgba(0,0,0,0.7);
533
- --rel-shadows-shadow-500: 0px 10px 24px rgba(0,0,0,0.75);
534
- --rel-overlay-scrim: rgba(0,0,0,0.6);
535
-
536
- /* ==================== SEMANTIC — DARK (overrides) ==================== */
537
- --rel-bg-static-dark: var(--rel-colors-gray-800);
538
- --rel-bg-page: var(--rel-colors-gray-900);
539
- --rel-bg-page-inverse: var(--rel-colors-gray-0);
540
- --rel-bg-surface: var(--rel-colors-gray-800);
541
- --rel-bg-surface-elevated: var(--rel-colors-gray-900);
542
- --rel-bg-surface-inverse: var(--rel-colors-gray-0);
543
- --rel-bg-neutral: var(--rel-colors-gray-800);
544
- --rel-bg-neutral-elevated-1: var(--rel-colors-gray-700);
545
- --rel-bg-neutral-elevated-2: var(--rel-colors-gray-600);
546
- --rel-bg-neutral-elevated-3: var(--rel-colors-gray-400);
547
- --rel-bg-neutral-inverse-1: var(--rel-colors-gray-100);
548
- --rel-bg-neutral-inverse-2: var(--rel-colors-gray-0);
549
- --rel-bg-danger-light: var(--rel-colors-red-900);
550
- --rel-bg-danger-strong: var(--rel-colors-red-100);
551
- --rel-bg-warning-light: var(--rel-colors-yellow-900);
552
- --rel-bg-warning-strong: var(--rel-colors-yellow-100);
553
- --rel-bg-info-light: var(--rel-colors-blue-900);
554
- --rel-bg-info: var(--rel-colors-blue-400);
555
- --rel-bg-info-strong: var(--rel-colors-blue-100);
556
- --rel-bg-success-light: var(--rel-colors-green-900);
557
- --rel-bg-success-strong: var(--rel-colors-green-100);
558
- --rel-text-default: var(--rel-colors-gray-0);
559
- --rel-text-label: var(--rel-colors-gray-200);
560
- --rel-text-body: var(--rel-colors-gray-300);
561
- --rel-text-caption: var(--rel-colors-gray-300);
562
- --rel-text-placeholder: var(--rel-colors-gray-300);
563
- --rel-text-disabled: var(--rel-colors-gray-400);
564
- --rel-text-inverse: var(--rel-colors-gray-950);
565
- --rel-text-danger: var(--rel-colors-red-300);
566
- --rel-text-warning: var(--rel-colors-yellow-400);
567
- --rel-text-info: var(--rel-colors-blue-400);
568
- --rel-text-success: var(--rel-colors-green-300);
569
- --rel-border-default: var(--rel-colors-gray-700);
570
- --rel-border-subtle: var(--rel-colors-gray-800);
571
- --rel-border-accent: var(--rel-colors-gray-400);
572
- --rel-border-strong: var(--rel-colors-gray-0);
573
- --rel-border-inverse: var(--rel-colors-gray-950);
574
- --rel-border-success-subtle: var(--rel-colors-green-800);
575
- --rel-border-success: var(--rel-colors-green-400);
576
- --rel-border-success-strong: var(--rel-colors-green-100);
577
- --rel-border-danger-subtle: var(--rel-colors-red-800);
578
- --rel-border-danger: var(--rel-colors-red-400);
579
- --rel-border-danger-strong: var(--rel-colors-red-100);
580
- --rel-border-warning-subtle: var(--rel-colors-yellow-800);
581
- --rel-border-warning: var(--rel-colors-yellow-400);
582
- --rel-border-warning-strong: var(--rel-colors-yellow-100);
583
- --rel-border-focus: var(--rel-colors-gray-0);
584
- --rel-border-focus-subtle: var(--rel-colors-gray-700);
585
- --rel-border-focus-inner: var(--rel-colors-gray-900);
586
- --rel-action-overlay-hover: var(--rel-colors-light-alpha-1);
587
- --rel-action-overlay-pressed: var(--rel-colors-light-alpha-2);
588
- --rel-action-neutral-fill: var(--rel-colors-gray-0);
589
- --rel-action-neutral-fill-hover: var(--rel-colors-gray-50);
590
- --rel-action-neutral-fill-dragged: var(--rel-colors-gray-100);
591
- --rel-action-neutral-subtle: var(--rel-colors-gray-700);
592
- --rel-action-neutral-subtle-hover: var(--rel-colors-gray-600);
593
- --rel-action-neutral-subtle-dragged: var(--rel-colors-gray-500);
594
- --rel-action-neutral-ghost-hover: var(--rel-colors-light-alpha-1);
595
- --rel-action-neutral-label-icons-fill-inverse: var(--rel-colors-gray-950);
596
- --rel-action-neutral-label-icons-subtle: var(--rel-colors-gray-0);
597
- --rel-action-neutral-label-icons-outline: var(--rel-colors-gray-0);
598
- --rel-action-neutral-label-icons-ghost: var(--rel-colors-gray-0);
599
- --rel-action-neutral-label-icons-link: var(--rel-colors-gray-0);
600
- --rel-action-neutral-label-icons-link-hover: var(--rel-colors-gray-300);
601
- --rel-action-neutral-border-subtle-hover: var(--rel-colors-gray-600);
602
- --rel-action-neutral-border-subtle-dragged: var(--rel-colors-gray-500);
603
- --rel-action-neutral-border-outline: var(--rel-colors-gray-400);
604
- --rel-action-neutral-border-outline-hover: var(--rel-colors-gray-0);
605
- --rel-action-brand-fill-disabled: var(--rel-colors-gray-600);
606
- --rel-action-brand-label-icons-primary-disabled: var(--rel-colors-gray-0);
607
- --rel-action-danger-subtle: var(--rel-colors-red-900);
608
- --rel-action-danger-subtle-hover: var(--rel-colors-red-800);
609
- --rel-action-danger-subtle-dragged: var(--rel-colors-red-700);
610
- --rel-action-danger-outline-hover: var(--rel-colors-red-900);
611
- --rel-action-danger-ghost-hover: var(--rel-colors-red-900);
612
- --rel-action-danger-label-icons-subtle: var(--rel-colors-red-100);
613
- --rel-action-danger-label-icons-subtle-hover: var(--rel-colors-red-100);
614
- --rel-action-danger-label-icons-subtle-dragged: var(--rel-colors-red-50);
615
- --rel-action-danger-label-icons-outline: var(--rel-colors-red-300);
616
- --rel-action-danger-label-icons-ghost: var(--rel-colors-red-300);
617
- --rel-action-danger-label-icons-link: var(--rel-colors-red-300);
618
- --rel-action-danger-label-icons-link-hover: var(--rel-colors-red-400);
619
- --rel-action-danger-border-subtle-hover: var(--rel-colors-red-800);
620
- --rel-action-danger-border-subtle-dragged: var(--rel-colors-red-700);
621
- --rel-action-danger-border-outline: var(--rel-colors-red-700);
622
- --rel-action-danger-border-outline-hover: var(--rel-colors-red-400);
623
- --rel-action-warning-fill: var(--rel-colors-yellow-500);
624
- --rel-action-warning-fill-dragged: var(--rel-colors-yellow-400);
625
- --rel-action-warning-subtle: var(--rel-colors-yellow-900);
626
- --rel-action-warning-subtle-hover: var(--rel-colors-yellow-800);
627
- --rel-action-warning-subtle-dragged: var(--rel-colors-yellow-700);
628
- --rel-action-warning-label-icons-subtle: var(--rel-colors-yellow-100);
629
- --rel-action-warning-label-icons-subtle-hover: var(--rel-colors-yellow-100);
630
- --rel-action-warning-label-icons-subtle-dragged: var(--rel-colors-yellow-50);
631
- --rel-action-warning-border-subtle-hover: var(--rel-colors-yellow-800);
632
- --rel-action-warning-border-subtle-dragged: var(--rel-colors-yellow-700);
633
- --rel-action-success-subtle: var(--rel-colors-green-900);
634
- --rel-action-success-subtle-hover: var(--rel-colors-green-800);
635
- --rel-action-success-subtle-dragged: var(--rel-colors-green-700);
636
- --rel-action-success-outline-hover: var(--rel-colors-green-700);
637
- --rel-action-success-ghost-hover: var(--rel-colors-green-900);
638
- --rel-action-success-label-icons-subtle: var(--rel-colors-green-100);
639
- --rel-action-success-label-icons-subtle-hover: var(--rel-colors-green-100);
640
- --rel-action-success-label-icons-subtle-dragged: var(--rel-colors-green-50);
641
- --rel-action-success-border-subtle-hover: var(--rel-colors-green-800);
642
- --rel-action-success-border-subtle-dragged: var(--rel-colors-green-700);
643
- --rel-action-info-subtle: var(--rel-colors-blue-900);
644
- --rel-action-info-subtle-hover: var(--rel-colors-blue-800);
645
- --rel-action-info-subtle-dragged: var(--rel-colors-blue-700);
646
- --rel-action-info-label-icons-subtle: var(--rel-colors-blue-100);
647
- --rel-action-info-label-icons-subtle-hover: var(--rel-colors-blue-100);
648
- --rel-action-info-label-icons-subtle-dragged: var(--rel-colors-blue-50);
649
- --rel-action-info-border-subtle-hover: var(--rel-colors-blue-800);
650
- --rel-action-info-border-subtle-dragged: var(--rel-colors-blue-700);
651
-
652
- --rel-border-info: var(--rel-colors-blue-400); /* ADDED */
653
- }
654
-
655
- /* ==================== V1 COMPAT — DEPRECATED ALIAS BLOCK ====================
656
- Restores every custom property that existed in @reliability-design/web 1.3.x
657
- but was renamed/removed by the RelDS 2.0 token rework (v1.4.0). Consumers on
658
- the V1 names keep working; each name resolves to its RelDS 2.0 equivalent
659
- (per tempf/COMPONENT-TOKEN-MIGRATION-MAP.md) or, where 2.0 has no
660
- counterpart, to its literal 1.3.x value.
661
-
662
- Deprecated since 1.4.1 — REMOVAL TARGETED FOR 3.0 (see tempf/CLAUDE.md
663
- "Backward compat"). Migrate to the 2.0 semantic tokens.
664
-
665
- Notes:
666
- - Aliases follow the 2.0 dark palette automatically (neutral grays), NOT the
667
- retired 1.x blue-tinted dark values — intentional per governance.
668
- - Context-dependent V1 names map to the dictionary's primary target; the
669
- choice is noted inline where non-obvious.
670
- - This fragment is appended to vars.css by figma-pipeline/scripts/build-vars.ts.
671
- ============================================================================ */
672
-
673
- :root {
674
- /* ---------- V1 border radii ---------- */
675
- --rel-borders-radius-border-radius-0: var(--rel-border-radius-square);
676
- --rel-borders-radius-border-radius-100: 2px; /* 2px step removed in 2.0 — keep V1 literal */
677
- --rel-borders-radius-border-radius-200: var(--rel-border-radius-sm);
678
- --rel-borders-radius-border-radius-300: var(--rel-border-radius-md);
679
- --rel-borders-radius-border-radius-400: var(--rel-border-radius-lg);
680
- --rel-borders-radius-border-radius-500: var(--rel-border-radius-full-rounded);
681
-
682
- /* ---------- V1 border widths ---------- */
683
- --rel-borders-width-stroke-050: var(--rel-stroke-xs);
684
- --rel-borders-width-stroke-100: var(--rel-stroke-sm);
685
- --rel-borders-width-stroke-150: var(--rel-stroke-md);
686
- --rel-borders-width-stroke-200: var(--rel-stroke-lg);
687
- --rel-borders-width-stroke-300: 3px; /* no 2.0 counterpart */
688
- --rel-borders-width-stroke-400: 4px; /* no 2.0 counterpart */
689
-
690
- /* ---------- V1 spacing ---------- */
691
- --rel-spacing-space-3xs: var(--rel-spacing-3xs);
692
- --rel-spacing-space-2xs: var(--rel-spacing-2xs);
693
- --rel-spacing-space-xs: var(--rel-spacing-xs);
694
- --rel-spacing-space-sm: var(--rel-spacing-sm);
695
- --rel-spacing-space-md: var(--rel-spacing-md);
696
- --rel-spacing-space-lg: var(--rel-spacing-lg);
697
- --rel-spacing-space-xl: var(--rel-spacing-xl);
698
- --rel-spacing-space-2xl: var(--rel-spacing-2xl);
699
- --rel-spacing-space-3xl: var(--rel-spacing-3xl);
700
-
701
- /* ---------- V1 typography ---------- */
702
- --rel-fontFamilies-primary: var(--rel-fonts-font-family);
703
- --rel-fontWeights-regular: var(--rel-fonts-weight-body-regular);
704
- --rel-fontWeights-medium: var(--rel-fonts-weight-body-medium);
705
- --rel-fontWeights-semibold: var(--rel-fonts-weight-body-semibold);
706
- --rel-fontWeights-bold: 700; /* 2.0 has no bold weight token */
707
- /* Flat V1 type scale — 2.0 uses per-role composite tokens; keep V1 literals */
708
- --rel-fontSizes-3xl: 36px;
709
- --rel-fontSizes-2xl: 28px;
710
- --rel-fontSizes-xl: 24px;
711
- --rel-fontSizes-lg: 20px;
712
- --rel-fontSizes-md: 14px;
713
- --rel-fontSizes-sm: 12px;
714
- --rel-fontSizes-xs: 10px;
715
- --rel-lineHeights-3xl: 48px;
716
- --rel-lineHeights-2xl: 42px;
717
- --rel-lineHeights-xl: 36px;
718
- --rel-lineHeights-lg: 28px;
719
- --rel-lineHeights-md: 20px;
720
- --rel-lineHeights-sm: 18px;
721
- --rel-lineHeights-xs: 16px;
722
- --rel-lineHeights-2xs: 12px;
723
- --rel-letterSpacing-normal: 0px;
724
- --rel-letterSpacing-dense: -0.2px;
725
- --rel-letterSpacing-denser: -0.3px;
726
- --rel-letterSpacing-densest: -0.54px;
727
-
728
- /* ---------- V1 neutral primitives → 2.0 semantics (theme-aware) ---------- */
729
- --rel-colors-white: var(--rel-bg-surface);
730
- --rel-colors-black: var(--rel-border-strong);
731
- --rel-colors-gray-primary: var(--rel-text-default);
732
- --rel-colors-gray-heading: var(--rel-text-label);
733
- --rel-colors-gray-body: var(--rel-text-default);
734
- --rel-colors-gray-placeholder: var(--rel-text-placeholder);
735
- --rel-colors-gray-dark-placeholder: var(--rel-text-body);
736
- --rel-colors-gray-disabled-text: var(--rel-text-disabled);
737
- --rel-colors-gray-border: var(--rel-border-default);
738
- --rel-colors-gray-divider: var(--rel-border-default);
739
- --rel-colors-gray-tab-border: var(--rel-border-default);
740
- --rel-colors-gray-light: var(--rel-bg-surface-elevated);
741
- --rel-colors-gray-warm: var(--rel-bg-neutral-elevated-1);
742
- --rel-colors-gray-surface: var(--rel-bg-neutral-elevated-1);
743
- --rel-colors-gray-screen-bg: var(--rel-bg-neutral-elevated-2);
744
- --rel-colors-gray-toast-bg: var(--rel-bg-neutral-inverse-1);
745
-
746
- /* ---------- V1 status-tint primitives → 2.0 light backgrounds ---------- */
747
- --rel-colors-red-bg-alert: var(--rel-bg-danger-light);
748
- --rel-colors-red-light: var(--rel-bg-danger-light);
749
- --rel-colors-orange-bg-light: var(--rel-bg-warning-light);
750
- --rel-colors-orange-bg-counter: var(--rel-bg-warning-light);
751
- --rel-colors-green-bg-light: var(--rel-bg-success-light);
752
- --rel-colors-blue-bg: var(--rel-bg-info-light);
753
-
754
- /* ---------- V1 chromatic primitives — literal 1.3.x values ----------
755
- No 1:1 target in 2.0; these had no dark overrides in 1.3.x either. */
756
- --rel-colors-green-primary: var(--rel-bg-surface-brand); /* #00F49C brand — green rule */
757
- --rel-colors-green-secondary: #06D98C;
758
- --rel-colors-green-tertiary: #00A86B;
759
- --rel-colors-green-success: #22C55E;
760
- --rel-colors-green-credited: #4CAA47;
761
- --rel-colors-red-primary: #CC0000;
762
- --rel-colors-red-secondary: #D50000;
763
- --rel-colors-red-tertiary: #9C1E33;
764
- --rel-colors-blue-primary: #0091EA;
765
- --rel-colors-blue-secondary: #4A90E2;
766
- --rel-colors-blue-tertiary: #0059F4;
767
- --rel-colors-blue-light: #80D8FF;
768
- --rel-colors-primary-500: var(--rel-colors-blue-primary);
769
- --rel-colors-orange-warning: #FF6D00;
770
- --rel-colors-orange-expired: #F2915C;
771
- --rel-colors-yellow-pending: #FFBF43;
772
- --rel-colors-gold: #D6BA00;
773
- --rel-colors-gold-light: #F6EFD7;
774
- --rel-colors-gold-secondary: #F5F0D3;
775
- --rel-colors-platinum: #8392C9;
776
- --rel-colors-platinum-secondary: #E4E6F2;
777
- --rel-colors-silver: #BABABA;
778
- --rel-colors-silver-secondary: #F0F0F0;
779
- --rel-colors-bronze: #7D5300;
780
- --rel-colors-bronze-secondary: #E2DAC7;
781
-
782
- /* ---------- V1 semantic text ---------- */
783
- --rel-text-primary: var(--rel-text-default);
784
- --rel-text-heading: var(--rel-text-label);
785
- --rel-text-dark-placeholder: var(--rel-text-body);
786
- --rel-text-error: var(--rel-text-danger);
787
- --rel-text-error-small: var(--rel-text-danger); /* size variants collapsed in 2.0 */
788
- --rel-text-error-medium: var(--rel-text-danger);
789
- --rel-text-error-large: var(--rel-text-danger);
790
- --rel-text-warning-small: var(--rel-text-warning);
791
- --rel-text-warning-medium: var(--rel-text-warning);
792
- --rel-text-warning-large: var(--rel-text-warning);
793
- --rel-text-success-small: var(--rel-text-success);
794
- --rel-text-success-medium: var(--rel-text-success);
795
- --rel-text-success-large: var(--rel-text-success);
796
- --rel-text-info-secondary: var(--rel-text-info);
797
- --rel-text-info-hover: var(--rel-text-info);
798
- --rel-text-credited: var(--rel-text-success);
799
- --rel-gray-text-primary: var(--rel-text-default);
800
-
801
- /* ---------- V1 semantic icons ---------- */
802
- --rel-icon-info: var(--rel-text-info);
803
- --rel-icon-error: var(--rel-text-danger);
804
- --rel-icon-warning: var(--rel-text-warning);
805
- --rel-icon-success: var(--rel-text-success);
806
-
807
- /* ---------- V1 semantic borders ---------- */
808
- --rel-border-error: var(--rel-border-danger);
809
- --rel-border-divider: var(--rel-border-default); /* merged in 2.0 */
810
- --rel-border-tab: var(--rel-border-accent);
811
-
812
- /* ---------- V1 semantic backgrounds ---------- */
813
- --rel-background-error: var(--rel-bg-danger-light);
814
- --rel-background-error-light: var(--rel-bg-danger-light); /* merged in 2.0 */
815
- --rel-background-warning: var(--rel-bg-warning-light);
816
- --rel-background-warning-counter: var(--rel-bg-warning-light);
817
- --rel-background-success: var(--rel-bg-success-light);
818
- --rel-background-info: var(--rel-bg-info-light);
819
- --rel-background-info-accent: var(--rel-colors-blue-light);
820
-
821
- /* ---------- V1 semantic surfaces ---------- */
822
- --rel-surface-secondary: var(--rel-bg-surface-elevated);
823
- --rel-surface-screen: var(--rel-bg-neutral-elevated-2);
824
- --rel-surface-surface: var(--rel-bg-neutral-elevated-1);
825
- --rel-surface-warm: var(--rel-bg-neutral-elevated-1);
826
- --rel-surface-toast: var(--rel-bg-neutral-inverse-1);
827
-
828
- /* ---------- V1 vars-v2 compat family ---------- */
829
- --rel-error-surface-default: var(--rel-bg-danger);
830
- --rel-error-surface-dark: var(--rel-text-danger);
831
- --rel-error-text: var(--rel-text-danger);
832
- --rel-success-surface-dark: var(--rel-text-success);
833
- --rel-warning-surface-dark: var(--rel-text-warning);
834
-
835
- /* ---------- V1 --rel-color-* alias layer ---------- */
836
- --rel-color-bg-primary: var(--rel-bg-surface);
837
- --rel-color-bg-secondary: var(--rel-bg-surface-elevated);
838
- --rel-color-bg-tertiary: var(--rel-bg-neutral-elevated-1);
839
- --rel-color-bg-hover: var(--rel-action-overlay-hover);
840
- --rel-color-bg-selected: var(--rel-bg-neutral-elevated-2);
841
- --rel-color-text-primary: var(--rel-text-default);
842
- --rel-color-text-secondary: var(--rel-text-body);
843
- --rel-color-text-heading: var(--rel-text-label);
844
- --rel-color-text-inverse: var(--rel-text-inverse);
845
- --rel-color-text-disabled: var(--rel-text-disabled);
846
- --rel-color-text-placeholder: var(--rel-text-placeholder);
847
- --rel-color-border-default: var(--rel-border-default);
848
- --rel-color-border-strong: var(--rel-border-strong);
849
- --rel-color-border-focus: var(--rel-border-focus);
850
- --rel-color-border-divider: var(--rel-border-default);
851
- --rel-color-icon-primary: var(--rel-text-body);
852
- --rel-color-icon-hover: var(--rel-text-default);
853
- --rel-color-brand: var(--rel-bg-surface-brand);
854
- --rel-color-brand-hover: var(--rel-action-brand-fill-hover);
855
- /* 2.0 has no link tokens — keep V1 literals (AA on their surfaces) */
856
- --rel-color-text-link: #0067A3;
857
- --rel-color-text-link-hover: #004E7C;
858
- }
859
-
860
- :root[data-theme="dark"], .dark {
861
- /* Only literal-valued compat tokens that had explicit 1.3.x dark overrides;
862
- aliased tokens flip with the 2.0 dark palette automatically. */
863
- --rel-colors-blue-light: #1b6ea8;
864
- --rel-color-text-link: #66B3FF;
865
- --rel-color-text-link-hover: #99CCFF;
866
- }
1
+ /* AUTO-GENERATED by figma-pipeline/scripts/build-vars.ts — DO NOT EDIT */
2
+ /* Source: figma-pipeline/tokens/{primitives, color tokens}/*.tokens.json (RelDS_A1 V2) */
3
+ /* Contains: color + foundation primitives, semantic color tokens (light/dark). */
4
+
5
+ :root {
6
+ /* ==================== PRIMITIVES — COLOR (mode-agnostic) ==================== */
7
+ --rel-colors-gray-0: #FFFFFF;
8
+ --rel-colors-gray-50: #F7F7F7;
9
+ --rel-colors-gray-100: #E5E5E5;
10
+ --rel-colors-gray-200: #C2C2C2;
11
+ --rel-colors-gray-300: #A3A3A3;
12
+ --rel-colors-gray-350: #8C8C8C;
13
+ --rel-colors-gray-400: #7D7D7D;
14
+ --rel-colors-gray-500: #525252;
15
+ --rel-colors-gray-600: #404040;
16
+ --rel-colors-gray-700: #2B2B2B;
17
+ --rel-colors-gray-800: #1B1B1B;
18
+ --rel-colors-gray-900: #111111;
19
+ --rel-colors-gray-950: #0B0B0B;
20
+ --rel-colors-brand-400: #28F6AB;
21
+ --rel-colors-brand-500: #00F49C;
22
+ --rel-colors-brand-600: #00DB8B;
23
+ --rel-colors-green-50: #EDF8F4;
24
+ --rel-colors-green-100: #D5F1E7;
25
+ --rel-colors-green-200: #91D9BF;
26
+ --rel-colors-green-300: #5FC9A3;
27
+ --rel-colors-green-400: #30B887;
28
+ --rel-colors-green-500: #00A86B;
29
+ --rel-colors-green-600: #008655;
30
+ --rel-colors-green-700: #006440;
31
+ --rel-colors-green-800: #003823;
32
+ --rel-colors-green-900: #002115;
33
+ --rel-colors-blue-50: #EFF7FF;
34
+ --rel-colors-blue-100: #DEEFFF;
35
+ --rel-colors-blue-200: #B6E1FF;
36
+ --rel-colors-blue-300: #75C9FF;
37
+ --rel-colors-blue-400: #2CAFFF;
38
+ --rel-colors-blue-500: #0091EA;
39
+ --rel-colors-blue-600: #007DD4;
40
+ --rel-colors-blue-700: #00528D;
41
+ --rel-colors-blue-800: #053C66;
42
+ --rel-colors-blue-900: #042B4D;
43
+ --rel-colors-red-50: #FFEBEB;
44
+ --rel-colors-red-100: #FFDBDB;
45
+ --rel-colors-red-200: #FFB2B2;
46
+ --rel-colors-red-300: #FF9393;
47
+ --rel-colors-red-400: #FF7272;
48
+ --rel-colors-red-500: #FF5252;
49
+ --rel-colors-red-600: #CE3131;
50
+ --rel-colors-red-700: #942323;
51
+ --rel-colors-red-800: #3E0E0E;
52
+ --rel-colors-red-900: #2C0B0E;
53
+ --rel-colors-yellow-50: #FFFBF5;
54
+ --rel-colors-yellow-100: #FFEFD1;
55
+ --rel-colors-yellow-200: #FFE3AE;
56
+ --rel-colors-yellow-300: #FFD78A;
57
+ --rel-colors-yellow-400: #FFCB66;
58
+ --rel-colors-yellow-500: #FFB82E;
59
+ --rel-colors-yellow-600: #CC9324;
60
+ --rel-colors-yellow-700: #997228;
61
+ --rel-colors-yellow-800: #4E380E;
62
+ --rel-colors-yellow-900: #32260D;
63
+ --rel-colors-orange-50: #FFF7F2;
64
+ --rel-colors-orange-100: #FFDBC1;
65
+ --rel-colors-orange-200: #FFC091;
66
+ --rel-colors-orange-300: #FFA460;
67
+ --rel-colors-orange-400: #FF8830;
68
+ --rel-colors-orange-500: #FF6D00;
69
+ --rel-colors-orange-600: #CC5700;
70
+ --rel-colors-orange-700: #994100;
71
+ --rel-colors-orange-800: #662B00;
72
+ --rel-colors-orange-900: #321500;
73
+ --rel-colors-dark-alpha-1: rgba(11, 11, 11, 0.05);
74
+ --rel-colors-dark-alpha-2: rgba(11, 11, 11, 0.08);
75
+ --rel-colors-dark-alpha-3: rgba(11, 11, 11, 0.1);
76
+ --rel-colors-dark-alpha-4: rgba(11, 11, 11, 0.2);
77
+ --rel-colors-dark-alpha-5: rgba(11, 11, 11, 0.25);
78
+ --rel-colors-dark-alpha-6: rgba(11, 11, 11, 0.3);
79
+ --rel-colors-dark-alpha-7: rgba(11, 11, 11, 0.35);
80
+ --rel-colors-dark-alpha-8: rgba(11, 11, 11, 0.4);
81
+ --rel-colors-dark-alpha-9: rgba(11, 11, 11, 0.45);
82
+ --rel-colors-dark-alpha-10: rgba(11, 11, 11, 0.5);
83
+ --rel-colors-light-alpha-1: rgba(255, 255, 255, 0.05);
84
+ --rel-colors-light-alpha-2: rgba(255, 255, 255, 0.08);
85
+ --rel-colors-light-alpha-3: rgba(255, 255, 255, 0.1);
86
+ --rel-colors-light-alpha-4: rgba(255, 255, 255, 0.2);
87
+ --rel-colors-light-alpha-5: rgba(255, 255, 255, 0.25);
88
+ --rel-colors-light-alpha-6: rgba(255, 255, 255, 0.3);
89
+ --rel-colors-light-alpha-7: rgba(255, 255, 255, 0.35);
90
+ --rel-colors-light-alpha-8: rgba(255, 255, 255, 0.4);
91
+ --rel-colors-light-alpha-9: rgba(255, 255, 255, 0.45);
92
+ --rel-colors-light-alpha-10: rgba(255, 255, 255, 0.5);
93
+
94
+ /* ==================== PRIMITIVES — FOUNDATIONS ==================== */
95
+
96
+ /* --- fonts --- */
97
+ --rel-fonts-font-family: Poppins, sans-serif;
98
+ --rel-fonts-weight-headings-semibold: 600;
99
+ --rel-fonts-weight-body-regular: 400;
100
+ --rel-fonts-weight-body-medium: 500;
101
+ --rel-fonts-weight-body-semibold: 600;
102
+ --rel-fonts-size-headings-3xl: 36px;
103
+ --rel-fonts-size-headings-2xl: 32px;
104
+ --rel-fonts-size-headings-xl: 28px;
105
+ --rel-fonts-size-headings-lg: 24px;
106
+ --rel-fonts-size-headings-md: 20px;
107
+ --rel-fonts-size-headings-sm: 16px;
108
+ --rel-fonts-size-headings-xs: 14px;
109
+ --rel-fonts-size-body-xl: 20px;
110
+ --rel-fonts-size-body-lg: 16px;
111
+ --rel-fonts-size-body-md: 14px;
112
+ --rel-fonts-size-body-sm: 12px;
113
+ --rel-fonts-size-body-xs: 10px;
114
+ --rel-fonts-size-paragraph-xl: 20px;
115
+ --rel-fonts-size-paragraph-lg: 16px;
116
+ --rel-fonts-size-paragraph-md: 14px;
117
+ --rel-fonts-size-paragraph-sm: 12px;
118
+ --rel-fonts-size-paragraph-xs: 10px;
119
+ --rel-fonts-size-label-xl: 20px;
120
+ --rel-fonts-size-label-lg: 16px;
121
+ --rel-fonts-size-label-md: 14px;
122
+ --rel-fonts-size-label-sm: 12px;
123
+ --rel-fonts-size-label-xs: 10px;
124
+ --rel-fonts-size-action-xl: 16px;
125
+ --rel-fonts-size-action-lg: 14px;
126
+ --rel-fonts-size-action-md: 12px;
127
+ --rel-fonts-line-height-headings-3xl: 44px;
128
+ --rel-fonts-line-height-headings-2xl: 40px;
129
+ --rel-fonts-line-height-headings-xl: 36px;
130
+ --rel-fonts-line-height-headings-lg: 32px;
131
+ --rel-fonts-line-height-headings-md: 28px;
132
+ --rel-fonts-line-height-headings-sm: 24px;
133
+ --rel-fonts-line-height-headings-xs: 22px;
134
+ --rel-fonts-line-height-body-xl: 28px;
135
+ --rel-fonts-line-height-body-lg: 24px;
136
+ --rel-fonts-line-height-body-md: 22px;
137
+ --rel-fonts-line-height-body-sm: 20px;
138
+ --rel-fonts-line-height-body-xs: 18px;
139
+ --rel-fonts-line-height-paragraph-xl: 30px;
140
+ --rel-fonts-line-height-paragraph-lg: 26px;
141
+ --rel-fonts-line-height-paragraph-md: 24px;
142
+ --rel-fonts-line-height-paragraph-sm: 22px;
143
+ --rel-fonts-line-height-paragraph-xs: 20px;
144
+ --rel-fonts-line-height-label-xl: 24px;
145
+ --rel-fonts-line-height-label-lg: 20px;
146
+ --rel-fonts-line-height-label-md: 18px;
147
+ --rel-fonts-line-height-label-sm: 16px;
148
+ --rel-fonts-line-height-label-xs: 14px;
149
+ --rel-fonts-line-height-action-xl: 24px;
150
+ --rel-fonts-line-height-action-lg: 24px;
151
+ --rel-fonts-line-height-action-md: 24px;
152
+ --rel-fonts-letter-spacing-md: -1.2px;
153
+ --rel-fonts-letter-spacing-sm: -0.6px;
154
+ --rel-fonts-letter-spacing-xs: -0.2px;
155
+ --rel-fonts-letter-spacing-none: 0px;
156
+
157
+ /* --- spacing --- */
158
+ --rel-spacing-none: 0px;
159
+ --rel-spacing-3xs: 2px;
160
+ --rel-spacing-2xs: 4px;
161
+ --rel-spacing-xs: 8px;
162
+ --rel-spacing-sm: 12px;
163
+ --rel-spacing-md: 16px;
164
+ --rel-spacing-lg: 20px;
165
+ --rel-spacing-xl: 24px;
166
+ --rel-spacing-2xl: 28px;
167
+ --rel-spacing-3xl: 32px;
168
+ --rel-spacing-4xl: 36px;
169
+ --rel-spacing-5xl: 40px;
170
+ --rel-spacing-6xl: 44px;
171
+ --rel-spacing-7xl: 48px;
172
+ --rel-spacing-8xl: 56px;
173
+ --rel-spacing-9xl: 64px;
174
+ --rel-spacing-10xl: 72px;
175
+
176
+ /* --- border-radius --- */
177
+ --rel-border-radius-square: 0px;
178
+ --rel-border-radius-xs: 4px;
179
+ --rel-border-radius-sm: 8px;
180
+ --rel-border-radius-md: 16px;
181
+ --rel-border-radius-lg: 24px;
182
+ --rel-border-radius-xl: 32px;
183
+ --rel-border-radius-full-rounded: 1000px;
184
+
185
+ /* --- stroke --- */
186
+ --rel-stroke-xs: 0.5px;
187
+ --rel-stroke-sm: 1px;
188
+ --rel-stroke-md: 1.5px;
189
+ --rel-stroke-lg: 2px;
190
+
191
+ /* ==================== TYPOGRAPHY — COMPOSITE ROLES ==================== */
192
+ --rel-headings-3xl-font-family: var(--rel-fonts-font-family);
193
+ --rel-headings-3xl-font-weight: var(--rel-fonts-weight-headings-semibold);
194
+ --rel-headings-3xl-font-size: var(--rel-fonts-size-headings-3xl);
195
+ --rel-headings-3xl-line-height: var(--rel-fonts-line-height-headings-3xl);
196
+ --rel-headings-3xl-letter-spacing: var(--rel-fonts-letter-spacing-md);
197
+ --rel-headings-2xl-font-family: var(--rel-fonts-font-family);
198
+ --rel-headings-2xl-font-weight: var(--rel-fonts-weight-headings-semibold);
199
+ --rel-headings-2xl-font-size: var(--rel-fonts-size-headings-2xl);
200
+ --rel-headings-2xl-line-height: var(--rel-fonts-line-height-headings-2xl);
201
+ --rel-headings-2xl-letter-spacing: var(--rel-fonts-letter-spacing-md);
202
+ --rel-headings-xl-font-family: var(--rel-fonts-font-family);
203
+ --rel-headings-xl-font-weight: var(--rel-fonts-weight-headings-semibold);
204
+ --rel-headings-xl-font-size: var(--rel-fonts-size-headings-xl);
205
+ --rel-headings-xl-line-height: var(--rel-fonts-line-height-headings-xl);
206
+ --rel-headings-xl-letter-spacing: var(--rel-fonts-letter-spacing-sm);
207
+ --rel-headings-lg-font-family: var(--rel-fonts-font-family);
208
+ --rel-headings-lg-font-weight: var(--rel-fonts-weight-headings-semibold);
209
+ --rel-headings-lg-font-size: var(--rel-fonts-size-headings-lg);
210
+ --rel-headings-lg-line-height: var(--rel-fonts-line-height-headings-lg);
211
+ --rel-headings-lg-letter-spacing: var(--rel-fonts-letter-spacing-sm);
212
+ --rel-headings-md-font-family: var(--rel-fonts-font-family);
213
+ --rel-headings-md-font-weight: var(--rel-fonts-weight-headings-semibold);
214
+ --rel-headings-md-font-size: var(--rel-fonts-size-headings-md);
215
+ --rel-headings-md-line-height: var(--rel-fonts-line-height-headings-md);
216
+ --rel-headings-md-letter-spacing: var(--rel-fonts-letter-spacing-sm);
217
+ --rel-headings-sm-font-family: var(--rel-fonts-font-family);
218
+ --rel-headings-sm-font-weight: var(--rel-fonts-weight-headings-semibold);
219
+ --rel-headings-sm-font-size: var(--rel-fonts-size-headings-sm);
220
+ --rel-headings-sm-line-height: var(--rel-fonts-line-height-headings-sm);
221
+ --rel-headings-sm-letter-spacing: var(--rel-fonts-letter-spacing-xs);
222
+ --rel-headings-xs-font-family: var(--rel-fonts-font-family);
223
+ --rel-headings-xs-font-weight: var(--rel-fonts-weight-headings-semibold);
224
+ --rel-headings-xs-font-size: var(--rel-fonts-size-headings-xs);
225
+ --rel-headings-xs-line-height: var(--rel-fonts-line-height-headings-xs);
226
+ --rel-headings-xs-letter-spacing: var(--rel-fonts-letter-spacing-xs);
227
+ --rel-body-xl-regular-font-family: var(--rel-fonts-font-family);
228
+ --rel-body-xl-regular-font-weight: var(--rel-fonts-weight-body-regular);
229
+ --rel-body-xl-regular-font-size: var(--rel-fonts-size-body-xl);
230
+ --rel-body-xl-regular-line-height: var(--rel-fonts-line-height-body-xl);
231
+ --rel-body-xl-regular-letter-spacing: var(--rel-fonts-letter-spacing-sm);
232
+ --rel-body-xl-medium-font-family: var(--rel-fonts-font-family);
233
+ --rel-body-xl-medium-font-weight: var(--rel-fonts-weight-body-medium);
234
+ --rel-body-xl-medium-font-size: var(--rel-fonts-size-body-xl);
235
+ --rel-body-xl-medium-line-height: var(--rel-fonts-line-height-body-xl);
236
+ --rel-body-xl-medium-letter-spacing: var(--rel-fonts-letter-spacing-sm);
237
+ --rel-body-xl-semibold-font-family: var(--rel-fonts-font-family);
238
+ --rel-body-xl-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
239
+ --rel-body-xl-semibold-font-size: var(--rel-fonts-size-body-xl);
240
+ --rel-body-xl-semibold-line-height: var(--rel-fonts-line-height-body-xl);
241
+ --rel-body-xl-semibold-letter-spacing: var(--rel-fonts-letter-spacing-sm);
242
+ --rel-body-lg-regular-font-family: var(--rel-fonts-font-family);
243
+ --rel-body-lg-regular-font-weight: var(--rel-fonts-weight-body-regular);
244
+ --rel-body-lg-regular-font-size: var(--rel-fonts-size-body-lg);
245
+ --rel-body-lg-regular-line-height: var(--rel-fonts-line-height-body-lg);
246
+ --rel-body-lg-regular-letter-spacing: var(--rel-fonts-letter-spacing-sm);
247
+ --rel-body-lg-medium-font-family: var(--rel-fonts-font-family);
248
+ --rel-body-lg-medium-font-weight: var(--rel-fonts-weight-body-medium);
249
+ --rel-body-lg-medium-font-size: var(--rel-fonts-size-body-lg);
250
+ --rel-body-lg-medium-line-height: var(--rel-fonts-line-height-body-lg);
251
+ --rel-body-lg-medium-letter-spacing: var(--rel-fonts-letter-spacing-sm);
252
+ --rel-body-lg-semibold-font-family: var(--rel-fonts-font-family);
253
+ --rel-body-lg-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
254
+ --rel-body-lg-semibold-font-size: var(--rel-fonts-size-body-lg);
255
+ --rel-body-lg-semibold-line-height: var(--rel-fonts-line-height-body-lg);
256
+ --rel-body-lg-semibold-letter-spacing: var(--rel-fonts-letter-spacing-sm);
257
+ --rel-body-md-regular-font-family: var(--rel-fonts-font-family);
258
+ --rel-body-md-regular-font-weight: var(--rel-fonts-weight-body-regular);
259
+ --rel-body-md-regular-font-size: var(--rel-fonts-size-body-md);
260
+ --rel-body-md-regular-line-height: var(--rel-fonts-line-height-body-md);
261
+ --rel-body-md-regular-letter-spacing: var(--rel-fonts-letter-spacing-xs);
262
+ --rel-body-md-medium-font-family: var(--rel-fonts-font-family);
263
+ --rel-body-md-medium-font-weight: var(--rel-fonts-weight-body-medium);
264
+ --rel-body-md-medium-font-size: var(--rel-fonts-size-body-md);
265
+ --rel-body-md-medium-line-height: var(--rel-fonts-line-height-body-md);
266
+ --rel-body-md-medium-letter-spacing: var(--rel-fonts-letter-spacing-xs);
267
+ --rel-body-md-semibold-font-family: var(--rel-fonts-font-family);
268
+ --rel-body-md-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
269
+ --rel-body-md-semibold-font-size: var(--rel-fonts-size-body-md);
270
+ --rel-body-md-semibold-line-height: var(--rel-fonts-line-height-body-md);
271
+ --rel-body-md-semibold-letter-spacing: var(--rel-fonts-letter-spacing-xs);
272
+ --rel-body-sm-regular-font-family: var(--rel-fonts-font-family);
273
+ --rel-body-sm-regular-font-weight: var(--rel-fonts-weight-body-regular);
274
+ --rel-body-sm-regular-font-size: var(--rel-fonts-size-body-sm);
275
+ --rel-body-sm-regular-line-height: var(--rel-fonts-line-height-body-sm);
276
+ --rel-body-sm-regular-letter-spacing: var(--rel-fonts-letter-spacing-xs);
277
+ --rel-body-sm-medium-font-family: var(--rel-fonts-font-family);
278
+ --rel-body-sm-medium-font-weight: var(--rel-fonts-weight-body-medium);
279
+ --rel-body-sm-medium-font-size: var(--rel-fonts-size-body-sm);
280
+ --rel-body-sm-medium-line-height: var(--rel-fonts-line-height-body-sm);
281
+ --rel-body-sm-medium-letter-spacing: var(--rel-fonts-letter-spacing-xs);
282
+ --rel-body-sm-semibold-font-family: var(--rel-fonts-font-family);
283
+ --rel-body-sm-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
284
+ --rel-body-sm-semibold-font-size: var(--rel-fonts-size-body-sm);
285
+ --rel-body-sm-semibold-line-height: var(--rel-fonts-line-height-body-sm);
286
+ --rel-body-sm-semibold-letter-spacing: var(--rel-fonts-letter-spacing-xs);
287
+ --rel-body-xs-regular-font-family: var(--rel-fonts-font-family);
288
+ --rel-body-xs-regular-font-weight: var(--rel-fonts-weight-body-regular);
289
+ --rel-body-xs-regular-font-size: var(--rel-fonts-size-body-xs);
290
+ --rel-body-xs-regular-line-height: var(--rel-fonts-line-height-body-xs);
291
+ --rel-body-xs-regular-letter-spacing: var(--rel-fonts-letter-spacing-xs);
292
+ --rel-body-xs-medium-font-family: var(--rel-fonts-font-family);
293
+ --rel-body-xs-medium-font-weight: var(--rel-fonts-weight-body-medium);
294
+ --rel-body-xs-medium-font-size: var(--rel-fonts-size-body-xs);
295
+ --rel-body-xs-medium-line-height: var(--rel-fonts-line-height-body-xs);
296
+ --rel-body-xs-medium-letter-spacing: var(--rel-fonts-letter-spacing-xs);
297
+ --rel-body-xs-semibold-font-family: var(--rel-fonts-font-family);
298
+ --rel-body-xs-semibold-font-weight: var(--rel-fonts-weight-body-semibold);
299
+ --rel-body-xs-semibold-font-size: var(--rel-fonts-size-body-xs);
300
+ --rel-body-xs-semibold-line-height: var(--rel-fonts-line-height-body-xs);
301
+ --rel-body-xs-semibold-letter-spacing: var(--rel-fonts-letter-spacing-xs);
302
+ --rel-paragraph-xl-font-family: var(--rel-fonts-font-family);
303
+ --rel-paragraph-xl-font-weight: var(--rel-fonts-weight-body-regular);
304
+ --rel-paragraph-xl-font-size: var(--rel-fonts-size-paragraph-xl);
305
+ --rel-paragraph-xl-line-height: var(--rel-fonts-line-height-paragraph-xl);
306
+ --rel-paragraph-xl-letter-spacing: var(--rel-fonts-letter-spacing-xs);
307
+ --rel-paragraph-lg-font-family: var(--rel-fonts-font-family);
308
+ --rel-paragraph-lg-font-weight: var(--rel-fonts-weight-body-regular);
309
+ --rel-paragraph-lg-font-size: var(--rel-fonts-size-paragraph-lg);
310
+ --rel-paragraph-lg-line-height: var(--rel-fonts-line-height-paragraph-lg);
311
+ --rel-paragraph-lg-letter-spacing: var(--rel-fonts-letter-spacing-xs);
312
+ --rel-paragraph-md-font-family: var(--rel-fonts-font-family);
313
+ --rel-paragraph-md-font-weight: var(--rel-fonts-weight-body-regular);
314
+ --rel-paragraph-md-font-size: var(--rel-fonts-size-paragraph-md);
315
+ --rel-paragraph-md-line-height: var(--rel-fonts-line-height-paragraph-md);
316
+ --rel-paragraph-md-letter-spacing: var(--rel-fonts-letter-spacing-xs);
317
+ --rel-paragraph-sm-font-family: var(--rel-fonts-font-family);
318
+ --rel-paragraph-sm-font-weight: var(--rel-fonts-weight-body-regular);
319
+ --rel-paragraph-sm-font-size: var(--rel-fonts-size-paragraph-sm);
320
+ --rel-paragraph-sm-line-height: var(--rel-fonts-line-height-paragraph-sm);
321
+ --rel-paragraph-sm-letter-spacing: var(--rel-fonts-letter-spacing-xs);
322
+ --rel-paragraph-xs-font-family: var(--rel-fonts-font-family);
323
+ --rel-paragraph-xs-font-weight: var(--rel-fonts-weight-body-regular);
324
+ --rel-paragraph-xs-font-size: var(--rel-fonts-size-paragraph-xs);
325
+ --rel-paragraph-xs-line-height: var(--rel-fonts-line-height-paragraph-xs);
326
+ --rel-paragraph-xs-letter-spacing: var(--rel-fonts-letter-spacing-xs);
327
+ --rel-label-xl-font-family: var(--rel-fonts-font-family);
328
+ --rel-label-xl-font-weight: var(--rel-fonts-weight-body-medium);
329
+ --rel-label-xl-font-size: var(--rel-fonts-size-label-xl);
330
+ --rel-label-xl-line-height: var(--rel-fonts-line-height-label-xl);
331
+ --rel-label-xl-letter-spacing: var(--rel-fonts-letter-spacing-sm);
332
+ --rel-label-lg-font-family: var(--rel-fonts-font-family);
333
+ --rel-label-lg-font-weight: var(--rel-fonts-weight-body-medium);
334
+ --rel-label-lg-font-size: var(--rel-fonts-size-label-lg);
335
+ --rel-label-lg-line-height: var(--rel-fonts-line-height-label-lg);
336
+ --rel-label-lg-letter-spacing: var(--rel-fonts-letter-spacing-sm);
337
+ --rel-label-md-font-family: var(--rel-fonts-font-family);
338
+ --rel-label-md-font-weight: var(--rel-fonts-weight-body-medium);
339
+ --rel-label-md-font-size: var(--rel-fonts-size-label-md);
340
+ --rel-label-md-line-height: var(--rel-fonts-line-height-label-md);
341
+ --rel-label-md-letter-spacing: var(--rel-fonts-letter-spacing-sm);
342
+ --rel-label-sm-font-family: var(--rel-fonts-font-family);
343
+ --rel-label-sm-font-weight: var(--rel-fonts-weight-body-medium);
344
+ --rel-label-sm-font-size: var(--rel-fonts-size-label-sm);
345
+ --rel-label-sm-line-height: var(--rel-fonts-line-height-label-sm);
346
+ --rel-label-sm-letter-spacing: var(--rel-fonts-letter-spacing-sm);
347
+ --rel-label-xs-font-family: var(--rel-fonts-font-family);
348
+ --rel-label-xs-font-weight: var(--rel-fonts-weight-body-medium);
349
+ --rel-label-xs-font-size: var(--rel-fonts-size-label-xs);
350
+ --rel-label-xs-line-height: var(--rel-fonts-line-height-label-xs);
351
+ --rel-label-xs-letter-spacing: var(--rel-fonts-letter-spacing-sm);
352
+ --rel-action-xl-font-family: var(--rel-fonts-font-family);
353
+ --rel-action-xl-font-weight: var(--rel-fonts-weight-body-semibold);
354
+ --rel-action-xl-font-size: var(--rel-fonts-size-action-xl);
355
+ --rel-action-xl-line-height: var(--rel-fonts-line-height-action-xl);
356
+ --rel-action-xl-letter-spacing: var(--rel-fonts-letter-spacing-xs);
357
+ --rel-action-lg-font-family: var(--rel-fonts-font-family);
358
+ --rel-action-lg-font-weight: var(--rel-fonts-weight-body-semibold);
359
+ --rel-action-lg-font-size: var(--rel-fonts-size-action-lg);
360
+ --rel-action-lg-line-height: var(--rel-fonts-line-height-action-lg);
361
+ --rel-action-lg-letter-spacing: var(--rel-fonts-letter-spacing-xs);
362
+ --rel-action-md-font-family: var(--rel-fonts-font-family);
363
+ --rel-action-md-font-weight: var(--rel-fonts-weight-body-semibold);
364
+ --rel-action-md-font-size: var(--rel-fonts-size-action-md);
365
+ --rel-action-md-line-height: var(--rel-fonts-line-height-action-md);
366
+ --rel-action-md-letter-spacing: var(--rel-fonts-letter-spacing-xs);
367
+
368
+ /* ==================== CARRY-FORWARD (not in Figma export) ==================== */
369
+ /* --- shadows (carry-forward) --- */
370
+ --rel-shadows-shadow-100: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 1px 3px 1px rgba(0,0,0,0.15);
371
+ --rel-shadows-shadow-200: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 2px 6px 2px rgba(0,0,0,0.15);
372
+ --rel-shadows-shadow-300: 0px 1px 2px 0px rgba(0,0,0,0.3), 0px 4px 8px 3px rgba(0,0,0,0.15);
373
+ --rel-shadows-shadow-400: 0px 2px 3px 0px rgba(0,0,0,0.3), 0px 6px 10px 4px rgba(0,0,0,0.15);
374
+ --rel-shadows-shadow-500: 0px 4px 4px 0px rgba(0,0,0,0.3), 0px 8px 12px 6px rgba(0,0,0,0.15);
375
+ /* --- shadows (Figma effect styles shadow/sm, shadow/md) --- */
376
+ --rel-shadows-sm: 0 2px 4px rgba(11,11,11,0.10);
377
+ --rel-shadows-md: 0 4px 8px rgba(11,11,11,0.10);
378
+ /* --- overlay (carry-forward) --- */
379
+ --rel-overlay-scrim: rgba(0,0,0,0.5);
380
+
381
+ /* ==================== SEMANTIC — LIGHT ==================== */
382
+ /* --- bg --- */
383
+ --rel-bg-static-light: var(--rel-colors-gray-0);
384
+ --rel-bg-static-dark: var(--rel-colors-gray-900);
385
+ --rel-bg-page: var(--rel-colors-gray-50);
386
+ --rel-bg-page-inverse: var(--rel-colors-gray-950);
387
+ --rel-bg-surface: var(--rel-colors-gray-0);
388
+ --rel-bg-surface-elevated: var(--rel-colors-gray-50);
389
+ --rel-bg-surface-inverse: var(--rel-colors-gray-950);
390
+ --rel-bg-surface-brand: var(--rel-colors-brand-500);
391
+ --rel-bg-neutral: var(--rel-colors-gray-0);
392
+ --rel-bg-neutral-elevated-1: var(--rel-colors-gray-50);
393
+ --rel-bg-neutral-elevated-2: var(--rel-colors-gray-100);
394
+ --rel-bg-neutral-elevated-3: var(--rel-colors-gray-300);
395
+ --rel-bg-neutral-inverse-1: var(--rel-colors-gray-800);
396
+ --rel-bg-neutral-inverse-2: var(--rel-colors-gray-950);
397
+ --rel-bg-brand: var(--rel-colors-brand-500);
398
+ --rel-bg-danger-light: var(--rel-colors-red-50);
399
+ --rel-bg-danger: var(--rel-colors-red-500);
400
+ --rel-bg-danger-strong: var(--rel-colors-red-800);
401
+ --rel-bg-warning-light: var(--rel-colors-yellow-100);
402
+ --rel-bg-warning: var(--rel-colors-yellow-400);
403
+ --rel-bg-warning-strong: var(--rel-colors-yellow-800);
404
+ --rel-bg-info-light: var(--rel-colors-blue-50);
405
+ --rel-bg-info: var(--rel-colors-blue-500);
406
+ --rel-bg-info-strong: var(--rel-colors-blue-800);
407
+ --rel-bg-success-light: var(--rel-colors-green-50);
408
+ --rel-bg-success: var(--rel-colors-green-500);
409
+ --rel-bg-success-strong: var(--rel-colors-green-800);
410
+
411
+ /* --- text --- */
412
+ --rel-text-static-light: var(--rel-colors-gray-0);
413
+ --rel-text-static-dark: var(--rel-colors-gray-950);
414
+ --rel-text-default: var(--rel-colors-gray-950);
415
+ --rel-text-label: var(--rel-colors-gray-700);
416
+ --rel-text-body: var(--rel-colors-gray-500);
417
+ --rel-text-caption: var(--rel-colors-gray-500);
418
+ --rel-text-placeholder: var(--rel-colors-gray-500);
419
+ --rel-text-disabled: var(--rel-colors-gray-200);
420
+ --rel-text-inverse: var(--rel-colors-gray-0);
421
+ --rel-text-danger: var(--rel-colors-red-600);
422
+ --rel-text-warning: var(--rel-colors-yellow-800);
423
+ --rel-text-info: var(--rel-colors-blue-700);
424
+ --rel-text-success: var(--rel-colors-green-700);
425
+
426
+ /* --- border --- */
427
+ --rel-border-default: var(--rel-colors-gray-100);
428
+ --rel-border-subtle: var(--rel-colors-gray-50);
429
+ --rel-border-accent: var(--rel-colors-gray-350);
430
+ --rel-border-strong: var(--rel-colors-gray-950);
431
+ --rel-border-inverse: var(--rel-colors-gray-0);
432
+ --rel-border-brand: var(--rel-colors-brand-500);
433
+ --rel-border-success-subtle: var(--rel-colors-green-100);
434
+ --rel-border-success: var(--rel-colors-green-600);
435
+ --rel-border-success-strong: var(--rel-colors-green-800);
436
+ --rel-border-danger-subtle: var(--rel-colors-red-100);
437
+ --rel-border-danger: var(--rel-colors-red-600);
438
+ --rel-border-danger-strong: var(--rel-colors-red-800);
439
+ --rel-border-warning-subtle: var(--rel-colors-yellow-100);
440
+ --rel-border-warning: var(--rel-colors-yellow-700);
441
+ --rel-border-warning-strong: var(--rel-colors-yellow-800);
442
+ --rel-border-focus: var(--rel-colors-gray-950);
443
+ --rel-border-focus-subtle: var(--rel-colors-gray-100);
444
+ --rel-border-focus-inner: var(--rel-colors-gray-0);
445
+
446
+ /* --- action --- */
447
+ --rel-action-overlay-hover: var(--rel-colors-dark-alpha-1);
448
+ --rel-action-overlay-pressed: var(--rel-colors-dark-alpha-2);
449
+ --rel-action-overlay-hover-strong: var(--rel-colors-dark-alpha-3);
450
+ --rel-action-overlay-dragged: var(--rel-colors-dark-alpha-6);
451
+ --rel-action-overlay-hover-inverse: var(--rel-colors-light-alpha-4);
452
+ --rel-action-neutral-static-hover: var(--rel-colors-light-alpha-1);
453
+ --rel-action-neutral-fill: var(--rel-colors-gray-950);
454
+ --rel-action-neutral-fill-hover: var(--rel-colors-gray-700);
455
+ --rel-action-neutral-fill-dragged: var(--rel-colors-gray-600);
456
+ --rel-action-neutral-subtle: var(--rel-colors-gray-50);
457
+ --rel-action-neutral-subtle-hover: var(--rel-colors-gray-100);
458
+ --rel-action-neutral-subtle-dragged: var(--rel-colors-gray-200);
459
+ --rel-action-neutral-ghost-hover: var(--rel-colors-dark-alpha-1);
460
+ --rel-action-neutral-label-icons-fill-inverse: var(--rel-colors-gray-0);
461
+ --rel-action-neutral-label-icons-subtle: var(--rel-colors-gray-950);
462
+ --rel-action-neutral-label-icons-outline: var(--rel-colors-gray-950);
463
+ --rel-action-neutral-label-icons-ghost: var(--rel-colors-gray-950);
464
+ --rel-action-neutral-label-icons-link: var(--rel-colors-gray-950);
465
+ --rel-action-neutral-label-icons-link-hover: var(--rel-colors-gray-600);
466
+ --rel-action-neutral-border-subtle-hover: var(--rel-colors-gray-100);
467
+ --rel-action-neutral-border-subtle-dragged: var(--rel-colors-gray-200);
468
+ --rel-action-neutral-border-outline: var(--rel-colors-gray-350);
469
+ --rel-action-neutral-border-outline-hover: var(--rel-colors-gray-950);
470
+ --rel-action-brand-fill: var(--rel-colors-brand-500);
471
+ --rel-action-brand-fill-hover: var(--rel-colors-brand-600);
472
+ --rel-action-brand-fill-disabled: var(--rel-colors-gray-200);
473
+ --rel-action-brand-label-icons-primary: var(--rel-colors-gray-950);
474
+ --rel-action-brand-label-icons-primary-disabled: var(--rel-colors-gray-950);
475
+ --rel-action-danger-fill: var(--rel-colors-red-600);
476
+ --rel-action-danger-fill-hover: var(--rel-colors-red-700);
477
+ --rel-action-danger-fill-dragged: var(--rel-colors-red-500);
478
+ --rel-action-danger-subtle: var(--rel-colors-red-50);
479
+ --rel-action-danger-subtle-hover: var(--rel-colors-red-100);
480
+ --rel-action-danger-subtle-dragged: var(--rel-colors-red-200);
481
+ --rel-action-danger-outline-hover: var(--rel-colors-red-50);
482
+ --rel-action-danger-ghost-hover: var(--rel-colors-red-50);
483
+ --rel-action-danger-label-icons-fill: var(--rel-colors-gray-0);
484
+ --rel-action-danger-label-icons-subtle: var(--rel-colors-red-600);
485
+ --rel-action-danger-label-icons-subtle-hover: var(--rel-colors-red-700);
486
+ --rel-action-danger-label-icons-subtle-dragged: var(--rel-colors-red-700);
487
+ --rel-action-danger-label-icons-outline: var(--rel-colors-red-600);
488
+ --rel-action-danger-label-icons-ghost: var(--rel-colors-red-600);
489
+ --rel-action-danger-label-icons-link: var(--rel-colors-red-600);
490
+ --rel-action-danger-label-icons-link-hover: var(--rel-colors-red-600);
491
+ --rel-action-danger-border-subtle-hover: var(--rel-colors-red-100);
492
+ --rel-action-danger-border-subtle-dragged: var(--rel-colors-red-200);
493
+ --rel-action-danger-border-outline: var(--rel-colors-red-100);
494
+ --rel-action-danger-border-outline-hover: var(--rel-colors-red-600);
495
+ --rel-action-warning-fill: var(--rel-colors-yellow-400);
496
+ --rel-action-warning-fill-hover: var(--rel-colors-yellow-500);
497
+ --rel-action-warning-fill-dragged: var(--rel-colors-yellow-300);
498
+ --rel-action-warning-subtle: var(--rel-colors-yellow-100);
499
+ --rel-action-warning-subtle-hover: var(--rel-colors-yellow-200);
500
+ --rel-action-warning-subtle-dragged: var(--rel-colors-yellow-300);
501
+ --rel-action-warning-label-icons-fill: var(--rel-colors-gray-950);
502
+ --rel-action-warning-label-icons-subtle: var(--rel-colors-yellow-800);
503
+ --rel-action-warning-label-icons-subtle-hover: var(--rel-colors-yellow-800);
504
+ --rel-action-warning-label-icons-subtle-dragged: var(--rel-colors-yellow-900);
505
+ --rel-action-warning-border-subtle-hover: var(--rel-colors-yellow-300);
506
+ --rel-action-warning-border-subtle-dragged: var(--rel-colors-yellow-300);
507
+ --rel-action-success-fill: var(--rel-colors-green-600);
508
+ --rel-action-success-fill-hover: var(--rel-colors-green-700);
509
+ --rel-action-success-fill-dragged: var(--rel-colors-green-500);
510
+ --rel-action-success-subtle: var(--rel-colors-green-50);
511
+ --rel-action-success-subtle-hover: var(--rel-colors-green-100);
512
+ --rel-action-success-subtle-dragged: var(--rel-colors-green-200);
513
+ --rel-action-success-outline-hover: var(--rel-colors-green-300);
514
+ --rel-action-success-ghost-hover: var(--rel-colors-green-50);
515
+ --rel-action-success-label-icons-fill: var(--rel-colors-gray-0);
516
+ --rel-action-success-label-icons-subtle: var(--rel-colors-green-700);
517
+ --rel-action-success-label-icons-subtle-hover: var(--rel-colors-green-700);
518
+ --rel-action-success-label-icons-subtle-dragged: var(--rel-colors-green-800);
519
+ --rel-action-success-border-subtle-hover: var(--rel-colors-green-200);
520
+ --rel-action-success-border-subtle-dragged: var(--rel-colors-green-200);
521
+ --rel-action-info-fill: var(--rel-colors-blue-700);
522
+ --rel-action-info-fill-hover: var(--rel-colors-blue-800);
523
+ --rel-action-info-fill-dragged: var(--rel-colors-blue-600);
524
+ --rel-action-info-subtle: var(--rel-colors-blue-50);
525
+ --rel-action-info-subtle-hover: var(--rel-colors-blue-100);
526
+ --rel-action-info-subtle-dragged: var(--rel-colors-blue-200);
527
+ --rel-action-info-label-icons-fill: var(--rel-colors-gray-0);
528
+ --rel-action-info-label-icons-subtle: var(--rel-colors-blue-700);
529
+ --rel-action-info-label-icons-subtle-hover: var(--rel-colors-blue-700);
530
+ --rel-action-info-label-icons-subtle-dragged: var(--rel-colors-blue-800);
531
+ --rel-action-info-border-subtle-hover: var(--rel-colors-blue-200);
532
+ --rel-action-info-border-subtle-dragged: var(--rel-colors-blue-300);
533
+
534
+ /* --- additions --- */
535
+ --rel-border-info: var(--rel-colors-blue-500); /* ADDED: no V2 borders/info — aligned to info fill */
536
+ }
537
+
538
+ :root[data-theme="dark"], .dark {
539
+ /* ==================== CARRY-FORWARD (dark) ==================== */
540
+ --rel-shadows-shadow-100: 0px 1px 2px rgba(0,0,0,0.6);
541
+ --rel-shadows-shadow-200: 0px 2px 6px rgba(0,0,0,0.6);
542
+ --rel-shadows-shadow-300: 0px 4px 10px rgba(0,0,0,0.65);
543
+ --rel-shadows-shadow-400: 0px 6px 16px rgba(0,0,0,0.7);
544
+ --rel-shadows-shadow-500: 0px 10px 24px rgba(0,0,0,0.75);
545
+ --rel-overlay-scrim: rgba(0,0,0,0.6);
546
+
547
+ /* ==================== SEMANTIC — DARK (overrides) ==================== */
548
+ --rel-bg-static-dark: var(--rel-colors-gray-800);
549
+ --rel-bg-page: var(--rel-colors-gray-900);
550
+ --rel-bg-page-inverse: var(--rel-colors-gray-0);
551
+ --rel-bg-surface: var(--rel-colors-gray-800);
552
+ --rel-bg-surface-elevated: var(--rel-colors-gray-900);
553
+ --rel-bg-surface-inverse: var(--rel-colors-gray-0);
554
+ --rel-bg-neutral: var(--rel-colors-gray-800);
555
+ --rel-bg-neutral-elevated-1: var(--rel-colors-gray-700);
556
+ --rel-bg-neutral-elevated-2: var(--rel-colors-gray-600);
557
+ --rel-bg-neutral-elevated-3: var(--rel-colors-gray-400);
558
+ --rel-bg-neutral-inverse-1: var(--rel-colors-gray-100);
559
+ --rel-bg-neutral-inverse-2: var(--rel-colors-gray-0);
560
+ --rel-bg-danger-light: var(--rel-colors-red-900);
561
+ --rel-bg-danger-strong: var(--rel-colors-red-100);
562
+ --rel-bg-warning-light: var(--rel-colors-yellow-900);
563
+ --rel-bg-warning-strong: var(--rel-colors-yellow-100);
564
+ --rel-bg-info-light: var(--rel-colors-blue-900);
565
+ --rel-bg-info: var(--rel-colors-blue-400);
566
+ --rel-bg-info-strong: var(--rel-colors-blue-100);
567
+ --rel-bg-success-light: var(--rel-colors-green-900);
568
+ --rel-bg-success-strong: var(--rel-colors-green-100);
569
+ --rel-text-default: var(--rel-colors-gray-0);
570
+ --rel-text-label: var(--rel-colors-gray-200);
571
+ --rel-text-body: var(--rel-colors-gray-300);
572
+ --rel-text-caption: var(--rel-colors-gray-300);
573
+ --rel-text-placeholder: var(--rel-colors-gray-300);
574
+ --rel-text-disabled: var(--rel-colors-gray-400);
575
+ --rel-text-inverse: var(--rel-colors-gray-950);
576
+ --rel-text-danger: var(--rel-colors-red-300);
577
+ --rel-text-warning: var(--rel-colors-yellow-400);
578
+ --rel-text-info: var(--rel-colors-blue-400);
579
+ --rel-text-success: var(--rel-colors-green-300);
580
+ --rel-border-default: var(--rel-colors-gray-700);
581
+ --rel-border-subtle: var(--rel-colors-gray-800);
582
+ --rel-border-accent: var(--rel-colors-gray-400);
583
+ --rel-border-strong: var(--rel-colors-gray-0);
584
+ --rel-border-inverse: var(--rel-colors-gray-950);
585
+ --rel-border-success-subtle: var(--rel-colors-green-800);
586
+ --rel-border-success: var(--rel-colors-green-400);
587
+ --rel-border-success-strong: var(--rel-colors-green-100);
588
+ --rel-border-danger-subtle: var(--rel-colors-red-800);
589
+ --rel-border-danger: var(--rel-colors-red-400);
590
+ --rel-border-danger-strong: var(--rel-colors-red-100);
591
+ --rel-border-warning-subtle: var(--rel-colors-yellow-800);
592
+ --rel-border-warning: var(--rel-colors-yellow-400);
593
+ --rel-border-warning-strong: var(--rel-colors-yellow-100);
594
+ --rel-border-focus: var(--rel-colors-gray-0);
595
+ --rel-border-focus-subtle: var(--rel-colors-gray-700);
596
+ --rel-border-focus-inner: var(--rel-colors-gray-900);
597
+ --rel-action-overlay-hover: var(--rel-colors-light-alpha-1);
598
+ --rel-action-overlay-pressed: var(--rel-colors-light-alpha-2);
599
+ --rel-action-neutral-fill: var(--rel-colors-gray-0);
600
+ --rel-action-neutral-fill-hover: var(--rel-colors-gray-50);
601
+ --rel-action-neutral-fill-dragged: var(--rel-colors-gray-100);
602
+ --rel-action-neutral-subtle: var(--rel-colors-gray-700);
603
+ --rel-action-neutral-subtle-hover: var(--rel-colors-gray-600);
604
+ --rel-action-neutral-subtle-dragged: var(--rel-colors-gray-500);
605
+ --rel-action-neutral-ghost-hover: var(--rel-colors-light-alpha-1);
606
+ --rel-action-neutral-label-icons-fill-inverse: var(--rel-colors-gray-950);
607
+ --rel-action-neutral-label-icons-subtle: var(--rel-colors-gray-0);
608
+ --rel-action-neutral-label-icons-outline: var(--rel-colors-gray-0);
609
+ --rel-action-neutral-label-icons-ghost: var(--rel-colors-gray-0);
610
+ --rel-action-neutral-label-icons-link: var(--rel-colors-gray-0);
611
+ --rel-action-neutral-label-icons-link-hover: var(--rel-colors-gray-300);
612
+ --rel-action-neutral-border-subtle-hover: var(--rel-colors-gray-600);
613
+ --rel-action-neutral-border-subtle-dragged: var(--rel-colors-gray-500);
614
+ --rel-action-neutral-border-outline: var(--rel-colors-gray-400);
615
+ --rel-action-neutral-border-outline-hover: var(--rel-colors-gray-0);
616
+ --rel-action-brand-fill-disabled: var(--rel-colors-gray-600);
617
+ --rel-action-brand-label-icons-primary-disabled: var(--rel-colors-gray-0);
618
+ --rel-action-danger-subtle: var(--rel-colors-red-900);
619
+ --rel-action-danger-subtle-hover: var(--rel-colors-red-800);
620
+ --rel-action-danger-subtle-dragged: var(--rel-colors-red-700);
621
+ --rel-action-danger-outline-hover: var(--rel-colors-red-900);
622
+ --rel-action-danger-ghost-hover: var(--rel-colors-red-900);
623
+ --rel-action-danger-label-icons-subtle: var(--rel-colors-red-100);
624
+ --rel-action-danger-label-icons-subtle-hover: var(--rel-colors-red-100);
625
+ --rel-action-danger-label-icons-subtle-dragged: var(--rel-colors-red-50);
626
+ --rel-action-danger-label-icons-outline: var(--rel-colors-red-300);
627
+ --rel-action-danger-label-icons-ghost: var(--rel-colors-red-300);
628
+ --rel-action-danger-label-icons-link: var(--rel-colors-red-300);
629
+ --rel-action-danger-label-icons-link-hover: var(--rel-colors-red-400);
630
+ --rel-action-danger-border-subtle-hover: var(--rel-colors-red-800);
631
+ --rel-action-danger-border-subtle-dragged: var(--rel-colors-red-700);
632
+ --rel-action-danger-border-outline: var(--rel-colors-red-700);
633
+ --rel-action-danger-border-outline-hover: var(--rel-colors-red-400);
634
+ --rel-action-warning-fill: var(--rel-colors-yellow-500);
635
+ --rel-action-warning-fill-dragged: var(--rel-colors-yellow-400);
636
+ --rel-action-warning-subtle: var(--rel-colors-yellow-900);
637
+ --rel-action-warning-subtle-hover: var(--rel-colors-yellow-800);
638
+ --rel-action-warning-subtle-dragged: var(--rel-colors-yellow-700);
639
+ --rel-action-warning-label-icons-subtle: var(--rel-colors-yellow-100);
640
+ --rel-action-warning-label-icons-subtle-hover: var(--rel-colors-yellow-100);
641
+ --rel-action-warning-label-icons-subtle-dragged: var(--rel-colors-yellow-50);
642
+ --rel-action-warning-border-subtle-hover: var(--rel-colors-yellow-800);
643
+ --rel-action-warning-border-subtle-dragged: var(--rel-colors-yellow-700);
644
+ --rel-action-success-subtle: var(--rel-colors-green-900);
645
+ --rel-action-success-subtle-hover: var(--rel-colors-green-800);
646
+ --rel-action-success-subtle-dragged: var(--rel-colors-green-700);
647
+ --rel-action-success-outline-hover: var(--rel-colors-green-700);
648
+ --rel-action-success-ghost-hover: var(--rel-colors-green-900);
649
+ --rel-action-success-label-icons-subtle: var(--rel-colors-green-100);
650
+ --rel-action-success-label-icons-subtle-hover: var(--rel-colors-green-100);
651
+ --rel-action-success-label-icons-subtle-dragged: var(--rel-colors-green-50);
652
+ --rel-action-success-border-subtle-hover: var(--rel-colors-green-800);
653
+ --rel-action-success-border-subtle-dragged: var(--rel-colors-green-700);
654
+ --rel-action-info-subtle: var(--rel-colors-blue-900);
655
+ --rel-action-info-subtle-hover: var(--rel-colors-blue-800);
656
+ --rel-action-info-subtle-dragged: var(--rel-colors-blue-700);
657
+ --rel-action-info-label-icons-subtle: var(--rel-colors-blue-100);
658
+ --rel-action-info-label-icons-subtle-hover: var(--rel-colors-blue-100);
659
+ --rel-action-info-label-icons-subtle-dragged: var(--rel-colors-blue-50);
660
+ --rel-action-info-border-subtle-hover: var(--rel-colors-blue-800);
661
+ --rel-action-info-border-subtle-dragged: var(--rel-colors-blue-700);
662
+
663
+ --rel-border-info: var(--rel-colors-blue-400); /* ADDED */
664
+ }
665
+
666
+ /* ==================== V1 COMPAT — DEPRECATED ALIAS BLOCK ====================
667
+ Restores every custom property that existed in @reliability-design/web 1.3.x
668
+ but was renamed/removed by the RelDS 2.0 token rework (v1.4.0). Consumers on
669
+ the V1 names keep working; each name resolves to its RelDS 2.0 equivalent
670
+ (per tempf/COMPONENT-TOKEN-MIGRATION-MAP.md) or, where 2.0 has no
671
+ counterpart, to its literal 1.3.x value.
672
+
673
+ Deprecated since 1.4.1 — REMOVAL TARGETED FOR 3.0 (see tempf/CLAUDE.md
674
+ "Backward compat"). Migrate to the 2.0 semantic tokens.
675
+
676
+ Notes:
677
+ - Aliases follow the 2.0 dark palette automatically (neutral grays), NOT the
678
+ retired 1.x blue-tinted dark values — intentional per governance.
679
+ - Context-dependent V1 names map to the dictionary's primary target; the
680
+ choice is noted inline where non-obvious.
681
+ - This fragment is appended to vars.css by figma-pipeline/scripts/build-vars.ts.
682
+ ============================================================================ */
683
+
684
+ :root {
685
+ /* ---------- V1 border radii ---------- */
686
+ --rel-borders-radius-border-radius-0: var(--rel-border-radius-square);
687
+ --rel-borders-radius-border-radius-100: 2px; /* 2px step removed in 2.0 — keep V1 literal */
688
+ --rel-borders-radius-border-radius-200: var(--rel-border-radius-sm);
689
+ --rel-borders-radius-border-radius-300: var(--rel-border-radius-md);
690
+ --rel-borders-radius-border-radius-400: var(--rel-border-radius-lg);
691
+ --rel-borders-radius-border-radius-500: var(--rel-border-radius-full-rounded);
692
+
693
+ /* ---------- V1 border widths ---------- */
694
+ --rel-borders-width-stroke-050: var(--rel-stroke-xs);
695
+ --rel-borders-width-stroke-100: var(--rel-stroke-sm);
696
+ --rel-borders-width-stroke-150: var(--rel-stroke-md);
697
+ --rel-borders-width-stroke-200: var(--rel-stroke-lg);
698
+ --rel-borders-width-stroke-300: 3px; /* no 2.0 counterpart */
699
+ --rel-borders-width-stroke-400: 4px; /* no 2.0 counterpart */
700
+
701
+ /* ---------- V1 spacing ---------- */
702
+ --rel-spacing-space-3xs: var(--rel-spacing-3xs);
703
+ --rel-spacing-space-2xs: var(--rel-spacing-2xs);
704
+ --rel-spacing-space-xs: var(--rel-spacing-xs);
705
+ --rel-spacing-space-sm: var(--rel-spacing-sm);
706
+ --rel-spacing-space-md: var(--rel-spacing-md);
707
+ --rel-spacing-space-lg: var(--rel-spacing-lg);
708
+ --rel-spacing-space-xl: var(--rel-spacing-xl);
709
+ --rel-spacing-space-2xl: var(--rel-spacing-2xl);
710
+ --rel-spacing-space-3xl: var(--rel-spacing-3xl);
711
+
712
+ /* ---------- V1 typography ---------- */
713
+ --rel-fontFamilies-primary: var(--rel-fonts-font-family);
714
+ --rel-fontWeights-regular: var(--rel-fonts-weight-body-regular);
715
+ --rel-fontWeights-medium: var(--rel-fonts-weight-body-medium);
716
+ --rel-fontWeights-semibold: var(--rel-fonts-weight-body-semibold);
717
+ --rel-fontWeights-bold: 700; /* 2.0 has no bold weight token */
718
+ /* Flat V1 type scale — 2.0 uses per-role composite tokens; keep V1 literals */
719
+ --rel-fontSizes-3xl: 36px;
720
+ --rel-fontSizes-2xl: 28px;
721
+ --rel-fontSizes-xl: 24px;
722
+ --rel-fontSizes-lg: 20px;
723
+ --rel-fontSizes-md: 14px;
724
+ --rel-fontSizes-sm: 12px;
725
+ --rel-fontSizes-xs: 10px;
726
+ --rel-lineHeights-3xl: 48px;
727
+ --rel-lineHeights-2xl: 42px;
728
+ --rel-lineHeights-xl: 36px;
729
+ --rel-lineHeights-lg: 28px;
730
+ --rel-lineHeights-md: 20px;
731
+ --rel-lineHeights-sm: 18px;
732
+ --rel-lineHeights-xs: 16px;
733
+ --rel-lineHeights-2xs: 12px;
734
+ --rel-letterSpacing-normal: 0px;
735
+ --rel-letterSpacing-dense: -0.2px;
736
+ --rel-letterSpacing-denser: -0.3px;
737
+ --rel-letterSpacing-densest: -0.54px;
738
+
739
+ /* ---------- V1 neutral primitives → 2.0 semantics (theme-aware) ---------- */
740
+ --rel-colors-white: var(--rel-bg-surface);
741
+ --rel-colors-black: var(--rel-border-strong);
742
+ --rel-colors-gray-primary: var(--rel-text-default);
743
+ --rel-colors-gray-heading: var(--rel-text-label);
744
+ --rel-colors-gray-body: var(--rel-text-default);
745
+ --rel-colors-gray-placeholder: var(--rel-text-placeholder);
746
+ --rel-colors-gray-dark-placeholder: var(--rel-text-body);
747
+ --rel-colors-gray-disabled-text: var(--rel-text-disabled);
748
+ --rel-colors-gray-border: var(--rel-border-default);
749
+ --rel-colors-gray-divider: var(--rel-border-default);
750
+ --rel-colors-gray-tab-border: var(--rel-border-default);
751
+ --rel-colors-gray-light: var(--rel-bg-surface-elevated);
752
+ --rel-colors-gray-warm: var(--rel-bg-neutral-elevated-1);
753
+ --rel-colors-gray-surface: var(--rel-bg-neutral-elevated-1);
754
+ --rel-colors-gray-screen-bg: var(--rel-bg-neutral-elevated-2);
755
+ --rel-colors-gray-toast-bg: var(--rel-bg-neutral-inverse-1);
756
+
757
+ /* ---------- V1 status-tint primitives → 2.0 light backgrounds ---------- */
758
+ --rel-colors-red-bg-alert: var(--rel-bg-danger-light);
759
+ --rel-colors-red-light: var(--rel-bg-danger-light);
760
+ --rel-colors-orange-bg-light: var(--rel-bg-warning-light);
761
+ --rel-colors-orange-bg-counter: var(--rel-bg-warning-light);
762
+ --rel-colors-green-bg-light: var(--rel-bg-success-light);
763
+ --rel-colors-blue-bg: var(--rel-bg-info-light);
764
+
765
+ /* ---------- V1 chromatic primitives — literal 1.3.x values ----------
766
+ No 1:1 target in 2.0; these had no dark overrides in 1.3.x either. */
767
+ --rel-colors-green-primary: var(--rel-bg-surface-brand); /* #00F49C brand — green rule */
768
+ --rel-colors-green-secondary: #06D98C;
769
+ --rel-colors-green-tertiary: #00A86B;
770
+ --rel-colors-green-success: #22C55E;
771
+ --rel-colors-green-credited: #4CAA47;
772
+ --rel-colors-red-primary: #CC0000;
773
+ --rel-colors-red-secondary: #D50000;
774
+ --rel-colors-red-tertiary: #9C1E33;
775
+ --rel-colors-blue-primary: #0091EA;
776
+ --rel-colors-blue-secondary: #4A90E2;
777
+ --rel-colors-blue-tertiary: #0059F4;
778
+ --rel-colors-blue-light: #80D8FF;
779
+ --rel-colors-primary-500: var(--rel-colors-blue-primary);
780
+ --rel-colors-orange-warning: #FF6D00;
781
+ --rel-colors-orange-expired: #F2915C;
782
+ --rel-colors-yellow-pending: #FFBF43;
783
+ --rel-colors-gold: #D6BA00;
784
+ --rel-colors-gold-light: #F6EFD7;
785
+ --rel-colors-gold-secondary: #F5F0D3;
786
+ --rel-colors-platinum: #8392C9;
787
+ --rel-colors-platinum-secondary: #E4E6F2;
788
+ --rel-colors-silver: #BABABA;
789
+ --rel-colors-silver-secondary: #F0F0F0;
790
+ --rel-colors-bronze: #7D5300;
791
+ --rel-colors-bronze-secondary: #E2DAC7;
792
+
793
+ /* ---------- V1 semantic text ---------- */
794
+ --rel-text-primary: var(--rel-text-default);
795
+ --rel-text-heading: var(--rel-text-label);
796
+ --rel-text-dark-placeholder: var(--rel-text-body);
797
+ --rel-text-error: var(--rel-text-danger);
798
+ --rel-text-error-small: var(--rel-text-danger); /* size variants collapsed in 2.0 */
799
+ --rel-text-error-medium: var(--rel-text-danger);
800
+ --rel-text-error-large: var(--rel-text-danger);
801
+ --rel-text-warning-small: var(--rel-text-warning);
802
+ --rel-text-warning-medium: var(--rel-text-warning);
803
+ --rel-text-warning-large: var(--rel-text-warning);
804
+ --rel-text-success-small: var(--rel-text-success);
805
+ --rel-text-success-medium: var(--rel-text-success);
806
+ --rel-text-success-large: var(--rel-text-success);
807
+ --rel-text-info-secondary: var(--rel-text-info);
808
+ --rel-text-info-hover: var(--rel-text-info);
809
+ --rel-text-credited: var(--rel-text-success);
810
+ --rel-gray-text-primary: var(--rel-text-default);
811
+
812
+ /* ---------- V1 semantic icons ---------- */
813
+ --rel-icon-info: var(--rel-text-info);
814
+ --rel-icon-error: var(--rel-text-danger);
815
+ --rel-icon-warning: var(--rel-text-warning);
816
+ --rel-icon-success: var(--rel-text-success);
817
+
818
+ /* ---------- V1 semantic borders ---------- */
819
+ --rel-border-error: var(--rel-border-danger);
820
+ --rel-border-divider: var(--rel-border-default); /* merged in 2.0 */
821
+ --rel-border-tab: var(--rel-border-accent);
822
+
823
+ /* ---------- V1 semantic backgrounds ---------- */
824
+ --rel-background-error: var(--rel-bg-danger-light);
825
+ --rel-background-error-light: var(--rel-bg-danger-light); /* merged in 2.0 */
826
+ --rel-background-warning: var(--rel-bg-warning-light);
827
+ --rel-background-warning-counter: var(--rel-bg-warning-light);
828
+ --rel-background-success: var(--rel-bg-success-light);
829
+ --rel-background-info: var(--rel-bg-info-light);
830
+ --rel-background-info-accent: var(--rel-colors-blue-light);
831
+
832
+ /* ---------- V1 semantic surfaces ---------- */
833
+ --rel-surface-secondary: var(--rel-bg-surface-elevated);
834
+ --rel-surface-screen: var(--rel-bg-neutral-elevated-2);
835
+ --rel-surface-surface: var(--rel-bg-neutral-elevated-1);
836
+ --rel-surface-warm: var(--rel-bg-neutral-elevated-1);
837
+ --rel-surface-toast: var(--rel-bg-neutral-inverse-1);
838
+
839
+ /* ---------- V1 vars-v2 compat family ---------- */
840
+ --rel-error-surface-default: var(--rel-bg-danger);
841
+ --rel-error-surface-dark: var(--rel-text-danger);
842
+ --rel-error-text: var(--rel-text-danger);
843
+ --rel-success-surface-dark: var(--rel-text-success);
844
+ --rel-warning-surface-dark: var(--rel-text-warning);
845
+
846
+ /* ---------- V1 --rel-color-* alias layer ---------- */
847
+ --rel-color-bg-primary: var(--rel-bg-surface);
848
+ --rel-color-bg-secondary: var(--rel-bg-surface-elevated);
849
+ --rel-color-bg-tertiary: var(--rel-bg-neutral-elevated-1);
850
+ --rel-color-bg-hover: var(--rel-action-overlay-hover);
851
+ --rel-color-bg-selected: var(--rel-bg-neutral-elevated-2);
852
+ --rel-color-text-primary: var(--rel-text-default);
853
+ --rel-color-text-secondary: var(--rel-text-body);
854
+ --rel-color-text-heading: var(--rel-text-label);
855
+ --rel-color-text-inverse: var(--rel-text-inverse);
856
+ --rel-color-text-disabled: var(--rel-text-disabled);
857
+ --rel-color-text-placeholder: var(--rel-text-placeholder);
858
+ --rel-color-border-default: var(--rel-border-default);
859
+ --rel-color-border-strong: var(--rel-border-strong);
860
+ --rel-color-border-focus: var(--rel-border-focus);
861
+ --rel-color-border-divider: var(--rel-border-default);
862
+ --rel-color-icon-primary: var(--rel-text-body);
863
+ --rel-color-icon-hover: var(--rel-text-default);
864
+ --rel-color-brand: var(--rel-bg-surface-brand);
865
+ --rel-color-brand-hover: var(--rel-action-brand-fill-hover);
866
+ /* 2.0 has no link tokens — keep V1 literals (AA on their surfaces) */
867
+ --rel-color-text-link: #0067A3;
868
+ --rel-color-text-link-hover: #004E7C;
869
+ }
870
+
871
+ :root[data-theme="dark"], .dark {
872
+ /* Only literal-valued compat tokens that had explicit 1.3.x dark overrides;
873
+ aliased tokens flip with the 2.0 dark palette automatically. */
874
+ --rel-colors-blue-light: #1b6ea8;
875
+ --rel-color-text-link: #66B3FF;
876
+ --rel-color-text-link-hover: #99CCFF;
877
+ }