@cyberskill/design 2.1.0 → 2.3.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 (333) hide show
  1. package/DESIGN.md +70 -3
  2. package/README.md +3 -3
  3. package/VERSION +1 -1
  4. package/_ds_bundle.js +2 -2
  5. package/_ds_bundle.js.map +1 -1
  6. package/_ds_manifest.json +32 -32
  7. package/_esm/cs.mjs +2 -2
  8. package/base/collections.css +3 -3
  9. package/base/components.css +10 -5
  10. package/base/controls.css +8 -8
  11. package/base/data.css +4 -2
  12. package/base/feedback.css +5 -3
  13. package/base/forms.css +2 -2
  14. package/base/glass.css +5 -2
  15. package/base/interaction.css +1 -1
  16. package/base/navigation.css +4 -4
  17. package/base/responsive.css +4 -0
  18. package/base/shell.css +9 -9
  19. package/base/typography.css +4 -0
  20. package/components/api-discovery.json +1 -1
  21. package/components/api-index.json +14 -14
  22. package/components/lifecycle.json +13 -13
  23. package/components/prompt-api.json +2 -2
  24. package/components/release-compatibility.json +2 -28
  25. package/components/scenarios.json +321 -28
  26. package/components/specifications.json +7546 -3515
  27. package/components/static-html-reference.json +19 -19
  28. package/dist/esm/build.json +1 -1
  29. package/dist/styles.min.css +1 -1
  30. package/docs/component-scenarios.md +1 -1
  31. package/docs/consuming.md +1 -1
  32. package/docs/contrast-report.md +196 -1
  33. package/docs/conventions.md +1 -1
  34. package/docs/manual-at-matrix.md +3 -3
  35. package/docs/reference-catalog.json +23 -23
  36. package/docs/release-notes.md +14 -1
  37. package/docs/releasing.md +4 -2
  38. package/docs/static-html-reference.md +18 -18
  39. package/docs/template-inventory.json +1 -1
  40. package/docs/vi/component-scenarios.md +1 -1
  41. package/docs/vi/consuming.md +1 -1
  42. package/docs/vi/contrast-report.md +196 -1
  43. package/docs/vi/conventions.md +1 -1
  44. package/docs/vi/decisions/component-specification-evidence.md +1 -1
  45. package/docs/vi/entrypoints/DESIGN.md +70 -3
  46. package/docs/vi/entrypoints/README.md +3 -3
  47. package/docs/vi/manual-at-matrix.md +3 -3
  48. package/docs/vi/release-notes.md +14 -1
  49. package/docs/vi/releasing.md +4 -2
  50. package/docs/vi/static-html-reference.md +18 -18
  51. package/docs/viewer.html +76 -25
  52. package/guidance/agent-contract.json +2 -2
  53. package/guidelines/atomic-view.html +4 -3
  54. package/guidelines/elements-variants.html +14 -14
  55. package/guidelines/guideline-language.js +1 -1
  56. package/package.json +2 -1
  57. package/styles/components/manifest.json +148 -137
  58. package/styles.layered.css +365 -353
  59. package/styles.layered.provenance.json +15 -15
  60. package/tokens/declarations.json +423 -375
  61. package/tokens/element-seeds.json +41 -39
  62. package/tokens/elements.css +333 -333
  63. package/tokens/modes/dark__default__comfortable__high.dtcg.json +1 -1
  64. package/tokens/modes/dark__default__comfortable__standard.dtcg.json +1 -1
  65. package/tokens/modes/dark__default__compact__high.dtcg.json +1 -1
  66. package/tokens/modes/dark__default__compact__standard.dtcg.json +1 -1
  67. package/tokens/modes/dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  68. package/tokens/modes/dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  69. package/tokens/modes/dark__hoa-lava__compact__high.dtcg.json +1 -1
  70. package/tokens/modes/dark__hoa-lava__compact__standard.dtcg.json +1 -1
  71. package/tokens/modes/dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  72. package/tokens/modes/dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  73. package/tokens/modes/dark__hoa-plasma__compact__high.dtcg.json +1 -1
  74. package/tokens/modes/dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  75. package/tokens/modes/dark__hoa__comfortable__high.dtcg.json +1 -1
  76. package/tokens/modes/dark__hoa__comfortable__standard.dtcg.json +1 -1
  77. package/tokens/modes/dark__hoa__compact__high.dtcg.json +1 -1
  78. package/tokens/modes/dark__hoa__compact__standard.dtcg.json +1 -1
  79. package/tokens/modes/dark__kim-steel__comfortable__high.dtcg.json +1 -1
  80. package/tokens/modes/dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  81. package/tokens/modes/dark__kim-steel__compact__high.dtcg.json +1 -1
  82. package/tokens/modes/dark__kim-steel__compact__standard.dtcg.json +1 -1
  83. package/tokens/modes/dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  84. package/tokens/modes/dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  85. package/tokens/modes/dark__kim-titanium__compact__high.dtcg.json +1 -1
  86. package/tokens/modes/dark__kim-titanium__compact__standard.dtcg.json +1 -1
  87. package/tokens/modes/dark__kim__comfortable__high.dtcg.json +1 -1
  88. package/tokens/modes/dark__kim__comfortable__standard.dtcg.json +1 -1
  89. package/tokens/modes/dark__kim__compact__high.dtcg.json +1 -1
  90. package/tokens/modes/dark__kim__compact__standard.dtcg.json +1 -1
  91. package/tokens/modes/dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  92. package/tokens/modes/dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  93. package/tokens/modes/dark__moc-bamboo__compact__high.dtcg.json +1 -1
  94. package/tokens/modes/dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  95. package/tokens/modes/dark__moc-forest__comfortable__high.dtcg.json +1 -1
  96. package/tokens/modes/dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  97. package/tokens/modes/dark__moc-forest__compact__high.dtcg.json +1 -1
  98. package/tokens/modes/dark__moc-forest__compact__standard.dtcg.json +1 -1
  99. package/tokens/modes/dark__moc__comfortable__high.dtcg.json +1 -1
  100. package/tokens/modes/dark__moc__comfortable__standard.dtcg.json +1 -1
  101. package/tokens/modes/dark__moc__compact__high.dtcg.json +1 -1
  102. package/tokens/modes/dark__moc__compact__standard.dtcg.json +1 -1
  103. package/tokens/modes/dark__tho-clay__comfortable__high.dtcg.json +1 -1
  104. package/tokens/modes/dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  105. package/tokens/modes/dark__tho-clay__compact__high.dtcg.json +1 -1
  106. package/tokens/modes/dark__tho-clay__compact__standard.dtcg.json +1 -1
  107. package/tokens/modes/dark__tho-sand__comfortable__high.dtcg.json +1 -1
  108. package/tokens/modes/dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  109. package/tokens/modes/dark__tho-sand__compact__high.dtcg.json +1 -1
  110. package/tokens/modes/dark__tho-sand__compact__standard.dtcg.json +1 -1
  111. package/tokens/modes/dark__tho__comfortable__high.dtcg.json +1 -1
  112. package/tokens/modes/dark__tho__comfortable__standard.dtcg.json +1 -1
  113. package/tokens/modes/dark__tho__compact__high.dtcg.json +1 -1
  114. package/tokens/modes/dark__tho__compact__standard.dtcg.json +1 -1
  115. package/tokens/modes/dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  116. package/tokens/modes/dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  117. package/tokens/modes/dark__thuy-mist__compact__high.dtcg.json +1 -1
  118. package/tokens/modes/dark__thuy-mist__compact__standard.dtcg.json +1 -1
  119. package/tokens/modes/dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  120. package/tokens/modes/dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  121. package/tokens/modes/dark__thuy-ocean__compact__high.dtcg.json +1 -1
  122. package/tokens/modes/dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  123. package/tokens/modes/dark__thuy__comfortable__high.dtcg.json +1 -1
  124. package/tokens/modes/dark__thuy__comfortable__standard.dtcg.json +1 -1
  125. package/tokens/modes/dark__thuy__compact__high.dtcg.json +1 -1
  126. package/tokens/modes/dark__thuy__compact__standard.dtcg.json +1 -1
  127. package/tokens/modes/index.json +1548 -1548
  128. package/tokens/modes/light__default__comfortable__high.dtcg.json +1 -1
  129. package/tokens/modes/light__default__comfortable__standard.dtcg.json +1 -1
  130. package/tokens/modes/light__default__compact__high.dtcg.json +1 -1
  131. package/tokens/modes/light__default__compact__standard.dtcg.json +1 -1
  132. package/tokens/modes/light__hoa-lava__comfortable__high.dtcg.json +1 -1
  133. package/tokens/modes/light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  134. package/tokens/modes/light__hoa-lava__compact__high.dtcg.json +1 -1
  135. package/tokens/modes/light__hoa-lava__compact__standard.dtcg.json +1 -1
  136. package/tokens/modes/light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  137. package/tokens/modes/light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  138. package/tokens/modes/light__hoa-plasma__compact__high.dtcg.json +1 -1
  139. package/tokens/modes/light__hoa-plasma__compact__standard.dtcg.json +1 -1
  140. package/tokens/modes/light__hoa__comfortable__high.dtcg.json +1 -1
  141. package/tokens/modes/light__hoa__comfortable__standard.dtcg.json +1 -1
  142. package/tokens/modes/light__hoa__compact__high.dtcg.json +1 -1
  143. package/tokens/modes/light__hoa__compact__standard.dtcg.json +1 -1
  144. package/tokens/modes/light__kim-steel__comfortable__high.dtcg.json +1 -1
  145. package/tokens/modes/light__kim-steel__comfortable__standard.dtcg.json +1 -1
  146. package/tokens/modes/light__kim-steel__compact__high.dtcg.json +1 -1
  147. package/tokens/modes/light__kim-steel__compact__standard.dtcg.json +1 -1
  148. package/tokens/modes/light__kim-titanium__comfortable__high.dtcg.json +1 -1
  149. package/tokens/modes/light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  150. package/tokens/modes/light__kim-titanium__compact__high.dtcg.json +1 -1
  151. package/tokens/modes/light__kim-titanium__compact__standard.dtcg.json +1 -1
  152. package/tokens/modes/light__kim__comfortable__high.dtcg.json +1 -1
  153. package/tokens/modes/light__kim__comfortable__standard.dtcg.json +1 -1
  154. package/tokens/modes/light__kim__compact__high.dtcg.json +1 -1
  155. package/tokens/modes/light__kim__compact__standard.dtcg.json +1 -1
  156. package/tokens/modes/light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  157. package/tokens/modes/light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  158. package/tokens/modes/light__moc-bamboo__compact__high.dtcg.json +1 -1
  159. package/tokens/modes/light__moc-bamboo__compact__standard.dtcg.json +1 -1
  160. package/tokens/modes/light__moc-forest__comfortable__high.dtcg.json +1 -1
  161. package/tokens/modes/light__moc-forest__comfortable__standard.dtcg.json +1 -1
  162. package/tokens/modes/light__moc-forest__compact__high.dtcg.json +1 -1
  163. package/tokens/modes/light__moc-forest__compact__standard.dtcg.json +1 -1
  164. package/tokens/modes/light__moc__comfortable__high.dtcg.json +1 -1
  165. package/tokens/modes/light__moc__comfortable__standard.dtcg.json +1 -1
  166. package/tokens/modes/light__moc__compact__high.dtcg.json +1 -1
  167. package/tokens/modes/light__moc__compact__standard.dtcg.json +1 -1
  168. package/tokens/modes/light__tho-clay__comfortable__high.dtcg.json +1 -1
  169. package/tokens/modes/light__tho-clay__comfortable__standard.dtcg.json +1 -1
  170. package/tokens/modes/light__tho-clay__compact__high.dtcg.json +1 -1
  171. package/tokens/modes/light__tho-clay__compact__standard.dtcg.json +1 -1
  172. package/tokens/modes/light__tho-sand__comfortable__high.dtcg.json +1 -1
  173. package/tokens/modes/light__tho-sand__comfortable__standard.dtcg.json +1 -1
  174. package/tokens/modes/light__tho-sand__compact__high.dtcg.json +1 -1
  175. package/tokens/modes/light__tho-sand__compact__standard.dtcg.json +1 -1
  176. package/tokens/modes/light__tho__comfortable__high.dtcg.json +1 -1
  177. package/tokens/modes/light__tho__comfortable__standard.dtcg.json +1 -1
  178. package/tokens/modes/light__tho__compact__high.dtcg.json +1 -1
  179. package/tokens/modes/light__tho__compact__standard.dtcg.json +1 -1
  180. package/tokens/modes/light__thuy-mist__comfortable__high.dtcg.json +1 -1
  181. package/tokens/modes/light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  182. package/tokens/modes/light__thuy-mist__compact__high.dtcg.json +1 -1
  183. package/tokens/modes/light__thuy-mist__compact__standard.dtcg.json +1 -1
  184. package/tokens/modes/light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  185. package/tokens/modes/light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  186. package/tokens/modes/light__thuy-ocean__compact__high.dtcg.json +1 -1
  187. package/tokens/modes/light__thuy-ocean__compact__standard.dtcg.json +1 -1
  188. package/tokens/modes/light__thuy__comfortable__high.dtcg.json +1 -1
  189. package/tokens/modes/light__thuy__comfortable__standard.dtcg.json +1 -1
  190. package/tokens/modes/light__thuy__compact__high.dtcg.json +1 -1
  191. package/tokens/modes/light__thuy__compact__standard.dtcg.json +1 -1
  192. package/tokens/modes/system-dark__default__comfortable__high.dtcg.json +1 -1
  193. package/tokens/modes/system-dark__default__comfortable__standard.dtcg.json +1 -1
  194. package/tokens/modes/system-dark__default__compact__high.dtcg.json +1 -1
  195. package/tokens/modes/system-dark__default__compact__standard.dtcg.json +1 -1
  196. package/tokens/modes/system-dark__hoa-lava__comfortable__high.dtcg.json +1 -1
  197. package/tokens/modes/system-dark__hoa-lava__comfortable__standard.dtcg.json +1 -1
  198. package/tokens/modes/system-dark__hoa-lava__compact__high.dtcg.json +1 -1
  199. package/tokens/modes/system-dark__hoa-lava__compact__standard.dtcg.json +1 -1
  200. package/tokens/modes/system-dark__hoa-plasma__comfortable__high.dtcg.json +1 -1
  201. package/tokens/modes/system-dark__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  202. package/tokens/modes/system-dark__hoa-plasma__compact__high.dtcg.json +1 -1
  203. package/tokens/modes/system-dark__hoa-plasma__compact__standard.dtcg.json +1 -1
  204. package/tokens/modes/system-dark__hoa__comfortable__high.dtcg.json +1 -1
  205. package/tokens/modes/system-dark__hoa__comfortable__standard.dtcg.json +1 -1
  206. package/tokens/modes/system-dark__hoa__compact__high.dtcg.json +1 -1
  207. package/tokens/modes/system-dark__hoa__compact__standard.dtcg.json +1 -1
  208. package/tokens/modes/system-dark__kim-steel__comfortable__high.dtcg.json +1 -1
  209. package/tokens/modes/system-dark__kim-steel__comfortable__standard.dtcg.json +1 -1
  210. package/tokens/modes/system-dark__kim-steel__compact__high.dtcg.json +1 -1
  211. package/tokens/modes/system-dark__kim-steel__compact__standard.dtcg.json +1 -1
  212. package/tokens/modes/system-dark__kim-titanium__comfortable__high.dtcg.json +1 -1
  213. package/tokens/modes/system-dark__kim-titanium__comfortable__standard.dtcg.json +1 -1
  214. package/tokens/modes/system-dark__kim-titanium__compact__high.dtcg.json +1 -1
  215. package/tokens/modes/system-dark__kim-titanium__compact__standard.dtcg.json +1 -1
  216. package/tokens/modes/system-dark__kim__comfortable__high.dtcg.json +1 -1
  217. package/tokens/modes/system-dark__kim__comfortable__standard.dtcg.json +1 -1
  218. package/tokens/modes/system-dark__kim__compact__high.dtcg.json +1 -1
  219. package/tokens/modes/system-dark__kim__compact__standard.dtcg.json +1 -1
  220. package/tokens/modes/system-dark__moc-bamboo__comfortable__high.dtcg.json +1 -1
  221. package/tokens/modes/system-dark__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  222. package/tokens/modes/system-dark__moc-bamboo__compact__high.dtcg.json +1 -1
  223. package/tokens/modes/system-dark__moc-bamboo__compact__standard.dtcg.json +1 -1
  224. package/tokens/modes/system-dark__moc-forest__comfortable__high.dtcg.json +1 -1
  225. package/tokens/modes/system-dark__moc-forest__comfortable__standard.dtcg.json +1 -1
  226. package/tokens/modes/system-dark__moc-forest__compact__high.dtcg.json +1 -1
  227. package/tokens/modes/system-dark__moc-forest__compact__standard.dtcg.json +1 -1
  228. package/tokens/modes/system-dark__moc__comfortable__high.dtcg.json +1 -1
  229. package/tokens/modes/system-dark__moc__comfortable__standard.dtcg.json +1 -1
  230. package/tokens/modes/system-dark__moc__compact__high.dtcg.json +1 -1
  231. package/tokens/modes/system-dark__moc__compact__standard.dtcg.json +1 -1
  232. package/tokens/modes/system-dark__tho-clay__comfortable__high.dtcg.json +1 -1
  233. package/tokens/modes/system-dark__tho-clay__comfortable__standard.dtcg.json +1 -1
  234. package/tokens/modes/system-dark__tho-clay__compact__high.dtcg.json +1 -1
  235. package/tokens/modes/system-dark__tho-clay__compact__standard.dtcg.json +1 -1
  236. package/tokens/modes/system-dark__tho-sand__comfortable__high.dtcg.json +1 -1
  237. package/tokens/modes/system-dark__tho-sand__comfortable__standard.dtcg.json +1 -1
  238. package/tokens/modes/system-dark__tho-sand__compact__high.dtcg.json +1 -1
  239. package/tokens/modes/system-dark__tho-sand__compact__standard.dtcg.json +1 -1
  240. package/tokens/modes/system-dark__tho__comfortable__high.dtcg.json +1 -1
  241. package/tokens/modes/system-dark__tho__comfortable__standard.dtcg.json +1 -1
  242. package/tokens/modes/system-dark__tho__compact__high.dtcg.json +1 -1
  243. package/tokens/modes/system-dark__tho__compact__standard.dtcg.json +1 -1
  244. package/tokens/modes/system-dark__thuy-mist__comfortable__high.dtcg.json +1 -1
  245. package/tokens/modes/system-dark__thuy-mist__comfortable__standard.dtcg.json +1 -1
  246. package/tokens/modes/system-dark__thuy-mist__compact__high.dtcg.json +1 -1
  247. package/tokens/modes/system-dark__thuy-mist__compact__standard.dtcg.json +1 -1
  248. package/tokens/modes/system-dark__thuy-ocean__comfortable__high.dtcg.json +1 -1
  249. package/tokens/modes/system-dark__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  250. package/tokens/modes/system-dark__thuy-ocean__compact__high.dtcg.json +1 -1
  251. package/tokens/modes/system-dark__thuy-ocean__compact__standard.dtcg.json +1 -1
  252. package/tokens/modes/system-dark__thuy__comfortable__high.dtcg.json +1 -1
  253. package/tokens/modes/system-dark__thuy__comfortable__standard.dtcg.json +1 -1
  254. package/tokens/modes/system-dark__thuy__compact__high.dtcg.json +1 -1
  255. package/tokens/modes/system-dark__thuy__compact__standard.dtcg.json +1 -1
  256. package/tokens/modes/system-light__default__comfortable__high.dtcg.json +1 -1
  257. package/tokens/modes/system-light__default__comfortable__standard.dtcg.json +1 -1
  258. package/tokens/modes/system-light__default__compact__high.dtcg.json +1 -1
  259. package/tokens/modes/system-light__default__compact__standard.dtcg.json +1 -1
  260. package/tokens/modes/system-light__hoa-lava__comfortable__high.dtcg.json +1 -1
  261. package/tokens/modes/system-light__hoa-lava__comfortable__standard.dtcg.json +1 -1
  262. package/tokens/modes/system-light__hoa-lava__compact__high.dtcg.json +1 -1
  263. package/tokens/modes/system-light__hoa-lava__compact__standard.dtcg.json +1 -1
  264. package/tokens/modes/system-light__hoa-plasma__comfortable__high.dtcg.json +1 -1
  265. package/tokens/modes/system-light__hoa-plasma__comfortable__standard.dtcg.json +1 -1
  266. package/tokens/modes/system-light__hoa-plasma__compact__high.dtcg.json +1 -1
  267. package/tokens/modes/system-light__hoa-plasma__compact__standard.dtcg.json +1 -1
  268. package/tokens/modes/system-light__hoa__comfortable__high.dtcg.json +1 -1
  269. package/tokens/modes/system-light__hoa__comfortable__standard.dtcg.json +1 -1
  270. package/tokens/modes/system-light__hoa__compact__high.dtcg.json +1 -1
  271. package/tokens/modes/system-light__hoa__compact__standard.dtcg.json +1 -1
  272. package/tokens/modes/system-light__kim-steel__comfortable__high.dtcg.json +1 -1
  273. package/tokens/modes/system-light__kim-steel__comfortable__standard.dtcg.json +1 -1
  274. package/tokens/modes/system-light__kim-steel__compact__high.dtcg.json +1 -1
  275. package/tokens/modes/system-light__kim-steel__compact__standard.dtcg.json +1 -1
  276. package/tokens/modes/system-light__kim-titanium__comfortable__high.dtcg.json +1 -1
  277. package/tokens/modes/system-light__kim-titanium__comfortable__standard.dtcg.json +1 -1
  278. package/tokens/modes/system-light__kim-titanium__compact__high.dtcg.json +1 -1
  279. package/tokens/modes/system-light__kim-titanium__compact__standard.dtcg.json +1 -1
  280. package/tokens/modes/system-light__kim__comfortable__high.dtcg.json +1 -1
  281. package/tokens/modes/system-light__kim__comfortable__standard.dtcg.json +1 -1
  282. package/tokens/modes/system-light__kim__compact__high.dtcg.json +1 -1
  283. package/tokens/modes/system-light__kim__compact__standard.dtcg.json +1 -1
  284. package/tokens/modes/system-light__moc-bamboo__comfortable__high.dtcg.json +1 -1
  285. package/tokens/modes/system-light__moc-bamboo__comfortable__standard.dtcg.json +1 -1
  286. package/tokens/modes/system-light__moc-bamboo__compact__high.dtcg.json +1 -1
  287. package/tokens/modes/system-light__moc-bamboo__compact__standard.dtcg.json +1 -1
  288. package/tokens/modes/system-light__moc-forest__comfortable__high.dtcg.json +1 -1
  289. package/tokens/modes/system-light__moc-forest__comfortable__standard.dtcg.json +1 -1
  290. package/tokens/modes/system-light__moc-forest__compact__high.dtcg.json +1 -1
  291. package/tokens/modes/system-light__moc-forest__compact__standard.dtcg.json +1 -1
  292. package/tokens/modes/system-light__moc__comfortable__high.dtcg.json +1 -1
  293. package/tokens/modes/system-light__moc__comfortable__standard.dtcg.json +1 -1
  294. package/tokens/modes/system-light__moc__compact__high.dtcg.json +1 -1
  295. package/tokens/modes/system-light__moc__compact__standard.dtcg.json +1 -1
  296. package/tokens/modes/system-light__tho-clay__comfortable__high.dtcg.json +1 -1
  297. package/tokens/modes/system-light__tho-clay__comfortable__standard.dtcg.json +1 -1
  298. package/tokens/modes/system-light__tho-clay__compact__high.dtcg.json +1 -1
  299. package/tokens/modes/system-light__tho-clay__compact__standard.dtcg.json +1 -1
  300. package/tokens/modes/system-light__tho-sand__comfortable__high.dtcg.json +1 -1
  301. package/tokens/modes/system-light__tho-sand__comfortable__standard.dtcg.json +1 -1
  302. package/tokens/modes/system-light__tho-sand__compact__high.dtcg.json +1 -1
  303. package/tokens/modes/system-light__tho-sand__compact__standard.dtcg.json +1 -1
  304. package/tokens/modes/system-light__tho__comfortable__high.dtcg.json +1 -1
  305. package/tokens/modes/system-light__tho__comfortable__standard.dtcg.json +1 -1
  306. package/tokens/modes/system-light__tho__compact__high.dtcg.json +1 -1
  307. package/tokens/modes/system-light__tho__compact__standard.dtcg.json +1 -1
  308. package/tokens/modes/system-light__thuy-mist__comfortable__high.dtcg.json +1 -1
  309. package/tokens/modes/system-light__thuy-mist__comfortable__standard.dtcg.json +1 -1
  310. package/tokens/modes/system-light__thuy-mist__compact__high.dtcg.json +1 -1
  311. package/tokens/modes/system-light__thuy-mist__compact__standard.dtcg.json +1 -1
  312. package/tokens/modes/system-light__thuy-ocean__comfortable__high.dtcg.json +1 -1
  313. package/tokens/modes/system-light__thuy-ocean__comfortable__standard.dtcg.json +1 -1
  314. package/tokens/modes/system-light__thuy-ocean__compact__high.dtcg.json +1 -1
  315. package/tokens/modes/system-light__thuy-ocean__compact__standard.dtcg.json +1 -1
  316. package/tokens/modes/system-light__thuy__comfortable__high.dtcg.json +1 -1
  317. package/tokens/modes/system-light__thuy__comfortable__standard.dtcg.json +1 -1
  318. package/tokens/modes/system-light__thuy__compact__high.dtcg.json +1 -1
  319. package/tokens/modes/system-light__thuy__compact__standard.dtcg.json +1 -1
  320. package/tokens/native/CSModes.kt +631 -588
  321. package/tokens/native/CSModes.swift +631 -588
  322. package/tokens/native/CSTokens.kt +301 -301
  323. package/tokens/native/CSTokens.swift +301 -301
  324. package/tokens/native/cs_modes.dart +631 -588
  325. package/tokens/native/cs_tokens.dart +301 -301
  326. package/tokens/native/mode-provenance.json +11 -11
  327. package/tokens/provenance.json +6 -6
  328. package/tokens/tokens.dtcg.json +268 -268
  329. package/tokens/tokens.js +160 -160
  330. package/tokens/tokens.json +159 -159
  331. package/tokens/typography.css +2 -3
  332. package/tokens/variables.css +336 -333
  333. package/ui_kits/website/site.css +2 -2
@@ -1,4 +1,4 @@
1
- /* Generated by scripts/generate-layered-styles.mjs. Opt-in only; styles.css remains default. Input graph SHA-256 029b6b097ef9e83aa506e596aec5c16af8522995164f269191717fe3bec6e291 */@layer cs-safety, cs-reset, cs-tokens, cs-components, cs-accessibility, cs-responsive, cs-overrides;@layer cs-safety {@media print {
1
+ /* Generated by scripts/generate-layered-styles.mjs. Opt-in only; styles.css remains default. Input graph SHA-256 262b6f78b3cb4b776ccb399656245806ed05a1bef1b3b1cd44c683340e0dd591 */@layer cs-safety, cs-reset, cs-tokens, cs-components, cs-accessibility, cs-responsive, cs-overrides;@layer cs-safety {@media print {
2
2
  [class*="cs-surface-"], .cs-glass-card, .cs-dialog, .cs-ai-disclosure__panel {
3
3
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
4
4
  background: #fff !important; box-shadow: none !important; border: 1px solid #ccc !important;
@@ -330,9 +330,8 @@
330
330
  --cs-letter-spacing-normal: 0;
331
331
  --cs-letter-spacing-caps: 0.08em; /* uppercase eyebrows / table headers */
332
332
 
333
- /* Heading treatment (Expression-overridable — the TYPE half of the treatment axis,
334
- * v3 Batch 0). Expressions retune these so headings read Swiss / editorial / luxe /
335
- * brutalist, not just via radius+shadow. Base = today's values (extrabold, tight). */
333
+ /* Heading treatment — semantic heading family, weight, and tracking roles
334
+ * consumed by .cs-display and .cs-h1…h4 in base/typography.css. */
336
335
  --cs-heading-family: var(--cs-font-family-ui);
337
336
  --cs-heading-weight-strong: var(--cs-font-weight-extrabold); /* display · h1 */
338
337
  --cs-heading-weight: var(--cs-font-weight-bold); /* h2 · h3 */
@@ -524,7 +523,7 @@
524
523
  * Focus indicator (text-primary contour + ochre halo) and semantic status tokens NEVER remap.
525
524
  * Generative cycle (Tương sinh) only for grad-b: Mộc→Hỏa→Thổ→Kim→Thủy→Mộc. */:root {
526
525
  --cs-accent: #F4BA17;
527
- --cs-accent-strong: #916D10;
526
+ --cs-accent-strong: #916D11;
528
527
  --cs-accent-bright: #F4BA17;
529
528
  --cs-accent-on: #45210E;
530
529
  --cs-accent-on-strong: #FFFFFF;
@@ -532,7 +531,7 @@
532
531
  --cs-accent-ink: #45210E;
533
532
  --cs-accent-glow: rgba(244, 186, 23, 0.48);
534
533
  --cs-accent-grad-a: #F4BA17;
535
- --cs-accent-grad-b: #F3B958;
534
+ --cs-accent-grad-b: #C4B78F;
536
535
  }/* ---- Aurora washes ---- */.cs-aurora-wash { background-image: url("assets/aurora-tho.webp"); background-size: cover; background-position: center; }[data-cs-element="hoa"] .cs-aurora-wash { background-image: url("assets/aurora-hoa.webp"); }[data-cs-element="thuy"] .cs-aurora-wash { background-image: url("assets/aurora-thuy.webp"); }[data-cs-element="moc"] .cs-aurora-wash { background-image: url("assets/aurora-moc.webp"); }[data-cs-element="kim"] .cs-aurora-wash { background-image: url("assets/aurora-kim.webp"); }/* ---- Generated scope resolver ----
537
536
  * Private channels carry both palettes independently of the selected theme.
538
537
  * Empty/initial custom-property switches select one channel without JS or a
@@ -617,8 +616,8 @@
617
616
  --_cs-dark-shadow-xl: 0 24px 80px rgba(0, 0, 0, 0.62);
618
617
  --_cs-light-accent: #F4BA17;
619
618
  --_cs-dark-accent: #F4BA17;
620
- --_cs-light-accent-strong: #916D10;
621
- --_cs-dark-accent-strong: #916D10;
619
+ --_cs-light-accent-strong: #916D11;
620
+ --_cs-dark-accent-strong: #916D11;
622
621
  --_cs-light-accent-bright: #F4BA17;
623
622
  --_cs-dark-accent-bright: #F4BA17;
624
623
  --_cs-light-accent-on: #45210E;
@@ -633,8 +632,8 @@
633
632
  --_cs-dark-accent-glow: rgba(244, 186, 23, 0.48);
634
633
  --_cs-light-accent-grad-a: #F4BA17;
635
634
  --_cs-dark-accent-grad-a: #F4BA17;
636
- --_cs-light-accent-grad-b: #F3B958;
637
- --_cs-dark-accent-grad-b: #F3B958;
635
+ --_cs-light-accent-grad-b: #C4B78F;
636
+ --_cs-dark-accent-grad-b: #C4B78F;
638
637
  --_cs-standard: initial;
639
638
  --_cs-high: ;
640
639
  }:root, [data-theme="light"], [data-theme="system"] { --_cs-light: initial; --_cs-dark: ; }[data-theme="dark"] { --_cs-light: ; --_cs-dark: initial; }@media (prefers-color-scheme: dark) {
@@ -642,30 +641,30 @@
642
641
  }@media (prefers-contrast: more) {
643
642
  :root:where(:not([data-cs-contrast])) { --_cs-standard: ; --_cs-high: initial; }
644
643
  }[data-cs-contrast="standard"] { --_cs-standard: initial; --_cs-high: ; }[data-cs-contrast="high"] { --_cs-standard: ; --_cs-high: initial; }[data-cs-element="tho"][data-cs-variant="sand"] {
645
- --_cs-light-accent: #F8E9C0;
646
- --_cs-dark-accent: #F8E9C0;
647
- --_cs-light-accent-strong: #80724E;
648
- --_cs-dark-accent-strong: #665A37;
649
- --_cs-light-accent-bright: #F6EBCC;
650
- --_cs-dark-accent-bright: #F6EBCC;
651
- --_cs-light-accent-on: #292414;
644
+ --_cs-light-accent: #F9E3A7;
645
+ --_cs-dark-accent: #E6CD88;
646
+ --_cs-light-accent-strong: #856A03;
647
+ --_cs-dark-accent-strong: #80671A;
648
+ --_cs-light-accent-bright: #FDEAB7;
649
+ --_cs-dark-accent-bright: #F9E5AE;
650
+ --_cs-light-accent-on: #271E06;
652
651
  --_cs-dark-accent-on: #f5ead9;
653
652
  --_cs-light-accent-on-strong: #FFFFFF;
654
653
  --_cs-dark-accent-on-strong: #FFFFFF;
655
- --_cs-light-accent-tint: #FBF7EA;
656
- --_cs-dark-accent-tint: #332701;
657
- --_cs-light-accent-ink: #292414;
658
- --_cs-dark-accent-ink: #F6EBCC;
659
- --_cs-light-accent-glow: rgba(248, 233, 192, 0.48);
660
- --_cs-dark-accent-glow: rgba(248, 233, 192, 0.48);
661
- --_cs-light-accent-grad-a: #F8E9C0;
662
- --_cs-dark-accent-grad-a: #F8E9C0;
663
- --_cs-light-accent-grad-b: #F3B958;
664
- --_cs-dark-accent-grad-b: #F3B958;
665
- --_cs-light-color-text-accent: #625431;
666
- --_cs-dark-color-text-accent: #F6EBCC;
667
- --_cs-light-color-link: #625431;
668
- --_cs-dark-color-link: #F6EBCC;
654
+ --_cs-light-accent-tint: #FEF8E7;
655
+ --_cs-dark-accent-tint: #342C15;
656
+ --_cs-light-accent-ink: #292108;
657
+ --_cs-dark-accent-ink: #F9E5AE;
658
+ --_cs-light-accent-glow: rgba(249, 227, 167, 0.48);
659
+ --_cs-dark-accent-glow: rgba(249, 227, 167, 0.48);
660
+ --_cs-light-accent-grad-a: #F9E3A7;
661
+ --_cs-dark-accent-grad-a: #F9E3A7;
662
+ --_cs-light-accent-grad-b: #C4B78F;
663
+ --_cs-dark-accent-grad-b: #C4B78F;
664
+ --_cs-light-color-text-accent: #695300;
665
+ --_cs-dark-color-text-accent: #F9E5AE;
666
+ --_cs-light-color-link: #695300;
667
+ --_cs-dark-color-link: #F9E5AE;
669
668
  --_cs-light-color-link-hover: #45210E;
670
669
  --_cs-dark-color-link-hover: #f5ead9;
671
670
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -676,35 +675,35 @@
676
675
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
677
676
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
678
677
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
679
- --_cs-light-component-button-primary-bg: #45210E;
680
- --_cs-dark-component-button-primary-bg: #665A37;
678
+ --_cs-light-component-button-primary-bg: #856A03;
679
+ --_cs-dark-component-button-primary-bg: #80671A;
681
680
  --_cs-light-component-button-primary-fg: #FFFFFF;
682
681
  --_cs-dark-component-button-primary-fg: #FFFFFF;
683
682
  }[data-cs-element="tho"] {
684
683
  --_cs-light-accent: #F4BA17;
685
- --_cs-dark-accent: #F4BA17;
686
- --_cs-light-accent-strong: #916D10;
687
- --_cs-dark-accent-strong: #73560B;
684
+ --_cs-dark-accent: #E9B321;
685
+ --_cs-light-accent-strong: #916D11;
686
+ --_cs-dark-accent-strong: #6E5205;
688
687
  --_cs-light-accent-bright: #F4BA17;
689
- --_cs-dark-accent-bright: #FEC42C;
688
+ --_cs-dark-accent-bright: #FDD378;
690
689
  --_cs-light-accent-on: #45210E;
691
690
  --_cs-dark-accent-on: #f5ead9;
692
691
  --_cs-light-accent-on-strong: #FFFFFF;
693
692
  --_cs-dark-accent-on-strong: #FFFFFF;
694
693
  --_cs-light-accent-tint: #FBF4E9;
695
- --_cs-dark-accent-tint: #352602;
694
+ --_cs-dark-accent-tint: #2B1E00;
696
695
  --_cs-light-accent-ink: #45210E;
697
- --_cs-dark-accent-ink: #FECD5E;
696
+ --_cs-dark-accent-ink: #FDD378;
698
697
  --_cs-light-accent-glow: rgba(244, 186, 23, 0.48);
699
698
  --_cs-dark-accent-glow: rgba(244, 186, 23, 0.48);
700
699
  --_cs-light-accent-grad-a: #F4BA17;
701
700
  --_cs-dark-accent-grad-a: #F4BA17;
702
- --_cs-light-accent-grad-b: #F3B958;
703
- --_cs-dark-accent-grad-b: #F3B958;
701
+ --_cs-light-accent-grad-b: #C4B78F;
702
+ --_cs-dark-accent-grad-b: #C4B78F;
704
703
  --_cs-light-color-text-accent: #6E3B0E;
705
- --_cs-dark-color-text-accent: #FED57C;
704
+ --_cs-dark-color-text-accent: #FFD57A;
706
705
  --_cs-light-color-link: #644A05;
707
- --_cs-dark-color-link: #FED57C;
706
+ --_cs-dark-color-link: #FFD57A;
708
707
  --_cs-light-color-link-hover: #45210E;
709
708
  --_cs-dark-color-link-hover: #f5ead9;
710
709
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -716,34 +715,34 @@
716
715
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
717
716
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
718
717
  --_cs-light-component-button-primary-bg: #45210E;
719
- --_cs-dark-component-button-primary-bg: #73560B;
718
+ --_cs-dark-component-button-primary-bg: #6E5205;
720
719
  --_cs-light-component-button-primary-fg: #FFFFFF;
721
720
  --_cs-dark-component-button-primary-fg: #FFFFFF;
722
721
  }[data-cs-element="tho"][data-cs-variant="clay"] {
723
- --_cs-light-accent: #513801;
724
- --_cs-dark-accent: #CDB07E;
725
- --_cs-light-accent-strong: #201300;
726
- --_cs-dark-accent-strong: #1F1300;
727
- --_cs-light-accent-bright: #DEC7A2;
728
- --_cs-dark-accent-bright: #E4CDA8;
729
- --_cs-light-accent-on: #2D220E;
722
+ --_cs-light-accent: #723E06;
723
+ --_cs-dark-accent: #E0A97C;
724
+ --_cs-light-accent-strong: #5A3004;
725
+ --_cs-dark-accent-strong: #5C3001;
726
+ --_cs-light-accent-bright: #F2C5A3;
727
+ --_cs-dark-accent-bright: #F8C7A1;
728
+ --_cs-light-accent-on: #080200;
730
729
  --_cs-dark-accent-on: #f5ead9;
731
730
  --_cs-light-accent-on-strong: #FFFFFF;
732
731
  --_cs-dark-accent-on-strong: #FFFFFF;
733
- --_cs-light-accent-tint: #FFF6E7;
734
- --_cs-dark-accent-tint: #372502;
735
- --_cs-light-accent-ink: #2D220E;
736
- --_cs-dark-accent-ink: #E7D0AB;
737
- --_cs-light-accent-glow: rgba(81, 56, 1, 0.48);
738
- --_cs-dark-accent-glow: rgba(81, 56, 1, 0.48);
739
- --_cs-light-accent-grad-a: #513801;
740
- --_cs-dark-accent-grad-a: #513801;
741
- --_cs-light-accent-grad-b: #F3B958;
742
- --_cs-dark-accent-grad-b: #F3B958;
743
- --_cs-light-color-text-accent: #201300;
744
- --_cs-dark-color-text-accent: #EED7B1;
745
- --_cs-light-color-link: #201300;
746
- --_cs-dark-color-link: #EED7B1;
732
+ --_cs-light-accent-tint: #FCEEE3;
733
+ --_cs-dark-accent-tint: #220F01;
734
+ --_cs-light-accent-ink: #321B07;
735
+ --_cs-dark-accent-ink: #FBCAA4;
736
+ --_cs-light-accent-glow: rgba(114, 62, 6, 0.48);
737
+ --_cs-dark-accent-glow: rgba(114, 62, 6, 0.48);
738
+ --_cs-light-accent-grad-a: #723E06;
739
+ --_cs-dark-accent-grad-a: #723E06;
740
+ --_cs-light-accent-grad-b: #C4B78F;
741
+ --_cs-dark-accent-grad-b: #C4B78F;
742
+ --_cs-light-color-text-accent: #462402;
743
+ --_cs-dark-color-text-accent: #FFD2AF;
744
+ --_cs-light-color-link: #462402;
745
+ --_cs-dark-color-link: #FFD2AF;
747
746
  --_cs-light-color-link-hover: #45210E;
748
747
  --_cs-dark-color-link-hover: #f5ead9;
749
748
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -754,35 +753,35 @@
754
753
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
755
754
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
756
755
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
757
- --_cs-light-component-button-primary-bg: #45210E;
758
- --_cs-dark-component-button-primary-bg: #1F1300;
756
+ --_cs-light-component-button-primary-bg: #5A3004;
757
+ --_cs-dark-component-button-primary-bg: #5C3001;
759
758
  --_cs-light-component-button-primary-fg: #FFFFFF;
760
759
  --_cs-dark-component-button-primary-fg: #FFFFFF;
761
760
  }[data-cs-element="hoa"][data-cs-variant="plasma"] {
762
- --_cs-light-accent: #FFE1D8;
763
- --_cs-dark-accent: #FFE1D8;
764
- --_cs-light-accent-strong: #856E68;
765
- --_cs-dark-accent-strong: #6F5750;
766
- --_cs-light-accent-bright: #FCE6DF;
767
- --_cs-dark-accent-bright: #FCE6DF;
768
- --_cs-light-accent-on: #2C211E;
761
+ --_cs-light-accent: #FEDBDC;
762
+ --_cs-dark-accent: #EBC4C5;
763
+ --_cs-light-accent-strong: #896163;
764
+ --_cs-dark-accent-strong: #836061;
765
+ --_cs-light-accent-bright: #FFE3E4;
766
+ --_cs-dark-accent-bright: #FDDDDE;
767
+ --_cs-light-accent-on: #281B1C;
769
768
  --_cs-dark-accent-on: #f5ead9;
770
769
  --_cs-light-accent-on-strong: #FFFFFF;
771
770
  --_cs-dark-accent-on-strong: #FFFFFF;
772
- --_cs-light-accent-tint: #FEF4F2;
773
- --_cs-dark-accent-tint: #38231C;
774
- --_cs-light-accent-ink: #2C211E;
775
- --_cs-dark-accent-ink: #FCE6DF;
776
- --_cs-light-accent-glow: rgba(255, 225, 216, 0.48);
777
- --_cs-dark-accent-glow: rgba(255, 225, 216, 0.48);
778
- --_cs-light-accent-grad-a: #FFE1D8;
779
- --_cs-dark-accent-grad-a: #FFE1D8;
771
+ --_cs-light-accent-tint: #FFF5F5;
772
+ --_cs-dark-accent-tint: #352929;
773
+ --_cs-light-accent-ink: #2B1E1E;
774
+ --_cs-dark-accent-ink: #FDDDDE;
775
+ --_cs-light-accent-glow: rgba(254, 219, 220, 0.48);
776
+ --_cs-dark-accent-glow: rgba(254, 219, 220, 0.48);
777
+ --_cs-light-accent-grad-a: #FEDBDC;
778
+ --_cs-dark-accent-grad-a: #FEDBDC;
780
779
  --_cs-light-accent-grad-b: #F4BA17;
781
780
  --_cs-dark-accent-grad-b: #F4BA17;
782
- --_cs-light-color-text-accent: #66504B;
783
- --_cs-dark-color-text-accent: #FCE6DF;
784
- --_cs-light-color-link: #66504B;
785
- --_cs-dark-color-link: #FCE6DF;
781
+ --_cs-light-color-text-accent: #714B4D;
782
+ --_cs-dark-color-text-accent: #FDDDDE;
783
+ --_cs-light-color-link: #714B4D;
784
+ --_cs-dark-color-link: #FDDDDE;
786
785
  --_cs-light-color-link-hover: #45210E;
787
786
  --_cs-dark-color-link-hover: #f5ead9;
788
787
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -793,35 +792,35 @@
793
792
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
794
793
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
795
794
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
796
- --_cs-light-component-button-primary-bg: #45210E;
797
- --_cs-dark-component-button-primary-bg: #6F5750;
795
+ --_cs-light-component-button-primary-bg: #896163;
796
+ --_cs-dark-component-button-primary-bg: #836061;
798
797
  --_cs-light-component-button-primary-fg: #FFFFFF;
799
798
  --_cs-dark-component-button-primary-fg: #FFFFFF;
800
799
  }[data-cs-element="hoa"] {
801
- --_cs-light-accent: #FCAF91;
802
- --_cs-dark-accent: #FCAF91;
803
- --_cs-light-accent-strong: #A46146;
804
- --_cs-dark-accent-strong: #8A4A30;
805
- --_cs-light-accent-bright: #FED3C3;
806
- --_cs-dark-accent-bright: #FED3C3;
807
- --_cs-light-accent-on: #381B10;
800
+ --_cs-light-accent: #FC9C69;
801
+ --_cs-dark-accent: #FEA272;
802
+ --_cs-light-accent-strong: #96440B;
803
+ --_cs-dark-accent-strong: #883E0D;
804
+ --_cs-light-accent-bright: #FFD3BD;
805
+ --_cs-dark-accent-bright: #FECDB4;
806
+ --_cs-light-accent-on: #361402;
808
807
  --_cs-dark-accent-on: #f5ead9;
809
808
  --_cs-light-accent-on-strong: #FFFFFF;
810
809
  --_cs-dark-accent-on-strong: #FFFFFF;
811
- --_cs-light-accent-tint: #FFF4F0;
812
- --_cs-dark-accent-tint: #411E0F;
813
- --_cs-light-accent-ink: #381B10;
814
- --_cs-dark-accent-ink: #FED3C3;
815
- --_cs-light-accent-glow: rgba(252, 175, 145, 0.48);
816
- --_cs-dark-accent-glow: rgba(252, 175, 145, 0.48);
817
- --_cs-light-accent-grad-a: #FCAF91;
818
- --_cs-dark-accent-grad-a: #FCAF91;
810
+ --_cs-light-accent-tint: #FFF1EA;
811
+ --_cs-dark-accent-tint: #351706;
812
+ --_cs-light-accent-ink: #3A1501;
813
+ --_cs-dark-accent-ink: #FECDB4;
814
+ --_cs-light-accent-glow: rgba(252, 156, 105, 0.48);
815
+ --_cs-dark-accent-glow: rgba(252, 156, 105, 0.48);
816
+ --_cs-light-accent-grad-a: #FC9C69;
817
+ --_cs-dark-accent-grad-a: #FC9C69;
819
818
  --_cs-light-accent-grad-b: #F4BA17;
820
819
  --_cs-dark-accent-grad-b: #F4BA17;
821
- --_cs-light-color-text-accent: #793B20;
822
- --_cs-dark-color-text-accent: #FED3C3;
823
- --_cs-light-color-link: #793B20;
824
- --_cs-dark-color-link: #FED3C3;
820
+ --_cs-light-color-text-accent: #793609;
821
+ --_cs-dark-color-text-accent: #FFD1BA;
822
+ --_cs-light-color-link: #793609;
823
+ --_cs-dark-color-link: #FFD1BA;
825
824
  --_cs-light-color-link-hover: #45210E;
826
825
  --_cs-dark-color-link-hover: #f5ead9;
827
826
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -832,35 +831,35 @@
832
831
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
833
832
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
834
833
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
835
- --_cs-light-component-button-primary-bg: #45210E;
836
- --_cs-dark-component-button-primary-bg: #8A4A30;
834
+ --_cs-light-component-button-primary-bg: #96440B;
835
+ --_cs-dark-component-button-primary-bg: #883E0D;
837
836
  --_cs-light-component-button-primary-fg: #FFFFFF;
838
837
  --_cs-dark-component-button-primary-fg: #FFFFFF;
839
838
  }[data-cs-element="hoa"][data-cs-variant="lava"] {
840
- --_cs-light-accent: #622B06;
841
- --_cs-dark-accent: #E8A683;
842
- --_cs-light-accent-strong: #280D00;
843
- --_cs-dark-accent-strong: #280D00;
844
- --_cs-light-accent-bright: #F1BEA4;
845
- --_cs-dark-accent-bright: #F8C4AA;
846
- --_cs-light-accent-on: #361D0F;
839
+ --_cs-light-accent: #93050F;
840
+ --_cs-dark-accent: #FC9A8F;
841
+ --_cs-light-accent-strong: #760008;
842
+ --_cs-dark-accent-strong: #6D1D19;
843
+ --_cs-light-accent-bright: #FFBCB4;
844
+ --_cs-dark-accent-bright: #FFC1B9;
845
+ --_cs-light-accent-on: #0D0000;
847
846
  --_cs-dark-accent-on: #f5ead9;
848
847
  --_cs-light-accent-on-strong: #FFFFFF;
849
848
  --_cs-dark-accent-on-strong: #FFFFFF;
850
- --_cs-light-accent-tint: #FFF4EF;
851
- --_cs-dark-accent-tint: #401F0B;
852
- --_cs-light-accent-ink: #361D0F;
853
- --_cs-dark-accent-ink: #FBC7AD;
854
- --_cs-light-accent-glow: rgba(98, 43, 6, 0.48);
855
- --_cs-dark-accent-glow: rgba(98, 43, 6, 0.48);
856
- --_cs-light-accent-grad-a: #622B06;
857
- --_cs-dark-accent-grad-a: #622B06;
849
+ --_cs-light-accent-tint: #FFEBE9;
850
+ --_cs-dark-accent-tint: #2A0806;
851
+ --_cs-light-accent-ink: #400C0B;
852
+ --_cs-dark-accent-ink: #FFC6BF;
853
+ --_cs-light-accent-glow: rgba(147, 5, 15, 0.48);
854
+ --_cs-dark-accent-glow: rgba(147, 5, 15, 0.48);
855
+ --_cs-light-accent-grad-a: #93050F;
856
+ --_cs-dark-accent-grad-a: #93050F;
858
857
  --_cs-light-accent-grad-b: #F4BA17;
859
858
  --_cs-dark-accent-grad-b: #F4BA17;
860
- --_cs-light-color-text-accent: #280D00;
861
- --_cs-dark-color-text-accent: #FED1BB;
862
- --_cs-light-color-link: #280D00;
863
- --_cs-dark-color-link: #FED1BB;
859
+ --_cs-light-color-text-accent: #550306;
860
+ --_cs-dark-color-text-accent: #FDD0CA;
861
+ --_cs-light-color-link: #550306;
862
+ --_cs-dark-color-link: #FDD0CA;
864
863
  --_cs-light-color-link-hover: #45210E;
865
864
  --_cs-dark-color-link-hover: #f5ead9;
866
865
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -871,35 +870,35 @@
871
870
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
872
871
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
873
872
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
874
- --_cs-light-component-button-primary-bg: #45210E;
875
- --_cs-dark-component-button-primary-bg: #280D00;
873
+ --_cs-light-component-button-primary-bg: #760008;
874
+ --_cs-dark-component-button-primary-bg: #6D1D19;
876
875
  --_cs-light-component-button-primary-fg: #FFFFFF;
877
876
  --_cs-dark-component-button-primary-fg: #FFFFFF;
878
877
  }[data-cs-element="thuy"][data-cs-variant="mist"] {
879
- --_cs-light-accent: #C0F5FC;
880
- --_cs-dark-accent: #C0F5FC;
881
- --_cs-light-accent-strong: #4B7B81;
882
- --_cs-dark-accent-strong: #316167;
883
- --_cs-light-accent-bright: #CDF4F9;
884
- --_cs-dark-accent-bright: #CDF4F9;
885
- --_cs-light-accent-on: #13282B;
878
+ --_cs-light-accent: #9DF7F5;
879
+ --_cs-dark-accent: #79E4E2;
880
+ --_cs-light-accent-strong: #037D7D;
881
+ --_cs-dark-accent-strong: #077A79;
882
+ --_cs-light-accent-bright: #B1FBF9;
883
+ --_cs-dark-accent-bright: #A6F8F6;
884
+ --_cs-light-accent-on: #012525;
886
885
  --_cs-dark-accent-on: #f5ead9;
887
886
  --_cs-light-accent-on-strong: #FFFFFF;
888
887
  --_cs-dark-accent-on-strong: #FFFFFF;
889
- --_cs-light-accent-tint: #EBFAFC;
890
- --_cs-dark-accent-tint: #022F34;
891
- --_cs-light-accent-ink: #13282B;
892
- --_cs-dark-accent-ink: #CDF4F9;
893
- --_cs-light-accent-glow: rgba(192, 245, 252, 0.48);
894
- --_cs-dark-accent-glow: rgba(192, 245, 252, 0.48);
895
- --_cs-light-accent-grad-a: #C0F5FC;
896
- --_cs-dark-accent-grad-a: #C0F5FC;
897
- --_cs-light-accent-grad-b: #A3D768;
898
- --_cs-dark-accent-grad-b: #A3D768;
899
- --_cs-light-color-text-accent: #2E5E64;
900
- --_cs-dark-color-text-accent: #CDF4F9;
901
- --_cs-light-color-link: #2E5E64;
902
- --_cs-dark-color-link: #CDF4F9;
888
+ --_cs-light-accent-tint: #E6FDFC;
889
+ --_cs-dark-accent-tint: #0D3333;
890
+ --_cs-light-accent-ink: #032727;
891
+ --_cs-dark-accent-ink: #A6F8F6;
892
+ --_cs-light-accent-glow: rgba(157, 247, 245, 0.48);
893
+ --_cs-dark-accent-glow: rgba(157, 247, 245, 0.48);
894
+ --_cs-light-accent-grad-a: #9DF7F5;
895
+ --_cs-dark-accent-grad-a: #9DF7F5;
896
+ --_cs-light-accent-grad-b: #82CF66;
897
+ --_cs-dark-accent-grad-b: #82CF66;
898
+ --_cs-light-color-text-accent: #116060;
899
+ --_cs-dark-color-text-accent: #A6F8F6;
900
+ --_cs-light-color-link: #116060;
901
+ --_cs-dark-color-link: #A6F8F6;
903
902
  --_cs-light-color-link-hover: #45210E;
904
903
  --_cs-dark-color-link-hover: #f5ead9;
905
904
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -910,35 +909,35 @@
910
909
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
911
910
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
912
911
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
913
- --_cs-light-component-button-primary-bg: #45210E;
914
- --_cs-dark-component-button-primary-bg: #316167;
912
+ --_cs-light-component-button-primary-bg: #037D7D;
913
+ --_cs-dark-component-button-primary-bg: #077A79;
915
914
  --_cs-light-component-button-primary-fg: #FFFFFF;
916
915
  --_cs-dark-component-button-primary-fg: #FFFFFF;
917
916
  }[data-cs-element="thuy"] {
918
- --_cs-light-accent: #2EDBF7;
919
- --_cs-dark-accent: #2EDBF7;
920
- --_cs-light-accent-strong: #0B7E8E;
921
- --_cs-dark-accent-strong: #046270;
922
- --_cs-light-accent-bright: #99EEFF;
923
- --_cs-dark-accent-bright: #99EEFF;
924
- --_cs-light-accent-on: #012A30;
917
+ --_cs-light-accent: #00CEE4;
918
+ --_cs-dark-accent: #32D2E7;
919
+ --_cs-light-accent-strong: #166B76;
920
+ --_cs-dark-accent-strong: #04626D;
921
+ --_cs-light-accent-bright: #94EFFD;
922
+ --_cs-dark-accent-bright: #79EDFF;
923
+ --_cs-light-accent-on: #012429;
925
924
  --_cs-dark-accent-on: #f5ead9;
926
925
  --_cs-light-accent-on-strong: #FFFFFF;
927
926
  --_cs-dark-accent-on-strong: #FFFFFF;
928
- --_cs-light-accent-tint: #E7FBFF;
929
- --_cs-dark-accent-tint: #032F36;
930
- --_cs-light-accent-ink: #012A30;
931
- --_cs-dark-accent-ink: #99EEFF;
932
- --_cs-light-accent-glow: rgba(46, 219, 247, 0.48);
933
- --_cs-dark-accent-glow: rgba(46, 219, 247, 0.48);
934
- --_cs-light-accent-grad-a: #2EDBF7;
935
- --_cs-dark-accent-grad-a: #2EDBF7;
936
- --_cs-light-accent-grad-b: #A3D768;
937
- --_cs-dark-accent-grad-b: #A3D768;
938
- --_cs-light-color-text-accent: #035763;
939
- --_cs-dark-color-text-accent: #99EEFF;
940
- --_cs-light-color-link: #035763;
941
- --_cs-dark-color-link: #99EEFF;
927
+ --_cs-light-accent-tint: #DFFBFF;
928
+ --_cs-dark-accent-tint: #03252A;
929
+ --_cs-light-accent-ink: #03272C;
930
+ --_cs-dark-accent-ink: #79EDFF;
931
+ --_cs-light-accent-glow: rgba(0, 206, 228, 0.48);
932
+ --_cs-dark-accent-glow: rgba(0, 206, 228, 0.48);
933
+ --_cs-light-accent-grad-a: #00CEE4;
934
+ --_cs-dark-accent-grad-a: #00CEE4;
935
+ --_cs-light-accent-grad-b: #82CF66;
936
+ --_cs-dark-accent-grad-b: #82CF66;
937
+ --_cs-light-color-text-accent: #0D535C;
938
+ --_cs-dark-color-text-accent: #79EDFF;
939
+ --_cs-light-color-link: #0D535C;
940
+ --_cs-dark-color-link: #79EDFF;
942
941
  --_cs-light-color-link-hover: #45210E;
943
942
  --_cs-dark-color-link-hover: #f5ead9;
944
943
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -949,35 +948,35 @@
949
948
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
950
949
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
951
950
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
952
- --_cs-light-component-button-primary-bg: #45210E;
953
- --_cs-dark-component-button-primary-bg: #046270;
951
+ --_cs-light-component-button-primary-bg: #166B76;
952
+ --_cs-dark-component-button-primary-bg: #04626D;
954
953
  --_cs-light-component-button-primary-fg: #FFFFFF;
955
954
  --_cs-dark-component-button-primary-fg: #FFFFFF;
956
955
  }[data-cs-element="thuy"][data-cs-variant="ocean"] {
957
- --_cs-light-accent: #004554;
958
- --_cs-dark-accent: #82BCCD;
959
- --_cs-light-accent-strong: #011A21;
960
- --_cs-dark-accent-strong: #011A21;
961
- --_cs-light-accent-bright: #A8D3E0;
962
- --_cs-dark-accent-bright: #ABD6E3;
963
- --_cs-light-accent-on: #10282F;
956
+ --_cs-light-accent: #06556F;
957
+ --_cs-dark-accent: #80BDD8;
958
+ --_cs-light-accent-strong: #034257;
959
+ --_cs-dark-accent-strong: #00445A;
960
+ --_cs-light-accent-bright: #A9D8ED;
961
+ --_cs-dark-accent-bright: #A5D8F0;
962
+ --_cs-light-accent-on: #001721;
964
963
  --_cs-dark-accent-on: #f5ead9;
965
964
  --_cs-light-accent-on-strong: #FFFFFF;
966
965
  --_cs-dark-accent-on-strong: #FFFFFF;
967
- --_cs-light-accent-tint: #EAFAFF;
968
- --_cs-dark-accent-tint: #002F3A;
969
- --_cs-light-accent-ink: #10282F;
970
- --_cs-dark-accent-ink: #AED9E6;
971
- --_cs-light-accent-glow: rgba(0, 69, 84, 0.48);
972
- --_cs-dark-accent-glow: rgba(0, 69, 84, 0.48);
973
- --_cs-light-accent-grad-a: #004554;
974
- --_cs-dark-accent-grad-a: #004554;
975
- --_cs-light-accent-grad-b: #A3D768;
976
- --_cs-dark-accent-grad-b: #A3D768;
977
- --_cs-light-color-text-accent: #011A21;
978
- --_cs-dark-color-text-accent: #B6E1EF;
979
- --_cs-light-color-link: #011A21;
980
- --_cs-dark-color-link: #B6E1EF;
966
+ --_cs-light-accent-tint: #E5F3FA;
967
+ --_cs-dark-accent-tint: #021821;
968
+ --_cs-light-accent-ink: #092531;
969
+ --_cs-dark-accent-ink: #A8DBF3;
970
+ --_cs-light-accent-glow: rgba(6, 85, 111, 0.48);
971
+ --_cs-dark-accent-glow: rgba(6, 85, 111, 0.48);
972
+ --_cs-light-accent-grad-a: #06556F;
973
+ --_cs-dark-accent-grad-a: #06556F;
974
+ --_cs-light-accent-grad-b: #82CF66;
975
+ --_cs-dark-accent-grad-b: #82CF66;
976
+ --_cs-light-color-text-accent: #003142;
977
+ --_cs-dark-color-text-accent: #AFE2FA;
978
+ --_cs-light-color-link: #003142;
979
+ --_cs-dark-color-link: #AFE2FA;
981
980
  --_cs-light-color-link-hover: #45210E;
982
981
  --_cs-dark-color-link-hover: #f5ead9;
983
982
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -988,35 +987,35 @@
988
987
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
989
988
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
990
989
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
991
- --_cs-light-component-button-primary-bg: #45210E;
992
- --_cs-dark-component-button-primary-bg: #011A21;
990
+ --_cs-light-component-button-primary-bg: #034257;
991
+ --_cs-dark-component-button-primary-bg: #00445A;
993
992
  --_cs-light-component-button-primary-fg: #FFFFFF;
994
993
  --_cs-dark-component-button-primary-fg: #FFFFFF;
995
994
  }[data-cs-element="moc"][data-cs-variant="bamboo"] {
996
- --_cs-light-accent: #E1F1C8;
997
- --_cs-dark-accent: #E1F1C8;
998
- --_cs-light-accent-strong: #6B7754;
999
- --_cs-dark-accent-strong: #54603E;
1000
- --_cs-light-accent-bright: #E5F1D2;
1001
- --_cs-dark-accent-bright: #E5F1D2;
1002
- --_cs-light-accent-on: #212617;
995
+ --_cs-light-accent: #DAEFAA;
996
+ --_cs-dark-accent: #C4DB8C;
997
+ --_cs-light-accent-strong: #62780E;
998
+ --_cs-dark-accent-strong: #607420;
999
+ --_cs-light-accent-bright: #E2F4BA;
1000
+ --_cs-dark-accent-bright: #DCF0B1;
1001
+ --_cs-light-accent-on: #1C2307;
1003
1002
  --_cs-dark-accent-on: #f5ead9;
1004
1003
  --_cs-light-accent-on-strong: #FFFFFF;
1005
1004
  --_cs-dark-accent-on-strong: #FFFFFF;
1006
- --_cs-light-accent-tint: #F4F9ED;
1007
- --_cs-dark-accent-tint: #232D0B;
1008
- --_cs-light-accent-ink: #212617;
1009
- --_cs-dark-accent-ink: #E5F1D2;
1010
- --_cs-light-accent-glow: rgba(225, 241, 200, 0.48);
1011
- --_cs-dark-accent-glow: rgba(225, 241, 200, 0.48);
1012
- --_cs-light-accent-grad-a: #E1F1C8;
1013
- --_cs-dark-accent-grad-a: #E1F1C8;
1014
- --_cs-light-accent-grad-b: #FCAF91;
1015
- --_cs-dark-accent-grad-b: #FCAF91;
1016
- --_cs-light-color-text-accent: #505C3A;
1017
- --_cs-dark-color-text-accent: #E5F1D2;
1018
- --_cs-light-color-link: #505C3A;
1019
- --_cs-dark-color-link: #E5F1D2;
1005
+ --_cs-light-accent-tint: #F5FBE8;
1006
+ --_cs-dark-accent-tint: #293016;
1007
+ --_cs-light-accent-ink: #1E250A;
1008
+ --_cs-dark-accent-ink: #DCF0B1;
1009
+ --_cs-light-accent-glow: rgba(218, 239, 170, 0.48);
1010
+ --_cs-dark-accent-glow: rgba(218, 239, 170, 0.48);
1011
+ --_cs-light-accent-grad-a: #DAEFAA;
1012
+ --_cs-dark-accent-grad-a: #DAEFAA;
1013
+ --_cs-light-accent-grad-b: #FC9C69;
1014
+ --_cs-dark-accent-grad-b: #FC9C69;
1015
+ --_cs-light-color-text-accent: #4A5B02;
1016
+ --_cs-dark-color-text-accent: #DCF0B1;
1017
+ --_cs-light-color-link: #4A5B02;
1018
+ --_cs-dark-color-link: #DCF0B1;
1020
1019
  --_cs-light-color-link-hover: #45210E;
1021
1020
  --_cs-dark-color-link-hover: #f5ead9;
1022
1021
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -1027,35 +1026,35 @@
1027
1026
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
1028
1027
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
1029
1028
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
1030
- --_cs-light-component-button-primary-bg: #45210E;
1031
- --_cs-dark-component-button-primary-bg: #54603E;
1029
+ --_cs-light-component-button-primary-bg: #62780E;
1030
+ --_cs-dark-component-button-primary-bg: #607420;
1032
1031
  --_cs-light-component-button-primary-fg: #FFFFFF;
1033
1032
  --_cs-dark-component-button-primary-fg: #FFFFFF;
1034
1033
  }[data-cs-element="moc"] {
1035
- --_cs-light-accent: #A3D768;
1036
- --_cs-dark-accent: #A3D768;
1037
- --_cs-light-accent-strong: #528003;
1038
- --_cs-dark-accent-strong: #416501;
1039
- --_cs-light-accent-bright: #C5ED9C;
1040
- --_cs-dark-accent-bright: #C5ED9C;
1041
- --_cs-light-accent-on: #182A00;
1034
+ --_cs-light-accent: #82CF66;
1035
+ --_cs-dark-accent: #8AD370;
1036
+ --_cs-light-accent-strong: #2B7100;
1037
+ --_cs-dark-accent-strong: #286704;
1038
+ --_cs-light-accent-bright: #B9F0A6;
1039
+ --_cs-dark-accent-bright: #B2EC9E;
1040
+ --_cs-light-accent-on: #0A2700;
1042
1041
  --_cs-dark-accent-on: #f5ead9;
1043
1042
  --_cs-light-accent-on-strong: #FFFFFF;
1044
1043
  --_cs-dark-accent-on-strong: #FFFFFF;
1045
- --_cs-light-accent-tint: #EFFCE3;
1046
- --_cs-dark-accent-tint: #1F2E0B;
1047
- --_cs-light-accent-ink: #182A00;
1048
- --_cs-dark-accent-ink: #C5ED9C;
1049
- --_cs-light-accent-glow: rgba(163, 215, 104, 0.48);
1050
- --_cs-dark-accent-glow: rgba(163, 215, 104, 0.48);
1051
- --_cs-light-accent-grad-a: #A3D768;
1052
- --_cs-dark-accent-grad-a: #A3D768;
1053
- --_cs-light-accent-grad-b: #FCAF91;
1054
- --_cs-dark-accent-grad-b: #FCAF91;
1055
- --_cs-light-color-text-accent: #38570C;
1056
- --_cs-dark-color-text-accent: #C5ED9C;
1057
- --_cs-light-color-link: #38570C;
1058
- --_cs-dark-color-link: #C5ED9C;
1044
+ --_cs-light-accent-tint: #EAFAE5;
1045
+ --_cs-dark-accent-tint: #12260B;
1046
+ --_cs-light-accent-ink: #0D2902;
1047
+ --_cs-dark-accent-ink: #B2EC9E;
1048
+ --_cs-light-accent-glow: rgba(130, 207, 102, 0.48);
1049
+ --_cs-dark-accent-glow: rgba(130, 207, 102, 0.48);
1050
+ --_cs-light-accent-grad-a: #82CF66;
1051
+ --_cs-dark-accent-grad-a: #82CF66;
1052
+ --_cs-light-accent-grad-b: #FC9C69;
1053
+ --_cs-dark-accent-grad-b: #FC9C69;
1054
+ --_cs-light-color-text-accent: #24570B;
1055
+ --_cs-dark-color-text-accent: #B2EC9E;
1056
+ --_cs-light-color-link: #24570B;
1057
+ --_cs-dark-color-link: #B2EC9E;
1059
1058
  --_cs-light-color-link-hover: #45210E;
1060
1059
  --_cs-dark-color-link-hover: #f5ead9;
1061
1060
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -1066,35 +1065,35 @@
1066
1065
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
1067
1066
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
1068
1067
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
1069
- --_cs-light-component-button-primary-bg: #45210E;
1070
- --_cs-dark-component-button-primary-bg: #416501;
1068
+ --_cs-light-component-button-primary-bg: #2B7100;
1069
+ --_cs-dark-component-button-primary-bg: #286704;
1071
1070
  --_cs-light-component-button-primary-fg: #FFFFFF;
1072
1071
  --_cs-dark-component-button-primary-fg: #FFFFFF;
1073
1072
  }[data-cs-element="moc"][data-cs-variant="forest"] {
1074
- --_cs-light-accent: #1A4A01;
1075
- --_cs-dark-accent: #8EC27D;
1076
- --_cs-light-accent-strong: #051D00;
1077
- --_cs-dark-accent-strong: #061D00;
1078
- --_cs-light-accent-bright: #B0D8A3;
1079
- --_cs-dark-accent-bright: #B0D8A3;
1080
- --_cs-light-accent-on: #162A0E;
1073
+ --_cs-light-accent: #105C36;
1074
+ --_cs-dark-accent: #84C49B;
1075
+ --_cs-light-accent-strong: #0A4829;
1076
+ --_cs-dark-accent-strong: #074A29;
1077
+ --_cs-light-accent-bright: #ACDDBD;
1078
+ --_cs-dark-accent-bright: #A8DFBB;
1079
+ --_cs-light-accent-on: #011C0D;
1081
1080
  --_cs-dark-accent-on: #f5ead9;
1082
1081
  --_cs-light-accent-on-strong: #FFFFFF;
1083
1082
  --_cs-dark-accent-on-strong: #FFFFFF;
1084
- --_cs-light-accent-tint: #ECFDE7;
1085
- --_cs-dark-accent-tint: #193011;
1086
- --_cs-light-accent-ink: #162A0E;
1087
- --_cs-dark-accent-ink: #B6DFA9;
1088
- --_cs-light-accent-glow: rgba(26, 74, 1, 0.48);
1089
- --_cs-dark-accent-glow: rgba(26, 74, 1, 0.48);
1090
- --_cs-light-accent-grad-a: #1A4A01;
1091
- --_cs-dark-accent-grad-a: #1A4A01;
1092
- --_cs-light-accent-grad-b: #FCAF91;
1093
- --_cs-dark-accent-grad-b: #FCAF91;
1094
- --_cs-light-color-text-accent: #051D00;
1095
- --_cs-dark-color-text-accent: #BDE5B0;
1096
- --_cs-light-color-link: #051D00;
1097
- --_cs-dark-color-link: #BDE5B0;
1083
+ --_cs-light-accent-tint: #E6F5EB;
1084
+ --_cs-dark-accent-tint: #031A0C;
1085
+ --_cs-light-accent-ink: #0B2818;
1086
+ --_cs-dark-accent-ink: #A8DFBB;
1087
+ --_cs-light-accent-glow: rgba(16, 92, 54, 0.48);
1088
+ --_cs-dark-accent-glow: rgba(16, 92, 54, 0.48);
1089
+ --_cs-light-accent-grad-a: #105C36;
1090
+ --_cs-dark-accent-grad-a: #105C36;
1091
+ --_cs-light-accent-grad-b: #FC9C69;
1092
+ --_cs-dark-accent-grad-b: #FC9C69;
1093
+ --_cs-light-color-text-accent: #04361D;
1094
+ --_cs-dark-color-text-accent: #B0E7C3;
1095
+ --_cs-light-color-link: #04361D;
1096
+ --_cs-dark-color-link: #B0E7C3;
1098
1097
  --_cs-light-color-link-hover: #45210E;
1099
1098
  --_cs-dark-color-link-hover: #f5ead9;
1100
1099
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -1105,35 +1104,35 @@
1105
1104
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
1106
1105
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
1107
1106
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
1108
- --_cs-light-component-button-primary-bg: #45210E;
1109
- --_cs-dark-component-button-primary-bg: #061D00;
1107
+ --_cs-light-component-button-primary-bg: #0A4829;
1108
+ --_cs-dark-component-button-primary-bg: #074A29;
1110
1109
  --_cs-light-component-button-primary-fg: #FFFFFF;
1111
1110
  --_cs-dark-component-button-primary-fg: #FFFFFF;
1112
1111
  }[data-cs-element="kim"][data-cs-variant="titanium"] {
1113
- --_cs-light-accent: #FEE5C7;
1114
- --_cs-dark-accent: #FEE5C7;
1115
- --_cs-light-accent-strong: #847058;
1116
- --_cs-dark-accent-strong: #6B573E;
1117
- --_cs-light-accent-bright: #FBE8D2;
1118
- --_cs-dark-accent-bright: #FBE8D2;
1119
- --_cs-light-accent-on: #2B2217;
1112
+ --_cs-light-accent: #D3E7FC;
1113
+ --_cs-dark-accent: #BCD2EA;
1114
+ --_cs-light-accent-strong: #56708B;
1115
+ --_cs-dark-accent-strong: #576D83;
1116
+ --_cs-light-accent-bright: #DDEDFF;
1117
+ --_cs-dark-accent-bright: #D6E9FD;
1118
+ --_cs-light-accent-on: #182029;
1120
1119
  --_cs-dark-accent-on: #f5ead9;
1121
1120
  --_cs-light-accent-on-strong: #FFFFFF;
1122
1121
  --_cs-dark-accent-on-strong: #FFFFFF;
1123
- --_cs-light-accent-tint: #FDF5ED;
1124
- --_cs-dark-accent-tint: #37250B;
1125
- --_cs-light-accent-ink: #2B2217;
1126
- --_cs-dark-accent-ink: #FBE8D2;
1127
- --_cs-light-accent-glow: rgba(254, 229, 199, 0.48);
1128
- --_cs-dark-accent-glow: rgba(254, 229, 199, 0.48);
1129
- --_cs-light-accent-grad-a: #FEE5C7;
1130
- --_cs-dark-accent-grad-a: #FEE5C7;
1131
- --_cs-light-accent-grad-b: #2EDBF7;
1132
- --_cs-dark-accent-grad-b: #2EDBF7;
1133
- --_cs-light-color-text-accent: #67543D;
1134
- --_cs-dark-color-text-accent: #FBE8D2;
1135
- --_cs-light-color-link: #67543D;
1136
- --_cs-dark-color-link: #FBE8D2;
1122
+ --_cs-light-accent-tint: #F3F8FE;
1123
+ --_cs-dark-accent-tint: #262D35;
1124
+ --_cs-light-accent-ink: #1A232B;
1125
+ --_cs-dark-accent-ink: #D6E9FD;
1126
+ --_cs-light-accent-glow: rgba(211, 231, 252, 0.48);
1127
+ --_cs-dark-accent-glow: rgba(211, 231, 252, 0.48);
1128
+ --_cs-light-accent-grad-a: #D3E7FC;
1129
+ --_cs-dark-accent-grad-a: #D3E7FC;
1130
+ --_cs-light-accent-grad-b: #00CEE4;
1131
+ --_cs-dark-accent-grad-b: #00CEE4;
1132
+ --_cs-light-color-text-accent: #3D5670;
1133
+ --_cs-dark-color-text-accent: #D6E9FD;
1134
+ --_cs-light-color-link: #3D5670;
1135
+ --_cs-dark-color-link: #D6E9FD;
1137
1136
  --_cs-light-color-link-hover: #45210E;
1138
1137
  --_cs-dark-color-link-hover: #f5ead9;
1139
1138
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -1144,35 +1143,35 @@
1144
1143
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
1145
1144
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
1146
1145
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
1147
- --_cs-light-component-button-primary-bg: #45210E;
1148
- --_cs-dark-component-button-primary-bg: #6B573E;
1146
+ --_cs-light-component-button-primary-bg: #56708B;
1147
+ --_cs-dark-component-button-primary-bg: #576D83;
1149
1148
  --_cs-light-component-button-primary-fg: #FFFFFF;
1150
1149
  --_cs-dark-component-button-primary-fg: #FFFFFF;
1151
1150
  }[data-cs-element="kim"] {
1152
- --_cs-light-accent: #F3B958;
1153
- --_cs-dark-accent: #F3B958;
1154
- --_cs-light-accent-strong: #996A08;
1155
- --_cs-dark-accent-strong: #795303;
1156
- --_cs-light-accent-bright: #FDD89F;
1157
- --_cs-dark-accent-bright: #FDD89F;
1158
- --_cs-light-accent-on: #312002;
1151
+ --_cs-light-accent: #C4B78F;
1152
+ --_cs-dark-accent: #C8BC96;
1153
+ --_cs-light-accent-strong: #6A5E3A;
1154
+ --_cs-dark-accent-strong: #615633;
1155
+ --_cs-light-accent-bright: #E8DEBD;
1156
+ --_cs-dark-accent-bright: #E3D9B8;
1157
+ --_cs-light-accent-on: #241F0F;
1159
1158
  --_cs-dark-accent-on: #f5ead9;
1160
1159
  --_cs-light-accent-on-strong: #FFFFFF;
1161
1160
  --_cs-dark-accent-on-strong: #FFFFFF;
1162
- --_cs-light-accent-tint: #FFF5E7;
1163
- --_cs-dark-accent-tint: #382503;
1164
- --_cs-light-accent-ink: #312002;
1165
- --_cs-dark-accent-ink: #FDD89F;
1166
- --_cs-light-accent-glow: rgba(243, 185, 88, 0.48);
1167
- --_cs-dark-accent-glow: rgba(243, 185, 88, 0.48);
1168
- --_cs-light-accent-grad-a: #F3B958;
1169
- --_cs-dark-accent-grad-a: #F3B958;
1170
- --_cs-light-accent-grad-b: #2EDBF7;
1171
- --_cs-dark-accent-grad-b: #2EDBF7;
1172
- --_cs-light-color-text-accent: #65460B;
1173
- --_cs-dark-color-text-accent: #FDD89F;
1174
- --_cs-light-color-link: #65460B;
1175
- --_cs-dark-color-link: #FDD89F;
1161
+ --_cs-light-accent-tint: #F8F4EA;
1162
+ --_cs-dark-accent-tint: #242013;
1163
+ --_cs-light-accent-ink: #262112;
1164
+ --_cs-dark-accent-ink: #E3D9B8;
1165
+ --_cs-light-accent-glow: rgba(196, 183, 143, 0.48);
1166
+ --_cs-dark-accent-glow: rgba(196, 183, 143, 0.48);
1167
+ --_cs-light-accent-grad-a: #C4B78F;
1168
+ --_cs-dark-accent-grad-a: #C4B78F;
1169
+ --_cs-light-accent-grad-b: #00CEE4;
1170
+ --_cs-dark-accent-grad-b: #00CEE4;
1171
+ --_cs-light-color-text-accent: #564B27;
1172
+ --_cs-dark-color-text-accent: #E5DBBA;
1173
+ --_cs-light-color-link: #564B27;
1174
+ --_cs-dark-color-link: #E5DBBA;
1176
1175
  --_cs-light-color-link-hover: #45210E;
1177
1176
  --_cs-dark-color-link-hover: #f5ead9;
1178
1177
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -1183,35 +1182,35 @@
1183
1182
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
1184
1183
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
1185
1184
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
1186
- --_cs-light-component-button-primary-bg: #45210E;
1187
- --_cs-dark-component-button-primary-bg: #795303;
1185
+ --_cs-light-component-button-primary-bg: #6A5E3A;
1186
+ --_cs-dark-component-button-primary-bg: #615633;
1188
1187
  --_cs-light-component-button-primary-fg: #FFFFFF;
1189
1188
  --_cs-dark-component-button-primary-fg: #FFFFFF;
1190
1189
  }[data-cs-element="kim"][data-cs-variant="steel"] {
1191
- --_cs-light-accent: #503901;
1192
- --_cs-dark-accent: #CCB17E;
1193
- --_cs-light-accent-strong: #1F1400;
1194
- --_cs-dark-accent-strong: #1F1400;
1195
- --_cs-light-accent-bright: #DCC8A2;
1196
- --_cs-dark-accent-bright: #DFCBA5;
1197
- --_cs-light-accent-on: #2D220E;
1190
+ --_cs-light-accent: #384D72;
1191
+ --_cs-dark-accent: #9FB7E0;
1192
+ --_cs-light-accent-strong: #293C5C;
1193
+ --_cs-dark-accent-strong: #2B3D5D;
1194
+ --_cs-light-accent-bright: #BED0F0;
1195
+ --_cs-dark-accent-bright: #BBD0F4;
1196
+ --_cs-light-accent-on: #020818;
1198
1197
  --_cs-dark-accent-on: #f5ead9;
1199
1198
  --_cs-light-accent-on-strong: #FFFFFF;
1200
1199
  --_cs-dark-accent-on-strong: #FFFFFF;
1201
- --_cs-light-accent-tint: #FEF6E7;
1202
- --_cs-dark-accent-tint: #362602;
1203
- --_cs-light-accent-ink: #2D220E;
1204
- --_cs-dark-accent-ink: #E6D1AB;
1205
- --_cs-light-accent-glow: rgba(80, 57, 1, 0.48);
1206
- --_cs-dark-accent-glow: rgba(80, 57, 1, 0.48);
1207
- --_cs-light-accent-grad-a: #503901;
1208
- --_cs-dark-accent-grad-a: #503901;
1209
- --_cs-light-accent-grad-b: #2EDBF7;
1210
- --_cs-dark-accent-grad-b: #2EDBF7;
1211
- --_cs-light-color-text-accent: #1F1400;
1212
- --_cs-dark-color-text-accent: #ECD8B2;
1213
- --_cs-light-color-link: #1F1400;
1214
- --_cs-dark-color-link: #ECD8B2;
1200
+ --_cs-light-accent-tint: #EBF1FB;
1201
+ --_cs-dark-accent-tint: #0D1523;
1202
+ --_cs-light-accent-ink: #182232;
1203
+ --_cs-dark-accent-ink: #BED3F7;
1204
+ --_cs-light-accent-glow: rgba(56, 77, 114, 0.48);
1205
+ --_cs-dark-accent-glow: rgba(56, 77, 114, 0.48);
1206
+ --_cs-light-accent-grad-a: #384D72;
1207
+ --_cs-dark-accent-grad-a: #384D72;
1208
+ --_cs-light-accent-grad-b: #00CEE4;
1209
+ --_cs-dark-accent-grad-b: #00CEE4;
1210
+ --_cs-light-color-text-accent: #1B2E4C;
1211
+ --_cs-dark-color-text-accent: #C8DBFD;
1212
+ --_cs-light-color-link: #1B2E4C;
1213
+ --_cs-dark-color-link: #C8DBFD;
1215
1214
  --_cs-light-color-link-hover: #45210E;
1216
1215
  --_cs-dark-color-link-hover: #f5ead9;
1217
1216
  --_cs-light-color-surface-panel: color-mix(in oklab, var(--_cs-light-accent) 4%, #FFFFFF);
@@ -1222,8 +1221,8 @@
1222
1221
  --_cs-dark-color-surface-raised: color-mix(in oklab, var(--_cs-dark-accent) 14%, #2b1e14);
1223
1222
  --_cs-light-color-border-default: color-mix(in oklab, var(--_cs-light-accent) 40%, #E7D9C6);
1224
1223
  --_cs-dark-color-border-default: color-mix(in oklab, var(--_cs-dark-accent) 40%, #4a3a2c);
1225
- --_cs-light-component-button-primary-bg: #45210E;
1226
- --_cs-dark-component-button-primary-bg: #1F1400;
1224
+ --_cs-light-component-button-primary-bg: #293C5C;
1225
+ --_cs-dark-component-button-primary-bg: #2B3D5D;
1227
1226
  --_cs-light-component-button-primary-fg: #FFFFFF;
1228
1227
  --_cs-dark-component-button-primary-fg: #FFFFFF;
1229
1228
  }:is(:root, [data-theme], [data-cs-element], [data-cs-contrast], [data-theme][data-cs-element][data-cs-variant]) {
@@ -1380,7 +1379,7 @@
1380
1379
  }
1381
1380
  }@layer cs-components {/* Source: base/typography.css *//* CyberSkill — typographic role utilities. Each bundles size + line-height +
1382
1381
  * weight + tracking so consumers write intent (.cs-h1) not magic numbers.
1383
- * Built on the semantic aliases in tokens/typography.css. */.cs-display { font-family: var(--cs-heading-family); font-size: var(--cs-text-display); line-height: var(--cs-font-lineHeight-tight); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-h1 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h1); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-h2 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h2); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-h3 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h3); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight); overflow-wrap: break-word; }.cs-h4 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h4); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-font-weight-semibold); }.cs-body-lg { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-body-lg); line-height: var(--cs-font-lineHeight-body); font-weight: var(--cs-font-weight-regular); text-wrap: pretty; }.cs-body { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-body); line-height: var(--cs-font-lineHeight-body); font-weight: var(--cs-font-weight-regular); text-wrap: pretty; }.cs-secondary { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-secondary); line-height: var(--cs-font-lineHeight-body); color: var(--cs-color-text-muted); }.cs-caption { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-caption); line-height: var(--cs-font-lineHeight-body); color: var(--cs-color-text-muted); }.cs-eyebrow { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-eyebrow); font-weight: var(--cs-font-weight-bold); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-accent); }.cs-mono { font-family: var(--cs-font-family-mono); }/* Opt in to the display face for a subtree — retargets --cs-heading-family so
1382
+ * Built on the semantic aliases in tokens/typography.css. */.cs-display { font-family: var(--cs-heading-family); font-size: var(--cs-text-display); line-height: var(--cs-font-lineHeight-tight); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-display--fluid { font-family: var(--cs-heading-family); font-size: clamp(2.25rem, 1.5rem + 3.5vw, var(--cs-text-display)); line-height: var(--cs-font-lineHeight-tight); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-h1 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h1); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-h1--fluid { font-family: var(--cs-heading-family); font-size: clamp(1.75rem, 1.25rem + 2vw, var(--cs-text-h1)); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight-strong); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-h2 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h2); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight); letter-spacing: var(--cs-heading-tracking); text-wrap: balance; overflow-wrap: break-word; }.cs-h3 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h3); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-heading-weight); overflow-wrap: break-word; }.cs-h4 { font-family: var(--cs-heading-family); font-size: var(--cs-text-h4); line-height: var(--cs-font-lineHeight-heading); font-weight: var(--cs-font-weight-semibold); }.cs-body-lg { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-body-lg); line-height: var(--cs-font-lineHeight-body); font-weight: var(--cs-font-weight-regular); text-wrap: pretty; }.cs-body { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-body); line-height: var(--cs-font-lineHeight-body); font-weight: var(--cs-font-weight-regular); text-wrap: pretty; }.cs-secondary { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-secondary); line-height: var(--cs-font-lineHeight-body); color: var(--cs-color-text-muted); }.cs-caption { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-caption); line-height: var(--cs-font-lineHeight-body); color: var(--cs-color-text-muted); }.cs-eyebrow { font-family: var(--cs-font-family-ui); font-size: var(--cs-text-eyebrow); font-weight: var(--cs-font-weight-bold); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-accent); }.cs-mono { font-family: var(--cs-font-family-mono); }.cs-tabular { font-variant-numeric: tabular-nums; }.cs-prose { max-inline-size: var(--cs-prose-measure, 45rem); line-height: var(--cs-font-lineHeight-body, 1.5); }/* Opt in to the display face for a subtree — retargets --cs-heading-family so
1384
1383
  * .cs-display/.cs-h1…h4 and bare headings follow, body copy stays on the UI
1385
1384
  * face. Space Grotesk tops out at 700, so --cs-heading-weight-strong (800)
1386
1385
  * clamps to 700 within that family (CSS does not hop to Be Vietnam Pro for a
@@ -1415,8 +1414,8 @@
1415
1414
  box-shadow: 0 0 0 5px var(--cs-color-accent-ochre);
1416
1415
  }.cs-button--secondary {
1417
1416
  background: var(--cs-color-surface-panel, #ffffff);
1418
- border-color: var(--_cs-light, var(--cs-color-brand-umber, #45210e))var(--_cs-dark, var(--cs-color-brand-ochre));
1419
- color: var(--_cs-light, var(--cs-color-brand-umber, #45210e))var(--_cs-dark, var(--cs-color-brand-ochre));
1417
+ border-color: var(--_cs-light, var(--cs-accent-strong, #45210e))var(--_cs-dark, var(--cs-accent, #f4ba17));
1418
+ color: var(--_cs-light, var(--cs-color-text-accent, #45210e))var(--_cs-dark, var(--cs-color-text-accent, #f4ba17));
1420
1419
  }.cs-button--secondary:hover { background: var(--cs-color-surface-raised, #fbf4e9); filter: none; }.cs-button--tertiary {
1421
1420
  background: var(--cs-color-surface-raised, #fbf4e9);
1422
1421
  border-color: transparent;
@@ -1465,7 +1464,7 @@
1465
1464
  min-height: var(--cs-component-textfield-minHeight, 44px);
1466
1465
  padding-block: var(--cs-component-textfield-paddingY, 10px);
1467
1466
  padding-inline: var(--cs-component-textfield-paddingX, 12px);
1468
- }.cs-field__control::placeholder { color: var(--cs-color-text-muted, #3f2d21); opacity: 0.7; }.cs-field.is-invalid .cs-field__control { border-color: var(--cs-color-semantic-danger, #b42318); }.cs-field__error { color: var(--cs-color-semantic-danger-text, #4b0502); font-size: 0.875rem; }/* ---- Dialog ---- */.cs-dialog-layer { inset: 0; position: fixed; z-index: var(--cs-depth-modal); }.cs-dialog__overlay { background: rgba(31, 19, 11, 0.42); inset: 0; position: absolute; }.cs-dialog {
1467
+ }.cs-field__control::placeholder { color: var(--cs-color-text-muted, #3f2d21); opacity: 0.7; }.cs-field.is-invalid .cs-field__control { border-color: var(--cs-color-semantic-danger, #b42318); }.cs-field__error { color: var(--cs-color-semantic-danger-text, #4b0502); font-size: 0.875rem; }/* ---- Dialog ---- */.cs-dialog-layer { inset: 0; position: fixed; z-index: var(--cs-depth-modal); }.cs-dialog__overlay { background: var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); inset: 0; position: absolute; }.cs-dialog {
1469
1468
  background: var(--cs-color-surface-panel, #ffffff);
1470
1469
  border-radius: var(--cs-radius-md, 8px);
1471
1470
  box-shadow: var(--cs-shadow-xl, 0 24px 80px rgba(31, 19, 11, 0.26));
@@ -1507,8 +1506,12 @@
1507
1506
  }
1508
1507
  }
1509
1508
  }/* ---- DataTable ---- */.cs-table-wrap { overflow: auto; }.cs-table-wrap--status { padding: var(--cs-space-4, 16px) 0; }.cs-table { border-collapse: collapse; color: var(--cs-color-text-primary, #45210e); inline-size: 100%; }.cs-table th, .cs-table td {
1510
- border-block-end: 1px solid rgba(69, 33, 14, 0.18);
1509
+ border-block-end: 1px solid var(--cs-color-border-subtle, var(--_cs-border-subtle));
1511
1510
  padding: 0.625rem 0.75rem; text-align: start;
1511
+ }.cs-table th.cs-table__cell--numeric,
1512
+ .cs-table td.cs-table__cell--numeric {
1513
+ font-variant-numeric: tabular-nums;
1514
+ text-align: end;
1512
1515
  }.cs-table thead th {
1513
1516
  font-size: var(--cs-font-size-xs, 0.75rem); text-transform: uppercase;
1514
1517
  letter-spacing: var(--cs-letter-spacing-caps, 0.08em); color: var(--cs-color-text-muted, #3f2d21);
@@ -1519,7 +1522,7 @@
1519
1522
  }.cs-ai-disclosure__panel {
1520
1523
  background: var(--cs-color-surface-panel, #ffffff);
1521
1524
  color: var(--cs-color-text-primary, #45210e);
1522
- border: 1px solid rgba(69, 33, 14, 0.18); border-radius: var(--cs-radius-md, 8px);
1525
+ border: 1px solid var(--cs-color-border-subtle, var(--_cs-border-subtle)); border-radius: var(--cs-radius-md, 8px);
1523
1526
  box-shadow: var(--cs-shadow-xs, 0 1px 2px rgba(31, 19, 11, 0.08));
1524
1527
  display: grid; gap: 0.375rem; inset-block-start: calc(100% + 0.375rem); inset-inline-start: 0;
1525
1528
  min-inline-size: 18rem; padding: 0.75rem; position: absolute; z-index: var(--cs-depth-dropdown, 60);
@@ -1535,7 +1538,7 @@
1535
1538
  .cs-ai-disclosure, .cs-review-gate, .cs-logo {
1536
1539
  font-family: var(--cs-font-family-ui, ui-sans-serif, system-ui);
1537
1540
  }/* Source: base/forms.css *//* CyberSkill — form controls (.cs-*). Built on the design tokens; native
1538
- * controls use accent-color for brand-tinted checks/radios (accessible + minimal). *//* Select — reuses .cs-field label/description/error */.cs-select { position: relative; display: block; }.cs-select select.cs-field__control { appearance: none; -webkit-appearance: none; width: 100%; padding-inline-end: 38px; cursor: pointer; background: var(--cs-color-surface-panel); }.cs-select__chevron { position: absolute; inset-inline-end: 12px; inset-block-start: 50%; transform: translateY(-50%); pointer-events: none; color: var(--cs-color-text-muted); display: grid; place-items: center; }.cs-select select.cs-field__control:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; border-color: var(--cs-color-brand-ochre); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }/* NativeSelect — lean progressive-enhancement companion beside Select */.cs-native-select { position: relative; display: block; }.cs-native-select select.cs-field__control { appearance: none; -webkit-appearance: none; width: 100%; padding-inline-end: 38px; cursor: pointer; background: var(--cs-color-surface-panel); }.cs-native-select__chevron { position: absolute; inset-inline-end: 12px; inset-block-start: 50%; transform: translateY(-50%); pointer-events: none; color: var(--cs-color-text-muted); display: grid; place-items: center; }.cs-native-select select.cs-field__control:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; border-color: var(--cs-color-brand-ochre); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-native-select--sm select.cs-field__control { min-block-size: 36px; padding-block: 6px; font-size: var(--cs-font-size-sm); }.cs-native-select--md select.cs-field__control { min-block-size: 44px; }/* Checkbox + Radio — native, brand accent */.cs-check, .cs-radio { display: inline-flex; align-items: flex-start; gap: 10px; cursor: pointer; color: var(--cs-color-text-primary); font-family: var(--cs-font-family-ui); line-height: 1.4; }.cs-check input, .cs-radio input { inline-size: 20px; block-size: 20px; margin: 0; flex: none; accent-color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); cursor: pointer; }.cs-check.is-disabled, .cs-radio.is-disabled { opacity: 0.55; cursor: not-allowed; }.cs-check__text, .cs-radio__text { display: grid; gap: 2px; }.cs-check__desc, .cs-radio__desc { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); }.cs-radio-group { display: grid; gap: 10px; border: 0; padding: 0; margin: 0; }.cs-radio-group > legend { font-weight: 700; padding: 0; margin-block-end: 6px; }/* Switch — custom track/knob */.cs-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-family: var(--cs-font-family-ui); color: var(--cs-color-text-primary); }.cs-switch input { position: absolute; opacity: 0; width: 0; height: 0; }.cs-switch__track { inline-size: 44px; block-size: 26px; border-radius: 999px; background: var(--cs-color-border-default); position: relative; transition: background var(--cs-duration-fast) var(--cs-ease-standard); flex: none; }.cs-switch__track::after { content: ""; position: absolute; inset-block-start: 3px; inset-inline-start: 3px; inline-size: 20px; block-size: 20px; border-radius: 50%; background: var(--cs-color-surface-panel, #fff); box-shadow: var(--cs-shadow-xs); transition: transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-switch input:checked + .cs-switch__track { background: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); }.cs-switch input:checked + .cs-switch__track::after { transform: translateX(18px); }.cs-switch input:focus-visible + .cs-switch__track { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-switch:focus-within { outline-style: solid; outline-width: 2px; outline-color: var(--cs-color-text-primary); outline-offset: 4px; border-radius: 6px; }.cs-switch.is-disabled { opacity: 0.55; cursor: not-allowed; }/* Textarea reuses .cs-field; give it sane sizing */textarea.cs-field__control { min-height: 96px; resize: vertical; line-height: var(--cs-font-lineHeight-body); }/* Source: base/feedback.css *//* CyberSkill — feedback + status (.cs-*). Semantic colour never the only signal. *//* Badge — compact status label */.cs-badge { display: inline-flex; align-items: center; gap: 5px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-xs); font-weight: 700; line-height: 1; padding: 4px 9px; border-radius: var(--cs-radius-full); text-transform: uppercase; letter-spacing: 0.04em; background: var(--cs-color-surface-raised); color: var(--cs-color-text-accent); border: 1px solid var(--cs-color-border-default); }.cs-badge--solid { border-color: transparent; color: #fff; /* on-brand-umber ink (allowlisted; text-inverse flips in dark) */ background: var(--cs-color-brand-umber); }.cs-badge--ochre { background: var(--cs-color-brand-ochre); color: var(--cs-color-brand-umber); border-color: transparent; }.cs-badge--success { background: var(--cs-color-semantic-success); color: var(--cs-color-semantic-success-fg); border-color: transparent; }.cs-badge--danger { background: var(--cs-color-semantic-danger); color: var(--cs-color-semantic-danger-fg); border-color: transparent; }.cs-badge--warning { background: var(--cs-color-semantic-warning); color: var(--cs-color-semantic-warning-fg); border-color: transparent; }.cs-badge--info { background: var(--cs-color-semantic-info); color: var(--cs-color-semantic-info-fg); border-color: transparent; }.cs-badge__dot { inline-size: 7px; block-size: 7px; border-radius: 50%; background: currentColor; }/* Tag / Chip — removable */.cs-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-sm); font-weight: 600; padding: 5px 10px; border-radius: var(--cs-radius-full); background: var(--cs-color-surface-raised); color: var(--cs-color-text-accent); border: 1px solid var(--cs-color-border-default); }.cs-tag__close { display: inline-grid; place-items: center; inline-size: 18px; block-size: 18px; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; padding: 0; }.cs-tag__close:hover { background: color-mix(in oklab, var(--cs-color-brand-umber) 12%, transparent); }/* Alert / Banner */.cs-alert { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; padding: 14px 16px; border-radius: var(--cs-radius-md); border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); align-items: start; }.cs-alert__icon { color: var(--cs-color-text-accent); display: grid; place-items: start; padding-block-start: 1px; }.cs-alert__title { font-weight: 700; margin: 0 0 2px; }.cs-alert__body { margin: 0; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-alert__dismiss { appearance: none; border: 0; background: transparent; color: var(--cs-color-text-muted); cursor: pointer; font-size: var(--cs-font-size-md, 1.125rem); line-height: 1; padding: 0 2px; border-radius: var(--cs-radius-sm); }.cs-alert__dismiss:hover { color: var(--cs-color-text-primary); }.cs-alert__dismiss:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-alert--info { border-inline-start: 4px solid var(--cs-color-semantic-info); }.cs-alert--info .cs-alert__icon { color: var(--cs-color-semantic-info-text); }.cs-alert--success { border-inline-start: 4px solid var(--cs-color-semantic-success); }.cs-alert--success .cs-alert__icon { color: var(--cs-color-semantic-success-text); }.cs-alert--warning { border-inline-start: 4px solid var(--cs-color-semantic-warning); }.cs-alert--warning .cs-alert__icon { color: var(--cs-color-semantic-warning-text); }.cs-alert--danger { border-inline-start: 4px solid var(--cs-color-semantic-danger); }.cs-alert--danger .cs-alert__icon { color: var(--cs-color-semantic-danger-text); }/* Toast */.cs-toast-stack { position: fixed; inset-block-end: 20px; inset-inline-end: 20px; z-index: var(--cs-depth-toast); display: grid; gap: 10px; max-inline-size: min(380px, calc(100% - 40px)); }.cs-toast { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; padding: 12px 14px; border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); box-shadow: var(--cs-shadow-md); color: var(--cs-color-text-primary); animation: cs-toast-in var(--cs-duration-base) var(--cs-ease-entrance); }.cs-toast__icon { color: var(--cs-color-text-accent); }.cs-toast--default { border-inline-start: 4px solid var(--cs-color-semantic-info); }.cs-toast--default .cs-toast__icon { color: var(--cs-color-semantic-info-text); }.cs-toast--success { border-inline-start: 4px solid var(--cs-color-semantic-success); }.cs-toast--success .cs-toast__icon { color: var(--cs-color-semantic-success-text); }.cs-toast--danger { border-inline-start: 4px solid var(--cs-color-semantic-danger); }.cs-toast--danger .cs-toast__icon { color: var(--cs-color-semantic-danger-text); }.cs-toast__title { font-weight: 700; font-size: var(--cs-font-size-sm); }.cs-toast__body { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); margin-block-start: 2px; }.cs-toast__close { border: 0; background: transparent; cursor: pointer; color: var(--cs-color-text-muted); padding: 0; display: grid; place-items: center; }@keyframes cs-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }@media (prefers-reduced-motion: reduce) { .cs-toast { animation: none; } }/* Spinner */.cs-spinner { display: inline-block; inline-size: 20px; block-size: 20px; border-radius: 50%; border: 2.5px solid color-mix(in oklab, var(--cs-color-brand-umber) 22%, transparent); border-color: var(--_cs-light, color-mix(in oklab, var(--cs-color-brand-umber) 22%, transparent))var(--_cs-dark, color-mix(in oklab, var(--cs-color-brand-ochre) 26%, transparent)); border-top-color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); animation: cs-spin 0.62s linear infinite; }@media (prefers-reduced-motion: reduce) { .cs-spinner { animation: none; } }/* Progress bar */.cs-progress { inline-size: 100%; block-size: 10px; border-radius: var(--cs-radius-full); background: var(--cs-color-surface-raised); overflow: hidden; }.cs-progress__fill { display: block; block-size: 100%; border-radius: inherit; background: var(--cs-color-brand-ochre); transition: inline-size var(--cs-duration-slow) var(--cs-ease-standard); }.cs-progress--umber .cs-progress__fill { background: var(--cs-color-brand-umber); }.cs-progress--success .cs-progress__fill { background: var(--cs-color-semantic-success); }/* Skeleton */.cs-skeleton { display: block; border-radius: var(--cs-radius-sm); background: linear-gradient(90deg, var(--cs-color-surface-raised) 25%, color-mix(in oklab, var(--cs-color-surface-raised) 55%, var(--cs-color-surface-panel)) 37%, var(--cs-color-surface-raised) 63%); background-size: 400% 100%; animation: cs-shimmer 1.4s ease infinite; }.cs-skeleton--text { block-size: 0.75em; margin-block: 0.25em; }.cs-skeleton--circle { border-radius: 50%; }@keyframes cs-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }@media (prefers-reduced-motion: reduce) { .cs-skeleton { animation: none; } }/* Source: base/data.css *//* CyberSkill — data display + layout (.cs-*). *//* Card */.cs-card { background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-sm); color: var(--cs-color-text-primary); overflow: hidden; }.cs-card--flat { box-shadow: none; }.cs-card--interactive { cursor: pointer; transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-card--interactive:hover { border-color: var(--cs-color-brand-ochre); box-shadow: var(--cs-shadow-md); }.cs-card--interactive:focus-visible { box-shadow: 0 0 0 5px var(--cs-color-accent-ochre), var(--cs-shadow-sm); transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-card--flat.cs-card--interactive:focus-visible { box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-card--interactive:active { transform: translateY(1px); }.cs-card__media { display: block; inline-size: 100%; }.cs-card__header { padding: 18px 20px 0; }.cs-card__title { margin: 0; font-size: var(--cs-text-h4); font-weight: 700; line-height: var(--cs-font-lineHeight-heading); }.cs-card__subtitle { margin: 4px 0 0; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-card__body { padding: 16px 20px; }.cs-card__body > :first-child { margin-block-start: 0; }.cs-card__body > :last-child { margin-block-end: 0; }.cs-card__footer { padding: 12px 20px 18px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }/* Stat */.cs-stat { display: grid; gap: 3px; }.cs-stat__label { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); }.cs-stat__value { font-size: var(--cs-font-size-3xl); font-weight: 800; line-height: 1.1; letter-spacing: var(--cs-letter-spacing-tight); font-variant-numeric: tabular-nums; }.cs-stat__delta { display: inline-flex; align-items: center; gap: 4px; font-size: var(--cs-font-size-sm); font-weight: 700; }.cs-stat__delta--up { color: var(--cs-color-semantic-success-text); }.cs-stat__delta--down { color: var(--cs-color-semantic-danger-text); }.cs-stat__delta--flat { color: var(--cs-color-text-muted); }/* Avatar */.cs-avatar { display: inline-grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--cs-color-brand-umber); color: var(--cs-color-brand-ochre); font-family: var(--cs-font-family-ui); font-weight: 700; flex: none; user-select: none; }.cs-avatar img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }.cs-avatar--sm { inline-size: 28px; block-size: 28px; font-size: var(--cs-font-size-xs); }.cs-avatar--md { inline-size: 40px; block-size: 40px; font-size: var(--cs-font-size-sm); }.cs-avatar--lg { inline-size: 56px; block-size: 56px; font-size: var(--cs-font-size-lg); }.cs-avatar--square { border-radius: var(--cs-radius-md); }.cs-avatar-group { display: inline-flex; }.cs-avatar-group > .cs-avatar { box-shadow: 0 0 0 2px var(--cs-color-surface-panel); }.cs-avatar-group > .cs-avatar + .cs-avatar { margin-inline-start: -10px; }/* Tooltip */.cs-tooltip { position: relative; display: inline-flex; }.cs-tooltip__bubble { position: absolute; inset-block-end: calc(100% + 8px); inset-inline-start: 50%; transform: translateX(-50%) translateY(4px); background: var(--cs-color-brand-umber); color: #fff; /* on-brand-umber ink */ font-size: var(--cs-font-size-xs); font-weight: 600; line-height: 1.35; padding: 6px 10px; border-radius: var(--cs-radius-sm); white-space: nowrap; max-inline-size: 240px; opacity: 0; pointer-events: none; transition: opacity var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); box-shadow: var(--cs-shadow-md); z-index: var(--cs-depth-dropdown, 60); }.cs-tooltip__bubble::after { content: ""; position: absolute; inset-block-start: 100%; inset-inline-start: 50%; transform: translateX(-50%); border: 5px solid transparent; border-block-start-color: var(--cs-color-brand-umber); }.cs-tooltip:not([data-managed]):hover .cs-tooltip__bubble, .cs-tooltip:not([data-managed]):focus-within .cs-tooltip__bubble, .cs-tooltip[data-open="true"] .cs-tooltip__bubble { opacity: 1; transform: translateX(-50%) translateY(0); }/* Divider */.cs-divider { border: 0; block-size: 1px; background: var(--cs-color-border-default); margin-block: var(--cs-space-4); }.cs-divider--label { display: flex; align-items: center; gap: 12px; background: none; block-size: auto; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-divider--label::before, .cs-divider--label::after { content: ""; flex: 1; block-size: 1px; background: var(--cs-color-border-default); }.cs-divider--vertical { inline-size: 1px; block-size: auto; align-self: stretch; margin-inline: var(--cs-space-4); margin-block: 0; }/* ScrollArea — focusable overflow for dense panels */.cs-scroll-area {
1541
+ * controls use accent-color for brand-tinted checks/radios (accessible + minimal). *//* Select — reuses .cs-field label/description/error */.cs-select { position: relative; display: block; }.cs-select select.cs-field__control { appearance: none; -webkit-appearance: none; width: 100%; padding-inline-end: 38px; cursor: pointer; background: var(--cs-color-surface-panel); }.cs-select__chevron { position: absolute; inset-inline-end: 12px; inset-block-start: 50%; transform: translateY(-50%); pointer-events: none; color: var(--cs-color-text-muted); display: grid; place-items: center; }.cs-select select.cs-field__control:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; border-color: var(--cs-color-brand-ochre); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }/* NativeSelect — lean progressive-enhancement companion beside Select */.cs-native-select { position: relative; display: block; }.cs-native-select select.cs-field__control { appearance: none; -webkit-appearance: none; width: 100%; padding-inline-end: 38px; cursor: pointer; background: var(--cs-color-surface-panel); }.cs-native-select__chevron { position: absolute; inset-inline-end: 12px; inset-block-start: 50%; transform: translateY(-50%); pointer-events: none; color: var(--cs-color-text-muted); display: grid; place-items: center; }.cs-native-select select.cs-field__control:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; border-color: var(--cs-color-brand-ochre); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-native-select--sm select.cs-field__control { min-block-size: 36px; padding-block: 6px; font-size: var(--cs-font-size-sm); }.cs-native-select--md select.cs-field__control { min-block-size: 44px; }/* Checkbox + Radio — native, brand accent */.cs-check, .cs-radio { display: inline-flex; align-items: flex-start; gap: 10px; cursor: pointer; color: var(--cs-color-text-primary); font-family: var(--cs-font-family-ui); line-height: 1.4; }.cs-check input, .cs-radio input { inline-size: 20px; block-size: 20px; margin: 0; flex: none; accent-color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent)); cursor: pointer; }.cs-check.is-disabled, .cs-radio.is-disabled { opacity: 0.55; cursor: not-allowed; }.cs-check__text, .cs-radio__text { display: grid; gap: 2px; }.cs-check__desc, .cs-radio__desc { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); }.cs-radio-group { display: grid; gap: 10px; border: 0; padding: 0; margin: 0; }.cs-radio-group > legend { font-weight: 700; padding: 0; margin-block-end: 6px; }/* Switch — custom track/knob */.cs-switch { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-family: var(--cs-font-family-ui); color: var(--cs-color-text-primary); }.cs-switch input { position: absolute; opacity: 0; width: 0; height: 0; }.cs-switch__track { inline-size: 44px; block-size: 26px; border-radius: 999px; background: var(--cs-color-border-default); position: relative; transition: background var(--cs-duration-fast) var(--cs-ease-standard); flex: none; }.cs-switch__track::after { content: ""; position: absolute; inset-block-start: 3px; inset-inline-start: 3px; inline-size: 20px; block-size: 20px; border-radius: 50%; background: var(--cs-color-surface-panel, #fff); box-shadow: var(--cs-shadow-xs); transition: transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-switch input:checked + .cs-switch__track { background: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent)); }.cs-switch input:checked + .cs-switch__track::after { transform: translateX(18px); }.cs-switch input:focus-visible + .cs-switch__track { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-switch:focus-within { outline-style: solid; outline-width: 2px; outline-color: var(--cs-color-text-primary); outline-offset: 4px; border-radius: 6px; }.cs-switch.is-disabled { opacity: 0.55; cursor: not-allowed; }/* Textarea reuses .cs-field; give it sane sizing */textarea.cs-field__control { min-height: 96px; resize: vertical; line-height: var(--cs-font-lineHeight-body); }/* Source: base/feedback.css *//* CyberSkill — feedback + status (.cs-*). Semantic colour never the only signal. *//* Badge — compact status label */.cs-badge { display: inline-flex; align-items: center; gap: 5px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-xs); font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1; padding: 4px 9px; border-radius: var(--cs-radius-full); text-transform: uppercase; letter-spacing: 0.04em; background: var(--cs-color-surface-raised); color: var(--cs-color-text-accent); border: 1px solid var(--cs-color-border-default); }.cs-badge--solid { border-color: transparent; color: #fff; /* on-brand-umber ink (allowlisted; text-inverse flips in dark) */ background: var(--cs-color-brand-umber); }.cs-badge--ochre { background: var(--cs-color-brand-ochre); color: var(--cs-color-brand-umber); border-color: transparent; }[data-cs-element]:not([data-cs-element="tho"]:not([data-cs-variant]), [data-cs-element="tho"][data-cs-variant=""]) .cs-badge--solid { background: var(--cs-accent-strong); color: var(--cs-accent-on-strong); }[data-cs-element]:not([data-cs-element="tho"]:not([data-cs-variant]), [data-cs-element="tho"][data-cs-variant=""]) .cs-badge--ochre { background: var(--cs-accent-tint); color: var(--cs-color-text-accent); border-color: color-mix(in oklab, var(--cs-accent) 55%, transparent); }.cs-badge--success { background: var(--cs-color-semantic-success); color: var(--cs-color-semantic-success-fg); border-color: transparent; }.cs-badge--danger { background: var(--cs-color-semantic-danger); color: var(--cs-color-semantic-danger-fg); border-color: transparent; }.cs-badge--warning { background: var(--cs-color-semantic-warning); color: var(--cs-color-semantic-warning-fg); border-color: transparent; }.cs-badge--info { background: var(--cs-color-semantic-info); color: var(--cs-color-semantic-info-fg); border-color: transparent; }.cs-badge__dot { inline-size: 7px; block-size: 7px; border-radius: 50%; background: currentColor; }/* Tag / Chip — removable */.cs-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-sm); font-weight: 600; padding: 5px 10px; border-radius: var(--cs-radius-full); background: var(--cs-color-surface-raised); color: var(--cs-color-text-accent); border: 1px solid var(--cs-color-border-default); }.cs-tag__close { display: inline-grid; place-items: center; inline-size: 18px; block-size: 18px; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; padding: 0; }.cs-tag__close:hover { background: color-mix(in oklab, var(--cs-color-brand-umber) 12%, transparent); }/* Alert / Banner */.cs-alert { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; padding: 14px 16px; border-radius: var(--cs-radius-md); border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); align-items: start; }.cs-alert__icon { color: var(--cs-color-text-accent); display: grid; place-items: start; padding-block-start: 1px; }.cs-alert__title { font-weight: 700; margin: 0 0 2px; }.cs-alert__body { margin: 0; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-alert__dismiss { appearance: none; border: 0; background: transparent; color: var(--cs-color-text-muted); cursor: pointer; font-size: var(--cs-font-size-md, 1.125rem); line-height: 1; padding: 0 2px; border-radius: var(--cs-radius-sm); }.cs-alert__dismiss:hover { color: var(--cs-color-text-primary); }.cs-alert__dismiss:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-alert--info { border-inline-start: 4px solid var(--cs-color-semantic-info); }.cs-alert--info .cs-alert__icon { color: var(--cs-color-semantic-info-text); }.cs-alert--success { border-inline-start: 4px solid var(--cs-color-semantic-success); }.cs-alert--success .cs-alert__icon { color: var(--cs-color-semantic-success-text); }.cs-alert--warning { border-inline-start: 4px solid var(--cs-color-semantic-warning); }.cs-alert--warning .cs-alert__icon { color: var(--cs-color-semantic-warning-text); }.cs-alert--danger { border-inline-start: 4px solid var(--cs-color-semantic-danger); }.cs-alert--danger .cs-alert__icon { color: var(--cs-color-semantic-danger-text); }/* Toast */.cs-toast-stack { position: fixed; inset-block-end: 20px; inset-inline-end: 20px; z-index: var(--cs-depth-toast); display: grid; gap: 10px; max-inline-size: min(380px, calc(100% - 40px)); }.cs-toast { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: start; padding: 12px 14px; border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); box-shadow: var(--cs-shadow-md); color: var(--cs-color-text-primary); animation: cs-toast-in var(--cs-duration-base) var(--cs-ease-entrance); }.cs-toast__icon { color: var(--cs-color-text-accent); }.cs-toast--default { border-inline-start: 4px solid var(--cs-color-semantic-info); }.cs-toast--default .cs-toast__icon { color: var(--cs-color-semantic-info-text); }.cs-toast--success { border-inline-start: 4px solid var(--cs-color-semantic-success); }.cs-toast--success .cs-toast__icon { color: var(--cs-color-semantic-success-text); }.cs-toast--danger { border-inline-start: 4px solid var(--cs-color-semantic-danger); }.cs-toast--danger .cs-toast__icon { color: var(--cs-color-semantic-danger-text); }.cs-toast__title { font-weight: 700; font-size: var(--cs-font-size-sm); }.cs-toast__body { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); margin-block-start: 2px; }.cs-toast__close { border: 0; background: transparent; cursor: pointer; color: var(--cs-color-text-muted); padding: 0; display: grid; place-items: center; }@keyframes cs-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }@media (prefers-reduced-motion: reduce) { .cs-toast { animation: none; } }/* Spinner */.cs-spinner { display: inline-block; inline-size: 20px; block-size: 20px; border-radius: 50%; border: 2.5px solid color-mix(in oklab, var(--cs-accent-strong) 22%, transparent); border-color: var(--_cs-light, color-mix(in oklab, var(--cs-accent-strong) 22%, transparent))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 26%, transparent)); border-top-color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent)); animation: cs-spin 0.62s linear infinite; }@media (prefers-reduced-motion: reduce) { .cs-spinner { animation: none; } }/* Progress bar */.cs-progress { inline-size: 100%; block-size: 10px; border-radius: var(--cs-radius-full); background: var(--cs-color-surface-raised); overflow: hidden; }.cs-progress__fill { display: block; block-size: 100%; border-radius: inherit; background: var(--cs-accent); transition: inline-size var(--cs-duration-slow) var(--cs-ease-standard); }.cs-progress--umber .cs-progress__fill { background: var(--cs-color-brand-umber); }.cs-progress--success .cs-progress__fill { background: var(--cs-color-semantic-success); }/* Skeleton */.cs-skeleton { display: block; border-radius: var(--cs-radius-sm); background: linear-gradient(90deg, var(--cs-color-surface-raised) 25%, color-mix(in oklab, var(--cs-color-surface-raised) 55%, var(--cs-color-surface-panel)) 37%, var(--cs-color-surface-raised) 63%); background-size: 400% 100%; animation: cs-shimmer 1.4s ease infinite; }.cs-skeleton--text { block-size: 0.75em; margin-block: 0.25em; }.cs-skeleton--circle { border-radius: 50%; }@keyframes cs-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }@media (prefers-reduced-motion: reduce) { .cs-skeleton { animation: none; } }/* Source: base/data.css *//* CyberSkill — data display + layout (.cs-*). *//* Card */.cs-card { background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-sm); color: var(--cs-color-text-primary); overflow: hidden; }.cs-card--flat { box-shadow: none; }.cs-card--raised { background: var(--cs-color-surface-raised); }.cs-card--featured { background: var(--_cs-light, var(--cs-color-surface-raised))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 12%, var(--cs-color-surface-panel))); border-color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent)); box-shadow: var(--cs-shadow-md); }.cs-card--interactive { cursor: pointer; transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-card--interactive:hover { border-color: var(--cs-accent); box-shadow: var(--cs-shadow-md); }.cs-card--interactive:focus-visible { box-shadow: 0 0 0 5px var(--cs-color-accent-ochre), var(--cs-shadow-sm); transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-card--flat.cs-card--interactive:focus-visible { box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-card--interactive:active { transform: translateY(1px); }.cs-card__media { display: block; inline-size: 100%; }.cs-card__header { padding: 18px 20px 0; }.cs-card__title { margin: 0; font-size: var(--cs-text-h4); font-weight: 700; line-height: var(--cs-font-lineHeight-heading); }.cs-card__subtitle { margin: 4px 0 0; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-card__body { padding: 16px 20px; }.cs-card__body > :first-child { margin-block-start: 0; }.cs-card__body > :last-child { margin-block-end: 0; }.cs-card__footer { padding: 12px 20px 18px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }/* Stat */.cs-stat { display: grid; gap: 3px; }.cs-stat__label { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); }.cs-stat__value { font-size: var(--cs-font-size-3xl); font-weight: 800; line-height: 1.1; letter-spacing: var(--cs-letter-spacing-tight); font-variant-numeric: tabular-nums; }.cs-stat__delta { display: inline-flex; align-items: center; gap: 4px; font-size: var(--cs-font-size-sm); font-weight: 700; }.cs-stat__delta--up { color: var(--cs-color-semantic-success-text); }.cs-stat__delta--down { color: var(--cs-color-semantic-danger-text); }.cs-stat__delta--flat { color: var(--cs-color-text-muted); }/* Avatar */.cs-avatar { display: inline-grid; place-items: center; overflow: hidden; border-radius: 50%; background: var(--cs-accent-strong); color: var(--cs-accent-on-strong); font-family: var(--cs-font-family-ui); font-weight: 700; flex: none; user-select: none; }.cs-avatar img { inline-size: 100%; block-size: 100%; object-fit: cover; display: block; }.cs-avatar--sm { inline-size: 28px; block-size: 28px; font-size: var(--cs-font-size-xs); }.cs-avatar--md { inline-size: 40px; block-size: 40px; font-size: var(--cs-font-size-sm); }.cs-avatar--lg { inline-size: 56px; block-size: 56px; font-size: var(--cs-font-size-lg); }.cs-avatar--square { border-radius: var(--cs-radius-md); }.cs-avatar-group { display: inline-flex; }.cs-avatar-group > .cs-avatar { box-shadow: 0 0 0 2px var(--cs-color-surface-panel); }.cs-avatar-group > .cs-avatar + .cs-avatar { margin-inline-start: -10px; }/* Tooltip */.cs-tooltip { position: relative; display: inline-flex; }.cs-tooltip__bubble { position: absolute; inset-block-end: calc(100% + 8px); inset-inline-start: 50%; transform: translateX(-50%) translateY(4px); background: var(--cs-color-brand-umber); color: #fff; /* on-brand-umber ink */ font-size: var(--cs-font-size-xs); font-weight: 600; line-height: 1.35; padding: 6px 10px; border-radius: var(--cs-radius-sm); white-space: nowrap; max-inline-size: 240px; opacity: 0; pointer-events: none; transition: opacity var(--cs-duration-fast) var(--cs-ease-standard), transform var(--cs-duration-fast) var(--cs-ease-standard); box-shadow: var(--cs-shadow-md); z-index: var(--cs-depth-dropdown, 60); }.cs-tooltip__bubble::after { content: ""; position: absolute; inset-block-start: 100%; inset-inline-start: 50%; transform: translateX(-50%); border: 5px solid transparent; border-block-start-color: var(--cs-color-brand-umber); }.cs-tooltip:not([data-managed]):hover .cs-tooltip__bubble, .cs-tooltip:not([data-managed]):focus-within .cs-tooltip__bubble, .cs-tooltip[data-open="true"] .cs-tooltip__bubble { opacity: 1; transform: translateX(-50%) translateY(0); }/* Divider */.cs-divider { border: 0; block-size: 1px; background: var(--cs-color-border-default); margin-block: var(--cs-space-4); }.cs-divider--label { display: flex; align-items: center; gap: 12px; background: none; block-size: auto; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-divider--label::before, .cs-divider--label::after { content: ""; flex: 1; block-size: 1px; background: var(--cs-color-border-default); }.cs-divider--vertical { inline-size: 1px; block-size: auto; align-self: stretch; margin-inline: var(--cs-space-4); margin-block: 0; }/* ScrollArea — focusable overflow for dense panels */.cs-scroll-area {
1539
1542
  overflow: auto;
1540
1543
  overscroll-behavior: contain;
1541
1544
  outline: none;
@@ -1561,7 +1564,7 @@
1561
1564
  .cs-aspect-ratio > video {
1562
1565
  object-fit: cover;
1563
1566
  display: block;
1564
- }/* Hoverable tooltip and a transparent bridge across the visual trigger gap. */.cs-tooltip[data-open="true"] .cs-tooltip__bubble { pointer-events: auto; }.cs-tooltip[data-managed] .cs-tooltip__bubble::before { content: ""; position: absolute; inset-block-start: 100%; inset-inline: 0; block-size: 8px; }/* Portaled tooltip arrows/hover bridges follow the resolved physical side. */.cs-tooltip__bubble[data-cs-placement^="bottom"]::after { top: auto; bottom: 100%; left: 50%; right: auto; transform: translateX(-50%); border-color: transparent; border-bottom-color: var(--cs-color-brand-umber); }.cs-tooltip__bubble[data-cs-placement^="left"]::after { top: 50%; bottom: auto; left: 100%; right: auto; transform: translateY(-50%); border-color: transparent; border-left-color: var(--cs-color-brand-umber); }.cs-tooltip__bubble[data-cs-placement^="right"]::after { top: 50%; bottom: auto; left: auto; right: 100%; transform: translateY(-50%); border-color: transparent; border-right-color: var(--cs-color-brand-umber); }.cs-tooltip[data-managed] .cs-tooltip__bubble[data-cs-placement^="bottom"]::before, [data-cs-floating-root][data-managed] .cs-tooltip__bubble[data-cs-placement^="bottom"]::before { top: auto; bottom: 100%; left: 0; right: 0; block-size: 8px; }.cs-tooltip[data-managed] .cs-tooltip__bubble[data-cs-placement^="left"]::before, [data-cs-floating-root][data-managed] .cs-tooltip__bubble[data-cs-placement^="left"]::before { top: 0; bottom: 0; left: 100%; right: auto; inline-size: 8px; block-size: auto; }.cs-tooltip[data-managed] .cs-tooltip__bubble[data-cs-placement^="right"]::before, [data-cs-floating-root][data-managed] .cs-tooltip__bubble[data-cs-placement^="right"]::before { top: 0; bottom: 0; left: auto; right: 100%; inline-size: 8px; block-size: auto; }.cs-tooltip__bubble[data-cs-placement] { white-space: normal; overflow-wrap: anywhere; }[data-cs-floating-root][data-open="true"] > .cs-tooltip__bubble { opacity: 1; pointer-events: auto; }[data-cs-floating-root][data-managed] > .cs-tooltip__bubble::before { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 8px; }/* Source: base/navigation.css *//* CyberSkill — navigation (.cs-*). *//* Tabs */.cs-tabs { display: flex; gap: 4px; overflow-x: auto; border-block-end: 1px solid var(--cs-color-border-default); }.cs-tab { flex-shrink: 0; appearance: none; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); padding: 10px 14px; cursor: pointer; position: relative; border-block-end: 2px solid transparent; margin-block-end: 0; display: inline-flex; align-items: center; gap: 7px; }.cs-tab:hover { color: var(--cs-color-text-primary); }.cs-tab[aria-selected="true"] { color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); border-block-end-color: var(--cs-color-brand-ochre); }.cs-tab:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: -3px; border-radius: var(--cs-radius-sm); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-tab__count { font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-xs); background: var(--cs-color-surface-raised); border-radius: var(--cs-radius-full); padding: 1px 7px; }/* Breadcrumb */.cs-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; font-size: var(--cs-font-size-sm); font-family: var(--cs-font-family-ui); }.cs-breadcrumb li { display: inline-flex; align-items: center; gap: 8px; }.cs-breadcrumb a { color: var(--cs-color-text-muted); text-decoration: none; }.cs-breadcrumb a:hover { color: var(--cs-color-text-accent); }.cs-breadcrumb__sep { color: var(--cs-color-border-default); }.cs-breadcrumb__current { color: var(--cs-color-text-primary); font-weight: 600; }/* Pagination */.cs-pagination { display: inline-flex; align-items: center; gap: 4px; }.cs-pagination button { min-inline-size: 38px; block-size: 38px; padding: 0 10px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border-radius: var(--cs-radius-md); font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); cursor: pointer; display: inline-grid; place-items: center; }.cs-pagination button:hover:not(:disabled) { border-color: var(--cs-color-brand-ochre); }.cs-pagination button[aria-current="page"] { background: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); color: var(--_cs-light, var(--cs-color-text-inverse))var(--_cs-dark, var(--cs-color-brand-umber)); border-color: transparent; }.cs-pagination button:disabled { opacity: 0.45; cursor: not-allowed; }.cs-pagination__ellipsis { padding: 0 4px; color: var(--cs-color-text-muted); }/* Menu / Dropdown */.cs-menu { position: relative; display: inline-block; }.cs-menu__list { position: absolute; inset-block-start: calc(100% + 6px); inset-inline-start: 0; min-inline-size: 200px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 6px; z-index: var(--cs-depth-dropdown, 60); display: grid; gap: 2px; }.cs-menu__list--end { inset-inline-start: auto; inset-inline-end: 0; }.cs-menu__item { display: flex; align-items: center; gap: 10px; inline-size: 100%; text-align: start; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); padding: 8px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-menu__item:hover { background: var(--cs-color-surface-raised); }.cs-menu__item:focus-visible { background: var(--cs-color-surface-raised); outline: 2px solid var(--cs-color-text-primary); outline-offset: -3px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-menu__item--danger { color: var(--cs-color-semantic-danger-text); }.cs-menu__item--danger:hover { background: color-mix(in oklab, var(--cs-color-semantic-danger) 10%, transparent); }.cs-menu__sep { block-size: 1px; background: var(--cs-color-border-default); margin: 4px 2px; }.cs-menu__label { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); padding: 6px 10px 2px; }/* Source: base/ai.css *//* CyberSkill — AI-native surfaces (.cs-*). The brand is AI-native: Lumi (the
1567
+ }/* Hoverable tooltip and a transparent bridge across the visual trigger gap. */.cs-tooltip[data-open="true"] .cs-tooltip__bubble { pointer-events: auto; }.cs-tooltip[data-managed] .cs-tooltip__bubble::before { content: ""; position: absolute; inset-block-start: 100%; inset-inline: 0; block-size: 8px; }/* Portaled tooltip arrows/hover bridges follow the resolved physical side. */.cs-tooltip__bubble[data-cs-placement^="bottom"]::after { top: auto; bottom: 100%; left: 50%; right: auto; transform: translateX(-50%); border-color: transparent; border-bottom-color: var(--cs-color-brand-umber); }.cs-tooltip__bubble[data-cs-placement^="left"]::after { top: 50%; bottom: auto; left: 100%; right: auto; transform: translateY(-50%); border-color: transparent; border-left-color: var(--cs-color-brand-umber); }.cs-tooltip__bubble[data-cs-placement^="right"]::after { top: 50%; bottom: auto; left: auto; right: 100%; transform: translateY(-50%); border-color: transparent; border-right-color: var(--cs-color-brand-umber); }.cs-tooltip[data-managed] .cs-tooltip__bubble[data-cs-placement^="bottom"]::before, [data-cs-floating-root][data-managed] .cs-tooltip__bubble[data-cs-placement^="bottom"]::before { top: auto; bottom: 100%; left: 0; right: 0; block-size: 8px; }.cs-tooltip[data-managed] .cs-tooltip__bubble[data-cs-placement^="left"]::before, [data-cs-floating-root][data-managed] .cs-tooltip__bubble[data-cs-placement^="left"]::before { top: 0; bottom: 0; left: 100%; right: auto; inline-size: 8px; block-size: auto; }.cs-tooltip[data-managed] .cs-tooltip__bubble[data-cs-placement^="right"]::before, [data-cs-floating-root][data-managed] .cs-tooltip__bubble[data-cs-placement^="right"]::before { top: 0; bottom: 0; left: auto; right: 100%; inline-size: 8px; block-size: auto; }.cs-tooltip__bubble[data-cs-placement] { white-space: normal; overflow-wrap: anywhere; }[data-cs-floating-root][data-open="true"] > .cs-tooltip__bubble { opacity: 1; pointer-events: auto; }[data-cs-floating-root][data-managed] > .cs-tooltip__bubble::before { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 8px; }/* Source: base/navigation.css *//* CyberSkill — navigation (.cs-*). *//* Tabs */.cs-tabs { display: flex; gap: 4px; overflow-x: auto; border-block-end: 1px solid var(--cs-color-border-default); }.cs-tab { flex-shrink: 0; appearance: none; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); padding: 10px 14px; cursor: pointer; position: relative; border-block-end: 2px solid transparent; margin-block-end: 0; display: inline-flex; align-items: center; gap: 7px; }.cs-tab:hover { color: var(--cs-color-text-primary); }.cs-tab[aria-selected="true"] { color: var(--_cs-light, var(--cs-color-text-accent))var(--_cs-dark, var(--cs-color-text-accent)); border-block-end-color: var(--cs-accent); }.cs-tab:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: -3px; border-radius: var(--cs-radius-sm); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-tab__count { font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-xs); background: var(--cs-color-surface-raised); border-radius: var(--cs-radius-full); padding: 1px 7px; }/* Breadcrumb */.cs-breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; font-size: var(--cs-font-size-sm); font-family: var(--cs-font-family-ui); }.cs-breadcrumb li { display: inline-flex; align-items: center; gap: 8px; }.cs-breadcrumb a { color: var(--cs-color-text-muted); text-decoration: none; }.cs-breadcrumb a:hover { color: var(--cs-color-text-accent); }.cs-breadcrumb__sep { color: var(--cs-color-border-default); }.cs-breadcrumb__current { color: var(--cs-color-text-primary); font-weight: 600; }/* Pagination */.cs-pagination { display: inline-flex; align-items: center; gap: 4px; font-variant-numeric: tabular-nums; }.cs-pagination button { min-inline-size: 38px; block-size: 38px; padding: 0 10px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border-radius: var(--cs-radius-md); font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); cursor: pointer; display: inline-grid; place-items: center; }.cs-pagination button:hover:not(:disabled) { border-color: var(--cs-accent); }.cs-pagination button[aria-current="page"] { background: var(--_cs-light, var(--cs-component-button-primary-bg))var(--_cs-dark, var(--cs-component-button-primary-bg)); color: var(--_cs-light, var(--cs-component-button-primary-fg))var(--_cs-dark, var(--cs-component-button-primary-fg)); border-color: transparent; }.cs-pagination button:disabled { opacity: 0.45; cursor: not-allowed; }.cs-pagination__ellipsis { padding: 0 4px; color: var(--cs-color-text-muted); }/* Menu / Dropdown */.cs-menu { position: relative; display: inline-block; }.cs-menu__list { position: absolute; inset-block-start: calc(100% + 6px); inset-inline-start: 0; min-inline-size: 200px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 6px; z-index: var(--cs-depth-dropdown, 60); display: grid; gap: 2px; }.cs-menu__list--end { inset-inline-start: auto; inset-inline-end: 0; }.cs-menu__item { display: flex; align-items: center; gap: 10px; inline-size: 100%; text-align: start; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); padding: 8px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-menu__item:hover { background: var(--cs-color-surface-raised); }.cs-menu__item:focus-visible { background: var(--cs-color-surface-raised); outline: 2px solid var(--cs-color-text-primary); outline-offset: -3px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-menu__item--danger { color: var(--cs-color-semantic-danger-text); }.cs-menu__item--danger:hover { background: color-mix(in oklab, var(--cs-color-semantic-danger) 10%, transparent); }.cs-menu__sep { block-size: 1px; background: var(--cs-color-border-default); margin: 4px 2px; }.cs-menu__label { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); padding: 6px 10px 2px; }/* Source: base/ai.css *//* CyberSkill — AI-native surfaces (.cs-*). The brand is AI-native: Lumi (the
1565
1568
  * golden genie) converses, then hands clear wishes to a human. These pair with
1566
1569
  * AIDisclosureBadge + HumanReviewGate (base/components.css). *//* PromptInput */.cs-prompt { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); background: var(--cs-color-surface-panel); padding: 10px 12px; display: grid; gap: 8px; }.cs-prompt:focus-within {
1567
1570
  border-color: var(--cs-color-text-primary);
@@ -1578,11 +1581,11 @@
1578
1581
  outline: 2px solid var(--cs-color-text-primary);
1579
1582
  outline-offset: 2px;
1580
1583
  box-shadow: 0 0 0 5px var(--cs-color-accent-ochre);
1581
- }.cs-stepper button { border: 0; background: var(--cs-color-surface-raised); color: var(--cs-color-text-primary); inline-size: 40px; cursor: pointer; font-size: var(--cs-font-size-md); font-weight: 700; display: grid; place-items: center; }.cs-stepper button:hover:not(:disabled) { color: var(--cs-color-text-accent); }.cs-stepper button:disabled { opacity: 0.45; cursor: not-allowed; }.cs-stepper input { inline-size: 56px; text-align: center; border: 0; border-inline: 1px solid var(--cs-color-border-default); background: transparent; font: inherit; font-family: var(--cs-font-family-mono); color: var(--cs-color-text-primary); outline: 0; min-height: 42px; -moz-appearance: textfield; }.cs-stepper input::-webkit-outer-spin-button, .cs-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }/* Slider (native range) */.cs-slider { inline-size: 100%; accent-color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); block-size: 22px; cursor: pointer; }.cs-slider:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 4px; border-radius: var(--cs-radius-full); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }/* FileUpload / dropzone */.cs-dropzone { display: grid; gap: 6px; justify-items: center; text-align: center; border: 2px dashed var(--cs-color-border-default); border-radius: var(--cs-radius-lg); padding: 28px 24px; background: var(--cs-color-surface-raised); cursor: pointer; color: var(--cs-color-text-primary); transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), background var(--cs-duration-fast) var(--cs-ease-standard); }.cs-dropzone:hover, .cs-dropzone.is-dragging { border-color: var(--cs-color-brand-ochre); background: color-mix(in oklab, var(--cs-color-brand-ochre) 8%, var(--cs-color-surface-panel)); }.cs-dropzone__icon { color: var(--cs-color-text-accent); }.cs-dropzone__title { font-weight: 700; }.cs-dropzone__hint { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); }/* SegmentedControl (matches Status Hub lens switcher) */.cs-segmented { display: inline-flex; gap: 4px; background: var(--cs-color-surface-raised); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-full); padding: 3px; }.cs-segmented button { border: 0; background: transparent; border-radius: var(--cs-radius-full); padding: 7px 15px; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-accent); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }.cs-segmented button[aria-checked="true"], .cs-segmented button[aria-pressed="true"], .cs-segmented button[aria-selected="true"] { background: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); color: var(--_cs-light, var(--cs-color-text-inverse))var(--_cs-dark, var(--cs-color-brand-umber)); }/* StatusIndicator */.cs-status { display: inline-flex; align-items: center; gap: 7px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-sm); font-weight: 600; color: var(--cs-color-text-primary); }.cs-status__dot { inline-size: 9px; block-size: 9px; border-radius: 50%; background: var(--cs-color-text-muted); flex: none; }.cs-status--online .cs-status__dot { background: var(--cs-color-semantic-success); }.cs-status--busy .cs-status__dot { background: var(--cs-color-brand-ochre); }.cs-status--offline .cs-status__dot { background: var(--cs-color-text-muted); }.cs-status--error .cs-status__dot { background: var(--cs-color-semantic-danger); }.cs-status--pulse .cs-status__dot { box-shadow: 0 0 0 0 currentColor; animation: cs-pulse 1.8s var(--cs-ease-standard) infinite; color: var(--cs-color-semantic-success-text); }@keyframes cs-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--cs-color-semantic-success) 55%, transparent); } 70% { box-shadow: 0 0 0 7px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }@media (prefers-reduced-motion: reduce) { .cs-status--pulse .cs-status__dot { animation: none; } }/* Kbd */.cs-kbd { display: inline-block; font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-xs); line-height: 1; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-block-end-width: 2px; border-radius: 6px; padding: 3px 7px; box-shadow: var(--cs-shadow-xs); }/* ---- v3 Batch 2 inputs (Jul 2026): Toggle · Rating · InputOTP · ButtonGroup ---- */.cs-toggle { display: inline-flex; align-items: center; gap: 8px; font: 600 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 8px 14px; min-block-size: 40px; cursor: pointer; transition: background var(--cs-duration-fast, 120ms), border-color var(--cs-duration-fast, 120ms); }.cs-toggle:hover { background: var(--cs-color-surface-raised); }.cs-toggle[aria-pressed="true"] { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); border-color: var(--cs-accent); color: var(--cs-color-text-primary); }.cs-toggle:disabled { opacity: .5; cursor: not-allowed; }.cs-rating { display: inline-flex; gap: 4px; }.cs-rating button { background: none; border: 0; padding: 2px; cursor: pointer; color: var(--cs-color-border-default); display: grid; place-items: center; }.cs-rating button.on { color: var(--cs-color-brand-ochre); }.cs-rating[data-readonly="true"] button { cursor: default; }.cs-rating button:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; border-radius: 4px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-otp { display: inline-flex; gap: 8px; }.cs-otp input { inline-size: 44px; block-size: 52px; text-align: center; font: 700 22px var(--cs-font-family-mono); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); }.cs-otp input:focus { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; border-color: var(--cs-accent); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-otp input:disabled { opacity: .5; cursor: not-allowed; background: var(--cs-color-surface-raised); }.cs-btngroup { display: inline-flex; }.cs-btngroup .cs-button { border-radius: 0; }.cs-btngroup .cs-button:first-child { border-start-start-radius: var(--cs-component-button-radius, 8px); border-end-start-radius: var(--cs-component-button-radius, 8px); }.cs-btngroup .cs-button:last-child { border-start-end-radius: var(--cs-component-button-radius, 8px); border-end-end-radius: var(--cs-component-button-radius, 8px); }.cs-btngroup .cs-button + .cs-button { margin-inline-start: -1px; }/* ---- v3 Batch 2 part 2 (Jul 2026): Combobox · InputGroup · TagInput ---- */.cs-combobox { position: relative; display: inline-block; min-inline-size: 260px; }.cs-combobox input { inline-size: 100%; box-sizing: border-box; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 10px 34px 10px var(--cs-space-3); min-block-size: 44px; }.cs-combobox input:focus { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-combobox__caret { position: absolute; inset-inline-end: 10px; inset-block-start: 50%; translate: 0 -50%; pointer-events: none; color: var(--cs-color-text-muted); }.cs-combobox__popup { color: var(--cs-color-text-primary); position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-inline: 0; inset-block-start: calc(100% + 6px); max-block-size: 240px; overflow: auto; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 6px; margin: 0; }.cs-combobox__list { padding: 0; margin: 0; list-style: none; }.cs-combobox__opt { padding: 8px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; font-size: var(--cs-font-size-sm); }.cs-combobox__opt[aria-selected="true"], .cs-combobox__opt.hl { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); color: var(--_cs-light, var(--cs-color-text-primary))var(--_cs-dark, var(--cs-accent-bright)); }.cs-combobox__empty { padding: 10px; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-igroup { display: inline-flex; align-items: stretch; min-inline-size: 260px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); overflow: hidden; }.cs-igroup:focus-within { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-igroup > input { flex: 1; min-inline-size: 0; border: 0; background: transparent; color: var(--cs-color-text-primary); font: 500 14px var(--cs-font-family-ui); padding: 10px 12px; min-block-size: 44px; box-sizing: border-box; }.cs-igroup > input:focus { outline: none; }.cs-igroup__fix { display: flex; align-items: center; padding: 0 10px; color: var(--cs-color-text-muted); background: var(--cs-color-surface-raised); border-inline-end: 1px solid var(--cs-color-border-default); font-size: var(--cs-font-size-sm); }.cs-igroup__fix--suffix { border-inline-end: 0; border-inline-start: 1px solid var(--cs-color-border-default); }.cs-igroup__btn { border: 0; background: none; color: var(--cs-color-text-muted); cursor: pointer; display: grid; place-items: center; padding: 0 10px; }.cs-igroup__btn:hover { color: var(--cs-color-text-primary); }.cs-taginput { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-inline-size: 280px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 6px var(--cs-space-2); min-block-size: 44px; box-sizing: border-box; }.cs-taginput:focus-within { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-taginput > input { flex: 1; min-inline-size: 120px; border: 0; background: transparent; color: var(--cs-color-text-primary); font: 500 14px var(--cs-font-family-ui); padding: 6px var(--cs-space-1); }.cs-taginput > input:focus { outline: none; }/* Disabled editing must not dim already committed, noninteractive values. */.cs-field.is-disabled:has(> .cs-taginput) { opacity: 1; }.cs-field.is-disabled > .cs-taginput { background: var(--cs-color-surface-raised); }/* ---- v3 Batch 3 (Jul 2026): Calendar · DatePicker · TimePicker ---- */.cs-cal { display: inline-block; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); padding: var(--cs-space-3); min-inline-size: 272px; box-shadow: var(--cs-shadow-sm); }.cs-cal__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; font: 700 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); }.cs-cal__head button { border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border-radius: var(--cs-radius-sm); inline-size: 30px; block-size: 30px; cursor: pointer; font-size: var(--cs-font-size-base); }.cs-cal__head button:hover { background: var(--cs-color-surface-raised); }.cs-cal__wd, .cs-cal__grid { display: grid; grid-template-columns: repeat(7, 34px); gap: 2px; }.cs-cal__wd span { text-align: center; font: 700 10.5px/2 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .04em; color: var(--cs-color-text-muted); }.cs-cal__grid button { border: 0; background: none; color: var(--cs-color-text-primary); font: 500 13px var(--cs-font-family-ui); block-size: 34px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-cal__grid button:hover { background: var(--cs-color-surface-raised); }.cs-cal__grid button.today { box-shadow: inset 0 0 0 1px var(--cs-accent); }.cs-cal__grid button.sel { background: var(--cs-accent); color: var(--cs-accent-on); font-weight: 700; }.cs-cal__grid button:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-datepicker { position: relative; display: inline-block; max-inline-size: 100%; }.cs-datepicker__field { display: inline-flex; align-items: center; gap: var(--cs-space-2); min-inline-size: 220px; min-block-size: 44px; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: var(--cs-space-2) var(--cs-space-3); cursor: pointer; }.cs-datepicker__field:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-datepicker__field .ph { color: var(--cs-color-text-muted); }.cs-datepicker__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 6px); inset-inline-start: var(--_cs-panel-inline-offset, 0px); inline-size: max-content; max-inline-size: var(--_cs-panel-max-inline-size, calc(100vw - 16px)); }.cs-datepicker__pop .cs-cal { min-inline-size: 0; max-inline-size: 100%; box-sizing: border-box; overflow-x: auto; }.cs-timepicker { display: inline-flex; align-items: center; gap: 8px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 0 10px; min-block-size: 44px; color: var(--cs-color-text-muted); }.cs-timepicker:focus-within { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-timepicker select { border: 0; background: transparent; color: var(--cs-color-text-primary); font: 600 14px var(--cs-font-family-mono); padding: 8px 2px; cursor: pointer; }.cs-timepicker select:focus { outline: none; }/* ---- v3 Batch 4 (Jul 2026): HoverCard · Popconfirm · ContextMenu · FAB · Result · InlineEdit ---- */.cs-hovercard { position: relative; display: inline-block; }.cs-hovercard__panel { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 8px); inset-inline-start: 0; min-inline-size: 240px; display: block; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 14px 16px; font-size: var(--cs-font-size-sm); line-height: 1.5; color: var(--cs-color-text-primary); }.cs-popconfirm { position: relative; display: inline-block; }.cs-popconfirm__panel { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 8px); inset-inline-start: 0; min-inline-size: 240px; display: block; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 12px 14px; }.cs-popconfirm__title { display: block; font: 600 13.5px/1.45 var(--cs-font-family-ui); color: var(--cs-color-text-primary); margin-bottom: 10px; }.cs-popconfirm__actions { display: flex; gap: 8px; justify-content: flex-end; }.cs-ctxmenu-zone { position: relative; }.cs-fab { position: fixed; inset-inline-end: 24px; inset-block-end: 24px; z-index: var(--cs-depth-overlay, 80); display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }.cs-fab--static { position: static; align-items: flex-start; }.cs-fab__main { inline-size: 56px; block-size: 56px; border-radius: 999px; border: 0; background: var(--cs-accent); color: var(--cs-accent-on); display: grid; place-items: center; cursor: pointer; box-shadow: var(--cs-shadow-lg); }.cs-fab__main:hover { filter: brightness(1.05); }.cs-fab__main:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre), var(--cs-shadow-md); }.cs-fab__dial { display: flex; flex-direction: column; gap: 8px; align-items: center; }.cs-fab--static .cs-fab__dial, .cs-fab__dial--static { flex-direction: row; }.cs-fab__mini { inline-size: 42px; block-size: 42px; border-radius: 999px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); display: grid; place-items: center; cursor: pointer; box-shadow: var(--cs-shadow-sm); }.cs-result { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 44px 24px; }.cs-result__icon { inline-size: 64px; block-size: 64px; border-radius: 999px; display: grid; place-items: center; background: var(--cs-accent-tint); color: var(--cs-color-text-accent); }.cs-result--success .cs-result__icon { background: color-mix(in oklab, var(--cs-color-semantic-success) 14%, var(--cs-color-surface-panel)); color: var(--cs-color-semantic-success-text); }.cs-result--error .cs-result__icon { background: color-mix(in oklab, var(--cs-color-semantic-danger) 12%, var(--cs-color-surface-panel)); color: var(--cs-color-semantic-danger-text); }.cs-result--warning .cs-result__icon { background: color-mix(in oklab, var(--cs-color-semantic-warning) 14%, var(--cs-color-surface-panel)); color: var(--cs-color-semantic-warning-text); }.cs-result__title { margin: 0; font: 800 22px/1.3 var(--cs-heading-family, var(--cs-font-family-ui)); letter-spacing: var(--cs-heading-tracking, -0.01em); color: var(--cs-color-text-primary); }.cs-result__body { margin: 0; max-inline-size: 46ch; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); line-height: 1.55; }.cs-result__actions { display: flex; gap: 10px; margin-top: 6px; }.cs-inline-edit__view { display: inline-flex; align-items: center; gap: 7px; border: 1px dashed transparent; background: none; font: inherit; color: var(--cs-color-text-primary); padding: 4px 8px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-inline-edit__view:hover { border-color: var(--cs-color-border-default); background: var(--cs-color-surface-raised); }.cs-inline-edit__view svg { color: var(--cs-color-text-muted); }.cs-inline-edit__view .ph { color: var(--cs-color-text-muted); }.cs-inline-edit input { font: inherit; color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-accent); border-radius: var(--cs-radius-sm); padding: 4px 8px; }.cs-inline-edit input:focus { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }/* ---- v3 Batch 5 part 1 (Jul 2026): Link · Anchor · Image · Toolbar ---- */.cs-link { color: var(--cs-color-link); text-underline-offset: .15em; }.cs-link:hover { color: var(--cs-color-link-hover); }.cs-link--muted { color: var(--cs-color-text-muted); }.cs-link--standalone { font-weight: 700; text-decoration: none; }.cs-link--standalone:hover { text-decoration: underline; }.cs-anchor { display: grid; gap: 2px; min-inline-size: 180px; border-inline-start: 2px solid var(--cs-color-border-default); }.cs-anchor__title { font: 700 10.5px/1.4 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .1em; color: var(--cs-color-text-muted); padding: 2px 12px 6px; }.cs-anchor__item { display: block; padding: 5px 12px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); text-decoration: none; border-inline-start: 2px solid transparent; margin-inline-start: -2px; }.cs-anchor__item:hover { color: var(--cs-color-text-primary); }.cs-anchor__item.is-active { color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent-bright)); border-inline-start-color: var(--cs-accent); font-weight: 600; }.cs-image { position: relative; display: inline-block; overflow: hidden; border-radius: var(--cs-radius-md); background: var(--cs-color-surface-raised); max-inline-size: 100%; }.cs-image img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }.cs-image.is-loading { min-inline-size: 120px; min-block-size: 80px; animation: cs-img-shimmer 1.2s ease-in-out infinite alternate; }@keyframes cs-img-shimmer { from { opacity: .55; } to { opacity: .9; } }.cs-image.is-zoomable { cursor: zoom-in; }.cs-image__fallback { display: grid; place-items: center; min-block-size: 80px; block-size: 100%; color: var(--cs-color-text-muted); }.cs-image__zoom { position: fixed; inset: 0; z-index: var(--cs-depth-modal, 100); background: rgba(26, 17, 8, .82); display: grid; place-items: center; cursor: zoom-out; }.cs-image__zoom img { max-inline-size: 88vw; max-block-size: 86vh; border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-xl); }.cs-image__zoom button { position: absolute; inset-block-start: 18px; inset-inline-end: 18px; inline-size: 40px; block-size: 40px; border-radius: 999px; border: 0; background: rgba(255, 255, 255, .12); color: #fff; /* on-dark-chrome ink */ font-size: var(--cs-font-size-base); cursor: pointer; }.cs-toolbar { display: inline-flex; align-items: center; gap: 4px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 4px; }.cs-toolbar__btn { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: var(--cs-color-text-primary); font: 600 13px var(--cs-font-family-ui); padding: 7px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; min-block-size: 32px; }.cs-toolbar__btn:hover { background: var(--cs-color-surface-raised); }.cs-toolbar__btn:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-toolbar__sep { inline-size: 1px; block-size: 20px; background: var(--cs-color-border-default); margin: 0 4px; }.cs-toolbar__more { position: relative; }.cs-toolbar__more .cs-menu__list { position: absolute; inset-inline-end: 0; inset-block-start: calc(100% + 6px); }/* ---- v3 Batch 5 part 2 (Jul 2026): Menubar · NavigationMenu · Carousel · Comment ---- */.cs-menubar { display: inline-flex; gap: 2px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 3px; }.cs-menubar__wrap { position: relative; }.cs-menubar__top { border: 0; background: none; font: 600 13.5px var(--cs-font-family-ui); color: var(--cs-color-text-primary); padding: 7px 12px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-menubar__top:hover, .cs-menubar__top.is-open { background: var(--cs-color-surface-raised); }.cs-menubar__wrap .cs-menu__list { position: absolute; inset-inline-start: 0; inset-block-start: calc(100% + 5px); }.cs-navmenu { display: inline-flex; gap: 4px; align-items: center; }.cs-navmenu__wrap { position: relative; }.cs-navmenu__top { display: inline-flex; align-items: center; gap: 5px; border: 0; background: none; text-decoration: none; font: 600 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); padding: 9px 12px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-navmenu__top:hover, .cs-navmenu__top.is-open { background: var(--cs-color-surface-raised); }.cs-navmenu__panel { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-inline-start: var(--_cs-panel-inline-offset, 0px); inline-size: 468px; max-inline-size: var(--_cs-panel-max-inline-size, calc(100vw - 16px)); box-sizing: border-box; inset-block-start: calc(100% + 8px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-md); padding: 10px; }.cs-navmenu__card { min-inline-size: 0; overflow-wrap: anywhere; display: grid; gap: 3px; padding: 10px 12px; border-radius: var(--cs-radius-md); text-decoration: none; color: var(--cs-color-text-primary); }.cs-navmenu__card:hover { background: var(--cs-accent-tint); }.cs-navmenu__card b { font-size: var(--cs-font-size-sm); }.cs-navmenu__card small { color: var(--cs-color-text-muted); font-size: var(--cs-font-size-xs); line-height: 1.45; }.cs-carousel { display: grid; gap: 10px; }.cs-carousel__view { position: relative; overflow: hidden; border-radius: var(--cs-radius-lg); border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); }.cs-carousel__window { overflow: hidden; min-inline-size: 0; }.cs-carousel__track { display: flex; transition: transform var(--cs-duration-base, 240ms) cubic-bezier(0.2, 0, 0, 1); }.cs-carousel__slide { flex: 0 0 100%; min-inline-size: 100%; }.cs-carousel__nav { position: absolute; inset-block-start: 50%; translate: 0 -50%; inline-size: 36px; block-size: 36px; border-radius: 999px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); cursor: pointer; font-size: var(--cs-font-size-md); box-shadow: var(--cs-shadow-sm); }.cs-carousel__nav.prev { inset-inline-start: 10px; }.cs-carousel__nav.next { inset-inline-end: 10px; }/* Keep the 9px mark inside a real, non-overlapping 24px fine-pointer target.
1584
+ }.cs-stepper button { border: 0; background: var(--cs-color-surface-raised); color: var(--cs-color-text-primary); inline-size: 40px; cursor: pointer; font-size: var(--cs-font-size-md); font-weight: 700; display: grid; place-items: center; }.cs-stepper button:hover:not(:disabled) { color: var(--cs-color-text-accent); }.cs-stepper button:disabled { opacity: 0.45; cursor: not-allowed; }.cs-stepper input { inline-size: 56px; text-align: center; border: 0; border-inline: 1px solid var(--cs-color-border-default); background: transparent; font: inherit; font-family: var(--cs-font-family-mono); color: var(--cs-color-text-primary); outline: 0; min-height: 42px; -moz-appearance: textfield; }.cs-stepper input::-webkit-outer-spin-button, .cs-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }/* Slider (native range) */.cs-slider { inline-size: 100%; accent-color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent)); block-size: 22px; cursor: pointer; }.cs-slider:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 4px; border-radius: var(--cs-radius-full); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }/* FileUpload / dropzone */.cs-dropzone { display: grid; gap: 6px; justify-items: center; text-align: center; border: 2px dashed var(--cs-color-border-default); border-radius: var(--cs-radius-lg); padding: 28px 24px; background: var(--cs-color-surface-raised); cursor: pointer; color: var(--cs-color-text-primary); transition: border-color var(--cs-duration-fast) var(--cs-ease-standard), background var(--cs-duration-fast) var(--cs-ease-standard); }.cs-dropzone:hover, .cs-dropzone.is-dragging { border-color: var(--cs-accent); background: color-mix(in oklab, var(--cs-accent) 8%, var(--cs-color-surface-panel)); }.cs-dropzone__icon { color: var(--cs-color-text-accent); }.cs-dropzone__title { font-weight: 700; }.cs-dropzone__hint { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); }/* SegmentedControl (matches Status Hub lens switcher) */.cs-segmented { display: inline-flex; gap: 4px; background: var(--cs-color-surface-raised); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-full); padding: 3px; }.cs-segmented button { border: 0; background: transparent; border-radius: var(--cs-radius-full); padding: 7px 15px; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-accent); cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }.cs-segmented button[aria-checked="true"], .cs-segmented button[aria-pressed="true"], .cs-segmented button[aria-selected="true"] { background: var(--_cs-light, var(--cs-component-button-primary-bg))var(--_cs-dark, var(--cs-component-button-primary-bg)); color: var(--_cs-light, var(--cs-component-button-primary-fg))var(--_cs-dark, var(--cs-component-button-primary-fg)); }/* StatusIndicator */.cs-status { display: inline-flex; align-items: center; gap: 7px; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-sm); font-weight: 600; color: var(--cs-color-text-primary); }.cs-status__dot { inline-size: 9px; block-size: 9px; border-radius: 50%; background: var(--cs-color-text-muted); flex: none; }.cs-status--online .cs-status__dot { background: var(--cs-color-semantic-success); }.cs-status--busy .cs-status__dot { background: var(--cs-color-brand-ochre); }.cs-status--offline .cs-status__dot { background: var(--cs-color-text-muted); }.cs-status--error .cs-status__dot { background: var(--cs-color-semantic-danger); }.cs-status--pulse .cs-status__dot { box-shadow: 0 0 0 0 currentColor; animation: cs-pulse 1.8s var(--cs-ease-standard) infinite; color: var(--cs-color-semantic-success-text); }@keyframes cs-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--cs-color-semantic-success) 55%, transparent); } 70% { box-shadow: 0 0 0 7px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }@media (prefers-reduced-motion: reduce) { .cs-status--pulse .cs-status__dot { animation: none; } }/* Kbd */.cs-kbd { display: inline-block; font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-xs); line-height: 1; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-block-end-width: 2px; border-radius: 6px; padding: 3px 7px; box-shadow: var(--cs-shadow-xs); }/* ---- v3 Batch 2 inputs (Jul 2026): Toggle · Rating · InputOTP · ButtonGroup ---- */.cs-toggle { display: inline-flex; align-items: center; gap: 8px; font: 600 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 8px 14px; min-block-size: 40px; cursor: pointer; transition: background var(--cs-duration-fast, 120ms), border-color var(--cs-duration-fast, 120ms); }.cs-toggle:hover { background: var(--cs-color-surface-raised); }.cs-toggle[aria-pressed="true"] { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); border-color: var(--cs-accent); color: var(--cs-color-text-primary); }.cs-toggle:disabled { opacity: .5; cursor: not-allowed; }.cs-rating { display: inline-flex; gap: 4px; }.cs-rating button { background: none; border: 0; padding: 2px; cursor: pointer; color: var(--cs-color-border-default); display: grid; place-items: center; }.cs-rating button.on { color: var(--cs-accent); }.cs-rating[data-readonly="true"] button { cursor: default; }.cs-rating button:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; border-radius: 4px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-otp { display: inline-flex; gap: 8px; }.cs-otp input { inline-size: 44px; block-size: 52px; text-align: center; font: 700 22px var(--cs-font-family-mono); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); }.cs-otp input:focus { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; border-color: var(--cs-accent); box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-otp input:disabled { opacity: .5; cursor: not-allowed; background: var(--cs-color-surface-raised); }.cs-btngroup { display: inline-flex; }.cs-btngroup .cs-button { border-radius: 0; }.cs-btngroup .cs-button:first-child { border-start-start-radius: var(--cs-component-button-radius, 8px); border-end-start-radius: var(--cs-component-button-radius, 8px); }.cs-btngroup .cs-button:last-child { border-start-end-radius: var(--cs-component-button-radius, 8px); border-end-end-radius: var(--cs-component-button-radius, 8px); }.cs-btngroup .cs-button + .cs-button { margin-inline-start: -1px; }/* ---- v3 Batch 2 part 2 (Jul 2026): Combobox · InputGroup · TagInput ---- */.cs-combobox { position: relative; display: inline-block; min-inline-size: 260px; }.cs-combobox input { inline-size: 100%; box-sizing: border-box; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 10px 34px 10px var(--cs-space-3); min-block-size: 44px; }.cs-combobox input:focus { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-combobox__caret { position: absolute; inset-inline-end: 10px; inset-block-start: 50%; translate: 0 -50%; pointer-events: none; color: var(--cs-color-text-muted); }.cs-combobox__popup { color: var(--cs-color-text-primary); position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-inline: 0; inset-block-start: calc(100% + 6px); max-block-size: 240px; overflow: auto; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 6px; margin: 0; }.cs-combobox__list { padding: 0; margin: 0; list-style: none; }.cs-combobox__opt { padding: 8px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; font-size: var(--cs-font-size-sm); }.cs-combobox__opt[aria-selected="true"], .cs-combobox__opt.hl { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); color: var(--_cs-light, var(--cs-color-text-primary))var(--_cs-dark, var(--cs-accent-bright)); }.cs-combobox__empty { padding: 10px; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); }.cs-igroup { display: inline-flex; align-items: stretch; min-inline-size: 260px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); overflow: hidden; }.cs-igroup:focus-within { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-igroup > input { flex: 1; min-inline-size: 0; border: 0; background: transparent; color: var(--cs-color-text-primary); font: 500 14px var(--cs-font-family-ui); padding: 10px 12px; min-block-size: 44px; box-sizing: border-box; }.cs-igroup > input:focus { outline: none; }.cs-igroup__fix { display: flex; align-items: center; padding: 0 10px; color: var(--cs-color-text-muted); background: var(--cs-color-surface-raised); border-inline-end: 1px solid var(--cs-color-border-default); font-size: var(--cs-font-size-sm); }.cs-igroup__fix--suffix { border-inline-end: 0; border-inline-start: 1px solid var(--cs-color-border-default); }.cs-igroup__btn { border: 0; background: none; color: var(--cs-color-text-muted); cursor: pointer; display: grid; place-items: center; padding: 0 10px; }.cs-igroup__btn:hover { color: var(--cs-color-text-primary); }.cs-taginput { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; min-inline-size: 280px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 6px var(--cs-space-2); min-block-size: 44px; box-sizing: border-box; }.cs-taginput:focus-within { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-taginput > input { flex: 1; min-inline-size: 120px; border: 0; background: transparent; color: var(--cs-color-text-primary); font: 500 14px var(--cs-font-family-ui); padding: 6px var(--cs-space-1); }.cs-taginput > input:focus { outline: none; }/* Disabled editing must not dim already committed, noninteractive values. */.cs-field.is-disabled:has(> .cs-taginput) { opacity: 1; }.cs-field.is-disabled > .cs-taginput { background: var(--cs-color-surface-raised); }/* ---- v3 Batch 3 (Jul 2026): Calendar · DatePicker · TimePicker ---- */.cs-cal { display: inline-block; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); padding: var(--cs-space-3); min-inline-size: 272px; box-shadow: var(--cs-shadow-sm); }.cs-cal__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; font: 700 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); }.cs-cal__head button { border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border-radius: var(--cs-radius-sm); inline-size: 30px; block-size: 30px; cursor: pointer; font-size: var(--cs-font-size-base); }.cs-cal__head button:hover { background: var(--cs-color-surface-raised); }.cs-cal__wd, .cs-cal__grid { display: grid; grid-template-columns: repeat(7, 34px); gap: 2px; }.cs-cal__wd span { text-align: center; font: 700 10.5px/2 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .04em; color: var(--cs-color-text-muted); }.cs-cal__grid button { border: 0; background: none; color: var(--cs-color-text-primary); font: 500 13px var(--cs-font-family-ui); block-size: 34px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-cal__grid button:hover { background: var(--cs-color-surface-raised); }.cs-cal__grid button.today { box-shadow: inset 0 0 0 1px var(--cs-accent); }.cs-cal__grid button.sel { background: var(--cs-accent); color: var(--cs-accent-on); font-weight: 700; }.cs-cal__grid button:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-datepicker { position: relative; display: inline-block; max-inline-size: 100%; }.cs-datepicker__field { display: inline-flex; align-items: center; gap: var(--cs-space-2); min-inline-size: 220px; min-block-size: 44px; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: var(--cs-space-2) var(--cs-space-3); cursor: pointer; }.cs-datepicker__field:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-datepicker__field .ph { color: var(--cs-color-text-muted); }.cs-datepicker__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 6px); inset-inline-start: var(--_cs-panel-inline-offset, 0px); inline-size: max-content; max-inline-size: var(--_cs-panel-max-inline-size, calc(100vw - 16px)); }.cs-datepicker__pop .cs-cal { min-inline-size: 0; max-inline-size: 100%; box-sizing: border-box; overflow-x: auto; }.cs-timepicker { display: inline-flex; align-items: center; gap: 8px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 0 10px; min-block-size: 44px; color: var(--cs-color-text-muted); }.cs-timepicker:focus-within { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-timepicker select { border: 0; background: transparent; color: var(--cs-color-text-primary); font: 600 14px var(--cs-font-family-mono); padding: 8px 2px; cursor: pointer; }.cs-timepicker select:focus { outline: none; }/* ---- v3 Batch 4 (Jul 2026): HoverCard · Popconfirm · ContextMenu · FAB · Result · InlineEdit ---- */.cs-hovercard { position: relative; display: inline-block; }.cs-hovercard__panel { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 8px); inset-inline-start: 0; min-inline-size: 240px; display: block; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 14px 16px; font-size: var(--cs-font-size-sm); line-height: 1.5; color: var(--cs-color-text-primary); }.cs-popconfirm { position: relative; display: inline-block; }.cs-popconfirm__panel { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 8px); inset-inline-start: 0; min-inline-size: 240px; display: block; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 12px 14px; }.cs-popconfirm__title { display: block; font: 600 13.5px/1.45 var(--cs-font-family-ui); color: var(--cs-color-text-primary); margin-bottom: 10px; }.cs-popconfirm__actions { display: flex; gap: 8px; justify-content: flex-end; }.cs-ctxmenu-zone { position: relative; }.cs-fab { position: fixed; inset-inline-end: 24px; inset-block-end: 24px; z-index: var(--cs-depth-overlay, 80); display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }.cs-fab--static { position: static; align-items: flex-start; }.cs-fab__main { inline-size: 56px; block-size: 56px; border-radius: 999px; border: 0; background: var(--cs-accent); color: var(--cs-accent-on); display: grid; place-items: center; cursor: pointer; box-shadow: var(--cs-shadow-lg); }.cs-fab__main:hover { filter: brightness(1.05); }.cs-fab__main:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre), var(--cs-shadow-md); }.cs-fab__dial { display: flex; flex-direction: column; gap: 8px; align-items: center; }.cs-fab--static .cs-fab__dial, .cs-fab__dial--static { flex-direction: row; }.cs-fab__mini { inline-size: 42px; block-size: 42px; border-radius: 999px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); display: grid; place-items: center; cursor: pointer; box-shadow: var(--cs-shadow-sm); }.cs-result { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 44px 24px; }.cs-result__icon { inline-size: 64px; block-size: 64px; border-radius: 999px; display: grid; place-items: center; background: var(--cs-accent-tint); color: var(--cs-color-text-accent); }.cs-result--success .cs-result__icon { background: color-mix(in oklab, var(--cs-color-semantic-success) 14%, var(--cs-color-surface-panel)); color: var(--cs-color-semantic-success-text); }.cs-result--error .cs-result__icon { background: color-mix(in oklab, var(--cs-color-semantic-danger) 12%, var(--cs-color-surface-panel)); color: var(--cs-color-semantic-danger-text); }.cs-result--warning .cs-result__icon { background: color-mix(in oklab, var(--cs-color-semantic-warning) 14%, var(--cs-color-surface-panel)); color: var(--cs-color-semantic-warning-text); }.cs-result__title { margin: 0; font: 800 22px/1.3 var(--cs-heading-family, var(--cs-font-family-ui)); letter-spacing: var(--cs-heading-tracking, -0.01em); color: var(--cs-color-text-primary); }.cs-result__body { margin: 0; max-inline-size: 46ch; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); line-height: 1.55; }.cs-result__actions { display: flex; gap: 10px; margin-top: 6px; }.cs-inline-edit__view { display: inline-flex; align-items: center; gap: 7px; border: 1px dashed transparent; background: none; font: inherit; color: var(--cs-color-text-primary); padding: 4px 8px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-inline-edit__view:hover { border-color: var(--cs-color-border-default); background: var(--cs-color-surface-raised); }.cs-inline-edit__view svg { color: var(--cs-color-text-muted); }.cs-inline-edit__view .ph { color: var(--cs-color-text-muted); }.cs-inline-edit input { font: inherit; color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-accent); border-radius: var(--cs-radius-sm); padding: 4px 8px; }.cs-inline-edit input:focus { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }/* ---- v3 Batch 5 part 1 (Jul 2026): Link · Anchor · Image · Toolbar ---- */.cs-link { color: var(--cs-color-link); text-underline-offset: .15em; }.cs-link:hover { color: var(--cs-color-link-hover); }.cs-link--muted { color: var(--cs-color-text-muted); }.cs-link--standalone { font-weight: 700; text-decoration: none; }.cs-link--standalone:hover { text-decoration: underline; }.cs-anchor { display: grid; gap: 2px; min-inline-size: 180px; border-inline-start: 2px solid var(--cs-color-border-default); }.cs-anchor__title { font: 700 10.5px/1.4 var(--cs-font-family-ui); text-transform: uppercase; letter-spacing: .1em; color: var(--cs-color-text-muted); padding: 2px 12px 6px; }.cs-anchor__item { display: block; padding: 5px 12px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); text-decoration: none; border-inline-start: 2px solid transparent; margin-inline-start: -2px; }.cs-anchor__item:hover { color: var(--cs-color-text-primary); }.cs-anchor__item.is-active { color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent-bright)); border-inline-start-color: var(--cs-accent); font-weight: 600; }.cs-image { position: relative; display: inline-block; overflow: hidden; border-radius: var(--cs-radius-md); background: var(--cs-color-surface-raised); max-inline-size: 100%; }.cs-image img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }.cs-image.is-loading { min-inline-size: 120px; min-block-size: 80px; animation: cs-img-shimmer 1.2s ease-in-out infinite alternate; }@keyframes cs-img-shimmer { from { opacity: .55; } to { opacity: .9; } }.cs-image.is-zoomable { cursor: zoom-in; }.cs-image__fallback { display: grid; place-items: center; min-block-size: 80px; block-size: 100%; color: var(--cs-color-text-muted); }.cs-image__zoom { position: fixed; inset: 0; z-index: var(--cs-depth-modal, 100); background: color-mix(in oklab, var(--cs-color-brand-umber, #45210e) 82%, transparent); display: grid; place-items: center; cursor: zoom-out; }.cs-image__zoom img { max-inline-size: 88vw; max-block-size: 86vh; border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-xl); }.cs-image__zoom button { position: absolute; inset-block-start: 18px; inset-inline-end: 18px; inline-size: 40px; block-size: 40px; border-radius: 999px; border: 0; background: rgba(255, 255, 255, .12); color: #fff; /* on-dark-chrome ink */ font-size: var(--cs-font-size-base); cursor: pointer; }.cs-toolbar { display: inline-flex; align-items: center; gap: 4px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 4px; }.cs-toolbar__btn { display: inline-flex; align-items: center; gap: 6px; border: 0; background: none; color: var(--cs-color-text-primary); font: 600 13px var(--cs-font-family-ui); padding: 7px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; min-block-size: 32px; }.cs-toolbar__btn:hover { background: var(--cs-color-surface-raised); }.cs-toolbar__btn:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-toolbar__sep { inline-size: 1px; block-size: 20px; background: var(--cs-color-border-default); margin: 0 4px; }.cs-toolbar__more { position: relative; }.cs-toolbar__more .cs-menu__list { position: absolute; inset-inline-end: 0; inset-block-start: calc(100% + 6px); }/* ---- v3 Batch 5 part 2 (Jul 2026): Menubar · NavigationMenu · Carousel · Comment ---- */.cs-menubar { display: inline-flex; gap: 2px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 3px; }.cs-menubar__wrap { position: relative; }.cs-menubar__top { border: 0; background: none; font: 600 13.5px var(--cs-font-family-ui); color: var(--cs-color-text-primary); padding: 7px 12px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-menubar__top:hover, .cs-menubar__top.is-open { background: var(--cs-color-surface-raised); }.cs-menubar__wrap .cs-menu__list { position: absolute; inset-inline-start: 0; inset-block-start: calc(100% + 5px); }.cs-navmenu { display: inline-flex; gap: 4px; align-items: center; }.cs-navmenu__wrap { position: relative; }.cs-navmenu__top { display: inline-flex; align-items: center; gap: 5px; border: 0; background: none; text-decoration: none; font: 600 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); padding: 9px 12px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-navmenu__top:hover, .cs-navmenu__top.is-open { background: var(--cs-color-surface-raised); }.cs-navmenu__panel { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-inline-start: var(--_cs-panel-inline-offset, 0px); inline-size: 468px; max-inline-size: var(--_cs-panel-max-inline-size, calc(100vw - 16px)); box-sizing: border-box; inset-block-start: calc(100% + 8px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-md); padding: 10px; }.cs-navmenu__card { min-inline-size: 0; overflow-wrap: anywhere; display: grid; gap: 3px; padding: 10px 12px; border-radius: var(--cs-radius-md); text-decoration: none; color: var(--cs-color-text-primary); }.cs-navmenu__card:hover { background: var(--cs-accent-tint); }.cs-navmenu__card b { font-size: var(--cs-font-size-sm); }.cs-navmenu__card small { color: var(--cs-color-text-muted); font-size: var(--cs-font-size-xs); line-height: 1.45; }.cs-carousel { display: grid; gap: 10px; }.cs-carousel__view { position: relative; overflow: hidden; border-radius: var(--cs-radius-lg); border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); }.cs-carousel__window { overflow: hidden; min-inline-size: 0; }.cs-carousel__track { display: flex; transition: transform var(--cs-duration-base, 240ms) cubic-bezier(0.2, 0, 0, 1); }.cs-carousel__slide { flex: 0 0 100%; min-inline-size: 100%; }.cs-carousel__nav { position: absolute; inset-block-start: 50%; translate: 0 -50%; inline-size: 36px; block-size: 36px; border-radius: 999px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); cursor: pointer; font-size: var(--cs-font-size-md); box-shadow: var(--cs-shadow-sm); }.cs-carousel__nav.prev { inset-inline-start: 10px; }.cs-carousel__nav.next { inset-inline-end: 10px; }/* Keep the 9px mark inside a real, non-overlapping 24px fine-pointer target.
1582
1585
  * Coarse-pointer rules retain their existing 44px targets and dot paint. */.cs-carousel__dots { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }.cs-carousel__dots button { inline-size: 24px; block-size: 24px; flex: 0 0 24px; border-radius: 999px; border: 0; background: none; cursor: pointer; padding: 0; position: relative; }.cs-carousel__dots button::before { content: ""; position: absolute; inset: 0; margin: auto; inline-size: 9px; block-size: 9px; border-radius: inherit; background: var(--cs-color-border-default); pointer-events: none; }.cs-carousel__dots button[aria-current="true"]::before { background: var(--cs-accent); }@media (prefers-reduced-motion: reduce) { .cs-carousel__track { transition: none; } }.cs-comment { display: flex; gap: 10px; }.cs-comment__main { flex: 1; min-inline-size: 0; }.cs-comment__head { display: flex; align-items: baseline; gap: 8px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }.cs-comment__meta { color: var(--cs-color-text-muted); font-size: var(--cs-font-size-xs); }.cs-comment__body { font-size: var(--cs-font-size-sm); line-height: 1.55; color: var(--cs-color-text-primary); margin: 3px 0 6px; }.cs-comment__actions { display: flex; gap: 12px; }.cs-comment__actions button { border: 0; background: none; padding: 0; font: 600 12.5px var(--cs-font-family-ui); color: var(--cs-color-text-accent); cursor: pointer; }.cs-comment__replies { margin-top: 12px; padding-inline-start: 14px; border-inline-start: 2px solid var(--cs-color-border-default); display: grid; gap: 12px; }/* ---- v3 Batch 6a (Jul 2026): Form · Tree · BackTop · Watermark ---- */.cs-form { display: grid; gap: var(--cs-space-4); }/* FIND-015 — visible pending + interaction lock while asyncRules / submit run. */.cs-form.is-pending { opacity: 0.72; }.cs-form.is-pending :is(button, input, select, textarea, [role="button"]) {
1583
1586
  pointer-events: none;
1584
1587
  cursor: wait;
1585
- }.cs-form__summary { border: 1px solid var(--cs-color-semantic-danger); border-radius: var(--cs-radius-md); background: color-mix(in oklab, var(--cs-color-semantic-danger) 8%, var(--cs-color-surface-panel)); color: var(--cs-color-text-primary); padding: var(--cs-space-3) 14px; font-size: var(--cs-font-size-sm); }.cs-form__summary b { color: var(--cs-color-semantic-danger-text); }.cs-form__summary ul { margin: 6px 0 0; padding-inline-start: 18px; }.cs-formfield { display: grid; gap: 6px; }.cs-formfield__label { font: 600 13px var(--cs-font-family-ui); color: var(--cs-color-text-primary); }.cs-formfield__label em { color: var(--cs-color-semantic-danger-text); font-style: normal; }.cs-formfield__hint { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); }.cs-formfield__error { font-size: var(--cs-font-size-xs); color: var(--cs-color-semantic-danger-text); font-weight: 600; }.cs-formfield.has-error input, .cs-formfield.has-error textarea, .cs-formfield.has-error select { border-color: var(--cs-color-semantic-danger); }.cs-tree { list-style: none; margin: 0; padding: 0; font-size: var(--cs-font-size-sm); }.cs-tree ul { list-style: none; margin: 0; padding: 0; }.cs-tree__row { display: flex; align-items: center; gap: 2px; border-radius: var(--cs-radius-sm); }.cs-tree__row:hover { background: var(--cs-color-surface-raised); }.cs-tree__row.is-selected { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 18%, var(--cs-color-surface-panel))); }.cs-tree__row.is-selected .cs-tree__label { color: var(--cs-color-text-primary); font-weight: 600; }.cs-tree__twist { inline-size: 20px; block-size: 28px; border: 0; background: none; color: var(--cs-color-text-muted); cursor: pointer; padding: 0; display: inline-grid; place-items: center; }.cs-tree__label { border: 0; background: none; color: var(--cs-color-text-primary); font: inherit; padding: 4px 6px; cursor: pointer; border-radius: var(--cs-radius-sm); }.cs-backtop { position: fixed; inset-inline-end: 24px; inset-block-end: 84px; z-index: var(--cs-depth-overlay, 80); inline-size: 44px; block-size: 44px; border-radius: 999px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); display: grid; place-items: center; cursor: pointer; box-shadow: var(--cs-shadow-md); }.cs-backtop:hover { border-color: var(--cs-accent); }/* ---- v3 Batch 6b (Jul 2026): TreeSelect · Cascader · Transfer · Mentions ---- */.cs-treeselect, .cs-cascader { position: relative; display: inline-block; min-inline-size: 240px; }.cs-treeselect__field { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; inline-size: 100%; min-block-size: 44px; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 8px 12px; cursor: pointer; box-sizing: border-box; }.cs-treeselect__field:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-treeselect__field .ph { color: var(--cs-color-text-muted); }.cs-treeselect__pop, .cs-cascader__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 6px); inset-inline-start: 0; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 8px; min-inline-size: 100%; }.cs-cascader__pop { display: flex; padding: 0; overflow: hidden; }.cs-cascader__col { list-style: none; margin: 0; padding: 6px; min-inline-size: 150px; max-block-size: 240px; overflow: auto; }.cs-cascader__col + .cs-cascader__col { border-inline-start: 1px solid var(--cs-color-border-default); }.cs-cascader__opt { display: flex; justify-content: space-between; gap: 8px; inline-size: 100%; border: 0; background: none; text-align: start; font: 500 13.5px var(--cs-font-family-ui); color: var(--cs-color-text-primary); padding: 8px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-cascader__opt:hover { background: var(--cs-color-surface-raised); }.cs-cascader__opt.on { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent-bright)); font-weight: 600; }.cs-transfer { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; gap: 10px; min-inline-size: 0; }.cs-transfer__list { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); min-inline-size: 0; overflow-wrap: anywhere; }.cs-transfer__title { font: 700 12px var(--cs-font-family-ui); padding: 9px 12px; border-block-end: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-raised); border-radius: var(--cs-radius-md) var(--cs-radius-md) 0 0; }.cs-transfer__list ul { list-style: none; margin: 0; padding: 8px 10px; display: grid; gap: 6px; max-block-size: 200px; overflow: auto; }.cs-transfer__list label { display: flex; align-items: center; gap: 8px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); cursor: pointer; }.cs-transfer__ops { display: grid; gap: 6px; align-content: center; }.cs-mentions { position: relative; display: block; max-inline-size: 420px; }.cs-mentions__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-inline-start: 10px; inset-block-start: calc(100% - 6px); display: grid; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 4px; }.cs-mentions__pop button { border: 0; background: none; text-align: start; font: 600 13px var(--cs-font-family-mono); color: var(--cs-color-text-primary); padding: 7px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-mentions__pop button:hover, .cs-mentions__pop button.hl, .cs-mentions__pop button[aria-selected="true"] { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); color: var(--cs-color-text-primary); }/* ---- v3 Batch 6c (Jul 2026): ColorPicker · Tour · QRCode ---- */.cs-colorpicker { position: relative; display: inline-block; }.cs-colorpicker__field { display: inline-flex; align-items: center; gap: 9px; min-block-size: 44px; font: 600 13px var(--cs-font-family-mono); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 8px 12px; cursor: pointer; }.cs-colorpicker__field i { inline-size: 20px; block-size: 20px; border-radius: 6px; border: 1px solid var(--cs-color-border-default); }.cs-colorpicker__field:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-colorpicker__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 6px); inset-inline-start: 0; display: grid; gap: 10px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 12px; }.cs-colorpicker__grid { display: grid; grid-template-columns: repeat(5, 26px); gap: 8px; }.cs-colorpicker__grid button { inline-size: 26px; block-size: 26px; border-radius: 7px; border: 1px solid var(--cs-color-border-default); cursor: pointer; }.cs-colorpicker__grid button.on { outline: var(--cs-focus-ring, 3px) solid var(--cs-color-accent-ochre); outline-offset: 1px; }.cs-colorpicker__grid button:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-colorpicker__hex input { inline-size: 110px; font: 600 13px var(--cs-font-family-mono); color: var(--cs-color-text-primary); background: var(--cs-color-surface-raised); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-sm); padding: 6px 8px; }.cs-tour__scrim { position: fixed; inset: 0; z-index: var(--cs-depth-modal, 100); background: rgba(26, 17, 8, .45); }.cs-tour__hole { position: fixed; z-index: calc(var(--cs-depth-modal, 100) + 1); border-radius: var(--cs-radius-md); box-shadow: 0 0 0 4000px rgba(26, 17, 8, .45); outline: var(--cs-focus-ring, 3px) solid var(--cs-color-brand-ochre); pointer-events: none; background: transparent; }.cs-tour__pop { position: fixed; z-index: calc(var(--cs-depth-modal, 100) + 2); inline-size: 280px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-xl); padding: 14px 16px; }.cs-tour__pop b { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }.cs-tour__pop p { margin: 6px 0 12px; font-size: var(--cs-font-size-sm); line-height: 1.5; color: var(--cs-color-text-muted); }.cs-tour__bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.cs-tour__count { font: 600 11px var(--cs-font-family-mono); color: var(--cs-color-text-muted); }.cs-tour__btns { display: flex; gap: 6px; }.cs-qrcode { display: inline-block; padding: 10px; background: var(--cs-color-surface-panel, #fff); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); line-height: 0; }/* ---- v3 Batch 7a (Jul 2026): Masonry · Splitter · HotKeys · Dock ---- */.cs-masonry__item { break-inside: avoid; }.cs-splitter { display: flex; align-items: stretch; border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); overflow: hidden; background: var(--cs-color-surface-panel); }.cs-splitter__pane { overflow: auto; padding: 14px; min-inline-size: 0; }.cs-splitter__bar { inline-size: 8px; cursor: col-resize; background: var(--cs-color-surface-raised); border-inline: 1px solid var(--cs-color-border-default); touch-action: none; }.cs-splitter__bar:hover { background: var(--cs-accent-tint); }.cs-splitter__bar:focus-visible { background: var(--cs-color-surface-raised); outline: 2px solid var(--cs-color-text-primary); outline-offset: -2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-hotkeys__sheet { position: fixed; inset: 0; z-index: var(--cs-depth-modal, 100); background: rgba(26, 17, 8, .45); display: grid; place-items: center; }.cs-hotkeys__card { background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-xl); padding: 18px 20px; min-inline-size: 300px; }.cs-hotkeys__card b { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }.cs-hotkeys__card ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }.cs-hotkeys__card li { display: flex; justify-content: space-between; gap: 20px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }.cs-dock { display: inline-flex; align-items: flex-end; gap: 8px; background: color-mix(in oklab, var(--cs-color-surface-panel) 82%, transparent); border: 1px solid var(--cs-color-border-default); border-radius: 18px; padding: 8px 12px; backdrop-filter: blur(10px); }.cs-dock__item { inline-size: 44px; block-size: 44px; border-radius: 12px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); display: grid; place-items: center; cursor: pointer; transition: transform var(--cs-duration-fast, 120ms); position: relative; }.cs-dock__item.is-active::after { content: ""; position: absolute; inset-block-end: -6px; inline-size: 4px; block-size: 4px; border-radius: 999px; background: var(--cs-accent); }@media (prefers-reduced-motion: reduce) { .cs-dock__item { transition: none; } }/* ---- v3 Batch 7b (Jul 2026): DataGrid · TreeTable · Sortable ---- */.cs-datagrid { overflow: auto; border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); }.cs-datagrid .cs-table { margin: 0; }.cs-datagrid thead th { position: sticky; inset-block-start: 0; background: var(--cs-color-surface-raised); z-index: 1; }.cs-datagrid__check { display: inline-flex; align-items: center; justify-content: center; }.cs-datagrid__selcol { inline-size: 36px; text-align: center; }.cs-datagrid__sort { border: 0; background: none; font: inherit; color: inherit; cursor: pointer; padding: 0; }.cs-datagrid tr.is-selected td { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 18%, var(--cs-color-surface-panel))); }.cs-treetable .cs-treetable__cell { display: inline-flex; align-items: center; gap: 2px; }.cs-sortable { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-inline-size: 380px; }.cs-sortable__item { display: flex; align-items: center; gap: 10px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 10px 12px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); cursor: grab; }.cs-sortable__item.is-dragging { opacity: .5; }.cs-sortable__item.is-over { border-color: var(--cs-accent); box-shadow: inset 0 0 0 1px var(--cs-accent); }.cs-sortable__grip { color: var(--cs-color-text-muted); }.cs-sortable__label { flex: 1; min-inline-size: 0; }.cs-sortable__ops { display: inline-flex; gap: 4px; margin-inline-start: auto; }.cs-sortable__ops .cs-button { cursor: pointer; }.cs-sortable__ops .cs-button:disabled { opacity: .4; cursor: not-allowed; }/* ---- v3 Batch 7c (Jul 2026): Chart · Editor · Terminal ---- */.cs-chart { margin: 0; display: grid; gap: 8px; max-inline-size: 420px; }.cs-chart__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); }.cs-chart__legend b { color: var(--cs-color-text-primary); }.cs-editor { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); max-inline-size: 460px; }.cs-editor__bar { display: flex; gap: 2px; padding: 6px; border-block-end: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-raised); border-radius: var(--cs-radius-md) var(--cs-radius-md) 0 0; }.cs-editor__area { padding: 12px 14px; font: 400 14px/1.6 var(--cs-font-family-ui); color: var(--cs-color-text-primary); outline: none; }.cs-editor__area:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: -2px; box-shadow: inset 0 0 0 5px var(--cs-color-accent-ochre); border-radius: 0 0 var(--cs-radius-md) var(--cs-radius-md); }/* Terminal — always-dark chrome (FIND-010: hex only in local custom props) */.cs-terminal {
1588
+ }.cs-form__summary { border: 1px solid var(--cs-color-semantic-danger); border-radius: var(--cs-radius-md); background: color-mix(in oklab, var(--cs-color-semantic-danger) 8%, var(--cs-color-surface-panel)); color: var(--cs-color-text-primary); padding: var(--cs-space-3) 14px; font-size: var(--cs-font-size-sm); }.cs-form__summary b { color: var(--cs-color-semantic-danger-text); }.cs-form__summary ul { margin: 6px 0 0; padding-inline-start: 18px; }.cs-formfield { display: grid; gap: 6px; }.cs-formfield__label { font: 600 13px var(--cs-font-family-ui); color: var(--cs-color-text-primary); }.cs-formfield__label em { color: var(--cs-color-semantic-danger-text); font-style: normal; }.cs-formfield__hint { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); }.cs-formfield__error { font-size: var(--cs-font-size-xs); color: var(--cs-color-semantic-danger-text); font-weight: 600; }.cs-formfield.has-error input, .cs-formfield.has-error textarea, .cs-formfield.has-error select { border-color: var(--cs-color-semantic-danger); }.cs-tree { list-style: none; margin: 0; padding: 0; font-size: var(--cs-font-size-sm); }.cs-tree ul { list-style: none; margin: 0; padding: 0; }.cs-tree__row { display: flex; align-items: center; gap: 2px; border-radius: var(--cs-radius-sm); }.cs-tree__row:hover { background: var(--cs-color-surface-raised); }.cs-tree__row.is-selected { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 18%, var(--cs-color-surface-panel))); }.cs-tree__row.is-selected .cs-tree__label { color: var(--cs-color-text-primary); font-weight: 600; }.cs-tree__twist { inline-size: 20px; block-size: 28px; border: 0; background: none; color: var(--cs-color-text-muted); cursor: pointer; padding: 0; display: inline-grid; place-items: center; }.cs-tree__label { border: 0; background: none; color: var(--cs-color-text-primary); font: inherit; padding: 4px 6px; cursor: pointer; border-radius: var(--cs-radius-sm); }.cs-backtop { position: fixed; inset-inline-end: 24px; inset-block-end: 84px; z-index: var(--cs-depth-overlay, 80); inline-size: 44px; block-size: 44px; border-radius: 999px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); display: grid; place-items: center; cursor: pointer; box-shadow: var(--cs-shadow-md); }.cs-backtop:hover { border-color: var(--cs-accent); }/* ---- v3 Batch 6b (Jul 2026): TreeSelect · Cascader · Transfer · Mentions ---- */.cs-treeselect, .cs-cascader { position: relative; display: inline-block; min-inline-size: 240px; }.cs-treeselect__field { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; inline-size: 100%; min-block-size: 44px; font: 500 14px var(--cs-font-family-ui); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 8px 12px; cursor: pointer; box-sizing: border-box; }.cs-treeselect__field:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-treeselect__field .ph { color: var(--cs-color-text-muted); }.cs-treeselect__pop, .cs-cascader__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 6px); inset-inline-start: 0; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 8px; min-inline-size: 100%; }.cs-cascader__pop { display: flex; padding: 0; overflow: hidden; }.cs-cascader__col { list-style: none; margin: 0; padding: 6px; min-inline-size: 150px; max-block-size: 240px; overflow: auto; }.cs-cascader__col + .cs-cascader__col { border-inline-start: 1px solid var(--cs-color-border-default); }.cs-cascader__opt { display: flex; justify-content: space-between; gap: 8px; inline-size: 100%; border: 0; background: none; text-align: start; font: 500 13.5px var(--cs-font-family-ui); color: var(--cs-color-text-primary); padding: 8px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-cascader__opt:hover { background: var(--cs-color-surface-raised); }.cs-cascader__opt.on { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); color: var(--_cs-light, var(--cs-accent-strong))var(--_cs-dark, var(--cs-accent-bright)); font-weight: 600; }.cs-transfer { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: stretch; gap: 10px; min-inline-size: 0; }.cs-transfer__list { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); min-inline-size: 0; overflow-wrap: anywhere; }.cs-transfer__title { font: 700 12px var(--cs-font-family-ui); padding: 9px 12px; border-block-end: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-raised); border-radius: var(--cs-radius-md) var(--cs-radius-md) 0 0; }.cs-transfer__list ul { list-style: none; margin: 0; padding: 8px 10px; display: grid; gap: 6px; max-block-size: 200px; overflow: auto; }.cs-transfer__list label { display: flex; align-items: center; gap: 8px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); cursor: pointer; }.cs-transfer__ops { display: grid; gap: 6px; align-content: center; }.cs-mentions { position: relative; display: block; max-inline-size: 420px; }.cs-mentions__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-inline-start: 10px; inset-block-start: calc(100% - 6px); display: grid; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 4px; }.cs-mentions__pop button { border: 0; background: none; text-align: start; font: 600 13px var(--cs-font-family-mono); color: var(--cs-color-text-primary); padding: 7px 10px; border-radius: var(--cs-radius-sm); cursor: pointer; }.cs-mentions__pop button:hover, .cs-mentions__pop button.hl, .cs-mentions__pop button[aria-selected="true"] { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); color: var(--cs-color-text-primary); }/* ---- v3 Batch 6c (Jul 2026): ColorPicker · Tour · QRCode ---- */.cs-colorpicker { position: relative; display: inline-block; }.cs-colorpicker__field { display: inline-flex; align-items: center; gap: 9px; min-block-size: 44px; font: 600 13px var(--cs-font-family-mono); color: var(--cs-color-text-primary); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 8px 12px; cursor: pointer; }.cs-colorpicker__field i { inline-size: 20px; block-size: 20px; border-radius: 6px; border: 1px solid var(--cs-color-border-default); }.cs-colorpicker__field:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 1px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-colorpicker__pop { position: absolute; z-index: var(--cs-depth-dropdown, 60); inset-block-start: calc(100% + 6px); inset-inline-start: 0; display: grid; gap: 10px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 12px; }.cs-colorpicker__grid { display: grid; grid-template-columns: repeat(5, 26px); gap: 8px; }.cs-colorpicker__grid button { inline-size: 26px; block-size: 26px; border-radius: 7px; border: 1px solid var(--cs-color-border-default); cursor: pointer; }.cs-colorpicker__grid button.on { outline: var(--cs-focus-ring, 3px) solid var(--cs-color-accent-ochre); outline-offset: 1px; }.cs-colorpicker__grid button:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-colorpicker__hex input { inline-size: 110px; font: 600 13px var(--cs-font-family-mono); color: var(--cs-color-text-primary); background: var(--cs-color-surface-raised); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-sm); padding: 6px 8px; }.cs-tour__scrim { position: fixed; inset: 0; z-index: var(--cs-depth-modal, 100); background: var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); }.cs-tour__hole { position: fixed; z-index: calc(var(--cs-depth-modal, 100) + 1); border-radius: var(--cs-radius-md); box-shadow: 0 0 0 4000px var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); outline: var(--cs-focus-ring, 3px) solid var(--cs-color-brand-ochre); pointer-events: none; background: transparent; }.cs-tour__pop { position: fixed; z-index: calc(var(--cs-depth-modal, 100) + 2); inline-size: 280px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-xl); padding: 14px 16px; }.cs-tour__pop b { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }.cs-tour__pop p { margin: 6px 0 12px; font-size: var(--cs-font-size-sm); line-height: 1.5; color: var(--cs-color-text-muted); }.cs-tour__bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.cs-tour__count { font: 600 11px var(--cs-font-family-mono); color: var(--cs-color-text-muted); }.cs-tour__btns { display: flex; gap: 6px; }.cs-qrcode { display: inline-block; padding: 10px; background: var(--cs-color-surface-panel, #fff); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); line-height: 0; }/* ---- v3 Batch 7a (Jul 2026): Masonry · Splitter · HotKeys · Dock ---- */.cs-masonry__item { break-inside: avoid; }.cs-splitter { display: flex; align-items: stretch; border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); overflow: hidden; background: var(--cs-color-surface-panel); }.cs-splitter__pane { overflow: auto; padding: 14px; min-inline-size: 0; }.cs-splitter__bar { inline-size: 8px; cursor: col-resize; background: var(--cs-color-surface-raised); border-inline: 1px solid var(--cs-color-border-default); touch-action: none; }.cs-splitter__bar:hover { background: var(--cs-accent-tint); }.cs-splitter__bar:focus-visible { background: var(--cs-color-surface-raised); outline: 2px solid var(--cs-color-text-primary); outline-offset: -2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-hotkeys__sheet { position: fixed; inset: 0; z-index: var(--cs-depth-modal, 100); background: var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); display: grid; place-items: center; }.cs-hotkeys__card { background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-xl); padding: 18px 20px; min-inline-size: 300px; }.cs-hotkeys__card b { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }.cs-hotkeys__card ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }.cs-hotkeys__card li { display: flex; justify-content: space-between; gap: 20px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }.cs-dock { display: inline-flex; align-items: flex-end; gap: 8px; background: color-mix(in oklab, var(--cs-color-surface-panel) 82%, transparent); border: 1px solid var(--cs-color-border-default); border-radius: 18px; padding: 8px 12px; backdrop-filter: blur(10px); }.cs-dock__item { inline-size: 44px; block-size: 44px; border-radius: 12px; border: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); display: grid; place-items: center; cursor: pointer; transition: transform var(--cs-duration-fast, 120ms); position: relative; }.cs-dock__item.is-active::after { content: ""; position: absolute; inset-block-end: -6px; inline-size: 4px; block-size: 4px; border-radius: 999px; background: var(--cs-accent); }@media (prefers-reduced-motion: reduce) { .cs-dock__item { transition: none; } }/* ---- v3 Batch 7b (Jul 2026): DataGrid · TreeTable · Sortable ---- */.cs-datagrid { overflow: auto; border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); }.cs-datagrid .cs-table { margin: 0; }.cs-datagrid thead th { position: sticky; inset-block-start: 0; background: var(--cs-color-surface-raised); z-index: 1; }.cs-datagrid__check { display: inline-flex; align-items: center; justify-content: center; }.cs-datagrid__selcol { inline-size: 36px; text-align: center; }.cs-datagrid__sort { border: 0; background: none; font: inherit; color: inherit; cursor: pointer; padding: 0; }.cs-datagrid tr.is-selected td { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 18%, var(--cs-color-surface-panel))); }.cs-treetable .cs-treetable__cell { display: inline-flex; align-items: center; gap: 2px; }.cs-sortable { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-inline-size: 380px; }.cs-sortable__item { display: flex; align-items: center; gap: 10px; background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); padding: 10px 12px; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); cursor: grab; }.cs-sortable__item.is-dragging { opacity: .5; }.cs-sortable__item.is-over { border-color: var(--cs-accent); box-shadow: inset 0 0 0 1px var(--cs-accent); }.cs-sortable__grip { color: var(--cs-color-text-muted); }.cs-sortable__label { flex: 1; min-inline-size: 0; }.cs-sortable__ops { display: inline-flex; gap: 4px; margin-inline-start: auto; }.cs-sortable__ops .cs-button { cursor: pointer; }.cs-sortable__ops .cs-button:disabled { opacity: .4; cursor: not-allowed; }/* ---- v3 Batch 7c (Jul 2026): Chart · Editor · Terminal ---- */.cs-chart { margin: 0; display: grid; gap: 8px; max-inline-size: 420px; }.cs-chart__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); }.cs-chart__legend b { color: var(--cs-color-text-primary); }.cs-editor { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); max-inline-size: 460px; }.cs-editor__bar { display: flex; gap: 2px; padding: 6px; border-block-end: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-raised); border-radius: var(--cs-radius-md) var(--cs-radius-md) 0 0; }.cs-editor__area { padding: 12px 14px; font: 400 14px/1.6 var(--cs-font-family-ui); color: var(--cs-color-text-primary); outline: none; }.cs-editor__area:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: -2px; box-shadow: inset 0 0 0 5px var(--cs-color-accent-ochre); border-radius: 0 0 var(--cs-radius-md) var(--cs-radius-md); }/* Terminal — always-dark chrome (FIND-010: hex only in local custom props) */.cs-terminal {
1586
1589
  --cs-term-border: #3a2a1c;
1587
1590
  --cs-term-bar: #2a1a0d;
1588
1591
  --cs-term-dot: #5b4331;
@@ -1604,7 +1607,7 @@
1604
1607
  background: var(--cs-color-surface-panel);
1605
1608
  }.cs-item--interactive { cursor: pointer; font: inherit; inline-size: 100%; }button.cs-item--interactive { border: 1px solid transparent; background: var(--cs-color-surface-panel); }@media (hover: hover) {
1606
1609
  .cs-item--interactive:hover { background: var(--cs-color-surface-raised); border-color: var(--cs-color-border-default); }
1607
- }.cs-item--interactive:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-item.is-selected { border-color: var(--cs-color-brand-ochre); background: var(--cs-accent-tint, var(--cs-color-surface-raised)); }.cs-item.is-disabled, .cs-item[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; pointer-events: none; }/* Static Item text remains information, rather than an inactive control. */div.cs-item.is-disabled { opacity: 1; }.cs-item__leading { flex: none; display: grid; place-items: center; color: var(--cs-color-text-accent); }.cs-item__main { flex: 1; min-inline-size: 0; display: grid; gap: 2px; }.cs-item__title { font-weight: 600; font-size: var(--cs-font-size-sm); line-height: 1.35; }.cs-item__description { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); line-height: 1.4; }.cs-item__trailing { flex: none; display: grid; place-items: center; color: var(--cs-color-text-muted); }/* DescriptionList */.cs-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px 24px; margin: 0; }.cs-dl dt { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); }.cs-dl dd { margin: 2px 0 0; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }/* Timeline */.cs-timeline { display: grid; }.cs-timeline__item { display: grid; grid-template-columns: 26px 1fr; gap: 14px; padding-block-end: var(--cs-space-5); position: relative; }.cs-timeline__item:not(:last-child)::before { content: ""; position: absolute; inset-block: 26px 0; inset-inline-start: 12px; inline-size: 2px; background: var(--cs-color-border-default); }.cs-timeline__marker { inline-size: 26px; block-size: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--cs-color-semantic-success); color: var(--cs-color-semantic-success-fg, #fff); font-size: var(--cs-font-size-xs); font-weight: 700; z-index: 1; }.cs-timeline__item--now .cs-timeline__marker { background: var(--cs-color-brand-ochre); color: var(--cs-color-brand-umber); }.cs-timeline__item--todo .cs-timeline__marker { background: var(--cs-color-surface-raised); color: var(--cs-color-text-muted); border: 1px solid var(--cs-color-border-default); }.cs-timeline__title { font-weight: 700; margin: 2px 0 2px; }.cs-timeline__meta { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); font-family: var(--cs-font-family-mono); }.cs-timeline__body { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); margin-block-start: 4px; }/* Accordion */.cs-accordion { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); overflow: hidden; background: var(--cs-color-surface-panel); }.cs-accordion__item + .cs-accordion__item { border-block-start: 1px solid var(--cs-color-border-default); }.cs-accordion__trigger { inline-size: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--cs-space-3); padding: 15px 18px; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; color: var(--cs-color-text-primary); cursor: pointer; text-align: start; }@media (hover: hover) {
1610
+ }.cs-item--interactive:focus-visible { outline: 2px solid var(--cs-color-text-primary); outline-offset: 2px; box-shadow: 0 0 0 5px var(--cs-color-accent-ochre); }.cs-item.is-selected { border-color: var(--cs-accent); background: var(--cs-accent-tint, var(--cs-color-surface-raised)); }.cs-item.is-disabled, .cs-item[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; pointer-events: none; }/* Static Item text remains information, rather than an inactive control. */div.cs-item.is-disabled { opacity: 1; }.cs-item__leading { flex: none; display: grid; place-items: center; color: var(--cs-color-text-accent); }.cs-item__main { flex: 1; min-inline-size: 0; display: grid; gap: 2px; }.cs-item__title { font-weight: 600; font-size: var(--cs-font-size-sm); line-height: 1.35; }.cs-item__description { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); line-height: 1.4; }.cs-item__trailing { flex: none; display: grid; place-items: center; color: var(--cs-color-text-muted); }/* DescriptionList */.cs-dl { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 14px 24px; margin: 0; }.cs-dl dt { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); }.cs-dl dd { margin: 2px 0 0; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); }/* Timeline */.cs-timeline { display: grid; }.cs-timeline__item { display: grid; grid-template-columns: 26px 1fr; gap: 14px; padding-block-end: var(--cs-space-5); position: relative; }.cs-timeline__item:not(:last-child)::before { content: ""; position: absolute; inset-block: 26px 0; inset-inline-start: 12px; inline-size: 2px; background: var(--cs-color-border-default); }.cs-timeline__marker { inline-size: 26px; block-size: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--cs-color-semantic-success); color: var(--cs-color-semantic-success-fg, #fff); font-size: var(--cs-font-size-xs); font-weight: 700; z-index: 1; }.cs-timeline__item--now .cs-timeline__marker { background: var(--cs-accent-bright); color: var(--cs-accent-on); }.cs-timeline__item--todo .cs-timeline__marker { background: var(--cs-color-surface-raised); color: var(--cs-color-text-muted); border: 1px solid var(--cs-color-border-default); }.cs-timeline__title { font-weight: 700; margin: 2px 0 2px; }.cs-timeline__meta { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); font-family: var(--cs-font-family-mono); }.cs-timeline__body { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-muted); margin-block-start: 4px; }/* Accordion */.cs-accordion { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); overflow: hidden; background: var(--cs-color-surface-panel); }.cs-accordion__item + .cs-accordion__item { border-block-start: 1px solid var(--cs-color-border-default); }.cs-accordion__trigger { inline-size: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--cs-space-3); padding: 15px 18px; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; color: var(--cs-color-text-primary); cursor: pointer; text-align: start; }@media (hover: hover) {
1608
1611
  .cs-accordion__trigger:hover { background: var(--cs-color-surface-raised); }
1609
1612
  }.cs-accordion__chevron { flex: none; color: var(--cs-color-text-muted); transition: transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-accordion__trigger[aria-expanded="true"] .cs-accordion__chevron { transform: rotate(180deg); }.cs-accordion__panel { padding: 0 18px 16px; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); line-height: var(--cs-font-lineHeight-body); }/* Collapsible — light single-panel expand (no Accordion chrome) */.cs-collapsible { border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); background: var(--cs-color-surface-panel); overflow: hidden; }.cs-collapsible__trigger { inline-size: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); cursor: pointer; text-align: start; }.cs-collapsible__trigger:hover { background: var(--cs-color-surface-raised); }.cs-collapsible__label { flex: 1; min-inline-size: 0; }.cs-collapsible__chevron { flex: none; color: var(--cs-color-text-muted); transition: transform var(--cs-duration-fast) var(--cs-ease-standard); }.cs-collapsible__trigger[aria-expanded="true"] .cs-collapsible__chevron { transform: rotate(180deg); }.cs-collapsible__panel { padding: 0 16px 14px; color: var(--cs-color-text-muted); font-size: var(--cs-font-size-sm); line-height: var(--cs-font-lineHeight-body); }.cs-collapsible__panel > :first-child { margin-block-start: 0; }.cs-collapsible__panel > :last-child { margin-block-end: 0; }/* CodeBlock — always-dark chrome (FIND-010: hex only in local custom props) */.cs-code {
1610
1613
  --cs-code-bg: #2b1e14;
@@ -1612,7 +1615,7 @@
1612
1615
  --cs-code-border: #4a3a2c;
1613
1616
  --cs-code-muted: #c9b7a3;
1614
1617
  position: relative; background: var(--cs-code-bg); color: var(--cs-code-fg); border-radius: var(--cs-radius-lg); overflow: hidden; border: 1px solid var(--cs-code-border);
1615
- }.cs-code__bar { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; border-block-end: 1px solid var(--cs-code-border); font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-xs); color: var(--cs-code-muted); }.cs-code__copy { border: 0; background: transparent; color: var(--cs-code-muted); cursor: pointer; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; min-block-size: 32px; padding-inline: 8px; border-radius: var(--cs-radius-sm); }.cs-code__copy:hover { color: var(--cs-color-brand-ochre); }.cs-code__copy:focus-visible { outline-color: var(--cs-code-fg); }.cs-code pre { margin: 0; padding: 14px 16px; overflow: auto; font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-sm); line-height: 1.6; }.cs-code code { font-family: inherit; }/* EmptyState */.cs-empty { text-align: center; padding: 48px 24px; display: grid; gap: 8px; justify-items: center; }.cs-empty__icon { inline-size: 56px; block-size: 56px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in oklab, var(--cs-color-brand-ochre) 24%, var(--cs-color-surface-panel)); color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); margin-block-end: 6px; }.cs-empty__title { font-size: var(--cs-text-h4); font-weight: 700; }.cs-empty__body { color: var(--cs-color-text-muted); max-inline-size: 380px; }.cs-empty__actions { margin-block-start: 12px; display: flex; gap: 10px; }/* Source: base/shell.css *//* CyberSkill — app shell + overlays wave 2 (.cs-*). *//* Sidebar + NavItem */.cs-sidebar { inline-size: 248px; background: var(--cs-color-surface-panel); border-inline-end: 1px solid var(--cs-color-border-default); padding: 16px 12px; display: flex; flex-direction: column; gap: 3px; }.cs-sidebar__label { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); padding: 12px 12px 4px; }.cs-nav-item { display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: var(--cs-radius-md); color: var(--cs-color-text-primary); font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); text-decoration: none; cursor: pointer; border: 0; background: transparent; inline-size: 100%; text-align: start; }.cs-nav-item:hover { background: var(--cs-color-surface-raised); }.cs-nav-item__icon { flex: none; color: var(--cs-color-text-muted); display: grid; place-items: center; }.cs-nav-item.is-active { background: color-mix(in oklab, var(--cs-color-brand-ochre) 22%, var(--cs-color-surface-panel)); color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); }.cs-nav-item.is-active .cs-nav-item__icon { color: var(--_cs-light, var(--cs-color-brand-umber))var(--_cs-dark, var(--cs-color-brand-ochre)); }.cs-nav-item__trail { margin-inline-start: auto; }/* Steps */.cs-steps { display: flex; gap: 0; }.cs-step { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; position: relative; padding-inline-end: 12px; }.cs-step:not(:last-child)::after { content: ""; position: absolute; inset-block-start: 13px; inset-inline-start: 34px; inline-size: calc(100% - 46px); block-size: 2px; background: var(--cs-color-border-default); }.cs-step__marker { inline-size: 28px; block-size: 28px; border-radius: 50%; display: grid; place-items: center; font-family: var(--cs-font-family-mono); font-weight: 700; font-size: var(--cs-font-size-sm); background: var(--cs-color-surface-raised); color: var(--cs-color-text-muted); border: 1px solid var(--cs-color-border-default); z-index: 1; }.cs-step--done .cs-step__marker { background: var(--cs-color-brand-umber); color: #fff; /* on-brand-umber ink */ border-color: transparent; }.cs-step--done:not(:last-child)::after { background: var(--cs-color-brand-umber); }.cs-step--active .cs-step__marker { background: var(--cs-color-brand-ochre); color: var(--cs-color-brand-umber); border-color: transparent; box-shadow: 0 0 0 4px color-mix(in oklab, var(--cs-color-brand-ochre) 28%, transparent); }.cs-step__title { font-weight: 700; font-size: var(--cs-font-size-sm); }.cs-step__body { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); }/* Popover */.cs-popover { position: relative; display: inline-block; }.cs-popover__panel { position: absolute; inset-block-start: calc(100% + 8px); inset-inline-start: 0; min-inline-size: 240px; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 14px; z-index: var(--cs-depth-dropdown, 60); }.cs-popover__panel--end { inset-inline-start: auto; inset-inline-end: 0; }/* Drawer */.cs-drawer-scrim { position: fixed; inset: 0; background: rgba(31, 19, 11, 0.42); z-index: var(--cs-depth-modal); }.cs-drawer { position: fixed; inset-block: 0; inset-inline-end: 0; inline-size: min(480px, 100%); background: var(--cs-color-surface-page); border-inline-start: 1px solid var(--cs-color-border-default); box-shadow: -18px 0 48px rgba(31, 19, 11, 0.22); z-index: calc(var(--cs-depth-modal) + 1); display: flex; flex-direction: column; animation: cs-drawer-in var(--cs-duration-base) var(--cs-ease-standard); }.cs-drawer--left { inset-inline: 0 auto; border-inline: none; border-inline-end: 1px solid var(--cs-color-border-default); box-shadow: 18px 0 48px rgba(31, 19, 11, 0.22); animation-name: cs-drawer-in-left; }.cs-drawer__header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-block-end: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); }.cs-drawer__title { margin: 0; font-size: var(--cs-text-h4); font-weight: 700; }.cs-drawer__close { margin-inline-start: auto; border: 0; background: transparent; cursor: pointer; color: var(--cs-color-text-muted); display: grid; place-items: center; padding: 4px; }.cs-drawer__close:hover { color: var(--cs-color-semantic-danger-text); }.cs-drawer__body { flex: 1; overflow: auto; padding: 20px; }.cs-drawer__footer { padding: 14px 20px; border-block-start: 1px solid var(--cs-color-border-default); display: flex; gap: 10px; justify-content: flex-end; }@keyframes cs-drawer-in { from { margin-inline-end: calc(-1 * min(480px, 100%)); } to { margin-inline-end: 0; } }@keyframes cs-drawer-in-left { from { margin-inline-start: calc(-1 * min(480px, 100%)); } to { margin-inline-start: 0; } }@media (prefers-reduced-motion: reduce) { .cs-drawer { animation: none; } }/* CommandPalette */.cs-cmdk-scrim { position: fixed; inset: 0; background: rgba(31, 19, 11, 0.42); z-index: var(--cs-depth-modal); display: grid; align-items: start; justify-items: center; padding-block-start: 12vh; }.cs-cmdk { inline-size: min(560px, 92vw); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-xl); overflow: hidden; }.cs-cmdk__search { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-block-end: 1px solid var(--cs-color-border-default); }.cs-cmdk__search svg { color: var(--cs-color-text-muted); }.cs-cmdk__search input { flex: 1; border: 0; outline: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-md); color: var(--cs-color-text-primary); }/* Wrapper ring — search input clears outline; focus-within restores ≥3:1 indicator (FIND-038). */.cs-cmdk__search:focus-within {
1618
+ }.cs-code__bar { display: flex; align-items: center; justify-content: space-between; padding: 8px 14px; border-block-end: 1px solid var(--cs-code-border); font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-xs); color: var(--cs-code-muted); }.cs-code__copy { border: 0; background: transparent; color: var(--cs-code-muted); cursor: pointer; font: inherit; font-family: var(--cs-font-family-ui); font-weight: 600; min-block-size: 32px; padding-inline: 8px; border-radius: var(--cs-radius-sm); }.cs-code__copy:hover { color: var(--cs-color-brand-ochre); }.cs-code__copy:focus-visible { outline-color: var(--cs-code-fg); }.cs-code pre { margin: 0; padding: 14px 16px; overflow: auto; font-family: var(--cs-font-family-mono); font-size: var(--cs-font-size-sm); line-height: 1.6; }.cs-code code { font-family: inherit; }/* EmptyState */.cs-empty { text-align: center; padding: 48px 24px; display: grid; gap: 8px; justify-items: center; }.cs-empty__icon { inline-size: 56px; block-size: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 24%, var(--cs-color-surface-panel))); color: var(--_cs-light, var(--cs-color-text-accent))var(--_cs-dark, var(--cs-color-text-accent)); margin-block-end: 6px; }.cs-empty__title { font-size: var(--cs-text-h4); font-weight: 700; }.cs-empty__body { color: var(--cs-color-text-muted); max-inline-size: 380px; }.cs-empty__actions { margin-block-start: 12px; display: flex; gap: 10px; }/* Source: base/shell.css *//* CyberSkill — app shell + overlays wave 2 (.cs-*). *//* Sidebar + NavItem */.cs-sidebar { inline-size: 248px; background: var(--cs-color-surface-panel); border-inline-end: 1px solid var(--cs-color-border-default); padding: 16px 12px; display: flex; flex-direction: column; gap: 3px; }.cs-sidebar__label { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); padding: 12px 12px 4px; }.cs-nav-item { display: flex; align-items: center; gap: 11px; padding: 9px 12px; border-radius: var(--cs-radius-md); color: var(--cs-color-text-primary); font-family: var(--cs-font-family-ui); font-weight: 600; font-size: var(--cs-font-size-sm); text-decoration: none; cursor: pointer; border: 0; background: transparent; inline-size: 100%; text-align: start; }.cs-nav-item:hover { background: var(--cs-color-surface-raised); }.cs-nav-item__icon { flex: none; color: var(--cs-color-text-muted); display: grid; place-items: center; }.cs-nav-item.is-active { background: var(--_cs-light, var(--cs-accent-tint))var(--_cs-dark, color-mix(in oklab, var(--cs-accent) 22%, var(--cs-color-surface-panel))); color: var(--_cs-light, var(--cs-color-text-accent))var(--_cs-dark, var(--cs-color-text-accent)); }.cs-nav-item.is-active .cs-nav-item__icon { color: var(--_cs-light, var(--cs-color-text-accent))var(--_cs-dark, var(--cs-color-text-accent)); }.cs-nav-item__trail { margin-inline-start: auto; }/* Steps */.cs-steps { display: flex; gap: 0; }.cs-step { flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; position: relative; padding-inline-end: 12px; }.cs-step:not(:last-child)::after { content: ""; position: absolute; inset-block-start: 13px; inset-inline-start: 34px; inline-size: calc(100% - 46px); block-size: 2px; background: var(--cs-color-border-default); }.cs-step__marker { inline-size: 28px; block-size: 28px; border-radius: 50%; display: grid; place-items: center; font-family: var(--cs-font-family-mono); font-weight: 700; font-size: var(--cs-font-size-sm); background: var(--cs-color-surface-raised); color: var(--cs-color-text-muted); border: 1px solid var(--cs-color-border-default); z-index: 1; }.cs-step--done .cs-step__marker { background: var(--cs-accent-strong); color: var(--cs-accent-on-strong); border-color: transparent; }.cs-step--done:not(:last-child)::after { background: var(--cs-accent-strong); }.cs-step--active .cs-step__marker { background: var(--cs-accent-bright); color: var(--cs-accent-on); border-color: transparent; box-shadow: 0 0 0 4px color-mix(in oklab, var(--cs-accent) 28%, transparent); }.cs-step__title { font-weight: 700; font-size: var(--cs-font-size-sm); }.cs-step__body { font-size: var(--cs-font-size-xs); color: var(--cs-color-text-muted); }/* Popover */.cs-popover { position: relative; display: inline-block; }.cs-popover__panel { position: absolute; inset-block-start: calc(100% + 8px); inset-inline-start: 0; min-inline-size: 240px; background: var(--cs-color-surface-panel); color: var(--cs-color-text-primary); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-md); box-shadow: var(--cs-shadow-md); padding: 14px; z-index: var(--cs-depth-dropdown, 60); }.cs-popover__panel--end { inset-inline-start: auto; inset-inline-end: 0; }/* Drawer */.cs-drawer-scrim { position: fixed; inset: 0; background: var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); z-index: var(--cs-depth-modal); }.cs-drawer { position: fixed; inset-block: 0; inset-inline-end: 0; inline-size: min(480px, 100%); background: var(--cs-color-surface-page); border-inline-start: 1px solid var(--cs-color-border-default); box-shadow: var(--_cs-light, -18px 0 48px color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 22%, transparent))var(--_cs-dark, var(--cs-shadow-xl)); z-index: calc(var(--cs-depth-modal) + 1); display: flex; flex-direction: column; animation: cs-drawer-in var(--cs-duration-base) var(--cs-ease-standard); }.cs-drawer--left { inset-inline: 0 auto; border-inline: none; border-inline-end: 1px solid var(--cs-color-border-default); box-shadow: var(--_cs-light, 18px 0 48px color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 22%, transparent))var(--_cs-dark, var(--cs-shadow-xl)); animation-name: cs-drawer-in-left; }.cs-drawer__header { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-block-end: 1px solid var(--cs-color-border-default); background: var(--cs-color-surface-panel); }.cs-drawer__title { margin: 0; font-size: var(--cs-text-h4); font-weight: 700; }.cs-drawer__close { margin-inline-start: auto; border: 0; background: transparent; cursor: pointer; color: var(--cs-color-text-muted); display: grid; place-items: center; padding: 4px; }.cs-drawer__close:hover { color: var(--cs-color-semantic-danger-text); }.cs-drawer__body { flex: 1; overflow: auto; padding: 20px; }.cs-drawer__footer { padding: 14px 20px; border-block-start: 1px solid var(--cs-color-border-default); display: flex; gap: 10px; justify-content: flex-end; }@keyframes cs-drawer-in { from { margin-inline-end: calc(-1 * min(480px, 100%)); } to { margin-inline-end: 0; } }@keyframes cs-drawer-in-left { from { margin-inline-start: calc(-1 * min(480px, 100%)); } to { margin-inline-start: 0; } }@media (prefers-reduced-motion: reduce) { .cs-drawer { animation: none; } }/* CommandPalette */.cs-cmdk-scrim { position: fixed; inset: 0; background: var(--cs-color-surface-scrim, var(--_cs-surface-scrim)); z-index: var(--cs-depth-modal); display: grid; align-items: start; justify-items: center; padding-block-start: 12vh; }.cs-cmdk { inline-size: min(560px, 92vw); background: var(--cs-color-surface-panel); border: 1px solid var(--cs-color-border-default); border-radius: var(--cs-radius-lg); box-shadow: var(--cs-shadow-xl); overflow: hidden; }.cs-cmdk__search { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-block-end: 1px solid var(--cs-color-border-default); }.cs-cmdk__search svg { color: var(--cs-color-text-muted); }.cs-cmdk__search input { flex: 1; border: 0; outline: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-md); color: var(--cs-color-text-primary); }/* Wrapper ring — search input clears outline; focus-within restores ≥3:1 indicator (FIND-038). */.cs-cmdk__search:focus-within {
1616
1619
  outline: 2px solid var(--cs-color-text-primary);
1617
1620
  outline-offset: -2px;
1618
1621
  }.cs-cmdk__list { max-block-size: 340px; overflow: auto; padding: 8px; display: grid; gap: 2px; }.cs-cmdk__status { font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); padding: 8px 10px; }.cs-cmdk__label { font-size: var(--cs-font-size-xs); text-transform: uppercase; letter-spacing: var(--cs-letter-spacing-caps); color: var(--cs-color-text-muted); padding: 8px 10px 2px; }.cs-cmdk__item { display: flex; align-items: center; gap: 11px; inline-size: 100%; text-align: start; border: 0; background: transparent; font: inherit; font-family: var(--cs-font-family-ui); font-size: var(--cs-font-size-sm); color: var(--cs-color-text-primary); padding: 10px 12px; border-radius: var(--cs-radius-md); cursor: pointer; }.cs-cmdk__item:hover, .cs-cmdk__item[aria-selected="true"] { background: var(--cs-color-surface-raised); }.cs-cmdk__item .cs-kbd { margin-inline-start: auto; }/* Source: base/glass.css *//*
@@ -1623,6 +1626,9 @@
1623
1626
  * .cs-surface-* class to a surface after checking APCA against its backdrop.
1624
1627
  * LOAD ORDER: tokens → base/components → base/glass. A style pack would win over it.
1625
1628
  *//* ---- 1. Composition from token scalars ---- */:root {
1629
+ --_cs-border-subtle: var(--_cs-light, color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 18%, transparent))var(--_cs-dark, color-mix(in oklab, var(--cs-color-border-default, #4a3a2c) 82%, transparent));
1630
+ --_cs-border-strong: var(--_cs-light, color-mix(in oklab, var(--cs-color-border-default, #e7d9c6) 65%, var(--cs-color-text-primary, #45210e)))var(--_cs-dark, color-mix(in oklab, var(--cs-color-border-default, #4a3a2c) 65%, var(--cs-color-text-primary, #f5ead9)));
1631
+ --_cs-surface-scrim: var(--_cs-light, color-mix(in oklab, var(--cs-color-brand-umber, #45210e) 48%, transparent))var(--_cs-dark, color-mix(in oklab, var(--cs-color-surface-page, #1a1108) 72%, transparent));
1626
1632
  --cs-glass-whisper-bg: color-mix(in oklab, var(--cs-color-surface-page, #fffdf8) var(--cs-glass-whisper-opacity, 60%), transparent);
1627
1633
  --cs-glass-whisper-border: transparent;
1628
1634
  --cs-glass-light-bg: color-mix(in oklab, var(--cs-color-surface-panel, #fff) var(--cs-glass-light-opacity, 70%), transparent);
@@ -1688,8 +1694,8 @@
1688
1694
  * gets busy. .cs-aurora--photo layers the real asset when you have the path. */.cs-aurora {
1689
1695
  background-color: var(--cs-color-brand-umber);
1690
1696
  background-image:
1691
- radial-gradient(90% 120% at 12% -10%, color-mix(in oklab, var(--cs-color-brand-ochre) 46%, transparent), transparent 55%),
1692
- radial-gradient(70% 90% at 88% 8%, color-mix(in oklab, #ffcf5c 32%, transparent), transparent 60%),
1697
+ radial-gradient(90% 120% at 12% -10%, color-mix(in oklab, var(--cs-accent, var(--cs-color-brand-ochre)) 46%, transparent), transparent 55%),
1698
+ radial-gradient(70% 90% at 88% 8%, color-mix(in oklab, var(--cs-accent-grad-b, #ffcf5c) 32%, transparent), transparent 60%),
1693
1699
  radial-gradient(120% 120% at 50% 120%, color-mix(in oklab, #1a1108 60%, transparent), transparent 60%);
1694
1700
  color: #fff; /* on-aurora wash */
1695
1701
  }.cs-aurora--photo { background-size: cover; background-position: center; }/* Modal material backings are siblings of content: filters must not capture
@@ -1709,7 +1715,7 @@
1709
1715
  transform var(--cs-duration-fast) var(--cs-ease-standard);
1710
1716
  }.cs-button--primary:hover:not(.is-disabled),
1711
1717
  .cs-button--danger:hover:not(.is-disabled) {
1712
- box-shadow: 0 8px 20px rgba(69, 33, 14, 0.24);
1718
+ box-shadow: var(--_cs-light, 0 8px 20px color-mix(in srgb, var(--cs-color-brand-umber, #45210e) 24%, transparent))var(--_cs-dark, var(--cs-shadow-md));
1713
1719
  transform: translateY(-1px);
1714
1720
  }.cs-button--primary:active:not(.is-disabled),
1715
1721
  .cs-button--danger:active:not(.is-disabled) {
@@ -1897,7 +1903,13 @@
1897
1903
  * Breakpoints ⊆ token scale (sm 640 · md 768). */.cs-cq { container-type: inline-size; container-name: cs; }@container cs (max-width: 640px) {
1898
1904
  .cs-cq-stack > * { min-inline-size: 0; max-inline-size: 100%; }
1899
1905
  }/* 2 — Print-doc archetype: shrink desk + sheet chrome as the screen narrows.
1900
- * cs-desk is the grey backing; cs-sheet is the white page. *//* 3 — Wide tables inside sheets/panels scroll horizontally instead of clipping */@media screen and (max-width: 768px) {
1906
+ * cs-desk is the grey backing; cs-sheet is the white page. */@media screen and (max-width: 768px) {
1907
+ .cs-display:where(:not(.cs-canvas-desk *)) { font-size: var(--cs-font-size-4xl); }
1908
+ .cs-h1:where(:not(.cs-canvas-desk *)) { font-size: var(--cs-font-size-2xl); }
1909
+ }@media screen and (max-width: 640px) {
1910
+ .cs-display:where(:not(.cs-canvas-desk *)) { font-size: var(--cs-font-size-3xl); }
1911
+ .cs-h1:where(:not(.cs-canvas-desk *)) { font-size: var(--cs-font-size-xl); }
1912
+ }/* 3 — Wide tables inside sheets/panels scroll horizontally instead of clipping */@media screen and (max-width: 768px) {
1901
1913
  .cs-sheet table, .cs-table-scroll { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
1902
1914
  }/* 4 — App shell: the sidebar + main is a fixed two-column inline grid on desktop.
1903
1915
  * Collapse it to a stacked layout; the sidebar becomes a horizontal nav strip. *//* 5 — Fixed-pixel export canvases (16:9 decks, social 1080/1200 canvases) sit in a