@runfusion/fusion 0.43.1 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/README.md +2 -1
  2. package/dist/automation-store-EKXXEE2S.js +10 -0
  3. package/dist/automation-store-PLNG3X72.js +10 -0
  4. package/dist/automation-store-RDDYZFUJ.js +10 -0
  5. package/dist/bin.js +14420 -3360
  6. package/dist/chunk-2JI3F6MG.js +948 -0
  7. package/dist/chunk-4L6CLWJC.js +8345 -0
  8. package/dist/chunk-4VNS5WPM.js +42 -0
  9. package/dist/chunk-5RGECGQL.js +1139 -0
  10. package/dist/chunk-6JDLN7IL.js +409 -0
  11. package/dist/chunk-AICJATVW.js +948 -0
  12. package/dist/chunk-AWKNRUOR.js +1148 -0
  13. package/dist/chunk-BHM3UYWS.js +4651 -0
  14. package/dist/chunk-BMUXDSBF.js +4647 -0
  15. package/dist/chunk-GETECT6V.js +353 -0
  16. package/dist/chunk-GUV4QQT3.js +1143 -0
  17. package/dist/chunk-JKQO7YYZ.js +8369 -0
  18. package/dist/chunk-LYZVU6UV.js +409 -0
  19. package/dist/chunk-MAN4WYHO.js +353 -0
  20. package/dist/chunk-MCUG2Z7M.js +4651 -0
  21. package/dist/chunk-PSDYB45U.js +948 -0
  22. package/dist/chunk-RR2HM46R.js +8345 -0
  23. package/dist/chunk-RXMQ5OMY.js +9226 -0
  24. package/dist/chunk-S2EVJUY3.js +353 -0
  25. package/dist/chunk-UXR5XZFZ.js +409 -0
  26. package/dist/client/.vite/manifest.json +1138 -340
  27. package/dist/client/assets/AgentDetailView-CgbB51Iw.css +1 -0
  28. package/dist/client/assets/AgentDetailView-DJTi6hKC.js +18 -0
  29. package/dist/client/assets/{AgentPermissionPolicyEditor-BiY1a4KR.js → AgentPermissionPolicyEditor-C5DR9dUS.js} +2 -2
  30. package/dist/client/assets/AgentsView-BNd90PSx.js +29 -0
  31. package/dist/client/assets/AgentsView-CzMa5Olf.css +1 -0
  32. package/dist/client/assets/ChatView-B7JaZCL_.js +19 -0
  33. package/dist/client/assets/ChatView-BtjkE0V7.css +1 -0
  34. package/dist/client/assets/CommandCenter-CHO21xEW.js +74 -0
  35. package/dist/client/assets/CommandCenter-Xs5Ftv8s.css +1 -0
  36. package/dist/client/assets/DevServerView-B_p91Mj_.css +1 -0
  37. package/dist/client/assets/DevServerView-H9OkT1ld.js +1 -0
  38. package/dist/client/assets/{DirectoryPicker-DTKtd8L2.css → DirectoryPicker-0rspvcMz.css} +1 -1
  39. package/dist/client/assets/DirectoryPicker-DegxT8ia.js +1 -0
  40. package/dist/client/assets/DocumentsView-kVVQYISc.js +1 -0
  41. package/dist/client/assets/EvalsView-C9-iTSat.js +1 -0
  42. package/dist/client/assets/EvalsView-CTbgPUne.css +1 -0
  43. package/dist/client/assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css +1 -0
  44. package/dist/client/assets/ExperimentalAgentOnboardingModal-DjP_xNkc.js +1 -0
  45. package/dist/client/assets/GoalsView-CUh8JBnJ.css +1 -0
  46. package/dist/client/assets/GoalsView-VoIHJJ5l.js +2 -0
  47. package/dist/client/assets/InsightsView-BIZaUcpd.js +11 -0
  48. package/dist/client/assets/InsightsView-C7yRTMPn.css +1 -0
  49. package/dist/client/assets/MemoryView-7v7rv6ns.js +2 -0
  50. package/dist/client/assets/MemoryView-CBDUr2Jy.css +1 -0
  51. package/dist/client/assets/PiExtensionsManager-CB89rV4U.js +11 -0
  52. package/dist/client/assets/PluginManager-BNSuW_R4.js +1 -0
  53. package/dist/client/assets/PluginManager-DSiHizRD.css +1 -0
  54. package/dist/client/assets/PullRequestView-CI5jdKBL.js +6 -0
  55. package/dist/client/assets/PullRequestView-CpdE3Yo_.css +1 -0
  56. package/dist/client/assets/ResearchView-BT5dR_m8.js +1 -0
  57. package/dist/client/assets/ResearchView-DIVNQF4_.css +1 -0
  58. package/dist/client/assets/SecretsView-CvFioX7R.css +1 -0
  59. package/dist/client/assets/SecretsView-WPYI58Uo.js +1 -0
  60. package/dist/client/assets/SessionTerminal-C6gyOWLt.js +2 -0
  61. package/dist/client/assets/SessionTerminal-D4R3ScvQ.css +1 -0
  62. package/dist/client/assets/SettingsModal-BESN59Ao.css +1 -0
  63. package/dist/client/assets/SettingsModal-BZokaNyx.css +1 -0
  64. package/dist/client/assets/SettingsModal-Bq_3AbaB.js +1 -0
  65. package/dist/client/assets/SettingsModal-JHACoQJe.js +21 -0
  66. package/dist/client/assets/SetupWizardModal-CrgbnR_d.js +2 -0
  67. package/dist/client/assets/ShadcnColorPicker-1icHuwhC.js +11 -0
  68. package/dist/client/assets/ShadcnColorPicker-pqVWCC5-.css +1 -0
  69. package/dist/client/assets/SkillsView-CJ8snrma.css +1 -0
  70. package/dist/client/assets/SkillsView-byuSe3e0.js +1 -0
  71. package/dist/client/assets/TodoView-CIsL_uvQ.css +1 -0
  72. package/dist/client/assets/TodoView-CQ9GjYBg.js +6 -0
  73. package/dist/client/assets/WorkflowNodeEditor-DW7sJZUX.js +8 -0
  74. package/dist/client/assets/WorkflowNodeEditor-f_XPV5Jd.css +1 -0
  75. package/dist/client/assets/{addon-fit-B4jkcKk4.js → addon-fit-C1WQXRvu.js} +1 -1
  76. package/dist/client/assets/{addon-unicode11-Cdne2Sj4.js → addon-unicode11-BVmNDUBM.js} +1 -1
  77. package/dist/client/assets/{addon-web-links-CRNLzj7m.js → addon-web-links-CkVew5xs.js} +1 -1
  78. package/dist/client/assets/{addon-webgl-CeCSULF1.js → addon-webgl-uLc0RKcC.js} +1 -1
  79. package/dist/client/assets/agentSkills-CeytXLHF.js +1 -0
  80. package/dist/client/assets/agentSkills-bQJ4X1gH.css +1 -0
  81. package/dist/client/assets/agentsOrgChartLayout-BMvyuaLA.js +1 -0
  82. package/dist/client/assets/app-3wbZ08YC.js +13 -0
  83. package/dist/client/assets/app-7-5DWLtg.js +13 -0
  84. package/dist/client/assets/app-CSvE5Noc.js +13 -0
  85. package/dist/client/assets/app-CZ2LTFce.js +13 -0
  86. package/dist/client/assets/app-Cv9xEnll.js +13 -0
  87. package/dist/client/assets/app-x_yPcO5Y.js +13 -0
  88. package/dist/client/assets/arc-cxkkNsnK.js +1 -0
  89. package/dist/client/assets/architectureDiagram-3BPJPVTR-BRI0QwDf.js +36 -0
  90. package/dist/client/assets/band-CquvqAHh.js +1 -0
  91. package/dist/client/assets/blockDiagram-GPEHLZMM-BXkN8Hv_.js +132 -0
  92. package/dist/client/assets/c4Diagram-AAUBKEIU-C_Kcokep.js +10 -0
  93. package/dist/client/assets/channel-Clzpzu32.js +1 -0
  94. package/dist/client/assets/chunk-2J33WTMH-BGeuCz9C.js +1 -0
  95. package/dist/client/assets/chunk-4BX2VUAB-DcVdctr0.js +1 -0
  96. package/dist/client/assets/chunk-55IACEB6-Dg6gDigQ.js +1 -0
  97. package/dist/client/assets/chunk-727SXJPM-B9B-vlEb.js +206 -0
  98. package/dist/client/assets/chunk-AQP2D5EJ-LrWQ-2yi.js +231 -0
  99. package/dist/client/assets/chunk-FMBD7UC4-Bnd6hAED.js +15 -0
  100. package/dist/client/assets/chunk-ND2GUHAM-nAw93UB5.js +1 -0
  101. package/dist/client/assets/chunk-QZHKN3VN-CgprKcZo.js +1 -0
  102. package/dist/client/assets/classDiagram-4FO5ZUOK-CzYHP-af.js +1 -0
  103. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CzYHP-af.js +1 -0
  104. package/dist/client/assets/common-BDp2y6CF.js +1 -0
  105. package/dist/client/assets/common-BnEo5fLN.js +1 -0
  106. package/dist/client/assets/common-Bzr_Y8h4.js +1 -0
  107. package/dist/client/assets/common-CvwyFzfv.js +1 -0
  108. package/dist/client/assets/common-CztCXRkz.js +1 -0
  109. package/dist/client/assets/common-DPe2mbb7.js +1 -0
  110. package/dist/client/assets/cose-bilkent-S5V4N54A-Bhn0g_iK.js +1 -0
  111. package/dist/client/assets/cytoscape.esm-OyMbaexL.js +331 -0
  112. package/dist/client/assets/dagre-BM42HDAG-CP4kfwqd.js +4 -0
  113. package/dist/client/assets/{dashboard-view-C3SsjXo1.js → dashboard-view-CM6Xin_H.js} +1680 -1620
  114. package/dist/client/assets/dashboard-view-DV1nEhh9.js +1 -0
  115. package/dist/client/assets/dashboard-view-D_zsA-kz.css +1 -0
  116. package/dist/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  117. package/dist/client/assets/diagram-2AECGRRQ-DPhzVEUf.js +43 -0
  118. package/dist/client/assets/diagram-5GNKFQAL-8QOC3K_L.js +10 -0
  119. package/dist/client/assets/diagram-KO2AKTUF-C1twgEch.js +3 -0
  120. package/dist/client/assets/diagram-LMA3HP47-3bEegSuf.js +24 -0
  121. package/dist/client/assets/diagram-OG6HWLK6-BJ_x0rm6.js +24 -0
  122. package/dist/client/assets/erDiagram-TEJ5UH35-DNiiS5q6.js +85 -0
  123. package/dist/client/assets/flowDiagram-I6XJVG4X-DoouPklt.js +162 -0
  124. package/dist/client/assets/{folder-open-Bw1mxVfa.js → folder-open-CuUs2W7f.js} +1 -1
  125. package/dist/client/assets/ganttDiagram-6RSMTGT7-BrR6VnP5.js +292 -0
  126. package/dist/client/assets/gitGraphDiagram-PVQCEYII-BV8_J6Ee.js +106 -0
  127. package/dist/client/assets/graph--OzhPTMs.js +1 -0
  128. package/dist/client/assets/index-BZBQ_KsL.css +1 -0
  129. package/dist/client/assets/index-CZcWjLAb.js +1459 -0
  130. package/dist/client/assets/infoDiagram-5YYISTIA-DGwIIFkR.js +2 -0
  131. package/dist/client/assets/init-Dmth1JHB.js +1 -0
  132. package/dist/client/assets/ishikawaDiagram-YF4QCWOH-D5dEH4RE.js +70 -0
  133. package/dist/client/assets/journeyDiagram-JHISSGLW-BuuSWPw5.js +139 -0
  134. package/dist/client/assets/kanban-definition-UN3LZRKU-DA34uUla.js +89 -0
  135. package/dist/client/assets/katex-HP8lGamR.js +257 -0
  136. package/dist/client/assets/layout-SsrduOYp.js +1 -0
  137. package/dist/client/assets/linear-dXivciGL.js +1 -0
  138. package/dist/client/assets/mermaid.core-Ch4HatqA.js +309 -0
  139. package/dist/client/assets/mindmap-definition-RKZ34NQL-DUCG-qD3.js +96 -0
  140. package/dist/client/assets/ordinal-DILIJJjt.js +1 -0
  141. package/dist/client/assets/pieDiagram-4H26LBE5-DWvFGiLa.js +30 -0
  142. package/dist/client/assets/quadrantDiagram-W4KKPZXB-OPTVW3WT.js +7 -0
  143. package/dist/client/assets/requirementDiagram-4Y6WPE33-D7feZvlU.js +84 -0
  144. package/dist/client/assets/sankeyDiagram-5OEKKPKP-AtnSsEX1.js +40 -0
  145. package/dist/client/assets/sequenceDiagram-3UESZ5HK-BZjHUeI5.js +162 -0
  146. package/dist/client/assets/shield-alert-CzaF9ROV.js +6 -0
  147. package/dist/client/assets/stateDiagram-AJRCARHV-C8j23Pvn.js +1 -0
  148. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CiZR_S5-.js +1 -0
  149. package/dist/client/assets/step-yuy0qJer.js +1 -0
  150. package/dist/client/assets/time-DoDTxsna.js +1 -0
  151. package/dist/client/assets/timeline-definition-PNZ67QCA-DvfNz25n.js +120 -0
  152. package/dist/client/assets/{upload-BCmd-1I0.js → upload-DTsYywhN.js} +1 -1
  153. package/dist/client/assets/{users-DO_t3V1p.js → users-yAd09tKP.js} +1 -1
  154. package/dist/client/assets/{vendor-i18n-CV0mwX_-.js → vendor-i18n-GF3RlKbq.js} +2 -2
  155. package/dist/client/assets/vendor-react-SZ_qB27O.js +49 -0
  156. package/dist/client/assets/vendor-reactflow-Bg-Qjzh8.js +15 -0
  157. package/dist/client/assets/{vendor-xterm-tcedd2Jt.js → vendor-xterm-BNq00GSj.js} +1 -1
  158. package/dist/client/assets/vennDiagram-CIIHVFJN-CG2aMt3v.js +34 -0
  159. package/dist/client/assets/wardley-L42UT6IY-BnhBteen.js +173 -0
  160. package/dist/client/assets/wardleyDiagram-YWT4CUSO-DwqTzM3T.js +78 -0
  161. package/dist/client/assets/xychartDiagram-2RQKCTM6-5Cv2ZKMV.js +7 -0
  162. package/dist/client/assets/zoom-out-NWbVkreR.js +41 -0
  163. package/dist/client/icons/icon-192.png +0 -0
  164. package/dist/client/icons/icon-512.png +0 -0
  165. package/dist/client/index.html +30 -10
  166. package/dist/client/sw.js +1 -1
  167. package/dist/client/theme-data.css +3348 -469
  168. package/dist/client/version.json +1 -1
  169. package/dist/droid-cli/index.ts +56 -40
  170. package/dist/droid-cli/package.json +1 -1
  171. package/dist/droid-cli/src/__tests__/execsync-guard.test.ts +17 -0
  172. package/dist/droid-cli/src/__tests__/index.test.ts +47 -21
  173. package/dist/droid-cli/src/__tests__/process-manager.test.ts +51 -78
  174. package/dist/extension.js +9651 -1556
  175. package/dist/extract-zip-WL55Z3AU.js +2497 -0
  176. package/dist/index.min-CHQ3ABYJ.js +2926 -0
  177. package/dist/memory-dreams-7USISKVE.js +32 -0
  178. package/dist/memory-dreams-PBPISUDD.js +32 -0
  179. package/dist/memory-dreams-XNO2B2QF.js +32 -0
  180. package/dist/migration-EH2YOCYQ.js +15 -0
  181. package/dist/migration-PLGTTKL5.js +15 -0
  182. package/dist/migration-WZEZK22R.js +15 -0
  183. package/dist/pi-claude-cli/index.ts +47 -8
  184. package/dist/pi-claude-cli/package.json +4 -1
  185. package/dist/pi-claude-cli/src/__tests__/acp-dispatch.test.ts +80 -0
  186. package/dist/pi-claude-cli/src/__tests__/acp-driver.test.ts +423 -0
  187. package/dist/pi-claude-cli/src/__tests__/execsync-guard.test.ts +14 -0
  188. package/dist/pi-claude-cli/src/__tests__/process-manager.test.ts +26 -45
  189. package/dist/pi-claude-cli/src/__tests__/provider.test.ts +0 -1
  190. package/dist/pi-claude-cli/src/acp-driver.ts +585 -0
  191. package/dist/pi-claude-cli/src/event-bridge.ts +7 -0
  192. package/dist/pi-claude-cli/src/mcp-config.ts +29 -0
  193. package/dist/pi-claude-cli/src/process-manager.ts +17 -39
  194. package/dist/plugin-sdk/index.d.ts +5305 -5148
  195. package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +263 -19
  196. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  197. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  198. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +37 -7
  199. package/dist/plugins/fusion-plugin-compound-engineering/manifest.json +4 -4
  200. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  201. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  202. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  203. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +69 -45
  204. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  205. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  206. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  207. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  208. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  209. package/dist/plugins/fusion-plugin-roadmap/bundled.js +5 -11
  210. package/dist/plugins/fusion-plugin-roadmap/manifest.json +1 -11
  211. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  212. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  213. package/dist/plugins/fusion-plugin-whatsapp-chat/src/__tests__/index.test.ts +5 -1
  214. package/dist/routine-store-GIJ6MXWY.js +10 -0
  215. package/dist/routine-store-HTVC2PUQ.js +10 -0
  216. package/dist/routine-store-KGHZBPDF.js +10 -0
  217. package/package.json +3 -3
  218. package/skill/fusion/SKILL.md +1 -1
  219. package/skill/fusion/references/cli-commands.md +2 -1
  220. package/skill/fusion/references/engine-tools.md +6 -4
  221. package/skill/fusion/references/extension-tools.md +10 -0
  222. package/skill/fusion/references/fusion-capabilities.md +3 -1
  223. package/dist/client/assets/AgentDetailView-BGN03dyz.css +0 -1
  224. package/dist/client/assets/AgentDetailView-DKMz3r04.js +0 -18
  225. package/dist/client/assets/AgentsView-Co-k4vjh.js +0 -29
  226. package/dist/client/assets/AgentsView-DfznJDek.css +0 -1
  227. package/dist/client/assets/ChatView-BkAG99bj.js +0 -6
  228. package/dist/client/assets/ChatView-DwJAd5G1.css +0 -1
  229. package/dist/client/assets/DevServerView-C6DC0URX.js +0 -1
  230. package/dist/client/assets/DevServerView-VTQY28P7.css +0 -1
  231. package/dist/client/assets/DirectoryPicker-CkcGjyv0.js +0 -1
  232. package/dist/client/assets/DocumentsView-OCK1Vsw_.js +0 -1
  233. package/dist/client/assets/DocumentsView-WfVoTZt8.css +0 -1
  234. package/dist/client/assets/EvalsView-CUNJ1TLc.css +0 -1
  235. package/dist/client/assets/EvalsView-CUfyj5GW.js +0 -1
  236. package/dist/client/assets/ExperimentalAgentOnboardingModal-BNpveCEk.css +0 -1
  237. package/dist/client/assets/ExperimentalAgentOnboardingModal-Dau9RTU_.js +0 -499
  238. package/dist/client/assets/GoalsView-CNLTn0rX.js +0 -2
  239. package/dist/client/assets/GoalsView-DI66UsjT.css +0 -1
  240. package/dist/client/assets/InsightsView-BQPxHxKI.js +0 -11
  241. package/dist/client/assets/InsightsView-C9-mqVvf.css +0 -1
  242. package/dist/client/assets/MemoryView-D3xQIFjj.js +0 -2
  243. package/dist/client/assets/MemoryView-zaXewZzi.css +0 -1
  244. package/dist/client/assets/NodesView-7VInxyf_.css +0 -1
  245. package/dist/client/assets/NodesView-CSMvGwDU.js +0 -14
  246. package/dist/client/assets/PiExtensionsManager-BtqXF3fl.js +0 -11
  247. package/dist/client/assets/PluginManager-CSSDb3VO.js +0 -1
  248. package/dist/client/assets/PluginManager-UHVLvWWl.css +0 -1
  249. package/dist/client/assets/PullRequestView-Bjyfffdu.js +0 -6
  250. package/dist/client/assets/PullRequestView-WQIS0zUC.css +0 -1
  251. package/dist/client/assets/ReliabilityView-QKMUDebT.js +0 -1
  252. package/dist/client/assets/ReliabilityView-eoKBhBc4.css +0 -1
  253. package/dist/client/assets/ResearchView-CRU_NPho.js +0 -1
  254. package/dist/client/assets/ResearchView-DTh8FLUm.css +0 -1
  255. package/dist/client/assets/SecretsView-Bs8ySyC5.js +0 -1
  256. package/dist/client/assets/SecretsView-Djo1rahi.css +0 -1
  257. package/dist/client/assets/SessionTerminal-BiigPP2l.css +0 -1
  258. package/dist/client/assets/SessionTerminal-Dk1NgmN2.js +0 -2
  259. package/dist/client/assets/SettingsModal-DpAxDq6M.css +0 -1
  260. package/dist/client/assets/SettingsModal-JCaNvdAb.js +0 -31
  261. package/dist/client/assets/SettingsModal-Nw5cTKAK.js +0 -1
  262. package/dist/client/assets/SettingsModal-nF_GaeeK.css +0 -1
  263. package/dist/client/assets/SetupWizardModal-CE79myEy.js +0 -1
  264. package/dist/client/assets/SetupWizardModal-CIqFbkrD.css +0 -1
  265. package/dist/client/assets/SkillsView-3bhGyWs1.css +0 -1
  266. package/dist/client/assets/SkillsView-Dc8YskAX.js +0 -1
  267. package/dist/client/assets/StashRecoveryView-B_8WIQEo.css +0 -1
  268. package/dist/client/assets/StashRecoveryView-CqKOFiXT.js +0 -1
  269. package/dist/client/assets/TodoView-7xIh-Fmi.css +0 -1
  270. package/dist/client/assets/TodoView-BqIRwcZw.js +0 -6
  271. package/dist/client/assets/WorkflowNodeEditor-2jDuk2FR.js +0 -8
  272. package/dist/client/assets/WorkflowNodeEditor-BokhW3de.css +0 -1
  273. package/dist/client/assets/app-B2ZxMfJT.js +0 -13
  274. package/dist/client/assets/app-BffGU_HQ.js +0 -13
  275. package/dist/client/assets/app-C8AHhs5N.js +0 -13
  276. package/dist/client/assets/app-CUu1sm3x.js +0 -13
  277. package/dist/client/assets/app-Ri9Te2Dv.js +0 -13
  278. package/dist/client/assets/app-sEkTyT-w.js +0 -13
  279. package/dist/client/assets/common-BRyX4VxB.js +0 -1
  280. package/dist/client/assets/common-CN9QPI2d.js +0 -1
  281. package/dist/client/assets/common-CNbjPELi.js +0 -1
  282. package/dist/client/assets/common-DFDqu_n0.js +0 -1
  283. package/dist/client/assets/common-DgWWKG8Z.js +0 -1
  284. package/dist/client/assets/common-X6PzBnVA.js +0 -1
  285. package/dist/client/assets/createLucideIcon-BYvOGRiO.js +0 -21
  286. package/dist/client/assets/dashboard-view-BhbN8LPh.js +0 -1
  287. package/dist/client/assets/dashboard-view-DdGlfuu-.css +0 -1
  288. package/dist/client/assets/dashboard-view-DlKsVySD.js +0 -3
  289. package/dist/client/assets/dashboard-view-Du53JbmQ.css +0 -1
  290. package/dist/client/assets/index-CpTBp1RG.js +0 -793
  291. package/dist/client/assets/index-DqhCiU35.css +0 -1
  292. package/dist/client/assets/vendor-react-D37HfzIf.js +0 -49
  293. package/dist/client/assets/vendor-reactflow-CRZcPCXF.js +0 -15
  294. package/dist/client/assets/x-CqNX_9E2.js +0 -61
  295. package/dist/client/assets/zoom-out-CSTHbJgD.js +0 -21
@@ -3,6 +3,9 @@
3
3
  Contract: every dark/light theme block defines --surface-hover
4
4
  so component hover states can use var(--surface-hover) without
5
5
  per-selector fallbacks or mode-specific overrides.
6
+
7
+ FNXC:DashboardTheming 2026-06-15-00:00:
8
+ Theme token translucency uses color-mix(in srgb, var(--token) N%, transparent) or exact literal color-mix values for glass surfaces. Raw RGB alpha color functions are banned outside var() fallbacks by FN-6489.
6
9
  ============================================================ */
7
10
 
8
11
  /* OCEAN - Deep blues and cyans */
@@ -22,7 +25,7 @@
22
25
  --cta-text: #fff;
23
26
  --cta-bg-hover: #00a08a;
24
27
  --cta-border-hover: #00c853;
25
- --cta-glow: 0 0 8px rgba(0, 200, 83, 0.3);
28
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
26
29
  --logo-accent: var(--todo);
27
30
  --color-info: #0288d1;
28
31
  --accent: #00b8d4;
@@ -45,7 +48,7 @@
45
48
  --cta-text: #fff;
46
49
  --cta-bg-hover: #00897b;
47
50
  --cta-border-hover: #4caf50;
48
- --cta-glow: 0 0 8px rgba(0, 137, 123, 0.3);
51
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
49
52
  --logo-accent: var(--todo);
50
53
  --color-info: #0277bd;
51
54
  --accent: #0097a7;
@@ -69,7 +72,7 @@
69
72
  --cta-text: #fff;
70
73
  --cta-bg-hover: #22c55e;
71
74
  --cta-border-hover: #34d399;
72
- --cta-glow: 0 0 8px rgba(34, 197, 94, 0.3);
75
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
73
76
  --logo-accent: var(--todo);
74
77
  --color-info: #29b6f6;
75
78
  --accent: #16a34a;
@@ -92,7 +95,7 @@
92
95
  --cta-text: #fff;
93
96
  --cta-bg-hover: #16a34a;
94
97
  --cta-border-hover: #22c55e;
95
- --cta-glow: 0 0 8px rgba(22, 163, 74, 0.3);
98
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
96
99
  --logo-accent: var(--todo);
97
100
  --color-info: #0288d1;
98
101
  --accent: #15803d;
@@ -116,7 +119,7 @@
116
119
  --cta-text: #fff;
117
120
  --cta-bg-hover: #ff6d00;
118
121
  --cta-border-hover: #ff9100;
119
- --cta-glow: 0 0 8px rgba(255, 109, 0, 0.3);
122
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
120
123
  --logo-accent: var(--todo);
121
124
  --color-info: #2196f3;
122
125
  --accent: #ff6d00;
@@ -139,7 +142,7 @@
139
142
  --cta-text: #fff;
140
143
  --cta-bg-hover: #e65100;
141
144
  --cta-border-hover: #ff6d00;
142
- --cta-glow: 0 0 8px rgba(230, 81, 0, 0.3);
145
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
143
146
  --logo-accent: var(--todo);
144
147
  --color-info: #1565c0;
145
148
  --accent: #e65100;
@@ -163,7 +166,7 @@
163
166
  --cta-text: #fff;
164
167
  --cta-bg-hover: #ab47bc;
165
168
  --cta-border-hover: #ce93d8;
166
- --cta-glow: 0 0 8px rgba(179, 136, 255, 0.3);
169
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
167
170
  --logo-accent: var(--todo);
168
171
  --color-info: #7c4dff;
169
172
  --accent: #9c27b0;
@@ -186,7 +189,7 @@
186
189
  --cta-text: #fff;
187
190
  --cta-bg-hover: #9c27b0;
188
191
  --cta-border-hover: #ab47bc;
189
- --cta-glow: 0 0 8px rgba(156, 39, 176, 0.3);
192
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
190
193
  --logo-accent: var(--todo);
191
194
  --color-info: #6200ea;
192
195
  --accent: #7b1fa2;
@@ -210,7 +213,7 @@
210
213
  --cta-text: #fff;
211
214
  --cta-bg-hover: #9e9e9e;
212
215
  --cta-border-hover: #bdbdbd;
213
- --cta-glow: 0 0 8px rgba(158, 158, 158, 0.3);
216
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
214
217
  --logo-accent: var(--todo);
215
218
  --color-info: #64b5f6;
216
219
  --accent: #b0b0b0;
@@ -233,7 +236,7 @@
233
236
  --cta-text: #fff;
234
237
  --cta-bg-hover: #757575;
235
238
  --cta-border-hover: #9e9e9e;
236
- --cta-glow: 0 0 8px rgba(117, 117, 117, 0.3);
239
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
237
240
  --logo-accent: var(--todo);
238
241
  --color-info: #1976d2;
239
242
  --accent: #616161;
@@ -256,7 +259,7 @@
256
259
  --cta-text: #fff;
257
260
  --cta-bg-hover: #7c8fa4;
258
261
  --cta-border-hover: #94a3b8;
259
- --cta-glow: 0 0 8px rgba(148, 163, 184, 0.3);
262
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent);
260
263
  --logo-accent: var(--todo);
261
264
  --color-info: #60a5fa;
262
265
  --accent: #64748b;
@@ -278,7 +281,7 @@
278
281
  --cta-text: #fff;
279
282
  --cta-bg-hover: #64748b;
280
283
  --cta-border-hover: #94a3b8;
281
- --cta-glow: 0 0 8px rgba(71, 85, 105, 0.3);
284
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
282
285
  --logo-accent: var(--todo);
283
286
  --color-info: #3b82f6;
284
287
  --accent: #475569;
@@ -301,7 +304,7 @@
301
304
  --cta-text: #fff;
302
305
  --cta-bg-hover: #9ca3af;
303
306
  --cta-border-hover: #a8a29e;
304
- --cta-glow: 0 0 8px rgba(168, 162, 158, 0.3);
307
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent);
305
308
  --logo-accent: var(--todo);
306
309
  --color-info: #93c5fd;
307
310
  --accent: #a1887f;
@@ -323,13 +326,184 @@
323
326
  --cta-text: #fff;
324
327
  --cta-bg-hover: #78716c;
325
328
  --cta-border-hover: #a8a29e;
326
- --cta-glow: 0 0 8px rgba(87, 83, 78, 0.3);
329
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
327
330
  --logo-accent: var(--todo);
328
331
  --color-info: #3b82f6;
329
332
  --accent: #6d5d53;
330
333
  --accent-text: #fff;
331
334
  }
332
335
 
336
+ /*
337
+ FNXC:DashboardTheming 2026-06-19-15:39:
338
+ Air must be the calmest, flattest theme: near-monochrome tokens, a restrained blue-gray accent, a clean system sans stack, and faint color-mix borders.
339
+ The "remove unnecessary UI" requirement is intentionally CSS-only and scoped to [data-color-theme="air"] so shared DOM affordances remain present while borders, shadows, and decorative chrome flatten visually.
340
+
341
+ FNXC:DashboardTheming 2026-06-22-14:24:
342
+ Air should hide horizontal divider lines across headers, modal title bars, footers, and tab rails while preserving vertical pane dividers and component outlines. Keep this as theme CSS so the DOM and hit targets remain shared across themes.
343
+ */
344
+ [data-color-theme="air"] {
345
+ --bg: #0f1115;
346
+ --surface: #151820;
347
+ --card: #171a22;
348
+ --card-hover: color-mix(in srgb, var(--card) 92%, var(--text) 8%);
349
+ --text: #eef1f4;
350
+ --text-muted: #9aa3ad;
351
+ --border: color-mix(in srgb, var(--text) 8%, transparent);
352
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
353
+ --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
354
+ --todo: #a5adba;
355
+ --in-progress: #b8c0cc;
356
+ --in-progress-rgb: 184, 192, 204;
357
+ --in-review: #c7ced8;
358
+ --triage: #8d96a3;
359
+ --done: #737d8a;
360
+ --color-success: #c7ced8;
361
+ --color-error: #d8a7a7;
362
+ --color-warning: #b7ad9a;
363
+ --color-info: #a8bfd8;
364
+ --cta-bg: #dbe5ef;
365
+ --cta-border: color-mix(in srgb, var(--cta-bg) 72%, transparent);
366
+ --cta-text: #111318;
367
+ --cta-bg-hover: #eef3f8;
368
+ --cta-border-hover: color-mix(in srgb, var(--cta-bg-hover) 82%, transparent);
369
+ --cta-glow: 0 0 0 transparent;
370
+ --logo-accent: var(--accent);
371
+ --accent: #a8bfd8;
372
+ --accent-text: #111318;
373
+ }
374
+
375
+ [data-color-theme="air"][data-theme="light"] {
376
+ --bg: #fbfbfa;
377
+ --surface: #ffffff;
378
+ --card: #ffffff;
379
+ --card-hover: color-mix(in srgb, var(--card) 96%, var(--text) 4%);
380
+ --text: #1f242b;
381
+ --text-muted: #69717c;
382
+ --border: color-mix(in srgb, var(--text) 8%, transparent);
383
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
384
+ --font-primary: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
385
+ --todo: #667085;
386
+ --in-progress: #4f5f73;
387
+ --in-progress-rgb: 79, 95, 115;
388
+ --in-review: #5f6f83;
389
+ --triage: #7a7368;
390
+ --done: #8a929f;
391
+ --color-success: #526273;
392
+ --color-error: #b45f5f;
393
+ --color-warning: #8a7760;
394
+ --color-info: #536b86;
395
+ --cta-bg: #26313d;
396
+ --cta-border: color-mix(in srgb, var(--cta-bg) 76%, transparent);
397
+ --cta-text: #ffffff;
398
+ --cta-bg-hover: #354253;
399
+ --cta-border-hover: color-mix(in srgb, var(--cta-bg-hover) 84%, transparent);
400
+ --cta-glow: 0 0 0 transparent;
401
+ --logo-accent: var(--accent);
402
+ --accent: #536b86;
403
+ --accent-text: #ffffff;
404
+ }
405
+
406
+ [data-color-theme="air"] .card,
407
+ [data-color-theme="air"] .column,
408
+ [data-color-theme="air"] .panel,
409
+ [data-color-theme="air"] .modal,
410
+ [data-color-theme="air"] .task-card {
411
+ border-color: var(--border);
412
+ box-shadow: 0 0 0 transparent;
413
+ background-image: none;
414
+ }
415
+
416
+ [data-color-theme="air"] .btn,
417
+ [data-color-theme="air"] .btn-icon,
418
+ [data-color-theme="air"] .input,
419
+ [data-color-theme="air"] input,
420
+ [data-color-theme="air"] textarea,
421
+ [data-color-theme="air"] select {
422
+ border-color: var(--border);
423
+ box-shadow: 0 0 0 transparent;
424
+ }
425
+
426
+ [data-color-theme="air"] .btn:hover,
427
+ [data-color-theme="air"] .btn-icon:hover,
428
+ [data-color-theme="air"] .card:hover,
429
+ [data-color-theme="air"] .task-card:hover {
430
+ box-shadow: 0 0 0 transparent;
431
+ }
432
+
433
+ [data-color-theme="air"] .badge,
434
+ [data-color-theme="air"] .pill,
435
+ [data-color-theme="air"] .tag {
436
+ border-color: var(--border);
437
+ box-shadow: 0 0 0 transparent;
438
+ }
439
+
440
+ [data-color-theme="air"] .view-header,
441
+ [data-color-theme="air"] .header,
442
+ [data-color-theme="air"] .modal-header,
443
+ [data-color-theme="air"] .modal-actions,
444
+ [data-color-theme="air"] .modal-footer,
445
+ [data-color-theme="air"] .floating-window-header,
446
+ [data-color-theme="air"] .settings-section-heading,
447
+ [data-color-theme="air"] .settings-section-divider,
448
+ [data-color-theme="air"] .runtime-card__tabs,
449
+ [data-color-theme="air"] .runtime-card__footer,
450
+ [data-color-theme="air"] .mailbox-thread-detail-header,
451
+ [data-color-theme="air"] .chat-sidebar-footer,
452
+ [data-color-theme="air"] .task-detail-tabs,
453
+ [data-color-theme="air"] .task-detail-section,
454
+ [data-color-theme="air"] .workflow-output-modal-header,
455
+ [data-color-theme="air"] .file-browser-modal-header,
456
+ [data-color-theme="air"] .activity-log-header {
457
+ border-top-color: transparent;
458
+ border-bottom-color: transparent;
459
+ }
460
+
461
+ /*
462
+ FNXC:DashboardTheming 2026-06-22-14:24:
463
+ Shadcn-family themes should read as seamless app shells: header and modal-title separators disappear, but vertical pane borders and local control outlines stay intact.
464
+ */
465
+ [data-color-theme^="shadcn"] .view-header,
466
+ [data-color-theme^="shadcn"] .header,
467
+ [data-color-theme^="shadcn"] .modal-header,
468
+ [data-color-theme^="shadcn"] .modal-actions,
469
+ [data-color-theme^="shadcn"] .modal-footer,
470
+ [data-color-theme^="shadcn"] .floating-window-header,
471
+ [data-color-theme^="shadcn"] .settings-section-heading,
472
+ [data-color-theme^="shadcn"] .settings-section-divider,
473
+ [data-color-theme^="shadcn"] .workflow-output-modal-header,
474
+ [data-color-theme^="shadcn"] .file-browser-modal-header,
475
+ [data-color-theme^="shadcn"] .activity-log-header {
476
+ border-top-color: transparent;
477
+ border-bottom-color: transparent;
478
+ }
479
+
480
+ /*
481
+ FNXC:DashboardTheming 2026-06-23-00:07:
482
+ All shadcn-family themes should use one UI font family across app chrome, forms, popovers, and buttons. Native controls do not reliably inherit the document font in every browser, so pin shadcn UI controls to --font-primary while preserving --font-mono for code-oriented text.
483
+ */
484
+ [data-color-theme^="shadcn"],
485
+ [data-color-theme^="shadcn"] body,
486
+ [data-color-theme^="shadcn"] button,
487
+ [data-color-theme^="shadcn"] input,
488
+ [data-color-theme^="shadcn"] select,
489
+ [data-color-theme^="shadcn"] textarea,
490
+ [data-color-theme^="shadcn"] optgroup,
491
+ [data-color-theme^="shadcn"] .btn,
492
+ [data-color-theme^="shadcn"] .input,
493
+ [data-color-theme^="shadcn"] .select,
494
+ [data-color-theme^="shadcn"] .modal,
495
+ [data-color-theme^="shadcn"] .card {
496
+ font-family: var(--font-primary);
497
+ }
498
+
499
+ [data-color-theme^="shadcn"] code,
500
+ [data-color-theme^="shadcn"] pre,
501
+ [data-color-theme^="shadcn"] kbd,
502
+ [data-color-theme^="shadcn"] samp,
503
+ [data-color-theme^="shadcn"] .font-mono {
504
+ font-family: var(--font-mono);
505
+ }
506
+
333
507
  /* GRAPHITE - Dark graphite blacks */
334
508
  [data-color-theme="graphite"] {
335
509
  --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
@@ -346,7 +520,7 @@
346
520
  --cta-text: #fff;
347
521
  --cta-bg-hover: #a0a0a0;
348
522
  --cta-border-hover: #b8b8b8;
349
- --cta-glow: 0 0 8px rgba(184, 184, 184, 0.3);
523
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent);
350
524
  --logo-accent: var(--todo);
351
525
  --color-info: #7ab8ff;
352
526
  --accent: #a0a0a0;
@@ -368,7 +542,7 @@
368
542
  --cta-text: #fff;
369
543
  --cta-bg-hover: #606060;
370
544
  --cta-border-hover: #808080;
371
- --cta-glow: 0 0 8px rgba(64, 64, 64, 0.3);
545
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
372
546
  --logo-accent: var(--todo);
373
547
  --color-info: #2563eb;
374
548
  --accent: #606060;
@@ -391,7 +565,7 @@
391
565
  --cta-text: #fff;
392
566
  --cta-bg-hover: #e8773a;
393
567
  --cta-border-hover: #f09050;
394
- --cta-glow: 0 0 8px rgba(232, 119, 58, 0.3);
568
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
395
569
  --logo-accent: #e8773a;
396
570
  --color-info: #e8773a;
397
571
  --accent: #e8773a;
@@ -413,7 +587,7 @@
413
587
  --cta-text: #fff;
414
588
  --cta-bg-hover: #d4622a;
415
589
  --cta-border-hover: #e07030;
416
- --cta-glow: 0 0 8px rgba(192, 88, 32, 0.3);
590
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent);
417
591
  --logo-accent: #d4622a;
418
592
  --color-info: #c05820;
419
593
  --accent: #d4622a;
@@ -436,7 +610,7 @@
436
610
  --cta-text: #fff;
437
611
  --cta-bg-hover: #b0b0b0;
438
612
  --cta-border-hover: #c0c0c0;
439
- --cta-glow: 0 0 8px rgba(192, 192, 192, 0.3);
613
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border-hover) 30%, transparent);
440
614
  --logo-accent: var(--todo);
441
615
  --color-info: #90c0ff;
442
616
  --accent: #b8b8b8;
@@ -458,7 +632,7 @@
458
632
  --cta-text: #fff;
459
633
  --cta-bg-hover: #737373;
460
634
  --cta-border-hover: #909090;
461
- --cta-glow: 0 0 8px rgba(82, 82, 82, 0.3);
635
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
462
636
  --logo-accent: var(--todo);
463
637
  --color-info: #2563eb;
464
638
  --accent: #707070;
@@ -572,7 +746,7 @@
572
746
  --cta-text: #000000;
573
747
  --cta-bg-hover: #00ff00;
574
748
  --cta-border-hover: #33ff33;
575
- --cta-glow: 0 0 8px rgba(0, 255, 0, 0.4);
749
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 40%, transparent);
576
750
  --logo-accent: var(--todo);
577
751
  --color-info: #00ccff;
578
752
  --accent: #00ff00;
@@ -604,7 +778,7 @@
604
778
  --cta-text: #ffffff;
605
779
  --cta-bg-hover: #009900;
606
780
  --cta-border-hover: #00cc00;
607
- --cta-glow: 0 0 8px rgba(0, 153, 0, 0.3);
781
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
608
782
  --logo-accent: var(--todo);
609
783
  --color-info: #0055cc;
610
784
  --accent: #00cc00;
@@ -637,7 +811,7 @@
637
811
  --cta-text: #fff;
638
812
  --cta-bg-hover: #ff6b00;
639
813
  --cta-border-hover: #ff8c00;
640
- --cta-glow: 0 0 8px rgba(255, 107, 0, 0.3);
814
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
641
815
  --logo-accent: var(--todo);
642
816
  --color-info: #42a5f5;
643
817
  --accent: #ff6d00;
@@ -669,7 +843,7 @@
669
843
  --cta-text: #fff;
670
844
  --cta-bg-hover: #e65100;
671
845
  --cta-border-hover: #ff6b00;
672
- --cta-glow: 0 0 8px rgba(230, 81, 0, 0.3);
846
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
673
847
  --logo-accent: var(--todo);
674
848
  --color-info: #1565c0;
675
849
  --accent: #bf360c;
@@ -683,268 +857,2969 @@
683
857
  --card: #083c4a;
684
858
  --card-hover: #094c5e;
685
859
  --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
686
- --border: #586e75;
687
- --text: #839496;
688
- --text-muted: #657b83;
689
- --text-dim: #586e75;
860
+ --border: #586e75;
861
+ --text: #839496;
862
+ --text-muted: #657b83;
863
+ --text-dim: #586e75;
864
+
865
+ --todo: #268bd2;
866
+ --in-progress: #2aa198;
867
+ --in-progress-rgb: 42, 161, 152;
868
+ --in-review: #859900;
869
+ --triage: #b58900;
870
+ --done: #93a1a1;
871
+ --color-success: #859900;
872
+ --color-error: #dc322f;
873
+
874
+ --cta-bg: #719e00;
875
+ --cta-border: #859900;
876
+ --cta-text: #002b36;
877
+ --cta-bg-hover: #859900;
878
+ --cta-border-hover: #a4b800;
879
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
880
+ --logo-accent: var(--todo);
881
+ --color-info: #2aa198;
882
+ --accent: #859900;
883
+ --accent-text: #002b36;
884
+ }
885
+
886
+ [data-color-theme="solarized"][data-theme="light"] {
887
+ --bg: #fdf6e3;
888
+ --surface: #eee8d5;
889
+ --card: #f5efdc;
890
+ --card-hover: #e8e2d0;
891
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
892
+ --border: #93a1a1;
893
+ --text: #586e75;
894
+ --text-muted: #657b83;
895
+ --text-dim: #839496;
896
+
897
+ --todo: #268bd2;
898
+ --in-progress: #2aa198;
899
+ --in-progress-rgb: 42, 161, 152;
900
+ --in-review: #859900;
901
+ --triage: #b58900;
902
+ --done: #93a1a1;
903
+ --color-success: #859900;
904
+ --color-error: #dc322f;
905
+
906
+ --cta-bg: #6a8800;
907
+ --cta-border: #719e00;
908
+ --cta-text: #fdf6e3;
909
+ --cta-bg-hover: #719e00;
910
+ --cta-border-hover: #859900;
911
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
912
+ --logo-accent: var(--todo);
913
+ --color-info: #2aa198;
914
+ --accent: #637b00;
915
+ --accent-text: #fdf6e3;
916
+ }
917
+
918
+ /* FACTORY - Industrial Mission Control Theme
919
+ A comprehensive design theme that overrides fonts, spacing, and
920
+ component styling for an industrial sci-fi aesthetic.
921
+ */
922
+ [data-color-theme="factory"] {
923
+ --bg: #0a0a0a;
924
+ --surface: #111111;
925
+ --card: #1a1a1a;
926
+ --card-hover: #222222;
927
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
928
+ --border: #333333;
929
+
930
+ --text: #e5e5e5;
931
+ --text-muted: #888888;
932
+ --text-dim: #555555;
933
+
934
+ --todo: #f59e0b;
935
+ --in-progress: #06b6d4;
936
+ --in-progress-rgb: 6, 182, 212;
937
+ --in-review: #22c55e;
938
+ --triage: #ef4444;
939
+ --done: #6b7280;
940
+
941
+ --color-success: #22c55e;
942
+ --color-error: #ef4444;
943
+ --color-muted: #6b7280;
944
+
945
+ --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
946
+ --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
947
+
948
+ --space-xs: 2px;
949
+ --space-sm: 4px;
950
+ --space-md: 8px;
951
+ --space-lg: 12px;
952
+ --space-xl: 16px;
953
+ --space-2xl: 24px;
954
+
955
+ --radius-sm: 2px;
956
+ --radius-md: 4px;
957
+ --radius-lg: 6px;
958
+ --radius-xl: 8px;
959
+ --radius: var(--radius-md);
960
+
961
+ --btn-padding: 6px 12px;
962
+ --btn-border-width: 2px;
963
+ --card-padding: 8px 10px;
964
+ --modal-padding: var(--space-md) var(--space-lg);
965
+ --header-padding: var(--space-sm) var(--space-lg);
966
+ --column-gap: var(--space-sm);
967
+ --board-padding: var(--space-md) var(--space-lg);
968
+
969
+ --shadow-sm: 0 1px 1px color-mix(in srgb, #000000 50%, transparent);
970
+ --shadow-md: 0 2px 4px color-mix(in srgb, #000000 50%, transparent);
971
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 60%, transparent);
972
+ --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 40%, transparent);
973
+ --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 35%, transparent);
974
+ --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 40%, transparent);
975
+ --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 35%, transparent);
976
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 18%, transparent);
977
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 30%, transparent);
978
+ --shadow: var(--shadow-lg);
979
+
980
+ --transition-instant: 0.05s ease;
981
+ --transition-fast: 0.1s ease;
982
+ --transition-normal: 0.15s ease;
983
+ --transition-slow: 0.2s ease;
984
+
985
+ --cta-bg: #d97706;
986
+ --cta-border: #f59e0b;
987
+ --cta-text: #0a0a0a;
988
+ --cta-bg-hover: #f59e0b;
989
+ --cta-border-hover: #fbbf24;
990
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 40%, transparent);
991
+ --logo-accent: var(--todo);
992
+ --color-info: #2563eb;
993
+ --accent: #d97706;
994
+ --accent-text: #0a0a0a;
995
+ }
996
+
997
+ [data-color-theme="factory"][data-theme="light"] {
998
+ --bg: #f5f5f5;
999
+ --surface: #ffffff;
1000
+ --card: #fafafa;
1001
+ --card-hover: #f0f0f0;
1002
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1003
+ --border: #d4d4d4;
1004
+
1005
+ --text: #1a1a1a;
1006
+ --text-muted: #666666;
1007
+ --text-dim: #999999;
1008
+
1009
+ --todo: #d97706;
1010
+ --in-progress: #0891b2;
1011
+ --in-progress-rgb: 8, 145, 178;
1012
+ --in-review: #16a34a;
1013
+ --triage: #dc2626;
1014
+ --done: #4b5563;
1015
+
1016
+ --color-success: #16a34a;
1017
+ --color-error: #dc2626;
1018
+ --color-muted: #6b7280;
1019
+
1020
+ --shadow-sm: 0 1px 1px color-mix(in srgb, var(--text) 10%, transparent);
1021
+ --shadow-md: 0 2px 4px color-mix(in srgb, var(--text) 10%, transparent);
1022
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 15%, transparent);
1023
+ --shadow-glow: 0 0 6px color-mix(in srgb, var(--todo) 30%, transparent);
1024
+ --glow-success: 0 0 8px color-mix(in srgb, var(--color-success) 25%, transparent);
1025
+ --glow-warning: 0 0 8px color-mix(in srgb, var(--todo) 30%, transparent);
1026
+ --glow-danger: 0 0 8px color-mix(in srgb, var(--color-error) 22%, transparent);
1027
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 14%, transparent);
1028
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent);
1029
+ --shadow: var(--shadow-lg);
1030
+
1031
+ --cta-bg: #b45309;
1032
+ --cta-border: #d97706;
1033
+ --cta-text: #fff;
1034
+ --cta-bg-hover: #d97706;
1035
+ --cta-border-hover: #f59e0b;
1036
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
1037
+ --logo-accent: var(--todo);
1038
+ --color-info: #1d4ed8;
1039
+ --accent: #b45309;
1040
+ --accent-text: #fff;
1041
+ }
1042
+
1043
+ [data-color-theme="factory"] .card.agent-active {
1044
+ border-color: var(--todo);
1045
+ box-shadow:
1046
+ 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent),
1047
+ 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent);
1048
+ animation: agent-glow-factory 2s ease-in-out infinite;
1049
+ }
1050
+
1051
+ @keyframes agent-glow-factory {
1052
+ 0%,
1053
+ 100% {
1054
+ box-shadow:
1055
+ 0 0 6px color-mix(in srgb, #f59e0b 50%, transparent),
1056
+ 0 0 12px color-mix(in srgb, #f59e0b 20%, transparent);
1057
+ }
1058
+ 50% {
1059
+ box-shadow:
1060
+ 0 0 10px color-mix(in srgb, #f59e0b 70%, transparent),
1061
+ 0 0 20px color-mix(in srgb, #f59e0b 40%, transparent);
1062
+ }
1063
+ }
1064
+
1065
+ [data-color-theme="factory"][data-theme="light"] .card.agent-active {
1066
+ box-shadow:
1067
+ 0 0 6px color-mix(in srgb, #d97706 40%, transparent),
1068
+ 0 0 12px color-mix(in srgb, #d97706 15%, transparent);
1069
+ animation: agent-glow-factory-light 2s ease-in-out infinite;
1070
+ }
1071
+
1072
+ @keyframes agent-glow-factory-light {
1073
+ 0%,
1074
+ 100% {
1075
+ box-shadow:
1076
+ 0 0 6px color-mix(in srgb, #d97706 40%, transparent),
1077
+ 0 0 12px color-mix(in srgb, #d97706 15%, transparent);
1078
+ }
1079
+ 50% {
1080
+ box-shadow:
1081
+ 0 0 10px color-mix(in srgb, #d97706 60%, transparent),
1082
+ 0 0 20px color-mix(in srgb, #d97706 30%, transparent);
1083
+ }
1084
+ }
1085
+
1086
+ [data-color-theme="factory"] .btn {
1087
+ text-transform: uppercase;
1088
+ letter-spacing: 0.05em;
1089
+ font-weight: 600;
1090
+ }
1091
+
1092
+ [data-color-theme="factory"] .btn-primary,
1093
+ [data-color-theme="factory"] .btn-task-create {
1094
+ background: transparent;
1095
+ border-color: var(--todo);
1096
+ color: var(--todo);
1097
+ box-shadow: none;
1098
+ }
1099
+
1100
+ [data-color-theme="factory"] .btn-primary:hover,
1101
+ [data-color-theme="factory"] .btn-task-create:hover {
1102
+ background: var(--todo);
1103
+ color: var(--bg);
1104
+ box-shadow: var(--shadow-glow);
1105
+ }
1106
+
1107
+ [data-color-theme="factory"] .card,
1108
+ [data-color-theme="factory"] .column {
1109
+ border-width: 2px;
1110
+ }
1111
+
1112
+ [data-color-theme="factory"] .column-header h2 {
1113
+ text-transform: uppercase;
1114
+ letter-spacing: 0.1em;
1115
+ font-size: 0.75rem;
1116
+ }
1117
+
1118
+ [data-color-theme="factory"] .column-count,
1119
+ [data-color-theme="factory"] .card-id {
1120
+ font-family: var(--font-mono);
1121
+ font-weight: 700;
1122
+ }
1123
+
1124
+ /*
1125
+ FNXC:Theming 2026-06-19-00:00:
1126
+ Factory Mono is a monochrome Factory variant for FN-6724: keep the industrial monospace density, uppercase controls, and 2px border system while limiting color to red accents and removing pulsing glow effects.
1127
+ */
1128
+ [data-color-theme="factory-mono"] {
1129
+ --bg: #0a0a0a;
1130
+ --surface: #111111;
1131
+ --card: #1a1a1a;
1132
+ --card-hover: #222222;
1133
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1134
+ --border: #333333;
1135
+
1136
+ --text: #f5f5f5;
1137
+ --text-muted: #a3a3a3;
1138
+ --text-dim: #737373;
1139
+
1140
+ --todo: #d4d4d4;
1141
+ --in-progress: #a3a3a3;
1142
+ --in-progress-rgb: 163, 163, 163;
1143
+ --in-review: #e5e5e5;
1144
+ --triage: #737373;
1145
+ --done: #525252;
1146
+
1147
+ --color-success: #e5e5e5;
1148
+ --color-warning: #d4d4d4;
1149
+ --color-error: #ef4444;
1150
+ --color-muted: #737373;
1151
+
1152
+ --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
1153
+ --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
1154
+
1155
+ --space-xs: 2px;
1156
+ --space-sm: 4px;
1157
+ --space-md: 8px;
1158
+ --space-lg: 12px;
1159
+ --space-xl: 16px;
1160
+ --space-2xl: 24px;
1161
+
1162
+ --radius-sm: 2px;
1163
+ --radius-md: 4px;
1164
+ --radius-lg: 6px;
1165
+ --radius-xl: 8px;
1166
+ --radius: var(--radius-md);
1167
+
1168
+ --btn-padding: 6px 12px;
1169
+ --btn-border-width: 2px;
1170
+ --card-padding: 8px 10px;
1171
+ --modal-padding: var(--space-md) var(--space-lg);
1172
+ --header-padding: var(--space-sm) var(--space-lg);
1173
+ --column-gap: var(--space-sm);
1174
+ --board-padding: var(--space-md) var(--space-lg);
1175
+
1176
+ --shadow-sm: none;
1177
+ --shadow-md: 0 1px 0 color-mix(in srgb, #000000 60%, transparent);
1178
+ --shadow-lg: 0 1px 0 color-mix(in srgb, #000000 70%, transparent);
1179
+ --shadow-glow: none;
1180
+ --glow-success: none;
1181
+ --glow-warning: none;
1182
+ --glow-danger: none;
1183
+ --focus-ring: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 30%, transparent);
1184
+ --focus-ring-strong: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 45%, transparent);
1185
+ --shadow: var(--shadow-lg);
1186
+
1187
+ --transition-instant: 0.05s ease;
1188
+ --transition-fast: 0.1s ease;
1189
+ --transition-normal: 0.15s ease;
1190
+ --transition-slow: 0.2s ease;
1191
+
1192
+ --cta-bg: transparent;
1193
+ --cta-border: #ef4444;
1194
+ --cta-text: #ef4444;
1195
+ --cta-bg-hover: #ef4444;
1196
+ --cta-border-hover: #f87171;
1197
+ --cta-glow: none;
1198
+ --logo-accent: #ef4444;
1199
+ --color-info: #d4d4d4;
1200
+ --accent: #ef4444;
1201
+ --accent-text: #0a0a0a;
1202
+ }
1203
+
1204
+ [data-color-theme="factory-mono"][data-theme="light"] {
1205
+ --bg: #f5f5f5;
1206
+ --surface: #ffffff;
1207
+ --card: #fafafa;
1208
+ --card-hover: #f0f0f0;
1209
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1210
+ --border: #d4d4d4;
1211
+
1212
+ --text: #1a1a1a;
1213
+ --text-muted: #525252;
1214
+ --text-dim: #737373;
1215
+
1216
+ --todo: #525252;
1217
+ --in-progress: #737373;
1218
+ --in-progress-rgb: 115, 115, 115;
1219
+ --in-review: #404040;
1220
+ --triage: #a3a3a3;
1221
+ --done: #8a8a8a;
1222
+
1223
+ --color-success: #404040;
1224
+ --color-warning: #525252;
1225
+ --color-error: #dc2626;
1226
+ --color-muted: #737373;
1227
+
1228
+ --shadow-sm: none;
1229
+ --shadow-md: 0 1px 0 color-mix(in srgb, var(--text) 12%, transparent);
1230
+ --shadow-lg: 0 1px 0 color-mix(in srgb, var(--text) 18%, transparent);
1231
+ --shadow-glow: none;
1232
+ --glow-success: none;
1233
+ --glow-warning: none;
1234
+ --glow-danger: none;
1235
+ --focus-ring: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 25%, transparent);
1236
+ --focus-ring-strong: 0 0 0 var(--btn-border-width) color-mix(in srgb, var(--accent) 38%, transparent);
1237
+ --shadow: var(--shadow-lg);
1238
+
1239
+ --cta-bg: transparent;
1240
+ --cta-border: #dc2626;
1241
+ --cta-text: #dc2626;
1242
+ --cta-bg-hover: #dc2626;
1243
+ --cta-border-hover: #ef4444;
1244
+ --cta-glow: none;
1245
+ --logo-accent: #dc2626;
1246
+ --color-info: #525252;
1247
+ --accent: #dc2626;
1248
+ --accent-text: #ffffff;
1249
+ }
1250
+
1251
+ [data-color-theme="factory-mono"] .card.agent-active {
1252
+ border-color: var(--accent);
1253
+ box-shadow: none;
1254
+ animation: none;
1255
+ }
1256
+
1257
+ [data-color-theme="factory-mono"][data-theme="light"] .card.agent-active {
1258
+ border-color: var(--accent);
1259
+ box-shadow: none;
1260
+ animation: none;
1261
+ }
1262
+
1263
+ [data-color-theme="factory-mono"] .btn {
1264
+ text-transform: uppercase;
1265
+ letter-spacing: 0.05em;
1266
+ font-weight: 600;
1267
+ }
1268
+
1269
+ [data-color-theme="factory-mono"] .btn-primary,
1270
+ [data-color-theme="factory-mono"] .btn-task-create {
1271
+ background: transparent;
1272
+ border-color: var(--accent);
1273
+ color: var(--accent);
1274
+ box-shadow: none;
1275
+ }
1276
+
1277
+ [data-color-theme="factory-mono"] .btn-primary:hover,
1278
+ [data-color-theme="factory-mono"] .btn-task-create:hover {
1279
+ background: var(--accent);
1280
+ color: var(--accent-text);
1281
+ box-shadow: none;
1282
+ }
1283
+
1284
+ [data-color-theme="factory-mono"] .card,
1285
+ [data-color-theme="factory-mono"] .column {
1286
+ border-width: var(--btn-border-width);
1287
+ }
1288
+
1289
+ [data-color-theme="factory-mono"] .column-header h2 {
1290
+ text-transform: uppercase;
1291
+ letter-spacing: 0.1em;
1292
+ font-size: 0.75rem;
1293
+ }
1294
+
1295
+ [data-color-theme="factory-mono"] .column-count,
1296
+ [data-color-theme="factory-mono"] .card-id {
1297
+ font-family: var(--font-mono);
1298
+ font-weight: 700;
1299
+ }
1300
+
1301
+ /*
1302
+ FNXC:Theming 2026-06-19-15:35:
1303
+ The shadcn theme for FN-6747 approximates the shadcn/ui new-york zinc aesthetic with sans-serif typography, tokenized comfortable spacing, 1px borders, subtle flat shadows, neutralized glow tokens, and a solid primary button instead of Factory-style outlined uppercase controls.
1304
+
1305
+ FNXC:Theming 2026-06-20-00:00:
1306
+ FN-6758 makes the default shadcn highlight/accent orange for focus rings, active borders, links, and selection affordances while preserving the zinc-neutral surfaces, neutralized glows, and solid neutral primary button.
1307
+ */
1308
+ [data-color-theme="shadcn"] {
1309
+ --bg: #09090b;
1310
+ --surface: #0c0c0e;
1311
+ --card: #18181b;
1312
+ --card-hover: #1f1f23;
1313
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1314
+ --border: #27272a;
1315
+
1316
+ --text: #fafafa;
1317
+ --text-muted: #a1a1aa;
1318
+ --text-dim: #52525b;
1319
+
1320
+ --todo: #60a5fa;
1321
+ --in-progress: #38bdf8;
1322
+ --in-progress-rgb: 56, 189, 248;
1323
+ --in-review: #34d399;
1324
+ --triage: #f59e0b;
1325
+ --done: #71717a;
1326
+
1327
+ --color-success: #22c55e;
1328
+ --color-warning: #f59e0b;
1329
+ --color-error: #ef4444;
1330
+ --color-muted: #71717a;
1331
+
1332
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1333
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1334
+
1335
+ --space-xs: 4px;
1336
+ --space-sm: 6px;
1337
+ --space-md: 10px;
1338
+ --space-lg: 16px;
1339
+ --space-xl: 20px;
1340
+ --space-2xl: 28px;
1341
+
1342
+ --radius-sm: 4px;
1343
+ --radius-md: 6px;
1344
+ --radius-lg: 8px;
1345
+ --radius-xl: 12px;
1346
+ --radius: var(--radius-md);
1347
+
1348
+ --btn-padding: 6px 12px;
1349
+ --btn-border-width: 1px;
1350
+ --card-padding: 10px 12px;
1351
+ --modal-padding: var(--space-md) var(--space-lg);
1352
+ --header-padding: var(--space-sm) var(--space-lg);
1353
+ --column-gap: var(--space-md);
1354
+ --board-padding: var(--space-md) var(--space-lg);
1355
+
1356
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1357
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1358
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1359
+ --shadow-glow: none;
1360
+ --glow-success: none;
1361
+ --glow-warning: none;
1362
+ --glow-danger: none;
1363
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1364
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1365
+ --shadow: var(--shadow-lg);
1366
+
1367
+ --transition-instant: 0.05s ease;
1368
+ --transition-fast: 0.1s ease;
1369
+ --transition-normal: 0.15s ease;
1370
+ --transition-slow: 0.2s ease;
1371
+
1372
+ --cta-bg: #fafafa;
1373
+ --cta-border: #fafafa;
1374
+ --cta-text: #18181b;
1375
+ --cta-bg-hover: #e4e4e7;
1376
+ --cta-border-hover: #e4e4e7;
1377
+ --cta-glow: none;
1378
+ --logo-accent: var(--text);
1379
+ --color-info: #38bdf8;
1380
+ --accent: #f97316;
1381
+ --accent-text: #ffffff;
1382
+ }
1383
+
1384
+ [data-color-theme="shadcn"][data-theme="light"] {
1385
+ --bg: #ffffff;
1386
+ --surface: #ffffff;
1387
+ --card: #ffffff;
1388
+ --card-hover: #f4f4f5;
1389
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1390
+ --border: #e4e4e7;
1391
+
1392
+ --text: #09090b;
1393
+ --text-muted: #71717a;
1394
+ --text-dim: #a1a1aa;
1395
+
1396
+ --todo: #2563eb;
1397
+ --in-progress: #0284c7;
1398
+ --in-progress-rgb: 2, 132, 199;
1399
+ --in-review: #16a34a;
1400
+ --triage: #d97706;
1401
+ --done: #a1a1aa;
1402
+
1403
+ --color-success: #16a34a;
1404
+ --color-warning: #d97706;
1405
+ --color-error: #dc2626;
1406
+ --color-muted: #71717a;
1407
+
1408
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1409
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1410
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1411
+ --shadow-glow: none;
1412
+ --glow-success: none;
1413
+ --glow-warning: none;
1414
+ --glow-danger: none;
1415
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1416
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1417
+ --shadow: var(--shadow-lg);
1418
+
1419
+ --cta-bg: #18181b;
1420
+ --cta-border: #18181b;
1421
+ --cta-text: #fafafa;
1422
+ --cta-bg-hover: #27272a;
1423
+ --cta-border-hover: #27272a;
1424
+ --cta-glow: none;
1425
+ --logo-accent: var(--text);
1426
+ --color-info: #0284c7;
1427
+ --accent: #ea580c;
1428
+ --accent-text: #ffffff;
1429
+ }
1430
+
1431
+ /*
1432
+ FNXC:Theming 2026-06-20-18:30:
1433
+ FN-6816 keeps shadcn-custom visually identical to the base shadcn theme until sanitized user token overrides are applied inline by the dashboard theme hook.
1434
+ */
1435
+ [data-color-theme="shadcn-custom"] {
1436
+ --bg: #09090b;
1437
+ --surface: #0c0c0e;
1438
+ --card: #18181b;
1439
+ --card-hover: #1f1f23;
1440
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1441
+ --border: #27272a;
1442
+
1443
+ --text: #fafafa;
1444
+ --text-muted: #a1a1aa;
1445
+ --text-dim: #52525b;
1446
+
1447
+ --todo: #60a5fa;
1448
+ --in-progress: #38bdf8;
1449
+ --in-progress-rgb: 56, 189, 248;
1450
+ --in-review: #34d399;
1451
+ --triage: #f59e0b;
1452
+ --done: #71717a;
1453
+
1454
+ --color-success: #22c55e;
1455
+ --color-warning: #f59e0b;
1456
+ --color-error: #ef4444;
1457
+ --color-muted: #71717a;
1458
+
1459
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1460
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1461
+
1462
+ --space-xs: 4px;
1463
+ --space-sm: 6px;
1464
+ --space-md: 10px;
1465
+ --space-lg: 16px;
1466
+ --space-xl: 20px;
1467
+ --space-2xl: 28px;
1468
+
1469
+ --radius-sm: 4px;
1470
+ --radius-md: 6px;
1471
+ --radius-lg: 8px;
1472
+ --radius-xl: 12px;
1473
+ --radius: var(--radius-md);
1474
+
1475
+ --btn-padding: 6px 12px;
1476
+ --btn-border-width: 1px;
1477
+ --card-padding: 10px 12px;
1478
+ --modal-padding: var(--space-md) var(--space-lg);
1479
+ --header-padding: var(--space-sm) var(--space-lg);
1480
+ --column-gap: var(--space-md);
1481
+ --board-padding: var(--space-md) var(--space-lg);
1482
+
1483
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1484
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1485
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1486
+ --shadow-glow: none;
1487
+ --glow-success: none;
1488
+ --glow-warning: none;
1489
+ --glow-danger: none;
1490
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1491
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1492
+ --shadow: var(--shadow-lg);
1493
+
1494
+ --transition-instant: 0.05s ease;
1495
+ --transition-fast: 0.1s ease;
1496
+ --transition-normal: 0.15s ease;
1497
+ --transition-slow: 0.2s ease;
1498
+
1499
+ --cta-bg: #fafafa;
1500
+ --cta-border: #fafafa;
1501
+ --cta-text: #18181b;
1502
+ --cta-bg-hover: #e4e4e7;
1503
+ --cta-border-hover: #e4e4e7;
1504
+ --cta-glow: none;
1505
+ --logo-accent: var(--text);
1506
+ --color-info: #38bdf8;
1507
+ --accent: #f97316;
1508
+ --accent-text: #ffffff;
1509
+ }
1510
+
1511
+ [data-color-theme="shadcn-custom"][data-theme="light"] {
1512
+ --bg: #ffffff;
1513
+ --surface: #ffffff;
1514
+ --card: #ffffff;
1515
+ --card-hover: #f4f4f5;
1516
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1517
+ --border: #e4e4e7;
1518
+
1519
+ --text: #09090b;
1520
+ --text-muted: #71717a;
1521
+ --text-dim: #a1a1aa;
1522
+
1523
+ --todo: #2563eb;
1524
+ --in-progress: #0284c7;
1525
+ --in-progress-rgb: 2, 132, 199;
1526
+ --in-review: #16a34a;
1527
+ --triage: #d97706;
1528
+ --done: #a1a1aa;
1529
+
1530
+ --color-success: #16a34a;
1531
+ --color-warning: #d97706;
1532
+ --color-error: #dc2626;
1533
+ --color-muted: #71717a;
1534
+
1535
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1536
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1537
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1538
+ --shadow-glow: none;
1539
+ --glow-success: none;
1540
+ --glow-warning: none;
1541
+ --glow-danger: none;
1542
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1543
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1544
+ --shadow: var(--shadow-lg);
1545
+
1546
+ --cta-bg: #18181b;
1547
+ --cta-border: #18181b;
1548
+ --cta-text: #fafafa;
1549
+ --cta-bg-hover: #27272a;
1550
+ --cta-border-hover: #27272a;
1551
+ --cta-glow: none;
1552
+ --logo-accent: var(--text);
1553
+ --color-info: #0284c7;
1554
+ --accent: #ea580c;
1555
+ --accent-text: #ffffff;
1556
+ }
1557
+
1558
+ [data-color-theme="shadcn"] .card.agent-active,
1559
+ [data-color-theme="shadcn-custom"] .card.agent-active {
1560
+ border-color: var(--accent);
1561
+ box-shadow: none;
1562
+ animation: none;
1563
+ }
1564
+
1565
+ [data-color-theme="shadcn"][data-theme="light"] .card.agent-active,
1566
+ [data-color-theme="shadcn-custom"][data-theme="light"] .card.agent-active {
1567
+ border-color: var(--accent);
1568
+ box-shadow: none;
1569
+ animation: none;
1570
+ }
1571
+
1572
+ [data-color-theme="shadcn"] .btn,
1573
+ [data-color-theme="shadcn-custom"] .btn {
1574
+ text-transform: none;
1575
+ letter-spacing: normal;
1576
+ font-weight: 500;
1577
+ }
1578
+
1579
+ [data-color-theme="shadcn"] .btn-primary,
1580
+ [data-color-theme="shadcn"] .btn-task-create,
1581
+ [data-color-theme="shadcn-custom"] .btn-primary,
1582
+ [data-color-theme="shadcn-custom"] .btn-task-create {
1583
+ background: var(--cta-bg);
1584
+ border-color: var(--cta-border);
1585
+ color: var(--cta-text);
1586
+ box-shadow: none;
1587
+ }
1588
+
1589
+ [data-color-theme="shadcn"] .btn-primary:hover,
1590
+ [data-color-theme="shadcn"] .btn-task-create:hover,
1591
+ [data-color-theme="shadcn-custom"] .btn-primary:hover,
1592
+ [data-color-theme="shadcn-custom"] .btn-task-create:hover {
1593
+ background: var(--cta-bg-hover);
1594
+ border-color: var(--cta-border-hover);
1595
+ color: var(--cta-text);
1596
+ box-shadow: none;
1597
+ }
1598
+
1599
+ [data-color-theme="shadcn"] .card,
1600
+ [data-color-theme="shadcn"] .column,
1601
+ [data-color-theme="shadcn-custom"] .card,
1602
+ [data-color-theme="shadcn-custom"] .column {
1603
+ border-width: var(--btn-border-width);
1604
+ }
1605
+
1606
+ /*
1607
+ FNXC:Theming 2026-06-19-16:12:
1608
+ FN-6756 adds shadcn color-family themes as exact zinc-neutral shadcn variants with only primary/accent/CTA/info tokens changed for the named color. Shadcn Mono keeps red as the single accent while desaturating workflow statuses toward zinc gray, and Shadcn Black removes chroma from all status tokens for a pure black-and-white option.
1609
+ */
1610
+ [data-color-theme="shadcn-blue"] {
1611
+ --bg: #09090b;
1612
+ --surface: #0c0c0e;
1613
+ --card: #18181b;
1614
+ --card-hover: #1f1f23;
1615
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1616
+ --border: #27272a;
1617
+
1618
+ --text: #fafafa;
1619
+ --text-muted: #a1a1aa;
1620
+ --text-dim: #52525b;
1621
+
1622
+ --todo: #60a5fa;
1623
+ --in-progress: #38bdf8;
1624
+ --in-progress-rgb: 56, 189, 248;
1625
+ --in-review: #34d399;
1626
+ --triage: #f59e0b;
1627
+ --done: #71717a;
1628
+
1629
+ --color-success: #22c55e;
1630
+ --color-warning: #f59e0b;
1631
+ --color-error: #ef4444;
1632
+ --color-muted: #71717a;
1633
+
1634
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1635
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1636
+
1637
+ --space-xs: 4px;
1638
+ --space-sm: 6px;
1639
+ --space-md: 10px;
1640
+ --space-lg: 16px;
1641
+ --space-xl: 20px;
1642
+ --space-2xl: 28px;
1643
+
1644
+ --radius-sm: 4px;
1645
+ --radius-md: 6px;
1646
+ --radius-lg: 8px;
1647
+ --radius-xl: 12px;
1648
+ --radius: var(--radius-md);
1649
+
1650
+ --btn-padding: 6px 12px;
1651
+ --btn-border-width: 1px;
1652
+ --card-padding: 10px 12px;
1653
+ --modal-padding: var(--space-md) var(--space-lg);
1654
+ --header-padding: var(--space-sm) var(--space-lg);
1655
+ --column-gap: var(--space-md);
1656
+ --board-padding: var(--space-md) var(--space-lg);
1657
+
1658
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1659
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1660
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1661
+ --shadow-glow: none;
1662
+ --glow-success: none;
1663
+ --glow-warning: none;
1664
+ --glow-danger: none;
1665
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1666
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1667
+ --shadow: var(--shadow-lg);
1668
+
1669
+ --cta-bg: #3b82f6;
1670
+ --cta-border: #3b82f6;
1671
+ --cta-text: #ffffff;
1672
+ --cta-bg-hover: #2563eb;
1673
+ --cta-border-hover: #2563eb;
1674
+ --cta-glow: none;
1675
+ --logo-accent: var(--accent);
1676
+ --color-info: #3b82f6;
1677
+ --accent: #3b82f6;
1678
+ --accent-text: #ffffff;
1679
+ }
1680
+
1681
+ [data-color-theme="shadcn-blue"][data-theme="light"] {
1682
+ --bg: #ffffff;
1683
+ --surface: #ffffff;
1684
+ --card: #ffffff;
1685
+ --card-hover: #f4f4f5;
1686
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1687
+ --border: #e4e4e7;
1688
+
1689
+ --text: #09090b;
1690
+ --text-muted: #71717a;
1691
+ --text-dim: #a1a1aa;
1692
+
1693
+ --todo: #2563eb;
1694
+ --in-progress: #0284c7;
1695
+ --in-progress-rgb: 2, 132, 199;
1696
+ --in-review: #16a34a;
1697
+ --triage: #d97706;
1698
+ --done: #a1a1aa;
1699
+
1700
+ --color-success: #16a34a;
1701
+ --color-warning: #d97706;
1702
+ --color-error: #dc2626;
1703
+ --color-muted: #71717a;
1704
+
1705
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1706
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1707
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1708
+ --shadow-glow: none;
1709
+ --glow-success: none;
1710
+ --glow-warning: none;
1711
+ --glow-danger: none;
1712
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1713
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1714
+ --shadow: var(--shadow-lg);
1715
+
1716
+ --cta-bg: #2563eb;
1717
+ --cta-border: #2563eb;
1718
+ --cta-text: #ffffff;
1719
+ --cta-bg-hover: #1d4ed8;
1720
+ --cta-border-hover: #1d4ed8;
1721
+ --cta-glow: none;
1722
+ --logo-accent: var(--accent);
1723
+ --color-info: #2563eb;
1724
+ --accent: #2563eb;
1725
+ --accent-text: #ffffff;
1726
+ }
1727
+
1728
+ [data-color-theme="shadcn-green"] {
1729
+ --bg: #09090b;
1730
+ --surface: #0c0c0e;
1731
+ --card: #18181b;
1732
+ --card-hover: #1f1f23;
1733
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1734
+ --border: #27272a;
1735
+
1736
+ --text: #fafafa;
1737
+ --text-muted: #a1a1aa;
1738
+ --text-dim: #52525b;
1739
+
1740
+ --todo: #60a5fa;
1741
+ --in-progress: #38bdf8;
1742
+ --in-progress-rgb: 56, 189, 248;
1743
+ --in-review: #34d399;
1744
+ --triage: #f59e0b;
1745
+ --done: #71717a;
1746
+
1747
+ --color-success: #22c55e;
1748
+ --color-warning: #f59e0b;
1749
+ --color-error: #ef4444;
1750
+ --color-muted: #71717a;
1751
+
1752
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1753
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1754
+
1755
+ --space-xs: 4px;
1756
+ --space-sm: 6px;
1757
+ --space-md: 10px;
1758
+ --space-lg: 16px;
1759
+ --space-xl: 20px;
1760
+ --space-2xl: 28px;
1761
+
1762
+ --radius-sm: 4px;
1763
+ --radius-md: 6px;
1764
+ --radius-lg: 8px;
1765
+ --radius-xl: 12px;
1766
+ --radius: var(--radius-md);
1767
+
1768
+ --btn-padding: 6px 12px;
1769
+ --btn-border-width: 1px;
1770
+ --card-padding: 10px 12px;
1771
+ --modal-padding: var(--space-md) var(--space-lg);
1772
+ --header-padding: var(--space-sm) var(--space-lg);
1773
+ --column-gap: var(--space-md);
1774
+ --board-padding: var(--space-md) var(--space-lg);
1775
+
1776
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1777
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1778
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1779
+ --shadow-glow: none;
1780
+ --glow-success: none;
1781
+ --glow-warning: none;
1782
+ --glow-danger: none;
1783
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1784
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1785
+ --shadow: var(--shadow-lg);
1786
+
1787
+ --cta-bg: #22c55e;
1788
+ --cta-border: #22c55e;
1789
+ --cta-text: #ffffff;
1790
+ --cta-bg-hover: #16a34a;
1791
+ --cta-border-hover: #16a34a;
1792
+ --cta-glow: none;
1793
+ --logo-accent: var(--accent);
1794
+ --color-info: #22c55e;
1795
+ --accent: #22c55e;
1796
+ --accent-text: #ffffff;
1797
+ }
1798
+
1799
+ [data-color-theme="shadcn-green"][data-theme="light"] {
1800
+ --bg: #ffffff;
1801
+ --surface: #ffffff;
1802
+ --card: #ffffff;
1803
+ --card-hover: #f4f4f5;
1804
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1805
+ --border: #e4e4e7;
1806
+
1807
+ --text: #09090b;
1808
+ --text-muted: #71717a;
1809
+ --text-dim: #a1a1aa;
1810
+
1811
+ --todo: #2563eb;
1812
+ --in-progress: #0284c7;
1813
+ --in-progress-rgb: 2, 132, 199;
1814
+ --in-review: #16a34a;
1815
+ --triage: #d97706;
1816
+ --done: #a1a1aa;
1817
+
1818
+ --color-success: #16a34a;
1819
+ --color-warning: #d97706;
1820
+ --color-error: #dc2626;
1821
+ --color-muted: #71717a;
1822
+
1823
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1824
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1825
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1826
+ --shadow-glow: none;
1827
+ --glow-success: none;
1828
+ --glow-warning: none;
1829
+ --glow-danger: none;
1830
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1831
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1832
+ --shadow: var(--shadow-lg);
1833
+
1834
+ --cta-bg: #16a34a;
1835
+ --cta-border: #16a34a;
1836
+ --cta-text: #ffffff;
1837
+ --cta-bg-hover: #15803d;
1838
+ --cta-border-hover: #15803d;
1839
+ --cta-glow: none;
1840
+ --logo-accent: var(--accent);
1841
+ --color-info: #16a34a;
1842
+ --accent: #16a34a;
1843
+ --accent-text: #ffffff;
1844
+ }
1845
+
1846
+ [data-color-theme="shadcn-red"] {
1847
+ --bg: #09090b;
1848
+ --surface: #0c0c0e;
1849
+ --card: #18181b;
1850
+ --card-hover: #1f1f23;
1851
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1852
+ --border: #27272a;
1853
+
1854
+ --text: #fafafa;
1855
+ --text-muted: #a1a1aa;
1856
+ --text-dim: #52525b;
1857
+
1858
+ --todo: #60a5fa;
1859
+ --in-progress: #38bdf8;
1860
+ --in-progress-rgb: 56, 189, 248;
1861
+ --in-review: #34d399;
1862
+ --triage: #f59e0b;
1863
+ --done: #71717a;
1864
+
1865
+ --color-success: #22c55e;
1866
+ --color-warning: #f59e0b;
1867
+ --color-error: #ef4444;
1868
+ --color-muted: #71717a;
1869
+
1870
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1871
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1872
+
1873
+ --space-xs: 4px;
1874
+ --space-sm: 6px;
1875
+ --space-md: 10px;
1876
+ --space-lg: 16px;
1877
+ --space-xl: 20px;
1878
+ --space-2xl: 28px;
1879
+
1880
+ --radius-sm: 4px;
1881
+ --radius-md: 6px;
1882
+ --radius-lg: 8px;
1883
+ --radius-xl: 12px;
1884
+ --radius: var(--radius-md);
1885
+
1886
+ --btn-padding: 6px 12px;
1887
+ --btn-border-width: 1px;
1888
+ --card-padding: 10px 12px;
1889
+ --modal-padding: var(--space-md) var(--space-lg);
1890
+ --header-padding: var(--space-sm) var(--space-lg);
1891
+ --column-gap: var(--space-md);
1892
+ --board-padding: var(--space-md) var(--space-lg);
1893
+
1894
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
1895
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
1896
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
1897
+ --shadow-glow: none;
1898
+ --glow-success: none;
1899
+ --glow-warning: none;
1900
+ --glow-danger: none;
1901
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
1902
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
1903
+ --shadow: var(--shadow-lg);
1904
+
1905
+ --cta-bg: #ef4444;
1906
+ --cta-border: #ef4444;
1907
+ --cta-text: #ffffff;
1908
+ --cta-bg-hover: #dc2626;
1909
+ --cta-border-hover: #dc2626;
1910
+ --cta-glow: none;
1911
+ --logo-accent: var(--accent);
1912
+ --color-info: #ef4444;
1913
+ --accent: #ef4444;
1914
+ --accent-text: #ffffff;
1915
+ }
1916
+
1917
+ [data-color-theme="shadcn-red"][data-theme="light"] {
1918
+ --bg: #ffffff;
1919
+ --surface: #ffffff;
1920
+ --card: #ffffff;
1921
+ --card-hover: #f4f4f5;
1922
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
1923
+ --border: #e4e4e7;
1924
+
1925
+ --text: #09090b;
1926
+ --text-muted: #71717a;
1927
+ --text-dim: #a1a1aa;
1928
+
1929
+ --todo: #2563eb;
1930
+ --in-progress: #0284c7;
1931
+ --in-progress-rgb: 2, 132, 199;
1932
+ --in-review: #16a34a;
1933
+ --triage: #d97706;
1934
+ --done: #a1a1aa;
1935
+
1936
+ --color-success: #16a34a;
1937
+ --color-warning: #d97706;
1938
+ --color-error: #dc2626;
1939
+ --color-muted: #71717a;
1940
+
1941
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
1942
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
1943
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
1944
+ --shadow-glow: none;
1945
+ --glow-success: none;
1946
+ --glow-warning: none;
1947
+ --glow-danger: none;
1948
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
1949
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
1950
+ --shadow: var(--shadow-lg);
1951
+
1952
+ --cta-bg: #dc2626;
1953
+ --cta-border: #dc2626;
1954
+ --cta-text: #ffffff;
1955
+ --cta-bg-hover: #b91c1c;
1956
+ --cta-border-hover: #b91c1c;
1957
+ --cta-glow: none;
1958
+ --logo-accent: var(--accent);
1959
+ --color-info: #dc2626;
1960
+ --accent: #dc2626;
1961
+ --accent-text: #ffffff;
1962
+ }
1963
+
1964
+ [data-color-theme="shadcn-purple"] {
1965
+ --bg: #09090b;
1966
+ --surface: #0c0c0e;
1967
+ --card: #18181b;
1968
+ --card-hover: #1f1f23;
1969
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
1970
+ --border: #27272a;
1971
+
1972
+ --text: #fafafa;
1973
+ --text-muted: #a1a1aa;
1974
+ --text-dim: #52525b;
1975
+
1976
+ --todo: #60a5fa;
1977
+ --in-progress: #38bdf8;
1978
+ --in-progress-rgb: 56, 189, 248;
1979
+ --in-review: #34d399;
1980
+ --triage: #f59e0b;
1981
+ --done: #71717a;
1982
+
1983
+ --color-success: #22c55e;
1984
+ --color-warning: #f59e0b;
1985
+ --color-error: #ef4444;
1986
+ --color-muted: #71717a;
1987
+
1988
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
1989
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
1990
+
1991
+ --space-xs: 4px;
1992
+ --space-sm: 6px;
1993
+ --space-md: 10px;
1994
+ --space-lg: 16px;
1995
+ --space-xl: 20px;
1996
+ --space-2xl: 28px;
1997
+
1998
+ --radius-sm: 4px;
1999
+ --radius-md: 6px;
2000
+ --radius-lg: 8px;
2001
+ --radius-xl: 12px;
2002
+ --radius: var(--radius-md);
2003
+
2004
+ --btn-padding: 6px 12px;
2005
+ --btn-border-width: 1px;
2006
+ --card-padding: 10px 12px;
2007
+ --modal-padding: var(--space-md) var(--space-lg);
2008
+ --header-padding: var(--space-sm) var(--space-lg);
2009
+ --column-gap: var(--space-md);
2010
+ --board-padding: var(--space-md) var(--space-lg);
2011
+
2012
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2013
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2014
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2015
+ --shadow-glow: none;
2016
+ --glow-success: none;
2017
+ --glow-warning: none;
2018
+ --glow-danger: none;
2019
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2020
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2021
+ --shadow: var(--shadow-lg);
2022
+
2023
+ --cta-bg: #8b5cf6;
2024
+ --cta-border: #8b5cf6;
2025
+ --cta-text: #ffffff;
2026
+ --cta-bg-hover: #7c3aed;
2027
+ --cta-border-hover: #7c3aed;
2028
+ --cta-glow: none;
2029
+ --logo-accent: var(--accent);
2030
+ --color-info: #8b5cf6;
2031
+ --accent: #8b5cf6;
2032
+ --accent-text: #ffffff;
2033
+ }
2034
+
2035
+ [data-color-theme="shadcn-purple"][data-theme="light"] {
2036
+ --bg: #ffffff;
2037
+ --surface: #ffffff;
2038
+ --card: #ffffff;
2039
+ --card-hover: #f4f4f5;
2040
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2041
+ --border: #e4e4e7;
2042
+
2043
+ --text: #09090b;
2044
+ --text-muted: #71717a;
2045
+ --text-dim: #a1a1aa;
2046
+
2047
+ --todo: #2563eb;
2048
+ --in-progress: #0284c7;
2049
+ --in-progress-rgb: 2, 132, 199;
2050
+ --in-review: #16a34a;
2051
+ --triage: #d97706;
2052
+ --done: #a1a1aa;
2053
+
2054
+ --color-success: #16a34a;
2055
+ --color-warning: #d97706;
2056
+ --color-error: #dc2626;
2057
+ --color-muted: #71717a;
2058
+
2059
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2060
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2061
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2062
+ --shadow-glow: none;
2063
+ --glow-success: none;
2064
+ --glow-warning: none;
2065
+ --glow-danger: none;
2066
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2067
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2068
+ --shadow: var(--shadow-lg);
2069
+
2070
+ --cta-bg: #7c3aed;
2071
+ --cta-border: #7c3aed;
2072
+ --cta-text: #ffffff;
2073
+ --cta-bg-hover: #6d28d9;
2074
+ --cta-border-hover: #6d28d9;
2075
+ --cta-glow: none;
2076
+ --logo-accent: var(--accent);
2077
+ --color-info: #7c3aed;
2078
+ --accent: #7c3aed;
2079
+ --accent-text: #ffffff;
2080
+ }
2081
+
2082
+ [data-color-theme="shadcn-pink"] {
2083
+ --bg: #09090b;
2084
+ --surface: #0c0c0e;
2085
+ --card: #18181b;
2086
+ --card-hover: #1f1f23;
2087
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2088
+ --border: #27272a;
2089
+
2090
+ --text: #fafafa;
2091
+ --text-muted: #a1a1aa;
2092
+ --text-dim: #52525b;
2093
+
2094
+ --todo: #60a5fa;
2095
+ --in-progress: #38bdf8;
2096
+ --in-progress-rgb: 56, 189, 248;
2097
+ --in-review: #34d399;
2098
+ --triage: #f59e0b;
2099
+ --done: #71717a;
2100
+
2101
+ --color-success: #22c55e;
2102
+ --color-warning: #f59e0b;
2103
+ --color-error: #ef4444;
2104
+ --color-muted: #71717a;
2105
+
2106
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2107
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2108
+
2109
+ --space-xs: 4px;
2110
+ --space-sm: 6px;
2111
+ --space-md: 10px;
2112
+ --space-lg: 16px;
2113
+ --space-xl: 20px;
2114
+ --space-2xl: 28px;
2115
+
2116
+ --radius-sm: 4px;
2117
+ --radius-md: 6px;
2118
+ --radius-lg: 8px;
2119
+ --radius-xl: 12px;
2120
+ --radius: var(--radius-md);
2121
+
2122
+ --btn-padding: 6px 12px;
2123
+ --btn-border-width: 1px;
2124
+ --card-padding: 10px 12px;
2125
+ --modal-padding: var(--space-md) var(--space-lg);
2126
+ --header-padding: var(--space-sm) var(--space-lg);
2127
+ --column-gap: var(--space-md);
2128
+ --board-padding: var(--space-md) var(--space-lg);
2129
+
2130
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2131
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2132
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2133
+ --shadow-glow: none;
2134
+ --glow-success: none;
2135
+ --glow-warning: none;
2136
+ --glow-danger: none;
2137
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2138
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2139
+ --shadow: var(--shadow-lg);
2140
+
2141
+ --cta-bg: #ec4899;
2142
+ --cta-border: #ec4899;
2143
+ --cta-text: #ffffff;
2144
+ --cta-bg-hover: #db2777;
2145
+ --cta-border-hover: #db2777;
2146
+ --cta-glow: none;
2147
+ --logo-accent: var(--accent);
2148
+ --color-info: #ec4899;
2149
+ --accent: #ec4899;
2150
+ --accent-text: #ffffff;
2151
+ }
2152
+
2153
+ [data-color-theme="shadcn-pink"][data-theme="light"] {
2154
+ --bg: #ffffff;
2155
+ --surface: #ffffff;
2156
+ --card: #ffffff;
2157
+ --card-hover: #f4f4f5;
2158
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2159
+ --border: #e4e4e7;
2160
+
2161
+ --text: #09090b;
2162
+ --text-muted: #71717a;
2163
+ --text-dim: #a1a1aa;
2164
+
2165
+ --todo: #2563eb;
2166
+ --in-progress: #0284c7;
2167
+ --in-progress-rgb: 2, 132, 199;
2168
+ --in-review: #16a34a;
2169
+ --triage: #d97706;
2170
+ --done: #a1a1aa;
2171
+
2172
+ --color-success: #16a34a;
2173
+ --color-warning: #d97706;
2174
+ --color-error: #dc2626;
2175
+ --color-muted: #71717a;
2176
+
2177
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2178
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2179
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2180
+ --shadow-glow: none;
2181
+ --glow-success: none;
2182
+ --glow-warning: none;
2183
+ --glow-danger: none;
2184
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2185
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2186
+ --shadow: var(--shadow-lg);
2187
+
2188
+ --cta-bg: #db2777;
2189
+ --cta-border: #db2777;
2190
+ --cta-text: #ffffff;
2191
+ --cta-bg-hover: #be185d;
2192
+ --cta-border-hover: #be185d;
2193
+ --cta-glow: none;
2194
+ --logo-accent: var(--accent);
2195
+ --color-info: #db2777;
2196
+ --accent: #db2777;
2197
+ --accent-text: #ffffff;
2198
+ }
2199
+
2200
+ [data-color-theme="shadcn-orange"] {
2201
+ --bg: #09090b;
2202
+ --surface: #0c0c0e;
2203
+ --card: #18181b;
2204
+ --card-hover: #1f1f23;
2205
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2206
+ --border: #27272a;
2207
+
2208
+ --text: #fafafa;
2209
+ --text-muted: #a1a1aa;
2210
+ --text-dim: #52525b;
2211
+
2212
+ --todo: #60a5fa;
2213
+ --in-progress: #38bdf8;
2214
+ --in-progress-rgb: 56, 189, 248;
2215
+ --in-review: #34d399;
2216
+ --triage: #f59e0b;
2217
+ --done: #71717a;
2218
+
2219
+ --color-success: #22c55e;
2220
+ --color-warning: #f59e0b;
2221
+ --color-error: #ef4444;
2222
+ --color-muted: #71717a;
2223
+
2224
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2225
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2226
+
2227
+ --space-xs: 4px;
2228
+ --space-sm: 6px;
2229
+ --space-md: 10px;
2230
+ --space-lg: 16px;
2231
+ --space-xl: 20px;
2232
+ --space-2xl: 28px;
2233
+
2234
+ --radius-sm: 4px;
2235
+ --radius-md: 6px;
2236
+ --radius-lg: 8px;
2237
+ --radius-xl: 12px;
2238
+ --radius: var(--radius-md);
2239
+
2240
+ --btn-padding: 6px 12px;
2241
+ --btn-border-width: 1px;
2242
+ --card-padding: 10px 12px;
2243
+ --modal-padding: var(--space-md) var(--space-lg);
2244
+ --header-padding: var(--space-sm) var(--space-lg);
2245
+ --column-gap: var(--space-md);
2246
+ --board-padding: var(--space-md) var(--space-lg);
2247
+
2248
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2249
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2250
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2251
+ --shadow-glow: none;
2252
+ --glow-success: none;
2253
+ --glow-warning: none;
2254
+ --glow-danger: none;
2255
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2256
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2257
+ --shadow: var(--shadow-lg);
2258
+
2259
+ --cta-bg: #f97316;
2260
+ --cta-border: #f97316;
2261
+ --cta-text: #ffffff;
2262
+ --cta-bg-hover: #ea580c;
2263
+ --cta-border-hover: #ea580c;
2264
+ --cta-glow: none;
2265
+ --logo-accent: var(--accent);
2266
+ --color-info: #f97316;
2267
+ --accent: #f97316;
2268
+ --accent-text: #ffffff;
2269
+ }
2270
+
2271
+ [data-color-theme="shadcn-orange"][data-theme="light"] {
2272
+ --bg: #ffffff;
2273
+ --surface: #ffffff;
2274
+ --card: #ffffff;
2275
+ --card-hover: #f4f4f5;
2276
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2277
+ --border: #e4e4e7;
2278
+
2279
+ --text: #09090b;
2280
+ --text-muted: #71717a;
2281
+ --text-dim: #a1a1aa;
2282
+
2283
+ --todo: #2563eb;
2284
+ --in-progress: #0284c7;
2285
+ --in-progress-rgb: 2, 132, 199;
2286
+ --in-review: #16a34a;
2287
+ --triage: #d97706;
2288
+ --done: #a1a1aa;
2289
+
2290
+ --color-success: #16a34a;
2291
+ --color-warning: #d97706;
2292
+ --color-error: #dc2626;
2293
+ --color-muted: #71717a;
2294
+
2295
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2296
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2297
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2298
+ --shadow-glow: none;
2299
+ --glow-success: none;
2300
+ --glow-warning: none;
2301
+ --glow-danger: none;
2302
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2303
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2304
+ --shadow: var(--shadow-lg);
2305
+
2306
+ --cta-bg: #ea580c;
2307
+ --cta-border: #ea580c;
2308
+ --cta-text: #ffffff;
2309
+ --cta-bg-hover: #c2410c;
2310
+ --cta-border-hover: #c2410c;
2311
+ --cta-glow: none;
2312
+ --logo-accent: var(--accent);
2313
+ --color-info: #ea580c;
2314
+ --accent: #ea580c;
2315
+ --accent-text: #ffffff;
2316
+ }
2317
+
2318
+ [data-color-theme="shadcn-yellow"] {
2319
+ --bg: #09090b;
2320
+ --surface: #0c0c0e;
2321
+ --card: #18181b;
2322
+ --card-hover: #1f1f23;
2323
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2324
+ --border: #27272a;
2325
+
2326
+ --text: #fafafa;
2327
+ --text-muted: #a1a1aa;
2328
+ --text-dim: #52525b;
2329
+
2330
+ --todo: #60a5fa;
2331
+ --in-progress: #38bdf8;
2332
+ --in-progress-rgb: 56, 189, 248;
2333
+ --in-review: #34d399;
2334
+ --triage: #f59e0b;
2335
+ --done: #71717a;
2336
+
2337
+ --color-success: #22c55e;
2338
+ --color-warning: #f59e0b;
2339
+ --color-error: #ef4444;
2340
+ --color-muted: #71717a;
2341
+
2342
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2343
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2344
+
2345
+ --space-xs: 4px;
2346
+ --space-sm: 6px;
2347
+ --space-md: 10px;
2348
+ --space-lg: 16px;
2349
+ --space-xl: 20px;
2350
+ --space-2xl: 28px;
2351
+
2352
+ --radius-sm: 4px;
2353
+ --radius-md: 6px;
2354
+ --radius-lg: 8px;
2355
+ --radius-xl: 12px;
2356
+ --radius: var(--radius-md);
2357
+
2358
+ --btn-padding: 6px 12px;
2359
+ --btn-border-width: 1px;
2360
+ --card-padding: 10px 12px;
2361
+ --modal-padding: var(--space-md) var(--space-lg);
2362
+ --header-padding: var(--space-sm) var(--space-lg);
2363
+ --column-gap: var(--space-md);
2364
+ --board-padding: var(--space-md) var(--space-lg);
2365
+
2366
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2367
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2368
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2369
+ --shadow-glow: none;
2370
+ --glow-success: none;
2371
+ --glow-warning: none;
2372
+ --glow-danger: none;
2373
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2374
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2375
+ --shadow: var(--shadow-lg);
2376
+
2377
+ --cta-bg: #eab308;
2378
+ --cta-border: #eab308;
2379
+ --cta-text: #18181b;
2380
+ --cta-bg-hover: #ca8a04;
2381
+ --cta-border-hover: #ca8a04;
2382
+ --cta-glow: none;
2383
+ --logo-accent: var(--accent);
2384
+ --color-info: #eab308;
2385
+ --accent: #eab308;
2386
+ --accent-text: #18181b;
2387
+ }
2388
+
2389
+ [data-color-theme="shadcn-yellow"][data-theme="light"] {
2390
+ --bg: #ffffff;
2391
+ --surface: #ffffff;
2392
+ --card: #ffffff;
2393
+ --card-hover: #f4f4f5;
2394
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2395
+ --border: #e4e4e7;
2396
+
2397
+ --text: #09090b;
2398
+ --text-muted: #71717a;
2399
+ --text-dim: #a1a1aa;
2400
+
2401
+ --todo: #2563eb;
2402
+ --in-progress: #0284c7;
2403
+ --in-progress-rgb: 2, 132, 199;
2404
+ --in-review: #16a34a;
2405
+ --triage: #d97706;
2406
+ --done: #a1a1aa;
2407
+
2408
+ --color-success: #16a34a;
2409
+ --color-warning: #d97706;
2410
+ --color-error: #dc2626;
2411
+ --color-muted: #71717a;
2412
+
2413
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2414
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2415
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2416
+ --shadow-glow: none;
2417
+ --glow-success: none;
2418
+ --glow-warning: none;
2419
+ --glow-danger: none;
2420
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2421
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2422
+ --shadow: var(--shadow-lg);
2423
+
2424
+ --cta-bg: #ca8a04;
2425
+ --cta-border: #ca8a04;
2426
+ --cta-text: #18181b;
2427
+ --cta-bg-hover: #a16207;
2428
+ --cta-border-hover: #a16207;
2429
+ --cta-glow: none;
2430
+ --logo-accent: var(--accent);
2431
+ --color-info: #ca8a04;
2432
+ --accent: #ca8a04;
2433
+ --accent-text: #18181b;
2434
+ }
2435
+
2436
+ /*
2437
+ FNXC:DashboardTheming 2026-06-20-00:00:
2438
+ FN-6813 makes the shadcn mono theme a color family: shadcn-mono-red preserves the renamed legacy red accent while the other mono variants reuse the same zinc-neutral tokens and swap only accent/CTA values. Legacy stored shadcn-mono selections remap in bootstrap/theme hooks so users keep the red mono theme instead of falling back to default.
2439
+ */
2440
+ [data-color-theme="shadcn-mono-red"] {
2441
+ --bg: #09090b;
2442
+ --surface: #0c0c0e;
2443
+ --card: #18181b;
2444
+ --card-hover: #1f1f23;
2445
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2446
+ --border: #27272a;
2447
+
2448
+ --text: #fafafa;
2449
+ --text-muted: #a1a1aa;
2450
+ --text-dim: #52525b;
2451
+
2452
+ --todo: #a1a1aa;
2453
+ --in-progress: #71717a;
2454
+ --in-progress-rgb: 113, 113, 122;
2455
+ --in-review: #71717a;
2456
+ --triage: #a1a1aa;
2457
+ --done: #52525b;
2458
+
2459
+ --color-success: #71717a;
2460
+ --color-warning: #a1a1aa;
2461
+ --color-error: #ef4444;
2462
+ --color-muted: #71717a;
2463
+
2464
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2465
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2466
+
2467
+ --space-xs: 4px;
2468
+ --space-sm: 6px;
2469
+ --space-md: 10px;
2470
+ --space-lg: 16px;
2471
+ --space-xl: 20px;
2472
+ --space-2xl: 28px;
2473
+
2474
+ --radius-sm: 4px;
2475
+ --radius-md: 6px;
2476
+ --radius-lg: 8px;
2477
+ --radius-xl: 12px;
2478
+ --radius: var(--radius-md);
2479
+
2480
+ --btn-padding: 6px 12px;
2481
+ --btn-border-width: 1px;
2482
+ --card-padding: 10px 12px;
2483
+ --modal-padding: var(--space-md) var(--space-lg);
2484
+ --header-padding: var(--space-sm) var(--space-lg);
2485
+ --column-gap: var(--space-md);
2486
+ --board-padding: var(--space-md) var(--space-lg);
2487
+
2488
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2489
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2490
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2491
+ --shadow-glow: none;
2492
+ --glow-success: none;
2493
+ --glow-warning: none;
2494
+ --glow-danger: none;
2495
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2496
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2497
+ --shadow: var(--shadow-lg);
2498
+
2499
+ --cta-bg: #ef4444;
2500
+ --cta-border: #ef4444;
2501
+ --cta-text: #ffffff;
2502
+ --cta-bg-hover: #dc2626;
2503
+ --cta-border-hover: #dc2626;
2504
+ --cta-glow: none;
2505
+ --logo-accent: var(--accent);
2506
+ --color-info: #a1a1aa;
2507
+ --accent: #ef4444;
2508
+ --accent-text: #ffffff;
2509
+ }
2510
+
2511
+
2512
+ [data-color-theme="shadcn-mono-red"][data-theme="light"] {
2513
+ --bg: #ffffff;
2514
+ --surface: #ffffff;
2515
+ --card: #ffffff;
2516
+ --card-hover: #f4f4f5;
2517
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2518
+ --border: #e4e4e7;
2519
+
2520
+ --text: #09090b;
2521
+ --text-muted: #71717a;
2522
+ --text-dim: #a1a1aa;
2523
+
2524
+ --todo: #71717a;
2525
+ --in-progress: #71717a;
2526
+ --in-progress-rgb: 113, 113, 122;
2527
+ --in-review: #52525b;
2528
+ --triage: #71717a;
2529
+ --done: #a1a1aa;
2530
+
2531
+ --color-success: #71717a;
2532
+ --color-warning: #71717a;
2533
+ --color-error: #dc2626;
2534
+ --color-muted: #71717a;
2535
+
2536
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2537
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2538
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2539
+ --shadow-glow: none;
2540
+ --glow-success: none;
2541
+ --glow-warning: none;
2542
+ --glow-danger: none;
2543
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2544
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2545
+ --shadow: var(--shadow-lg);
2546
+
2547
+ --cta-bg: #dc2626;
2548
+ --cta-border: #dc2626;
2549
+ --cta-text: #ffffff;
2550
+ --cta-bg-hover: #b91c1c;
2551
+ --cta-border-hover: #b91c1c;
2552
+ --cta-glow: none;
2553
+ --logo-accent: var(--accent);
2554
+ --color-info: #71717a;
2555
+ --accent: #dc2626;
2556
+ --accent-text: #ffffff;
2557
+ }
2558
+
2559
+
2560
+ [data-color-theme="shadcn-mono-blue"] {
2561
+ --bg: #09090b;
2562
+ --surface: #0c0c0e;
2563
+ --card: #18181b;
2564
+ --card-hover: #1f1f23;
2565
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2566
+ --border: #27272a;
2567
+
2568
+ --text: #fafafa;
2569
+ --text-muted: #a1a1aa;
2570
+ --text-dim: #52525b;
2571
+
2572
+ --todo: #a1a1aa;
2573
+ --in-progress: #71717a;
2574
+ --in-progress-rgb: 113, 113, 122;
2575
+ --in-review: #71717a;
2576
+ --triage: #a1a1aa;
2577
+ --done: #52525b;
2578
+
2579
+ --color-success: #71717a;
2580
+ --color-warning: #a1a1aa;
2581
+ --color-error: #ef4444;
2582
+ --color-muted: #71717a;
2583
+
2584
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2585
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2586
+
2587
+ --space-xs: 4px;
2588
+ --space-sm: 6px;
2589
+ --space-md: 10px;
2590
+ --space-lg: 16px;
2591
+ --space-xl: 20px;
2592
+ --space-2xl: 28px;
2593
+
2594
+ --radius-sm: 4px;
2595
+ --radius-md: 6px;
2596
+ --radius-lg: 8px;
2597
+ --radius-xl: 12px;
2598
+ --radius: var(--radius-md);
2599
+
2600
+ --btn-padding: 6px 12px;
2601
+ --btn-border-width: 1px;
2602
+ --card-padding: 10px 12px;
2603
+ --modal-padding: var(--space-md) var(--space-lg);
2604
+ --header-padding: var(--space-sm) var(--space-lg);
2605
+ --column-gap: var(--space-md);
2606
+ --board-padding: var(--space-md) var(--space-lg);
2607
+
2608
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2609
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2610
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2611
+ --shadow-glow: none;
2612
+ --glow-success: none;
2613
+ --glow-warning: none;
2614
+ --glow-danger: none;
2615
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2616
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2617
+ --shadow: var(--shadow-lg);
2618
+
2619
+ --cta-bg: #3b82f6;
2620
+ --cta-border: #3b82f6;
2621
+ --cta-text: #ffffff;
2622
+ --cta-bg-hover: #2563eb;
2623
+ --cta-border-hover: #2563eb;
2624
+ --cta-glow: none;
2625
+ --logo-accent: var(--accent);
2626
+ --color-info: #a1a1aa;
2627
+ --accent: #3b82f6;
2628
+ --accent-text: #ffffff;
2629
+ }
2630
+
2631
+
2632
+ [data-color-theme="shadcn-mono-blue"][data-theme="light"] {
2633
+ --bg: #ffffff;
2634
+ --surface: #ffffff;
2635
+ --card: #ffffff;
2636
+ --card-hover: #f4f4f5;
2637
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2638
+ --border: #e4e4e7;
2639
+
2640
+ --text: #09090b;
2641
+ --text-muted: #71717a;
2642
+ --text-dim: #a1a1aa;
2643
+
2644
+ --todo: #71717a;
2645
+ --in-progress: #71717a;
2646
+ --in-progress-rgb: 113, 113, 122;
2647
+ --in-review: #52525b;
2648
+ --triage: #71717a;
2649
+ --done: #a1a1aa;
2650
+
2651
+ --color-success: #71717a;
2652
+ --color-warning: #71717a;
2653
+ --color-error: #dc2626;
2654
+ --color-muted: #71717a;
2655
+
2656
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2657
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2658
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2659
+ --shadow-glow: none;
2660
+ --glow-success: none;
2661
+ --glow-warning: none;
2662
+ --glow-danger: none;
2663
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2664
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2665
+ --shadow: var(--shadow-lg);
2666
+
2667
+ --cta-bg: #2563eb;
2668
+ --cta-border: #2563eb;
2669
+ --cta-text: #ffffff;
2670
+ --cta-bg-hover: #1d4ed8;
2671
+ --cta-border-hover: #1d4ed8;
2672
+ --cta-glow: none;
2673
+ --logo-accent: var(--accent);
2674
+ --color-info: #71717a;
2675
+ --accent: #2563eb;
2676
+ --accent-text: #ffffff;
2677
+ }
2678
+
2679
+
2680
+ [data-color-theme="shadcn-mono-green"] {
2681
+ --bg: #09090b;
2682
+ --surface: #0c0c0e;
2683
+ --card: #18181b;
2684
+ --card-hover: #1f1f23;
2685
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2686
+ --border: #27272a;
2687
+
2688
+ --text: #fafafa;
2689
+ --text-muted: #a1a1aa;
2690
+ --text-dim: #52525b;
2691
+
2692
+ --todo: #a1a1aa;
2693
+ --in-progress: #71717a;
2694
+ --in-progress-rgb: 113, 113, 122;
2695
+ --in-review: #71717a;
2696
+ --triage: #a1a1aa;
2697
+ --done: #52525b;
2698
+
2699
+ --color-success: #71717a;
2700
+ --color-warning: #a1a1aa;
2701
+ --color-error: #ef4444;
2702
+ --color-muted: #71717a;
2703
+
2704
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2705
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2706
+
2707
+ --space-xs: 4px;
2708
+ --space-sm: 6px;
2709
+ --space-md: 10px;
2710
+ --space-lg: 16px;
2711
+ --space-xl: 20px;
2712
+ --space-2xl: 28px;
2713
+
2714
+ --radius-sm: 4px;
2715
+ --radius-md: 6px;
2716
+ --radius-lg: 8px;
2717
+ --radius-xl: 12px;
2718
+ --radius: var(--radius-md);
2719
+
2720
+ --btn-padding: 6px 12px;
2721
+ --btn-border-width: 1px;
2722
+ --card-padding: 10px 12px;
2723
+ --modal-padding: var(--space-md) var(--space-lg);
2724
+ --header-padding: var(--space-sm) var(--space-lg);
2725
+ --column-gap: var(--space-md);
2726
+ --board-padding: var(--space-md) var(--space-lg);
2727
+
2728
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2729
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2730
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2731
+ --shadow-glow: none;
2732
+ --glow-success: none;
2733
+ --glow-warning: none;
2734
+ --glow-danger: none;
2735
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2736
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2737
+ --shadow: var(--shadow-lg);
2738
+
2739
+ --cta-bg: #22c55e;
2740
+ --cta-border: #22c55e;
2741
+ --cta-text: #ffffff;
2742
+ --cta-bg-hover: #16a34a;
2743
+ --cta-border-hover: #16a34a;
2744
+ --cta-glow: none;
2745
+ --logo-accent: var(--accent);
2746
+ --color-info: #a1a1aa;
2747
+ --accent: #22c55e;
2748
+ --accent-text: #ffffff;
2749
+ }
2750
+
2751
+
2752
+ [data-color-theme="shadcn-mono-green"][data-theme="light"] {
2753
+ --bg: #ffffff;
2754
+ --surface: #ffffff;
2755
+ --card: #ffffff;
2756
+ --card-hover: #f4f4f5;
2757
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2758
+ --border: #e4e4e7;
2759
+
2760
+ --text: #09090b;
2761
+ --text-muted: #71717a;
2762
+ --text-dim: #a1a1aa;
2763
+
2764
+ --todo: #71717a;
2765
+ --in-progress: #71717a;
2766
+ --in-progress-rgb: 113, 113, 122;
2767
+ --in-review: #52525b;
2768
+ --triage: #71717a;
2769
+ --done: #a1a1aa;
2770
+
2771
+ --color-success: #71717a;
2772
+ --color-warning: #71717a;
2773
+ --color-error: #dc2626;
2774
+ --color-muted: #71717a;
2775
+
2776
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2777
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2778
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2779
+ --shadow-glow: none;
2780
+ --glow-success: none;
2781
+ --glow-warning: none;
2782
+ --glow-danger: none;
2783
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2784
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2785
+ --shadow: var(--shadow-lg);
2786
+
2787
+ --cta-bg: #16a34a;
2788
+ --cta-border: #16a34a;
2789
+ --cta-text: #ffffff;
2790
+ --cta-bg-hover: #15803d;
2791
+ --cta-border-hover: #15803d;
2792
+ --cta-glow: none;
2793
+ --logo-accent: var(--accent);
2794
+ --color-info: #71717a;
2795
+ --accent: #16a34a;
2796
+ --accent-text: #ffffff;
2797
+ }
2798
+
2799
+
2800
+ [data-color-theme="shadcn-mono-purple"] {
2801
+ --bg: #09090b;
2802
+ --surface: #0c0c0e;
2803
+ --card: #18181b;
2804
+ --card-hover: #1f1f23;
2805
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2806
+ --border: #27272a;
2807
+
2808
+ --text: #fafafa;
2809
+ --text-muted: #a1a1aa;
2810
+ --text-dim: #52525b;
2811
+
2812
+ --todo: #a1a1aa;
2813
+ --in-progress: #71717a;
2814
+ --in-progress-rgb: 113, 113, 122;
2815
+ --in-review: #71717a;
2816
+ --triage: #a1a1aa;
2817
+ --done: #52525b;
2818
+
2819
+ --color-success: #71717a;
2820
+ --color-warning: #a1a1aa;
2821
+ --color-error: #ef4444;
2822
+ --color-muted: #71717a;
2823
+
2824
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2825
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2826
+
2827
+ --space-xs: 4px;
2828
+ --space-sm: 6px;
2829
+ --space-md: 10px;
2830
+ --space-lg: 16px;
2831
+ --space-xl: 20px;
2832
+ --space-2xl: 28px;
2833
+
2834
+ --radius-sm: 4px;
2835
+ --radius-md: 6px;
2836
+ --radius-lg: 8px;
2837
+ --radius-xl: 12px;
2838
+ --radius: var(--radius-md);
2839
+
2840
+ --btn-padding: 6px 12px;
2841
+ --btn-border-width: 1px;
2842
+ --card-padding: 10px 12px;
2843
+ --modal-padding: var(--space-md) var(--space-lg);
2844
+ --header-padding: var(--space-sm) var(--space-lg);
2845
+ --column-gap: var(--space-md);
2846
+ --board-padding: var(--space-md) var(--space-lg);
2847
+
2848
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2849
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2850
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2851
+ --shadow-glow: none;
2852
+ --glow-success: none;
2853
+ --glow-warning: none;
2854
+ --glow-danger: none;
2855
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2856
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2857
+ --shadow: var(--shadow-lg);
2858
+
2859
+ --cta-bg: #8b5cf6;
2860
+ --cta-border: #8b5cf6;
2861
+ --cta-text: #ffffff;
2862
+ --cta-bg-hover: #7c3aed;
2863
+ --cta-border-hover: #7c3aed;
2864
+ --cta-glow: none;
2865
+ --logo-accent: var(--accent);
2866
+ --color-info: #a1a1aa;
2867
+ --accent: #8b5cf6;
2868
+ --accent-text: #ffffff;
2869
+ }
2870
+
2871
+
2872
+ [data-color-theme="shadcn-mono-purple"][data-theme="light"] {
2873
+ --bg: #ffffff;
2874
+ --surface: #ffffff;
2875
+ --card: #ffffff;
2876
+ --card-hover: #f4f4f5;
2877
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2878
+ --border: #e4e4e7;
2879
+
2880
+ --text: #09090b;
2881
+ --text-muted: #71717a;
2882
+ --text-dim: #a1a1aa;
2883
+
2884
+ --todo: #71717a;
2885
+ --in-progress: #71717a;
2886
+ --in-progress-rgb: 113, 113, 122;
2887
+ --in-review: #52525b;
2888
+ --triage: #71717a;
2889
+ --done: #a1a1aa;
2890
+
2891
+ --color-success: #71717a;
2892
+ --color-warning: #71717a;
2893
+ --color-error: #dc2626;
2894
+ --color-muted: #71717a;
2895
+
2896
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
2897
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
2898
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
2899
+ --shadow-glow: none;
2900
+ --glow-success: none;
2901
+ --glow-warning: none;
2902
+ --glow-danger: none;
2903
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
2904
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
2905
+ --shadow: var(--shadow-lg);
2906
+
2907
+ --cta-bg: #7c3aed;
2908
+ --cta-border: #7c3aed;
2909
+ --cta-text: #ffffff;
2910
+ --cta-bg-hover: #6d28d9;
2911
+ --cta-border-hover: #6d28d9;
2912
+ --cta-glow: none;
2913
+ --logo-accent: var(--accent);
2914
+ --color-info: #71717a;
2915
+ --accent: #7c3aed;
2916
+ --accent-text: #ffffff;
2917
+ }
2918
+
2919
+
2920
+ [data-color-theme="shadcn-mono-pink"] {
2921
+ --bg: #09090b;
2922
+ --surface: #0c0c0e;
2923
+ --card: #18181b;
2924
+ --card-hover: #1f1f23;
2925
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2926
+ --border: #27272a;
2927
+
2928
+ --text: #fafafa;
2929
+ --text-muted: #a1a1aa;
2930
+ --text-dim: #52525b;
2931
+
2932
+ --todo: #a1a1aa;
2933
+ --in-progress: #71717a;
2934
+ --in-progress-rgb: 113, 113, 122;
2935
+ --in-review: #71717a;
2936
+ --triage: #a1a1aa;
2937
+ --done: #52525b;
2938
+
2939
+ --color-success: #71717a;
2940
+ --color-warning: #a1a1aa;
2941
+ --color-error: #ef4444;
2942
+ --color-muted: #71717a;
2943
+
2944
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
2945
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
2946
+
2947
+ --space-xs: 4px;
2948
+ --space-sm: 6px;
2949
+ --space-md: 10px;
2950
+ --space-lg: 16px;
2951
+ --space-xl: 20px;
2952
+ --space-2xl: 28px;
2953
+
2954
+ --radius-sm: 4px;
2955
+ --radius-md: 6px;
2956
+ --radius-lg: 8px;
2957
+ --radius-xl: 12px;
2958
+ --radius: var(--radius-md);
2959
+
2960
+ --btn-padding: 6px 12px;
2961
+ --btn-border-width: 1px;
2962
+ --card-padding: 10px 12px;
2963
+ --modal-padding: var(--space-md) var(--space-lg);
2964
+ --header-padding: var(--space-sm) var(--space-lg);
2965
+ --column-gap: var(--space-md);
2966
+ --board-padding: var(--space-md) var(--space-lg);
2967
+
2968
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
2969
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
2970
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
2971
+ --shadow-glow: none;
2972
+ --glow-success: none;
2973
+ --glow-warning: none;
2974
+ --glow-danger: none;
2975
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
2976
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
2977
+ --shadow: var(--shadow-lg);
2978
+
2979
+ --cta-bg: #ec4899;
2980
+ --cta-border: #ec4899;
2981
+ --cta-text: #ffffff;
2982
+ --cta-bg-hover: #db2777;
2983
+ --cta-border-hover: #db2777;
2984
+ --cta-glow: none;
2985
+ --logo-accent: var(--accent);
2986
+ --color-info: #a1a1aa;
2987
+ --accent: #ec4899;
2988
+ --accent-text: #ffffff;
2989
+ }
2990
+
2991
+
2992
+ [data-color-theme="shadcn-mono-pink"][data-theme="light"] {
2993
+ --bg: #ffffff;
2994
+ --surface: #ffffff;
2995
+ --card: #ffffff;
2996
+ --card-hover: #f4f4f5;
2997
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2998
+ --border: #e4e4e7;
2999
+
3000
+ --text: #09090b;
3001
+ --text-muted: #71717a;
3002
+ --text-dim: #a1a1aa;
3003
+
3004
+ --todo: #71717a;
3005
+ --in-progress: #71717a;
3006
+ --in-progress-rgb: 113, 113, 122;
3007
+ --in-review: #52525b;
3008
+ --triage: #71717a;
3009
+ --done: #a1a1aa;
3010
+
3011
+ --color-success: #71717a;
3012
+ --color-warning: #71717a;
3013
+ --color-error: #dc2626;
3014
+ --color-muted: #71717a;
3015
+
3016
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3017
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3018
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3019
+ --shadow-glow: none;
3020
+ --glow-success: none;
3021
+ --glow-warning: none;
3022
+ --glow-danger: none;
3023
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3024
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3025
+ --shadow: var(--shadow-lg);
3026
+
3027
+ --cta-bg: #db2777;
3028
+ --cta-border: #db2777;
3029
+ --cta-text: #ffffff;
3030
+ --cta-bg-hover: #be185d;
3031
+ --cta-border-hover: #be185d;
3032
+ --cta-glow: none;
3033
+ --logo-accent: var(--accent);
3034
+ --color-info: #71717a;
3035
+ --accent: #db2777;
3036
+ --accent-text: #ffffff;
3037
+ }
3038
+
3039
+
3040
+ [data-color-theme="shadcn-mono-orange"] {
3041
+ --bg: #09090b;
3042
+ --surface: #0c0c0e;
3043
+ --card: #18181b;
3044
+ --card-hover: #1f1f23;
3045
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3046
+ --border: #27272a;
3047
+
3048
+ --text: #fafafa;
3049
+ --text-muted: #a1a1aa;
3050
+ --text-dim: #52525b;
3051
+
3052
+ --todo: #a1a1aa;
3053
+ --in-progress: #71717a;
3054
+ --in-progress-rgb: 113, 113, 122;
3055
+ --in-review: #71717a;
3056
+ --triage: #a1a1aa;
3057
+ --done: #52525b;
3058
+
3059
+ --color-success: #71717a;
3060
+ --color-warning: #a1a1aa;
3061
+ --color-error: #ef4444;
3062
+ --color-muted: #71717a;
3063
+
3064
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3065
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3066
+
3067
+ --space-xs: 4px;
3068
+ --space-sm: 6px;
3069
+ --space-md: 10px;
3070
+ --space-lg: 16px;
3071
+ --space-xl: 20px;
3072
+ --space-2xl: 28px;
3073
+
3074
+ --radius-sm: 4px;
3075
+ --radius-md: 6px;
3076
+ --radius-lg: 8px;
3077
+ --radius-xl: 12px;
3078
+ --radius: var(--radius-md);
3079
+
3080
+ --btn-padding: 6px 12px;
3081
+ --btn-border-width: 1px;
3082
+ --card-padding: 10px 12px;
3083
+ --modal-padding: var(--space-md) var(--space-lg);
3084
+ --header-padding: var(--space-sm) var(--space-lg);
3085
+ --column-gap: var(--space-md);
3086
+ --board-padding: var(--space-md) var(--space-lg);
3087
+
3088
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3089
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3090
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3091
+ --shadow-glow: none;
3092
+ --glow-success: none;
3093
+ --glow-warning: none;
3094
+ --glow-danger: none;
3095
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3096
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3097
+ --shadow: var(--shadow-lg);
3098
+
3099
+ --cta-bg: #f97316;
3100
+ --cta-border: #f97316;
3101
+ --cta-text: #ffffff;
3102
+ --cta-bg-hover: #ea580c;
3103
+ --cta-border-hover: #ea580c;
3104
+ --cta-glow: none;
3105
+ --logo-accent: var(--accent);
3106
+ --color-info: #a1a1aa;
3107
+ --accent: #f97316;
3108
+ --accent-text: #ffffff;
3109
+ }
3110
+
3111
+
3112
+ [data-color-theme="shadcn-mono-orange"][data-theme="light"] {
3113
+ --bg: #ffffff;
3114
+ --surface: #ffffff;
3115
+ --card: #ffffff;
3116
+ --card-hover: #f4f4f5;
3117
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
3118
+ --border: #e4e4e7;
3119
+
3120
+ --text: #09090b;
3121
+ --text-muted: #71717a;
3122
+ --text-dim: #a1a1aa;
3123
+
3124
+ --todo: #71717a;
3125
+ --in-progress: #71717a;
3126
+ --in-progress-rgb: 113, 113, 122;
3127
+ --in-review: #52525b;
3128
+ --triage: #71717a;
3129
+ --done: #a1a1aa;
3130
+
3131
+ --color-success: #71717a;
3132
+ --color-warning: #71717a;
3133
+ --color-error: #dc2626;
3134
+ --color-muted: #71717a;
3135
+
3136
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3137
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3138
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3139
+ --shadow-glow: none;
3140
+ --glow-success: none;
3141
+ --glow-warning: none;
3142
+ --glow-danger: none;
3143
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3144
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3145
+ --shadow: var(--shadow-lg);
3146
+
3147
+ --cta-bg: #ea580c;
3148
+ --cta-border: #ea580c;
3149
+ --cta-text: #ffffff;
3150
+ --cta-bg-hover: #c2410c;
3151
+ --cta-border-hover: #c2410c;
3152
+ --cta-glow: none;
3153
+ --logo-accent: var(--accent);
3154
+ --color-info: #71717a;
3155
+ --accent: #ea580c;
3156
+ --accent-text: #ffffff;
3157
+ }
3158
+
3159
+
3160
+ [data-color-theme="shadcn-mono-yellow"] {
3161
+ --bg: #09090b;
3162
+ --surface: #0c0c0e;
3163
+ --card: #18181b;
3164
+ --card-hover: #1f1f23;
3165
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3166
+ --border: #27272a;
3167
+
3168
+ --text: #fafafa;
3169
+ --text-muted: #a1a1aa;
3170
+ --text-dim: #52525b;
3171
+
3172
+ --todo: #a1a1aa;
3173
+ --in-progress: #71717a;
3174
+ --in-progress-rgb: 113, 113, 122;
3175
+ --in-review: #71717a;
3176
+ --triage: #a1a1aa;
3177
+ --done: #52525b;
3178
+
3179
+ --color-success: #71717a;
3180
+ --color-warning: #a1a1aa;
3181
+ --color-error: #ef4444;
3182
+ --color-muted: #71717a;
3183
+
3184
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3185
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3186
+
3187
+ --space-xs: 4px;
3188
+ --space-sm: 6px;
3189
+ --space-md: 10px;
3190
+ --space-lg: 16px;
3191
+ --space-xl: 20px;
3192
+ --space-2xl: 28px;
3193
+
3194
+ --radius-sm: 4px;
3195
+ --radius-md: 6px;
3196
+ --radius-lg: 8px;
3197
+ --radius-xl: 12px;
3198
+ --radius: var(--radius-md);
3199
+
3200
+ --btn-padding: 6px 12px;
3201
+ --btn-border-width: 1px;
3202
+ --card-padding: 10px 12px;
3203
+ --modal-padding: var(--space-md) var(--space-lg);
3204
+ --header-padding: var(--space-sm) var(--space-lg);
3205
+ --column-gap: var(--space-md);
3206
+ --board-padding: var(--space-md) var(--space-lg);
3207
+
3208
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3209
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3210
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3211
+ --shadow-glow: none;
3212
+ --glow-success: none;
3213
+ --glow-warning: none;
3214
+ --glow-danger: none;
3215
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3216
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3217
+ --shadow: var(--shadow-lg);
3218
+
3219
+ --cta-bg: #eab308;
3220
+ --cta-border: #eab308;
3221
+ --cta-text: #18181b;
3222
+ --cta-bg-hover: #ca8a04;
3223
+ --cta-border-hover: #ca8a04;
3224
+ --cta-glow: none;
3225
+ --logo-accent: var(--accent);
3226
+ --color-info: #a1a1aa;
3227
+ --accent: #eab308;
3228
+ --accent-text: #18181b;
3229
+ }
3230
+
3231
+
3232
+ [data-color-theme="shadcn-mono-yellow"][data-theme="light"] {
3233
+ --bg: #ffffff;
3234
+ --surface: #ffffff;
3235
+ --card: #ffffff;
3236
+ --card-hover: #f4f4f5;
3237
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
3238
+ --border: #e4e4e7;
3239
+
3240
+ --text: #09090b;
3241
+ --text-muted: #71717a;
3242
+ --text-dim: #a1a1aa;
3243
+
3244
+ --todo: #71717a;
3245
+ --in-progress: #71717a;
3246
+ --in-progress-rgb: 113, 113, 122;
3247
+ --in-review: #52525b;
3248
+ --triage: #71717a;
3249
+ --done: #a1a1aa;
3250
+
3251
+ --color-success: #71717a;
3252
+ --color-warning: #71717a;
3253
+ --color-error: #dc2626;
3254
+ --color-muted: #71717a;
3255
+
3256
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3257
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3258
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3259
+ --shadow-glow: none;
3260
+ --glow-success: none;
3261
+ --glow-warning: none;
3262
+ --glow-danger: none;
3263
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3264
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3265
+ --shadow: var(--shadow-lg);
3266
+
3267
+ --cta-bg: #ca8a04;
3268
+ --cta-border: #ca8a04;
3269
+ --cta-text: #18181b;
3270
+ --cta-bg-hover: #a16207;
3271
+ --cta-border-hover: #a16207;
3272
+ --cta-glow: none;
3273
+ --logo-accent: var(--accent);
3274
+ --color-info: #71717a;
3275
+ --accent: #ca8a04;
3276
+ --accent-text: #18181b;
3277
+ }
3278
+
3279
+
3280
+ [data-color-theme="shadcn-black"] {
3281
+ --bg: #09090b;
3282
+ --surface: #0c0c0e;
3283
+ --card: #18181b;
3284
+ --card-hover: #1f1f23;
3285
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3286
+ --border: #27272a;
3287
+
3288
+ --text: #fafafa;
3289
+ --text-muted: #a1a1aa;
3290
+ --text-dim: #52525b;
3291
+
3292
+ --todo: #d4d4d8;
3293
+ --in-progress: #a1a1aa;
3294
+ --in-progress-rgb: 161, 161, 170;
3295
+ --in-review: #a1a1aa;
3296
+ --triage: #71717a;
3297
+ --done: #52525b;
3298
+
3299
+ --color-success: #a1a1aa;
3300
+ --color-warning: #71717a;
3301
+ --color-error: #d4d4d8;
3302
+ --color-muted: #71717a;
3303
+
3304
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3305
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3306
+
3307
+ --space-xs: 4px;
3308
+ --space-sm: 6px;
3309
+ --space-md: 10px;
3310
+ --space-lg: 16px;
3311
+ --space-xl: 20px;
3312
+ --space-2xl: 28px;
3313
+
3314
+ --radius-sm: 4px;
3315
+ --radius-md: 6px;
3316
+ --radius-lg: 8px;
3317
+ --radius-xl: 12px;
3318
+ --radius: var(--radius-md);
3319
+
3320
+ --btn-padding: 6px 12px;
3321
+ --btn-border-width: 1px;
3322
+ --card-padding: 10px 12px;
3323
+ --modal-padding: var(--space-md) var(--space-lg);
3324
+ --header-padding: var(--space-sm) var(--space-lg);
3325
+ --column-gap: var(--space-md);
3326
+ --board-padding: var(--space-md) var(--space-lg);
3327
+
3328
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3329
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3330
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3331
+ --shadow-glow: none;
3332
+ --glow-success: none;
3333
+ --glow-warning: none;
3334
+ --glow-danger: none;
3335
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3336
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3337
+ --shadow: var(--shadow-lg);
3338
+
3339
+ --cta-bg: #fafafa;
3340
+ --cta-border: #fafafa;
3341
+ --cta-text: #18181b;
3342
+ --cta-bg-hover: #e4e4e7;
3343
+ --cta-border-hover: #e4e4e7;
3344
+ --cta-glow: none;
3345
+ --logo-accent: var(--accent);
3346
+ --color-info: #fafafa;
3347
+ --accent: #fafafa;
3348
+ --accent-text: #18181b;
3349
+ }
3350
+
3351
+ [data-color-theme="shadcn-black"][data-theme="light"] {
3352
+ --bg: #ffffff;
3353
+ --surface: #ffffff;
3354
+ --card: #ffffff;
3355
+ --card-hover: #f4f4f5;
3356
+ --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
3357
+ --border: #e4e4e7;
3358
+
3359
+ --text: #09090b;
3360
+ --text-muted: #71717a;
3361
+ --text-dim: #a1a1aa;
3362
+
3363
+ --todo: #18181b;
3364
+ --in-progress: #3f3f46;
3365
+ --in-progress-rgb: 63, 63, 70;
3366
+ --in-review: #52525b;
3367
+ --triage: #71717a;
3368
+ --done: #a1a1aa;
3369
+
3370
+ --color-success: #3f3f46;
3371
+ --color-warning: #71717a;
3372
+ --color-error: #18181b;
3373
+ --color-muted: #71717a;
3374
+
3375
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3376
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3377
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3378
+ --shadow-glow: none;
3379
+ --glow-success: none;
3380
+ --glow-warning: none;
3381
+ --glow-danger: none;
3382
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3383
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3384
+ --shadow: var(--shadow-lg);
3385
+
3386
+ --cta-bg: #09090b;
3387
+ --cta-border: #09090b;
3388
+ --cta-text: #fafafa;
3389
+ --cta-bg-hover: #27272a;
3390
+ --cta-border-hover: #27272a;
3391
+ --cta-glow: none;
3392
+ --logo-accent: var(--accent);
3393
+ --color-info: #09090b;
3394
+ --accent: #09090b;
3395
+ --accent-text: #fafafa;
3396
+ }
3397
+
3398
+ /*
3399
+ FNXC:DashboardTheming 2026-06-20-00:00:
3400
+ Shadcn Gray is the fully-neutral zinc variant: it keeps the shadcn surfaces and button treatment while using only zinc/gray accent, CTA, and info tokens instead of red, blue, or other chroma.
3401
+ */
3402
+ [data-color-theme="shadcn-gray"] {
3403
+ --bg: #09090b;
3404
+ --surface: #0c0c0e;
3405
+ --card: #18181b;
3406
+ --card-hover: #1f1f23;
3407
+ --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
3408
+ --border: #27272a;
690
3409
 
691
- --todo: #268bd2;
692
- --in-progress: #2aa198;
693
- --in-progress-rgb: 42, 161, 152;
694
- --in-review: #859900;
695
- --triage: #b58900;
696
- --done: #93a1a1;
697
- --color-success: #859900;
698
- --color-error: #dc322f;
3410
+ --text: #fafafa;
3411
+ --text-muted: #a1a1aa;
3412
+ --text-dim: #52525b;
699
3413
 
700
- --cta-bg: #719e00;
701
- --cta-border: #859900;
702
- --cta-text: #002b36;
703
- --cta-bg-hover: #859900;
704
- --cta-border-hover: #a4b800;
705
- --cta-glow: 0 0 8px rgba(133, 153, 0, 0.3);
706
- --logo-accent: var(--todo);
707
- --color-info: #2aa198;
708
- --accent: #859900;
709
- --accent-text: #002b36;
3414
+ --todo: #a1a1aa;
3415
+ --in-progress: #71717a;
3416
+ --in-progress-rgb: 113, 113, 122;
3417
+ --in-review: #71717a;
3418
+ --triage: #a1a1aa;
3419
+ --done: #52525b;
3420
+
3421
+ --color-success: #71717a;
3422
+ --color-warning: #a1a1aa;
3423
+ --color-error: #d4d4d8;
3424
+ --color-muted: #71717a;
3425
+
3426
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3427
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
3428
+
3429
+ --space-xs: 4px;
3430
+ --space-sm: 6px;
3431
+ --space-md: 10px;
3432
+ --space-lg: 16px;
3433
+ --space-xl: 20px;
3434
+ --space-2xl: 28px;
3435
+
3436
+ --radius-sm: 4px;
3437
+ --radius-md: 6px;
3438
+ --radius-lg: 8px;
3439
+ --radius-xl: 12px;
3440
+ --radius: var(--radius-md);
3441
+
3442
+ --btn-padding: 6px 12px;
3443
+ --btn-border-width: 1px;
3444
+ --card-padding: 10px 12px;
3445
+ --modal-padding: var(--space-md) var(--space-lg);
3446
+ --header-padding: var(--space-sm) var(--space-lg);
3447
+ --column-gap: var(--space-md);
3448
+ --board-padding: var(--space-md) var(--space-lg);
3449
+
3450
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3451
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3452
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3453
+ --shadow-glow: none;
3454
+ --glow-success: none;
3455
+ --glow-warning: none;
3456
+ --glow-danger: none;
3457
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3458
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
3459
+ --shadow: var(--shadow-lg);
3460
+
3461
+ --cta-bg: #71717a;
3462
+ --cta-border: #71717a;
3463
+ --cta-text: #ffffff;
3464
+ --cta-bg-hover: #52525b;
3465
+ --cta-border-hover: #52525b;
3466
+ --cta-glow: none;
3467
+ --logo-accent: var(--accent);
3468
+ --color-info: #a1a1aa;
3469
+ --accent: #a1a1aa;
3470
+ --accent-text: #18181b;
710
3471
  }
711
3472
 
712
- [data-color-theme="solarized"][data-theme="light"] {
713
- --bg: #fdf6e3;
714
- --surface: #eee8d5;
715
- --card: #f5efdc;
716
- --card-hover: #e8e2d0;
3473
+ [data-color-theme="shadcn-gray"][data-theme="light"] {
3474
+ --bg: #ffffff;
3475
+ --surface: #ffffff;
3476
+ --card: #ffffff;
3477
+ --card-hover: #f4f4f5;
717
3478
  --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
718
- --border: #93a1a1;
719
- --text: #586e75;
720
- --text-muted: #657b83;
721
- --text-dim: #839496;
722
-
723
- --todo: #268bd2;
724
- --in-progress: #2aa198;
725
- --in-progress-rgb: 42, 161, 152;
726
- --in-review: #859900;
727
- --triage: #b58900;
728
- --done: #93a1a1;
729
- --color-success: #859900;
730
- --color-error: #dc322f;
3479
+ --border: #e4e4e7;
3480
+
3481
+ --text: #09090b;
3482
+ --text-muted: #71717a;
3483
+ --text-dim: #a1a1aa;
3484
+
3485
+ --todo: #71717a;
3486
+ --in-progress: #52525b;
3487
+ --in-progress-rgb: 82, 82, 91;
3488
+ --in-review: #52525b;
3489
+ --triage: #71717a;
3490
+ --done: #a1a1aa;
3491
+
3492
+ --color-success: #52525b;
3493
+ --color-warning: #71717a;
3494
+ --color-error: #3f3f46;
3495
+ --color-muted: #71717a;
3496
+
3497
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3498
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3499
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3500
+ --shadow-glow: none;
3501
+ --glow-success: none;
3502
+ --glow-warning: none;
3503
+ --glow-danger: none;
3504
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3505
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
3506
+ --shadow: var(--shadow-lg);
731
3507
 
732
- --cta-bg: #6a8800;
733
- --cta-border: #719e00;
734
- --cta-text: #fdf6e3;
735
- --cta-bg-hover: #719e00;
736
- --cta-border-hover: #859900;
737
- --cta-glow: 0 0 8px rgba(133, 153, 0, 0.3);
738
- --logo-accent: var(--todo);
739
- --color-info: #2aa198;
740
- --accent: #637b00;
741
- --accent-text: #fdf6e3;
3508
+ --cta-bg: #52525b;
3509
+ --cta-border: #52525b;
3510
+ --cta-text: #ffffff;
3511
+ --cta-bg-hover: #3f3f46;
3512
+ --cta-border-hover: #3f3f46;
3513
+ --cta-glow: none;
3514
+ --logo-accent: var(--accent);
3515
+ --color-info: #52525b;
3516
+ --accent: #52525b;
3517
+ --accent-text: #ffffff;
742
3518
  }
743
3519
 
744
- /* FACTORY - Industrial Mission Control Theme
745
- A comprehensive design theme that overrides fonts, spacing, and
746
- component styling for an industrial sci-fi aesthetic.
3520
+ /*
3521
+ FNXC:Theming 2026-06-21-00:00:
3522
+ FN-6815 adds Shadcn Gray Blue as the slate-neutral shadcn variant: the whole surface ramp moves from zinc to blue-gray slate while CTA/accent tokens use muted slate-blue and the shadcn flat-shadow/no-glow treatment stays intact.
747
3523
  */
748
- [data-color-theme="factory"] {
749
- --bg: #0a0a0a;
750
- --surface: #111111;
751
- --card: #1a1a1a;
752
- --card-hover: #222222;
3524
+ [data-color-theme="shadcn-gray-blue"] {
3525
+ --bg: #020617;
3526
+ --surface: #0b1220;
3527
+ --card: #0f172a;
3528
+ --card-hover: #1e293b;
753
3529
  --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
754
- --border: #333333;
3530
+ --border: #1e293b;
755
3531
 
756
- --text: #e5e5e5;
757
- --text-muted: #888888;
758
- --text-dim: #555555;
3532
+ --text: #f8fafc;
3533
+ --text-muted: #94a3b8;
3534
+ --text-dim: #475569;
759
3535
 
760
- --todo: #f59e0b;
761
- --in-progress: #06b6d4;
762
- --in-progress-rgb: 6, 182, 212;
763
- --in-review: #22c55e;
764
- --triage: #ef4444;
765
- --done: #6b7280;
3536
+ --todo: #60a5fa;
3537
+ --in-progress: #38bdf8;
3538
+ --in-progress-rgb: 56, 189, 248;
3539
+ --in-review: #34d399;
3540
+ --triage: #f59e0b;
3541
+ --done: #64748b;
766
3542
 
767
3543
  --color-success: #22c55e;
3544
+ --color-warning: #f59e0b;
768
3545
  --color-error: #ef4444;
769
- --color-muted: #6b7280;
3546
+ --color-muted: #64748b;
770
3547
 
771
- --font-primary: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
772
- --font-mono: "SF Mono", "JetBrains Mono", "Fira Code", Monaco, Consolas, monospace;
3548
+ --font-primary: "Geist", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
3549
+ --font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;
773
3550
 
774
- --space-xs: 2px;
775
- --space-sm: 4px;
776
- --space-md: 8px;
777
- --space-lg: 12px;
778
- --space-xl: 16px;
779
- --space-2xl: 24px;
3551
+ --space-xs: 4px;
3552
+ --space-sm: 6px;
3553
+ --space-md: 10px;
3554
+ --space-lg: 16px;
3555
+ --space-xl: 20px;
3556
+ --space-2xl: 28px;
780
3557
 
781
- --radius-sm: 2px;
782
- --radius-md: 4px;
783
- --radius-lg: 6px;
784
- --radius-xl: 8px;
3558
+ --radius-sm: 4px;
3559
+ --radius-md: 6px;
3560
+ --radius-lg: 8px;
3561
+ --radius-xl: 12px;
785
3562
  --radius: var(--radius-md);
786
3563
 
787
3564
  --btn-padding: 6px 12px;
788
- --btn-border-width: 2px;
789
- --card-padding: 8px 10px;
3565
+ --btn-border-width: 1px;
3566
+ --card-padding: 10px 12px;
790
3567
  --modal-padding: var(--space-md) var(--space-lg);
791
3568
  --header-padding: var(--space-sm) var(--space-lg);
792
- --column-gap: var(--space-sm);
3569
+ --column-gap: var(--space-md);
793
3570
  --board-padding: var(--space-md) var(--space-lg);
794
3571
 
795
- --shadow-sm: 0 1px 1px rgba(0, 0, 0, 0.5);
796
- --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.5);
797
- --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.6);
798
- --shadow-glow: 0 0 6px rgba(245, 158, 11, 0.4);
799
- --glow-success: 0 0 8px rgba(34, 197, 94, 0.35);
800
- --glow-warning: 0 0 8px rgba(245, 158, 11, 0.4);
801
- --glow-danger: 0 0 8px rgba(239, 68, 68, 0.35);
802
- --focus-ring: 0 0 0 2px rgba(245, 158, 11, 0.18);
803
- --focus-ring-strong: 0 0 0 2px rgba(245, 158, 11, 0.3);
3572
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #000000 18%, transparent);
3573
+ --shadow-md: 0 1px 3px color-mix(in srgb, #000000 22%, transparent);
3574
+ --shadow-lg: 0 4px 12px color-mix(in srgb, #000000 24%, transparent);
3575
+ --shadow-glow: none;
3576
+ --glow-success: none;
3577
+ --glow-warning: none;
3578
+ --glow-danger: none;
3579
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 35%, transparent);
3580
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 45%, transparent);
804
3581
  --shadow: var(--shadow-lg);
805
3582
 
806
- --transition-instant: 0.05s ease;
807
- --transition-fast: 0.1s ease;
808
- --transition-normal: 0.15s ease;
809
- --transition-slow: 0.2s ease;
810
-
811
- --cta-bg: #d97706;
812
- --cta-border: #f59e0b;
813
- --cta-text: #0a0a0a;
814
- --cta-bg-hover: #f59e0b;
815
- --cta-border-hover: #fbbf24;
816
- --cta-glow: 0 0 8px rgba(245, 158, 11, 0.4);
817
- --logo-accent: var(--todo);
818
- --color-info: #2563eb;
819
- --accent: #d97706;
820
- --accent-text: #0a0a0a;
3583
+ --cta-bg: #64748b;
3584
+ --cta-border: #64748b;
3585
+ --cta-text: #ffffff;
3586
+ --cta-bg-hover: #475569;
3587
+ --cta-border-hover: #475569;
3588
+ --cta-glow: none;
3589
+ --logo-accent: var(--accent);
3590
+ --color-info: #64748b;
3591
+ --accent: #64748b;
3592
+ --accent-text: #ffffff;
821
3593
  }
822
3594
 
823
- [data-color-theme="factory"][data-theme="light"] {
824
- --bg: #f5f5f5;
3595
+ [data-color-theme="shadcn-gray-blue"][data-theme="light"] {
3596
+ --bg: #ffffff;
825
3597
  --surface: #ffffff;
826
- --card: #fafafa;
827
- --card-hover: #f0f0f0;
3598
+ --card: #ffffff;
3599
+ --card-hover: #f1f5f9;
828
3600
  --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
829
- --border: #d4d4d4;
3601
+ --border: #e2e8f0;
830
3602
 
831
- --text: #1a1a1a;
832
- --text-muted: #666666;
833
- --text-dim: #999999;
3603
+ --text: #0f172a;
3604
+ --text-muted: #64748b;
3605
+ --text-dim: #94a3b8;
834
3606
 
835
- --todo: #d97706;
836
- --in-progress: #0891b2;
837
- --in-progress-rgb: 8, 145, 178;
3607
+ --todo: #2563eb;
3608
+ --in-progress: #0284c7;
3609
+ --in-progress-rgb: 2, 132, 199;
838
3610
  --in-review: #16a34a;
839
- --triage: #dc2626;
840
- --done: #4b5563;
3611
+ --triage: #d97706;
3612
+ --done: #94a3b8;
841
3613
 
842
3614
  --color-success: #16a34a;
3615
+ --color-warning: #d97706;
843
3616
  --color-error: #dc2626;
844
- --color-muted: #6b7280;
3617
+ --color-muted: #64748b;
845
3618
 
846
- --shadow-sm: 0 1px 1px rgba(0, 0, 0, 0.1);
847
- --shadow-md: 0 2px 4px rgba(0, 0, 0, 0.1);
848
- --shadow-lg: 0 4px 12px rgba(0, 0, 0, 0.15);
849
- --shadow-glow: 0 0 6px rgba(217, 119, 6, 0.3);
850
- --glow-success: 0 0 8px rgba(22, 163, 74, 0.25);
851
- --glow-warning: 0 0 8px rgba(217, 119, 6, 0.3);
852
- --glow-danger: 0 0 8px rgba(220, 38, 38, 0.22);
853
- --focus-ring: 0 0 0 2px rgba(217, 119, 6, 0.14);
854
- --focus-ring-strong: 0 0 0 2px rgba(217, 119, 6, 0.24);
3619
+ --shadow-sm: 0 1px 2px color-mix(in srgb, var(--text) 8%, transparent);
3620
+ --shadow-md: 0 1px 3px color-mix(in srgb, var(--text) 10%, transparent);
3621
+ --shadow-lg: 0 4px 12px color-mix(in srgb, var(--text) 12%, transparent);
3622
+ --shadow-glow: none;
3623
+ --glow-success: none;
3624
+ --glow-warning: none;
3625
+ --glow-danger: none;
3626
+ --focus-ring: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 18%, transparent);
3627
+ --focus-ring-strong: 0 0 0 calc(var(--btn-border-width) * 3) color-mix(in srgb, var(--accent) 28%, transparent);
855
3628
  --shadow: var(--shadow-lg);
856
3629
 
857
- --cta-bg: #b45309;
858
- --cta-border: #d97706;
859
- --cta-text: #fff;
860
- --cta-bg-hover: #d97706;
861
- --cta-border-hover: #f59e0b;
862
- --cta-glow: 0 0 8px rgba(217, 119, 6, 0.3);
863
- --logo-accent: var(--todo);
864
- --color-info: #1d4ed8;
865
- --accent: #b45309;
866
- --accent-text: #fff;
867
- }
868
-
869
- [data-color-theme="factory"] .card.agent-active {
870
- border-color: var(--todo);
871
- box-shadow:
872
- 0 0 6px rgba(245, 158, 11, 0.5),
873
- 0 0 12px rgba(245, 158, 11, 0.2);
874
- animation: agent-glow-factory 2s ease-in-out infinite;
875
- }
876
-
877
- @keyframes agent-glow-factory {
878
- 0%,
879
- 100% {
880
- box-shadow:
881
- 0 0 6px rgba(245, 158, 11, 0.5),
882
- 0 0 12px rgba(245, 158, 11, 0.2);
883
- }
884
- 50% {
885
- box-shadow:
886
- 0 0 10px rgba(245, 158, 11, 0.7),
887
- 0 0 20px rgba(245, 158, 11, 0.4);
888
- }
889
- }
890
-
891
- [data-color-theme="factory"][data-theme="light"] .card.agent-active {
892
- box-shadow:
893
- 0 0 6px rgba(217, 119, 6, 0.4),
894
- 0 0 12px rgba(217, 119, 6, 0.15);
895
- animation: agent-glow-factory-light 2s ease-in-out infinite;
896
- }
897
-
898
- @keyframes agent-glow-factory-light {
899
- 0%,
900
- 100% {
901
- box-shadow:
902
- 0 0 6px rgba(217, 119, 6, 0.4),
903
- 0 0 12px rgba(217, 119, 6, 0.15);
904
- }
905
- 50% {
906
- box-shadow:
907
- 0 0 10px rgba(217, 119, 6, 0.6),
908
- 0 0 20px rgba(217, 119, 6, 0.3);
909
- }
910
- }
911
-
912
- [data-color-theme="factory"] .btn {
913
- text-transform: uppercase;
914
- letter-spacing: 0.05em;
915
- font-weight: 600;
3630
+ --cta-bg: #475569;
3631
+ --cta-border: #475569;
3632
+ --cta-text: #ffffff;
3633
+ --cta-bg-hover: #334155;
3634
+ --cta-border-hover: #334155;
3635
+ --cta-glow: none;
3636
+ --logo-accent: var(--accent);
3637
+ --color-info: #475569;
3638
+ --accent: #475569;
3639
+ --accent-text: #ffffff;
916
3640
  }
917
3641
 
918
- [data-color-theme="factory"] .btn-primary,
919
- [data-color-theme="factory"] .btn-task-create {
920
- background: transparent;
921
- border-color: var(--todo);
922
- color: var(--todo);
3642
+ [data-color-theme="shadcn-blue"] .card.agent-active,
3643
+ [data-color-theme="shadcn-green"] .card.agent-active,
3644
+ [data-color-theme="shadcn-red"] .card.agent-active,
3645
+ [data-color-theme="shadcn-purple"] .card.agent-active,
3646
+ [data-color-theme="shadcn-pink"] .card.agent-active,
3647
+ [data-color-theme="shadcn-orange"] .card.agent-active,
3648
+ [data-color-theme="shadcn-yellow"] .card.agent-active,
3649
+ [data-color-theme="shadcn-mono-red"] .card.agent-active,
3650
+ [data-color-theme="shadcn-mono-blue"] .card.agent-active,
3651
+ [data-color-theme="shadcn-mono-green"] .card.agent-active,
3652
+ [data-color-theme="shadcn-mono-purple"] .card.agent-active,
3653
+ [data-color-theme="shadcn-mono-pink"] .card.agent-active,
3654
+ [data-color-theme="shadcn-mono-orange"] .card.agent-active,
3655
+ [data-color-theme="shadcn-mono-yellow"] .card.agent-active,
3656
+ [data-color-theme="shadcn-black"] .card.agent-active,
3657
+ [data-color-theme="shadcn-gray"] .card.agent-active,
3658
+ [data-color-theme="shadcn-gray-blue"] .card.agent-active {
3659
+ border-color: var(--accent);
3660
+ box-shadow: none;
3661
+ animation: none;
3662
+ }
3663
+
3664
+ [data-color-theme="shadcn-blue"][data-theme="light"] .card.agent-active,
3665
+ [data-color-theme="shadcn-green"][data-theme="light"] .card.agent-active,
3666
+ [data-color-theme="shadcn-red"][data-theme="light"] .card.agent-active,
3667
+ [data-color-theme="shadcn-purple"][data-theme="light"] .card.agent-active,
3668
+ [data-color-theme="shadcn-pink"][data-theme="light"] .card.agent-active,
3669
+ [data-color-theme="shadcn-orange"][data-theme="light"] .card.agent-active,
3670
+ [data-color-theme="shadcn-yellow"][data-theme="light"] .card.agent-active,
3671
+ [data-color-theme="shadcn-mono-red"][data-theme="light"] .card.agent-active,
3672
+ [data-color-theme="shadcn-mono-blue"][data-theme="light"] .card.agent-active,
3673
+ [data-color-theme="shadcn-mono-green"][data-theme="light"] .card.agent-active,
3674
+ [data-color-theme="shadcn-mono-purple"][data-theme="light"] .card.agent-active,
3675
+ [data-color-theme="shadcn-mono-pink"][data-theme="light"] .card.agent-active,
3676
+ [data-color-theme="shadcn-mono-orange"][data-theme="light"] .card.agent-active,
3677
+ [data-color-theme="shadcn-mono-yellow"][data-theme="light"] .card.agent-active,
3678
+ [data-color-theme="shadcn-black"][data-theme="light"] .card.agent-active,
3679
+ [data-color-theme="shadcn-gray"][data-theme="light"] .card.agent-active,
3680
+ [data-color-theme="shadcn-gray-blue"][data-theme="light"] .card.agent-active {
3681
+ border-color: var(--accent);
3682
+ box-shadow: none;
3683
+ animation: none;
3684
+ }
3685
+
3686
+ [data-color-theme="shadcn-blue"] .btn,
3687
+ [data-color-theme="shadcn-green"] .btn,
3688
+ [data-color-theme="shadcn-red"] .btn,
3689
+ [data-color-theme="shadcn-purple"] .btn,
3690
+ [data-color-theme="shadcn-pink"] .btn,
3691
+ [data-color-theme="shadcn-orange"] .btn,
3692
+ [data-color-theme="shadcn-yellow"] .btn,
3693
+ [data-color-theme="shadcn-mono-red"] .btn,
3694
+ [data-color-theme="shadcn-mono-blue"] .btn,
3695
+ [data-color-theme="shadcn-mono-green"] .btn,
3696
+ [data-color-theme="shadcn-mono-purple"] .btn,
3697
+ [data-color-theme="shadcn-mono-pink"] .btn,
3698
+ [data-color-theme="shadcn-mono-orange"] .btn,
3699
+ [data-color-theme="shadcn-mono-yellow"] .btn,
3700
+ [data-color-theme="shadcn-black"] .btn,
3701
+ [data-color-theme="shadcn-gray"] .btn,
3702
+ [data-color-theme="shadcn-gray-blue"] .btn {
3703
+ text-transform: none;
3704
+ letter-spacing: normal;
3705
+ font-weight: 500;
3706
+ }
3707
+
3708
+ [data-color-theme="shadcn-blue"] .btn-primary,
3709
+ [data-color-theme="shadcn-blue"] .btn-task-create,
3710
+ [data-color-theme="shadcn-green"] .btn-primary,
3711
+ [data-color-theme="shadcn-green"] .btn-task-create,
3712
+ [data-color-theme="shadcn-red"] .btn-primary,
3713
+ [data-color-theme="shadcn-red"] .btn-task-create,
3714
+ [data-color-theme="shadcn-purple"] .btn-primary,
3715
+ [data-color-theme="shadcn-purple"] .btn-task-create,
3716
+ [data-color-theme="shadcn-pink"] .btn-primary,
3717
+ [data-color-theme="shadcn-pink"] .btn-task-create,
3718
+ [data-color-theme="shadcn-orange"] .btn-primary,
3719
+ [data-color-theme="shadcn-orange"] .btn-task-create,
3720
+ [data-color-theme="shadcn-yellow"] .btn-primary,
3721
+ [data-color-theme="shadcn-yellow"] .btn-task-create,
3722
+ [data-color-theme="shadcn-mono-red"] .btn-primary,
3723
+ [data-color-theme="shadcn-mono-red"] .btn-task-create,
3724
+ [data-color-theme="shadcn-mono-blue"] .btn-primary,
3725
+ [data-color-theme="shadcn-mono-blue"] .btn-task-create,
3726
+ [data-color-theme="shadcn-mono-green"] .btn-primary,
3727
+ [data-color-theme="shadcn-mono-green"] .btn-task-create,
3728
+ [data-color-theme="shadcn-mono-purple"] .btn-primary,
3729
+ [data-color-theme="shadcn-mono-purple"] .btn-task-create,
3730
+ [data-color-theme="shadcn-mono-pink"] .btn-primary,
3731
+ [data-color-theme="shadcn-mono-pink"] .btn-task-create,
3732
+ [data-color-theme="shadcn-mono-orange"] .btn-primary,
3733
+ [data-color-theme="shadcn-mono-orange"] .btn-task-create,
3734
+ [data-color-theme="shadcn-mono-yellow"] .btn-primary,
3735
+ [data-color-theme="shadcn-mono-yellow"] .btn-task-create,
3736
+ [data-color-theme="shadcn-black"] .btn-primary,
3737
+ [data-color-theme="shadcn-black"] .btn-task-create,
3738
+ [data-color-theme="shadcn-gray"] .btn-primary,
3739
+ [data-color-theme="shadcn-gray"] .btn-task-create,
3740
+ [data-color-theme="shadcn-gray-blue"] .btn-primary,
3741
+ [data-color-theme="shadcn-gray-blue"] .btn-task-create {
3742
+ background: var(--cta-bg);
3743
+ border-color: var(--cta-border);
3744
+ color: var(--cta-text);
923
3745
  box-shadow: none;
924
3746
  }
925
3747
 
926
- [data-color-theme="factory"] .btn-primary:hover,
927
- [data-color-theme="factory"] .btn-task-create:hover {
928
- background: var(--todo);
929
- color: var(--bg);
930
- box-shadow: var(--shadow-glow);
931
- }
932
-
933
- [data-color-theme="factory"] .card,
934
- [data-color-theme="factory"] .column {
935
- border-width: 2px;
936
- }
937
-
938
- [data-color-theme="factory"] .column-header h2 {
939
- text-transform: uppercase;
940
- letter-spacing: 0.1em;
941
- font-size: 0.75rem;
3748
+ [data-color-theme="shadcn-blue"] .btn-primary:hover,
3749
+ [data-color-theme="shadcn-blue"] .btn-task-create:hover,
3750
+ [data-color-theme="shadcn-green"] .btn-primary:hover,
3751
+ [data-color-theme="shadcn-green"] .btn-task-create:hover,
3752
+ [data-color-theme="shadcn-red"] .btn-primary:hover,
3753
+ [data-color-theme="shadcn-red"] .btn-task-create:hover,
3754
+ [data-color-theme="shadcn-purple"] .btn-primary:hover,
3755
+ [data-color-theme="shadcn-purple"] .btn-task-create:hover,
3756
+ [data-color-theme="shadcn-pink"] .btn-primary:hover,
3757
+ [data-color-theme="shadcn-pink"] .btn-task-create:hover,
3758
+ [data-color-theme="shadcn-orange"] .btn-primary:hover,
3759
+ [data-color-theme="shadcn-orange"] .btn-task-create:hover,
3760
+ [data-color-theme="shadcn-yellow"] .btn-primary:hover,
3761
+ [data-color-theme="shadcn-yellow"] .btn-task-create:hover,
3762
+ [data-color-theme="shadcn-mono-red"] .btn-primary:hover,
3763
+ [data-color-theme="shadcn-mono-red"] .btn-task-create:hover,
3764
+ [data-color-theme="shadcn-mono-blue"] .btn-primary:hover,
3765
+ [data-color-theme="shadcn-mono-blue"] .btn-task-create:hover,
3766
+ [data-color-theme="shadcn-mono-green"] .btn-primary:hover,
3767
+ [data-color-theme="shadcn-mono-green"] .btn-task-create:hover,
3768
+ [data-color-theme="shadcn-mono-purple"] .btn-primary:hover,
3769
+ [data-color-theme="shadcn-mono-purple"] .btn-task-create:hover,
3770
+ [data-color-theme="shadcn-mono-pink"] .btn-primary:hover,
3771
+ [data-color-theme="shadcn-mono-pink"] .btn-task-create:hover,
3772
+ [data-color-theme="shadcn-mono-orange"] .btn-primary:hover,
3773
+ [data-color-theme="shadcn-mono-orange"] .btn-task-create:hover,
3774
+ [data-color-theme="shadcn-mono-yellow"] .btn-primary:hover,
3775
+ [data-color-theme="shadcn-mono-yellow"] .btn-task-create:hover,
3776
+ [data-color-theme="shadcn-black"] .btn-primary:hover,
3777
+ [data-color-theme="shadcn-black"] .btn-task-create:hover,
3778
+ [data-color-theme="shadcn-gray"] .btn-primary:hover,
3779
+ [data-color-theme="shadcn-gray"] .btn-task-create:hover,
3780
+ [data-color-theme="shadcn-gray-blue"] .btn-primary:hover,
3781
+ [data-color-theme="shadcn-gray-blue"] .btn-task-create:hover {
3782
+ background: var(--cta-bg-hover);
3783
+ border-color: var(--cta-border-hover);
3784
+ color: var(--cta-text);
3785
+ box-shadow: none;
942
3786
  }
943
3787
 
944
- [data-color-theme="factory"] .column-count,
945
- [data-color-theme="factory"] .card-id {
946
- font-family: var(--font-mono);
947
- font-weight: 700;
3788
+ [data-color-theme="shadcn-blue"] .card,
3789
+ [data-color-theme="shadcn-blue"] .column,
3790
+ [data-color-theme="shadcn-green"] .card,
3791
+ [data-color-theme="shadcn-green"] .column,
3792
+ [data-color-theme="shadcn-red"] .card,
3793
+ [data-color-theme="shadcn-red"] .column,
3794
+ [data-color-theme="shadcn-purple"] .card,
3795
+ [data-color-theme="shadcn-purple"] .column,
3796
+ [data-color-theme="shadcn-pink"] .card,
3797
+ [data-color-theme="shadcn-pink"] .column,
3798
+ [data-color-theme="shadcn-orange"] .card,
3799
+ [data-color-theme="shadcn-orange"] .column,
3800
+ [data-color-theme="shadcn-yellow"] .card,
3801
+ [data-color-theme="shadcn-yellow"] .column,
3802
+ [data-color-theme="shadcn-mono-red"] .card,
3803
+ [data-color-theme="shadcn-mono-red"] .column,
3804
+ [data-color-theme="shadcn-mono-blue"] .card,
3805
+ [data-color-theme="shadcn-mono-blue"] .column,
3806
+ [data-color-theme="shadcn-mono-green"] .card,
3807
+ [data-color-theme="shadcn-mono-green"] .column,
3808
+ [data-color-theme="shadcn-mono-purple"] .card,
3809
+ [data-color-theme="shadcn-mono-purple"] .column,
3810
+ [data-color-theme="shadcn-mono-pink"] .card,
3811
+ [data-color-theme="shadcn-mono-pink"] .column,
3812
+ [data-color-theme="shadcn-mono-orange"] .card,
3813
+ [data-color-theme="shadcn-mono-orange"] .column,
3814
+ [data-color-theme="shadcn-mono-yellow"] .card,
3815
+ [data-color-theme="shadcn-mono-yellow"] .column,
3816
+ [data-color-theme="shadcn-black"] .card,
3817
+ [data-color-theme="shadcn-black"] .column,
3818
+ [data-color-theme="shadcn-gray"] .card,
3819
+ [data-color-theme="shadcn-gray"] .column,
3820
+ [data-color-theme="shadcn-gray-blue"] .card,
3821
+ [data-color-theme="shadcn-gray-blue"] .column {
3822
+ border-width: var(--btn-border-width);
948
3823
  }
949
3824
 
950
3825
  /* AYU - Popular code editor theme with dark and light variants */
@@ -967,7 +3842,7 @@
967
3842
  --done: #6c7986;
968
3843
  --color-success: #7ee787;
969
3844
  --color-error: #f07178;
970
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
3845
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
971
3846
  --shadow: var(--shadow-lg);
972
3847
 
973
3848
  --cta-bg: #5cb85c;
@@ -975,7 +3850,7 @@
975
3850
  --cta-text: #0f1419;
976
3851
  --cta-bg-hover: #7ee787;
977
3852
  --cta-border-hover: #9af09a;
978
- --cta-glow: 0 0 8px rgba(126, 231, 135, 0.3);
3853
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
979
3854
  --logo-accent: var(--todo);
980
3855
  --color-info: #39bae6;
981
3856
  --accent: #5cb85c;
@@ -1001,7 +3876,7 @@
1001
3876
  --done: #8a9199;
1002
3877
  --color-success: #86b300;
1003
3878
  --color-error: #f07178;
1004
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.15);
3879
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 15%, transparent);
1005
3880
  --shadow: var(--shadow-lg);
1006
3881
 
1007
3882
  --cta-bg: #6d9a00;
@@ -1009,7 +3884,7 @@
1009
3884
  --cta-text: #fff;
1010
3885
  --cta-bg-hover: #86b300;
1011
3886
  --cta-border-hover: #9cc800;
1012
- --cta-glow: 0 0 8px rgba(134, 179, 0, 0.3);
3887
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1013
3888
  --logo-accent: var(--todo);
1014
3889
  --color-info: #007acc;
1015
3890
  --accent: #3a8a3a;
@@ -1036,7 +3911,7 @@
1036
3911
  --done: #828997;
1037
3912
  --color-success: #98c379;
1038
3913
  --color-error: #e06c75;
1039
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
3914
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1040
3915
  --shadow: var(--shadow-lg);
1041
3916
 
1042
3917
  --cta-bg: #7ec77a;
@@ -1044,7 +3919,7 @@
1044
3919
  --cta-text: #282c34;
1045
3920
  --cta-bg-hover: #98c379;
1046
3921
  --cta-border-hover: #b5d4a8;
1047
- --cta-glow: 0 0 8px rgba(152, 195, 121, 0.3);
3922
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1048
3923
  --logo-accent: var(--todo);
1049
3924
  --color-info: #61afef;
1050
3925
  --accent: #7ec77a;
@@ -1071,7 +3946,7 @@
1071
3946
  --done: #9da5b4;
1072
3947
  --color-success: #50a14f;
1073
3948
  --color-error: #e45649;
1074
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
3949
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1075
3950
  --shadow: var(--shadow-lg);
1076
3951
 
1077
3952
  --cta-bg: #3d8c3b;
@@ -1079,7 +3954,7 @@
1079
3954
  --cta-text: #fff;
1080
3955
  --cta-bg-hover: #50a14f;
1081
3956
  --cta-border-hover: #66b865;
1082
- --cta-glow: 0 0 8px rgba(80, 161, 79, 0.3);
3957
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1083
3958
  --logo-accent: var(--todo);
1084
3959
  --color-info: #4078f2;
1085
3960
  --accent: #4a9e46;
@@ -1106,7 +3981,7 @@
1106
3981
  --done: #7b88a1;
1107
3982
  --color-success: #a3be8c;
1108
3983
  --color-error: #bf616a;
1109
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.4);
3984
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 40%, transparent);
1110
3985
  --shadow: var(--shadow-lg);
1111
3986
 
1112
3987
  --cta-bg: #8fa879;
@@ -1114,7 +3989,7 @@
1114
3989
  --cta-text: #2e3440;
1115
3990
  --cta-bg-hover: #a3be8c;
1116
3991
  --cta-border-hover: #b8cfab;
1117
- --cta-glow: 0 0 8px rgba(163, 190, 140, 0.3);
3992
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1118
3993
  --logo-accent: var(--todo);
1119
3994
  --color-info: #81a1c1;
1120
3995
  --accent: #88c0d0;
@@ -1140,7 +4015,7 @@
1140
4015
  --done: #4c566a;
1141
4016
  --color-success: #7ca373;
1142
4017
  --color-error: #b54a52;
1143
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4018
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1144
4019
  --shadow: var(--shadow-lg);
1145
4020
 
1146
4021
  --cta-bg: #6a8f63;
@@ -1148,7 +4023,7 @@
1148
4023
  --cta-text: #fff;
1149
4024
  --cta-bg-hover: #7ca373;
1150
4025
  --cta-border-hover: #8fb588;
1151
- --cta-glow: 0 0 8px rgba(124, 163, 115, 0.3);
4026
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1152
4027
  --logo-accent: var(--todo);
1153
4028
  --color-info: #5e81ac;
1154
4029
  --accent: #5e81ac;
@@ -1175,7 +4050,7 @@
1175
4050
  --done: #6272a4;
1176
4051
  --color-success: #50fa7b;
1177
4052
  --color-error: #ff5555;
1178
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4053
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1179
4054
  --shadow: var(--shadow-lg);
1180
4055
 
1181
4056
  --cta-bg: #40d870;
@@ -1183,7 +4058,7 @@
1183
4058
  --cta-text: #282a36;
1184
4059
  --cta-bg-hover: #50fa7b;
1185
4060
  --cta-border-hover: #70ff95;
1186
- --cta-glow: 0 0 8px rgba(80, 250, 123, 0.3);
4061
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1187
4062
  --logo-accent: var(--todo);
1188
4063
  --color-info: #8be9fd;
1189
4064
  --accent: #bd93f9;
@@ -1209,7 +4084,7 @@
1209
4084
  --done: #5a5a72;
1210
4085
  --color-success: #2e8b57;
1211
4086
  --color-error: #cc3333;
1212
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4087
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1213
4088
  --shadow: var(--shadow-lg);
1214
4089
 
1215
4090
  --cta-bg: #267a4d;
@@ -1217,7 +4092,7 @@
1217
4092
  --cta-text: #fff;
1218
4093
  --cta-bg-hover: #2e8b57;
1219
4094
  --cta-border-hover: #3aa870;
1220
- --cta-glow: 0 0 8px rgba(46, 139, 87, 0.3);
4095
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1221
4096
  --logo-accent: var(--todo);
1222
4097
  --color-info: #00838f;
1223
4098
  --accent: #8662c7;
@@ -1244,7 +4119,7 @@
1244
4119
  --done: #928374;
1245
4120
  --color-success: #b8bb26;
1246
4121
  --color-error: #fb4934;
1247
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4122
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1248
4123
  --shadow: var(--shadow-lg);
1249
4124
 
1250
4125
  --cta-bg: #a0a325;
@@ -1252,7 +4127,7 @@
1252
4127
  --cta-text: #282828;
1253
4128
  --cta-bg-hover: #b8bb26;
1254
4129
  --cta-border-hover: #d0d340;
1255
- --cta-glow: 0 0 8px rgba(184, 187, 38, 0.3);
4130
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1256
4131
  --logo-accent: var(--todo);
1257
4132
  --color-info: #83a598;
1258
4133
  --accent: #d4a017;
@@ -1278,7 +4153,7 @@
1278
4153
  --done: #504945;
1279
4154
  --color-success: #427b58;
1280
4155
  --color-error: #9d0006;
1281
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4156
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1282
4157
  --shadow: var(--shadow-lg);
1283
4158
 
1284
4159
  --cta-bg: #3a6a4e;
@@ -1286,7 +4161,7 @@
1286
4161
  --cta-text: #fbf1c7;
1287
4162
  --cta-bg-hover: #427b58;
1288
4163
  --cta-border-hover: #528c68;
1289
- --cta-glow: 0 0 8px rgba(66, 123, 88, 0.3);
4164
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1290
4165
  --logo-accent: var(--todo);
1291
4166
  --color-info: #076678;
1292
4167
  --accent: #a08010;
@@ -1313,7 +4188,7 @@
1313
4188
  --done: #565f89;
1314
4189
  --color-success: #9ece6a;
1315
4190
  --color-error: #f7768e;
1316
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4191
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1317
4192
  --shadow: var(--shadow-lg);
1318
4193
 
1319
4194
  --cta-bg: #8ab855;
@@ -1321,7 +4196,7 @@
1321
4196
  --cta-text: #1a1b26;
1322
4197
  --cta-bg-hover: #9ece6a;
1323
4198
  --cta-border-hover: #b8e080;
1324
- --cta-glow: 0 0 8px rgba(158, 206, 106, 0.3);
4199
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1325
4200
  --logo-accent: var(--todo);
1326
4201
  --color-info: #7aa2f7;
1327
4202
  --accent: #7aa2f7;
@@ -1347,7 +4222,7 @@
1347
4222
  --done: #414868;
1348
4223
  --color-success: #48703e;
1349
4224
  --color-error: #c53b53;
1350
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4225
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1351
4226
  --shadow: var(--shadow-lg);
1352
4227
 
1353
4228
  --cta-bg: #3d6035;
@@ -1355,7 +4230,7 @@
1355
4230
  --cta-text: #fff;
1356
4231
  --cta-bg-hover: #48703e;
1357
4232
  --cta-border-hover: #5a8550;
1358
- --cta-glow: 0 0 8px rgba(72, 112, 62, 0.3);
4233
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1359
4234
  --logo-accent: var(--todo);
1360
4235
  --color-info: #3b5ea5;
1361
4236
  --accent: #5b7ec7;
@@ -1382,7 +4257,7 @@
1382
4257
  --done: #6c7086;
1383
4258
  --color-success: #a6e3a1;
1384
4259
  --color-error: #f38ba8;
1385
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4260
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1386
4261
  --shadow: var(--shadow-lg);
1387
4262
 
1388
4263
  --cta-bg: #8ad985;
@@ -1390,7 +4265,7 @@
1390
4265
  --cta-text: #1e1e2e;
1391
4266
  --cta-bg-hover: #a6e3a1;
1392
4267
  --cta-border-hover: #b8edb4;
1393
- --cta-glow: 0 0 8px rgba(166, 227, 161, 0.3);
4268
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1394
4269
  --logo-accent: var(--todo);
1395
4270
  --color-info: #89b4fa;
1396
4271
  --accent: #cba6f7;
@@ -1416,7 +4291,7 @@
1416
4291
  --done: #7c7f93;
1417
4292
  --color-success: #40a02b;
1418
4293
  --color-error: #d20f39;
1419
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4294
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1420
4295
  --shadow: var(--shadow-lg);
1421
4296
 
1422
4297
  --cta-bg: #36891f;
@@ -1424,7 +4299,7 @@
1424
4299
  --cta-text: #fff;
1425
4300
  --cta-bg-hover: #40a02b;
1426
4301
  --cta-border-hover: #52b93d;
1427
- --cta-glow: 0 0 8px rgba(64, 160, 43, 0.3);
4302
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1428
4303
  --logo-accent: var(--todo);
1429
4304
  --color-info: #1e66f5;
1430
4305
  --accent: #9a6fd9;
@@ -1451,7 +4326,7 @@
1451
4326
  --done: #484f58;
1452
4327
  --color-success: #3fb950;
1453
4328
  --color-error: #f85149;
1454
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4329
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1455
4330
  --shadow: var(--shadow-lg);
1456
4331
 
1457
4332
  --cta-bg: #2ea043;
@@ -1459,7 +4334,7 @@
1459
4334
  --cta-text: #fff;
1460
4335
  --cta-bg-hover: #3fb950;
1461
4336
  --cta-border-hover: #56d364;
1462
- --cta-glow: 0 0 8px rgba(63, 185, 80, 0.3);
4337
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1463
4338
  --logo-accent: var(--todo);
1464
4339
  --color-info: #58a6ff;
1465
4340
  --accent: #58a6ff;
@@ -1485,7 +4360,7 @@
1485
4360
  --done: #656d76;
1486
4361
  --color-success: #1a7f37;
1487
4362
  --color-error: #cf222e;
1488
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4363
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1489
4364
  --shadow: var(--shadow-lg);
1490
4365
 
1491
4366
  --cta-bg: #1a7f37;
@@ -1493,7 +4368,7 @@
1493
4368
  --cta-text: #fff;
1494
4369
  --cta-bg-hover: #1a7f37;
1495
4370
  --cta-border-hover: #2da44e;
1496
- --cta-glow: 0 0 8px rgba(26, 127, 55, 0.3);
4371
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1497
4372
  --logo-accent: var(--todo);
1498
4373
  --color-info: #0969da;
1499
4374
  --accent: #0969da;
@@ -1520,7 +4395,7 @@
1520
4395
  --done: #859289;
1521
4396
  --color-success: #a7c080;
1522
4397
  --color-error: #e67e80;
1523
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4398
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1524
4399
  --shadow: var(--shadow-lg);
1525
4400
 
1526
4401
  --cta-bg: #8aad75;
@@ -1528,7 +4403,7 @@
1528
4403
  --cta-text: #2d353b;
1529
4404
  --cta-bg-hover: #a7c080;
1530
4405
  --cta-border-hover: #bcd09a;
1531
- --cta-glow: 0 0 8px rgba(167, 192, 128, 0.3);
4406
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1532
4407
  --logo-accent: var(--todo);
1533
4408
  --color-info: #7fbbb3;
1534
4409
  --accent: #a7c080;
@@ -1554,7 +4429,7 @@
1554
4429
  --done: #8da489;
1555
4430
  --color-success: #6d9b3a;
1556
4431
  --color-error: #c44040;
1557
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4432
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1558
4433
  --shadow: var(--shadow-lg);
1559
4434
 
1560
4435
  --cta-bg: #5a8a2e;
@@ -1562,7 +4437,7 @@
1562
4437
  --cta-text: #fff;
1563
4438
  --cta-bg-hover: #6d9b3a;
1564
4439
  --cta-border-hover: #80b34c;
1565
- --cta-glow: 0 0 8px rgba(109, 155, 58, 0.3);
4440
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1566
4441
  --logo-accent: var(--todo);
1567
4442
  --color-info: #3a94a5;
1568
4443
  --accent: #6b8f55;
@@ -1589,7 +4464,7 @@
1589
4464
  --done: #6e6a86;
1590
4465
  --color-success: #9ccfd8;
1591
4466
  --color-error: #eb6f92;
1592
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4467
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1593
4468
  --shadow: var(--shadow-lg);
1594
4469
 
1595
4470
  --cta-bg: #7dbbc4;
@@ -1597,7 +4472,7 @@
1597
4472
  --cta-text: #191724;
1598
4473
  --cta-bg-hover: #9ccfd8;
1599
4474
  --cta-border-hover: #b3dfe6;
1600
- --cta-glow: 0 0 8px rgba(156, 207, 216, 0.3);
4475
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1601
4476
  --logo-accent: var(--todo);
1602
4477
  --color-info: #c4a7e7;
1603
4478
  --accent: #c4a7e7;
@@ -1623,7 +4498,7 @@
1623
4498
  --done: #9893a5;
1624
4499
  --color-success: #56949f;
1625
4500
  --color-error: #b4637a;
1626
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4501
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1627
4502
  --shadow: var(--shadow-lg);
1628
4503
 
1629
4504
  --cta-bg: #428089;
@@ -1631,7 +4506,7 @@
1631
4506
  --cta-text: #fff;
1632
4507
  --cta-bg-hover: #56949f;
1633
4508
  --cta-border-hover: #6daab4;
1634
- --cta-glow: 0 0 8px rgba(86, 148, 159, 0.3);
4509
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1635
4510
  --logo-accent: var(--todo);
1636
4511
  --color-info: #907aa9;
1637
4512
  --accent: #907aac;
@@ -1658,7 +4533,7 @@
1658
4533
  --done: #727169;
1659
4534
  --color-success: #98bb6c;
1660
4535
  --color-error: #c34043;
1661
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4536
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1662
4537
  --shadow: var(--shadow-lg);
1663
4538
 
1664
4539
  --cta-bg: #7da55a;
@@ -1666,7 +4541,7 @@
1666
4541
  --cta-text: #1f1f28;
1667
4542
  --cta-bg-hover: #98bb6c;
1668
4543
  --cta-border-hover: #aed085;
1669
- --cta-glow: 0 0 8px rgba(152, 187, 108, 0.3);
4544
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1670
4545
  --logo-accent: var(--todo);
1671
4546
  --color-info: #7e9cd8;
1672
4547
  --accent: #957fb8;
@@ -1692,7 +4567,7 @@
1692
4567
  --done: #81818c;
1693
4568
  --color-success: #5a8249;
1694
4569
  --color-error: #b03438;
1695
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4570
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1696
4571
  --shadow: var(--shadow-lg);
1697
4572
 
1698
4573
  --cta-bg: #49703f;
@@ -1700,7 +4575,7 @@
1700
4575
  --cta-text: #fff;
1701
4576
  --cta-bg-hover: #5a8249;
1702
4577
  --cta-border-hover: #6b9a5c;
1703
- --cta-glow: 0 0 8px rgba(90, 130, 73, 0.3);
4578
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1704
4579
  --logo-accent: var(--todo);
1705
4580
  --color-info: #4e76b5;
1706
4581
  --accent: #7560a0;
@@ -1727,7 +4602,7 @@
1727
4602
  --done: #5c7a99;
1728
4603
  --color-success: #4ec9b0;
1729
4604
  --color-error: #ef5350;
1730
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.6);
4605
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 60%, transparent);
1731
4606
  --shadow: var(--shadow-lg);
1732
4607
 
1733
4608
  --cta-bg: #3da890;
@@ -1735,7 +4610,7 @@
1735
4610
  --cta-text: #011627;
1736
4611
  --cta-bg-hover: #4ec9b0;
1737
4612
  --cta-border-hover: #70dbc9;
1738
- --cta-glow: 0 0 8px rgba(78, 201, 176, 0.3);
4613
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1739
4614
  --logo-accent: var(--todo);
1740
4615
  --color-info: #82aaff;
1741
4616
  --accent: #82aaff;
@@ -1761,7 +4636,7 @@
1761
4636
  --done: #8a95a5;
1762
4637
  --color-success: #2b8a73;
1763
4638
  --color-error: #c0392b;
1764
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4639
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1765
4640
  --shadow: var(--shadow-lg);
1766
4641
 
1767
4642
  --cta-bg: #257a68;
@@ -1769,7 +4644,7 @@
1769
4644
  --cta-text: #fff;
1770
4645
  --cta-bg-hover: #2b8a73;
1771
4646
  --cta-border-hover: #3a9f8a;
1772
- --cta-glow: 0 0 8px rgba(43, 138, 115, 0.3);
4647
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1773
4648
  --logo-accent: var(--todo);
1774
4649
  --color-info: #2563eb;
1775
4650
  --accent: #5a7fd4;
@@ -1796,7 +4671,7 @@
1796
4671
  --done: #676e95;
1797
4672
  --color-success: #c3e88d;
1798
4673
  --color-error: #ff5370;
1799
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4674
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1800
4675
  --shadow: var(--shadow-lg);
1801
4676
 
1802
4677
  --cta-bg: #a3c570;
@@ -1804,7 +4679,7 @@
1804
4679
  --cta-text: #292d3e;
1805
4680
  --cta-bg-hover: #c3e88d;
1806
4681
  --cta-border-hover: #d4f0a5;
1807
- --cta-glow: 0 0 8px rgba(195, 232, 141, 0.3);
4682
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1808
4683
  --logo-accent: var(--todo);
1809
4684
  --color-info: #82aaff;
1810
4685
  --accent: #c792ea;
@@ -1830,7 +4705,7 @@
1830
4705
  --done: #8a8fa0;
1831
4706
  --color-success: #5a9e2f;
1832
4707
  --color-error: #c0392b;
1833
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4708
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1834
4709
  --shadow: var(--shadow-lg);
1835
4710
 
1836
4711
  --cta-bg: #4a8c28;
@@ -1838,7 +4713,7 @@
1838
4713
  --cta-text: #fff;
1839
4714
  --cta-bg-hover: #5a9e2f;
1840
4715
  --cta-border-hover: #6db23c;
1841
- --cta-glow: 0 0 8px rgba(90, 158, 47, 0.3);
4716
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1842
4717
  --logo-accent: var(--todo);
1843
4718
  --color-info: #3b6fcf;
1844
4719
  --accent: #9a60c0;
@@ -1865,7 +4740,7 @@
1865
4740
  --done: #727072;
1866
4741
  --color-success: #a9dc76;
1867
4742
  --color-error: #ff6188;
1868
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
4743
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
1869
4744
  --shadow: var(--shadow-lg);
1870
4745
 
1871
4746
  --cta-bg: #88c060;
@@ -1873,7 +4748,7 @@
1873
4748
  --cta-text: #2d2a2e;
1874
4749
  --cta-bg-hover: #a9dc76;
1875
4750
  --cta-border-hover: #c2ec92;
1876
- --cta-glow: 0 0 8px rgba(169, 220, 118, 0.3);
4751
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1877
4752
  --logo-accent: var(--todo);
1878
4753
  --color-info: #78dce8;
1879
4754
  --accent: #ffd866;
@@ -1899,7 +4774,7 @@
1899
4774
  --done: #9a9490;
1900
4775
  --color-success: #5a9030;
1901
4776
  --color-error: #c4405e;
1902
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4777
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1903
4778
  --shadow: var(--shadow-lg);
1904
4779
 
1905
4780
  --cta-bg: #4a7a28;
@@ -1907,7 +4782,7 @@
1907
4782
  --cta-text: #fff;
1908
4783
  --cta-bg-hover: #5a9030;
1909
4784
  --cta-border-hover: #6da63c;
1910
- --cta-glow: 0 0 8px rgba(90, 144, 48, 0.3);
4785
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1911
4786
  --logo-accent: var(--todo);
1912
4787
  --color-info: #2d8fa0;
1913
4788
  --accent: #d4a830;
@@ -1934,7 +4809,7 @@
1934
4809
  --done: #5a7a40;
1935
4810
  --color-success: #a0ff60;
1936
4811
  --color-error: #ff4040;
1937
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.7);
4812
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 70%, transparent);
1938
4813
  --shadow: var(--shadow-lg);
1939
4814
 
1940
4815
  --cta-bg: #78d840;
@@ -1942,7 +4817,7 @@
1942
4817
  --cta-text: #0a0e09;
1943
4818
  --cta-bg-hover: #a0ff60;
1944
4819
  --cta-border-hover: #b8ff80;
1945
- --cta-glow: 0 0 8px rgba(160, 255, 96, 0.3);
4820
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1946
4821
  --logo-accent: var(--todo);
1947
4822
  --color-info: #60d8a0;
1948
4823
  --accent: #78d840;
@@ -1968,7 +4843,7 @@
1968
4843
  --done: #7a8a70;
1969
4844
  --color-success: #4a8a20;
1970
4845
  --color-error: #b03030;
1971
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
4846
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
1972
4847
  --shadow: var(--shadow-lg);
1973
4848
 
1974
4849
  --cta-bg: #3a7a18;
@@ -1976,7 +4851,7 @@
1976
4851
  --cta-text: #fff;
1977
4852
  --cta-bg-hover: #4a8a20;
1978
4853
  --cta-border-hover: #5a9a2c;
1979
- --cta-glow: 0 0 8px rgba(74, 138, 32, 0.3);
4854
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
1980
4855
  --logo-accent: var(--todo);
1981
4856
  --color-info: #1a7a5a;
1982
4857
  --accent: #5ab030;
@@ -2033,8 +4908,8 @@
2033
4908
  --shadow-md: none;
2034
4909
  --shadow-lg: none;
2035
4910
  --shadow-glow: none;
2036
- --focus-ring: 0 0 0 3px rgba(255, 106, 0, 0.28);
2037
- --focus-ring-strong: 0 0 0 3px rgba(255, 106, 0, 0.44);
4911
+ --focus-ring: 0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);
4912
+ --focus-ring-strong: 0 0 0 3px color-mix(in srgb, var(--accent) 44%, transparent);
2038
4913
  --shadow: none;
2039
4914
 
2040
4915
  --transition-instant: 0.04s linear;
@@ -2074,8 +4949,8 @@
2074
4949
  --color-success: #4f8f00;
2075
4950
  --color-error: #b32000;
2076
4951
 
2077
- --focus-ring: 0 0 0 3px rgba(217, 72, 15, 0.22);
2078
- --focus-ring-strong: 0 0 0 3px rgba(217, 72, 15, 0.35);
4952
+ --focus-ring: 0 0 0 3px color-mix(in srgb, var(--todo) 22%, transparent);
4953
+ --focus-ring-strong: 0 0 0 3px color-mix(in srgb, var(--todo) 35%, transparent);
2079
4954
 
2080
4955
  --cta-bg: #c2410c;
2081
4956
  --cta-border: #d9480f;
@@ -2170,15 +5045,15 @@
2170
5045
  --btn-border-width: 2px;
2171
5046
  --card-padding: 10px 12px;
2172
5047
 
2173
- --shadow-sm: 0 2px 6px rgba(0, 0, 0, 0.35);
2174
- --shadow-md: 0 0 10px rgba(255, 45, 149, 0.25);
2175
- --shadow-lg: 0 0 26px rgba(0, 240, 255, 0.2);
2176
- --shadow-glow: 0 0 10px rgba(255, 45, 149, 0.45);
2177
- --glow-success: 0 0 10px rgba(120, 255, 77, 0.45);
2178
- --glow-warning: 0 0 10px rgba(255, 171, 0, 0.45);
2179
- --glow-danger: 0 0 10px rgba(255, 86, 143, 0.42);
2180
- --focus-ring: 0 0 0 2px rgba(0, 240, 255, 0.2);
2181
- --focus-ring-strong: 0 0 0 2px rgba(255, 45, 149, 0.34);
5048
+ --shadow-sm: 0 2px 6px color-mix(in srgb, #000000 35%, transparent);
5049
+ --shadow-md: 0 0 10px color-mix(in srgb, var(--accent) 25%, transparent);
5050
+ --shadow-lg: 0 0 26px color-mix(in srgb, var(--color-info) 20%, transparent);
5051
+ --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 45%, transparent);
5052
+ --glow-success: 0 0 10px color-mix(in srgb, var(--color-success) 45%, transparent);
5053
+ --glow-warning: 0 0 10px color-mix(in srgb, var(--triage) 45%, transparent);
5054
+ --glow-danger: 0 0 10px color-mix(in srgb, var(--color-error) 42%, transparent);
5055
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-info) 20%, transparent);
5056
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 34%, transparent);
2182
5057
  --shadow: var(--shadow-lg);
2183
5058
 
2184
5059
  --transition-instant: 0.08s ease;
@@ -2191,7 +5066,7 @@
2191
5066
  --cta-text: #0d0d15;
2192
5067
  --cta-bg-hover: #ff4aa4;
2193
5068
  --cta-border-hover: #7ff7ff;
2194
- --cta-glow: 0 0 12px rgba(255, 45, 149, 0.45);
5069
+ --cta-glow: 0 0 12px color-mix(in srgb, var(--cta-bg) 45%, transparent);
2195
5070
  --logo-accent: var(--todo);
2196
5071
  --color-info: #00f0ff;
2197
5072
  --accent: #ff2d95;
@@ -2218,21 +5093,21 @@
2218
5093
  --color-success: #3a8a2e;
2219
5094
  --color-error: #b11f5b;
2220
5095
 
2221
- --shadow-md: 0 0 10px rgba(204, 22, 110, 0.14);
2222
- --shadow-lg: 0 0 22px rgba(0, 142, 155, 0.12);
2223
- --shadow-glow: 0 0 10px rgba(204, 22, 110, 0.24);
2224
- --glow-success: 0 0 10px rgba(58, 138, 46, 0.24);
2225
- --glow-warning: 0 0 10px rgba(181, 114, 0, 0.24);
2226
- --glow-danger: 0 0 10px rgba(177, 31, 91, 0.2);
2227
- --focus-ring: 0 0 0 2px rgba(0, 142, 155, 0.17);
2228
- --focus-ring-strong: 0 0 0 2px rgba(204, 22, 110, 0.24);
5096
+ --shadow-md: 0 0 10px color-mix(in srgb, var(--todo) 14%, transparent);
5097
+ --shadow-lg: 0 0 22px color-mix(in srgb, var(--color-info) 12%, transparent);
5098
+ --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 24%, transparent);
5099
+ --glow-success: 0 0 10px color-mix(in srgb, var(--color-success) 24%, transparent);
5100
+ --glow-warning: 0 0 10px color-mix(in srgb, var(--triage) 24%, transparent);
5101
+ --glow-danger: 0 0 10px color-mix(in srgb, var(--color-error) 20%, transparent);
5102
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-info) 17%, transparent);
5103
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent);
2229
5104
 
2230
5105
  --cta-bg: #b1145f;
2231
5106
  --cta-border: #008e9b;
2232
5107
  --cta-text: #ffffff;
2233
5108
  --cta-bg-hover: #cc166e;
2234
5109
  --cta-border-hover: #00a8b8;
2235
- --cta-glow: 0 0 10px rgba(177, 20, 95, 0.26);
5110
+ --cta-glow: 0 0 10px color-mix(in srgb, var(--cta-bg) 26%, transparent);
2236
5111
  --logo-accent: var(--todo);
2237
5112
  --color-info: #008e9b;
2238
5113
  --accent: #d63384;
@@ -2249,7 +5124,7 @@
2249
5124
  [data-color-theme="neon-city"] .btn-task-create {
2250
5125
  border-color: color-mix(in srgb, var(--todo) 70%, var(--in-progress) 30%);
2251
5126
  color: var(--todo);
2252
- box-shadow: 0 0 10px rgba(255, 45, 149, 0.25);
5127
+ box-shadow: 0 0 10px color-mix(in srgb, #ff2d95 25%, transparent);
2253
5128
  }
2254
5129
 
2255
5130
  [data-color-theme="neon-city"] .btn-primary:hover,
@@ -2257,8 +5132,8 @@
2257
5132
  color: var(--text);
2258
5133
  border-color: var(--in-progress);
2259
5134
  box-shadow:
2260
- 0 0 8px rgba(255, 45, 149, 0.6),
2261
- 0 0 14px rgba(0, 240, 255, 0.45);
5135
+ 0 0 8px color-mix(in srgb, #ff2d95 60%, transparent),
5136
+ 0 0 14px color-mix(in srgb, #00f0ff 45%, transparent);
2262
5137
  }
2263
5138
 
2264
5139
  [data-color-theme="neon-city"] .card,
@@ -2284,13 +5159,13 @@
2284
5159
  0%,
2285
5160
  100% {
2286
5161
  box-shadow:
2287
- 0 0 8px rgba(255, 45, 149, 0.35),
2288
- 0 0 16px rgba(0, 240, 255, 0.25);
5162
+ 0 0 8px color-mix(in srgb, #ff2d95 35%, transparent),
5163
+ 0 0 16px color-mix(in srgb, #00f0ff 25%, transparent);
2289
5164
  }
2290
5165
  50% {
2291
5166
  box-shadow:
2292
- 0 0 14px rgba(255, 45, 149, 0.65),
2293
- 0 0 24px rgba(0, 240, 255, 0.45);
5167
+ 0 0 14px color-mix(in srgb, #ff2d95 65%, transparent),
5168
+ 0 0 24px color-mix(in srgb, #00f0ff 45%, transparent);
2294
5169
  }
2295
5170
  }
2296
5171
 
@@ -2302,13 +5177,13 @@
2302
5177
  0%,
2303
5178
  100% {
2304
5179
  box-shadow:
2305
- 0 0 8px rgba(177, 20, 95, 0.22),
2306
- 0 0 16px rgba(0, 142, 155, 0.18);
5180
+ 0 0 8px color-mix(in srgb, #b1145f 22%, transparent),
5181
+ 0 0 16px color-mix(in srgb, #008e9b 18%, transparent);
2307
5182
  }
2308
5183
  50% {
2309
5184
  box-shadow:
2310
- 0 0 12px rgba(177, 20, 95, 0.32),
2311
- 0 0 20px rgba(0, 142, 155, 0.26);
5185
+ 0 0 12px color-mix(in srgb, #b1145f 32%, transparent),
5186
+ 0 0 20px color-mix(in srgb, #008e9b 26%, transparent);
2312
5187
  }
2313
5188
  }
2314
5189
 
@@ -2356,12 +5231,12 @@
2356
5231
  --modal-padding: var(--space-lg) calc(var(--space-xl) + 2px);
2357
5232
  --header-padding: var(--space-md) var(--space-xl);
2358
5233
 
2359
- --shadow-sm: 0 1px 2px rgba(10, 8, 5, 0.45);
2360
- --shadow-md: 0 4px 12px rgba(10, 8, 5, 0.35);
2361
- --shadow-lg: 0 12px 28px rgba(10, 8, 5, 0.4);
2362
- --shadow-glow: 0 0 8px rgba(208, 138, 75, 0.25);
2363
- --focus-ring: 0 0 0 2px rgba(208, 138, 75, 0.22);
2364
- --focus-ring-strong: 0 0 0 2px rgba(208, 138, 75, 0.34);
5234
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #0a0805 45%, transparent);
5235
+ --shadow-md: 0 4px 12px color-mix(in srgb, #0a0805 35%, transparent);
5236
+ --shadow-lg: 0 12px 28px color-mix(in srgb, #0a0805 40%, transparent);
5237
+ --shadow-glow: 0 0 8px color-mix(in srgb, var(--todo) 25%, transparent);
5238
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-info) 22%, transparent);
5239
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--color-info) 34%, transparent);
2365
5240
  --shadow: var(--shadow-lg);
2366
5241
 
2367
5242
  --cta-bg: #be6e3c;
@@ -2369,7 +5244,7 @@
2369
5244
  --cta-text: #f8eedf;
2370
5245
  --cta-bg-hover: #d08a4b;
2371
5246
  --cta-border-hover: #dda165;
2372
- --cta-glow: 0 0 10px rgba(208, 138, 75, 0.25);
5247
+ --cta-glow: 0 0 10px color-mix(in srgb, var(--cta-border) 25%, transparent);
2373
5248
  --logo-accent: var(--todo);
2374
5249
  --color-info: #d08a4b;
2375
5250
  --accent: #d08a4b;
@@ -2396,19 +5271,19 @@
2396
5271
  --color-success: #5f7d3f;
2397
5272
  --color-error: #b24f2f;
2398
5273
 
2399
- --shadow-sm: 0 1px 2px rgba(74, 55, 35, 0.12);
2400
- --shadow-md: 0 5px 14px rgba(74, 55, 35, 0.14);
2401
- --shadow-lg: 0 14px 30px rgba(74, 55, 35, 0.16);
2402
- --shadow-glow: 0 0 8px rgba(168, 86, 47, 0.2);
2403
- --focus-ring: 0 0 0 2px rgba(168, 86, 47, 0.15);
2404
- --focus-ring-strong: 0 0 0 2px rgba(168, 86, 47, 0.24);
5274
+ --shadow-sm: 0 1px 2px color-mix(in srgb, #4a3723 12%, transparent);
5275
+ --shadow-md: 0 5px 14px color-mix(in srgb, #4a3723 14%, transparent);
5276
+ --shadow-lg: 0 14px 30px color-mix(in srgb, #4a3723 16%, transparent);
5277
+ --shadow-glow: 0 0 8px color-mix(in srgb, var(--todo) 20%, transparent);
5278
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--todo) 15%, transparent);
5279
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--todo) 24%, transparent);
2405
5280
 
2406
5281
  --cta-bg: #99502d;
2407
5282
  --cta-border: #a8562f;
2408
5283
  --cta-text: #fff9f2;
2409
5284
  --cta-bg-hover: #a8562f;
2410
5285
  --cta-border-hover: #bf6a3f;
2411
- --cta-glow: 0 0 8px rgba(168, 86, 47, 0.2);
5286
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 20%, transparent);
2412
5287
  --logo-accent: var(--todo);
2413
5288
  --color-info: #8f4e2a;
2414
5289
  --accent: #a66b35;
@@ -2418,7 +5293,7 @@
2418
5293
  [data-color-theme="parchment"] .btn {
2419
5294
  font-family: var(--font-primary);
2420
5295
  border-color: color-mix(in srgb, var(--todo) 40%, var(--border) 60%);
2421
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.18);
5296
+ box-shadow: inset 0 -1px 0 color-mix(in srgb, #000000 18%, transparent);
2422
5297
  }
2423
5298
 
2424
5299
  [data-color-theme="parchment"] .btn-primary,
@@ -2431,18 +5306,18 @@
2431
5306
  [data-color-theme="parchment"] .column {
2432
5307
  border-color: color-mix(in srgb, var(--border) 76%, var(--todo) 24%);
2433
5308
  background-image:
2434
- linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.06)),
2435
- linear-gradient(0deg, rgba(201, 160, 112, 0.08), rgba(201, 160, 112, 0.08));
5309
+ linear-gradient(180deg, color-mix(in srgb, #ffffff 2%, transparent), color-mix(in srgb, #000000 6%, transparent)),
5310
+ linear-gradient(0deg, color-mix(in srgb, #c9a070 8%, transparent), color-mix(in srgb, #c9a070 8%, transparent));
2436
5311
  box-shadow:
2437
- inset 0 1px 0 rgba(255, 255, 255, 0.08),
2438
- 0 2px 10px rgba(26, 20, 14, 0.2);
5312
+ inset 0 1px 0 color-mix(in srgb, #ffffff 8%, transparent),
5313
+ 0 2px 10px color-mix(in srgb, #1a140e 20%, transparent);
2439
5314
  }
2440
5315
 
2441
5316
  [data-color-theme="parchment"][data-theme="light"] .card,
2442
5317
  [data-color-theme="parchment"][data-theme="light"] .column {
2443
5318
  box-shadow:
2444
- inset 0 1px 0 rgba(255, 255, 255, 0.45),
2445
- 0 3px 12px rgba(121, 90, 58, 0.15);
5319
+ inset 0 1px 0 color-mix(in srgb, #ffffff 45%, transparent),
5320
+ 0 3px 12px color-mix(in srgb, #795a3a 15%, transparent);
2446
5321
  }
2447
5322
 
2448
5323
  [data-color-theme="parchment"] .column-header h2 {
@@ -2493,12 +5368,12 @@
2493
5368
  --btn-border-width: 2px;
2494
5369
  --card-padding: 9px 10px;
2495
5370
 
2496
- --shadow-sm: 0 0 4px rgba(51, 255, 0, 0.15);
2497
- --shadow-md: 0 0 10px rgba(51, 255, 0, 0.18);
2498
- --shadow-lg: 0 0 22px rgba(51, 255, 0, 0.22);
2499
- --shadow-glow: 0 0 10px rgba(51, 255, 0, 0.35);
2500
- --focus-ring: 0 0 0 2px rgba(51, 255, 0, 0.26);
2501
- --focus-ring-strong: 0 0 0 2px rgba(51, 255, 0, 0.42);
5371
+ --shadow-sm: 0 0 4px color-mix(in srgb, var(--accent) 15%, transparent);
5372
+ --shadow-md: 0 0 10px color-mix(in srgb, var(--accent) 18%, transparent);
5373
+ --shadow-lg: 0 0 22px color-mix(in srgb, var(--accent) 22%, transparent);
5374
+ --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 35%, transparent);
5375
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 26%, transparent);
5376
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 42%, transparent);
2502
5377
  --shadow: var(--shadow-lg);
2503
5378
 
2504
5379
  --transition-instant: 0.02s steps(2, end);
@@ -2511,7 +5386,7 @@
2511
5386
  --cta-text: #061004;
2512
5387
  --cta-bg-hover: #6dff2f;
2513
5388
  --cta-border-hover: #b2ff67;
2514
- --cta-glow: 0 0 10px rgba(51, 255, 0, 0.35);
5389
+ --cta-glow: 0 0 10px color-mix(in srgb, var(--cta-bg) 35%, transparent);
2515
5390
  --logo-accent: var(--todo);
2516
5391
  --color-info: #8fff38;
2517
5392
  --accent: #33ff00;
@@ -2538,19 +5413,19 @@
2538
5413
  --color-success: #5e9c2d;
2539
5414
  --color-error: #8f5f00;
2540
5415
 
2541
- --shadow-sm: 0 0 4px rgba(45, 107, 20, 0.1);
2542
- --shadow-md: 0 0 8px rgba(45, 107, 20, 0.12);
2543
- --shadow-lg: 0 0 14px rgba(45, 107, 20, 0.15);
2544
- --shadow-glow: 0 0 8px rgba(45, 107, 20, 0.2);
2545
- --focus-ring: 0 0 0 2px rgba(45, 107, 20, 0.16);
2546
- --focus-ring-strong: 0 0 0 2px rgba(45, 107, 20, 0.24);
5416
+ --shadow-sm: 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent);
5417
+ --shadow-md: 0 0 8px color-mix(in srgb, var(--accent) 12%, transparent);
5418
+ --shadow-lg: 0 0 14px color-mix(in srgb, var(--accent) 15%, transparent);
5419
+ --shadow-glow: 0 0 8px color-mix(in srgb, var(--todo) 20%, transparent);
5420
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 16%, transparent);
5421
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent);
2547
5422
 
2548
5423
  --cta-bg: #2d6b14;
2549
5424
  --cta-border: #4c8f25;
2550
5425
  --cta-text: #f4fbef;
2551
5426
  --cta-bg-hover: #3d7d1c;
2552
5427
  --cta-border-hover: #5ea82f;
2553
- --cta-glow: 0 0 8px rgba(45, 107, 20, 0.2);
5428
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 20%, transparent);
2554
5429
  --logo-accent: var(--todo);
2555
5430
  --color-info: #4c8f25;
2556
5431
  --accent: #2d6b14;
@@ -2601,8 +5476,8 @@ body[data-color-theme="terminal"]::before {
2601
5476
  inset: 0;
2602
5477
  background: repeating-linear-gradient(
2603
5478
  to bottom,
2604
- rgba(51, 255, 0, 0.08) 0px,
2605
- rgba(51, 255, 0, 0.08) 1px,
5479
+ color-mix(in srgb, #33ff00 8%, transparent) 0px,
5480
+ color-mix(in srgb, #33ff00 8%, transparent) 1px,
2606
5481
  transparent 1px,
2607
5482
  transparent 3px
2608
5483
  );
@@ -2616,8 +5491,8 @@ body[data-color-theme="terminal"]::before {
2616
5491
  body[data-color-theme="terminal"][data-theme="light"]::before {
2617
5492
  background: repeating-linear-gradient(
2618
5493
  to bottom,
2619
- rgba(17, 52, 12, 0.07) 0px,
2620
- rgba(17, 52, 12, 0.07) 1px,
5494
+ color-mix(in srgb, #11340c 7%, transparent) 0px,
5495
+ color-mix(in srgb, #11340c 7%, transparent) 1px,
2621
5496
  transparent 1px,
2622
5497
  transparent 3px
2623
5498
  );
@@ -2628,11 +5503,11 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2628
5503
  /* GLASS - Frosted translucent surfaces */
2629
5504
  [data-color-theme="glass"] {
2630
5505
  --bg: #13111f;
2631
- --surface: rgba(34, 27, 52, 0.78);
2632
- --card: rgba(54, 44, 82, 0.55);
2633
- --card-hover: rgba(66, 56, 99, 0.65);
5506
+ --surface: color-mix(in srgb, #221b34 78%, transparent);
5507
+ --card: color-mix(in srgb, #362c52 55%, transparent);
5508
+ --card-hover: color-mix(in srgb, #423863 65%, transparent);
2634
5509
  --surface-hover: color-mix(in srgb, var(--surface) 90%, var(--text) 10%);
2635
- --border: rgba(255, 255, 255, 0.22);
5510
+ --border: color-mix(in srgb, #ffffff 22%, transparent);
2636
5511
  --text: #f2effa;
2637
5512
  --text-muted: #b8b0d2;
2638
5513
  --text-dim: #827aa1;
@@ -2668,12 +5543,12 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2668
5543
  --card-padding: 12px 14px;
2669
5544
  --modal-padding: var(--space-lg) var(--space-xl);
2670
5545
 
2671
- --shadow-sm: 0 8px 16px rgba(5, 2, 18, 0.24);
2672
- --shadow-md: 0 14px 30px rgba(6, 3, 24, 0.3);
2673
- --shadow-lg: 0 22px 42px rgba(8, 4, 30, 0.35);
2674
- --shadow-glow: 0 0 12px rgba(200, 107, 255, 0.26);
2675
- --focus-ring: 0 0 0 2px rgba(200, 107, 255, 0.2);
2676
- --focus-ring-strong: 0 0 0 2px rgba(200, 107, 255, 0.3);
5546
+ --shadow-sm: 0 8px 16px color-mix(in srgb, #050212 24%, transparent);
5547
+ --shadow-md: 0 14px 30px color-mix(in srgb, #060318 30%, transparent);
5548
+ --shadow-lg: 0 22px 42px color-mix(in srgb, #08041e 35%, transparent);
5549
+ --shadow-glow: 0 0 12px color-mix(in srgb, var(--todo) 26%, transparent);
5550
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent);
5551
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent);
2677
5552
  --shadow: var(--shadow-lg);
2678
5553
 
2679
5554
  --transition-instant: 0.08s ease;
@@ -2681,12 +5556,12 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2681
5556
  --transition-normal: 0.22s ease;
2682
5557
  --transition-slow: 0.34s ease;
2683
5558
 
2684
- --cta-bg: rgba(200, 107, 255, 0.32);
2685
- --cta-border: rgba(255, 255, 255, 0.38);
5559
+ --cta-bg: color-mix(in srgb, var(--accent) 32%, transparent);
5560
+ --cta-border: color-mix(in srgb, #ffffff 38%, transparent);
2686
5561
  --cta-text: #f8f5ff;
2687
- --cta-bg-hover: rgba(200, 107, 255, 0.46);
2688
- --cta-border-hover: rgba(255, 255, 255, 0.5);
2689
- --cta-glow: 0 0 12px rgba(200, 107, 255, 0.24);
5562
+ --cta-bg-hover: color-mix(in srgb, var(--accent) 46%, transparent);
5563
+ --cta-border-hover: color-mix(in srgb, #ffffff 50%, transparent);
5564
+ --cta-glow: 0 0 12px color-mix(in srgb, var(--accent) 24%, transparent);
2690
5565
  --logo-accent: var(--todo);
2691
5566
  --color-info: #ff7aa8;
2692
5567
  --accent: #c86bff;
@@ -2695,11 +5570,11 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2695
5570
 
2696
5571
  [data-color-theme="glass"][data-theme="light"] {
2697
5572
  --bg: #eceaf5;
2698
- --surface: rgba(255, 255, 255, 0.75);
2699
- --card: rgba(255, 255, 255, 0.6);
2700
- --card-hover: rgba(255, 255, 255, 0.75);
5573
+ --surface: color-mix(in srgb, #ffffff 75%, transparent);
5574
+ --card: color-mix(in srgb, #ffffff 60%, transparent);
5575
+ --card-hover: color-mix(in srgb, #ffffff 75%, transparent);
2701
5576
  --surface-hover: color-mix(in srgb, var(--surface) 92%, var(--text) 8%);
2702
- --border: rgba(114, 91, 156, 0.22);
5577
+ --border: color-mix(in srgb, #725b9c 22%, transparent);
2703
5578
  --text: #2f2448;
2704
5579
  --text-muted: #66597f;
2705
5580
  --text-dim: #948aa8;
@@ -2713,19 +5588,19 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2713
5588
  --color-success: #3e8f6b;
2714
5589
  --color-error: #c74b7a;
2715
5590
 
2716
- --shadow-sm: 0 8px 16px rgba(63, 44, 102, 0.08);
2717
- --shadow-md: 0 14px 30px rgba(63, 44, 102, 0.1);
2718
- --shadow-lg: 0 22px 42px rgba(63, 44, 102, 0.14);
2719
- --shadow-glow: 0 0 10px rgba(157, 64, 207, 0.2);
2720
- --focus-ring: 0 0 0 2px rgba(157, 64, 207, 0.15);
2721
- --focus-ring-strong: 0 0 0 2px rgba(157, 64, 207, 0.24);
5591
+ --shadow-sm: 0 8px 16px color-mix(in srgb, #3f2c66 8%, transparent);
5592
+ --shadow-md: 0 14px 30px color-mix(in srgb, #3f2c66 10%, transparent);
5593
+ --shadow-lg: 0 22px 42px color-mix(in srgb, #3f2c66 14%, transparent);
5594
+ --shadow-glow: 0 0 10px color-mix(in srgb, var(--todo) 20%, transparent);
5595
+ --focus-ring: 0 0 0 2px color-mix(in srgb, var(--accent) 15%, transparent);
5596
+ --focus-ring-strong: 0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent);
2722
5597
 
2723
- --cta-bg: rgba(157, 64, 207, 0.24);
2724
- --cta-border: rgba(157, 64, 207, 0.38);
5598
+ --cta-bg: color-mix(in srgb, var(--accent) 24%, transparent);
5599
+ --cta-border: color-mix(in srgb, var(--accent) 38%, transparent);
2725
5600
  --cta-text: #2f2448;
2726
- --cta-bg-hover: rgba(157, 64, 207, 0.34);
2727
- --cta-border-hover: rgba(157, 64, 207, 0.48);
2728
- --cta-glow: 0 0 10px rgba(157, 64, 207, 0.22);
5601
+ --cta-bg-hover: color-mix(in srgb, var(--accent) 34%, transparent);
5602
+ --cta-border-hover: color-mix(in srgb, var(--accent) 48%, transparent);
5603
+ --cta-glow: 0 0 10px color-mix(in srgb, var(--accent) 22%, transparent);
2729
5604
  --logo-accent: var(--todo);
2730
5605
  --color-info: #c74b7a;
2731
5606
  --accent: #9d40cf;
@@ -2736,43 +5611,48 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2736
5611
  [data-color-theme="glass"] .column {
2737
5612
  backdrop-filter: blur(12px);
2738
5613
  -webkit-backdrop-filter: blur(12px);
2739
- background: rgba(255, 255, 255, 0.08);
2740
- border-color: rgba(255, 255, 255, 0.24);
5614
+ background: color-mix(in srgb, #ffffff 8%, transparent);
5615
+ border-color: color-mix(in srgb, #ffffff 24%, transparent);
2741
5616
  }
2742
5617
 
2743
5618
  [data-color-theme="glass"][data-theme="light"] .card,
2744
5619
  [data-color-theme="glass"][data-theme="light"] .column {
2745
- background: rgba(255, 255, 255, 0.6);
2746
- border-color: rgba(114, 91, 156, 0.24);
5620
+ background: color-mix(in srgb, #ffffff 60%, transparent);
5621
+ border-color: color-mix(in srgb, #725b9c 24%, transparent);
2747
5622
  }
2748
5623
 
2749
5624
  [data-color-theme="glass"] .btn {
2750
5625
  backdrop-filter: blur(10px);
2751
5626
  -webkit-backdrop-filter: blur(10px);
2752
- border-color: rgba(255, 255, 255, 0.34);
2753
- background: rgba(255, 255, 255, 0.1);
5627
+ border-color: color-mix(in srgb, #ffffff 34%, transparent);
5628
+ background: color-mix(in srgb, #ffffff 10%, transparent);
2754
5629
  }
2755
5630
 
2756
5631
  [data-color-theme="glass"] .btn-primary,
2757
5632
  [data-color-theme="glass"] .btn-task-create {
2758
- background: linear-gradient(135deg, rgba(200, 107, 255, 0.35), rgba(255, 122, 168, 0.3));
2759
- border-color: rgba(255, 255, 255, 0.42);
5633
+ background: linear-gradient(135deg, color-mix(in srgb, #c86bff 35%, transparent), color-mix(in srgb, #ff7aa8 30%, transparent));
5634
+ border-color: color-mix(in srgb, #ffffff 42%, transparent);
2760
5635
  }
2761
5636
 
2762
5637
  [data-color-theme="glass"] .btn-primary:hover,
2763
5638
  [data-color-theme="glass"] .btn-task-create:hover {
2764
- background: linear-gradient(135deg, rgba(200, 107, 255, 0.5), rgba(255, 122, 168, 0.42));
2765
- box-shadow: 0 12px 24px rgba(24, 14, 44, 0.28);
5639
+ background: linear-gradient(135deg, color-mix(in srgb, #c86bff 50%, transparent), color-mix(in srgb, #ff7aa8 42%, transparent));
5640
+ box-shadow: 0 12px 24px color-mix(in srgb, #180e2c 28%, transparent);
2766
5641
  }
2767
5642
 
2768
5643
  [data-color-theme="glass"][data-theme="light"] .btn {
2769
- background: rgba(255, 255, 255, 0.52);
2770
- border-color: rgba(114, 91, 156, 0.28);
5644
+ background: color-mix(in srgb, #ffffff 52%, transparent);
5645
+ border-color: color-mix(in srgb, #725b9c 28%, transparent);
2771
5646
  }
2772
5647
 
2773
5648
  [data-color-theme="glass"] .modal-overlay {
2774
- backdrop-filter: blur(14px);
2775
- -webkit-backdrop-filter: blur(14px);
5649
+ /*
5650
+ FNXC:ModalChrome 2026-06-23-21:36:
5651
+ Even glass-style themes should keep modal overlays non-dimming/non-blurring; modal panels provide depth with shadows and their own translucent surfaces.
5652
+ */
5653
+ background: transparent;
5654
+ backdrop-filter: none;
5655
+ -webkit-backdrop-filter: none;
2776
5656
  }
2777
5657
 
2778
5658
  /* HORIZON - Warm sunset-inspired palette */
@@ -2795,7 +5675,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2795
5675
  --done: #7a7d91;
2796
5676
  --color-success: #29d398;
2797
5677
  --color-error: #e8646a;
2798
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
5678
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
2799
5679
  --shadow: var(--shadow-lg);
2800
5680
 
2801
5681
  --cta-bg: #e8646a;
@@ -2803,7 +5683,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2803
5683
  --cta-text: #1c1e26;
2804
5684
  --cta-bg-hover: #f08c42;
2805
5685
  --cta-border-hover: #f8c967;
2806
- --cta-glow: 0 0 8px rgba(233, 99, 112, 0.3);
5686
+ --cta-glow: 0 0 8px color-mix(in srgb, #e96370 30%, transparent);
2807
5687
  --logo-accent: var(--todo);
2808
5688
  --color-info: #f8c967;
2809
5689
  --accent: #e59371;
@@ -2829,7 +5709,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2829
5709
  --done: #8a7d78;
2830
5710
  --color-success: #29a87c;
2831
5711
  --color-error: #d84050;
2832
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
5712
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
2833
5713
  --shadow: var(--shadow-lg);
2834
5714
 
2835
5715
  --cta-bg: #e8646a;
@@ -2837,7 +5717,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2837
5717
  --cta-text: #fff;
2838
5718
  --cta-bg-hover: #f08c42;
2839
5719
  --cta-border-hover: #f8c967;
2840
- --cta-glow: 0 0 8px rgba(232, 100, 106, 0.3);
5720
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent);
2841
5721
  --logo-accent: var(--todo);
2842
5722
  --color-info: #d88030;
2843
5723
  --accent: #e8646a;
@@ -2864,7 +5744,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2864
5744
  --done: #5a5850;
2865
5745
  --color-success: #7cb586;
2866
5746
  --color-error: #cb4b16;
2867
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
5747
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
2868
5748
  --shadow: var(--shadow-lg);
2869
5749
 
2870
5750
  --cta-bg: #4c9a91;
@@ -2872,7 +5752,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2872
5752
  --cta-text: #0d1210;
2873
5753
  --cta-bg-hover: #7cb586;
2874
5754
  --cta-border-hover: #9cd4a6;
2875
- --cta-glow: 0 0 8px rgba(76, 154, 145, 0.3);
5755
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent);
2876
5756
  --logo-accent: var(--todo);
2877
5757
  --color-info: #dca561;
2878
5758
  --accent: #4c9a91;
@@ -2898,7 +5778,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2898
5778
  --done: #8a8880;
2899
5779
  --color-success: #5a9a68;
2900
5780
  --color-error: #b04820;
2901
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
5781
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
2902
5782
  --shadow: var(--shadow-lg);
2903
5783
 
2904
5784
  --cta-bg: #3a8578;
@@ -2906,7 +5786,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2906
5786
  --cta-text: #fff;
2907
5787
  --cta-bg-hover: #5a9a68;
2908
5788
  --cta-border-hover: #7aba88;
2909
- --cta-glow: 0 0 8px rgba(90, 154, 104, 0.3);
5789
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
2910
5790
  --logo-accent: var(--todo);
2911
5791
  --color-info: #c08040;
2912
5792
  --accent: #3a8578;
@@ -2933,7 +5813,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2933
5813
  --done: #6a60a0;
2934
5814
  --color-success: #00e5ff;
2935
5815
  --color-error: #ff2d95;
2936
- --shadow-lg: 0 4px 24px rgba(181, 55, 242, 0.4);
5816
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--accent) 40%, transparent);
2937
5817
  --shadow: var(--shadow-lg);
2938
5818
 
2939
5819
  --cta-bg: #b537f2;
@@ -2941,7 +5821,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2941
5821
  --cta-text: #fff;
2942
5822
  --cta-bg-hover: #ff2d95;
2943
5823
  --cta-border-hover: #ff6bbf;
2944
- --cta-glow: 0 0 8px rgba(255, 45, 149, 0.3);
5824
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
2945
5825
  --logo-accent: var(--todo);
2946
5826
  --color-info: #00e5ff;
2947
5827
  --accent: #b537f2;
@@ -2967,7 +5847,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2967
5847
  --done: #8080a0;
2968
5848
  --color-success: #00a8b8;
2969
5849
  --color-error: #d02080;
2970
- --shadow-lg: 0 4px 24px rgba(144, 48, 200, 0.15);
5850
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--accent) 15%, transparent);
2971
5851
  --shadow: var(--shadow-lg);
2972
5852
 
2973
5853
  --cta-bg: #9030c8;
@@ -2975,7 +5855,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
2975
5855
  --cta-text: #fff;
2976
5856
  --cta-bg-hover: #d02080;
2977
5857
  --cta-border-hover: #e04090;
2978
- --cta-glow: 0 0 8px rgba(208, 32, 128, 0.3);
5858
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
2979
5859
  --logo-accent: var(--todo);
2980
5860
  --color-info: #00a8b8;
2981
5861
  --accent: #9030c8;
@@ -3002,7 +5882,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3002
5882
  --done: #707080;
3003
5883
  --color-success: #5af78e;
3004
5884
  --color-error: #ff5c57;
3005
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
5885
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
3006
5886
  --shadow: var(--shadow-lg);
3007
5887
 
3008
5888
  --cta-bg: #50fa7b;
@@ -3010,7 +5890,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3010
5890
  --cta-text: #282a36;
3011
5891
  --cta-bg-hover: #5af78e;
3012
5892
  --cta-border-hover: #8afaaa;
3013
- --cta-glow: 0 0 8px rgba(90, 247, 142, 0.3);
5893
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
3014
5894
  --logo-accent: var(--todo);
3015
5895
  --color-info: #f3f99d;
3016
5896
  --accent: #ff6f91;
@@ -3036,7 +5916,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3036
5916
  --done: #808088;
3037
5917
  --color-success: #30a050;
3038
5918
  --color-error: #d04040;
3039
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
5919
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
3040
5920
  --shadow: var(--shadow-lg);
3041
5921
 
3042
5922
  --cta-bg: #28a048;
@@ -3044,7 +5924,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3044
5924
  --cta-text: #fff;
3045
5925
  --cta-bg-hover: #30a050;
3046
5926
  --cta-border-hover: #50c070;
3047
- --cta-glow: 0 0 8px rgba(48, 160, 80, 0.3);
5927
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
3048
5928
  --logo-accent: var(--todo);
3049
5929
  --color-info: #a0a030;
3050
5930
  --accent: #d06070;
@@ -3071,7 +5951,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3071
5951
  --done: #707488;
3072
5952
  --color-success: #c3e88d;
3073
5953
  --color-error: #f07178;
3074
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.4);
5954
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 40%, transparent);
3075
5955
  --shadow: var(--shadow-lg);
3076
5956
 
3077
5957
  --cta-bg: #9a7ee8;
@@ -3079,7 +5959,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3079
5959
  --cta-text: #1e2030;
3080
5960
  --cta-bg-hover: #c792ea;
3081
5961
  --cta-border-hover: #d8b0ff;
3082
- --cta-glow: 0 0 8px rgba(199, 146, 234, 0.3);
5962
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3083
5963
  --logo-accent: var(--todo);
3084
5964
  --color-info: #ffcb6b;
3085
5965
  --accent: #c792ea;
@@ -3105,7 +5985,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3105
5985
  --done: #8080a0;
3106
5986
  --color-success: #60a050;
3107
5987
  --color-error: #c04050;
3108
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
5988
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
3109
5989
  --shadow: var(--shadow-lg);
3110
5990
 
3111
5991
  --cta-bg: #8058c8;
@@ -3113,7 +5993,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3113
5993
  --cta-text: #fff;
3114
5994
  --cta-bg-hover: #9060d8;
3115
5995
  --cta-border-hover: #a080e8;
3116
- --cta-glow: 0 0 8px rgba(144, 96, 216, 0.3);
5996
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3117
5997
  --logo-accent: var(--todo);
3118
5998
  --color-info: #d0a030;
3119
5999
  --accent: #9060d8;
@@ -3140,7 +6020,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3140
6020
  --done: #706050;
3141
6021
  --color-success: #8f6552;
3142
6022
  --color-error: #d47a6a;
3143
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
6023
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
3144
6024
  --shadow: var(--shadow-lg);
3145
6025
 
3146
6026
  --cta-bg: #c17d56;
@@ -3148,7 +6028,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3148
6028
  --cta-text: #231813;
3149
6029
  --cta-bg-hover: #d4a574;
3150
6030
  --cta-border-hover: #e4b884;
3151
- --cta-glow: 0 0 8px rgba(212, 165, 116, 0.3);
6031
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3152
6032
  --logo-accent: var(--todo);
3153
6033
  --color-info: #8f6552;
3154
6034
  --accent: #d4a574;
@@ -3174,7 +6054,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3174
6054
  --done: #8a7a68;
3175
6055
  --color-success: #706050;
3176
6056
  --color-error: #b06050;
3177
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
6057
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
3178
6058
  --shadow: var(--shadow-lg);
3179
6059
 
3180
6060
  --cta-bg: #906040;
@@ -3182,7 +6062,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3182
6062
  --cta-text: #fff;
3183
6063
  --cta-bg-hover: #a07050;
3184
6064
  --cta-border-hover: #b08060;
3185
- --cta-glow: 0 0 8px rgba(160, 112, 80, 0.3);
6065
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3186
6066
  --logo-accent: var(--todo);
3187
6067
  --color-info: #806040;
3188
6068
  --accent: #a07050;
@@ -3209,7 +6089,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3209
6089
  --done: #706050;
3210
6090
  --color-success: #d4874d;
3211
6091
  --color-error: #c44030;
3212
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.5);
6092
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 50%, transparent);
3213
6093
  --shadow: var(--shadow-lg);
3214
6094
 
3215
6095
  --cta-bg: #c1440e;
@@ -3217,7 +6097,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3217
6097
  --cta-text: #fff;
3218
6098
  --cta-bg-hover: #e77d3d;
3219
6099
  --cta-border-hover: #f7a060;
3220
- --cta-glow: 0 0 8px rgba(193, 68, 14, 0.3);
6100
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent);
3221
6101
  --logo-accent: var(--todo);
3222
6102
  --color-info: #d4874d;
3223
6103
  --accent: #c1440e;
@@ -3243,7 +6123,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3243
6123
  --done: #8a7a68;
3244
6124
  --color-success: #b07040;
3245
6125
  --color-error: #a03020;
3246
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
6126
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
3247
6127
  --shadow: var(--shadow-lg);
3248
6128
 
3249
6129
  --cta-bg: #a03010;
@@ -3251,7 +6131,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3251
6131
  --cta-text: #fff;
3252
6132
  --cta-bg-hover: #c06030;
3253
6133
  --cta-border-hover: #d08050;
3254
- --cta-glow: 0 0 8px rgba(160, 48, 16, 0.3);
6134
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-bg) 30%, transparent);
3255
6135
  --logo-accent: var(--todo);
3256
6136
  --color-info: #b07040;
3257
6137
  --accent: #a03010;
@@ -3278,7 +6158,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3278
6158
  --done: #5d5f78;
3279
6159
  --color-success: #5de4c7;
3280
6160
  --color-error: #d0679d;
3281
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.4);
6161
+ --shadow-lg: 0 4px 24px color-mix(in srgb, #000000 40%, transparent);
3282
6162
  --shadow: var(--shadow-lg);
3283
6163
 
3284
6164
  --cta-bg: #5de4c7;
@@ -3286,7 +6166,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3286
6166
  --cta-text: #14151f;
3287
6167
  --cta-bg-hover: #89ddff;
3288
6168
  --cta-border-hover: #aae8ff;
3289
- --cta-glow: 0 0 8px rgba(93, 228, 199, 0.3);
6169
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
3290
6170
  --logo-accent: var(--todo);
3291
6171
  --color-info: #b4bcff;
3292
6172
  --accent: #89ddff;
@@ -3312,7 +6192,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3312
6192
  --done: #8080a0;
3313
6193
  --color-success: #30a090;
3314
6194
  --color-error: #c04080;
3315
- --shadow-lg: 0 4px 24px rgba(0, 0, 0, 0.1);
6195
+ --shadow-lg: 0 4px 24px color-mix(in srgb, var(--text) 10%, transparent);
3316
6196
  --shadow: var(--shadow-lg);
3317
6197
 
3318
6198
  --cta-bg: #30a090;
@@ -3320,7 +6200,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3320
6200
  --cta-text: #fff;
3321
6201
  --cta-bg-hover: #4090c0;
3322
6202
  --cta-border-hover: #60a8d8;
3323
- --cta-glow: 0 0 8px rgba(48, 160, 144, 0.3);
6203
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--color-success) 30%, transparent);
3324
6204
  --logo-accent: var(--todo);
3325
6205
  --color-info: #8070c0;
3326
6206
  --accent: #4090c0;
@@ -3353,7 +6233,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3353
6233
  --cta-text: #fff;
3354
6234
  --cta-bg-hover: #c05828;
3355
6235
  --cta-border-hover: #d87038;
3356
- --cta-glow: 0 0 8px rgba(199, 91, 42, 0.3);
6236
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--accent) 30%, transparent);
3357
6237
  --logo-accent: var(--todo);
3358
6238
  --color-info: #58a8d0;
3359
6239
  --accent: #c75b2a;
@@ -3385,7 +6265,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3385
6265
  --cta-text: #fff;
3386
6266
  --cta-bg-hover: #a04820;
3387
6267
  --cta-border-hover: #b85a28;
3388
- --cta-glow: 0 0 8px rgba(160, 72, 32, 0.3);
6268
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3389
6269
  --logo-accent: var(--todo);
3390
6270
  --color-info: #2878a0;
3391
6271
  --accent: #a04520;
@@ -3418,7 +6298,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3418
6298
  --cta-text: #fff;
3419
6299
  --cta-bg-hover: #c87840;
3420
6300
  --cta-border-hover: #d88a50;
3421
- --cta-glow: 0 0 8px rgba(212, 133, 74, 0.3);
6301
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--accent) 30%, transparent);
3422
6302
  --logo-accent: var(--todo);
3423
6303
  --color-info: #60a8d8;
3424
6304
  --accent: #d4854a;
@@ -3450,7 +6330,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3450
6330
  --cta-text: #fff;
3451
6331
  --cta-bg-hover: #906828;
3452
6332
  --cta-border-hover: #a87830;
3453
- --cta-glow: 0 0 8px rgba(144, 84, 32, 0.3);
6333
+ --cta-glow: 0 0 8px color-mix(in srgb, #905420 30%, transparent);
3454
6334
  --logo-accent: var(--todo);
3455
6335
  --color-info: #306090;
3456
6336
  --accent: #b06830;
@@ -3483,7 +6363,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3483
6363
  --cta-text: #1a1008;
3484
6364
  --cta-bg-hover: #e08a10;
3485
6365
  --cta-border-hover: #f09a18;
3486
- --cta-glow: 0 0 12px rgba(240, 154, 24, 0.4);
6366
+ --cta-glow: 0 0 12px color-mix(in srgb, var(--cta-border-hover) 40%, transparent);
3487
6367
  --logo-accent: var(--todo);
3488
6368
  --color-info: #60b0e0;
3489
6369
  --accent: #f0960a;
@@ -3515,7 +6395,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3515
6395
  --cta-text: #fff;
3516
6396
  --cta-bg-hover: #b07810;
3517
6397
  --cta-border-hover: #c08818;
3518
- --cta-glow: 0 0 8px rgba(192, 120, 16, 0.3);
6398
+ --cta-glow: 0 0 8px color-mix(in srgb, #c07810 30%, transparent);
3519
6399
  --logo-accent: var(--todo);
3520
6400
  --color-info: #3070a0;
3521
6401
  --accent: #c07808;
@@ -3548,7 +6428,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3548
6428
  --cta-text: #fff;
3549
6429
  --cta-bg-hover: #5a7898;
3550
6430
  --cta-border-hover: #6a8aac;
3551
- --cta-glow: 0 0 8px rgba(90, 122, 160, 0.3);
6431
+ --cta-glow: 0 0 8px color-mix(in srgb, #5a7aa0 30%, transparent);
3552
6432
  --logo-accent: var(--todo);
3553
6433
  --color-info: #6090c0;
3554
6434
  --accent: #5a8abf;
@@ -3580,7 +6460,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3580
6460
  --cta-text: #fff;
3581
6461
  --cta-bg-hover: #4070a0;
3582
6462
  --cta-border-hover: #5080b0;
3583
- --cta-glow: 0 0 8px rgba(64, 112, 160, 0.3);
6463
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3584
6464
  --logo-accent: var(--todo);
3585
6465
  --color-info: #306090;
3586
6466
  --accent: #3a6a9f;
@@ -3613,7 +6493,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3613
6493
  --cta-text: #fff;
3614
6494
  --cta-bg-hover: #b08850;
3615
6495
  --cta-border-hover: #d0a070;
3616
- --cta-glow: 0 0 8px rgba(192, 144, 96, 0.3);
6496
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3617
6497
  --logo-accent: var(--todo);
3618
6498
  --color-info: #90a8c0;
3619
6499
  --accent: #c4905a;
@@ -3645,7 +6525,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3645
6525
  --cta-text: #fff;
3646
6526
  --cta-bg-hover: #9a7840;
3647
6527
  --cta-border-hover: #b09060;
3648
- --cta-glow: 0 0 8px rgba(160, 128, 80, 0.3);
6528
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3649
6529
  --logo-accent: var(--todo);
3650
6530
  --color-info: #5888a8;
3651
6531
  --accent: #a07040;
@@ -3678,7 +6558,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3678
6558
  --cta-text: #fff;
3679
6559
  --cta-bg-hover: #409898;
3680
6560
  --cta-border-hover: #50b8b0;
3681
- --cta-glow: 0 0 8px rgba(64, 168, 160, 0.3);
6561
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3682
6562
  --logo-accent: var(--todo);
3683
6563
  --color-info: #50a8c0;
3684
6564
  --accent: #40c8b0;
@@ -3710,7 +6590,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3710
6590
  --cta-text: #fff;
3711
6591
  --cta-bg-hover: #308070;
3712
6592
  --cta-border-hover: #40a090;
3713
- --cta-glow: 0 0 8px rgba(56, 144, 128, 0.3);
6593
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3714
6594
  --logo-accent: var(--todo);
3715
6595
  --color-info: #2880a0;
3716
6596
  --accent: #2a9080;
@@ -3743,7 +6623,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3743
6623
  --cta-text: #fff;
3744
6624
  --cta-bg-hover: #5080b8;
3745
6625
  --cta-border-hover: #6898d0;
3746
- --cta-glow: 0 0 8px rgba(88, 136, 192, 0.3);
6626
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3747
6627
  --logo-accent: var(--todo);
3748
6628
  --color-info: #60a0c8;
3749
6629
  --accent: #7ab8e8;
@@ -3775,7 +6655,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3775
6655
  --cta-text: #fff;
3776
6656
  --cta-bg-hover: #3080b0;
3777
6657
  --cta-border-hover: #4898c8;
3778
- --cta-glow: 0 0 8px rgba(56, 136, 184, 0.3);
6658
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3779
6659
  --logo-accent: var(--todo);
3780
6660
  --color-info: #2080a8;
3781
6661
  --accent: #4a90c0;
@@ -3808,7 +6688,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3808
6688
  --cta-text: #fff;
3809
6689
  --cta-bg-hover: #9070b0;
3810
6690
  --cta-border-hover: #a888c8;
3811
- --cta-glow: 0 0 8px rgba(152, 120, 184, 0.3);
6691
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3812
6692
  --logo-accent: var(--todo);
3813
6693
  --color-info: #9090c0;
3814
6694
  --accent: #b890d8;
@@ -3840,7 +6720,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3840
6720
  --cta-text: #fff;
3841
6721
  --cta-bg-hover: #7860a0;
3842
6722
  --cta-border-hover: #9078b8;
3843
- --cta-glow: 0 0 8px rgba(128, 104, 168, 0.3);
6723
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3844
6724
  --logo-accent: var(--todo);
3845
6725
  --color-info: #6868a0;
3846
6726
  --accent: #8060a8;
@@ -3873,7 +6753,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3873
6753
  --cta-text: #fff;
3874
6754
  --cta-bg-hover: #b058a8;
3875
6755
  --cta-border-hover: #d070c8;
3876
- --cta-glow: 0 0 8px rgba(192, 96, 184, 0.3);
6756
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3877
6757
  --logo-accent: var(--todo);
3878
6758
  --color-info: #b090d0;
3879
6759
  --accent: #e870c0;
@@ -3905,7 +6785,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3905
6785
  --cta-text: #fff;
3906
6786
  --cta-bg-hover: #9040b0;
3907
6787
  --cta-border-hover: #a858c8;
3908
- --cta-glow: 0 0 8px rgba(152, 72, 184, 0.3);
6788
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3909
6789
  --logo-accent: var(--todo);
3910
6790
  --color-info: #7878c0;
3911
6791
  --accent: #c040a0;
@@ -3938,7 +6818,7 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3938
6818
  --cta-text: #fff;
3939
6819
  --cta-bg-hover: #a08858;
3940
6820
  --cta-border-hover: #b8a078;
3941
- --cta-glow: 0 0 8px rgba(168, 144, 104, 0.3);
6821
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3942
6822
  --logo-accent: var(--todo);
3943
6823
  --color-info: #a8a0b0;
3944
6824
  --accent: #c8a868;
@@ -3970,10 +6850,9 @@ body[data-color-theme="terminal"][data-theme="light"]::before {
3970
6850
  --cta-text: #fff;
3971
6851
  --cta-bg-hover: #887038;
3972
6852
  --cta-border-hover: #a08848;
3973
- --cta-glow: 0 0 8px rgba(144, 120, 64, 0.3);
6853
+ --cta-glow: 0 0 8px color-mix(in srgb, var(--cta-border) 30%, transparent);
3974
6854
  --logo-accent: var(--todo);
3975
6855
  --color-info: #888098;
3976
6856
  --accent: #9a8050;
3977
6857
  --accent-text: #fff;
3978
6858
  }
3979
-