@nocoo/basalt 2.2.0 → 3.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 (320) hide show
  1. package/README.md +2 -0
  2. package/ai/COMPATIBILITY.md +11 -1
  3. package/ai/DESIGN.md +398 -0
  4. package/ai/INTEGRATION.md +255 -129
  5. package/ai/RECIPES.md +51 -26
  6. package/ai/USAGE.md +4 -4
  7. package/ai/registry.json +3018 -271
  8. package/dist/charts/config.d.ts +11 -11
  9. package/dist/charts/config.js +4 -4
  10. package/dist/charts/config.js.map +1 -1
  11. package/dist/charts/date-navigation.js +10 -10
  12. package/dist/charts/date-navigation.js.map +1 -1
  13. package/dist/charts/donut.js +1 -1
  14. package/dist/charts/donut.js.map +1 -1
  15. package/dist/charts/frame.d.ts +1 -1
  16. package/dist/charts/frame.js +4 -4
  17. package/dist/charts/frame.js.map +1 -1
  18. package/dist/charts/gauge.js +5 -5
  19. package/dist/charts/gauge.js.map +1 -1
  20. package/dist/charts/heatmap-calendar.js +11 -11
  21. package/dist/charts/heatmap-calendar.js.map +1 -1
  22. package/dist/charts/heatmap-matrix.js +8 -8
  23. package/dist/charts/heatmap-matrix.js.map +1 -1
  24. package/dist/charts/item-list.js +1 -1
  25. package/dist/charts/item-list.js.map +1 -1
  26. package/dist/charts/legend.js +19 -19
  27. package/dist/charts/legend.js.map +1 -1
  28. package/dist/charts/palette.js +2 -2
  29. package/dist/charts/palette.js.map +1 -1
  30. package/dist/charts/slot-bar.js +2 -2
  31. package/dist/charts/slot-bar.js.map +1 -1
  32. package/dist/charts/sparkline.js +38 -23
  33. package/dist/charts/sparkline.js.map +1 -1
  34. package/dist/charts/stat-card.d.ts +2 -2
  35. package/dist/charts/stat-card.js +61 -58
  36. package/dist/charts/stat-card.js.map +1 -1
  37. package/dist/charts/timeline.js +18 -9
  38. package/dist/charts/timeline.js.map +1 -1
  39. package/dist/charts/tooltip.js +16 -16
  40. package/dist/charts/tooltip.js.map +1 -1
  41. package/dist/components/accordion.js +1 -1
  42. package/dist/components/accordion.js.map +1 -1
  43. package/dist/components/alert-dialog.js +4 -4
  44. package/dist/components/alert-dialog.js.map +1 -1
  45. package/dist/components/app-header.js +8 -8
  46. package/dist/components/app-header.js.map +1 -1
  47. package/dist/components/app-shell.js +1 -1
  48. package/dist/components/app-shell.js.map +1 -1
  49. package/dist/components/approval-card.d.ts +13 -0
  50. package/dist/components/approval-card.js +161 -0
  51. package/dist/components/approval-card.js.map +1 -0
  52. package/dist/components/avatar.d.ts +12 -0
  53. package/dist/components/avatar.js +39 -18
  54. package/dist/components/avatar.js.map +1 -1
  55. package/dist/components/badge.js +8 -8
  56. package/dist/components/badge.js.map +1 -1
  57. package/dist/components/banner.d.ts +2 -2
  58. package/dist/components/banner.js +9 -8
  59. package/dist/components/banner.js.map +1 -1
  60. package/dist/components/basalt-mark.js +1 -1
  61. package/dist/components/basalt-mark.js.map +1 -1
  62. package/dist/components/battery-meter.js +5 -5
  63. package/dist/components/battery-meter.js.map +1 -1
  64. package/dist/components/breadcrumbs.js +6 -6
  65. package/dist/components/breadcrumbs.js.map +1 -1
  66. package/dist/components/button.js +10 -10
  67. package/dist/components/button.js.map +1 -1
  68. package/dist/components/chat-bubble.js +4 -3
  69. package/dist/components/chat-bubble.js.map +1 -1
  70. package/dist/components/chat-composer.d.ts +21 -3
  71. package/dist/components/chat-composer.js +126 -60
  72. package/dist/components/chat-composer.js.map +1 -1
  73. package/dist/components/chat-header.js +6 -6
  74. package/dist/components/chat-header.js.map +1 -1
  75. package/dist/components/chat-inbox.js +34 -30
  76. package/dist/components/chat-inbox.js.map +1 -1
  77. package/dist/components/chat-markdown.d.ts +8 -0
  78. package/dist/components/chat-markdown.js +122 -0
  79. package/dist/components/chat-markdown.js.map +1 -0
  80. package/dist/components/chat-message.d.ts +26 -0
  81. package/dist/components/chat-message.js +145 -0
  82. package/dist/components/chat-message.js.map +1 -0
  83. package/dist/components/checkbox.js +11 -11
  84. package/dist/components/checkbox.js.map +1 -1
  85. package/dist/components/clipboard-text.js +3 -3
  86. package/dist/components/clipboard-text.js.map +1 -1
  87. package/dist/components/code.d.ts +22 -20
  88. package/dist/components/code.js +94 -32
  89. package/dist/components/code.js.map +1 -1
  90. package/dist/components/collapsible.js +8 -4
  91. package/dist/components/collapsible.js.map +1 -1
  92. package/dist/components/command-palette.js +73 -47
  93. package/dist/components/command-palette.js.map +1 -1
  94. package/dist/components/context-cards.d.ts +15 -0
  95. package/dist/components/context-cards.js +148 -0
  96. package/dist/components/context-cards.js.map +1 -0
  97. package/dist/components/context-menu.d.ts +1 -1
  98. package/dist/components/context-menu.js +18 -14
  99. package/dist/components/context-menu.js.map +1 -1
  100. package/dist/components/data-table.d.ts +14 -2
  101. package/dist/components/data-table.js +185 -135
  102. package/dist/components/data-table.js.map +1 -1
  103. package/dist/components/date-picker.js +13 -13
  104. package/dist/components/date-picker.js.map +1 -1
  105. package/dist/components/delete-resource.js +1 -1
  106. package/dist/components/delete-resource.js.map +1 -1
  107. package/dist/components/description-list.js +3 -3
  108. package/dist/components/description-list.js.map +1 -1
  109. package/dist/components/dialog.d.ts +2 -2
  110. package/dist/components/dialog.js +8 -8
  111. package/dist/components/dialog.js.map +1 -1
  112. package/dist/components/diff-table.d.ts +15 -0
  113. package/dist/components/diff-table.js +151 -0
  114. package/dist/components/diff-table.js.map +1 -0
  115. package/dist/components/dock.js +2 -2
  116. package/dist/components/dock.js.map +1 -1
  117. package/dist/components/dropdown-menu.js +23 -18
  118. package/dist/components/dropdown-menu.js.map +1 -1
  119. package/dist/components/editable-nav-item.js +63 -58
  120. package/dist/components/editable-nav-item.js.map +1 -1
  121. package/dist/components/empty.js +6 -6
  122. package/dist/components/empty.js.map +1 -1
  123. package/dist/components/fab.js +1 -1
  124. package/dist/components/fab.js.map +1 -1
  125. package/dist/components/field.js +3 -3
  126. package/dist/components/field.js.map +1 -1
  127. package/dist/components/file-dropzone.js +7 -7
  128. package/dist/components/file-dropzone.js.map +1 -1
  129. package/dist/components/filter-bar.js +6 -6
  130. package/dist/components/filter-bar.js.map +1 -1
  131. package/dist/components/flow.js +4 -3
  132. package/dist/components/flow.js.map +1 -1
  133. package/dist/components/grid.d.ts +3 -1
  134. package/dist/components/grid.js +15 -8
  135. package/dist/components/grid.js.map +1 -1
  136. package/dist/components/hover-card.js +1 -1
  137. package/dist/components/hover-card.js.map +1 -1
  138. package/dist/components/icon-picker.d.ts +8 -2
  139. package/dist/components/icon-picker.js +75 -47
  140. package/dist/components/icon-picker.js.map +1 -1
  141. package/dist/components/inline-editable.js +6 -6
  142. package/dist/components/inline-editable.js.map +1 -1
  143. package/dist/components/input-area.js +3 -3
  144. package/dist/components/input-area.js.map +1 -1
  145. package/dist/components/input-group.js +5 -5
  146. package/dist/components/input-group.js.map +1 -1
  147. package/dist/components/input.js +4 -4
  148. package/dist/components/input.js.map +1 -1
  149. package/dist/components/label.js +3 -3
  150. package/dist/components/label.js.map +1 -1
  151. package/dist/components/layer-card.d.ts +9 -4
  152. package/dist/components/layer-card.js +72 -67
  153. package/dist/components/layer-card.js.map +1 -1
  154. package/dist/components/loader.d.ts +16 -10
  155. package/dist/components/loader.js +46 -53
  156. package/dist/components/loader.js.map +1 -1
  157. package/dist/components/loading-screen.js +3 -3
  158. package/dist/components/loading-screen.js.map +1 -1
  159. package/dist/components/menu-bar.js +32 -27
  160. package/dist/components/menu-bar.js.map +1 -1
  161. package/dist/components/meter.d.ts +5 -5
  162. package/dist/components/meter.js +25 -12
  163. package/dist/components/meter.js.map +1 -1
  164. package/dist/components/multi-select.js +66 -62
  165. package/dist/components/multi-select.js.map +1 -1
  166. package/dist/components/navigation-menu.d.ts +2 -2
  167. package/dist/components/navigation-menu.js +22 -8
  168. package/dist/components/navigation-menu.js.map +1 -1
  169. package/dist/components/overlay.js +2 -2
  170. package/dist/components/overlay.js.map +1 -1
  171. package/dist/components/page-header.d.ts +3 -1
  172. package/dist/components/page-header.js +12 -12
  173. package/dist/components/page-header.js.map +1 -1
  174. package/dist/components/pagination.js +3 -3
  175. package/dist/components/pagination.js.map +1 -1
  176. package/dist/components/popover.js +18 -23
  177. package/dist/components/popover.js.map +1 -1
  178. package/dist/components/prompt-bar.d.ts +16 -0
  179. package/dist/components/prompt-bar.js +49 -0
  180. package/dist/components/prompt-bar.js.map +1 -0
  181. package/dist/components/radio.js +9 -9
  182. package/dist/components/radio.js.map +1 -1
  183. package/dist/components/recommendation-card.d.ts +13 -0
  184. package/dist/components/recommendation-card.js +123 -0
  185. package/dist/components/recommendation-card.js.map +1 -0
  186. package/dist/components/resource-list.js +1 -1
  187. package/dist/components/resource-list.js.map +1 -1
  188. package/dist/components/responsive-master-detail.js +4 -4
  189. package/dist/components/responsive-master-detail.js.map +1 -1
  190. package/dist/components/scroll-area.js +3 -3
  191. package/dist/components/scroll-area.js.map +1 -1
  192. package/dist/components/section-rule.d.ts +5 -3
  193. package/dist/components/section-rule.js +12 -12
  194. package/dist/components/section-rule.js.map +1 -1
  195. package/dist/components/segment-control.js +3 -3
  196. package/dist/components/segment-control.js.map +1 -1
  197. package/dist/components/select.js +47 -32
  198. package/dist/components/select.js.map +1 -1
  199. package/dist/components/sensitive-input.js +17 -19
  200. package/dist/components/sensitive-input.js.map +1 -1
  201. package/dist/components/sheet.d.ts +4 -4
  202. package/dist/components/sheet.js +11 -10
  203. package/dist/components/sheet.js.map +1 -1
  204. package/dist/components/sidebar.js +149 -137
  205. package/dist/components/sidebar.js.map +1 -1
  206. package/dist/components/skeleton-line.d.ts +1 -1
  207. package/dist/components/skeleton-line.js +2 -2
  208. package/dist/components/skeleton-line.js.map +1 -1
  209. package/dist/components/slider.js +2 -2
  210. package/dist/components/slider.js.map +1 -1
  211. package/dist/components/stat-strip.js +5 -4
  212. package/dist/components/stat-strip.js.map +1 -1
  213. package/dist/components/switch.js +6 -6
  214. package/dist/components/switch.js.map +1 -1
  215. package/dist/components/table-of-contents.js +5 -5
  216. package/dist/components/table-of-contents.js.map +1 -1
  217. package/dist/components/table-pager.js +2 -2
  218. package/dist/components/table-pager.js.map +1 -1
  219. package/dist/components/table.d.ts +39 -2
  220. package/dist/components/table.js +48 -17
  221. package/dist/components/table.js.map +1 -1
  222. package/dist/components/tabs.js +7 -6
  223. package/dist/components/tabs.js.map +1 -1
  224. package/dist/components/tag-badge.d.ts +10 -10
  225. package/dist/components/tag-badge.js +11 -11
  226. package/dist/components/tag-badge.js.map +1 -1
  227. package/dist/components/tag-color-picker.d.ts +8 -1
  228. package/dist/components/tag-color-picker.js +33 -25
  229. package/dist/components/tag-color-picker.js.map +1 -1
  230. package/dist/components/text.js +5 -5
  231. package/dist/components/text.js.map +1 -1
  232. package/dist/components/theme-toggle.js +1 -1
  233. package/dist/components/theme-toggle.js.map +1 -1
  234. package/dist/components/thinking.d.ts +16 -0
  235. package/dist/components/thinking.js +85 -0
  236. package/dist/components/thinking.js.map +1 -0
  237. package/dist/components/toast.js +25 -20
  238. package/dist/components/toast.js.map +1 -1
  239. package/dist/components/toggle-group.js +6 -5
  240. package/dist/components/toggle-group.js.map +1 -1
  241. package/dist/components/toggle.js +6 -6
  242. package/dist/components/toggle.js.map +1 -1
  243. package/dist/components/tool-chips.d.ts +12 -0
  244. package/dist/components/tool-chips.js +138 -0
  245. package/dist/components/tool-chips.js.map +1 -0
  246. package/dist/components/toolbar.js +3 -3
  247. package/dist/components/toolbar.js.map +1 -1
  248. package/dist/components/tooltip.js +1 -1
  249. package/dist/components/tooltip.js.map +1 -1
  250. package/dist/components/typeahead-field.js +59 -56
  251. package/dist/components/typeahead-field.js.map +1 -1
  252. package/dist/components/upload-queue.js +15 -14
  253. package/dist/components/upload-queue.js.map +1 -1
  254. package/dist/models/agent-feedback.d.ts +44 -0
  255. package/dist/models/agent-feedback.js +28 -0
  256. package/dist/models/agent-feedback.js.map +1 -0
  257. package/dist/models/avatar.d.ts +2 -0
  258. package/dist/models/avatar.js +15 -0
  259. package/dist/models/avatar.js.map +1 -0
  260. package/dist/models/code.d.ts +6 -0
  261. package/dist/models/code.js +24 -0
  262. package/dist/models/code.js.map +1 -0
  263. package/dist/models/context-cards.d.ts +13 -0
  264. package/dist/models/context-cards.js +17 -0
  265. package/dist/models/context-cards.js.map +1 -0
  266. package/dist/models/diff-table.d.ts +12 -0
  267. package/dist/models/diff-table.js +9 -0
  268. package/dist/models/diff-table.js.map +1 -0
  269. package/dist/models/recommendation.d.ts +26 -0
  270. package/dist/models/recommendation.js +23 -0
  271. package/dist/models/recommendation.js.map +1 -0
  272. package/dist/styles/base.css +14 -2
  273. package/dist/styles/standalone.css +1901 -943
  274. package/dist/styles/tailwind.css +180 -13
  275. package/dist/styles/tokens.css +681 -20
  276. package/dist/utils/cn.js +25 -4
  277. package/dist/utils/cn.js.map +1 -1
  278. package/dist/utils/control-surface.d.ts +1 -1
  279. package/dist/utils/control-surface.js +1 -1
  280. package/dist/utils/control-surface.js.map +1 -1
  281. package/dist/utils/navigation.d.ts +3 -0
  282. package/dist/utils/navigation.js +8 -0
  283. package/dist/utils/navigation.js.map +1 -0
  284. package/dist/utils/selection-indicator.d.ts +1 -1
  285. package/dist/utils/selection-indicator.js +49 -72
  286. package/dist/utils/selection-indicator.js.map +1 -1
  287. package/dist/utils/use-hover-highlight.d.ts +4 -0
  288. package/dist/utils/use-hover-highlight.js +82 -0
  289. package/dist/utils/use-hover-highlight.js.map +1 -0
  290. package/dist/viewmodels/use-approval-card.d.ts +20 -0
  291. package/dist/viewmodels/use-approval-card.js +83 -0
  292. package/dist/viewmodels/use-approval-card.js.map +1 -0
  293. package/dist/viewmodels/use-chat-composer.d.ts +16 -0
  294. package/dist/viewmodels/use-chat-composer.js +34 -0
  295. package/dist/viewmodels/use-chat-composer.js.map +1 -0
  296. package/dist/viewmodels/use-chat-message.d.ts +16 -0
  297. package/dist/viewmodels/use-chat-message.js +26 -0
  298. package/dist/viewmodels/use-chat-message.js.map +1 -0
  299. package/dist/viewmodels/use-code-block.d.ts +8 -0
  300. package/dist/viewmodels/use-code-block.js +38 -0
  301. package/dist/viewmodels/use-code-block.js.map +1 -0
  302. package/dist/viewmodels/use-context-cards.d.ts +17 -0
  303. package/dist/viewmodels/use-context-cards.js +18 -0
  304. package/dist/viewmodels/use-context-cards.js.map +1 -0
  305. package/dist/viewmodels/use-diff-table.d.ts +16 -0
  306. package/dist/viewmodels/use-diff-table.js +42 -0
  307. package/dist/viewmodels/use-diff-table.js.map +1 -0
  308. package/dist/viewmodels/use-loader.d.ts +4 -0
  309. package/dist/viewmodels/use-loader.js +22 -0
  310. package/dist/viewmodels/use-loader.js.map +1 -0
  311. package/dist/viewmodels/use-recommendation-card.d.ts +17 -0
  312. package/dist/viewmodels/use-recommendation-card.js +41 -0
  313. package/dist/viewmodels/use-recommendation-card.js.map +1 -0
  314. package/dist/viewmodels/use-thinking.d.ts +13 -0
  315. package/dist/viewmodels/use-thinking.js +18 -0
  316. package/dist/viewmodels/use-thinking.js.map +1 -0
  317. package/dist/viewmodels/use-tool-chips.d.ts +10 -0
  318. package/dist/viewmodels/use-tool-chips.js +20 -0
  319. package/dist/viewmodels/use-tool-chips.js.map +1 -0
  320. package/package.json +28 -26
@@ -1,78 +1,13 @@
1
1
  /* Generated from standalone.source.css. Do not edit. */
2
2
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
3
3
  @layer properties;
4
- @layer theme, base, utilities;
4
+ @layer theme, base, components, utilities;
5
5
  @layer theme {
6
6
  :root, :host {
7
7
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
8
8
  monospace;
9
- --color-red-50: oklch(97.1% 0.013 17.38);
10
- --color-red-200: oklch(88.5% 0.062 18.334);
11
- --color-red-300: oklch(80.8% 0.114 19.571);
12
- --color-red-700: oklch(50.5% 0.213 27.518);
13
- --color-red-800: oklch(44.4% 0.177 26.899);
14
- --color-red-950: oklch(25.8% 0.092 26.042);
15
- --color-amber-50: oklch(98.7% 0.022 95.277);
16
- --color-amber-200: oklch(92.4% 0.12 95.746);
17
- --color-amber-300: oklch(87.9% 0.169 91.605);
18
- --color-amber-700: oklch(55.5% 0.163 48.998);
19
- --color-amber-900: oklch(41.4% 0.112 45.904);
20
- --color-amber-950: oklch(27.9% 0.077 45.635);
21
- --color-emerald-50: oklch(97.9% 0.021 166.113);
22
- --color-emerald-200: oklch(90.5% 0.093 164.15);
23
- --color-emerald-300: oklch(84.5% 0.143 164.978);
24
- --color-emerald-700: oklch(50.8% 0.118 165.612);
25
- --color-emerald-800: oklch(43.2% 0.095 166.913);
26
- --color-emerald-950: oklch(26.2% 0.051 172.552);
27
- --color-teal-50: oklch(98.4% 0.014 180.72);
28
- --color-teal-200: oklch(91% 0.096 180.426);
29
- --color-teal-300: oklch(85.5% 0.138 181.071);
30
- --color-teal-700: oklch(51.1% 0.096 186.391);
31
- --color-teal-800: oklch(43.7% 0.078 188.216);
32
- --color-teal-950: oklch(27.7% 0.046 192.524);
33
- --color-sky-50: oklch(97.7% 0.013 236.62);
34
- --color-sky-200: oklch(90.1% 0.058 230.902);
35
- --color-sky-300: oklch(82.8% 0.111 230.318);
36
- --color-sky-700: oklch(50% 0.134 242.749);
37
- --color-sky-800: oklch(44.3% 0.11 240.79);
38
- --color-sky-950: oklch(29.3% 0.066 243.157);
39
- --color-blue-50: oklch(97% 0.014 254.604);
40
- --color-blue-200: oklch(88.2% 0.059 254.128);
41
- --color-blue-300: oklch(80.9% 0.105 251.813);
42
- --color-blue-700: oklch(48.8% 0.243 264.376);
43
- --color-blue-800: oklch(42.4% 0.199 265.638);
44
- --color-blue-950: oklch(28.2% 0.091 267.935);
45
- --color-violet-50: oklch(96.9% 0.016 293.756);
46
- --color-violet-200: oklch(89.4% 0.057 293.283);
47
- --color-violet-300: oklch(81.1% 0.111 293.571);
48
- --color-violet-700: oklch(49.1% 0.27 292.581);
49
- --color-violet-800: oklch(43.2% 0.232 292.759);
50
- --color-violet-950: oklch(28.3% 0.141 291.089);
51
- --color-rose-50: oklch(96.9% 0.015 12.422);
52
- --color-rose-200: oklch(89.2% 0.058 10.001);
53
- --color-rose-300: oklch(81% 0.117 11.638);
54
- --color-rose-700: oklch(51.4% 0.222 16.935);
55
- --color-rose-800: oklch(45.5% 0.188 13.697);
56
- --color-rose-950: oklch(27.1% 0.105 12.094);
57
- --color-slate-100: oklch(96.8% 0.007 247.896);
58
- --color-slate-300: oklch(86.9% 0.022 252.894);
59
- --color-slate-600: oklch(44.6% 0.043 257.281);
60
- --color-slate-800: oklch(27.9% 0.041 260.031);
61
- --color-black: #000;
62
- --color-white: #fff;
63
9
  --spacing: 0.25rem;
64
- --text-xs: 0.75rem;
65
- --text-xs--line-height: calc(1 / 0.75);
66
- --text-sm: 0.875rem;
67
- --text-sm--line-height: calc(1.25 / 0.875);
68
- --text-base: 1rem;
69
- --text-base--line-height: calc(1.5 / 1);
70
- --text-lg: 1.125rem;
71
- --text-lg--line-height: calc(1.75 / 1.125);
72
- --text-xl: 1.25rem;
73
- --text-xl--line-height: calc(1.75 / 1.25);
74
- --text-2xl: 1.5rem;
75
- --text-2xl--line-height: calc(2 / 1.5);
10
+ --container-3xl: 48rem;
76
11
  --font-weight-normal: 400;
77
12
  --font-weight-medium: 500;
78
13
  --font-weight-semibold: 600;
@@ -80,19 +15,138 @@
80
15
  --tracking-wide: 0.025em;
81
16
  --tracking-wider: 0.05em;
82
17
  --tracking-widest: 0.1em;
83
- --radius-xs: 0.125rem;
84
- --radius-sm: 0.25rem;
85
- --radius-md: 0.375rem;
86
- --radius-lg: 0.5rem;
87
- --radius-2xl: 1rem;
88
- --ease-out: cubic-bezier(0, 0, 0.2, 1);
89
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
90
- --blur-xs: 4px;
91
18
  --blur-md: 12px;
92
19
  --default-transition-duration: 150ms;
93
20
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
94
21
  }
95
22
  }
23
+ @layer theme, base, components, utilities;
24
+ :root {
25
+ --basalt-space-xs: 0.125rem;
26
+ --basalt-space-sm: 0.25rem;
27
+ --basalt-space-md: 0.375rem;
28
+ --basalt-space-lg: 0.5rem;
29
+ --basalt-space-default: var(--basalt-space-lg);
30
+ --basalt-text-xs: 0.6875rem;
31
+ --basalt-text-sm: 0.75rem;
32
+ --basalt-text-code: 0.8125rem;
33
+ --basalt-text-base: 0.875rem;
34
+ --basalt-text-lg: 1rem;
35
+ --basalt-text-xl: 1.125rem;
36
+ --basalt-text-2xl: 1.25rem;
37
+ --basalt-text-3xl: 1.5rem;
38
+ --basalt-text-4xl: 1.875rem;
39
+ --basalt-text-5xl: 2.25rem;
40
+ --basalt-text-6xl: 3rem;
41
+ --basalt-text-7xl: 3.75rem;
42
+ --basalt-text-8xl: 4.5rem;
43
+ --basalt-text-9xl: 6rem;
44
+ --basalt-text-10xl: 8rem;
45
+ --basalt-leading-tight: 1.2;
46
+ --basalt-leading-body: 1.4285714286;
47
+ --basalt-leading-relaxed: 1.5;
48
+ --basalt-leading-inline: calc(16 / 12);
49
+ --basalt-leading-action: calc(24 / 14);
50
+ --basalt-leading-action-sm: 1.5;
51
+ --basalt-leading-action-lg: 1.375;
52
+ --basalt-leading-banner: calc(22 / 14);
53
+ --basalt-radius-sm: 0.25rem;
54
+ --basalt-radius-md: 0.5rem;
55
+ --basalt-radius-lg: 0.75rem;
56
+ --basalt-radius-full: 999rem;
57
+ --basalt-border-width: 0.0625rem;
58
+ --basalt-on-solid: 0 0% 100%;
59
+ --basalt-backdrop: 0 0% 0%;
60
+ --basalt-motion-fast: 120ms;
61
+ --basalt-motion-loader: 800ms;
62
+ --basalt-motion-normal: 180ms;
63
+ --basalt-motion-slow: 280ms;
64
+ --basalt-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
65
+ --basalt-line-compact: 1rem;
66
+ --basalt-line-body: 1.25rem;
67
+ --basalt-line-row: 1.375rem;
68
+ --basalt-line-relaxed: 1.5rem;
69
+ --basalt-space-unit: 0.25rem;
70
+ --basalt-space-0_5: calc(var(--basalt-space-unit) * 0.5);
71
+ --basalt-space-1: calc(var(--basalt-space-unit) * 1);
72
+ --basalt-space-1_5: calc(var(--basalt-space-unit) * 1.5);
73
+ --basalt-space-2: calc(var(--basalt-space-unit) * 2);
74
+ --basalt-space-2_5: calc(var(--basalt-space-unit) * 2.5);
75
+ --basalt-space-3: calc(var(--basalt-space-unit) * 3);
76
+ --basalt-space-3_5: calc(var(--basalt-space-unit) * 3.5);
77
+ --basalt-space-4: calc(var(--basalt-space-unit) * 4);
78
+ --basalt-space-5: calc(var(--basalt-space-unit) * 5);
79
+ --basalt-space-6: calc(var(--basalt-space-unit) * 6);
80
+ --basalt-space-7: calc(var(--basalt-space-unit) * 7);
81
+ --basalt-space-8: calc(var(--basalt-space-unit) * 8);
82
+ --basalt-space-9: calc(var(--basalt-space-unit) * 9);
83
+ --basalt-space-10: calc(var(--basalt-space-unit) * 10);
84
+ --basalt-space-11: calc(var(--basalt-space-unit) * 11);
85
+ --basalt-space-12: calc(var(--basalt-space-unit) * 12);
86
+ --basalt-space-14: calc(var(--basalt-space-unit) * 14);
87
+ --basalt-space-16: calc(var(--basalt-space-unit) * 16);
88
+ --basalt-space-28: calc(var(--basalt-space-unit) * 28);
89
+ --basalt-space-36: calc(var(--basalt-space-unit) * 36);
90
+ --basalt-space-40: calc(var(--basalt-space-unit) * 40);
91
+ --basalt-space-56: calc(var(--basalt-space-unit) * 56);
92
+ --basalt-space-60: calc(var(--basalt-space-unit) * 60);
93
+ --basalt-space-64: calc(var(--basalt-space-unit) * 64);
94
+ --basalt-space-72: calc(var(--basalt-space-unit) * 72);
95
+ --basalt-space-80: calc(var(--basalt-space-unit) * 80);
96
+ --basalt-space-96: calc(var(--basalt-space-unit) * 96);
97
+ --basalt-size-control: 2.125rem;
98
+ --basalt-size-control-sm: 1.75rem;
99
+ --basalt-size-control-lg: 2.5rem;
100
+ --basalt-size-control-inset: 1.75rem;
101
+ --basalt-size-icon: 0.875rem;
102
+ --basalt-size-icon-sm: 0.75rem;
103
+ --basalt-size-icon-lg: 1rem;
104
+ --basalt-size-icon-display: 1.5rem;
105
+ --basalt-size-touch: 2.75rem;
106
+ --basalt-size-menu-row: var(--basalt-size-control);
107
+ --basalt-size-table-row: 2.25rem;
108
+ --basalt-size-check: 1rem;
109
+ --basalt-size-check-sm: 0.75rem;
110
+ --basalt-size-textarea: 5rem;
111
+ --basalt-size-textarea-sm: 4rem;
112
+ --basalt-size-textarea-lg: 6rem;
113
+ --basalt-space-control-x: var(--basalt-space-lg);
114
+ --basalt-space-control-x-sm: var(--basalt-space-md);
115
+ --basalt-space-control-x-lg: var(--basalt-space-lg);
116
+ --basalt-space-control-y: var(--basalt-space-sm);
117
+ --basalt-space-control-gap: var(--basalt-space-lg);
118
+ --basalt-space-menu-inset: var(--basalt-space-lg);
119
+ --basalt-space-menu-x: var(--basalt-space-lg);
120
+ --basalt-space-menu-y: var(--basalt-space-md);
121
+ --basalt-space-card-sm: 0.75rem;
122
+ --basalt-space-card: 1rem;
123
+ --basalt-space-card-lg: 1.5rem;
124
+ --basalt-space-card-xl: 2rem;
125
+ --basalt-space-layout-sm: 0.75rem;
126
+ --basalt-space-layout: 1rem;
127
+ --basalt-space-layout-lg: 1.5rem;
128
+ --basalt-space-layout-xl: 2rem;
129
+ --basalt-space-field-gap: var(--basalt-space-lg);
130
+ --basalt-space-table-x: var(--basalt-space-lg);
131
+ --basalt-space-table-y: var(--basalt-space-md);
132
+ --basalt-space-overlay: var(--basalt-space-lg);
133
+ --basalt-space-panel-x: var(--basalt-space-card);
134
+ --basalt-space-panel-y: var(--basalt-space-card-sm);
135
+ --basalt-space-table-edge: var(--basalt-space-panel-x);
136
+ --basalt-space-content-gap: var(--basalt-space-lg);
137
+ --basalt-space-row-x: var(--basalt-space-lg);
138
+ --basalt-space-row-y: var(--basalt-space-md);
139
+ --basalt-space-row-gap: var(--basalt-space-lg);
140
+ --basalt-space-row-content: calc(
141
+ var(--basalt-space-row-x) +
142
+ var(--basalt-size-icon-lg) +
143
+ var(--basalt-space-row-gap)
144
+ );
145
+ --basalt-size-action: var(--basalt-size-control);
146
+ --basalt-space-nav-inset: var(--basalt-space-lg);
147
+ --basalt-space-nav-gap: var(--basalt-space-xs);
148
+ --basalt-size-rail: 4.25rem;
149
+ }
96
150
  :root, .light, [data-mode="light"] {
97
151
  --basalt-background: 220 14% 94%;
98
152
  --basalt-foreground: 0 0% 12%;
@@ -124,11 +178,48 @@
124
178
  --basalt-input: 220 13% 88%;
125
179
  --basalt-ring: var(--basalt-primary);
126
180
  --basalt-control-fill: hsl(var(--basalt-secondary));
181
+ --basalt-hover: hsl(var(--basalt-primary));
182
+ @supports (color: color-mix(in lab, red, red)) {
183
+ --basalt-hover: color-mix(in srgb, hsl(var(--basalt-primary)) 9.6%, hsl(var(--basalt-popover)));
184
+ }
185
+ --basalt-hover-end: hsl(var(--basalt-primary));
186
+ @supports (color: color-mix(in lab, red, red)) {
187
+ --basalt-hover-end: color-mix(
188
+ in srgb,
189
+ hsl(var(--basalt-primary)) 4.8%,
190
+ hsl(var(--basalt-popover))
191
+ );
192
+ }
193
+ --basalt-selected: 0 0% 100%;
194
+ --basalt-selected-foreground: var(--basalt-foreground);
195
+ --basalt-primary-hover: hsl(var(--basalt-primary));
196
+ @supports (color: color-mix(in lab, red, red)) {
197
+ --basalt-primary-hover: color-mix(
198
+ in srgb,
199
+ hsl(var(--basalt-primary)) 90%,
200
+ hsl(var(--basalt-background))
201
+ );
202
+ }
203
+ --basalt-destructive-hover: hsl(var(--basalt-destructive));
204
+ @supports (color: color-mix(in lab, red, red)) {
205
+ --basalt-destructive-hover: color-mix(
206
+ in srgb,
207
+ hsl(var(--basalt-destructive)) 90%,
208
+ hsl(var(--basalt-background))
209
+ );
210
+ }
127
211
  --basalt-zebra-fill: hsl(var(--basalt-bright));
128
- --basalt-radius: 0.75rem;
129
- --basalt-radius-island: 20px;
130
- --basalt-radius-card: 14px;
131
- --basalt-radius-widget: 10px;
212
+ --basalt-radius: var(--basalt-radius-lg);
213
+ --basalt-radius-island: var(--basalt-radius-lg);
214
+ --basalt-radius-card: var(--basalt-radius-lg);
215
+ --basalt-radius-widget: var(--basalt-radius-md);
216
+ --basalt-motion-ease-enter: cubic-bezier(0.25, 1, 0.5, 1);
217
+ --basalt-motion-ease-exit: cubic-bezier(0.5, 0, 0.75, 0);
218
+ --basalt-sheet-duration-enter: 350ms;
219
+ --basalt-sheet-duration-exit: 250ms;
220
+ --basalt-sheet-backdrop-blur: 6px;
221
+ --basalt-floating-duration-enter: 200ms;
222
+ --basalt-floating-duration-exit: 150ms;
132
223
  --basalt-font-sans: "Inter", system-ui, -apple-system, sans-serif;
133
224
  --basalt-font-display: "DM Sans", system-ui, sans-serif;
134
225
  --basalt-chart-blue: 204 88% 62%;
@@ -172,9 +263,10 @@
172
263
  --basalt-accent-10: 280 53% 71%;
173
264
  --basalt-accent-11: 237 66% 69%;
174
265
  --basalt-accent-12: 210 20% 87%;
266
+ --basalt-badge-green: 113 60% 30%;
175
267
  --basalt-badge-green-foreground: 0 0% 100%;
176
- --basalt-badge-teal: var(--basalt-accent-3);
177
- --basalt-badge-purple: var(--basalt-accent-10);
268
+ --basalt-badge-teal: 182 62% 30%;
269
+ --basalt-badge-purple: 280 53% 40%;
178
270
  --basalt-badge-teal-foreground: 0 0% 100%;
179
271
  --basalt-badge-purple-foreground: 0 0% 100%;
180
272
  --basalt-chart-axis: 0 0% 40%;
@@ -223,15 +315,46 @@
223
315
  --basalt-danger-tint: 0 40% 16%;
224
316
  --basalt-info-foreground: 0 0% 10%;
225
317
  --basalt-warning-foreground: 0 0% 10%;
226
- --basalt-badge-green-foreground: 0 0% 100%;
318
+ --basalt-badge-green: 113 55% 62%;
319
+ --basalt-badge-green-foreground: 0 0% 10%;
227
320
  --basalt-badge-teal: var(--basalt-accent-3);
228
321
  --basalt-badge-purple: var(--basalt-accent-10);
229
- --basalt-badge-teal-foreground: 0 0% 100%;
230
- --basalt-badge-purple-foreground: 0 0% 100%;
322
+ --basalt-badge-teal-foreground: 0 0% 10%;
323
+ --basalt-badge-purple-foreground: 0 0% 10%;
231
324
  --basalt-border: 0 0% 16%;
232
325
  --basalt-input: 0 0% 18%;
233
326
  --basalt-ring: var(--basalt-primary);
234
327
  --basalt-control-fill: hsl(var(--basalt-secondary));
328
+ --basalt-hover: hsl(var(--basalt-primary));
329
+ @supports (color: color-mix(in lab, red, red)) {
330
+ --basalt-hover: color-mix(in srgb, hsl(var(--basalt-primary)) 16%, hsl(var(--basalt-popover)));
331
+ }
332
+ --basalt-hover-end: hsl(var(--basalt-primary));
333
+ @supports (color: color-mix(in lab, red, red)) {
334
+ --basalt-hover-end: color-mix(
335
+ in srgb,
336
+ hsl(var(--basalt-primary)) 9.6%,
337
+ hsl(var(--basalt-popover))
338
+ );
339
+ }
340
+ --basalt-selected: 0 0% 22%;
341
+ --basalt-selected-foreground: var(--basalt-foreground);
342
+ --basalt-primary-hover: hsl(var(--basalt-primary));
343
+ @supports (color: color-mix(in lab, red, red)) {
344
+ --basalt-primary-hover: color-mix(
345
+ in srgb,
346
+ hsl(var(--basalt-primary)) 90%,
347
+ hsl(var(--basalt-background))
348
+ );
349
+ }
350
+ --basalt-destructive-hover: hsl(var(--basalt-destructive));
351
+ @supports (color: color-mix(in lab, red, red)) {
352
+ --basalt-destructive-hover: color-mix(
353
+ in srgb,
354
+ hsl(var(--basalt-destructive)) 90%,
355
+ hsl(var(--basalt-background))
356
+ );
357
+ }
235
358
  --basalt-zebra-fill: hsl(var(--basalt-bright));
236
359
  --basalt-chart-blue: 204 90% 70%;
237
360
  --basalt-chart-pink: 345 88% 77%;
@@ -301,6 +424,22 @@
301
424
  [data-basalt-surface-root] [data-basalt-surface] {
302
425
  background: hsl(var(--basalt-secondary));
303
426
  --basalt-control-fill: hsl(var(--basalt-secondary));
427
+ --basalt-primary-hover: hsl(var(--basalt-primary));
428
+ @supports (color: color-mix(in lab, red, red)) {
429
+ --basalt-primary-hover: color-mix(
430
+ in srgb,
431
+ hsl(var(--basalt-primary)) 90%,
432
+ hsl(var(--basalt-background))
433
+ );
434
+ }
435
+ --basalt-destructive-hover: hsl(var(--basalt-destructive));
436
+ @supports (color: color-mix(in lab, red, red)) {
437
+ --basalt-destructive-hover: color-mix(
438
+ in srgb,
439
+ hsl(var(--basalt-destructive)) 90%,
440
+ hsl(var(--basalt-background))
441
+ );
442
+ }
304
443
  --basalt-zebra-fill: hsl(var(--basalt-bright));
305
444
  }
306
445
  [data-basalt-surface-root] [data-basalt-surface] [data-basalt-surface] {
@@ -321,6 +460,22 @@
321
460
  [data-basalt-surface]:not([data-basalt-surface-root] *) [data-basalt-surface] {
322
461
  background: hsl(var(--basalt-secondary));
323
462
  --basalt-control-fill: hsl(var(--basalt-secondary));
463
+ --basalt-primary-hover: hsl(var(--basalt-primary));
464
+ @supports (color: color-mix(in lab, red, red)) {
465
+ --basalt-primary-hover: color-mix(
466
+ in srgb,
467
+ hsl(var(--basalt-primary)) 90%,
468
+ hsl(var(--basalt-background))
469
+ );
470
+ }
471
+ --basalt-destructive-hover: hsl(var(--basalt-destructive));
472
+ @supports (color: color-mix(in lab, red, red)) {
473
+ --basalt-destructive-hover: color-mix(
474
+ in srgb,
475
+ hsl(var(--basalt-destructive)) 90%,
476
+ hsl(var(--basalt-background))
477
+ );
478
+ }
324
479
  --basalt-zebra-fill: hsl(var(--basalt-bright));
325
480
  }
326
481
  [data-basalt-surface]:not([data-basalt-surface-root] *) [data-basalt-surface] [data-basalt-surface] {
@@ -334,17 +489,317 @@
334
489
  --basalt-zebra-fill: transparent;
335
490
  }
336
491
  [data-basalt-table] tbody tr[aria-selected="true"] td {
337
- background: hsl(var(--basalt-accent));
492
+ background: hsl(var(--basalt-selected));
493
+ color: hsl(var(--basalt-selected-foreground));
338
494
  }
339
495
  [data-basalt-table] tbody tr:hover:not([aria-selected="true"]) td {
340
- background: hsl(var(--basalt-primary));
341
- @supports (color: color-mix(in lab, red, red)) {
342
- background: color-mix(in oklab, hsl(var(--basalt-primary)) 3%, var(--basalt-control-fill));
343
- }
496
+ background: var(--basalt-hover);
344
497
  }
345
498
  [data-basalt-table] tbody tr:nth-child(even):not([aria-selected="true"]):not(:hover) td {
346
499
  background: var(--basalt-zebra-fill);
347
500
  }
501
+ [data-basalt-table] tbody tr[data-diff-change="remove"][data-included="true"][aria-selected="true"] td {
502
+ background: hsl(var(--basalt-danger-tint));
503
+ color: hsl(var(--basalt-danger));
504
+ }
505
+ [data-basalt-table] tbody tr[data-diff-change="add"][data-included="true"][aria-selected="true"] td {
506
+ background: hsl(var(--basalt-info-tint));
507
+ color: hsl(var(--basalt-info));
508
+ }
509
+ :is(.basalt-choice, [data-basalt-hover-item]):is( [data-hover-selected="true"], [aria-pressed="true"], [aria-current="page"], [aria-current="true"], [data-state="checked"] ) {
510
+ background-color: hsl(var(--basalt-selected));
511
+ color: hsl(var(--basalt-selected-foreground));
512
+ }
513
+ .basalt-nav-item[data-hover-selected="true"] {
514
+ font-weight: 500;
515
+ }
516
+ .basalt-nav-item .basalt-choice[aria-current] {
517
+ background-color: transparent;
518
+ }
519
+ @layer components {
520
+ .basalt-action {
521
+ border: var(--basalt-border-width) solid transparent;
522
+ padding: var(--basalt-space-control-y) var(--basalt-space-control-x);
523
+ font-size: var(--basalt-text-base);
524
+ line-height: var(--basalt-leading-action);
525
+ }
526
+ .basalt-action-sm {
527
+ padding-inline: var(--basalt-space-control-x-sm);
528
+ font-size: var(--basalt-text-sm);
529
+ line-height: var(--basalt-leading-action-sm);
530
+ }
531
+ .basalt-action-lg {
532
+ padding-block: var(--basalt-space-lg);
533
+ padding-inline: var(--basalt-space-control-x-lg);
534
+ font-size: var(--basalt-text-lg);
535
+ line-height: var(--basalt-leading-action-lg);
536
+ }
537
+ .basalt-action-icon {
538
+ min-inline-size: var(--basalt-size-control);
539
+ min-block-size: calc(1lh + 2 * var(--basalt-space-control-y) + 2 * var(--basalt-border-width));
540
+ padding-inline: var(--basalt-space-sm);
541
+ }
542
+ .basalt-action-inset {
543
+ border-width: 0;
544
+ min-block-size: calc(1lh + 2 * var(--basalt-space-control-y));
545
+ }
546
+ .basalt-inline {
547
+ padding: var(--basalt-space-xs) var(--basalt-space-default);
548
+ font-size: var(--basalt-text-sm);
549
+ line-height: var(--basalt-leading-inline);
550
+ }
551
+ .basalt-banner {
552
+ padding: var(--basalt-space-panel-y) var(--basalt-space-panel-x);
553
+ font-size: var(--basalt-text-base);
554
+ line-height: var(--basalt-leading-banner);
555
+ }
556
+ .basalt-motion {
557
+ transition-duration: var(--basalt-motion-normal);
558
+ transition-timing-function: var(--basalt-motion-ease);
559
+ }
560
+ @media (prefers-reduced-motion: reduce) {
561
+ .basalt-motion {
562
+ transition: none;
563
+ }
564
+ }
565
+ .basalt-selection-motion {
566
+ transition: transform var(--basalt-motion-normal) var(--basalt-motion-ease), width var(--basalt-motion-normal) var(--basalt-motion-ease);
567
+ }
568
+ @media (prefers-reduced-motion: reduce) {
569
+ .basalt-selection-motion {
570
+ transition: none;
571
+ }
572
+ }
573
+ .basalt-nav-item {
574
+ position: relative;
575
+ cursor: pointer;
576
+ color: hsl(var(--basalt-muted-foreground));
577
+ transition: color var(--basalt-motion-normal) var(--basalt-motion-ease), background-color var(--basalt-motion-normal) var(--basalt-motion-ease);
578
+ }
579
+ .basalt-nav-item:is(:hover, :focus-visible) {
580
+ background-color: var(--basalt-hover);
581
+ color: hsl(var(--basalt-foreground));
582
+ }
583
+ .basalt-hover-list[data-hover-visible="true"] .basalt-nav-item:not([data-hover-selected="true"]) {
584
+ background-color: transparent;
585
+ }
586
+ .basalt-nav-item:is(:disabled, [aria-disabled="true"]) {
587
+ pointer-events: none;
588
+ opacity: 0.5;
589
+ }
590
+ [data-basalt-sidebar][data-collapsed] :is([data-slot="sidebar-header"], [data-slot="sidebar-footer"]) {
591
+ justify-content: center;
592
+ }
593
+ [data-basalt-sidebar][data-collapsed] [data-slot="sidebar-footer"] {
594
+ align-items: center;
595
+ }
596
+ [data-basalt-sidebar][data-collapsed] [data-slot="sidebar-nav"] .basalt-nav-item {
597
+ margin-inline: auto;
598
+ }
599
+ @media (prefers-reduced-motion: reduce) {
600
+ .basalt-nav-item {
601
+ transition: none;
602
+ }
603
+ }
604
+ .basalt-chat-input {
605
+ field-sizing: content;
606
+ min-height: calc(1lh + var(--basalt-space-2));
607
+ max-height: calc(5lh + var(--basalt-space-2));
608
+ overscroll-behavior: contain;
609
+ }
610
+ .basalt-hover-list {
611
+ position: relative;
612
+ isolation: isolate;
613
+ }
614
+ .basalt-hover-list::before {
615
+ content: "";
616
+ position: absolute;
617
+ pointer-events: none;
618
+ left: 0;
619
+ top: 0;
620
+ z-index: -1;
621
+ width: var(--basalt-hover-width, 0px);
622
+ height: var(--basalt-hover-height, 0px);
623
+ transform: translate(var(--basalt-hover-x, 0px), var(--basalt-hover-y, 0px));
624
+ border-radius: var(--basalt-radius-md);
625
+ background: linear-gradient(90deg, var(--basalt-hover), var(--basalt-hover-end));
626
+ opacity: 0;
627
+ transition: none;
628
+ }
629
+ .basalt-hover-list[data-hover-visible="true"]::before {
630
+ opacity: 1;
631
+ }
632
+ .basalt-hover-list[data-hover-animated="true"]::before {
633
+ transition: transform var(--basalt-motion-normal) var(--basalt-motion-ease), opacity var(--basalt-motion-fast) var(--basalt-motion-ease);
634
+ }
635
+ @media (prefers-reduced-motion: reduce) {
636
+ .basalt-hover-list[data-hover-animated]::before {
637
+ transition: none;
638
+ }
639
+ }
640
+ .basalt-agent-reveal {
641
+ animation: basalt-tab-in var(--basalt-motion-normal) var(--basalt-motion-ease-enter);
642
+ }
643
+ @media (prefers-reduced-motion: reduce) {
644
+ .basalt-agent-reveal {
645
+ animation: none;
646
+ }
647
+ }
648
+ [data-basalt-loader] > span {
649
+ opacity: 0.18;
650
+ }
651
+ [data-basalt-loader][data-animated="true"] > span {
652
+ animation: basalt-pixel-orbit var(--basalt-motion-loader) linear var(--basalt-pixel-delay) infinite;
653
+ }
654
+ .basalt-shimmer-label {
655
+ color: transparent;
656
+ background: linear-gradient( 90deg, hsl(var(--basalt-muted-foreground)) 35%, hsl(var(--basalt-foreground)) 50%, hsl(var(--basalt-muted-foreground)) 65% );
657
+ background-size: 200% 100%;
658
+ background-clip: text;
659
+ animation: basalt-label-shimmer 1.4s linear infinite;
660
+ }
661
+ @media (prefers-reduced-motion: reduce) {
662
+ [data-basalt-loader][data-animated] > span, .basalt-shimmer-label {
663
+ animation: none;
664
+ }
665
+ .basalt-shimmer-label {
666
+ color: hsl(var(--basalt-muted-foreground));
667
+ background: none;
668
+ }
669
+ }
670
+ .basalt-command-list::before {
671
+ content: "";
672
+ position: absolute;
673
+ pointer-events: none;
674
+ left: 0;
675
+ top: 0;
676
+ transform: translate(var(--basalt-command-left), var(--basalt-command-top));
677
+ width: var(--basalt-command-width);
678
+ height: var(--basalt-command-height);
679
+ border-radius: var(--basalt-radius-md);
680
+ background: linear-gradient(90deg, var(--basalt-hover), var(--basalt-hover-end));
681
+ }
682
+ .basalt-command-list[data-basalt-command-animated="true"]::before {
683
+ transition: transform var(--basalt-motion-normal) var(--basalt-motion-ease);
684
+ }
685
+ @media (prefers-reduced-motion: reduce) {
686
+ .basalt-command-list[data-basalt-command-animated]::before {
687
+ transition: none;
688
+ }
689
+ }
690
+ .basalt-floating {
691
+ transform-origin: var(--radix-popper-transform-origin, center);
692
+ }
693
+ .basalt-floating:is( [data-state="open"], [data-state="delayed-open"], [data-state="instant-open"] ) {
694
+ animation: basalt-floating-in var(--basalt-floating-duration-enter) var(--basalt-motion-ease-enter);
695
+ }
696
+ .basalt-floating[data-state="closed"] {
697
+ animation: basalt-floating-out var(--basalt-floating-duration-exit) var(--basalt-motion-ease-exit) forwards;
698
+ }
699
+ [data-basalt-sheet] {
700
+ --basalt-sheet-x: 0%;
701
+ --basalt-sheet-y: 0%;
702
+ }
703
+ [data-basalt-sheet][data-side="right"] {
704
+ --basalt-sheet-x: 100%;
705
+ }
706
+ [data-basalt-sheet][data-side="left"] {
707
+ --basalt-sheet-x: -100%;
708
+ }
709
+ [data-basalt-sheet][data-side="top"] {
710
+ --basalt-sheet-y: -100%;
711
+ }
712
+ [data-basalt-sheet][data-side="bottom"] {
713
+ --basalt-sheet-y: 100%;
714
+ }
715
+ [data-basalt-sheet][data-state="open"] {
716
+ animation: basalt-sheet-in var(--basalt-sheet-duration-enter) var(--basalt-motion-ease-enter);
717
+ }
718
+ [data-basalt-sheet][data-state="closed"] {
719
+ animation: basalt-sheet-out var(--basalt-sheet-duration-exit) var(--basalt-motion-ease-exit) forwards;
720
+ }
721
+ .basalt-sheet-overlay {
722
+ backdrop-filter: blur(var(--basalt-sheet-backdrop-blur));
723
+ }
724
+ .basalt-sheet-overlay[data-state="open"] {
725
+ animation: basalt-sheet-backdrop-in var(--basalt-sheet-duration-enter) var(--basalt-motion-ease-enter);
726
+ }
727
+ .basalt-sheet-overlay[data-state="closed"] {
728
+ animation: basalt-sheet-backdrop-out var(--basalt-sheet-duration-exit) var(--basalt-motion-ease-exit) forwards;
729
+ pointer-events: none;
730
+ }
731
+ @media (prefers-reduced-motion: reduce) {
732
+ :is(.basalt-floating, [data-basalt-sheet], .basalt-sheet-overlay)[data-state] {
733
+ animation: none;
734
+ }
735
+ }
736
+ }
737
+ [data-sonner-toast].basalt-toast {
738
+ transition-duration: var(--basalt-motion-normal);
739
+ transition-timing-function: var(--basalt-motion-ease);
740
+ font-family: var(--basalt-font-sans);
741
+ }
742
+ @media (prefers-reduced-motion: reduce) {
743
+ [data-sonner-toast].basalt-toast {
744
+ transition: none;
745
+ }
746
+ }
747
+ @keyframes basalt-floating-in {
748
+ from {
749
+ opacity: 0;
750
+ scale: 0.95;
751
+ }
752
+ to {
753
+ opacity: 1;
754
+ scale: 1;
755
+ }
756
+ }
757
+ @keyframes basalt-floating-out {
758
+ from {
759
+ opacity: 1;
760
+ scale: 1;
761
+ }
762
+ to {
763
+ opacity: 0;
764
+ scale: 0.95;
765
+ }
766
+ }
767
+ @keyframes basalt-sheet-in {
768
+ from {
769
+ transform: translate(var(--basalt-sheet-x), var(--basalt-sheet-y));
770
+ }
771
+ to {
772
+ transform: translate(0, 0);
773
+ }
774
+ }
775
+ @keyframes basalt-sheet-out {
776
+ from {
777
+ transform: translate(0, 0);
778
+ }
779
+ to {
780
+ transform: translate(var(--basalt-sheet-x), var(--basalt-sheet-y));
781
+ }
782
+ }
783
+ @keyframes basalt-sheet-backdrop-in {
784
+ from {
785
+ opacity: 0;
786
+ backdrop-filter: blur(0);
787
+ }
788
+ to {
789
+ opacity: 1;
790
+ backdrop-filter: blur(var(--basalt-sheet-backdrop-blur));
791
+ }
792
+ }
793
+ @keyframes basalt-sheet-backdrop-out {
794
+ from {
795
+ opacity: 1;
796
+ backdrop-filter: blur(var(--basalt-sheet-backdrop-blur));
797
+ }
798
+ to {
799
+ opacity: 0;
800
+ backdrop-filter: blur(0);
801
+ }
802
+ }
348
803
  @keyframes basalt-accordion-down {
349
804
  from {
350
805
  height: 0;
@@ -366,18 +821,23 @@
366
821
  transform: rotate(360deg);
367
822
  }
368
823
  }
369
- @keyframes basalt-loader-spin {
370
- 0% {
371
- transform: rotate(0deg);
824
+ @keyframes basalt-pixel-orbit {
825
+ 0%, 100% {
826
+ opacity: 1;
372
827
  }
373
- 12% {
374
- transform: rotate(18deg);
828
+ 33% {
829
+ opacity: 0.35;
375
830
  }
376
- 55% {
377
- transform: rotate(300deg);
831
+ 66%, 99% {
832
+ opacity: 0.18;
378
833
  }
379
- 100% {
380
- transform: rotate(360deg);
834
+ }
835
+ @keyframes basalt-label-shimmer {
836
+ from {
837
+ background-position: 200% 0;
838
+ }
839
+ to {
840
+ background-position: -200% 0;
381
841
  }
382
842
  }
383
843
  @keyframes basalt-pulse {
@@ -459,6 +919,88 @@
459
919
  transform: translateY(0);
460
920
  }
461
921
  }
922
+ .basalt-chat-word {
923
+ animation: basalt-chat-word-in var(--basalt-motion-normal) var(--basalt-motion-ease) both;
924
+ }
925
+ @keyframes basalt-chat-word-in {
926
+ from {
927
+ opacity: 0;
928
+ filter: blur(3px);
929
+ }
930
+ to {
931
+ opacity: 1;
932
+ filter: blur(0);
933
+ }
934
+ }
935
+ @media (prefers-reduced-motion: reduce) {
936
+ .basalt-chat-word {
937
+ animation: none;
938
+ }
939
+ }
940
+ :root, .light, [data-mode="light"] {
941
+ --basalt-tag-slate: oklch(96.8% 0.007 247.896);
942
+ --basalt-tag-slate-foreground: oklch(27.9% 0.041 260.031);
943
+ --basalt-tag-slate-border: oklch(86.9% 0.022 252.894);
944
+ --basalt-tag-blue: oklch(97% 0.014 254.604);
945
+ --basalt-tag-blue-foreground: oklch(42.4% 0.199 265.638);
946
+ --basalt-tag-blue-border: oklch(80.9% 0.105 251.813);
947
+ --basalt-tag-violet: oklch(96.9% 0.016 293.756);
948
+ --basalt-tag-violet-foreground: oklch(43.2% 0.232 292.759);
949
+ --basalt-tag-violet-border: oklch(81.1% 0.111 293.571);
950
+ --basalt-tag-teal: oklch(98.4% 0.014 180.72);
951
+ --basalt-tag-teal-foreground: oklch(43.7% 0.078 188.216);
952
+ --basalt-tag-teal-border: oklch(85.5% 0.138 181.071);
953
+ --basalt-tag-amber: oklch(98.7% 0.022 95.277);
954
+ --basalt-tag-amber-foreground: oklch(41.4% 0.112 45.904);
955
+ --basalt-tag-amber-border: oklch(87.9% 0.169 91.605);
956
+ --basalt-tag-rose: oklch(96.9% 0.015 12.422);
957
+ --basalt-tag-rose-foreground: oklch(45.5% 0.188 13.697);
958
+ --basalt-tag-rose-border: oklch(81% 0.117 11.638);
959
+ --basalt-tag-success: oklch(97.9% 0.021 166.113);
960
+ --basalt-tag-success-foreground: oklch(43.2% 0.095 166.913);
961
+ --basalt-tag-success-border: oklch(84.5% 0.143 164.978);
962
+ --basalt-tag-warning: oklch(98.7% 0.022 95.277);
963
+ --basalt-tag-warning-foreground: oklch(41.4% 0.112 45.904);
964
+ --basalt-tag-warning-border: oklch(87.9% 0.169 91.605);
965
+ --basalt-tag-danger: oklch(97.1% 0.013 17.38);
966
+ --basalt-tag-danger-foreground: oklch(44.4% 0.177 26.899);
967
+ --basalt-tag-danger-border: oklch(80.8% 0.114 19.571);
968
+ --basalt-tag-info: oklch(97.7% 0.013 236.62);
969
+ --basalt-tag-info-foreground: oklch(44.3% 0.11 240.79);
970
+ --basalt-tag-info-border: oklch(82.8% 0.111 230.318);
971
+ }
972
+ .dark, [data-mode="dark"] {
973
+ --basalt-tag-slate: oklch(27.9% 0.041 260.031);
974
+ --basalt-tag-slate-foreground: oklch(96.8% 0.007 247.896);
975
+ --basalt-tag-slate-border: oklch(44.6% 0.043 257.281);
976
+ --basalt-tag-blue: oklch(28.2% 0.091 267.935);
977
+ --basalt-tag-blue-foreground: oklch(88.2% 0.059 254.128);
978
+ --basalt-tag-blue-border: oklch(48.8% 0.243 264.376);
979
+ --basalt-tag-violet: oklch(28.3% 0.141 291.089);
980
+ --basalt-tag-violet-foreground: oklch(89.4% 0.057 293.283);
981
+ --basalt-tag-violet-border: oklch(49.1% 0.27 292.581);
982
+ --basalt-tag-teal: oklch(27.7% 0.046 192.524);
983
+ --basalt-tag-teal-foreground: oklch(91% 0.096 180.426);
984
+ --basalt-tag-teal-border: oklch(51.1% 0.096 186.391);
985
+ --basalt-tag-amber: oklch(27.9% 0.077 45.635);
986
+ --basalt-tag-amber-foreground: oklch(92.4% 0.12 95.746);
987
+ --basalt-tag-amber-border: oklch(55.5% 0.163 48.998);
988
+ --basalt-tag-rose: oklch(27.1% 0.105 12.094);
989
+ --basalt-tag-rose-foreground: oklch(89.2% 0.058 10.001);
990
+ --basalt-tag-rose-border: oklch(51.4% 0.222 16.935);
991
+ --basalt-tag-success: oklch(26.2% 0.051 172.552);
992
+ --basalt-tag-success-foreground: oklch(90.5% 0.093 164.15);
993
+ --basalt-tag-success-border: oklch(50.8% 0.118 165.612);
994
+ --basalt-tag-warning: oklch(27.9% 0.077 45.635);
995
+ --basalt-tag-warning-foreground: oklch(92.4% 0.12 95.746);
996
+ --basalt-tag-warning-border: oklch(55.5% 0.163 48.998);
997
+ --basalt-tag-danger: oklch(25.8% 0.092 26.042);
998
+ --basalt-tag-danger-foreground: oklch(88.5% 0.062 18.334);
999
+ --basalt-tag-danger-border: oklch(50.5% 0.213 27.518);
1000
+ --basalt-tag-info: oklch(29.3% 0.066 243.157);
1001
+ --basalt-tag-info-foreground: oklch(90.1% 0.058 230.902);
1002
+ --basalt-tag-info-border: oklch(50% 0.134 242.749);
1003
+ }
462
1004
  @layer base {
463
1005
  :where( .basalt-ui, .basalt-ui *, .basalt-ui *::before, .basalt-ui *::after, .basalt-ui::before, .basalt-ui::after ) {
464
1006
  box-sizing: border-box;
@@ -501,6 +1043,14 @@
501
1043
  :where(.basalt-ui:is(dd), .basalt-ui :is(dd)) {
502
1044
  margin-left: 0;
503
1045
  }
1046
+ :where(.basalt-ui:is(fieldset), .basalt-ui fieldset) {
1047
+ min-width: 0;
1048
+ margin: 0;
1049
+ padding: 0;
1050
+ }
1051
+ :where(.basalt-ui:is(legend), .basalt-ui legend) {
1052
+ padding: 0;
1053
+ }
504
1054
  :where(.basalt-ui:is(ol, ul, menu), .basalt-ui :is(ol, ul, menu)) {
505
1055
  list-style: none;
506
1056
  margin: 0;
@@ -600,9 +1150,11 @@
600
1150
  background: inherit;
601
1151
  pointer-events: none;
602
1152
  }
1153
+ }
1154
+ @layer components {
603
1155
  [data-basalt-header][data-density="compact"] :where([data-basalt-header-leading], [data-basalt-header-actions]) :where(button, a, [role="button"]) {
604
- min-height: 44px;
605
- min-width: 44px;
1156
+ min-height: var(--basalt-size-touch);
1157
+ min-width: var(--basalt-size-touch);
606
1158
  }
607
1159
  }
608
1160
  .basalt-chart .recharts-sector:focus:not(:focus-visible), .basalt-chart .recharts-rectangle:focus:not(:focus-visible), .basalt-chart .recharts-layer:focus:not(:focus-visible), .basalt-chart .recharts-surface:focus:not(:focus-visible) {
@@ -654,35 +1206,35 @@
654
1206
  .top-0 {
655
1207
  top: 0px;
656
1208
  }
657
- .top-1 {
658
- top: var(--spacing);
659
- }
660
1209
  .top-1\/2 {
661
1210
  top: calc(1 / 2 * 100%);
662
1211
  }
663
- .top-2 {
664
- top: calc(var(--spacing) * 2);
1212
+ .top-\[calc\(var\(--basalt-space-lg\)\+var\(--basalt-space-sm\)\+var\(--basalt-line-compact\)\/2\)\] {
1213
+ top: calc(var(--basalt-space-lg) + var(--basalt-space-sm) + var(--basalt-line-compact) / 2);
1214
+ }
1215
+ .top-basalt-1 {
1216
+ top: var(--basalt-space-1);
665
1217
  }
666
- .-right-1 {
667
- right: calc(var(--spacing) * -1);
1218
+ .top-basalt-space-sm {
1219
+ top: var(--basalt-space-sm);
1220
+ }
1221
+ .-right-basalt-1 {
1222
+ right: calc(var(--basalt-space-1) * -1);
668
1223
  }
669
1224
  .right-0 {
670
1225
  right: 0px;
671
1226
  }
672
- .right-2 {
673
- right: calc(var(--spacing) * 2);
1227
+ .right-basalt-4 {
1228
+ right: var(--basalt-space-4);
674
1229
  }
675
- .right-4 {
676
- right: calc(var(--spacing) * 4);
1230
+ .right-basalt-space-sm {
1231
+ right: var(--basalt-space-sm);
677
1232
  }
678
1233
  .bottom-0 {
679
1234
  bottom: 0px;
680
1235
  }
681
- .bottom-4 {
682
- bottom: calc(var(--spacing) * 4);
683
- }
684
- .-left-\[5px\] {
685
- left: calc(5px * -1);
1236
+ .bottom-basalt-4 {
1237
+ bottom: var(--basalt-space-4);
686
1238
  }
687
1239
  .left-0 {
688
1240
  left: 0px;
@@ -690,6 +1242,12 @@
690
1242
  .left-1\/2 {
691
1243
  left: calc(1 / 2 * 100%);
692
1244
  }
1245
+ .left-basalt-space-lg {
1246
+ left: var(--basalt-space-lg);
1247
+ }
1248
+ .isolate {
1249
+ isolation: isolate;
1250
+ }
693
1251
  .z-10 {
694
1252
  z-index: 10;
695
1253
  }
@@ -726,54 +1284,150 @@
726
1284
  .m-0 {
727
1285
  margin: 0px;
728
1286
  }
729
- .-mx-1 {
730
- margin-inline: calc(var(--spacing) * -1);
1287
+ .m-basalt-card {
1288
+ margin: var(--basalt-space-card);
1289
+ }
1290
+ .m-basalt-card-lg {
1291
+ margin: var(--basalt-space-card-lg);
1292
+ }
1293
+ .m-basalt-card-sm {
1294
+ margin: var(--basalt-space-card-sm);
1295
+ }
1296
+ .m-basalt-card-xl {
1297
+ margin: var(--basalt-space-card-xl);
1298
+ }
1299
+ .m-basalt-layout {
1300
+ margin: var(--basalt-space-layout);
1301
+ }
1302
+ .m-basalt-layout-lg {
1303
+ margin: var(--basalt-space-layout-lg);
1304
+ }
1305
+ .m-basalt-layout-sm {
1306
+ margin: var(--basalt-space-layout-sm);
731
1307
  }
732
- .mx-1\.5 {
733
- margin-inline: calc(var(--spacing) * 1.5);
1308
+ .m-basalt-layout-xl {
1309
+ margin: var(--basalt-space-layout-xl);
1310
+ }
1311
+ .-mx-basalt-row-x {
1312
+ margin-inline: calc(var(--basalt-space-row-x) * -1);
1313
+ }
1314
+ .-mx-basalt-space-sm {
1315
+ margin-inline: calc(var(--basalt-space-sm) * -1);
734
1316
  }
735
1317
  .mx-auto {
736
1318
  margin-inline: auto;
737
1319
  }
738
- .my-2 {
739
- margin-block: calc(var(--spacing) * 2);
1320
+ .mx-basalt-card {
1321
+ margin-inline: var(--basalt-space-card);
1322
+ }
1323
+ .mx-basalt-card-lg {
1324
+ margin-inline: var(--basalt-space-card-lg);
1325
+ }
1326
+ .mx-basalt-card-sm {
1327
+ margin-inline: var(--basalt-space-card-sm);
1328
+ }
1329
+ .mx-basalt-card-xl {
1330
+ margin-inline: var(--basalt-space-card-xl);
1331
+ }
1332
+ .mx-basalt-layout {
1333
+ margin-inline: var(--basalt-space-layout);
1334
+ }
1335
+ .mx-basalt-layout-lg {
1336
+ margin-inline: var(--basalt-space-layout-lg);
1337
+ }
1338
+ .mx-basalt-layout-sm {
1339
+ margin-inline: var(--basalt-space-layout-sm);
1340
+ }
1341
+ .mx-basalt-layout-xl {
1342
+ margin-inline: var(--basalt-space-layout-xl);
1343
+ }
1344
+ .mx-basalt-menu-inset {
1345
+ margin-inline: var(--basalt-space-menu-inset);
1346
+ }
1347
+ .-my-basalt-space-lg {
1348
+ margin-block: calc(var(--basalt-space-lg) * -1);
1349
+ }
1350
+ .my-basalt-card {
1351
+ margin-block: var(--basalt-space-card);
1352
+ }
1353
+ .my-basalt-card-lg {
1354
+ margin-block: var(--basalt-space-card-lg);
740
1355
  }
741
- .mt-0\.5 {
742
- margin-top: calc(var(--spacing) * 0.5);
1356
+ .my-basalt-card-sm {
1357
+ margin-block: var(--basalt-space-card-sm);
743
1358
  }
744
- .mt-1 {
745
- margin-top: var(--spacing);
1359
+ .my-basalt-card-xl {
1360
+ margin-block: var(--basalt-space-card-xl);
746
1361
  }
747
- .mt-2 {
748
- margin-top: calc(var(--spacing) * 2);
1362
+ .my-basalt-layout {
1363
+ margin-block: var(--basalt-space-layout);
749
1364
  }
750
- .mt-3 {
751
- margin-top: calc(var(--spacing) * 3);
1365
+ .my-basalt-layout-lg {
1366
+ margin-block: var(--basalt-space-layout-lg);
752
1367
  }
753
- .mt-6 {
754
- margin-top: calc(var(--spacing) * 6);
1368
+ .my-basalt-layout-sm {
1369
+ margin-block: var(--basalt-space-layout-sm);
755
1370
  }
756
- .mr-1 {
757
- margin-right: var(--spacing);
1371
+ .my-basalt-layout-xl {
1372
+ margin-block: var(--basalt-space-layout-xl);
758
1373
  }
759
- .mr-2 {
760
- margin-right: calc(var(--spacing) * 2);
1374
+ .ms-auto {
1375
+ margin-inline-start: auto;
761
1376
  }
762
- .mb-1 {
763
- margin-bottom: var(--spacing);
1377
+ .mt-auto {
1378
+ margin-top: auto;
764
1379
  }
765
- .mb-2 {
766
- margin-bottom: calc(var(--spacing) * 2);
1380
+ .mt-basalt-content-gap {
1381
+ margin-top: var(--basalt-space-content-gap);
767
1382
  }
768
- .mb-3 {
769
- margin-bottom: calc(var(--spacing) * 3);
1383
+ .mt-basalt-layout {
1384
+ margin-top: var(--basalt-space-layout);
770
1385
  }
771
- .-ml-0\.5 {
772
- margin-left: calc(var(--spacing) * -0.5);
1386
+ .mt-basalt-space-lg {
1387
+ margin-top: var(--basalt-space-lg);
1388
+ }
1389
+ .mt-basalt-space-sm {
1390
+ margin-top: var(--basalt-space-sm);
1391
+ }
1392
+ .mt-basalt-space-xs {
1393
+ margin-top: var(--basalt-space-xs);
1394
+ }
1395
+ .-mr-\[calc\(\(var\(--basalt-size-action\)-var\(--basalt-size-icon\)\)\/2\)\] {
1396
+ margin-right: calc(calc((var(--basalt-size-action) - var(--basalt-size-icon)) / 2) * -1);
1397
+ }
1398
+ .mr-basalt-space-lg {
1399
+ margin-right: var(--basalt-space-lg);
1400
+ }
1401
+ .mr-basalt-space-sm {
1402
+ margin-right: var(--basalt-space-sm);
1403
+ }
1404
+ .mb-basalt-field-gap {
1405
+ margin-bottom: var(--basalt-space-field-gap);
1406
+ }
1407
+ .mb-basalt-space-lg {
1408
+ margin-bottom: var(--basalt-space-lg);
1409
+ }
1410
+ .mb-basalt-space-sm {
1411
+ margin-bottom: var(--basalt-space-sm);
1412
+ }
1413
+ .-ml-\[calc\(\(var\(--basalt-size-action\)-var\(--basalt-size-icon\)\)\/2\)\] {
1414
+ margin-left: calc(calc((var(--basalt-size-action) - var(--basalt-size-icon)) / 2) * -1);
1415
+ }
1416
+ .-ml-basalt-space-xs {
1417
+ margin-left: calc(var(--basalt-space-xs) * -1);
1418
+ }
1419
+ .ml-\[calc\(var\(--basalt-space-row-x\)\+var\(--basalt-size-icon-lg\)\/2\)\] {
1420
+ margin-left: calc(var(--basalt-space-row-x) + var(--basalt-size-icon-lg) / 2);
773
1421
  }
774
1422
  .ml-auto {
775
1423
  margin-left: auto;
776
1424
  }
1425
+ .ml-basalt-control-gap {
1426
+ margin-left: var(--basalt-space-control-gap);
1427
+ }
1428
+ .ml-basalt-row-x {
1429
+ margin-left: var(--basalt-space-row-x);
1430
+ }
777
1431
  .box-border {
778
1432
  box-sizing: border-box;
779
1433
  }
@@ -804,105 +1458,128 @@
804
1458
  .aspect-square {
805
1459
  aspect-ratio: 1 / 1;
806
1460
  }
807
- .size-1\.5 {
808
- width: calc(var(--spacing) * 1.5);
809
- height: calc(var(--spacing) * 1.5);
1461
+ .size-basalt-1_5 {
1462
+ width: var(--basalt-space-1_5);
1463
+ height: var(--basalt-space-1_5);
810
1464
  }
811
- .size-3 {
812
- width: calc(var(--spacing) * 3);
813
- height: calc(var(--spacing) * 3);
1465
+ .size-basalt-2 {
1466
+ width: var(--basalt-space-2);
1467
+ height: var(--basalt-space-2);
814
1468
  }
815
- .size-3\.5 {
816
- width: calc(var(--spacing) * 3.5);
817
- height: calc(var(--spacing) * 3.5);
1469
+ .size-basalt-5 {
1470
+ width: var(--basalt-space-5);
1471
+ height: var(--basalt-space-5);
818
1472
  }
819
- .size-4 {
820
- width: calc(var(--spacing) * 4);
821
- height: calc(var(--spacing) * 4);
1473
+ .size-basalt-6 {
1474
+ width: var(--basalt-space-6);
1475
+ height: var(--basalt-space-6);
822
1476
  }
823
- .size-5 {
824
- width: calc(var(--spacing) * 5);
825
- height: calc(var(--spacing) * 5);
1477
+ .size-basalt-7 {
1478
+ width: var(--basalt-space-7);
1479
+ height: var(--basalt-space-7);
826
1480
  }
827
- .size-6 {
828
- width: calc(var(--spacing) * 6);
829
- height: calc(var(--spacing) * 6);
1481
+ .size-basalt-8 {
1482
+ width: var(--basalt-space-8);
1483
+ height: var(--basalt-space-8);
830
1484
  }
831
- .size-7 {
832
- width: calc(var(--spacing) * 7);
833
- height: calc(var(--spacing) * 7);
1485
+ .size-basalt-10 {
1486
+ width: var(--basalt-space-10);
1487
+ height: var(--basalt-space-10);
834
1488
  }
835
- .size-8 {
836
- width: calc(var(--spacing) * 8);
837
- height: calc(var(--spacing) * 8);
1489
+ .size-basalt-icon {
1490
+ width: var(--basalt-size-icon);
1491
+ height: var(--basalt-size-icon);
838
1492
  }
839
- .size-10 {
840
- width: calc(var(--spacing) * 10);
841
- height: calc(var(--spacing) * 10);
1493
+ .size-basalt-icon-display {
1494
+ width: var(--basalt-size-icon-display);
1495
+ height: var(--basalt-size-icon-display);
1496
+ }
1497
+ .size-basalt-icon-lg {
1498
+ width: var(--basalt-size-icon-lg);
1499
+ height: var(--basalt-size-icon-lg);
1500
+ }
1501
+ .size-basalt-icon-sm {
1502
+ width: var(--basalt-size-icon-sm);
1503
+ height: var(--basalt-size-icon-sm);
842
1504
  }
843
1505
  .size-full {
844
1506
  width: 100%;
845
1507
  height: 100%;
846
1508
  }
847
- .h-0\.5 {
848
- height: calc(var(--spacing) * 0.5);
1509
+ .h-7 {
1510
+ height: calc(var(--spacing) * 7);
849
1511
  }
850
- .h-1\.5 {
851
- height: calc(var(--spacing) * 1.5);
1512
+ .h-\[1lh\] {
1513
+ height: 1lh;
852
1514
  }
853
- .h-2 {
854
- height: calc(var(--spacing) * 2);
1515
+ .h-\[3\.25rem\] {
1516
+ height: 3.25rem;
855
1517
  }
856
- .h-2\.5 {
857
- height: calc(var(--spacing) * 2.5);
1518
+ .h-\[var\(--basalt-line-body\)\] {
1519
+ height: var(--basalt-line-body);
858
1520
  }
859
- .h-3 {
860
- height: calc(var(--spacing) * 3);
1521
+ .h-\[var\(--basalt-line-row\)\] {
1522
+ height: var(--basalt-line-row);
861
1523
  }
862
- .h-3\.5 {
863
- height: calc(var(--spacing) * 3.5);
1524
+ .h-auto {
1525
+ height: auto;
864
1526
  }
865
- .h-4 {
866
- height: calc(var(--spacing) * 4);
1527
+ .h-basalt-0_5 {
1528
+ height: var(--basalt-space-0_5);
867
1529
  }
868
- .h-5 {
869
- height: calc(var(--spacing) * 5);
1530
+ .h-basalt-1_5 {
1531
+ height: var(--basalt-space-1_5);
870
1532
  }
871
- .h-6 {
872
- height: calc(var(--spacing) * 6);
1533
+ .h-basalt-2 {
1534
+ height: var(--basalt-space-2);
873
1535
  }
874
- .h-7 {
875
- height: calc(var(--spacing) * 7);
1536
+ .h-basalt-2_5 {
1537
+ height: var(--basalt-space-2_5);
876
1538
  }
877
- .h-8 {
878
- height: calc(var(--spacing) * 8);
1539
+ .h-basalt-3 {
1540
+ height: var(--basalt-space-3);
879
1541
  }
880
- .h-9 {
881
- height: calc(var(--spacing) * 9);
1542
+ .h-basalt-3_5 {
1543
+ height: var(--basalt-space-3_5);
882
1544
  }
883
- .h-10 {
884
- height: calc(var(--spacing) * 10);
1545
+ .h-basalt-4 {
1546
+ height: var(--basalt-space-4);
885
1547
  }
886
- .h-11 {
887
- height: calc(var(--spacing) * 11);
1548
+ .h-basalt-5 {
1549
+ height: var(--basalt-space-5);
888
1550
  }
889
- .h-14 {
890
- height: calc(var(--spacing) * 14);
1551
+ .h-basalt-6 {
1552
+ height: var(--basalt-space-6);
891
1553
  }
892
- .h-16 {
893
- height: calc(var(--spacing) * 16);
1554
+ .h-basalt-8 {
1555
+ height: var(--basalt-space-8);
894
1556
  }
895
- .h-36 {
896
- height: calc(var(--spacing) * 36);
1557
+ .h-basalt-9 {
1558
+ height: var(--basalt-space-9);
897
1559
  }
898
- .h-80 {
899
- height: calc(var(--spacing) * 80);
1560
+ .h-basalt-14 {
1561
+ height: var(--basalt-space-14);
900
1562
  }
901
- .h-\[52px\] {
902
- height: 52px;
1563
+ .h-basalt-16 {
1564
+ height: var(--basalt-space-16);
903
1565
  }
904
- .h-auto {
905
- height: auto;
1566
+ .h-basalt-36 {
1567
+ height: var(--basalt-space-36);
1568
+ }
1569
+ .h-basalt-80 {
1570
+ height: var(--basalt-space-80);
1571
+ }
1572
+ .h-basalt-check {
1573
+ height: var(--basalt-size-check);
1574
+ }
1575
+ .h-basalt-check-sm {
1576
+ height: var(--basalt-size-check-sm);
1577
+ }
1578
+ .h-basalt-table-row {
1579
+ height: var(--basalt-size-table-row);
1580
+ }
1581
+ .h-dvh {
1582
+ height: 100dvh;
906
1583
  }
907
1584
  .h-full {
908
1585
  height: 100%;
@@ -913,14 +1590,8 @@
913
1590
  .h-screen {
914
1591
  height: 100vh;
915
1592
  }
916
- .max-h-40 {
917
- max-height: calc(var(--spacing) * 40);
918
- }
919
- .max-h-60 {
920
- max-height: calc(var(--spacing) * 60);
921
- }
922
- .max-h-\[300px\] {
923
- max-height: 300px;
1593
+ .max-h-\[18\.75rem\] {
1594
+ max-height: 18.75rem;
924
1595
  }
925
1596
  .max-h-\[calc\(100vh-2rem\)\] {
926
1597
  max-height: calc(100vh - 2rem);
@@ -928,113 +1599,161 @@
928
1599
  .max-h-\[var\(--radix-popover-content-available-height\)\] {
929
1600
  max-height: var(--radix-popover-content-available-height);
930
1601
  }
1602
+ .max-h-basalt-60 {
1603
+ max-height: var(--basalt-space-60);
1604
+ }
1605
+ .max-h-basalt-64 {
1606
+ max-height: var(--basalt-space-64);
1607
+ }
1608
+ .max-h-dvh {
1609
+ max-height: 100dvh;
1610
+ }
931
1611
  .min-h-0 {
932
1612
  min-height: 0px;
933
1613
  }
934
- .min-h-9 {
935
- min-height: calc(var(--spacing) * 9);
1614
+ .min-h-\[1\.5rem\] {
1615
+ min-height: 1.5rem;
936
1616
  }
937
- .min-h-11 {
938
- min-height: calc(var(--spacing) * 11);
1617
+ .min-h-\[calc\(1lh\+var\(--basalt-space-2\)\)\] {
1618
+ min-height: calc(1lh + var(--basalt-space-2));
939
1619
  }
940
- .min-h-\[24px\] {
941
- min-height: 24px;
1620
+ .min-h-\[calc\(var\(--basalt-line-row\)\+2\*var\(--basalt-space-lg\)\)\] {
1621
+ min-height: calc(var(--basalt-line-row) + 2 * var(--basalt-space-lg));
942
1622
  }
943
- .min-h-\[40px\] {
944
- min-height: 40px;
1623
+ .min-h-basalt-action {
1624
+ min-height: var(--basalt-size-action);
945
1625
  }
946
- .min-h-\[64px\] {
947
- min-height: 64px;
1626
+ .min-h-basalt-control {
1627
+ min-height: var(--basalt-size-control);
948
1628
  }
949
- .min-h-\[80px\] {
950
- min-height: 80px;
1629
+ .min-h-basalt-control-inset {
1630
+ min-height: var(--basalt-size-control-inset);
951
1631
  }
952
- .min-h-\[96px\] {
953
- min-height: 96px;
1632
+ .min-h-basalt-menu-row {
1633
+ min-height: var(--basalt-size-menu-row);
954
1634
  }
955
- .w-0\.5 {
956
- width: calc(var(--spacing) * 0.5);
1635
+ .min-h-basalt-textarea {
1636
+ min-height: var(--basalt-size-textarea);
957
1637
  }
958
- .w-1 {
959
- width: var(--spacing);
1638
+ .min-h-basalt-textarea-lg {
1639
+ min-height: var(--basalt-size-textarea-lg);
960
1640
  }
961
- .w-1\.5 {
962
- width: calc(var(--spacing) * 1.5);
1641
+ .min-h-basalt-textarea-sm {
1642
+ min-height: var(--basalt-size-textarea-sm);
963
1643
  }
964
- .w-2 {
965
- width: calc(var(--spacing) * 2);
1644
+ .min-h-basalt-touch {
1645
+ min-height: var(--basalt-size-touch);
966
1646
  }
967
- .w-2\.5 {
968
- width: calc(var(--spacing) * 2.5);
1647
+ .min-h-dvh {
1648
+ min-height: 100dvh;
969
1649
  }
970
- .w-3 {
971
- width: calc(var(--spacing) * 3);
1650
+ .w-72 {
1651
+ width: calc(var(--spacing) * 72);
972
1652
  }
973
- .w-3\.5 {
974
- width: calc(var(--spacing) * 3.5);
1653
+ .w-\[4\.25rem\] {
1654
+ width: 4.25rem;
975
1655
  }
976
- .w-4 {
977
- width: calc(var(--spacing) * 4);
1656
+ .w-\[calc\(100\%-2\*var\(--basalt-space-row-x\)\)\] {
1657
+ width: calc(100% - 2 * var(--basalt-space-row-x));
978
1658
  }
979
- .w-5 {
980
- width: calc(var(--spacing) * 5);
1659
+ .w-\[calc\(100\%-var\(--basalt-space-menu-inset\)\*2\)\] {
1660
+ width: calc(100% - var(--basalt-space-menu-inset) * 2);
981
1661
  }
982
- .w-7 {
983
- width: calc(var(--spacing) * 7);
1662
+ .w-\[var\(--radix-popover-trigger-width\)\] {
1663
+ width: var(--radix-popover-trigger-width);
984
1664
  }
985
- .w-8 {
986
- width: calc(var(--spacing) * 8);
1665
+ .w-\[var\(--radix-select-trigger-width\)\] {
1666
+ width: var(--radix-select-trigger-width);
987
1667
  }
988
- .w-9 {
989
- width: calc(var(--spacing) * 9);
1668
+ .w-auto {
1669
+ width: auto;
990
1670
  }
991
- .w-10 {
992
- width: calc(var(--spacing) * 10);
1671
+ .w-auto\! {
1672
+ width: auto !important;
993
1673
  }
994
- .w-11 {
995
- width: calc(var(--spacing) * 11);
1674
+ .w-basalt-0_5 {
1675
+ width: var(--basalt-space-0_5);
996
1676
  }
997
- .w-12 {
998
- width: calc(var(--spacing) * 12);
1677
+ .w-basalt-1 {
1678
+ width: var(--basalt-space-1);
999
1679
  }
1000
- .w-16 {
1001
- width: calc(var(--spacing) * 16);
1680
+ .w-basalt-1_5 {
1681
+ width: var(--basalt-space-1_5);
1002
1682
  }
1003
- .w-28 {
1004
- width: calc(var(--spacing) * 28);
1683
+ .w-basalt-2 {
1684
+ width: var(--basalt-space-2);
1005
1685
  }
1006
- .w-36 {
1007
- width: calc(var(--spacing) * 36);
1686
+ .w-basalt-2_5 {
1687
+ width: var(--basalt-space-2_5);
1008
1688
  }
1009
- .w-56 {
1010
- width: calc(var(--spacing) * 56);
1689
+ .w-basalt-3 {
1690
+ width: var(--basalt-space-3);
1011
1691
  }
1012
- .w-64 {
1013
- width: calc(var(--spacing) * 64);
1692
+ .w-basalt-3_5 {
1693
+ width: var(--basalt-space-3_5);
1014
1694
  }
1015
- .w-72 {
1016
- width: calc(var(--spacing) * 72);
1695
+ .w-basalt-4 {
1696
+ width: var(--basalt-space-4);
1017
1697
  }
1018
- .w-80 {
1019
- width: calc(var(--spacing) * 80);
1698
+ .w-basalt-5 {
1699
+ width: var(--basalt-space-5);
1020
1700
  }
1021
- .w-\[68px\] {
1022
- width: 68px;
1701
+ .w-basalt-7 {
1702
+ width: var(--basalt-space-7);
1023
1703
  }
1024
- .w-\[calc\(100\%-0\.75rem\)\] {
1025
- width: calc(100% - 0.75rem);
1704
+ .w-basalt-8 {
1705
+ width: var(--basalt-space-8);
1026
1706
  }
1027
- .w-\[var\(--radix-popover-trigger-width\)\] {
1028
- width: var(--radix-popover-trigger-width);
1707
+ .w-basalt-9 {
1708
+ width: var(--basalt-space-9);
1029
1709
  }
1030
- .w-\[var\(--radix-select-trigger-width\)\] {
1031
- width: var(--radix-select-trigger-width);
1710
+ .w-basalt-10 {
1711
+ width: var(--basalt-space-10);
1032
1712
  }
1033
- .w-auto {
1034
- width: auto;
1713
+ .w-basalt-11 {
1714
+ width: var(--basalt-space-11);
1035
1715
  }
1036
- .w-auto\! {
1037
- width: auto !important;
1716
+ .w-basalt-16 {
1717
+ width: var(--basalt-space-16);
1718
+ }
1719
+ .w-basalt-28 {
1720
+ width: var(--basalt-space-28);
1721
+ }
1722
+ .w-basalt-36 {
1723
+ width: var(--basalt-space-36);
1724
+ }
1725
+ .w-basalt-56 {
1726
+ width: var(--basalt-space-56);
1727
+ }
1728
+ .w-basalt-64 {
1729
+ width: var(--basalt-space-64);
1730
+ }
1731
+ .w-basalt-72 {
1732
+ width: var(--basalt-space-72);
1733
+ }
1734
+ .w-basalt-80 {
1735
+ width: var(--basalt-space-80);
1736
+ }
1737
+ .w-basalt-check {
1738
+ width: var(--basalt-size-check);
1739
+ }
1740
+ .w-basalt-check-sm {
1741
+ width: var(--basalt-size-check-sm);
1742
+ }
1743
+ .w-basalt-control {
1744
+ width: var(--basalt-size-control);
1745
+ }
1746
+ .w-basalt-icon {
1747
+ width: var(--basalt-size-icon);
1748
+ }
1749
+ .w-basalt-icon-lg {
1750
+ width: var(--basalt-size-icon-lg);
1751
+ }
1752
+ .w-basalt-icon-sm {
1753
+ width: var(--basalt-size-icon-sm);
1754
+ }
1755
+ .w-basalt-rail {
1756
+ width: var(--basalt-size-rail);
1038
1757
  }
1039
1758
  .w-fit {
1040
1759
  width: fit-content;
@@ -1048,6 +1767,15 @@
1048
1767
  .w-px {
1049
1768
  width: 1px;
1050
1769
  }
1770
+ .max-w-3xl {
1771
+ max-width: var(--container-3xl);
1772
+ }
1773
+ .max-w-\[65ch\] {
1774
+ max-width: 65ch;
1775
+ }
1776
+ .max-w-\[90\%\] {
1777
+ max-width: 90%;
1778
+ }
1051
1779
  .max-w-\[92\%\] {
1052
1780
  max-width: 92%;
1053
1781
  }
@@ -1060,17 +1788,23 @@
1060
1788
  .min-w-0 {
1061
1789
  min-width: 0px;
1062
1790
  }
1063
- .min-w-4 {
1064
- min-width: calc(var(--spacing) * 4);
1791
+ .min-w-basalt-4 {
1792
+ min-width: var(--basalt-space-4);
1793
+ }
1794
+ .min-w-basalt-9 {
1795
+ min-width: var(--basalt-space-9);
1796
+ }
1797
+ .min-w-basalt-10 {
1798
+ min-width: var(--basalt-space-10);
1065
1799
  }
1066
- .min-w-9 {
1067
- min-width: calc(var(--spacing) * 9);
1800
+ .min-w-basalt-40 {
1801
+ min-width: var(--basalt-space-40);
1068
1802
  }
1069
- .min-w-16 {
1070
- min-width: calc(var(--spacing) * 16);
1803
+ .min-w-basalt-control {
1804
+ min-width: var(--basalt-size-control);
1071
1805
  }
1072
- .min-w-40 {
1073
- min-width: calc(var(--spacing) * 40);
1806
+ .min-w-max {
1807
+ min-width: max-content;
1074
1808
  }
1075
1809
  .flex-1 {
1076
1810
  flex: 1;
@@ -1105,10 +1839,6 @@
1105
1839
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
1106
1840
  translate: var(--tw-translate-x) var(--tw-translate-y);
1107
1841
  }
1108
- .-translate-x-full {
1109
- --tw-translate-x: -100%;
1110
- translate: var(--tw-translate-x) var(--tw-translate-y);
1111
- }
1112
1842
  .-translate-y-1\/2 {
1113
1843
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
1114
1844
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -1122,9 +1852,6 @@
1122
1852
  .rotate-180 {
1123
1853
  rotate: 180deg;
1124
1854
  }
1125
- .animate-basalt-loader {
1126
- animation: basalt-loader-spin 1.4s linear infinite;
1127
- }
1128
1855
  .animate-basalt-shimmer {
1129
1856
  animation: basalt-shimmer 1.5s ease-in-out infinite;
1130
1857
  }
@@ -1152,6 +1879,12 @@
1152
1879
  .resize-none {
1153
1880
  resize: none;
1154
1881
  }
1882
+ .list-decimal {
1883
+ list-style-type: decimal;
1884
+ }
1885
+ .list-disc {
1886
+ list-style-type: disc;
1887
+ }
1155
1888
  .list-none {
1156
1889
  list-style-type: none;
1157
1890
  }
@@ -1164,9 +1897,15 @@
1164
1897
  .grid-cols-2 {
1165
1898
  grid-template-columns: repeat(2, minmax(0, 1fr));
1166
1899
  }
1900
+ .grid-cols-3 {
1901
+ grid-template-columns: repeat(3, minmax(0, 1fr));
1902
+ }
1167
1903
  .grid-cols-7 {
1168
1904
  grid-template-columns: repeat(7, minmax(0, 1fr));
1169
1905
  }
1906
+ .grid-cols-\[repeat\(auto-fit\,minmax\(min\(100\%\,9rem\)\,1fr\)\)\] {
1907
+ grid-template-columns: repeat(auto-fit,minmax(min(100%, 9rem),1fr));
1908
+ }
1170
1909
  .flex-col {
1171
1910
  flex-direction: column;
1172
1911
  }
@@ -1203,62 +1942,224 @@
1203
1942
  .justify-start {
1204
1943
  justify-content: flex-start;
1205
1944
  }
1206
- .gap-0\.5 {
1207
- gap: calc(var(--spacing) * 0.5);
1945
+ .gap-basalt-card {
1946
+ gap: var(--basalt-space-card);
1947
+ }
1948
+ .gap-basalt-card-lg {
1949
+ gap: var(--basalt-space-card-lg);
1950
+ }
1951
+ .gap-basalt-card-sm {
1952
+ gap: var(--basalt-space-card-sm);
1953
+ }
1954
+ .gap-basalt-card-xl {
1955
+ gap: var(--basalt-space-card-xl);
1956
+ }
1957
+ .gap-basalt-content-gap {
1958
+ gap: var(--basalt-space-content-gap);
1959
+ }
1960
+ .gap-basalt-control-gap {
1961
+ gap: var(--basalt-space-control-gap);
1962
+ }
1963
+ .gap-basalt-field-gap {
1964
+ gap: var(--basalt-space-field-gap);
1208
1965
  }
1209
- .gap-1 {
1210
- gap: var(--spacing);
1966
+ .gap-basalt-layout {
1967
+ gap: var(--basalt-space-layout);
1211
1968
  }
1212
- .gap-1\.5 {
1213
- gap: calc(var(--spacing) * 1.5);
1969
+ .gap-basalt-layout-lg {
1970
+ gap: var(--basalt-space-layout-lg);
1214
1971
  }
1215
- .gap-2 {
1216
- gap: calc(var(--spacing) * 2);
1972
+ .gap-basalt-layout-sm {
1973
+ gap: var(--basalt-space-layout-sm);
1217
1974
  }
1218
- .gap-3 {
1219
- gap: calc(var(--spacing) * 3);
1975
+ .gap-basalt-layout-xl {
1976
+ gap: var(--basalt-space-layout-xl);
1220
1977
  }
1221
- .gap-4 {
1222
- gap: calc(var(--spacing) * 4);
1978
+ .gap-basalt-nav-gap {
1979
+ gap: var(--basalt-space-nav-gap);
1980
+ }
1981
+ .gap-basalt-row-gap {
1982
+ gap: var(--basalt-space-row-gap);
1983
+ }
1984
+ .gap-basalt-space-lg {
1985
+ gap: var(--basalt-space-lg);
1986
+ }
1987
+ .gap-basalt-space-md {
1988
+ gap: var(--basalt-space-md);
1989
+ }
1990
+ .gap-basalt-space-sm {
1991
+ gap: var(--basalt-space-sm);
1992
+ }
1993
+ .gap-basalt-space-xs {
1994
+ gap: var(--basalt-space-xs);
1223
1995
  }
1224
1996
  .gap-px {
1225
1997
  gap: 1px;
1226
1998
  }
1227
- :where(.space-y-0\.5 > :not(:last-child)) {
1999
+ :where(.space-y-basalt-card > :not(:last-child)) {
2000
+ --tw-space-y-reverse: 0;
2001
+ margin-block-start: calc(var(--basalt-space-card) * var(--tw-space-y-reverse));
2002
+ margin-block-end: calc(var(--basalt-space-card) * calc(1 - var(--tw-space-y-reverse)));
2003
+ }
2004
+ :where(.space-y-basalt-card-lg > :not(:last-child)) {
1228
2005
  --tw-space-y-reverse: 0;
1229
- margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
1230
- margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
2006
+ margin-block-start: calc(var(--basalt-space-card-lg) * var(--tw-space-y-reverse));
2007
+ margin-block-end: calc(var(--basalt-space-card-lg) * calc(1 - var(--tw-space-y-reverse)));
1231
2008
  }
1232
- :where(.space-y-1 > :not(:last-child)) {
2009
+ :where(.space-y-basalt-card-sm > :not(:last-child)) {
1233
2010
  --tw-space-y-reverse: 0;
1234
- margin-block-start: calc(var(--spacing) * var(--tw-space-y-reverse));
1235
- margin-block-end: calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)));
2011
+ margin-block-start: calc(var(--basalt-space-card-sm) * var(--tw-space-y-reverse));
2012
+ margin-block-end: calc(var(--basalt-space-card-sm) * calc(1 - var(--tw-space-y-reverse)));
1236
2013
  }
1237
- :where(.space-y-1\.5 > :not(:last-child)) {
2014
+ :where(.space-y-basalt-card-xl > :not(:last-child)) {
1238
2015
  --tw-space-y-reverse: 0;
1239
- margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
1240
- margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
2016
+ margin-block-start: calc(var(--basalt-space-card-xl) * var(--tw-space-y-reverse));
2017
+ margin-block-end: calc(var(--basalt-space-card-xl) * calc(1 - var(--tw-space-y-reverse)));
1241
2018
  }
1242
- :where(.space-y-2 > :not(:last-child)) {
2019
+ :where(.space-y-basalt-content-gap > :not(:last-child)) {
1243
2020
  --tw-space-y-reverse: 0;
1244
- margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
1245
- margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
2021
+ margin-block-start: calc(var(--basalt-space-content-gap) * var(--tw-space-y-reverse));
2022
+ margin-block-end: calc(var(--basalt-space-content-gap) * calc(1 - var(--tw-space-y-reverse)));
1246
2023
  }
1247
- :where(.space-y-3 > :not(:last-child)) {
2024
+ :where(.space-y-basalt-layout > :not(:last-child)) {
1248
2025
  --tw-space-y-reverse: 0;
1249
- margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
1250
- margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
2026
+ margin-block-start: calc(var(--basalt-space-layout) * var(--tw-space-y-reverse));
2027
+ margin-block-end: calc(var(--basalt-space-layout) * calc(1 - var(--tw-space-y-reverse)));
1251
2028
  }
1252
- :where(.space-y-4 > :not(:last-child)) {
2029
+ :where(.space-y-basalt-layout-lg > :not(:last-child)) {
1253
2030
  --tw-space-y-reverse: 0;
1254
- margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
1255
- margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
2031
+ margin-block-start: calc(var(--basalt-space-layout-lg) * var(--tw-space-y-reverse));
2032
+ margin-block-end: calc(var(--basalt-space-layout-lg) * calc(1 - var(--tw-space-y-reverse)));
2033
+ }
2034
+ :where(.space-y-basalt-layout-sm > :not(:last-child)) {
2035
+ --tw-space-y-reverse: 0;
2036
+ margin-block-start: calc(var(--basalt-space-layout-sm) * var(--tw-space-y-reverse));
2037
+ margin-block-end: calc(var(--basalt-space-layout-sm) * calc(1 - var(--tw-space-y-reverse)));
2038
+ }
2039
+ :where(.space-y-basalt-layout-xl > :not(:last-child)) {
2040
+ --tw-space-y-reverse: 0;
2041
+ margin-block-start: calc(var(--basalt-space-layout-xl) * var(--tw-space-y-reverse));
2042
+ margin-block-end: calc(var(--basalt-space-layout-xl) * calc(1 - var(--tw-space-y-reverse)));
2043
+ }
2044
+ :where(.space-y-basalt-space-lg > :not(:last-child)) {
2045
+ --tw-space-y-reverse: 0;
2046
+ margin-block-start: calc(var(--basalt-space-lg) * var(--tw-space-y-reverse));
2047
+ margin-block-end: calc(var(--basalt-space-lg) * calc(1 - var(--tw-space-y-reverse)));
2048
+ }
2049
+ :where(.space-y-basalt-space-md > :not(:last-child)) {
2050
+ --tw-space-y-reverse: 0;
2051
+ margin-block-start: calc(var(--basalt-space-md) * var(--tw-space-y-reverse));
2052
+ margin-block-end: calc(var(--basalt-space-md) * calc(1 - var(--tw-space-y-reverse)));
2053
+ }
2054
+ :where(.space-y-basalt-space-sm > :not(:last-child)) {
2055
+ --tw-space-y-reverse: 0;
2056
+ margin-block-start: calc(var(--basalt-space-sm) * var(--tw-space-y-reverse));
2057
+ margin-block-end: calc(var(--basalt-space-sm) * calc(1 - var(--tw-space-y-reverse)));
2058
+ }
2059
+ :where(.space-y-basalt-space-xs > :not(:last-child)) {
2060
+ --tw-space-y-reverse: 0;
2061
+ margin-block-start: calc(var(--basalt-space-xs) * var(--tw-space-y-reverse));
2062
+ margin-block-end: calc(var(--basalt-space-xs) * calc(1 - var(--tw-space-y-reverse)));
2063
+ }
2064
+ .gap-x-basalt-card {
2065
+ column-gap: var(--basalt-space-card);
1256
2066
  }
1257
- .gap-x-8 {
1258
- column-gap: calc(var(--spacing) * 8);
2067
+ .gap-x-basalt-card-lg {
2068
+ column-gap: var(--basalt-space-card-lg);
1259
2069
  }
1260
- .gap-y-3 {
1261
- row-gap: calc(var(--spacing) * 3);
2070
+ .gap-x-basalt-card-sm {
2071
+ column-gap: var(--basalt-space-card-sm);
2072
+ }
2073
+ .gap-x-basalt-card-xl {
2074
+ column-gap: var(--basalt-space-card-xl);
2075
+ }
2076
+ .gap-x-basalt-layout {
2077
+ column-gap: var(--basalt-space-layout);
2078
+ }
2079
+ .gap-x-basalt-layout-lg {
2080
+ column-gap: var(--basalt-space-layout-lg);
2081
+ }
2082
+ .gap-x-basalt-layout-sm {
2083
+ column-gap: var(--basalt-space-layout-sm);
2084
+ }
2085
+ .gap-x-basalt-layout-xl {
2086
+ column-gap: var(--basalt-space-layout-xl);
2087
+ }
2088
+ .gap-x-basalt-row-gap {
2089
+ column-gap: var(--basalt-space-row-gap);
2090
+ }
2091
+ .gap-x-basalt-space-lg {
2092
+ column-gap: var(--basalt-space-lg);
2093
+ }
2094
+ .gap-x-basalt-space-md {
2095
+ column-gap: var(--basalt-space-md);
2096
+ }
2097
+ :where(.space-x-basalt-card > :not(:last-child)) {
2098
+ --tw-space-x-reverse: 0;
2099
+ margin-inline-start: calc(var(--basalt-space-card) * var(--tw-space-x-reverse));
2100
+ margin-inline-end: calc(var(--basalt-space-card) * calc(1 - var(--tw-space-x-reverse)));
2101
+ }
2102
+ :where(.space-x-basalt-card-lg > :not(:last-child)) {
2103
+ --tw-space-x-reverse: 0;
2104
+ margin-inline-start: calc(var(--basalt-space-card-lg) * var(--tw-space-x-reverse));
2105
+ margin-inline-end: calc(var(--basalt-space-card-lg) * calc(1 - var(--tw-space-x-reverse)));
2106
+ }
2107
+ :where(.space-x-basalt-card-sm > :not(:last-child)) {
2108
+ --tw-space-x-reverse: 0;
2109
+ margin-inline-start: calc(var(--basalt-space-card-sm) * var(--tw-space-x-reverse));
2110
+ margin-inline-end: calc(var(--basalt-space-card-sm) * calc(1 - var(--tw-space-x-reverse)));
2111
+ }
2112
+ :where(.space-x-basalt-card-xl > :not(:last-child)) {
2113
+ --tw-space-x-reverse: 0;
2114
+ margin-inline-start: calc(var(--basalt-space-card-xl) * var(--tw-space-x-reverse));
2115
+ margin-inline-end: calc(var(--basalt-space-card-xl) * calc(1 - var(--tw-space-x-reverse)));
2116
+ }
2117
+ :where(.space-x-basalt-layout > :not(:last-child)) {
2118
+ --tw-space-x-reverse: 0;
2119
+ margin-inline-start: calc(var(--basalt-space-layout) * var(--tw-space-x-reverse));
2120
+ margin-inline-end: calc(var(--basalt-space-layout) * calc(1 - var(--tw-space-x-reverse)));
2121
+ }
2122
+ :where(.space-x-basalt-layout-lg > :not(:last-child)) {
2123
+ --tw-space-x-reverse: 0;
2124
+ margin-inline-start: calc(var(--basalt-space-layout-lg) * var(--tw-space-x-reverse));
2125
+ margin-inline-end: calc(var(--basalt-space-layout-lg) * calc(1 - var(--tw-space-x-reverse)));
2126
+ }
2127
+ :where(.space-x-basalt-layout-sm > :not(:last-child)) {
2128
+ --tw-space-x-reverse: 0;
2129
+ margin-inline-start: calc(var(--basalt-space-layout-sm) * var(--tw-space-x-reverse));
2130
+ margin-inline-end: calc(var(--basalt-space-layout-sm) * calc(1 - var(--tw-space-x-reverse)));
2131
+ }
2132
+ :where(.space-x-basalt-layout-xl > :not(:last-child)) {
2133
+ --tw-space-x-reverse: 0;
2134
+ margin-inline-start: calc(var(--basalt-space-layout-xl) * var(--tw-space-x-reverse));
2135
+ margin-inline-end: calc(var(--basalt-space-layout-xl) * calc(1 - var(--tw-space-x-reverse)));
2136
+ }
2137
+ .gap-y-basalt-card {
2138
+ row-gap: var(--basalt-space-card);
2139
+ }
2140
+ .gap-y-basalt-card-lg {
2141
+ row-gap: var(--basalt-space-card-lg);
2142
+ }
2143
+ .gap-y-basalt-card-sm {
2144
+ row-gap: var(--basalt-space-card-sm);
2145
+ }
2146
+ .gap-y-basalt-card-xl {
2147
+ row-gap: var(--basalt-space-card-xl);
2148
+ }
2149
+ .gap-y-basalt-layout {
2150
+ row-gap: var(--basalt-space-layout);
2151
+ }
2152
+ .gap-y-basalt-layout-lg {
2153
+ row-gap: var(--basalt-space-layout-lg);
2154
+ }
2155
+ .gap-y-basalt-layout-sm {
2156
+ row-gap: var(--basalt-space-layout-sm);
2157
+ }
2158
+ .gap-y-basalt-layout-xl {
2159
+ row-gap: var(--basalt-space-layout-xl);
2160
+ }
2161
+ .gap-y-basalt-space-xs {
2162
+ row-gap: var(--basalt-space-xs);
1262
2163
  }
1263
2164
  .self-stretch {
1264
2165
  align-self: stretch;
@@ -1268,6 +2169,9 @@
1268
2169
  text-overflow: ellipsis;
1269
2170
  white-space: nowrap;
1270
2171
  }
2172
+ .overflow-auto {
2173
+ overflow: auto;
2174
+ }
1271
2175
  .overflow-hidden {
1272
2176
  overflow: hidden;
1273
2177
  }
@@ -1292,71 +2196,54 @@
1292
2196
  .overflow-y-hidden\! {
1293
2197
  overflow-y: hidden !important;
1294
2198
  }
1295
- .overscroll-y-contain {
1296
- overscroll-behavior-y: contain;
1297
- }
1298
- .rounded {
1299
- border-radius: 0.25rem;
1300
- }
1301
- .rounded-2xl {
1302
- border-radius: var(--radius-2xl);
1303
- }
1304
- .rounded-\[1px\] {
1305
- border-radius: 1px;
2199
+ .overscroll-x-contain {
2200
+ overscroll-behavior-x: contain;
1306
2201
  }
1307
- .rounded-\[4px\] {
1308
- border-radius: 4px;
2202
+ .overscroll-y-auto {
2203
+ overscroll-behavior-y: auto;
1309
2204
  }
1310
- .rounded-\[16px\] {
1311
- border-radius: 16px;
2205
+ .overscroll-y-contain {
2206
+ overscroll-behavior-y: contain;
1312
2207
  }
1313
2208
  .rounded-\[inherit\] {
1314
2209
  border-radius: inherit;
1315
2210
  }
2211
+ .rounded-basalt-full {
2212
+ border-radius: var(--basalt-radius-full);
2213
+ }
1316
2214
  .rounded-basalt-lg {
1317
- border-radius: var(--basalt-radius);
2215
+ border-radius: var(--basalt-radius-lg);
1318
2216
  }
1319
2217
  .rounded-basalt-md {
1320
- border-radius: calc(var(--basalt-radius) - 2px);
2218
+ border-radius: var(--basalt-radius-md);
1321
2219
  }
1322
2220
  .rounded-basalt-sm {
1323
- border-radius: calc(var(--basalt-radius) - 4px);
1324
- }
1325
- .rounded-full {
1326
- border-radius: calc(infinity * 1px);
1327
- }
1328
- .rounded-lg {
1329
- border-radius: var(--radius-lg);
1330
- }
1331
- .rounded-md {
1332
- border-radius: var(--radius-md);
2221
+ border-radius: var(--basalt-radius-sm);
1333
2222
  }
1334
2223
  .rounded-none {
1335
2224
  border-radius: 0;
1336
2225
  }
1337
- .rounded-sm {
1338
- border-radius: var(--radius-sm);
1339
- }
1340
- .rounded-xs {
1341
- border-radius: var(--radius-xs);
2226
+ .rounded-t-basalt-md {
2227
+ border-top-left-radius: var(--basalt-radius-md);
2228
+ border-top-right-radius: var(--basalt-radius-md);
1342
2229
  }
1343
2230
  .rounded-l-basalt-md {
1344
- border-top-left-radius: calc(var(--basalt-radius) - 2px);
1345
- border-bottom-left-radius: calc(var(--basalt-radius) - 2px);
2231
+ border-top-left-radius: var(--basalt-radius-md);
2232
+ border-bottom-left-radius: var(--basalt-radius-md);
1346
2233
  }
1347
2234
  .rounded-r-basalt-md {
1348
- border-top-right-radius: calc(var(--basalt-radius) - 2px);
1349
- border-bottom-right-radius: calc(var(--basalt-radius) - 2px);
2235
+ border-top-right-radius: var(--basalt-radius-md);
2236
+ border-bottom-right-radius: var(--basalt-radius-md);
1350
2237
  }
1351
- .rounded-r-sm {
1352
- border-top-right-radius: var(--radius-sm);
1353
- border-bottom-right-radius: var(--radius-sm);
2238
+ .rounded-r-basalt-sm {
2239
+ border-top-right-radius: var(--basalt-radius-sm);
2240
+ border-bottom-right-radius: var(--basalt-radius-sm);
1354
2241
  }
1355
- .rounded-br-md {
1356
- border-bottom-right-radius: var(--radius-md);
2242
+ .rounded-br-basalt-md {
2243
+ border-bottom-right-radius: var(--basalt-radius-md);
1357
2244
  }
1358
- .rounded-bl-md {
1359
- border-bottom-left-radius: var(--radius-md);
2245
+ .rounded-bl-basalt-md {
2246
+ border-bottom-left-radius: var(--basalt-radius-md);
1360
2247
  }
1361
2248
  .border {
1362
2249
  border-style: var(--tw-border-style);
@@ -1398,9 +2285,6 @@
1398
2285
  --tw-border-style: none;
1399
2286
  border-style: none;
1400
2287
  }
1401
- .border-amber-300 {
1402
- border-color: var(--color-amber-300);
1403
- }
1404
2288
  .border-basalt-border {
1405
2289
  border-color: hsl(var(--basalt-border));
1406
2290
  }
@@ -1416,9 +2300,6 @@
1416
2300
  border-color: color-mix(in oklab, hsl(var(--basalt-border)) 60%, transparent);
1417
2301
  }
1418
2302
  }
1419
- .border-basalt-chart-1 {
1420
- border-color: hsl(var(--basalt-chart-1));
1421
- }
1422
2303
  .border-basalt-destructive {
1423
2304
  border-color: hsl(var(--basalt-destructive));
1424
2305
  }
@@ -1431,48 +2312,72 @@
1431
2312
  .border-basalt-primary {
1432
2313
  border-color: hsl(var(--basalt-primary));
1433
2314
  }
1434
- .border-blue-300 {
1435
- border-color: var(--color-blue-300);
2315
+ .border-basalt-tag-amber-border {
2316
+ border-color: var(--basalt-tag-amber-border);
2317
+ }
2318
+ .border-basalt-tag-blue-border {
2319
+ border-color: var(--basalt-tag-blue-border);
1436
2320
  }
1437
- .border-emerald-300 {
1438
- border-color: var(--color-emerald-300);
2321
+ .border-basalt-tag-danger-border {
2322
+ border-color: var(--basalt-tag-danger-border);
1439
2323
  }
1440
- .border-red-300 {
1441
- border-color: var(--color-red-300);
2324
+ .border-basalt-tag-info-border {
2325
+ border-color: var(--basalt-tag-info-border);
1442
2326
  }
1443
- .border-rose-300 {
1444
- border-color: var(--color-rose-300);
2327
+ .border-basalt-tag-rose-border {
2328
+ border-color: var(--basalt-tag-rose-border);
1445
2329
  }
1446
- .border-sky-300 {
1447
- border-color: var(--color-sky-300);
2330
+ .border-basalt-tag-slate-border {
2331
+ border-color: var(--basalt-tag-slate-border);
1448
2332
  }
1449
- .border-slate-300 {
1450
- border-color: var(--color-slate-300);
2333
+ .border-basalt-tag-success-border {
2334
+ border-color: var(--basalt-tag-success-border);
1451
2335
  }
1452
- .border-teal-300 {
1453
- border-color: var(--color-teal-300);
2336
+ .border-basalt-tag-teal-border {
2337
+ border-color: var(--basalt-tag-teal-border);
2338
+ }
2339
+ .border-basalt-tag-violet-border {
2340
+ border-color: var(--basalt-tag-violet-border);
2341
+ }
2342
+ .border-basalt-tag-warning-border {
2343
+ border-color: var(--basalt-tag-warning-border);
1454
2344
  }
1455
2345
  .border-transparent {
1456
2346
  border-color: transparent;
1457
2347
  }
1458
- .border-violet-300 {
1459
- border-color: var(--color-violet-300);
1460
- }
1461
2348
  .border-t-transparent {
1462
2349
  border-top-color: transparent;
1463
2350
  }
1464
2351
  .border-l-transparent {
1465
2352
  border-left-color: transparent;
1466
2353
  }
1467
- .bg-amber-50 {
1468
- background-color: var(--color-amber-50);
2354
+ .bg-\[hsl\(var\(--basalt-chart-green\)\)\] {
2355
+ background-color: hsl(var(--basalt-chart-green));
2356
+ }
2357
+ .bg-\[hsl\(var\(--basalt-chart-yellow\)\)\] {
2358
+ background-color: hsl(var(--basalt-chart-yellow));
1469
2359
  }
1470
2360
  .bg-basalt-accent {
1471
2361
  background-color: hsl(var(--basalt-accent));
1472
2362
  }
2363
+ .bg-basalt-backdrop\/40 {
2364
+ background-color: hsl(var(--basalt-backdrop));
2365
+ @supports (color: color-mix(in lab, red, red)) {
2366
+ background-color: color-mix(in oklab, hsl(var(--basalt-backdrop)) 40%, transparent);
2367
+ }
2368
+ }
2369
+ .bg-basalt-backdrop\/50 {
2370
+ background-color: hsl(var(--basalt-backdrop));
2371
+ @supports (color: color-mix(in lab, red, red)) {
2372
+ background-color: color-mix(in oklab, hsl(var(--basalt-backdrop)) 50%, transparent);
2373
+ }
2374
+ }
1473
2375
  .bg-basalt-background {
1474
2376
  background-color: hsl(var(--basalt-background));
1475
2377
  }
2378
+ .bg-basalt-badge-green {
2379
+ background-color: hsl(var(--basalt-badge-green));
2380
+ }
1476
2381
  .bg-basalt-badge-purple {
1477
2382
  background-color: hsl(var(--basalt-badge-purple));
1478
2383
  }
@@ -1500,12 +2405,15 @@
1500
2405
  .bg-basalt-destructive {
1501
2406
  background-color: hsl(var(--basalt-destructive));
1502
2407
  }
2408
+ .bg-basalt-foreground\/10 {
2409
+ background-color: hsl(var(--basalt-foreground));
2410
+ @supports (color: color-mix(in lab, red, red)) {
2411
+ background-color: color-mix(in oklab, hsl(var(--basalt-foreground)) 10%, transparent);
2412
+ }
2413
+ }
1503
2414
  .bg-basalt-heatmap-green-1 {
1504
2415
  background-color: hsl(var(--basalt-heatmap-green-1));
1505
2416
  }
1506
- .bg-basalt-heatmap-green-3 {
1507
- background-color: hsl(var(--basalt-heatmap-green-3));
1508
- }
1509
2417
  .bg-basalt-info {
1510
2418
  background-color: hsl(var(--basalt-info));
1511
2419
  }
@@ -1521,6 +2429,9 @@
1521
2429
  background-color: color-mix(in oklab, hsl(var(--basalt-muted-foreground)) 60%, transparent);
1522
2430
  }
1523
2431
  }
2432
+ .bg-basalt-on-solid {
2433
+ background-color: hsl(var(--basalt-on-solid));
2434
+ }
1524
2435
  .bg-basalt-popover {
1525
2436
  background-color: hsl(var(--basalt-popover));
1526
2437
  }
@@ -1536,269 +2447,384 @@
1536
2447
  .bg-basalt-secondary {
1537
2448
  background-color: hsl(var(--basalt-secondary));
1538
2449
  }
2450
+ .bg-basalt-selected {
2451
+ background-color: hsl(var(--basalt-selected));
2452
+ }
2453
+ .bg-basalt-tag-amber {
2454
+ background-color: var(--basalt-tag-amber);
2455
+ }
2456
+ .bg-basalt-tag-blue {
2457
+ background-color: var(--basalt-tag-blue);
2458
+ }
2459
+ .bg-basalt-tag-danger {
2460
+ background-color: var(--basalt-tag-danger);
2461
+ }
2462
+ .bg-basalt-tag-info {
2463
+ background-color: var(--basalt-tag-info);
2464
+ }
2465
+ .bg-basalt-tag-rose {
2466
+ background-color: var(--basalt-tag-rose);
2467
+ }
2468
+ .bg-basalt-tag-slate {
2469
+ background-color: var(--basalt-tag-slate);
2470
+ }
2471
+ .bg-basalt-tag-success {
2472
+ background-color: var(--basalt-tag-success);
2473
+ }
2474
+ .bg-basalt-tag-teal {
2475
+ background-color: var(--basalt-tag-teal);
2476
+ }
2477
+ .bg-basalt-tag-violet {
2478
+ background-color: var(--basalt-tag-violet);
2479
+ }
2480
+ .bg-basalt-tag-warning {
2481
+ background-color: var(--basalt-tag-warning);
2482
+ }
1539
2483
  .bg-basalt-warning {
1540
2484
  background-color: hsl(var(--basalt-warning));
1541
2485
  }
1542
2486
  .bg-basalt-warning-tint {
1543
2487
  background-color: hsl(var(--basalt-warning-tint));
1544
2488
  }
1545
- .bg-black\/40 {
1546
- background-color: color-mix(in srgb, #000 40%, transparent);
2489
+ .bg-current {
2490
+ background-color: currentcolor;
2491
+ }
2492
+ .bg-transparent {
2493
+ background-color: transparent;
2494
+ }
2495
+ .bg-gradient-to-r {
2496
+ --tw-gradient-position: to right in oklab;
2497
+ background-image: linear-gradient(var(--tw-gradient-stops));
2498
+ }
2499
+ .from-transparent {
2500
+ --tw-gradient-from: transparent;
2501
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2502
+ }
2503
+ .via-basalt-backdrop\/10 {
2504
+ --tw-gradient-via: hsl(var(--basalt-backdrop));
1547
2505
  @supports (color: color-mix(in lab, red, red)) {
1548
- background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
2506
+ --tw-gradient-via: color-mix(in oklab, hsl(var(--basalt-backdrop)) 10%, transparent);
1549
2507
  }
2508
+ --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
2509
+ --tw-gradient-stops: var(--tw-gradient-via-stops);
2510
+ }
2511
+ .to-transparent {
2512
+ --tw-gradient-to: transparent;
2513
+ --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2514
+ }
2515
+ .fill-basalt-popover {
2516
+ fill: hsl(var(--basalt-popover));
2517
+ }
2518
+ .fill-current {
2519
+ fill: currentcolor;
2520
+ }
2521
+ .stroke-basalt-border {
2522
+ stroke: hsl(var(--basalt-border));
2523
+ }
2524
+ .p-0 {
2525
+ padding: 0px;
2526
+ }
2527
+ .p-basalt-card {
2528
+ padding: var(--basalt-space-card);
2529
+ }
2530
+ .p-basalt-card-lg {
2531
+ padding: var(--basalt-space-card-lg);
2532
+ }
2533
+ .p-basalt-card-sm {
2534
+ padding: var(--basalt-space-card-sm);
2535
+ }
2536
+ .p-basalt-card-xl {
2537
+ padding: var(--basalt-space-card-xl);
2538
+ }
2539
+ .p-basalt-layout {
2540
+ padding: var(--basalt-space-layout);
2541
+ }
2542
+ .p-basalt-layout-lg {
2543
+ padding: var(--basalt-space-layout-lg);
2544
+ }
2545
+ .p-basalt-layout-sm {
2546
+ padding: var(--basalt-space-layout-sm);
2547
+ }
2548
+ .p-basalt-layout-xl {
2549
+ padding: var(--basalt-space-layout-xl);
2550
+ }
2551
+ .p-basalt-menu-inset {
2552
+ padding: var(--basalt-space-menu-inset);
2553
+ }
2554
+ .p-basalt-nav-inset {
2555
+ padding: var(--basalt-space-nav-inset);
1550
2556
  }
1551
- .bg-black\/50 {
1552
- background-color: color-mix(in srgb, #000 50%, transparent);
1553
- @supports (color: color-mix(in lab, red, red)) {
1554
- background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
1555
- }
2557
+ .p-basalt-space-lg {
2558
+ padding: var(--basalt-space-lg);
1556
2559
  }
1557
- .bg-blue-50 {
1558
- background-color: var(--color-blue-50);
2560
+ .p-basalt-space-sm {
2561
+ padding: var(--basalt-space-sm);
1559
2562
  }
1560
- .bg-current {
1561
- background-color: currentcolor;
2563
+ .p-basalt-space-xs {
2564
+ padding: var(--basalt-space-xs);
1562
2565
  }
1563
- .bg-emerald-50 {
1564
- background-color: var(--color-emerald-50);
2566
+ .p-px {
2567
+ padding: 1px;
1565
2568
  }
1566
- .bg-red-50 {
1567
- background-color: var(--color-red-50);
2569
+ .px-\[calc\(var\(--basalt-space-panel-x\)-var\(--basalt-space-row-x\)\)\] {
2570
+ padding-inline: calc(var(--basalt-space-panel-x) - var(--basalt-space-row-x));
1568
2571
  }
1569
- .bg-rose-50 {
1570
- background-color: var(--color-rose-50);
2572
+ .px-basalt-card {
2573
+ padding-inline: var(--basalt-space-card);
1571
2574
  }
1572
- .bg-sky-50 {
1573
- background-color: var(--color-sky-50);
2575
+ .px-basalt-card-lg {
2576
+ padding-inline: var(--basalt-space-card-lg);
1574
2577
  }
1575
- .bg-slate-100 {
1576
- background-color: var(--color-slate-100);
2578
+ .px-basalt-card-sm {
2579
+ padding-inline: var(--basalt-space-card-sm);
1577
2580
  }
1578
- .bg-teal-50 {
1579
- background-color: var(--color-teal-50);
2581
+ .px-basalt-card-xl {
2582
+ padding-inline: var(--basalt-space-card-xl);
1580
2583
  }
1581
- .bg-transparent {
1582
- background-color: transparent;
2584
+ .px-basalt-control-x {
2585
+ padding-inline: var(--basalt-space-control-x);
1583
2586
  }
1584
- .bg-violet-50 {
1585
- background-color: var(--color-violet-50);
2587
+ .px-basalt-control-x-lg {
2588
+ padding-inline: var(--basalt-space-control-x-lg);
1586
2589
  }
1587
- .bg-white {
1588
- background-color: var(--color-white);
2590
+ .px-basalt-layout {
2591
+ padding-inline: var(--basalt-space-layout);
1589
2592
  }
1590
- .bg-gradient-to-r {
1591
- --tw-gradient-position: to right in oklab;
1592
- background-image: linear-gradient(var(--tw-gradient-stops));
2593
+ .px-basalt-layout-lg {
2594
+ padding-inline: var(--basalt-space-layout-lg);
1593
2595
  }
1594
- .from-transparent {
1595
- --tw-gradient-from: transparent;
1596
- --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2596
+ .px-basalt-layout-sm {
2597
+ padding-inline: var(--basalt-space-layout-sm);
1597
2598
  }
1598
- .via-black\/10 {
1599
- --tw-gradient-via: color-mix(in srgb, #000 10%, transparent);
1600
- @supports (color: color-mix(in lab, red, red)) {
1601
- --tw-gradient-via: color-mix(in oklab, var(--color-black) 10%, transparent);
1602
- }
1603
- --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
1604
- --tw-gradient-stops: var(--tw-gradient-via-stops);
2599
+ .px-basalt-layout-xl {
2600
+ padding-inline: var(--basalt-space-layout-xl);
1605
2601
  }
1606
- .to-transparent {
1607
- --tw-gradient-to: transparent;
1608
- --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
2602
+ .px-basalt-menu-x {
2603
+ padding-inline: var(--basalt-space-menu-x);
1609
2604
  }
1610
- .fill-basalt-border {
1611
- fill: hsl(var(--basalt-border));
2605
+ .px-basalt-nav-inset {
2606
+ padding-inline: var(--basalt-space-nav-inset);
1612
2607
  }
1613
- .fill-basalt-popover {
1614
- fill: hsl(var(--basalt-popover));
2608
+ .px-basalt-panel-x {
2609
+ padding-inline: var(--basalt-space-panel-x);
1615
2610
  }
1616
- .fill-current {
1617
- fill: currentcolor;
2611
+ .px-basalt-row-x {
2612
+ padding-inline: var(--basalt-space-row-x);
1618
2613
  }
1619
- .p-0 {
1620
- padding: 0px;
2614
+ .px-basalt-space-lg {
2615
+ padding-inline: var(--basalt-space-lg);
1621
2616
  }
1622
- .p-0\.5 {
1623
- padding: calc(var(--spacing) * 0.5);
2617
+ .px-basalt-space-md {
2618
+ padding-inline: var(--basalt-space-md);
1624
2619
  }
1625
- .p-1 {
1626
- padding: var(--spacing);
2620
+ .px-basalt-space-sm {
2621
+ padding-inline: var(--basalt-space-sm);
1627
2622
  }
1628
- .p-2 {
1629
- padding: calc(var(--spacing) * 2);
2623
+ .py-basalt-card {
2624
+ padding-block: var(--basalt-space-card);
1630
2625
  }
1631
- .p-3 {
1632
- padding: calc(var(--spacing) * 3);
2626
+ .py-basalt-card-lg {
2627
+ padding-block: var(--basalt-space-card-lg);
1633
2628
  }
1634
- .p-4 {
1635
- padding: calc(var(--spacing) * 4);
2629
+ .py-basalt-card-sm {
2630
+ padding-block: var(--basalt-space-card-sm);
1636
2631
  }
1637
- .p-6 {
1638
- padding: calc(var(--spacing) * 6);
2632
+ .py-basalt-card-xl {
2633
+ padding-block: var(--basalt-space-card-xl);
1639
2634
  }
1640
- .p-8 {
1641
- padding: calc(var(--spacing) * 8);
2635
+ .py-basalt-control-y {
2636
+ padding-block: var(--basalt-space-control-y);
1642
2637
  }
1643
- .p-px {
1644
- padding: 1px;
2638
+ .py-basalt-layout {
2639
+ padding-block: var(--basalt-space-layout);
2640
+ }
2641
+ .py-basalt-layout-lg {
2642
+ padding-block: var(--basalt-space-layout-lg);
1645
2643
  }
1646
- .px-1 {
1647
- padding-inline: var(--spacing);
2644
+ .py-basalt-layout-sm {
2645
+ padding-block: var(--basalt-space-layout-sm);
1648
2646
  }
1649
- .px-1\.5 {
1650
- padding-inline: calc(var(--spacing) * 1.5);
2647
+ .py-basalt-layout-xl {
2648
+ padding-block: var(--basalt-space-layout-xl);
1651
2649
  }
1652
- .px-2 {
1653
- padding-inline: calc(var(--spacing) * 2);
2650
+ .py-basalt-menu-inset {
2651
+ padding-block: var(--basalt-space-menu-inset);
1654
2652
  }
1655
- .px-2\.5 {
1656
- padding-inline: calc(var(--spacing) * 2.5);
2653
+ .py-basalt-menu-y {
2654
+ padding-block: var(--basalt-space-menu-y);
1657
2655
  }
1658
- .px-3 {
1659
- padding-inline: calc(var(--spacing) * 3);
2656
+ .py-basalt-nav-inset {
2657
+ padding-block: var(--basalt-space-nav-inset);
1660
2658
  }
1661
- .px-3\.5 {
1662
- padding-inline: calc(var(--spacing) * 3.5);
2659
+ .py-basalt-panel-y {
2660
+ padding-block: var(--basalt-space-panel-y);
1663
2661
  }
1664
- .px-4 {
1665
- padding-inline: calc(var(--spacing) * 4);
2662
+ .py-basalt-row-y {
2663
+ padding-block: var(--basalt-space-row-y);
1666
2664
  }
1667
- .px-6 {
1668
- padding-inline: calc(var(--spacing) * 6);
2665
+ .py-basalt-space-lg {
2666
+ padding-block: var(--basalt-space-lg);
1669
2667
  }
1670
- .py-0 {
1671
- padding-block: 0px;
2668
+ .py-basalt-space-md {
2669
+ padding-block: var(--basalt-space-md);
1672
2670
  }
1673
- .py-0\.5 {
1674
- padding-block: calc(var(--spacing) * 0.5);
2671
+ .py-basalt-space-sm {
2672
+ padding-block: var(--basalt-space-sm);
1675
2673
  }
1676
- .py-1 {
1677
- padding-block: var(--spacing);
2674
+ .py-basalt-space-xs {
2675
+ padding-block: var(--basalt-space-xs);
1678
2676
  }
1679
- .py-1\.5 {
1680
- padding-block: calc(var(--spacing) * 1.5);
2677
+ .py-basalt-table-y {
2678
+ padding-block: var(--basalt-space-table-y);
1681
2679
  }
1682
- .py-2 {
1683
- padding-block: calc(var(--spacing) * 2);
2680
+ .ps-basalt-table-edge {
2681
+ padding-inline-start: var(--basalt-space-table-edge);
1684
2682
  }
1685
- .py-2\.5 {
1686
- padding-block: calc(var(--spacing) * 2.5);
2683
+ .ps-basalt-table-x {
2684
+ padding-inline-start: var(--basalt-space-table-x);
1687
2685
  }
1688
- .py-3 {
1689
- padding-block: calc(var(--spacing) * 3);
2686
+ .pe-basalt-table-edge {
2687
+ padding-inline-end: var(--basalt-space-table-edge);
1690
2688
  }
1691
- .py-4 {
1692
- padding-block: calc(var(--spacing) * 4);
2689
+ .pe-basalt-table-x {
2690
+ padding-inline-end: var(--basalt-space-table-x);
1693
2691
  }
1694
- .py-6 {
1695
- padding-block: calc(var(--spacing) * 6);
2692
+ .pt-basalt-layout {
2693
+ padding-top: var(--basalt-space-layout);
1696
2694
  }
1697
- .py-7 {
1698
- padding-block: calc(var(--spacing) * 7);
2695
+ .pt-basalt-layout-sm {
2696
+ padding-top: var(--basalt-space-layout-sm);
1699
2697
  }
1700
- .py-8 {
1701
- padding-block: calc(var(--spacing) * 8);
2698
+ .pt-basalt-nav-gap {
2699
+ padding-top: var(--basalt-space-nav-gap);
1702
2700
  }
1703
- .pt-0\.5 {
1704
- padding-top: calc(var(--spacing) * 0.5);
2701
+ .pt-basalt-space-lg {
2702
+ padding-top: var(--basalt-space-lg);
1705
2703
  }
1706
- .pt-3 {
1707
- padding-top: calc(var(--spacing) * 3);
2704
+ .pr-basalt-row-x {
2705
+ padding-right: var(--basalt-space-row-x);
1708
2706
  }
1709
- .pr-1 {
1710
- padding-right: var(--spacing);
2707
+ .pr-basalt-space-lg {
2708
+ padding-right: var(--basalt-space-lg);
1711
2709
  }
1712
- .pr-2 {
1713
- padding-right: calc(var(--spacing) * 2);
2710
+ .pr-basalt-space-sm {
2711
+ padding-right: var(--basalt-space-sm);
1714
2712
  }
1715
- .pr-3 {
1716
- padding-right: calc(var(--spacing) * 3);
2713
+ .pb-basalt-panel-y {
2714
+ padding-bottom: var(--basalt-space-panel-y);
1717
2715
  }
1718
- .pr-8 {
1719
- padding-right: calc(var(--spacing) * 8);
2716
+ .pb-basalt-row-y {
2717
+ padding-bottom: var(--basalt-space-row-y);
1720
2718
  }
1721
- .pr-10 {
1722
- padding-right: calc(var(--spacing) * 10);
2719
+ .pb-basalt-space-lg {
2720
+ padding-bottom: var(--basalt-space-lg);
1723
2721
  }
1724
- .pb-1 {
1725
- padding-bottom: var(--spacing);
2722
+ .pb-basalt-space-sm {
2723
+ padding-bottom: var(--basalt-space-sm);
1726
2724
  }
1727
- .pl-2 {
1728
- padding-left: calc(var(--spacing) * 2);
2725
+ .pl-\[calc\(var\(--basalt-size-icon-lg\)\/2\+var\(--basalt-space-row-gap\)\)\] {
2726
+ padding-left: calc(var(--basalt-size-icon-lg) / 2 + var(--basalt-space-row-gap));
1729
2727
  }
1730
- .pl-3 {
1731
- padding-left: calc(var(--spacing) * 3);
2728
+ .pl-basalt-card-xl {
2729
+ padding-left: var(--basalt-space-card-xl);
1732
2730
  }
1733
- .pl-4 {
1734
- padding-left: calc(var(--spacing) * 4);
2731
+ .pl-basalt-row-content {
2732
+ padding-left: var(--basalt-space-row-content);
1735
2733
  }
1736
- .pl-14 {
1737
- padding-left: calc(var(--spacing) * 14);
2734
+ .pl-basalt-space-lg {
2735
+ padding-left: var(--basalt-space-lg);
1738
2736
  }
1739
2737
  .text-center {
1740
2738
  text-align: center;
1741
2739
  }
2740
+ .text-end {
2741
+ text-align: end;
2742
+ }
1742
2743
  .text-left {
1743
2744
  text-align: left;
1744
2745
  }
1745
2746
  .text-right {
1746
2747
  text-align: right;
1747
2748
  }
2749
+ .text-start {
2750
+ text-align: start;
2751
+ }
1748
2752
  .align-middle {
1749
2753
  vertical-align: middle;
1750
2754
  }
2755
+ .font-basalt-display {
2756
+ font-family: var(--basalt-font-display);
2757
+ }
1751
2758
  .font-mono {
1752
2759
  font-family: var(--font-mono);
1753
2760
  }
1754
- .text-2xl {
1755
- font-size: var(--text-2xl);
1756
- line-height: var(--tw-leading, var(--text-2xl--line-height));
2761
+ .text-basalt-2xl {
2762
+ font-size: var(--basalt-text-2xl);
2763
+ line-height: var(--tw-leading, var(--basalt-leading-body));
2764
+ }
2765
+ .text-basalt-3xl {
2766
+ font-size: var(--basalt-text-3xl);
2767
+ line-height: var(--tw-leading, var(--basalt-leading-body));
2768
+ }
2769
+ .text-basalt-4xl {
2770
+ font-size: var(--basalt-text-4xl);
2771
+ line-height: var(--tw-leading, var(--basalt-leading-body));
2772
+ }
2773
+ .text-basalt-base {
2774
+ font-size: var(--basalt-text-base);
2775
+ line-height: var(--tw-leading, var(--basalt-leading-body));
1757
2776
  }
1758
- .text-base {
1759
- font-size: var(--text-base);
1760
- line-height: var(--tw-leading, var(--text-base--line-height));
2777
+ .text-basalt-code {
2778
+ font-size: var(--basalt-text-code);
2779
+ line-height: var(--tw-leading, var(--basalt-leading-body));
1761
2780
  }
1762
- .text-lg {
1763
- font-size: var(--text-lg);
1764
- line-height: var(--tw-leading, var(--text-lg--line-height));
2781
+ .text-basalt-lg {
2782
+ font-size: var(--basalt-text-lg);
2783
+ line-height: var(--tw-leading, var(--basalt-leading-body));
1765
2784
  }
1766
- .text-sm {
1767
- font-size: var(--text-sm);
1768
- line-height: var(--tw-leading, var(--text-sm--line-height));
2785
+ .text-basalt-sm {
2786
+ font-size: var(--basalt-text-sm);
2787
+ line-height: var(--tw-leading, var(--basalt-leading-body));
1769
2788
  }
1770
- .text-xl {
1771
- font-size: var(--text-xl);
1772
- line-height: var(--tw-leading, var(--text-xl--line-height));
2789
+ .text-basalt-xl {
2790
+ font-size: var(--basalt-text-xl);
2791
+ line-height: var(--tw-leading, var(--basalt-leading-body));
1773
2792
  }
1774
- .text-xs {
1775
- font-size: var(--text-xs);
1776
- line-height: var(--tw-leading, var(--text-xs--line-height));
2793
+ .text-basalt-xs {
2794
+ font-size: var(--basalt-text-xs);
2795
+ line-height: var(--tw-leading, var(--basalt-leading-body));
1777
2796
  }
1778
- .text-\[10px\] {
1779
- font-size: 10px;
2797
+ .leading-\[var\(--basalt-leading-banner\)\] {
2798
+ --tw-leading: var(--basalt-leading-banner);
2799
+ line-height: var(--basalt-leading-banner);
1780
2800
  }
1781
- .text-\[11px\] {
1782
- font-size: 11px;
2801
+ .leading-\[var\(--basalt-line-body\)\] {
2802
+ --tw-leading: var(--basalt-line-body);
2803
+ line-height: var(--basalt-line-body);
1783
2804
  }
1784
- .text-\[13px\] {
1785
- font-size: 13px;
2805
+ .leading-\[var\(--basalt-line-compact\)\] {
2806
+ --tw-leading: var(--basalt-line-compact);
2807
+ line-height: var(--basalt-line-compact);
1786
2808
  }
1787
- .leading-4 {
1788
- --tw-leading: calc(var(--spacing) * 4);
1789
- line-height: calc(var(--spacing) * 4);
2809
+ .leading-\[var\(--basalt-line-relaxed\)\] {
2810
+ --tw-leading: var(--basalt-line-relaxed);
2811
+ line-height: var(--basalt-line-relaxed);
1790
2812
  }
1791
- .leading-5 {
1792
- --tw-leading: calc(var(--spacing) * 5);
1793
- line-height: calc(var(--spacing) * 5);
2813
+ .leading-\[var\(--basalt-line-row\)\] {
2814
+ --tw-leading: var(--basalt-line-row);
2815
+ line-height: var(--basalt-line-row);
1794
2816
  }
1795
- .leading-6 {
1796
- --tw-leading: calc(var(--spacing) * 6);
1797
- line-height: calc(var(--spacing) * 6);
2817
+ .leading-basalt-relaxed {
2818
+ --tw-leading: var(--basalt-leading-relaxed);
2819
+ line-height: var(--basalt-leading-relaxed);
1798
2820
  }
1799
- .leading-none {
1800
- --tw-leading: 1;
1801
- line-height: 1;
2821
+ .leading-basalt-row {
2822
+ --tw-leading: var(--basalt-line-row);
2823
+ line-height: var(--basalt-line-row);
2824
+ }
2825
+ .leading-basalt-tight {
2826
+ --tw-leading: var(--basalt-leading-tight);
2827
+ line-height: var(--basalt-leading-tight);
1802
2828
  }
1803
2829
  .font-medium {
1804
2830
  --tw-font-weight: var(--font-weight-medium);
@@ -1812,10 +2838,6 @@
1812
2838
  --tw-font-weight: var(--font-weight-semibold);
1813
2839
  font-weight: var(--font-weight-semibold);
1814
2840
  }
1815
- .tracking-\[0\.14em\] {
1816
- --tw-tracking: 0.14em;
1817
- letter-spacing: 0.14em;
1818
- }
1819
2841
  .tracking-tight {
1820
2842
  --tw-tracking: var(--tracking-tight);
1821
2843
  letter-spacing: var(--tracking-tight);
@@ -1832,14 +2854,38 @@
1832
2854
  --tw-tracking: var(--tracking-widest);
1833
2855
  letter-spacing: var(--tracking-widest);
1834
2856
  }
2857
+ .\[overflow-wrap\:anywhere\] {
2858
+ overflow-wrap: anywhere;
2859
+ }
1835
2860
  .break-words {
1836
2861
  overflow-wrap: break-word;
1837
2862
  }
2863
+ .wrap-anywhere {
2864
+ overflow-wrap: anywhere;
2865
+ }
1838
2866
  .wrap-break-word {
1839
2867
  overflow-wrap: break-word;
1840
2868
  }
1841
- .text-amber-900 {
1842
- color: var(--color-amber-900);
2869
+ .whitespace-normal {
2870
+ white-space: normal;
2871
+ }
2872
+ .whitespace-nowrap {
2873
+ white-space: nowrap;
2874
+ }
2875
+ .whitespace-pre {
2876
+ white-space: pre;
2877
+ }
2878
+ .whitespace-pre-wrap {
2879
+ white-space: pre-wrap;
2880
+ }
2881
+ .text-basalt-badge-green-foreground {
2882
+ color: hsl(var(--basalt-badge-green-foreground));
2883
+ }
2884
+ .text-basalt-badge-purple-foreground {
2885
+ color: hsl(var(--basalt-badge-purple-foreground));
2886
+ }
2887
+ .text-basalt-badge-teal-foreground {
2888
+ color: hsl(var(--basalt-badge-teal-foreground));
1843
2889
  }
1844
2890
  .text-basalt-card-foreground {
1845
2891
  color: hsl(var(--basalt-card-foreground));
@@ -1853,6 +2899,9 @@
1853
2899
  .text-basalt-danger {
1854
2900
  color: hsl(var(--basalt-danger));
1855
2901
  }
2902
+ .text-basalt-danger-foreground {
2903
+ color: hsl(var(--basalt-danger-foreground));
2904
+ }
1856
2905
  .text-basalt-destructive {
1857
2906
  color: hsl(var(--basalt-destructive));
1858
2907
  }
@@ -1862,15 +2911,24 @@
1862
2911
  .text-basalt-foreground {
1863
2912
  color: hsl(var(--basalt-foreground));
1864
2913
  }
1865
- .text-basalt-heatmap-green-4 {
1866
- color: hsl(var(--basalt-heatmap-green-4));
1867
- }
1868
2914
  .text-basalt-info {
1869
2915
  color: hsl(var(--basalt-info));
1870
2916
  }
2917
+ .text-basalt-info-foreground {
2918
+ color: hsl(var(--basalt-info-foreground));
2919
+ }
1871
2920
  .text-basalt-muted-foreground {
1872
2921
  color: hsl(var(--basalt-muted-foreground));
1873
2922
  }
2923
+ .text-basalt-on-solid {
2924
+ color: hsl(var(--basalt-on-solid));
2925
+ }
2926
+ .text-basalt-on-solid\/80 {
2927
+ color: hsl(var(--basalt-on-solid));
2928
+ @supports (color: color-mix(in lab, red, red)) {
2929
+ color: color-mix(in oklab, hsl(var(--basalt-on-solid)) 80%, transparent);
2930
+ }
2931
+ }
1874
2932
  .text-basalt-popover-foreground {
1875
2933
  color: hsl(var(--basalt-popover-foreground));
1876
2934
  }
@@ -1880,47 +2938,53 @@
1880
2938
  .text-basalt-primary-foreground {
1881
2939
  color: hsl(var(--basalt-primary-foreground));
1882
2940
  }
1883
- .text-basalt-warning {
1884
- color: hsl(var(--basalt-warning));
2941
+ .text-basalt-primary-foreground\/80 {
2942
+ color: hsl(var(--basalt-primary-foreground));
2943
+ @supports (color: color-mix(in lab, red, red)) {
2944
+ color: color-mix(in oklab, hsl(var(--basalt-primary-foreground)) 80%, transparent);
2945
+ }
1885
2946
  }
1886
- .text-blue-800 {
1887
- color: var(--color-blue-800);
2947
+ .text-basalt-tag-amber-foreground {
2948
+ color: var(--basalt-tag-amber-foreground);
1888
2949
  }
1889
- .text-current {
1890
- color: currentcolor;
2950
+ .text-basalt-tag-blue-foreground {
2951
+ color: var(--basalt-tag-blue-foreground);
1891
2952
  }
1892
- .text-emerald-800 {
1893
- color: var(--color-emerald-800);
2953
+ .text-basalt-tag-danger-foreground {
2954
+ color: var(--basalt-tag-danger-foreground);
1894
2955
  }
1895
- .text-inherit {
1896
- color: inherit;
2956
+ .text-basalt-tag-info-foreground {
2957
+ color: var(--basalt-tag-info-foreground);
1897
2958
  }
1898
- .text-red-800 {
1899
- color: var(--color-red-800);
2959
+ .text-basalt-tag-rose-foreground {
2960
+ color: var(--basalt-tag-rose-foreground);
1900
2961
  }
1901
- .text-rose-800 {
1902
- color: var(--color-rose-800);
2962
+ .text-basalt-tag-slate-foreground {
2963
+ color: var(--basalt-tag-slate-foreground);
1903
2964
  }
1904
- .text-sky-800 {
1905
- color: var(--color-sky-800);
2965
+ .text-basalt-tag-success-foreground {
2966
+ color: var(--basalt-tag-success-foreground);
1906
2967
  }
1907
- .text-slate-800 {
1908
- color: var(--color-slate-800);
2968
+ .text-basalt-tag-teal-foreground {
2969
+ color: var(--basalt-tag-teal-foreground);
1909
2970
  }
1910
- .text-teal-800 {
1911
- color: var(--color-teal-800);
2971
+ .text-basalt-tag-violet-foreground {
2972
+ color: var(--basalt-tag-violet-foreground);
1912
2973
  }
1913
- .text-violet-800 {
1914
- color: var(--color-violet-800);
2974
+ .text-basalt-tag-warning-foreground {
2975
+ color: var(--basalt-tag-warning-foreground);
1915
2976
  }
1916
- .text-white {
1917
- color: var(--color-white);
2977
+ .text-basalt-warning {
2978
+ color: hsl(var(--basalt-warning));
1918
2979
  }
1919
- .text-white\/80 {
1920
- color: color-mix(in srgb, #fff 80%, transparent);
1921
- @supports (color: color-mix(in lab, red, red)) {
1922
- color: color-mix(in oklab, var(--color-white) 80%, transparent);
1923
- }
2980
+ .text-basalt-warning-foreground {
2981
+ color: hsl(var(--basalt-warning-foreground));
2982
+ }
2983
+ .text-current {
2984
+ color: currentcolor;
2985
+ }
2986
+ .text-inherit {
2987
+ color: inherit;
1924
2988
  }
1925
2989
  .uppercase {
1926
2990
  text-transform: uppercase;
@@ -1932,9 +2996,15 @@
1932
2996
  --tw-numeric-spacing: tabular-nums;
1933
2997
  font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
1934
2998
  }
2999
+ .line-through {
3000
+ text-decoration-line: line-through;
3001
+ }
1935
3002
  .no-underline {
1936
3003
  text-decoration-line: none;
1937
3004
  }
3005
+ .underline {
3006
+ text-decoration-line: underline;
3007
+ }
1938
3008
  .underline-offset-4 {
1939
3009
  text-underline-offset: 4px;
1940
3010
  }
@@ -2022,16 +3092,6 @@
2022
3092
  -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
2023
3093
  backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
2024
3094
  }
2025
- .backdrop-blur-xs {
2026
- --tw-backdrop-blur: blur(var(--blur-xs));
2027
- -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
2028
- backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
2029
- }
2030
- .transition-\[left\,width\,top\,height\] {
2031
- transition-property: left,width,top,height;
2032
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2033
- transition-duration: var(--tw-duration, var(--default-transition-duration));
2034
- }
2035
3095
  .transition-\[transform\,opacity\] {
2036
3096
  transition-property: transform,opacity;
2037
3097
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -2042,13 +3102,13 @@
2042
3102
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2043
3103
  transition-duration: var(--tw-duration, var(--default-transition-duration));
2044
3104
  }
2045
- .transition-all {
2046
- transition-property: all;
3105
+ .transition-colors {
3106
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
2047
3107
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2048
3108
  transition-duration: var(--tw-duration, var(--default-transition-duration));
2049
3109
  }
2050
- .transition-colors {
2051
- transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
3110
+ .transition-opacity {
3111
+ transition-property: opacity;
2052
3112
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2053
3113
  transition-duration: var(--tw-duration, var(--default-transition-duration));
2054
3114
  }
@@ -2057,21 +3117,12 @@
2057
3117
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2058
3118
  transition-duration: var(--tw-duration, var(--default-transition-duration));
2059
3119
  }
2060
- .duration-200 {
2061
- --tw-duration: 200ms;
2062
- transition-duration: 200ms;
2063
- }
2064
- .duration-300 {
2065
- --tw-duration: 300ms;
2066
- transition-duration: 300ms;
3120
+ .duration-basalt-normal {
3121
+ transition-duration: var(--basalt-motion-normal);
2067
3122
  }
2068
- .ease-in-out {
2069
- --tw-ease: var(--ease-in-out);
2070
- transition-timing-function: var(--ease-in-out);
2071
- }
2072
- .ease-out {
2073
- --tw-ease: var(--ease-out);
2074
- transition-timing-function: var(--ease-out);
3123
+ .ease-basalt {
3124
+ --tw-ease: var(--basalt-motion-ease);
3125
+ transition-timing-function: var(--basalt-motion-ease);
2075
3126
  }
2076
3127
  .outline-none {
2077
3128
  --tw-outline-style: none;
@@ -2081,15 +3132,38 @@
2081
3132
  -webkit-user-select: none;
2082
3133
  user-select: none;
2083
3134
  }
3135
+ .font-inherit {
3136
+ font: inherit;
3137
+ }
2084
3138
  :is(.\*\:pointer-events-auto > *) {
2085
3139
  pointer-events: auto;
2086
3140
  }
3141
+ @media (hover: hover) {
3142
+ .group-hover\:opacity-60:is(:where(.group):hover *) {
3143
+ opacity: 60%;
3144
+ }
3145
+ }
3146
+ .group-focus-visible\:opacity-60:is(:where(.group):focus-visible *) {
3147
+ opacity: 60%;
3148
+ }
2087
3149
  .group-data-\[state\=checked\]\:block:is(:where(.group)[data-state="checked"] *) {
2088
3150
  display: block;
2089
3151
  }
3152
+ .group-data-\[state\=checked\]\:opacity-100:is(:where(.group)[data-state="checked"] *) {
3153
+ opacity: 100%;
3154
+ }
2090
3155
  .group-data-\[state\=indeterminate\]\:block:is(:where(.group)[data-state="indeterminate"] *) {
2091
3156
  display: block;
2092
3157
  }
3158
+ .group-data-\[state\=on\]\:opacity-100:is(:where(.group)[data-state="on"] *) {
3159
+ opacity: 100%;
3160
+ }
3161
+ .group-data-\[state\=open\]\/collapsible\:rotate-180:is(:where(.group\/collapsible)[data-state="open"] *) {
3162
+ rotate: 180deg;
3163
+ }
3164
+ .group-data-\[state\=open\]\/select\:rotate-180:is(:where(.group\/select)[data-state="open"] *) {
3165
+ rotate: 180deg;
3166
+ }
2093
3167
  .peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled ~ *) {
2094
3168
  cursor: not-allowed;
2095
3169
  }
@@ -2103,9 +3177,9 @@
2103
3177
  .file\:bg-transparent::file-selector-button {
2104
3178
  background-color: transparent;
2105
3179
  }
2106
- .file\:text-sm::file-selector-button {
2107
- font-size: var(--text-sm);
2108
- line-height: var(--tw-leading, var(--text-sm--line-height));
3180
+ .file\:text-basalt-base::file-selector-button {
3181
+ font-size: var(--basalt-text-base);
3182
+ line-height: var(--tw-leading, var(--basalt-leading-body));
2109
3183
  }
2110
3184
  .file\:font-medium::file-selector-button {
2111
3185
  --tw-font-weight: var(--font-weight-medium);
@@ -2118,17 +3192,21 @@
2118
3192
  content: var(--tw-content);
2119
3193
  position: absolute;
2120
3194
  }
2121
- .before\:inset-0::before {
3195
+ .before\:-inset-basalt-border-width::before {
3196
+ content: var(--tw-content);
3197
+ inset: calc(var(--basalt-border-width) * -1);
3198
+ }
3199
+ .before\:content-\[attr\(data-line-number\)\]::before {
3200
+ --tw-content: attr(data-line-number);
2122
3201
  content: var(--tw-content);
2123
- inset: 0px;
2124
3202
  }
2125
3203
  .first\:rounded-l-basalt-md:first-child {
2126
- border-top-left-radius: calc(var(--basalt-radius) - 2px);
2127
- border-bottom-left-radius: calc(var(--basalt-radius) - 2px);
3204
+ border-top-left-radius: var(--basalt-radius-md);
3205
+ border-bottom-left-radius: var(--basalt-radius-md);
2128
3206
  }
2129
3207
  .last\:rounded-r-basalt-md:last-child {
2130
- border-top-right-radius: calc(var(--basalt-radius) - 2px);
2131
- border-bottom-right-radius: calc(var(--basalt-radius) - 2px);
3208
+ border-top-right-radius: var(--basalt-radius-md);
3209
+ border-bottom-right-radius: var(--basalt-radius-md);
2132
3210
  }
2133
3211
  .focus-within\:z-2:focus-within {
2134
3212
  z-index: 2;
@@ -2136,28 +3214,27 @@
2136
3214
  .focus-within\:border-basalt-ring:focus-within {
2137
3215
  border-color: hsl(var(--basalt-ring));
2138
3216
  }
3217
+ .focus-within\:ring-basalt-ring:focus-within {
3218
+ --tw-ring-color: hsl(var(--basalt-ring));
3219
+ }
2139
3220
  @media (hover: hover) {
2140
3221
  .hover\:scale-\[1\.03\]:hover {
2141
3222
  scale: 1.03;
2142
3223
  }
2143
- .hover\:bg-basalt-accent:hover {
2144
- background-color: hsl(var(--basalt-accent));
3224
+ .hover\:border-transparent:hover {
3225
+ border-color: transparent;
2145
3226
  }
2146
- .hover\:bg-basalt-destructive\/90:hover {
2147
- background-color: hsl(var(--basalt-destructive));
3227
+ .hover\:bg-basalt-destructive-hover:hover {
3228
+ background-color: var(--basalt-destructive-hover);
2148
3229
  }
2149
- @supports (color: color-mix(in lab, red, red)) {
2150
- .hover\:bg-basalt-destructive\/90:hover {
2151
- background-color: color-mix(in oklab, hsl(var(--basalt-destructive)) 90%, transparent);
2152
- }
3230
+ .hover\:bg-basalt-hover:hover {
3231
+ background-color: var(--basalt-hover);
2153
3232
  }
2154
- .hover\:bg-basalt-primary\/90:hover {
2155
- background-color: hsl(var(--basalt-primary));
3233
+ .hover\:bg-basalt-primary-hover:hover {
3234
+ background-color: var(--basalt-primary-hover);
2156
3235
  }
2157
- @supports (color: color-mix(in lab, red, red)) {
2158
- .hover\:bg-basalt-primary\/90:hover {
2159
- background-color: color-mix(in oklab, hsl(var(--basalt-primary)) 90%, transparent);
2160
- }
3236
+ .hover\:bg-transparent:hover {
3237
+ background-color: transparent;
2161
3238
  }
2162
3239
  .hover\:text-basalt-accent-foreground:hover {
2163
3240
  color: hsl(var(--basalt-accent-foreground));
@@ -2192,11 +3269,11 @@
2192
3269
  .focus\:absolute:focus {
2193
3270
  position: absolute;
2194
3271
  }
2195
- .focus\:top-2:focus {
2196
- top: calc(var(--spacing) * 2);
3272
+ .focus\:top-basalt-2:focus {
3273
+ top: var(--basalt-space-2);
2197
3274
  }
2198
- .focus\:left-2:focus {
2199
- left: calc(var(--spacing) * 2);
3275
+ .focus\:left-basalt-2:focus {
3276
+ left: var(--basalt-space-2);
2200
3277
  }
2201
3278
  .focus\:z-2:focus {
2202
3279
  z-index: 2;
@@ -2204,24 +3281,24 @@
2204
3281
  .focus\:z-\[100\]:focus {
2205
3282
  z-index: 100;
2206
3283
  }
2207
- .focus\:rounded-lg:focus {
2208
- border-radius: var(--radius-lg);
3284
+ .focus\:rounded-basalt-md:focus {
3285
+ border-radius: var(--basalt-radius-md);
2209
3286
  }
2210
- .focus\:bg-basalt-accent:focus {
2211
- background-color: hsl(var(--basalt-accent));
3287
+ .focus\:bg-basalt-hover:focus {
3288
+ background-color: var(--basalt-hover);
2212
3289
  }
2213
3290
  .focus\:bg-basalt-primary:focus {
2214
3291
  background-color: hsl(var(--basalt-primary));
2215
3292
  }
2216
- .focus\:px-4:focus {
2217
- padding-inline: calc(var(--spacing) * 4);
3293
+ .focus\:px-basalt-space-lg:focus {
3294
+ padding-inline: var(--basalt-space-lg);
2218
3295
  }
2219
- .focus\:py-2:focus {
2220
- padding-block: calc(var(--spacing) * 2);
3296
+ .focus\:py-basalt-space-lg:focus {
3297
+ padding-block: var(--basalt-space-lg);
2221
3298
  }
2222
- .focus\:text-sm:focus {
2223
- font-size: var(--text-sm);
2224
- line-height: var(--tw-leading, var(--text-sm--line-height));
3299
+ .focus\:text-basalt-base:focus {
3300
+ font-size: var(--basalt-text-base);
3301
+ line-height: var(--tw-leading, var(--basalt-leading-body));
2225
3302
  }
2226
3303
  .focus\:font-medium:focus {
2227
3304
  --tw-font-weight: var(--font-weight-medium);
@@ -2239,8 +3316,8 @@
2239
3316
  .focus-visible\:border-transparent:focus-visible {
2240
3317
  border-color: transparent;
2241
3318
  }
2242
- .focus-visible\:bg-basalt-accent:focus-visible {
2243
- background-color: hsl(var(--basalt-accent));
3319
+ .focus-visible\:bg-basalt-hover:focus-visible {
3320
+ background-color: var(--basalt-hover);
2244
3321
  }
2245
3322
  .focus-visible\:ring-0:focus-visible {
2246
3323
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
@@ -2257,6 +3334,10 @@
2257
3334
  .focus-visible\:ring-basalt-ring:focus-visible {
2258
3335
  --tw-ring-color: hsl(var(--basalt-ring));
2259
3336
  }
3337
+ .focus-visible\:ring-offset-0:focus-visible {
3338
+ --tw-ring-offset-width: 0px;
3339
+ --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3340
+ }
2260
3341
  .focus-visible\:ring-offset-2:focus-visible {
2261
3342
  --tw-ring-offset-width: 2px;
2262
3343
  --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
@@ -2277,9 +3358,6 @@
2277
3358
  .focus-visible\:outline-offset-2:focus-visible {
2278
3359
  outline-offset: 2px;
2279
3360
  }
2280
- .focus-visible\:outline-offset-4:focus-visible {
2281
- outline-offset: 4px;
2282
- }
2283
3361
  .focus-visible\:outline-basalt-primary:focus-visible {
2284
3362
  outline-color: hsl(var(--basalt-primary));
2285
3363
  }
@@ -2292,8 +3370,8 @@
2292
3370
  .active\:scale-\[0\.98\]:active {
2293
3371
  scale: 0.98;
2294
3372
  }
2295
- .active\:bg-basalt-accent:active {
2296
- background-color: hsl(var(--basalt-accent));
3373
+ .active\:bg-basalt-hover:active {
3374
+ background-color: var(--basalt-hover);
2297
3375
  }
2298
3376
  .disabled\:pointer-events-none:disabled {
2299
3377
  pointer-events: none;
@@ -2322,6 +3400,9 @@
2322
3400
  .disabled\:opacity-100:disabled {
2323
3401
  opacity: 100%;
2324
3402
  }
3403
+ .has-\[input\[aria-invalid\=true\]\]\:border-basalt-destructive:has(:is(input[aria-invalid=true])) {
3404
+ border-color: hsl(var(--basalt-destructive));
3405
+ }
2325
3406
  .aria-checked\:text-basalt-primary-foreground[aria-checked="true"] {
2326
3407
  color: hsl(var(--basalt-primary-foreground));
2327
3408
  }
@@ -2337,25 +3418,26 @@
2337
3418
  .aria-invalid\:focus-visible\:border-basalt-destructive[aria-invalid="true"]:focus-visible {
2338
3419
  border-color: hsl(var(--basalt-destructive));
2339
3420
  }
2340
- .aria-pressed\:bg-basalt-accent[aria-pressed="true"] {
2341
- background-color: hsl(var(--basalt-accent));
2342
- }
2343
3421
  .aria-pressed\:bg-basalt-primary[aria-pressed="true"] {
2344
3422
  background-color: hsl(var(--basalt-primary));
2345
3423
  }
2346
3424
  .aria-pressed\:text-basalt-primary-foreground[aria-pressed="true"] {
2347
3425
  color: hsl(var(--basalt-primary-foreground));
2348
3426
  }
2349
- .aria-pressed\:shadow-sm[aria-pressed="true"] {
2350
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
2351
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
2352
- }
2353
3427
  .data-disabled\:pointer-events-none[data-disabled] {
2354
3428
  pointer-events: none;
2355
3429
  }
3430
+ .data-disabled\:cursor-default[data-disabled] {
3431
+ cursor: default;
3432
+ }
2356
3433
  .data-disabled\:opacity-50[data-disabled] {
2357
3434
  opacity: 50%;
2358
3435
  }
3436
+ @media (hover: hover) {
3437
+ .data-disabled\:hover\:bg-transparent[data-disabled]:hover {
3438
+ background-color: transparent;
3439
+ }
3440
+ }
2359
3441
  .data-\[disabled\]\:pointer-events-none[data-disabled] {
2360
3442
  pointer-events: none;
2361
3443
  }
@@ -2373,24 +3455,27 @@
2373
3455
  .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
2374
3456
  opacity: 50%;
2375
3457
  }
2376
- .data-\[selected\=true\]\:bg-basalt-accent[data-selected="true"] {
2377
- background-color: hsl(var(--basalt-accent));
3458
+ .data-\[orientation\=vertical\]\:flex-col[data-orientation="vertical"] {
3459
+ flex-direction: column;
2378
3460
  }
2379
3461
  .data-\[selected\=true\]\:text-basalt-accent-foreground[data-selected="true"] {
2380
3462
  color: hsl(var(--basalt-accent-foreground));
2381
3463
  }
2382
3464
  .data-\[state\=active\]\:animate-basalt-tab-in[data-state="active"] {
2383
- animation: basalt-tab-in 180ms ease-out;
3465
+ animation: basalt-tab-in var(--basalt-motion-normal) var(--basalt-motion-ease);
2384
3466
  }
2385
- .data-\[state\=active\]\:text-basalt-primary[data-state="active"] {
2386
- color: hsl(var(--basalt-primary));
3467
+ .data-\[state\=active\]\:bg-basalt-selected[data-state="active"] {
3468
+ background-color: hsl(var(--basalt-selected));
2387
3469
  }
2388
- .data-\[state\=checked\]\:translate-x-3[data-state="checked"] {
2389
- --tw-translate-x: calc(var(--spacing) * 3);
3470
+ .data-\[state\=active\]\:text-basalt-selected-foreground[data-state="active"] {
3471
+ color: hsl(var(--basalt-selected-foreground));
3472
+ }
3473
+ .data-\[state\=checked\]\:translate-x-basalt-3[data-state="checked"] {
3474
+ --tw-translate-x: var(--basalt-space-3);
2390
3475
  translate: var(--tw-translate-x) var(--tw-translate-y);
2391
3476
  }
2392
- .data-\[state\=checked\]\:translate-x-5[data-state="checked"] {
2393
- --tw-translate-x: calc(var(--spacing) * 5);
3477
+ .data-\[state\=checked\]\:translate-x-basalt-5[data-state="checked"] {
3478
+ --tw-translate-x: var(--basalt-space-5);
2394
3479
  translate: var(--tw-translate-x) var(--tw-translate-y);
2395
3480
  }
2396
3481
  .data-\[state\=checked\]\:bg-basalt-primary[data-state="checked"] {
@@ -2399,14 +3484,20 @@
2399
3484
  .data-\[state\=checked\]\:text-basalt-primary-foreground[data-state="checked"] {
2400
3485
  color: hsl(var(--basalt-primary-foreground));
2401
3486
  }
3487
+ .data-\[state\=checked\]\:focus-visible\:ring-basalt-primary-foreground[data-state="checked"]:focus-visible {
3488
+ --tw-ring-color: hsl(var(--basalt-primary-foreground));
3489
+ }
2402
3490
  .data-\[state\=closed\]\:animate-basalt-collapsible-up[data-state="closed"] {
2403
- animation: basalt-collapsible-up 100ms ease-in;
3491
+ animation: basalt-collapsible-up var(--basalt-motion-fast)
3492
+ var(--basalt-motion-ease);
2404
3493
  }
2405
3494
  .data-\[state\=closed\]\:animate-basalt-dialog-out[data-state="closed"] {
2406
- animation: basalt-dialog-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards;
3495
+ animation: basalt-dialog-out var(--basalt-motion-fast)
3496
+ var(--basalt-motion-ease-exit) forwards;
2407
3497
  }
2408
3498
  .data-\[state\=closed\]\:animate-basalt-overlay-out[data-state="closed"] {
2409
- animation: basalt-overlay-out 150ms ease-in forwards;
3499
+ animation: basalt-overlay-out var(--basalt-floating-duration-exit)
3500
+ var(--basalt-motion-ease-exit) forwards;
2410
3501
  }
2411
3502
  .data-\[state\=indeterminate\]\:bg-basalt-primary[data-state="indeterminate"] {
2412
3503
  background-color: hsl(var(--basalt-primary));
@@ -2414,17 +3505,29 @@
2414
3505
  .data-\[state\=indeterminate\]\:text-basalt-primary-foreground[data-state="indeterminate"] {
2415
3506
  color: hsl(var(--basalt-primary-foreground));
2416
3507
  }
3508
+ .data-\[state\=on\]\:bg-basalt-primary[data-state="on"] {
3509
+ background-color: hsl(var(--basalt-primary));
3510
+ }
3511
+ .data-\[state\=on\]\:text-basalt-primary-foreground[data-state="on"] {
3512
+ color: hsl(var(--basalt-primary-foreground));
3513
+ }
3514
+ .data-\[state\=on\]\:focus-visible\:ring-basalt-primary-foreground[data-state="on"]:focus-visible {
3515
+ --tw-ring-color: hsl(var(--basalt-primary-foreground));
3516
+ }
2417
3517
  .data-\[state\=open\]\:animate-basalt-collapsible-down[data-state="open"] {
2418
- animation: basalt-collapsible-down 150ms ease-out;
3518
+ animation: basalt-collapsible-down var(--basalt-motion-normal)
3519
+ var(--basalt-motion-ease);
2419
3520
  }
2420
3521
  .data-\[state\=open\]\:animate-basalt-dialog-in[data-state="open"] {
2421
- animation: basalt-dialog-in 220ms cubic-bezier(0.16, 1, 0.3, 1);
3522
+ animation: basalt-dialog-in var(--basalt-motion-normal)
3523
+ var(--basalt-motion-ease-enter);
2422
3524
  }
2423
3525
  .data-\[state\=open\]\:animate-basalt-overlay-in[data-state="open"] {
2424
- animation: basalt-overlay-in 200ms ease-out;
3526
+ animation: basalt-overlay-in var(--basalt-floating-duration-enter)
3527
+ var(--basalt-motion-ease-enter);
2425
3528
  }
2426
- .data-\[state\=open\]\:bg-basalt-accent[data-state="open"] {
2427
- background-color: hsl(var(--basalt-accent));
3529
+ .data-\[state\=open\]\:bg-basalt-selected[data-state="open"] {
3530
+ background-color: hsl(var(--basalt-selected));
2428
3531
  }
2429
3532
  .data-\[state\=unchecked\]\:translate-x-0[data-state="unchecked"] {
2430
3533
  --tw-translate-x: 0px;
@@ -2445,18 +3548,18 @@
2445
3548
  .sm\:inline-block {
2446
3549
  display: inline-block;
2447
3550
  }
2448
- .sm\:w-72 {
2449
- width: calc(var(--spacing) * 72);
2450
- }
2451
- .sm\:w-96 {
2452
- width: calc(var(--spacing) * 96);
2453
- }
2454
3551
  .sm\:w-\[32rem\] {
2455
3552
  width: 32rem;
2456
3553
  }
2457
3554
  .sm\:w-\[48rem\] {
2458
3555
  width: 48rem;
2459
3556
  }
3557
+ .sm\:w-basalt-72 {
3558
+ width: var(--basalt-space-72);
3559
+ }
3560
+ .sm\:w-basalt-96 {
3561
+ width: var(--basalt-space-96);
3562
+ }
2460
3563
  .sm\:grid-cols-1 {
2461
3564
  grid-template-columns: repeat(1, minmax(0, 1fr));
2462
3565
  }
@@ -2472,6 +3575,9 @@
2472
3575
  .sm\:justify-end {
2473
3576
  justify-content: flex-end;
2474
3577
  }
3578
+ .sm\:p-basalt-card-lg {
3579
+ padding: var(--basalt-space-card-lg);
3580
+ }
2475
3581
  }
2476
3582
  @media (width >= 48rem) {
2477
3583
  .md\:block {
@@ -2495,9 +3601,6 @@
2495
3601
  .md\:justify-between {
2496
3602
  justify-content: space-between;
2497
3603
  }
2498
- .md\:gap-4 {
2499
- gap: calc(var(--spacing) * 4);
2500
- }
2501
3604
  .md\:overflow-hidden {
2502
3605
  overflow: hidden;
2503
3606
  }
@@ -2517,19 +3620,15 @@
2517
3620
  .md\:border-basalt-border {
2518
3621
  border-color: hsl(var(--basalt-border));
2519
3622
  }
2520
- .md\:p-5 {
2521
- padding: calc(var(--spacing) * 5);
3623
+ .md\:p-basalt-layout-lg {
3624
+ padding: var(--basalt-space-layout-lg);
2522
3625
  }
2523
- .md\:px-6 {
2524
- padding-inline: calc(var(--spacing) * 6);
3626
+ .md\:px-basalt-space-lg {
3627
+ padding-inline: var(--basalt-space-lg);
2525
3628
  }
2526
- .md\:text-2xl {
2527
- font-size: var(--text-2xl);
2528
- line-height: var(--tw-leading, var(--text-2xl--line-height));
2529
- }
2530
- .md\:text-sm {
2531
- font-size: var(--text-sm);
2532
- line-height: var(--tw-leading, var(--text-sm--line-height));
3629
+ .md\:text-basalt-5xl {
3630
+ font-size: var(--basalt-text-5xl);
3631
+ line-height: var(--tw-leading, var(--basalt-leading-body));
2533
3632
  }
2534
3633
  .md\:shadow-sm {
2535
3634
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
@@ -2555,87 +3654,9 @@
2555
3654
  .lg\:grid-cols-4 {
2556
3655
  grid-template-columns: repeat(4, minmax(0, 1fr));
2557
3656
  }
2558
- }
2559
- .basalt-dark\:border-amber-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2560
- border-color: var(--color-amber-700);
2561
- }
2562
- .basalt-dark\:border-blue-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2563
- border-color: var(--color-blue-700);
2564
- }
2565
- .basalt-dark\:border-emerald-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2566
- border-color: var(--color-emerald-700);
2567
- }
2568
- .basalt-dark\:border-red-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2569
- border-color: var(--color-red-700);
2570
- }
2571
- .basalt-dark\:border-rose-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2572
- border-color: var(--color-rose-700);
2573
- }
2574
- .basalt-dark\:border-sky-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2575
- border-color: var(--color-sky-700);
2576
- }
2577
- .basalt-dark\:border-slate-600:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2578
- border-color: var(--color-slate-600);
2579
- }
2580
- .basalt-dark\:border-teal-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2581
- border-color: var(--color-teal-700);
2582
- }
2583
- .basalt-dark\:border-violet-700:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2584
- border-color: var(--color-violet-700);
2585
- }
2586
- .basalt-dark\:bg-amber-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2587
- background-color: var(--color-amber-950);
2588
- }
2589
- .basalt-dark\:bg-blue-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2590
- background-color: var(--color-blue-950);
2591
- }
2592
- .basalt-dark\:bg-emerald-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2593
- background-color: var(--color-emerald-950);
2594
- }
2595
- .basalt-dark\:bg-red-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2596
- background-color: var(--color-red-950);
2597
- }
2598
- .basalt-dark\:bg-rose-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2599
- background-color: var(--color-rose-950);
2600
- }
2601
- .basalt-dark\:bg-sky-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2602
- background-color: var(--color-sky-950);
2603
- }
2604
- .basalt-dark\:bg-slate-800:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2605
- background-color: var(--color-slate-800);
2606
- }
2607
- .basalt-dark\:bg-teal-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2608
- background-color: var(--color-teal-950);
2609
- }
2610
- .basalt-dark\:bg-violet-950:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2611
- background-color: var(--color-violet-950);
2612
- }
2613
- .basalt-dark\:text-amber-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2614
- color: var(--color-amber-200);
2615
- }
2616
- .basalt-dark\:text-blue-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2617
- color: var(--color-blue-200);
2618
- }
2619
- .basalt-dark\:text-emerald-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2620
- color: var(--color-emerald-200);
2621
- }
2622
- .basalt-dark\:text-red-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2623
- color: var(--color-red-200);
2624
- }
2625
- .basalt-dark\:text-rose-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2626
- color: var(--color-rose-200);
2627
- }
2628
- .basalt-dark\:text-sky-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2629
- color: var(--color-sky-200);
2630
- }
2631
- .basalt-dark\:text-slate-100:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2632
- color: var(--color-slate-100);
2633
- }
2634
- .basalt-dark\:text-teal-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2635
- color: var(--color-teal-200);
2636
- }
2637
- .basalt-dark\:text-violet-200:where(.dark, .dark *, [data-mode="dark"], [data-mode="dark"] *) {
2638
- color: var(--color-violet-200);
3657
+ .lg\:px-basalt-layout-xl {
3658
+ padding-inline: var(--basalt-space-layout-xl);
3659
+ }
2639
3660
  }
2640
3661
  .\[\&_\.recharts-surface\:focus-visible\]\:outline-2 .recharts-surface:focus-visible {
2641
3662
  outline-style: var(--tw-outline-style);
@@ -2647,15 +3668,15 @@
2647
3668
  .\[\&_\.recharts-surface\:focus-visible\]\:outline-basalt-ring .recharts-surface:focus-visible {
2648
3669
  outline-color: hsl(var(--basalt-ring));
2649
3670
  }
2650
- .\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading] {
2651
- padding-inline: calc(var(--spacing) * 2);
3671
+ .\[\&_\[cmdk-group-heading\]\]\:px-basalt-space-lg [cmdk-group-heading] {
3672
+ padding-inline: var(--basalt-space-lg);
2652
3673
  }
2653
- .\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading] {
2654
- padding-block: calc(var(--spacing) * 1.5);
3674
+ .\[\&_\[cmdk-group-heading\]\]\:py-basalt-space-md [cmdk-group-heading] {
3675
+ padding-block: var(--basalt-space-md);
2655
3676
  }
2656
- .\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading] {
2657
- font-size: var(--text-xs);
2658
- line-height: var(--tw-leading, var(--text-xs--line-height));
3677
+ .\[\&_\[cmdk-group-heading\]\]\:text-basalt-sm [cmdk-group-heading] {
3678
+ font-size: var(--basalt-text-sm);
3679
+ line-height: var(--tw-leading, var(--basalt-leading-body));
2659
3680
  }
2660
3681
  .\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading] {
2661
3682
  --tw-font-weight: var(--font-weight-medium);
@@ -2664,32 +3685,35 @@
2664
3685
  .\[\&_\[cmdk-group-heading\]\]\:text-basalt-muted-foreground [cmdk-group-heading] {
2665
3686
  color: hsl(var(--basalt-muted-foreground));
2666
3687
  }
2667
- .\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group] {
2668
- padding-inline: calc(var(--spacing) * 2);
2669
- }
2670
3688
  .\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden]) ~ [cmdk-group] {
2671
3689
  padding-top: 0px;
2672
3690
  }
2673
- .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg {
2674
- height: calc(var(--spacing) * 5);
3691
+ .\[\&_\[cmdk-input-wrapper\]_svg\]\:h-basalt-5 [cmdk-input-wrapper] svg {
3692
+ height: var(--basalt-space-5);
2675
3693
  }
2676
- .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg {
2677
- width: calc(var(--spacing) * 5);
3694
+ .\[\&_\[cmdk-input-wrapper\]_svg\]\:w-basalt-5 [cmdk-input-wrapper] svg {
3695
+ width: var(--basalt-space-5);
2678
3696
  }
2679
- .\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input] {
2680
- height: calc(var(--spacing) * 12);
3697
+ .\[\&_\[cmdk-input\]\]\:min-h-basalt-control [cmdk-input] {
3698
+ min-height: var(--basalt-size-control);
2681
3699
  }
2682
- .\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item] {
2683
- padding-inline: calc(var(--spacing) * 2);
3700
+ .\[\&_\[cmdk-item\]\]\:px-basalt-space-lg [cmdk-item] {
3701
+ padding-inline: var(--basalt-space-lg);
2684
3702
  }
2685
- .\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item] {
2686
- padding-block: calc(var(--spacing) * 3);
3703
+ .\[\&_\[cmdk-item\]\]\:py-basalt-space-md [cmdk-item] {
3704
+ padding-block: var(--basalt-space-md);
2687
3705
  }
2688
- .\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg {
2689
- height: calc(var(--spacing) * 5);
3706
+ .\[\&_\[cmdk-item\]_svg\]\:h-basalt-4 [cmdk-item] svg {
3707
+ height: var(--basalt-space-4);
2690
3708
  }
2691
- .\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg {
2692
- width: calc(var(--spacing) * 5);
3709
+ .\[\&_\[cmdk-item\]_svg\]\:w-basalt-4 [cmdk-item] svg {
3710
+ width: var(--basalt-space-4);
3711
+ }
3712
+ .\[\&_\[data-content\]\]\:min-w-0 [data-content] {
3713
+ min-width: 0px;
3714
+ }
3715
+ .\[\&_\[data-content\]\]\:flex-1 [data-content] {
3716
+ flex: 1;
2693
3717
  }
2694
3718
  .\[\&_\[data-icon\]\]\:text-basalt-danger [data-icon] {
2695
3719
  color: hsl(var(--basalt-danger));
@@ -2715,11 +3739,11 @@
2715
3739
  .\[\&_\[data-title\]\]\:text-basalt-warning [data-title] {
2716
3740
  color: hsl(var(--basalt-warning));
2717
3741
  }
2718
- .has-\[\[data-slot\=input-group-addon-end\]\]\:\[\&_input\]\:pr-2:has(:is([data-slot=input-group-addon-end])) input {
2719
- padding-right: calc(var(--spacing) * 2);
3742
+ .has-\[\[data-slot\=input-group-addon-end\]\]\:\[\&_input\]\:pr-basalt-space-lg:has(:is([data-slot=input-group-addon-end])) input {
3743
+ padding-right: var(--basalt-space-lg);
2720
3744
  }
2721
- .has-\[\[data-slot\=input-group-addon-start\]\]\:\[\&_input\]\:pl-2:has(:is([data-slot=input-group-addon-start])) input {
2722
- padding-left: calc(var(--spacing) * 2);
3745
+ .has-\[\[data-slot\=input-group-addon-start\]\]\:\[\&_input\]\:pl-basalt-space-lg:has(:is([data-slot=input-group-addon-start])) input {
3746
+ padding-left: var(--basalt-space-lg);
2723
3747
  }
2724
3748
  .has-\[\[data-slot\=input-group-suffix\]\]\:\[\&_input\]\:\[field-sizing\:content\]:has(:is([data-slot=input-group-suffix])) input {
2725
3749
  field-sizing: content;
@@ -2730,47 +3754,31 @@
2730
3754
  .has-\[\[data-slot\=input-group-suffix\]\]\:\[\&_input\]\:pr-0:has(:is([data-slot=input-group-suffix])) input {
2731
3755
  padding-right: 0px;
2732
3756
  }
3757
+ .\[\&_p\]\:whitespace-pre-wrap p {
3758
+ white-space: pre-wrap;
3759
+ }
2733
3760
  .\[\&_svg\]\:pointer-events-none svg {
2734
3761
  pointer-events: none;
2735
3762
  }
2736
- .\[\&_svg\]\:size-3 svg {
2737
- width: calc(var(--spacing) * 3);
2738
- height: calc(var(--spacing) * 3);
3763
+ .\[\&_svg\]\:size-basalt-8 svg {
3764
+ width: var(--basalt-space-8);
3765
+ height: var(--basalt-space-8);
2739
3766
  }
2740
- .\[\&_svg\]\:size-4 svg {
2741
- width: calc(var(--spacing) * 4);
2742
- height: calc(var(--spacing) * 4);
3767
+ .\[\&_svg\]\:size-basalt-icon svg {
3768
+ width: var(--basalt-size-icon);
3769
+ height: var(--basalt-size-icon);
2743
3770
  }
2744
- .\[\&_svg\]\:size-5 svg {
2745
- width: calc(var(--spacing) * 5);
2746
- height: calc(var(--spacing) * 5);
3771
+ .\[\&_svg\]\:size-basalt-icon-lg svg {
3772
+ width: var(--basalt-size-icon-lg);
3773
+ height: var(--basalt-size-icon-lg);
2747
3774
  }
2748
- .\[\&_svg\]\:size-8 svg {
2749
- width: calc(var(--spacing) * 8);
2750
- height: calc(var(--spacing) * 8);
3775
+ .\[\&_svg\]\:size-basalt-icon-sm svg {
3776
+ width: var(--basalt-size-icon-sm);
3777
+ height: var(--basalt-size-icon-sm);
2751
3778
  }
2752
3779
  .\[\&_svg\]\:shrink-0 svg {
2753
3780
  flex-shrink: 0;
2754
3781
  }
2755
- .\[\&_svg\]\:origin-center svg {
2756
- transform-origin: center;
2757
- }
2758
- .\[\&_svg\]\:transition-transform svg {
2759
- transition-property: transform, translate, scale, rotate;
2760
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
2761
- transition-duration: var(--tw-duration, var(--default-transition-duration));
2762
- }
2763
- .\[\&_svg\]\:duration-100 svg {
2764
- --tw-duration: 100ms;
2765
- transition-duration: 100ms;
2766
- }
2767
- .\[\&_svg\]\:ease-out svg {
2768
- --tw-ease: var(--ease-out);
2769
- transition-timing-function: var(--ease-out);
2770
- }
2771
- .data-\[state\=open\]\:\[\&_svg\]\:rotate-180[data-state="open"] svg {
2772
- rotate: 180deg;
2773
- }
2774
3782
  .\[\&\>\*\]\:min-w-0 > * {
2775
3783
  min-width: 0px;
2776
3784
  }
@@ -2782,81 +3790,30 @@
2782
3790
  border-color: hsl(var(--basalt-border));
2783
3791
  }
2784
3792
  .\[\&\>\:first-child\]\:rounded-l-basalt-md > :first-child {
2785
- border-top-left-radius: calc(var(--basalt-radius) - 2px);
2786
- border-bottom-left-radius: calc(var(--basalt-radius) - 2px);
3793
+ border-top-left-radius: var(--basalt-radius-md);
3794
+ border-bottom-left-radius: var(--basalt-radius-md);
2787
3795
  }
2788
3796
  .\[\&\>\:last-child\]\:rounded-r-basalt-md > :last-child {
2789
- border-top-right-radius: calc(var(--basalt-radius) - 2px);
2790
- border-bottom-right-radius: calc(var(--basalt-radius) - 2px);
2791
- }
2792
- .sr-only {
2793
- position: absolute;
2794
- width: 1px;
2795
- height: 1px;
2796
- padding: 0;
2797
- margin: -1px;
2798
- overflow: hidden;
2799
- clip: rect(0, 0, 0, 0);
2800
- white-space: nowrap;
2801
- border-width: 0;
2802
- }
2803
- .sticky {
2804
- position: sticky;
3797
+ border-top-right-radius: var(--basalt-radius-md);
3798
+ border-bottom-right-radius: var(--basalt-radius-md);
2805
3799
  }
2806
- .order-last {
2807
- order: 9999;
2808
- }
2809
- .w-\[68px\] {
2810
- width: 68px;
2811
- }
2812
- .h-7 {
2813
- height: 1.75rem;
3800
+ .\[\&\>svg\]\:mt-\[calc\(\(var\(--basalt-line-row\)-var\(--basalt-size-icon-sm\)\)\/2\)\] > svg {
3801
+ margin-top: calc((var(--basalt-line-row) - var(--basalt-size-icon-sm)) / 2);
2814
3802
  }
2815
- .mb-2 {
2816
- margin-bottom: 0.5rem;
3803
+ .\[\&\>svg\]\:size-basalt-6 > svg {
3804
+ width: var(--basalt-space-6);
3805
+ height: var(--basalt-space-6);
2817
3806
  }
2818
- .appearance-none {
2819
- appearance: none;
3807
+ .\[\&\>svg\]\:size-basalt-icon-lg > svg {
3808
+ width: var(--basalt-size-icon-lg);
3809
+ height: var(--basalt-size-icon-lg);
2820
3810
  }
2821
- .border-0 {
2822
- border-width: 0;
3811
+ .\[\&\>svg\]\:shrink-0 > svg {
3812
+ flex-shrink: 0;
2823
3813
  }
2824
- .bg-transparent {
3814
+ .basalt-hover-list .\[\.basalt-hover-list_\&\]\:focus\:bg-transparent:focus {
2825
3815
  background-color: transparent;
2826
3816
  }
2827
- .p-0 {
2828
- padding: 0;
2829
- }
2830
- .font-inherit {
2831
- font: inherit;
2832
- }
2833
- .text-inherit {
2834
- color: inherit;
2835
- }
2836
- .cursor-pointer {
2837
- cursor: pointer;
2838
- }
2839
- .max-h-\[300px\] {
2840
- max-height: 300px;
2841
- }
2842
- .overflow-x-hidden {
2843
- overflow-x: hidden;
2844
- }
2845
- .overflow-y-hidden {
2846
- overflow-y: hidden;
2847
- }
2848
- .data-\[disabled\=true\]\:pointer-events-none[data-disabled="true"] {
2849
- pointer-events: none;
2850
- }
2851
- .data-\[disabled\=true\]\:opacity-50[data-disabled="true"] {
2852
- opacity: 0.5;
2853
- }
2854
- .data-\[selected\=true\]\:bg-basalt-accent[data-selected="true"] {
2855
- background-color: hsl(var(--basalt-accent));
2856
- }
2857
- .data-\[selected\=true\]\:text-basalt-accent-foreground[data-selected="true"] {
2858
- color: hsl(var(--basalt-accent-foreground));
2859
- }
2860
3817
  }
2861
3818
  @property --tw-border-spacing-x {
2862
3819
  syntax: "<length>";
@@ -2903,6 +3860,11 @@
2903
3860
  inherits: false;
2904
3861
  initial-value: 0;
2905
3862
  }
3863
+ @property --tw-space-x-reverse {
3864
+ syntax: "*";
3865
+ inherits: false;
3866
+ initial-value: 0;
3867
+ }
2906
3868
  @property --tw-border-style {
2907
3869
  syntax: "*";
2908
3870
  inherits: false;
@@ -3141,10 +4103,6 @@
3141
4103
  syntax: "*";
3142
4104
  inherits: false;
3143
4105
  }
3144
- @property --tw-duration {
3145
- syntax: "*";
3146
- inherits: false;
3147
- }
3148
4106
  @property --tw-ease {
3149
4107
  syntax: "*";
3150
4108
  inherits: false;
@@ -3166,6 +4124,7 @@
3166
4124
  --tw-scale-y: 1;
3167
4125
  --tw-scale-z: 1;
3168
4126
  --tw-space-y-reverse: 0;
4127
+ --tw-space-x-reverse: 0;
3169
4128
  --tw-border-style: solid;
3170
4129
  --tw-gradient-position: initial;
3171
4130
  --tw-gradient-from: #0000;
@@ -3221,7 +4180,6 @@
3221
4180
  --tw-backdrop-opacity: initial;
3222
4181
  --tw-backdrop-saturate: initial;
3223
4182
  --tw-backdrop-sepia: initial;
3224
- --tw-duration: initial;
3225
4183
  --tw-ease: initial;
3226
4184
  --tw-content: "";
3227
4185
  }