@shohojdhara/atomix 0.2.4 → 0.2.6

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 (214) hide show
  1. package/README.md +19 -0
  2. package/dist/atomix.css +1300 -1418
  3. package/dist/atomix.min.css +3 -3
  4. package/dist/index.d.ts +1259 -874
  5. package/dist/index.esm.js +16256 -26366
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +15691 -22295
  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 +15036 -0
  12. package/dist/themes/applemix.min.css +72 -0
  13. package/dist/themes/boomdevs.css +1300 -1419
  14. package/dist/themes/boomdevs.min.css +3 -3
  15. package/dist/themes/esrar.css +1301 -1419
  16. package/dist/themes/esrar.min.css +3 -3
  17. package/dist/themes/flashtrade.css +15187 -0
  18. package/dist/themes/flashtrade.min.css +86 -0
  19. package/dist/themes/mashroom.css +1299 -1417
  20. package/dist/themes/mashroom.min.css +5 -5
  21. package/dist/themes/shaj-default.css +1300 -1418
  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 +485 -1215
  28. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +399 -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.stories.tsx +121 -11
  78. package/src/components/ColorModeToggle/ColorModeToggle.tsx +149 -45
  79. package/src/components/ColorModeToggle/index.ts +1 -1
  80. package/src/components/Countdown/Countdown.tsx +4 -0
  81. package/src/components/DataTable/DataTable.tsx +2 -1
  82. package/src/components/DatePicker/DatePicker.stories.tsx +0 -11
  83. package/src/components/DatePicker/DatePicker.tsx +3 -9
  84. package/src/components/DatePicker/types.ts +5 -0
  85. package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
  86. package/src/components/Dropdown/Dropdown.tsx +26 -28
  87. package/src/components/EdgePanel/EdgePanel.stories.tsx +13 -15
  88. package/src/components/EdgePanel/EdgePanel.tsx +20 -5
  89. package/src/components/Footer/Footer.stories.tsx +187 -60
  90. package/src/components/Footer/Footer.test.tsx +134 -0
  91. package/src/components/Footer/Footer.tsx +133 -34
  92. package/src/components/Footer/FooterLink.tsx +1 -1
  93. package/src/components/Footer/FooterSection.tsx +53 -36
  94. package/src/components/Footer/FooterSocialLink.tsx +32 -29
  95. package/src/components/Footer/README.md +82 -3
  96. package/src/components/Footer/index.ts +1 -1
  97. package/src/components/Form/Checkbox.stories.tsx +13 -5
  98. package/src/components/Form/Checkbox.tsx +3 -6
  99. package/src/components/Form/Form.stories.tsx +10 -3
  100. package/src/components/Form/Form.tsx +2 -0
  101. package/src/components/Form/FormGroup.tsx +2 -1
  102. package/src/components/Form/Input.stories.tsx +12 -11
  103. package/src/components/Form/Input.tsx +97 -95
  104. package/src/components/Form/Radio.stories.tsx +22 -7
  105. package/src/components/Form/Radio.tsx +3 -6
  106. package/src/components/Form/Select.stories.tsx +21 -6
  107. package/src/components/Form/Select.tsx +3 -5
  108. package/src/components/Form/Textarea.stories.tsx +13 -11
  109. package/src/components/Form/Textarea.tsx +88 -86
  110. package/src/components/Hero/Hero.stories.tsx +2 -3
  111. package/src/components/Hero/Hero.tsx +5 -6
  112. package/src/components/Icon/Icon.tsx +12 -1
  113. package/src/components/List/List.tsx +2 -1
  114. package/src/components/List/ListGroup.tsx +2 -1
  115. package/src/components/Messages/Messages.tsx +3 -2
  116. package/src/components/Modal/Modal.stories.tsx +48 -34
  117. package/src/components/Modal/Modal.tsx +19 -23
  118. package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
  119. package/src/components/Navigation/Menu/Menu.tsx +2 -2
  120. package/src/components/Navigation/Nav/Nav.tsx +6 -1
  121. package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
  122. package/src/components/Navigation/Navbar/Navbar.tsx +4 -1
  123. package/src/components/Navigation/SideMenu/SideMenu.tsx +3 -2
  124. package/src/components/Pagination/Pagination.stories.tsx +13 -6
  125. package/src/components/Pagination/Pagination.tsx +7 -6
  126. package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
  127. package/src/components/Popover/Popover.stories.tsx +32 -24
  128. package/src/components/Popover/Popover.tsx +4 -1
  129. package/src/components/ProductReview/ProductReview.tsx +8 -2
  130. package/src/components/Progress/Progress.tsx +2 -1
  131. package/src/components/Rating/Rating.stories.tsx +11 -6
  132. package/src/components/Rating/Rating.tsx +3 -5
  133. package/src/components/River/River.tsx +5 -5
  134. package/src/components/SectionIntro/SectionIntro.tsx +8 -2
  135. package/src/components/Slider/Slider.stories.tsx +4 -4
  136. package/src/components/Slider/Slider.tsx +4 -3
  137. package/src/components/Spinner/Spinner.tsx +2 -1
  138. package/src/components/Steps/Steps.stories.tsx +5 -4
  139. package/src/components/Steps/Steps.tsx +8 -5
  140. package/src/components/Tab/Tab.stories.tsx +4 -3
  141. package/src/components/Tab/Tab.tsx +8 -6
  142. package/src/components/Testimonial/Testimonial.tsx +8 -2
  143. package/src/components/Todo/Todo.tsx +2 -1
  144. package/src/components/Toggle/Toggle.stories.tsx +5 -4
  145. package/src/components/Toggle/Toggle.tsx +8 -5
  146. package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
  147. package/src/components/Tooltip/Tooltip.tsx +9 -2
  148. package/src/components/Upload/Upload.stories.tsx +252 -0
  149. package/src/components/Upload/Upload.tsx +92 -53
  150. package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
  151. package/src/components/index.ts +0 -4
  152. package/src/layouts/Grid/Grid.stories.tsx +10 -23
  153. package/src/layouts/Grid/Grid.tsx +20 -1
  154. package/src/layouts/Grid/GridCol.tsx +76 -48
  155. package/src/lib/composables/useAtomixGlass.ts +861 -44
  156. package/src/lib/composables/useBarChart.ts +13 -6
  157. package/src/lib/composables/useChart.ts +17 -13
  158. package/src/lib/composables/useChartExport.ts +19 -78
  159. package/src/lib/composables/useChartToolbar.ts +0 -1
  160. package/src/lib/composables/useEdgePanel.ts +111 -103
  161. package/src/lib/composables/useFooter.ts +3 -3
  162. package/src/lib/composables/useGlassContainer.ts +16 -7
  163. package/src/lib/composables/useLineChart.ts +8 -1
  164. package/src/lib/composables/useRiver.ts +5 -0
  165. package/src/lib/composables/useSlider.ts +62 -24
  166. package/src/lib/composables/useVideoPlayer.ts +60 -63
  167. package/src/lib/constants/components.ts +146 -32
  168. package/src/lib/types/components.ts +258 -10
  169. package/src/lib/utils/displacement-generator.ts +55 -49
  170. package/src/lib/utils/icons.ts +1 -1
  171. package/src/lib/utils/index.ts +16 -10
  172. package/src/styles/01-settings/_settings.accordion.scss +19 -19
  173. package/src/styles/01-settings/_settings.animations.scss +5 -5
  174. package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
  175. package/src/styles/01-settings/_settings.avatar.scss +17 -17
  176. package/src/styles/01-settings/_settings.background.scss +1 -4
  177. package/src/styles/01-settings/_settings.badge.scss +1 -1
  178. package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
  179. package/src/styles/01-settings/_settings.card.scss +1 -1
  180. package/src/styles/01-settings/_settings.chart.scss +65 -2
  181. package/src/styles/01-settings/_settings.dropdown.scss +1 -1
  182. package/src/styles/01-settings/_settings.footer.scss +35 -42
  183. package/src/styles/01-settings/_settings.input.scss +1 -1
  184. package/src/styles/01-settings/_settings.list.scss +1 -1
  185. package/src/styles/01-settings/_settings.rating.scss +1 -1
  186. package/src/styles/01-settings/_settings.tabs.scss +1 -1
  187. package/src/styles/01-settings/_settings.upload.scss +6 -5
  188. package/src/styles/02-tools/_tools.animations.scss +4 -5
  189. package/src/styles/02-tools/_tools.background.scss +1 -13
  190. package/src/styles/02-tools/_tools.glass.scss +0 -1
  191. package/src/styles/02-tools/_tools.utility-api.scss +42 -34
  192. package/src/styles/03-generic/_generic.root.scss +1 -4
  193. package/src/styles/04-elements/_elements.body.scss +0 -1
  194. package/src/styles/06-components/_components.atomix-glass.scss +217 -39
  195. package/src/styles/06-components/_components.badge.scss +6 -8
  196. package/src/styles/06-components/_components.button.scss +8 -3
  197. package/src/styles/06-components/_components.card.scss +2 -14
  198. package/src/styles/06-components/_components.chart.scss +969 -1449
  199. package/src/styles/06-components/_components.color-mode-toggle.scss +43 -6
  200. package/src/styles/06-components/_components.dropdown.scss +19 -7
  201. package/src/styles/06-components/_components.edge-panel.scss +4 -2
  202. package/src/styles/06-components/_components.footer.scss +166 -85
  203. package/src/styles/06-components/_components.input.scss +8 -9
  204. package/src/styles/06-components/_components.list.scss +1 -0
  205. package/src/styles/06-components/_components.modal.scss +5 -3
  206. package/src/styles/06-components/_components.skeleton.scss +8 -6
  207. package/src/styles/06-components/_components.upload.scss +219 -4
  208. package/src/styles/06-components/old.chart.styles.scss +1 -30
  209. package/src/styles/99-utilities/_utilities.opacity.scss +1 -1
  210. package/src/styles/99-utilities/_utilities.scss +1 -1
  211. package/src/components/Chart/AdvancedChart.tsx +0 -624
  212. package/src/components/Chart/LineChartNew.tsx +0 -167
  213. package/src/components/Chart/RealTimeChart.tsx +0 -436
  214. package/src/components/DatePicker/DatePicker copy.tsx +0 -551
package/dist/atomix.css CHANGED
@@ -1726,60 +1726,184 @@ a, a:hover {
1726
1726
  margin-left: calc(var(--atomix-avatar-size) * -1 * var(--atomix-avatar-group-stacked-overlap) / 100);
1727
1727
  z-index: 1;
1728
1728
  }
1729
- .atomix-glass__layer, .atomix-glass__overlay, .atomix-glass__base, .atomix-glass__border-1, .atomix-glass__border-2 {
1730
- pointer-events: none;
1729
+ .c-atomix-glass {
1730
+ position: relative;
1731
+ --atomix-glass-radius: var(--atomix-radius-md, 16px);
1732
+ --atomix-glass-transform: none;
1733
+ --atomix-glass-transition: all var(--atomix-transition-duration, 0s) ease-out;
1734
+ --atomix-glass-position: absolute;
1735
+ --atomix-glass-container-width: 100%;
1736
+ --atomix-glass-container-height: 100%;
1737
+ --atomix-glass-border-width: var(--atomix-spacing-0-5, 0.09375rem);
1738
+ }
1739
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3, .c-atomix-glass__base, .c-atomix-glass__overlay {
1731
1740
  position: absolute;
1732
1741
  inset: 0;
1733
- border-radius: inherit;
1734
- transform: inherit;
1735
- transition: inherit;
1742
+ pointer-events: none;
1743
+ border-radius: var(--atomix-glass-radius);
1744
+ transform: var(--atomix-glass-transform);
1745
+ transition: var(--atomix-glass-transition);
1746
+ }
1747
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3 {
1748
+ mix-blend-mode: overlay;
1749
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
1750
+ background: var(--atomix-glass-hover-1-gradient, none);
1751
+ }
1752
+ .c-atomix-glass__hover-1 {
1753
+ transition: opacity 0.2s ease-out;
1754
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
1755
+ background: var(--atomix-glass-hover-1-gradient, none);
1756
+ }
1757
+ .c-atomix-glass__hover-2 {
1758
+ transition: opacity 0.4s ease-out;
1759
+ opacity: var(--atomix-glass-hover-2-opacity, 0);
1760
+ background: var(--atomix-glass-hover-2-gradient, none);
1761
+ }
1762
+ .c-atomix-glass__hover-3 {
1763
+ transition: opacity 0.6s ease-out;
1764
+ opacity: var(--atomix-glass-hover-3-opacity, 0);
1765
+ background: var(--atomix-glass-hover-3-gradient, none);
1766
+ }
1767
+ .c-atomix-glass__base {
1768
+ mix-blend-mode: soft-light;
1769
+ opacity: var(--atomix-glass-base-opacity, 0);
1770
+ background: var(--atomix-glass-base-gradient, none);
1771
+ }
1772
+ .c-atomix-glass__overlay {
1773
+ mix-blend-mode: overlay;
1774
+ opacity: var(--atomix-glass-overlay-opacity, 0);
1775
+ background: var(--atomix-glass-overlay-gradient, none);
1776
+ }
1777
+ .c-atomix-glass__overlay-highlight {
1778
+ position: absolute;
1779
+ inset: var(--atomix-spacing-0-5, 0.125rem);
1780
+ pointer-events: none;
1781
+ border-radius: var(--atomix-glass-radius);
1782
+ transform: var(--atomix-glass-transform);
1783
+ transition: var(--atomix-glass-transition);
1784
+ mix-blend-mode: screen;
1736
1785
  }
1737
- .atomix-glass__border-1, .atomix-glass__border-2 {
1786
+ .c-atomix-glass__border-1, .c-atomix-glass__border-2 {
1787
+ padding: var(--atomix-glass-border-width);
1738
1788
  box-sizing: border-box;
1739
- padding: 1.5px;
1740
- -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
1789
+ overflow: hidden;
1790
+ pointer-events: none;
1791
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
1741
1792
  -webkit-mask-composite: xor;
1742
- mask-composite: exclude;
1743
- 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);
1744
- transition-property: transform;
1745
- }
1746
- .atomix-glass__border-1 {
1747
- z-index: 5;
1748
- opacity: 0.3;
1793
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
1794
+ mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
1795
+ -webkit-mask-composite: xor;
1796
+ mask-composite: exclude;
1797
+ position: var(--atomix-glass-position);
1798
+ top: var(--atomix-glass-top);
1799
+ left: var(--atomix-glass-left);
1800
+ width: var(--atomix-glass-width);
1801
+ height: var(--atomix-glass-height);
1802
+ border-radius: var(--atomix-glass-radius);
1803
+ transform: var(--atomix-glass-transform);
1804
+ transition: var(--atomix-glass-transition);
1805
+ }
1806
+ .c-atomix-glass__border-1 {
1807
+ opacity: var(--atomix-opacity-20, 0.2);
1749
1808
  mix-blend-mode: screen;
1809
+ z-index: var(--atomix-z-index-5, 5);
1810
+ background: var(--atomix-glass-border-gradient-1, none);
1811
+ 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));
1812
+ }
1813
+ .c-atomix-glass__border-2 {
1814
+ mix-blend-mode: overlay;
1815
+ z-index: var(--atomix-z-index-6, 6);
1816
+ background: var(--atomix-glass-border-gradient-2, none);
1817
+ 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));
1818
+ }
1819
+ .c-atomix-glass__container {
1820
+ width: var(--atomix-glass-container-width);
1821
+ height: var(--atomix-glass-container-height);
1822
+ position: relative;
1823
+ border-radius: var(--atomix-glass-radius);
1824
+ transition: var(--atomix-glass-transition);
1750
1825
  }
1751
- .atomix-glass__border-2 {
1752
- z-index: 6;
1826
+ .c-atomix-glass__inner {
1827
+ width: var(--atomix-glass-container-width);
1828
+ height: var(--atomix-glass-container-height);
1829
+ position: relative;
1830
+ border-radius: var(--atomix-glass-radius);
1753
1831
  }
1754
- .atomix-glass__hover-1, .atomix-glass__hover-2, .atomix-glass__hover-3 {
1832
+ .c-atomix-glass__filter {
1755
1833
  position: absolute;
1756
- inset: 0;
1834
+ top: 0;
1835
+ left: 0;
1836
+ width: 100%;
1837
+ height: 100%;
1757
1838
  pointer-events: none;
1758
- border-radius: inherit;
1759
- transform: inherit;
1760
- transition: inherit;
1761
- transition-property: transform, opacity;
1762
1839
  }
1763
- .atomix-glass__hover-1 {
1764
- opacity: 0;
1840
+ .c-atomix-glass__filter-overlay {
1841
+ position: absolute;
1842
+ inset: 0;
1843
+ pointer-events: none;
1765
1844
  }
1766
- .atomix-glass__hover-2 {
1767
- overflow: hidden;
1768
- opacity: 0;
1845
+ .c-atomix-glass__filter-shadow {
1846
+ position: absolute;
1847
+ inset: var(--atomix-glass-border-width);
1848
+ pointer-events: none;
1769
1849
  }
1770
- .atomix-glass__hover-3 {
1771
- opacity: 0;
1850
+ .c-atomix-glass__content {
1851
+ position: relative;
1852
+ width: var(--atomix-glass-container-width);
1853
+ height: var(--atomix-glass-container-height);
1772
1854
  }
1773
- .atomix-glass__base {
1855
+ .c-atomix-glass__background-layer {
1856
+ position: absolute;
1857
+ pointer-events: none;
1858
+ border-radius: var(--atomix-glass-radius);
1859
+ transform: var(--atomix-glass-transform);
1860
+ transition: var(--atomix-glass-transition);
1774
1861
  will-change: transform;
1775
- transition-property: transform, opacity;
1776
- opacity: 0;
1777
1862
  }
1778
- .atomix-glass__overlay {
1863
+ .c-atomix-glass__background-layer--dark {
1864
+ background-color: var(--atomix-gray-9, #1f2937);
1865
+ }
1866
+ .c-atomix-glass__background-layer--black {
1867
+ background-color: var(--atomix-black, #000000);
1779
1868
  mix-blend-mode: overlay;
1780
- will-change: transform;
1781
- transition-property: transform, opacity;
1782
- opacity: 0;
1869
+ }
1870
+ .c-atomix-glass__background-layer--dark.c-atomix-glass__background-layer--over-light {
1871
+ opacity: var(--atomix-opacity-50, 0.5);
1872
+ z-index: -1;
1873
+ }
1874
+ .c-atomix-glass__background-layer--black.c-atomix-glass__background-layer--over-light {
1875
+ opacity: var(--atomix-opacity-25, 0.25);
1876
+ }
1877
+ .c-atomix-glass__background-layer--hidden {
1878
+ opacity: var(--atomix-opacity-0, 0);
1879
+ }
1880
+ .c-atomix-glass--reduced-motion {
1881
+ --atomix-glass-transition: none;
1882
+ }
1883
+ .c-atomix-glass--reduced-motion * {
1884
+ transition: none !important;
1885
+ }
1886
+ .c-atomix-glass--high-contrast {
1887
+ border: var(--atomix-spacing-0-5, 2px) solid currentColor;
1888
+ outline: var(--atomix-spacing-0-5, 2px) solid transparent;
1889
+ outline-offset: var(--atomix-spacing-0-5, 2px);
1890
+ }
1891
+ .c-atomix-glass--disabled-effects {
1892
+ --atomix-glass-transform: none;
1893
+ --atomix-glass-transition: none;
1894
+ }
1895
+ @media (prefers-reduced-motion: reduce) {
1896
+ .c-atomix-glass {
1897
+ --atomix-glass-transition: none;
1898
+ }
1899
+ .c-atomix-glass * {
1900
+ transition: none !important;
1901
+ }
1902
+ }
1903
+ @media (prefers-contrast: high) {
1904
+ .c-atomix-glass {
1905
+ border-width: var(--atomix-spacing-0-5, 0.125rem);
1906
+ }
1783
1907
  }
1784
1908
  .c-badge {
1785
1909
  --atomix-tag-font-size: 0.75rem;
@@ -2797,19 +2921,8 @@ a, a:hover {
2797
2921
  padding-top: 0;
2798
2922
  }
2799
2923
  .c-card--glass {
2800
- background-color: transparent;
2801
- padding: 0;
2802
- border: none;
2803
- display: block;
2804
- border-radius: 0;
2805
- }
2806
- .c-card--glass .c-card__glass-content {
2807
- padding: var(--atomix-card-spacer-y) var(--atomix-card-spacer-x);
2808
- max-width: var(--atomix-card-width);
2809
- border-radius: var(--atomix-card-border-radius);
2810
- width: 100%;
2924
+ max-width: none;
2811
2925
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
2812
- background-blend-mode: overlay;
2813
2926
  }
2814
2927
  .is-elevated .c-card {
2815
2928
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
@@ -2831,126 +2944,49 @@ a, a:hover {
2831
2944
  border: var(--atomix-chart-border-width) solid var(--atomix-chart-border-color);
2832
2945
  border-radius: var(--atomix-chart-border-radius);
2833
2946
  overflow: hidden;
2834
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
2947
+ 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);
2835
2948
  position: relative;
2836
2949
  min-height: var(--atomix-chart-min-height);
2837
2950
  width: 100%;
2838
2951
  max-width: 100%;
2839
- background-color: var(--atomix-chart-bg);
2840
- transition-property: all;
2841
- transition-duration: 0.2s;
2842
- transition-timing-function: ease-in-out;
2843
- transition-delay: 0s;
2952
+ background: var(--atomix-chart-bg);
2953
+ backdrop-filter: blur(10px);
2954
+ -webkit-backdrop-filter: blur(10px);
2844
2955
  }
2845
- .c-chart::after {
2956
+ .c-chart::before {
2846
2957
  content: "";
2847
2958
  position: absolute;
2848
2959
  inset: 0;
2849
- background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1) 0%, transparent 50%, rgba(var(--atomix-secondary-rgb), 0.05) 100%);
2960
+ 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%);
2850
2961
  pointer-events: none;
2851
2962
  z-index: 1;
2963
+ opacity: 1;
2964
+ transition: opacity 0.3s ease;
2852
2965
  }
2853
- .c-chart:hover {
2854
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
2855
- border-color: var(--atomix-primary-border-subtle);
2856
- }
2857
- .c-chart:focus-visible {
2858
- 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);
2859
- }
2860
- .c-chart--xs {
2861
- --atomix-chart-min-height: 7rem;
2862
- --atomix-chart-padding: 0.5rem;
2863
- font-size: 0.75rem;
2864
- }
2865
- .c-chart--sm {
2866
- --atomix-chart-min-height: 9rem;
2867
- --atomix-chart-padding: 0.75rem;
2868
- font-size: 0.875rem;
2869
- }
2870
- .c-chart--md {
2871
- --atomix-chart-min-height: 13rem;
2872
- --atomix-chart-padding: 1rem;
2873
- font-size: 1rem;
2874
- }
2875
- .c-chart--lg {
2876
- --atomix-chart-min-height: 18rem;
2877
- --atomix-chart-padding: 1.5rem;
2878
- font-size: 1.125rem;
2879
- }
2880
- .c-chart--xl {
2881
- --atomix-chart-min-height: 20rem;
2882
- --atomix-chart-padding: 2rem;
2883
- font-size: 1.25rem;
2884
- }
2885
- .c-chart--2xl {
2886
- --atomix-chart-min-height: ;
2887
- --atomix-chart-padding: 2.5rem;
2888
- font-size: 1.25rem;
2889
- }
2890
- .c-chart--full {
2891
- height: 100vh;
2892
- min-height: auto;
2893
- border-radius: 0;
2894
- }
2895
- .c-chart--auto {
2896
- height: auto;
2897
- min-height: 8rem;
2898
- }
2899
- .c-chart--primary {
2900
- --atomix-chart-primary-color: var(--atomix-primary-6);
2901
- --atomix-chart-border-color: var(--atomix-primary-border-subtle);
2902
- }
2903
- .c-chart--primary:hover {
2904
- border-color: var(--atomix-primary-border-subtle);
2905
- }
2906
- .c-chart--secondary {
2907
- --atomix-chart-primary-color: var(--atomix-secondary-6);
2908
- --atomix-chart-border-color: var(--atomix-secondary-border-subtle);
2909
- }
2910
- .c-chart--secondary:hover {
2911
- border-color: var(--atomix-secondary-border-subtle);
2912
- }
2913
- .c-chart--success {
2914
- --atomix-chart-primary-color: var(--atomix-success-6);
2915
- --atomix-chart-border-color: var(--atomix-success-border-subtle);
2916
- }
2917
- .c-chart--success:hover {
2918
- border-color: var(--atomix-success-border-subtle);
2919
- }
2920
- .c-chart--info {
2921
- --atomix-chart-primary-color: var(--atomix-info-6);
2922
- --atomix-chart-border-color: var(--atomix-info-border-subtle);
2923
- }
2924
- .c-chart--info:hover {
2925
- border-color: var(--atomix-info-border-subtle);
2926
- }
2927
- .c-chart--warning {
2928
- --atomix-chart-primary-color: var(--atomix-warning-6);
2929
- --atomix-chart-border-color: var(--atomix-warning-border-subtle);
2930
- }
2931
- .c-chart--warning:hover {
2932
- border-color: var(--atomix-warning-border-subtle);
2933
- }
2934
- .c-chart--error {
2935
- --atomix-chart-primary-color: var(--atomix-error-6);
2936
- --atomix-chart-border-color: var(--atomix-error-border-subtle);
2937
- }
2938
- .c-chart--error:hover {
2939
- border-color: var(--atomix-error-border-subtle);
2940
- }
2941
- .c-chart--light {
2942
- --atomix-chart-primary-color: var(--atomix-light-6);
2943
- --atomix-chart-border-color: var(--atomix-light-border-subtle);
2944
- }
2945
- .c-chart--light:hover {
2946
- border-color: var(--atomix-light-border-subtle);
2966
+ .c-chart::after {
2967
+ content: "";
2968
+ position: absolute;
2969
+ inset: 0;
2970
+ border-radius: inherit;
2971
+ padding: 1px;
2972
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1), rgba(var(--atomix-secondary-rgb), 0.05), transparent);
2973
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2974
+ -webkit-mask-composite: xor;
2975
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2976
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
2977
+ -webkit-mask-composite: xor;
2978
+ mask-composite: exclude;
2979
+ pointer-events: none;
2980
+ z-index: 2;
2981
+ opacity: 0;
2982
+ transition: opacity 0.3s ease;
2947
2983
  }
2948
- .c-chart--dark {
2949
- --atomix-chart-primary-color: var(--atomix-dark-6);
2950
- --atomix-chart-border-color: var(--atomix-dark-border-subtle);
2984
+ .c-chart:hover {
2985
+ 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);
2986
+ border-color: rgba(var(--atomix-primary-rgb), 0.2);
2951
2987
  }
2952
- .c-chart--dark:hover {
2953
- border-color: var(--atomix-dark-border-subtle);
2988
+ .c-chart:hover::after {
2989
+ opacity: 1;
2954
2990
  }
2955
2991
  .c-chart--loading .c-chart__content {
2956
2992
  position: relative;
@@ -2970,38 +3006,6 @@ a, a:hover {
2970
3006
  opacity: 0.3;
2971
3007
  filter: blur(1px);
2972
3008
  }
2973
- .c-chart--interactive {
2974
- cursor: pointer;
2975
- -webkit-user-select: none;
2976
- -moz-user-select: none;
2977
- user-select: none;
2978
- }
2979
- .c-chart--interactive:hover {
2980
- transform: translateY(-2px);
2981
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
2982
- }
2983
- .c-chart--interactive:active {
2984
- transform: translateY(0);
2985
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
2986
- transition-duration: 0.1s;
2987
- }
2988
- .c-chart--interactive:focus-visible {
2989
- transform: translateY(-1px);
2990
- }
2991
- .c-chart--disabled {
2992
- pointer-events: none;
2993
- opacity: 0.6;
2994
- }
2995
- .c-chart--disabled .c-chart__content {
2996
- filter: grayscale(80%) opacity(0.6);
2997
- }
2998
- .c-chart--disabled .c-chart__canvas {
2999
- pointer-events: none;
3000
- }
3001
- .c-chart--disabled:hover {
3002
- transform: none;
3003
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
3004
- }
3005
3009
  .c-chart--fullscreen {
3006
3010
  position: fixed;
3007
3011
  top: 0;
@@ -3011,29 +3015,58 @@ a, a:hover {
3011
3015
  z-index: 9999;
3012
3016
  border-radius: 0;
3013
3017
  box-shadow: none;
3014
- background: var(--atomix-primary-bg-default);
3018
+ background: var(--atomix-body-bg);
3015
3019
  }
3016
3020
  .c-chart--elevated {
3017
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
3018
- transform: translateY(-2px);
3021
+ 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);
3019
3022
  }
3020
3023
  .c-chart--elevated:hover {
3021
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
3022
- transform: translateY(-4px);
3024
+ 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);
3023
3025
  }
3024
- .c-chart--flat {
3026
+ .c-chart--glass {
3027
+ background: transparent;
3028
+ border: none;
3025
3029
  box-shadow: none;
3026
- border: 2px solid var(--atomix-primary-border-subtle);
3027
3030
  }
3028
- .c-chart--flat:hover {
3029
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
3031
+ .c-chart--glass .c-chart__content {
3032
+ position: relative;
3033
+ }
3034
+ .c-chart--glass .c-chart__canvas {
3035
+ position: relative;
3036
+ }
3037
+ .c-chart--glass .c-chart__toolbar {
3038
+ position: relative;
3039
+ }
3040
+ .c-chart--disabled {
3041
+ opacity: 0.6;
3042
+ cursor: not-allowed;
3043
+ pointer-events: none;
3044
+ pointer-events: none;
3045
+ opacity: 0.6;
3046
+ }
3047
+ .c-chart--disabled:hover, .c-chart--disabled:focus, .c-chart--disabled:active {
3048
+ background-color: inherit;
3049
+ color: inherit;
3030
3050
  transform: none;
3031
3051
  }
3032
- .c-chart--rounded {
3033
- border-radius: 0.75rem;
3052
+ .c-chart--selected {
3053
+ border-color: rgba(var(--atomix-primary-rgb), 0.3);
3054
+ 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);
3055
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.08) 0%, rgba(var(--atomix-primary-rgb), 0.04) 100%), var(--atomix-chart-bg);
3034
3056
  }
3035
- .c-chart--square {
3036
- border-radius: 0;
3057
+ .c-chart--active {
3058
+ border-color: var(--atomix-primary-border-subtle);
3059
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
3060
+ }
3061
+ .c-chart--clickable {
3062
+ cursor: pointer;
3063
+ }
3064
+ .c-chart--clickable:hover {
3065
+ 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);
3066
+ border-color: rgba(var(--atomix-primary-rgb), 0.25);
3067
+ }
3068
+ .c-chart--clickable:active {
3069
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.12);
3037
3070
  }
3038
3071
  .c-chart__header {
3039
3072
  padding: var(--atomix-chart-padding);
@@ -3143,8 +3176,11 @@ a, a:hover {
3143
3176
  transform: scale(1.1);
3144
3177
  }
3145
3178
  .c-chart__action:focus-visible {
3146
- outline: 2px solid var(--atomix-primary-6);
3179
+ outline: 2px solid var(--atomix-focus-border-color);
3147
3180
  outline-offset: 2px;
3181
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3182
+ }
3183
+ .c-chart__action:focus-visible {
3148
3184
  border-color: var(--atomix-primary-border-subtle);
3149
3185
  }
3150
3186
  .c-chart__action:active {
@@ -3170,45 +3206,6 @@ a, a:hover {
3170
3206
  background-color: transparent;
3171
3207
  border-color: transparent;
3172
3208
  }
3173
- .c-chart__action--primary {
3174
- background-color: var(--atomix-primary-6);
3175
- color: white;
3176
- border-color: var(--atomix-primary-6);
3177
- }
3178
- .c-chart__action--primary:hover {
3179
- background-color: var(--atomix-primary-7);
3180
- border-color: var(--atomix-primary-7);
3181
- }
3182
- .c-chart__action--primary:active {
3183
- background-color: var(--atomix-primary-8);
3184
- }
3185
- .c-chart__action--success {
3186
- background-color: var(--atomix-success-6);
3187
- color: white;
3188
- border-color: var(--atomix-success-6);
3189
- }
3190
- .c-chart__action--success:hover {
3191
- background-color: var(--atomix-success-7);
3192
- border-color: var(--atomix-success-7);
3193
- }
3194
- .c-chart__action--warning {
3195
- background-color: var(--atomix-warning-6);
3196
- color: white;
3197
- border-color: var(--atomix-warning-6);
3198
- }
3199
- .c-chart__action--warning:hover {
3200
- background-color: var(--atomix-warning-7);
3201
- border-color: var(--atomix-warning-7);
3202
- }
3203
- .c-chart__action--danger {
3204
- background-color: var(--atomix-error-6);
3205
- color: white;
3206
- border-color: var(--atomix-error-6);
3207
- }
3208
- .c-chart__action--danger:hover {
3209
- background-color: var(--atomix-error-7);
3210
- border-color: var(--atomix-error-7);
3211
- }
3212
3209
  .c-chart__export-group {
3213
3210
  position: relative;
3214
3211
  display: flex;
@@ -3230,7 +3227,7 @@ a, a:hover {
3230
3227
  border-radius: 0.25rem;
3231
3228
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
3232
3229
  padding: 0.25rem;
3233
- min-width: 7.5rem;
3230
+ min-width: 7rem;
3234
3231
  z-index: 1000;
3235
3232
  opacity: 0;
3236
3233
  visibility: hidden;
@@ -3260,8 +3257,8 @@ a, a:hover {
3260
3257
  color: var(--atomix-primary-text-emphasis);
3261
3258
  }
3262
3259
  .c-chart__export-option:focus-visible {
3263
- outline: 2px solid var(--atomix-primary-6);
3264
- outline-offset: -2px;
3260
+ outline: calc(var(--atomix-border-width) * 2) solid var(--atomix-primary-6);
3261
+ outline-offset: calc(var(--atomix-border-width) * -2);
3265
3262
  }
3266
3263
  .c-chart__export-option:disabled {
3267
3264
  opacity: 0.4;
@@ -3271,201 +3268,178 @@ a, a:hover {
3271
3268
  .c-chart__export-option:not(:last-child) {
3272
3269
  margin-bottom: 0.25rem;
3273
3270
  }
3274
- .c-chart__content {
3275
- flex: 1 1;
3276
- position: relative;
3277
- padding: var(--atomix-chart-padding);
3278
- display: flex;
3279
- align-items: center;
3280
- justify-content: center;
3281
- min-height: 8rem;
3282
- }
3283
- .c-chart__content::before {
3284
- content: "";
3271
+ .c-chart__settings-menu {
3285
3272
  position: absolute;
3286
- top: 0;
3287
- left: 0;
3273
+ top: 100%;
3288
3274
  right: 0;
3289
- bottom: 0;
3290
- background-image: radial-gradient(circle at 1px 1px, var(--atomix-primary-border-subtle) 1px, transparent 0);
3291
- background-size: 1.25rem 1.25rem;
3292
- opacity: 0.03;
3293
- pointer-events: none;
3294
- z-index: 0;
3295
- }
3296
- .c-chart__content::after {
3297
- content: "";
3298
- position: absolute;
3299
- inset: 0;
3300
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, transparent 50%, rgba(0, 0, 0, 0.02) 100%);
3301
- pointer-events: none;
3302
- z-index: 1;
3303
- }
3304
- .c-chart__canvas {
3305
- width: 100%;
3306
- height: 100%;
3307
- position: relative;
3308
- overflow: hidden;
3275
+ margin-top: 0.25rem;
3276
+ background: var(--atomix-primary-bg-default);
3277
+ border: 1px solid var(--atomix-primary-border-subtle);
3309
3278
  border-radius: 0.25rem;
3310
- z-index: 2;
3279
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
3280
+ padding: 0.5rem;
3281
+ min-width: 8.75rem;
3282
+ z-index: 1000;
3283
+ opacity: 0;
3284
+ visibility: hidden;
3285
+ transform: translateY(-8px);
3286
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3287
+ -webkit-backdrop-filter: blur(8px);
3288
+ backdrop-filter: blur(8px);
3311
3289
  }
3312
- .c-chart__canvas svg {
3313
- width: 100%;
3314
- height: 100%;
3315
- shape-rendering: geometricPrecision;
3316
- text-rendering: optimizeLegibility;
3317
- image-rendering: -webkit-optimize-contrast;
3318
- image-rendering: crisp-edges;
3290
+ .c-chart__settings-menu-title {
3291
+ font-size: 0.875rem;
3292
+ font-weight: 600;
3293
+ color: var(--atomix-text-primary);
3294
+ margin-bottom: 0.5rem;
3295
+ padding-bottom: 0.5rem;
3296
+ border-bottom: 1px solid var(--atomix-border-color);
3319
3297
  }
3320
- .c-chart__canvas canvas {
3321
- width: 100%;
3322
- height: 100%;
3323
- image-rendering: -webkit-optimize-contrast;
3324
- image-rendering: crisp-edges;
3298
+ .c-chart__settings-menu-content {
3299
+ display: flex;
3300
+ flex-direction: column;
3301
+ gap: 0.25rem;
3325
3302
  }
3326
- .c-chart__crosshair {
3327
- pointer-events: none;
3303
+ .c-chart__settings-menu-item {
3304
+ display: flex;
3305
+ align-items: center;
3306
+ justify-content: space-between;
3307
+ padding: 0.375rem 0;
3308
+ gap: 0.75rem;
3328
3309
  }
3329
- .c-chart__crosshair line, .c-chart__crosshair-line {
3330
- stroke: var(--atomix-primary-border-subtle);
3331
- stroke-width: 1;
3332
- stroke-dasharray: 4, 4;
3310
+ .c-chart__settings-menu-item--info {
3333
3311
  opacity: 0.7;
3312
+ font-size: 0.75rem;
3334
3313
  }
3335
- .c-chart__crosshair line--vertical, .c-chart__crosshair line--horizontal, .c-chart__crosshair-line--vertical, .c-chart__crosshair-line--horizontal {
3336
- opacity: 0.7;
3314
+ .c-chart__settings-menu-toggle {
3315
+ display: flex;
3316
+ align-items: center;
3317
+ gap: 0.5rem;
3318
+ cursor: pointer;
3319
+ width: 100%;
3320
+ -webkit-user-select: none;
3321
+ -moz-user-select: none;
3322
+ user-select: none;
3337
3323
  }
3338
- .c-chart__zoom-indicator {
3339
- position: absolute;
3340
- top: 10px;
3341
- right: 10px;
3342
- background: rgba(0, 0, 0, 0.8);
3343
- color: white;
3344
- padding: 4px 8px;
3345
- border-radius: 0.25rem;
3324
+ .c-chart__settings-menu-toggle input[type=checkbox] {
3325
+ width: 1rem;
3326
+ height: 1rem;
3327
+ cursor: pointer;
3328
+ accent-color: var(--atomix-primary);
3329
+ flex-shrink: 0;
3330
+ }
3331
+ .c-chart__settings-menu-label {
3346
3332
  font-size: 0.75rem;
3347
3333
  font-weight: 500;
3348
- pointer-events: none;
3349
- z-index: 10;
3350
- }
3351
- .c-chart__navigator {
3352
- opacity: 0.8;
3353
- }
3354
- .c-chart__navigator rect {
3355
- fill: rgba(0, 0, 0, 0.05);
3356
- stroke: var(--atomix-gray-3);
3357
- stroke-width: 1;
3334
+ color: var(--atomix-text-primary);
3335
+ flex: 1 1;
3358
3336
  }
3359
- .c-chart__navigator path {
3360
- stroke-width: 1;
3361
- fill: none;
3362
- opacity: 0.6;
3337
+ .c-chart__settings-menu-value {
3338
+ font-size: 0.75rem;
3339
+ font-weight: 600;
3340
+ color: var(--atomix-secondary-text-emphasis);
3341
+ text-transform: capitalize;
3363
3342
  }
3364
- .c-chart__real-time-indicator {
3365
- position: absolute;
3366
- top: 10px;
3367
- left: 10px;
3343
+ .c-chart__toolbar-group {
3368
3344
  display: flex;
3369
3345
  align-items: center;
3370
- gap: 6px;
3371
- background: var(--atomix-success-bg-subtle);
3372
- color: var(--atomix-success-text-emphasis);
3373
- padding: 4px 8px;
3374
- border-radius: 0.25rem;
3346
+ gap: 0.5rem;
3347
+ position: relative;
3348
+ }
3349
+ .c-chart__toolbar-group:hover .c-chart__export-dropdown,
3350
+ .c-chart__toolbar-group:hover .c-chart__settings-menu {
3351
+ opacity: 1;
3352
+ visibility: visible;
3353
+ transform: translateY(0);
3354
+ }
3355
+ .c-chart__toolbar-separator {
3356
+ width: 1px;
3357
+ height: 1.5rem;
3358
+ background: var(--atomix-border-color);
3359
+ margin: 0 0.5rem;
3360
+ }
3361
+ .c-chart__toolbar-label {
3375
3362
  font-size: 0.75rem;
3376
3363
  font-weight: 500;
3377
- border: 1px solid var(--atomix-success-border-subtle);
3378
- }
3379
- .c-chart__real-time-indicator::before {
3380
- content: "";
3381
- width: 6px;
3382
- height: 6px;
3383
- background: var(--atomix-success-6);
3384
- border-radius: 50%;
3385
- animation: chart-pulse-dot 2s ease-in-out infinite;
3364
+ color: var(--atomix-secondary-text-emphasis);
3365
+ text-transform: uppercase;
3366
+ letter-spacing: 0.5px;
3367
+ margin-right: 0.5rem;
3386
3368
  }
3387
- .c-chart__legend {
3388
- display: flex;
3389
- flex-wrap: wrap;
3390
- gap: 0.75rem;
3369
+ .c-chart__content {
3370
+ flex: 1 1;
3371
+ position: relative;
3391
3372
  padding: var(--atomix-chart-padding);
3392
- border-top: var(--atomix-chart-border-width) solid var(--atomix-brand-border-subtle);
3393
- z-index: 2;
3394
- }
3395
- .c-chart__legend-item {
3396
3373
  display: flex;
3397
3374
  align-items: center;
3398
- gap: 0.5rem;
3399
- cursor: pointer;
3400
- padding: 0.5rem 0.75rem;
3401
- border-radius: 0.25rem;
3402
- border: var(--atomix-chart-border-width) solid transparent;
3403
- background-color: transparent;
3404
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3405
- -webkit-user-select: none;
3406
- -moz-user-select: none;
3407
- user-select: none;
3408
- position: relative;
3375
+ justify-content: center;
3376
+ min-height: 8rem;
3377
+ z-index: 3;
3378
+ contain: layout;
3409
3379
  overflow: hidden;
3410
3380
  }
3411
- .c-chart__legend-item::before {
3381
+ .c-chart__content::before {
3412
3382
  content: "";
3413
3383
  position: absolute;
3414
- inset: 0;
3415
- background: var(--atomix-secondary-bg-subtle);
3416
- opacity: 0;
3417
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3418
- }
3419
- .c-chart__legend-item:hover {
3420
- background-color: var(--atomix-secondary-bg-subtle);
3421
- border-color: var(--atomix-primary-border-subtle);
3422
- transform: translateY(-1px);
3423
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
3424
- }
3425
- .c-chart__legend-item:hover::before {
3426
- opacity: 1;
3427
- }
3428
- .c-chart__legend-item:focus-visible:focus-visible {
3429
- outline: 2px solid var(--atomix-focus-border-color);
3430
- outline-offset: 2px;
3431
- box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3432
- }
3433
- .c-chart__legend-item:active {
3434
- transform: translateY(0);
3435
- }
3436
- .c-chart__legend-item[data-visible=false] {
3384
+ top: 0;
3385
+ left: 0;
3386
+ right: 0;
3387
+ bottom: 0;
3388
+ background-image: radial-gradient(circle at 1px 1px, rgba(var(--atomix-primary-rgb), 0.08) 1px, transparent 0);
3389
+ background-size: 16px 16px;
3437
3390
  opacity: 0.4;
3438
- filter: grayscale(60%);
3439
- }
3440
- .c-chart__legend-item[data-visible=false] .c-chart__legend-label {
3441
- text-decoration: line-through;
3391
+ pointer-events: none;
3392
+ z-index: 0;
3442
3393
  }
3443
- .c-chart__legend-item[data-visible=false] .c-chart__legend-color {
3444
- opacity: 0.3;
3445
- filter: grayscale(100%);
3394
+ .c-chart__content::after {
3395
+ content: "";
3396
+ position: absolute;
3397
+ inset: 0;
3398
+ background: linear-gradient(180deg, rgba(var(--atomix-primary-rgb), 0.03) 0%, transparent 30%, transparent 70%, rgba(var(--atomix-secondary-rgb), 0.02) 100%);
3399
+ pointer-events: none;
3400
+ z-index: 1;
3446
3401
  }
3447
- .c-chart__legend-color {
3448
- width: 0.75rem;
3449
- height: 0.75rem;
3450
- border-radius: 0.25rem;
3451
- border: var(--atomix-chart-border-width) solid var(--atomix-primary-border-subtle);
3452
- flex-shrink: 0;
3453
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
3454
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3402
+ .c-chart__canvas {
3403
+ width: 100%;
3404
+ height: 100%;
3455
3405
  position: relative;
3406
+ overflow: hidden;
3407
+ border-radius: 0.25rem;
3408
+ z-index: 2;
3409
+ background: transparent;
3410
+ min-height: 200px;
3411
+ contain: layout style paint;
3456
3412
  }
3457
- .c-chart__legend-label {
3458
- color: var(--atomix-primary-text-emphasis);
3459
- font-weight: 500;
3460
- letter-spacing: -0.01em;
3461
- transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3462
- position: relative;
3463
- z-index: 1;
3413
+ .c-chart__canvas svg {
3414
+ display: block;
3415
+ shape-rendering: geometricPrecision;
3416
+ text-rendering: optimizeLegibility;
3417
+ image-rendering: -webkit-optimize-contrast;
3418
+ image-rendering: crisp-edges;
3419
+ will-change: contents;
3420
+ -webkit-backface-visibility: hidden;
3421
+ backface-visibility: hidden;
3422
+ transform: translateZ(0);
3423
+ opacity: 0;
3424
+ animation: chart-fade-in 0.3s ease-out forwards;
3425
+ }
3426
+ @keyframes chart-fade-in {
3427
+ from {
3428
+ opacity: 0;
3429
+ }
3430
+ to {
3431
+ opacity: 1;
3432
+ }
3433
+ }
3434
+ .c-chart__canvas canvas {
3435
+ width: 100%;
3436
+ height: 100%;
3437
+ display: block;
3438
+ image-rendering: -webkit-optimize-contrast;
3439
+ image-rendering: crisp-edges;
3464
3440
  }
3465
3441
  .c-chart__tooltip {
3466
3442
  position: fixed;
3467
- top: 0;
3468
- left: 0;
3469
3443
  -webkit-backdrop-filter: blur(1rem);
3470
3444
  backdrop-filter: blur(1rem);
3471
3445
  border-radius: 0.625rem;
@@ -3497,8 +3471,8 @@ a, a:hover {
3497
3471
  gap: 0.5rem;
3498
3472
  }
3499
3473
  .c-chart__tooltip-color-indicator {
3500
- width: 12px;
3501
- height: 12px;
3474
+ width: 0.75rem;
3475
+ height: 0.75rem;
3502
3476
  border-radius: 50%;
3503
3477
  flex-shrink: 0;
3504
3478
  }
@@ -3532,64 +3506,10 @@ a, a:hover {
3532
3506
  color: var(--atomix-primary-text-emphasis);
3533
3507
  font-weight: 500;
3534
3508
  }
3535
- .c-chart__axis {
3536
- position: relative;
3537
- z-index: 55;
3538
- }
3539
- .c-chart__axis--x {
3540
- text-anchor: middle;
3541
- dominant-baseline: hanging;
3542
- }
3543
- .c-chart__axis--y {
3544
- text-anchor: end;
3545
- dominant-baseline: middle;
3546
- }
3547
- .c-chart__axis-line {
3548
- stroke: var(--atomix-primary-border-subtle);
3549
- stroke-width: 1;
3550
- opacity: 0.6;
3551
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3552
- }
3553
- .c-chart__axis-line--x, .c-chart__axis-line--y {
3554
- stroke-width: 2;
3555
- }
3556
- .c-chart__axis-line:hover {
3557
- opacity: 0.8;
3558
- }
3559
- .c-chart__tick-line {
3560
- stroke: var(--atomix-primary-border-subtle);
3561
- stroke-width: 1;
3562
- }
3563
- .c-chart__tick-label {
3564
- font-size: 0.75rem;
3565
- fill: var(--atomix-secondary-text-emphasis);
3566
- }
3567
- .c-chart__axis-label {
3568
- font-size: 0.75rem;
3569
- font-weight: 500;
3570
- fill: var(--atomix-tertiary-text-emphasis);
3571
- text-anchor: middle;
3572
- }
3573
- .c-chart__plot-area {
3574
- fill: rgba(248, 250, 252, 0.5);
3575
- stroke: var(--atomix-primary-border-subtle);
3576
- stroke-width: 1;
3577
- }
3578
- .c-chart__value-label {
3579
- font-size: 0.75rem;
3580
- fill: var(--atomix-primary-text-emphasis);
3581
- pointer-events: none;
3582
- }
3583
- .c-chart__data-label {
3584
- font-size: 0.75rem;
3585
- fill: var(--atomix-secondary-text-emphasis);
3586
- pointer-events: none;
3587
- }
3588
3509
  .c-chart__grid {
3589
3510
  stroke: var(--atomix-primary-border-subtle);
3590
3511
  stroke-width: 0.5;
3591
3512
  stroke-dasharray: 2, 4;
3592
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3593
3513
  }
3594
3514
  .c-chart__grid--major {
3595
3515
  stroke-width: 1;
@@ -3604,40 +3524,54 @@ a, a:hover {
3604
3524
  stroke-dasharray: none;
3605
3525
  opacity: 0.6;
3606
3526
  }
3607
- .c-chart__grid:hover {
3527
+ .c-chart__axis-line {
3528
+ stroke: var(--atomix-border-color);
3529
+ stroke-width: 1;
3608
3530
  opacity: 0.6;
3609
3531
  }
3532
+ .c-chart__axis-label {
3533
+ font-size: 0.75rem;
3534
+ font-weight: 500;
3535
+ fill: var(--atomix-tertiary-text-emphasis);
3536
+ }
3537
+ .c-chart__legend-item-color {
3538
+ width: 0.75rem;
3539
+ height: 0.75rem;
3540
+ flex-shrink: 0;
3541
+ }
3542
+ .c-chart__legend-item-text {
3543
+ font-size: 0.75rem;
3544
+ fill: var(--atomix-text-primary);
3545
+ }
3546
+ .c-chart__data-line {
3547
+ stroke-width: 2.5;
3548
+ fill: none;
3549
+ }
3550
+ .c-chart__data-line--hovered {
3551
+ stroke-width: 3.5;
3552
+ }
3610
3553
  .c-chart__data-point {
3611
3554
  cursor: pointer;
3612
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
3613
- transform-origin: center center;
3555
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3614
3556
  }
3615
3557
  .c-chart__data-point:hover {
3616
3558
  opacity: 0.8;
3617
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
3618
3559
  }
3619
3560
  .c-chart__data-point:focus-visible {
3620
- outline: 2px solid var(--atomix-primary-border-subtle);
3561
+ outline: 2px solid var(--atomix-focus-border-color);
3621
3562
  outline-offset: 2px;
3563
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3622
3564
  }
3623
- .c-chart__data-point:active {
3624
- transform: scale(1.05);
3625
- }
3626
- .c-chart__data-point[data-highlighted=true] {
3627
- transform: scale(1.2);
3628
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
3629
- z-index: 10;
3630
- animation: chart-glow 2s ease-in-out infinite;
3565
+ .c-chart__data-point--hovered {
3566
+ opacity: 0.9;
3567
+ transform: scale(1.1);
3631
3568
  }
3632
- .c-chart__data-point[data-selected=true] {
3633
- stroke: var(--atomix-primary-border-subtle);
3569
+ .c-chart__data-point--selected {
3570
+ opacity: 1;
3634
3571
  stroke-width: 2;
3635
- filter: drop-shadow(0 0 0 2px var(--atomix-primary-border-subtle));
3572
+ filter: drop-shadow(0 0 4px currentColor);
3636
3573
  }
3637
- .c-chart__data-point[data-animated=true] {
3638
- animation: chart-scale-in 0.5s ease-out;
3639
- }
3640
- .c-chart__loading {
3574
+ .c-chart__empty {
3641
3575
  display: flex;
3642
3576
  flex-direction: column;
3643
3577
  align-items: center;
@@ -3645,970 +3579,707 @@ a, a:hover {
3645
3579
  gap: 1rem;
3646
3580
  color: var(--atomix-secondary-text-emphasis);
3647
3581
  font-size: 0.875rem;
3582
+ text-align: center;
3583
+ padding: 2rem;
3648
3584
  min-height: 8rem;
3585
+ opacity: 0.6;
3649
3586
  animation: chart-fade-in 0.6s ease-out;
3650
3587
  }
3651
- .c-chart__loading-spinner {
3652
- width: 2rem;
3653
- height: 2rem;
3654
- border: 3px solid var(--atomix-primary-border-subtle);
3655
- border-top: 3px solid var(--atomix-primary-text-emphasis);
3656
- border-radius: 50%;
3657
- animation: chart-spin 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
3658
- }
3659
- .c-chart__loading-text {
3660
- font-weight: 500;
3661
- opacity: 0.8;
3662
- animation: chart-pulse 2s ease-in-out infinite;
3588
+ .c-chart__toolbar--sm {
3589
+ gap: 0.25rem;
3663
3590
  }
3664
- .c-chart__error {
3665
- display: flex;
3666
- flex-direction: column;
3667
- align-items: center;
3668
- justify-content: center;
3591
+ .c-chart__toolbar--lg {
3592
+ padding: 0.5rem;
3669
3593
  gap: 0.75rem;
3670
- color: var(--atomix-error-text-emphasis);
3671
- font-size: 0.875rem;
3672
- text-align: center;
3673
- padding: 2rem;
3674
- min-height: 8rem;
3675
- background-color: var(--atomix-error-bg-subtle);
3676
- border-radius: 0.25rem;
3677
- border: var(--atomix-chart-border-width) solid var(--atomix-error-border-subtle);
3678
- animation: chart-fade-in 0.6s ease-out;
3679
- }
3680
- .c-chart__empty {
3681
- display: flex;
3682
- flex-direction: column;
3683
- align-items: center;
3684
- justify-content: center;
3685
- gap: 1rem;
3686
- color: var(--atomix-secondary-text-emphasis);
3687
- font-size: 0.875rem;
3688
- text-align: center;
3689
- padding: 2rem;
3690
- min-height: 8rem;
3691
- opacity: 0.6;
3692
- animation: chart-fade-in 0.6s ease-out;
3693
- }
3694
- .c-chart--line .c-chart__canvas .line-path,
3695
- .c-chart--line .c-chart__canvas .c-chart__line-path {
3696
- fill: none;
3697
- stroke-width: 2.5;
3698
- stroke-linecap: round;
3699
- stroke-linejoin: round;
3700
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3701
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
3702
- stroke-dasharray: 1000;
3703
- stroke-dashoffset: 1000;
3704
- animation: chart-draw-line 2s ease-out forwards;
3705
- }
3706
- .c-chart--line .c-chart__canvas .line-path:hover,
3707
- .c-chart--line .c-chart__canvas .c-chart__line-path:hover {
3708
- stroke-width: 3.5;
3709
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
3710
3594
  }
3711
- .c-chart--line .c-chart__canvas .trend-line {
3712
- stroke-dasharray: 5, 5;
3713
- opacity: 0.7;
3714
- animation: chart-dash-flow 2s linear infinite;
3715
- }
3716
- .c-chart--line .c-chart__canvas .moving-average {
3717
- stroke-dasharray: 4, 4;
3718
- opacity: 0.6;
3719
- stroke-width: 1;
3720
- fill: none;
3721
- }
3722
- .c-chart--line .c-chart__canvas .area-path,
3723
- .c-chart--line .c-chart__canvas .c-chart__area-path {
3724
- opacity: 0.15;
3725
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3726
- animation: chart-area-fade 1.5s ease-out;
3727
- }
3728
- .c-chart--line .c-chart__canvas .area-path:hover,
3729
- .c-chart--line .c-chart__canvas .c-chart__area-path:hover {
3730
- opacity: 0.25;
3731
- }
3732
- .c-chart--line .c-chart__canvas .chart-point-label {
3733
- font-size: 0.75rem;
3595
+ .c-chart__legend-item--active {
3596
+ opacity: 1;
3734
3597
  font-weight: 600;
3735
- text-anchor: middle;
3736
- dominant-baseline: middle;
3737
- pointer-events: none;
3738
- opacity: 0;
3739
- transition: opacity 0.2s ease;
3740
3598
  }
3741
- .c-chart--line .c-chart__canvas .chart-point-label.visible {
3742
- opacity: 1;
3599
+ .c-chart__legend-item--inactive {
3600
+ opacity: 0.5;
3743
3601
  }
3744
- .c-chart--line .c-chart__canvas .data-point {
3745
- r: 4;
3602
+ .c-chart__treemap-node {
3603
+ stroke: var(--atomix-border-color);
3604
+ stroke-width: 1;
3746
3605
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3747
3606
  cursor: pointer;
3607
+ shape-rendering: geometricPrecision;
3748
3608
  }
3749
- .c-chart--line .c-chart__canvas .data-point:hover {
3750
- r: 6;
3751
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
3609
+ .c-chart__treemap-node:hover {
3610
+ transform: scale(1.02);
3611
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
3612
+ stroke-width: 1.5;
3752
3613
  }
3753
- .c-chart--line .c-chart__canvas .data-point[data-highlighted=true] {
3754
- r: 8;
3755
- stroke-width: 3;
3614
+ .c-chart__treemap-node--hovered {
3615
+ transform: scale(1.02);
3616
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
3617
+ stroke-width: 1.5;
3618
+ }
3619
+ .c-chart__treemap-node--selected {
3620
+ stroke: var(--atomix-primary-border-subtle);
3621
+ stroke-width: 2;
3622
+ filter: drop-shadow(0 16px 48px rgba(0, 0, 0, 0.175));
3756
3623
  }
3757
- .c-chart--line .c-chart__canvas .data-point:focus-visible {
3624
+ .c-chart__treemap-node:focus-visible {
3758
3625
  outline: 2px solid var(--atomix-focus-border-color);
3759
3626
  outline-offset: 2px;
3627
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3760
3628
  }
3761
- .c-chart--area .c-chart__canvas .area-path {
3762
- opacity: 0.3;
3763
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3764
- animation: chart-area-fade 1.5s ease-out;
3765
- }
3766
- .c-chart--area .c-chart__canvas .area-path:hover {
3767
- opacity: 0.45;
3768
- }
3769
- .c-chart--area .c-chart__canvas .line-path {
3770
- stroke-width: 2;
3771
- opacity: 0.9;
3772
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3773
- animation: chart-draw-line 2s ease-out;
3774
- }
3775
- .c-chart--area .c-chart__canvas .line-path:hover {
3776
- stroke-width: 3;
3777
- opacity: 1;
3629
+ .c-chart__treemap-label {
3630
+ font-size: 0.875rem;
3631
+ font-weight: 500;
3632
+ fill: var(--atomix-text-primary);
3633
+ text-anchor: middle;
3634
+ dominant-baseline: middle;
3635
+ pointer-events: none;
3636
+ -webkit-user-select: none;
3637
+ -moz-user-select: none;
3638
+ user-select: none;
3639
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
3778
3640
  }
3779
- .c-chart--bar .c-chart__canvas .bar,
3780
- .c-chart--bar .c-chart__canvas .c-chart__bar, .c-chart--horizontal-bar .c-chart__canvas .bar,
3781
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar {
3641
+ .c-chart__funnel-segment {
3642
+ stroke: var(--atomix-border-color);
3643
+ stroke-width: 1;
3782
3644
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3783
3645
  cursor: pointer;
3784
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
3785
- animation: chart-bar-grow 0.8s ease-out;
3786
- opacity: 1;
3646
+ shape-rendering: geometricPrecision;
3787
3647
  }
3788
- .c-chart--bar .c-chart__canvas .bar:hover, .c-chart--bar .c-chart__canvas .bar--hovered,
3789
- .c-chart--bar .c-chart__canvas .c-chart__bar:hover,
3790
- .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,
3791
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:hover,
3792
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar--hovered {
3793
- opacity: 0.85;
3794
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
3648
+ .c-chart__funnel-segment:hover {
3649
+ opacity: 0.9;
3650
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
3651
+ stroke-width: 1.5;
3795
3652
  }
3796
- .c-chart--bar .c-chart__canvas .bar:focus-visible,
3797
- .c-chart--bar .c-chart__canvas .c-chart__bar:focus-visible, .c-chart--horizontal-bar .c-chart__canvas .bar:focus-visible,
3798
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:focus-visible {
3799
- outline: 2px solid var(--atomix-primary-border-subtle);
3653
+ .c-chart__funnel-segment:focus-visible {
3654
+ outline: 2px solid var(--atomix-focus-border-color);
3800
3655
  outline-offset: 2px;
3656
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3801
3657
  }
3802
- .c-chart--bar .c-chart__canvas .bar[data-animated=true],
3803
- .c-chart--bar .c-chart__canvas .c-chart__bar[data-animated=true], .c-chart--horizontal-bar .c-chart__canvas .bar[data-animated=true],
3804
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar[data-animated=true] {
3805
- animation: chart-bar-grow 0.8s ease-out;
3806
- }
3807
- .c-chart--bar .c-chart__canvas .bar-group .bar, .c-chart--horizontal-bar .c-chart__canvas .bar-group .bar {
3808
- animation-delay: calc(var(--bar-index) * 0.1s);
3809
- }
3810
- .c-chart--bar .c-chart__canvas .bar-value-label,
3811
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label,
3812
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label {
3813
- font-size: 0.75rem;
3658
+ .c-chart__funnel-label {
3659
+ font-size: 0.875rem;
3814
3660
  font-weight: 500;
3815
- fill: var(--atomix-primary-text-emphasis);
3661
+ fill: var(--atomix-text-primary);
3816
3662
  text-anchor: middle;
3817
- opacity: 1;
3818
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3819
- font-feature-settings: "tnum";
3820
- font-variant-numeric: tabular-nums;
3663
+ dominant-baseline: middle;
3821
3664
  pointer-events: none;
3665
+ -webkit-user-select: none;
3666
+ -moz-user-select: none;
3667
+ user-select: none;
3668
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
3822
3669
  }
3823
- .c-chart--bar .c-chart__canvas .bar-value-label.visible,
3824
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label.visible, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label.visible,
3825
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label.visible {
3826
- opacity: 1;
3827
- }
3828
- .c-chart--bar .c-chart__canvas .bar-gradient stop, .c-chart--horizontal-bar .c-chart__canvas .bar-gradient stop {
3829
- transition: stop-opacity 0.3s ease;
3830
- }
3831
- .c-chart--bar .c-chart__canvas .bar {
3832
- transform-origin: bottom center;
3833
- animation: chart-bar-grow 0.8s ease-out;
3834
- }
3835
- .c-chart--bar .c-chart__canvas .bar:hover {
3836
- transform: scaleY(1.05);
3837
- }
3838
- .c-chart--horizontal-bar .c-chart__canvas .bar {
3839
- transform-origin: left center;
3840
- animation: chart-bar-grow-horizontal 0.8s ease-out;
3841
- }
3842
- .c-chart--horizontal-bar .c-chart__canvas .bar:hover {
3843
- transform: scaleX(1.05);
3844
- }
3845
- .c-chart--pie .c-chart__canvas .pie-slice,
3846
- .c-chart--pie .c-chart__canvas .donut-slice,
3847
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice,
3848
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice, .c-chart--donut .c-chart__canvas .pie-slice,
3849
- .c-chart--donut .c-chart__canvas .donut-slice,
3850
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice,
3851
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice, .c-chart--doughnut .c-chart__canvas .pie-slice,
3852
- .c-chart--doughnut .c-chart__canvas .donut-slice,
3853
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice,
3854
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice {
3855
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
3856
- stroke: var(--atomix-primary-bg-subtle);
3857
- stroke-width: 2;
3858
- cursor: pointer;
3859
- transform-origin: center;
3860
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
3861
- opacity: 1;
3862
- animation: chart-pie-draw 1.5s ease-out;
3863
- }
3864
- .c-chart--pie .c-chart__canvas .pie-slice:hover, .c-chart--pie .c-chart__canvas .pie-slice--hovered,
3865
- .c-chart--pie .c-chart__canvas .donut-slice:hover,
3866
- .c-chart--pie .c-chart__canvas .donut-slice--hovered,
3867
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:hover,
3868
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--hovered,
3869
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:hover,
3870
- .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,
3871
- .c-chart--donut .c-chart__canvas .donut-slice:hover,
3872
- .c-chart--donut .c-chart__canvas .donut-slice--hovered,
3873
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:hover,
3874
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--hovered,
3875
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:hover,
3876
- .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,
3877
- .c-chart--doughnut .c-chart__canvas .donut-slice:hover,
3878
- .c-chart--doughnut .c-chart__canvas .donut-slice--hovered,
3879
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:hover,
3880
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--hovered,
3881
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:hover,
3882
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--hovered {
3883
- opacity: 0.8;
3884
- transform: scale(1.05);
3885
- stroke-width: 3;
3886
- filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
3887
- }
3888
- .c-chart--pie .c-chart__canvas .pie-slice--selected,
3889
- .c-chart--pie .c-chart__canvas .donut-slice--selected,
3890
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--selected,
3891
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--donut .c-chart__canvas .pie-slice--selected,
3892
- .c-chart--donut .c-chart__canvas .donut-slice--selected,
3893
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--selected,
3894
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--doughnut .c-chart__canvas .pie-slice--selected,
3895
- .c-chart--doughnut .c-chart__canvas .donut-slice--selected,
3896
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--selected,
3897
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--selected {
3898
- stroke: var(--atomix-primary-border-subtle);
3899
- stroke-width: 3;
3900
- }
3901
- .c-chart--pie .c-chart__canvas .pie-slice:focus-visible,
3902
- .c-chart--pie .c-chart__canvas .donut-slice:focus-visible,
3903
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:focus-visible,
3904
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--donut .c-chart__canvas .pie-slice:focus-visible,
3905
- .c-chart--donut .c-chart__canvas .donut-slice:focus-visible,
3906
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:focus-visible,
3907
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--doughnut .c-chart__canvas .pie-slice:focus-visible,
3908
- .c-chart--doughnut .c-chart__canvas .donut-slice:focus-visible,
3909
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:focus-visible,
3910
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:focus-visible {
3911
- outline: 2px solid var(--atomix-primary-border-subtle);
3912
- outline-offset: 4px;
3913
- }
3914
- .c-chart--pie .c-chart__canvas .pie-label,
3915
- .c-chart--pie .c-chart__canvas .c-chart__pie-label,
3916
- .c-chart--pie .c-chart__canvas .c-chart__donut-label, .c-chart--donut .c-chart__canvas .pie-label,
3917
- .c-chart--donut .c-chart__canvas .c-chart__pie-label,
3918
- .c-chart--donut .c-chart__canvas .c-chart__donut-label, .c-chart--doughnut .c-chart__canvas .pie-label,
3919
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-label,
3920
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-label {
3670
+ .c-chart__funnel-conversion {
3921
3671
  font-size: 0.75rem;
3922
3672
  font-weight: 600;
3923
- fill: var(--atomix-primary-text-emphasis);
3924
- text-anchor: middle;
3925
- pointer-events: none;
3926
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3927
- font-feature-settings: "tnum";
3928
- font-variant-numeric: tabular-nums;
3929
- }
3930
- .c-chart--donut .c-chart__canvas .donut-slice, .c-chart--doughnut .c-chart__canvas .donut-slice {
3931
- animation: chart-donut-draw 1.5s ease-out;
3932
- }
3933
- .c-chart--donut .c-chart__canvas .donut-center,
3934
- .c-chart--donut .c-chart__canvas .c-chart__donut-center, .c-chart--doughnut .c-chart__canvas .donut-center,
3935
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center {
3936
- transition: fill 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3937
- }
3938
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-bg, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-bg {
3939
- fill: var(--atomix-primary-bg-subtle);
3940
- }
3941
- .c-chart--donut .c-chart__canvas .donut-center-label,
3942
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-label, .c-chart--doughnut .c-chart__canvas .donut-center-label,
3943
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-label {
3944
- font-size: 0.875rem;
3945
- font-weight: 500;
3946
3673
  fill: var(--atomix-secondary-text-emphasis);
3947
3674
  text-anchor: middle;
3948
- dominant-baseline: central;
3949
- font-feature-settings: "tnum";
3950
- font-variant-numeric: tabular-nums;
3951
- }
3952
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-value, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-value {
3953
- font-size: 1.5rem;
3954
- font-weight: 700;
3955
- fill: var(--atomix-primary-text-emphasis);
3956
- text-anchor: middle;
3957
- dominant-baseline: central;
3958
- font-feature-settings: "tnum";
3959
- font-variant-numeric: tabular-nums;
3675
+ dominant-baseline: middle;
3676
+ pointer-events: none;
3677
+ -webkit-user-select: none;
3678
+ -moz-user-select: none;
3679
+ user-select: none;
3680
+ opacity: 0.8;
3960
3681
  }
3961
- .c-chart--scatter .c-chart__canvas .scatter-point,
3962
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point {
3963
- stroke: var(--atomix-primary-border-subtle);
3682
+ .c-chart__heatmap-cell {
3683
+ stroke: var(--atomix-border-color);
3964
3684
  stroke-width: 1;
3685
+ rx: 0.25rem;
3686
+ ry: 0.25rem;
3965
3687
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3966
3688
  cursor: pointer;
3967
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
3968
- animation: chart-fade-in 0.6s ease-out;
3689
+ shape-rendering: geometricPrecision;
3969
3690
  }
3970
- .c-chart--scatter .c-chart__canvas .scatter-point:hover,
3971
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:hover {
3972
- filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
3691
+ .c-chart__heatmap-cell:hover {
3692
+ transform: scale(1.05);
3693
+ transform-origin: center;
3694
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
3695
+ stroke-width: 2;
3696
+ z-index: 10;
3973
3697
  }
3974
- .c-chart--scatter .c-chart__canvas .scatter-point:focus-visible,
3975
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:focus-visible {
3976
- outline: 2px solid var(--atomix-primary-border-subtle);
3698
+ .c-chart__heatmap-cell--hovered {
3699
+ transform: scale(1.05);
3700
+ transform-origin: center;
3701
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
3702
+ stroke-width: 2;
3703
+ z-index: 10;
3704
+ }
3705
+ .c-chart__heatmap-cell:focus-visible {
3706
+ outline: 2px solid var(--atomix-focus-border-color);
3977
3707
  outline-offset: 2px;
3708
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3978
3709
  }
3979
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-label {
3710
+ .c-chart__heatmap-label {
3980
3711
  font-size: 0.75rem;
3981
- fill: var(--atomix-primary-text-emphasis);
3712
+ font-weight: 400;
3713
+ fill: var(--atomix-text-primary);
3714
+ text-anchor: middle;
3715
+ dominant-baseline: middle;
3982
3716
  pointer-events: none;
3717
+ -webkit-user-select: none;
3718
+ -moz-user-select: none;
3719
+ user-select: none;
3983
3720
  }
3984
- .c-chart--bubble .c-chart__canvas .c-chart__bubble {
3985
- stroke: var(--atomix-primary-bg-subtle);
3986
- stroke-width: 2;
3987
- cursor: pointer;
3988
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3989
- }
3990
- .c-chart--bubble .c-chart__canvas .c-chart__bubble--animated {
3991
- transition: all 1s ease-out;
3992
- }
3993
- .c-chart--bubble .c-chart__canvas .c-chart__bubble:hover {
3994
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
3995
- }
3996
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label {
3721
+ .c-chart__heatmap-axis-label {
3997
3722
  font-size: 0.75rem;
3998
3723
  font-weight: 500;
3999
- fill: var(--atomix-tertiary-text-emphasis);
3724
+ fill: var(--atomix-secondary-text-emphasis);
3725
+ text-anchor: middle;
3726
+ dominant-baseline: middle;
4000
3727
  pointer-events: none;
3728
+ -webkit-user-select: none;
3729
+ -moz-user-select: none;
3730
+ user-select: none;
4001
3731
  }
4002
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label--center {
4003
- fill: var(--atomix-invert-text-emphasis);
4004
- font-weight: 700;
4005
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4006
- }
4007
- .c-chart--radar .c-chart__canvas .c-chart__radar-grid {
4008
- stroke: var(--atomix-primary-border-subtle);
4009
- stroke-width: 1;
4010
- opacity: 0.3;
4011
- }
4012
- .c-chart--radar .c-chart__canvas .c-chart__radar-axis {
4013
- stroke: var(--atomix-primary-border-subtle);
4014
- stroke-width: 1;
4015
- opacity: 0.5;
3732
+ .c-chart__heatmap-legend-title {
3733
+ font-size: 0.875rem;
3734
+ font-weight: 600;
3735
+ fill: var(--atomix-text-primary);
3736
+ text-anchor: start;
3737
+ dominant-baseline: baseline;
3738
+ pointer-events: none;
3739
+ -webkit-user-select: none;
3740
+ -moz-user-select: none;
3741
+ user-select: none;
4016
3742
  }
4017
- .c-chart--radar .c-chart__canvas .c-chart__radar-label {
3743
+ .c-chart__heatmap-legend-label {
4018
3744
  font-size: 0.75rem;
3745
+ font-weight: 400;
4019
3746
  fill: var(--atomix-secondary-text-emphasis);
3747
+ text-anchor: start;
3748
+ dominant-baseline: middle;
3749
+ pointer-events: none;
3750
+ -webkit-user-select: none;
3751
+ -moz-user-select: none;
3752
+ user-select: none;
4020
3753
  }
4021
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill {
4022
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4023
- }
4024
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill:hover {
4025
- opacity: 0.5 !important;
3754
+ .c-chart__candlestick-candle {
3755
+ stroke: var(--atomix-border-color);
3756
+ stroke-width: 1;
3757
+ rx: 0.25rem;
3758
+ ry: 0.25rem;
3759
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3760
+ cursor: pointer;
3761
+ shape-rendering: geometricPrecision;
4026
3762
  }
4027
- .c-chart--radar .c-chart__canvas .c-chart__radar-line {
4028
- fill: none;
4029
- transition: stroke-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3763
+ .c-chart__candlestick-candle:hover {
3764
+ opacity: 0.9;
3765
+ stroke-width: 1.5;
3766
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4030
3767
  }
4031
- .c-chart--radar .c-chart__canvas .c-chart__radar-line:hover {
4032
- stroke-width: 3 !important;
3768
+ .c-chart__candlestick-candle:focus-visible {
3769
+ outline: 2px solid var(--atomix-focus-border-color);
3770
+ outline-offset: 2px;
3771
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4033
3772
  }
4034
- .c-chart--radar .c-chart__canvas .c-chart__radar-point {
4035
- stroke: var(--atomix-primary-bg-subtle);
4036
- stroke-width: 2;
4037
- cursor: pointer;
3773
+ .c-chart__candlestick-wick {
3774
+ stroke: var(--atomix-tertiary-text-emphasis);
3775
+ stroke-width: 1;
3776
+ opacity: 0.8;
4038
3777
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3778
+ shape-rendering: geometricPrecision;
4039
3779
  }
4040
- .c-chart--radar .c-chart__canvas .c-chart__radar-point:hover {
4041
- transform: scale(1.3);
4042
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
3780
+ .c-chart__candlestick-wick:hover {
3781
+ opacity: 1;
3782
+ stroke-width: 1.2;
4043
3783
  }
4044
- .c-chart--candlestick .c-chart__canvas .candlestick,
4045
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick {
4046
- stroke-width: 1;
4047
- cursor: pointer;
3784
+ .c-chart__candlestick-volume {
4048
3785
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4049
- animation: chart-fade-in 0.6s ease-out;
3786
+ cursor: pointer;
3787
+ shape-rendering: geometricPrecision;
4050
3788
  }
4051
- .c-chart--candlestick .c-chart__canvas .candlestick--bullish,
4052
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bullish {
4053
- opacity: 0.8;
3789
+ .c-chart__candlestick-volume:hover {
3790
+ opacity: 0.6;
4054
3791
  }
4055
- .c-chart--candlestick .c-chart__canvas .candlestick--bearish,
4056
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bearish {
4057
- opacity: 1;
3792
+ .c-chart__bar {
3793
+ rx: 0.25rem;
3794
+ ry: 0.25rem;
3795
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3796
+ cursor: pointer;
3797
+ shape-rendering: geometricPrecision;
4058
3798
  }
4059
- .c-chart--candlestick .c-chart__canvas .candlestick:hover,
4060
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick:hover {
4061
- opacity: 0.8;
4062
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
3799
+ .c-chart__bar:hover {
3800
+ opacity: 0.85;
3801
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4063
3802
  }
4064
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick-highlight {
4065
- stroke-width: 2;
4066
- opacity: 0.5;
3803
+ .c-chart__bar--hovered {
3804
+ opacity: 0.85;
3805
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4067
3806
  }
4068
- .c-chart--candlestick .c-chart__canvas .wick,
4069
- .c-chart--candlestick .c-chart__canvas .c-chart__wick {
4070
- stroke-width: 1;
4071
- opacity: 0.8;
3807
+ .c-chart__bar:focus-visible {
3808
+ outline: 2px solid var(--atomix-focus-border-color);
3809
+ outline-offset: 2px;
3810
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4072
3811
  }
4073
- .c-chart--candlestick .c-chart__canvas .wick--hovered,
4074
- .c-chart--candlestick .c-chart__canvas .c-chart__wick--hovered {
4075
- stroke-width: 2;
3812
+ .c-chart__bar-value-label {
3813
+ font-size: 0.75rem;
3814
+ font-weight: 500;
3815
+ fill: var(--atomix-text-primary);
3816
+ text-anchor: middle;
3817
+ pointer-events: none;
3818
+ -webkit-user-select: none;
3819
+ -moz-user-select: none;
3820
+ user-select: none;
4076
3821
  }
4077
- .c-chart--candlestick .c-chart__canvas .c-chart__moving-average {
4078
- stroke-width: 2;
4079
- opacity: 0.8;
3822
+ .c-chart__line-path {
3823
+ fill: none;
3824
+ stroke-linecap: round;
3825
+ stroke-linejoin: round;
3826
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3827
+ shape-rendering: geometricPrecision;
4080
3828
  }
4081
- .c-chart--candlestick .c-chart__canvas .volume-bar {
4082
- opacity: 0.3;
4083
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3829
+ .c-chart__area-path {
3830
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3831
+ shape-rendering: geometricPrecision;
4084
3832
  }
4085
- .c-chart--candlestick .c-chart__canvas .volume-bar:hover {
4086
- opacity: 0.6;
3833
+ .c-chart__area-fill {
3834
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3835
+ shape-rendering: geometricPrecision;
4087
3836
  }
4088
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-background {
4089
- fill: var(--atomix-secondary-bg-subtle);
4090
- stroke: var(--atomix-primary-border-subtle);
4091
- stroke-width: 1;
3837
+ .c-chart__area-point {
3838
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3839
+ cursor: pointer;
3840
+ shape-rendering: geometricPrecision;
4092
3841
  }
4093
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-zone {
4094
- stroke: var(--atomix-primary-bg-subtle);
4095
- stroke-width: 2;
3842
+ .c-chart__area-point:hover {
3843
+ transform: scale(1.2);
4096
3844
  }
4097
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--major {
4098
- stroke: var(--atomix-secondary-text-emphasis);
4099
- stroke-width: 2;
3845
+ .c-chart__area-point--hovered {
3846
+ transform: scale(1.2);
4100
3847
  }
4101
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--minor {
4102
- stroke: var(--atomix-tertiary-text-emphasis);
4103
- stroke-width: 1;
3848
+ .c-chart__area-point:focus-visible {
3849
+ outline: 2px solid var(--atomix-focus-border-color);
3850
+ outline-offset: 2px;
3851
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4104
3852
  }
4105
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick-label {
3853
+ .c-chart__point-label {
4106
3854
  font-size: 0.75rem;
4107
- fill: var(--atomix-secondary-text-emphasis);
3855
+ font-weight: 500;
3856
+ text-anchor: middle;
3857
+ pointer-events: none;
3858
+ -webkit-user-select: none;
3859
+ -moz-user-select: none;
3860
+ user-select: none;
4108
3861
  }
4109
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-min-max-label {
4110
- font-size: 0.875rem;
4111
- font-weight: 700;
4112
- fill: var(--atomix-secondary-text-emphasis);
3862
+ .c-chart__pie-slice {
3863
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
3864
+ cursor: pointer;
3865
+ shape-rendering: geometricPrecision;
4113
3866
  }
4114
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-line {
3867
+ .c-chart__pie-slice:hover {
4115
3868
  stroke-width: 3;
4116
- stroke-linecap: round;
3869
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4117
3870
  }
4118
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-center {
4119
- stroke: var(--atomix-primary-bg-subtle);
4120
- stroke-width: 2;
3871
+ .c-chart__pie-slice--hovered {
3872
+ stroke-width: 3;
3873
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4121
3874
  }
4122
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-value {
4123
- font-size: 2rem;
4124
- font-weight: 700;
4125
- fill: var(--atomix-primary-text-emphasis);
3875
+ .c-chart__pie-slice:focus-visible {
3876
+ outline: 2px solid var(--atomix-focus-border-color);
3877
+ outline-offset: 2px;
3878
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4126
3879
  }
4127
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-label {
4128
- font-size: 0.875rem;
4129
- fill: var(--atomix-secondary-text-emphasis);
3880
+ .c-chart__pie-label {
3881
+ font-size: 0.75rem;
3882
+ font-weight: 500;
3883
+ fill: var(--atomix-text-primary);
3884
+ text-anchor: middle;
3885
+ dominant-baseline: middle;
3886
+ pointer-events: none;
3887
+ -webkit-user-select: none;
3888
+ -moz-user-select: none;
3889
+ user-select: none;
3890
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4130
3891
  }
4131
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment {
4132
- stroke: var(--atomix-primary-bg-subtle);
4133
- stroke-width: 2;
3892
+ .c-chart__donut-slice {
3893
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
4134
3894
  cursor: pointer;
4135
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3895
+ shape-rendering: geometricPrecision;
3896
+ transform-origin: center;
4136
3897
  }
4137
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment--animated {
4138
- transition: all 1s ease-out;
3898
+ .c-chart__donut-slice:hover {
3899
+ transform: scale(1.02);
3900
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4139
3901
  }
4140
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment:hover {
4141
- opacity: 0.8;
4142
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
3902
+ .c-chart__donut-slice--hovered {
3903
+ transform: scale(1.02);
3904
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4143
3905
  }
4144
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label {
4145
- font-size: 0.875rem;
4146
- font-weight: 700;
3906
+ .c-chart__donut-slice:focus-visible {
3907
+ outline: 2px solid var(--atomix-focus-border-color);
3908
+ outline-offset: 2px;
3909
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3910
+ }
3911
+ .c-chart__donut-label {
3912
+ font-size: 0.75rem;
3913
+ font-weight: 500;
3914
+ fill: var(--atomix-text-primary);
3915
+ text-anchor: middle;
3916
+ dominant-baseline: middle;
4147
3917
  pointer-events: none;
3918
+ -webkit-user-select: none;
3919
+ -moz-user-select: none;
3920
+ user-select: none;
3921
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4148
3922
  }
4149
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--inside {
4150
- fill: var(--atomix-invert-text-emphasis);
4151
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
3923
+ .c-chart__donut-percentage {
3924
+ font-size: 0.75rem;
3925
+ font-weight: 600;
3926
+ fill: var(--atomix-secondary-text-emphasis);
3927
+ text-anchor: middle;
3928
+ dominant-baseline: middle;
3929
+ pointer-events: none;
3930
+ -webkit-user-select: none;
3931
+ -moz-user-select: none;
3932
+ user-select: none;
4152
3933
  }
4153
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--outside {
4154
- fill: var(--atomix-primary-text-emphasis);
3934
+ .c-chart__donut-center-label {
3935
+ font-size: 0.875rem;
3936
+ font-weight: 500;
3937
+ fill: var(--atomix-secondary-text-emphasis);
3938
+ text-anchor: middle;
3939
+ dominant-baseline: middle;
3940
+ pointer-events: none;
3941
+ -webkit-user-select: none;
3942
+ -moz-user-select: none;
3943
+ user-select: none;
4155
3944
  }
4156
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value {
4157
- font-size: 0.75rem;
3945
+ .c-chart__donut-center-value {
3946
+ font-size: 1.25rem;
3947
+ font-weight: 700;
3948
+ fill: var(--atomix-text-primary);
3949
+ text-anchor: middle;
3950
+ dominant-baseline: middle;
4158
3951
  pointer-events: none;
3952
+ -webkit-user-select: none;
3953
+ -moz-user-select: none;
3954
+ user-select: none;
4159
3955
  }
4160
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--inside {
4161
- fill: var(--atomix-invert-text-emphasis);
4162
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
3956
+ .c-chart__scatter-point {
3957
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3958
+ cursor: pointer;
3959
+ shape-rendering: geometricPrecision;
4163
3960
  }
4164
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--outside {
4165
- fill: var(--atomix-secondary-text-emphasis);
3961
+ .c-chart__scatter-point:hover {
3962
+ transform: scale(1.2);
3963
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4166
3964
  }
4167
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-conversion {
4168
- font-size: 0.75rem;
4169
- fill: var(--atomix-secondary-text-emphasis);
4170
- font-style: italic;
3965
+ .c-chart__scatter-point:focus-visible {
3966
+ outline: 2px solid var(--atomix-focus-border-color);
3967
+ outline-offset: 2px;
3968
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4171
3969
  }
4172
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-axis-label {
3970
+ .c-chart__scatter-label {
4173
3971
  font-size: 0.75rem;
4174
- fill: var(--atomix-gray-7);
4175
3972
  font-weight: 500;
3973
+ fill: var(--atomix-text-primary);
3974
+ text-anchor: middle;
3975
+ pointer-events: none;
4176
3976
  -webkit-user-select: none;
4177
3977
  -moz-user-select: none;
4178
3978
  user-select: none;
4179
3979
  }
4180
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell {
3980
+ .c-chart__bubble {
3981
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4181
3982
  cursor: pointer;
4182
- transition: all 0.2s ease;
4183
- shape-rendering: crispEdges;
3983
+ shape-rendering: geometricPrecision;
4184
3984
  }
4185
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--empty {
4186
- fill: var(--atomix-gray-2);
4187
- stroke: var(--atomix-gray-3);
4188
- stroke-width: 0.5;
4189
- opacity: 0.6;
3985
+ .c-chart__bubble:hover {
3986
+ transform: scale(1.1);
3987
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4190
3988
  }
4191
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--hovered {
3989
+ .c-chart__bubble--hovered {
4192
3990
  transform: scale(1.1);
4193
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4194
- z-index: 10;
3991
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4195
3992
  }
4196
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell:focus-visible {
4197
- outline: 2px solid var(--atomix-primary-6);
4198
- outline-offset: 1px;
3993
+ .c-chart__bubble:focus-visible {
3994
+ outline: 2px solid var(--atomix-focus-border-color);
3995
+ outline-offset: 2px;
3996
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4199
3997
  }
4200
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value {
4201
- font-size: 9px;
3998
+ .c-chart__bubble-label {
3999
+ font-size: 0.75rem;
4202
4000
  font-weight: 500;
4001
+ fill: var(--atomix-text-primary);
4002
+ text-anchor: middle;
4003
+ dominant-baseline: middle;
4203
4004
  pointer-events: none;
4204
4005
  -webkit-user-select: none;
4205
4006
  -moz-user-select: none;
4206
4007
  user-select: none;
4207
- font-feature-settings: "tnum";
4208
- font-variant-numeric: tabular-nums;
4209
- }
4210
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--light {
4211
- fill: white;
4212
4008
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4213
4009
  }
4214
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--dark {
4215
- fill: var(--atomix-gray-8);
4216
- }
4217
- .c-chart--heatmap .c-chart__canvas.c-chart--calendar .c-chart__heatmap-cell {
4218
- rx: 2;
4010
+ .c-chart__radar-grid-line {
4011
+ stroke: var(--atomix-border-color);
4012
+ stroke-width: 1;
4013
+ opacity: 0.3;
4014
+ shape-rendering: geometricPrecision;
4219
4015
  }
4220
- .c-chart--heatmap .c-chart__canvas.c-chart--grid .c-chart__heatmap-cell {
4221
- rx: 4;
4016
+ .c-chart__radar-axis-label {
4017
+ font-size: 0.75rem;
4018
+ font-weight: 500;
4019
+ fill: var(--atomix-secondary-text-emphasis);
4020
+ text-anchor: middle;
4021
+ dominant-baseline: middle;
4022
+ pointer-events: none;
4023
+ -webkit-user-select: none;
4024
+ -moz-user-select: none;
4025
+ user-select: none;
4222
4026
  }
4223
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node {
4224
- cursor: pointer;
4225
- stroke: var(--atomix-primary-bg-subtle);
4226
- stroke-width: 1;
4027
+ .c-chart__radar-area {
4227
4028
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4029
+ shape-rendering: geometricPrecision;
4228
4030
  }
4229
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--animated {
4230
- transition: all 750ms ease-out;
4031
+ .c-chart__radar-line {
4032
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4033
+ shape-rendering: geometricPrecision;
4034
+ stroke-linecap: round;
4035
+ stroke-linejoin: round;
4231
4036
  }
4232
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--hovered {
4233
- opacity: 0.8;
4037
+ .c-chart__radar-point {
4038
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4039
+ cursor: pointer;
4040
+ shape-rendering: geometricPrecision;
4234
4041
  }
4235
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--selected {
4236
- stroke-width: 2;
4042
+ .c-chart__radar-point:hover {
4043
+ transform: scale(1.3);
4044
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4237
4045
  }
4238
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-label {
4239
- font-size: 0.75rem;
4240
- font-weight: 700;
4241
- fill: var(--atomix-invert-text-emphasis);
4242
- pointer-events: none;
4046
+ .c-chart__radar-point--hovered {
4047
+ transform: scale(1.3);
4048
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4243
4049
  }
4244
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-value {
4245
- font-size: 0.75rem;
4246
- fill: var(--atomix-invert-text-emphasis);
4247
- opacity: 0.8;
4248
- pointer-events: none;
4050
+ .c-chart__radar-point:focus-visible {
4051
+ outline: 2px solid var(--atomix-focus-border-color);
4052
+ outline-offset: 2px;
4053
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4249
4054
  }
4250
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar {
4251
- stroke: var(--atomix-primary-bg-subtle);
4252
- stroke-width: 2;
4253
- cursor: pointer;
4055
+ .c-chart__waterfall-bar {
4056
+ rx: 0.25rem;
4057
+ ry: 0.25rem;
4254
4058
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4059
+ cursor: pointer;
4060
+ shape-rendering: geometricPrecision;
4255
4061
  }
4256
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar--animated {
4257
- transition: all 1s ease-out;
4062
+ .c-chart__waterfall-bar:hover {
4063
+ opacity: 0.85;
4064
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4258
4065
  }
4259
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar:hover {
4260
- opacity: 0.8;
4261
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
4066
+ .c-chart__waterfall-bar--animated {
4067
+ animation: chart-bar-appear 1s ease-out;
4068
+ transform-origin: bottom center;
4069
+ }
4070
+ .c-chart__waterfall-bar:focus-visible {
4071
+ outline: 2px solid var(--atomix-focus-border-color);
4072
+ outline-offset: 2px;
4073
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4262
4074
  }
4263
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value {
4075
+ .c-chart__waterfall-value {
4264
4076
  font-size: 0.75rem;
4265
- font-weight: 700;
4077
+ font-weight: 600;
4078
+ fill: var(--atomix-text-primary);
4079
+ text-anchor: middle;
4266
4080
  pointer-events: none;
4081
+ -webkit-user-select: none;
4082
+ -moz-user-select: none;
4083
+ user-select: none;
4267
4084
  }
4268
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--center {
4269
- fill: var(--atomix-invert-text-emphasis);
4270
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4085
+ .c-chart__waterfall-value--center {
4086
+ dominant-baseline: middle;
4271
4087
  }
4272
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--outside {
4273
- fill: var(--atomix-primary-text-emphasis);
4088
+ .c-chart__waterfall-value--outside {
4089
+ dominant-baseline: auto;
4274
4090
  }
4275
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-connector {
4276
- stroke-width: 2;
4277
- opacity: 0.7;
4091
+ .c-chart__waterfall-connector {
4092
+ stroke: var(--atomix-border-color);
4093
+ stroke-width: 1;
4094
+ opacity: 0.6;
4095
+ shape-rendering: geometricPrecision;
4278
4096
  }
4279
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-line {
4280
- stroke-width: 3;
4097
+ .c-chart__waterfall-cumulative-line {
4098
+ stroke-width: 2;
4281
4099
  stroke-linecap: round;
4282
4100
  stroke-linejoin: round;
4101
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4102
+ shape-rendering: geometricPrecision;
4283
4103
  }
4284
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-point {
4285
- stroke: var(--atomix-primary-bg-subtle);
4286
- stroke-width: 2;
4287
- }
4288
- @keyframes chart-spin {
4289
- 0% {
4290
- transform: rotate(0deg);
4291
- }
4292
- 100% {
4293
- transform: rotate(360deg);
4294
- }
4295
- }
4296
- @keyframes chart-shimmer {
4297
- 0% {
4298
- left: -100%;
4299
- }
4300
- 100% {
4301
- left: 100%;
4302
- }
4303
- }
4304
- @keyframes chart-pulse {
4305
- 0%, 100% {
4306
- opacity: 0.8;
4307
- }
4308
- 50% {
4309
- opacity: 1;
4310
- }
4311
- }
4312
- @keyframes chart-draw-line {
4313
- 0% {
4314
- stroke-dashoffset: 1000;
4315
- }
4316
- 100% {
4317
- stroke-dashoffset: 0;
4318
- }
4319
- }
4320
- @keyframes chart-area-fade {
4321
- 0% {
4322
- opacity: 0;
4323
- }
4324
- 100% {
4325
- opacity: 0.3;
4326
- }
4104
+ .c-chart__waterfall-cumulative-point {
4105
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4106
+ cursor: pointer;
4107
+ shape-rendering: geometricPrecision;
4327
4108
  }
4328
- @keyframes chart-bar-grow {
4329
- 0% {
4330
- transform: scaleY(0);
4331
- }
4332
- 100% {
4333
- transform: scaleY(1);
4334
- }
4109
+ .c-chart__waterfall-cumulative-point:hover {
4110
+ transform: scale(1.3);
4335
4111
  }
4336
- @keyframes chart-bar-grow-horizontal {
4337
- 0% {
4338
- transform: scaleX(0);
4339
- }
4340
- 100% {
4341
- transform: scaleX(1);
4342
- }
4112
+ .c-chart__waterfall-cumulative-point:focus-visible {
4113
+ outline: 2px solid var(--atomix-focus-border-color);
4114
+ outline-offset: 2px;
4115
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4343
4116
  }
4344
- @keyframes chart-pie-draw {
4345
- 0% {
4346
- stroke-dasharray: 0 628;
4117
+ @media (prefers-contrast: high) {
4118
+ .c-chart {
4119
+ border-width: calc(var(--atomix-border-width) * 2);
4347
4120
  }
4348
- 100% {
4349
- stroke-dasharray: 628 628;
4121
+ .c-chart--selected {
4122
+ border-width: calc(var(--atomix-border-width) * 3);
4350
4123
  }
4351
- }
4352
- @keyframes chart-donut-draw {
4353
- 0% {
4354
- stroke-dasharray: 0 628;
4124
+ .c-chart__action {
4125
+ border-width: calc(var(--atomix-border-width) * 2);
4355
4126
  }
4356
- 100% {
4357
- stroke-dasharray: 628 628;
4127
+ .c-chart__action:focus-visible {
4128
+ outline-width: calc(var(--atomix-border-width) * 3);
4358
4129
  }
4359
- }
4360
- @keyframes chart-fade-in {
4361
- 0% {
4362
- opacity: 0;
4363
- transform: translateY(10px);
4130
+ .c-chart__data-point {
4131
+ stroke-width: 2;
4364
4132
  }
4365
- 100% {
4366
- opacity: 1;
4367
- transform: translateY(0);
4133
+ .c-chart__data-point--selected {
4134
+ stroke-width: 3;
4368
4135
  }
4369
- }
4370
- @keyframes chart-scale-in {
4371
- 0% {
4372
- opacity: 0;
4373
- transform: scale(0.3);
4136
+ .c-chart__grid {
4137
+ stroke-width: 1;
4138
+ opacity: 0.6;
4374
4139
  }
4375
- 60% {
4140
+ .c-chart__grid--major {
4141
+ stroke-width: 1.5;
4376
4142
  opacity: 0.8;
4377
- transform: scale(1.1);
4378
- }
4379
- 100% {
4380
- opacity: 1;
4381
- transform: scale(1);
4382
- }
4383
- }
4384
- @keyframes chart-slide-in {
4385
- 0% {
4386
- opacity: 0;
4387
- transform: translateX(-20px);
4388
4143
  }
4389
- 100% {
4144
+ .c-chart__grid--zero {
4145
+ stroke-width: 2;
4390
4146
  opacity: 1;
4391
- transform: translateX(0);
4392
- }
4393
- }
4394
- @keyframes chart-bubble-grow {
4395
- 0% {
4396
- transform: scale(0);
4397
4147
  }
4398
- 100% {
4399
- transform: scale(1);
4148
+ .c-chart__treemap-node {
4149
+ stroke-width: 2;
4400
4150
  }
4401
- }
4402
- @keyframes chart-dash-flow {
4403
- 0% {
4404
- stroke-dashoffset: 0;
4151
+ .c-chart__treemap-node--selected {
4152
+ stroke-width: 3;
4405
4153
  }
4406
- 100% {
4407
- stroke-dashoffset: 10;
4154
+ .c-chart__treemap-node:focus-visible {
4155
+ outline-width: calc(var(--atomix-border-width) * 3);
4408
4156
  }
4409
- }
4410
- @keyframes chart-glow {
4411
- 0%, 100% {
4412
- filter: drop-shadow(0 0 5px currentColor);
4157
+ .c-chart__funnel-segment {
4158
+ stroke-width: 2;
4413
4159
  }
4414
- 50% {
4415
- filter: drop-shadow(0 0 15px currentColor);
4160
+ .c-chart__funnel-segment:focus-visible {
4161
+ outline-width: calc(var(--atomix-border-width) * 3);
4416
4162
  }
4417
- }
4418
- @keyframes chart-pulse-dot {
4419
- 0%, 100% {
4420
- opacity: 1;
4421
- transform: scale(1);
4163
+ .c-chart__heatmap-cell {
4164
+ stroke-width: 2;
4422
4165
  }
4423
- 50% {
4424
- opacity: 0.5;
4425
- transform: scale(1.2);
4166
+ .c-chart__heatmap-cell--hovered {
4167
+ stroke-width: 3;
4426
4168
  }
4427
- }
4428
- @keyframes chart-zoom-in {
4429
- 0% {
4430
- transform: scale(0.8);
4431
- opacity: 0;
4169
+ .c-chart__heatmap-cell:focus-visible {
4170
+ outline-width: calc(var(--atomix-border-width) * 3);
4432
4171
  }
4433
- 100% {
4434
- transform: scale(1);
4435
- opacity: 1;
4172
+ .c-chart__candlestick-candle {
4173
+ stroke-width: 2;
4436
4174
  }
4437
- }
4438
- @keyframes chart-slide-up {
4439
- 0% {
4440
- transform: translateY(20px);
4441
- opacity: 0;
4175
+ .c-chart__candlestick-candle:focus-visible {
4176
+ outline-width: calc(var(--atomix-border-width) * 3);
4442
4177
  }
4443
- 100% {
4444
- transform: translateY(0);
4178
+ .c-chart__candlestick-wick {
4179
+ stroke-width: 2;
4445
4180
  opacity: 1;
4446
4181
  }
4447
4182
  }
4448
- @media (max-width: 768px) {
4183
+ @media (prefers-reduced-motion: reduce) {
4449
4184
  .c-chart {
4450
- --atomix-chart-min-height: 10rem;
4451
- border-radius: 0.25rem;
4185
+ transition: none;
4186
+ animation: none;
4452
4187
  }
4453
- .c-chart__header {
4454
- flex-direction: column;
4455
- align-items: flex-start;
4456
- gap: 0.5rem;
4188
+ .c-chart::before, .c-chart::after {
4189
+ animation: none;
4190
+ transition: none;
4457
4191
  }
4458
- .c-chart__toolbar {
4459
- width: 100%;
4460
- justify-content: flex-end;
4461
- padding: 0.5rem;
4462
- gap: 0.5rem;
4192
+ .c-chart--elevated {
4193
+ transform: none;
4463
4194
  }
4464
- }
4465
- @media (max-width: 768px) and (max-width: 480px) {
4466
- .c-chart__toolbar {
4467
- flex-wrap: wrap;
4468
- justify-content: center;
4195
+ .c-chart--elevated:hover {
4196
+ transform: none;
4469
4197
  }
4470
- }
4471
- @media (max-width: 768px) {
4472
- .c-chart__action {
4473
- width: 2.25rem;
4474
- height: 2.25rem;
4198
+ .c-chart--clickable {
4199
+ transition: none;
4475
4200
  }
4476
- .c-chart__action svg {
4477
- width: 1.125rem;
4478
- height: 1.125rem;
4201
+ .c-chart--clickable:hover {
4202
+ transform: none;
4479
4203
  }
4480
- .c-chart__export-dropdown {
4481
- position: fixed;
4482
- top: 50%;
4483
- left: 50%;
4484
- transform: translate(-50%, -50%);
4485
- margin-top: 0;
4486
- min-width: 12.5rem;
4487
- max-width: 90vw;
4488
- }
4489
- .c-chart__legend {
4490
- flex-direction: column;
4491
- gap: 0.5rem;
4204
+ .c-chart--clickable:active {
4205
+ transform: none;
4492
4206
  }
4493
- .c-chart__legend-item {
4494
- justify-content: space-between;
4495
- width: 100%;
4207
+ .c-chart__action {
4208
+ transition: none;
4496
4209
  }
4497
- .c-chart:hover {
4210
+ .c-chart__action:hover {
4498
4211
  transform: none;
4499
4212
  }
4500
- }
4501
- @media (max-width: 480px) {
4502
- .c-chart {
4503
- --atomix-chart-min-height: 9rem;
4504
- --atomix-chart-padding: 0.5rem;
4505
- border-radius: 0.25rem;
4213
+ .c-chart__action svg {
4214
+ transition: none;
4506
4215
  }
4507
- .c-chart__title {
4508
- font-size: 1.125rem;
4509
- margin-bottom: 0.25rem;
4216
+ .c-chart__action svg:hover {
4217
+ transform: none;
4510
4218
  }
4511
- .c-chart__subtitle {
4512
- font-size: 0.75rem;
4219
+ .c-chart__data-point {
4220
+ transition: none;
4513
4221
  }
4514
- .c-chart__toolbar {
4515
- padding: 0.25rem;
4516
- gap: 0.25rem;
4517
- border-radius: 0.25rem;
4222
+ .c-chart__data-point--hovered {
4223
+ transform: none;
4518
4224
  }
4519
- .c-chart__action {
4520
- width: 1.75rem;
4521
- height: 1.75rem;
4522
- font-size: 0.75rem;
4225
+ .c-chart__treemap-node {
4226
+ transition: none;
4523
4227
  }
4524
- .c-chart__action svg {
4525
- width: 0.875rem;
4526
- height: 0.875rem;
4228
+ .c-chart__treemap-node:hover {
4229
+ transform: none;
4527
4230
  }
4528
- .c-chart__export-option {
4529
- padding: 0.25rem 0.5rem;
4530
- font-size: 0.6875rem;
4231
+ .c-chart__treemap-node--hovered {
4232
+ transform: none;
4531
4233
  }
4532
- }
4533
- @media (prefers-reduced-motion: reduce) {
4534
- .c-chart {
4234
+ .c-chart__funnel-segment {
4535
4235
  transition: none;
4536
4236
  }
4537
- .c-chart:hover {
4237
+ .c-chart__funnel-segment:hover {
4538
4238
  transform: none;
4539
4239
  }
4540
- .c-chart * {
4541
- animation-duration: 0.01s !important;
4542
- transition-duration: 0.01s !important;
4543
- }
4544
- .c-chart__real-time-indicator::before {
4545
- animation: none;
4240
+ .c-chart__heatmap-cell {
4241
+ transition: none;
4546
4242
  }
4547
- }
4548
- .c-chart:focus-within .c-chart__data-point:focus {
4549
- outline: 2px solid var(--atomix-primary-6);
4550
- outline-offset: 2px;
4551
- z-index: 10;
4552
- }
4553
- .c-chart:focus-within__canvas svg {
4554
- outline: 2px solid var(--atomix-primary-border-subtle);
4555
- outline-offset: 2px;
4556
- }
4557
- @media (prefers-contrast: high) {
4558
- .c-chart {
4559
- border-width: 2px;
4560
- background-color: white;
4561
- color: black;
4562
- -webkit-backdrop-filter: none;
4563
- backdrop-filter: none;
4243
+ .c-chart__heatmap-cell:hover {
4244
+ transform: none;
4564
4245
  }
4565
- .c-chart__grid {
4566
- stroke-width: 2;
4567
- opacity: 0.8;
4568
- stroke: black;
4246
+ .c-chart__heatmap-cell--hovered {
4247
+ transform: none;
4569
4248
  }
4570
- .c-chart__title {
4571
- color: black;
4249
+ .c-chart__candlestick-candle {
4250
+ transition: none;
4572
4251
  }
4573
- .c-chart__data-point {
4574
- stroke: black;
4575
- stroke-width: 2;
4252
+ .c-chart__candlestick-candle:hover {
4253
+ transform: none;
4576
4254
  }
4577
- .c-chart__crosshair line {
4578
- stroke: black;
4579
- opacity: 1;
4255
+ .c-chart__candlestick-wick {
4256
+ transition: none;
4580
4257
  }
4581
- .c-chart__zoom-indicator {
4582
- background: black;
4583
- color: white;
4584
- border: 2px solid white;
4258
+ .c-chart__candlestick-volume {
4259
+ transition: none;
4585
4260
  }
4586
- .c-chart .line-path {
4587
- stroke-width: 3 !important;
4261
+ .c-chart__empty {
4262
+ animation: none;
4588
4263
  }
4589
- .c-chart .bar {
4590
- stroke: black;
4591
- stroke-width: 2;
4264
+ .c-chart--loading .c-chart__content::after {
4265
+ animation: none;
4592
4266
  }
4593
- }
4594
- @media print {
4595
- .c-chart {
4596
- page-break-inside: avoid;
4597
- -moz-column-break-inside: avoid;
4598
- break-inside: avoid;
4599
- box-shadow: none;
4600
- border: 2px solid black;
4601
- background: white;
4267
+ .c-chart__waterfall-bar--animated {
4268
+ animation: none;
4602
4269
  }
4603
- .c-chart__toolbar {
4604
- display: none;
4270
+ .c-chart__canvas svg {
4271
+ animation: none;
4272
+ opacity: 1;
4605
4273
  }
4606
- .c-chart__crosshair, .c-chart__zoom-indicator, .c-chart__real-time-indicator {
4607
- display: none;
4274
+ }
4275
+ @keyframes chart-bar-appear {
4276
+ 0% {
4277
+ opacity: 0;
4278
+ transform: scaleY(0);
4608
4279
  }
4609
- .c-chart * {
4610
- animation: none !important;
4611
- transition: none !important;
4280
+ 100% {
4281
+ opacity: 1;
4282
+ transform: scaleY(1);
4612
4283
  }
4613
4284
  }
4614
4285
  .c-checkbox-group {
@@ -4732,23 +4403,50 @@ a, a:hover {
4732
4403
  cursor: pointer;
4733
4404
  padding: 0.5rem;
4734
4405
  border-radius: 50%;
4735
- transition: background-color 0.2s ease;
4406
+ transition: background-color 0.2s ease, opacity 0.2s ease;
4736
4407
  color: var(--atomix-body-color);
4737
4408
  }
4738
- .c-color-mode-toggle:hover {
4409
+ .c-color-mode-toggle:hover:not(:disabled) {
4739
4410
  background-color: rgba(0, 0, 0, 0.05);
4740
4411
  }
4741
- .c-color-mode-toggle:focus {
4412
+ .c-color-mode-toggle:focus-visible {
4742
4413
  outline: none;
4743
4414
  box-shadow: 0 0 0 2px var(--atomix-primary);
4744
4415
  }
4416
+ .c-color-mode-toggle:active:not(:disabled) {
4417
+ transform: scale(0.95);
4418
+ }
4745
4419
  .c-color-mode-toggle svg {
4746
- width: 1.5rem;
4747
- height: 1.5rem;
4420
+ display: block;
4421
+ transition: transform 0.2s ease;
4422
+ }
4423
+ .c-color-mode-toggle--sm {
4424
+ padding: 0.375rem;
4425
+ }
4426
+ .c-color-mode-toggle--md {
4427
+ padding: 0.5rem;
4428
+ }
4429
+ .c-color-mode-toggle--lg {
4430
+ padding: 0.625rem;
4431
+ }
4432
+ .c-color-mode-toggle--disabled, .c-color-mode-toggle:disabled {
4433
+ cursor: not-allowed;
4434
+ opacity: 0.5;
4748
4435
  }
4749
- [data-atomix-theme=dark] .c-color-mode-toggle:hover {
4436
+ [data-atomix-theme=dark] .c-color-mode-toggle:hover:not(:disabled) {
4750
4437
  background-color: rgba(255, 255, 255, 0.1);
4751
4438
  }
4439
+ @media (prefers-reduced-motion: reduce) {
4440
+ .c-color-mode-toggle {
4441
+ transition: none;
4442
+ }
4443
+ .c-color-mode-toggle svg {
4444
+ transition: none;
4445
+ }
4446
+ .c-color-mode-toggle:active:not(:disabled) {
4447
+ transform: none;
4448
+ }
4449
+ }
4752
4450
  .c-countdown {
4753
4451
  --atomix-countdown-color: var(--atomix-body-color);
4754
4452
  --atomix-countdown-font-size: 1rem;
@@ -4988,20 +4686,27 @@ a, a:hover {
4988
4686
  display: flex;
4989
4687
  opacity: 0;
4990
4688
  visibility: hidden;
4991
- transform-origin: top center;
4992
4689
  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);
4993
- transform: translateY(-15px) scale(0.95);
4994
4690
  pointer-events: none;
4691
+ }
4692
+ .c-dropdown__menu-wrapper:not(.is-glass) {
4995
4693
  will-change: transform, opacity, visibility;
4694
+ transform: translateY(-15px) scale(0.95);
4695
+ transform-origin: top center;
4996
4696
  }
4997
- .c-dropdown__menu-wrapper.is-open {
4697
+ .c-dropdown__menu-wrapper.is-open:not(.is-glass) {
4998
4698
  opacity: 1;
4999
4699
  transform: translateY(0) scale(1);
5000
4700
  visibility: visible;
5001
4701
  animation: atomix-dropdown-fade-in var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
5002
4702
  pointer-events: auto;
5003
4703
  }
5004
- .c-dropdown__menu-wrapper:not(.is-open) {
4704
+ .c-dropdown__menu-wrapper.is-open.is-glass {
4705
+ opacity: 1;
4706
+ visibility: visible;
4707
+ pointer-events: auto;
4708
+ }
4709
+ .c-dropdown__menu-wrapper:not(.is-open):not(.is-glass) {
5005
4710
  animation: atomix-dropdown-fade-out var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
5006
4711
  }
5007
4712
  .c-dropdown__menu-wrapper--bottom-start {
@@ -5522,22 +5227,41 @@ a, a:hover {
5522
5227
  --atomix-footer-padding-x: 1rem;
5523
5228
  --atomix-footer-padding-y: 3rem;
5524
5229
  --atomix-footer-container-max-width: 1200px;
5525
- --atomix-footer-bg: var(--atomix-surface);
5526
- --atomix-footer-color: var(--atomix-text);
5230
+ --atomix-footer-bg: var(--atomix-primary-bg);
5231
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
5527
5232
  --atomix-footer-border-width: 1px;
5528
- --atomix-footer-border-color: var(--atomix-border);
5233
+ --atomix-footer-border-color: var(--atomix-primary-border-subtle);
5529
5234
  --atomix-footer-brand-margin-bottom: 1.5rem;
5530
5235
  --atomix-footer-section-margin-bottom: 2rem;
5531
5236
  --atomix-footer-social-gap: 0.75rem;
5532
5237
  --atomix-footer-newsletter-padding: 1.5rem;
5533
5238
  --atomix-footer-bottom-padding-top: 1.5rem;
5534
5239
  --atomix-footer-bottom-margin-top: 2rem;
5240
+ --atomix-footer-brand-logo-margin-bottom: 1rem;
5241
+ --atomix-footer-brand-logo-hover-opacity: 0.8;
5242
+ --atomix-footer-section-header-gap: 0.5rem;
5243
+ --atomix-footer-section-toggle-padding: 0.75rem 0;
5244
+ --atomix-footer-bg-rgb: var(--atomix-primary-bg);
5245
+ --atomix-disabled-opacity: 0.6;
5535
5246
  background-color: var(--atomix-footer-bg);
5536
5247
  color: var(--atomix-footer-color);
5537
5248
  border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
5538
5249
  padding: var(--atomix-footer-padding-y) 0;
5539
5250
  position: relative;
5540
5251
  }
5252
+ .c-footer--glass {
5253
+ padding: 0;
5254
+ margin: 0;
5255
+ border-radius: 0;
5256
+ box-shadow: none;
5257
+ background: transparent;
5258
+ }
5259
+ .c-footer--glass .c-footer__glass {
5260
+ background-color: rgba(var(--atomix-footer-bg-rgb), 0.5, true);
5261
+ color: var(--atomix-footer-color);
5262
+ border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
5263
+ padding: var(--atomix-footer-padding-y) 0;
5264
+ }
5541
5265
  .c-footer__container {
5542
5266
  display: flex;
5543
5267
  flex-direction: column;
@@ -5547,28 +5271,42 @@ a, a:hover {
5547
5271
  padding: 0 var(--atomix-footer-padding-x);
5548
5272
  }
5549
5273
  .c-footer__sections {
5550
- display: grid;
5551
- grid-gap: var(--atomix-footer-section-margin-bottom);
5552
- gap: var(--atomix-footer-section-margin-bottom);
5553
5274
  margin-bottom: var(--atomix-footer-bottom-margin-top);
5554
- grid-template-columns: 1fr;
5275
+ width: 100%;
5276
+ max-width: var(--atomix-footer-container-max-width);
5277
+ margin-left: auto;
5278
+ margin-right: auto;
5555
5279
  }
5556
- @media (min-width: 768px) {
5557
- .c-footer__sections {
5558
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
5559
- gap: clamp(2rem, 4vw, 3rem);
5560
- }
5280
+ .c-footer__sections--centered {
5281
+ justify-content: center;
5282
+ align-items: center;
5283
+ }
5284
+ .c-footer__sections--stacked {
5285
+ display: flex;
5286
+ flex-direction: column;
5287
+ align-items: center;
5288
+ text-align: center;
5289
+ gap: clamp(1.5rem, 4vw, 2.5rem);
5290
+ max-width: 600px;
5291
+ margin-left: auto;
5292
+ margin-right: auto;
5561
5293
  }
5562
5294
  .c-footer__brand {
5295
+ grid-area: brand;
5563
5296
  margin-bottom: var(--atomix-footer-brand-margin-bottom);
5564
5297
  }
5298
+ @media (min-width: 768px) {
5299
+ .c-footer__brand {
5300
+ margin-bottom: 0;
5301
+ }
5302
+ }
5565
5303
  .c-footer__brand-logo {
5566
5304
  display: inline-block;
5567
- margin-bottom: 1rem;
5305
+ margin-bottom: var(--atomix-footer-brand-logo-margin-bottom);
5568
5306
  transition: opacity 0.2s ease;
5569
5307
  }
5570
5308
  .c-footer__brand-logo:hover {
5571
- opacity: 0.8;
5309
+ opacity: var(--atomix-footer-brand-logo-hover-opacity);
5572
5310
  }
5573
5311
  .c-footer__brand-logo img {
5574
5312
  max-width: 200px;
@@ -5581,18 +5319,23 @@ a, a:hover {
5581
5319
  margin: 0;
5582
5320
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
5583
5321
  font-weight: 600;
5584
- color: var(--atomix-text-emphasis);
5322
+ color: var(--atomix-primary-text-emphasis);
5585
5323
  line-height: 1.2;
5586
5324
  }
5587
5325
  .c-footer__brand-description {
5588
5326
  margin-top: 0.5rem;
5589
5327
  font-size: 0.875rem;
5590
- color: var(--atomix-text-muted);
5328
+ color: var(--atomix-secondary-text-emphasis);
5591
5329
  line-height: 1.6;
5592
5330
  max-width: 35ch;
5593
5331
  }
5594
5332
  .c-footer__section {
5595
- margin-bottom: var(--atomix-footer-section-margin-bottom);
5333
+ margin-bottom: 0;
5334
+ }
5335
+ @media (max-width: 575.98px) {
5336
+ .c-footer__section {
5337
+ margin-bottom: var(--atomix-footer-section-margin-bottom);
5338
+ }
5596
5339
  }
5597
5340
  .c-footer__section-header {
5598
5341
  margin-bottom: 1rem;
@@ -5600,14 +5343,14 @@ a, a:hover {
5600
5343
  .c-footer__section-header-content {
5601
5344
  display: flex;
5602
5345
  align-items: center;
5603
- gap: 0.5rem;
5346
+ gap: var(--atomix-footer-section-header-gap);
5604
5347
  }
5605
5348
  .c-footer__section-toggle {
5606
5349
  display: flex;
5607
5350
  align-items: center;
5608
5351
  justify-content: space-between;
5609
5352
  width: 100%;
5610
- padding: 0.75rem 0;
5353
+ padding: var(--atomix-footer-section-toggle-padding);
5611
5354
  background: none;
5612
5355
  border: none;
5613
5356
  cursor: pointer;
@@ -5626,9 +5369,10 @@ a, a:hover {
5626
5369
  }
5627
5370
  .c-footer__section-title {
5628
5371
  margin: 0;
5372
+ width: 100%;
5629
5373
  font-size: 1.125rem;
5630
5374
  font-weight: 600;
5631
- color: var(--atomix-text-emphasis);
5375
+ color: var(--atomix-primary-text-emphasis);
5632
5376
  line-height: 1.3;
5633
5377
  }
5634
5378
  .c-footer__section-icon {
@@ -5640,7 +5384,7 @@ a, a:hover {
5640
5384
  .c-footer__section-chevron {
5641
5385
  font-size: 0.875rem;
5642
5386
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5643
- color: var(--atomix-text-muted);
5387
+ color: var(--atomix-gray-6);
5644
5388
  }
5645
5389
  .c-footer__section-content {
5646
5390
  display: flex;
@@ -5675,9 +5419,9 @@ a, a:hover {
5675
5419
  align-items: center;
5676
5420
  gap: 0.5rem;
5677
5421
  padding: 0.25rem 0;
5678
- color: var(--atomix-text);
5422
+ color: var(--atomix-primary-text-emphasis);
5679
5423
  text-decoration: none;
5680
- transition: color 0.15s ease-in-out;
5424
+ transition: all 0.15s ease-in-out;
5681
5425
  border-radius: 0.25rem;
5682
5426
  position: relative;
5683
5427
  }
@@ -5693,7 +5437,7 @@ a, a:hover {
5693
5437
  }
5694
5438
  .c-footer__link:hover, .c-footer__link:focus {
5695
5439
  color: var(--atomix-primary);
5696
- text-decoration: underline;
5440
+ text-decoration: none;
5697
5441
  }
5698
5442
  .c-footer__link:hover::before, .c-footer__link:focus::before {
5699
5443
  width: 100%;
@@ -5710,10 +5454,10 @@ a, a:hover {
5710
5454
  width: 100%;
5711
5455
  }
5712
5456
  .c-footer__link--disabled {
5713
- color: var(--atomix-text-disabled);
5457
+ color: var(--atomix-disabled-text-emphasis);
5714
5458
  cursor: not-allowed;
5715
5459
  pointer-events: none;
5716
- opacity: 0.6;
5460
+ opacity: var(--atomix-disabled-opacity);
5717
5461
  }
5718
5462
  .c-footer__link-icon {
5719
5463
  display: flex;
@@ -5744,11 +5488,11 @@ a, a:hover {
5744
5488
  justify-content: center;
5745
5489
  width: 2.5rem;
5746
5490
  height: 2.5rem;
5747
- background-color: var(--atomix-surface-variant);
5748
- color: var(--atomix-text);
5491
+ background-color: var(--atomix-secondary-bg-subtle);
5492
+ color: var(--atomix-primary-text-emphasis);
5749
5493
  border-radius: 50%;
5750
5494
  text-decoration: none;
5751
- transition: all 0.15s ease-in-out;
5495
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5752
5496
  position: relative;
5753
5497
  overflow: hidden;
5754
5498
  }
@@ -5762,7 +5506,7 @@ a, a:hover {
5762
5506
  }
5763
5507
  .c-footer__social-link:hover, .c-footer__social-link:focus {
5764
5508
  background-color: var(--atomix-primary);
5765
- color: var(--atomix-primary-contrast);
5509
+ color: var(--atomix-component-active-color);
5766
5510
  transform: translateY(-3px) scale(1.05);
5767
5511
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
5768
5512
  }
@@ -5782,7 +5526,7 @@ a, a:hover {
5782
5526
  height: 3rem;
5783
5527
  }
5784
5528
  .c-footer__social-link--disabled {
5785
- opacity: 0.5;
5529
+ opacity: var(--atomix-disabled-opacity);
5786
5530
  cursor: not-allowed;
5787
5531
  pointer-events: none;
5788
5532
  }
@@ -5829,7 +5573,7 @@ a, a:hover {
5829
5573
  background: linear-gradient(135deg, #25d366, #66bb6a);
5830
5574
  }
5831
5575
  .c-footer__newsletter {
5832
- background-color: linear-gradient(135deg, var(--atomix-surface-variant), rgba(var(--atomix-surface-variant), 0.8));
5576
+ background-color: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
5833
5577
  padding: 1.5rem;
5834
5578
  border-radius: 0.5rem;
5835
5579
  border: 1px solid var(--atomix-border-subtle);
@@ -5849,20 +5593,24 @@ a, a:hover {
5849
5593
  margin: 0 0 0.5rem 0;
5850
5594
  font-size: clamp(1.125rem, 2vw, 1.125rem);
5851
5595
  font-weight: 600;
5852
- color: var(--atomix-text-emphasis);
5596
+ color: var(--atomix-primary-text-emphasis);
5853
5597
  line-height: 1.3;
5854
5598
  }
5855
5599
  .c-footer__newsletter-description {
5856
5600
  margin: 0 0 1rem 0;
5857
5601
  font-size: 0.875rem;
5858
- color: var(--atomix-text-muted);
5602
+ color: var(--atomix-secondary-text-emphasis);
5859
5603
  line-height: 1.6;
5860
5604
  max-width: 45ch;
5605
+ width: 100%;
5606
+ box-sizing: border-box;
5861
5607
  }
5862
5608
  .c-footer__newsletter-form {
5863
5609
  display: flex;
5864
5610
  gap: 0.75rem;
5865
5611
  align-items: flex-end;
5612
+ width: 100%;
5613
+ max-width: 100%;
5866
5614
  }
5867
5615
  @media (max-width: 575.98px) {
5868
5616
  .c-footer__newsletter-form {
@@ -5885,12 +5633,13 @@ a, a:hover {
5885
5633
  flex: 1 1;
5886
5634
  padding: 0.75rem 1rem;
5887
5635
  font-size: 0.875rem;
5888
- background-color: var(--atomix-surface);
5889
- color: var(--atomix-text);
5890
- border: 1px solid var(--atomix-border);
5636
+ background-color: var(--atomix-primary-bg-subtle);
5637
+ color: var(--atomix-primary-text-emphasis);
5638
+ border: 1px solid var(--atomix-primary-border);
5891
5639
  border-radius: 0.375rem;
5892
5640
  outline: none;
5893
5641
  transition: all 0.3s ease;
5642
+ box-sizing: border-box;
5894
5643
  }
5895
5644
  .c-footer__newsletter-input:focus {
5896
5645
  border-color: var(--atomix-primary);
@@ -5898,12 +5647,12 @@ a, a:hover {
5898
5647
  transform: translateY(-1px);
5899
5648
  }
5900
5649
  .c-footer__newsletter-input::-moz-placeholder {
5901
- color: var(--atomix-text-muted);
5650
+ color: var(--atomix-gray-6);
5902
5651
  -moz-transition: opacity 0.3s ease;
5903
5652
  transition: opacity 0.3s ease;
5904
5653
  }
5905
5654
  .c-footer__newsletter-input::placeholder {
5906
- color: var(--atomix-text-muted);
5655
+ color: var(--atomix-gray-6);
5907
5656
  transition: opacity 0.3s ease;
5908
5657
  }
5909
5658
  .c-footer__newsletter-input:focus::-moz-placeholder {
@@ -5914,13 +5663,13 @@ a, a:hover {
5914
5663
  }
5915
5664
  .c-footer__newsletter-button {
5916
5665
  padding: 0.75rem 1.5rem;
5917
- background-color: var(--atomix-primary);
5918
- color: var(--atomix-primary-contrast);
5666
+ background-color: var(--atomix-brand-bg-subtle);
5667
+ color: var(--atomix-brand-text-emphasis);
5919
5668
  border: none;
5920
5669
  border-radius: 0.375rem;
5921
5670
  font-weight: 500;
5922
5671
  cursor: pointer;
5923
- transition: background-color 0.15s ease-in-out;
5672
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5924
5673
  white-space: nowrap;
5925
5674
  position: relative;
5926
5675
  overflow: hidden;
@@ -5934,7 +5683,7 @@ a, a:hover {
5934
5683
  transition: transform 0.6s ease;
5935
5684
  }
5936
5685
  .c-footer__newsletter-button:hover, .c-footer__newsletter-button:focus {
5937
- background-color: var(--atomix-primary-hover);
5686
+ background-color: var(--atomix-secondary-bg-subtle);
5938
5687
  transform: translateY(-2px);
5939
5688
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
5940
5689
  }
@@ -5950,7 +5699,7 @@ a, a:hover {
5950
5699
  align-items: center;
5951
5700
  justify-content: space-between;
5952
5701
  padding-top: var(--atomix-footer-bottom-padding-top);
5953
- border-top: 1px solid var(--atomix-border);
5702
+ border-top: 1px solid var(--atomix-primary-border-subtle);
5954
5703
  position: relative;
5955
5704
  }
5956
5705
  @media (max-width: 575.98px) {
@@ -5962,7 +5711,7 @@ a, a:hover {
5962
5711
  }
5963
5712
  .c-footer__copyright {
5964
5713
  font-size: 0.875rem;
5965
- color: var(--atomix-text-muted);
5714
+ color: var(--atomix-tertiary-text-emphasis);
5966
5715
  line-height: 1.5;
5967
5716
  }
5968
5717
  .c-footer__copyright a {
@@ -5979,16 +5728,18 @@ a, a:hover {
5979
5728
  align-items: center;
5980
5729
  gap: 0.5rem;
5981
5730
  padding: 0.75rem 1.25rem;
5982
- background-color: var(--atomix-surface-variant);
5731
+ background-color: var(--atomix-secondary-bg);
5983
5732
  border: 1px solid var(--atomix-border-subtle);
5984
- color: var(--atomix-text);
5733
+ color: var(--atomix-primary-text-emphasis);
5985
5734
  font-size: 0.875rem;
5986
5735
  font-weight: 500;
5987
5736
  cursor: pointer;
5988
- transition: color 0.15s ease-in-out;
5737
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
5989
5738
  border-radius: 2rem;
5990
5739
  position: relative;
5991
5740
  overflow: hidden;
5741
+ text-decoration: none;
5742
+ outline: none;
5992
5743
  }
5993
5744
  .c-footer__back-to-top::before {
5994
5745
  content: "";
@@ -5996,14 +5747,14 @@ a, a:hover {
5996
5747
  inset: 0;
5997
5748
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
5998
5749
  transform: translateX(-100%);
5999
- transition: transform 0.6s ease;
5750
+ transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
6000
5751
  }
6001
5752
  .c-footer__back-to-top:hover, .c-footer__back-to-top:focus {
6002
- color: var(--atomix-primary);
5753
+ color: var(--atomix-secondary-text-emphasis);
6003
5754
  background-color: var(--atomix-primary);
6004
5755
  border-color: var(--atomix-primary);
6005
- transform: translateY(-2px);
6006
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
5756
+ transform: translateY(-3px);
5757
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
6007
5758
  }
6008
5759
  .c-footer__back-to-top:hover::before, .c-footer__back-to-top:focus::before {
6009
5760
  transform: translateX(100%);
@@ -6011,6 +5762,10 @@ a, a:hover {
6011
5762
  .c-footer__back-to-top:hover .c-footer__back-to-top-icon, .c-footer__back-to-top:focus .c-footer__back-to-top-icon {
6012
5763
  transform: translateY(-2px);
6013
5764
  }
5765
+ .c-footer__back-to-top:active {
5766
+ transform: translateY(-1px);
5767
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
5768
+ }
6014
5769
  .c-footer__back-to-top:focus-visible {
6015
5770
  outline: 2px solid var(--atomix-primary);
6016
5771
  outline-offset: 2px;
@@ -6018,7 +5773,7 @@ a, a:hover {
6018
5773
  .c-footer__back-to-top-icon {
6019
5774
  font-size: 1.25em;
6020
5775
  font-weight: bold;
6021
- transition: transform 0.3s ease;
5776
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6022
5777
  }
6023
5778
  @media (max-width: 575.98px) {
6024
5779
  .c-footer__back-to-top-text {
@@ -6029,30 +5784,12 @@ a, a:hover {
6029
5784
  margin: 2rem 0;
6030
5785
  border: none;
6031
5786
  height: 1px;
6032
- background: linear-gradient(90deg, transparent, 1px solid var(--atomix-border), transparent);
5787
+ background: linear-gradient(90deg, transparent, 1px solid var(--atomix-primary-border-subtle), transparent);
6033
5788
  opacity: 0.5;
6034
5789
  }
6035
- @media (min-width: 768px) {
6036
- .c-footer--columns .c-footer__sections {
6037
- display: grid;
6038
- grid-template-columns: minmax(300px, 1fr) 2fr minmax(250px, 1fr);
6039
- grid-gap: clamp(2rem, 5vw, 4rem);
6040
- gap: clamp(2rem, 5vw, 4rem);
6041
- align-items: start;
6042
- }
6043
- }
6044
- @media (min-width: 992px) {
6045
- .c-footer--columns .c-footer__sections {
6046
- grid-template-columns: minmax(350px, 1fr) 3fr minmax(300px, 1fr);
6047
- }
6048
- }
6049
5790
  .c-footer--centered {
6050
5791
  text-align: center;
6051
5792
  }
6052
- .c-footer--centered .c-footer__sections {
6053
- justify-content: center;
6054
- align-items: center;
6055
- }
6056
5793
  .c-footer--centered .c-footer__social {
6057
5794
  justify-content: center;
6058
5795
  }
@@ -6062,13 +5799,14 @@ a, a:hover {
6062
5799
  }
6063
5800
  .c-footer--minimal {
6064
5801
  --atomix-footer-padding-y: 2rem;
5802
+ --atomix-footer-social-gap: 0.75;
6065
5803
  }
6066
5804
  .c-footer--minimal .c-footer__sections {
6067
5805
  margin-bottom: 1rem;
6068
5806
  gap: 1.5rem;
6069
5807
  }
6070
5808
  .c-footer--minimal .c-footer__section {
6071
- margin-bottom: 1rem;
5809
+ margin-bottom: 0;
6072
5810
  }
6073
5811
  .c-footer--minimal .c-footer__newsletter {
6074
5812
  padding: 1.5rem;
@@ -6083,15 +5821,26 @@ a, a:hover {
6083
5821
  margin-left: auto;
6084
5822
  margin-right: auto;
6085
5823
  }
5824
+ .c-footer--flexible .c-footer__section-col {
5825
+ flex: 1 1 auto;
5826
+ min-width: 250px;
5827
+ }
5828
+ .c-footer--sidebar .c-footer__sections--columns {
5829
+ align-items: flex-start;
5830
+ }
5831
+ .c-footer--wide .c-footer__sections {
5832
+ max-width: 100%;
5833
+ padding: 0 1rem;
5834
+ }
6086
5835
  .c-footer--sm {
6087
5836
  --atomix-footer-padding-y: 2rem;
6088
5837
  --atomix-footer-section-margin-bottom: 1.5rem;
6089
- --atomix-footer-brand-margin-bottom: 1rem;
6090
5838
  --atomix-footer-social-gap: 0.75rem;
6091
5839
  }
6092
5840
  .c-footer--md {
6093
5841
  --atomix-footer-padding-y: 3rem;
6094
5842
  --atomix-footer-section-margin-bottom: 2rem;
5843
+ --atomix-footer-social-gap: 1rem;
6095
5844
  }
6096
5845
  .c-footer--lg {
6097
5846
  --atomix-footer-padding-y: 4rem;
@@ -6105,7 +5854,7 @@ a, a:hover {
6105
5854
  .c-footer--primary {
6106
5855
  --atomix-footer-bg: var(--atomix-primary-bg-subtle);
6107
5856
  --atomix-footer-border-color: var(--atomix-primary-border-subtle);
6108
- --atomix-footer-color: var(--atomix-primary-text);
5857
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
6109
5858
  }
6110
5859
  .c-footer--primary .c-footer__brand-name h3,
6111
5860
  .c-footer--primary .c-footer__section-title {
@@ -6113,10 +5862,10 @@ a, a:hover {
6113
5862
  }
6114
5863
  .c-footer--primary .c-footer__brand-description,
6115
5864
  .c-footer--primary .c-footer__copyright {
6116
- color: var(--atomix-primary-text-muted);
5865
+ color: var(--atomix-gray-6);
6117
5866
  }
6118
5867
  .c-footer--primary .c-footer__link {
6119
- color: var(--atomix-primary-text);
5868
+ color: var(--atomix-primary-text-emphasis);
6120
5869
  }
6121
5870
  .c-footer--primary .c-footer__link:hover, .c-footer--primary .c-footer__link:focus {
6122
5871
  color: var(--atomix-primary);
@@ -6125,8 +5874,8 @@ a, a:hover {
6125
5874
  background-color: var(--atomix-primary);
6126
5875
  }
6127
5876
  .c-footer--primary .c-footer__newsletter {
6128
- background: linear-gradient(135deg, var(--atomix-primary-bg), rgba(var(--atomix-primary-bg-rgb), 0.8));
6129
- border-color: var(--atomix-primary-border);
5877
+ background: linear-gradient(135deg, var(--atomix-primary-bg-subtle), rgba(var(--atomix-primary-bg-subtle), 0.8));
5878
+ border-color: var(--atomix-primary-border-subtle);
6130
5879
  }
6131
5880
  .c-footer--primary .c-footer__newsletter::before {
6132
5881
  background: linear-gradient(90deg, transparent, var(--atomix-primary), transparent);
@@ -6134,7 +5883,7 @@ a, a:hover {
6134
5883
  .c-footer--secondary {
6135
5884
  --atomix-footer-bg: var(--atomix-secondary-bg-subtle);
6136
5885
  --atomix-footer-border-color: var(--atomix-secondary-border-subtle);
6137
- --atomix-footer-color: var(--atomix-secondary-text);
5886
+ --atomix-footer-color: var(--atomix-secondary-text-emphasis);
6138
5887
  }
6139
5888
  .c-footer--secondary .c-footer__brand-name h3,
6140
5889
  .c-footer--secondary .c-footer__section-title {
@@ -6142,10 +5891,10 @@ a, a:hover {
6142
5891
  }
6143
5892
  .c-footer--secondary .c-footer__brand-description,
6144
5893
  .c-footer--secondary .c-footer__copyright {
6145
- color: var(--atomix-secondary-text-muted);
5894
+ color: var(--atomix-gray-6);
6146
5895
  }
6147
5896
  .c-footer--secondary .c-footer__link {
6148
- color: var(--atomix-secondary-text);
5897
+ color: var(--atomix-secondary-text-emphasis);
6149
5898
  }
6150
5899
  .c-footer--secondary .c-footer__link:hover, .c-footer--secondary .c-footer__link:focus {
6151
5900
  color: var(--atomix-secondary);
@@ -6154,8 +5903,8 @@ a, a:hover {
6154
5903
  background-color: var(--atomix-secondary);
6155
5904
  }
6156
5905
  .c-footer--secondary .c-footer__newsletter {
6157
- background: linear-gradient(135deg, var(--atomix-secondary-bg), rgba(var(--atomix-secondary-bg-rgb), 0.8));
6158
- border-color: var(--atomix-secondary-border);
5906
+ background: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
5907
+ border-color: var(--atomix-secondary-border-subtle);
6159
5908
  }
6160
5909
  .c-footer--secondary .c-footer__newsletter::before {
6161
5910
  background: linear-gradient(90deg, transparent, var(--atomix-secondary), transparent);
@@ -6163,7 +5912,7 @@ a, a:hover {
6163
5912
  .c-footer--tertiary {
6164
5913
  --atomix-footer-bg: var(--atomix-tertiary-bg-subtle);
6165
5914
  --atomix-footer-border-color: var(--atomix-tertiary-border-subtle);
6166
- --atomix-footer-color: var(--atomix-tertiary-text);
5915
+ --atomix-footer-color: var(--atomix-tertiary-text-emphasis);
6167
5916
  }
6168
5917
  .c-footer--tertiary .c-footer__brand-name h3,
6169
5918
  .c-footer--tertiary .c-footer__section-title {
@@ -6171,10 +5920,10 @@ a, a:hover {
6171
5920
  }
6172
5921
  .c-footer--tertiary .c-footer__brand-description,
6173
5922
  .c-footer--tertiary .c-footer__copyright {
6174
- color: var(--atomix-tertiary-text-muted);
5923
+ color: var(--atomix-gray-6);
6175
5924
  }
6176
5925
  .c-footer--tertiary .c-footer__link {
6177
- color: var(--atomix-tertiary-text);
5926
+ color: var(--atomix-tertiary-text-emphasis);
6178
5927
  }
6179
5928
  .c-footer--tertiary .c-footer__link:hover, .c-footer--tertiary .c-footer__link:focus {
6180
5929
  color: var(--atomix-tertiary);
@@ -6183,8 +5932,8 @@ a, a:hover {
6183
5932
  background-color: var(--atomix-tertiary);
6184
5933
  }
6185
5934
  .c-footer--tertiary .c-footer__newsletter {
6186
- background: linear-gradient(135deg, var(--atomix-tertiary-bg), rgba(var(--atomix-tertiary-bg-rgb), 0.8));
6187
- border-color: var(--atomix-tertiary-border);
5935
+ background: linear-gradient(135deg, var(--atomix-tertiary-bg-subtle), rgba(var(--atomix-tertiary-bg-subtle), 0.8));
5936
+ border-color: var(--atomix-tertiary-border-subtle);
6188
5937
  }
6189
5938
  .c-footer--tertiary .c-footer__newsletter::before {
6190
5939
  background: linear-gradient(90deg, transparent, var(--atomix-tertiary), transparent);
@@ -6192,7 +5941,7 @@ a, a:hover {
6192
5941
  .c-footer--invert {
6193
5942
  --atomix-footer-bg: var(--atomix-invert-bg-subtle);
6194
5943
  --atomix-footer-border-color: var(--atomix-invert-border-subtle);
6195
- --atomix-footer-color: var(--atomix-invert-text);
5944
+ --atomix-footer-color: var(--atomix-invert-text-emphasis);
6196
5945
  }
6197
5946
  .c-footer--invert .c-footer__brand-name h3,
6198
5947
  .c-footer--invert .c-footer__section-title {
@@ -6200,10 +5949,10 @@ a, a:hover {
6200
5949
  }
6201
5950
  .c-footer--invert .c-footer__brand-description,
6202
5951
  .c-footer--invert .c-footer__copyright {
6203
- color: var(--atomix-invert-text-muted);
5952
+ color: var(--atomix-gray-6);
6204
5953
  }
6205
5954
  .c-footer--invert .c-footer__link {
6206
- color: var(--atomix-invert-text);
5955
+ color: var(--atomix-invert-text-emphasis);
6207
5956
  }
6208
5957
  .c-footer--invert .c-footer__link:hover, .c-footer--invert .c-footer__link:focus {
6209
5958
  color: var(--atomix-invert);
@@ -6212,8 +5961,8 @@ a, a:hover {
6212
5961
  background-color: var(--atomix-invert);
6213
5962
  }
6214
5963
  .c-footer--invert .c-footer__newsletter {
6215
- background: linear-gradient(135deg, var(--atomix-invert-bg), rgba(var(--atomix-invert-bg-rgb), 0.8));
6216
- border-color: var(--atomix-invert-border);
5964
+ background: linear-gradient(135deg, var(--atomix-invert-bg-subtle), rgba(var(--atomix-invert-bg-subtle), 0.8));
5965
+ border-color: var(--atomix-invert-border-subtle);
6217
5966
  }
6218
5967
  .c-footer--invert .c-footer__newsletter::before {
6219
5968
  background: linear-gradient(90deg, transparent, var(--atomix-invert), transparent);
@@ -6221,7 +5970,7 @@ a, a:hover {
6221
5970
  .c-footer--brand {
6222
5971
  --atomix-footer-bg: var(--atomix-brand-bg-subtle);
6223
5972
  --atomix-footer-border-color: var(--atomix-brand-border-subtle);
6224
- --atomix-footer-color: var(--atomix-brand-text);
5973
+ --atomix-footer-color: var(--atomix-brand-text-emphasis);
6225
5974
  }
6226
5975
  .c-footer--brand .c-footer__brand-name h3,
6227
5976
  .c-footer--brand .c-footer__section-title {
@@ -6229,10 +5978,10 @@ a, a:hover {
6229
5978
  }
6230
5979
  .c-footer--brand .c-footer__brand-description,
6231
5980
  .c-footer--brand .c-footer__copyright {
6232
- color: var(--atomix-brand-text-muted);
5981
+ color: var(--atomix-gray-6);
6233
5982
  }
6234
5983
  .c-footer--brand .c-footer__link {
6235
- color: var(--atomix-brand-text);
5984
+ color: var(--atomix-brand-text-emphasis);
6236
5985
  }
6237
5986
  .c-footer--brand .c-footer__link:hover, .c-footer--brand .c-footer__link:focus {
6238
5987
  color: var(--atomix-brand);
@@ -6241,8 +5990,8 @@ a, a:hover {
6241
5990
  background-color: var(--atomix-brand);
6242
5991
  }
6243
5992
  .c-footer--brand .c-footer__newsletter {
6244
- background: linear-gradient(135deg, var(--atomix-brand-bg), rgba(var(--atomix-brand-bg-rgb), 0.8));
6245
- border-color: var(--atomix-brand-border);
5993
+ background: linear-gradient(135deg, var(--atomix-brand-bg-subtle), rgba(var(--atomix-brand-bg-subtle), 0.8));
5994
+ border-color: var(--atomix-brand-border-subtle);
6246
5995
  }
6247
5996
  .c-footer--brand .c-footer__newsletter::before {
6248
5997
  background: linear-gradient(90deg, transparent, var(--atomix-brand), transparent);
@@ -6250,7 +5999,7 @@ a, a:hover {
6250
5999
  .c-footer--error {
6251
6000
  --atomix-footer-bg: var(--atomix-error-bg-subtle);
6252
6001
  --atomix-footer-border-color: var(--atomix-error-border-subtle);
6253
- --atomix-footer-color: var(--atomix-error-text);
6002
+ --atomix-footer-color: var(--atomix-error-text-emphasis);
6254
6003
  }
6255
6004
  .c-footer--error .c-footer__brand-name h3,
6256
6005
  .c-footer--error .c-footer__section-title {
@@ -6258,10 +6007,10 @@ a, a:hover {
6258
6007
  }
6259
6008
  .c-footer--error .c-footer__brand-description,
6260
6009
  .c-footer--error .c-footer__copyright {
6261
- color: var(--atomix-error-text-muted);
6010
+ color: var(--atomix-gray-6);
6262
6011
  }
6263
6012
  .c-footer--error .c-footer__link {
6264
- color: var(--atomix-error-text);
6013
+ color: var(--atomix-error-text-emphasis);
6265
6014
  }
6266
6015
  .c-footer--error .c-footer__link:hover, .c-footer--error .c-footer__link:focus {
6267
6016
  color: var(--atomix-error);
@@ -6270,8 +6019,8 @@ a, a:hover {
6270
6019
  background-color: var(--atomix-error);
6271
6020
  }
6272
6021
  .c-footer--error .c-footer__newsletter {
6273
- background: linear-gradient(135deg, var(--atomix-error-bg), rgba(var(--atomix-error-bg-rgb), 0.8));
6274
- border-color: var(--atomix-error-border);
6022
+ background: linear-gradient(135deg, var(--atomix-error-bg-subtle), rgba(var(--atomix-error-bg-subtle), 0.8));
6023
+ border-color: var(--atomix-error-border-subtle);
6275
6024
  }
6276
6025
  .c-footer--error .c-footer__newsletter::before {
6277
6026
  background: linear-gradient(90deg, transparent, var(--atomix-error), transparent);
@@ -6279,7 +6028,7 @@ a, a:hover {
6279
6028
  .c-footer--success {
6280
6029
  --atomix-footer-bg: var(--atomix-success-bg-subtle);
6281
6030
  --atomix-footer-border-color: var(--atomix-success-border-subtle);
6282
- --atomix-footer-color: var(--atomix-success-text);
6031
+ --atomix-footer-color: var(--atomix-success-text-emphasis);
6283
6032
  }
6284
6033
  .c-footer--success .c-footer__brand-name h3,
6285
6034
  .c-footer--success .c-footer__section-title {
@@ -6287,10 +6036,10 @@ a, a:hover {
6287
6036
  }
6288
6037
  .c-footer--success .c-footer__brand-description,
6289
6038
  .c-footer--success .c-footer__copyright {
6290
- color: var(--atomix-success-text-muted);
6039
+ color: var(--atomix-gray-6);
6291
6040
  }
6292
6041
  .c-footer--success .c-footer__link {
6293
- color: var(--atomix-success-text);
6042
+ color: var(--atomix-success-text-emphasis);
6294
6043
  }
6295
6044
  .c-footer--success .c-footer__link:hover, .c-footer--success .c-footer__link:focus {
6296
6045
  color: var(--atomix-success);
@@ -6299,8 +6048,8 @@ a, a:hover {
6299
6048
  background-color: var(--atomix-success);
6300
6049
  }
6301
6050
  .c-footer--success .c-footer__newsletter {
6302
- background: linear-gradient(135deg, var(--atomix-success-bg), rgba(var(--atomix-success-bg-rgb), 0.8));
6303
- border-color: var(--atomix-success-border);
6051
+ background: linear-gradient(135deg, var(--atomix-success-bg-subtle), rgba(var(--atomix-success-bg-subtle), 0.8));
6052
+ border-color: var(--atomix-success-border-subtle);
6304
6053
  }
6305
6054
  .c-footer--success .c-footer__newsletter::before {
6306
6055
  background: linear-gradient(90deg, transparent, var(--atomix-success), transparent);
@@ -6308,7 +6057,7 @@ a, a:hover {
6308
6057
  .c-footer--warning {
6309
6058
  --atomix-footer-bg: var(--atomix-warning-bg-subtle);
6310
6059
  --atomix-footer-border-color: var(--atomix-warning-border-subtle);
6311
- --atomix-footer-color: var(--atomix-warning-text);
6060
+ --atomix-footer-color: var(--atomix-warning-text-emphasis);
6312
6061
  }
6313
6062
  .c-footer--warning .c-footer__brand-name h3,
6314
6063
  .c-footer--warning .c-footer__section-title {
@@ -6316,10 +6065,10 @@ a, a:hover {
6316
6065
  }
6317
6066
  .c-footer--warning .c-footer__brand-description,
6318
6067
  .c-footer--warning .c-footer__copyright {
6319
- color: var(--atomix-warning-text-muted);
6068
+ color: var(--atomix-gray-6);
6320
6069
  }
6321
6070
  .c-footer--warning .c-footer__link {
6322
- color: var(--atomix-warning-text);
6071
+ color: var(--atomix-warning-text-emphasis);
6323
6072
  }
6324
6073
  .c-footer--warning .c-footer__link:hover, .c-footer--warning .c-footer__link:focus {
6325
6074
  color: var(--atomix-warning);
@@ -6328,8 +6077,8 @@ a, a:hover {
6328
6077
  background-color: var(--atomix-warning);
6329
6078
  }
6330
6079
  .c-footer--warning .c-footer__newsletter {
6331
- background: linear-gradient(135deg, var(--atomix-warning-bg), rgba(var(--atomix-warning-bg-rgb), 0.8));
6332
- border-color: var(--atomix-warning-border);
6080
+ background: linear-gradient(135deg, var(--atomix-warning-bg-subtle), rgba(var(--atomix-warning-bg-subtle), 0.8));
6081
+ border-color: var(--atomix-warning-border-subtle);
6333
6082
  }
6334
6083
  .c-footer--warning .c-footer__newsletter::before {
6335
6084
  background: linear-gradient(90deg, transparent, var(--atomix-warning), transparent);
@@ -6337,7 +6086,7 @@ a, a:hover {
6337
6086
  .c-footer--info {
6338
6087
  --atomix-footer-bg: var(--atomix-info-bg-subtle);
6339
6088
  --atomix-footer-border-color: var(--atomix-info-border-subtle);
6340
- --atomix-footer-color: var(--atomix-info-text);
6089
+ --atomix-footer-color: var(--atomix-info-text-emphasis);
6341
6090
  }
6342
6091
  .c-footer--info .c-footer__brand-name h3,
6343
6092
  .c-footer--info .c-footer__section-title {
@@ -6345,10 +6094,10 @@ a, a:hover {
6345
6094
  }
6346
6095
  .c-footer--info .c-footer__brand-description,
6347
6096
  .c-footer--info .c-footer__copyright {
6348
- color: var(--atomix-info-text-muted);
6097
+ color: var(--atomix-gray-6);
6349
6098
  }
6350
6099
  .c-footer--info .c-footer__link {
6351
- color: var(--atomix-info-text);
6100
+ color: var(--atomix-info-text-emphasis);
6352
6101
  }
6353
6102
  .c-footer--info .c-footer__link:hover, .c-footer--info .c-footer__link:focus {
6354
6103
  color: var(--atomix-info);
@@ -6357,8 +6106,8 @@ a, a:hover {
6357
6106
  background-color: var(--atomix-info);
6358
6107
  }
6359
6108
  .c-footer--info .c-footer__newsletter {
6360
- background: linear-gradient(135deg, var(--atomix-info-bg), rgba(var(--atomix-info-bg-rgb), 0.8));
6361
- border-color: var(--atomix-info-border);
6109
+ background: linear-gradient(135deg, var(--atomix-info-bg-subtle), rgba(var(--atomix-info-bg-subtle), 0.8));
6110
+ border-color: var(--atomix-info-border-subtle);
6362
6111
  }
6363
6112
  .c-footer--info .c-footer__newsletter::before {
6364
6113
  background: linear-gradient(90deg, transparent, var(--atomix-info), transparent);
@@ -6366,7 +6115,7 @@ a, a:hover {
6366
6115
  .c-footer--light {
6367
6116
  --atomix-footer-bg: var(--atomix-light-bg-subtle);
6368
6117
  --atomix-footer-border-color: var(--atomix-light-border-subtle);
6369
- --atomix-footer-color: var(--atomix-light-text);
6118
+ --atomix-footer-color: var(--atomix-light-text-emphasis);
6370
6119
  }
6371
6120
  .c-footer--light .c-footer__brand-name h3,
6372
6121
  .c-footer--light .c-footer__section-title {
@@ -6374,10 +6123,10 @@ a, a:hover {
6374
6123
  }
6375
6124
  .c-footer--light .c-footer__brand-description,
6376
6125
  .c-footer--light .c-footer__copyright {
6377
- color: var(--atomix-light-text-muted);
6126
+ color: var(--atomix-gray-6);
6378
6127
  }
6379
6128
  .c-footer--light .c-footer__link {
6380
- color: var(--atomix-light-text);
6129
+ color: var(--atomix-light-text-emphasis);
6381
6130
  }
6382
6131
  .c-footer--light .c-footer__link:hover, .c-footer--light .c-footer__link:focus {
6383
6132
  color: var(--atomix-light);
@@ -6386,8 +6135,8 @@ a, a:hover {
6386
6135
  background-color: var(--atomix-light);
6387
6136
  }
6388
6137
  .c-footer--light .c-footer__newsletter {
6389
- background: linear-gradient(135deg, var(--atomix-light-bg), rgba(var(--atomix-light-bg-rgb), 0.8));
6390
- border-color: var(--atomix-light-border);
6138
+ background: linear-gradient(135deg, var(--atomix-light-bg-subtle), rgba(var(--atomix-light-bg-subtle), 0.8));
6139
+ border-color: var(--atomix-light-border-subtle);
6391
6140
  }
6392
6141
  .c-footer--light .c-footer__newsletter::before {
6393
6142
  background: linear-gradient(90deg, transparent, var(--atomix-light), transparent);
@@ -6395,7 +6144,7 @@ a, a:hover {
6395
6144
  .c-footer--dark {
6396
6145
  --atomix-footer-bg: var(--atomix-dark-bg-subtle);
6397
6146
  --atomix-footer-border-color: var(--atomix-dark-border-subtle);
6398
- --atomix-footer-color: var(--atomix-dark-text);
6147
+ --atomix-footer-color: var(--atomix-dark-text-emphasis);
6399
6148
  }
6400
6149
  .c-footer--dark .c-footer__brand-name h3,
6401
6150
  .c-footer--dark .c-footer__section-title {
@@ -6403,10 +6152,10 @@ a, a:hover {
6403
6152
  }
6404
6153
  .c-footer--dark .c-footer__brand-description,
6405
6154
  .c-footer--dark .c-footer__copyright {
6406
- color: var(--atomix-dark-text-muted);
6155
+ color: var(--atomix-gray-6);
6407
6156
  }
6408
6157
  .c-footer--dark .c-footer__link {
6409
- color: var(--atomix-dark-text);
6158
+ color: var(--atomix-dark-text-emphasis);
6410
6159
  }
6411
6160
  .c-footer--dark .c-footer__link:hover, .c-footer--dark .c-footer__link:focus {
6412
6161
  color: var(--atomix-dark);
@@ -6415,8 +6164,8 @@ a, a:hover {
6415
6164
  background-color: var(--atomix-dark);
6416
6165
  }
6417
6166
  .c-footer--dark .c-footer__newsletter {
6418
- background: linear-gradient(135deg, var(--atomix-dark-bg), rgba(var(--atomix-dark-bg-rgb), 0.8));
6419
- border-color: var(--atomix-dark-border);
6167
+ background: linear-gradient(135deg, var(--atomix-dark-bg-subtle), rgba(var(--atomix-dark-bg-subtle), 0.8));
6168
+ border-color: var(--atomix-dark-border-subtle);
6420
6169
  }
6421
6170
  .c-footer--dark .c-footer__newsletter::before {
6422
6171
  background: linear-gradient(90deg, transparent, var(--atomix-dark), transparent);
@@ -6424,34 +6173,12 @@ a, a:hover {
6424
6173
  .c-footer--sticky {
6425
6174
  position: sticky;
6426
6175
  bottom: 0;
6427
- z-index: 10;
6176
+ z-index: 100;
6428
6177
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
6429
6178
  -webkit-backdrop-filter: blur(10px);
6430
6179
  backdrop-filter: blur(10px);
6431
6180
  background-color: rgba(var(--atomix-footer-bg-rgb), 0.95);
6432
6181
  }
6433
- @media (prefers-color-scheme: dark) {
6434
- .c-footer {
6435
- --atomix-footer-bg: var(--atomix-surface-dark);
6436
- --atomix-footer-color: var(--atomix-text-dark);
6437
- --atomix-footer-border-color: var(--atomix-border-dark);
6438
- }
6439
- }
6440
- .dark-mode .c-footer {
6441
- --atomix-footer-bg: var(--atomix-surface-dark);
6442
- --atomix-footer-color: var(--atomix-text-dark);
6443
- --atomix-footer-border-color: var(--atomix-border-dark);
6444
- }
6445
- .dark-mode .c-footer .c-footer__newsletter {
6446
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
6447
- border-color: rgba(255, 255, 255, 0.1);
6448
- }
6449
- .dark-mode .c-footer .c-footer__social-link {
6450
- background-color: rgba(255, 255, 255, 0.1);
6451
- }
6452
- .dark-mode .c-footer .c-footer__social-link:hover {
6453
- background-color: rgba(255, 255, 255, 0.2);
6454
- }
6455
6182
  @media (prefers-reduced-motion: reduce) {
6456
6183
  .c-footer *,
6457
6184
  .c-footer *::before,
@@ -6708,7 +6435,7 @@ a, a:hover {
6708
6435
  transition-delay: 0s;
6709
6436
  }
6710
6437
  .c-input:focus, .c-input:hover {
6711
- --atomix-input-border-color: var(--atomix-secondary-border-subtle);
6438
+ --atomix-input-border-color: var(--atomix-primary-border-subtle);
6712
6439
  }
6713
6440
  .c-input ::-webkit-input-placeholder {
6714
6441
  color: var(--atomix-input-placeholder-color);
@@ -6776,10 +6503,10 @@ a, a:hover {
6776
6503
  .c-input--glass {
6777
6504
  background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
6778
6505
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
6506
+ border-color: color-mix(in srgb, var(--atomix-input-border-color) 50%, transparent);
6779
6507
  }
6780
6508
  .c-input--glass:focus, .c-input--glass:hover {
6781
- background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
6782
- 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);
6509
+ background-color: color-mix(in srgb, var(--atomix-input-bg) 90%, transparent);
6783
6510
  }
6784
6511
  .c-input--glass.c-input--textarea {
6785
6512
  resize: vertical;
@@ -6854,6 +6581,7 @@ a, a:hover {
6854
6581
  --atomix-list-item-dash-width: 0.75rem;
6855
6582
  --atomix-list-item-dash-height: 0.125rem;
6856
6583
  padding-left: var(--atomix-list-padding-left);
6584
+ list-style: none;
6857
6585
  }
6858
6586
  .c-list__item {
6859
6587
  color: var(--atomix-list-color);
@@ -7507,6 +7235,8 @@ a, a:hover {
7507
7235
  width: 100%;
7508
7236
  height: 100%;
7509
7237
  display: none;
7238
+ }
7239
+ .c-modal:not(.c-modal--glass) {
7510
7240
  z-index: 1040;
7511
7241
  }
7512
7242
  .c-modal__backdrop {
@@ -10415,6 +10145,9 @@ a, a:hover {
10415
10145
  --atomix-upload-disabled-opacity: 0.5;
10416
10146
  --atomix-upload-loader-control-icon-size: 1.25rem;
10417
10147
  --atomix-upload-loader-contorl-color: var(--atomix-body-color);
10148
+ --atomix-upload-helper-text-opacity: 0.7;
10149
+ --atomix-upload-text-opacity: 0.8;
10150
+ --atomix-upload-text-margin-bottom: 1rem;
10418
10151
  width: 100%;
10419
10152
  max-width: var(--atomix-upload-width);
10420
10153
  padding: var(--atomix-upload-padding-y) var(--atomix-upload-padding-x);
@@ -10435,24 +10168,47 @@ a, a:hover {
10435
10168
  padding: var(--atomix-upload-inner-padding-y) var(--atomix-upload-inner-padding-x);
10436
10169
  border-radius: var(--atomix-upload-border-radius);
10437
10170
  border: var(--atomix-upload-border-width) dashed var(--atomix-upload-border-color);
10171
+ cursor: pointer;
10172
+ transition: all 0.3s ease-in-out;
10173
+ }
10174
+ .c-upload__inner:hover {
10175
+ border-color: var(--atomix-primary-6);
10176
+ background-color: var(--atomix-primary-bg-subtle);
10177
+ transform: translateY(-2px);
10178
+ box-shadow: var(--atomix-box-shadow);
10438
10179
  }
10439
10180
  .c-upload__icon {
10440
10181
  font-size: var(--atomix-upload-icon-size);
10441
- padding: var(--atomix-upload-icon-padding);
10442
- background-color: var(--atomix-upload-icon-bg);
10443
- border-radius: 50rem;
10182
+ padding: 12;
10183
+ color: var(--atomix-primary-6);
10184
+ background-color: var(--atomix-primary-bg-subtle);
10185
+ border-radius: var(--atomix-border-radius-pill);
10186
+ margin-bottom: 12;
10187
+ transition: all 0.3s ease-in-out;
10188
+ }
10189
+ .c-upload__icon:hover {
10190
+ color: var(--atomix-primary-7);
10191
+ background-color: var(--atomix-primary-border-subtle);
10192
+ transform: scale(1.05);
10444
10193
  }
10445
10194
  .c-upload__title {
10446
10195
  color: var(--atomix-upload-title-color);
10447
10196
  font-size: var(--atomix-upload-title-font-size);
10448
10197
  font-weight: var(--atomix-upload-title-font-weight);
10449
10198
  margin-top: var(--atomix-upload-title-margin-top);
10199
+ margin-bottom: var(--atomix-upload-title-margin-bottom);
10200
+ text-align: center;
10201
+ line-height: 1.4;
10450
10202
  }
10451
10203
  .c-upload__text {
10452
10204
  color: var(--atomix-upload-text-color);
10453
10205
  font-size: var(--atomix-upload-text-font-size);
10454
10206
  font-weight: var(--atomix-upload-text-font-weight);
10455
10207
  margin-top: var(--atomix-upload-text-margin-top);
10208
+ margin-bottom: var(--atomix-upload-text-margin-bottom);
10209
+ text-align: center;
10210
+ line-height: 1.5;
10211
+ opacity: var(--atomix-upload-text-opacity);
10456
10212
  }
10457
10213
  .c-upload__btn {
10458
10214
  margin-top: var(--atomix-upload-btn-margin-top);
@@ -10462,6 +10218,9 @@ a, a:hover {
10462
10218
  font-size: var(--atomix-upload-helper-text-font-size);
10463
10219
  font-weight: var(--atomix-upload-helper-text-font-weight);
10464
10220
  margin-top: var(--atomix-upload-helper-text-margin-top);
10221
+ text-align: center;
10222
+ opacity: var(--atomix-upload-helper-text-opacity);
10223
+ line-height: 1.4;
10465
10224
  }
10466
10225
  .c-upload__row {
10467
10226
  width: 100%;
@@ -10480,6 +10239,7 @@ a, a:hover {
10480
10239
  .c-upload__loader {
10481
10240
  --upload-loader-percentage: 0;
10482
10241
  display: flex;
10242
+ align-items: center;
10483
10243
  justify-content: space-between;
10484
10244
  position: relative;
10485
10245
  width: 100%;
@@ -10488,6 +10248,8 @@ a, a:hover {
10488
10248
  border: var(--atomix-upload-loader-border-width) solid var(--atomix-upload-loader-border-color);
10489
10249
  border-radius: var(--atomix-upload-loader-border-radius);
10490
10250
  margin-top: var(--atomix-upload-loader-margin-top);
10251
+ background-color: var(--atomix-body-bg);
10252
+ box-shadow: var(--atomix-box-shadow-sm);
10491
10253
  overflow: hidden;
10492
10254
  }
10493
10255
  .c-upload__loader-title {
@@ -10512,6 +10274,20 @@ a, a:hover {
10512
10274
  .c-upload__loader-close {
10513
10275
  color: var(--atomix-upload-loader-contorl-color);
10514
10276
  font-size: var(--atomix-upload-loader-control-icon-size);
10277
+ background: none;
10278
+ border: none;
10279
+ cursor: pointer;
10280
+ padding: 4;
10281
+ border-radius: var(--atomix-border-radius-sm);
10282
+ transition: all 0.2s ease-in-out;
10283
+ }
10284
+ .c-upload__loader-close:hover {
10285
+ background-color: var(--atomix-danger-bg-subtle);
10286
+ color: var(--atomix-danger-text-emphasis);
10287
+ }
10288
+ .c-upload__loader-close:focus {
10289
+ outline: 2px solid var(--atomix-focus-border-color);
10290
+ outline-offset: 2px;
10515
10291
  }
10516
10292
  .c-upload__loader-bar {
10517
10293
  width: 22px;
@@ -10576,6 +10352,112 @@ a, a:hover {
10576
10352
  .c-upload--disabled .c-upload__btn {
10577
10353
  pointer-events: none;
10578
10354
  }
10355
+ .c-upload--disabled .c-upload__inner {
10356
+ cursor: not-allowed;
10357
+ }
10358
+ .c-upload--disabled .c-upload__inner:hover {
10359
+ transform: none;
10360
+ box-shadow: none;
10361
+ border-color: var(--atomix-upload-border-color);
10362
+ background-color: transparent;
10363
+ }
10364
+ .c-upload--dragging .c-upload__inner {
10365
+ border-color: var(--atomix-primary-6);
10366
+ background-color: var(--atomix-primary-bg-subtle);
10367
+ transform: scale(1.02);
10368
+ box-shadow: var(--atomix-box-shadow-lg);
10369
+ }
10370
+ .c-upload--dragging .c-upload__icon {
10371
+ color: var(--atomix-primary-7);
10372
+ background-color: var(--atomix-primary-border-subtle);
10373
+ transform: scale(1.1);
10374
+ }
10375
+ .c-upload--dragging .c-upload__title {
10376
+ color: var(--atomix-primary-6);
10377
+ }
10378
+ .c-upload--loading .c-upload__loader-bar circle:nth-child(2) {
10379
+ stroke: var(--atomix-primary-6);
10380
+ }
10381
+ .c-upload--success .c-upload__loader-bar circle:nth-child(2) {
10382
+ stroke: var(--atomix-success-6);
10383
+ }
10384
+ .c-upload--error .c-upload__loader-bar circle:nth-child(2) {
10385
+ stroke: var(--atomix-error-6);
10386
+ }
10387
+ .c-upload__input {
10388
+ position: absolute;
10389
+ width: 1px;
10390
+ height: 1px;
10391
+ padding: 0;
10392
+ margin: -1px;
10393
+ overflow: hidden;
10394
+ clip: rect(0, 0, 0, 0);
10395
+ white-space: nowrap;
10396
+ border: 0;
10397
+ }
10398
+ @media (max-width: 768px) {
10399
+ .c-upload {
10400
+ max-width: 100%;
10401
+ }
10402
+ .c-upload__inner {
10403
+ padding: 16 12;
10404
+ }
10405
+ .c-upload__icon {
10406
+ font-size: 28;
10407
+ padding: 8;
10408
+ margin-bottom: 8;
10409
+ }
10410
+ .c-upload__title {
10411
+ font-size: var(--atomix-font-size-md);
10412
+ }
10413
+ .c-upload__text {
10414
+ font-size: var(--atomix-font-size-xs);
10415
+ }
10416
+ .c-upload__loader {
10417
+ padding: 8 12;
10418
+ flex-direction: column;
10419
+ align-items: flex-start;
10420
+ gap: 8;
10421
+ }
10422
+ .c-upload__loader-control {
10423
+ align-self: flex-end;
10424
+ }
10425
+ }
10426
+ @media (prefers-reduced-motion: reduce) {
10427
+ .c-upload__inner {
10428
+ transition: none;
10429
+ }
10430
+ .c-upload__inner:hover {
10431
+ transform: none;
10432
+ }
10433
+ .c-upload__icon {
10434
+ transition: none;
10435
+ }
10436
+ .c-upload__icon:hover {
10437
+ transform: none;
10438
+ }
10439
+ .c-upload--dragging .c-upload__inner {
10440
+ transform: none;
10441
+ }
10442
+ .c-upload--dragging .c-upload__icon {
10443
+ transform: none;
10444
+ }
10445
+ }
10446
+ @media (prefers-contrast: high) {
10447
+ .c-upload__inner {
10448
+ border-width: 3px;
10449
+ }
10450
+ .c-upload--dragging .c-upload__inner {
10451
+ border-width: 4px;
10452
+ }
10453
+ .c-upload__loader {
10454
+ border-width: 2px;
10455
+ }
10456
+ }
10457
+ .c-upload__inner:focus-visible {
10458
+ outline: 2px solid var(--atomix-focus-border-color);
10459
+ outline-offset: 2px;
10460
+ }
10579
10461
  .c-video-player {
10580
10462
  --atomix--video-player-bg: #000;
10581
10463
  --atomix--video-player-border-radius: 8px;