@shohojdhara/atomix 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/README.md +19 -0
  2. package/dist/atomix.css +1300 -1418
  3. package/dist/atomix.min.css +3 -3
  4. package/dist/index.d.ts +1259 -874
  5. package/dist/index.esm.js +16256 -26366
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.js +15691 -22295
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.min.js +1 -1
  10. package/dist/index.min.js.map +1 -1
  11. package/dist/themes/applemix.css +15036 -0
  12. package/dist/themes/applemix.min.css +72 -0
  13. package/dist/themes/boomdevs.css +1300 -1419
  14. package/dist/themes/boomdevs.min.css +3 -3
  15. package/dist/themes/esrar.css +1301 -1419
  16. package/dist/themes/esrar.min.css +3 -3
  17. package/dist/themes/flashtrade.css +15187 -0
  18. package/dist/themes/flashtrade.min.css +86 -0
  19. package/dist/themes/mashroom.css +1299 -1417
  20. package/dist/themes/mashroom.min.css +5 -5
  21. package/dist/themes/shaj-default.css +1300 -1418
  22. package/dist/themes/shaj-default.min.css +3 -3
  23. package/package.json +6 -17
  24. package/src/components/Accordion/Accordion.stories.tsx +4 -26
  25. package/src/components/Accordion/Accordion.tsx +21 -12
  26. package/src/components/AtomixGlass/AtomixGlass.test.tsx +106 -72
  27. package/src/components/AtomixGlass/AtomixGlass.tsx +485 -1215
  28. package/src/components/AtomixGlass/AtomixGlassContainer.tsx +399 -0
  29. package/src/components/AtomixGlass/GlassFilter.tsx +156 -0
  30. package/src/components/AtomixGlass/README.md +124 -2
  31. package/src/components/AtomixGlass/atomixGLass.old.tsx +1266 -0
  32. package/src/components/AtomixGlass/glass-utils.ts +263 -0
  33. package/src/components/AtomixGlass/shader-utils.ts +404 -236
  34. package/src/components/AtomixGlass/{AtomixGlass.stories.tsx → stories/AtomixGlass.stories.tsx} +55 -35
  35. package/src/components/AtomixGlass/stories/Examples.stories.tsx +57 -89
  36. package/src/components/AtomixGlass/stories/Modes.stories.tsx +149 -149
  37. package/src/components/AtomixGlass/stories/Playground.stories.tsx +95 -32
  38. package/src/components/AtomixGlass/stories/ShaderVariants.stories.tsx +0 -2
  39. package/src/components/AtomixGlass/stories/shared-components.tsx +9 -18
  40. package/src/components/AtomixGlass/utils.ts +3 -3
  41. package/src/components/Avatar/Avatar.tsx +3 -0
  42. package/src/components/Avatar/AvatarGroup.tsx +2 -1
  43. package/src/components/Badge/Badge.stories.tsx +74 -54
  44. package/src/components/Badge/Badge.tsx +8 -12
  45. package/src/components/Breadcrumb/Breadcrumb.tsx +23 -4
  46. package/src/components/Button/Button.tsx +3 -5
  47. package/src/components/Callout/Callout.stories.tsx +86 -35
  48. package/src/components/Callout/Callout.tsx +4 -0
  49. package/src/components/Card/Card.stories.tsx +89 -85
  50. package/src/components/Card/Card.tsx +15 -4
  51. package/src/components/Card/ElevationCard.tsx +2 -0
  52. package/src/components/Chart/AnimatedChart.tsx +179 -156
  53. package/src/components/Chart/AreaChart.tsx +123 -12
  54. package/src/components/Chart/BarChart.tsx +91 -100
  55. package/src/components/Chart/BaseChart.tsx +80 -0
  56. package/src/components/Chart/BubbleChart.tsx +114 -290
  57. package/src/components/Chart/CandlestickChart.tsx +282 -622
  58. package/src/components/Chart/Chart.stories.tsx +576 -179
  59. package/src/components/Chart/Chart.tsx +374 -75
  60. package/src/components/Chart/ChartRenderer.tsx +371 -220
  61. package/src/components/Chart/ChartToolbar.tsx +372 -61
  62. package/src/components/Chart/ChartTooltip.tsx +33 -18
  63. package/src/components/Chart/DonutChart.tsx +172 -254
  64. package/src/components/Chart/FunnelChart.tsx +169 -240
  65. package/src/components/Chart/GaugeChart.tsx +224 -392
  66. package/src/components/Chart/HeatmapChart.tsx +302 -440
  67. package/src/components/Chart/LineChart.tsx +148 -103
  68. package/src/components/Chart/MultiAxisChart.tsx +267 -395
  69. package/src/components/Chart/PieChart.tsx +114 -64
  70. package/src/components/Chart/RadarChart.tsx +202 -218
  71. package/src/components/Chart/ScatterChart.tsx +111 -97
  72. package/src/components/Chart/TreemapChart.tsx +147 -222
  73. package/src/components/Chart/WaterfallChart.tsx +253 -291
  74. package/src/components/Chart/index.ts +11 -9
  75. package/src/components/Chart/types.ts +85 -9
  76. package/src/components/Chart/utils.ts +66 -0
  77. package/src/components/ColorModeToggle/ColorModeToggle.stories.tsx +121 -11
  78. package/src/components/ColorModeToggle/ColorModeToggle.tsx +149 -45
  79. package/src/components/ColorModeToggle/index.ts +1 -1
  80. package/src/components/Countdown/Countdown.tsx +4 -0
  81. package/src/components/DataTable/DataTable.tsx +2 -1
  82. package/src/components/DatePicker/DatePicker.stories.tsx +0 -11
  83. package/src/components/DatePicker/DatePicker.tsx +3 -9
  84. package/src/components/DatePicker/types.ts +5 -0
  85. package/src/components/Dropdown/Dropdown.stories.tsx +32 -25
  86. package/src/components/Dropdown/Dropdown.tsx +26 -28
  87. package/src/components/EdgePanel/EdgePanel.stories.tsx +13 -15
  88. package/src/components/EdgePanel/EdgePanel.tsx +20 -5
  89. package/src/components/Footer/Footer.stories.tsx +187 -60
  90. package/src/components/Footer/Footer.test.tsx +134 -0
  91. package/src/components/Footer/Footer.tsx +133 -34
  92. package/src/components/Footer/FooterLink.tsx +1 -1
  93. package/src/components/Footer/FooterSection.tsx +53 -36
  94. package/src/components/Footer/FooterSocialLink.tsx +32 -29
  95. package/src/components/Footer/README.md +82 -3
  96. package/src/components/Footer/index.ts +1 -1
  97. package/src/components/Form/Checkbox.stories.tsx +13 -5
  98. package/src/components/Form/Checkbox.tsx +3 -6
  99. package/src/components/Form/Form.stories.tsx +10 -3
  100. package/src/components/Form/Form.tsx +2 -0
  101. package/src/components/Form/FormGroup.tsx +2 -1
  102. package/src/components/Form/Input.stories.tsx +12 -11
  103. package/src/components/Form/Input.tsx +97 -95
  104. package/src/components/Form/Radio.stories.tsx +22 -7
  105. package/src/components/Form/Radio.tsx +3 -6
  106. package/src/components/Form/Select.stories.tsx +21 -6
  107. package/src/components/Form/Select.tsx +3 -5
  108. package/src/components/Form/Textarea.stories.tsx +13 -11
  109. package/src/components/Form/Textarea.tsx +88 -86
  110. package/src/components/Hero/Hero.stories.tsx +2 -3
  111. package/src/components/Hero/Hero.tsx +5 -6
  112. package/src/components/Icon/Icon.tsx +12 -1
  113. package/src/components/List/List.tsx +2 -1
  114. package/src/components/List/ListGroup.tsx +2 -1
  115. package/src/components/Messages/Messages.tsx +3 -2
  116. package/src/components/Modal/Modal.stories.tsx +48 -34
  117. package/src/components/Modal/Modal.tsx +19 -23
  118. package/src/components/Navigation/Menu/MegaMenu.tsx +2 -2
  119. package/src/components/Navigation/Menu/Menu.tsx +2 -2
  120. package/src/components/Navigation/Nav/Nav.tsx +6 -1
  121. package/src/components/Navigation/Nav/NavDropdown.tsx +10 -1
  122. package/src/components/Navigation/Navbar/Navbar.tsx +4 -1
  123. package/src/components/Navigation/SideMenu/SideMenu.tsx +3 -2
  124. package/src/components/Pagination/Pagination.stories.tsx +13 -6
  125. package/src/components/Pagination/Pagination.tsx +7 -6
  126. package/src/components/PhotoViewer/PhotoViewer.tsx +2 -1
  127. package/src/components/Popover/Popover.stories.tsx +32 -24
  128. package/src/components/Popover/Popover.tsx +4 -1
  129. package/src/components/ProductReview/ProductReview.tsx +8 -2
  130. package/src/components/Progress/Progress.tsx +2 -1
  131. package/src/components/Rating/Rating.stories.tsx +11 -6
  132. package/src/components/Rating/Rating.tsx +3 -5
  133. package/src/components/River/River.tsx +5 -5
  134. package/src/components/SectionIntro/SectionIntro.tsx +8 -2
  135. package/src/components/Slider/Slider.stories.tsx +4 -4
  136. package/src/components/Slider/Slider.tsx +4 -3
  137. package/src/components/Spinner/Spinner.tsx +2 -1
  138. package/src/components/Steps/Steps.stories.tsx +5 -4
  139. package/src/components/Steps/Steps.tsx +8 -5
  140. package/src/components/Tab/Tab.stories.tsx +4 -3
  141. package/src/components/Tab/Tab.tsx +8 -6
  142. package/src/components/Testimonial/Testimonial.tsx +8 -2
  143. package/src/components/Todo/Todo.tsx +2 -1
  144. package/src/components/Toggle/Toggle.stories.tsx +5 -4
  145. package/src/components/Toggle/Toggle.tsx +8 -5
  146. package/src/components/Tooltip/Tooltip.stories.tsx +40 -30
  147. package/src/components/Tooltip/Tooltip.tsx +9 -2
  148. package/src/components/Upload/Upload.stories.tsx +252 -0
  149. package/src/components/Upload/Upload.tsx +92 -53
  150. package/src/components/VideoPlayer/VideoPlayer.tsx +3 -1
  151. package/src/components/index.ts +0 -4
  152. package/src/layouts/Grid/Grid.stories.tsx +10 -23
  153. package/src/layouts/Grid/Grid.tsx +20 -1
  154. package/src/layouts/Grid/GridCol.tsx +76 -48
  155. package/src/lib/composables/useAtomixGlass.ts +861 -44
  156. package/src/lib/composables/useBarChart.ts +13 -6
  157. package/src/lib/composables/useChart.ts +17 -13
  158. package/src/lib/composables/useChartExport.ts +19 -78
  159. package/src/lib/composables/useChartToolbar.ts +0 -1
  160. package/src/lib/composables/useEdgePanel.ts +111 -103
  161. package/src/lib/composables/useFooter.ts +3 -3
  162. package/src/lib/composables/useGlassContainer.ts +16 -7
  163. package/src/lib/composables/useLineChart.ts +8 -1
  164. package/src/lib/composables/useRiver.ts +5 -0
  165. package/src/lib/composables/useSlider.ts +62 -24
  166. package/src/lib/composables/useVideoPlayer.ts +60 -63
  167. package/src/lib/constants/components.ts +146 -32
  168. package/src/lib/types/components.ts +258 -10
  169. package/src/lib/utils/displacement-generator.ts +55 -49
  170. package/src/lib/utils/icons.ts +1 -1
  171. package/src/lib/utils/index.ts +16 -10
  172. package/src/styles/01-settings/_settings.accordion.scss +19 -19
  173. package/src/styles/01-settings/_settings.animations.scss +5 -5
  174. package/src/styles/01-settings/_settings.avatar-group.scss +1 -1
  175. package/src/styles/01-settings/_settings.avatar.scss +17 -17
  176. package/src/styles/01-settings/_settings.background.scss +1 -4
  177. package/src/styles/01-settings/_settings.badge.scss +1 -1
  178. package/src/styles/01-settings/_settings.breadcrumb.scss +1 -1
  179. package/src/styles/01-settings/_settings.card.scss +1 -1
  180. package/src/styles/01-settings/_settings.chart.scss +65 -2
  181. package/src/styles/01-settings/_settings.dropdown.scss +1 -1
  182. package/src/styles/01-settings/_settings.footer.scss +35 -42
  183. package/src/styles/01-settings/_settings.input.scss +1 -1
  184. package/src/styles/01-settings/_settings.list.scss +1 -1
  185. package/src/styles/01-settings/_settings.rating.scss +1 -1
  186. package/src/styles/01-settings/_settings.tabs.scss +1 -1
  187. package/src/styles/01-settings/_settings.upload.scss +6 -5
  188. package/src/styles/02-tools/_tools.animations.scss +4 -5
  189. package/src/styles/02-tools/_tools.background.scss +1 -13
  190. package/src/styles/02-tools/_tools.glass.scss +0 -1
  191. package/src/styles/02-tools/_tools.utility-api.scss +42 -34
  192. package/src/styles/03-generic/_generic.root.scss +1 -4
  193. package/src/styles/04-elements/_elements.body.scss +0 -1
  194. package/src/styles/06-components/_components.atomix-glass.scss +217 -39
  195. package/src/styles/06-components/_components.badge.scss +6 -8
  196. package/src/styles/06-components/_components.button.scss +8 -3
  197. package/src/styles/06-components/_components.card.scss +2 -14
  198. package/src/styles/06-components/_components.chart.scss +969 -1449
  199. package/src/styles/06-components/_components.color-mode-toggle.scss +43 -6
  200. package/src/styles/06-components/_components.dropdown.scss +19 -7
  201. package/src/styles/06-components/_components.edge-panel.scss +4 -2
  202. package/src/styles/06-components/_components.footer.scss +166 -85
  203. package/src/styles/06-components/_components.input.scss +8 -9
  204. package/src/styles/06-components/_components.list.scss +1 -0
  205. package/src/styles/06-components/_components.modal.scss +5 -3
  206. package/src/styles/06-components/_components.skeleton.scss +8 -6
  207. package/src/styles/06-components/_components.upload.scss +219 -4
  208. package/src/styles/06-components/old.chart.styles.scss +1 -30
  209. package/src/styles/99-utilities/_utilities.opacity.scss +1 -1
  210. package/src/styles/99-utilities/_utilities.scss +1 -1
  211. package/src/components/Chart/AdvancedChart.tsx +0 -624
  212. package/src/components/Chart/LineChartNew.tsx +0 -167
  213. package/src/components/Chart/RealTimeChart.tsx +0 -436
  214. package/src/components/DatePicker/DatePicker copy.tsx +0 -551
@@ -16269,60 +16269,184 @@ 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: all var(--atomix-transition-duration, 0s) 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: var(--atomix-glass-transition);
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
+ z-index: -1;
16416
+ }
16417
+ .c-atomix-glass__background-layer--black.c-atomix-glass__background-layer--over-light {
16418
+ opacity: var(--atomix-opacity-25, 0.25);
16419
+ }
16420
+ .c-atomix-glass__background-layer--hidden {
16421
+ opacity: var(--atomix-opacity-0, 0);
16422
+ }
16423
+ .c-atomix-glass--reduced-motion {
16424
+ --atomix-glass-transition: none;
16425
+ }
16426
+ .c-atomix-glass--reduced-motion * {
16427
+ transition: none !important;
16428
+ }
16429
+ .c-atomix-glass--high-contrast {
16430
+ border: var(--atomix-spacing-0-5, 2px) solid currentColor;
16431
+ outline: var(--atomix-spacing-0-5, 2px) solid transparent;
16432
+ outline-offset: var(--atomix-spacing-0-5, 2px);
16433
+ }
16434
+ .c-atomix-glass--disabled-effects {
16435
+ --atomix-glass-transform: none;
16436
+ --atomix-glass-transition: none;
16437
+ }
16438
+ @media (prefers-reduced-motion: reduce) {
16439
+ .c-atomix-glass {
16440
+ --atomix-glass-transition: none;
16441
+ }
16442
+ .c-atomix-glass * {
16443
+ transition: none !important;
16444
+ }
16445
+ }
16446
+ @media (prefers-contrast: high) {
16447
+ .c-atomix-glass {
16448
+ border-width: var(--atomix-spacing-0-5, 0.125rem);
16449
+ }
16326
16450
  }
16327
16451
  .c-badge {
16328
16452
  --atomix-tag-font-size: 12px;
@@ -17343,19 +17467,8 @@ a, a:hover {
17343
17467
  padding-top: 0;
17344
17468
  }
17345
17469
  .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%;
17470
+ max-width: none;
17357
17471
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
17358
- background-blend-mode: overlay;
17359
17472
  }
17360
17473
  .is-elevated .c-card {
17361
17474
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
@@ -17377,126 +17490,49 @@ a, a:hover {
17377
17490
  border: var(--atomix-chart-border-width) solid var(--atomix-chart-border-color);
17378
17491
  border-radius: var(--atomix-chart-border-radius);
17379
17492
  overflow: hidden;
17380
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
17493
+ 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
17494
  position: relative;
17382
17495
  min-height: var(--atomix-chart-min-height);
17383
17496
  width: 100%;
17384
17497
  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;
17498
+ background: var(--atomix-chart-bg);
17499
+ backdrop-filter: blur(10px);
17500
+ -webkit-backdrop-filter: blur(10px);
17390
17501
  }
17391
- .c-chart::after {
17502
+ .c-chart::before {
17392
17503
  content: "";
17393
17504
  position: absolute;
17394
17505
  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%);
17506
+ 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
17507
  pointer-events: none;
17397
17508
  z-index: 1;
17509
+ opacity: 1;
17510
+ transition: opacity 0.3s ease;
17398
17511
  }
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);
17512
+ .c-chart::after {
17513
+ content: "";
17514
+ position: absolute;
17515
+ inset: 0;
17516
+ border-radius: inherit;
17517
+ padding: 1px;
17518
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1), rgba(var(--atomix-secondary-rgb), 0.05), transparent);
17519
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
17520
+ -webkit-mask-composite: xor;
17521
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
17522
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
17523
+ -webkit-mask-composite: xor;
17524
+ mask-composite: exclude;
17525
+ pointer-events: none;
17526
+ z-index: 2;
17527
+ opacity: 0;
17528
+ transition: opacity 0.3s ease;
17493
17529
  }
17494
- .c-chart--dark {
17495
- --atomix-chart-primary-color: var(--atomix-dark-6);
17496
- --atomix-chart-border-color: var(--atomix-dark-border-subtle);
17530
+ .c-chart:hover {
17531
+ 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);
17532
+ border-color: rgba(var(--atomix-primary-rgb), 0.2);
17497
17533
  }
17498
- .c-chart--dark:hover {
17499
- border-color: var(--atomix-dark-border-subtle);
17534
+ .c-chart:hover::after {
17535
+ opacity: 1;
17500
17536
  }
17501
17537
  .c-chart--loading .c-chart__content {
17502
17538
  position: relative;
@@ -17516,38 +17552,6 @@ a, a:hover {
17516
17552
  opacity: 0.3;
17517
17553
  filter: blur(1px);
17518
17554
  }
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
17555
  .c-chart--fullscreen {
17552
17556
  position: fixed;
17553
17557
  top: 0;
@@ -17557,29 +17561,58 @@ a, a:hover {
17557
17561
  z-index: 9999;
17558
17562
  border-radius: 0;
17559
17563
  box-shadow: none;
17560
- background: var(--atomix-primary-bg-default);
17564
+ background: var(--atomix-body-bg);
17561
17565
  }
17562
17566
  .c-chart--elevated {
17563
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
17564
- transform: translateY(-2px);
17567
+ 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
17568
  }
17566
17569
  .c-chart--elevated:hover {
17567
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
17568
- transform: translateY(-4px);
17570
+ 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
17571
  }
17570
- .c-chart--flat {
17572
+ .c-chart--glass {
17573
+ background: transparent;
17574
+ border: none;
17571
17575
  box-shadow: none;
17572
- border: 2px solid var(--atomix-primary-border-subtle);
17573
17576
  }
17574
- .c-chart--flat:hover {
17575
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
17577
+ .c-chart--glass .c-chart__content {
17578
+ position: relative;
17579
+ }
17580
+ .c-chart--glass .c-chart__canvas {
17581
+ position: relative;
17582
+ }
17583
+ .c-chart--glass .c-chart__toolbar {
17584
+ position: relative;
17585
+ }
17586
+ .c-chart--disabled {
17587
+ opacity: 0.6;
17588
+ cursor: not-allowed;
17589
+ pointer-events: none;
17590
+ pointer-events: none;
17591
+ opacity: 0.6;
17592
+ }
17593
+ .c-chart--disabled:hover, .c-chart--disabled:focus, .c-chart--disabled:active {
17594
+ background-color: inherit;
17595
+ color: inherit;
17576
17596
  transform: none;
17577
17597
  }
17578
- .c-chart--rounded {
17579
- border-radius: 0.75rem;
17598
+ .c-chart--selected {
17599
+ border-color: rgba(var(--atomix-primary-rgb), 0.3);
17600
+ 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);
17601
+ 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
17602
  }
17581
- .c-chart--square {
17582
- border-radius: 0;
17603
+ .c-chart--active {
17604
+ border-color: var(--atomix-primary-border-subtle);
17605
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
17606
+ }
17607
+ .c-chart--clickable {
17608
+ cursor: pointer;
17609
+ }
17610
+ .c-chart--clickable:hover {
17611
+ 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);
17612
+ border-color: rgba(var(--atomix-primary-rgb), 0.25);
17613
+ }
17614
+ .c-chart--clickable:active {
17615
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.12);
17583
17616
  }
17584
17617
  .c-chart__header {
17585
17618
  padding: var(--atomix-chart-padding);
@@ -17689,8 +17722,11 @@ a, a:hover {
17689
17722
  transform: scale(1.1);
17690
17723
  }
17691
17724
  .c-chart__action:focus-visible {
17692
- outline: 2px solid var(--atomix-primary-6);
17725
+ outline: 2px solid var(--atomix-focus-border-color);
17693
17726
  outline-offset: 2px;
17727
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
17728
+ }
17729
+ .c-chart__action:focus-visible {
17694
17730
  border-color: var(--atomix-primary-border-subtle);
17695
17731
  }
17696
17732
  .c-chart__action:active {
@@ -17716,45 +17752,6 @@ a, a:hover {
17716
17752
  background-color: transparent;
17717
17753
  border-color: transparent;
17718
17754
  }
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
17755
  .c-chart__export-group {
17759
17756
  position: relative;
17760
17757
  display: flex;
@@ -17776,7 +17773,7 @@ a, a:hover {
17776
17773
  border-radius: 0.25rem;
17777
17774
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
17778
17775
  padding: 0.25rem;
17779
- min-width: 7.5rem;
17776
+ min-width: 7rem;
17780
17777
  z-index: 1000;
17781
17778
  opacity: 0;
17782
17779
  visibility: hidden;
@@ -17806,8 +17803,8 @@ a, a:hover {
17806
17803
  color: var(--atomix-primary-text-emphasis);
17807
17804
  }
17808
17805
  .c-chart__export-option:focus-visible {
17809
- outline: 2px solid var(--atomix-primary-6);
17810
- outline-offset: -2px;
17806
+ outline: calc(var(--atomix-border-width) * 2) solid var(--atomix-primary-6);
17807
+ outline-offset: calc(var(--atomix-border-width) * -2);
17811
17808
  }
17812
17809
  .c-chart__export-option:disabled {
17813
17810
  opacity: 0.4;
@@ -17817,201 +17814,178 @@ a, a:hover {
17817
17814
  .c-chart__export-option:not(:last-child) {
17818
17815
  margin-bottom: 0.25rem;
17819
17816
  }
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: "";
17817
+ .c-chart__settings-menu {
17831
17818
  position: absolute;
17832
- top: 0;
17833
- left: 0;
17819
+ top: 100%;
17834
17820
  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;
17821
+ margin-top: 0.25rem;
17822
+ background: var(--atomix-primary-bg-default);
17823
+ border: 1px solid var(--atomix-primary-border-subtle);
17824
+ border-radius: 0.25rem;
17825
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
17826
+ padding: 0.5rem;
17827
+ min-width: 8.75rem;
17828
+ z-index: 1000;
17829
+ opacity: 0;
17830
+ visibility: hidden;
17831
+ transform: translateY(-8px);
17832
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
17833
+ -webkit-backdrop-filter: blur(8px);
17834
+ backdrop-filter: blur(8px);
17841
17835
  }
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;
17836
+ .c-chart__settings-menu-title {
17837
+ font-size: 0.875rem;
17838
+ font-weight: 600;
17839
+ color: var(--atomix-text-primary);
17840
+ margin-bottom: 0.5rem;
17841
+ padding-bottom: 0.5rem;
17842
+ border-bottom: 1px solid var(--atomix-border-color);
17849
17843
  }
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;
17844
+ .c-chart__settings-menu-content {
17845
+ display: flex;
17846
+ flex-direction: column;
17847
+ gap: 0.25rem;
17871
17848
  }
17872
- .c-chart__crosshair {
17873
- pointer-events: none;
17849
+ .c-chart__settings-menu-item {
17850
+ display: flex;
17851
+ align-items: center;
17852
+ justify-content: space-between;
17853
+ padding: 0.375rem 0;
17854
+ gap: 0.75rem;
17874
17855
  }
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;
17856
+ .c-chart__settings-menu-item--info {
17879
17857
  opacity: 0.7;
17858
+ font-size: 0.75rem;
17880
17859
  }
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;
17860
+ .c-chart__settings-menu-toggle {
17861
+ display: flex;
17862
+ align-items: center;
17863
+ gap: 0.5rem;
17864
+ cursor: pointer;
17865
+ width: 100%;
17866
+ -webkit-user-select: none;
17867
+ -moz-user-select: none;
17868
+ user-select: none;
17883
17869
  }
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;
17870
+ .c-chart__settings-menu-toggle input[type=checkbox] {
17871
+ width: 1rem;
17872
+ height: 1rem;
17873
+ cursor: pointer;
17874
+ accent-color: var(--atomix-primary);
17875
+ flex-shrink: 0;
17876
+ }
17877
+ .c-chart__settings-menu-label {
17892
17878
  font-size: 0.75rem;
17893
17879
  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;
17880
+ color: var(--atomix-text-primary);
17881
+ flex: 1 1;
17904
17882
  }
17905
- .c-chart__navigator path {
17906
- stroke-width: 1;
17907
- fill: none;
17908
- opacity: 0.6;
17883
+ .c-chart__settings-menu-value {
17884
+ font-size: 0.75rem;
17885
+ font-weight: 600;
17886
+ color: var(--atomix-secondary-text-emphasis);
17887
+ text-transform: capitalize;
17909
17888
  }
17910
- .c-chart__real-time-indicator {
17911
- position: absolute;
17912
- top: 10px;
17913
- left: 10px;
17889
+ .c-chart__toolbar-group {
17914
17890
  display: flex;
17915
17891
  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;
17892
+ gap: 0.5rem;
17893
+ position: relative;
17894
+ }
17895
+ .c-chart__toolbar-group:hover .c-chart__export-dropdown,
17896
+ .c-chart__toolbar-group:hover .c-chart__settings-menu {
17897
+ opacity: 1;
17898
+ visibility: visible;
17899
+ transform: translateY(0);
17900
+ }
17901
+ .c-chart__toolbar-separator {
17902
+ width: 1px;
17903
+ height: 1.5rem;
17904
+ background: var(--atomix-border-color);
17905
+ margin: 0 0.5rem;
17906
+ }
17907
+ .c-chart__toolbar-label {
17921
17908
  font-size: 0.75rem;
17922
17909
  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;
17910
+ color: var(--atomix-secondary-text-emphasis);
17911
+ text-transform: uppercase;
17912
+ letter-spacing: 0.5px;
17913
+ margin-right: 0.5rem;
17932
17914
  }
17933
- .c-chart__legend {
17934
- display: flex;
17935
- flex-wrap: wrap;
17936
- gap: 0.75rem;
17915
+ .c-chart__content {
17916
+ flex: 1 1;
17917
+ position: relative;
17937
17918
  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
17919
  display: flex;
17943
17920
  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;
17921
+ justify-content: center;
17922
+ min-height: 8rem;
17923
+ z-index: 3;
17924
+ contain: layout;
17955
17925
  overflow: hidden;
17956
17926
  }
17957
- .c-chart__legend-item::before {
17927
+ .c-chart__content::before {
17958
17928
  content: "";
17959
17929
  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] {
17930
+ top: 0;
17931
+ left: 0;
17932
+ right: 0;
17933
+ bottom: 0;
17934
+ background-image: radial-gradient(circle at 1px 1px, rgba(var(--atomix-primary-rgb), 0.08) 1px, transparent 0);
17935
+ background-size: 16px 16px;
17983
17936
  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;
17937
+ pointer-events: none;
17938
+ z-index: 0;
17988
17939
  }
17989
- .c-chart__legend-item[data-visible=false] .c-chart__legend-color {
17990
- opacity: 0.3;
17991
- filter: grayscale(100%);
17940
+ .c-chart__content::after {
17941
+ content: "";
17942
+ position: absolute;
17943
+ inset: 0;
17944
+ background: linear-gradient(180deg, rgba(var(--atomix-primary-rgb), 0.03) 0%, transparent 30%, transparent 70%, rgba(var(--atomix-secondary-rgb), 0.02) 100%);
17945
+ pointer-events: none;
17946
+ z-index: 1;
17992
17947
  }
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);
17948
+ .c-chart__canvas {
17949
+ width: 100%;
17950
+ height: 100%;
18001
17951
  position: relative;
17952
+ overflow: hidden;
17953
+ border-radius: 0.25rem;
17954
+ z-index: 2;
17955
+ background: transparent;
17956
+ min-height: 200px;
17957
+ contain: layout style paint;
18002
17958
  }
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;
17959
+ .c-chart__canvas svg {
17960
+ display: block;
17961
+ shape-rendering: geometricPrecision;
17962
+ text-rendering: optimizeLegibility;
17963
+ image-rendering: -webkit-optimize-contrast;
17964
+ image-rendering: crisp-edges;
17965
+ will-change: contents;
17966
+ -webkit-backface-visibility: hidden;
17967
+ backface-visibility: hidden;
17968
+ transform: translateZ(0);
17969
+ opacity: 0;
17970
+ animation: chart-fade-in 0.3s ease-out forwards;
17971
+ }
17972
+ @keyframes chart-fade-in {
17973
+ from {
17974
+ opacity: 0;
17975
+ }
17976
+ to {
17977
+ opacity: 1;
17978
+ }
17979
+ }
17980
+ .c-chart__canvas canvas {
17981
+ width: 100%;
17982
+ height: 100%;
17983
+ display: block;
17984
+ image-rendering: -webkit-optimize-contrast;
17985
+ image-rendering: crisp-edges;
18010
17986
  }
18011
17987
  .c-chart__tooltip {
18012
17988
  position: fixed;
18013
- top: 0;
18014
- left: 0;
18015
17989
  -webkit-backdrop-filter: blur(1rem);
18016
17990
  backdrop-filter: blur(1rem);
18017
17991
  border-radius: 0.625rem;
@@ -18043,8 +18017,8 @@ a, a:hover {
18043
18017
  gap: 0.5rem;
18044
18018
  }
18045
18019
  .c-chart__tooltip-color-indicator {
18046
- width: 12px;
18047
- height: 12px;
18020
+ width: 0.75rem;
18021
+ height: 0.75rem;
18048
18022
  border-radius: 50%;
18049
18023
  flex-shrink: 0;
18050
18024
  }
@@ -18078,64 +18052,10 @@ a, a:hover {
18078
18052
  color: var(--atomix-primary-text-emphasis);
18079
18053
  font-weight: 500;
18080
18054
  }
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
18055
  .c-chart__grid {
18135
18056
  stroke: var(--atomix-primary-border-subtle);
18136
18057
  stroke-width: 0.5;
18137
18058
  stroke-dasharray: 2, 4;
18138
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18139
18059
  }
18140
18060
  .c-chart__grid--major {
18141
18061
  stroke-width: 1;
@@ -18150,78 +18070,52 @@ a, a:hover {
18150
18070
  stroke-dasharray: none;
18151
18071
  opacity: 0.6;
18152
18072
  }
18153
- .c-chart__grid:hover {
18073
+ .c-chart__axis-line {
18074
+ stroke: var(--atomix-border-color);
18075
+ stroke-width: 1;
18154
18076
  opacity: 0.6;
18155
18077
  }
18078
+ .c-chart__axis-label {
18079
+ font-size: 0.75rem;
18080
+ font-weight: 500;
18081
+ fill: var(--atomix-tertiary-text-emphasis);
18082
+ }
18083
+ .c-chart__legend-item-color {
18084
+ width: 0.75rem;
18085
+ height: 0.75rem;
18086
+ flex-shrink: 0;
18087
+ }
18088
+ .c-chart__legend-item-text {
18089
+ font-size: 0.75rem;
18090
+ fill: var(--atomix-text-primary);
18091
+ }
18092
+ .c-chart__data-line {
18093
+ stroke-width: 2.5;
18094
+ fill: none;
18095
+ }
18096
+ .c-chart__data-line--hovered {
18097
+ stroke-width: 3.5;
18098
+ }
18156
18099
  .c-chart__data-point {
18157
18100
  cursor: pointer;
18158
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
18159
- transform-origin: center center;
18101
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18160
18102
  }
18161
18103
  .c-chart__data-point:hover {
18162
18104
  opacity: 0.8;
18163
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
18164
18105
  }
18165
18106
  .c-chart__data-point:focus-visible {
18166
- outline: 2px solid var(--atomix-primary-border-subtle);
18107
+ outline: 2px solid var(--atomix-focus-border-color);
18167
18108
  outline-offset: 2px;
18109
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18168
18110
  }
18169
- .c-chart__data-point:active {
18170
- transform: scale(1.05);
18171
- }
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;
18111
+ .c-chart__data-point--hovered {
18112
+ opacity: 0.9;
18113
+ transform: scale(1.1);
18177
18114
  }
18178
- .c-chart__data-point[data-selected=true] {
18179
- stroke: var(--atomix-primary-border-subtle);
18115
+ .c-chart__data-point--selected {
18116
+ opacity: 1;
18180
18117
  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;
18118
+ filter: drop-shadow(0 0 4px currentColor);
18225
18119
  }
18226
18120
  .c-chart__empty {
18227
18121
  display: flex;
@@ -18237,924 +18131,701 @@ a, a:hover {
18237
18131
  opacity: 0.6;
18238
18132
  animation: chart-fade-in 0.6s ease-out;
18239
18133
  }
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;
18134
+ .c-chart__toolbar--sm {
18135
+ gap: 0.25rem;
18273
18136
  }
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;
18137
+ .c-chart__toolbar--lg {
18138
+ padding: 0.5rem;
18139
+ gap: 0.75rem;
18277
18140
  }
18278
- .c-chart--line .c-chart__canvas .chart-point-label {
18279
- font-size: 0.75rem;
18141
+ .c-chart__legend-item--active {
18142
+ opacity: 1;
18280
18143
  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
18144
  }
18287
- .c-chart--line .c-chart__canvas .chart-point-label.visible {
18288
- opacity: 1;
18145
+ .c-chart__legend-item--inactive {
18146
+ opacity: 0.5;
18289
18147
  }
18290
- .c-chart--line .c-chart__canvas .data-point {
18291
- r: 4;
18148
+ .c-chart__treemap-node {
18149
+ stroke: var(--atomix-border-color);
18150
+ stroke-width: 1;
18292
18151
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18293
18152
  cursor: pointer;
18153
+ shape-rendering: geometricPrecision;
18294
18154
  }
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));
18155
+ .c-chart__treemap-node:hover {
18156
+ transform: scale(1.02);
18157
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18158
+ stroke-width: 1.5;
18298
18159
  }
18299
- .c-chart--line .c-chart__canvas .data-point[data-highlighted=true] {
18300
- r: 8;
18301
- stroke-width: 3;
18160
+ .c-chart__treemap-node--hovered {
18161
+ transform: scale(1.02);
18162
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18163
+ stroke-width: 1.5;
18302
18164
  }
18303
- .c-chart--line .c-chart__canvas .data-point:focus-visible {
18165
+ .c-chart__treemap-node--selected {
18166
+ stroke: var(--atomix-primary-border-subtle);
18167
+ stroke-width: 2;
18168
+ filter: drop-shadow(0 16px 48px rgba(0, 0, 0, 0.175));
18169
+ }
18170
+ .c-chart__treemap-node:focus-visible {
18304
18171
  outline: 2px solid var(--atomix-focus-border-color);
18305
18172
  outline-offset: 2px;
18173
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18306
18174
  }
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;
18175
+ .c-chart__treemap-label {
18176
+ font-size: 0.875rem;
18177
+ font-weight: 500;
18178
+ fill: var(--atomix-text-primary);
18179
+ text-anchor: middle;
18180
+ dominant-baseline: middle;
18181
+ pointer-events: none;
18182
+ -webkit-user-select: none;
18183
+ -moz-user-select: none;
18184
+ user-select: none;
18185
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18324
18186
  }
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 {
18187
+ .c-chart__funnel-segment {
18188
+ stroke: var(--atomix-border-color);
18189
+ stroke-width: 1;
18328
18190
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18329
18191
  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;
18192
+ shape-rendering: geometricPrecision;
18333
18193
  }
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));
18194
+ .c-chart__funnel-segment:hover {
18195
+ opacity: 0.9;
18196
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18197
+ stroke-width: 1.5;
18341
18198
  }
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);
18199
+ .c-chart__funnel-segment:focus-visible {
18200
+ outline: 2px solid var(--atomix-focus-border-color);
18346
18201
  outline-offset: 2px;
18202
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18347
18203
  }
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;
18204
+ .c-chart__funnel-label {
18205
+ font-size: 0.875rem;
18360
18206
  font-weight: 500;
18361
- fill: var(--atomix-primary-text-emphasis);
18207
+ fill: var(--atomix-text-primary);
18362
18208
  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;
18209
+ dominant-baseline: middle;
18367
18210
  pointer-events: none;
18211
+ -webkit-user-select: none;
18212
+ -moz-user-select: none;
18213
+ user-select: none;
18214
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18368
18215
  }
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 {
18216
+ .c-chart__funnel-conversion {
18467
18217
  font-size: 0.75rem;
18468
18218
  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
18219
  fill: var(--atomix-secondary-text-emphasis);
18493
18220
  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;
18221
+ dominant-baseline: middle;
18222
+ pointer-events: none;
18223
+ -webkit-user-select: none;
18224
+ -moz-user-select: none;
18225
+ user-select: none;
18226
+ opacity: 0.8;
18506
18227
  }
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);
18228
+ .c-chart__heatmap-cell {
18229
+ stroke: var(--atomix-border-color);
18510
18230
  stroke-width: 1;
18231
+ rx: 0.25rem;
18232
+ ry: 0.25rem;
18511
18233
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18512
18234
  cursor: pointer;
18513
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
18514
- animation: chart-fade-in 0.6s ease-out;
18235
+ shape-rendering: geometricPrecision;
18515
18236
  }
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));
18237
+ .c-chart__heatmap-cell:hover {
18238
+ transform: scale(1.05);
18239
+ transform-origin: center;
18240
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18241
+ stroke-width: 2;
18242
+ z-index: 10;
18519
18243
  }
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);
18244
+ .c-chart__heatmap-cell--hovered {
18245
+ transform: scale(1.05);
18246
+ transform-origin: center;
18247
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18248
+ stroke-width: 2;
18249
+ z-index: 10;
18250
+ }
18251
+ .c-chart__heatmap-cell:focus-visible {
18252
+ outline: 2px solid var(--atomix-focus-border-color);
18523
18253
  outline-offset: 2px;
18254
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18524
18255
  }
18525
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-label {
18256
+ .c-chart__heatmap-label {
18526
18257
  font-size: 0.75rem;
18527
- fill: var(--atomix-primary-text-emphasis);
18258
+ font-weight: 400;
18259
+ fill: var(--atomix-text-primary);
18260
+ text-anchor: middle;
18261
+ dominant-baseline: middle;
18528
18262
  pointer-events: none;
18263
+ -webkit-user-select: none;
18264
+ -moz-user-select: none;
18265
+ user-select: none;
18529
18266
  }
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 {
18267
+ .c-chart__heatmap-axis-label {
18543
18268
  font-size: 0.75rem;
18544
18269
  font-weight: 500;
18545
- fill: var(--atomix-tertiary-text-emphasis);
18270
+ fill: var(--atomix-secondary-text-emphasis);
18271
+ text-anchor: middle;
18272
+ dominant-baseline: middle;
18546
18273
  pointer-events: none;
18274
+ -webkit-user-select: none;
18275
+ -moz-user-select: none;
18276
+ user-select: none;
18547
18277
  }
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;
18278
+ .c-chart__heatmap-legend-title {
18279
+ font-size: 0.875rem;
18280
+ font-weight: 600;
18281
+ fill: var(--atomix-text-primary);
18282
+ text-anchor: start;
18283
+ dominant-baseline: baseline;
18284
+ pointer-events: none;
18285
+ -webkit-user-select: none;
18286
+ -moz-user-select: none;
18287
+ user-select: none;
18562
18288
  }
18563
- .c-chart--radar .c-chart__canvas .c-chart__radar-label {
18289
+ .c-chart__heatmap-legend-label {
18564
18290
  font-size: 0.75rem;
18291
+ font-weight: 400;
18565
18292
  fill: var(--atomix-secondary-text-emphasis);
18293
+ text-anchor: start;
18294
+ dominant-baseline: middle;
18295
+ pointer-events: none;
18296
+ -webkit-user-select: none;
18297
+ -moz-user-select: none;
18298
+ user-select: none;
18566
18299
  }
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;
18300
+ .c-chart__candlestick-candle {
18301
+ stroke: var(--atomix-border-color);
18302
+ stroke-width: 1;
18303
+ rx: 0.25rem;
18304
+ ry: 0.25rem;
18305
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18306
+ cursor: pointer;
18307
+ shape-rendering: geometricPrecision;
18572
18308
  }
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);
18309
+ .c-chart__candlestick-candle:hover {
18310
+ opacity: 0.9;
18311
+ stroke-width: 1.5;
18312
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18576
18313
  }
18577
- .c-chart--radar .c-chart__canvas .c-chart__radar-line:hover {
18578
- stroke-width: 3 !important;
18314
+ .c-chart__candlestick-candle:focus-visible {
18315
+ outline: 2px solid var(--atomix-focus-border-color);
18316
+ outline-offset: 2px;
18317
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18579
18318
  }
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;
18319
+ .c-chart__candlestick-wick {
18320
+ stroke: var(--atomix-tertiary-text-emphasis);
18321
+ stroke-width: 1;
18322
+ opacity: 0.8;
18584
18323
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18324
+ shape-rendering: geometricPrecision;
18585
18325
  }
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));
18326
+ .c-chart__candlestick-wick:hover {
18327
+ opacity: 1;
18328
+ stroke-width: 1.2;
18589
18329
  }
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;
18330
+ .c-chart__candlestick-volume {
18594
18331
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18595
- animation: chart-fade-in 0.6s ease-out;
18332
+ cursor: pointer;
18333
+ shape-rendering: geometricPrecision;
18596
18334
  }
18597
- .c-chart--candlestick .c-chart__canvas .candlestick--bullish,
18598
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bullish {
18599
- opacity: 0.8;
18335
+ .c-chart__candlestick-volume:hover {
18336
+ opacity: 0.6;
18600
18337
  }
18601
- .c-chart--candlestick .c-chart__canvas .candlestick--bearish,
18602
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bearish {
18603
- opacity: 1;
18338
+ .c-chart__bar {
18339
+ rx: 0.25rem;
18340
+ ry: 0.25rem;
18341
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18342
+ cursor: pointer;
18343
+ shape-rendering: geometricPrecision;
18604
18344
  }
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));
18345
+ .c-chart__bar:hover {
18346
+ opacity: 0.85;
18347
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18609
18348
  }
18610
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick-highlight {
18611
- stroke-width: 2;
18612
- opacity: 0.5;
18349
+ .c-chart__bar--hovered {
18350
+ opacity: 0.85;
18351
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18613
18352
  }
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;
18353
+ .c-chart__bar:focus-visible {
18354
+ outline: 2px solid var(--atomix-focus-border-color);
18355
+ outline-offset: 2px;
18356
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18618
18357
  }
18619
- .c-chart--candlestick .c-chart__canvas .wick--hovered,
18620
- .c-chart--candlestick .c-chart__canvas .c-chart__wick--hovered {
18621
- stroke-width: 2;
18358
+ .c-chart__bar-value-label {
18359
+ font-size: 0.75rem;
18360
+ font-weight: 500;
18361
+ fill: var(--atomix-text-primary);
18362
+ text-anchor: middle;
18363
+ pointer-events: none;
18364
+ -webkit-user-select: none;
18365
+ -moz-user-select: none;
18366
+ user-select: none;
18622
18367
  }
18623
- .c-chart--candlestick .c-chart__canvas .c-chart__moving-average {
18624
- stroke-width: 2;
18625
- opacity: 0.8;
18368
+ .c-chart__line-path {
18369
+ fill: none;
18370
+ stroke-linecap: round;
18371
+ stroke-linejoin: round;
18372
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18373
+ shape-rendering: geometricPrecision;
18626
18374
  }
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);
18375
+ .c-chart__area-path {
18376
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18377
+ shape-rendering: geometricPrecision;
18630
18378
  }
18631
- .c-chart--candlestick .c-chart__canvas .volume-bar:hover {
18632
- opacity: 0.6;
18379
+ .c-chart__area-fill {
18380
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18381
+ shape-rendering: geometricPrecision;
18633
18382
  }
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;
18383
+ .c-chart__area-point {
18384
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18385
+ cursor: pointer;
18386
+ shape-rendering: geometricPrecision;
18638
18387
  }
18639
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-zone {
18640
- stroke: var(--atomix-primary-bg-subtle);
18641
- stroke-width: 2;
18388
+ .c-chart__area-point:hover {
18389
+ transform: scale(1.2);
18642
18390
  }
18643
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--major {
18644
- stroke: var(--atomix-secondary-text-emphasis);
18645
- stroke-width: 2;
18391
+ .c-chart__area-point--hovered {
18392
+ transform: scale(1.2);
18646
18393
  }
18647
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--minor {
18648
- stroke: var(--atomix-tertiary-text-emphasis);
18649
- stroke-width: 1;
18394
+ .c-chart__area-point:focus-visible {
18395
+ outline: 2px solid var(--atomix-focus-border-color);
18396
+ outline-offset: 2px;
18397
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18650
18398
  }
18651
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick-label {
18399
+ .c-chart__point-label {
18652
18400
  font-size: 0.75rem;
18653
- fill: var(--atomix-secondary-text-emphasis);
18401
+ font-weight: 500;
18402
+ text-anchor: middle;
18403
+ pointer-events: none;
18404
+ -webkit-user-select: none;
18405
+ -moz-user-select: none;
18406
+ user-select: none;
18654
18407
  }
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);
18408
+ .c-chart__pie-slice {
18409
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
18410
+ cursor: pointer;
18411
+ shape-rendering: geometricPrecision;
18659
18412
  }
18660
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-line {
18413
+ .c-chart__pie-slice:hover {
18661
18414
  stroke-width: 3;
18662
- stroke-linecap: round;
18415
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18663
18416
  }
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;
18417
+ .c-chart__pie-slice--hovered {
18418
+ stroke-width: 3;
18419
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18667
18420
  }
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);
18421
+ .c-chart__pie-slice:focus-visible {
18422
+ outline: 2px solid var(--atomix-focus-border-color);
18423
+ outline-offset: 2px;
18424
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18672
18425
  }
18673
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-label {
18674
- font-size: 0.875rem;
18675
- fill: var(--atomix-secondary-text-emphasis);
18426
+ .c-chart__pie-label {
18427
+ font-size: 0.75rem;
18428
+ font-weight: 500;
18429
+ fill: var(--atomix-text-primary);
18430
+ text-anchor: middle;
18431
+ dominant-baseline: middle;
18432
+ pointer-events: none;
18433
+ -webkit-user-select: none;
18434
+ -moz-user-select: none;
18435
+ user-select: none;
18436
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18676
18437
  }
18677
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment {
18678
- stroke: var(--atomix-primary-bg-subtle);
18679
- stroke-width: 2;
18438
+ .c-chart__donut-slice {
18439
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
18680
18440
  cursor: pointer;
18681
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18441
+ shape-rendering: geometricPrecision;
18442
+ transform-origin: center;
18682
18443
  }
18683
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment--animated {
18684
- transition: all 1s ease-out;
18444
+ .c-chart__donut-slice:hover {
18445
+ transform: scale(1.02);
18446
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18685
18447
  }
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));
18448
+ .c-chart__donut-slice--hovered {
18449
+ transform: scale(1.02);
18450
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18689
18451
  }
18690
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label {
18691
- font-size: 0.875rem;
18692
- font-weight: 700;
18452
+ .c-chart__donut-slice:focus-visible {
18453
+ outline: 2px solid var(--atomix-focus-border-color);
18454
+ outline-offset: 2px;
18455
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18456
+ }
18457
+ .c-chart__donut-label {
18458
+ font-size: 0.75rem;
18459
+ font-weight: 500;
18460
+ fill: var(--atomix-text-primary);
18461
+ text-anchor: middle;
18462
+ dominant-baseline: middle;
18693
18463
  pointer-events: none;
18464
+ -webkit-user-select: none;
18465
+ -moz-user-select: none;
18466
+ user-select: none;
18467
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18694
18468
  }
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);
18469
+ .c-chart__donut-percentage {
18470
+ font-size: 0.75rem;
18471
+ font-weight: 600;
18472
+ fill: var(--atomix-secondary-text-emphasis);
18473
+ text-anchor: middle;
18474
+ dominant-baseline: middle;
18475
+ pointer-events: none;
18476
+ -webkit-user-select: none;
18477
+ -moz-user-select: none;
18478
+ user-select: none;
18698
18479
  }
18699
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--outside {
18700
- fill: var(--atomix-primary-text-emphasis);
18480
+ .c-chart__donut-center-label {
18481
+ font-size: 0.875rem;
18482
+ font-weight: 500;
18483
+ fill: var(--atomix-secondary-text-emphasis);
18484
+ text-anchor: middle;
18485
+ dominant-baseline: middle;
18486
+ pointer-events: none;
18487
+ -webkit-user-select: none;
18488
+ -moz-user-select: none;
18489
+ user-select: none;
18701
18490
  }
18702
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value {
18703
- font-size: 0.75rem;
18491
+ .c-chart__donut-center-value {
18492
+ font-size: 1.25rem;
18493
+ font-weight: 700;
18494
+ fill: var(--atomix-text-primary);
18495
+ text-anchor: middle;
18496
+ dominant-baseline: middle;
18704
18497
  pointer-events: none;
18498
+ -webkit-user-select: none;
18499
+ -moz-user-select: none;
18500
+ user-select: none;
18705
18501
  }
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);
18502
+ .c-chart__scatter-point {
18503
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18504
+ cursor: pointer;
18505
+ shape-rendering: geometricPrecision;
18709
18506
  }
18710
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--outside {
18711
- fill: var(--atomix-secondary-text-emphasis);
18507
+ .c-chart__scatter-point:hover {
18508
+ transform: scale(1.2);
18509
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18712
18510
  }
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;
18511
+ .c-chart__scatter-point:focus-visible {
18512
+ outline: 2px solid var(--atomix-focus-border-color);
18513
+ outline-offset: 2px;
18514
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18717
18515
  }
18718
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-axis-label {
18516
+ .c-chart__scatter-label {
18719
18517
  font-size: 0.75rem;
18720
- fill: var(--atomix-gray-7);
18721
18518
  font-weight: 500;
18519
+ fill: var(--atomix-text-primary);
18520
+ text-anchor: middle;
18521
+ pointer-events: none;
18722
18522
  -webkit-user-select: none;
18723
18523
  -moz-user-select: none;
18724
18524
  user-select: none;
18725
18525
  }
18726
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell {
18526
+ .c-chart__bubble {
18527
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18727
18528
  cursor: pointer;
18728
- transition: all 0.2s ease;
18729
- shape-rendering: crispEdges;
18529
+ shape-rendering: geometricPrecision;
18730
18530
  }
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;
18531
+ .c-chart__bubble:hover {
18532
+ transform: scale(1.1);
18533
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18736
18534
  }
18737
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--hovered {
18535
+ .c-chart__bubble--hovered {
18738
18536
  transform: scale(1.1);
18739
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
18740
- z-index: 10;
18537
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
18741
18538
  }
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;
18539
+ .c-chart__bubble:focus-visible {
18540
+ outline: 2px solid var(--atomix-focus-border-color);
18541
+ outline-offset: 2px;
18542
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18745
18543
  }
18746
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value {
18747
- font-size: 9px;
18544
+ .c-chart__bubble-label {
18545
+ font-size: 0.75rem;
18748
18546
  font-weight: 500;
18547
+ fill: var(--atomix-text-primary);
18548
+ text-anchor: middle;
18549
+ dominant-baseline: middle;
18749
18550
  pointer-events: none;
18750
18551
  -webkit-user-select: none;
18751
18552
  -moz-user-select: none;
18752
18553
  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
18554
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
18759
18555
  }
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;
18765
- }
18766
- .c-chart--heatmap .c-chart__canvas.c-chart--grid .c-chart__heatmap-cell {
18767
- rx: 4;
18768
- }
18769
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node {
18770
- cursor: pointer;
18771
- stroke: var(--atomix-primary-bg-subtle);
18556
+ .c-chart__radar-grid-line {
18557
+ stroke: var(--atomix-border-color);
18772
18558
  stroke-width: 1;
18773
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18774
- }
18775
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--animated {
18776
- transition: all 750ms ease-out;
18777
- }
18778
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--hovered {
18779
- opacity: 0.8;
18780
- }
18781
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--selected {
18782
- stroke-width: 2;
18559
+ opacity: 0.3;
18560
+ shape-rendering: geometricPrecision;
18783
18561
  }
18784
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-label {
18562
+ .c-chart__radar-axis-label {
18785
18563
  font-size: 0.75rem;
18786
- font-weight: 700;
18787
- fill: var(--atomix-invert-text-emphasis);
18564
+ font-weight: 500;
18565
+ fill: var(--atomix-secondary-text-emphasis);
18566
+ text-anchor: middle;
18567
+ dominant-baseline: middle;
18788
18568
  pointer-events: none;
18569
+ -webkit-user-select: none;
18570
+ -moz-user-select: none;
18571
+ user-select: none;
18789
18572
  }
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;
18573
+ .c-chart__radar-area {
18574
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18575
+ shape-rendering: geometricPrecision;
18795
18576
  }
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;
18577
+ .c-chart__radar-line {
18800
18578
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18579
+ shape-rendering: geometricPrecision;
18580
+ stroke-linecap: round;
18581
+ stroke-linejoin: round;
18801
18582
  }
18802
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar--animated {
18803
- transition: all 1s ease-out;
18583
+ .c-chart__radar-point {
18584
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18585
+ cursor: pointer;
18586
+ shape-rendering: geometricPrecision;
18804
18587
  }
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));
18588
+ .c-chart__radar-point:hover {
18589
+ transform: scale(1.3);
18590
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18808
18591
  }
18809
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value {
18810
- font-size: 0.75rem;
18811
- font-weight: 700;
18812
- pointer-events: none;
18592
+ .c-chart__radar-point--hovered {
18593
+ transform: scale(1.3);
18594
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18595
+ }
18596
+ .c-chart__radar-point:focus-visible {
18597
+ outline: 2px solid var(--atomix-focus-border-color);
18598
+ outline-offset: 2px;
18599
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18813
18600
  }
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);
18601
+ .c-chart__waterfall-bar {
18602
+ rx: 0.25rem;
18603
+ ry: 0.25rem;
18604
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18605
+ cursor: pointer;
18606
+ shape-rendering: geometricPrecision;
18817
18607
  }
18818
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--outside {
18819
- fill: var(--atomix-primary-text-emphasis);
18608
+ .c-chart__waterfall-bar:hover {
18609
+ opacity: 0.85;
18610
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
18820
18611
  }
18821
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-connector {
18822
- stroke-width: 2;
18823
- opacity: 0.7;
18612
+ .c-chart__waterfall-bar--animated {
18613
+ animation: chart-bar-appear 1s ease-out;
18614
+ transform-origin: bottom center;
18824
18615
  }
18825
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-line {
18826
- stroke-width: 3;
18827
- stroke-linecap: round;
18828
- stroke-linejoin: round;
18616
+ .c-chart__waterfall-bar:focus-visible {
18617
+ outline: 2px solid var(--atomix-focus-border-color);
18618
+ outline-offset: 2px;
18619
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18829
18620
  }
18830
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-point {
18831
- stroke: var(--atomix-primary-bg-subtle);
18832
- stroke-width: 2;
18621
+ .c-chart__waterfall-value {
18622
+ font-size: 0.75rem;
18623
+ font-weight: 600;
18624
+ fill: var(--atomix-text-primary);
18625
+ text-anchor: middle;
18626
+ pointer-events: none;
18627
+ -webkit-user-select: none;
18628
+ -moz-user-select: none;
18629
+ user-select: none;
18833
18630
  }
18834
- @keyframes chart-spin {
18835
- 0% {
18836
- transform: rotate(0deg);
18837
- }
18838
- 100% {
18839
- transform: rotate(360deg);
18840
- }
18631
+ .c-chart__waterfall-value--center {
18632
+ dominant-baseline: middle;
18841
18633
  }
18842
- @keyframes chart-shimmer {
18843
- 0% {
18844
- left: -100%;
18845
- }
18846
- 100% {
18847
- left: 100%;
18848
- }
18634
+ .c-chart__waterfall-value--outside {
18635
+ dominant-baseline: auto;
18849
18636
  }
18850
- @keyframes chart-pulse {
18851
- 0%, 100% {
18852
- opacity: 0.8;
18853
- }
18854
- 50% {
18855
- opacity: 1;
18856
- }
18637
+ .c-chart__waterfall-connector {
18638
+ stroke: var(--atomix-border-color);
18639
+ stroke-width: 1;
18640
+ opacity: 0.6;
18641
+ shape-rendering: geometricPrecision;
18857
18642
  }
18858
- @keyframes chart-draw-line {
18859
- 0% {
18860
- stroke-dashoffset: 1000;
18861
- }
18862
- 100% {
18863
- stroke-dashoffset: 0;
18864
- }
18643
+ .c-chart__waterfall-cumulative-line {
18644
+ stroke-width: 2;
18645
+ stroke-linecap: round;
18646
+ stroke-linejoin: round;
18647
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18648
+ shape-rendering: geometricPrecision;
18865
18649
  }
18866
- @keyframes chart-area-fade {
18867
- 0% {
18868
- opacity: 0;
18869
- }
18870
- 100% {
18871
- opacity: 0.3;
18872
- }
18650
+ .c-chart__waterfall-cumulative-point {
18651
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18652
+ cursor: pointer;
18653
+ shape-rendering: geometricPrecision;
18873
18654
  }
18874
- @keyframes chart-bar-grow {
18875
- 0% {
18876
- transform: scaleY(0);
18877
- }
18878
- 100% {
18879
- transform: scaleY(1);
18880
- }
18655
+ .c-chart__waterfall-cumulative-point:hover {
18656
+ transform: scale(1.3);
18881
18657
  }
18882
- @keyframes chart-bar-grow-horizontal {
18883
- 0% {
18884
- transform: scaleX(0);
18885
- }
18886
- 100% {
18887
- transform: scaleX(1);
18888
- }
18658
+ .c-chart__waterfall-cumulative-point:focus-visible {
18659
+ outline: 2px solid var(--atomix-focus-border-color);
18660
+ outline-offset: 2px;
18661
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
18889
18662
  }
18890
- @keyframes chart-pie-draw {
18891
- 0% {
18892
- stroke-dasharray: 0 628;
18663
+ @media (prefers-contrast: high) {
18664
+ .c-chart {
18665
+ border-width: calc(var(--atomix-border-width) * 2);
18893
18666
  }
18894
- 100% {
18895
- stroke-dasharray: 628 628;
18667
+ .c-chart--selected {
18668
+ border-width: calc(var(--atomix-border-width) * 3);
18896
18669
  }
18897
- }
18898
- @keyframes chart-donut-draw {
18899
- 0% {
18900
- stroke-dasharray: 0 628;
18670
+ .c-chart__action {
18671
+ border-width: calc(var(--atomix-border-width) * 2);
18901
18672
  }
18902
- 100% {
18903
- stroke-dasharray: 628 628;
18673
+ .c-chart__action:focus-visible {
18674
+ outline-width: calc(var(--atomix-border-width) * 3);
18904
18675
  }
18905
- }
18906
- @keyframes chart-fade-in {
18907
- 0% {
18908
- opacity: 0;
18909
- transform: translateY(10px);
18676
+ .c-chart__data-point {
18677
+ stroke-width: 2;
18910
18678
  }
18911
- 100% {
18912
- opacity: 1;
18913
- transform: translateY(0);
18679
+ .c-chart__data-point--selected {
18680
+ stroke-width: 3;
18914
18681
  }
18915
- }
18916
- @keyframes chart-scale-in {
18917
- 0% {
18918
- opacity: 0;
18919
- transform: scale(0.3);
18682
+ .c-chart__grid {
18683
+ stroke-width: 1;
18684
+ opacity: 0.6;
18920
18685
  }
18921
- 60% {
18686
+ .c-chart__grid--major {
18687
+ stroke-width: 1.5;
18922
18688
  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
18689
  }
18935
- 100% {
18690
+ .c-chart__grid--zero {
18691
+ stroke-width: 2;
18936
18692
  opacity: 1;
18937
- transform: translateX(0);
18938
- }
18939
- }
18940
- @keyframes chart-bubble-grow {
18941
- 0% {
18942
- transform: scale(0);
18943
18693
  }
18944
- 100% {
18945
- transform: scale(1);
18694
+ .c-chart__treemap-node {
18695
+ stroke-width: 2;
18946
18696
  }
18947
- }
18948
- @keyframes chart-dash-flow {
18949
- 0% {
18950
- stroke-dashoffset: 0;
18697
+ .c-chart__treemap-node--selected {
18698
+ stroke-width: 3;
18951
18699
  }
18952
- 100% {
18953
- stroke-dashoffset: 10;
18700
+ .c-chart__treemap-node:focus-visible {
18701
+ outline-width: calc(var(--atomix-border-width) * 3);
18954
18702
  }
18955
- }
18956
- @keyframes chart-glow {
18957
- 0%, 100% {
18958
- filter: drop-shadow(0 0 5px currentColor);
18703
+ .c-chart__funnel-segment {
18704
+ stroke-width: 2;
18959
18705
  }
18960
- 50% {
18961
- filter: drop-shadow(0 0 15px currentColor);
18706
+ .c-chart__funnel-segment:focus-visible {
18707
+ outline-width: calc(var(--atomix-border-width) * 3);
18962
18708
  }
18963
- }
18964
- @keyframes chart-pulse-dot {
18965
- 0%, 100% {
18966
- opacity: 1;
18967
- transform: scale(1);
18709
+ .c-chart__heatmap-cell {
18710
+ stroke-width: 2;
18968
18711
  }
18969
- 50% {
18970
- opacity: 0.5;
18971
- transform: scale(1.2);
18712
+ .c-chart__heatmap-cell--hovered {
18713
+ stroke-width: 3;
18972
18714
  }
18973
- }
18974
- @keyframes chart-zoom-in {
18975
- 0% {
18976
- transform: scale(0.8);
18977
- opacity: 0;
18715
+ .c-chart__heatmap-cell:focus-visible {
18716
+ outline-width: calc(var(--atomix-border-width) * 3);
18978
18717
  }
18979
- 100% {
18980
- transform: scale(1);
18981
- opacity: 1;
18718
+ .c-chart__candlestick-candle {
18719
+ stroke-width: 2;
18982
18720
  }
18983
- }
18984
- @keyframes chart-slide-up {
18985
- 0% {
18986
- transform: translateY(20px);
18987
- opacity: 0;
18721
+ .c-chart__candlestick-candle:focus-visible {
18722
+ outline-width: calc(var(--atomix-border-width) * 3);
18988
18723
  }
18989
- 100% {
18990
- transform: translateY(0);
18724
+ .c-chart__candlestick-wick {
18725
+ stroke-width: 2;
18991
18726
  opacity: 1;
18992
18727
  }
18993
18728
  }
18994
- @media (max-width: 768px) {
18729
+ @media (prefers-reduced-motion: reduce) {
18995
18730
  .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;
18731
+ transition: none;
18732
+ animation: none;
19003
18733
  }
19004
- .c-chart__toolbar {
19005
- width: 100%;
19006
- justify-content: flex-end;
19007
- padding: 0.5rem;
19008
- gap: 0.5rem;
18734
+ .c-chart::before, .c-chart::after {
18735
+ animation: none;
18736
+ transition: none;
19009
18737
  }
19010
- }
19011
- @media (max-width: 768px) and (max-width: 480px) {
19012
- .c-chart__toolbar {
19013
- flex-wrap: wrap;
19014
- justify-content: center;
18738
+ .c-chart--elevated {
18739
+ transform: none;
19015
18740
  }
19016
- }
19017
- @media (max-width: 768px) {
19018
- .c-chart__action {
19019
- width: 2.25rem;
19020
- height: 2.25rem;
18741
+ .c-chart--elevated:hover {
18742
+ transform: none;
19021
18743
  }
19022
- .c-chart__action svg {
19023
- width: 1.125rem;
19024
- height: 1.125rem;
18744
+ .c-chart--clickable {
18745
+ transition: none;
19025
18746
  }
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;
18747
+ .c-chart--clickable:hover {
18748
+ transform: none;
19034
18749
  }
19035
- .c-chart__legend {
19036
- flex-direction: column;
19037
- gap: 0.5rem;
18750
+ .c-chart--clickable:active {
18751
+ transform: none;
19038
18752
  }
19039
- .c-chart__legend-item {
19040
- justify-content: space-between;
19041
- width: 100%;
18753
+ .c-chart__action {
18754
+ transition: none;
19042
18755
  }
19043
- .c-chart:hover {
18756
+ .c-chart__action:hover {
19044
18757
  transform: none;
19045
18758
  }
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;
18759
+ .c-chart__action svg {
18760
+ transition: none;
19052
18761
  }
19053
- .c-chart__title {
19054
- font-size: 1.125rem;
19055
- margin-bottom: 0.25rem;
18762
+ .c-chart__action svg:hover {
18763
+ transform: none;
19056
18764
  }
19057
- .c-chart__subtitle {
19058
- font-size: 0.75rem;
18765
+ .c-chart__data-point {
18766
+ transition: none;
19059
18767
  }
19060
- .c-chart__toolbar {
19061
- padding: 0.25rem;
19062
- gap: 0.25rem;
19063
- border-radius: 0.25rem;
18768
+ .c-chart__data-point--hovered {
18769
+ transform: none;
19064
18770
  }
19065
- .c-chart__action {
19066
- width: 1.75rem;
19067
- height: 1.75rem;
19068
- font-size: 0.75rem;
18771
+ .c-chart__treemap-node {
18772
+ transition: none;
19069
18773
  }
19070
- .c-chart__action svg {
19071
- width: 0.875rem;
19072
- height: 0.875rem;
18774
+ .c-chart__treemap-node:hover {
18775
+ transform: none;
19073
18776
  }
19074
- .c-chart__export-option {
19075
- padding: 0.25rem 0.5rem;
19076
- font-size: 0.6875rem;
18777
+ .c-chart__treemap-node--hovered {
18778
+ transform: none;
19077
18779
  }
19078
- }
19079
- @media (prefers-reduced-motion: reduce) {
19080
- .c-chart {
18780
+ .c-chart__funnel-segment {
19081
18781
  transition: none;
19082
18782
  }
19083
- .c-chart:hover {
18783
+ .c-chart__funnel-segment:hover {
19084
18784
  transform: none;
19085
18785
  }
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;
18786
+ .c-chart__heatmap-cell {
18787
+ transition: none;
19092
18788
  }
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;
18789
+ .c-chart__heatmap-cell:hover {
18790
+ transform: none;
19110
18791
  }
19111
- .c-chart__grid {
19112
- stroke-width: 2;
19113
- opacity: 0.8;
19114
- stroke: black;
18792
+ .c-chart__heatmap-cell--hovered {
18793
+ transform: none;
19115
18794
  }
19116
- .c-chart__title {
19117
- color: black;
18795
+ .c-chart__candlestick-candle {
18796
+ transition: none;
19118
18797
  }
19119
- .c-chart__data-point {
19120
- stroke: black;
19121
- stroke-width: 2;
18798
+ .c-chart__candlestick-candle:hover {
18799
+ transform: none;
19122
18800
  }
19123
- .c-chart__crosshair line {
19124
- stroke: black;
19125
- opacity: 1;
18801
+ .c-chart__candlestick-wick {
18802
+ transition: none;
19126
18803
  }
19127
- .c-chart__zoom-indicator {
19128
- background: black;
19129
- color: white;
19130
- border: 2px solid white;
18804
+ .c-chart__candlestick-volume {
18805
+ transition: none;
19131
18806
  }
19132
- .c-chart .line-path {
19133
- stroke-width: 3 !important;
18807
+ .c-chart__empty {
18808
+ animation: none;
19134
18809
  }
19135
- .c-chart .bar {
19136
- stroke: black;
19137
- stroke-width: 2;
18810
+ .c-chart--loading .c-chart__content::after {
18811
+ animation: none;
19138
18812
  }
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;
18813
+ .c-chart__waterfall-bar--animated {
18814
+ animation: none;
19148
18815
  }
19149
- .c-chart__toolbar {
19150
- display: none;
18816
+ .c-chart__canvas svg {
18817
+ animation: none;
18818
+ opacity: 1;
19151
18819
  }
19152
- .c-chart__crosshair, .c-chart__zoom-indicator, .c-chart__real-time-indicator {
19153
- display: none;
18820
+ }
18821
+ @keyframes chart-bar-appear {
18822
+ 0% {
18823
+ opacity: 0;
18824
+ transform: scaleY(0);
19154
18825
  }
19155
- .c-chart * {
19156
- animation: none !important;
19157
- transition: none !important;
18826
+ 100% {
18827
+ opacity: 1;
18828
+ transform: scaleY(1);
19158
18829
  }
19159
18830
  }
19160
18831
  .c-checkbox-group {
@@ -19278,23 +18949,50 @@ a, a:hover {
19278
18949
  cursor: pointer;
19279
18950
  padding: 0.5rem;
19280
18951
  border-radius: 50%;
19281
- transition: background-color 0.2s ease;
18952
+ transition: background-color 0.2s ease, opacity 0.2s ease;
19282
18953
  color: var(--atomix-body-color);
19283
18954
  }
19284
- .c-color-mode-toggle:hover {
18955
+ .c-color-mode-toggle:hover:not(:disabled) {
19285
18956
  background-color: rgba(0, 0, 0, 0.05);
19286
18957
  }
19287
- .c-color-mode-toggle:focus {
18958
+ .c-color-mode-toggle:focus-visible {
19288
18959
  outline: none;
19289
18960
  box-shadow: 0 0 0 2px var(--atomix-primary);
19290
18961
  }
18962
+ .c-color-mode-toggle:active:not(:disabled) {
18963
+ transform: scale(0.95);
18964
+ }
19291
18965
  .c-color-mode-toggle svg {
19292
- width: 1.5rem;
19293
- height: 1.5rem;
18966
+ display: block;
18967
+ transition: transform 0.2s ease;
18968
+ }
18969
+ .c-color-mode-toggle--sm {
18970
+ padding: 0.375rem;
19294
18971
  }
19295
- [data-atomix-theme=dark] .c-color-mode-toggle:hover {
18972
+ .c-color-mode-toggle--md {
18973
+ padding: 0.5rem;
18974
+ }
18975
+ .c-color-mode-toggle--lg {
18976
+ padding: 0.625rem;
18977
+ }
18978
+ .c-color-mode-toggle--disabled, .c-color-mode-toggle:disabled {
18979
+ cursor: not-allowed;
18980
+ opacity: 0.5;
18981
+ }
18982
+ [data-atomix-theme=dark] .c-color-mode-toggle:hover:not(:disabled) {
19296
18983
  background-color: rgba(255, 255, 255, 0.1);
19297
18984
  }
18985
+ @media (prefers-reduced-motion: reduce) {
18986
+ .c-color-mode-toggle {
18987
+ transition: none;
18988
+ }
18989
+ .c-color-mode-toggle svg {
18990
+ transition: none;
18991
+ }
18992
+ .c-color-mode-toggle:active:not(:disabled) {
18993
+ transform: none;
18994
+ }
18995
+ }
19298
18996
  .c-countdown {
19299
18997
  --atomix-countdown-color: var(--atomix-body-color);
19300
18998
  --atomix-countdown-font-size: 16px;
@@ -19534,20 +19232,27 @@ a, a:hover {
19534
19232
  display: flex;
19535
19233
  opacity: 0;
19536
19234
  visibility: hidden;
19537
- transform-origin: top center;
19538
19235
  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
19236
  pointer-events: none;
19237
+ }
19238
+ .c-dropdown__menu-wrapper:not(.is-glass) {
19541
19239
  will-change: transform, opacity, visibility;
19240
+ transform: translateY(-15px) scale(0.95);
19241
+ transform-origin: top center;
19542
19242
  }
19543
- .c-dropdown__menu-wrapper.is-open {
19243
+ .c-dropdown__menu-wrapper.is-open:not(.is-glass) {
19544
19244
  opacity: 1;
19545
19245
  transform: translateY(0) scale(1);
19546
19246
  visibility: visible;
19547
19247
  animation: atomix-dropdown-fade-in var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
19548
19248
  pointer-events: auto;
19549
19249
  }
19550
- .c-dropdown__menu-wrapper:not(.is-open) {
19250
+ .c-dropdown__menu-wrapper.is-open.is-glass {
19251
+ opacity: 1;
19252
+ visibility: visible;
19253
+ pointer-events: auto;
19254
+ }
19255
+ .c-dropdown__menu-wrapper:not(.is-open):not(.is-glass) {
19551
19256
  animation: atomix-dropdown-fade-out var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
19552
19257
  }
19553
19258
  .c-dropdown__menu-wrapper--bottom-start {
@@ -20068,22 +19773,41 @@ a, a:hover {
20068
19773
  --atomix-footer-padding-x: 1rem;
20069
19774
  --atomix-footer-padding-y: 3rem;
20070
19775
  --atomix-footer-container-max-width: 1200px;
20071
- --atomix-footer-bg: var(--atomix-surface);
20072
- --atomix-footer-color: var(--atomix-text);
19776
+ --atomix-footer-bg: var(--atomix-primary-bg);
19777
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
20073
19778
  --atomix-footer-border-width: 1px;
20074
- --atomix-footer-border-color: var(--atomix-border);
19779
+ --atomix-footer-border-color: var(--atomix-primary-border-subtle);
20075
19780
  --atomix-footer-brand-margin-bottom: 1.5rem;
20076
19781
  --atomix-footer-section-margin-bottom: 2rem;
20077
19782
  --atomix-footer-social-gap: 0.75rem;
20078
19783
  --atomix-footer-newsletter-padding: 1.5rem;
20079
19784
  --atomix-footer-bottom-padding-top: 1.5rem;
20080
19785
  --atomix-footer-bottom-margin-top: 2rem;
19786
+ --atomix-footer-brand-logo-margin-bottom: 1rem;
19787
+ --atomix-footer-brand-logo-hover-opacity: 0.8;
19788
+ --atomix-footer-section-header-gap: 0.5rem;
19789
+ --atomix-footer-section-toggle-padding: 0.75rem 0;
19790
+ --atomix-footer-bg-rgb: var(--atomix-primary-bg);
19791
+ --atomix-disabled-opacity: 0.6;
20081
19792
  background-color: var(--atomix-footer-bg);
20082
19793
  color: var(--atomix-footer-color);
20083
19794
  border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
20084
19795
  padding: var(--atomix-footer-padding-y) 0;
20085
19796
  position: relative;
20086
19797
  }
19798
+ .c-footer--glass {
19799
+ padding: 0;
19800
+ margin: 0;
19801
+ border-radius: 0;
19802
+ box-shadow: none;
19803
+ background: transparent;
19804
+ }
19805
+ .c-footer--glass .c-footer__glass {
19806
+ background-color: rgba(var(--atomix-footer-bg-rgb), 0.5, true);
19807
+ color: var(--atomix-footer-color);
19808
+ border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
19809
+ padding: var(--atomix-footer-padding-y) 0;
19810
+ }
20087
19811
  .c-footer__container {
20088
19812
  display: flex;
20089
19813
  flex-direction: column;
@@ -20093,28 +19817,42 @@ a, a:hover {
20093
19817
  padding: 0 var(--atomix-footer-padding-x);
20094
19818
  }
20095
19819
  .c-footer__sections {
20096
- display: grid;
20097
- grid-gap: var(--atomix-footer-section-margin-bottom);
20098
- gap: var(--atomix-footer-section-margin-bottom);
20099
19820
  margin-bottom: var(--atomix-footer-bottom-margin-top);
20100
- grid-template-columns: 1fr;
19821
+ width: 100%;
19822
+ max-width: var(--atomix-footer-container-max-width);
19823
+ margin-left: auto;
19824
+ margin-right: auto;
20101
19825
  }
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
- }
19826
+ .c-footer__sections--centered {
19827
+ justify-content: center;
19828
+ align-items: center;
19829
+ }
19830
+ .c-footer__sections--stacked {
19831
+ display: flex;
19832
+ flex-direction: column;
19833
+ align-items: center;
19834
+ text-align: center;
19835
+ gap: clamp(1.5rem, 4vw, 2.5rem);
19836
+ max-width: 600px;
19837
+ margin-left: auto;
19838
+ margin-right: auto;
20107
19839
  }
20108
19840
  .c-footer__brand {
19841
+ grid-area: brand;
20109
19842
  margin-bottom: var(--atomix-footer-brand-margin-bottom);
20110
19843
  }
19844
+ @media (min-width: 768px) {
19845
+ .c-footer__brand {
19846
+ margin-bottom: 0;
19847
+ }
19848
+ }
20111
19849
  .c-footer__brand-logo {
20112
19850
  display: inline-block;
20113
- margin-bottom: 1rem;
19851
+ margin-bottom: var(--atomix-footer-brand-logo-margin-bottom);
20114
19852
  transition: opacity 0.2s ease;
20115
19853
  }
20116
19854
  .c-footer__brand-logo:hover {
20117
- opacity: 0.8;
19855
+ opacity: var(--atomix-footer-brand-logo-hover-opacity);
20118
19856
  }
20119
19857
  .c-footer__brand-logo img {
20120
19858
  max-width: 200px;
@@ -20127,18 +19865,23 @@ a, a:hover {
20127
19865
  margin: 0;
20128
19866
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
20129
19867
  font-weight: 600;
20130
- color: var(--atomix-text-emphasis);
19868
+ color: var(--atomix-primary-text-emphasis);
20131
19869
  line-height: 1.2;
20132
19870
  }
20133
19871
  .c-footer__brand-description {
20134
19872
  margin-top: 0.5rem;
20135
19873
  font-size: 0.875rem;
20136
- color: var(--atomix-text-muted);
19874
+ color: var(--atomix-secondary-text-emphasis);
20137
19875
  line-height: 1.6;
20138
19876
  max-width: 35ch;
20139
19877
  }
20140
19878
  .c-footer__section {
20141
- margin-bottom: var(--atomix-footer-section-margin-bottom);
19879
+ margin-bottom: 0;
19880
+ }
19881
+ @media (max-width: 575.98px) {
19882
+ .c-footer__section {
19883
+ margin-bottom: var(--atomix-footer-section-margin-bottom);
19884
+ }
20142
19885
  }
20143
19886
  .c-footer__section-header {
20144
19887
  margin-bottom: 1rem;
@@ -20146,14 +19889,14 @@ a, a:hover {
20146
19889
  .c-footer__section-header-content {
20147
19890
  display: flex;
20148
19891
  align-items: center;
20149
- gap: 0.5rem;
19892
+ gap: var(--atomix-footer-section-header-gap);
20150
19893
  }
20151
19894
  .c-footer__section-toggle {
20152
19895
  display: flex;
20153
19896
  align-items: center;
20154
19897
  justify-content: space-between;
20155
19898
  width: 100%;
20156
- padding: 0.75rem 0;
19899
+ padding: var(--atomix-footer-section-toggle-padding);
20157
19900
  background: none;
20158
19901
  border: none;
20159
19902
  cursor: pointer;
@@ -20172,9 +19915,10 @@ a, a:hover {
20172
19915
  }
20173
19916
  .c-footer__section-title {
20174
19917
  margin: 0;
19918
+ width: 100%;
20175
19919
  font-size: 1.125rem;
20176
19920
  font-weight: 600;
20177
- color: var(--atomix-text-emphasis);
19921
+ color: var(--atomix-primary-text-emphasis);
20178
19922
  line-height: 1.3;
20179
19923
  }
20180
19924
  .c-footer__section-icon {
@@ -20186,7 +19930,7 @@ a, a:hover {
20186
19930
  .c-footer__section-chevron {
20187
19931
  font-size: 0.875rem;
20188
19932
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20189
- color: var(--atomix-text-muted);
19933
+ color: var(--atomix-gray-6);
20190
19934
  }
20191
19935
  .c-footer__section-content {
20192
19936
  display: flex;
@@ -20221,9 +19965,9 @@ a, a:hover {
20221
19965
  align-items: center;
20222
19966
  gap: 0.5rem;
20223
19967
  padding: 0.25rem 0;
20224
- color: var(--atomix-text);
19968
+ color: var(--atomix-primary-text-emphasis);
20225
19969
  text-decoration: none;
20226
- transition: color 0.15s ease-in-out;
19970
+ transition: all 0.15s ease-in-out;
20227
19971
  border-radius: 0.25rem;
20228
19972
  position: relative;
20229
19973
  }
@@ -20239,7 +19983,7 @@ a, a:hover {
20239
19983
  }
20240
19984
  .c-footer__link:hover, .c-footer__link:focus {
20241
19985
  color: var(--atomix-primary);
20242
- text-decoration: underline;
19986
+ text-decoration: none;
20243
19987
  }
20244
19988
  .c-footer__link:hover::before, .c-footer__link:focus::before {
20245
19989
  width: 100%;
@@ -20256,10 +20000,10 @@ a, a:hover {
20256
20000
  width: 100%;
20257
20001
  }
20258
20002
  .c-footer__link--disabled {
20259
- color: var(--atomix-text-disabled);
20003
+ color: var(--atomix-disabled-text-emphasis);
20260
20004
  cursor: not-allowed;
20261
20005
  pointer-events: none;
20262
- opacity: 0.6;
20006
+ opacity: var(--atomix-disabled-opacity);
20263
20007
  }
20264
20008
  .c-footer__link-icon {
20265
20009
  display: flex;
@@ -20290,11 +20034,11 @@ a, a:hover {
20290
20034
  justify-content: center;
20291
20035
  width: 2.5rem;
20292
20036
  height: 2.5rem;
20293
- background-color: var(--atomix-surface-variant);
20294
- color: var(--atomix-text);
20037
+ background-color: var(--atomix-secondary-bg-subtle);
20038
+ color: var(--atomix-primary-text-emphasis);
20295
20039
  border-radius: 50%;
20296
20040
  text-decoration: none;
20297
- transition: all 0.15s ease-in-out;
20041
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20298
20042
  position: relative;
20299
20043
  overflow: hidden;
20300
20044
  }
@@ -20308,7 +20052,7 @@ a, a:hover {
20308
20052
  }
20309
20053
  .c-footer__social-link:hover, .c-footer__social-link:focus {
20310
20054
  background-color: var(--atomix-primary);
20311
- color: var(--atomix-primary-contrast);
20055
+ color: var(--atomix-component-active-color);
20312
20056
  transform: translateY(-3px) scale(1.05);
20313
20057
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
20314
20058
  }
@@ -20328,7 +20072,7 @@ a, a:hover {
20328
20072
  height: 3rem;
20329
20073
  }
20330
20074
  .c-footer__social-link--disabled {
20331
- opacity: 0.5;
20075
+ opacity: var(--atomix-disabled-opacity);
20332
20076
  cursor: not-allowed;
20333
20077
  pointer-events: none;
20334
20078
  }
@@ -20375,7 +20119,7 @@ a, a:hover {
20375
20119
  background: linear-gradient(135deg, #25d366, #66bb6a);
20376
20120
  }
20377
20121
  .c-footer__newsletter {
20378
- background-color: linear-gradient(135deg, var(--atomix-surface-variant), rgba(var(--atomix-surface-variant), 0.8));
20122
+ background-color: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
20379
20123
  padding: 1.5rem;
20380
20124
  border-radius: 0.5rem;
20381
20125
  border: 1px solid var(--atomix-border-subtle);
@@ -20395,20 +20139,24 @@ a, a:hover {
20395
20139
  margin: 0 0 0.5rem 0;
20396
20140
  font-size: clamp(1.125rem, 2vw, 1.125rem);
20397
20141
  font-weight: 600;
20398
- color: var(--atomix-text-emphasis);
20142
+ color: var(--atomix-primary-text-emphasis);
20399
20143
  line-height: 1.3;
20400
20144
  }
20401
20145
  .c-footer__newsletter-description {
20402
20146
  margin: 0 0 1rem 0;
20403
20147
  font-size: 0.875rem;
20404
- color: var(--atomix-text-muted);
20148
+ color: var(--atomix-secondary-text-emphasis);
20405
20149
  line-height: 1.6;
20406
20150
  max-width: 45ch;
20151
+ width: 100%;
20152
+ box-sizing: border-box;
20407
20153
  }
20408
20154
  .c-footer__newsletter-form {
20409
20155
  display: flex;
20410
20156
  gap: 0.75rem;
20411
20157
  align-items: flex-end;
20158
+ width: 100%;
20159
+ max-width: 100%;
20412
20160
  }
20413
20161
  @media (max-width: 575.98px) {
20414
20162
  .c-footer__newsletter-form {
@@ -20431,12 +20179,13 @@ a, a:hover {
20431
20179
  flex: 1 1;
20432
20180
  padding: 0.75rem 1rem;
20433
20181
  font-size: 0.875rem;
20434
- background-color: var(--atomix-surface);
20435
- color: var(--atomix-text);
20436
- border: 1px solid var(--atomix-border);
20182
+ background-color: var(--atomix-primary-bg-subtle);
20183
+ color: var(--atomix-primary-text-emphasis);
20184
+ border: 1px solid var(--atomix-primary-border);
20437
20185
  border-radius: 0.375rem;
20438
20186
  outline: none;
20439
20187
  transition: all 0.3s ease;
20188
+ box-sizing: border-box;
20440
20189
  }
20441
20190
  .c-footer__newsletter-input:focus {
20442
20191
  border-color: var(--atomix-primary);
@@ -20444,12 +20193,12 @@ a, a:hover {
20444
20193
  transform: translateY(-1px);
20445
20194
  }
20446
20195
  .c-footer__newsletter-input::-moz-placeholder {
20447
- color: var(--atomix-text-muted);
20196
+ color: var(--atomix-gray-6);
20448
20197
  -moz-transition: opacity 0.3s ease;
20449
20198
  transition: opacity 0.3s ease;
20450
20199
  }
20451
20200
  .c-footer__newsletter-input::placeholder {
20452
- color: var(--atomix-text-muted);
20201
+ color: var(--atomix-gray-6);
20453
20202
  transition: opacity 0.3s ease;
20454
20203
  }
20455
20204
  .c-footer__newsletter-input:focus::-moz-placeholder {
@@ -20460,13 +20209,13 @@ a, a:hover {
20460
20209
  }
20461
20210
  .c-footer__newsletter-button {
20462
20211
  padding: 0.75rem 1.5rem;
20463
- background-color: var(--atomix-primary);
20464
- color: var(--atomix-primary-contrast);
20212
+ background-color: var(--atomix-brand-bg-subtle);
20213
+ color: var(--atomix-brand-text-emphasis);
20465
20214
  border: none;
20466
20215
  border-radius: 0.375rem;
20467
20216
  font-weight: 500;
20468
20217
  cursor: pointer;
20469
- transition: background-color 0.15s ease-in-out;
20218
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20470
20219
  white-space: nowrap;
20471
20220
  position: relative;
20472
20221
  overflow: hidden;
@@ -20480,7 +20229,7 @@ a, a:hover {
20480
20229
  transition: transform 0.6s ease;
20481
20230
  }
20482
20231
  .c-footer__newsletter-button:hover, .c-footer__newsletter-button:focus {
20483
- background-color: var(--atomix-primary-hover);
20232
+ background-color: var(--atomix-secondary-bg-subtle);
20484
20233
  transform: translateY(-2px);
20485
20234
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
20486
20235
  }
@@ -20496,7 +20245,7 @@ a, a:hover {
20496
20245
  align-items: center;
20497
20246
  justify-content: space-between;
20498
20247
  padding-top: var(--atomix-footer-bottom-padding-top);
20499
- border-top: 1px solid var(--atomix-border);
20248
+ border-top: 1px solid var(--atomix-primary-border-subtle);
20500
20249
  position: relative;
20501
20250
  }
20502
20251
  @media (max-width: 575.98px) {
@@ -20508,7 +20257,7 @@ a, a:hover {
20508
20257
  }
20509
20258
  .c-footer__copyright {
20510
20259
  font-size: 0.875rem;
20511
- color: var(--atomix-text-muted);
20260
+ color: var(--atomix-tertiary-text-emphasis);
20512
20261
  line-height: 1.5;
20513
20262
  }
20514
20263
  .c-footer__copyright a {
@@ -20525,16 +20274,18 @@ a, a:hover {
20525
20274
  align-items: center;
20526
20275
  gap: 0.5rem;
20527
20276
  padding: 0.75rem 1.25rem;
20528
- background-color: var(--atomix-surface-variant);
20277
+ background-color: var(--atomix-secondary-bg);
20529
20278
  border: 1px solid var(--atomix-border-subtle);
20530
- color: var(--atomix-text);
20279
+ color: var(--atomix-primary-text-emphasis);
20531
20280
  font-size: 0.875rem;
20532
20281
  font-weight: 500;
20533
20282
  cursor: pointer;
20534
- transition: color 0.15s ease-in-out;
20283
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20535
20284
  border-radius: 2rem;
20536
20285
  position: relative;
20537
20286
  overflow: hidden;
20287
+ text-decoration: none;
20288
+ outline: none;
20538
20289
  }
20539
20290
  .c-footer__back-to-top::before {
20540
20291
  content: "";
@@ -20542,14 +20293,14 @@ a, a:hover {
20542
20293
  inset: 0;
20543
20294
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
20544
20295
  transform: translateX(-100%);
20545
- transition: transform 0.6s ease;
20296
+ transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
20546
20297
  }
20547
20298
  .c-footer__back-to-top:hover, .c-footer__back-to-top:focus {
20548
- color: var(--atomix-primary);
20299
+ color: var(--atomix-secondary-text-emphasis);
20549
20300
  background-color: var(--atomix-primary);
20550
20301
  border-color: var(--atomix-primary);
20551
- transform: translateY(-2px);
20552
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
20302
+ transform: translateY(-3px);
20303
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
20553
20304
  }
20554
20305
  .c-footer__back-to-top:hover::before, .c-footer__back-to-top:focus::before {
20555
20306
  transform: translateX(100%);
@@ -20557,6 +20308,10 @@ a, a:hover {
20557
20308
  .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
20309
  transform: translateY(-2px);
20559
20310
  }
20311
+ .c-footer__back-to-top:active {
20312
+ transform: translateY(-1px);
20313
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
20314
+ }
20560
20315
  .c-footer__back-to-top:focus-visible {
20561
20316
  outline: 2px solid var(--atomix-primary);
20562
20317
  outline-offset: 2px;
@@ -20564,7 +20319,7 @@ a, a:hover {
20564
20319
  .c-footer__back-to-top-icon {
20565
20320
  font-size: 1.25em;
20566
20321
  font-weight: bold;
20567
- transition: transform 0.3s ease;
20322
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
20568
20323
  }
20569
20324
  @media (max-width: 575.98px) {
20570
20325
  .c-footer__back-to-top-text {
@@ -20575,30 +20330,12 @@ a, a:hover {
20575
20330
  margin: 2rem 0;
20576
20331
  border: none;
20577
20332
  height: 1px;
20578
- background: linear-gradient(90deg, transparent, 1px solid var(--atomix-border), transparent);
20333
+ background: linear-gradient(90deg, transparent, 1px solid var(--atomix-primary-border-subtle), transparent);
20579
20334
  opacity: 0.5;
20580
20335
  }
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
20336
  .c-footer--centered {
20596
20337
  text-align: center;
20597
20338
  }
20598
- .c-footer--centered .c-footer__sections {
20599
- justify-content: center;
20600
- align-items: center;
20601
- }
20602
20339
  .c-footer--centered .c-footer__social {
20603
20340
  justify-content: center;
20604
20341
  }
@@ -20608,13 +20345,14 @@ a, a:hover {
20608
20345
  }
20609
20346
  .c-footer--minimal {
20610
20347
  --atomix-footer-padding-y: 2rem;
20348
+ --atomix-footer-social-gap: 0.75;
20611
20349
  }
20612
20350
  .c-footer--minimal .c-footer__sections {
20613
20351
  margin-bottom: 1rem;
20614
20352
  gap: 1.5rem;
20615
20353
  }
20616
20354
  .c-footer--minimal .c-footer__section {
20617
- margin-bottom: 1rem;
20355
+ margin-bottom: 0;
20618
20356
  }
20619
20357
  .c-footer--minimal .c-footer__newsletter {
20620
20358
  padding: 1.5rem;
@@ -20629,15 +20367,26 @@ a, a:hover {
20629
20367
  margin-left: auto;
20630
20368
  margin-right: auto;
20631
20369
  }
20370
+ .c-footer--flexible .c-footer__section-col {
20371
+ flex: 1 1 auto;
20372
+ min-width: 250px;
20373
+ }
20374
+ .c-footer--sidebar .c-footer__sections--columns {
20375
+ align-items: flex-start;
20376
+ }
20377
+ .c-footer--wide .c-footer__sections {
20378
+ max-width: 100%;
20379
+ padding: 0 1rem;
20380
+ }
20632
20381
  .c-footer--sm {
20633
20382
  --atomix-footer-padding-y: 2rem;
20634
20383
  --atomix-footer-section-margin-bottom: 1.5rem;
20635
- --atomix-footer-brand-margin-bottom: 1rem;
20636
20384
  --atomix-footer-social-gap: 0.75rem;
20637
20385
  }
20638
20386
  .c-footer--md {
20639
20387
  --atomix-footer-padding-y: 3rem;
20640
20388
  --atomix-footer-section-margin-bottom: 2rem;
20389
+ --atomix-footer-social-gap: 1rem;
20641
20390
  }
20642
20391
  .c-footer--lg {
20643
20392
  --atomix-footer-padding-y: 4rem;
@@ -20651,7 +20400,7 @@ a, a:hover {
20651
20400
  .c-footer--primary {
20652
20401
  --atomix-footer-bg: var(--atomix-primary-bg-subtle);
20653
20402
  --atomix-footer-border-color: var(--atomix-primary-border-subtle);
20654
- --atomix-footer-color: var(--atomix-primary-text);
20403
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
20655
20404
  }
20656
20405
  .c-footer--primary .c-footer__brand-name h3,
20657
20406
  .c-footer--primary .c-footer__section-title {
@@ -20659,10 +20408,10 @@ a, a:hover {
20659
20408
  }
20660
20409
  .c-footer--primary .c-footer__brand-description,
20661
20410
  .c-footer--primary .c-footer__copyright {
20662
- color: var(--atomix-primary-text-muted);
20411
+ color: var(--atomix-gray-6);
20663
20412
  }
20664
20413
  .c-footer--primary .c-footer__link {
20665
- color: var(--atomix-primary-text);
20414
+ color: var(--atomix-primary-text-emphasis);
20666
20415
  }
20667
20416
  .c-footer--primary .c-footer__link:hover, .c-footer--primary .c-footer__link:focus {
20668
20417
  color: var(--atomix-primary);
@@ -20671,8 +20420,8 @@ a, a:hover {
20671
20420
  background-color: var(--atomix-primary);
20672
20421
  }
20673
20422
  .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);
20423
+ background: linear-gradient(135deg, var(--atomix-primary-bg-subtle), rgba(var(--atomix-primary-bg-subtle), 0.8));
20424
+ border-color: var(--atomix-primary-border-subtle);
20676
20425
  }
20677
20426
  .c-footer--primary .c-footer__newsletter::before {
20678
20427
  background: linear-gradient(90deg, transparent, var(--atomix-primary), transparent);
@@ -20680,7 +20429,7 @@ a, a:hover {
20680
20429
  .c-footer--secondary {
20681
20430
  --atomix-footer-bg: var(--atomix-secondary-bg-subtle);
20682
20431
  --atomix-footer-border-color: var(--atomix-secondary-border-subtle);
20683
- --atomix-footer-color: var(--atomix-secondary-text);
20432
+ --atomix-footer-color: var(--atomix-secondary-text-emphasis);
20684
20433
  }
20685
20434
  .c-footer--secondary .c-footer__brand-name h3,
20686
20435
  .c-footer--secondary .c-footer__section-title {
@@ -20688,10 +20437,10 @@ a, a:hover {
20688
20437
  }
20689
20438
  .c-footer--secondary .c-footer__brand-description,
20690
20439
  .c-footer--secondary .c-footer__copyright {
20691
- color: var(--atomix-secondary-text-muted);
20440
+ color: var(--atomix-gray-6);
20692
20441
  }
20693
20442
  .c-footer--secondary .c-footer__link {
20694
- color: var(--atomix-secondary-text);
20443
+ color: var(--atomix-secondary-text-emphasis);
20695
20444
  }
20696
20445
  .c-footer--secondary .c-footer__link:hover, .c-footer--secondary .c-footer__link:focus {
20697
20446
  color: var(--atomix-secondary);
@@ -20700,8 +20449,8 @@ a, a:hover {
20700
20449
  background-color: var(--atomix-secondary);
20701
20450
  }
20702
20451
  .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);
20452
+ background: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
20453
+ border-color: var(--atomix-secondary-border-subtle);
20705
20454
  }
20706
20455
  .c-footer--secondary .c-footer__newsletter::before {
20707
20456
  background: linear-gradient(90deg, transparent, var(--atomix-secondary), transparent);
@@ -20709,7 +20458,7 @@ a, a:hover {
20709
20458
  .c-footer--tertiary {
20710
20459
  --atomix-footer-bg: var(--atomix-tertiary-bg-subtle);
20711
20460
  --atomix-footer-border-color: var(--atomix-tertiary-border-subtle);
20712
- --atomix-footer-color: var(--atomix-tertiary-text);
20461
+ --atomix-footer-color: var(--atomix-tertiary-text-emphasis);
20713
20462
  }
20714
20463
  .c-footer--tertiary .c-footer__brand-name h3,
20715
20464
  .c-footer--tertiary .c-footer__section-title {
@@ -20717,10 +20466,10 @@ a, a:hover {
20717
20466
  }
20718
20467
  .c-footer--tertiary .c-footer__brand-description,
20719
20468
  .c-footer--tertiary .c-footer__copyright {
20720
- color: var(--atomix-tertiary-text-muted);
20469
+ color: var(--atomix-gray-6);
20721
20470
  }
20722
20471
  .c-footer--tertiary .c-footer__link {
20723
- color: var(--atomix-tertiary-text);
20472
+ color: var(--atomix-tertiary-text-emphasis);
20724
20473
  }
20725
20474
  .c-footer--tertiary .c-footer__link:hover, .c-footer--tertiary .c-footer__link:focus {
20726
20475
  color: var(--atomix-tertiary);
@@ -20729,8 +20478,8 @@ a, a:hover {
20729
20478
  background-color: var(--atomix-tertiary);
20730
20479
  }
20731
20480
  .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);
20481
+ background: linear-gradient(135deg, var(--atomix-tertiary-bg-subtle), rgba(var(--atomix-tertiary-bg-subtle), 0.8));
20482
+ border-color: var(--atomix-tertiary-border-subtle);
20734
20483
  }
20735
20484
  .c-footer--tertiary .c-footer__newsletter::before {
20736
20485
  background: linear-gradient(90deg, transparent, var(--atomix-tertiary), transparent);
@@ -20738,7 +20487,7 @@ a, a:hover {
20738
20487
  .c-footer--invert {
20739
20488
  --atomix-footer-bg: var(--atomix-invert-bg-subtle);
20740
20489
  --atomix-footer-border-color: var(--atomix-invert-border-subtle);
20741
- --atomix-footer-color: var(--atomix-invert-text);
20490
+ --atomix-footer-color: var(--atomix-invert-text-emphasis);
20742
20491
  }
20743
20492
  .c-footer--invert .c-footer__brand-name h3,
20744
20493
  .c-footer--invert .c-footer__section-title {
@@ -20746,10 +20495,10 @@ a, a:hover {
20746
20495
  }
20747
20496
  .c-footer--invert .c-footer__brand-description,
20748
20497
  .c-footer--invert .c-footer__copyright {
20749
- color: var(--atomix-invert-text-muted);
20498
+ color: var(--atomix-gray-6);
20750
20499
  }
20751
20500
  .c-footer--invert .c-footer__link {
20752
- color: var(--atomix-invert-text);
20501
+ color: var(--atomix-invert-text-emphasis);
20753
20502
  }
20754
20503
  .c-footer--invert .c-footer__link:hover, .c-footer--invert .c-footer__link:focus {
20755
20504
  color: var(--atomix-invert);
@@ -20758,8 +20507,8 @@ a, a:hover {
20758
20507
  background-color: var(--atomix-invert);
20759
20508
  }
20760
20509
  .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);
20510
+ background: linear-gradient(135deg, var(--atomix-invert-bg-subtle), rgba(var(--atomix-invert-bg-subtle), 0.8));
20511
+ border-color: var(--atomix-invert-border-subtle);
20763
20512
  }
20764
20513
  .c-footer--invert .c-footer__newsletter::before {
20765
20514
  background: linear-gradient(90deg, transparent, var(--atomix-invert), transparent);
@@ -20767,7 +20516,7 @@ a, a:hover {
20767
20516
  .c-footer--brand {
20768
20517
  --atomix-footer-bg: var(--atomix-brand-bg-subtle);
20769
20518
  --atomix-footer-border-color: var(--atomix-brand-border-subtle);
20770
- --atomix-footer-color: var(--atomix-brand-text);
20519
+ --atomix-footer-color: var(--atomix-brand-text-emphasis);
20771
20520
  }
20772
20521
  .c-footer--brand .c-footer__brand-name h3,
20773
20522
  .c-footer--brand .c-footer__section-title {
@@ -20775,10 +20524,10 @@ a, a:hover {
20775
20524
  }
20776
20525
  .c-footer--brand .c-footer__brand-description,
20777
20526
  .c-footer--brand .c-footer__copyright {
20778
- color: var(--atomix-brand-text-muted);
20527
+ color: var(--atomix-gray-6);
20779
20528
  }
20780
20529
  .c-footer--brand .c-footer__link {
20781
- color: var(--atomix-brand-text);
20530
+ color: var(--atomix-brand-text-emphasis);
20782
20531
  }
20783
20532
  .c-footer--brand .c-footer__link:hover, .c-footer--brand .c-footer__link:focus {
20784
20533
  color: var(--atomix-brand);
@@ -20787,8 +20536,8 @@ a, a:hover {
20787
20536
  background-color: var(--atomix-brand);
20788
20537
  }
20789
20538
  .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);
20539
+ background: linear-gradient(135deg, var(--atomix-brand-bg-subtle), rgba(var(--atomix-brand-bg-subtle), 0.8));
20540
+ border-color: var(--atomix-brand-border-subtle);
20792
20541
  }
20793
20542
  .c-footer--brand .c-footer__newsletter::before {
20794
20543
  background: linear-gradient(90deg, transparent, var(--atomix-brand), transparent);
@@ -20796,7 +20545,7 @@ a, a:hover {
20796
20545
  .c-footer--error {
20797
20546
  --atomix-footer-bg: var(--atomix-error-bg-subtle);
20798
20547
  --atomix-footer-border-color: var(--atomix-error-border-subtle);
20799
- --atomix-footer-color: var(--atomix-error-text);
20548
+ --atomix-footer-color: var(--atomix-error-text-emphasis);
20800
20549
  }
20801
20550
  .c-footer--error .c-footer__brand-name h3,
20802
20551
  .c-footer--error .c-footer__section-title {
@@ -20804,10 +20553,10 @@ a, a:hover {
20804
20553
  }
20805
20554
  .c-footer--error .c-footer__brand-description,
20806
20555
  .c-footer--error .c-footer__copyright {
20807
- color: var(--atomix-error-text-muted);
20556
+ color: var(--atomix-gray-6);
20808
20557
  }
20809
20558
  .c-footer--error .c-footer__link {
20810
- color: var(--atomix-error-text);
20559
+ color: var(--atomix-error-text-emphasis);
20811
20560
  }
20812
20561
  .c-footer--error .c-footer__link:hover, .c-footer--error .c-footer__link:focus {
20813
20562
  color: var(--atomix-error);
@@ -20816,8 +20565,8 @@ a, a:hover {
20816
20565
  background-color: var(--atomix-error);
20817
20566
  }
20818
20567
  .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);
20568
+ background: linear-gradient(135deg, var(--atomix-error-bg-subtle), rgba(var(--atomix-error-bg-subtle), 0.8));
20569
+ border-color: var(--atomix-error-border-subtle);
20821
20570
  }
20822
20571
  .c-footer--error .c-footer__newsletter::before {
20823
20572
  background: linear-gradient(90deg, transparent, var(--atomix-error), transparent);
@@ -20825,7 +20574,7 @@ a, a:hover {
20825
20574
  .c-footer--success {
20826
20575
  --atomix-footer-bg: var(--atomix-success-bg-subtle);
20827
20576
  --atomix-footer-border-color: var(--atomix-success-border-subtle);
20828
- --atomix-footer-color: var(--atomix-success-text);
20577
+ --atomix-footer-color: var(--atomix-success-text-emphasis);
20829
20578
  }
20830
20579
  .c-footer--success .c-footer__brand-name h3,
20831
20580
  .c-footer--success .c-footer__section-title {
@@ -20833,10 +20582,10 @@ a, a:hover {
20833
20582
  }
20834
20583
  .c-footer--success .c-footer__brand-description,
20835
20584
  .c-footer--success .c-footer__copyright {
20836
- color: var(--atomix-success-text-muted);
20585
+ color: var(--atomix-gray-6);
20837
20586
  }
20838
20587
  .c-footer--success .c-footer__link {
20839
- color: var(--atomix-success-text);
20588
+ color: var(--atomix-success-text-emphasis);
20840
20589
  }
20841
20590
  .c-footer--success .c-footer__link:hover, .c-footer--success .c-footer__link:focus {
20842
20591
  color: var(--atomix-success);
@@ -20845,8 +20594,8 @@ a, a:hover {
20845
20594
  background-color: var(--atomix-success);
20846
20595
  }
20847
20596
  .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);
20597
+ background: linear-gradient(135deg, var(--atomix-success-bg-subtle), rgba(var(--atomix-success-bg-subtle), 0.8));
20598
+ border-color: var(--atomix-success-border-subtle);
20850
20599
  }
20851
20600
  .c-footer--success .c-footer__newsletter::before {
20852
20601
  background: linear-gradient(90deg, transparent, var(--atomix-success), transparent);
@@ -20854,7 +20603,7 @@ a, a:hover {
20854
20603
  .c-footer--warning {
20855
20604
  --atomix-footer-bg: var(--atomix-warning-bg-subtle);
20856
20605
  --atomix-footer-border-color: var(--atomix-warning-border-subtle);
20857
- --atomix-footer-color: var(--atomix-warning-text);
20606
+ --atomix-footer-color: var(--atomix-warning-text-emphasis);
20858
20607
  }
20859
20608
  .c-footer--warning .c-footer__brand-name h3,
20860
20609
  .c-footer--warning .c-footer__section-title {
@@ -20862,10 +20611,10 @@ a, a:hover {
20862
20611
  }
20863
20612
  .c-footer--warning .c-footer__brand-description,
20864
20613
  .c-footer--warning .c-footer__copyright {
20865
- color: var(--atomix-warning-text-muted);
20614
+ color: var(--atomix-gray-6);
20866
20615
  }
20867
20616
  .c-footer--warning .c-footer__link {
20868
- color: var(--atomix-warning-text);
20617
+ color: var(--atomix-warning-text-emphasis);
20869
20618
  }
20870
20619
  .c-footer--warning .c-footer__link:hover, .c-footer--warning .c-footer__link:focus {
20871
20620
  color: var(--atomix-warning);
@@ -20874,8 +20623,8 @@ a, a:hover {
20874
20623
  background-color: var(--atomix-warning);
20875
20624
  }
20876
20625
  .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);
20626
+ background: linear-gradient(135deg, var(--atomix-warning-bg-subtle), rgba(var(--atomix-warning-bg-subtle), 0.8));
20627
+ border-color: var(--atomix-warning-border-subtle);
20879
20628
  }
20880
20629
  .c-footer--warning .c-footer__newsletter::before {
20881
20630
  background: linear-gradient(90deg, transparent, var(--atomix-warning), transparent);
@@ -20883,7 +20632,7 @@ a, a:hover {
20883
20632
  .c-footer--info {
20884
20633
  --atomix-footer-bg: var(--atomix-info-bg-subtle);
20885
20634
  --atomix-footer-border-color: var(--atomix-info-border-subtle);
20886
- --atomix-footer-color: var(--atomix-info-text);
20635
+ --atomix-footer-color: var(--atomix-info-text-emphasis);
20887
20636
  }
20888
20637
  .c-footer--info .c-footer__brand-name h3,
20889
20638
  .c-footer--info .c-footer__section-title {
@@ -20891,10 +20640,10 @@ a, a:hover {
20891
20640
  }
20892
20641
  .c-footer--info .c-footer__brand-description,
20893
20642
  .c-footer--info .c-footer__copyright {
20894
- color: var(--atomix-info-text-muted);
20643
+ color: var(--atomix-gray-6);
20895
20644
  }
20896
20645
  .c-footer--info .c-footer__link {
20897
- color: var(--atomix-info-text);
20646
+ color: var(--atomix-info-text-emphasis);
20898
20647
  }
20899
20648
  .c-footer--info .c-footer__link:hover, .c-footer--info .c-footer__link:focus {
20900
20649
  color: var(--atomix-info);
@@ -20903,8 +20652,8 @@ a, a:hover {
20903
20652
  background-color: var(--atomix-info);
20904
20653
  }
20905
20654
  .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);
20655
+ background: linear-gradient(135deg, var(--atomix-info-bg-subtle), rgba(var(--atomix-info-bg-subtle), 0.8));
20656
+ border-color: var(--atomix-info-border-subtle);
20908
20657
  }
20909
20658
  .c-footer--info .c-footer__newsletter::before {
20910
20659
  background: linear-gradient(90deg, transparent, var(--atomix-info), transparent);
@@ -20912,7 +20661,7 @@ a, a:hover {
20912
20661
  .c-footer--light {
20913
20662
  --atomix-footer-bg: var(--atomix-light-bg-subtle);
20914
20663
  --atomix-footer-border-color: var(--atomix-light-border-subtle);
20915
- --atomix-footer-color: var(--atomix-light-text);
20664
+ --atomix-footer-color: var(--atomix-light-text-emphasis);
20916
20665
  }
20917
20666
  .c-footer--light .c-footer__brand-name h3,
20918
20667
  .c-footer--light .c-footer__section-title {
@@ -20920,10 +20669,10 @@ a, a:hover {
20920
20669
  }
20921
20670
  .c-footer--light .c-footer__brand-description,
20922
20671
  .c-footer--light .c-footer__copyright {
20923
- color: var(--atomix-light-text-muted);
20672
+ color: var(--atomix-gray-6);
20924
20673
  }
20925
20674
  .c-footer--light .c-footer__link {
20926
- color: var(--atomix-light-text);
20675
+ color: var(--atomix-light-text-emphasis);
20927
20676
  }
20928
20677
  .c-footer--light .c-footer__link:hover, .c-footer--light .c-footer__link:focus {
20929
20678
  color: var(--atomix-light);
@@ -20932,8 +20681,8 @@ a, a:hover {
20932
20681
  background-color: var(--atomix-light);
20933
20682
  }
20934
20683
  .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);
20684
+ background: linear-gradient(135deg, var(--atomix-light-bg-subtle), rgba(var(--atomix-light-bg-subtle), 0.8));
20685
+ border-color: var(--atomix-light-border-subtle);
20937
20686
  }
20938
20687
  .c-footer--light .c-footer__newsletter::before {
20939
20688
  background: linear-gradient(90deg, transparent, var(--atomix-light), transparent);
@@ -20941,7 +20690,7 @@ a, a:hover {
20941
20690
  .c-footer--dark {
20942
20691
  --atomix-footer-bg: var(--atomix-dark-bg-subtle);
20943
20692
  --atomix-footer-border-color: var(--atomix-dark-border-subtle);
20944
- --atomix-footer-color: var(--atomix-dark-text);
20693
+ --atomix-footer-color: var(--atomix-dark-text-emphasis);
20945
20694
  }
20946
20695
  .c-footer--dark .c-footer__brand-name h3,
20947
20696
  .c-footer--dark .c-footer__section-title {
@@ -20949,10 +20698,10 @@ a, a:hover {
20949
20698
  }
20950
20699
  .c-footer--dark .c-footer__brand-description,
20951
20700
  .c-footer--dark .c-footer__copyright {
20952
- color: var(--atomix-dark-text-muted);
20701
+ color: var(--atomix-gray-6);
20953
20702
  }
20954
20703
  .c-footer--dark .c-footer__link {
20955
- color: var(--atomix-dark-text);
20704
+ color: var(--atomix-dark-text-emphasis);
20956
20705
  }
20957
20706
  .c-footer--dark .c-footer__link:hover, .c-footer--dark .c-footer__link:focus {
20958
20707
  color: var(--atomix-dark);
@@ -20961,8 +20710,8 @@ a, a:hover {
20961
20710
  background-color: var(--atomix-dark);
20962
20711
  }
20963
20712
  .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);
20713
+ background: linear-gradient(135deg, var(--atomix-dark-bg-subtle), rgba(var(--atomix-dark-bg-subtle), 0.8));
20714
+ border-color: var(--atomix-dark-border-subtle);
20966
20715
  }
20967
20716
  .c-footer--dark .c-footer__newsletter::before {
20968
20717
  background: linear-gradient(90deg, transparent, var(--atomix-dark), transparent);
@@ -20970,34 +20719,12 @@ a, a:hover {
20970
20719
  .c-footer--sticky {
20971
20720
  position: sticky;
20972
20721
  bottom: 0;
20973
- z-index: 10;
20722
+ z-index: 100;
20974
20723
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
20975
20724
  -webkit-backdrop-filter: blur(10px);
20976
20725
  backdrop-filter: blur(10px);
20977
20726
  background-color: rgba(var(--atomix-footer-bg-rgb), 0.95);
20978
20727
  }
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
20728
  @media (prefers-reduced-motion: reduce) {
21002
20729
  .c-footer *,
21003
20730
  .c-footer *::before,
@@ -21322,10 +21049,10 @@ a, a:hover {
21322
21049
  .c-input--glass {
21323
21050
  background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
21324
21051
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
21052
+ border-color: color-mix(in srgb, var(--atomix-input-border-color) 50%, transparent);
21325
21053
  }
21326
21054
  .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);
21055
+ background-color: color-mix(in srgb, var(--atomix-input-bg) 90%, transparent);
21329
21056
  }
21330
21057
  .c-input--glass.c-input--textarea {
21331
21058
  resize: vertical;
@@ -21400,6 +21127,7 @@ a, a:hover {
21400
21127
  --atomix-list-item-dash-width: 1rem;
21401
21128
  --atomix-list-item-dash-height: 0.125rem;
21402
21129
  padding-left: var(--atomix-list-padding-left);
21130
+ list-style: none;
21403
21131
  }
21404
21132
  .c-list__item {
21405
21133
  color: var(--atomix-list-color);
@@ -22053,6 +21781,8 @@ a, a:hover {
22053
21781
  width: 100%;
22054
21782
  height: 100%;
22055
21783
  display: none;
21784
+ }
21785
+ .c-modal:not(.c-modal--glass) {
22056
21786
  z-index: 1040;
22057
21787
  }
22058
21788
  .c-modal__backdrop {
@@ -24961,6 +24691,9 @@ a, a:hover {
24961
24691
  --atomix-upload-disabled-opacity: 0.6;
24962
24692
  --atomix-upload-loader-control-icon-size: 18px;
24963
24693
  --atomix-upload-loader-contorl-color: var(--atomix-body-color);
24694
+ --atomix-upload-helper-text-opacity: 0.7;
24695
+ --atomix-upload-text-opacity: 0.8;
24696
+ --atomix-upload-text-margin-bottom: 1rem;
24964
24697
  width: 100%;
24965
24698
  max-width: var(--atomix-upload-width);
24966
24699
  padding: var(--atomix-upload-padding-y) var(--atomix-upload-padding-x);
@@ -24981,24 +24714,47 @@ a, a:hover {
24981
24714
  padding: var(--atomix-upload-inner-padding-y) var(--atomix-upload-inner-padding-x);
24982
24715
  border-radius: var(--atomix-upload-border-radius);
24983
24716
  border: var(--atomix-upload-border-width) dashed var(--atomix-upload-border-color);
24717
+ cursor: pointer;
24718
+ transition: all 0.3s ease-in-out;
24719
+ }
24720
+ .c-upload__inner:hover {
24721
+ border-color: var(--atomix-primary-6);
24722
+ background-color: var(--atomix-primary-bg-subtle);
24723
+ transform: translateY(-2px);
24724
+ box-shadow: var(--atomix-box-shadow);
24984
24725
  }
24985
24726
  .c-upload__icon {
24986
24727
  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;
24728
+ padding: 12;
24729
+ color: var(--atomix-primary-6);
24730
+ background-color: var(--atomix-primary-bg-subtle);
24731
+ border-radius: var(--atomix-border-radius-pill);
24732
+ margin-bottom: 12;
24733
+ transition: all 0.3s ease-in-out;
24734
+ }
24735
+ .c-upload__icon:hover {
24736
+ color: var(--atomix-primary-7);
24737
+ background-color: var(--atomix-primary-border-subtle);
24738
+ transform: scale(1.05);
24990
24739
  }
24991
24740
  .c-upload__title {
24992
24741
  color: var(--atomix-upload-title-color);
24993
24742
  font-size: var(--atomix-upload-title-font-size);
24994
24743
  font-weight: var(--atomix-upload-title-font-weight);
24995
24744
  margin-top: var(--atomix-upload-title-margin-top);
24745
+ margin-bottom: var(--atomix-upload-title-margin-bottom);
24746
+ text-align: center;
24747
+ line-height: 1.4;
24996
24748
  }
24997
24749
  .c-upload__text {
24998
24750
  color: var(--atomix-upload-text-color);
24999
24751
  font-size: var(--atomix-upload-text-font-size);
25000
24752
  font-weight: var(--atomix-upload-text-font-weight);
25001
24753
  margin-top: var(--atomix-upload-text-margin-top);
24754
+ margin-bottom: var(--atomix-upload-text-margin-bottom);
24755
+ text-align: center;
24756
+ line-height: 1.5;
24757
+ opacity: var(--atomix-upload-text-opacity);
25002
24758
  }
25003
24759
  .c-upload__btn {
25004
24760
  margin-top: var(--atomix-upload-btn-margin-top);
@@ -25008,6 +24764,9 @@ a, a:hover {
25008
24764
  font-size: var(--atomix-upload-helper-text-font-size);
25009
24765
  font-weight: var(--atomix-upload-helper-text-font-weight);
25010
24766
  margin-top: var(--atomix-upload-helper-text-margin-top);
24767
+ text-align: center;
24768
+ opacity: var(--atomix-upload-helper-text-opacity);
24769
+ line-height: 1.4;
25011
24770
  }
25012
24771
  .c-upload__row {
25013
24772
  width: 100%;
@@ -25026,6 +24785,7 @@ a, a:hover {
25026
24785
  .c-upload__loader {
25027
24786
  --upload-loader-percentage: 0;
25028
24787
  display: flex;
24788
+ align-items: center;
25029
24789
  justify-content: space-between;
25030
24790
  position: relative;
25031
24791
  width: 100%;
@@ -25034,6 +24794,8 @@ a, a:hover {
25034
24794
  border: var(--atomix-upload-loader-border-width) solid var(--atomix-upload-loader-border-color);
25035
24795
  border-radius: var(--atomix-upload-loader-border-radius);
25036
24796
  margin-top: var(--atomix-upload-loader-margin-top);
24797
+ background-color: var(--atomix-body-bg);
24798
+ box-shadow: var(--atomix-box-shadow-sm);
25037
24799
  overflow: hidden;
25038
24800
  }
25039
24801
  .c-upload__loader-title {
@@ -25058,6 +24820,20 @@ a, a:hover {
25058
24820
  .c-upload__loader-close {
25059
24821
  color: var(--atomix-upload-loader-contorl-color);
25060
24822
  font-size: var(--atomix-upload-loader-control-icon-size);
24823
+ background: none;
24824
+ border: none;
24825
+ cursor: pointer;
24826
+ padding: 4;
24827
+ border-radius: var(--atomix-border-radius-sm);
24828
+ transition: all 0.2s ease-in-out;
24829
+ }
24830
+ .c-upload__loader-close:hover {
24831
+ background-color: var(--atomix-danger-bg-subtle);
24832
+ color: var(--atomix-danger-text-emphasis);
24833
+ }
24834
+ .c-upload__loader-close:focus {
24835
+ outline: 2px solid var(--atomix-focus-border-color);
24836
+ outline-offset: 2px;
25061
24837
  }
25062
24838
  .c-upload__loader-bar {
25063
24839
  width: 22px;
@@ -25122,6 +24898,112 @@ a, a:hover {
25122
24898
  .c-upload--disabled .c-upload__btn {
25123
24899
  pointer-events: none;
25124
24900
  }
24901
+ .c-upload--disabled .c-upload__inner {
24902
+ cursor: not-allowed;
24903
+ }
24904
+ .c-upload--disabled .c-upload__inner:hover {
24905
+ transform: none;
24906
+ box-shadow: none;
24907
+ border-color: var(--atomix-upload-border-color);
24908
+ background-color: transparent;
24909
+ }
24910
+ .c-upload--dragging .c-upload__inner {
24911
+ border-color: var(--atomix-primary-6);
24912
+ background-color: var(--atomix-primary-bg-subtle);
24913
+ transform: scale(1.02);
24914
+ box-shadow: var(--atomix-box-shadow-lg);
24915
+ }
24916
+ .c-upload--dragging .c-upload__icon {
24917
+ color: var(--atomix-primary-7);
24918
+ background-color: var(--atomix-primary-border-subtle);
24919
+ transform: scale(1.1);
24920
+ }
24921
+ .c-upload--dragging .c-upload__title {
24922
+ color: var(--atomix-primary-6);
24923
+ }
24924
+ .c-upload--loading .c-upload__loader-bar circle:nth-child(2) {
24925
+ stroke: var(--atomix-primary-6);
24926
+ }
24927
+ .c-upload--success .c-upload__loader-bar circle:nth-child(2) {
24928
+ stroke: var(--atomix-success-6);
24929
+ }
24930
+ .c-upload--error .c-upload__loader-bar circle:nth-child(2) {
24931
+ stroke: var(--atomix-error-6);
24932
+ }
24933
+ .c-upload__input {
24934
+ position: absolute;
24935
+ width: 1px;
24936
+ height: 1px;
24937
+ padding: 0;
24938
+ margin: -1px;
24939
+ overflow: hidden;
24940
+ clip: rect(0, 0, 0, 0);
24941
+ white-space: nowrap;
24942
+ border: 0;
24943
+ }
24944
+ @media (max-width: 768px) {
24945
+ .c-upload {
24946
+ max-width: 100%;
24947
+ }
24948
+ .c-upload__inner {
24949
+ padding: 16 12;
24950
+ }
24951
+ .c-upload__icon {
24952
+ font-size: 28;
24953
+ padding: 8;
24954
+ margin-bottom: 8;
24955
+ }
24956
+ .c-upload__title {
24957
+ font-size: var(--atomix-font-size-md);
24958
+ }
24959
+ .c-upload__text {
24960
+ font-size: var(--atomix-font-size-xs);
24961
+ }
24962
+ .c-upload__loader {
24963
+ padding: 8 12;
24964
+ flex-direction: column;
24965
+ align-items: flex-start;
24966
+ gap: 8;
24967
+ }
24968
+ .c-upload__loader-control {
24969
+ align-self: flex-end;
24970
+ }
24971
+ }
24972
+ @media (prefers-reduced-motion: reduce) {
24973
+ .c-upload__inner {
24974
+ transition: none;
24975
+ }
24976
+ .c-upload__inner:hover {
24977
+ transform: none;
24978
+ }
24979
+ .c-upload__icon {
24980
+ transition: none;
24981
+ }
24982
+ .c-upload__icon:hover {
24983
+ transform: none;
24984
+ }
24985
+ .c-upload--dragging .c-upload__inner {
24986
+ transform: none;
24987
+ }
24988
+ .c-upload--dragging .c-upload__icon {
24989
+ transform: none;
24990
+ }
24991
+ }
24992
+ @media (prefers-contrast: high) {
24993
+ .c-upload__inner {
24994
+ border-width: 3px;
24995
+ }
24996
+ .c-upload--dragging .c-upload__inner {
24997
+ border-width: 4px;
24998
+ }
24999
+ .c-upload__loader {
25000
+ border-width: 2px;
25001
+ }
25002
+ }
25003
+ .c-upload__inner:focus-visible {
25004
+ outline: 2px solid var(--atomix-focus-border-color);
25005
+ outline-offset: 2px;
25006
+ }
25125
25007
  .c-video-player {
25126
25008
  --atomix--video-player-bg: #000;
25127
25009
  --atomix--video-player-border-radius: 8px;