@mkbabb/glass-ui 4.0.0 → 4.1.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 (609) hide show
  1. package/README.md +3 -1
  2. package/dist/CardAction-8whJrLWt.js +268 -0
  3. package/dist/{CommandShortcut-DdtWXxOK.js → CommandShortcut-D3yxgHNn.js} +25 -14
  4. package/dist/ConfiguratorRow-CaP7U3ZA.js +143 -0
  5. package/dist/ContextMenuContent-B3ZsheLV.js +90 -0
  6. package/dist/{ContextMenuSubContent-B0Vs6atR.js → ContextMenuSubContent-DDRID3qC.js} +28 -33
  7. package/dist/{DataTable-C464Zbqd.js → DataTable-Bc9kUtu_.js} +4 -4
  8. package/dist/{DialogContent-DDE6pQBU.js → DialogContent-6JtTB5x2.js} +11 -8
  9. package/dist/DialogFooter-9phqcRIS.js +80 -0
  10. package/dist/DialogScrollContent-TTuovQst.js +93 -0
  11. package/dist/{FadingScroll-DwNnvKMs.js → FadingScroll-DLRbH5Xr.js} +1 -1
  12. package/dist/HoverCardContent-Bel1gdLZ.js +88 -0
  13. package/dist/{HoverPopover-Dpzwvc4t.js → HoverPopover-BcIxvyqZ.js} +2 -2
  14. package/dist/{IconChip-BDw1j5mu.js → IconChip-DhbdGdFQ.js} +2 -1
  15. package/dist/{IconTooltip-DSjasZIt.js → IconTooltip-B0zimd2H.js} +1 -1
  16. package/dist/Input-Cg9DF62r.js +57 -0
  17. package/dist/{MetricBadge-BpC0R_Ec.js → MetricBadge-RHdBP72w.js} +1 -1
  18. package/dist/Notification-CphK7AAm.js +43 -0
  19. package/dist/NumberFieldContent-D8cXeyO4.js +140 -0
  20. package/dist/PagerDots-Cjx96la-.js +98 -0
  21. package/dist/{PopoverContent-BTorlp--.js → PopoverContent-DL7E6vJP.js} +4 -4
  22. package/dist/{Progress-hAT4gqGH.js → Progress-CnqB7gLm.js} +4 -4
  23. package/dist/{ScrollingText-CUVFTWk2.js → ScrollingText-CTZbA_cG.js} +2 -2
  24. package/dist/{SelectScrollDownButton-C1jb3b3K.js → SelectScrollDownButton-DAKCBEdW.js} +65 -61
  25. package/dist/{SelectSeparator-DK2y1Bun.js → SelectSeparator-C2UGOkXF.js} +1 -1
  26. package/dist/Separator-DQcwC2TR.js +44 -0
  27. package/dist/Switch-B8RscmRu.js +49 -0
  28. package/dist/Toaster-D9qIHjBI.js +274 -0
  29. package/dist/ToggleGroupItem-BLtr3TJq.js +170 -0
  30. package/dist/TooltipProvider-BJ_Y5EGX.js +109 -0
  31. package/dist/animated-digit.js +2 -2
  32. package/dist/api/index.d.ts +21 -33
  33. package/dist/api/types-extra.d.ts +37 -0
  34. package/dist/api.js +1 -1
  35. package/dist/aurora.js +1231 -260
  36. package/dist/badge.js +1 -1
  37. package/dist/border-progress.d.ts +1 -0
  38. package/dist/border-progress.js +98 -0
  39. package/dist/button-5dY1Dvhd.js +125 -0
  40. package/dist/button.js +1 -1
  41. package/dist/canvas.js +2 -3
  42. package/dist/card.js +2 -2
  43. package/dist/carousel.js +93 -110
  44. package/dist/collapsible.js +1 -1
  45. package/dist/color-Cs0-oxYL.js +116 -0
  46. package/dist/color.js +2 -2
  47. package/dist/command.js +1 -1
  48. package/dist/compile-nZ1xVYTp.js +19 -0
  49. package/dist/completion-seal.d.ts +1 -0
  50. package/dist/completion-seal.js +89 -0
  51. package/dist/components/custom/aurora/Aurora.vue.d.ts +10 -5
  52. package/dist/components/custom/aurora/composables/atoms-fields.d.ts +39 -0
  53. package/dist/components/custom/aurora/composables/auroraFallbackGround.d.ts +108 -0
  54. package/dist/components/custom/aurora/composables/color.d.ts +13 -0
  55. package/dist/components/custom/aurora/composables/frameLoop.d.ts +9 -0
  56. package/dist/components/custom/aurora/composables/runtime.d.ts +31 -0
  57. package/dist/components/custom/aurora/composables/uniformBridge.d.ts +5 -1
  58. package/dist/components/custom/aurora/composables/uniformBridgeWGPU.d.ts +60 -0
  59. package/dist/components/custom/aurora/composables/wgpuSetup.d.ts +37 -0
  60. package/dist/components/custom/aurora/constants/budget.d.ts +21 -0
  61. package/dist/components/custom/aurora/constants/presets.d.ts +20 -2
  62. package/dist/components/custom/aurora/constants/renderMode.d.ts +77 -18
  63. package/dist/components/custom/aurora/constants/shaders/aurora-mediums.wgsl.d.ts +1 -0
  64. package/dist/components/custom/aurora/constants/shaders/aurora.wgsl.d.ts +1 -0
  65. package/dist/components/custom/aurora/constants/shaders/oil-modes.glsl.d.ts +1 -0
  66. package/dist/components/custom/aurora/constants/shaders/procedural-color.wgsl.d.ts +4 -0
  67. package/dist/components/custom/aurora/index.d.ts +2 -1
  68. package/dist/components/custom/border-progress/BorderProgress.vue.d.ts +46 -0
  69. package/dist/components/custom/border-progress/composables/spectrum-walk.d.ts +25 -0
  70. package/dist/components/custom/border-progress/composables/useBorderSpectrum.d.ts +18 -0
  71. package/dist/components/custom/border-progress/constants.d.ts +59 -0
  72. package/dist/components/custom/border-progress/index.d.ts +4 -0
  73. package/dist/components/custom/completion-seal/CompletionSeal.vue.d.ts +21 -0
  74. package/dist/components/custom/completion-seal/composables/useCompletionSeal.d.ts +37 -0
  75. package/dist/components/custom/completion-seal/constants.d.ts +46 -0
  76. package/dist/components/custom/completion-seal/index.d.ts +4 -0
  77. package/dist/components/custom/concentric/Concentric.vue.d.ts +39 -0
  78. package/dist/components/custom/concentric/composables/concentricGLSetup.d.ts +18 -0
  79. package/dist/components/custom/concentric/composables/concentricWGPUSetup.d.ts +22 -0
  80. package/dist/components/custom/concentric/composables/ringField.d.ts +85 -0
  81. package/dist/components/custom/concentric/composables/uniformBridgeWGPU.d.ts +14 -0
  82. package/dist/components/custom/concentric/composables/useConcentric.d.ts +35 -0
  83. package/dist/components/custom/concentric/constants.d.ts +67 -0
  84. package/dist/components/custom/concentric/index.d.ts +5 -0
  85. package/dist/components/custom/concentric/shaders/concentric.glsl.d.ts +4 -0
  86. package/dist/components/custom/concentric/shaders/concentric.wgsl.d.ts +1 -0
  87. package/dist/components/custom/confirm-dialog/ConfirmDialog.vue.d.ts +3 -3
  88. package/dist/components/custom/constellation/Constellation.vue.d.ts +5 -4
  89. package/dist/components/custom/constellation/composables/constellationGLSetup.d.ts +10 -0
  90. package/dist/components/custom/constellation/composables/constellationWGPUSetup.d.ts +19 -0
  91. package/dist/components/custom/constellation/composables/uniformBridgeWGPU.d.ts +66 -0
  92. package/dist/components/custom/constellation/composables/useConstellation.d.ts +3 -10
  93. package/dist/components/custom/constellation/constants.d.ts +33 -0
  94. package/dist/components/custom/constellation/constellationField.d.ts +31 -1
  95. package/dist/components/custom/constellation/constellationInteraction.d.ts +23 -14
  96. package/dist/components/custom/constellation/constellationRender.d.ts +25 -0
  97. package/dist/components/custom/constellation/constellationTypes.d.ts +38 -0
  98. package/dist/components/custom/constellation/constellationWell.d.ts +15 -0
  99. package/dist/components/custom/constellation/index.d.ts +5 -5
  100. package/dist/components/custom/constellation/shaders/constellation-lines.glsl.d.ts +2 -0
  101. package/dist/components/custom/constellation/shaders/constellation-lines.wgsl.d.ts +1 -0
  102. package/dist/components/custom/constellation/shaders/constellation-points.glsl.d.ts +2 -0
  103. package/dist/components/custom/constellation/shaders/constellation-points.wgsl.d.ts +1 -0
  104. package/dist/components/custom/deck/DeckPager.vue.d.ts +29 -0
  105. package/dist/components/custom/deck/composables/useDeck.d.ts +27 -0
  106. package/dist/components/custom/deck/composables/useDeckKeyboard.d.ts +25 -0
  107. package/dist/components/custom/deck/composables/useDeckSpring.d.ts +22 -0
  108. package/dist/components/custom/deck/constants.d.ts +14 -0
  109. package/dist/components/custom/deck/index.d.ts +8 -0
  110. package/dist/components/custom/dock/DockIconButton.vue.d.ts +25 -4
  111. package/dist/components/custom/dock/DockLayerGroup.vue.d.ts +10 -2
  112. package/dist/components/custom/dock/DockStack.vue.d.ts +65 -0
  113. package/dist/components/custom/dock/GlassDock.vue.d.ts +4 -2
  114. package/dist/components/custom/dock/composables/dockMorphMeasure.d.ts +155 -0
  115. package/dist/components/custom/dock/composables/index.d.ts +2 -0
  116. package/dist/components/custom/dock/composables/useDockSearch.d.ts +85 -0
  117. package/dist/components/custom/dock/composables/useDockShellProps.d.ts +11 -0
  118. package/dist/components/custom/dock/composables/useLayerTransition.d.ts +13 -0
  119. package/dist/components/custom/dock/constants.d.ts +18 -14
  120. package/dist/components/custom/dock/index.d.ts +5 -2
  121. package/dist/components/custom/dot-flow-field/DotFlowField.vue.d.ts +42 -0
  122. package/dist/components/custom/dot-flow-field/composables/flowField.d.ts +83 -0
  123. package/dist/components/custom/dot-flow-field/composables/uniformBridgeWGPU.d.ts +39 -0
  124. package/dist/components/custom/dot-flow-field/composables/useDotFlowField.d.ts +35 -0
  125. package/dist/components/custom/dot-flow-field/composables/useFlowParticles.d.ts +31 -0
  126. package/dist/components/custom/dot-flow-field/constants.d.ts +69 -0
  127. package/dist/components/custom/dot-flow-field/index.d.ts +5 -0
  128. package/dist/components/custom/dot-flow-field/shaders/flow-field.compute.wgsl.d.ts +1 -0
  129. package/dist/components/custom/dot-flow-field/shaders/flow-field.glsl.d.ts +4 -0
  130. package/dist/components/custom/dot-flow-field/shaders/flow-field.render.wgsl.d.ts +1 -0
  131. package/dist/components/custom/dot-matrix/DotMatrix.vue.d.ts +43 -0
  132. package/dist/components/custom/dot-matrix/composables/dotMatrixField.d.ts +89 -0
  133. package/dist/components/custom/dot-matrix/composables/uniformBridgeWGPU.d.ts +52 -0
  134. package/dist/components/custom/dot-matrix/composables/useDotMatrix.d.ts +34 -0
  135. package/dist/components/custom/dot-matrix/composables/useDotSphere.d.ts +27 -0
  136. package/dist/components/custom/dot-matrix/constants.d.ts +58 -0
  137. package/dist/components/custom/dot-matrix/index.d.ts +5 -0
  138. package/dist/components/custom/dot-matrix/shaders/dot-matrix.glsl.d.ts +4 -0
  139. package/dist/components/custom/dot-matrix/shaders/dot-matrix.wgsl.d.ts +1 -0
  140. package/dist/components/custom/easing/EasingConfigurator.vue.d.ts +33 -0
  141. package/dist/components/custom/easing/EasingPicker.vue.d.ts +49 -0
  142. package/dist/components/custom/easing/composables/useEasingPicker.d.ts +80 -0
  143. package/dist/components/custom/easing/constants.d.ts +28 -0
  144. package/dist/components/custom/easing/index.d.ts +3 -0
  145. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +11 -0
  146. package/dist/components/custom/fourier-field/FourierField.vue.d.ts +43 -40
  147. package/dist/components/custom/fourier-field/composables/fourierFieldGLSetup.d.ts +15 -0
  148. package/dist/components/custom/fourier-field/composables/fourierFieldWGPUSetup.d.ts +20 -0
  149. package/dist/components/custom/fourier-field/composables/uniformBridgeWGPU.d.ts +41 -0
  150. package/dist/components/custom/fourier-field/composables/useFourierField.d.ts +42 -0
  151. package/dist/components/custom/fourier-field/constants.d.ts +64 -0
  152. package/dist/components/custom/fourier-field/index.d.ts +23 -18
  153. package/dist/components/custom/fourier-field/shaders/fourier-field.compute.wgsl.d.ts +1 -0
  154. package/dist/components/custom/fourier-field/shaders/fourier-field.glsl.d.ts +4 -0
  155. package/dist/components/custom/fourier-field/shaders/fourier-field.render.wgsl.d.ts +1 -0
  156. package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +1 -1
  157. package/dist/components/custom/goo-blob/GooBlob.vue.d.ts +13 -3
  158. package/dist/components/custom/goo-blob/composables/uniformBridgeWGPU.d.ts +24 -0
  159. package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +18 -11
  160. package/dist/components/custom/goo-blob/composables/wgpuSetup.d.ts +23 -0
  161. package/dist/components/custom/goo-blob/constants.d.ts +1 -1
  162. package/dist/components/custom/goo-blob/index.d.ts +1 -1
  163. package/dist/components/custom/goo-blob/shaders/metaball-noise.wgsl.d.ts +1 -0
  164. package/dist/components/custom/goo-blob/shaders/metaball-palette.wgsl.d.ts +1 -0
  165. package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -1
  166. package/dist/components/custom/goo-blob/shaders/metaball.wgsl.d.ts +1 -0
  167. package/dist/components/custom/goo-blob/types.d.ts +36 -0
  168. package/dist/components/custom/goo-dot-matrix/GooDotMatrix.vue.d.ts +49 -0
  169. package/dist/components/custom/goo-dot-matrix/composables/gooDotLattice.d.ts +24 -0
  170. package/dist/components/custom/goo-dot-matrix/composables/gooDotSetup.d.ts +50 -0
  171. package/dist/components/custom/goo-dot-matrix/composables/uniformBridgeWGPU.d.ts +35 -0
  172. package/dist/components/custom/goo-dot-matrix/composables/useGooDotMatrix.d.ts +31 -0
  173. package/dist/components/custom/goo-dot-matrix/constants.d.ts +76 -0
  174. package/dist/components/custom/goo-dot-matrix/index.d.ts +5 -0
  175. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.frag.d.ts +11 -0
  176. package/dist/components/custom/goo-dot-matrix/shaders/goo-dot.wgsl.d.ts +3 -0
  177. package/dist/components/custom/handmark/HandMark.vue.d.ts +1 -1
  178. package/dist/components/custom/icon-chip/types.d.ts +11 -1
  179. package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +3 -1
  180. package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +21 -2
  181. package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +15 -0
  182. package/dist/components/custom/metric-stack/MetricStack.vue.d.ts +1 -1
  183. package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +9 -0
  184. package/dist/components/custom/pager-dots/index.d.ts +2 -0
  185. package/dist/components/custom/pager-dots/pagerWindow.d.ts +9 -0
  186. package/dist/components/custom/paper-grid/PaperGrid.vue.d.ts +42 -0
  187. package/dist/components/custom/paper-grid/composables/paperGrid.d.ts +90 -0
  188. package/dist/components/custom/paper-grid/composables/paperGridGLSetup.d.ts +16 -0
  189. package/dist/components/custom/paper-grid/composables/paperGridWGPUSetup.d.ts +19 -0
  190. package/dist/components/custom/paper-grid/composables/uniformBridgeWGPU.d.ts +16 -0
  191. package/dist/components/custom/paper-grid/composables/usePaperGrid.d.ts +31 -0
  192. package/dist/components/custom/paper-grid/constants.d.ts +57 -0
  193. package/dist/components/custom/paper-grid/index.d.ts +5 -0
  194. package/dist/components/custom/paper-grid/shaders/paper-grid.glsl.d.ts +4 -0
  195. package/dist/components/custom/paper-grid/shaders/paper-grid.wgsl.d.ts +1 -0
  196. package/dist/components/custom/search/FuzzySearch.vue.d.ts +8 -2
  197. package/dist/components/custom/search/SearchBar.vue.d.ts +8 -0
  198. package/dist/components/custom/search/index.d.ts +2 -0
  199. package/dist/components/custom/search/searchVariants.d.ts +19 -0
  200. package/dist/components/custom/selectable-chip/SelectableChip.vue.d.ts +50 -0
  201. package/dist/components/custom/selectable-chip/index.d.ts +2 -0
  202. package/dist/components/custom/selectable-chip/selectableChipVariants.d.ts +23 -0
  203. package/dist/components/custom/spa-view/SpaView.vue.d.ts +50 -0
  204. package/dist/components/custom/spa-view/index.d.ts +2 -0
  205. package/dist/components/custom/split-chars/SplitChars.vue.d.ts +39 -0
  206. package/dist/components/custom/split-chars/index.d.ts +1 -0
  207. package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +12 -0
  208. package/dist/components/custom/tabs/composables/useTabDragMorph.d.ts +42 -0
  209. package/dist/components/custom/tabs/constants.d.ts +20 -2
  210. package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +30 -17
  211. package/dist/components/custom/watercolor-dot/useWatercolorBlob.d.ts +10 -5
  212. package/dist/components/ui/_shared/index.d.ts +2 -0
  213. package/dist/components/ui/_shared/menuItemVariants.d.ts +1 -1
  214. package/dist/components/ui/_shared/useControlSize.d.ts +46 -0
  215. package/dist/components/ui/badge/index.d.ts +1 -1
  216. package/dist/components/ui/button/Button.vue.d.ts +5 -2
  217. package/dist/components/ui/button/index.d.ts +2 -2
  218. package/dist/components/ui/card/Card.vue.d.ts +79 -4
  219. package/dist/components/ui/card/CardHeader.vue.d.ts +42 -16
  220. package/dist/components/ui/card/ScrollCard.vue.d.ts +33 -0
  221. package/dist/components/ui/card/ScrollCardHeader.vue.d.ts +17 -0
  222. package/dist/components/ui/card/index.d.ts +3 -1
  223. package/dist/components/ui/carousel/CarouselNext.vue.d.ts +2 -2
  224. package/dist/components/ui/carousel/CarouselPrevious.vue.d.ts +2 -2
  225. package/dist/components/ui/carousel/GlassCarouselPager.vue.d.ts +2 -2
  226. package/dist/components/ui/command/Command.vue.d.ts +1 -1
  227. package/dist/components/ui/command/CommandDialog.vue.d.ts +9 -3
  228. package/dist/components/ui/command/CommandList.vue.d.ts +3 -0
  229. package/dist/components/ui/context-menu/ContextMenuContent.vue.d.ts +5 -1
  230. package/dist/components/ui/drawer/Drawer.vue.d.ts +46 -33
  231. package/dist/components/ui/drawer/DrawerContent.vue.d.ts +7 -8
  232. package/dist/components/ui/drawer/DrawerDescription.vue.d.ts +2 -2
  233. package/dist/components/ui/drawer/DrawerOverlay.vue.d.ts +1 -1
  234. package/dist/components/ui/drawer/DrawerTitle.vue.d.ts +2 -2
  235. package/dist/components/ui/drawer/composables/drawerSnapContext.d.ts +26 -0
  236. package/dist/components/ui/drawer/composables/useDrawerSnap.d.ts +17 -0
  237. package/dist/components/ui/drawer/constants.d.ts +45 -0
  238. package/dist/components/ui/drawer/index.d.ts +23 -15
  239. package/dist/components/ui/dropdown-menu/DropdownMenuContent.vue.d.ts +4 -0
  240. package/dist/components/ui/focus-scope/FocusScope.vue.d.ts +20 -0
  241. package/dist/components/ui/focus-scope/index.d.ts +2 -0
  242. package/dist/components/ui/hover-card/HoverCardContent.vue.d.ts +3 -0
  243. package/dist/components/ui/index.d.ts +1 -0
  244. package/dist/components/ui/input/Input.vue.d.ts +3 -0
  245. package/dist/components/ui/number-field/NumberFieldInput.vue.d.ts +6 -1
  246. package/dist/components/ui/progress/ProgressDefault.vue.d.ts +3 -2
  247. package/dist/components/ui/select/SelectContent.vue.d.ts +4 -1
  248. package/dist/components/ui/sheet/index.d.ts +1 -1
  249. package/dist/components/ui/switch/Switch.vue.d.ts +2 -0
  250. package/dist/components/ui/tags-input/TagsInput.vue.d.ts +2 -2
  251. package/dist/components/ui/textarea/Textarea.vue.d.ts +3 -0
  252. package/dist/components/ui/toast/Toast.vue.d.ts +5 -2
  253. package/dist/components/ui/toast/use-toast.d.ts +14 -0
  254. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  255. package/dist/components/ui/tooltip/TooltipContent.vue.d.ts +3 -0
  256. package/dist/composables/color/index.d.ts +2 -0
  257. package/dist/composables/color/useAccentTone.d.ts +34 -0
  258. package/dist/composables/glass/canvas2d/useCanvas2D.d.ts +13 -6
  259. package/dist/composables/glass/index.d.ts +5 -2
  260. package/dist/composables/glass/useSpecularPointer.d.ts +33 -0
  261. package/dist/composables/glass/useSpecularTracking.d.ts +20 -0
  262. package/dist/composables/glass/useVizChoreography.d.ts +123 -0
  263. package/dist/composables/glass/vSpecular.d.ts +2 -0
  264. package/dist/composables/glass/webgl/createCanvasLifecycle.d.ts +10 -0
  265. package/dist/composables/glass/webgl/shaders/flow.glsl.d.ts +1 -0
  266. package/dist/composables/glass/webgl/shaders/flow.wgsl.d.ts +1 -0
  267. package/dist/composables/glass/webgl/useWebGLCanvas.d.ts +16 -0
  268. package/dist/composables/glass/webgpu/index.d.ts +2 -0
  269. package/dist/composables/glass/webgpu/useGpuSubstrate.d.ts +75 -0
  270. package/dist/composables/glass/webgpu/useWebGPUCanvas.d.ts +85 -0
  271. package/dist/composables/glass/webgpu/webgpuDevice.d.ts +42 -0
  272. package/dist/composables/motion/core/index.d.ts +4 -0
  273. package/dist/composables/motion/index.d.ts +4 -0
  274. package/dist/composables/motion/scrollReader.d.ts +25 -0
  275. package/dist/composables/motion/springPresets.d.ts +20 -1
  276. package/dist/composables/motion/useCharStagger.d.ts +44 -0
  277. package/dist/composables/motion/useDockCtaReceive.d.ts +84 -0
  278. package/dist/composables/motion/useDragMorph.d.ts +77 -0
  279. package/dist/composables/motion/useLiquidFlex.d.ts +11 -0
  280. package/dist/composables/motion/useLiquidPress.d.ts +71 -0
  281. package/dist/composables/motion/useLiquidReveal.d.ts +51 -0
  282. package/dist/composables/motion/useNumericTransition.d.ts +3 -3
  283. package/dist/composables/motion/usePointerVelocityField.d.ts +98 -0
  284. package/dist/composables/motion/useScrollChrome.d.ts +58 -0
  285. package/dist/composables/motion/useScrollTrigger.d.ts +67 -0
  286. package/dist/composables/motion/useSpringPress.d.ts +5 -5
  287. package/dist/composables/motion/useStaggerReveal.d.ts +24 -0
  288. package/dist/composables/sidebar/index.d.ts +4 -1
  289. package/dist/composables/sidebar/types.d.ts +68 -3
  290. package/dist/composables/sidebar/useClickDelegate.d.ts +4 -0
  291. package/dist/composables/sidebar/useLazyLoader.d.ts +5 -0
  292. package/dist/composables/sidebar/useScrollTo.d.ts +5 -0
  293. package/dist/composables/virtual/index.d.ts +4 -0
  294. package/dist/composables/virtual/useVirtualSectionWindow.d.ts +72 -0
  295. package/dist/composables/virtual/useWindowedStore.d.ts +43 -0
  296. package/dist/composables/virtual/virtualSectionLayout.d.ts +103 -0
  297. package/dist/concentric.d.ts +1 -0
  298. package/dist/concentric.js +836 -0
  299. package/dist/configurator.js +3 -2
  300. package/dist/confirm-dialog.js +62 -49
  301. package/dist/constellation.js +635 -235
  302. package/dist/context-menu.js +3 -3
  303. package/dist/controls.js +2 -2
  304. package/dist/createCanvasLifecycle-Gh45Ce-p.js +93 -0
  305. package/dist/dark.js +1 -1
  306. package/dist/data-table.js +1 -1
  307. package/dist/deck.d.ts +1 -0
  308. package/dist/deck.js +105 -0
  309. package/dist/dialog.js +4 -3
  310. package/dist/dock.js +819 -568
  311. package/dist/{dockContext-Bu1Avy-a.js → dockContext-BNfyPLe9.js} +1 -1
  312. package/dist/dom.js +5 -5
  313. package/dist/dot-flow-field.d.ts +1 -0
  314. package/dist/dot-flow-field.js +894 -0
  315. package/dist/dot-matrix.d.ts +1 -0
  316. package/dist/dot-matrix.js +630 -0
  317. package/dist/dotMatrixField-D_x9_1qq.js +48 -0
  318. package/dist/drawer.d.ts +1 -0
  319. package/dist/drawer.js +380 -0
  320. package/dist/{dropdown-menu-BJ7E9js_.js → dropdown-menu-aJmV5SqE.js} +82 -79
  321. package/dist/dropdown-menu.js +1 -1
  322. package/dist/easing.d.ts +1 -0
  323. package/dist/easing.js +475 -0
  324. package/dist/expandable-container.js +46 -21
  325. package/dist/fading-scroll.js +1 -1
  326. package/dist/flow.glsl-B2P7e0MT.js +4 -0
  327. package/dist/focus-scope.d.ts +1 -0
  328. package/dist/focus-scope.js +23 -0
  329. package/dist/forms.js +65 -63
  330. package/dist/fourier-field.js +831 -172
  331. package/dist/fourier-math.js +1 -1
  332. package/dist/glass-panel.js +2 -2
  333. package/dist/glass-ui.css +1 -1
  334. package/dist/glass-ui.js +187 -338
  335. package/dist/goo-blob.js +241 -692
  336. package/dist/goo-dot-matrix.d.ts +1 -0
  337. package/dist/goo-dot-matrix.js +591 -0
  338. package/dist/handmark.js +2 -2
  339. package/dist/header-ribbon.js +1 -1
  340. package/dist/hover-card.js +1 -1
  341. package/dist/hover-popover.js +1 -1
  342. package/dist/icon-chip.js +1 -1
  343. package/dist/icon-tooltip.js +1 -1
  344. package/dist/index.d.ts +3 -1
  345. package/dist/instrument-chassis.js +1 -1
  346. package/dist/keyboard.js +1 -1
  347. package/dist/label.js +1 -1
  348. package/dist/labeled-field.js +70 -60
  349. package/dist/metric-badge.js +1 -1
  350. package/dist/metric-cell.js +1 -1
  351. package/dist/metric-stack.js +14 -9
  352. package/dist/motion-core.js +58 -36
  353. package/dist/motion-curves.js +11 -1
  354. package/dist/motion.js +90 -53
  355. package/dist/notification.js +1 -1
  356. package/dist/number-field.js +1 -1
  357. package/dist/pager-dots.js +2 -91
  358. package/dist/paper-backdrop.js +1 -1
  359. package/dist/paper-grid.d.ts +1 -0
  360. package/dist/paper-grid.js +788 -0
  361. package/dist/popover.js +1 -1
  362. package/dist/{presets-BW2b-fr1.js → presets-CvOUqtdY.js} +3 -3
  363. package/dist/{compile-EXXzEr1q.js → procedural-color.wgsl-m7Zgv35j.js} +2 -156
  364. package/dist/progress.js +1 -1
  365. package/dist/pulse.js +2 -2
  366. package/dist/reactive.js +1 -1
  367. package/dist/resolveCanvasColor-yPyIpJt9.js +93 -0
  368. package/dist/scrollReader-DI1NWxUw.js +42 -0
  369. package/dist/scrolling-text.js +1 -1
  370. package/dist/search.js +162 -308
  371. package/dist/select.js +3 -3
  372. package/dist/selectable-chip.d.ts +1 -0
  373. package/dist/selectable-chip.js +65 -0
  374. package/dist/separator.js +1 -1
  375. package/dist/{sheet-CquRYOAw.js → sheet-B2flBfLH.js} +5 -5
  376. package/dist/sheet.js +1 -1
  377. package/dist/sidebar.js +216 -114
  378. package/dist/{slider-DQ95MET2.js → slider-2A0rPn79.js} +3 -3
  379. package/dist/slider.js +1 -1
  380. package/dist/sortable-list.js +2 -2
  381. package/dist/spa-view.d.ts +1 -0
  382. package/dist/spa-view.js +46 -0
  383. package/dist/spectrum-walk-BVzA7Biz.js +33 -0
  384. package/dist/{springPresets-WXaLbu8u.js → springPresets-Ce7OYCm9.js} +12 -6
  385. package/dist/styles/animations.css +46 -12
  386. package/dist/styles/border-progress.css +109 -0
  387. package/dist/styles/cards.css +145 -0
  388. package/dist/styles/completion-seal.css +131 -0
  389. package/dist/styles/components.css +2 -3
  390. package/dist/styles/configurator.css +55 -0
  391. package/dist/styles/critical-partition.mjs +162 -0
  392. package/dist/styles/critical.css +12 -0
  393. package/dist/styles/deferred.css +33 -0
  394. package/dist/styles/dock/cta-seat.css +87 -0
  395. package/dist/styles/dock/density.css +198 -0
  396. package/dist/styles/dock/layers.css +101 -29
  397. package/dist/styles/dock/morph-bridge.css +54 -18
  398. package/dist/styles/dock/morph.css +132 -7
  399. package/dist/styles/dock/overflow.css +28 -2
  400. package/dist/styles/dock/search.css +68 -0
  401. package/dist/styles/dock/shape.css +124 -0
  402. package/dist/styles/dock/shell.css +77 -21
  403. package/dist/styles/dock/stack-rail.css +264 -0
  404. package/dist/styles/dock-controls/dark-mode-toggle.css +17 -4
  405. package/dist/styles/dock-controls/icon-button.css +14 -0
  406. package/dist/styles/dock.css +43 -1
  407. package/dist/styles/drawer.css +81 -35
  408. package/dist/styles/glass/accent-tone.css +66 -0
  409. package/dist/styles/glass/control-surfaces.css +167 -0
  410. package/dist/styles/glass/deep.css +44 -0
  411. package/dist/styles/glass/ladder.css +147 -41
  412. package/dist/styles/glass/material.css +78 -15
  413. package/dist/styles/glass/reveal.css +136 -0
  414. package/dist/styles/glass/rim.css +110 -0
  415. package/dist/styles/glass/surfaces.css +148 -129
  416. package/dist/styles/glass-refract.css +96 -44
  417. package/dist/styles/glass-specular-track.css +7 -0
  418. package/dist/styles/glass.css +13 -0
  419. package/dist/styles/hover-popover.css +7 -6
  420. package/dist/styles/icon-chip.css +77 -15
  421. package/dist/styles/index.css +36 -9
  422. package/dist/styles/instrument-chassis.css +66 -3
  423. package/dist/styles/scroll-choreography.css +300 -0
  424. package/dist/styles/scroll-chrome.css +123 -0
  425. package/dist/styles/scroll-driven.css +38 -0
  426. package/dist/styles/segmented-tabs.css +81 -14
  427. package/dist/styles/theme/bridges.css +33 -0
  428. package/dist/styles/theme/literals.css +11 -2
  429. package/dist/styles/theme/radius.css +24 -2
  430. package/dist/styles/tokens/color-radius.css +13 -3
  431. package/dist/styles/tokens/dark-arm.css +137 -32
  432. package/dist/styles/tokens/glass-deep.css +100 -0
  433. package/dist/styles/tokens/glass-fx.css +376 -0
  434. package/dist/styles/tokens/glass.css +131 -351
  435. package/dist/styles/tokens/light-dark.css +16 -3
  436. package/dist/styles/tokens/offsets.css +143 -0
  437. package/dist/styles/tokens/on-glass-fg.css +39 -0
  438. package/dist/styles/tokens/property-regs.css +260 -0
  439. package/dist/styles/tokens/scale-paper.css +168 -96
  440. package/dist/styles/tokens/scheme-motion.css +114 -38
  441. package/dist/styles/tokens/scroll-tokens.css +123 -0
  442. package/dist/styles/tokens/sizing-config.css +110 -0
  443. package/{src/styles/tokens/offsets-sizing.css → dist/styles/tokens/sizing.css} +92 -204
  444. package/dist/styles/tokens.css +14 -3
  445. package/dist/styles/typography/semantic.css +26 -13
  446. package/dist/styles/typography/utilities.css +22 -7
  447. package/dist/styles/utilities/a11y-overrides.css +20 -5
  448. package/dist/styles/utilities/animate.css +27 -24
  449. package/dist/styles/utilities/base-misc.css +307 -0
  450. package/dist/styles/utilities/base.css +47 -261
  451. package/dist/styles/utilities/btn.css +17 -4
  452. package/dist/styles/utilities/components.css +31 -6
  453. package/dist/styles/utilities/metal.css +215 -0
  454. package/dist/styles/utilities.css +14 -7
  455. package/dist/switch.js +1 -1
  456. package/dist/tabs.js +220 -107
  457. package/dist/timeline.js +2 -2
  458. package/dist/toast.js +1 -1
  459. package/dist/toggle-chip.js +10 -10
  460. package/dist/toggle-group.js +1 -1
  461. package/dist/tooltip.js +1 -1
  462. package/dist/typewriter.js +2 -2
  463. package/dist/uniformBridgeWGPU-CtAKl45L.js +1204 -0
  464. package/dist/{useAnimatedNumber-C_3wZLx4.js → useAnimatedNumber-CLrxicG9.js} +1 -1
  465. package/dist/useConfiguratorState-4xblKfwd.js +162 -0
  466. package/dist/useControlSize-SH1UmJCi.js +9 -0
  467. package/dist/useDockCtaReceive-DfFkmgL1.js +82 -0
  468. package/dist/useDragMorph-BUgAC-zK.js +102 -0
  469. package/dist/useFuzzySearch-DIhcYtcw.js +177 -0
  470. package/dist/useGpuSubstrate-4pTcp6mX.js +294 -0
  471. package/dist/useLiquidPress-BooG97RY.js +39 -0
  472. package/dist/usePointerVelocityField-QLsy3_kv.js +91 -0
  473. package/dist/useScrollChrome-D66AVP7C.js +258 -0
  474. package/dist/useSpring-C0jyvEJB.js +40 -0
  475. package/dist/useSpringMount-BWDnKIwh.js +71 -0
  476. package/dist/useSpringPress-B1-Czp-V.js +36 -0
  477. package/dist/{useTouchGate-28Tk2-t2.js → useTouchGate-CBZTD4SD.js} +1 -1
  478. package/dist/useViewTransition-CUI1nAgn.js +95 -0
  479. package/dist/vSpecular-EX7loENl.js +68 -0
  480. package/dist/vendor-B2qOlYY3.js +239 -0
  481. package/dist/virtual.d.ts +1 -0
  482. package/dist/virtual.js +225 -0
  483. package/dist/watercolor-dot.js +117 -74
  484. package/package.json +252 -28
  485. package/src/styles/animations.css +46 -12
  486. package/src/styles/border-progress.css +109 -0
  487. package/src/styles/cards.css +145 -0
  488. package/src/styles/completion-seal.css +131 -0
  489. package/src/styles/configurator.css +55 -0
  490. package/src/styles/critical-partition.mjs +162 -0
  491. package/src/styles/dock/cta-seat.css +87 -0
  492. package/src/styles/dock/density.css +198 -0
  493. package/src/styles/dock/layers.css +101 -29
  494. package/src/styles/dock/morph-bridge.css +54 -18
  495. package/src/styles/dock/morph.css +132 -7
  496. package/src/styles/dock/overflow.css +28 -2
  497. package/src/styles/dock/search.css +68 -0
  498. package/src/styles/dock/shape.css +124 -0
  499. package/src/styles/dock/shell.css +77 -21
  500. package/src/styles/dock/stack-rail.css +264 -0
  501. package/src/styles/dock-controls/dark-mode-toggle.css +17 -4
  502. package/src/styles/dock-controls/icon-button.css +14 -0
  503. package/src/styles/dock.css +43 -1
  504. package/src/styles/drawer.css +81 -35
  505. package/src/styles/glass/accent-tone.css +66 -0
  506. package/src/styles/glass/control-surfaces.css +167 -0
  507. package/src/styles/glass/deep.css +44 -0
  508. package/src/styles/glass/ladder.css +147 -41
  509. package/src/styles/glass/material.css +78 -15
  510. package/src/styles/glass/reveal.css +136 -0
  511. package/src/styles/glass/rim.css +110 -0
  512. package/src/styles/glass/surfaces.css +148 -129
  513. package/src/styles/glass-refract.css +96 -44
  514. package/src/styles/glass-specular-track.css +7 -0
  515. package/src/styles/glass.css +13 -0
  516. package/src/styles/hover-popover.css +7 -6
  517. package/src/styles/icon-chip.css +77 -15
  518. package/src/styles/index.css +27 -0
  519. package/src/styles/instrument-chassis.css +66 -3
  520. package/src/styles/scroll-choreography.css +300 -0
  521. package/src/styles/scroll-chrome.css +123 -0
  522. package/src/styles/scroll-driven.css +38 -0
  523. package/src/styles/segmented-tabs.css +81 -14
  524. package/src/styles/theme/bridges.css +33 -0
  525. package/src/styles/theme/literals.css +11 -2
  526. package/src/styles/theme/radius.css +24 -2
  527. package/src/styles/tokens/color-radius.css +13 -3
  528. package/src/styles/tokens/dark-arm.css +137 -32
  529. package/src/styles/tokens/glass-deep.css +100 -0
  530. package/src/styles/tokens/glass-fx.css +376 -0
  531. package/src/styles/tokens/glass.css +131 -351
  532. package/src/styles/tokens/light-dark.css +16 -3
  533. package/src/styles/tokens/offsets.css +143 -0
  534. package/src/styles/tokens/on-glass-fg.css +39 -0
  535. package/src/styles/tokens/property-regs.css +260 -0
  536. package/src/styles/tokens/scale-paper.css +168 -96
  537. package/src/styles/tokens/scheme-motion.css +114 -38
  538. package/src/styles/tokens/scroll-tokens.css +123 -0
  539. package/src/styles/tokens/sizing-config.css +110 -0
  540. package/{dist/styles/tokens/offsets-sizing.css → src/styles/tokens/sizing.css} +92 -204
  541. package/src/styles/tokens.css +14 -3
  542. package/src/styles/typography/semantic.css +26 -13
  543. package/src/styles/typography/utilities.css +22 -7
  544. package/src/styles/utilities/a11y-overrides.css +20 -5
  545. package/src/styles/utilities/animate.css +27 -24
  546. package/src/styles/utilities/base-misc.css +307 -0
  547. package/src/styles/utilities/base.css +47 -261
  548. package/src/styles/utilities/btn.css +17 -4
  549. package/src/styles/utilities/components.css +31 -6
  550. package/src/styles/utilities/metal.css +215 -0
  551. package/src/styles/utilities.css +14 -7
  552. package/dist/CardAction-XH4YBVEK.js +0 -158
  553. package/dist/ContextMenuContent-ON3x7cuk.js +0 -85
  554. package/dist/DialogFooter-8eZbdmPc.js +0 -165
  555. package/dist/HoverCardContent-DkMaQzH5.js +0 -83
  556. package/dist/Input-DVG_J0ne.js +0 -55
  557. package/dist/Notification-DKjKsQq8.js +0 -100
  558. package/dist/NumberFieldContent-1VtwDSgf.js +0 -145
  559. package/dist/Separator-BArl4OaB.js +0 -37
  560. package/dist/Switch-Dr--uLGH.js +0 -47
  561. package/dist/Toaster-Bm_HQSpc.js +0 -263
  562. package/dist/ToggleGroupItem-Dzk9hWsF.js +0 -157
  563. package/dist/TooltipProvider-B3MkB_8P.js +0 -104
  564. package/dist/button-BNDWhAZb.js +0 -81
  565. package/dist/check-njhk-vfu.js +0 -7
  566. package/dist/chevron-down-DKkxb4VV.js +0 -7
  567. package/dist/chevron-right-CPXbqQQz.js +0 -7
  568. package/dist/chevron-up-n_24SqI-.js +0 -7
  569. package/dist/color-DweYl7pE.js +0 -86
  570. package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +0 -35
  571. package/dist/components/custom/constellation/constellationDraw.d.ts +0 -30
  572. package/dist/components/custom/dock/DockRail.vue.d.ts +0 -89
  573. package/dist/createLucideIcon-DydS2qgk.js +0 -43
  574. package/dist/minimize-2-BV31Ob_h.js +0 -38
  575. package/dist/resolveCanvasColor-BBiYfp8g.js +0 -11
  576. package/dist/search-BSGrf2Sk.js +0 -12
  577. package/dist/styles/dock/rail-extend.css +0 -397
  578. package/dist/useCanvas2D-ClrQuZtp.js +0 -96
  579. package/dist/useConfiguratorState-kiIlun8I.js +0 -303
  580. package/dist/useRAFLoop-CdwJ7284.js +0 -109
  581. package/dist/useSpecularTracking-Bo5su68i.js +0 -32
  582. package/dist/useSpringMount-CvopqiFr.js +0 -108
  583. package/dist/useViewTransition-COsPjQVZ.js +0 -47
  584. package/dist/x-BUwTKe50.js +0 -10
  585. package/src/styles/dock/rail-extend.css +0 -397
  586. /package/dist/{CollapsibleContent-C_s6fG7r.js → CollapsibleContent-68dEXIAl.js} +0 -0
  587. /package/dist/{InstrumentChassis-UUJX0-mW.js → InstrumentChassis-CxsHSyMj.js} +0 -0
  588. /package/dist/{Label-Ck9SWEKM.js → Label-C2ejNWeC.js} +0 -0
  589. /package/dist/{ModalOverlay-CkPRRgl_.js → ModalOverlay-D1VrWyoi.js} +0 -0
  590. /package/dist/{PaperBackdrop-nBKe0vkB.js → PaperBackdrop-CqwjnfLv.js} +0 -0
  591. /package/dist/{SelectGroup-Dcczq44n.js → SelectGroup-BFiod7X2.js} +0 -0
  592. /package/dist/{_plugin-vue_export-helper-CBt_VvXa.js → _plugin-vue_export-helper-C1je1s0u.js} +0 -0
  593. /package/dist/{badge-UILT_3pZ.js → badge-D9XWW4GT.js} +0 -0
  594. /package/dist/{constants-BPOqYJAm.js → constants--C2DkLW8.js} +0 -0
  595. /package/dist/{createContext-B2RaZ-b8.js → createContext-CpBNTRMI.js} +0 -0
  596. /package/dist/{math-DeuJwLFx.js → math-Eb0w3LqU.js} +0 -0
  597. /package/dist/{menuItemVariants-DWRQXBxJ.js → menuItemVariants-D8VNHq22.js} +0 -0
  598. /package/dist/{prng-Cg22zv8g.js → prng-B-d9eYX8.js} +0 -0
  599. /package/dist/{useGlobalDark-C28t0VWJ.js → useGlobalDark-CmjB9E32.js} +0 -0
  600. /package/dist/{useIntersectionPause-Bj4sPkMh.js → useIntersectionPause-Dbozzjgm.js} +0 -0
  601. /package/dist/{useKeyboardShortcuts-BXWXOZ-9.js → useKeyboardShortcuts-BPRp33Im.js} +0 -0
  602. /package/dist/{useLiquidFlex-C12hXwOZ.js → useLiquidFlex-UmA6LMZu.js} +0 -0
  603. /package/dist/{useResizeObserver-V6nq5gJb.js → useResizeObserver-Bpoi7tRE.js} +0 -0
  604. /package/dist/{useResolveTokenColor-NUG2zYAW.js → useResolveTokenColor-vAylyR0x.js} +0 -0
  605. /package/dist/{useScrollProgress-D7bYU2RK.js → useScrollProgress-c3yxmH6a.js} +0 -0
  606. /package/dist/{useSurfaceAxis-CMnF2zHb.js → useSurfaceAxis-g0NloYEF.js} +0 -0
  607. /package/dist/{useTimer-B_PAasDL.js → useTimer-BHJOKr35.js} +0 -0
  608. /package/dist/{useUserInvalidAria-CDfJuakL.js → useUserInvalidAria-y5namzeE.js} +0 -0
  609. /package/dist/{useViewportReady-CvBcCYDf.js → useViewportReady-anbac3m6.js} +0 -0
@@ -47,6 +47,9 @@
47
47
 
48
48
  /* Letter spacing → tracking-* utilities */
49
49
  --tracking-tight: var(--type-tracking-tight);
50
+ /* BB.W-DISPLAY-TRACKING — the display-ONLY Apple −1.5% tracking rung bridged
51
+ to the `tracking-display` utility (the token-first consumer affordance). */
52
+ --tracking-display: var(--type-tracking-display);
50
53
  --tracking-snug: var(--type-tracking-snug);
51
54
  --tracking-normal: var(--type-tracking-normal);
52
55
  --tracking-wide: var(--type-tracking-wide);
@@ -219,6 +222,14 @@
219
222
  --color-silver-dark: var(--silver-dark);
220
223
  --color-silver-deep: var(--silver-deep);
221
224
 
225
+ /* BB.W-METAL-SHIMMER — the bronze brand metal (the third member of the
226
+ gold·silver·bronze triad; the @theme namespace bridge so a `text-bronze`/
227
+ `bg-bronze` utility resolves through, mirroring gold/silver). */
228
+ --color-bronze: var(--bronze);
229
+ --color-bronze-light: var(--bronze-light);
230
+ --color-bronze-dark: var(--bronze-dark);
231
+ --color-bronze-deep: var(--bronze-deep);
232
+
222
233
  --color-rainbow-red: var(--rainbow-red);
223
234
  --color-rainbow-orange: var(--rainbow-orange);
224
235
  --color-rainbow-yellow: var(--rainbow-yellow);
@@ -304,6 +315,14 @@
304
315
  --shadow-cartoon-md: var(--cartoon-shadow-md);
305
316
  --shadow-cartoon-lg: var(--cartoon-shadow-lg);
306
317
 
318
+ /* BC.W-CONTROL-SMOOTH — the warm focus-ring box-shadow bridged to the
319
+ `shadow-focus-ring` utility (AW.W26 --focus-ring-shadow register). The
320
+ `.focus-ring` utility auto-arms on :focus-visible; this bridge lets a
321
+ surface compose the SAME warm ring on a NON-:focus-visible state (the
322
+ TagsInputItem reka roving-tabindex `data-[state=active]` selection) via the
323
+ @theme utility, not a `shadow-[var(--focus-ring-shadow)]` arbitrary wrap. */
324
+ --shadow-focus-ring: var(--focus-ring-shadow);
325
+
307
326
  /* ═══════════════════════════════════════════════
308
327
  Blur → blur-* and backdrop-blur-* utilities
309
328
  ═══════════════════════════════════════════════ */
@@ -321,6 +340,15 @@
321
340
  --ease-spring-snappy: var(--spring-snappy);
322
341
  --ease-spring-bouncy: var(--spring-bouncy);
323
342
  --ease-spring-gentle: var(--spring-gentle);
343
+ /* BC.W-SPRING-EASE — the minted iOS interactive press register's @theme alias
344
+ (the documented public register the consumers reach by name; the JS path
345
+ reads it via useSpringPress + --glass-btn-press-t). */
346
+ --ease-spring-press: var(--spring-press);
347
+ /* BC.W-DECK — the deck slide-transition spring's @theme alias (the documented
348
+ public register a consumer's slide `transition-timing-function` reaches by
349
+ name: `ease-spring-deck`). --spring-deck aliases --spring-smooth; the headless
350
+ library mints the register, the deck consumer reads it (presets-in-consumers). */
351
+ --ease-spring-deck: var(--spring-deck);
324
352
 
325
353
  --ease-standard: var(--motion-ease-standard);
326
354
  --ease-out: var(--motion-ease-out);
@@ -341,6 +369,11 @@
341
369
  --transition-duration-panel: var(--duration-panel);
342
370
  --transition-duration-xl: var(--duration-xl);
343
371
  --transition-duration-xxl: var(--duration-xxl);
372
+ /* BC.W-CONTROL-SMOOTH — the named iOS control-press surface beat (0.12s, the
373
+ calm bg/color/box-shadow cross-fade clock the `.control-surface`/Toggle
374
+ family rides). Bridged to the `duration-control` utility so a control
375
+ composes the named clock, not a `duration-[var(--duration-control)]` wrap. */
376
+ --transition-duration-control: var(--duration-control);
344
377
  /* BA.W-GLASS-CAL — `--transition-duration-sparkle` bridge DELETED with the
345
378
  `--duration-sparkle` token (the disco retirement); no `duration-sparkle`
346
379
  utility consumer. */
@@ -30,10 +30,19 @@
30
30
  band-pass vs one-pass sweep) want different tempos. The pre-V audit
31
31
  (C-c §5.3) flagged this as a "naming inversion"; it is intentional —
32
32
  documented here so the offset is searchable. The orphan
33
- `--duration-shimmer-slow` (8s) was excised in V.W2 T5. */
33
+ `--duration-shimmer-slow` (8s) was excised in V.W2 T5.
34
+
35
+ BB.W-METAL-SHIMMER — `--animate-gold-shimmer` re-points onto the metal-
36
+ PARAMETERIZED `metal-shimmer-sweep` keyframe (the gold-only
37
+ `gold-shimmer-slide` RETIRED — clean break, no alias); the duration/tempo
38
+ are byte-preserved (the gold READ unchanged). `--animate-metal` is the
39
+ brand-metal family's own row on the slow `--duration-metal` (6s) clock — the
40
+ `.metal-{gold,silver,bronze}`/`.metal-*-border`/`.metal-rainbow-rim`
41
+ utilities read it (utilities/metal.css). */
34
42
  --animate-shimmer: shimmer var(--duration-shimmer-fast) linear infinite;
35
43
  --animate-shimmer-sweep: shimmer-sweep var(--duration-shimmer) ease-in-out infinite;
36
- --animate-gold-shimmer: gold-shimmer-slide var(--duration-shimmer) linear infinite;
44
+ --animate-gold-shimmer: metal-shimmer-sweep var(--duration-shimmer) linear infinite;
45
+ --animate-metal: metal-shimmer-sweep var(--duration-metal) linear infinite;
37
46
  --animate-shake: shake 0.5s ease-in-out;
38
47
 
39
48
  /* ═══════════════════════════════════════════════
@@ -42,9 +42,26 @@
42
42
  on Checkbox + base Tabs onto a softer, named radius. One geometry language
43
43
  across the form family — token + class only, no new primitive. */
44
44
  --radius-field: var(--radius-2xl);
45
- --radius-control: var(--radius-md);
45
+ /* BC.W-CONTROL-SMOOTH — the small-inline-control corner rung is a STADIUM, not a
46
+ fixed small px. The prior `--radius-md` (6px) read SQUARE on a 16-24px control
47
+ (6px on a 16px box = 0.38-of-height — a rounded-rect, not a pill); the iOS-27
48
+ small-control silhouette is a near-stadium pill where the radius SCALES with the
49
+ control (clamped to half-height by `--radius-pill`'s 9999px geometry, so a 16px
50
+ control reads an 8px-radius pill — soft at every size). This retires the raw
51
+ `rounded-sm` (4px) on Checkbox + base Tabs AND the small-control square class in
52
+ ONE rung. The `card` toggle TILE keeps `--radius-card` (the large glass surface
53
+ keeps its 1rem squircle — only the small inline controls re-round). The corner-
54
+ SHAPE squircle axis reads at LARGE radius only (ROUND set = card+pill for small),
55
+ so the small pills stay ROUND (no regression). */
56
+ --radius-control: var(--radius-pill);
46
57
  --radius-badge: var(--radius-pill);
47
58
  --radius-dock: var(--radius-pill);
59
+ /* BC.W-TABS-IOS — the iOS-27 segmented-control stadium register. The pill is a
60
+ stadium by construction (--radius-pill clamps to half-height on a short box →
61
+ a true end-cap), so the tab strip stops being a squared rounded-rect. The
62
+ value.js DESIGN.md idiom: the role-bearing pill token, NOT a hand-rolled
63
+ `rounded-full`. A consumer retunes the tab geometry via `:root { --radius-tab }`. */
64
+ --radius-tab: var(--radius-pill);
48
65
  /* AW.W3b — the big-dock card shell's default (comfortable-density) radius.
49
66
  The density-scaled --dock-card-radius (dock.css) resolves through this. */
50
67
  --radius-dock-card: var(--radius-3xl);
@@ -64,7 +81,12 @@
64
81
  |x|^(2K) + |y|^(2K) = 1, so the curve exponent n = 2K. The CSS `squircle`
65
82
  keyword == `superellipse(2)` == n=4 — the iOS-idiomatic web squircle. The
66
83
  k-PRIMITIVE band (a consumer dials 1.7–2.4 to taste; W42's dock-morph calc()s
67
- its animated k against this ONE vocabulary — do not re-define a second k). */
84
+ its animated k against this ONE vocabulary — do not re-define a second k).
85
+ (BB.W-DEAD-SWEEP re-ground: --corner-k-soft / --corner-k-sharp have no
86
+ runtime var() consumer but ARE pinned by proof:squircle-language (the
87
+ TOKEN-AXIS-EXISTS clause asserts both rungs are minted) — so KEPT, not
88
+ swept; the clean-break delete is a coordination follow-up once the gate
89
+ re-anchors.) */
68
90
  --corner-k-squircle: 2; /* the squircle — superellipse(2), n=4 */
69
91
  --corner-k-soft: 1.7; /* gentler, between round and squircle — n≈3.4 */
70
92
  --corner-k-sharp: 2.4; /* crisper square-bias for large surfaces — n≈4.8 */
@@ -121,6 +121,16 @@
121
121
  `--border` (which is `var(--neutral-4)`, light-dark()-resolved). */
122
122
  --border-soft: color-mix(in srgb, var(--border) 45%, transparent);
123
123
 
124
+ /* BC.W-SEPARATOR-FIX — the warm separator hairline ink. A rule reads as
125
+ WARM material, not a grey `--border` line (BA.W-NO-GRAY floor): the
126
+ split-rule segments + un-labelled hairline both paint `--separator-ink`.
127
+ It is a `color-mix` off `--foreground` (`light-dark()`-resolved, so it
128
+ auto-darks warm in both modes — the warm-ink hairline, not `--neutral-4`
129
+ grey). 22% is a visible-but-whisper rule (crisper than `--border-soft`'s
130
+ 45%-of-grey; this one is foreground-derived so it carries the warm hue
131
+ directly). A consumer retints every separator from this single rung. */
132
+ --separator-ink: color-mix(in srgb, var(--foreground) 22%, transparent);
133
+
124
134
  /* AQ.W3 §W3.4 — tokenized scrollbar thumb + track. Minted in the color
125
135
  block so the `scrollbar-color` / `::-webkit-scrollbar-thumb` rungs read a
126
136
  single source. Auto-dark via `--muted-foreground` (light-dark()-resolved,
@@ -224,9 +234,9 @@
224
234
  keyframes.js ω₀ = 2π/response convention, mints no second ω). */
225
235
  --constellation-warp-response: 0.55; /* s — keyframes.js angular period (NOT a settle) */
226
236
  --constellation-warp-zeta: 1.0; /* critically damped — a focal mark must NOT ring */
227
- --constellation-well-gain: 14000; /* inverse-square force scale (the held-pull gain) */
237
+ --constellation-well-gain: 19000; /* inverse-square force scale (the held-pull gain). Lifted 14000→19000 (BC.W-VIZ-CONSTELLATION): the GPU substrate's high-refresh frame loop ramps the held strength to only ~0.70 within the egg-live π perturb window, so the weaker effective force (fought by the |v|→speed ease-back) fell under the gate's ≥20% perturb floor — a stronger pull restores the heat. Held-physics only; rest is byte-untouched. Mirrors DEFAULT_WELL_CONFIG.gain. */
228
238
  --constellation-well-reach: 340; /* base-width px — the well's reach (k-scaled at step) */
229
- --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) */
239
+ --constellation-well-ramp: 8.0; /* 1/s — the ARM rate. Doubled 4→8 (BC.W-VIZ-CONSTELLATION) so the strength reaches near-full power within the gate's 40-frame perturb window at the GPU substrate's high refresh (~0.12s bloom); release is the fixed brisk WELL_RELEASE_RAMP — the field-cools invariant, not consumer-tunable. Mirrors DEFAULT_WELL_CONFIG.ramp. */
230
240
  --constellation-well-max-speed: 4.0; /* base-width px/frame cap — the no-slingshot clamp */
231
241
  --constellation-well-hold-ms: 140; /* ms hold before the well arms */
232
242
  --constellation-wander-idle: 8000; /* ms — min idle between auto re-targets (the W-CON1 drift cadence) */
@@ -243,7 +253,7 @@
243
253
  --section-color-2: oklch(0.484 0.163 265.5); /* indigo */
244
254
  --section-color-3: oklch(0.542 0.089 222.8); /* teal-cyan */
245
255
  --section-color-4: oklch(0.551 0.088 171.1); /* forest */
246
- --section-color-5: oklch(0.623 0.124 69.6); /* amber */
256
+ --section-color-5: oklch(0.530 0.124 69.6); /* amber — BC.W-ACCENT-TONE #13: the safeAccentColor-derived rebaseline (HEAD 0.623 → 0.530, 3.49:1 → 5.11:1 vs the warm-cream card; the dark arm already clears 8.07:1 so it stays). --viz-amber auto-tracks; fourier's :root override deletes on adopt. */
247
257
  --section-color-6: oklch(0.579 0.201 30.4); /* tomato-red */
248
258
  --section-color-7: oklch(0.532 0.180 317.5); /* violet */
249
259
  --section-color-8: oklch(0.520 0.176 8.4); /* ruby */
@@ -57,7 +57,17 @@
57
57
  --accent{,-foreground} / --border / --input are pure var()-aliases —
58
58
  DELETED here (AQ.W2 §2a): they auto-track the --neutral-* ladder +
59
59
  --foreground above. Re-declaring them would be redundant. */
60
- --foreground: hsl(48 10% 90%);
60
+ /* BB.W-DARK-INK-WARM — the dark --foreground warmed off hsl(48 10% 90%) (OKLab H95.1°,
61
+ the EXACT yellow-green W-NO-GRAY condemned as "a cast, not warm material") onto the
62
+ no-gray warm identity hsl(30 14% 90%) (OKLab L0.926 C0.0063 H75.4° — the --foreground
63
+ 56° warm-amber family, L held within ±0.001 of HEAD, chroma off the gray floor,
64
+ chroma-only at constant L). The contrast contract holds (the dark ink over the L4 page
65
+ stays ≥ the body floor). EVERY dark var(--foreground) consumer (body copy, the lifted
66
+ muted register, --glass-tint-ink, the cartoon shadow, the configurator divider, the
67
+ dock-selected-accent, the --surface-tint-* relative-color recipe below) re-resolves
68
+ warm in lockstep, zero per-site edit. LOCKSTEP light-dark.css:92 (the §2c discipline —
69
+ both mode arms warm together or the FOUC/enhancement split paints two inks). */
70
+ --foreground: hsl(30 14% 90%);
61
71
  /* BA.W-DARK-MATERIAL scope 1 — the --card plate LIFTS L10→L16 (a warm-dark elevated
62
72
  surface, macOS-window territory) so it sits ~5× the deepened L4 page relL — a
63
73
  clearly distinct surface the five glass rungs ladder up from. LOCKSTEP light-dark.css:80. */
@@ -190,15 +200,27 @@
190
200
  --constellation-edge-floor: 0;
191
201
  --constellation-edge-accent-alpha: 0.34;
192
202
 
193
- /* Glass opacity + grain for dark — five-tier ladder, alpha-monotonic.
194
- Each rung lifts ~0.08 from its light counterpart so the dark surfaces
195
- carry comparable read-weight against the deeper canvas. */
203
+ /* Glass opacity + grain for dark — the per-tier canonical alpha, DARK arm
204
+ (BB.W-CARD-TIER-ALPHA). The SAME named `--glass-opacity-{tier}` register as
205
+ the light arm (tokens/glass.css), per-mode — the dark identity. Five-tier
206
+ ladder, alpha-monotonic; each rung lifts ~0.08 from its light counterpart so
207
+ the dark surfaces carry comparable read-weight against the deeper canvas. A
208
+ consumer reads these named tokens; a divergent register stays a consumer preset.
209
+ Machine-locked by `proof:card-tier-alpha` (the dark-arm-present + monotonic +
210
+ lift-over-light asserts). */
196
211
  --glass-opacity-wash: 0.38;
197
212
  --glass-opacity-quiet: 0.58;
198
213
  --glass-opacity-resting: 0.72;
199
214
  --glass-opacity-floating: 0.88;
200
215
  --glass-opacity-overlay: 0.96;
201
216
  --glass-opacity-chassis: 0.36;
217
+ /* BC.W-DIALOG-GLASS — the dialog dark register lifts ~0.08 over the light arm
218
+ (0.68 → 0.76) for read-weight over the deep canvas, mirroring the dark opacity
219
+ ladder (it sits between dark `resting` 0.72 and `floating` 0.88 — see-through
220
+ but legible over the deep page). The SAME named token as the light arm, per-
221
+ mode; the composed `--glass-bg-dialog` (glass.css :root) re-resolves from it
222
+ automatically per mode. */
223
+ --glass-opacity-dialog: 0.76;
202
224
  --glass-grain-opacity: 0.045;
203
225
  --glass-highlight: inset 0 0.5px 0 0 hsl(0 0% 100% / 0.08);
204
226
 
@@ -210,14 +232,46 @@
210
232
  aurora/page behind reads with chroma + a glow. The blur() RADIUS is the
211
233
  light-arm primitive UNTOUCHED (W-GLASS-CAL owns the radius dial-back) — only the
212
234
  saturate/brightness COMPANIONS lift here. The lower rungs lift more (they're
213
- thinner, the backdrop carries the read); the heavy overlay lifts least. */
214
- --glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(1.35) brightness(1.18);
215
- --glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(1.35) brightness(1.16);
216
- --glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(1.30) brightness(1.14);
217
- --glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(1.28) brightness(1.10);
218
- --glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(1.22) brightness(1.06);
235
+ thinner, the backdrop carries the read); the heavy overlay lifts least.
236
+
237
+ BC.W-GLASS-LEGIBILITY-MEASURED — the per-rung `--glass-saturate-{tier}` knob
238
+ (the speedtest-AX BC-W10 fold) is the SAME named register as the light arm
239
+ (tokens/glass.css), per-mode — the dark identity. The dark values ARE this
240
+ scope's luminosity lift (wash/quiet 1.35, resting 1.30, floating 1.28, overlay
241
+ 1.22) become the dark token defaults, and each `--glass-blur-{tier}` reads
242
+ `saturate(var(--glass-saturate-{tier}))` THROUGH — so a `.dark` override re-
243
+ resolves the rung saturation with ZERO recipe edit, AND the composed dark blur
244
+ is BYTE-IDENTICAL to the old baked literal. The `brightness()` companions stay
245
+ baked (this fold mints ONLY the saturate knob). The dark dock/deep saturate stay
246
+ baked (off-ladder footprint rungs, not part of the {wash..overlay} ladder).
247
+ Machine-locked by `proof:glass-legibility` L7. */
248
+ --glass-saturate-wash: 1.35;
249
+ --glass-saturate-quiet: 1.35;
250
+ --glass-saturate-resting: 1.30;
251
+ --glass-saturate-floating: 1.28;
252
+ --glass-saturate-overlay: 1.22;
253
+ --glass-blur-wash: blur(calc(var(--glass-blur-wash-radius) * var(--glass-level))) saturate(var(--glass-saturate-wash)) brightness(1.18);
254
+ --glass-blur-quiet: blur(calc(var(--glass-blur-quiet-radius) * var(--glass-level))) saturate(var(--glass-saturate-quiet)) brightness(1.16);
255
+ --glass-blur-resting: blur(calc(var(--glass-blur-resting-radius) * var(--glass-level))) saturate(var(--glass-saturate-resting)) brightness(1.14);
256
+ --glass-blur-floating: blur(calc(var(--glass-blur-floating-radius) * var(--glass-level))) saturate(var(--glass-saturate-floating)) brightness(1.10);
257
+ --glass-blur-overlay: blur(calc(var(--glass-blur-overlay-radius) * var(--glass-level))) saturate(var(--glass-saturate-overlay)) brightness(1.06);
219
258
  --glass-blur-dock: blur(calc(var(--glass-blur-dock-radius) * var(--glass-level))) saturate(1.30) brightness(1.12);
220
259
 
260
+ /* BB.W-DEEP-GLASS — the DARK arm of the OPT-IN deep tier (the luminous-dark
261
+ deep mirror, the W-DARK-MATERIAL scope-2 "dark glass glows where light
262
+ passes" model). The deep tier is even more transmissive in dark — the deep
263
+ dark glass glows MORE where the backdrop passes — so its saturate/brightness
264
+ companion lifts HARDER than the calm dark floating (1.28/1.10): the deep
265
+ arm carries saturate(1.55) brightness(1.16), in LOCKSTEP with the light deep
266
+ arm (which sits at saturate 1.5 / depth-LERPed, glass-deep.css). The RADIUS
267
+ is the SAME --glass-blur-deep-active-radius × --glass-level (radius-only
268
+ across modes, the §2c discipline — only the saturate/brightness companions
269
+ differ between light/dark). This is a SEPARATE deep token the calm dark
270
+ ladder never reads (CALM-UNCHANGED in dark too — proof:glass-cal GREEN). */
271
+ --glass-blur-deep:
272
+ blur(var(--glass-blur-deep-active-radius))
273
+ saturate(1.55) brightness(1.16);
274
+
221
275
  /* BA.W-DARK-MATERIAL scope 3 — the dark arm of the adaptive --glass-tint-* seam (the
222
276
  SAME seam, NO third fork). The W55 self-engage block (glass/ladder.css) re-points
223
277
  --glass-tint-source → --glass-tint-ink at --glass-tint-strength-aa. In LIGHT that is
@@ -242,28 +296,59 @@
242
296
  mode arms — the content-tier self-engage needs no mode branch. */
243
297
  --glass-tint-strength-floor: 12%;
244
298
 
245
- /* BA.W-DARK-MATERIAL scope 5 — the --surface-tint-* dark arm. The light family is
246
- color-mix(in srgb, var(--foreground) N%, transparent) — over a near-black dark card
247
- a LIGHT-ink (dark --foreground IS light cream) tint composites to near-black: the
248
- 9-rung chip/hairline/divider scale is INVISIBLE in dark. The dark arm KEEPS the
249
- in-srgb space (the AW.W26 fence — NEVER oklab) but re-anchors the mix ink to a
250
- BRIGHTER warm off-white so a chip/hairline LIFTS off the deep card (the inverse
251
- intent of light's dark-ink tint). This re-resolves every --surface-tint-* consumer
252
- (chip backplates, the dock-rail divider, the spine, the timeline dot) in lockstep,
253
- zero per-site edit. The brighter ink is a near-white warm (hsl(48 12% 96%)) so the
254
- higher rungs read as genuine hairlines on the L16 card. */
255
- --surface-tint-4: color-mix(in srgb, hsl(48 12% 96%) 4%, transparent);
256
- --surface-tint-6: color-mix(in srgb, hsl(48 12% 96%) 6%, transparent);
257
- --surface-tint-8: color-mix(in srgb, hsl(48 12% 96%) 8%, transparent);
258
- --surface-tint-10: color-mix(in srgb, hsl(48 12% 96%) 10%, transparent);
259
- --surface-tint-12: color-mix(in srgb, hsl(48 12% 96%) 12%, transparent);
260
- --surface-tint-15: color-mix(in srgb, hsl(48 12% 96%) 15%, transparent);
261
- --surface-tint-18: color-mix(in srgb, hsl(48 12% 96%) 18%, transparent);
262
- --surface-tint-22: color-mix(in srgb, hsl(48 12% 96%) 22%, transparent);
263
- --surface-tint-25: color-mix(in srgb, hsl(48 12% 96%) 25%, transparent);
264
- --surface-tint-35: color-mix(in srgb, hsl(48 12% 96%) 35%, transparent);
265
- --surface-tint-40: color-mix(in srgb, hsl(48 12% 96%) 40%, transparent);
266
- --surface-tint-70: color-mix(in srgb, hsl(48 12% 96%) 70%, transparent);
299
+ /* BB.W-ON-GLASS-FG — the surface-aware FOREGROUND register, DARK arm (the N13
300
+ whisper collapse where it bites hardest). The dark page-muted --neutral-5 (L62,
301
+ "AA: 7.64:1 vs page") COLLAPSES over the lifted luminous-dark plate (the L16 card
302
+ at the 12% --glass-tint-strength-floor composites the bright backdrop UP — the
303
+ measured 1.15-3.29:1). The on-glass muted rung lifts BRIGHTER (the mirror of the
304
+ light arm's darkening) so it clears AA over the composited dark plate WHILE
305
+ staying subordinate to the L90 --foreground ink (the quiet-subordinate hierarchy
306
+ preserved — NOT a blanket lift to full ink, which the bright bucket already does).
307
+ Warm-amber (the BB.W-DARK-INK-WARM identity), NOT the slides deck hsl(45 …) literal
308
+ (the deck is the REFERENCE; the library re-derives against its own --card). The
309
+ light arm lives in tokens/glass.css (the plain per-mode pair — the house idiom). */
310
+ --on-glass-muted: hsl(34 16% 72%); /* brighter than the collapsed --neutral-5 L62 (6.63:1 vs the luminous-dark plate; subordinate to --foreground) */
311
+ --on-glass-muted-strong: hsl(36 14% 78%); /* the -strong rung, one step more present (7.75:1 vs plate) */
312
+ --input-on-glass: hsl(26 12% 22%); /* the form-well fill — grounded warm-dark so the L90 input TEXT reads against a stable base (9.3:1) */
313
+ --progress-track-on-glass: hsl(28 14% 26%); /* the recessed meter track — a warm-dark channel distinct from the fill silhouette */
314
+
315
+ /* BA.W-DARK-MATERIAL scope 5 + BB.W-DARK-INK-WARM — the --surface-tint-* dark arm,
316
+ --foreground-DERIVED. The light family is color-mix(in srgb, var(--foreground) N%,
317
+ transparent) — over a near-black dark card a LIGHT-ink (dark --foreground IS light
318
+ cream) tint composites to near-black: the 9-rung chip/hairline/divider scale is
319
+ INVISIBLE in dark. The dark arm re-anchors the mix ink to a BRIGHTER warm off-white
320
+ so a chip/hairline LIFTS off the deep card (the inverse intent of light's dark-ink
321
+ tint). BA executed that intent as a hardcoded hsl(48 12% 96%) literal ×12 — at the
322
+ EXACT OKLab H95.1° yellow-green the SAME tranche's W-NO-GRAY ruled "a cast, not warm
323
+ material", AND a per-rung literal a --foreground re-point can never reach (the
324
+ architectural asymmetry with the light arm + the substitution-vs-redeclaration trap
325
+ at the token mint). BB re-expresses each rung as a oklch(from var(--foreground) 0.975
326
+ c h) RELATIVE-COLOR derivation: the recipe extracts the (now-warmed) dark --foreground's
327
+ warm hue + chroma and lifts the lightness to 0.975 (≈ HEAD's 0.973 ink L, so the chip
328
+ lift off the L16 card is preserved) — the ink CARRIES the --foreground's warm hue
329
+ (OKLab H75.4°) BY DERIVATION (re-point the dark ink → every rung re-resolves warm; a
330
+ future re-tune reaches all 12 from ONE --foreground edit — the symmetry the light arm
331
+ has had since L.W5). The OUTER mix STAYS color-mix(in srgb, … N%, transparent) — the
332
+ SAME 12-rung α ladder + the SAME in-srgb interpolation space the light arm uses (the
333
+ AW.W26 fence holds — the oklch(from …) is the INK SOURCE, not the tint mix space).
334
+ This re-resolves every --surface-tint-* consumer (chip backplates, the dock-rail
335
+ divider, the spine, the timeline dot) in lockstep, zero per-site edit. The 0.975 lift
336
+ sits well under the sRGB gamut edge (the AX css-relative-color book's "browsers don't
337
+ gamut-map yet" caveat does not bite — at 0.975 the small high-L chroma resolves clean;
338
+ lift→1.0 drifts the hue, so 0.975 is the calibrated pin). The css-relative-color
339
+ chronic's FIRST live consumer (the tolerant α-mix the AX book was waiting for). */
340
+ --surface-tint-4: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 4%, transparent);
341
+ --surface-tint-6: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 6%, transparent);
342
+ --surface-tint-8: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 8%, transparent);
343
+ --surface-tint-10: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 10%, transparent);
344
+ --surface-tint-12: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 12%, transparent);
345
+ --surface-tint-15: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 15%, transparent);
346
+ --surface-tint-18: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 18%, transparent);
347
+ --surface-tint-22: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 22%, transparent);
348
+ --surface-tint-25: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 25%, transparent);
349
+ --surface-tint-35: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 35%, transparent);
350
+ --surface-tint-40: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 40%, transparent);
351
+ --surface-tint-70: color-mix(in srgb, oklch(from var(--foreground) 0.975 c h) 70%, transparent);
267
352
 
268
353
  /* Hairline-accent dark mirror — see light counterpart at line ~404. */
269
354
  --hairline-catch-light: inset 0 0.5px 0 0 rgb(255 255 255 / 0.05);
@@ -277,6 +362,15 @@
277
362
  resolves to the `-dark` alpha on the deeper canvas. */
278
363
  --glass-edge-light: var(--glass-edge-light-dark);
279
364
 
365
+ /* BC.W-BLACK-BAR D2 — the DIRECTIONAL rim dark arm (plain per-mode pair, NEVER
366
+ light-dark() round an inset — MEMORY: the inset-shadow trap). The top
367
+ catch-light lifts to 0.40 (the dark plate's fill barely separates from the deep
368
+ page, so the rim is the PRIMARY silhouette device — dark glass glows where light
369
+ passes; mirrors the --glass-edge-light-dark 0.18→0.22 lift). The bottom warm
370
+ under-shadow holds at 6% — the shadow grounds the plate in BOTH modes. */
371
+ --glass-rim-top: inset 0 1px 0 hsl(0 0% 100% / 0.40);
372
+ --glass-rim-bottom: inset 0 -1px 0 color-mix(in srgb, var(--foreground) 6%, transparent);
373
+
280
374
  /* AW.W23 — the chromatic-fringe + adaptive-tint dark arm. The fringe drops
281
375
  to a lower-luminance warm/cool pair on the deep canvas; `--glass-tint-
282
376
  source` auto-flips with `--card` (no override needed — the default already
@@ -304,5 +398,16 @@
304
398
  --silver: oklch(0.792 0.012 255);
305
399
  --silver-light: oklch(0.912 0.010 255);
306
400
  --silver-dark: oklch(0.648 0.014 255);
401
+
402
+ /* Bronze — lifted for dark (BB.W-METAL-SHIMMER; mirrors gold's dark arm: the
403
+ warm metal lifts ~+0.03 L so the bronze register reads on the deep canvas.
404
+ `--bronze-deep` is mode-invariant — NOT re-declared here, exactly as
405
+ `--gold-deep`/`--silver-deep` are omitted from this dark block). The warm hue
406
+ holds; the chroma stays above the W-NO-GRAY floor. The `.dark`-class fallback
407
+ for engines without `light-dark()` (the §2c lockstep — the light-dark arm AND
408
+ this dark fallback move TOGETHER). */
409
+ --bronze: oklch(0.650 0.090 54.0);
410
+ --bronze-light: oklch(0.790 0.110 60.0);
411
+ --bronze-dark: oklch(0.560 0.085 50.0);
307
412
  }
308
413
 
@@ -0,0 +1,100 @@
1
+ /*
2
+ * glass-deep.css — BB.W-DEEP-GLASS — the OPT-IN deep-glass token family.
3
+ *
4
+ * A SEPARATE `--glass-blur-deep-*` token family ABOVE the W-GLASS-CAL calm
5
+ * default (the Apple iOS-27 Liquid-Glass deep register: `saturate(1.8) blur(20px)`
6
+ * measured on Apple's live nav material; glass-ui lands the deep tier in the
7
+ * 14-20px band at a budget-clearing 16px + saturate 1.5). The calm content
8
+ * default is BYTE-UNTOUCHED — this family is minted ALONGSIDE the calm
9
+ * `--glass-blur-*` ladder (tokens/glass.css), which NEVER reads these tokens, so
10
+ * `proof:glass-cal` B1-B3 stay GREEN by construction (the calm default is the
11
+ * user's "a hair too much" call, INVIOLATE).
12
+ *
13
+ * This is the §8-ladder partial sibling of tokens/glass.css (kept OUT of glass.css
14
+ * so the ratchet-baselined glass.css stays at 505); @import-ed in tokens.css
15
+ * AFTER glass.css (the deep family resolves in the same :root cascade slot,
16
+ * adjacent same-selector blocks). The dark deep arm lives in tokens/dark-arm.css
17
+ * (the W-DARK-MATERIAL discipline — the luminous-dark companion beside the calm
18
+ * dark companions).
19
+ *
20
+ * ── The Apple-range derivation (DELTA cross-ref) ───────────────────────────
21
+ * Apple home nav: saturate(1.8) blur(20px) (the canonical measure; the CEILING)
22
+ * Apple product tiers: blur(14-20px) (the band)
23
+ * glass-ui calm ceiling: floating 13px / saturate 1.18 (W-GLASS-CAL dial-back)
24
+ * glass-ui DEEP: 16px / saturate 1.5 (STRICTLY deeper on BOTH axes,
25
+ * in-band, the budget-clearing landing — the full 20px is
26
+ * a BOOKED successor with the recorded throttle number).
27
+ * The deep saturate lands at the LOW end of the 1.5-1.8 band: the Apple 1.8 is
28
+ * measured over a NEUTRAL backdrop; glass-ui's deep tier sits over warm-aurora,
29
+ * and the warm-cream light-concentration ceiling (AX.W52 D19 — a saturate that
30
+ * over-juices a colored substrate reads as a garish smear) keeps it just-rich.
31
+ * The deepest BLUR carries the "more glass" read; the saturate stays restrained.
32
+ *
33
+ * ── The deep-tier BUDGET CALL (BC.W-GLASS-LEGIBILITY-MEASURED L4) ───────────
34
+ * The deep blur radius is the most expensive idiom glass-ui ships (`backdrop-
35
+ * filter` cost is super-linear in the radius past ~16px). The wave's call:
36
+ * STAY at the budget-clearing 16px and BOOK the 18-20px push (toward the live-
37
+ * measured apple.com nav `blur(20px)` ceiling, research/apple-glass.md §1.1)
38
+ * behind a recorded `profile:budget` clearance — the full 20px is the BOOKED
39
+ * successor (apple-ios27.md §1.4 "the full 20px booked"), NOT a silent over-
40
+ * spend. `--glass-saturate-deep-ceiling` BAKES the apple.com nav saturate 1.8 as
41
+ * the deep-tier CEILING (the load-bearing term — research/apple-glass.md §4
42
+ * "saturate 1.5 shipped, bake 1.8 as the deep ceiling"); the shipped
43
+ * `--glass-saturate-deep` 1.5 sits at the low end (≤ ceiling), warm-aurora-safe.
44
+ * `proof:glass-legibility` L4 reads BOTH: the 16px-stay is honest IFF the budget
45
+ * booking is recorded here, and the shipped deep saturate never crosses the 1.8
46
+ * ceiling. When a `profile:budget` run clears the 18-20px push, the radius
47
+ * lifts toward 20px on the SAME LERP (the booked successor lands, no recipe edit).
48
+ */
49
+ :root {
50
+ /* The Apple-range deep ENDPOINTS — the radius + saturate the deep tier reaches
51
+ at full depth (`--glass-depth: 1`). The calm `floating` rung (13px / 1.18)
52
+ is the depth-0 floor; the deep recipe LERPs between the two on `--glass-depth`
53
+ so the axis is a genuine driver, not a literal. */
54
+ --glass-blur-deep-radius: 16px; /* in [14,20], STRICTLY > calm floating 13px;
55
+ BUDGET CALL (L4): stays 16px, the 18-20px push
56
+ toward the apple.com nav ceiling is BOOKED
57
+ behind a recorded profile:budget clearance. */
58
+ --glass-saturate-deep: 1.5; /* >= 1.5 (toward Apple 1.8), > calm floating 1.18;
59
+ ≤ --glass-saturate-deep-ceiling (the apple.com
60
+ nav 1.8 bound — never over-shot, L4). */
61
+ --glass-saturate-deep-ceiling: 1.8; /* the apple.com-nav saturate CEILING, BAKED as
62
+ the deep-tier load-bearing term (research/
63
+ apple-glass.md §4); the deep saturate never
64
+ exceeds it (the warm-cream identity bound). */
65
+
66
+ /* The deep blur RADIUS — LERPed from the calm floating radius (depth 0) to the
67
+ Apple-deep radius (depth 1) on `--glass-depth`, THEN scaled by the ONE
68
+ `--glass-level` clarity scalar (the W54 seam reaches the deep plate, so the
69
+ opaque escape + the a11y brackets compose: at `--glass-level: 0` the deep
70
+ blur resolves blur(0), the same solid floor). NOT a parallel recipe — the
71
+ deep blur COMPOSES `var(--glass-level)` exactly like every calm rung, and
72
+ reads `var(--glass-depth)` so a host dials the depth on any ancestor. */
73
+ --glass-blur-deep-active-radius:
74
+ calc(
75
+ (
76
+ var(--glass-blur-floating-radius)
77
+ + (var(--glass-blur-deep-radius) - var(--glass-blur-floating-radius))
78
+ * var(--glass-depth)
79
+ )
80
+ * var(--glass-level)
81
+ );
82
+ /* The deep SATURATE — LERPed from the calm floating saturate (1.18, depth 0)
83
+ to the deep saturate (depth 1) on `--glass-depth`. The saturate is the
84
+ light-concentration lift (chroma-only — it LIFTS the backdrop's existing
85
+ chroma, it does NOT inject a hue; the warm-cream `--card` base is the same). */
86
+ --glass-saturate-deep-active:
87
+ calc(
88
+ 1.18 + (var(--glass-saturate-deep) - 1.18) * var(--glass-depth)
89
+ );
90
+
91
+ /* The composed deep backdrop-filter — the SEPARATE deep family. The calm
92
+ ladder never reads this; `.glass-deep` (glass/deep.css) is its only
93
+ consumer. The brightness companion mirrors the calm floating arm's
94
+ light-concentration (the calm floating carries saturate only; the deep
95
+ tier adds a small brightness lift for the thicker-glass read — still no
96
+ hue inject). */
97
+ --glass-blur-deep:
98
+ blur(var(--glass-blur-deep-active-radius))
99
+ saturate(var(--glass-saturate-deep-active));
100
+ }