zabi-components 7.0.2 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/CHANGELOG.md +1924 -0
  2. package/README.md +287 -11
  3. package/THEME.md +149 -332
  4. package/THEMING.md +1329 -163
  5. package/dist/atoms/ActionPanel.svelte +24 -9
  6. package/dist/atoms/ActionPanel.svelte.d.ts +2 -0
  7. package/dist/atoms/Avatar.svelte +104 -0
  8. package/dist/atoms/Avatar.svelte.d.ts +34 -0
  9. package/dist/atoms/Badge.svelte +124 -58
  10. package/dist/atoms/Badge.svelte.d.ts +17 -5
  11. package/dist/atoms/Button.svelte +212 -62
  12. package/dist/atoms/Button.svelte.d.ts +33 -2
  13. package/dist/atoms/Card.svelte +31 -28
  14. package/dist/atoms/Card.svelte.d.ts +5 -2
  15. package/dist/atoms/CardContent.svelte +10 -2
  16. package/dist/atoms/CardContent.svelte.d.ts +2 -0
  17. package/dist/atoms/CardFooter.svelte +10 -2
  18. package/dist/atoms/CardFooter.svelte.d.ts +2 -0
  19. package/dist/atoms/CardHeader.svelte +26 -6
  20. package/dist/atoms/CardHeader.svelte.d.ts +2 -0
  21. package/dist/atoms/Checkbox.svelte +52 -21
  22. package/dist/atoms/Checkbox.svelte.d.ts +6 -2
  23. package/dist/atoms/CodeBlock.svelte +35 -9
  24. package/dist/atoms/CodeBlock.svelte.d.ts +13 -3
  25. package/dist/atoms/ColorPicker.svelte +272 -52
  26. package/dist/atoms/ColorPicker.svelte.d.ts +6 -1
  27. package/dist/atoms/Container.svelte +17 -10
  28. package/dist/atoms/DateField.svelte +107 -0
  29. package/dist/atoms/DateField.svelte.d.ts +53 -0
  30. package/dist/atoms/Divider.svelte +4 -4
  31. package/dist/atoms/FeatureCard.svelte +4 -3
  32. package/dist/atoms/FieldMessages.svelte +69 -0
  33. package/dist/atoms/FieldMessages.svelte.d.ts +23 -0
  34. package/dist/atoms/FloatingActionButton.svelte +174 -0
  35. package/dist/atoms/FloatingActionButton.svelte.d.ts +51 -0
  36. package/dist/atoms/Heading.svelte +93 -32
  37. package/dist/atoms/Heading.svelte.d.ts +24 -4
  38. package/dist/atoms/IconButton.svelte +242 -53
  39. package/dist/atoms/IconButton.svelte.d.ts +49 -4
  40. package/dist/atoms/Input.svelte +267 -74
  41. package/dist/atoms/Input.svelte.d.ts +32 -2
  42. package/dist/atoms/List.svelte +13 -2
  43. package/dist/atoms/List.svelte.d.ts +2 -0
  44. package/dist/atoms/ListItem.svelte +44 -11
  45. package/dist/atoms/ListItem.svelte.d.ts +5 -0
  46. package/dist/atoms/ListItemLeading.svelte +4 -2
  47. package/dist/atoms/ListItemLeading.svelte.d.ts +1 -1
  48. package/dist/atoms/OptimizedImage.svelte +11 -2
  49. package/dist/atoms/OptimizedImage.svelte.d.ts +2 -0
  50. package/dist/atoms/Progress.svelte +31 -9
  51. package/dist/atoms/Progress.svelte.d.ts +6 -0
  52. package/dist/atoms/Radio.svelte +23 -3
  53. package/dist/atoms/Radio.svelte.d.ts +6 -2
  54. package/dist/atoms/Rating.svelte +494 -0
  55. package/dist/atoms/Rating.svelte.d.ts +56 -0
  56. package/dist/atoms/Select.svelte +475 -135
  57. package/dist/atoms/Select.svelte.d.ts +52 -2
  58. package/dist/atoms/SelectionControl.svelte +99 -18
  59. package/dist/atoms/SelectionControl.svelte.d.ts +6 -3
  60. package/dist/atoms/Skeleton.svelte +5 -3
  61. package/dist/atoms/Slider.svelte +309 -0
  62. package/dist/atoms/Slider.svelte.d.ts +40 -0
  63. package/dist/atoms/Spinner.svelte +57 -0
  64. package/dist/atoms/Spinner.svelte.d.ts +19 -0
  65. package/dist/atoms/Table.svelte +152 -6
  66. package/dist/atoms/Table.svelte.d.ts +15 -3
  67. package/dist/atoms/TemporalField.svelte +140 -0
  68. package/dist/atoms/TemporalField.svelte.d.ts +32 -0
  69. package/dist/atoms/Text.svelte +56 -15
  70. package/dist/atoms/Text.svelte.d.ts +13 -4
  71. package/dist/atoms/Textarea.svelte +57 -45
  72. package/dist/atoms/Textarea.svelte.d.ts +14 -2
  73. package/dist/atoms/ThemeToggle.svelte +238 -56
  74. package/dist/atoms/ThemeToggle.svelte.d.ts +28 -3
  75. package/dist/atoms/TimeField.svelte +108 -0
  76. package/dist/atoms/TimeField.svelte.d.ts +54 -0
  77. package/dist/atoms/Toast.svelte +25 -10
  78. package/dist/atoms/Toast.svelte.d.ts +2 -0
  79. package/dist/atoms/Toggle.svelte +60 -19
  80. package/dist/atoms/Toggle.svelte.d.ts +18 -2
  81. package/dist/atoms/Tooltip.svelte +583 -40
  82. package/dist/atoms/Tooltip.svelte.d.ts +26 -0
  83. package/dist/atoms/ZabiStringsProvider.svelte +45 -0
  84. package/dist/atoms/ZabiStringsProvider.svelte.d.ts +27 -0
  85. package/dist/atoms/index.d.ts +17 -0
  86. package/dist/atoms/index.js +12 -0
  87. package/dist/atoms/selection-control.styles.d.ts +36 -5
  88. package/dist/atoms/selection-control.styles.js +40 -9
  89. package/dist/components/atoms/index.d.ts +17 -0
  90. package/dist/components/atoms/index.d.ts.map +1 -1
  91. package/dist/components/atoms/selection-control.styles.d.ts +36 -5
  92. package/dist/components/atoms/selection-control.styles.d.ts.map +1 -1
  93. package/dist/components/index.d.ts +83 -3
  94. package/dist/components/index.d.ts.map +1 -1
  95. package/dist/components/molecules/index.d.ts +46 -0
  96. package/dist/components/molecules/index.d.ts.map +1 -1
  97. package/dist/components/molecules/toast-store.d.ts +53 -7
  98. package/dist/components/molecules/toast-store.d.ts.map +1 -1
  99. package/dist/components/organisms/index.d.ts +6 -0
  100. package/dist/components/organisms/index.d.ts.map +1 -1
  101. package/dist/components/types/variants.d.ts +15 -1
  102. package/dist/components/types/variants.d.ts.map +1 -1
  103. package/dist/components/util/app-shell.d.ts +28 -0
  104. package/dist/components/util/app-shell.d.ts.map +1 -0
  105. package/dist/components/util/avatar.d.ts +36 -0
  106. package/dist/components/util/avatar.d.ts.map +1 -0
  107. package/dist/components/util/bottom-sheet.d.ts +30 -0
  108. package/dist/components/util/bottom-sheet.d.ts.map +1 -0
  109. package/dist/components/util/bottom-tab-bar.d.ts +35 -0
  110. package/dist/components/util/bottom-tab-bar.d.ts.map +1 -0
  111. package/dist/components/util/calendar.d.ts +56 -0
  112. package/dist/components/util/calendar.d.ts.map +1 -0
  113. package/dist/components/util/cn.d.ts +8 -0
  114. package/dist/components/util/cn.d.ts.map +1 -0
  115. package/dist/components/util/collapsible.d.ts +58 -0
  116. package/dist/components/util/collapsible.d.ts.map +1 -0
  117. package/dist/components/util/confirm-dialog.d.ts +12 -0
  118. package/dist/components/util/confirm-dialog.d.ts.map +1 -0
  119. package/dist/components/util/date.d.ts +96 -0
  120. package/dist/components/util/date.d.ts.map +1 -0
  121. package/dist/components/util/drawer.d.ts +13 -0
  122. package/dist/components/util/drawer.d.ts.map +1 -0
  123. package/dist/components/util/dropdown.d.ts +47 -0
  124. package/dist/components/util/dropdown.d.ts.map +1 -0
  125. package/dist/components/util/field.d.ts +39 -0
  126. package/dist/components/util/field.d.ts.map +1 -0
  127. package/dist/components/util/fit-in-viewport.d.ts +201 -0
  128. package/dist/components/util/fit-in-viewport.d.ts.map +1 -0
  129. package/dist/components/util/focus-utils.d.ts +75 -2
  130. package/dist/components/util/focus-utils.d.ts.map +1 -1
  131. package/dist/components/util/hydration.d.ts +45 -0
  132. package/dist/components/util/hydration.d.ts.map +1 -0
  133. package/dist/components/util/keyboard-inset.d.ts +18 -0
  134. package/dist/components/util/keyboard-inset.d.ts.map +1 -0
  135. package/dist/components/util/media-grid.d.ts +51 -0
  136. package/dist/components/util/media-grid.d.ts.map +1 -0
  137. package/dist/components/util/media.d.ts +6 -0
  138. package/dist/components/util/media.d.ts.map +1 -0
  139. package/dist/components/util/overlay-chrome.d.ts +53 -0
  140. package/dist/components/util/overlay-chrome.d.ts.map +1 -0
  141. package/dist/components/util/overlay.d.ts +72 -0
  142. package/dist/components/util/overlay.d.ts.map +1 -0
  143. package/dist/components/util/photo.d.ts +215 -0
  144. package/dist/components/util/photo.d.ts.map +1 -0
  145. package/dist/components/util/portal.d.ts +23 -0
  146. package/dist/components/util/portal.d.ts.map +1 -0
  147. package/dist/components/util/pull-to-refresh.d.ts +27 -0
  148. package/dist/components/util/pull-to-refresh.d.ts.map +1 -0
  149. package/dist/components/util/radio-keys.d.ts +25 -0
  150. package/dist/components/util/radio-keys.d.ts.map +1 -0
  151. package/dist/components/util/rating.d.ts +23 -0
  152. package/dist/components/util/rating.d.ts.map +1 -0
  153. package/dist/components/util/ready-made-strings.d.ts +77 -0
  154. package/dist/components/util/ready-made-strings.d.ts.map +1 -0
  155. package/dist/components/util/scroll-padding.d.ts +20 -0
  156. package/dist/components/util/scroll-padding.d.ts.map +1 -0
  157. package/dist/components/util/segmented-control.d.ts +16 -0
  158. package/dist/components/util/segmented-control.d.ts.map +1 -0
  159. package/dist/components/util/select.d.ts +41 -0
  160. package/dist/components/util/select.d.ts.map +1 -0
  161. package/dist/components/util/sheet-drag.d.ts +60 -0
  162. package/dist/components/util/sheet-drag.d.ts.map +1 -0
  163. package/dist/components/util/sidebar.d.ts +63 -0
  164. package/dist/components/util/sidebar.d.ts.map +1 -0
  165. package/dist/components/util/sortable-list.d.ts +65 -0
  166. package/dist/components/util/sortable-list.d.ts.map +1 -0
  167. package/dist/components/util/ssr-safe.d.ts +4 -4
  168. package/dist/components/util/ssr-safe.d.ts.map +1 -1
  169. package/dist/components/util/stepper.d.ts +40 -0
  170. package/dist/components/util/stepper.d.ts.map +1 -0
  171. package/dist/components/util/swipeable-list-item.d.ts +36 -0
  172. package/dist/components/util/swipeable-list-item.d.ts.map +1 -0
  173. package/dist/components/util/theme-mode.d.ts +80 -0
  174. package/dist/components/util/theme-mode.d.ts.map +1 -0
  175. package/dist/components/util/toaster.d.ts +93 -0
  176. package/dist/components/util/toaster.d.ts.map +1 -0
  177. package/dist/components/util/tooltip.d.ts +10 -0
  178. package/dist/components/util/tooltip.d.ts.map +1 -0
  179. package/dist/components/util/top-navbar.d.ts +11 -0
  180. package/dist/components/util/top-navbar.d.ts.map +1 -0
  181. package/dist/components/util/touch-target.d.ts +31 -0
  182. package/dist/components/util/touch-target.d.ts.map +1 -0
  183. package/dist/components/util/zabi-strings.d.ts +133 -0
  184. package/dist/components/util/zabi-strings.d.ts.map +1 -0
  185. package/dist/create-theme/cli.js +169 -0
  186. package/dist/create-theme/index.d.ts +176 -0
  187. package/dist/create-theme/index.js +817 -0
  188. package/dist/create-theme/lib/ramp-math.js +128 -0
  189. package/dist/create-theme/lib/resolve.js +141 -0
  190. package/dist/create-theme/theme-data.js +1116 -0
  191. package/dist/index.d.ts +83 -3
  192. package/dist/index.js +60 -8
  193. package/dist/molecules/Alert.svelte +73 -66
  194. package/dist/molecules/Alert.svelte.d.ts +9 -1
  195. package/dist/molecules/AppBar.svelte +415 -0
  196. package/dist/molecules/AppBar.svelte.d.ts +69 -0
  197. package/dist/molecules/AvatarGroup.svelte +116 -0
  198. package/dist/molecules/AvatarGroup.svelte.d.ts +40 -0
  199. package/dist/molecules/BottomSheet.svelte +540 -0
  200. package/dist/molecules/BottomSheet.svelte.d.ts +93 -0
  201. package/dist/molecules/BottomTabBar.svelte +297 -0
  202. package/dist/molecules/BottomTabBar.svelte.d.ts +64 -0
  203. package/dist/molecules/Calendar.svelte +597 -0
  204. package/dist/molecules/Calendar.svelte.d.ts +72 -0
  205. package/dist/molecules/Collapsible.svelte +243 -0
  206. package/dist/molecules/Collapsible.svelte.d.ts +44 -0
  207. package/dist/molecules/CollapsibleGroup.svelte +126 -0
  208. package/dist/molecules/CollapsibleGroup.svelte.d.ts +14 -0
  209. package/dist/molecules/ComponentDemo.svelte +25 -5
  210. package/dist/molecules/ComponentDemo.svelte.d.ts +5 -0
  211. package/dist/molecules/ConfirmDialog.svelte +253 -0
  212. package/dist/molecules/ConfirmDialog.svelte.d.ts +55 -0
  213. package/dist/molecules/ContactForm.svelte +46 -19
  214. package/dist/molecules/ContactForm.svelte.d.ts +10 -0
  215. package/dist/molecules/Drawer.svelte +394 -0
  216. package/dist/molecules/Drawer.svelte.d.ts +55 -0
  217. package/dist/molecules/Dropdown.svelte +540 -50
  218. package/dist/molecules/Dropdown.svelte.d.ts +49 -6
  219. package/dist/molecules/DropdownItem.svelte +122 -0
  220. package/dist/molecules/DropdownItem.svelte.d.ts +28 -0
  221. package/dist/molecules/EmptyState.svelte +56 -10
  222. package/dist/molecules/EmptyState.svelte.d.ts +8 -0
  223. package/dist/molecules/Form.svelte +25 -14
  224. package/dist/molecules/Form.svelte.d.ts +13 -5
  225. package/dist/molecules/FormField.svelte +11 -2
  226. package/dist/molecules/FormField.svelte.d.ts +2 -0
  227. package/dist/molecules/Header.svelte +13 -3
  228. package/dist/molecules/Header.svelte.d.ts +2 -0
  229. package/dist/molecules/ImageUpload.svelte +422 -70
  230. package/dist/molecules/ImageUpload.svelte.d.ts +61 -5
  231. package/dist/molecules/MediaGrid.svelte +527 -0
  232. package/dist/molecules/MediaGrid.svelte.d.ts +77 -0
  233. package/dist/molecules/Modal.svelte +340 -45
  234. package/dist/molecules/Modal.svelte.d.ts +59 -7
  235. package/dist/molecules/NavigationMenu.svelte +15 -3
  236. package/dist/molecules/NavigationMenu.svelte.d.ts +4 -0
  237. package/dist/molecules/NavigationMenuContent.svelte +91 -36
  238. package/dist/molecules/NavigationMenuContent.svelte.d.ts +2 -0
  239. package/dist/molecules/NavigationMenuItem.svelte +10 -3
  240. package/dist/molecules/NavigationMenuItem.svelte.d.ts +2 -0
  241. package/dist/molecules/NavigationMenuLink.svelte +10 -2
  242. package/dist/molecules/NavigationMenuLink.svelte.d.ts +2 -0
  243. package/dist/molecules/NavigationMenuList.svelte +19 -4
  244. package/dist/molecules/NavigationMenuList.svelte.d.ts +2 -0
  245. package/dist/molecules/NavigationMenuTrigger.svelte +16 -3
  246. package/dist/molecules/NavigationMenuTrigger.svelte.d.ts +2 -0
  247. package/dist/molecules/Page.svelte +38 -2
  248. package/dist/molecules/Page.svelte.d.ts +13 -0
  249. package/dist/molecules/PhotoGrid.svelte +433 -0
  250. package/dist/molecules/PhotoGrid.svelte.d.ts +62 -0
  251. package/dist/molecules/PhotoViewer.svelte +1116 -0
  252. package/dist/molecules/PhotoViewer.svelte.d.ts +56 -0
  253. package/dist/molecules/PropsTable.svelte +26 -11
  254. package/dist/molecules/PropsTable.svelte.d.ts +5 -0
  255. package/dist/molecules/PullToRefresh.svelte +263 -0
  256. package/dist/molecules/PullToRefresh.svelte.d.ts +52 -0
  257. package/dist/molecules/RadioGroup.svelte +57 -15
  258. package/dist/molecules/RadioGroup.svelte.d.ts +16 -3
  259. package/dist/molecules/Section.svelte +13 -5
  260. package/dist/molecules/Section.svelte.d.ts +3 -1
  261. package/dist/molecules/SegmentedControl.svelte +323 -0
  262. package/dist/molecules/SegmentedControl.svelte.d.ts +34 -0
  263. package/dist/molecules/SidebarBrandHeader.svelte +24 -5
  264. package/dist/molecules/SidebarBrandHeader.svelte.d.ts +5 -0
  265. package/dist/molecules/SidebarFooter.svelte +39 -8
  266. package/dist/molecules/SidebarFooter.svelte.d.ts +5 -0
  267. package/dist/molecules/SidebarNavSection.svelte +12 -4
  268. package/dist/molecules/SidebarNavSection.svelte.d.ts +2 -0
  269. package/dist/molecules/SlideUp.svelte +253 -30
  270. package/dist/molecules/SlideUp.svelte.d.ts +31 -4
  271. package/dist/molecules/SortableList.svelte +632 -0
  272. package/dist/molecules/SortableList.svelte.d.ts +69 -0
  273. package/dist/molecules/Stepper.svelte +548 -0
  274. package/dist/molecules/Stepper.svelte.d.ts +39 -0
  275. package/dist/molecules/StickyActionBar.svelte +191 -0
  276. package/dist/molecules/StickyActionBar.svelte.d.ts +65 -0
  277. package/dist/molecules/SwipeableListItem.svelte +334 -0
  278. package/dist/molecules/SwipeableListItem.svelte.d.ts +54 -0
  279. package/dist/molecules/Tabs.svelte +254 -24
  280. package/dist/molecules/Tabs.svelte.d.ts +15 -4
  281. package/dist/molecules/Toaster.svelte +352 -6
  282. package/dist/molecules/Toaster.svelte.d.ts +95 -2
  283. package/dist/molecules/ToasterToast.svelte +279 -62
  284. package/dist/molecules/ToasterToast.svelte.d.ts +11 -0
  285. package/dist/molecules/UnsavedChangesBar.svelte +212 -0
  286. package/dist/molecules/UnsavedChangesBar.svelte.d.ts +43 -0
  287. package/dist/molecules/index.d.ts +46 -0
  288. package/dist/molecules/index.js +27 -0
  289. package/dist/molecules/toast-store.d.ts +53 -7
  290. package/dist/molecules/toast-store.js +21 -0
  291. package/dist/organisms/AppShell.svelte +196 -0
  292. package/dist/organisms/AppShell.svelte.d.ts +61 -0
  293. package/dist/organisms/SidebarAccountPanel.svelte +111 -12
  294. package/dist/organisms/SidebarAccountPanel.svelte.d.ts +21 -0
  295. package/dist/organisms/SidebarNavigation.svelte +193 -69
  296. package/dist/organisms/SidebarNavigation.svelte.d.ts +31 -1
  297. package/dist/organisms/SidebarPanel.svelte +45 -16
  298. package/dist/organisms/SidebarPanel.svelte.d.ts +2 -0
  299. package/dist/organisms/SidebarShell.svelte +263 -0
  300. package/dist/organisms/SidebarShell.svelte.d.ts +106 -0
  301. package/dist/organisms/TopNavbar.svelte +329 -33
  302. package/dist/organisms/TopNavbar.svelte.d.ts +28 -0
  303. package/dist/organisms/index.d.ts +6 -0
  304. package/dist/organisms/index.js +4 -0
  305. package/dist/routes/lib/variant-utils.d.ts +26 -0
  306. package/dist/routes/lib/{variant-utils.ts → variant-utils.js} +15 -46
  307. package/dist/types/components.d.ts +4 -0
  308. package/dist/types/components.d.ts.map +1 -1
  309. package/dist/types/events.js +1 -0
  310. package/dist/types/index.d.ts +605 -25
  311. package/dist/types/index.d.ts.map +1 -1
  312. package/dist/types/index.js +3 -0
  313. package/dist/types/variants.ts +17 -1
  314. package/dist/util/app-shell.d.ts +27 -0
  315. package/dist/util/app-shell.js +72 -0
  316. package/dist/util/avatar.d.ts +35 -0
  317. package/dist/util/avatar.js +52 -0
  318. package/dist/util/bottom-sheet.d.ts +29 -0
  319. package/dist/util/bottom-sheet.js +43 -0
  320. package/dist/util/bottom-tab-bar.d.ts +34 -0
  321. package/dist/util/bottom-tab-bar.js +54 -0
  322. package/dist/util/calendar.d.ts +55 -0
  323. package/dist/util/calendar.js +74 -0
  324. package/dist/util/cn.d.ts +7 -0
  325. package/dist/util/cn.js +48 -0
  326. package/dist/util/collapsible.d.ts +57 -0
  327. package/dist/util/collapsible.js +23 -0
  328. package/dist/util/confirm-dialog.d.ts +11 -0
  329. package/dist/util/confirm-dialog.js +2 -0
  330. package/dist/util/date.d.ts +95 -0
  331. package/dist/util/date.js +237 -0
  332. package/dist/util/drawer.d.ts +12 -0
  333. package/dist/util/drawer.js +7 -0
  334. package/dist/util/dropdown.d.ts +46 -0
  335. package/dist/util/dropdown.js +21 -0
  336. package/dist/util/field.d.ts +38 -0
  337. package/dist/util/field.js +38 -0
  338. package/dist/util/fit-in-viewport.d.ts +200 -0
  339. package/dist/util/fit-in-viewport.js +399 -0
  340. package/dist/util/focus-utils.d.ts +75 -2
  341. package/dist/util/focus-utils.js +182 -9
  342. package/dist/util/hydration.d.ts +44 -0
  343. package/dist/util/hydration.js +58 -0
  344. package/dist/util/keyboard-inset.d.ts +17 -0
  345. package/dist/util/keyboard-inset.js +53 -0
  346. package/dist/util/media-grid.d.ts +50 -0
  347. package/dist/util/media-grid.js +81 -0
  348. package/dist/util/media.d.ts +5 -0
  349. package/dist/util/media.js +10 -0
  350. package/dist/util/overlay-chrome.d.ts +52 -0
  351. package/dist/util/overlay-chrome.js +56 -0
  352. package/dist/util/overlay.d.ts +71 -0
  353. package/dist/util/overlay.js +240 -0
  354. package/dist/util/photo.d.ts +214 -0
  355. package/dist/util/photo.js +206 -0
  356. package/dist/util/portal.d.ts +22 -0
  357. package/dist/util/portal.js +50 -0
  358. package/dist/util/pull-to-refresh.d.ts +26 -0
  359. package/dist/util/pull-to-refresh.js +30 -0
  360. package/dist/util/radio-keys.d.ts +24 -0
  361. package/dist/util/radio-keys.js +49 -0
  362. package/dist/util/rating.d.ts +22 -0
  363. package/dist/util/rating.js +26 -0
  364. package/dist/util/ready-made-strings.d.ts +76 -0
  365. package/dist/util/ready-made-strings.js +67 -0
  366. package/dist/util/scroll-padding.d.ts +19 -0
  367. package/dist/util/scroll-padding.js +44 -0
  368. package/dist/util/segmented-control.d.ts +15 -0
  369. package/dist/util/segmented-control.js +1 -0
  370. package/dist/util/select.d.ts +40 -0
  371. package/dist/util/select.js +63 -0
  372. package/dist/util/sheet-drag.d.ts +59 -0
  373. package/dist/util/sheet-drag.js +241 -0
  374. package/dist/util/sidebar.d.ts +62 -0
  375. package/dist/util/sidebar.js +38 -0
  376. package/dist/util/sortable-list.d.ts +64 -0
  377. package/dist/util/sortable-list.js +53 -0
  378. package/dist/util/ssr-safe.d.ts +4 -4
  379. package/dist/util/stepper.d.ts +39 -0
  380. package/dist/util/stepper.js +38 -0
  381. package/dist/util/swipeable-list-item.d.ts +35 -0
  382. package/dist/util/swipeable-list-item.js +32 -0
  383. package/dist/util/theme-mode.d.ts +79 -0
  384. package/dist/util/theme-mode.js +121 -0
  385. package/dist/util/toaster.d.ts +92 -0
  386. package/dist/util/toaster.js +75 -0
  387. package/dist/util/tooltip.d.ts +9 -0
  388. package/dist/util/tooltip.js +18 -0
  389. package/dist/util/top-navbar.d.ts +10 -0
  390. package/dist/util/top-navbar.js +5 -0
  391. package/dist/util/touch-target.d.ts +30 -0
  392. package/dist/util/touch-target.js +30 -0
  393. package/dist/util/zabi-strings.d.ts +132 -0
  394. package/dist/util/zabi-strings.js +105 -0
  395. package/dist/zabi-components-colors.css +5 -2
  396. package/dist/zabi-components-theme-dark-only.css +574 -225
  397. package/dist/zabi-components-theme-dark.css +574 -225
  398. package/dist/zabi-components-theme-only.css +1680 -317
  399. package/dist/zabi-components-theme.css +1680 -317
  400. package/dist/zabi-components.css +4473 -1158
  401. package/docs/lucide-icons.md +41 -16
  402. package/docs/theme-imports.md +81 -11
  403. package/package.json +51 -29
  404. package/dist/lib/layout-width-tokens.d.ts +0 -17
  405. package/dist/lib/layout-width-tokens.d.ts.map +0 -1
  406. package/dist/lib/showcase/component-docs/Button.d.ts +0 -3
  407. package/dist/lib/showcase/component-docs/Button.d.ts.map +0 -1
  408. package/dist/lib/showcase/component-docs/Input.d.ts +0 -3
  409. package/dist/lib/showcase/component-docs/Input.d.ts.map +0 -1
  410. package/dist/lib/showcase/component-docs/List.d.ts +0 -3
  411. package/dist/lib/showcase/component-docs/List.d.ts.map +0 -1
  412. package/dist/lib/showcase/component-docs/Modal.d.ts +0 -3
  413. package/dist/lib/showcase/component-docs/Modal.d.ts.map +0 -1
  414. package/dist/lib/showcase/component-docs/Radio.d.ts +0 -3
  415. package/dist/lib/showcase/component-docs/Radio.d.ts.map +0 -1
  416. package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts +0 -3
  417. package/dist/lib/showcase/component-docs/SidebarNavigation.d.ts.map +0 -1
  418. package/dist/lib/showcase/component-docs/Skeleton.d.ts +0 -3
  419. package/dist/lib/showcase/component-docs/Skeleton.d.ts.map +0 -1
  420. package/dist/lib/showcase/component-docs/_shared.d.ts +0 -12
  421. package/dist/lib/showcase/component-docs/_shared.d.ts.map +0 -1
  422. package/dist/lib/showcase/component-docs/index.d.ts +0 -4
  423. package/dist/lib/showcase/component-docs/index.d.ts.map +0 -1
  424. package/dist/lib/showcase/components-catalog.d.ts +0 -3
  425. package/dist/lib/showcase/components-catalog.d.ts.map +0 -1
  426. package/dist/lib/showcase/components-showcase-constants.d.ts +0 -89
  427. package/dist/lib/showcase/components-showcase-constants.d.ts.map +0 -1
  428. package/dist/lib/showcase/docs-sidebar-helpers.d.ts +0 -15
  429. package/dist/lib/showcase/docs-sidebar-helpers.d.ts.map +0 -1
  430. package/dist/routes/lib/focus-utils.d.ts +0 -12
  431. package/dist/routes/lib/focus-utils.ts +0 -110
  432. package/dist/routes/lib/ssr-safe.ts +0 -58
  433. package/scripts/fix-lucide-svelte-icon-dts.js +0 -35
@@ -0,0 +1,132 @@
1
+ import type { AvatarGroupStrings } from "./avatar.js";
2
+ import type { CalendarStrings } from "./calendar.js";
3
+ import type { MediaGridStrings } from "./media-grid.js";
4
+ import type { PhotoGridStrings, PhotoViewerStrings } from "./photo.js";
5
+ import type { PullToRefreshStrings } from "./pull-to-refresh.js";
6
+ import type { RatingStrings } from "./rating.js";
7
+ import type { ColorPickerStrings, ComponentDemoStrings, ContactFormStrings, PropsTableStrings } from "./ready-made-strings.js";
8
+ import type { SelectStrings } from "./select.js";
9
+ import type { SidebarAccountPanelStrings, SidebarBrandHeaderStrings, SidebarFooterStrings, SidebarNavigationStrings } from "./sidebar.js";
10
+ import type { SortableListStrings } from "./sortable-list.js";
11
+ import type { StepperStrings } from "./stepper.js";
12
+ import type { SwipeableListItemStrings } from "./swipeable-list-item.js";
13
+ import type { ThemeToggleLabels } from "./theme-mode.js";
14
+ import type { ToasterStrings } from "./toaster.js";
15
+ import type { TopNavbarStrings } from "./top-navbar.js";
16
+ /**
17
+ * The few words that many components' single-text props default to. A
18
+ * component whose prop is not given says the one here.
19
+ */
20
+ export interface ZabiCommonStrings {
21
+ /** The close button of a dialog, a drawer or a sheet (`closeLabel`). */
22
+ close: string;
23
+ /** AppBar's back control (`backLabel`). */
24
+ back: string;
25
+ /** A sheet's grip while it takes the sheet up a step (`expandLabel`). */
26
+ expand: string;
27
+ /** The same, while it takes it down (`collapseLabel`). */
28
+ collapse: string;
29
+ /** Read after the label of a required field (FormField's `requiredLabel`). */
30
+ required: string;
31
+ /** The button in a password field that shows what was typed (Input's `revealLabel`). */
32
+ showPassword: string;
33
+ /** Placeholder of a search field in a sidebar (`searchPlaceholder`). */
34
+ search: string;
35
+ /** ConfirmDialog's confirming button (`confirmLabel`). */
36
+ confirm: string;
37
+ /** ConfirmDialog's other button (`cancelLabel`). */
38
+ cancel: string;
39
+ }
40
+ export declare const DEFAULT_ZABI_COMMON_STRINGS: ZabiCommonStrings;
41
+ /** Toast's own text: `closeLabel`. */
42
+ export interface ToastTexts {
43
+ closeLabel: string;
44
+ }
45
+ export declare const DEFAULT_TOAST_TEXTS: ToastTexts;
46
+ /** Alert's own text: `closeLabel`. */
47
+ export interface AlertTexts {
48
+ closeLabel: string;
49
+ }
50
+ export declare const DEFAULT_ALERT_TEXTS: AlertTexts;
51
+ /** CodeBlock's own texts: the copy button's name, and what is announced once copied. */
52
+ export interface CodeBlockTexts {
53
+ copyLabel: string;
54
+ copiedLabel: string;
55
+ }
56
+ export declare const DEFAULT_CODE_BLOCK_TEXTS: CodeBlockTexts;
57
+ /** ImageUpload's own texts, by the name of the prop each one is. */
58
+ export interface ImageUploadTexts {
59
+ placeholder: string;
60
+ browseText: string;
61
+ changeText: string;
62
+ removeText: string;
63
+ selectedText: string;
64
+ removedText: string;
65
+ errorTitle: string;
66
+ errorRecovery: string;
67
+ }
68
+ export declare const DEFAULT_IMAGE_UPLOAD_TEXTS: ImageUploadTexts;
69
+ /** UnsavedChangesBar's own texts, by the name of the prop each one is. */
70
+ export interface UnsavedChangesBarTexts {
71
+ message: string;
72
+ label: string;
73
+ saveLabel: string;
74
+ discardLabel: string;
75
+ }
76
+ export declare const DEFAULT_UNSAVED_CHANGES_BAR_TEXTS: UnsavedChangesBarTexts;
77
+ /** One optional entry per component that has words of its own, and `common`. */
78
+ export interface ZabiStrings {
79
+ common?: Partial<ZabiCommonStrings>;
80
+ alert?: Partial<AlertTexts>;
81
+ avatarGroup?: Partial<AvatarGroupStrings>;
82
+ calendar?: Partial<CalendarStrings>;
83
+ codeBlock?: Partial<CodeBlockTexts>;
84
+ colorPicker?: Partial<ColorPickerStrings>;
85
+ componentDemo?: Partial<ComponentDemoStrings>;
86
+ contactForm?: Partial<ContactFormStrings>;
87
+ imageUpload?: Partial<ImageUploadTexts>;
88
+ mediaGrid?: Partial<MediaGridStrings>;
89
+ photoGrid?: Partial<PhotoGridStrings>;
90
+ photoViewer?: Partial<PhotoViewerStrings>;
91
+ propsTable?: Partial<PropsTableStrings>;
92
+ pullToRefresh?: Partial<PullToRefreshStrings>;
93
+ rating?: Partial<RatingStrings>;
94
+ select?: Partial<SelectStrings>;
95
+ sidebarAccountPanel?: Partial<SidebarAccountPanelStrings>;
96
+ sidebarBrandHeader?: Partial<SidebarBrandHeaderStrings>;
97
+ sidebarFooter?: Partial<SidebarFooterStrings>;
98
+ sidebarNavigation?: Partial<SidebarNavigationStrings>;
99
+ sortableList?: Partial<SortableListStrings>;
100
+ stepper?: Partial<StepperStrings>;
101
+ swipeableListItem?: Partial<SwipeableListItemStrings>;
102
+ themeToggle?: Partial<ThemeToggleLabels>;
103
+ toast?: Partial<ToastTexts>;
104
+ toaster?: Partial<ToasterStrings>;
105
+ topNavbar?: Partial<TopNavbarStrings>;
106
+ unsavedChangesBar?: Partial<UnsavedChangesBarTexts>;
107
+ }
108
+ /** What the context holds: an object whose `current` is read when it is needed, so a change reaches every reader. */
109
+ export interface ZabiStringsContext {
110
+ readonly current: ZabiStrings;
111
+ }
112
+ /** `over` on top of `under`, entry by entry: an inner provider only replaces the words it gives. */
113
+ export declare function mergeZabiStrings(under: ZabiStrings | undefined, over: ZabiStrings | undefined): ZabiStrings;
114
+ /** For `ZabiStringsProvider`: the provider above this one, if any. Call while the component initialises. */
115
+ export declare function outerZabiStrings(): ZabiStringsContext | undefined;
116
+ /** For `ZabiStringsProvider`: makes `context` what everything below reads. */
117
+ export declare function provideZabiStrings(context: ZabiStringsContext): void;
118
+ /**
119
+ * The words of the provider this component is under, for app code that wants
120
+ * the same words elsewhere. Call it while the component initialises, and read
121
+ * `current` where the words are used (in the markup, or a `$derived`), so a
122
+ * change of language is followed. Outside a provider `current` is empty.
123
+ */
124
+ export declare function getZabiStrings(): ZabiStringsContext;
125
+ /**
126
+ * A component's own entry: `zabiStringsFor("select")` returns a function that
127
+ * gives the provider's words for Select now, or undefined. Call it while the
128
+ * component initialises; call what it returns inside a `$derived`.
129
+ */
130
+ export declare function zabiStringsFor<K extends Exclude<keyof ZabiStrings, "common">>(key: K): () => ZabiStrings[K];
131
+ /** The common words with their defaults filled in, the same way. */
132
+ export declare function zabiCommonStrings(): () => ZabiCommonStrings;
@@ -0,0 +1,105 @@
1
+ /**
2
+ * The library's words, set once for a whole app.
3
+ *
4
+ * Every component says its English defaults unless it is told otherwise, one
5
+ * `strings` object or one prop at a time. An app in another language then has
6
+ * to remember every one of them, and a forgotten prop paints English. With
7
+ * `<ZabiStringsProvider strings={…}>` at the root, every component under it
8
+ * falls back to the app's words instead:
9
+ *
10
+ * 1. the built-in English default,
11
+ * 2. the provider's entry for the component (or `common`, for a
12
+ * single-text prop),
13
+ * 3. the instance's own `strings`,
14
+ * 4. the instance's single-text props.
15
+ *
16
+ * Later wins. Outside a provider nothing changes.
17
+ *
18
+ * It is Svelte context, not a module-level store: on a server it belongs to
19
+ * the request being rendered, so two languages can be served at once, and a
20
+ * provider inside another merges over it for its own part of the page. An
21
+ * overlay rendered in `<body>` still reads the provider it was written under:
22
+ * context follows the component tree, not the DOM.
23
+ */
24
+ import { getContext, setContext } from "svelte";
25
+ export const DEFAULT_ZABI_COMMON_STRINGS = {
26
+ close: "Close",
27
+ back: "Back",
28
+ expand: "Expand",
29
+ collapse: "Collapse",
30
+ required: "(required)",
31
+ showPassword: "Show password",
32
+ search: "Search...",
33
+ confirm: "Confirm",
34
+ cancel: "Cancel",
35
+ };
36
+ export const DEFAULT_TOAST_TEXTS = { closeLabel: "Close notification" };
37
+ export const DEFAULT_ALERT_TEXTS = { closeLabel: "Dismiss alert" };
38
+ export const DEFAULT_CODE_BLOCK_TEXTS = {
39
+ copyLabel: "Copy code to clipboard",
40
+ copiedLabel: "Code copied to clipboard",
41
+ };
42
+ export const DEFAULT_IMAGE_UPLOAD_TEXTS = {
43
+ placeholder: "No image selected",
44
+ browseText: "Click to choose a file",
45
+ changeText: "Change",
46
+ removeText: "Remove",
47
+ selectedText: "Image selected",
48
+ removedText: "Image removed",
49
+ errorTitle: "Image upload failed",
50
+ errorRecovery: "Recovery action: try another file or retry upload.",
51
+ };
52
+ export const DEFAULT_UNSAVED_CHANGES_BAR_TEXTS = {
53
+ message: "You have unsaved changes",
54
+ label: "Unsaved changes",
55
+ saveLabel: "Save",
56
+ discardLabel: "Discard",
57
+ };
58
+ const KEY = Symbol("zabi-strings");
59
+ const NONE = {};
60
+ /** `over` on top of `under`, entry by entry: an inner provider only replaces the words it gives. */
61
+ export function mergeZabiStrings(under, over) {
62
+ if (!under)
63
+ return over ?? NONE;
64
+ if (!over)
65
+ return under;
66
+ const merged = { ...under };
67
+ for (const [key, words] of Object.entries(over)) {
68
+ if (words)
69
+ merged[key] = { ...(merged[key] ?? {}), ...words };
70
+ }
71
+ return merged;
72
+ }
73
+ /** For `ZabiStringsProvider`: the provider above this one, if any. Call while the component initialises. */
74
+ export function outerZabiStrings() {
75
+ return getContext(KEY);
76
+ }
77
+ /** For `ZabiStringsProvider`: makes `context` what everything below reads. */
78
+ export function provideZabiStrings(context) {
79
+ setContext(KEY, context);
80
+ }
81
+ /**
82
+ * The words of the provider this component is under, for app code that wants
83
+ * the same words elsewhere. Call it while the component initialises, and read
84
+ * `current` where the words are used (in the markup, or a `$derived`), so a
85
+ * change of language is followed. Outside a provider `current` is empty.
86
+ */
87
+ export function getZabiStrings() {
88
+ return outerZabiStrings() ?? { current: NONE };
89
+ }
90
+ /**
91
+ * A component's own entry: `zabiStringsFor("select")` returns a function that
92
+ * gives the provider's words for Select now, or undefined. Call it while the
93
+ * component initialises; call what it returns inside a `$derived`.
94
+ */
95
+ export function zabiStringsFor(key) {
96
+ const context = outerZabiStrings();
97
+ return () => context?.current[key];
98
+ }
99
+ /** The common words with their defaults filled in, the same way. */
100
+ export function zabiCommonStrings() {
101
+ const context = outerZabiStrings();
102
+ return () => context?.current.common
103
+ ? { ...DEFAULT_ZABI_COMMON_STRINGS, ...context.current.common }
104
+ : DEFAULT_ZABI_COMMON_STRINGS;
105
+ }
@@ -1,3 +1,6 @@
1
1
  /* zabi-components-colors — generated from src/app.css; edit app.css */
2
- :root{--zabi-base-50:#fafafa;--zabi-base-75:#f7f7f7;--zabi-base-100:#f4f4f5;--zabi-base-150:#ececee;--zabi-base-200:#e4e4e7;--zabi-base-250:#dcdcdf;--zabi-base-300:#d4d4d8;--zabi-base-350:#babac1;--zabi-base-400:#a1a1aa;--zabi-base-450:#898992;--zabi-base-500:#71717a;--zabi-base-550:#61616a;--zabi-base-600:#52525b;--zabi-base-650:#484850;--zabi-base-700:#3f3f46;--zabi-base-750:#333338;--zabi-base-800:#27272a;--zabi-base-850:#1f1f22;--zabi-base-900:#18181b;--zabi-base-925:#101013;--zabi-base-950:#09090b;--font-family-sans:'Nunito Sans', ui-sans-serif, system-ui, sans-serif;--zabi-brand-50:#f7faff;--zabi-brand-100:#edf2fb;--zabi-brand-200:#dfe7fb;--zabi-brand-300:#ccdbfd;--zabi-brand-400:#abc4ff;--zabi-brand-500:#8fa8ff;--zabi-brand-600:#6e84fa;--zabi-brand-700:#5366e2;--zabi-brand-800:#3f4fc0;--zabi-brand-900:#2f3c99;--zabi-brand-950:#1f2866;--color-brand-50:var(--zabi-brand-50);--color-brand-100:var(--zabi-brand-100);--color-brand-200:var(--zabi-brand-200);--color-brand-300:var(--zabi-brand-300);--color-brand-400:var(--zabi-brand-400);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-600);--color-brand-700:var(--zabi-brand-700);--color-brand-800:var(--zabi-brand-800);--color-brand-900:var(--zabi-brand-900);--color-brand-950:var(--zabi-brand-950);--zabi-citron-50:#f9faeb;--zabi-citron-100:#f1f5cf;--zabi-citron-200:#e4ecaa;--zabi-citron-300:#d5e184;--zabi-citron-400:#c7d460;--zabi-citron-500:#bbbe64;--zabi-citron-600:#a3a852;--zabi-citron-700:#848a43;--zabi-citron-800:#666c35;--zabi-citron-900:#4d5229;--zabi-citron-950:#323518;--color-citron-50:var(--zabi-citron-50);--color-citron-100:var(--zabi-citron-100);--color-citron-200:var(--zabi-citron-200);--color-citron-300:var(--zabi-citron-300);--color-citron-400:var(--zabi-citron-400);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-600);--color-citron-700:var(--zabi-citron-700);--color-citron-800:var(--zabi-citron-800);--color-citron-900:var(--zabi-citron-900);--color-citron-950:var(--zabi-citron-950);--zabi-pine-50:#e9f6f2;--zabi-pine-100:#d2ece4;--zabi-pine-200:#a7d9c9;--zabi-pine-300:#78c4ad;--zabi-pine-400:#49ad91;--zabi-pine-500:#0c5d43;--zabi-pine-600:#0a513a;--zabi-pine-700:#084532;--zabi-pine-800:#063a2a;--zabi-pine-900:#04231a;--zabi-pine-950:#02160f;--color-pine-50:var(--zabi-pine-50);--color-pine-100:var(--zabi-pine-100);--color-pine-200:var(--zabi-pine-200);--color-pine-300:var(--zabi-pine-300);--color-pine-400:var(--zabi-pine-400);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-600);--color-pine-700:var(--zabi-pine-700);--color-pine-800:var(--zabi-pine-800);--color-pine-900:var(--zabi-pine-900);--color-pine-950:var(--zabi-pine-950);--zabi-iris-50:#f4f4fa;--zabi-iris-100:#e9e9f7;--zabi-iris-200:#d6d6f0;--zabi-iris-300:#bdbde6;--zabi-iris-400:#a3a3d8;--zabi-iris-500:#6969b3;--zabi-iris-600:#58589e;--zabi-iris-700:#474788;--zabi-iris-800:#38386f;--zabi-iris-900:#2a2a56;--zabi-iris-950:#1b1b37;--color-iris-50:var(--zabi-iris-50);--color-iris-100:var(--zabi-iris-100);--color-iris-200:var(--zabi-iris-200);--color-iris-300:var(--zabi-iris-300);--color-iris-400:var(--zabi-iris-400);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-600);--color-iris-700:var(--zabi-iris-700);--color-iris-800:var(--zabi-iris-800);--color-iris-900:var(--zabi-iris-900);--color-iris-950:var(--zabi-iris-950);--zabi-warning-50:#fffbeb;--zabi-warning-100:#fef3c7;--zabi-warning-200:#fde68a;--zabi-warning-300:#fcd34d;--zabi-warning-400:#fbbf24;--zabi-warning-500:#f59e0b;--zabi-warning-600:#d97706;--zabi-warning-700:#b45309;--zabi-warning-800:#92400e;--zabi-warning-900:#78350f;--zabi-warning-950:#451a03;--color-warning-50:var(--zabi-warning-50);--color-warning-100:var(--zabi-warning-100);--color-warning-200:var(--zabi-warning-200);--color-warning-300:var(--zabi-warning-300);--color-warning-400:var(--zabi-warning-400);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-600);--color-warning-700:var(--zabi-warning-700);--color-warning-800:var(--zabi-warning-800);--color-warning-900:var(--zabi-warning-900);--color-warning-950:var(--zabi-warning-950);--zabi-error-50:#fef2f2;--zabi-error-100:#fee2e2;--zabi-error-200:#fecaca;--zabi-error-300:#fca5a5;--zabi-error-400:#f87171;--zabi-error-500:#ef4444;--zabi-error-600:#dc2626;--zabi-error-700:#b91c1c;--zabi-error-800:#991b1b;--zabi-error-900:#7f1d1d;--zabi-error-950:#450a0a;--color-error-50:var(--zabi-error-50);--color-error-100:var(--zabi-error-100);--color-error-200:var(--zabi-error-200);--color-error-300:var(--zabi-error-300);--color-error-400:var(--zabi-error-400);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-600);--color-error-700:var(--zabi-error-700);--color-error-800:var(--zabi-error-800);--color-error-900:var(--zabi-error-900);--color-error-950:var(--zabi-error-950);--color-base-50:var(--zabi-base-50);--color-base-75:var(--zabi-base-75);--color-base-100:var(--zabi-base-100);--color-base-150:var(--zabi-base-150);--color-base-200:var(--zabi-base-200);--color-base-250:var(--zabi-base-250);--color-base-300:var(--zabi-base-300);--color-base-350:var(--zabi-base-350);--color-base-400:var(--zabi-base-400);--color-base-450:var(--zabi-base-450);--color-base-500:var(--zabi-base-500);--color-base-550:var(--zabi-base-550);--color-base-600:var(--zabi-base-600);--color-base-650:var(--zabi-base-650);--color-base-700:var(--zabi-base-700);--color-base-750:var(--zabi-base-750);--color-base-800:var(--zabi-base-800);--color-base-850:var(--zabi-base-850);--color-base-900:var(--zabi-base-900);--color-base-925:var(--zabi-base-925);--color-base-950:var(--zabi-base-950);--color-background:var(--color-base-100);--color-background-secondary:var(--color-base-50);--color-background-tertiary:var(--color-base-100);--color-page:var(--color-base-100);--color-page-secondary:var(--color-base-200);--color-card:#ffffff;--color-card-hover:var(--color-base-100);--color-card-active:var(--color-base-100);--color-card-elevated:#ffffff;--color-surface-1:#ffffff;--color-surface-2:var(--color-base-50);--color-surface-3:var(--color-base-75);--color-surface-4:var(--color-base-100);--color-overlay:rgba(0, 0, 0, 0.5);--color-input:var(--color-base-250);--color-input-border:var(--color-base-350);--color-input-hover:var(--color-base-300);--color-input-focus:var(--color-base-300);--color-input-disabled:var(--color-base-100);--color-headline:var(--color-base-900);--color-body:var(--color-base-800);--color-description:var(--color-base-600);--color-caption:var(--color-base-500);--color-input-placeholder:var(--color-base-400);--color-label:var(--color-base-700);--color-link:var(--color-brand-600);--color-link-hover:var(--color-brand-700);--color-nav-menu-item:var(--color-body);--color-nav-menu-item-hover:var(--color-headline);--color-nav-menu-item-active:var(--color-link);--color-nav-menu-hover:var(--color-base-100);--color-nav-menu-active:var(--color-action-primary-subtle);--color-nav-menu-focus:var(--color-brand-500);--color-success-text:var(--color-success);--color-warning-text:var(--color-warning-700);--color-neutral-text:var(--color-base-700);--color-energetic-text:var(--color-citron-700);--color-error-text:var(--color-error-700);--color-inverse:var(--color-base-100);--color-disabled:var(--color-base-400);--color-border:var(--color-base-300);--color-border-weak:var(--color-base-300);--color-border-medium:var(--color-base-400);--color-border-strong:var(--color-base-500);--color-focus:var(--color-brand-500);--color-focus-weak:var(--color-brand-600);--color-focus-medium:var(--color-brand-700);--color-focus-strong:var(--color-brand-800);--color-focus-ring:var(--color-focus);--color-focus-ring-offset:var(--color-card);--color-primary:var(--color-brand-600);--color-primary-weak:var(--color-brand-700);--color-primary-medium:var(--color-brand-800);--color-primary-strong:var(--color-brand-900);--color-secondary:var(--color-base-600);--color-secondary-weak:var(--color-base-700);--color-secondary-medium:var(--color-base-800);--color-secondary-strong:var(--color-base-900);--color-success:var(--color-pine-600);--color-success-weak:var(--color-pine-700);--color-success-medium:var(--color-pine-800);--color-success-strong:var(--color-pine-900);--color-warning:var(--color-warning-500);--color-warning-weak:var(--color-warning-600);--color-warning-medium:var(--color-warning-400);--color-warning-strong:var(--color-warning-300);--color-error:var(--color-error-500);--color-error-weak:var(--color-error-600);--color-error-medium:var(--color-error-400);--color-error-strong:var(--color-error-300);--color-energetic:var(--color-citron-500);--color-energetic-weak:var(--color-citron-600);--color-energetic-medium:var(--color-citron-400);--color-energetic-strong:var(--color-citron-300);--color-neutral:var(--color-base-600);--color-neutral-weak:var(--color-base-700);--color-neutral-medium:var(--color-base-800);--color-neutral-strong:var(--color-base-900);--color-info:var(--color-iris-600);--color-info-weak:var(--color-iris-700);--color-info-medium:var(--color-iris-800);--color-info-strong:var(--color-iris-900);--color-info-active:var(--color-iris-400);--color-info-text:var(--color-info);--color-action-primary:var(--color-brand-950);--color-action-primary-hover:var(--color-brand-900);--color-action-primary-active:var(--color-brand-400);--color-action-primary-disabled:var(--color-brand-500);--color-action-primary-subtle:var(--color-brand-100);--color-action-primary-subtle-hover:var(--color-brand-200);--color-action-primary-text:var(--color-brand-50);--color-action-secondary:color-mix(in srgb, var(--color-brand-800) 10%, transparent);--color-action-secondary-hover:color-mix(in srgb, var(--color-brand-800) 20%, transparent);--color-action-secondary-active:var(--color-brand-400);--color-action-secondary-disabled:var(--color-brand-500);--color-action-secondary-subtle:var(--color-brand-600);--color-action-secondary-subtle-hover:var(--color-brand-700);--color-action-danger:#dc2626;--color-action-danger-hover:#b91c1c;--color-action-danger-active:#991b1b;--color-action-danger-disabled:#fca5a5;--color-action-danger-subtle:#fef2f2;--color-action-danger-subtle-hover:#fee2e2;--shadow-color:0 0 0;--shadow-opacity:0.1;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--color-tooltip-bg:var(--color-base-800);--color-tooltip-fg:var(--color-base-50);}
3
- .dark{--zabi-base-50:#fafafa;--zabi-base-75:#f7f7f7;--zabi-base-100:#f4f4f5;--zabi-base-150:#ececee;--zabi-base-200:#e4e4e7;--zabi-base-250:#dcdcdf;--zabi-base-300:#d4d4d8;--zabi-base-350:#babac1;--zabi-base-400:#a1a1aa;--zabi-base-450:#898992;--zabi-base-500:#71717a;--zabi-base-550:#61616a;--zabi-base-600:#52525b;--zabi-base-650:#484850;--zabi-base-700:#3f3f46;--zabi-base-750:#333338;--zabi-base-800:#27272a;--zabi-base-850:#1f1f22;--zabi-base-900:#18181b;--zabi-base-925:#101013;--zabi-base-950:#09090b;--zabi-brand-50:#f7faff;--zabi-brand-100:#edf2fb;--zabi-brand-200:#dfe7fb;--zabi-brand-300:#ccdbfd;--zabi-brand-400:#abc4ff;--zabi-brand-500:#8fa8ff;--zabi-brand-600:#6e84fa;--zabi-brand-700:#5366e2;--zabi-brand-800:#3f4fc0;--zabi-brand-900:#2f3c99;--zabi-brand-950:#1f2866;--color-brand-50:var(--zabi-brand-950);--color-brand-100:var(--zabi-brand-900);--color-brand-200:var(--zabi-brand-800);--color-brand-300:var(--zabi-brand-700);--color-brand-400:var(--zabi-brand-600);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-400);--color-brand-700:var(--zabi-brand-300);--color-brand-800:var(--zabi-brand-200);--color-brand-900:var(--zabi-brand-100);--color-brand-950:var(--zabi-brand-50);--zabi-citron-50:#f9faeb;--zabi-citron-100:#f1f5cf;--zabi-citron-200:#e4ecaa;--zabi-citron-300:#d5e184;--zabi-citron-400:#c7d460;--zabi-citron-500:#bbbe64;--zabi-citron-600:#a3a852;--zabi-citron-700:#848a43;--zabi-citron-800:#666c35;--zabi-citron-900:#4d5229;--zabi-citron-950:#323518;--color-citron-50:var(--zabi-citron-950);--color-citron-100:var(--zabi-citron-900);--color-citron-200:var(--zabi-citron-800);--color-citron-300:var(--zabi-citron-700);--color-citron-400:var(--zabi-citron-600);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-400);--color-citron-700:var(--zabi-citron-300);--color-citron-800:var(--zabi-citron-200);--color-citron-900:var(--zabi-citron-100);--color-citron-950:var(--zabi-citron-50);--zabi-pine-50:#e9f6f2;--zabi-pine-100:#d2ece4;--zabi-pine-200:#a7d9c9;--zabi-pine-300:#78c4ad;--zabi-pine-400:#49ad91;--zabi-pine-500:#0c5d43;--zabi-pine-600:#0a513a;--zabi-pine-700:#084532;--zabi-pine-800:#063a2a;--zabi-pine-900:#04231a;--zabi-pine-950:#02160f;--color-pine-50:var(--zabi-pine-950);--color-pine-100:var(--zabi-pine-900);--color-pine-200:var(--zabi-pine-800);--color-pine-300:var(--zabi-pine-700);--color-pine-400:var(--zabi-pine-600);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-400);--color-pine-700:var(--zabi-pine-300);--color-pine-800:var(--zabi-pine-200);--color-pine-900:var(--zabi-pine-100);--color-pine-950:var(--zabi-pine-50);--zabi-iris-50:#f4f4fa;--zabi-iris-100:#e9e9f7;--zabi-iris-200:#d6d6f0;--zabi-iris-300:#bdbde6;--zabi-iris-400:#a3a3d8;--zabi-iris-500:#6969b3;--zabi-iris-600:#58589e;--zabi-iris-700:#474788;--zabi-iris-800:#38386f;--zabi-iris-900:#2a2a56;--zabi-iris-950:#1b1b37;--color-iris-50:var(--zabi-iris-950);--color-iris-100:var(--zabi-iris-900);--color-iris-200:var(--zabi-iris-800);--color-iris-300:var(--zabi-iris-700);--color-iris-400:var(--zabi-iris-600);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-400);--color-iris-700:var(--zabi-iris-300);--color-iris-800:var(--zabi-iris-200);--color-iris-900:var(--zabi-iris-100);--color-iris-950:var(--zabi-iris-50);--zabi-warning-50:#fffbeb;--zabi-warning-100:#fef3c7;--zabi-warning-200:#fde68a;--zabi-warning-300:#fcd34d;--zabi-warning-400:#fbbf24;--zabi-warning-500:#f59e0b;--zabi-warning-600:#d97706;--zabi-warning-700:#b45309;--zabi-warning-800:#92400e;--zabi-warning-900:#78350f;--zabi-warning-950:#451a03;--color-warning-50:var(--zabi-warning-950);--color-warning-100:var(--zabi-warning-900);--color-warning-200:var(--zabi-warning-800);--color-warning-300:var(--zabi-warning-700);--color-warning-400:var(--zabi-warning-600);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-400);--color-warning-700:var(--zabi-warning-300);--color-warning-800:var(--zabi-warning-200);--color-warning-900:var(--zabi-warning-100);--color-warning-950:var(--zabi-warning-50);--zabi-error-50:#fef2f2;--zabi-error-100:#fee2e2;--zabi-error-200:#fecaca;--zabi-error-300:#fca5a5;--zabi-error-400:#f87171;--zabi-error-500:#ef4444;--zabi-error-600:#dc2626;--zabi-error-700:#b91c1c;--zabi-error-800:#991b1b;--zabi-error-900:#7f1d1d;--zabi-error-950:#450a0a;--color-error-50:var(--zabi-error-950);--color-error-100:var(--zabi-error-900);--color-error-200:var(--zabi-error-800);--color-error-300:var(--zabi-error-700);--color-error-400:var(--zabi-error-600);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-400);--color-error-700:var(--zabi-error-300);--color-error-800:var(--zabi-error-200);--color-error-900:var(--zabi-error-100);--color-error-950:var(--zabi-error-50);--color-base-50:#09090b;--color-base-75:#101013;--color-base-100:#18181b;--color-base-150:#1f1f22;--color-base-200:#27272a;--color-base-250:#333338;--color-base-300:#3f3f46;--color-base-350:#484850;--color-base-400:#52525b;--color-base-450:#61616a;--color-base-500:#71717a;--color-base-550:#898992;--color-base-600:#a1a1aa;--color-base-650:#babac1;--color-base-700:#d4d4d8;--color-base-750:#dcdcdf;--color-base-800:#e4e4e7;--color-base-850:#ececee;--color-base-900:#f4f4f5;--color-base-925:#f7f7f7;--color-base-950:#fafafa;--color-card:var(--color-base-200);--color-card-hover:var(--color-base-300);--color-card-active:var(--color-base-400);--color-card-elevated:var(--color-base-200);--color-surface-1:var(--color-base-250);--color-surface-2:var(--color-base-300);--color-surface-3:var(--color-base-350);--color-surface-4:var(--color-base-400);--color-overlay:rgba(0, 0, 0, 0.7);--color-input:var(--color-base-250);--color-input-border:var(--color-base-350);--color-input-hover:var(--color-base-300);--color-input-focus:var(--color-base-300);--color-input-disabled:var(--color-base-300);--color-action-primary-text:var(--color-brand-50);--color-action-danger:#ef4444;--color-action-danger-hover:#dc2626;--color-action-danger-active:#b91c1c;--color-action-danger-disabled:#b91c1c;--color-action-danger-subtle:#450a0a;--color-action-danger-subtle-hover:#7f1d1d;--shadow-opacity:0.3;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));}
2
+ :root{--zabi-base-50:#fafafa;--zabi-base-75:#f7f7f7;--zabi-base-100:#f4f4f5;--zabi-base-150:#ececee;--zabi-base-200:#e4e4e7;--zabi-base-250:#dcdcdf;--zabi-base-300:#d4d4d8;--zabi-base-350:#babac1;--zabi-base-400:#a1a1aa;--zabi-base-450:#898992;--zabi-base-500:#71717a;--zabi-base-550:#61616a;--zabi-base-600:#52525b;--zabi-base-650:#484850;--zabi-base-700:#3f3f46;--zabi-base-750:#333338;--zabi-base-800:#27272a;--zabi-base-850:#1f1f22;--zabi-base-900:#18181b;--zabi-base-925:#101013;--zabi-base-950:#09090b;--font-family-sans:'Nunito Sans', ui-sans-serif, system-ui, sans-serif;--font-family-heading:var(--font-family-sans);--font-family-mono:"Monaco", "Menlo", "Ubuntu Mono", monospace;--font-sans:var(--font-family-sans);--font-mono:var(--font-family-mono);--font-heading:var(--font-family-heading);--font-weight-regular:400;--font-weight-normal:var(--font-weight-regular);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--zabi-brand-50:#f4f6ff;--zabi-brand-100:#e9eeff;--zabi-brand-200:#d3dcff;--zabi-brand-300:#b5c6ff;--zabi-brand-400:#92a9ff;--zabi-brand-500:#6d87f1;--zabi-brand-600:#4f68da;--zabi-brand-700:#3c52ba;--zabi-brand-800:#2b3e95;--zabi-brand-900:#1c2c6d;--zabi-brand-950:#111d49;--color-brand-50:var(--zabi-brand-50);--color-brand-100:var(--zabi-brand-100);--color-brand-200:var(--zabi-brand-200);--color-brand-300:var(--zabi-brand-300);--color-brand-400:var(--zabi-brand-400);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-600);--color-brand-700:var(--zabi-brand-700);--color-brand-800:var(--zabi-brand-800);--color-brand-900:var(--zabi-brand-900);--color-brand-950:var(--zabi-brand-950);--zabi-citron-50:#f6f7ef;--zabi-citron-100:#edefdf;--zabi-citron-200:#dcdfbf;--zabi-citron-300:#c5ca95;--zabi-citron-400:#aab063;--zabi-citron-500:#8c9027;--zabi-citron-600:#707400;--zabi-citron-700:#5a5d00;--zabi-citron-800:#454700;--zabi-citron-900:#313200;--zabi-citron-950:#202100;--color-citron-50:var(--zabi-citron-50);--color-citron-100:var(--zabi-citron-100);--color-citron-200:var(--zabi-citron-200);--color-citron-300:var(--zabi-citron-300);--color-citron-400:var(--zabi-citron-400);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-600);--color-citron-700:var(--zabi-citron-700);--color-citron-800:var(--zabi-citron-800);--color-citron-900:var(--zabi-citron-900);--color-citron-950:var(--zabi-citron-950);--zabi-accent-50:var(--zabi-citron-50);--zabi-accent-100:var(--zabi-citron-100);--zabi-accent-200:var(--zabi-citron-200);--zabi-accent-300:var(--zabi-citron-300);--zabi-accent-400:var(--zabi-citron-400);--zabi-accent-500:var(--zabi-citron-500);--zabi-accent-600:var(--zabi-citron-600);--zabi-accent-700:var(--zabi-citron-700);--zabi-accent-800:var(--zabi-citron-800);--zabi-accent-900:var(--zabi-citron-900);--zabi-accent-950:var(--zabi-citron-950);--color-accent-50:var(--zabi-accent-50);--color-accent-100:var(--zabi-accent-100);--color-accent-200:var(--zabi-accent-200);--color-accent-300:var(--zabi-accent-300);--color-accent-400:var(--zabi-accent-400);--color-accent-500:var(--zabi-accent-500);--color-accent-600:var(--zabi-accent-600);--color-accent-700:var(--zabi-accent-700);--color-accent-800:var(--zabi-accent-800);--color-accent-900:var(--zabi-accent-900);--color-accent-950:var(--zabi-accent-950);--zabi-pine-50:#f0f8f5;--zabi-pine-100:#e2f1eb;--zabi-pine-200:#c5e4d7;--zabi-pine-300:#9fd1bd;--zabi-pine-400:#70ba9e;--zabi-pine-500:#399c7a;--zabi-pine-600:#00805e;--zabi-pine-700:#00674a;--zabi-pine-800:#004f37;--zabi-pine-900:#003826;--zabi-pine-950:#002518;--color-pine-50:var(--zabi-pine-50);--color-pine-100:var(--zabi-pine-100);--color-pine-200:var(--zabi-pine-200);--color-pine-300:var(--zabi-pine-300);--color-pine-400:var(--zabi-pine-400);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-600);--color-pine-700:var(--zabi-pine-700);--color-pine-800:var(--zabi-pine-800);--color-pine-900:var(--zabi-pine-900);--color-pine-950:var(--zabi-pine-950);--zabi-iris-50:#f6f6fd;--zabi-iris-100:#ecedfb;--zabi-iris-200:#dadbf6;--zabi-iris-300:#c1c4ef;--zabi-iris-400:#a5a7e2;--zabi-iris-500:#8486cd;--zabi-iris-600:#6969b4;--zabi-iris-700:#535397;--zabi-iris-800:#3f3f78;--zabi-iris-900:#2c2c58;--zabi-iris-950:#1d1d3a;--color-iris-50:var(--zabi-iris-50);--color-iris-100:var(--zabi-iris-100);--color-iris-200:var(--zabi-iris-200);--color-iris-300:var(--zabi-iris-300);--color-iris-400:var(--zabi-iris-400);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-600);--color-iris-700:var(--zabi-iris-700);--color-iris-800:var(--zabi-iris-800);--color-iris-900:var(--zabi-iris-900);--color-iris-950:var(--zabi-iris-950);--zabi-warning-50:#fbf6ed;--zabi-warning-100:#f7ecda;--zabi-warning-200:#f1d9b6;--zabi-warning-300:#e8bf87;--zabi-warning-400:#db9e4c;--zabi-warning-500:#c17b00;--zabi-warning-600:#9e6000;--zabi-warning-700:#824c00;--zabi-warning-800:#663800;--zabi-warning-900:#4b2600;--zabi-warning-950:#341800;--color-warning-50:var(--zabi-warning-50);--color-warning-100:var(--zabi-warning-100);--color-warning-200:var(--zabi-warning-200);--color-warning-300:var(--zabi-warning-300);--color-warning-400:var(--zabi-warning-400);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-600);--color-warning-700:var(--zabi-warning-700);--color-warning-800:var(--zabi-warning-800);--color-warning-900:var(--zabi-warning-900);--color-warning-950:var(--zabi-warning-950);--zabi-error-50:#fff4f3;--zabi-error-100:#ffe9e6;--zabi-error-200:#ffd2cd;--zabi-error-300:#ffb2ab;--zabi-error-400:#ff877d;--zabi-error-500:#ed564e;--zabi-error-600:#d22828;--zabi-error-700:#b20912;--zabi-error-800:#8c0006;--zabi-error-900:#660002;--zabi-error-950:#460202;--color-error-50:var(--zabi-error-50);--color-error-100:var(--zabi-error-100);--color-error-200:var(--zabi-error-200);--color-error-300:var(--zabi-error-300);--color-error-400:var(--zabi-error-400);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-600);--color-error-700:var(--zabi-error-700);--color-error-800:var(--zabi-error-800);--color-error-900:var(--zabi-error-900);--color-error-950:var(--zabi-error-950);--color-base-50:var(--zabi-base-50);--color-base-75:var(--zabi-base-75);--color-base-100:var(--zabi-base-100);--color-base-150:var(--zabi-base-150);--color-base-200:var(--zabi-base-200);--color-base-250:var(--zabi-base-250);--color-base-300:var(--zabi-base-300);--color-base-350:var(--zabi-base-350);--color-base-400:var(--zabi-base-400);--color-base-450:var(--zabi-base-450);--color-base-500:var(--zabi-base-500);--color-base-550:var(--zabi-base-550);--color-base-600:var(--zabi-base-600);--color-base-650:var(--zabi-base-650);--color-base-700:var(--zabi-base-700);--color-base-750:var(--zabi-base-750);--color-base-800:var(--zabi-base-800);--color-base-850:var(--zabi-base-850);--color-base-900:var(--zabi-base-900);--color-base-925:var(--zabi-base-925);--color-base-950:var(--zabi-base-950);--color-surface-base:var(--color-base-150);--color-surface-raised:#ffffff;--color-surface-elevated:var(--color-base-100);--color-surface-overlay:#ffffff;--color-surface-inset:var(--color-base-100);--color-surface-overlay-hover:var(--color-base-150);--color-border-overlay:rgba(9, 9, 11, 0.1);--color-background:var(--color-surface-base);--color-background-secondary:var(--color-base-50);--color-background-tertiary:var(--color-base-150);--color-page:var(--color-base-150);--color-page-secondary:var(--color-base-200);--color-card:var(--color-surface-raised);--color-card-hover:var(--color-base-100);--color-card-active:var(--color-base-150);--color-card-elevated:var(--color-surface-overlay);--color-surface-1:var(--color-surface-raised);--color-surface-2:var(--color-surface-elevated);--color-surface-3:var(--color-base-75);--color-surface-4:var(--color-base-100);--color-control-track:var(--color-base-400);--color-control-track-hover:var(--color-base-450);--color-control-track-active:var(--color-base-500);--color-progress-fill:var(--color-action-primary);--color-progress-track:var(--color-input);--color-surface-hover:rgba(9, 9, 11, 0.09);--color-surface-active:rgba(9, 9, 11, 0.15);--color-overlay:rgba(0, 0, 0, 0.5);--color-input:var(--color-surface-raised);--color-input-border:var(--color-base-500);--color-input-border-hover:var(--color-base-550);--color-input-hover:var(--color-base-100);--color-input-active:var(--color-base-200);--color-input-focus:var(--color-surface-raised);--color-input-disabled:var(--color-surface-base);--color-headline:var(--color-base-900);--color-body:var(--color-base-800);--color-description:var(--color-base-600);--color-caption:var(--color-base-550);--color-input-placeholder:var(--color-base-550);--color-label:var(--color-base-700);--color-link:var(--color-brand-700);--color-link-hover:var(--color-brand-800);--color-nav-menu-item:var(--color-body);--color-nav-menu-item-hover:var(--color-headline);--color-nav-menu-item-active:var(--color-link);--color-nav-menu-hover:var(--color-surface-hover);--color-nav-menu-active:var(--color-action-primary-subtle);--color-nav-menu-active-hover:var(--color-action-primary-subtle-hover);--color-nav-menu-focus:var(--color-focus);--color-success-text:var(--color-pine-700);--color-warning-text:var(--color-warning-700);--color-neutral-text:var(--color-base-700);--color-energetic-text:var(--color-citron-700);--color-error-text:var(--color-error-700);--color-inverse:var(--color-base-100);--color-disabled:var(--color-base-400);--color-border:var(--color-base-300);--color-border-weak:var(--color-base-300);--color-border-medium:var(--color-base-400);--color-border-strong:var(--color-base-500);--color-control-border:var(--color-base-500);--color-focus:var(--color-brand-600);--color-focus-weak:var(--color-brand-700);--color-focus-medium:var(--color-brand-800);--color-focus-strong:var(--color-brand-900);--color-focus-ring:var(--color-focus);--color-focus-ring-offset:var(--color-card);--color-focus-ring-muted:var(--color-base-500);--color-focus-ring-danger:var(--color-error);--color-primary:var(--color-brand-600);--color-primary-weak:var(--color-brand-700);--color-primary-medium:var(--color-brand-800);--color-primary-strong:var(--color-brand-900);--color-secondary:var(--color-base-600);--color-secondary-weak:var(--color-base-700);--color-secondary-medium:var(--color-base-800);--color-secondary-strong:var(--color-base-900);--color-success:var(--color-pine-600);--color-success-weak:var(--color-pine-700);--color-success-medium:var(--color-pine-800);--color-success-strong:var(--color-pine-900);--color-success-subtle:var(--color-pine-200);--color-success-border:var(--color-pine-300);--color-warning:var(--color-warning-600);--color-warning-weak:var(--color-warning-700);--color-warning-medium:var(--color-warning-800);--color-warning-strong:var(--color-warning-900);--color-warning-subtle:var(--color-warning-200);--color-warning-border:var(--color-warning-300);--color-error:var(--color-error-600);--color-error-weak:var(--color-error-700);--color-error-medium:var(--color-error-800);--color-error-strong:var(--color-error-900);--color-error-subtle:var(--color-error-200);--color-error-border:var(--color-error-300);--color-energetic:var(--color-citron-600);--color-energetic-weak:var(--color-citron-700);--color-energetic-medium:var(--color-citron-800);--color-energetic-strong:var(--color-citron-900);--color-energetic-subtle:var(--color-citron-200);--color-energetic-border:var(--color-citron-300);--color-accent:var(--color-accent-600);--color-accent-hover:var(--color-accent-700);--color-accent-active:var(--color-accent-800);--color-accent-subtle:var(--color-accent-200);--color-accent-border:var(--color-accent-300);--color-accent-text:var(--color-accent-700);--zabi-on-accent:#ffffff;--zabi-on-accent-dark:var(--zabi-accent-950);--color-on-accent:var(--zabi-on-accent);--color-neutral:var(--color-base-550);--color-neutral-weak:var(--color-base-600);--color-neutral-medium:var(--color-base-700);--color-neutral-strong:var(--color-base-900);--color-neutral-subtle:var(--color-base-250);--color-neutral-border:var(--color-base-300);--color-info:var(--color-iris-600);--color-info-weak:var(--color-iris-700);--color-info-medium:var(--color-iris-800);--color-info-strong:var(--color-iris-900);--color-info-active:var(--color-iris-400);--color-info-subtle:var(--color-iris-200);--color-info-border:var(--color-iris-300);--color-info-text:var(--color-iris-700);--color-action-primary:var(--color-brand-600);--color-action-primary-hover:var(--color-brand-700);--color-action-primary-active:var(--color-brand-800);--color-action-primary-subtle:var(--color-brand-200);--color-action-primary-subtle-hover:var(--color-brand-300);--color-action-primary-subtle-active:color-mix(in srgb, var(--color-brand-400) 50%, var(--color-brand-300));--zabi-on-brand:#ffffff;--zabi-on-brand-dark:var(--zabi-brand-950);--color-on-brand:var(--zabi-on-brand);--color-action-primary-text:var(--color-on-brand);--color-action-secondary:rgba(9, 9, 11, 0.1);--color-action-secondary-hover:rgba(9, 9, 11, 0.15);--color-action-secondary-active:rgba(9, 9, 11, 0.2);--color-action-secondary-subtle:var(--color-base-100);--color-action-secondary-subtle-hover:var(--color-base-200);--color-action-secondary-text:var(--color-headline);--color-action-disabled:var(--color-base-250);--color-action-disabled-text:var(--color-base-500);--color-action-disabled-border:var(--color-base-300);--color-action-danger:var(--color-error-600);--color-action-danger-hover:var(--color-error-700);--color-action-danger-active:var(--color-error-800);--color-action-danger-subtle:var(--color-error-100);--color-action-danger-subtle-hover:var(--color-error-200);--color-action-danger-subtle-active:color-mix(in srgb, var(--color-error-300) 50%, var(--color-error-200));--color-action-danger-text:var(--color-error-50);--shadow-color:24 24 27;--shadow-opacity:0.14;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--max-width-xs:20rem;--max-width-sm:24rem;--max-width-md:28rem;--max-width-lg:32rem;--max-width-xl:36rem;--max-width-2xl:42rem;--width-xs:20rem;--width-sm:24rem;--width-md:28rem;--width-lg:32rem;--width-xl:36rem;--width-2xl:42rem;--min-width-xs:20rem;--min-width-sm:24rem;--min-width-md:28rem;--min-width-lg:32rem;--min-width-xl:36rem;--min-width-2xl:42rem;--radius-control:0.5rem;--radius-container:0.75rem;--radius-overlay:1rem;--radius-pill:9999px;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--control-height-sm:2rem;--control-height-md:2.5rem;--control-height-lg:3rem;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--color-tooltip-bg:var(--color-base-800);--color-tooltip-fg:var(--color-base-50);}
3
+ :root,[data-theme="light"]{color-scheme:light}
4
+ [data-theme="light"]{color-scheme:light}[data-theme="dark"]{color-scheme:dark}[data-theme="auto"]{color-scheme:light dark}
5
+ .dark,[data-theme="dark"]{--color-brand-50:var(--zabi-brand-950);--color-brand-100:var(--zabi-brand-900);--color-brand-200:var(--zabi-brand-800);--color-brand-300:var(--zabi-brand-700);--color-brand-400:var(--zabi-brand-600);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-400);--color-brand-700:var(--zabi-brand-300);--color-brand-800:var(--zabi-brand-200);--color-brand-900:var(--zabi-brand-100);--color-brand-950:var(--zabi-brand-50);--color-citron-50:var(--zabi-citron-950);--color-citron-100:var(--zabi-citron-900);--color-citron-200:var(--zabi-citron-800);--color-citron-300:var(--zabi-citron-700);--color-citron-400:var(--zabi-citron-600);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-400);--color-citron-700:var(--zabi-citron-300);--color-citron-800:var(--zabi-citron-200);--color-citron-900:var(--zabi-citron-100);--color-citron-950:var(--zabi-citron-50);--color-accent-50:var(--zabi-accent-950);--color-accent-100:var(--zabi-accent-900);--color-accent-200:var(--zabi-accent-800);--color-accent-300:var(--zabi-accent-700);--color-accent-400:var(--zabi-accent-600);--color-accent-500:var(--zabi-accent-500);--color-accent-600:var(--zabi-accent-400);--color-accent-700:var(--zabi-accent-300);--color-accent-800:var(--zabi-accent-200);--color-accent-900:var(--zabi-accent-100);--color-accent-950:var(--zabi-accent-50);--color-pine-50:var(--zabi-pine-950);--color-pine-100:var(--zabi-pine-900);--color-pine-200:var(--zabi-pine-800);--color-pine-300:var(--zabi-pine-700);--color-pine-400:var(--zabi-pine-600);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-400);--color-pine-700:var(--zabi-pine-300);--color-pine-800:var(--zabi-pine-200);--color-pine-900:var(--zabi-pine-100);--color-pine-950:var(--zabi-pine-50);--color-iris-50:var(--zabi-iris-950);--color-iris-100:var(--zabi-iris-900);--color-iris-200:var(--zabi-iris-800);--color-iris-300:var(--zabi-iris-700);--color-iris-400:var(--zabi-iris-600);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-400);--color-iris-700:var(--zabi-iris-300);--color-iris-800:var(--zabi-iris-200);--color-iris-900:var(--zabi-iris-100);--color-iris-950:var(--zabi-iris-50);--color-warning-50:var(--zabi-warning-950);--color-warning-100:var(--zabi-warning-900);--color-warning-200:var(--zabi-warning-800);--color-warning-300:var(--zabi-warning-700);--color-warning-400:var(--zabi-warning-600);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-400);--color-warning-700:var(--zabi-warning-300);--color-warning-800:var(--zabi-warning-200);--color-warning-900:var(--zabi-warning-100);--color-warning-950:var(--zabi-warning-50);--color-error-50:var(--zabi-error-950);--color-error-100:var(--zabi-error-900);--color-error-200:var(--zabi-error-800);--color-error-300:var(--zabi-error-700);--color-error-400:var(--zabi-error-600);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-400);--color-error-700:var(--zabi-error-300);--color-error-800:var(--zabi-error-200);--color-error-900:var(--zabi-error-100);--color-error-950:var(--zabi-error-50);--color-base-50:var(--zabi-base-950);--color-base-75:var(--zabi-base-925);--color-base-100:var(--zabi-base-900);--color-base-150:var(--zabi-base-850);--color-base-200:var(--zabi-base-800);--color-base-250:var(--zabi-base-750);--color-base-300:var(--zabi-base-700);--color-base-350:var(--zabi-base-650);--color-base-400:var(--zabi-base-600);--color-base-450:var(--zabi-base-550);--color-base-500:var(--zabi-base-500);--color-base-550:var(--zabi-base-450);--color-base-600:var(--zabi-base-400);--color-base-650:var(--zabi-base-350);--color-base-700:var(--zabi-base-300);--color-base-750:var(--zabi-base-250);--color-base-800:var(--zabi-base-200);--color-base-850:var(--zabi-base-150);--color-base-900:var(--zabi-base-100);--color-base-925:var(--zabi-base-75);--color-base-950:var(--zabi-base-50);--color-surface-base:var(--zabi-base-900);--color-surface-raised:color-mix(in srgb, var(--zabi-base-50) 6.4%, var(--zabi-base-900));--color-surface-elevated:color-mix(in srgb, var(--zabi-base-50) 13.1%, var(--zabi-base-900));--color-surface-overlay:color-mix(in srgb, var(--zabi-base-50) 19.7%, var(--zabi-base-900));--color-surface-overlay-hover:var(--color-base-400);--color-surface-inset:var(--color-base-150);--color-neutral-subtle:var(--color-base-300);--color-neutral-border:var(--color-base-200);--color-border-overlay:var(--color-base-450);--color-background:var(--color-surface-base);--color-background-tertiary:var(--color-base-100);--color-page:var(--color-base-100);--color-card:var(--color-surface-raised);--color-card-hover:var(--color-surface-elevated);--color-card-active:var(--color-surface-overlay);--color-card-elevated:var(--color-surface-elevated);--color-surface-1:var(--color-surface-raised);--color-surface-2:var(--color-surface-elevated);--color-surface-3:var(--color-surface-overlay);--color-surface-4:var(--color-base-400);--color-description:var(--color-base-700);--color-caption:var(--color-base-650);--color-surface-hover:rgba(250, 250, 250, 0.08);--color-surface-active:rgba(250, 250, 250, 0.14);--color-overlay:rgba(0, 0, 0, 0.7);--color-input:var(--color-surface-inset);--color-progress-fill:var(--color-action-primary);--color-progress-track:var(--color-input);--color-input-border:var(--color-base-500);--color-input-border-hover:var(--color-input-border);--color-input-hover:var(--color-base-200);--color-input-active:var(--color-base-250);--color-input-focus:var(--color-base-150);--color-input-disabled:var(--color-base-100);--color-input-placeholder:var(--color-base-600);--color-control-border:var(--color-base-600);--color-focus:var(--color-brand-600);--color-focus-weak:var(--color-brand-700);--color-focus-medium:var(--color-brand-800);--color-focus-strong:var(--color-brand-900);--color-focus-ring-muted:var(--color-base-600);--color-success-subtle:var(--color-pine-100);--color-success-border:var(--color-pine-200);--color-warning-subtle:var(--color-warning-100);--color-warning-border:var(--color-warning-200);--color-error-subtle:var(--color-error-100);--color-error-border:var(--color-error-200);--color-energetic-subtle:var(--color-citron-100);--color-energetic-border:var(--color-citron-200);--color-accent-subtle:var(--color-accent-100);--color-accent-border:var(--color-accent-200);--color-on-accent:var(--zabi-on-accent-dark);--color-info-subtle:var(--color-iris-100);--color-info-border:var(--color-iris-200);--color-neutral:var(--color-base-600);--color-on-brand:var(--zabi-on-brand-dark);--color-action-primary-text:var(--color-on-brand);--color-action-primary-subtle:var(--color-brand-100);--color-action-primary-subtle-hover:var(--color-brand-200);--color-action-primary-subtle-active:color-mix(in srgb, var(--color-brand-300) 50%, var(--color-brand-200));--color-action-secondary:rgba(250, 250, 250, 0.09);--color-action-secondary-hover:rgba(250, 250, 250, 0.15);--color-action-secondary-active:rgba(250, 250, 250, 0.21);--color-action-disabled:var(--color-base-200);--color-action-disabled-border:var(--color-base-250);--color-action-danger:var(--color-error-600);--color-action-danger-hover:var(--color-error-700);--color-action-danger-active:var(--color-error-800);--color-action-danger-subtle:var(--color-error-100);--color-action-danger-subtle-hover:var(--color-error-200);--color-action-danger-text:var(--color-error-50);--shadow-color:0 0 0;--shadow-opacity:0.3;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));color-scheme:dark;}
6
+ @media (prefers-color-scheme: dark){[data-theme="auto"]{--color-brand-50:var(--zabi-brand-950);--color-brand-100:var(--zabi-brand-900);--color-brand-200:var(--zabi-brand-800);--color-brand-300:var(--zabi-brand-700);--color-brand-400:var(--zabi-brand-600);--color-brand-500:var(--zabi-brand-500);--color-brand-600:var(--zabi-brand-400);--color-brand-700:var(--zabi-brand-300);--color-brand-800:var(--zabi-brand-200);--color-brand-900:var(--zabi-brand-100);--color-brand-950:var(--zabi-brand-50);--color-citron-50:var(--zabi-citron-950);--color-citron-100:var(--zabi-citron-900);--color-citron-200:var(--zabi-citron-800);--color-citron-300:var(--zabi-citron-700);--color-citron-400:var(--zabi-citron-600);--color-citron-500:var(--zabi-citron-500);--color-citron-600:var(--zabi-citron-400);--color-citron-700:var(--zabi-citron-300);--color-citron-800:var(--zabi-citron-200);--color-citron-900:var(--zabi-citron-100);--color-citron-950:var(--zabi-citron-50);--color-accent-50:var(--zabi-accent-950);--color-accent-100:var(--zabi-accent-900);--color-accent-200:var(--zabi-accent-800);--color-accent-300:var(--zabi-accent-700);--color-accent-400:var(--zabi-accent-600);--color-accent-500:var(--zabi-accent-500);--color-accent-600:var(--zabi-accent-400);--color-accent-700:var(--zabi-accent-300);--color-accent-800:var(--zabi-accent-200);--color-accent-900:var(--zabi-accent-100);--color-accent-950:var(--zabi-accent-50);--color-pine-50:var(--zabi-pine-950);--color-pine-100:var(--zabi-pine-900);--color-pine-200:var(--zabi-pine-800);--color-pine-300:var(--zabi-pine-700);--color-pine-400:var(--zabi-pine-600);--color-pine-500:var(--zabi-pine-500);--color-pine-600:var(--zabi-pine-400);--color-pine-700:var(--zabi-pine-300);--color-pine-800:var(--zabi-pine-200);--color-pine-900:var(--zabi-pine-100);--color-pine-950:var(--zabi-pine-50);--color-iris-50:var(--zabi-iris-950);--color-iris-100:var(--zabi-iris-900);--color-iris-200:var(--zabi-iris-800);--color-iris-300:var(--zabi-iris-700);--color-iris-400:var(--zabi-iris-600);--color-iris-500:var(--zabi-iris-500);--color-iris-600:var(--zabi-iris-400);--color-iris-700:var(--zabi-iris-300);--color-iris-800:var(--zabi-iris-200);--color-iris-900:var(--zabi-iris-100);--color-iris-950:var(--zabi-iris-50);--color-warning-50:var(--zabi-warning-950);--color-warning-100:var(--zabi-warning-900);--color-warning-200:var(--zabi-warning-800);--color-warning-300:var(--zabi-warning-700);--color-warning-400:var(--zabi-warning-600);--color-warning-500:var(--zabi-warning-500);--color-warning-600:var(--zabi-warning-400);--color-warning-700:var(--zabi-warning-300);--color-warning-800:var(--zabi-warning-200);--color-warning-900:var(--zabi-warning-100);--color-warning-950:var(--zabi-warning-50);--color-error-50:var(--zabi-error-950);--color-error-100:var(--zabi-error-900);--color-error-200:var(--zabi-error-800);--color-error-300:var(--zabi-error-700);--color-error-400:var(--zabi-error-600);--color-error-500:var(--zabi-error-500);--color-error-600:var(--zabi-error-400);--color-error-700:var(--zabi-error-300);--color-error-800:var(--zabi-error-200);--color-error-900:var(--zabi-error-100);--color-error-950:var(--zabi-error-50);--color-base-50:var(--zabi-base-950);--color-base-75:var(--zabi-base-925);--color-base-100:var(--zabi-base-900);--color-base-150:var(--zabi-base-850);--color-base-200:var(--zabi-base-800);--color-base-250:var(--zabi-base-750);--color-base-300:var(--zabi-base-700);--color-base-350:var(--zabi-base-650);--color-base-400:var(--zabi-base-600);--color-base-450:var(--zabi-base-550);--color-base-500:var(--zabi-base-500);--color-base-550:var(--zabi-base-450);--color-base-600:var(--zabi-base-400);--color-base-650:var(--zabi-base-350);--color-base-700:var(--zabi-base-300);--color-base-750:var(--zabi-base-250);--color-base-800:var(--zabi-base-200);--color-base-850:var(--zabi-base-150);--color-base-900:var(--zabi-base-100);--color-base-925:var(--zabi-base-75);--color-base-950:var(--zabi-base-50);--color-surface-base:var(--zabi-base-900);--color-surface-raised:color-mix(in srgb, var(--zabi-base-50) 6.4%, var(--zabi-base-900));--color-surface-elevated:color-mix(in srgb, var(--zabi-base-50) 13.1%, var(--zabi-base-900));--color-surface-overlay:color-mix(in srgb, var(--zabi-base-50) 19.7%, var(--zabi-base-900));--color-surface-overlay-hover:var(--color-base-400);--color-surface-inset:var(--color-base-150);--color-neutral-subtle:var(--color-base-300);--color-neutral-border:var(--color-base-200);--color-border-overlay:var(--color-base-450);--color-background:var(--color-surface-base);--color-background-tertiary:var(--color-base-100);--color-page:var(--color-base-100);--color-card:var(--color-surface-raised);--color-card-hover:var(--color-surface-elevated);--color-card-active:var(--color-surface-overlay);--color-card-elevated:var(--color-surface-elevated);--color-surface-1:var(--color-surface-raised);--color-surface-2:var(--color-surface-elevated);--color-surface-3:var(--color-surface-overlay);--color-surface-4:var(--color-base-400);--color-description:var(--color-base-700);--color-caption:var(--color-base-650);--color-surface-hover:rgba(250, 250, 250, 0.08);--color-surface-active:rgba(250, 250, 250, 0.14);--color-overlay:rgba(0, 0, 0, 0.7);--color-input:var(--color-surface-inset);--color-progress-fill:var(--color-action-primary);--color-progress-track:var(--color-input);--color-input-border:var(--color-base-500);--color-input-border-hover:var(--color-input-border);--color-input-hover:var(--color-base-200);--color-input-active:var(--color-base-250);--color-input-focus:var(--color-base-150);--color-input-disabled:var(--color-base-100);--color-input-placeholder:var(--color-base-600);--color-control-border:var(--color-base-600);--color-focus:var(--color-brand-600);--color-focus-weak:var(--color-brand-700);--color-focus-medium:var(--color-brand-800);--color-focus-strong:var(--color-brand-900);--color-focus-ring-muted:var(--color-base-600);--color-success-subtle:var(--color-pine-100);--color-success-border:var(--color-pine-200);--color-warning-subtle:var(--color-warning-100);--color-warning-border:var(--color-warning-200);--color-error-subtle:var(--color-error-100);--color-error-border:var(--color-error-200);--color-energetic-subtle:var(--color-citron-100);--color-energetic-border:var(--color-citron-200);--color-accent-subtle:var(--color-accent-100);--color-accent-border:var(--color-accent-200);--color-on-accent:var(--zabi-on-accent-dark);--color-info-subtle:var(--color-iris-100);--color-info-border:var(--color-iris-200);--color-neutral:var(--color-base-600);--color-on-brand:var(--zabi-on-brand-dark);--color-action-primary-text:var(--color-on-brand);--color-action-primary-subtle:var(--color-brand-100);--color-action-primary-subtle-hover:var(--color-brand-200);--color-action-primary-subtle-active:color-mix(in srgb, var(--color-brand-300) 50%, var(--color-brand-200));--color-action-secondary:rgba(250, 250, 250, 0.09);--color-action-secondary-hover:rgba(250, 250, 250, 0.15);--color-action-secondary-active:rgba(250, 250, 250, 0.21);--color-action-disabled:var(--color-base-200);--color-action-disabled-border:var(--color-base-250);--color-action-danger:var(--color-error-600);--color-action-danger-hover:var(--color-error-700);--color-action-danger-active:var(--color-error-800);--color-action-danger-subtle:var(--color-error-100);--color-action-danger-subtle-hover:var(--color-error-200);--color-action-danger-text:var(--color-error-50);--shadow-color:0 0 0;--shadow-opacity:0.3;--shadow-sm:0 1px 3px 0 rgb(var(--shadow-color) / var(--shadow-opacity)), 0 1px 2px -1px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-md:0 4px 6px -1px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 2px 4px -2px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-lg:0 10px 15px -3px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 4px 6px -4px rgb(var(--shadow-color) / var(--shadow-opacity));--shadow-xl:0 20px 25px -5px rgb(var(--shadow-color) / var(--shadow-opacity)), 0 8px 10px -6px rgb(var(--shadow-color) / var(--shadow-opacity));color-scheme:dark;}}