@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
@@ -2121,60 +2121,184 @@ a, a:hover {
2121
2121
  margin-left: calc(var(--atomix-avatar-size) * -1 * var(--atomix-avatar-group-stacked-overlap) / 100);
2122
2122
  z-index: 1;
2123
2123
  }
2124
- .atomix-glass__layer, .atomix-glass__overlay, .atomix-glass__base, .atomix-glass__border-1, .atomix-glass__border-2 {
2125
- pointer-events: none;
2124
+ .c-atomix-glass {
2125
+ position: relative;
2126
+ --atomix-glass-radius: var(--atomix-radius-md, 16px);
2127
+ --atomix-glass-transform: none;
2128
+ --atomix-glass-transition: all var(--atomix-transition-duration, 0s) ease-out;
2129
+ --atomix-glass-position: absolute;
2130
+ --atomix-glass-container-width: 100%;
2131
+ --atomix-glass-container-height: 100%;
2132
+ --atomix-glass-border-width: var(--atomix-spacing-0-5, 0.09375rem);
2133
+ }
2134
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3, .c-atomix-glass__base, .c-atomix-glass__overlay {
2126
2135
  position: absolute;
2127
2136
  inset: 0;
2128
- border-radius: inherit;
2129
- transform: inherit;
2130
- transition: inherit;
2137
+ pointer-events: none;
2138
+ border-radius: var(--atomix-glass-radius);
2139
+ transform: var(--atomix-glass-transform);
2140
+ transition: var(--atomix-glass-transition);
2141
+ }
2142
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3 {
2143
+ mix-blend-mode: overlay;
2144
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
2145
+ background: var(--atomix-glass-hover-1-gradient, none);
2146
+ }
2147
+ .c-atomix-glass__hover-1 {
2148
+ transition: opacity 0.2s ease-out;
2149
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
2150
+ background: var(--atomix-glass-hover-1-gradient, none);
2151
+ }
2152
+ .c-atomix-glass__hover-2 {
2153
+ transition: opacity 0.4s ease-out;
2154
+ opacity: var(--atomix-glass-hover-2-opacity, 0);
2155
+ background: var(--atomix-glass-hover-2-gradient, none);
2156
+ }
2157
+ .c-atomix-glass__hover-3 {
2158
+ transition: opacity 0.6s ease-out;
2159
+ opacity: var(--atomix-glass-hover-3-opacity, 0);
2160
+ background: var(--atomix-glass-hover-3-gradient, none);
2161
+ }
2162
+ .c-atomix-glass__base {
2163
+ mix-blend-mode: soft-light;
2164
+ opacity: var(--atomix-glass-base-opacity, 0);
2165
+ background: var(--atomix-glass-base-gradient, none);
2166
+ }
2167
+ .c-atomix-glass__overlay {
2168
+ mix-blend-mode: overlay;
2169
+ opacity: var(--atomix-glass-overlay-opacity, 0);
2170
+ background: var(--atomix-glass-overlay-gradient, none);
2171
+ }
2172
+ .c-atomix-glass__overlay-highlight {
2173
+ position: absolute;
2174
+ inset: var(--atomix-spacing-0-5, 0.125rem);
2175
+ pointer-events: none;
2176
+ border-radius: var(--atomix-glass-radius);
2177
+ transform: var(--atomix-glass-transform);
2178
+ transition: var(--atomix-glass-transition);
2179
+ mix-blend-mode: screen;
2131
2180
  }
2132
- .atomix-glass__border-1, .atomix-glass__border-2 {
2181
+ .c-atomix-glass__border-1, .c-atomix-glass__border-2 {
2182
+ padding: var(--atomix-glass-border-width);
2133
2183
  box-sizing: border-box;
2134
- padding: 1.5px;
2135
- -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
2184
+ overflow: hidden;
2185
+ pointer-events: none;
2186
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
2136
2187
  -webkit-mask-composite: xor;
2137
- mask-composite: exclude;
2138
- 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);
2139
- transition-property: transform;
2140
- }
2141
- .atomix-glass__border-1 {
2142
- z-index: 5;
2143
- opacity: 0.3;
2188
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
2189
+ mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
2190
+ -webkit-mask-composite: xor;
2191
+ mask-composite: exclude;
2192
+ position: var(--atomix-glass-position);
2193
+ top: var(--atomix-glass-top);
2194
+ left: var(--atomix-glass-left);
2195
+ width: var(--atomix-glass-width);
2196
+ height: var(--atomix-glass-height);
2197
+ border-radius: var(--atomix-glass-radius);
2198
+ transform: var(--atomix-glass-transform);
2199
+ transition: var(--atomix-glass-transition);
2200
+ }
2201
+ .c-atomix-glass__border-1 {
2202
+ opacity: var(--atomix-opacity-20, 0.2);
2144
2203
  mix-blend-mode: screen;
2204
+ z-index: var(--atomix-z-index-5, 5);
2205
+ background: var(--atomix-glass-border-gradient-1, none);
2206
+ 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));
2207
+ }
2208
+ .c-atomix-glass__border-2 {
2209
+ mix-blend-mode: overlay;
2210
+ z-index: var(--atomix-z-index-6, 6);
2211
+ background: var(--atomix-glass-border-gradient-2, none);
2212
+ 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));
2213
+ }
2214
+ .c-atomix-glass__container {
2215
+ width: var(--atomix-glass-container-width);
2216
+ height: var(--atomix-glass-container-height);
2217
+ position: relative;
2218
+ border-radius: var(--atomix-glass-radius);
2219
+ transition: var(--atomix-glass-transition);
2145
2220
  }
2146
- .atomix-glass__border-2 {
2147
- z-index: 6;
2221
+ .c-atomix-glass__inner {
2222
+ width: var(--atomix-glass-container-width);
2223
+ height: var(--atomix-glass-container-height);
2224
+ position: relative;
2225
+ border-radius: var(--atomix-glass-radius);
2148
2226
  }
2149
- .atomix-glass__hover-1, .atomix-glass__hover-2, .atomix-glass__hover-3 {
2227
+ .c-atomix-glass__filter {
2150
2228
  position: absolute;
2151
- inset: 0;
2229
+ top: 0;
2230
+ left: 0;
2231
+ width: 100%;
2232
+ height: 100%;
2152
2233
  pointer-events: none;
2153
- border-radius: inherit;
2154
- transform: inherit;
2155
- transition: inherit;
2156
- transition-property: transform, opacity;
2157
2234
  }
2158
- .atomix-glass__hover-1 {
2159
- opacity: 0;
2235
+ .c-atomix-glass__filter-overlay {
2236
+ position: absolute;
2237
+ inset: 0;
2238
+ pointer-events: none;
2160
2239
  }
2161
- .atomix-glass__hover-2 {
2162
- overflow: hidden;
2163
- opacity: 0;
2240
+ .c-atomix-glass__filter-shadow {
2241
+ position: absolute;
2242
+ inset: var(--atomix-glass-border-width);
2243
+ pointer-events: none;
2164
2244
  }
2165
- .atomix-glass__hover-3 {
2166
- opacity: 0;
2245
+ .c-atomix-glass__content {
2246
+ position: relative;
2247
+ width: var(--atomix-glass-container-width);
2248
+ height: var(--atomix-glass-container-height);
2167
2249
  }
2168
- .atomix-glass__base {
2250
+ .c-atomix-glass__background-layer {
2251
+ position: absolute;
2252
+ pointer-events: none;
2253
+ border-radius: var(--atomix-glass-radius);
2254
+ transform: var(--atomix-glass-transform);
2255
+ transition: var(--atomix-glass-transition);
2169
2256
  will-change: transform;
2170
- transition-property: transform, opacity;
2171
- opacity: 0;
2172
2257
  }
2173
- .atomix-glass__overlay {
2258
+ .c-atomix-glass__background-layer--dark {
2259
+ background-color: var(--atomix-gray-9, #1f2937);
2260
+ }
2261
+ .c-atomix-glass__background-layer--black {
2262
+ background-color: var(--atomix-black, #000000);
2174
2263
  mix-blend-mode: overlay;
2175
- will-change: transform;
2176
- transition-property: transform, opacity;
2177
- opacity: 0;
2264
+ }
2265
+ .c-atomix-glass__background-layer--dark.c-atomix-glass__background-layer--over-light {
2266
+ opacity: var(--atomix-opacity-50, 0.5);
2267
+ z-index: -1;
2268
+ }
2269
+ .c-atomix-glass__background-layer--black.c-atomix-glass__background-layer--over-light {
2270
+ opacity: var(--atomix-opacity-25, 0.25);
2271
+ }
2272
+ .c-atomix-glass__background-layer--hidden {
2273
+ opacity: var(--atomix-opacity-0, 0);
2274
+ }
2275
+ .c-atomix-glass--reduced-motion {
2276
+ --atomix-glass-transition: none;
2277
+ }
2278
+ .c-atomix-glass--reduced-motion * {
2279
+ transition: none !important;
2280
+ }
2281
+ .c-atomix-glass--high-contrast {
2282
+ border: var(--atomix-spacing-0-5, 2px) solid currentColor;
2283
+ outline: var(--atomix-spacing-0-5, 2px) solid transparent;
2284
+ outline-offset: var(--atomix-spacing-0-5, 2px);
2285
+ }
2286
+ .c-atomix-glass--disabled-effects {
2287
+ --atomix-glass-transform: none;
2288
+ --atomix-glass-transition: none;
2289
+ }
2290
+ @media (prefers-reduced-motion: reduce) {
2291
+ .c-atomix-glass {
2292
+ --atomix-glass-transition: none;
2293
+ }
2294
+ .c-atomix-glass * {
2295
+ transition: none !important;
2296
+ }
2297
+ }
2298
+ @media (prefers-contrast: high) {
2299
+ .c-atomix-glass {
2300
+ border-width: var(--atomix-spacing-0-5, 0.125rem);
2301
+ }
2178
2302
  }
2179
2303
  .c-badge {
2180
2304
  --atomix-tag-font-size: 0.75rem;
@@ -3192,19 +3316,8 @@ a, a:hover {
3192
3316
  padding-top: 0;
3193
3317
  }
3194
3318
  .c-card--glass {
3195
- background-color: transparent;
3196
- padding: 0;
3197
- border: none;
3198
- display: block;
3199
- border-radius: 0;
3200
- }
3201
- .c-card--glass .c-card__glass-content {
3202
- padding: var(--atomix-card-spacer-y) var(--atomix-card-spacer-x);
3203
- max-width: var(--atomix-card-width);
3204
- border-radius: var(--atomix-card-border-radius);
3205
- width: 100%;
3319
+ max-width: none;
3206
3320
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
3207
- background-blend-mode: overlay;
3208
3321
  }
3209
3322
  .is-elevated .c-card {
3210
3323
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
@@ -3226,126 +3339,49 @@ a, a:hover {
3226
3339
  border: var(--atomix-chart-border-width) solid var(--atomix-chart-border-color);
3227
3340
  border-radius: var(--atomix-chart-border-radius);
3228
3341
  overflow: hidden;
3229
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
3342
+ 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);
3230
3343
  position: relative;
3231
3344
  min-height: var(--atomix-chart-min-height);
3232
3345
  width: 100%;
3233
3346
  max-width: 100%;
3234
- background-color: var(--atomix-chart-bg);
3235
- transition-property: all;
3236
- transition-duration: 0.2s;
3237
- transition-timing-function: ease-in-out;
3238
- transition-delay: 0s;
3347
+ background: var(--atomix-chart-bg);
3348
+ backdrop-filter: blur(10px);
3349
+ -webkit-backdrop-filter: blur(10px);
3239
3350
  }
3240
- .c-chart::after {
3351
+ .c-chart::before {
3241
3352
  content: "";
3242
3353
  position: absolute;
3243
3354
  inset: 0;
3244
- background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1) 0%, transparent 50%, rgba(var(--atomix-secondary-rgb), 0.05) 100%);
3355
+ 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%);
3245
3356
  pointer-events: none;
3246
3357
  z-index: 1;
3358
+ opacity: 1;
3359
+ transition: opacity 0.3s ease;
3247
3360
  }
3248
- .c-chart:hover {
3249
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
3250
- border-color: var(--atomix-primary-border-subtle);
3251
- }
3252
- .c-chart:focus-visible {
3253
- 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);
3254
- }
3255
- .c-chart--xs {
3256
- --atomix-chart-min-height: 7rem;
3257
- --atomix-chart-padding: 0.5rem;
3258
- font-size: 0.75rem;
3259
- }
3260
- .c-chart--sm {
3261
- --atomix-chart-min-height: 9rem;
3262
- --atomix-chart-padding: 0.75rem;
3263
- font-size: 0.875rem;
3264
- }
3265
- .c-chart--md {
3266
- --atomix-chart-min-height: ;
3267
- --atomix-chart-padding: 1rem;
3268
- font-size: 1rem;
3269
- }
3270
- .c-chart--lg {
3271
- --atomix-chart-min-height: ;
3272
- --atomix-chart-padding: 1.5rem;
3273
- font-size: 1.125rem;
3274
- }
3275
- .c-chart--xl {
3276
- --atomix-chart-min-height: ;
3277
- --atomix-chart-padding: 2rem;
3278
- font-size: 1.25rem;
3279
- }
3280
- .c-chart--2xl {
3281
- --atomix-chart-min-height: ;
3282
- --atomix-chart-padding: 2.5rem;
3283
- font-size: 1.25rem;
3284
- }
3285
- .c-chart--full {
3286
- height: 100vh;
3287
- min-height: auto;
3288
- border-radius: 0;
3289
- }
3290
- .c-chart--auto {
3291
- height: auto;
3292
- min-height: 8rem;
3293
- }
3294
- .c-chart--primary {
3295
- --atomix-chart-primary-color: var(--atomix-primary-6);
3296
- --atomix-chart-border-color: var(--atomix-primary-border-subtle);
3297
- }
3298
- .c-chart--primary:hover {
3299
- border-color: var(--atomix-primary-border-subtle);
3300
- }
3301
- .c-chart--secondary {
3302
- --atomix-chart-primary-color: var(--atomix-secondary-6);
3303
- --atomix-chart-border-color: var(--atomix-secondary-border-subtle);
3304
- }
3305
- .c-chart--secondary:hover {
3306
- border-color: var(--atomix-secondary-border-subtle);
3307
- }
3308
- .c-chart--success {
3309
- --atomix-chart-primary-color: var(--atomix-success-6);
3310
- --atomix-chart-border-color: var(--atomix-success-border-subtle);
3311
- }
3312
- .c-chart--success:hover {
3313
- border-color: var(--atomix-success-border-subtle);
3314
- }
3315
- .c-chart--info {
3316
- --atomix-chart-primary-color: var(--atomix-info-6);
3317
- --atomix-chart-border-color: var(--atomix-info-border-subtle);
3318
- }
3319
- .c-chart--info:hover {
3320
- border-color: var(--atomix-info-border-subtle);
3321
- }
3322
- .c-chart--warning {
3323
- --atomix-chart-primary-color: var(--atomix-warning-6);
3324
- --atomix-chart-border-color: var(--atomix-warning-border-subtle);
3325
- }
3326
- .c-chart--warning:hover {
3327
- border-color: var(--atomix-warning-border-subtle);
3328
- }
3329
- .c-chart--error {
3330
- --atomix-chart-primary-color: var(--atomix-error-6);
3331
- --atomix-chart-border-color: var(--atomix-error-border-subtle);
3332
- }
3333
- .c-chart--error:hover {
3334
- border-color: var(--atomix-error-border-subtle);
3335
- }
3336
- .c-chart--light {
3337
- --atomix-chart-primary-color: var(--atomix-light-6);
3338
- --atomix-chart-border-color: var(--atomix-light-border-subtle);
3339
- }
3340
- .c-chart--light:hover {
3341
- border-color: var(--atomix-light-border-subtle);
3361
+ .c-chart::after {
3362
+ content: "";
3363
+ position: absolute;
3364
+ inset: 0;
3365
+ border-radius: inherit;
3366
+ padding: 1px;
3367
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1), rgba(var(--atomix-secondary-rgb), 0.05), transparent);
3368
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3369
+ -webkit-mask-composite: xor;
3370
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3371
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3372
+ -webkit-mask-composite: xor;
3373
+ mask-composite: exclude;
3374
+ pointer-events: none;
3375
+ z-index: 2;
3376
+ opacity: 0;
3377
+ transition: opacity 0.3s ease;
3342
3378
  }
3343
- .c-chart--dark {
3344
- --atomix-chart-primary-color: var(--atomix-dark-6);
3345
- --atomix-chart-border-color: var(--atomix-dark-border-subtle);
3379
+ .c-chart:hover {
3380
+ 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);
3381
+ border-color: rgba(var(--atomix-primary-rgb), 0.2);
3346
3382
  }
3347
- .c-chart--dark:hover {
3348
- border-color: var(--atomix-dark-border-subtle);
3383
+ .c-chart:hover::after {
3384
+ opacity: 1;
3349
3385
  }
3350
3386
  .c-chart--loading .c-chart__content {
3351
3387
  position: relative;
@@ -3365,38 +3401,6 @@ a, a:hover {
3365
3401
  opacity: 0.3;
3366
3402
  filter: blur(1px);
3367
3403
  }
3368
- .c-chart--interactive {
3369
- cursor: pointer;
3370
- -webkit-user-select: none;
3371
- -moz-user-select: none;
3372
- user-select: none;
3373
- }
3374
- .c-chart--interactive:hover {
3375
- transform: translateY(-2px);
3376
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
3377
- }
3378
- .c-chart--interactive:active {
3379
- transform: translateY(0);
3380
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
3381
- transition-duration: 0.1s;
3382
- }
3383
- .c-chart--interactive:focus-visible {
3384
- transform: translateY(-1px);
3385
- }
3386
- .c-chart--disabled {
3387
- pointer-events: none;
3388
- opacity: 0.6;
3389
- }
3390
- .c-chart--disabled .c-chart__content {
3391
- filter: grayscale(80%) opacity(0.6);
3392
- }
3393
- .c-chart--disabled .c-chart__canvas {
3394
- pointer-events: none;
3395
- }
3396
- .c-chart--disabled:hover {
3397
- transform: none;
3398
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
3399
- }
3400
3404
  .c-chart--fullscreen {
3401
3405
  position: fixed;
3402
3406
  top: 0;
@@ -3406,29 +3410,58 @@ a, a:hover {
3406
3410
  z-index: 9999;
3407
3411
  border-radius: 0;
3408
3412
  box-shadow: none;
3409
- background: var(--atomix-primary-bg-default);
3413
+ background: var(--atomix-body-bg);
3410
3414
  }
3411
3415
  .c-chart--elevated {
3412
- box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
3413
- transform: translateY(-2px);
3416
+ 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);
3414
3417
  }
3415
3418
  .c-chart--elevated:hover {
3416
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.15);
3417
- transform: translateY(-4px);
3419
+ 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);
3418
3420
  }
3419
- .c-chart--flat {
3421
+ .c-chart--glass {
3422
+ background: transparent;
3423
+ border: none;
3420
3424
  box-shadow: none;
3421
- border: 2px solid var(--atomix-primary-border-subtle);
3422
3425
  }
3423
- .c-chart--flat:hover {
3424
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
3426
+ .c-chart--glass .c-chart__content {
3427
+ position: relative;
3428
+ }
3429
+ .c-chart--glass .c-chart__canvas {
3430
+ position: relative;
3431
+ }
3432
+ .c-chart--glass .c-chart__toolbar {
3433
+ position: relative;
3434
+ }
3435
+ .c-chart--disabled {
3436
+ opacity: 0.6;
3437
+ cursor: not-allowed;
3438
+ pointer-events: none;
3439
+ pointer-events: none;
3440
+ opacity: 0.6;
3441
+ }
3442
+ .c-chart--disabled:hover, .c-chart--disabled:focus, .c-chart--disabled:active {
3443
+ background-color: inherit;
3444
+ color: inherit;
3425
3445
  transform: none;
3426
3446
  }
3427
- .c-chart--rounded {
3428
- border-radius: 1rem;
3447
+ .c-chart--selected {
3448
+ border-color: rgba(var(--atomix-primary-rgb), 0.3);
3449
+ 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);
3450
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.08) 0%, rgba(var(--atomix-primary-rgb), 0.04) 100%), var(--atomix-chart-bg);
3429
3451
  }
3430
- .c-chart--square {
3431
- border-radius: 0;
3452
+ .c-chart--active {
3453
+ border-color: var(--atomix-primary-border-subtle);
3454
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
3455
+ }
3456
+ .c-chart--clickable {
3457
+ cursor: pointer;
3458
+ }
3459
+ .c-chart--clickable:hover {
3460
+ 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);
3461
+ border-color: rgba(var(--atomix-primary-rgb), 0.25);
3462
+ }
3463
+ .c-chart--clickable:active {
3464
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.12);
3432
3465
  }
3433
3466
  .c-chart__header {
3434
3467
  padding: var(--atomix-chart-padding);
@@ -3506,7 +3539,6 @@ a, a:hover {
3506
3539
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3507
3540
  position: relative;
3508
3541
  overflow: hidden;
3509
- font-size: 0.875rem;
3510
3542
  }
3511
3543
  .c-chart__action::before {
3512
3544
  content: "";
@@ -3538,8 +3570,11 @@ a, a:hover {
3538
3570
  transform: scale(1.1);
3539
3571
  }
3540
3572
  .c-chart__action:focus-visible {
3541
- outline: 2px solid var(--atomix-primary-6);
3573
+ outline: 2px solid var(--atomix-focus-border-color);
3542
3574
  outline-offset: 2px;
3575
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3576
+ }
3577
+ .c-chart__action:focus-visible {
3543
3578
  border-color: var(--atomix-primary-border-subtle);
3544
3579
  }
3545
3580
  .c-chart__action:active {
@@ -3565,45 +3600,6 @@ a, a:hover {
3565
3600
  background-color: transparent;
3566
3601
  border-color: transparent;
3567
3602
  }
3568
- .c-chart__action--primary {
3569
- background-color: var(--atomix-primary-6);
3570
- color: white;
3571
- border-color: var(--atomix-primary-6);
3572
- }
3573
- .c-chart__action--primary:hover {
3574
- background-color: var(--atomix-primary-7);
3575
- border-color: var(--atomix-primary-7);
3576
- }
3577
- .c-chart__action--primary:active {
3578
- background-color: var(--atomix-primary-8);
3579
- }
3580
- .c-chart__action--success {
3581
- background-color: var(--atomix-success-6);
3582
- color: white;
3583
- border-color: var(--atomix-success-6);
3584
- }
3585
- .c-chart__action--success:hover {
3586
- background-color: var(--atomix-success-7);
3587
- border-color: var(--atomix-success-7);
3588
- }
3589
- .c-chart__action--warning {
3590
- background-color: var(--atomix-warning-6);
3591
- color: white;
3592
- border-color: var(--atomix-warning-6);
3593
- }
3594
- .c-chart__action--warning:hover {
3595
- background-color: var(--atomix-warning-7);
3596
- border-color: var(--atomix-warning-7);
3597
- }
3598
- .c-chart__action--danger {
3599
- background-color: var(--atomix-error-6);
3600
- color: white;
3601
- border-color: var(--atomix-error-6);
3602
- }
3603
- .c-chart__action--danger:hover {
3604
- background-color: var(--atomix-error-7);
3605
- border-color: var(--atomix-error-7);
3606
- }
3607
3603
  .c-chart__export-group {
3608
3604
  position: relative;
3609
3605
  display: flex;
@@ -3625,7 +3621,7 @@ a, a:hover {
3625
3621
  border-radius: 0.5rem;
3626
3622
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
3627
3623
  padding: 0.25rem;
3628
- min-width: 7.5rem;
3624
+ min-width: 7rem;
3629
3625
  z-index: 1000;
3630
3626
  opacity: 0;
3631
3627
  visibility: hidden;
@@ -3655,8 +3651,8 @@ a, a:hover {
3655
3651
  color: var(--atomix-primary-text-emphasis);
3656
3652
  }
3657
3653
  .c-chart__export-option:focus-visible {
3658
- outline: 2px solid var(--atomix-primary-6);
3659
- outline-offset: -2px;
3654
+ outline: calc(var(--atomix-border-width) * 2) solid var(--atomix-primary-6);
3655
+ outline-offset: calc(var(--atomix-border-width) * -2);
3660
3656
  }
3661
3657
  .c-chart__export-option:disabled {
3662
3658
  opacity: 0.4;
@@ -3666,201 +3662,178 @@ a, a:hover {
3666
3662
  .c-chart__export-option:not(:last-child) {
3667
3663
  margin-bottom: 0.25rem;
3668
3664
  }
3669
- .c-chart__content {
3670
- flex: 1 1;
3671
- position: relative;
3672
- padding: var(--atomix-chart-padding);
3673
- display: flex;
3674
- align-items: center;
3675
- justify-content: center;
3676
- min-height: 8rem;
3677
- }
3678
- .c-chart__content::before {
3679
- content: "";
3665
+ .c-chart__settings-menu {
3680
3666
  position: absolute;
3681
- top: 0;
3682
- left: 0;
3667
+ top: 100%;
3683
3668
  right: 0;
3684
- bottom: 0;
3685
- background-image: radial-gradient(circle at 1px 1px, var(--atomix-primary-border-subtle) 1px, transparent 0);
3686
- background-size: 1.25rem 1.25rem;
3687
- opacity: 0.03;
3688
- pointer-events: none;
3689
- z-index: 0;
3690
- }
3691
- .c-chart__content::after {
3692
- content: "";
3693
- position: absolute;
3694
- inset: 0;
3695
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, transparent 50%, rgba(0, 0, 0, 0.02) 100%);
3696
- pointer-events: none;
3697
- z-index: 1;
3669
+ margin-top: 0.25rem;
3670
+ background: var(--atomix-primary-bg-default);
3671
+ border: 1px solid var(--atomix-primary-border-subtle);
3672
+ border-radius: 0.5rem;
3673
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
3674
+ padding: 0.5rem;
3675
+ min-width: 8.75rem;
3676
+ z-index: 1000;
3677
+ opacity: 0;
3678
+ visibility: hidden;
3679
+ transform: translateY(-8px);
3680
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3681
+ -webkit-backdrop-filter: blur(8px);
3682
+ backdrop-filter: blur(8px);
3698
3683
  }
3699
- .c-chart__canvas {
3700
- width: 100%;
3701
- height: 100%;
3702
- position: relative;
3703
- overflow: hidden;
3704
- border-radius: 0.25rem;
3705
- z-index: 2;
3706
- }
3707
- .c-chart__canvas svg {
3708
- width: 100%;
3709
- height: 100%;
3710
- shape-rendering: geometricPrecision;
3711
- text-rendering: optimizeLegibility;
3712
- image-rendering: -webkit-optimize-contrast;
3713
- image-rendering: crisp-edges;
3684
+ .c-chart__settings-menu-title {
3685
+ font-size: 0.875rem;
3686
+ font-weight: 600;
3687
+ color: var(--atomix-text-primary);
3688
+ margin-bottom: 0.5rem;
3689
+ padding-bottom: 0.5rem;
3690
+ border-bottom: 1px solid var(--atomix-border-color);
3714
3691
  }
3715
- .c-chart__canvas canvas {
3716
- width: 100%;
3717
- height: 100%;
3718
- image-rendering: -webkit-optimize-contrast;
3719
- image-rendering: crisp-edges;
3692
+ .c-chart__settings-menu-content {
3693
+ display: flex;
3694
+ flex-direction: column;
3695
+ gap: 0.25rem;
3720
3696
  }
3721
- .c-chart__crosshair {
3722
- pointer-events: none;
3697
+ .c-chart__settings-menu-item {
3698
+ display: flex;
3699
+ align-items: center;
3700
+ justify-content: space-between;
3701
+ padding: 0.375rem 0;
3702
+ gap: 0.75rem;
3723
3703
  }
3724
- .c-chart__crosshair line, .c-chart__crosshair-line {
3725
- stroke: var(--atomix-primary-border-subtle);
3726
- stroke-width: 1;
3727
- stroke-dasharray: 4, 4;
3704
+ .c-chart__settings-menu-item--info {
3728
3705
  opacity: 0.7;
3706
+ font-size: 0.75rem;
3729
3707
  }
3730
- .c-chart__crosshair line--vertical, .c-chart__crosshair line--horizontal, .c-chart__crosshair-line--vertical, .c-chart__crosshair-line--horizontal {
3731
- opacity: 0.7;
3708
+ .c-chart__settings-menu-toggle {
3709
+ display: flex;
3710
+ align-items: center;
3711
+ gap: 0.5rem;
3712
+ cursor: pointer;
3713
+ width: 100%;
3714
+ -webkit-user-select: none;
3715
+ -moz-user-select: none;
3716
+ user-select: none;
3732
3717
  }
3733
- .c-chart__zoom-indicator {
3734
- position: absolute;
3735
- top: 10px;
3736
- right: 10px;
3737
- background: rgba(0, 0, 0, 0.8);
3738
- color: white;
3739
- padding: 4px 8px;
3740
- border-radius: 0.25rem;
3718
+ .c-chart__settings-menu-toggle input[type=checkbox] {
3719
+ width: 1rem;
3720
+ height: 1rem;
3721
+ cursor: pointer;
3722
+ accent-color: var(--atomix-primary);
3723
+ flex-shrink: 0;
3724
+ }
3725
+ .c-chart__settings-menu-label {
3741
3726
  font-size: 0.75rem;
3742
3727
  font-weight: 500;
3743
- pointer-events: none;
3744
- z-index: 10;
3745
- }
3746
- .c-chart__navigator {
3747
- opacity: 0.8;
3748
- }
3749
- .c-chart__navigator rect {
3750
- fill: rgba(0, 0, 0, 0.05);
3751
- stroke: var(--atomix-gray-3);
3752
- stroke-width: 1;
3728
+ color: var(--atomix-text-primary);
3729
+ flex: 1 1;
3753
3730
  }
3754
- .c-chart__navigator path {
3755
- stroke-width: 1;
3756
- fill: none;
3757
- opacity: 0.6;
3731
+ .c-chart__settings-menu-value {
3732
+ font-size: 0.75rem;
3733
+ font-weight: 600;
3734
+ color: var(--atomix-secondary-text-emphasis);
3735
+ text-transform: capitalize;
3758
3736
  }
3759
- .c-chart__real-time-indicator {
3760
- position: absolute;
3761
- top: 10px;
3762
- left: 10px;
3737
+ .c-chart__toolbar-group {
3763
3738
  display: flex;
3764
3739
  align-items: center;
3765
- gap: 6px;
3766
- background: var(--atomix-success-bg-subtle);
3767
- color: var(--atomix-success-text-emphasis);
3768
- padding: 4px 8px;
3769
- border-radius: 0.25rem;
3740
+ gap: 0.5rem;
3741
+ position: relative;
3742
+ }
3743
+ .c-chart__toolbar-group:hover .c-chart__export-dropdown,
3744
+ .c-chart__toolbar-group:hover .c-chart__settings-menu {
3745
+ opacity: 1;
3746
+ visibility: visible;
3747
+ transform: translateY(0);
3748
+ }
3749
+ .c-chart__toolbar-separator {
3750
+ width: 1px;
3751
+ height: 1.5rem;
3752
+ background: var(--atomix-border-color);
3753
+ margin: 0 0.5rem;
3754
+ }
3755
+ .c-chart__toolbar-label {
3770
3756
  font-size: 0.75rem;
3771
3757
  font-weight: 500;
3772
- border: 1px solid var(--atomix-success-border-subtle);
3773
- }
3774
- .c-chart__real-time-indicator::before {
3775
- content: "";
3776
- width: 6px;
3777
- height: 6px;
3778
- background: var(--atomix-success-6);
3779
- border-radius: 50%;
3780
- animation: chart-pulse-dot 2s ease-in-out infinite;
3758
+ color: var(--atomix-secondary-text-emphasis);
3759
+ text-transform: uppercase;
3760
+ letter-spacing: 0.5px;
3761
+ margin-right: 0.5rem;
3781
3762
  }
3782
- .c-chart__legend {
3783
- display: flex;
3784
- flex-wrap: wrap;
3785
- gap: 0.75rem;
3763
+ .c-chart__content {
3764
+ flex: 1 1;
3765
+ position: relative;
3786
3766
  padding: var(--atomix-chart-padding);
3787
- border-top: var(--atomix-chart-border-width) solid var(--atomix-brand-border-subtle);
3788
- z-index: 2;
3789
- }
3790
- .c-chart__legend-item {
3791
3767
  display: flex;
3792
3768
  align-items: center;
3793
- gap: 0.5rem;
3794
- cursor: pointer;
3795
- padding: 0.5rem 0.75rem;
3796
- border-radius: 0.5rem;
3797
- border: var(--atomix-chart-border-width) solid transparent;
3798
- background-color: transparent;
3799
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3800
- -webkit-user-select: none;
3801
- -moz-user-select: none;
3802
- user-select: none;
3803
- position: relative;
3769
+ justify-content: center;
3770
+ min-height: 8rem;
3771
+ z-index: 3;
3772
+ contain: layout;
3804
3773
  overflow: hidden;
3805
3774
  }
3806
- .c-chart__legend-item::before {
3775
+ .c-chart__content::before {
3807
3776
  content: "";
3808
3777
  position: absolute;
3809
- inset: 0;
3810
- background: var(--atomix-secondary-bg-subtle);
3811
- opacity: 0;
3812
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3813
- }
3814
- .c-chart__legend-item:hover {
3815
- background-color: var(--atomix-secondary-bg-subtle);
3816
- border-color: var(--atomix-primary-border-subtle);
3817
- transform: translateY(-1px);
3818
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
3819
- }
3820
- .c-chart__legend-item:hover::before {
3821
- opacity: 1;
3822
- }
3823
- .c-chart__legend-item:focus-visible:focus-visible {
3824
- outline: 2px solid var(--atomix-focus-border-color);
3825
- outline-offset: 2px;
3826
- box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3827
- }
3828
- .c-chart__legend-item:active {
3829
- transform: translateY(0);
3830
- }
3831
- .c-chart__legend-item[data-visible=false] {
3778
+ top: 0;
3779
+ left: 0;
3780
+ right: 0;
3781
+ bottom: 0;
3782
+ background-image: radial-gradient(circle at 1px 1px, rgba(var(--atomix-primary-rgb), 0.08) 1px, transparent 0);
3783
+ background-size: 16px 16px;
3832
3784
  opacity: 0.4;
3833
- filter: grayscale(60%);
3834
- }
3835
- .c-chart__legend-item[data-visible=false] .c-chart__legend-label {
3836
- text-decoration: line-through;
3785
+ pointer-events: none;
3786
+ z-index: 0;
3837
3787
  }
3838
- .c-chart__legend-item[data-visible=false] .c-chart__legend-color {
3839
- opacity: 0.3;
3840
- filter: grayscale(100%);
3788
+ .c-chart__content::after {
3789
+ content: "";
3790
+ position: absolute;
3791
+ inset: 0;
3792
+ background: linear-gradient(180deg, rgba(var(--atomix-primary-rgb), 0.03) 0%, transparent 30%, transparent 70%, rgba(var(--atomix-secondary-rgb), 0.02) 100%);
3793
+ pointer-events: none;
3794
+ z-index: 1;
3841
3795
  }
3842
- .c-chart__legend-color {
3843
- width: 0.75rem;
3844
- height: 0.75rem;
3845
- border-radius: 0.25rem;
3846
- border: var(--atomix-chart-border-width) solid var(--atomix-primary-border-subtle);
3847
- flex-shrink: 0;
3848
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
3849
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3796
+ .c-chart__canvas {
3797
+ width: 100%;
3798
+ height: 100%;
3850
3799
  position: relative;
3800
+ overflow: hidden;
3801
+ border-radius: 0.25rem;
3802
+ z-index: 2;
3803
+ background: transparent;
3804
+ min-height: 200px;
3805
+ contain: layout style paint;
3851
3806
  }
3852
- .c-chart__legend-label {
3853
- color: var(--atomix-primary-text-emphasis);
3854
- font-weight: 500;
3855
- letter-spacing: -0.01em;
3856
- transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3857
- position: relative;
3858
- z-index: 1;
3807
+ .c-chart__canvas svg {
3808
+ display: block;
3809
+ shape-rendering: geometricPrecision;
3810
+ text-rendering: optimizeLegibility;
3811
+ image-rendering: -webkit-optimize-contrast;
3812
+ image-rendering: crisp-edges;
3813
+ will-change: contents;
3814
+ -webkit-backface-visibility: hidden;
3815
+ backface-visibility: hidden;
3816
+ transform: translateZ(0);
3817
+ opacity: 0;
3818
+ animation: chart-fade-in 0.3s ease-out forwards;
3819
+ }
3820
+ @keyframes chart-fade-in {
3821
+ from {
3822
+ opacity: 0;
3823
+ }
3824
+ to {
3825
+ opacity: 1;
3826
+ }
3827
+ }
3828
+ .c-chart__canvas canvas {
3829
+ width: 100%;
3830
+ height: 100%;
3831
+ display: block;
3832
+ image-rendering: -webkit-optimize-contrast;
3833
+ image-rendering: crisp-edges;
3859
3834
  }
3860
3835
  .c-chart__tooltip {
3861
3836
  position: fixed;
3862
- top: 0;
3863
- left: 0;
3864
3837
  -webkit-backdrop-filter: blur(1rem);
3865
3838
  backdrop-filter: blur(1rem);
3866
3839
  border-radius: 0.75rem;
@@ -3891,8 +3864,8 @@ a, a:hover {
3891
3864
  gap: 0.5rem;
3892
3865
  }
3893
3866
  .c-chart__tooltip-color-indicator {
3894
- width: 12px;
3895
- height: 12px;
3867
+ width: 0.75rem;
3868
+ height: 0.75rem;
3896
3869
  border-radius: 50%;
3897
3870
  flex-shrink: 0;
3898
3871
  }
@@ -3926,64 +3899,10 @@ a, a:hover {
3926
3899
  color: var(--atomix-primary-text-emphasis);
3927
3900
  font-weight: 500;
3928
3901
  }
3929
- .c-chart__axis {
3930
- position: relative;
3931
- z-index: 55;
3932
- }
3933
- .c-chart__axis--x {
3934
- text-anchor: middle;
3935
- dominant-baseline: hanging;
3936
- }
3937
- .c-chart__axis--y {
3938
- text-anchor: end;
3939
- dominant-baseline: middle;
3940
- }
3941
- .c-chart__axis-line {
3942
- stroke: var(--atomix-primary-border-subtle);
3943
- stroke-width: 1;
3944
- opacity: 0.6;
3945
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3946
- }
3947
- .c-chart__axis-line--x, .c-chart__axis-line--y {
3948
- stroke-width: 2;
3949
- }
3950
- .c-chart__axis-line:hover {
3951
- opacity: 0.8;
3952
- }
3953
- .c-chart__tick-line {
3954
- stroke: var(--atomix-primary-border-subtle);
3955
- stroke-width: 1;
3956
- }
3957
- .c-chart__tick-label {
3958
- font-size: 0.75rem;
3959
- fill: var(--atomix-secondary-text-emphasis);
3960
- }
3961
- .c-chart__axis-label {
3962
- font-size: 0.75rem;
3963
- font-weight: 500;
3964
- fill: var(--atomix-tertiary-text-emphasis);
3965
- text-anchor: middle;
3966
- }
3967
- .c-chart__plot-area {
3968
- fill: rgba(248, 250, 252, 0.5);
3969
- stroke: var(--atomix-primary-border-subtle);
3970
- stroke-width: 1;
3971
- }
3972
- .c-chart__value-label {
3973
- font-size: 0.75rem;
3974
- fill: var(--atomix-primary-text-emphasis);
3975
- pointer-events: none;
3976
- }
3977
- .c-chart__data-label {
3978
- font-size: 0.75rem;
3979
- fill: var(--atomix-secondary-text-emphasis);
3980
- pointer-events: none;
3981
- }
3982
3902
  .c-chart__grid {
3983
3903
  stroke: var(--atomix-primary-border-subtle);
3984
3904
  stroke-width: 0.5;
3985
3905
  stroke-dasharray: 2, 4;
3986
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3987
3906
  }
3988
3907
  .c-chart__grid--major {
3989
3908
  stroke-width: 1;
@@ -3998,80 +3917,54 @@ a, a:hover {
3998
3917
  stroke-dasharray: none;
3999
3918
  opacity: 0.6;
4000
3919
  }
4001
- .c-chart__grid:hover {
3920
+ .c-chart__axis-line {
3921
+ stroke: var(--atomix-border-color);
3922
+ stroke-width: 1;
4002
3923
  opacity: 0.6;
4003
3924
  }
3925
+ .c-chart__axis-label {
3926
+ font-size: 0.75rem;
3927
+ font-weight: 500;
3928
+ fill: var(--atomix-tertiary-text-emphasis);
3929
+ }
3930
+ .c-chart__legend-item-color {
3931
+ width: 0.75rem;
3932
+ height: 0.75rem;
3933
+ flex-shrink: 0;
3934
+ }
3935
+ .c-chart__legend-item-text {
3936
+ font-size: 0.75rem;
3937
+ fill: var(--atomix-text-primary);
3938
+ }
3939
+ .c-chart__data-line {
3940
+ stroke-width: 2.5;
3941
+ fill: none;
3942
+ }
3943
+ .c-chart__data-line--hovered {
3944
+ stroke-width: 3.5;
3945
+ }
4004
3946
  .c-chart__data-point {
4005
3947
  cursor: pointer;
4006
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
4007
- transform-origin: center center;
3948
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4008
3949
  }
4009
3950
  .c-chart__data-point:hover {
4010
3951
  opacity: 0.8;
4011
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4012
3952
  }
4013
3953
  .c-chart__data-point:focus-visible {
4014
- outline: 2px solid var(--atomix-primary-border-subtle);
3954
+ outline: 2px solid var(--atomix-focus-border-color);
4015
3955
  outline-offset: 2px;
3956
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4016
3957
  }
4017
- .c-chart__data-point:active {
4018
- transform: scale(1.05);
4019
- }
4020
- .c-chart__data-point[data-highlighted=true] {
4021
- transform: scale(1.2);
4022
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
4023
- z-index: 10;
4024
- animation: chart-glow 2s ease-in-out infinite;
3958
+ .c-chart__data-point--hovered {
3959
+ opacity: 0.9;
3960
+ transform: scale(1.1);
4025
3961
  }
4026
- .c-chart__data-point[data-selected=true] {
4027
- stroke: var(--atomix-primary-border-subtle);
3962
+ .c-chart__data-point--selected {
3963
+ opacity: 1;
4028
3964
  stroke-width: 2;
4029
- filter: drop-shadow(0 0 0 2px var(--atomix-primary-border-subtle));
3965
+ filter: drop-shadow(0 0 4px currentColor);
4030
3966
  }
4031
- .c-chart__data-point[data-animated=true] {
4032
- animation: chart-scale-in 0.5s ease-out;
4033
- }
4034
- .c-chart__loading {
4035
- display: flex;
4036
- flex-direction: column;
4037
- align-items: center;
4038
- justify-content: center;
4039
- gap: 1rem;
4040
- color: var(--atomix-secondary-text-emphasis);
4041
- font-size: 0.875rem;
4042
- min-height: 8rem;
4043
- animation: chart-fade-in 0.6s ease-out;
4044
- }
4045
- .c-chart__loading-spinner {
4046
- width: 2rem;
4047
- height: 2rem;
4048
- border: 3px solid var(--atomix-primary-border-subtle);
4049
- border-top: 3px solid var(--atomix-primary-text-emphasis);
4050
- border-radius: 50%;
4051
- animation: chart-spin 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
4052
- }
4053
- .c-chart__loading-text {
4054
- font-weight: 500;
4055
- opacity: 0.8;
4056
- animation: chart-pulse 2s ease-in-out infinite;
4057
- }
4058
- .c-chart__error {
4059
- display: flex;
4060
- flex-direction: column;
4061
- align-items: center;
4062
- justify-content: center;
4063
- gap: 0.75rem;
4064
- color: var(--atomix-error-text-emphasis);
4065
- font-size: 0.875rem;
4066
- text-align: center;
4067
- padding: 2rem;
4068
- min-height: 8rem;
4069
- background-color: var(--atomix-error-bg-subtle);
4070
- border-radius: 0.5rem;
4071
- border: var(--atomix-chart-border-width) solid var(--atomix-error-border-subtle);
4072
- animation: chart-fade-in 0.6s ease-out;
4073
- }
4074
- .c-chart__empty {
3967
+ .c-chart__empty {
4075
3968
  display: flex;
4076
3969
  flex-direction: column;
4077
3970
  align-items: center;
@@ -4085,924 +3978,701 @@ a, a:hover {
4085
3978
  opacity: 0.6;
4086
3979
  animation: chart-fade-in 0.6s ease-out;
4087
3980
  }
4088
- .c-chart--line .c-chart__canvas .line-path,
4089
- .c-chart--line .c-chart__canvas .c-chart__line-path {
4090
- fill: none;
4091
- stroke-width: 2.5;
4092
- stroke-linecap: round;
4093
- stroke-linejoin: round;
4094
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4095
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
4096
- stroke-dasharray: 1000;
4097
- stroke-dashoffset: 1000;
4098
- animation: chart-draw-line 2s ease-out forwards;
4099
- }
4100
- .c-chart--line .c-chart__canvas .line-path:hover,
4101
- .c-chart--line .c-chart__canvas .c-chart__line-path:hover {
4102
- stroke-width: 3.5;
4103
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4104
- }
4105
- .c-chart--line .c-chart__canvas .trend-line {
4106
- stroke-dasharray: 5, 5;
4107
- opacity: 0.7;
4108
- animation: chart-dash-flow 2s linear infinite;
4109
- }
4110
- .c-chart--line .c-chart__canvas .moving-average {
4111
- stroke-dasharray: 4, 4;
4112
- opacity: 0.6;
4113
- stroke-width: 1;
4114
- fill: none;
4115
- }
4116
- .c-chart--line .c-chart__canvas .area-path,
4117
- .c-chart--line .c-chart__canvas .c-chart__area-path {
4118
- opacity: 0.15;
4119
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4120
- animation: chart-area-fade 1.5s ease-out;
3981
+ .c-chart__toolbar--sm {
3982
+ gap: 0.25rem;
4121
3983
  }
4122
- .c-chart--line .c-chart__canvas .area-path:hover,
4123
- .c-chart--line .c-chart__canvas .c-chart__area-path:hover {
4124
- opacity: 0.25;
3984
+ .c-chart__toolbar--lg {
3985
+ padding: 0.5rem;
3986
+ gap: 0.75rem;
4125
3987
  }
4126
- .c-chart--line .c-chart__canvas .chart-point-label {
4127
- font-size: 0.75rem;
3988
+ .c-chart__legend-item--active {
3989
+ opacity: 1;
4128
3990
  font-weight: 600;
4129
- text-anchor: middle;
4130
- dominant-baseline: middle;
4131
- pointer-events: none;
4132
- opacity: 0;
4133
- transition: opacity 0.2s ease;
4134
3991
  }
4135
- .c-chart--line .c-chart__canvas .chart-point-label.visible {
4136
- opacity: 1;
3992
+ .c-chart__legend-item--inactive {
3993
+ opacity: 0.5;
4137
3994
  }
4138
- .c-chart--line .c-chart__canvas .data-point {
4139
- r: 4;
3995
+ .c-chart__treemap-node {
3996
+ stroke: var(--atomix-border-color);
3997
+ stroke-width: 1;
4140
3998
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4141
3999
  cursor: pointer;
4000
+ shape-rendering: geometricPrecision;
4142
4001
  }
4143
- .c-chart--line .c-chart__canvas .data-point:hover {
4144
- r: 6;
4145
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
4002
+ .c-chart__treemap-node:hover {
4003
+ transform: scale(1.02);
4004
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4005
+ stroke-width: 1.5;
4146
4006
  }
4147
- .c-chart--line .c-chart__canvas .data-point[data-highlighted=true] {
4148
- r: 8;
4149
- stroke-width: 3;
4007
+ .c-chart__treemap-node--hovered {
4008
+ transform: scale(1.02);
4009
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4010
+ stroke-width: 1.5;
4150
4011
  }
4151
- .c-chart--line .c-chart__canvas .data-point:focus-visible {
4012
+ .c-chart__treemap-node--selected {
4013
+ stroke: var(--atomix-primary-border-subtle);
4014
+ stroke-width: 2;
4015
+ filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.12));
4016
+ }
4017
+ .c-chart__treemap-node:focus-visible {
4152
4018
  outline: 2px solid var(--atomix-focus-border-color);
4153
4019
  outline-offset: 2px;
4020
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4154
4021
  }
4155
- .c-chart--area .c-chart__canvas .area-path {
4156
- opacity: 0.3;
4157
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4158
- animation: chart-area-fade 1.5s ease-out;
4159
- }
4160
- .c-chart--area .c-chart__canvas .area-path:hover {
4161
- opacity: 0.45;
4162
- }
4163
- .c-chart--area .c-chart__canvas .line-path {
4164
- stroke-width: 2;
4165
- opacity: 0.9;
4166
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4167
- animation: chart-draw-line 2s ease-out;
4168
- }
4169
- .c-chart--area .c-chart__canvas .line-path:hover {
4170
- stroke-width: 3;
4171
- opacity: 1;
4022
+ .c-chart__treemap-label {
4023
+ font-size: 0.875rem;
4024
+ font-weight: 500;
4025
+ fill: var(--atomix-text-primary);
4026
+ text-anchor: middle;
4027
+ dominant-baseline: middle;
4028
+ pointer-events: none;
4029
+ -webkit-user-select: none;
4030
+ -moz-user-select: none;
4031
+ user-select: none;
4032
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4172
4033
  }
4173
- .c-chart--bar .c-chart__canvas .bar,
4174
- .c-chart--bar .c-chart__canvas .c-chart__bar, .c-chart--horizontal-bar .c-chart__canvas .bar,
4175
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar {
4034
+ .c-chart__funnel-segment {
4035
+ stroke: var(--atomix-border-color);
4036
+ stroke-width: 1;
4176
4037
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4177
4038
  cursor: pointer;
4178
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
4179
- animation: chart-bar-grow 0.8s ease-out;
4180
- opacity: 1;
4039
+ shape-rendering: geometricPrecision;
4181
4040
  }
4182
- .c-chart--bar .c-chart__canvas .bar:hover, .c-chart--bar .c-chart__canvas .bar--hovered,
4183
- .c-chart--bar .c-chart__canvas .c-chart__bar:hover,
4184
- .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,
4185
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:hover,
4186
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar--hovered {
4187
- opacity: 0.85;
4188
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
4041
+ .c-chart__funnel-segment:hover {
4042
+ opacity: 0.9;
4043
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4044
+ stroke-width: 1.5;
4189
4045
  }
4190
- .c-chart--bar .c-chart__canvas .bar:focus-visible,
4191
- .c-chart--bar .c-chart__canvas .c-chart__bar:focus-visible, .c-chart--horizontal-bar .c-chart__canvas .bar:focus-visible,
4192
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:focus-visible {
4193
- outline: 2px solid var(--atomix-primary-border-subtle);
4046
+ .c-chart__funnel-segment:focus-visible {
4047
+ outline: 2px solid var(--atomix-focus-border-color);
4194
4048
  outline-offset: 2px;
4049
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4195
4050
  }
4196
- .c-chart--bar .c-chart__canvas .bar[data-animated=true],
4197
- .c-chart--bar .c-chart__canvas .c-chart__bar[data-animated=true], .c-chart--horizontal-bar .c-chart__canvas .bar[data-animated=true],
4198
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar[data-animated=true] {
4199
- animation: chart-bar-grow 0.8s ease-out;
4200
- }
4201
- .c-chart--bar .c-chart__canvas .bar-group .bar, .c-chart--horizontal-bar .c-chart__canvas .bar-group .bar {
4202
- animation-delay: calc(var(--bar-index) * 0.1s);
4203
- }
4204
- .c-chart--bar .c-chart__canvas .bar-value-label,
4205
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label,
4206
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label {
4207
- font-size: 0.75rem;
4051
+ .c-chart__funnel-label {
4052
+ font-size: 0.875rem;
4208
4053
  font-weight: 500;
4209
- fill: var(--atomix-primary-text-emphasis);
4054
+ fill: var(--atomix-text-primary);
4210
4055
  text-anchor: middle;
4211
- opacity: 1;
4212
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4213
- font-feature-settings: "tnum";
4214
- font-variant-numeric: tabular-nums;
4056
+ dominant-baseline: middle;
4215
4057
  pointer-events: none;
4058
+ -webkit-user-select: none;
4059
+ -moz-user-select: none;
4060
+ user-select: none;
4061
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4216
4062
  }
4217
- .c-chart--bar .c-chart__canvas .bar-value-label.visible,
4218
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label.visible, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label.visible,
4219
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label.visible {
4220
- opacity: 1;
4221
- }
4222
- .c-chart--bar .c-chart__canvas .bar-gradient stop, .c-chart--horizontal-bar .c-chart__canvas .bar-gradient stop {
4223
- transition: stop-opacity 0.3s ease;
4224
- }
4225
- .c-chart--bar .c-chart__canvas .bar {
4226
- transform-origin: bottom center;
4227
- animation: chart-bar-grow 0.8s ease-out;
4228
- }
4229
- .c-chart--bar .c-chart__canvas .bar:hover {
4230
- transform: scaleY(1.05);
4231
- }
4232
- .c-chart--horizontal-bar .c-chart__canvas .bar {
4233
- transform-origin: left center;
4234
- animation: chart-bar-grow-horizontal 0.8s ease-out;
4235
- }
4236
- .c-chart--horizontal-bar .c-chart__canvas .bar:hover {
4237
- transform: scaleX(1.05);
4238
- }
4239
- .c-chart--pie .c-chart__canvas .pie-slice,
4240
- .c-chart--pie .c-chart__canvas .donut-slice,
4241
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice,
4242
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice, .c-chart--donut .c-chart__canvas .pie-slice,
4243
- .c-chart--donut .c-chart__canvas .donut-slice,
4244
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice,
4245
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice, .c-chart--doughnut .c-chart__canvas .pie-slice,
4246
- .c-chart--doughnut .c-chart__canvas .donut-slice,
4247
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice,
4248
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice {
4249
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
4250
- stroke: var(--atomix-primary-bg-subtle);
4251
- stroke-width: 2;
4252
- cursor: pointer;
4253
- transform-origin: center;
4254
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
4255
- opacity: 1;
4256
- animation: chart-pie-draw 1.5s ease-out;
4257
- }
4258
- .c-chart--pie .c-chart__canvas .pie-slice:hover, .c-chart--pie .c-chart__canvas .pie-slice--hovered,
4259
- .c-chart--pie .c-chart__canvas .donut-slice:hover,
4260
- .c-chart--pie .c-chart__canvas .donut-slice--hovered,
4261
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:hover,
4262
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--hovered,
4263
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:hover,
4264
- .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,
4265
- .c-chart--donut .c-chart__canvas .donut-slice:hover,
4266
- .c-chart--donut .c-chart__canvas .donut-slice--hovered,
4267
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:hover,
4268
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--hovered,
4269
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:hover,
4270
- .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,
4271
- .c-chart--doughnut .c-chart__canvas .donut-slice:hover,
4272
- .c-chart--doughnut .c-chart__canvas .donut-slice--hovered,
4273
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:hover,
4274
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--hovered,
4275
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:hover,
4276
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--hovered {
4277
- opacity: 0.8;
4278
- transform: scale(1.05);
4279
- stroke-width: 3;
4280
- filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
4281
- }
4282
- .c-chart--pie .c-chart__canvas .pie-slice--selected,
4283
- .c-chart--pie .c-chart__canvas .donut-slice--selected,
4284
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--selected,
4285
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--donut .c-chart__canvas .pie-slice--selected,
4286
- .c-chart--donut .c-chart__canvas .donut-slice--selected,
4287
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--selected,
4288
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--doughnut .c-chart__canvas .pie-slice--selected,
4289
- .c-chart--doughnut .c-chart__canvas .donut-slice--selected,
4290
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--selected,
4291
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--selected {
4292
- stroke: var(--atomix-primary-border-subtle);
4293
- stroke-width: 3;
4294
- }
4295
- .c-chart--pie .c-chart__canvas .pie-slice:focus-visible,
4296
- .c-chart--pie .c-chart__canvas .donut-slice:focus-visible,
4297
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:focus-visible,
4298
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--donut .c-chart__canvas .pie-slice:focus-visible,
4299
- .c-chart--donut .c-chart__canvas .donut-slice:focus-visible,
4300
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:focus-visible,
4301
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--doughnut .c-chart__canvas .pie-slice:focus-visible,
4302
- .c-chart--doughnut .c-chart__canvas .donut-slice:focus-visible,
4303
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:focus-visible,
4304
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:focus-visible {
4305
- outline: 2px solid var(--atomix-primary-border-subtle);
4306
- outline-offset: 4px;
4307
- }
4308
- .c-chart--pie .c-chart__canvas .pie-label,
4309
- .c-chart--pie .c-chart__canvas .c-chart__pie-label,
4310
- .c-chart--pie .c-chart__canvas .c-chart__donut-label, .c-chart--donut .c-chart__canvas .pie-label,
4311
- .c-chart--donut .c-chart__canvas .c-chart__pie-label,
4312
- .c-chart--donut .c-chart__canvas .c-chart__donut-label, .c-chart--doughnut .c-chart__canvas .pie-label,
4313
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-label,
4314
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-label {
4063
+ .c-chart__funnel-conversion {
4315
4064
  font-size: 0.75rem;
4316
4065
  font-weight: 600;
4317
- fill: var(--atomix-primary-text-emphasis);
4318
- text-anchor: middle;
4319
- pointer-events: none;
4320
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4321
- font-feature-settings: "tnum";
4322
- font-variant-numeric: tabular-nums;
4323
- }
4324
- .c-chart--donut .c-chart__canvas .donut-slice, .c-chart--doughnut .c-chart__canvas .donut-slice {
4325
- animation: chart-donut-draw 1.5s ease-out;
4326
- }
4327
- .c-chart--donut .c-chart__canvas .donut-center,
4328
- .c-chart--donut .c-chart__canvas .c-chart__donut-center, .c-chart--doughnut .c-chart__canvas .donut-center,
4329
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center {
4330
- transition: fill 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4331
- }
4332
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-bg, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-bg {
4333
- fill: var(--atomix-primary-bg-subtle);
4334
- }
4335
- .c-chart--donut .c-chart__canvas .donut-center-label,
4336
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-label, .c-chart--doughnut .c-chart__canvas .donut-center-label,
4337
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-label {
4338
- font-size: 0.875rem;
4339
- font-weight: 500;
4340
4066
  fill: var(--atomix-secondary-text-emphasis);
4341
4067
  text-anchor: middle;
4342
- dominant-baseline: central;
4343
- font-feature-settings: "tnum";
4344
- font-variant-numeric: tabular-nums;
4345
- }
4346
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-value, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-value {
4347
- font-size: 1.5rem;
4348
- font-weight: 700;
4349
- fill: var(--atomix-primary-text-emphasis);
4350
- text-anchor: middle;
4351
- dominant-baseline: central;
4352
- font-feature-settings: "tnum";
4353
- font-variant-numeric: tabular-nums;
4068
+ dominant-baseline: middle;
4069
+ pointer-events: none;
4070
+ -webkit-user-select: none;
4071
+ -moz-user-select: none;
4072
+ user-select: none;
4073
+ opacity: 0.8;
4354
4074
  }
4355
- .c-chart--scatter .c-chart__canvas .scatter-point,
4356
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point {
4357
- stroke: var(--atomix-primary-border-subtle);
4075
+ .c-chart__heatmap-cell {
4076
+ stroke: var(--atomix-border-color);
4358
4077
  stroke-width: 1;
4078
+ rx: 0.25rem;
4079
+ ry: 0.25rem;
4359
4080
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4360
4081
  cursor: pointer;
4361
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
4362
- animation: chart-fade-in 0.6s ease-out;
4082
+ shape-rendering: geometricPrecision;
4363
4083
  }
4364
- .c-chart--scatter .c-chart__canvas .scatter-point:hover,
4365
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:hover {
4366
- filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
4084
+ .c-chart__heatmap-cell:hover {
4085
+ transform: scale(1.05);
4086
+ transform-origin: center;
4087
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4088
+ stroke-width: 2;
4089
+ z-index: 10;
4367
4090
  }
4368
- .c-chart--scatter .c-chart__canvas .scatter-point:focus-visible,
4369
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:focus-visible {
4370
- outline: 2px solid var(--atomix-primary-border-subtle);
4091
+ .c-chart__heatmap-cell--hovered {
4092
+ transform: scale(1.05);
4093
+ transform-origin: center;
4094
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4095
+ stroke-width: 2;
4096
+ z-index: 10;
4097
+ }
4098
+ .c-chart__heatmap-cell:focus-visible {
4099
+ outline: 2px solid var(--atomix-focus-border-color);
4371
4100
  outline-offset: 2px;
4101
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4372
4102
  }
4373
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-label {
4103
+ .c-chart__heatmap-label {
4374
4104
  font-size: 0.75rem;
4375
- fill: var(--atomix-primary-text-emphasis);
4105
+ font-weight: 400;
4106
+ fill: var(--atomix-text-primary);
4107
+ text-anchor: middle;
4108
+ dominant-baseline: middle;
4376
4109
  pointer-events: none;
4110
+ -webkit-user-select: none;
4111
+ -moz-user-select: none;
4112
+ user-select: none;
4377
4113
  }
4378
- .c-chart--bubble .c-chart__canvas .c-chart__bubble {
4379
- stroke: var(--atomix-primary-bg-subtle);
4380
- stroke-width: 2;
4381
- cursor: pointer;
4382
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4383
- }
4384
- .c-chart--bubble .c-chart__canvas .c-chart__bubble--animated {
4385
- transition: all 1s ease-out;
4386
- }
4387
- .c-chart--bubble .c-chart__canvas .c-chart__bubble:hover {
4388
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
4389
- }
4390
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label {
4114
+ .c-chart__heatmap-axis-label {
4391
4115
  font-size: 0.75rem;
4392
4116
  font-weight: 500;
4393
- fill: var(--atomix-tertiary-text-emphasis);
4117
+ fill: var(--atomix-secondary-text-emphasis);
4118
+ text-anchor: middle;
4119
+ dominant-baseline: middle;
4394
4120
  pointer-events: none;
4121
+ -webkit-user-select: none;
4122
+ -moz-user-select: none;
4123
+ user-select: none;
4395
4124
  }
4396
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label--center {
4397
- fill: var(--atomix-invert-text-emphasis);
4398
- font-weight: 700;
4399
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4400
- }
4401
- .c-chart--radar .c-chart__canvas .c-chart__radar-grid {
4402
- stroke: var(--atomix-primary-border-subtle);
4403
- stroke-width: 1;
4404
- opacity: 0.3;
4405
- }
4406
- .c-chart--radar .c-chart__canvas .c-chart__radar-axis {
4407
- stroke: var(--atomix-primary-border-subtle);
4408
- stroke-width: 1;
4409
- opacity: 0.5;
4125
+ .c-chart__heatmap-legend-title {
4126
+ font-size: 0.875rem;
4127
+ font-weight: 600;
4128
+ fill: var(--atomix-text-primary);
4129
+ text-anchor: start;
4130
+ dominant-baseline: baseline;
4131
+ pointer-events: none;
4132
+ -webkit-user-select: none;
4133
+ -moz-user-select: none;
4134
+ user-select: none;
4410
4135
  }
4411
- .c-chart--radar .c-chart__canvas .c-chart__radar-label {
4136
+ .c-chart__heatmap-legend-label {
4412
4137
  font-size: 0.75rem;
4138
+ font-weight: 400;
4413
4139
  fill: var(--atomix-secondary-text-emphasis);
4140
+ text-anchor: start;
4141
+ dominant-baseline: middle;
4142
+ pointer-events: none;
4143
+ -webkit-user-select: none;
4144
+ -moz-user-select: none;
4145
+ user-select: none;
4414
4146
  }
4415
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill {
4416
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4417
- }
4418
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill:hover {
4419
- opacity: 0.5 !important;
4147
+ .c-chart__candlestick-candle {
4148
+ stroke: var(--atomix-border-color);
4149
+ stroke-width: 1;
4150
+ rx: 0.25rem;
4151
+ ry: 0.25rem;
4152
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4153
+ cursor: pointer;
4154
+ shape-rendering: geometricPrecision;
4420
4155
  }
4421
- .c-chart--radar .c-chart__canvas .c-chart__radar-line {
4422
- fill: none;
4423
- transition: stroke-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4156
+ .c-chart__candlestick-candle:hover {
4157
+ opacity: 0.9;
4158
+ stroke-width: 1.5;
4159
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4424
4160
  }
4425
- .c-chart--radar .c-chart__canvas .c-chart__radar-line:hover {
4426
- stroke-width: 3 !important;
4161
+ .c-chart__candlestick-candle:focus-visible {
4162
+ outline: 2px solid var(--atomix-focus-border-color);
4163
+ outline-offset: 2px;
4164
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4427
4165
  }
4428
- .c-chart--radar .c-chart__canvas .c-chart__radar-point {
4429
- stroke: var(--atomix-primary-bg-subtle);
4430
- stroke-width: 2;
4431
- cursor: pointer;
4166
+ .c-chart__candlestick-wick {
4167
+ stroke: var(--atomix-tertiary-text-emphasis);
4168
+ stroke-width: 1;
4169
+ opacity: 0.8;
4432
4170
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4171
+ shape-rendering: geometricPrecision;
4433
4172
  }
4434
- .c-chart--radar .c-chart__canvas .c-chart__radar-point:hover {
4435
- transform: scale(1.3);
4436
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
4173
+ .c-chart__candlestick-wick:hover {
4174
+ opacity: 1;
4175
+ stroke-width: 1.2;
4437
4176
  }
4438
- .c-chart--candlestick .c-chart__canvas .candlestick,
4439
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick {
4440
- stroke-width: 1;
4441
- cursor: pointer;
4177
+ .c-chart__candlestick-volume {
4442
4178
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4443
- animation: chart-fade-in 0.6s ease-out;
4179
+ cursor: pointer;
4180
+ shape-rendering: geometricPrecision;
4444
4181
  }
4445
- .c-chart--candlestick .c-chart__canvas .candlestick--bullish,
4446
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bullish {
4447
- opacity: 0.8;
4182
+ .c-chart__candlestick-volume:hover {
4183
+ opacity: 0.6;
4448
4184
  }
4449
- .c-chart--candlestick .c-chart__canvas .candlestick--bearish,
4450
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bearish {
4451
- opacity: 1;
4185
+ .c-chart__bar {
4186
+ rx: 0.25rem;
4187
+ ry: 0.25rem;
4188
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4189
+ cursor: pointer;
4190
+ shape-rendering: geometricPrecision;
4452
4191
  }
4453
- .c-chart--candlestick .c-chart__canvas .candlestick:hover,
4454
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick:hover {
4455
- opacity: 0.8;
4456
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4192
+ .c-chart__bar:hover {
4193
+ opacity: 0.85;
4194
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4457
4195
  }
4458
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick-highlight {
4459
- stroke-width: 2;
4460
- opacity: 0.5;
4196
+ .c-chart__bar--hovered {
4197
+ opacity: 0.85;
4198
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4461
4199
  }
4462
- .c-chart--candlestick .c-chart__canvas .wick,
4463
- .c-chart--candlestick .c-chart__canvas .c-chart__wick {
4464
- stroke-width: 1;
4465
- opacity: 0.8;
4200
+ .c-chart__bar:focus-visible {
4201
+ outline: 2px solid var(--atomix-focus-border-color);
4202
+ outline-offset: 2px;
4203
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4466
4204
  }
4467
- .c-chart--candlestick .c-chart__canvas .wick--hovered,
4468
- .c-chart--candlestick .c-chart__canvas .c-chart__wick--hovered {
4469
- stroke-width: 2;
4205
+ .c-chart__bar-value-label {
4206
+ font-size: 0.75rem;
4207
+ font-weight: 500;
4208
+ fill: var(--atomix-text-primary);
4209
+ text-anchor: middle;
4210
+ pointer-events: none;
4211
+ -webkit-user-select: none;
4212
+ -moz-user-select: none;
4213
+ user-select: none;
4470
4214
  }
4471
- .c-chart--candlestick .c-chart__canvas .c-chart__moving-average {
4472
- stroke-width: 2;
4473
- opacity: 0.8;
4215
+ .c-chart__line-path {
4216
+ fill: none;
4217
+ stroke-linecap: round;
4218
+ stroke-linejoin: round;
4219
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4220
+ shape-rendering: geometricPrecision;
4474
4221
  }
4475
- .c-chart--candlestick .c-chart__canvas .volume-bar {
4476
- opacity: 0.3;
4477
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4222
+ .c-chart__area-path {
4223
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4224
+ shape-rendering: geometricPrecision;
4478
4225
  }
4479
- .c-chart--candlestick .c-chart__canvas .volume-bar:hover {
4480
- opacity: 0.6;
4226
+ .c-chart__area-fill {
4227
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4228
+ shape-rendering: geometricPrecision;
4481
4229
  }
4482
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-background {
4483
- fill: var(--atomix-secondary-bg-subtle);
4484
- stroke: var(--atomix-primary-border-subtle);
4485
- stroke-width: 1;
4230
+ .c-chart__area-point {
4231
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4232
+ cursor: pointer;
4233
+ shape-rendering: geometricPrecision;
4486
4234
  }
4487
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-zone {
4488
- stroke: var(--atomix-primary-bg-subtle);
4489
- stroke-width: 2;
4235
+ .c-chart__area-point:hover {
4236
+ transform: scale(1.2);
4490
4237
  }
4491
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--major {
4492
- stroke: var(--atomix-secondary-text-emphasis);
4493
- stroke-width: 2;
4238
+ .c-chart__area-point--hovered {
4239
+ transform: scale(1.2);
4494
4240
  }
4495
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--minor {
4496
- stroke: var(--atomix-tertiary-text-emphasis);
4497
- stroke-width: 1;
4241
+ .c-chart__area-point:focus-visible {
4242
+ outline: 2px solid var(--atomix-focus-border-color);
4243
+ outline-offset: 2px;
4244
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4498
4245
  }
4499
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick-label {
4246
+ .c-chart__point-label {
4500
4247
  font-size: 0.75rem;
4501
- fill: var(--atomix-secondary-text-emphasis);
4248
+ font-weight: 500;
4249
+ text-anchor: middle;
4250
+ pointer-events: none;
4251
+ -webkit-user-select: none;
4252
+ -moz-user-select: none;
4253
+ user-select: none;
4502
4254
  }
4503
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-min-max-label {
4504
- font-size: 0.875rem;
4505
- font-weight: 700;
4506
- fill: var(--atomix-secondary-text-emphasis);
4255
+ .c-chart__pie-slice {
4256
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
4257
+ cursor: pointer;
4258
+ shape-rendering: geometricPrecision;
4507
4259
  }
4508
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-line {
4260
+ .c-chart__pie-slice:hover {
4509
4261
  stroke-width: 3;
4510
- stroke-linecap: round;
4262
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4511
4263
  }
4512
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-center {
4513
- stroke: var(--atomix-primary-bg-subtle);
4514
- stroke-width: 2;
4264
+ .c-chart__pie-slice--hovered {
4265
+ stroke-width: 3;
4266
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4515
4267
  }
4516
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-value {
4517
- font-size: 2rem;
4518
- font-weight: 700;
4519
- fill: var(--atomix-primary-text-emphasis);
4268
+ .c-chart__pie-slice:focus-visible {
4269
+ outline: 2px solid var(--atomix-focus-border-color);
4270
+ outline-offset: 2px;
4271
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4520
4272
  }
4521
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-label {
4522
- font-size: 0.875rem;
4523
- fill: var(--atomix-secondary-text-emphasis);
4273
+ .c-chart__pie-label {
4274
+ font-size: 0.75rem;
4275
+ font-weight: 500;
4276
+ fill: var(--atomix-text-primary);
4277
+ text-anchor: middle;
4278
+ dominant-baseline: middle;
4279
+ pointer-events: none;
4280
+ -webkit-user-select: none;
4281
+ -moz-user-select: none;
4282
+ user-select: none;
4283
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4524
4284
  }
4525
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment {
4526
- stroke: var(--atomix-primary-bg-subtle);
4527
- stroke-width: 2;
4285
+ .c-chart__donut-slice {
4286
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
4528
4287
  cursor: pointer;
4529
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4288
+ shape-rendering: geometricPrecision;
4289
+ transform-origin: center;
4530
4290
  }
4531
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment--animated {
4532
- transition: all 1s ease-out;
4291
+ .c-chart__donut-slice:hover {
4292
+ transform: scale(1.02);
4293
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4533
4294
  }
4534
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment:hover {
4535
- opacity: 0.8;
4536
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
4295
+ .c-chart__donut-slice--hovered {
4296
+ transform: scale(1.02);
4297
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4537
4298
  }
4538
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label {
4539
- font-size: 0.875rem;
4540
- font-weight: 700;
4299
+ .c-chart__donut-slice:focus-visible {
4300
+ outline: 2px solid var(--atomix-focus-border-color);
4301
+ outline-offset: 2px;
4302
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4303
+ }
4304
+ .c-chart__donut-label {
4305
+ font-size: 0.75rem;
4306
+ font-weight: 500;
4307
+ fill: var(--atomix-text-primary);
4308
+ text-anchor: middle;
4309
+ dominant-baseline: middle;
4541
4310
  pointer-events: none;
4311
+ -webkit-user-select: none;
4312
+ -moz-user-select: none;
4313
+ user-select: none;
4314
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4542
4315
  }
4543
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--inside {
4544
- fill: var(--atomix-invert-text-emphasis);
4545
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4316
+ .c-chart__donut-percentage {
4317
+ font-size: 0.75rem;
4318
+ font-weight: 600;
4319
+ fill: var(--atomix-secondary-text-emphasis);
4320
+ text-anchor: middle;
4321
+ dominant-baseline: middle;
4322
+ pointer-events: none;
4323
+ -webkit-user-select: none;
4324
+ -moz-user-select: none;
4325
+ user-select: none;
4546
4326
  }
4547
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--outside {
4548
- fill: var(--atomix-primary-text-emphasis);
4327
+ .c-chart__donut-center-label {
4328
+ font-size: 0.875rem;
4329
+ font-weight: 500;
4330
+ fill: var(--atomix-secondary-text-emphasis);
4331
+ text-anchor: middle;
4332
+ dominant-baseline: middle;
4333
+ pointer-events: none;
4334
+ -webkit-user-select: none;
4335
+ -moz-user-select: none;
4336
+ user-select: none;
4549
4337
  }
4550
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value {
4551
- font-size: 0.75rem;
4338
+ .c-chart__donut-center-value {
4339
+ font-size: 1.25rem;
4340
+ font-weight: 700;
4341
+ fill: var(--atomix-text-primary);
4342
+ text-anchor: middle;
4343
+ dominant-baseline: middle;
4552
4344
  pointer-events: none;
4345
+ -webkit-user-select: none;
4346
+ -moz-user-select: none;
4347
+ user-select: none;
4553
4348
  }
4554
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--inside {
4555
- fill: var(--atomix-invert-text-emphasis);
4556
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4349
+ .c-chart__scatter-point {
4350
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4351
+ cursor: pointer;
4352
+ shape-rendering: geometricPrecision;
4557
4353
  }
4558
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--outside {
4559
- fill: var(--atomix-secondary-text-emphasis);
4354
+ .c-chart__scatter-point:hover {
4355
+ transform: scale(1.2);
4356
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4560
4357
  }
4561
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-conversion {
4562
- font-size: 0.75rem;
4563
- fill: var(--atomix-secondary-text-emphasis);
4564
- font-style: italic;
4358
+ .c-chart__scatter-point:focus-visible {
4359
+ outline: 2px solid var(--atomix-focus-border-color);
4360
+ outline-offset: 2px;
4361
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4565
4362
  }
4566
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-axis-label {
4363
+ .c-chart__scatter-label {
4567
4364
  font-size: 0.75rem;
4568
- fill: var(--atomix-gray-7);
4569
4365
  font-weight: 500;
4366
+ fill: var(--atomix-text-primary);
4367
+ text-anchor: middle;
4368
+ pointer-events: none;
4570
4369
  -webkit-user-select: none;
4571
4370
  -moz-user-select: none;
4572
4371
  user-select: none;
4573
4372
  }
4574
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell {
4373
+ .c-chart__bubble {
4374
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4575
4375
  cursor: pointer;
4576
- transition: all 0.2s ease;
4577
- shape-rendering: crispEdges;
4376
+ shape-rendering: geometricPrecision;
4578
4377
  }
4579
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--empty {
4580
- fill: var(--atomix-gray-2);
4581
- stroke: var(--atomix-gray-3);
4582
- stroke-width: 0.5;
4583
- opacity: 0.6;
4378
+ .c-chart__bubble:hover {
4379
+ transform: scale(1.1);
4380
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4584
4381
  }
4585
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--hovered {
4382
+ .c-chart__bubble--hovered {
4586
4383
  transform: scale(1.1);
4587
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4588
- z-index: 10;
4384
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4589
4385
  }
4590
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell:focus-visible {
4591
- outline: 2px solid var(--atomix-primary-6);
4592
- outline-offset: 1px;
4386
+ .c-chart__bubble:focus-visible {
4387
+ outline: 2px solid var(--atomix-focus-border-color);
4388
+ outline-offset: 2px;
4389
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4593
4390
  }
4594
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value {
4595
- font-size: 9px;
4391
+ .c-chart__bubble-label {
4392
+ font-size: 0.75rem;
4596
4393
  font-weight: 500;
4394
+ fill: var(--atomix-text-primary);
4395
+ text-anchor: middle;
4396
+ dominant-baseline: middle;
4597
4397
  pointer-events: none;
4598
4398
  -webkit-user-select: none;
4599
4399
  -moz-user-select: none;
4600
4400
  user-select: none;
4601
- font-feature-settings: "tnum";
4602
- font-variant-numeric: tabular-nums;
4603
- }
4604
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--light {
4605
- fill: white;
4606
4401
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4607
4402
  }
4608
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--dark {
4609
- fill: var(--atomix-gray-8);
4610
- }
4611
- .c-chart--heatmap .c-chart__canvas.c-chart--calendar .c-chart__heatmap-cell {
4612
- rx: 2;
4403
+ .c-chart__radar-grid-line {
4404
+ stroke: var(--atomix-border-color);
4405
+ stroke-width: 1;
4406
+ opacity: 0.3;
4407
+ shape-rendering: geometricPrecision;
4613
4408
  }
4614
- .c-chart--heatmap .c-chart__canvas.c-chart--grid .c-chart__heatmap-cell {
4615
- rx: 4;
4409
+ .c-chart__radar-axis-label {
4410
+ font-size: 0.75rem;
4411
+ font-weight: 500;
4412
+ fill: var(--atomix-secondary-text-emphasis);
4413
+ text-anchor: middle;
4414
+ dominant-baseline: middle;
4415
+ pointer-events: none;
4416
+ -webkit-user-select: none;
4417
+ -moz-user-select: none;
4418
+ user-select: none;
4616
4419
  }
4617
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node {
4618
- cursor: pointer;
4619
- stroke: var(--atomix-primary-bg-subtle);
4620
- stroke-width: 1;
4420
+ .c-chart__radar-area {
4621
4421
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4422
+ shape-rendering: geometricPrecision;
4622
4423
  }
4623
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--animated {
4624
- transition: all 750ms ease-out;
4424
+ .c-chart__radar-line {
4425
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4426
+ shape-rendering: geometricPrecision;
4427
+ stroke-linecap: round;
4428
+ stroke-linejoin: round;
4625
4429
  }
4626
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--hovered {
4627
- opacity: 0.8;
4430
+ .c-chart__radar-point {
4431
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4432
+ cursor: pointer;
4433
+ shape-rendering: geometricPrecision;
4628
4434
  }
4629
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--selected {
4630
- stroke-width: 2;
4435
+ .c-chart__radar-point:hover {
4436
+ transform: scale(1.3);
4437
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4631
4438
  }
4632
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-label {
4633
- font-size: 0.75rem;
4634
- font-weight: 700;
4635
- fill: var(--atomix-invert-text-emphasis);
4636
- pointer-events: none;
4439
+ .c-chart__radar-point--hovered {
4440
+ transform: scale(1.3);
4441
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4637
4442
  }
4638
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-value {
4639
- font-size: 0.75rem;
4640
- fill: var(--atomix-invert-text-emphasis);
4641
- opacity: 0.8;
4642
- pointer-events: none;
4443
+ .c-chart__radar-point:focus-visible {
4444
+ outline: 2px solid var(--atomix-focus-border-color);
4445
+ outline-offset: 2px;
4446
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4643
4447
  }
4644
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar {
4645
- stroke: var(--atomix-primary-bg-subtle);
4646
- stroke-width: 2;
4647
- cursor: pointer;
4448
+ .c-chart__waterfall-bar {
4449
+ rx: 0.25rem;
4450
+ ry: 0.25rem;
4648
4451
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4452
+ cursor: pointer;
4453
+ shape-rendering: geometricPrecision;
4649
4454
  }
4650
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar--animated {
4651
- transition: all 1s ease-out;
4455
+ .c-chart__waterfall-bar:hover {
4456
+ opacity: 0.85;
4457
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.06));
4652
4458
  }
4653
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar:hover {
4654
- opacity: 0.8;
4655
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
4459
+ .c-chart__waterfall-bar--animated {
4460
+ animation: chart-bar-appear 1s ease-out;
4461
+ transform-origin: bottom center;
4462
+ }
4463
+ .c-chart__waterfall-bar:focus-visible {
4464
+ outline: 2px solid var(--atomix-focus-border-color);
4465
+ outline-offset: 2px;
4466
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4656
4467
  }
4657
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value {
4468
+ .c-chart__waterfall-value {
4658
4469
  font-size: 0.75rem;
4659
- font-weight: 700;
4470
+ font-weight: 600;
4471
+ fill: var(--atomix-text-primary);
4472
+ text-anchor: middle;
4660
4473
  pointer-events: none;
4474
+ -webkit-user-select: none;
4475
+ -moz-user-select: none;
4476
+ user-select: none;
4661
4477
  }
4662
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--center {
4663
- fill: var(--atomix-invert-text-emphasis);
4664
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4478
+ .c-chart__waterfall-value--center {
4479
+ dominant-baseline: middle;
4665
4480
  }
4666
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--outside {
4667
- fill: var(--atomix-primary-text-emphasis);
4481
+ .c-chart__waterfall-value--outside {
4482
+ dominant-baseline: auto;
4668
4483
  }
4669
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-connector {
4670
- stroke-width: 2;
4671
- opacity: 0.7;
4484
+ .c-chart__waterfall-connector {
4485
+ stroke: var(--atomix-border-color);
4486
+ stroke-width: 1;
4487
+ opacity: 0.6;
4488
+ shape-rendering: geometricPrecision;
4672
4489
  }
4673
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-line {
4674
- stroke-width: 3;
4490
+ .c-chart__waterfall-cumulative-line {
4491
+ stroke-width: 2;
4675
4492
  stroke-linecap: round;
4676
4493
  stroke-linejoin: round;
4494
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4495
+ shape-rendering: geometricPrecision;
4677
4496
  }
4678
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-point {
4679
- stroke: var(--atomix-primary-bg-subtle);
4680
- stroke-width: 2;
4681
- }
4682
- @keyframes chart-spin {
4683
- 0% {
4684
- transform: rotate(0deg);
4685
- }
4686
- 100% {
4687
- transform: rotate(360deg);
4688
- }
4689
- }
4690
- @keyframes chart-shimmer {
4691
- 0% {
4692
- left: -100%;
4693
- }
4694
- 100% {
4695
- left: 100%;
4696
- }
4697
- }
4698
- @keyframes chart-pulse {
4699
- 0%, 100% {
4700
- opacity: 0.8;
4701
- }
4702
- 50% {
4703
- opacity: 1;
4704
- }
4705
- }
4706
- @keyframes chart-draw-line {
4707
- 0% {
4708
- stroke-dashoffset: 1000;
4709
- }
4710
- 100% {
4711
- stroke-dashoffset: 0;
4712
- }
4713
- }
4714
- @keyframes chart-area-fade {
4715
- 0% {
4716
- opacity: 0;
4717
- }
4718
- 100% {
4719
- opacity: 0.3;
4720
- }
4497
+ .c-chart__waterfall-cumulative-point {
4498
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4499
+ cursor: pointer;
4500
+ shape-rendering: geometricPrecision;
4721
4501
  }
4722
- @keyframes chart-bar-grow {
4723
- 0% {
4724
- transform: scaleY(0);
4725
- }
4726
- 100% {
4727
- transform: scaleY(1);
4728
- }
4502
+ .c-chart__waterfall-cumulative-point:hover {
4503
+ transform: scale(1.3);
4729
4504
  }
4730
- @keyframes chart-bar-grow-horizontal {
4731
- 0% {
4732
- transform: scaleX(0);
4733
- }
4734
- 100% {
4735
- transform: scaleX(1);
4736
- }
4505
+ .c-chart__waterfall-cumulative-point:focus-visible {
4506
+ outline: 2px solid var(--atomix-focus-border-color);
4507
+ outline-offset: 2px;
4508
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4737
4509
  }
4738
- @keyframes chart-pie-draw {
4739
- 0% {
4740
- stroke-dasharray: 0 628;
4510
+ @media (prefers-contrast: high) {
4511
+ .c-chart {
4512
+ border-width: calc(var(--atomix-border-width) * 2);
4741
4513
  }
4742
- 100% {
4743
- stroke-dasharray: 628 628;
4514
+ .c-chart--selected {
4515
+ border-width: calc(var(--atomix-border-width) * 3);
4744
4516
  }
4745
- }
4746
- @keyframes chart-donut-draw {
4747
- 0% {
4748
- stroke-dasharray: 0 628;
4517
+ .c-chart__action {
4518
+ border-width: calc(var(--atomix-border-width) * 2);
4749
4519
  }
4750
- 100% {
4751
- stroke-dasharray: 628 628;
4520
+ .c-chart__action:focus-visible {
4521
+ outline-width: calc(var(--atomix-border-width) * 3);
4752
4522
  }
4753
- }
4754
- @keyframes chart-fade-in {
4755
- 0% {
4756
- opacity: 0;
4757
- transform: translateY(10px);
4523
+ .c-chart__data-point {
4524
+ stroke-width: 2;
4758
4525
  }
4759
- 100% {
4760
- opacity: 1;
4761
- transform: translateY(0);
4526
+ .c-chart__data-point--selected {
4527
+ stroke-width: 3;
4762
4528
  }
4763
- }
4764
- @keyframes chart-scale-in {
4765
- 0% {
4766
- opacity: 0;
4767
- transform: scale(0.3);
4529
+ .c-chart__grid {
4530
+ stroke-width: 1;
4531
+ opacity: 0.6;
4768
4532
  }
4769
- 60% {
4533
+ .c-chart__grid--major {
4534
+ stroke-width: 1.5;
4770
4535
  opacity: 0.8;
4771
- transform: scale(1.1);
4772
- }
4773
- 100% {
4774
- opacity: 1;
4775
- transform: scale(1);
4776
- }
4777
- }
4778
- @keyframes chart-slide-in {
4779
- 0% {
4780
- opacity: 0;
4781
- transform: translateX(-20px);
4782
4536
  }
4783
- 100% {
4537
+ .c-chart__grid--zero {
4538
+ stroke-width: 2;
4784
4539
  opacity: 1;
4785
- transform: translateX(0);
4786
- }
4787
- }
4788
- @keyframes chart-bubble-grow {
4789
- 0% {
4790
- transform: scale(0);
4791
4540
  }
4792
- 100% {
4793
- transform: scale(1);
4541
+ .c-chart__treemap-node {
4542
+ stroke-width: 2;
4794
4543
  }
4795
- }
4796
- @keyframes chart-dash-flow {
4797
- 0% {
4798
- stroke-dashoffset: 0;
4544
+ .c-chart__treemap-node--selected {
4545
+ stroke-width: 3;
4799
4546
  }
4800
- 100% {
4801
- stroke-dashoffset: 10;
4547
+ .c-chart__treemap-node:focus-visible {
4548
+ outline-width: calc(var(--atomix-border-width) * 3);
4802
4549
  }
4803
- }
4804
- @keyframes chart-glow {
4805
- 0%, 100% {
4806
- filter: drop-shadow(0 0 5px currentColor);
4550
+ .c-chart__funnel-segment {
4551
+ stroke-width: 2;
4807
4552
  }
4808
- 50% {
4809
- filter: drop-shadow(0 0 15px currentColor);
4553
+ .c-chart__funnel-segment:focus-visible {
4554
+ outline-width: calc(var(--atomix-border-width) * 3);
4810
4555
  }
4811
- }
4812
- @keyframes chart-pulse-dot {
4813
- 0%, 100% {
4814
- opacity: 1;
4815
- transform: scale(1);
4556
+ .c-chart__heatmap-cell {
4557
+ stroke-width: 2;
4816
4558
  }
4817
- 50% {
4818
- opacity: 0.5;
4819
- transform: scale(1.2);
4559
+ .c-chart__heatmap-cell--hovered {
4560
+ stroke-width: 3;
4820
4561
  }
4821
- }
4822
- @keyframes chart-zoom-in {
4823
- 0% {
4824
- transform: scale(0.8);
4825
- opacity: 0;
4562
+ .c-chart__heatmap-cell:focus-visible {
4563
+ outline-width: calc(var(--atomix-border-width) * 3);
4826
4564
  }
4827
- 100% {
4828
- transform: scale(1);
4829
- opacity: 1;
4565
+ .c-chart__candlestick-candle {
4566
+ stroke-width: 2;
4830
4567
  }
4831
- }
4832
- @keyframes chart-slide-up {
4833
- 0% {
4834
- transform: translateY(20px);
4835
- opacity: 0;
4568
+ .c-chart__candlestick-candle:focus-visible {
4569
+ outline-width: calc(var(--atomix-border-width) * 3);
4836
4570
  }
4837
- 100% {
4838
- transform: translateY(0);
4571
+ .c-chart__candlestick-wick {
4572
+ stroke-width: 2;
4839
4573
  opacity: 1;
4840
4574
  }
4841
4575
  }
4842
- @media (max-width: 768px) {
4576
+ @media (prefers-reduced-motion: reduce) {
4843
4577
  .c-chart {
4844
- --atomix-chart-min-height: 10rem;
4845
- border-radius: 0.5rem;
4578
+ transition: none;
4579
+ animation: none;
4846
4580
  }
4847
- .c-chart__header {
4848
- flex-direction: column;
4849
- align-items: flex-start;
4850
- gap: 0.5rem;
4581
+ .c-chart::before, .c-chart::after {
4582
+ animation: none;
4583
+ transition: none;
4851
4584
  }
4852
- .c-chart__toolbar {
4853
- width: 100%;
4854
- justify-content: flex-end;
4855
- padding: 0.5rem;
4856
- gap: 0.5rem;
4585
+ .c-chart--elevated {
4586
+ transform: none;
4857
4587
  }
4858
- }
4859
- @media (max-width: 768px) and (max-width: 480px) {
4860
- .c-chart__toolbar {
4861
- flex-wrap: wrap;
4862
- justify-content: center;
4588
+ .c-chart--elevated:hover {
4589
+ transform: none;
4863
4590
  }
4864
- }
4865
- @media (max-width: 768px) {
4866
- .c-chart__action {
4867
- width: 2.25rem;
4868
- height: 2.25rem;
4591
+ .c-chart--clickable {
4592
+ transition: none;
4869
4593
  }
4870
- .c-chart__action svg {
4871
- width: 1.125rem;
4872
- height: 1.125rem;
4594
+ .c-chart--clickable:hover {
4595
+ transform: none;
4873
4596
  }
4874
- .c-chart__export-dropdown {
4875
- position: fixed;
4876
- top: 50%;
4877
- left: 50%;
4878
- transform: translate(-50%, -50%);
4879
- margin-top: 0;
4880
- min-width: 12.5rem;
4881
- max-width: 90vw;
4882
- }
4883
- .c-chart__legend {
4884
- flex-direction: column;
4885
- gap: 0.5rem;
4597
+ .c-chart--clickable:active {
4598
+ transform: none;
4886
4599
  }
4887
- .c-chart__legend-item {
4888
- justify-content: space-between;
4889
- width: 100%;
4600
+ .c-chart__action {
4601
+ transition: none;
4890
4602
  }
4891
- .c-chart:hover {
4603
+ .c-chart__action:hover {
4892
4604
  transform: none;
4893
4605
  }
4894
- }
4895
- @media (max-width: 480px) {
4896
- .c-chart {
4897
- --atomix-chart-min-height: 9rem;
4898
- --atomix-chart-padding: 0.5rem;
4899
- border-radius: 0.25rem;
4606
+ .c-chart__action svg {
4607
+ transition: none;
4900
4608
  }
4901
- .c-chart__title {
4902
- font-size: 1.125rem;
4903
- margin-bottom: 0.25rem;
4609
+ .c-chart__action svg:hover {
4610
+ transform: none;
4904
4611
  }
4905
- .c-chart__subtitle {
4906
- font-size: 0.75rem;
4612
+ .c-chart__data-point {
4613
+ transition: none;
4907
4614
  }
4908
- .c-chart__toolbar {
4909
- padding: 0.25rem;
4910
- gap: 0.25rem;
4911
- border-radius: 0.25rem;
4615
+ .c-chart__data-point--hovered {
4616
+ transform: none;
4912
4617
  }
4913
- .c-chart__action {
4914
- width: 1.75rem;
4915
- height: 1.75rem;
4916
- font-size: 0.75rem;
4618
+ .c-chart__treemap-node {
4619
+ transition: none;
4917
4620
  }
4918
- .c-chart__action svg {
4919
- width: 0.875rem;
4920
- height: 0.875rem;
4621
+ .c-chart__treemap-node:hover {
4622
+ transform: none;
4921
4623
  }
4922
- .c-chart__export-option {
4923
- padding: 0.25rem 0.5rem;
4924
- font-size: 0.6875rem;
4624
+ .c-chart__treemap-node--hovered {
4625
+ transform: none;
4925
4626
  }
4926
- }
4927
- @media (prefers-reduced-motion: reduce) {
4928
- .c-chart {
4627
+ .c-chart__funnel-segment {
4929
4628
  transition: none;
4930
4629
  }
4931
- .c-chart:hover {
4630
+ .c-chart__funnel-segment:hover {
4932
4631
  transform: none;
4933
4632
  }
4934
- .c-chart * {
4935
- animation-duration: 0.01s !important;
4936
- transition-duration: 0.01s !important;
4937
- }
4938
- .c-chart__real-time-indicator::before {
4939
- animation: none;
4633
+ .c-chart__heatmap-cell {
4634
+ transition: none;
4940
4635
  }
4941
- }
4942
- .c-chart:focus-within .c-chart__data-point:focus {
4943
- outline: 2px solid var(--atomix-primary-6);
4944
- outline-offset: 2px;
4945
- z-index: 10;
4946
- }
4947
- .c-chart:focus-within__canvas svg {
4948
- outline: 2px solid var(--atomix-primary-border-subtle);
4949
- outline-offset: 2px;
4950
- }
4951
- @media (prefers-contrast: high) {
4952
- .c-chart {
4953
- border-width: 2px;
4954
- background-color: white;
4955
- color: black;
4956
- -webkit-backdrop-filter: none;
4957
- backdrop-filter: none;
4636
+ .c-chart__heatmap-cell:hover {
4637
+ transform: none;
4958
4638
  }
4959
- .c-chart__grid {
4960
- stroke-width: 2;
4961
- opacity: 0.8;
4962
- stroke: black;
4639
+ .c-chart__heatmap-cell--hovered {
4640
+ transform: none;
4963
4641
  }
4964
- .c-chart__title {
4965
- color: black;
4642
+ .c-chart__candlestick-candle {
4643
+ transition: none;
4966
4644
  }
4967
- .c-chart__data-point {
4968
- stroke: black;
4969
- stroke-width: 2;
4645
+ .c-chart__candlestick-candle:hover {
4646
+ transform: none;
4970
4647
  }
4971
- .c-chart__crosshair line {
4972
- stroke: black;
4973
- opacity: 1;
4648
+ .c-chart__candlestick-wick {
4649
+ transition: none;
4974
4650
  }
4975
- .c-chart__zoom-indicator {
4976
- background: black;
4977
- color: white;
4978
- border: 2px solid white;
4651
+ .c-chart__candlestick-volume {
4652
+ transition: none;
4979
4653
  }
4980
- .c-chart .line-path {
4981
- stroke-width: 3 !important;
4654
+ .c-chart__empty {
4655
+ animation: none;
4982
4656
  }
4983
- .c-chart .bar {
4984
- stroke: black;
4985
- stroke-width: 2;
4657
+ .c-chart--loading .c-chart__content::after {
4658
+ animation: none;
4986
4659
  }
4987
- }
4988
- @media print {
4989
- .c-chart {
4990
- page-break-inside: avoid;
4991
- -moz-column-break-inside: avoid;
4992
- break-inside: avoid;
4993
- box-shadow: none;
4994
- border: 2px solid black;
4995
- background: white;
4660
+ .c-chart__waterfall-bar--animated {
4661
+ animation: none;
4996
4662
  }
4997
- .c-chart__toolbar {
4998
- display: none;
4663
+ .c-chart__canvas svg {
4664
+ animation: none;
4665
+ opacity: 1;
4999
4666
  }
5000
- .c-chart__crosshair, .c-chart__zoom-indicator, .c-chart__real-time-indicator {
5001
- display: none;
4667
+ }
4668
+ @keyframes chart-bar-appear {
4669
+ 0% {
4670
+ opacity: 0;
4671
+ transform: scaleY(0);
5002
4672
  }
5003
- .c-chart * {
5004
- animation: none !important;
5005
- transition: none !important;
4673
+ 100% {
4674
+ opacity: 1;
4675
+ transform: scaleY(1);
5006
4676
  }
5007
4677
  }
5008
4678
  .c-checkbox-group {
@@ -5126,23 +4796,50 @@ a, a:hover {
5126
4796
  cursor: pointer;
5127
4797
  padding: 0.5rem;
5128
4798
  border-radius: 50%;
5129
- transition: background-color 0.2s ease;
4799
+ transition: background-color 0.2s ease, opacity 0.2s ease;
5130
4800
  color: var(--atomix-body-color);
5131
4801
  }
5132
- .c-color-mode-toggle:hover {
4802
+ .c-color-mode-toggle:hover:not(:disabled) {
5133
4803
  background-color: rgba(0, 0, 0, 0.05);
5134
4804
  }
5135
- .c-color-mode-toggle:focus {
4805
+ .c-color-mode-toggle:focus-visible {
5136
4806
  outline: none;
5137
4807
  box-shadow: 0 0 0 2px var(--atomix-primary);
5138
4808
  }
4809
+ .c-color-mode-toggle:active:not(:disabled) {
4810
+ transform: scale(0.95);
4811
+ }
5139
4812
  .c-color-mode-toggle svg {
5140
- width: 1.5rem;
5141
- height: 1.5rem;
4813
+ display: block;
4814
+ transition: transform 0.2s ease;
4815
+ }
4816
+ .c-color-mode-toggle--sm {
4817
+ padding: 0.375rem;
4818
+ }
4819
+ .c-color-mode-toggle--md {
4820
+ padding: 0.5rem;
5142
4821
  }
5143
- [data-atomix-theme=dark] .c-color-mode-toggle:hover {
4822
+ .c-color-mode-toggle--lg {
4823
+ padding: 0.625rem;
4824
+ }
4825
+ .c-color-mode-toggle--disabled, .c-color-mode-toggle:disabled {
4826
+ cursor: not-allowed;
4827
+ opacity: 0.5;
4828
+ }
4829
+ [data-atomix-theme=dark] .c-color-mode-toggle:hover:not(:disabled) {
5144
4830
  background-color: rgba(255, 255, 255, 0.1);
5145
4831
  }
4832
+ @media (prefers-reduced-motion: reduce) {
4833
+ .c-color-mode-toggle {
4834
+ transition: none;
4835
+ }
4836
+ .c-color-mode-toggle svg {
4837
+ transition: none;
4838
+ }
4839
+ .c-color-mode-toggle:active:not(:disabled) {
4840
+ transform: none;
4841
+ }
4842
+ }
5146
4843
  .c-countdown {
5147
4844
  --atomix-countdown-color: var(--atomix-body-color);
5148
4845
  --atomix-countdown-font-size: 1rem;
@@ -5382,20 +5079,27 @@ a, a:hover {
5382
5079
  display: flex;
5383
5080
  opacity: 0;
5384
5081
  visibility: hidden;
5385
- transform-origin: top center;
5386
5082
  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);
5387
- transform: translateY(-15px) scale(0.95);
5388
5083
  pointer-events: none;
5084
+ }
5085
+ .c-dropdown__menu-wrapper:not(.is-glass) {
5389
5086
  will-change: transform, opacity, visibility;
5087
+ transform: translateY(-15px) scale(0.95);
5088
+ transform-origin: top center;
5089
+ }
5090
+ .c-dropdown__menu-wrapper.is-open:not(.is-glass) {
5091
+ opacity: 1;
5092
+ transform: translateY(0) scale(1);
5093
+ visibility: visible;
5094
+ animation: atomix-dropdown-fade-in var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
5095
+ pointer-events: auto;
5390
5096
  }
5391
- .c-dropdown__menu-wrapper.is-open {
5097
+ .c-dropdown__menu-wrapper.is-open.is-glass {
5392
5098
  opacity: 1;
5393
- transform: translateY(0) scale(1);
5394
5099
  visibility: visible;
5395
- animation: atomix-dropdown-fade-in var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
5396
5100
  pointer-events: auto;
5397
5101
  }
5398
- .c-dropdown__menu-wrapper:not(.is-open) {
5102
+ .c-dropdown__menu-wrapper:not(.is-open):not(.is-glass) {
5399
5103
  animation: atomix-dropdown-fade-out var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
5400
5104
  }
5401
5105
  .c-dropdown__menu-wrapper--bottom-start {
@@ -5916,22 +5620,41 @@ a, a:hover {
5916
5620
  --atomix-footer-padding-x: 1rem;
5917
5621
  --atomix-footer-padding-y: 3rem;
5918
5622
  --atomix-footer-container-max-width: 1200px;
5919
- --atomix-footer-bg: var(--atomix-surface);
5920
- --atomix-footer-color: var(--atomix-text);
5623
+ --atomix-footer-bg: var(--atomix-primary-bg);
5624
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
5921
5625
  --atomix-footer-border-width: 1px;
5922
- --atomix-footer-border-color: var(--atomix-border);
5626
+ --atomix-footer-border-color: var(--atomix-primary-border-subtle);
5923
5627
  --atomix-footer-brand-margin-bottom: 1.5rem;
5924
5628
  --atomix-footer-section-margin-bottom: 2rem;
5925
5629
  --atomix-footer-social-gap: 0.75rem;
5926
5630
  --atomix-footer-newsletter-padding: 1.5rem;
5927
5631
  --atomix-footer-bottom-padding-top: 1.5rem;
5928
5632
  --atomix-footer-bottom-margin-top: 2rem;
5633
+ --atomix-footer-brand-logo-margin-bottom: 1rem;
5634
+ --atomix-footer-brand-logo-hover-opacity: 0.8;
5635
+ --atomix-footer-section-header-gap: 0.5rem;
5636
+ --atomix-footer-section-toggle-padding: 0.75rem 0;
5637
+ --atomix-footer-bg-rgb: var(--atomix-primary-bg);
5638
+ --atomix-disabled-opacity: 0.6;
5929
5639
  background-color: var(--atomix-footer-bg);
5930
5640
  color: var(--atomix-footer-color);
5931
5641
  border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
5932
5642
  padding: var(--atomix-footer-padding-y) 0;
5933
5643
  position: relative;
5934
5644
  }
5645
+ .c-footer--glass {
5646
+ padding: 0;
5647
+ margin: 0;
5648
+ border-radius: 0;
5649
+ box-shadow: none;
5650
+ background: transparent;
5651
+ }
5652
+ .c-footer--glass .c-footer__glass {
5653
+ background-color: rgba(var(--atomix-footer-bg-rgb), 0.5, true);
5654
+ color: var(--atomix-footer-color);
5655
+ border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
5656
+ padding: var(--atomix-footer-padding-y) 0;
5657
+ }
5935
5658
  .c-footer__container {
5936
5659
  display: flex;
5937
5660
  flex-direction: column;
@@ -5941,28 +5664,42 @@ a, a:hover {
5941
5664
  padding: 0 var(--atomix-footer-padding-x);
5942
5665
  }
5943
5666
  .c-footer__sections {
5944
- display: grid;
5945
- grid-gap: var(--atomix-footer-section-margin-bottom);
5946
- gap: var(--atomix-footer-section-margin-bottom);
5947
5667
  margin-bottom: var(--atomix-footer-bottom-margin-top);
5948
- grid-template-columns: 1fr;
5668
+ width: 100%;
5669
+ max-width: var(--atomix-footer-container-max-width);
5670
+ margin-left: auto;
5671
+ margin-right: auto;
5949
5672
  }
5950
- @media (min-width: 768px) {
5951
- .c-footer__sections {
5952
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
5953
- gap: clamp(2rem, 4vw, 3rem);
5954
- }
5673
+ .c-footer__sections--centered {
5674
+ justify-content: center;
5675
+ align-items: center;
5676
+ }
5677
+ .c-footer__sections--stacked {
5678
+ display: flex;
5679
+ flex-direction: column;
5680
+ align-items: center;
5681
+ text-align: center;
5682
+ gap: clamp(1.5rem, 4vw, 2.5rem);
5683
+ max-width: 600px;
5684
+ margin-left: auto;
5685
+ margin-right: auto;
5955
5686
  }
5956
5687
  .c-footer__brand {
5688
+ grid-area: brand;
5957
5689
  margin-bottom: var(--atomix-footer-brand-margin-bottom);
5958
5690
  }
5691
+ @media (min-width: 768px) {
5692
+ .c-footer__brand {
5693
+ margin-bottom: 0;
5694
+ }
5695
+ }
5959
5696
  .c-footer__brand-logo {
5960
5697
  display: inline-block;
5961
- margin-bottom: 1rem;
5698
+ margin-bottom: var(--atomix-footer-brand-logo-margin-bottom);
5962
5699
  transition: opacity 0.2s ease;
5963
5700
  }
5964
5701
  .c-footer__brand-logo:hover {
5965
- opacity: 0.8;
5702
+ opacity: var(--atomix-footer-brand-logo-hover-opacity);
5966
5703
  }
5967
5704
  .c-footer__brand-logo img {
5968
5705
  max-width: 200px;
@@ -5975,18 +5712,23 @@ a, a:hover {
5975
5712
  margin: 0;
5976
5713
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
5977
5714
  font-weight: 600;
5978
- color: var(--atomix-text-emphasis);
5715
+ color: var(--atomix-primary-text-emphasis);
5979
5716
  line-height: 1.2;
5980
5717
  }
5981
5718
  .c-footer__brand-description {
5982
5719
  margin-top: 0.5rem;
5983
5720
  font-size: 0.875rem;
5984
- color: var(--atomix-text-muted);
5721
+ color: var(--atomix-secondary-text-emphasis);
5985
5722
  line-height: 1.6;
5986
5723
  max-width: 35ch;
5987
5724
  }
5988
5725
  .c-footer__section {
5989
- margin-bottom: var(--atomix-footer-section-margin-bottom);
5726
+ margin-bottom: 0;
5727
+ }
5728
+ @media (max-width: 575.98px) {
5729
+ .c-footer__section {
5730
+ margin-bottom: var(--atomix-footer-section-margin-bottom);
5731
+ }
5990
5732
  }
5991
5733
  .c-footer__section-header {
5992
5734
  margin-bottom: 1rem;
@@ -5994,14 +5736,14 @@ a, a:hover {
5994
5736
  .c-footer__section-header-content {
5995
5737
  display: flex;
5996
5738
  align-items: center;
5997
- gap: 0.5rem;
5739
+ gap: var(--atomix-footer-section-header-gap);
5998
5740
  }
5999
5741
  .c-footer__section-toggle {
6000
5742
  display: flex;
6001
5743
  align-items: center;
6002
5744
  justify-content: space-between;
6003
5745
  width: 100%;
6004
- padding: 0.75rem 0;
5746
+ padding: var(--atomix-footer-section-toggle-padding);
6005
5747
  background: none;
6006
5748
  border: none;
6007
5749
  cursor: pointer;
@@ -6020,9 +5762,10 @@ a, a:hover {
6020
5762
  }
6021
5763
  .c-footer__section-title {
6022
5764
  margin: 0;
5765
+ width: 100%;
6023
5766
  font-size: 1.125rem;
6024
5767
  font-weight: 600;
6025
- color: var(--atomix-text-emphasis);
5768
+ color: var(--atomix-primary-text-emphasis);
6026
5769
  line-height: 1.3;
6027
5770
  }
6028
5771
  .c-footer__section-icon {
@@ -6034,7 +5777,7 @@ a, a:hover {
6034
5777
  .c-footer__section-chevron {
6035
5778
  font-size: 0.875rem;
6036
5779
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6037
- color: var(--atomix-text-muted);
5780
+ color: var(--atomix-gray-6);
6038
5781
  }
6039
5782
  .c-footer__section-content {
6040
5783
  display: flex;
@@ -6069,9 +5812,9 @@ a, a:hover {
6069
5812
  align-items: center;
6070
5813
  gap: 0.5rem;
6071
5814
  padding: 0.25rem 0;
6072
- color: var(--atomix-text);
5815
+ color: var(--atomix-primary-text-emphasis);
6073
5816
  text-decoration: none;
6074
- transition: color 0.15s ease-in-out;
5817
+ transition: all 0.15s ease-in-out;
6075
5818
  border-radius: 0.25rem;
6076
5819
  position: relative;
6077
5820
  }
@@ -6087,7 +5830,7 @@ a, a:hover {
6087
5830
  }
6088
5831
  .c-footer__link:hover, .c-footer__link:focus {
6089
5832
  color: var(--atomix-primary);
6090
- text-decoration: underline;
5833
+ text-decoration: none;
6091
5834
  }
6092
5835
  .c-footer__link:hover::before, .c-footer__link:focus::before {
6093
5836
  width: 100%;
@@ -6104,10 +5847,10 @@ a, a:hover {
6104
5847
  width: 100%;
6105
5848
  }
6106
5849
  .c-footer__link--disabled {
6107
- color: var(--atomix-text-disabled);
5850
+ color: var(--atomix-disabled-text-emphasis);
6108
5851
  cursor: not-allowed;
6109
5852
  pointer-events: none;
6110
- opacity: 0.6;
5853
+ opacity: var(--atomix-disabled-opacity);
6111
5854
  }
6112
5855
  .c-footer__link-icon {
6113
5856
  display: flex;
@@ -6138,11 +5881,11 @@ a, a:hover {
6138
5881
  justify-content: center;
6139
5882
  width: 2.5rem;
6140
5883
  height: 2.5rem;
6141
- background-color: var(--atomix-surface-variant);
6142
- color: var(--atomix-text);
5884
+ background-color: var(--atomix-secondary-bg-subtle);
5885
+ color: var(--atomix-primary-text-emphasis);
6143
5886
  border-radius: 50%;
6144
5887
  text-decoration: none;
6145
- transition: all 0.15s ease-in-out;
5888
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6146
5889
  position: relative;
6147
5890
  overflow: hidden;
6148
5891
  }
@@ -6156,7 +5899,7 @@ a, a:hover {
6156
5899
  }
6157
5900
  .c-footer__social-link:hover, .c-footer__social-link:focus {
6158
5901
  background-color: var(--atomix-primary);
6159
- color: var(--atomix-primary-contrast);
5902
+ color: var(--atomix-component-active-color);
6160
5903
  transform: translateY(-3px) scale(1.05);
6161
5904
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
6162
5905
  }
@@ -6176,7 +5919,7 @@ a, a:hover {
6176
5919
  height: 3rem;
6177
5920
  }
6178
5921
  .c-footer__social-link--disabled {
6179
- opacity: 0.5;
5922
+ opacity: var(--atomix-disabled-opacity);
6180
5923
  cursor: not-allowed;
6181
5924
  pointer-events: none;
6182
5925
  }
@@ -6223,7 +5966,7 @@ a, a:hover {
6223
5966
  background: linear-gradient(135deg, #25d366, #66bb6a);
6224
5967
  }
6225
5968
  .c-footer__newsletter {
6226
- background-color: linear-gradient(135deg, var(--atomix-surface-variant), rgba(var(--atomix-surface-variant), 0.8));
5969
+ background-color: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
6227
5970
  padding: 1.5rem;
6228
5971
  border-radius: 0.5rem;
6229
5972
  border: 1px solid var(--atomix-border-subtle);
@@ -6243,20 +5986,24 @@ a, a:hover {
6243
5986
  margin: 0 0 0.5rem 0;
6244
5987
  font-size: clamp(1.125rem, 2vw, 1.125rem);
6245
5988
  font-weight: 600;
6246
- color: var(--atomix-text-emphasis);
5989
+ color: var(--atomix-primary-text-emphasis);
6247
5990
  line-height: 1.3;
6248
5991
  }
6249
5992
  .c-footer__newsletter-description {
6250
5993
  margin: 0 0 1rem 0;
6251
5994
  font-size: 0.875rem;
6252
- color: var(--atomix-text-muted);
5995
+ color: var(--atomix-secondary-text-emphasis);
6253
5996
  line-height: 1.6;
6254
5997
  max-width: 45ch;
5998
+ width: 100%;
5999
+ box-sizing: border-box;
6255
6000
  }
6256
6001
  .c-footer__newsletter-form {
6257
6002
  display: flex;
6258
6003
  gap: 0.75rem;
6259
6004
  align-items: flex-end;
6005
+ width: 100%;
6006
+ max-width: 100%;
6260
6007
  }
6261
6008
  @media (max-width: 575.98px) {
6262
6009
  .c-footer__newsletter-form {
@@ -6279,12 +6026,13 @@ a, a:hover {
6279
6026
  flex: 1 1;
6280
6027
  padding: 0.75rem 1rem;
6281
6028
  font-size: 0.875rem;
6282
- background-color: var(--atomix-surface);
6283
- color: var(--atomix-text);
6284
- border: 1px solid var(--atomix-border);
6029
+ background-color: var(--atomix-primary-bg-subtle);
6030
+ color: var(--atomix-primary-text-emphasis);
6031
+ border: 1px solid var(--atomix-primary-border);
6285
6032
  border-radius: 0.375rem;
6286
6033
  outline: none;
6287
6034
  transition: all 0.3s ease;
6035
+ box-sizing: border-box;
6288
6036
  }
6289
6037
  .c-footer__newsletter-input:focus {
6290
6038
  border-color: var(--atomix-primary);
@@ -6292,12 +6040,12 @@ a, a:hover {
6292
6040
  transform: translateY(-1px);
6293
6041
  }
6294
6042
  .c-footer__newsletter-input::-moz-placeholder {
6295
- color: var(--atomix-text-muted);
6043
+ color: var(--atomix-gray-6);
6296
6044
  -moz-transition: opacity 0.3s ease;
6297
6045
  transition: opacity 0.3s ease;
6298
6046
  }
6299
6047
  .c-footer__newsletter-input::placeholder {
6300
- color: var(--atomix-text-muted);
6048
+ color: var(--atomix-gray-6);
6301
6049
  transition: opacity 0.3s ease;
6302
6050
  }
6303
6051
  .c-footer__newsletter-input:focus::-moz-placeholder {
@@ -6308,13 +6056,13 @@ a, a:hover {
6308
6056
  }
6309
6057
  .c-footer__newsletter-button {
6310
6058
  padding: 0.75rem 1.5rem;
6311
- background-color: var(--atomix-primary);
6312
- color: var(--atomix-primary-contrast);
6059
+ background-color: var(--atomix-brand-bg-subtle);
6060
+ color: var(--atomix-brand-text-emphasis);
6313
6061
  border: none;
6314
6062
  border-radius: 0.375rem;
6315
6063
  font-weight: 500;
6316
6064
  cursor: pointer;
6317
- transition: background-color 0.15s ease-in-out;
6065
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6318
6066
  white-space: nowrap;
6319
6067
  position: relative;
6320
6068
  overflow: hidden;
@@ -6328,7 +6076,7 @@ a, a:hover {
6328
6076
  transition: transform 0.6s ease;
6329
6077
  }
6330
6078
  .c-footer__newsletter-button:hover, .c-footer__newsletter-button:focus {
6331
- background-color: var(--atomix-primary-hover);
6079
+ background-color: var(--atomix-secondary-bg-subtle);
6332
6080
  transform: translateY(-2px);
6333
6081
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
6334
6082
  }
@@ -6344,7 +6092,7 @@ a, a:hover {
6344
6092
  align-items: center;
6345
6093
  justify-content: space-between;
6346
6094
  padding-top: var(--atomix-footer-bottom-padding-top);
6347
- border-top: 1px solid var(--atomix-border);
6095
+ border-top: 1px solid var(--atomix-primary-border-subtle);
6348
6096
  position: relative;
6349
6097
  }
6350
6098
  @media (max-width: 575.98px) {
@@ -6356,7 +6104,7 @@ a, a:hover {
6356
6104
  }
6357
6105
  .c-footer__copyright {
6358
6106
  font-size: 0.875rem;
6359
- color: var(--atomix-text-muted);
6107
+ color: var(--atomix-tertiary-text-emphasis);
6360
6108
  line-height: 1.5;
6361
6109
  }
6362
6110
  .c-footer__copyright a {
@@ -6373,16 +6121,18 @@ a, a:hover {
6373
6121
  align-items: center;
6374
6122
  gap: 0.5rem;
6375
6123
  padding: 0.75rem 1.25rem;
6376
- background-color: var(--atomix-surface-variant);
6124
+ background-color: var(--atomix-secondary-bg);
6377
6125
  border: 1px solid var(--atomix-border-subtle);
6378
- color: var(--atomix-text);
6126
+ color: var(--atomix-primary-text-emphasis);
6379
6127
  font-size: 0.875rem;
6380
6128
  font-weight: 500;
6381
6129
  cursor: pointer;
6382
- transition: color 0.15s ease-in-out;
6130
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6383
6131
  border-radius: 2rem;
6384
6132
  position: relative;
6385
6133
  overflow: hidden;
6134
+ text-decoration: none;
6135
+ outline: none;
6386
6136
  }
6387
6137
  .c-footer__back-to-top::before {
6388
6138
  content: "";
@@ -6390,14 +6140,14 @@ a, a:hover {
6390
6140
  inset: 0;
6391
6141
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
6392
6142
  transform: translateX(-100%);
6393
- transition: transform 0.6s ease;
6143
+ transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
6394
6144
  }
6395
6145
  .c-footer__back-to-top:hover, .c-footer__back-to-top:focus {
6396
- color: var(--atomix-primary);
6146
+ color: var(--atomix-secondary-text-emphasis);
6397
6147
  background-color: var(--atomix-primary);
6398
6148
  border-color: var(--atomix-primary);
6399
- transform: translateY(-2px);
6400
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
6149
+ transform: translateY(-3px);
6150
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
6401
6151
  }
6402
6152
  .c-footer__back-to-top:hover::before, .c-footer__back-to-top:focus::before {
6403
6153
  transform: translateX(100%);
@@ -6405,6 +6155,10 @@ a, a:hover {
6405
6155
  .c-footer__back-to-top:hover .c-footer__back-to-top-icon, .c-footer__back-to-top:focus .c-footer__back-to-top-icon {
6406
6156
  transform: translateY(-2px);
6407
6157
  }
6158
+ .c-footer__back-to-top:active {
6159
+ transform: translateY(-1px);
6160
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
6161
+ }
6408
6162
  .c-footer__back-to-top:focus-visible {
6409
6163
  outline: 2px solid var(--atomix-primary);
6410
6164
  outline-offset: 2px;
@@ -6412,7 +6166,7 @@ a, a:hover {
6412
6166
  .c-footer__back-to-top-icon {
6413
6167
  font-size: 1.25em;
6414
6168
  font-weight: bold;
6415
- transition: transform 0.3s ease;
6169
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6416
6170
  }
6417
6171
  @media (max-width: 575.98px) {
6418
6172
  .c-footer__back-to-top-text {
@@ -6423,30 +6177,12 @@ a, a:hover {
6423
6177
  margin: 2rem 0;
6424
6178
  border: none;
6425
6179
  height: 1px;
6426
- background: linear-gradient(90deg, transparent, 1px solid var(--atomix-border), transparent);
6180
+ background: linear-gradient(90deg, transparent, 1px solid var(--atomix-primary-border-subtle), transparent);
6427
6181
  opacity: 0.5;
6428
6182
  }
6429
- @media (min-width: 768px) {
6430
- .c-footer--columns .c-footer__sections {
6431
- display: grid;
6432
- grid-template-columns: minmax(300px, 1fr) 2fr minmax(250px, 1fr);
6433
- grid-gap: clamp(2rem, 5vw, 4rem);
6434
- gap: clamp(2rem, 5vw, 4rem);
6435
- align-items: start;
6436
- }
6437
- }
6438
- @media (min-width: 992px) {
6439
- .c-footer--columns .c-footer__sections {
6440
- grid-template-columns: minmax(350px, 1fr) 3fr minmax(300px, 1fr);
6441
- }
6442
- }
6443
6183
  .c-footer--centered {
6444
6184
  text-align: center;
6445
6185
  }
6446
- .c-footer--centered .c-footer__sections {
6447
- justify-content: center;
6448
- align-items: center;
6449
- }
6450
6186
  .c-footer--centered .c-footer__social {
6451
6187
  justify-content: center;
6452
6188
  }
@@ -6456,13 +6192,14 @@ a, a:hover {
6456
6192
  }
6457
6193
  .c-footer--minimal {
6458
6194
  --atomix-footer-padding-y: 2rem;
6195
+ --atomix-footer-social-gap: 0.75;
6459
6196
  }
6460
6197
  .c-footer--minimal .c-footer__sections {
6461
6198
  margin-bottom: 1rem;
6462
6199
  gap: 1.5rem;
6463
6200
  }
6464
6201
  .c-footer--minimal .c-footer__section {
6465
- margin-bottom: 1rem;
6202
+ margin-bottom: 0;
6466
6203
  }
6467
6204
  .c-footer--minimal .c-footer__newsletter {
6468
6205
  padding: 1.5rem;
@@ -6477,15 +6214,26 @@ a, a:hover {
6477
6214
  margin-left: auto;
6478
6215
  margin-right: auto;
6479
6216
  }
6217
+ .c-footer--flexible .c-footer__section-col {
6218
+ flex: 1 1 auto;
6219
+ min-width: 250px;
6220
+ }
6221
+ .c-footer--sidebar .c-footer__sections--columns {
6222
+ align-items: flex-start;
6223
+ }
6224
+ .c-footer--wide .c-footer__sections {
6225
+ max-width: 100%;
6226
+ padding: 0 1rem;
6227
+ }
6480
6228
  .c-footer--sm {
6481
6229
  --atomix-footer-padding-y: 2rem;
6482
6230
  --atomix-footer-section-margin-bottom: 1.5rem;
6483
- --atomix-footer-brand-margin-bottom: 1rem;
6484
6231
  --atomix-footer-social-gap: 0.75rem;
6485
6232
  }
6486
6233
  .c-footer--md {
6487
6234
  --atomix-footer-padding-y: 3rem;
6488
6235
  --atomix-footer-section-margin-bottom: 2rem;
6236
+ --atomix-footer-social-gap: 1rem;
6489
6237
  }
6490
6238
  .c-footer--lg {
6491
6239
  --atomix-footer-padding-y: 4rem;
@@ -6499,7 +6247,7 @@ a, a:hover {
6499
6247
  .c-footer--primary {
6500
6248
  --atomix-footer-bg: var(--atomix-primary-bg-subtle);
6501
6249
  --atomix-footer-border-color: var(--atomix-primary-border-subtle);
6502
- --atomix-footer-color: var(--atomix-primary-text);
6250
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
6503
6251
  }
6504
6252
  .c-footer--primary .c-footer__brand-name h3,
6505
6253
  .c-footer--primary .c-footer__section-title {
@@ -6507,10 +6255,10 @@ a, a:hover {
6507
6255
  }
6508
6256
  .c-footer--primary .c-footer__brand-description,
6509
6257
  .c-footer--primary .c-footer__copyright {
6510
- color: var(--atomix-primary-text-muted);
6258
+ color: var(--atomix-gray-6);
6511
6259
  }
6512
6260
  .c-footer--primary .c-footer__link {
6513
- color: var(--atomix-primary-text);
6261
+ color: var(--atomix-primary-text-emphasis);
6514
6262
  }
6515
6263
  .c-footer--primary .c-footer__link:hover, .c-footer--primary .c-footer__link:focus {
6516
6264
  color: var(--atomix-primary);
@@ -6519,8 +6267,8 @@ a, a:hover {
6519
6267
  background-color: var(--atomix-primary);
6520
6268
  }
6521
6269
  .c-footer--primary .c-footer__newsletter {
6522
- background: linear-gradient(135deg, var(--atomix-primary-bg), rgba(var(--atomix-primary-bg-rgb), 0.8));
6523
- border-color: var(--atomix-primary-border);
6270
+ background: linear-gradient(135deg, var(--atomix-primary-bg-subtle), rgba(var(--atomix-primary-bg-subtle), 0.8));
6271
+ border-color: var(--atomix-primary-border-subtle);
6524
6272
  }
6525
6273
  .c-footer--primary .c-footer__newsletter::before {
6526
6274
  background: linear-gradient(90deg, transparent, var(--atomix-primary), transparent);
@@ -6528,7 +6276,7 @@ a, a:hover {
6528
6276
  .c-footer--secondary {
6529
6277
  --atomix-footer-bg: var(--atomix-secondary-bg-subtle);
6530
6278
  --atomix-footer-border-color: var(--atomix-secondary-border-subtle);
6531
- --atomix-footer-color: var(--atomix-secondary-text);
6279
+ --atomix-footer-color: var(--atomix-secondary-text-emphasis);
6532
6280
  }
6533
6281
  .c-footer--secondary .c-footer__brand-name h3,
6534
6282
  .c-footer--secondary .c-footer__section-title {
@@ -6536,10 +6284,10 @@ a, a:hover {
6536
6284
  }
6537
6285
  .c-footer--secondary .c-footer__brand-description,
6538
6286
  .c-footer--secondary .c-footer__copyright {
6539
- color: var(--atomix-secondary-text-muted);
6287
+ color: var(--atomix-gray-6);
6540
6288
  }
6541
6289
  .c-footer--secondary .c-footer__link {
6542
- color: var(--atomix-secondary-text);
6290
+ color: var(--atomix-secondary-text-emphasis);
6543
6291
  }
6544
6292
  .c-footer--secondary .c-footer__link:hover, .c-footer--secondary .c-footer__link:focus {
6545
6293
  color: var(--atomix-secondary);
@@ -6548,8 +6296,8 @@ a, a:hover {
6548
6296
  background-color: var(--atomix-secondary);
6549
6297
  }
6550
6298
  .c-footer--secondary .c-footer__newsletter {
6551
- background: linear-gradient(135deg, var(--atomix-secondary-bg), rgba(var(--atomix-secondary-bg-rgb), 0.8));
6552
- border-color: var(--atomix-secondary-border);
6299
+ background: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
6300
+ border-color: var(--atomix-secondary-border-subtle);
6553
6301
  }
6554
6302
  .c-footer--secondary .c-footer__newsletter::before {
6555
6303
  background: linear-gradient(90deg, transparent, var(--atomix-secondary), transparent);
@@ -6557,7 +6305,7 @@ a, a:hover {
6557
6305
  .c-footer--tertiary {
6558
6306
  --atomix-footer-bg: var(--atomix-tertiary-bg-subtle);
6559
6307
  --atomix-footer-border-color: var(--atomix-tertiary-border-subtle);
6560
- --atomix-footer-color: var(--atomix-tertiary-text);
6308
+ --atomix-footer-color: var(--atomix-tertiary-text-emphasis);
6561
6309
  }
6562
6310
  .c-footer--tertiary .c-footer__brand-name h3,
6563
6311
  .c-footer--tertiary .c-footer__section-title {
@@ -6565,10 +6313,10 @@ a, a:hover {
6565
6313
  }
6566
6314
  .c-footer--tertiary .c-footer__brand-description,
6567
6315
  .c-footer--tertiary .c-footer__copyright {
6568
- color: var(--atomix-tertiary-text-muted);
6316
+ color: var(--atomix-gray-6);
6569
6317
  }
6570
6318
  .c-footer--tertiary .c-footer__link {
6571
- color: var(--atomix-tertiary-text);
6319
+ color: var(--atomix-tertiary-text-emphasis);
6572
6320
  }
6573
6321
  .c-footer--tertiary .c-footer__link:hover, .c-footer--tertiary .c-footer__link:focus {
6574
6322
  color: var(--atomix-tertiary);
@@ -6577,8 +6325,8 @@ a, a:hover {
6577
6325
  background-color: var(--atomix-tertiary);
6578
6326
  }
6579
6327
  .c-footer--tertiary .c-footer__newsletter {
6580
- background: linear-gradient(135deg, var(--atomix-tertiary-bg), rgba(var(--atomix-tertiary-bg-rgb), 0.8));
6581
- border-color: var(--atomix-tertiary-border);
6328
+ background: linear-gradient(135deg, var(--atomix-tertiary-bg-subtle), rgba(var(--atomix-tertiary-bg-subtle), 0.8));
6329
+ border-color: var(--atomix-tertiary-border-subtle);
6582
6330
  }
6583
6331
  .c-footer--tertiary .c-footer__newsletter::before {
6584
6332
  background: linear-gradient(90deg, transparent, var(--atomix-tertiary), transparent);
@@ -6586,7 +6334,7 @@ a, a:hover {
6586
6334
  .c-footer--invert {
6587
6335
  --atomix-footer-bg: var(--atomix-invert-bg-subtle);
6588
6336
  --atomix-footer-border-color: var(--atomix-invert-border-subtle);
6589
- --atomix-footer-color: var(--atomix-invert-text);
6337
+ --atomix-footer-color: var(--atomix-invert-text-emphasis);
6590
6338
  }
6591
6339
  .c-footer--invert .c-footer__brand-name h3,
6592
6340
  .c-footer--invert .c-footer__section-title {
@@ -6594,10 +6342,10 @@ a, a:hover {
6594
6342
  }
6595
6343
  .c-footer--invert .c-footer__brand-description,
6596
6344
  .c-footer--invert .c-footer__copyright {
6597
- color: var(--atomix-invert-text-muted);
6345
+ color: var(--atomix-gray-6);
6598
6346
  }
6599
6347
  .c-footer--invert .c-footer__link {
6600
- color: var(--atomix-invert-text);
6348
+ color: var(--atomix-invert-text-emphasis);
6601
6349
  }
6602
6350
  .c-footer--invert .c-footer__link:hover, .c-footer--invert .c-footer__link:focus {
6603
6351
  color: var(--atomix-invert);
@@ -6606,8 +6354,8 @@ a, a:hover {
6606
6354
  background-color: var(--atomix-invert);
6607
6355
  }
6608
6356
  .c-footer--invert .c-footer__newsletter {
6609
- background: linear-gradient(135deg, var(--atomix-invert-bg), rgba(var(--atomix-invert-bg-rgb), 0.8));
6610
- border-color: var(--atomix-invert-border);
6357
+ background: linear-gradient(135deg, var(--atomix-invert-bg-subtle), rgba(var(--atomix-invert-bg-subtle), 0.8));
6358
+ border-color: var(--atomix-invert-border-subtle);
6611
6359
  }
6612
6360
  .c-footer--invert .c-footer__newsletter::before {
6613
6361
  background: linear-gradient(90deg, transparent, var(--atomix-invert), transparent);
@@ -6615,7 +6363,7 @@ a, a:hover {
6615
6363
  .c-footer--brand {
6616
6364
  --atomix-footer-bg: var(--atomix-brand-bg-subtle);
6617
6365
  --atomix-footer-border-color: var(--atomix-brand-border-subtle);
6618
- --atomix-footer-color: var(--atomix-brand-text);
6366
+ --atomix-footer-color: var(--atomix-brand-text-emphasis);
6619
6367
  }
6620
6368
  .c-footer--brand .c-footer__brand-name h3,
6621
6369
  .c-footer--brand .c-footer__section-title {
@@ -6623,10 +6371,10 @@ a, a:hover {
6623
6371
  }
6624
6372
  .c-footer--brand .c-footer__brand-description,
6625
6373
  .c-footer--brand .c-footer__copyright {
6626
- color: var(--atomix-brand-text-muted);
6374
+ color: var(--atomix-gray-6);
6627
6375
  }
6628
6376
  .c-footer--brand .c-footer__link {
6629
- color: var(--atomix-brand-text);
6377
+ color: var(--atomix-brand-text-emphasis);
6630
6378
  }
6631
6379
  .c-footer--brand .c-footer__link:hover, .c-footer--brand .c-footer__link:focus {
6632
6380
  color: var(--atomix-brand);
@@ -6635,8 +6383,8 @@ a, a:hover {
6635
6383
  background-color: var(--atomix-brand);
6636
6384
  }
6637
6385
  .c-footer--brand .c-footer__newsletter {
6638
- background: linear-gradient(135deg, var(--atomix-brand-bg), rgba(var(--atomix-brand-bg-rgb), 0.8));
6639
- border-color: var(--atomix-brand-border);
6386
+ background: linear-gradient(135deg, var(--atomix-brand-bg-subtle), rgba(var(--atomix-brand-bg-subtle), 0.8));
6387
+ border-color: var(--atomix-brand-border-subtle);
6640
6388
  }
6641
6389
  .c-footer--brand .c-footer__newsletter::before {
6642
6390
  background: linear-gradient(90deg, transparent, var(--atomix-brand), transparent);
@@ -6644,7 +6392,7 @@ a, a:hover {
6644
6392
  .c-footer--error {
6645
6393
  --atomix-footer-bg: var(--atomix-error-bg-subtle);
6646
6394
  --atomix-footer-border-color: var(--atomix-error-border-subtle);
6647
- --atomix-footer-color: var(--atomix-error-text);
6395
+ --atomix-footer-color: var(--atomix-error-text-emphasis);
6648
6396
  }
6649
6397
  .c-footer--error .c-footer__brand-name h3,
6650
6398
  .c-footer--error .c-footer__section-title {
@@ -6652,10 +6400,10 @@ a, a:hover {
6652
6400
  }
6653
6401
  .c-footer--error .c-footer__brand-description,
6654
6402
  .c-footer--error .c-footer__copyright {
6655
- color: var(--atomix-error-text-muted);
6403
+ color: var(--atomix-gray-6);
6656
6404
  }
6657
6405
  .c-footer--error .c-footer__link {
6658
- color: var(--atomix-error-text);
6406
+ color: var(--atomix-error-text-emphasis);
6659
6407
  }
6660
6408
  .c-footer--error .c-footer__link:hover, .c-footer--error .c-footer__link:focus {
6661
6409
  color: var(--atomix-error);
@@ -6664,8 +6412,8 @@ a, a:hover {
6664
6412
  background-color: var(--atomix-error);
6665
6413
  }
6666
6414
  .c-footer--error .c-footer__newsletter {
6667
- background: linear-gradient(135deg, var(--atomix-error-bg), rgba(var(--atomix-error-bg-rgb), 0.8));
6668
- border-color: var(--atomix-error-border);
6415
+ background: linear-gradient(135deg, var(--atomix-error-bg-subtle), rgba(var(--atomix-error-bg-subtle), 0.8));
6416
+ border-color: var(--atomix-error-border-subtle);
6669
6417
  }
6670
6418
  .c-footer--error .c-footer__newsletter::before {
6671
6419
  background: linear-gradient(90deg, transparent, var(--atomix-error), transparent);
@@ -6673,7 +6421,7 @@ a, a:hover {
6673
6421
  .c-footer--success {
6674
6422
  --atomix-footer-bg: var(--atomix-success-bg-subtle);
6675
6423
  --atomix-footer-border-color: var(--atomix-success-border-subtle);
6676
- --atomix-footer-color: var(--atomix-success-text);
6424
+ --atomix-footer-color: var(--atomix-success-text-emphasis);
6677
6425
  }
6678
6426
  .c-footer--success .c-footer__brand-name h3,
6679
6427
  .c-footer--success .c-footer__section-title {
@@ -6681,10 +6429,10 @@ a, a:hover {
6681
6429
  }
6682
6430
  .c-footer--success .c-footer__brand-description,
6683
6431
  .c-footer--success .c-footer__copyright {
6684
- color: var(--atomix-success-text-muted);
6432
+ color: var(--atomix-gray-6);
6685
6433
  }
6686
6434
  .c-footer--success .c-footer__link {
6687
- color: var(--atomix-success-text);
6435
+ color: var(--atomix-success-text-emphasis);
6688
6436
  }
6689
6437
  .c-footer--success .c-footer__link:hover, .c-footer--success .c-footer__link:focus {
6690
6438
  color: var(--atomix-success);
@@ -6693,8 +6441,8 @@ a, a:hover {
6693
6441
  background-color: var(--atomix-success);
6694
6442
  }
6695
6443
  .c-footer--success .c-footer__newsletter {
6696
- background: linear-gradient(135deg, var(--atomix-success-bg), rgba(var(--atomix-success-bg-rgb), 0.8));
6697
- border-color: var(--atomix-success-border);
6444
+ background: linear-gradient(135deg, var(--atomix-success-bg-subtle), rgba(var(--atomix-success-bg-subtle), 0.8));
6445
+ border-color: var(--atomix-success-border-subtle);
6698
6446
  }
6699
6447
  .c-footer--success .c-footer__newsletter::before {
6700
6448
  background: linear-gradient(90deg, transparent, var(--atomix-success), transparent);
@@ -6702,7 +6450,7 @@ a, a:hover {
6702
6450
  .c-footer--warning {
6703
6451
  --atomix-footer-bg: var(--atomix-warning-bg-subtle);
6704
6452
  --atomix-footer-border-color: var(--atomix-warning-border-subtle);
6705
- --atomix-footer-color: var(--atomix-warning-text);
6453
+ --atomix-footer-color: var(--atomix-warning-text-emphasis);
6706
6454
  }
6707
6455
  .c-footer--warning .c-footer__brand-name h3,
6708
6456
  .c-footer--warning .c-footer__section-title {
@@ -6710,10 +6458,10 @@ a, a:hover {
6710
6458
  }
6711
6459
  .c-footer--warning .c-footer__brand-description,
6712
6460
  .c-footer--warning .c-footer__copyright {
6713
- color: var(--atomix-warning-text-muted);
6461
+ color: var(--atomix-gray-6);
6714
6462
  }
6715
6463
  .c-footer--warning .c-footer__link {
6716
- color: var(--atomix-warning-text);
6464
+ color: var(--atomix-warning-text-emphasis);
6717
6465
  }
6718
6466
  .c-footer--warning .c-footer__link:hover, .c-footer--warning .c-footer__link:focus {
6719
6467
  color: var(--atomix-warning);
@@ -6722,8 +6470,8 @@ a, a:hover {
6722
6470
  background-color: var(--atomix-warning);
6723
6471
  }
6724
6472
  .c-footer--warning .c-footer__newsletter {
6725
- background: linear-gradient(135deg, var(--atomix-warning-bg), rgba(var(--atomix-warning-bg-rgb), 0.8));
6726
- border-color: var(--atomix-warning-border);
6473
+ background: linear-gradient(135deg, var(--atomix-warning-bg-subtle), rgba(var(--atomix-warning-bg-subtle), 0.8));
6474
+ border-color: var(--atomix-warning-border-subtle);
6727
6475
  }
6728
6476
  .c-footer--warning .c-footer__newsletter::before {
6729
6477
  background: linear-gradient(90deg, transparent, var(--atomix-warning), transparent);
@@ -6731,7 +6479,7 @@ a, a:hover {
6731
6479
  .c-footer--info {
6732
6480
  --atomix-footer-bg: var(--atomix-info-bg-subtle);
6733
6481
  --atomix-footer-border-color: var(--atomix-info-border-subtle);
6734
- --atomix-footer-color: var(--atomix-info-text);
6482
+ --atomix-footer-color: var(--atomix-info-text-emphasis);
6735
6483
  }
6736
6484
  .c-footer--info .c-footer__brand-name h3,
6737
6485
  .c-footer--info .c-footer__section-title {
@@ -6739,10 +6487,10 @@ a, a:hover {
6739
6487
  }
6740
6488
  .c-footer--info .c-footer__brand-description,
6741
6489
  .c-footer--info .c-footer__copyright {
6742
- color: var(--atomix-info-text-muted);
6490
+ color: var(--atomix-gray-6);
6743
6491
  }
6744
6492
  .c-footer--info .c-footer__link {
6745
- color: var(--atomix-info-text);
6493
+ color: var(--atomix-info-text-emphasis);
6746
6494
  }
6747
6495
  .c-footer--info .c-footer__link:hover, .c-footer--info .c-footer__link:focus {
6748
6496
  color: var(--atomix-info);
@@ -6751,8 +6499,8 @@ a, a:hover {
6751
6499
  background-color: var(--atomix-info);
6752
6500
  }
6753
6501
  .c-footer--info .c-footer__newsletter {
6754
- background: linear-gradient(135deg, var(--atomix-info-bg), rgba(var(--atomix-info-bg-rgb), 0.8));
6755
- border-color: var(--atomix-info-border);
6502
+ background: linear-gradient(135deg, var(--atomix-info-bg-subtle), rgba(var(--atomix-info-bg-subtle), 0.8));
6503
+ border-color: var(--atomix-info-border-subtle);
6756
6504
  }
6757
6505
  .c-footer--info .c-footer__newsletter::before {
6758
6506
  background: linear-gradient(90deg, transparent, var(--atomix-info), transparent);
@@ -6760,7 +6508,7 @@ a, a:hover {
6760
6508
  .c-footer--light {
6761
6509
  --atomix-footer-bg: var(--atomix-light-bg-subtle);
6762
6510
  --atomix-footer-border-color: var(--atomix-light-border-subtle);
6763
- --atomix-footer-color: var(--atomix-light-text);
6511
+ --atomix-footer-color: var(--atomix-light-text-emphasis);
6764
6512
  }
6765
6513
  .c-footer--light .c-footer__brand-name h3,
6766
6514
  .c-footer--light .c-footer__section-title {
@@ -6768,10 +6516,10 @@ a, a:hover {
6768
6516
  }
6769
6517
  .c-footer--light .c-footer__brand-description,
6770
6518
  .c-footer--light .c-footer__copyright {
6771
- color: var(--atomix-light-text-muted);
6519
+ color: var(--atomix-gray-6);
6772
6520
  }
6773
6521
  .c-footer--light .c-footer__link {
6774
- color: var(--atomix-light-text);
6522
+ color: var(--atomix-light-text-emphasis);
6775
6523
  }
6776
6524
  .c-footer--light .c-footer__link:hover, .c-footer--light .c-footer__link:focus {
6777
6525
  color: var(--atomix-light);
@@ -6780,8 +6528,8 @@ a, a:hover {
6780
6528
  background-color: var(--atomix-light);
6781
6529
  }
6782
6530
  .c-footer--light .c-footer__newsletter {
6783
- background: linear-gradient(135deg, var(--atomix-light-bg), rgba(var(--atomix-light-bg-rgb), 0.8));
6784
- border-color: var(--atomix-light-border);
6531
+ background: linear-gradient(135deg, var(--atomix-light-bg-subtle), rgba(var(--atomix-light-bg-subtle), 0.8));
6532
+ border-color: var(--atomix-light-border-subtle);
6785
6533
  }
6786
6534
  .c-footer--light .c-footer__newsletter::before {
6787
6535
  background: linear-gradient(90deg, transparent, var(--atomix-light), transparent);
@@ -6789,7 +6537,7 @@ a, a:hover {
6789
6537
  .c-footer--dark {
6790
6538
  --atomix-footer-bg: var(--atomix-dark-bg-subtle);
6791
6539
  --atomix-footer-border-color: var(--atomix-dark-border-subtle);
6792
- --atomix-footer-color: var(--atomix-dark-text);
6540
+ --atomix-footer-color: var(--atomix-dark-text-emphasis);
6793
6541
  }
6794
6542
  .c-footer--dark .c-footer__brand-name h3,
6795
6543
  .c-footer--dark .c-footer__section-title {
@@ -6797,10 +6545,10 @@ a, a:hover {
6797
6545
  }
6798
6546
  .c-footer--dark .c-footer__brand-description,
6799
6547
  .c-footer--dark .c-footer__copyright {
6800
- color: var(--atomix-dark-text-muted);
6548
+ color: var(--atomix-gray-6);
6801
6549
  }
6802
6550
  .c-footer--dark .c-footer__link {
6803
- color: var(--atomix-dark-text);
6551
+ color: var(--atomix-dark-text-emphasis);
6804
6552
  }
6805
6553
  .c-footer--dark .c-footer__link:hover, .c-footer--dark .c-footer__link:focus {
6806
6554
  color: var(--atomix-dark);
@@ -6809,8 +6557,8 @@ a, a:hover {
6809
6557
  background-color: var(--atomix-dark);
6810
6558
  }
6811
6559
  .c-footer--dark .c-footer__newsletter {
6812
- background: linear-gradient(135deg, var(--atomix-dark-bg), rgba(var(--atomix-dark-bg-rgb), 0.8));
6813
- border-color: var(--atomix-dark-border);
6560
+ background: linear-gradient(135deg, var(--atomix-dark-bg-subtle), rgba(var(--atomix-dark-bg-subtle), 0.8));
6561
+ border-color: var(--atomix-dark-border-subtle);
6814
6562
  }
6815
6563
  .c-footer--dark .c-footer__newsletter::before {
6816
6564
  background: linear-gradient(90deg, transparent, var(--atomix-dark), transparent);
@@ -6818,34 +6566,12 @@ a, a:hover {
6818
6566
  .c-footer--sticky {
6819
6567
  position: sticky;
6820
6568
  bottom: 0;
6821
- z-index: 10;
6569
+ z-index: 100;
6822
6570
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
6823
6571
  -webkit-backdrop-filter: blur(10px);
6824
6572
  backdrop-filter: blur(10px);
6825
6573
  background-color: rgba(var(--atomix-footer-bg-rgb), 0.95);
6826
6574
  }
6827
- @media (prefers-color-scheme: dark) {
6828
- .c-footer {
6829
- --atomix-footer-bg: var(--atomix-surface-dark);
6830
- --atomix-footer-color: var(--atomix-text-dark);
6831
- --atomix-footer-border-color: var(--atomix-border-dark);
6832
- }
6833
- }
6834
- .dark-mode .c-footer {
6835
- --atomix-footer-bg: var(--atomix-surface-dark);
6836
- --atomix-footer-color: var(--atomix-text-dark);
6837
- --atomix-footer-border-color: var(--atomix-border-dark);
6838
- }
6839
- .dark-mode .c-footer .c-footer__newsletter {
6840
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
6841
- border-color: rgba(255, 255, 255, 0.1);
6842
- }
6843
- .dark-mode .c-footer .c-footer__social-link {
6844
- background-color: rgba(255, 255, 255, 0.1);
6845
- }
6846
- .dark-mode .c-footer .c-footer__social-link:hover {
6847
- background-color: rgba(255, 255, 255, 0.2);
6848
- }
6849
6575
  @media (prefers-reduced-motion: reduce) {
6850
6576
  .c-footer *,
6851
6577
  .c-footer *::before,
@@ -7170,10 +6896,10 @@ a, a:hover {
7170
6896
  .c-input--glass {
7171
6897
  background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
7172
6898
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
6899
+ border-color: color-mix(in srgb, var(--atomix-input-border-color) 50%, transparent);
7173
6900
  }
7174
6901
  .c-input--glass:focus, .c-input--glass:hover {
7175
- background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
7176
- 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);
6902
+ background-color: color-mix(in srgb, var(--atomix-input-bg) 90%, transparent);
7177
6903
  }
7178
6904
  .c-input--glass.c-input--textarea {
7179
6905
  resize: vertical;
@@ -7248,6 +6974,7 @@ a, a:hover {
7248
6974
  --atomix-list-item-dash-width: 0.75rem;
7249
6975
  --atomix-list-item-dash-height: 0.125rem;
7250
6976
  padding-left: var(--atomix-list-padding-left);
6977
+ list-style: none;
7251
6978
  }
7252
6979
  .c-list__item {
7253
6980
  color: var(--atomix-list-color);
@@ -7901,6 +7628,8 @@ a, a:hover {
7901
7628
  width: 100%;
7902
7629
  height: 100%;
7903
7630
  display: none;
7631
+ }
7632
+ .c-modal:not(.c-modal--glass) {
7904
7633
  z-index: 1040;
7905
7634
  }
7906
7635
  .c-modal__backdrop {
@@ -10809,6 +10538,9 @@ a, a:hover {
10809
10538
  --atomix-upload-disabled-opacity: 0.5;
10810
10539
  --atomix-upload-loader-control-icon-size: 1.25rem;
10811
10540
  --atomix-upload-loader-contorl-color: var(--atomix-body-color);
10541
+ --atomix-upload-helper-text-opacity: 0.7;
10542
+ --atomix-upload-text-opacity: 0.8;
10543
+ --atomix-upload-text-margin-bottom: 1rem;
10812
10544
  width: 100%;
10813
10545
  max-width: var(--atomix-upload-width);
10814
10546
  padding: var(--atomix-upload-padding-y) var(--atomix-upload-padding-x);
@@ -10829,24 +10561,47 @@ a, a:hover {
10829
10561
  padding: var(--atomix-upload-inner-padding-y) var(--atomix-upload-inner-padding-x);
10830
10562
  border-radius: var(--atomix-upload-border-radius);
10831
10563
  border: var(--atomix-upload-border-width) dashed var(--atomix-upload-border-color);
10564
+ cursor: pointer;
10565
+ transition: all 0.3s ease-in-out;
10566
+ }
10567
+ .c-upload__inner:hover {
10568
+ border-color: var(--atomix-primary-6);
10569
+ background-color: var(--atomix-primary-bg-subtle);
10570
+ transform: translateY(-2px);
10571
+ box-shadow: var(--atomix-box-shadow);
10832
10572
  }
10833
10573
  .c-upload__icon {
10834
10574
  font-size: var(--atomix-upload-icon-size);
10835
- padding: var(--atomix-upload-icon-padding);
10836
- background-color: var(--atomix-upload-icon-bg);
10837
- border-radius: 50rem;
10575
+ padding: 12;
10576
+ color: var(--atomix-primary-6);
10577
+ background-color: var(--atomix-primary-bg-subtle);
10578
+ border-radius: var(--atomix-border-radius-pill);
10579
+ margin-bottom: 12;
10580
+ transition: all 0.3s ease-in-out;
10581
+ }
10582
+ .c-upload__icon:hover {
10583
+ color: var(--atomix-primary-7);
10584
+ background-color: var(--atomix-primary-border-subtle);
10585
+ transform: scale(1.05);
10838
10586
  }
10839
10587
  .c-upload__title {
10840
10588
  color: var(--atomix-upload-title-color);
10841
10589
  font-size: var(--atomix-upload-title-font-size);
10842
10590
  font-weight: var(--atomix-upload-title-font-weight);
10843
10591
  margin-top: var(--atomix-upload-title-margin-top);
10592
+ margin-bottom: var(--atomix-upload-title-margin-bottom);
10593
+ text-align: center;
10594
+ line-height: 1.4;
10844
10595
  }
10845
10596
  .c-upload__text {
10846
10597
  color: var(--atomix-upload-text-color);
10847
10598
  font-size: var(--atomix-upload-text-font-size);
10848
10599
  font-weight: var(--atomix-upload-text-font-weight);
10849
10600
  margin-top: var(--atomix-upload-text-margin-top);
10601
+ margin-bottom: var(--atomix-upload-text-margin-bottom);
10602
+ text-align: center;
10603
+ line-height: 1.5;
10604
+ opacity: var(--atomix-upload-text-opacity);
10850
10605
  }
10851
10606
  .c-upload__btn {
10852
10607
  margin-top: var(--atomix-upload-btn-margin-top);
@@ -10856,6 +10611,9 @@ a, a:hover {
10856
10611
  font-size: var(--atomix-upload-helper-text-font-size);
10857
10612
  font-weight: var(--atomix-upload-helper-text-font-weight);
10858
10613
  margin-top: var(--atomix-upload-helper-text-margin-top);
10614
+ text-align: center;
10615
+ opacity: var(--atomix-upload-helper-text-opacity);
10616
+ line-height: 1.4;
10859
10617
  }
10860
10618
  .c-upload__row {
10861
10619
  width: 100%;
@@ -10874,6 +10632,7 @@ a, a:hover {
10874
10632
  .c-upload__loader {
10875
10633
  --upload-loader-percentage: 0;
10876
10634
  display: flex;
10635
+ align-items: center;
10877
10636
  justify-content: space-between;
10878
10637
  position: relative;
10879
10638
  width: 100%;
@@ -10882,6 +10641,8 @@ a, a:hover {
10882
10641
  border: var(--atomix-upload-loader-border-width) solid var(--atomix-upload-loader-border-color);
10883
10642
  border-radius: var(--atomix-upload-loader-border-radius);
10884
10643
  margin-top: var(--atomix-upload-loader-margin-top);
10644
+ background-color: var(--atomix-body-bg);
10645
+ box-shadow: var(--atomix-box-shadow-sm);
10885
10646
  overflow: hidden;
10886
10647
  }
10887
10648
  .c-upload__loader-title {
@@ -10906,6 +10667,20 @@ a, a:hover {
10906
10667
  .c-upload__loader-close {
10907
10668
  color: var(--atomix-upload-loader-contorl-color);
10908
10669
  font-size: var(--atomix-upload-loader-control-icon-size);
10670
+ background: none;
10671
+ border: none;
10672
+ cursor: pointer;
10673
+ padding: 4;
10674
+ border-radius: var(--atomix-border-radius-sm);
10675
+ transition: all 0.2s ease-in-out;
10676
+ }
10677
+ .c-upload__loader-close:hover {
10678
+ background-color: var(--atomix-danger-bg-subtle);
10679
+ color: var(--atomix-danger-text-emphasis);
10680
+ }
10681
+ .c-upload__loader-close:focus {
10682
+ outline: 2px solid var(--atomix-focus-border-color);
10683
+ outline-offset: 2px;
10909
10684
  }
10910
10685
  .c-upload__loader-bar {
10911
10686
  width: 22px;
@@ -10970,6 +10745,112 @@ a, a:hover {
10970
10745
  .c-upload--disabled .c-upload__btn {
10971
10746
  pointer-events: none;
10972
10747
  }
10748
+ .c-upload--disabled .c-upload__inner {
10749
+ cursor: not-allowed;
10750
+ }
10751
+ .c-upload--disabled .c-upload__inner:hover {
10752
+ transform: none;
10753
+ box-shadow: none;
10754
+ border-color: var(--atomix-upload-border-color);
10755
+ background-color: transparent;
10756
+ }
10757
+ .c-upload--dragging .c-upload__inner {
10758
+ border-color: var(--atomix-primary-6);
10759
+ background-color: var(--atomix-primary-bg-subtle);
10760
+ transform: scale(1.02);
10761
+ box-shadow: var(--atomix-box-shadow-lg);
10762
+ }
10763
+ .c-upload--dragging .c-upload__icon {
10764
+ color: var(--atomix-primary-7);
10765
+ background-color: var(--atomix-primary-border-subtle);
10766
+ transform: scale(1.1);
10767
+ }
10768
+ .c-upload--dragging .c-upload__title {
10769
+ color: var(--atomix-primary-6);
10770
+ }
10771
+ .c-upload--loading .c-upload__loader-bar circle:nth-child(2) {
10772
+ stroke: var(--atomix-primary-6);
10773
+ }
10774
+ .c-upload--success .c-upload__loader-bar circle:nth-child(2) {
10775
+ stroke: var(--atomix-success-6);
10776
+ }
10777
+ .c-upload--error .c-upload__loader-bar circle:nth-child(2) {
10778
+ stroke: var(--atomix-error-6);
10779
+ }
10780
+ .c-upload__input {
10781
+ position: absolute;
10782
+ width: 1px;
10783
+ height: 1px;
10784
+ padding: 0;
10785
+ margin: -1px;
10786
+ overflow: hidden;
10787
+ clip: rect(0, 0, 0, 0);
10788
+ white-space: nowrap;
10789
+ border: 0;
10790
+ }
10791
+ @media (max-width: 768px) {
10792
+ .c-upload {
10793
+ max-width: 100%;
10794
+ }
10795
+ .c-upload__inner {
10796
+ padding: 16 12;
10797
+ }
10798
+ .c-upload__icon {
10799
+ font-size: 28;
10800
+ padding: 8;
10801
+ margin-bottom: 8;
10802
+ }
10803
+ .c-upload__title {
10804
+ font-size: var(--atomix-font-size-md);
10805
+ }
10806
+ .c-upload__text {
10807
+ font-size: var(--atomix-font-size-xs);
10808
+ }
10809
+ .c-upload__loader {
10810
+ padding: 8 12;
10811
+ flex-direction: column;
10812
+ align-items: flex-start;
10813
+ gap: 8;
10814
+ }
10815
+ .c-upload__loader-control {
10816
+ align-self: flex-end;
10817
+ }
10818
+ }
10819
+ @media (prefers-reduced-motion: reduce) {
10820
+ .c-upload__inner {
10821
+ transition: none;
10822
+ }
10823
+ .c-upload__inner:hover {
10824
+ transform: none;
10825
+ }
10826
+ .c-upload__icon {
10827
+ transition: none;
10828
+ }
10829
+ .c-upload__icon:hover {
10830
+ transform: none;
10831
+ }
10832
+ .c-upload--dragging .c-upload__inner {
10833
+ transform: none;
10834
+ }
10835
+ .c-upload--dragging .c-upload__icon {
10836
+ transform: none;
10837
+ }
10838
+ }
10839
+ @media (prefers-contrast: high) {
10840
+ .c-upload__inner {
10841
+ border-width: 3px;
10842
+ }
10843
+ .c-upload--dragging .c-upload__inner {
10844
+ border-width: 4px;
10845
+ }
10846
+ .c-upload__loader {
10847
+ border-width: 2px;
10848
+ }
10849
+ }
10850
+ .c-upload__inner:focus-visible {
10851
+ outline: 2px solid var(--atomix-focus-border-color);
10852
+ outline-offset: 2px;
10853
+ }
10973
10854
  .c-video-player {
10974
10855
  --atomix--video-player-bg: #000;
10975
10856
  --atomix--video-player-border-radius: 12px;