@aziontech/theme 2.6.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/README.md +73 -66
  2. package/dist/v4/globals.css +827 -79
  3. package/dist/v4/globals.scss +827 -79
  4. package/package.json +6 -23
  5. package/src/scripts/build-tokens.mjs +197 -230
  6. package/src/scripts/compile-primitives.js +79 -79
  7. package/src/scripts/compile-theme.js +70 -63
  8. package/src/scripts/css-vars.d.ts.map +1 -1
  9. package/src/scripts/css-vars.js +20 -16
  10. package/src/scripts/refs.js +2 -2
  11. package/src/scripts/resolve.d.ts.map +1 -1
  12. package/src/scripts/resolve.js +50 -47
  13. package/src/tokens/README.md +53 -74
  14. package/src/tokens/index.js +5 -5
  15. package/src/tokens/primitives/animations/animate.d.ts +35 -0
  16. package/src/tokens/primitives/animations/animate.d.ts.map +1 -1
  17. package/src/tokens/primitives/animations/animate.js +43 -5
  18. package/src/tokens/primitives/animations/ease.d.ts.map +1 -1
  19. package/src/tokens/primitives/animations/ease.js +3 -3
  20. package/src/tokens/primitives/animations/keyframes.d.ts +79 -0
  21. package/src/tokens/primitives/animations/keyframes.d.ts.map +1 -0
  22. package/src/tokens/primitives/animations/keyframes.js +85 -0
  23. package/src/tokens/primitives/border-widths.d.ts.map +1 -1
  24. package/src/tokens/primitives/border-widths.js +3 -3
  25. package/src/tokens/primitives/breakpoints.d.ts.map +1 -1
  26. package/src/tokens/primitives/breakpoints.js +3 -3
  27. package/src/tokens/primitives/colors/alpha.d.ts +80 -80
  28. package/src/tokens/primitives/colors/alpha.js +84 -84
  29. package/src/tokens/primitives/colors/brand.d.ts +22 -22
  30. package/src/tokens/primitives/colors/brand.js +28 -28
  31. package/src/tokens/primitives/colors/colors.d.ts +88 -88
  32. package/src/tokens/primitives/colors/colors.js +107 -107
  33. package/src/tokens/primitives/effects/blur.d.ts.map +1 -1
  34. package/src/tokens/primitives/effects/blur.js +3 -3
  35. package/src/tokens/primitives/effects/drop-shadow.d.ts.map +1 -1
  36. package/src/tokens/primitives/effects/drop-shadow.js +3 -3
  37. package/src/tokens/primitives/effects/inset-shadow.d.ts.map +1 -1
  38. package/src/tokens/primitives/effects/inset-shadow.js +3 -3
  39. package/src/tokens/primitives/effects/opacity.d.ts.map +1 -1
  40. package/src/tokens/primitives/effects/opacity.js +3 -3
  41. package/src/tokens/primitives/effects/perspective.js +3 -3
  42. package/src/tokens/primitives/effects/shadow.d.ts.map +1 -1
  43. package/src/tokens/primitives/effects/shadow.js +3 -3
  44. package/src/{azion/_fonts.scss → tokens/primitives/fonts.css} +19 -4
  45. package/src/tokens/primitives/ring-offset.d.ts.map +1 -1
  46. package/src/tokens/primitives/ring-offset.js +3 -3
  47. package/src/tokens/primitives/shape/aspect-video.d.ts.map +1 -1
  48. package/src/tokens/primitives/shape/aspect-video.js +2 -2
  49. package/src/tokens/primitives/shape/container.d.ts.map +1 -1
  50. package/src/tokens/primitives/shape/container.js +3 -3
  51. package/src/tokens/primitives/shape/height.d.ts.map +1 -1
  52. package/src/tokens/primitives/shape/height.js +3 -3
  53. package/src/tokens/primitives/shape/radius.d.ts.map +1 -1
  54. package/src/tokens/primitives/shape/radius.js +3 -3
  55. package/src/tokens/primitives/shape/size.d.ts.map +1 -1
  56. package/src/tokens/primitives/shape/size.js +3 -3
  57. package/src/tokens/primitives/shape/spacing.d.ts.map +1 -1
  58. package/src/tokens/primitives/shape/spacing.js +3 -3
  59. package/src/tokens/primitives/shape/width.d.ts.map +1 -1
  60. package/src/tokens/primitives/shape/width.js +4 -4
  61. package/src/tokens/primitives/typography/font-size.d.ts.map +1 -1
  62. package/src/tokens/primitives/typography/font-size.js +4 -4
  63. package/src/tokens/primitives/typography/font-weight.js +3 -3
  64. package/src/tokens/primitives/typography/leading.js +3 -3
  65. package/src/tokens/primitives/typography/line-height.d.ts.map +1 -1
  66. package/src/tokens/primitives/typography/line-height.js +3 -3
  67. package/src/tokens/primitives/typography/tracking.js +3 -3
  68. package/src/tokens/semantic/colors.js +17 -17
  69. package/src/tokens/semantic/containers.data.d.ts.map +1 -1
  70. package/src/tokens/semantic/containers.data.js +3 -3
  71. package/src/tokens/semantic/containers.js +25 -25
  72. package/src/tokens/semantic/spacings.data.d.ts.map +1 -1
  73. package/src/tokens/semantic/spacings.data.js +3 -3
  74. package/src/tokens/semantic/texts.data.d.ts +59 -28
  75. package/src/tokens/semantic/texts.data.d.ts.map +1 -1
  76. package/src/tokens/semantic/texts.data.js +90 -56
  77. package/src/tokens/theme/accent.js +6 -6
  78. package/src/tokens/theme/border.js +6 -6
  79. package/src/tokens/theme/code-sintax.d.ts +53 -0
  80. package/src/tokens/theme/code-sintax.d.ts.map +1 -0
  81. package/src/tokens/theme/code-sintax.js +28 -0
  82. package/src/tokens/theme/feedback/danger.js +6 -6
  83. package/src/tokens/theme/feedback/info.js +6 -6
  84. package/src/tokens/theme/feedback/success.js +6 -6
  85. package/src/tokens/theme/feedback/warning.js +6 -6
  86. package/src/tokens/theme/primary.js +6 -6
  87. package/src/tokens/theme/ring.js +6 -6
  88. package/src/tokens/theme/secondary.js +6 -6
  89. package/src/tokens/theme/surfaces.d.ts.map +1 -1
  90. package/src/tokens/theme/surfaces.js +6 -6
  91. package/src/tokens/theme/text.d.ts +6 -0
  92. package/src/tokens/theme/text.js +2 -0
  93. package/src/tokens/theme.d.ts +110 -110
  94. package/src/tokens/theme.js +9 -9
  95. package/default.js +0 -1
  96. package/dist/v3/globals.css +0 -855
  97. package/dist/v3/globals.scss +0 -855
  98. package/dist/v3/tailwind-preset.js +0 -510
  99. package/dist/v3/tailwind.config.js +0 -518
  100. package/src/azion/_custom.scss +0 -3
  101. package/src/azion/_extensions.scss +0 -37
  102. package/src/azion/_variables-widget.scss +0 -400
  103. package/src/azion/_variables.scss +0 -407
  104. package/src/azion/custom/_code.scss +0 -11
  105. package/src/azion/custom/_focus.scss +0 -5
  106. package/src/azion/custom/_scrollbehavior.scss +0 -6
  107. package/src/azion/custom/_selection.scss +0 -4
  108. package/src/azion/custom/_special-button.scss +0 -57
  109. package/src/azion/extended-components/_autocomplete.scss +0 -13
  110. package/src/azion/extended-components/_badge.scss +0 -53
  111. package/src/azion/extended-components/_breadcumb.scss +0 -18
  112. package/src/azion/extended-components/_button.scss +0 -134
  113. package/src/azion/extended-components/_calendar.scss +0 -310
  114. package/src/azion/extended-components/_carousel.scss +0 -9
  115. package/src/azion/extended-components/_checkbox.scss +0 -33
  116. package/src/azion/extended-components/_datatable.scss +0 -130
  117. package/src/azion/extended-components/_dialog.scss +0 -45
  118. package/src/azion/extended-components/_divider.scss +0 -37
  119. package/src/azion/extended-components/_dropdown.scss +0 -10
  120. package/src/azion/extended-components/_dropdownitem.scss +0 -13
  121. package/src/azion/extended-components/_inlinemessage.scss +0 -10
  122. package/src/azion/extended-components/_inputnumber.scss +0 -40
  123. package/src/azion/extended-components/_inputpassword.scss +0 -4
  124. package/src/azion/extended-components/_inputswitch.scss +0 -53
  125. package/src/azion/extended-components/_listbox.scss +0 -35
  126. package/src/azion/extended-components/_markdown.scss +0 -135
  127. package/src/azion/extended-components/_menuitem.scss +0 -22
  128. package/src/azion/extended-components/_multiselect.scss +0 -167
  129. package/src/azion/extended-components/_overlaypanel.scss +0 -18
  130. package/src/azion/extended-components/_picklist.scss +0 -25
  131. package/src/azion/extended-components/_progressbar.scss +0 -6
  132. package/src/azion/extended-components/_radiobutton.scss +0 -63
  133. package/src/azion/extended-components/_selectbutton.scss +0 -36
  134. package/src/azion/extended-components/_sidebar.scss +0 -28
  135. package/src/azion/extended-components/_splitbutton.scss +0 -22
  136. package/src/azion/extended-components/_tabmenu.scss +0 -21
  137. package/src/azion/extended-components/_tabview.scss +0 -41
  138. package/src/azion/extended-components/_tag.scss +0 -47
  139. package/src/azion/extended-components/_toast.scss +0 -9
  140. package/src/azion/extended-components/_tooltip.scss +0 -7
  141. package/src/azion/extended-components/_treeselect.scss +0 -10
  142. package/src/azion/extended-components/jsonform/_inputcheckbox.scss +0 -41
  143. package/src/azion/extended-components/jsonform/_inputtext.scss +0 -26
  144. package/src/azion/extended-components/jsonform/_label.scss +0 -185
  145. package/src/azion/extended-components/jsonform/_select.scss +0 -34
  146. package/src/azion/theme-base/_colors.scss +0 -18
  147. package/src/azion/theme-base/_common.scss +0 -75
  148. package/src/azion/theme-base/_components.scss +0 -103
  149. package/src/azion/theme-base/_mixins.scss +0 -250
  150. package/src/azion/theme-base/components/button/_button.scss +0 -567
  151. package/src/azion/theme-base/components/button/_speeddial.scss +0 -97
  152. package/src/azion/theme-base/components/button/_splitbutton.scss +0 -390
  153. package/src/azion/theme-base/components/data/_carousel.scss +0 -37
  154. package/src/azion/theme-base/components/data/_datatable.scss +0 -347
  155. package/src/azion/theme-base/components/data/_dataview.scss +0 -47
  156. package/src/azion/theme-base/components/data/_filter.scss +0 -138
  157. package/src/azion/theme-base/components/data/_orderlist.scss +0 -70
  158. package/src/azion/theme-base/components/data/_organizationchart.scss +0 -50
  159. package/src/azion/theme-base/components/data/_paginator.scss +0 -92
  160. package/src/azion/theme-base/components/data/_picklist.scss +0 -70
  161. package/src/azion/theme-base/components/data/_timeline.scss +0 -38
  162. package/src/azion/theme-base/components/data/_tree.scss +0 -90
  163. package/src/azion/theme-base/components/data/_treetable.scss +0 -251
  164. package/src/azion/theme-base/components/file/_fileupload.scss +0 -82
  165. package/src/azion/theme-base/components/input/_autocomplete.scss +0 -114
  166. package/src/azion/theme-base/components/input/_calendar.scss +0 -251
  167. package/src/azion/theme-base/components/input/_cascadeselect.scss +0 -106
  168. package/src/azion/theme-base/components/input/_checkbox.scss +0 -86
  169. package/src/azion/theme-base/components/input/_chips.scss +0 -53
  170. package/src/azion/theme-base/components/input/_colorpicker.scss +0 -18
  171. package/src/azion/theme-base/components/input/_dropdown.scss +0 -147
  172. package/src/azion/theme-base/components/input/_editor.scss +0 -122
  173. package/src/azion/theme-base/components/input/_inputgroup.scss +0 -74
  174. package/src/azion/theme-base/components/input/_inputnumber.scss +0 -5
  175. package/src/azion/theme-base/components/input/_inputswitch.scss +0 -62
  176. package/src/azion/theme-base/components/input/_inputtext.scss +0 -100
  177. package/src/azion/theme-base/components/input/_listbox.scss +0 -89
  178. package/src/azion/theme-base/components/input/_multiselect.scss +0 -166
  179. package/src/azion/theme-base/components/input/_password.scss +0 -33
  180. package/src/azion/theme-base/components/input/_radiobutton.scss +0 -78
  181. package/src/azion/theme-base/components/input/_rating.scss +0 -60
  182. package/src/azion/theme-base/components/input/_selectbutton.scss +0 -50
  183. package/src/azion/theme-base/components/input/_slider.scss +0 -49
  184. package/src/azion/theme-base/components/input/_togglebutton.scss +0 -52
  185. package/src/azion/theme-base/components/input/_treeselect.scss +0 -91
  186. package/src/azion/theme-base/components/menu/_breadcrumb.scss +0 -42
  187. package/src/azion/theme-base/components/menu/_contextmenu.scss +0 -39
  188. package/src/azion/theme-base/components/menu/_dock.scss +0 -95
  189. package/src/azion/theme-base/components/menu/_megamenu.scss +0 -55
  190. package/src/azion/theme-base/components/menu/_menu.scss +0 -33
  191. package/src/azion/theme-base/components/menu/_menubar.scss +0 -141
  192. package/src/azion/theme-base/components/menu/_panelmenu.scss +0 -153
  193. package/src/azion/theme-base/components/menu/_steps.scss +0 -56
  194. package/src/azion/theme-base/components/menu/_tabmenu.scss +0 -49
  195. package/src/azion/theme-base/components/menu/_tieredmenu.scss +0 -43
  196. package/src/azion/theme-base/components/messages/_inlinemessage.scss +0 -64
  197. package/src/azion/theme-base/components/messages/_message.scss +0 -100
  198. package/src/azion/theme-base/components/messages/_toast.scss +0 -100
  199. package/src/azion/theme-base/components/misc/_avatar.scss +0 -30
  200. package/src/azion/theme-base/components/misc/_badge.scss +0 -48
  201. package/src/azion/theme-base/components/misc/_blockui.scss +0 -0
  202. package/src/azion/theme-base/components/misc/_chip.scss +0 -39
  203. package/src/azion/theme-base/components/misc/_inplace.scss +0 -17
  204. package/src/azion/theme-base/components/misc/_progressbar.scss +0 -17
  205. package/src/azion/theme-base/components/misc/_progressspinner.scss +0 -49
  206. package/src/azion/theme-base/components/misc/_scrolltop.scss +0 -25
  207. package/src/azion/theme-base/components/misc/_skeleton.scss +0 -8
  208. package/src/azion/theme-base/components/misc/_tag.scss +0 -40
  209. package/src/azion/theme-base/components/misc/_terminal.scss +0 -12
  210. package/src/azion/theme-base/components/multimedia/_galleria.scss +0 -151
  211. package/src/azion/theme-base/components/multimedia/_image.scss +0 -54
  212. package/src/azion/theme-base/components/overlay/_confirmpopup.scss +0 -72
  213. package/src/azion/theme-base/components/overlay/_dialog.scss +0 -64
  214. package/src/azion/theme-base/components/overlay/_overlaypanel.scss +0 -38
  215. package/src/azion/theme-base/components/overlay/_sidebar.scss +0 -23
  216. package/src/azion/theme-base/components/overlay/_tooltip.scss +0 -33
  217. package/src/azion/theme-base/components/panel/_accordion.scss +0 -118
  218. package/src/azion/theme-base/components/panel/_card.scss +0 -30
  219. package/src/azion/theme-base/components/panel/_divider.scss +0 -40
  220. package/src/azion/theme-base/components/panel/_fieldset.scss +0 -51
  221. package/src/azion/theme-base/components/panel/_panel.scss +0 -47
  222. package/src/azion/theme-base/components/panel/_scrollpanel.scss +0 -11
  223. package/src/azion/theme-base/components/panel/_splitter.scss +0 -24
  224. package/src/azion/theme-base/components/panel/_tabview.scss +0 -66
  225. package/src/azion/theme-base/components/panel/_toolbar.scss +0 -11
  226. package/src/azion/theme-widget.scss +0 -9
  227. package/src/azion/theme.scss +0 -9
  228. package/src/azion/variables/_button.scss +0 -438
  229. package/src/azion/variables/_data.scss +0 -346
  230. package/src/azion/variables/_form.scss +0 -570
  231. package/src/azion/variables/_general.scss +0 -149
  232. package/src/azion/variables/_media.scss +0 -231
  233. package/src/azion/variables/_menu.scss +0 -287
  234. package/src/azion/variables/_message.scss +0 -145
  235. package/src/azion/variables/_misc.scss +0 -143
  236. package/src/azion/variables/_overlay.scss +0 -67
  237. package/src/azion/variables/_panel.scss +0 -327
  238. package/src/tests/primitives.html +0 -293
  239. package/src/tests/theme.html +0 -310
  240. package/src/tests/tokens.html +0 -87
  241. package/src/tokens/semantic/animations.d.ts +0 -3
  242. package/src/tokens/semantic/animations.d.ts.map +0 -1
  243. package/src/tokens/semantic/animations.js +0 -80
  244. package/src/tokens/semantic/spacings.d.ts +0 -3
  245. package/src/tokens/semantic/spacings.d.ts.map +0 -1
  246. package/src/tokens/semantic/spacings.js +0 -163
  247. package/src/tokens/semantic/texts.d.ts +0 -3
  248. package/src/tokens/semantic/texts.d.ts.map +0 -1
  249. package/src/tokens/semantic/texts.js +0 -299
  250. package/tokens.js +0 -7
  251. package/widget.js +0 -1
@@ -1,7 +1,186 @@
1
- /* generated by build-tokens.mjs — target: v4 — do not edit */
1
+ /* generated by build-tokens.mjs — do not edit */
2
2
 
3
3
  @import "tailwindcss";
4
4
 
5
+ /**
6
+ * @font-face declarations for the Azion type system.
7
+ *
8
+ * Prepended verbatim into `dist/v4/globals.css` by `scripts/build-tokens.mjs`
9
+ * so any consumer of `@aziontech/theme/globals.css` gets the same faces the
10
+ * design system was authored against — no separate <link rel="stylesheet"> or
11
+ * per-app `@import "@fontsource/…"` needed.
12
+ *
13
+ * Fonts are hosted at fonts.azion.com under a permissive CORS policy; the
14
+ * requests are subresource-cached with `font-display: swap` so first paint
15
+ * uses the system fallback while the .woff2 loads.
16
+ */
17
+
18
+ @font-face {
19
+ font-family: 'Roboto';
20
+ src: url('https://fonts.azion.com/roboto/roboto-light.woff2') format('woff2');
21
+ font-weight: 300;
22
+ font-style: normal;
23
+ font-display: swap;
24
+ }
25
+
26
+ @font-face {
27
+ font-family: 'Roboto';
28
+ src: url('https://fonts.azion.com/roboto/roboto-regular.woff2') format('woff2');
29
+ font-weight: 400;
30
+ font-style: normal;
31
+ font-display: swap;
32
+ }
33
+
34
+ @font-face {
35
+ font-family: 'Roboto';
36
+ src: url('https://fonts.azion.com/roboto/roboto-italic.woff2') format('woff2');
37
+ font-weight: 400;
38
+ font-style: italic;
39
+ font-display: swap;
40
+ }
41
+
42
+ @font-face {
43
+ font-family: 'Roboto';
44
+ src: url('https://fonts.azion.com/roboto/roboto-medium.woff2') format('woff2');
45
+ font-weight: 500;
46
+ font-style: normal;
47
+ font-display: swap;
48
+ }
49
+
50
+ @font-face {
51
+ font-family: 'Roboto';
52
+ src: url('https://fonts.azion.com/roboto/roboto-mediumitalic.woff2') format('woff2');
53
+ font-weight: 500;
54
+ font-style: italic;
55
+ font-display: swap;
56
+ }
57
+
58
+ @font-face {
59
+ font-family: 'Roboto';
60
+ src: url('https://fonts.azion.com/roboto/roboto-bold.woff2') format('woff2');
61
+ font-weight: 600;
62
+ font-style: normal;
63
+ font-display: swap;
64
+ }
65
+
66
+ @font-face {
67
+ font-family: 'Roboto';
68
+ src: url('https://fonts.azion.com/roboto/roboto-bold.woff2') format('woff2');
69
+ font-weight: bold;
70
+ font-style: normal;
71
+ font-display: swap;
72
+ }
73
+
74
+ @font-face {
75
+ font-family: 'Roboto';
76
+ src: url('https://fonts.azion.com/roboto/roboto-bolditalic.woff2') format('woff2');
77
+ font-weight: bold;
78
+ font-style: italic;
79
+ font-display: swap;
80
+ }
81
+
82
+ @font-face {
83
+ font-family: 'Roboto';
84
+ src: url('https://fonts.azion.com/roboto/roboto-bolditalic.woff2') format('woff2');
85
+ font-weight: 600;
86
+ font-style: italic;
87
+ font-display: swap;
88
+ }
89
+
90
+ @font-face {
91
+ font-family: 'Roboto';
92
+ src: url('https://fonts.azion.com/roboto/roboto-black.woff2') format('woff2');
93
+ font-weight: 700;
94
+ font-style: normal;
95
+ font-display: swap;
96
+ }
97
+
98
+ @font-face {
99
+ font-family: 'Roboto Mono';
100
+ src: url('https://fonts.azion.com/roboto-mono/roboto-mono-regular.ttf') format('truetype');
101
+ font-weight: 400;
102
+ font-style: normal;
103
+ font-display: swap;
104
+ }
105
+
106
+ @font-face {
107
+ font-family: 'Roboto Mono';
108
+ src: url('https://fonts.azion.com/roboto-mono/roboto-mono-light.ttf') format('truetype');
109
+ font-weight: 300;
110
+ font-style: normal;
111
+ font-display: swap;
112
+ }
113
+
114
+ @font-face {
115
+ font-family: 'Sora';
116
+ src: url('https://fonts.azion.com/sora/Sora-VariableFont_wght.ttf') format('truetype');
117
+ font-weight: 100 900;
118
+ font-style: normal;
119
+ font-display: swap;
120
+ }
121
+
122
+ @font-face {
123
+ font-family: 'Proto Mono';
124
+ src: url('https://fonts.azion.com/proto-mono/ProtoMono-Light.woff2') format('woff2');
125
+ font-weight: 300;
126
+ font-style: normal;
127
+ font-display: swap;
128
+ }
129
+
130
+ @font-face {
131
+ font-family: 'Proto Mono';
132
+ src: url('https://fonts.azion.com/proto-mono/ProtoMono-Regular.woff2') format('woff2');
133
+ font-weight: 400;
134
+ font-style: normal;
135
+ font-display: swap;
136
+ }
137
+
138
+ @font-face {
139
+ font-family: 'Proto Mono';
140
+ src: url('https://fonts.azion.com/proto-mono/ProtoMono-Medium.woff2') format('woff2');
141
+ font-weight: 500;
142
+ font-style: normal;
143
+ font-display: swap;
144
+ }
145
+
146
+ @font-face {
147
+ font-family: 'Proto Mono';
148
+ src: url('https://fonts.azion.com/proto-mono/ProtoMono-SemiBold.woff2') format('woff2');
149
+ font-weight: 600;
150
+ font-style: normal;
151
+ font-display: swap;
152
+ }
153
+
154
+ @font-face {
155
+ font-family: 'Roboto Condensed';
156
+ src:
157
+ url('https://fonts.azion.com/roboto-condensed/RobotoCondensed-Italic.woff') format('woff'),
158
+ url('https://fonts.azion.com/roboto-condensed/RobotoCondensed-Italic.ttf') format('truetype');
159
+ font-weight: 400;
160
+ font-style: italic;
161
+ font-display: swap;
162
+ }
163
+
164
+ @font-face {
165
+ font-family: 'Titillium Web';
166
+ src:
167
+ url('https://fonts.azion.com/titillium-web/TitilliumWeb-Italic.woff') format('woff'),
168
+ url('https://fonts.azion.com/titillium-web/TitilliumWeb-Italic.ttf') format('truetype');
169
+ font-weight: 400;
170
+ font-style: italic;
171
+ font-display: swap;
172
+ }
173
+
174
+
175
+ /*
176
+ * `@aziontech/webkit` components use arbitrary values (`bg-[var(--x)]`) that
177
+ * Tailwind v4 only picks up when the source files are inside the scan.
178
+ * Auto-detect scans the CWD only, so we point `@source` at the webkit
179
+ * package via a monorepo-relative path (this file is under
180
+ * `packages/theme/dist/v4/`; walking up three levels reaches `packages/`).
181
+ */
182
+ @source "../../../webkit/src";
183
+
5
184
  @theme {
6
185
  --color-base-white: #FFFFFF;
7
186
  --color-base-black: #000000;
@@ -187,28 +366,28 @@
187
366
  --color-alpha-blue-900: #0072F5E5;
188
367
  --color-alpha-absolute-black: #000000E5;
189
368
  --color-alpha-absolute-white: #FFFFFFE5;
190
- --color-primary-50: #FFF5EF;
191
- --color-primary-100: #FFE7D8;
192
- --color-primary-200: #FFCFB3;
193
- --color-primary-300: #FFB180;
194
- --color-primary-400: #FF8E4D;
195
- --color-primary-500: #F3652B;
196
- --color-primary-600: #D94A03;
197
- --color-primary-700: #B03C02;
198
- --color-primary-800: #8A2F02;
199
- --color-primary-900: #692402;
200
- --color-primary-950: #401602;
201
- --color-accent-50: #F6F6FF;
202
- --color-accent-100: #ECECFF;
203
- --color-accent-200: #D9D7FA;
204
- --color-accent-300: #B5B1F4;
205
- --color-accent-400: #9F9AF1;
206
- --color-accent-500: #8A84EC;
207
- --color-accent-600: #756FE5;
208
- --color-accent-700: #625BD5;
209
- --color-accent-800: #524BBB;
210
- --color-accent-900: #1F1E48;
211
- --color-accent-950: #100F24;
369
+ --color-brand-primary-50: #FFF5EF;
370
+ --color-brand-primary-100: #FFE7D8;
371
+ --color-brand-primary-200: #FFCFB3;
372
+ --color-brand-primary-300: #FFB180;
373
+ --color-brand-primary-400: #FF8E4D;
374
+ --color-brand-primary-500: #F3652B;
375
+ --color-brand-primary-600: #D94A03;
376
+ --color-brand-primary-700: #B03C02;
377
+ --color-brand-primary-800: #8A2F02;
378
+ --color-brand-primary-900: #692402;
379
+ --color-brand-primary-950: #401602;
380
+ --color-brand-accent-50: #F6F6FF;
381
+ --color-brand-accent-100: #ECECFF;
382
+ --color-brand-accent-200: #D9D7FA;
383
+ --color-brand-accent-300: #B5B1F4;
384
+ --color-brand-accent-400: #9F9AF1;
385
+ --color-brand-accent-500: #8A84EC;
386
+ --color-brand-accent-600: #756FE5;
387
+ --color-brand-accent-700: #625BD5;
388
+ --color-brand-accent-800: #524BBB;
389
+ --color-brand-accent-900: #1F1E48;
390
+ --color-brand-accent-950: #100F24;
212
391
  --color-absolute-black: #0A0A0A;
213
392
  --color-absolute-white: #FAFAFA;
214
393
  --breakpoint-sm: 640px;
@@ -216,6 +395,24 @@
216
395
  --breakpoint-lg: 1024px;
217
396
  --breakpoint-xl: 1280px;
218
397
  --breakpoint-2xl: 1536px;
398
+ --animate-spin: spin 1s linear infinite;
399
+ --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
400
+ --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
401
+ --animate-bounce: bounce 1s infinite;
402
+ --animate-shimmer: shimmer 1.6s linear infinite;
403
+ --animate-blink: blink 1s step-end infinite;
404
+ --animate-fade-in: fadeIn 220ms ease-in-out;
405
+ --animate-fade-out: fadeOut 220ms ease-in-out;
406
+ --animate-slide-down: slideDown 220ms ease-in-out;
407
+ --animate-highlight-fade: highlight ease-in forwards;
408
+ --animate-popup-scale-in: popupScaleIn 150ms cubic-bezier(0.39, 0.57, 0.56, 1);
409
+ --animate-popup-scale-out: popupScaleOut 110ms cubic-bezier(0.55, 0.09, 0.68, 0.53);
410
+ --animate-slide-in-left: slideInLeft 240ms cubic-bezier(0.39, 0.57, 0.56, 1);
411
+ --animate-slide-out-left: slideOutLeft 150ms cubic-bezier(0.55, 0.09, 0.68, 0.53);
412
+ --animate-slide-in-right: slideInRight 240ms cubic-bezier(0.39, 0.57, 0.56, 1);
413
+ --animate-slide-out-right: slideOutRight 150ms cubic-bezier(0.55, 0.09, 0.68, 0.53);
414
+ --animate-progress-indeterminate: progressIndeterminate 2100ms cubic-bezier(0.39, 0.57, 0.56, 1) infinite;
415
+ --animate-progress-indeterminate-short: progressIndeterminateShort 2100ms cubic-bezier(0.17, 0.84, 0.44, 1) 1100ms infinite;
219
416
  }
220
417
 
221
418
  :root, [data-theme=light], .azion.azion-light {
@@ -371,7 +568,7 @@
371
568
  --text-4xl--line-height: calc(2.5 / 2.25);
372
569
  --text-5xl: 3rem;
373
570
  --text-5xl--line-height: 1;
374
- --text-6xl: 3.75rem;
571
+ --text-6xl: 3.5rem;
375
572
  --text-6xl--line-height: 1;
376
573
  --text-7xl: 4.5rem;
377
574
  --text-7xl--line-height: 1;
@@ -447,8 +644,20 @@
447
644
  --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
448
645
  --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
449
646
  --animate-bounce: bounce 1s infinite;
647
+ --animate-shimmer: shimmer 1.6s linear infinite;
648
+ --animate-blink: blink 1s step-end infinite;
649
+ --animate-fade-in: fadeIn 220ms ease-in-out;
650
+ --animate-fade-out: fadeOut 220ms ease-in-out;
651
+ --animate-slide-down: slideDown 220ms ease-in-out;
652
+ --animate-highlight-fade: highlight ease-in forwards;
450
653
  --animate-popup-scale-in: popupScaleIn 150ms cubic-bezier(0.39, 0.57, 0.56, 1);
451
654
  --animate-popup-scale-out: popupScaleOut 110ms cubic-bezier(0.55, 0.09, 0.68, 0.53);
655
+ --animate-slide-in-left: slideInLeft 240ms cubic-bezier(0.39, 0.57, 0.56, 1);
656
+ --animate-slide-out-left: slideOutLeft 150ms cubic-bezier(0.55, 0.09, 0.68, 0.53);
657
+ --animate-slide-in-right: slideInRight 240ms cubic-bezier(0.39, 0.57, 0.56, 1);
658
+ --animate-slide-out-right: slideOutRight 150ms cubic-bezier(0.55, 0.09, 0.68, 0.53);
659
+ --animate-progress-indeterminate: progressIndeterminate 2100ms cubic-bezier(0.39, 0.57, 0.56, 1) infinite;
660
+ --animate-progress-indeterminate-short: progressIndeterminateShort 2100ms cubic-bezier(0.17, 0.84, 0.44, 1) 1100ms infinite;
452
661
  --ring-offset: 0.5px;
453
662
  --container-px: 1rem;
454
663
  --container-py: 4rem;
@@ -461,28 +670,38 @@
461
670
  --spacing-xs: 0.5rem;
462
671
  --spacing-xxs: 0.25rem;
463
672
  --text-big-number-md-font-size: 1.25rem;
464
- --text-big-number-md-line-height: 1.20;
673
+ --text-big-number-md-line-height: 1.25;
674
+ --text-big-number-md-font-weight: 400;
465
675
  --text-big-number-md-font-family: Proto Mono;
466
676
  --text-big-number-sm-font-size: 1rem;
467
- --text-big-number-sm-line-height: 1.20;
677
+ --text-big-number-sm-line-height: 1.25;
678
+ --text-big-number-sm-font-weight: 400;
468
679
  --text-big-number-sm-font-family: Proto Mono;
469
680
  --text-big-number-lg-font-size: 1.5rem;
470
- --text-big-number-lg-line-height: 1.20;
681
+ --text-big-number-lg-line-height: 1.25;
682
+ --text-big-number-lg-font-weight: 400;
471
683
  --text-big-number-lg-font-family: Proto Mono;
472
684
  --text-heading-2xl-font-size: 1.875rem;
473
- --text-heading-2xl-line-height: 1.1;
685
+ --text-heading-2xl-line-height: 1.25;
686
+ --text-heading-2xl-font-weight: 400;
474
687
  --text-heading-xl-font-size: 1.25rem;
475
- --text-heading-xl-line-height: 1.1;
688
+ --text-heading-xl-line-height: 1.25;
689
+ --text-heading-xl-font-weight: 400;
476
690
  --text-heading-lg-font-size: 1.125rem;
477
- --text-heading-lg-line-height: 1.2;
691
+ --text-heading-lg-line-height: 1.25;
692
+ --text-heading-lg-font-weight: 400;
478
693
  --text-heading-md-font-size: 1rem;
479
- --text-heading-md-line-height: 1.3;
694
+ --text-heading-md-line-height: 1.25;
695
+ --text-heading-md-font-weight: 400;
480
696
  --text-heading-sm-font-size: 0.875rem;
481
- --text-heading-sm-line-height: 1.4;
697
+ --text-heading-sm-line-height: 1.375;
698
+ --text-heading-sm-font-weight: 400;
482
699
  --text-heading-xs-font-size: 1rem;
483
- --text-heading-xs-line-height: 1.4;
700
+ --text-heading-xs-line-height: 1.375;
701
+ --text-heading-xs-font-weight: 400;
484
702
  --text-heading-xxs-font-size: 0.875rem;
485
- --text-heading-xxs-line-height: 1.4;
703
+ --text-heading-xxs-line-height: 1.375;
704
+ --text-heading-xxs-font-weight: 400;
486
705
  --text-label-lg-font-size: 1rem;
487
706
  --text-label-lg-line-height: 1.5;
488
707
  --text-label-lg-font-weight: 500;
@@ -492,6 +711,21 @@
492
711
  --text-label-sm-font-size: 0.75rem;
493
712
  --text-label-sm-line-height: 1.5;
494
713
  --text-label-sm-font-weight: 500;
714
+ --text-label-code-sm-font-family: Roboto Mono;
715
+ --text-label-code-sm-font-size: 0.75rem;
716
+ --text-label-code-sm-line-height: 1;
717
+ --text-label-code-sm-font-weight: 400;
718
+ --text-label-code-sm-letter-spacing: 0;
719
+ --text-label-code-md-font-family: Roboto Mono;
720
+ --text-label-code-md-font-size: 0.875rem;
721
+ --text-label-code-md-line-height: 1;
722
+ --text-label-code-md-font-weight: 400;
723
+ --text-label-code-md-letter-spacing: 0;
724
+ --text-label-code-lg-font-family: Roboto Mono;
725
+ --text-label-code-lg-font-size: 1rem;
726
+ --text-label-code-lg-line-height: 1;
727
+ --text-label-code-lg-font-weight: 400;
728
+ --text-label-code-lg-letter-spacing: 0;
495
729
  --text-body-lg-font-size: 1rem;
496
730
  --text-body-lg-line-height: 1.5;
497
731
  --text-body-md-font-size: 1rem;
@@ -500,38 +734,38 @@
500
734
  --text-body-sm-line-height: 1.5;
501
735
  --text-body-xs-font-size: 0.75rem;
502
736
  --text-body-xs-line-height: 1.5;
503
- --text-tag-sm-font-size: 0.6875rem;
504
- --text-tag-sm-line-height: 1;
737
+ --text-tag-sm-font-size: 0.75rem;
738
+ --text-tag-sm-line-height: 1.25;
505
739
  --text-tag-sm-font-weight: 600;
506
740
  --text-tag-md-font-size: 0.75rem;
507
- --text-tag-md-line-height: 1;
741
+ --text-tag-md-line-height: 1.25;
508
742
  --text-tag-md-font-weight: 600;
509
- --text-body-xxs-font-size: 0.625rem;
743
+ --text-body-xxs-font-size: 0.75rem;
510
744
  --text-body-xxs-line-height: 1.5;
511
745
  --text-overline-md-font-family: Proto Mono;
512
746
  --text-overline-md-font-size: 0.75rem;
513
- --text-overline-md-line-height: 1.4;
747
+ --text-overline-md-line-height: 1.375;
514
748
  --text-overline-md-letter-spacing: 0.08em;
515
749
  --text-overline-md-text-transform: uppercase;
516
750
  --text-overline-sm-font-family: Proto Mono;
517
751
  --text-overline-sm-font-size: 0.75rem;
518
- --text-overline-sm-line-height: 1.4;
752
+ --text-overline-sm-line-height: 1.375;
519
753
  --text-overline-sm-letter-spacing: 0.08em;
520
754
  --text-overline-sm-text-transform: uppercase;
521
755
  --text-overline-xs-font-family: Proto Mono;
522
- --text-overline-xs-font-size: 0.625rem;
523
- --text-overline-xs-line-height: 1.4;
756
+ --text-overline-xs-font-size: 0.75rem;
757
+ --text-overline-xs-line-height: 1.375;
524
758
  --text-overline-xs-letter-spacing: 0.08em;
525
759
  --text-overline-xs-text-transform: uppercase;
526
760
  --text-button-lg-font-family: Sora;
527
761
  --text-button-lg-font-size: 0.875rem;
528
- --text-button-lg-font-weight: 600;
529
- --text-button-lg-line-height: 1;
762
+ --text-button-lg-font-weight: 400;
763
+ --text-button-lg-line-height: 1.25;
530
764
  --text-button-lg-letter-spacing: 0;
531
765
  --text-button-md-font-family: Sora;
532
766
  --text-button-md-font-size: 0.75rem;
533
- --text-button-md-font-weight: 600;
534
- --text-button-md-line-height: 1;
767
+ --text-button-md-font-weight: 400;
768
+ --text-button-md-line-height: 1.25;
535
769
  --text-button-md-letter-spacing: 0;
536
770
  --text-link-font-size: inherit;
537
771
  --text-link-line-height: inherit;
@@ -558,8 +792,8 @@
558
792
 
559
793
  @media (min-width: 768px) {
560
794
  --text-big-number-md-font-size: 2.25rem;
561
- --text-big-number-lg-font-size: 3.75rem;
562
- --text-heading-2xl-font-size: 3.75rem;
795
+ --text-big-number-lg-font-size: 3.5rem;
796
+ --text-heading-2xl-font-size: 3.5rem;
563
797
  --text-heading-xl-font-size: 2.25rem;
564
798
  --text-heading-lg-font-size: 1.875rem;
565
799
  --text-heading-md-font-size: 1.5rem;
@@ -576,6 +810,215 @@
576
810
  }
577
811
  }
578
812
 
813
+ /* ── Theme semantics (primary, secondary, surfaces, feedback, …) ── */
814
+ :root, [data-theme=light], .azion.azion-light {
815
+ --surface-0: #FFFFFF;
816
+ --surface-50: #FAFAFA;
817
+ --surface-100: #F5F5F5;
818
+ --surface-200: #E5E5E5;
819
+ --surface-300: #B2B2B2;
820
+ --surface-400: #999999;
821
+ --surface-500: #808080;
822
+ --surface-600: #666666;
823
+ --surface-700: #4D4D4D;
824
+ --surface-800: #1A1A1A;
825
+ --surface-900: #141414;
826
+ --surface-950: #0A0A0A;
827
+ --primary: #F3652B;
828
+ --primary-mask: #FE601F33;
829
+ --primary-selected: #FE601F33;
830
+ --primary-contrast: #000000;
831
+ --secondary: #0A0A0A;
832
+ --secondary-mask: #00000005;
833
+ --secondary-selected: #0A0A0A;
834
+ --secondary-contrast: #FFFFFF;
835
+ --accent: #756FE5;
836
+ --accent-mask: #8A84EC0D;
837
+ --accent-selected: #8A84EC;
838
+ --accent-contrast: #000000;
839
+ --bg-canvas: #FAFAFA;
840
+ --bg-surface: #FFFFFF;
841
+ --bg-surface-raised: #FFFFFF;
842
+ --bg-mask: #00000005;
843
+ --bg-surface-overlay: #FAFAFA;
844
+ --bg-hover: #00000014;
845
+ --bg-active: #00000005;
846
+ --bg-backdrop: #000000CC;
847
+ --bg-selected: #E5E5E5;
848
+ --bg-contrast: #141414;
849
+ --bg-disabled: #E5E5E5;
850
+ --border-default: #00000014;
851
+ --border-muted: #00000014;
852
+ --border-strong: #000000;
853
+ --border-selected: #F3652B;
854
+ --text-default: #141414;
855
+ --text-muted: #666666;
856
+ --text-disabled: #999999;
857
+ --text-link: #005FCC;
858
+ --text-link-hover: #004799;
859
+ --text-contrast: #FAFAFA;
860
+ --ring-color: #666666;
861
+ --code-sintax-identifier: #141414;
862
+ --code-sintax-line-number: #808080;
863
+ --code-sintax-keyword: #005FCC;
864
+ --code-sintax-punctuation: #808080;
865
+ --code-sintax-function: #F3652B;
866
+ --code-sintax-type: #947105;
867
+ --code-sintax-string: #005FCC;
868
+ --success: #A4F4C0;
869
+ --success-border: #22C55E66;
870
+ --success-contrast: #12542B;
871
+ --warning: #FCE49C;
872
+ --warning-border: #F7BD0880;
873
+ --warning-contrast: #634B03;
874
+ --danger: #F9D2D2;
875
+ --danger-border: #E51A1A66;
876
+ --danger-contrast: #891010;
877
+ --info: #CCE4FF;
878
+ --info-border: #8A84EC66;
879
+ --info-contrast: #004799;
880
+ }
881
+
882
+ [data-theme=dark], .dark, .azion.azion-dark {
883
+ --surface-0: #FFFFFF;
884
+ --surface-50: #FAFAFA;
885
+ --surface-100: #F5F5F5;
886
+ --surface-200: #E5E5E5;
887
+ --surface-300: #B2B2B2;
888
+ --surface-400: #999999;
889
+ --surface-500: #808080;
890
+ --surface-600: #666666;
891
+ --surface-700: #4D4D4D;
892
+ --surface-800: #1A1A1A;
893
+ --surface-900: #141414;
894
+ --surface-950: #0A0A0A;
895
+ --primary: #F3652B;
896
+ --primary-mask: #FE601F33;
897
+ --primary-selected: #FE601F33;
898
+ --primary-contrast: #FFFFFF;
899
+ --secondary: #FFFFFF;
900
+ --secondary-mask: #FFFFFF1A;
901
+ --secondary-selected: #FFFFFF;
902
+ --secondary-contrast: #000000;
903
+ --accent: #8A84EC;
904
+ --accent-mask: #8A84EC1A;
905
+ --accent-selected: #8A84EC;
906
+ --accent-contrast: #000000;
907
+ --bg-canvas: #000000;
908
+ --bg-surface: #0A0A0A;
909
+ --bg-surface-raised: #141414;
910
+ --bg-mask: #FFFFFF0D;
911
+ --bg-surface-overlay: #4D4D4D;
912
+ --bg-hover: #00000033;
913
+ --bg-active: #00000014;
914
+ --bg-backdrop: #000000CC;
915
+ --bg-selected: #1A1A1A;
916
+ --bg-contrast: #FAFAFA;
917
+ --bg-disabled: #1A1A1A;
918
+ --border-default: #FFFFFF1A;
919
+ --border-muted: #FFFFFF0D;
920
+ --border-strong: #FFFFFF;
921
+ --border-selected: #F3652B;
922
+ --text-default: #FAFAFA;
923
+ --text-muted: #999999;
924
+ --text-disabled: #4D4D4D;
925
+ --text-link: #3392FF;
926
+ --text-link-hover: #66ADFF;
927
+ --text-contrast: #000000;
928
+ --ring-color: #4D4D4D;
929
+ --code-sintax-identifier: #FAFAFA;
930
+ --code-sintax-line-number: #999999;
931
+ --code-sintax-keyword: #3392FF;
932
+ --code-sintax-punctuation: #999999;
933
+ --code-sintax-function: #F3652B;
934
+ --code-sintax-type: #FAD76B;
935
+ --code-sintax-string: #3392FF;
936
+ --success: #0A2916;
937
+ --success-border: #22C55E66;
938
+ --success-contrast: #52E086;
939
+ --warning: #312602;
940
+ --warning-border: #F7BD0880;
941
+ --warning-contrast: #F7BD08;
942
+ --danger: #5B0B0B;
943
+ --danger-border: #E51A1A66;
944
+ --danger-contrast: #ED7878;
945
+ --info: #001833;
946
+ --info-border: #0072F580;
947
+ --info-contrast: #66ADFF;
948
+ }
949
+
950
+ @keyframes fadeIn {
951
+ 0% { opacity: 0; }
952
+ 100% { opacity: 1; }
953
+ }
954
+
955
+ @keyframes fadeOut {
956
+ 0% { opacity: 1; }
957
+ 100% { opacity: 0; }
958
+ }
959
+
960
+ @keyframes slideDown {
961
+ 0% { height: 0; }
962
+ 100% { height: auto; }
963
+ }
964
+
965
+ @keyframes blink {
966
+ 0%, 100% { opacity: 1; }
967
+ 50% { opacity: 0; }
968
+ }
969
+
970
+ @keyframes highlight {
971
+ 0% { background-color: var(--surface-hover); font-weight: 500; }
972
+ 100% { background-color: var(--surface-hover); font-weight: 500; }
973
+ }
974
+
975
+ @keyframes shimmer {
976
+ 0% { background-position: 200% 0; }
977
+ 100% { background-position: -200% 0; }
978
+ }
979
+
980
+ @keyframes popupScaleIn {
981
+ 0% { opacity: 0; transform: scale(0.95); }
982
+ 100% { opacity: 1; transform: scale(1); }
983
+ }
984
+
985
+ @keyframes popupScaleOut {
986
+ 0% { opacity: 1; transform: scale(1); }
987
+ 100% { opacity: 0; transform: scale(0.95); }
988
+ }
989
+
990
+ @keyframes slideInLeft {
991
+ 0% { transform: translateX(-100%); }
992
+ 100% { transform: translateX(0); }
993
+ }
994
+
995
+ @keyframes slideOutLeft {
996
+ 0% { transform: translateX(0); }
997
+ 100% { transform: translateX(-100%); }
998
+ }
999
+
1000
+ @keyframes slideInRight {
1001
+ 0% { transform: translateX(100%); }
1002
+ 100% { transform: translateX(0); }
1003
+ }
1004
+
1005
+ @keyframes slideOutRight {
1006
+ 0% { transform: translateX(0); }
1007
+ 100% { transform: translateX(100%); }
1008
+ }
1009
+
1010
+ @keyframes progressIndeterminate {
1011
+ 0% { inset-inline-start: -35%; inset-inline-end: 100%; }
1012
+ 60% { inset-inline-start: 100%; inset-inline-end: -90%; }
1013
+ 100% { inset-inline-start: 100%; inset-inline-end: -90%; }
1014
+ }
1015
+
1016
+ @keyframes progressIndeterminateShort {
1017
+ 0% { inset-inline-start: -200%; inset-inline-end: 100%; }
1018
+ 60% { inset-inline-start: 107%; inset-inline-end: -8%; }
1019
+ 100% { inset-inline-start: 107%; inset-inline-end: -8%; }
1020
+ }
1021
+
579
1022
  @layer components {
580
1023
  /* ── Containers ── */
581
1024
  .px-container { padding-left: var(--container-px); padding-right: var(--container-px); }
@@ -598,36 +1041,341 @@
598
1041
  .gap-spacing-xxs { gap: var(--spacing-xxs); }
599
1042
  .p-spacing-xxs { padding: var(--spacing-xxs); }
600
1043
 
601
- /* ── Texts ── */
602
- .text-big-number-md { font-size: var(--text-big-number-md-font-size); line-height: var(--text-big-number-md-line-height); font-family: var(--text-big-number-md-font-family); }
603
- .text-big-number-sm { font-size: var(--text-big-number-sm-font-size); line-height: var(--text-big-number-sm-line-height); font-family: var(--text-big-number-sm-font-family); }
604
- .text-big-number-lg { font-size: var(--text-big-number-lg-font-size); line-height: var(--text-big-number-lg-line-height); font-family: var(--text-big-number-lg-font-family); }
605
- .text-heading-2xl { font-size: var(--text-heading-2xl-font-size); line-height: var(--text-heading-2xl-line-height); }
606
- .text-heading-xl { font-size: var(--text-heading-xl-font-size); line-height: var(--text-heading-xl-line-height); }
607
- .text-heading-lg { font-size: var(--text-heading-lg-font-size); line-height: var(--text-heading-lg-line-height); }
608
- .text-heading-md { font-size: var(--text-heading-md-font-size); line-height: var(--text-heading-md-line-height); }
609
- .text-heading-sm { font-size: var(--text-heading-sm-font-size); line-height: var(--text-heading-sm-line-height); }
610
- .text-heading-xs { font-size: var(--text-heading-xs-font-size); line-height: var(--text-heading-xs-line-height); }
611
- .text-heading-xxs { font-size: var(--text-heading-xxs-font-size); line-height: var(--text-heading-xxs-line-height); }
612
- .text-label-lg { font-size: var(--text-label-lg-font-size); line-height: var(--text-label-lg-line-height); font-weight: var(--text-label-lg-font-weight); }
613
- .text-label-md { font-size: var(--text-label-md-font-size); line-height: var(--text-label-md-line-height); font-weight: var(--text-label-md-font-weight); }
614
- .text-label-sm { font-size: var(--text-label-sm-font-size); line-height: var(--text-label-sm-line-height); font-weight: var(--text-label-sm-font-weight); }
615
- .text-body-lg { font-size: var(--text-body-lg-font-size); line-height: var(--text-body-lg-line-height); }
616
- .text-body-md { font-size: var(--text-body-md-font-size); line-height: var(--text-body-md-line-height); }
617
- .text-body-sm { font-size: var(--text-body-sm-font-size); line-height: var(--text-body-sm-line-height); }
618
- .text-body-xs { font-size: var(--text-body-xs-font-size); line-height: var(--text-body-xs-line-height); }
619
- .text-tag-sm { font-size: var(--text-tag-sm-font-size); line-height: var(--text-tag-sm-line-height); font-weight: var(--text-tag-sm-font-weight); }
620
- .text-tag-md { font-size: var(--text-tag-md-font-size); line-height: var(--text-tag-md-line-height); font-weight: var(--text-tag-md-font-weight); }
621
- .text-body-xxs { font-size: var(--text-body-xxs-font-size); line-height: var(--text-body-xxs-line-height); }
622
- .text-overline-md { font-family: var(--text-overline-md-font-family); font-size: var(--text-overline-md-font-size); line-height: var(--text-overline-md-line-height); letter-spacing: var(--text-overline-md-letter-spacing); text-transform: var(--text-overline-md-text-transform); }
623
- .text-overline-sm { font-family: var(--text-overline-sm-font-family); font-size: var(--text-overline-sm-font-size); line-height: var(--text-overline-sm-line-height); letter-spacing: var(--text-overline-sm-letter-spacing); text-transform: var(--text-overline-sm-text-transform); }
624
- .text-overline-xs { font-family: var(--text-overline-xs-font-family); font-size: var(--text-overline-xs-font-size); line-height: var(--text-overline-xs-line-height); letter-spacing: var(--text-overline-xs-letter-spacing); text-transform: var(--text-overline-xs-text-transform); }
625
- .text-button-lg { font-family: var(--text-button-lg-font-family); font-size: var(--text-button-lg-font-size); font-weight: var(--text-button-lg-font-weight); line-height: var(--text-button-lg-line-height); letter-spacing: var(--text-button-lg-letter-spacing); }
626
- .text-button-md { font-family: var(--text-button-md-font-family); font-size: var(--text-button-md-font-size); font-weight: var(--text-button-md-font-weight); line-height: var(--text-button-md-line-height); letter-spacing: var(--text-button-md-letter-spacing); }
627
- .text-link { font-size: var(--text-link-font-size); line-height: var(--text-link-line-height); color: var(--text-link-color); border-radius: var(--text-link-border-radius); transition: var(--text-link-transition); }
628
- .text-link:hover { color: var(--text-link-hover); text-decoration: underline; }
629
- .text-link:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
630
- @media (prefers-reduced-motion: reduce) {
631
- .text-link { transition: none; }
1044
+ /* ── Animation extras (properties beyond the animation shorthand) ── */
1045
+ .animate-popup-scale-in { transform-origin: var(--popup-origin, center); }
1046
+ .animate-popup-scale-out { transform-origin: var(--popup-origin, center); }
1047
+ }
1048
+
1049
+ @utility text-big-number-md {
1050
+ font-size: var(--text-big-number-md-font-size);
1051
+ line-height: var(--text-big-number-md-line-height);
1052
+ font-weight: var(--text-big-number-md-font-weight);
1053
+ font-family: var(--text-big-number-md-font-family);
1054
+ }
1055
+
1056
+ @utility text-big-number-sm {
1057
+ font-size: var(--text-big-number-sm-font-size);
1058
+ line-height: var(--text-big-number-sm-line-height);
1059
+ font-weight: var(--text-big-number-sm-font-weight);
1060
+ font-family: var(--text-big-number-sm-font-family);
1061
+ }
1062
+
1063
+ @utility text-big-number-lg {
1064
+ font-size: var(--text-big-number-lg-font-size);
1065
+ line-height: var(--text-big-number-lg-line-height);
1066
+ font-weight: var(--text-big-number-lg-font-weight);
1067
+ font-family: var(--text-big-number-lg-font-family);
1068
+ }
1069
+
1070
+ @utility text-heading-2xl {
1071
+ font-size: var(--text-heading-2xl-font-size);
1072
+ line-height: var(--text-heading-2xl-line-height);
1073
+ font-weight: var(--text-heading-2xl-font-weight);
1074
+ }
1075
+
1076
+ @utility text-heading-xl {
1077
+ font-size: var(--text-heading-xl-font-size);
1078
+ line-height: var(--text-heading-xl-line-height);
1079
+ font-weight: var(--text-heading-xl-font-weight);
1080
+ }
1081
+
1082
+ @utility text-heading-lg {
1083
+ font-size: var(--text-heading-lg-font-size);
1084
+ line-height: var(--text-heading-lg-line-height);
1085
+ font-weight: var(--text-heading-lg-font-weight);
1086
+ }
1087
+
1088
+ @utility text-heading-md {
1089
+ font-size: var(--text-heading-md-font-size);
1090
+ line-height: var(--text-heading-md-line-height);
1091
+ font-weight: var(--text-heading-md-font-weight);
1092
+ }
1093
+
1094
+ @utility text-heading-sm {
1095
+ font-size: var(--text-heading-sm-font-size);
1096
+ line-height: var(--text-heading-sm-line-height);
1097
+ font-weight: var(--text-heading-sm-font-weight);
1098
+ }
1099
+
1100
+ @utility text-heading-xs {
1101
+ font-size: var(--text-heading-xs-font-size);
1102
+ line-height: var(--text-heading-xs-line-height);
1103
+ font-weight: var(--text-heading-xs-font-weight);
1104
+ }
1105
+
1106
+ @utility text-heading-xxs {
1107
+ font-size: var(--text-heading-xxs-font-size);
1108
+ line-height: var(--text-heading-xxs-line-height);
1109
+ font-weight: var(--text-heading-xxs-font-weight);
1110
+ }
1111
+
1112
+ @utility text-label-lg {
1113
+ font-size: var(--text-label-lg-font-size);
1114
+ line-height: var(--text-label-lg-line-height);
1115
+ font-weight: var(--text-label-lg-font-weight);
1116
+ }
1117
+
1118
+ @utility text-label-md {
1119
+ font-size: var(--text-label-md-font-size);
1120
+ line-height: var(--text-label-md-line-height);
1121
+ font-weight: var(--text-label-md-font-weight);
1122
+ }
1123
+
1124
+ @utility text-label-sm {
1125
+ font-size: var(--text-label-sm-font-size);
1126
+ line-height: var(--text-label-sm-line-height);
1127
+ font-weight: var(--text-label-sm-font-weight);
1128
+ }
1129
+
1130
+ @utility text-label-code-sm {
1131
+ font-family: var(--text-label-code-sm-font-family);
1132
+ font-size: var(--text-label-code-sm-font-size);
1133
+ line-height: var(--text-label-code-sm-line-height);
1134
+ font-weight: var(--text-label-code-sm-font-weight);
1135
+ letter-spacing: var(--text-label-code-sm-letter-spacing);
1136
+ }
1137
+
1138
+ @utility text-label-code-md {
1139
+ font-family: var(--text-label-code-md-font-family);
1140
+ font-size: var(--text-label-code-md-font-size);
1141
+ line-height: var(--text-label-code-md-line-height);
1142
+ font-weight: var(--text-label-code-md-font-weight);
1143
+ letter-spacing: var(--text-label-code-md-letter-spacing);
1144
+ }
1145
+
1146
+ @utility text-label-code-lg {
1147
+ font-family: var(--text-label-code-lg-font-family);
1148
+ font-size: var(--text-label-code-lg-font-size);
1149
+ line-height: var(--text-label-code-lg-line-height);
1150
+ font-weight: var(--text-label-code-lg-font-weight);
1151
+ letter-spacing: var(--text-label-code-lg-letter-spacing);
1152
+ }
1153
+
1154
+ @utility text-body-lg {
1155
+ font-size: var(--text-body-lg-font-size);
1156
+ line-height: var(--text-body-lg-line-height);
1157
+ }
1158
+
1159
+ @utility text-body-md {
1160
+ font-size: var(--text-body-md-font-size);
1161
+ line-height: var(--text-body-md-line-height);
1162
+ }
1163
+
1164
+ @utility text-body-sm {
1165
+ font-size: var(--text-body-sm-font-size);
1166
+ line-height: var(--text-body-sm-line-height);
1167
+ }
1168
+
1169
+ @utility text-body-xs {
1170
+ font-size: var(--text-body-xs-font-size);
1171
+ line-height: var(--text-body-xs-line-height);
1172
+ }
1173
+
1174
+ @utility text-tag-sm {
1175
+ font-size: var(--text-tag-sm-font-size);
1176
+ line-height: var(--text-tag-sm-line-height);
1177
+ font-weight: var(--text-tag-sm-font-weight);
1178
+ }
1179
+
1180
+ @utility text-tag-md {
1181
+ font-size: var(--text-tag-md-font-size);
1182
+ line-height: var(--text-tag-md-line-height);
1183
+ font-weight: var(--text-tag-md-font-weight);
1184
+ }
1185
+
1186
+ @utility text-body-xxs {
1187
+ font-size: var(--text-body-xxs-font-size);
1188
+ line-height: var(--text-body-xxs-line-height);
1189
+ }
1190
+
1191
+ @utility text-overline-md {
1192
+ font-family: var(--text-overline-md-font-family);
1193
+ font-size: var(--text-overline-md-font-size);
1194
+ line-height: var(--text-overline-md-line-height);
1195
+ letter-spacing: var(--text-overline-md-letter-spacing);
1196
+ text-transform: var(--text-overline-md-text-transform);
1197
+ }
1198
+
1199
+ @utility text-overline-sm {
1200
+ font-family: var(--text-overline-sm-font-family);
1201
+ font-size: var(--text-overline-sm-font-size);
1202
+ line-height: var(--text-overline-sm-line-height);
1203
+ letter-spacing: var(--text-overline-sm-letter-spacing);
1204
+ text-transform: var(--text-overline-sm-text-transform);
1205
+ }
1206
+
1207
+ @utility text-overline-xs {
1208
+ font-family: var(--text-overline-xs-font-family);
1209
+ font-size: var(--text-overline-xs-font-size);
1210
+ line-height: var(--text-overline-xs-line-height);
1211
+ letter-spacing: var(--text-overline-xs-letter-spacing);
1212
+ text-transform: var(--text-overline-xs-text-transform);
1213
+ }
1214
+
1215
+ @utility text-button-lg {
1216
+ font-family: var(--text-button-lg-font-family);
1217
+ font-size: var(--text-button-lg-font-size);
1218
+ font-weight: var(--text-button-lg-font-weight);
1219
+ line-height: var(--text-button-lg-line-height);
1220
+ letter-spacing: var(--text-button-lg-letter-spacing);
1221
+ }
1222
+
1223
+ @utility text-button-md {
1224
+ font-family: var(--text-button-md-font-family);
1225
+ font-size: var(--text-button-md-font-size);
1226
+ font-weight: var(--text-button-md-font-weight);
1227
+ line-height: var(--text-button-md-line-height);
1228
+ letter-spacing: var(--text-button-md-letter-spacing);
1229
+ }
1230
+
1231
+ @utility text-link {
1232
+ font-size: var(--text-link-font-size);
1233
+ line-height: var(--text-link-line-height);
1234
+ color: var(--text-link-color);
1235
+ border-radius: var(--text-link-border-radius);
1236
+ transition: var(--text-link-transition);
1237
+ &:hover { color: var(--text-link-hover); text-decoration: underline; }
1238
+ &:focus-visible { outline: 2px solid var(--ring-color); outline-offset: 2px; }
1239
+ }
1240
+
1241
+ @media (prefers-reduced-motion: reduce) {
1242
+ .text-link { transition: none; }
1243
+ }
1244
+
1245
+ @utility bg-surface-0 { background-color: var(--surface-0); }
1246
+ @utility text-surface-0 { color: var(--surface-0); }
1247
+ @utility border-surface-0 { border-color: var(--surface-0); }
1248
+ @utility bg-surface-50 { background-color: var(--surface-50); }
1249
+ @utility text-surface-50 { color: var(--surface-50); }
1250
+ @utility border-surface-50 { border-color: var(--surface-50); }
1251
+ @utility bg-surface-100 { background-color: var(--surface-100); }
1252
+ @utility text-surface-100 { color: var(--surface-100); }
1253
+ @utility border-surface-100 { border-color: var(--surface-100); }
1254
+ @utility bg-surface-200 { background-color: var(--surface-200); }
1255
+ @utility text-surface-200 { color: var(--surface-200); }
1256
+ @utility border-surface-200 { border-color: var(--surface-200); }
1257
+ @utility bg-surface-300 { background-color: var(--surface-300); }
1258
+ @utility text-surface-300 { color: var(--surface-300); }
1259
+ @utility border-surface-300 { border-color: var(--surface-300); }
1260
+ @utility bg-surface-400 { background-color: var(--surface-400); }
1261
+ @utility text-surface-400 { color: var(--surface-400); }
1262
+ @utility border-surface-400 { border-color: var(--surface-400); }
1263
+ @utility bg-surface-500 { background-color: var(--surface-500); }
1264
+ @utility text-surface-500 { color: var(--surface-500); }
1265
+ @utility border-surface-500 { border-color: var(--surface-500); }
1266
+ @utility bg-surface-600 { background-color: var(--surface-600); }
1267
+ @utility text-surface-600 { color: var(--surface-600); }
1268
+ @utility border-surface-600 { border-color: var(--surface-600); }
1269
+ @utility bg-surface-700 { background-color: var(--surface-700); }
1270
+ @utility text-surface-700 { color: var(--surface-700); }
1271
+ @utility border-surface-700 { border-color: var(--surface-700); }
1272
+ @utility bg-surface-800 { background-color: var(--surface-800); }
1273
+ @utility text-surface-800 { color: var(--surface-800); }
1274
+ @utility border-surface-800 { border-color: var(--surface-800); }
1275
+ @utility bg-surface-900 { background-color: var(--surface-900); }
1276
+ @utility text-surface-900 { color: var(--surface-900); }
1277
+ @utility border-surface-900 { border-color: var(--surface-900); }
1278
+ @utility bg-surface-950 { background-color: var(--surface-950); }
1279
+ @utility text-surface-950 { color: var(--surface-950); }
1280
+ @utility border-surface-950 { border-color: var(--surface-950); }
1281
+ @utility bg-primary { background-color: var(--primary); }
1282
+ @utility text-primary { color: var(--primary); }
1283
+ @utility border-primary { border-color: var(--primary); }
1284
+ @utility bg-primary-mask { background-color: var(--primary-mask); }
1285
+ @utility text-primary-mask { color: var(--primary-mask); }
1286
+ @utility border-primary-mask { border-color: var(--primary-mask); }
1287
+ @utility bg-primary-selected { background-color: var(--primary-selected); }
1288
+ @utility text-primary-selected { color: var(--primary-selected); }
1289
+ @utility border-primary-selected { border-color: var(--primary-selected); }
1290
+ @utility bg-primary-contrast { background-color: var(--primary-contrast); }
1291
+ @utility text-primary-contrast { color: var(--primary-contrast); }
1292
+ @utility border-primary-contrast { border-color: var(--primary-contrast); }
1293
+ @utility bg-secondary { background-color: var(--secondary); }
1294
+ @utility text-secondary { color: var(--secondary); }
1295
+ @utility border-secondary { border-color: var(--secondary); }
1296
+ @utility bg-secondary-mask { background-color: var(--secondary-mask); }
1297
+ @utility text-secondary-mask { color: var(--secondary-mask); }
1298
+ @utility border-secondary-mask { border-color: var(--secondary-mask); }
1299
+ @utility bg-secondary-selected { background-color: var(--secondary-selected); }
1300
+ @utility text-secondary-selected { color: var(--secondary-selected); }
1301
+ @utility border-secondary-selected { border-color: var(--secondary-selected); }
1302
+ @utility bg-secondary-contrast { background-color: var(--secondary-contrast); }
1303
+ @utility text-secondary-contrast { color: var(--secondary-contrast); }
1304
+ @utility border-secondary-contrast { border-color: var(--secondary-contrast); }
1305
+ @utility bg-accent { background-color: var(--accent); }
1306
+ @utility text-accent { color: var(--accent); }
1307
+ @utility border-accent { border-color: var(--accent); }
1308
+ @utility bg-accent-mask { background-color: var(--accent-mask); }
1309
+ @utility text-accent-mask { color: var(--accent-mask); }
1310
+ @utility border-accent-mask { border-color: var(--accent-mask); }
1311
+ @utility bg-accent-selected { background-color: var(--accent-selected); }
1312
+ @utility text-accent-selected { color: var(--accent-selected); }
1313
+ @utility border-accent-selected { border-color: var(--accent-selected); }
1314
+ @utility bg-accent-contrast { background-color: var(--accent-contrast); }
1315
+ @utility text-accent-contrast { color: var(--accent-contrast); }
1316
+ @utility border-accent-contrast { border-color: var(--accent-contrast); }
1317
+ @utility bg-canvas { background-color: var(--bg-canvas); }
1318
+ @utility bg-surface { background-color: var(--bg-surface); }
1319
+ @utility bg-surface-raised { background-color: var(--bg-surface-raised); }
1320
+ @utility bg-mask { background-color: var(--bg-mask); }
1321
+ @utility bg-surface-overlay { background-color: var(--bg-surface-overlay); }
1322
+ @utility bg-hover { background-color: var(--bg-hover); }
1323
+ @utility bg-active { background-color: var(--bg-active); }
1324
+ @utility bg-backdrop { background-color: var(--bg-backdrop); }
1325
+ @utility bg-selected { background-color: var(--bg-selected); }
1326
+ @utility bg-contrast { background-color: var(--bg-contrast); }
1327
+ @utility bg-disabled { background-color: var(--bg-disabled); }
1328
+ @utility border-default { border-color: var(--border-default); }
1329
+ @utility border-muted { border-color: var(--border-muted); }
1330
+ @utility border-strong { border-color: var(--border-strong); }
1331
+ @utility border-selected { border-color: var(--border-selected); }
1332
+ @utility text-default { color: var(--text-default); }
1333
+ @utility text-muted { color: var(--text-muted); }
1334
+ @utility text-disabled { color: var(--text-disabled); }
1335
+ @utility text-link-hover { color: var(--text-link-hover); }
1336
+ @utility text-contrast { color: var(--text-contrast); }
1337
+ @utility ring-color { --tw-ring-color: var(--ring-color); }
1338
+ @utility bg-success { background-color: var(--success); }
1339
+ @utility text-success { color: var(--success); }
1340
+ @utility border-success { border-color: var(--success); }
1341
+ @utility bg-success-border { background-color: var(--success-border); }
1342
+ @utility text-success-border { color: var(--success-border); }
1343
+ @utility border-success-border { border-color: var(--success-border); }
1344
+ @utility bg-success-contrast { background-color: var(--success-contrast); }
1345
+ @utility text-success-contrast { color: var(--success-contrast); }
1346
+ @utility border-success-contrast { border-color: var(--success-contrast); }
1347
+ @utility bg-warning { background-color: var(--warning); }
1348
+ @utility text-warning { color: var(--warning); }
1349
+ @utility border-warning { border-color: var(--warning); }
1350
+ @utility bg-warning-border { background-color: var(--warning-border); }
1351
+ @utility text-warning-border { color: var(--warning-border); }
1352
+ @utility border-warning-border { border-color: var(--warning-border); }
1353
+ @utility bg-warning-contrast { background-color: var(--warning-contrast); }
1354
+ @utility text-warning-contrast { color: var(--warning-contrast); }
1355
+ @utility border-warning-contrast { border-color: var(--warning-contrast); }
1356
+ @utility bg-danger { background-color: var(--danger); }
1357
+ @utility text-danger { color: var(--danger); }
1358
+ @utility border-danger { border-color: var(--danger); }
1359
+ @utility bg-danger-border { background-color: var(--danger-border); }
1360
+ @utility text-danger-border { color: var(--danger-border); }
1361
+ @utility border-danger-border { border-color: var(--danger-border); }
1362
+ @utility bg-danger-contrast { background-color: var(--danger-contrast); }
1363
+ @utility text-danger-contrast { color: var(--danger-contrast); }
1364
+ @utility border-danger-contrast { border-color: var(--danger-contrast); }
1365
+ @utility bg-info { background-color: var(--info); }
1366
+ @utility text-info { color: var(--info); }
1367
+ @utility border-info { border-color: var(--info); }
1368
+ @utility bg-info-border { background-color: var(--info-border); }
1369
+ @utility text-info-border { color: var(--info-border); }
1370
+ @utility border-info-border { border-color: var(--info-border); }
1371
+ @utility bg-info-contrast { background-color: var(--info-contrast); }
1372
+ @utility text-info-contrast { color: var(--info-contrast); }
1373
+ @utility border-info-contrast { border-color: var(--info-contrast); }
1374
+
1375
+ @layer base {
1376
+ button:not(:disabled),
1377
+ [role="button"]:not([aria-disabled="true"]),
1378
+ summary {
1379
+ cursor: pointer;
632
1380
  }
633
1381
  }