@ersbeth/picokit 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +97 -0
  2. package/dist/components/index.d.ts +4 -0
  3. package/dist/components/index.d.ts.map +1 -0
  4. package/dist/components/layout/cluster.d.ts +6 -0
  5. package/dist/components/layout/cluster.d.ts.map +1 -0
  6. package/dist/components/layout/container.d.ts +6 -0
  7. package/dist/components/layout/container.d.ts.map +1 -0
  8. package/dist/components/layout/dual.d.ts +14 -0
  9. package/dist/components/layout/dual.d.ts.map +1 -0
  10. package/dist/components/layout/index.d.ts +5 -0
  11. package/dist/components/layout/index.d.ts.map +1 -0
  12. package/dist/components/layout/stack.d.ts +6 -0
  13. package/dist/components/layout/stack.d.ts.map +1 -0
  14. package/dist/components/marketing/footer.d.ts +40 -0
  15. package/dist/components/marketing/footer.d.ts.map +1 -0
  16. package/dist/components/marketing/index.d.ts +6 -0
  17. package/dist/components/marketing/index.d.ts.map +1 -0
  18. package/dist/components/marketing/navigation.d.ts +24 -0
  19. package/dist/components/marketing/navigation.d.ts.map +1 -0
  20. package/dist/components/marketing/page.d.ts +13 -0
  21. package/dist/components/marketing/page.d.ts.map +1 -0
  22. package/dist/components/marketing/section.d.ts +13 -0
  23. package/dist/components/marketing/section.d.ts.map +1 -0
  24. package/dist/components/marketing/text.d.ts +12 -0
  25. package/dist/components/marketing/text.d.ts.map +1 -0
  26. package/dist/components/mixin/alignMixin.d.ts +15 -0
  27. package/dist/components/mixin/alignMixin.d.ts.map +1 -0
  28. package/dist/components/mixin/gapMixin.d.ts +22 -0
  29. package/dist/components/mixin/gapMixin.d.ts.map +1 -0
  30. package/dist/components/mixin/heightMixin.d.ts +22 -0
  31. package/dist/components/mixin/heightMixin.d.ts.map +1 -0
  32. package/dist/components/mixin/index.d.ts +9 -0
  33. package/dist/components/mixin/index.d.ts.map +1 -0
  34. package/dist/components/mixin/paddingMixin.d.ts +99 -0
  35. package/dist/components/mixin/paddingMixin.d.ts.map +1 -0
  36. package/dist/components/mixin/panelMixin.d.ts +48 -0
  37. package/dist/components/mixin/panelMixin.d.ts.map +1 -0
  38. package/dist/components/mixin/styleMixin.d.ts +9 -0
  39. package/dist/components/mixin/styleMixin.d.ts.map +1 -0
  40. package/dist/components/mixin/textMixin.d.ts +66 -0
  41. package/dist/components/mixin/textMixin.d.ts.map +1 -0
  42. package/dist/components/mixin/widthMixin.d.ts +26 -0
  43. package/dist/components/mixin/widthMixin.d.ts.map +1 -0
  44. package/dist/components/ui/avatar.d.ts +9 -0
  45. package/dist/components/ui/avatar.d.ts.map +1 -0
  46. package/dist/components/ui/button.d.ts +29 -0
  47. package/dist/components/ui/button.d.ts.map +1 -0
  48. package/dist/components/ui/card.d.ts +10 -0
  49. package/dist/components/ui/card.d.ts.map +1 -0
  50. package/dist/components/ui/carousel.d.ts +17 -0
  51. package/dist/components/ui/carousel.d.ts.map +1 -0
  52. package/dist/components/ui/image.d.ts +24 -0
  53. package/dist/components/ui/image.d.ts.map +1 -0
  54. package/dist/components/ui/index.d.ts +6 -0
  55. package/dist/components/ui/index.d.ts.map +1 -0
  56. package/dist/components.css +1867 -0
  57. package/dist/components.d.ts +2 -0
  58. package/dist/components.d.ts.map +1 -0
  59. package/dist/components.jsx +1051 -0
  60. package/dist/media.css +39 -0
  61. package/dist/reset.css +40 -0
  62. package/dist/reset.d.ts +2 -0
  63. package/dist/reset.d.ts.map +1 -0
  64. package/dist/reset.js +1 -0
  65. package/dist/src/components/index.d.ts +4 -0
  66. package/dist/src/components/index.d.ts.map +1 -0
  67. package/dist/src/components/layout/cluster.d.ts +6 -0
  68. package/dist/src/components/layout/cluster.d.ts.map +1 -0
  69. package/dist/src/components/layout/container.d.ts +6 -0
  70. package/dist/src/components/layout/container.d.ts.map +1 -0
  71. package/dist/src/components/layout/dual.d.ts +14 -0
  72. package/dist/src/components/layout/dual.d.ts.map +1 -0
  73. package/dist/src/components/layout/index.d.ts +5 -0
  74. package/dist/src/components/layout/index.d.ts.map +1 -0
  75. package/dist/src/components/layout/stack.d.ts +6 -0
  76. package/dist/src/components/layout/stack.d.ts.map +1 -0
  77. package/dist/src/components/marketing/footer.d.ts +40 -0
  78. package/dist/src/components/marketing/footer.d.ts.map +1 -0
  79. package/dist/src/components/marketing/index.d.ts +6 -0
  80. package/dist/src/components/marketing/index.d.ts.map +1 -0
  81. package/dist/src/components/marketing/navigation.d.ts +24 -0
  82. package/dist/src/components/marketing/navigation.d.ts.map +1 -0
  83. package/dist/src/components/marketing/page.d.ts +13 -0
  84. package/dist/src/components/marketing/page.d.ts.map +1 -0
  85. package/dist/src/components/marketing/section.d.ts +13 -0
  86. package/dist/src/components/marketing/section.d.ts.map +1 -0
  87. package/dist/src/components/marketing/text.d.ts +12 -0
  88. package/dist/src/components/marketing/text.d.ts.map +1 -0
  89. package/dist/src/components/mixin/alignMixin.d.ts +15 -0
  90. package/dist/src/components/mixin/alignMixin.d.ts.map +1 -0
  91. package/dist/src/components/mixin/gapMixin.d.ts +22 -0
  92. package/dist/src/components/mixin/gapMixin.d.ts.map +1 -0
  93. package/dist/src/components/mixin/heightMixin.d.ts +22 -0
  94. package/dist/src/components/mixin/heightMixin.d.ts.map +1 -0
  95. package/dist/src/components/mixin/index.d.ts +9 -0
  96. package/dist/src/components/mixin/index.d.ts.map +1 -0
  97. package/dist/src/components/mixin/paddingMixin.d.ts +99 -0
  98. package/dist/src/components/mixin/paddingMixin.d.ts.map +1 -0
  99. package/dist/src/components/mixin/panelMixin.d.ts +48 -0
  100. package/dist/src/components/mixin/panelMixin.d.ts.map +1 -0
  101. package/dist/src/components/mixin/styleMixin.d.ts +9 -0
  102. package/dist/src/components/mixin/styleMixin.d.ts.map +1 -0
  103. package/dist/src/components/mixin/textMixin.d.ts +66 -0
  104. package/dist/src/components/mixin/textMixin.d.ts.map +1 -0
  105. package/dist/src/components/mixin/widthMixin.d.ts +26 -0
  106. package/dist/src/components/mixin/widthMixin.d.ts.map +1 -0
  107. package/dist/src/components/ui/avatar.d.ts +9 -0
  108. package/dist/src/components/ui/avatar.d.ts.map +1 -0
  109. package/dist/src/components/ui/button.d.ts +29 -0
  110. package/dist/src/components/ui/button.d.ts.map +1 -0
  111. package/dist/src/components/ui/card.d.ts +10 -0
  112. package/dist/src/components/ui/card.d.ts.map +1 -0
  113. package/dist/src/components/ui/carousel.d.ts +17 -0
  114. package/dist/src/components/ui/carousel.d.ts.map +1 -0
  115. package/dist/src/components/ui/image.d.ts +24 -0
  116. package/dist/src/components/ui/image.d.ts.map +1 -0
  117. package/dist/src/components/ui/index.d.ts +6 -0
  118. package/dist/src/components/ui/index.d.ts.map +1 -0
  119. package/dist/src/components.d.ts +2 -0
  120. package/dist/src/components.d.ts.map +1 -0
  121. package/dist/src/reset.d.ts +2 -0
  122. package/dist/src/reset.d.ts.map +1 -0
  123. package/dist/src/theme.d.ts +2 -0
  124. package/dist/src/theme.d.ts.map +1 -0
  125. package/dist/src/tokens.d.ts +2 -0
  126. package/dist/src/tokens.d.ts.map +1 -0
  127. package/dist/test/app.d.ts +2 -0
  128. package/dist/test/app.d.ts.map +1 -0
  129. package/dist/test/main.d.ts +5 -0
  130. package/dist/test/main.d.ts.map +1 -0
  131. package/dist/test/pages/examples/home.d.ts +2 -0
  132. package/dist/test/pages/examples/home.d.ts.map +1 -0
  133. package/dist/test/pages/examples/pageBlocks.d.ts +2 -0
  134. package/dist/test/pages/examples/pageBlocks.d.ts.map +1 -0
  135. package/dist/test/pages/examples/pageButtons.d.ts +2 -0
  136. package/dist/test/pages/examples/pageButtons.d.ts.map +1 -0
  137. package/dist/test/pages/examples/pageCards.d.ts +2 -0
  138. package/dist/test/pages/examples/pageCards.d.ts.map +1 -0
  139. package/dist/test/pages/examples/pageCarousel.d.ts +2 -0
  140. package/dist/test/pages/examples/pageCarousel.d.ts.map +1 -0
  141. package/dist/test/pages/examples/pageContainers.d.ts +2 -0
  142. package/dist/test/pages/examples/pageContainers.d.ts.map +1 -0
  143. package/dist/test/pages/examples/pageLists.d.ts +2 -0
  144. package/dist/test/pages/examples/pageLists.d.ts.map +1 -0
  145. package/dist/test/pages/examples/pagePalette.d.ts +2 -0
  146. package/dist/test/pages/examples/pagePalette.d.ts.map +1 -0
  147. package/dist/test/pages/examples/pageSections.d.ts +2 -0
  148. package/dist/test/pages/examples/pageSections.d.ts.map +1 -0
  149. package/dist/test/pages/examples/pageSplits.d.ts +2 -0
  150. package/dist/test/pages/examples/pageSplits.d.ts.map +1 -0
  151. package/dist/test/pages/examples/pageText.d.ts +2 -0
  152. package/dist/test/pages/examples/pageText.d.ts.map +1 -0
  153. package/dist/test/pages/examples/palettePreview.d.ts +4 -0
  154. package/dist/test/pages/examples/palettePreview.d.ts.map +1 -0
  155. package/dist/test/pages/examples/paletteSwatches.d.ts +11 -0
  156. package/dist/test/pages/examples/paletteSwatches.d.ts.map +1 -0
  157. package/dist/test/pages/pageFooter.d.ts +2 -0
  158. package/dist/test/pages/pageFooter.d.ts.map +1 -0
  159. package/dist/test/pages/pageHeader.d.ts +2 -0
  160. package/dist/test/pages/pageHeader.d.ts.map +1 -0
  161. package/dist/test/pages/pageLayout.d.ts +3 -0
  162. package/dist/test/pages/pageLayout.d.ts.map +1 -0
  163. package/dist/test/vite.config.dev.d.ts +3 -0
  164. package/dist/test/vite.config.dev.d.ts.map +1 -0
  165. package/dist/test/vite.config.preview.d.ts +3 -0
  166. package/dist/test/vite.config.preview.d.ts.map +1 -0
  167. package/dist/theme.css +175 -0
  168. package/dist/theme.d.ts +2 -0
  169. package/dist/theme.d.ts.map +1 -0
  170. package/dist/theme.js +1 -0
  171. package/dist/tokens.css +1256 -0
  172. package/dist/tokens.d.ts +2 -0
  173. package/dist/tokens.d.ts.map +1 -0
  174. package/dist/tokens.js +1 -0
  175. package/package.json +63 -0
@@ -0,0 +1,1256 @@
1
+ @layer tokens {
2
+ html {
3
+ /* ANIMATIONS */
4
+
5
+ --animation-fade-in: fade-in 0.5s var(--ease-3);
6
+ --animation-fade-in-bloom: fade-in-bloom 2s var(--ease-3);
7
+ --animation-fade-out: fade-out 0.5s var(--ease-3);
8
+ --animation-fade-out-bloom: fade-out-bloom 2s var(--ease-3);
9
+ --animation-scale-up: scale-up 0.5s var(--ease-3);
10
+ --animation-scale-down: scale-down 0.5s var(--ease-3);
11
+ --animation-slide-out-up: slide-out-up 0.5s var(--ease-3);
12
+ --animation-slide-out-down: slide-out-down 0.5s var(--ease-3);
13
+ --animation-slide-out-right: slide-out-right 0.5s var(--ease-3);
14
+ --animation-slide-out-left: slide-out-left 0.5s var(--ease-3);
15
+ --animation-slide-in-up: slide-in-up 0.5s var(--ease-3);
16
+ --animation-slide-in-down: slide-in-down 0.5s var(--ease-3);
17
+ --animation-slide-in-right: slide-in-right 0.5s var(--ease-3);
18
+ --animation-slide-in-left: slide-in-left 0.5s var(--ease-3);
19
+ --animation-shake-x: shake-x 0.75s var(--ease-out-5);
20
+ --animation-shake-y: shake-y 0.75s var(--ease-out-5);
21
+ --animation-shake-z: shake-z 1s var(--ease-in-out-3);
22
+ --animation-spin: spin 2s linear infinite;
23
+ --animation-ping: ping 5s var(--ease-out-3) infinite;
24
+ --animation-blink: blink 1s var(--ease-out-3) infinite;
25
+ --animation-float: float 3s var(--ease-in-out-3) infinite;
26
+ --animation-bounce: bounce 2s var(--ease-squish-2) infinite;
27
+ --animation-pulse: pulse 2s var(--ease-out-3) infinite;
28
+ }
29
+
30
+ /* KEYFRAMES */
31
+
32
+ @keyframes fade-in {
33
+ to {
34
+ opacity: 1;
35
+ }
36
+ }
37
+ @keyframes fade-in-bloom {
38
+ 0% {
39
+ opacity: 0;
40
+ filter: brightness(1) blur(20px);
41
+ }
42
+ 10% {
43
+ opacity: 1;
44
+ filter: brightness(2) blur(10px);
45
+ }
46
+ 100% {
47
+ opacity: 1;
48
+ filter: brightness(1) blur(0);
49
+ }
50
+ }
51
+ @keyframes fade-out {
52
+ to {
53
+ opacity: 0;
54
+ }
55
+ }
56
+ @keyframes fade-out-bloom {
57
+ 100% {
58
+ opacity: 0;
59
+ filter: brightness(1) blur(20px);
60
+ }
61
+ 10% {
62
+ opacity: 1;
63
+ filter: brightness(2) blur(10px);
64
+ }
65
+ 0% {
66
+ opacity: 1;
67
+ filter: brightness(1) blur(0);
68
+ }
69
+ }
70
+ @keyframes scale-up {
71
+ to {
72
+ transform: scale(1.25);
73
+ }
74
+ }
75
+ @keyframes scale-down {
76
+ to {
77
+ transform: scale(0.75);
78
+ }
79
+ }
80
+ @keyframes slide-out-up {
81
+ to {
82
+ transform: translateY(-100%);
83
+ }
84
+ }
85
+ @keyframes slide-out-down {
86
+ to {
87
+ transform: translateY(100%);
88
+ }
89
+ }
90
+ @keyframes slide-out-right {
91
+ to {
92
+ transform: translateX(100%);
93
+ }
94
+ }
95
+ @keyframes slide-out-left {
96
+ to {
97
+ transform: translateX(-100%);
98
+ }
99
+ }
100
+ @keyframes slide-in-up {
101
+ from {
102
+ transform: translateY(100%);
103
+ }
104
+ }
105
+ @keyframes slide-in-down {
106
+ from {
107
+ transform: translateY(-100%);
108
+ }
109
+ }
110
+ @keyframes slide-in-right {
111
+ from {
112
+ transform: translateX(-100%);
113
+ }
114
+ }
115
+ @keyframes slide-in-left {
116
+ from {
117
+ transform: translateX(100%);
118
+ }
119
+ }
120
+ @keyframes shake-x {
121
+ 0%,
122
+ 100% {
123
+ transform: translateX(0%);
124
+ }
125
+ 20% {
126
+ transform: translateX(-5%);
127
+ }
128
+ 40% {
129
+ transform: translateX(5%);
130
+ }
131
+ 60% {
132
+ transform: translateX(-5%);
133
+ }
134
+ 80% {
135
+ transform: translateX(5%);
136
+ }
137
+ }
138
+ @keyframes shake-y {
139
+ 0%,
140
+ 100% {
141
+ transform: translateY(0%);
142
+ }
143
+ 20% {
144
+ transform: translateY(-5%);
145
+ }
146
+ 40% {
147
+ transform: translateY(5%);
148
+ }
149
+ 60% {
150
+ transform: translateY(-5%);
151
+ }
152
+ 80% {
153
+ transform: translateY(5%);
154
+ }
155
+ }
156
+ @keyframes shake-z {
157
+ 0%,
158
+ 100% {
159
+ transform: rotate(0deg);
160
+ }
161
+ 20% {
162
+ transform: rotate(-2deg);
163
+ }
164
+ 40% {
165
+ transform: rotate(2deg);
166
+ }
167
+ 60% {
168
+ transform: rotate(-2deg);
169
+ }
170
+ 80% {
171
+ transform: rotate(2deg);
172
+ }
173
+ }
174
+ @keyframes spin {
175
+ to {
176
+ transform: rotate(1turn);
177
+ }
178
+ }
179
+ @keyframes ping {
180
+ 90%,
181
+ 100% {
182
+ transform: scale(2);
183
+ opacity: 0;
184
+ }
185
+ }
186
+ @keyframes blink {
187
+ 0%,
188
+ 100% {
189
+ opacity: 1;
190
+ }
191
+ 50% {
192
+ opacity: 0.5;
193
+ }
194
+ }
195
+ @keyframes float {
196
+ 50% {
197
+ transform: translateY(-25%);
198
+ }
199
+ }
200
+ @keyframes bounce {
201
+ 25% {
202
+ transform: translateY(-20%);
203
+ }
204
+ 40% {
205
+ transform: translateY(-3%);
206
+ }
207
+ 0%,
208
+ 60%,
209
+ 100% {
210
+ transform: translateY(0);
211
+ }
212
+ }
213
+ @keyframes pulse {
214
+ 50% {
215
+ transform: scale(0.9, 0.9);
216
+ }
217
+ }
218
+ }
219
+ @layer tokens {
220
+ html {
221
+ --ratio-square: 1;
222
+ --ratio-landscape: 4 / 3;
223
+ --ratio-portrait: 3 / 4;
224
+ --ratio-wide: 16 / 9;
225
+ --ratio-ultrawide: 18 / 5;
226
+ --ratio-golden: 1.618 / 1;
227
+ }
228
+ }
229
+ @layer tokens {
230
+ html {
231
+ /* BORDER WIDTH */
232
+
233
+ --border-width-scale: 1;
234
+ --border-width-s: calc(var(--border-width-scale) * 0.0625rem);
235
+ --border-width-m: calc(var(--border-width-scale) * 0.125rem);
236
+ --border-width-l: calc(var(--border-width-scale) * 0.1875rem);
237
+
238
+ /* BORDER RADIUS */
239
+
240
+ --border-radius-scale: 1;
241
+ --border-radius-s: calc(var(--border-radius-scale) * 0.1875rem);
242
+ --border-radius-m: calc(var(--border-radius-scale) * 0.375rem);
243
+ --border-radius-l: calc(var(--border-radius-scale) * 0.75rem);
244
+
245
+ --border-radius-pill: 9999px;
246
+ --border-radius-circle: 50%;
247
+ --border-radius-square: 0px;
248
+ }
249
+ }
250
+ @layer tokens {
251
+ html {
252
+ /* Animation duration based on https://design.brainly.com/8adfd5f36/p/091f75-ux-motion */
253
+ --duration-instant: 0ms; /* e.g. text change */
254
+ --duration-quick-1: 80ms; /* e.g. checkbox, radio, hover */
255
+ --duration-quick-2: 120ms; /* e.g. toggle, tab, chip, color, fade */
256
+ --duration-moderate-1: 180ms; /* e.g. dropdown, tooltip */
257
+ --duration-moderate-2: 260ms; /* e.g. modal, toast, dialog, notification */
258
+ --duration-gentle-1: 320ms; /* e.g. bottom sheet, card expand */
259
+ --duration-gentle-2: 420ms; /* e.g. advanced animations */
260
+
261
+ /*
262
+ * Calculated animation duration based on https://design.brainly.com/8adfd5f36/p/091f75-ux-motion/t/page-091f75-75547432-5018fa-12
263
+ * Demo: https://codepen.io/T3sT3ro/pen/RNwRLWx
264
+ * unitless values
265
+ */
266
+ --animated-element-distance: 0;
267
+ --animated-element-width: 0;
268
+ --animated-element-height: 0;
269
+
270
+ /* Calculated animation duration in milliseconds */
271
+ --duration-calculated: calc(
272
+ (
273
+ (0.5 * var(--animated-element-distance, 0)) +
274
+ (0.35 * var(--animated-element-width, 0)) +
275
+ (0.3 * var(--animated-element-height, 0))
276
+ ) *
277
+ 1ms
278
+ );
279
+ }
280
+ }
281
+ @layer tokens {
282
+ html {
283
+ --ease-1: cubic-bezier(0.25, 0, 0.5, 1);
284
+ --ease-2: cubic-bezier(0.25, 0, 0.4, 1);
285
+ --ease-3: cubic-bezier(0.25, 0, 0.3, 1);
286
+ --ease-4: cubic-bezier(0.25, 0, 0.2, 1);
287
+ --ease-5: cubic-bezier(0.25, 0, 0.1, 1);
288
+
289
+ --ease-in-1: cubic-bezier(0.25, 0, 1, 1);
290
+ --ease-in-2: cubic-bezier(0.5, 0, 1, 1);
291
+ --ease-in-3: cubic-bezier(0.7, 0, 1, 1);
292
+ --ease-in-4: cubic-bezier(0.9, 0, 1, 1);
293
+ --ease-in-5: cubic-bezier(1, 0, 1, 1);
294
+
295
+ --ease-out-1: cubic-bezier(0, 0, 0.75, 1);
296
+ --ease-out-2: cubic-bezier(0, 0, 0.5, 1);
297
+ --ease-out-3: cubic-bezier(0, 0, 0.3, 1);
298
+ --ease-out-4: cubic-bezier(0, 0, 0.1, 1);
299
+ --ease-out-5: cubic-bezier(0, 0, 0, 1);
300
+
301
+ --ease-in-out-1: cubic-bezier(0.1, 0, 0.9, 1);
302
+ --ease-in-out-2: cubic-bezier(0.3, 0, 0.7, 1);
303
+ --ease-in-out-3: cubic-bezier(0.5, 0, 0.5, 1);
304
+ --ease-in-out-4: cubic-bezier(0.7, 0, 0.3, 1);
305
+ --ease-in-out-5: cubic-bezier(0.9, 0, 0.1, 1);
306
+
307
+ --ease-elastic-out-1: cubic-bezier(0.5, 0.75, 0.75, 1.25);
308
+ --ease-elastic-out-2: cubic-bezier(0.5, 1, 0.75, 1.25);
309
+ --ease-elastic-out-3: cubic-bezier(0.5, 1.25, 0.75, 1.25);
310
+ --ease-elastic-out-4: cubic-bezier(0.5, 1.5, 0.75, 1.25);
311
+ --ease-elastic-out-5: cubic-bezier(0.5, 1.75, 0.75, 1.25);
312
+
313
+ --ease-elastic-in-1: cubic-bezier(0.5, -0.25, 0.75, 1);
314
+ --ease-elastic-in-2: cubic-bezier(0.5, -0.5, 0.75, 1);
315
+ --ease-elastic-in-3: cubic-bezier(0.5, -0.75, 0.75, 1);
316
+ --ease-elastic-in-4: cubic-bezier(0.5, -1, 0.75, 1);
317
+ --ease-elastic-in-5: cubic-bezier(0.5, -1.25, 0.75, 1);
318
+
319
+ --ease-elastic-in-out-1: cubic-bezier(0.5, -0.1, 0.1, 1.5);
320
+ --ease-elastic-in-out-2: cubic-bezier(0.5, -0.3, 0.1, 1.5);
321
+ --ease-elastic-in-out-3: cubic-bezier(0.5, -0.5, 0.1, 1.5);
322
+ --ease-elastic-in-out-4: cubic-bezier(0.5, -0.7, 0.1, 1.5);
323
+ --ease-elastic-in-out-5: cubic-bezier(0.5, -0.9, 0.1, 1.5);
324
+
325
+ --ease-step-1: steps(2);
326
+ --ease-step-2: steps(3);
327
+ --ease-step-3: steps(4);
328
+ --ease-step-4: steps(7);
329
+ --ease-step-5: steps(10);
330
+
331
+ --ease-elastic-1: var(--ease-elastic-out-1);
332
+ --ease-elastic-2: var(--ease-elastic-out-2);
333
+ --ease-elastic-3: var(--ease-elastic-out-3);
334
+ --ease-elastic-4: var(--ease-elastic-out-4);
335
+ --ease-elastic-5: var(--ease-elastic-out-5);
336
+
337
+ --ease-squish-1: var(--ease-elastic-in-out-1);
338
+ --ease-squish-2: var(--ease-elastic-in-out-2);
339
+ --ease-squish-3: var(--ease-elastic-in-out-3);
340
+ --ease-squish-4: var(--ease-elastic-in-out-4);
341
+ --ease-squish-5: var(--ease-elastic-in-out-5);
342
+
343
+ --ease-spring-1: linear(
344
+ 0,
345
+ 0.006,
346
+ 0.025 2.8%,
347
+ 0.101 6.1%,
348
+ 0.539 18.9%,
349
+ 0.721 25.3%,
350
+ 0.849 31.5%,
351
+ 0.937 38.1%,
352
+ 0.968 41.8%,
353
+ 0.991 45.7%,
354
+ 1.006 50.1%,
355
+ 1.015 55%,
356
+ 1.017 63.9%,
357
+ 1.001
358
+ );
359
+ --ease-spring-2: linear(
360
+ 0,
361
+ 0.007,
362
+ 0.029 2.2%,
363
+ 0.118 4.7%,
364
+ 0.625 14.4%,
365
+ 0.826 19%,
366
+ 0.902,
367
+ 0.962,
368
+ 1.008 26.1%,
369
+ 1.041 28.7%,
370
+ 1.064 32.1%,
371
+ 1.07 36%,
372
+ 1.061 40.5%,
373
+ 1.015 53.4%,
374
+ 0.999 61.6%,
375
+ 0.995 71.2%,
376
+ 1
377
+ );
378
+ --ease-spring-3: linear(
379
+ 0,
380
+ 0.009,
381
+ 0.035 2.1%,
382
+ 0.141 4.4%,
383
+ 0.723 12.9%,
384
+ 0.938 16.7%,
385
+ 1.017,
386
+ 1.077,
387
+ 1.121,
388
+ 1.149 24.3%,
389
+ 1.159,
390
+ 1.163,
391
+ 1.161,
392
+ 1.154 29.9%,
393
+ 1.129 32.8%,
394
+ 1.051 39.6%,
395
+ 1.017 43.1%,
396
+ 0.991,
397
+ 0.977 51%,
398
+ 0.974 53.8%,
399
+ 0.975 57.1%,
400
+ 0.997 69.8%,
401
+ 1.003 76.9%,
402
+ 1
403
+ );
404
+ --ease-spring-4: linear(
405
+ 0,
406
+ 0.009,
407
+ 0.037 1.7%,
408
+ 0.153 3.6%,
409
+ 0.776 10.3%,
410
+ 1.001,
411
+ 1.142 16%,
412
+ 1.185,
413
+ 1.209 19%,
414
+ 1.215 19.9% 20.8%,
415
+ 1.199,
416
+ 1.165 25%,
417
+ 1.056 30.3%,
418
+ 1.008 33%,
419
+ 0.973,
420
+ 0.955 39.2%,
421
+ 0.953 41.1%,
422
+ 0.957 43.3%,
423
+ 0.998 53.3%,
424
+ 1.009 59.1% 63.7%,
425
+ 0.998 78.9%,
426
+ 1
427
+ );
428
+ --ease-spring-5: linear(
429
+ 0,
430
+ 0.01,
431
+ 0.04 1.6%,
432
+ 0.161 3.3%,
433
+ 0.816 9.4%,
434
+ 1.046,
435
+ 1.189 14.4%,
436
+ 1.231,
437
+ 1.254 17%,
438
+ 1.259,
439
+ 1.257 18.6%,
440
+ 1.236,
441
+ 1.194 22.3%,
442
+ 1.057 27%,
443
+ 0.999 29.4%,
444
+ 0.955 32.1%,
445
+ 0.942,
446
+ 0.935 34.9%,
447
+ 0.933,
448
+ 0.939 38.4%,
449
+ 1 47.3%,
450
+ 1.011,
451
+ 1.017 52.6%,
452
+ 1.016 56.4%,
453
+ 1 65.2%,
454
+ 0.996 70.2%,
455
+ 1.001 87.2%,
456
+ 1
457
+ );
458
+ --ease-bounce-1: linear(
459
+ 0,
460
+ 0.004,
461
+ 0.016,
462
+ 0.035,
463
+ 0.063,
464
+ 0.098,
465
+ 0.141,
466
+ 0.191,
467
+ 0.25,
468
+ 0.316,
469
+ 0.391 36.8%,
470
+ 0.563,
471
+ 0.766,
472
+ 1 58.8%,
473
+ 0.946,
474
+ 0.908 69.1%,
475
+ 0.895,
476
+ 0.885,
477
+ 0.879,
478
+ 0.878,
479
+ 0.879,
480
+ 0.885,
481
+ 0.895,
482
+ 0.908 89.7%,
483
+ 0.946,
484
+ 1
485
+ );
486
+ --ease-bounce-2: linear(
487
+ 0,
488
+ 0.004,
489
+ 0.016,
490
+ 0.035,
491
+ 0.063,
492
+ 0.098,
493
+ 0.141 15.1%,
494
+ 0.25,
495
+ 0.391,
496
+ 0.562,
497
+ 0.765,
498
+ 1,
499
+ 0.892 45.2%,
500
+ 0.849,
501
+ 0.815,
502
+ 0.788,
503
+ 0.769,
504
+ 0.757,
505
+ 0.753,
506
+ 0.757,
507
+ 0.769,
508
+ 0.788,
509
+ 0.815,
510
+ 0.85,
511
+ 0.892 75.2%,
512
+ 1 80.2%,
513
+ 0.973,
514
+ 0.954,
515
+ 0.943,
516
+ 0.939,
517
+ 0.943,
518
+ 0.954,
519
+ 0.973,
520
+ 1
521
+ );
522
+ --ease-bounce-3: linear(
523
+ 0,
524
+ 0.004,
525
+ 0.016,
526
+ 0.035,
527
+ 0.062,
528
+ 0.098,
529
+ 0.141 11.4%,
530
+ 0.25,
531
+ 0.39,
532
+ 0.562,
533
+ 0.764,
534
+ 1 30.3%,
535
+ 0.847 34.8%,
536
+ 0.787,
537
+ 0.737,
538
+ 0.699,
539
+ 0.672,
540
+ 0.655,
541
+ 0.65,
542
+ 0.656,
543
+ 0.672,
544
+ 0.699,
545
+ 0.738,
546
+ 0.787,
547
+ 0.847 61.7%,
548
+ 1 66.2%,
549
+ 0.946,
550
+ 0.908,
551
+ 0.885 74.2%,
552
+ 0.879,
553
+ 0.878,
554
+ 0.879,
555
+ 0.885 79.5%,
556
+ 0.908,
557
+ 0.946,
558
+ 1 87.4%,
559
+ 0.981,
560
+ 0.968,
561
+ 0.96,
562
+ 0.957,
563
+ 0.96,
564
+ 0.968,
565
+ 0.981,
566
+ 1
567
+ );
568
+ --ease-bounce-4: linear(
569
+ 0,
570
+ 0.004,
571
+ 0.016 3%,
572
+ 0.062,
573
+ 0.141,
574
+ 0.25,
575
+ 0.391,
576
+ 0.562 18.2%,
577
+ 1 24.3%,
578
+ 0.81,
579
+ 0.676 32.3%,
580
+ 0.629,
581
+ 0.595,
582
+ 0.575,
583
+ 0.568,
584
+ 0.575,
585
+ 0.595,
586
+ 0.629,
587
+ 0.676 48.2%,
588
+ 0.811,
589
+ 1 56.2%,
590
+ 0.918,
591
+ 0.86,
592
+ 0.825,
593
+ 0.814,
594
+ 0.825,
595
+ 0.86,
596
+ 0.918,
597
+ 1 77.2%,
598
+ 0.94 80.6%,
599
+ 0.925,
600
+ 0.92,
601
+ 0.925,
602
+ 0.94 87.5%,
603
+ 1 90.9%,
604
+ 0.974,
605
+ 0.965,
606
+ 0.974,
607
+ 1
608
+ );
609
+ --ease-bounce-5: linear(
610
+ 0,
611
+ 0.004,
612
+ 0.016 2.5%,
613
+ 0.063,
614
+ 0.141,
615
+ 0.25 10.1%,
616
+ 0.562,
617
+ 1 20.2%,
618
+ 0.783,
619
+ 0.627,
620
+ 0.534 30.9%,
621
+ 0.511,
622
+ 0.503,
623
+ 0.511,
624
+ 0.534 38%,
625
+ 0.627,
626
+ 0.782,
627
+ 1 48.7%,
628
+ 0.892,
629
+ 0.815,
630
+ 0.769 56.3%,
631
+ 0.757,
632
+ 0.753,
633
+ 0.757,
634
+ 0.769 61.3%,
635
+ 0.815,
636
+ 0.892,
637
+ 1 68.8%,
638
+ 0.908 72.4%,
639
+ 0.885,
640
+ 0.878,
641
+ 0.885,
642
+ 0.908 79.4%,
643
+ 1 83%,
644
+ 0.954 85.5%,
645
+ 0.943,
646
+ 0.939,
647
+ 0.943,
648
+ 0.954 90.5%,
649
+ 1 93%,
650
+ 0.977,
651
+ 0.97,
652
+ 0.977,
653
+ 1
654
+ );
655
+ --ease-circ-in: cubic-bezier(0.6, 0.04, 0.98, 0.335);
656
+ --ease-circ-in-out: cubic-bezier(0.785, 0.135, 0.15, 0.86);
657
+ --ease-circ-out: cubic-bezier(0.075, 0.82, 0.165, 1);
658
+ --ease-cubic-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
659
+ --ease-cubic-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
660
+ --ease-cubic-out: cubic-bezier(0.215, 0.61, 0.355, 1);
661
+ --ease-expo-in: cubic-bezier(0.95, 0.05, 0.795, 0.035);
662
+ --ease-expo-in-out: cubic-bezier(1, 0, 0, 1);
663
+ --ease-expo-out: cubic-bezier(0.19, 1, 0.22, 1);
664
+ --ease-quad-in: cubic-bezier(0.55, 0.085, 0.68, 0.53);
665
+ --ease-quad-in-out: cubic-bezier(0.455, 0.03, 0.515, 0.955);
666
+ --ease-quad-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
667
+ --ease-quart-in: cubic-bezier(0.895, 0.03, 0.685, 0.22);
668
+ --ease-quart-in-out: cubic-bezier(0.77, 0, 0.175, 1);
669
+ --ease-quart-out: cubic-bezier(0.165, 0.84, 0.44, 1);
670
+ --ease-quint-in: cubic-bezier(0.755, 0.05, 0.855, 0.06);
671
+ --ease-quint-in-out: cubic-bezier(0.86, 0, 0.07, 1);
672
+ --ease-quint-out: cubic-bezier(0.23, 1, 0.32, 1);
673
+ --ease-sine-in: cubic-bezier(0.47, 0, 0.745, 0.715);
674
+ --ease-sine-in-out: cubic-bezier(0.445, 0.05, 0.55, 0.95);
675
+ --ease-sine-out: cubic-bezier(0.39, 0.575, 0.565, 1);
676
+ }
677
+ }
678
+ /* MEDIA OS */
679
+ /* MEDIA ORIENTATION */
680
+ /* MEDIA WIDTH */
681
+ @layer tokens {
682
+ html {
683
+ /* FONT FAMILY */
684
+
685
+ --font-family-transitional: Charter, Bitstream Charter, Sitka Text, Cambria, serif;
686
+ --font-family-old-style: Iowan Old Style, Palatino Linotype, URW Palladio L, P052, serif;
687
+ --font-family-humanist: Seravek, Gill Sans Nova, Ubuntu, Calibri, DejaVu Sans, source-sans-pro, sans-serif;
688
+ --font-family-geometric-humanist: Avenir, Montserrat, Corbel, URW Gothic, source-sans-pro, sans-serif;
689
+ --font-family-classical-humanist: Optima, Candara, Noto Sans, source-sans-pro, sans-serif;
690
+ --font-family-neo-grotesque: Inter, Roboto, Helvetica Neue, Arial Nova, Nimbus Sans, Arial, sans-serif;
691
+ --font-family-monospace-slab-serif: Nimbus Mono PS, Courier New, monospace;
692
+ --font-family-monospace-code:
693
+ Dank Mono, Operator Mono, Inconsolata, Fira Mono, ui-monospace, SF Mono, Monaco, Droid Sans Mono, Source Code Pro, Cascadia Code, Menlo, Consolas, DejaVu Sans Mono, monospace;
694
+ --font-family-industrial:
695
+ Bahnschrift, DIN Alternate, Franklin Gothic Medium, Nimbus Sans Narrow, sans-serif-condensed, sans-serif;
696
+ --font-family-rounded-sans:
697
+ ui-rounded, Hiragino Maru Gothic ProN, Quicksand, Comfortaa, Manjari, Arial Rounded MT, Arial Rounded MT Bold, Calibri, source-sans-pro, sans-serif;
698
+ --font-family-slab-serif: Rockwell, Rockwell Nova, Roboto Slab, DejaVu Serif, Sitka Small, serif;
699
+ --font-family-antique:
700
+ Superclarendon, Bookman Old Style, URW Bookman, URW Bookman L, Georgia Pro, Georgia, serif;
701
+ --font-family-didone: Didot, Bodoni MT, Noto Serif Display, URW Palladio L, P052, Sylfaen, serif;
702
+ --font-family-handwritten: Segoe Print, Bradley Hand, Chilanka, TSCu_Comic, casual, cursive;
703
+
704
+ --font-family-sans: system-ui, sans-serif;
705
+ --font-family-serif: ui-serif, serif;
706
+ --font-family-mono: var(--font-family-monospace-code);
707
+
708
+ /* FONT WEIGHT */
709
+
710
+ --font-weight-light: 300;
711
+ --font-weight-normal: 400;
712
+ --font-weight-semibold: 500;
713
+ --font-weight-bold: 600;
714
+
715
+ /* LINE HEIGHT */
716
+
717
+ --line-height-condensed: 1.2;
718
+ --line-height-normal: 1.5;
719
+ --line-height-expanded: 2;
720
+
721
+ /* FONT SIZE */
722
+
723
+ --font-size-scale: 1;
724
+ --font-size-smaller: round(calc(1em / 1.125), 1px);
725
+ --font-size-larger: round(calc(1em * 1.125 * 1.125), 1px);
726
+
727
+ /* Font sizes use a ratio of 1.125 to scale sizes proportionally.
728
+ * For larger font sizes, each size is twice 1.125x larger to maximize impact.
729
+ */
730
+ --font-size-2xs: round(calc(var(--font-size-xs) / 1.125), 1px); /* 11px */
731
+ --font-size-xs: round(calc(var(--font-size-s) / 1.125), 1px); /* 12px */
732
+ --font-size-s: round(calc(var(--font-size-m) / 1.125), 1px); /* 14px */
733
+ --font-size-m: calc(1rem * var(--font-size-scale)); /* 16px */
734
+ --font-size-l: round(calc(var(--font-size-m) * 1.125 * 1.125), 1px); /* 20px */
735
+ --font-size-xl: round(calc(var(--font-size-l) * 1.125 * 1.125), 1px); /* 25px */
736
+ --font-size-2xl: round(calc(var(--font-size-xl) * 1.125 * 1.125), 1px); /* 32px */
737
+ --font-size-3xl: round(calc(var(--font-size-2xl) * 1.125 * 1.125), 1px); /* 41px */
738
+ --font-size-4xl: round(calc(var(--font-size-3xl) * 1.125 * 1.125), 1px); /* 52px */
739
+
740
+ /**
741
+ * The dynamic font sizes for headings (2xl, 3xl, 4xl) match their static counterparts by default.
742
+ * On larger screens, they scale up further for more visual impact (see @media --lg-above below).
743
+ */
744
+
745
+ --font-size-dynamic-2xs: var(--font-size-2xs); /* 11px */
746
+ --font-size-dynamic-xs: var(--font-size-xs); /* 12px */
747
+ --font-size-dynamic-s: var(--font-size-s); /* 14px */
748
+ --font-size-dynamic-m: var(--font-size-m); /* 16px */
749
+ --font-size-dynamic-l: var(--font-size-l); /* 20px */
750
+ --font-size-dynamic-xl: var(--font-size-xl); /* 25px */
751
+ --font-size-dynamic-2xl: var(--font-size-2xl); /* 32px */
752
+ --font-size-dynamic-3xl: var(--font-size-3xl); /* 41px */
753
+ --font-size-dynamic-4xl: var(--font-size-4xl); /* 52px */
754
+ }
755
+
756
+ @media (width >= 1024px) {
757
+ html {
758
+ --font-size-dynamic-2xl: round(calc(var(--font-size-xl) * 1.125 * 1.125 * 1.125), 1px);
759
+ --font-size-dynamic-3xl: round(calc(var(--font-size-2xl) * 1.125 * 1.125 * 1.125), 1px);
760
+ --font-size-dynamic-4xl: round(calc(var(--font-size-3xl) * 1.125 * 1.125 * 1.125), 1px);
761
+ }
762
+ }
763
+ }
764
+ @layer tokens {
765
+ html {
766
+ /* MASK CORNER CUT CIRCLES */
767
+
768
+ --mask-corner-cut-circles-1: radial-gradient(1rem at 1rem 1rem, #0000 99%, #000) -1rem -1rem;
769
+ --mask-corner-cut-circles-2: radial-gradient(2rem at 2rem 2rem, #0000 99%, #000) -2rem -2rem;
770
+ --mask-corner-cut-circles-3: radial-gradient(4rem at 4rem 4rem, #0000 99%, #000) -4rem -4rem;
771
+
772
+ /* MASK CORNER CUT SQUARES */
773
+
774
+ --mask-corner-cut-squares-1: conic-gradient(at calc(2 * 1rem) calc(2 * 1rem), #000 75%, #0000 0) -1rem -1rem;
775
+ --mask-corner-cut-squares-2: conic-gradient(at calc(2 * 2rem) calc(2 * 2rem), #000 75%, #0000 0) -2rem -2rem;
776
+ --mask-corner-cut-squares-3: conic-gradient(at calc(2 * 4rem) calc(2 * 4rem), #000 75%, #0000 0) -4rem -4rem;
777
+
778
+ /* MASK CORNER CUT ANGLES */
779
+
780
+ --mask-corner-cut-angles-1:
781
+ conic-gradient(from -45deg at 1rem 1rem, #0000 25%, #000 0) -1rem 0 / 100% 51% repeat-x,
782
+ conic-gradient(from 135deg at 1rem calc(100% - 1rem), #0000 25%, #000 0) -1rem 100% / 100% 51% repeat-x;
783
+ --mask-corner-cut-angles-2:
784
+ conic-gradient(from -45deg at 2rem 2rem, #0000 25%, #000 0) -2rem 0 / 100% 51% repeat-x,
785
+ conic-gradient(from 135deg at 2rem calc(100% - 2rem), #0000 25%, #000 0) -2rem 100% / 100% 51% repeat-x;
786
+ --mask-corner-cut-angles-3:
787
+ conic-gradient(from -45deg at 4rem 4rem, #0000 25%, #000 0) -4rem 0 / 100% 51% repeat-x,
788
+ conic-gradient(from 135deg at 4rem calc(100% - 4rem), #0000 25%, #000 0) -4rem 100% / 100% 51% repeat-x;
789
+ }
790
+ }
791
+ @layer tokens {
792
+ html {
793
+ /* MASK EDGE SCOOP */
794
+
795
+ --mask-edge-scoop-bottom: radial-gradient(20px at 50% 100%, #0000 97%, #000) 50% / calc(1.9 * 20px) 100%;
796
+ --mask-edge-scoop-top: radial-gradient(20px at 50% 0, #0000 97%, #000) 50% / calc(1.9 * 20px) 100%;
797
+ --mask-edge-scoop-vertical:
798
+ radial-gradient(20px at 50% 20px, #0000 97%, #000) 50% -20px / calc(1.9 * 20px) 100%;
799
+ --mask-edge-scoop-left: radial-gradient(20px at 0 50%, #0000 97%, #000) 50% / 100% calc(1.9 * 20px);
800
+ --mask-edge-scoop-right: radial-gradient(20px at 100% 50%, #0000 97%, #000) 50% / 100% calc(1.9 * 20px);
801
+ --mask-edge-scoop-horizontal: radial-gradient(20px at 20px 50%, #0000 97%, #000) -20px / 100% calc(1.9 * 20px);
802
+
803
+ /* MASK EDGE SCOOP */
804
+
805
+ --mask-edge-scalloped:
806
+ radial-gradient(farthest-side, #000 97%, #0000) 0 0 / 20px 20px round, linear-gradient(#000 0 0) 50% /
807
+ calc(100% - 20px) calc(100% - 20px) no-repeat;
808
+ --mask-edge-scalloped-bottom:
809
+ linear-gradient(to top, #0000 20px, #000 0), radial-gradient(20px at top, #000 97%, #0000) bottom /
810
+ calc(1.9 * 20px) 20px;
811
+ --mask-edge-scalloped-top:
812
+ linear-gradient(to bottom, #0000 20px, #000 0), radial-gradient(20px at bottom, #000 97%, #0000) top /
813
+ calc(1.9 * 20px) 20px;
814
+ --mask-edge-scalloped-vertical:
815
+ linear-gradient(0deg, #0000 calc(2 * 20px), #000 0) 0 20px, radial-gradient(20px, #000 97%, #0000) 50% /
816
+ calc(1.9 * 20px) calc(2 * 20px) repeat space;
817
+ --mask-edge-scalloped-left:
818
+ linear-gradient(to right, #0000 20px, #000 0), radial-gradient(20px at right, #000 97%, #0000) left / 20px
819
+ calc(1.9 * 20px);
820
+ --mask-edge-scalloped-right:
821
+ linear-gradient(to left, #0000 20px, #000 0), radial-gradient(20px at left, #000 97%, #0000) right / 20px
822
+ calc(1.9 * 20px);
823
+ --mask-edge-scalloped-horizontal:
824
+ linear-gradient(-90deg, #0000 calc(2 * 20px), #000 0) 20px, radial-gradient(20px, #000 97%, #0000) 50% /
825
+ calc(2 * 20px) calc(1.9 * 20px) space repeat;
826
+
827
+ /* MASK EDGE DRIP */
828
+
829
+ --mask-edge-drip-bottom:
830
+ radial-gradient(20px at bottom, #0000 97%, #000) 50% calc(100% - 20px) / calc(2 * 20px) 100% repeat-x,
831
+ radial-gradient(20px at 25% 50%, #000 97%, #0000) calc(50% - 20px) 99% / calc(4 * 20px) calc(2 * 20px)
832
+ repeat-x;
833
+ --mask-edge-drip-top:
834
+ radial-gradient(20px at top, #0000 97%, #000) 50% 20px / calc(2 * 20px) 100% repeat-x,
835
+ radial-gradient(20px at 25% 50%, #000 97%, #0000) calc(50% - 20px) 1% / calc(4 * 20px) calc(2 * 20px)
836
+ repeat-x;
837
+ --mask-edge-drip-vertical:
838
+ radial-gradient(20px at top, #0000 97%, #000) 50% 20px / calc(2 * 20px) 51% repeat-x,
839
+ radial-gradient(20px at bottom, #0000 97%, #000) 50% calc(100% - 20px) / calc(2 * 20px) 51% repeat-x,
840
+ radial-gradient(20px at 25% 50%, #000 97%, #0000) calc(50% - 20px) 1% / calc(4 * 20px) calc(2 * 20px) repeat-x,
841
+ radial-gradient(20px at 25% 50%, #000 97%, #0000) calc(50% - 3 * 20px) 99% / calc(4 * 20px) calc(2 * 20px) repeat-x;
842
+ --mask-edge-drip-left:
843
+ radial-gradient(20px at left, #0000 97%, #000) 20px 50% / 100% calc(2 * 20px) repeat-y,
844
+ radial-gradient(20px at 50% 25%, #000 97%, #0000) 1% calc(50% - 20px) / calc(2 * 20px) calc(4 * 20px)
845
+ repeat-y;
846
+ --mask-edge-drip-right:
847
+ radial-gradient(20px at right, #0000 97%, #000) calc(100% - 20px) 50% / 100% calc(2 * 20px) repeat-y,
848
+ radial-gradient(20px at 50% 25%, #000 97%, #0000) 99% calc(50% - 20px) / calc(2 * 20px) calc(4 * 20px)
849
+ repeat-y;
850
+ --mask-edge-drip-horizontal:
851
+ radial-gradient(20px at left, #0000 97%, #000) 20px 50% / 51% calc(2 * 20px) repeat-y,
852
+ radial-gradient(20px at right, #0000 97%, #000) calc(100% - 20px) 50% / 51% calc(2 * 20px) repeat-y,
853
+ radial-gradient(20px at 50% 25%, #000 97%, #0000) 1% calc(50% - 20px) / calc(2 * 20px) calc(4 * 20px) repeat-y,
854
+ radial-gradient(20px at 50% 25%, #000 97%, #0000) 99% calc(50% - 3 * 20px) / calc(2 * 20px) calc(4 * 20px) repeat-y;
855
+
856
+ /* MASK EDGE ZIG-ZAG */
857
+
858
+ --mask-edge-zig-zag-top:
859
+ conic-gradient(from 135deg at top, #0000, #000 1deg 90deg, #0000 91deg) 50% / 40px 100%;
860
+ --mask-edge-zig-zag-bottom:
861
+ conic-gradient(from -45deg at bottom, #0000, #000 1deg 90deg, #0000 91deg) 50% / 40px 100%;
862
+ --mask-edge-zig-zag-left:
863
+ conic-gradient(from 45deg at left, #0000, #000 1deg 90deg, #0000 91deg) 50% / 100% 40px;
864
+ --mask-edge-zig-zag-right:
865
+ conic-gradient(from -135deg at right, #0000, #000 1deg 90deg, #0000 91deg 180deg) 50% / 100% 40px;
866
+ --mask-edge-zig-zag-horizontal:
867
+ repeating-conic-gradient(from 45deg at 20px 50%, #0000, #000 1deg 90deg, #0000 91deg 180deg) -20px 50% /
868
+ 100% 40px;
869
+ --mask-edge-zig-zag-vertical:
870
+ repeating-conic-gradient(from 135deg at 50% 20px, #0000, #000 1deg 90deg, #0000 91deg 180deg) 50% -20px /
871
+ 40px 100%;
872
+ }
873
+ }
874
+ @layer tokens {
875
+ html {
876
+ /* SHADOW OFFSET X */
877
+
878
+ --shadow-offset-x-scale: 0;
879
+ --shadow-offset-x-s: calc(var(--shadow-offset-x-scale) * 0.125rem);
880
+ --shadow-offset-x-m: calc(var(--shadow-offset-x-scale) * 0.25rem);
881
+ --shadow-offset-x-l: calc(var(--shadow-offset-x-scale) * 0.5rem);
882
+
883
+ /* SHADOW OFFSET Y */
884
+
885
+ --shadow-offset-y-scale: 1;
886
+ --shadow-offset-y-s: calc(var(--shadow-offset-y-scale) * 0.125rem);
887
+ --shadow-offset-y-m: calc(var(--shadow-offset-y-scale) * 0.25rem);
888
+ --shadow-offset-y-l: calc(var(--shadow-offset-y-scale) * 0.5rem);
889
+
890
+ /* SHADOW BLUR */
891
+
892
+ --shadow-blur-scale: 1;
893
+ --shadow-blur-s: calc(var(--shadow-blur-scale) * 0.125rem);
894
+ --shadow-blur-m: calc(var(--shadow-blur-scale) * 0.25rem);
895
+ --shadow-blur-l: calc(var(--shadow-blur-scale) * 0.5rem);
896
+
897
+ /* SHADOW SPREAD */
898
+
899
+ --shadow-spread-scale: -0.5;
900
+ --shadow-spread-s: calc(var(--shadow-spread-scale) * 0.125rem);
901
+ --shadow-spread-m: calc(var(--shadow-spread-scale) * 0.25rem);
902
+ --shadow-spread-l: calc(var(--shadow-spread-scale) * 0.5rem);
903
+
904
+ /* SHADOW COLOR */
905
+
906
+ --color-shadow: color-mix(
907
+ in oklab,
908
+ var(--color-neutral-5) calc(var(--shadow-blur-scale) * 4% + 8%),
909
+ transparent
910
+ );
911
+
912
+ --shadow-s: var(--shadow-offset-x-s) var(--shadow-offset-y-s) var(--shadow-blur-s) var(--shadow-spread-s)
913
+ var(--color-shadow);
914
+ --shadow-m: var(--shadow-offset-x-m) var(--shadow-offset-y-m) var(--shadow-blur-m) var(--shadow-spread-m)
915
+ var(--color-shadow);
916
+ --shadow-l: var(--shadow-offset-x-l) var(--shadow-offset-y-l) var(--shadow-blur-l) var(--shadow-spread-l)
917
+ var(--color-shadow);
918
+ }
919
+ }
920
+ @layer tokens {
921
+ html {
922
+ /* SPACE SCALE */
923
+
924
+ --space-scale: 1;
925
+
926
+ --space-3xs: calc(var(--space-scale) * 0.125rem); /* 2px */
927
+ --space-2xs: calc(var(--space-scale) * 0.25rem); /* 4px */
928
+ --space-xs: calc(var(--space-scale) * 0.5rem); /* 8px */
929
+ --space-s: calc(var(--space-scale) * 0.75rem); /* 12px */
930
+ --space-m: calc(var(--space-scale) * 1rem); /* 16px */
931
+ --space-l: calc(var(--space-scale) * 1.5rem); /* 24px */
932
+ --space-xl: calc(var(--space-scale) * 2rem); /* 32px */
933
+ --space-2xl: calc(var(--space-scale) * 2.5rem); /* 40px */
934
+ --space-3xl: calc(var(--space-scale) * 3rem); /* 48px */
935
+ --space-4xl: calc(var(--space-scale) * 4rem); /* 64px */
936
+
937
+ /* DYNAMIC SPACE */
938
+
939
+ --space-dynamic-3xs: var(--space-3xs);
940
+ --space-dynamic-2xs: var(--space-2xs);
941
+ --space-dynamic-xs: var(--space-xs);
942
+ --space-dynamic-s: var(--space-s);
943
+ --space-dynamic-m: var(--space-m);
944
+ --space-dynamic-l: var(--space-l);
945
+ --space-dynamic-xl: var(--space-xl);
946
+ --space-dynamic-2xl: var(--space-2xl);
947
+ --space-dynamic-3xl: var(--space-3xl);
948
+ --space-dynamic-4xl: var(--space-4xl);
949
+ }
950
+
951
+ @media (width < 768px) {
952
+ html {
953
+ --space-dynamic-2xs: var(--space-3xs);
954
+ --space-dynamic-xs: var(--space-2xs);
955
+ --space-dynamic-s: var(--space-xs);
956
+ --space-dynamic-m: var(--space-s);
957
+ --space-dynamic-l: var(--space-m);
958
+ --space-dynamic-xl: var(--space-l);
959
+ --space-dynamic-2xl: var(--space-xl);
960
+ --space-dynamic-3xl: var(--space-2xl);
961
+ --space-dynamic-4xl: var(--space-3xl);
962
+ }
963
+ }
964
+
965
+ @media (width >= 1440px) {
966
+ html {
967
+ --space-dynamic-3xs: var(--space-2xs);
968
+ --space-dynamic-2xs: var(--space-xs);
969
+ --space-dynamic-xs: var(--space-s);
970
+ --space-dynamic-s: var(--space-m);
971
+ --space-dynamic-m: var(--space-l);
972
+ --space-dynamic-l: var(--space-xl);
973
+ --space-dynamic-xl: var(--space-2xl);
974
+ --space-dynamic-2xl: var(--space-3xl);
975
+ --space-dynamic-3xl: var(--space-4xl);
976
+ }
977
+ }
978
+ }
979
+ @layer tokens {
980
+ html {
981
+ /* Z-INDEX LAYER */
982
+
983
+ --layer-1: 1;
984
+ --layer-2: 2;
985
+ --layer-3: 3;
986
+ --layer-4: 4;
987
+ --layer-5: 5;
988
+
989
+ --layer-important: 2147483647;
990
+ }
991
+ }
992
+ @layer tokens {
993
+ html {
994
+ /* LUMINANCE SCALE */
995
+
996
+ --color-lum-0: 0.98;
997
+ --color-lum-1: 0.95;
998
+ --color-lum-2: 0.92;
999
+ --color-lum-3: 0.86;
1000
+ --color-lum-4: 0.78;
1001
+ --color-lum-5: 0.65;
1002
+ --color-lum-6: 0.5;
1003
+ --color-lum-7: 0.4;
1004
+ --color-lum-8: 0.3;
1005
+ --color-lum-9: 0.23;
1006
+ --color-lum-10: 0.18;
1007
+
1008
+ --color-lum-light: var(--color-lum-3);
1009
+ --color-lum-middle: var(--color-lum-5);
1010
+ --color-lum-dark: var(--color-lum-7);
1011
+
1012
+ /* MIX PARAMETERS */
1013
+
1014
+ --color-mix-light-white-0: 15%;
1015
+ --color-mix-light-white-1: 30%;
1016
+ --color-mix-light-white-2: 60%;
1017
+
1018
+ --color-mix-dark-black-8: 85%;
1019
+ --color-mix-dark-black-9: 65%;
1020
+ --color-mix-dark-black-10: 45%;
1021
+
1022
+ /* NEUTRAL SCALE */
1023
+
1024
+ --color-neutral-3: oklch(from var(--color-neutral) var(--color-lum-3) c h);
1025
+ --color-neutral-4: oklch(from var(--color-neutral) var(--color-lum-4) c h);
1026
+ --color-neutral-5: oklch(from var(--color-neutral) var(--color-lum-5) c h);
1027
+ --color-neutral-6: oklch(from var(--color-neutral) var(--color-lum-6) c h);
1028
+ --color-neutral-7: oklch(from var(--color-neutral) var(--color-lum-7) c h);
1029
+
1030
+ --color-neutral-0: color-mix(in oklch, var(--color-neutral-3) var(--color-mix-light-white-0), white);
1031
+ --color-neutral-1: color-mix(in oklch, var(--color-neutral-3) var(--color-mix-light-white-1), white);
1032
+ --color-neutral-2: color-mix(in oklch, var(--color-neutral-3) var(--color-mix-light-white-2), white);
1033
+
1034
+ --color-neutral-8: color-mix(in oklch, var(--color-neutral-7) var(--color-mix-dark-black-8), black);
1035
+ --color-neutral-9: color-mix(in oklch, var(--color-neutral-7) var(--color-mix-dark-black-9), black);
1036
+ --color-neutral-10: color-mix(in oklch, var(--color-neutral-7) var(--color-mix-dark-black-10), black);
1037
+
1038
+ /* BRAND SCALE */
1039
+
1040
+ --color-brand-3: oklch(from var(--color-brand) var(--color-lum-3) c h);
1041
+ --color-brand-4: oklch(from var(--color-brand) var(--color-lum-4) c h);
1042
+ --color-brand-5: oklch(from var(--color-brand) var(--color-lum-5) c h);
1043
+ --color-brand-6: oklch(from var(--color-brand) var(--color-lum-6) c h);
1044
+ --color-brand-7: oklch(from var(--color-brand) var(--color-lum-7) c h);
1045
+
1046
+ --color-brand-0: color-mix(in oklch, var(--color-brand-3) var(--color-mix-light-white-0), white);
1047
+ --color-brand-1: color-mix(in oklch, var(--color-brand-3) var(--color-mix-light-white-1), white);
1048
+ --color-brand-2: color-mix(in oklch, var(--color-brand-3) var(--color-mix-light-white-2), white);
1049
+
1050
+ --color-brand-8: color-mix(in oklch, var(--color-brand-7) var(--color-mix-dark-black-8), black);
1051
+ --color-brand-9: color-mix(in oklch, var(--color-brand-7) var(--color-mix-dark-black-9), black);
1052
+ --color-brand-10: color-mix(in oklch, var(--color-brand-7) var(--color-mix-dark-black-10), black);
1053
+
1054
+ /* ACCENT SCALE */
1055
+
1056
+ --color-accent-3: oklch(from var(--color-accent) var(--color-lum-3) c h);
1057
+ --color-accent-4: oklch(from var(--color-accent) var(--color-lum-4) c h);
1058
+ --color-accent-5: oklch(from var(--color-accent) var(--color-lum-5) c h);
1059
+ --color-accent-6: oklch(from var(--color-accent) var(--color-lum-6) c h);
1060
+ --color-accent-7: oklch(from var(--color-accent) var(--color-lum-7) c h);
1061
+
1062
+ --color-accent-0: color-mix(in oklch, var(--color-accent-3) var(--color-mix-light-white-0), white);
1063
+ --color-accent-1: color-mix(in oklch, var(--color-accent-3) var(--color-mix-light-white-1), white);
1064
+ --color-accent-2: color-mix(in oklch, var(--color-accent-3) var(--color-mix-light-white-2), white);
1065
+
1066
+ --color-accent-8: color-mix(in oklch, var(--color-accent-7) var(--color-mix-dark-black-8), black);
1067
+ --color-accent-9: color-mix(in oklch, var(--color-accent-7) var(--color-mix-dark-black-9), black);
1068
+ --color-accent-10: color-mix(in oklch, var(--color-accent-7) var(--color-mix-dark-black-10), black);
1069
+
1070
+ /* DANGER SCALE */
1071
+
1072
+ --color-danger-3: oklch(from var(--color-danger) var(--color-lum-3) c h);
1073
+ --color-danger-4: oklch(from var(--color-danger) var(--color-lum-4) c h);
1074
+ --color-danger-5: oklch(from var(--color-danger) var(--color-lum-5) c h);
1075
+ --color-danger-6: oklch(from var(--color-danger) var(--color-lum-6) c h);
1076
+ --color-danger-7: oklch(from var(--color-danger) var(--color-lum-7) c h);
1077
+
1078
+ --color-danger-0: color-mix(in oklch, var(--color-danger-3) var(--color-mix-light-white-0), white);
1079
+ --color-danger-1: color-mix(in oklch, var(--color-danger-3) var(--color-mix-light-white-1), white);
1080
+ --color-danger-2: color-mix(in oklch, var(--color-danger-3) var(--color-mix-light-white-2), white);
1081
+
1082
+ --color-danger-8: color-mix(in oklch, var(--color-danger-7) var(--color-mix-dark-black-8), black);
1083
+ --color-danger-9: color-mix(in oklch, var(--color-danger-7) var(--color-mix-dark-black-9), black);
1084
+ --color-danger-10: color-mix(in oklch, var(--color-danger-7) var(--color-mix-dark-black-10), black);
1085
+ }
1086
+ }
1087
+ @layer tokens {
1088
+ .light {
1089
+ /* BASE */
1090
+
1091
+ /* TODO: remove color-surface */
1092
+ --color-surface: white;
1093
+ --color-text: black;
1094
+ --color-text-inverted: white;
1095
+
1096
+ --color-surface-clear: white;
1097
+
1098
+ /* NEUTRAL */
1099
+
1100
+ --color-neutral-surface-subtle: var(--color-neutral-0);
1101
+ --color-neutral-surface-soft: var(--color-neutral-1);
1102
+ --color-neutral-surface-muted: var(--color-neutral-2);
1103
+ --color-neutral-surface-base: var(--color-neutral-3);
1104
+ --color-neutral-surface-strong: var(--color-neutral-4);
1105
+ --color-neutral-surface-deep: var(--color-neutral-5);
1106
+
1107
+ --color-neutral-text-subtle: var(--color-neutral-5);
1108
+ --color-neutral-text-soft: var(--color-neutral-6);
1109
+ --color-neutral-text-muted: var(--color-neutral-7);
1110
+ --color-neutral-text-base: var(--color-neutral-8);
1111
+ --color-neutral-text-strong: var(--color-neutral-9);
1112
+ --color-neutral-text-deep: var(--color-neutral-10);
1113
+
1114
+ /* DANGER */
1115
+
1116
+ --color-danger-surface-subtle: var(--color-danger-0);
1117
+ --color-danger-surface-soft: var(--color-danger-1);
1118
+ --color-danger-surface-muted: var(--color-danger-2);
1119
+ --color-danger-surface-base: var(--color-danger-3);
1120
+ --color-danger-surface-strong: var(--color-danger-4);
1121
+ --color-danger-surface-deep: var(--color-danger-5);
1122
+
1123
+ --color-danger-text-subtle: var(--color-danger-5);
1124
+ --color-danger-text-soft: var(--color-danger-6);
1125
+ --color-danger-text-muted: var(--color-danger-7);
1126
+ --color-danger-text-base: var(--color-danger-8);
1127
+ --color-danger-text-strong: var(--color-danger-9);
1128
+ --color-danger-text-deep: var(--color-danger-10);
1129
+
1130
+ /* BRAND */
1131
+
1132
+ --color-brand-surface-subtle: var(--color-brand-0);
1133
+ --color-brand-surface-soft: var(--color-brand-1);
1134
+ --color-brand-surface-muted: var(--color-brand-2);
1135
+ --color-brand-surface-base: var(--color-brand-3);
1136
+ --color-brand-surface-strong: var(--color-brand-4);
1137
+ --color-brand-surface-deep: var(--color-brand-5);
1138
+
1139
+ --color-brand-text-subtle: var(--color-brand-5);
1140
+ --color-brand-text-soft: var(--color-brand-6);
1141
+ --color-brand-text-muted: var(--color-brand-7);
1142
+ --color-brand-text-base: var(--color-brand-8);
1143
+ --color-brand-text-strong: var(--color-brand-9);
1144
+ --color-brand-text-deep: var(--color-brand-10);
1145
+
1146
+ /* ACCENT*/
1147
+
1148
+ --color-accent-surface-subtle: var(--color-accent-0);
1149
+ --color-accent-surface-soft: var(--color-accent-1);
1150
+ --color-accent-surface-muted: var(--color-accent-2);
1151
+ --color-accent-surface-base: var(--color-accent-3);
1152
+ --color-accent-surface-strong: var(--color-accent-4);
1153
+ --color-accent-surface-deep: var(--color-accent-5);
1154
+
1155
+ --color-accent-text-subtle: var(--color-accent-5);
1156
+ --color-accent-text-soft: var(--color-accent-6);
1157
+ --color-accent-text-muted: var(--color-accent-7);
1158
+ --color-accent-text-base: var(--color-accent-8);
1159
+ --color-accent-text-strong: var(--color-accent-9);
1160
+ --color-accent-text-deep: var(--color-accent-10);
1161
+ }
1162
+
1163
+ .dark {
1164
+ /* BASE */
1165
+
1166
+ /* TODO: remove color-surface */
1167
+ --color-surface: black;
1168
+ --color-text: white;
1169
+ --color-text-inverted: black;
1170
+
1171
+ --color-surface-clear: black;
1172
+
1173
+ /* NEUTRAL */
1174
+
1175
+ --color-neutral-surface-subtle: var(--color-neutral-10);
1176
+ --color-neutral-surface-soft: var(--color-neutral-9);
1177
+ --color-neutral-surface-muted: var(--color-neutral-8);
1178
+ --color-neutral-surface-base: var(--color-neutral-7);
1179
+ --color-neutral-surface-strong: var(--color-neutral-6);
1180
+ --color-neutral-surface-deep: var(--color-neutral-5);
1181
+
1182
+ --color-neutral-text-subtle: var(--color-neutral-5);
1183
+ --color-neutral-text-soft: var(--color-neutral-4);
1184
+ --color-neutral-text-muted: var(--color-neutral-3);
1185
+ --color-neutral-text-base: var(--color-neutral-2);
1186
+ --color-neutral-text-strong: var(--color-neutral-1);
1187
+ --color-neutral-text-deep: var(--color-neutral-0);
1188
+
1189
+ /* DANGER */
1190
+
1191
+ --color-danger-surface-subtle: var(--color-danger-10);
1192
+ --color-danger-surface-soft: var(--color-danger-9);
1193
+ --color-danger-surface-muted: var(--color-danger-8);
1194
+ --color-danger-surface-base: var(--color-danger-7);
1195
+ --color-danger-surface-strong: var(--color-danger-6);
1196
+ --color-danger-surface-deep: var(--color-danger-5);
1197
+
1198
+ --color-danger-text-subtle: var(--color-danger-5);
1199
+ --color-danger-text-soft: var(--color-danger-4);
1200
+ --color-danger-text-muted: var(--color-danger-3);
1201
+ --color-danger-text-base: var(--color-danger-2);
1202
+ --color-danger-text-strong: var(--color-danger-1);
1203
+ --color-danger-text-deep: var(--color-danger-0);
1204
+
1205
+ /* BRAND */
1206
+
1207
+ --color-brand-surface-subtle: var(--color-brand-10);
1208
+ --color-brand-surface-soft: var(--color-brand-9);
1209
+ --color-brand-surface-muted: var(--color-brand-8);
1210
+ --color-brand-surface-base: var(--color-brand-7);
1211
+ --color-brand-surface-strong: var(--color-brand-6);
1212
+ --color-brand-surface-deep: var(--color-brand-5);
1213
+
1214
+ --color-brand-text-subtle: var(--color-brand-5);
1215
+ --color-brand-text-soft: var(--color-brand-4);
1216
+ --color-brand-text-muted: var(--color-brand-3);
1217
+ --color-brand-text-base: var(--color-brand-2);
1218
+ --color-brand-text-strong: var(--color-brand-1);
1219
+ --color-brand-text-deep: var(--color-brand-0);
1220
+
1221
+ /* ACCENT */
1222
+
1223
+ --color-accent-surface-subtle: var(--color-accent-10);
1224
+ --color-accent-surface-soft: var(--color-accent-9);
1225
+ --color-accent-surface-muted: var(--color-accent-8);
1226
+ --color-accent-surface-base: var(--color-accent-7);
1227
+ --color-accent-surface-strong: var(--color-accent-6);
1228
+ --color-accent-surface-deep: var(--color-accent-5);
1229
+
1230
+ --color-accent-text-subtle: var(--color-accent-5);
1231
+ --color-accent-text-soft: var(--color-accent-4);
1232
+ --color-accent-text-muted: var(--color-accent-3);
1233
+ --color-accent-text-base: var(--color-accent-2);
1234
+ --color-accent-text-strong: var(--color-accent-1);
1235
+ --color-accent-text-deep: var(--color-accent-0);
1236
+ }
1237
+ }
1238
+ @layer tokens {
1239
+ html {
1240
+ /* WIDTH SCALE */
1241
+
1242
+ --width-xs: 200px;
1243
+ --width-s: 300px;
1244
+ --width-m: 400px;
1245
+ --width-l: 500px;
1246
+ --width-xl: 600px;
1247
+ --width-2xl: 800px;
1248
+
1249
+ /* HEIGHT SCALE */
1250
+
1251
+ --height-s: 30vh;
1252
+ --height-m: 50vh;
1253
+ --height-l: 70vh;
1254
+ --height-full: 100vh;
1255
+ }
1256
+ }