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