@shohojdhara/atomix 0.2.4 → 0.2.5

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 (211) hide show
  1. package/README.md +19 -0
  2. package/dist/atomix.css +1266 -1412
  3. package/dist/atomix.min.css +3 -3
  4. package/dist/index.d.ts +1232 -876
  5. package/dist/index.esm.js +16212 -26364
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +15652 -22298
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.js +1 -1
  10. package/dist/index.min.js.map +1 -1
  11. package/dist/themes/applemix.css +15008 -0
  12. package/dist/themes/applemix.min.css +72 -0
  13. package/dist/themes/boomdevs.css +1266 -1413
  14. package/dist/themes/boomdevs.min.css +3 -3
  15. package/dist/themes/esrar.css +1267 -1413
  16. package/dist/themes/esrar.min.css +3 -3
  17. package/dist/themes/flashtrade.css +15159 -0
  18. package/dist/themes/flashtrade.min.css +86 -0
  19. package/dist/themes/mashroom.css +1264 -1410
  20. package/dist/themes/mashroom.min.css +5 -5
  21. package/dist/themes/shaj-default.css +1266 -1412
  22. package/dist/themes/shaj-default.min.css +3 -3
  23. package/package.json +6 -17
  24. package/src/components/Accordion/Accordion.stories.tsx +4 -26
  25. package/src/components/Accordion/Accordion.tsx +21 -12
  26. package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
  27. package/src/components/AtomixGlass/AtomixGlass.tsx +487 -1215
  28. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +400 -0
  29. package/src/components/AtomixGlass/GlassFilter.tsx +156 -0
  30. package/src/components/AtomixGlass/README.md +124 -2
  31. package/src/components/AtomixGlass/atomixGLass.old.tsx +1266 -0
  32. package/src/components/AtomixGlass/glass-utils.ts +263 -0
  33. package/src/components/AtomixGlass/shader-utils.ts +404 -236
  34. package/src/components/AtomixGlass/{AtomixGlass.stories.tsx → stories/AtomixGlass.stories.tsx} +55 -35
  35. package/src/components/AtomixGlass/stories/Examples.stories.tsx +57 -89
  36. package/src/components/AtomixGlass/stories/Modes.stories.tsx +149 -149
  37. package/src/components/AtomixGlass/stories/Playground.stories.tsx +95 -32
  38. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +0 -2
  39. package/src/components/AtomixGlass/stories/shared-components.tsx +9 -18
  40. package/src/components/AtomixGlass/utils.ts +3 -3
  41. package/src/components/Avatar/Avatar.tsx +3 -0
  42. package/src/components/Avatar/AvatarGroup.tsx +2 -1
  43. package/src/components/Badge/Badge.stories.tsx +74 -54
  44. package/src/components/Badge/Badge.tsx +8 -12
  45. package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
  46. package/src/components/Button/Button.tsx +3 -5
  47. package/src/components/Callout/Callout.stories.tsx +86 -35
  48. package/src/components/Callout/Callout.tsx +4 -0
  49. package/src/components/Card/Card.stories.tsx +89 -85
  50. package/src/components/Card/Card.tsx +15 -4
  51. package/src/components/Card/ElevationCard.tsx +2 -0
  52. package/src/components/Chart/AnimatedChart.tsx +179 -156
  53. package/src/components/Chart/AreaChart.tsx +123 -12
  54. package/src/components/Chart/BarChart.tsx +91 -100
  55. package/src/components/Chart/BaseChart.tsx +80 -0
  56. package/src/components/Chart/BubbleChart.tsx +114 -290
  57. package/src/components/Chart/CandlestickChart.tsx +282 -622
  58. package/src/components/Chart/Chart.stories.tsx +576 -179
  59. package/src/components/Chart/Chart.tsx +374 -75
  60. package/src/components/Chart/ChartRenderer.tsx +371 -220
  61. package/src/components/Chart/ChartToolbar.tsx +372 -61
  62. package/src/components/Chart/ChartTooltip.tsx +33 -18
  63. package/src/components/Chart/DonutChart.tsx +172 -254
  64. package/src/components/Chart/FunnelChart.tsx +169 -240
  65. package/src/components/Chart/GaugeChart.tsx +224 -392
  66. package/src/components/Chart/HeatmapChart.tsx +302 -440
  67. package/src/components/Chart/LineChart.tsx +148 -103
  68. package/src/components/Chart/MultiAxisChart.tsx +267 -395
  69. package/src/components/Chart/PieChart.tsx +114 -64
  70. package/src/components/Chart/RadarChart.tsx +202 -218
  71. package/src/components/Chart/ScatterChart.tsx +111 -97
  72. package/src/components/Chart/TreemapChart.tsx +147 -222
  73. package/src/components/Chart/WaterfallChart.tsx +253 -291
  74. package/src/components/Chart/index.ts +11 -9
  75. package/src/components/Chart/types.ts +85 -9
  76. package/src/components/Chart/utils.ts +66 -0
  77. package/src/components/ColorModeToggle/ColorModeToggle.tsx +6 -3
  78. package/src/components/Countdown/Countdown.tsx +4 -0
  79. package/src/components/DataTable/DataTable.tsx +2 -1
  80. package/src/components/DatePicker/DatePicker.stories.tsx +0 -11
  81. package/src/components/DatePicker/DatePicker.tsx +3 -9
  82. package/src/components/DatePicker/types.ts +5 -0
  83. package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
  84. package/src/components/Dropdown/Dropdown.tsx +26 -28
  85. package/src/components/EdgePanel/EdgePanel.stories.tsx +13 -15
  86. package/src/components/EdgePanel/EdgePanel.tsx +20 -5
  87. package/src/components/Footer/Footer.stories.tsx +187 -60
  88. package/src/components/Footer/Footer.test.tsx +134 -0
  89. package/src/components/Footer/Footer.tsx +133 -34
  90. package/src/components/Footer/FooterLink.tsx +1 -1
  91. package/src/components/Footer/FooterSection.tsx +53 -36
  92. package/src/components/Footer/FooterSocialLink.tsx +32 -29
  93. package/src/components/Footer/README.md +82 -3
  94. package/src/components/Footer/index.ts +1 -1
  95. package/src/components/Form/Checkbox.stories.tsx +13 -5
  96. package/src/components/Form/Checkbox.tsx +3 -6
  97. package/src/components/Form/Form.stories.tsx +10 -3
  98. package/src/components/Form/Form.tsx +2 -0
  99. package/src/components/Form/FormGroup.tsx +2 -1
  100. package/src/components/Form/Input.stories.tsx +12 -11
  101. package/src/components/Form/Input.tsx +97 -95
  102. package/src/components/Form/Radio.stories.tsx +22 -7
  103. package/src/components/Form/Radio.tsx +3 -6
  104. package/src/components/Form/Select.stories.tsx +21 -6
  105. package/src/components/Form/Select.tsx +3 -5
  106. package/src/components/Form/Textarea.stories.tsx +13 -11
  107. package/src/components/Form/Textarea.tsx +88 -86
  108. package/src/components/Hero/Hero.stories.tsx +2 -3
  109. package/src/components/Hero/Hero.tsx +5 -6
  110. package/src/components/Icon/Icon.tsx +12 -1
  111. package/src/components/List/List.tsx +2 -1
  112. package/src/components/List/ListGroup.tsx +2 -1
  113. package/src/components/Messages/Messages.tsx +3 -2
  114. package/src/components/Modal/Modal.stories.tsx +48 -34
  115. package/src/components/Modal/Modal.tsx +19 -23
  116. package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
  117. package/src/components/Navigation/Menu/Menu.tsx +2 -2
  118. package/src/components/Navigation/Nav/Nav.tsx +6 -1
  119. package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
  120. package/src/components/Navigation/Navbar/Navbar.tsx +4 -1
  121. package/src/components/Navigation/SideMenu/SideMenu.tsx +3 -2
  122. package/src/components/Pagination/Pagination.stories.tsx +13 -6
  123. package/src/components/Pagination/Pagination.tsx +7 -6
  124. package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
  125. package/src/components/Popover/Popover.stories.tsx +32 -24
  126. package/src/components/Popover/Popover.tsx +4 -1
  127. package/src/components/ProductReview/ProductReview.tsx +8 -2
  128. package/src/components/Progress/Progress.tsx +2 -1
  129. package/src/components/Rating/Rating.stories.tsx +11 -6
  130. package/src/components/Rating/Rating.tsx +3 -5
  131. package/src/components/River/River.tsx +5 -5
  132. package/src/components/SectionIntro/SectionIntro.tsx +8 -2
  133. package/src/components/Slider/Slider.stories.tsx +4 -4
  134. package/src/components/Slider/Slider.tsx +4 -3
  135. package/src/components/Spinner/Spinner.tsx +2 -1
  136. package/src/components/Steps/Steps.stories.tsx +5 -4
  137. package/src/components/Steps/Steps.tsx +8 -5
  138. package/src/components/Tab/Tab.stories.tsx +4 -3
  139. package/src/components/Tab/Tab.tsx +8 -6
  140. package/src/components/Testimonial/Testimonial.tsx +8 -2
  141. package/src/components/Todo/Todo.tsx +2 -1
  142. package/src/components/Toggle/Toggle.stories.tsx +5 -4
  143. package/src/components/Toggle/Toggle.tsx +8 -5
  144. package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
  145. package/src/components/Tooltip/Tooltip.tsx +9 -2
  146. package/src/components/Upload/Upload.stories.tsx +252 -0
  147. package/src/components/Upload/Upload.tsx +92 -53
  148. package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
  149. package/src/components/index.ts +0 -4
  150. package/src/layouts/Grid/Grid.stories.tsx +10 -23
  151. package/src/layouts/Grid/Grid.tsx +20 -1
  152. package/src/layouts/Grid/GridCol.tsx +76 -48
  153. package/src/lib/composables/useAtomixGlass.ts +861 -44
  154. package/src/lib/composables/useBarChart.ts +13 -6
  155. package/src/lib/composables/useChart.ts +17 -13
  156. package/src/lib/composables/useChartExport.ts +19 -78
  157. package/src/lib/composables/useChartToolbar.ts +0 -1
  158. package/src/lib/composables/useEdgePanel.ts +111 -103
  159. package/src/lib/composables/useFooter.ts +3 -3
  160. package/src/lib/composables/useGlassContainer.ts +16 -7
  161. package/src/lib/composables/useLineChart.ts +8 -1
  162. package/src/lib/composables/useRiver.ts +5 -0
  163. package/src/lib/composables/useSlider.ts +62 -24
  164. package/src/lib/composables/useVideoPlayer.ts +60 -63
  165. package/src/lib/constants/components.ts +146 -32
  166. package/src/lib/types/components.ts +258 -10
  167. package/src/lib/utils/displacement-generator.ts +55 -49
  168. package/src/lib/utils/icons.ts +1 -1
  169. package/src/lib/utils/index.ts +16 -10
  170. package/src/styles/01-settings/_settings.accordion.scss +19 -19
  171. package/src/styles/01-settings/_settings.animations.scss +5 -5
  172. package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
  173. package/src/styles/01-settings/_settings.avatar.scss +17 -17
  174. package/src/styles/01-settings/_settings.background.scss +1 -4
  175. package/src/styles/01-settings/_settings.badge.scss +1 -1
  176. package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
  177. package/src/styles/01-settings/_settings.card.scss +1 -1
  178. package/src/styles/01-settings/_settings.chart.scss +65 -2
  179. package/src/styles/01-settings/_settings.dropdown.scss +1 -1
  180. package/src/styles/01-settings/_settings.footer.scss +35 -42
  181. package/src/styles/01-settings/_settings.input.scss +1 -1
  182. package/src/styles/01-settings/_settings.list.scss +1 -1
  183. package/src/styles/01-settings/_settings.rating.scss +1 -1
  184. package/src/styles/01-settings/_settings.tabs.scss +1 -1
  185. package/src/styles/01-settings/_settings.upload.scss +6 -5
  186. package/src/styles/02-tools/_tools.animations.scss +4 -5
  187. package/src/styles/02-tools/_tools.background.scss +1 -13
  188. package/src/styles/02-tools/_tools.glass.scss +0 -1
  189. package/src/styles/02-tools/_tools.utility-api.scss +42 -34
  190. package/src/styles/03-generic/_generic.root.scss +1 -4
  191. package/src/styles/04-elements/_elements.body.scss +0 -1
  192. package/src/styles/06-components/_components.atomix-glass.scss +216 -39
  193. package/src/styles/06-components/_components.badge.scss +6 -8
  194. package/src/styles/06-components/_components.button.scss +8 -3
  195. package/src/styles/06-components/_components.card.scss +2 -14
  196. package/src/styles/06-components/_components.chart.scss +969 -1449
  197. package/src/styles/06-components/_components.dropdown.scss +19 -7
  198. package/src/styles/06-components/_components.edge-panel.scss +4 -2
  199. package/src/styles/06-components/_components.footer.scss +166 -85
  200. package/src/styles/06-components/_components.input.scss +8 -9
  201. package/src/styles/06-components/_components.list.scss +1 -0
  202. package/src/styles/06-components/_components.modal.scss +5 -3
  203. package/src/styles/06-components/_components.skeleton.scss +8 -6
  204. package/src/styles/06-components/_components.upload.scss +219 -4
  205. package/src/styles/06-components/old.chart.styles.scss +1 -30
  206. package/src/styles/99-utilities/_utilities.opacity.scss +1 -1
  207. package/src/styles/99-utilities/_utilities.scss +1 -1
  208. package/src/components/Chart/AdvancedChart.tsx +0 -624
  209. package/src/components/Chart/LineChartNew.tsx +0 -167
  210. package/src/components/Chart/RealTimeChart.tsx +0 -436
  211. package/src/components/DatePicker/DatePicker copy.tsx +0 -551
@@ -3571,60 +3571,183 @@ a, a:hover {
3571
3571
  margin-left: calc(var(--atomix-avatar-size) * -1 * var(--atomix-avatar-group-stacked-overlap) / 100);
3572
3572
  z-index: 1;
3573
3573
  }
3574
- .atomix-glass__layer, .atomix-glass__overlay, .atomix-glass__base, .atomix-glass__border-1, .atomix-glass__border-2 {
3575
- pointer-events: none;
3574
+ .c-atomix-glass {
3575
+ position: relative;
3576
+ --atomix-glass-radius: var(--atomix-radius-md, 16px);
3577
+ --atomix-glass-transform: none;
3578
+ --atomix-glass-transition: opacity var(--atomix-transition-duration, 0.2s) ease-out;
3579
+ --atomix-glass-position: absolute;
3580
+ --atomix-glass-container-width: 100%;
3581
+ --atomix-glass-container-height: 100%;
3582
+ --atomix-glass-border-width: var(--atomix-spacing-0-5, 0.09375rem);
3583
+ }
3584
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3, .c-atomix-glass__base, .c-atomix-glass__overlay {
3576
3585
  position: absolute;
3577
3586
  inset: 0;
3578
- border-radius: inherit;
3579
- transform: inherit;
3580
- transition: inherit;
3587
+ pointer-events: none;
3588
+ border-radius: var(--atomix-glass-radius);
3589
+ transform: var(--atomix-glass-transform);
3590
+ transition: var(--atomix-glass-transition);
3591
+ }
3592
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3 {
3593
+ mix-blend-mode: overlay;
3594
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
3595
+ background: var(--atomix-glass-hover-1-gradient, none);
3596
+ }
3597
+ .c-atomix-glass__hover-1 {
3598
+ transition: opacity 0.2s ease-out;
3599
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
3600
+ background: var(--atomix-glass-hover-1-gradient, none);
3601
+ }
3602
+ .c-atomix-glass__hover-2 {
3603
+ transition: opacity 0.4s ease-out;
3604
+ opacity: var(--atomix-glass-hover-2-opacity, 0);
3605
+ background: var(--atomix-glass-hover-2-gradient, none);
3606
+ }
3607
+ .c-atomix-glass__hover-3 {
3608
+ transition: opacity 0.6s ease-out;
3609
+ opacity: var(--atomix-glass-hover-3-opacity, 0);
3610
+ background: var(--atomix-glass-hover-3-gradient, none);
3611
+ }
3612
+ .c-atomix-glass__base {
3613
+ mix-blend-mode: soft-light;
3614
+ opacity: var(--atomix-glass-base-opacity, 0);
3615
+ background: var(--atomix-glass-base-gradient, none);
3616
+ }
3617
+ .c-atomix-glass__overlay {
3618
+ mix-blend-mode: overlay;
3619
+ opacity: var(--atomix-glass-overlay-opacity, 0);
3620
+ background: var(--atomix-glass-overlay-gradient, none);
3621
+ }
3622
+ .c-atomix-glass__overlay-highlight {
3623
+ position: absolute;
3624
+ inset: var(--atomix-spacing-0-5, 0.125rem);
3625
+ pointer-events: none;
3626
+ border-radius: var(--atomix-glass-radius);
3627
+ transform: var(--atomix-glass-transform);
3628
+ transition: var(--atomix-glass-transition);
3629
+ mix-blend-mode: screen;
3581
3630
  }
3582
- .atomix-glass__border-1, .atomix-glass__border-2 {
3631
+ .c-atomix-glass__border-1, .c-atomix-glass__border-2 {
3632
+ padding: var(--atomix-glass-border-width);
3583
3633
  box-sizing: border-box;
3584
- padding: 1.5px;
3585
- -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
3634
+ overflow: hidden;
3635
+ pointer-events: none;
3636
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
3586
3637
  -webkit-mask-composite: xor;
3587
- mask-composite: exclude;
3588
- box-shadow: 0 0 0 0.5px rgba(255, 255, 255, 0.5) inset, 0 1px 3px rgba(255, 255, 255, 0.25) inset, 0 1px 4px rgba(0, 0, 0, 0.35);
3589
- transition-property: transform;
3590
- }
3591
- .atomix-glass__border-1 {
3592
- z-index: 5;
3593
- opacity: 0.3;
3638
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
3639
+ mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
3640
+ -webkit-mask-composite: xor;
3641
+ mask-composite: exclude;
3642
+ position: var(--atomix-glass-position);
3643
+ top: var(--atomix-glass-top);
3644
+ left: var(--atomix-glass-left);
3645
+ width: var(--atomix-glass-width);
3646
+ height: var(--atomix-glass-height);
3647
+ border-radius: var(--atomix-glass-radius);
3648
+ transform: var(--atomix-glass-transform);
3649
+ transition: var(--atomix-glass-transition);
3650
+ }
3651
+ .c-atomix-glass__border-1 {
3652
+ opacity: var(--atomix-opacity-20, 0.2);
3594
3653
  mix-blend-mode: screen;
3654
+ z-index: var(--atomix-z-index-5, 5);
3655
+ background: var(--atomix-glass-border-gradient-1, none);
3656
+ box-shadow: var(--atomix-glass-border-shadow, 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset, 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset, 0 0.25rem 1rem rgba(0, 0, 0, 0.35));
3657
+ }
3658
+ .c-atomix-glass__border-2 {
3659
+ mix-blend-mode: overlay;
3660
+ z-index: var(--atomix-z-index-6, 6);
3661
+ background: var(--atomix-glass-border-gradient-2, none);
3662
+ box-shadow: var(--atomix-glass-border-shadow, 0 0 0 0.03125rem rgba(255, 255, 255, 0.5) inset, 0 0.25rem 0.75rem rgba(255, 255, 255, 0.25) inset, 0 0.25rem 1rem rgba(0, 0, 0, 0.35));
3663
+ }
3664
+ .c-atomix-glass__container {
3665
+ width: var(--atomix-glass-container-width);
3666
+ height: var(--atomix-glass-container-height);
3667
+ position: relative;
3668
+ border-radius: var(--atomix-glass-radius);
3669
+ transition: border-radius 0.25s ease-out;
3595
3670
  }
3596
- .atomix-glass__border-2 {
3597
- z-index: 6;
3671
+ .c-atomix-glass__inner {
3672
+ width: var(--atomix-glass-container-width);
3673
+ height: var(--atomix-glass-container-height);
3674
+ position: relative;
3675
+ border-radius: var(--atomix-glass-radius);
3598
3676
  }
3599
- .atomix-glass__hover-1, .atomix-glass__hover-2, .atomix-glass__hover-3 {
3677
+ .c-atomix-glass__filter {
3600
3678
  position: absolute;
3601
- inset: 0;
3679
+ top: 0;
3680
+ left: 0;
3681
+ width: 100%;
3682
+ height: 100%;
3602
3683
  pointer-events: none;
3603
- border-radius: inherit;
3604
- transform: inherit;
3605
- transition: inherit;
3606
- transition-property: transform, opacity;
3607
3684
  }
3608
- .atomix-glass__hover-1 {
3609
- opacity: 0;
3685
+ .c-atomix-glass__filter-overlay {
3686
+ position: absolute;
3687
+ inset: 0;
3688
+ pointer-events: none;
3610
3689
  }
3611
- .atomix-glass__hover-2 {
3612
- overflow: hidden;
3613
- opacity: 0;
3690
+ .c-atomix-glass__filter-shadow {
3691
+ position: absolute;
3692
+ inset: var(--atomix-glass-border-width);
3693
+ pointer-events: none;
3614
3694
  }
3615
- .atomix-glass__hover-3 {
3616
- opacity: 0;
3695
+ .c-atomix-glass__content {
3696
+ position: relative;
3697
+ width: var(--atomix-glass-container-width);
3698
+ height: var(--atomix-glass-container-height);
3617
3699
  }
3618
- .atomix-glass__base {
3700
+ .c-atomix-glass__background-layer {
3701
+ position: absolute;
3702
+ pointer-events: none;
3703
+ border-radius: var(--atomix-glass-radius);
3704
+ transform: var(--atomix-glass-transform);
3705
+ transition: var(--atomix-glass-transition);
3619
3706
  will-change: transform;
3620
- transition-property: transform, opacity;
3621
- opacity: 0;
3622
3707
  }
3623
- .atomix-glass__overlay {
3708
+ .c-atomix-glass__background-layer--dark {
3709
+ background-color: var(--atomix-gray-9, #1f2937);
3710
+ }
3711
+ .c-atomix-glass__background-layer--black {
3712
+ background-color: var(--atomix-black, #000000);
3624
3713
  mix-blend-mode: overlay;
3625
- will-change: transform;
3626
- transition-property: transform, opacity;
3627
- opacity: 0;
3714
+ }
3715
+ .c-atomix-glass__background-layer--dark.c-atomix-glass__background-layer--over-light {
3716
+ opacity: var(--atomix-opacity-50, 0.5);
3717
+ }
3718
+ .c-atomix-glass__background-layer--black.c-atomix-glass__background-layer--over-light {
3719
+ opacity: var(--atomix-opacity-25, 0.25);
3720
+ }
3721
+ .c-atomix-glass__background-layer--hidden {
3722
+ opacity: var(--atomix-opacity-0, 0);
3723
+ }
3724
+ .c-atomix-glass--reduced-motion {
3725
+ --atomix-glass-transition: none;
3726
+ }
3727
+ .c-atomix-glass--reduced-motion * {
3728
+ transition: none !important;
3729
+ }
3730
+ .c-atomix-glass--high-contrast {
3731
+ border: var(--atomix-spacing-0-5, 2px) solid currentColor;
3732
+ outline: var(--atomix-spacing-0-5, 2px) solid transparent;
3733
+ outline-offset: var(--atomix-spacing-0-5, 2px);
3734
+ }
3735
+ .c-atomix-glass--disabled-effects {
3736
+ --atomix-glass-transform: none;
3737
+ --atomix-glass-transition: none;
3738
+ }
3739
+ @media (prefers-reduced-motion: reduce) {
3740
+ .c-atomix-glass {
3741
+ --atomix-glass-transition: none;
3742
+ }
3743
+ .c-atomix-glass * {
3744
+ transition: none !important;
3745
+ }
3746
+ }
3747
+ @media (prefers-contrast: high) {
3748
+ .c-atomix-glass {
3749
+ border-width: var(--atomix-spacing-0-5, 0.125rem);
3750
+ }
3628
3751
  }
3629
3752
  .c-badge {
3630
3753
  --atomix-tag-font-size: 0.75rem;
@@ -4642,19 +4765,8 @@ a, a:hover {
4642
4765
  padding-top: 0;
4643
4766
  }
4644
4767
  .c-card--glass {
4645
- background-color: transparent;
4646
- padding: 0;
4647
- border: none;
4648
- display: block;
4649
- border-radius: 0;
4650
- }
4651
- .c-card--glass .c-card__glass-content {
4652
- padding: var(--atomix-card-spacer-y) var(--atomix-card-spacer-x);
4653
- max-width: var(--atomix-card-width);
4654
- border-radius: var(--atomix-card-border-radius);
4655
- width: 100%;
4768
+ max-width: none;
4656
4769
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
4657
- background-blend-mode: overlay;
4658
4770
  }
4659
4771
  .is-elevated .c-card {
4660
4772
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
@@ -4676,126 +4788,49 @@ a, a:hover {
4676
4788
  border: var(--atomix-chart-border-width) solid var(--atomix-chart-border-color);
4677
4789
  border-radius: var(--atomix-chart-border-radius);
4678
4790
  overflow: hidden;
4679
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
4791
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(var(--atomix-primary-rgb), 0.05);
4680
4792
  position: relative;
4681
4793
  min-height: var(--atomix-chart-min-height);
4682
4794
  width: 100%;
4683
4795
  max-width: 100%;
4684
- background-color: var(--atomix-chart-bg);
4685
- transition-property: all;
4686
- transition-duration: 0.2s;
4687
- transition-timing-function: ease-in-out;
4688
- transition-delay: 0s;
4796
+ background: var(--atomix-chart-bg);
4797
+ backdrop-filter: blur(10px);
4798
+ -webkit-backdrop-filter: blur(10px);
4689
4799
  }
4690
- .c-chart::after {
4800
+ .c-chart::before {
4691
4801
  content: "";
4692
4802
  position: absolute;
4693
4803
  inset: 0;
4694
- background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1) 0%, transparent 50%, rgba(var(--atomix-secondary-rgb), 0.05) 100%);
4804
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.08) 0%, transparent 40%, transparent 60%, rgba(var(--atomix-secondary-rgb), 0.04) 100%), radial-gradient(circle at 20% 20%, rgba(var(--atomix-primary-rgb), 0.06) 0%, transparent 50%), radial-gradient(circle at 80% 80%, rgba(var(--atomix-secondary-rgb), 0.04) 0%, transparent 50%);
4695
4805
  pointer-events: none;
4696
4806
  z-index: 1;
4807
+ opacity: 1;
4808
+ transition: opacity 0.3s ease;
4697
4809
  }
4698
- .c-chart:hover {
4699
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
4700
- border-color: var(--atomix-primary-border-subtle);
4701
- }
4702
- .c-chart:focus-visible {
4703
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 0 0 calc(var(--atomix-border-width) * 3) var(--atomix-primary-border-subtle);
4704
- }
4705
- .c-chart--xs {
4706
- --atomix-chart-min-height: 7rem;
4707
- --atomix-chart-padding: 0.5rem;
4708
- font-size: 0.75rem;
4709
- }
4710
- .c-chart--sm {
4711
- --atomix-chart-min-height: 9rem;
4712
- --atomix-chart-padding: 0.75rem;
4713
- font-size: 0.875rem;
4714
- }
4715
- .c-chart--md {
4716
- --atomix-chart-min-height: 13rem;
4717
- --atomix-chart-padding: 1rem;
4718
- font-size: 1rem;
4719
- }
4720
- .c-chart--lg {
4721
- --atomix-chart-min-height: 18rem;
4722
- --atomix-chart-padding: 1.5rem;
4723
- font-size: 1.125rem;
4724
- }
4725
- .c-chart--xl {
4726
- --atomix-chart-min-height: 20rem;
4727
- --atomix-chart-padding: 2rem;
4728
- font-size: 1.25rem;
4729
- }
4730
- .c-chart--2xl {
4731
- --atomix-chart-min-height: ;
4732
- --atomix-chart-padding: 2.5rem;
4733
- font-size: 1.25rem;
4734
- }
4735
- .c-chart--full {
4736
- height: 100vh;
4737
- min-height: auto;
4738
- border-radius: 0;
4739
- }
4740
- .c-chart--auto {
4741
- height: auto;
4742
- min-height: 8rem;
4743
- }
4744
- .c-chart--primary {
4745
- --atomix-chart-primary-color: var(--atomix-primary-6);
4746
- --atomix-chart-border-color: var(--atomix-primary-border-subtle);
4747
- }
4748
- .c-chart--primary:hover {
4749
- border-color: var(--atomix-primary-border-subtle);
4750
- }
4751
- .c-chart--secondary {
4752
- --atomix-chart-primary-color: var(--atomix-secondary-6);
4753
- --atomix-chart-border-color: var(--atomix-secondary-border-subtle);
4754
- }
4755
- .c-chart--secondary:hover {
4756
- border-color: var(--atomix-secondary-border-subtle);
4757
- }
4758
- .c-chart--success {
4759
- --atomix-chart-primary-color: var(--atomix-success-6);
4760
- --atomix-chart-border-color: var(--atomix-success-border-subtle);
4761
- }
4762
- .c-chart--success:hover {
4763
- border-color: var(--atomix-success-border-subtle);
4764
- }
4765
- .c-chart--info {
4766
- --atomix-chart-primary-color: var(--atomix-info-6);
4767
- --atomix-chart-border-color: var(--atomix-info-border-subtle);
4768
- }
4769
- .c-chart--info:hover {
4770
- border-color: var(--atomix-info-border-subtle);
4771
- }
4772
- .c-chart--warning {
4773
- --atomix-chart-primary-color: var(--atomix-warning-6);
4774
- --atomix-chart-border-color: var(--atomix-warning-border-subtle);
4775
- }
4776
- .c-chart--warning:hover {
4777
- border-color: var(--atomix-warning-border-subtle);
4778
- }
4779
- .c-chart--error {
4780
- --atomix-chart-primary-color: var(--atomix-error-6);
4781
- --atomix-chart-border-color: var(--atomix-error-border-subtle);
4782
- }
4783
- .c-chart--error:hover {
4784
- border-color: var(--atomix-error-border-subtle);
4785
- }
4786
- .c-chart--light {
4787
- --atomix-chart-primary-color: var(--atomix-light-6);
4788
- --atomix-chart-border-color: var(--atomix-light-border-subtle);
4789
- }
4790
- .c-chart--light:hover {
4791
- border-color: var(--atomix-light-border-subtle);
4810
+ .c-chart::after {
4811
+ content: "";
4812
+ position: absolute;
4813
+ inset: 0;
4814
+ border-radius: inherit;
4815
+ padding: 1px;
4816
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1), rgba(var(--atomix-secondary-rgb), 0.05), transparent);
4817
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
4818
+ -webkit-mask-composite: xor;
4819
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
4820
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
4821
+ -webkit-mask-composite: xor;
4822
+ mask-composite: exclude;
4823
+ pointer-events: none;
4824
+ z-index: 2;
4825
+ opacity: 0;
4826
+ transition: opacity 0.3s ease;
4792
4827
  }
4793
- .c-chart--dark {
4794
- --atomix-chart-primary-color: var(--atomix-dark-6);
4795
- --atomix-chart-border-color: var(--atomix-dark-border-subtle);
4828
+ .c-chart:hover {
4829
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(var(--atomix-primary-rgb), 0.1), 0 0 40px rgba(var(--atomix-primary-rgb), 0.08);
4830
+ border-color: rgba(var(--atomix-primary-rgb), 0.2);
4796
4831
  }
4797
- .c-chart--dark:hover {
4798
- border-color: var(--atomix-dark-border-subtle);
4832
+ .c-chart:hover::after {
4833
+ opacity: 1;
4799
4834
  }
4800
4835
  .c-chart--loading .c-chart__content {
4801
4836
  position: relative;
@@ -4815,38 +4850,6 @@ a, a:hover {
4815
4850
  opacity: 0.3;
4816
4851
  filter: blur(1px);
4817
4852
  }
4818
- .c-chart--interactive {
4819
- cursor: pointer;
4820
- -webkit-user-select: none;
4821
- -moz-user-select: none;
4822
- user-select: none;
4823
- }
4824
- .c-chart--interactive:hover {
4825
- transform: translateY(-2px);
4826
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
4827
- }
4828
- .c-chart--interactive:active {
4829
- transform: translateY(0);
4830
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
4831
- transition-duration: 0.1s;
4832
- }
4833
- .c-chart--interactive:focus-visible {
4834
- transform: translateY(-1px);
4835
- }
4836
- .c-chart--disabled {
4837
- pointer-events: none;
4838
- opacity: 0.6;
4839
- }
4840
- .c-chart--disabled .c-chart__content {
4841
- filter: grayscale(80%) opacity(0.6);
4842
- }
4843
- .c-chart--disabled .c-chart__canvas {
4844
- pointer-events: none;
4845
- }
4846
- .c-chart--disabled:hover {
4847
- transform: none;
4848
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
4849
- }
4850
4853
  .c-chart--fullscreen {
4851
4854
  position: fixed;
4852
4855
  top: 0;
@@ -4856,29 +4859,58 @@ a, a:hover {
4856
4859
  z-index: 9999;
4857
4860
  border-radius: 0;
4858
4861
  box-shadow: none;
4859
- background: var(--atomix-primary-bg-default);
4862
+ background: var(--atomix-body-bg);
4860
4863
  }
4861
4864
  .c-chart--elevated {
4862
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
4863
- transform: translateY(-2px);
4865
+ box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15), 0 6px 12px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(var(--atomix-primary-rgb), 0.1), 0 0 60px rgba(var(--atomix-primary-rgb), 0.12);
4864
4866
  }
4865
4867
  .c-chart--elevated:hover {
4866
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
4867
- transform: translateY(-4px);
4868
+ box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18), 0 8px 16px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(var(--atomix-primary-rgb), 0.15), 0 0 80px rgba(var(--atomix-primary-rgb), 0.16);
4868
4869
  }
4869
- .c-chart--flat {
4870
+ .c-chart--glass {
4871
+ background: transparent;
4872
+ border: none;
4870
4873
  box-shadow: none;
4871
- border: 2px solid var(--atomix-primary-border-subtle);
4872
4874
  }
4873
- .c-chart--flat:hover {
4874
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
4875
+ .c-chart--glass .c-chart__content {
4876
+ position: relative;
4877
+ }
4878
+ .c-chart--glass .c-chart__canvas {
4879
+ position: relative;
4880
+ }
4881
+ .c-chart--glass .c-chart__toolbar {
4882
+ position: relative;
4883
+ }
4884
+ .c-chart--disabled {
4885
+ opacity: 0.6;
4886
+ cursor: not-allowed;
4887
+ pointer-events: none;
4888
+ pointer-events: none;
4889
+ opacity: 0.6;
4890
+ }
4891
+ .c-chart--disabled:hover, .c-chart--disabled:focus, .c-chart--disabled:active {
4892
+ background-color: inherit;
4893
+ color: inherit;
4875
4894
  transform: none;
4876
4895
  }
4877
- .c-chart--rounded {
4878
- border-radius: 0.75rem;
4896
+ .c-chart--selected {
4897
+ border-color: rgba(var(--atomix-primary-rgb), 0.3);
4898
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(var(--atomix-primary-rgb), 0.2), 0 0 30px rgba(var(--atomix-primary-rgb), 0.15);
4899
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.08) 0%, rgba(var(--atomix-primary-rgb), 0.04) 100%), var(--atomix-chart-bg);
4879
4900
  }
4880
- .c-chart--square {
4881
- border-radius: 0;
4901
+ .c-chart--active {
4902
+ border-color: var(--atomix-primary-border-subtle);
4903
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
4904
+ }
4905
+ .c-chart--clickable {
4906
+ cursor: pointer;
4907
+ }
4908
+ .c-chart--clickable:hover {
4909
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.16), 0 0 0 1px rgba(var(--atomix-primary-rgb), 0.1), 0 0 40px rgba(var(--atomix-primary-rgb), 0.08);
4910
+ border-color: rgba(var(--atomix-primary-rgb), 0.25);
4911
+ }
4912
+ .c-chart--clickable:active {
4913
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.12);
4882
4914
  }
4883
4915
  .c-chart__header {
4884
4916
  padding: var(--atomix-chart-padding);
@@ -4988,8 +5020,11 @@ a, a:hover {
4988
5020
  transform: scale(1.1);
4989
5021
  }
4990
5022
  .c-chart__action:focus-visible {
4991
- outline: 2px solid var(--atomix-primary-6);
5023
+ outline: 2px solid var(--atomix-focus-border-color);
4992
5024
  outline-offset: 2px;
5025
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5026
+ }
5027
+ .c-chart__action:focus-visible {
4993
5028
  border-color: var(--atomix-primary-border-subtle);
4994
5029
  }
4995
5030
  .c-chart__action:active {
@@ -5015,45 +5050,6 @@ a, a:hover {
5015
5050
  background-color: transparent;
5016
5051
  border-color: transparent;
5017
5052
  }
5018
- .c-chart__action--primary {
5019
- background-color: var(--atomix-primary-6);
5020
- color: white;
5021
- border-color: var(--atomix-primary-6);
5022
- }
5023
- .c-chart__action--primary:hover {
5024
- background-color: var(--atomix-primary-7);
5025
- border-color: var(--atomix-primary-7);
5026
- }
5027
- .c-chart__action--primary:active {
5028
- background-color: var(--atomix-primary-8);
5029
- }
5030
- .c-chart__action--success {
5031
- background-color: var(--atomix-success-6);
5032
- color: white;
5033
- border-color: var(--atomix-success-6);
5034
- }
5035
- .c-chart__action--success:hover {
5036
- background-color: var(--atomix-success-7);
5037
- border-color: var(--atomix-success-7);
5038
- }
5039
- .c-chart__action--warning {
5040
- background-color: var(--atomix-warning-6);
5041
- color: white;
5042
- border-color: var(--atomix-warning-6);
5043
- }
5044
- .c-chart__action--warning:hover {
5045
- background-color: var(--atomix-warning-7);
5046
- border-color: var(--atomix-warning-7);
5047
- }
5048
- .c-chart__action--danger {
5049
- background-color: var(--atomix-error-6);
5050
- color: white;
5051
- border-color: var(--atomix-error-6);
5052
- }
5053
- .c-chart__action--danger:hover {
5054
- background-color: var(--atomix-error-7);
5055
- border-color: var(--atomix-error-7);
5056
- }
5057
5053
  .c-chart__export-group {
5058
5054
  position: relative;
5059
5055
  display: flex;
@@ -5075,7 +5071,7 @@ a, a:hover {
5075
5071
  border-radius: 0.25rem;
5076
5072
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
5077
5073
  padding: 0.25rem;
5078
- min-width: 7.5rem;
5074
+ min-width: 7rem;
5079
5075
  z-index: 1000;
5080
5076
  opacity: 0;
5081
5077
  visibility: hidden;
@@ -5105,8 +5101,8 @@ a, a:hover {
5105
5101
  color: var(--atomix-primary-text-emphasis);
5106
5102
  }
5107
5103
  .c-chart__export-option:focus-visible {
5108
- outline: 2px solid var(--atomix-primary-6);
5109
- outline-offset: -2px;
5104
+ outline: calc(var(--atomix-border-width) * 2) solid var(--atomix-primary-6);
5105
+ outline-offset: calc(var(--atomix-border-width) * -2);
5110
5106
  }
5111
5107
  .c-chart__export-option:disabled {
5112
5108
  opacity: 0.4;
@@ -5116,201 +5112,178 @@ a, a:hover {
5116
5112
  .c-chart__export-option:not(:last-child) {
5117
5113
  margin-bottom: 0.25rem;
5118
5114
  }
5119
- .c-chart__content {
5120
- flex: 1 1;
5121
- position: relative;
5122
- padding: var(--atomix-chart-padding);
5123
- display: flex;
5124
- align-items: center;
5125
- justify-content: center;
5126
- min-height: 8rem;
5127
- }
5128
- .c-chart__content::before {
5129
- content: "";
5115
+ .c-chart__settings-menu {
5130
5116
  position: absolute;
5131
- top: 0;
5132
- left: 0;
5117
+ top: 100%;
5133
5118
  right: 0;
5134
- bottom: 0;
5135
- background-image: radial-gradient(circle at 1px 1px, var(--atomix-primary-border-subtle) 1px, transparent 0);
5136
- background-size: 1.25rem 1.25rem;
5137
- opacity: 0.03;
5138
- pointer-events: none;
5139
- z-index: 0;
5140
- }
5141
- .c-chart__content::after {
5142
- content: "";
5143
- position: absolute;
5144
- inset: 0;
5145
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, transparent 50%, rgba(0, 0, 0, 0.02) 100%);
5146
- pointer-events: none;
5147
- z-index: 1;
5148
- }
5149
- .c-chart__canvas {
5150
- width: 100%;
5151
- height: 100%;
5152
- position: relative;
5153
- overflow: hidden;
5119
+ margin-top: 0.25rem;
5120
+ background: var(--atomix-primary-bg-default);
5121
+ border: 1px solid var(--atomix-primary-border-subtle);
5154
5122
  border-radius: 0.25rem;
5155
- z-index: 2;
5123
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
5124
+ padding: 0.5rem;
5125
+ min-width: 8.75rem;
5126
+ z-index: 1000;
5127
+ opacity: 0;
5128
+ visibility: hidden;
5129
+ transform: translateY(-8px);
5130
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5131
+ -webkit-backdrop-filter: blur(8px);
5132
+ backdrop-filter: blur(8px);
5156
5133
  }
5157
- .c-chart__canvas svg {
5158
- width: 100%;
5159
- height: 100%;
5160
- shape-rendering: geometricPrecision;
5161
- text-rendering: optimizeLegibility;
5162
- image-rendering: -webkit-optimize-contrast;
5163
- image-rendering: crisp-edges;
5134
+ .c-chart__settings-menu-title {
5135
+ font-size: 0.875rem;
5136
+ font-weight: 600;
5137
+ color: var(--atomix-text-primary);
5138
+ margin-bottom: 0.5rem;
5139
+ padding-bottom: 0.5rem;
5140
+ border-bottom: 1px solid var(--atomix-border-color);
5164
5141
  }
5165
- .c-chart__canvas canvas {
5166
- width: 100%;
5167
- height: 100%;
5168
- image-rendering: -webkit-optimize-contrast;
5169
- image-rendering: crisp-edges;
5142
+ .c-chart__settings-menu-content {
5143
+ display: flex;
5144
+ flex-direction: column;
5145
+ gap: 0.25rem;
5170
5146
  }
5171
- .c-chart__crosshair {
5172
- pointer-events: none;
5147
+ .c-chart__settings-menu-item {
5148
+ display: flex;
5149
+ align-items: center;
5150
+ justify-content: space-between;
5151
+ padding: 0.375rem 0;
5152
+ gap: 0.75rem;
5173
5153
  }
5174
- .c-chart__crosshair line, .c-chart__crosshair-line {
5175
- stroke: var(--atomix-primary-border-subtle);
5176
- stroke-width: 1;
5177
- stroke-dasharray: 4, 4;
5154
+ .c-chart__settings-menu-item--info {
5178
5155
  opacity: 0.7;
5156
+ font-size: 0.75rem;
5179
5157
  }
5180
- .c-chart__crosshair line--vertical, .c-chart__crosshair line--horizontal, .c-chart__crosshair-line--vertical, .c-chart__crosshair-line--horizontal {
5181
- opacity: 0.7;
5158
+ .c-chart__settings-menu-toggle {
5159
+ display: flex;
5160
+ align-items: center;
5161
+ gap: 0.5rem;
5162
+ cursor: pointer;
5163
+ width: 100%;
5164
+ -webkit-user-select: none;
5165
+ -moz-user-select: none;
5166
+ user-select: none;
5182
5167
  }
5183
- .c-chart__zoom-indicator {
5184
- position: absolute;
5185
- top: 10px;
5186
- right: 10px;
5187
- background: rgba(0, 0, 0, 0.8);
5188
- color: white;
5189
- padding: 4px 8px;
5190
- border-radius: 0.25rem;
5168
+ .c-chart__settings-menu-toggle input[type=checkbox] {
5169
+ width: 1rem;
5170
+ height: 1rem;
5171
+ cursor: pointer;
5172
+ accent-color: var(--atomix-primary);
5173
+ flex-shrink: 0;
5174
+ }
5175
+ .c-chart__settings-menu-label {
5191
5176
  font-size: 0.75rem;
5192
5177
  font-weight: 500;
5193
- pointer-events: none;
5194
- z-index: 10;
5195
- }
5196
- .c-chart__navigator {
5197
- opacity: 0.8;
5198
- }
5199
- .c-chart__navigator rect {
5200
- fill: rgba(0, 0, 0, 0.05);
5201
- stroke: var(--atomix-gray-3);
5202
- stroke-width: 1;
5178
+ color: var(--atomix-text-primary);
5179
+ flex: 1 1;
5203
5180
  }
5204
- .c-chart__navigator path {
5205
- stroke-width: 1;
5206
- fill: none;
5207
- opacity: 0.6;
5181
+ .c-chart__settings-menu-value {
5182
+ font-size: 0.75rem;
5183
+ font-weight: 600;
5184
+ color: var(--atomix-secondary-text-emphasis);
5185
+ text-transform: capitalize;
5208
5186
  }
5209
- .c-chart__real-time-indicator {
5210
- position: absolute;
5211
- top: 10px;
5212
- left: 10px;
5187
+ .c-chart__toolbar-group {
5213
5188
  display: flex;
5214
5189
  align-items: center;
5215
- gap: 6px;
5216
- background: var(--atomix-success-bg-subtle);
5217
- color: var(--atomix-success-text-emphasis);
5218
- padding: 4px 8px;
5219
- border-radius: 0.25rem;
5190
+ gap: 0.5rem;
5191
+ position: relative;
5192
+ }
5193
+ .c-chart__toolbar-group:hover .c-chart__export-dropdown,
5194
+ .c-chart__toolbar-group:hover .c-chart__settings-menu {
5195
+ opacity: 1;
5196
+ visibility: visible;
5197
+ transform: translateY(0);
5198
+ }
5199
+ .c-chart__toolbar-separator {
5200
+ width: 1px;
5201
+ height: 1.5rem;
5202
+ background: var(--atomix-border-color);
5203
+ margin: 0 0.5rem;
5204
+ }
5205
+ .c-chart__toolbar-label {
5220
5206
  font-size: 0.75rem;
5221
5207
  font-weight: 500;
5222
- border: 1px solid var(--atomix-success-border-subtle);
5223
- }
5224
- .c-chart__real-time-indicator::before {
5225
- content: "";
5226
- width: 6px;
5227
- height: 6px;
5228
- background: var(--atomix-success-6);
5229
- border-radius: 50%;
5230
- animation: chart-pulse-dot 2s ease-in-out infinite;
5208
+ color: var(--atomix-secondary-text-emphasis);
5209
+ text-transform: uppercase;
5210
+ letter-spacing: 0.5px;
5211
+ margin-right: 0.5rem;
5231
5212
  }
5232
- .c-chart__legend {
5233
- display: flex;
5234
- flex-wrap: wrap;
5235
- gap: 0.75rem;
5213
+ .c-chart__content {
5214
+ flex: 1 1;
5215
+ position: relative;
5236
5216
  padding: var(--atomix-chart-padding);
5237
- border-top: var(--atomix-chart-border-width) solid var(--atomix-brand-border-subtle);
5238
- z-index: 2;
5239
- }
5240
- .c-chart__legend-item {
5241
5217
  display: flex;
5242
5218
  align-items: center;
5243
- gap: 0.5rem;
5244
- cursor: pointer;
5245
- padding: 0.5rem 0.75rem;
5246
- border-radius: 0.25rem;
5247
- border: var(--atomix-chart-border-width) solid transparent;
5248
- background-color: transparent;
5249
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5250
- -webkit-user-select: none;
5251
- -moz-user-select: none;
5252
- user-select: none;
5253
- position: relative;
5219
+ justify-content: center;
5220
+ min-height: 8rem;
5221
+ z-index: 3;
5222
+ contain: layout;
5254
5223
  overflow: hidden;
5255
5224
  }
5256
- .c-chart__legend-item::before {
5225
+ .c-chart__content::before {
5257
5226
  content: "";
5258
5227
  position: absolute;
5259
- inset: 0;
5260
- background: var(--atomix-secondary-bg-subtle);
5261
- opacity: 0;
5262
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5263
- }
5264
- .c-chart__legend-item:hover {
5265
- background-color: var(--atomix-secondary-bg-subtle);
5266
- border-color: var(--atomix-primary-border-subtle);
5267
- transform: translateY(-1px);
5268
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
5269
- }
5270
- .c-chart__legend-item:hover::before {
5271
- opacity: 1;
5272
- }
5273
- .c-chart__legend-item:focus-visible:focus-visible {
5274
- outline: 2px solid var(--atomix-focus-border-color);
5275
- outline-offset: 2px;
5276
- box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5277
- }
5278
- .c-chart__legend-item:active {
5279
- transform: translateY(0);
5280
- }
5281
- .c-chart__legend-item[data-visible=false] {
5228
+ top: 0;
5229
+ left: 0;
5230
+ right: 0;
5231
+ bottom: 0;
5232
+ background-image: radial-gradient(circle at 1px 1px, rgba(var(--atomix-primary-rgb), 0.08) 1px, transparent 0);
5233
+ background-size: 16px 16px;
5282
5234
  opacity: 0.4;
5283
- filter: grayscale(60%);
5284
- }
5285
- .c-chart__legend-item[data-visible=false] .c-chart__legend-label {
5286
- text-decoration: line-through;
5235
+ pointer-events: none;
5236
+ z-index: 0;
5287
5237
  }
5288
- .c-chart__legend-item[data-visible=false] .c-chart__legend-color {
5289
- opacity: 0.3;
5290
- filter: grayscale(100%);
5238
+ .c-chart__content::after {
5239
+ content: "";
5240
+ position: absolute;
5241
+ inset: 0;
5242
+ background: linear-gradient(180deg, rgba(var(--atomix-primary-rgb), 0.03) 0%, transparent 30%, transparent 70%, rgba(var(--atomix-secondary-rgb), 0.02) 100%);
5243
+ pointer-events: none;
5244
+ z-index: 1;
5291
5245
  }
5292
- .c-chart__legend-color {
5293
- width: 0.75rem;
5294
- height: 0.75rem;
5295
- border-radius: 0.25rem;
5296
- border: var(--atomix-chart-border-width) solid var(--atomix-primary-border-subtle);
5297
- flex-shrink: 0;
5298
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5299
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5246
+ .c-chart__canvas {
5247
+ width: 100%;
5248
+ height: 100%;
5300
5249
  position: relative;
5250
+ overflow: hidden;
5251
+ border-radius: 0.25rem;
5252
+ z-index: 2;
5253
+ background: transparent;
5254
+ min-height: 200px;
5255
+ contain: layout style paint;
5301
5256
  }
5302
- .c-chart__legend-label {
5303
- color: var(--atomix-primary-text-emphasis);
5304
- font-weight: 500;
5305
- letter-spacing: -0.01em;
5306
- transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5307
- position: relative;
5308
- z-index: 1;
5257
+ .c-chart__canvas svg {
5258
+ display: block;
5259
+ shape-rendering: geometricPrecision;
5260
+ text-rendering: optimizeLegibility;
5261
+ image-rendering: -webkit-optimize-contrast;
5262
+ image-rendering: crisp-edges;
5263
+ will-change: contents;
5264
+ -webkit-backface-visibility: hidden;
5265
+ backface-visibility: hidden;
5266
+ transform: translateZ(0);
5267
+ opacity: 0;
5268
+ animation: chart-fade-in 0.3s ease-out forwards;
5269
+ }
5270
+ @keyframes chart-fade-in {
5271
+ from {
5272
+ opacity: 0;
5273
+ }
5274
+ to {
5275
+ opacity: 1;
5276
+ }
5277
+ }
5278
+ .c-chart__canvas canvas {
5279
+ width: 100%;
5280
+ height: 100%;
5281
+ display: block;
5282
+ image-rendering: -webkit-optimize-contrast;
5283
+ image-rendering: crisp-edges;
5309
5284
  }
5310
5285
  .c-chart__tooltip {
5311
5286
  position: fixed;
5312
- top: 0;
5313
- left: 0;
5314
5287
  -webkit-backdrop-filter: blur(1rem);
5315
5288
  backdrop-filter: blur(1rem);
5316
5289
  border-radius: 0.625rem;
@@ -5342,8 +5315,8 @@ a, a:hover {
5342
5315
  gap: 0.5rem;
5343
5316
  }
5344
5317
  .c-chart__tooltip-color-indicator {
5345
- width: 12px;
5346
- height: 12px;
5318
+ width: 0.75rem;
5319
+ height: 0.75rem;
5347
5320
  border-radius: 50%;
5348
5321
  flex-shrink: 0;
5349
5322
  }
@@ -5377,64 +5350,10 @@ a, a:hover {
5377
5350
  color: var(--atomix-primary-text-emphasis);
5378
5351
  font-weight: 500;
5379
5352
  }
5380
- .c-chart__axis {
5381
- position: relative;
5382
- z-index: 55;
5383
- }
5384
- .c-chart__axis--x {
5385
- text-anchor: middle;
5386
- dominant-baseline: hanging;
5387
- }
5388
- .c-chart__axis--y {
5389
- text-anchor: end;
5390
- dominant-baseline: middle;
5391
- }
5392
- .c-chart__axis-line {
5393
- stroke: var(--atomix-primary-border-subtle);
5394
- stroke-width: 1;
5395
- opacity: 0.6;
5396
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5397
- }
5398
- .c-chart__axis-line--x, .c-chart__axis-line--y {
5399
- stroke-width: 2;
5400
- }
5401
- .c-chart__axis-line:hover {
5402
- opacity: 0.8;
5403
- }
5404
- .c-chart__tick-line {
5405
- stroke: var(--atomix-primary-border-subtle);
5406
- stroke-width: 1;
5407
- }
5408
- .c-chart__tick-label {
5409
- font-size: 0.75rem;
5410
- fill: var(--atomix-secondary-text-emphasis);
5411
- }
5412
- .c-chart__axis-label {
5413
- font-size: 0.75rem;
5414
- font-weight: 500;
5415
- fill: var(--atomix-tertiary-text-emphasis);
5416
- text-anchor: middle;
5417
- }
5418
- .c-chart__plot-area {
5419
- fill: rgba(248, 250, 252, 0.5);
5420
- stroke: var(--atomix-primary-border-subtle);
5421
- stroke-width: 1;
5422
- }
5423
- .c-chart__value-label {
5424
- font-size: 0.75rem;
5425
- fill: var(--atomix-primary-text-emphasis);
5426
- pointer-events: none;
5427
- }
5428
- .c-chart__data-label {
5429
- font-size: 0.75rem;
5430
- fill: var(--atomix-secondary-text-emphasis);
5431
- pointer-events: none;
5432
- }
5433
5353
  .c-chart__grid {
5434
5354
  stroke: var(--atomix-primary-border-subtle);
5435
5355
  stroke-width: 0.5;
5436
5356
  stroke-dasharray: 2, 4;
5437
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5438
5357
  }
5439
5358
  .c-chart__grid--major {
5440
5359
  stroke-width: 1;
@@ -5449,40 +5368,54 @@ a, a:hover {
5449
5368
  stroke-dasharray: none;
5450
5369
  opacity: 0.6;
5451
5370
  }
5452
- .c-chart__grid:hover {
5371
+ .c-chart__axis-line {
5372
+ stroke: var(--atomix-border-color);
5373
+ stroke-width: 1;
5453
5374
  opacity: 0.6;
5454
5375
  }
5376
+ .c-chart__axis-label {
5377
+ font-size: 0.75rem;
5378
+ font-weight: 500;
5379
+ fill: var(--atomix-tertiary-text-emphasis);
5380
+ }
5381
+ .c-chart__legend-item-color {
5382
+ width: 0.75rem;
5383
+ height: 0.75rem;
5384
+ flex-shrink: 0;
5385
+ }
5386
+ .c-chart__legend-item-text {
5387
+ font-size: 0.75rem;
5388
+ fill: var(--atomix-text-primary);
5389
+ }
5390
+ .c-chart__data-line {
5391
+ stroke-width: 2.5;
5392
+ fill: none;
5393
+ }
5394
+ .c-chart__data-line--hovered {
5395
+ stroke-width: 3.5;
5396
+ }
5455
5397
  .c-chart__data-point {
5456
5398
  cursor: pointer;
5457
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
5458
- transform-origin: center center;
5399
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5459
5400
  }
5460
5401
  .c-chart__data-point:hover {
5461
5402
  opacity: 0.8;
5462
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
5463
5403
  }
5464
5404
  .c-chart__data-point:focus-visible {
5465
- outline: 2px solid var(--atomix-primary-border-subtle);
5405
+ outline: 2px solid var(--atomix-focus-border-color);
5466
5406
  outline-offset: 2px;
5407
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5467
5408
  }
5468
- .c-chart__data-point:active {
5469
- transform: scale(1.05);
5470
- }
5471
- .c-chart__data-point[data-highlighted=true] {
5472
- transform: scale(1.2);
5473
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
5474
- z-index: 10;
5475
- animation: chart-glow 2s ease-in-out infinite;
5409
+ .c-chart__data-point--hovered {
5410
+ opacity: 0.9;
5411
+ transform: scale(1.1);
5476
5412
  }
5477
- .c-chart__data-point[data-selected=true] {
5478
- stroke: var(--atomix-primary-border-subtle);
5413
+ .c-chart__data-point--selected {
5414
+ opacity: 1;
5479
5415
  stroke-width: 2;
5480
- filter: drop-shadow(0 0 0 2px var(--atomix-primary-border-subtle));
5416
+ filter: drop-shadow(0 0 4px currentColor);
5481
5417
  }
5482
- .c-chart__data-point[data-animated=true] {
5483
- animation: chart-scale-in 0.5s ease-out;
5484
- }
5485
- .c-chart__loading {
5418
+ .c-chart__empty {
5486
5419
  display: flex;
5487
5420
  flex-direction: column;
5488
5421
  align-items: center;
@@ -5490,970 +5423,707 @@ a, a:hover {
5490
5423
  gap: 1rem;
5491
5424
  color: var(--atomix-secondary-text-emphasis);
5492
5425
  font-size: 0.875rem;
5426
+ text-align: center;
5427
+ padding: 2rem;
5493
5428
  min-height: 8rem;
5429
+ opacity: 0.6;
5494
5430
  animation: chart-fade-in 0.6s ease-out;
5495
5431
  }
5496
- .c-chart__loading-spinner {
5497
- width: 2rem;
5498
- height: 2rem;
5499
- border: 3px solid var(--atomix-primary-border-subtle);
5500
- border-top: 3px solid var(--atomix-primary-text-emphasis);
5501
- border-radius: 50%;
5502
- animation: chart-spin 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
5503
- }
5504
- .c-chart__loading-text {
5505
- font-weight: 500;
5506
- opacity: 0.8;
5507
- animation: chart-pulse 2s ease-in-out infinite;
5432
+ .c-chart__toolbar--sm {
5433
+ gap: 0.25rem;
5508
5434
  }
5509
- .c-chart__error {
5510
- display: flex;
5511
- flex-direction: column;
5512
- align-items: center;
5513
- justify-content: center;
5435
+ .c-chart__toolbar--lg {
5436
+ padding: 0.5rem;
5514
5437
  gap: 0.75rem;
5515
- color: var(--atomix-error-text-emphasis);
5516
- font-size: 0.875rem;
5517
- text-align: center;
5518
- padding: 2rem;
5519
- min-height: 8rem;
5520
- background-color: var(--atomix-error-bg-subtle);
5521
- border-radius: 0.25rem;
5522
- border: var(--atomix-chart-border-width) solid var(--atomix-error-border-subtle);
5523
- animation: chart-fade-in 0.6s ease-out;
5524
- }
5525
- .c-chart__empty {
5526
- display: flex;
5527
- flex-direction: column;
5528
- align-items: center;
5529
- justify-content: center;
5530
- gap: 1rem;
5531
- color: var(--atomix-secondary-text-emphasis);
5532
- font-size: 0.875rem;
5533
- text-align: center;
5534
- padding: 2rem;
5535
- min-height: 8rem;
5536
- opacity: 0.6;
5537
- animation: chart-fade-in 0.6s ease-out;
5538
- }
5539
- .c-chart--line .c-chart__canvas .line-path,
5540
- .c-chart--line .c-chart__canvas .c-chart__line-path {
5541
- fill: none;
5542
- stroke-width: 2.5;
5543
- stroke-linecap: round;
5544
- stroke-linejoin: round;
5545
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5546
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
5547
- stroke-dasharray: 1000;
5548
- stroke-dashoffset: 1000;
5549
- animation: chart-draw-line 2s ease-out forwards;
5550
- }
5551
- .c-chart--line .c-chart__canvas .line-path:hover,
5552
- .c-chart--line .c-chart__canvas .c-chart__line-path:hover {
5553
- stroke-width: 3.5;
5554
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
5555
- }
5556
- .c-chart--line .c-chart__canvas .trend-line {
5557
- stroke-dasharray: 5, 5;
5558
- opacity: 0.7;
5559
- animation: chart-dash-flow 2s linear infinite;
5560
- }
5561
- .c-chart--line .c-chart__canvas .moving-average {
5562
- stroke-dasharray: 4, 4;
5563
- opacity: 0.6;
5564
- stroke-width: 1;
5565
- fill: none;
5566
- }
5567
- .c-chart--line .c-chart__canvas .area-path,
5568
- .c-chart--line .c-chart__canvas .c-chart__area-path {
5569
- opacity: 0.15;
5570
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5571
- animation: chart-area-fade 1.5s ease-out;
5572
- }
5573
- .c-chart--line .c-chart__canvas .area-path:hover,
5574
- .c-chart--line .c-chart__canvas .c-chart__area-path:hover {
5575
- opacity: 0.25;
5576
5438
  }
5577
- .c-chart--line .c-chart__canvas .chart-point-label {
5578
- font-size: 0.75rem;
5439
+ .c-chart__legend-item--active {
5440
+ opacity: 1;
5579
5441
  font-weight: 600;
5580
- text-anchor: middle;
5581
- dominant-baseline: middle;
5582
- pointer-events: none;
5583
- opacity: 0;
5584
- transition: opacity 0.2s ease;
5585
5442
  }
5586
- .c-chart--line .c-chart__canvas .chart-point-label.visible {
5587
- opacity: 1;
5443
+ .c-chart__legend-item--inactive {
5444
+ opacity: 0.5;
5588
5445
  }
5589
- .c-chart--line .c-chart__canvas .data-point {
5590
- r: 4;
5446
+ .c-chart__treemap-node {
5447
+ stroke: var(--atomix-border-color);
5448
+ stroke-width: 1;
5591
5449
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5592
5450
  cursor: pointer;
5451
+ shape-rendering: geometricPrecision;
5593
5452
  }
5594
- .c-chart--line .c-chart__canvas .data-point:hover {
5595
- r: 6;
5596
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
5453
+ .c-chart__treemap-node:hover {
5454
+ transform: scale(1.02);
5455
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
5456
+ stroke-width: 1.5;
5597
5457
  }
5598
- .c-chart--line .c-chart__canvas .data-point[data-highlighted=true] {
5599
- r: 8;
5600
- stroke-width: 3;
5458
+ .c-chart__treemap-node--hovered {
5459
+ transform: scale(1.02);
5460
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
5461
+ stroke-width: 1.5;
5462
+ }
5463
+ .c-chart__treemap-node--selected {
5464
+ stroke: var(--atomix-primary-border-subtle);
5465
+ stroke-width: 2;
5466
+ filter: drop-shadow(0 16px 48px rgba(0, 0, 0, 0.175));
5601
5467
  }
5602
- .c-chart--line .c-chart__canvas .data-point:focus-visible {
5468
+ .c-chart__treemap-node:focus-visible {
5603
5469
  outline: 2px solid var(--atomix-focus-border-color);
5604
5470
  outline-offset: 2px;
5471
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5605
5472
  }
5606
- .c-chart--area .c-chart__canvas .area-path {
5607
- opacity: 0.3;
5608
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5609
- animation: chart-area-fade 1.5s ease-out;
5610
- }
5611
- .c-chart--area .c-chart__canvas .area-path:hover {
5612
- opacity: 0.45;
5613
- }
5614
- .c-chart--area .c-chart__canvas .line-path {
5615
- stroke-width: 2;
5616
- opacity: 0.9;
5617
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5618
- animation: chart-draw-line 2s ease-out;
5619
- }
5620
- .c-chart--area .c-chart__canvas .line-path:hover {
5621
- stroke-width: 3;
5622
- opacity: 1;
5473
+ .c-chart__treemap-label {
5474
+ font-size: 0.875rem;
5475
+ font-weight: 500;
5476
+ fill: var(--atomix-text-primary);
5477
+ text-anchor: middle;
5478
+ dominant-baseline: middle;
5479
+ pointer-events: none;
5480
+ -webkit-user-select: none;
5481
+ -moz-user-select: none;
5482
+ user-select: none;
5483
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
5623
5484
  }
5624
- .c-chart--bar .c-chart__canvas .bar,
5625
- .c-chart--bar .c-chart__canvas .c-chart__bar, .c-chart--horizontal-bar .c-chart__canvas .bar,
5626
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar {
5485
+ .c-chart__funnel-segment {
5486
+ stroke: var(--atomix-border-color);
5487
+ stroke-width: 1;
5627
5488
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5628
5489
  cursor: pointer;
5629
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
5630
- animation: chart-bar-grow 0.8s ease-out;
5631
- opacity: 1;
5490
+ shape-rendering: geometricPrecision;
5632
5491
  }
5633
- .c-chart--bar .c-chart__canvas .bar:hover, .c-chart--bar .c-chart__canvas .bar--hovered,
5634
- .c-chart--bar .c-chart__canvas .c-chart__bar:hover,
5635
- .c-chart--bar .c-chart__canvas .c-chart__bar--hovered, .c-chart--horizontal-bar .c-chart__canvas .bar:hover, .c-chart--horizontal-bar .c-chart__canvas .bar--hovered,
5636
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:hover,
5637
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar--hovered {
5638
- opacity: 0.85;
5639
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
5492
+ .c-chart__funnel-segment:hover {
5493
+ opacity: 0.9;
5494
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5495
+ stroke-width: 1.5;
5640
5496
  }
5641
- .c-chart--bar .c-chart__canvas .bar:focus-visible,
5642
- .c-chart--bar .c-chart__canvas .c-chart__bar:focus-visible, .c-chart--horizontal-bar .c-chart__canvas .bar:focus-visible,
5643
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:focus-visible {
5644
- outline: 2px solid var(--atomix-primary-border-subtle);
5497
+ .c-chart__funnel-segment:focus-visible {
5498
+ outline: 2px solid var(--atomix-focus-border-color);
5645
5499
  outline-offset: 2px;
5500
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5646
5501
  }
5647
- .c-chart--bar .c-chart__canvas .bar[data-animated=true],
5648
- .c-chart--bar .c-chart__canvas .c-chart__bar[data-animated=true], .c-chart--horizontal-bar .c-chart__canvas .bar[data-animated=true],
5649
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar[data-animated=true] {
5650
- animation: chart-bar-grow 0.8s ease-out;
5651
- }
5652
- .c-chart--bar .c-chart__canvas .bar-group .bar, .c-chart--horizontal-bar .c-chart__canvas .bar-group .bar {
5653
- animation-delay: calc(var(--bar-index) * 0.1s);
5654
- }
5655
- .c-chart--bar .c-chart__canvas .bar-value-label,
5656
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label,
5657
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label {
5658
- font-size: 0.75rem;
5502
+ .c-chart__funnel-label {
5503
+ font-size: 0.875rem;
5659
5504
  font-weight: 500;
5660
- fill: var(--atomix-primary-text-emphasis);
5505
+ fill: var(--atomix-text-primary);
5661
5506
  text-anchor: middle;
5662
- opacity: 1;
5663
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5664
- font-feature-settings: "tnum";
5665
- font-variant-numeric: tabular-nums;
5507
+ dominant-baseline: middle;
5666
5508
  pointer-events: none;
5509
+ -webkit-user-select: none;
5510
+ -moz-user-select: none;
5511
+ user-select: none;
5512
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
5667
5513
  }
5668
- .c-chart--bar .c-chart__canvas .bar-value-label.visible,
5669
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label.visible, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label.visible,
5670
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label.visible {
5671
- opacity: 1;
5672
- }
5673
- .c-chart--bar .c-chart__canvas .bar-gradient stop, .c-chart--horizontal-bar .c-chart__canvas .bar-gradient stop {
5674
- transition: stop-opacity 0.3s ease;
5675
- }
5676
- .c-chart--bar .c-chart__canvas .bar {
5677
- transform-origin: bottom center;
5678
- animation: chart-bar-grow 0.8s ease-out;
5679
- }
5680
- .c-chart--bar .c-chart__canvas .bar:hover {
5681
- transform: scaleY(1.05);
5682
- }
5683
- .c-chart--horizontal-bar .c-chart__canvas .bar {
5684
- transform-origin: left center;
5685
- animation: chart-bar-grow-horizontal 0.8s ease-out;
5686
- }
5687
- .c-chart--horizontal-bar .c-chart__canvas .bar:hover {
5688
- transform: scaleX(1.05);
5689
- }
5690
- .c-chart--pie .c-chart__canvas .pie-slice,
5691
- .c-chart--pie .c-chart__canvas .donut-slice,
5692
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice,
5693
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice, .c-chart--donut .c-chart__canvas .pie-slice,
5694
- .c-chart--donut .c-chart__canvas .donut-slice,
5695
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice,
5696
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice, .c-chart--doughnut .c-chart__canvas .pie-slice,
5697
- .c-chart--doughnut .c-chart__canvas .donut-slice,
5698
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice,
5699
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice {
5700
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
5701
- stroke: var(--atomix-primary-bg-subtle);
5702
- stroke-width: 2;
5703
- cursor: pointer;
5704
- transform-origin: center;
5705
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
5706
- opacity: 1;
5707
- animation: chart-pie-draw 1.5s ease-out;
5708
- }
5709
- .c-chart--pie .c-chart__canvas .pie-slice:hover, .c-chart--pie .c-chart__canvas .pie-slice--hovered,
5710
- .c-chart--pie .c-chart__canvas .donut-slice:hover,
5711
- .c-chart--pie .c-chart__canvas .donut-slice--hovered,
5712
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:hover,
5713
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--hovered,
5714
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:hover,
5715
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice--hovered, .c-chart--donut .c-chart__canvas .pie-slice:hover, .c-chart--donut .c-chart__canvas .pie-slice--hovered,
5716
- .c-chart--donut .c-chart__canvas .donut-slice:hover,
5717
- .c-chart--donut .c-chart__canvas .donut-slice--hovered,
5718
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:hover,
5719
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--hovered,
5720
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:hover,
5721
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice--hovered, .c-chart--doughnut .c-chart__canvas .pie-slice:hover, .c-chart--doughnut .c-chart__canvas .pie-slice--hovered,
5722
- .c-chart--doughnut .c-chart__canvas .donut-slice:hover,
5723
- .c-chart--doughnut .c-chart__canvas .donut-slice--hovered,
5724
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:hover,
5725
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--hovered,
5726
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:hover,
5727
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--hovered {
5728
- opacity: 0.8;
5729
- transform: scale(1.05);
5730
- stroke-width: 3;
5731
- filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
5732
- }
5733
- .c-chart--pie .c-chart__canvas .pie-slice--selected,
5734
- .c-chart--pie .c-chart__canvas .donut-slice--selected,
5735
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--selected,
5736
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--donut .c-chart__canvas .pie-slice--selected,
5737
- .c-chart--donut .c-chart__canvas .donut-slice--selected,
5738
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--selected,
5739
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--doughnut .c-chart__canvas .pie-slice--selected,
5740
- .c-chart--doughnut .c-chart__canvas .donut-slice--selected,
5741
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--selected,
5742
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--selected {
5743
- stroke: var(--atomix-primary-border-subtle);
5744
- stroke-width: 3;
5745
- }
5746
- .c-chart--pie .c-chart__canvas .pie-slice:focus-visible,
5747
- .c-chart--pie .c-chart__canvas .donut-slice:focus-visible,
5748
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:focus-visible,
5749
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--donut .c-chart__canvas .pie-slice:focus-visible,
5750
- .c-chart--donut .c-chart__canvas .donut-slice:focus-visible,
5751
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:focus-visible,
5752
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--doughnut .c-chart__canvas .pie-slice:focus-visible,
5753
- .c-chart--doughnut .c-chart__canvas .donut-slice:focus-visible,
5754
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:focus-visible,
5755
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:focus-visible {
5756
- outline: 2px solid var(--atomix-primary-border-subtle);
5757
- outline-offset: 4px;
5758
- }
5759
- .c-chart--pie .c-chart__canvas .pie-label,
5760
- .c-chart--pie .c-chart__canvas .c-chart__pie-label,
5761
- .c-chart--pie .c-chart__canvas .c-chart__donut-label, .c-chart--donut .c-chart__canvas .pie-label,
5762
- .c-chart--donut .c-chart__canvas .c-chart__pie-label,
5763
- .c-chart--donut .c-chart__canvas .c-chart__donut-label, .c-chart--doughnut .c-chart__canvas .pie-label,
5764
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-label,
5765
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-label {
5514
+ .c-chart__funnel-conversion {
5766
5515
  font-size: 0.75rem;
5767
5516
  font-weight: 600;
5768
- fill: var(--atomix-primary-text-emphasis);
5769
- text-anchor: middle;
5770
- pointer-events: none;
5771
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5772
- font-feature-settings: "tnum";
5773
- font-variant-numeric: tabular-nums;
5774
- }
5775
- .c-chart--donut .c-chart__canvas .donut-slice, .c-chart--doughnut .c-chart__canvas .donut-slice {
5776
- animation: chart-donut-draw 1.5s ease-out;
5777
- }
5778
- .c-chart--donut .c-chart__canvas .donut-center,
5779
- .c-chart--donut .c-chart__canvas .c-chart__donut-center, .c-chart--doughnut .c-chart__canvas .donut-center,
5780
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center {
5781
- transition: fill 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5782
- }
5783
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-bg, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-bg {
5784
- fill: var(--atomix-primary-bg-subtle);
5785
- }
5786
- .c-chart--donut .c-chart__canvas .donut-center-label,
5787
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-label, .c-chart--doughnut .c-chart__canvas .donut-center-label,
5788
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-label {
5789
- font-size: 0.875rem;
5790
- font-weight: 500;
5791
5517
  fill: var(--atomix-secondary-text-emphasis);
5792
5518
  text-anchor: middle;
5793
- dominant-baseline: central;
5794
- font-feature-settings: "tnum";
5795
- font-variant-numeric: tabular-nums;
5796
- }
5797
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-value, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-value {
5798
- font-size: 1.5rem;
5799
- font-weight: 700;
5800
- fill: var(--atomix-primary-text-emphasis);
5801
- text-anchor: middle;
5802
- dominant-baseline: central;
5803
- font-feature-settings: "tnum";
5804
- font-variant-numeric: tabular-nums;
5519
+ dominant-baseline: middle;
5520
+ pointer-events: none;
5521
+ -webkit-user-select: none;
5522
+ -moz-user-select: none;
5523
+ user-select: none;
5524
+ opacity: 0.8;
5805
5525
  }
5806
- .c-chart--scatter .c-chart__canvas .scatter-point,
5807
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point {
5808
- stroke: var(--atomix-primary-border-subtle);
5526
+ .c-chart__heatmap-cell {
5527
+ stroke: var(--atomix-border-color);
5809
5528
  stroke-width: 1;
5529
+ rx: 0.25rem;
5530
+ ry: 0.25rem;
5810
5531
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5811
5532
  cursor: pointer;
5812
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
5813
- animation: chart-fade-in 0.6s ease-out;
5533
+ shape-rendering: geometricPrecision;
5814
5534
  }
5815
- .c-chart--scatter .c-chart__canvas .scatter-point:hover,
5816
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:hover {
5817
- filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
5535
+ .c-chart__heatmap-cell:hover {
5536
+ transform: scale(1.05);
5537
+ transform-origin: center;
5538
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5539
+ stroke-width: 2;
5540
+ z-index: 10;
5818
5541
  }
5819
- .c-chart--scatter .c-chart__canvas .scatter-point:focus-visible,
5820
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:focus-visible {
5821
- outline: 2px solid var(--atomix-primary-border-subtle);
5542
+ .c-chart__heatmap-cell--hovered {
5543
+ transform: scale(1.05);
5544
+ transform-origin: center;
5545
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5546
+ stroke-width: 2;
5547
+ z-index: 10;
5548
+ }
5549
+ .c-chart__heatmap-cell:focus-visible {
5550
+ outline: 2px solid var(--atomix-focus-border-color);
5822
5551
  outline-offset: 2px;
5552
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5823
5553
  }
5824
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-label {
5554
+ .c-chart__heatmap-label {
5825
5555
  font-size: 0.75rem;
5826
- fill: var(--atomix-primary-text-emphasis);
5556
+ font-weight: 400;
5557
+ fill: var(--atomix-text-primary);
5558
+ text-anchor: middle;
5559
+ dominant-baseline: middle;
5827
5560
  pointer-events: none;
5561
+ -webkit-user-select: none;
5562
+ -moz-user-select: none;
5563
+ user-select: none;
5828
5564
  }
5829
- .c-chart--bubble .c-chart__canvas .c-chart__bubble {
5830
- stroke: var(--atomix-primary-bg-subtle);
5831
- stroke-width: 2;
5832
- cursor: pointer;
5833
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5834
- }
5835
- .c-chart--bubble .c-chart__canvas .c-chart__bubble--animated {
5836
- transition: all 1s ease-out;
5837
- }
5838
- .c-chart--bubble .c-chart__canvas .c-chart__bubble:hover {
5839
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
5840
- }
5841
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label {
5565
+ .c-chart__heatmap-axis-label {
5842
5566
  font-size: 0.75rem;
5843
5567
  font-weight: 500;
5844
- fill: var(--atomix-tertiary-text-emphasis);
5568
+ fill: var(--atomix-secondary-text-emphasis);
5569
+ text-anchor: middle;
5570
+ dominant-baseline: middle;
5845
5571
  pointer-events: none;
5572
+ -webkit-user-select: none;
5573
+ -moz-user-select: none;
5574
+ user-select: none;
5846
5575
  }
5847
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label--center {
5848
- fill: var(--atomix-invert-text-emphasis);
5849
- font-weight: 700;
5850
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
5851
- }
5852
- .c-chart--radar .c-chart__canvas .c-chart__radar-grid {
5853
- stroke: var(--atomix-primary-border-subtle);
5854
- stroke-width: 1;
5855
- opacity: 0.3;
5856
- }
5857
- .c-chart--radar .c-chart__canvas .c-chart__radar-axis {
5858
- stroke: var(--atomix-primary-border-subtle);
5859
- stroke-width: 1;
5860
- opacity: 0.5;
5576
+ .c-chart__heatmap-legend-title {
5577
+ font-size: 0.875rem;
5578
+ font-weight: 600;
5579
+ fill: var(--atomix-text-primary);
5580
+ text-anchor: start;
5581
+ dominant-baseline: baseline;
5582
+ pointer-events: none;
5583
+ -webkit-user-select: none;
5584
+ -moz-user-select: none;
5585
+ user-select: none;
5861
5586
  }
5862
- .c-chart--radar .c-chart__canvas .c-chart__radar-label {
5587
+ .c-chart__heatmap-legend-label {
5863
5588
  font-size: 0.75rem;
5589
+ font-weight: 400;
5864
5590
  fill: var(--atomix-secondary-text-emphasis);
5591
+ text-anchor: start;
5592
+ dominant-baseline: middle;
5593
+ pointer-events: none;
5594
+ -webkit-user-select: none;
5595
+ -moz-user-select: none;
5596
+ user-select: none;
5865
5597
  }
5866
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill {
5867
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5868
- }
5869
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill:hover {
5870
- opacity: 0.5 !important;
5598
+ .c-chart__candlestick-candle {
5599
+ stroke: var(--atomix-border-color);
5600
+ stroke-width: 1;
5601
+ rx: 0.25rem;
5602
+ ry: 0.25rem;
5603
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5604
+ cursor: pointer;
5605
+ shape-rendering: geometricPrecision;
5871
5606
  }
5872
- .c-chart--radar .c-chart__canvas .c-chart__radar-line {
5873
- fill: none;
5874
- transition: stroke-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5607
+ .c-chart__candlestick-candle:hover {
5608
+ opacity: 0.9;
5609
+ stroke-width: 1.5;
5610
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5875
5611
  }
5876
- .c-chart--radar .c-chart__canvas .c-chart__radar-line:hover {
5877
- stroke-width: 3 !important;
5612
+ .c-chart__candlestick-candle:focus-visible {
5613
+ outline: 2px solid var(--atomix-focus-border-color);
5614
+ outline-offset: 2px;
5615
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5878
5616
  }
5879
- .c-chart--radar .c-chart__canvas .c-chart__radar-point {
5880
- stroke: var(--atomix-primary-bg-subtle);
5881
- stroke-width: 2;
5882
- cursor: pointer;
5617
+ .c-chart__candlestick-wick {
5618
+ stroke: var(--atomix-tertiary-text-emphasis);
5619
+ stroke-width: 1;
5620
+ opacity: 0.8;
5883
5621
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5622
+ shape-rendering: geometricPrecision;
5884
5623
  }
5885
- .c-chart--radar .c-chart__canvas .c-chart__radar-point:hover {
5886
- transform: scale(1.3);
5887
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
5624
+ .c-chart__candlestick-wick:hover {
5625
+ opacity: 1;
5626
+ stroke-width: 1.2;
5888
5627
  }
5889
- .c-chart--candlestick .c-chart__canvas .candlestick,
5890
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick {
5891
- stroke-width: 1;
5892
- cursor: pointer;
5628
+ .c-chart__candlestick-volume {
5893
5629
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5894
- animation: chart-fade-in 0.6s ease-out;
5630
+ cursor: pointer;
5631
+ shape-rendering: geometricPrecision;
5895
5632
  }
5896
- .c-chart--candlestick .c-chart__canvas .candlestick--bullish,
5897
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bullish {
5898
- opacity: 0.8;
5633
+ .c-chart__candlestick-volume:hover {
5634
+ opacity: 0.6;
5899
5635
  }
5900
- .c-chart--candlestick .c-chart__canvas .candlestick--bearish,
5901
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bearish {
5902
- opacity: 1;
5636
+ .c-chart__bar {
5637
+ rx: 0.25rem;
5638
+ ry: 0.25rem;
5639
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5640
+ cursor: pointer;
5641
+ shape-rendering: geometricPrecision;
5903
5642
  }
5904
- .c-chart--candlestick .c-chart__canvas .candlestick:hover,
5905
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick:hover {
5906
- opacity: 0.8;
5907
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
5643
+ .c-chart__bar:hover {
5644
+ opacity: 0.85;
5645
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5908
5646
  }
5909
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick-highlight {
5910
- stroke-width: 2;
5911
- opacity: 0.5;
5647
+ .c-chart__bar--hovered {
5648
+ opacity: 0.85;
5649
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5912
5650
  }
5913
- .c-chart--candlestick .c-chart__canvas .wick,
5914
- .c-chart--candlestick .c-chart__canvas .c-chart__wick {
5915
- stroke-width: 1;
5916
- opacity: 0.8;
5651
+ .c-chart__bar:focus-visible {
5652
+ outline: 2px solid var(--atomix-focus-border-color);
5653
+ outline-offset: 2px;
5654
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5917
5655
  }
5918
- .c-chart--candlestick .c-chart__canvas .wick--hovered,
5919
- .c-chart--candlestick .c-chart__canvas .c-chart__wick--hovered {
5920
- stroke-width: 2;
5656
+ .c-chart__bar-value-label {
5657
+ font-size: 0.75rem;
5658
+ font-weight: 500;
5659
+ fill: var(--atomix-text-primary);
5660
+ text-anchor: middle;
5661
+ pointer-events: none;
5662
+ -webkit-user-select: none;
5663
+ -moz-user-select: none;
5664
+ user-select: none;
5921
5665
  }
5922
- .c-chart--candlestick .c-chart__canvas .c-chart__moving-average {
5923
- stroke-width: 2;
5924
- opacity: 0.8;
5666
+ .c-chart__line-path {
5667
+ fill: none;
5668
+ stroke-linecap: round;
5669
+ stroke-linejoin: round;
5670
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5671
+ shape-rendering: geometricPrecision;
5925
5672
  }
5926
- .c-chart--candlestick .c-chart__canvas .volume-bar {
5927
- opacity: 0.3;
5928
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5673
+ .c-chart__area-path {
5674
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5675
+ shape-rendering: geometricPrecision;
5929
5676
  }
5930
- .c-chart--candlestick .c-chart__canvas .volume-bar:hover {
5931
- opacity: 0.6;
5677
+ .c-chart__area-fill {
5678
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5679
+ shape-rendering: geometricPrecision;
5932
5680
  }
5933
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-background {
5934
- fill: var(--atomix-secondary-bg-subtle);
5935
- stroke: var(--atomix-primary-border-subtle);
5936
- stroke-width: 1;
5681
+ .c-chart__area-point {
5682
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5683
+ cursor: pointer;
5684
+ shape-rendering: geometricPrecision;
5937
5685
  }
5938
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-zone {
5939
- stroke: var(--atomix-primary-bg-subtle);
5940
- stroke-width: 2;
5686
+ .c-chart__area-point:hover {
5687
+ transform: scale(1.2);
5941
5688
  }
5942
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--major {
5943
- stroke: var(--atomix-secondary-text-emphasis);
5944
- stroke-width: 2;
5689
+ .c-chart__area-point--hovered {
5690
+ transform: scale(1.2);
5945
5691
  }
5946
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--minor {
5947
- stroke: var(--atomix-tertiary-text-emphasis);
5948
- stroke-width: 1;
5692
+ .c-chart__area-point:focus-visible {
5693
+ outline: 2px solid var(--atomix-focus-border-color);
5694
+ outline-offset: 2px;
5695
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5949
5696
  }
5950
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick-label {
5697
+ .c-chart__point-label {
5951
5698
  font-size: 0.75rem;
5952
- fill: var(--atomix-secondary-text-emphasis);
5699
+ font-weight: 500;
5700
+ text-anchor: middle;
5701
+ pointer-events: none;
5702
+ -webkit-user-select: none;
5703
+ -moz-user-select: none;
5704
+ user-select: none;
5953
5705
  }
5954
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-min-max-label {
5955
- font-size: 0.875rem;
5956
- font-weight: 700;
5957
- fill: var(--atomix-secondary-text-emphasis);
5706
+ .c-chart__pie-slice {
5707
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
5708
+ cursor: pointer;
5709
+ shape-rendering: geometricPrecision;
5958
5710
  }
5959
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-line {
5711
+ .c-chart__pie-slice:hover {
5960
5712
  stroke-width: 3;
5961
- stroke-linecap: round;
5713
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5962
5714
  }
5963
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-center {
5964
- stroke: var(--atomix-primary-bg-subtle);
5965
- stroke-width: 2;
5715
+ .c-chart__pie-slice--hovered {
5716
+ stroke-width: 3;
5717
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5966
5718
  }
5967
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-value {
5968
- font-size: 2rem;
5969
- font-weight: 700;
5970
- fill: var(--atomix-primary-text-emphasis);
5719
+ .c-chart__pie-slice:focus-visible {
5720
+ outline: 2px solid var(--atomix-focus-border-color);
5721
+ outline-offset: 2px;
5722
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5971
5723
  }
5972
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-label {
5973
- font-size: 0.875rem;
5974
- fill: var(--atomix-secondary-text-emphasis);
5724
+ .c-chart__pie-label {
5725
+ font-size: 0.75rem;
5726
+ font-weight: 500;
5727
+ fill: var(--atomix-text-primary);
5728
+ text-anchor: middle;
5729
+ dominant-baseline: middle;
5730
+ pointer-events: none;
5731
+ -webkit-user-select: none;
5732
+ -moz-user-select: none;
5733
+ user-select: none;
5734
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
5975
5735
  }
5976
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment {
5977
- stroke: var(--atomix-primary-bg-subtle);
5978
- stroke-width: 2;
5736
+ .c-chart__donut-slice {
5737
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
5979
5738
  cursor: pointer;
5980
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5739
+ shape-rendering: geometricPrecision;
5740
+ transform-origin: center;
5981
5741
  }
5982
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment--animated {
5983
- transition: all 1s ease-out;
5742
+ .c-chart__donut-slice:hover {
5743
+ transform: scale(1.02);
5744
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5984
5745
  }
5985
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment:hover {
5986
- opacity: 0.8;
5987
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
5746
+ .c-chart__donut-slice--hovered {
5747
+ transform: scale(1.02);
5748
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
5988
5749
  }
5989
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label {
5990
- font-size: 0.875rem;
5991
- font-weight: 700;
5750
+ .c-chart__donut-slice:focus-visible {
5751
+ outline: 2px solid var(--atomix-focus-border-color);
5752
+ outline-offset: 2px;
5753
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5754
+ }
5755
+ .c-chart__donut-label {
5756
+ font-size: 0.75rem;
5757
+ font-weight: 500;
5758
+ fill: var(--atomix-text-primary);
5759
+ text-anchor: middle;
5760
+ dominant-baseline: middle;
5992
5761
  pointer-events: none;
5762
+ -webkit-user-select: none;
5763
+ -moz-user-select: none;
5764
+ user-select: none;
5765
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
5993
5766
  }
5994
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--inside {
5995
- fill: var(--atomix-invert-text-emphasis);
5996
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
5767
+ .c-chart__donut-percentage {
5768
+ font-size: 0.75rem;
5769
+ font-weight: 600;
5770
+ fill: var(--atomix-secondary-text-emphasis);
5771
+ text-anchor: middle;
5772
+ dominant-baseline: middle;
5773
+ pointer-events: none;
5774
+ -webkit-user-select: none;
5775
+ -moz-user-select: none;
5776
+ user-select: none;
5997
5777
  }
5998
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--outside {
5999
- fill: var(--atomix-primary-text-emphasis);
5778
+ .c-chart__donut-center-label {
5779
+ font-size: 0.875rem;
5780
+ font-weight: 500;
5781
+ fill: var(--atomix-secondary-text-emphasis);
5782
+ text-anchor: middle;
5783
+ dominant-baseline: middle;
5784
+ pointer-events: none;
5785
+ -webkit-user-select: none;
5786
+ -moz-user-select: none;
5787
+ user-select: none;
6000
5788
  }
6001
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value {
6002
- font-size: 0.75rem;
5789
+ .c-chart__donut-center-value {
5790
+ font-size: 1.25rem;
5791
+ font-weight: 700;
5792
+ fill: var(--atomix-text-primary);
5793
+ text-anchor: middle;
5794
+ dominant-baseline: middle;
6003
5795
  pointer-events: none;
5796
+ -webkit-user-select: none;
5797
+ -moz-user-select: none;
5798
+ user-select: none;
6004
5799
  }
6005
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--inside {
6006
- fill: var(--atomix-invert-text-emphasis);
6007
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
5800
+ .c-chart__scatter-point {
5801
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5802
+ cursor: pointer;
5803
+ shape-rendering: geometricPrecision;
6008
5804
  }
6009
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--outside {
6010
- fill: var(--atomix-secondary-text-emphasis);
5805
+ .c-chart__scatter-point:hover {
5806
+ transform: scale(1.2);
5807
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
6011
5808
  }
6012
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-conversion {
6013
- font-size: 0.75rem;
6014
- fill: var(--atomix-secondary-text-emphasis);
6015
- font-style: italic;
5809
+ .c-chart__scatter-point:focus-visible {
5810
+ outline: 2px solid var(--atomix-focus-border-color);
5811
+ outline-offset: 2px;
5812
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
6016
5813
  }
6017
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-axis-label {
5814
+ .c-chart__scatter-label {
6018
5815
  font-size: 0.75rem;
6019
- fill: var(--atomix-gray-7);
6020
5816
  font-weight: 500;
5817
+ fill: var(--atomix-text-primary);
5818
+ text-anchor: middle;
5819
+ pointer-events: none;
6021
5820
  -webkit-user-select: none;
6022
5821
  -moz-user-select: none;
6023
5822
  user-select: none;
6024
5823
  }
6025
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell {
5824
+ .c-chart__bubble {
5825
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6026
5826
  cursor: pointer;
6027
- transition: all 0.2s ease;
6028
- shape-rendering: crispEdges;
5827
+ shape-rendering: geometricPrecision;
6029
5828
  }
6030
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--empty {
6031
- fill: var(--atomix-gray-2);
6032
- stroke: var(--atomix-gray-3);
6033
- stroke-width: 0.5;
6034
- opacity: 0.6;
5829
+ .c-chart__bubble:hover {
5830
+ transform: scale(1.1);
5831
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
6035
5832
  }
6036
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--hovered {
5833
+ .c-chart__bubble--hovered {
6037
5834
  transform: scale(1.1);
6038
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
6039
- z-index: 10;
5835
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
6040
5836
  }
6041
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell:focus-visible {
6042
- outline: 2px solid var(--atomix-primary-6);
6043
- outline-offset: 1px;
5837
+ .c-chart__bubble:focus-visible {
5838
+ outline: 2px solid var(--atomix-focus-border-color);
5839
+ outline-offset: 2px;
5840
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
6044
5841
  }
6045
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value {
6046
- font-size: 9px;
5842
+ .c-chart__bubble-label {
5843
+ font-size: 0.75rem;
6047
5844
  font-weight: 500;
5845
+ fill: var(--atomix-text-primary);
5846
+ text-anchor: middle;
5847
+ dominant-baseline: middle;
6048
5848
  pointer-events: none;
6049
5849
  -webkit-user-select: none;
6050
5850
  -moz-user-select: none;
6051
5851
  user-select: none;
6052
- font-feature-settings: "tnum";
6053
- font-variant-numeric: tabular-nums;
6054
- }
6055
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--light {
6056
- fill: white;
6057
5852
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
6058
5853
  }
6059
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--dark {
6060
- fill: var(--atomix-gray-8);
6061
- }
6062
- .c-chart--heatmap .c-chart__canvas.c-chart--calendar .c-chart__heatmap-cell {
6063
- rx: 2;
6064
- }
6065
- .c-chart--heatmap .c-chart__canvas.c-chart--grid .c-chart__heatmap-cell {
6066
- rx: 4;
6067
- }
6068
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node {
6069
- cursor: pointer;
6070
- stroke: var(--atomix-primary-bg-subtle);
5854
+ .c-chart__radar-grid-line {
5855
+ stroke: var(--atomix-border-color);
6071
5856
  stroke-width: 1;
5857
+ opacity: 0.3;
5858
+ shape-rendering: geometricPrecision;
5859
+ }
5860
+ .c-chart__radar-axis-label {
5861
+ font-size: 0.75rem;
5862
+ font-weight: 500;
5863
+ fill: var(--atomix-secondary-text-emphasis);
5864
+ text-anchor: middle;
5865
+ dominant-baseline: middle;
5866
+ pointer-events: none;
5867
+ -webkit-user-select: none;
5868
+ -moz-user-select: none;
5869
+ user-select: none;
5870
+ }
5871
+ .c-chart__radar-area {
6072
5872
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5873
+ shape-rendering: geometricPrecision;
6073
5874
  }
6074
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--animated {
6075
- transition: all 750ms ease-out;
5875
+ .c-chart__radar-line {
5876
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5877
+ shape-rendering: geometricPrecision;
5878
+ stroke-linecap: round;
5879
+ stroke-linejoin: round;
6076
5880
  }
6077
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--hovered {
6078
- opacity: 0.8;
5881
+ .c-chart__radar-point {
5882
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5883
+ cursor: pointer;
5884
+ shape-rendering: geometricPrecision;
6079
5885
  }
6080
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--selected {
6081
- stroke-width: 2;
5886
+ .c-chart__radar-point:hover {
5887
+ transform: scale(1.3);
5888
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
6082
5889
  }
6083
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-label {
6084
- font-size: 0.75rem;
6085
- font-weight: 700;
6086
- fill: var(--atomix-invert-text-emphasis);
6087
- pointer-events: none;
5890
+ .c-chart__radar-point--hovered {
5891
+ transform: scale(1.3);
5892
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
6088
5893
  }
6089
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-value {
6090
- font-size: 0.75rem;
6091
- fill: var(--atomix-invert-text-emphasis);
6092
- opacity: 0.8;
6093
- pointer-events: none;
5894
+ .c-chart__radar-point:focus-visible {
5895
+ outline: 2px solid var(--atomix-focus-border-color);
5896
+ outline-offset: 2px;
5897
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
6094
5898
  }
6095
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar {
6096
- stroke: var(--atomix-primary-bg-subtle);
6097
- stroke-width: 2;
6098
- cursor: pointer;
5899
+ .c-chart__waterfall-bar {
5900
+ rx: 0.25rem;
5901
+ ry: 0.25rem;
6099
5902
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5903
+ cursor: pointer;
5904
+ shape-rendering: geometricPrecision;
6100
5905
  }
6101
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar--animated {
6102
- transition: all 1s ease-out;
5906
+ .c-chart__waterfall-bar:hover {
5907
+ opacity: 0.85;
5908
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
6103
5909
  }
6104
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar:hover {
6105
- opacity: 0.8;
6106
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
5910
+ .c-chart__waterfall-bar--animated {
5911
+ animation: chart-bar-appear 1s ease-out;
5912
+ transform-origin: bottom center;
5913
+ }
5914
+ .c-chart__waterfall-bar:focus-visible {
5915
+ outline: 2px solid var(--atomix-focus-border-color);
5916
+ outline-offset: 2px;
5917
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
6107
5918
  }
6108
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value {
5919
+ .c-chart__waterfall-value {
6109
5920
  font-size: 0.75rem;
6110
- font-weight: 700;
5921
+ font-weight: 600;
5922
+ fill: var(--atomix-text-primary);
5923
+ text-anchor: middle;
6111
5924
  pointer-events: none;
5925
+ -webkit-user-select: none;
5926
+ -moz-user-select: none;
5927
+ user-select: none;
5928
+ }
5929
+ .c-chart__waterfall-value--center {
5930
+ dominant-baseline: middle;
6112
5931
  }
6113
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--center {
6114
- fill: var(--atomix-invert-text-emphasis);
6115
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
5932
+ .c-chart__waterfall-value--outside {
5933
+ dominant-baseline: auto;
6116
5934
  }
6117
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--outside {
6118
- fill: var(--atomix-primary-text-emphasis);
5935
+ .c-chart__waterfall-connector {
5936
+ stroke: var(--atomix-border-color);
5937
+ stroke-width: 1;
5938
+ opacity: 0.6;
5939
+ shape-rendering: geometricPrecision;
6119
5940
  }
6120
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-connector {
5941
+ .c-chart__waterfall-cumulative-line {
6121
5942
  stroke-width: 2;
6122
- opacity: 0.7;
6123
- }
6124
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-line {
6125
- stroke-width: 3;
6126
5943
  stroke-linecap: round;
6127
5944
  stroke-linejoin: round;
5945
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5946
+ shape-rendering: geometricPrecision;
6128
5947
  }
6129
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-point {
6130
- stroke: var(--atomix-primary-bg-subtle);
6131
- stroke-width: 2;
6132
- }
6133
- @keyframes chart-spin {
6134
- 0% {
6135
- transform: rotate(0deg);
6136
- }
6137
- 100% {
6138
- transform: rotate(360deg);
6139
- }
6140
- }
6141
- @keyframes chart-shimmer {
6142
- 0% {
6143
- left: -100%;
6144
- }
6145
- 100% {
6146
- left: 100%;
6147
- }
6148
- }
6149
- @keyframes chart-pulse {
6150
- 0%, 100% {
6151
- opacity: 0.8;
6152
- }
6153
- 50% {
6154
- opacity: 1;
6155
- }
6156
- }
6157
- @keyframes chart-draw-line {
6158
- 0% {
6159
- stroke-dashoffset: 1000;
6160
- }
6161
- 100% {
6162
- stroke-dashoffset: 0;
6163
- }
6164
- }
6165
- @keyframes chart-area-fade {
6166
- 0% {
6167
- opacity: 0;
6168
- }
6169
- 100% {
6170
- opacity: 0.3;
6171
- }
5948
+ .c-chart__waterfall-cumulative-point {
5949
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5950
+ cursor: pointer;
5951
+ shape-rendering: geometricPrecision;
6172
5952
  }
6173
- @keyframes chart-bar-grow {
6174
- 0% {
6175
- transform: scaleY(0);
6176
- }
6177
- 100% {
6178
- transform: scaleY(1);
6179
- }
5953
+ .c-chart__waterfall-cumulative-point:hover {
5954
+ transform: scale(1.3);
6180
5955
  }
6181
- @keyframes chart-bar-grow-horizontal {
6182
- 0% {
6183
- transform: scaleX(0);
6184
- }
6185
- 100% {
6186
- transform: scaleX(1);
6187
- }
5956
+ .c-chart__waterfall-cumulative-point:focus-visible {
5957
+ outline: 2px solid var(--atomix-focus-border-color);
5958
+ outline-offset: 2px;
5959
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
6188
5960
  }
6189
- @keyframes chart-pie-draw {
6190
- 0% {
6191
- stroke-dasharray: 0 628;
5961
+ @media (prefers-contrast: high) {
5962
+ .c-chart {
5963
+ border-width: calc(var(--atomix-border-width) * 2);
6192
5964
  }
6193
- 100% {
6194
- stroke-dasharray: 628 628;
5965
+ .c-chart--selected {
5966
+ border-width: calc(var(--atomix-border-width) * 3);
6195
5967
  }
6196
- }
6197
- @keyframes chart-donut-draw {
6198
- 0% {
6199
- stroke-dasharray: 0 628;
5968
+ .c-chart__action {
5969
+ border-width: calc(var(--atomix-border-width) * 2);
6200
5970
  }
6201
- 100% {
6202
- stroke-dasharray: 628 628;
5971
+ .c-chart__action:focus-visible {
5972
+ outline-width: calc(var(--atomix-border-width) * 3);
6203
5973
  }
6204
- }
6205
- @keyframes chart-fade-in {
6206
- 0% {
6207
- opacity: 0;
6208
- transform: translateY(10px);
5974
+ .c-chart__data-point {
5975
+ stroke-width: 2;
6209
5976
  }
6210
- 100% {
6211
- opacity: 1;
6212
- transform: translateY(0);
5977
+ .c-chart__data-point--selected {
5978
+ stroke-width: 3;
6213
5979
  }
6214
- }
6215
- @keyframes chart-scale-in {
6216
- 0% {
6217
- opacity: 0;
6218
- transform: scale(0.3);
5980
+ .c-chart__grid {
5981
+ stroke-width: 1;
5982
+ opacity: 0.6;
6219
5983
  }
6220
- 60% {
5984
+ .c-chart__grid--major {
5985
+ stroke-width: 1.5;
6221
5986
  opacity: 0.8;
6222
- transform: scale(1.1);
6223
- }
6224
- 100% {
6225
- opacity: 1;
6226
- transform: scale(1);
6227
- }
6228
- }
6229
- @keyframes chart-slide-in {
6230
- 0% {
6231
- opacity: 0;
6232
- transform: translateX(-20px);
6233
5987
  }
6234
- 100% {
5988
+ .c-chart__grid--zero {
5989
+ stroke-width: 2;
6235
5990
  opacity: 1;
6236
- transform: translateX(0);
6237
- }
6238
- }
6239
- @keyframes chart-bubble-grow {
6240
- 0% {
6241
- transform: scale(0);
6242
5991
  }
6243
- 100% {
6244
- transform: scale(1);
5992
+ .c-chart__treemap-node {
5993
+ stroke-width: 2;
6245
5994
  }
6246
- }
6247
- @keyframes chart-dash-flow {
6248
- 0% {
6249
- stroke-dashoffset: 0;
5995
+ .c-chart__treemap-node--selected {
5996
+ stroke-width: 3;
6250
5997
  }
6251
- 100% {
6252
- stroke-dashoffset: 10;
5998
+ .c-chart__treemap-node:focus-visible {
5999
+ outline-width: calc(var(--atomix-border-width) * 3);
6253
6000
  }
6254
- }
6255
- @keyframes chart-glow {
6256
- 0%, 100% {
6257
- filter: drop-shadow(0 0 5px currentColor);
6001
+ .c-chart__funnel-segment {
6002
+ stroke-width: 2;
6258
6003
  }
6259
- 50% {
6260
- filter: drop-shadow(0 0 15px currentColor);
6004
+ .c-chart__funnel-segment:focus-visible {
6005
+ outline-width: calc(var(--atomix-border-width) * 3);
6261
6006
  }
6262
- }
6263
- @keyframes chart-pulse-dot {
6264
- 0%, 100% {
6265
- opacity: 1;
6266
- transform: scale(1);
6007
+ .c-chart__heatmap-cell {
6008
+ stroke-width: 2;
6267
6009
  }
6268
- 50% {
6269
- opacity: 0.5;
6270
- transform: scale(1.2);
6010
+ .c-chart__heatmap-cell--hovered {
6011
+ stroke-width: 3;
6271
6012
  }
6272
- }
6273
- @keyframes chart-zoom-in {
6274
- 0% {
6275
- transform: scale(0.8);
6276
- opacity: 0;
6013
+ .c-chart__heatmap-cell:focus-visible {
6014
+ outline-width: calc(var(--atomix-border-width) * 3);
6277
6015
  }
6278
- 100% {
6279
- transform: scale(1);
6280
- opacity: 1;
6016
+ .c-chart__candlestick-candle {
6017
+ stroke-width: 2;
6281
6018
  }
6282
- }
6283
- @keyframes chart-slide-up {
6284
- 0% {
6285
- transform: translateY(20px);
6286
- opacity: 0;
6019
+ .c-chart__candlestick-candle:focus-visible {
6020
+ outline-width: calc(var(--atomix-border-width) * 3);
6287
6021
  }
6288
- 100% {
6289
- transform: translateY(0);
6022
+ .c-chart__candlestick-wick {
6023
+ stroke-width: 2;
6290
6024
  opacity: 1;
6291
6025
  }
6292
6026
  }
6293
- @media (max-width: 768px) {
6027
+ @media (prefers-reduced-motion: reduce) {
6294
6028
  .c-chart {
6295
- --atomix-chart-min-height: 10rem;
6296
- border-radius: 0.25rem;
6029
+ transition: none;
6030
+ animation: none;
6297
6031
  }
6298
- .c-chart__header {
6299
- flex-direction: column;
6300
- align-items: flex-start;
6301
- gap: 0.5rem;
6032
+ .c-chart::before, .c-chart::after {
6033
+ animation: none;
6034
+ transition: none;
6302
6035
  }
6303
- .c-chart__toolbar {
6304
- width: 100%;
6305
- justify-content: flex-end;
6306
- padding: 0.5rem;
6307
- gap: 0.5rem;
6036
+ .c-chart--elevated {
6037
+ transform: none;
6308
6038
  }
6309
- }
6310
- @media (max-width: 768px) and (max-width: 480px) {
6311
- .c-chart__toolbar {
6312
- flex-wrap: wrap;
6313
- justify-content: center;
6039
+ .c-chart--elevated:hover {
6040
+ transform: none;
6314
6041
  }
6315
- }
6316
- @media (max-width: 768px) {
6317
- .c-chart__action {
6318
- width: 2.25rem;
6319
- height: 2.25rem;
6042
+ .c-chart--clickable {
6043
+ transition: none;
6320
6044
  }
6321
- .c-chart__action svg {
6322
- width: 1.125rem;
6323
- height: 1.125rem;
6045
+ .c-chart--clickable:hover {
6046
+ transform: none;
6324
6047
  }
6325
- .c-chart__export-dropdown {
6326
- position: fixed;
6327
- top: 50%;
6328
- left: 50%;
6329
- transform: translate(-50%, -50%);
6330
- margin-top: 0;
6331
- min-width: 12.5rem;
6332
- max-width: 90vw;
6333
- }
6334
- .c-chart__legend {
6335
- flex-direction: column;
6336
- gap: 0.5rem;
6048
+ .c-chart--clickable:active {
6049
+ transform: none;
6337
6050
  }
6338
- .c-chart__legend-item {
6339
- justify-content: space-between;
6340
- width: 100%;
6051
+ .c-chart__action {
6052
+ transition: none;
6341
6053
  }
6342
- .c-chart:hover {
6054
+ .c-chart__action:hover {
6343
6055
  transform: none;
6344
6056
  }
6345
- }
6346
- @media (max-width: 480px) {
6347
- .c-chart {
6348
- --atomix-chart-min-height: 9rem;
6349
- --atomix-chart-padding: 0.5rem;
6350
- border-radius: 0.25rem;
6057
+ .c-chart__action svg {
6058
+ transition: none;
6351
6059
  }
6352
- .c-chart__title {
6353
- font-size: 1.125rem;
6354
- margin-bottom: 0.25rem;
6060
+ .c-chart__action svg:hover {
6061
+ transform: none;
6355
6062
  }
6356
- .c-chart__subtitle {
6357
- font-size: 0.75rem;
6063
+ .c-chart__data-point {
6064
+ transition: none;
6358
6065
  }
6359
- .c-chart__toolbar {
6360
- padding: 0.25rem;
6361
- gap: 0.25rem;
6362
- border-radius: 0.25rem;
6066
+ .c-chart__data-point--hovered {
6067
+ transform: none;
6363
6068
  }
6364
- .c-chart__action {
6365
- width: 1.75rem;
6366
- height: 1.75rem;
6367
- font-size: 0.75rem;
6069
+ .c-chart__treemap-node {
6070
+ transition: none;
6368
6071
  }
6369
- .c-chart__action svg {
6370
- width: 0.875rem;
6371
- height: 0.875rem;
6072
+ .c-chart__treemap-node:hover {
6073
+ transform: none;
6372
6074
  }
6373
- .c-chart__export-option {
6374
- padding: 0.25rem 0.5rem;
6375
- font-size: 0.6875rem;
6075
+ .c-chart__treemap-node--hovered {
6076
+ transform: none;
6376
6077
  }
6377
- }
6378
- @media (prefers-reduced-motion: reduce) {
6379
- .c-chart {
6078
+ .c-chart__funnel-segment {
6380
6079
  transition: none;
6381
6080
  }
6382
- .c-chart:hover {
6081
+ .c-chart__funnel-segment:hover {
6383
6082
  transform: none;
6384
6083
  }
6385
- .c-chart * {
6386
- animation-duration: 0.01s !important;
6387
- transition-duration: 0.01s !important;
6388
- }
6389
- .c-chart__real-time-indicator::before {
6390
- animation: none;
6084
+ .c-chart__heatmap-cell {
6085
+ transition: none;
6391
6086
  }
6392
- }
6393
- .c-chart:focus-within .c-chart__data-point:focus {
6394
- outline: 2px solid var(--atomix-primary-6);
6395
- outline-offset: 2px;
6396
- z-index: 10;
6397
- }
6398
- .c-chart:focus-within__canvas svg {
6399
- outline: 2px solid var(--atomix-primary-border-subtle);
6400
- outline-offset: 2px;
6401
- }
6402
- @media (prefers-contrast: high) {
6403
- .c-chart {
6404
- border-width: 2px;
6405
- background-color: white;
6406
- color: black;
6407
- -webkit-backdrop-filter: none;
6408
- backdrop-filter: none;
6087
+ .c-chart__heatmap-cell:hover {
6088
+ transform: none;
6409
6089
  }
6410
- .c-chart__grid {
6411
- stroke-width: 2;
6412
- opacity: 0.8;
6413
- stroke: black;
6090
+ .c-chart__heatmap-cell--hovered {
6091
+ transform: none;
6414
6092
  }
6415
- .c-chart__title {
6416
- color: black;
6093
+ .c-chart__candlestick-candle {
6094
+ transition: none;
6417
6095
  }
6418
- .c-chart__data-point {
6419
- stroke: black;
6420
- stroke-width: 2;
6096
+ .c-chart__candlestick-candle:hover {
6097
+ transform: none;
6421
6098
  }
6422
- .c-chart__crosshair line {
6423
- stroke: black;
6424
- opacity: 1;
6099
+ .c-chart__candlestick-wick {
6100
+ transition: none;
6425
6101
  }
6426
- .c-chart__zoom-indicator {
6427
- background: black;
6428
- color: white;
6429
- border: 2px solid white;
6102
+ .c-chart__candlestick-volume {
6103
+ transition: none;
6430
6104
  }
6431
- .c-chart .line-path {
6432
- stroke-width: 3 !important;
6105
+ .c-chart__empty {
6106
+ animation: none;
6433
6107
  }
6434
- .c-chart .bar {
6435
- stroke: black;
6436
- stroke-width: 2;
6108
+ .c-chart--loading .c-chart__content::after {
6109
+ animation: none;
6437
6110
  }
6438
- }
6439
- @media print {
6440
- .c-chart {
6441
- page-break-inside: avoid;
6442
- -moz-column-break-inside: avoid;
6443
- break-inside: avoid;
6444
- box-shadow: none;
6445
- border: 2px solid black;
6446
- background: white;
6111
+ .c-chart__waterfall-bar--animated {
6112
+ animation: none;
6447
6113
  }
6448
- .c-chart__toolbar {
6449
- display: none;
6114
+ .c-chart__canvas svg {
6115
+ animation: none;
6116
+ opacity: 1;
6450
6117
  }
6451
- .c-chart__crosshair, .c-chart__zoom-indicator, .c-chart__real-time-indicator {
6452
- display: none;
6118
+ }
6119
+ @keyframes chart-bar-appear {
6120
+ 0% {
6121
+ opacity: 0;
6122
+ transform: scaleY(0);
6453
6123
  }
6454
- .c-chart * {
6455
- animation: none !important;
6456
- transition: none !important;
6124
+ 100% {
6125
+ opacity: 1;
6126
+ transform: scaleY(1);
6457
6127
  }
6458
6128
  }
6459
6129
  .c-checkbox-group {
@@ -6833,20 +6503,27 @@ a, a:hover {
6833
6503
  display: flex;
6834
6504
  opacity: 0;
6835
6505
  visibility: hidden;
6836
- transform-origin: top center;
6837
6506
  transition: opacity var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing), visibility var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing), transform var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing);
6838
- transform: translateY(-15px) scale(0.95);
6839
6507
  pointer-events: none;
6508
+ }
6509
+ .c-dropdown__menu-wrapper:not(.is-glass) {
6840
6510
  will-change: transform, opacity, visibility;
6511
+ transform: translateY(-15px) scale(0.95);
6512
+ transform-origin: top center;
6841
6513
  }
6842
- .c-dropdown__menu-wrapper.is-open {
6514
+ .c-dropdown__menu-wrapper.is-open:not(.is-glass) {
6843
6515
  opacity: 1;
6844
6516
  transform: translateY(0) scale(1);
6845
6517
  visibility: visible;
6846
6518
  animation: atomix-dropdown-fade-in var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
6847
6519
  pointer-events: auto;
6848
6520
  }
6849
- .c-dropdown__menu-wrapper:not(.is-open) {
6521
+ .c-dropdown__menu-wrapper.is-open.is-glass {
6522
+ opacity: 1;
6523
+ visibility: visible;
6524
+ pointer-events: auto;
6525
+ }
6526
+ .c-dropdown__menu-wrapper:not(.is-open):not(.is-glass) {
6850
6527
  animation: atomix-dropdown-fade-out var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
6851
6528
  }
6852
6529
  .c-dropdown__menu-wrapper--bottom-start {
@@ -7367,22 +7044,41 @@ a, a:hover {
7367
7044
  --atomix-footer-padding-x: 1rem;
7368
7045
  --atomix-footer-padding-y: 3rem;
7369
7046
  --atomix-footer-container-max-width: 1200px;
7370
- --atomix-footer-bg: var(--atomix-surface);
7371
- --atomix-footer-color: var(--atomix-text);
7047
+ --atomix-footer-bg: var(--atomix-primary-bg);
7048
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
7372
7049
  --atomix-footer-border-width: 1px;
7373
- --atomix-footer-border-color: var(--atomix-border);
7050
+ --atomix-footer-border-color: var(--atomix-primary-border-subtle);
7374
7051
  --atomix-footer-brand-margin-bottom: 1.5rem;
7375
7052
  --atomix-footer-section-margin-bottom: 2rem;
7376
7053
  --atomix-footer-social-gap: 0.75rem;
7377
7054
  --atomix-footer-newsletter-padding: 1.5rem;
7378
7055
  --atomix-footer-bottom-padding-top: 1.5rem;
7379
7056
  --atomix-footer-bottom-margin-top: 2rem;
7057
+ --atomix-footer-brand-logo-margin-bottom: 1rem;
7058
+ --atomix-footer-brand-logo-hover-opacity: 0.8;
7059
+ --atomix-footer-section-header-gap: 0.5rem;
7060
+ --atomix-footer-section-toggle-padding: 0.75rem 0;
7061
+ --atomix-footer-bg-rgb: var(--atomix-primary-bg);
7062
+ --atomix-disabled-opacity: 0.6;
7380
7063
  background-color: var(--atomix-footer-bg);
7381
7064
  color: var(--atomix-footer-color);
7382
7065
  border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
7383
7066
  padding: var(--atomix-footer-padding-y) 0;
7384
7067
  position: relative;
7385
7068
  }
7069
+ .c-footer--glass {
7070
+ padding: 0;
7071
+ margin: 0;
7072
+ border-radius: 0;
7073
+ box-shadow: none;
7074
+ background: transparent;
7075
+ }
7076
+ .c-footer--glass .c-footer__glass {
7077
+ background-color: rgba(var(--atomix-footer-bg-rgb), 0.5, true);
7078
+ color: var(--atomix-footer-color);
7079
+ border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
7080
+ padding: var(--atomix-footer-padding-y) 0;
7081
+ }
7386
7082
  .c-footer__container {
7387
7083
  display: flex;
7388
7084
  flex-direction: column;
@@ -7392,28 +7088,42 @@ a, a:hover {
7392
7088
  padding: 0 var(--atomix-footer-padding-x);
7393
7089
  }
7394
7090
  .c-footer__sections {
7395
- display: grid;
7396
- grid-gap: var(--atomix-footer-section-margin-bottom);
7397
- gap: var(--atomix-footer-section-margin-bottom);
7398
7091
  margin-bottom: var(--atomix-footer-bottom-margin-top);
7399
- grid-template-columns: 1fr;
7092
+ width: 100%;
7093
+ max-width: var(--atomix-footer-container-max-width);
7094
+ margin-left: auto;
7095
+ margin-right: auto;
7400
7096
  }
7401
- @media (min-width: 768px) {
7402
- .c-footer__sections {
7403
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
7404
- gap: clamp(2rem, 4vw, 3rem);
7405
- }
7097
+ .c-footer__sections--centered {
7098
+ justify-content: center;
7099
+ align-items: center;
7100
+ }
7101
+ .c-footer__sections--stacked {
7102
+ display: flex;
7103
+ flex-direction: column;
7104
+ align-items: center;
7105
+ text-align: center;
7106
+ gap: clamp(1.5rem, 4vw, 2.5rem);
7107
+ max-width: 600px;
7108
+ margin-left: auto;
7109
+ margin-right: auto;
7406
7110
  }
7407
7111
  .c-footer__brand {
7112
+ grid-area: brand;
7408
7113
  margin-bottom: var(--atomix-footer-brand-margin-bottom);
7409
7114
  }
7115
+ @media (min-width: 768px) {
7116
+ .c-footer__brand {
7117
+ margin-bottom: 0;
7118
+ }
7119
+ }
7410
7120
  .c-footer__brand-logo {
7411
7121
  display: inline-block;
7412
- margin-bottom: 1rem;
7122
+ margin-bottom: var(--atomix-footer-brand-logo-margin-bottom);
7413
7123
  transition: opacity 0.2s ease;
7414
7124
  }
7415
7125
  .c-footer__brand-logo:hover {
7416
- opacity: 0.8;
7126
+ opacity: var(--atomix-footer-brand-logo-hover-opacity);
7417
7127
  }
7418
7128
  .c-footer__brand-logo img {
7419
7129
  max-width: 200px;
@@ -7426,18 +7136,23 @@ a, a:hover {
7426
7136
  margin: 0;
7427
7137
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
7428
7138
  font-weight: 600;
7429
- color: var(--atomix-text-emphasis);
7139
+ color: var(--atomix-primary-text-emphasis);
7430
7140
  line-height: 1.2;
7431
7141
  }
7432
7142
  .c-footer__brand-description {
7433
7143
  margin-top: 0.5rem;
7434
7144
  font-size: 0.875rem;
7435
- color: var(--atomix-text-muted);
7145
+ color: var(--atomix-secondary-text-emphasis);
7436
7146
  line-height: 1.6;
7437
7147
  max-width: 35ch;
7438
7148
  }
7439
7149
  .c-footer__section {
7440
- margin-bottom: var(--atomix-footer-section-margin-bottom);
7150
+ margin-bottom: 0;
7151
+ }
7152
+ @media (max-width: 575.98px) {
7153
+ .c-footer__section {
7154
+ margin-bottom: var(--atomix-footer-section-margin-bottom);
7155
+ }
7441
7156
  }
7442
7157
  .c-footer__section-header {
7443
7158
  margin-bottom: 1rem;
@@ -7445,14 +7160,14 @@ a, a:hover {
7445
7160
  .c-footer__section-header-content {
7446
7161
  display: flex;
7447
7162
  align-items: center;
7448
- gap: 0.5rem;
7163
+ gap: var(--atomix-footer-section-header-gap);
7449
7164
  }
7450
7165
  .c-footer__section-toggle {
7451
7166
  display: flex;
7452
7167
  align-items: center;
7453
7168
  justify-content: space-between;
7454
7169
  width: 100%;
7455
- padding: 0.75rem 0;
7170
+ padding: var(--atomix-footer-section-toggle-padding);
7456
7171
  background: none;
7457
7172
  border: none;
7458
7173
  cursor: pointer;
@@ -7471,9 +7186,10 @@ a, a:hover {
7471
7186
  }
7472
7187
  .c-footer__section-title {
7473
7188
  margin: 0;
7189
+ width: 100%;
7474
7190
  font-size: 1.125rem;
7475
7191
  font-weight: 600;
7476
- color: var(--atomix-text-emphasis);
7192
+ color: var(--atomix-primary-text-emphasis);
7477
7193
  line-height: 1.3;
7478
7194
  }
7479
7195
  .c-footer__section-icon {
@@ -7485,7 +7201,7 @@ a, a:hover {
7485
7201
  .c-footer__section-chevron {
7486
7202
  font-size: 0.875rem;
7487
7203
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
7488
- color: var(--atomix-text-muted);
7204
+ color: var(--atomix-gray-6);
7489
7205
  }
7490
7206
  .c-footer__section-content {
7491
7207
  display: flex;
@@ -7520,9 +7236,9 @@ a, a:hover {
7520
7236
  align-items: center;
7521
7237
  gap: 0.5rem;
7522
7238
  padding: 0.25rem 0;
7523
- color: var(--atomix-text);
7239
+ color: var(--atomix-primary-text-emphasis);
7524
7240
  text-decoration: none;
7525
- transition: color 0.15s ease-in-out;
7241
+ transition: all 0.15s ease-in-out;
7526
7242
  border-radius: 0.25rem;
7527
7243
  position: relative;
7528
7244
  }
@@ -7538,7 +7254,7 @@ a, a:hover {
7538
7254
  }
7539
7255
  .c-footer__link:hover, .c-footer__link:focus {
7540
7256
  color: var(--atomix-primary);
7541
- text-decoration: underline;
7257
+ text-decoration: none;
7542
7258
  }
7543
7259
  .c-footer__link:hover::before, .c-footer__link:focus::before {
7544
7260
  width: 100%;
@@ -7555,10 +7271,10 @@ a, a:hover {
7555
7271
  width: 100%;
7556
7272
  }
7557
7273
  .c-footer__link--disabled {
7558
- color: var(--atomix-text-disabled);
7274
+ color: var(--atomix-disabled-text-emphasis);
7559
7275
  cursor: not-allowed;
7560
7276
  pointer-events: none;
7561
- opacity: 0.6;
7277
+ opacity: var(--atomix-disabled-opacity);
7562
7278
  }
7563
7279
  .c-footer__link-icon {
7564
7280
  display: flex;
@@ -7589,11 +7305,11 @@ a, a:hover {
7589
7305
  justify-content: center;
7590
7306
  width: 2.5rem;
7591
7307
  height: 2.5rem;
7592
- background-color: var(--atomix-surface-variant);
7593
- color: var(--atomix-text);
7308
+ background-color: var(--atomix-secondary-bg-subtle);
7309
+ color: var(--atomix-primary-text-emphasis);
7594
7310
  border-radius: 50%;
7595
7311
  text-decoration: none;
7596
- transition: all 0.15s ease-in-out;
7312
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
7597
7313
  position: relative;
7598
7314
  overflow: hidden;
7599
7315
  }
@@ -7607,7 +7323,7 @@ a, a:hover {
7607
7323
  }
7608
7324
  .c-footer__social-link:hover, .c-footer__social-link:focus {
7609
7325
  background-color: var(--atomix-primary);
7610
- color: var(--atomix-primary-contrast);
7326
+ color: var(--atomix-component-active-color);
7611
7327
  transform: translateY(-3px) scale(1.05);
7612
7328
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
7613
7329
  }
@@ -7627,7 +7343,7 @@ a, a:hover {
7627
7343
  height: 3rem;
7628
7344
  }
7629
7345
  .c-footer__social-link--disabled {
7630
- opacity: 0.5;
7346
+ opacity: var(--atomix-disabled-opacity);
7631
7347
  cursor: not-allowed;
7632
7348
  pointer-events: none;
7633
7349
  }
@@ -7674,7 +7390,7 @@ a, a:hover {
7674
7390
  background: linear-gradient(135deg, #25d366, #66bb6a);
7675
7391
  }
7676
7392
  .c-footer__newsletter {
7677
- background-color: linear-gradient(135deg, var(--atomix-surface-variant), rgba(var(--atomix-surface-variant), 0.8));
7393
+ background-color: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
7678
7394
  padding: 1.5rem;
7679
7395
  border-radius: 0.5rem;
7680
7396
  border: 1px solid var(--atomix-border-subtle);
@@ -7694,20 +7410,24 @@ a, a:hover {
7694
7410
  margin: 0 0 0.5rem 0;
7695
7411
  font-size: clamp(1.125rem, 2vw, 1.125rem);
7696
7412
  font-weight: 600;
7697
- color: var(--atomix-text-emphasis);
7413
+ color: var(--atomix-primary-text-emphasis);
7698
7414
  line-height: 1.3;
7699
7415
  }
7700
7416
  .c-footer__newsletter-description {
7701
7417
  margin: 0 0 1rem 0;
7702
7418
  font-size: 0.875rem;
7703
- color: var(--atomix-text-muted);
7419
+ color: var(--atomix-secondary-text-emphasis);
7704
7420
  line-height: 1.6;
7705
7421
  max-width: 45ch;
7422
+ width: 100%;
7423
+ box-sizing: border-box;
7706
7424
  }
7707
7425
  .c-footer__newsletter-form {
7708
7426
  display: flex;
7709
7427
  gap: 0.75rem;
7710
7428
  align-items: flex-end;
7429
+ width: 100%;
7430
+ max-width: 100%;
7711
7431
  }
7712
7432
  @media (max-width: 575.98px) {
7713
7433
  .c-footer__newsletter-form {
@@ -7730,12 +7450,13 @@ a, a:hover {
7730
7450
  flex: 1 1;
7731
7451
  padding: 0.75rem 1rem;
7732
7452
  font-size: 0.875rem;
7733
- background-color: var(--atomix-surface);
7734
- color: var(--atomix-text);
7735
- border: 1px solid var(--atomix-border);
7453
+ background-color: var(--atomix-primary-bg-subtle);
7454
+ color: var(--atomix-primary-text-emphasis);
7455
+ border: 1px solid var(--atomix-primary-border);
7736
7456
  border-radius: 0.375rem;
7737
7457
  outline: none;
7738
7458
  transition: all 0.3s ease;
7459
+ box-sizing: border-box;
7739
7460
  }
7740
7461
  .c-footer__newsletter-input:focus {
7741
7462
  border-color: var(--atomix-primary);
@@ -7743,12 +7464,12 @@ a, a:hover {
7743
7464
  transform: translateY(-1px);
7744
7465
  }
7745
7466
  .c-footer__newsletter-input::-moz-placeholder {
7746
- color: var(--atomix-text-muted);
7467
+ color: var(--atomix-gray-6);
7747
7468
  -moz-transition: opacity 0.3s ease;
7748
7469
  transition: opacity 0.3s ease;
7749
7470
  }
7750
7471
  .c-footer__newsletter-input::placeholder {
7751
- color: var(--atomix-text-muted);
7472
+ color: var(--atomix-gray-6);
7752
7473
  transition: opacity 0.3s ease;
7753
7474
  }
7754
7475
  .c-footer__newsletter-input:focus::-moz-placeholder {
@@ -7759,13 +7480,13 @@ a, a:hover {
7759
7480
  }
7760
7481
  .c-footer__newsletter-button {
7761
7482
  padding: 0.75rem 1.5rem;
7762
- background-color: var(--atomix-primary);
7763
- color: var(--atomix-primary-contrast);
7483
+ background-color: var(--atomix-brand-bg-subtle);
7484
+ color: var(--atomix-brand-text-emphasis);
7764
7485
  border: none;
7765
7486
  border-radius: 0.375rem;
7766
7487
  font-weight: 500;
7767
7488
  cursor: pointer;
7768
- transition: background-color 0.15s ease-in-out;
7489
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
7769
7490
  white-space: nowrap;
7770
7491
  position: relative;
7771
7492
  overflow: hidden;
@@ -7779,7 +7500,7 @@ a, a:hover {
7779
7500
  transition: transform 0.6s ease;
7780
7501
  }
7781
7502
  .c-footer__newsletter-button:hover, .c-footer__newsletter-button:focus {
7782
- background-color: var(--atomix-primary-hover);
7503
+ background-color: var(--atomix-secondary-bg-subtle);
7783
7504
  transform: translateY(-2px);
7784
7505
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
7785
7506
  }
@@ -7795,7 +7516,7 @@ a, a:hover {
7795
7516
  align-items: center;
7796
7517
  justify-content: space-between;
7797
7518
  padding-top: var(--atomix-footer-bottom-padding-top);
7798
- border-top: 1px solid var(--atomix-border);
7519
+ border-top: 1px solid var(--atomix-primary-border-subtle);
7799
7520
  position: relative;
7800
7521
  }
7801
7522
  @media (max-width: 575.98px) {
@@ -7807,7 +7528,7 @@ a, a:hover {
7807
7528
  }
7808
7529
  .c-footer__copyright {
7809
7530
  font-size: 0.875rem;
7810
- color: var(--atomix-text-muted);
7531
+ color: var(--atomix-tertiary-text-emphasis);
7811
7532
  line-height: 1.5;
7812
7533
  }
7813
7534
  .c-footer__copyright a {
@@ -7824,16 +7545,18 @@ a, a:hover {
7824
7545
  align-items: center;
7825
7546
  gap: 0.5rem;
7826
7547
  padding: 0.75rem 1.25rem;
7827
- background-color: var(--atomix-surface-variant);
7548
+ background-color: var(--atomix-secondary-bg);
7828
7549
  border: 1px solid var(--atomix-border-subtle);
7829
- color: var(--atomix-text);
7550
+ color: var(--atomix-primary-text-emphasis);
7830
7551
  font-size: 0.875rem;
7831
7552
  font-weight: 500;
7832
7553
  cursor: pointer;
7833
- transition: color 0.15s ease-in-out;
7554
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
7834
7555
  border-radius: 2rem;
7835
7556
  position: relative;
7836
7557
  overflow: hidden;
7558
+ text-decoration: none;
7559
+ outline: none;
7837
7560
  }
7838
7561
  .c-footer__back-to-top::before {
7839
7562
  content: "";
@@ -7841,14 +7564,14 @@ a, a:hover {
7841
7564
  inset: 0;
7842
7565
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
7843
7566
  transform: translateX(-100%);
7844
- transition: transform 0.6s ease;
7567
+ transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
7845
7568
  }
7846
7569
  .c-footer__back-to-top:hover, .c-footer__back-to-top:focus {
7847
- color: var(--atomix-primary);
7570
+ color: var(--atomix-secondary-text-emphasis);
7848
7571
  background-color: var(--atomix-primary);
7849
7572
  border-color: var(--atomix-primary);
7850
- transform: translateY(-2px);
7851
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
7573
+ transform: translateY(-3px);
7574
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
7852
7575
  }
7853
7576
  .c-footer__back-to-top:hover::before, .c-footer__back-to-top:focus::before {
7854
7577
  transform: translateX(100%);
@@ -7856,6 +7579,10 @@ a, a:hover {
7856
7579
  .c-footer__back-to-top:hover .c-footer__back-to-top-icon, .c-footer__back-to-top:focus .c-footer__back-to-top-icon {
7857
7580
  transform: translateY(-2px);
7858
7581
  }
7582
+ .c-footer__back-to-top:active {
7583
+ transform: translateY(-1px);
7584
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
7585
+ }
7859
7586
  .c-footer__back-to-top:focus-visible {
7860
7587
  outline: 2px solid var(--atomix-primary);
7861
7588
  outline-offset: 2px;
@@ -7863,7 +7590,7 @@ a, a:hover {
7863
7590
  .c-footer__back-to-top-icon {
7864
7591
  font-size: 1.25em;
7865
7592
  font-weight: bold;
7866
- transition: transform 0.3s ease;
7593
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
7867
7594
  }
7868
7595
  @media (max-width: 575.98px) {
7869
7596
  .c-footer__back-to-top-text {
@@ -7874,30 +7601,12 @@ a, a:hover {
7874
7601
  margin: 2rem 0;
7875
7602
  border: none;
7876
7603
  height: 1px;
7877
- background: linear-gradient(90deg, transparent, 1px solid var(--atomix-border), transparent);
7604
+ background: linear-gradient(90deg, transparent, 1px solid var(--atomix-primary-border-subtle), transparent);
7878
7605
  opacity: 0.5;
7879
7606
  }
7880
- @media (min-width: 768px) {
7881
- .c-footer--columns .c-footer__sections {
7882
- display: grid;
7883
- grid-template-columns: minmax(300px, 1fr) 2fr minmax(250px, 1fr);
7884
- grid-gap: clamp(2rem, 5vw, 4rem);
7885
- gap: clamp(2rem, 5vw, 4rem);
7886
- align-items: start;
7887
- }
7888
- }
7889
- @media (min-width: 992px) {
7890
- .c-footer--columns .c-footer__sections {
7891
- grid-template-columns: minmax(350px, 1fr) 3fr minmax(300px, 1fr);
7892
- }
7893
- }
7894
7607
  .c-footer--centered {
7895
7608
  text-align: center;
7896
7609
  }
7897
- .c-footer--centered .c-footer__sections {
7898
- justify-content: center;
7899
- align-items: center;
7900
- }
7901
7610
  .c-footer--centered .c-footer__social {
7902
7611
  justify-content: center;
7903
7612
  }
@@ -7907,13 +7616,14 @@ a, a:hover {
7907
7616
  }
7908
7617
  .c-footer--minimal {
7909
7618
  --atomix-footer-padding-y: 2rem;
7619
+ --atomix-footer-social-gap: 0.75;
7910
7620
  }
7911
7621
  .c-footer--minimal .c-footer__sections {
7912
7622
  margin-bottom: 1rem;
7913
7623
  gap: 1.5rem;
7914
7624
  }
7915
7625
  .c-footer--minimal .c-footer__section {
7916
- margin-bottom: 1rem;
7626
+ margin-bottom: 0;
7917
7627
  }
7918
7628
  .c-footer--minimal .c-footer__newsletter {
7919
7629
  padding: 1.5rem;
@@ -7928,15 +7638,26 @@ a, a:hover {
7928
7638
  margin-left: auto;
7929
7639
  margin-right: auto;
7930
7640
  }
7641
+ .c-footer--flexible .c-footer__section-col {
7642
+ flex: 1 1 auto;
7643
+ min-width: 250px;
7644
+ }
7645
+ .c-footer--sidebar .c-footer__sections--columns {
7646
+ align-items: flex-start;
7647
+ }
7648
+ .c-footer--wide .c-footer__sections {
7649
+ max-width: 100%;
7650
+ padding: 0 1rem;
7651
+ }
7931
7652
  .c-footer--sm {
7932
7653
  --atomix-footer-padding-y: 2rem;
7933
7654
  --atomix-footer-section-margin-bottom: 1.5rem;
7934
- --atomix-footer-brand-margin-bottom: 1rem;
7935
7655
  --atomix-footer-social-gap: 0.75rem;
7936
7656
  }
7937
7657
  .c-footer--md {
7938
7658
  --atomix-footer-padding-y: 3rem;
7939
7659
  --atomix-footer-section-margin-bottom: 2rem;
7660
+ --atomix-footer-social-gap: 1rem;
7940
7661
  }
7941
7662
  .c-footer--lg {
7942
7663
  --atomix-footer-padding-y: 4rem;
@@ -7950,7 +7671,7 @@ a, a:hover {
7950
7671
  .c-footer--primary {
7951
7672
  --atomix-footer-bg: var(--atomix-primary-bg-subtle);
7952
7673
  --atomix-footer-border-color: var(--atomix-primary-border-subtle);
7953
- --atomix-footer-color: var(--atomix-primary-text);
7674
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
7954
7675
  }
7955
7676
  .c-footer--primary .c-footer__brand-name h3,
7956
7677
  .c-footer--primary .c-footer__section-title {
@@ -7958,10 +7679,10 @@ a, a:hover {
7958
7679
  }
7959
7680
  .c-footer--primary .c-footer__brand-description,
7960
7681
  .c-footer--primary .c-footer__copyright {
7961
- color: var(--atomix-primary-text-muted);
7682
+ color: var(--atomix-gray-6);
7962
7683
  }
7963
7684
  .c-footer--primary .c-footer__link {
7964
- color: var(--atomix-primary-text);
7685
+ color: var(--atomix-primary-text-emphasis);
7965
7686
  }
7966
7687
  .c-footer--primary .c-footer__link:hover, .c-footer--primary .c-footer__link:focus {
7967
7688
  color: var(--atomix-primary);
@@ -7970,8 +7691,8 @@ a, a:hover {
7970
7691
  background-color: var(--atomix-primary);
7971
7692
  }
7972
7693
  .c-footer--primary .c-footer__newsletter {
7973
- background: linear-gradient(135deg, var(--atomix-primary-bg), rgba(var(--atomix-primary-bg-rgb), 0.8));
7974
- border-color: var(--atomix-primary-border);
7694
+ background: linear-gradient(135deg, var(--atomix-primary-bg-subtle), rgba(var(--atomix-primary-bg-subtle), 0.8));
7695
+ border-color: var(--atomix-primary-border-subtle);
7975
7696
  }
7976
7697
  .c-footer--primary .c-footer__newsletter::before {
7977
7698
  background: linear-gradient(90deg, transparent, var(--atomix-primary), transparent);
@@ -7979,7 +7700,7 @@ a, a:hover {
7979
7700
  .c-footer--secondary {
7980
7701
  --atomix-footer-bg: var(--atomix-secondary-bg-subtle);
7981
7702
  --atomix-footer-border-color: var(--atomix-secondary-border-subtle);
7982
- --atomix-footer-color: var(--atomix-secondary-text);
7703
+ --atomix-footer-color: var(--atomix-secondary-text-emphasis);
7983
7704
  }
7984
7705
  .c-footer--secondary .c-footer__brand-name h3,
7985
7706
  .c-footer--secondary .c-footer__section-title {
@@ -7987,10 +7708,10 @@ a, a:hover {
7987
7708
  }
7988
7709
  .c-footer--secondary .c-footer__brand-description,
7989
7710
  .c-footer--secondary .c-footer__copyright {
7990
- color: var(--atomix-secondary-text-muted);
7711
+ color: var(--atomix-gray-6);
7991
7712
  }
7992
7713
  .c-footer--secondary .c-footer__link {
7993
- color: var(--atomix-secondary-text);
7714
+ color: var(--atomix-secondary-text-emphasis);
7994
7715
  }
7995
7716
  .c-footer--secondary .c-footer__link:hover, .c-footer--secondary .c-footer__link:focus {
7996
7717
  color: var(--atomix-secondary);
@@ -7999,8 +7720,8 @@ a, a:hover {
7999
7720
  background-color: var(--atomix-secondary);
8000
7721
  }
8001
7722
  .c-footer--secondary .c-footer__newsletter {
8002
- background: linear-gradient(135deg, var(--atomix-secondary-bg), rgba(var(--atomix-secondary-bg-rgb), 0.8));
8003
- border-color: var(--atomix-secondary-border);
7723
+ background: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
7724
+ border-color: var(--atomix-secondary-border-subtle);
8004
7725
  }
8005
7726
  .c-footer--secondary .c-footer__newsletter::before {
8006
7727
  background: linear-gradient(90deg, transparent, var(--atomix-secondary), transparent);
@@ -8008,7 +7729,7 @@ a, a:hover {
8008
7729
  .c-footer--tertiary {
8009
7730
  --atomix-footer-bg: var(--atomix-tertiary-bg-subtle);
8010
7731
  --atomix-footer-border-color: var(--atomix-tertiary-border-subtle);
8011
- --atomix-footer-color: var(--atomix-tertiary-text);
7732
+ --atomix-footer-color: var(--atomix-tertiary-text-emphasis);
8012
7733
  }
8013
7734
  .c-footer--tertiary .c-footer__brand-name h3,
8014
7735
  .c-footer--tertiary .c-footer__section-title {
@@ -8016,10 +7737,10 @@ a, a:hover {
8016
7737
  }
8017
7738
  .c-footer--tertiary .c-footer__brand-description,
8018
7739
  .c-footer--tertiary .c-footer__copyright {
8019
- color: var(--atomix-tertiary-text-muted);
7740
+ color: var(--atomix-gray-6);
8020
7741
  }
8021
7742
  .c-footer--tertiary .c-footer__link {
8022
- color: var(--atomix-tertiary-text);
7743
+ color: var(--atomix-tertiary-text-emphasis);
8023
7744
  }
8024
7745
  .c-footer--tertiary .c-footer__link:hover, .c-footer--tertiary .c-footer__link:focus {
8025
7746
  color: var(--atomix-tertiary);
@@ -8028,8 +7749,8 @@ a, a:hover {
8028
7749
  background-color: var(--atomix-tertiary);
8029
7750
  }
8030
7751
  .c-footer--tertiary .c-footer__newsletter {
8031
- background: linear-gradient(135deg, var(--atomix-tertiary-bg), rgba(var(--atomix-tertiary-bg-rgb), 0.8));
8032
- border-color: var(--atomix-tertiary-border);
7752
+ background: linear-gradient(135deg, var(--atomix-tertiary-bg-subtle), rgba(var(--atomix-tertiary-bg-subtle), 0.8));
7753
+ border-color: var(--atomix-tertiary-border-subtle);
8033
7754
  }
8034
7755
  .c-footer--tertiary .c-footer__newsletter::before {
8035
7756
  background: linear-gradient(90deg, transparent, var(--atomix-tertiary), transparent);
@@ -8037,7 +7758,7 @@ a, a:hover {
8037
7758
  .c-footer--invert {
8038
7759
  --atomix-footer-bg: var(--atomix-invert-bg-subtle);
8039
7760
  --atomix-footer-border-color: var(--atomix-invert-border-subtle);
8040
- --atomix-footer-color: var(--atomix-invert-text);
7761
+ --atomix-footer-color: var(--atomix-invert-text-emphasis);
8041
7762
  }
8042
7763
  .c-footer--invert .c-footer__brand-name h3,
8043
7764
  .c-footer--invert .c-footer__section-title {
@@ -8045,10 +7766,10 @@ a, a:hover {
8045
7766
  }
8046
7767
  .c-footer--invert .c-footer__brand-description,
8047
7768
  .c-footer--invert .c-footer__copyright {
8048
- color: var(--atomix-invert-text-muted);
7769
+ color: var(--atomix-gray-6);
8049
7770
  }
8050
7771
  .c-footer--invert .c-footer__link {
8051
- color: var(--atomix-invert-text);
7772
+ color: var(--atomix-invert-text-emphasis);
8052
7773
  }
8053
7774
  .c-footer--invert .c-footer__link:hover, .c-footer--invert .c-footer__link:focus {
8054
7775
  color: var(--atomix-invert);
@@ -8057,8 +7778,8 @@ a, a:hover {
8057
7778
  background-color: var(--atomix-invert);
8058
7779
  }
8059
7780
  .c-footer--invert .c-footer__newsletter {
8060
- background: linear-gradient(135deg, var(--atomix-invert-bg), rgba(var(--atomix-invert-bg-rgb), 0.8));
8061
- border-color: var(--atomix-invert-border);
7781
+ background: linear-gradient(135deg, var(--atomix-invert-bg-subtle), rgba(var(--atomix-invert-bg-subtle), 0.8));
7782
+ border-color: var(--atomix-invert-border-subtle);
8062
7783
  }
8063
7784
  .c-footer--invert .c-footer__newsletter::before {
8064
7785
  background: linear-gradient(90deg, transparent, var(--atomix-invert), transparent);
@@ -8066,7 +7787,7 @@ a, a:hover {
8066
7787
  .c-footer--brand {
8067
7788
  --atomix-footer-bg: var(--atomix-brand-bg-subtle);
8068
7789
  --atomix-footer-border-color: var(--atomix-brand-border-subtle);
8069
- --atomix-footer-color: var(--atomix-brand-text);
7790
+ --atomix-footer-color: var(--atomix-brand-text-emphasis);
8070
7791
  }
8071
7792
  .c-footer--brand .c-footer__brand-name h3,
8072
7793
  .c-footer--brand .c-footer__section-title {
@@ -8074,10 +7795,10 @@ a, a:hover {
8074
7795
  }
8075
7796
  .c-footer--brand .c-footer__brand-description,
8076
7797
  .c-footer--brand .c-footer__copyright {
8077
- color: var(--atomix-brand-text-muted);
7798
+ color: var(--atomix-gray-6);
8078
7799
  }
8079
7800
  .c-footer--brand .c-footer__link {
8080
- color: var(--atomix-brand-text);
7801
+ color: var(--atomix-brand-text-emphasis);
8081
7802
  }
8082
7803
  .c-footer--brand .c-footer__link:hover, .c-footer--brand .c-footer__link:focus {
8083
7804
  color: var(--atomix-brand);
@@ -8086,8 +7807,8 @@ a, a:hover {
8086
7807
  background-color: var(--atomix-brand);
8087
7808
  }
8088
7809
  .c-footer--brand .c-footer__newsletter {
8089
- background: linear-gradient(135deg, var(--atomix-brand-bg), rgba(var(--atomix-brand-bg-rgb), 0.8));
8090
- border-color: var(--atomix-brand-border);
7810
+ background: linear-gradient(135deg, var(--atomix-brand-bg-subtle), rgba(var(--atomix-brand-bg-subtle), 0.8));
7811
+ border-color: var(--atomix-brand-border-subtle);
8091
7812
  }
8092
7813
  .c-footer--brand .c-footer__newsletter::before {
8093
7814
  background: linear-gradient(90deg, transparent, var(--atomix-brand), transparent);
@@ -8095,7 +7816,7 @@ a, a:hover {
8095
7816
  .c-footer--error {
8096
7817
  --atomix-footer-bg: var(--atomix-error-bg-subtle);
8097
7818
  --atomix-footer-border-color: var(--atomix-error-border-subtle);
8098
- --atomix-footer-color: var(--atomix-error-text);
7819
+ --atomix-footer-color: var(--atomix-error-text-emphasis);
8099
7820
  }
8100
7821
  .c-footer--error .c-footer__brand-name h3,
8101
7822
  .c-footer--error .c-footer__section-title {
@@ -8103,10 +7824,10 @@ a, a:hover {
8103
7824
  }
8104
7825
  .c-footer--error .c-footer__brand-description,
8105
7826
  .c-footer--error .c-footer__copyright {
8106
- color: var(--atomix-error-text-muted);
7827
+ color: var(--atomix-gray-6);
8107
7828
  }
8108
7829
  .c-footer--error .c-footer__link {
8109
- color: var(--atomix-error-text);
7830
+ color: var(--atomix-error-text-emphasis);
8110
7831
  }
8111
7832
  .c-footer--error .c-footer__link:hover, .c-footer--error .c-footer__link:focus {
8112
7833
  color: var(--atomix-error);
@@ -8115,8 +7836,8 @@ a, a:hover {
8115
7836
  background-color: var(--atomix-error);
8116
7837
  }
8117
7838
  .c-footer--error .c-footer__newsletter {
8118
- background: linear-gradient(135deg, var(--atomix-error-bg), rgba(var(--atomix-error-bg-rgb), 0.8));
8119
- border-color: var(--atomix-error-border);
7839
+ background: linear-gradient(135deg, var(--atomix-error-bg-subtle), rgba(var(--atomix-error-bg-subtle), 0.8));
7840
+ border-color: var(--atomix-error-border-subtle);
8120
7841
  }
8121
7842
  .c-footer--error .c-footer__newsletter::before {
8122
7843
  background: linear-gradient(90deg, transparent, var(--atomix-error), transparent);
@@ -8124,7 +7845,7 @@ a, a:hover {
8124
7845
  .c-footer--success {
8125
7846
  --atomix-footer-bg: var(--atomix-success-bg-subtle);
8126
7847
  --atomix-footer-border-color: var(--atomix-success-border-subtle);
8127
- --atomix-footer-color: var(--atomix-success-text);
7848
+ --atomix-footer-color: var(--atomix-success-text-emphasis);
8128
7849
  }
8129
7850
  .c-footer--success .c-footer__brand-name h3,
8130
7851
  .c-footer--success .c-footer__section-title {
@@ -8132,10 +7853,10 @@ a, a:hover {
8132
7853
  }
8133
7854
  .c-footer--success .c-footer__brand-description,
8134
7855
  .c-footer--success .c-footer__copyright {
8135
- color: var(--atomix-success-text-muted);
7856
+ color: var(--atomix-gray-6);
8136
7857
  }
8137
7858
  .c-footer--success .c-footer__link {
8138
- color: var(--atomix-success-text);
7859
+ color: var(--atomix-success-text-emphasis);
8139
7860
  }
8140
7861
  .c-footer--success .c-footer__link:hover, .c-footer--success .c-footer__link:focus {
8141
7862
  color: var(--atomix-success);
@@ -8144,8 +7865,8 @@ a, a:hover {
8144
7865
  background-color: var(--atomix-success);
8145
7866
  }
8146
7867
  .c-footer--success .c-footer__newsletter {
8147
- background: linear-gradient(135deg, var(--atomix-success-bg), rgba(var(--atomix-success-bg-rgb), 0.8));
8148
- border-color: var(--atomix-success-border);
7868
+ background: linear-gradient(135deg, var(--atomix-success-bg-subtle), rgba(var(--atomix-success-bg-subtle), 0.8));
7869
+ border-color: var(--atomix-success-border-subtle);
8149
7870
  }
8150
7871
  .c-footer--success .c-footer__newsletter::before {
8151
7872
  background: linear-gradient(90deg, transparent, var(--atomix-success), transparent);
@@ -8153,7 +7874,7 @@ a, a:hover {
8153
7874
  .c-footer--warning {
8154
7875
  --atomix-footer-bg: var(--atomix-warning-bg-subtle);
8155
7876
  --atomix-footer-border-color: var(--atomix-warning-border-subtle);
8156
- --atomix-footer-color: var(--atomix-warning-text);
7877
+ --atomix-footer-color: var(--atomix-warning-text-emphasis);
8157
7878
  }
8158
7879
  .c-footer--warning .c-footer__brand-name h3,
8159
7880
  .c-footer--warning .c-footer__section-title {
@@ -8161,10 +7882,10 @@ a, a:hover {
8161
7882
  }
8162
7883
  .c-footer--warning .c-footer__brand-description,
8163
7884
  .c-footer--warning .c-footer__copyright {
8164
- color: var(--atomix-warning-text-muted);
7885
+ color: var(--atomix-gray-6);
8165
7886
  }
8166
7887
  .c-footer--warning .c-footer__link {
8167
- color: var(--atomix-warning-text);
7888
+ color: var(--atomix-warning-text-emphasis);
8168
7889
  }
8169
7890
  .c-footer--warning .c-footer__link:hover, .c-footer--warning .c-footer__link:focus {
8170
7891
  color: var(--atomix-warning);
@@ -8173,8 +7894,8 @@ a, a:hover {
8173
7894
  background-color: var(--atomix-warning);
8174
7895
  }
8175
7896
  .c-footer--warning .c-footer__newsletter {
8176
- background: linear-gradient(135deg, var(--atomix-warning-bg), rgba(var(--atomix-warning-bg-rgb), 0.8));
8177
- border-color: var(--atomix-warning-border);
7897
+ background: linear-gradient(135deg, var(--atomix-warning-bg-subtle), rgba(var(--atomix-warning-bg-subtle), 0.8));
7898
+ border-color: var(--atomix-warning-border-subtle);
8178
7899
  }
8179
7900
  .c-footer--warning .c-footer__newsletter::before {
8180
7901
  background: linear-gradient(90deg, transparent, var(--atomix-warning), transparent);
@@ -8182,7 +7903,7 @@ a, a:hover {
8182
7903
  .c-footer--info {
8183
7904
  --atomix-footer-bg: var(--atomix-info-bg-subtle);
8184
7905
  --atomix-footer-border-color: var(--atomix-info-border-subtle);
8185
- --atomix-footer-color: var(--atomix-info-text);
7906
+ --atomix-footer-color: var(--atomix-info-text-emphasis);
8186
7907
  }
8187
7908
  .c-footer--info .c-footer__brand-name h3,
8188
7909
  .c-footer--info .c-footer__section-title {
@@ -8190,10 +7911,10 @@ a, a:hover {
8190
7911
  }
8191
7912
  .c-footer--info .c-footer__brand-description,
8192
7913
  .c-footer--info .c-footer__copyright {
8193
- color: var(--atomix-info-text-muted);
7914
+ color: var(--atomix-gray-6);
8194
7915
  }
8195
7916
  .c-footer--info .c-footer__link {
8196
- color: var(--atomix-info-text);
7917
+ color: var(--atomix-info-text-emphasis);
8197
7918
  }
8198
7919
  .c-footer--info .c-footer__link:hover, .c-footer--info .c-footer__link:focus {
8199
7920
  color: var(--atomix-info);
@@ -8202,8 +7923,8 @@ a, a:hover {
8202
7923
  background-color: var(--atomix-info);
8203
7924
  }
8204
7925
  .c-footer--info .c-footer__newsletter {
8205
- background: linear-gradient(135deg, var(--atomix-info-bg), rgba(var(--atomix-info-bg-rgb), 0.8));
8206
- border-color: var(--atomix-info-border);
7926
+ background: linear-gradient(135deg, var(--atomix-info-bg-subtle), rgba(var(--atomix-info-bg-subtle), 0.8));
7927
+ border-color: var(--atomix-info-border-subtle);
8207
7928
  }
8208
7929
  .c-footer--info .c-footer__newsletter::before {
8209
7930
  background: linear-gradient(90deg, transparent, var(--atomix-info), transparent);
@@ -8211,7 +7932,7 @@ a, a:hover {
8211
7932
  .c-footer--light {
8212
7933
  --atomix-footer-bg: var(--atomix-light-bg-subtle);
8213
7934
  --atomix-footer-border-color: var(--atomix-light-border-subtle);
8214
- --atomix-footer-color: var(--atomix-light-text);
7935
+ --atomix-footer-color: var(--atomix-light-text-emphasis);
8215
7936
  }
8216
7937
  .c-footer--light .c-footer__brand-name h3,
8217
7938
  .c-footer--light .c-footer__section-title {
@@ -8219,10 +7940,10 @@ a, a:hover {
8219
7940
  }
8220
7941
  .c-footer--light .c-footer__brand-description,
8221
7942
  .c-footer--light .c-footer__copyright {
8222
- color: var(--atomix-light-text-muted);
7943
+ color: var(--atomix-gray-6);
8223
7944
  }
8224
7945
  .c-footer--light .c-footer__link {
8225
- color: var(--atomix-light-text);
7946
+ color: var(--atomix-light-text-emphasis);
8226
7947
  }
8227
7948
  .c-footer--light .c-footer__link:hover, .c-footer--light .c-footer__link:focus {
8228
7949
  color: var(--atomix-light);
@@ -8231,8 +7952,8 @@ a, a:hover {
8231
7952
  background-color: var(--atomix-light);
8232
7953
  }
8233
7954
  .c-footer--light .c-footer__newsletter {
8234
- background: linear-gradient(135deg, var(--atomix-light-bg), rgba(var(--atomix-light-bg-rgb), 0.8));
8235
- border-color: var(--atomix-light-border);
7955
+ background: linear-gradient(135deg, var(--atomix-light-bg-subtle), rgba(var(--atomix-light-bg-subtle), 0.8));
7956
+ border-color: var(--atomix-light-border-subtle);
8236
7957
  }
8237
7958
  .c-footer--light .c-footer__newsletter::before {
8238
7959
  background: linear-gradient(90deg, transparent, var(--atomix-light), transparent);
@@ -8240,7 +7961,7 @@ a, a:hover {
8240
7961
  .c-footer--dark {
8241
7962
  --atomix-footer-bg: var(--atomix-dark-bg-subtle);
8242
7963
  --atomix-footer-border-color: var(--atomix-dark-border-subtle);
8243
- --atomix-footer-color: var(--atomix-dark-text);
7964
+ --atomix-footer-color: var(--atomix-dark-text-emphasis);
8244
7965
  }
8245
7966
  .c-footer--dark .c-footer__brand-name h3,
8246
7967
  .c-footer--dark .c-footer__section-title {
@@ -8248,10 +7969,10 @@ a, a:hover {
8248
7969
  }
8249
7970
  .c-footer--dark .c-footer__brand-description,
8250
7971
  .c-footer--dark .c-footer__copyright {
8251
- color: var(--atomix-dark-text-muted);
7972
+ color: var(--atomix-gray-6);
8252
7973
  }
8253
7974
  .c-footer--dark .c-footer__link {
8254
- color: var(--atomix-dark-text);
7975
+ color: var(--atomix-dark-text-emphasis);
8255
7976
  }
8256
7977
  .c-footer--dark .c-footer__link:hover, .c-footer--dark .c-footer__link:focus {
8257
7978
  color: var(--atomix-dark);
@@ -8260,8 +7981,8 @@ a, a:hover {
8260
7981
  background-color: var(--atomix-dark);
8261
7982
  }
8262
7983
  .c-footer--dark .c-footer__newsletter {
8263
- background: linear-gradient(135deg, var(--atomix-dark-bg), rgba(var(--atomix-dark-bg-rgb), 0.8));
8264
- border-color: var(--atomix-dark-border);
7984
+ background: linear-gradient(135deg, var(--atomix-dark-bg-subtle), rgba(var(--atomix-dark-bg-subtle), 0.8));
7985
+ border-color: var(--atomix-dark-border-subtle);
8265
7986
  }
8266
7987
  .c-footer--dark .c-footer__newsletter::before {
8267
7988
  background: linear-gradient(90deg, transparent, var(--atomix-dark), transparent);
@@ -8269,34 +7990,12 @@ a, a:hover {
8269
7990
  .c-footer--sticky {
8270
7991
  position: sticky;
8271
7992
  bottom: 0;
8272
- z-index: 10;
7993
+ z-index: 100;
8273
7994
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
8274
7995
  -webkit-backdrop-filter: blur(10px);
8275
7996
  backdrop-filter: blur(10px);
8276
7997
  background-color: rgba(var(--atomix-footer-bg-rgb), 0.95);
8277
7998
  }
8278
- @media (prefers-color-scheme: dark) {
8279
- .c-footer {
8280
- --atomix-footer-bg: var(--atomix-surface-dark);
8281
- --atomix-footer-color: var(--atomix-text-dark);
8282
- --atomix-footer-border-color: var(--atomix-border-dark);
8283
- }
8284
- }
8285
- .dark-mode .c-footer {
8286
- --atomix-footer-bg: var(--atomix-surface-dark);
8287
- --atomix-footer-color: var(--atomix-text-dark);
8288
- --atomix-footer-border-color: var(--atomix-border-dark);
8289
- }
8290
- .dark-mode .c-footer .c-footer__newsletter {
8291
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
8292
- border-color: rgba(255, 255, 255, 0.1);
8293
- }
8294
- .dark-mode .c-footer .c-footer__social-link {
8295
- background-color: rgba(255, 255, 255, 0.1);
8296
- }
8297
- .dark-mode .c-footer .c-footer__social-link:hover {
8298
- background-color: rgba(255, 255, 255, 0.2);
8299
- }
8300
7999
  @media (prefers-reduced-motion: reduce) {
8301
8000
  .c-footer *,
8302
8001
  .c-footer *::before,
@@ -8553,7 +8252,7 @@ a, a:hover {
8553
8252
  transition-delay: 0s;
8554
8253
  }
8555
8254
  .c-input:focus, .c-input:hover {
8556
- --atomix-input-border-color: var(--atomix-secondary-border-subtle);
8255
+ --atomix-input-border-color: var(--atomix-primary-border-subtle);
8557
8256
  }
8558
8257
  .c-input ::-webkit-input-placeholder {
8559
8258
  color: var(--atomix-input-placeholder-color);
@@ -8621,10 +8320,10 @@ a, a:hover {
8621
8320
  .c-input--glass {
8622
8321
  background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
8623
8322
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
8323
+ border-color: color-mix(in srgb, var(--atomix-input-border-color) 50%, transparent);
8624
8324
  }
8625
8325
  .c-input--glass:focus, .c-input--glass:hover {
8626
- background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
8627
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(255, 255, 255, 0.2) inset, 0 0 0 2px rgba(var(--atomix-primary-rgb, 122, 255, 215), 0.3);
8326
+ background-color: color-mix(in srgb, var(--atomix-input-bg) 90%, transparent);
8628
8327
  }
8629
8328
  .c-input--glass.c-input--textarea {
8630
8329
  resize: vertical;
@@ -8699,6 +8398,7 @@ a, a:hover {
8699
8398
  --atomix-list-item-dash-width: 0.75rem;
8700
8399
  --atomix-list-item-dash-height: 0.125rem;
8701
8400
  padding-left: var(--atomix-list-padding-left);
8401
+ list-style: none;
8702
8402
  }
8703
8403
  .c-list__item {
8704
8404
  color: var(--atomix-list-color);
@@ -9352,6 +9052,8 @@ a, a:hover {
9352
9052
  width: 100%;
9353
9053
  height: 100%;
9354
9054
  display: none;
9055
+ }
9056
+ .c-modal:not(.c-modal--glass) {
9355
9057
  z-index: 1040;
9356
9058
  }
9357
9059
  .c-modal__backdrop {
@@ -12260,6 +11962,9 @@ a, a:hover {
12260
11962
  --atomix-upload-disabled-opacity: 0.5;
12261
11963
  --atomix-upload-loader-control-icon-size: 1.25rem;
12262
11964
  --atomix-upload-loader-contorl-color: var(--atomix-body-color);
11965
+ --atomix-upload-helper-text-opacity: 0.7;
11966
+ --atomix-upload-text-opacity: 0.8;
11967
+ --atomix-upload-text-margin-bottom: 1rem;
12263
11968
  width: 100%;
12264
11969
  max-width: var(--atomix-upload-width);
12265
11970
  padding: var(--atomix-upload-padding-y) var(--atomix-upload-padding-x);
@@ -12280,24 +11985,47 @@ a, a:hover {
12280
11985
  padding: var(--atomix-upload-inner-padding-y) var(--atomix-upload-inner-padding-x);
12281
11986
  border-radius: var(--atomix-upload-border-radius);
12282
11987
  border: var(--atomix-upload-border-width) dashed var(--atomix-upload-border-color);
11988
+ cursor: pointer;
11989
+ transition: all 0.3s ease-in-out;
11990
+ }
11991
+ .c-upload__inner:hover {
11992
+ border-color: var(--atomix-primary-6);
11993
+ background-color: var(--atomix-primary-bg-subtle);
11994
+ transform: translateY(-2px);
11995
+ box-shadow: var(--atomix-box-shadow);
12283
11996
  }
12284
11997
  .c-upload__icon {
12285
11998
  font-size: var(--atomix-upload-icon-size);
12286
- padding: var(--atomix-upload-icon-padding);
12287
- background-color: var(--atomix-upload-icon-bg);
12288
- border-radius: 50rem;
11999
+ padding: 12;
12000
+ color: var(--atomix-primary-6);
12001
+ background-color: var(--atomix-primary-bg-subtle);
12002
+ border-radius: var(--atomix-border-radius-pill);
12003
+ margin-bottom: 12;
12004
+ transition: all 0.3s ease-in-out;
12005
+ }
12006
+ .c-upload__icon:hover {
12007
+ color: var(--atomix-primary-7);
12008
+ background-color: var(--atomix-primary-border-subtle);
12009
+ transform: scale(1.05);
12289
12010
  }
12290
12011
  .c-upload__title {
12291
12012
  color: var(--atomix-upload-title-color);
12292
12013
  font-size: var(--atomix-upload-title-font-size);
12293
12014
  font-weight: var(--atomix-upload-title-font-weight);
12294
12015
  margin-top: var(--atomix-upload-title-margin-top);
12016
+ margin-bottom: var(--atomix-upload-title-margin-bottom);
12017
+ text-align: center;
12018
+ line-height: 1.4;
12295
12019
  }
12296
12020
  .c-upload__text {
12297
12021
  color: var(--atomix-upload-text-color);
12298
12022
  font-size: var(--atomix-upload-text-font-size);
12299
12023
  font-weight: var(--atomix-upload-text-font-weight);
12300
12024
  margin-top: var(--atomix-upload-text-margin-top);
12025
+ margin-bottom: var(--atomix-upload-text-margin-bottom);
12026
+ text-align: center;
12027
+ line-height: 1.5;
12028
+ opacity: var(--atomix-upload-text-opacity);
12301
12029
  }
12302
12030
  .c-upload__btn {
12303
12031
  margin-top: var(--atomix-upload-btn-margin-top);
@@ -12307,6 +12035,9 @@ a, a:hover {
12307
12035
  font-size: var(--atomix-upload-helper-text-font-size);
12308
12036
  font-weight: var(--atomix-upload-helper-text-font-weight);
12309
12037
  margin-top: var(--atomix-upload-helper-text-margin-top);
12038
+ text-align: center;
12039
+ opacity: var(--atomix-upload-helper-text-opacity);
12040
+ line-height: 1.4;
12310
12041
  }
12311
12042
  .c-upload__row {
12312
12043
  width: 100%;
@@ -12325,6 +12056,7 @@ a, a:hover {
12325
12056
  .c-upload__loader {
12326
12057
  --upload-loader-percentage: 0;
12327
12058
  display: flex;
12059
+ align-items: center;
12328
12060
  justify-content: space-between;
12329
12061
  position: relative;
12330
12062
  width: 100%;
@@ -12333,6 +12065,8 @@ a, a:hover {
12333
12065
  border: var(--atomix-upload-loader-border-width) solid var(--atomix-upload-loader-border-color);
12334
12066
  border-radius: var(--atomix-upload-loader-border-radius);
12335
12067
  margin-top: var(--atomix-upload-loader-margin-top);
12068
+ background-color: var(--atomix-body-bg);
12069
+ box-shadow: var(--atomix-box-shadow-sm);
12336
12070
  overflow: hidden;
12337
12071
  }
12338
12072
  .c-upload__loader-title {
@@ -12357,6 +12091,20 @@ a, a:hover {
12357
12091
  .c-upload__loader-close {
12358
12092
  color: var(--atomix-upload-loader-contorl-color);
12359
12093
  font-size: var(--atomix-upload-loader-control-icon-size);
12094
+ background: none;
12095
+ border: none;
12096
+ cursor: pointer;
12097
+ padding: 4;
12098
+ border-radius: var(--atomix-border-radius-sm);
12099
+ transition: all 0.2s ease-in-out;
12100
+ }
12101
+ .c-upload__loader-close:hover {
12102
+ background-color: var(--atomix-danger-bg-subtle);
12103
+ color: var(--atomix-danger-text-emphasis);
12104
+ }
12105
+ .c-upload__loader-close:focus {
12106
+ outline: 2px solid var(--atomix-focus-border-color);
12107
+ outline-offset: 2px;
12360
12108
  }
12361
12109
  .c-upload__loader-bar {
12362
12110
  width: 22px;
@@ -12421,6 +12169,112 @@ a, a:hover {
12421
12169
  .c-upload--disabled .c-upload__btn {
12422
12170
  pointer-events: none;
12423
12171
  }
12172
+ .c-upload--disabled .c-upload__inner {
12173
+ cursor: not-allowed;
12174
+ }
12175
+ .c-upload--disabled .c-upload__inner:hover {
12176
+ transform: none;
12177
+ box-shadow: none;
12178
+ border-color: var(--atomix-upload-border-color);
12179
+ background-color: transparent;
12180
+ }
12181
+ .c-upload--dragging .c-upload__inner {
12182
+ border-color: var(--atomix-primary-6);
12183
+ background-color: var(--atomix-primary-bg-subtle);
12184
+ transform: scale(1.02);
12185
+ box-shadow: var(--atomix-box-shadow-lg);
12186
+ }
12187
+ .c-upload--dragging .c-upload__icon {
12188
+ color: var(--atomix-primary-7);
12189
+ background-color: var(--atomix-primary-border-subtle);
12190
+ transform: scale(1.1);
12191
+ }
12192
+ .c-upload--dragging .c-upload__title {
12193
+ color: var(--atomix-primary-6);
12194
+ }
12195
+ .c-upload--loading .c-upload__loader-bar circle:nth-child(2) {
12196
+ stroke: var(--atomix-primary-6);
12197
+ }
12198
+ .c-upload--success .c-upload__loader-bar circle:nth-child(2) {
12199
+ stroke: var(--atomix-success-6);
12200
+ }
12201
+ .c-upload--error .c-upload__loader-bar circle:nth-child(2) {
12202
+ stroke: var(--atomix-error-6);
12203
+ }
12204
+ .c-upload__input {
12205
+ position: absolute;
12206
+ width: 1px;
12207
+ height: 1px;
12208
+ padding: 0;
12209
+ margin: -1px;
12210
+ overflow: hidden;
12211
+ clip: rect(0, 0, 0, 0);
12212
+ white-space: nowrap;
12213
+ border: 0;
12214
+ }
12215
+ @media (max-width: 768px) {
12216
+ .c-upload {
12217
+ max-width: 100%;
12218
+ }
12219
+ .c-upload__inner {
12220
+ padding: 16 12;
12221
+ }
12222
+ .c-upload__icon {
12223
+ font-size: 28;
12224
+ padding: 8;
12225
+ margin-bottom: 8;
12226
+ }
12227
+ .c-upload__title {
12228
+ font-size: var(--atomix-font-size-md);
12229
+ }
12230
+ .c-upload__text {
12231
+ font-size: var(--atomix-font-size-xs);
12232
+ }
12233
+ .c-upload__loader {
12234
+ padding: 8 12;
12235
+ flex-direction: column;
12236
+ align-items: flex-start;
12237
+ gap: 8;
12238
+ }
12239
+ .c-upload__loader-control {
12240
+ align-self: flex-end;
12241
+ }
12242
+ }
12243
+ @media (prefers-reduced-motion: reduce) {
12244
+ .c-upload__inner {
12245
+ transition: none;
12246
+ }
12247
+ .c-upload__inner:hover {
12248
+ transform: none;
12249
+ }
12250
+ .c-upload__icon {
12251
+ transition: none;
12252
+ }
12253
+ .c-upload__icon:hover {
12254
+ transform: none;
12255
+ }
12256
+ .c-upload--dragging .c-upload__inner {
12257
+ transform: none;
12258
+ }
12259
+ .c-upload--dragging .c-upload__icon {
12260
+ transform: none;
12261
+ }
12262
+ }
12263
+ @media (prefers-contrast: high) {
12264
+ .c-upload__inner {
12265
+ border-width: 3px;
12266
+ }
12267
+ .c-upload--dragging .c-upload__inner {
12268
+ border-width: 4px;
12269
+ }
12270
+ .c-upload__loader {
12271
+ border-width: 2px;
12272
+ }
12273
+ }
12274
+ .c-upload__inner:focus-visible {
12275
+ outline: 2px solid var(--atomix-focus-border-color);
12276
+ outline-offset: 2px;
12277
+ }
12424
12278
  .c-video-player {
12425
12279
  --atomix--video-player-bg: #000;
12426
12280
  --atomix--video-player-border-radius: 8px;