@flikk/ui 1.0.0-beta.26 → 1.0.0-beta.29

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 (418) hide show
  1. package/dist/bg/1.webp +0 -0
  2. package/dist/bg/10.webp +0 -0
  3. package/dist/bg/11.webp +0 -0
  4. package/dist/bg/12.webp +0 -0
  5. package/dist/bg/13.webp +0 -0
  6. package/dist/bg/14.webp +0 -0
  7. package/dist/bg/15.webp +0 -0
  8. package/dist/bg/16.webp +0 -0
  9. package/dist/bg/17.webp +0 -0
  10. package/dist/bg/18.webp +0 -0
  11. package/dist/bg/19.webp +0 -0
  12. package/dist/bg/2.webp +0 -0
  13. package/dist/bg/20.webp +0 -0
  14. package/dist/bg/21.webp +0 -0
  15. package/dist/bg/22.webp +0 -0
  16. package/dist/bg/3.webp +0 -0
  17. package/dist/bg/4.webp +0 -0
  18. package/dist/bg/5.webp +0 -0
  19. package/dist/bg/6.webp +0 -0
  20. package/dist/bg/7.webp +0 -0
  21. package/dist/bg/8.webp +0 -0
  22. package/dist/bg/9.webp +0 -0
  23. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
  24. package/dist/components/ai/PromptInput/PromptInput.js +7 -140
  25. package/dist/components/ai/PromptInput/VoiceRecorder.js +0 -85
  26. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  27. package/dist/components/canvas/Background.d.ts +19 -0
  28. package/dist/components/canvas/Background.js +23 -0
  29. package/dist/components/canvas/BaseNode.d.ts +15 -0
  30. package/dist/components/canvas/BaseNode.js +20 -0
  31. package/dist/components/canvas/CanvasToolbar.d.ts +34 -0
  32. package/dist/components/canvas/CanvasToolbar.js +34 -0
  33. package/dist/components/canvas/Edge.d.ts +35 -0
  34. package/dist/components/canvas/Edge.js +97 -0
  35. package/dist/components/canvas/EdgeLayer.d.ts +18 -0
  36. package/dist/components/canvas/EdgeLayer.js +111 -0
  37. package/dist/components/canvas/Handle.d.ts +11 -0
  38. package/dist/components/canvas/Handle.js +63 -0
  39. package/dist/components/canvas/MiniMap.d.ts +22 -0
  40. package/dist/components/canvas/MiniMap.js +105 -0
  41. package/dist/components/canvas/NodeCanvas.d.ts +10 -0
  42. package/dist/components/canvas/NodeCanvas.js +477 -0
  43. package/dist/components/canvas/NodeCanvas.theme.d.ts +7 -0
  44. package/dist/components/canvas/NodeCanvas.theme.js +9 -0
  45. package/dist/components/canvas/NodeCanvas.types.d.ts +187 -0
  46. package/dist/components/canvas/NodeControls.d.ts +25 -0
  47. package/dist/components/canvas/NodeControls.js +40 -0
  48. package/dist/components/canvas/NodeRenderer.d.ts +19 -0
  49. package/dist/components/canvas/NodeRenderer.js +117 -0
  50. package/dist/components/canvas/changes.d.ts +11 -0
  51. package/dist/components/canvas/changes.js +76 -0
  52. package/dist/components/canvas/context/CanvasContext.d.ts +32 -0
  53. package/dist/components/canvas/context/CanvasContext.js +14 -0
  54. package/dist/components/canvas/context/ConnectionContext.d.ts +33 -0
  55. package/dist/components/canvas/context/ConnectionContext.js +13 -0
  56. package/dist/components/canvas/context/HandleRegistry.d.ts +24 -0
  57. package/dist/components/canvas/context/HandleRegistry.js +15 -0
  58. package/dist/components/canvas/context/InteractionContext.d.ts +18 -0
  59. package/dist/components/canvas/context/InteractionContext.js +14 -0
  60. package/dist/components/canvas/context/NodeIdContext.d.ts +3 -0
  61. package/dist/components/canvas/context/NodeIdContext.js +15 -0
  62. package/dist/components/canvas/hooks/useConnection.d.ts +17 -0
  63. package/dist/components/canvas/hooks/useConnection.js +29 -0
  64. package/dist/components/canvas/hooks/useMarquee.d.ts +25 -0
  65. package/dist/components/canvas/hooks/useMarquee.js +91 -0
  66. package/dist/components/canvas/hooks/useNodeDrag.d.ts +23 -0
  67. package/dist/components/canvas/hooks/useNodeDrag.js +110 -0
  68. package/dist/components/canvas/hooks/usePanZoom.d.ts +30 -0
  69. package/dist/components/canvas/hooks/usePanZoom.js +189 -0
  70. package/dist/components/canvas/hooks/useViewport.d.ts +21 -0
  71. package/dist/components/canvas/hooks/useViewport.js +35 -0
  72. package/dist/components/canvas/index.d.ts +14 -0
  73. package/dist/components/canvas/index.js +12 -0
  74. package/dist/components/canvas/layout.d.ts +22 -0
  75. package/dist/components/canvas/layout.js +67 -0
  76. package/dist/components/canvas/utils.d.ts +4 -0
  77. package/dist/components/canvas/utils.js +16 -0
  78. package/dist/components/charts/AreaChart/AreaChart.js +136 -101
  79. package/dist/components/charts/AreaChart/AreaChart.types.d.ts +5 -5
  80. package/dist/components/charts/AreaChart/AreaChart.types.js +1 -0
  81. package/dist/components/charts/BarChart/BarChart.js +207 -143
  82. package/dist/components/charts/BarChart/BarChart.types.d.ts +4 -4
  83. package/dist/components/charts/BarChart/BarChart.types.js +1 -0
  84. package/dist/components/charts/ComboChart/ComboChart.types.d.ts +2 -2
  85. package/dist/components/charts/LineChart/LineChart.js +88 -72
  86. package/dist/components/charts/LineChart/LineChart.types.d.ts +3 -3
  87. package/dist/components/charts/RadarChart/RadarChart.js +1 -1
  88. package/dist/components/charts/RadarChart/RadarChart.theme.js +5 -2
  89. package/dist/components/charts/ScatterPlot/ScatterPlot.js +62 -72
  90. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +10 -1
  91. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +3 -9
  92. package/dist/components/charts/StackedBarChart/StackedBarChart.js +33 -33
  93. package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +2 -2
  94. package/dist/components/charts/hooks/index.d.ts +2 -0
  95. package/dist/components/charts/hooks/useChartDimensions.d.ts +29 -0
  96. package/dist/components/charts/hooks/useChartDimensions.js +42 -0
  97. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +1 -1
  98. package/dist/components/charts/types/chart.types.d.ts +11 -2
  99. package/dist/components/charts/types/chart.types.js +10 -3
  100. package/dist/components/core/Avatar/Avatar.js +5 -1
  101. package/dist/components/core/AvatarGroup/AvatarGroup.js +5 -1
  102. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +4 -2
  103. package/dist/components/core/Badge/Badge.js +1 -1
  104. package/dist/components/core/Badge/Badge.theme.js +16 -15
  105. package/dist/components/core/Button/Button.js +1 -1
  106. package/dist/components/core/Button/Button.theme.js +3 -3
  107. package/dist/components/core/Calendar/Calendar.theme.js +1 -1
  108. package/dist/components/core/Card/Card.js +7 -3
  109. package/dist/components/core/Card/Card.theme.js +3 -3
  110. package/dist/components/core/Card/Card.types.d.ts +27 -2
  111. package/dist/components/core/CommandPalette/CommandItem.js +4 -5
  112. package/dist/components/core/CommandPalette/CommandPalette.js +1 -1
  113. package/dist/components/core/CommandPalette/CommandPalette.theme.js +11 -13
  114. package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +0 -2
  115. package/dist/components/core/ContextMenu/ContextMenu.theme.js +14 -15
  116. package/dist/components/core/ContextMenu/ContextMenuItem.js +1 -1
  117. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +1 -1
  118. package/dist/components/core/DotSeparator/DotSeparator.d.ts +3 -0
  119. package/dist/components/core/DotSeparator/DotSeparator.js +19 -0
  120. package/dist/components/core/DotSeparator/DotSeparator.theme.d.ts +2 -0
  121. package/dist/components/core/DotSeparator/DotSeparator.theme.js +10 -0
  122. package/dist/components/core/DotSeparator/DotSeparator.types.d.ts +25 -0
  123. package/dist/components/core/DotSeparator/index.d.ts +3 -0
  124. package/dist/components/core/Dropdown/Dropdown.theme.js +5 -6
  125. package/dist/components/core/Dropdown/DropdownItem.js +1 -1
  126. package/dist/components/core/Dropdown/DropdownMenu.js +58 -30
  127. package/dist/components/core/HeroCard/HeroCard.d.ts +5 -0
  128. package/dist/components/core/HeroCard/HeroCard.js +99 -0
  129. package/dist/components/core/HeroCard/HeroCard.theme.d.ts +3 -0
  130. package/dist/components/core/HeroCard/HeroCard.theme.js +8 -0
  131. package/dist/components/core/HeroCard/HeroCard.types.d.ts +70 -0
  132. package/dist/components/core/HeroCard/index.d.ts +4 -0
  133. package/dist/components/core/Kbd/Kbd.theme.js +1 -1
  134. package/dist/components/core/MenuItem/MenuItem.js +5 -2
  135. package/dist/components/core/MenuItem/MenuItem.theme.d.ts +6 -0
  136. package/dist/components/core/MenuItem/MenuItem.theme.js +19 -16
  137. package/dist/components/core/MenuItem/MenuItem.types.d.ts +2 -0
  138. package/dist/components/core/Modal/Modal.d.ts +1 -1
  139. package/dist/components/core/Modal/Modal.js +2 -7
  140. package/dist/components/core/Modal/Modal.theme.js +4 -8
  141. package/dist/components/core/Modal/Modal.types.d.ts +0 -10
  142. package/dist/components/core/Modal/index.d.ts +1 -1
  143. package/dist/components/core/ModalStack/ModalStack.d.ts +1 -1
  144. package/dist/components/core/ModalStack/ModalStack.types.d.ts +1 -2
  145. package/dist/components/core/ModalStack/ModalStackModal.d.ts +1 -1
  146. package/dist/components/core/ModalStack/ModalStackModal.js +2 -7
  147. package/dist/components/core/NavItem/NavItem.js +20 -4
  148. package/dist/components/core/NavItem/NavItem.theme.js +13 -2
  149. package/dist/components/core/PageHeading/PageHeading.theme.js +2 -2
  150. package/dist/components/core/Popover/Popover.theme.js +1 -1
  151. package/dist/components/core/Popover/Popover.types.d.ts +6 -2
  152. package/dist/components/core/Popover/PopoverBody.js +10 -3
  153. package/dist/components/core/ScrollArea/ScrollArea.js +242 -4
  154. package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +12 -1
  155. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +4 -0
  156. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +23 -0
  157. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +4 -0
  158. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.types.d.ts +5 -0
  159. package/dist/components/core/Segmented/Segmented.theme.js +2 -2
  160. package/dist/components/core/Sidebar/Sidebar.d.ts +2 -0
  161. package/dist/components/core/Sidebar/Sidebar.js +15 -7
  162. package/dist/components/core/Sidebar/Sidebar.types.d.ts +92 -4
  163. package/dist/components/core/Sidebar/SidebarCard.d.ts +25 -0
  164. package/dist/components/core/Sidebar/SidebarCard.js +68 -0
  165. package/dist/components/core/Sidebar/SidebarCard.theme.d.ts +8 -0
  166. package/dist/components/core/Sidebar/SidebarCard.theme.js +18 -0
  167. package/dist/components/core/Sidebar/SidebarContent.js +5 -1
  168. package/dist/components/core/Sidebar/SidebarContext.js +1 -1
  169. package/dist/components/core/Sidebar/SidebarHeader.js +10 -2
  170. package/dist/components/core/Sidebar/SidebarLogo.js +38 -3
  171. package/dist/components/core/Sidebar/SidebarSearch.d.ts +22 -0
  172. package/dist/components/core/Sidebar/SidebarSearch.js +135 -0
  173. package/dist/components/core/Sidebar/SidebarToggle.js +1 -1
  174. package/dist/components/core/Sidebar/SidebarUserProfile.js +2 -2
  175. package/dist/components/core/Sidebar/index.d.ts +3 -1
  176. package/dist/components/core/Tag/Tag.js +29 -5
  177. package/dist/components/core/Tag/Tag.theme.js +13 -8
  178. package/dist/components/core/Tag/Tag.types.d.ts +7 -0
  179. package/dist/components/core/Tooltip/Tooltip.js +1 -1
  180. package/dist/components/core/Tooltip/Tooltip.theme.js +1 -2
  181. package/dist/components/core/index.d.ts +2 -0
  182. package/dist/components/core/index.js +6 -0
  183. package/dist/components/data-display/DescriptionList/DescriptionList.js +23 -7
  184. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +10 -3
  185. package/dist/components/data-display/DescriptionList/DescriptionList.types.d.ts +49 -10
  186. package/dist/components/data-display/DescriptionList/index.d.ts +1 -1
  187. package/dist/components/data-display/Feed/Feed.js +28 -5
  188. package/dist/components/data-display/Feed/Feed.theme.js +1 -1
  189. package/dist/components/data-display/Feed/Feed.types.d.ts +32 -1
  190. package/dist/components/data-display/Feed/index.d.ts +1 -1
  191. package/dist/components/data-display/GanttChart/GanttChart.d.ts +1 -1
  192. package/dist/components/data-display/GanttChart/GanttChart.js +31 -4
  193. package/dist/components/data-display/GanttChart/GanttChart.theme.js +19 -17
  194. package/dist/components/data-display/GanttChart/GanttChart.types.d.ts +19 -0
  195. package/dist/components/data-display/GanttChart/GanttChart.utils.js +1 -1
  196. package/dist/components/data-display/GanttChart/GanttChartPanel.d.ts +1 -1
  197. package/dist/components/data-display/GanttChart/GanttChartPanel.js +3 -3
  198. package/dist/components/data-display/GanttChart/GanttDependencyArrows.js +7 -4
  199. package/dist/components/data-display/GanttChart/GanttMilestone.js +5 -5
  200. package/dist/components/data-display/GanttChart/GanttTablePanel.js +1 -1
  201. package/dist/components/data-display/GanttChart/GanttTableTaskRow.js +2 -2
  202. package/dist/components/data-display/GanttChart/GanttTaskBar.js +37 -16
  203. package/dist/components/data-display/GanttChart/GanttTimelineGrid.js +2 -1
  204. package/dist/components/data-display/GanttChart/GanttTimelineHeader.js +35 -11
  205. package/dist/components/data-display/GanttChart/GanttToolbar.js +2 -2
  206. package/dist/components/data-display/GanttChart/hooks/useGanttDrag.js +3 -2
  207. package/dist/components/data-display/GanttChart/index.d.ts +1 -1
  208. package/dist/components/data-display/Metric/Metric.js +8 -8
  209. package/dist/components/data-display/Metric/Metric.theme.d.ts +3 -2
  210. package/dist/components/data-display/Metric/Metric.theme.js +50 -68
  211. package/dist/components/data-display/Metric/Metric.types.d.ts +19 -21
  212. package/dist/components/data-display/Table/Table.js +2 -2
  213. package/dist/components/data-display/Table/Table.theme.js +27 -9
  214. package/dist/components/data-display/Table/Table.types.d.ts +8 -0
  215. package/dist/components/data-display/Table/TableBody.js +2 -2
  216. package/dist/components/data-display/Table/TableCell.js +1 -1
  217. package/dist/components/data-display/Table/TableRow.d.ts +1 -1
  218. package/dist/components/data-display/Table/TableRow.js +9 -2
  219. package/dist/components/data-display/Timeline/Timeline.js +27 -5
  220. package/dist/components/data-display/Timeline/Timeline.theme.d.ts +10 -2
  221. package/dist/components/data-display/Timeline/Timeline.theme.js +14 -8
  222. package/dist/components/data-display/Timeline/Timeline.types.d.ts +48 -16
  223. package/dist/components/data-display/Timeline/Timeline.utils.d.ts +6 -0
  224. package/dist/components/data-display/Timeline/Timeline.utils.js +11 -0
  225. package/dist/components/data-display/Timeline/TimelineItem.js +13 -20
  226. package/dist/components/data-display/Timeline/TimelineMarker.js +10 -8
  227. package/dist/components/data-display/Timeline/index.d.ts +2 -2
  228. package/dist/components/effects/3d/index.d.ts +0 -2
  229. package/dist/components/effects/3d/index.js +0 -1
  230. package/dist/components/effects/Aurora/Aurora.d.ts +6 -17
  231. package/dist/components/effects/Aurora/Aurora.js +297 -131
  232. package/dist/components/effects/Aurora/Aurora.types.d.ts +6 -0
  233. package/dist/components/effects/DotPattern/DotPattern.js +1 -1
  234. package/dist/components/effects/Overlay/Overlay.theme.js +1 -2
  235. package/dist/components/effects/Preloader/Preloader.animations.d.ts +23 -0
  236. package/dist/components/effects/Preloader/Preloader.animations.js +150 -0
  237. package/dist/components/effects/Preloader/Preloader.d.ts +3 -0
  238. package/dist/components/effects/Preloader/Preloader.js +119 -0
  239. package/dist/components/effects/Preloader/Preloader.types.d.ts +63 -0
  240. package/dist/components/effects/Preloader/index.d.ts +2 -0
  241. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +25 -14
  242. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +2 -0
  243. package/dist/components/effects/TiltCard/TiltCard.d.ts +12 -0
  244. package/dist/components/effects/TiltCard/TiltCard.glow.d.ts +28 -0
  245. package/dist/components/effects/TiltCard/TiltCard.glow.js +114 -0
  246. package/dist/components/effects/TiltCard/TiltCard.js +177 -0
  247. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.d.ts → TiltCard/TiltCard.shaders.d.ts} +1 -1
  248. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.js → TiltCard/TiltCard.shaders.js} +1 -1
  249. package/dist/components/effects/TiltCard/TiltCard.types.d.ts +88 -0
  250. package/dist/components/effects/TiltCard/index.d.ts +2 -0
  251. package/dist/components/effects/index.d.ts +4 -12
  252. package/dist/components/effects/index.js +2 -6
  253. package/dist/components/forms/Checkbox/Checkbox.js +7 -1
  254. package/dist/components/forms/Combobox/Combobox.js +1 -1
  255. package/dist/components/forms/Combobox/Combobox.theme.js +2 -4
  256. package/dist/components/forms/DatePicker/DatePicker.theme.js +11 -18
  257. package/dist/components/forms/DatePicker/DatePickerTrigger.js +1 -1
  258. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +6 -13
  259. package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +1 -1
  260. package/dist/components/forms/FileUpload/FileUpload.animations.d.ts +29 -0
  261. package/dist/components/forms/FileUpload/FileUpload.animations.js +19 -0
  262. package/dist/components/forms/FileUpload/FileUpload.js +85 -134
  263. package/dist/components/forms/FileUpload/FileUpload.theme.d.ts +2 -10
  264. package/dist/components/forms/FileUpload/FileUpload.theme.js +16 -30
  265. package/dist/components/forms/FileUpload/FileUpload.types.d.ts +26 -10
  266. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  267. package/dist/components/forms/Input/Input.theme.js +13 -10
  268. package/dist/components/forms/InputCounter/InputCounter.theme.js +1 -1
  269. package/dist/components/forms/Mention/Mention.js +152 -57
  270. package/dist/components/forms/Mention/Mention.theme.js +16 -23
  271. package/dist/components/forms/Mention/Mention.types.d.ts +12 -12
  272. package/dist/components/forms/Mention/Mention.utils.js +32 -4
  273. package/dist/components/forms/RichTextEditor/RichTextEditor.js +3 -3
  274. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +5 -5
  275. package/dist/components/forms/Select/Select.js +2 -2
  276. package/dist/components/forms/Select/Select.theme.js +3 -3
  277. package/dist/components/forms/Slider/Slider.theme.js +1 -1
  278. package/dist/components/forms/Switch/Switch.js +27 -15
  279. package/dist/components/forms/Switch/Switch.theme.d.ts +36 -6
  280. package/dist/components/forms/Switch/Switch.theme.js +33 -4
  281. package/dist/components/forms/Switch/Switch.types.d.ts +12 -2
  282. package/dist/components/forms/TimePicker/TimePicker.theme.js +1 -2
  283. package/dist/components/forms/TimePicker/TimePickerContent.js +1 -87
  284. package/dist/components/forms/TimePicker/TimePickerTrigger.js +1 -1
  285. package/dist/components/forms/forms.theme.js +21 -16
  286. package/dist/components/forms/index.d.ts +0 -4
  287. package/dist/components/forms/index.js +0 -89
  288. package/dist/components/generative/GenerativeView.d.ts +21 -0
  289. package/dist/components/generative/GenerativeView.js +116 -0
  290. package/dist/components/generative/actions.d.ts +26 -0
  291. package/dist/components/generative/actions.js +51 -0
  292. package/dist/components/generative/index.d.ts +11 -0
  293. package/dist/components/generative/index.js +9 -0
  294. package/dist/components/generative/registry.d.ts +43 -0
  295. package/dist/components/generative/registry.js +114 -0
  296. package/dist/components/generative/resolvers.d.ts +35 -0
  297. package/dist/components/generative/resolvers.js +93 -0
  298. package/dist/components/generative/schema.generated.d.ts +2 -0
  299. package/dist/components/generative/schema.generated.js +1639 -0
  300. package/dist/components/generative/schemaTypes.d.ts +30 -0
  301. package/dist/components/generative/streaming.d.ts +39 -0
  302. package/dist/components/generative/streaming.js +283 -0
  303. package/dist/components/generative/tools.d.ts +21 -0
  304. package/dist/components/generative/tools.js +54 -0
  305. package/dist/components/generative/types.d.ts +41 -0
  306. package/dist/components/generative/useGenerativeStream.d.ts +37 -0
  307. package/dist/components/generative/useGenerativeStream.js +36 -0
  308. package/dist/components/generative/validate.d.ts +24 -0
  309. package/dist/components/generative/validate.js +259 -0
  310. package/dist/components/layout/AppShell/AppShell.d.ts +10 -0
  311. package/dist/components/layout/AppShell/AppShell.js +84 -0
  312. package/dist/components/layout/AppShell/AppShell.theme.d.ts +3 -0
  313. package/dist/components/layout/AppShell/AppShell.theme.js +42 -0
  314. package/dist/components/layout/AppShell/AppShell.types.d.ts +127 -0
  315. package/dist/components/layout/AppShell/AppShellContext.d.ts +14 -0
  316. package/dist/components/layout/AppShell/AppShellContext.js +19 -0
  317. package/dist/components/layout/AppShell/AppShellFooter.d.ts +3 -0
  318. package/dist/components/layout/AppShell/AppShellFooter.js +12 -0
  319. package/dist/components/layout/AppShell/AppShellHeader.d.ts +3 -0
  320. package/dist/components/layout/AppShell/AppShellHeader.js +12 -0
  321. package/dist/components/layout/AppShell/AppShellMain.d.ts +3 -0
  322. package/dist/components/layout/AppShell/AppShellMain.js +19 -0
  323. package/dist/components/layout/AppShell/AppShellRightPanel.d.ts +3 -0
  324. package/dist/components/layout/AppShell/AppShellRightPanel.js +16 -0
  325. package/dist/components/layout/AppShell/AppShellSidebar.d.ts +3 -0
  326. package/dist/components/layout/AppShell/AppShellSidebar.js +16 -0
  327. package/dist/components/layout/AppShell/AppShellTopbar.d.ts +3 -0
  328. package/dist/components/layout/AppShell/AppShellTopbar.js +12 -0
  329. package/dist/components/layout/AppShell/index.d.ts +3 -0
  330. package/dist/components/layout/FormLayout/FormLayout.js +1 -87
  331. package/dist/components/layout/Grid/Grid.d.ts +3 -0
  332. package/dist/components/layout/Grid/Grid.js +50 -0
  333. package/dist/components/layout/Grid/Grid.theme.d.ts +2 -0
  334. package/dist/components/layout/Grid/Grid.theme.js +35 -0
  335. package/dist/components/layout/Grid/Grid.types.d.ts +57 -0
  336. package/dist/components/layout/Grid/index.d.ts +3 -0
  337. package/dist/components/layout/Section/Section.d.ts +3 -0
  338. package/dist/components/layout/Section/Section.js +18 -0
  339. package/dist/components/layout/Section/Section.theme.d.ts +2 -0
  340. package/dist/components/layout/Section/Section.theme.js +10 -0
  341. package/dist/components/layout/Section/Section.types.d.ts +34 -0
  342. package/dist/components/layout/Section/index.d.ts +3 -0
  343. package/dist/components/layout/Stack/Stack.d.ts +3 -0
  344. package/dist/components/layout/Stack/Stack.js +19 -0
  345. package/dist/components/layout/Stack/Stack.theme.d.ts +2 -0
  346. package/dist/components/layout/Stack/Stack.theme.js +10 -0
  347. package/dist/components/layout/Stack/Stack.types.d.ts +39 -0
  348. package/dist/components/layout/Stack/index.d.ts +3 -0
  349. package/dist/components/layout/index.d.ts +4 -0
  350. package/dist/components/layout/index.js +8 -0
  351. package/dist/generative.schema.json +1637 -0
  352. package/dist/hooks/useSelectPortal.d.ts +10 -2
  353. package/dist/hooks/useSelectPortal.js +45 -24
  354. package/dist/index.js +180 -174
  355. package/dist/registry.json +10205 -0
  356. package/dist/styles.css +1 -1
  357. package/dist/tools.json +1731 -0
  358. package/dist/utils/dateUtils.js +11 -1
  359. package/package.json +19 -4
  360. package/src/global.scss +82 -109
  361. package/src/styles/theme.css +707 -474
  362. package/dist/bg/1.jpg +0 -0
  363. package/dist/bg/10.jpg +0 -0
  364. package/dist/bg/11.jpg +0 -0
  365. package/dist/bg/14.jpg +0 -0
  366. package/dist/bg/15.jpg +0 -0
  367. package/dist/bg/16.jpg +0 -0
  368. package/dist/bg/17.jpg +0 -0
  369. package/dist/bg/18.jpg +0 -0
  370. package/dist/bg/19.jpg +0 -0
  371. package/dist/bg/2.jpg +0 -0
  372. package/dist/bg/20.jpg +0 -0
  373. package/dist/bg/21.jpg +0 -0
  374. package/dist/bg/22.jpg +0 -0
  375. package/dist/bg/23.jpg +0 -0
  376. package/dist/bg/24.jpg +0 -0
  377. package/dist/bg/3.jpg +0 -0
  378. package/dist/bg/4.jpg +0 -0
  379. package/dist/bg/5.jpg +0 -0
  380. package/dist/bg/6.jpg +0 -0
  381. package/dist/bg/7.jpg +0 -0
  382. package/dist/bg/8.jpg +0 -0
  383. package/dist/bg/9.jpg +0 -0
  384. package/dist/components/effects/MorphingText/MorphingText.d.ts +0 -17
  385. package/dist/components/effects/MorphingText/MorphingText.js +0 -125
  386. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +0 -18
  387. package/dist/components/effects/MorphingText/index.d.ts +0 -2
  388. package/dist/components/effects/PageTransition/PageTransition.animations.d.ts +0 -8
  389. package/dist/components/effects/PageTransition/PageTransition.animations.js +0 -53
  390. package/dist/components/effects/PageTransition/PageTransition.d.ts +0 -3
  391. package/dist/components/effects/PageTransition/PageTransition.js +0 -82
  392. package/dist/components/effects/PageTransition/PageTransition.types.d.ts +0 -15
  393. package/dist/components/effects/PageTransition/index.d.ts +0 -2
  394. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +0 -26
  395. package/dist/components/effects/ParallaxSection/ParallaxSection.js +0 -71
  396. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +0 -11
  397. package/dist/components/effects/ParallaxSection/index.d.ts +0 -2
  398. package/dist/components/effects/Spotlight/Spotlight.d.ts +0 -36
  399. package/dist/components/effects/Spotlight/Spotlight.js +0 -112
  400. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +0 -29
  401. package/dist/components/effects/Spotlight/index.d.ts +0 -2
  402. package/dist/components/effects/SpotlightBorder/SpotlightBorder.d.ts +0 -18
  403. package/dist/components/effects/SpotlightBorder/SpotlightBorder.js +0 -213
  404. package/dist/components/effects/SpotlightBorder/SpotlightBorder.types.d.ts +0 -61
  405. package/dist/components/effects/SpotlightBorder/index.d.ts +0 -2
  406. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +0 -30
  407. package/dist/components/effects/StickyScroll/StickyScroll.js +0 -128
  408. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +0 -19
  409. package/dist/components/effects/StickyScroll/index.d.ts +0 -2
  410. package/dist/components/forms/CronInput/CronInput.d.ts +0 -3
  411. package/dist/components/forms/CronInput/CronInput.js +0 -113
  412. package/dist/components/forms/CronInput/CronInput.theme.d.ts +0 -6
  413. package/dist/components/forms/CronInput/CronInput.theme.js +0 -84
  414. package/dist/components/forms/CronInput/CronInput.types.d.ts +0 -109
  415. package/dist/components/forms/CronInput/CronInput.utils.d.ts +0 -67
  416. package/dist/components/forms/CronInput/CronInput.utils.js +0 -505
  417. package/dist/components/forms/CronInput/index.d.ts +0 -4
  418. /package/dist/components/effects/{SpotlightBorder/SpotlightBorder.types.js → TiltCard/TiltCard.types.js} +0 -0
@@ -1,381 +1,392 @@
1
1
  @theme {
2
- /* Primary color palette - full 50-950 range */
3
- --color-primary-50: oklch(0.962 0.018 272.314);
4
- --color-primary-100: oklch(0.93 0.034 272.788);
5
- --color-primary-200: oklch(0.87 0.065 274.039);
6
- --color-primary-300: oklch(0.785 0.115 274.713);
7
- --color-primary-400: oklch(0.673 0.182 276.935);
8
- --color-primary-500: oklch(0.585 0.233 277.117);
9
- --color-primary-600: oklch(0.511 0.262 276.966);
10
- --color-primary-700: oklch(0.457 0.24 277.023);
11
- --color-primary-800: oklch(0.398 0.195 277.366);
12
- --color-primary-900: oklch(0.359 0.144 278.697);
13
- --color-primary-950: oklch(0.257 0.09 281.288);
14
-
15
- --color-primary: var(--color-primary-600);
16
- --color-primary-contrast: var(--color-neutral-50);
17
-
18
- /* Secondary color palette - Tailwind v4 gray */
19
- --color-secondary-50: oklch(0.984 0.003 247.858);
20
- --color-secondary-100: oklch(0.968 0.007 247.896);
21
- --color-secondary-200: oklch(0.929 0.013 255.508);
22
- --color-secondary-300: oklch(0.869 0.022 252.894);
23
- --color-secondary-400: oklch(0.704 0.04 256.788);
24
- --color-secondary-500: oklch(0.554 0.046 257.417);
25
- --color-secondary-600: oklch(0.446 0.043 257.281);
26
- --color-secondary-700: oklch(0.372 0.044 257.287);
27
- --color-secondary-800: oklch(0.279 0.041 260.031);
28
- --color-secondary-900: oklch(0.208 0.042 265.755);
29
- --color-secondary-950: oklch(0.129 0.042 264.695);
30
-
31
- --color-secondary: var(--color-secondary-600);
32
- --color-secondary-contrast: var(--color-neutral-50);
33
-
34
- /* Danger/Error color palette - full 50-950 range */
35
- --color-danger-50: oklch(0.971 0.013 17.38);
36
- --color-danger-100: oklch(0.936 0.032 17.717);
37
- --color-danger-200: oklch(0.885 0.062 18.334);
38
- --color-danger-300: oklch(0.808 0.114 19.571);
39
- --color-danger-400: oklch(0.704 0.191 22.216);
40
- --color-danger-500: oklch(0.637 0.237 25.331);
41
- --color-danger-600: oklch(0.577 0.245 27.325);
42
- --color-danger-700: oklch(0.505 0.213 27.518);
43
- --color-danger-800: oklch(0.444 0.177 26.899);
44
- --color-danger-900: oklch(0.396 0.141 25.723);
45
- --color-danger-950: oklch(0.258 0.092 26.042);
46
-
47
- --color-danger: var(--color-danger-600);
48
- --color-danger-contrast: var(--color-neutral-50);
49
-
50
- /* Success color palette - Tailwind v4 teal */
51
- --color-success-50: oklch(0.984 0.014 180.72);
52
- --color-success-100: oklch(0.953 0.051 180.801);
53
- --color-success-200: oklch(0.91 0.096 180.426);
54
- --color-success-300: oklch(0.855 0.138 181.071);
55
- --color-success-400: oklch(0.777 0.152 181.912);
56
- --color-success-500: oklch(0.704 0.14 182.503);
57
- --color-success-600: oklch(0.6 0.118 184.704);
58
- --color-success-700: oklch(0.511 0.096 186.391);
59
- --color-success-800: oklch(0.437 0.078 188.216);
60
- --color-success-900: oklch(0.386 0.063 188.416);
61
- --color-success-950: oklch(0.277 0.046 192.524);
62
-
63
- --color-success: var(--color-success-600);
64
- --color-success-contrast: var(--color-neutral-50);
65
-
66
- /* Warning color palette - full 50-950 range */
67
- --color-warning-50: oklch(0.987 0.022 95.277);
68
- --color-warning-100: oklch(0.962 0.059 95.617);
69
- --color-warning-200: oklch(0.924 0.12 95.746);
70
- --color-warning-300: oklch(0.879 0.169 91.605);
71
- --color-warning-400: oklch(0.828 0.189 84.429);
72
- --color-warning-500: oklch(0.769 0.188 70.08);
73
- --color-warning-600: oklch(0.666 0.179 58.318);
74
- --color-warning-700: oklch(0.555 0.163 48.998);
75
- --color-warning-800: oklch(0.473 0.137 46.201);
76
- --color-warning-900: oklch(0.414 0.112 45.904);
77
- --color-warning-950: oklch(0.279 0.077 45.635);
78
-
79
- --color-warning: var(--color-warning-600);
80
- --color-warning-contrast: var(--color-neutral-50);
81
-
82
- /* text color */
83
- --color-text-primary: var(--color-neutral-950);
84
- --color-text-secondary: var(--color-neutral-700);
85
- --color-text-placeholder: var(--color-neutral-400);
86
- --color-text-muted: var(--color-neutral-500);
87
- --color-text-disabled: var(--color-neutral-400);
88
- --color-text-inverse: var(--color-neutral-50);
89
-
90
- /* generic colors */
91
- --color-border: oklch(93% 0 0);
92
- --color-border-secondary: oklch(87% 0 0);
93
- /* Surface elevation ladder: surface-sunken < background (floor) < surface < surface-raised < surface-overlay.
94
- In light mode raised surfaces are ~white (elevation via shadow + border); sunken is recessed below the floor. */
95
- --color-surface-sunken: oklch(94% 0 0);
96
- --color-surface: oklch(100% 0 0);
97
- --color-surface-raised: oklch(100% 0 0);
98
- --color-surface-overlay: oklch(100% 0 0);
99
- /* Interaction fill (the one tokenized state): translucent tint so it composites correctly
2
+ /* Primary color palette - full 50-950 range */
3
+ --color-primary-50: oklch(0.962 0.018 272.314);
4
+ --color-primary-100: oklch(0.93 0.034 272.788);
5
+ --color-primary-200: oklch(0.87 0.065 274.039);
6
+ --color-primary-300: oklch(0.785 0.115 274.713);
7
+ --color-primary-400: oklch(0.673 0.182 276.935);
8
+ --color-primary-500: oklch(0.585 0.233 277.117);
9
+ --color-primary-600: oklch(0.511 0.262 276.966);
10
+ --color-primary-700: oklch(0.457 0.24 277.023);
11
+ --color-primary-800: oklch(0.398 0.195 277.366);
12
+ --color-primary-900: oklch(0.359 0.144 278.697);
13
+ --color-primary-950: oklch(0.257 0.09 281.288);
14
+
15
+ --color-primary: var(--color-primary-600);
16
+ --color-primary-contrast: var(--color-neutral-50);
17
+
18
+ /* Secondary color palette - Tailwind v4 gray */
19
+ --color-secondary-50: oklch(0.984 0.003 247.858);
20
+ --color-secondary-100: oklch(0.968 0.007 247.896);
21
+ --color-secondary-200: oklch(0.929 0.013 255.508);
22
+ --color-secondary-300: oklch(0.869 0.022 252.894);
23
+ --color-secondary-400: oklch(0.704 0.04 256.788);
24
+ --color-secondary-500: oklch(0.554 0.046 257.417);
25
+ --color-secondary-600: oklch(0.446 0.043 257.281);
26
+ --color-secondary-700: oklch(0.372 0.044 257.287);
27
+ --color-secondary-800: oklch(0.279 0.041 260.031);
28
+ --color-secondary-900: oklch(0.208 0.042 265.755);
29
+ --color-secondary-950: oklch(0.129 0.042 264.695);
30
+
31
+ --color-secondary: var(--color-secondary-600);
32
+ --color-secondary-contrast: var(--color-neutral-50);
33
+
34
+ /* Danger/Error color palette - full 50-950 range */
35
+ --color-danger-50: oklch(0.971 0.013 17.38);
36
+ --color-danger-100: oklch(0.936 0.032 17.717);
37
+ --color-danger-200: oklch(0.885 0.062 18.334);
38
+ --color-danger-300: oklch(0.808 0.114 19.571);
39
+ --color-danger-400: oklch(0.704 0.191 22.216);
40
+ --color-danger-500: oklch(0.637 0.237 25.331);
41
+ --color-danger-600: oklch(0.577 0.245 27.325);
42
+ --color-danger-700: oklch(0.505 0.213 27.518);
43
+ --color-danger-800: oklch(0.444 0.177 26.899);
44
+ --color-danger-900: oklch(0.396 0.141 25.723);
45
+ --color-danger-950: oklch(0.258 0.092 26.042);
46
+
47
+ --color-danger: var(--color-danger-600);
48
+ --color-danger-contrast: var(--color-neutral-50);
49
+
50
+ /* Success color palette - Tailwind v4 teal */
51
+ --color-success-50: oklch(0.984 0.014 180.72);
52
+ --color-success-100: oklch(0.953 0.051 180.801);
53
+ --color-success-200: oklch(0.91 0.096 180.426);
54
+ --color-success-300: oklch(0.855 0.138 181.071);
55
+ --color-success-400: oklch(0.777 0.152 181.912);
56
+ --color-success-500: oklch(0.704 0.14 182.503);
57
+ --color-success-600: oklch(0.6 0.118 184.704);
58
+ --color-success-700: oklch(0.511 0.096 186.391);
59
+ --color-success-800: oklch(0.437 0.078 188.216);
60
+ --color-success-900: oklch(0.386 0.063 188.416);
61
+ --color-success-950: oklch(0.277 0.046 192.524);
62
+
63
+ --color-success: var(--color-success-500);
64
+ --color-success-contrast: var(--color-neutral-50);
65
+
66
+ /* Warning color palette - full 50-950 range */
67
+ --color-warning-50: oklch(0.987 0.022 95.277);
68
+ --color-warning-100: oklch(0.962 0.059 95.617);
69
+ --color-warning-200: oklch(0.924 0.12 95.746);
70
+ --color-warning-300: oklch(0.879 0.169 91.605);
71
+ --color-warning-400: oklch(0.828 0.189 84.429);
72
+ --color-warning-500: oklch(0.769 0.188 70.08);
73
+ --color-warning-600: oklch(0.666 0.179 58.318);
74
+ --color-warning-700: oklch(0.555 0.163 48.998);
75
+ --color-warning-800: oklch(0.473 0.137 46.201);
76
+ --color-warning-900: oklch(0.414 0.112 45.904);
77
+ --color-warning-950: oklch(0.279 0.077 45.635);
78
+
79
+ --color-warning: var(--color-warning-600);
80
+ --color-warning-contrast: var(--color-neutral-50);
81
+
82
+ /* text color */
83
+ --color-text-primary: var(--color-neutral-950);
84
+ --color-text-secondary: var(--color-neutral-700);
85
+ --color-text-placeholder: var(--color-neutral-400);
86
+ --color-text-muted: var(--color-neutral-500);
87
+ --color-text-disabled: var(--color-neutral-400);
88
+ --color-text-inverse: var(--color-neutral-50);
89
+
90
+ /* generic colors */
91
+ --color-border: oklch(93% 0 0);
92
+ --color-border-secondary: oklch(87% 0 0);
93
+ /* Interaction border (hover/focus-adjacent) darkens in light for a clear
94
+ edge, mirror of --color-surface-hover but on the border axis. */
95
+ --color-border-hover: oklch(80% 0 0);
96
+ /* Surface elevation ladder — elevation reads LIGHTER (monotonic, symmetric with dark mode).
97
+ Light mode: a soft neutral page (background, 96.5%) with WHITE cards (surface) lifting off it.
98
+ raised/overlay are also white — white is the ceiling, so levels above the card separate by
99
+ shadow + border (and modals by a dimmed backdrop), not by luminance. sunken (95%) is the
100
+ recessed well that lives INSIDE white cards (inputs, code, table zebra, tracks) — 5% below the
101
+ card, and also below the floor. */
102
+ --color-surface-sunken: oklch(97.5% 0 0);
103
+ --color-surface: oklch(100% 0 0);
104
+ /* white — Card, KPI, Table, Sidebar… lift off the gray floor */
105
+ --color-surface-raised: oklch(100% 0 0);
106
+ /* white — Modal/Drawer; pop via shadow + dimmed backdrop */
107
+ --color-surface-overlay: oklch(100% 0 0);
108
+ /* white — Dropdown/Popover/Tooltip; pop via shadow */
109
+ /* Interaction fill (the one tokenized state): translucent tint so it composites correctly
100
110
  over ANY surface level — darkens in light, lightens in dark. For hover/active highlights. */
101
- --color-surface-hover: oklch(0% 0 0 / 0.05);
102
- --color-chart-track: rgba(0, 0, 0, 0.06);
103
- --color-background: oklch(98.5% 0.002 247.839);
104
- /* DEPRECATED (remove next major): alias of --color-surface. Use the surface ladder. */
105
- --color-background-secondary: var(--color-surface);
106
- /* DEPRECATED (remove next major): recessed/subtle fills. Migrate per-usage to --color-surface-sunken
111
+ --color-surface-hover: oklch(0% 0 0 / 0.05);
112
+ --color-chart-track: rgba(0, 0, 0, 0.06);
113
+ --color-background: oklch(94.5% 0 0);
114
+ /* clearly-readable light-gray page canvas white cards lift off it */
115
+ /* DEPRECATED (remove next major): alias of --color-surface. Use the surface ladder. */
116
+ --color-background-secondary: var(--color-surface);
117
+ /* DEPRECATED (remove next major): recessed/subtle fills. Migrate per-usage to --color-surface-sunken
107
118
  (dark values below are inverted vs. a correct sunken token, so no blind alias). */
108
- --color-background-tertiary: oklch(90% 0.002 247.839);
109
- --color-background-quaternary: oklch(85% 0.002 247.839);
110
- --color-background-quinary: oklch(80% 0.002 247.839);
111
- --color-background-disabled: var(--color-neutral-100);
112
-
113
- --color-neutral-50: oklch(98.5% 0 0);
114
- --color-neutral-100: oklch(97% 0 0);
115
- --color-neutral-200: oklch(92.2% 0 0);
116
- --color-neutral-300: oklch(87% 0 0);
117
- --color-neutral-400: oklch(70.8% 0 0);
118
- --color-neutral-500: oklch(55.6% 0 0);
119
- --color-neutral-600: oklch(43.9% 0 0);
120
- --color-neutral-700: oklch(37.1% 0 0);
121
- --color-neutral-800: oklch(26.9% 0 0);
122
- --color-neutral-900: oklch(20.5% 0 0);
123
- --color-neutral-950: oklch(14.5% 0 0);
124
-
125
- /* Font family variables */
126
- --font-family-base: var(--font-sans);
127
- --font-cursive: "Birthstone", cursive;
128
- --font-weight-light: 300;
129
- --font-weight-normal: 400;
130
- --font-weight-medium: 500;
131
- --font-weight-semibold: 600;
132
- --font-weight-bold: 700;
133
- --font-weight-extrabold: 800;
134
-
135
- /* Form element variables — fixed px so they don't scale with root font-size */
136
- --form-min-h-sm: 32px;
137
- /* h-8 in Tailwind */
138
- --form-min-h-md: 40px;
139
- /* h-10 in Tailwind */
140
- --form-min-h-lg: 48px;
141
- /* h-12 in Tailwind */
142
-
143
- --form-label-pb: 8px;
144
- /* pb-2 in Tailwind */
145
-
146
- --form-px-sm: 12px;
147
- /* px-3 in Tailwind */
148
- --form-px-md: 14px;
149
- /* px-3.5 in Tailwind */
150
- --form-px-lg: 16px;
151
- /* px-4 in Tailwind */
152
-
153
- --form-py-sm: 8px;
154
- /* py-1 in Tailwind */
155
- --form-py-md: 10px;
156
- /* py-2 in Tailwind */
157
- --form-py-lg: 12px;
158
- /* py-3 in Tailwind */
159
-
160
- /* ============================================
119
+ --color-background-tertiary: oklch(90% 0.002 247.839);
120
+ --color-background-quaternary: oklch(85% 0.002 247.839);
121
+ --color-background-quinary: oklch(80% 0.002 247.839);
122
+ --color-background-disabled: var(--color-neutral-100);
123
+
124
+ --color-neutral-50: oklch(98.5% 0 0);
125
+ --color-neutral-100: oklch(97% 0 0);
126
+ --color-neutral-200: oklch(92.2% 0 0);
127
+ --color-neutral-300: oklch(87% 0 0);
128
+ --color-neutral-400: oklch(70.8% 0 0);
129
+ --color-neutral-500: oklch(55.6% 0 0);
130
+ --color-neutral-600: oklch(43.9% 0 0);
131
+ --color-neutral-700: oklch(37.1% 0 0);
132
+ --color-neutral-800: oklch(26.9% 0 0);
133
+ --color-neutral-900: oklch(20.5% 0 0);
134
+ --color-neutral-950: oklch(14.5% 0 0);
135
+
136
+ /* Font family variables */
137
+ --font-family-base: var(--font-sans);
138
+ --font-cursive: "Birthstone", cursive;
139
+ --font-weight-light: 300;
140
+ --font-weight-normal: 400;
141
+ --font-weight-medium: 500;
142
+ --font-weight-semibold: 600;
143
+ --font-weight-bold: 700;
144
+ --font-weight-extrabold: 800;
145
+
146
+ /* Form element variables — fixed px so they don't scale with root font-size */
147
+ --form-min-h-sm: 32px;
148
+ /* h-8 in Tailwind */
149
+ --form-min-h-md: 40px;
150
+ /* h-10 in Tailwind */
151
+ --form-min-h-lg: 48px;
152
+ /* h-12 in Tailwind */
153
+
154
+ --form-label-pb: 8px;
155
+ /* pb-2 in Tailwind */
156
+
157
+ --form-px-sm: 12px;
158
+ /* px-3 in Tailwind */
159
+ --form-px-md: 14px;
160
+ /* px-3.5 in Tailwind */
161
+ --form-px-lg: 16px;
162
+ /* px-4 in Tailwind */
163
+
164
+ --form-py-sm: 8px;
165
+ /* py-1 in Tailwind */
166
+ --form-py-md: 10px;
167
+ /* py-2 in Tailwind */
168
+ --form-py-lg: 12px;
169
+ /* py-3 in Tailwind */
170
+
171
+ /* ============================================
161
172
  BORDER RADIUS SYSTEM
162
173
  Change --radius-base to adjust the entire UI.
163
174
  Individual --*-radius variables can be overridden independently.
164
175
  ============================================ */
165
- --radius-base: 8px;
166
- /* Base radius token */
167
-
168
- /* Forms & Controls (1x base = 8px) */
169
- --form-radius: var(--radius-base);
170
-
171
- /* Overlays (1.5x base = 12px) */
172
- --dropdown-radius: calc(var(--radius-base) * 1.5);
173
- --tooltip-radius: calc(var(--radius-base) / 2);
174
- --codeblock-radius: calc(var(--radius-base) * 1.5);
175
- --popover-radius: calc(var(--radius-base) * 1.5);
176
-
177
- /* Feedback surfaces */
178
- --alert-radius: calc(var(--radius-base) * 1.5);
179
- --toast-radius: calc(var(--radius-base) * 2);
180
- --drawer-radius: calc(var(--radius-base) * 2);
181
- --metric-radius: calc(var(--radius-base) * 2);
182
-
183
- /* Surfaces (3x base = 24px) */
184
- --card-radius: calc(var(--radius-base) * 1.5);
185
- --modal-radius: calc(var(--radius-base) * 1.5);
186
-
187
- /* Special shapes - not part of scale */
188
- --segmented-radius: var(--form-radius);
189
- --avatar-radius: 50%;
190
-
191
- /* Focus ring styling */
192
- --form-focus-ring-width: 2px;
193
- --form-focus-ring-offset: -1px;
194
- --form-focus-ring-opacity: 0.1;
195
-
196
- /* Outline/border styling */
197
- --form-outline-width: 1px;
198
- --form-outline-focused-width: 2px;
199
-
200
- /* Button variables - inheriting from form variables */
201
- --button-radius: var(--form-radius);
202
- --button-min-h-sm: var(--form-min-h-sm);
203
- --button-min-h-md: var(--form-min-h-md);
204
- --button-min-h-lg: var(--form-min-h-lg);
205
-
206
- /* Button padding — fixed px */
207
- --button-px-sm: 12px;
208
- --button-py-sm: 0;
209
- --button-px-md: 14px;
210
- --button-py-md: 0;
211
- --button-px-lg: 20px;
212
- --button-py-lg: 0;
213
-
214
- /* Button icon-only padding — fixed px */
215
- --button-icon-p-sm: 6px;
216
- --button-icon-p-md: 8px;
217
- --button-icon-p-lg: 10px;
218
-
219
- /* Button icon-only sizes */
220
- --button-icon-size-sm: var(--form-min-h-sm);
221
- --button-icon-size-md: var(--form-min-h-md);
222
- --button-icon-size-lg: var(--form-min-h-lg);
223
-
224
- /* Badge variables */
225
- --badge-radius: 6px;
226
-
227
- /* Segmented variables - now defined in radius system above */
228
- --segmented-min-h-sm: var(--form-min-h-sm);
229
- --segmented-min-h-md: var(--form-min-h-md);
230
- --segmented-min-h-lg: var(--form-min-h-lg);
231
-
232
- /* Segmented padding */
233
- --segmented-px-sm: 8px;
234
- --segmented-px-md: 10px;
235
- --segmented-px-lg: 12px;
236
-
237
- --segmented-py-sm: var(--form-py-sm);
238
- --segmented-py-md: var(--form-py-md);
239
- --segmented-py-lg: var(--form-py-lg);
240
-
241
- /* Segmented inner offset — drives wrapper padding AND inner radius so
176
+ --radius-base: 12px;
177
+ /* Base radius token */
178
+
179
+ /* Forms & Controls (1x base = 8px) */
180
+ --form-radius: var(--radius-base);
181
+
182
+ /* Overlays (1.5x base = 12px) */
183
+ --dropdown-radius: calc(var(--radius-base) * 1.5);
184
+ --tooltip-radius: calc(var(--radius-base) / 1);
185
+ --codeblock-radius: calc(var(--radius-base) * 1.5);
186
+ --popover-radius: calc(var(--radius-base) * 1.5);
187
+
188
+ /* Feedback surfaces */
189
+ --alert-radius: calc(var(--radius-base) * 1.5);
190
+ --toast-radius: calc(var(--radius-base) * 2);
191
+ --drawer-radius: calc(var(--radius-base) * 2);
192
+ --metric-radius: calc(var(--radius-base) * 2);
193
+
194
+ /* Surfaces (3x base = 24px) */
195
+ --card-radius: calc(var(--radius-base) * 1.5);
196
+ --modal-radius: calc(var(--radius-base) * 1.5);
197
+
198
+ /* Special shapes - not part of scale */
199
+ --segmented-radius: var(--form-radius);
200
+ --avatar-radius: 50%;
201
+
202
+ /* Focus ring styling */
203
+ --form-focus-ring-width: 2px;
204
+ --form-focus-ring-offset: -1px;
205
+ --form-focus-ring-opacity: 0.1;
206
+
207
+ /* Outline/border styling */
208
+ --form-outline-width: 1px;
209
+ --form-outline-focused-width: 2px;
210
+
211
+ /* Button variables - inheriting from form variables */
212
+ --button-radius: var(--form-radius);
213
+ --button-min-h-sm: var(--form-min-h-sm);
214
+ --button-min-h-md: var(--form-min-h-md);
215
+ --button-min-h-lg: var(--form-min-h-lg);
216
+
217
+ /* Button padding — fixed px */
218
+ --button-px-sm: 12px;
219
+ --button-py-sm: 0;
220
+ --button-px-md: 14px;
221
+ --button-py-md: 0;
222
+ --button-px-lg: 20px;
223
+ --button-py-lg: 0;
224
+
225
+ /* Button icon-only padding — fixed px */
226
+ --button-icon-p-sm: 6px;
227
+ --button-icon-p-md: 8px;
228
+ --button-icon-p-lg: 10px;
229
+
230
+ /* Button icon-only sizes */
231
+ --button-icon-size-sm: var(--form-min-h-sm);
232
+ --button-icon-size-md: var(--form-min-h-md);
233
+ --button-icon-size-lg: var(--form-min-h-lg);
234
+
235
+ /* Badge variables */
236
+ --badge-radius: 6px;
237
+
238
+ /* Segmented variables - now defined in radius system above */
239
+ --segmented-min-h-sm: var(--form-min-h-sm);
240
+ --segmented-min-h-md: var(--form-min-h-md);
241
+ --segmented-min-h-lg: var(--form-min-h-lg);
242
+
243
+ /* Segmented padding */
244
+ --segmented-px-sm: 8px;
245
+ --segmented-px-md: 10px;
246
+ --segmented-px-lg: 12px;
247
+
248
+ --segmented-py-sm: var(--form-py-sm);
249
+ --segmented-py-md: var(--form-py-md);
250
+ --segmented-py-lg: var(--form-py-lg);
251
+
252
+ /* Segmented inner offset — drives wrapper padding AND inner radius so
242
253
  the sliding background + items stay concentric with the outer shell.
243
254
  border (1px) + padding (--segmented-padding) = total inset. */
244
- --segmented-padding: 0.125rem;
245
- /* 2px */
246
- --segmented-inner-radius: calc(var(--segmented-radius) - var(--segmented-padding) - 1px);
247
-
248
- /* Segmented sliding background */
249
- --segmented-active-bg: #ffffff;
250
- --segmented-active-shadow:
251
- 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
252
-
253
- /* Glass effect variables */
254
- --glass-layer-padding: 0.5px;
255
- --glass-layer-border-width: 0.5px;
256
- --glass-layer-inner-offset: 1.5px;
257
-
258
- /* Glass effect gradient variables */
259
- --glass-gradient-outer: linear-gradient(to bottom,
260
- rgba(250, 250, 250, 0.8) 0%,
261
- rgba(229, 229, 229, 0.8) 30%,
262
- rgba(242, 242, 242, 0.8) 70%,
263
- rgba(250, 250, 250, 0.8) 100%);
264
- --glass-gradient-inner: linear-gradient(to bottom,
265
- rgba(242, 242, 242, 0.8) 0%,
266
- rgba(250, 250, 250, 0.8) 100%);
267
-
268
- /* Chat message variables */
269
- --chat-bubble-border-sender: rgba(255, 255, 255, 0.4);
270
- --chat-bubble-border-receiver: rgba(255, 255, 255, 1);
271
-
272
- /* Avatar variables — fixed px */
273
- --avatar-size-xs: 24px;
274
- /* size-6 in Tailwind */
275
- --avatar-size-sm: 32px;
276
- /* size-8 in Tailwind */
277
- --avatar-size-md: 40px;
278
- /* size-10 in Tailwind */
279
- --avatar-size-lg: 48px;
280
- /* size-12 in Tailwind */
281
- --avatar-size-xl: 64px;
282
- /* size-16 in Tailwind */
283
-
284
- /* Avatar radius - now defined in radius system above */
285
-
286
- /* Carousel Variables */
287
- --carousel-container-width: 100%;
288
- /* Full width container */
289
- --carousel-slide-width: 66vw;
290
- /* Default slide width - can be overridden */
291
- --carousel-slide-height: 44rem;
292
- /* 384px = h-96 */
293
- --carousel-slide-gap: 16px;
294
- /* gap between slides */
295
- --carousel-controls-size: 48px;
296
- /* control button size */
297
- --carousel-controls-offset: 16px;
298
- /* distance from edge */
299
-
300
- /* Popover variables - radius now defined in radius system above */
301
- --popover-shadow:
302
- 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
303
- --popover-border-width: 1px;
304
- --popover-backdrop-opacity: 0.5;
305
- --popover-offset-sm: 8px;
306
- --popover-offset-md: 8px;
307
- --popover-offset-lg: 12px;
308
- --popover-max-width-sm: 256px;
309
- --popover-max-width-md: 384px;
310
- --popover-max-width-lg: 512px;
311
- --popover-padding-sm: 12px;
312
- --popover-padding-md: 12px;
313
- --popover-padding-lg: 16px;
314
-
315
- /* NavItem variables */
316
- --nav-item-radius: var(--radius-base);
317
- --nav-item-min-h: 40px;
318
- /* h-10 in Tailwind */
319
-
320
- /* NavItem padding — fixed px */
321
- --nav-item-px: 12px;
322
- /* px-3 in Tailwind */
323
- --nav-item-py: 10px;
324
- /* py-2.5 in Tailwind */
325
-
326
- /* Modal and Drawer */
327
- --overlay-bg: rgba(0, 0, 0, 0.65);
328
- --overlay-blur: 2px;
329
- --color-scale-background: oklch(0% 0 0);
330
- /* backdrop behind scaled content */
331
- /* Modal radius - now defined in radius system above */
332
-
333
- /* Shadow color presets for utility generation */
334
- --shadow-color-primary: var(--color-primary);
335
- --shadow-color-success: var(--color-success);
336
- --shadow-color-warning: var(--color-warning);
337
- --shadow-color-danger: var(--color-danger);
338
- --shadow-color-secondary: var(--color-secondary);
339
-
340
- /* Neumorphic tokens — light mode (multi-layer realistic) */
341
- --neu-raised-shadow:
342
- 1px 1px 2px rgba(0, 0, 0, 0.04), 3px 3px 6px rgba(0, 0, 0, 0.06),
343
- 6px 6px 14px rgba(0, 0, 0, 0.08), 12px 12px 28px rgba(0, 0, 0, 0.04),
344
- -1px -1px 2px rgba(255, 255, 255, 0.5),
345
- -3px -3px 6px rgba(255, 255, 255, 0.5),
346
- -6px -6px 14px rgba(255, 255, 255, 0.3),
347
- inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 -1px 0 rgba(0, 0, 0, 0.04);
348
- --neu-inset-shadow:
349
- inset 1px 1px 2px rgba(0, 0, 0, 0.06),
350
- inset 2px 2px 4px rgba(0, 0, 0, 0.06),
351
- inset 4px 4px 8px rgba(0, 0, 0, 0.05),
352
- inset 8px 8px 16px rgba(0, 0, 0, 0.03),
353
- inset -1px -1px 2px rgba(255, 255, 255, 0.5),
354
- inset -3px -3px 6px rgba(255, 255, 255, 0.4),
355
- inset -6px -6px 12px rgba(255, 255, 255, 0.2),
356
- 0 1px 0 rgba(255, 255, 255, 0.5);
357
- --neu-circle-groove-shadow:
358
- inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.08),
359
- inset 1px 1px 3px rgba(0, 0, 0, 0.08),
360
- inset 2px 2px 5px rgba(0, 0, 0, 0.04), 0.5px 0.5px 1px rgba(0, 0, 0, 0.4),
361
- 1px 1px 2px rgba(0, 0, 0, 0.3);
362
- --neu-circle-disc-shadow:
363
- inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.05),
364
- inset 1px 1px 3px rgba(0, 0, 0, 0.04),
365
- inset -0.5px -0.5px 1px rgba(255, 255, 255, 0.4),
366
- inset -1px -1px 2px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.06),
367
- 0 2px 4px rgba(0, 0, 0, 0.04);
368
- --neu-raised-border: linear-gradient(145deg,
369
- rgba(255, 255, 255, 0.7) 0%,
370
- rgba(255, 255, 255, 0.35) 30%,
371
- transparent 50%,
372
- rgba(0, 0, 0, 0.06) 100%);
373
- --neu-inset-border: linear-gradient(180deg,
374
- rgba(0, 0, 0, 0.1) 0%,
375
- rgba(0, 0, 0, 0.04) 25%,
376
- rgba(255, 255, 255, 0.15) 50%,
377
- rgba(255, 255, 255, 0.35) 75%,
378
- rgba(255, 255, 255, 0.5) 100%);
255
+ --segmented-padding: 0.125rem;
256
+ /* 2px */
257
+ --segmented-inner-radius: calc(var(--segmented-radius) - var(--segmented-padding) - 1px);
258
+
259
+ /* Segmented sliding background */
260
+ --segmented-active-bg: #ffffff;
261
+ --segmented-active-shadow:
262
+ 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
263
+
264
+ /* Glass effect variables */
265
+ --glass-layer-padding: 0.5px;
266
+ --glass-layer-border-width: 0.5px;
267
+ --glass-layer-inner-offset: 1.5px;
268
+
269
+ /* Glass effect gradient variables */
270
+ --glass-gradient-outer: linear-gradient(to bottom,
271
+ rgba(250, 250, 250, 0.8) 0%,
272
+ rgba(229, 229, 229, 0.8) 30%,
273
+ rgba(242, 242, 242, 0.8) 70%,
274
+ rgba(250, 250, 250, 0.8) 100%);
275
+ --glass-gradient-inner: linear-gradient(to bottom,
276
+ rgba(242, 242, 242, 0.8) 0%,
277
+ rgba(250, 250, 250, 0.8) 100%);
278
+
279
+ /* Chat message variables */
280
+ --chat-bubble-border-sender: rgba(255, 255, 255, 0.4);
281
+ --chat-bubble-border-receiver: rgba(255, 255, 255, 1);
282
+
283
+ /* Avatar variables — fixed px */
284
+ --avatar-size-xs: 24px;
285
+ /* size-6 in Tailwind */
286
+ --avatar-size-sm: 32px;
287
+ /* size-8 in Tailwind */
288
+ --avatar-size-md: 40px;
289
+ /* size-10 in Tailwind */
290
+ --avatar-size-lg: 48px;
291
+ /* size-12 in Tailwind */
292
+ --avatar-size-xl: 64px;
293
+ /* size-16 in Tailwind */
294
+
295
+ /* Avatar radius - now defined in radius system above */
296
+
297
+ /* Carousel Variables */
298
+ --carousel-container-width: 100%;
299
+ /* Full width container */
300
+ --carousel-slide-width: 66vw;
301
+ /* Default slide width - can be overridden */
302
+ --carousel-slide-height: 44rem;
303
+ /* 384px = h-96 */
304
+ --carousel-slide-gap: 16px;
305
+ /* gap between slides */
306
+ --carousel-controls-size: 48px;
307
+ /* control button size */
308
+ --carousel-controls-offset: 16px;
309
+ /* distance from edge */
310
+
311
+ /* Popover variables - radius now defined in radius system above */
312
+ --popover-shadow:
313
+ 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
314
+ --popover-border-width: 1px;
315
+ --popover-backdrop-opacity: 0.5;
316
+ --popover-offset-sm: 8px;
317
+ --popover-offset-md: 8px;
318
+ --popover-offset-lg: 12px;
319
+ --popover-max-width-sm: 256px;
320
+ --popover-max-width-md: 384px;
321
+ --popover-max-width-lg: 512px;
322
+ --popover-padding-sm: 12px;
323
+ --popover-padding-md: 12px;
324
+ --popover-padding-lg: 16px;
325
+
326
+ /* NavItem variables */
327
+ --nav-item-radius: var(--radius-base);
328
+ --nav-item-min-h: 40px;
329
+ /* h-10 in Tailwind */
330
+
331
+ /* NavItem padding — fixed px */
332
+ --nav-item-px: 12px;
333
+ /* px-3 in Tailwind */
334
+ --nav-item-py: 10px;
335
+ /* py-2.5 in Tailwind */
336
+
337
+ /* Modal and Drawer */
338
+ --overlay-bg: rgba(0, 0, 0, 0.65);
339
+ --overlay-blur: 8px;
340
+ --color-scale-background: oklch(0% 0 0);
341
+ /* backdrop behind scaled content */
342
+ /* Modal radius - now defined in radius system above */
343
+
344
+ /* Shadow color presets for utility generation */
345
+ --shadow-color-primary: var(--color-primary);
346
+ --shadow-color-success: var(--color-success);
347
+ --shadow-color-warning: var(--color-warning);
348
+ --shadow-color-danger: var(--color-danger);
349
+ --shadow-color-secondary: var(--color-secondary);
350
+
351
+ /* Neumorphic tokens — light mode (multi-layer realistic) */
352
+ --neu-raised-shadow:
353
+ 1px 1px 2px rgba(0, 0, 0, 0.04), 3px 3px 6px rgba(0, 0, 0, 0.06),
354
+ 6px 6px 14px rgba(0, 0, 0, 0.08), 12px 12px 28px rgba(0, 0, 0, 0.04),
355
+ -1px -1px 2px rgba(255, 255, 255, 0.5),
356
+ -3px -3px 6px rgba(255, 255, 255, 0.5),
357
+ -6px -6px 14px rgba(255, 255, 255, 0.3),
358
+ inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 -1px 0 rgba(0, 0, 0, 0.04);
359
+ --neu-inset-shadow:
360
+ inset 1px 1px 2px rgba(0, 0, 0, 0.06),
361
+ inset 2px 2px 4px rgba(0, 0, 0, 0.06),
362
+ inset 4px 4px 8px rgba(0, 0, 0, 0.05),
363
+ inset 8px 8px 16px rgba(0, 0, 0, 0.03),
364
+ inset -1px -1px 2px rgba(255, 255, 255, 0.5),
365
+ inset -3px -3px 6px rgba(255, 255, 255, 0.4),
366
+ inset -6px -6px 12px rgba(255, 255, 255, 0.2),
367
+ 0 1px 0 rgba(255, 255, 255, 0.5);
368
+ --neu-circle-groove-shadow:
369
+ inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.08),
370
+ inset 1px 1px 3px rgba(0, 0, 0, 0.08),
371
+ inset 2px 2px 5px rgba(0, 0, 0, 0.04), 0.5px 0.5px 1px rgba(0, 0, 0, 0.4),
372
+ 1px 1px 2px rgba(0, 0, 0, 0.3);
373
+ --neu-circle-disc-shadow:
374
+ inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.05),
375
+ inset 1px 1px 3px rgba(0, 0, 0, 0.04),
376
+ inset -0.5px -0.5px 1px rgba(255, 255, 255, 0.4),
377
+ inset -1px -1px 2px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.06),
378
+ 0 2px 4px rgba(0, 0, 0, 0.04);
379
+ --neu-raised-border: linear-gradient(145deg,
380
+ rgba(255, 255, 255, 0.7) 0%,
381
+ rgba(255, 255, 255, 0.35) 30%,
382
+ transparent 50%,
383
+ rgba(0, 0, 0, 0.06) 100%);
384
+ --neu-inset-border: linear-gradient(180deg,
385
+ rgba(0, 0, 0, 0.1) 0%,
386
+ rgba(0, 0, 0, 0.04) 25%,
387
+ rgba(255, 255, 255, 0.15) 50%,
388
+ rgba(255, 255, 255, 0.35) 75%,
389
+ rgba(255, 255, 255, 0.5) 100%);
379
390
  }
380
391
 
381
392
  /* ============================================
@@ -390,109 +401,331 @@
390
401
  Tailwind's generated theme styles.
391
402
  ============================================ */
392
403
  @layer theme {
393
- .dark {
394
- /* Text colors - inverted for dark backgrounds */
395
-
396
- --color-text-primary: var(--color-neutral-50);
397
- --color-text-secondary: var(--color-neutral-400);
398
- --color-text-placeholder: var(--color-neutral-600);
399
- --color-text-muted: var(--color-neutral-600);
400
- --color-text-disabled: var(--color-neutral-400);
401
- --color-text-inverse: var(--color-neutral-950);
402
-
403
- /* Base theme colors */
404
- --color-primary: var(--color-primary-600);
405
- --color-success: var(--color-success-400);
406
- --color-warning: var(--color-warning-400);
407
- --color-danger: var(--color-danger-400);
408
- --color-secondary: var(--color-secondary-400);
409
-
410
- /* Contrast colors for filled variants on semantic backgrounds */
411
- --color-primary-contrast: var(--color-neutral-50);
412
- --color-danger-contrast: var(--color-neutral-50);
413
- --color-success-contrast: var(--color-neutral-50);
414
- --color-warning-contrast: var(--color-neutral-50);
415
- --color-secondary-contrast: var(--color-neutral-50);
416
-
417
- /* Background colors - dark equivalents */
418
- /* Surface elevation ladder: sunken sits below the floor; surface levels ascend so each reads as raised. */
419
- --color-surface-sunken: oklch(13% 0 0);
420
- --color-surface: oklch(18% 0 0);
421
- --color-surface-raised: oklch(22% 0 0);
422
- --color-surface-overlay: oklch(25% 0 0);
423
- --color-surface-hover: oklch(100% 0 0 / 0.07);
424
- --color-background: oklch(14.5% 0 0);
425
- /* DEPRECATED (remove next major): alias of --color-surface. */
426
- --color-background-secondary: var(--color-surface);
427
- /* DEPRECATED (remove next major): migrate per-usage to --color-surface-sunken / surface ladder. */
428
- --color-background-tertiary: oklch(22% 0 0);
429
- --color-background-quaternary: oklch(26% 0 0);
430
- --color-background-quinary: oklch(30% 0 0);
431
- --color-background-disabled: var(--color-neutral-800);
432
-
433
- /* Scale backdrop */
434
- --color-scale-background: oklch(8% 0 0);
435
-
436
- /* Border - darker for dark mode */
437
- --color-border: oklch(30% 0 0 / 0.8);
438
- --color-border-secondary: oklch(35% 0 0 / 0.8);
439
- --color-chart-track: rgba(255, 255, 255, 0.05);
440
-
441
- /* Glass effect gradients - dark mode */
442
- --glass-gradient-outer: linear-gradient(135deg,
443
- var(--color-background-tertiary) 0%,
444
- var(--color-background-secondary) 30%,
445
- var(--color-background) 70%,
446
- var(--color-background-tertiary) 100%);
447
- --glass-gradient-inner: linear-gradient(to bottom,
448
- var(--color-background-secondary) 0%,
449
- var(--color-background) 100%);
450
-
451
- /* Scrollbar - dark mode */
452
- --ui-scrollbar-thumb-rest: rgba(75, 85, 99, 0.3);
453
- --ui-scrollbar-thumb-active: rgb(75 85 99);
454
- --ui-scrollbar-track-rest: transparent;
455
- --ui-scrollbar-track-active: rgba(55, 65, 81, 0.1);
456
-
457
- /* Neumorphic tokens dark mode (multi-layer realistic) */
458
- --neu-raised-shadow:
459
- 1px 1px 2px rgba(0, 0, 0, 0.2), 3px 3px 6px rgba(0, 0, 0, 0.25),
460
- 6px 6px 14px rgba(0, 0, 0, 0.2), 12px 12px 28px rgba(0, 0, 0, 0.1),
461
- -1px -1px 2px rgba(255, 255, 255, 0.02),
462
- -3px -3px 6px rgba(255, 255, 255, 0.015),
463
- -6px -6px 14px rgba(255, 255, 255, 0.01),
464
- inset 0 1px 0 rgba(255, 255, 255, 0.04),
465
- inset 0 -1px 0 rgba(0, 0, 0, 0.15);
466
- --neu-inset-shadow:
467
- inset 1px 1px 2px rgba(0, 0, 0, 0.3),
468
- inset 2px 2px 4px rgba(0, 0, 0, 0.25),
469
- inset 4px 4px 8px rgba(0, 0, 0, 0.2),
470
- inset 8px 8px 16px rgba(0, 0, 0, 0.1),
471
- inset -1px -1px 2px rgba(255, 255, 255, 0.02),
472
- inset -3px -3px 6px rgba(255, 255, 255, 0.015),
473
- 0 1px 0 rgba(255, 255, 255, 0.04);
474
- --neu-circle-groove-shadow:
475
- inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.4),
476
- inset 1px 1px 2px rgba(0, 0, 0, 0.35),
477
- inset 2px 2px 5px rgba(0, 0, 0, 0.2),
478
- 0.5px 0.5px 1px rgba(255, 255, 255, 0.04),
479
- 1px 1px 2px rgba(255, 255, 255, 0.03);
480
- --neu-circle-disc-shadow:
481
- inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.2),
482
- inset 1px 1px 3px rgba(0, 0, 0, 0.15),
483
- inset -0.5px -0.5px 1px rgba(255, 255, 255, 0.04),
484
- inset -1px -1px 2px rgba(255, 255, 255, 0.03),
485
- 0 1px 2px rgba(0, 0, 0, 0.25), 0 2px 4px rgba(0, 0, 0, 0.2);
486
- --neu-raised-border: linear-gradient(145deg,
487
- rgba(255, 255, 255, 0.2) 0%,
488
- rgba(255, 255, 255, 0.08) 30%,
489
- transparent 50%,
490
- rgba(0, 0, 0, 0.12) 100%);
491
- --neu-inset-border: linear-gradient(180deg,
492
- rgba(0, 0, 0, 0.4) 0%,
493
- rgba(0, 0, 0, 0.15) 25%,
494
- rgba(255, 255, 255, 0.03) 50%,
495
- rgba(255, 255, 255, 0.08) 75%,
496
- rgba(255, 255, 255, 0.12) 100%);
497
- }
404
+
405
+ /* Scrollbar - light mode defaults.
406
+ These MUST live in @layer theme (not @layer base) alongside the .dark
407
+ override below. The layer order is `theme, base, ...`, so values in
408
+ @layer base win over @layer theme — if these defaults sat in base, the
409
+ .dark override here would never apply and the scrollbar would render with
410
+ the light (bright) thumb in dark mode. Keeping both in @layer theme means
411
+ the .dark block (later source order, equal specificity) wins. */
412
+ :root {
413
+ /* Tell the UA which palette to paint native chrome (scrollbars, form
414
+ controls, etc.). Our custom `::-webkit-scrollbar` track/thumb are mostly
415
+ transparent, so without this the browser composites its *default light*
416
+ scrollbar underneath — in dark mode the visible (active) track then reads
417
+ as an opaque white bar showing through the faint dark tint. `.dark` flips
418
+ this to `dark` below so the UA scrollbar matches the surface. */
419
+ color-scheme: light;
420
+ --ui-scrollbar-size: 4px;
421
+ --ui-scrollbar-thumb-rest: rgba(209, 213, 219, 0.3);
422
+ --ui-scrollbar-thumb-active: rgb(209 213 219);
423
+ --ui-scrollbar-track-rest: transparent;
424
+ --ui-scrollbar-track-active: rgba(209, 213, 219, 0.1);
425
+ }
426
+
427
+ /* Realistic layered elevation shadows — light mode (source of truth).
428
+ Consumed by `@utility shadow-real-*` / `shadow-inner-real-*` in global.scss.
429
+ Tokenized here (NOT inline in the utility) so the `.dark` block below can
430
+ swap them — faint multi-layer black reads on light surfaces but is invisible
431
+ on the near-black dark floor, so dark gets a depth-pool + top-rim treatment.
432
+ 🔴 Named --elevation-* on purpose, NOT --shadow-*: a `--shadow-*` theme
433
+ property makes Tailwind v4 auto-generate a colliding `shadow-*` utility. */
434
+ :root {
435
+ --elevation-real-sm:
436
+ 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
437
+ 0.1px 3.6px 3.2px -4.1px rgba(0, 0, 0, 0.08);
438
+ --elevation-real-md:
439
+ 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
440
+ 0.1px 3.7px 3.3px -2px rgba(0, 0, 0, 0.09),
441
+ 0.4px 18.2px 16.2px -4.1px rgba(0, 0, 0, 0.06);
442
+ --elevation-real-lg:
443
+ 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
444
+ 0.1px 3.6px 3.2px -0.8px rgba(0, 0, 0, 0.06),
445
+ 0.2px 9.5px 8.5px -1.6px rgba(0, 0, 0, 0.06),
446
+ 0.5px 22.6px 20.2px -2.4px rgba(0, 0, 0, 0.05),
447
+ 1.1px 47.3px 42.2px -3.2px rgba(0, 0, 0, 0.04),
448
+ 2.1px 87.7px 78.3px -4.1px rgba(0, 0, 0, 0.03);
449
+ --elevation-real-xl:
450
+ 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
451
+ 0.2px 4.8px 4.3px -0.5px rgba(0, 0, 0, 0.06),
452
+ 0.4px 11.2px 10px -1px rgba(0, 0, 0, 0.06),
453
+ 0.7px 21.3px 19px -1.5px rgba(0, 0, 0, 0.05),
454
+ 1.2px 38.4px 34.3px -2px rgba(0, 0, 0, 0.05),
455
+ 2px 64.6px 57.7px -2.5px rgba(0, 0, 0, 0.04),
456
+ 3.1px 102.1px 91.2px -3px rgba(0, 0, 0, 0.03),
457
+ 4.7px 154.3px 137.8px -3.5px rgba(0, 0, 0, 0.03),
458
+ 6.8px 222.5px 198.7px -4.1px rgba(0, 0, 0, 0.02);
459
+ --elevation-real-2xl:
460
+ 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
461
+ 0.3px 6.2px 5.5px -0.3px rgba(0, 0, 0, 0.06),
462
+ 0.6px 14.8px 13.2px -0.6px rgba(0, 0, 0, 0.06),
463
+ 1px 27.1px 24.2px -0.9px rgba(0, 0, 0, 0.06),
464
+ 1.6px 45.2px 40.4px -1.2px rgba(0, 0, 0, 0.05),
465
+ 2.5px 70.3px 62.8px -1.5px rgba(0, 0, 0, 0.05),
466
+ 3.7px 104.2px 93.1px -1.8px rgba(0, 0, 0, 0.04),
467
+ 5.4px 148.9px 133px -2.1px rgba(0, 0, 0, 0.04),
468
+ 7.6px 207.4px 185.3px -2.4px rgba(0, 0, 0, 0.03),
469
+ 10.4px 283.8px 253.5px -2.7px rgba(0, 0, 0, 0.03),
470
+ 14px 381.6px 340.9px -3px rgba(0, 0, 0, 0.02),
471
+ 18.4px 503.7px 450px -3.3px rgba(0, 0, 0, 0.02);
472
+ --elevation-real-3xl:
473
+ 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
474
+ 0.4px 8.1px 7.2px -0.2px rgba(0, 0, 0, 0.06),
475
+ 0.8px 19.3px 17.2px -0.4px rgba(0, 0, 0, 0.06),
476
+ 1.3px 34.8px 31.1px -0.6px rgba(0, 0, 0, 0.06),
477
+ 2px 55.2px 49.3px -0.8px rgba(0, 0, 0, 0.06),
478
+ 3px 81.7px 73px -1px rgba(0, 0, 0, 0.05),
479
+ 4.3px 115.8px 103.4px -1.2px rgba(0, 0, 0, 0.05),
480
+ 6px 158.9px 142px -1.4px rgba(0, 0, 0, 0.05),
481
+ 8.2px 212.4px 189.7px -1.6px rgba(0, 0, 0, 0.04),
482
+ 10.9px 278.8px 249.1px -1.8px rgba(0, 0, 0, 0.04),
483
+ 14.2px 360.5px 322.1px -2px rgba(0, 0, 0, 0.03),
484
+ 18.2px 460.1px 411px -2.2px rgba(0, 0, 0, 0.03),
485
+ 23px 579.9px 518px -2.4px rgba(0, 0, 0, 0.02),
486
+ 28.7px 722.4px 645.3px -2.6px rgba(0, 0, 0, 0.02),
487
+ 35.3px 890.8px 796px -2.8px rgba(0, 0, 0, 0.02);
488
+
489
+ --elevation-inner-real-sm:
490
+ inset 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
491
+ inset 0px 3.6px 3.2px -1.5px rgba(0, 0, 0, 0.08);
492
+ --elevation-inner-real-md:
493
+ inset 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
494
+ inset 0px 3.7px 3.3px -2px rgba(0, 0, 0, 0.09),
495
+ inset 0px 18.2px 16.2px -4.1px rgba(0, 0, 0, 0.06);
496
+ --elevation-inner-real-lg:
497
+ inset 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
498
+ inset 0px 3.6px 3.2px -0.8px rgba(0, 0, 0, 0.06),
499
+ inset 0px 9.5px 8.5px -1.6px rgba(0, 0, 0, 0.06),
500
+ inset 0px 22.6px 20.2px -2.4px rgba(0, 0, 0, 0.05),
501
+ inset 0px 47.3px 42.2px -3.2px rgba(0, 0, 0, 0.04),
502
+ inset 0px 87.7px 78.3px -4.1px rgba(0, 0, 0, 0.03);
503
+ --elevation-inner-real-xl:
504
+ inset 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
505
+ inset 0px 4.8px 4.3px -0.5px rgba(0, 0, 0, 0.06),
506
+ inset 0px 11.2px 10px -1px rgba(0, 0, 0, 0.06),
507
+ inset 0px 21.3px 19px -1.5px rgba(0, 0, 0, 0.05),
508
+ inset 0px 38.4px 34.3px -2px rgba(0, 0, 0, 0.05),
509
+ inset 0px 64.6px 57.7px -2.5px rgba(0, 0, 0, 0.04),
510
+ inset 0px 102.1px 91.2px -3px rgba(0, 0, 0, 0.03),
511
+ inset 0px 154.3px 137.8px -3.5px rgba(0, 0, 0, 0.03),
512
+ inset 0px 222.5px 198.7px -4.1px rgba(0, 0, 0, 0.02);
513
+ --elevation-inner-real-2xl:
514
+ inset 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
515
+ inset 0px 6.2px 5.5px -0.3px rgba(0, 0, 0, 0.06),
516
+ inset 0px 14.8px 13.2px -0.6px rgba(0, 0, 0, 0.06),
517
+ inset 0px 27.1px 24.2px -0.9px rgba(0, 0, 0, 0.06),
518
+ inset 0px 45.2px 40.4px -1.2px rgba(0, 0, 0, 0.05),
519
+ inset 0px 70.3px 62.8px -1.5px rgba(0, 0, 0, 0.05),
520
+ inset 0px 104.2px 93.1px -1.8px rgba(0, 0, 0, 0.04),
521
+ inset 0px 148.9px 133px -2.1px rgba(0, 0, 0, 0.04),
522
+ inset 0px 207.4px 185.3px -2.4px rgba(0, 0, 0, 0.03),
523
+ inset 0px 283.8px 253.5px -2.7px rgba(0, 0, 0, 0.03),
524
+ inset 0px 381.6px 340.9px -3px rgba(0, 0, 0, 0.02),
525
+ inset 0px 503.7px 450px -3.3px rgba(0, 0, 0, 0.02);
526
+ --elevation-inner-real-3xl:
527
+ inset 0px 0.9px 0.8px rgba(0, 0, 0, 0.04),
528
+ inset 0px 8.1px 7.2px -0.2px rgba(0, 0, 0, 0.06),
529
+ inset 0px 19.3px 17.2px -0.4px rgba(0, 0, 0, 0.06),
530
+ inset 0px 34.8px 31.1px -0.6px rgba(0, 0, 0, 0.06),
531
+ inset 0px 55.2px 49.3px -0.8px rgba(0, 0, 0, 0.06),
532
+ inset 0px 81.7px 73px -1px rgba(0, 0, 0, 0.05),
533
+ inset 0px 115.8px 103.4px -1.2px rgba(0, 0, 0, 0.05),
534
+ inset 0px 158.9px 142px -1.4px rgba(0, 0, 0, 0.05),
535
+ inset 0px 212.4px 189.7px -1.6px rgba(0, 0, 0, 0.04),
536
+ inset 0px 278.8px 249.1px -1.8px rgba(0, 0, 0, 0.04),
537
+ inset 0px 360.5px 322.1px -2px rgba(0, 0, 0, 0.03),
538
+ inset 0px 460.1px 411px -2.2px rgba(0, 0, 0, 0.03),
539
+ inset 0px 579.9px 518px -2.4px rgba(0, 0, 0, 0.02),
540
+ inset 0px 722.4px 645.3px -2.6px rgba(0, 0, 0, 0.02),
541
+ inset 0px 890.8px 796px -2.8px rgba(0, 0, 0, 0.02);
542
+ }
543
+
544
+ .dark {
545
+ /* Paint native UA chrome (scrollbars, form controls) with the dark palette.
546
+ Pairs with `color-scheme: light` on :root — fixes the white native
547
+ scrollbar track that showed through our transparent custom track in dark
548
+ mode (Select, RichTextEditor dropdowns, any native-overflow surface). */
549
+ color-scheme: dark;
550
+
551
+ /* Text colors - inverted for dark backgrounds */
552
+
553
+ /* Neutral text ramp (Linear's text reads essentially neutral off-white;
554
+ slate was too blue against the low-chroma surfaces). */
555
+ --color-text-primary: var(--color-neutral-50);
556
+ --color-text-secondary: var(--color-neutral-400);
557
+ --color-text-placeholder: var(--color-neutral-600);
558
+ --color-text-muted: var(--color-neutral-600);
559
+ --color-text-disabled: var(--color-neutral-400);
560
+ --color-text-inverse: var(--color-neutral-950);
561
+
562
+ /* Base theme colors */
563
+ --color-primary: var(--color-primary-500);
564
+ --color-success: var(--color-success-400);
565
+ --color-warning: var(--color-warning-400);
566
+ --color-danger: var(--color-danger-400);
567
+ --color-secondary: var(--color-secondary-400);
568
+
569
+ /* Contrast colors for filled variants on semantic backgrounds */
570
+ --color-primary-contrast: var(--color-neutral-50);
571
+ --color-danger-contrast: var(--color-neutral-50);
572
+ --color-success-contrast: var(--color-neutral-50);
573
+ --color-warning-contrast: var(--color-neutral-50);
574
+ --color-secondary-contrast: var(--color-neutral-50);
575
+
576
+ /* Background colors - dark equivalents */
577
+ /* Surface elevation ladder. With a near-black floor (#010102, 6.9%), sunken
578
+ can't recess *below* the floor — it sits between background and surface,
579
+ recessed relative to the cards where wells/tracks/code/zebra actually live
580
+ (that's its real job). surface → raised → overlay ascend so each reads lifted.
581
+ Derived from hex: 0f1011 / 141516 / 18191a; faint cool tint (chroma ~0.003, hue ~248). */
582
+ --color-surface-sunken: oklch(12% 0.003 248);
583
+ --color-surface: oklch(17.2% 0.003 248);
584
+ --color-surface-raised: oklch(19.5% 0.003 248);
585
+ --color-surface-overlay: oklch(21.3% 0.003 248);
586
+ --color-surface-hover: oklch(100% 0 0 / 0.07);
587
+ --color-background: oklch(6.9% 0.008 284);
588
+ /* #010102 — true-black canvas */
589
+ /* DEPRECATED (remove next major): alias of --color-surface. */
590
+ --color-background-secondary: var(--color-surface);
591
+ /* DEPRECATED (remove next major): migrate per-usage to --color-surface-sunken / surface ladder. */
592
+ --color-background-tertiary: oklch(22% 0 0);
593
+ --color-background-quaternary: oklch(26% 0 0);
594
+ --color-background-quinary: oklch(30% 0 0);
595
+ --color-background-disabled: var(--color-neutral-800);
596
+
597
+ /* Scale backdrop — sits behind scaled content, darker than the near-black floor */
598
+ --color-scale-background: oklch(3% 0.006 280);
599
+
600
+ /* Border - Linear-style subtle light hairline (a faint lift that catches
601
+ light on the dark surface, rather than a flat mid-gray line). */
602
+ --color-border: oklch(100% 0.01 255 / 0.05);
603
+ --color-border-secondary: oklch(100% 0.01 255 / 0.10);
604
+ /* Interaction border — lightens in dark (higher alpha) so an edge "lifts"
605
+ on hover, matching the --color-surface-hover lighten-in-dark behavior. */
606
+ --color-border-hover: oklch(100% 0.01 255 / 0.18);
607
+
608
+ /* Realistic elevation shadows — dark mode. Faint black is invisible on the
609
+ near-black floor, so light's 6–15-layer penumbra is replaced by a stronger
610
+ black "depth-pool" (alpha 0.40–0.60) + a 1px white TOP RIM (inset 0 1px 0)
611
+ that defines the lit top edge — the primary "raised panel" cue in dark UIs
612
+ (Linear/GitHub/Radix). Rim alpha grows slightly with elevation. */
613
+ --elevation-real-sm:
614
+ inset 0 1px 0 rgba(255, 255, 255, 0.05),
615
+ 0 1px 2px rgba(0, 0, 0, 0.40),
616
+ 0 2px 6px -1px rgba(0, 0, 0, 0.45);
617
+ --elevation-real-md:
618
+ inset 0 1px 0 rgba(255, 255, 255, 0.06),
619
+ 0 1px 2px rgba(0, 0, 0, 0.40),
620
+ 0 4px 10px -2px rgba(0, 0, 0, 0.45),
621
+ 0 8px 20px -4px rgba(0, 0, 0, 0.40);
622
+ --elevation-real-lg:
623
+ inset 0 1px 0 rgba(255, 255, 255, 0.06),
624
+ 0 1px 2px rgba(0, 0, 0, 0.45),
625
+ 0 8px 18px -4px rgba(0, 0, 0, 0.50),
626
+ 0 16px 36px -6px rgba(0, 0, 0, 0.42);
627
+ --elevation-real-xl:
628
+ inset 0 1px 0 rgba(255, 255, 255, 0.07),
629
+ 0 1px 3px rgba(0, 0, 0, 0.50),
630
+ 0 12px 28px -6px rgba(0, 0, 0, 0.55),
631
+ 0 28px 56px -10px rgba(0, 0, 0, 0.45);
632
+ --elevation-real-2xl:
633
+ inset 0 1px 0 rgba(255, 255, 255, 0.07),
634
+ 0 2px 4px rgba(0, 0, 0, 0.50),
635
+ 0 18px 40px -8px rgba(0, 0, 0, 0.55),
636
+ 0 40px 80px -14px rgba(0, 0, 0, 0.48);
637
+ --elevation-real-3xl:
638
+ inset 0 1px 0 rgba(255, 255, 255, 0.08),
639
+ 0 2px 6px rgba(0, 0, 0, 0.55),
640
+ 0 28px 60px -10px rgba(0, 0, 0, 0.60),
641
+ 0 60px 120px -20px rgba(0, 0, 0, 0.50);
642
+
643
+ /* Inset/recessed in dark: a black inset barely shows on the near-black floor
644
+ (same reason outer shadows fail), so the recess is carried by the WHITE
645
+ BOTTOM LIP — light pooling on the well's lower inner edge is the readable
646
+ "carved" cue in dark (inverse of the outer set's top rim). The white lip is
647
+ the primary signal here, NOT the black; the black inset only adds in-card
648
+ depth where the well sits on a lighter card. */
649
+ --elevation-inner-real-sm:
650
+ inset 0 1px 2px rgba(0, 0, 0, 0.30),
651
+ inset 0 -1px 0 rgba(255, 255, 255, 0.09);
652
+ --elevation-inner-real-md:
653
+ inset 0 1px 2px rgba(0, 0, 0, 0.30),
654
+ inset 0 3px 6px -1px rgba(0, 0, 0, 0.30),
655
+ inset 0 -1px 0 rgba(255, 255, 255, 0.10);
656
+ --elevation-inner-real-lg:
657
+ inset 0 2px 4px rgba(0, 0, 0, 0.32),
658
+ inset 0 6px 12px -2px rgba(0, 0, 0, 0.30),
659
+ inset 0 -1px 0 rgba(255, 255, 255, 0.10);
660
+ --elevation-inner-real-xl:
661
+ inset 0 2px 5px rgba(0, 0, 0, 0.35),
662
+ inset 0 10px 20px -4px rgba(0, 0, 0, 0.32),
663
+ inset 0 -1px 0 rgba(255, 255, 255, 0.11);
664
+ --elevation-inner-real-2xl:
665
+ inset 0 3px 6px rgba(0, 0, 0, 0.38),
666
+ inset 0 14px 28px -6px rgba(0, 0, 0, 0.34),
667
+ inset 0 -1px 0 rgba(255, 255, 255, 0.11);
668
+ --elevation-inner-real-3xl:
669
+ inset 0 3px 8px rgba(0, 0, 0, 0.40),
670
+ inset 0 20px 40px -8px rgba(0, 0, 0, 0.36),
671
+ inset 0 -1px 0 rgba(255, 255, 255, 0.12);
672
+ --color-chart-track: rgba(255, 255, 255, 0.05);
673
+
674
+ /* Glass effect gradients - dark mode */
675
+ --glass-gradient-outer: linear-gradient(135deg,
676
+ var(--color-background-tertiary) 0%,
677
+ var(--color-background-secondary) 30%,
678
+ var(--color-background) 70%,
679
+ var(--color-background-tertiary) 100%);
680
+ --glass-gradient-inner: linear-gradient(to bottom,
681
+ var(--color-background-secondary) 0%,
682
+ var(--color-background) 100%);
683
+
684
+ /* Scrollbar - dark mode */
685
+ --ui-scrollbar-thumb-rest: rgba(75, 85, 99, 0.3);
686
+ --ui-scrollbar-thumb-active: rgb(75 85 99, 0.75);
687
+ --ui-scrollbar-track-rest: transparent;
688
+ --ui-scrollbar-track-active: rgba(55, 65, 81, 0.1);
689
+
690
+ /* Neumorphic tokens — dark mode (multi-layer realistic) */
691
+ --neu-raised-shadow:
692
+ 1px 1px 2px rgba(0, 0, 0, 0.2), 3px 3px 6px rgba(0, 0, 0, 0.25),
693
+ 6px 6px 14px rgba(0, 0, 0, 0.2), 12px 12px 28px rgba(0, 0, 0, 0.1),
694
+ -1px -1px 2px rgba(255, 255, 255, 0.02),
695
+ -3px -3px 6px rgba(255, 255, 255, 0.015),
696
+ -6px -6px 14px rgba(255, 255, 255, 0.01),
697
+ inset 0 1px 0 rgba(255, 255, 255, 0.04),
698
+ inset 0 -1px 0 rgba(0, 0, 0, 0.15);
699
+ --neu-inset-shadow:
700
+ inset 1px 1px 2px rgba(0, 0, 0, 0.3),
701
+ inset 2px 2px 4px rgba(0, 0, 0, 0.25),
702
+ inset 4px 4px 8px rgba(0, 0, 0, 0.2),
703
+ inset 8px 8px 16px rgba(0, 0, 0, 0.1),
704
+ inset -1px -1px 2px rgba(255, 255, 255, 0.02),
705
+ inset -3px -3px 6px rgba(255, 255, 255, 0.015),
706
+ 0 1px 0 rgba(255, 255, 255, 0.04);
707
+ --neu-circle-groove-shadow:
708
+ inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.4),
709
+ inset 1px 1px 2px rgba(0, 0, 0, 0.35),
710
+ inset 2px 2px 5px rgba(0, 0, 0, 0.2),
711
+ 0.5px 0.5px 1px rgba(255, 255, 255, 0.04),
712
+ 1px 1px 2px rgba(255, 255, 255, 0.03);
713
+ --neu-circle-disc-shadow:
714
+ inset 0.5px 0.5px 1px rgba(0, 0, 0, 0.2),
715
+ inset 1px 1px 3px rgba(0, 0, 0, 0.15),
716
+ inset -0.5px -0.5px 1px rgba(255, 255, 255, 0.04),
717
+ inset -1px -1px 2px rgba(255, 255, 255, 0.03),
718
+ 0 1px 2px rgba(0, 0, 0, 0.25), 0 2px 4px rgba(0, 0, 0, 0.2);
719
+ --neu-raised-border: linear-gradient(145deg,
720
+ rgba(255, 255, 255, 0.2) 0%,
721
+ rgba(255, 255, 255, 0.08) 30%,
722
+ transparent 50%,
723
+ rgba(0, 0, 0, 0.12) 100%);
724
+ --neu-inset-border: linear-gradient(180deg,
725
+ rgba(0, 0, 0, 0.4) 0%,
726
+ rgba(0, 0, 0, 0.15) 25%,
727
+ rgba(255, 255, 255, 0.03) 50%,
728
+ rgba(255, 255, 255, 0.08) 75%,
729
+ rgba(255, 255, 255, 0.12) 100%);
730
+ }
498
731
  }