@felloinnovations/brand-kit 0.4.0 → 0.5.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 (363) hide show
  1. package/AGENTS.md +198 -24
  2. package/CHANGELOG.md +197 -0
  3. package/README.md +34 -7
  4. package/design-system/01-how-claude-decides.md +26 -17
  5. package/design-system/02-principles.md +11 -6
  6. package/design-system/03-colour.md +134 -47
  7. package/design-system/04-type.md +45 -23
  8. package/design-system/05-space-and-layout.md +175 -52
  9. package/design-system/06-sizing-profiles.md +4 -4
  10. package/design-system/07-scrolling.md +66 -20
  11. package/design-system/08-choosing-components.md +50 -22
  12. package/design-system/09-charts.md +71 -28
  13. package/design-system/10-patterns.md +33 -10
  14. package/design-system/11-page-recipes.md +110 -23
  15. package/design-system/12-content.md +2 -1
  16. package/design-system/13-motion.md +330 -47
  17. package/design-system/14-accessibility.md +47 -24
  18. package/design-system/15-ai-experiences.md +11 -6
  19. package/design-system/16-creativity.md +1 -1
  20. package/design-system/17-decisions.md +357 -1
  21. package/design-system/18-checklist.md +79 -16
  22. package/design-system/19-public-pages.md +6 -4
  23. package/design-system/20-palettes.md +275 -0
  24. package/design-system/README.md +30 -17
  25. package/design-system/components/ActionList/README.md +96 -10
  26. package/design-system/components/ActionList/preview.html +52 -7
  27. package/design-system/components/ActionList/style.css +64 -0
  28. package/design-system/components/ActivityGrid/README.md +38 -2
  29. package/design-system/components/ActivityGrid/preview.html +1 -1
  30. package/design-system/components/ActivityGrid/style.css +35 -0
  31. package/design-system/components/AppShell/README.md +205 -75
  32. package/design-system/components/AppShell/preview.html +339 -58
  33. package/design-system/components/AppShell/style.css +154 -0
  34. package/design-system/components/Avatar/README.md +37 -10
  35. package/design-system/components/Avatar/preview.html +13 -4
  36. package/design-system/components/Avatar/style.css +14 -0
  37. package/design-system/components/Badge/README.md +41 -19
  38. package/design-system/components/Badge/preview.html +13 -10
  39. package/design-system/components/Badge/style.css +23 -0
  40. package/design-system/components/Banner/README.md +30 -9
  41. package/design-system/components/Banner/preview.html +1 -1
  42. package/design-system/components/Banner/style.css +19 -0
  43. package/design-system/components/Breadcrumb/README.md +58 -46
  44. package/design-system/components/Breadcrumb/preview.html +16 -16
  45. package/design-system/components/Breadcrumb/style.css +17 -0
  46. package/design-system/components/Button/README.md +113 -55
  47. package/design-system/components/Button/preview.html +98 -25
  48. package/design-system/components/Button/style.css +86 -0
  49. package/design-system/components/Card/README.md +158 -49
  50. package/design-system/components/Card/preview.html +141 -19
  51. package/design-system/components/Card/style.css +115 -0
  52. package/design-system/components/CardBoard/README.md +58 -37
  53. package/design-system/components/CardBoard/preview.html +26 -29
  54. package/design-system/components/ChatCard/README.md +115 -29
  55. package/design-system/components/ChatCard/preview.html +149 -32
  56. package/design-system/components/ChatCard/style.css +49 -0
  57. package/design-system/components/ChatShell/README.md +116 -0
  58. package/design-system/components/ChatShell/preview.html +201 -0
  59. package/design-system/components/ChatShell/style.css +86 -0
  60. package/design-system/components/ChatTurn/README.md +78 -35
  61. package/design-system/components/ChatTurn/preview.html +60 -28
  62. package/design-system/components/ChatTurn/style.css +50 -0
  63. package/design-system/components/CheckRow/README.md +141 -0
  64. package/design-system/components/CheckRow/preview.html +140 -0
  65. package/design-system/components/CheckRow/style.css +88 -0
  66. package/design-system/components/Checkbox/README.md +58 -22
  67. package/design-system/components/Checkbox/preview.html +112 -50
  68. package/design-system/components/Checkbox/style.css +45 -0
  69. package/design-system/components/Chip/README.md +78 -47
  70. package/design-system/components/Chip/preview.html +29 -4
  71. package/design-system/components/Chip/style.css +17 -0
  72. package/design-system/components/Combobox/README.md +44 -11
  73. package/design-system/components/Combobox/preview.html +35 -12
  74. package/design-system/components/Combobox/style.css +54 -0
  75. package/design-system/components/Composer/README.md +137 -35
  76. package/design-system/components/Composer/preview.html +115 -40
  77. package/design-system/components/Composer/style.css +81 -0
  78. package/design-system/components/ConfirmDialog/README.md +73 -52
  79. package/design-system/components/ConfirmDialog/preview.html +70 -26
  80. package/design-system/components/ConfirmDialog/style.css +5 -0
  81. package/design-system/components/Cover/preview.html +3 -3
  82. package/design-system/components/Cover/style.css +19 -0
  83. package/design-system/components/DateInput/README.md +77 -12
  84. package/design-system/components/DateInput/preview.html +27 -12
  85. package/design-system/components/DateInput/style.css +38 -0
  86. package/design-system/components/Dialog/README.md +112 -44
  87. package/design-system/components/Dialog/preview.html +141 -18
  88. package/design-system/components/Dialog/style.css +74 -0
  89. package/design-system/components/EmptyState/README.md +42 -12
  90. package/design-system/components/EmptyState/preview.html +11 -11
  91. package/design-system/components/EmptyState/style.css +9 -0
  92. package/design-system/components/EntryShell/README.md +73 -48
  93. package/design-system/components/EntryShell/preview.html +60 -27
  94. package/design-system/components/EntryShell/style.css +19 -0
  95. package/design-system/components/FeatureGrid/README.md +61 -39
  96. package/design-system/components/FeatureGrid/preview.html +2 -2
  97. package/design-system/components/FeatureGrid/style.css +20 -0
  98. package/design-system/components/FileUpload/README.md +33 -3
  99. package/design-system/components/FileUpload/preview.html +18 -4
  100. package/design-system/components/FileUpload/style.css +23 -0
  101. package/design-system/components/FilterBar/README.md +114 -0
  102. package/design-system/components/FilterBar/preview.html +82 -0
  103. package/design-system/components/FilterBar/style.css +22 -0
  104. package/design-system/components/Fold/README.md +84 -26
  105. package/design-system/components/Fold/preview.html +77 -34
  106. package/design-system/components/Fold/style.css +48 -0
  107. package/design-system/components/Footer/README.md +62 -39
  108. package/design-system/components/Footer/preview.html +5 -5
  109. package/design-system/components/Footer/style.css +30 -0
  110. package/design-system/components/FunnelBars/README.md +24 -3
  111. package/design-system/components/FunnelBars/preview.html +5 -5
  112. package/design-system/components/FunnelBars/style.css +13 -0
  113. package/design-system/components/GoalBars/README.md +54 -10
  114. package/design-system/components/GoalBars/preview.html +69 -28
  115. package/design-system/components/GoalBars/style.css +51 -0
  116. package/design-system/components/GoalTicks/README.md +74 -58
  117. package/design-system/components/GoalTicks/preview.html +41 -118
  118. package/design-system/components/GoalTicks/style.css +37 -0
  119. package/design-system/components/GoalTubes/README.md +29 -3
  120. package/design-system/components/GoalTubes/preview.html +6 -6
  121. package/design-system/components/GoalTubes/style.css +23 -0
  122. package/design-system/components/Heatmap/README.md +133 -0
  123. package/design-system/components/Heatmap/preview.html +168 -0
  124. package/design-system/components/Heatmap/style.css +119 -0
  125. package/design-system/components/Hero/README.md +58 -40
  126. package/design-system/components/Hero/preview.html +1 -1
  127. package/design-system/components/Hero/style.css +19 -0
  128. package/design-system/components/HoverCard/README.md +114 -0
  129. package/design-system/components/HoverCard/preview.html +107 -0
  130. package/design-system/components/HoverCard/style.css +59 -0
  131. package/design-system/components/IconButton/README.md +69 -38
  132. package/design-system/components/IconButton/preview.html +77 -43
  133. package/design-system/components/IconButton/style.css +45 -0
  134. package/design-system/components/Input/README.md +36 -11
  135. package/design-system/components/Input/preview.html +1 -1
  136. package/design-system/components/Input/style.css +23 -0
  137. package/design-system/components/KanbanBoard/README.md +93 -45
  138. package/design-system/components/KanbanBoard/preview.html +159 -43
  139. package/design-system/components/KanbanBoard/style.css +53 -0
  140. package/design-system/components/Kbd/README.md +25 -9
  141. package/design-system/components/Kbd/preview.html +6 -2
  142. package/design-system/components/Kbd/style.css +9 -0
  143. package/design-system/components/KitButton/README.md +81 -47
  144. package/design-system/components/KitButton/preview.html +35 -13
  145. package/design-system/components/KitButton/style.css +46 -0
  146. package/design-system/components/KitCard/README.md +75 -44
  147. package/design-system/components/KitCard/preview.html +18 -10
  148. package/design-system/components/KitCard/style.css +15 -0
  149. package/design-system/components/KitInput/README.md +54 -39
  150. package/design-system/components/KitInput/preview.html +7 -7
  151. package/design-system/components/KitInput/style.css +23 -0
  152. package/design-system/components/Leaderboard/README.md +76 -49
  153. package/design-system/components/Leaderboard/preview.html +61 -26
  154. package/design-system/components/Leaderboard/style.css +44 -0
  155. package/design-system/components/ListDetail/README.md +222 -0
  156. package/design-system/components/ListDetail/preview.html +213 -0
  157. package/design-system/components/ListDetail/style.css +148 -0
  158. package/design-system/components/LoadBar/README.md +79 -0
  159. package/design-system/components/LoadBar/preview.html +40 -0
  160. package/design-system/components/LoadBar/style.css +17 -0
  161. package/design-system/components/MarketingNav/README.md +76 -42
  162. package/design-system/components/MarketingNav/preview.html +37 -8
  163. package/design-system/components/MarketingNav/style.css +45 -0
  164. package/design-system/components/Matrix/README.md +129 -0
  165. package/design-system/components/Matrix/preview.html +99 -0
  166. package/design-system/components/Matrix/style.css +84 -0
  167. package/design-system/components/Menu/README.md +117 -41
  168. package/design-system/components/Menu/preview.html +85 -23
  169. package/design-system/components/Menu/style.css +61 -0
  170. package/design-system/components/Meter/README.md +39 -4
  171. package/design-system/components/Meter/preview.html +18 -1
  172. package/design-system/components/Meter/style.css +23 -0
  173. package/design-system/components/MetricTile/README.md +237 -0
  174. package/design-system/components/MetricTile/preview.html +241 -0
  175. package/design-system/components/MetricTile/style.css +129 -0
  176. package/design-system/components/Morph/README.md +106 -0
  177. package/design-system/components/Morph/preview.html +103 -0
  178. package/design-system/components/Morph/style.css +31 -0
  179. package/design-system/components/Motion/README.md +164 -0
  180. package/design-system/components/Motion/preview.html +2537 -0
  181. package/design-system/components/NumberInput/README.md +27 -8
  182. package/design-system/components/NumberInput/preview.html +21 -5
  183. package/design-system/components/NumberInput/style.css +34 -0
  184. package/design-system/components/PaceBar/README.md +75 -0
  185. package/design-system/components/PaceBar/preview.html +67 -0
  186. package/design-system/components/PaceBar/style.css +25 -0
  187. package/design-system/components/Page/README.md +57 -18
  188. package/design-system/components/Page/preview.html +15 -17
  189. package/design-system/components/Page/style.css +7 -0
  190. package/design-system/components/PageBar/README.md +90 -34
  191. package/design-system/components/PageBar/preview.html +60 -19
  192. package/design-system/components/PageBar/style.css +35 -0
  193. package/design-system/components/PageHero/README.md +87 -51
  194. package/design-system/components/PageHero/preview.html +35 -6
  195. package/design-system/components/PageHero/style.css +31 -0
  196. package/design-system/components/Pagination/README.md +70 -49
  197. package/design-system/components/Pagination/preview.html +24 -15
  198. package/design-system/components/Pagination/style.css +12 -0
  199. package/design-system/components/Panel/README.md +109 -51
  200. package/design-system/components/Panel/preview.html +118 -20
  201. package/design-system/components/Panel/style.css +51 -0
  202. package/design-system/components/PasswordInput/README.md +50 -18
  203. package/design-system/components/PasswordInput/preview.html +71 -21
  204. package/design-system/components/PasswordInput/style.css +31 -0
  205. package/design-system/components/Plate/README.md +75 -17
  206. package/design-system/components/Plate/preview.html +40 -7
  207. package/design-system/components/Plate/style.css +37 -0
  208. package/design-system/components/Popover/README.md +70 -49
  209. package/design-system/components/Popover/preview.html +44 -22
  210. package/design-system/components/Popover/style.css +41 -0
  211. package/design-system/components/PricingTable/README.md +69 -49
  212. package/design-system/components/PricingTable/preview.html +21 -21
  213. package/design-system/components/PricingTable/style.css +21 -0
  214. package/design-system/components/ProgressPetals/README.md +31 -3
  215. package/design-system/components/ProgressPetals/preview.html +14 -15
  216. package/design-system/components/ProgressPetals/style.css +27 -0
  217. package/design-system/components/README.md +151 -0
  218. package/design-system/components/Radio/README.md +40 -17
  219. package/design-system/components/Radio/preview.html +16 -1
  220. package/design-system/components/Radio/style.css +21 -0
  221. package/design-system/components/RankBar/README.md +29 -2
  222. package/design-system/components/RankBar/preview.html +14 -12
  223. package/design-system/components/RankBar/style.css +18 -0
  224. package/design-system/components/Ring/README.md +61 -11
  225. package/design-system/components/Ring/preview.html +55 -10
  226. package/design-system/components/Ring/style.css +49 -0
  227. package/design-system/components/ScoreHero/README.md +91 -0
  228. package/design-system/components/ScoreHero/preview.html +104 -0
  229. package/design-system/components/ScoreHero/style.css +32 -0
  230. package/design-system/components/Section/README.md +72 -33
  231. package/design-system/components/Section/preview.html +46 -16
  232. package/design-system/components/Section/style.css +18 -0
  233. package/design-system/components/Segmented/README.md +100 -55
  234. package/design-system/components/Segmented/preview.html +107 -26
  235. package/design-system/components/Segmented/style.css +94 -0
  236. package/design-system/components/SegmentedProgress/README.md +64 -0
  237. package/design-system/components/SegmentedProgress/preview.html +69 -0
  238. package/design-system/components/SegmentedProgress/style.css +11 -0
  239. package/design-system/components/Select/README.md +47 -12
  240. package/design-system/components/Select/preview.html +28 -2
  241. package/design-system/components/Select/style.css +22 -0
  242. package/design-system/components/ShareBar/README.md +69 -0
  243. package/design-system/components/ShareBar/preview.html +72 -0
  244. package/design-system/components/ShareBar/style.css +25 -0
  245. package/design-system/components/SideList/README.md +147 -0
  246. package/design-system/components/SideList/preview.html +139 -0
  247. package/design-system/components/SideList/style.css +94 -0
  248. package/design-system/components/Skeleton/README.md +52 -16
  249. package/design-system/components/Skeleton/preview.html +35 -23
  250. package/design-system/components/Skeleton/style.css +22 -0
  251. package/design-system/components/Slider/README.md +95 -0
  252. package/design-system/components/Slider/preview.html +49 -0
  253. package/design-system/components/Slider/style.css +13 -0
  254. package/design-system/components/Split/README.md +112 -0
  255. package/design-system/components/Split/preview.html +105 -0
  256. package/design-system/components/Split/style.css +30 -0
  257. package/design-system/components/Starter/README.md +21 -9
  258. package/design-system/components/Starter/preview.html +5 -5
  259. package/design-system/components/Stat/README.md +64 -43
  260. package/design-system/components/Stat/preview.html +3 -3
  261. package/design-system/components/Stat/style.css +15 -0
  262. package/design-system/components/StatTiles/README.md +88 -44
  263. package/design-system/components/StatTiles/preview.html +142 -71
  264. package/design-system/components/StatTiles/style.css +64 -0
  265. package/design-system/components/StatusLine/README.md +85 -0
  266. package/design-system/components/StatusLine/preview.html +49 -0
  267. package/design-system/components/StatusLine/style.css +14 -0
  268. package/design-system/components/StatusScreen/README.md +49 -35
  269. package/design-system/components/StatusScreen/preview.html +20 -5
  270. package/design-system/components/StatusScreen/style.css +9 -0
  271. package/design-system/components/StepLine/README.md +97 -0
  272. package/design-system/components/StepLine/preview.html +108 -0
  273. package/design-system/components/StepLine/style.css +62 -0
  274. package/design-system/components/Stepper/README.md +35 -13
  275. package/design-system/components/Stepper/style.css +13 -0
  276. package/design-system/components/StreakCalendar/README.md +22 -1
  277. package/design-system/components/StreakCalendar/preview.html +10 -10
  278. package/design-system/components/StreakCalendar/style.css +12 -0
  279. package/design-system/components/SuggestionChip/README.md +87 -0
  280. package/design-system/components/SuggestionChip/preview.html +42 -0
  281. package/design-system/components/SuggestionChip/style.css +20 -0
  282. package/design-system/components/Switch/README.md +44 -24
  283. package/design-system/components/Switch/preview.html +23 -8
  284. package/design-system/components/Switch/style.css +31 -0
  285. package/design-system/components/Table/README.md +129 -58
  286. package/design-system/components/Table/preview.html +106 -72
  287. package/design-system/components/Table/style.css +104 -0
  288. package/design-system/components/Tabs/README.md +71 -46
  289. package/design-system/components/Tabs/preview.html +56 -24
  290. package/design-system/components/Tabs/style.css +44 -0
  291. package/design-system/components/Testimonial/README.md +48 -32
  292. package/design-system/components/Testimonial/preview.html +14 -14
  293. package/design-system/components/Testimonial/style.css +12 -0
  294. package/design-system/components/TextArea/README.md +27 -11
  295. package/design-system/components/TextArea/preview.html +8 -2
  296. package/design-system/components/TextArea/style.css +12 -0
  297. package/design-system/components/ThemeSwitch/README.md +116 -0
  298. package/design-system/components/ThemeSwitch/preview.html +57 -0
  299. package/design-system/components/ThemeSwitch/style.css +6 -0
  300. package/design-system/components/TickRow/README.md +52 -36
  301. package/design-system/components/TickRow/preview.html +64 -41
  302. package/design-system/components/TickRow/style.css +23 -0
  303. package/design-system/components/TickStrip/README.md +95 -0
  304. package/design-system/components/TickStrip/preview.html +88 -0
  305. package/design-system/components/TickStrip/style.css +42 -0
  306. package/design-system/components/Tile/README.md +79 -18
  307. package/design-system/components/Tile/preview.html +91 -40
  308. package/design-system/components/Tile/style.css +36 -0
  309. package/design-system/components/Timeline/README.md +68 -48
  310. package/design-system/components/Timeline/preview.html +27 -15
  311. package/design-system/components/Timeline/style.css +25 -0
  312. package/design-system/components/Toast/README.md +70 -38
  313. package/design-system/components/Toast/preview.html +43 -8
  314. package/design-system/components/Toast/style.css +25 -0
  315. package/design-system/components/Tooltip/README.md +93 -35
  316. package/design-system/components/Tooltip/preview.html +69 -15
  317. package/design-system/components/Tooltip/style.css +78 -0
  318. package/design-system/components/TopBar/README.md +67 -53
  319. package/design-system/components/TopBar/preview.html +14 -27
  320. package/design-system/components/TopBar/style.css +35 -0
  321. package/design-system/components/TopicRail/README.md +108 -0
  322. package/design-system/components/TopicRail/preview.html +58 -0
  323. package/design-system/components/TopicRail/style.css +48 -0
  324. package/design-system/components/TrendBars/README.md +52 -14
  325. package/design-system/components/TrendBars/preview.html +65 -32
  326. package/design-system/components/TrendBars/style.css +25 -0
  327. package/design-system/components/TrendLine/README.md +164 -0
  328. package/design-system/components/TrendLine/preview.html +373 -0
  329. package/design-system/components/TrendLine/style.css +155 -0
  330. package/design-system/components/Well/README.md +64 -22
  331. package/design-system/components/Well/preview.html +14 -14
  332. package/design-system/components/Well/style.css +22 -0
  333. package/design-system/components/_house.css +324 -0
  334. package/design-system/components/bundle.css +4091 -744
  335. package/design-system/tokens.json +1314 -124
  336. package/dist/fello-core.css +2 -2
  337. package/dist/fello.css +6 -1369
  338. package/dist/fello.scoped.css +7 -0
  339. package/dist/index.d.ts +110 -11
  340. package/dist/index.js +781 -96
  341. package/dist/palettes.d.ts +464 -0
  342. package/dist/palettes.js +497 -0
  343. package/dist/scoped.d.ts +3 -0
  344. package/dist/scoped.js +16 -0
  345. package/dist/toast.d.ts +14 -0
  346. package/dist/toast.js +33 -29
  347. package/dist/tokens.d.ts +1686 -62
  348. package/dist/tokens.js +1668 -61
  349. package/package.json +20 -4
  350. package/scripts/check-palette.mjs +295 -0
  351. package/scripts/token-model.mjs +552 -0
  352. package/tokens/_dark.css +174 -0
  353. package/tokens/_palettes.css +46 -0
  354. package/tokens/_product.css +266 -53
  355. package/tokens/_source.hubl.css +39 -19
  356. package/tokens/design-tokens.json +319 -0
  357. package/tokens/palettes.ts +504 -0
  358. package/tokens/shadcn-compat.css +19 -19
  359. package/tokens/shadcn-compat.hsl.css +76 -0
  360. package/tokens/tokens.css +1292 -62
  361. package/tokens/tokens.md +588 -61
  362. package/tokens/tokens.root.css +1298 -62
  363. package/tokens/tokens.ts +1677 -64
@@ -0,0 +1,174 @@
1
+ /* ============================================================================
2
+ The dark theme (D12, kit 0.5.0, 4 Nov 2026). Opt-in only: an app that sets
3
+ nothing stays light.
4
+
5
+ <html data-theme="dark"> the night ground, always
6
+ <html data-theme="system"> the night ground on a dark OS
7
+ <html data-theme="dark" data-ground="navy"> the Ignite navy ground (brand and event pages)
8
+
9
+ scripts/generate-tokens.mjs reads the two blocks below and writes them, each
10
+ also under @media (prefers-color-scheme: dark) for data-theme="system", into
11
+ tokens.root.css, tokens.css, fello.css and fello.scoped.css (on .fello there).
12
+ Brand colours stay literal (white is white, navy is navy); the semantic names
13
+ carry the swap. Sources per value: the dark-theme research notes
14
+ (gtm-ai-impact public/ds-dark.css for night, ignite-dark.css and Usher for
15
+ navy). Every word pair is checked by the generator, which stops on a fail.
16
+ ========================================================================== */
17
+
18
+ :root[data-theme="dark"] {
19
+ /* D15: every ground, edge, tint and fade below derives from the dark contract inputs (the page, the tray, the
20
+ edges, the words, the chart tones), so an app's dark palette moves them. A solved partner keeps the night value
21
+ exactly; a tint or a fade is its tone over the page (within CIEDE2000 3.5 of the old literal). */
22
+ --ws-page: color-mix(in srgb, var(--color-bg-page) 50%, #05090e); /* #0A1118 */
23
+ --color-bg-page: #0F1922;
24
+ --color-surface: #131E28;
25
+ --ws-raised: #16222D;
26
+ --ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 93.75%, #8fb9e2); /* #17232E */
27
+ --ws-surface-press: color-mix(in srgb, var(--color-bg-page) 90%, #a5cdfe); /* #1E2B38 */
28
+ --ws-well: color-mix(in srgb, var(--ws-tray) 20%, rgb(6.25 14.25 21)); /* #0B141C: under the tray */
29
+ --ws-field: color-mix(in srgb, var(--color-bg-page) 50%, #070f16); /* #0B141C */
30
+ --ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 80%, #000509); /* #0C151D */
31
+ --ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 98.5%, #d7e1ea); /* #121C25 */
32
+ --ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 95%, #afcdfe); /* #17222D */
33
+ --ws-menu-hover: var(--ws-surface-press);
34
+ --ws-menu-line: color-mix(in srgb, var(--color-bg-page) 80%, #6e8cb8); /* #223040 */
35
+ --ws-tint-accent: var(--color-surface);
36
+ --ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 13.05%, var(--color-bg-page)); /* #2E252A */
37
+ --ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 12.1%, var(--color-bg-page)); /* was #0E2931 */
38
+ --ws-card-tint-blue: color-mix(in srgb, var(--color-bg-page) 90%, #879bf4); /* #1B2637: the page toward the mid blue */
39
+ --ws-card-tint-done: color-mix(in srgb, var(--ws-chart-finished) 10.4%, var(--color-bg-page)); /* was #10262B */
40
+ --ws-track: color-mix(in srgb, var(--ws-tray) 80%, #0a1215); /* #1A2631: the tray, darker */
41
+ --color-dropdown-bg: var(--ws-raised);
42
+ --color-feedback-success-bg: color-mix(in srgb, var(--ws-chart-finished) 20%, rgb(25 16.75 1.75)); /* #1B2F22 */
43
+ --ws-scrim: color-mix(in srgb, color-mix(in srgb, var(--ws-page) 20%, rgb(0 3.25 6.5)) 62%, transparent); /* rgba(2, 6, 10, .62): the shell, near black */
44
+ --ws-edge: #1E2A36;
45
+ --ws-edge-card: #273544;
46
+ --ws-edge-chip: color-mix(in srgb, var(--ws-edge-card) 96%, #a4cbf3); /* #2C3B4B */
47
+ --ws-edge-slot: color-mix(in srgb, var(--ws-edge-card) 75%, #071118); /* #1F2C39 */
48
+ --ws-edge-tray: color-mix(in srgb, var(--ws-tray) 90%, #aacbf6); /* #2C3B4B */
49
+ --color-text-heading: #E8EDF3;
50
+ --color-text-body: #B0BBC7;
51
+ --color-text-muted: #8494A5;
52
+ --color-text-placeholder: var(--color-text-muted);
53
+ --color-text-interactive: #93A6DC;
54
+ --color-text-primary: color-mix(in srgb, var(--color-text-heading) 53.5%, var(--color-text-body)); /* was #CDD6E0 */
55
+ --ws-word-needs: #FF8B78;
56
+ --color-text-error-strong: var(--ws-word-needs);
57
+ --ws-word-positive: #4FC7BE;
58
+ --color-text-success-strong: color-mix(in srgb, var(--ws-word-positive) 20%, #aed15f); /* #9BCF72 */
59
+ --color-feedback-success-text: var(--color-text-success-strong);
60
+ --ws-field-ink: color-mix(in srgb, var(--color-text-heading) 88%, var(--color-text-body)); /* #E1E7EE */
61
+ --ws-on-act: var(--color-bg-page); /* words on the light act are the page (#0F1922) */
62
+ --color-stat-positive: color-mix(in srgb, var(--ws-chart-finished) 80%, #9bf8ee); /* #3BB8B2: the teal tone, brighter, for marks */
63
+ --ws-chart-finished: #23A8A3;
64
+ --ws-chart-past-half: #9A84EE;
65
+ --ws-chart-navy-light: #6E9CC4;
66
+ --ws-chart-empty: var(--ws-track);
67
+ --ws-chart-dot: color-mix(in srgb, var(--color-bg-page) 90%, #91afd6); /* #1C2834 */
68
+ /* The fades and tints: each its tone over the page (was #2A4560, #5C342E, #3A325E, #1A4446, #1C4D4B, #3A3366;
69
+ the salmon tint keeps #4B3A2B, which no tone over the page lands near). */
70
+ --ws-chart-navy-fade: color-mix(in srgb, var(--ws-chart-navy-light) 36.2%, var(--color-bg-page));
71
+ --ws-chart-salmon-fade: color-mix(in srgb, var(--ws-chart-under-half) 33.2%, var(--color-bg-page));
72
+ --ws-chart-purple-fade: color-mix(in srgb, var(--ws-chart-past-half) 31.3%, var(--color-bg-page));
73
+ --ws-chart-teal-fade: color-mix(in srgb, var(--ws-chart-finished) 29.8%, var(--color-bg-page));
74
+ --ws-chart-finished-tint: color-mix(in srgb, var(--ws-chart-finished) 36.8%, var(--color-bg-page));
75
+ --ws-chart-past-half-tint: color-mix(in srgb, var(--ws-chart-past-half) 32.2%, var(--color-bg-page));
76
+ --ws-chart-under-half-tint: color-mix(in srgb, var(--ws-chart-under-half) 20%, rgb(30 44 30.75));
77
+ --color-feedback-error: color-mix(in srgb, var(--ws-chart-under-half) 90%, #ffe0a2); /* #FF7D63 */
78
+ --color-alert: #FF5A5A;
79
+ --ws-ink-rgb: 232, 237, 243;
80
+ --ws-shade-rgb: 0, 0, 0;
81
+ --ws-shade: #000; /* a drop in the dark is black */
82
+ --color-nav-hover-bg: color-mix(in srgb, var(--ws-ink) 4%, transparent);
83
+ --ws-shadow-band: inset 0 0.5px 0 color-mix(in srgb, var(--ws-tray) 96%, #82a8ce), inset 0 10px 6px 0 rgba(0, 0, 0, 0.06), inset 0 4px 4px 0 rgba(0, 0, 0, 0.1), inset 0 1px 2px 0 rgba(0, 0, 0, 0.14);
84
+ --ws-shadow-lift: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 6px 14px rgba(0, 0, 0, 0.32), 0 16px 40px rgba(0, 0, 0, 0.42);
85
+ --shadow-card-default: 0 1px 2px rgba(0, 0, 0, 0.3), 0 4px 8px rgba(0, 0, 0, 0.24);
86
+ --shadow-card-hover: var(--ws-shadow-lift);
87
+ --shadow-dropdown: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent), 0 8px 17px rgba(0, 0, 0, 0.3), 0 30px 30px rgba(0, 0, 0, 0.26), 0 68px 41px rgba(0, 0, 0, 0.16);
88
+ --ws-ring-selected: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 70%, transparent);
89
+ --ws-card-ring-lit: 0 0 0 2px color-mix(in srgb, var(--ws-ink) 32%, transparent);
90
+ --ws-card-ring-person: inset 0 0 0 1px color-mix(in srgb, var(--ws-ink) 14%, transparent);
91
+ /* The glows centred inside the hero and fading to nothing at their edge (centred on the top edge they read as a
92
+ hard-cut band), over the raised ground, so the hero keeps a body on the dark page (derived). */
93
+ --ws-glow-blue: color-mix(in srgb, var(--ws-chart-navy-light) 20%, rgb(42.5 151 251)); /* the AI blue #3898F0, from the dark navy tone */
94
+ --ws-cool-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));
95
+ --ws-team-glow: radial-gradient(80% 90% at 85% 10%, color-mix(in srgb, var(--ws-glow-blue) 14%, transparent), transparent), radial-gradient(70% 80% at 0% 90%, color-mix(in srgb, var(--ws-chart-under-half) 12%, transparent), transparent), linear-gradient(var(--ws-raised), var(--ws-raised));
96
+ --ws-orb: radial-gradient(circle at 30% 30% in srgb, color-mix(in srgb, var(--ws-chart-finished) 50%, #05ccf3), var(--ws-glow-blue) 45%, color-mix(in srgb, var(--ws-chart-past-half) 80%, #5902c6) 80%); /* the light orb's #14BACB, #3898F0, #8D6AE6, from the dark tones */
97
+ /* Added with 0.5.0 (F2, 4 Nov 2026). "derived": no Fello source draws it in dark;
98
+ a mix of kit colours or a shipped dark value, every word pair computed. */
99
+ --ws-tray: #1E2B38; /* derived: the night press step, so the rim lifts off the stage as #EDEDED does off the cream and words on a foot pass (muted 4.64) */
100
+ --ws-edge-card-1x: var(--ws-edge-card); /* gtm ds-dark.css:133: halving the edge leaves 1.2:1 or less on dark */
101
+ --ws-well-hover: #273544; /* derived: the frame lights to the card edge */
102
+ --ws-frame: var(--ws-frame-top); /* the light wash drops out (dark-theme notes: glass interim): a flat frame-top, the shell unless a palette says */
103
+ --ws-frame-top: var(--ws-page); /* what the flat frame paints, so a palette's dark value reads true (D15) */
104
+ --ws-stage-foot: var(--color-bg-page);
105
+ --ws-stage-wash: var(--color-bg-page);
106
+ --ws-glass: color-mix(in srgb, var(--color-bg-page) 59%, transparent); /* derived interim until Seth draws the dark glass */
107
+ --ws-edge-stage: var(--ws-edge-card);
108
+ --ws-float-rim: 0 0 0 0.5px color-mix(in srgb, var(--ws-ink) 8%, transparent); /* gtm ds-dark.css: a light rim, since a shadow does not show */
109
+ --ws-chart-alert: #FF5470; /* was #FF5A5A (gtm --color-alert dark), CIEDE2000 6.1 from salmon: a chart could not tell the two apart. A step toward crimson, 12.3 from salmon and 11.9 from the pink; words 4.63 on press (D15) */
110
+ --ws-word-needs-work: var(--ws-chart-needs-work); /* derived: Seth's pink itself clears AA on every night ground (5.26 on press) */
111
+ --ws-tint-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 18%, var(--color-bg-page)); /* derived, the tint-needs formula */
112
+ --ws-shimmer: linear-gradient(100deg, var(--ws-track) 0 34%, color-mix(in srgb, var(--ws-chart-under-half) 14%, var(--ws-track)) 44%, color-mix(in srgb, var(--ws-chart-past-half) 14%, var(--ws-track)) 50%, color-mix(in srgb, var(--color-stat-positive) 14%, var(--ws-track)) 56%, var(--ws-track) 66% 100%); /* derived: the chart colours at 14% over the dark track; still frames plain, as in light */
113
+ /* Promoted at integration (0.5.0): the packages' scoped dark values, now global. */
114
+ --ws-rating-middle: var(--color-text-interactive); /* the mid blue was 2.5:1 on night, under 3:1 for a mark; its words' own dark step */
115
+ --ws-raised-sunk: var(--ws-surface-press); /* the page's sunk is 1/255 off raised in dark */
116
+ --ws-edge-hover: var(--color-text-muted); /* derived (WP-controls): no Fello dark value, the edge lifts toward the muted words */
117
+ --ws-act-hover: color-mix(in srgb, var(--color-text-heading) 92%, var(--ws-on-act)); /* derived: the light act eases a step toward its words */
118
+ --ws-act-light: transparent; /* a light on a light fill only muddies it */
119
+ --ws-agent-tally: var(--color-text-heading); /* the act itself in dark (WP-controls) */
120
+ --ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 79.8%, var(--color-bg-page)); /* derived: the muted words toward the page, 3.3:1 on the tray, 4.0 on night, a mark (was #6B7A8A) */
121
+ --ws-control-off: color-mix(in srgb, var(--color-text-muted) 50%, #7a6a59); /* #7F7F7F, the off track as in light */
122
+ --ws-shimmer-ground: var(--ws-track);
123
+ --ws-inverse: var(--color-bg-dark); /* a brand pair in dark: the navy message keeps the navy and white (D12) */
124
+ --ws-on-inverse: var(--color-white);
125
+ --ws-chart-rest: var(--ws-edge-card);
126
+ --ws-ghost: var(--ws-well-hover);
127
+ --ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--ws-field-ink)); /* derived (WP-cards): between the body and the field's words */
128
+ }
129
+
130
+ :root[data-theme="dark"][data-ground="navy"] {
131
+ --ws-page: var(--color-bg-page);
132
+ --color-bg-page: #021A32;
133
+ --color-surface: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));
134
+ --ws-raised: color-mix(in srgb, var(--color-bg-page) 92%, var(--color-white));
135
+ --ws-surface-sunk: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));
136
+ --ws-surface-press: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white));
137
+ --ws-well: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));
138
+ --ws-field: var(--color-white);
139
+ --ws-chart-foot: color-mix(in srgb, var(--color-bg-page) 95%, var(--color-white));
140
+ --ws-sidebar-hover: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));
141
+ --ws-sidebar-press: color-mix(in srgb, var(--color-bg-page) 90%, var(--color-white));
142
+ --ws-menu-hover: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));
143
+ --ws-menu-line: var(--ws-edge-card);
144
+ --ws-tint-accent: color-mix(in srgb, var(--color-bg-page) 94%, var(--color-white));
145
+ --ws-tint-needs: color-mix(in srgb, var(--ws-chart-under-half) 18%, var(--color-bg-page));
146
+ --ws-tint-live: color-mix(in srgb, var(--ws-chart-finished) 13.1%, var(--color-bg-page)); /* was the light teal 18% (#032D41) */
147
+ --ws-card-tint-blue: color-mix(in srgb, var(--color-brand-mid-blue) 25%, var(--color-bg-page));
148
+ --ws-card-tint-done: var(--ws-tint-live);
149
+ --ws-track: color-mix(in srgb, var(--color-bg-page) 88%, var(--color-white));
150
+ --ws-edge: color-mix(in srgb, var(--color-white) 10%, transparent);
151
+ --ws-edge-card: color-mix(in srgb, var(--color-white) 18%, transparent);
152
+ --ws-edge-chip: var(--ws-edge-card);
153
+ --ws-edge-slot: var(--ws-edge-card);
154
+ --ws-edge-tray: var(--ws-edge-card);
155
+ --color-text-heading: #FFFFFF;
156
+ --color-text-body: #D3D3D3;
157
+ --color-text-muted: #A9A9A9;
158
+ --color-text-placeholder: #6E6E6E;
159
+ --color-text-primary: color-mix(in srgb, var(--color-text-heading) 93%, #000000); /* #EDEDED */
160
+ --ws-field-ink: var(--color-brand-navy);
161
+ --ws-field-mark: var(--ws-field-ink); /* the fields are white here, so their marks take the field's own ink (promoted from Input, 0.5.0) */
162
+ --ws-chart-empty: var(--ws-track);
163
+ --ws-chart-dot: color-mix(in srgb, var(--ws-ink) 10%, transparent);
164
+ --ws-chart-navy-fade: color-mix(in srgb, var(--color-text-heading) 30%, var(--color-bg-page));
165
+ --ws-ink-rgb: 255, 255, 255;
166
+ --ws-shadow-band: inset 0 var(--ws-hairline) 0 var(--ws-edge-tray);
167
+ /* Added with 0.5.0 (F2): the navy press step is 84% white, so words lift further. */
168
+ --ws-tray: color-mix(in srgb, var(--color-bg-page) 84%, var(--color-white)); /* derived: the navy press step */
169
+ --ws-word-needs-work: color-mix(in srgb, var(--ws-chart-needs-work) 80%, #fdcfe0); /* #F583B0, derived: the pink toward white, 4.53 on the navy press */
170
+ --ws-word-alert: #FF8282; /* derived: the dark red 24% toward white, 4.53 on the navy press */
171
+ --ws-word-past-half: color-mix(in srgb, var(--ws-chart-past-half) 80%, #f9f7fd); /* #AD9BF1, derived: the dark purple toward white, 4.52 on the navy press */
172
+ --ws-mark-muted: color-mix(in srgb, var(--color-text-muted) 80%, #0e5eb3); /* #8A9AAB, derived: 3.8:1 on the navy tray, a mark */
173
+ --ws-word-answer: color-mix(in srgb, var(--color-text-body) 50%, var(--color-text-heading)); /* WP-cards: the field ink is navy on this ground */
174
+ }
@@ -0,0 +1,46 @@
1
+ /* ============================================================================
2
+ The built-in palettes (D15, kit 0.5.0, 4 Nov 2026). A palette is named for how it
3
+ looks, never for an app. With no attribute the kit is its own palette, "default".
4
+
5
+ <html data-palette="cool"> the whole page
6
+ <div class="fello" data-palette="warm" data-theme="dark"> one container, dark
7
+
8
+ Each palette sets only contract tokens (tokens/design-tokens.json "palette"), in the
9
+ same form an app writes its own: the light values on [data-palette="name"], the dark
10
+ ones on [data-palette="name"][data-theme="dark"]. A token it changes in light and
11
+ leaves out of dark takes the kit's dark value there, derived from the dark inputs
12
+ (reported by the check). Marks keep their source's exact tone; a word in that tone
13
+ takes its AA step (D2).
14
+
15
+ scripts/generate-tokens.mjs writes these into tokens.css, tokens.root.css, fello.css
16
+ and the scoped build in the form `check-palette --emit` writes for an app's own (each
17
+ palette on any element, light or dark, nested either way), and stops when
18
+ scripts/check-palette.mjs finds a word under AA, a weak focus ring or chart tones
19
+ that cannot be told apart. Sources are data, quoted by value.
20
+
21
+ The first product's shipped tally navy (#093555, its globals.css) differs from the
22
+ default's #2C4870 in that one token; Seth's value wins (D1), so it has no palette of
23
+ its own: the product adopts the default's tally.
24
+ ========================================================================== */
25
+
26
+ /* cool: the blue-grey sky ground under a glass stage, links in the heading navy, the
27
+ finer #E2E2E2 row lines. Source: Seth's prototype CSS (style1.css :root and the frame,
28
+ lines 6, 12-14, 76-78, 132, 195). Its paper, well, edges, hovers, coral and tones are
29
+ already the kit's (the default took them from it), so they are not repeated. */
30
+ [data-palette="cool"] {
31
+ --ws-stage-foot: #fefbf9; /* the stage is glass over the sky, never washed warm (style1.css:76-78) */
32
+ --ws-edge: #e2e2e2; /* --line: row hairlines inside cards (style1.css:195) */
33
+ --color-text-interactive: var(--color-text-heading); /* links and acting words are the navy (style1.css:132) */
34
+ }
35
+ [data-palette="cool"][data-theme="dark"] {
36
+ --color-text-interactive: var(--color-text-heading); /* derived: the source draws no dark; links keep the heading's tone */
37
+ }
38
+
39
+ /* warm: the plain warm cream with no sky over it, the stage washed from the cream to
40
+ #FEF9F6, the #EDEDED tray and the #F3F1EF plate. Source: Seth's six product frames
41
+ (the stage 301:1630, the tray card 2.1, the agent tones). Tally #2C4870, coach #098486,
42
+ growth #6D4FC2, recruit salmon, error #B1042F, the tray and the plate are already the
43
+ kit's, so only the sky differs. */
44
+ [data-palette="warm"] {
45
+ --ws-frame-top: #fefbf9; /* no sky: the frames' page is the cream itself */
46
+ }