@mayor_grd/centry-ui 0.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 (303) hide show
  1. package/README.md +100 -0
  2. package/dist/components/ui/accordion.cjs +2 -0
  3. package/dist/components/ui/accordion.cjs.map +1 -0
  4. package/dist/components/ui/accordion.d.ts +8 -0
  5. package/dist/components/ui/accordion.d.ts.map +1 -0
  6. package/dist/components/ui/accordion.js +47 -0
  7. package/dist/components/ui/accordion.js.map +1 -0
  8. package/dist/components/ui/alert-dialog.cjs +2 -0
  9. package/dist/components/ui/alert-dialog.cjs.map +1 -0
  10. package/dist/components/ui/alert-dialog.d.ts +21 -0
  11. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  12. package/dist/components/ui/alert-dialog.js +108 -0
  13. package/dist/components/ui/alert-dialog.js.map +1 -0
  14. package/dist/components/ui/alert.cjs +2 -0
  15. package/dist/components/ui/alert.cjs.map +1 -0
  16. package/dist/components/ui/alert.d.ts +12 -0
  17. package/dist/components/ui/alert.d.ts.map +1 -0
  18. package/dist/components/ui/alert.js +55 -0
  19. package/dist/components/ui/alert.js.map +1 -0
  20. package/dist/components/ui/aspect-ratio.cjs +2 -0
  21. package/dist/components/ui/aspect-ratio.cjs.map +1 -0
  22. package/dist/components/ui/aspect-ratio.d.ts +4 -0
  23. package/dist/components/ui/aspect-ratio.d.ts.map +1 -0
  24. package/dist/components/ui/aspect-ratio.js +6 -0
  25. package/dist/components/ui/aspect-ratio.js.map +1 -0
  26. package/dist/components/ui/avatar.cjs +2 -0
  27. package/dist/components/ui/avatar.cjs.map +1 -0
  28. package/dist/components/ui/avatar.d.ts +13 -0
  29. package/dist/components/ui/avatar.d.ts.map +1 -0
  30. package/dist/components/ui/avatar.js +57 -0
  31. package/dist/components/ui/avatar.js.map +1 -0
  32. package/dist/components/ui/badge.cjs +2 -0
  33. package/dist/components/ui/badge.cjs.map +1 -0
  34. package/dist/components/ui/badge.d.ts +10 -0
  35. package/dist/components/ui/badge.d.ts.map +1 -0
  36. package/dist/components/ui/badge.js +38 -0
  37. package/dist/components/ui/badge.js.map +1 -0
  38. package/dist/components/ui/breadcrumb.cjs +2 -0
  39. package/dist/components/ui/breadcrumb.cjs.map +1 -0
  40. package/dist/components/ui/breadcrumb.d.ts +23 -0
  41. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  42. package/dist/components/ui/breadcrumb.js +97 -0
  43. package/dist/components/ui/breadcrumb.js.map +1 -0
  44. package/dist/components/ui/button.cjs +2 -0
  45. package/dist/components/ui/button.cjs.map +1 -0
  46. package/dist/components/ui/button.d.ts +13 -0
  47. package/dist/components/ui/button.d.ts.map +1 -0
  48. package/dist/components/ui/button.figma.d.ts +2 -0
  49. package/dist/components/ui/button.figma.d.ts.map +1 -0
  50. package/dist/components/ui/button.js +73 -0
  51. package/dist/components/ui/button.js.map +1 -0
  52. package/dist/components/ui/calendar.cjs +2 -0
  53. package/dist/components/ui/calendar.cjs.map +1 -0
  54. package/dist/components/ui/calendar.d.ts +9 -0
  55. package/dist/components/ui/calendar.d.ts.map +1 -0
  56. package/dist/components/ui/calendar.js +56 -0
  57. package/dist/components/ui/calendar.js.map +1 -0
  58. package/dist/components/ui/card.cjs +2 -0
  59. package/dist/components/ui/card.cjs.map +1 -0
  60. package/dist/components/ui/card.d.ts +9 -0
  61. package/dist/components/ui/card.d.ts.map +1 -0
  62. package/dist/components/ui/card.js +51 -0
  63. package/dist/components/ui/card.js.map +1 -0
  64. package/dist/components/ui/carousel.cjs +2 -0
  65. package/dist/components/ui/carousel.cjs.map +1 -0
  66. package/dist/components/ui/carousel.d.ts +19 -0
  67. package/dist/components/ui/carousel.d.ts.map +1 -0
  68. package/dist/components/ui/carousel.js +156 -0
  69. package/dist/components/ui/carousel.js.map +1 -0
  70. package/dist/components/ui/checkbox.cjs +2 -0
  71. package/dist/components/ui/checkbox.cjs.map +1 -0
  72. package/dist/components/ui/checkbox.d.ts +5 -0
  73. package/dist/components/ui/checkbox.d.ts.map +1 -0
  74. package/dist/components/ui/checkbox.js +53 -0
  75. package/dist/components/ui/checkbox.js.map +1 -0
  76. package/dist/components/ui/collapsible.cjs +2 -0
  77. package/dist/components/ui/collapsible.cjs.map +1 -0
  78. package/dist/components/ui/collapsible.d.ts +6 -0
  79. package/dist/components/ui/collapsible.d.ts.map +1 -0
  80. package/dist/components/ui/collapsible.js +8 -0
  81. package/dist/components/ui/collapsible.js.map +1 -0
  82. package/dist/components/ui/combobox.cjs +2 -0
  83. package/dist/components/ui/combobox.cjs.map +1 -0
  84. package/dist/components/ui/combobox.d.ts +22 -0
  85. package/dist/components/ui/combobox.d.ts.map +1 -0
  86. package/dist/components/ui/combobox.js +70 -0
  87. package/dist/components/ui/combobox.js.map +1 -0
  88. package/dist/components/ui/command.cjs +2 -0
  89. package/dist/components/ui/command.cjs.map +1 -0
  90. package/dist/components/ui/command.d.ts +82 -0
  91. package/dist/components/ui/command.d.ts.map +1 -0
  92. package/dist/components/ui/command.js +107 -0
  93. package/dist/components/ui/command.js.map +1 -0
  94. package/dist/components/ui/data-table.cjs +2 -0
  95. package/dist/components/ui/data-table.cjs.map +1 -0
  96. package/dist/components/ui/data-table.d.ts +11 -0
  97. package/dist/components/ui/data-table.d.ts.map +1 -0
  98. package/dist/components/ui/data-table.js +26 -0
  99. package/dist/components/ui/data-table.js.map +1 -0
  100. package/dist/components/ui/date-picker.cjs +2 -0
  101. package/dist/components/ui/date-picker.cjs.map +1 -0
  102. package/dist/components/ui/date-picker.d.ts +15 -0
  103. package/dist/components/ui/date-picker.d.ts.map +1 -0
  104. package/dist/components/ui/date-picker.js +49 -0
  105. package/dist/components/ui/date-picker.js.map +1 -0
  106. package/dist/components/ui/dialog.cjs +2 -0
  107. package/dist/components/ui/dialog.cjs.map +1 -0
  108. package/dist/components/ui/dialog.d.ts +20 -0
  109. package/dist/components/ui/dialog.d.ts.map +1 -0
  110. package/dist/components/ui/dialog.js +96 -0
  111. package/dist/components/ui/dialog.js.map +1 -0
  112. package/dist/components/ui/drawer.cjs +2 -0
  113. package/dist/components/ui/drawer.cjs.map +1 -0
  114. package/dist/components/ui/drawer.d.ts +23 -0
  115. package/dist/components/ui/drawer.d.ts.map +1 -0
  116. package/dist/components/ui/drawer.js +84 -0
  117. package/dist/components/ui/drawer.js.map +1 -0
  118. package/dist/components/ui/dropdown-menu.cjs +2 -0
  119. package/dist/components/ui/dropdown-menu.cjs.map +1 -0
  120. package/dist/components/ui/dropdown-menu.d.ts +34 -0
  121. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  122. package/dist/components/ui/dropdown-menu.js +153 -0
  123. package/dist/components/ui/dropdown-menu.js.map +1 -0
  124. package/dist/components/ui/form.cjs +2 -0
  125. package/dist/components/ui/form.cjs.map +1 -0
  126. package/dist/components/ui/form.d.ts +23 -0
  127. package/dist/components/ui/form.d.ts.map +1 -0
  128. package/dist/components/ui/form.js +93 -0
  129. package/dist/components/ui/form.js.map +1 -0
  130. package/dist/components/ui/hover-card.cjs +2 -0
  131. package/dist/components/ui/hover-card.cjs.map +1 -0
  132. package/dist/components/ui/hover-card.d.ts +7 -0
  133. package/dist/components/ui/hover-card.d.ts.map +1 -0
  134. package/dist/components/ui/hover-card.js +24 -0
  135. package/dist/components/ui/hover-card.js.map +1 -0
  136. package/dist/components/ui/index.d.ts +45 -0
  137. package/dist/components/ui/index.d.ts.map +1 -0
  138. package/dist/components/ui/input-otp.cjs +2 -0
  139. package/dist/components/ui/input-otp.cjs.map +1 -0
  140. package/dist/components/ui/input-otp.d.ts +36 -0
  141. package/dist/components/ui/input-otp.d.ts.map +1 -0
  142. package/dist/components/ui/input-otp.js +55 -0
  143. package/dist/components/ui/input-otp.js.map +1 -0
  144. package/dist/components/ui/input.cjs +2 -0
  145. package/dist/components/ui/input.cjs.map +1 -0
  146. package/dist/components/ui/input.d.ts +10 -0
  147. package/dist/components/ui/input.d.ts.map +1 -0
  148. package/dist/components/ui/input.js +32 -0
  149. package/dist/components/ui/input.js.map +1 -0
  150. package/dist/components/ui/label.cjs +2 -0
  151. package/dist/components/ui/label.cjs.map +1 -0
  152. package/dist/components/ui/label.d.ts +6 -0
  153. package/dist/components/ui/label.d.ts.map +1 -0
  154. package/dist/components/ui/label.js +13 -0
  155. package/dist/components/ui/label.js.map +1 -0
  156. package/dist/components/ui/navigation-menu.cjs +2 -0
  157. package/dist/components/ui/navigation-menu.cjs.map +1 -0
  158. package/dist/components/ui/navigation-menu.d.ts +13 -0
  159. package/dist/components/ui/navigation-menu.d.ts.map +1 -0
  160. package/dist/components/ui/navigation-menu.js +100 -0
  161. package/dist/components/ui/navigation-menu.js.map +1 -0
  162. package/dist/components/ui/pagination.cjs +2 -0
  163. package/dist/components/ui/pagination.cjs.map +1 -0
  164. package/dist/components/ui/pagination.d.ts +29 -0
  165. package/dist/components/ui/pagination.d.ts.map +1 -0
  166. package/dist/components/ui/pagination.js +100 -0
  167. package/dist/components/ui/pagination.js.map +1 -0
  168. package/dist/components/ui/popover.cjs +2 -0
  169. package/dist/components/ui/popover.cjs.map +1 -0
  170. package/dist/components/ui/popover.d.ts +8 -0
  171. package/dist/components/ui/popover.d.ts.map +1 -0
  172. package/dist/components/ui/popover.js +25 -0
  173. package/dist/components/ui/popover.js.map +1 -0
  174. package/dist/components/ui/progress.cjs +2 -0
  175. package/dist/components/ui/progress.cjs.map +1 -0
  176. package/dist/components/ui/progress.d.ts +5 -0
  177. package/dist/components/ui/progress.d.ts.map +1 -0
  178. package/dist/components/ui/progress.js +24 -0
  179. package/dist/components/ui/progress.js.map +1 -0
  180. package/dist/components/ui/radio-group.cjs +2 -0
  181. package/dist/components/ui/radio-group.cjs.map +1 -0
  182. package/dist/components/ui/radio-group.d.ts +6 -0
  183. package/dist/components/ui/radio-group.d.ts.map +1 -0
  184. package/dist/components/ui/radio-group.js +31 -0
  185. package/dist/components/ui/radio-group.js.map +1 -0
  186. package/dist/components/ui/select.cjs +2 -0
  187. package/dist/components/ui/select.cjs.map +1 -0
  188. package/dist/components/ui/select.d.ts +14 -0
  189. package/dist/components/ui/select.d.ts.map +1 -0
  190. package/dist/components/ui/select.js +116 -0
  191. package/dist/components/ui/select.js.map +1 -0
  192. package/dist/components/ui/separator.cjs +2 -0
  193. package/dist/components/ui/separator.cjs.map +1 -0
  194. package/dist/components/ui/separator.d.ts +5 -0
  195. package/dist/components/ui/separator.d.ts.map +1 -0
  196. package/dist/components/ui/separator.js +23 -0
  197. package/dist/components/ui/separator.js.map +1 -0
  198. package/dist/components/ui/sheet.cjs +2 -0
  199. package/dist/components/ui/sheet.cjs.map +1 -0
  200. package/dist/components/ui/sheet.d.ts +26 -0
  201. package/dist/components/ui/sheet.d.ts.map +1 -0
  202. package/dist/components/ui/sheet.js +87 -0
  203. package/dist/components/ui/sheet.js.map +1 -0
  204. package/dist/components/ui/sidebar.cjs +2 -0
  205. package/dist/components/ui/sidebar.cjs.map +1 -0
  206. package/dist/components/ui/sidebar.d.ts +70 -0
  207. package/dist/components/ui/sidebar.d.ts.map +1 -0
  208. package/dist/components/ui/sidebar.js +541 -0
  209. package/dist/components/ui/sidebar.js.map +1 -0
  210. package/dist/components/ui/skeleton.cjs +2 -0
  211. package/dist/components/ui/skeleton.cjs.map +1 -0
  212. package/dist/components/ui/skeleton.d.ts +4 -0
  213. package/dist/components/ui/skeleton.d.ts.map +1 -0
  214. package/dist/components/ui/skeleton.js +18 -0
  215. package/dist/components/ui/skeleton.js.map +1 -0
  216. package/dist/components/ui/slider.cjs +2 -0
  217. package/dist/components/ui/slider.cjs.map +1 -0
  218. package/dist/components/ui/slider.d.ts +5 -0
  219. package/dist/components/ui/slider.d.ts.map +1 -0
  220. package/dist/components/ui/slider.js +21 -0
  221. package/dist/components/ui/slider.js.map +1 -0
  222. package/dist/components/ui/sonner.cjs +2 -0
  223. package/dist/components/ui/sonner.cjs.map +1 -0
  224. package/dist/components/ui/sonner.d.ts +6 -0
  225. package/dist/components/ui/sonner.d.ts.map +1 -0
  226. package/dist/components/ui/sonner.js +27 -0
  227. package/dist/components/ui/sonner.js.map +1 -0
  228. package/dist/components/ui/switch.cjs +2 -0
  229. package/dist/components/ui/switch.cjs.map +1 -0
  230. package/dist/components/ui/switch.d.ts +5 -0
  231. package/dist/components/ui/switch.d.ts.map +1 -0
  232. package/dist/components/ui/switch.js +28 -0
  233. package/dist/components/ui/switch.js.map +1 -0
  234. package/dist/components/ui/table.cjs +2 -0
  235. package/dist/components/ui/table.cjs.map +1 -0
  236. package/dist/components/ui/table.d.ts +17 -0
  237. package/dist/components/ui/table.d.ts.map +1 -0
  238. package/dist/components/ui/table.js +86 -0
  239. package/dist/components/ui/table.js.map +1 -0
  240. package/dist/components/ui/tag.cjs +2 -0
  241. package/dist/components/ui/tag.cjs.map +1 -0
  242. package/dist/components/ui/tag.d.ts +11 -0
  243. package/dist/components/ui/tag.d.ts.map +1 -0
  244. package/dist/components/ui/tag.js +50 -0
  245. package/dist/components/ui/tag.js.map +1 -0
  246. package/dist/components/ui/textarea.cjs +2 -0
  247. package/dist/components/ui/textarea.cjs.map +1 -0
  248. package/dist/components/ui/textarea.d.ts +10 -0
  249. package/dist/components/ui/textarea.d.ts.map +1 -0
  250. package/dist/components/ui/textarea.js +31 -0
  251. package/dist/components/ui/textarea.js.map +1 -0
  252. package/dist/components/ui/toggle-group.cjs +2 -0
  253. package/dist/components/ui/toggle-group.cjs.map +1 -0
  254. package/dist/components/ui/toggle-group.d.ts +17 -0
  255. package/dist/components/ui/toggle-group.d.ts.map +1 -0
  256. package/dist/components/ui/toggle-group.js +57 -0
  257. package/dist/components/ui/toggle-group.js.map +1 -0
  258. package/dist/components/ui/toggle.cjs +2 -0
  259. package/dist/components/ui/toggle.cjs.map +1 -0
  260. package/dist/components/ui/toggle.d.ts +13 -0
  261. package/dist/components/ui/toggle.d.ts.map +1 -0
  262. package/dist/components/ui/toggle.js +35 -0
  263. package/dist/components/ui/toggle.js.map +1 -0
  264. package/dist/components/ui/tooltip.cjs +2 -0
  265. package/dist/components/ui/tooltip.cjs.map +1 -0
  266. package/dist/components/ui/tooltip.d.ts +14 -0
  267. package/dist/components/ui/tooltip.d.ts.map +1 -0
  268. package/dist/components/ui/tooltip.js +34 -0
  269. package/dist/components/ui/tooltip.js.map +1 -0
  270. package/dist/index.cjs +2 -0
  271. package/dist/index.cjs.map +1 -0
  272. package/dist/index.d.ts +3 -0
  273. package/dist/index.d.ts.map +1 -0
  274. package/dist/index.js +264 -0
  275. package/dist/index.js.map +1 -0
  276. package/dist/lib/utils.cjs +2 -0
  277. package/dist/lib/utils.cjs.map +1 -0
  278. package/dist/lib/utils.d.ts +3 -0
  279. package/dist/lib/utils.d.ts.map +1 -0
  280. package/dist/lib/utils.js +9 -0
  281. package/dist/lib/utils.js.map +1 -0
  282. package/dist/styles/library.css +174 -0
  283. package/dist/tokens/generated/primitives.css +541 -0
  284. package/dist/tokens/generated/tailwind-theme.cjs +2 -0
  285. package/dist/tokens/generated/tailwind-theme.cjs.map +1 -0
  286. package/dist/tokens/generated/tailwind-theme.d.ts +870 -0
  287. package/dist/tokens/generated/tailwind-theme.d.ts.map +1 -0
  288. package/dist/tokens/generated/tailwind-theme.js +872 -0
  289. package/dist/tokens/generated/tailwind-theme.js.map +1 -0
  290. package/dist/tokens/generated/tokens.cjs +2 -0
  291. package/dist/tokens/generated/tokens.cjs.map +1 -0
  292. package/dist/tokens/generated/tokens.d.ts +891 -0
  293. package/dist/tokens/generated/tokens.d.ts.map +1 -0
  294. package/dist/tokens/generated/tokens.js +1596 -0
  295. package/dist/tokens/generated/tokens.js.map +1 -0
  296. package/dist/tokens/generated/variables.css +919 -0
  297. package/dist/tokens/index.cjs +2 -0
  298. package/dist/tokens/index.cjs.map +1 -0
  299. package/dist/tokens/index.d.ts +3 -0
  300. package/dist/tokens/index.d.ts.map +1 -0
  301. package/dist/tokens/index.js +15 -0
  302. package/dist/tokens/index.js.map +1 -0
  303. package/package.json +140 -0
@@ -0,0 +1,919 @@
1
+ /* Auto-generated from Basis DS design tokens — do not edit manually */
2
+ /* Run `pnpm tokens:generate` to regenerate */
3
+
4
+ :root {
5
+ /* ── Typography ── */
6
+ --display-font: Geist;
7
+ --display-weight: 700;
8
+ --display-size: 64px;
9
+ --display-line-height: 64px;
10
+ --display-letter-spacing: -0.2px;
11
+ --h1-font: Geist;
12
+ --h1-weight: 700;
13
+ --h1-size: 48px;
14
+ --h1-line-height: 48px;
15
+ --h1-letter-spacing: -0.2px;
16
+ --h2-font: Geist;
17
+ --h2-weight: 700;
18
+ --h2-size: 32px;
19
+ --h2-line-height: 38px;
20
+ --h2-letter-spacing: -0.2px;
21
+ --h3-font: Geist;
22
+ --h3-weight: 600;
23
+ --h3-size: 24px;
24
+ --h3-line-height: 32px;
25
+ --h3-letter-spacing: -0.2px;
26
+ --h4-font: Geist;
27
+ --h4-weight: 600;
28
+ --h4-size: 20px;
29
+ --h4-line-height: 28px;
30
+ --h4-letter-spacing: 0.15px;
31
+ --subheading-font: Geist;
32
+ --subheading-weight: 400;
33
+ --subheading-size: 20px;
34
+ --subheading-line-height: 28px;
35
+ --subheading-letter-spacing: 0.15px;
36
+ --body-xs-font: Geist;
37
+ --body-xs-weight: 400;
38
+ --body-xs-size: 12px;
39
+ --body-xs-line-height: 18px;
40
+ --body-xs-letter-spacing: 0.15px;
41
+ --body-sm-font: Geist;
42
+ --body-sm-weight: 400;
43
+ --body-sm-size: 14px;
44
+ --body-sm-line-height: 20px;
45
+ --body-sm-letter-spacing: 0.15px;
46
+ --body-md-font: Geist;
47
+ --body-md-weight: 400;
48
+ --body-md-size: 16px;
49
+ --body-md-line-height: 24px;
50
+ --body-md-letter-spacing: 0.15px;
51
+ --body-lg-font: Geist;
52
+ --body-lg-weight: 400;
53
+ --body-lg-size: 18px;
54
+ --body-lg-line-height: 28px;
55
+ --body-lg-letter-spacing: 0.15px;
56
+ --body-strong-xs-font: Geist;
57
+ --body-strong-xs-weight: 600;
58
+ --body-strong-xs-size: 12px;
59
+ --body-strong-xs-line-height: 18px;
60
+ --body-strong-xs-letter-spacing: 0.15px;
61
+ --body-strong-xs-font-2: Geist;
62
+ --body-strong-xs-weight-2: 400;
63
+ --body-strong-xs-size-2: 12px;
64
+ --body-strong-xs-line-height-2: 18px;
65
+ --body-strong-xs-letter-spacing-2: 0.15px;
66
+ --body-strong-sm-font: Geist;
67
+ --body-strong-sm-weight: 600;
68
+ --body-strong-sm-size: 14px;
69
+ --body-strong-sm-line-height: 20px;
70
+ --body-strong-sm-letter-spacing: 0.15px;
71
+ --body-strong-md-font: Geist;
72
+ --body-strong-md-weight: 600;
73
+ --body-strong-md-size: 16px;
74
+ --body-strong-md-line-height: 24px;
75
+ --body-strong-md-letter-spacing: 0.15px;
76
+ --body-strong-lg-font: Geist;
77
+ --body-strong-lg-weight: 600;
78
+ --body-strong-lg-size: 18px;
79
+ --body-strong-lg-line-height: 28px;
80
+ --body-strong-lg-letter-spacing: 0.15px;
81
+ --label-font: Geist;
82
+ --label-weight: 600;
83
+ --label-size: 14px;
84
+ --label-line-height: 20px;
85
+ --label-letter-spacing: 0.15px;
86
+ --caption-font: Geist;
87
+ --caption-weight: 500;
88
+ --caption-size: 12px;
89
+ --caption-line-height: 18px;
90
+ --caption-letter-spacing: 0.15px;
91
+ --code-font: Geist Mono;
92
+ --code-weight: 400;
93
+ --code-size: 13px;
94
+ --code-line-height: 20px;
95
+ --code-letter-spacing: 0.15px;
96
+ --display-font: Geist;
97
+ --display-weight: 700;
98
+ --display-size: 56px;
99
+ --display-line-height: 56px;
100
+ --display-letter-spacing: -0.2px;
101
+ --h1-font: Geist;
102
+ --h1-weight: 700;
103
+ --h1-size: 40px;
104
+ --h1-line-height: 40px;
105
+ --h1-letter-spacing: -0.2px;
106
+ --h2-font: Geist;
107
+ --h2-weight: 700;
108
+ --h2-size: 32px;
109
+ --h2-line-height: 38px;
110
+ --h2-letter-spacing: -0.2px;
111
+ --h3-font: Geist;
112
+ --h3-weight: 600;
113
+ --h3-size: 24px;
114
+ --h3-line-height: 32px;
115
+ --h3-letter-spacing: -0.2px;
116
+ --h4-font: Geist;
117
+ --h4-weight: 600;
118
+ --h4-size: 20px;
119
+ --h4-line-height: 28px;
120
+ --h4-letter-spacing: 0.15px;
121
+ --subheading-font: Geist;
122
+ --subheading-weight: 400;
123
+ --subheading-size: 20px;
124
+ --subheading-line-height: 28px;
125
+ --subheading-letter-spacing: 0.15px;
126
+ --body-xs-font: Geist;
127
+ --body-xs-weight: 400;
128
+ --body-xs-size: 12px;
129
+ --body-xs-line-height: 18px;
130
+ --body-xs-letter-spacing: 0.15px;
131
+ --body-sm-font: Geist;
132
+ --body-sm-weight: 400;
133
+ --body-sm-size: 14px;
134
+ --body-sm-line-height: 20px;
135
+ --body-sm-letter-spacing: 0.15px;
136
+ --body-md-font: Geist;
137
+ --body-md-weight: 400;
138
+ --body-md-size: 16px;
139
+ --body-md-line-height: 24px;
140
+ --body-md-letter-spacing: 0.15px;
141
+ --body-lg-font: Geist;
142
+ --body-lg-weight: 400;
143
+ --body-lg-size: 18px;
144
+ --body-lg-line-height: 28px;
145
+ --body-lg-letter-spacing: 0.15px;
146
+ --body-strong-xs-font: Geist;
147
+ --body-strong-xs-weight: 600;
148
+ --body-strong-xs-size: 12px;
149
+ --body-strong-xs-line-height: 18px;
150
+ --body-strong-xs-letter-spacing: 0.15px;
151
+ --body-strong-xs-font-2: Geist;
152
+ --body-strong-xs-weight-2: 400;
153
+ --body-strong-xs-size-2: 12px;
154
+ --body-strong-xs-line-height-2: 18px;
155
+ --body-strong-xs-letter-spacing-2: 0.15px;
156
+ --body-strong-sm-font: Geist;
157
+ --body-strong-sm-weight: 600;
158
+ --body-strong-sm-size: 14px;
159
+ --body-strong-sm-line-height: 20px;
160
+ --body-strong-sm-letter-spacing: 0.15px;
161
+ --body-strong-md-font: Geist;
162
+ --body-strong-md-weight: 600;
163
+ --body-strong-md-size: 16px;
164
+ --body-strong-md-line-height: 24px;
165
+ --body-strong-md-letter-spacing: 0.15px;
166
+ --body-strong-lg-font: Geist;
167
+ --body-strong-lg-weight: 600;
168
+ --body-strong-lg-size: 18px;
169
+ --body-strong-lg-line-height: 28px;
170
+ --body-strong-lg-letter-spacing: 0.15px;
171
+ --label-font: Geist;
172
+ --label-weight: 600;
173
+ --label-size: 14px;
174
+ --label-line-height: 20px;
175
+ --label-letter-spacing: 0.15px;
176
+ --caption-font: Geist;
177
+ --caption-weight: 500;
178
+ --caption-size: 12px;
179
+ --caption-line-height: 18px;
180
+ --caption-letter-spacing: 0.15px;
181
+ --code-font: Geist Mono;
182
+ --code-weight: 400;
183
+ --code-size: 13px;
184
+ --code-line-height: 20px;
185
+ --code-letter-spacing: 0.15px;
186
+
187
+ /* ── Size ── */
188
+ --table-min-width-min-w-sm: 356px;
189
+ --table-min-width-cell-height-base: 52px;
190
+ --table-min-width-cell-height-md: 72px;
191
+ --table-min-width-cell-height-lg: 96px;
192
+ --modal-window-size-w-xs: 320px;
193
+ --modal-window-size-w-sm: 0px;
194
+ --modal-window-size-w-md: 0px;
195
+ --modal-window-size-w-lg: 0px;
196
+ --modal-max-width-max-w-sm: 384px;
197
+ --modal-max-width-max-w-lg: 512px;
198
+ --modal-min-width-min-w-sm: 320px;
199
+ --elevation-input: 1px;
200
+ --elevation-card: 1px;
201
+ --elevation-popover-menu: 4px;
202
+ --elevation-modal: 12px;
203
+ --elevation-focus-ring: 0px;
204
+ --avatar-xs: 20px;
205
+ --avatar-sm: 24px;
206
+ --avatar-md: 32px;
207
+ --avatar-lg: 40px;
208
+ --avatar-xl: 48px;
209
+
210
+ /* ── Layout ── */
211
+ --breakpoint-sm: 792px;
212
+ --breakpoint-md: 1280px;
213
+ --breakpoint-lg: 1440px;
214
+ --breakpoint-xl: 1920px;
215
+ --spacing-none: 0px;
216
+ --spacing-xxs: 4px;
217
+ --spacing-xs: 8px;
218
+ --spacing-sm: 16px;
219
+ --spacing-md: 24px;
220
+ --spacing-lg: 32px;
221
+ --spacing-xl: 48px;
222
+ --app-shell-header-default-height: 56px;
223
+ --app-shell-sidebar-full-width: 280px;
224
+ --app-shell-sidebar-skinny: 72px;
225
+ --app-shell-right-rail-full-width: 368px;
226
+ --app-shell-right-rail-skinny: 368px;
227
+ --app-shell-container-max-sm: 744px;
228
+ --app-shell-container-max-md: 1144px;
229
+ --app-shell-container-max-lg: 1096px;
230
+ --app-shell-container-max-xl: 1208px;
231
+ --app-shell-container-max-form: 800px;
232
+
233
+ /* ── Appearance ── */
234
+ --radius-sm: 4px;
235
+ --radius-md: 8px;
236
+ --radius-lg: 12px;
237
+ --radius-card-lg: 14px;
238
+ --radius-card-sm: 10px;
239
+ --radius-rounded-full: 9999px;
240
+
241
+ /* ── Controls ── */
242
+ --button-base-height: 36px;
243
+ --button-base-radius: 9999px;
244
+ --button-base-padding-horizontal: 16px;
245
+ --button-base-icon-size: 16px;
246
+ --button-base-font-size: 14px;
247
+ --button-icon-base-height: 36px;
248
+ --button-icon-base-radius: 9999px;
249
+ --button-icon-base-padding-horizontal: 12px;
250
+ --button-icon-base-icon-size: 14px;
251
+ --button-icon-base-stroke-width: 1.17px;
252
+ --button-padding-vertical: 8px;
253
+ --button-sm-height: 32px;
254
+ --button-sm-radius: 9999px;
255
+ --button-sm-padding-horizontal: 12px;
256
+ --button-sm-icon-size: 16px;
257
+ --button-sm-font-size: 12px;
258
+ --button-icon-sm-height: 32px;
259
+ --button-icon-sm-radius: 9999px;
260
+ --button-icon-sm-padding-horizontal: 12px;
261
+ --button-icon-sm-icon-size: 12px;
262
+ --button-icon-sm-stroke-width: 1px;
263
+ --button-lg-height: 40px;
264
+ --button-lg-radius: 9999px;
265
+ --button-lg-padding-horizontal: 32px;
266
+ --button-lg-icon-size: 16px;
267
+ --button-lg-font-size: 14px;
268
+ --button-icon-lg-height: 40px;
269
+ --button-icon-lg-radius: 9999px;
270
+ --button-icon-lg-padding-horizontal: 12px;
271
+ --button-icon-lg-icon-size: 16px;
272
+ --button-icon-lg-stroke-width: 1.33px;
273
+ --button-gap: 8px;
274
+ --opacity-disabled: 50;
275
+ --opacity-pressed: 60;
276
+ --opacity-loading: 60;
277
+ --opacity-dimmed-text: 70;
278
+ --opacity-dimmed-control: 50;
279
+ --calendar-cell-default: 32px;
280
+ --calendar-cell-md: 48px;
281
+ --input-gap-wrap: 8px;
282
+ --input-custom-spacing-1: 6px;
283
+ --input-custom-spacing-2: 10px;
284
+ --input-base-height: 36px;
285
+ --input-gap-control: 8px;
286
+ --input-padding-h: 12px;
287
+ --input-padding-v: 8px;
288
+ --input-radius: 8px;
289
+ --input-icon-size: 16px;
290
+ --input-icon-stroke-weight: 1.33;
291
+ --menu-item-height: 32px;
292
+
293
+ /* ── text ── */
294
+ --control-singleline-base-regular-font-family: Geist;
295
+ --control-singleline-base-regular-font-size: 14px;
296
+ --control-singleline-base-regular-font-weight: 400;
297
+ --control-singleline-base-regular-letter-spacing: 0.15px;
298
+ --control-singleline-base-regular-line-height: 100%;
299
+ --control-singleline-base-regular-text-transform: none;
300
+ --control-singleline-base-regular-text-decoration: none;
301
+ --control-singleline-base-medium-font-family: Geist;
302
+ --control-singleline-base-medium-font-size: 14px;
303
+ --control-singleline-base-medium-font-weight: 500;
304
+ --control-singleline-base-medium-letter-spacing: 0.15px;
305
+ --control-singleline-base-medium-line-height: 100%;
306
+ --control-singleline-base-medium-text-transform: none;
307
+ --control-singleline-base-medium-text-decoration: none;
308
+ --control-singleline-base-semibold-font-family: Geist;
309
+ --control-singleline-base-semibold-font-size: 14px;
310
+ --control-singleline-base-semibold-font-weight: 600;
311
+ --control-singleline-base-semibold-letter-spacing: 0.15px;
312
+ --control-singleline-base-semibold-line-height: 100%;
313
+ --control-singleline-base-semibold-text-transform: none;
314
+ --control-singleline-base-semibold-text-decoration: none;
315
+ --control-singleline-sm-medium-font-family: Geist;
316
+ --control-singleline-sm-medium-font-size: 12px;
317
+ --control-singleline-sm-medium-font-weight: 500;
318
+ --control-singleline-sm-medium-letter-spacing: 0.15px;
319
+ --control-singleline-sm-medium-line-height: 100%;
320
+ --control-singleline-sm-medium-text-transform: none;
321
+ --control-singleline-sm-medium-text-decoration: none;
322
+ --control-singleline-sm-regular-font-family: Geist;
323
+ --control-singleline-sm-regular-font-size: 12px;
324
+ --control-singleline-sm-regular-font-weight: 400;
325
+ --control-singleline-sm-regular-letter-spacing: 0.15px;
326
+ --control-singleline-sm-regular-line-height: 100%;
327
+ --control-singleline-sm-regular-text-transform: none;
328
+ --control-singleline-sm-regular-text-decoration: none;
329
+ --control-singleline-lg-medium-font-family: Geist;
330
+ --control-singleline-lg-medium-font-size: 18px;
331
+ --control-singleline-lg-medium-font-weight: 500;
332
+ --control-singleline-lg-medium-letter-spacing: 0.15px;
333
+ --control-singleline-lg-medium-line-height: 100%;
334
+ --control-singleline-lg-medium-text-transform: none;
335
+ --control-singleline-lg-medium-text-decoration: none;
336
+ --control-singleline-md-medium-font-family: Geist;
337
+ --control-singleline-md-medium-font-size: 16px;
338
+ --control-singleline-md-medium-font-weight: 500;
339
+ --control-singleline-md-medium-letter-spacing: 0.15px;
340
+ --control-singleline-md-medium-line-height: 100%;
341
+ --control-singleline-md-medium-text-transform: none;
342
+ --control-singleline-md-medium-text-decoration: none;
343
+ --control-singleline-md-semibold-font-family: Geist;
344
+ --control-singleline-md-semibold-font-size: 16px;
345
+ --control-singleline-md-semibold-font-weight: 600;
346
+ --control-singleline-md-semibold-letter-spacing: 0.15px;
347
+ --control-singleline-md-semibold-line-height: 100%;
348
+ --control-singleline-md-semibold-text-transform: none;
349
+ --control-singleline-md-semibold-text-decoration: none;
350
+ --control-singleline-lg-semibold-font-family: Geist;
351
+ --control-singleline-lg-semibold-font-size: 18px;
352
+ --control-singleline-lg-semibold-font-weight: 600;
353
+ --control-singleline-lg-semibold-letter-spacing: 0.15px;
354
+ --control-singleline-lg-semibold-line-height: 100%;
355
+ --control-singleline-lg-semibold-text-transform: none;
356
+ --control-singleline-lg-semibold-text-decoration: none;
357
+ --body-regular-base-font-family: Geist;
358
+ --body-regular-base-font-size: 14px;
359
+ --body-regular-base-font-weight: 400;
360
+ --body-regular-base-letter-spacing: 0.15px;
361
+ --body-regular-base-line-height: 140%;
362
+ --body-regular-base-text-transform: none;
363
+ --body-regular-base-text-decoration: none;
364
+ --body-regular-base-underline-font-family: Geist;
365
+ --body-regular-base-underline-font-size: 14px;
366
+ --body-regular-base-underline-font-weight: 400;
367
+ --body-regular-base-underline-letter-spacing: 0.15px;
368
+ --body-regular-base-underline-line-height: 140%;
369
+ --body-regular-base-underline-text-transform: none;
370
+ --body-regular-base-underline-text-decoration: underline;
371
+ --body-regular-paragraph-font-family: Geist;
372
+ --body-regular-paragraph-font-size: 16px;
373
+ --body-regular-paragraph-font-weight: 400;
374
+ --body-regular-paragraph-letter-spacing: 0.15px;
375
+ --body-regular-paragraph-line-height: 150%;
376
+ --body-regular-paragraph-text-transform: none;
377
+ --body-regular-paragraph-text-decoration: none;
378
+ --body-regular-lg-font-family: Geist;
379
+ --body-regular-lg-font-size: 18px;
380
+ --body-regular-lg-font-weight: 400;
381
+ --body-regular-lg-letter-spacing: 0.15px;
382
+ --body-regular-lg-line-height: 150%;
383
+ --body-regular-lg-text-transform: none;
384
+ --body-regular-lg-text-decoration: none;
385
+ --body-regular-xs-font-family: Geist;
386
+ --body-regular-xs-font-size: 12px;
387
+ --body-regular-xs-font-weight: 400;
388
+ --body-regular-xs-letter-spacing: 0.15px;
389
+ --body-regular-xs-line-height: 150%;
390
+ --body-regular-xs-text-transform: none;
391
+ --body-regular-xs-text-decoration: none;
392
+ --body-regular-inline-code-font-family: Geist Mono;
393
+ --body-regular-inline-code-font-size: 13px;
394
+ --body-regular-inline-code-font-weight: 400;
395
+ --body-regular-inline-code-letter-spacing: 0.15px;
396
+ --body-regular-inline-code-line-height: 150%;
397
+ --body-regular-inline-code-text-transform: none;
398
+ --body-regular-inline-code-text-decoration: none;
399
+ --body-medium-base-font-family: Geist;
400
+ --body-medium-base-font-size: 14px;
401
+ --body-medium-base-font-weight: 500;
402
+ --body-medium-base-letter-spacing: 0.15px;
403
+ --body-medium-base-line-height: 140%;
404
+ --body-medium-base-text-transform: none;
405
+ --body-medium-base-text-decoration: none;
406
+ --body-medium-base-underline-font-family: Geist;
407
+ --body-medium-base-underline-font-size: 14px;
408
+ --body-medium-base-underline-font-weight: 500;
409
+ --body-medium-base-underline-letter-spacing: 0.15px;
410
+ --body-medium-base-underline-line-height: 140%;
411
+ --body-medium-base-underline-text-transform: none;
412
+ --body-medium-base-underline-text-decoration: underline;
413
+ --body-medium-paragraph-font-family: Geist;
414
+ --body-medium-paragraph-font-size: 16px;
415
+ --body-medium-paragraph-font-weight: 500;
416
+ --body-medium-paragraph-letter-spacing: 0.15px;
417
+ --body-medium-paragraph-line-height: 150%;
418
+ --body-medium-paragraph-text-transform: none;
419
+ --body-medium-paragraph-text-decoration: none;
420
+ --body-medium-lg-font-family: Geist;
421
+ --body-medium-lg-font-size: 18px;
422
+ --body-medium-lg-font-weight: 500;
423
+ --body-medium-lg-letter-spacing: 0.15px;
424
+ --body-medium-lg-line-height: 150%;
425
+ --body-medium-lg-text-transform: none;
426
+ --body-medium-lg-text-decoration: none;
427
+ --body-medium-xs-font-family: Geist;
428
+ --body-medium-xs-font-size: 12px;
429
+ --body-medium-xs-font-weight: 500;
430
+ --body-medium-xs-letter-spacing: 0.15px;
431
+ --body-medium-xs-line-height: 150%;
432
+ --body-medium-xs-text-transform: none;
433
+ --body-medium-xs-text-decoration: none;
434
+ --body-medium-xs-underline-font-family: Geist;
435
+ --body-medium-xs-underline-font-size: 12px;
436
+ --body-medium-xs-underline-font-weight: 500;
437
+ --body-medium-xs-underline-letter-spacing: 0.15px;
438
+ --body-medium-xs-underline-line-height: 150%;
439
+ --body-medium-xs-underline-text-transform: none;
440
+ --body-medium-xs-underline-text-decoration: underline;
441
+ --body-semibold-base-font-family: Geist;
442
+ --body-semibold-base-font-size: 14px;
443
+ --body-semibold-base-font-weight: 600;
444
+ --body-semibold-base-letter-spacing: 0.15px;
445
+ --body-semibold-base-line-height: 140%;
446
+ --body-semibold-base-text-transform: none;
447
+ --body-semibold-base-text-decoration: none;
448
+ --body-semibold-paragraph-font-family: Geist;
449
+ --body-semibold-paragraph-font-size: 16px;
450
+ --body-semibold-paragraph-font-weight: 600;
451
+ --body-semibold-paragraph-letter-spacing: 0.15px;
452
+ --body-semibold-paragraph-line-height: 150%;
453
+ --body-semibold-paragraph-text-transform: none;
454
+ --body-semibold-paragraph-text-decoration: none;
455
+ --body-semibold-lg-font-family: Geist;
456
+ --body-semibold-lg-font-size: 18px;
457
+ --body-semibold-lg-font-weight: 600;
458
+ --body-semibold-lg-letter-spacing: 0.15px;
459
+ --body-semibold-lg-line-height: 150%;
460
+ --body-semibold-lg-text-transform: none;
461
+ --body-semibold-lg-text-decoration: none;
462
+ --body-semibold-xs-font-family: Geist;
463
+ --body-semibold-xs-font-size: 12px;
464
+ --body-semibold-xs-font-weight: 600;
465
+ --body-semibold-xs-letter-spacing: 0.15px;
466
+ --body-semibold-xs-line-height: 150%;
467
+ --body-semibold-xs-text-transform: none;
468
+ --body-semibold-xs-text-decoration: none;
469
+ --subheading-regular-base-font-family: Geist;
470
+ --subheading-regular-base-font-size: 20px;
471
+ --subheading-regular-base-font-weight: 400;
472
+ --subheading-regular-base-letter-spacing: 0.15px;
473
+ --subheading-regular-base-line-height: 120%;
474
+ --subheading-regular-base-text-transform: none;
475
+ --subheading-regular-base-text-decoration: none;
476
+ --heading-semibold-h4-font-family: Geist;
477
+ --heading-semibold-h4-font-size: 20px;
478
+ --heading-semibold-h4-font-weight: 600;
479
+ --heading-semibold-h4-letter-spacing: 0.15px;
480
+ --heading-semibold-h4-line-height: 140%;
481
+ --heading-semibold-h4-text-transform: none;
482
+ --heading-semibold-h4-text-decoration: none;
483
+ --heading-semibold-h3-font-family: Geist;
484
+ --heading-semibold-h3-font-size: 24px;
485
+ --heading-semibold-h3-font-weight: 600;
486
+ --heading-semibold-h3-letter-spacing: -0.2px;
487
+ --heading-semibold-h3-line-height: 135%;
488
+ --heading-semibold-h3-text-transform: none;
489
+ --heading-semibold-h3-text-decoration: none;
490
+ --heading-semibold-h2-font-family: Geist;
491
+ --heading-semibold-h2-font-size: 32px;
492
+ --heading-semibold-h2-font-weight: 600;
493
+ --heading-semibold-h2-letter-spacing: -0.2px;
494
+ --heading-semibold-h2-line-height: 120%;
495
+ --heading-semibold-h2-text-transform: none;
496
+ --heading-semibold-h2-text-decoration: none;
497
+ --heading-semibold-h1-font-family: Geist;
498
+ --heading-semibold-h1-font-size: 40px;
499
+ --heading-semibold-h1-font-weight: 700;
500
+ --heading-semibold-h1-letter-spacing: -0.2px;
501
+ --heading-semibold-h1-line-height: 100%;
502
+ --heading-semibold-h1-text-transform: none;
503
+ --heading-semibold-h1-text-decoration: none;
504
+ --heading-semibold-h1-mobile-font-family: Geist;
505
+ --heading-semibold-h1-mobile-font-size: 40px;
506
+ --heading-semibold-h1-mobile-font-weight: 700;
507
+ --heading-semibold-h1-mobile-letter-spacing: 0.15px;
508
+ --heading-semibold-h1-mobile-line-height: 100%;
509
+ --heading-semibold-h1-mobile-text-transform: none;
510
+ --heading-semibold-h1-mobile-text-decoration: none;
511
+ --hero-bold-display-font-family: Geist;
512
+ --hero-bold-display-font-size: 56px;
513
+ --hero-bold-display-font-weight: 700;
514
+ --hero-bold-display-letter-spacing: 0.15px;
515
+ --hero-bold-display-line-height: 100%;
516
+ --hero-bold-display-text-transform: none;
517
+ --hero-bold-display-text-decoration: none;
518
+
519
+ /* ── effect ── */
520
+ --elevation-1-input: 0px 1px 2px 0px #00000033;
521
+ --elevation-2-card: 0px 1px 2px 0px #00000033, 0px 2px 6px 0px #00000033;
522
+ --elevation-3-popover: 0px 2px 8px -2px #00000033, 0px 6px 16px -4px #00000059;
523
+ --elevation-4-modal: 0px 6px 18px -6px #00000059, 0px 16px 40px -10px #00000099;
524
+ --elevation-5-focus-ring: 0px 0px 0px 3px #3b82f666;
525
+ --elevation-6-focus-ring-destructive: 0px 0px 0px 3px #fca5a566;
526
+ --blur-overlay: 0 0 50px 0 0;
527
+ --blur-layer: 0 0 0 0 0;
528
+ --blur-glass: 0 0 0 0 0;
529
+ }
530
+
531
+ :root, [data-theme="light"] {
532
+ /* ── Color ── */
533
+ --background-canvas: #f8fafc;
534
+ --background-muted: #f1f5f9;
535
+ --background-surface: #ffffff;
536
+ --background-navbar: #ffffff;
537
+ --background-sidebar: #f8fafc;
538
+ --background-buttonbar: #f8fafc;
539
+ --background-sidebar-accent: #eff6ff;
540
+ --background-brand: #2563eb;
541
+ --background-accent: #eff6ff;
542
+ --background-accent-dep: #eff6ff;
543
+ --background-secondary: #f1f5f9;
544
+ --background-popover: #ffffff;
545
+ --background-input: #ffffff;
546
+ --background-overlay: #ffffff;
547
+ --background-scrim: #02061780;
548
+ --background-inverse: #0f172a;
549
+ --background-strong: #e2e8f0;
550
+ --background-transparent: #ffffff00;
551
+ --background-progressbar-base: #ffffffcc;
552
+ --scrim-background-blur: 50px;
553
+ --border-default: #e2e8f0;
554
+ --border-muted: #f1f5f9;
555
+ --border-subtle: #f8fafc;
556
+ --border-input: #e2e8f0;
557
+ --border-strong: #cbd5e1;
558
+ --border-disabled: #e2e8f0;
559
+ --border-transparent: #ffffff00;
560
+ --border-brand: #2563eb;
561
+ --border-avatar: #ffffff;
562
+ --border-inverse: #0f172a;
563
+ --text-primary: #0f172a;
564
+ --text-dialog: #0f172a;
565
+ --text-sidebar: #0f172a;
566
+ --text-secondary: #334155;
567
+ --text-popover: #1f2937;
568
+ --text-muted: #64748b;
569
+ --text-disabled: #94a3b8;
570
+ --text-inverse: #ffffff;
571
+ --text-inverse-secondary: #e2e8f0;
572
+ --text-link: #2563eb;
573
+ --text-link-hover: #1d4ed8;
574
+ --icon-primary: #0f172a;
575
+ --icon-secondary: #334155;
576
+ --icon-sidebar: #334155;
577
+ --icon-popover: #1f2937;
578
+ --icon-muted: #64748b;
579
+ --icon-disabled: #94a3b8;
580
+ --icon-inverse: #ffffff;
581
+ --icon-inverse-secondary: #cbd5e1;
582
+ --icon-link: #2563eb;
583
+ --icon-link-hover: #1d4ed8;
584
+ --focus-ring-global-ring: #2563eb;
585
+ --focus-ring-global-shadow-color: #3b82f666;
586
+ --focus-ring-offset: #ffffff;
587
+ --focus-transparent-focus: #ffffff00;
588
+ --focus-y: 0px;
589
+ --focus-blur: 0px;
590
+ --focus-spread: 3px;
591
+ --focus-ring-destructive-ring: #dc2626;
592
+ --focus-ring-destructive-shadow-color: #dc262633;
593
+ --action-primary-background: #2563eb;
594
+ --action-primary-background-hover: #1d4ed8;
595
+ --action-primary-background-pressed: #1e40af;
596
+ --action-primary-text: #ffffff;
597
+ --action-primary-border: #ffffff00;
598
+ --action-outline-archive-background: #ffffff;
599
+ --action-outline-archive-background-hover: #f8fafc;
600
+ --action-outline-archive-border: #e2e8f0;
601
+ --action-outline-archive-border-focus: #94a3b8;
602
+ --action-outline-background: #ffffff;
603
+ --action-outline-background-hover: #f8fafc;
604
+ --action-outline-background-pressed: #f1f5f9;
605
+ --action-outline-text: #0f172a;
606
+ --action-outline-border: #e2e8f0;
607
+ --action-secondary-background: #f1f5f9;
608
+ --action-secondary-background-hover: #e2e8f0;
609
+ --action-secondary-background-pressed: #cbd5e1;
610
+ --action-secondary-text: #0f172a;
611
+ --action-ghost-background: #ffffff00;
612
+ --action-ghost-background-focus: #ffffff00;
613
+ --action-ghost-background-hover: #f8fafc;
614
+ --action-ghost-background-pressed: #f1f5f9;
615
+ --action-ghost-text: #0f172a;
616
+ --action-ghost-border: #ffffff00;
617
+ --action-link-background: #ffffff00;
618
+ --action-link-background-hover: #ffffff00;
619
+ --action-link-background-focus: #ffffff00;
620
+ --action-link-background-pressed: #ffffff00;
621
+ --action-link-border: #ffffff00;
622
+ --action-link-text: #2563eb;
623
+ --action-link-text-hover: #1d4ed8;
624
+ --action-destructive-background: #dc2626;
625
+ --action-destructive-background-hover: #b91c1c;
626
+ --action-destructive-background-pressed: #7f1d1d;
627
+ --action-destructive-text: #ffffff;
628
+ --action-destructive-border: #ffffff00;
629
+ --action-destructive-secondary-background: #fef2f2;
630
+ --action-destructive-secondary-background-hover: #fee2e2;
631
+ --action-destructive-secondary-background-pressed: #fecaca;
632
+ --action-destructive-secondary-text: #dc2626;
633
+ --action-destructive-secondary-border: #ffffff00;
634
+ --action-disabled-background: #f1f5f9;
635
+ --action-disabled-text: #94a3b8;
636
+ --action-disabled-border: #e2e8f0;
637
+ --avatar-pink: #fad6f9;
638
+ --avatar-blue: #bedbff;
639
+ --avatar-green: #d0fae5;
640
+ --avatar-purple: #c6d2ff;
641
+ --avatar-orange: #ffd6a8;
642
+ --field-background: #ffffff;
643
+ --field-popover-accent: #334155;
644
+ --field-transparent: #ffffff00;
645
+ --field-background-input-30: #ffffff;
646
+ --field-background-input-50: #f8fafc;
647
+ --field-slider-grabber: #ffffff;
648
+ --field-slider-border: #334155;
649
+ --field-slider-track: #1f2937;
650
+ --field-background-input-80: #e2e8f0;
651
+ --field-calendar-background-input-30: #ffffff;
652
+ --field-calendar-background-input-50: #f8fafc;
653
+ --field-background-disabled: #f8fafc;
654
+ --field-border-input: #e2e8f0;
655
+ --field-border-input--x: #e2e8f0;
656
+ --field-border-xx: #e2e8f0;
657
+ --field-border-hover: #cbd5e1;
658
+ --field-border-focus: #2563eb;
659
+ --field-border-error: #dc2626;
660
+ --field-border-disabled: #e2e8f0;
661
+ --field-label: #1f2937;
662
+ --field-icon: #64748b;
663
+ --field-placeholder: #64748b;
664
+ --field-text: #0f172a;
665
+ --field-help-text: #475569;
666
+ --field-text-disabled: #94a3b8;
667
+ --field-placeholder-disabled: #94a3b8;
668
+ --field-error-text: #b91c1c;
669
+ --field-switch-active: #0f172a;
670
+ --field-radio-active-box: #ffffffe5;
671
+ --status-success-background: #f0fdf4;
672
+ --status-success-border: #bbf7d0;
673
+ --status-success-text: #15803d;
674
+ --status-success-icon: #22c55e;
675
+ --status-info-background: #eff6ff;
676
+ --status-info-border: #bfdbfe;
677
+ --status-info-text: #1d4ed8;
678
+ --status-info-icon: #3b82f6;
679
+ --status-warning-background: #fffbeb;
680
+ --status-warning-border: #fde68a;
681
+ --status-warning-text: #d97706;
682
+ --status-warning-icon: #f59e0b;
683
+ --status-error-background: #fef2f2;
684
+ --status-error-border: #fecaca;
685
+ --status-error-text: #dc2626;
686
+ --status-error-icon: #ef4444;
687
+ --status-badge-background: #3b82f6;
688
+ --status-badge-hover: #ffffff26;
689
+ --elevation-01-layer-1-x: 0px;
690
+ --elevation-01-layer-1-y: 1px;
691
+ --elevation-01-layer-1-blur: 2px;
692
+ --elevation-01-layer-1-spread: 0px;
693
+ --elevation-01-layer-1-shadow-color: #0206170f;
694
+ --elevation-02-layer-1-x: 0px;
695
+ --elevation-02-layer-1-y: 1px;
696
+ --elevation-02-layer-1-blur: 2px;
697
+ --elevation-02-layer-1-spread: 0px;
698
+ --elevation-02-layer-1-shadow-color: #02061714;
699
+ --elevation-02-layer-2-x: 0px;
700
+ --elevation-02-layer-2-y: 2px;
701
+ --elevation-02-layer-2-blur: 6px;
702
+ --elevation-02-layer-2-spread: 0px;
703
+ --elevation-02-layer-2-shadow-color: #0206170f;
704
+ --elevation-03-layer-1-x: 0px;
705
+ --elevation-03-layer-1-y: 4px;
706
+ --elevation-03-layer-1-blur: 12px;
707
+ --elevation-03-layer-1-spread: -2px;
708
+ --elevation-03-layer-1-shadow-color: #0206171a;
709
+ --elevation-03-layer-2-x: 0px;
710
+ --elevation-03-layer-2-y: 2px;
711
+ --elevation-03-layer-2-blur: 6px;
712
+ --elevation-03-layer-2-spread: -2px;
713
+ --elevation-03-layer-2-color: #02061714;
714
+ --elevation-04-layer-1-x: 0px;
715
+ --elevation-04-layer-1-y: 12px;
716
+ --elevation-04-layer-1-blur: 32px;
717
+ --elevation-04-layer-1-spread: -8px;
718
+ --elevation-04-layer-1-shadow-color: #0206172e;
719
+ --elevation-04-layer-2-x: 0px;
720
+ --elevation-04-layer-2-y: 4px;
721
+ --elevation-04-layer-2-blur: 12px;
722
+ --elevation-04-layer-2-spread: -4px;
723
+ --elevation-04-layer-2-shadow-color: #0206171a;
724
+ }
725
+
726
+ .dark, [data-theme="dark"] {
727
+ /* ── Color ── */
728
+ --background-canvas: #020617;
729
+ --background-muted: #1f2937;
730
+ --background-surface: #0f172a;
731
+ --background-navbar: #0f172a;
732
+ --background-sidebar: #020617;
733
+ --background-buttonbar: #020617;
734
+ --background-sidebar-accent: #1e3a8a80;
735
+ --background-brand: #60a5fa;
736
+ --background-accent: #334155;
737
+ --background-accent-dep: #1e3a8a80;
738
+ --background-secondary: #1f2937;
739
+ --background-popover: #1f2937;
740
+ --background-input: #1f2937;
741
+ --background-overlay: #0f172a;
742
+ --background-scrim: #020617b8;
743
+ --background-inverse: #ffffff;
744
+ --background-strong: #1f2937;
745
+ --background-transparent: #ffffff00;
746
+ --background-progressbar-base: #020617b8;
747
+ --scrim-background-blur: 50px;
748
+ --border-default: #334155;
749
+ --border-muted: #1f2937;
750
+ --border-subtle: #0f172a;
751
+ --border-input: #1f2937;
752
+ --border-strong: #475569;
753
+ --border-disabled: #1f2937;
754
+ --border-transparent: #334155;
755
+ --border-brand: #60a5fa;
756
+ --border-avatar: #020617;
757
+ --border-inverse: #ffffff;
758
+ --text-primary: #f8fafc;
759
+ --text-dialog: #f8fafc;
760
+ --text-sidebar: #f8fafc;
761
+ --text-secondary: #cbd5e1;
762
+ --text-popover: #e2e8f0;
763
+ --text-muted: #94a3b8;
764
+ --text-disabled: #475569;
765
+ --text-inverse: #0f172a;
766
+ --text-inverse-secondary: #1f2937;
767
+ --text-link: #60a5fa;
768
+ --text-link-hover: #93c5fd;
769
+ --icon-primary: #f8fafc;
770
+ --icon-secondary: #cbd5e1;
771
+ --icon-sidebar: #cbd5e1;
772
+ --icon-popover: #e2e8f0;
773
+ --icon-muted: #94a3b8;
774
+ --icon-disabled: #475569;
775
+ --icon-inverse: #0f172a;
776
+ --icon-inverse-secondary: #334155;
777
+ --icon-link: #60a5fa;
778
+ --icon-link-hover: #93c5fd;
779
+ --focus-ring-global-ring: #3b82f6;
780
+ --focus-ring-global-shadow-color: #3b82f666;
781
+ --focus-ring-offset: #0f172a;
782
+ --focus-transparent-focus: #0f172a00;
783
+ --focus-y: 0px;
784
+ --focus-blur: 0px;
785
+ --focus-spread: 3px;
786
+ --focus-ring-destructive-ring: #fca5a5;
787
+ --focus-ring-destructive-shadow-color: #fca5a566;
788
+ --action-primary-background: #60a5fa;
789
+ --action-primary-background-hover: #93c5fd;
790
+ --action-primary-background-pressed: #bfdbfe;
791
+ --action-primary-text: #0f172a;
792
+ --action-primary-border: #ffffff00;
793
+ --action-outline-archive-background: #0f172a;
794
+ --action-outline-archive-background-hover: #1f2937;
795
+ --action-outline-archive-border: #1f2937;
796
+ --action-outline-archive-border-focus: #475569;
797
+ --action-outline-background: #ffffff05;
798
+ --action-outline-background-hover: #ffffff0d;
799
+ --action-outline-background-pressed: #334155;
800
+ --action-outline-text: #f8fafc;
801
+ --action-outline-border: #ffffff26;
802
+ --action-secondary-background: #1f2937;
803
+ --action-secondary-background-hover: #334155;
804
+ --action-secondary-background-pressed: #475569;
805
+ --action-secondary-text: #f8fafc;
806
+ --action-ghost-background: #ffffff00;
807
+ --action-ghost-background-focus: #ffffff00;
808
+ --action-ghost-background-hover: #ffffff0f;
809
+ --action-ghost-background-pressed: #ffffff1a;
810
+ --action-ghost-text: #f8fafc;
811
+ --action-ghost-border: #ffffff00;
812
+ --action-link-background: #ffffff00;
813
+ --action-link-background-hover: #ffffff00;
814
+ --action-link-background-focus: #ffffff00;
815
+ --action-link-background-pressed: #ffffff00;
816
+ --action-link-border: #ffffff00;
817
+ --action-link-text: #60a5fa;
818
+ --action-link-text-hover: #93c5fd;
819
+ --action-destructive-background: #b91c1c;
820
+ --action-destructive-background-hover: #ef4444;
821
+ --action-destructive-background-pressed: #991b1b;
822
+ --action-destructive-text: #0f172a;
823
+ --action-destructive-border: #ffffff00;
824
+ --action-destructive-secondary-background: #991b1b;
825
+ --action-destructive-secondary-background-hover: #b91c1c;
826
+ --action-destructive-secondary-background-pressed: #7f1d1d;
827
+ --action-destructive-secondary-text: #ffffff;
828
+ --action-destructive-secondary-border: #ffffff00;
829
+ --action-disabled-background: #1f2937;
830
+ --action-disabled-text: #475569;
831
+ --action-disabled-border: #1f2937;
832
+ --avatar-pink: #7e0772;
833
+ --avatar-blue: #193cb8;
834
+ --avatar-green: #006045;
835
+ --avatar-purple: #372aac;
836
+ --avatar-orange: #9f2d00;
837
+ --field-background: #0f172a;
838
+ --field-popover-accent: #334155;
839
+ --field-transparent: #ffffff00;
840
+ --field-background-input-30: #ffffff0d;
841
+ --field-background-input-50: #ffffff1a;
842
+ --field-slider-grabber: #64748b;
843
+ --field-slider-border: #94a3b8;
844
+ --field-slider-track: #f1f5f9;
845
+ --field-background-input-80: #ffffff26;
846
+ --field-calendar-background-input-30: #ffffff08;
847
+ --field-calendar-background-input-50: #ffffff0f;
848
+ --field-background-disabled: #020617;
849
+ --field-border-input: #334155;
850
+ --field-border-input--x: #ffffff3d;
851
+ --field-border-xx: #334155;
852
+ --field-border-hover: #475569;
853
+ --field-border-focus: #3b82f6;
854
+ --field-border-error: #ef4444;
855
+ --field-border-disabled: #1f2937;
856
+ --field-label: #e2e8f0;
857
+ --field-icon: #94a3b8;
858
+ --field-placeholder: #94a3b8;
859
+ --field-text: #f8fafc;
860
+ --field-help-text: #94a3b8;
861
+ --field-text-disabled: #475569;
862
+ --field-placeholder-disabled: #475569;
863
+ --field-error-text: #fecaca;
864
+ --field-switch-active: #93c5fd;
865
+ --field-radio-active-box: #020617cc;
866
+ --status-success-background: #052e16;
867
+ --status-success-border: #15803d;
868
+ --status-success-text: #bbf7d0;
869
+ --status-success-icon: #bbf7d0;
870
+ --status-info-background: #1e3a8a;
871
+ --status-info-border: #1d4ed8;
872
+ --status-info-text: #bfdbfe;
873
+ --status-info-icon: #bfdbfe;
874
+ --status-warning-background: #78350f;
875
+ --status-warning-border: #b45309;
876
+ --status-warning-text: #fde68a;
877
+ --status-warning-icon: #fde68a;
878
+ --status-error-background: #7f1d1d;
879
+ --status-error-border: #b91c1c;
880
+ --status-error-text: #fecaca;
881
+ --status-error-icon: #fecaca;
882
+ --status-badge-background: #93c5fd;
883
+ --status-badge-hover: #02061726;
884
+ --elevation-01-layer-1-x: 0px;
885
+ --elevation-01-layer-1-y: 1px;
886
+ --elevation-01-layer-1-blur: 2px;
887
+ --elevation-01-layer-1-spread: 0px;
888
+ --elevation-01-layer-1-shadow-color: #00000033;
889
+ --elevation-02-layer-1-x: 0px;
890
+ --elevation-02-layer-1-y: 1px;
891
+ --elevation-02-layer-1-blur: 2px;
892
+ --elevation-02-layer-1-spread: 0px;
893
+ --elevation-02-layer-1-shadow-color: #00000033;
894
+ --elevation-02-layer-2-x: 0px;
895
+ --elevation-02-layer-2-y: 2px;
896
+ --elevation-02-layer-2-blur: 6px;
897
+ --elevation-02-layer-2-spread: 0px;
898
+ --elevation-02-layer-2-shadow-color: #00000033;
899
+ --elevation-03-layer-1-x: 0px;
900
+ --elevation-03-layer-1-y: 6px;
901
+ --elevation-03-layer-1-blur: 16px;
902
+ --elevation-03-layer-1-spread: -4px;
903
+ --elevation-03-layer-1-shadow-color: #00000059;
904
+ --elevation-03-layer-2-x: 0px;
905
+ --elevation-03-layer-2-y: 2px;
906
+ --elevation-03-layer-2-blur: 8px;
907
+ --elevation-03-layer-2-spread: -2px;
908
+ --elevation-03-layer-2-color: #00000033;
909
+ --elevation-04-layer-1-x: 0px;
910
+ --elevation-04-layer-1-y: 16px;
911
+ --elevation-04-layer-1-blur: 40px;
912
+ --elevation-04-layer-1-spread: -10px;
913
+ --elevation-04-layer-1-shadow-color: #00000099;
914
+ --elevation-04-layer-2-x: 0px;
915
+ --elevation-04-layer-2-y: 6px;
916
+ --elevation-04-layer-2-blur: 18px;
917
+ --elevation-04-layer-2-spread: -6px;
918
+ --elevation-04-layer-2-shadow-color: #00000059;
919
+ }