@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
@@ -2397,60 +2397,184 @@ a, a:hover {
2397
2397
  margin-left: calc(var(--atomix-avatar-size) * -1 * var(--atomix-avatar-group-stacked-overlap) / 100);
2398
2398
  z-index: 1;
2399
2399
  }
2400
- .atomix-glass__layer, .atomix-glass__overlay, .atomix-glass__base, .atomix-glass__border-1, .atomix-glass__border-2 {
2401
- pointer-events: none;
2400
+ .c-atomix-glass {
2401
+ position: relative;
2402
+ --atomix-glass-radius: var(--atomix-radius-md, 16px);
2403
+ --atomix-glass-transform: none;
2404
+ --atomix-glass-transition: all var(--atomix-transition-duration, 0s) ease-out;
2405
+ --atomix-glass-position: absolute;
2406
+ --atomix-glass-container-width: 100%;
2407
+ --atomix-glass-container-height: 100%;
2408
+ --atomix-glass-border-width: var(--atomix-spacing-0-5, 0.09375rem);
2409
+ }
2410
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3, .c-atomix-glass__base, .c-atomix-glass__overlay {
2402
2411
  position: absolute;
2403
2412
  inset: 0;
2404
- border-radius: inherit;
2405
- transform: inherit;
2406
- transition: inherit;
2413
+ pointer-events: none;
2414
+ border-radius: var(--atomix-glass-radius);
2415
+ transform: var(--atomix-glass-transform);
2416
+ transition: var(--atomix-glass-transition);
2417
+ }
2418
+ .c-atomix-glass__hover-1, .c-atomix-glass__hover-2, .c-atomix-glass__hover-3 {
2419
+ mix-blend-mode: overlay;
2420
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
2421
+ background: var(--atomix-glass-hover-1-gradient, none);
2422
+ }
2423
+ .c-atomix-glass__hover-1 {
2424
+ transition: opacity 0.2s ease-out;
2425
+ opacity: var(--atomix-glass-hover-1-opacity, 0);
2426
+ background: var(--atomix-glass-hover-1-gradient, none);
2427
+ }
2428
+ .c-atomix-glass__hover-2 {
2429
+ transition: opacity 0.4s ease-out;
2430
+ opacity: var(--atomix-glass-hover-2-opacity, 0);
2431
+ background: var(--atomix-glass-hover-2-gradient, none);
2432
+ }
2433
+ .c-atomix-glass__hover-3 {
2434
+ transition: opacity 0.6s ease-out;
2435
+ opacity: var(--atomix-glass-hover-3-opacity, 0);
2436
+ background: var(--atomix-glass-hover-3-gradient, none);
2437
+ }
2438
+ .c-atomix-glass__base {
2439
+ mix-blend-mode: soft-light;
2440
+ opacity: var(--atomix-glass-base-opacity, 0);
2441
+ background: var(--atomix-glass-base-gradient, none);
2442
+ }
2443
+ .c-atomix-glass__overlay {
2444
+ mix-blend-mode: overlay;
2445
+ opacity: var(--atomix-glass-overlay-opacity, 0);
2446
+ background: var(--atomix-glass-overlay-gradient, none);
2447
+ }
2448
+ .c-atomix-glass__overlay-highlight {
2449
+ position: absolute;
2450
+ inset: var(--atomix-spacing-0-5, 0.125rem);
2451
+ pointer-events: none;
2452
+ border-radius: var(--atomix-glass-radius);
2453
+ transform: var(--atomix-glass-transform);
2454
+ transition: var(--atomix-glass-transition);
2455
+ mix-blend-mode: screen;
2407
2456
  }
2408
- .atomix-glass__border-1, .atomix-glass__border-2 {
2457
+ .c-atomix-glass__border-1, .c-atomix-glass__border-2 {
2458
+ padding: var(--atomix-glass-border-width);
2409
2459
  box-sizing: border-box;
2410
- padding: 1.5px;
2411
- -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
2460
+ overflow: hidden;
2461
+ pointer-events: none;
2462
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
2412
2463
  -webkit-mask-composite: xor;
2413
- mask-composite: exclude;
2414
- 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);
2415
- transition-property: transform;
2416
- }
2417
- .atomix-glass__border-1 {
2418
- z-index: 5;
2419
- opacity: 0.3;
2464
+ -webkit-mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
2465
+ mask: linear-gradient(var(--atomix-black, #000000) 0 0) content-box, linear-gradient(var(--atomix-black, #000000) 0 0);
2466
+ -webkit-mask-composite: xor;
2467
+ mask-composite: exclude;
2468
+ position: var(--atomix-glass-position);
2469
+ top: var(--atomix-glass-top);
2470
+ left: var(--atomix-glass-left);
2471
+ width: var(--atomix-glass-width);
2472
+ height: var(--atomix-glass-height);
2473
+ border-radius: var(--atomix-glass-radius);
2474
+ transform: var(--atomix-glass-transform);
2475
+ transition: var(--atomix-glass-transition);
2476
+ }
2477
+ .c-atomix-glass__border-1 {
2478
+ opacity: var(--atomix-opacity-20, 0.2);
2420
2479
  mix-blend-mode: screen;
2480
+ z-index: var(--atomix-z-index-5, 5);
2481
+ background: var(--atomix-glass-border-gradient-1, none);
2482
+ 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));
2483
+ }
2484
+ .c-atomix-glass__border-2 {
2485
+ mix-blend-mode: overlay;
2486
+ z-index: var(--atomix-z-index-6, 6);
2487
+ background: var(--atomix-glass-border-gradient-2, none);
2488
+ 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));
2489
+ }
2490
+ .c-atomix-glass__container {
2491
+ width: var(--atomix-glass-container-width);
2492
+ height: var(--atomix-glass-container-height);
2493
+ position: relative;
2494
+ border-radius: var(--atomix-glass-radius);
2495
+ transition: var(--atomix-glass-transition);
2421
2496
  }
2422
- .atomix-glass__border-2 {
2423
- z-index: 6;
2497
+ .c-atomix-glass__inner {
2498
+ width: var(--atomix-glass-container-width);
2499
+ height: var(--atomix-glass-container-height);
2500
+ position: relative;
2501
+ border-radius: var(--atomix-glass-radius);
2424
2502
  }
2425
- .atomix-glass__hover-1, .atomix-glass__hover-2, .atomix-glass__hover-3 {
2503
+ .c-atomix-glass__filter {
2426
2504
  position: absolute;
2427
- inset: 0;
2505
+ top: 0;
2506
+ left: 0;
2507
+ width: 100%;
2508
+ height: 100%;
2428
2509
  pointer-events: none;
2429
- border-radius: inherit;
2430
- transform: inherit;
2431
- transition: inherit;
2432
- transition-property: transform, opacity;
2433
2510
  }
2434
- .atomix-glass__hover-1 {
2435
- opacity: 0;
2511
+ .c-atomix-glass__filter-overlay {
2512
+ position: absolute;
2513
+ inset: 0;
2514
+ pointer-events: none;
2436
2515
  }
2437
- .atomix-glass__hover-2 {
2438
- overflow: hidden;
2439
- opacity: 0;
2516
+ .c-atomix-glass__filter-shadow {
2517
+ position: absolute;
2518
+ inset: var(--atomix-glass-border-width);
2519
+ pointer-events: none;
2440
2520
  }
2441
- .atomix-glass__hover-3 {
2442
- opacity: 0;
2521
+ .c-atomix-glass__content {
2522
+ position: relative;
2523
+ width: var(--atomix-glass-container-width);
2524
+ height: var(--atomix-glass-container-height);
2443
2525
  }
2444
- .atomix-glass__base {
2526
+ .c-atomix-glass__background-layer {
2527
+ position: absolute;
2528
+ pointer-events: none;
2529
+ border-radius: var(--atomix-glass-radius);
2530
+ transform: var(--atomix-glass-transform);
2531
+ transition: var(--atomix-glass-transition);
2445
2532
  will-change: transform;
2446
- transition-property: transform, opacity;
2447
- opacity: 0;
2448
2533
  }
2449
- .atomix-glass__overlay {
2534
+ .c-atomix-glass__background-layer--dark {
2535
+ background-color: var(--atomix-gray-9, #1f2937);
2536
+ }
2537
+ .c-atomix-glass__background-layer--black {
2538
+ background-color: var(--atomix-black, #000000);
2450
2539
  mix-blend-mode: overlay;
2451
- will-change: transform;
2452
- transition-property: transform, opacity;
2453
- opacity: 0;
2540
+ }
2541
+ .c-atomix-glass__background-layer--dark.c-atomix-glass__background-layer--over-light {
2542
+ opacity: var(--atomix-opacity-50, 0.5);
2543
+ z-index: -1;
2544
+ }
2545
+ .c-atomix-glass__background-layer--black.c-atomix-glass__background-layer--over-light {
2546
+ opacity: var(--atomix-opacity-25, 0.25);
2547
+ }
2548
+ .c-atomix-glass__background-layer--hidden {
2549
+ opacity: var(--atomix-opacity-0, 0);
2550
+ }
2551
+ .c-atomix-glass--reduced-motion {
2552
+ --atomix-glass-transition: none;
2553
+ }
2554
+ .c-atomix-glass--reduced-motion * {
2555
+ transition: none !important;
2556
+ }
2557
+ .c-atomix-glass--high-contrast {
2558
+ border: var(--atomix-spacing-0-5, 2px) solid currentColor;
2559
+ outline: var(--atomix-spacing-0-5, 2px) solid transparent;
2560
+ outline-offset: var(--atomix-spacing-0-5, 2px);
2561
+ }
2562
+ .c-atomix-glass--disabled-effects {
2563
+ --atomix-glass-transform: none;
2564
+ --atomix-glass-transition: none;
2565
+ }
2566
+ @media (prefers-reduced-motion: reduce) {
2567
+ .c-atomix-glass {
2568
+ --atomix-glass-transition: none;
2569
+ }
2570
+ .c-atomix-glass * {
2571
+ transition: none !important;
2572
+ }
2573
+ }
2574
+ @media (prefers-contrast: high) {
2575
+ .c-atomix-glass {
2576
+ border-width: var(--atomix-spacing-0-5, 0.125rem);
2577
+ }
2454
2578
  }
2455
2579
  .c-badge {
2456
2580
  --atomix-tag-font-size: 12px;
@@ -3471,19 +3595,8 @@ a, a:hover {
3471
3595
  padding-top: 0;
3472
3596
  }
3473
3597
  .c-card--glass {
3474
- background-color: transparent;
3475
- padding: 0;
3476
- border: none;
3477
- display: block;
3478
- border-radius: 0;
3479
- }
3480
- .c-card--glass .c-card__glass-content {
3481
- padding: var(--atomix-card-spacer-y) var(--atomix-card-spacer-x);
3482
- max-width: var(--atomix-card-width);
3483
- border-radius: var(--atomix-card-border-radius);
3484
- width: 100%;
3598
+ max-width: none;
3485
3599
  background-color: color-mix(in srgb, var(--atomix-card-bg) 50%, transparent);
3486
- background-blend-mode: overlay;
3487
3600
  }
3488
3601
  .is-elevated .c-card {
3489
3602
  box-shadow: var(--atomix-box-shadow-lg, 0 16px 48px rgba(0, 0, 0, 0.175));
@@ -3505,126 +3618,49 @@ a, a:hover {
3505
3618
  border: var(--atomix-chart-border-width) solid var(--atomix-chart-border-color);
3506
3619
  border-radius: var(--atomix-chart-border-radius);
3507
3620
  overflow: hidden;
3508
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
3621
+ 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);
3509
3622
  position: relative;
3510
3623
  min-height: var(--atomix-chart-min-height);
3511
3624
  width: 100%;
3512
3625
  max-width: 100%;
3513
- background-color: var(--atomix-chart-bg);
3514
- transition-property: all;
3515
- transition-duration: 0.2s;
3516
- transition-timing-function: ease-in-out;
3517
- transition-delay: 0s;
3626
+ background: var(--atomix-chart-bg);
3627
+ backdrop-filter: blur(10px);
3628
+ -webkit-backdrop-filter: blur(10px);
3518
3629
  }
3519
- .c-chart::after {
3630
+ .c-chart::before {
3520
3631
  content: "";
3521
3632
  position: absolute;
3522
3633
  inset: 0;
3523
- background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1) 0%, transparent 50%, rgba(var(--atomix-secondary-rgb), 0.05) 100%);
3634
+ 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%);
3524
3635
  pointer-events: none;
3525
3636
  z-index: 1;
3637
+ opacity: 1;
3638
+ transition: opacity 0.3s ease;
3526
3639
  }
3527
- .c-chart:hover {
3528
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
3529
- border-color: var(--atomix-primary-border-subtle);
3530
- }
3531
- .c-chart:focus-visible {
3532
- 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);
3533
- }
3534
- .c-chart--xs {
3535
- --atomix-chart-min-height: 7rem;
3536
- --atomix-chart-padding: 0.5rem;
3537
- font-size: 0.75rem;
3538
- }
3539
- .c-chart--sm {
3540
- --atomix-chart-min-height: 9rem;
3541
- --atomix-chart-padding: 0.75rem;
3542
- font-size: 0.875rem;
3543
- }
3544
- .c-chart--md {
3545
- --atomix-chart-min-height: 13rem;
3546
- --atomix-chart-padding: 1rem;
3547
- font-size: 1rem;
3548
- }
3549
- .c-chart--lg {
3550
- --atomix-chart-min-height: 18rem;
3551
- --atomix-chart-padding: 1.5rem;
3552
- font-size: 1.125rem;
3553
- }
3554
- .c-chart--xl {
3555
- --atomix-chart-min-height: 20rem;
3556
- --atomix-chart-padding: 2rem;
3557
- font-size: 1.25rem;
3558
- }
3559
- .c-chart--2xl {
3560
- --atomix-chart-min-height: ;
3561
- --atomix-chart-padding: 2.5rem;
3562
- font-size: 1.25rem;
3563
- }
3564
- .c-chart--full {
3565
- height: 100vh;
3566
- min-height: auto;
3567
- border-radius: 0;
3568
- }
3569
- .c-chart--auto {
3570
- height: auto;
3571
- min-height: 8rem;
3572
- }
3573
- .c-chart--primary {
3574
- --atomix-chart-primary-color: var(--atomix-primary-6);
3575
- --atomix-chart-border-color: var(--atomix-primary-border-subtle);
3576
- }
3577
- .c-chart--primary:hover {
3578
- border-color: var(--atomix-primary-border-subtle);
3579
- }
3580
- .c-chart--secondary {
3581
- --atomix-chart-primary-color: var(--atomix-secondary-6);
3582
- --atomix-chart-border-color: var(--atomix-secondary-border-subtle);
3583
- }
3584
- .c-chart--secondary:hover {
3585
- border-color: var(--atomix-secondary-border-subtle);
3586
- }
3587
- .c-chart--success {
3588
- --atomix-chart-primary-color: var(--atomix-success-6);
3589
- --atomix-chart-border-color: var(--atomix-success-border-subtle);
3590
- }
3591
- .c-chart--success:hover {
3592
- border-color: var(--atomix-success-border-subtle);
3593
- }
3594
- .c-chart--info {
3595
- --atomix-chart-primary-color: var(--atomix-info-6);
3596
- --atomix-chart-border-color: var(--atomix-info-border-subtle);
3597
- }
3598
- .c-chart--info:hover {
3599
- border-color: var(--atomix-info-border-subtle);
3600
- }
3601
- .c-chart--warning {
3602
- --atomix-chart-primary-color: var(--atomix-warning-6);
3603
- --atomix-chart-border-color: var(--atomix-warning-border-subtle);
3604
- }
3605
- .c-chart--warning:hover {
3606
- border-color: var(--atomix-warning-border-subtle);
3607
- }
3608
- .c-chart--error {
3609
- --atomix-chart-primary-color: var(--atomix-error-6);
3610
- --atomix-chart-border-color: var(--atomix-error-border-subtle);
3611
- }
3612
- .c-chart--error:hover {
3613
- border-color: var(--atomix-error-border-subtle);
3614
- }
3615
- .c-chart--light {
3616
- --atomix-chart-primary-color: var(--atomix-light-6);
3617
- --atomix-chart-border-color: var(--atomix-light-border-subtle);
3618
- }
3619
- .c-chart--light:hover {
3620
- border-color: var(--atomix-light-border-subtle);
3640
+ .c-chart::after {
3641
+ content: "";
3642
+ position: absolute;
3643
+ inset: 0;
3644
+ border-radius: inherit;
3645
+ padding: 1px;
3646
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.1), rgba(var(--atomix-secondary-rgb), 0.05), transparent);
3647
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3648
+ -webkit-mask-composite: xor;
3649
+ -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3650
+ mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
3651
+ -webkit-mask-composite: xor;
3652
+ mask-composite: exclude;
3653
+ pointer-events: none;
3654
+ z-index: 2;
3655
+ opacity: 0;
3656
+ transition: opacity 0.3s ease;
3621
3657
  }
3622
- .c-chart--dark {
3623
- --atomix-chart-primary-color: var(--atomix-dark-6);
3624
- --atomix-chart-border-color: var(--atomix-dark-border-subtle);
3658
+ .c-chart:hover {
3659
+ 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);
3660
+ border-color: rgba(var(--atomix-primary-rgb), 0.2);
3625
3661
  }
3626
- .c-chart--dark:hover {
3627
- border-color: var(--atomix-dark-border-subtle);
3662
+ .c-chart:hover::after {
3663
+ opacity: 1;
3628
3664
  }
3629
3665
  .c-chart--loading .c-chart__content {
3630
3666
  position: relative;
@@ -3644,38 +3680,6 @@ a, a:hover {
3644
3680
  opacity: 0.3;
3645
3681
  filter: blur(1px);
3646
3682
  }
3647
- .c-chart--interactive {
3648
- cursor: pointer;
3649
- -webkit-user-select: none;
3650
- -moz-user-select: none;
3651
- user-select: none;
3652
- }
3653
- .c-chart--interactive:hover {
3654
- transform: translateY(-2px);
3655
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
3656
- }
3657
- .c-chart--interactive:active {
3658
- transform: translateY(0);
3659
- box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
3660
- transition-duration: 0.1s;
3661
- }
3662
- .c-chart--interactive:focus-visible {
3663
- transform: translateY(-1px);
3664
- }
3665
- .c-chart--disabled {
3666
- pointer-events: none;
3667
- opacity: 0.6;
3668
- }
3669
- .c-chart--disabled .c-chart__content {
3670
- filter: grayscale(80%) opacity(0.6);
3671
- }
3672
- .c-chart--disabled .c-chart__canvas {
3673
- pointer-events: none;
3674
- }
3675
- .c-chart--disabled:hover {
3676
- transform: none;
3677
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
3678
- }
3679
3683
  .c-chart--fullscreen {
3680
3684
  position: fixed;
3681
3685
  top: 0;
@@ -3685,29 +3689,58 @@ a, a:hover {
3685
3689
  z-index: 9999;
3686
3690
  border-radius: 0;
3687
3691
  box-shadow: none;
3688
- background: var(--atomix-primary-bg-default);
3692
+ background: var(--atomix-body-bg);
3689
3693
  }
3690
3694
  .c-chart--elevated {
3691
- box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
3692
- transform: translateY(-2px);
3695
+ 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);
3693
3696
  }
3694
3697
  .c-chart--elevated:hover {
3695
- box-shadow: 0px 16px 64px -8px rgba(45, 54, 67, 0.14);
3696
- transform: translateY(-4px);
3698
+ 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);
3697
3699
  }
3698
- .c-chart--flat {
3700
+ .c-chart--glass {
3701
+ background: transparent;
3702
+ border: none;
3699
3703
  box-shadow: none;
3700
- border: 2px solid var(--atomix-primary-border-subtle);
3701
3704
  }
3702
- .c-chart--flat:hover {
3703
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
3705
+ .c-chart--glass .c-chart__content {
3706
+ position: relative;
3707
+ }
3708
+ .c-chart--glass .c-chart__canvas {
3709
+ position: relative;
3710
+ }
3711
+ .c-chart--glass .c-chart__toolbar {
3712
+ position: relative;
3713
+ }
3714
+ .c-chart--disabled {
3715
+ opacity: 0.6;
3716
+ cursor: not-allowed;
3717
+ pointer-events: none;
3718
+ pointer-events: none;
3719
+ opacity: 0.6;
3720
+ }
3721
+ .c-chart--disabled:hover, .c-chart--disabled:focus, .c-chart--disabled:active {
3722
+ background-color: inherit;
3723
+ color: inherit;
3704
3724
  transform: none;
3705
3725
  }
3706
- .c-chart--rounded {
3707
- border-radius: 0.75rem;
3726
+ .c-chart--selected {
3727
+ border-color: rgba(var(--atomix-primary-rgb), 0.3);
3728
+ 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);
3729
+ background: linear-gradient(135deg, rgba(var(--atomix-primary-rgb), 0.08) 0%, rgba(var(--atomix-primary-rgb), 0.04) 100%), var(--atomix-chart-bg);
3708
3730
  }
3709
- .c-chart--square {
3710
- border-radius: 0;
3731
+ .c-chart--active {
3732
+ border-color: var(--atomix-primary-border-subtle);
3733
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
3734
+ }
3735
+ .c-chart--clickable {
3736
+ cursor: pointer;
3737
+ }
3738
+ .c-chart--clickable:hover {
3739
+ 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);
3740
+ border-color: rgba(var(--atomix-primary-rgb), 0.25);
3741
+ }
3742
+ .c-chart--clickable:active {
3743
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.12);
3711
3744
  }
3712
3745
  .c-chart__header {
3713
3746
  padding: var(--atomix-chart-padding);
@@ -3817,8 +3850,11 @@ a, a:hover {
3817
3850
  transform: scale(1.1);
3818
3851
  }
3819
3852
  .c-chart__action:focus-visible {
3820
- outline: 2px solid var(--atomix-primary-6);
3853
+ outline: 2px solid var(--atomix-focus-border-color);
3821
3854
  outline-offset: 2px;
3855
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
3856
+ }
3857
+ .c-chart__action:focus-visible {
3822
3858
  border-color: var(--atomix-primary-border-subtle);
3823
3859
  }
3824
3860
  .c-chart__action:active {
@@ -3844,45 +3880,6 @@ a, a:hover {
3844
3880
  background-color: transparent;
3845
3881
  border-color: transparent;
3846
3882
  }
3847
- .c-chart__action--primary {
3848
- background-color: var(--atomix-primary-6);
3849
- color: white;
3850
- border-color: var(--atomix-primary-6);
3851
- }
3852
- .c-chart__action--primary:hover {
3853
- background-color: var(--atomix-primary-7);
3854
- border-color: var(--atomix-primary-7);
3855
- }
3856
- .c-chart__action--primary:active {
3857
- background-color: var(--atomix-primary-8);
3858
- }
3859
- .c-chart__action--success {
3860
- background-color: var(--atomix-success-6);
3861
- color: white;
3862
- border-color: var(--atomix-success-6);
3863
- }
3864
- .c-chart__action--success:hover {
3865
- background-color: var(--atomix-success-7);
3866
- border-color: var(--atomix-success-7);
3867
- }
3868
- .c-chart__action--warning {
3869
- background-color: var(--atomix-warning-6);
3870
- color: white;
3871
- border-color: var(--atomix-warning-6);
3872
- }
3873
- .c-chart__action--warning:hover {
3874
- background-color: var(--atomix-warning-7);
3875
- border-color: var(--atomix-warning-7);
3876
- }
3877
- .c-chart__action--danger {
3878
- background-color: var(--atomix-error-6);
3879
- color: white;
3880
- border-color: var(--atomix-error-6);
3881
- }
3882
- .c-chart__action--danger:hover {
3883
- background-color: var(--atomix-error-7);
3884
- border-color: var(--atomix-error-7);
3885
- }
3886
3883
  .c-chart__export-group {
3887
3884
  position: relative;
3888
3885
  display: flex;
@@ -3904,7 +3901,7 @@ a, a:hover {
3904
3901
  border-radius: 0.25rem;
3905
3902
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
3906
3903
  padding: 0.25rem;
3907
- min-width: 7.5rem;
3904
+ min-width: 7rem;
3908
3905
  z-index: 1000;
3909
3906
  opacity: 0;
3910
3907
  visibility: hidden;
@@ -3934,8 +3931,8 @@ a, a:hover {
3934
3931
  color: var(--atomix-primary-text-emphasis);
3935
3932
  }
3936
3933
  .c-chart__export-option:focus-visible {
3937
- outline: 2px solid var(--atomix-primary-6);
3938
- outline-offset: -2px;
3934
+ outline: calc(var(--atomix-border-width) * 2) solid var(--atomix-primary-6);
3935
+ outline-offset: calc(var(--atomix-border-width) * -2);
3939
3936
  }
3940
3937
  .c-chart__export-option:disabled {
3941
3938
  opacity: 0.4;
@@ -3945,201 +3942,178 @@ a, a:hover {
3945
3942
  .c-chart__export-option:not(:last-child) {
3946
3943
  margin-bottom: 0.25rem;
3947
3944
  }
3948
- .c-chart__content {
3949
- flex: 1 1;
3950
- position: relative;
3951
- padding: var(--atomix-chart-padding);
3952
- display: flex;
3953
- align-items: center;
3954
- justify-content: center;
3955
- min-height: 8rem;
3956
- }
3957
- .c-chart__content::before {
3958
- content: "";
3945
+ .c-chart__settings-menu {
3959
3946
  position: absolute;
3960
- top: 0;
3961
- left: 0;
3947
+ top: 100%;
3962
3948
  right: 0;
3963
- bottom: 0;
3964
- background-image: radial-gradient(circle at 1px 1px, var(--atomix-primary-border-subtle) 1px, transparent 0);
3965
- background-size: 1.25rem 1.25rem;
3966
- opacity: 0.03;
3967
- pointer-events: none;
3968
- z-index: 0;
3949
+ margin-top: 0.25rem;
3950
+ background: var(--atomix-primary-bg-default);
3951
+ border: 1px solid var(--atomix-primary-border-subtle);
3952
+ border-radius: 0.25rem;
3953
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.175);
3954
+ padding: 0.5rem;
3955
+ min-width: 8.75rem;
3956
+ z-index: 1000;
3957
+ opacity: 0;
3958
+ visibility: hidden;
3959
+ transform: translateY(-8px);
3960
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
3961
+ -webkit-backdrop-filter: blur(8px);
3962
+ backdrop-filter: blur(8px);
3969
3963
  }
3970
- .c-chart__content::after {
3971
- content: "";
3972
- position: absolute;
3973
- inset: 0;
3974
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, transparent 50%, rgba(0, 0, 0, 0.02) 100%);
3975
- pointer-events: none;
3976
- z-index: 1;
3964
+ .c-chart__settings-menu-title {
3965
+ font-size: 0.875rem;
3966
+ font-weight: 600;
3967
+ color: var(--atomix-text-primary);
3968
+ margin-bottom: 0.5rem;
3969
+ padding-bottom: 0.5rem;
3970
+ border-bottom: 1px solid var(--atomix-border-color);
3977
3971
  }
3978
- .c-chart__canvas {
3979
- width: 100%;
3980
- height: 100%;
3981
- position: relative;
3982
- overflow: hidden;
3983
- border-radius: 0.25rem;
3984
- z-index: 2;
3985
- }
3986
- .c-chart__canvas svg {
3987
- width: 100%;
3988
- height: 100%;
3989
- shape-rendering: geometricPrecision;
3990
- text-rendering: optimizeLegibility;
3991
- image-rendering: -webkit-optimize-contrast;
3992
- image-rendering: crisp-edges;
3993
- }
3994
- .c-chart__canvas canvas {
3995
- width: 100%;
3996
- height: 100%;
3997
- image-rendering: -webkit-optimize-contrast;
3998
- image-rendering: crisp-edges;
3972
+ .c-chart__settings-menu-content {
3973
+ display: flex;
3974
+ flex-direction: column;
3975
+ gap: 0.25rem;
3999
3976
  }
4000
- .c-chart__crosshair {
4001
- pointer-events: none;
3977
+ .c-chart__settings-menu-item {
3978
+ display: flex;
3979
+ align-items: center;
3980
+ justify-content: space-between;
3981
+ padding: 0.375rem 0;
3982
+ gap: 0.75rem;
4002
3983
  }
4003
- .c-chart__crosshair line, .c-chart__crosshair-line {
4004
- stroke: var(--atomix-primary-border-subtle);
4005
- stroke-width: 1;
4006
- stroke-dasharray: 4, 4;
3984
+ .c-chart__settings-menu-item--info {
4007
3985
  opacity: 0.7;
3986
+ font-size: 0.75rem;
4008
3987
  }
4009
- .c-chart__crosshair line--vertical, .c-chart__crosshair line--horizontal, .c-chart__crosshair-line--vertical, .c-chart__crosshair-line--horizontal {
4010
- opacity: 0.7;
3988
+ .c-chart__settings-menu-toggle {
3989
+ display: flex;
3990
+ align-items: center;
3991
+ gap: 0.5rem;
3992
+ cursor: pointer;
3993
+ width: 100%;
3994
+ -webkit-user-select: none;
3995
+ -moz-user-select: none;
3996
+ user-select: none;
4011
3997
  }
4012
- .c-chart__zoom-indicator {
4013
- position: absolute;
4014
- top: 10px;
4015
- right: 10px;
4016
- background: rgba(0, 0, 0, 0.8);
4017
- color: white;
4018
- padding: 4px 8px;
4019
- border-radius: 0.25rem;
3998
+ .c-chart__settings-menu-toggle input[type=checkbox] {
3999
+ width: 1rem;
4000
+ height: 1rem;
4001
+ cursor: pointer;
4002
+ accent-color: var(--atomix-primary);
4003
+ flex-shrink: 0;
4004
+ }
4005
+ .c-chart__settings-menu-label {
4020
4006
  font-size: 0.75rem;
4021
4007
  font-weight: 500;
4022
- pointer-events: none;
4023
- z-index: 10;
4024
- }
4025
- .c-chart__navigator {
4026
- opacity: 0.8;
4027
- }
4028
- .c-chart__navigator rect {
4029
- fill: rgba(0, 0, 0, 0.05);
4030
- stroke: var(--atomix-gray-3);
4031
- stroke-width: 1;
4008
+ color: var(--atomix-text-primary);
4009
+ flex: 1 1;
4032
4010
  }
4033
- .c-chart__navigator path {
4034
- stroke-width: 1;
4035
- fill: none;
4036
- opacity: 0.6;
4011
+ .c-chart__settings-menu-value {
4012
+ font-size: 0.75rem;
4013
+ font-weight: 600;
4014
+ color: var(--atomix-secondary-text-emphasis);
4015
+ text-transform: capitalize;
4037
4016
  }
4038
- .c-chart__real-time-indicator {
4039
- position: absolute;
4040
- top: 10px;
4041
- left: 10px;
4017
+ .c-chart__toolbar-group {
4042
4018
  display: flex;
4043
4019
  align-items: center;
4044
- gap: 6px;
4045
- background: var(--atomix-success-bg-subtle);
4046
- color: var(--atomix-success-text-emphasis);
4047
- padding: 4px 8px;
4048
- border-radius: 0.25rem;
4020
+ gap: 0.5rem;
4021
+ position: relative;
4022
+ }
4023
+ .c-chart__toolbar-group:hover .c-chart__export-dropdown,
4024
+ .c-chart__toolbar-group:hover .c-chart__settings-menu {
4025
+ opacity: 1;
4026
+ visibility: visible;
4027
+ transform: translateY(0);
4028
+ }
4029
+ .c-chart__toolbar-separator {
4030
+ width: 1px;
4031
+ height: 1.5rem;
4032
+ background: var(--atomix-border-color);
4033
+ margin: 0 0.5rem;
4034
+ }
4035
+ .c-chart__toolbar-label {
4049
4036
  font-size: 0.75rem;
4050
4037
  font-weight: 500;
4051
- border: 1px solid var(--atomix-success-border-subtle);
4052
- }
4053
- .c-chart__real-time-indicator::before {
4054
- content: "";
4055
- width: 6px;
4056
- height: 6px;
4057
- background: var(--atomix-success-6);
4058
- border-radius: 50%;
4059
- animation: chart-pulse-dot 2s ease-in-out infinite;
4038
+ color: var(--atomix-secondary-text-emphasis);
4039
+ text-transform: uppercase;
4040
+ letter-spacing: 0.5px;
4041
+ margin-right: 0.5rem;
4060
4042
  }
4061
- .c-chart__legend {
4062
- display: flex;
4063
- flex-wrap: wrap;
4064
- gap: 0.75rem;
4043
+ .c-chart__content {
4044
+ flex: 1 1;
4045
+ position: relative;
4065
4046
  padding: var(--atomix-chart-padding);
4066
- border-top: var(--atomix-chart-border-width) solid var(--atomix-brand-border-subtle);
4067
- z-index: 2;
4068
- }
4069
- .c-chart__legend-item {
4070
4047
  display: flex;
4071
4048
  align-items: center;
4072
- gap: 0.5rem;
4073
- cursor: pointer;
4074
- padding: 0.5rem 0.75rem;
4075
- border-radius: 0.25rem;
4076
- border: var(--atomix-chart-border-width) solid transparent;
4077
- background-color: transparent;
4078
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4079
- -webkit-user-select: none;
4080
- -moz-user-select: none;
4081
- user-select: none;
4082
- position: relative;
4049
+ justify-content: center;
4050
+ min-height: 8rem;
4051
+ z-index: 3;
4052
+ contain: layout;
4083
4053
  overflow: hidden;
4084
4054
  }
4085
- .c-chart__legend-item::before {
4055
+ .c-chart__content::before {
4086
4056
  content: "";
4087
4057
  position: absolute;
4088
- inset: 0;
4089
- background: var(--atomix-secondary-bg-subtle);
4090
- opacity: 0;
4091
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4092
- }
4093
- .c-chart__legend-item:hover {
4094
- background-color: var(--atomix-secondary-bg-subtle);
4095
- border-color: var(--atomix-primary-border-subtle);
4096
- transform: translateY(-1px);
4097
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.075);
4098
- }
4099
- .c-chart__legend-item:hover::before {
4100
- opacity: 1;
4101
- }
4102
- .c-chart__legend-item:focus-visible:focus-visible {
4103
- outline: 2px solid var(--atomix-focus-border-color);
4104
- outline-offset: 2px;
4105
- box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4106
- }
4107
- .c-chart__legend-item:active {
4108
- transform: translateY(0);
4109
- }
4110
- .c-chart__legend-item[data-visible=false] {
4058
+ top: 0;
4059
+ left: 0;
4060
+ right: 0;
4061
+ bottom: 0;
4062
+ background-image: radial-gradient(circle at 1px 1px, rgba(var(--atomix-primary-rgb), 0.08) 1px, transparent 0);
4063
+ background-size: 16px 16px;
4111
4064
  opacity: 0.4;
4112
- filter: grayscale(60%);
4113
- }
4114
- .c-chart__legend-item[data-visible=false] .c-chart__legend-label {
4115
- text-decoration: line-through;
4065
+ pointer-events: none;
4066
+ z-index: 0;
4116
4067
  }
4117
- .c-chart__legend-item[data-visible=false] .c-chart__legend-color {
4118
- opacity: 0.3;
4119
- filter: grayscale(100%);
4068
+ .c-chart__content::after {
4069
+ content: "";
4070
+ position: absolute;
4071
+ inset: 0;
4072
+ background: linear-gradient(180deg, rgba(var(--atomix-primary-rgb), 0.03) 0%, transparent 30%, transparent 70%, rgba(var(--atomix-secondary-rgb), 0.02) 100%);
4073
+ pointer-events: none;
4074
+ z-index: 1;
4120
4075
  }
4121
- .c-chart__legend-color {
4122
- width: 0.75rem;
4123
- height: 0.75rem;
4124
- border-radius: 0.25rem;
4125
- border: var(--atomix-chart-border-width) solid var(--atomix-primary-border-subtle);
4126
- flex-shrink: 0;
4127
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
4128
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4076
+ .c-chart__canvas {
4077
+ width: 100%;
4078
+ height: 100%;
4129
4079
  position: relative;
4080
+ overflow: hidden;
4081
+ border-radius: 0.25rem;
4082
+ z-index: 2;
4083
+ background: transparent;
4084
+ min-height: 200px;
4085
+ contain: layout style paint;
4130
4086
  }
4131
- .c-chart__legend-label {
4132
- color: var(--atomix-primary-text-emphasis);
4133
- font-weight: 500;
4134
- letter-spacing: -0.01em;
4135
- transition: color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4136
- position: relative;
4137
- z-index: 1;
4087
+ .c-chart__canvas svg {
4088
+ display: block;
4089
+ shape-rendering: geometricPrecision;
4090
+ text-rendering: optimizeLegibility;
4091
+ image-rendering: -webkit-optimize-contrast;
4092
+ image-rendering: crisp-edges;
4093
+ will-change: contents;
4094
+ -webkit-backface-visibility: hidden;
4095
+ backface-visibility: hidden;
4096
+ transform: translateZ(0);
4097
+ opacity: 0;
4098
+ animation: chart-fade-in 0.3s ease-out forwards;
4099
+ }
4100
+ @keyframes chart-fade-in {
4101
+ from {
4102
+ opacity: 0;
4103
+ }
4104
+ to {
4105
+ opacity: 1;
4106
+ }
4107
+ }
4108
+ .c-chart__canvas canvas {
4109
+ width: 100%;
4110
+ height: 100%;
4111
+ display: block;
4112
+ image-rendering: -webkit-optimize-contrast;
4113
+ image-rendering: crisp-edges;
4138
4114
  }
4139
4115
  .c-chart__tooltip {
4140
4116
  position: fixed;
4141
- top: 0;
4142
- left: 0;
4143
4117
  -webkit-backdrop-filter: blur(1rem);
4144
4118
  backdrop-filter: blur(1rem);
4145
4119
  border-radius: 0.625rem;
@@ -4171,8 +4145,8 @@ a, a:hover {
4171
4145
  gap: 0.5rem;
4172
4146
  }
4173
4147
  .c-chart__tooltip-color-indicator {
4174
- width: 12px;
4175
- height: 12px;
4148
+ width: 0.75rem;
4149
+ height: 0.75rem;
4176
4150
  border-radius: 50%;
4177
4151
  flex-shrink: 0;
4178
4152
  }
@@ -4206,64 +4180,10 @@ a, a:hover {
4206
4180
  color: var(--atomix-primary-text-emphasis);
4207
4181
  font-weight: 500;
4208
4182
  }
4209
- .c-chart__axis {
4210
- position: relative;
4211
- z-index: 55;
4212
- }
4213
- .c-chart__axis--x {
4214
- text-anchor: middle;
4215
- dominant-baseline: hanging;
4216
- }
4217
- .c-chart__axis--y {
4218
- text-anchor: end;
4219
- dominant-baseline: middle;
4220
- }
4221
- .c-chart__axis-line {
4222
- stroke: var(--atomix-primary-border-subtle);
4223
- stroke-width: 1;
4224
- opacity: 0.6;
4225
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4226
- }
4227
- .c-chart__axis-line--x, .c-chart__axis-line--y {
4228
- stroke-width: 2;
4229
- }
4230
- .c-chart__axis-line:hover {
4231
- opacity: 0.8;
4232
- }
4233
- .c-chart__tick-line {
4234
- stroke: var(--atomix-primary-border-subtle);
4235
- stroke-width: 1;
4236
- }
4237
- .c-chart__tick-label {
4238
- font-size: 0.75rem;
4239
- fill: var(--atomix-secondary-text-emphasis);
4240
- }
4241
- .c-chart__axis-label {
4242
- font-size: 0.75rem;
4243
- font-weight: 500;
4244
- fill: var(--atomix-tertiary-text-emphasis);
4245
- text-anchor: middle;
4246
- }
4247
- .c-chart__plot-area {
4248
- fill: rgba(248, 250, 252, 0.5);
4249
- stroke: var(--atomix-primary-border-subtle);
4250
- stroke-width: 1;
4251
- }
4252
- .c-chart__value-label {
4253
- font-size: 0.75rem;
4254
- fill: var(--atomix-primary-text-emphasis);
4255
- pointer-events: none;
4256
- }
4257
- .c-chart__data-label {
4258
- font-size: 0.75rem;
4259
- fill: var(--atomix-secondary-text-emphasis);
4260
- pointer-events: none;
4261
- }
4262
4183
  .c-chart__grid {
4263
4184
  stroke: var(--atomix-primary-border-subtle);
4264
4185
  stroke-width: 0.5;
4265
4186
  stroke-dasharray: 2, 4;
4266
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4267
4187
  }
4268
4188
  .c-chart__grid--major {
4269
4189
  stroke-width: 1;
@@ -4278,40 +4198,54 @@ a, a:hover {
4278
4198
  stroke-dasharray: none;
4279
4199
  opacity: 0.6;
4280
4200
  }
4281
- .c-chart__grid:hover {
4201
+ .c-chart__axis-line {
4202
+ stroke: var(--atomix-border-color);
4203
+ stroke-width: 1;
4282
4204
  opacity: 0.6;
4283
4205
  }
4206
+ .c-chart__axis-label {
4207
+ font-size: 0.75rem;
4208
+ font-weight: 500;
4209
+ fill: var(--atomix-tertiary-text-emphasis);
4210
+ }
4211
+ .c-chart__legend-item-color {
4212
+ width: 0.75rem;
4213
+ height: 0.75rem;
4214
+ flex-shrink: 0;
4215
+ }
4216
+ .c-chart__legend-item-text {
4217
+ font-size: 0.75rem;
4218
+ fill: var(--atomix-text-primary);
4219
+ }
4220
+ .c-chart__data-line {
4221
+ stroke-width: 2.5;
4222
+ fill: none;
4223
+ }
4224
+ .c-chart__data-line--hovered {
4225
+ stroke-width: 3.5;
4226
+ }
4284
4227
  .c-chart__data-point {
4285
4228
  cursor: pointer;
4286
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
4287
- transform-origin: center center;
4229
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4288
4230
  }
4289
4231
  .c-chart__data-point:hover {
4290
4232
  opacity: 0.8;
4291
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4292
4233
  }
4293
4234
  .c-chart__data-point:focus-visible {
4294
- outline: 2px solid var(--atomix-primary-border-subtle);
4235
+ outline: 2px solid var(--atomix-focus-border-color);
4295
4236
  outline-offset: 2px;
4237
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4296
4238
  }
4297
- .c-chart__data-point:active {
4298
- transform: scale(1.05);
4299
- }
4300
- .c-chart__data-point[data-highlighted=true] {
4301
- transform: scale(1.2);
4302
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
4303
- z-index: 10;
4304
- animation: chart-glow 2s ease-in-out infinite;
4239
+ .c-chart__data-point--hovered {
4240
+ opacity: 0.9;
4241
+ transform: scale(1.1);
4305
4242
  }
4306
- .c-chart__data-point[data-selected=true] {
4307
- stroke: var(--atomix-primary-border-subtle);
4243
+ .c-chart__data-point--selected {
4244
+ opacity: 1;
4308
4245
  stroke-width: 2;
4309
- filter: drop-shadow(0 0 0 2px var(--atomix-primary-border-subtle));
4310
- }
4311
- .c-chart__data-point[data-animated=true] {
4312
- animation: chart-scale-in 0.5s ease-out;
4246
+ filter: drop-shadow(0 0 4px currentColor);
4313
4247
  }
4314
- .c-chart__loading {
4248
+ .c-chart__empty {
4315
4249
  display: flex;
4316
4250
  flex-direction: column;
4317
4251
  align-items: center;
@@ -4319,970 +4253,707 @@ a, a:hover {
4319
4253
  gap: 1rem;
4320
4254
  color: var(--atomix-secondary-text-emphasis);
4321
4255
  font-size: 0.875rem;
4256
+ text-align: center;
4257
+ padding: 2rem;
4322
4258
  min-height: 8rem;
4259
+ opacity: 0.6;
4323
4260
  animation: chart-fade-in 0.6s ease-out;
4324
4261
  }
4325
- .c-chart__loading-spinner {
4326
- width: 2rem;
4327
- height: 2rem;
4328
- border: 3px solid var(--atomix-primary-border-subtle);
4329
- border-top: 3px solid var(--atomix-primary-text-emphasis);
4330
- border-radius: 50%;
4331
- animation: chart-spin 1.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
4332
- }
4333
- .c-chart__loading-text {
4334
- font-weight: 500;
4335
- opacity: 0.8;
4336
- animation: chart-pulse 2s ease-in-out infinite;
4262
+ .c-chart__toolbar--sm {
4263
+ gap: 0.25rem;
4337
4264
  }
4338
- .c-chart__error {
4339
- display: flex;
4340
- flex-direction: column;
4341
- align-items: center;
4342
- justify-content: center;
4265
+ .c-chart__toolbar--lg {
4266
+ padding: 0.5rem;
4343
4267
  gap: 0.75rem;
4344
- color: var(--atomix-error-text-emphasis);
4345
- font-size: 0.875rem;
4346
- text-align: center;
4347
- padding: 2rem;
4348
- min-height: 8rem;
4349
- background-color: var(--atomix-error-bg-subtle);
4350
- border-radius: 0.25rem;
4351
- border: var(--atomix-chart-border-width) solid var(--atomix-error-border-subtle);
4352
- animation: chart-fade-in 0.6s ease-out;
4353
4268
  }
4354
- .c-chart__empty {
4355
- display: flex;
4356
- flex-direction: column;
4357
- align-items: center;
4358
- justify-content: center;
4359
- gap: 1rem;
4360
- color: var(--atomix-secondary-text-emphasis);
4361
- font-size: 0.875rem;
4362
- text-align: center;
4363
- padding: 2rem;
4364
- min-height: 8rem;
4365
- opacity: 0.6;
4366
- animation: chart-fade-in 0.6s ease-out;
4367
- }
4368
- .c-chart--line .c-chart__canvas .line-path,
4369
- .c-chart--line .c-chart__canvas .c-chart__line-path {
4370
- fill: none;
4371
- stroke-width: 2.5;
4372
- stroke-linecap: round;
4373
- stroke-linejoin: round;
4374
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4375
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
4376
- stroke-dasharray: 1000;
4377
- stroke-dashoffset: 1000;
4378
- animation: chart-draw-line 2s ease-out forwards;
4379
- }
4380
- .c-chart--line .c-chart__canvas .line-path:hover,
4381
- .c-chart--line .c-chart__canvas .c-chart__line-path:hover {
4382
- stroke-width: 3.5;
4383
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4384
- }
4385
- .c-chart--line .c-chart__canvas .trend-line {
4386
- stroke-dasharray: 5, 5;
4387
- opacity: 0.7;
4388
- animation: chart-dash-flow 2s linear infinite;
4389
- }
4390
- .c-chart--line .c-chart__canvas .moving-average {
4391
- stroke-dasharray: 4, 4;
4392
- opacity: 0.6;
4393
- stroke-width: 1;
4394
- fill: none;
4395
- }
4396
- .c-chart--line .c-chart__canvas .area-path,
4397
- .c-chart--line .c-chart__canvas .c-chart__area-path {
4398
- opacity: 0.15;
4399
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4400
- animation: chart-area-fade 1.5s ease-out;
4401
- }
4402
- .c-chart--line .c-chart__canvas .area-path:hover,
4403
- .c-chart--line .c-chart__canvas .c-chart__area-path:hover {
4404
- opacity: 0.25;
4405
- }
4406
- .c-chart--line .c-chart__canvas .chart-point-label {
4407
- font-size: 0.75rem;
4269
+ .c-chart__legend-item--active {
4270
+ opacity: 1;
4408
4271
  font-weight: 600;
4409
- text-anchor: middle;
4410
- dominant-baseline: middle;
4411
- pointer-events: none;
4412
- opacity: 0;
4413
- transition: opacity 0.2s ease;
4414
4272
  }
4415
- .c-chart--line .c-chart__canvas .chart-point-label.visible {
4416
- opacity: 1;
4273
+ .c-chart__legend-item--inactive {
4274
+ opacity: 0.5;
4417
4275
  }
4418
- .c-chart--line .c-chart__canvas .data-point {
4419
- r: 4;
4276
+ .c-chart__treemap-node {
4277
+ stroke: var(--atomix-border-color);
4278
+ stroke-width: 1;
4420
4279
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4421
4280
  cursor: pointer;
4281
+ shape-rendering: geometricPrecision;
4422
4282
  }
4423
- .c-chart--line .c-chart__canvas .data-point:hover {
4424
- r: 6;
4425
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
4283
+ .c-chart__treemap-node:hover {
4284
+ transform: scale(1.02);
4285
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4286
+ stroke-width: 1.5;
4426
4287
  }
4427
- .c-chart--line .c-chart__canvas .data-point[data-highlighted=true] {
4428
- r: 8;
4429
- stroke-width: 3;
4288
+ .c-chart__treemap-node--hovered {
4289
+ transform: scale(1.02);
4290
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4291
+ stroke-width: 1.5;
4292
+ }
4293
+ .c-chart__treemap-node--selected {
4294
+ stroke: var(--atomix-primary-border-subtle);
4295
+ stroke-width: 2;
4296
+ filter: drop-shadow(0 16px 48px rgba(0, 0, 0, 0.175));
4430
4297
  }
4431
- .c-chart--line .c-chart__canvas .data-point:focus-visible {
4298
+ .c-chart__treemap-node:focus-visible {
4432
4299
  outline: 2px solid var(--atomix-focus-border-color);
4433
4300
  outline-offset: 2px;
4301
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4434
4302
  }
4435
- .c-chart--area .c-chart__canvas .area-path {
4436
- opacity: 0.3;
4437
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4438
- animation: chart-area-fade 1.5s ease-out;
4439
- }
4440
- .c-chart--area .c-chart__canvas .area-path:hover {
4441
- opacity: 0.45;
4442
- }
4443
- .c-chart--area .c-chart__canvas .line-path {
4444
- stroke-width: 2;
4445
- opacity: 0.9;
4446
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4447
- animation: chart-draw-line 2s ease-out;
4448
- }
4449
- .c-chart--area .c-chart__canvas .line-path:hover {
4450
- stroke-width: 3;
4451
- opacity: 1;
4303
+ .c-chart__treemap-label {
4304
+ font-size: 0.875rem;
4305
+ font-weight: 500;
4306
+ fill: var(--atomix-text-primary);
4307
+ text-anchor: middle;
4308
+ dominant-baseline: middle;
4309
+ pointer-events: none;
4310
+ -webkit-user-select: none;
4311
+ -moz-user-select: none;
4312
+ user-select: none;
4313
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4452
4314
  }
4453
- .c-chart--bar .c-chart__canvas .bar,
4454
- .c-chart--bar .c-chart__canvas .c-chart__bar, .c-chart--horizontal-bar .c-chart__canvas .bar,
4455
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar {
4315
+ .c-chart__funnel-segment {
4316
+ stroke: var(--atomix-border-color);
4317
+ stroke-width: 1;
4456
4318
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4457
4319
  cursor: pointer;
4458
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
4459
- animation: chart-bar-grow 0.8s ease-out;
4460
- opacity: 1;
4320
+ shape-rendering: geometricPrecision;
4461
4321
  }
4462
- .c-chart--bar .c-chart__canvas .bar:hover, .c-chart--bar .c-chart__canvas .bar--hovered,
4463
- .c-chart--bar .c-chart__canvas .c-chart__bar:hover,
4464
- .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,
4465
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:hover,
4466
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar--hovered {
4467
- opacity: 0.85;
4468
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
4322
+ .c-chart__funnel-segment:hover {
4323
+ opacity: 0.9;
4324
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4325
+ stroke-width: 1.5;
4469
4326
  }
4470
- .c-chart--bar .c-chart__canvas .bar:focus-visible,
4471
- .c-chart--bar .c-chart__canvas .c-chart__bar:focus-visible, .c-chart--horizontal-bar .c-chart__canvas .bar:focus-visible,
4472
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar:focus-visible {
4473
- outline: 2px solid var(--atomix-primary-border-subtle);
4327
+ .c-chart__funnel-segment:focus-visible {
4328
+ outline: 2px solid var(--atomix-focus-border-color);
4474
4329
  outline-offset: 2px;
4330
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4475
4331
  }
4476
- .c-chart--bar .c-chart__canvas .bar[data-animated=true],
4477
- .c-chart--bar .c-chart__canvas .c-chart__bar[data-animated=true], .c-chart--horizontal-bar .c-chart__canvas .bar[data-animated=true],
4478
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar[data-animated=true] {
4479
- animation: chart-bar-grow 0.8s ease-out;
4480
- }
4481
- .c-chart--bar .c-chart__canvas .bar-group .bar, .c-chart--horizontal-bar .c-chart__canvas .bar-group .bar {
4482
- animation-delay: calc(var(--bar-index) * 0.1s);
4483
- }
4484
- .c-chart--bar .c-chart__canvas .bar-value-label,
4485
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label,
4486
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label {
4487
- font-size: 0.75rem;
4332
+ .c-chart__funnel-label {
4333
+ font-size: 0.875rem;
4488
4334
  font-weight: 500;
4489
- fill: var(--atomix-primary-text-emphasis);
4335
+ fill: var(--atomix-text-primary);
4490
4336
  text-anchor: middle;
4491
- opacity: 1;
4492
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4493
- font-feature-settings: "tnum";
4494
- font-variant-numeric: tabular-nums;
4337
+ dominant-baseline: middle;
4495
4338
  pointer-events: none;
4339
+ -webkit-user-select: none;
4340
+ -moz-user-select: none;
4341
+ user-select: none;
4342
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4496
4343
  }
4497
- .c-chart--bar .c-chart__canvas .bar-value-label.visible,
4498
- .c-chart--bar .c-chart__canvas .c-chart__bar-value-label.visible, .c-chart--horizontal-bar .c-chart__canvas .bar-value-label.visible,
4499
- .c-chart--horizontal-bar .c-chart__canvas .c-chart__bar-value-label.visible {
4500
- opacity: 1;
4501
- }
4502
- .c-chart--bar .c-chart__canvas .bar-gradient stop, .c-chart--horizontal-bar .c-chart__canvas .bar-gradient stop {
4503
- transition: stop-opacity 0.3s ease;
4504
- }
4505
- .c-chart--bar .c-chart__canvas .bar {
4506
- transform-origin: bottom center;
4507
- animation: chart-bar-grow 0.8s ease-out;
4508
- }
4509
- .c-chart--bar .c-chart__canvas .bar:hover {
4510
- transform: scaleY(1.05);
4511
- }
4512
- .c-chart--horizontal-bar .c-chart__canvas .bar {
4513
- transform-origin: left center;
4514
- animation: chart-bar-grow-horizontal 0.8s ease-out;
4515
- }
4516
- .c-chart--horizontal-bar .c-chart__canvas .bar:hover {
4517
- transform: scaleX(1.05);
4518
- }
4519
- .c-chart--pie .c-chart__canvas .pie-slice,
4520
- .c-chart--pie .c-chart__canvas .donut-slice,
4521
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice,
4522
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice, .c-chart--donut .c-chart__canvas .pie-slice,
4523
- .c-chart--donut .c-chart__canvas .donut-slice,
4524
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice,
4525
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice, .c-chart--doughnut .c-chart__canvas .pie-slice,
4526
- .c-chart--doughnut .c-chart__canvas .donut-slice,
4527
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice,
4528
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice {
4529
- transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
4530
- stroke: var(--atomix-primary-bg-subtle);
4531
- stroke-width: 2;
4532
- cursor: pointer;
4533
- transform-origin: center;
4534
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));
4535
- opacity: 1;
4536
- animation: chart-pie-draw 1.5s ease-out;
4537
- }
4538
- .c-chart--pie .c-chart__canvas .pie-slice:hover, .c-chart--pie .c-chart__canvas .pie-slice--hovered,
4539
- .c-chart--pie .c-chart__canvas .donut-slice:hover,
4540
- .c-chart--pie .c-chart__canvas .donut-slice--hovered,
4541
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:hover,
4542
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--hovered,
4543
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:hover,
4544
- .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,
4545
- .c-chart--donut .c-chart__canvas .donut-slice:hover,
4546
- .c-chart--donut .c-chart__canvas .donut-slice--hovered,
4547
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:hover,
4548
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--hovered,
4549
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:hover,
4550
- .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,
4551
- .c-chart--doughnut .c-chart__canvas .donut-slice:hover,
4552
- .c-chart--doughnut .c-chart__canvas .donut-slice--hovered,
4553
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:hover,
4554
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--hovered,
4555
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:hover,
4556
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--hovered {
4557
- opacity: 0.8;
4558
- transform: scale(1.05);
4559
- stroke-width: 3;
4560
- filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.2));
4561
- }
4562
- .c-chart--pie .c-chart__canvas .pie-slice--selected,
4563
- .c-chart--pie .c-chart__canvas .donut-slice--selected,
4564
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice--selected,
4565
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--donut .c-chart__canvas .pie-slice--selected,
4566
- .c-chart--donut .c-chart__canvas .donut-slice--selected,
4567
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice--selected,
4568
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice--selected, .c-chart--doughnut .c-chart__canvas .pie-slice--selected,
4569
- .c-chart--doughnut .c-chart__canvas .donut-slice--selected,
4570
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice--selected,
4571
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice--selected {
4572
- stroke: var(--atomix-primary-border-subtle);
4573
- stroke-width: 3;
4574
- }
4575
- .c-chart--pie .c-chart__canvas .pie-slice:focus-visible,
4576
- .c-chart--pie .c-chart__canvas .donut-slice:focus-visible,
4577
- .c-chart--pie .c-chart__canvas .c-chart__pie-slice:focus-visible,
4578
- .c-chart--pie .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--donut .c-chart__canvas .pie-slice:focus-visible,
4579
- .c-chart--donut .c-chart__canvas .donut-slice:focus-visible,
4580
- .c-chart--donut .c-chart__canvas .c-chart__pie-slice:focus-visible,
4581
- .c-chart--donut .c-chart__canvas .c-chart__donut-slice:focus-visible, .c-chart--doughnut .c-chart__canvas .pie-slice:focus-visible,
4582
- .c-chart--doughnut .c-chart__canvas .donut-slice:focus-visible,
4583
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-slice:focus-visible,
4584
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-slice:focus-visible {
4585
- outline: 2px solid var(--atomix-primary-border-subtle);
4586
- outline-offset: 4px;
4587
- }
4588
- .c-chart--pie .c-chart__canvas .pie-label,
4589
- .c-chart--pie .c-chart__canvas .c-chart__pie-label,
4590
- .c-chart--pie .c-chart__canvas .c-chart__donut-label, .c-chart--donut .c-chart__canvas .pie-label,
4591
- .c-chart--donut .c-chart__canvas .c-chart__pie-label,
4592
- .c-chart--donut .c-chart__canvas .c-chart__donut-label, .c-chart--doughnut .c-chart__canvas .pie-label,
4593
- .c-chart--doughnut .c-chart__canvas .c-chart__pie-label,
4594
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-label {
4344
+ .c-chart__funnel-conversion {
4595
4345
  font-size: 0.75rem;
4596
4346
  font-weight: 600;
4597
- fill: var(--atomix-primary-text-emphasis);
4598
- text-anchor: middle;
4599
- pointer-events: none;
4600
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4601
- font-feature-settings: "tnum";
4602
- font-variant-numeric: tabular-nums;
4603
- }
4604
- .c-chart--donut .c-chart__canvas .donut-slice, .c-chart--doughnut .c-chart__canvas .donut-slice {
4605
- animation: chart-donut-draw 1.5s ease-out;
4606
- }
4607
- .c-chart--donut .c-chart__canvas .donut-center,
4608
- .c-chart--donut .c-chart__canvas .c-chart__donut-center, .c-chart--doughnut .c-chart__canvas .donut-center,
4609
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center {
4610
- transition: fill 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4611
- }
4612
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-bg, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-bg {
4613
- fill: var(--atomix-primary-bg-subtle);
4614
- }
4615
- .c-chart--donut .c-chart__canvas .donut-center-label,
4616
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-label, .c-chart--doughnut .c-chart__canvas .donut-center-label,
4617
- .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-label {
4618
- font-size: 0.875rem;
4619
- font-weight: 500;
4620
4347
  fill: var(--atomix-secondary-text-emphasis);
4621
4348
  text-anchor: middle;
4622
- dominant-baseline: central;
4623
- font-feature-settings: "tnum";
4624
- font-variant-numeric: tabular-nums;
4625
- }
4626
- .c-chart--donut .c-chart__canvas .c-chart__donut-center-value, .c-chart--doughnut .c-chart__canvas .c-chart__donut-center-value {
4627
- font-size: 1.5rem;
4628
- font-weight: 700;
4629
- fill: var(--atomix-primary-text-emphasis);
4630
- text-anchor: middle;
4631
- dominant-baseline: central;
4632
- font-feature-settings: "tnum";
4633
- font-variant-numeric: tabular-nums;
4349
+ dominant-baseline: middle;
4350
+ pointer-events: none;
4351
+ -webkit-user-select: none;
4352
+ -moz-user-select: none;
4353
+ user-select: none;
4354
+ opacity: 0.8;
4634
4355
  }
4635
- .c-chart--scatter .c-chart__canvas .scatter-point,
4636
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point {
4637
- stroke: var(--atomix-primary-border-subtle);
4356
+ .c-chart__heatmap-cell {
4357
+ stroke: var(--atomix-border-color);
4638
4358
  stroke-width: 1;
4359
+ rx: 0.25rem;
4360
+ ry: 0.25rem;
4639
4361
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4640
4362
  cursor: pointer;
4641
- filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
4642
- animation: chart-fade-in 0.6s ease-out;
4363
+ shape-rendering: geometricPrecision;
4643
4364
  }
4644
- .c-chart--scatter .c-chart__canvas .scatter-point:hover,
4645
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:hover {
4646
- filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
4365
+ .c-chart__heatmap-cell:hover {
4366
+ transform: scale(1.05);
4367
+ transform-origin: center;
4368
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4369
+ stroke-width: 2;
4370
+ z-index: 10;
4371
+ }
4372
+ .c-chart__heatmap-cell--hovered {
4373
+ transform: scale(1.05);
4374
+ transform-origin: center;
4375
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4376
+ stroke-width: 2;
4377
+ z-index: 10;
4647
4378
  }
4648
- .c-chart--scatter .c-chart__canvas .scatter-point:focus-visible,
4649
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-point:focus-visible {
4650
- outline: 2px solid var(--atomix-primary-border-subtle);
4379
+ .c-chart__heatmap-cell:focus-visible {
4380
+ outline: 2px solid var(--atomix-focus-border-color);
4651
4381
  outline-offset: 2px;
4382
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4652
4383
  }
4653
- .c-chart--scatter .c-chart__canvas .c-chart__scatter-label {
4384
+ .c-chart__heatmap-label {
4654
4385
  font-size: 0.75rem;
4655
- fill: var(--atomix-primary-text-emphasis);
4386
+ font-weight: 400;
4387
+ fill: var(--atomix-text-primary);
4388
+ text-anchor: middle;
4389
+ dominant-baseline: middle;
4656
4390
  pointer-events: none;
4391
+ -webkit-user-select: none;
4392
+ -moz-user-select: none;
4393
+ user-select: none;
4657
4394
  }
4658
- .c-chart--bubble .c-chart__canvas .c-chart__bubble {
4659
- stroke: var(--atomix-primary-bg-subtle);
4660
- stroke-width: 2;
4661
- cursor: pointer;
4662
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4663
- }
4664
- .c-chart--bubble .c-chart__canvas .c-chart__bubble--animated {
4665
- transition: all 1s ease-out;
4666
- }
4667
- .c-chart--bubble .c-chart__canvas .c-chart__bubble:hover {
4668
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
4669
- }
4670
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label {
4395
+ .c-chart__heatmap-axis-label {
4671
4396
  font-size: 0.75rem;
4672
4397
  font-weight: 500;
4673
- fill: var(--atomix-tertiary-text-emphasis);
4398
+ fill: var(--atomix-secondary-text-emphasis);
4399
+ text-anchor: middle;
4400
+ dominant-baseline: middle;
4674
4401
  pointer-events: none;
4402
+ -webkit-user-select: none;
4403
+ -moz-user-select: none;
4404
+ user-select: none;
4675
4405
  }
4676
- .c-chart--bubble .c-chart__canvas .c-chart__bubble-label--center {
4677
- fill: var(--atomix-invert-text-emphasis);
4678
- font-weight: 700;
4679
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4680
- }
4681
- .c-chart--radar .c-chart__canvas .c-chart__radar-grid {
4682
- stroke: var(--atomix-primary-border-subtle);
4683
- stroke-width: 1;
4684
- opacity: 0.3;
4685
- }
4686
- .c-chart--radar .c-chart__canvas .c-chart__radar-axis {
4687
- stroke: var(--atomix-primary-border-subtle);
4688
- stroke-width: 1;
4689
- opacity: 0.5;
4406
+ .c-chart__heatmap-legend-title {
4407
+ font-size: 0.875rem;
4408
+ font-weight: 600;
4409
+ fill: var(--atomix-text-primary);
4410
+ text-anchor: start;
4411
+ dominant-baseline: baseline;
4412
+ pointer-events: none;
4413
+ -webkit-user-select: none;
4414
+ -moz-user-select: none;
4415
+ user-select: none;
4690
4416
  }
4691
- .c-chart--radar .c-chart__canvas .c-chart__radar-label {
4417
+ .c-chart__heatmap-legend-label {
4692
4418
  font-size: 0.75rem;
4419
+ font-weight: 400;
4693
4420
  fill: var(--atomix-secondary-text-emphasis);
4421
+ text-anchor: start;
4422
+ dominant-baseline: middle;
4423
+ pointer-events: none;
4424
+ -webkit-user-select: none;
4425
+ -moz-user-select: none;
4426
+ user-select: none;
4694
4427
  }
4695
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill {
4696
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4697
- }
4698
- .c-chart--radar .c-chart__canvas .c-chart__radar-fill:hover {
4699
- opacity: 0.5 !important;
4428
+ .c-chart__candlestick-candle {
4429
+ stroke: var(--atomix-border-color);
4430
+ stroke-width: 1;
4431
+ rx: 0.25rem;
4432
+ ry: 0.25rem;
4433
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4434
+ cursor: pointer;
4435
+ shape-rendering: geometricPrecision;
4700
4436
  }
4701
- .c-chart--radar .c-chart__canvas .c-chart__radar-line {
4702
- fill: none;
4703
- transition: stroke-width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4437
+ .c-chart__candlestick-candle:hover {
4438
+ opacity: 0.9;
4439
+ stroke-width: 1.5;
4440
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4704
4441
  }
4705
- .c-chart--radar .c-chart__canvas .c-chart__radar-line:hover {
4706
- stroke-width: 3 !important;
4442
+ .c-chart__candlestick-candle:focus-visible {
4443
+ outline: 2px solid var(--atomix-focus-border-color);
4444
+ outline-offset: 2px;
4445
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4707
4446
  }
4708
- .c-chart--radar .c-chart__canvas .c-chart__radar-point {
4709
- stroke: var(--atomix-primary-bg-subtle);
4710
- stroke-width: 2;
4711
- cursor: pointer;
4447
+ .c-chart__candlestick-wick {
4448
+ stroke: var(--atomix-tertiary-text-emphasis);
4449
+ stroke-width: 1;
4450
+ opacity: 0.8;
4712
4451
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4452
+ shape-rendering: geometricPrecision;
4713
4453
  }
4714
- .c-chart--radar .c-chart__canvas .c-chart__radar-point:hover {
4715
- transform: scale(1.3);
4716
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
4454
+ .c-chart__candlestick-wick:hover {
4455
+ opacity: 1;
4456
+ stroke-width: 1.2;
4717
4457
  }
4718
- .c-chart--candlestick .c-chart__canvas .candlestick,
4719
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick {
4720
- stroke-width: 1;
4721
- cursor: pointer;
4458
+ .c-chart__candlestick-volume {
4722
4459
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4723
- animation: chart-fade-in 0.6s ease-out;
4460
+ cursor: pointer;
4461
+ shape-rendering: geometricPrecision;
4724
4462
  }
4725
- .c-chart--candlestick .c-chart__canvas .candlestick--bullish,
4726
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bullish {
4727
- opacity: 0.8;
4463
+ .c-chart__candlestick-volume:hover {
4464
+ opacity: 0.6;
4728
4465
  }
4729
- .c-chart--candlestick .c-chart__canvas .candlestick--bearish,
4730
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick--bearish {
4731
- opacity: 1;
4466
+ .c-chart__bar {
4467
+ rx: 0.25rem;
4468
+ ry: 0.25rem;
4469
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4470
+ cursor: pointer;
4471
+ shape-rendering: geometricPrecision;
4732
4472
  }
4733
- .c-chart--candlestick .c-chart__canvas .candlestick:hover,
4734
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick:hover {
4735
- opacity: 0.8;
4736
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4473
+ .c-chart__bar:hover {
4474
+ opacity: 0.85;
4475
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4737
4476
  }
4738
- .c-chart--candlestick .c-chart__canvas .c-chart__candlestick-highlight {
4739
- stroke-width: 2;
4740
- opacity: 0.5;
4477
+ .c-chart__bar--hovered {
4478
+ opacity: 0.85;
4479
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4741
4480
  }
4742
- .c-chart--candlestick .c-chart__canvas .wick,
4743
- .c-chart--candlestick .c-chart__canvas .c-chart__wick {
4744
- stroke-width: 1;
4745
- opacity: 0.8;
4481
+ .c-chart__bar:focus-visible {
4482
+ outline: 2px solid var(--atomix-focus-border-color);
4483
+ outline-offset: 2px;
4484
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4746
4485
  }
4747
- .c-chart--candlestick .c-chart__canvas .wick--hovered,
4748
- .c-chart--candlestick .c-chart__canvas .c-chart__wick--hovered {
4749
- stroke-width: 2;
4486
+ .c-chart__bar-value-label {
4487
+ font-size: 0.75rem;
4488
+ font-weight: 500;
4489
+ fill: var(--atomix-text-primary);
4490
+ text-anchor: middle;
4491
+ pointer-events: none;
4492
+ -webkit-user-select: none;
4493
+ -moz-user-select: none;
4494
+ user-select: none;
4750
4495
  }
4751
- .c-chart--candlestick .c-chart__canvas .c-chart__moving-average {
4752
- stroke-width: 2;
4753
- opacity: 0.8;
4496
+ .c-chart__line-path {
4497
+ fill: none;
4498
+ stroke-linecap: round;
4499
+ stroke-linejoin: round;
4500
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4501
+ shape-rendering: geometricPrecision;
4754
4502
  }
4755
- .c-chart--candlestick .c-chart__canvas .volume-bar {
4756
- opacity: 0.3;
4757
- transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4503
+ .c-chart__area-path {
4504
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4505
+ shape-rendering: geometricPrecision;
4758
4506
  }
4759
- .c-chart--candlestick .c-chart__canvas .volume-bar:hover {
4760
- opacity: 0.6;
4507
+ .c-chart__area-fill {
4508
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4509
+ shape-rendering: geometricPrecision;
4761
4510
  }
4762
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-background {
4763
- fill: var(--atomix-secondary-bg-subtle);
4764
- stroke: var(--atomix-primary-border-subtle);
4765
- stroke-width: 1;
4511
+ .c-chart__area-point {
4512
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4513
+ cursor: pointer;
4514
+ shape-rendering: geometricPrecision;
4766
4515
  }
4767
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-zone {
4768
- stroke: var(--atomix-primary-bg-subtle);
4769
- stroke-width: 2;
4516
+ .c-chart__area-point:hover {
4517
+ transform: scale(1.2);
4770
4518
  }
4771
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--major {
4772
- stroke: var(--atomix-secondary-text-emphasis);
4773
- stroke-width: 2;
4519
+ .c-chart__area-point--hovered {
4520
+ transform: scale(1.2);
4774
4521
  }
4775
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick--minor {
4776
- stroke: var(--atomix-tertiary-text-emphasis);
4777
- stroke-width: 1;
4522
+ .c-chart__area-point:focus-visible {
4523
+ outline: 2px solid var(--atomix-focus-border-color);
4524
+ outline-offset: 2px;
4525
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4778
4526
  }
4779
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-tick-label {
4527
+ .c-chart__point-label {
4780
4528
  font-size: 0.75rem;
4781
- fill: var(--atomix-secondary-text-emphasis);
4529
+ font-weight: 500;
4530
+ text-anchor: middle;
4531
+ pointer-events: none;
4532
+ -webkit-user-select: none;
4533
+ -moz-user-select: none;
4534
+ user-select: none;
4782
4535
  }
4783
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-min-max-label {
4784
- font-size: 0.875rem;
4785
- font-weight: 700;
4786
- fill: var(--atomix-secondary-text-emphasis);
4536
+ .c-chart__pie-slice {
4537
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
4538
+ cursor: pointer;
4539
+ shape-rendering: geometricPrecision;
4787
4540
  }
4788
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-line {
4541
+ .c-chart__pie-slice:hover {
4789
4542
  stroke-width: 3;
4790
- stroke-linecap: round;
4543
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4791
4544
  }
4792
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-needle .c-chart__gauge-needle-center {
4793
- stroke: var(--atomix-primary-bg-subtle);
4794
- stroke-width: 2;
4545
+ .c-chart__pie-slice--hovered {
4546
+ stroke-width: 3;
4547
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4795
4548
  }
4796
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-value {
4797
- font-size: 2rem;
4798
- font-weight: 700;
4799
- fill: var(--atomix-primary-text-emphasis);
4549
+ .c-chart__pie-slice:focus-visible {
4550
+ outline: 2px solid var(--atomix-focus-border-color);
4551
+ outline-offset: 2px;
4552
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4800
4553
  }
4801
- .c-chart--gauge .c-chart__canvas .c-chart__gauge-label {
4802
- font-size: 0.875rem;
4803
- fill: var(--atomix-secondary-text-emphasis);
4554
+ .c-chart__pie-label {
4555
+ font-size: 0.75rem;
4556
+ font-weight: 500;
4557
+ fill: var(--atomix-text-primary);
4558
+ text-anchor: middle;
4559
+ dominant-baseline: middle;
4560
+ pointer-events: none;
4561
+ -webkit-user-select: none;
4562
+ -moz-user-select: none;
4563
+ user-select: none;
4564
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4804
4565
  }
4805
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment {
4806
- stroke: var(--atomix-primary-bg-subtle);
4807
- stroke-width: 2;
4566
+ .c-chart__donut-slice {
4567
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
4808
4568
  cursor: pointer;
4809
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4569
+ shape-rendering: geometricPrecision;
4570
+ transform-origin: center;
4810
4571
  }
4811
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment--animated {
4812
- transition: all 1s ease-out;
4572
+ .c-chart__donut-slice:hover {
4573
+ transform: scale(1.02);
4574
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4813
4575
  }
4814
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-segment:hover {
4815
- opacity: 0.8;
4816
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
4576
+ .c-chart__donut-slice--hovered {
4577
+ transform: scale(1.02);
4578
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4817
4579
  }
4818
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label {
4819
- font-size: 0.875rem;
4820
- font-weight: 700;
4580
+ .c-chart__donut-slice:focus-visible {
4581
+ outline: 2px solid var(--atomix-focus-border-color);
4582
+ outline-offset: 2px;
4583
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4584
+ }
4585
+ .c-chart__donut-label {
4586
+ font-size: 0.75rem;
4587
+ font-weight: 500;
4588
+ fill: var(--atomix-text-primary);
4589
+ text-anchor: middle;
4590
+ dominant-baseline: middle;
4821
4591
  pointer-events: none;
4592
+ -webkit-user-select: none;
4593
+ -moz-user-select: none;
4594
+ user-select: none;
4595
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4822
4596
  }
4823
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--inside {
4824
- fill: var(--atomix-invert-text-emphasis);
4825
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4597
+ .c-chart__donut-percentage {
4598
+ font-size: 0.75rem;
4599
+ font-weight: 600;
4600
+ fill: var(--atomix-secondary-text-emphasis);
4601
+ text-anchor: middle;
4602
+ dominant-baseline: middle;
4603
+ pointer-events: none;
4604
+ -webkit-user-select: none;
4605
+ -moz-user-select: none;
4606
+ user-select: none;
4826
4607
  }
4827
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-label--outside {
4828
- fill: var(--atomix-primary-text-emphasis);
4608
+ .c-chart__donut-center-label {
4609
+ font-size: 0.875rem;
4610
+ font-weight: 500;
4611
+ fill: var(--atomix-secondary-text-emphasis);
4612
+ text-anchor: middle;
4613
+ dominant-baseline: middle;
4614
+ pointer-events: none;
4615
+ -webkit-user-select: none;
4616
+ -moz-user-select: none;
4617
+ user-select: none;
4829
4618
  }
4830
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value {
4831
- font-size: 0.75rem;
4619
+ .c-chart__donut-center-value {
4620
+ font-size: 1.25rem;
4621
+ font-weight: 700;
4622
+ fill: var(--atomix-text-primary);
4623
+ text-anchor: middle;
4624
+ dominant-baseline: middle;
4832
4625
  pointer-events: none;
4626
+ -webkit-user-select: none;
4627
+ -moz-user-select: none;
4628
+ user-select: none;
4833
4629
  }
4834
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--inside {
4835
- fill: var(--atomix-invert-text-emphasis);
4836
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4630
+ .c-chart__scatter-point {
4631
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4632
+ cursor: pointer;
4633
+ shape-rendering: geometricPrecision;
4837
4634
  }
4838
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-value--outside {
4839
- fill: var(--atomix-secondary-text-emphasis);
4635
+ .c-chart__scatter-point:hover {
4636
+ transform: scale(1.2);
4637
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4840
4638
  }
4841
- .c-chart--funnel .c-chart__canvas .c-chart__funnel-conversion {
4842
- font-size: 0.75rem;
4843
- fill: var(--atomix-secondary-text-emphasis);
4844
- font-style: italic;
4639
+ .c-chart__scatter-point:focus-visible {
4640
+ outline: 2px solid var(--atomix-focus-border-color);
4641
+ outline-offset: 2px;
4642
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4845
4643
  }
4846
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-axis-label {
4644
+ .c-chart__scatter-label {
4847
4645
  font-size: 0.75rem;
4848
- fill: var(--atomix-gray-7);
4849
4646
  font-weight: 500;
4647
+ fill: var(--atomix-text-primary);
4648
+ text-anchor: middle;
4649
+ pointer-events: none;
4850
4650
  -webkit-user-select: none;
4851
4651
  -moz-user-select: none;
4852
4652
  user-select: none;
4853
4653
  }
4854
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell {
4654
+ .c-chart__bubble {
4655
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4855
4656
  cursor: pointer;
4856
- transition: all 0.2s ease;
4857
- shape-rendering: crispEdges;
4657
+ shape-rendering: geometricPrecision;
4858
4658
  }
4859
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--empty {
4860
- fill: var(--atomix-gray-2);
4861
- stroke: var(--atomix-gray-3);
4862
- stroke-width: 0.5;
4863
- opacity: 0.6;
4659
+ .c-chart__bubble:hover {
4660
+ transform: scale(1.1);
4661
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4864
4662
  }
4865
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell--hovered {
4663
+ .c-chart__bubble--hovered {
4866
4664
  transform: scale(1.1);
4867
- filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
4868
- z-index: 10;
4665
+ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
4869
4666
  }
4870
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-cell:focus-visible {
4871
- outline: 2px solid var(--atomix-primary-6);
4872
- outline-offset: 1px;
4667
+ .c-chart__bubble:focus-visible {
4668
+ outline: 2px solid var(--atomix-focus-border-color);
4669
+ outline-offset: 2px;
4670
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4873
4671
  }
4874
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value {
4875
- font-size: 9px;
4672
+ .c-chart__bubble-label {
4673
+ font-size: 0.75rem;
4876
4674
  font-weight: 500;
4675
+ fill: var(--atomix-text-primary);
4676
+ text-anchor: middle;
4677
+ dominant-baseline: middle;
4877
4678
  pointer-events: none;
4878
4679
  -webkit-user-select: none;
4879
4680
  -moz-user-select: none;
4880
4681
  user-select: none;
4881
- font-feature-settings: "tnum";
4882
- font-variant-numeric: tabular-nums;
4883
- }
4884
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--light {
4885
- fill: white;
4886
4682
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
4887
4683
  }
4888
- .c-chart--heatmap .c-chart__canvas .c-chart__heatmap-value--dark {
4889
- fill: var(--atomix-gray-8);
4890
- }
4891
- .c-chart--heatmap .c-chart__canvas.c-chart--calendar .c-chart__heatmap-cell {
4892
- rx: 2;
4684
+ .c-chart__radar-grid-line {
4685
+ stroke: var(--atomix-border-color);
4686
+ stroke-width: 1;
4687
+ opacity: 0.3;
4688
+ shape-rendering: geometricPrecision;
4893
4689
  }
4894
- .c-chart--heatmap .c-chart__canvas.c-chart--grid .c-chart__heatmap-cell {
4895
- rx: 4;
4690
+ .c-chart__radar-axis-label {
4691
+ font-size: 0.75rem;
4692
+ font-weight: 500;
4693
+ fill: var(--atomix-secondary-text-emphasis);
4694
+ text-anchor: middle;
4695
+ dominant-baseline: middle;
4696
+ pointer-events: none;
4697
+ -webkit-user-select: none;
4698
+ -moz-user-select: none;
4699
+ user-select: none;
4896
4700
  }
4897
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node {
4898
- cursor: pointer;
4899
- stroke: var(--atomix-primary-bg-subtle);
4900
- stroke-width: 1;
4701
+ .c-chart__radar-area {
4901
4702
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4703
+ shape-rendering: geometricPrecision;
4902
4704
  }
4903
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--animated {
4904
- transition: all 750ms ease-out;
4705
+ .c-chart__radar-line {
4706
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4707
+ shape-rendering: geometricPrecision;
4708
+ stroke-linecap: round;
4709
+ stroke-linejoin: round;
4905
4710
  }
4906
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--hovered {
4907
- opacity: 0.8;
4711
+ .c-chart__radar-point {
4712
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4713
+ cursor: pointer;
4714
+ shape-rendering: geometricPrecision;
4908
4715
  }
4909
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-node--selected {
4910
- stroke-width: 2;
4716
+ .c-chart__radar-point:hover {
4717
+ transform: scale(1.3);
4718
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4911
4719
  }
4912
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-label {
4913
- font-size: 0.75rem;
4914
- font-weight: 700;
4915
- fill: var(--atomix-invert-text-emphasis);
4916
- pointer-events: none;
4720
+ .c-chart__radar-point--hovered {
4721
+ transform: scale(1.3);
4722
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4917
4723
  }
4918
- .c-chart--treemap .c-chart__canvas .c-chart__treemap-value {
4919
- font-size: 0.75rem;
4920
- fill: var(--atomix-invert-text-emphasis);
4921
- opacity: 0.8;
4922
- pointer-events: none;
4724
+ .c-chart__radar-point:focus-visible {
4725
+ outline: 2px solid var(--atomix-focus-border-color);
4726
+ outline-offset: 2px;
4727
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4923
4728
  }
4924
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar {
4925
- stroke: var(--atomix-primary-bg-subtle);
4926
- stroke-width: 2;
4927
- cursor: pointer;
4729
+ .c-chart__waterfall-bar {
4730
+ rx: 0.25rem;
4731
+ ry: 0.25rem;
4928
4732
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4733
+ cursor: pointer;
4734
+ shape-rendering: geometricPrecision;
4929
4735
  }
4930
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar--animated {
4931
- transition: all 1s ease-out;
4736
+ .c-chart__waterfall-bar:hover {
4737
+ opacity: 0.85;
4738
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.075));
4932
4739
  }
4933
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-bar:hover {
4934
- opacity: 0.8;
4935
- filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.2));
4740
+ .c-chart__waterfall-bar--animated {
4741
+ animation: chart-bar-appear 1s ease-out;
4742
+ transform-origin: bottom center;
4936
4743
  }
4937
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value {
4744
+ .c-chart__waterfall-bar:focus-visible {
4745
+ outline: 2px solid var(--atomix-focus-border-color);
4746
+ outline-offset: 2px;
4747
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
4748
+ }
4749
+ .c-chart__waterfall-value {
4938
4750
  font-size: 0.75rem;
4939
- font-weight: 700;
4751
+ font-weight: 600;
4752
+ fill: var(--atomix-text-primary);
4753
+ text-anchor: middle;
4940
4754
  pointer-events: none;
4755
+ -webkit-user-select: none;
4756
+ -moz-user-select: none;
4757
+ user-select: none;
4941
4758
  }
4942
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--center {
4943
- fill: var(--atomix-invert-text-emphasis);
4944
- text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
4759
+ .c-chart__waterfall-value--center {
4760
+ dominant-baseline: middle;
4945
4761
  }
4946
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-value--outside {
4947
- fill: var(--atomix-primary-text-emphasis);
4762
+ .c-chart__waterfall-value--outside {
4763
+ dominant-baseline: auto;
4948
4764
  }
4949
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-connector {
4950
- stroke-width: 2;
4951
- opacity: 0.7;
4765
+ .c-chart__waterfall-connector {
4766
+ stroke: var(--atomix-border-color);
4767
+ stroke-width: 1;
4768
+ opacity: 0.6;
4769
+ shape-rendering: geometricPrecision;
4952
4770
  }
4953
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-line {
4954
- stroke-width: 3;
4771
+ .c-chart__waterfall-cumulative-line {
4772
+ stroke-width: 2;
4955
4773
  stroke-linecap: round;
4956
4774
  stroke-linejoin: round;
4775
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4776
+ shape-rendering: geometricPrecision;
4957
4777
  }
4958
- .c-chart--waterfall .c-chart__canvas .c-chart__waterfall-cumulative-point {
4959
- stroke: var(--atomix-primary-bg-subtle);
4960
- stroke-width: 2;
4961
- }
4962
- @keyframes chart-spin {
4963
- 0% {
4964
- transform: rotate(0deg);
4965
- }
4966
- 100% {
4967
- transform: rotate(360deg);
4968
- }
4969
- }
4970
- @keyframes chart-shimmer {
4971
- 0% {
4972
- left: -100%;
4973
- }
4974
- 100% {
4975
- left: 100%;
4976
- }
4977
- }
4978
- @keyframes chart-pulse {
4979
- 0%, 100% {
4980
- opacity: 0.8;
4981
- }
4982
- 50% {
4983
- opacity: 1;
4984
- }
4985
- }
4986
- @keyframes chart-draw-line {
4987
- 0% {
4988
- stroke-dashoffset: 1000;
4989
- }
4990
- 100% {
4991
- stroke-dashoffset: 0;
4992
- }
4993
- }
4994
- @keyframes chart-area-fade {
4995
- 0% {
4996
- opacity: 0;
4997
- }
4998
- 100% {
4999
- opacity: 0.3;
5000
- }
4778
+ .c-chart__waterfall-cumulative-point {
4779
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
4780
+ cursor: pointer;
4781
+ shape-rendering: geometricPrecision;
5001
4782
  }
5002
- @keyframes chart-bar-grow {
5003
- 0% {
5004
- transform: scaleY(0);
5005
- }
5006
- 100% {
5007
- transform: scaleY(1);
5008
- }
4783
+ .c-chart__waterfall-cumulative-point:hover {
4784
+ transform: scale(1.3);
5009
4785
  }
5010
- @keyframes chart-bar-grow-horizontal {
5011
- 0% {
5012
- transform: scaleX(0);
5013
- }
5014
- 100% {
5015
- transform: scaleX(1);
5016
- }
4786
+ .c-chart__waterfall-cumulative-point:focus-visible {
4787
+ outline: 2px solid var(--atomix-focus-border-color);
4788
+ outline-offset: 2px;
4789
+ box-shadow: 0 0 0 2px var(--atomix-focus-border-color);
5017
4790
  }
5018
- @keyframes chart-pie-draw {
5019
- 0% {
5020
- stroke-dasharray: 0 628;
4791
+ @media (prefers-contrast: high) {
4792
+ .c-chart {
4793
+ border-width: calc(var(--atomix-border-width) * 2);
5021
4794
  }
5022
- 100% {
5023
- stroke-dasharray: 628 628;
4795
+ .c-chart--selected {
4796
+ border-width: calc(var(--atomix-border-width) * 3);
5024
4797
  }
5025
- }
5026
- @keyframes chart-donut-draw {
5027
- 0% {
5028
- stroke-dasharray: 0 628;
4798
+ .c-chart__action {
4799
+ border-width: calc(var(--atomix-border-width) * 2);
5029
4800
  }
5030
- 100% {
5031
- stroke-dasharray: 628 628;
4801
+ .c-chart__action:focus-visible {
4802
+ outline-width: calc(var(--atomix-border-width) * 3);
5032
4803
  }
5033
- }
5034
- @keyframes chart-fade-in {
5035
- 0% {
5036
- opacity: 0;
5037
- transform: translateY(10px);
4804
+ .c-chart__data-point {
4805
+ stroke-width: 2;
5038
4806
  }
5039
- 100% {
5040
- opacity: 1;
5041
- transform: translateY(0);
4807
+ .c-chart__data-point--selected {
4808
+ stroke-width: 3;
5042
4809
  }
5043
- }
5044
- @keyframes chart-scale-in {
5045
- 0% {
5046
- opacity: 0;
5047
- transform: scale(0.3);
4810
+ .c-chart__grid {
4811
+ stroke-width: 1;
4812
+ opacity: 0.6;
5048
4813
  }
5049
- 60% {
4814
+ .c-chart__grid--major {
4815
+ stroke-width: 1.5;
5050
4816
  opacity: 0.8;
5051
- transform: scale(1.1);
5052
- }
5053
- 100% {
5054
- opacity: 1;
5055
- transform: scale(1);
5056
- }
5057
- }
5058
- @keyframes chart-slide-in {
5059
- 0% {
5060
- opacity: 0;
5061
- transform: translateX(-20px);
5062
4817
  }
5063
- 100% {
4818
+ .c-chart__grid--zero {
4819
+ stroke-width: 2;
5064
4820
  opacity: 1;
5065
- transform: translateX(0);
5066
- }
5067
- }
5068
- @keyframes chart-bubble-grow {
5069
- 0% {
5070
- transform: scale(0);
5071
4821
  }
5072
- 100% {
5073
- transform: scale(1);
4822
+ .c-chart__treemap-node {
4823
+ stroke-width: 2;
5074
4824
  }
5075
- }
5076
- @keyframes chart-dash-flow {
5077
- 0% {
5078
- stroke-dashoffset: 0;
4825
+ .c-chart__treemap-node--selected {
4826
+ stroke-width: 3;
5079
4827
  }
5080
- 100% {
5081
- stroke-dashoffset: 10;
4828
+ .c-chart__treemap-node:focus-visible {
4829
+ outline-width: calc(var(--atomix-border-width) * 3);
5082
4830
  }
5083
- }
5084
- @keyframes chart-glow {
5085
- 0%, 100% {
5086
- filter: drop-shadow(0 0 5px currentColor);
4831
+ .c-chart__funnel-segment {
4832
+ stroke-width: 2;
5087
4833
  }
5088
- 50% {
5089
- filter: drop-shadow(0 0 15px currentColor);
4834
+ .c-chart__funnel-segment:focus-visible {
4835
+ outline-width: calc(var(--atomix-border-width) * 3);
5090
4836
  }
5091
- }
5092
- @keyframes chart-pulse-dot {
5093
- 0%, 100% {
5094
- opacity: 1;
5095
- transform: scale(1);
4837
+ .c-chart__heatmap-cell {
4838
+ stroke-width: 2;
5096
4839
  }
5097
- 50% {
5098
- opacity: 0.5;
5099
- transform: scale(1.2);
4840
+ .c-chart__heatmap-cell--hovered {
4841
+ stroke-width: 3;
5100
4842
  }
5101
- }
5102
- @keyframes chart-zoom-in {
5103
- 0% {
5104
- transform: scale(0.8);
5105
- opacity: 0;
4843
+ .c-chart__heatmap-cell:focus-visible {
4844
+ outline-width: calc(var(--atomix-border-width) * 3);
5106
4845
  }
5107
- 100% {
5108
- transform: scale(1);
5109
- opacity: 1;
4846
+ .c-chart__candlestick-candle {
4847
+ stroke-width: 2;
5110
4848
  }
5111
- }
5112
- @keyframes chart-slide-up {
5113
- 0% {
5114
- transform: translateY(20px);
5115
- opacity: 0;
4849
+ .c-chart__candlestick-candle:focus-visible {
4850
+ outline-width: calc(var(--atomix-border-width) * 3);
5116
4851
  }
5117
- 100% {
5118
- transform: translateY(0);
4852
+ .c-chart__candlestick-wick {
4853
+ stroke-width: 2;
5119
4854
  opacity: 1;
5120
4855
  }
5121
4856
  }
5122
- @media (max-width: 768px) {
4857
+ @media (prefers-reduced-motion: reduce) {
5123
4858
  .c-chart {
5124
- --atomix-chart-min-height: 10rem;
5125
- border-radius: 0.25rem;
4859
+ transition: none;
4860
+ animation: none;
5126
4861
  }
5127
- .c-chart__header {
5128
- flex-direction: column;
5129
- align-items: flex-start;
5130
- gap: 0.5rem;
4862
+ .c-chart::before, .c-chart::after {
4863
+ animation: none;
4864
+ transition: none;
5131
4865
  }
5132
- .c-chart__toolbar {
5133
- width: 100%;
5134
- justify-content: flex-end;
5135
- padding: 0.5rem;
5136
- gap: 0.5rem;
4866
+ .c-chart--elevated {
4867
+ transform: none;
5137
4868
  }
5138
- }
5139
- @media (max-width: 768px) and (max-width: 480px) {
5140
- .c-chart__toolbar {
5141
- flex-wrap: wrap;
5142
- justify-content: center;
4869
+ .c-chart--elevated:hover {
4870
+ transform: none;
5143
4871
  }
5144
- }
5145
- @media (max-width: 768px) {
5146
- .c-chart__action {
5147
- width: 2.25rem;
5148
- height: 2.25rem;
4872
+ .c-chart--clickable {
4873
+ transition: none;
5149
4874
  }
5150
- .c-chart__action svg {
5151
- width: 1.125rem;
5152
- height: 1.125rem;
4875
+ .c-chart--clickable:hover {
4876
+ transform: none;
5153
4877
  }
5154
- .c-chart__export-dropdown {
5155
- position: fixed;
5156
- top: 50%;
5157
- left: 50%;
5158
- transform: translate(-50%, -50%);
5159
- margin-top: 0;
5160
- min-width: 12.5rem;
5161
- max-width: 90vw;
5162
- }
5163
- .c-chart__legend {
5164
- flex-direction: column;
5165
- gap: 0.5rem;
4878
+ .c-chart--clickable:active {
4879
+ transform: none;
5166
4880
  }
5167
- .c-chart__legend-item {
5168
- justify-content: space-between;
5169
- width: 100%;
4881
+ .c-chart__action {
4882
+ transition: none;
5170
4883
  }
5171
- .c-chart:hover {
4884
+ .c-chart__action:hover {
5172
4885
  transform: none;
5173
4886
  }
5174
- }
5175
- @media (max-width: 480px) {
5176
- .c-chart {
5177
- --atomix-chart-min-height: 9rem;
5178
- --atomix-chart-padding: 0.5rem;
5179
- border-radius: 0.25rem;
4887
+ .c-chart__action svg {
4888
+ transition: none;
5180
4889
  }
5181
- .c-chart__title {
5182
- font-size: 1.125rem;
5183
- margin-bottom: 0.25rem;
4890
+ .c-chart__action svg:hover {
4891
+ transform: none;
5184
4892
  }
5185
- .c-chart__subtitle {
5186
- font-size: 0.75rem;
4893
+ .c-chart__data-point {
4894
+ transition: none;
5187
4895
  }
5188
- .c-chart__toolbar {
5189
- padding: 0.25rem;
5190
- gap: 0.25rem;
5191
- border-radius: 0.25rem;
4896
+ .c-chart__data-point--hovered {
4897
+ transform: none;
5192
4898
  }
5193
- .c-chart__action {
5194
- width: 1.75rem;
5195
- height: 1.75rem;
5196
- font-size: 0.75rem;
4899
+ .c-chart__treemap-node {
4900
+ transition: none;
5197
4901
  }
5198
- .c-chart__action svg {
5199
- width: 0.875rem;
5200
- height: 0.875rem;
4902
+ .c-chart__treemap-node:hover {
4903
+ transform: none;
5201
4904
  }
5202
- .c-chart__export-option {
5203
- padding: 0.25rem 0.5rem;
5204
- font-size: 0.6875rem;
4905
+ .c-chart__treemap-node--hovered {
4906
+ transform: none;
5205
4907
  }
5206
- }
5207
- @media (prefers-reduced-motion: reduce) {
5208
- .c-chart {
4908
+ .c-chart__funnel-segment {
5209
4909
  transition: none;
5210
4910
  }
5211
- .c-chart:hover {
4911
+ .c-chart__funnel-segment:hover {
5212
4912
  transform: none;
5213
4913
  }
5214
- .c-chart * {
5215
- animation-duration: 0.01s !important;
5216
- transition-duration: 0.01s !important;
5217
- }
5218
- .c-chart__real-time-indicator::before {
5219
- animation: none;
4914
+ .c-chart__heatmap-cell {
4915
+ transition: none;
5220
4916
  }
5221
- }
5222
- .c-chart:focus-within .c-chart__data-point:focus {
5223
- outline: 2px solid var(--atomix-primary-6);
5224
- outline-offset: 2px;
5225
- z-index: 10;
5226
- }
5227
- .c-chart:focus-within__canvas svg {
5228
- outline: 2px solid var(--atomix-primary-border-subtle);
5229
- outline-offset: 2px;
5230
- }
5231
- @media (prefers-contrast: high) {
5232
- .c-chart {
5233
- border-width: 2px;
5234
- background-color: white;
5235
- color: black;
5236
- -webkit-backdrop-filter: none;
5237
- backdrop-filter: none;
4917
+ .c-chart__heatmap-cell:hover {
4918
+ transform: none;
5238
4919
  }
5239
- .c-chart__grid {
5240
- stroke-width: 2;
5241
- opacity: 0.8;
5242
- stroke: black;
4920
+ .c-chart__heatmap-cell--hovered {
4921
+ transform: none;
5243
4922
  }
5244
- .c-chart__title {
5245
- color: black;
4923
+ .c-chart__candlestick-candle {
4924
+ transition: none;
5246
4925
  }
5247
- .c-chart__data-point {
5248
- stroke: black;
5249
- stroke-width: 2;
4926
+ .c-chart__candlestick-candle:hover {
4927
+ transform: none;
5250
4928
  }
5251
- .c-chart__crosshair line {
5252
- stroke: black;
5253
- opacity: 1;
4929
+ .c-chart__candlestick-wick {
4930
+ transition: none;
5254
4931
  }
5255
- .c-chart__zoom-indicator {
5256
- background: black;
5257
- color: white;
5258
- border: 2px solid white;
4932
+ .c-chart__candlestick-volume {
4933
+ transition: none;
5259
4934
  }
5260
- .c-chart .line-path {
5261
- stroke-width: 3 !important;
4935
+ .c-chart__empty {
4936
+ animation: none;
5262
4937
  }
5263
- .c-chart .bar {
5264
- stroke: black;
5265
- stroke-width: 2;
4938
+ .c-chart--loading .c-chart__content::after {
4939
+ animation: none;
5266
4940
  }
5267
- }
5268
- @media print {
5269
- .c-chart {
5270
- page-break-inside: avoid;
5271
- -moz-column-break-inside: avoid;
5272
- break-inside: avoid;
5273
- box-shadow: none;
5274
- border: 2px solid black;
5275
- background: white;
4941
+ .c-chart__waterfall-bar--animated {
4942
+ animation: none;
5276
4943
  }
5277
- .c-chart__toolbar {
5278
- display: none;
4944
+ .c-chart__canvas svg {
4945
+ animation: none;
4946
+ opacity: 1;
5279
4947
  }
5280
- .c-chart__crosshair, .c-chart__zoom-indicator, .c-chart__real-time-indicator {
5281
- display: none;
4948
+ }
4949
+ @keyframes chart-bar-appear {
4950
+ 0% {
4951
+ opacity: 0;
4952
+ transform: scaleY(0);
5282
4953
  }
5283
- .c-chart * {
5284
- animation: none !important;
5285
- transition: none !important;
4954
+ 100% {
4955
+ opacity: 1;
4956
+ transform: scaleY(1);
5286
4957
  }
5287
4958
  }
5288
4959
  .c-checkbox-group {
@@ -5406,23 +5077,50 @@ a, a:hover {
5406
5077
  cursor: pointer;
5407
5078
  padding: 0.5rem;
5408
5079
  border-radius: 50%;
5409
- transition: background-color 0.2s ease;
5080
+ transition: background-color 0.2s ease, opacity 0.2s ease;
5410
5081
  color: var(--atomix-body-color);
5411
5082
  }
5412
- .c-color-mode-toggle:hover {
5083
+ .c-color-mode-toggle:hover:not(:disabled) {
5413
5084
  background-color: rgba(0, 0, 0, 0.05);
5414
5085
  }
5415
- .c-color-mode-toggle:focus {
5086
+ .c-color-mode-toggle:focus-visible {
5416
5087
  outline: none;
5417
5088
  box-shadow: 0 0 0 2px var(--atomix-primary);
5418
5089
  }
5090
+ .c-color-mode-toggle:active:not(:disabled) {
5091
+ transform: scale(0.95);
5092
+ }
5419
5093
  .c-color-mode-toggle svg {
5420
- width: 1.5rem;
5421
- height: 1.5rem;
5094
+ display: block;
5095
+ transition: transform 0.2s ease;
5096
+ }
5097
+ .c-color-mode-toggle--sm {
5098
+ padding: 0.375rem;
5099
+ }
5100
+ .c-color-mode-toggle--md {
5101
+ padding: 0.5rem;
5102
+ }
5103
+ .c-color-mode-toggle--lg {
5104
+ padding: 0.625rem;
5105
+ }
5106
+ .c-color-mode-toggle--disabled, .c-color-mode-toggle:disabled {
5107
+ cursor: not-allowed;
5108
+ opacity: 0.5;
5422
5109
  }
5423
- [data-atomix-theme=dark] .c-color-mode-toggle:hover {
5110
+ [data-atomix-theme=dark] .c-color-mode-toggle:hover:not(:disabled) {
5424
5111
  background-color: rgba(255, 255, 255, 0.1);
5425
5112
  }
5113
+ @media (prefers-reduced-motion: reduce) {
5114
+ .c-color-mode-toggle {
5115
+ transition: none;
5116
+ }
5117
+ .c-color-mode-toggle svg {
5118
+ transition: none;
5119
+ }
5120
+ .c-color-mode-toggle:active:not(:disabled) {
5121
+ transform: none;
5122
+ }
5123
+ }
5426
5124
  .c-countdown {
5427
5125
  --atomix-countdown-color: var(--atomix-body-color);
5428
5126
  --atomix-countdown-font-size: 16px;
@@ -5662,20 +5360,27 @@ a, a:hover {
5662
5360
  display: flex;
5663
5361
  opacity: 0;
5664
5362
  visibility: hidden;
5665
- transform-origin: top center;
5666
5363
  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);
5667
- transform: translateY(-15px) scale(0.95);
5668
5364
  pointer-events: none;
5365
+ }
5366
+ .c-dropdown__menu-wrapper:not(.is-glass) {
5669
5367
  will-change: transform, opacity, visibility;
5368
+ transform: translateY(-15px) scale(0.95);
5369
+ transform-origin: top center;
5670
5370
  }
5671
- .c-dropdown__menu-wrapper.is-open {
5371
+ .c-dropdown__menu-wrapper.is-open:not(.is-glass) {
5672
5372
  opacity: 1;
5673
5373
  transform: translateY(0) scale(1);
5674
5374
  visibility: visible;
5675
5375
  animation: atomix-dropdown-fade-in var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
5676
5376
  pointer-events: auto;
5677
5377
  }
5678
- .c-dropdown__menu-wrapper:not(.is-open) {
5378
+ .c-dropdown__menu-wrapper.is-open.is-glass {
5379
+ opacity: 1;
5380
+ visibility: visible;
5381
+ pointer-events: auto;
5382
+ }
5383
+ .c-dropdown__menu-wrapper:not(.is-open):not(.is-glass) {
5679
5384
  animation: atomix-dropdown-fade-out var(--atomix-dropdown-animation-duration) var(--atomix-dropdown-animation-timing) forwards;
5680
5385
  }
5681
5386
  .c-dropdown__menu-wrapper--bottom-start {
@@ -6196,22 +5901,41 @@ a, a:hover {
6196
5901
  --atomix-footer-padding-x: 1rem;
6197
5902
  --atomix-footer-padding-y: 3rem;
6198
5903
  --atomix-footer-container-max-width: 1200px;
6199
- --atomix-footer-bg: var(--atomix-surface);
6200
- --atomix-footer-color: var(--atomix-text);
5904
+ --atomix-footer-bg: var(--atomix-primary-bg);
5905
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
6201
5906
  --atomix-footer-border-width: 1px;
6202
- --atomix-footer-border-color: var(--atomix-border);
5907
+ --atomix-footer-border-color: var(--atomix-primary-border-subtle);
6203
5908
  --atomix-footer-brand-margin-bottom: 1.5rem;
6204
5909
  --atomix-footer-section-margin-bottom: 2rem;
6205
5910
  --atomix-footer-social-gap: 0.75rem;
6206
5911
  --atomix-footer-newsletter-padding: 1.5rem;
6207
5912
  --atomix-footer-bottom-padding-top: 1.5rem;
6208
5913
  --atomix-footer-bottom-margin-top: 2rem;
5914
+ --atomix-footer-brand-logo-margin-bottom: 1rem;
5915
+ --atomix-footer-brand-logo-hover-opacity: 0.8;
5916
+ --atomix-footer-section-header-gap: 0.5rem;
5917
+ --atomix-footer-section-toggle-padding: 0.75rem 0;
5918
+ --atomix-footer-bg-rgb: var(--atomix-primary-bg);
5919
+ --atomix-disabled-opacity: 0.6;
6209
5920
  background-color: var(--atomix-footer-bg);
6210
5921
  color: var(--atomix-footer-color);
6211
5922
  border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
6212
5923
  padding: var(--atomix-footer-padding-y) 0;
6213
5924
  position: relative;
6214
5925
  }
5926
+ .c-footer--glass {
5927
+ padding: 0;
5928
+ margin: 0;
5929
+ border-radius: 0;
5930
+ box-shadow: none;
5931
+ background: transparent;
5932
+ }
5933
+ .c-footer--glass .c-footer__glass {
5934
+ background-color: rgba(var(--atomix-footer-bg-rgb), 0.5, true);
5935
+ color: var(--atomix-footer-color);
5936
+ border-top: var(--atomix-footer-border-width) solid var(--atomix-footer-border-color);
5937
+ padding: var(--atomix-footer-padding-y) 0;
5938
+ }
6215
5939
  .c-footer__container {
6216
5940
  display: flex;
6217
5941
  flex-direction: column;
@@ -6221,28 +5945,42 @@ a, a:hover {
6221
5945
  padding: 0 var(--atomix-footer-padding-x);
6222
5946
  }
6223
5947
  .c-footer__sections {
6224
- display: grid;
6225
- grid-gap: var(--atomix-footer-section-margin-bottom);
6226
- gap: var(--atomix-footer-section-margin-bottom);
6227
5948
  margin-bottom: var(--atomix-footer-bottom-margin-top);
6228
- grid-template-columns: 1fr;
5949
+ width: 100%;
5950
+ max-width: var(--atomix-footer-container-max-width);
5951
+ margin-left: auto;
5952
+ margin-right: auto;
6229
5953
  }
6230
- @media (min-width: 768px) {
6231
- .c-footer__sections {
6232
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
6233
- gap: clamp(2rem, 4vw, 3rem);
6234
- }
5954
+ .c-footer__sections--centered {
5955
+ justify-content: center;
5956
+ align-items: center;
5957
+ }
5958
+ .c-footer__sections--stacked {
5959
+ display: flex;
5960
+ flex-direction: column;
5961
+ align-items: center;
5962
+ text-align: center;
5963
+ gap: clamp(1.5rem, 4vw, 2.5rem);
5964
+ max-width: 600px;
5965
+ margin-left: auto;
5966
+ margin-right: auto;
6235
5967
  }
6236
5968
  .c-footer__brand {
5969
+ grid-area: brand;
6237
5970
  margin-bottom: var(--atomix-footer-brand-margin-bottom);
6238
5971
  }
5972
+ @media (min-width: 768px) {
5973
+ .c-footer__brand {
5974
+ margin-bottom: 0;
5975
+ }
5976
+ }
6239
5977
  .c-footer__brand-logo {
6240
5978
  display: inline-block;
6241
- margin-bottom: 1rem;
5979
+ margin-bottom: var(--atomix-footer-brand-logo-margin-bottom);
6242
5980
  transition: opacity 0.2s ease;
6243
5981
  }
6244
5982
  .c-footer__brand-logo:hover {
6245
- opacity: 0.8;
5983
+ opacity: var(--atomix-footer-brand-logo-hover-opacity);
6246
5984
  }
6247
5985
  .c-footer__brand-logo img {
6248
5986
  max-width: 200px;
@@ -6255,18 +5993,23 @@ a, a:hover {
6255
5993
  margin: 0;
6256
5994
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
6257
5995
  font-weight: 600;
6258
- color: var(--atomix-text-emphasis);
5996
+ color: var(--atomix-primary-text-emphasis);
6259
5997
  line-height: 1.2;
6260
5998
  }
6261
5999
  .c-footer__brand-description {
6262
6000
  margin-top: 0.5rem;
6263
6001
  font-size: 0.875rem;
6264
- color: var(--atomix-text-muted);
6002
+ color: var(--atomix-secondary-text-emphasis);
6265
6003
  line-height: 1.6;
6266
6004
  max-width: 35ch;
6267
6005
  }
6268
6006
  .c-footer__section {
6269
- margin-bottom: var(--atomix-footer-section-margin-bottom);
6007
+ margin-bottom: 0;
6008
+ }
6009
+ @media (max-width: 575.98px) {
6010
+ .c-footer__section {
6011
+ margin-bottom: var(--atomix-footer-section-margin-bottom);
6012
+ }
6270
6013
  }
6271
6014
  .c-footer__section-header {
6272
6015
  margin-bottom: 1rem;
@@ -6274,14 +6017,14 @@ a, a:hover {
6274
6017
  .c-footer__section-header-content {
6275
6018
  display: flex;
6276
6019
  align-items: center;
6277
- gap: 0.5rem;
6020
+ gap: var(--atomix-footer-section-header-gap);
6278
6021
  }
6279
6022
  .c-footer__section-toggle {
6280
6023
  display: flex;
6281
6024
  align-items: center;
6282
6025
  justify-content: space-between;
6283
6026
  width: 100%;
6284
- padding: 0.75rem 0;
6027
+ padding: var(--atomix-footer-section-toggle-padding);
6285
6028
  background: none;
6286
6029
  border: none;
6287
6030
  cursor: pointer;
@@ -6300,9 +6043,10 @@ a, a:hover {
6300
6043
  }
6301
6044
  .c-footer__section-title {
6302
6045
  margin: 0;
6046
+ width: 100%;
6303
6047
  font-size: 1.125rem;
6304
6048
  font-weight: 600;
6305
- color: var(--atomix-text-emphasis);
6049
+ color: var(--atomix-primary-text-emphasis);
6306
6050
  line-height: 1.3;
6307
6051
  }
6308
6052
  .c-footer__section-icon {
@@ -6314,7 +6058,7 @@ a, a:hover {
6314
6058
  .c-footer__section-chevron {
6315
6059
  font-size: 0.875rem;
6316
6060
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6317
- color: var(--atomix-text-muted);
6061
+ color: var(--atomix-gray-6);
6318
6062
  }
6319
6063
  .c-footer__section-content {
6320
6064
  display: flex;
@@ -6349,9 +6093,9 @@ a, a:hover {
6349
6093
  align-items: center;
6350
6094
  gap: 0.5rem;
6351
6095
  padding: 0.25rem 0;
6352
- color: var(--atomix-text);
6096
+ color: var(--atomix-primary-text-emphasis);
6353
6097
  text-decoration: none;
6354
- transition: color 0.15s ease-in-out;
6098
+ transition: all 0.15s ease-in-out;
6355
6099
  border-radius: 0.25rem;
6356
6100
  position: relative;
6357
6101
  }
@@ -6367,7 +6111,7 @@ a, a:hover {
6367
6111
  }
6368
6112
  .c-footer__link:hover, .c-footer__link:focus {
6369
6113
  color: var(--atomix-primary);
6370
- text-decoration: underline;
6114
+ text-decoration: none;
6371
6115
  }
6372
6116
  .c-footer__link:hover::before, .c-footer__link:focus::before {
6373
6117
  width: 100%;
@@ -6384,10 +6128,10 @@ a, a:hover {
6384
6128
  width: 100%;
6385
6129
  }
6386
6130
  .c-footer__link--disabled {
6387
- color: var(--atomix-text-disabled);
6131
+ color: var(--atomix-disabled-text-emphasis);
6388
6132
  cursor: not-allowed;
6389
6133
  pointer-events: none;
6390
- opacity: 0.6;
6134
+ opacity: var(--atomix-disabled-opacity);
6391
6135
  }
6392
6136
  .c-footer__link-icon {
6393
6137
  display: flex;
@@ -6418,11 +6162,11 @@ a, a:hover {
6418
6162
  justify-content: center;
6419
6163
  width: 2.5rem;
6420
6164
  height: 2.5rem;
6421
- background-color: var(--atomix-surface-variant);
6422
- color: var(--atomix-text);
6165
+ background-color: var(--atomix-secondary-bg-subtle);
6166
+ color: var(--atomix-primary-text-emphasis);
6423
6167
  border-radius: 50%;
6424
6168
  text-decoration: none;
6425
- transition: all 0.15s ease-in-out;
6169
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6426
6170
  position: relative;
6427
6171
  overflow: hidden;
6428
6172
  }
@@ -6436,7 +6180,7 @@ a, a:hover {
6436
6180
  }
6437
6181
  .c-footer__social-link:hover, .c-footer__social-link:focus {
6438
6182
  background-color: var(--atomix-primary);
6439
- color: var(--atomix-primary-contrast);
6183
+ color: var(--atomix-component-active-color);
6440
6184
  transform: translateY(-3px) scale(1.05);
6441
6185
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
6442
6186
  }
@@ -6456,7 +6200,7 @@ a, a:hover {
6456
6200
  height: 3rem;
6457
6201
  }
6458
6202
  .c-footer__social-link--disabled {
6459
- opacity: 0.5;
6203
+ opacity: var(--atomix-disabled-opacity);
6460
6204
  cursor: not-allowed;
6461
6205
  pointer-events: none;
6462
6206
  }
@@ -6503,7 +6247,7 @@ a, a:hover {
6503
6247
  background: linear-gradient(135deg, #25d366, #66bb6a);
6504
6248
  }
6505
6249
  .c-footer__newsletter {
6506
- background-color: linear-gradient(135deg, var(--atomix-surface-variant), rgba(var(--atomix-surface-variant), 0.8));
6250
+ background-color: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
6507
6251
  padding: 1.5rem;
6508
6252
  border-radius: 0.5rem;
6509
6253
  border: 1px solid var(--atomix-border-subtle);
@@ -6523,20 +6267,24 @@ a, a:hover {
6523
6267
  margin: 0 0 0.5rem 0;
6524
6268
  font-size: clamp(1.125rem, 2vw, 1.125rem);
6525
6269
  font-weight: 600;
6526
- color: var(--atomix-text-emphasis);
6270
+ color: var(--atomix-primary-text-emphasis);
6527
6271
  line-height: 1.3;
6528
6272
  }
6529
6273
  .c-footer__newsletter-description {
6530
6274
  margin: 0 0 1rem 0;
6531
6275
  font-size: 0.875rem;
6532
- color: var(--atomix-text-muted);
6276
+ color: var(--atomix-secondary-text-emphasis);
6533
6277
  line-height: 1.6;
6534
6278
  max-width: 45ch;
6279
+ width: 100%;
6280
+ box-sizing: border-box;
6535
6281
  }
6536
6282
  .c-footer__newsletter-form {
6537
6283
  display: flex;
6538
6284
  gap: 0.75rem;
6539
6285
  align-items: flex-end;
6286
+ width: 100%;
6287
+ max-width: 100%;
6540
6288
  }
6541
6289
  @media (max-width: 575.98px) {
6542
6290
  .c-footer__newsletter-form {
@@ -6559,12 +6307,13 @@ a, a:hover {
6559
6307
  flex: 1 1;
6560
6308
  padding: 0.75rem 1rem;
6561
6309
  font-size: 0.875rem;
6562
- background-color: var(--atomix-surface);
6563
- color: var(--atomix-text);
6564
- border: 1px solid var(--atomix-border);
6310
+ background-color: var(--atomix-primary-bg-subtle);
6311
+ color: var(--atomix-primary-text-emphasis);
6312
+ border: 1px solid var(--atomix-primary-border);
6565
6313
  border-radius: 0.375rem;
6566
6314
  outline: none;
6567
6315
  transition: all 0.3s ease;
6316
+ box-sizing: border-box;
6568
6317
  }
6569
6318
  .c-footer__newsletter-input:focus {
6570
6319
  border-color: var(--atomix-primary);
@@ -6572,12 +6321,12 @@ a, a:hover {
6572
6321
  transform: translateY(-1px);
6573
6322
  }
6574
6323
  .c-footer__newsletter-input::-moz-placeholder {
6575
- color: var(--atomix-text-muted);
6324
+ color: var(--atomix-gray-6);
6576
6325
  -moz-transition: opacity 0.3s ease;
6577
6326
  transition: opacity 0.3s ease;
6578
6327
  }
6579
6328
  .c-footer__newsletter-input::placeholder {
6580
- color: var(--atomix-text-muted);
6329
+ color: var(--atomix-gray-6);
6581
6330
  transition: opacity 0.3s ease;
6582
6331
  }
6583
6332
  .c-footer__newsletter-input:focus::-moz-placeholder {
@@ -6588,13 +6337,13 @@ a, a:hover {
6588
6337
  }
6589
6338
  .c-footer__newsletter-button {
6590
6339
  padding: 0.75rem 1.5rem;
6591
- background-color: var(--atomix-primary);
6592
- color: var(--atomix-primary-contrast);
6340
+ background-color: var(--atomix-brand-bg-subtle);
6341
+ color: var(--atomix-brand-text-emphasis);
6593
6342
  border: none;
6594
6343
  border-radius: 0.375rem;
6595
6344
  font-weight: 500;
6596
6345
  cursor: pointer;
6597
- transition: background-color 0.15s ease-in-out;
6346
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6598
6347
  white-space: nowrap;
6599
6348
  position: relative;
6600
6349
  overflow: hidden;
@@ -6608,7 +6357,7 @@ a, a:hover {
6608
6357
  transition: transform 0.6s ease;
6609
6358
  }
6610
6359
  .c-footer__newsletter-button:hover, .c-footer__newsletter-button:focus {
6611
- background-color: var(--atomix-primary-hover);
6360
+ background-color: var(--atomix-secondary-bg-subtle);
6612
6361
  transform: translateY(-2px);
6613
6362
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
6614
6363
  }
@@ -6624,7 +6373,7 @@ a, a:hover {
6624
6373
  align-items: center;
6625
6374
  justify-content: space-between;
6626
6375
  padding-top: var(--atomix-footer-bottom-padding-top);
6627
- border-top: 1px solid var(--atomix-border);
6376
+ border-top: 1px solid var(--atomix-primary-border-subtle);
6628
6377
  position: relative;
6629
6378
  }
6630
6379
  @media (max-width: 575.98px) {
@@ -6636,7 +6385,7 @@ a, a:hover {
6636
6385
  }
6637
6386
  .c-footer__copyright {
6638
6387
  font-size: 0.875rem;
6639
- color: var(--atomix-text-muted);
6388
+ color: var(--atomix-tertiary-text-emphasis);
6640
6389
  line-height: 1.5;
6641
6390
  }
6642
6391
  .c-footer__copyright a {
@@ -6653,16 +6402,18 @@ a, a:hover {
6653
6402
  align-items: center;
6654
6403
  gap: 0.5rem;
6655
6404
  padding: 0.75rem 1.25rem;
6656
- background-color: var(--atomix-surface-variant);
6405
+ background-color: var(--atomix-secondary-bg);
6657
6406
  border: 1px solid var(--atomix-border-subtle);
6658
- color: var(--atomix-text);
6407
+ color: var(--atomix-primary-text-emphasis);
6659
6408
  font-size: 0.875rem;
6660
6409
  font-weight: 500;
6661
6410
  cursor: pointer;
6662
- transition: color 0.15s ease-in-out;
6411
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6663
6412
  border-radius: 2rem;
6664
6413
  position: relative;
6665
6414
  overflow: hidden;
6415
+ text-decoration: none;
6416
+ outline: none;
6666
6417
  }
6667
6418
  .c-footer__back-to-top::before {
6668
6419
  content: "";
@@ -6670,14 +6421,14 @@ a, a:hover {
6670
6421
  inset: 0;
6671
6422
  background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);
6672
6423
  transform: translateX(-100%);
6673
- transition: transform 0.6s ease;
6424
+ transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
6674
6425
  }
6675
6426
  .c-footer__back-to-top:hover, .c-footer__back-to-top:focus {
6676
- color: var(--atomix-primary);
6427
+ color: var(--atomix-secondary-text-emphasis);
6677
6428
  background-color: var(--atomix-primary);
6678
6429
  border-color: var(--atomix-primary);
6679
- transform: translateY(-2px);
6680
- box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
6430
+ transform: translateY(-3px);
6431
+ box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
6681
6432
  }
6682
6433
  .c-footer__back-to-top:hover::before, .c-footer__back-to-top:focus::before {
6683
6434
  transform: translateX(100%);
@@ -6685,6 +6436,10 @@ a, a:hover {
6685
6436
  .c-footer__back-to-top:hover .c-footer__back-to-top-icon, .c-footer__back-to-top:focus .c-footer__back-to-top-icon {
6686
6437
  transform: translateY(-2px);
6687
6438
  }
6439
+ .c-footer__back-to-top:active {
6440
+ transform: translateY(-1px);
6441
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
6442
+ }
6688
6443
  .c-footer__back-to-top:focus-visible {
6689
6444
  outline: 2px solid var(--atomix-primary);
6690
6445
  outline-offset: 2px;
@@ -6692,7 +6447,7 @@ a, a:hover {
6692
6447
  .c-footer__back-to-top-icon {
6693
6448
  font-size: 1.25em;
6694
6449
  font-weight: bold;
6695
- transition: transform 0.3s ease;
6450
+ transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
6696
6451
  }
6697
6452
  @media (max-width: 575.98px) {
6698
6453
  .c-footer__back-to-top-text {
@@ -6703,30 +6458,12 @@ a, a:hover {
6703
6458
  margin: 2rem 0;
6704
6459
  border: none;
6705
6460
  height: 1px;
6706
- background: linear-gradient(90deg, transparent, 1px solid var(--atomix-border), transparent);
6461
+ background: linear-gradient(90deg, transparent, 1px solid var(--atomix-primary-border-subtle), transparent);
6707
6462
  opacity: 0.5;
6708
6463
  }
6709
- @media (min-width: 768px) {
6710
- .c-footer--columns .c-footer__sections {
6711
- display: grid;
6712
- grid-template-columns: minmax(300px, 1fr) 2fr minmax(250px, 1fr);
6713
- grid-gap: clamp(2rem, 5vw, 4rem);
6714
- gap: clamp(2rem, 5vw, 4rem);
6715
- align-items: start;
6716
- }
6717
- }
6718
- @media (min-width: 992px) {
6719
- .c-footer--columns .c-footer__sections {
6720
- grid-template-columns: minmax(350px, 1fr) 3fr minmax(300px, 1fr);
6721
- }
6722
- }
6723
6464
  .c-footer--centered {
6724
6465
  text-align: center;
6725
6466
  }
6726
- .c-footer--centered .c-footer__sections {
6727
- justify-content: center;
6728
- align-items: center;
6729
- }
6730
6467
  .c-footer--centered .c-footer__social {
6731
6468
  justify-content: center;
6732
6469
  }
@@ -6736,13 +6473,14 @@ a, a:hover {
6736
6473
  }
6737
6474
  .c-footer--minimal {
6738
6475
  --atomix-footer-padding-y: 2rem;
6476
+ --atomix-footer-social-gap: 0.75;
6739
6477
  }
6740
6478
  .c-footer--minimal .c-footer__sections {
6741
6479
  margin-bottom: 1rem;
6742
6480
  gap: 1.5rem;
6743
6481
  }
6744
6482
  .c-footer--minimal .c-footer__section {
6745
- margin-bottom: 1rem;
6483
+ margin-bottom: 0;
6746
6484
  }
6747
6485
  .c-footer--minimal .c-footer__newsletter {
6748
6486
  padding: 1.5rem;
@@ -6757,15 +6495,26 @@ a, a:hover {
6757
6495
  margin-left: auto;
6758
6496
  margin-right: auto;
6759
6497
  }
6498
+ .c-footer--flexible .c-footer__section-col {
6499
+ flex: 1 1 auto;
6500
+ min-width: 250px;
6501
+ }
6502
+ .c-footer--sidebar .c-footer__sections--columns {
6503
+ align-items: flex-start;
6504
+ }
6505
+ .c-footer--wide .c-footer__sections {
6506
+ max-width: 100%;
6507
+ padding: 0 1rem;
6508
+ }
6760
6509
  .c-footer--sm {
6761
6510
  --atomix-footer-padding-y: 2rem;
6762
6511
  --atomix-footer-section-margin-bottom: 1.5rem;
6763
- --atomix-footer-brand-margin-bottom: 1rem;
6764
6512
  --atomix-footer-social-gap: 0.75rem;
6765
6513
  }
6766
6514
  .c-footer--md {
6767
6515
  --atomix-footer-padding-y: 3rem;
6768
6516
  --atomix-footer-section-margin-bottom: 2rem;
6517
+ --atomix-footer-social-gap: 1rem;
6769
6518
  }
6770
6519
  .c-footer--lg {
6771
6520
  --atomix-footer-padding-y: 4rem;
@@ -6779,7 +6528,7 @@ a, a:hover {
6779
6528
  .c-footer--primary {
6780
6529
  --atomix-footer-bg: var(--atomix-primary-bg-subtle);
6781
6530
  --atomix-footer-border-color: var(--atomix-primary-border-subtle);
6782
- --atomix-footer-color: var(--atomix-primary-text);
6531
+ --atomix-footer-color: var(--atomix-primary-text-emphasis);
6783
6532
  }
6784
6533
  .c-footer--primary .c-footer__brand-name h3,
6785
6534
  .c-footer--primary .c-footer__section-title {
@@ -6787,10 +6536,10 @@ a, a:hover {
6787
6536
  }
6788
6537
  .c-footer--primary .c-footer__brand-description,
6789
6538
  .c-footer--primary .c-footer__copyright {
6790
- color: var(--atomix-primary-text-muted);
6539
+ color: var(--atomix-gray-6);
6791
6540
  }
6792
6541
  .c-footer--primary .c-footer__link {
6793
- color: var(--atomix-primary-text);
6542
+ color: var(--atomix-primary-text-emphasis);
6794
6543
  }
6795
6544
  .c-footer--primary .c-footer__link:hover, .c-footer--primary .c-footer__link:focus {
6796
6545
  color: var(--atomix-primary);
@@ -6799,8 +6548,8 @@ a, a:hover {
6799
6548
  background-color: var(--atomix-primary);
6800
6549
  }
6801
6550
  .c-footer--primary .c-footer__newsletter {
6802
- background: linear-gradient(135deg, var(--atomix-primary-bg), rgba(var(--atomix-primary-bg-rgb), 0.8));
6803
- border-color: var(--atomix-primary-border);
6551
+ background: linear-gradient(135deg, var(--atomix-primary-bg-subtle), rgba(var(--atomix-primary-bg-subtle), 0.8));
6552
+ border-color: var(--atomix-primary-border-subtle);
6804
6553
  }
6805
6554
  .c-footer--primary .c-footer__newsletter::before {
6806
6555
  background: linear-gradient(90deg, transparent, var(--atomix-primary), transparent);
@@ -6808,7 +6557,7 @@ a, a:hover {
6808
6557
  .c-footer--secondary {
6809
6558
  --atomix-footer-bg: var(--atomix-secondary-bg-subtle);
6810
6559
  --atomix-footer-border-color: var(--atomix-secondary-border-subtle);
6811
- --atomix-footer-color: var(--atomix-secondary-text);
6560
+ --atomix-footer-color: var(--atomix-secondary-text-emphasis);
6812
6561
  }
6813
6562
  .c-footer--secondary .c-footer__brand-name h3,
6814
6563
  .c-footer--secondary .c-footer__section-title {
@@ -6816,10 +6565,10 @@ a, a:hover {
6816
6565
  }
6817
6566
  .c-footer--secondary .c-footer__brand-description,
6818
6567
  .c-footer--secondary .c-footer__copyright {
6819
- color: var(--atomix-secondary-text-muted);
6568
+ color: var(--atomix-gray-6);
6820
6569
  }
6821
6570
  .c-footer--secondary .c-footer__link {
6822
- color: var(--atomix-secondary-text);
6571
+ color: var(--atomix-secondary-text-emphasis);
6823
6572
  }
6824
6573
  .c-footer--secondary .c-footer__link:hover, .c-footer--secondary .c-footer__link:focus {
6825
6574
  color: var(--atomix-secondary);
@@ -6828,8 +6577,8 @@ a, a:hover {
6828
6577
  background-color: var(--atomix-secondary);
6829
6578
  }
6830
6579
  .c-footer--secondary .c-footer__newsletter {
6831
- background: linear-gradient(135deg, var(--atomix-secondary-bg), rgba(var(--atomix-secondary-bg-rgb), 0.8));
6832
- border-color: var(--atomix-secondary-border);
6580
+ background: linear-gradient(135deg, var(--atomix-secondary-bg-subtle), rgba(var(--atomix-secondary-bg-subtle), 0.8));
6581
+ border-color: var(--atomix-secondary-border-subtle);
6833
6582
  }
6834
6583
  .c-footer--secondary .c-footer__newsletter::before {
6835
6584
  background: linear-gradient(90deg, transparent, var(--atomix-secondary), transparent);
@@ -6837,7 +6586,7 @@ a, a:hover {
6837
6586
  .c-footer--tertiary {
6838
6587
  --atomix-footer-bg: var(--atomix-tertiary-bg-subtle);
6839
6588
  --atomix-footer-border-color: var(--atomix-tertiary-border-subtle);
6840
- --atomix-footer-color: var(--atomix-tertiary-text);
6589
+ --atomix-footer-color: var(--atomix-tertiary-text-emphasis);
6841
6590
  }
6842
6591
  .c-footer--tertiary .c-footer__brand-name h3,
6843
6592
  .c-footer--tertiary .c-footer__section-title {
@@ -6845,10 +6594,10 @@ a, a:hover {
6845
6594
  }
6846
6595
  .c-footer--tertiary .c-footer__brand-description,
6847
6596
  .c-footer--tertiary .c-footer__copyright {
6848
- color: var(--atomix-tertiary-text-muted);
6597
+ color: var(--atomix-gray-6);
6849
6598
  }
6850
6599
  .c-footer--tertiary .c-footer__link {
6851
- color: var(--atomix-tertiary-text);
6600
+ color: var(--atomix-tertiary-text-emphasis);
6852
6601
  }
6853
6602
  .c-footer--tertiary .c-footer__link:hover, .c-footer--tertiary .c-footer__link:focus {
6854
6603
  color: var(--atomix-tertiary);
@@ -6857,8 +6606,8 @@ a, a:hover {
6857
6606
  background-color: var(--atomix-tertiary);
6858
6607
  }
6859
6608
  .c-footer--tertiary .c-footer__newsletter {
6860
- background: linear-gradient(135deg, var(--atomix-tertiary-bg), rgba(var(--atomix-tertiary-bg-rgb), 0.8));
6861
- border-color: var(--atomix-tertiary-border);
6609
+ background: linear-gradient(135deg, var(--atomix-tertiary-bg-subtle), rgba(var(--atomix-tertiary-bg-subtle), 0.8));
6610
+ border-color: var(--atomix-tertiary-border-subtle);
6862
6611
  }
6863
6612
  .c-footer--tertiary .c-footer__newsletter::before {
6864
6613
  background: linear-gradient(90deg, transparent, var(--atomix-tertiary), transparent);
@@ -6866,7 +6615,7 @@ a, a:hover {
6866
6615
  .c-footer--invert {
6867
6616
  --atomix-footer-bg: var(--atomix-invert-bg-subtle);
6868
6617
  --atomix-footer-border-color: var(--atomix-invert-border-subtle);
6869
- --atomix-footer-color: var(--atomix-invert-text);
6618
+ --atomix-footer-color: var(--atomix-invert-text-emphasis);
6870
6619
  }
6871
6620
  .c-footer--invert .c-footer__brand-name h3,
6872
6621
  .c-footer--invert .c-footer__section-title {
@@ -6874,10 +6623,10 @@ a, a:hover {
6874
6623
  }
6875
6624
  .c-footer--invert .c-footer__brand-description,
6876
6625
  .c-footer--invert .c-footer__copyright {
6877
- color: var(--atomix-invert-text-muted);
6626
+ color: var(--atomix-gray-6);
6878
6627
  }
6879
6628
  .c-footer--invert .c-footer__link {
6880
- color: var(--atomix-invert-text);
6629
+ color: var(--atomix-invert-text-emphasis);
6881
6630
  }
6882
6631
  .c-footer--invert .c-footer__link:hover, .c-footer--invert .c-footer__link:focus {
6883
6632
  color: var(--atomix-invert);
@@ -6886,8 +6635,8 @@ a, a:hover {
6886
6635
  background-color: var(--atomix-invert);
6887
6636
  }
6888
6637
  .c-footer--invert .c-footer__newsletter {
6889
- background: linear-gradient(135deg, var(--atomix-invert-bg), rgba(var(--atomix-invert-bg-rgb), 0.8));
6890
- border-color: var(--atomix-invert-border);
6638
+ background: linear-gradient(135deg, var(--atomix-invert-bg-subtle), rgba(var(--atomix-invert-bg-subtle), 0.8));
6639
+ border-color: var(--atomix-invert-border-subtle);
6891
6640
  }
6892
6641
  .c-footer--invert .c-footer__newsletter::before {
6893
6642
  background: linear-gradient(90deg, transparent, var(--atomix-invert), transparent);
@@ -6895,7 +6644,7 @@ a, a:hover {
6895
6644
  .c-footer--brand {
6896
6645
  --atomix-footer-bg: var(--atomix-brand-bg-subtle);
6897
6646
  --atomix-footer-border-color: var(--atomix-brand-border-subtle);
6898
- --atomix-footer-color: var(--atomix-brand-text);
6647
+ --atomix-footer-color: var(--atomix-brand-text-emphasis);
6899
6648
  }
6900
6649
  .c-footer--brand .c-footer__brand-name h3,
6901
6650
  .c-footer--brand .c-footer__section-title {
@@ -6903,10 +6652,10 @@ a, a:hover {
6903
6652
  }
6904
6653
  .c-footer--brand .c-footer__brand-description,
6905
6654
  .c-footer--brand .c-footer__copyright {
6906
- color: var(--atomix-brand-text-muted);
6655
+ color: var(--atomix-gray-6);
6907
6656
  }
6908
6657
  .c-footer--brand .c-footer__link {
6909
- color: var(--atomix-brand-text);
6658
+ color: var(--atomix-brand-text-emphasis);
6910
6659
  }
6911
6660
  .c-footer--brand .c-footer__link:hover, .c-footer--brand .c-footer__link:focus {
6912
6661
  color: var(--atomix-brand);
@@ -6915,8 +6664,8 @@ a, a:hover {
6915
6664
  background-color: var(--atomix-brand);
6916
6665
  }
6917
6666
  .c-footer--brand .c-footer__newsletter {
6918
- background: linear-gradient(135deg, var(--atomix-brand-bg), rgba(var(--atomix-brand-bg-rgb), 0.8));
6919
- border-color: var(--atomix-brand-border);
6667
+ background: linear-gradient(135deg, var(--atomix-brand-bg-subtle), rgba(var(--atomix-brand-bg-subtle), 0.8));
6668
+ border-color: var(--atomix-brand-border-subtle);
6920
6669
  }
6921
6670
  .c-footer--brand .c-footer__newsletter::before {
6922
6671
  background: linear-gradient(90deg, transparent, var(--atomix-brand), transparent);
@@ -6924,7 +6673,7 @@ a, a:hover {
6924
6673
  .c-footer--error {
6925
6674
  --atomix-footer-bg: var(--atomix-error-bg-subtle);
6926
6675
  --atomix-footer-border-color: var(--atomix-error-border-subtle);
6927
- --atomix-footer-color: var(--atomix-error-text);
6676
+ --atomix-footer-color: var(--atomix-error-text-emphasis);
6928
6677
  }
6929
6678
  .c-footer--error .c-footer__brand-name h3,
6930
6679
  .c-footer--error .c-footer__section-title {
@@ -6932,10 +6681,10 @@ a, a:hover {
6932
6681
  }
6933
6682
  .c-footer--error .c-footer__brand-description,
6934
6683
  .c-footer--error .c-footer__copyright {
6935
- color: var(--atomix-error-text-muted);
6684
+ color: var(--atomix-gray-6);
6936
6685
  }
6937
6686
  .c-footer--error .c-footer__link {
6938
- color: var(--atomix-error-text);
6687
+ color: var(--atomix-error-text-emphasis);
6939
6688
  }
6940
6689
  .c-footer--error .c-footer__link:hover, .c-footer--error .c-footer__link:focus {
6941
6690
  color: var(--atomix-error);
@@ -6944,8 +6693,8 @@ a, a:hover {
6944
6693
  background-color: var(--atomix-error);
6945
6694
  }
6946
6695
  .c-footer--error .c-footer__newsletter {
6947
- background: linear-gradient(135deg, var(--atomix-error-bg), rgba(var(--atomix-error-bg-rgb), 0.8));
6948
- border-color: var(--atomix-error-border);
6696
+ background: linear-gradient(135deg, var(--atomix-error-bg-subtle), rgba(var(--atomix-error-bg-subtle), 0.8));
6697
+ border-color: var(--atomix-error-border-subtle);
6949
6698
  }
6950
6699
  .c-footer--error .c-footer__newsletter::before {
6951
6700
  background: linear-gradient(90deg, transparent, var(--atomix-error), transparent);
@@ -6953,7 +6702,7 @@ a, a:hover {
6953
6702
  .c-footer--success {
6954
6703
  --atomix-footer-bg: var(--atomix-success-bg-subtle);
6955
6704
  --atomix-footer-border-color: var(--atomix-success-border-subtle);
6956
- --atomix-footer-color: var(--atomix-success-text);
6705
+ --atomix-footer-color: var(--atomix-success-text-emphasis);
6957
6706
  }
6958
6707
  .c-footer--success .c-footer__brand-name h3,
6959
6708
  .c-footer--success .c-footer__section-title {
@@ -6961,10 +6710,10 @@ a, a:hover {
6961
6710
  }
6962
6711
  .c-footer--success .c-footer__brand-description,
6963
6712
  .c-footer--success .c-footer__copyright {
6964
- color: var(--atomix-success-text-muted);
6713
+ color: var(--atomix-gray-6);
6965
6714
  }
6966
6715
  .c-footer--success .c-footer__link {
6967
- color: var(--atomix-success-text);
6716
+ color: var(--atomix-success-text-emphasis);
6968
6717
  }
6969
6718
  .c-footer--success .c-footer__link:hover, .c-footer--success .c-footer__link:focus {
6970
6719
  color: var(--atomix-success);
@@ -6973,8 +6722,8 @@ a, a:hover {
6973
6722
  background-color: var(--atomix-success);
6974
6723
  }
6975
6724
  .c-footer--success .c-footer__newsletter {
6976
- background: linear-gradient(135deg, var(--atomix-success-bg), rgba(var(--atomix-success-bg-rgb), 0.8));
6977
- border-color: var(--atomix-success-border);
6725
+ background: linear-gradient(135deg, var(--atomix-success-bg-subtle), rgba(var(--atomix-success-bg-subtle), 0.8));
6726
+ border-color: var(--atomix-success-border-subtle);
6978
6727
  }
6979
6728
  .c-footer--success .c-footer__newsletter::before {
6980
6729
  background: linear-gradient(90deg, transparent, var(--atomix-success), transparent);
@@ -6982,7 +6731,7 @@ a, a:hover {
6982
6731
  .c-footer--warning {
6983
6732
  --atomix-footer-bg: var(--atomix-warning-bg-subtle);
6984
6733
  --atomix-footer-border-color: var(--atomix-warning-border-subtle);
6985
- --atomix-footer-color: var(--atomix-warning-text);
6734
+ --atomix-footer-color: var(--atomix-warning-text-emphasis);
6986
6735
  }
6987
6736
  .c-footer--warning .c-footer__brand-name h3,
6988
6737
  .c-footer--warning .c-footer__section-title {
@@ -6990,10 +6739,10 @@ a, a:hover {
6990
6739
  }
6991
6740
  .c-footer--warning .c-footer__brand-description,
6992
6741
  .c-footer--warning .c-footer__copyright {
6993
- color: var(--atomix-warning-text-muted);
6742
+ color: var(--atomix-gray-6);
6994
6743
  }
6995
6744
  .c-footer--warning .c-footer__link {
6996
- color: var(--atomix-warning-text);
6745
+ color: var(--atomix-warning-text-emphasis);
6997
6746
  }
6998
6747
  .c-footer--warning .c-footer__link:hover, .c-footer--warning .c-footer__link:focus {
6999
6748
  color: var(--atomix-warning);
@@ -7002,8 +6751,8 @@ a, a:hover {
7002
6751
  background-color: var(--atomix-warning);
7003
6752
  }
7004
6753
  .c-footer--warning .c-footer__newsletter {
7005
- background: linear-gradient(135deg, var(--atomix-warning-bg), rgba(var(--atomix-warning-bg-rgb), 0.8));
7006
- border-color: var(--atomix-warning-border);
6754
+ background: linear-gradient(135deg, var(--atomix-warning-bg-subtle), rgba(var(--atomix-warning-bg-subtle), 0.8));
6755
+ border-color: var(--atomix-warning-border-subtle);
7007
6756
  }
7008
6757
  .c-footer--warning .c-footer__newsletter::before {
7009
6758
  background: linear-gradient(90deg, transparent, var(--atomix-warning), transparent);
@@ -7011,7 +6760,7 @@ a, a:hover {
7011
6760
  .c-footer--info {
7012
6761
  --atomix-footer-bg: var(--atomix-info-bg-subtle);
7013
6762
  --atomix-footer-border-color: var(--atomix-info-border-subtle);
7014
- --atomix-footer-color: var(--atomix-info-text);
6763
+ --atomix-footer-color: var(--atomix-info-text-emphasis);
7015
6764
  }
7016
6765
  .c-footer--info .c-footer__brand-name h3,
7017
6766
  .c-footer--info .c-footer__section-title {
@@ -7019,10 +6768,10 @@ a, a:hover {
7019
6768
  }
7020
6769
  .c-footer--info .c-footer__brand-description,
7021
6770
  .c-footer--info .c-footer__copyright {
7022
- color: var(--atomix-info-text-muted);
6771
+ color: var(--atomix-gray-6);
7023
6772
  }
7024
6773
  .c-footer--info .c-footer__link {
7025
- color: var(--atomix-info-text);
6774
+ color: var(--atomix-info-text-emphasis);
7026
6775
  }
7027
6776
  .c-footer--info .c-footer__link:hover, .c-footer--info .c-footer__link:focus {
7028
6777
  color: var(--atomix-info);
@@ -7031,8 +6780,8 @@ a, a:hover {
7031
6780
  background-color: var(--atomix-info);
7032
6781
  }
7033
6782
  .c-footer--info .c-footer__newsletter {
7034
- background: linear-gradient(135deg, var(--atomix-info-bg), rgba(var(--atomix-info-bg-rgb), 0.8));
7035
- border-color: var(--atomix-info-border);
6783
+ background: linear-gradient(135deg, var(--atomix-info-bg-subtle), rgba(var(--atomix-info-bg-subtle), 0.8));
6784
+ border-color: var(--atomix-info-border-subtle);
7036
6785
  }
7037
6786
  .c-footer--info .c-footer__newsletter::before {
7038
6787
  background: linear-gradient(90deg, transparent, var(--atomix-info), transparent);
@@ -7040,7 +6789,7 @@ a, a:hover {
7040
6789
  .c-footer--light {
7041
6790
  --atomix-footer-bg: var(--atomix-light-bg-subtle);
7042
6791
  --atomix-footer-border-color: var(--atomix-light-border-subtle);
7043
- --atomix-footer-color: var(--atomix-light-text);
6792
+ --atomix-footer-color: var(--atomix-light-text-emphasis);
7044
6793
  }
7045
6794
  .c-footer--light .c-footer__brand-name h3,
7046
6795
  .c-footer--light .c-footer__section-title {
@@ -7048,10 +6797,10 @@ a, a:hover {
7048
6797
  }
7049
6798
  .c-footer--light .c-footer__brand-description,
7050
6799
  .c-footer--light .c-footer__copyright {
7051
- color: var(--atomix-light-text-muted);
6800
+ color: var(--atomix-gray-6);
7052
6801
  }
7053
6802
  .c-footer--light .c-footer__link {
7054
- color: var(--atomix-light-text);
6803
+ color: var(--atomix-light-text-emphasis);
7055
6804
  }
7056
6805
  .c-footer--light .c-footer__link:hover, .c-footer--light .c-footer__link:focus {
7057
6806
  color: var(--atomix-light);
@@ -7060,8 +6809,8 @@ a, a:hover {
7060
6809
  background-color: var(--atomix-light);
7061
6810
  }
7062
6811
  .c-footer--light .c-footer__newsletter {
7063
- background: linear-gradient(135deg, var(--atomix-light-bg), rgba(var(--atomix-light-bg-rgb), 0.8));
7064
- border-color: var(--atomix-light-border);
6812
+ background: linear-gradient(135deg, var(--atomix-light-bg-subtle), rgba(var(--atomix-light-bg-subtle), 0.8));
6813
+ border-color: var(--atomix-light-border-subtle);
7065
6814
  }
7066
6815
  .c-footer--light .c-footer__newsletter::before {
7067
6816
  background: linear-gradient(90deg, transparent, var(--atomix-light), transparent);
@@ -7069,7 +6818,7 @@ a, a:hover {
7069
6818
  .c-footer--dark {
7070
6819
  --atomix-footer-bg: var(--atomix-dark-bg-subtle);
7071
6820
  --atomix-footer-border-color: var(--atomix-dark-border-subtle);
7072
- --atomix-footer-color: var(--atomix-dark-text);
6821
+ --atomix-footer-color: var(--atomix-dark-text-emphasis);
7073
6822
  }
7074
6823
  .c-footer--dark .c-footer__brand-name h3,
7075
6824
  .c-footer--dark .c-footer__section-title {
@@ -7077,10 +6826,10 @@ a, a:hover {
7077
6826
  }
7078
6827
  .c-footer--dark .c-footer__brand-description,
7079
6828
  .c-footer--dark .c-footer__copyright {
7080
- color: var(--atomix-dark-text-muted);
6829
+ color: var(--atomix-gray-6);
7081
6830
  }
7082
6831
  .c-footer--dark .c-footer__link {
7083
- color: var(--atomix-dark-text);
6832
+ color: var(--atomix-dark-text-emphasis);
7084
6833
  }
7085
6834
  .c-footer--dark .c-footer__link:hover, .c-footer--dark .c-footer__link:focus {
7086
6835
  color: var(--atomix-dark);
@@ -7089,8 +6838,8 @@ a, a:hover {
7089
6838
  background-color: var(--atomix-dark);
7090
6839
  }
7091
6840
  .c-footer--dark .c-footer__newsletter {
7092
- background: linear-gradient(135deg, var(--atomix-dark-bg), rgba(var(--atomix-dark-bg-rgb), 0.8));
7093
- border-color: var(--atomix-dark-border);
6841
+ background: linear-gradient(135deg, var(--atomix-dark-bg-subtle), rgba(var(--atomix-dark-bg-subtle), 0.8));
6842
+ border-color: var(--atomix-dark-border-subtle);
7094
6843
  }
7095
6844
  .c-footer--dark .c-footer__newsletter::before {
7096
6845
  background: linear-gradient(90deg, transparent, var(--atomix-dark), transparent);
@@ -7098,34 +6847,12 @@ a, a:hover {
7098
6847
  .c-footer--sticky {
7099
6848
  position: sticky;
7100
6849
  bottom: 0;
7101
- z-index: 10;
6850
+ z-index: 100;
7102
6851
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1);
7103
6852
  -webkit-backdrop-filter: blur(10px);
7104
6853
  backdrop-filter: blur(10px);
7105
6854
  background-color: rgba(var(--atomix-footer-bg-rgb), 0.95);
7106
6855
  }
7107
- @media (prefers-color-scheme: dark) {
7108
- .c-footer {
7109
- --atomix-footer-bg: var(--atomix-surface-dark);
7110
- --atomix-footer-color: var(--atomix-text-dark);
7111
- --atomix-footer-border-color: var(--atomix-border-dark);
7112
- }
7113
- }
7114
- .dark-mode .c-footer {
7115
- --atomix-footer-bg: var(--atomix-surface-dark);
7116
- --atomix-footer-color: var(--atomix-text-dark);
7117
- --atomix-footer-border-color: var(--atomix-border-dark);
7118
- }
7119
- .dark-mode .c-footer .c-footer__newsletter {
7120
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
7121
- border-color: rgba(255, 255, 255, 0.1);
7122
- }
7123
- .dark-mode .c-footer .c-footer__social-link {
7124
- background-color: rgba(255, 255, 255, 0.1);
7125
- }
7126
- .dark-mode .c-footer .c-footer__social-link:hover {
7127
- background-color: rgba(255, 255, 255, 0.2);
7128
- }
7129
6856
  @media (prefers-reduced-motion: reduce) {
7130
6857
  .c-footer *,
7131
6858
  .c-footer *::before,
@@ -7450,10 +7177,10 @@ a, a:hover {
7450
7177
  .c-input--glass {
7451
7178
  background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
7452
7179
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
7180
+ border-color: color-mix(in srgb, var(--atomix-input-border-color) 50%, transparent);
7453
7181
  }
7454
7182
  .c-input--glass:focus, .c-input--glass:hover {
7455
- background-color: color-mix(in srgb, var(--atomix-input-bg) 50%, transparent);
7456
- 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);
7183
+ background-color: color-mix(in srgb, var(--atomix-input-bg) 90%, transparent);
7457
7184
  }
7458
7185
  .c-input--glass.c-input--textarea {
7459
7186
  resize: vertical;
@@ -7528,6 +7255,7 @@ a, a:hover {
7528
7255
  --atomix-list-item-dash-width: 1rem;
7529
7256
  --atomix-list-item-dash-height: 0.125rem;
7530
7257
  padding-left: var(--atomix-list-padding-left);
7258
+ list-style: none;
7531
7259
  }
7532
7260
  .c-list__item {
7533
7261
  color: var(--atomix-list-color);
@@ -8181,6 +7909,8 @@ a, a:hover {
8181
7909
  width: 100%;
8182
7910
  height: 100%;
8183
7911
  display: none;
7912
+ }
7913
+ .c-modal:not(.c-modal--glass) {
8184
7914
  z-index: 1040;
8185
7915
  }
8186
7916
  .c-modal__backdrop {
@@ -11089,6 +10819,9 @@ a, a:hover {
11089
10819
  --atomix-upload-disabled-opacity: 0.6;
11090
10820
  --atomix-upload-loader-control-icon-size: 18px;
11091
10821
  --atomix-upload-loader-contorl-color: var(--atomix-body-color);
10822
+ --atomix-upload-helper-text-opacity: 0.7;
10823
+ --atomix-upload-text-opacity: 0.8;
10824
+ --atomix-upload-text-margin-bottom: 1rem;
11092
10825
  width: 100%;
11093
10826
  max-width: var(--atomix-upload-width);
11094
10827
  padding: var(--atomix-upload-padding-y) var(--atomix-upload-padding-x);
@@ -11109,24 +10842,47 @@ a, a:hover {
11109
10842
  padding: var(--atomix-upload-inner-padding-y) var(--atomix-upload-inner-padding-x);
11110
10843
  border-radius: var(--atomix-upload-border-radius);
11111
10844
  border: var(--atomix-upload-border-width) dashed var(--atomix-upload-border-color);
10845
+ cursor: pointer;
10846
+ transition: all 0.3s ease-in-out;
10847
+ }
10848
+ .c-upload__inner:hover {
10849
+ border-color: var(--atomix-primary-6);
10850
+ background-color: var(--atomix-primary-bg-subtle);
10851
+ transform: translateY(-2px);
10852
+ box-shadow: var(--atomix-box-shadow);
11112
10853
  }
11113
10854
  .c-upload__icon {
11114
10855
  font-size: var(--atomix-upload-icon-size);
11115
- padding: var(--atomix-upload-icon-padding);
11116
- background-color: var(--atomix-upload-icon-bg);
11117
- border-radius: 50rem;
10856
+ padding: 12;
10857
+ color: var(--atomix-primary-6);
10858
+ background-color: var(--atomix-primary-bg-subtle);
10859
+ border-radius: var(--atomix-border-radius-pill);
10860
+ margin-bottom: 12;
10861
+ transition: all 0.3s ease-in-out;
10862
+ }
10863
+ .c-upload__icon:hover {
10864
+ color: var(--atomix-primary-7);
10865
+ background-color: var(--atomix-primary-border-subtle);
10866
+ transform: scale(1.05);
11118
10867
  }
11119
10868
  .c-upload__title {
11120
10869
  color: var(--atomix-upload-title-color);
11121
10870
  font-size: var(--atomix-upload-title-font-size);
11122
10871
  font-weight: var(--atomix-upload-title-font-weight);
11123
10872
  margin-top: var(--atomix-upload-title-margin-top);
10873
+ margin-bottom: var(--atomix-upload-title-margin-bottom);
10874
+ text-align: center;
10875
+ line-height: 1.4;
11124
10876
  }
11125
10877
  .c-upload__text {
11126
10878
  color: var(--atomix-upload-text-color);
11127
10879
  font-size: var(--atomix-upload-text-font-size);
11128
10880
  font-weight: var(--atomix-upload-text-font-weight);
11129
10881
  margin-top: var(--atomix-upload-text-margin-top);
10882
+ margin-bottom: var(--atomix-upload-text-margin-bottom);
10883
+ text-align: center;
10884
+ line-height: 1.5;
10885
+ opacity: var(--atomix-upload-text-opacity);
11130
10886
  }
11131
10887
  .c-upload__btn {
11132
10888
  margin-top: var(--atomix-upload-btn-margin-top);
@@ -11136,6 +10892,9 @@ a, a:hover {
11136
10892
  font-size: var(--atomix-upload-helper-text-font-size);
11137
10893
  font-weight: var(--atomix-upload-helper-text-font-weight);
11138
10894
  margin-top: var(--atomix-upload-helper-text-margin-top);
10895
+ text-align: center;
10896
+ opacity: var(--atomix-upload-helper-text-opacity);
10897
+ line-height: 1.4;
11139
10898
  }
11140
10899
  .c-upload__row {
11141
10900
  width: 100%;
@@ -11154,6 +10913,7 @@ a, a:hover {
11154
10913
  .c-upload__loader {
11155
10914
  --upload-loader-percentage: 0;
11156
10915
  display: flex;
10916
+ align-items: center;
11157
10917
  justify-content: space-between;
11158
10918
  position: relative;
11159
10919
  width: 100%;
@@ -11162,6 +10922,8 @@ a, a:hover {
11162
10922
  border: var(--atomix-upload-loader-border-width) solid var(--atomix-upload-loader-border-color);
11163
10923
  border-radius: var(--atomix-upload-loader-border-radius);
11164
10924
  margin-top: var(--atomix-upload-loader-margin-top);
10925
+ background-color: var(--atomix-body-bg);
10926
+ box-shadow: var(--atomix-box-shadow-sm);
11165
10927
  overflow: hidden;
11166
10928
  }
11167
10929
  .c-upload__loader-title {
@@ -11186,6 +10948,20 @@ a, a:hover {
11186
10948
  .c-upload__loader-close {
11187
10949
  color: var(--atomix-upload-loader-contorl-color);
11188
10950
  font-size: var(--atomix-upload-loader-control-icon-size);
10951
+ background: none;
10952
+ border: none;
10953
+ cursor: pointer;
10954
+ padding: 4;
10955
+ border-radius: var(--atomix-border-radius-sm);
10956
+ transition: all 0.2s ease-in-out;
10957
+ }
10958
+ .c-upload__loader-close:hover {
10959
+ background-color: var(--atomix-danger-bg-subtle);
10960
+ color: var(--atomix-danger-text-emphasis);
10961
+ }
10962
+ .c-upload__loader-close:focus {
10963
+ outline: 2px solid var(--atomix-focus-border-color);
10964
+ outline-offset: 2px;
11189
10965
  }
11190
10966
  .c-upload__loader-bar {
11191
10967
  width: 22px;
@@ -11250,6 +11026,112 @@ a, a:hover {
11250
11026
  .c-upload--disabled .c-upload__btn {
11251
11027
  pointer-events: none;
11252
11028
  }
11029
+ .c-upload--disabled .c-upload__inner {
11030
+ cursor: not-allowed;
11031
+ }
11032
+ .c-upload--disabled .c-upload__inner:hover {
11033
+ transform: none;
11034
+ box-shadow: none;
11035
+ border-color: var(--atomix-upload-border-color);
11036
+ background-color: transparent;
11037
+ }
11038
+ .c-upload--dragging .c-upload__inner {
11039
+ border-color: var(--atomix-primary-6);
11040
+ background-color: var(--atomix-primary-bg-subtle);
11041
+ transform: scale(1.02);
11042
+ box-shadow: var(--atomix-box-shadow-lg);
11043
+ }
11044
+ .c-upload--dragging .c-upload__icon {
11045
+ color: var(--atomix-primary-7);
11046
+ background-color: var(--atomix-primary-border-subtle);
11047
+ transform: scale(1.1);
11048
+ }
11049
+ .c-upload--dragging .c-upload__title {
11050
+ color: var(--atomix-primary-6);
11051
+ }
11052
+ .c-upload--loading .c-upload__loader-bar circle:nth-child(2) {
11053
+ stroke: var(--atomix-primary-6);
11054
+ }
11055
+ .c-upload--success .c-upload__loader-bar circle:nth-child(2) {
11056
+ stroke: var(--atomix-success-6);
11057
+ }
11058
+ .c-upload--error .c-upload__loader-bar circle:nth-child(2) {
11059
+ stroke: var(--atomix-error-6);
11060
+ }
11061
+ .c-upload__input {
11062
+ position: absolute;
11063
+ width: 1px;
11064
+ height: 1px;
11065
+ padding: 0;
11066
+ margin: -1px;
11067
+ overflow: hidden;
11068
+ clip: rect(0, 0, 0, 0);
11069
+ white-space: nowrap;
11070
+ border: 0;
11071
+ }
11072
+ @media (max-width: 768px) {
11073
+ .c-upload {
11074
+ max-width: 100%;
11075
+ }
11076
+ .c-upload__inner {
11077
+ padding: 16 12;
11078
+ }
11079
+ .c-upload__icon {
11080
+ font-size: 28;
11081
+ padding: 8;
11082
+ margin-bottom: 8;
11083
+ }
11084
+ .c-upload__title {
11085
+ font-size: var(--atomix-font-size-md);
11086
+ }
11087
+ .c-upload__text {
11088
+ font-size: var(--atomix-font-size-xs);
11089
+ }
11090
+ .c-upload__loader {
11091
+ padding: 8 12;
11092
+ flex-direction: column;
11093
+ align-items: flex-start;
11094
+ gap: 8;
11095
+ }
11096
+ .c-upload__loader-control {
11097
+ align-self: flex-end;
11098
+ }
11099
+ }
11100
+ @media (prefers-reduced-motion: reduce) {
11101
+ .c-upload__inner {
11102
+ transition: none;
11103
+ }
11104
+ .c-upload__inner:hover {
11105
+ transform: none;
11106
+ }
11107
+ .c-upload__icon {
11108
+ transition: none;
11109
+ }
11110
+ .c-upload__icon:hover {
11111
+ transform: none;
11112
+ }
11113
+ .c-upload--dragging .c-upload__inner {
11114
+ transform: none;
11115
+ }
11116
+ .c-upload--dragging .c-upload__icon {
11117
+ transform: none;
11118
+ }
11119
+ }
11120
+ @media (prefers-contrast: high) {
11121
+ .c-upload__inner {
11122
+ border-width: 3px;
11123
+ }
11124
+ .c-upload--dragging .c-upload__inner {
11125
+ border-width: 4px;
11126
+ }
11127
+ .c-upload__loader {
11128
+ border-width: 2px;
11129
+ }
11130
+ }
11131
+ .c-upload__inner:focus-visible {
11132
+ outline: 2px solid var(--atomix-focus-border-color);
11133
+ outline-offset: 2px;
11134
+ }
11253
11135
  .c-video-player {
11254
11136
  --atomix--video-player-bg: #000;
11255
11137
  --atomix--video-player-border-radius: 8px;