@mkbabb/glass-ui 3.11.2 → 3.13.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 (360) hide show
  1. package/dist/{CardAction-DuArVky-.js → CardAction-Cj2eycQ2.js} +2 -2
  2. package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-RowNEO6i.js} +4 -4
  3. package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-BQmxTAdw.js} +4 -4
  4. package/dist/{DataTable-CUHMukiQ.js → DataTable-BCddn3T3.js} +3 -3
  5. package/dist/{DialogContent-BRkT1cjP.js → DialogContent-Dl9WkAoS.js} +3 -3
  6. package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-Blu4t7tJ.js} +2 -2
  7. package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-CISOJQuZ.js} +1 -1
  8. package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DPzE09X9.js} +1 -1
  9. package/dist/MetricBadge-C9QMz1KT.js +79 -0
  10. package/dist/{Notification-DLMhblXR.js → Notification-DdwNxIrI.js} +2 -2
  11. package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-CqaN-SvN.js} +3 -3
  12. package/dist/{PopoverContent-BId6ggf_.js → PopoverContent-BYwt2-4x.js} +1 -1
  13. package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-DfFrwSph.js} +1 -1
  14. package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-CiDUxfEj.js} +6 -6
  15. package/dist/{Switch-Ch-k3Rv-.js → Switch-CsIuYP_e.js} +1 -1
  16. package/dist/{TabsList-B8CVOQPC.js → TabsList-Dttss653.js} +9 -5
  17. package/dist/{Toaster-1rYWrmAm.js → Toaster-D6q4HtXu.js} +50 -47
  18. package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-D_AHlRw9.js} +18 -22
  19. package/dist/animated-digit.js +2 -2
  20. package/dist/api/index.d.ts +5 -2
  21. package/dist/api.js +2 -2
  22. package/dist/aurora.js +69 -69
  23. package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
  24. package/dist/badge.js +1 -1
  25. package/dist/{button-DN39cGqL.js → button-ChXMfsud.js} +12 -12
  26. package/dist/button.js +1 -1
  27. package/dist/card.js +1 -1
  28. package/dist/carousel.js +8 -8
  29. package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
  30. package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
  31. package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
  32. package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
  33. package/dist/coalesceMetric-5qIeZnTx.js +13 -0
  34. package/dist/{color-C5ls_QF7.js → color-CUYeFbgd.js} +9 -7
  35. package/dist/color.js +1 -1
  36. package/dist/command.js +1 -1
  37. package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
  38. package/dist/components/custom/aurora/constants/presets.d.ts +5 -62
  39. package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
  40. package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
  41. package/dist/components/custom/aurora/index.d.ts +1 -1
  42. package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
  43. package/dist/components/custom/constellation/Constellation.vue.d.ts +74 -6
  44. package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
  45. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
  46. package/dist/components/custom/constellation/constants.d.ts +61 -0
  47. package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
  48. package/dist/components/custom/constellation/constellationField.d.ts +116 -149
  49. package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
  50. package/dist/components/custom/constellation/index.d.ts +5 -2
  51. package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
  52. package/dist/components/custom/dock/DockRail.vue.d.ts +88 -0
  53. package/dist/components/custom/dock/DockTabButton.vue.d.ts +3 -4
  54. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
  55. package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
  56. package/dist/components/custom/dock/composables/index.d.ts +1 -0
  57. package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
  58. package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
  59. package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
  60. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
  61. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
  62. package/dist/components/custom/dock/constants.d.ts +48 -0
  63. package/dist/components/custom/dock/index.d.ts +3 -0
  64. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +5 -37
  65. package/dist/components/custom/fourier-field/index.d.ts +1 -1
  66. package/dist/components/custom/fourier-field/math.d.ts +17 -0
  67. package/dist/components/custom/fourier-field/presets.d.ts +54 -0
  68. package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
  69. package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
  70. package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
  71. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +11 -8
  72. package/dist/components/custom/goo-blob/constants.d.ts +52 -0
  73. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
  74. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +2 -2
  75. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
  76. package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
  77. package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
  78. package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
  79. package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
  80. package/dist/components/custom/metric-badge/index.d.ts +1 -0
  81. package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
  82. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
  83. package/dist/components/custom/tabs/constants.d.ts +12 -0
  84. package/dist/components/custom/underline/GlassUnderline.vue.d.ts +84 -0
  85. package/dist/components/custom/underline/index.d.ts +2 -0
  86. package/dist/components/custom/underline/types.d.ts +56 -0
  87. package/dist/components/ui/card/Card.vue.d.ts +15 -3
  88. package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
  89. package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
  90. package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
  91. package/dist/components/ui/slider/index.d.ts +22 -19
  92. package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
  93. package/dist/components/ui/toast/use-toast.d.ts +2 -2
  94. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  95. package/dist/components/ui/toggle/index.d.ts +1 -1
  96. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
  97. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
  98. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
  99. package/dist/composables/color/index.d.ts +12 -0
  100. package/dist/composables/dark/index.d.ts +1 -1
  101. package/dist/composables/dark/useGlobalDark.d.ts +1 -21
  102. package/dist/composables/glass/index.d.ts +0 -1
  103. package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
  104. package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
  105. package/dist/composables/motion/core/index.d.ts +1 -1
  106. package/dist/composables/motion/curves.d.ts +48 -0
  107. package/dist/composables/motion/index.d.ts +2 -0
  108. package/dist/composables/motion/springPresets.d.ts +33 -0
  109. package/dist/composables/motion/suite.d.ts +2 -0
  110. package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
  111. package/dist/composables/motion/useSpringMount.d.ts +1 -1
  112. package/dist/configurator.js +1 -1
  113. package/dist/confirm-dialog.js +2 -2
  114. package/dist/constellation.js +336 -222
  115. package/dist/context-menu.js +2 -2
  116. package/dist/controls.js +47 -13
  117. package/dist/dark.d.ts +1 -1
  118. package/dist/dark.js +1 -1
  119. package/dist/data-table.js +1 -1
  120. package/dist/dialog.js +2 -2
  121. package/dist/dock.js +705 -365
  122. package/dist/dockContext-BegmJVmx.js +17 -0
  123. package/dist/dom.js +5 -5
  124. package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-DzkkyBwX.js} +11 -8
  125. package/dist/dropdown-menu.js +1 -1
  126. package/dist/expandable-container.js +39 -80
  127. package/dist/forms.js +5 -5
  128. package/dist/fourier-field.js +134 -99
  129. package/dist/fourier-math.js +2 -2
  130. package/dist/glass-panel.js +86 -20
  131. package/dist/glass-ui.css +1 -1
  132. package/dist/glass-ui.js +222 -212
  133. package/dist/goo-blob.js +243 -212
  134. package/dist/hover-card.js +1 -1
  135. package/dist/hover-popover.js +1 -1
  136. package/dist/icon-tooltip.js +1 -1
  137. package/dist/index.d.ts +1 -3
  138. package/dist/instrument-chassis.js +1 -1
  139. package/dist/keyboard.js +1 -1
  140. package/dist/label.js +1 -1
  141. package/dist/labeled-field.js +28 -18
  142. package/dist/{math-DTpRVC0e.js → math-U6-RrLmV.js} +18 -2
  143. package/dist/metric-badge.js +1 -1
  144. package/dist/metric-cell.js +25 -21
  145. package/dist/metric-stack.js +35 -34
  146. package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
  147. package/dist/motion-core.js +32 -137
  148. package/dist/motion-curves.d.ts +1 -0
  149. package/dist/motion-curves.js +130 -0
  150. package/dist/motion.js +38 -37
  151. package/dist/notification.js +1 -1
  152. package/dist/number-field.js +1 -1
  153. package/dist/paper-backdrop.js +1 -1
  154. package/dist/popover.js +1 -1
  155. package/dist/{presets-BP_ALM0m.js → presets-BKVyQfbt.js} +1 -14
  156. package/dist/progress.js +1 -1
  157. package/dist/reactive.js +2 -2
  158. package/dist/scrolling-text.js +1 -1
  159. package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
  160. package/dist/search.js +9 -9
  161. package/dist/select.js +3 -3
  162. package/dist/separator.js +1 -1
  163. package/dist/{sheet-VZEtNFvO.js → sheet-1fChZjtw.js} +3 -3
  164. package/dist/sheet.js +1 -1
  165. package/dist/{slider-ClgpP7EB.js → slider-B-JP2JlI.js} +4 -4
  166. package/dist/slider.js +1 -1
  167. package/dist/sortable-list.js +2 -2
  168. package/dist/springPresets--YdWTHtm.js +40 -0
  169. package/dist/stacked-icons.js +6 -6
  170. package/dist/styles/animations.css +29 -114
  171. package/dist/styles/cards.css +55 -0
  172. package/dist/styles/components.css +4 -1
  173. package/dist/styles/configurator.css +42 -0
  174. package/dist/styles/dock/layer-group.css +83 -25
  175. package/dist/styles/dock/layers.css +23 -1
  176. package/dist/styles/dock/morph-bridge.css +123 -0
  177. package/dist/styles/dock/morph.css +175 -45
  178. package/dist/styles/dock/overflow.css +51 -1
  179. package/dist/styles/dock/rail-extend.css +300 -0
  180. package/dist/styles/dock/shell.css +63 -105
  181. package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
  182. package/dist/styles/dock-controls/icon-button.css +133 -0
  183. package/dist/styles/dock-controls/tab-button.css +202 -0
  184. package/dist/styles/dock-controls/touch-floor.css +94 -0
  185. package/dist/styles/dock-controls/triggers.css +128 -0
  186. package/dist/styles/dock-controls.css +30 -595
  187. package/dist/styles/dock.css +2 -0
  188. package/dist/styles/drawer.css +2 -0
  189. package/dist/styles/floating-panel.css +17 -0
  190. package/dist/styles/glass/a11y-fallback.css +245 -0
  191. package/dist/styles/glass/ladder.css +337 -0
  192. package/dist/styles/glass/material.css +238 -0
  193. package/dist/styles/glass/progress-rail.css +78 -0
  194. package/dist/styles/glass/squircle.css +66 -0
  195. package/dist/styles/glass/surfaces.css +306 -0
  196. package/dist/styles/glass-refract.css +2 -0
  197. package/dist/styles/glass.css +31 -1188
  198. package/dist/styles/hover-popover.css +2 -0
  199. package/dist/styles/index.css +28 -14
  200. package/dist/styles/instrument-chassis.css +4 -0
  201. package/dist/styles/paper.css +2 -68
  202. package/dist/styles/segmented-tabs.css +275 -0
  203. package/dist/styles/theme/bridges.css +337 -0
  204. package/dist/styles/theme/dark.css +7 -0
  205. package/dist/styles/theme/literals.css +94 -0
  206. package/dist/styles/theme/radius.css +95 -0
  207. package/dist/styles/theme.css +26 -529
  208. package/dist/styles/tokens/color-radius.css +260 -0
  209. package/dist/styles/tokens/dark-arm.css +200 -0
  210. package/dist/styles/tokens/glass.css +440 -0
  211. package/dist/styles/tokens/light-dark.css +158 -0
  212. package/dist/styles/tokens/offsets-sizing.css +500 -0
  213. package/dist/styles/tokens/property-regs.css +169 -0
  214. package/dist/styles/tokens/scale-paper.css +366 -0
  215. package/dist/styles/tokens/scheme-motion.css +334 -0
  216. package/dist/styles/tokens/shadow.css +166 -0
  217. package/dist/styles/tokens.css +22 -2360
  218. package/dist/styles/typography.css +75 -21
  219. package/dist/styles/utilities/a11y-overrides.css +140 -0
  220. package/dist/styles/utilities/animate.css +26 -0
  221. package/dist/styles/utilities/base.css +365 -0
  222. package/dist/styles/utilities/btn.css +401 -0
  223. package/dist/styles/utilities/components.css +317 -0
  224. package/dist/styles/utilities.css +19 -1291
  225. package/dist/styles/view-transition.css +0 -51
  226. package/dist/switch.js +1 -1
  227. package/dist/tabs.js +91 -82
  228. package/dist/timeline.js +1 -1
  229. package/dist/toast.js +1 -1
  230. package/dist/toggle-group.js +1 -1
  231. package/dist/tooltip.js +1 -1
  232. package/dist/underline.d.ts +1 -0
  233. package/dist/underline.js +85 -0
  234. package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C5I3wWd8.js} +1 -1
  235. package/dist/{useConfiguratorState-DxAqksK6.js → useConfiguratorState-DAoeHVue.js} +8 -8
  236. package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-yhL4Wp-s.js} +3 -22
  237. package/dist/useLiquidFlex-BL0lLLN2.js +30 -0
  238. package/dist/useRAFLoop-Bxv0o6L5.js +109 -0
  239. package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-Dlvx-L3v.js} +1 -1
  240. package/dist/useSpecularTracking-Bo5su68i.js +32 -0
  241. package/dist/useSpringMount-CI2jOstM.js +108 -0
  242. package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-Dg7MQI1G.js} +1 -1
  243. package/dist/utils/coalesceMetric.d.ts +29 -0
  244. package/dist/utils/index.d.ts +1 -0
  245. package/dist/vReveal-CqaCz_mC.js +44 -0
  246. package/dist/watercolor-dot.js +11 -9
  247. package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
  248. package/package.json +78 -58
  249. package/src/styles/animations.css +29 -114
  250. package/src/styles/cards.css +53 -0
  251. package/src/styles/configurator.css +42 -0
  252. package/src/styles/dock/layer-group.css +83 -25
  253. package/src/styles/dock/layers.css +23 -1
  254. package/src/styles/dock/morph-bridge.css +123 -0
  255. package/src/styles/dock/morph.css +175 -45
  256. package/src/styles/dock/overflow.css +51 -1
  257. package/src/styles/dock/rail-extend.css +300 -0
  258. package/src/styles/dock/shell.css +63 -105
  259. package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
  260. package/src/styles/dock-controls/icon-button.css +133 -0
  261. package/src/styles/dock-controls/tab-button.css +202 -0
  262. package/src/styles/dock-controls/touch-floor.css +94 -0
  263. package/src/styles/dock-controls/triggers.css +128 -0
  264. package/src/styles/dock-controls.css +30 -595
  265. package/src/styles/dock.css +2 -0
  266. package/src/styles/floating-panel.css +15 -0
  267. package/src/styles/glass/a11y-fallback.css +245 -0
  268. package/src/styles/glass/ladder.css +337 -0
  269. package/src/styles/glass/material.css +238 -0
  270. package/src/styles/glass/progress-rail.css +78 -0
  271. package/src/styles/glass/squircle.css +66 -0
  272. package/src/styles/glass/surfaces.css +306 -0
  273. package/src/styles/glass.css +31 -1188
  274. package/src/styles/index.css +28 -14
  275. package/src/styles/paper.css +2 -68
  276. package/src/styles/segmented-tabs.css +271 -0
  277. package/src/styles/theme/bridges.css +337 -0
  278. package/src/styles/theme/dark.css +7 -0
  279. package/src/styles/theme/literals.css +94 -0
  280. package/src/styles/theme/radius.css +95 -0
  281. package/src/styles/theme.css +26 -529
  282. package/src/styles/tokens/color-radius.css +260 -0
  283. package/src/styles/tokens/dark-arm.css +200 -0
  284. package/src/styles/tokens/glass.css +440 -0
  285. package/src/styles/tokens/light-dark.css +158 -0
  286. package/src/styles/tokens/offsets-sizing.css +500 -0
  287. package/src/styles/tokens/property-regs.css +169 -0
  288. package/src/styles/tokens/scale-paper.css +366 -0
  289. package/src/styles/tokens/scheme-motion.css +334 -0
  290. package/src/styles/tokens/shadow.css +166 -0
  291. package/src/styles/tokens.css +22 -2360
  292. package/src/styles/typography.css +75 -21
  293. package/src/styles/utilities/a11y-overrides.css +140 -0
  294. package/src/styles/utilities/animate.css +26 -0
  295. package/src/styles/utilities/base.css +365 -0
  296. package/src/styles/utilities/btn.css +401 -0
  297. package/src/styles/utilities/components.css +317 -0
  298. package/src/styles/utilities.css +19 -1291
  299. package/src/styles/view-transition.css +0 -51
  300. package/dist/DeckProgress-Dmk4_AKN.js +0 -23
  301. package/dist/InstrumentRail-CUJ05YVG.js +0 -44
  302. package/dist/MetricBadge-BZVWIxNy.js +0 -80
  303. package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
  304. package/dist/components/custom/deck-progress/index.d.ts +0 -2
  305. package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
  306. package/dist/components/custom/dialog-native/index.d.ts +0 -1
  307. package/dist/components/custom/handmark/HandMark.vue.d.ts +0 -29
  308. package/dist/components/custom/handmark/brush.d.ts +0 -242
  309. package/dist/components/custom/handmark/freehand.d.ts +0 -69
  310. package/dist/components/custom/handmark/geometry.d.ts +0 -50
  311. package/dist/components/custom/handmark/index.d.ts +0 -21
  312. package/dist/components/custom/handmark/ink.d.ts +0 -11
  313. package/dist/components/custom/handmark/texture.d.ts +0 -39
  314. package/dist/components/custom/handmark/types.d.ts +0 -53
  315. package/dist/components/custom/handmark/useHandMark.d.ts +0 -87
  316. package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
  317. package/dist/components/custom/instrument-rail/index.d.ts +0 -2
  318. package/dist/composables/motion/useRouteTransition.d.ts +0 -42
  319. package/dist/deck-progress.d.ts +0 -1
  320. package/dist/deck-progress.js +0 -2
  321. package/dist/dockContext-BKeIMmNk.js +0 -9
  322. package/dist/handmark.d.ts +0 -1
  323. package/dist/handmark.js +0 -663
  324. package/dist/instrument-rail.d.ts +0 -1
  325. package/dist/instrument-rail.js +0 -2
  326. package/dist/styles/instrument-rail.css +0 -127
  327. package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
  328. package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
  329. package/dist/useSpringMount-BJSHcLl3.js +0 -113
  330. package/dist/useViewTransition-DaN5Zrox.js +0 -21
  331. package/dist/vReveal-zUIQk-rJ.js +0 -53
  332. package/src/styles/instrument-rail.css +0 -127
  333. /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-CT3AS1WX.js} +0 -0
  334. /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-Csywg3YF.js} +0 -0
  335. /package/dist/{Input-xuDwALQR.js → Input-DWQQIOC4.js} +0 -0
  336. /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
  337. /package/dist/{Label-zRfbQdCn.js → Label-r3WzWrsj.js} +0 -0
  338. /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-DVLI2VRr.js} +0 -0
  339. /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-DIXTtVq6.js} +0 -0
  340. /package/dist/{Progress-iEuD9pxG.js → Progress-DwlUKGbr.js} +0 -0
  341. /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-aumMgWLs.js} +0 -0
  342. /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-BQ_1Fcbp.js} +0 -0
  343. /package/dist/{Separator-D7sD7RKj.js → Separator-0JE6LtNu.js} +0 -0
  344. /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
  345. /package/dist/{compile-BOXjLUxu.js → compile-B7NGOBcP.js} +0 -0
  346. /package/dist/{constants-yKeKnE84.js → constants-CS75AWHG.js} +0 -0
  347. /package/dist/{createContext-B44Sah_H.js → createContext-BM46COQ-.js} +0 -0
  348. /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
  349. /package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DPiEarb0.js} +0 -0
  350. /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
  351. /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Cc-H9ees.js} +0 -0
  352. /package/dist/{useInterval-Dsmqwi03.js → useInterval-iHludrxk.js} +0 -0
  353. /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-Be3w_Rwk.js} +0 -0
  354. /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-BhgdhOIj.js} +0 -0
  355. /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-Dvn2RZJW.js} +0 -0
  356. /package/dist/{useSortable-C8ReQ50P.js → useSortable-muI29agz.js} +0 -0
  357. /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-DmRYkOBx.js} +0 -0
  358. /package/dist/{useTimer-3xqf_54b.js → useTimer-Dzarvzuk.js} +0 -0
  359. /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-B2h6jAM_.js} +0 -0
  360. /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-B40FK4Pa.js} +0 -0
@@ -0,0 +1,260 @@
1
+ /* tokens/color-radius.css
2
+ §4 radius reference · §5 warm-cream/muted-black palette · §5c constellation · §6 section palette · §6b viz basis.
3
+ Carved from the tokens.css cascade root; @import-ed by tokens.css in
4
+ cascade order. Same :root cascade context as its siblings. */
5
+ :root {
6
+ /* §4 BORDER RADIUS — authored ONCE in theme.css's leading plain @theme
7
+ block (AV.W16 TW1). A plain @theme mints each `--radius-*` as a global
8
+ :root var, so the `var(--radius-card)` recipe reads across this file
9
+ resolve from that source. The prior §4 twin here doubled the override
10
+ surface (the anti-pattern the @theme-inline migration kills) — excised;
11
+ retune the scale at theme.css. */
12
+
13
+ /* ═══════════════════════════════════════════════
14
+ §5 COLOR PALETTE — Warm cream / muted black
15
+
16
+ Neutral scale: perceptually-uniform L* steps at hue 48 (warm paper).
17
+ Each pair visibly distinct at 20px viewing distance.
18
+ 0 → 1 : 3 L (page → soft field)
19
+ 1 → 2 : 5 L (soft field → chip / tab-inactive)
20
+ 2 → 3 : 8 L (chip → hover / highlight)
21
+ 3 → 4 : 12 L (highlight → subtle border)
22
+ 4 → 5 : 25 L (border → muted text, contrast jump)
23
+ 5 → 6 : 10 L (muted text → strong-muted text, secondary register)
24
+
25
+ Semantic aliases re-point into the scale — no back-compat shims.
26
+ ═══════════════════════════════════════════════ */
27
+ --neutral-0: hsl(48 12% 98%); /* L 98 — page surface */
28
+ --neutral-1: hsl(48 10% 95%); /* L 95 — soft field bg */
29
+ --neutral-2: hsl(48 9% 90%); /* L 90 — chip / tab-inactive bg */
30
+ --neutral-3: hsl(48 8% 82%); /* L 82 — hover / highlight bg */
31
+ --neutral-4: hsl(48 7% 70%); /* L 70 — subtle border */
32
+ --neutral-5: hsl(48 6% 40%); /* L 40 — muted text (WCAG AA: 5.23:1 vs L98 page / 4.91:1 vs L95 muted) */
33
+ /* W7-α' (AK-FD1) — strong-muted text rung. One principled ladder step
34
+ (10 L darker, the 5→6 cadence above) past muted text toward
35
+ --foreground (L10). Sits at the 1/3 point of the L40→L10 muted→primary
36
+ gap: legible secondary text that reads less-faint than muted but not as
37
+ assertive as primary. By-COLOUR per the canon (a neutral step, not an
38
+ alpha mute); hue held at 48, sat nudged 6→7 toward --foreground's 10.
39
+ WCAG AA: 7.79:1 vs L98 page / 7.31:1 vs L95 muted (cf. neutral-5's
40
+ 5.23:1) — comfortably above the 4.5:1 body floor. */
41
+ --neutral-6: hsl(48 7% 30%); /* L 30 — strong-muted text (secondary register) */
42
+
43
+ --background: var(--neutral-0);
44
+ --foreground: hsl(24 10% 10%);
45
+ --card: var(--neutral-0);
46
+ --card-foreground: var(--foreground);
47
+ --popover: var(--neutral-0);
48
+ --popover-foreground: var(--foreground);
49
+
50
+ /* R0G-5 (AO.W4) — warm-neutral public-data panel surface. One warmth step
51
+ off --card (hue 44 vs 48, +4 sat, −2 L) so a consumer's aurora-OFF
52
+ /dashboard/* surfaces read with the admin canon's warm-neutral chrome
53
+ instead of the colder bare card. Opaque surface (the --card family), not
54
+ a --surface-tint-* overlay. Consumer applies on /dashboard/* only. */
55
+ --surface-public-data-panel: hsl(44 16% 96%);
56
+
57
+ --muted: var(--neutral-1);
58
+ --muted-foreground: var(--neutral-5);
59
+ /* W7-α' (AK-FD1) — one rung less-faint than --muted-foreground for
60
+ secondary text that reads too-faint at the muted rung over resting
61
+ glass (CardDescription). By-colour neutral step, not alpha. */
62
+ --muted-foreground-strong: var(--neutral-6);
63
+ --secondary: var(--neutral-2);
64
+ --secondary-foreground: var(--foreground);
65
+ --accent: var(--neutral-3);
66
+ --accent-foreground: var(--foreground);
67
+
68
+ --border: var(--neutral-4);
69
+ --input: var(--neutral-4);
70
+
71
+ --primary: hsl(24 10% 10%);
72
+ --primary-foreground: var(--neutral-0);
73
+ --destructive: hsl(0 72% 50%);
74
+ --destructive-foreground: var(--neutral-0);
75
+ --ring: hsl(24 10% 10%);
76
+ --shadow: hsl(24 10% 10%);
77
+ --shadow-color: var(--foreground);
78
+
79
+ /* AQ.W2 §4 — native-control accent. `accent-color` is an inherited
80
+ built-in <color>, so per the §2b resolve-late discipline it reads a
81
+ dedicated UNREGISTERED token set per-mode (NOT light-dark()) and is
82
+ re-specified inside `.dark` — otherwise the accent freezes to the
83
+ light shade at the cascade root. Light: muted-black checkmarks /
84
+ sliders on warm cream. Dark arm (`.dark`) reads `--ring` (mid-tone),
85
+ not the near-white dark `--primary`, so a checkbox's white checkmark
86
+ keeps contrast headroom (accent-color.md §5). */
87
+ --accent-color: var(--primary);
88
+
89
+ /* Border hairline at whisper alpha — the canonical rung for
90
+ section-spine / panel-edge hairlines a consumer wants to read as an
91
+ iOS-26 whisper rather than a hard rule. Consumers compose this named
92
+ rung instead of hand-mixing `color-mix(... var(--border) ...)`
93
+ per-site (token-first). 45% is the canonical whisper. Auto-dark via
94
+ `--border` (which is `var(--neutral-4)`, light-dark()-resolved). */
95
+ --border-soft: color-mix(in srgb, var(--border) 45%, transparent);
96
+
97
+ /* AQ.W3 §W3.4 — tokenized scrollbar thumb + track. Minted in the color
98
+ block so the `scrollbar-color` / `::-webkit-scrollbar-thumb` rungs read a
99
+ single source. Auto-dark via `--muted-foreground` (light-dark()-resolved,
100
+ AQ.W2) — the OS scrollbar chrome also honors `color-scheme: dark`, so the
101
+ custom thumb tracks the dark surface without an explicit dark mirror. The
102
+ thumb α (25%) matches the prior inline `.scrollbar-thin` value byte-for-
103
+ byte; `transparent` track keeps the scroll-pane glass reading through. */
104
+ --scrollbar-thumb: color-mix(in srgb, var(--muted-foreground) 25%, transparent);
105
+ --scrollbar-track: transparent;
106
+
107
+ /* Foreground-tint rungs — canonical handles for the 36+ raw
108
+ `color-mix(in srgb, var(--foreground) N%, transparent)` sites surveyed
109
+ in R5 axis-1. Each rung's α is named in its key (4 → 4%, 22 → 22%).
110
+ Auto-dark via --foreground; no explicit dark mirrors needed. R5
111
+ vocab.γ gap row 1. Consumers land in W2.B + W3.C. */
112
+ --surface-tint-4: color-mix(in srgb, var(--foreground) 4%, transparent);
113
+ --surface-tint-6: color-mix(in srgb, var(--foreground) 6%, transparent);
114
+ --surface-tint-8: color-mix(in srgb, var(--foreground) 8%, transparent);
115
+ --surface-tint-10: color-mix(in srgb, var(--foreground) 10%, transparent);
116
+ --surface-tint-12: color-mix(in srgb, var(--foreground) 12%, transparent);
117
+ --surface-tint-15: color-mix(in srgb, var(--foreground) 15%, transparent);
118
+ --surface-tint-18: color-mix(in srgb, var(--foreground) 18%, transparent);
119
+ --surface-tint-22: color-mix(in srgb, var(--foreground) 22%, transparent);
120
+ --surface-tint-25: color-mix(in srgb, var(--foreground) 25%, transparent);
121
+ /* Higher-α rungs added at L.W5 (absorbs K R4 — 4 P1 sites whose
122
+ literal `color-mix(in srgb, var(--foreground) {35,40,70}%, transparent)`
123
+ expressions bypassed the canonical token family). See `docs/tranches/L/
124
+ audit/W5-A-doc-cohort-proof.md`. */
125
+ --surface-tint-35: color-mix(in srgb, var(--foreground) 35%, transparent);
126
+ --surface-tint-40: color-mix(in srgb, var(--foreground) 40%, transparent);
127
+ --surface-tint-70: color-mix(in srgb, var(--foreground) 70%, transparent);
128
+
129
+ /* Muted-tinted surface rungs — canonical handles for the 9 raw
130
+ `color-mix(in srgb, var(--muted) N%, transparent)` sites in
131
+ FuzzySearch / SegmentedTabs / Slider scoped CSS. (AI.W5-δ — the
132
+ ProgressiveSidebar consumer retired at the wave; the canonical token
133
+ rung lives on for the remaining consumers.) Auto-dark via --muted.
134
+ R5 vocab.γ axis-1 row. */
135
+ --muted-soft: color-mix(in srgb, var(--muted) 30%, transparent);
136
+ --muted-medium: color-mix(in srgb, var(--muted) 50%, transparent);
137
+
138
+ /* ═══════════════════════════════════════════════
139
+ §5c CONSTELLATION — Canvas2D proximity-graph lattice (AX.W17)
140
+
141
+ The H.W4 legibility intelligence promoted from the slides deck to
142
+ LIBRARY identity: the node tones, the edge hairline color, the per-mode
143
+ edge-alpha multipliers, and the field-yields-to-type translucency knob.
144
+ Only `--constellation-accent` (the anomaly tint) stays a CONSUMER preset
145
+ (slides aliases it to `--ncsu-red`); the library ships a neutral default.
146
+
147
+ PLAIN-hsl LITERALS, per arm — NEVER `light-dark()` and NEVER a
148
+ `var(--neutral-*)`/`var(--foreground)`/`var(--border)`/`var(--card)`
149
+ alias. Canvas2D silently REJECTS a `light-dark()` value into
150
+ `strokeStyle`/`fillStyle` (the W30 86.3%-red-splatter cardinal defect),
151
+ and the rejection is identical whether the value is a literal
152
+ `light-dark(…)` OR a `var()` that RESOLVES to one — so the constellation
153
+ tokens are plain-hsl LEAVES, the `:root` vs `.dark` cascade carrying two
154
+ literals. `proof:constellation-tokens` clause (c) machine-locks this
155
+ (the no-`light-dark(`-substring NOR transitive-`var()` static assertion).
156
+ ═══════════════════════════════════════════════ */
157
+ /* Node tones — readable on the warm-cream ground. The two-tone split (the
158
+ `dim` half rides `-node-dim`). Warm-grey ink, NOT a neutral-ladder alias. */
159
+ --constellation-node: hsl(36 8% 46%);
160
+ --constellation-node-dim: hsl(36 8% 60%);
161
+ /* Edge hairline stroke — warm near-black on cream (the plain-hsl complement
162
+ the slides deck reads to fix the `--foreground` light-dark() leak). */
163
+ --constellation-line: hsl(24 14% 14%);
164
+ /* Anomaly tint — NEUTRAL library default (a desaturated warm accent). The
165
+ consumer overrides this (slides → `--ncsu-red`); the library does NOT
166
+ bake a brand hue. This is the single consumer-preset boundary. */
167
+ --constellation-accent: hsl(18 58% 46%);
168
+ /* Edge-alpha multipliers — replace the magic `0.17` hairline / pointer-web
169
+ literals. The cream ground lifts the node tones, so the field can recede;
170
+ the focus-proximity edge reads a touch stronger. */
171
+ --constellation-edge-alpha: 0.22;
172
+ --constellation-edge-focus-alpha: 0.34;
173
+ /* §7 field-yields-to-type translucency knob — the legible-but-RECESSIVE
174
+ MIDPOINT, NOT max-legibility. On cream the node tones already read, so the
175
+ field recedes further: BELOW the slides 0.92 max-legibility reference. */
176
+ --constellation-alpha: 0.80;
177
+ /* ACCENT-edge skin weights (AZ.W-CON-GEN G3) — the flagged-node EDGE legibility
178
+ set the optional `drawEdges(…, accentIndex)` pass reads. `--constellation-accent`
179
+ (above) is the edge TINT; `-edge-floor` is the neutral-edge alpha MINIMUM so a
180
+ distance-faded hairline clears the perceptual floor on a bright ground (default
181
+ 0 → byte-identical, the consumer lifts it on a very-light backdrop);
182
+ `-edge-accent-alpha` is the accent-incident edge multiplier (the flagged-node
183
+ tether reads a touch louder than the neutral lattice). Mode-arm where they
184
+ differ — the dark arm carries its own (dark-arm.css §5c). */
185
+ --constellation-edge-floor: 0;
186
+ --constellation-edge-accent-alpha: 0.30;
187
+
188
+ /* §interaction — the warp spring + the gravity-well tunings (NUMERIC, NOT
189
+ colors — read ONCE on mount via parseFloat, never reach a Canvas2D
190
+ fillStyle, so immune to the W30 light-dark()/Canvas2D leak; AY.W-CON2).
191
+ Mode-INVARIANT, declared ONCE in :root (the .dark arm needs no numeric
192
+ re-declare — a per-mode value SPLIT is what proof:constellation-tokens
193
+ clause (c) flags, and these tunings are identical in both modes).
194
+ `--constellation-warp-response` is the keyframes.js ANGULAR PERIOD (the
195
+ SwiftUI .spring(response:) axis), NOT a settle-duration — at ζ=1 the 2%
196
+ settle lands at t₂ ≈ 5.83/ω₀ ≈ 0.93·response (the engine keeps the
197
+ keyframes.js ω₀ = 2π/response convention, mints no second ω). */
198
+ --constellation-warp-response: 0.55; /* s — keyframes.js angular period (NOT a settle) */
199
+ --constellation-warp-zeta: 1.0; /* critically damped — a focal mark must NOT ring */
200
+ --constellation-well-gain: 14000; /* inverse-square force scale (the held-pull gain) */
201
+ --constellation-well-reach: 340; /* base-width px — the well's reach (k-scaled at step) */
202
+ --constellation-well-ramp: 4.0; /* 1/s — the ARM rate (≈0.25s bloom; release is the fixed brisk WELL_RELEASE_RAMP — the field-cools invariant, not consumer-tunable) */
203
+ --constellation-well-max-speed: 4.0; /* base-width px/frame cap — the no-slingshot clamp */
204
+ --constellation-well-hold-ms: 140; /* ms hold before the well arms */
205
+ --constellation-wander-idle: 8000; /* ms — min idle between auto re-targets (the W-CON1 drift cadence) */
206
+ --constellation-wander-jitter: 8000; /* ms — random extra idle per cadence (so the rhythm is not metronomic) */
207
+
208
+ /* ═══════════════════════════════════════════════
209
+ §6 SECTION PALETTE — 13-stop jewel tones (light)
210
+ ═══════════════════════════════════════════════ */
211
+ /* AV.W16 TW2 — oklch ramp (perceptually-even L; hue preserved from the
212
+ prior hsl() cadence). Categorical jewel tones — distinct hues, not a
213
+ monotone scale. Authored as oklch pairs with the .dark mirror. */
214
+ --section-color-0: oklch(0.552 0.192 359.8); /* rose */
215
+ --section-color-1: oklch(0.502 0.165 305.9); /* purple */
216
+ --section-color-2: oklch(0.484 0.163 265.5); /* indigo */
217
+ --section-color-3: oklch(0.542 0.089 222.8); /* teal-cyan */
218
+ --section-color-4: oklch(0.551 0.088 171.1); /* forest */
219
+ --section-color-5: oklch(0.623 0.124 69.6); /* amber */
220
+ --section-color-6: oklch(0.579 0.201 30.4); /* tomato-red */
221
+ --section-color-7: oklch(0.532 0.180 317.5); /* violet */
222
+ --section-color-8: oklch(0.520 0.176 8.4); /* ruby */
223
+ --section-color-9: oklch(0.492 0.038 239.6); /* slate-blue */
224
+ --section-color-10: oklch(0.556 0.103 128.8); /* olive */
225
+ --section-color-11: oklch(0.601 0.092 208.0); /* ocean */
226
+ --section-color-12: oklch(0.513 0.163 291.9); /* periwinkle */
227
+
228
+ /* Accent colors */
229
+ --accent-pink: oklch(0.613 0.197 353.8);
230
+ --section-heading: oklch(0.545 0.189 352.8);
231
+ --accent-red: oklch(0.574 0.216 27.5);
232
+
233
+ /* ═══════════════════════════════════════════════
234
+ §6b VIZ BASIS — core brand hues
235
+ ═══════════════════════════════════════════════ */
236
+ --viz-fourier: oklch(0.579 0.201 30.4);
237
+ --viz-chebyshev: oklch(0.484 0.163 265.5);
238
+ --viz-legendre: oklch(0.532 0.180 317.5);
239
+ --viz-amber: var(--section-color-5);
240
+ --viz-green: var(--section-color-4);
241
+
242
+ /* Semantic UI accents */
243
+ --tier-featured: oklch(0.841 0.173 84.2);
244
+ --tier-saved: oklch(0.676 0.176 252.3);
245
+ --like: oklch(0.633 0.200 24.9);
246
+ --success: oklch(0.720 0.192 149.5);
247
+ --warning: oklch(0.770 0.165 70.6);
248
+ --info: oklch(0.626 0.186 259.6);
249
+ --delete: oklch(0.597 0.198 25.5);
250
+
251
+ /* Semantic foregrounds — text/glyph atop --success/--warning/--info plates.
252
+ Notification.vue currently hardcodes `text-white`/`text-foreground`
253
+ inline; W2 migrates consumers to read these tokens. Warning carries a
254
+ dark glyph because the amber plate is too luminous for white. R5
255
+ vocab.γ gap row 4. */
256
+ --success-foreground: var(--neutral-0);
257
+ --warning-foreground: hsl(24 10% 10%);
258
+ --info-foreground: var(--neutral-0);
259
+
260
+ }
@@ -0,0 +1,200 @@
1
+ /* tokens/dark-arm.css
2
+ The .dark {} dark-mode re-resolution (foreground / shadow-color / section-palette / constellation dark arm). After light-dark.css (the non-light-dark() fallback floor).
3
+ Carved from the tokens.css cascade root; @import-ed by tokens.css in
4
+ cascade order. Same :root cascade context as its siblings. */
5
+
6
+ /* ═══════════════════════════════════════════════
7
+ DARK MODE — warm dark, section palette brightened ~20% L
8
+
9
+ FALLBACK FLOOR (AQ.W2 §2c): this class block is the SOLE non-light-dark()
10
+ dark path. On a `light-dark()`-supporting engine with `.dark` present,
11
+ `.dark { color-scheme: dark }` (§1) makes every §-1b token resolve to its
12
+ dark arm and these explicit dark values agree with it (kept as the floor
13
+ for non-supporting engines). The pure `var()`-alias re-declarations
14
+ (`--muted`/`--secondary`/`--accent`/`--border`/`--input`/… and the
15
+ `--background`/`*-foreground` aliases) are DELETED — they auto-track the
16
+ `--neutral-*` ladder + `--foreground` resolved above; only EXPLICIT-color
17
+ dark values (and the non-color overrides §2d) stay.
18
+ ═══════════════════════════════════════════════ */
19
+ .dark {
20
+ /* §1 — hard-pin native chrome to dark regardless of OS preference. §4 —
21
+ re-specify the inherited `accent-color` so it re-resolves to the dark
22
+ arm (§2b: an inherited built-in <color> set at `:root` would freeze to
23
+ the light shade without this re-specification). */
24
+ color-scheme: dark;
25
+ accent-color: var(--accent-color);
26
+
27
+ /* Neutral scale mirrors light-mode pattern: step UP from the background's
28
+ low L toward foreground. Same perceptual deltas as light. FALLBACK
29
+ FLOOR — kept verbatim for non-light-dark() engines (§2c); on a
30
+ supporting engine `color-scheme: dark` (above) drives the §-1b
31
+ light-dark() arms and these agree. */
32
+ --neutral-0: hsl(24 8% 6%); /* L 6 — page surface (dark) */
33
+ --neutral-1: hsl(24 6% 11%); /* L 11 — soft field */
34
+ --neutral-2: hsl(24 5% 16%); /* L 16 — chip / tab-inactive */
35
+ --neutral-3: hsl(24 5% 22%); /* L 22 — hover / highlight */
36
+ --neutral-4: hsl(24 5% 34%); /* L 34 — subtle border */
37
+ --neutral-5: hsl(48 5% 62%); /* L 62 — muted text (WCAG AA: 7.39:1 vs L6 page / 6.58:1 vs L11 muted) */
38
+ /* W7-α' (AK-FD1) — strong-muted text. Same principled ladder step as
39
+ light, mirrored: 10 L LIGHTER than muted (62→72) toward --foreground
40
+ (L90), the 1/3 point of the L62→L90 muted→primary gap. By-colour; hue
41
+ 48, sat nudged 5→6. WCAG AA: 9.86:1 vs L6 page / 8.78:1 vs L11 muted
42
+ (cf. neutral-5's 7.39:1). */
43
+ --neutral-6: hsl(48 6% 72%); /* L 72 — strong-muted text (secondary register) */
44
+
45
+ /* --background / --card-foreground / --popover-foreground / --muted /
46
+ --muted-foreground{,-strong} / --secondary{,-foreground} /
47
+ --accent{,-foreground} / --border / --input are pure var()-aliases —
48
+ DELETED here (AQ.W2 §2a): they auto-track the --neutral-* ladder +
49
+ --foreground above. Re-declaring them would be redundant. */
50
+ --foreground: hsl(48 10% 90%);
51
+ --card: hsl(24 8% 10%);
52
+ --popover: hsl(24 8% 10%);
53
+
54
+ /* R0G-5 (AO.W4) — dark mirror of the warm-neutral public-data panel.
55
+ --card's dark hsl(24 8% 10%) nudged one warmth step toward amber
56
+ (24→36) + +1 sat + +2 L so the dark dashboard panel lifts off the page. */
57
+ --surface-public-data-panel: hsl(36 9% 12%);
58
+
59
+ --primary: hsl(48 10% 90%);
60
+ --primary-foreground: hsl(24 10% 10%);
61
+ /* AX.W44 — the `.dark` class fallback floor, in LOCKSTEP with the light-dark()
62
+ enhancement arm above (§2c). Same lifted `hsl(0 80% 60%)` so a
63
+ @supports-split engine and a class-toggle engine paint the SAME dark red
64
+ (4.60:1 as ink over --card / 5.03:1 as a plate vs page). */
65
+ --destructive: hsl(0 80% 60%);
66
+ --destructive-foreground: hsl(48 10% 90%);
67
+ --ring: hsl(48 10% 70%);
68
+ --shadow: hsl(0 0% 5%);
69
+
70
+ /* Section palette — brightened for dark backgrounds (oklch; AV.W16 TW2 —
71
+ mirrors the light-dark() dark halves above; hue preserved) */
72
+ --section-color-0: oklch(0.721 0.145 354.0);
73
+ --section-color-1: oklch(0.733 0.113 308.2);
74
+ --section-color-2: oklch(0.718 0.107 268.4);
75
+ --section-color-3: oklch(0.767 0.091 219.9);
76
+ --section-color-4: oklch(0.776 0.105 172.6);
77
+ --section-color-5: oklch(0.813 0.109 78.2);
78
+ --section-color-6: oklch(0.693 0.151 28.1);
79
+ --section-color-7: oklch(0.739 0.134 318.1);
80
+ --section-color-8: oklch(0.709 0.142 2.3);
81
+ --section-color-9: oklch(0.763 0.032 239.0);
82
+ --section-color-10: oklch(0.794 0.116 127.9);
83
+ --section-color-11: oklch(0.805 0.095 206.7);
84
+ --section-color-12: oklch(0.719 0.115 295.6);
85
+
86
+ --accent-pink: oklch(0.683 0.131 354.7);
87
+ --section-heading: oklch(0.711 0.123 349.3);
88
+ --accent-red: oklch(0.644 0.165 22.9);
89
+
90
+ --viz-fourier: oklch(0.693 0.151 28.1);
91
+ --viz-chebyshev: oklch(0.718 0.107 268.4);
92
+ --viz-legendre: oklch(0.739 0.134 318.1);
93
+ /* --viz-amber / --viz-green / --meter-track-stroke are pure var()-aliases
94
+ (→ --section-color-5/-4 / --foreground) — DELETED (§2a); they auto-track
95
+ their sources, which convert via §-1b. */
96
+
97
+ /* O.W6 Lane D — WCAG companion labels lift to L≈0.85 against the
98
+ deep dark canvas; same two-token discipline as light mode (canvas
99
+ hue preserved at `--chart-*`; only the label register shifts). */
100
+ --chart-ping-label: oklch(0.85 0.12 230);
101
+ --chart-download-label: oklch(0.85 0.14 22);
102
+ --chart-upload-label: oklch(0.85 0.12 55);
103
+ --chart-jitter-label: oklch(0.85 0.14 305);
104
+
105
+ --tier-featured: oklch(0.867 0.165 88.7);
106
+ --tier-saved: oklch(0.748 0.135 250.1);
107
+ --like: oklch(0.690 0.162 22.2);
108
+ --success: oklch(0.805 0.186 151.6);
109
+ --warning: oklch(0.809 0.150 76.6);
110
+ --info: oklch(0.713 0.138 259.5);
111
+ --delete: oklch(0.644 0.170 23.1);
112
+
113
+ /* Semantic foregrounds — off-white over dark plates. Mirrors the
114
+ `--destructive-foreground` dark pattern (hsl 48 10% 90%). The warning
115
+ glyph stays dark-on-amber; the dark amber rung is luminous enough that
116
+ a darker glyph still reads (matches light-mode behaviour). */
117
+ --success-foreground: hsl(48 10% 96%);
118
+ --warning-foreground: hsl(24 10% 10%);
119
+ --info-foreground: hsl(48 10% 96%);
120
+
121
+ --shadow-cartoon: 3px 3px 0px 0px color-mix(in srgb, var(--foreground) 6%, transparent);
122
+ --shadow-cartoon-hover: 4px 4px 0px 0px color-mix(in srgb, var(--foreground) 8%, transparent);
123
+ --shadow-soft: 0 4px 12px rgba(0, 0, 0, 0.3);
124
+ --shadow-elevated: 0 8px 24px rgba(0, 0, 0, 0.35);
125
+ --shadow-modal:
126
+ 4px 4px 0px 0px color-mix(in srgb, var(--foreground) 6%, transparent),
127
+ 0 24px 64px color-mix(in srgb, var(--foreground) 18%, transparent);
128
+
129
+ --shadow-cartoon-color: rgb(255 255 255 / 0.07);
130
+ --shadow-cartoon-color-soft: rgb(255 255 255 / 0.03);
131
+
132
+ /* §5c CONSTELLATION — dark arm (AX.W17). The H.W4 dark-mode lift: the node
133
+ tones step UP off the ink ground (the light arm's mid-grey would vanish on
134
+ L6 black), the hairline goes warm off-white, the field carries a touch more
135
+ presence to read at all. PLAIN-hsl literals, NEVER light-dark()/var(). */
136
+ --constellation-node: hsl(42 9% 72%);
137
+ --constellation-node-dim: hsl(42 8% 56%);
138
+ --constellation-line: hsl(45 12% 86%);
139
+ /* Anomaly — brightened for the deep canvas (same neutral-default register;
140
+ the consumer still overrides to its brand). */
141
+ --constellation-accent: hsl(20 70% 60%);
142
+ /* The dark hairlines lift harder over the ink ground, so the edge multipliers
143
+ run a touch lower than light to keep the field recessive. */
144
+ --constellation-edge-alpha: 0.20;
145
+ --constellation-edge-focus-alpha: 0.32;
146
+ /* §7 — the ink ground needs MORE field presence than cream to read at all, so
147
+ the dark alpha is modestly HIGHER than the light arm — but still BELOW the
148
+ slides 1.0 max-legibility reference (the recessive midpoint, not 1.0). */
149
+ --constellation-alpha: 0.88;
150
+ /* ACCENT-edge skin — dark arm (AZ.W-CON-GEN G3). The floor stays 0 (the dark
151
+ ground already lifts the hairlines, so no perceptual-floor lift is needed); the
152
+ accent-incident multiplier runs a touch louder on the deeper ground so the
153
+ flagged-node tether reads (the 0.34 dark reference). */
154
+ --constellation-edge-floor: 0;
155
+ --constellation-edge-accent-alpha: 0.34;
156
+
157
+ /* Glass opacity + grain for dark — five-tier ladder, alpha-monotonic.
158
+ Each rung lifts ~0.08 from its light counterpart so the dark surfaces
159
+ carry comparable read-weight against the deeper canvas. */
160
+ --glass-opacity-wash: 0.38;
161
+ --glass-opacity-quiet: 0.58;
162
+ --glass-opacity-resting: 0.72;
163
+ --glass-opacity-floating: 0.88;
164
+ --glass-opacity-overlay: 0.96;
165
+ --glass-opacity-chassis: 0.36;
166
+ --glass-grain-opacity: 0.045;
167
+ --glass-highlight: inset 0 0.5px 0 0 hsl(0 0% 100% / 0.08);
168
+
169
+ /* Hairline-accent dark mirror — see light counterpart at line ~404. */
170
+ --hairline-catch-light: inset 0 0.5px 0 0 rgb(255 255 255 / 0.05);
171
+ --hairline-under-shadow: 0 0.5px 0 0 rgb(0 0 0 / 0.06);
172
+
173
+ /* Specular + curvature — softened for dark backdrops. Disco-grain stays
174
+ at the same opacity ceiling; the dark grain blend already lifts it. */
175
+ --glass-specular: inset 0 1.5px 0 0 hsl(0 0% 100% / 0.30);
176
+ /* AV.W15 M3 — the full-perimeter rim remaps to its dark weight inside
177
+ `.dark` (mirroring the `--glass-specular` remap above). The lit token
178
+ resolves to the `-dark` alpha on the deeper canvas. */
179
+ --glass-edge-light: var(--glass-edge-light-dark);
180
+
181
+ /* AW.W23 — the chromatic-fringe + adaptive-tint dark arm. The fringe drops
182
+ to a lower-luminance warm/cool pair on the deep canvas; `--glass-tint-
183
+ source` auto-flips with `--card` (no override needed — the default already
184
+ resolves the dark card). */
185
+ --glass-fringe-warm: oklch(0.78 0.07 40 / 0.18);
186
+ --glass-fringe-cool: oklch(0.74 0.06 230 / 0.14);
187
+ /* AX.W52 D19 — the curvature sheen is genuinely SOFTER on the deep canvas (the
188
+ prior dark arm re-declared the overlay BYTE-IDENTICAL to light, so it read
189
+ HARDER over the dark substrate — an unsoftened-dark defect). The `:root`
190
+ `--glass-curvature-overlay` already reads `var(--glass-curvature-intensity)`,
191
+ so lowering just the intensity here re-resolves the SAME warm-cream recipe at
192
+ a softer alpha — no byte-identical re-declaration. */
193
+ --glass-curvature-intensity: 0.012;
194
+
195
+ /* Gold — boosted for dark (oklch; AV.W16 TW2) */
196
+ --gold: oklch(0.784 0.143 86.0);
197
+ --gold-light: oklch(0.898 0.182 97.4);
198
+ --gold-dark: oklch(0.678 0.150 63.8);
199
+ }
200
+