forgebook 0.1.3 → 0.1.5

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 (379) hide show
  1. package/README.md +99 -6
  2. package/dist/bin/forgebook/agentClient.d.ts +17 -0
  3. package/dist/bin/forgebook/agentClient.d.ts.map +1 -1
  4. package/dist/bin/forgebook/agentClient.js +21 -0
  5. package/dist/bin/forgebook/agentClient.js.map +1 -1
  6. package/dist/bin/forgebook/agentLoopCommands.d.mts +9 -0
  7. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +1 -0
  8. package/dist/bin/forgebook/agentLoopCommands.mjs +217 -0
  9. package/dist/bin/forgebook/agentLoopCommands.mjs.map +1 -0
  10. package/dist/bin/forgebook/agentText.d.ts +37 -1
  11. package/dist/bin/forgebook/agentText.d.ts.map +1 -1
  12. package/dist/bin/forgebook/agentText.js +49 -2
  13. package/dist/bin/forgebook/agentText.js.map +1 -1
  14. package/dist/bin/forgebook/agents.md +51 -0
  15. package/dist/bin/forgebook/agentsText.d.ts +29 -0
  16. package/dist/bin/forgebook/agentsText.d.ts.map +1 -0
  17. package/dist/bin/forgebook/agentsText.js +48 -0
  18. package/dist/bin/forgebook/agentsText.js.map +1 -0
  19. package/dist/bin/forgebook/catalogueCommands.d.ts +51 -0
  20. package/dist/bin/forgebook/catalogueCommands.d.ts.map +1 -0
  21. package/dist/bin/forgebook/catalogueCommands.js +90 -0
  22. package/dist/bin/forgebook/catalogueCommands.js.map +1 -0
  23. package/dist/bin/forgebook/errorsRun.d.ts +27 -0
  24. package/dist/bin/forgebook/errorsRun.d.ts.map +1 -0
  25. package/dist/bin/forgebook/errorsRun.js +60 -0
  26. package/dist/bin/forgebook/errorsRun.js.map +1 -0
  27. package/dist/bin/forgebook/forgebook.mjs +121 -86
  28. package/dist/bin/forgebook/forgebook.mjs.map +1 -1
  29. package/dist/bin/forgebook/importers/storybook.d.ts +53 -0
  30. package/dist/bin/forgebook/importers/storybook.d.ts.map +1 -0
  31. package/dist/bin/forgebook/importers/storybook.js +318 -0
  32. package/dist/bin/forgebook/importers/storybook.js.map +1 -0
  33. package/dist/bin/forgebook/initCommands.d.mts +9 -0
  34. package/dist/bin/forgebook/initCommands.d.mts.map +1 -0
  35. package/dist/bin/forgebook/initCommands.mjs +86 -0
  36. package/dist/bin/forgebook/initCommands.mjs.map +1 -0
  37. package/dist/bin/forgebook/initConfig.d.ts +22 -0
  38. package/dist/bin/forgebook/initConfig.d.ts.map +1 -0
  39. package/dist/bin/forgebook/initConfig.js +51 -0
  40. package/dist/bin/forgebook/initConfig.js.map +1 -0
  41. package/dist/bin/forgebook/mcpTools.d.ts +29 -3
  42. package/dist/bin/forgebook/mcpTools.d.ts.map +1 -1
  43. package/dist/bin/forgebook/mcpTools.js +130 -7
  44. package/dist/bin/forgebook/mcpTools.js.map +1 -1
  45. package/dist/bin/forgebook/newStories.d.ts +27 -0
  46. package/dist/bin/forgebook/newStories.d.ts.map +1 -0
  47. package/dist/bin/forgebook/newStories.js +109 -0
  48. package/dist/bin/forgebook/newStories.js.map +1 -0
  49. package/dist/bin/forgebook/newStoriesFile.d.ts +18 -0
  50. package/dist/bin/forgebook/newStoriesFile.d.ts.map +1 -0
  51. package/dist/bin/forgebook/newStoriesFile.js +58 -0
  52. package/dist/bin/forgebook/newStoriesFile.js.map +1 -0
  53. package/dist/bin/forgebook/storyCheckRun.d.ts +49 -0
  54. package/dist/bin/forgebook/storyCheckRun.d.ts.map +1 -0
  55. package/dist/bin/forgebook/storyCheckRun.js +178 -0
  56. package/dist/bin/forgebook/storyCheckRun.js.map +1 -0
  57. package/dist/bin/forgebook/touchWindowRun.d.ts +17 -0
  58. package/dist/bin/forgebook/touchWindowRun.d.ts.map +1 -0
  59. package/dist/bin/forgebook/touchWindowRun.js +21 -0
  60. package/dist/bin/forgebook/touchWindowRun.js.map +1 -0
  61. package/dist/bin/forgebook-docs/catalogueDocs.d.ts +24 -0
  62. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +1 -0
  63. package/dist/bin/forgebook-docs/catalogueDocs.js +71 -0
  64. package/dist/bin/forgebook-docs/catalogueDocs.js.map +1 -0
  65. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +8 -0
  66. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +1 -1
  67. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +3 -1
  68. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +1 -1
  69. package/dist/bin/forgebook-docs/catalogueMarkdown.js +62 -42
  70. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +1 -1
  71. package/dist/bin/forgebook-docs/catalogueOptions.d.ts +39 -0
  72. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +1 -0
  73. package/dist/bin/forgebook-docs/catalogueOptions.js +76 -0
  74. package/dist/bin/forgebook-docs/catalogueOptions.js.map +1 -0
  75. package/dist/bin/forgebook-docs/collectDocs.d.ts +3 -1
  76. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +1 -1
  77. package/dist/bin/forgebook-docs/collectDocs.js +37 -13
  78. package/dist/bin/forgebook-docs/collectDocs.js.map +1 -1
  79. package/dist/bin/forgebook-docs/forgebook-docs.mjs +17 -80
  80. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +1 -1
  81. package/dist/bin/forgebook-docs/llmsText.d.ts +24 -0
  82. package/dist/bin/forgebook-docs/llmsText.d.ts.map +1 -0
  83. package/dist/bin/forgebook-docs/llmsText.js +33 -0
  84. package/dist/bin/forgebook-docs/llmsText.js.map +1 -0
  85. package/dist/bin/forgebook-docs/sourceId.d.ts +9 -0
  86. package/dist/bin/forgebook-docs/sourceId.d.ts.map +1 -0
  87. package/dist/bin/forgebook-docs/sourceId.js +45 -0
  88. package/dist/bin/forgebook-docs/sourceId.js.map +1 -0
  89. package/dist/bin/frameworkDocs.d.ts +10 -0
  90. package/dist/bin/frameworkDocs.d.ts.map +1 -0
  91. package/dist/bin/frameworkDocs.js +43 -0
  92. package/dist/bin/frameworkDocs.js.map +1 -0
  93. package/dist/src/argTypes.d.ts +23 -0
  94. package/dist/src/argTypes.d.ts.map +1 -1
  95. package/dist/src/argTypes.js +27 -0
  96. package/dist/src/argTypes.js.map +1 -1
  97. package/dist/src/catalogue.d.ts +70 -3
  98. package/dist/src/catalogue.d.ts.map +1 -1
  99. package/dist/src/catalogue.js +85 -3
  100. package/dist/src/catalogue.js.map +1 -1
  101. package/dist/src/controlKeys.d.ts +85 -0
  102. package/dist/src/controlKeys.d.ts.map +1 -0
  103. package/dist/src/controlKeys.js +118 -0
  104. package/dist/src/controlKeys.js.map +1 -0
  105. package/dist/src/frame/frame.css +33 -2
  106. package/dist/src/frame/frameView.d.ts +2 -2
  107. package/dist/src/frame/frameView.d.ts.map +1 -1
  108. package/dist/src/frame/frameView.js +7 -3
  109. package/dist/src/frame/frameView.js.map +1 -1
  110. package/dist/src/frame/mountFrame.d.ts.map +1 -1
  111. package/dist/src/frame/mountFrame.js +30 -2
  112. package/dist/src/frame/mountFrame.js.map +1 -1
  113. package/dist/src/frame/spillOutline.d.ts +10 -0
  114. package/dist/src/frame/spillOutline.d.ts.map +1 -0
  115. package/dist/src/frame/spillOutline.js +80 -0
  116. package/dist/src/frame/spillOutline.js.map +1 -0
  117. package/dist/src/frame/touchDots.d.ts +32 -0
  118. package/dist/src/frame/touchDots.d.ts.map +1 -0
  119. package/dist/src/frame/touchDots.js +52 -0
  120. package/dist/src/frame/touchDots.js.map +1 -0
  121. package/dist/src/frame/touchEvents.d.ts +66 -0
  122. package/dist/src/frame/touchEvents.d.ts.map +1 -0
  123. package/dist/src/frame/touchEvents.js +152 -0
  124. package/dist/src/frame/touchEvents.js.map +1 -0
  125. package/dist/src/frame/touchGesture.d.ts +80 -0
  126. package/dist/src/frame/touchGesture.d.ts.map +1 -0
  127. package/dist/src/frame/touchGesture.js +87 -0
  128. package/dist/src/frame/touchGesture.js.map +1 -0
  129. package/dist/src/frame/touchLayer.d.ts +7 -0
  130. package/dist/src/frame/touchLayer.d.ts.map +1 -0
  131. package/dist/src/frame/touchLayer.js +399 -0
  132. package/dist/src/frame/touchLayer.js.map +1 -0
  133. package/dist/src/frame/touchScroll.d.ts +51 -0
  134. package/dist/src/frame/touchScroll.d.ts.map +1 -0
  135. package/dist/src/frame/touchScroll.js +137 -0
  136. package/dist/src/frame/touchScroll.js.map +1 -0
  137. package/dist/src/liveErrors.d.ts +57 -0
  138. package/dist/src/liveErrors.d.ts.map +1 -0
  139. package/dist/src/liveErrors.js +52 -0
  140. package/dist/src/liveErrors.js.map +1 -0
  141. package/dist/src/messages.d.ts +12 -0
  142. package/dist/src/messages.d.ts.map +1 -1
  143. package/dist/src/messages.js +4 -0
  144. package/dist/src/messages.js.map +1 -1
  145. package/dist/src/namedViews.d.ts +80 -0
  146. package/dist/src/namedViews.d.ts.map +1 -0
  147. package/dist/src/namedViews.js +88 -0
  148. package/dist/src/namedViews.js.map +1 -0
  149. package/dist/src/realTouch.d.ts +21 -0
  150. package/dist/src/realTouch.d.ts.map +1 -0
  151. package/dist/src/realTouch.js +16 -0
  152. package/dist/src/realTouch.js.map +1 -0
  153. package/dist/src/shell/AppearanceMenu.d.ts +15 -0
  154. package/dist/src/shell/AppearanceMenu.d.ts.map +1 -0
  155. package/dist/src/shell/AppearanceMenu.js +28 -0
  156. package/dist/src/shell/AppearanceMenu.js.map +1 -0
  157. package/dist/src/shell/BoxWidth.d.ts +40 -0
  158. package/dist/src/shell/BoxWidth.d.ts.map +1 -0
  159. package/dist/src/shell/BoxWidth.js +56 -0
  160. package/dist/src/shell/BoxWidth.js.map +1 -0
  161. package/dist/src/shell/ComponentPage.d.ts +17 -1
  162. package/dist/src/shell/ComponentPage.d.ts.map +1 -1
  163. package/dist/src/shell/ComponentPage.js +19 -54
  164. package/dist/src/shell/ComponentPage.js.map +1 -1
  165. package/dist/src/shell/ControlKeyField.d.ts +21 -0
  166. package/dist/src/shell/ControlKeyField.d.ts.map +1 -0
  167. package/dist/src/shell/ControlKeyField.js +46 -0
  168. package/dist/src/shell/ControlKeyField.js.map +1 -0
  169. package/dist/src/shell/ControlRow.d.ts +31 -0
  170. package/dist/src/shell/ControlRow.d.ts.map +1 -0
  171. package/dist/src/shell/ControlRow.js +30 -0
  172. package/dist/src/shell/ControlRow.js.map +1 -0
  173. package/dist/src/shell/Example.d.ts +58 -0
  174. package/dist/src/shell/Example.d.ts.map +1 -0
  175. package/dist/src/shell/Example.js +89 -0
  176. package/dist/src/shell/Example.js.map +1 -0
  177. package/dist/src/shell/InfoTip.d.ts +23 -0
  178. package/dist/src/shell/InfoTip.d.ts.map +1 -0
  179. package/dist/src/shell/InfoTip.js +51 -0
  180. package/dist/src/shell/InfoTip.js.map +1 -0
  181. package/dist/src/shell/NamedViews.d.ts +23 -0
  182. package/dist/src/shell/NamedViews.d.ts.map +1 -0
  183. package/dist/src/shell/NamedViews.js +49 -0
  184. package/dist/src/shell/NamedViews.js.map +1 -0
  185. package/dist/src/shell/PinnedControl.d.ts +25 -0
  186. package/dist/src/shell/PinnedControl.d.ts.map +1 -0
  187. package/dist/src/shell/PinnedControl.js +82 -0
  188. package/dist/src/shell/PinnedControl.js.map +1 -0
  189. package/dist/src/shell/PropsTab.d.ts +5 -2
  190. package/dist/src/shell/PropsTab.d.ts.map +1 -1
  191. package/dist/src/shell/PropsTab.js +12 -15
  192. package/dist/src/shell/PropsTab.js.map +1 -1
  193. package/dist/src/shell/Shell.d.ts.map +1 -1
  194. package/dist/src/shell/Shell.js +27 -2
  195. package/dist/src/shell/Shell.js.map +1 -1
  196. package/dist/src/shell/Sidebar.d.ts +11 -9
  197. package/dist/src/shell/Sidebar.d.ts.map +1 -1
  198. package/dist/src/shell/Sidebar.js +48 -42
  199. package/dist/src/shell/Sidebar.js.map +1 -1
  200. package/dist/src/shell/SidebarEntries.d.ts +50 -0
  201. package/dist/src/shell/SidebarEntries.d.ts.map +1 -0
  202. package/dist/src/shell/SidebarEntries.js +51 -0
  203. package/dist/src/shell/SidebarEntries.js.map +1 -0
  204. package/dist/src/shell/Stage.d.ts.map +1 -1
  205. package/dist/src/shell/Stage.js +19 -2
  206. package/dist/src/shell/Stage.js.map +1 -1
  207. package/dist/src/shell/Toolbar.d.ts +7 -3
  208. package/dist/src/shell/Toolbar.d.ts.map +1 -1
  209. package/dist/src/shell/Toolbar.js +38 -68
  210. package/dist/src/shell/Toolbar.js.map +1 -1
  211. package/dist/src/shell/ToolbarControl.d.ts +47 -0
  212. package/dist/src/shell/ToolbarControl.d.ts.map +1 -0
  213. package/dist/src/shell/ToolbarControl.js +150 -0
  214. package/dist/src/shell/ToolbarControl.js.map +1 -0
  215. package/dist/src/shell/UsedIn.d.ts +38 -0
  216. package/dist/src/shell/UsedIn.d.ts.map +1 -0
  217. package/dist/src/shell/UsedIn.js +77 -0
  218. package/dist/src/shell/UsedIn.js.map +1 -0
  219. package/dist/src/shell/ViewMenu.d.ts +37 -0
  220. package/dist/src/shell/ViewMenu.d.ts.map +1 -0
  221. package/dist/src/shell/ViewMenu.js +219 -0
  222. package/dist/src/shell/ViewMenu.js.map +1 -0
  223. package/dist/src/shell/controlCycle.d.ts +28 -0
  224. package/dist/src/shell/controlCycle.d.ts.map +1 -0
  225. package/dist/src/shell/controlCycle.js +51 -0
  226. package/dist/src/shell/controlCycle.js.map +1 -0
  227. package/dist/src/shell/dockTabs.d.ts +3 -0
  228. package/dist/src/shell/dockTabs.d.ts.map +1 -1
  229. package/dist/src/shell/dockTabs.js +1 -1
  230. package/dist/src/shell/dockTabs.js.map +1 -1
  231. package/dist/src/shell/icons.d.ts +7 -0
  232. package/dist/src/shell/icons.d.ts.map +1 -1
  233. package/dist/src/shell/icons.js +8 -1
  234. package/dist/src/shell/icons.js.map +1 -1
  235. package/dist/src/shell/keyboard.d.ts +2 -1
  236. package/dist/src/shell/keyboard.d.ts.map +1 -1
  237. package/dist/src/shell/keyboard.js +5 -2
  238. package/dist/src/shell/keyboard.js.map +1 -1
  239. package/dist/src/shell/shell.css +876 -244
  240. package/dist/src/shell/strings.d.ts +46 -0
  241. package/dist/src/shell/strings.d.ts.map +1 -1
  242. package/dist/src/shell/strings.js +46 -0
  243. package/dist/src/shell/strings.js.map +1 -1
  244. package/dist/src/shell/useAppearance.d.ts +17 -0
  245. package/dist/src/shell/useAppearance.d.ts.map +1 -0
  246. package/dist/src/shell/useAppearance.js +36 -0
  247. package/dist/src/shell/useAppearance.js.map +1 -0
  248. package/dist/src/shell/useControlKeys.d.ts +23 -0
  249. package/dist/src/shell/useControlKeys.d.ts.map +1 -0
  250. package/dist/src/shell/useControlKeys.js +44 -0
  251. package/dist/src/shell/useControlKeys.js.map +1 -0
  252. package/dist/src/shell/useFold.d.ts +27 -0
  253. package/dist/src/shell/useFold.d.ts.map +1 -0
  254. package/dist/src/shell/useFold.js +87 -0
  255. package/dist/src/shell/useFold.js.map +1 -0
  256. package/dist/src/shell/useFrameMessages.d.ts +2 -0
  257. package/dist/src/shell/useFrameMessages.d.ts.map +1 -1
  258. package/dist/src/shell/useFrameMessages.js +3 -0
  259. package/dist/src/shell/useFrameMessages.js.map +1 -1
  260. package/dist/src/shell/useFullPage.d.ts +45 -0
  261. package/dist/src/shell/useFullPage.d.ts.map +1 -0
  262. package/dist/src/shell/useFullPage.js +149 -0
  263. package/dist/src/shell/useFullPage.js.map +1 -0
  264. package/dist/src/shell/usePopover.d.ts +17 -3
  265. package/dist/src/shell/usePopover.d.ts.map +1 -1
  266. package/dist/src/shell/usePopover.js +65 -4
  267. package/dist/src/shell/usePopover.js.map +1 -1
  268. package/dist/src/shell/useStored.d.ts +13 -2
  269. package/dist/src/shell/useStored.d.ts.map +1 -1
  270. package/dist/src/shell/useStored.js +1 -1
  271. package/dist/src/shell/useStored.js.map +1 -1
  272. package/dist/src/shell/useToolbarLayout.d.ts +39 -0
  273. package/dist/src/shell/useToolbarLayout.d.ts.map +1 -0
  274. package/dist/src/shell/useToolbarLayout.js +58 -0
  275. package/dist/src/shell/useToolbarLayout.js.map +1 -0
  276. package/dist/src/shell/useToolbarOverflow.d.ts +31 -0
  277. package/dist/src/shell/useToolbarOverflow.d.ts.map +1 -0
  278. package/dist/src/shell/useToolbarOverflow.js +62 -0
  279. package/dist/src/shell/useToolbarOverflow.js.map +1 -0
  280. package/dist/src/shell/useWorstCase.d.ts +46 -0
  281. package/dist/src/shell/useWorstCase.d.ts.map +1 -0
  282. package/dist/src/shell/useWorstCase.js +42 -0
  283. package/dist/src/shell/useWorstCase.js.map +1 -0
  284. package/dist/src/shell/worstArgs.d.ts +42 -0
  285. package/dist/src/shell/worstArgs.d.ts.map +1 -0
  286. package/dist/src/shell/worstArgs.js +47 -0
  287. package/dist/src/shell/worstArgs.js.map +1 -0
  288. package/dist/src/spills.d.ts +31 -0
  289. package/dist/src/spills.d.ts.map +1 -0
  290. package/dist/src/spills.js +65 -0
  291. package/dist/src/spills.js.map +1 -0
  292. package/dist/src/storyCheck.d.ts +105 -0
  293. package/dist/src/storyCheck.d.ts.map +1 -0
  294. package/dist/src/storyCheck.js +63 -0
  295. package/dist/src/storyCheck.js.map +1 -0
  296. package/dist/src/switches.d.ts +26 -4
  297. package/dist/src/switches.d.ts.map +1 -1
  298. package/dist/src/switches.js +50 -5
  299. package/dist/src/switches.js.map +1 -1
  300. package/dist/src/toolbarLayout.d.ts +119 -0
  301. package/dist/src/toolbarLayout.d.ts.map +1 -0
  302. package/dist/src/toolbarLayout.js +155 -0
  303. package/dist/src/toolbarLayout.js.map +1 -0
  304. package/dist/src/usedIn.d.ts +60 -0
  305. package/dist/src/usedIn.d.ts.map +1 -0
  306. package/dist/src/usedIn.js +92 -0
  307. package/dist/src/usedIn.js.map +1 -0
  308. package/dist/src/viewState.d.ts +9 -11
  309. package/dist/src/viewState.d.ts.map +1 -1
  310. package/dist/src/viewState.js +24 -20
  311. package/dist/src/viewState.js.map +1 -1
  312. package/dist/src/viewWords.d.ts +26 -0
  313. package/dist/src/viewWords.d.ts.map +1 -0
  314. package/dist/src/viewWords.js +29 -0
  315. package/dist/src/viewWords.js.map +1 -0
  316. package/dist/src/vite/adapter.d.ts +13 -4
  317. package/dist/src/vite/adapter.d.ts.map +1 -1
  318. package/dist/src/vite/adapter.js +4 -2
  319. package/dist/src/vite/adapter.js.map +1 -1
  320. package/dist/src/vite/agent.types.d.ts +32 -2
  321. package/dist/src/vite/agent.types.d.ts.map +1 -1
  322. package/dist/src/vite/agentApi.d.ts +15 -3
  323. package/dist/src/vite/agentApi.d.ts.map +1 -1
  324. package/dist/src/vite/agentApi.js +63 -9
  325. package/dist/src/vite/agentApi.js.map +1 -1
  326. package/dist/src/vite/agentRoutes.d.ts +8 -3
  327. package/dist/src/vite/agentRoutes.d.ts.map +1 -1
  328. package/dist/src/vite/agentRoutes.js +84 -23
  329. package/dist/src/vite/agentRoutes.js.map +1 -1
  330. package/dist/src/vite/configFile.d.ts +2 -1
  331. package/dist/src/vite/configFile.d.ts.map +1 -1
  332. package/dist/src/vite/configFile.js +29 -11
  333. package/dist/src/vite/configFile.js.map +1 -1
  334. package/dist/src/vite/docsExtractor.d.ts +26 -2
  335. package/dist/src/vite/docsExtractor.d.ts.map +1 -1
  336. package/dist/src/vite/docsExtractor.js +12 -9
  337. package/dist/src/vite/docsExtractor.js.map +1 -1
  338. package/dist/src/vite/docsWorker.js +18 -2
  339. package/dist/src/vite/docsWorker.js.map +1 -1
  340. package/dist/src/vite/forcedStates.d.ts +6 -2
  341. package/dist/src/vite/forcedStates.d.ts.map +1 -1
  342. package/dist/src/vite/forcedStates.js +20 -4
  343. package/dist/src/vite/forcedStates.js.map +1 -1
  344. package/dist/src/vite/forgebookPlugin.d.ts.map +1 -1
  345. package/dist/src/vite/forgebookPlugin.js +104 -16
  346. package/dist/src/vite/forgebookPlugin.js.map +1 -1
  347. package/dist/src/vite/indexStoryFile.d.ts +14 -0
  348. package/dist/src/vite/indexStoryFile.d.ts.map +1 -1
  349. package/dist/src/vite/indexStoryFile.js +13 -4
  350. package/dist/src/vite/indexStoryFile.js.map +1 -1
  351. package/dist/src/vite/mcpProtocol.d.ts +9 -0
  352. package/dist/src/vite/mcpProtocol.d.ts.map +1 -1
  353. package/dist/src/vite/mcpProtocol.js +6 -3
  354. package/dist/src/vite/mcpProtocol.js.map +1 -1
  355. package/dist/src/vite/storyFilesModule.d.ts +44 -1
  356. package/dist/src/vite/storyFilesModule.d.ts.map +1 -1
  357. package/dist/src/vite/storyFilesModule.js +49 -14
  358. package/dist/src/vite/storyFilesModule.js.map +1 -1
  359. package/dist/src/vite/touchMedia.d.ts +35 -0
  360. package/dist/src/vite/touchMedia.d.ts.map +1 -0
  361. package/dist/src/vite/touchMedia.js +187 -0
  362. package/dist/src/vite/touchMedia.js.map +1 -0
  363. package/dist/src/vite/usageGraph.d.ts +45 -0
  364. package/dist/src/vite/usageGraph.d.ts.map +1 -0
  365. package/dist/src/vite/usageGraph.js +246 -0
  366. package/dist/src/vite/usageGraph.js.map +1 -0
  367. package/dist/src/vite/usageModule.d.ts +33 -0
  368. package/dist/src/vite/usageModule.d.ts.map +1 -0
  369. package/dist/src/vite/usageModule.js +135 -0
  370. package/dist/src/vite/usageModule.js.map +1 -0
  371. package/dist/src/worstCase.d.ts +16 -0
  372. package/dist/src/worstCase.d.ts.map +1 -0
  373. package/dist/src/worstCase.js +16 -0
  374. package/dist/src/worstCase.js.map +1 -0
  375. package/package.json +18 -2
  376. package/dist/src/shell/SchemeSwitches.d.ts +0 -24
  377. package/dist/src/shell/SchemeSwitches.d.ts.map +0 -1
  378. package/dist/src/shell/SchemeSwitches.js +0 -36
  379. package/dist/src/shell/SchemeSwitches.js.map +0 -1
@@ -1,9 +1,107 @@
1
1
  @layer catalogue {
2
+ :root {
3
+ --forgebook-window: #f6f6f8;
4
+ --forgebook-sidebar: #ebebef;
5
+ --forgebook-surface: #fff;
6
+ --forgebook-fill: rgba(29, 29, 31, 0.0784313725);
7
+ --forgebook-fill-quiet: rgba(29, 29, 31, 0.0509803922);
8
+ --forgebook-hover: rgba(29, 29, 31, 0.0392156863);
9
+ --forgebook-separator: rgba(29, 29, 31, 0.0901960784);
10
+ --forgebook-text: #1d1d1f;
11
+ --forgebook-text-secondary: #56565d;
12
+ --forgebook-text-tertiary: #6a6a71;
13
+ --forgebook-accent: #0a6cf0;
14
+ --forgebook-accent-text: #0059d2;
15
+ --forgebook-on-accent: #fff;
16
+ --forgebook-danger-text: #bc1f16;
17
+ --forgebook-code-keyword: #7036c4;
18
+ --forgebook-code-type: #0059d2;
19
+ --forgebook-code-string: #077229;
20
+ --forgebook-code-number: #935200;
21
+ --forgebook-code-punctuation: #6a6a71;
22
+ --forgebook-code-name: #1d1d1f;
23
+ --forgebook-edge: rgba(29, 29, 31, 0.1450980392);
24
+ --forgebook-edge-hover: rgba(29, 29, 31, 0.2392156863);
25
+ --forgebook-edge-field: rgba(29, 29, 31, 0.1803921569);
26
+ --forgebook-card-edge: rgba(0, 0, 0, 0.0588235294);
27
+ --forgebook-card-edge-hover: rgba(0, 0, 0, 0.1019607843);
28
+ --forgebook-shadow-soft: rgba(0, 0, 0, 0.0509803922);
29
+ --forgebook-shadow-lift: rgba(0, 0, 0, 0.0705882353);
30
+ --forgebook-shadow-deep: rgba(0, 0, 0, 0.2);
31
+ --forgebook-shade: rgba(29, 29, 31, 0.2);
32
+ color-scheme: light;
33
+ }
34
+ @media (prefers-color-scheme: dark) {
35
+ :root:not([data-forgebook-appearance]) {
36
+ --forgebook-window: #161618;
37
+ --forgebook-sidebar: #1e1e21;
38
+ --forgebook-surface: #252529;
39
+ --forgebook-fill: rgba(255, 255, 255, 0.1215686275);
40
+ --forgebook-fill-quiet: rgba(255, 255, 255, 0.0705882353);
41
+ --forgebook-hover: rgba(255, 255, 255, 0.0588235294);
42
+ --forgebook-separator: rgba(255, 255, 255, 0.1019607843);
43
+ --forgebook-text: #f2f2f4;
44
+ --forgebook-text-secondary: #b6b6bd;
45
+ --forgebook-text-tertiary: #9d9da5;
46
+ --forgebook-accent: #1f6fe5;
47
+ --forgebook-accent-text: #7ab3ff;
48
+ --forgebook-on-accent: #fff;
49
+ --forgebook-danger-text: #ff8a80;
50
+ --forgebook-code-keyword: #c9a8ff;
51
+ --forgebook-code-type: #7ab3ff;
52
+ --forgebook-code-string: #7fdc8f;
53
+ --forgebook-code-number: #f2b46b;
54
+ --forgebook-code-punctuation: #9d9da5;
55
+ --forgebook-code-name: #f2f2f4;
56
+ --forgebook-edge: rgba(255, 255, 255, 0.1490196078);
57
+ --forgebook-edge-hover: rgba(255, 255, 255, 0.2509803922);
58
+ --forgebook-edge-field: rgba(255, 255, 255, 0.1803921569);
59
+ --forgebook-card-edge: rgba(255, 255, 255, 0.0901960784);
60
+ --forgebook-card-edge-hover: rgba(255, 255, 255, 0.1490196078);
61
+ --forgebook-shadow-soft: rgba(0, 0, 0, 0.3019607843);
62
+ --forgebook-shadow-lift: rgba(0, 0, 0, 0.4);
63
+ --forgebook-shadow-deep: rgba(0, 0, 0, 0.5019607843);
64
+ --forgebook-shade: rgba(0, 0, 0, 0.4509803922);
65
+ color-scheme: dark;
66
+ }
67
+ }
68
+ :root[data-forgebook-appearance=dark] {
69
+ --forgebook-window: #161618;
70
+ --forgebook-sidebar: #1e1e21;
71
+ --forgebook-surface: #252529;
72
+ --forgebook-fill: rgba(255, 255, 255, 0.1215686275);
73
+ --forgebook-fill-quiet: rgba(255, 255, 255, 0.0705882353);
74
+ --forgebook-hover: rgba(255, 255, 255, 0.0588235294);
75
+ --forgebook-separator: rgba(255, 255, 255, 0.1019607843);
76
+ --forgebook-text: #f2f2f4;
77
+ --forgebook-text-secondary: #b6b6bd;
78
+ --forgebook-text-tertiary: #9d9da5;
79
+ --forgebook-accent: #1f6fe5;
80
+ --forgebook-accent-text: #7ab3ff;
81
+ --forgebook-on-accent: #fff;
82
+ --forgebook-danger-text: #ff8a80;
83
+ --forgebook-code-keyword: #c9a8ff;
84
+ --forgebook-code-type: #7ab3ff;
85
+ --forgebook-code-string: #7fdc8f;
86
+ --forgebook-code-number: #f2b46b;
87
+ --forgebook-code-punctuation: #9d9da5;
88
+ --forgebook-code-name: #f2f2f4;
89
+ --forgebook-edge: rgba(255, 255, 255, 0.1490196078);
90
+ --forgebook-edge-hover: rgba(255, 255, 255, 0.2509803922);
91
+ --forgebook-edge-field: rgba(255, 255, 255, 0.1803921569);
92
+ --forgebook-card-edge: rgba(255, 255, 255, 0.0901960784);
93
+ --forgebook-card-edge-hover: rgba(255, 255, 255, 0.1490196078);
94
+ --forgebook-shadow-soft: rgba(0, 0, 0, 0.3019607843);
95
+ --forgebook-shadow-lift: rgba(0, 0, 0, 0.4);
96
+ --forgebook-shadow-deep: rgba(0, 0, 0, 0.5019607843);
97
+ --forgebook-shade: rgba(0, 0, 0, 0.4509803922);
98
+ color-scheme: dark;
99
+ }
2
100
  body {
3
101
  margin: 0;
4
102
  font: 400 0.8125rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
5
- color: #1d1d1f;
6
- background: #f6f6f8;
103
+ color: var(--forgebook-text);
104
+ background: var(--forgebook-window);
7
105
  }
8
106
  .catalogue {
9
107
  display: flex;
@@ -29,10 +127,17 @@
29
127
  height: 100vh;
30
128
  padding: 1rem 0.75rem 0;
31
129
  overflow: clip;
32
- background: #ebebef;
33
- border-inline-end: 1px solid rgba(29, 29, 31, 0.0901960784);
130
+ background: var(--forgebook-sidebar);
131
+ border-inline-end: 1px solid var(--forgebook-separator);
34
132
  transition: margin-inline-start 320ms cubic-bezier(0.32, 0.72, 0, 1);
35
133
  }
134
+ .forgebook-appearance {
135
+ position: relative;
136
+ flex: none;
137
+ margin: 0 -0.75rem;
138
+ padding: 0.5rem 0.75rem 0.75rem;
139
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
140
+ }
36
141
  .forgebook-sidebar-handle {
37
142
  flex: none;
38
143
  width: 5px;
@@ -42,7 +147,7 @@
42
147
  z-index: 1;
43
148
  }
44
149
  .forgebook-sidebar-handle:hover, .forgebook-sidebar-handle:active, .forgebook-sidebar-handle:focus-visible {
45
- background: color-mix(in srgb, #0a6cf0 35%, transparent);
150
+ background: color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
46
151
  outline: none;
47
152
  }
48
153
  .forgebook-brand__hide {
@@ -61,8 +166,8 @@
61
166
  width: 1.75rem;
62
167
  height: 1.75rem;
63
168
  border-radius: 7px;
64
- background: #0a6cf0;
65
- color: #fff;
169
+ background: var(--forgebook-accent);
170
+ color: var(--forgebook-on-accent);
66
171
  }
67
172
  .forgebook-brand__logo {
68
173
  flex: none;
@@ -84,12 +189,12 @@
84
189
  transition: background-color 150ms ease-out;
85
190
  }
86
191
  .forgebook-brand__home:hover {
87
- background: rgba(29, 29, 31, 0.0392156863);
192
+ background: var(--forgebook-hover);
88
193
  }
89
194
  .forgebook-brand__home:focus-visible:focus-visible {
90
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
195
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
91
196
  outline-offset: 0;
92
- box-shadow: inset 0 0 0 1px #0a6cf0;
197
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
93
198
  }
94
199
  .forgebook-search {
95
200
  display: flex;
@@ -99,12 +204,12 @@
99
204
  height: 1.75rem;
100
205
  padding: 0 0.5rem;
101
206
  border-radius: 7px;
102
- background: rgba(29, 29, 31, 0.0784313725);
103
- color: #56565d;
207
+ background: var(--forgebook-fill);
208
+ color: var(--forgebook-text-secondary);
104
209
  }
105
210
  .forgebook-search:focus-within {
106
- box-shadow: inset 0 0 0 1px #0a6cf0;
107
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
211
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
212
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
108
213
  }
109
214
  .forgebook-search input {
110
215
  flex: 1;
@@ -112,7 +217,7 @@
112
217
  border: 0;
113
218
  background: none;
114
219
  font: 400 0.78125rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
115
- color: #1d1d1f;
220
+ color: var(--forgebook-text);
116
221
  outline: none;
117
222
  }
118
223
  .forgebook-search input::-webkit-search-cancel-button {
@@ -128,18 +233,18 @@
128
233
  padding: 0;
129
234
  border: 0;
130
235
  border-radius: 50%;
131
- background: #6a6a71;
132
- color: #fff;
236
+ background: var(--forgebook-text-tertiary);
237
+ color: var(--forgebook-surface);
133
238
  cursor: pointer;
134
239
  transition: background-color 150ms ease-out;
135
240
  }
136
241
  .forgebook-search__clear:hover {
137
- background: #56565d;
242
+ background: var(--forgebook-text-secondary);
138
243
  }
139
244
  .forgebook-search__clear:focus-visible:focus-visible {
140
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
245
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
141
246
  outline-offset: 0;
142
- box-shadow: inset 0 0 0 1px #0a6cf0;
247
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
143
248
  }
144
249
  .forgebook-search:focus-within .forgebook-search__key {
145
250
  display: none;
@@ -148,9 +253,9 @@
148
253
  flex: none;
149
254
  padding: 0 0.375rem;
150
255
  border-radius: 6px;
151
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.1450980392);
256
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge);
152
257
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
153
- color: #6a6a71;
258
+ color: var(--forgebook-text-tertiary);
154
259
  }
155
260
  .forgebook-tree {
156
261
  flex: 1;
@@ -164,7 +269,7 @@
164
269
  }
165
270
  .forgebook-tree__empty {
166
271
  margin: 0.5rem;
167
- color: #56565d;
272
+ color: var(--forgebook-text-secondary);
168
273
  }
169
274
  .forgebook-tree__source + .forgebook-tree__source {
170
275
  margin-top: 0.75rem;
@@ -178,7 +283,7 @@
178
283
  font: 600 0.6875rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
179
284
  letter-spacing: 0.04em;
180
285
  text-transform: uppercase;
181
- color: #56565d;
286
+ color: var(--forgebook-text-secondary);
182
287
  }
183
288
  .forgebook-source-logo {
184
289
  flex: none;
@@ -197,48 +302,82 @@
197
302
  border-radius: 6px;
198
303
  background: none;
199
304
  font: 500 0.8125rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
200
- color: #1d1d1f;
305
+ color: var(--forgebook-text);
201
306
  text-align: start;
202
307
  text-decoration: none;
203
308
  }
204
309
  .forgebook-tree__family-button:focus-visible,
205
310
  .forgebook-tree__item:focus-visible {
206
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
311
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
207
312
  outline-offset: -2px;
208
- box-shadow: inset 0 0 0 1px #0a6cf0;
313
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
209
314
  }
210
315
  .forgebook-tree__family-button:hover,
211
316
  .forgebook-tree__item:hover {
212
- background: rgba(29, 29, 31, 0.0509803922);
317
+ background: var(--forgebook-fill-quiet);
213
318
  }
214
319
  .forgebook-tree__family-button {
215
320
  font-weight: 600;
216
- color: #56565d;
321
+ color: var(--forgebook-text-secondary);
217
322
  }
218
323
  .forgebook-tree__family-name {
219
324
  flex: 1;
220
325
  }
326
+ .forgebook-tree__chevron {
327
+ display: inline-flex;
328
+ transition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1);
329
+ }
330
+ .forgebook-tree__chevron[data-open] {
331
+ transform: rotate(90deg);
332
+ }
221
333
  .forgebook-tree__group {
222
334
  display: flex;
223
335
  flex-direction: column;
224
336
  padding-inline-start: 1rem;
225
337
  }
226
338
  .forgebook-tree__group-name {
227
- margin: 0.375rem 0 0.125rem;
228
- padding: 0 0.5rem;
229
- font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
230
- color: #6a6a71;
339
+ margin: 0.125rem 0 0;
340
+ font: inherit;
341
+ }
342
+ .forgebook-tree__group > .forgebook-tree__fold {
343
+ padding-inline-start: calc(0.75rem + 0.375rem);
344
+ }
345
+ .forgebook-tree__group-button {
346
+ display: flex;
347
+ align-items: center;
348
+ gap: 0.375rem;
349
+ box-sizing: border-box;
350
+ width: 100%;
351
+ padding: 0.25rem 0.5rem;
352
+ border: 0;
353
+ border-radius: 6px;
354
+ background: none;
355
+ min-height: 1.625rem;
356
+ font: 500 0.8125rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
357
+ font-weight: 500;
358
+ color: var(--forgebook-text-secondary);
359
+ text-align: start;
360
+ cursor: pointer;
361
+ }
362
+ .forgebook-tree__group-button:focus-visible {
363
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
364
+ outline-offset: 0;
365
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
366
+ }
367
+ .forgebook-tree__group-button:hover {
368
+ background: var(--forgebook-hover);
369
+ color: var(--forgebook-text);
231
370
  }
232
371
  .forgebook-tree__item {
233
372
  font: 400 0.78125rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
234
373
  }
235
374
  .forgebook-tree__item[aria-current=page], .forgebook-tree__item[aria-current=location] {
236
- background: #fff;
237
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
375
+ background: var(--forgebook-surface);
376
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
238
377
  font-weight: 500;
239
378
  }
240
379
  .forgebook-tree__item[aria-current=page] {
241
- color: #0059d2;
380
+ color: var(--forgebook-accent-text);
242
381
  }
243
382
  .forgebook-tree__item-name {
244
383
  flex: 1;
@@ -248,12 +387,12 @@
248
387
  align-items: center;
249
388
  gap: 0.125rem;
250
389
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
251
- color: #6a6a71;
390
+ color: var(--forgebook-text-tertiary);
252
391
  }
253
392
  .forgebook-tree__count {
254
393
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
255
394
  font-variant-numeric: tabular-nums;
256
- color: #6a6a71;
395
+ color: var(--forgebook-text-tertiary);
257
396
  }
258
397
  .forgebook-main {
259
398
  position: relative;
@@ -290,7 +429,7 @@
290
429
  }
291
430
  .forgebook-story .forgebook-compare {
292
431
  border-radius: 12px;
293
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
432
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
294
433
  overflow: hidden;
295
434
  }
296
435
  .forgebook-story__bar {
@@ -305,9 +444,9 @@
305
444
  gap: 0.125rem;
306
445
  padding: 0.125rem 0.125rem 0.125rem 0.5rem;
307
446
  border-radius: 7px;
308
- background: rgba(29, 29, 31, 0.0784313725);
447
+ background: var(--forgebook-fill);
309
448
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
310
- color: #56565d;
449
+ color: var(--forgebook-text-secondary);
311
450
  }
312
451
  .forgebook-matrix-picker .forgebook-popover__label {
313
452
  margin-inline-end: 0.25rem;
@@ -320,8 +459,8 @@
320
459
  box-shadow: none;
321
460
  }
322
461
  .forgebook-matrix-picker .forgebook-select[data-set], .forgebook-matrix-picker .forgebook-select:hover:not(:disabled), .forgebook-matrix-picker .forgebook-select:focus-visible {
323
- background-color: #fff;
324
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
462
+ background-color: var(--forgebook-surface);
463
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
325
464
  }
326
465
  .forgebook-dock {
327
466
  position: relative;
@@ -329,8 +468,8 @@
329
468
  display: flex;
330
469
  flex-direction: column;
331
470
  min-height: 0;
332
- background: #fff;
333
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
471
+ background: var(--forgebook-surface);
472
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
334
473
  }
335
474
  .forgebook-dock__handle {
336
475
  position: absolute;
@@ -341,7 +480,7 @@
341
480
  touch-action: none;
342
481
  }
343
482
  .forgebook-dock__handle:hover, .forgebook-dock__handle:active, .forgebook-dock__handle:focus-visible {
344
- background: color-mix(in srgb, #0a6cf0 35%, transparent);
483
+ background: color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
345
484
  outline: none;
346
485
  }
347
486
  .forgebook-dock__bar {
@@ -351,7 +490,7 @@
351
490
  justify-content: space-between;
352
491
  gap: 0.75rem;
353
492
  padding: 0 0.75rem 0 1.25rem;
354
- box-shadow: inset 0 -1px 0 rgba(29, 29, 31, 0.0901960784);
493
+ box-shadow: inset 0 -1px 0 var(--forgebook-separator);
355
494
  }
356
495
  .forgebook-dock__tabs {
357
496
  display: flex;
@@ -369,21 +508,21 @@
369
508
  border-block-end: 2px solid transparent;
370
509
  background: none;
371
510
  font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
372
- color: #56565d;
511
+ color: var(--forgebook-text-secondary);
373
512
  white-space: nowrap;
374
513
  cursor: pointer;
375
514
  }
376
515
  .forgebook-dock__tab:focus-visible {
377
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
516
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
378
517
  outline-offset: -2px;
379
- box-shadow: inset 0 0 0 1px #0a6cf0;
518
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
380
519
  }
381
520
  .forgebook-dock__tab:hover {
382
- color: #1d1d1f;
521
+ color: var(--forgebook-text);
383
522
  }
384
523
  .forgebook-dock__tab[aria-selected=true] {
385
- border-block-end-color: #0a6cf0;
386
- color: #1d1d1f;
524
+ border-block-end-color: var(--forgebook-accent);
525
+ color: var(--forgebook-text);
387
526
  font-weight: 500;
388
527
  }
389
528
  .forgebook-dock__body {
@@ -401,17 +540,17 @@
401
540
  border: 0;
402
541
  border-radius: 7px;
403
542
  background: none;
404
- color: #56565d;
543
+ color: var(--forgebook-text-secondary);
405
544
  cursor: pointer;
406
545
  }
407
546
  .forgebook-icon-button:focus-visible {
408
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
547
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
409
548
  outline-offset: 0;
410
- box-shadow: inset 0 0 0 1px #0a6cf0;
549
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
411
550
  }
412
551
  .forgebook-icon-button:hover {
413
- background: rgba(29, 29, 31, 0.0392156863);
414
- color: #1d1d1f;
552
+ background: var(--forgebook-hover);
553
+ color: var(--forgebook-text);
415
554
  }
416
555
  .forgebook-tab-columns {
417
556
  display: grid;
@@ -426,24 +565,67 @@
426
565
  margin: 0;
427
566
  padding: 0.75rem 0.875rem 0;
428
567
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
429
- color: #56565d;
568
+ color: var(--forgebook-text-secondary);
430
569
  }
431
570
  .forgebook-tab-foot {
571
+ display: flex;
572
+ align-items: center;
573
+ gap: 0.75rem;
432
574
  padding: 0.625rem 0.875rem;
433
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
575
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
576
+ }
577
+ .forgebook-tab-foot__note {
578
+ margin-inline-start: auto;
579
+ font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
580
+ color: var(--forgebook-text-secondary);
581
+ }
582
+ .forgebook-tab-foot__note[data-has-spills=true] {
583
+ color: var(--forgebook-danger-text);
434
584
  }
435
585
  .forgebook-toolbar {
436
586
  container: toolbar/inline-size;
437
587
  position: relative;
438
- z-index: 1;
588
+ z-index: 3;
439
589
  flex: none;
440
590
  display: flex;
441
591
  align-items: center;
442
592
  gap: 0.75rem;
443
593
  height: 2.75rem;
444
594
  padding: 0 1.5rem;
445
- background: #f6f6f8;
446
- box-shadow: inset 0 -1px 0 rgba(29, 29, 31, 0.0901960784);
595
+ background: var(--forgebook-window);
596
+ box-shadow: inset 0 -1px 0 var(--forgebook-separator);
597
+ }
598
+ .forgebook-toolbar__pinned {
599
+ position: relative;
600
+ flex: none;
601
+ }
602
+ .forgebook-toolbar__changed {
603
+ position: absolute;
604
+ top: -0.125rem;
605
+ right: -0.125rem;
606
+ pointer-events: none;
607
+ }
608
+ .forgebook-toolbar__pinned-list {
609
+ flex: 1;
610
+ min-width: 0;
611
+ display: flex;
612
+ align-items: center;
613
+ gap: 0.75rem;
614
+ }
615
+ .forgebook-toolbar.forgebook-toolbar--wrap {
616
+ box-sizing: border-box;
617
+ align-items: flex-start;
618
+ height: auto;
619
+ min-height: 2.75rem;
620
+ padding-block: 0.5625rem;
621
+ }
622
+ .forgebook-toolbar.forgebook-toolbar--wrap .forgebook-toolbar__pinned-list {
623
+ flex-wrap: wrap;
624
+ row-gap: 0.5rem;
625
+ }
626
+ .forgebook-toolbar.forgebook-toolbar--wrap .forgebook-toolbar__divider {
627
+ align-self: stretch;
628
+ margin: 0;
447
629
  }
448
630
  .forgebook-toolbar__group {
449
631
  display: flex;
@@ -453,10 +635,7 @@
453
635
  .forgebook-toolbar__divider {
454
636
  align-self: stretch;
455
637
  margin: 0.75rem 0;
456
- border-inline-start: 1px solid rgba(29, 29, 31, 0.0901960784);
457
- }
458
- .forgebook-toolbar__spacer {
459
- flex: 1;
638
+ border-inline-start: 1px solid var(--forgebook-separator);
460
639
  }
461
640
  @container toolbar (max-width: 46rem) {
462
641
  .forgebook-toolbar__width .forgebook-segmented__option {
@@ -486,13 +665,13 @@
486
665
  padding: 0 0.5rem 0 0.25rem;
487
666
  border-radius: 6px;
488
667
  font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
489
- color: #56565d;
668
+ color: var(--forgebook-text-secondary);
490
669
  transition: background-color 150ms ease-out, box-shadow 150ms ease-out;
491
670
  }
492
671
  .forgebook-width-field[data-custom], .forgebook-width-field:focus-within {
493
- background: #fff;
494
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
495
- color: #1d1d1f;
672
+ background: var(--forgebook-surface);
673
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
674
+ color: var(--forgebook-text);
496
675
  }
497
676
  .forgebook-width-field__input {
498
677
  box-sizing: border-box;
@@ -507,14 +686,14 @@
507
686
  text-align: end;
508
687
  }
509
688
  .forgebook-width-field__input::placeholder {
510
- color: #6a6a71;
689
+ color: var(--forgebook-text-tertiary);
511
690
  }
512
691
  .forgebook-width-field__input:focus-visible {
513
692
  outline: none;
514
693
  }
515
694
  .forgebook-width-field__unit {
516
695
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
517
- color: #6a6a71;
696
+ color: var(--forgebook-text-tertiary);
518
697
  }
519
698
  .forgebook-stage-tools {
520
699
  position: absolute;
@@ -526,8 +705,8 @@
526
705
  gap: 0.25rem;
527
706
  padding: 0.25rem;
528
707
  border-radius: 999px;
529
- background: #fff;
530
- box-shadow: 0 0 0 1px rgba(29, 29, 31, 0.1450980392), 0 18px 48px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.0588235294);
708
+ background: var(--forgebook-surface);
709
+ box-shadow: 0 0 0 1px var(--forgebook-edge), 0 18px 48px var(--forgebook-shadow-deep), 0 4px 12px var(--forgebook-shadow-lift);
531
710
  animation: forgebook-rise 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
532
711
  }
533
712
  .forgebook-stage-tools__group {
@@ -539,7 +718,7 @@
539
718
  align-self: stretch;
540
719
  width: 1px;
541
720
  margin: 0.25rem 0.125rem;
542
- background: rgba(29, 29, 31, 0.0901960784);
721
+ background: var(--forgebook-separator);
543
722
  }
544
723
  .forgebook-stage-tools__button,
545
724
  .forgebook-stage-tools__zoom {
@@ -550,14 +729,14 @@
550
729
  border: 0;
551
730
  border-radius: 999px;
552
731
  background: none;
553
- color: #56565d;
732
+ color: var(--forgebook-text-secondary);
554
733
  cursor: pointer;
555
734
  transition: color 150ms ease-out, background-color 150ms ease-out, transform 150ms ease-out;
556
735
  }
557
736
  .forgebook-stage-tools__button:hover:not(:disabled),
558
737
  .forgebook-stage-tools__zoom:hover:not(:disabled) {
559
- background: rgba(29, 29, 31, 0.0392156863);
560
- color: #1d1d1f;
738
+ background: var(--forgebook-hover);
739
+ color: var(--forgebook-text);
561
740
  }
562
741
  .forgebook-stage-tools__button:active:not(:disabled),
563
742
  .forgebook-stage-tools__zoom:active:not(:disabled) {
@@ -565,9 +744,9 @@
565
744
  }
566
745
  .forgebook-stage-tools__button:focus-visible:focus-visible,
567
746
  .forgebook-stage-tools__zoom:focus-visible:focus-visible {
568
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
747
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
569
748
  outline-offset: 0;
570
- box-shadow: inset 0 0 0 1px #0a6cf0;
749
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
571
750
  }
572
751
  .forgebook-stage-tools__button:disabled,
573
752
  .forgebook-stage-tools__zoom:disabled {
@@ -578,15 +757,15 @@
578
757
  width: 1.75rem;
579
758
  }
580
759
  .forgebook-stage-tools__button[aria-pressed=true] {
581
- background: color-mix(in srgb, #0a6cf0 12%, transparent);
582
- color: #0059d2;
760
+ background: color-mix(in srgb, var(--forgebook-accent) 12%, transparent);
761
+ color: var(--forgebook-accent-text);
583
762
  }
584
763
  .forgebook-stage-tools__zoom {
585
764
  min-width: 3.25rem;
586
765
  padding: 0 0.375rem;
587
766
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
588
767
  font-variant-numeric: tabular-nums;
589
- color: #1d1d1f;
768
+ color: var(--forgebook-text);
590
769
  }
591
770
  .forgebook-stage-tools__zoom:disabled {
592
771
  opacity: 1;
@@ -594,7 +773,7 @@
594
773
  .forgebook-toolbar__icon {
595
774
  display: inline-flex;
596
775
  margin-inline-end: -0.375rem;
597
- color: #56565d;
776
+ color: var(--forgebook-text-secondary);
598
777
  }
599
778
  .forgebook-button {
600
779
  display: inline-flex;
@@ -605,27 +784,36 @@
605
784
  padding: 0 0.625rem;
606
785
  border: 0;
607
786
  border-radius: 7px;
608
- background: #fff;
609
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.1450980392);
787
+ background: var(--forgebook-surface);
788
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge);
610
789
  font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
611
- color: #1d1d1f;
790
+ color: var(--forgebook-text);
612
791
  white-space: nowrap;
613
792
  }
614
793
  .forgebook-button:focus-visible {
615
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
794
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
616
795
  outline-offset: 0;
617
- box-shadow: inset 0 0 0 1px #0a6cf0, inset 0 0 0 1px rgba(29, 29, 31, 0.1450980392);
796
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
618
797
  }
619
798
  .forgebook-button:hover {
620
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.2392156863);
799
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge-hover);
621
800
  }
622
801
  .forgebook-button[aria-pressed=true] {
623
- background: color-mix(in srgb, #0a6cf0 12%, transparent);
624
- color: #0059d2;
802
+ background: color-mix(in srgb, var(--forgebook-accent) 12%, transparent);
803
+ color: var(--forgebook-accent-text);
625
804
  }
626
805
  .forgebook-button:disabled {
627
806
  opacity: 0.45;
628
807
  }
808
+ .forgebook-button.forgebook-button--quiet {
809
+ background: transparent;
810
+ box-shadow: none;
811
+ color: var(--forgebook-text-secondary);
812
+ }
813
+ .forgebook-button.forgebook-button--quiet:hover {
814
+ background: var(--forgebook-hover);
815
+ color: var(--forgebook-text);
816
+ }
629
817
  .forgebook-clock {
630
818
  display: inline-flex;
631
819
  flex: none;
@@ -640,28 +828,31 @@
640
828
  justify-content: center;
641
829
  width: 1.625rem;
642
830
  padding: 0;
643
- color: #56565d;
831
+ color: var(--forgebook-text-secondary);
644
832
  }
645
833
  .forgebook-button--icon:hover {
646
- color: #1d1d1f;
834
+ color: var(--forgebook-text);
647
835
  }
648
836
  .forgebook-text-button {
649
837
  padding: 0;
650
838
  border: 0;
651
839
  background: none;
652
840
  font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
653
- color: #0059d2;
841
+ color: var(--forgebook-accent-text);
654
842
  }
655
843
  .forgebook-text-button:focus-visible {
656
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
844
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
657
845
  outline-offset: 0;
658
- box-shadow: inset 0 0 0 1px #0a6cf0;
846
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
847
+ }
848
+ .forgebook-text-button:disabled {
849
+ color: var(--forgebook-text-tertiary);
659
850
  }
660
851
  .forgebook-dot {
661
852
  width: 0.375rem;
662
853
  height: 0.375rem;
663
854
  border-radius: 50%;
664
- background: #0a6cf0;
855
+ background: var(--forgebook-accent);
665
856
  }
666
857
  .forgebook-segmented {
667
858
  display: inline-flex;
@@ -670,7 +861,7 @@
670
861
  padding: 0.125rem;
671
862
  border: 0;
672
863
  border-radius: 7px;
673
- background: rgba(29, 29, 31, 0.0784313725);
864
+ background: var(--forgebook-fill);
674
865
  }
675
866
  .forgebook-segmented:disabled {
676
867
  opacity: 0.45;
@@ -684,22 +875,23 @@
684
875
  padding: 0 0.5rem;
685
876
  border-radius: 6px;
686
877
  font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
687
- color: #56565d;
878
+ color: var(--forgebook-text-secondary);
688
879
  }
689
880
  input:checked + .forgebook-segmented__face {
690
- background: #fff;
691
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
692
- color: #1d1d1f;
881
+ background: var(--forgebook-surface);
882
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
883
+ color: var(--forgebook-text);
693
884
  }
694
885
  input:focus-visible + .forgebook-segmented__face {
695
- box-shadow: inset 0 0 0 1px #0a6cf0;
696
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
886
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
887
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
697
888
  }
698
889
  .forgebook-view-menu {
699
890
  position: relative;
700
891
  }
701
892
  .forgebook-popover {
702
893
  position: absolute;
894
+ z-index: 2;
703
895
  top: calc(100% + 0.375rem);
704
896
  left: 0;
705
897
  display: flex;
@@ -707,12 +899,20 @@
707
899
  gap: 0.75rem;
708
900
  padding: 0.875rem;
709
901
  border-radius: 12px;
710
- background: #fff;
711
- box-shadow: 0 0 0 1px rgba(29, 29, 31, 0.1450980392), 0 18px 48px rgba(0, 0, 0, 0.2), 0 4px 12px rgba(0, 0, 0, 0.0588235294);
902
+ background: var(--forgebook-surface);
903
+ box-shadow: 0 0 0 1px var(--forgebook-edge), 0 18px 48px var(--forgebook-shadow-deep), 0 4px 12px var(--forgebook-shadow-lift);
712
904
  white-space: nowrap;
905
+ transform-origin: top left;
906
+ }
907
+ .forgebook-popover.forgebook-popover--up {
908
+ top: auto;
909
+ bottom: calc(100% - 0.25rem);
910
+ left: 0.75rem;
911
+ transform-origin: bottom left;
713
912
  }
714
913
  .forgebook-popover.forgebook-popover--end {
715
914
  inset-inline: auto 0;
915
+ transform-origin: top right;
716
916
  }
717
917
  .forgebook-choices {
718
918
  display: grid;
@@ -733,20 +933,298 @@
733
933
  cursor: pointer;
734
934
  }
735
935
  .forgebook-choice:hover {
736
- background: rgba(29, 29, 31, 0.0392156863);
936
+ background: var(--forgebook-hover);
737
937
  }
738
938
  .forgebook-choice[data-disabled] {
739
939
  cursor: default;
740
940
  opacity: 0.45;
741
941
  }
742
- .forgebook-popover__row {
942
+ .forgebook-popover--arrange {
943
+ box-sizing: border-box;
944
+ width: max-content;
945
+ }
946
+ .forgebook-popover__body {
947
+ display: flex;
948
+ flex-direction: column;
949
+ gap: 0.75rem;
950
+ min-height: 0;
951
+ margin: -0.25rem -0.25rem;
952
+ padding: 0.25rem;
953
+ overflow-y: auto;
954
+ }
955
+ .forgebook-info-tip {
956
+ display: inline-grid;
957
+ flex: none;
958
+ place-items: center;
959
+ width: 1.375rem;
960
+ height: 1.375rem;
961
+ padding: 0;
962
+ border: 0;
963
+ border-radius: 50%;
964
+ background: transparent;
965
+ color: var(--forgebook-text-tertiary);
966
+ }
967
+ .forgebook-info-tip:focus-visible {
968
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
969
+ outline-offset: 0;
970
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
971
+ }
972
+ .forgebook-info-tip:hover {
973
+ color: var(--forgebook-text);
974
+ }
975
+ .forgebook-info-tip__note {
976
+ position: fixed;
977
+ inset: auto;
978
+ max-width: 18rem;
979
+ margin: 0;
980
+ padding: 0.5rem 0.625rem;
981
+ border: 0;
982
+ border-radius: 7px;
983
+ background: var(--forgebook-surface);
984
+ box-shadow: 0 0 0 1px var(--forgebook-edge), 0 18px 48px var(--forgebook-shadow-deep), 0 4px 12px var(--forgebook-shadow-lift);
985
+ font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
986
+ color: var(--forgebook-text);
987
+ white-space: normal;
988
+ }
989
+ .forgebook-named-views {
990
+ display: flex;
991
+ flex-wrap: wrap;
992
+ align-items: center;
993
+ gap: 0.375rem;
994
+ width: 0;
995
+ min-width: 100%;
996
+ padding-block-end: 0.75rem;
997
+ box-shadow: inset 0 -1px 0 var(--forgebook-separator);
998
+ white-space: normal;
999
+ }
1000
+ .forgebook-named-view {
1001
+ display: inline-flex;
1002
+ align-items: center;
1003
+ border-radius: 7px;
1004
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge);
1005
+ }
1006
+ .forgebook-named-view:hover {
1007
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge-hover);
1008
+ }
1009
+ .forgebook-named-view__pick {
1010
+ height: 1.5rem;
1011
+ padding: 0 0.5rem;
1012
+ border: 0;
1013
+ border-radius: 7px;
1014
+ background: transparent;
1015
+ font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1016
+ color: var(--forgebook-text);
1017
+ }
1018
+ .forgebook-named-view__pick:focus-visible {
1019
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1020
+ outline-offset: 0;
1021
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1022
+ }
1023
+ .forgebook-named-view__pick[aria-pressed=true] {
1024
+ background: color-mix(in srgb, var(--forgebook-accent) 12%, transparent);
1025
+ color: var(--forgebook-accent-text);
1026
+ }
1027
+ .forgebook-named-view__remove {
743
1028
  display: grid;
744
- grid-template-columns: 4rem auto;
1029
+ place-items: center;
1030
+ width: 1.25rem;
1031
+ height: 1.5rem;
1032
+ padding: 0;
1033
+ border: 0;
1034
+ border-radius: 7px;
1035
+ background: transparent;
1036
+ color: var(--forgebook-text-tertiary);
1037
+ }
1038
+ .forgebook-named-view__remove:focus-visible {
1039
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1040
+ outline-offset: 0;
1041
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1042
+ }
1043
+ .forgebook-named-view__remove:hover {
1044
+ color: var(--forgebook-text);
1045
+ }
1046
+ .forgebook-named-views__form input {
1047
+ height: 1.5rem;
1048
+ padding: 0 0.5rem;
1049
+ border: 0;
1050
+ border-radius: 7px;
1051
+ background: var(--forgebook-surface);
1052
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge-field);
1053
+ font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1054
+ color: var(--forgebook-text);
1055
+ }
1056
+ .forgebook-named-views__form input:focus-visible {
1057
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1058
+ outline-offset: 0;
1059
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge-field);
1060
+ }
1061
+ .forgebook-key-field {
1062
+ position: relative;
1063
+ display: inline-flex;
745
1064
  align-items: center;
746
- gap: 0.75rem;
747
1065
  }
748
- .forgebook-popover__row .forgebook-segmented {
1066
+ .forgebook-key-field__button {
1067
+ min-width: 1.5rem;
1068
+ height: 1.375rem;
1069
+ padding: 0 0.25rem;
1070
+ border: 0;
1071
+ border-radius: 6px;
1072
+ background: transparent;
1073
+ font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1074
+ color: var(--forgebook-text-secondary);
1075
+ }
1076
+ .forgebook-key-field__button:focus-visible {
1077
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1078
+ outline-offset: 0;
1079
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1080
+ }
1081
+ .forgebook-key-field__button:hover {
1082
+ background: var(--forgebook-hover);
1083
+ }
1084
+ .forgebook-key-field__button[aria-pressed=true] {
1085
+ background: color-mix(in srgb, var(--forgebook-accent) 12%, transparent);
1086
+ color: var(--forgebook-accent-text);
1087
+ }
1088
+ .forgebook-key-field__button kbd {
1089
+ font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1090
+ }
1091
+ .forgebook-key-field__problem {
1092
+ position: absolute;
1093
+ top: 100%;
1094
+ right: 0;
1095
+ z-index: 1;
1096
+ font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1097
+ color: var(--forgebook-danger-text);
1098
+ white-space: nowrap;
1099
+ }
1100
+ .forgebook-key-field__problem:empty {
1101
+ display: none;
1102
+ }
1103
+ .forgebook-arrange-list {
1104
+ display: grid;
1105
+ gap: 0.25rem;
1106
+ margin: 0;
1107
+ padding: 0;
1108
+ list-style: none;
1109
+ }
1110
+ .forgebook-arrange {
1111
+ position: relative;
1112
+ display: grid;
1113
+ grid-template-columns: auto 4.5rem 1fr auto auto auto;
1114
+ align-items: center;
1115
+ gap: 0.5rem;
1116
+ padding: 0.125rem 0;
1117
+ border-radius: 7px;
1118
+ background: var(--forgebook-surface);
1119
+ }
1120
+ .forgebook-arrange[data-dragged] {
1121
+ z-index: 1;
1122
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
1123
+ }
1124
+ .forgebook-arrange__control {
1125
+ display: flex;
1126
+ align-items: center;
1127
+ gap: 0.375rem;
1128
+ justify-self: start;
1129
+ max-width: 100%;
1130
+ min-width: 0;
1131
+ overflow-x: auto;
1132
+ scrollbar-width: none;
1133
+ }
1134
+ .forgebook-arrange__handle {
1135
+ display: inline-flex;
1136
+ align-items: center;
1137
+ justify-content: center;
1138
+ width: 1.25rem;
1139
+ height: 1.625rem;
1140
+ padding: 0;
1141
+ border: 0;
1142
+ border-radius: 6px;
1143
+ background: none;
1144
+ color: var(--forgebook-text-tertiary);
1145
+ cursor: grab;
1146
+ touch-action: none;
1147
+ }
1148
+ .forgebook-arrange__handle:focus-visible {
1149
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1150
+ outline-offset: 0;
1151
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1152
+ }
1153
+ .forgebook-arrange__handle:hover {
1154
+ background: var(--forgebook-hover);
1155
+ color: var(--forgebook-text);
1156
+ }
1157
+ .forgebook-arrange-list[data-dragging] {
1158
+ user-select: none;
1159
+ }
1160
+ .forgebook-arrange-list[data-dragging] .forgebook-arrange__handle {
1161
+ cursor: grabbing;
1162
+ }
1163
+ .forgebook-arrange .forgebook-icon-button[aria-pressed=true] {
1164
+ background: color-mix(in srgb, var(--forgebook-accent) 12%, transparent);
1165
+ color: var(--forgebook-accent-text);
1166
+ }
1167
+ .forgebook-hidden-controls {
1168
+ display: grid;
1169
+ gap: 0.375rem;
1170
+ justify-items: stretch;
1171
+ }
1172
+ .forgebook-hidden-controls > .forgebook-text-button {
1173
+ display: inline-flex;
749
1174
  justify-self: start;
1175
+ align-items: center;
1176
+ gap: 0.25rem;
1177
+ }
1178
+ .forgebook-arrange__no-handle {
1179
+ width: 1.25rem;
1180
+ }
1181
+ .forgebook-arrange[data-hidden] .forgebook-popover__label {
1182
+ color: var(--forgebook-text-tertiary);
1183
+ }
1184
+ .forgebook-toolbar__pinned {
1185
+ flex: none;
1186
+ display: flex;
1187
+ align-items: center;
1188
+ gap: 0.25rem;
1189
+ white-space: nowrap;
1190
+ }
1191
+ .forgebook-toolbar__control {
1192
+ display: flex;
1193
+ align-items: center;
1194
+ gap: 0.5rem;
1195
+ }
1196
+ .forgebook-toolbar__label {
1197
+ font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1198
+ color: var(--forgebook-text-secondary);
1199
+ white-space: nowrap;
1200
+ }
1201
+ .forgebook-context-menu {
1202
+ position: fixed;
1203
+ z-index: 3;
1204
+ display: grid;
1205
+ min-width: 10rem;
1206
+ padding: 0.25rem;
1207
+ border-radius: 12px;
1208
+ background: var(--forgebook-surface);
1209
+ box-shadow: 0 0 0 1px var(--forgebook-edge), 0 18px 48px var(--forgebook-shadow-deep), 0 4px 12px var(--forgebook-shadow-lift);
1210
+ }
1211
+ .forgebook-context-menu__item {
1212
+ padding: 0.25rem 0.5rem;
1213
+ border: 0;
1214
+ border-radius: 6px;
1215
+ background: none;
1216
+ font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1217
+ color: var(--forgebook-text);
1218
+ text-align: start;
1219
+ cursor: pointer;
1220
+ }
1221
+ .forgebook-context-menu__item:focus-visible {
1222
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1223
+ outline-offset: 0;
1224
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1225
+ }
1226
+ .forgebook-context-menu__item:hover, .forgebook-context-menu__item:focus-visible {
1227
+ background: var(--forgebook-hover);
750
1228
  }
751
1229
  .forgebook-select {
752
1230
  justify-self: start;
@@ -754,53 +1232,101 @@
754
1232
  padding: 0 1.5rem 0 0.625rem;
755
1233
  border: 0;
756
1234
  border-radius: 7px;
757
- background-color: #fff;
1235
+ background-color: var(--forgebook-surface);
758
1236
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2356565d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 6.5 3-3 3 3M5 9.5l3 3 3-3'/%3E%3C/svg%3E");
759
1237
  background-position: right 0.375rem center;
760
1238
  background-repeat: no-repeat;
761
1239
  background-size: 0.875rem;
762
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.1450980392);
1240
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge);
763
1241
  font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
764
- color: #1d1d1f;
1242
+ color: var(--forgebook-text);
765
1243
  text-overflow: ellipsis;
766
1244
  appearance: none;
767
1245
  cursor: pointer;
768
1246
  transition: box-shadow 150ms ease-out;
769
1247
  }
770
1248
  .forgebook-select:focus-visible {
771
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
1249
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
772
1250
  outline-offset: 0;
773
- box-shadow: inset 0 0 0 1px #0a6cf0, inset 0 0 0 1px rgba(29, 29, 31, 0.1450980392);
1251
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
774
1252
  }
775
1253
  .forgebook-select:hover:not(:disabled) {
776
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.2392156863);
1254
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge-hover);
777
1255
  }
778
1256
  .forgebook-select:disabled {
779
1257
  cursor: default;
780
1258
  opacity: 0.45;
781
1259
  }
782
1260
  .forgebook-popover__label {
1261
+ display: inline-flex;
1262
+ align-items: center;
1263
+ gap: 0.25rem;
783
1264
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
784
- color: #56565d;
1265
+ color: var(--forgebook-text-secondary);
1266
+ }
1267
+ .forgebook-switch {
1268
+ position: relative;
1269
+ flex: none;
1270
+ width: 1.75rem;
1271
+ height: 1rem;
1272
+ margin: 0;
1273
+ border-radius: 999px;
1274
+ background: var(--forgebook-fill);
1275
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge);
1276
+ appearance: none;
1277
+ cursor: pointer;
1278
+ transition: background-color 150ms ease-out, box-shadow 150ms ease-out;
1279
+ }
1280
+ .forgebook-switch:focus-visible {
1281
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1282
+ outline-offset: 0;
1283
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent), inset 0 0 0 1px var(--forgebook-edge);
1284
+ }
1285
+ .forgebook-switch::before {
1286
+ content: "";
1287
+ position: absolute;
1288
+ top: 0.125rem;
1289
+ left: 0.125rem;
1290
+ width: 0.75rem;
1291
+ height: 0.75rem;
1292
+ border-radius: 50%;
1293
+ background: var(--forgebook-surface);
1294
+ box-shadow: 0 1px 2px var(--forgebook-shadow-deep);
1295
+ transition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1);
1296
+ }
1297
+ .forgebook-switch:checked {
1298
+ background: var(--forgebook-accent);
1299
+ box-shadow: none;
1300
+ }
1301
+ .forgebook-switch:checked::before {
1302
+ transform: translateX(0.75rem);
1303
+ }
1304
+ .forgebook-wrap-choice {
1305
+ display: flex;
1306
+ align-items: center;
1307
+ gap: 0.5rem;
1308
+ font: 500 0.75rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1309
+ color: var(--forgebook-text);
1310
+ cursor: pointer;
785
1311
  }
786
1312
  .forgebook-popover__foot {
787
1313
  display: flex;
788
1314
  justify-content: space-between;
789
1315
  gap: 1rem;
790
1316
  padding-top: 0.625rem;
791
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
1317
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
792
1318
  }
793
1319
  .forgebook-popover__note {
794
1320
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
795
- color: #6a6a71;
1321
+ color: var(--forgebook-text-tertiary);
796
1322
  }
797
1323
  .forgebook-problems {
798
1324
  margin: 1rem 2rem 0;
799
1325
  padding: 0.75rem 1rem;
800
1326
  border-radius: 12px;
801
- background: #fff;
802
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.0901960784);
803
- color: #bc1f16;
1327
+ background: var(--forgebook-surface);
1328
+ box-shadow: inset 0 0 0 1px var(--forgebook-separator);
1329
+ color: var(--forgebook-danger-text);
804
1330
  }
805
1331
  .forgebook-problems ul {
806
1332
  margin: 0.25rem 0 0;
@@ -808,22 +1334,22 @@
808
1334
  }
809
1335
  .forgebook-empty {
810
1336
  margin: 2rem;
811
- color: #56565d;
1337
+ color: var(--forgebook-text-secondary);
812
1338
  }
813
1339
  .forgebook-header {
814
1340
  flex: none;
815
1341
  padding: 1rem 2rem 0.75rem;
816
- box-shadow: inset 0 -1px 0 rgba(29, 29, 31, 0.0901960784);
1342
+ box-shadow: inset 0 -1px 0 var(--forgebook-separator);
817
1343
  }
818
1344
  .forgebook-header__path {
819
1345
  margin: 0 0 0.375rem;
820
1346
  font: 600 0.6875rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
821
1347
  letter-spacing: 0.04em;
822
1348
  text-transform: uppercase;
823
- color: #0059d2;
1349
+ color: var(--forgebook-accent-text);
824
1350
  }
825
1351
  .forgebook-header__also-in {
826
- color: #6a6a71;
1352
+ color: var(--forgebook-text-tertiary);
827
1353
  }
828
1354
  .forgebook-header__related {
829
1355
  display: flex;
@@ -835,17 +1361,17 @@
835
1361
  }
836
1362
  .forgebook-header__related-label {
837
1363
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
838
- color: #6a6a71;
1364
+ color: var(--forgebook-text-tertiary);
839
1365
  }
840
1366
  .forgebook-header__related-link {
841
- color: #0059d2;
1367
+ color: var(--forgebook-accent-text);
842
1368
  text-decoration: none;
843
1369
  border-radius: 6px;
844
1370
  }
845
1371
  .forgebook-header__related-link:focus-visible {
846
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
1372
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
847
1373
  outline-offset: 0;
848
- box-shadow: inset 0 0 0 1px #0a6cf0;
1374
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
849
1375
  }
850
1376
  .forgebook-header__related-link:hover {
851
1377
  text-decoration: underline;
@@ -875,10 +1401,10 @@
875
1401
  font-weight: 400;
876
1402
  text-transform: none;
877
1403
  letter-spacing: 0;
878
- color: #56565d;
1404
+ color: var(--forgebook-text-secondary);
879
1405
  }
880
1406
  .forgebook-play__status[data-status=failed] {
881
- color: #bc1f16;
1407
+ color: var(--forgebook-danger-text);
882
1408
  }
883
1409
  .forgebook-play__steps {
884
1410
  display: grid;
@@ -895,7 +1421,7 @@
895
1421
  .forgebook-play__error {
896
1422
  margin: 0.125rem 0 0;
897
1423
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
898
- color: #bc1f16;
1424
+ color: var(--forgebook-danger-text);
899
1425
  }
900
1426
  .forgebook-calls__details > summary {
901
1427
  cursor: pointer;
@@ -915,7 +1441,7 @@
915
1441
  display: grid;
916
1442
  gap: 0.25rem;
917
1443
  padding-block-end: 0.5rem;
918
- box-shadow: inset 0 -1px 0 rgba(29, 29, 31, 0.0901960784);
1444
+ box-shadow: inset 0 -1px 0 var(--forgebook-separator);
919
1445
  }
920
1446
  .forgebook-violation__head {
921
1447
  display: flex;
@@ -925,19 +1451,19 @@
925
1451
  .forgebook-violation__rule {
926
1452
  font: 400 0.71875rem/1.4 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
927
1453
  font-weight: 500;
928
- color: #0059d2;
1454
+ color: var(--forgebook-accent-text);
929
1455
  }
930
1456
  .forgebook-violation__impact {
931
1457
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
932
- color: #56565d;
1458
+ color: var(--forgebook-text-secondary);
933
1459
  }
934
1460
  .forgebook-violation:is([data-impact=serious], [data-impact=critical]) .forgebook-violation__impact {
935
- color: #bc1f16;
1461
+ color: var(--forgebook-danger-text);
936
1462
  }
937
1463
  .forgebook-violation__targets {
938
1464
  gap: 0.125rem;
939
1465
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
940
- color: #56565d;
1466
+ color: var(--forgebook-text-secondary);
941
1467
  overflow-wrap: anywhere;
942
1468
  }
943
1469
  .forgebook-code-block {
@@ -945,7 +1471,7 @@
945
1471
  padding: 0.75rem;
946
1472
  overflow-x: auto;
947
1473
  border-radius: 7px;
948
- background: rgba(29, 29, 31, 0.0509803922);
1474
+ background: var(--forgebook-fill-quiet);
949
1475
  white-space: pre;
950
1476
  }
951
1477
  .forgebook-code-block .forgebook-code {
@@ -961,7 +1487,7 @@
961
1487
  margin: 0;
962
1488
  font: 500 0.8125rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
963
1489
  font-weight: 600;
964
- color: #1d1d1f;
1490
+ color: var(--forgebook-text);
965
1491
  }
966
1492
  .forgebook-stage__description {
967
1493
  display: -webkit-box;
@@ -969,7 +1495,7 @@
969
1495
  min-height: 2lh;
970
1496
  margin: 0;
971
1497
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
972
- color: #56565d;
1498
+ color: var(--forgebook-text-secondary);
973
1499
  -webkit-box-orient: vertical;
974
1500
  -webkit-line-clamp: 2;
975
1501
  }
@@ -990,16 +1516,16 @@
990
1516
  gap: 0.5rem;
991
1517
  padding: 0.375rem 0.75rem;
992
1518
  border-radius: 999px;
993
- background: #fff;
994
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
1519
+ background: var(--forgebook-surface);
1520
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
995
1521
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
996
- color: #56565d;
1522
+ color: var(--forgebook-text-secondary);
997
1523
  }
998
1524
  .forgebook-spinner {
999
1525
  width: 1rem;
1000
1526
  height: 1rem;
1001
- border: 2px solid rgba(29, 29, 31, 0.0901960784);
1002
- border-top-color: #0a6cf0;
1527
+ border: 2px solid var(--forgebook-separator);
1528
+ border-top-color: var(--forgebook-accent);
1003
1529
  border-radius: 50%;
1004
1530
  animation: forgebook-spin 800ms linear infinite;
1005
1531
  }
@@ -1032,9 +1558,9 @@
1032
1558
  overflow-x: auto;
1033
1559
  padding: 1.25rem 0;
1034
1560
  border-radius: 12px;
1035
- background-color: #f6f6f8;
1036
- background-image: repeating-linear-gradient(-45deg, transparent 0 5px, rgba(29, 29, 31, 0.0784313725) 5px 6px);
1037
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.0901960784);
1561
+ background-color: var(--forgebook-window);
1562
+ background-image: repeating-linear-gradient(-45deg, transparent 0 5px, var(--forgebook-fill) 5px 6px);
1563
+ box-shadow: inset 0 0 0 1px var(--forgebook-separator);
1038
1564
  }
1039
1565
  .forgebook-viewport__canvas > :first-child {
1040
1566
  margin-inline-start: auto;
@@ -1067,29 +1593,29 @@
1067
1593
  width: 2.5rem;
1068
1594
  height: 4px;
1069
1595
  border-radius: 2px;
1070
- background: #6a6a71;
1596
+ background: var(--forgebook-text-tertiary);
1071
1597
  transform: translate(-50%, -50%);
1072
1598
  }
1073
1599
  .forgebook-viewport__foot:hover::before, .forgebook-viewport__foot:active::before {
1074
- background: #0a6cf0;
1600
+ background: var(--forgebook-accent);
1075
1601
  }
1076
1602
  .forgebook-viewport__foot:focus-visible {
1077
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
1603
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1078
1604
  outline-offset: -2px;
1079
- box-shadow: inset 0 0 0 1px #0a6cf0;
1605
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1080
1606
  }
1081
1607
  .forgebook-viewport__foot-label {
1082
1608
  position: absolute;
1083
1609
  inset: 50% auto auto calc(50% + 1.75rem);
1084
1610
  transform: translateY(-50%);
1085
1611
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1086
- color: #6a6a71;
1612
+ color: var(--forgebook-text-tertiary);
1087
1613
  white-space: nowrap;
1088
1614
  }
1089
1615
  .forgebook-viewport__room {
1090
1616
  min-width: 0;
1091
- background: #fff;
1092
- box-shadow: 0 0 0 1px rgba(29, 29, 31, 0.0901960784);
1617
+ background: var(--forgebook-surface);
1618
+ box-shadow: 0 0 0 1px var(--forgebook-separator);
1093
1619
  overflow: hidden;
1094
1620
  transform-origin: 0 0;
1095
1621
  }
@@ -1111,19 +1637,19 @@
1111
1637
  width: 4px;
1112
1638
  height: 2.5rem;
1113
1639
  border-radius: 2px;
1114
- background: #6a6a71;
1640
+ background: var(--forgebook-text-tertiary);
1115
1641
  transform: translate(-50%, -50%);
1116
1642
  }
1117
1643
  .forgebook-viewport__handle:hover::before, .forgebook-viewport__handle:active::before {
1118
- background: #0a6cf0;
1644
+ background: var(--forgebook-accent);
1119
1645
  }
1120
1646
  .forgebook-viewport__handle:focus-visible {
1121
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
1647
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1122
1648
  outline-offset: -2px;
1123
- box-shadow: inset 0 0 0 1px #0a6cf0;
1649
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1124
1650
  }
1125
1651
  .forgebook-frame-placeholder {
1126
- background: rgba(29, 29, 31, 0.0509803922);
1652
+ background: var(--forgebook-fill-quiet);
1127
1653
  }
1128
1654
  .forgebook-doc,
1129
1655
  .forgebook-home {
@@ -1134,7 +1660,7 @@
1134
1660
  max-width: 56rem;
1135
1661
  margin: 0 auto;
1136
1662
  padding: 1.5rem 2rem 2rem;
1137
- animation: forgebook-rise 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
1663
+ animation: forgebook-rise 260ms cubic-bezier(0.22, 1, 0.36, 1) backwards;
1138
1664
  }
1139
1665
  .forgebook-home__head {
1140
1666
  display: grid;
@@ -1172,19 +1698,19 @@
1172
1698
  gap: 0.125rem;
1173
1699
  padding: 0.5rem 0.75rem;
1174
1700
  border-radius: 7px;
1175
- background: #fff;
1176
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
1701
+ background: var(--forgebook-surface);
1702
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
1177
1703
  color: inherit;
1178
1704
  text-decoration: none;
1179
1705
  transition: box-shadow 260ms cubic-bezier(0.22, 1, 0.36, 1);
1180
1706
  }
1181
1707
  .forgebook-home__recent-link:hover {
1182
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1019607843), 0 4px 14px rgba(0, 0, 0, 0.0705882353);
1708
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
1183
1709
  }
1184
1710
  .forgebook-home__recent-link:focus-visible:focus-visible {
1185
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
1711
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1186
1712
  outline-offset: 0;
1187
- box-shadow: inset 0 0 0 1px #0a6cf0;
1713
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1188
1714
  }
1189
1715
  .forgebook-home__recent-name {
1190
1716
  font: 500 0.8125rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
@@ -1195,7 +1721,7 @@
1195
1721
  }
1196
1722
  .forgebook-home__recent-place {
1197
1723
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1198
- color: #6a6a71;
1724
+ color: var(--forgebook-text-tertiary);
1199
1725
  overflow: hidden;
1200
1726
  white-space: nowrap;
1201
1727
  text-overflow: ellipsis;
@@ -1213,8 +1739,8 @@
1213
1739
  gap: 0.5rem;
1214
1740
  padding: 0.75rem 1rem;
1215
1741
  border-radius: 12px;
1216
- background: #fff;
1217
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
1742
+ background: var(--forgebook-surface);
1743
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
1218
1744
  }
1219
1745
  .forgebook-home__card-title {
1220
1746
  display: flex;
@@ -1228,7 +1754,7 @@
1228
1754
  .forgebook-home__count {
1229
1755
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1230
1756
  font-weight: 400;
1231
- color: #6a6a71;
1757
+ color: var(--forgebook-text-tertiary);
1232
1758
  }
1233
1759
  .forgebook-home__components {
1234
1760
  display: grid;
@@ -1242,7 +1768,59 @@
1242
1768
  margin: 0;
1243
1769
  font-size: 1.0625rem;
1244
1770
  line-height: 1.55;
1245
- color: #56565d;
1771
+ color: var(--forgebook-text-secondary);
1772
+ }
1773
+ .forgebook-used-in__toggle {
1774
+ display: inline-flex;
1775
+ align-items: center;
1776
+ gap: 0.5rem;
1777
+ padding: 0;
1778
+ border: 0;
1779
+ background: none;
1780
+ font: inherit;
1781
+ color: inherit;
1782
+ cursor: pointer;
1783
+ }
1784
+ .forgebook-used-in__toggle:focus-visible {
1785
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1786
+ outline-offset: 0;
1787
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1788
+ }
1789
+ .forgebook-used-in__list {
1790
+ display: grid;
1791
+ gap: 0.625rem;
1792
+ margin: 0;
1793
+ padding: 0;
1794
+ list-style: none;
1795
+ }
1796
+ .forgebook-used-in__user {
1797
+ display: flex;
1798
+ flex-wrap: wrap;
1799
+ align-items: baseline;
1800
+ gap: 0.25rem 0.5rem;
1801
+ }
1802
+ .forgebook-used-in__component {
1803
+ font-weight: 600;
1804
+ }
1805
+ .forgebook-used-in__note {
1806
+ margin: 0;
1807
+ font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1808
+ color: var(--forgebook-text-tertiary);
1809
+ }
1810
+ .forgebook-used-in__stories {
1811
+ display: flex;
1812
+ flex-wrap: wrap;
1813
+ gap: 0.25rem 0.5rem;
1814
+ flex-basis: 100%;
1815
+ }
1816
+ .forgebook-used-in__story {
1817
+ font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1818
+ color: var(--forgebook-text-secondary);
1819
+ text-decoration: none;
1820
+ }
1821
+ .forgebook-used-in__story:hover {
1822
+ color: var(--forgebook-accent-text);
1823
+ text-decoration: underline;
1246
1824
  }
1247
1825
  .forgebook-doc__section {
1248
1826
  display: grid;
@@ -1264,7 +1842,7 @@
1264
1842
  .forgebook-doc__group-name {
1265
1843
  margin: 0.5rem 0 0;
1266
1844
  font: 600 0.6875rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1267
- color: #6a6a71;
1845
+ color: var(--forgebook-text-tertiary);
1268
1846
  text-transform: uppercase;
1269
1847
  letter-spacing: 0.06em;
1270
1848
  }
@@ -1276,7 +1854,7 @@
1276
1854
  transition: color 150ms ease-out, text-decoration-color 150ms ease-out;
1277
1855
  }
1278
1856
  .forgebook-link:hover {
1279
- color: #0059d2;
1857
+ color: var(--forgebook-accent-text);
1280
1858
  text-decoration-color: currentcolor;
1281
1859
  }
1282
1860
  .forgebook-example {
@@ -1295,17 +1873,17 @@
1295
1873
  .forgebook-example__description {
1296
1874
  margin: 0;
1297
1875
  font: 400 0.8125rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1298
- color: #56565d;
1876
+ color: var(--forgebook-text-secondary);
1299
1877
  }
1300
1878
  .forgebook-example__box {
1301
1879
  border-radius: 12px;
1302
- background: #fff;
1303
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
1880
+ background: var(--forgebook-surface);
1881
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
1304
1882
  overflow: clip;
1305
1883
  transition: box-shadow 260ms cubic-bezier(0.22, 1, 0.36, 1);
1306
1884
  }
1307
1885
  .forgebook-example__box:hover {
1308
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1019607843), 0 4px 14px rgba(0, 0, 0, 0.0705882353);
1886
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge-hover), 0 4px 14px var(--forgebook-shadow-lift);
1309
1887
  }
1310
1888
  .forgebook-example__stage .forgebook-viewport__canvas {
1311
1889
  padding: 0;
@@ -1313,7 +1891,7 @@
1313
1891
  box-shadow: none;
1314
1892
  }
1315
1893
  .forgebook-example__stage .forgebook-viewport__room {
1316
- box-shadow: 1px 0 0 rgba(29, 29, 31, 0.0901960784), -1px 0 0 rgba(29, 29, 31, 0.0901960784);
1894
+ box-shadow: 1px 0 0 var(--forgebook-separator), -1px 0 0 var(--forgebook-separator);
1317
1895
  }
1318
1896
  .forgebook-example__bar {
1319
1897
  display: flex;
@@ -1321,7 +1899,7 @@
1321
1899
  gap: 0.75rem;
1322
1900
  min-height: 2.25rem;
1323
1901
  padding: 0 0.75rem;
1324
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
1902
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
1325
1903
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1326
1904
  }
1327
1905
  .forgebook-example__toggle {
@@ -1334,18 +1912,18 @@
1334
1912
  background: none;
1335
1913
  font: inherit;
1336
1914
  font-weight: 500;
1337
- color: #56565d;
1915
+ color: var(--forgebook-text-secondary);
1338
1916
  cursor: pointer;
1339
1917
  transition: color 150ms ease-out, background-color 150ms ease-out;
1340
1918
  }
1341
1919
  .forgebook-example__toggle:hover {
1342
- color: #1d1d1f;
1343
- background: rgba(29, 29, 31, 0.0392156863);
1920
+ color: var(--forgebook-text);
1921
+ background: var(--forgebook-hover);
1344
1922
  }
1345
1923
  .forgebook-example__toggle:focus-visible:focus-visible {
1346
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
1924
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1347
1925
  outline-offset: 0;
1348
- box-shadow: inset 0 0 0 1px #0a6cf0;
1926
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1349
1927
  }
1350
1928
  .forgebook-example__toggle svg {
1351
1929
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
@@ -1353,17 +1931,68 @@
1353
1931
  .forgebook-example__toggle[aria-expanded=true] svg {
1354
1932
  transform: rotate(90deg);
1355
1933
  }
1934
+ .forgebook-example__box[data-full] {
1935
+ position: fixed;
1936
+ inset: 1.5rem;
1937
+ z-index: 20;
1938
+ display: flex;
1939
+ flex-direction: column;
1940
+ box-shadow: 0 0 0 1px var(--forgebook-edge), 0 18px 48px var(--forgebook-shadow-deep), 0 4px 12px var(--forgebook-shadow-lift);
1941
+ }
1942
+ .forgebook-example__box[data-full]:hover {
1943
+ box-shadow: 0 0 0 1px var(--forgebook-edge), 0 18px 48px var(--forgebook-shadow-deep), 0 4px 12px var(--forgebook-shadow-lift);
1944
+ }
1945
+ .forgebook-example__box[data-full] .forgebook-example__stage {
1946
+ flex: 1;
1947
+ min-height: 0;
1948
+ overflow: auto;
1949
+ }
1950
+ .forgebook-example__width {
1951
+ display: flex;
1952
+ align-items: center;
1953
+ gap: 0.5rem;
1954
+ }
1955
+ .forgebook-full-shade {
1956
+ position: fixed;
1957
+ inset: 0;
1958
+ z-index: 19;
1959
+ background: var(--forgebook-shade);
1960
+ }
1961
+ .forgebook-example__full {
1962
+ display: inline-flex;
1963
+ align-items: center;
1964
+ gap: 0.25rem;
1965
+ margin-inline-start: auto;
1966
+ padding: 0;
1967
+ border: 0;
1968
+ background: none;
1969
+ font: inherit;
1970
+ color: var(--forgebook-text-secondary);
1971
+ cursor: pointer;
1972
+ transition: color 150ms ease-out;
1973
+ }
1974
+ .forgebook-example__full:focus-visible {
1975
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1976
+ outline-offset: 0;
1977
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1978
+ }
1979
+ .forgebook-example__full:hover {
1980
+ color: var(--forgebook-text);
1981
+ }
1982
+ .forgebook-example__full + .forgebook-example__open {
1983
+ margin-inline-start: 0;
1984
+ }
1356
1985
  .forgebook-example__open {
1357
1986
  display: inline-flex;
1358
1987
  align-items: center;
1359
1988
  gap: 0.25rem;
1360
1989
  margin-inline-start: auto;
1361
- color: #56565d;
1990
+ color: var(--forgebook-text-secondary);
1362
1991
  text-decoration: none;
1363
1992
  transition: color 150ms ease-out;
1364
1993
  }
1365
1994
  .forgebook-example__open:hover {
1366
- color: #0059d2;
1995
+ color: var(--forgebook-accent-text);
1367
1996
  }
1368
1997
  .forgebook-example__open svg {
1369
1998
  transition: transform 150ms ease-out;
@@ -1396,8 +2025,8 @@
1396
2025
  overflow: auto;
1397
2026
  padding: 0.75rem 1rem;
1398
2027
  border-radius: 0;
1399
- background: rgba(29, 29, 31, 0.0509803922);
1400
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
2028
+ background: var(--forgebook-fill-quiet);
2029
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
1401
2030
  }
1402
2031
  .forgebook-example__code-inner .forgebook-code {
1403
2032
  padding: 0;
@@ -1410,28 +2039,28 @@
1410
2039
  padding: 0.125rem 0.5rem;
1411
2040
  border: 0;
1412
2041
  border-radius: 6px;
1413
- background: #fff;
1414
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.0901960784);
2042
+ background: var(--forgebook-surface);
2043
+ box-shadow: inset 0 0 0 1px var(--forgebook-separator);
1415
2044
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1416
- color: #56565d;
2045
+ color: var(--forgebook-text-secondary);
1417
2046
  cursor: pointer;
1418
2047
  transition: color 150ms ease-out;
1419
2048
  }
1420
2049
  .forgebook-example__copy:hover {
1421
- color: #1d1d1f;
2050
+ color: var(--forgebook-text);
1422
2051
  }
1423
2052
  .forgebook-example__copy:focus-visible:focus-visible {
1424
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
2053
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1425
2054
  outline-offset: 0;
1426
- box-shadow: inset 0 0 0 1px #0a6cf0;
2055
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1427
2056
  }
1428
2057
  .forgebook-inline-code {
1429
2058
  padding: 0.1em 0.35em;
1430
2059
  border-radius: 6px;
1431
- background: rgba(29, 29, 31, 0.0509803922);
2060
+ background: var(--forgebook-fill-quiet);
1432
2061
  font-family: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1433
2062
  font-size: 0.875em;
1434
- color: #1d1d1f;
2063
+ color: var(--forgebook-code-name);
1435
2064
  }
1436
2065
  .forgebook-prose {
1437
2066
  font: 400 0.8125rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
@@ -1465,13 +2094,13 @@
1465
2094
  margin-top: 0.25rem;
1466
2095
  }
1467
2096
  .forgebook-prose a {
1468
- color: #0059d2;
2097
+ color: var(--forgebook-accent-text);
1469
2098
  text-underline-offset: 0.2em;
1470
2099
  }
1471
2100
  .forgebook-prose code {
1472
2101
  padding: 0.1em 0.35em;
1473
2102
  border-radius: 6px;
1474
- background: rgba(29, 29, 31, 0.0509803922);
2103
+ background: var(--forgebook-fill-quiet);
1475
2104
  font-family: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1476
2105
  font-size: 0.875em;
1477
2106
  }
@@ -1479,8 +2108,8 @@
1479
2108
  margin: 0 0 1rem;
1480
2109
  padding: 0.75rem 1rem;
1481
2110
  border-radius: 12px;
1482
- background: #fff;
1483
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.0588235294), 0 1px 3px rgba(0, 0, 0, 0.0509803922);
2111
+ background: var(--forgebook-surface);
2112
+ box-shadow: 0 0 0 1px var(--forgebook-card-edge), 0 1px 3px var(--forgebook-shadow-soft);
1484
2113
  overflow-x: auto;
1485
2114
  font: 400 0.71875rem/1.4 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1486
2115
  line-height: 1.6;
@@ -1501,11 +2130,11 @@
1501
2130
  padding: 0.5rem 0.75rem 0.5rem 0;
1502
2131
  text-align: start;
1503
2132
  vertical-align: top;
1504
- box-shadow: inset 0 -1px 0 rgba(29, 29, 31, 0.0901960784);
2133
+ box-shadow: inset 0 -1px 0 var(--forgebook-separator);
1505
2134
  }
1506
2135
  .forgebook-prose th {
1507
2136
  font-weight: 600;
1508
- color: #56565d;
2137
+ color: var(--forgebook-text-secondary);
1509
2138
  }
1510
2139
  .forgebook-api {
1511
2140
  overflow-x: auto;
@@ -1520,17 +2149,17 @@
1520
2149
  padding: 0.625rem 0.75rem;
1521
2150
  text-align: start;
1522
2151
  vertical-align: top;
1523
- box-shadow: inset 0 -1px 0 rgba(29, 29, 31, 0.0901960784);
2152
+ box-shadow: inset 0 -1px 0 var(--forgebook-separator);
1524
2153
  }
1525
2154
  .forgebook-api__table thead th {
1526
2155
  font: 600 0.6875rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1527
- color: #6a6a71;
2156
+ color: var(--forgebook-text-tertiary);
1528
2157
  }
1529
2158
  .forgebook-api__table tbody tr {
1530
2159
  transition: background-color 150ms ease-out;
1531
2160
  }
1532
2161
  .forgebook-api__table tbody tr:hover {
1533
- background: rgba(29, 29, 31, 0.0392156863);
2162
+ background: var(--forgebook-hover);
1534
2163
  }
1535
2164
  .forgebook-api__table tbody th {
1536
2165
  font-weight: inherit;
@@ -1543,7 +2172,7 @@
1543
2172
  .forgebook-api__name {
1544
2173
  font: 400 0.71875rem/1.4 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1545
2174
  font-weight: 600;
1546
- color: #1d1d1f;
2175
+ color: var(--forgebook-code-name);
1547
2176
  }
1548
2177
  .forgebook-api__type {
1549
2178
  min-width: 10rem;
@@ -1564,36 +2193,36 @@
1564
2193
  }
1565
2194
  .forgebook-api__subcomponent > p {
1566
2195
  margin: 0;
1567
- color: #56565d;
2196
+ color: var(--forgebook-text-secondary);
1568
2197
  }
1569
2198
  .forgebook-hl-keyword,
1570
2199
  .forgebook-hl-literal,
1571
2200
  .forgebook-hl-built_in {
1572
- color: #7036c4;
2201
+ color: var(--forgebook-code-keyword);
1573
2202
  }
1574
2203
  .forgebook-hl-title,
1575
2204
  .forgebook-hl-type,
1576
2205
  .forgebook-hl-name,
1577
2206
  .forgebook-hl-selector-tag,
1578
2207
  .forgebook-hl-selector-class {
1579
- color: #0059d2;
2208
+ color: var(--forgebook-code-type);
1580
2209
  }
1581
2210
  .forgebook-hl-string,
1582
2211
  .forgebook-hl-regexp {
1583
- color: #077229;
2212
+ color: var(--forgebook-code-string);
1584
2213
  }
1585
2214
  .forgebook-hl-number,
1586
2215
  .forgebook-hl-attr,
1587
2216
  .forgebook-hl-attribute,
1588
2217
  .forgebook-hl-property,
1589
2218
  .forgebook-hl-variable {
1590
- color: #935200;
2219
+ color: var(--forgebook-code-number);
1591
2220
  }
1592
2221
  .forgebook-hl-comment,
1593
2222
  .forgebook-hl-punctuation,
1594
2223
  .forgebook-hl-operator,
1595
2224
  .forgebook-hl-meta {
1596
- color: #6a6a71;
2225
+ color: var(--forgebook-code-punctuation);
1597
2226
  }
1598
2227
  .forgebook-hl-comment {
1599
2228
  font-style: italic;
@@ -1615,7 +2244,10 @@
1615
2244
  }
1616
2245
  .forgebook-example__toggle svg,
1617
2246
  .forgebook-example__open svg,
1618
- .forgebook-example__code {
2247
+ .forgebook-example__code,
2248
+ .forgebook-tree__chevron,
2249
+ .forgebook-switch,
2250
+ .forgebook-switch::before {
1619
2251
  transition: none;
1620
2252
  }
1621
2253
  }
@@ -1623,24 +2255,24 @@
1623
2255
  display: grid;
1624
2256
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
1625
2257
  gap: 1px;
1626
- background: rgba(29, 29, 31, 0.0901960784);
2258
+ background: var(--forgebook-separator);
1627
2259
  }
1628
2260
  .forgebook-compare__cell {
1629
2261
  margin: 0;
1630
- background: #fff;
2262
+ background: var(--forgebook-surface);
1631
2263
  }
1632
2264
  .forgebook-compare__label {
1633
2265
  padding: 0.5rem 0.75rem;
1634
2266
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1635
- color: #56565d;
2267
+ color: var(--forgebook-text-secondary);
1636
2268
  }
1637
2269
  .forgebook-dock__hint {
1638
2270
  padding: 0 0.375rem;
1639
2271
  border-radius: 999px;
1640
- background: rgba(29, 29, 31, 0.0784313725);
2272
+ background: var(--forgebook-fill);
1641
2273
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1642
2274
  font-variant-numeric: tabular-nums;
1643
- color: #56565d;
2275
+ color: var(--forgebook-text-secondary);
1644
2276
  }
1645
2277
  .forgebook-prop-group {
1646
2278
  display: flex;
@@ -1649,14 +2281,14 @@
1649
2281
  padding: 0.75rem 0.875rem;
1650
2282
  }
1651
2283
  .forgebook-prop-group + .forgebook-prop-group {
1652
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
2284
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
1653
2285
  }
1654
2286
  .forgebook-prop-group__title {
1655
2287
  margin: 0;
1656
2288
  font: 600 0.6875rem/1.3 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1657
2289
  letter-spacing: 0.04em;
1658
2290
  text-transform: uppercase;
1659
- color: #56565d;
2291
+ color: var(--forgebook-text-secondary);
1660
2292
  }
1661
2293
  .forgebook-prop {
1662
2294
  display: flex;
@@ -1670,16 +2302,16 @@
1670
2302
  padding: 0 0.5rem;
1671
2303
  border: 0;
1672
2304
  border-radius: 7px;
1673
- background: #fff;
1674
- box-shadow: inset 0 0 0 1px rgba(29, 29, 31, 0.1803921569);
2305
+ background: var(--forgebook-surface);
2306
+ box-shadow: inset 0 0 0 1px var(--forgebook-edge-field);
1675
2307
  font: 400 0.78125rem/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1676
- color: #1d1d1f;
2308
+ color: var(--forgebook-text);
1677
2309
  }
1678
2310
  .forgebook-prop select:focus-visible,
1679
2311
  .forgebook-prop input:focus-visible {
1680
- outline: 2px solid color-mix(in srgb, #0a6cf0 35%, transparent);
2312
+ outline: 2px solid color-mix(in srgb, var(--forgebook-accent) 35%, transparent);
1681
2313
  outline-offset: 0;
1682
- box-shadow: inset 0 0 0 1px #0a6cf0;
2314
+ box-shadow: inset 0 0 0 1px var(--forgebook-accent);
1683
2315
  }
1684
2316
  .forgebook-prop__head {
1685
2317
  display: flex;
@@ -1711,7 +2343,7 @@
1711
2343
  }
1712
2344
  .forgebook-prop__required {
1713
2345
  margin-inline-start: 0.125rem;
1714
- color: #bc1f16;
2346
+ color: var(--forgebook-danger-text);
1715
2347
  }
1716
2348
  .forgebook-prop__type {
1717
2349
  overflow: hidden;
@@ -1719,12 +2351,12 @@
1719
2351
  text-overflow: ellipsis;
1720
2352
  min-width: 0;
1721
2353
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1722
- color: #56565d;
2354
+ color: var(--forgebook-text-secondary);
1723
2355
  }
1724
2356
  .forgebook-prop__description {
1725
2357
  margin: 0;
1726
2358
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1727
- color: #56565d;
2359
+ color: var(--forgebook-text-secondary);
1728
2360
  }
1729
2361
  .forgebook-prop__text-arg {
1730
2362
  display: flex;
@@ -1733,11 +2365,11 @@
1733
2365
  gap: 0.375rem;
1734
2366
  margin: 0;
1735
2367
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1736
- color: #6a6a71;
2368
+ color: var(--forgebook-text-tertiary);
1737
2369
  }
1738
2370
  .forgebook-prop__text-arg code {
1739
2371
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1740
- color: #56565d;
2372
+ color: var(--forgebook-text-secondary);
1741
2373
  }
1742
2374
  .forgebook-toggles {
1743
2375
  display: grid;
@@ -1764,42 +2396,42 @@
1764
2396
  padding: 0.75rem 0.875rem;
1765
2397
  }
1766
2398
  .forgebook-event + .forgebook-event {
1767
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
2399
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
1768
2400
  }
1769
2401
  .forgebook-code {
1770
2402
  display: block;
1771
2403
  padding: 0.25rem 0.5rem;
1772
2404
  border-radius: 6px;
1773
- background: rgba(29, 29, 31, 0.0509803922);
2405
+ background: var(--forgebook-fill-quiet);
1774
2406
  font: 400 0.6875rem/1.6 "SF Mono", ui-monospace, "JetBrains Mono", Menlo, monospace;
1775
2407
  white-space: pre-wrap;
1776
2408
  overflow-wrap: anywhere;
1777
2409
  }
1778
2410
  .forgebook-code__name,
1779
2411
  .forgebook-code__space {
1780
- color: #1d1d1f;
2412
+ color: var(--forgebook-code-name);
1781
2413
  }
1782
2414
  .forgebook-code__type {
1783
- color: #0059d2;
2415
+ color: var(--forgebook-code-type);
1784
2416
  }
1785
2417
  .forgebook-code__keyword {
1786
- color: #7036c4;
2418
+ color: var(--forgebook-code-keyword);
1787
2419
  }
1788
2420
  .forgebook-code__string {
1789
- color: #077229;
2421
+ color: var(--forgebook-code-string);
1790
2422
  }
1791
2423
  .forgebook-code__number {
1792
- color: #935200;
2424
+ color: var(--forgebook-code-number);
1793
2425
  }
1794
2426
  .forgebook-code__punctuation {
1795
- color: #6a6a71;
2427
+ color: var(--forgebook-code-punctuation);
1796
2428
  }
1797
2429
  .forgebook-calls {
1798
2430
  display: flex;
1799
2431
  flex-direction: column;
1800
2432
  gap: 0.5rem;
1801
2433
  padding: 0.75rem 0.875rem;
1802
- box-shadow: inset 0 1px 0 rgba(29, 29, 31, 0.0901960784);
2434
+ box-shadow: inset 0 1px 0 var(--forgebook-separator);
1803
2435
  }
1804
2436
  .forgebook-calls__head {
1805
2437
  display: flex;
@@ -1826,6 +2458,6 @@
1826
2458
  .forgebook-calls__time {
1827
2459
  font: 400 0.6875rem/1.35 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, system-ui, sans-serif;
1828
2460
  font-variant-numeric: tabular-nums;
1829
- color: #6a6a71;
2461
+ color: var(--forgebook-text-tertiary);
1830
2462
  }
1831
2463
  }