@mkbabb/glass-ui 3.12.0 → 4.0.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.
- package/dist/CardAction-XH4YBVEK.js +158 -0
- package/dist/{CommandShortcut-CefCj5mt.js → CommandShortcut-DdtWXxOK.js} +58 -53
- package/dist/{ContextMenuSubContent-Bhg4f5jX.js → ContextMenuSubContent-B0Vs6atR.js} +4 -4
- package/dist/{DataTable-CUHMukiQ.js → DataTable-C464Zbqd.js} +99 -97
- package/dist/DialogContent-DDE6pQBU.js +103 -0
- package/dist/{DialogFooter-Gprw8H_A.js → DialogFooter-8eZbdmPc.js} +2 -2
- package/dist/FadingScroll-DwNnvKMs.js +76 -0
- package/dist/{HoverPopover-2LOIW34a.js → HoverPopover-Dpzwvc4t.js} +1 -1
- package/dist/IconChip-BDw1j5mu.js +54 -0
- package/dist/{IconTooltip-Cus0fvK0.js → IconTooltip-DSjasZIt.js} +1 -1
- package/dist/MetricBadge-BpC0R_Ec.js +79 -0
- package/dist/{Notification-DLMhblXR.js → Notification-DKjKsQq8.js} +10 -10
- package/dist/{NumberFieldContent-BbLOh8RU.js → NumberFieldContent-1VtwDSgf.js} +3 -3
- package/dist/PopoverContent-BTorlp--.js +127 -0
- package/dist/{Progress-iEuD9pxG.js → Progress-hAT4gqGH.js} +97 -77
- package/dist/{ScrollingText-BPP84wKo.js → ScrollingText-CUVFTWk2.js} +2 -2
- package/dist/{SelectScrollDownButton-T32cVFeM.js → SelectScrollDownButton-C1jb3b3K.js} +24 -8
- package/dist/{Switch-Ch-k3Rv-.js → Switch-Dr--uLGH.js} +2 -2
- package/dist/{Toaster-1rYWrmAm.js → Toaster-Bm_HQSpc.js} +55 -52
- package/dist/{ToggleGroupItem-COu_4IW4.js → ToggleGroupItem-Dzk9hWsF.js} +18 -22
- package/dist/animated-digit.js +3 -3
- package/dist/api/index.d.ts +10 -4
- package/dist/api.js +1 -1
- package/dist/aurora.js +113 -98
- package/dist/{badge-CaoFJzRb.js → badge-UILT_3pZ.js} +1 -1
- package/dist/badge.js +1 -1
- package/dist/{button-DN39cGqL.js → button-BNDWhAZb.js} +12 -12
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/carousel.d.ts +1 -1
- package/dist/carousel.js +101 -145
- package/dist/{check-BBKKKSTf.js → check-njhk-vfu.js} +1 -1
- package/dist/{chevron-down-BSkTP2aL.js → chevron-down-DKkxb4VV.js} +1 -1
- package/dist/{chevron-right-sDM0Yvrf.js → chevron-right-CPXbqQQz.js} +1 -1
- package/dist/{chevron-up-CCOD_FTz.js → chevron-up-n_24SqI-.js} +1 -1
- package/dist/coalesceMetric-5qIeZnTx.js +13 -0
- package/dist/collapsible.js +1 -1
- package/dist/{color-C5ls_QF7.js → color-DweYl7pE.js} +9 -7
- package/dist/color-swatch.d.ts +1 -0
- package/dist/color-swatch.js +47 -0
- package/dist/color.js +1 -1
- package/dist/command.js +1 -1
- package/dist/components/custom/animated-digit/AnimatedDigit.vue.d.ts +8 -0
- package/dist/components/custom/aurora/constants/presets.d.ts +16 -45
- package/dist/components/custom/aurora/constants/renderMode.d.ts +2 -0
- package/dist/components/custom/aurora/constants/shaders/mediums.glsl.d.ts +1 -1
- package/dist/components/custom/aurora/constants/shaders/vangogh-medium.glsl.d.ts +1 -0
- package/dist/components/custom/color-swatch/ColorSwatch.vue.d.ts +22 -0
- package/dist/components/custom/color-swatch/index.d.ts +1 -0
- package/dist/components/custom/configurator/Configurator.vue.d.ts +19 -8
- package/dist/components/custom/configurator/ConfiguratorRow.vue.d.ts +16 -0
- package/dist/components/custom/constellation/Constellation.vue.d.ts +23 -143
- package/dist/components/custom/constellation/composables/createConstellationField.d.ts +41 -0
- package/dist/components/custom/constellation/composables/useConstellation.d.ts +26 -0
- package/dist/components/custom/constellation/composables/useConstellationPointer.d.ts +35 -0
- package/dist/components/custom/constellation/constants.d.ts +61 -0
- package/dist/components/custom/constellation/constellationDraw.d.ts +30 -0
- package/dist/components/custom/constellation/constellationField.d.ts +3 -403
- package/dist/components/custom/constellation/constellationInteraction.d.ts +132 -0
- package/dist/components/custom/constellation/constellationTypes.d.ts +369 -0
- package/dist/components/custom/constellation/index.d.ts +5 -2
- package/dist/components/custom/controls/DarkModeToggle.vue.d.ts +11 -0
- package/dist/components/custom/dock/DockRail.vue.d.ts +89 -0
- package/dist/components/custom/dock/DockSection.vue.d.ts +69 -0
- package/dist/components/custom/dock/DockSeparator.vue.d.ts +49 -1
- package/dist/components/custom/dock/DockTabButton.vue.d.ts +5 -6
- package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -118
- package/dist/components/custom/dock/composables/dockMorphContext.d.ts +36 -0
- package/dist/components/custom/dock/composables/index.d.ts +1 -0
- package/dist/components/custom/dock/composables/useDockClickIntegrity.d.ts +23 -0
- package/dist/components/custom/dock/composables/useDockMorphWindow.d.ts +15 -0
- package/dist/components/custom/dock/composables/useDockOrientationMorph.d.ts +44 -0
- package/dist/components/custom/dock/composables/useDockShellProps.d.ts +165 -0
- package/dist/components/custom/dock/composables/useLayerTransition.d.ts +44 -0
- package/dist/components/custom/dock/constants.d.ts +83 -0
- package/dist/components/custom/dock/index.d.ts +5 -0
- package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +15 -37
- package/dist/components/custom/fading-scroll/FadingScroll.vue.d.ts +25 -0
- package/dist/components/custom/fading-scroll/composables/useFadingScroll.d.ts +31 -0
- package/dist/components/custom/fading-scroll/constants.d.ts +19 -0
- package/dist/components/custom/fading-scroll/index.d.ts +2 -0
- package/dist/components/custom/fourier-field/FourierField.vue.d.ts +7 -0
- package/dist/components/custom/fourier-field/index.d.ts +1 -1
- package/dist/components/custom/fourier-field/math.d.ts +34 -0
- package/dist/components/custom/fourier-field/presets.d.ts +54 -0
- package/dist/components/custom/glass-panel/GlassPanel.vue.d.ts +8 -0
- package/dist/components/custom/goo-blob/composables/buildMetaballProgram.d.ts +18 -0
- package/dist/components/custom/goo-blob/composables/uploadBlobUniforms.d.ts +41 -0
- package/dist/components/custom/goo-blob/composables/useBlobPointer.d.ts +4 -3
- package/dist/components/custom/goo-blob/composables/useMetaballRenderer.d.ts +21 -8
- package/dist/components/custom/goo-blob/constants.d.ts +57 -0
- package/dist/components/custom/goo-blob/shaders/metaball-uniforms.glsl.d.ts +1 -0
- package/dist/components/custom/handmark/brush.d.ts +33 -6
- package/dist/components/custom/handmark/{useHandMark.d.ts → composables/useHandMark.d.ts} +6 -4
- package/dist/components/custom/handmark/constants.d.ts +39 -0
- package/dist/components/custom/handmark/geometry.d.ts +14 -12
- package/dist/components/custom/handmark/index.d.ts +8 -2
- package/dist/components/custom/handmark/types.d.ts +9 -0
- package/dist/components/custom/icon-chip/IconChip.vue.d.ts +4 -0
- package/dist/components/custom/icon-chip/index.d.ts +2 -0
- package/dist/components/custom/icon-chip/types.d.ts +72 -0
- package/dist/components/custom/instrument-chassis/InstrumentChassis.vue.d.ts +17 -4
- package/dist/components/custom/labeled-field/LabeledField.vue.d.ts +37 -0
- package/dist/components/custom/labeled-field/LabeledSelect.vue.d.ts +6 -0
- package/dist/components/custom/labeled-field/LabeledSlider.vue.d.ts +6 -0
- package/dist/components/custom/labeled-field/LabeledSwitch.vue.d.ts +6 -0
- package/dist/components/custom/metric-badge/MetricBadge.vue.d.ts +11 -18
- package/dist/components/custom/metric-badge/index.d.ts +1 -0
- package/dist/components/custom/metric-cell/MetricCell.vue.d.ts +15 -4
- package/dist/components/custom/metric-stack/MetricRow.vue.d.ts +6 -4
- package/dist/components/custom/pager-dots/PagerDots.vue.d.ts +39 -0
- package/dist/components/custom/pager-dots/index.d.ts +2 -0
- package/dist/components/custom/tabs/SegmentedTabs.vue.d.ts +20 -25
- package/dist/components/custom/tabs/composables/useTabIndicator.d.ts +30 -21
- package/dist/components/custom/tabs/constants.d.ts +18 -0
- package/dist/components/custom/tabs/index.d.ts +1 -1
- package/dist/components/custom/watercolor-dot/WatercolorDot.vue.d.ts +14 -0
- package/dist/components/ui/_shared/index.d.ts +2 -0
- package/dist/components/ui/_shared/menuItemVariants.d.ts +19 -0
- package/dist/components/ui/_shared/useSurfaceAxis.d.ts +41 -0
- package/dist/components/ui/card/Card.vue.d.ts +16 -4
- package/dist/components/ui/carousel/index.d.ts +0 -1
- package/dist/components/ui/command/Command.vue.d.ts +3 -0
- package/dist/components/ui/dialog/DialogContent.vue.d.ts +8 -3
- package/dist/components/ui/drawer/Drawer.vue.d.ts +1 -0
- package/dist/components/ui/drawer/DrawerContent.vue.d.ts +5 -0
- package/dist/components/ui/dropdown-menu/DropdownMenuSubContent.vue.d.ts +2 -2
- package/dist/components/ui/index.d.ts +0 -1
- package/dist/components/ui/metric-pill/MetricPill.vue.d.ts +6 -3
- package/dist/components/ui/popover/PopoverContent.vue.d.ts +3 -0
- package/dist/components/ui/progress/ProgressSectioned.vue.d.ts +14 -3
- package/dist/components/ui/select/SelectTrigger.vue.d.ts +27 -4
- package/dist/components/ui/sheet/SheetContent.vue.d.ts +6 -0
- package/dist/components/ui/skeleton/Skeleton.vue.d.ts +3 -0
- package/dist/components/ui/slider/index.d.ts +22 -19
- package/dist/components/ui/tabs/TabsIndicator.vue.d.ts +4 -1
- package/dist/components/ui/toast/use-toast.d.ts +2 -2
- package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
- package/dist/components/ui/toggle/index.d.ts +1 -1
- package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +1 -7
- package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +1 -3
- package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +0 -13
- package/dist/composables/color/index.d.ts +12 -0
- package/dist/composables/dark/useGlobalDark.d.ts +14 -12
- package/dist/composables/glass/index.d.ts +0 -1
- package/dist/composables/glass/useGlassBackdropLuminance.d.ts +59 -0
- package/dist/composables/glass/useSpecularTracking.d.ts +12 -3
- package/dist/composables/motion/core/index.d.ts +1 -1
- package/dist/composables/motion/curves.d.ts +48 -0
- package/dist/composables/motion/index.d.ts +2 -0
- package/dist/composables/motion/springPresets.d.ts +33 -0
- package/dist/composables/motion/suite.d.ts +2 -0
- package/dist/composables/motion/useLiquidFlex.d.ts +85 -0
- package/dist/composables/motion/useSpringMount.d.ts +1 -1
- package/dist/composables/motion/useViewTransition.d.ts +36 -1
- package/dist/configurator.js +1 -1
- package/dist/confirm-dialog.js +3 -3
- package/dist/constellation.js +373 -261
- package/dist/context-menu.js +2 -2
- package/dist/controls.js +48 -14
- package/dist/dark.js +1 -1
- package/dist/data-table.js +1 -1
- package/dist/dialog.js +2 -2
- package/dist/dock.js +901 -372
- package/dist/dockContext-Bu1Avy-a.js +17 -0
- package/dist/dom.js +5 -5
- package/dist/{dropdown-menu-D77jX6Df.js → dropdown-menu-BJ7E9js_.js} +11 -8
- package/dist/dropdown-menu.js +1 -1
- package/dist/expandable-container.js +44 -81
- package/dist/fading-scroll.d.ts +1 -0
- package/dist/fading-scroll.js +2 -0
- package/dist/forms.js +5 -5
- package/dist/fourier-field.js +140 -104
- package/dist/fourier-math.js +2 -2
- package/dist/glass-panel.js +90 -21
- package/dist/glass-ui.css +1 -1
- package/dist/glass-ui.js +230 -236
- package/dist/goo-blob.js +264 -228
- package/dist/handmark.js +203 -159
- package/dist/header-ribbon.js +1 -1
- package/dist/hover-card.js +1 -1
- package/dist/hover-popover.js +1 -1
- package/dist/icon-chip.d.ts +1 -0
- package/dist/icon-chip.js +2 -0
- package/dist/icon-tooltip.js +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/instrument-chassis.js +1 -1
- package/dist/keyboard.js +1 -1
- package/dist/label.js +1 -1
- package/dist/labeled-field.js +28 -18
- package/dist/{math-DTpRVC0e.js → math-DeuJwLFx.js} +26 -2
- package/dist/{menuItemVariants-CCoBNkU5.js → menuItemVariants-DWRQXBxJ.js} +10 -4
- package/dist/metric-badge.js +1 -1
- package/dist/metric-cell.js +29 -22
- package/dist/metric-stack.js +35 -34
- package/dist/{minimize-2-lcXOuc6V.js → minimize-2-BV31Ob_h.js} +1 -1
- package/dist/motion-core.js +32 -136
- package/dist/motion-curves.d.ts +1 -0
- package/dist/motion-curves.js +130 -0
- package/dist/motion.js +38 -37
- package/dist/notification.js +1 -1
- package/dist/number-field.js +1 -1
- package/dist/pager-dots.d.ts +1 -0
- package/dist/pager-dots.js +91 -0
- package/dist/paper-backdrop.js +1 -1
- package/dist/popover.js +1 -1
- package/dist/progress.js +1 -1
- package/dist/pulse.js +1 -1
- package/dist/reactive.js +2 -2
- package/dist/scrolling-text.js +1 -1
- package/dist/{search-nbkvr2dC.js → search-BSGrf2Sk.js} +1 -1
- package/dist/search.js +10 -10
- package/dist/select.js +3 -3
- package/dist/separator.js +1 -1
- package/dist/sheet-CquRYOAw.js +218 -0
- package/dist/sheet.js +1 -1
- package/dist/{slider-ClgpP7EB.js → slider-DQ95MET2.js} +8 -8
- package/dist/slider.js +1 -1
- package/dist/sortable-list.js +3 -3
- package/dist/springPresets-WXaLbu8u.js +40 -0
- package/dist/stacked-icons.js +6 -6
- package/dist/styles/animations.css +25 -125
- package/dist/styles/cards.css +55 -0
- package/dist/styles/components.css +4 -1
- package/dist/styles/configurator.css +77 -0
- package/dist/styles/dock/density.css +19 -0
- package/dist/styles/dock/layer-group.css +83 -25
- package/dist/styles/dock/layers.css +23 -1
- package/dist/styles/dock/morph-bridge.css +123 -0
- package/dist/styles/dock/morph.css +175 -45
- package/dist/styles/dock/overflow.css +66 -1
- package/dist/styles/dock/rail-extend.css +397 -0
- package/dist/styles/dock/section.css +59 -0
- package/dist/styles/dock/shell.css +97 -110
- package/dist/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/dist/styles/dock-controls/icon-button.css +143 -0
- package/dist/styles/dock-controls/tab-button.css +143 -0
- package/dist/styles/dock-controls/touch-floor.css +94 -0
- package/dist/styles/dock-controls/triggers.css +135 -0
- package/dist/styles/dock-controls.css +30 -595
- package/dist/styles/dock.css +8 -3
- package/dist/styles/drawer.css +48 -0
- package/dist/styles/feedback-tone.css +104 -0
- package/dist/styles/floating-panel.css +17 -0
- package/dist/styles/glass/a11y-fallback.css +245 -0
- package/dist/styles/glass/ladder.css +383 -0
- package/dist/styles/glass/material.css +238 -0
- package/dist/styles/glass/progress-rail.css +78 -0
- package/dist/styles/glass/squircle.css +66 -0
- package/dist/styles/glass/surface-axis.css +113 -0
- package/dist/styles/glass/surfaces.css +382 -0
- package/dist/styles/glass-refract.css +2 -0
- package/dist/styles/glass.css +34 -1188
- package/dist/styles/hover-popover.css +2 -0
- package/dist/styles/icon-chip.css +149 -0
- package/dist/styles/index.css +94 -18
- package/dist/styles/instrument-chassis.css +46 -0
- package/dist/styles/menu.css +127 -0
- package/dist/styles/paper.css +2 -68
- package/dist/styles/segmented-tabs.css +346 -0
- package/dist/styles/select.css +50 -0
- package/dist/styles/theme/bridges.css +347 -0
- package/dist/styles/theme/dark.css +7 -0
- package/dist/styles/theme/literals.css +94 -0
- package/dist/styles/theme/radius.css +95 -0
- package/dist/styles/theme.css +26 -529
- package/dist/styles/tokens/color-radius.css +287 -0
- package/dist/styles/tokens/dark-arm.css +308 -0
- package/dist/styles/tokens/glass.css +500 -0
- package/dist/styles/tokens/light-dark.css +187 -0
- package/dist/styles/tokens/offsets-sizing.css +562 -0
- package/dist/styles/tokens/property-regs.css +162 -0
- package/dist/styles/tokens/scale-paper.css +409 -0
- package/dist/styles/tokens/scheme-motion.css +352 -0
- package/dist/styles/tokens/shadow.css +166 -0
- package/dist/styles/tokens.css +22 -2360
- package/dist/styles/transitions.css +7 -7
- package/dist/styles/typography/scale.css +153 -0
- package/dist/styles/typography/semantic.css +220 -0
- package/dist/styles/typography/utilities.css +159 -0
- package/dist/styles/typography.css +23 -453
- package/dist/styles/utilities/a11y-overrides.css +169 -0
- package/dist/styles/utilities/animate.css +26 -0
- package/dist/styles/utilities/base.css +541 -0
- package/dist/styles/utilities/btn.css +218 -0
- package/dist/styles/utilities/components.css +317 -0
- package/dist/styles/utilities.css +19 -1318
- package/dist/styles/view-transition.css +4 -52
- package/dist/switch.js +1 -1
- package/dist/tabs.js +161 -181
- package/dist/timeline.js +2 -2
- package/dist/toast.js +1 -1
- package/dist/toggle-chip.js +3 -1
- package/dist/toggle-group.js +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/{useAnimatedNumber-Bcpy5Etf.js → useAnimatedNumber-C_3wZLx4.js} +1 -1
- package/dist/useConfiguratorState-kiIlun8I.js +303 -0
- package/dist/useLiquidFlex-C12hXwOZ.js +30 -0
- package/dist/useRAFLoop-CdwJ7284.js +109 -0
- package/dist/{useScrollProgress-CffFGLa5.js → useScrollProgress-D7bYU2RK.js} +1 -1
- package/dist/useSpecularTracking-Bo5su68i.js +32 -0
- package/dist/useSpringMount-CvopqiFr.js +108 -0
- package/dist/useSurfaceAxis-CMnF2zHb.js +7 -0
- package/dist/{useTouchGate-WFyJYsth.js → useTouchGate-28Tk2-t2.js} +1 -1
- package/dist/useViewTransition-COsPjQVZ.js +47 -0
- package/dist/utils/coalesceMetric.d.ts +29 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/vReveal-D9k0jADx.js +10 -0
- package/dist/watercolor-dot.js +22 -13
- package/dist/{x-Dfsegz9Y.js → x-BUwTKe50.js} +1 -1
- package/package.json +134 -50
- package/src/styles/animations.css +25 -125
- package/src/styles/cards.css +53 -0
- package/src/styles/configurator.css +77 -0
- package/src/styles/dock/density.css +19 -0
- package/src/styles/dock/layer-group.css +83 -25
- package/src/styles/dock/layers.css +23 -1
- package/src/styles/dock/morph-bridge.css +123 -0
- package/src/styles/dock/morph.css +175 -45
- package/src/styles/dock/overflow.css +66 -1
- package/src/styles/dock/rail-extend.css +397 -0
- package/src/styles/dock/section.css +59 -0
- package/src/styles/dock/shell.css +97 -110
- package/src/styles/dock-controls/dark-mode-toggle.css +109 -0
- package/src/styles/dock-controls/icon-button.css +143 -0
- package/src/styles/dock-controls/tab-button.css +143 -0
- package/src/styles/dock-controls/touch-floor.css +94 -0
- package/src/styles/dock-controls/triggers.css +135 -0
- package/src/styles/dock-controls.css +30 -595
- package/src/styles/dock.css +8 -3
- package/src/styles/drawer.css +42 -0
- package/src/styles/feedback-tone.css +104 -0
- package/src/styles/floating-panel.css +15 -0
- package/src/styles/glass/a11y-fallback.css +245 -0
- package/src/styles/glass/ladder.css +383 -0
- package/src/styles/glass/material.css +238 -0
- package/src/styles/glass/progress-rail.css +78 -0
- package/src/styles/glass/squircle.css +66 -0
- package/src/styles/glass/surface-axis.css +113 -0
- package/src/styles/glass/surfaces.css +382 -0
- package/src/styles/glass.css +34 -1188
- package/src/styles/icon-chip.css +149 -0
- package/src/styles/index.css +93 -17
- package/src/styles/instrument-chassis.css +42 -0
- package/src/styles/menu.css +127 -0
- package/src/styles/paper.css +2 -68
- package/src/styles/segmented-tabs.css +340 -0
- package/src/styles/select.css +50 -0
- package/src/styles/theme/bridges.css +347 -0
- package/src/styles/theme/dark.css +7 -0
- package/src/styles/theme/literals.css +94 -0
- package/src/styles/theme/radius.css +95 -0
- package/src/styles/theme.css +26 -529
- package/src/styles/tokens/color-radius.css +287 -0
- package/src/styles/tokens/dark-arm.css +308 -0
- package/src/styles/tokens/glass.css +500 -0
- package/src/styles/tokens/light-dark.css +187 -0
- package/src/styles/tokens/offsets-sizing.css +562 -0
- package/src/styles/tokens/property-regs.css +162 -0
- package/src/styles/tokens/scale-paper.css +409 -0
- package/src/styles/tokens/scheme-motion.css +352 -0
- package/src/styles/tokens/shadow.css +166 -0
- package/src/styles/tokens.css +22 -2360
- package/src/styles/transitions.css +7 -7
- package/src/styles/typography/scale.css +153 -0
- package/src/styles/typography/semantic.css +220 -0
- package/src/styles/typography/utilities.css +159 -0
- package/src/styles/typography.css +23 -453
- package/src/styles/utilities/a11y-overrides.css +169 -0
- package/src/styles/utilities/animate.css +26 -0
- package/src/styles/utilities/base.css +541 -0
- package/src/styles/utilities/btn.css +218 -0
- package/src/styles/utilities/components.css +317 -0
- package/src/styles/utilities.css +19 -1318
- package/src/styles/view-transition.css +4 -52
- package/dist/CardAction-DuArVky-.js +0 -157
- package/dist/DeckProgress-Dmk4_AKN.js +0 -23
- package/dist/DialogContent-BRkT1cjP.js +0 -100
- package/dist/InstrumentRail-CUJ05YVG.js +0 -44
- package/dist/MetricBadge-BZVWIxNy.js +0 -80
- package/dist/PopoverContent-BId6ggf_.js +0 -121
- package/dist/TabsList-B8CVOQPC.js +0 -101
- package/dist/components/custom/deck-progress/DeckProgress.vue.d.ts +0 -27
- package/dist/components/custom/deck-progress/index.d.ts +0 -2
- package/dist/components/custom/dialog-native/GlassDialogNative.vue.d.ts +0 -57
- package/dist/components/custom/dialog-native/index.d.ts +0 -1
- package/dist/components/custom/instrument-rail/InstrumentRail.vue.d.ts +0 -91
- package/dist/components/custom/instrument-rail/index.d.ts +0 -2
- package/dist/components/ui/carousel/CarouselDots.vue.d.ts +0 -4
- package/dist/composables/motion/useRouteTransition.d.ts +0 -42
- package/dist/deck-progress.d.ts +0 -1
- package/dist/deck-progress.js +0 -2
- package/dist/dockContext-BKeIMmNk.js +0 -9
- package/dist/instrument-rail.d.ts +0 -1
- package/dist/instrument-rail.js +0 -2
- package/dist/sheet-VZEtNFvO.js +0 -214
- package/dist/styles/instrument-rail.css +0 -127
- package/dist/useConfiguratorState-DxAqksK6.js +0 -287
- package/dist/useGlassRenderer-D7YGOYiM.js +0 -69
- package/dist/useSpecularTracking-BVRZsRHA.js +0 -26
- package/dist/useSpringMount-BJSHcLl3.js +0 -113
- package/dist/useViewTransition-DaN5Zrox.js +0 -21
- package/dist/vReveal-zUIQk-rJ.js +0 -53
- package/src/styles/instrument-rail.css +0 -127
- /package/dist/{CollapsibleContent-CP9qF1v4.js → CollapsibleContent-C_s6fG7r.js} +0 -0
- /package/dist/{ContextMenuContent-DDa0v27s.js → ContextMenuContent-ON3x7cuk.js} +0 -0
- /package/dist/{HoverCardContent-B6CcQ8He.js → HoverCardContent-DkMaQzH5.js} +0 -0
- /package/dist/{Input-xuDwALQR.js → Input-DVG_J0ne.js} +0 -0
- /package/dist/{InstrumentChassis-C2f6cBaQ.js → InstrumentChassis-UUJX0-mW.js} +0 -0
- /package/dist/{Label-zRfbQdCn.js → Label-Ck9SWEKM.js} +0 -0
- /package/dist/{ModalOverlay-B1GkAjNb.js → ModalOverlay-CkPRRgl_.js} +0 -0
- /package/dist/{PaperBackdrop-CqwjnfLv.js → PaperBackdrop-nBKe0vkB.js} +0 -0
- /package/dist/{SelectGroup-BFiod7X2.js → SelectGroup-Dcczq44n.js} +0 -0
- /package/dist/{SelectSeparator-C4Ql0gzV.js → SelectSeparator-DK2y1Bun.js} +0 -0
- /package/dist/{Separator-D7sD7RKj.js → Separator-BArl4OaB.js} +0 -0
- /package/dist/{TooltipProvider-CmZzCuaG.js → TooltipProvider-B3MkB_8P.js} +0 -0
- /package/dist/{_plugin-vue_export-helper-ok8pgSl5.js → _plugin-vue_export-helper-CBt_VvXa.js} +0 -0
- /package/dist/{compile-BOXjLUxu.js → compile-EXXzEr1q.js} +0 -0
- /package/dist/{constants-yKeKnE84.js → constants-BPOqYJAm.js} +0 -0
- /package/dist/{createContext-B44Sah_H.js → createContext-B2RaZ-b8.js} +0 -0
- /package/dist/{createLucideIcon-B6uNAU9G.js → createLucideIcon-DydS2qgk.js} +0 -0
- /package/dist/{presets-BP_ALM0m.js → presets-BW2b-fr1.js} +0 -0
- /package/dist/{prng-D27-B3tK.js → prng-Cg22zv8g.js} +0 -0
- /package/dist/{supportsCssTimeline-C5oe0lnD.js → supportsCssTimeline-BWenxvHU.js} +0 -0
- /package/dist/{useGlobalDark-CAhOXNLO.js → useGlobalDark-C28t0VWJ.js} +0 -0
- /package/dist/{useIntersectionPause-Cck5Uxk8.js → useIntersectionPause-Bj4sPkMh.js} +0 -0
- /package/dist/{useInterval-Dsmqwi03.js → useInterval-CNdua40W.js} +0 -0
- /package/dist/{useKeyboardShortcuts-CyIYrndH.js → useKeyboardShortcuts-BXWXOZ-9.js} +0 -0
- /package/dist/{useResizeObserver-CWCbk5Px.js → useResizeObserver-V6nq5gJb.js} +0 -0
- /package/dist/{useResolveTokenColor-r9pnNjqK.js → useResolveTokenColor-NUG2zYAW.js} +0 -0
- /package/dist/{useSortable-C8ReQ50P.js → useSortable-BVqlJRBR.js} +0 -0
- /package/dist/{useTextHighlight-CWEi25hf.js → useTextHighlight-NmBM5V_4.js} +0 -0
- /package/dist/{useTimer-3xqf_54b.js → useTimer-B_PAasDL.js} +0 -0
- /package/dist/{useUserInvalidAria-DoJKMZ3s.js → useUserInvalidAria-CDfJuakL.js} +0 -0
- /package/dist/{useViewportReady-RIr5Wgkh.js → useViewportReady-CvBcCYDf.js} +0 -0
|
@@ -0,0 +1,287 @@
|
|
|
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
|
+
BA.W-NO-GRAY — THE WARM-CHROMA FLOOR (R10-5 "No gray."). The ladder was
|
|
28
|
+
SPECIFIED warm (hue 48) but RESOLVED achromatic — at 6-10% sat across
|
|
29
|
+
L40-95 the painted OKLab chroma landed C 0.0055-0.0155 (below the ~0.020
|
|
30
|
+
perceptual gray floor) AND at hsl-48 the OKLab hue mapped to ~95° (a
|
|
31
|
+
yellow-green), NOT the warm-amber the --foreground ink carries (hsl-24 →
|
|
32
|
+
OKLab H≈56°). The fix is CHROMA-ONLY at constant L: warm the hue toward
|
|
33
|
+
the foreground register (hsl 28-34 → OKLab H 62-72°, warm MATERIAL not a
|
|
34
|
+
cast) AND lift the saturation off the gray floor. The L is unchanged (the
|
|
35
|
+
contrast contract — AA re-ratified, ±0.01 of HEAD). The mid/low-L rungs
|
|
36
|
+
clear the strong floor C≥0.020; the L90 chip is gamut-bound (it cannot
|
|
37
|
+
carry 0.020 at L90 without a visible cast — the triumvirate "tinted not
|
|
38
|
+
warm" trigger), so it lifts to a materially-warm C≈0.013 (~2.4× HEAD).
|
|
39
|
+
Machine-locked by proof:no-gray + tests-visual/no-gray.spec.ts. */
|
|
40
|
+
--neutral-0: hsl(40 30% 98%); /* L 98 — page surface (warm-cream, KEEP-NEUTRAL surface) */
|
|
41
|
+
--neutral-1: hsl(38 26% 95%); /* L 95 — soft field bg */
|
|
42
|
+
--neutral-2: hsl(34 28% 90%); /* L 90 — chip / tab-inactive bg (warm, gamut-bound C≈0.013) */
|
|
43
|
+
--neutral-3: hsl(33 30% 82%); /* L 82 — hover / highlight bg (warm, C≈0.025) */
|
|
44
|
+
--neutral-4: hsl(32 26% 70%); /* L 70 — subtle border (warm, C≈0.036) */
|
|
45
|
+
--neutral-5: hsl(30 22% 40%); /* L 40 — muted text (warm, C≈0.043; WCAG AA: 5.21:1 vs page / 4.90:1 vs muted) */
|
|
46
|
+
/* W7-α' (AK-FD1) — strong-muted text rung. One principled ladder step
|
|
47
|
+
(10 L darker, the 5→6 cadence above) past muted text toward
|
|
48
|
+
--foreground (L10). Sits at the 1/3 point of the L40→L10 muted→primary
|
|
49
|
+
gap: legible secondary text that reads less-faint than muted but not as
|
|
50
|
+
assertive as primary. By-COLOUR per the canon (a neutral step, not an
|
|
51
|
+
alpha mute). BA.W-NO-GRAY — re-saturated onto the warm identity in
|
|
52
|
+
lockstep with the ladder (hsl 28 24% — OKLab H 62°, C≈0.038, the warm
|
|
53
|
+
register; L held at 30). WCAG AA: 7.88:1 vs L98 page / 7.43:1 vs L95
|
|
54
|
+
muted (cf. neutral-5's 5.21:1) — comfortably above the 4.5:1 body floor. */
|
|
55
|
+
--neutral-6: hsl(28 24% 30%); /* L 30 — strong-muted text (secondary register, warm) */
|
|
56
|
+
|
|
57
|
+
--background: var(--neutral-0);
|
|
58
|
+
--foreground: hsl(24 10% 10%);
|
|
59
|
+
/* BA.W-NO-GRAY L1 — the warm-bias glass PLATE. --card was `var(--neutral-0)`
|
|
60
|
+
(the near-achromatic L98 page, OKLab C 0.0017) — so every glass plate
|
|
61
|
+
(Card/Button/Toast/Popover/Dialog/Sheet, all --card-derived) composited a
|
|
62
|
+
flat gray slab over a flat backdrop (the G1/G8 defect, the user's "no gray
|
|
63
|
+
... for cards, buttons"). Glass is TRANSMISSIVE — over a flat page there
|
|
64
|
+
is nothing behind to modulate, so the plate is its own near-neutral cream.
|
|
65
|
+
--card DECOUPLES from the page to a warm-cream value carrying a real OKLab
|
|
66
|
+
chroma (hsl 36 48% 97% → OKLab C 0.0062 at warm H 75°, L kept ~98 so the
|
|
67
|
+
page-card SURFACE read is byte-stable), so the plate reads WARM over ANY
|
|
68
|
+
backdrop — the plate floor (composited C ≥ 0.0035, ~2× HEAD) the gamut
|
|
69
|
+
allows a near-white translucent surface. The DARK --card is W-DARK-MATERIAL's
|
|
70
|
+
lifted hsl(24 8% 16%) (NOT re-warmed here — the dark register is its work).
|
|
71
|
+
Bounded: the cream family, never a tinted cast (the triumvirate bar). */
|
|
72
|
+
--card: hsl(36 48% 97%);
|
|
73
|
+
--card-foreground: var(--foreground);
|
|
74
|
+
--popover: var(--card);
|
|
75
|
+
--popover-foreground: var(--foreground);
|
|
76
|
+
|
|
77
|
+
/* R0G-5 (AO.W4) — warm-neutral public-data panel surface. One warmth step
|
|
78
|
+
off --card (hue 44 vs 48, +4 sat, −2 L) so a consumer's aurora-OFF
|
|
79
|
+
/dashboard/* surfaces read with the admin canon's warm-neutral chrome
|
|
80
|
+
instead of the colder bare card. Opaque surface (the --card family), not
|
|
81
|
+
a --surface-tint-* overlay. Consumer applies on /dashboard/* only. */
|
|
82
|
+
--surface-public-data-panel: hsl(44 16% 96%);
|
|
83
|
+
|
|
84
|
+
--muted: var(--neutral-1);
|
|
85
|
+
--muted-foreground: var(--neutral-5);
|
|
86
|
+
/* W7-α' (AK-FD1) — one rung less-faint than --muted-foreground for
|
|
87
|
+
secondary text that reads too-faint at the muted rung over resting
|
|
88
|
+
glass (CardDescription). By-colour neutral step, not alpha. */
|
|
89
|
+
--muted-foreground-strong: var(--neutral-6);
|
|
90
|
+
--secondary: var(--neutral-2);
|
|
91
|
+
--secondary-foreground: var(--foreground);
|
|
92
|
+
--accent: var(--neutral-3);
|
|
93
|
+
--accent-foreground: var(--foreground);
|
|
94
|
+
|
|
95
|
+
--border: var(--neutral-4);
|
|
96
|
+
--input: var(--neutral-4);
|
|
97
|
+
|
|
98
|
+
--primary: hsl(24 10% 10%);
|
|
99
|
+
--primary-foreground: var(--neutral-0);
|
|
100
|
+
--destructive: hsl(0 72% 50%);
|
|
101
|
+
--destructive-foreground: var(--neutral-0);
|
|
102
|
+
--ring: hsl(24 10% 10%);
|
|
103
|
+
--shadow: hsl(24 10% 10%);
|
|
104
|
+
--shadow-color: var(--foreground);
|
|
105
|
+
|
|
106
|
+
/* AQ.W2 §4 — native-control accent. `accent-color` is an inherited
|
|
107
|
+
built-in <color>, so per the §2b resolve-late discipline it reads a
|
|
108
|
+
dedicated UNREGISTERED token set per-mode (NOT light-dark()) and is
|
|
109
|
+
re-specified inside `.dark` — otherwise the accent freezes to the
|
|
110
|
+
light shade at the cascade root. Light: muted-black checkmarks /
|
|
111
|
+
sliders on warm cream. Dark arm (`.dark`) reads `--ring` (mid-tone),
|
|
112
|
+
not the near-white dark `--primary`, so a checkbox's white checkmark
|
|
113
|
+
keeps contrast headroom (accent-color.md §5). */
|
|
114
|
+
--accent-color: var(--primary);
|
|
115
|
+
|
|
116
|
+
/* Border hairline at whisper alpha — the canonical rung for
|
|
117
|
+
section-spine / panel-edge hairlines a consumer wants to read as an
|
|
118
|
+
iOS-26 whisper rather than a hard rule. Consumers compose this named
|
|
119
|
+
rung instead of hand-mixing `color-mix(... var(--border) ...)`
|
|
120
|
+
per-site (token-first). 45% is the canonical whisper. Auto-dark via
|
|
121
|
+
`--border` (which is `var(--neutral-4)`, light-dark()-resolved). */
|
|
122
|
+
--border-soft: color-mix(in srgb, var(--border) 45%, transparent);
|
|
123
|
+
|
|
124
|
+
/* AQ.W3 §W3.4 — tokenized scrollbar thumb + track. Minted in the color
|
|
125
|
+
block so the `scrollbar-color` / `::-webkit-scrollbar-thumb` rungs read a
|
|
126
|
+
single source. Auto-dark via `--muted-foreground` (light-dark()-resolved,
|
|
127
|
+
AQ.W2) — the OS scrollbar chrome also honors `color-scheme: dark`, so the
|
|
128
|
+
custom thumb tracks the dark surface without an explicit dark mirror. The
|
|
129
|
+
thumb α (25%) matches the prior inline `.scrollbar-thin` value byte-for-
|
|
130
|
+
byte; `transparent` track keeps the scroll-pane glass reading through. */
|
|
131
|
+
--scrollbar-thumb: color-mix(in srgb, var(--muted-foreground) 25%, transparent);
|
|
132
|
+
--scrollbar-track: transparent;
|
|
133
|
+
|
|
134
|
+
/* Foreground-tint rungs — canonical handles for the 36+ raw
|
|
135
|
+
`color-mix(in srgb, var(--foreground) N%, transparent)` sites surveyed
|
|
136
|
+
in R5 axis-1. Each rung's α is named in its key (4 → 4%, 22 → 22%).
|
|
137
|
+
Auto-dark via --foreground; no explicit dark mirrors needed. R5
|
|
138
|
+
vocab.γ gap row 1. Consumers land in W2.B + W3.C. */
|
|
139
|
+
--surface-tint-4: color-mix(in srgb, var(--foreground) 4%, transparent);
|
|
140
|
+
--surface-tint-6: color-mix(in srgb, var(--foreground) 6%, transparent);
|
|
141
|
+
--surface-tint-8: color-mix(in srgb, var(--foreground) 8%, transparent);
|
|
142
|
+
--surface-tint-10: color-mix(in srgb, var(--foreground) 10%, transparent);
|
|
143
|
+
--surface-tint-12: color-mix(in srgb, var(--foreground) 12%, transparent);
|
|
144
|
+
--surface-tint-15: color-mix(in srgb, var(--foreground) 15%, transparent);
|
|
145
|
+
--surface-tint-18: color-mix(in srgb, var(--foreground) 18%, transparent);
|
|
146
|
+
--surface-tint-22: color-mix(in srgb, var(--foreground) 22%, transparent);
|
|
147
|
+
--surface-tint-25: color-mix(in srgb, var(--foreground) 25%, transparent);
|
|
148
|
+
/* Higher-α rungs added at L.W5 (absorbs K R4 — 4 P1 sites whose
|
|
149
|
+
literal `color-mix(in srgb, var(--foreground) {35,40,70}%, transparent)`
|
|
150
|
+
expressions bypassed the canonical token family). See `docs/tranches/L/
|
|
151
|
+
audit/W5-A-doc-cohort-proof.md`. */
|
|
152
|
+
--surface-tint-35: color-mix(in srgb, var(--foreground) 35%, transparent);
|
|
153
|
+
--surface-tint-40: color-mix(in srgb, var(--foreground) 40%, transparent);
|
|
154
|
+
--surface-tint-70: color-mix(in srgb, var(--foreground) 70%, transparent);
|
|
155
|
+
|
|
156
|
+
/* Muted-tinted surface rungs — canonical handles for the 9 raw
|
|
157
|
+
`color-mix(in srgb, var(--muted) N%, transparent)` sites in
|
|
158
|
+
FuzzySearch / SegmentedTabs / Slider scoped CSS. (AI.W5-δ — the
|
|
159
|
+
ProgressiveSidebar consumer retired at the wave; the canonical token
|
|
160
|
+
rung lives on for the remaining consumers.) Auto-dark via --muted.
|
|
161
|
+
R5 vocab.γ axis-1 row. */
|
|
162
|
+
--muted-soft: color-mix(in srgb, var(--muted) 30%, transparent);
|
|
163
|
+
--muted-medium: color-mix(in srgb, var(--muted) 50%, transparent);
|
|
164
|
+
|
|
165
|
+
/* ═══════════════════════════════════════════════
|
|
166
|
+
§5c CONSTELLATION — Canvas2D proximity-graph lattice (AX.W17)
|
|
167
|
+
|
|
168
|
+
The H.W4 legibility intelligence promoted from the slides deck to
|
|
169
|
+
LIBRARY identity: the node tones, the edge hairline color, the per-mode
|
|
170
|
+
edge-alpha multipliers, and the field-yields-to-type translucency knob.
|
|
171
|
+
Only `--constellation-accent` (the anomaly tint) stays a CONSUMER preset
|
|
172
|
+
(slides aliases it to `--ncsu-red`); the library ships a neutral default.
|
|
173
|
+
|
|
174
|
+
PLAIN-hsl LITERALS, per arm — NEVER `light-dark()` and NEVER a
|
|
175
|
+
`var(--neutral-*)`/`var(--foreground)`/`var(--border)`/`var(--card)`
|
|
176
|
+
alias. Canvas2D silently REJECTS a `light-dark()` value into
|
|
177
|
+
`strokeStyle`/`fillStyle` (the W30 86.3%-red-splatter cardinal defect),
|
|
178
|
+
and the rejection is identical whether the value is a literal
|
|
179
|
+
`light-dark(…)` OR a `var()` that RESOLVES to one — so the constellation
|
|
180
|
+
tokens are plain-hsl LEAVES, the `:root` vs `.dark` cascade carrying two
|
|
181
|
+
literals. `proof:constellation-tokens` clause (c) machine-locks this
|
|
182
|
+
(the no-`light-dark(`-substring NOR transitive-`var()` static assertion).
|
|
183
|
+
═══════════════════════════════════════════════ */
|
|
184
|
+
/* Node tones — readable on the warm-cream ground. The two-tone split (the
|
|
185
|
+
`dim` half rides `-node-dim`). Warm-grey ink, NOT a neutral-ladder alias. */
|
|
186
|
+
--constellation-node: hsl(36 8% 46%);
|
|
187
|
+
--constellation-node-dim: hsl(36 8% 60%);
|
|
188
|
+
/* Edge hairline stroke — warm near-black on cream (the plain-hsl complement
|
|
189
|
+
the slides deck reads to fix the `--foreground` light-dark() leak). */
|
|
190
|
+
--constellation-line: hsl(24 14% 14%);
|
|
191
|
+
/* Anomaly tint — NEUTRAL library default (a desaturated warm accent). The
|
|
192
|
+
consumer overrides this (slides → `--ncsu-red`); the library does NOT
|
|
193
|
+
bake a brand hue. This is the single consumer-preset boundary. */
|
|
194
|
+
--constellation-accent: hsl(18 58% 46%);
|
|
195
|
+
/* Edge-alpha multipliers — replace the magic `0.17` hairline / pointer-web
|
|
196
|
+
literals. The cream ground lifts the node tones, so the field can recede;
|
|
197
|
+
the focus-proximity edge reads a touch stronger. */
|
|
198
|
+
--constellation-edge-alpha: 0.22;
|
|
199
|
+
--constellation-edge-focus-alpha: 0.34;
|
|
200
|
+
/* §7 field-yields-to-type translucency knob — the legible-but-RECESSIVE
|
|
201
|
+
MIDPOINT, NOT max-legibility. On cream the node tones already read, so the
|
|
202
|
+
field recedes further: BELOW the slides 0.92 max-legibility reference. */
|
|
203
|
+
--constellation-alpha: 0.80;
|
|
204
|
+
/* ACCENT-edge skin weights (AZ.W-CON-GEN G3) — the flagged-node EDGE legibility
|
|
205
|
+
set the optional `drawEdges(…, accentIndex)` pass reads. `--constellation-accent`
|
|
206
|
+
(above) is the edge TINT; `-edge-floor` is the neutral-edge alpha MINIMUM so a
|
|
207
|
+
distance-faded hairline clears the perceptual floor on a bright ground (default
|
|
208
|
+
0 → byte-identical, the consumer lifts it on a very-light backdrop);
|
|
209
|
+
`-edge-accent-alpha` is the accent-incident edge multiplier (the flagged-node
|
|
210
|
+
tether reads a touch louder than the neutral lattice). Mode-arm where they
|
|
211
|
+
differ — the dark arm carries its own (dark-arm.css §5c). */
|
|
212
|
+
--constellation-edge-floor: 0;
|
|
213
|
+
--constellation-edge-accent-alpha: 0.30;
|
|
214
|
+
|
|
215
|
+
/* §interaction — the warp spring + the gravity-well tunings (NUMERIC, NOT
|
|
216
|
+
colors — read ONCE on mount via parseFloat, never reach a Canvas2D
|
|
217
|
+
fillStyle, so immune to the W30 light-dark()/Canvas2D leak; AY.W-CON2).
|
|
218
|
+
Mode-INVARIANT, declared ONCE in :root (the .dark arm needs no numeric
|
|
219
|
+
re-declare — a per-mode value SPLIT is what proof:constellation-tokens
|
|
220
|
+
clause (c) flags, and these tunings are identical in both modes).
|
|
221
|
+
`--constellation-warp-response` is the keyframes.js ANGULAR PERIOD (the
|
|
222
|
+
SwiftUI .spring(response:) axis), NOT a settle-duration — at ζ=1 the 2%
|
|
223
|
+
settle lands at t₂ ≈ 5.83/ω₀ ≈ 0.93·response (the engine keeps the
|
|
224
|
+
keyframes.js ω₀ = 2π/response convention, mints no second ω). */
|
|
225
|
+
--constellation-warp-response: 0.55; /* s — keyframes.js angular period (NOT a settle) */
|
|
226
|
+
--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) */
|
|
228
|
+
--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) */
|
|
230
|
+
--constellation-well-max-speed: 4.0; /* base-width px/frame cap — the no-slingshot clamp */
|
|
231
|
+
--constellation-well-hold-ms: 140; /* ms hold before the well arms */
|
|
232
|
+
--constellation-wander-idle: 8000; /* ms — min idle between auto re-targets (the W-CON1 drift cadence) */
|
|
233
|
+
--constellation-wander-jitter: 8000; /* ms — random extra idle per cadence (so the rhythm is not metronomic) */
|
|
234
|
+
|
|
235
|
+
/* ═══════════════════════════════════════════════
|
|
236
|
+
§6 SECTION PALETTE — 13-stop jewel tones (light)
|
|
237
|
+
═══════════════════════════════════════════════ */
|
|
238
|
+
/* AV.W16 TW2 — oklch ramp (perceptually-even L; hue preserved from the
|
|
239
|
+
prior hsl() cadence). Categorical jewel tones — distinct hues, not a
|
|
240
|
+
monotone scale. Authored as oklch pairs with the .dark mirror. */
|
|
241
|
+
--section-color-0: oklch(0.552 0.192 359.8); /* rose */
|
|
242
|
+
--section-color-1: oklch(0.502 0.165 305.9); /* purple */
|
|
243
|
+
--section-color-2: oklch(0.484 0.163 265.5); /* indigo */
|
|
244
|
+
--section-color-3: oklch(0.542 0.089 222.8); /* teal-cyan */
|
|
245
|
+
--section-color-4: oklch(0.551 0.088 171.1); /* forest */
|
|
246
|
+
--section-color-5: oklch(0.623 0.124 69.6); /* amber */
|
|
247
|
+
--section-color-6: oklch(0.579 0.201 30.4); /* tomato-red */
|
|
248
|
+
--section-color-7: oklch(0.532 0.180 317.5); /* violet */
|
|
249
|
+
--section-color-8: oklch(0.520 0.176 8.4); /* ruby */
|
|
250
|
+
--section-color-9: oklch(0.492 0.038 239.6); /* slate-blue */
|
|
251
|
+
--section-color-10: oklch(0.556 0.103 128.8); /* olive */
|
|
252
|
+
--section-color-11: oklch(0.601 0.092 208.0); /* ocean */
|
|
253
|
+
--section-color-12: oklch(0.513 0.163 291.9); /* periwinkle */
|
|
254
|
+
|
|
255
|
+
/* Accent colors */
|
|
256
|
+
--accent-pink: oklch(0.613 0.197 353.8);
|
|
257
|
+
--section-heading: oklch(0.545 0.189 352.8);
|
|
258
|
+
--accent-red: oklch(0.574 0.216 27.5);
|
|
259
|
+
|
|
260
|
+
/* ═══════════════════════════════════════════════
|
|
261
|
+
§6b VIZ BASIS — core brand hues
|
|
262
|
+
═══════════════════════════════════════════════ */
|
|
263
|
+
--viz-fourier: oklch(0.579 0.201 30.4);
|
|
264
|
+
--viz-chebyshev: oklch(0.484 0.163 265.5);
|
|
265
|
+
--viz-legendre: oklch(0.532 0.180 317.5);
|
|
266
|
+
--viz-amber: var(--section-color-5);
|
|
267
|
+
--viz-green: var(--section-color-4);
|
|
268
|
+
|
|
269
|
+
/* Semantic UI accents */
|
|
270
|
+
--tier-featured: oklch(0.841 0.173 84.2);
|
|
271
|
+
--tier-saved: oklch(0.676 0.176 252.3);
|
|
272
|
+
--like: oklch(0.633 0.200 24.9);
|
|
273
|
+
--success: oklch(0.720 0.192 149.5);
|
|
274
|
+
--warning: oklch(0.770 0.165 70.6);
|
|
275
|
+
--info: oklch(0.626 0.186 259.6);
|
|
276
|
+
--delete: oklch(0.597 0.198 25.5);
|
|
277
|
+
|
|
278
|
+
/* Semantic foregrounds — text/glyph atop --success/--warning/--info plates.
|
|
279
|
+
Notification.vue currently hardcodes `text-white`/`text-foreground`
|
|
280
|
+
inline; W2 migrates consumers to read these tokens. Warning carries a
|
|
281
|
+
dark glyph because the amber plate is too luminous for white. R5
|
|
282
|
+
vocab.γ gap row 4. */
|
|
283
|
+
--success-foreground: var(--neutral-0);
|
|
284
|
+
--warning-foreground: hsl(24 10% 10%);
|
|
285
|
+
--info-foreground: var(--neutral-0);
|
|
286
|
+
|
|
287
|
+
}
|
|
@@ -0,0 +1,308 @@
|
|
|
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
|
+
/* BA.W-DARK-MATERIAL scope 1 — the luminous-dark elevation widen. The page floor
|
|
33
|
+
deepens (L6→L4, +1 warmth-sat) and the --card plate LIFTS (L10→L16, below) so the
|
|
34
|
+
page↔card gap goes from the HEAD 4-L collapse (card/page relL ≈ 2.0×, a 0.003-luma
|
|
35
|
+
band) to a real iOS/Material dark elevation step (card/page relL ≈ 5×, the five glass
|
|
36
|
+
rungs composite into a perceptible ladder). LOCKSTEP with light-dark.css:70/80.
|
|
37
|
+
BA.W-NO-GRAY — the WARM-CHROMA FLOOR dark arm, in LOCKSTEP with light-dark.css. The
|
|
38
|
+
dark neutrals warm off the achromatic hsl-24/48 onto the warm identity (hsl 28-36,
|
|
39
|
+
OKLab C off the gray floor on the NEW dark base — chip→border C 0.0138-0.0286, muted-fg
|
|
40
|
+
C 0.0255). The --neutral-0 page (hsl 24 9% 4%) is W-DARK-MATERIAL's luminance floor —
|
|
41
|
+
KEEP (chroma-only on the rungs above it). L held — the dark AA contract preserved. */
|
|
42
|
+
--neutral-0: hsl(24 9% 4%); /* L 4 — page surface (dark, deepened — W-DARK-MATERIAL) */
|
|
43
|
+
--neutral-1: hsl(28 12% 11%); /* L 11 — soft field (warm) */
|
|
44
|
+
--neutral-2: hsl(28 14% 16%); /* L 16 — chip / tab-inactive (warm, C≈0.014) */
|
|
45
|
+
--neutral-3: hsl(30 18% 22%); /* L 22 — hover / highlight (warm, C≈0.022) */
|
|
46
|
+
--neutral-4: hsl(30 16% 34%); /* L 34 — subtle border (warm, C≈0.029) */
|
|
47
|
+
--neutral-5: hsl(34 14% 62%); /* L 62 — muted text (warm, C≈0.026; WCAG AA: 7.64:1 vs page) */
|
|
48
|
+
/* W7-α' (AK-FD1) — strong-muted text. Same principled ladder step as
|
|
49
|
+
light, mirrored: 10 L LIGHTER than muted (62→72) toward --foreground
|
|
50
|
+
(L90), the 1/3 point of the L62→L90 muted→primary gap. By-colour.
|
|
51
|
+
BA.W-NO-GRAY — re-saturated onto the warm identity (hsl 36 14% — OKLab
|
|
52
|
+
C≈0.019, warm). WCAG AA: 10.29:1 vs L4 page (cf. neutral-5's 7.64:1). */
|
|
53
|
+
--neutral-6: hsl(36 14% 72%); /* L 72 — strong-muted text (secondary register, warm) */
|
|
54
|
+
|
|
55
|
+
/* --background / --card-foreground / --popover-foreground / --muted /
|
|
56
|
+
--muted-foreground{,-strong} / --secondary{,-foreground} /
|
|
57
|
+
--accent{,-foreground} / --border / --input are pure var()-aliases —
|
|
58
|
+
DELETED here (AQ.W2 §2a): they auto-track the --neutral-* ladder +
|
|
59
|
+
--foreground above. Re-declaring them would be redundant. */
|
|
60
|
+
--foreground: hsl(48 10% 90%);
|
|
61
|
+
/* BA.W-DARK-MATERIAL scope 1 — the --card plate LIFTS L10→L16 (a warm-dark elevated
|
|
62
|
+
surface, macOS-window territory) so it sits ~5× the deepened L4 page relL — a
|
|
63
|
+
clearly distinct surface the five glass rungs ladder up from. LOCKSTEP light-dark.css:80. */
|
|
64
|
+
--card: hsl(24 8% 16%);
|
|
65
|
+
--popover: hsl(24 8% 16%);
|
|
66
|
+
|
|
67
|
+
/* R0G-5 (AO.W4) — dark mirror of the warm-neutral public-data panel.
|
|
68
|
+
--card's dark hsl(24 8% 16%) nudged one warmth step toward amber
|
|
69
|
+
(24→36) + +1 sat + +2 L so the dark dashboard panel lifts off the page.
|
|
70
|
+
BA.W-DARK-MATERIAL — re-anchored L12→L18 to stay ABOVE the lifted L16 card
|
|
71
|
+
(LOCKSTEP light-dark.css:82). */
|
|
72
|
+
--surface-public-data-panel: hsl(36 9% 18%);
|
|
73
|
+
|
|
74
|
+
/* BA.W-DARK-MATERIAL scope 4 — the chromatic dark --primary. HEAD was an achromatic
|
|
75
|
+
cream hsl(48 10% 90%) (oklab chroma ≈ 0.005 — every filled/active/selected control
|
|
76
|
+
painted a flat pale-grey slab). Re-anchored onto the legendre-violet house identity
|
|
77
|
+
hue (--section-color-7 / --viz-legendre's oklch register — a LIBRARY-identity chroma,
|
|
78
|
+
NOT a borrowed demo preset), oklab chroma 0.134. The dark ink --primary-foreground
|
|
79
|
+
stays hsl(24 10% 10%): 7.15:1 over the violet (clears the 4.5 text + 3.0 graphic
|
|
80
|
+
floors). Critical now the disco/audacious texture retires (R8-18) — the accent's
|
|
81
|
+
COLOR carries the identity. LOCKSTEP light-dark.css:84. */
|
|
82
|
+
--primary: oklch(0.739 0.134 318.1);
|
|
83
|
+
--primary-foreground: hsl(24 10% 10%);
|
|
84
|
+
/* AX.W44 — the `.dark` class fallback floor, in LOCKSTEP with the light-dark()
|
|
85
|
+
enhancement arm above (§2c). Same lifted `hsl(0 80% 60%)` so a
|
|
86
|
+
@supports-split engine and a class-toggle engine paint the SAME dark red
|
|
87
|
+
(4.60:1 as ink over --card / 5.03:1 as a plate vs page). */
|
|
88
|
+
--destructive: hsl(0 80% 60%);
|
|
89
|
+
--destructive-foreground: hsl(48 10% 90%);
|
|
90
|
+
--ring: hsl(48 10% 70%);
|
|
91
|
+
--shadow: hsl(0 0% 5%);
|
|
92
|
+
|
|
93
|
+
/* Section palette — brightened for dark backgrounds (oklch; AV.W16 TW2 —
|
|
94
|
+
mirrors the light-dark() dark halves above; hue preserved) */
|
|
95
|
+
--section-color-0: oklch(0.721 0.145 354.0);
|
|
96
|
+
--section-color-1: oklch(0.733 0.113 308.2);
|
|
97
|
+
--section-color-2: oklch(0.718 0.107 268.4);
|
|
98
|
+
--section-color-3: oklch(0.767 0.091 219.9);
|
|
99
|
+
--section-color-4: oklch(0.776 0.105 172.6);
|
|
100
|
+
--section-color-5: oklch(0.813 0.109 78.2);
|
|
101
|
+
--section-color-6: oklch(0.693 0.151 28.1);
|
|
102
|
+
--section-color-7: oklch(0.739 0.134 318.1);
|
|
103
|
+
--section-color-8: oklch(0.709 0.142 2.3);
|
|
104
|
+
--section-color-9: oklch(0.763 0.032 239.0);
|
|
105
|
+
--section-color-10: oklch(0.794 0.116 127.9);
|
|
106
|
+
--section-color-11: oklch(0.805 0.095 206.7);
|
|
107
|
+
--section-color-12: oklch(0.719 0.115 295.6);
|
|
108
|
+
|
|
109
|
+
--accent-pink: oklch(0.683 0.131 354.7);
|
|
110
|
+
--section-heading: oklch(0.711 0.123 349.3);
|
|
111
|
+
--accent-red: oklch(0.644 0.165 22.9);
|
|
112
|
+
|
|
113
|
+
--viz-fourier: oklch(0.693 0.151 28.1);
|
|
114
|
+
--viz-chebyshev: oklch(0.718 0.107 268.4);
|
|
115
|
+
--viz-legendre: oklch(0.739 0.134 318.1);
|
|
116
|
+
|
|
117
|
+
/* BA.W-CONFIG-CHASSIS.1 (CFG-4) — the `.dark` class fallback floor for the
|
|
118
|
+
configurator divider register, in LOCKSTEP with the `light-dark()`
|
|
119
|
+
enhancement arm minted in offsets-sizing.css (the dark halves). A
|
|
120
|
+
@supports-split engine (no `light-dark()`) and a class-toggle engine paint
|
|
121
|
+
the SAME lifted divider: off the L34 `--border` (too close to the L16
|
|
122
|
+
glass plate) toward the L90 `--foreground` warm-ink so a visible luminance
|
|
123
|
+
step survives the dark glass-floating surface. The SECTION divider runs
|
|
124
|
+
heavier than the inter-row hairline; the faint section tonal step is the
|
|
125
|
+
3% foreground wash. */
|
|
126
|
+
--configurator-divider: color-mix(in srgb, var(--foreground) 22%, transparent);
|
|
127
|
+
--configurator-divider-section: color-mix(in srgb, var(--foreground) 30%, transparent);
|
|
128
|
+
--configurator-section-tint: color-mix(in srgb, var(--foreground) 3%, transparent);
|
|
129
|
+
/* --viz-amber / --viz-green / --meter-track-stroke are pure var()-aliases
|
|
130
|
+
(→ --section-color-5/-4 / --foreground) — DELETED (§2a); they auto-track
|
|
131
|
+
their sources, which convert via §-1b. */
|
|
132
|
+
|
|
133
|
+
/* O.W6 Lane D — WCAG companion labels lift to L≈0.85 against the
|
|
134
|
+
deep dark canvas; same two-token discipline as light mode (canvas
|
|
135
|
+
hue preserved at `--chart-*`; only the label register shifts). */
|
|
136
|
+
--chart-ping-label: oklch(0.85 0.12 230);
|
|
137
|
+
--chart-download-label: oklch(0.85 0.14 22);
|
|
138
|
+
--chart-upload-label: oklch(0.85 0.12 55);
|
|
139
|
+
--chart-jitter-label: oklch(0.85 0.14 305);
|
|
140
|
+
|
|
141
|
+
--tier-featured: oklch(0.867 0.165 88.7);
|
|
142
|
+
--tier-saved: oklch(0.748 0.135 250.1);
|
|
143
|
+
--like: oklch(0.690 0.162 22.2);
|
|
144
|
+
--success: oklch(0.805 0.186 151.6);
|
|
145
|
+
--warning: oklch(0.809 0.150 76.6);
|
|
146
|
+
--info: oklch(0.713 0.138 259.5);
|
|
147
|
+
--delete: oklch(0.644 0.170 23.1);
|
|
148
|
+
|
|
149
|
+
/* Semantic foregrounds — off-white over dark plates. Mirrors the
|
|
150
|
+
`--destructive-foreground` dark pattern (hsl 48 10% 90%). The warning
|
|
151
|
+
glyph stays dark-on-amber; the dark amber rung is luminous enough that
|
|
152
|
+
a darker glyph still reads (matches light-mode behaviour). */
|
|
153
|
+
--success-foreground: hsl(48 10% 96%);
|
|
154
|
+
--warning-foreground: hsl(24 10% 10%);
|
|
155
|
+
--info-foreground: hsl(48 10% 96%);
|
|
156
|
+
|
|
157
|
+
--shadow-cartoon: 3px 3px 0px 0px color-mix(in srgb, var(--foreground) 6%, transparent);
|
|
158
|
+
--shadow-cartoon-hover: 4px 4px 0px 0px color-mix(in srgb, var(--foreground) 8%, transparent);
|
|
159
|
+
--shadow-soft: 0 4px 12px rgba(0, 0, 0, 0.3);
|
|
160
|
+
--shadow-elevated: 0 8px 24px rgba(0, 0, 0, 0.35);
|
|
161
|
+
--shadow-modal:
|
|
162
|
+
4px 4px 0px 0px color-mix(in srgb, var(--foreground) 6%, transparent),
|
|
163
|
+
0 24px 64px color-mix(in srgb, var(--foreground) 18%, transparent);
|
|
164
|
+
|
|
165
|
+
--shadow-cartoon-color: rgb(255 255 255 / 0.07);
|
|
166
|
+
--shadow-cartoon-color-soft: rgb(255 255 255 / 0.03);
|
|
167
|
+
|
|
168
|
+
/* §5c CONSTELLATION — dark arm (AX.W17). The H.W4 dark-mode lift: the node
|
|
169
|
+
tones step UP off the ink ground (the light arm's mid-grey would vanish on
|
|
170
|
+
L6 black), the hairline goes warm off-white, the field carries a touch more
|
|
171
|
+
presence to read at all. PLAIN-hsl literals, NEVER light-dark()/var(). */
|
|
172
|
+
--constellation-node: hsl(42 9% 72%);
|
|
173
|
+
--constellation-node-dim: hsl(42 8% 56%);
|
|
174
|
+
--constellation-line: hsl(45 12% 86%);
|
|
175
|
+
/* Anomaly — brightened for the deep canvas (same neutral-default register;
|
|
176
|
+
the consumer still overrides to its brand). */
|
|
177
|
+
--constellation-accent: hsl(20 70% 60%);
|
|
178
|
+
/* The dark hairlines lift harder over the ink ground, so the edge multipliers
|
|
179
|
+
run a touch lower than light to keep the field recessive. */
|
|
180
|
+
--constellation-edge-alpha: 0.20;
|
|
181
|
+
--constellation-edge-focus-alpha: 0.32;
|
|
182
|
+
/* §7 — the ink ground needs MORE field presence than cream to read at all, so
|
|
183
|
+
the dark alpha is modestly HIGHER than the light arm — but still BELOW the
|
|
184
|
+
slides 1.0 max-legibility reference (the recessive midpoint, not 1.0). */
|
|
185
|
+
--constellation-alpha: 0.88;
|
|
186
|
+
/* ACCENT-edge skin — dark arm (AZ.W-CON-GEN G3). The floor stays 0 (the dark
|
|
187
|
+
ground already lifts the hairlines, so no perceptual-floor lift is needed); the
|
|
188
|
+
accent-incident multiplier runs a touch louder on the deeper ground so the
|
|
189
|
+
flagged-node tether reads (the 0.34 dark reference). */
|
|
190
|
+
--constellation-edge-floor: 0;
|
|
191
|
+
--constellation-edge-accent-alpha: 0.34;
|
|
192
|
+
|
|
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. */
|
|
196
|
+
--glass-opacity-wash: 0.38;
|
|
197
|
+
--glass-opacity-quiet: 0.58;
|
|
198
|
+
--glass-opacity-resting: 0.72;
|
|
199
|
+
--glass-opacity-floating: 0.88;
|
|
200
|
+
--glass-opacity-overlay: 0.96;
|
|
201
|
+
--glass-opacity-chassis: 0.36;
|
|
202
|
+
--glass-grain-opacity: 0.045;
|
|
203
|
+
--glass-highlight: inset 0 0.5px 0 0 hsl(0 0% 100% / 0.08);
|
|
204
|
+
|
|
205
|
+
/* BA.W-DARK-MATERIAL scope 2 — dark glass is TRANSMISSIVE. The dark rung
|
|
206
|
+
backdrop-filter carries a saturate/brightness LUMINOSITY LIFT (the iOS-dark
|
|
207
|
+
"dark glass glows where light passes" model) so a backdrop GLOWS through the
|
|
208
|
+
plate instead of dying behind it. The light arm sits at saturate(1.05) — over a
|
|
209
|
+
near-black canvas that reads as no transmission; the dark arm lifts it so the
|
|
210
|
+
aurora/page behind reads with chroma + a glow. The blur() RADIUS is the
|
|
211
|
+
light-arm primitive UNTOUCHED (W-GLASS-CAL owns the radius dial-back) — only the
|
|
212
|
+
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);
|
|
219
|
+
--glass-blur-dock: blur(calc(var(--glass-blur-dock-radius) * var(--glass-level))) saturate(1.30) brightness(1.12);
|
|
220
|
+
|
|
221
|
+
/* BA.W-DARK-MATERIAL scope 3 — the dark arm of the adaptive --glass-tint-* seam (the
|
|
222
|
+
SAME seam, NO third fork). The W55 self-engage block (glass/ladder.css) re-points
|
|
223
|
+
--glass-tint-source → --glass-tint-ink at --glass-tint-strength-aa. In LIGHT that is
|
|
224
|
+
a darken-over-bright; in DARK --glass-tint-ink resolves the light-cream --foreground,
|
|
225
|
+
so the SAME re-point becomes a gentle LIFT toward a luminous translucent dark (the
|
|
226
|
+
MIRROR of the light darken — the plate lifts OFF the deep page rather than dying into
|
|
227
|
+
it). HEAD applied the light 20% strength in dark too (the wrong-direction over-wash —
|
|
228
|
+
it flattened the silhouette toward cream). The dark arm re-declares the BOUNDED
|
|
229
|
+
strength to a gentle luminous-dark lift (12%) — over-light's 20% is a light-mode
|
|
230
|
+
concern (the bright bucket never engages in dark — there is no white backdrop). The
|
|
231
|
+
--glass-tint-ink token stays var(--foreground) (the light cream is the correct LIFT
|
|
232
|
+
ink in dark); only the STRENGTH re-tunes. The unconditional content-tier floor
|
|
233
|
+
(--glass-tint-strength-floor, light-mode-calm) is NOT re-declared here — in dark the
|
|
234
|
+
self-engage uses the AA arm directly (the luminous-dark lift is the desired default,
|
|
235
|
+
not a sub-perceptual silhouette). */
|
|
236
|
+
--glass-tint-strength-aa: 12%;
|
|
237
|
+
/* The unconditional content-tier self-engage (glass/ladder.css) reads
|
|
238
|
+
--glass-tint-strength-floor. In LIGHT that is the 4% sub-perceptual silhouette (the
|
|
239
|
+
calm-light card stays warm); in DARK the content tiers WANT the full luminous-dark
|
|
240
|
+
lift as the default (the plate lifts off the deep page — the desired register, not a
|
|
241
|
+
sub-perceptual edge), so the floor re-resolves to the AA lift here. ONE token, two
|
|
242
|
+
mode arms — the content-tier self-engage needs no mode branch. */
|
|
243
|
+
--glass-tint-strength-floor: 12%;
|
|
244
|
+
|
|
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);
|
|
267
|
+
|
|
268
|
+
/* Hairline-accent dark mirror — see light counterpart at line ~404. */
|
|
269
|
+
--hairline-catch-light: inset 0 0.5px 0 0 rgb(255 255 255 / 0.05);
|
|
270
|
+
--hairline-under-shadow: 0 0.5px 0 0 rgb(0 0 0 / 0.06);
|
|
271
|
+
|
|
272
|
+
/* Specular + curvature — softened for dark backdrops. Disco-grain stays
|
|
273
|
+
at the same opacity ceiling; the dark grain blend already lifts it. */
|
|
274
|
+
--glass-specular: inset 0 1.5px 0 0 hsl(0 0% 100% / 0.30);
|
|
275
|
+
/* AV.W15 M3 — the full-perimeter rim remaps to its dark weight inside
|
|
276
|
+
`.dark` (mirroring the `--glass-specular` remap above). The lit token
|
|
277
|
+
resolves to the `-dark` alpha on the deeper canvas. */
|
|
278
|
+
--glass-edge-light: var(--glass-edge-light-dark);
|
|
279
|
+
|
|
280
|
+
/* AW.W23 — the chromatic-fringe + adaptive-tint dark arm. The fringe drops
|
|
281
|
+
to a lower-luminance warm/cool pair on the deep canvas; `--glass-tint-
|
|
282
|
+
source` auto-flips with `--card` (no override needed — the default already
|
|
283
|
+
resolves the dark card). */
|
|
284
|
+
--glass-fringe-warm: oklch(0.78 0.07 40 / 0.18);
|
|
285
|
+
--glass-fringe-cool: oklch(0.74 0.06 230 / 0.14);
|
|
286
|
+
/* AX.W52 D19 — the curvature sheen is genuinely SOFTER on the deep canvas (the
|
|
287
|
+
prior dark arm re-declared the overlay BYTE-IDENTICAL to light, so it read
|
|
288
|
+
HARDER over the dark substrate — an unsoftened-dark defect). The `:root`
|
|
289
|
+
`--glass-curvature-overlay` already reads `var(--glass-curvature-intensity)`,
|
|
290
|
+
so lowering just the intensity here re-resolves the SAME warm-cream recipe at
|
|
291
|
+
a softer alpha — no byte-identical re-declaration. */
|
|
292
|
+
--glass-curvature-intensity: 0.012;
|
|
293
|
+
|
|
294
|
+
/* Gold — boosted for dark (oklch; AV.W16 TW2) */
|
|
295
|
+
--gold: oklch(0.784 0.143 86.0);
|
|
296
|
+
--gold-light: oklch(0.898 0.182 97.4);
|
|
297
|
+
--gold-dark: oklch(0.678 0.150 63.8);
|
|
298
|
+
|
|
299
|
+
/* Silver — lifted for dark (BA.W-ATLAS-RECONCILE C-3; mirrors gold's dark
|
|
300
|
+
arm: the polished metal lifts ~+0.03 L so the structure register reads on
|
|
301
|
+
the deep canvas. `--silver-deep` is mode-invariant — NOT re-declared here,
|
|
302
|
+
exactly as `--gold-deep` is omitted from this dark block). The cool hue
|
|
303
|
+
holds; the chroma stays near-achromatic. */
|
|
304
|
+
--silver: oklch(0.792 0.012 255);
|
|
305
|
+
--silver-light: oklch(0.912 0.010 255);
|
|
306
|
+
--silver-dark: oklch(0.648 0.014 255);
|
|
307
|
+
}
|
|
308
|
+
|