@shohojdhara/atomix 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/README.md +19 -0
  2. package/dist/atomix.css +1266 -1412
  3. package/dist/atomix.min.css +3 -3
  4. package/dist/index.d.ts +1232 -876
  5. package/dist/index.esm.js +16212 -26364
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +15652 -22298
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.js +1 -1
  10. package/dist/index.min.js.map +1 -1
  11. package/dist/themes/applemix.css +15008 -0
  12. package/dist/themes/applemix.min.css +72 -0
  13. package/dist/themes/boomdevs.css +1266 -1413
  14. package/dist/themes/boomdevs.min.css +3 -3
  15. package/dist/themes/esrar.css +1267 -1413
  16. package/dist/themes/esrar.min.css +3 -3
  17. package/dist/themes/flashtrade.css +15159 -0
  18. package/dist/themes/flashtrade.min.css +86 -0
  19. package/dist/themes/mashroom.css +1264 -1410
  20. package/dist/themes/mashroom.min.css +5 -5
  21. package/dist/themes/shaj-default.css +1266 -1412
  22. package/dist/themes/shaj-default.min.css +3 -3
  23. package/package.json +6 -17
  24. package/src/components/Accordion/Accordion.stories.tsx +4 -26
  25. package/src/components/Accordion/Accordion.tsx +21 -12
  26. package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
  27. package/src/components/AtomixGlass/AtomixGlass.tsx +487 -1215
  28. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +400 -0
  29. package/src/components/AtomixGlass/GlassFilter.tsx +156 -0
  30. package/src/components/AtomixGlass/README.md +124 -2
  31. package/src/components/AtomixGlass/atomixGLass.old.tsx +1266 -0
  32. package/src/components/AtomixGlass/glass-utils.ts +263 -0
  33. package/src/components/AtomixGlass/shader-utils.ts +404 -236
  34. package/src/components/AtomixGlass/{AtomixGlass.stories.tsx → stories/AtomixGlass.stories.tsx} +55 -35
  35. package/src/components/AtomixGlass/stories/Examples.stories.tsx +57 -89
  36. package/src/components/AtomixGlass/stories/Modes.stories.tsx +149 -149
  37. package/src/components/AtomixGlass/stories/Playground.stories.tsx +95 -32
  38. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +0 -2
  39. package/src/components/AtomixGlass/stories/shared-components.tsx +9 -18
  40. package/src/components/AtomixGlass/utils.ts +3 -3
  41. package/src/components/Avatar/Avatar.tsx +3 -0
  42. package/src/components/Avatar/AvatarGroup.tsx +2 -1
  43. package/src/components/Badge/Badge.stories.tsx +74 -54
  44. package/src/components/Badge/Badge.tsx +8 -12
  45. package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
  46. package/src/components/Button/Button.tsx +3 -5
  47. package/src/components/Callout/Callout.stories.tsx +86 -35
  48. package/src/components/Callout/Callout.tsx +4 -0
  49. package/src/components/Card/Card.stories.tsx +89 -85
  50. package/src/components/Card/Card.tsx +15 -4
  51. package/src/components/Card/ElevationCard.tsx +2 -0
  52. package/src/components/Chart/AnimatedChart.tsx +179 -156
  53. package/src/components/Chart/AreaChart.tsx +123 -12
  54. package/src/components/Chart/BarChart.tsx +91 -100
  55. package/src/components/Chart/BaseChart.tsx +80 -0
  56. package/src/components/Chart/BubbleChart.tsx +114 -290
  57. package/src/components/Chart/CandlestickChart.tsx +282 -622
  58. package/src/components/Chart/Chart.stories.tsx +576 -179
  59. package/src/components/Chart/Chart.tsx +374 -75
  60. package/src/components/Chart/ChartRenderer.tsx +371 -220
  61. package/src/components/Chart/ChartToolbar.tsx +372 -61
  62. package/src/components/Chart/ChartTooltip.tsx +33 -18
  63. package/src/components/Chart/DonutChart.tsx +172 -254
  64. package/src/components/Chart/FunnelChart.tsx +169 -240
  65. package/src/components/Chart/GaugeChart.tsx +224 -392
  66. package/src/components/Chart/HeatmapChart.tsx +302 -440
  67. package/src/components/Chart/LineChart.tsx +148 -103
  68. package/src/components/Chart/MultiAxisChart.tsx +267 -395
  69. package/src/components/Chart/PieChart.tsx +114 -64
  70. package/src/components/Chart/RadarChart.tsx +202 -218
  71. package/src/components/Chart/ScatterChart.tsx +111 -97
  72. package/src/components/Chart/TreemapChart.tsx +147 -222
  73. package/src/components/Chart/WaterfallChart.tsx +253 -291
  74. package/src/components/Chart/index.ts +11 -9
  75. package/src/components/Chart/types.ts +85 -9
  76. package/src/components/Chart/utils.ts +66 -0
  77. package/src/components/ColorModeToggle/ColorModeToggle.tsx +6 -3
  78. package/src/components/Countdown/Countdown.tsx +4 -0
  79. package/src/components/DataTable/DataTable.tsx +2 -1
  80. package/src/components/DatePicker/DatePicker.stories.tsx +0 -11
  81. package/src/components/DatePicker/DatePicker.tsx +3 -9
  82. package/src/components/DatePicker/types.ts +5 -0
  83. package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
  84. package/src/components/Dropdown/Dropdown.tsx +26 -28
  85. package/src/components/EdgePanel/EdgePanel.stories.tsx +13 -15
  86. package/src/components/EdgePanel/EdgePanel.tsx +20 -5
  87. package/src/components/Footer/Footer.stories.tsx +187 -60
  88. package/src/components/Footer/Footer.test.tsx +134 -0
  89. package/src/components/Footer/Footer.tsx +133 -34
  90. package/src/components/Footer/FooterLink.tsx +1 -1
  91. package/src/components/Footer/FooterSection.tsx +53 -36
  92. package/src/components/Footer/FooterSocialLink.tsx +32 -29
  93. package/src/components/Footer/README.md +82 -3
  94. package/src/components/Footer/index.ts +1 -1
  95. package/src/components/Form/Checkbox.stories.tsx +13 -5
  96. package/src/components/Form/Checkbox.tsx +3 -6
  97. package/src/components/Form/Form.stories.tsx +10 -3
  98. package/src/components/Form/Form.tsx +2 -0
  99. package/src/components/Form/FormGroup.tsx +2 -1
  100. package/src/components/Form/Input.stories.tsx +12 -11
  101. package/src/components/Form/Input.tsx +97 -95
  102. package/src/components/Form/Radio.stories.tsx +22 -7
  103. package/src/components/Form/Radio.tsx +3 -6
  104. package/src/components/Form/Select.stories.tsx +21 -6
  105. package/src/components/Form/Select.tsx +3 -5
  106. package/src/components/Form/Textarea.stories.tsx +13 -11
  107. package/src/components/Form/Textarea.tsx +88 -86
  108. package/src/components/Hero/Hero.stories.tsx +2 -3
  109. package/src/components/Hero/Hero.tsx +5 -6
  110. package/src/components/Icon/Icon.tsx +12 -1
  111. package/src/components/List/List.tsx +2 -1
  112. package/src/components/List/ListGroup.tsx +2 -1
  113. package/src/components/Messages/Messages.tsx +3 -2
  114. package/src/components/Modal/Modal.stories.tsx +48 -34
  115. package/src/components/Modal/Modal.tsx +19 -23
  116. package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
  117. package/src/components/Navigation/Menu/Menu.tsx +2 -2
  118. package/src/components/Navigation/Nav/Nav.tsx +6 -1
  119. package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
  120. package/src/components/Navigation/Navbar/Navbar.tsx +4 -1
  121. package/src/components/Navigation/SideMenu/SideMenu.tsx +3 -2
  122. package/src/components/Pagination/Pagination.stories.tsx +13 -6
  123. package/src/components/Pagination/Pagination.tsx +7 -6
  124. package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
  125. package/src/components/Popover/Popover.stories.tsx +32 -24
  126. package/src/components/Popover/Popover.tsx +4 -1
  127. package/src/components/ProductReview/ProductReview.tsx +8 -2
  128. package/src/components/Progress/Progress.tsx +2 -1
  129. package/src/components/Rating/Rating.stories.tsx +11 -6
  130. package/src/components/Rating/Rating.tsx +3 -5
  131. package/src/components/River/River.tsx +5 -5
  132. package/src/components/SectionIntro/SectionIntro.tsx +8 -2
  133. package/src/components/Slider/Slider.stories.tsx +4 -4
  134. package/src/components/Slider/Slider.tsx +4 -3
  135. package/src/components/Spinner/Spinner.tsx +2 -1
  136. package/src/components/Steps/Steps.stories.tsx +5 -4
  137. package/src/components/Steps/Steps.tsx +8 -5
  138. package/src/components/Tab/Tab.stories.tsx +4 -3
  139. package/src/components/Tab/Tab.tsx +8 -6
  140. package/src/components/Testimonial/Testimonial.tsx +8 -2
  141. package/src/components/Todo/Todo.tsx +2 -1
  142. package/src/components/Toggle/Toggle.stories.tsx +5 -4
  143. package/src/components/Toggle/Toggle.tsx +8 -5
  144. package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
  145. package/src/components/Tooltip/Tooltip.tsx +9 -2
  146. package/src/components/Upload/Upload.stories.tsx +252 -0
  147. package/src/components/Upload/Upload.tsx +92 -53
  148. package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
  149. package/src/components/index.ts +0 -4
  150. package/src/layouts/Grid/Grid.stories.tsx +10 -23
  151. package/src/layouts/Grid/Grid.tsx +20 -1
  152. package/src/layouts/Grid/GridCol.tsx +76 -48
  153. package/src/lib/composables/useAtomixGlass.ts +861 -44
  154. package/src/lib/composables/useBarChart.ts +13 -6
  155. package/src/lib/composables/useChart.ts +17 -13
  156. package/src/lib/composables/useChartExport.ts +19 -78
  157. package/src/lib/composables/useChartToolbar.ts +0 -1
  158. package/src/lib/composables/useEdgePanel.ts +111 -103
  159. package/src/lib/composables/useFooter.ts +3 -3
  160. package/src/lib/composables/useGlassContainer.ts +16 -7
  161. package/src/lib/composables/useLineChart.ts +8 -1
  162. package/src/lib/composables/useRiver.ts +5 -0
  163. package/src/lib/composables/useSlider.ts +62 -24
  164. package/src/lib/composables/useVideoPlayer.ts +60 -63
  165. package/src/lib/constants/components.ts +146 -32
  166. package/src/lib/types/components.ts +258 -10
  167. package/src/lib/utils/displacement-generator.ts +55 -49
  168. package/src/lib/utils/icons.ts +1 -1
  169. package/src/lib/utils/index.ts +16 -10
  170. package/src/styles/01-settings/_settings.accordion.scss +19 -19
  171. package/src/styles/01-settings/_settings.animations.scss +5 -5
  172. package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
  173. package/src/styles/01-settings/_settings.avatar.scss +17 -17
  174. package/src/styles/01-settings/_settings.background.scss +1 -4
  175. package/src/styles/01-settings/_settings.badge.scss +1 -1
  176. package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
  177. package/src/styles/01-settings/_settings.card.scss +1 -1
  178. package/src/styles/01-settings/_settings.chart.scss +65 -2
  179. package/src/styles/01-settings/_settings.dropdown.scss +1 -1
  180. package/src/styles/01-settings/_settings.footer.scss +35 -42
  181. package/src/styles/01-settings/_settings.input.scss +1 -1
  182. package/src/styles/01-settings/_settings.list.scss +1 -1
  183. package/src/styles/01-settings/_settings.rating.scss +1 -1
  184. package/src/styles/01-settings/_settings.tabs.scss +1 -1
  185. package/src/styles/01-settings/_settings.upload.scss +6 -5
  186. package/src/styles/02-tools/_tools.animations.scss +4 -5
  187. package/src/styles/02-tools/_tools.background.scss +1 -13
  188. package/src/styles/02-tools/_tools.glass.scss +0 -1
  189. package/src/styles/02-tools/_tools.utility-api.scss +42 -34
  190. package/src/styles/03-generic/_generic.root.scss +1 -4
  191. package/src/styles/04-elements/_elements.body.scss +0 -1
  192. package/src/styles/06-components/_components.atomix-glass.scss +216 -39
  193. package/src/styles/06-components/_components.badge.scss +6 -8
  194. package/src/styles/06-components/_components.button.scss +8 -3
  195. package/src/styles/06-components/_components.card.scss +2 -14
  196. package/src/styles/06-components/_components.chart.scss +969 -1449
  197. package/src/styles/06-components/_components.dropdown.scss +19 -7
  198. package/src/styles/06-components/_components.edge-panel.scss +4 -2
  199. package/src/styles/06-components/_components.footer.scss +166 -85
  200. package/src/styles/06-components/_components.input.scss +8 -9
  201. package/src/styles/06-components/_components.list.scss +1 -0
  202. package/src/styles/06-components/_components.modal.scss +5 -3
  203. package/src/styles/06-components/_components.skeleton.scss +8 -6
  204. package/src/styles/06-components/_components.upload.scss +219 -4
  205. package/src/styles/06-components/old.chart.styles.scss +1 -30
  206. package/src/styles/99-utilities/_utilities.opacity.scss +1 -1
  207. package/src/styles/99-utilities/_utilities.scss +1 -1
  208. package/src/components/Chart/AdvancedChart.tsx +0 -624
  209. package/src/components/Chart/LineChartNew.tsx +0 -167
  210. package/src/components/Chart/RealTimeChart.tsx +0 -436
  211. package/src/components/DatePicker/DatePicker copy.tsx +0 -551
@@ -16269,60 +16269,183 @@ a, a:hover {
16269
16269
  margin-left: calc(var(--atomix-avatar-size) * -1 * var(--atomix-avatar-group-stacked-overlap) / 100);
16270
16270
  z-index: 1;
16271
16271
  }
16272
- .atomix-glass__layer, .atomix-glass__overlay, .atomix-glass__base, .atomix-glass__border-1, .atomix-glass__border-2 {
16273
- pointer-events: none;
16272
+ .c-atomix-glass {
16273
+ position: relative;
16274
+ --atomix-glass-radius: var(--atomix-radius-md, 16px);
16275
+ --atomix-glass-transform: none;
16276
+ --atomix-glass-transition: opacity var(--atomix-transition-duration, 0.2s) ease-out;
16277
+ --atomix-glass-position: absolute;
16278
+ --atomix-glass-container-width: 100%;
16279
+ --atomix-glass-container-height: 100%;
16280
+ --atomix-glass-border-width: var(--atomix-spacing-0-5, 0.09375rem);
16281
+ }
16282
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3, .c-atomix-glass__base, .c-atomix-glass__overlay {
16274
16283
  position: absolute;
16275
16284
  inset: 0;
16276
- border-radius: inherit;
16277
- transform: inherit;
16278
- transition: inherit;
16285
+ pointer-events: none;
16286
+ border-radius: var(--atomix-glass-radius);
16287
+ transform: var(--atomix-glass-transform);
16288
+ transition: var(--atomix-glass-transition);
16289
+ }
16290
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3 {
16291
+ mix-blend-mode: overlay;
16292
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
16293
+ background: var(--atomix-glass-hover-1-gradient, none);
16294
+ }
16295
+ .c-atomix-glass__hover-1 {
16296
+ transition: opacity 0.2s ease-out;
16297
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
16298
+ background: var(--atomix-glass-hover-1-gradient, none);
16299
+ }
16300
+ .c-atomix-glass__hover-2 {
16301
+ transition: opacity 0.4s ease-out;
16302
+ opacity: var(--atomix-glass-hover-2-opacity, 0);
16303
+ background: var(--atomix-glass-hover-2-gradient, none);
16304
+ }
16305
+ .c-atomix-glass__hover-3 {
16306
+ transition: opacity 0.6s ease-out;
16307
+ opacity: var(--atomix-glass-hover-3-opacity, 0);
16308
+ background: var(--atomix-glass-hover-3-gradient, none);
16309
+ }
16310
+ .c-atomix-glass__base {
16311
+ mix-blend-mode: soft-light;
16312
+ opacity: var(--atomix-glass-base-opacity, 0);
16313
+ background: var(--atomix-glass-base-gradient, none);
16314
+ }
16315
+ .c-atomix-glass__overlay {
16316
+ mix-blend-mode: overlay;
16317
+ opacity: var(--atomix-glass-overlay-opacity, 0);
16318
+ background: var(--atomix-glass-overlay-gradient, none);
16319
+ }
16320
+ .c-atomix-glass__overlay-highlight {
16321
+ position: absolute;
16322
+ inset: var(--atomix-spacing-0-5, 0.125rem);
16323
+ pointer-events: none;
16324
+ border-radius: var(--atomix-glass-radius);
16325
+ transform: var(--atomix-glass-transform);
16326
+ transition: var(--atomix-glass-transition);
16327
+ mix-blend-mode: screen;
16279
16328
  }
16280
- .atomix-glass__border-1, .atomix-glass__border-2 {
16329
+ .c-atomix-glass__border-1, .c-atomix-glass__border-2 {
16330
+ padding: var(--atomix-glass-border-width);
16281
16331
  box-sizing: border-box;
16282
- padding: 1.5px;
16283
- -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
16332
+ overflow: hidden;
16333
+ pointer-events: none;
16334
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
16284
16335
  -webkit-mask-composite: xor;
16285
- mask-composite: exclude;
16286
- 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);
16287
- transition-property: transform;
16288
- }
16289
- .atomix-glass__border-1 {
16290
- z-index: 5;
16291
- opacity: 0.3;
16336
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
16337
+ mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
16338
+ -webkit-mask-composite: xor;
16339
+ mask-composite: exclude;
16340
+ position: var(--atomix-glass-position);
16341
+ top: var(--atomix-glass-top);
16342
+ left: var(--atomix-glass-left);
16343
+ width: var(--atomix-glass-width);
16344
+ height: var(--atomix-glass-height);
16345
+ border-radius: var(--atomix-glass-radius);
16346
+ transform: var(--atomix-glass-transform);
16347
+ transition: var(--atomix-glass-transition);
16348
+ }
16349
+ .c-atomix-glass__border-1 {
16350
+ opacity: var(--atomix-opacity-20, 0.2);
16292
16351
  mix-blend-mode: screen;
16352
+ z-index: var(--atomix-z-index-5, 5);
16353
+ background: var(--atomix-glass-border-gradient-1, none);
16354
+ 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));
16355
+ }
16356
+ .c-atomix-glass__border-2 {
16357
+ mix-blend-mode: overlay;
16358
+ z-index: var(--atomix-z-index-6, 6);
16359
+ background: var(--atomix-glass-border-gradient-2, none);
16360
+ 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));
16293
16361
  }
16294
- .atomix-glass__border-2 {
16295
- z-index: 6;
16362
+ .c-atomix-glass__container {
16363
+ width: var(--atomix-glass-container-width);
16364
+ height: var(--atomix-glass-container-height);
16365
+ position: relative;
16366
+ border-radius: var(--atomix-glass-radius);
16367
+ transition: border-radius 0.25s ease-out;
16368
+ }
16369
+ .c-atomix-glass__inner {
16370
+ width: var(--atomix-glass-container-width);
16371
+ height: var(--atomix-glass-container-height);
16372
+ position: relative;
16373
+ border-radius: var(--atomix-glass-radius);
16296
16374
  }
16297
- .atomix-glass__hover-1, .atomix-glass__hover-2, .atomix-glass__hover-3 {
16375
+ .c-atomix-glass__filter {
16298
16376
  position: absolute;
16299
- inset: 0;
16377
+ top: 0;
16378
+ left: 0;
16379
+ width: 100%;
16380
+ height: 100%;
16300
16381
  pointer-events: none;
16301
- border-radius: inherit;
16302
- transform: inherit;
16303
- transition: inherit;
16304
- transition-property: transform, opacity;
16305
16382
  }
16306
- .atomix-glass__hover-1 {
16307
- opacity: 0;
16383
+ .c-atomix-glass__filter-overlay {
16384
+ position: absolute;
16385
+ inset: 0;
16386
+ pointer-events: none;
16308
16387
  }
16309
- .atomix-glass__hover-2 {
16310
- overflow: hidden;
16311
- opacity: 0;
16388
+ .c-atomix-glass__filter-shadow {
16389
+ position: absolute;
16390
+ inset: var(--atomix-glass-border-width);
16391
+ pointer-events: none;
16312
16392
  }
16313
- .atomix-glass__hover-3 {
16314
- opacity: 0;
16393
+ .c-atomix-glass__content {
16394
+ position: relative;
16395
+ width: var(--atomix-glass-container-width);
16396
+ height: var(--atomix-glass-container-height);
16315
16397
  }
16316
- .atomix-glass__base {
16398
+ .c-atomix-glass__background-layer {
16399
+ position: absolute;
16400
+ pointer-events: none;
16401
+ border-radius: var(--atomix-glass-radius);
16402
+ transform: var(--atomix-glass-transform);
16403
+ transition: var(--atomix-glass-transition);
16317
16404
  will-change: transform;
16318
- transition-property: transform, opacity;
16319
- opacity: 0;
16320
16405
  }
16321
- .atomix-glass__overlay {
16406
+ .c-atomix-glass__background-layer--dark {
16407
+ background-color: var(--atomix-gray-9, #1f2937);
16408
+ }
16409
+ .c-atomix-glass__background-layer--black {
16410
+ background-color: var(--atomix-black, #000000);
16322
16411
  mix-blend-mode: overlay;
16323
- will-change: transform;
16324
- transition-property: transform, opacity;
16325
- opacity: 0;
16412
+ }
16413
+ .c-atomix-glass__background-layer--dark.c-atomix-glass__background-layer--over-light {
16414
+ opacity: var(--atomix-opacity-50, 0.5);
16415
+ }
16416
+ .c-atomix-glass__background-layer--black.c-atomix-glass__background-layer--over-light {
16417
+ opacity: var(--atomix-opacity-25, 0.25);
16418
+ }
16419
+ .c-atomix-glass__background-layer--hidden {
16420
+ opacity: var(--atomix-opacity-0, 0);
16421
+ }
16422
+ .c-atomix-glass--reduced-motion {
16423
+ --atomix-glass-transition: none;
16424
+ }
16425
+ .c-atomix-glass--reduced-motion * {
16426
+ transition: none !important;
16427
+ }
16428
+ .c-atomix-glass--high-contrast {
16429
+ border: var(--atomix-spacing-0-5, 2px) solid currentColor;
16430
+ outline: var(--atomix-spacing-0-5, 2px) solid transparent;
16431
+ outline-offset: var(--atomix-spacing-0-5, 2px);
16432
+ }
16433
+ .c-atomix-glass--disabled-effects {
16434
+ --atomix-glass-transform: none;
16435
+ --atomix-glass-transition: none;
16436
+ }
16437
+ @media (prefers-reduced-motion: reduce) {
16438
+ .c-atomix-glass {
16439
+ --atomix-glass-transition: none;
16440
+ }
16441
+ .c-atomix-glass * {
16442
+ transition: none !important;
16443
+ }
16444
+ }
16445
+ @media (prefers-contrast: high) {
16446
+ .c-atomix-glass {
16447
+ border-width: var(--atomix-spacing-0-5, 0.125rem);
16448
+ }
16326
16449
  }
16327
16450
  .c-badge {
16328
16451
  --atomix-tag-font-size: 12px;
@@ -17343,19 +17466,8 @@ a, a:hover {
17343
17466
  padding-top: 0;
17344
17467
  }
17345
17468
  .c-card--glass {
17346
- background-color: transparent;
17347
- padding: 0;
17348
- border: none;
17349
- display: block;
17350
- border-radius: 0;
17351
- }
17352
- .c-card--glass .c-card__glass-content {
17353
- padding: var(--atomix-card-spacer-y) var(--atomix-card-spacer-x);
17354
- max-width: var(--atomix-card-width);
17355
- border-radius: var(--atomix-card-border-radius);
17356
- width: 100%;
17469
+ max-width: none;
17357
17470
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
17358
- background-blend-mode: overlay;
17359
17471
  }
17360
17472
  .is-elevated .c-card {
17361
17473
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
@@ -17377,126 +17489,49 @@ a, a:hover {
17377
17489
  border: var(--atomix-chart-border-width) solid var(--atomix-chart-border-color);
17378
17490
  border-radius: var(--atomix-chart-border-radius);
17379
17491
  overflow: hidden;
17380
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
17492
+ 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);
17381
17493
  position: relative;
17382
17494
  min-height: var(--atomix-chart-min-height);
17383
17495
  width: 100%;
17384
17496
  max-width: 100%;
17385
- background-color: var(--atomix-chart-bg);
17386
- transition-property: all;
17387
- transition-duration: 0.2s;
17388
- transition-timing-function: ease-in-out;
17389
- transition-delay: 0s;
17497
+ background: var(--atomix-chart-bg);
17498
+ backdrop-filter: blur(10px);
17499
+ -webkit-backdrop-filter: blur(10px);
17390
17500
  }
17391
- .c-chart::after {
17501
+ .c-chart::before {
17392
17502
  content: "";
17393
17503
  position: absolute;
17394
17504
  inset: 0;
17395
- background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1) 0%, transparent 50%, rgba(var(--atomix-secondary-rgb), 0.05) 100%);
17505
+ 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%);
17396
17506
  pointer-events: none;
17397
17507
  z-index: 1;
17508
+ opacity: 1;
17509
+ transition: opacity 0.3s ease;
17398
17510
  }
17399
- .c-chart:hover {
17400
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
17401
- border-color: var(--atomix-primary-border-subtle);
17402
- }
17403
- .c-chart:focus-visible {
17404
- 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);
17405
- }
17406
- .c-chart--xs {
17407
- --atomix-chart-min-height: 7rem;
17408
- --atomix-chart-padding: 0.5rem;
17409
- font-size: 0.75rem;
17410
- }
17411
- .c-chart--sm {
17412
- --atomix-chart-min-height: 9rem;
17413
- --atomix-chart-padding: 0.75rem;
17414
- font-size: 0.875rem;
17415
- }
17416
- .c-chart--md {
17417
- --atomix-chart-min-height: 13rem;
17418
- --atomix-chart-padding: 1rem;
17419
- font-size: 1rem;
17420
- }
17421
- .c-chart--lg {
17422
- --atomix-chart-min-height: 18rem;
17423
- --atomix-chart-padding: 1.5rem;
17424
- font-size: 1.125rem;
17425
- }
17426
- .c-chart--xl {
17427
- --atomix-chart-min-height: 20rem;
17428
- --atomix-chart-padding: 2rem;
17429
- font-size: 1.25rem;
17430
- }
17431
- .c-chart--2xl {
17432
- --atomix-chart-min-height: ;
17433
- --atomix-chart-padding: 2.5rem;
17434
- font-size: 1.25rem;
17435
- }
17436
- .c-chart--full {
17437
- height: 100vh;
17438
- min-height: auto;
17439
- border-radius: 0;
17440
- }
17441
- .c-chart--auto {
17442
- height: auto;
17443
- min-height: 8rem;
17444
- }
17445
- .c-chart--primary {
17446
- --atomix-chart-primary-color: var(--atomix-primary-6);
17447
- --atomix-chart-border-color: var(--atomix-primary-border-subtle);
17448
- }
17449
- .c-chart--primary:hover {
17450
- border-color: var(--atomix-primary-border-subtle);
17451
- }
17452
- .c-chart--secondary {
17453
- --atomix-chart-primary-color: var(--atomix-secondary-6);
17454
- --atomix-chart-border-color: var(--atomix-secondary-border-subtle);
17455
- }
17456
- .c-chart--secondary:hover {
17457
- border-color: var(--atomix-secondary-border-subtle);
17458
- }
17459
- .c-chart--success {
17460
- --atomix-chart-primary-color: var(--atomix-success-6);
17461
- --atomix-chart-border-color: var(--atomix-success-border-subtle);
17462
- }
17463
- .c-chart--success:hover {
17464
- border-color: var(--atomix-success-border-subtle);
17465
- }
17466
- .c-chart--info {
17467
- --atomix-chart-primary-color: var(--atomix-info-6);
17468
- --atomix-chart-border-color: var(--atomix-info-border-subtle);
17469
- }
17470
- .c-chart--info:hover {
17471
- border-color: var(--atomix-info-border-subtle);
17472
- }
17473
- .c-chart--warning {
17474
- --atomix-chart-primary-color: var(--atomix-warning-6);
17475
- --atomix-chart-border-color: var(--atomix-warning-border-subtle);
17476
- }
17477
- .c-chart--warning:hover {
17478
- border-color: var(--atomix-warning-border-subtle);
17479
- }
17480
- .c-chart--error {
17481
- --atomix-chart-primary-color: var(--atomix-error-6);
17482
- --atomix-chart-border-color: var(--atomix-error-border-subtle);
17483
- }
17484
- .c-chart--error:hover {
17485
- border-color: var(--atomix-error-border-subtle);
17486
- }
17487
- .c-chart--light {
17488
- --atomix-chart-primary-color: var(--atomix-light-6);
17489
- --atomix-chart-border-color: var(--atomix-light-border-subtle);
17490
- }
17491
- .c-chart--light:hover {
17492
- border-color: var(--atomix-light-border-subtle);
17511
+ .c-chart::after {
17512
+ content: "";
17513
+ position: absolute;
17514
+ inset: 0;
17515
+ border-radius: inherit;
17516
+ padding: 1px;
17517
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1), rgba(var(--atomix-secondary-rgb), 0.05), transparent);
17518
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
17519
+ -webkit-mask-composite: xor;
17520
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
17521
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
17522
+ -webkit-mask-composite: xor;
17523
+ mask-composite: exclude;
17524
+ pointer-events: none;
17525
+ z-index: 2;
17526
+ opacity: 0;
17527
+ transition: opacity 0.3s ease;
17493
17528
  }
17494
- .c-chart--dark {
17495
- --atomix-chart-primary-color: var(--atomix-dark-6);
17496
- --atomix-chart-border-color: var(--atomix-dark-border-subtle);
17529
+ .c-chart:hover {
17530
+ 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);
17531
+ border-color: rgba(var(--atomix-primary-rgb), 0.2);
17497
17532
  }
17498
- .c-chart--dark:hover {
17499
- border-color: var(--atomix-dark-border-subtle);
17533
+ .c-chart:hover::after {
17534
+ opacity: 1;
17500
17535
  }
17501
17536
  .c-chart--loading .c-chart__content {
17502
17537
  position: relative;
@@ -17516,38 +17551,6 @@ a, a:hover {
17516
17551
  opacity: 0.3;
17517
17552
  filter: blur(1px);
17518
17553
  }
17519
- .c-chart--interactive {
17520
- cursor: pointer;
17521
- -webkit-user-select: none;
17522
- -moz-user-select: none;
17523
- user-select: none;
17524
- }
17525
- .c-chart--interactive:hover {
17526
- transform: translateY(-2px);
17527
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
17528
- }
17529
- .c-chart--interactive:active {
17530
- transform: translateY(0);
17531
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
17532
- transition-duration: 0.1s;
17533
- }
17534
- .c-chart--interactive:focus-visible {
17535
- transform: translateY(-1px);
17536
- }
17537
- .c-chart--disabled {
17538
- pointer-events: none;
17539
- opacity: 0.6;
17540
- }
17541
- .c-chart--disabled .c-chart__content {
17542
- filter: grayscale(80%) opacity(0.6);
17543
- }
17544
- .c-chart--disabled .c-chart__canvas {
17545
- pointer-events: none;
17546
- }
17547
- .c-chart--disabled:hover {
17548
- transform: none;
17549
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
17550
- }
17551
17554
  .c-chart--fullscreen {
17552
17555
  position: fixed;
17553
17556
  top: 0;
@@ -17557,29 +17560,58 @@ a, a:hover {
17557
17560
  z-index: 9999;
17558
17561
  border-radius: 0;
17559
17562
  box-shadow: none;
17560
- background: var(--atomix-primary-bg-default);
17563
+ background: var(--atomix-body-bg);
17561
17564
  }
17562
17565
  .c-chart--elevated {
17563
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
17564
- transform: translateY(-2px);
17566
+ 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);
17565
17567
  }
17566
17568
  .c-chart--elevated:hover {
17567
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
17568
- transform: translateY(-4px);
17569
+ 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);
17569
17570
  }
17570
- .c-chart--flat {
17571
+ .c-chart--glass {
17572
+ background: transparent;
17573
+ border: none;
17571
17574
  box-shadow: none;
17572
- border: 2px solid var(--atomix-primary-border-subtle);
17573
17575
  }
17574
- .c-chart--flat:hover {
17575
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
17576
+ .c-chart--glass .c-chart__content {
17577
+ position: relative;
17578
+ }
17579
+ .c-chart--glass .c-chart__canvas {
17580
+ position: relative;
17581
+ }
17582
+ .c-chart--glass .c-chart__toolbar {
17583
+ position: relative;
17584
+ }
17585
+ .c-chart--disabled {
17586
+ opacity: 0.6;
17587
+ cursor: not-allowed;
17588
+ pointer-events: none;
17589
+ pointer-events: none;
17590
+ opacity: 0.6;
17591
+ }
17592
+ .c-chart--disabled:hover, .c-chart--disabled:focus, .c-chart--disabled:active {
17593
+ background-color: inherit;
17594
+ color: inherit;
17576
17595
  transform: none;
17577
17596
  }
17578
- .c-chart--rounded {
17579
- border-radius: 0.75rem;
17597
+ .c-chart--selected {
17598
+ border-color: rgba(var(--atomix-primary-rgb), 0.3);
17599
+ 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);
17600
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.08) 0%, rgba(var(--atomix-primary-rgb), 0.04) 100%), var(--atomix-chart-bg);
17580
17601
  }
17581
- .c-chart--square {
17582
- border-radius: 0;
17602
+ .c-chart--active {
17603
+ border-color: var(--atomix-primary-border-subtle);
17604
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
17605
+ }
17606
+ .c-chart--clickable {
17607
+ cursor: pointer;
17608
+ }
17609
+ .c-chart--clickable:hover {
17610
+ 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);
17611
+ border-color: rgba(var(--atomix-primary-rgb), 0.25);
17612
+ }
17613
+ .c-chart--clickable:active {
17614
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.12);
17583
17615
  }
17584
17616
  .c-chart__header {
17585
17617
  padding: var(--atomix-chart-padding);
@@ -17689,8 +17721,11 @@ a, a:hover {
17689
17721
  transform: scale(1.1);
17690
17722
  }
17691
17723
  .c-chart__action:focus-visible {
17692
- outline: 2px solid var(--atomix-primary-6);
17724
+ outline: 2px solid var(--atomix-focus-border-color);
17693
17725
  outline-offset: 2px;
17726
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
17727
+ }
17728
+ .c-chart__action:focus-visible {
17694
17729
  border-color: var(--atomix-primary-border-subtle);
17695
17730
  }
17696
17731
  .c-chart__action:active {
@@ -17716,45 +17751,6 @@ a, a:hover {
17716
17751
  background-color: transparent;
17717
17752
  border-color: transparent;
17718
17753
  }
17719
- .c-chart__action--primary {
17720
- background-color: var(--atomix-primary-6);
17721
- color: white;
17722
- border-color: var(--atomix-primary-6);
17723
- }
17724
- .c-chart__action--primary:hover {
17725
- background-color: var(--atomix-primary-7);
17726
- border-color: var(--atomix-primary-7);
17727
- }
17728
- .c-chart__action--primary:active {
17729
- background-color: var(--atomix-primary-8);
17730
- }
17731
- .c-chart__action--success {
17732
- background-color: var(--atomix-success-6);
17733
- color: white;
17734
- border-color: var(--atomix-success-6);
17735
- }
17736
- .c-chart__action--success:hover {
17737
- background-color: var(--atomix-success-7);
17738
- border-color: var(--atomix-success-7);
17739
- }
17740
- .c-chart__action--warning {
17741
- background-color: var(--atomix-warning-6);
17742
- color: white;
17743
- border-color: var(--atomix-warning-6);
17744
- }
17745
- .c-chart__action--warning:hover {
17746
- background-color: var(--atomix-warning-7);
17747
- border-color: var(--atomix-warning-7);
17748
- }
17749
- .c-chart__action--danger {
17750
- background-color: var(--atomix-error-6);
17751
- color: white;
17752
- border-color: var(--atomix-error-6);
17753
- }
17754
- .c-chart__action--danger:hover {
17755
- background-color: var(--atomix-error-7);
17756
- border-color: var(--atomix-error-7);
17757
- }
17758
17754
  .c-chart__export-group {
17759
17755
  position: relative;
17760
17756
  display: flex;
@@ -17776,7 +17772,7 @@ a, a:hover {
17776
17772
  border-radius: 0.25rem;
17777
17773
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
17778
17774
  padding: 0.25rem;
17779
- min-width: 7.5rem;
17775
+ min-width: 7rem;
17780
17776
  z-index: 1000;
17781
17777
  opacity: 0;
17782
17778
  visibility: hidden;
@@ -17806,8 +17802,8 @@ a, a:hover {
17806
17802
  color: var(--atomix-primary-text-emphasis);
17807
17803
  }
17808
17804
  .c-chart__export-option:focus-visible {
17809
- outline: 2px solid var(--atomix-primary-6);
17810
- outline-offset: -2px;
17805
+ outline: calc(var(--atomix-border-width) * 2) solid var(--atomix-primary-6);
17806
+ outline-offset: calc(var(--atomix-border-width) * -2);
17811
17807
  }
17812
17808
  .c-chart__export-option:disabled {
17813
17809
  opacity: 0.4;
@@ -17817,201 +17813,178 @@ a, a:hover {
17817
17813
  .c-chart__export-option:not(:last-child) {
17818
17814
  margin-bottom: 0.25rem;
17819
17815
  }
17820
- .c-chart__content {
17821
- flex: 1 1;
17822
- position: relative;
17823
- padding: var(--atomix-chart-padding);
17824
- display: flex;
17825
- align-items: center;
17826
- justify-content: center;
17827
- min-height: 8rem;
17828
- }
17829
- .c-chart__content::before {
17830
- content: "";
17816
+ .c-chart__settings-menu {
17831
17817
  position: absolute;
17832
- top: 0;
17833
- left: 0;
17818
+ top: 100%;
17834
17819
  right: 0;
17835
- bottom: 0;
17836
- background-image: radial-gradient(circle at 1px 1px, var(--atomix-primary-border-subtle) 1px, transparent 0);
17837
- background-size: 1.25rem 1.25rem;
17838
- opacity: 0.03;
17839
- pointer-events: none;
17840
- z-index: 0;
17820
+ margin-top: 0.25rem;
17821
+ background: var(--atomix-primary-bg-default);
17822
+ border: 1px solid var(--atomix-primary-border-subtle);
17823
+ border-radius: 0.25rem;
17824
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
17825
+ padding: 0.5rem;
17826
+ min-width: 8.75rem;
17827
+ z-index: 1000;
17828
+ opacity: 0;
17829
+ visibility: hidden;
17830
+ transform: translateY(-8px);
17831
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
17832
+ -webkit-backdrop-filter: blur(8px);
17833
+ backdrop-filter: blur(8px);
17841
17834
  }
17842
- .c-chart__content::after {
17843
- content: "";
17844
- position: absolute;
17845
- inset: 0;
17846
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, transparent 50%, rgba(0, 0, 0, 0.02) 100%);
17847
- pointer-events: none;
17848
- z-index: 1;
17835
+ .c-chart__settings-menu-title {
17836
+ font-size: 0.875rem;
17837
+ font-weight: 600;
17838
+ color: var(--atomix-text-primary);
17839
+ margin-bottom: 0.5rem;
17840
+ padding-bottom: 0.5rem;
17841
+ border-bottom: 1px solid var(--atomix-border-color);
17849
17842
  }
17850
- .c-chart__canvas {
17851
- width: 100%;
17852
- height: 100%;
17853
- position: relative;
17854
- overflow: hidden;
17855
- border-radius: 0.25rem;
17856
- z-index: 2;
17857
- }
17858
- .c-chart__canvas svg {
17859
- width: 100%;
17860
- height: 100%;
17861
- shape-rendering: geometricPrecision;
17862
- text-rendering: optimizeLegibility;
17863
- image-rendering: -webkit-optimize-contrast;
17864
- image-rendering: crisp-edges;
17865
- }
17866
- .c-chart__canvas canvas {
17867
- width: 100%;
17868
- height: 100%;
17869
- image-rendering: -webkit-optimize-contrast;
17870
- image-rendering: crisp-edges;
17843
+ .c-chart__settings-menu-content {
17844
+ display: flex;
17845
+ flex-direction: column;
17846
+ gap: 0.25rem;
17871
17847
  }
17872
- .c-chart__crosshair {
17873
- pointer-events: none;
17848
+ .c-chart__settings-menu-item {
17849
+ display: flex;
17850
+ align-items: center;
17851
+ justify-content: space-between;
17852
+ padding: 0.375rem 0;
17853
+ gap: 0.75rem;
17874
17854
  }
17875
- .c-chart__crosshair line, .c-chart__crosshair-line {
17876
- stroke: var(--atomix-primary-border-subtle);
17877
- stroke-width: 1;
17878
- stroke-dasharray: 4, 4;
17855
+ .c-chart__settings-menu-item--info {
17879
17856
  opacity: 0.7;
17857
+ font-size: 0.75rem;
17880
17858
  }
17881
- .c-chart__crosshair line--vertical, .c-chart__crosshair line--horizontal, .c-chart__crosshair-line--vertical, .c-chart__crosshair-line--horizontal {
17882
- opacity: 0.7;
17859
+ .c-chart__settings-menu-toggle {
17860
+ display: flex;
17861
+ align-items: center;
17862
+ gap: 0.5rem;
17863
+ cursor: pointer;
17864
+ width: 100%;
17865
+ -webkit-user-select: none;
17866
+ -moz-user-select: none;
17867
+ user-select: none;
17883
17868
  }
17884
- .c-chart__zoom-indicator {
17885
- position: absolute;
17886
- top: 10px;
17887
- right: 10px;
17888
- background: rgba(0, 0, 0, 0.8);
17889
- color: white;
17890
- padding: 4px 8px;
17891
- border-radius: 0.25rem;
17869
+ .c-chart__settings-menu-toggle input[type=checkbox] {
17870
+ width: 1rem;
17871
+ height: 1rem;
17872
+ cursor: pointer;
17873
+ accent-color: var(--atomix-primary);
17874
+ flex-shrink: 0;
17875
+ }
17876
+ .c-chart__settings-menu-label {
17892
17877
  font-size: 0.75rem;
17893
17878
  font-weight: 500;
17894
- pointer-events: none;
17895
- z-index: 10;
17896
- }
17897
- .c-chart__navigator {
17898
- opacity: 0.8;
17899
- }
17900
- .c-chart__navigator rect {
17901
- fill: rgba(0, 0, 0, 0.05);
17902
- stroke: var(--atomix-gray-3);
17903
- stroke-width: 1;
17879
+ color: var(--atomix-text-primary);
17880
+ flex: 1 1;
17904
17881
  }
17905
- .c-chart__navigator path {
17906
- stroke-width: 1;
17907
- fill: none;
17908
- opacity: 0.6;
17882
+ .c-chart__settings-menu-value {
17883
+ font-size: 0.75rem;
17884
+ font-weight: 600;
17885
+ color: var(--atomix-secondary-text-emphasis);
17886
+ text-transform: capitalize;
17909
17887
  }
17910
- .c-chart__real-time-indicator {
17911
- position: absolute;
17912
- top: 10px;
17913
- left: 10px;
17888
+ .c-chart__toolbar-group {
17914
17889
  display: flex;
17915
17890
  align-items: center;
17916
- gap: 6px;
17917
- background: var(--atomix-success-bg-subtle);
17918
- color: var(--atomix-success-text-emphasis);
17919
- padding: 4px 8px;
17920
- border-radius: 0.25rem;
17891
+ gap: 0.5rem;
17892
+ position: relative;
17893
+ }
17894
+ .c-chart__toolbar-group:hover .c-chart__export-dropdown,
17895
+ .c-chart__toolbar-group:hover .c-chart__settings-menu {
17896
+ opacity: 1;
17897
+ visibility: visible;
17898
+ transform: translateY(0);
17899
+ }
17900
+ .c-chart__toolbar-separator {
17901
+ width: 1px;
17902
+ height: 1.5rem;
17903
+ background: var(--atomix-border-color);
17904
+ margin: 0 0.5rem;
17905
+ }
17906
+ .c-chart__toolbar-label {
17921
17907
  font-size: 0.75rem;
17922
17908
  font-weight: 500;
17923
- border: 1px solid var(--atomix-success-border-subtle);
17924
- }
17925
- .c-chart__real-time-indicator::before {
17926
- content: "";
17927
- width: 6px;
17928
- height: 6px;
17929
- background: var(--atomix-success-6);
17930
- border-radius: 50%;
17931
- animation: chart-pulse-dot 2s ease-in-out infinite;
17909
+ color: var(--atomix-secondary-text-emphasis);
17910
+ text-transform: uppercase;
17911
+ letter-spacing: 0.5px;
17912
+ margin-right: 0.5rem;
17932
17913
  }
17933
- .c-chart__legend {
17934
- display: flex;
17935
- flex-wrap: wrap;
17936
- gap: 0.75rem;
17914
+ .c-chart__content {
17915
+ flex: 1 1;
17916
+ position: relative;
17937
17917
  padding: var(--atomix-chart-padding);
17938
- border-top: var(--atomix-chart-border-width) solid var(--atomix-brand-border-subtle);
17939
- z-index: 2;
17940
- }
17941
- .c-chart__legend-item {
17942
17918
  display: flex;
17943
17919
  align-items: center;
17944
- gap: 0.5rem;
17945
- cursor: pointer;
17946
- padding: 0.5rem 0.75rem;
17947
- border-radius: 0.25rem;
17948
- border: var(--atomix-chart-border-width) solid transparent;
17949
- background-color: transparent;
17950
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
17951
- -webkit-user-select: none;
17952
- -moz-user-select: none;
17953
- user-select: none;
17954
- position: relative;
17920
+ justify-content: center;
17921
+ min-height: 8rem;
17922
+ z-index: 3;
17923
+ contain: layout;
17955
17924
  overflow: hidden;
17956
17925
  }
17957
- .c-chart__legend-item::before {
17926
+ .c-chart__content::before {
17958
17927
  content: "";
17959
17928
  position: absolute;
17960
- inset: 0;
17961
- background: var(--atomix-secondary-bg-subtle);
17962
- opacity: 0;
17963
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
17964
- }
17965
- .c-chart__legend-item:hover {
17966
- background-color: var(--atomix-secondary-bg-subtle);
17967
- border-color: var(--atomix-primary-border-subtle);
17968
- transform: translateY(-1px);
17969
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
17970
- }
17971
- .c-chart__legend-item:hover::before {
17972
- opacity: 1;
17973
- }
17974
- .c-chart__legend-item:focus-visible:focus-visible {
17975
- outline: 2px solid var(--atomix-focus-border-color);
17976
- outline-offset: 2px;
17977
- box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
17978
- }
17979
- .c-chart__legend-item:active {
17980
- transform: translateY(0);
17981
- }
17982
- .c-chart__legend-item[data-visible=false] {
17929
+ top: 0;
17930
+ left: 0;
17931
+ right: 0;
17932
+ bottom: 0;
17933
+ background-image: radial-gradient(circle at 1px 1px, rgba(var(--atomix-primary-rgb), 0.08) 1px, transparent 0);
17934
+ background-size: 16px 16px;
17983
17935
  opacity: 0.4;
17984
- filter: grayscale(60%);
17985
- }
17986
- .c-chart__legend-item[data-visible=false] .c-chart__legend-label {
17987
- text-decoration: line-through;
17936
+ pointer-events: none;
17937
+ z-index: 0;
17988
17938
  }
17989
- .c-chart__legend-item[data-visible=false] .c-chart__legend-color {
17990
- opacity: 0.3;
17991
- filter: grayscale(100%);
17939
+ .c-chart__content::after {
17940
+ content: "";
17941
+ position: absolute;
17942
+ inset: 0;
17943
+ background: linear-gradient(180deg, rgba(var(--atomix-primary-rgb), 0.03) 0%, transparent 30%, transparent 70%, rgba(var(--atomix-secondary-rgb), 0.02) 100%);
17944
+ pointer-events: none;
17945
+ z-index: 1;
17992
17946
  }
17993
- .c-chart__legend-color {
17994
- width: 0.75rem;
17995
- height: 0.75rem;
17996
- border-radius: 0.25rem;
17997
- border: var(--atomix-chart-border-width) solid var(--atomix-primary-border-subtle);
17998
- flex-shrink: 0;
17999
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
18000
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
17947
+ .c-chart__canvas {
17948
+ width: 100%;
17949
+ height: 100%;
18001
17950
  position: relative;
17951
+ overflow: hidden;
17952
+ border-radius: 0.25rem;
17953
+ z-index: 2;
17954
+ background: transparent;
17955
+ min-height: 200px;
17956
+ contain: layout style paint;
18002
17957
  }
18003
- .c-chart__legend-label {
18004
- color: var(--atomix-primary-text-emphasis);
18005
- font-weight: 500;
18006
- letter-spacing: -0.01em;
18007
- transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18008
- position: relative;
18009
- z-index: 1;
17958
+ .c-chart__canvas svg {
17959
+ display: block;
17960
+ shape-rendering: geometricPrecision;
17961
+ text-rendering: optimizeLegibility;
17962
+ image-rendering: -webkit-optimize-contrast;
17963
+ image-rendering: crisp-edges;
17964
+ will-change: contents;
17965
+ -webkit-backface-visibility: hidden;
17966
+ backface-visibility: hidden;
17967
+ transform: translateZ(0);
17968
+ opacity: 0;
17969
+ animation: chart-fade-in 0.3s ease-out forwards;
17970
+ }
17971
+ @keyframes chart-fade-in {
17972
+ from {
17973
+ opacity: 0;
17974
+ }
17975
+ to {
17976
+ opacity: 1;
17977
+ }
17978
+ }
17979
+ .c-chart__canvas canvas {
17980
+ width: 100%;
17981
+ height: 100%;
17982
+ display: block;
17983
+ image-rendering: -webkit-optimize-contrast;
17984
+ image-rendering: crisp-edges;
18010
17985
  }
18011
17986
  .c-chart__tooltip {
18012
17987
  position: fixed;
18013
- top: 0;
18014
- left: 0;
18015
17988
  -webkit-backdrop-filter: blur(1rem);
18016
17989
  backdrop-filter: blur(1rem);
18017
17990
  border-radius: 0.625rem;
@@ -18043,8 +18016,8 @@ a, a:hover {
18043
18016
  gap: 0.5rem;
18044
18017
  }
18045
18018
  .c-chart__tooltip-color-indicator {
18046
- width: 12px;
18047
- height: 12px;
18019
+ width: 0.75rem;
18020
+ height: 0.75rem;
18048
18021
  border-radius: 50%;
18049
18022
  flex-shrink: 0;
18050
18023
  }
@@ -18078,64 +18051,10 @@ a, a:hover {
18078
18051
  color: var(--atomix-primary-text-emphasis);
18079
18052
  font-weight: 500;
18080
18053
  }
18081
- .c-chart__axis {
18082
- position: relative;
18083
- z-index: 55;
18084
- }
18085
- .c-chart__axis--x {
18086
- text-anchor: middle;
18087
- dominant-baseline: hanging;
18088
- }
18089
- .c-chart__axis--y {
18090
- text-anchor: end;
18091
- dominant-baseline: middle;
18092
- }
18093
- .c-chart__axis-line {
18094
- stroke: var(--atomix-primary-border-subtle);
18095
- stroke-width: 1;
18096
- opacity: 0.6;
18097
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18098
- }
18099
- .c-chart__axis-line--x, .c-chart__axis-line--y {
18100
- stroke-width: 2;
18101
- }
18102
- .c-chart__axis-line:hover {
18103
- opacity: 0.8;
18104
- }
18105
- .c-chart__tick-line {
18106
- stroke: var(--atomix-primary-border-subtle);
18107
- stroke-width: 1;
18108
- }
18109
- .c-chart__tick-label {
18110
- font-size: 0.75rem;
18111
- fill: var(--atomix-secondary-text-emphasis);
18112
- }
18113
- .c-chart__axis-label {
18114
- font-size: 0.75rem;
18115
- font-weight: 500;
18116
- fill: var(--atomix-tertiary-text-emphasis);
18117
- text-anchor: middle;
18118
- }
18119
- .c-chart__plot-area {
18120
- fill: rgba(248, 250, 252, 0.5);
18121
- stroke: var(--atomix-primary-border-subtle);
18122
- stroke-width: 1;
18123
- }
18124
- .c-chart__value-label {
18125
- font-size: 0.75rem;
18126
- fill: var(--atomix-primary-text-emphasis);
18127
- pointer-events: none;
18128
- }
18129
- .c-chart__data-label {
18130
- font-size: 0.75rem;
18131
- fill: var(--atomix-secondary-text-emphasis);
18132
- pointer-events: none;
18133
- }
18134
18054
  .c-chart__grid {
18135
18055
  stroke: var(--atomix-primary-border-subtle);
18136
18056
  stroke-width: 0.5;
18137
18057
  stroke-dasharray: 2, 4;
18138
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18139
18058
  }
18140
18059
  .c-chart__grid--major {
18141
18060
  stroke-width: 1;
@@ -18150,78 +18069,52 @@ a, a:hover {
18150
18069
  stroke-dasharray: none;
18151
18070
  opacity: 0.6;
18152
18071
  }
18153
- .c-chart__grid:hover {
18072
+ .c-chart__axis-line {
18073
+ stroke: var(--atomix-border-color);
18074
+ stroke-width: 1;
18154
18075
  opacity: 0.6;
18155
18076
  }
18077
+ .c-chart__axis-label {
18078
+ font-size: 0.75rem;
18079
+ font-weight: 500;
18080
+ fill: var(--atomix-tertiary-text-emphasis);
18081
+ }
18082
+ .c-chart__legend-item-color {
18083
+ width: 0.75rem;
18084
+ height: 0.75rem;
18085
+ flex-shrink: 0;
18086
+ }
18087
+ .c-chart__legend-item-text {
18088
+ font-size: 0.75rem;
18089
+ fill: var(--atomix-text-primary);
18090
+ }
18091
+ .c-chart__data-line {
18092
+ stroke-width: 2.5;
18093
+ fill: none;
18094
+ }
18095
+ .c-chart__data-line--hovered {
18096
+ stroke-width: 3.5;
18097
+ }
18156
18098
  .c-chart__data-point {
18157
18099
  cursor: pointer;
18158
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
18159
- transform-origin: center center;
18100
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18160
18101
  }
18161
18102
  .c-chart__data-point:hover {
18162
18103
  opacity: 0.8;
18163
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
18164
18104
  }
18165
18105
  .c-chart__data-point:focus-visible {
18166
- outline: 2px solid var(--atomix-primary-border-subtle);
18106
+ outline: 2px solid var(--atomix-focus-border-color);
18167
18107
  outline-offset: 2px;
18108
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18168
18109
  }
18169
- .c-chart__data-point:active {
18170
- transform: scale(1.05);
18110
+ .c-chart__data-point--hovered {
18111
+ opacity: 0.9;
18112
+ transform: scale(1.1);
18171
18113
  }
18172
- .c-chart__data-point[data-highlighted=true] {
18173
- transform: scale(1.2);
18174
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
18175
- z-index: 10;
18176
- animation: chart-glow 2s ease-in-out infinite;
18177
- }
18178
- .c-chart__data-point[data-selected=true] {
18179
- stroke: var(--atomix-primary-border-subtle);
18180
- stroke-width: 2;
18181
- filter: drop-shadow(0 0 0 2px var(--atomix-primary-border-subtle));
18182
- }
18183
- .c-chart__data-point[data-animated=true] {
18184
- animation: chart-scale-in 0.5s ease-out;
18185
- }
18186
- .c-chart__loading {
18187
- display: flex;
18188
- flex-direction: column;
18189
- align-items: center;
18190
- justify-content: center;
18191
- gap: 1rem;
18192
- color: var(--atomix-secondary-text-emphasis);
18193
- font-size: 0.875rem;
18194
- min-height: 8rem;
18195
- animation: chart-fade-in 0.6s ease-out;
18196
- }
18197
- .c-chart__loading-spinner {
18198
- width: 2rem;
18199
- height: 2rem;
18200
- border: 3px solid var(--atomix-primary-border-subtle);
18201
- border-top: 3px solid var(--atomix-primary-text-emphasis);
18202
- border-radius: 50%;
18203
- animation: chart-spin 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
18204
- }
18205
- .c-chart__loading-text {
18206
- font-weight: 500;
18207
- opacity: 0.8;
18208
- animation: chart-pulse 2s ease-in-out infinite;
18209
- }
18210
- .c-chart__error {
18211
- display: flex;
18212
- flex-direction: column;
18213
- align-items: center;
18214
- justify-content: center;
18215
- gap: 0.75rem;
18216
- color: var(--atomix-error-text-emphasis);
18217
- font-size: 0.875rem;
18218
- text-align: center;
18219
- padding: 2rem;
18220
- min-height: 8rem;
18221
- background-color: var(--atomix-error-bg-subtle);
18222
- border-radius: 0.25rem;
18223
- border: var(--atomix-chart-border-width) solid var(--atomix-error-border-subtle);
18224
- animation: chart-fade-in 0.6s ease-out;
18114
+ .c-chart__data-point--selected {
18115
+ opacity: 1;
18116
+ stroke-width: 2;
18117
+ filter: drop-shadow(0 0 4px currentColor);
18225
18118
  }
18226
18119
  .c-chart__empty {
18227
18120
  display: flex;
@@ -18237,924 +18130,701 @@ a, a:hover {
18237
18130
  opacity: 0.6;
18238
18131
  animation: chart-fade-in 0.6s ease-out;
18239
18132
  }
18240
- .c-chart--line .c-chart__canvas .line-path,
18241
- .c-chart--line .c-chart__canvas .c-chart__line-path {
18242
- fill: none;
18243
- stroke-width: 2.5;
18244
- stroke-linecap: round;
18245
- stroke-linejoin: round;
18246
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18247
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
18248
- stroke-dasharray: 1000;
18249
- stroke-dashoffset: 1000;
18250
- animation: chart-draw-line 2s ease-out forwards;
18251
- }
18252
- .c-chart--line .c-chart__canvas .line-path:hover,
18253
- .c-chart--line .c-chart__canvas .c-chart__line-path:hover {
18254
- stroke-width: 3.5;
18255
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
18256
- }
18257
- .c-chart--line .c-chart__canvas .trend-line {
18258
- stroke-dasharray: 5, 5;
18259
- opacity: 0.7;
18260
- animation: chart-dash-flow 2s linear infinite;
18261
- }
18262
- .c-chart--line .c-chart__canvas .moving-average {
18263
- stroke-dasharray: 4, 4;
18264
- opacity: 0.6;
18265
- stroke-width: 1;
18266
- fill: none;
18267
- }
18268
- .c-chart--line .c-chart__canvas .area-path,
18269
- .c-chart--line .c-chart__canvas .c-chart__area-path {
18270
- opacity: 0.15;
18271
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18272
- animation: chart-area-fade 1.5s ease-out;
18133
+ .c-chart__toolbar--sm {
18134
+ gap: 0.25rem;
18273
18135
  }
18274
- .c-chart--line .c-chart__canvas .area-path:hover,
18275
- .c-chart--line .c-chart__canvas .c-chart__area-path:hover {
18276
- opacity: 0.25;
18136
+ .c-chart__toolbar--lg {
18137
+ padding: 0.5rem;
18138
+ gap: 0.75rem;
18277
18139
  }
18278
- .c-chart--line .c-chart__canvas .chart-point-label {
18279
- font-size: 0.75rem;
18140
+ .c-chart__legend-item--active {
18141
+ opacity: 1;
18280
18142
  font-weight: 600;
18281
- text-anchor: middle;
18282
- dominant-baseline: middle;
18283
- pointer-events: none;
18284
- opacity: 0;
18285
- transition: opacity 0.2s ease;
18286
18143
  }
18287
- .c-chart--line .c-chart__canvas .chart-point-label.visible {
18288
- opacity: 1;
18144
+ .c-chart__legend-item--inactive {
18145
+ opacity: 0.5;
18289
18146
  }
18290
- .c-chart--line .c-chart__canvas .data-point {
18291
- r: 4;
18147
+ .c-chart__treemap-node {
18148
+ stroke: var(--atomix-border-color);
18149
+ stroke-width: 1;
18292
18150
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18293
18151
  cursor: pointer;
18152
+ shape-rendering: geometricPrecision;
18294
18153
  }
18295
- .c-chart--line .c-chart__canvas .data-point:hover {
18296
- r: 6;
18297
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
18154
+ .c-chart__treemap-node:hover {
18155
+ transform: scale(1.02);
18156
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18157
+ stroke-width: 1.5;
18298
18158
  }
18299
- .c-chart--line .c-chart__canvas .data-point[data-highlighted=true] {
18300
- r: 8;
18301
- stroke-width: 3;
18159
+ .c-chart__treemap-node--hovered {
18160
+ transform: scale(1.02);
18161
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18162
+ stroke-width: 1.5;
18163
+ }
18164
+ .c-chart__treemap-node--selected {
18165
+ stroke: var(--atomix-primary-border-subtle);
18166
+ stroke-width: 2;
18167
+ filter: drop-shadow(0 16px 48px rgba(0, 0, 0, 0.175));
18302
18168
  }
18303
- .c-chart--line .c-chart__canvas .data-point:focus-visible {
18169
+ .c-chart__treemap-node:focus-visible {
18304
18170
  outline: 2px solid var(--atomix-focus-border-color);
18305
18171
  outline-offset: 2px;
18172
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18306
18173
  }
18307
- .c-chart--area .c-chart__canvas .area-path {
18308
- opacity: 0.3;
18309
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18310
- animation: chart-area-fade 1.5s ease-out;
18311
- }
18312
- .c-chart--area .c-chart__canvas .area-path:hover {
18313
- opacity: 0.45;
18314
- }
18315
- .c-chart--area .c-chart__canvas .line-path {
18316
- stroke-width: 2;
18317
- opacity: 0.9;
18318
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18319
- animation: chart-draw-line 2s ease-out;
18320
- }
18321
- .c-chart--area .c-chart__canvas .line-path:hover {
18322
- stroke-width: 3;
18323
- opacity: 1;
18174
+ .c-chart__treemap-label {
18175
+ font-size: 0.875rem;
18176
+ font-weight: 500;
18177
+ fill: var(--atomix-text-primary);
18178
+ text-anchor: middle;
18179
+ dominant-baseline: middle;
18180
+ pointer-events: none;
18181
+ -webkit-user-select: none;
18182
+ -moz-user-select: none;
18183
+ user-select: none;
18184
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18324
18185
  }
18325
- .c-chart--bar .c-chart__canvas .bar,
18326
- .c-chart--bar .c-chart__canvas .c-chart__bar, .c-chart--horizontal-bar .c-chart__canvas .bar,
18327
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar {
18186
+ .c-chart__funnel-segment {
18187
+ stroke: var(--atomix-border-color);
18188
+ stroke-width: 1;
18328
18189
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18329
18190
  cursor: pointer;
18330
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
18331
- animation: chart-bar-grow 0.8s ease-out;
18332
- opacity: 1;
18191
+ shape-rendering: geometricPrecision;
18333
18192
  }
18334
- .c-chart--bar .c-chart__canvas .bar:hover, .c-chart--bar .c-chart__canvas .bar--hovered,
18335
- .c-chart--bar .c-chart__canvas .c-chart__bar:hover,
18336
- .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,
18337
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:hover,
18338
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar--hovered {
18339
- opacity: 0.85;
18340
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
18193
+ .c-chart__funnel-segment:hover {
18194
+ opacity: 0.9;
18195
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18196
+ stroke-width: 1.5;
18341
18197
  }
18342
- .c-chart--bar .c-chart__canvas .bar:focus-visible,
18343
- .c-chart--bar .c-chart__canvas .c-chart__bar:focus-visible, .c-chart--horizontal-bar .c-chart__canvas .bar:focus-visible,
18344
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:focus-visible {
18345
- outline: 2px solid var(--atomix-primary-border-subtle);
18198
+ .c-chart__funnel-segment:focus-visible {
18199
+ outline: 2px solid var(--atomix-focus-border-color);
18346
18200
  outline-offset: 2px;
18201
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18347
18202
  }
18348
- .c-chart--bar .c-chart__canvas .bar[data-animated=true],
18349
- .c-chart--bar .c-chart__canvas .c-chart__bar[data-animated=true], .c-chart--horizontal-bar .c-chart__canvas .bar[data-animated=true],
18350
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar[data-animated=true] {
18351
- animation: chart-bar-grow 0.8s ease-out;
18352
- }
18353
- .c-chart--bar .c-chart__canvas .bar-group .bar, .c-chart--horizontal-bar .c-chart__canvas .bar-group .bar {
18354
- animation-delay: calc(var(--bar-index) * 0.1s);
18355
- }
18356
- .c-chart--bar .c-chart__canvas .bar-value-label,
18357
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label,
18358
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label {
18359
- font-size: 0.75rem;
18203
+ .c-chart__funnel-label {
18204
+ font-size: 0.875rem;
18360
18205
  font-weight: 500;
18361
- fill: var(--atomix-primary-text-emphasis);
18206
+ fill: var(--atomix-text-primary);
18362
18207
  text-anchor: middle;
18363
- opacity: 1;
18364
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18365
- font-feature-settings: "tnum";
18366
- font-variant-numeric: tabular-nums;
18208
+ dominant-baseline: middle;
18367
18209
  pointer-events: none;
18210
+ -webkit-user-select: none;
18211
+ -moz-user-select: none;
18212
+ user-select: none;
18213
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18368
18214
  }
18369
- .c-chart--bar .c-chart__canvas .bar-value-label.visible,
18370
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label.visible, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label.visible,
18371
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label.visible {
18372
- opacity: 1;
18373
- }
18374
- .c-chart--bar .c-chart__canvas .bar-gradient stop, .c-chart--horizontal-bar .c-chart__canvas .bar-gradient stop {
18375
- transition: stop-opacity 0.3s ease;
18376
- }
18377
- .c-chart--bar .c-chart__canvas .bar {
18378
- transform-origin: bottom center;
18379
- animation: chart-bar-grow 0.8s ease-out;
18380
- }
18381
- .c-chart--bar .c-chart__canvas .bar:hover {
18382
- transform: scaleY(1.05);
18383
- }
18384
- .c-chart--horizontal-bar .c-chart__canvas .bar {
18385
- transform-origin: left center;
18386
- animation: chart-bar-grow-horizontal 0.8s ease-out;
18387
- }
18388
- .c-chart--horizontal-bar .c-chart__canvas .bar:hover {
18389
- transform: scaleX(1.05);
18390
- }
18391
- .c-chart--pie .c-chart__canvas .pie-slice,
18392
- .c-chart--pie .c-chart__canvas .donut-slice,
18393
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice,
18394
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice, .c-chart--donut .c-chart__canvas .pie-slice,
18395
- .c-chart--donut .c-chart__canvas .donut-slice,
18396
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice,
18397
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice, .c-chart--doughnut .c-chart__canvas .pie-slice,
18398
- .c-chart--doughnut .c-chart__canvas .donut-slice,
18399
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice,
18400
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice {
18401
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
18402
- stroke: var(--atomix-primary-bg-subtle);
18403
- stroke-width: 2;
18404
- cursor: pointer;
18405
- transform-origin: center;
18406
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
18407
- opacity: 1;
18408
- animation: chart-pie-draw 1.5s ease-out;
18409
- }
18410
- .c-chart--pie .c-chart__canvas .pie-slice:hover, .c-chart--pie .c-chart__canvas .pie-slice--hovered,
18411
- .c-chart--pie .c-chart__canvas .donut-slice:hover,
18412
- .c-chart--pie .c-chart__canvas .donut-slice--hovered,
18413
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:hover,
18414
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--hovered,
18415
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:hover,
18416
- .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,
18417
- .c-chart--donut .c-chart__canvas .donut-slice:hover,
18418
- .c-chart--donut .c-chart__canvas .donut-slice--hovered,
18419
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:hover,
18420
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--hovered,
18421
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:hover,
18422
- .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,
18423
- .c-chart--doughnut .c-chart__canvas .donut-slice:hover,
18424
- .c-chart--doughnut .c-chart__canvas .donut-slice--hovered,
18425
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:hover,
18426
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--hovered,
18427
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:hover,
18428
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--hovered {
18429
- opacity: 0.8;
18430
- transform: scale(1.05);
18431
- stroke-width: 3;
18432
- filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
18433
- }
18434
- .c-chart--pie .c-chart__canvas .pie-slice--selected,
18435
- .c-chart--pie .c-chart__canvas .donut-slice--selected,
18436
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--selected,
18437
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--donut .c-chart__canvas .pie-slice--selected,
18438
- .c-chart--donut .c-chart__canvas .donut-slice--selected,
18439
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--selected,
18440
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--doughnut .c-chart__canvas .pie-slice--selected,
18441
- .c-chart--doughnut .c-chart__canvas .donut-slice--selected,
18442
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--selected,
18443
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--selected {
18444
- stroke: var(--atomix-primary-border-subtle);
18445
- stroke-width: 3;
18446
- }
18447
- .c-chart--pie .c-chart__canvas .pie-slice:focus-visible,
18448
- .c-chart--pie .c-chart__canvas .donut-slice:focus-visible,
18449
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:focus-visible,
18450
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--donut .c-chart__canvas .pie-slice:focus-visible,
18451
- .c-chart--donut .c-chart__canvas .donut-slice:focus-visible,
18452
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:focus-visible,
18453
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--doughnut .c-chart__canvas .pie-slice:focus-visible,
18454
- .c-chart--doughnut .c-chart__canvas .donut-slice:focus-visible,
18455
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:focus-visible,
18456
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:focus-visible {
18457
- outline: 2px solid var(--atomix-primary-border-subtle);
18458
- outline-offset: 4px;
18459
- }
18460
- .c-chart--pie .c-chart__canvas .pie-label,
18461
- .c-chart--pie .c-chart__canvas .c-chart__pie-label,
18462
- .c-chart--pie .c-chart__canvas .c-chart__donut-label, .c-chart--donut .c-chart__canvas .pie-label,
18463
- .c-chart--donut .c-chart__canvas .c-chart__pie-label,
18464
- .c-chart--donut .c-chart__canvas .c-chart__donut-label, .c-chart--doughnut .c-chart__canvas .pie-label,
18465
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-label,
18466
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-label {
18215
+ .c-chart__funnel-conversion {
18467
18216
  font-size: 0.75rem;
18468
18217
  font-weight: 600;
18469
- fill: var(--atomix-primary-text-emphasis);
18470
- text-anchor: middle;
18471
- pointer-events: none;
18472
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18473
- font-feature-settings: "tnum";
18474
- font-variant-numeric: tabular-nums;
18475
- }
18476
- .c-chart--donut .c-chart__canvas .donut-slice, .c-chart--doughnut .c-chart__canvas .donut-slice {
18477
- animation: chart-donut-draw 1.5s ease-out;
18478
- }
18479
- .c-chart--donut .c-chart__canvas .donut-center,
18480
- .c-chart--donut .c-chart__canvas .c-chart__donut-center, .c-chart--doughnut .c-chart__canvas .donut-center,
18481
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center {
18482
- transition: fill 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18483
- }
18484
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-bg, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-bg {
18485
- fill: var(--atomix-primary-bg-subtle);
18486
- }
18487
- .c-chart--donut .c-chart__canvas .donut-center-label,
18488
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-label, .c-chart--doughnut .c-chart__canvas .donut-center-label,
18489
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-label {
18490
- font-size: 0.875rem;
18491
- font-weight: 500;
18492
18218
  fill: var(--atomix-secondary-text-emphasis);
18493
18219
  text-anchor: middle;
18494
- dominant-baseline: central;
18495
- font-feature-settings: "tnum";
18496
- font-variant-numeric: tabular-nums;
18497
- }
18498
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-value, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-value {
18499
- font-size: 1.5rem;
18500
- font-weight: 700;
18501
- fill: var(--atomix-primary-text-emphasis);
18502
- text-anchor: middle;
18503
- dominant-baseline: central;
18504
- font-feature-settings: "tnum";
18505
- font-variant-numeric: tabular-nums;
18220
+ dominant-baseline: middle;
18221
+ pointer-events: none;
18222
+ -webkit-user-select: none;
18223
+ -moz-user-select: none;
18224
+ user-select: none;
18225
+ opacity: 0.8;
18506
18226
  }
18507
- .c-chart--scatter .c-chart__canvas .scatter-point,
18508
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point {
18509
- stroke: var(--atomix-primary-border-subtle);
18227
+ .c-chart__heatmap-cell {
18228
+ stroke: var(--atomix-border-color);
18510
18229
  stroke-width: 1;
18230
+ rx: 0.25rem;
18231
+ ry: 0.25rem;
18511
18232
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18512
18233
  cursor: pointer;
18513
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
18514
- animation: chart-fade-in 0.6s ease-out;
18234
+ shape-rendering: geometricPrecision;
18235
+ }
18236
+ .c-chart__heatmap-cell:hover {
18237
+ transform: scale(1.05);
18238
+ transform-origin: center;
18239
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18240
+ stroke-width: 2;
18241
+ z-index: 10;
18515
18242
  }
18516
- .c-chart--scatter .c-chart__canvas .scatter-point:hover,
18517
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:hover {
18518
- filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
18243
+ .c-chart__heatmap-cell--hovered {
18244
+ transform: scale(1.05);
18245
+ transform-origin: center;
18246
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18247
+ stroke-width: 2;
18248
+ z-index: 10;
18519
18249
  }
18520
- .c-chart--scatter .c-chart__canvas .scatter-point:focus-visible,
18521
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:focus-visible {
18522
- outline: 2px solid var(--atomix-primary-border-subtle);
18250
+ .c-chart__heatmap-cell:focus-visible {
18251
+ outline: 2px solid var(--atomix-focus-border-color);
18523
18252
  outline-offset: 2px;
18253
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18524
18254
  }
18525
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-label {
18255
+ .c-chart__heatmap-label {
18526
18256
  font-size: 0.75rem;
18527
- fill: var(--atomix-primary-text-emphasis);
18257
+ font-weight: 400;
18258
+ fill: var(--atomix-text-primary);
18259
+ text-anchor: middle;
18260
+ dominant-baseline: middle;
18528
18261
  pointer-events: none;
18262
+ -webkit-user-select: none;
18263
+ -moz-user-select: none;
18264
+ user-select: none;
18529
18265
  }
18530
- .c-chart--bubble .c-chart__canvas .c-chart__bubble {
18531
- stroke: var(--atomix-primary-bg-subtle);
18532
- stroke-width: 2;
18533
- cursor: pointer;
18534
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18535
- }
18536
- .c-chart--bubble .c-chart__canvas .c-chart__bubble--animated {
18537
- transition: all 1s ease-out;
18538
- }
18539
- .c-chart--bubble .c-chart__canvas .c-chart__bubble:hover {
18540
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
18541
- }
18542
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label {
18266
+ .c-chart__heatmap-axis-label {
18543
18267
  font-size: 0.75rem;
18544
18268
  font-weight: 500;
18545
- fill: var(--atomix-tertiary-text-emphasis);
18269
+ fill: var(--atomix-secondary-text-emphasis);
18270
+ text-anchor: middle;
18271
+ dominant-baseline: middle;
18546
18272
  pointer-events: none;
18273
+ -webkit-user-select: none;
18274
+ -moz-user-select: none;
18275
+ user-select: none;
18547
18276
  }
18548
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label--center {
18549
- fill: var(--atomix-invert-text-emphasis);
18550
- font-weight: 700;
18551
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
18552
- }
18553
- .c-chart--radar .c-chart__canvas .c-chart__radar-grid {
18554
- stroke: var(--atomix-primary-border-subtle);
18555
- stroke-width: 1;
18556
- opacity: 0.3;
18557
- }
18558
- .c-chart--radar .c-chart__canvas .c-chart__radar-axis {
18559
- stroke: var(--atomix-primary-border-subtle);
18560
- stroke-width: 1;
18561
- opacity: 0.5;
18277
+ .c-chart__heatmap-legend-title {
18278
+ font-size: 0.875rem;
18279
+ font-weight: 600;
18280
+ fill: var(--atomix-text-primary);
18281
+ text-anchor: start;
18282
+ dominant-baseline: baseline;
18283
+ pointer-events: none;
18284
+ -webkit-user-select: none;
18285
+ -moz-user-select: none;
18286
+ user-select: none;
18562
18287
  }
18563
- .c-chart--radar .c-chart__canvas .c-chart__radar-label {
18288
+ .c-chart__heatmap-legend-label {
18564
18289
  font-size: 0.75rem;
18290
+ font-weight: 400;
18565
18291
  fill: var(--atomix-secondary-text-emphasis);
18292
+ text-anchor: start;
18293
+ dominant-baseline: middle;
18294
+ pointer-events: none;
18295
+ -webkit-user-select: none;
18296
+ -moz-user-select: none;
18297
+ user-select: none;
18566
18298
  }
18567
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill {
18568
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18569
- }
18570
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill:hover {
18571
- opacity: 0.5 !important;
18299
+ .c-chart__candlestick-candle {
18300
+ stroke: var(--atomix-border-color);
18301
+ stroke-width: 1;
18302
+ rx: 0.25rem;
18303
+ ry: 0.25rem;
18304
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18305
+ cursor: pointer;
18306
+ shape-rendering: geometricPrecision;
18572
18307
  }
18573
- .c-chart--radar .c-chart__canvas .c-chart__radar-line {
18574
- fill: none;
18575
- transition: stroke-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18308
+ .c-chart__candlestick-candle:hover {
18309
+ opacity: 0.9;
18310
+ stroke-width: 1.5;
18311
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18576
18312
  }
18577
- .c-chart--radar .c-chart__canvas .c-chart__radar-line:hover {
18578
- stroke-width: 3 !important;
18313
+ .c-chart__candlestick-candle:focus-visible {
18314
+ outline: 2px solid var(--atomix-focus-border-color);
18315
+ outline-offset: 2px;
18316
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18579
18317
  }
18580
- .c-chart--radar .c-chart__canvas .c-chart__radar-point {
18581
- stroke: var(--atomix-primary-bg-subtle);
18582
- stroke-width: 2;
18583
- cursor: pointer;
18318
+ .c-chart__candlestick-wick {
18319
+ stroke: var(--atomix-tertiary-text-emphasis);
18320
+ stroke-width: 1;
18321
+ opacity: 0.8;
18584
18322
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18323
+ shape-rendering: geometricPrecision;
18585
18324
  }
18586
- .c-chart--radar .c-chart__canvas .c-chart__radar-point:hover {
18587
- transform: scale(1.3);
18588
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
18325
+ .c-chart__candlestick-wick:hover {
18326
+ opacity: 1;
18327
+ stroke-width: 1.2;
18589
18328
  }
18590
- .c-chart--candlestick .c-chart__canvas .candlestick,
18591
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick {
18592
- stroke-width: 1;
18593
- cursor: pointer;
18329
+ .c-chart__candlestick-volume {
18594
18330
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18595
- animation: chart-fade-in 0.6s ease-out;
18331
+ cursor: pointer;
18332
+ shape-rendering: geometricPrecision;
18596
18333
  }
18597
- .c-chart--candlestick .c-chart__canvas .candlestick--bullish,
18598
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bullish {
18599
- opacity: 0.8;
18334
+ .c-chart__candlestick-volume:hover {
18335
+ opacity: 0.6;
18600
18336
  }
18601
- .c-chart--candlestick .c-chart__canvas .candlestick--bearish,
18602
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bearish {
18603
- opacity: 1;
18337
+ .c-chart__bar {
18338
+ rx: 0.25rem;
18339
+ ry: 0.25rem;
18340
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18341
+ cursor: pointer;
18342
+ shape-rendering: geometricPrecision;
18604
18343
  }
18605
- .c-chart--candlestick .c-chart__canvas .candlestick:hover,
18606
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick:hover {
18607
- opacity: 0.8;
18608
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
18344
+ .c-chart__bar:hover {
18345
+ opacity: 0.85;
18346
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18609
18347
  }
18610
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick-highlight {
18611
- stroke-width: 2;
18612
- opacity: 0.5;
18348
+ .c-chart__bar--hovered {
18349
+ opacity: 0.85;
18350
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18613
18351
  }
18614
- .c-chart--candlestick .c-chart__canvas .wick,
18615
- .c-chart--candlestick .c-chart__canvas .c-chart__wick {
18616
- stroke-width: 1;
18617
- opacity: 0.8;
18352
+ .c-chart__bar:focus-visible {
18353
+ outline: 2px solid var(--atomix-focus-border-color);
18354
+ outline-offset: 2px;
18355
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18618
18356
  }
18619
- .c-chart--candlestick .c-chart__canvas .wick--hovered,
18620
- .c-chart--candlestick .c-chart__canvas .c-chart__wick--hovered {
18621
- stroke-width: 2;
18357
+ .c-chart__bar-value-label {
18358
+ font-size: 0.75rem;
18359
+ font-weight: 500;
18360
+ fill: var(--atomix-text-primary);
18361
+ text-anchor: middle;
18362
+ pointer-events: none;
18363
+ -webkit-user-select: none;
18364
+ -moz-user-select: none;
18365
+ user-select: none;
18622
18366
  }
18623
- .c-chart--candlestick .c-chart__canvas .c-chart__moving-average {
18624
- stroke-width: 2;
18625
- opacity: 0.8;
18367
+ .c-chart__line-path {
18368
+ fill: none;
18369
+ stroke-linecap: round;
18370
+ stroke-linejoin: round;
18371
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18372
+ shape-rendering: geometricPrecision;
18626
18373
  }
18627
- .c-chart--candlestick .c-chart__canvas .volume-bar {
18628
- opacity: 0.3;
18629
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18374
+ .c-chart__area-path {
18375
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18376
+ shape-rendering: geometricPrecision;
18630
18377
  }
18631
- .c-chart--candlestick .c-chart__canvas .volume-bar:hover {
18632
- opacity: 0.6;
18378
+ .c-chart__area-fill {
18379
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18380
+ shape-rendering: geometricPrecision;
18633
18381
  }
18634
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-background {
18635
- fill: var(--atomix-secondary-bg-subtle);
18636
- stroke: var(--atomix-primary-border-subtle);
18637
- stroke-width: 1;
18382
+ .c-chart__area-point {
18383
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18384
+ cursor: pointer;
18385
+ shape-rendering: geometricPrecision;
18638
18386
  }
18639
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-zone {
18640
- stroke: var(--atomix-primary-bg-subtle);
18641
- stroke-width: 2;
18387
+ .c-chart__area-point:hover {
18388
+ transform: scale(1.2);
18642
18389
  }
18643
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--major {
18644
- stroke: var(--atomix-secondary-text-emphasis);
18645
- stroke-width: 2;
18390
+ .c-chart__area-point--hovered {
18391
+ transform: scale(1.2);
18646
18392
  }
18647
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--minor {
18648
- stroke: var(--atomix-tertiary-text-emphasis);
18649
- stroke-width: 1;
18393
+ .c-chart__area-point:focus-visible {
18394
+ outline: 2px solid var(--atomix-focus-border-color);
18395
+ outline-offset: 2px;
18396
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18650
18397
  }
18651
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick-label {
18398
+ .c-chart__point-label {
18652
18399
  font-size: 0.75rem;
18653
- fill: var(--atomix-secondary-text-emphasis);
18400
+ font-weight: 500;
18401
+ text-anchor: middle;
18402
+ pointer-events: none;
18403
+ -webkit-user-select: none;
18404
+ -moz-user-select: none;
18405
+ user-select: none;
18654
18406
  }
18655
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-min-max-label {
18656
- font-size: 0.875rem;
18657
- font-weight: 700;
18658
- fill: var(--atomix-secondary-text-emphasis);
18407
+ .c-chart__pie-slice {
18408
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
18409
+ cursor: pointer;
18410
+ shape-rendering: geometricPrecision;
18659
18411
  }
18660
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-line {
18412
+ .c-chart__pie-slice:hover {
18661
18413
  stroke-width: 3;
18662
- stroke-linecap: round;
18414
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18663
18415
  }
18664
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-center {
18665
- stroke: var(--atomix-primary-bg-subtle);
18666
- stroke-width: 2;
18416
+ .c-chart__pie-slice--hovered {
18417
+ stroke-width: 3;
18418
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18667
18419
  }
18668
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-value {
18669
- font-size: 2rem;
18670
- font-weight: 700;
18671
- fill: var(--atomix-primary-text-emphasis);
18420
+ .c-chart__pie-slice:focus-visible {
18421
+ outline: 2px solid var(--atomix-focus-border-color);
18422
+ outline-offset: 2px;
18423
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18672
18424
  }
18673
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-label {
18674
- font-size: 0.875rem;
18675
- fill: var(--atomix-secondary-text-emphasis);
18425
+ .c-chart__pie-label {
18426
+ font-size: 0.75rem;
18427
+ font-weight: 500;
18428
+ fill: var(--atomix-text-primary);
18429
+ text-anchor: middle;
18430
+ dominant-baseline: middle;
18431
+ pointer-events: none;
18432
+ -webkit-user-select: none;
18433
+ -moz-user-select: none;
18434
+ user-select: none;
18435
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18676
18436
  }
18677
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment {
18678
- stroke: var(--atomix-primary-bg-subtle);
18679
- stroke-width: 2;
18437
+ .c-chart__donut-slice {
18438
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
18680
18439
  cursor: pointer;
18681
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18440
+ shape-rendering: geometricPrecision;
18441
+ transform-origin: center;
18682
18442
  }
18683
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment--animated {
18684
- transition: all 1s ease-out;
18443
+ .c-chart__donut-slice:hover {
18444
+ transform: scale(1.02);
18445
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18685
18446
  }
18686
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment:hover {
18687
- opacity: 0.8;
18688
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
18447
+ .c-chart__donut-slice--hovered {
18448
+ transform: scale(1.02);
18449
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18689
18450
  }
18690
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label {
18691
- font-size: 0.875rem;
18692
- font-weight: 700;
18451
+ .c-chart__donut-slice:focus-visible {
18452
+ outline: 2px solid var(--atomix-focus-border-color);
18453
+ outline-offset: 2px;
18454
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18455
+ }
18456
+ .c-chart__donut-label {
18457
+ font-size: 0.75rem;
18458
+ font-weight: 500;
18459
+ fill: var(--atomix-text-primary);
18460
+ text-anchor: middle;
18461
+ dominant-baseline: middle;
18693
18462
  pointer-events: none;
18463
+ -webkit-user-select: none;
18464
+ -moz-user-select: none;
18465
+ user-select: none;
18466
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18694
18467
  }
18695
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--inside {
18696
- fill: var(--atomix-invert-text-emphasis);
18697
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
18468
+ .c-chart__donut-percentage {
18469
+ font-size: 0.75rem;
18470
+ font-weight: 600;
18471
+ fill: var(--atomix-secondary-text-emphasis);
18472
+ text-anchor: middle;
18473
+ dominant-baseline: middle;
18474
+ pointer-events: none;
18475
+ -webkit-user-select: none;
18476
+ -moz-user-select: none;
18477
+ user-select: none;
18698
18478
  }
18699
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--outside {
18700
- fill: var(--atomix-primary-text-emphasis);
18479
+ .c-chart__donut-center-label {
18480
+ font-size: 0.875rem;
18481
+ font-weight: 500;
18482
+ fill: var(--atomix-secondary-text-emphasis);
18483
+ text-anchor: middle;
18484
+ dominant-baseline: middle;
18485
+ pointer-events: none;
18486
+ -webkit-user-select: none;
18487
+ -moz-user-select: none;
18488
+ user-select: none;
18701
18489
  }
18702
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value {
18703
- font-size: 0.75rem;
18490
+ .c-chart__donut-center-value {
18491
+ font-size: 1.25rem;
18492
+ font-weight: 700;
18493
+ fill: var(--atomix-text-primary);
18494
+ text-anchor: middle;
18495
+ dominant-baseline: middle;
18704
18496
  pointer-events: none;
18497
+ -webkit-user-select: none;
18498
+ -moz-user-select: none;
18499
+ user-select: none;
18705
18500
  }
18706
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--inside {
18707
- fill: var(--atomix-invert-text-emphasis);
18708
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
18501
+ .c-chart__scatter-point {
18502
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18503
+ cursor: pointer;
18504
+ shape-rendering: geometricPrecision;
18709
18505
  }
18710
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--outside {
18711
- fill: var(--atomix-secondary-text-emphasis);
18506
+ .c-chart__scatter-point:hover {
18507
+ transform: scale(1.2);
18508
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18712
18509
  }
18713
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-conversion {
18714
- font-size: 0.75rem;
18715
- fill: var(--atomix-secondary-text-emphasis);
18716
- font-style: italic;
18510
+ .c-chart__scatter-point:focus-visible {
18511
+ outline: 2px solid var(--atomix-focus-border-color);
18512
+ outline-offset: 2px;
18513
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18717
18514
  }
18718
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-axis-label {
18515
+ .c-chart__scatter-label {
18719
18516
  font-size: 0.75rem;
18720
- fill: var(--atomix-gray-7);
18721
18517
  font-weight: 500;
18518
+ fill: var(--atomix-text-primary);
18519
+ text-anchor: middle;
18520
+ pointer-events: none;
18722
18521
  -webkit-user-select: none;
18723
18522
  -moz-user-select: none;
18724
18523
  user-select: none;
18725
18524
  }
18726
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell {
18525
+ .c-chart__bubble {
18526
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18727
18527
  cursor: pointer;
18728
- transition: all 0.2s ease;
18729
- shape-rendering: crispEdges;
18528
+ shape-rendering: geometricPrecision;
18730
18529
  }
18731
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--empty {
18732
- fill: var(--atomix-gray-2);
18733
- stroke: var(--atomix-gray-3);
18734
- stroke-width: 0.5;
18735
- opacity: 0.6;
18530
+ .c-chart__bubble:hover {
18531
+ transform: scale(1.1);
18532
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18736
18533
  }
18737
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--hovered {
18534
+ .c-chart__bubble--hovered {
18738
18535
  transform: scale(1.1);
18739
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
18740
- z-index: 10;
18536
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18741
18537
  }
18742
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell:focus-visible {
18743
- outline: 2px solid var(--atomix-primary-6);
18744
- outline-offset: 1px;
18538
+ .c-chart__bubble:focus-visible {
18539
+ outline: 2px solid var(--atomix-focus-border-color);
18540
+ outline-offset: 2px;
18541
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18745
18542
  }
18746
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value {
18747
- font-size: 9px;
18543
+ .c-chart__bubble-label {
18544
+ font-size: 0.75rem;
18748
18545
  font-weight: 500;
18546
+ fill: var(--atomix-text-primary);
18547
+ text-anchor: middle;
18548
+ dominant-baseline: middle;
18749
18549
  pointer-events: none;
18750
18550
  -webkit-user-select: none;
18751
18551
  -moz-user-select: none;
18752
18552
  user-select: none;
18753
- font-feature-settings: "tnum";
18754
- font-variant-numeric: tabular-nums;
18755
- }
18756
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--light {
18757
- fill: white;
18758
18553
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18759
18554
  }
18760
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--dark {
18761
- fill: var(--atomix-gray-8);
18762
- }
18763
- .c-chart--heatmap .c-chart__canvas.c-chart--calendar .c-chart__heatmap-cell {
18764
- rx: 2;
18555
+ .c-chart__radar-grid-line {
18556
+ stroke: var(--atomix-border-color);
18557
+ stroke-width: 1;
18558
+ opacity: 0.3;
18559
+ shape-rendering: geometricPrecision;
18765
18560
  }
18766
- .c-chart--heatmap .c-chart__canvas.c-chart--grid .c-chart__heatmap-cell {
18767
- rx: 4;
18561
+ .c-chart__radar-axis-label {
18562
+ font-size: 0.75rem;
18563
+ font-weight: 500;
18564
+ fill: var(--atomix-secondary-text-emphasis);
18565
+ text-anchor: middle;
18566
+ dominant-baseline: middle;
18567
+ pointer-events: none;
18568
+ -webkit-user-select: none;
18569
+ -moz-user-select: none;
18570
+ user-select: none;
18768
18571
  }
18769
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node {
18770
- cursor: pointer;
18771
- stroke: var(--atomix-primary-bg-subtle);
18772
- stroke-width: 1;
18572
+ .c-chart__radar-area {
18773
18573
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18574
+ shape-rendering: geometricPrecision;
18774
18575
  }
18775
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--animated {
18776
- transition: all 750ms ease-out;
18576
+ .c-chart__radar-line {
18577
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18578
+ shape-rendering: geometricPrecision;
18579
+ stroke-linecap: round;
18580
+ stroke-linejoin: round;
18777
18581
  }
18778
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--hovered {
18779
- opacity: 0.8;
18582
+ .c-chart__radar-point {
18583
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18584
+ cursor: pointer;
18585
+ shape-rendering: geometricPrecision;
18780
18586
  }
18781
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--selected {
18782
- stroke-width: 2;
18587
+ .c-chart__radar-point:hover {
18588
+ transform: scale(1.3);
18589
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18783
18590
  }
18784
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-label {
18785
- font-size: 0.75rem;
18786
- font-weight: 700;
18787
- fill: var(--atomix-invert-text-emphasis);
18788
- pointer-events: none;
18591
+ .c-chart__radar-point--hovered {
18592
+ transform: scale(1.3);
18593
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18789
18594
  }
18790
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-value {
18791
- font-size: 0.75rem;
18792
- fill: var(--atomix-invert-text-emphasis);
18793
- opacity: 0.8;
18794
- pointer-events: none;
18595
+ .c-chart__radar-point:focus-visible {
18596
+ outline: 2px solid var(--atomix-focus-border-color);
18597
+ outline-offset: 2px;
18598
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18795
18599
  }
18796
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar {
18797
- stroke: var(--atomix-primary-bg-subtle);
18798
- stroke-width: 2;
18799
- cursor: pointer;
18600
+ .c-chart__waterfall-bar {
18601
+ rx: 0.25rem;
18602
+ ry: 0.25rem;
18800
18603
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18604
+ cursor: pointer;
18605
+ shape-rendering: geometricPrecision;
18606
+ }
18607
+ .c-chart__waterfall-bar:hover {
18608
+ opacity: 0.85;
18609
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18801
18610
  }
18802
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar--animated {
18803
- transition: all 1s ease-out;
18611
+ .c-chart__waterfall-bar--animated {
18612
+ animation: chart-bar-appear 1s ease-out;
18613
+ transform-origin: bottom center;
18804
18614
  }
18805
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar:hover {
18806
- opacity: 0.8;
18807
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
18615
+ .c-chart__waterfall-bar:focus-visible {
18616
+ outline: 2px solid var(--atomix-focus-border-color);
18617
+ outline-offset: 2px;
18618
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18808
18619
  }
18809
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value {
18620
+ .c-chart__waterfall-value {
18810
18621
  font-size: 0.75rem;
18811
- font-weight: 700;
18622
+ font-weight: 600;
18623
+ fill: var(--atomix-text-primary);
18624
+ text-anchor: middle;
18812
18625
  pointer-events: none;
18626
+ -webkit-user-select: none;
18627
+ -moz-user-select: none;
18628
+ user-select: none;
18813
18629
  }
18814
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--center {
18815
- fill: var(--atomix-invert-text-emphasis);
18816
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
18630
+ .c-chart__waterfall-value--center {
18631
+ dominant-baseline: middle;
18817
18632
  }
18818
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--outside {
18819
- fill: var(--atomix-primary-text-emphasis);
18633
+ .c-chart__waterfall-value--outside {
18634
+ dominant-baseline: auto;
18820
18635
  }
18821
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-connector {
18822
- stroke-width: 2;
18823
- opacity: 0.7;
18636
+ .c-chart__waterfall-connector {
18637
+ stroke: var(--atomix-border-color);
18638
+ stroke-width: 1;
18639
+ opacity: 0.6;
18640
+ shape-rendering: geometricPrecision;
18824
18641
  }
18825
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-line {
18826
- stroke-width: 3;
18642
+ .c-chart__waterfall-cumulative-line {
18643
+ stroke-width: 2;
18827
18644
  stroke-linecap: round;
18828
18645
  stroke-linejoin: round;
18646
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18647
+ shape-rendering: geometricPrecision;
18829
18648
  }
18830
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-point {
18831
- stroke: var(--atomix-primary-bg-subtle);
18832
- stroke-width: 2;
18833
- }
18834
- @keyframes chart-spin {
18835
- 0% {
18836
- transform: rotate(0deg);
18837
- }
18838
- 100% {
18839
- transform: rotate(360deg);
18840
- }
18841
- }
18842
- @keyframes chart-shimmer {
18843
- 0% {
18844
- left: -100%;
18845
- }
18846
- 100% {
18847
- left: 100%;
18848
- }
18849
- }
18850
- @keyframes chart-pulse {
18851
- 0%, 100% {
18852
- opacity: 0.8;
18853
- }
18854
- 50% {
18855
- opacity: 1;
18856
- }
18857
- }
18858
- @keyframes chart-draw-line {
18859
- 0% {
18860
- stroke-dashoffset: 1000;
18861
- }
18862
- 100% {
18863
- stroke-dashoffset: 0;
18864
- }
18865
- }
18866
- @keyframes chart-area-fade {
18867
- 0% {
18868
- opacity: 0;
18869
- }
18870
- 100% {
18871
- opacity: 0.3;
18872
- }
18649
+ .c-chart__waterfall-cumulative-point {
18650
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18651
+ cursor: pointer;
18652
+ shape-rendering: geometricPrecision;
18873
18653
  }
18874
- @keyframes chart-bar-grow {
18875
- 0% {
18876
- transform: scaleY(0);
18877
- }
18878
- 100% {
18879
- transform: scaleY(1);
18880
- }
18654
+ .c-chart__waterfall-cumulative-point:hover {
18655
+ transform: scale(1.3);
18881
18656
  }
18882
- @keyframes chart-bar-grow-horizontal {
18883
- 0% {
18884
- transform: scaleX(0);
18885
- }
18886
- 100% {
18887
- transform: scaleX(1);
18888
- }
18657
+ .c-chart__waterfall-cumulative-point:focus-visible {
18658
+ outline: 2px solid var(--atomix-focus-border-color);
18659
+ outline-offset: 2px;
18660
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18889
18661
  }
18890
- @keyframes chart-pie-draw {
18891
- 0% {
18892
- stroke-dasharray: 0 628;
18662
+ @media (prefers-contrast: high) {
18663
+ .c-chart {
18664
+ border-width: calc(var(--atomix-border-width) * 2);
18893
18665
  }
18894
- 100% {
18895
- stroke-dasharray: 628 628;
18666
+ .c-chart--selected {
18667
+ border-width: calc(var(--atomix-border-width) * 3);
18896
18668
  }
18897
- }
18898
- @keyframes chart-donut-draw {
18899
- 0% {
18900
- stroke-dasharray: 0 628;
18669
+ .c-chart__action {
18670
+ border-width: calc(var(--atomix-border-width) * 2);
18901
18671
  }
18902
- 100% {
18903
- stroke-dasharray: 628 628;
18672
+ .c-chart__action:focus-visible {
18673
+ outline-width: calc(var(--atomix-border-width) * 3);
18904
18674
  }
18905
- }
18906
- @keyframes chart-fade-in {
18907
- 0% {
18908
- opacity: 0;
18909
- transform: translateY(10px);
18675
+ .c-chart__data-point {
18676
+ stroke-width: 2;
18910
18677
  }
18911
- 100% {
18912
- opacity: 1;
18913
- transform: translateY(0);
18678
+ .c-chart__data-point--selected {
18679
+ stroke-width: 3;
18914
18680
  }
18915
- }
18916
- @keyframes chart-scale-in {
18917
- 0% {
18918
- opacity: 0;
18919
- transform: scale(0.3);
18681
+ .c-chart__grid {
18682
+ stroke-width: 1;
18683
+ opacity: 0.6;
18920
18684
  }
18921
- 60% {
18685
+ .c-chart__grid--major {
18686
+ stroke-width: 1.5;
18922
18687
  opacity: 0.8;
18923
- transform: scale(1.1);
18924
- }
18925
- 100% {
18926
- opacity: 1;
18927
- transform: scale(1);
18928
- }
18929
- }
18930
- @keyframes chart-slide-in {
18931
- 0% {
18932
- opacity: 0;
18933
- transform: translateX(-20px);
18934
18688
  }
18935
- 100% {
18689
+ .c-chart__grid--zero {
18690
+ stroke-width: 2;
18936
18691
  opacity: 1;
18937
- transform: translateX(0);
18938
- }
18939
- }
18940
- @keyframes chart-bubble-grow {
18941
- 0% {
18942
- transform: scale(0);
18943
18692
  }
18944
- 100% {
18945
- transform: scale(1);
18693
+ .c-chart__treemap-node {
18694
+ stroke-width: 2;
18946
18695
  }
18947
- }
18948
- @keyframes chart-dash-flow {
18949
- 0% {
18950
- stroke-dashoffset: 0;
18696
+ .c-chart__treemap-node--selected {
18697
+ stroke-width: 3;
18951
18698
  }
18952
- 100% {
18953
- stroke-dashoffset: 10;
18699
+ .c-chart__treemap-node:focus-visible {
18700
+ outline-width: calc(var(--atomix-border-width) * 3);
18954
18701
  }
18955
- }
18956
- @keyframes chart-glow {
18957
- 0%, 100% {
18958
- filter: drop-shadow(0 0 5px currentColor);
18702
+ .c-chart__funnel-segment {
18703
+ stroke-width: 2;
18959
18704
  }
18960
- 50% {
18961
- filter: drop-shadow(0 0 15px currentColor);
18705
+ .c-chart__funnel-segment:focus-visible {
18706
+ outline-width: calc(var(--atomix-border-width) * 3);
18962
18707
  }
18963
- }
18964
- @keyframes chart-pulse-dot {
18965
- 0%, 100% {
18966
- opacity: 1;
18967
- transform: scale(1);
18708
+ .c-chart__heatmap-cell {
18709
+ stroke-width: 2;
18968
18710
  }
18969
- 50% {
18970
- opacity: 0.5;
18971
- transform: scale(1.2);
18711
+ .c-chart__heatmap-cell--hovered {
18712
+ stroke-width: 3;
18972
18713
  }
18973
- }
18974
- @keyframes chart-zoom-in {
18975
- 0% {
18976
- transform: scale(0.8);
18977
- opacity: 0;
18714
+ .c-chart__heatmap-cell:focus-visible {
18715
+ outline-width: calc(var(--atomix-border-width) * 3);
18978
18716
  }
18979
- 100% {
18980
- transform: scale(1);
18981
- opacity: 1;
18717
+ .c-chart__candlestick-candle {
18718
+ stroke-width: 2;
18982
18719
  }
18983
- }
18984
- @keyframes chart-slide-up {
18985
- 0% {
18986
- transform: translateY(20px);
18987
- opacity: 0;
18720
+ .c-chart__candlestick-candle:focus-visible {
18721
+ outline-width: calc(var(--atomix-border-width) * 3);
18988
18722
  }
18989
- 100% {
18990
- transform: translateY(0);
18723
+ .c-chart__candlestick-wick {
18724
+ stroke-width: 2;
18991
18725
  opacity: 1;
18992
18726
  }
18993
18727
  }
18994
- @media (max-width: 768px) {
18728
+ @media (prefers-reduced-motion: reduce) {
18995
18729
  .c-chart {
18996
- --atomix-chart-min-height: 10rem;
18997
- border-radius: 0.25rem;
18998
- }
18999
- .c-chart__header {
19000
- flex-direction: column;
19001
- align-items: flex-start;
19002
- gap: 0.5rem;
18730
+ transition: none;
18731
+ animation: none;
19003
18732
  }
19004
- .c-chart__toolbar {
19005
- width: 100%;
19006
- justify-content: flex-end;
19007
- padding: 0.5rem;
19008
- gap: 0.5rem;
18733
+ .c-chart::before, .c-chart::after {
18734
+ animation: none;
18735
+ transition: none;
19009
18736
  }
19010
- }
19011
- @media (max-width: 768px) and (max-width: 480px) {
19012
- .c-chart__toolbar {
19013
- flex-wrap: wrap;
19014
- justify-content: center;
18737
+ .c-chart--elevated {
18738
+ transform: none;
19015
18739
  }
19016
- }
19017
- @media (max-width: 768px) {
19018
- .c-chart__action {
19019
- width: 2.25rem;
19020
- height: 2.25rem;
18740
+ .c-chart--elevated:hover {
18741
+ transform: none;
19021
18742
  }
19022
- .c-chart__action svg {
19023
- width: 1.125rem;
19024
- height: 1.125rem;
18743
+ .c-chart--clickable {
18744
+ transition: none;
19025
18745
  }
19026
- .c-chart__export-dropdown {
19027
- position: fixed;
19028
- top: 50%;
19029
- left: 50%;
19030
- transform: translate(-50%, -50%);
19031
- margin-top: 0;
19032
- min-width: 12.5rem;
19033
- max-width: 90vw;
18746
+ .c-chart--clickable:hover {
18747
+ transform: none;
19034
18748
  }
19035
- .c-chart__legend {
19036
- flex-direction: column;
19037
- gap: 0.5rem;
18749
+ .c-chart--clickable:active {
18750
+ transform: none;
19038
18751
  }
19039
- .c-chart__legend-item {
19040
- justify-content: space-between;
19041
- width: 100%;
18752
+ .c-chart__action {
18753
+ transition: none;
19042
18754
  }
19043
- .c-chart:hover {
18755
+ .c-chart__action:hover {
19044
18756
  transform: none;
19045
18757
  }
19046
- }
19047
- @media (max-width: 480px) {
19048
- .c-chart {
19049
- --atomix-chart-min-height: 9rem;
19050
- --atomix-chart-padding: 0.5rem;
19051
- border-radius: 0.25rem;
18758
+ .c-chart__action svg {
18759
+ transition: none;
19052
18760
  }
19053
- .c-chart__title {
19054
- font-size: 1.125rem;
19055
- margin-bottom: 0.25rem;
18761
+ .c-chart__action svg:hover {
18762
+ transform: none;
19056
18763
  }
19057
- .c-chart__subtitle {
19058
- font-size: 0.75rem;
18764
+ .c-chart__data-point {
18765
+ transition: none;
19059
18766
  }
19060
- .c-chart__toolbar {
19061
- padding: 0.25rem;
19062
- gap: 0.25rem;
19063
- border-radius: 0.25rem;
18767
+ .c-chart__data-point--hovered {
18768
+ transform: none;
19064
18769
  }
19065
- .c-chart__action {
19066
- width: 1.75rem;
19067
- height: 1.75rem;
19068
- font-size: 0.75rem;
18770
+ .c-chart__treemap-node {
18771
+ transition: none;
19069
18772
  }
19070
- .c-chart__action svg {
19071
- width: 0.875rem;
19072
- height: 0.875rem;
18773
+ .c-chart__treemap-node:hover {
18774
+ transform: none;
19073
18775
  }
19074
- .c-chart__export-option {
19075
- padding: 0.25rem 0.5rem;
19076
- font-size: 0.6875rem;
18776
+ .c-chart__treemap-node--hovered {
18777
+ transform: none;
19077
18778
  }
19078
- }
19079
- @media (prefers-reduced-motion: reduce) {
19080
- .c-chart {
18779
+ .c-chart__funnel-segment {
19081
18780
  transition: none;
19082
18781
  }
19083
- .c-chart:hover {
18782
+ .c-chart__funnel-segment:hover {
19084
18783
  transform: none;
19085
18784
  }
19086
- .c-chart * {
19087
- animation-duration: 0.01s !important;
19088
- transition-duration: 0.01s !important;
19089
- }
19090
- .c-chart__real-time-indicator::before {
19091
- animation: none;
18785
+ .c-chart__heatmap-cell {
18786
+ transition: none;
19092
18787
  }
19093
- }
19094
- .c-chart:focus-within .c-chart__data-point:focus {
19095
- outline: 2px solid var(--atomix-primary-6);
19096
- outline-offset: 2px;
19097
- z-index: 10;
19098
- }
19099
- .c-chart:focus-within__canvas svg {
19100
- outline: 2px solid var(--atomix-primary-border-subtle);
19101
- outline-offset: 2px;
19102
- }
19103
- @media (prefers-contrast: high) {
19104
- .c-chart {
19105
- border-width: 2px;
19106
- background-color: white;
19107
- color: black;
19108
- -webkit-backdrop-filter: none;
19109
- backdrop-filter: none;
18788
+ .c-chart__heatmap-cell:hover {
18789
+ transform: none;
19110
18790
  }
19111
- .c-chart__grid {
19112
- stroke-width: 2;
19113
- opacity: 0.8;
19114
- stroke: black;
18791
+ .c-chart__heatmap-cell--hovered {
18792
+ transform: none;
19115
18793
  }
19116
- .c-chart__title {
19117
- color: black;
18794
+ .c-chart__candlestick-candle {
18795
+ transition: none;
19118
18796
  }
19119
- .c-chart__data-point {
19120
- stroke: black;
19121
- stroke-width: 2;
18797
+ .c-chart__candlestick-candle:hover {
18798
+ transform: none;
19122
18799
  }
19123
- .c-chart__crosshair line {
19124
- stroke: black;
19125
- opacity: 1;
18800
+ .c-chart__candlestick-wick {
18801
+ transition: none;
19126
18802
  }
19127
- .c-chart__zoom-indicator {
19128
- background: black;
19129
- color: white;
19130
- border: 2px solid white;
18803
+ .c-chart__candlestick-volume {
18804
+ transition: none;
19131
18805
  }
19132
- .c-chart .line-path {
19133
- stroke-width: 3 !important;
18806
+ .c-chart__empty {
18807
+ animation: none;
19134
18808
  }
19135
- .c-chart .bar {
19136
- stroke: black;
19137
- stroke-width: 2;
18809
+ .c-chart--loading .c-chart__content::after {
18810
+ animation: none;
19138
18811
  }
19139
- }
19140
- @media print {
19141
- .c-chart {
19142
- page-break-inside: avoid;
19143
- -moz-column-break-inside: avoid;
19144
- break-inside: avoid;
19145
- box-shadow: none;
19146
- border: 2px solid black;
19147
- background: white;
18812
+ .c-chart__waterfall-bar--animated {
18813
+ animation: none;
19148
18814
  }
19149
- .c-chart__toolbar {
19150
- display: none;
18815
+ .c-chart__canvas svg {
18816
+ animation: none;
18817
+ opacity: 1;
19151
18818
  }
19152
- .c-chart__crosshair, .c-chart__zoom-indicator, .c-chart__real-time-indicator {
19153
- display: none;
18819
+ }
18820
+ @keyframes chart-bar-appear {
18821
+ 0% {
18822
+ opacity: 0;
18823
+ transform: scaleY(0);
19154
18824
  }
19155
- .c-chart * {
19156
- animation: none !important;
19157
- transition: none !important;
18825
+ 100% {
18826
+ opacity: 1;
18827
+ transform: scaleY(1);
19158
18828
  }
19159
18829
  }
19160
18830
  .c-checkbox-group {
@@ -19534,20 +19204,27 @@ a, a:hover {
19534
19204
  display: flex;
19535
19205
  opacity: 0;
19536
19206
  visibility: hidden;
19537
- transform-origin: top center;
19538
19207
  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);
19539
- transform: translateY(-15px) scale(0.95);
19540
19208
  pointer-events: none;
19209
+ }
19210
+ .c-dropdown__menu-wrapper:not(.is-glass) {
19541
19211
  will-change: transform, opacity, visibility;
19212
+ transform: translateY(-15px) scale(0.95);
19213
+ transform-origin: top center;
19542
19214
  }
19543
- .c-dropdown__menu-wrapper.is-open {
19215
+ .c-dropdown__menu-wrapper.is-open:not(.is-glass) {
19544
19216
  opacity: 1;
19545
19217
  transform: translateY(0) scale(1);
19546
19218
  visibility: visible;
19547
19219
  animation: atomix-dropdown-fade-in var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
19548
19220
  pointer-events: auto;
19549
19221
  }
19550
- .c-dropdown__menu-wrapper:not(.is-open) {
19222
+ .c-dropdown__menu-wrapper.is-open.is-glass {
19223
+ opacity: 1;
19224
+ visibility: visible;
19225
+ pointer-events: auto;
19226
+ }
19227
+ .c-dropdown__menu-wrapper:not(.is-open):not(.is-glass) {
19551
19228
  animation: atomix-dropdown-fade-out var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
19552
19229
  }
19553
19230
  .c-dropdown__menu-wrapper--bottom-start {
@@ -20068,22 +19745,41 @@ a, a:hover {
20068
19745
  --atomix-footer-padding-x: 1rem;
20069
19746
  --atomix-footer-padding-y: 3rem;
20070
19747
  --atomix-footer-container-max-width: 1200px;
20071
- --atomix-footer-bg: var(--atomix-surface);
20072
- --atomix-footer-color: var(--atomix-text);
19748
+ --atomix-footer-bg: var(--atomix-primary-bg);
19749
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
20073
19750
  --atomix-footer-border-width: 1px;
20074
- --atomix-footer-border-color: var(--atomix-border);
19751
+ --atomix-footer-border-color: var(--atomix-primary-border-subtle);
20075
19752
  --atomix-footer-brand-margin-bottom: 1.5rem;
20076
19753
  --atomix-footer-section-margin-bottom: 2rem;
20077
19754
  --atomix-footer-social-gap: 0.75rem;
20078
19755
  --atomix-footer-newsletter-padding: 1.5rem;
20079
19756
  --atomix-footer-bottom-padding-top: 1.5rem;
20080
19757
  --atomix-footer-bottom-margin-top: 2rem;
19758
+ --atomix-footer-brand-logo-margin-bottom: 1rem;
19759
+ --atomix-footer-brand-logo-hover-opacity: 0.8;
19760
+ --atomix-footer-section-header-gap: 0.5rem;
19761
+ --atomix-footer-section-toggle-padding: 0.75rem 0;
19762
+ --atomix-footer-bg-rgb: var(--atomix-primary-bg);
19763
+ --atomix-disabled-opacity: 0.6;
20081
19764
  background-color: var(--atomix-footer-bg);
20082
19765
  color: var(--atomix-footer-color);
20083
19766
  border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
20084
19767
  padding: var(--atomix-footer-padding-y) 0;
20085
19768
  position: relative;
20086
19769
  }
19770
+ .c-footer--glass {
19771
+ padding: 0;
19772
+ margin: 0;
19773
+ border-radius: 0;
19774
+ box-shadow: none;
19775
+ background: transparent;
19776
+ }
19777
+ .c-footer--glass .c-footer__glass {
19778
+ background-color: rgba(var(--atomix-footer-bg-rgb), 0.5, true);
19779
+ color: var(--atomix-footer-color);
19780
+ border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
19781
+ padding: var(--atomix-footer-padding-y) 0;
19782
+ }
20087
19783
  .c-footer__container {
20088
19784
  display: flex;
20089
19785
  flex-direction: column;
@@ -20093,28 +19789,42 @@ a, a:hover {
20093
19789
  padding: 0 var(--atomix-footer-padding-x);
20094
19790
  }
20095
19791
  .c-footer__sections {
20096
- display: grid;
20097
- grid-gap: var(--atomix-footer-section-margin-bottom);
20098
- gap: var(--atomix-footer-section-margin-bottom);
20099
19792
  margin-bottom: var(--atomix-footer-bottom-margin-top);
20100
- grid-template-columns: 1fr;
19793
+ width: 100%;
19794
+ max-width: var(--atomix-footer-container-max-width);
19795
+ margin-left: auto;
19796
+ margin-right: auto;
20101
19797
  }
20102
- @media (min-width: 768px) {
20103
- .c-footer__sections {
20104
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
20105
- gap: clamp(2rem, 4vw, 3rem);
20106
- }
19798
+ .c-footer__sections--centered {
19799
+ justify-content: center;
19800
+ align-items: center;
19801
+ }
19802
+ .c-footer__sections--stacked {
19803
+ display: flex;
19804
+ flex-direction: column;
19805
+ align-items: center;
19806
+ text-align: center;
19807
+ gap: clamp(1.5rem, 4vw, 2.5rem);
19808
+ max-width: 600px;
19809
+ margin-left: auto;
19810
+ margin-right: auto;
20107
19811
  }
20108
19812
  .c-footer__brand {
19813
+ grid-area: brand;
20109
19814
  margin-bottom: var(--atomix-footer-brand-margin-bottom);
20110
19815
  }
19816
+ @media (min-width: 768px) {
19817
+ .c-footer__brand {
19818
+ margin-bottom: 0;
19819
+ }
19820
+ }
20111
19821
  .c-footer__brand-logo {
20112
19822
  display: inline-block;
20113
- margin-bottom: 1rem;
19823
+ margin-bottom: var(--atomix-footer-brand-logo-margin-bottom);
20114
19824
  transition: opacity 0.2s ease;
20115
19825
  }
20116
19826
  .c-footer__brand-logo:hover {
20117
- opacity: 0.8;
19827
+ opacity: var(--atomix-footer-brand-logo-hover-opacity);
20118
19828
  }
20119
19829
  .c-footer__brand-logo img {
20120
19830
  max-width: 200px;
@@ -20127,18 +19837,23 @@ a, a:hover {
20127
19837
  margin: 0;
20128
19838
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
20129
19839
  font-weight: 600;
20130
- color: var(--atomix-text-emphasis);
19840
+ color: var(--atomix-primary-text-emphasis);
20131
19841
  line-height: 1.2;
20132
19842
  }
20133
19843
  .c-footer__brand-description {
20134
19844
  margin-top: 0.5rem;
20135
19845
  font-size: 0.875rem;
20136
- color: var(--atomix-text-muted);
19846
+ color: var(--atomix-secondary-text-emphasis);
20137
19847
  line-height: 1.6;
20138
19848
  max-width: 35ch;
20139
19849
  }
20140
19850
  .c-footer__section {
20141
- margin-bottom: var(--atomix-footer-section-margin-bottom);
19851
+ margin-bottom: 0;
19852
+ }
19853
+ @media (max-width: 575.98px) {
19854
+ .c-footer__section {
19855
+ margin-bottom: var(--atomix-footer-section-margin-bottom);
19856
+ }
20142
19857
  }
20143
19858
  .c-footer__section-header {
20144
19859
  margin-bottom: 1rem;
@@ -20146,14 +19861,14 @@ a, a:hover {
20146
19861
  .c-footer__section-header-content {
20147
19862
  display: flex;
20148
19863
  align-items: center;
20149
- gap: 0.5rem;
19864
+ gap: var(--atomix-footer-section-header-gap);
20150
19865
  }
20151
19866
  .c-footer__section-toggle {
20152
19867
  display: flex;
20153
19868
  align-items: center;
20154
19869
  justify-content: space-between;
20155
19870
  width: 100%;
20156
- padding: 0.75rem 0;
19871
+ padding: var(--atomix-footer-section-toggle-padding);
20157
19872
  background: none;
20158
19873
  border: none;
20159
19874
  cursor: pointer;
@@ -20172,9 +19887,10 @@ a, a:hover {
20172
19887
  }
20173
19888
  .c-footer__section-title {
20174
19889
  margin: 0;
19890
+ width: 100%;
20175
19891
  font-size: 1.125rem;
20176
19892
  font-weight: 600;
20177
- color: var(--atomix-text-emphasis);
19893
+ color: var(--atomix-primary-text-emphasis);
20178
19894
  line-height: 1.3;
20179
19895
  }
20180
19896
  .c-footer__section-icon {
@@ -20186,7 +19902,7 @@ a, a:hover {
20186
19902
  .c-footer__section-chevron {
20187
19903
  font-size: 0.875rem;
20188
19904
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20189
- color: var(--atomix-text-muted);
19905
+ color: var(--atomix-gray-6);
20190
19906
  }
20191
19907
  .c-footer__section-content {
20192
19908
  display: flex;
@@ -20221,9 +19937,9 @@ a, a:hover {
20221
19937
  align-items: center;
20222
19938
  gap: 0.5rem;
20223
19939
  padding: 0.25rem 0;
20224
- color: var(--atomix-text);
19940
+ color: var(--atomix-primary-text-emphasis);
20225
19941
  text-decoration: none;
20226
- transition: color 0.15s ease-in-out;
19942
+ transition: all 0.15s ease-in-out;
20227
19943
  border-radius: 0.25rem;
20228
19944
  position: relative;
20229
19945
  }
@@ -20239,7 +19955,7 @@ a, a:hover {
20239
19955
  }
20240
19956
  .c-footer__link:hover, .c-footer__link:focus {
20241
19957
  color: var(--atomix-primary);
20242
- text-decoration: underline;
19958
+ text-decoration: none;
20243
19959
  }
20244
19960
  .c-footer__link:hover::before, .c-footer__link:focus::before {
20245
19961
  width: 100%;
@@ -20256,10 +19972,10 @@ a, a:hover {
20256
19972
  width: 100%;
20257
19973
  }
20258
19974
  .c-footer__link--disabled {
20259
- color: var(--atomix-text-disabled);
19975
+ color: var(--atomix-disabled-text-emphasis);
20260
19976
  cursor: not-allowed;
20261
19977
  pointer-events: none;
20262
- opacity: 0.6;
19978
+ opacity: var(--atomix-disabled-opacity);
20263
19979
  }
20264
19980
  .c-footer__link-icon {
20265
19981
  display: flex;
@@ -20290,11 +20006,11 @@ a, a:hover {
20290
20006
  justify-content: center;
20291
20007
  width: 2.5rem;
20292
20008
  height: 2.5rem;
20293
- background-color: var(--atomix-surface-variant);
20294
- color: var(--atomix-text);
20009
+ background-color: var(--atomix-secondary-bg-subtle);
20010
+ color: var(--atomix-primary-text-emphasis);
20295
20011
  border-radius: 50%;
20296
20012
  text-decoration: none;
20297
- transition: all 0.15s ease-in-out;
20013
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20298
20014
  position: relative;
20299
20015
  overflow: hidden;
20300
20016
  }
@@ -20308,7 +20024,7 @@ a, a:hover {
20308
20024
  }
20309
20025
  .c-footer__social-link:hover, .c-footer__social-link:focus {
20310
20026
  background-color: var(--atomix-primary);
20311
- color: var(--atomix-primary-contrast);
20027
+ color: var(--atomix-component-active-color);
20312
20028
  transform: translateY(-3px) scale(1.05);
20313
20029
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
20314
20030
  }
@@ -20328,7 +20044,7 @@ a, a:hover {
20328
20044
  height: 3rem;
20329
20045
  }
20330
20046
  .c-footer__social-link--disabled {
20331
- opacity: 0.5;
20047
+ opacity: var(--atomix-disabled-opacity);
20332
20048
  cursor: not-allowed;
20333
20049
  pointer-events: none;
20334
20050
  }
@@ -20375,7 +20091,7 @@ a, a:hover {
20375
20091
  background: linear-gradient(135deg, #25d366, #66bb6a);
20376
20092
  }
20377
20093
  .c-footer__newsletter {
20378
- background-color: linear-gradient(135deg, var(--atomix-surface-variant), rgba(var(--atomix-surface-variant), 0.8));
20094
+ background-color: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
20379
20095
  padding: 1.5rem;
20380
20096
  border-radius: 0.5rem;
20381
20097
  border: 1px solid var(--atomix-border-subtle);
@@ -20395,20 +20111,24 @@ a, a:hover {
20395
20111
  margin: 0 0 0.5rem 0;
20396
20112
  font-size: clamp(1.125rem, 2vw, 1.125rem);
20397
20113
  font-weight: 600;
20398
- color: var(--atomix-text-emphasis);
20114
+ color: var(--atomix-primary-text-emphasis);
20399
20115
  line-height: 1.3;
20400
20116
  }
20401
20117
  .c-footer__newsletter-description {
20402
20118
  margin: 0 0 1rem 0;
20403
20119
  font-size: 0.875rem;
20404
- color: var(--atomix-text-muted);
20120
+ color: var(--atomix-secondary-text-emphasis);
20405
20121
  line-height: 1.6;
20406
20122
  max-width: 45ch;
20123
+ width: 100%;
20124
+ box-sizing: border-box;
20407
20125
  }
20408
20126
  .c-footer__newsletter-form {
20409
20127
  display: flex;
20410
20128
  gap: 0.75rem;
20411
20129
  align-items: flex-end;
20130
+ width: 100%;
20131
+ max-width: 100%;
20412
20132
  }
20413
20133
  @media (max-width: 575.98px) {
20414
20134
  .c-footer__newsletter-form {
@@ -20431,12 +20151,13 @@ a, a:hover {
20431
20151
  flex: 1 1;
20432
20152
  padding: 0.75rem 1rem;
20433
20153
  font-size: 0.875rem;
20434
- background-color: var(--atomix-surface);
20435
- color: var(--atomix-text);
20436
- border: 1px solid var(--atomix-border);
20154
+ background-color: var(--atomix-primary-bg-subtle);
20155
+ color: var(--atomix-primary-text-emphasis);
20156
+ border: 1px solid var(--atomix-primary-border);
20437
20157
  border-radius: 0.375rem;
20438
20158
  outline: none;
20439
20159
  transition: all 0.3s ease;
20160
+ box-sizing: border-box;
20440
20161
  }
20441
20162
  .c-footer__newsletter-input:focus {
20442
20163
  border-color: var(--atomix-primary);
@@ -20444,12 +20165,12 @@ a, a:hover {
20444
20165
  transform: translateY(-1px);
20445
20166
  }
20446
20167
  .c-footer__newsletter-input::-moz-placeholder {
20447
- color: var(--atomix-text-muted);
20168
+ color: var(--atomix-gray-6);
20448
20169
  -moz-transition: opacity 0.3s ease;
20449
20170
  transition: opacity 0.3s ease;
20450
20171
  }
20451
20172
  .c-footer__newsletter-input::placeholder {
20452
- color: var(--atomix-text-muted);
20173
+ color: var(--atomix-gray-6);
20453
20174
  transition: opacity 0.3s ease;
20454
20175
  }
20455
20176
  .c-footer__newsletter-input:focus::-moz-placeholder {
@@ -20460,13 +20181,13 @@ a, a:hover {
20460
20181
  }
20461
20182
  .c-footer__newsletter-button {
20462
20183
  padding: 0.75rem 1.5rem;
20463
- background-color: var(--atomix-primary);
20464
- color: var(--atomix-primary-contrast);
20184
+ background-color: var(--atomix-brand-bg-subtle);
20185
+ color: var(--atomix-brand-text-emphasis);
20465
20186
  border: none;
20466
20187
  border-radius: 0.375rem;
20467
20188
  font-weight: 500;
20468
20189
  cursor: pointer;
20469
- transition: background-color 0.15s ease-in-out;
20190
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20470
20191
  white-space: nowrap;
20471
20192
  position: relative;
20472
20193
  overflow: hidden;
@@ -20480,7 +20201,7 @@ a, a:hover {
20480
20201
  transition: transform 0.6s ease;
20481
20202
  }
20482
20203
  .c-footer__newsletter-button:hover, .c-footer__newsletter-button:focus {
20483
- background-color: var(--atomix-primary-hover);
20204
+ background-color: var(--atomix-secondary-bg-subtle);
20484
20205
  transform: translateY(-2px);
20485
20206
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
20486
20207
  }
@@ -20496,7 +20217,7 @@ a, a:hover {
20496
20217
  align-items: center;
20497
20218
  justify-content: space-between;
20498
20219
  padding-top: var(--atomix-footer-bottom-padding-top);
20499
- border-top: 1px solid var(--atomix-border);
20220
+ border-top: 1px solid var(--atomix-primary-border-subtle);
20500
20221
  position: relative;
20501
20222
  }
20502
20223
  @media (max-width: 575.98px) {
@@ -20508,7 +20229,7 @@ a, a:hover {
20508
20229
  }
20509
20230
  .c-footer__copyright {
20510
20231
  font-size: 0.875rem;
20511
- color: var(--atomix-text-muted);
20232
+ color: var(--atomix-tertiary-text-emphasis);
20512
20233
  line-height: 1.5;
20513
20234
  }
20514
20235
  .c-footer__copyright a {
@@ -20525,16 +20246,18 @@ a, a:hover {
20525
20246
  align-items: center;
20526
20247
  gap: 0.5rem;
20527
20248
  padding: 0.75rem 1.25rem;
20528
- background-color: var(--atomix-surface-variant);
20249
+ background-color: var(--atomix-secondary-bg);
20529
20250
  border: 1px solid var(--atomix-border-subtle);
20530
- color: var(--atomix-text);
20251
+ color: var(--atomix-primary-text-emphasis);
20531
20252
  font-size: 0.875rem;
20532
20253
  font-weight: 500;
20533
20254
  cursor: pointer;
20534
- transition: color 0.15s ease-in-out;
20255
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20535
20256
  border-radius: 2rem;
20536
20257
  position: relative;
20537
20258
  overflow: hidden;
20259
+ text-decoration: none;
20260
+ outline: none;
20538
20261
  }
20539
20262
  .c-footer__back-to-top::before {
20540
20263
  content: "";
@@ -20542,14 +20265,14 @@ a, a:hover {
20542
20265
  inset: 0;
20543
20266
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
20544
20267
  transform: translateX(-100%);
20545
- transition: transform 0.6s ease;
20268
+ transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
20546
20269
  }
20547
20270
  .c-footer__back-to-top:hover, .c-footer__back-to-top:focus {
20548
- color: var(--atomix-primary);
20271
+ color: var(--atomix-secondary-text-emphasis);
20549
20272
  background-color: var(--atomix-primary);
20550
20273
  border-color: var(--atomix-primary);
20551
- transform: translateY(-2px);
20552
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
20274
+ transform: translateY(-3px);
20275
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
20553
20276
  }
20554
20277
  .c-footer__back-to-top:hover::before, .c-footer__back-to-top:focus::before {
20555
20278
  transform: translateX(100%);
@@ -20557,6 +20280,10 @@ a, a:hover {
20557
20280
  .c-footer__back-to-top:hover .c-footer__back-to-top-icon, .c-footer__back-to-top:focus .c-footer__back-to-top-icon {
20558
20281
  transform: translateY(-2px);
20559
20282
  }
20283
+ .c-footer__back-to-top:active {
20284
+ transform: translateY(-1px);
20285
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
20286
+ }
20560
20287
  .c-footer__back-to-top:focus-visible {
20561
20288
  outline: 2px solid var(--atomix-primary);
20562
20289
  outline-offset: 2px;
@@ -20564,7 +20291,7 @@ a, a:hover {
20564
20291
  .c-footer__back-to-top-icon {
20565
20292
  font-size: 1.25em;
20566
20293
  font-weight: bold;
20567
- transition: transform 0.3s ease;
20294
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20568
20295
  }
20569
20296
  @media (max-width: 575.98px) {
20570
20297
  .c-footer__back-to-top-text {
@@ -20575,30 +20302,12 @@ a, a:hover {
20575
20302
  margin: 2rem 0;
20576
20303
  border: none;
20577
20304
  height: 1px;
20578
- background: linear-gradient(90deg, transparent, 1px solid var(--atomix-border), transparent);
20305
+ background: linear-gradient(90deg, transparent, 1px solid var(--atomix-primary-border-subtle), transparent);
20579
20306
  opacity: 0.5;
20580
20307
  }
20581
- @media (min-width: 768px) {
20582
- .c-footer--columns .c-footer__sections {
20583
- display: grid;
20584
- grid-template-columns: minmax(300px, 1fr) 2fr minmax(250px, 1fr);
20585
- grid-gap: clamp(2rem, 5vw, 4rem);
20586
- gap: clamp(2rem, 5vw, 4rem);
20587
- align-items: start;
20588
- }
20589
- }
20590
- @media (min-width: 992px) {
20591
- .c-footer--columns .c-footer__sections {
20592
- grid-template-columns: minmax(350px, 1fr) 3fr minmax(300px, 1fr);
20593
- }
20594
- }
20595
20308
  .c-footer--centered {
20596
20309
  text-align: center;
20597
20310
  }
20598
- .c-footer--centered .c-footer__sections {
20599
- justify-content: center;
20600
- align-items: center;
20601
- }
20602
20311
  .c-footer--centered .c-footer__social {
20603
20312
  justify-content: center;
20604
20313
  }
@@ -20608,13 +20317,14 @@ a, a:hover {
20608
20317
  }
20609
20318
  .c-footer--minimal {
20610
20319
  --atomix-footer-padding-y: 2rem;
20320
+ --atomix-footer-social-gap: 0.75;
20611
20321
  }
20612
20322
  .c-footer--minimal .c-footer__sections {
20613
20323
  margin-bottom: 1rem;
20614
20324
  gap: 1.5rem;
20615
20325
  }
20616
20326
  .c-footer--minimal .c-footer__section {
20617
- margin-bottom: 1rem;
20327
+ margin-bottom: 0;
20618
20328
  }
20619
20329
  .c-footer--minimal .c-footer__newsletter {
20620
20330
  padding: 1.5rem;
@@ -20629,15 +20339,26 @@ a, a:hover {
20629
20339
  margin-left: auto;
20630
20340
  margin-right: auto;
20631
20341
  }
20342
+ .c-footer--flexible .c-footer__section-col {
20343
+ flex: 1 1 auto;
20344
+ min-width: 250px;
20345
+ }
20346
+ .c-footer--sidebar .c-footer__sections--columns {
20347
+ align-items: flex-start;
20348
+ }
20349
+ .c-footer--wide .c-footer__sections {
20350
+ max-width: 100%;
20351
+ padding: 0 1rem;
20352
+ }
20632
20353
  .c-footer--sm {
20633
20354
  --atomix-footer-padding-y: 2rem;
20634
20355
  --atomix-footer-section-margin-bottom: 1.5rem;
20635
- --atomix-footer-brand-margin-bottom: 1rem;
20636
20356
  --atomix-footer-social-gap: 0.75rem;
20637
20357
  }
20638
20358
  .c-footer--md {
20639
20359
  --atomix-footer-padding-y: 3rem;
20640
20360
  --atomix-footer-section-margin-bottom: 2rem;
20361
+ --atomix-footer-social-gap: 1rem;
20641
20362
  }
20642
20363
  .c-footer--lg {
20643
20364
  --atomix-footer-padding-y: 4rem;
@@ -20651,7 +20372,7 @@ a, a:hover {
20651
20372
  .c-footer--primary {
20652
20373
  --atomix-footer-bg: var(--atomix-primary-bg-subtle);
20653
20374
  --atomix-footer-border-color: var(--atomix-primary-border-subtle);
20654
- --atomix-footer-color: var(--atomix-primary-text);
20375
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
20655
20376
  }
20656
20377
  .c-footer--primary .c-footer__brand-name h3,
20657
20378
  .c-footer--primary .c-footer__section-title {
@@ -20659,10 +20380,10 @@ a, a:hover {
20659
20380
  }
20660
20381
  .c-footer--primary .c-footer__brand-description,
20661
20382
  .c-footer--primary .c-footer__copyright {
20662
- color: var(--atomix-primary-text-muted);
20383
+ color: var(--atomix-gray-6);
20663
20384
  }
20664
20385
  .c-footer--primary .c-footer__link {
20665
- color: var(--atomix-primary-text);
20386
+ color: var(--atomix-primary-text-emphasis);
20666
20387
  }
20667
20388
  .c-footer--primary .c-footer__link:hover, .c-footer--primary .c-footer__link:focus {
20668
20389
  color: var(--atomix-primary);
@@ -20671,8 +20392,8 @@ a, a:hover {
20671
20392
  background-color: var(--atomix-primary);
20672
20393
  }
20673
20394
  .c-footer--primary .c-footer__newsletter {
20674
- background: linear-gradient(135deg, var(--atomix-primary-bg), rgba(var(--atomix-primary-bg-rgb), 0.8));
20675
- border-color: var(--atomix-primary-border);
20395
+ background: linear-gradient(135deg, var(--atomix-primary-bg-subtle), rgba(var(--atomix-primary-bg-subtle), 0.8));
20396
+ border-color: var(--atomix-primary-border-subtle);
20676
20397
  }
20677
20398
  .c-footer--primary .c-footer__newsletter::before {
20678
20399
  background: linear-gradient(90deg, transparent, var(--atomix-primary), transparent);
@@ -20680,7 +20401,7 @@ a, a:hover {
20680
20401
  .c-footer--secondary {
20681
20402
  --atomix-footer-bg: var(--atomix-secondary-bg-subtle);
20682
20403
  --atomix-footer-border-color: var(--atomix-secondary-border-subtle);
20683
- --atomix-footer-color: var(--atomix-secondary-text);
20404
+ --atomix-footer-color: var(--atomix-secondary-text-emphasis);
20684
20405
  }
20685
20406
  .c-footer--secondary .c-footer__brand-name h3,
20686
20407
  .c-footer--secondary .c-footer__section-title {
@@ -20688,10 +20409,10 @@ a, a:hover {
20688
20409
  }
20689
20410
  .c-footer--secondary .c-footer__brand-description,
20690
20411
  .c-footer--secondary .c-footer__copyright {
20691
- color: var(--atomix-secondary-text-muted);
20412
+ color: var(--atomix-gray-6);
20692
20413
  }
20693
20414
  .c-footer--secondary .c-footer__link {
20694
- color: var(--atomix-secondary-text);
20415
+ color: var(--atomix-secondary-text-emphasis);
20695
20416
  }
20696
20417
  .c-footer--secondary .c-footer__link:hover, .c-footer--secondary .c-footer__link:focus {
20697
20418
  color: var(--atomix-secondary);
@@ -20700,8 +20421,8 @@ a, a:hover {
20700
20421
  background-color: var(--atomix-secondary);
20701
20422
  }
20702
20423
  .c-footer--secondary .c-footer__newsletter {
20703
- background: linear-gradient(135deg, var(--atomix-secondary-bg), rgba(var(--atomix-secondary-bg-rgb), 0.8));
20704
- border-color: var(--atomix-secondary-border);
20424
+ background: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
20425
+ border-color: var(--atomix-secondary-border-subtle);
20705
20426
  }
20706
20427
  .c-footer--secondary .c-footer__newsletter::before {
20707
20428
  background: linear-gradient(90deg, transparent, var(--atomix-secondary), transparent);
@@ -20709,7 +20430,7 @@ a, a:hover {
20709
20430
  .c-footer--tertiary {
20710
20431
  --atomix-footer-bg: var(--atomix-tertiary-bg-subtle);
20711
20432
  --atomix-footer-border-color: var(--atomix-tertiary-border-subtle);
20712
- --atomix-footer-color: var(--atomix-tertiary-text);
20433
+ --atomix-footer-color: var(--atomix-tertiary-text-emphasis);
20713
20434
  }
20714
20435
  .c-footer--tertiary .c-footer__brand-name h3,
20715
20436
  .c-footer--tertiary .c-footer__section-title {
@@ -20717,10 +20438,10 @@ a, a:hover {
20717
20438
  }
20718
20439
  .c-footer--tertiary .c-footer__brand-description,
20719
20440
  .c-footer--tertiary .c-footer__copyright {
20720
- color: var(--atomix-tertiary-text-muted);
20441
+ color: var(--atomix-gray-6);
20721
20442
  }
20722
20443
  .c-footer--tertiary .c-footer__link {
20723
- color: var(--atomix-tertiary-text);
20444
+ color: var(--atomix-tertiary-text-emphasis);
20724
20445
  }
20725
20446
  .c-footer--tertiary .c-footer__link:hover, .c-footer--tertiary .c-footer__link:focus {
20726
20447
  color: var(--atomix-tertiary);
@@ -20729,8 +20450,8 @@ a, a:hover {
20729
20450
  background-color: var(--atomix-tertiary);
20730
20451
  }
20731
20452
  .c-footer--tertiary .c-footer__newsletter {
20732
- background: linear-gradient(135deg, var(--atomix-tertiary-bg), rgba(var(--atomix-tertiary-bg-rgb), 0.8));
20733
- border-color: var(--atomix-tertiary-border);
20453
+ background: linear-gradient(135deg, var(--atomix-tertiary-bg-subtle), rgba(var(--atomix-tertiary-bg-subtle), 0.8));
20454
+ border-color: var(--atomix-tertiary-border-subtle);
20734
20455
  }
20735
20456
  .c-footer--tertiary .c-footer__newsletter::before {
20736
20457
  background: linear-gradient(90deg, transparent, var(--atomix-tertiary), transparent);
@@ -20738,7 +20459,7 @@ a, a:hover {
20738
20459
  .c-footer--invert {
20739
20460
  --atomix-footer-bg: var(--atomix-invert-bg-subtle);
20740
20461
  --atomix-footer-border-color: var(--atomix-invert-border-subtle);
20741
- --atomix-footer-color: var(--atomix-invert-text);
20462
+ --atomix-footer-color: var(--atomix-invert-text-emphasis);
20742
20463
  }
20743
20464
  .c-footer--invert .c-footer__brand-name h3,
20744
20465
  .c-footer--invert .c-footer__section-title {
@@ -20746,10 +20467,10 @@ a, a:hover {
20746
20467
  }
20747
20468
  .c-footer--invert .c-footer__brand-description,
20748
20469
  .c-footer--invert .c-footer__copyright {
20749
- color: var(--atomix-invert-text-muted);
20470
+ color: var(--atomix-gray-6);
20750
20471
  }
20751
20472
  .c-footer--invert .c-footer__link {
20752
- color: var(--atomix-invert-text);
20473
+ color: var(--atomix-invert-text-emphasis);
20753
20474
  }
20754
20475
  .c-footer--invert .c-footer__link:hover, .c-footer--invert .c-footer__link:focus {
20755
20476
  color: var(--atomix-invert);
@@ -20758,8 +20479,8 @@ a, a:hover {
20758
20479
  background-color: var(--atomix-invert);
20759
20480
  }
20760
20481
  .c-footer--invert .c-footer__newsletter {
20761
- background: linear-gradient(135deg, var(--atomix-invert-bg), rgba(var(--atomix-invert-bg-rgb), 0.8));
20762
- border-color: var(--atomix-invert-border);
20482
+ background: linear-gradient(135deg, var(--atomix-invert-bg-subtle), rgba(var(--atomix-invert-bg-subtle), 0.8));
20483
+ border-color: var(--atomix-invert-border-subtle);
20763
20484
  }
20764
20485
  .c-footer--invert .c-footer__newsletter::before {
20765
20486
  background: linear-gradient(90deg, transparent, var(--atomix-invert), transparent);
@@ -20767,7 +20488,7 @@ a, a:hover {
20767
20488
  .c-footer--brand {
20768
20489
  --atomix-footer-bg: var(--atomix-brand-bg-subtle);
20769
20490
  --atomix-footer-border-color: var(--atomix-brand-border-subtle);
20770
- --atomix-footer-color: var(--atomix-brand-text);
20491
+ --atomix-footer-color: var(--atomix-brand-text-emphasis);
20771
20492
  }
20772
20493
  .c-footer--brand .c-footer__brand-name h3,
20773
20494
  .c-footer--brand .c-footer__section-title {
@@ -20775,10 +20496,10 @@ a, a:hover {
20775
20496
  }
20776
20497
  .c-footer--brand .c-footer__brand-description,
20777
20498
  .c-footer--brand .c-footer__copyright {
20778
- color: var(--atomix-brand-text-muted);
20499
+ color: var(--atomix-gray-6);
20779
20500
  }
20780
20501
  .c-footer--brand .c-footer__link {
20781
- color: var(--atomix-brand-text);
20502
+ color: var(--atomix-brand-text-emphasis);
20782
20503
  }
20783
20504
  .c-footer--brand .c-footer__link:hover, .c-footer--brand .c-footer__link:focus {
20784
20505
  color: var(--atomix-brand);
@@ -20787,8 +20508,8 @@ a, a:hover {
20787
20508
  background-color: var(--atomix-brand);
20788
20509
  }
20789
20510
  .c-footer--brand .c-footer__newsletter {
20790
- background: linear-gradient(135deg, var(--atomix-brand-bg), rgba(var(--atomix-brand-bg-rgb), 0.8));
20791
- border-color: var(--atomix-brand-border);
20511
+ background: linear-gradient(135deg, var(--atomix-brand-bg-subtle), rgba(var(--atomix-brand-bg-subtle), 0.8));
20512
+ border-color: var(--atomix-brand-border-subtle);
20792
20513
  }
20793
20514
  .c-footer--brand .c-footer__newsletter::before {
20794
20515
  background: linear-gradient(90deg, transparent, var(--atomix-brand), transparent);
@@ -20796,7 +20517,7 @@ a, a:hover {
20796
20517
  .c-footer--error {
20797
20518
  --atomix-footer-bg: var(--atomix-error-bg-subtle);
20798
20519
  --atomix-footer-border-color: var(--atomix-error-border-subtle);
20799
- --atomix-footer-color: var(--atomix-error-text);
20520
+ --atomix-footer-color: var(--atomix-error-text-emphasis);
20800
20521
  }
20801
20522
  .c-footer--error .c-footer__brand-name h3,
20802
20523
  .c-footer--error .c-footer__section-title {
@@ -20804,10 +20525,10 @@ a, a:hover {
20804
20525
  }
20805
20526
  .c-footer--error .c-footer__brand-description,
20806
20527
  .c-footer--error .c-footer__copyright {
20807
- color: var(--atomix-error-text-muted);
20528
+ color: var(--atomix-gray-6);
20808
20529
  }
20809
20530
  .c-footer--error .c-footer__link {
20810
- color: var(--atomix-error-text);
20531
+ color: var(--atomix-error-text-emphasis);
20811
20532
  }
20812
20533
  .c-footer--error .c-footer__link:hover, .c-footer--error .c-footer__link:focus {
20813
20534
  color: var(--atomix-error);
@@ -20816,8 +20537,8 @@ a, a:hover {
20816
20537
  background-color: var(--atomix-error);
20817
20538
  }
20818
20539
  .c-footer--error .c-footer__newsletter {
20819
- background: linear-gradient(135deg, var(--atomix-error-bg), rgba(var(--atomix-error-bg-rgb), 0.8));
20820
- border-color: var(--atomix-error-border);
20540
+ background: linear-gradient(135deg, var(--atomix-error-bg-subtle), rgba(var(--atomix-error-bg-subtle), 0.8));
20541
+ border-color: var(--atomix-error-border-subtle);
20821
20542
  }
20822
20543
  .c-footer--error .c-footer__newsletter::before {
20823
20544
  background: linear-gradient(90deg, transparent, var(--atomix-error), transparent);
@@ -20825,7 +20546,7 @@ a, a:hover {
20825
20546
  .c-footer--success {
20826
20547
  --atomix-footer-bg: var(--atomix-success-bg-subtle);
20827
20548
  --atomix-footer-border-color: var(--atomix-success-border-subtle);
20828
- --atomix-footer-color: var(--atomix-success-text);
20549
+ --atomix-footer-color: var(--atomix-success-text-emphasis);
20829
20550
  }
20830
20551
  .c-footer--success .c-footer__brand-name h3,
20831
20552
  .c-footer--success .c-footer__section-title {
@@ -20833,10 +20554,10 @@ a, a:hover {
20833
20554
  }
20834
20555
  .c-footer--success .c-footer__brand-description,
20835
20556
  .c-footer--success .c-footer__copyright {
20836
- color: var(--atomix-success-text-muted);
20557
+ color: var(--atomix-gray-6);
20837
20558
  }
20838
20559
  .c-footer--success .c-footer__link {
20839
- color: var(--atomix-success-text);
20560
+ color: var(--atomix-success-text-emphasis);
20840
20561
  }
20841
20562
  .c-footer--success .c-footer__link:hover, .c-footer--success .c-footer__link:focus {
20842
20563
  color: var(--atomix-success);
@@ -20845,8 +20566,8 @@ a, a:hover {
20845
20566
  background-color: var(--atomix-success);
20846
20567
  }
20847
20568
  .c-footer--success .c-footer__newsletter {
20848
- background: linear-gradient(135deg, var(--atomix-success-bg), rgba(var(--atomix-success-bg-rgb), 0.8));
20849
- border-color: var(--atomix-success-border);
20569
+ background: linear-gradient(135deg, var(--atomix-success-bg-subtle), rgba(var(--atomix-success-bg-subtle), 0.8));
20570
+ border-color: var(--atomix-success-border-subtle);
20850
20571
  }
20851
20572
  .c-footer--success .c-footer__newsletter::before {
20852
20573
  background: linear-gradient(90deg, transparent, var(--atomix-success), transparent);
@@ -20854,7 +20575,7 @@ a, a:hover {
20854
20575
  .c-footer--warning {
20855
20576
  --atomix-footer-bg: var(--atomix-warning-bg-subtle);
20856
20577
  --atomix-footer-border-color: var(--atomix-warning-border-subtle);
20857
- --atomix-footer-color: var(--atomix-warning-text);
20578
+ --atomix-footer-color: var(--atomix-warning-text-emphasis);
20858
20579
  }
20859
20580
  .c-footer--warning .c-footer__brand-name h3,
20860
20581
  .c-footer--warning .c-footer__section-title {
@@ -20862,10 +20583,10 @@ a, a:hover {
20862
20583
  }
20863
20584
  .c-footer--warning .c-footer__brand-description,
20864
20585
  .c-footer--warning .c-footer__copyright {
20865
- color: var(--atomix-warning-text-muted);
20586
+ color: var(--atomix-gray-6);
20866
20587
  }
20867
20588
  .c-footer--warning .c-footer__link {
20868
- color: var(--atomix-warning-text);
20589
+ color: var(--atomix-warning-text-emphasis);
20869
20590
  }
20870
20591
  .c-footer--warning .c-footer__link:hover, .c-footer--warning .c-footer__link:focus {
20871
20592
  color: var(--atomix-warning);
@@ -20874,8 +20595,8 @@ a, a:hover {
20874
20595
  background-color: var(--atomix-warning);
20875
20596
  }
20876
20597
  .c-footer--warning .c-footer__newsletter {
20877
- background: linear-gradient(135deg, var(--atomix-warning-bg), rgba(var(--atomix-warning-bg-rgb), 0.8));
20878
- border-color: var(--atomix-warning-border);
20598
+ background: linear-gradient(135deg, var(--atomix-warning-bg-subtle), rgba(var(--atomix-warning-bg-subtle), 0.8));
20599
+ border-color: var(--atomix-warning-border-subtle);
20879
20600
  }
20880
20601
  .c-footer--warning .c-footer__newsletter::before {
20881
20602
  background: linear-gradient(90deg, transparent, var(--atomix-warning), transparent);
@@ -20883,7 +20604,7 @@ a, a:hover {
20883
20604
  .c-footer--info {
20884
20605
  --atomix-footer-bg: var(--atomix-info-bg-subtle);
20885
20606
  --atomix-footer-border-color: var(--atomix-info-border-subtle);
20886
- --atomix-footer-color: var(--atomix-info-text);
20607
+ --atomix-footer-color: var(--atomix-info-text-emphasis);
20887
20608
  }
20888
20609
  .c-footer--info .c-footer__brand-name h3,
20889
20610
  .c-footer--info .c-footer__section-title {
@@ -20891,10 +20612,10 @@ a, a:hover {
20891
20612
  }
20892
20613
  .c-footer--info .c-footer__brand-description,
20893
20614
  .c-footer--info .c-footer__copyright {
20894
- color: var(--atomix-info-text-muted);
20615
+ color: var(--atomix-gray-6);
20895
20616
  }
20896
20617
  .c-footer--info .c-footer__link {
20897
- color: var(--atomix-info-text);
20618
+ color: var(--atomix-info-text-emphasis);
20898
20619
  }
20899
20620
  .c-footer--info .c-footer__link:hover, .c-footer--info .c-footer__link:focus {
20900
20621
  color: var(--atomix-info);
@@ -20903,8 +20624,8 @@ a, a:hover {
20903
20624
  background-color: var(--atomix-info);
20904
20625
  }
20905
20626
  .c-footer--info .c-footer__newsletter {
20906
- background: linear-gradient(135deg, var(--atomix-info-bg), rgba(var(--atomix-info-bg-rgb), 0.8));
20907
- border-color: var(--atomix-info-border);
20627
+ background: linear-gradient(135deg, var(--atomix-info-bg-subtle), rgba(var(--atomix-info-bg-subtle), 0.8));
20628
+ border-color: var(--atomix-info-border-subtle);
20908
20629
  }
20909
20630
  .c-footer--info .c-footer__newsletter::before {
20910
20631
  background: linear-gradient(90deg, transparent, var(--atomix-info), transparent);
@@ -20912,7 +20633,7 @@ a, a:hover {
20912
20633
  .c-footer--light {
20913
20634
  --atomix-footer-bg: var(--atomix-light-bg-subtle);
20914
20635
  --atomix-footer-border-color: var(--atomix-light-border-subtle);
20915
- --atomix-footer-color: var(--atomix-light-text);
20636
+ --atomix-footer-color: var(--atomix-light-text-emphasis);
20916
20637
  }
20917
20638
  .c-footer--light .c-footer__brand-name h3,
20918
20639
  .c-footer--light .c-footer__section-title {
@@ -20920,10 +20641,10 @@ a, a:hover {
20920
20641
  }
20921
20642
  .c-footer--light .c-footer__brand-description,
20922
20643
  .c-footer--light .c-footer__copyright {
20923
- color: var(--atomix-light-text-muted);
20644
+ color: var(--atomix-gray-6);
20924
20645
  }
20925
20646
  .c-footer--light .c-footer__link {
20926
- color: var(--atomix-light-text);
20647
+ color: var(--atomix-light-text-emphasis);
20927
20648
  }
20928
20649
  .c-footer--light .c-footer__link:hover, .c-footer--light .c-footer__link:focus {
20929
20650
  color: var(--atomix-light);
@@ -20932,8 +20653,8 @@ a, a:hover {
20932
20653
  background-color: var(--atomix-light);
20933
20654
  }
20934
20655
  .c-footer--light .c-footer__newsletter {
20935
- background: linear-gradient(135deg, var(--atomix-light-bg), rgba(var(--atomix-light-bg-rgb), 0.8));
20936
- border-color: var(--atomix-light-border);
20656
+ background: linear-gradient(135deg, var(--atomix-light-bg-subtle), rgba(var(--atomix-light-bg-subtle), 0.8));
20657
+ border-color: var(--atomix-light-border-subtle);
20937
20658
  }
20938
20659
  .c-footer--light .c-footer__newsletter::before {
20939
20660
  background: linear-gradient(90deg, transparent, var(--atomix-light), transparent);
@@ -20941,7 +20662,7 @@ a, a:hover {
20941
20662
  .c-footer--dark {
20942
20663
  --atomix-footer-bg: var(--atomix-dark-bg-subtle);
20943
20664
  --atomix-footer-border-color: var(--atomix-dark-border-subtle);
20944
- --atomix-footer-color: var(--atomix-dark-text);
20665
+ --atomix-footer-color: var(--atomix-dark-text-emphasis);
20945
20666
  }
20946
20667
  .c-footer--dark .c-footer__brand-name h3,
20947
20668
  .c-footer--dark .c-footer__section-title {
@@ -20949,10 +20670,10 @@ a, a:hover {
20949
20670
  }
20950
20671
  .c-footer--dark .c-footer__brand-description,
20951
20672
  .c-footer--dark .c-footer__copyright {
20952
- color: var(--atomix-dark-text-muted);
20673
+ color: var(--atomix-gray-6);
20953
20674
  }
20954
20675
  .c-footer--dark .c-footer__link {
20955
- color: var(--atomix-dark-text);
20676
+ color: var(--atomix-dark-text-emphasis);
20956
20677
  }
20957
20678
  .c-footer--dark .c-footer__link:hover, .c-footer--dark .c-footer__link:focus {
20958
20679
  color: var(--atomix-dark);
@@ -20961,8 +20682,8 @@ a, a:hover {
20961
20682
  background-color: var(--atomix-dark);
20962
20683
  }
20963
20684
  .c-footer--dark .c-footer__newsletter {
20964
- background: linear-gradient(135deg, var(--atomix-dark-bg), rgba(var(--atomix-dark-bg-rgb), 0.8));
20965
- border-color: var(--atomix-dark-border);
20685
+ background: linear-gradient(135deg, var(--atomix-dark-bg-subtle), rgba(var(--atomix-dark-bg-subtle), 0.8));
20686
+ border-color: var(--atomix-dark-border-subtle);
20966
20687
  }
20967
20688
  .c-footer--dark .c-footer__newsletter::before {
20968
20689
  background: linear-gradient(90deg, transparent, var(--atomix-dark), transparent);
@@ -20970,34 +20691,12 @@ a, a:hover {
20970
20691
  .c-footer--sticky {
20971
20692
  position: sticky;
20972
20693
  bottom: 0;
20973
- z-index: 10;
20694
+ z-index: 100;
20974
20695
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
20975
20696
  -webkit-backdrop-filter: blur(10px);
20976
20697
  backdrop-filter: blur(10px);
20977
20698
  background-color: rgba(var(--atomix-footer-bg-rgb), 0.95);
20978
20699
  }
20979
- @media (prefers-color-scheme: dark) {
20980
- .c-footer {
20981
- --atomix-footer-bg: var(--atomix-surface-dark);
20982
- --atomix-footer-color: var(--atomix-text-dark);
20983
- --atomix-footer-border-color: var(--atomix-border-dark);
20984
- }
20985
- }
20986
- .dark-mode .c-footer {
20987
- --atomix-footer-bg: var(--atomix-surface-dark);
20988
- --atomix-footer-color: var(--atomix-text-dark);
20989
- --atomix-footer-border-color: var(--atomix-border-dark);
20990
- }
20991
- .dark-mode .c-footer .c-footer__newsletter {
20992
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
20993
- border-color: rgba(255, 255, 255, 0.1);
20994
- }
20995
- .dark-mode .c-footer .c-footer__social-link {
20996
- background-color: rgba(255, 255, 255, 0.1);
20997
- }
20998
- .dark-mode .c-footer .c-footer__social-link:hover {
20999
- background-color: rgba(255, 255, 255, 0.2);
21000
- }
21001
20700
  @media (prefers-reduced-motion: reduce) {
21002
20701
  .c-footer *,
21003
20702
  .c-footer *::before,
@@ -21322,10 +21021,10 @@ a, a:hover {
21322
21021
  .c-input--glass {
21323
21022
  background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
21324
21023
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
21024
+ border-color: color-mix(in srgb, var(--atomix-input-border-color) 50%, transparent);
21325
21025
  }
21326
21026
  .c-input--glass:focus, .c-input--glass:hover {
21327
- background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
21328
- 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);
21027
+ background-color: color-mix(in srgb, var(--atomix-input-bg) 90%, transparent);
21329
21028
  }
21330
21029
  .c-input--glass.c-input--textarea {
21331
21030
  resize: vertical;
@@ -21400,6 +21099,7 @@ a, a:hover {
21400
21099
  --atomix-list-item-dash-width: 1rem;
21401
21100
  --atomix-list-item-dash-height: 0.125rem;
21402
21101
  padding-left: var(--atomix-list-padding-left);
21102
+ list-style: none;
21403
21103
  }
21404
21104
  .c-list__item {
21405
21105
  color: var(--atomix-list-color);
@@ -22053,6 +21753,8 @@ a, a:hover {
22053
21753
  width: 100%;
22054
21754
  height: 100%;
22055
21755
  display: none;
21756
+ }
21757
+ .c-modal:not(.c-modal--glass) {
22056
21758
  z-index: 1040;
22057
21759
  }
22058
21760
  .c-modal__backdrop {
@@ -24961,6 +24663,9 @@ a, a:hover {
24961
24663
  --atomix-upload-disabled-opacity: 0.6;
24962
24664
  --atomix-upload-loader-control-icon-size: 18px;
24963
24665
  --atomix-upload-loader-contorl-color: var(--atomix-body-color);
24666
+ --atomix-upload-helper-text-opacity: 0.7;
24667
+ --atomix-upload-text-opacity: 0.8;
24668
+ --atomix-upload-text-margin-bottom: 1rem;
24964
24669
  width: 100%;
24965
24670
  max-width: var(--atomix-upload-width);
24966
24671
  padding: var(--atomix-upload-padding-y) var(--atomix-upload-padding-x);
@@ -24981,24 +24686,47 @@ a, a:hover {
24981
24686
  padding: var(--atomix-upload-inner-padding-y) var(--atomix-upload-inner-padding-x);
24982
24687
  border-radius: var(--atomix-upload-border-radius);
24983
24688
  border: var(--atomix-upload-border-width) dashed var(--atomix-upload-border-color);
24689
+ cursor: pointer;
24690
+ transition: all 0.3s ease-in-out;
24691
+ }
24692
+ .c-upload__inner:hover {
24693
+ border-color: var(--atomix-primary-6);
24694
+ background-color: var(--atomix-primary-bg-subtle);
24695
+ transform: translateY(-2px);
24696
+ box-shadow: var(--atomix-box-shadow);
24984
24697
  }
24985
24698
  .c-upload__icon {
24986
24699
  font-size: var(--atomix-upload-icon-size);
24987
- padding: var(--atomix-upload-icon-padding);
24988
- background-color: var(--atomix-upload-icon-bg);
24989
- border-radius: 50rem;
24700
+ padding: 12;
24701
+ color: var(--atomix-primary-6);
24702
+ background-color: var(--atomix-primary-bg-subtle);
24703
+ border-radius: var(--atomix-border-radius-pill);
24704
+ margin-bottom: 12;
24705
+ transition: all 0.3s ease-in-out;
24706
+ }
24707
+ .c-upload__icon:hover {
24708
+ color: var(--atomix-primary-7);
24709
+ background-color: var(--atomix-primary-border-subtle);
24710
+ transform: scale(1.05);
24990
24711
  }
24991
24712
  .c-upload__title {
24992
24713
  color: var(--atomix-upload-title-color);
24993
24714
  font-size: var(--atomix-upload-title-font-size);
24994
24715
  font-weight: var(--atomix-upload-title-font-weight);
24995
24716
  margin-top: var(--atomix-upload-title-margin-top);
24717
+ margin-bottom: var(--atomix-upload-title-margin-bottom);
24718
+ text-align: center;
24719
+ line-height: 1.4;
24996
24720
  }
24997
24721
  .c-upload__text {
24998
24722
  color: var(--atomix-upload-text-color);
24999
24723
  font-size: var(--atomix-upload-text-font-size);
25000
24724
  font-weight: var(--atomix-upload-text-font-weight);
25001
24725
  margin-top: var(--atomix-upload-text-margin-top);
24726
+ margin-bottom: var(--atomix-upload-text-margin-bottom);
24727
+ text-align: center;
24728
+ line-height: 1.5;
24729
+ opacity: var(--atomix-upload-text-opacity);
25002
24730
  }
25003
24731
  .c-upload__btn {
25004
24732
  margin-top: var(--atomix-upload-btn-margin-top);
@@ -25008,6 +24736,9 @@ a, a:hover {
25008
24736
  font-size: var(--atomix-upload-helper-text-font-size);
25009
24737
  font-weight: var(--atomix-upload-helper-text-font-weight);
25010
24738
  margin-top: var(--atomix-upload-helper-text-margin-top);
24739
+ text-align: center;
24740
+ opacity: var(--atomix-upload-helper-text-opacity);
24741
+ line-height: 1.4;
25011
24742
  }
25012
24743
  .c-upload__row {
25013
24744
  width: 100%;
@@ -25026,6 +24757,7 @@ a, a:hover {
25026
24757
  .c-upload__loader {
25027
24758
  --upload-loader-percentage: 0;
25028
24759
  display: flex;
24760
+ align-items: center;
25029
24761
  justify-content: space-between;
25030
24762
  position: relative;
25031
24763
  width: 100%;
@@ -25034,6 +24766,8 @@ a, a:hover {
25034
24766
  border: var(--atomix-upload-loader-border-width) solid var(--atomix-upload-loader-border-color);
25035
24767
  border-radius: var(--atomix-upload-loader-border-radius);
25036
24768
  margin-top: var(--atomix-upload-loader-margin-top);
24769
+ background-color: var(--atomix-body-bg);
24770
+ box-shadow: var(--atomix-box-shadow-sm);
25037
24771
  overflow: hidden;
25038
24772
  }
25039
24773
  .c-upload__loader-title {
@@ -25058,6 +24792,20 @@ a, a:hover {
25058
24792
  .c-upload__loader-close {
25059
24793
  color: var(--atomix-upload-loader-contorl-color);
25060
24794
  font-size: var(--atomix-upload-loader-control-icon-size);
24795
+ background: none;
24796
+ border: none;
24797
+ cursor: pointer;
24798
+ padding: 4;
24799
+ border-radius: var(--atomix-border-radius-sm);
24800
+ transition: all 0.2s ease-in-out;
24801
+ }
24802
+ .c-upload__loader-close:hover {
24803
+ background-color: var(--atomix-danger-bg-subtle);
24804
+ color: var(--atomix-danger-text-emphasis);
24805
+ }
24806
+ .c-upload__loader-close:focus {
24807
+ outline: 2px solid var(--atomix-focus-border-color);
24808
+ outline-offset: 2px;
25061
24809
  }
25062
24810
  .c-upload__loader-bar {
25063
24811
  width: 22px;
@@ -25122,6 +24870,112 @@ a, a:hover {
25122
24870
  .c-upload--disabled .c-upload__btn {
25123
24871
  pointer-events: none;
25124
24872
  }
24873
+ .c-upload--disabled .c-upload__inner {
24874
+ cursor: not-allowed;
24875
+ }
24876
+ .c-upload--disabled .c-upload__inner:hover {
24877
+ transform: none;
24878
+ box-shadow: none;
24879
+ border-color: var(--atomix-upload-border-color);
24880
+ background-color: transparent;
24881
+ }
24882
+ .c-upload--dragging .c-upload__inner {
24883
+ border-color: var(--atomix-primary-6);
24884
+ background-color: var(--atomix-primary-bg-subtle);
24885
+ transform: scale(1.02);
24886
+ box-shadow: var(--atomix-box-shadow-lg);
24887
+ }
24888
+ .c-upload--dragging .c-upload__icon {
24889
+ color: var(--atomix-primary-7);
24890
+ background-color: var(--atomix-primary-border-subtle);
24891
+ transform: scale(1.1);
24892
+ }
24893
+ .c-upload--dragging .c-upload__title {
24894
+ color: var(--atomix-primary-6);
24895
+ }
24896
+ .c-upload--loading .c-upload__loader-bar circle:nth-child(2) {
24897
+ stroke: var(--atomix-primary-6);
24898
+ }
24899
+ .c-upload--success .c-upload__loader-bar circle:nth-child(2) {
24900
+ stroke: var(--atomix-success-6);
24901
+ }
24902
+ .c-upload--error .c-upload__loader-bar circle:nth-child(2) {
24903
+ stroke: var(--atomix-error-6);
24904
+ }
24905
+ .c-upload__input {
24906
+ position: absolute;
24907
+ width: 1px;
24908
+ height: 1px;
24909
+ padding: 0;
24910
+ margin: -1px;
24911
+ overflow: hidden;
24912
+ clip: rect(0, 0, 0, 0);
24913
+ white-space: nowrap;
24914
+ border: 0;
24915
+ }
24916
+ @media (max-width: 768px) {
24917
+ .c-upload {
24918
+ max-width: 100%;
24919
+ }
24920
+ .c-upload__inner {
24921
+ padding: 16 12;
24922
+ }
24923
+ .c-upload__icon {
24924
+ font-size: 28;
24925
+ padding: 8;
24926
+ margin-bottom: 8;
24927
+ }
24928
+ .c-upload__title {
24929
+ font-size: var(--atomix-font-size-md);
24930
+ }
24931
+ .c-upload__text {
24932
+ font-size: var(--atomix-font-size-xs);
24933
+ }
24934
+ .c-upload__loader {
24935
+ padding: 8 12;
24936
+ flex-direction: column;
24937
+ align-items: flex-start;
24938
+ gap: 8;
24939
+ }
24940
+ .c-upload__loader-control {
24941
+ align-self: flex-end;
24942
+ }
24943
+ }
24944
+ @media (prefers-reduced-motion: reduce) {
24945
+ .c-upload__inner {
24946
+ transition: none;
24947
+ }
24948
+ .c-upload__inner:hover {
24949
+ transform: none;
24950
+ }
24951
+ .c-upload__icon {
24952
+ transition: none;
24953
+ }
24954
+ .c-upload__icon:hover {
24955
+ transform: none;
24956
+ }
24957
+ .c-upload--dragging .c-upload__inner {
24958
+ transform: none;
24959
+ }
24960
+ .c-upload--dragging .c-upload__icon {
24961
+ transform: none;
24962
+ }
24963
+ }
24964
+ @media (prefers-contrast: high) {
24965
+ .c-upload__inner {
24966
+ border-width: 3px;
24967
+ }
24968
+ .c-upload--dragging .c-upload__inner {
24969
+ border-width: 4px;
24970
+ }
24971
+ .c-upload__loader {
24972
+ border-width: 2px;
24973
+ }
24974
+ }
24975
+ .c-upload__inner:focus-visible {
24976
+ outline: 2px solid var(--atomix-focus-border-color);
24977
+ outline-offset: 2px;
24978
+ }
25125
24979
  .c-video-player {
25126
24980
  --atomix--video-player-bg: #000;
25127
24981
  --atomix--video-player-border-radius: 8px;